Skip to content

Commit 035c37e

Browse files
authored
Merge pull request #43 from jdanyow/cfworker
Add @cfworker/json-schema
2 parents 167761d + 70c8b50 commit 035c37e

File tree

3 files changed

+27
-3
lines changed

3 files changed

+27
-3
lines changed

index.js

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ var ajv = require('ajv')({schemaId: 'auto'});
2020
var djv = require('djv')();
2121
var jsvg = require('json-schema-validator-generator').default;
2222
var jlib = require("json-schema-library");
23+
var cfworker;
2324

2425
var refs = {
2526
'http://json-schema.org/draft-04/schema': require('./refs/json-schema-draft-04.json'),
@@ -35,7 +36,8 @@ Object.keys(refs).forEach(function (uri) {
3536
jlib.addSchema(uri, refs[uri]);
3637
});
3738

38-
testRunner([
39+
40+
var validators = [
3941
{
4042
name: 'json-schema-validator-generator',
4143
setup: function (schema) {
@@ -264,5 +266,19 @@ testRunner([
264266
test: function (instance, json, schema) {
265267
return instance.isValid(json);
266268
}
267-
}
268-
]);
269+
},
270+
{
271+
name: '@cfworker/json-schema',
272+
setup: schema => {
273+
const validator = new cfworker.Validator(schema, '4');
274+
Object.keys(refs).forEach(id => validator.addSchema(refs[id], id));
275+
return validator;
276+
},
277+
test: (validator, json) => validator.validate(json).valid
278+
},
279+
];
280+
281+
import('@cfworker/json-schema').then(cfw => {
282+
cfworker = cfw;
283+
testRunner(validators);
284+
});

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
"main": "benchmark.js",
44
"license": "MIT",
55
"dependencies": {
6+
"@cfworker/json-schema": "*",
67
"JSV": "*",
78
"ajv": "*",
89
"async": "^2.6.1",

testRunner.js

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -391,6 +391,13 @@ function saveResults(results, validators, allTestNames, testsThatAllValidatorsFa
391391
)
392392
});
393393
var testSummaryPath = path.join(__dirname, "/reports/", validator.name + ".md");
394+
if (validator.name.startsWith('@')) {
395+
const scope = validator.name.substr(0, validator.name.indexOf('/'));
396+
const scopeDir = path.join(__dirname, "/reports/", scope);
397+
if (!fs.existsSync(scopeDir)) {
398+
fs.mkdirSync(scopeDir);
399+
}
400+
}
394401
fs.writeFileSync(testSummaryPath, html);
395402
});
396403
validatorsSideEffects.forEach(function(sideEffects) {

0 commit comments

Comments
 (0)