@allgemein/schema-api 1.5.30 → 1.5.32

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/browser.d.ts CHANGED
@@ -1,10 +1,10 @@
1
1
  export { IBaseRef } from './api/IBaseRef';
2
2
  export { IBuildOptions } from './api/IBuildOptions';
3
- export { IClassRef } from './api/IClassRef';
4
- export { IEntityRef } from './api/IEntityRef';
5
- export { ILookupRegistry } from './api/ILookupRegistry';
3
+ export { IClassRef, isClassRef } from './api/IClassRef';
4
+ export { IEntityRef, isEntityRef } from './api/IEntityRef';
5
+ export { ILookupRegistry, isLookupRegistry } from './api/ILookupRegistry';
6
6
  export { IPropertyExtentions } from './api/IPropertyExtentions';
7
- export { IPropertyRef } from './api/IPropertyRef';
7
+ export { IPropertyRef, isPropertyRef } from './api/IPropertyRef';
8
8
  export { ISchemaRef } from './api/ISchemaRef';
9
9
  export { IJsonSchema, supportsJsonSchemaExport, supportsJsonSchema, supportsJsonSchemaImport } from './api/IJsonSchema';
10
10
  export { Entity } from './decorators/Entity';
@@ -26,7 +26,7 @@ export { AbstractRef } from './lib/AbstractRef';
26
26
  export { AbstractRegistry } from './lib/registry/AbstractRegistry';
27
27
  export { AnnotationsHelper } from './lib/AnnotationsHelper';
28
28
  export { ClassRef } from './lib/ClassRef';
29
- export { METATYPE_SCHEMA, METATYPE_ENTITY, METATYPE_PROPERTY, METATYPE_CLASS_REF, METATYPE_NAMESPACE, METADATA_TYPE, DEFAULT_NAMESPACE, XS_ANNOTATION_OPTIONS_CACHE, MERGE_TYPE, IMinMax, ClassType, __CLASS__, __NS__, C_EVENT_ADD, C_EVENT_REMOVE, C_EVENT_UPDATE, C_PROP_NAME, CLASS_TYPE, GLOBAL_NAMESPACE, JS_DATA_TYPES, JS_PRIMATIVE_TYPES, METADATA_REGISTRY, METATYPE_EMBEDDABLE, OPT_CREAT_AND_COPY, REFLECT_DESIGN_TYPE, STATE_KEY, T_STRING, XS_DATA_TYPES, XS_DEFAULT_CLASSES, XS_DEFAULT_SCHEMA, METADATA_AND_BIND_TYPE, XS_ID_SEPARATOR, BINDING_SCHEMA_ENTITY, BINDING_SCHEMA_CLASS_REF } from './lib/Constants';
29
+ export * from './lib/Constants';
30
30
  export { DataContainer } from './lib/DataContainer';
31
31
  export { DRAFT_07 } from './lib/json-schema/Constants';
32
32
  export { IJsonSchemaSerializeOptions } from './lib/json-schema/IJsonSchemaSerializeOptions';
package/browser.js CHANGED
@@ -1,7 +1,25 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
+ };
2
12
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.XS_DEFAULT_CLASSES = exports.T_STRING = exports.STATE_KEY = exports.REFLECT_DESIGN_TYPE = exports.OPT_CREAT_AND_COPY = exports.METATYPE_EMBEDDABLE = exports.METADATA_REGISTRY = exports.JS_PRIMATIVE_TYPES = exports.JS_DATA_TYPES = exports.GLOBAL_NAMESPACE = exports.C_PROP_NAME = exports.C_EVENT_UPDATE = exports.C_EVENT_REMOVE = exports.C_EVENT_ADD = exports.__NS__ = exports.__CLASS__ = exports.XS_ANNOTATION_OPTIONS_CACHE = exports.DEFAULT_NAMESPACE = exports.METATYPE_NAMESPACE = exports.METATYPE_CLASS_REF = exports.METATYPE_PROPERTY = exports.METATYPE_ENTITY = exports.METATYPE_SCHEMA = exports.ClassRef = exports.AnnotationsHelper = exports.AbstractRegistry = exports.AbstractRef = exports.IsNotEmpty = exports.MaxLength = exports.MinLength = exports.Required = exports.Regex = exports.MAIL_REGEX = exports.IsEmail = exports.IP6_REGEX = exports.Ip6 = exports.IP4_REGEX = exports.Ip4 = exports.HOSTNAME_RFC952_REGEX = exports.HOSTNAME_RFC1034_REGEX = exports.Hostname = exports.Namespace = exports.Schema = exports.PropertyOf = exports.Embeddable = exports.Property = exports.Entity = exports.supportsJsonSchemaImport = exports.supportsJsonSchema = exports.supportsJsonSchemaExport = void 0;
4
- exports.getClassName = exports.Validator = exports.DefaultValidator = exports.SchemaUtils = exports.SchemaRef = exports.Binding = exports.RegistryFactory = exports.MetadataRegistry = exports.DefaultPropertyRef = exports.DefaultNamespacedRegistry = exports.DefaultEntityRef = exports.LookupRegistry = exports.JsonSchema7Unserializer = exports.JsonSchema7Serializer = exports.JSON_SCHEMA_7_TYPES = exports.hasClassPropertiesInDefinition = exports.hasClassInDefinition = exports.JsonSchema = exports.DRAFT_07 = exports.DataContainer = exports.BINDING_SCHEMA_CLASS_REF = exports.BINDING_SCHEMA_ENTITY = exports.XS_ID_SEPARATOR = exports.XS_DEFAULT_SCHEMA = void 0;
13
+ exports.Validator = exports.DefaultValidator = exports.SchemaUtils = exports.SchemaRef = exports.Binding = exports.RegistryFactory = exports.MetadataRegistry = exports.DefaultPropertyRef = exports.DefaultNamespacedRegistry = exports.DefaultEntityRef = exports.LookupRegistry = exports.JsonSchema7Unserializer = exports.JsonSchema7Serializer = exports.JSON_SCHEMA_7_TYPES = exports.hasClassPropertiesInDefinition = exports.hasClassInDefinition = exports.JsonSchema = exports.DRAFT_07 = exports.DataContainer = exports.ClassRef = exports.AnnotationsHelper = exports.AbstractRegistry = exports.AbstractRef = exports.IsNotEmpty = exports.MaxLength = exports.MinLength = exports.Required = exports.Regex = exports.MAIL_REGEX = exports.IsEmail = exports.IP6_REGEX = exports.Ip6 = exports.IP4_REGEX = exports.Ip4 = exports.HOSTNAME_RFC952_REGEX = exports.HOSTNAME_RFC1034_REGEX = exports.Hostname = exports.Namespace = exports.Schema = exports.PropertyOf = exports.Embeddable = exports.Property = exports.Entity = exports.supportsJsonSchemaImport = exports.supportsJsonSchema = exports.supportsJsonSchemaExport = exports.isPropertyRef = exports.isLookupRegistry = exports.isEntityRef = exports.isClassRef = void 0;
14
+ exports.getClassName = void 0;
15
+ var IClassRef_1 = require("./api/IClassRef");
16
+ Object.defineProperty(exports, "isClassRef", { enumerable: true, get: function () { return IClassRef_1.isClassRef; } });
17
+ var IEntityRef_1 = require("./api/IEntityRef");
18
+ Object.defineProperty(exports, "isEntityRef", { enumerable: true, get: function () { return IEntityRef_1.isEntityRef; } });
19
+ var ILookupRegistry_1 = require("./api/ILookupRegistry");
20
+ Object.defineProperty(exports, "isLookupRegistry", { enumerable: true, get: function () { return ILookupRegistry_1.isLookupRegistry; } });
21
+ var IPropertyRef_1 = require("./api/IPropertyRef");
22
+ Object.defineProperty(exports, "isPropertyRef", { enumerable: true, get: function () { return IPropertyRef_1.isPropertyRef; } });
5
23
  var IJsonSchema_1 = require("./api/IJsonSchema");
6
24
  Object.defineProperty(exports, "supportsJsonSchemaExport", { enumerable: true, get: function () { return IJsonSchema_1.supportsJsonSchemaExport; } });
7
25
  Object.defineProperty(exports, "supportsJsonSchema", { enumerable: true, get: function () { return IJsonSchema_1.supportsJsonSchema; } });
@@ -49,38 +67,11 @@ var AnnotationsHelper_1 = require("./lib/AnnotationsHelper");
49
67
  Object.defineProperty(exports, "AnnotationsHelper", { enumerable: true, get: function () { return AnnotationsHelper_1.AnnotationsHelper; } });
50
68
  var ClassRef_1 = require("./lib/ClassRef");
51
69
  Object.defineProperty(exports, "ClassRef", { enumerable: true, get: function () { return ClassRef_1.ClassRef; } });
52
- var Constants_1 = require("./lib/Constants");
53
- Object.defineProperty(exports, "METATYPE_SCHEMA", { enumerable: true, get: function () { return Constants_1.METATYPE_SCHEMA; } });
54
- Object.defineProperty(exports, "METATYPE_ENTITY", { enumerable: true, get: function () { return Constants_1.METATYPE_ENTITY; } });
55
- Object.defineProperty(exports, "METATYPE_PROPERTY", { enumerable: true, get: function () { return Constants_1.METATYPE_PROPERTY; } });
56
- Object.defineProperty(exports, "METATYPE_CLASS_REF", { enumerable: true, get: function () { return Constants_1.METATYPE_CLASS_REF; } });
57
- Object.defineProperty(exports, "METATYPE_NAMESPACE", { enumerable: true, get: function () { return Constants_1.METATYPE_NAMESPACE; } });
58
- Object.defineProperty(exports, "DEFAULT_NAMESPACE", { enumerable: true, get: function () { return Constants_1.DEFAULT_NAMESPACE; } });
59
- Object.defineProperty(exports, "XS_ANNOTATION_OPTIONS_CACHE", { enumerable: true, get: function () { return Constants_1.XS_ANNOTATION_OPTIONS_CACHE; } });
60
- Object.defineProperty(exports, "__CLASS__", { enumerable: true, get: function () { return Constants_1.__CLASS__; } });
61
- Object.defineProperty(exports, "__NS__", { enumerable: true, get: function () { return Constants_1.__NS__; } });
62
- Object.defineProperty(exports, "C_EVENT_ADD", { enumerable: true, get: function () { return Constants_1.C_EVENT_ADD; } });
63
- Object.defineProperty(exports, "C_EVENT_REMOVE", { enumerable: true, get: function () { return Constants_1.C_EVENT_REMOVE; } });
64
- Object.defineProperty(exports, "C_EVENT_UPDATE", { enumerable: true, get: function () { return Constants_1.C_EVENT_UPDATE; } });
65
- Object.defineProperty(exports, "C_PROP_NAME", { enumerable: true, get: function () { return Constants_1.C_PROP_NAME; } });
66
- Object.defineProperty(exports, "GLOBAL_NAMESPACE", { enumerable: true, get: function () { return Constants_1.GLOBAL_NAMESPACE; } });
67
- Object.defineProperty(exports, "JS_DATA_TYPES", { enumerable: true, get: function () { return Constants_1.JS_DATA_TYPES; } });
68
- Object.defineProperty(exports, "JS_PRIMATIVE_TYPES", { enumerable: true, get: function () { return Constants_1.JS_PRIMATIVE_TYPES; } });
69
- Object.defineProperty(exports, "METADATA_REGISTRY", { enumerable: true, get: function () { return Constants_1.METADATA_REGISTRY; } });
70
- Object.defineProperty(exports, "METATYPE_EMBEDDABLE", { enumerable: true, get: function () { return Constants_1.METATYPE_EMBEDDABLE; } });
71
- Object.defineProperty(exports, "OPT_CREAT_AND_COPY", { enumerable: true, get: function () { return Constants_1.OPT_CREAT_AND_COPY; } });
72
- Object.defineProperty(exports, "REFLECT_DESIGN_TYPE", { enumerable: true, get: function () { return Constants_1.REFLECT_DESIGN_TYPE; } });
73
- Object.defineProperty(exports, "STATE_KEY", { enumerable: true, get: function () { return Constants_1.STATE_KEY; } });
74
- Object.defineProperty(exports, "T_STRING", { enumerable: true, get: function () { return Constants_1.T_STRING; } });
75
- Object.defineProperty(exports, "XS_DEFAULT_CLASSES", { enumerable: true, get: function () { return Constants_1.XS_DEFAULT_CLASSES; } });
76
- Object.defineProperty(exports, "XS_DEFAULT_SCHEMA", { enumerable: true, get: function () { return Constants_1.XS_DEFAULT_SCHEMA; } });
77
- Object.defineProperty(exports, "XS_ID_SEPARATOR", { enumerable: true, get: function () { return Constants_1.XS_ID_SEPARATOR; } });
78
- Object.defineProperty(exports, "BINDING_SCHEMA_ENTITY", { enumerable: true, get: function () { return Constants_1.BINDING_SCHEMA_ENTITY; } });
79
- Object.defineProperty(exports, "BINDING_SCHEMA_CLASS_REF", { enumerable: true, get: function () { return Constants_1.BINDING_SCHEMA_CLASS_REF; } });
70
+ __exportStar(require("./lib/Constants"), exports);
80
71
  var DataContainer_1 = require("./lib/DataContainer");
81
72
  Object.defineProperty(exports, "DataContainer", { enumerable: true, get: function () { return DataContainer_1.DataContainer; } });
82
- var Constants_2 = require("./lib/json-schema/Constants");
83
- Object.defineProperty(exports, "DRAFT_07", { enumerable: true, get: function () { return Constants_2.DRAFT_07; } });
73
+ var Constants_1 = require("./lib/json-schema/Constants");
74
+ Object.defineProperty(exports, "DRAFT_07", { enumerable: true, get: function () { return Constants_1.DRAFT_07; } });
84
75
  var JsonSchema_1 = require("./lib/json-schema/JsonSchema");
85
76
  Object.defineProperty(exports, "JsonSchema", { enumerable: true, get: function () { return JsonSchema_1.JsonSchema; } });
86
77
  var JsonSchema7_1 = require("./lib/json-schema/JsonSchema7");
package/browser.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/browser.ts"],"names":[],"mappings":"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","file":"browser.js","sourcesContent":["// ---- Generated by gulp taskRef ----\nimport exp = require(\"constants\");\n\nexport {IBaseRef} from './api/IBaseRef';\nexport {IBuildOptions} from './api/IBuildOptions';\nexport {IClassRef} from './api/IClassRef';\nexport {IEntityRef} from './api/IEntityRef';\nexport {ILookupRegistry} from './api/ILookupRegistry';\nexport {IPropertyExtentions} from './api/IPropertyExtentions';\nexport {IPropertyRef} from './api/IPropertyRef';\nexport {ISchemaRef} from './api/ISchemaRef';\nexport {\n IJsonSchema,\n supportsJsonSchemaExport,\n supportsJsonSchema,\n supportsJsonSchemaImport\n} from './api/IJsonSchema';\n\nexport {Entity} from './decorators/Entity';\nexport {Property} from './decorators/Property';\nexport {Embeddable} from './decorators/Embeddable';\nexport {PropertyOf} from './decorators/PropertyOf';\nexport {Schema} from './decorators/Schema';\nexport {Namespace} from './decorators/Namespace';\n\nexport {\n Hostname,\n HOSTNAME_RFC1034_REGEX,\n IHostnameOptions,\n HOSTNAME_RFC952_REGEX\n} from './decorators/validate/Hostname';\n\nexport {Ip4, IP4_REGEX, IIp4Options} from './decorators/validate/Ip4';\nexport {Ip6, IP6_REGEX, IIp6Options} from './decorators/validate/Ip6';\nexport {IsEmail, MAIL_REGEX, IIsEmailOptions} from './decorators/validate/IsEmail';\nexport {Regex, IRegexOptions} from './decorators/validate/Regex';\nexport {Required, IRequiredOptions} from './decorators/validate/Required';\nexport {MinLength, IMinLengthOptions} from './decorators/validate/MinLength';\nexport {MaxLength, IMaxLengthOptions} from './decorators/validate/MaxLength';\nexport {IsNotEmpty, IIsNotEmptyOptions} from './decorators/validate/IsNotEmpty';\n\nexport {AbstractRef} from './lib/AbstractRef';\nexport {AbstractRegistry} from './lib/registry/AbstractRegistry';\n\nexport {AnnotationsHelper} from './lib/AnnotationsHelper';\nexport {ClassRef} from './lib/ClassRef';\nexport {\n METATYPE_SCHEMA,\n METATYPE_ENTITY,\n METATYPE_PROPERTY,\n METATYPE_CLASS_REF,\n METATYPE_NAMESPACE,\n METADATA_TYPE,\n DEFAULT_NAMESPACE,\n XS_ANNOTATION_OPTIONS_CACHE,\n MERGE_TYPE, IMinMax, ClassType,\n __CLASS__, __NS__,\n C_EVENT_ADD, C_EVENT_REMOVE, C_EVENT_UPDATE,\n C_PROP_NAME, CLASS_TYPE, GLOBAL_NAMESPACE, JS_DATA_TYPES, JS_PRIMATIVE_TYPES,\n METADATA_REGISTRY, METATYPE_EMBEDDABLE,\n OPT_CREAT_AND_COPY, REFLECT_DESIGN_TYPE, STATE_KEY,\n T_STRING, XS_DATA_TYPES,\n XS_DEFAULT_CLASSES,\n XS_DEFAULT_SCHEMA,\n METADATA_AND_BIND_TYPE,\n XS_ID_SEPARATOR, BINDING_SCHEMA_ENTITY, BINDING_SCHEMA_CLASS_REF\n} from './lib/Constants';\n\nexport {DataContainer} from './lib/DataContainer';\nexport {DRAFT_07} from './lib/json-schema/Constants';\nexport {IJsonSchemaSerializeOptions} from './lib/json-schema/IJsonSchemaSerializeOptions';\nexport {IJsonSchemaSerializer} from './lib/json-schema/IJsonSchemaSerializer';\nexport {IJsonSchemaUnserializeOptions} from './lib/json-schema/IJsonSchemaUnserializeOptions';\nexport {IJsonSchemaUnserializer} from './lib/json-schema/IJsonSchemaUnserializer';\nexport {IParseOptions} from './lib/json-schema/IParseOptions';\nexport {JsonSchema} from './lib/json-schema/JsonSchema';\n\nexport {\n IJsonSchema7,\n IJsonSchema7Definition,\n hasClassInDefinition,\n hasClassPropertiesInDefinition,\n IJsonSchema7TypeName,\n JSON_SCHEMA_7_TYPES\n} from './lib/json-schema/JsonSchema7';\n\nexport {JsonSchema7Serializer} from './lib/json-schema/JsonSchema7Serializer';\nexport {JsonSchema7Unserializer} from './lib/json-schema/JsonSchema7Unserializer';\nexport {LookupRegistry} from './lib/LookupRegistry';\n\nexport {INamedOptions} from './lib/options/INamedOptions';\nexport {IAbstractOptions} from './lib/options/IAbstractOptions';\nexport {IAttributeOptions} from './lib/options/IAttributeOptions';\nexport {IEntityOptions} from './lib/options/IEntityOptions';\nexport {IObjectOptions} from './lib/options/IObjectOptions';\nexport {IPropertyOptions} from './lib/options/IPropertyOptions';\nexport {ISchemaOptions} from './lib/options/ISchemaOptions';\n\nexport {DefaultEntityRef} from './lib/registry/DefaultEntityRef';\nexport {DefaultNamespacedRegistry} from './lib/registry/DefaultNamespacedRegistry';\nexport {DefaultPropertyRef} from './lib/registry/DefaultPropertyRef';\nexport {MetadataRegistry} from './lib/registry/MetadataRegistry';\nexport {RegistryFactory} from './lib/registry/RegistryFactory';\nexport {Binding} from './lib/registry/Binding';\nexport {SchemaRef} from './lib/SchemaRef';\nexport {SchemaUtils} from './lib/SchemaUtils';\nexport {DefaultValidator} from './lib/validation/DefaultValidator';\nexport {IValidateOptions} from './lib/validation/IValidateOptions';\nexport {IValidatorEntry} from './lib/validation/IValidatorEntry';\nexport {IValidationError} from './lib/validation/IValidationError';\nexport {IValidationMessage} from './lib/validation/IValidationMessage';\nexport {IValidationResult} from './lib/validation/IValidationResult';\nexport {IValidator} from './lib/validation/IValidator';\nexport {Validator, validate_function} from './lib/validation/Validator';\nexport {getClassName} from './lib/functions';\n"],"sourceRoot":"."}
1
+ {"version":3,"sources":["../../../src/browser.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAEA,6CAAsD;AAAnC,uGAAA,UAAU,OAAA;AAC7B,+CAAyD;AAArC,yGAAA,WAAW,OAAA;AAC/B,yDAAwE;AAA/C,mHAAA,gBAAgB,OAAA;AAEzC,mDAA+D;AAAzC,6GAAA,aAAa,OAAA;AAEnC,iDAK2B;AAHzB,uHAAA,wBAAwB,OAAA;AACxB,iHAAA,kBAAkB,OAAA;AAClB,uHAAA,wBAAwB,OAAA;AAG1B,8CAA2C;AAAnC,gGAAA,MAAM,OAAA;AACd,kDAA+C;AAAvC,oGAAA,QAAQ,OAAA;AAChB,sDAAmD;AAA3C,wGAAA,UAAU,OAAA;AAClB,sDAAmD;AAA3C,wGAAA,UAAU,OAAA;AAClB,8CAA2C;AAAnC,gGAAA,MAAM,OAAA;AACd,oDAAiD;AAAzC,sGAAA,SAAS,OAAA;AAEjB,2DAKwC;AAJtC,oGAAA,QAAQ,OAAA;AACR,kHAAA,sBAAsB,OAAA;AAEtB,iHAAA,qBAAqB,OAAA;AAGvB,iDAAsE;AAA9D,0FAAA,GAAG,OAAA;AAAE,gGAAA,SAAS,OAAA;AACtB,iDAAsE;AAA9D,0FAAA,GAAG,OAAA;AAAE,gGAAA,SAAS,OAAA;AACtB,yDAAmF;AAA3E,kGAAA,OAAO,OAAA;AAAE,qGAAA,UAAU,OAAA;AAC3B,qDAAiE;AAAzD,8FAAA,KAAK,OAAA;AACb,2DAA0E;AAAlE,oGAAA,QAAQ,OAAA;AAChB,6DAA6E;AAArE,sGAAA,SAAS,OAAA;AACjB,6DAA6E;AAArE,sGAAA,SAAS,OAAA;AACjB,+DAAgF;AAAxE,wGAAA,UAAU,OAAA;AAElB,iDAA8C;AAAtC,0GAAA,WAAW,OAAA;AACnB,oEAAiE;AAAzD,oHAAA,gBAAgB,OAAA;AAExB,6DAA0D;AAAlD,sHAAA,iBAAiB,OAAA;AACzB,2CAAwC;AAAhC,oGAAA,QAAQ,OAAA;AAChB,kDAAgC;AAEhC,qDAAkD;AAA1C,8GAAA,aAAa,OAAA;AACrB,yDAAqD;AAA7C,qGAAA,QAAQ,OAAA;AAMhB,2DAAwD;AAAhD,wGAAA,UAAU,OAAA;AAElB,6DAOuC;AAJrC,mHAAA,oBAAoB,OAAA;AACpB,6HAAA,8BAA8B,OAAA;AAE9B,kHAAA,mBAAmB,OAAA;AAGrB,iFAA8E;AAAtE,8HAAA,qBAAqB,OAAA;AAC7B,qFAAkF;AAA1E,kIAAA,uBAAuB,OAAA;AAC/B,uDAAoD;AAA5C,gHAAA,cAAc,OAAA;AAStB,oEAAiE;AAAzD,oHAAA,gBAAgB,OAAA;AACxB,sFAAmF;AAA3E,sIAAA,yBAAyB,OAAA;AACjC,wEAAqE;AAA7D,wHAAA,kBAAkB,OAAA;AAC1B,oEAAiE;AAAzD,oHAAA,gBAAgB,OAAA;AACxB,kEAA+D;AAAvD,kHAAA,eAAe,OAAA;AACvB,kDAA+C;AAAvC,kGAAA,OAAO,OAAA;AACf,6CAA0C;AAAlC,sGAAA,SAAS,OAAA;AACjB,iDAA8C;AAAtC,0GAAA,WAAW,OAAA;AACnB,sEAAmE;AAA3D,oHAAA,gBAAgB,OAAA;AAOxB,wDAAwE;AAAhE,sGAAA,SAAS,OAAA;AACjB,6CAA6C;AAArC,yGAAA,YAAY,OAAA","file":"browser.js","sourcesContent":["export {IBaseRef} from './api/IBaseRef';\nexport {IBuildOptions} from './api/IBuildOptions';\nexport {IClassRef, isClassRef} from './api/IClassRef';\nexport {IEntityRef, isEntityRef} from './api/IEntityRef';\nexport {ILookupRegistry, isLookupRegistry} from './api/ILookupRegistry';\nexport {IPropertyExtentions} from './api/IPropertyExtentions';\nexport {IPropertyRef, isPropertyRef} from './api/IPropertyRef';\nexport {ISchemaRef} from './api/ISchemaRef';\nexport {\n IJsonSchema,\n supportsJsonSchemaExport,\n supportsJsonSchema,\n supportsJsonSchemaImport\n} from './api/IJsonSchema';\n\nexport {Entity} from './decorators/Entity';\nexport {Property} from './decorators/Property';\nexport {Embeddable} from './decorators/Embeddable';\nexport {PropertyOf} from './decorators/PropertyOf';\nexport {Schema} from './decorators/Schema';\nexport {Namespace} from './decorators/Namespace';\n\nexport {\n Hostname,\n HOSTNAME_RFC1034_REGEX,\n IHostnameOptions,\n HOSTNAME_RFC952_REGEX\n} from './decorators/validate/Hostname';\n\nexport {Ip4, IP4_REGEX, IIp4Options} from './decorators/validate/Ip4';\nexport {Ip6, IP6_REGEX, IIp6Options} from './decorators/validate/Ip6';\nexport {IsEmail, MAIL_REGEX, IIsEmailOptions} from './decorators/validate/IsEmail';\nexport {Regex, IRegexOptions} from './decorators/validate/Regex';\nexport {Required, IRequiredOptions} from './decorators/validate/Required';\nexport {MinLength, IMinLengthOptions} from './decorators/validate/MinLength';\nexport {MaxLength, IMaxLengthOptions} from './decorators/validate/MaxLength';\nexport {IsNotEmpty, IIsNotEmptyOptions} from './decorators/validate/IsNotEmpty';\n\nexport {AbstractRef} from './lib/AbstractRef';\nexport {AbstractRegistry} from './lib/registry/AbstractRegistry';\n\nexport {AnnotationsHelper} from './lib/AnnotationsHelper';\nexport {ClassRef} from './lib/ClassRef';\nexport * from './lib/Constants';\n\nexport {DataContainer} from './lib/DataContainer';\nexport {DRAFT_07} from './lib/json-schema/Constants';\nexport {IJsonSchemaSerializeOptions} from './lib/json-schema/IJsonSchemaSerializeOptions';\nexport {IJsonSchemaSerializer} from './lib/json-schema/IJsonSchemaSerializer';\nexport {IJsonSchemaUnserializeOptions} from './lib/json-schema/IJsonSchemaUnserializeOptions';\nexport {IJsonSchemaUnserializer} from './lib/json-schema/IJsonSchemaUnserializer';\nexport {IParseOptions} from './lib/json-schema/IParseOptions';\nexport {JsonSchema} from './lib/json-schema/JsonSchema';\n\nexport {\n IJsonSchema7,\n IJsonSchema7Definition,\n hasClassInDefinition,\n hasClassPropertiesInDefinition,\n IJsonSchema7TypeName,\n JSON_SCHEMA_7_TYPES\n} from './lib/json-schema/JsonSchema7';\n\nexport {JsonSchema7Serializer} from './lib/json-schema/JsonSchema7Serializer';\nexport {JsonSchema7Unserializer} from './lib/json-schema/JsonSchema7Unserializer';\nexport {LookupRegistry} from './lib/LookupRegistry';\nexport {INamedOptions} from './lib/options/INamedOptions';\nexport {IAbstractOptions} from './lib/options/IAbstractOptions';\nexport {IAttributeOptions} from './lib/options/IAttributeOptions';\nexport {IEntityOptions} from './lib/options/IEntityOptions';\nexport {IObjectOptions} from './lib/options/IObjectOptions';\nexport {IPropertyOptions} from './lib/options/IPropertyOptions';\nexport {ISchemaOptions} from './lib/options/ISchemaOptions';\n\nexport {DefaultEntityRef} from './lib/registry/DefaultEntityRef';\nexport {DefaultNamespacedRegistry} from './lib/registry/DefaultNamespacedRegistry';\nexport {DefaultPropertyRef} from './lib/registry/DefaultPropertyRef';\nexport {MetadataRegistry} from './lib/registry/MetadataRegistry';\nexport {RegistryFactory} from './lib/registry/RegistryFactory';\nexport {Binding} from './lib/registry/Binding';\nexport {SchemaRef} from './lib/SchemaRef';\nexport {SchemaUtils} from './lib/SchemaUtils';\nexport {DefaultValidator} from './lib/validation/DefaultValidator';\nexport {IValidateOptions} from './lib/validation/IValidateOptions';\nexport {IValidatorEntry} from './lib/validation/IValidatorEntry';\nexport {IValidationError} from './lib/validation/IValidationError';\nexport {IValidationMessage} from './lib/validation/IValidationMessage';\nexport {IValidationResult} from './lib/validation/IValidationResult';\nexport {IValidator} from './lib/validation/IValidator';\nexport {Validator, validate_function} from './lib/validation/Validator';\nexport {getClassName} from './lib/functions';\n"],"sourceRoot":"."}
@@ -105,7 +105,7 @@ class DataContainer {
105
105
  (0, lodash_1.keys)(this.validation).forEach(key => {
106
106
  if (this.validation[key]) {
107
107
  const valid = this.validation[key];
108
- const found = (0, lodash_1.find)(this.errors, { property: key });
108
+ const found = this.errors.find(x => x.property === key);
109
109
  valid.messages = [];
110
110
  if (found) {
111
111
  valid.valid = false;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/lib/DataContainer.ts"],"names":[],"mappings":"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","file":"DataContainer.js","sourcesContent":["import {find, get, has, isBoolean, isEmpty, isFunction, keys, remove, set} from 'lodash';\n\n\nimport {STATE_KEY} from './Constants';\nimport {IValidationError} from './validation/IValidationError';\nimport {IValidationResult} from './validation/IValidationResult';\nimport {ILookupRegistry} from '../api/ILookupRegistry';\nimport {IEntityRef} from '../api/IEntityRef';\nimport {IClassRef} from '../api/IClassRef';\nimport {IValidationMessage} from './validation/IValidationMessage';\nimport {Validator} from './validation/Validator';\nimport {ClassRef} from './ClassRef';\nimport {ClassUtils} from '@allgemein/base';\n\n/**\n * Container for validation of object\n */\nexport class DataContainer<T> {\n\n static keys: string[] = [\n 'isValidated',\n 'isSuccess',\n 'isSuccessValidated',\n 'errors'\n ];\n\n isValidated: boolean;\n\n isSuccess: boolean;\n\n isSuccessValidated: boolean;\n\n errors: IValidationError[] = [];\n\n validation: { [k: string]: IValidationResult } = {};\n\n instance: T;\n\n ref: IEntityRef | IClassRef;\n\n\n constructor(instance: T, registry?: ILookupRegistry | IEntityRef | IClassRef) {\n this.instance = instance;\n if (registry) {\n this.ref = isFunction((<ILookupRegistry>registry).getEntityRefFor) ?\n (<ILookupRegistry>registry).getEntityRefFor(instance as any) : registry as IEntityRef;\n } else {\n const clazz = ClassUtils.getFunction(instance as any);\n this.ref = ClassRef.get(clazz) as IClassRef;\n }\n if (!this.ref) {\n throw new Error('none definition found for instance ' + JSON.stringify(instance));\n }\n\n const properties = this.ref.getPropertyRefs();\n for (const property of properties) {\n this.validation[property.name] = {\n key: property.name,\n valid: false,\n checked: false,\n messages: []\n };\n }\n ;\n }\n\n\n addError(e: IValidationError) {\n if (!has(e, 'type')) {\n e.type = 'error';\n }\n this.errors.push(e);\n }\n\n\n hasErrors() {\n return this.errors.length > 0;\n }\n\n\n checked(str: string) {\n if (this.validation[str]) {\n return this.validation[str].checked;\n }\n return false;\n }\n\n\n value(str: string) {\n const wrap = {};\n Object.defineProperty(wrap, str, {\n get: () => {\n return this.instance[str];\n },\n set: (y: any) => {\n this.instance[str] = y;\n }\n });\n return wrap[str];\n }\n\n\n valid(str: string) {\n if (this.validation[str]) {\n return this.validation[str].valid;\n }\n return false;\n }\n\n\n messages(str: string): IValidationMessage[] {\n if (this.validation[str] && this.validation[str].messages) {\n return this.validation[str].messages;\n }\n return [];\n\n }\n\n\n async validate(): Promise<boolean> {\n this.isValidated = true;\n remove(this.errors, error => error.type === 'validate');\n let results: IValidationError[] = [];\n try {\n results = <IValidationError[]>await Validator.validate(this.instance as any, this.ref);\n } catch (e) {\n console.error(e);\n }\n\n results.map(r => this.errors.push({\n property: r.property,\n value: r.value,\n constraints: r.constraints,\n type: 'validate'\n }));\n this.isSuccessValidated = true;\n keys(this.validation).forEach(key => {\n if (this.validation[key]) {\n const valid = this.validation[key];\n const found = find(this.errors, {property: key});\n valid.messages = [];\n if (found) {\n valid.valid = false;\n Object.keys(found.constraints).forEach(c => {\n valid.messages.push({type: c, content: found.constraints[c]});\n });\n } else {\n valid.valid = true;\n }\n this.isSuccessValidated = this.isSuccessValidated && valid.valid;\n valid.checked = true;\n }\n });\n\n return this.isSuccessValidated;\n }\n\n\n applyState() {\n const $state: any = {};\n DataContainer.keys.forEach(k => {\n const value = get(this, k, null);\n\n if (isBoolean(value) || !isEmpty(value)) {\n set($state, k, value);\n }\n });\n\n set(<any>this.instance, STATE_KEY, $state);\n }\n\n\n resetErrors() {\n this.errors = [];\n }\n}\n"],"sourceRoot":".."}
1
+ {"version":3,"sources":["../../../src/lib/DataContainer.ts"],"names":[],"mappings":"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","file":"DataContainer.js","sourcesContent":["import {get, has, isBoolean, isEmpty, isFunction, keys, remove, set} from 'lodash';\n\n\nimport {STATE_KEY} from './Constants';\nimport {IValidationError} from './validation/IValidationError';\nimport {IValidationResult} from './validation/IValidationResult';\nimport {ILookupRegistry} from '../api/ILookupRegistry';\nimport {IEntityRef} from '../api/IEntityRef';\nimport {IClassRef} from '../api/IClassRef';\nimport {IValidationMessage} from './validation/IValidationMessage';\nimport {Validator} from './validation/Validator';\nimport {ClassRef} from './ClassRef';\nimport {ClassUtils} from '@allgemein/base';\n\n/**\n * Container for validation of object\n */\nexport class DataContainer<T> {\n\n static keys: string[] = [\n 'isValidated',\n 'isSuccess',\n 'isSuccessValidated',\n 'errors'\n ];\n\n isValidated: boolean;\n\n isSuccess: boolean;\n\n isSuccessValidated: boolean;\n\n errors: IValidationError[] = [];\n\n validation: { [k: string]: IValidationResult } = {};\n\n instance: T;\n\n ref: IEntityRef | IClassRef;\n\n\n constructor(instance: T, registry?: ILookupRegistry | IEntityRef | IClassRef) {\n this.instance = instance;\n if (registry) {\n this.ref = isFunction((<ILookupRegistry>registry).getEntityRefFor) ?\n (<ILookupRegistry>registry).getEntityRefFor(instance as any) : registry as IEntityRef;\n } else {\n const clazz = ClassUtils.getFunction(instance as any);\n this.ref = ClassRef.get(clazz) as IClassRef;\n }\n if (!this.ref) {\n throw new Error('none definition found for instance ' + JSON.stringify(instance));\n }\n\n const properties = this.ref.getPropertyRefs();\n for (const property of properties) {\n this.validation[property.name] = {\n key: property.name,\n valid: false,\n checked: false,\n messages: []\n };\n }\n ;\n }\n\n\n addError(e: IValidationError) {\n if (!has(e, 'type')) {\n e.type = 'error';\n }\n this.errors.push(e);\n }\n\n\n hasErrors() {\n return this.errors.length > 0;\n }\n\n\n checked(str: string) {\n if (this.validation[str]) {\n return this.validation[str].checked;\n }\n return false;\n }\n\n\n value(str: string) {\n const wrap = {};\n Object.defineProperty(wrap, str, {\n get: () => {\n return this.instance[str];\n },\n set: (y: any) => {\n this.instance[str] = y;\n }\n });\n return wrap[str];\n }\n\n\n valid(str: string) {\n if (this.validation[str]) {\n return this.validation[str].valid;\n }\n return false;\n }\n\n\n messages(str: string): IValidationMessage[] {\n if (this.validation[str] && this.validation[str].messages) {\n return this.validation[str].messages;\n }\n return [];\n\n }\n\n\n async validate(): Promise<boolean> {\n this.isValidated = true;\n remove(this.errors, error => error.type === 'validate');\n let results: IValidationError[] = [];\n try {\n results = <IValidationError[]>await Validator.validate(this.instance as any, this.ref);\n } catch (e) {\n console.error(e);\n }\n\n results.map(r => this.errors.push({\n property: r.property,\n value: r.value,\n constraints: r.constraints,\n type: 'validate'\n }));\n this.isSuccessValidated = true;\n keys(this.validation).forEach(key => {\n if (this.validation[key]) {\n const valid = this.validation[key];\n const found = this.errors.find(x => x.property === key);\n valid.messages = [];\n if (found) {\n valid.valid = false;\n Object.keys(found.constraints).forEach(c => {\n valid.messages.push({type: c, content: found.constraints[c]});\n });\n } else {\n valid.valid = true;\n }\n this.isSuccessValidated = this.isSuccessValidated && valid.valid;\n valid.checked = true;\n }\n });\n\n return this.isSuccessValidated;\n }\n\n\n applyState() {\n const $state: any = {};\n DataContainer.keys.forEach(k => {\n const value = get(this, k, null);\n\n if (isBoolean(value) || !isEmpty(value)) {\n set($state, k, value);\n }\n });\n\n set(<any>this.instance, STATE_KEY, $state);\n }\n\n\n resetErrors() {\n this.errors = [];\n }\n}\n"],"sourceRoot":".."}
@@ -9,8 +9,8 @@ export declare class LookupRegistry {
9
9
  list(context: string): any[];
10
10
  add<T>(context: string, entry: T): T;
11
11
  remove<T>(context: string, search: any): T[];
12
- filter<T>(context: string, search: any): T[];
13
- find<T>(context: string, search: any): T;
12
+ filter<T>(context: string, search: (x: any) => boolean): T[];
13
+ find<T>(context: string, search: (x: any) => boolean): T;
14
14
  /**
15
15
  * return lookup registry namespaces
16
16
  */
@@ -46,25 +46,28 @@ class LookupRegistry {
46
46
  if (!(0, lodash_1.has)(this._entries, context)) {
47
47
  this._entries[context] = [];
48
48
  }
49
- return (0, lodash_1.filter)(this._entries[context], search);
49
+ if (search) {
50
+ return this._entries[context].filter(search);
51
+ }
52
+ return this._entries[context];
50
53
  }
51
54
  find(context, search) {
52
55
  if (!(0, lodash_1.has)(this._entries, context)) {
53
56
  this._entries[context] = [];
54
57
  }
55
- return (0, lodash_1.find)(this._entries[context], search);
58
+ return this._entries[context].find(search);
56
59
  }
57
60
  /**
58
61
  * return lookup registry namespaces
59
62
  */
60
63
  static getRegistryNamespaces() {
61
- return (0, lodash_1.keys)(this.$self);
64
+ return Object.keys(this.$self);
62
65
  }
63
66
  /**
64
67
  * return lookup registries
65
68
  */
66
69
  static getLookupRegistries() {
67
- return (0, lodash_1.keys)(this.$self).map(x => this.$self[x]);
70
+ return Object.keys(this.$self).map(x => this.$self[x]);
68
71
  }
69
72
  /**
70
73
  * search in all registries
@@ -73,7 +76,7 @@ class LookupRegistry {
73
76
  * @param search
74
77
  */
75
78
  static find(context, search) {
76
- const registryNames = (0, lodash_1.keys)(this.$self);
79
+ const registryNames = this.getRegistryNamespaces();
77
80
  for (const registryName of registryNames) {
78
81
  const found = this.$self[registryName].find(context, search);
79
82
  if (found) {
@@ -90,7 +93,7 @@ class LookupRegistry {
90
93
  */
91
94
  static filter(context, search) {
92
95
  const results = [];
93
- const namespaces = (0, lodash_1.keys)(this.$self);
96
+ const namespaces = Object.keys(this.$self);
94
97
  for (const namespace of namespaces) {
95
98
  const found = this.$self[namespace].filter(context, search);
96
99
  if (!(0, lodash_1.isEmpty)(found)) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/lib/LookupRegistry.ts"],"names":[],"mappings":"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","file":"LookupRegistry.js","sourcesContent":["import {filter, find, has, isEmpty, keys, remove} from 'lodash';\n\nimport {DEFAULT_NAMESPACE} from './Constants';\n\nexport class LookupRegistry {\n\n private static $self: { [namespace: string]: LookupRegistry } = {};\n\n private namespace: string = DEFAULT_NAMESPACE;\n\n private _entries: { [context: string]: any[] } = {};\n\n constructor(namespace: string) {\n this.namespace = namespace;\n }\n\n getNamespace(): string {\n return this.namespace;\n }\n\n static reset(namespace: string = DEFAULT_NAMESPACE): void {\n if (this.$self[namespace]) {\n delete this.$self[namespace];\n }\n }\n\n static $(namespace: string = DEFAULT_NAMESPACE): LookupRegistry {\n if (!this.$self[namespace]) {\n this.$self[namespace] = new LookupRegistry(namespace);\n }\n return this.$self[namespace];\n }\n\n list(context: string) {\n if (!has(this._entries, context)) {\n this._entries[context] = [];\n }\n return this._entries[context];\n }\n\n add<T>(context: string, entry: T): T {\n if (!has(this._entries, context)) {\n this._entries[context] = [];\n }\n this._entries[context].push(entry);\n return entry;\n }\n\n remove<T>(context: string, search: any): T[] {\n if (!has(this._entries, context)) {\n this._entries[context] = [];\n }\n return remove<T>(this._entries[context], search);\n }\n\n filter<T>(context: string, search: any): T[] {\n if (!has(this._entries, context)) {\n this._entries[context] = [];\n }\n return filter(this._entries[context], search);\n }\n\n find<T>(context: string, search: any): T {\n if (!has(this._entries, context)) {\n this._entries[context] = [];\n }\n return find(this._entries[context], search);\n }\n\n\n /**\n * return lookup registry namespaces\n */\n static getRegistryNamespaces() {\n return keys(this.$self);\n }\n\n /**\n * return lookup registries\n */\n static getLookupRegistries() {\n return keys(this.$self).map(x => this.$self[x]);\n }\n\n /**\n * search in all registries\n *\n * @param context\n * @param search\n */\n static find<T>(context: string, search: any): T {\n const registryNames = keys(this.$self);\n for (const registryName of registryNames) {\n const found = <T>this.$self[registryName].find(context, search);\n if (found) {\n return found;\n }\n }\n return null;\n }\n\n /**\n * filter over all registries\n *\n * @param context\n * @param search\n */\n static filter<T>(context: string, search: any): T[] {\n const results: T[] = [];\n const namespaces = keys(this.$self);\n for (const namespace of namespaces) {\n const found = <T[]>this.$self[namespace].filter(context, search);\n if (!isEmpty(found)) {\n results.push(...found);\n }\n }\n return results;\n }\n\n\n}\n\n\n"],"sourceRoot":".."}
1
+ {"version":3,"sources":["../../../src/lib/LookupRegistry.ts"],"names":[],"mappings":"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","file":"LookupRegistry.js","sourcesContent":["import {has, isEmpty, remove} from 'lodash';\n\nimport {DEFAULT_NAMESPACE} from './Constants';\n\nexport class LookupRegistry {\n\n private static $self: { [namespace: string]: LookupRegistry } = {};\n\n private namespace: string = DEFAULT_NAMESPACE;\n\n private _entries: { [context: string]: any[] } = {};\n\n constructor(namespace: string) {\n this.namespace = namespace;\n }\n\n getNamespace(): string {\n return this.namespace;\n }\n\n static reset(namespace: string = DEFAULT_NAMESPACE): void {\n if (this.$self[namespace]) {\n delete this.$self[namespace];\n }\n }\n\n static $(namespace: string = DEFAULT_NAMESPACE): LookupRegistry {\n if (!this.$self[namespace]) {\n this.$self[namespace] = new LookupRegistry(namespace);\n }\n return this.$self[namespace];\n }\n\n list(context: string) {\n if (!has(this._entries, context)) {\n this._entries[context] = [];\n }\n return this._entries[context];\n }\n\n add<T>(context: string, entry: T): T {\n if (!has(this._entries, context)) {\n this._entries[context] = [];\n }\n this._entries[context].push(entry);\n return entry;\n }\n\n remove<T>(context: string, search: any): T[] {\n if (!has(this._entries, context)) {\n this._entries[context] = [];\n }\n return remove<T>(this._entries[context], search);\n }\n\n filter<T>(context: string, search: (x: any) => boolean): T[] {\n if (!has(this._entries, context)) {\n this._entries[context] = [];\n }\n if(search){\n return this._entries[context].filter(search);\n }\n return this._entries[context];\n\n }\n\n find<T>(context: string, search: (x: any) => boolean): T {\n if (!has(this._entries, context)) {\n this._entries[context] = [];\n }\n return this._entries[context].find(search);\n }\n\n\n /**\n * return lookup registry namespaces\n */\n static getRegistryNamespaces() {\n return Object.keys(this.$self);\n }\n\n /**\n * return lookup registries\n */\n static getLookupRegistries() {\n return Object.keys(this.$self).map(x => this.$self[x]);\n }\n\n /**\n * search in all registries\n *\n * @param context\n * @param search\n */\n static find<T>(context: string, search: any): T {\n const registryNames = this.getRegistryNamespaces();\n for (const registryName of registryNames) {\n const found = <T>this.$self[registryName].find(context, search);\n if (found) {\n return found;\n }\n }\n return null;\n }\n\n /**\n * filter over all registries\n *\n * @param context\n * @param search\n */\n static filter<T>(context: string, search: any): T[] {\n const results: T[] = [];\n const namespaces = Object.keys(this.$self);\n for (const namespace of namespaces) {\n const found = <T[]>this.$self[namespace].filter(context, search);\n if (!isEmpty(found)) {\n results.push(...found);\n }\n }\n return results;\n }\n\n\n}\n\n\n"],"sourceRoot":".."}
@@ -79,7 +79,7 @@ export declare abstract class AbstractRegistry implements ILookupRegistry {
79
79
  /**
80
80
  * TODO
81
81
  */
82
- filter<T>(context: string, search: any, ns?: string): T[];
82
+ filter<T>(context: string, search: (x: any) => boolean, ns?: string): T[];
83
83
  /**
84
84
  * TODO
85
85
  */
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/lib/registry/AbstractRegistry.ts"],"names":[],"mappings":"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","file":"AbstractRegistry.js","sourcesContent":["import {snakeCase} from 'lodash';\nimport {METADATA_TYPE, METATYPE_ENTITY, METATYPE_PROPERTY} from './../Constants';\nimport {ILookupRegistry} from '../../api/ILookupRegistry';\nimport {IEntityRef} from '../../api/IEntityRef';\nimport {IClassRef} from '../../api/IClassRef';\nimport {IPropertyRef} from '../../api/IPropertyRef';\nimport {LookupRegistry} from '../LookupRegistry';\nimport {LockFactory, NotSupportedError, Semaphore} from '@allgemein/base';\nimport {ISchemaRef} from '../../api/ISchemaRef';\nimport {IRegistryOptions} from './IRegistryOptions';\n\n\n/**\n * Registry for metadata of classes and there properties\n */\nexport abstract class AbstractRegistry implements ILookupRegistry {\n\n protected readonly namespace: string;\n\n private _lock: Semaphore;\n\n readonly options: IRegistryOptions;\n\n\n constructor(namespace: string, options?: IRegistryOptions) {\n this.namespace = namespace;\n this.options = options || {};\n }\n\n\n get lock() {\n if (!this._lock) {\n this._lock = LockFactory.$().semaphore(1);\n }\n return this._lock;\n }\n\n\n ready(timeout?: number): Promise<boolean> {\n return this.lock.await(timeout).then(x => true).catch(x => false);\n }\n\n\n getOptions(): IRegistryOptions {\n return this.options;\n }\n\n\n /**\n * Return all registered schema references\n *\n * @param ref\n * @return ISchemaRef[]\n */\n getSchemaRefs<T extends ISchemaRef>(filter?: (x: ISchemaRef) => boolean): (T | ISchemaRef)[] {\n throw new NotSupportedError('');\n }\n\n /**\n * Return schema references for an given entity or class reference\n *\n * @param ref\n * @return ISchemaRef[]\n */\n getSchemaRefsFor<T extends ISchemaRef>(ref: string): T | ISchemaRef;\n getSchemaRefsFor<T extends ISchemaRef>(ref: string | IEntityRef | IClassRef): T | ISchemaRef | (T | ISchemaRef)[] {\n throw new NotSupportedError('');\n }\n\n /**\n * TODO\n *\n * @param filter\n */\n getEntityRefs<T extends IEntityRef>(filter?: (x: IEntityRef) => boolean): (T | IEntityRef)[] {\n return this.filter(METATYPE_ENTITY, filter);\n }\n\n /**\n * Can get get entity ref for function.\n *\n * @param fn\n */\n getEntityRefFor<T extends IEntityRef>(fn: string | object | Function, skipNsCheck: boolean = true): (T | IEntityRef) {\n throw new NotSupportedError('');\n }\n\n\n /**\n * Returns the used instance of lookup registry handler\n */\n getLookupRegistry(namespace: string = null): LookupRegistry {\n return LookupRegistry.$(namespace ? namespace : this.namespace);\n }\n\n /**\n * Method for returning class ref\n *\n * @param object\n * @param type\n */\n getClassRefFor(object: string | Function | IClassRef, type: METADATA_TYPE): IClassRef {\n throw new NotSupportedError('');\n }\n\n /**\n * Returns property by name for a given class or entity ref\n *\n * @param filter\n */\n getPropertyRef<T extends IPropertyRef>(ref: IClassRef | IEntityRef, name: string): (T | IPropertyRef) {\n return this.getPropertyRefs<T>(ref).find(x => snakeCase(x.name) === snakeCase(name));\n }\n\n\n /**\n * Returns all properties for given class or entity ref\n *\n * @param ref\n */\n getPropertyRefs<T extends IPropertyRef>(ref: IClassRef | IEntityRef): (T | IPropertyRef)[] {\n throw new NotSupportedError('');\n }\n\n\n getPropertyRefsFor<T extends IPropertyRef>(fn: string | object | Function): (T | IPropertyRef)[] {\n throw new NotSupportedError('');\n }\n\n\n list<X>(type: METADATA_TYPE, filter?: (x: any) => boolean): X[] {\n return this.filter(type, filter);\n }\n\n\n listEntities(filter?: (x: IEntityRef) => boolean): IEntityRef[] {\n return this.getEntityRefs(filter);\n }\n\n\n listProperties(filter?: (x: IPropertyRef) => boolean): IPropertyRef[] {\n return this.filter(METATYPE_PROPERTY, filter);\n }\n\n\n create<T>(context: string, options: any): T {\n throw new NotSupportedError('');\n }\n\n /**\n * TODO\n */\n add<T>(context: string, entry: T, ns?: string): T {\n return this.getLookupRegistry(ns).add(context, entry);\n }\n\n\n /**\n * TODO\n */\n filter<T>(context: string, search: any, ns?: string): T[] {\n return this.getLookupRegistry(ns).filter(context, search);\n }\n\n /**\n * TODO\n */\n find<T>(context: string, search: any, ns?: string): T {\n return this.getLookupRegistry(ns).find(context, search);\n }\n\n /**\n * TODO\n */\n remove<T>(context: string, search: any, ns?: string): T[] {\n return this.getLookupRegistry(ns).remove(context, search);\n }\n\n /**\n * reset current registry\n */\n reset() {\n this.clear();\n }\n\n /**\n * Remove namespace from LookupRegistry and also remove semaphore lock if exists\n */\n clear() {\n if (this._lock) {\n LockFactory.$().remove(this._lock);\n }\n LookupRegistry.reset(this.namespace);\n }\n\n}\n"],"sourceRoot":"../.."}
1
+ {"version":3,"sources":["../../../src/lib/registry/AbstractRegistry.ts"],"names":[],"mappings":"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","file":"AbstractRegistry.js","sourcesContent":["import {snakeCase} from 'lodash';\nimport {METADATA_TYPE, METATYPE_ENTITY, METATYPE_PROPERTY} from './../Constants';\nimport {ILookupRegistry} from '../../api/ILookupRegistry';\nimport {IEntityRef} from '../../api/IEntityRef';\nimport {IClassRef} from '../../api/IClassRef';\nimport {IPropertyRef} from '../../api/IPropertyRef';\nimport {LookupRegistry} from '../LookupRegistry';\nimport {LockFactory, NotSupportedError, Semaphore} from '@allgemein/base';\nimport {ISchemaRef} from '../../api/ISchemaRef';\nimport {IRegistryOptions} from './IRegistryOptions';\n\n\n/**\n * Registry for metadata of classes and there properties\n */\nexport abstract class AbstractRegistry implements ILookupRegistry {\n\n protected readonly namespace: string;\n\n private _lock: Semaphore;\n\n readonly options: IRegistryOptions;\n\n\n constructor(namespace: string, options?: IRegistryOptions) {\n this.namespace = namespace;\n this.options = options || {};\n }\n\n\n get lock() {\n if (!this._lock) {\n this._lock = LockFactory.$().semaphore(1);\n }\n return this._lock;\n }\n\n\n ready(timeout?: number): Promise<boolean> {\n return this.lock.await(timeout).then(x => true).catch(x => false);\n }\n\n\n getOptions(): IRegistryOptions {\n return this.options;\n }\n\n\n /**\n * Return all registered schema references\n *\n * @param ref\n * @return ISchemaRef[]\n */\n getSchemaRefs<T extends ISchemaRef>(filter?: (x: ISchemaRef) => boolean): (T | ISchemaRef)[] {\n throw new NotSupportedError('');\n }\n\n /**\n * Return schema references for an given entity or class reference\n *\n * @param ref\n * @return ISchemaRef[]\n */\n getSchemaRefsFor<T extends ISchemaRef>(ref: string): T | ISchemaRef;\n getSchemaRefsFor<T extends ISchemaRef>(ref: string | IEntityRef | IClassRef): T | ISchemaRef | (T | ISchemaRef)[] {\n throw new NotSupportedError('');\n }\n\n /**\n * TODO\n *\n * @param filter\n */\n getEntityRefs<T extends IEntityRef>(filter?: (x: IEntityRef) => boolean): (T | IEntityRef)[] {\n return this.filter(METATYPE_ENTITY, filter);\n }\n\n /**\n * Can get get entity ref for function.\n *\n * @param fn\n */\n getEntityRefFor<T extends IEntityRef>(fn: string | object | Function, skipNsCheck: boolean = true): (T | IEntityRef) {\n throw new NotSupportedError('');\n }\n\n\n /**\n * Returns the used instance of lookup registry handler\n */\n getLookupRegistry(namespace: string = null): LookupRegistry {\n return LookupRegistry.$(namespace ? namespace : this.namespace);\n }\n\n /**\n * Method for returning class ref\n *\n * @param object\n * @param type\n */\n getClassRefFor(object: string | Function | IClassRef, type: METADATA_TYPE): IClassRef {\n throw new NotSupportedError('');\n }\n\n /**\n * Returns property by name for a given class or entity ref\n *\n * @param filter\n */\n getPropertyRef<T extends IPropertyRef>(ref: IClassRef | IEntityRef, name: string): (T | IPropertyRef) {\n return this.getPropertyRefs<T>(ref).find(x => snakeCase(x.name) === snakeCase(name));\n }\n\n\n /**\n * Returns all properties for given class or entity ref\n *\n * @param ref\n */\n getPropertyRefs<T extends IPropertyRef>(ref: IClassRef | IEntityRef): (T | IPropertyRef)[] {\n throw new NotSupportedError('');\n }\n\n\n getPropertyRefsFor<T extends IPropertyRef>(fn: string | object | Function): (T | IPropertyRef)[] {\n throw new NotSupportedError('');\n }\n\n\n list<X>(type: METADATA_TYPE, filter?: (x: any) => boolean): X[] {\n return this.filter(type, filter);\n }\n\n\n listEntities(filter?: (x: IEntityRef) => boolean): IEntityRef[] {\n return this.getEntityRefs(filter);\n }\n\n\n listProperties(filter?: (x: IPropertyRef) => boolean): IPropertyRef[] {\n return this.filter(METATYPE_PROPERTY, filter);\n }\n\n\n create<T>(context: string, options: any): T {\n throw new NotSupportedError('');\n }\n\n /**\n * TODO\n */\n add<T>(context: string, entry: T, ns?: string): T {\n return this.getLookupRegistry(ns).add(context, entry);\n }\n\n\n /**\n * TODO\n */\n filter<T>(context: string, search: (x: any) => boolean, ns?: string): T[] {\n return this.getLookupRegistry(ns).filter(context, search);\n }\n\n /**\n * TODO\n */\n find<T>(context: string, search: any, ns?: string): T {\n return this.getLookupRegistry(ns).find(context, search);\n }\n\n /**\n * TODO\n */\n remove<T>(context: string, search: any, ns?: string): T[] {\n return this.getLookupRegistry(ns).remove(context, search);\n }\n\n /**\n * reset current registry\n */\n reset() {\n this.clear();\n }\n\n /**\n * Remove namespace from LookupRegistry and also remove semaphore lock if exists\n */\n clear() {\n if (this._lock) {\n LockFactory.$().remove(this._lock);\n }\n LookupRegistry.reset(this.namespace);\n }\n\n}\n"],"sourceRoot":"../.."}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@allgemein/schema-api",
3
- "version": "1.5.30",
3
+ "version": "1.5.32",
4
4
  "description": "Library for schema api",
5
5
  "main": "index.js",
6
6
  "private": false,