var uuid = require("uuid/v4"); var empty = require("is-empty") function Spec_0_2(){ this.payload = { specversion: "0.2", id: uuid() }; } /* * Check the spec constraints. */ Spec_0_2.prototype.check = function(){ if(empty(this.payload["type"])) { throw {message: "'type' is invalid"}; } if(empty(this.payload["specversion"])) { throw {message: "'specversion' is invalid"}; } if(this.payload["specversion"] !== "0.2") { throw {message: "'specversion' value is invalid: '" + this.payload["specversion"] + "'"}; } if(empty(this.payload["id"])) { throw {message: "'id' is invalid"}; } } Spec_0_2.prototype.type = function(_type){ this.payload["type"] = _type; return this; } Spec_0_2.prototype.source = function(_source){ this.payload["source"] = _source; return this; } Spec_0_2.prototype.id = function(_id){ this.payload["id"] = _id; return this; } Spec_0_2.prototype.time = function(_time){ this.payload["time"] = _time.toISOString(); return this; } Spec_0_2.prototype.schemaurl = function(_schemaurl){ this.payload["schemaurl"] = _schemaurl; return this; } Spec_0_2.prototype.contenttype = function(_contenttype){ this.payload["contenttype"] = _contenttype; return this; } Spec_0_2.prototype.data = function(_data){ this.payload["data"] = _data; return this; } Spec_0_2.prototype.addExtension = function(key, value){ this.payload[key] = value; return this; } module.exports = Spec_0_2;