Implement the decorator pattern

Signed-off-by: Fabio José <fabiojose@gmail.com>
This commit is contained in:
Fabio José 2019-08-06 11:17:35 -03:00
parent 2ad2249724
commit 32a2590665
1 changed files with 8 additions and 3 deletions

View File

@ -4,8 +4,8 @@ const {
isStringOrObjectOrThrow
} = require("../../utils/fun.js");
function JSONParser() {
function JSONParser(decorator) {
this.decorator = decorator;
}
const invalidPayloadTypeError =
@ -44,9 +44,14 @@ function validateSpec(payload, spec) {
}
JSONParser.prototype.parse = function(payload) {
let toparse = payload;
if(this.decorator) {
toparse = this.decorator.parse(payload);
}
//is that string? is that JSON?
var valid = validateAndParse(payload);
var valid = validateAndParse(toparse);
return valid;
};