Commit Graph

621 Commits (master)

Author SHA1 Message Date
Evgeny Poberezkin 42d640779a refactor: move patternGroups deprecation message to schema compilation, #371 2016-12-20 20:57:34 +00:00
Evgeny Poberezkin 73593ac04e refactor: remove keywords moved to ajv-keywords from v5 meta-schema, #371 2016-12-20 20:48:11 +00:00
Evgeny Poberezkin afd02f1f72 refactor: patternGroups deprecated, requires option to use, #371 2016-12-20 20:33:51 +00:00
Evgeny Poberezkin d19bc92c8b refactor: move format comparison functions to ajv-keywords, #371 2016-12-11 18:49:02 +00:00
Evgeny Poberezkin 05f2416893 feat: support custom keywords that have implementations for other keywords 2016-12-11 17:42:08 +00:00
Evgeny Poberezkin a607d4f422 refactor: generic management of keywords implemented in other keywords (additionalProperties, patternProperties) 2016-12-11 16:22:02 +00:00
Evgeny Poberezkin 8a470f32df docs: getKeyword, removeKeywords methods 2016-12-11 12:38:13 +00:00
Evgeny Poberezkin 7bfc868816 test: getKeyword, removeKeyword methods 2016-12-11 12:12:27 +00:00
Evgeny Poberezkin 506370804a feat: get and remove custom keywords from the Ajv instance, related to #371 2016-12-11 11:17:37 +00:00
Evgeny Poberezkin f3577a3b34 refactor: moved switch, patternRequired, formatMinimum/Maximum to ajv-keywords, #371 2016-12-10 22:00:42 +00:00
Evgeny Poberezkin 34b0101eb6 Merge branch 'master' into 5.0.0 2016-12-10 20:45:08 +00:00
Evgeny Poberezkin 5081be2720 refactor: make variable for package names local, closes #325, #117 2016-12-06 21:29:02 +00:00
Minchenko Valery 06fdf7175e Store require paths for optional dependencies in variables
remove warnings about missing dpendencies for webpack
2016-12-06 16:44:11 +03:00
Evgeny Poberezkin 1c3762c0e8 fix: remove duplicated return from generated code, correct error message 2016-12-02 17:48:56 +00:00
Evgeny Poberezkin 547b44013d Merge branch 'domoritz-patch-1' into 5.0.0 2016-11-30 21:03:25 +00:00
Evgeny Poberezkin eb8353ce6a Merge branch 'master' into 5.0.0 2016-11-30 20:50:56 +00:00
Evgeny Poberezkin 445acb5afd style: single quotes 2016-11-30 20:25:39 +00:00
Dominik Moritz 14cd94d3cf Update types for options from https://github.com/DefinitelyTyped/DefinitelyTyped/blob/types-2.0/ajv/index.d.ts 2016-11-29 19:53:52 -08:00
Nicholas Merritt ac20d32eea WIP 2016-11-25 23:20:20 +01:00
Evgeny Poberezkin 84bee02a61 refactor: MissingRefError class, closes #348 2016-11-25 20:37:03 +00:00
Evgeny Poberezkin 00bf5c77ee fix: compare Date and RegExp objects, closes #342 2016-11-14 18:27:40 +00:00
Evgeny Poberezkin d0c5a3904d feat: make native es7 async function default mode for asynchronous validation, closes #338 2016-11-08 19:00:41 +00:00
Evgeny Poberezkin 98e0922ae7 Merge branch 'master' into 5.0.0 2016-11-08 17:37:08 +00:00
Evgeny Poberezkin 69f1e639d7 docs: compileAsync meta-schema support, closes #334 2016-11-08 17:32:22 +00:00
Evgeny Poberezkin 84b0531e39 feat: async loading of meta-schema, #334 2016-11-08 00:49:29 +00:00
Evgeny Poberezkin 599f579db4 refactor: do not bind ajv methods to the instance, closes #232 2016-10-21 21:33:32 +01:00
Evgeny Poberezkin 48cee59cb8 refactor: simplify compileAsync, #249 2016-10-20 21:12:34 +01:00
Evgeny Poberezkin 81c2069354 fix: type definition for option unknownFormats 2016-10-20 00:29:10 +01:00
Evgeny Poberezkin 3fab5c7019 fix: type definition change for compileAsync, closes #249 2016-10-19 09:52:58 +01:00
Evgeny Poberezkin d54d92411c fix: simplify #326 2016-10-19 08:24:30 +01:00
Etai Gross ac4331b450 fix #326 by lazy-requiring js-beautify
only require beautify if the options are specified which would cause you to use it
2016-10-18 18:35:41 +03:00
Evgeny Poberezkin f4a5f1005c refactor: compileAsync returns promise; loadSchema option must return promise, #249 2016-10-17 22:52:24 +01:00
Evgeny Poberezkin d9bcf2841a refactor: move async compilation to separate file 2016-10-17 21:27:40 +01:00
Evgeny Poberezkin c86e1bbc02 feat: make option unknownFormats default to true, closes #324 2016-10-16 18:59:40 +01:00
Evgeny Poberezkin aa09a89e6c Merge branch 'master' into 5.0.0 2016-10-16 17:43:22 +01:00
Evgeny Poberezkin c55ef280dc feat: optionally fail validation of unknown format passed via $data, #310 2016-10-16 16:11:25 +01:00
Evgeny Poberezkin 9bd850d115 feat: optionally throw exception during schema compilation if unknown format is used, #310 2016-10-16 11:57:49 +01:00
Evgeny Poberezkin 03051f90ba feat: log errors using console.error/warn, closes #265 2016-10-05 20:50:37 +01:00
Evgeny Poberezkin 3e50b5da3c feat: make option sourceCode default to false, closes #309 2016-10-05 20:36:49 +01:00
Evgeny Poberezkin 0bdb5a4fa5 feat: make option extendRef default to "fail", closes #294 2016-10-05 20:14:11 +01:00
Evgeny Poberezkin 40319b9e22 fix: message about changing default for extendRefs option, #303 2016-10-05 18:21:36 +01:00
Evgeny Poberezkin a3ab001d5b fix: do NOT log warning if extendRef is explicitely set to true, fix schema path in messages; closes #303 2016-10-05 18:11:31 +01:00
Evgeny Poberezkin 72a3bd0c2a fix: allow segments of hostnames to start with digit, closes #312 2016-10-02 18:21:17 +01:00
Evgeny Poberezkin 7c95ec9fa8 fix: escaped characters in $refs, closes #311 2016-09-28 14:28:52 +01:00
Evgeny Poberezkin 812940d528 feat: only store patterns and defaults if option sourceCode is true 2016-09-24 16:11:29 +01:00
Evgeny Poberezkin 5193d45fdc feat: add used defaults and patterns to validation function to support ajv-pack, #156 2016-09-24 15:58:14 +01:00
Evgeny Poberezkin cdd30a9776 fix: allow null as schema value in keywords that support $data reference (constant) 2016-09-22 15:40:38 +01:00
Evgeny Poberezkin acfd035720 refactor: replaced remaining eval with Function constructor 2016-09-19 20:16:27 +01:00
Darcy Parker fd07efc4cf Add missing rootData parameter from ValidateFunction typescript interface (#301)
* Add missing rootData property from ValidateFunction typescript interface

* Made change @epoberezkin requested
2016-09-19 12:49:37 +01:00
Evgeny Poberezkin d272e05abe refactor: rename option to sourceCode, #293 2016-09-06 21:48:42 +01:00
Russ Frank 792590b7b8 appease linter 2016-09-01 15:00:32 -07:00
Russ Frank 7d1e4d2c83 Add option to not retain validator source code
I noticed that in a program with many schemas, a large amount of memory
was taken up by the source code strings used to compile the validators.
This commit adds an option, `retainSourceCode`, default true, which
allows source code strings to be left out of the heap.
2016-08-31 16:25:00 -07:00
Evgeny Poberezkin 9dff6474d7 feat: pass schema compilation context (it) to compiled and macro custom keyword functions, closes #280 2016-08-29 22:56:07 +01:00
Evgeny Poberezkin 00f315c31f feat: allowedValues param in "enum" keyword error, closes #282 2016-08-29 22:42:16 +01:00
Evgeny Poberezkin 3806b9d8a3 fix: correctly resolve $data refs with absolute JSON pointers, #289 2016-08-29 22:26:33 +01:00
Evgeny Poberezkin 33081b4911 feat: pass rootData to validating functions as 5th parameters, related to #289 2016-08-29 21:52:05 +01:00
Don Rouse 53e9971edd Add JSON pointer support to $data reference. 2016-08-25 21:35:35 -07:00
Evgeny Poberezkin 7e7219212d feat: allow refs with protocol-relative URIs, closes #277 2016-08-15 21:53:09 +01:00
Evgeny Poberezkin 2d9241a658 feat: allow refs to fragments in "getSchema" and "validate" methods, closes #47 2016-08-15 21:22:07 +01:00
Evgeny Poberezkin 84b900889f refactor: function to check that schema has no rules except one specified (e.g. $ref) 2016-08-07 11:05:27 +01:00
Evgeny Poberezkin c103dc04b9 feat: support validating [meta-]schemas against themselves, closes #259 2016-08-07 00:37:30 +01:00
Evgeny Poberezkin 804764dbec Merge pull request #266 from epoberezkin/extend-refs
Option "extendRefs"
2016-08-06 22:13:12 +01:00
Evgeny Poberezkin 3185847572 feat: log warning if other keywords are used with "$ref", #260 2016-08-06 21:10:57 +01:00
Evgeny Poberezkin 39b4a8f637 feat: option "extendRefs" to fail compilation or to ignore other keywords when "$ref" is used, closes #260 2016-08-06 13:05:39 +01:00
Evgeny Poberezkin 27c612755a Merge pull request #263 from dalcib/master
[typescript] Allow use 'new' operator
2016-08-06 00:06:39 +01:00
Evgeny Poberezkin 321a6d1a83 fix: date-time validation, closes #261 2016-08-05 11:57:58 +01:00
Victor Emanouilov 4246d726a9 chore: move date-time guard for missing time part to date_time function rather than date function 2016-08-05 09:53:00 +03:00
Dalci de Jesus Bagolin 2fc93a8acd [typescript] Allow use 'new' operator 2016-08-04 22:41:17 -04:00
Victor Emanouilov 6df7b2040b fix: date-time string validation to fail validating for date-only strings instead of throwing a TypeError 2016-08-04 13:49:53 +03:00
will Farrell a21cf02f43 update `==`, `object <-> array` 2016-07-26 14:43:20 -06:00
will Farrell ec09c3c735 allow reversal and add more tests 2016-07-24 19:03:27 -06:00
will Farrell 4d1aa5fe31 linting 2016-07-22 18:41:57 -06:00
will Farrell 9e18e68ce7 Add in ability to coerce to an array 2016-07-22 18:07:10 -06:00
Evgeny Poberezkin d64b84f5ff
Merge branch 'master' into 4.2 2016-07-22 15:00:44 +01:00
Evgeny Poberezkin ac5c746f0a
Revert "Revert "feat: meta schema for custom keywords schemas, closes #230""
This reverts commit 09879d21ad.
2016-07-22 14:49:43 +01:00
Evgeny Poberezkin 5a80c7cff6
feat: support meta-schema validation in custom keywords with $data support, #146 2016-07-22 14:25:41 +01:00
Evgeny Poberezkin f06008a84f
fix: error when mutually recursive fragment refs reference a common schema, closes #240 2016-07-22 00:37:35 +01:00
Evgeny Poberezkin 7f5fe70cdb
feat: $data support in custom keywords, #146 2016-07-19 22:50:10 +01:00
Evgeny Poberezkin ab4f65800b
refactor: remove parallel ifs from def.$data partial 2016-07-18 22:27:17 +01:00
Evgeny Poberezkin caf7557bc0
refactor: convert custom.def partial into custom.jst function (for better encapsulation) 2016-07-18 22:14:02 +01:00
Evgeny Poberezkin 09879d21ad
Revert "feat: meta schema for custom keywords schemas, closes #230"
This reverts commit 1a6e4b576c.
2016-07-18 18:51:57 +01:00
Evgeny Poberezkin 1a6e4b576c
feat: meta schema for custom keywords schemas, closes #230 2016-07-17 11:20:47 +01:00
Evgeny Poberezkin 2bcb74fc8c
fix: support mutual recursive refs when both refs are schema fragments, closes #210 2016-07-10 18:36:09 +01:00
Evgeny Poberezkin 7e0482619d
fix: support control characters in "properties" and "required", closes #226 2016-07-09 23:16:24 +01:00
Evgeny Poberezkin 3f96062745 fix: ref resolution does not fail when it should; closes #220 2016-06-28 21:30:55 +01:00
Dan Casey 3de58ec4cd Add `schema` to interface returned by `getSchema` 2016-06-26 16:00:23 -04:00
Evgeny Poberezkin 8c0b3d8321 fix custom keyword that defines errors, closes #181 2016-06-11 12:00:10 +01:00
Evgeny Poberezkin 95c40a55d4 fix: v5 with "schemas" option when schemas dont have $schema keyword (or use v5 metaschema), closes #204 2016-06-01 07:01:46 +01:00
Evgeny Poberezkin 9a9ba82729 refactor, bump version 2016-05-27 21:21:11 +01:00
Matt Broadstone 84ef7ab728 feat(own-properties): support optionally checking own properties
Traditionally ajv validates additionalProperties by checking all
enumerable properties of an object. This patch allows the user to
specify that they only want own properties of an object to be
considered in this validation
2016-05-26 17:50:52 -04:00
Evgeny Poberezkin 81f442b325 NaN validation, closes #182 2016-05-16 22:05:08 +01:00
Evgeny Poberezkin 68cfec3b99 Merge pull request #184 from HolgerJeromin/patch-1
Copy jsdoc comments to typescript definition file
2016-05-16 20:53:44 +01:00
Evgeny Poberezkin d90e7abd45 fix no-invalid-rule, closes #187, #188 2016-05-16 20:51:48 +01:00
Holger Jeromin c28a2f8f5d Removed internal Parameters and added .errors 2016-05-13 00:54:18 +02:00
Holger Jeromin 1726e98878 copy jsdoc comment to typescript definition file 2016-05-10 11:25:18 +02:00
Evgeny Poberezkin a8af73f45f fix incorrect change of resolution scope when sibling subschema has id in switch keyword, issue #170 2016-04-23 19:36:47 +01:00
Evgeny Poberezkin 07f344e752 fix incorrect change of resolution scope when sibling subschema has id in allOf, oneOf, anyOf and dependencies keywords, issue #170 2016-04-23 17:00:32 +01:00
Evgeny Poberezkin a2610bca0d fix incorrect change of resolution scope when sibling schema has id, closes #170 2016-04-23 14:56:16 +01:00
Evgeny Poberezkin 2db1de98f3 removed unused variable 2016-04-22 10:21:51 +01:00
Blake Embrey 67f224630a TypeScript: Fix implicit any, fix `Promise` usage 2016-04-21 17:38:06 -07:00
Evgeny Poberezkin 254deb5a03 Merge pull request #165 from epoberezkin/typescript
TypeScript type definitions - corrections
2016-04-20 21:20:49 +01:00
Evgeny Poberezkin a954845be2 use typescript ES2015 for Promise support 2016-04-20 21:01:22 +01:00
Evgeny Poberezkin f7bfc49a55 fix and add tests for typescript type definitions 2016-04-20 20:55:43 +01:00
Evgeny Poberezkin 18ca34253f TypeScript type definitions 2016-04-18 22:11:26 +01:00
Evgeny Poberezkin 44dd6b78b9 Android 4 compatibility, #143 2016-04-18 21:15:38 +01:00
Evgeny Poberezkin 76bdf0796e TypeScript: Promise return value for validation functions 2016-04-17 20:10:12 +01:00
Evgeny Poberezkin e1f30a201b TypeScript format and keyword definition 2016-04-17 20:07:00 +01:00
Evgeny Poberezkin 6a2c8633cb correct TypeScript definitions 2016-04-17 19:37:40 +01:00
Evgeny Poberezkin 8020465d74 Merge branch 'master' into v4.0 2016-04-15 22:20:40 +01:00
Evgeny Poberezkin 26964e4996 Merge pull request #150 from lyngaas/format-exclusive-names
Rename exclusiveFormat to formatExclusive (v5 draft)
2016-04-15 22:16:30 +01:00
Evgeny Poberezkin b92e6e86a7 property dependencies in allErrors mode create error for each missing dependency; #151, closes 73 2016-04-15 22:10:30 +01:00
Blake Embrey 83427b8712 Support initial TypeScript definition 2016-04-15 12:20:35 -07:00
Evgeny Poberezkin d730049184 meteor compatibility: error reporting, closes #159 2016-04-11 20:40:31 +01:00
Evgeny Poberezkin 84e8782605 rename property "async" of asynchronous validation function to "$async" for meteor compatibility, #151, #159 2016-04-10 20:17:06 +01:00
Evgeny Poberezkin d3d31d285a Merge branch 'master' into v4.0 2016-04-10 20:03:03 +01:00
Evgeny Poberezkin 8676a3f62e meteor compatibility; closes #159 2016-04-10 11:44:22 +01:00
Evgeny Poberezkin 404bff5bcf error parameters for formatMaximum/formatMinimum, #151 2016-03-26 22:35:46 +00:00
Evgeny Poberezkin e6a22be556 fix type coercion for multiple items/properties; closes #152 2016-03-25 20:13:39 +00:00
Evgeny Poberezkin cbd9467bd6 useDefaults: use literals (deep-clone) of defaults unless useDefaults: "shared" is passed, #151, #136 2016-03-24 23:27:13 +00:00
Evgeny Poberezkin 69d897f31a fix errorsTexts 2016-03-23 23:25:54 +00:00
Ståle Lyngaas 98368bc363 Rename exclusiveFormat to formatExclusive (v5 draft) 2016-03-22 19:40:15 +01:00
Evgeny Poberezkin dc10816fc3 refactor using options ignored for meta schemas 2016-03-20 18:12:14 +00:00
Evgeny Poberezkin 6a587c8729 restore readme in dotjs folder 2016-03-15 08:43:54 +00:00
Evgeny Poberezkin ce86641657 pass default meta-schema via "meta" option, closes #90 2016-03-14 20:56:07 +00:00
Evgeny Poberezkin 192d73f74e use meta schema from options as default meta-schema 2016-03-14 00:16:38 +00:00
Evgeny Poberezkin f068d73693 add meta schema from option meta, #90 2016-03-13 23:15:37 +00:00
Evgeny Poberezkin e1a38d2d90 accept array of schemas in addMetaSchema method 2016-03-09 23:20:35 +00:00
Brian Stack bf76acfc21 Make cloning optional and based on stringify 2016-03-03 11:23:49 -08:00
Brian Stack 82f283fe7e Clone default values to do least surprising thing 2016-03-02 16:04:21 -08:00
Evgeny Poberezkin f4ca190010 fixed browser tests for async validation 2016-03-02 07:09:11 +00:00
Evgeny Poberezkin 53a6c70138 asynchronous custom keywords can define custom errors by returning the promise that rejects with Ajv.ValidationError, closes #118 2016-02-28 22:14:18 +00:00
Evgeny Poberezkin 3aaeaf6ec0 removeSchema with RegExp to remove multiple schemas or without argument to remove all schemas, closes #103 2016-02-28 01:16:48 +00:00
Evgeny Poberezkin f48efb564a optimised "not" keyword in {allErrors: true} mode to fail on the first error in subschema, closes #131 2016-02-27 23:01:03 +00:00
Evgeny Poberezkin ec0f1c1b22 patternRequired keyword (v5 proposal), closes #123 2016-02-27 22:36:11 +00:00
Evgeny Poberezkin 503b427b7f eslint no-trailing spaces 2016-02-26 20:25:15 +00:00
Evgeny Poberezkin bdd1748dec schema: false option in "validate" custom keyword definition for custom keywords that do not depend on the schema 2016-02-21 13:27:38 +00:00
Evgeny Poberezkin 8fa4d0f05f test for passContext option 2016-02-16 10:12:32 +00:00
Evgeny Poberezkin de65510f1e passContext option; pass parent data to custom keyword functions 2016-02-16 00:15:20 +00:00
Evgeny Poberezkin 14d0eb0645 fix inlineRefs option, fix test, fix $ref to pass parentData[Property] to the referenced schema if it was passed to validate function 2016-02-15 22:04:04 +00:00
Evgeny Poberezkin b2a67e7a65 options passContext (undocumented) to pass the context of validation function to referenced (not inlined) schemas 2016-02-14 20:34:10 +00:00
Evgeny Poberezkin a0a172c90a removeSchema called with id without matching schema does not throw error 2016-02-13 20:14:04 +00:00
Evgeny Poberezkin 79d16b3dee alvays pass parent data and current data property when referenced schema called as a function (previously was passed only with option coerceTypes) 2016-02-12 23:08:28 +00:00
Evgeny Poberezkin fa6b702db0 error message for enum keyword, closes #115 2016-02-07 20:03:14 +00:00
Evgeny Poberezkin c62c6452aa eslint: no-console 2016-02-04 22:36:12 +00:00
Evgeny Poberezkin 5c8e32dffc eslint: no-shadow, no-invalid-this 2016-02-04 22:24:59 +00:00
Evgeny Poberezkin 5db986276c fixed bug: custom sync keyword in async schema 2016-02-04 19:56:04 +00:00
Evgeny Poberezkin 2f6213111d validate method for asynchronous schema always returns promise 2016-02-02 23:42:07 +00:00
Evgeny Poberezkin cc32c46a25 update json-stable-stringify; closes #67 2016-02-02 21:39:45 +00:00
Evgeny Poberezkin 89a5ce76f9 eslint; code style 2016-02-02 18:55:02 +00:00
Evgeny Poberezkin 644a73b8f7 enable tests for nodent 2016-02-01 17:56:47 +00:00
Evgeny Poberezkin 0ecd3eaa13 change async/transpile options 2016-01-31 22:07:19 +00:00
Evgeny Poberezkin 86d97d4337 async options, expose Ajv.ValidationError class 2016-01-30 22:13:00 +00:00
Evgeny Poberezkin c19c02aa04 nodent usage 2016-01-29 23:29:45 +00:00
Evgeny Poberezkin 2fe6715e3c readme: async and transpile options 2016-01-29 18:01:03 +00:00
Evgeny Poberezkin dba7096f2b additional check for compatibility with nodent 2016-01-29 15:11:13 +00:00
Evgeny Poberezkin 6e583554a1 async with nodent transpiler 2016-01-29 09:26:11 +00:00
Evgeny Poberezkin 7365dd6e41 transpiling async validation functions from es7 with nodent 2016-01-28 12:31:20 +00:00
Evgeny Poberezkin 98c9c195aa references to async schemas 2016-01-27 23:43:28 +00:00
Evgeny Poberezkin 002c99311f use regenerator to transpile asynchronous validation functions if generators are not supported, #40 2016-01-26 23:56:38 +00:00
Evgeny Poberezkin 873426b6a7 async custom keywords, #40 2016-01-25 23:57:16 +00:00
Evgeny Poberezkin d5808a3ee4 async format when format is $data, #40 2016-01-25 22:05:15 +00:00
Evgeny Poberezkin 0729d6d19d async schemas and async formats using generators, #40 2016-01-25 06:37:36 +00:00
Evgeny Poberezkin 27bd49f182 renamed opts property of ajv instance to _opts; options object passed to constructor is copied 2016-01-25 06:37:36 +00:00
Evgeny Poberezkin 0c60364a7f coerce type when schema is in ref that is not inlined, #95 2016-01-17 14:08:50 +00:00
Evgeny Poberezkin 878f3559f6 do not try to coerce to object/array, #95 2016-01-17 13:12:28 +00:00
Evgeny Poberezkin b5b6a06f09 coerceTypes option, #95 2016-01-17 01:05:06 +00:00
Evgeny Poberezkin 5b7d9f9ff7 fixed inline reference resolution 2016-01-16 14:33:46 +00:00
Evgeny Poberezkin c99d6751ad option addUsedSchema 2016-01-15 06:54:53 +00:00
Evgeny Poberezkin 8c4557f1ac fixed relative json-pointer pattern/code to access data 2016-01-14 21:31:00 +00:00
Evgeny Poberezkin 37dd0415da fixed relative JSON-pointer pattern 2016-01-13 22:23:32 +00:00
Evgeny Poberezkin 8fe96db455 refactored "default" to correctly validate minProperties, minItems, etc. when defaults are present, closes #42 2016-01-09 13:28:40 +00:00
Evgeny Poberezkin d7dd660d25 "default" keyword in "items" subschemas, #42 2016-01-09 01:37:45 +00:00
Evgeny Poberezkin 0b725bbc31 "default" keyword in "properties" subschemas, #42 2016-01-09 01:07:33 +00:00
Evgeny Poberezkin a1afce910c prevent scope change if definitions uses id 2016-01-04 22:28:05 +00:00
Evgeny Poberezkin 5f2cc30449 option multipleOfPrecision, closes #84 2016-01-02 17:16:01 +00:00
Evgeny Poberezkin c3d09d7699 fixed bug in dependencies keyword, closes #94 2015-12-30 23:04:14 +00:00
Evgeny Poberezkin 2eef59dede minified browser bundle 2015-12-27 21:33:07 +00:00
Evgeny Poberezkin 17ed9c90f4 keyword property in errors for custom keywords is set to the keyword itself instead of "custom" 2015-12-26 23:18:57 +00:00
Evgeny Poberezkin 694e81684f throw exception if custom keyword is not an identifier; update tests as macro keyword definition supports type 2015-12-26 23:04:45 +00:00
Evgeny Poberezkin c4786866e2 simplify compiling macro keywords 2015-12-26 22:27:13 +00:00
Evgeny Poberezkin eab087a792 loopRequired option 2015-12-26 00:05:39 +00:00
Evgeny Poberezkin f449f68a3d safe access with guards to $data ref 2015-12-25 22:36:23 +00:00
Evgeny Poberezkin 1d9cad5ab7 $data ref equal to undefined is always valid 2015-12-25 20:10:15 +00:00
Evgeny Poberezkin 2d7b06a6db support $data ref in required keyword, #81 2015-12-25 00:30:50 +00:00
Evgeny Poberezkin 2ab6aba454 support $data ref in uniqueItems, #81 2015-12-24 18:58:15 +00:00
Evgeny Poberezkin 10c6685027 support $data ref in formatMaximum/Minimum and exclusiveFormatMaximum/Minimum, #81 2015-12-24 17:43:48 +00:00
Evgeny Poberezkin 3915d22a22 refactor 2015-12-23 16:45:54 +00:00
Evgeny Poberezkin abff815d38 refactored schema compilation to reduce browser bundle size 2015-12-23 01:50:11 +00:00
Evgeny Poberezkin a38bf04418 refactor keywords with common code 2015-12-22 17:03:09 +00:00
Evgeny Poberezkin cdf172c2b8 support $data ref in constant keyword, #81; constant keyword is implemented as inline, closes #91 2015-12-22 11:47:12 +00:00
Evgeny Poberezkin 8648a98047 support $data ref in format keyword, #81 2015-12-22 01:18:52 +00:00
Evgeny Poberezkin ae4e6009a1 support $data ref in maximum/minimum and exclusiveMaximum/Minimum keywords, #81 2015-12-21 15:37:12 +00:00
Evgeny Poberezkin 4bb4059e80 $data ref in pattern and enum keywords, #81 2015-12-21 00:39:09 +00:00
Evgeny Poberezkin aa18f7cab1 support $data ref in max/minLength, max/minItems and max/minProperties keywords, #81 2015-12-20 22:40:19 +00:00
Evgeny Poberezkin 9d4be9c72a $data ref in multipleOf keyword, #81 2015-12-20 20:48:15 +00:00
Evgeny Poberezkin 32fe82697a v5 schema allowing $data references in some keywords 2015-12-19 22:26:26 +00:00
Evgeny Poberezkin bed46b41aa relative-json-pointer format 2015-12-19 21:58:45 +00:00
Evgeny Poberezkin 984a70d36c json-pointer format 2015-12-19 21:23:40 +00:00
Evgeny Poberezkin 35214f3c68 uuid format 2015-12-19 20:03:41 +00:00
Evgeny Poberezkin ca80b2ec42 correct schemaPath for $refs, additionalProperties, additionalItems, etc. 2015-12-19 15:56:08 +00:00
Evgeny Poberezkin 1c5be913b6 correctly report schema path, #80 2015-12-19 10:52:39 +00:00
Evgeny Poberezkin afd3831b52 semicolon 2015-12-12 22:29:45 +00:00
Evgeny Poberezkin 723258f052 v5 meta-schema 2015-12-12 21:18:41 +00:00
Evgeny Poberezkin 081f061371 more tests for switch keyword 2015-12-12 19:43:38 +00:00
Evgeny Poberezkin b5e3e7da6e ignore coverage for code branches where error objects are not crerated 2015-12-12 18:27:57 +00:00
Evgeny Poberezkin 8114a2b442 tests for switch keyword 2015-12-12 18:14:53 +00:00
Evgeny Poberezkin 318af74629 switch keyword 2015-12-12 13:41:51 +00:00
Evgeny Poberezkin 7c7abbbc74 "parentSchema" property added to error objects when using "verbose" option 2015-12-11 21:35:14 +00:00
Evgeny Poberezkin 610dcd17eb replace $ in properties with $$ replace pattern, closes #87 2015-12-07 21:55:38 +00:00
Evgeny Poberezkin 5dac3dd4b3 "contains" keyword (v5) is now valid if data is not an array 2015-12-06 21:57:41 +00:00
Evgeny Poberezkin 7141f1375e cleanup formatMaximum/formatMinimum 2015-12-06 21:25:42 +00:00
Evgeny Poberezkin 1c16707ee5 readme 2015-12-06 20:34:46 +00:00
Evgeny Poberezkin faae5585c2 semicolon 2015-12-05 21:31:56 +00:00
Evgeny Poberezkin d7fd8229a9 time format; formatMaximum/formatMinimum and exclusiveFormatMaximum/exclusiveFormatMinimum keywords from v5 proposals 2015-12-05 21:16:28 +00:00
Evgeny Poberezkin 5ebfb41903 fixed missing schemaPath in type keyword 2015-11-29 00:44:25 +00:00
Evgeny Poberezkin 8a0719ea27 additionalItems added to reserved keywords (can be defined as custom) 2015-11-28 16:11:56 +00:00
Evgeny Poberezkin 7d96e1b642 patternGroups keyword (v5 proposals) 2015-11-28 14:59:08 +00:00
Evgeny Poberezkin cf35958df4 schemaPath in errors, #76 2015-11-27 09:19:04 +00:00
Evgeny Poberezkin 2ddf957554 fixed schema substitution with some options when refs are inlined, closes #77 2015-11-26 22:49:49 +00:00
Evgeny Poberezkin 06fd23217a removed peerDependency, closes #78 2015-11-24 06:35:50 +00:00
Evgeny Poberezkin cffb7c7f72 move compileAsync and addKeyword to Ajv prototype, remove reduce 2015-11-22 02:13:03 +00:00
Evgeny Poberezkin a6de2b8047 addKeyword to separate file, whitespace 2015-11-22 02:07:41 +00:00
Evgeny Poberezkin 6ab3337ddf compileAsync to separate file 2015-11-22 01:47:15 +00:00
Evgeny Poberezkin 0fe807b68a v5 keywords constant and contains 2015-11-22 00:31:01 +00:00
Evgeny Poberezkin 65e534ee8b check/extend errors in inline custom keywords; tests for custom keywords creating errors 2015-11-21 23:12:03 +00:00
Evgeny Poberezkin 56a8b5b582 "dependencies" with option errorDataPath = "property" sets dataPath to missing property, error params has missingProperty, #68, #69 2015-11-21 12:43:44 +00:00
Evgeny Poberezkin 5c0c8b3b1c default behaviour of "additionalProperties" in >=2.0.0 (#69) reverts #11 - now dataPath points to the object that is validated and not to the additional property; old (<=1.4.10 ) error reporting of dataPath for "additionalProperties" keyword is available with option errorDataPath == "property" 2015-11-21 01:45:52 +00:00
Evgeny Poberezkin 79ab4add57 fixed errors for "required", tests 2015-11-20 22:52:54 +00:00
Evgeny Poberezkin a46600e14a default behaviour in >=2.0.0 (#69) reverts #18 and #55 - now dataPath points to the object that is validated and not to the missing property; old (<=1.4.10 ) error reporting of dataPath for "required" keyword is available with option errorDataPath == "property" 2015-11-19 23:59:10 +00:00
Evgeny Poberezkin 982264f192 removed i18n option (params always added to error objects) 2015-11-17 23:45:19 +00:00
Evgeny Poberezkin 6a2961bcf3 updated error parameters so that ajv-i18n does not depend on schema, compatible with ajv-i18n >= 1.0.0 2015-11-17 23:20:12 +00:00
Evgeny Poberezkin ee450ec8d0 removed caching of compiled subschemas of custom keywords (it made performance worse in most cases) 2015-11-17 23:20:12 +00:00
Evgeny Poberezkin ae5b4c0f45 support for "inline" custom keywords, #69 2015-11-17 23:20:12 +00:00
Evgeny Poberezkin 87292f80ea validate schemas generated by macro keywords 2015-11-17 23:20:12 +00:00
Evgeny Poberezkin 18c1ef858c support for "macro" custom keywords, #69 2015-11-17 23:20:11 +00:00
Evgeny Poberezkin 285850ce20 pass parent schema to compile/validate functions of custom keywords if they use it, #69 2015-11-17 23:17:59 +00:00
Evgeny Poberezkin 5e45d4eadf support compiling schemas in custom keywords, #69 2015-11-17 23:17:59 +00:00
Evgeny Poberezkin fcc776e794 basic implementation of custom keywords, #69 2015-11-17 23:17:59 +00:00
Evgeny Poberezkin 368332ab42 fixed bug in remote ref resolution, closes #70 2015-11-07 13:53:41 +00:00
Evgeny Poberezkin 7b142c56bd optimized generated code for deep schemas 2015-10-25 21:55:07 +00:00
Evgeny Poberezkin 889fcc12c5 fixed email format regex 2015-10-25 18:50:50 +00:00
Evgeny Poberezkin c4bf67cab0 changed uri format to allow URNs, closes #59 2015-10-25 11:31:07 +00:00
Evgeny Poberezkin d1ff86ef5e refactor resolve 2015-10-25 01:49:07 +01:00
Evgeny Poberezkin 70844207cf fixed resolution scope change - changing folder in subschema, closes #62 2015-10-25 01:03:19 +01:00
Evgeny Poberezkin b161a6f1d0 fixed resolution scope change - changing folder, fixed test for #62 2015-10-24 23:16:37 +01:00
Evgeny Poberezkin 2259dc76cd find schema ref that changes resolution scope in another schema, fixed one test for #62 2015-10-24 22:25:08 +01:00
Evgeny Poberezkin 579e5c5a1d refactor, remove unused code, test 2015-10-16 19:37:43 +01:00
Evgeny Poberezkin 40eafe036f removed unused code 2015-10-15 21:41:50 +01:00
Evgeny Poberezkin 50d30a262a fixed incorrect resolution scope change when "id" property is not a schema id - closes #61, closes #63 2015-10-15 18:53:55 +01:00
Le Lan Johan c486e8f25b Do not force two slashes for uris
To allow relative urls (conformed to https://tools.ietf.org/html/rfc1808), URI regex do not force two slashes after scheme.
2015-10-14 09:52:28 +02:00