chore: use es6 for cloudevents.js (#73)
Signed-off-by: Grant Timmerman <timmerman+devrel@google.com>
This commit is contained in:
parent
d042ef1dbb
commit
12ac181300
|
@ -6,122 +6,117 @@ const Formatter = require("./formats/json/formatter.js");
|
|||
*
|
||||
* https://en.wikipedia.org/wiki/Builder_pattern
|
||||
*/
|
||||
function Cloudevent(_spec, _formatter) {
|
||||
this.spec = (_spec) ? new _spec(Cloudevent) : new Spec(Cloudevent);
|
||||
this.formatter = (_formatter) ? new _formatter() : new Formatter();
|
||||
class CloudEvent {
|
||||
constructor(_spec, _formatter) {
|
||||
this.spec = (_spec) ? new _spec(CloudEvent) : new Spec(CloudEvent);
|
||||
this.formatter = (_formatter) ? new _formatter() : new Formatter();
|
||||
|
||||
// The map of extensions
|
||||
this.extensions = {};
|
||||
// The map of extensions
|
||||
this.extensions = {};
|
||||
}
|
||||
|
||||
getFormats() {
|
||||
return { json: Formatter };
|
||||
}
|
||||
|
||||
format() {
|
||||
// Check the constraints
|
||||
this.spec.check();
|
||||
|
||||
// To run asData()
|
||||
this.getData();
|
||||
|
||||
// Then, format
|
||||
return this.formatter.format(this.spec.payload);
|
||||
}
|
||||
|
||||
toString() {
|
||||
return this.formatter.toString(this.spec.payload);
|
||||
}
|
||||
|
||||
type(type) {
|
||||
this.spec.type(type);
|
||||
return this;
|
||||
}
|
||||
|
||||
getType() {
|
||||
return this.spec.getType();
|
||||
}
|
||||
|
||||
specversion(version) {
|
||||
return this.spec.specversion(version);
|
||||
}
|
||||
|
||||
getSpecversion() {
|
||||
return this.spec.getSpecversion();
|
||||
}
|
||||
|
||||
source(_source) {
|
||||
this.spec.source(_source);
|
||||
return this;
|
||||
}
|
||||
|
||||
getSource() {
|
||||
return this.spec.getSource();
|
||||
}
|
||||
|
||||
id(_id) {
|
||||
this.spec.id(_id);
|
||||
return this;
|
||||
}
|
||||
|
||||
getId() {
|
||||
return this.spec.getId();
|
||||
}
|
||||
|
||||
time(_time) {
|
||||
this.spec.time(_time);
|
||||
return this;
|
||||
}
|
||||
|
||||
getTime() {
|
||||
return this.spec.getTime();
|
||||
}
|
||||
|
||||
schemaurl(_schemaurl) {
|
||||
this.spec.schemaurl(_schemaurl);
|
||||
return this;
|
||||
}
|
||||
|
||||
getSchemaurl() {
|
||||
return this.spec.getSchemaurl();
|
||||
}
|
||||
|
||||
dataContenttype(_contenttype) {
|
||||
this.spec.dataContenttype(_contenttype);
|
||||
return this;
|
||||
}
|
||||
|
||||
getDataContenttype() {
|
||||
return this.spec.getDataContenttype();
|
||||
}
|
||||
|
||||
data(_data) {
|
||||
this.spec.data(_data);
|
||||
return this;
|
||||
}
|
||||
|
||||
getData() {
|
||||
return this.spec.getData();
|
||||
}
|
||||
|
||||
addExtension(key, value) {
|
||||
this.spec.addExtension(key, value);
|
||||
|
||||
// Stores locally
|
||||
this.extensions[key] = value;
|
||||
|
||||
return this;
|
||||
}
|
||||
|
||||
getExtensions() {
|
||||
return this.extensions;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* To format the payload using the formatter
|
||||
*/
|
||||
Cloudevent.prototype.format = function() {
|
||||
// Check the constraints
|
||||
this.spec.check();
|
||||
|
||||
// To run asData()
|
||||
this.getData();
|
||||
|
||||
// Then, format
|
||||
return this.formatter.format(this.spec.payload);
|
||||
};
|
||||
|
||||
Cloudevent.prototype.toString = function() {
|
||||
return this.formatter.toString(this.spec.payload);
|
||||
};
|
||||
|
||||
Cloudevent.prototype.type = function(type) {
|
||||
this.spec.type(type);
|
||||
return this;
|
||||
};
|
||||
|
||||
Cloudevent.prototype.getType = function() {
|
||||
return this.spec.getType();
|
||||
};
|
||||
|
||||
Cloudevent.prototype.specversion = function(version) {
|
||||
return this.spec.specversion(version);
|
||||
};
|
||||
|
||||
Cloudevent.prototype.getSpecversion = function() {
|
||||
return this.spec.getSpecversion();
|
||||
};
|
||||
|
||||
Cloudevent.prototype.source = function(_source) {
|
||||
this.spec.source(_source);
|
||||
return this;
|
||||
};
|
||||
|
||||
Cloudevent.prototype.getSource = function() {
|
||||
return this.spec.getSource();
|
||||
};
|
||||
|
||||
Cloudevent.prototype.id = function(_id) {
|
||||
this.spec.id(_id);
|
||||
return this;
|
||||
};
|
||||
|
||||
Cloudevent.prototype.getId = function() {
|
||||
return this.spec.getId();
|
||||
};
|
||||
|
||||
Cloudevent.prototype.time = function(_time) {
|
||||
this.spec.time(_time);
|
||||
return this;
|
||||
};
|
||||
|
||||
Cloudevent.prototype.getTime = function() {
|
||||
return this.spec.getTime();
|
||||
};
|
||||
|
||||
Cloudevent.prototype.schemaurl = function(_schemaurl) {
|
||||
this.spec.schemaurl(_schemaurl);
|
||||
return this;
|
||||
};
|
||||
|
||||
Cloudevent.prototype.getSchemaurl = function() {
|
||||
return this.spec.getSchemaurl();
|
||||
};
|
||||
|
||||
Cloudevent.prototype.dataContenttype = function(_contenttype) {
|
||||
this.spec.dataContenttype(_contenttype);
|
||||
return this;
|
||||
};
|
||||
|
||||
Cloudevent.prototype.getDataContenttype = function() {
|
||||
return this.spec.getDataContenttype();
|
||||
};
|
||||
|
||||
Cloudevent.prototype.data = function(_data) {
|
||||
this.spec.data(_data);
|
||||
return this;
|
||||
};
|
||||
|
||||
Cloudevent.prototype.getData = function() {
|
||||
return this.spec.getData();
|
||||
};
|
||||
|
||||
Cloudevent.prototype.addExtension = function(key, value) {
|
||||
this.spec.addExtension(key, value);
|
||||
|
||||
// Stores localy
|
||||
this.extensions[key] = value;
|
||||
|
||||
return this;
|
||||
};
|
||||
|
||||
Cloudevent.prototype.getExtensions = function() {
|
||||
return this.extensions;
|
||||
};
|
||||
|
||||
/*
|
||||
* Export the formats
|
||||
*/
|
||||
Cloudevent.formats = {
|
||||
json: Formatter,
|
||||
"json0.1": Formatter
|
||||
};
|
||||
|
||||
module.exports = Cloudevent;
|
||||
module.exports = CloudEvent;
|
||||
|
|
Loading…
Reference in New Issue