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
Evgeny Poberezkin
e02972207c
validate "required" properties within "properties" keyword, closes #41
2015-10-11 00:08:58 +01:00
Evgeny Poberezkin
80dc982d59
replaced Array functions with for loop, added ajv instances to tests
2015-10-10 20:50:57 +01: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
Marc MacLeod
71e8ff3f2c
update the required message rather than dataPath
2015-09-26 12:11:20 -05:00
Marc MacLeod
f024918133
remove redundant property val in error message
...
For required properties, the error message is currently:
"data.name should have required property .name"
This works for other validations, where the property is present, but required is a special case that indicates the property is not there. The above message is somewhat confusing. I've simply updated the required errors to read:
"data should have required property .name"
2015-09-25 15:18:17 -05:00
Evgeny Poberezkin
a67b661e10
fixed #52 (compileAsync); loadSchema should be called only once for any schema; error is always passed via callback
2015-09-23 23:42:33 +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
de3d3469fe
fixed #51 (compileAsync); ensure that callback in compileAsync is always called asynchronously
2015-09-23 21:04:34 +01:00
Evgeny Poberezkin
f23deffff3
update text returned by errorsText method
2015-09-22 22:47:54 +01:00
Evgeny Poberezkin
34993de951
i18n support for ajv-i18n package
2015-09-13 01:01:20 +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
fe097794a9
asynchronous schema compilation with loading missing remote schemas using supplied function, #43 , mulesoft-labs/osprey-mock-service#11
2015-09-03 00:17:50 +01:00
Evgeny Poberezkin
bec34c5ba5
error thrown in case of missing reference has properties missingRef and missingSchema, related to #43 , mulesoft-labs/osprey-mock-service#11
2015-09-02 18:20:43 +01:00
Evgeny Poberezkin
ed7c14801d
jshint, closes #34
2015-08-27 20:55:44 +01:00
Evgeny Poberezkin
d99e707a69
improved performance of "properties" keyword; schema tests for 64 options combinations
2015-08-24 00:40:27 +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
1c508fa98c
removed compiled dot templates from the repo, #34
2015-08-22 22:17:07 +01:00
Evgeny Poberezkin
f9017a54d3
dataPath using jsonPointers in "required" keyword when allErrors == false, #32
2015-08-22 21:58:38 +01:00
Evgeny Poberezkin
4c4fdd5afc
optimised getExprPath for numbers (items keyword), #32
2015-08-22 21:21:18 +01:00
Evgeny Poberezkin
00419a120e
Merge pull request #36 from blakeembrey/json-pointers
...
Support JSON pointers
2015-08-22 20:23:55 +01:00
Blake Embrey
e6da675f91
Support JSON pointers
2015-08-22 11:52:05 -07:00
Evgeny Poberezkin
7f37f1b546
removed hyper meta-schema, same schema is used as latest meta-schema
2015-08-21 23:11:18 +01:00
Evgeny Poberezkin
d8d59ed352
inline refs with all keywords but "$ref"
2015-08-21 22:52:29 +01:00
Blake Embrey
4989662947
Add latest meta schemas according to schema spec
2015-08-21 10:14:36 -07: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
e74f79eea6
removed unused code with _debug option
2015-08-19 00:22:05 +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
704fb11c1d
optimized not rule
2015-08-16 01:21:35 +01:00
Evgeny Poberezkin
286368fb23
optimized required rule compilation
2015-08-16 01:10:43 +01:00
Evgeny Poberezkin
dfd6de5857
removed _debug option
2015-08-16 00:59:28 +01:00
Evgeny Poberezkin
fe53458a6e
missingRefs option tests
2015-08-15 23:59:14 +01:00
Evgeny Poberezkin
87cc09501b
tests: options, format regex
2015-08-12 01:00:46 +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
1a1353717b
.jshintrc, code style
2015-08-11 19:06:32 +01:00
Evgeny Poberezkin
dfa640a1b2
readme, fixed addMetaSchema
2015-08-09 12:49:05 +01:00
Evgeny Poberezkin
22d4c6e40d
addSchema no longer returns compiled schema
2015-08-09 11:46:44 +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
ab32638acc
addMetaSchema validates metaschema by default
2015-08-08 19:34:01 +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
9466859f92
addMetaSchema method, closes #26
2015-08-08 10:56:19 +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
bde23cbe9e
removed type escaping in errors
2015-08-07 00:14:08 +01:00
Blake Embrey
b7877a2dcf
Compile dot templates
2015-08-06 14:47:17 -07:00
Blake Embrey
2a8ce631dd
Escape everything else that might need escaping
2015-08-06 14:47:17 -07:00
Blake Embrey
02d6a5431d
Escape schema strings in output
2015-08-06 14:29:45 -07:00
Evgeny Poberezkin
021b20a366
fixed removeAdditional/validateSchema
2015-07-31 21:00:44 +01:00
Evgeny Poberezkin
94f51e1248
Merge branch 'master' into 1.0.0
2015-07-31 20:06:43 +01:00
Evgeny Poberezkin
62adbbe1ed
fixed removeAdditional, tests, added "failing" for removeAdditional; closes #25 , related to #23
2015-07-31 19:23:35 +01:00
Evgeny Poberezkin
23bf0ac5fb
option removeAdditional equal to "all"
2015-07-30 09:22:15 +01:00
Evgeny Poberezkin
232a7aeb49
option removeAdditional equal to "all"
2015-07-30 09:21:36 +01:00
Evgeny Poberezkin
36085debf5
indentations
2015-07-30 09:06:31 +01:00
Andy Scott
cff345ae16
Move `removeAdditional` option out of shared definitions
2015-07-29 09:56:57 -07:00
Andy Scott
94ddac2bc9
Add test for options (just `removeAdditional`, for now)
2015-07-29 09:56:11 -07:00
Andy Scott
d5ed4403b8
During validation allow flag to remove values flagged by `additionalProperties: false`
2015-07-28 16:34:46 -07: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
af46a38428
fixed required for inner level with many properties, closes #19
2015-07-20 17:41:06 +01:00
Evgeny Poberezkin
9b1361c92e
readme, removed unused code
2015-07-04 01:58:08 +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
5416eaf86d
improved error messages for "required" keyword, closes #18
2015-07-01 00:30:57 +01:00
Evgeny Poberezkin
5fc0b18287
improved error reporting for "required" keyword with large size schema, #18
2015-06-30 22:26:00 +01:00
Evgeny Poberezkin
22cdf02e51
improved error reporting for "required" keyword with limited size schema, #18
2015-06-30 22:09:14 +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
391d60482c
fixed escaping pattern property ( fixes #17 )
2015-06-23 17:26:03 +01:00
Evgeny Poberezkin
853ed64bf9
prevent including js-beautify in the browser
2015-06-22 14:40:25 +01:00
Evgeny Poberezkin
a97e6740e7
removeSchema method, closes #8
2015-06-20 18:41:56 +01:00
Evgeny Poberezkin
b16989f779
cache option to change the way the schemas are cached, issue #8
2015-06-20 15:37:29 +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
123aa99b15
test for #13
2015-06-18 15:01:15 +01:00
Evgeny Poberezkin
a285b060ab
option schemas added to readme
2015-06-18 08:13:39 +01:00
Evgeny Poberezkin
5b2ba08813
missingRefs option - "ignore", "fail" or throw error during compilation (default)
2015-06-17 22:23:49 +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
5b434b426e
validate schema against meta-schema
2015-06-17 02:05:52 +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