private void ValidateToken()

in src/Json.Schema.Validation/Validator.cs [88:143]


        private void ValidateToken(JToken jToken, JsonSchema schema)
        {
            if (!TokenTypeIsCompatibleWithSchema(jToken.Type, schema.Type))
            {
                AddResult(jToken, ErrorNumber.WrongType, FormatSchemaTypes(schema.Type), jToken.Type);
                return;
            }

            switch (jToken.Type)
            {
                case JTokenType.String:
                    ValidateString((JValue)jToken, schema);
                    break;

                case JTokenType.Integer:
                case JTokenType.Float:
                    ValidateNumber((JValue)jToken, schema);
                    break;

                case JTokenType.Object:
                    ValidateObject((JObject)jToken, schema);
                    break;

                case JTokenType.Array:
                    ValidateArray((JArray)jToken, schema);
                    break;

                default:
                    break;
            }

            if (schema.Enum != null)
            {
                ValidateEnum(jToken, schema.Enum);
            }

            if (schema.AllOf != null)
            {
                ValidateAllOf(jToken, schema.AllOf);
            }

            if (schema.AnyOf != null)
            {
                ValidateAnyOf(jToken, schema.AnyOf);
            }

            if (schema.OneOf != null)
            {
                ValidateOneOf(jToken, schema.OneOf);
            }

            if (schema.Not != null)
            {
                ValidateNot(jToken, schema.Not);
            }
        }