src/core/Root.js
function(json){
  
  // Protect against forgetting the new keyword when calling the constructor
  if(!(this instanceof Root)){
    return new Root(json);
  }
  
  // If the given object is already an instance then just return it. DON'T copy it.
  if(Root.isInstance(json)){
    return json;
  }
  
  this.init(json);
}
function(json){
  
  // Protect against forgetting the new keyword when calling the constructor
  if(!(this instanceof Root)){
    return new Root(json);
  }
  
  // If the given object is already an instance then just return it. DON'T copy it.
  if(Root.isInstance(json)){
    return json;
  }
  
  this.init(json);
}
function ( json ) { // Protect against forgetting the new keyword when calling the constructor if ( ! ( this instanceof Root ) ) { return new Root ( json ) ; } // If the given object is already an instance then just return it. DON'T copy it. if ( Root . isInstance ( json ) ) { return json ; } this . init ( json ) ; }
A GEDCOM X document.

@see {@link https://github.com/FamilySearch/gedcomx/blob/master/specifications/json-format-specification.md#gedcomx-type|GEDCOM X JSON Spec}

@class
@extends ExtensibleData
@param {Object} [json]
A GEDCOM X document .