UNPKG

starzky

Version:

A higher level and opinionated library on top of node-amqp.

63 lines (52 loc) 1.05 kB
/*! * Module dependencies. */ var assert = require('assert'); var uuid = require('node-uuid'); var type = require('component-type'); var debug = require('debug')('starsky:message'); /*! * Export `Message`. */ module.exports = Message; /** * Constructor. * * TODO: document me. * * @param {String} topic * @param {Object} data * @param {Object} opts * @constructor * @private */ function Message (topic, data, options) { options = options || {}; this.topic = topic; this.data = data; this.options = { messageId: options.id || uuid.v4() , timestamp: options.timestamp || Date.now() , deliveryMode: 'undefined' == type(options.persist) || options.persist ? 2 : 1 }; } /** * Validation. * * TODO: better validation (string formats, msg size, etc). * * @return {Boolean} * @private */ Message.prototype.validate = function () { var error; try { assert('string' == type(this.topic)); assert('object' == type(this.data)); } catch (e) { error = e; } return error; };