fix the for guard

Signed-off-by: Fabio José <fabiojose@gmail.com>
This commit is contained in:
Fabio José 2019-07-16 14:29:25 -03:00
parent cfed4af49c
commit bcfd20bff4
1 changed files with 23 additions and 21 deletions

View File

@ -15,36 +15,36 @@ parserByMime[Constants.MIME_CE_JSON] = jsonParserSpec02;
const allowedContentTypes = [];
allowedContentTypes.push(Constants.MIME_CE_JSON);
const setterReflections = {};
setterReflections[Constants.STRUCTURED_ATTRS_02.TYPE] = {
const setterByAttribute = {};
setterByAttribute[Constants.STRUCTURED_ATTRS_02.TYPE] = {
name : "type",
parser : (v) => v
};
setterReflections[Constants.STRUCTURED_ATTRS_02.SPEC_VERSION] = {
setterByAttribute[Constants.STRUCTURED_ATTRS_02.SPEC_VERSION] = {
name : "specversion",
parser : (v) => v
};
setterReflections[Constants.STRUCTURED_ATTRS_02.SOURCE] = {
setterByAttribute[Constants.STRUCTURED_ATTRS_02.SOURCE] = {
name : "source",
parser: (v) => v
};
setterReflections[Constants.STRUCTURED_ATTRS_02.ID] = {
setterByAttribute[Constants.STRUCTURED_ATTRS_02.ID] = {
name : "id",
parser : (v) => v
};
setterReflections[Constants.STRUCTURED_ATTRS_02.TIME] = {
setterByAttribute[Constants.STRUCTURED_ATTRS_02.TIME] = {
name : "time",
parser : (v) => new Date(Date.parse(v))
};
setterReflections[Constants.STRUCTURED_ATTRS_02.SCHEMA_URL] = {
setterByAttribute[Constants.STRUCTURED_ATTRS_02.SCHEMA_URL] = {
name: "schemaurl",
parser: (v) => v
};
setterReflections[Constants.STRUCTURED_ATTRS_02.CONTENT_TYPE] = {
setterByAttribute[Constants.STRUCTURED_ATTRS_02.CONTENT_TYPE] = {
name: "contenttype",
parser: (v) => v
};
setterReflections[Constants.STRUCTURED_ATTRS_02.DATA] = {
setterByAttribute[Constants.STRUCTURED_ATTRS_02.DATA] = {
name: "data",
parser: (v) => v
};
@ -100,23 +100,25 @@ Receiver.prototype.parse = function(payload, headers) {
var processedAttributes = [];
var cloudevent = new Cloudevent(Spec02);
for(attribute in setterReflections) {
var setterName = setterReflections[attribute].name;
var parserFun = setterReflections[attribute].parser;
// invoke the setter function
cloudevent[setterName](parserFun(event[attribute]));
Array.from(Object.keys(setterByAttribute))
.forEach(attribute => {
var setterName = setterByAttribute[attribute].name;
var parserFun = setterByAttribute[attribute].parser;
// to use ahead, for extensions processing
processedAttributes.push(attribute);
}
// invoke the setter function
cloudevent[setterName](parserFun(event[attribute]));
// to use ahead, for extensions processing
processedAttributes.push(attribute);
});
// Every unprocessed attribute should be an extension
Array.from(Object.keys(event))
.filter(attribute => !processedAttributes.includes(attribute))
.forEach(extension =>
cloudevent.addExtension(extension, event[extension])
);
.filter(attribute => !processedAttributes.includes(attribute))
.forEach(extension =>
cloudevent.addExtension(extension, event[extension])
);
return cloudevent;
}