You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
43 lines
752 B
43 lines
752 B
'use strict' |
|
|
|
const test = require('tape') |
|
const fastURI = require('..') |
|
|
|
const AJV = require('ajv') |
|
|
|
const ajv = new AJV({ |
|
uriResolver: fastURI // comment this line to see it works with uri-js |
|
}) |
|
|
|
test('ajv', t => { |
|
t.plan(1) |
|
const schema = { |
|
$ref: '#/definitions/Record%3Cstring%2CPerson%3E', |
|
definitions: { |
|
Person: { |
|
type: 'object', |
|
properties: { |
|
firstName: { |
|
type: 'string' |
|
} |
|
} |
|
}, |
|
'Record<string,Person>': { |
|
type: 'object', |
|
additionalProperties: { |
|
$ref: '#/definitions/Person' |
|
} |
|
} |
|
} |
|
} |
|
|
|
const data = { |
|
joe: { |
|
firstName: 'Joe' |
|
} |
|
|
|
} |
|
|
|
const validate = ajv.compile(schema) |
|
t.ok(validate(data)) |
|
})
|
|
|