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 |
Evgeny Poberezkin
|
81f442b325
|
NaN validation, closes #182
|
2016-05-16 22:05:08 +01:00 |
Evgeny Poberezkin
|
d90e7abd45
|
fix no-invalid-rule, closes #187, #188
|
2016-05-16 20:51:48 +01:00 |
Evgeny Poberezkin
|
44dd6b78b9
|
Android 4 compatibility, #143
|
2016-04-18 21:15:38 +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
|
69d897f31a
|
fix errorsTexts
|
2016-03-23 23:25:54 +00:00 |
Evgeny Poberezkin
|
503b427b7f
|
eslint no-trailing spaces
|
2016-02-26 20:25:15 +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
|
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
|
89a5ce76f9
|
eslint; code style
|
2016-02-02 18:55:02 +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
|
6e583554a1
|
async with nodent transpiler
|
2016-01-29 09:26:11 +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
|
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
|
878f3559f6
|
do not try to coerce to object/array, #95
|
2016-01-17 13:12:28 +00:00 |
Evgeny Poberezkin
|
5b7d9f9ff7
|
fixed inline reference resolution
|
2016-01-16 14:33:46 +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
|
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
|
2eef59dede
|
minified browser bundle
|
2015-12-27 21:33:07 +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
|
f449f68a3d
|
safe access with guards to $data ref
|
2015-12-25 22:36:23 +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
|
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
|
9d4be9c72a
|
$data ref in multipleOf keyword, #81
|
2015-12-20 20:48:15 +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
|
1c5be913b6
|
correctly report schema path, #80
|
2015-12-19 10:52:39 +00:00 |
Evgeny Poberezkin
|
610dcd17eb
|
replace $ in properties with $$ replace pattern, closes #87
|
2015-12-07 21:55:38 +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
|
8a0719ea27
|
additionalItems added to reserved keywords (can be defined as custom)
|
2015-11-28 16:11:56 +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
|
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
|
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
|
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
|
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 |
Evgeny Poberezkin
|
738e343ccf
|
fixed reference resolution when multiple schema files are compiled, closes #50, closes #53
|
2015-10-02 22:06:00 +01:00 |
Evgeny Poberezkin
|
d6ed06766c
|
fixed #48 - indices in dataPath in error messages for items keyword
|
2015-09-23 21:58:19 +01:00 |
Evgeny Poberezkin
|
6723287c3e
|
optimized equal
|
2015-09-07 09:58:33 +01:00 |
Yury Chebotaev
|
de02d4d8ab
|
Compare objects with better approach by @blakeembrey that not count order of keys
|
2015-09-07 03:45:10 +05:00 |
Yury Chebotaev
|
1b0a471448
|
equal fail when order of keys is different
|
2015-09-07 02:58:01 +05:00 |
Evgeny Poberezkin
|
ed7c14801d
|
jshint, closes #34
|
2015-08-27 20:55:44 +01:00 |
Evgeny Poberezkin
|
cc8de5bb8e
|
tests for inlined schemas, #6
|
2015-08-23 21:17:11 +01:00 |
Evgeny Poberezkin
|
69bc41a38c
|
optimised access to compiled/inlined referenced schemas
|
2015-08-23 13:27:05 +01:00 |
Evgeny Poberezkin
|
f3b65f4a58
|
Merge branch 'master' into inline
|
2015-08-23 12:04:38 +01:00 |
Evgeny Poberezkin
|
843557e03f
|
optimised regexps to create them during compile time, reuse regexp instances
|
2015-08-22 23:57:16 +01:00 |
Evgeny Poberezkin
|
4c4fdd5afc
|
optimised getExprPath for numbers (items keyword), #32
|
2015-08-22 21:21:18 +01:00 |
Blake Embrey
|
e6da675f91
|
Support JSON pointers
|
2015-08-22 11:52:05 -07:00 |
Evgeny Poberezkin
|
d8d59ed352
|
inline refs with all keywords but "$ref"
|
2015-08-21 22:52:29 +01:00 |
Evgeny Poberezkin
|
7d0c6d1d25
|
inline simple refs, #6
|
2015-08-19 22:54:05 +01:00 |
Evgeny Poberezkin
|
cfec9e3fb3
|
removed unused it.dataPath, related to #32
|
2015-08-19 00:31:19 +01:00 |
Evgeny Poberezkin
|
8abbf63e9b
|
Merge branch 'master' into 1.0.0
|
2015-08-16 23:00:43 +01:00 |
Evgeny Poberezkin
|
982cfab809
|
removed unused code
|
2015-08-16 02:11:00 +01:00 |
Evgeny Poberezkin
|
fe53458a6e
|
missingRefs option tests
|
2015-08-15 23:59:14 +01:00 |
Evgeny Poberezkin
|
c4fb165f8d
|
simplified util.toHash
|
2015-08-11 22:52:34 +01:00 |
Evgeny Poberezkin
|
eeb1307448
|
jshint "validthis" option
|
2015-08-11 19:24:31 +01:00 |
Evgeny Poberezkin
|
a3be10e40d
|
.jshintrc: node, allow ==
|
2015-08-11 19:13:08 +01:00 |
Evgeny Poberezkin
|
0012b09ccf
|
do not replace schema object with compiled function
|
2015-08-09 00:54:06 +01:00 |
Evgeny Poberezkin
|
c175259b48
|
clean up resolve
|
2015-08-08 20:57:50 +01:00 |
Evgeny Poberezkin
|
234729121f
|
Merge branch 'master' into 1.0.0
|
2015-08-08 19:39:27 +01:00 |
Evgeny Poberezkin
|
1b8c922ebc
|
preserve roots during ref resolution, closes #27
|
2015-08-08 19:06:51 +01:00 |
Evgeny Poberezkin
|
41ed37f36f
|
resolves recursive schema issue #27, breaks test for issue #13, raml schema has regex issue
|
2015-08-08 12:21:41 +01:00 |
Evgeny Poberezkin
|
22513f598a
|
Merge branch 'master' into 1.0.0
|
2015-08-07 23:17:06 +01:00 |
Evgeny Poberezkin
|
a0c342c58f
|
fixed resolving recursive references, closes issue #27
|
2015-08-07 01:54:07 +01:00 |
Evgeny Poberezkin
|
be023eda11
|
Merge branch 'master' into 1.0.0
|
2015-07-26 10:37:56 +01:00 |
Evgeny Poberezkin
|
6c93d0346d
|
fixed "required" with properties that are not identifiers, closes #20
|
2015-07-22 16:26:28 +01:00 |
Evgeny Poberezkin
|
32ee26ec94
|
readme: supported formats
|
2015-07-21 22:36:20 +01:00 |
Evgeny Poberezkin
|
8a5d8f32b7
|
fixed losing errors when validating mutually recursive schemas, #5
|
2015-07-04 01:37:35 +01:00 |
Evgeny Poberezkin
|
5641185396
|
adding schemas without compiling them, support for recursive schemas, adding dependencies in any order, #5
|
2015-07-04 00:48:32 +01:00 |
Evgeny Poberezkin
|
1cbcade81f
|
fixed #1 IDs in refs without root id
|
2015-06-24 01:28:40 +01:00 |
Evgeny Poberezkin
|
e7b0ee76e2
|
do not create global (instance level) refs for IDs that start from #
|
2015-06-24 00:55:38 +01:00 |
Evgeny Poberezkin
|
0ccf7e73f1
|
use properties as properties or indeces correctly in all cases
|
2015-06-24 00:43:52 +01:00 |
Evgeny Poberezkin
|
853ed64bf9
|
prevent including js-beautify in the browser
|
2015-06-22 14:40:25 +01:00 |
Evgeny Poberezkin
|
4e1f0e54c4
|
prevent possible issues like #13
|
2015-06-19 00:59:53 +01:00 |
Evgeny Poberezkin
|
cbdd00e9c6
|
fixed #13 - root ref in remote ref
|
2015-06-19 00:57:19 +01:00 |
Evgeny Poberezkin
|
8bfb3f9b4a
|
added anyOf error, refactored test
|
2015-06-18 23:01:39 +01:00 |
Evgeny Poberezkin
|
46812e0ac6
|
fixed #14: remote ref in definitions in remote ref with ids
|
2015-06-18 20:48:35 +01:00 |
Evgeny Poberezkin
|
2ae8c89708
|
allow uri and throw on error when validating schemas against meta-schema
|
2015-06-17 22:06:07 +01:00 |
Evgeny Poberezkin
|
9931223dd9
|
list rules requires explicitely to make browserify work
|
2015-06-17 15:52:24 +01:00 |
Evgeny Poberezkin
|
5f36f17f63
|
precompiled dot templates, dot is devDependency, closes #3
|
2015-06-17 14:42:13 +01:00 |
Evgeny Poberezkin
|
08c8032fe1
|
include property in error.dataPath for additionalProperty, closes #11
|
2015-06-16 22:54:08 +01:00 |
Evgeny Poberezkin
|
0576ea986e
|
removed unused code
|
2015-06-16 22:19:26 +01:00 |
Evgeny Poberezkin
|
f19f7fdedf
|
refactor $ref.dot
|
2015-06-16 22:04:17 +01:00 |
Evgeny Poberezkin
|
058fcfb5cb
|
fixed ref resolution using wrong root when compiling resolved schema
|
2015-06-16 18:14:24 +01:00 |
Evgeny Poberezkin
|
e0d6afe7dc
|
evgeny, jason: fixed incorrect root replacing and failure to resolve ref to another file root from inside ref, closes #12
|
2015-06-16 17:10:27 +01:00 |
Evgeny Poberezkin
|
082284d9cc
|
fixed incorrect resolution of root ref in ref, fixes #2
|
2015-06-16 15:11:33 +01:00 |
Evgeny Poberezkin
|
536d958cf1
|
fixed incorrect dataPath in errors for refs, closes #9
|
2015-06-16 00:21:14 +01:00 |
Evgeny Poberezkin
|
993e2a73d7
|
optimized $ref for simple cases
|
2015-06-15 16:30:48 +01:00 |
Evgeny Poberezkin
|
5582e13c1d
|
maximum/minimum keywords optimized
|
2015-06-15 11:14:13 +01:00 |
Evgeny Poberezkin
|
13e4f251cc
|
removed redundant extra check in properties
|
2015-06-14 10:05:45 +01:00 |
Evgeny Poberezkin
|
9dfa073e28
|
optimized generated code for simple schemas
|
2015-06-14 09:04:11 +01:00 |
Evgeny Poberezkin
|
31c7d22c8b
|
fixed bug: subschema with additiona/patternProperties only was ignored as always valid
|
2015-06-13 23:41:57 +01:00 |
Evgeny Poberezkin
|
de59b7342e
|
refactor properties
|
2015-06-13 19:59:08 +01:00 |
Evgeny Poberezkin
|
e3a692f602
|
optimized additionalProperties validation
|
2015-06-13 16:35:15 +01:00 |
Evgeny Poberezkin
|
60b186402f
|
custom formats support
|
2015-06-13 13:55:23 +01:00 |
Evgeny Poberezkin
|
0b3806fd18
|
do not create errors array until the first error
|
2015-06-13 13:01:05 +01:00 |
Evgeny Poberezkin
|
1f0eca163d
|
removed recursive parameter, improved performance
|
2015-06-13 11:40:45 +01:00 |
Evgeny Poberezkin
|
db3ec5d51e
|
fixed code cleanup that was removing empty "if" leaving "else"
|
2015-06-13 10:27:05 +01:00 |
Evgeny Poberezkin
|
4bc538933d
|
fixed broken template
|
2015-06-12 23:30:50 +01:00 |
Evgeny Poberezkin
|
32e83e5f28
|
exclude schemas without validation keywords, dont create data variables unless they are used at least twice
|
2015-06-12 22:12:34 +01:00 |
Evgeny Poberezkin
|
0aaa78eca4
|
optimize generated code to skip following rule groups if validation had already failed
|
2015-06-12 18:16:54 +01:00 |
Evgeny Poberezkin
|
5c7f764c6d
|
fixed validation bug with recursive schemas
|
2015-06-12 14:22:33 +01:00 |
Evgeny Poberezkin
|
80b04dfc4c
|
optimised generated code for all keywords
|
2015-06-12 11:43:41 +01:00 |
Evgeny Poberezkin
|
804627efe4
|
optimized generated code for oneOf keyword
|
2015-06-12 01:43:31 +01:00 |
Evgeny Poberezkin
|
0dfa95c011
|
optimized generated code for patternProperties
|
2015-06-10 23:58:49 +01:00 |
Evgeny Poberezkin
|
ea974ab48d
|
fast mode for format validation; optimised code generated for enum rule
|
2015-06-10 21:51:14 +01:00 |
Evgeny Poberezkin
|
606e81ad4b
|
full support of remote refs
|
2015-06-07 21:55:40 +01:00 |
Evgeny Poberezkin
|
6284b83db7
|
ajv api changed, api tests, "resolve refs" progress
|
2015-06-07 12:47:57 +01:00 |
Evgeny Poberezkin
|
fca4c77820
|
more tests, fixed resolve infinite loop
|
2015-06-06 19:44:07 +01:00 |
Evgeny Poberezkin
|
64b80cbfff
|
more tests, fixed/optimized refs
|
2015-06-06 16:18:52 +01:00 |
Evgeny Poberezkin
|
4db4008e2c
|
optimized code generation, beautify option
|
2015-06-06 14:13:31 +01:00 |
Evgeny Poberezkin
|
808e2270f8
|
removed unused dataPath
|
2015-06-06 02:40:17 +01:00 |
Evgeny Poberezkin
|
22a6852967
|
only compute paths when needed
|
2015-06-06 02:32:23 +01:00 |
Evgeny Poberezkin
|
d0089f82e5
|
optimize & tidy up
|
2015-06-06 02:07:50 +01:00 |
Evgeny Poberezkin
|
1a6e9c8d63
|
replace hasOwnProperty with !== undefined
|
2015-06-05 19:08:11 +01:00 |
Evgeny Poberezkin
|
f47d821418
|
unicode lengths are used by default; tidy up
|
2015-06-05 00:44:04 +01:00 |
Evgeny Poberezkin
|
b9b9affcf4
|
correct unicode string lengths with "unicode" option
|
2015-06-04 23:08:45 +01:00 |
Evgeny Poberezkin
|
62e0d23a00
|
inline subschemas unconditionally, cleanup
|
2015-06-04 21:43:16 +01:00 |
Evgeny Poberezkin
|
568e76a351
|
removed potentially leaking "valid" variable
|
2015-06-04 21:18:31 +01:00 |
Evgeny Poberezkin
|
c441624009
|
inlined subschemas in properties rule
|
2015-06-04 18:04:09 +01:00 |
Evgeny Poberezkin
|
0832e55c4c
|
inlined subschemas in items rulw
|
2015-06-04 00:31:24 +01:00 |
Evgeny Poberezkin
|
7b790a4b0f
|
inlined subschemas in allOf, anyOf, not, oneOf and dependencies
|
2015-06-04 00:17:33 +01:00 |
Evgeny Poberezkin
|
34a98e273a
|
refactor with defs; use numbered variable names in different levels
|
2015-06-03 22:30:04 +01:00 |
Evgeny Poberezkin
|
4a54f9bb73
|
inline validate progress
|
2015-06-02 01:59:32 +01:00 |
Evgeny Poberezkin
|
3d58b95f56
|
optimized uniqueItems
|
2015-06-02 00:14:38 +01:00 |
Evgeny Poberezkin
|
e7c3cb39aa
|
optimized uniqueItems
|
2015-06-01 23:43:46 +01:00 |