Commit Graph

887 Commits (d250405335a302759812e111d114208bf537a0d5)

Author SHA1 Message Date
Idan Gozlan d250405335 removed webpack attribute
Since it's breaking the webpack build.
2017-01-25 16:24:07 +02: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 8892f98a4c fix: patternGroups without draft-06 meta-schema 2017-01-23 19:58:02 +00:00
Evgeny Poberezkin 8bb3b52f55 feat: serialize option, closes #385, closes #341 2017-01-21 20:28:50 +00:00
Evgeny Poberezkin d4fb50bdbe Merge branch 'master' into 5.0.0 2017-01-21 19:57:38 +00:00
Evgeny Poberezkin ccc9907d26 feat: allow setting dataPath in validate/compile keywords, closes #331 2017-01-21 19:44:08 +00:00
Evgeny Poberezkin 824d6258f1 Merge branch 'master' into 5.0.0 2017-01-21 00:34:19 +00:00
Evgeny Poberezkin cf39a53404 docs: update beta version 2017-01-21 00:31:34 +00:00
Evgeny Poberezkin 9e1c8d7576 chore: version 4.11.0 2017-01-20 23:53:44 +00:00
Evgeny Poberezkin 2cc48296f5 docs: update link to 5.0.1-beta docs 2017-01-20 23:43:21 +00:00
Evgeny Poberezkin f89a04de4c docs: fixed custom keyword definition typing 2017-01-20 23:39:27 +00:00
Evgeny Poberezkin a06327eab4 Merge branch 'master' into 5.0.0 2017-01-20 23:30:54 +00:00
Evgeny Poberezkin 7148ae3607 docs: update typings for "modifying" and "valid" custom keywords, #392, #393 2017-01-20 23:25:45 +00:00
Evgeny Poberezkin dc265ddf4a docs: custom keywords with pre-defined validation result, closes #393 2017-01-20 23:21:03 +00:00
Evgeny Poberezkin aa8de572df feat: custom keywords with predefined validation result, #393 2017-01-20 23:08:52 +00:00
Evgeny Poberezkin d314df2721 docs: modifying option in custom keyword definition, closes #392 2017-01-20 22:16:11 +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
Evgeny Poberezkin ac5e2cee55 docs: reference to 5.0.1-beta docs 2017-01-20 20:14:36 +00:00
Evgeny Poberezkin b2d641f244 feat: add schema id (URI) as a comment to generated code 2017-01-07 12:49:48 +00:00
Evgeny Poberezkin b4ecf27fb2 version 4.10.4 2017-01-05 18:46:14 +00:00
Evgeny Poberezkin 41aeb848f2 Merge pull request #391 from farrago/non-identifier-keywords
Allow custom keywords that are not valid JS identifiers (fixes issue #389)
2017-01-05 18:43:26 +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 7613986c29 docs: about version 5.0.1-beta 2016-12-31 01:33:16 +00:00
Evgeny Poberezkin b82905dc77 docs: 5.0.1-beta, draft 6 2016-12-31 01:31:09 +00:00
Evgeny Poberezkin 187ba176f3 chore: version 5.0.1-beta.0 2016-12-31 00:12:05 +00:00
Evgeny Poberezkin 41ecdaff7c refactor: contains implemented as a standard keyword, #367 2016-12-30 17:44:18 +00:00
Evgeny Poberezkin cf3f1cea50 refactor: changed format "uriref" to "uri-ref", #367 2016-12-29 23:05:28 +00:00
Evgeny Poberezkin a063c61780 docs: exclusiveMinimum/Maximum as number 2016-12-29 21:24:00 +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
Evgeny Poberezkin 7f8a40af4b docs: fix link, missing quotes in KEYWORDS.md 2016-12-27 19:47:55 +00:00
Evgeny Poberezkin d2b71a94b1 docs: line break 2016-12-26 21:53:52 +00:00
Evgeny Poberezkin f303cd381b docs: remove code snippets from ajv-async 2016-12-26 21:51:07 +00:00
Evgeny Poberezkin 32e1add425 docs: transpile option and auto-detection of async mode requires ajv-async, closes #383 2016-12-26 21:45:53 +00:00
Evgeny Poberezkin 1c284933fc feat: use co-wrapped generator function as default async option (async: co*), #383 2016-12-26 21:10:46 +00:00
Evgeny Poberezkin 6f2cea2244 refactor: support for transpile option moved to ajv-async package, #383 2016-12-26 20:57:14 +00:00
Evgeny Poberezkin c6d5c31ab4 style: convert eslintrc files to yml 2016-12-26 17:58:38 +00:00
Evgeny Poberezkin fc1c46cbfa feat: option processCode replaced option beautify, closes #382 2016-12-26 16:57:06 +00:00
Evgeny Poberezkin 6036f3ff07 feat: update type definitions
allow boolean schemas
async validation promise resolves with data
properties of custom keyword definition ($data and metaSchema)
custom keyword schema can be any value
keyword schema in error object can be any value
optional propertyName property of error object for all keywords (added when validating schema in propertyNames)
propertyNames keyword error params
2016-12-25 21:39:36 +00:00
Evgeny Poberezkin ad7ae50c51 refactor: move const keyword to rules (as standard keyword) 2016-12-25 20:42:54 +00:00
Evgeny Poberezkin 850b50523c feat: async validation promise resolves with data in case of success, closes #377 2016-12-25 20:24:36 +00:00
Evgeny Poberezkin f1028c8411 feat: support boolean schemas in $ref 2016-12-25 17:43:26 +00:00
Evgeny Poberezkin 225ef67ce5 refactor: omptimise/fix generated code
optimize code for schemas without validation keywords
fix bug in determining empty schema
2016-12-25 15:32:53 +00:00
Evgeny Poberezkin 71c3709c2a refactor: validate.jst 2016-12-25 14:09:11 +00:00
Evgeny Poberezkin 393b6a5b35 refactor: optimise code generated for boolean schemas 2016-12-25 13:53:51 +00:00