The 'MetaRegistry' class is responsible for registering and managing meta objects. This class provides a variety of functions to register, release, search, and reference meta objects.

Constructors

Properties

_list: any[]

List of meta objects, stored as reference values.

count: number

Total number of currently registered meta objects.

namespace: NamespaceManager

Namespace manager for meta objects.

Methods

  • Creates a meta object for a GUID object.

    Parameters

    • oGuid: object

      Object of type GUID.

    • Optionalorigin: object

      This is the original object setting the current object. Default is 'oGuid'.

    Returns MetaObject

    Returns the created meta object.

  • Register the function in the Namespace and create a reference object.

    Parameters

    • target: Function

      Function or constructor.

    Returns NsObject

    Returns the created namespace reference object.

    var meta = new MetaElement('m1');
    var obj = {};
    obj.owner = MetaRegistry.createNsReferObject(meta.constructor);
    console.log(obj.owner); // { $ns: 'Meta.MetaElement' }
  • Creates a reference object for a GUID object.

    Parameters

    Returns RefObject

    Returns the generated reference object.

    var meta = new MetaElement('m1');
    var obj = {};
    obj.owner = MetaRegistry.createReferObject(meta);
    console.log(obj.owner); // { $ref: '5337877c-49d6-9add-f35a-7bd31d510d4f' }
  • Locate the meta object in the registry.

    Parameters

    • oGuid: string | object

      A GUID object or a GUID string to be retrieved.

    Returns MetaObject

    Returns the found meta object or 'undefined'.

  • Finds the creator or object in the Namespace and returns the entire path.

    Parameters

    • target: Function

      This is a constructor or object.

    Returns string

    Returns the full path or 'undefined'

  • Locate the set GUID object in the source object.

    Parameters

    • oGuid: string | object

      The GUID value or GUID object to be queried.

    • origin: object

      Original object.

    Returns MetaObject

    Returns the queried meta object.

  • Returns the constructor or object for the full name in the Namespace.

    Parameters

    • fullName: string

      Full path.

    Returns object | Function

    constructor or object, if not, return 'undefined'.

  • Check if the registry has a meta object.

    Parameters

    • oGuid: string | object

      A GUID object or a GUID string to check.

    Returns boolean

    Returns the existence of a meta object.

  • Verify that the source object contains a GUID object.

    Parameters

    • oGuid: string | object

      A GUID object or string to check.

    • origin: object | object[]

      Original object.

    Returns boolean

    Returns whether is included or not.

  • Verify that the GUID object contains a reference type element. Reference types are '$ref' and '$ns'.

    Parameters

    • oGuid: object

      GUID object to check.

    Returns boolean

    Returns whether is included or not.

  • Initializes registered meta objects and namespaces.

    Returns void

  • Verify that the target object is a GUID object.

    Parameters

    • target: object

      to be checked.

    Returns boolean

    Returns whether a GUID object exists.

  • Determines whether the target object is a meta object.

    Parameters

    • target: object

      The object to be checked.

    Returns boolean

    Returns whether or not a meta object exists.

  • Pars the serialized GUID string to convert it to 'MetaObject'.

    Parameters

    • str: string

      Serialized GUID string.

    • Optionalparse: Function

      JSON parser function. Default is 'JSON.parse'.

    Returns MetaObject

    Returns parsed meta objects.

  • Register the meta object and register the creator in the namespace. An exception occurs if an object is already registered. Register if there is no creator in the Namespace.

    Parameters

    Returns void

    An exception occurs when the object is already registered.

  • Register the creator or object in the Namespace. Register after performing duplicate checks, and do not store built-in functions internally.

    Parameters

    • target: object | Function

      To be registered.

    • ns: string

      Namespace name.

    • key: string

      Destination name.

    Returns void

  • Undoes the meta object in the registry.

    Parameters

    • meta: string | MetaObject

      A meta object or GUID string to release.

    Returns boolean

    Returns successful release.

  • Unlocks a constructor or object from the Namespace.

    Parameters

    • fullName: string

      full name of the namespace.

    Returns boolean

    Returns successful release.

  • Set the GUID of the meta object in the GUID object.

    Parameters

    • oGuid: object

      Object of type GUID.

    • meta: MetaObject

      A meta object with a GUID.

    Returns SetObject

    Returns the set object.

    var meta = new MetaElement('m1');
    var obj = { name: 'm2' };
    MetaRegistry.setMetaObject(obj, meta);
    console.log(obj); // {name: 'm2', $set: '5337877c-49d6-9add-f35a-7bd31d510d4f'}
  • Converts the reference element value of a GUID object to an object reference. To be converted: '$ns' is converted to '[object Object]'.

    Parameters

    • oGuid: object

      The GUID object to be converted.

    Returns object

    Returns the transformed object.

  • Validates the GUID object. Validation includes:

    1. Check if the object has duplicate GUID values
    2. Determine if an object has a '$ref' value
    3. Determine if an object has a '$ns' value
    4. Check the number of objects '_key' and '_elem'

    Parameters

    • oGuid: object

      The GUID object to be inspected.

    Returns boolean

    Returns whether a GUID object exists.