model/Device.js
function Device(id, version, label, type, node_id, senders, receivers) {
  this.id = this.generateID(id);
  this.version = this.generateVersion(version);
  this.label = this.generateLabel(label);
  /**
   * [Device type]{@link deviceTypes} URN.
   * @type {string}
   * @readonly
   */
  this.type = this.generateType(type);
  /**
   * Globally unique UUID identifier for the {@link Node} which initially created
   * the Device.
   * @type {string}
   * @readonly
   */
  this.node_id = this.generateNodeID(node_id);
  /**
   * UUIDs of [Senders]{@link Sender} attached to the Device.
   * @type {string[]}
   * @readonly
   */
  this.senders = this.generateSenders(senders);
  /**
   * UUIDs of [Receivers]{@link Receiver} attached to the Device.
   * @type {string[]}
   * @readonly
   */
  this.receivers = this.generateReceivers(receivers);
  return immutable(this, { prototype: Device.prototype });
}
function Device(id, version, label, type, node_id, senders, receivers) {
  this.id = this.generateID(id);
  this.version = this.generateVersion(version);
  this.label = this.generateLabel(label);
  /**
   * [Device type]{@link deviceTypes} URN.
   * @type {string}
   * @readonly
   */
  this.type = this.generateType(type);
  /**
   * Globally unique UUID identifier for the {@link Node} which initially created
   * the Device.
   * @type {string}
   * @readonly
   */
  this.node_id = this.generateNodeID(node_id);
  /**
   * UUIDs of [Senders]{@link Sender} attached to the Device.
   * @type {string[]}
   * @readonly
   */
  this.senders = this.generateSenders(senders);
  /**
   * UUIDs of [Receivers]{@link Receiver} attached to the Device.
   * @type {string[]}
   * @readonly
   */
  this.receivers = this.generateReceivers(receivers);
  return immutable(this, { prototype: Device.prototype });
}
function Device ( id , version , label , type , node_id , senders , receivers ) { this . id = this . generateID ( id ) ; this . version = this . generateVersion ( version ) ; this . label = this . generateLabel ( label ) ; /**
   * [Device type]{@link deviceTypes} URN.
   * @type {string}
   * @readonly
   */ this . type = this . generateType ( type ) ; /**
   * Globally unique UUID identifier for the {@link Node} which initially created
   * the Device.
   * @type {string}
   * @readonly
   */ this . node_id = this . generateNodeID ( node_id ) ; /**
   * UUIDs of [Senders]{@link Sender} attached to the Device.
   * @type {string[]}
   * @readonly
   */ this . senders = this . generateSenders ( senders ) ; /**
   * UUIDs of [Receivers]{@link Receiver} attached to the Device.
   * @type {string[]}
   * @readonly
   */ this . receivers = this . generateReceivers ( receivers ) ; return immutable ( this , { prototype : Device . prototype } ) ; }
Describes a Device. Immutable value.
@constructor
@augments Versionned
@param {String}   id        Globally unique UUID identifier for the Device.
@param {string}   version   String formatted PTP timestamp
(&lt;<em>seconds</em>&gt;:&lt;<em>nanoseconds</em>&gt;)
indicating precisely when an attribute of the resource
last changed.
@param {string}   label     Freeform string label for the Device.
@param {string}   type      [Device type]{@link deviceTypes} URN.
@param {string}   node_id   Globally unique UUID identifier for the {@link Node}
which initially created the Device.
@param {string[]} senders   UUIDs of {@link Senders} attached to the Device.
@param {string[]} receivers UUIDs of Receivers attached to the Device
Describes a Device . Immutable value .