model/Node.js
function Node(id, version, label, href, hostname, caps, services) {
  this.id = this.generateID(id);
  this.version = this.generateVersion(version);
  this.label = this.generateLabel(label);
  /**
   * HTTP access href for the Node's API.
   * @type {string}
   * @readonly
  */
  this.href = this.generateHref(href);
  /**
   * Node hostname - set to null when not present.
   * @type {string}
   * @readonly
   */
  this.hostname = this.generateHostname(hostname);
  /**
   * [Capabilities]{@link capabilities} (not yet defined).
   * @type {Object}
   * @readonly
   */
  this.caps = this.generateCaps(caps);
  /**
   * Array of objects containing a URN format type and href.
   * @type {Object[]}
   * @readonly
   */
  this.services = this.generateServices(services);
  return immutable(this, { prototype : Node.prototype });
}
function Node(id, version, label, href, hostname, caps, services) {
  this.id = this.generateID(id);
  this.version = this.generateVersion(version);
  this.label = this.generateLabel(label);
  /**
   * HTTP access href for the Node's API.
   * @type {string}
   * @readonly
  */
  this.href = this.generateHref(href);
  /**
   * Node hostname - set to null when not present.
   * @type {string}
   * @readonly
   */
  this.hostname = this.generateHostname(hostname);
  /**
   * [Capabilities]{@link capabilities} (not yet defined).
   * @type {Object}
   * @readonly
   */
  this.caps = this.generateCaps(caps);
  /**
   * Array of objects containing a URN format type and href.
   * @type {Object[]}
   * @readonly
   */
  this.services = this.generateServices(services);
  return immutable(this, { prototype : Node.prototype });
}
function Node ( id , version , label , href , hostname , caps , services ) { this . id = this . generateID ( id ) ; this . version = this . generateVersion ( version ) ; this . label = this . generateLabel ( label ) ; /**
   * HTTP access href for the Node's API.
   * @type {string}
   * @readonly
  */ this . href = this . generateHref ( href ) ; /**
   * Node hostname - set to null when not present.
   * @type {string}
   * @readonly
   */ this . hostname = this . generateHostname ( hostname ) ; /**
   * [Capabilities]{@link capabilities} (not yet defined).
   * @type {Object}
   * @readonly
   */ this . caps = this . generateCaps ( caps ) ; /**
   * Array of objects containing a URN format type and href.
   * @type {Object[]}
   * @readonly
   */ this . services = this . generateServices ( services ) ; return immutable ( this , { prototype : Node . prototype } ) ; }
Describes a Node. Immutable value.
@constructor
@augments Versionned
@param {string} id       Globally unique UUID identifier for the Node.
@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 Node.
@param {string} href     HTTP access href for the Node's API.
@param {string} hostname Node hostname - set to null when not present.
@param {Object} caps     [Capabilities]{@link capabilities} (not yet defined).
@param {Object[]} services Array of objects containing a URN format type and href.
Describes a Node . Immutable value .