Spec as parser parameter
Signed-off-by: Fabio José <fabiojose@gmail.com>
This commit is contained in:
parent
232b39b5b3
commit
8915048791
|
@ -2,8 +2,8 @@ var Spec02 = require("../../specs/spec_0_2.js");
|
||||||
|
|
||||||
const spec02 = new Spec02();
|
const spec02 = new Spec02();
|
||||||
|
|
||||||
function JSONParser() {
|
function JSONParser(_spec) {
|
||||||
|
this.spec = (_spec) ? _spec : new Spec02();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -35,10 +35,10 @@ function validate_and_parse_as_json(payload) {
|
||||||
/*
|
/*
|
||||||
* Level 1 of validation: is that follow a spec?
|
* Level 1 of validation: is that follow a spec?
|
||||||
*/
|
*/
|
||||||
function validate_spec(payload) {
|
function validate_spec(payload, spec) {
|
||||||
|
|
||||||
// is that follow spec 0.2?
|
// is that follow the spec?
|
||||||
spec02.check(payload);
|
spec.check(payload);
|
||||||
|
|
||||||
return payload;
|
return payload;
|
||||||
}
|
}
|
||||||
|
@ -49,7 +49,7 @@ JSONParser.prototype.parse = function(payload) {
|
||||||
var valid0 = validate_and_parse_as_json(payload);
|
var valid0 = validate_and_parse_as_json(payload);
|
||||||
|
|
||||||
// Level 1 of validation: is that follow a spec?
|
// Level 1 of validation: is that follow a spec?
|
||||||
var valid1 = validate_spec(valid0);
|
var valid1 = validate_spec(valid0, this.spec);
|
||||||
|
|
||||||
return valid1;
|
return valid1;
|
||||||
}
|
}
|
||||||
|
|
|
@ -97,7 +97,7 @@ describe("JSON Event Format Parser", () => {
|
||||||
.data(data)
|
.data(data)
|
||||||
.toString();
|
.toString();
|
||||||
|
|
||||||
var parser = new Parser();
|
var parser = new Parser(new Cloudevent.specs["0.2"]());
|
||||||
|
|
||||||
// act
|
// act
|
||||||
var actual = parser.parse(payload);
|
var actual = parser.parse(payload);
|
||||||
|
|
Loading…
Reference in New Issue