@allgemein/schema-api 1.5.24 → 1.5.25

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/api/IBaseRef.d.ts CHANGED
@@ -9,10 +9,6 @@ export interface IBaseRef {
9
9
  * Name for backend system
10
10
  */
11
11
  storingName: string;
12
- /**
13
- * Name for processing and identifing
14
- */
15
- machineName: string;
16
12
  /**
17
13
  * meta data tpye
18
14
  */
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/api/IBaseRef.ts"],"names":[],"mappings":"","file":"IBaseRef.js","sourcesContent":["import {METADATA_TYPE} from '../lib/Constants';\nimport {ILookupRegistry} from './ILookupRegistry';\n\n\nexport interface IBaseRef {\n\n /**\n * Original class name\n */\n name: string;\n\n /**\n * Name for backend system\n */\n storingName: string;\n\n /**\n * Name for processing and identifing\n */\n machineName: string;\n\n /**\n * meta data tpye\n */\n metaType: METADATA_TYPE;\n\n /**\n * Unique identifier\n */\n id(): string;\n\n\n /**\n * Return some options\n */\n getOptions(key?: string, defaultValue?: any): any;\n\n /**\n * Set some option\n */\n setOption(key: string, value: any): void;\n\n /**\n * Set options\n */\n setOptions(value: any): void;\n\n\n /**\n * Return the namespace name.\n */\n getNamespace(): string;\n\n /**\n * Return the registry.\n */\n getRegistry?(): ILookupRegistry;\n\n}\n"],"sourceRoot":".."}
1
+ {"version":3,"sources":["../../../src/api/IBaseRef.ts"],"names":[],"mappings":"","file":"IBaseRef.js","sourcesContent":["import {METADATA_TYPE} from '../lib/Constants';\nimport {ILookupRegistry} from './ILookupRegistry';\nimport {INamedOptions} from \"../lib/options/INamedOptions\";\n\n\nexport interface IBaseRef {\n\n /**\n * Original class name\n */\n name: string;\n\n /**\n * Name for backend system\n */\n storingName: string;\n\n // /**\n // * Name for processing and identifing\n // */\n // machineName: string;\n\n /**\n * meta data tpye\n */\n metaType: METADATA_TYPE;\n\n /**\n * Unique identifier\n */\n id(): string;\n\n\n /**\n * Return some options\n */\n getOptions(key?: string, defaultValue?: any): any;\n\n /**\n * Set some option\n */\n setOption(key: string, value: any): void;\n\n /**\n * Set options\n */\n setOptions(value: any): void;\n\n\n /**\n * Return the namespace name.\n */\n getNamespace(): string;\n\n /**\n * Return the registry.\n */\n getRegistry?(): ILookupRegistry;\n\n}\n"],"sourceRoot":".."}
package/api/IEntityRef.js CHANGED
@@ -1,10 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.isEntityRef = void 0;
4
- // import {IEntityRefMetadata} from "./metadata/IEntityRefMetadata";
4
+ const Constants_1 = require("../lib/Constants");
5
5
  function isEntityRef(x) {
6
6
  var _a;
7
- return ((_a = x) === null || _a === void 0 ? void 0 : _a.metaType) === 'entity';
7
+ return ((_a = x) === null || _a === void 0 ? void 0 : _a.metaType) === Constants_1.METATYPE_ENTITY;
8
8
  }
9
9
  exports.isEntityRef = isEntityRef;
10
10
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/api/IEntityRef.ts"],"names":[],"mappings":";;;AAMA,oEAAoE;AAIpE,SAAgB,WAAW,CAAC,CAAM;;IAChC,OAAO,CAAA,MAAC,CAAgB,0CAAE,QAAQ,MAAK,QAAQ,CAAC;AAClD,CAAC;AAFD,kCAEC","file":"IEntityRef.js","sourcesContent":["import {IPropertyRef} from './IPropertyRef';\nimport {IClassRef} from './IClassRef';\nimport {IBuildOptions} from './IBuildOptions';\nimport {IBaseRef} from './IBaseRef';\nimport {ISchemaRef} from './ISchemaRef';\n\n// import {IEntityRefMetadata} from \"./metadata/IEntityRefMetadata\";\n\n\n\nexport function isEntityRef(x: any): x is IEntityRef {\n return (x as IEntityRef)?.metaType === 'entity';\n}\n\nexport interface IEntityRef extends IBaseRef {\n\n\n getPropertyRef(name: string): IPropertyRef;\n\n getPropertyRefs(): IPropertyRef[];\n\n getSchemaRefs(): ISchemaRef | ISchemaRef[];\n\n getClassRef(): IClassRef;\n\n getClass(create?: boolean): Function;\n\n create<T>(addinfo?: boolean): T;\n\n build<T>(instance: any, options?: IBuildOptions): T;\n\n isOf(instance: any): boolean;\n\n // toJson(follow?:boolean): IEntityRefMetadata;\n\n}\n"],"sourceRoot":".."}
1
+ {"version":3,"sources":["../../../src/api/IEntityRef.ts"],"names":[],"mappings":";;;AAKA,gDAAiD;AAGjD,SAAgB,WAAW,CAAC,CAAM;;IAChC,OAAO,CAAA,MAAC,CAAgB,0CAAE,QAAQ,MAAK,2BAAe,CAAC;AACzD,CAAC;AAFD,kCAEC","file":"IEntityRef.js","sourcesContent":["import {IPropertyRef} from './IPropertyRef';\nimport {IClassRef} from './IClassRef';\nimport {IBuildOptions} from './IBuildOptions';\nimport {IBaseRef} from './IBaseRef';\nimport {ISchemaRef} from './ISchemaRef';\nimport {METATYPE_ENTITY} from \"../lib/Constants\";\n\n\nexport function isEntityRef(x: any): x is IEntityRef {\n return (x as IEntityRef)?.metaType === METATYPE_ENTITY;\n}\n\nexport interface IEntityRef extends IBaseRef {\n\n\n getPropertyRef(name: string): IPropertyRef;\n\n getPropertyRefs(): IPropertyRef[];\n\n getSchemaRefs(): ISchemaRef | ISchemaRef[];\n\n getClassRef(): IClassRef;\n\n getClass(create?: boolean): Function;\n\n create<T>(addinfo?: boolean): T;\n\n build<T>(instance: any, options?: IBuildOptions): T;\n\n isOf(instance: any): boolean;\n\n}\n"],"sourceRoot":".."}
package/browser.d.ts CHANGED
@@ -39,7 +39,9 @@ export { IJsonSchema7, IJsonSchema7Definition, hasClassInDefinition, hasClassPro
39
39
  export { JsonSchema7Serializer } from './lib/json-schema/JsonSchema7Serializer';
40
40
  export { JsonSchema7Unserializer } from './lib/json-schema/JsonSchema7Unserializer';
41
41
  export { LookupRegistry } from './lib/LookupRegistry';
42
+ export { INamedOptions } from './lib/options/INamedOptions';
42
43
  export { IAbstractOptions } from './lib/options/IAbstractOptions';
44
+ export { IAttributeOptions } from './lib/options/IAttributeOptions';
43
45
  export { IEntityOptions } from './lib/options/IEntityOptions';
44
46
  export { IObjectOptions } from './lib/options/IObjectOptions';
45
47
  export { IPropertyOptions } from './lib/options/IPropertyOptions';
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 {IJsonSchema, supportsJsonSchemaExport, supportsJsonSchema, supportsJsonSchemaImport} 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';\nexport {IAbstractOptions} from './lib/options/IAbstractOptions';\nexport {IEntityOptions} from './lib/options/IEntityOptions';\nexport {IObjectOptions} from './lib/options/IObjectOptions';\nexport {IPropertyOptions} from './lib/options/IPropertyOptions';\nexport {ISchemaOptions} from './lib/options/ISchemaOptions';\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":"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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":"."}
@@ -3,29 +3,53 @@ import { IBaseRef } from '../api/IBaseRef';
3
3
  import { IClassRef } from '../api/IClassRef';
4
4
  import { ILookupRegistry } from '../api/ILookupRegistry';
5
5
  export declare abstract class AbstractRef implements IBaseRef {
6
+ /**
7
+ * Type of this entry
8
+ */
6
9
  readonly metaType: METADATA_TYPE;
10
+ /**
11
+ * Namespace better registry of this entry
12
+ */
7
13
  namespace: string;
8
14
  private _cachedOptions;
9
15
  readonly name: string;
10
16
  readonly object: IClassRef;
11
17
  constructor(type: METADATA_TYPE, name: string, object?: IClassRef | Function | string, namespace?: string);
12
- abstract getClassRefFor(object: string | Function | IClassRef, type: METADATA_TYPE): IClassRef;
13
18
  getNamespace(): string;
14
- abstract getRegistry(): ILookupRegistry;
15
19
  getSourceRef(): IClassRef;
20
+ abstract getClassRefFor(object: string | Function | IClassRef, type: METADATA_TYPE): IClassRef;
21
+ abstract getRegistry(): ILookupRegistry;
16
22
  protected getOptionsEntry(): any;
17
23
  getOptions(key?: string, defaultValue?: any): any;
18
24
  setOptions(options: any): void;
19
25
  setOption(key: string, value: any): void;
20
26
  hasOption(key: string): boolean;
27
+ /**
28
+ * Return class ref
29
+ */
21
30
  getClassRef(): IClassRef;
31
+ /**
32
+ * Get class for the entry
33
+ *
34
+ * @param create: create anonymous placeholder if no class exists
35
+ */
22
36
  getClass(create?: boolean): Function;
23
- get machineName(): string;
37
+ /**
38
+ * Return the name of the class ref, if not exits then return null
39
+ */
24
40
  get originalName(): string;
41
+ /**
42
+ * Return internal name (same as calling storingName)
43
+ */
44
+ get internalName(): string;
45
+ /**
46
+ * Return internal name, check if internalName is set else check if name options is present
47
+ *
48
+ */
25
49
  get storingName(): any;
26
50
  abstract id(): string;
27
51
  /**
28
- * Return supported primative data types
52
+ * Return supported primitive data types
29
53
  */
30
54
  getSupportedDataTypes(): JS_DATA_TYPES[];
31
55
  }
@@ -7,6 +7,9 @@ const IClassRef_1 = require("../api/IClassRef");
7
7
  const MetadataRegistry_1 = require("./registry/MetadataRegistry");
8
8
  class AbstractRef {
9
9
  constructor(type, name, object = null, namespace = Constants_1.DEFAULT_NAMESPACE) {
10
+ /**
11
+ * Namespace better registry of this entry
12
+ */
10
13
  this.namespace = Constants_1.DEFAULT_NAMESPACE;
11
14
  this.namespace = namespace;
12
15
  this.metaType = type;
@@ -80,47 +83,44 @@ class AbstractRef {
80
83
  const opts = this.getOptionsEntry();
81
84
  return (0, lodash_1.has)(opts, key);
82
85
  }
83
- // getOptions(key: string = null, defaultValue: any = null): any | OPTS {
84
- // if (key) {
85
- // return get(this.options, key, defaultValue);
86
- // }
87
- // return this.options;
88
- // }
89
- //
90
- // setOptions(opts: any) {
91
- // if (opts && !isEmpty(keys(opts))) {
92
- // if (!isEmpty(keys(this.options))) {
93
- // this.options = merge(this.options, opts);
94
- // } else {
95
- // this.options = opts;
96
- // }
97
- // }
98
- // }
99
- //
100
- //
101
- // setOption(key: string, value: any) {
102
- // if (!this.options) {
103
- // this.options = <any>{};
104
- // }
105
- // set(<any>this.options, key, value);
106
- // }
86
+ /**
87
+ * Return class ref
88
+ */
107
89
  getClassRef() {
108
90
  return this.object;
109
91
  }
92
+ /**
93
+ * Get class for the entry
94
+ *
95
+ * @param create: create anonymous placeholder if no class exists
96
+ */
110
97
  getClass(create = false) {
111
98
  return this.getClassRef().getClass(create);
112
99
  }
113
- get machineName() {
114
- return (0, lodash_1.snakeCase)(this.name);
115
- }
100
+ /**
101
+ * Return the name of the class ref, if not exits then return null
102
+ */
116
103
  get originalName() {
117
104
  if (this.object) {
118
105
  return this.object.name;
119
106
  }
120
107
  return null;
121
108
  }
109
+ /**
110
+ * Return internal name (same as calling storingName)
111
+ */
112
+ get internalName() {
113
+ return this.storingName;
114
+ }
115
+ /**
116
+ * Return internal name, check if internalName is set else check if name options is present
117
+ *
118
+ */
122
119
  get storingName() {
123
- let name = null;
120
+ let name = this.getOptions(Constants_1.C_INTERNAL_NAME, null);
121
+ if (name) {
122
+ return name;
123
+ }
124
124
  if (this.metaType === Constants_1.METATYPE_PROPERTY) {
125
125
  name = this.getOptions(Constants_1.C_NAME, null);
126
126
  if (!name) {
@@ -138,7 +138,7 @@ class AbstractRef {
138
138
  return name;
139
139
  }
140
140
  /**
141
- * Return supported primative data types
141
+ * Return supported primitive data types
142
142
  */
143
143
  getSupportedDataTypes() {
144
144
  return Constants_1.JS_DATA_TYPES;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/lib/AbstractRef.ts"],"names":[],"mappings":"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","file":"AbstractRef.js","sourcesContent":["import {assign, get, has, isEmpty, keys, set, snakeCase} from 'lodash';\nimport {\n C_NAME,\n DEFAULT_NAMESPACE,\n JS_DATA_TYPES,\n METADATA_TYPE,\n METATYPE_PROPERTY,\n METATYPE_SCHEMA,\n} from './Constants';\nimport {IBaseRef} from '../api/IBaseRef';\nimport {IClassRef, isClassRef} from '../api/IClassRef';\nimport {MetadataRegistry} from './registry/MetadataRegistry';\nimport {ILookupRegistry} from '../api/ILookupRegistry';\n\n\nexport abstract class AbstractRef implements IBaseRef {\n\n readonly metaType: METADATA_TYPE;\n\n namespace: string = DEFAULT_NAMESPACE;\n\n private _cachedOptions: any;\n\n readonly name: string;\n\n readonly object: IClassRef;\n\n\n constructor(type: METADATA_TYPE,\n name: string,\n object: IClassRef | Function | string = null,\n namespace: string = DEFAULT_NAMESPACE) {\n this.namespace = namespace;\n this.metaType = type;\n this.name = name;\n if (isClassRef(object)) {\n this.object = object;\n } else {\n this.object = object ? this.getClassRefFor(object, type) : null;\n }\n }\n\n\n abstract getClassRefFor(object: string | Function | IClassRef, type: METADATA_TYPE): IClassRef;\n\n getNamespace() {\n return this.namespace;\n }\n\n abstract getRegistry(): ILookupRegistry;\n\n getSourceRef() {\n return this.object;\n }\n\n protected getOptionsEntry() {\n if (!this._cachedOptions) {\n if (this.metaType === METATYPE_PROPERTY) {\n this._cachedOptions = MetadataRegistry.$().findCached(this.metaType, (x: any) =>\n x.target === this.getClass(true) &&\n x.propertyName === this.name &&\n x.namespace === this.getNamespace()\n );\n if (!this._cachedOptions) {\n this._cachedOptions = {target: this.getClass(true), propertyName: this.name, namespace: this.getNamespace()};\n MetadataRegistry.$().addCached(this.metaType, this._cachedOptions);\n }\n } else if (this.metaType === METATYPE_SCHEMA) {\n this._cachedOptions = MetadataRegistry.$().findCached(this.metaType, (x: any) =>\n x.name === this.name &&\n x.namespace === this.getNamespace()\n );\n if (!this._cachedOptions) {\n this._cachedOptions = {name: this.name, namespace: this.getNamespace()};\n MetadataRegistry.$().addCached(this.metaType, this._cachedOptions);\n }\n } else {\n this._cachedOptions = MetadataRegistry.$().findCached(this.metaType, (x: any) =>\n x.target === this.getClass(true) &&\n x.namespace === this.getNamespace()\n );\n if (!this._cachedOptions) {\n this._cachedOptions = {target: this.getClass(true), namespace: this.getNamespace()};\n MetadataRegistry.$().addCached(this.metaType, this._cachedOptions);\n }\n }\n }\n return this._cachedOptions;\n }\n\n getOptions(key?: string, defaultValue: any = null): any {\n if (key) {\n return get(this.getOptionsEntry(), key, defaultValue);\n }\n return this.getOptionsEntry();\n }\n\n setOptions(options: any) {\n if (options && !isEmpty(keys(options))) {\n const opts = this.getOptionsEntry();\n // if same object cause taken from MetadataRegistry then ignore setting\n if (opts !== options) {\n for (const k of keys(opts)) {\n delete opts[k];\n }\n assign(opts, options);\n }\n }\n }\n\n setOption(key: string, value: any) {\n const opts = this.getOptionsEntry();\n set(opts, key, value);\n }\n\n hasOption(key: string) {\n const opts = this.getOptionsEntry();\n return has(opts, key);\n }\n\n // getOptions(key: string = null, defaultValue: any = null): any | OPTS {\n // if (key) {\n // return get(this.options, key, defaultValue);\n // }\n // return this.options;\n // }\n //\n // setOptions(opts: any) {\n // if (opts && !isEmpty(keys(opts))) {\n // if (!isEmpty(keys(this.options))) {\n // this.options = merge(this.options, opts);\n // } else {\n // this.options = opts;\n // }\n // }\n // }\n //\n //\n // setOption(key: string, value: any) {\n // if (!this.options) {\n // this.options = <any>{};\n // }\n // set(<any>this.options, key, value);\n // }\n\n\n getClassRef() {\n return this.object;\n }\n\n\n getClass(create: boolean = false) {\n return this.getClassRef().getClass(create);\n }\n\n\n get machineName() {\n return snakeCase(this.name);\n }\n\n\n get originalName() {\n if (this.object) {\n return this.object.name;\n }\n return null;\n }\n\n get storingName() {\n let name = null;\n if (this.metaType === METATYPE_PROPERTY) {\n name = this.getOptions(C_NAME, null);\n if (!name) {\n name = snakeCase(this.name);\n }\n } else {\n if (this.name !== this.originalName) {\n name = this.name;\n } else {\n name = snakeCase(this.name);\n }\n }\n return name;\n }\n\n\n abstract id(): string;\n\n\n /**\n * Return supported primative data types\n */\n getSupportedDataTypes() {\n return JS_DATA_TYPES;\n }\n\n\n // toJson() {\n // let options = cloneDeep(this.getOptions());\n // let o: any = {\n // id: this.id(),\n // name: this.name,\n // type: this.metaType,\n // machineName: this.machineName,\n // options: options\n // };\n // return o;\n // }\n\n}\n\n\n\n"],"sourceRoot":".."}
1
+ {"version":3,"sources":["../../../src/lib/AbstractRef.ts"],"names":[],"mappings":"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","file":"AbstractRef.js","sourcesContent":["import {assign, get, has, isEmpty, keys, set, snakeCase} from 'lodash';\nimport {\n C_INTERNAL_NAME,\n C_NAME,\n DEFAULT_NAMESPACE,\n JS_DATA_TYPES,\n METADATA_TYPE,\n METATYPE_PROPERTY,\n METATYPE_SCHEMA,\n} from './Constants';\nimport {IBaseRef} from '../api/IBaseRef';\nimport {IClassRef, isClassRef} from '../api/IClassRef';\nimport {MetadataRegistry} from './registry/MetadataRegistry';\nimport {ILookupRegistry} from '../api/ILookupRegistry';\n\n\nexport abstract class AbstractRef implements IBaseRef {\n\n /**\n * Type of this entry\n */\n readonly metaType: METADATA_TYPE;\n\n /**\n * Namespace better registry of this entry\n */\n namespace: string = DEFAULT_NAMESPACE;\n\n private _cachedOptions: any;\n\n readonly name: string;\n\n readonly object: IClassRef;\n\n\n constructor(type: METADATA_TYPE,\n name: string,\n object: IClassRef | Function | string = null,\n namespace: string = DEFAULT_NAMESPACE) {\n this.namespace = namespace;\n this.metaType = type;\n this.name = name;\n if (isClassRef(object)) {\n this.object = object;\n } else {\n this.object = object ? this.getClassRefFor(object, type) : null;\n }\n }\n\n\n getNamespace() {\n return this.namespace;\n }\n\n\n getSourceRef() {\n return this.object;\n }\n\n abstract getClassRefFor(object: string | Function | IClassRef, type: METADATA_TYPE): IClassRef;\n\n abstract getRegistry(): ILookupRegistry;\n\n protected getOptionsEntry() {\n if (!this._cachedOptions) {\n if (this.metaType === METATYPE_PROPERTY) {\n this._cachedOptions = MetadataRegistry.$().findCached(this.metaType, (x: any) =>\n x.target === this.getClass(true) &&\n x.propertyName === this.name &&\n x.namespace === this.getNamespace()\n );\n if (!this._cachedOptions) {\n this._cachedOptions = {target: this.getClass(true), propertyName: this.name, namespace: this.getNamespace()};\n MetadataRegistry.$().addCached(this.metaType, this._cachedOptions);\n }\n } else if (this.metaType === METATYPE_SCHEMA) {\n this._cachedOptions = MetadataRegistry.$().findCached(this.metaType, (x: any) =>\n x.name === this.name &&\n x.namespace === this.getNamespace()\n );\n if (!this._cachedOptions) {\n this._cachedOptions = {name: this.name, namespace: this.getNamespace()};\n MetadataRegistry.$().addCached(this.metaType, this._cachedOptions);\n }\n } else {\n this._cachedOptions = MetadataRegistry.$().findCached(this.metaType, (x: any) =>\n x.target === this.getClass(true) &&\n x.namespace === this.getNamespace()\n );\n if (!this._cachedOptions) {\n this._cachedOptions = {target: this.getClass(true), namespace: this.getNamespace()};\n MetadataRegistry.$().addCached(this.metaType, this._cachedOptions);\n }\n }\n }\n return this._cachedOptions;\n }\n\n getOptions(key?: string, defaultValue: any = null): any {\n if (key) {\n return get(this.getOptionsEntry(), key, defaultValue);\n }\n return this.getOptionsEntry();\n }\n\n setOptions(options: any) {\n if (options && !isEmpty(keys(options))) {\n const opts = this.getOptionsEntry();\n // if same object cause taken from MetadataRegistry then ignore setting\n if (opts !== options) {\n for (const k of keys(opts)) {\n delete opts[k];\n }\n assign(opts, options);\n }\n }\n }\n\n setOption(key: string, value: any) {\n const opts = this.getOptionsEntry();\n set(opts, key, value);\n }\n\n hasOption(key: string) {\n const opts = this.getOptionsEntry();\n return has(opts, key);\n }\n\n /**\n * Return class ref\n */\n getClassRef(): IClassRef {\n return this.object;\n }\n\n\n /**\n * Get class for the entry\n *\n * @param create: create anonymous placeholder if no class exists\n */\n getClass(create: boolean = false): Function {\n return this.getClassRef().getClass(create);\n }\n\n\n /**\n * Return the name of the class ref, if not exits then return null\n */\n get originalName() {\n if (this.object) {\n return this.object.name;\n }\n return null;\n }\n\n\n /**\n * Return internal name (same as calling storingName)\n */\n get internalName(): string {\n return this.storingName;\n }\n\n\n /**\n * Return internal name, check if internalName is set else check if name options is present\n *\n */\n get storingName() {\n let name = this.getOptions(C_INTERNAL_NAME, null);\n if (name) {\n return name;\n }\n if (this.metaType === METATYPE_PROPERTY) {\n name = this.getOptions(C_NAME, null);\n if (!name) {\n name = snakeCase(this.name);\n }\n } else {\n if (this.name !== this.originalName) {\n name = this.name;\n } else {\n name = snakeCase(this.name);\n }\n }\n return name;\n }\n\n\n abstract id(): string;\n\n\n /**\n * Return supported primitive data types\n */\n getSupportedDataTypes() {\n return JS_DATA_TYPES;\n }\n\n\n}\n\n\n\n"],"sourceRoot":".."}
@@ -3,6 +3,7 @@ export declare const GLOBAL_NAMESPACE = "__global__";
3
3
  export declare const C_IDENTIFIER = "identifier";
4
4
  export declare const C_TYPE = "type";
5
5
  export declare const C_NAME = "name";
6
+ export declare const C_INTERNAL_NAME = "internalName";
6
7
  export declare const C_APPENDED = "appended";
7
8
  export declare const C_CARDINALITY = "cardinality";
8
9
  export declare const XS_DEFAULT_CLASSES = "default_class_ref";
package/lib/Constants.js CHANGED
@@ -1,11 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DEFINED_PROPS_TO_OPTS = exports.K_ENTITY_BUILT = exports.DEFAULT_KEY_TO_SKIP = exports.K_TRIGGERED = exports.K_PATTERN_PROPERTY = exports.STATE_KEY = exports.OPT_CREAT_AND_COPY = exports.__NS__ = exports.__CLASS__ = exports.C_PROP_NAME = exports.T_BOOLEAN = exports.T_OBJECT = exports.T_ARRAY = exports.T_STRING = exports.C_EVENT_DRAIN_FINISHED = exports.C_EVENT_UPDATE = exports.C_EVENT_REMOVE = exports.C_EVENT_ADD = exports.JS_PRIMATIVE_TYPES = exports.JS_DATA_TYPES = exports.XS_ANNOTATION_OPTIONS_CACHE = exports.METADATA_REGISTRY = exports.XS_DEFAULT_SCHEMA = exports.XS_ID_SEPARATOR = exports.BINDING_SCHEMA_CLASS_REF = exports.BINDING_SCHEMA_ENTITY = exports.METATYPE_EMBEDDABLE = exports.METATYPE_PROPERTY = exports.METATYPE_CLASS_REF = exports.METATYPE_NAMESPACE = exports.METATYPE_ENTITY = exports.METATYPE_SCHEMA = exports.REFLECT_DESIGN_TYPE = exports.XS_DEFAULT_CLASSES = exports.C_CARDINALITY = exports.C_APPENDED = exports.C_NAME = exports.C_TYPE = exports.C_IDENTIFIER = exports.GLOBAL_NAMESPACE = exports.DEFAULT_NAMESPACE = void 0;
3
+ exports.DEFINED_PROPS_TO_OPTS = exports.K_ENTITY_BUILT = exports.DEFAULT_KEY_TO_SKIP = exports.K_TRIGGERED = exports.K_PATTERN_PROPERTY = exports.STATE_KEY = exports.OPT_CREAT_AND_COPY = exports.__NS__ = exports.__CLASS__ = exports.C_PROP_NAME = exports.T_BOOLEAN = exports.T_OBJECT = exports.T_ARRAY = exports.T_STRING = exports.C_EVENT_DRAIN_FINISHED = exports.C_EVENT_UPDATE = exports.C_EVENT_REMOVE = exports.C_EVENT_ADD = exports.JS_PRIMATIVE_TYPES = exports.JS_DATA_TYPES = exports.XS_ANNOTATION_OPTIONS_CACHE = exports.METADATA_REGISTRY = exports.XS_DEFAULT_SCHEMA = exports.XS_ID_SEPARATOR = exports.BINDING_SCHEMA_CLASS_REF = exports.BINDING_SCHEMA_ENTITY = exports.METATYPE_EMBEDDABLE = exports.METATYPE_PROPERTY = exports.METATYPE_CLASS_REF = exports.METATYPE_NAMESPACE = exports.METATYPE_ENTITY = exports.METATYPE_SCHEMA = exports.REFLECT_DESIGN_TYPE = exports.XS_DEFAULT_CLASSES = exports.C_CARDINALITY = exports.C_APPENDED = exports.C_INTERNAL_NAME = exports.C_NAME = exports.C_TYPE = exports.C_IDENTIFIER = exports.GLOBAL_NAMESPACE = exports.DEFAULT_NAMESPACE = void 0;
4
4
  exports.DEFAULT_NAMESPACE = 'default';
5
5
  exports.GLOBAL_NAMESPACE = '__global__';
6
6
  exports.C_IDENTIFIER = 'identifier';
7
7
  exports.C_TYPE = 'type';
8
8
  exports.C_NAME = 'name';
9
+ exports.C_INTERNAL_NAME = 'internalName';
9
10
  exports.C_APPENDED = 'appended';
10
11
  exports.C_CARDINALITY = 'cardinality';
11
12
  exports.XS_DEFAULT_CLASSES = 'default_class_ref';
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/lib/Constants.ts"],"names":[],"mappings":";;;AAEa,QAAA,iBAAiB,GAAG,SAAS,CAAC;AAC9B,QAAA,gBAAgB,GAAG,YAAY,CAAC;AAGhC,QAAA,YAAY,GAAG,YAAY,CAAC;AAC5B,QAAA,MAAM,GAAG,MAAM,CAAC;AAChB,QAAA,MAAM,GAAG,MAAM,CAAC;AAChB,QAAA,UAAU,GAAG,UAAU,CAAC;AACxB,QAAA,aAAa,GAAG,aAAa,CAAC;AAG9B,QAAA,kBAAkB,GAAG,mBAAmB,CAAC;AAEzC,QAAA,mBAAmB,GAAG,aAAa,CAAC;AACpC,QAAA,eAAe,GAAG,QAAQ,CAAC;AAC3B,QAAA,eAAe,GAAG,QAAQ,CAAC;AAC3B,QAAA,kBAAkB,GAAG,WAAW,CAAC;AACjC,QAAA,kBAAkB,GAAG,WAAW,CAAC;AACjC,QAAA,iBAAiB,GAAG,UAAU,CAAC;AAC/B,QAAA,mBAAmB,GAAG,QAAQ,CAAC;AAW/B,QAAA,qBAAqB,GAAG,eAAe,CAAC;AACxC,QAAA,wBAAwB,GAAG,kBAAkB,CAAC;AAS9C,QAAA,eAAe,GAAG,IAAI,CAAC;AAEvB,QAAA,iBAAiB,GAAG,SAAS,CAAC;AAG9B,QAAA,iBAAiB,GAAG,mBAAmB,CAAC;AAyBxC,QAAA,2BAA2B,GAAG,oBAAoB,CAAC;AAChE,mEAAmE;AAEtD,QAAA,aAAa,GAAoB;IAC5C,QAAQ;IACN,MAAM;IACN,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,MAAM;IACN,MAAM;IACN,MAAM;IACN,UAAU;IACV,WAAW;IACX,MAAM;IACN,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,WAAW;IACX,QAAQ;CACX,CAAC;AAEW,QAAA,kBAAkB,GAAoB;IACjD,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,MAAM;IACN,WAAW;IACX,QAAQ;CACT,CAAC;AAGW,QAAA,WAAW,GAAG,KAAK,CAAC;AACpB,QAAA,cAAc,GAAG,QAAQ,CAAC;AAC1B,QAAA,cAAc,GAAG,QAAQ,CAAC;AAC1B,QAAA,sBAAsB,GAAG,gBAAgB,CAAC;AAE1C,QAAA,QAAQ,GAAG,QAAQ,CAAC;AACpB,QAAA,OAAO,GAAG,OAAO,CAAC;AAClB,QAAA,QAAQ,GAAG,QAAQ,CAAC;AACpB,QAAA,SAAS,GAAG,SAAS,CAAC;AAEtB,QAAA,WAAW,GAAG,MAAM,CAAC;AACrB,QAAA,SAAS,GAAG,WAAW,CAAC;AACxB,QAAA,MAAM,GAAG,QAAQ,CAAC;AAClB,QAAA,kBAAkB,GAAG,eAAe,CAAC;AAErC,QAAA,SAAS,GAAG,QAAQ,CAAC;AAErB,QAAA,kBAAkB,GAAG,iBAAiB,CAAC;AACvC,QAAA,WAAW,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;AAWpC,QAAA,mBAAmB,GAAG,CAAC,cAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,UAAU,EAAE,WAAW,EAAE,cAAM,CAAC,CAAC;AAE/G;;GAEG;AACU,QAAA,cAAc,GAAG,SAAS,CAAC;AAE3B,QAAA,qBAAqB,GAAG,CAAC,sBAAc,CAAC,CAAC","file":"Constants.js","sourcesContent":["import exp = require('constants');\n\nexport const DEFAULT_NAMESPACE = 'default';\nexport const GLOBAL_NAMESPACE = '__global__';\n\n\nexport const C_IDENTIFIER = 'identifier';\nexport const C_TYPE = 'type';\nexport const C_NAME = 'name';\nexport const C_APPENDED = 'appended';\nexport const C_CARDINALITY = 'cardinality';\n\n\nexport const XS_DEFAULT_CLASSES = 'default_class_ref';\n\nexport const REFLECT_DESIGN_TYPE = 'design:type';\nexport const METATYPE_SCHEMA = 'schema';\nexport const METATYPE_ENTITY = 'entity';\nexport const METATYPE_NAMESPACE = 'namespace';\nexport const METATYPE_CLASS_REF = 'class_ref';\nexport const METATYPE_PROPERTY = 'property';\nexport const METATYPE_EMBEDDABLE = 'object';\n\nexport type METADATA_TYPE =\n 'schema'\n | 'object'\n | 'entity'\n | 'property'\n | 'class_ref'\n | 'namespace';\n\n\nexport const BINDING_SCHEMA_ENTITY = 'schema_entity';\nexport const BINDING_SCHEMA_CLASS_REF = 'schema_class_ref';\n\nexport type METADATA_AND_BIND_TYPE = METADATA_TYPE\n | 'schema_entity'\n | 'entity_property'\n | 'property_entity'\n | 'schema_class_ref';\n\nexport type XS_DATA_TYPES = 'string' | 'number' | 'boolean' | 'entity' | 'array' | 'any';\nexport const XS_ID_SEPARATOR = '--';\n\nexport const XS_DEFAULT_SCHEMA = 'default';\n\n\nexport const METADATA_REGISTRY = 'metadata/registry';\n\n\nexport type ClassType<T> = { new(...args: any[]): T; };\n\nexport type JS_DATA_TYPES =\n 'string'\n | 'text'\n | 'number'\n | 'boolean'\n | 'double'\n | 'json'\n | 'date'\n | 'time'\n | 'datetime'\n | 'timestamp'\n | 'byte'\n | 'object'\n | 'array'\n | 'symbol'\n | 'null'\n | 'undefined'\n | 'bigint'\n ;\n\nexport const XS_ANNOTATION_OPTIONS_CACHE = 'anno_options_cache';\n// export const XS_ANNOTATION_OPTIONS_CACHE = 'anno_options_cache';\n\nexport const JS_DATA_TYPES: JS_DATA_TYPES[] = [\n 'string'\n , 'text'\n , 'number'\n , 'boolean'\n , 'double'\n , 'json'\n , 'date'\n , 'time'\n , 'datetime'\n , 'timestamp'\n , 'byte'\n , 'object'\n , 'symbol'\n , 'null'\n , 'undefined'\n , 'bigint'\n];\n\nexport const JS_PRIMATIVE_TYPES: JS_DATA_TYPES[] = [\n 'string',\n 'number',\n 'boolean',\n 'object',\n 'symbol',\n 'date',\n 'null',\n 'undefined',\n 'bigint'\n];\n\n\nexport const C_EVENT_ADD = 'add';\nexport const C_EVENT_REMOVE = 'remove';\nexport const C_EVENT_UPDATE = 'update';\nexport const C_EVENT_DRAIN_FINISHED = 'drain_finished';\n\nexport const T_STRING = 'string';\nexport const T_ARRAY = 'array';\nexport const T_OBJECT = 'object';\nexport const T_BOOLEAN = 'boolean';\n\nexport const C_PROP_NAME = 'name';\nexport const __CLASS__ = '__CLASS__';\nexport const __NS__ = '__NS__';\nexport const OPT_CREAT_AND_COPY = 'createAndCopy';\n\nexport const STATE_KEY = '$state';\n\nexport const K_PATTERN_PROPERTY = 'patternProperty';\nexport const K_TRIGGERED = Symbol('_triggered_');\n\nexport type CLASS_TYPE = Function | ClassType<any>;\nexport type MERGE_TYPE = 'default' | 'assign' | 'merge';\n\nexport interface IMinMax {\n min: number;\n max: number;\n}\n\n\nexport const DEFAULT_KEY_TO_SKIP = [C_TYPE, '$ref', 'target', 'propertyName', 'metaType', 'namespace', C_NAME];\n\n/**\n * Entity option signals that entity is generate by an other\n */\nexport const K_ENTITY_BUILT = '_built_';\n\nexport const DEFINED_PROPS_TO_OPTS = [K_ENTITY_BUILT];\n"],"sourceRoot":".."}
1
+ {"version":3,"sources":["../../../src/lib/Constants.ts"],"names":[],"mappings":";;;AAGa,QAAA,iBAAiB,GAAG,SAAS,CAAC;AAC9B,QAAA,gBAAgB,GAAG,YAAY,CAAC;AAGhC,QAAA,YAAY,GAAG,YAAY,CAAC;AAC5B,QAAA,MAAM,GAAG,MAAM,CAAC;AAChB,QAAA,MAAM,GAAG,MAAM,CAAC;AAChB,QAAA,eAAe,GAAG,cAAc,CAAC;AACjC,QAAA,UAAU,GAAG,UAAU,CAAC;AACxB,QAAA,aAAa,GAAG,aAAa,CAAC;AAG9B,QAAA,kBAAkB,GAAG,mBAAmB,CAAC;AAEzC,QAAA,mBAAmB,GAAG,aAAa,CAAC;AACpC,QAAA,eAAe,GAAG,QAAQ,CAAC;AAC3B,QAAA,eAAe,GAAG,QAAQ,CAAC;AAC3B,QAAA,kBAAkB,GAAG,WAAW,CAAC;AACjC,QAAA,kBAAkB,GAAG,WAAW,CAAC;AACjC,QAAA,iBAAiB,GAAG,UAAU,CAAC;AAC/B,QAAA,mBAAmB,GAAG,QAAQ,CAAC;AAW/B,QAAA,qBAAqB,GAAG,eAAe,CAAC;AACxC,QAAA,wBAAwB,GAAG,kBAAkB,CAAC;AAS9C,QAAA,eAAe,GAAG,IAAI,CAAC;AAEvB,QAAA,iBAAiB,GAAG,SAAS,CAAC;AAG9B,QAAA,iBAAiB,GAAG,mBAAmB,CAAC;AAyBxC,QAAA,2BAA2B,GAAG,oBAAoB,CAAC;AAChE,mEAAmE;AAEtD,QAAA,aAAa,GAAoB;IAC5C,QAAQ;IACN,MAAM;IACN,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,MAAM;IACN,MAAM;IACN,MAAM;IACN,UAAU;IACV,WAAW;IACX,MAAM;IACN,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,WAAW;IACX,QAAQ;CACX,CAAC;AAEW,QAAA,kBAAkB,GAAoB;IACjD,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,MAAM;IACN,WAAW;IACX,QAAQ;CACT,CAAC;AAGW,QAAA,WAAW,GAAG,KAAK,CAAC;AACpB,QAAA,cAAc,GAAG,QAAQ,CAAC;AAC1B,QAAA,cAAc,GAAG,QAAQ,CAAC;AAC1B,QAAA,sBAAsB,GAAG,gBAAgB,CAAC;AAE1C,QAAA,QAAQ,GAAG,QAAQ,CAAC;AACpB,QAAA,OAAO,GAAG,OAAO,CAAC;AAClB,QAAA,QAAQ,GAAG,QAAQ,CAAC;AACpB,QAAA,SAAS,GAAG,SAAS,CAAC;AAEtB,QAAA,WAAW,GAAG,MAAM,CAAC;AACrB,QAAA,SAAS,GAAG,WAAW,CAAC;AACxB,QAAA,MAAM,GAAG,QAAQ,CAAC;AAClB,QAAA,kBAAkB,GAAG,eAAe,CAAC;AAErC,QAAA,SAAS,GAAG,QAAQ,CAAC;AAErB,QAAA,kBAAkB,GAAG,iBAAiB,CAAC;AACvC,QAAA,WAAW,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;AAWpC,QAAA,mBAAmB,GAAG,CAAC,cAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,UAAU,EAAE,WAAW,EAAE,cAAM,CAAC,CAAC;AAE/G;;GAEG;AACU,QAAA,cAAc,GAAG,SAAS,CAAC;AAE3B,QAAA,qBAAqB,GAAG,CAAC,sBAAc,CAAC,CAAC","file":"Constants.js","sourcesContent":["import exp = require('constants');\nimport {INamedOptions} from \"./options/INamedOptions\";\n\nexport const DEFAULT_NAMESPACE = 'default';\nexport const GLOBAL_NAMESPACE = '__global__';\n\n\nexport const C_IDENTIFIER = 'identifier';\nexport const C_TYPE = 'type';\nexport const C_NAME = 'name';\nexport const C_INTERNAL_NAME = 'internalName';\nexport const C_APPENDED = 'appended';\nexport const C_CARDINALITY = 'cardinality';\n\n\nexport const XS_DEFAULT_CLASSES = 'default_class_ref';\n\nexport const REFLECT_DESIGN_TYPE = 'design:type';\nexport const METATYPE_SCHEMA = 'schema';\nexport const METATYPE_ENTITY = 'entity';\nexport const METATYPE_NAMESPACE = 'namespace';\nexport const METATYPE_CLASS_REF = 'class_ref';\nexport const METATYPE_PROPERTY = 'property';\nexport const METATYPE_EMBEDDABLE = 'object';\n\nexport type METADATA_TYPE =\n 'schema'\n | 'object'\n | 'entity'\n | 'property'\n | 'class_ref'\n | 'namespace';\n\n\nexport const BINDING_SCHEMA_ENTITY = 'schema_entity';\nexport const BINDING_SCHEMA_CLASS_REF = 'schema_class_ref';\n\nexport type METADATA_AND_BIND_TYPE = METADATA_TYPE\n | 'schema_entity'\n | 'entity_property'\n | 'property_entity'\n | 'schema_class_ref';\n\nexport type XS_DATA_TYPES = 'string' | 'number' | 'boolean' | 'entity' | 'array' | 'any';\nexport const XS_ID_SEPARATOR = '--';\n\nexport const XS_DEFAULT_SCHEMA = 'default';\n\n\nexport const METADATA_REGISTRY = 'metadata/registry';\n\n\nexport type ClassType<T> = { new(...args: any[]): T; };\n\nexport type JS_DATA_TYPES =\n 'string'\n | 'text'\n | 'number'\n | 'boolean'\n | 'double'\n | 'json'\n | 'date'\n | 'time'\n | 'datetime'\n | 'timestamp'\n | 'byte'\n | 'object'\n | 'array'\n | 'symbol'\n | 'null'\n | 'undefined'\n | 'bigint'\n ;\n\nexport const XS_ANNOTATION_OPTIONS_CACHE = 'anno_options_cache';\n// export const XS_ANNOTATION_OPTIONS_CACHE = 'anno_options_cache';\n\nexport const JS_DATA_TYPES: JS_DATA_TYPES[] = [\n 'string'\n , 'text'\n , 'number'\n , 'boolean'\n , 'double'\n , 'json'\n , 'date'\n , 'time'\n , 'datetime'\n , 'timestamp'\n , 'byte'\n , 'object'\n , 'symbol'\n , 'null'\n , 'undefined'\n , 'bigint'\n];\n\nexport const JS_PRIMATIVE_TYPES: JS_DATA_TYPES[] = [\n 'string',\n 'number',\n 'boolean',\n 'object',\n 'symbol',\n 'date',\n 'null',\n 'undefined',\n 'bigint'\n];\n\n\nexport const C_EVENT_ADD = 'add';\nexport const C_EVENT_REMOVE = 'remove';\nexport const C_EVENT_UPDATE = 'update';\nexport const C_EVENT_DRAIN_FINISHED = 'drain_finished';\n\nexport const T_STRING = 'string';\nexport const T_ARRAY = 'array';\nexport const T_OBJECT = 'object';\nexport const T_BOOLEAN = 'boolean';\n\nexport const C_PROP_NAME = 'name';\nexport const __CLASS__ = '__CLASS__';\nexport const __NS__ = '__NS__';\nexport const OPT_CREAT_AND_COPY = 'createAndCopy';\n\nexport const STATE_KEY = '$state';\n\nexport const K_PATTERN_PROPERTY = 'patternProperty';\nexport const K_TRIGGERED = Symbol('_triggered_');\n\nexport type CLASS_TYPE = Function | ClassType<any>;\nexport type MERGE_TYPE = 'default' | 'assign' | 'merge';\n\nexport interface IMinMax {\n min: number;\n max: number;\n}\n\n\nexport const DEFAULT_KEY_TO_SKIP = [C_TYPE, '$ref', 'target', 'propertyName', 'metaType', 'namespace', C_NAME];\n\n/**\n * Entity option signals that entity is generate by an other\n */\nexport const K_ENTITY_BUILT = '_built_';\n\nexport const DEFINED_PROPS_TO_OPTS = [K_ENTITY_BUILT];\n"],"sourceRoot":".."}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/lib/options/IAttributeOptions.ts"],"names":[],"mappings":"","file":"IAttributeOptions.js","sourcesContent":["import {METADATA_TYPE} from '../Constants';\nimport {IAbstractOptions} from './IAbstractOptions';\n\nexport interface IAttributeOptions extends IAbstractOptions{\n targetTypes: (METADATA_TYPE | string)[];\n propertyName?: string;\n attributes: any;\n}\n"],"sourceRoot":"../.."}
1
+ {"version":3,"sources":["../../../src/lib/options/IAttributeOptions.ts"],"names":[],"mappings":"","file":"IAttributeOptions.js","sourcesContent":["import {METADATA_TYPE} from '../Constants';\nimport {IAbstractOptions} from './IAbstractOptions';\n\nexport interface IAttributeOptions extends IAbstractOptions {\n targetTypes: (METADATA_TYPE | string)[];\n propertyName?: string;\n attributes: any;\n}\n"],"sourceRoot":"../.."}
@@ -1,4 +1,4 @@
1
1
  import { IAbstractOptions } from './IAbstractOptions';
2
- export interface IEntityOptions extends IAbstractOptions {
3
- name?: string;
2
+ import { INamedOptions } from "./INamedOptions";
3
+ export interface IEntityOptions extends IAbstractOptions, INamedOptions {
4
4
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/lib/options/IEntityOptions.ts"],"names":[],"mappings":"","file":"IEntityOptions.js","sourcesContent":["import {IAbstractOptions} from './IAbstractOptions';\n\nexport interface IEntityOptions extends IAbstractOptions {\n\n name?: string;\n\n}\n"],"sourceRoot":"../.."}
1
+ {"version":3,"sources":["../../../src/lib/options/IEntityOptions.ts"],"names":[],"mappings":"","file":"IEntityOptions.js","sourcesContent":["import {IAbstractOptions} from './IAbstractOptions';\nimport {INamedOptions} from \"./INamedOptions\";\n\nexport interface IEntityOptions extends IAbstractOptions, INamedOptions {\n\n}\n"],"sourceRoot":"../.."}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Interface for naming
3
+ */
4
+ export interface INamedOptions {
5
+ /**
6
+ * Defined name for this entry
7
+ */
8
+ name?: string;
9
+ /**
10
+ * Set internal name for this entry for external source
11
+ */
12
+ internalName?: string;
13
+ }
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+
4
+ //# sourceMappingURL=INamedOptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/lib/options/INamedOptions.ts"],"names":[],"mappings":"","file":"INamedOptions.js","sourcesContent":["/**\n * Interface for naming\n */\nexport interface INamedOptions {\n\n /**\n * Defined name for this entry\n */\n name?: string;\n\n /**\n * Set internal name for this entry for external source\n */\n internalName?: string;\n\n}\n"],"sourceRoot":"../.."}
@@ -1,4 +1,4 @@
1
1
  import { IAbstractOptions } from './IAbstractOptions';
2
- export interface IObjectOptions extends IAbstractOptions {
3
- name?: string;
2
+ import { INamedOptions } from "./INamedOptions";
3
+ export interface IObjectOptions extends IAbstractOptions, INamedOptions {
4
4
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/lib/options/IObjectOptions.ts"],"names":[],"mappings":"","file":"IObjectOptions.js","sourcesContent":["import {IAbstractOptions} from './IAbstractOptions';\n\nexport interface IObjectOptions extends IAbstractOptions {\n\n name?: string;\n\n}\n"],"sourceRoot":"../.."}
1
+ {"version":3,"sources":["../../../src/lib/options/IObjectOptions.ts"],"names":[],"mappings":"","file":"IObjectOptions.js","sourcesContent":["import {IAbstractOptions} from './IAbstractOptions';\nimport {INamedOptions} from \"./INamedOptions\";\n\nexport interface IObjectOptions extends IAbstractOptions, INamedOptions {\n\n\n}\n"],"sourceRoot":"../.."}
@@ -2,6 +2,7 @@ import { JS_DATA_TYPES } from '../../lib/Constants';
2
2
  import { IAbstractOptions } from './IAbstractOptions';
3
3
  export interface IPropertyOptions extends IAbstractOptions {
4
4
  propertyName?: string;
5
+ internalName?: string;
5
6
  appended?: boolean;
6
7
  cardinality?: number | {
7
8
  min: number;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/lib/options/IPropertyOptions.ts"],"names":[],"mappings":"","file":"IPropertyOptions.js","sourcesContent":["import {JS_DATA_TYPES} from '../../lib/Constants';\nimport {IAbstractOptions} from './IAbstractOptions';\n\nexport interface IPropertyOptions extends IAbstractOptions {\n\n propertyName?: string;\n\n appended?: boolean;\n\n cardinality?: number | { min: number, max: number };\n\n format?: string;\n\n type?: JS_DATA_TYPES | any;\n\n /**\n * Mark if value is representation of unique identifier\n */\n identifier?: boolean;\n\n /**\n * Generate automatically values for identifier\n */\n generated?: boolean;\n\n /**\n * Mark if property is a pattern property\n */\n pattern?: boolean;\n\n\n /**\n * Mark if property is an array\n */\n array?: boolean;\n}\n"],"sourceRoot":"../.."}
1
+ {"version":3,"sources":["../../../src/lib/options/IPropertyOptions.ts"],"names":[],"mappings":"","file":"IPropertyOptions.js","sourcesContent":["import {JS_DATA_TYPES} from '../../lib/Constants';\nimport {IAbstractOptions} from './IAbstractOptions';\n\nexport interface IPropertyOptions extends IAbstractOptions {\n\n propertyName?: string;\n\n internalName?: string;\n\n appended?: boolean;\n\n cardinality?: number | { min: number, max: number };\n\n format?: string;\n\n type?: JS_DATA_TYPES | any;\n\n /**\n * Mark if value is representation of unique identifier\n */\n identifier?: boolean;\n\n /**\n * Generate automatically values for identifier\n */\n generated?: boolean;\n\n /**\n * Mark if property is a pattern property\n */\n pattern?: boolean;\n\n\n /**\n * Mark if property is an array\n */\n array?: boolean;\n}\n"],"sourceRoot":"../.."}
@@ -1,4 +1,8 @@
1
1
  import { IAbstractOptions } from './IAbstractOptions';
2
- export interface ISchemaOptions extends IAbstractOptions {
2
+ import { INamedOptions } from "./INamedOptions";
3
+ export interface ISchemaOptions extends IAbstractOptions, INamedOptions {
4
+ /**
5
+ * Inherited fromAn name of the schema must exists
6
+ */
3
7
  name: string;
4
8
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/lib/options/ISchemaOptions.ts"],"names":[],"mappings":"","file":"ISchemaOptions.js","sourcesContent":["import {IAbstractOptions} from './IAbstractOptions';\n\nexport interface ISchemaOptions extends IAbstractOptions {\n\n name: string;\n\n}\n"],"sourceRoot":"../.."}
1
+ {"version":3,"sources":["../../../src/lib/options/ISchemaOptions.ts"],"names":[],"mappings":"","file":"ISchemaOptions.js","sourcesContent":["import {IAbstractOptions} from './IAbstractOptions';\nimport {INamedOptions} from \"./INamedOptions\";\n\nexport interface ISchemaOptions extends IAbstractOptions, INamedOptions {\n\n /**\n * Inherited fromAn name of the schema must exists\n */\n name: string;\n\n}\n"],"sourceRoot":"../.."}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@allgemein/schema-api",
3
- "version": "1.5.24",
3
+ "version": "1.5.25",
4
4
  "description": "Library for schema api",
5
5
  "main": "index.js",
6
6
  "private": false,