Commit Graph

386 Commits (6f0ff642cc1070d15324784f16cda0d214f5724b)

Author SHA1 Message Date
Evgeny Poberezkin 3aa523e9f1 Merge branch 'v4' 2017-04-28 20:09:37 +01:00
Evgeny Poberezkin 4ed756ecac fix: duplicate "type" error is reported with coerceTypes option, fixes #469 2017-04-28 19:34:42 +01:00
Evgeny Poberezkin 92bfedab8d test: skipped test for error reporting with coerceTypes option, #469 2017-04-28 13:54:19 +01:00
Evgeny Poberezkin 8bb21ddd21 Merge branch 'feat/add-url-record-format' of https://github.com/gajus/ajv into gajus-feat/add-url-record-format 2017-04-08 18:29:39 +01:00
Evgeny Poberezkin 3f9ab64490 feat: more comprehencive uri-reference format in {format: "full"} mode 2017-03-19 18:55:51 +00:00
Evgeny Poberezkin 0b308db57b test: update JSON-Schema-Test-Suite, enable optional/bignum test 2017-03-12 18:38:22 +00:00
Evgeny Poberezkin 54624b92f8 refactor: JSON-Schema-Test-Suite tests 2017-03-12 17:27:10 +00:00
Evgeny Poberezkin cbef7f3061 refactor: update draft-06 meta-schema, fix URI resolution, fix tests 2017-03-12 17:10:16 +00:00
Evgeny Poberezkin 83bdcb1508 fix: uri-ref -> uri-reference 2017-03-12 12:55:47 +00:00
Evgeny Poberezkin 4f631e61b8 feat: support $id, #384 2017-02-27 00:18:42 +00:00
Evgeny Poberezkin 917f20c5c3 test: draft-06 tests from JSON-Schema-Test-Suite 2017-02-26 19:35:26 +00:00
Evgeny Poberezkin ac27a2473d feat: uri should be absolute, relative uri-ref is not valid uri 2017-02-25 22:35:36 +00:00
Evgeny Poberezkin 376cc172b4 feat: extendRefs: "ignore" by default 2017-02-25 21:43:55 +00:00
Evgeny Poberezkin 3c86da4f1b fix: improve error reporting from oneOf keyword, closes #427 2017-02-25 21:16:55 +00:00
Evgeny Poberezkin 16bf5946fe fix: support required with $data/many properties with ownProperties option, #197 2017-02-12 17:58:18 +00:00
Evgeny Poberezkin 176ed87c33 fix: support schema dependencies with ownProperties option, #197 2017-02-12 00:36:14 +00:00
Evgeny Poberezkin 647cd6eccb Merge branch 'master' into 5.0.0 2017-02-12 00:26:33 +00:00
Evgeny Poberezkin 8413890875 fix: schema "dependencies" with property containing single quotes, closes #413 2017-02-12 00:21:53 +00:00
Evgeny Poberezkin 1babc9df49 fix: support property dependecies with ownProperties option, #197 2017-02-12 00:02:56 +00:00
Evgeny Poberezkin df6ef691ae fix: ownProperties option with required keyword, #197 2017-02-11 23:44:59 +00:00
Evgeny Poberezkin 57fc360285 test: ownProperties option with properties and required keywords, #197 2017-02-11 23:23:48 +00:00
Evgeny Poberezkin ea5b7008ae fix: support ownProperties option with properties keyword, #197 2017-02-11 23:11:41 +00:00
Evgeny Poberezkin dbe863032a test: failing tests for ownProperties option (skipped), #197 2017-02-11 22:31:37 +00:00
Evgeny Poberezkin c9fb5cafb9 refactor: tests for ownProperties option, #197 2017-02-11 22:20:46 +00:00
Evgeny Poberezkin 6bf7d19ff2 test: number format via $data, #291 2017-02-10 21:59:20 +00:00
Evgeny Poberezkin 901343c95d feat: support formats with $data for numbers, #291 2017-02-10 21:52:51 +00:00
Evgeny Poberezkin c21cbee56f fix: support multiple types for format, #291 2017-02-10 20:53:13 +00:00
Evgeny Poberezkin 1d84987baa Merge ssh://github.com/nimerritt/ajv into nimerritt-master 2017-02-10 19:59:27 +00:00
Evgeny Poberezkin 03b24c72f8 fix: custom keywords with $data option validate as valid if their value (in data) is undefined 2017-02-05 17:40:39 +00:00
Evgeny Poberezkin de0c827dec feat: throw exception if schema id is not a string and report error, closes #380 2017-02-04 22:36:21 +00:00
Evgeny Poberezkin f5bcd5735a fix: code clean-up, closes #388 2017-02-04 22:15:23 +00:00
Evgeny Poberezkin ca6916385b feat: throw exception if $schema is not a string, closes #394 2017-02-04 21:30:26 +00:00
Gajus Kuizinas e7de15c60b Revert "test: remove invalid test cases"
This reverts commit af37a943cc.
2017-01-25 22:26:31 +00:00
Gajus Kuizinas 5a374ed7b7 test: correct test format 2017-01-25 20:30:26 +00:00
Gajus Kuizinas af37a943cc test: remove invalid test cases
These cases are not expected to pass using the current regex.
2017-01-25 20:19:16 +00:00
Gajus Kuizinas 625bed10d2 test: add test cases for URL format 2017-01-25 20:00:05 +00:00
Evgeny Poberezkin 254c2672d5 feat: format uri-template, #384 2017-01-23 22:08:05 +00:00
Evgeny Poberezkin e949b8462c test: patternGroups with meta; meta: false warns insead of throwing meta-schema validation 2017-01-23 20:16:38 +00:00
Evgeny Poberezkin 8bb3b52f55 feat: serialize option, closes #385, closes #341 2017-01-21 20:28:50 +00:00
Evgeny Poberezkin a06327eab4 Merge branch 'master' into 5.0.0 2017-01-20 23:30:54 +00:00
Evgeny Poberezkin aa8de572df feat: custom keywords with predefined validation result, #393 2017-01-20 23:08:52 +00:00
Evgeny Poberezkin 33845cc397 feat: support custom keywords that modify data, #392 2017-01-20 22:03:36 +00:00
Evgeny Poberezkin 2468bd5014 refactor: custom keyword code generation, #392 2017-01-20 21:33:34 +00:00
Evgeny Poberezkin 82002ec5e8 test: failing test for custom keyword mutating data, #141, #392 2017-01-20 20:26:14 +00:00
Richard Taylor b1b0c553d8 Improve implementation of allowing hyphens in keywords
This:
- Updates the README with the new rules (and recommendations)
- Updates `keyword.js` to implement the agreed change to the naming rules:
- - Now same as before but also allow hyphens as second and subsequent characters
- Update tests to test the new keyword naming rules
- Update `definitions.def` to use it.util.getProperty() to dynamically choose dot
  or bracket notation as appropriate rather than hardcode bracket notation.

Test Plan:
- Run `npm test` and ensure all tests run and pass
2017-01-05 18:28:28 +00:00
Richard Taylor 66db560ca5 Allow custom keywords that are not valid JS identifiers
Custom keywords were required to be valid JS identifiers due to the
way they were being used in the generated code.  This prevented the use
of keywords with the `x-` prefix that is required by [swagger](http://swagger.io].

This change fixes that by updating the only place that was using them
directly as an identifier to use //brackets// notation rather than
//dot// notation.  This brings the definition of `$schemaPath` in
`definitions.def` in line with the way the rule definition is accessed
from `RULES.custom` at the top of `custom.jst`.

The validation of the keyword name has been changed to allow any name
in this change, but this should be updated to either just remove the
test or update it to a new rule before this change is included in
the project.

Finally, this also updates a number of the tests in `custom.spec.js` to
use non-valid identifiers for the names of some of the custom keywords
being tested (primarily by adding `x-` to the front of the name).

Test Plan:
- Run `npm test` and ensure all tests run and pass
2017-01-05 10:48:12 +00:00
Evgeny Poberezkin 41ecdaff7c refactor: contains implemented as a standard keyword, #367 2016-12-30 17:44:18 +00:00
Evgeny Poberezkin 988fcfbbca test: numeric exclusiveMaximum/Minimum together with maximum/minimum, both as $data 2016-12-29 20:36:45 +00:00
Evgeny Poberezkin 19512861d2 feat: support numeric exclusiveMaximum/Minimum with $data, #367 2016-12-29 19:44:08 +00:00
Evgeny Poberezkin 4a9d765e5a feat: support numeric exclusiveMaximum/Minimum (no $data support yet), #367 2016-12-28 23:08:25 +00:00