UNPKG

base-domain

Version:

simple module to help build Domain-Driven Design

1,550 lines 112 kB
{ "project": {}, "files": { "src/lib/base-dict.coffee": { "name": "src/lib/base-dict.coffee", "modules": { "base-domain": 1 }, "classes": { "BaseDict": 1 }, "fors": {}, "namespaces": {} }, "src/lib/base-factory.coffee": { "name": "src/lib/base-factory.coffee", "modules": {}, "classes": { "BaseFactory": 1 }, "fors": {}, "namespaces": {} }, "src/lib/base-list.coffee": { "name": "src/lib/base-list.coffee", "modules": {}, "classes": { "BaseList": 1 }, "fors": {}, "namespaces": {} }, "src/lib/base-model.coffee": { "name": "src/lib/base-model.coffee", "modules": {}, "classes": { "BaseModel": 1 }, "fors": {}, "namespaces": {} }, "src/lib/base-repository.coffee": { "name": "src/lib/base-repository.coffee", "modules": {}, "classes": { "BaseRepository": 1 }, "fors": {}, "namespaces": {} }, "src/lib/base.coffee": { "name": "src/lib/base.coffee", "modules": {}, "classes": { "Base": 1 }, "fors": {}, "namespaces": {} }, "src/lib/dict-factory.coffee": { "name": "src/lib/dict-factory.coffee", "modules": {}, "classes": { "DictFactory": 1 }, "fors": {}, "namespaces": {} }, "src/lib/domain-error.coffee": { "name": "src/lib/domain-error.coffee", "modules": {}, "classes": { "DomainError": 1 }, "fors": {}, "namespaces": {} }, "src/lib/entity.coffee": { "name": "src/lib/entity.coffee", "modules": {}, "classes": { "Entity": 1 }, "fors": {}, "namespaces": {} }, "src/lib/facade.coffee": { "name": "src/lib/facade.coffee", "modules": {}, "classes": { "Facade": 1 }, "fors": {}, "namespaces": {} }, "src/lib/fixture.coffee": { "name": "src/lib/fixture.coffee", "modules": {}, "classes": { "Fixture": 1, "FixtureModel": 1 }, "fors": {}, "namespaces": {} }, "src/lib/includer.coffee": { "name": "src/lib/includer.coffee", "modules": {}, "classes": { "Includer": 1 }, "fors": {}, "namespaces": {} }, "src/lib/list-factory.coffee": { "name": "src/lib/list-factory.coffee", "modules": {}, "classes": { "ListFactory": 1 }, "fors": {}, "namespaces": {} }, "src/lib/master-repository.coffee": { "name": "src/lib/master-repository.coffee", "modules": {}, "classes": { "MasterRepository": 1 }, "fors": {}, "namespaces": {} }, "src/lib/prop-info.coffee": { "name": "src/lib/prop-info.coffee", "modules": {}, "classes": { "PropInfo": 1 }, "fors": {}, "namespaces": {} }, "src/lib/resource-client-interface.coffee": { "name": "src/lib/resource-client-interface.coffee", "modules": {}, "classes": { "ResourceClientInterface": 1 }, "fors": {}, "namespaces": {} }, "src/lib/type-info.coffee": { "name": "src/lib/type-info.coffee", "modules": {}, "classes": { "TypeInfo": 1 }, "fors": {}, "namespaces": {} }, "src/lib/util.coffee": { "name": "src/lib/util.coffee", "modules": {}, "classes": { "Util": 1 }, "fors": {}, "namespaces": {} } }, "modules": { "base-domain": { "name": "base-domain", "submodules": {}, "classes": { "BaseDict": 1, "BaseFactory": 1, "BaseList": 1, "BaseModel": 1, "BaseRepository": 1, "Base": 1, "DictFactory": 1, "DomainError": 1, "Entity": 1, "Facade": 1, "Fixture": 1, "FixtureModel": 1, "Includer": 1, "ListFactory": 1, "MasterRepository": 1, "PropInfo": 1, "ResourceClientInterface": 1, "TypeInfo": 1, "Util": 1 }, "fors": {}, "namespaces": {}, "tag": "module", "file": "src/lib/util.coffee", "line": 2, "description": "dictionary-structured data model" } }, "classes": { "BaseDict": { "name": "BaseDict", "shortname": "BaseDict", "classitems": [], "plugins": [], "extensions": [], "plugin_for": [], "extension_for": [], "module": "base-domain", "file": "src/lib/base-dict.coffee", "line": 4, "description": "dictionary-structured data model", "extends": "BaseModel" }, "BaseFactory": { "name": "BaseFactory", "shortname": "BaseFactory", "classitems": [], "plugins": [], "extensions": [], "plugin_for": [], "extension_for": [], "module": "base-domain", "namespace": "", "file": "src/lib/base-factory.coffee", "line": 5, "description": "Base factory class of DDD pattern.\n\ncreate instance of model\n\nthe parent \"Base\" class just simply gives a @getFacade() method.", "extends": "Base" }, "BaseList": { "name": "BaseList", "shortname": "BaseList", "classitems": [], "plugins": [], "extensions": [], "plugin_for": [], "extension_for": [], "module": "base-domain", "namespace": "", "file": "src/lib/base-list.coffee", "line": 4, "description": "list class of DDD pattern.", "extends": "BaseModel" }, "BaseModel": { "name": "BaseModel", "shortname": "BaseModel", "classitems": [], "plugins": [], "extensions": [], "plugin_for": [], "extension_for": [], "module": "base-domain", "namespace": "", "file": "src/lib/base-model.coffee", "line": 8, "description": "Base model class of DDD pattern.\n\nthe parent \"Base\" class just simply gives a @getFacade() method.", "extends": "Base" }, "BaseRepository": { "name": "BaseRepository", "shortname": "BaseRepository", "classitems": [], "plugins": [], "extensions": [], "plugin_for": [], "extension_for": [], "module": "base-domain", "namespace": "", "file": "src/lib/base-repository.coffee", "line": 7, "description": "Base repository class of DDD pattern.\nResponsible for perpetuation of models.\nBaseRepository has a client, which access to data resource (RDB, NoSQL, memory, etc...)\n\nthe parent \"Base\" class just simply gives a @getFacade() method.", "extends": "Base" }, "Base": { "name": "Base", "shortname": "Base", "classitems": [], "plugins": [], "extensions": [], "plugin_for": [], "extension_for": [], "module": "base-domain", "namespace": "", "file": "src/lib/base.coffee", "line": 4, "description": "parent class of model, factory and repository.\n\ngives them @getFacade() method." }, "DictFactory": { "name": "DictFactory", "shortname": "DictFactory", "classitems": [], "plugins": [], "extensions": [], "plugin_for": [], "extension_for": [], "module": "base-domain", "namespace": "", "file": "src/lib/dict-factory.coffee", "line": 5, "description": "factory of dict", "extends": "BaseFactory" }, "DomainError": { "name": "DomainError", "shortname": "DomainError", "classitems": [], "plugins": [], "extensions": [], "plugin_for": [], "extension_for": [], "module": "base-domain", "namespace": "", "file": "src/lib/domain-error.coffee", "line": 4, "description": "error thrown by base-domain module\n\n class DomainError extends Error # not worked.\n\nsee http://stackoverflow.com/questions/19422145/property-in-subclass-of-error-not-set", "extends": "Error" }, "Entity": { "name": "Entity", "shortname": "Entity", "classitems": [], "plugins": [], "extensions": [], "plugin_for": [], "extension_for": [], "module": "base-domain", "namespace": "", "file": "src/lib/entity.coffee", "line": 5, "description": "Base model class with \"id\" column", "extends": "BaseModel" }, "Facade": { "name": "Facade", "shortname": "Facade", "classitems": [], "plugins": [], "extensions": [], "plugin_for": [], "extension_for": [], "module": "base-domain", "namespace": "", "file": "src/lib/facade.coffee", "line": 10, "description": "Facade class of DDD pattern.\n\n- create instance of factories\n- create instance of repositories" }, "Fixture": { "name": "Fixture", "shortname": "Fixture", "classitems": [], "plugins": [], "extensions": [], "plugin_for": [], "extension_for": [], "module": "base-domain", "namespace": "", "file": "src/lib/fixture.coffee", "line": 5, "description": "load data from directory and generates fixtures" }, "FixtureModel": { "name": "FixtureModel", "shortname": "FixtureModel", "classitems": [], "plugins": [], "extensions": [], "plugin_for": [], "extension_for": [], "module": "base-domain", "namespace": "", "file": "src/lib/fixture.coffee", "line": 171 }, "Includer": { "name": "Includer", "shortname": "Includer", "classitems": [], "plugins": [], "extensions": [], "plugin_for": [], "extension_for": [], "module": "base-domain", "namespace": "", "file": "src/lib/includer.coffee", "line": 2, "description": "include submodels" }, "ListFactory": { "name": "ListFactory", "shortname": "ListFactory", "classitems": [], "plugins": [], "extensions": [], "plugin_for": [], "extension_for": [], "module": "base-domain", "namespace": "", "file": "src/lib/list-factory.coffee", "line": 5, "description": "factory of list", "extends": "Base" }, "MasterRepository": { "name": "MasterRepository", "shortname": "MasterRepository", "classitems": [], "plugins": [], "extensions": [], "plugin_for": [], "extension_for": [], "module": "base-domain", "namespace": "", "file": "src/lib/master-repository.coffee", "line": 4, "description": "load master data", "abstract": "" }, "PropInfo": { "name": "PropInfo", "shortname": "PropInfo", "classitems": [], "plugins": [], "extensions": [], "plugin_for": [], "extension_for": [], "module": "base-domain", "namespace": "", "file": "src/lib/prop-info.coffee", "line": 2, "description": "parses model properties and classifies them" }, "ResourceClientInterface": { "name": "ResourceClientInterface", "shortname": "ResourceClientInterface", "classitems": [], "plugins": [], "extensions": [], "plugin_for": [], "extension_for": [], "module": "base-domain", "namespace": "", "file": "src/lib/resource-client-interface.coffee", "line": 2, "description": "interface of client accessing to resource.\nUsed in BaseRepository\n\nLoopBackClient in loopback-promised package implements this interface.\n\nsee https://github.com/CureApp/loopback-promised" }, "TypeInfo": { "name": "TypeInfo", "shortname": "TypeInfo", "classitems": [], "plugins": [], "extensions": [], "plugin_for": [], "extension_for": [], "module": "base-domain", "namespace": "", "file": "src/lib/type-info.coffee", "line": 4, "description": "type of model's property" }, "Util": { "name": "Util", "shortname": "Util", "classitems": [], "plugins": [], "extensions": [], "plugin_for": [], "extension_for": [], "module": "base-domain", "namespace": "", "file": "src/lib/util.coffee", "line": 2, "description": "utility functions" } }, "classitems": [ { "file": "src/lib/base-dict.coffee", "line": 13, "description": "model name of the item", "itemtype": "property", "name": "itemModelName", "static": 1, "access": "protected", "tagname": "", "type": "String", "class": "BaseDict", "module": "base-domain" }, { "file": "src/lib/base-dict.coffee", "line": 23, "description": "get unique key from item", "itemtype": "method", "name": "key", "static": 1, "access": "protected", "tagname": "", "class": "BaseDict", "module": "base-domain" }, { "file": "src/lib/base-dict.coffee", "line": 33, "description": "creates child class of BaseDict", "itemtype": "method", "name": "getAnonymousClass", "params": [ { "name": "itemModelName", "description": "", "type": "String" } ], "return": { "description": "child class of BaseDict", "type": "Function" }, "class": "BaseDict", "module": "base-domain" }, { "file": "src/lib/base-dict.coffee", "line": 49, "description": "ids: get ids of items", "itemtype": "property", "name": "ids", "type": "Array", "access": "public", "tagname": "", "class": "BaseDict", "module": "base-domain" }, { "file": "src/lib/base-dict.coffee", "line": 61, "description": "items: dictionary of keys - models", "itemtype": "property", "name": "items", "type": "Objects", "class": "BaseDict", "module": "base-domain" }, { "file": "src/lib/base-dict.coffee", "line": 68, "description": "loaded: is data loaded or not", "itemtype": "property", "name": "loaded", "type": "Boolean", "class": "BaseDict", "module": "base-domain" }, { "file": "src/lib/base-dict.coffee", "line": 75, "description": "itemFactory: instance of factory which creates item models", "itemtype": "property", "name": "itemFactory", "type": "BaseFactory", "class": "BaseDict", "module": "base-domain" }, { "file": "src/lib/base-dict.coffee", "line": 82, "is_constructor": 1, "class": "BaseDict", "module": "base-domain" }, { "file": "src/lib/base-dict.coffee", "line": 105, "description": "check if the model has submodel of the given key or not", "itemtype": "method", "name": "has", "access": "public", "tagname": "", "params": [ { "name": "key", "description": "", "type": "String|Number" } ], "return": { "description": "", "type": "Boolean" }, "class": "BaseDict", "module": "base-domain" }, { "file": "src/lib/base-dict.coffee", "line": 116, "description": "check if the model contains the given submodel or not", "itemtype": "method", "name": "contains", "access": "public", "tagname": "", "params": [ { "name": "item", "description": "", "type": "BaseModel" } ], "return": { "description": "", "type": "Boolean" }, "class": "BaseDict", "module": "base-domain" }, { "file": "src/lib/base-dict.coffee", "line": 130, "description": "return submodel of the given key", "itemtype": "method", "name": "get", "access": "public", "tagname": "", "params": [ { "name": "key", "description": "", "type": "String|Number" } ], "return": { "description": "", "type": "BaseModel" }, "class": "BaseDict", "module": "base-domain" }, { "file": "src/lib/base-dict.coffee", "line": 142, "description": "add new submodel to item(s)", "itemtype": "method", "name": "get", "access": "public", "tagname": "", "params": [ { "name": "item", "description": "", "type": "BaseModel" } ], "class": "BaseDict", "module": "base-domain" }, { "file": "src/lib/base-dict.coffee", "line": 156, "description": "remove submodel from items\nboth acceptable, keys and submodels", "itemtype": "method", "name": "remove", "access": "public", "tagname": "", "params": [ { "name": "item", "description": "", "type": "BaseModel|String|Number" } ], "class": "BaseDict", "module": "base-domain" }, { "file": "src/lib/base-dict.coffee", "line": 179, "description": "set ids.", "itemtype": "method", "name": "setIds", "params": [ { "name": "ids", "description": "", "type": "Array(String|Number)" } ], "class": "BaseDict", "module": "base-domain" }, { "file": "src/lib/base-dict.coffee", "line": 206, "description": "set items from dic object\nupdate to new key", "itemtype": "method", "name": "setItems", "params": [ { "name": "models", "description": "", "type": "Object|Array" } ], "class": "BaseDict", "module": "base-domain" }, { "file": "src/lib/base-dict.coffee", "line": 223, "description": "returns item is Entity", "itemtype": "method", "name": "containsEntity", "static": 1, "access": "public", "tagname": "", "return": { "description": "", "type": "Boolean" }, "class": "BaseDict", "module": "base-domain" }, { "file": "src/lib/base-dict.coffee", "line": 235, "description": "export models to Array", "itemtype": "method", "name": "toArray", "access": "public", "tagname": "", "class": "BaseDict", "module": "base-domain" }, { "file": "src/lib/base-dict.coffee", "line": 245, "description": "create plain dict.\nif this dict contains entities, returns their ids\nif this dict contains non-entity models, returns their plain objects", "itemtype": "method", "name": "toPlainObject", "return": { "description": "plainObject", "type": "Object" }, "class": "BaseDict", "module": "base-domain" }, { "file": "src/lib/base-dict.coffee", "line": 274, "description": "on addEventlisteners for 'loaded'", "itemtype": "method", "name": "on", "access": "public", "tagname": "", "class": "BaseDict", "module": "base-domain" }, { "file": "src/lib/base-dict.coffee", "line": 290, "description": "tell listeners emit loaded", "itemtype": "method", "name": "emitLoaded", "access": "private", "tagname": "", "class": "BaseDict", "module": "base-domain" }, { "file": "src/lib/base-factory.coffee", "line": 18, "description": "model name to handle", "itemtype": "property", "name": "modelName", "static": 1, "access": "protected", "tagname": "", "type": "String", "class": "BaseFactory", "module": "base-domain" }, { "file": "src/lib/base-factory.coffee", "line": 28, "description": "name of dict model to create dict of @modelName", "itemtype": "property", "name": "dictModelName", "static": 1, "access": "protected", "tagname": "", "type": "String", "class": "BaseFactory", "module": "base-domain" }, { "file": "src/lib/base-factory.coffee", "line": 39, "description": "get anonymous factory class", "itemtype": "method", "name": "getAnonymousClass", "params": [ { "name": "modelName", "description": "", "type": "String" } ], "return": { "description": "", "type": "Function" }, "class": "BaseFactory", "module": "base-domain" }, { "file": "src/lib/base-factory.coffee", "line": 55, "description": "constructor", "is_constructor": 1, "class": "BaseFactory", "module": "base-domain" }, { "file": "src/lib/base-factory.coffee", "line": 64, "description": "get model class this factory handles", "itemtype": "method", "name": "getModelClass", "return": { "description": "", "type": "Function" }, "class": "BaseFactory", "module": "base-domain" }, { "file": "src/lib/base-factory.coffee", "line": 75, "description": "create empty model instance", "itemtype": "method", "name": "createEmptyModel", "return": { "description": "", "type": "BaseModel" }, "class": "BaseFactory", "module": "base-domain" }, { "file": "src/lib/base-factory.coffee", "line": 85, "description": "create instance of model class by plain object\n\nfor each prop, values are set by Model#set(prop, value)", "itemtype": "method", "name": "createFromObject", "access": "public", "tagname": "", "params": [ { "name": "obj", "description": "", "type": "Object" }, { "name": "baseModel", "description": "fallback properties", "type": "BaseModel" } ], "return": { "description": "model", "type": "BaseModel" }, "class": "BaseFactory", "module": "base-domain" }, { "file": "src/lib/base-factory.coffee", "line": 121, "description": "set value to model in creation", "itemtype": "method", "name": "setValueToModel", "access": "private", "tagname": "", "class": "BaseFactory", "module": "base-domain" }, { "file": "src/lib/base-factory.coffee", "line": 146, "description": "set empty values to model in creation", "itemtype": "method", "name": "setEmptyValueToModel", "access": "private", "tagname": "", "class": "BaseFactory", "module": "base-domain" }, { "file": "src/lib/base-factory.coffee", "line": 176, "description": "creates list and set it to the model", "itemtype": "method", "name": "setSubModelListToModel", "access": "private", "tagname": "", "class": "BaseFactory", "module": "base-domain" }, { "file": "src/lib/base-factory.coffee", "line": 197, "description": "set submodel to the prop", "itemtype": "method", "name": "setSubModelToModel", "access": "private", "tagname": "", "class": "BaseFactory", "module": "base-domain" }, { "file": "src/lib/base-factory.coffee", "line": 222, "description": "set submodel dict to the prop", "itemtype": "method", "name": "setSubModelToModel", "access": "private", "tagname": "", "class": "BaseFactory", "module": "base-domain" }, { "file": "src/lib/base-factory.coffee", "line": 242, "description": "fetch submodel(s) by id\navailable only when repository of submodel implements 'getByIdSync'\n(MasterRepository implements one)", "itemtype": "method", "name": "fetchEntityProp", "access": "private", "tagname": "", "class": "BaseFactory", "module": "base-domain" }, { "file": "src/lib/base-factory.coffee", "line": 268, "description": "create empty non-entity model and set to the prop", "itemtype": "method", "name": "createEmptyNonEntityProp", "access": "private", "tagname": "", "class": "BaseFactory", "module": "base-domain" }, { "file": "src/lib/base-factory.coffee", "line": 281, "description": "modify plain object before @createFromObject(obj)", "itemtype": "method", "name": "beforeCreateFromObject", "access": "protected", "tagname": "", "abstract": "", "params": [ { "name": "obj", "description": "", "type": "Object" } ], "return": { "description": "obj", "type": "Object" }, "class": "BaseFactory", "module": "base-domain" }, { "file": "src/lib/base-factory.coffee", "line": 294, "description": "modify model after createFromObject(obj), createEmptyModel()", "itemtype": "method", "name": "afterCreateModel", "access": "protected", "tagname": "", "abstract": "", "params": [ { "name": "model", "description": "", "type": "BaseModel" } ], "return": { "description": "model", "type": "BaseModel" }, "class": "BaseFactory", "module": "base-domain" }, { "file": "src/lib/base-factory.coffee", "line": 308, "description": "create model list", "itemtype": "method", "name": "createList", "access": "public", "tagname": "", "params": [ { "name": "listModelName", "description": "model name of list", "type": "String" }, { "name": "obj", "description": "", "type": "Any" } ], "return": { "description": "list", "type": "BaseList" }, "class": "BaseFactory", "module": "base-domain" }, { "file": "src/lib/base-factory.coffee", "line": 325, "description": "create model dict", "itemtype": "method", "name": "createDict", "access": "public", "tagname": "", "params": [ { "name": "dictModelName", "description": "model name of dict", "type": "String" }, { "name": "obj", "description": "", "type": "Any" } ], "return": { "description": "dict", "type": "BaseDict" }, "class": "BaseFactory", "module": "base-domain" }, { "file": "src/lib/base-list.coffee", "line": 13, "description": "model name of the item", "itemtype": "property", "name": "itemModelName", "static": 1, "access": "protected", "tagname": "", "type": "String", "class": "BaseList", "module": "base-domain" }, { "file": "src/lib/base-list.coffee", "line": 24, "description": "creates child class of BaseList", "itemtype": "method", "name": "getAnonymousClass", "params": [ { "name": "itemModelName", "description": "", "type": "String" } ], "return": { "description": "child class of BaseList", "type": "Function" }, "class": "BaseList", "module": "base-domain" }, { "file": "src/lib/base-list.coffee", "line": 41, "description": "ids: get ids of items", "itemtype": "property", "name": "ids", "type": "Array", "access": "public", "tagname": "", "class": "BaseList", "module": "base-domain" }, { "file": "src/lib/base-list.coffee", "line": 53, "description": "items: array of models", "itemtype": "property", "name": "items", "type": "Array", "class": "BaseList", "module": "base-domain" }, { "file": "src/lib/base-list.coffee", "line": 60, "description": "loaded: is data loaded or not", "itemtype": "property", "name": "loaded", "type": "Boolean", "class": "BaseList", "module": "base-domain" }, { "file": "src/lib/base-list.coffee", "line": 67, "description": "itemFactory: instance of factory which creates item models", "itemtype": "property", "name": "itemFactory", "type": "BaseFactory", "class": "BaseList", "module": "base-domain" }, { "file": "src/lib/base-list.coffee", "line": 74, "is_constructor": 1, "class": "BaseList", "module": "base-domain" }, { "file": "src/lib/base-list.coffee", "line": 97, "description": "set ids.", "itemtype": "method", "name": "setIds", "params": [ { "name": "ids", "description": "", "type": "Array(String|Number)" } ], "class": "BaseList", "module": "base-domain" }, { "file": "src/lib/base-list.coffee", "line": 124, "description": "set items", "itemtype": "method", "name": "setItems", "params": [ { "name": "models", "description": "", "type": "Array" } ], "class": "BaseList", "module": "base-domain" }, { "file": "src/lib/base-list.coffee", "line": 141, "description": "returns item is Entity", "itemtype": "method", "name": "containsEntity", "static": 1, "access": "public", "tagname": "", "return": { "description": "", "type": "Boolean" }, "class": "BaseList", "module": "base-domain" }, { "file": "src/lib/base-list.coffee", "line": 153, "description": "sort items in constructor", "itemtype": "method", "name": "sort", "access": "protected", "tagname": "", "class": "BaseList", "module": "base-domain" }, { "file": "src/lib/base-list.coffee", "line": 163, "description": "first item", "itemtype": "method", "name": "first", "access": "public", "tagname": "", "class": "BaseList", "module": "base-domain" }, { "file": "src/lib/base-list.coffee", "line": 176, "description": "last item", "itemtype": "method", "name": "last", "access": "public", "tagname": "", "class": "BaseList", "module": "base-domain" }, { "file": "src/lib/base-list.coffee", "line": 189, "description": "export models to Array", "itemtype": "method", "name": "toArray", "access": "public", "tagname": "", "class": "BaseList", "module": "base-domain" }, { "file": "src/lib/base-list.coffee", "line": 199, "description": "create plain list.\nif this list contains entities, returns their ids\nif this list contains non-entity models, returns their plain objects", "itemtype": "method", "name": "toPlainObject", "return": { "description": "plainObject", "type": "Object" }, "class": "BaseList", "module": "base-domain" }, { "file": "src/lib/base-list.coffee", "line": 228, "description": "on addEventListeners for 'loaded'", "itemtype": "method", "name": "on", "access": "public", "tagname": "", "class": "BaseList", "module": "base-domain" }, { "file": "src/lib/base-list.coffee", "line": 244, "description": "tell listeners emit loaded", "itemtype": "method", "name": "emitLoaded", "access": "private", "tagname": "", "class": "BaseList", "module": "base-domain" }, { "file": "src/lib/base-model.coffee", "line": 22, "description": "key-value pair representing typeName - type\n\nuse for definition of @properties for each extender", "itemtype": "property", "name": "TYPES", "access": "protected", "tagname": "", "final": 1, "static": 1, "type": "Object", "class": "BaseModel", "module": "base-domain" }, { "file": "src/lib/base-model.coffee", "line": 36, "description": "key-value pair representing property's name - type of the model\n\n firstName : @TYPES.STRING\n lastName : @TYPES.STRING\n age : @TYPES.NUMBER\n registeredAt : @TYPES.DATE\n team : @TYPES.MODEL 'team'\n hobbies : @TYPES.MODEL_LIST 'hobby'\n info : @TYPES.ANY\n\nsee type-info.coffee for full options.", "itemtype": "property", "name": "properties", "abstract": "", "static": 1, "access": "protected", "tagname": "", "type": "Object", "class": "BaseModel", "module": "base-domain" }, { "file": "src/lib/base-model.coffee", "line": 58, "description": "get an instance of PropInfo, which summarizes properties of this class", "itemtype": "method", "name": "getPropInfo", "access": "public", "tagname": "", "return": { "description": "", "type": "PropInfo" }, "class": "BaseModel", "module": "base-domain" }, { "file": "src/lib/base-model.coffee", "line": 70, "description": "extend @properties of Parent class", "example": [ "\n class Parent extends BaseModel" ], "properties": ": @withParentProps\n prop2: @TYPES.NUMBER\n\n ChildModel.properties # prop1 and prop2", "itemtype": "method", "name": "withParentProps", "access": "protected", "tagname": "", "static": 1, "return": { "description": "", "type": "Object" }, "class": "BaseModel", "module": "base-domain" }, { "file": "src/lib/base-model.coffee", "line": 97, "description": "get list of properties which contains entity", "itemtype": "method", "name": "getEntityProps", "access": "public", "tagname": "", "static": 1, "return": { "description": "", "type": "Array" }, "class": "BaseModel", "module": "base-domain" }, { "file": "src/lib/base-model.coffee", "line": 108, "description": "get list of properties which contains relational model", "itemtype": "method", "name": "getModelProps", "access": "public", "tagname": "", "static": 1, "params": [ { "name": "options", "description": "", "type": "Object", "optional": true, "props": [ { "name": "includeList", "description": "include props of BaseList", "type": "Boolean", "optional": true } ] } ], "return": { "description": "", "type": "Array" }, "class": "BaseModel", "module": "base-domain" }, { "file": "src/lib/base-model.coffee", "line": 126, "is_constructor": 1, "class": "BaseModel", "module": "base-domain" }, { "file": "src/lib/base-model.coffee", "line": 140, "description": "set value to prop", "return": { "description": "this", "type": "BaseModel" }, "class": "BaseModel", "module": "base-domain" }, { "file": "src/lib/base-model.coffee", "line": 159, "description": "set model prop", "return": { "description": "this", "type": "BaseModel" }, "class": "BaseModel", "module": "base-domain" }, { "file": "src/lib/base-model.coffee", "line": 167, "description": "set related model(s)", "itemtype": "method", "name": "setEntityProp", "params": [ { "name": "prop", "description": "property name of the related model", "type": "String" }, { "name": "submodel", "description": "", "type": "Entity|Array<Entity>" } ], "return": { "description": "this", "type": "BaseModel" }, "class": "BaseModel", "module": "base-domain" }, { "file": "src/lib/base-model.coffee", "line": 189, "description": "unset related model(s)", "params": [ { "name": "prop", "description": "property name of the related models", "type": "String" } ], "return": { "description": "this", "type": "BaseModel" }, "itemtype": "method", "name": "unsetEntityProp", "class": "BaseModel", "module": "base-domain" }, { "file": "src/lib/base-model.coffee", "line": 205, "description": "inherit value of anotherModel", "itemtype": "method", "name": "inherit", "params": [ { "name": "anotherModel", "description": "", "type": "BaseModel" } ], "return": { "description": "this", "type": "BaseModel" }, "class": "BaseModel", "module": "base-domain" }, { "file": "src/lib/base-model.coffee", "line": 220, "description": "create plain object without relational entities\ndescendants of Entity are removed, but not descendants of BaseModel\ndescendants of Entity in descendants of BaseModel are removed ( = recursive)", "itemtype": "method", "name": "toPlainObject", "return": { "description": "plainObject", "type": "Object" }, "class": "BaseModel", "module": "base-domain" }, { "file": "src/lib/base-model.coffee", "line": 258, "description": "include all relational models if not set", "itemtype": "method", "name": "include", "params": [ { "name": "options", "description": "", "type": "Object", "optional": true, "props": [ { "name": "recursive", "description": "recursively include models or not", "type": "Boolean", "optional": true } ] } ], "return": { "description": "self", "type": "Promise(BaseModel)" }, "class": "BaseModel", "module": "base-domain" }, { "file": "src/lib/base-repository.coffee", "line": 20, "description": "model name to handle", "itemtype": "property", "name": "modelName", "static": 1, "access": "protected", "tagname": "", "type": "String", "class": "BaseRepository", "module": "base-domain" }, { "file": "src/lib/base-repository.coffee", "line": 32, "description": "client accessing to data resource (RDB, NoSQL, memory, etc...)\n\nmock object is input by default.\nExtenders must set this property to achieve perpetuation", "itemtype": "property", "name": "client", "abstract": "", "access": "protected", "tagname": "", "type": "ResourceClientInterface", "class": "BaseRepository", "module": "base-domain" }, { "file": "src/lib/base-repository.coffee", "line": 46, "description": "constructor", "is_constructor": 1, "return": { "description": "" }, "class": "BaseRepository", "module": "base-domain" }, { "file": "src/lib/base-repository.coffee", "line": 60, "d