lib/kind.js
function init(schema, name) {  // {{{2
/**
 * Kind constructor
 *
 * @param schema {Object|String} Schema containing the kind
 * @param name {String} Unique kind name within the schema
 *
 * @method constructor
 */

  this.name = name;  // {{{3
  /**
   * Kind name unique within a schema
   *
   * @property name
   * @type String
   */


  this.schema = typeof schema === 'string' ?  // {{{3
    O.data.schemas[schema] :
    schema
  ;
  /**
   * Schema to which the kind is assigned
   *
   * @property schema
   * @type Object
   */

  if (! this.schema) {
    throw O.log.error('Missing schema', schema);
  }

  if (this.name in this.schema.kinds) {
    throw O.log.error(this.schema, 'Duplicit kind', this.name);
  }

  this.schema.kinds[this.name] = this;

  // }}}3

//  O.callChain(this, 'init')();

//  console.log('KIND INIT', this.schema.name, this.name);
}
function init(schema, name) {  // {{{2
/**
 * Kind constructor
 *
 * @param schema {Object|String} Schema containing the kind
 * @param name {String} Unique kind name within the schema
 *
 * @method constructor
 */

  this.name = name;  // {{{3
  /**
   * Kind name unique within a schema
   *
   * @property name
   * @type String
   */


  this.schema = typeof schema === 'string' ?  // {{{3
    O.data.schemas[schema] :
    schema
  ;
  /**
   * Schema to which the kind is assigned
   *
   * @property schema
   * @type Object
   */

  if (! this.schema) {
    throw O.log.error('Missing schema', schema);
  }

  if (this.name in this.schema.kinds) {
    throw O.log.error(this.schema, 'Duplicit kind', this.name);
  }

  this.schema.kinds[this.name] = this;

  // }}}3

//  O.callChain(this, 'init')();

//  console.log('KIND INIT', this.schema.name, this.name);
}
function init ( schema , name ) { // {{{2 /**
 * Kind constructor
 *
 * @param schema {Object|String} Schema containing the kind
 * @param name {String} Unique kind name within the schema
 *
 * @method constructor
 */ this . name = name ; // {{{3 /**
   * Kind name unique within a schema
   *
   * @property name
   * @type String
   */ this . schema = typeof schema === 'string' ? // {{{3 O . data . schemas [ schema ] : schema ; /**
   * Schema to which the kind is assigned
   *
   * @property schema
   * @type Object
   */ if ( ! this . schema ) { throw O . log . error ( 'Missing schema' , schema ) ; } if ( this . name in this . schema . kinds ) { throw O . log . error ( this . schema , 'Duplicit kind' , this . name ) ; } this . schema . kinds [ this . name ] = this ; // }}}3 //  O.callChain(this, 'init')(); //  console.log('KIND INIT', this.schema.name, this.name); }
`entry.dval` structure description

Contains an [ose/lib/field/object] instance

@property ddef
@type Object
 Public  {{{1
entry . dval structure description