@allgemein/schema-api 1.7.1 → 1.8.0
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/README.md +104 -1
- package/api/IBaseRef.d.ts +2 -2
- package/api/IBaseRef.js +1 -2
- package/api/IBuildOptions.d.ts +2 -2
- package/api/IBuildOptions.js +1 -2
- package/api/IClassRef.d.ts +5 -5
- package/api/IClassRef.js +3 -6
- package/api/IClassRef.js.map +1 -1
- package/api/IEntityRef.d.ts +5 -5
- package/api/IEntityRef.js +3 -6
- package/api/IEntityRef.js.map +1 -1
- package/api/IJsonSchema.d.ts +4 -4
- package/api/IJsonSchema.js +3 -8
- package/api/IJsonSchema.js.map +1 -1
- package/api/ILookupRegistry.d.ts +6 -6
- package/api/ILookupRegistry.js +6 -9
- package/api/ILookupRegistry.js.map +1 -1
- package/api/IPropertyExtentions.d.ts +1 -1
- package/api/IPropertyExtentions.js +1 -2
- package/api/IPropertyExtentions.js.map +1 -1
- package/api/IPropertyRef.d.ts +3 -3
- package/api/IPropertyRef.js +3 -6
- package/api/IPropertyRef.js.map +1 -1
- package/api/ISchemaRef.d.ts +2 -2
- package/api/ISchemaRef.js +1 -2
- package/api/ISerializeSupport.d.ts +4 -4
- package/api/ISerializeSupport.js +3 -8
- package/api/ISerializeSupport.js.map +1 -1
- package/browser.d.ts +65 -65
- package/browser.js +43 -112
- package/browser.js.map +1 -1
- package/decorators/Embeddable.d.ts +1 -1
- package/decorators/Embeddable.js +4 -7
- package/decorators/Embeddable.js.map +1 -1
- package/decorators/Entity.d.ts +1 -1
- package/decorators/Entity.js +4 -7
- package/decorators/Entity.js.map +1 -1
- package/decorators/Namespace.js +7 -10
- package/decorators/Namespace.js.map +1 -1
- package/decorators/Property.d.ts +1 -1
- package/decorators/Property.js +19 -22
- package/decorators/Property.js.map +1 -1
- package/decorators/PropertyOf.d.ts +1 -1
- package/decorators/PropertyOf.js +6 -9
- package/decorators/PropertyOf.js.map +1 -1
- package/decorators/Schema.d.ts +1 -1
- package/decorators/Schema.js +4 -7
- package/decorators/Schema.js.map +1 -1
- package/decorators/validate/Hostname.d.ts +1 -1
- package/decorators/validate/Hostname.js +12 -16
- package/decorators/validate/Hostname.js.map +1 -1
- package/decorators/validate/Ip4.d.ts +1 -1
- package/decorators/validate/Ip4.js +11 -15
- package/decorators/validate/Ip4.js.map +1 -1
- package/decorators/validate/Ip6.d.ts +1 -1
- package/decorators/validate/Ip6.js +11 -15
- package/decorators/validate/Ip6.js.map +1 -1
- package/decorators/validate/IsEmail.d.ts +1 -1
- package/decorators/validate/IsEmail.js +10 -14
- package/decorators/validate/IsEmail.js.map +1 -1
- package/decorators/validate/IsNotEmpty.d.ts +1 -1
- package/decorators/validate/IsNotEmpty.js +11 -14
- package/decorators/validate/IsNotEmpty.js.map +1 -1
- package/decorators/validate/MaxLength.d.ts +1 -1
- package/decorators/validate/MaxLength.js +9 -12
- package/decorators/validate/MaxLength.js.map +1 -1
- package/decorators/validate/MinLength.d.ts +1 -1
- package/decorators/validate/MinLength.js +9 -12
- package/decorators/validate/MinLength.js.map +1 -1
- package/decorators/validate/Regex.d.ts +1 -1
- package/decorators/validate/Regex.js +10 -13
- package/decorators/validate/Regex.js.map +1 -1
- package/decorators/validate/Required.d.ts +1 -1
- package/decorators/validate/Required.js +9 -12
- package/decorators/validate/Required.js.map +1 -1
- package/decorators/validate/index.d.ts +8 -8
- package/decorators/validate/index.js +9 -19
- package/decorators/validate/index.js.map +1 -1
- package/index.d.ts +1 -1
- package/index.js +1 -17
- package/index.js.map +1 -1
- package/lib/AbstractRef.d.ts +4 -4
- package/lib/AbstractRef.js +29 -33
- package/lib/AbstractRef.js.map +1 -1
- package/lib/AnnotationsHelper.d.ts +2 -2
- package/lib/AnnotationsHelper.js +30 -34
- package/lib/AnnotationsHelper.js.map +1 -1
- package/lib/ClassRef.d.ts +7 -7
- package/lib/ClassRef.js +62 -66
- package/lib/ClassRef.js.map +1 -1
- package/lib/Constants.js +42 -45
- package/lib/Constants.js.map +1 -1
- package/lib/DataContainer.d.ts +6 -6
- package/lib/DataContainer.js +17 -21
- package/lib/DataContainer.js.map +1 -1
- package/lib/LookupRegistry.js +13 -17
- package/lib/LookupRegistry.js.map +1 -1
- package/lib/SchemaRef.d.ts +7 -7
- package/lib/SchemaRef.js +11 -15
- package/lib/SchemaRef.js.map +1 -1
- package/lib/SchemaUtils.d.ts +3 -3
- package/lib/SchemaUtils.js +19 -23
- package/lib/SchemaUtils.js.map +1 -1
- package/lib/functions.d.ts +2 -2
- package/lib/functions.js +7 -10
- package/lib/functions.js.map +1 -1
- package/lib/json-schema/Constants.js +3 -6
- package/lib/json-schema/Constants.js.map +1 -1
- package/lib/json-schema/IJsonSchemaSerializeOptions.d.ts +4 -4
- package/lib/json-schema/IJsonSchemaSerializeOptions.js +1 -2
- package/lib/json-schema/IJsonSchemaSerializer.d.ts +3 -3
- package/lib/json-schema/IJsonSchemaSerializer.js +1 -2
- package/lib/json-schema/IJsonSchemaUnserializeOptions.d.ts +3 -3
- package/lib/json-schema/IJsonSchemaUnserializeOptions.js +1 -2
- package/lib/json-schema/IJsonSchemaUnserializer.d.ts +1 -1
- package/lib/json-schema/IJsonSchemaUnserializer.js +1 -2
- package/lib/json-schema/IParseOptions.d.ts +2 -2
- package/lib/json-schema/IParseOptions.js +1 -4
- package/lib/json-schema/IParseOptions.js.map +1 -1
- package/lib/json-schema/JsonSchema.d.ts +10 -10
- package/lib/json-schema/JsonSchema.js +26 -30
- package/lib/json-schema/JsonSchema.js.map +1 -1
- package/lib/json-schema/JsonSchema7.d.ts +2 -2
- package/lib/json-schema/JsonSchema7.js +3 -8
- package/lib/json-schema/JsonSchema7.js.map +1 -1
- package/lib/json-schema/JsonSchema7Serializer.d.ts +9 -9
- package/lib/json-schema/JsonSchema7Serializer.js +93 -97
- package/lib/json-schema/JsonSchema7Serializer.js.map +1 -1
- package/lib/json-schema/JsonSchema7Unserializer.d.ts +10 -10
- package/lib/json-schema/JsonSchema7Unserializer.js +99 -103
- package/lib/json-schema/JsonSchema7Unserializer.js.map +1 -1
- package/lib/json-schema/functions.d.ts +2 -2
- package/lib/json-schema/functions.js +8 -12
- package/lib/json-schema/functions.js.map +1 -1
- package/lib/options/IAbstractOptions.d.ts +1 -1
- package/lib/options/IAbstractOptions.js +1 -2
- package/lib/options/IAttributeOptions.d.ts +2 -2
- package/lib/options/IAttributeOptions.js +1 -2
- package/lib/options/IEntityOptions.d.ts +2 -2
- package/lib/options/IEntityOptions.js +1 -2
- package/lib/options/INamedOptions.js +1 -2
- package/lib/options/IObjectOptions.d.ts +2 -2
- package/lib/options/IObjectOptions.js +1 -2
- package/lib/options/IPropertyOptions.d.ts +2 -2
- package/lib/options/IPropertyOptions.js +1 -2
- package/lib/options/ISchemaOptions.d.ts +2 -2
- package/lib/options/ISchemaOptions.js +1 -2
- package/lib/registry/AbstractRegistry.d.ts +8 -8
- package/lib/registry/AbstractRegistry.js +19 -23
- package/lib/registry/AbstractRegistry.js.map +1 -1
- package/lib/registry/Binding.d.ts +1 -1
- package/lib/registry/Binding.js +1 -5
- package/lib/registry/Binding.js.map +1 -1
- package/lib/registry/DefaultEntityRef.d.ts +9 -9
- package/lib/registry/DefaultEntityRef.js +10 -14
- package/lib/registry/DefaultEntityRef.js.map +1 -1
- package/lib/registry/DefaultNamespacedRegistry.d.ts +14 -14
- package/lib/registry/DefaultNamespacedRegistry.js +122 -126
- package/lib/registry/DefaultNamespacedRegistry.js.map +1 -1
- package/lib/registry/DefaultPropertyRef.d.ts +7 -7
- package/lib/registry/DefaultPropertyRef.js +42 -46
- package/lib/registry/DefaultPropertyRef.js.map +1 -1
- package/lib/registry/IRegistryOptions.js +1 -2
- package/lib/registry/MetadataRegistry.d.ts +8 -8
- package/lib/registry/MetadataRegistry.js +29 -33
- package/lib/registry/MetadataRegistry.js.map +1 -1
- package/lib/registry/RegistryFactory.d.ts +3 -3
- package/lib/registry/RegistryFactory.js +19 -23
- package/lib/registry/RegistryFactory.js.map +1 -1
- package/lib/serializer/ISerializeOptions.js +1 -2
- package/lib/serializer/ISerializer.d.ts +2 -2
- package/lib/serializer/ISerializer.js +1 -2
- package/lib/serializer/ISerializerFactory.d.ts +6 -6
- package/lib/serializer/ISerializerFactory.js +1 -2
- package/lib/serializer/IUnserializeOptions.js +1 -2
- package/lib/serializer/IUnserializer.d.ts +2 -2
- package/lib/serializer/IUnserializer.js +1 -2
- package/lib/serializer/SerializerRegistry.d.ts +1 -1
- package/lib/serializer/SerializerRegistry.js +3 -7
- package/lib/serializer/SerializerRegistry.js.map +1 -1
- package/lib/validation/DefaultValidator.d.ts +5 -5
- package/lib/validation/DefaultValidator.js +32 -36
- package/lib/validation/DefaultValidator.js.map +1 -1
- package/lib/validation/IValidateOptions.js +1 -2
- package/lib/validation/IValidationError.js +1 -2
- package/lib/validation/IValidationMessage.js +1 -2
- package/lib/validation/IValidationOptions.d.ts +1 -0
- package/lib/validation/IValidationOptions.js +1 -0
- package/lib/validation/IValidationOptions.js.map +1 -1
- package/lib/validation/IValidationResult.d.ts +1 -1
- package/lib/validation/IValidationResult.js +1 -2
- package/lib/validation/IValidator.d.ts +1 -1
- package/lib/validation/IValidator.js +1 -2
- package/lib/validation/IValidatorEntry.d.ts +1 -1
- package/lib/validation/IValidatorEntry.js +1 -2
- package/lib/validation/IValidatorHandle.js +1 -2
- package/lib/validation/Validator.d.ts +4 -4
- package/lib/validation/Validator.js +7 -11
- package/lib/validation/Validator.js.map +1 -1
- package/package.json +3 -2
package/lib/LookupRegistry.js
CHANGED
|
@@ -1,49 +1,46 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const lodash_1 = require("lodash");
|
|
5
|
-
const Constants_1 = require("./Constants");
|
|
6
|
-
class LookupRegistry {
|
|
1
|
+
import { has, isEmpty, remove } from '@allgemein/base';
|
|
2
|
+
import { DEFAULT_NAMESPACE } from './Constants.js';
|
|
3
|
+
export class LookupRegistry {
|
|
7
4
|
constructor(namespace) {
|
|
8
|
-
this.namespace =
|
|
5
|
+
this.namespace = DEFAULT_NAMESPACE;
|
|
9
6
|
this._entries = {};
|
|
10
7
|
this.namespace = namespace;
|
|
11
8
|
}
|
|
12
9
|
getNamespace() {
|
|
13
10
|
return this.namespace;
|
|
14
11
|
}
|
|
15
|
-
static reset(namespace =
|
|
12
|
+
static reset(namespace = DEFAULT_NAMESPACE) {
|
|
16
13
|
if (this.$self[namespace]) {
|
|
17
14
|
delete this.$self[namespace];
|
|
18
15
|
}
|
|
19
16
|
}
|
|
20
|
-
static $(namespace =
|
|
17
|
+
static $(namespace = DEFAULT_NAMESPACE) {
|
|
21
18
|
if (!this.$self[namespace]) {
|
|
22
19
|
this.$self[namespace] = new LookupRegistry(namespace);
|
|
23
20
|
}
|
|
24
21
|
return this.$self[namespace];
|
|
25
22
|
}
|
|
26
23
|
list(context) {
|
|
27
|
-
if (!
|
|
24
|
+
if (!has(this._entries, context)) {
|
|
28
25
|
this._entries[context] = [];
|
|
29
26
|
}
|
|
30
27
|
return this._entries[context];
|
|
31
28
|
}
|
|
32
29
|
add(context, entry) {
|
|
33
|
-
if (!
|
|
30
|
+
if (!has(this._entries, context)) {
|
|
34
31
|
this._entries[context] = [];
|
|
35
32
|
}
|
|
36
33
|
this._entries[context].push(entry);
|
|
37
34
|
return entry;
|
|
38
35
|
}
|
|
39
36
|
remove(context, search) {
|
|
40
|
-
if (!
|
|
37
|
+
if (!has(this._entries, context)) {
|
|
41
38
|
this._entries[context] = [];
|
|
42
39
|
}
|
|
43
|
-
return
|
|
40
|
+
return remove(this._entries[context], search);
|
|
44
41
|
}
|
|
45
42
|
filter(context, search) {
|
|
46
|
-
if (!
|
|
43
|
+
if (!has(this._entries, context)) {
|
|
47
44
|
this._entries[context] = [];
|
|
48
45
|
}
|
|
49
46
|
if (search) {
|
|
@@ -52,7 +49,7 @@ class LookupRegistry {
|
|
|
52
49
|
return this._entries[context];
|
|
53
50
|
}
|
|
54
51
|
find(context, search) {
|
|
55
|
-
if (!
|
|
52
|
+
if (!has(this._entries, context)) {
|
|
56
53
|
this._entries[context] = [];
|
|
57
54
|
}
|
|
58
55
|
return this._entries[context].find(search);
|
|
@@ -96,13 +93,12 @@ class LookupRegistry {
|
|
|
96
93
|
const namespaces = Object.keys(this.$self);
|
|
97
94
|
for (const namespace of namespaces) {
|
|
98
95
|
const found = this.$self[namespace].filter(context, search);
|
|
99
|
-
if (!
|
|
96
|
+
if (!isEmpty(found)) {
|
|
100
97
|
results.push(...found);
|
|
101
98
|
}
|
|
102
99
|
}
|
|
103
100
|
return results;
|
|
104
101
|
}
|
|
105
102
|
}
|
|
106
|
-
exports.LookupRegistry = LookupRegistry;
|
|
107
103
|
LookupRegistry.$self = {};
|
|
108
104
|
//# sourceMappingURL=LookupRegistry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LookupRegistry.js","sourceRoot":"","sources":["../../../src/lib/LookupRegistry.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"LookupRegistry.js","sourceRoot":"","sources":["../../../src/lib/LookupRegistry.ts"],"names":[],"mappings":"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"}
|
package/lib/SchemaRef.d.ts
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { AbstractRef } from './AbstractRef';
|
|
2
|
-
import { ISchemaOptions } from './options/ISchemaOptions';
|
|
3
|
-
import { METADATA_TYPE } from './Constants';
|
|
4
|
-
import { IClassRef } from '../api/IClassRef';
|
|
5
|
-
import { ISchemaRef } from '../api/ISchemaRef';
|
|
6
|
-
import { IEntityRef } from '../api/IEntityRef';
|
|
1
|
+
import { AbstractRef } from './AbstractRef.js';
|
|
2
|
+
import { ISchemaOptions } from './options/ISchemaOptions.js';
|
|
3
|
+
import { METADATA_TYPE } from './Constants.js';
|
|
4
|
+
import { IClassRef } from '../api/IClassRef.js';
|
|
5
|
+
import { ISchemaRef } from '../api/ISchemaRef.js';
|
|
6
|
+
import { IEntityRef } from '../api/IEntityRef.js';
|
|
7
7
|
export declare class SchemaRef extends AbstractRef implements ISchemaRef {
|
|
8
8
|
constructor(options?: ISchemaOptions);
|
|
9
9
|
id(): string;
|
|
10
|
-
getRegistry(): import("
|
|
10
|
+
getRegistry(): import("../browser.js").ILookupRegistry;
|
|
11
11
|
getClassRefFor(object: string | Function | IClassRef, type: METADATA_TYPE): IClassRef;
|
|
12
12
|
getEntityRefFor(value: string | Function): IEntityRef;
|
|
13
13
|
getEntityRefs(): IEntityRef[];
|
package/lib/SchemaRef.js
CHANGED
|
@@ -1,32 +1,29 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
const Constants_1 = require("./Constants");
|
|
7
|
-
const RegistryFactory_1 = require("./registry/RegistryFactory");
|
|
8
|
-
class SchemaRef extends AbstractRef_1.AbstractRef {
|
|
1
|
+
import { isFunction, isString } from '@allgemein/base';
|
|
2
|
+
import { AbstractRef } from './AbstractRef.js';
|
|
3
|
+
import { METATYPE_ENTITY, METATYPE_SCHEMA } from './Constants.js';
|
|
4
|
+
import { RegistryFactory } from './registry/RegistryFactory.js';
|
|
5
|
+
export class SchemaRef extends AbstractRef {
|
|
9
6
|
constructor(options = { name: 'default' }) {
|
|
10
|
-
super(
|
|
7
|
+
super(METATYPE_SCHEMA, options.name, null, options.namespace);
|
|
11
8
|
this.setOptions(options);
|
|
12
9
|
}
|
|
13
10
|
id() {
|
|
14
11
|
return this.name.toLowerCase();
|
|
15
12
|
}
|
|
16
13
|
getRegistry() {
|
|
17
|
-
return
|
|
14
|
+
return RegistryFactory.get(this.namespace);
|
|
18
15
|
}
|
|
19
16
|
getClassRefFor(object, type) {
|
|
20
17
|
return this.getRegistry().getClassRefFor(object, type);
|
|
21
18
|
}
|
|
22
19
|
getEntityRefFor(value) {
|
|
23
20
|
return this.getRegistry()
|
|
24
|
-
.find(
|
|
21
|
+
.find(METATYPE_ENTITY, (b) => {
|
|
25
22
|
let schemaCheck = false;
|
|
26
|
-
if (
|
|
23
|
+
if (isString(value)) {
|
|
27
24
|
schemaCheck = b.name === value || b.getClassRef().name === value;
|
|
28
25
|
}
|
|
29
|
-
else if (
|
|
26
|
+
else if (isFunction(value)) {
|
|
30
27
|
schemaCheck = b.getClass() === value;
|
|
31
28
|
}
|
|
32
29
|
if (schemaCheck) {
|
|
@@ -39,12 +36,11 @@ class SchemaRef extends AbstractRef_1.AbstractRef {
|
|
|
39
36
|
}
|
|
40
37
|
getEntityRefs() {
|
|
41
38
|
return this.getRegistry()
|
|
42
|
-
.filter(
|
|
39
|
+
.filter(METATYPE_ENTITY, (b) => {
|
|
43
40
|
let schemas = b.getOptions('schema');
|
|
44
41
|
schemas = schemas ? schemas : [];
|
|
45
42
|
return schemas.includes(this.name);
|
|
46
43
|
});
|
|
47
44
|
}
|
|
48
45
|
}
|
|
49
|
-
exports.SchemaRef = SchemaRef;
|
|
50
46
|
//# sourceMappingURL=SchemaRef.js.map
|
package/lib/SchemaRef.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SchemaRef.js","sourceRoot":"","sources":["../../../src/lib/SchemaRef.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"SchemaRef.js","sourceRoot":"","sources":["../../../src/lib/SchemaRef.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAE,QAAQ,EAAC,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAC,WAAW,EAAC,MAAM,kBAAkB,CAAC;AAE7C,OAAO,EAAgB,eAAe,EAAE,eAAe,EAAC,MAAM,gBAAgB,CAAC;AAC/E,OAAO,EAAC,eAAe,EAAC,MAAM,+BAA+B,CAAC;AAM9D,MAAM,OAAO,SAAU,SAAQ,WAAW;IAGxC,YAAY,UAA0B,EAAC,IAAI,EAAE,SAAS,EAAC;QACrD,KAAK,CAAC,eAAe,EAAE,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;QAC9D,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IAC3B,CAAC;IAGD,EAAE;QACA,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;IACjC,CAAC;IAGD,WAAW;QACT,OAAO,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC7C,CAAC;IAGD,cAAc,CAAC,MAAqC,EACrC,IAAmB;QAChC,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACzD,CAAC;IAGD,eAAe,CAAC,KAAwB;QACtC,OAAO,IAAI,CAAC,WAAW,EAAE;aACtB,IAAI,CAAC,eAAe,EACnB,CAAC,CAAa,EAAE,EAAE;YAChB,IAAI,WAAW,GAAG,KAAK,CAAC;YACxB,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBACpB,WAAW,GAAG,CAAC,CAAC,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,KAAK,KAAK,CAAC;YACnE,CAAC;iBAAM,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC7B,WAAW,GAAG,CAAC,CAAC,QAAQ,EAAE,KAAK,KAAK,CAAC;YACvC,CAAC;YACD,IAAI,WAAW,EAAE,CAAC;gBAChB,IAAI,OAAO,GAAG,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;gBACrC,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjC,OAAO,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACrC,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC,CACF,CAAC;IACN,CAAC;IAGD,aAAa;QACX,OAAO,IAAI,CAAC,WAAW,EAAE;aACtB,MAAM,CAAC,eAAe,EACrB,CAAC,CAAa,EAAE,EAAE;YAChB,IAAI,OAAO,GAAG,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YACrC,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YACjC,OAAO,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrC,CAAC,CACF,CAAC;IACN,CAAC;CASF"}
|
package/lib/SchemaUtils.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { IClassRef } from '../api/IClassRef';
|
|
2
|
-
import { IEntityRef } from '../api/IEntityRef';
|
|
3
|
-
import { IBuildOptions } from '../api/IBuildOptions';
|
|
1
|
+
import { IClassRef } from '../api/IClassRef.js';
|
|
2
|
+
import { IEntityRef } from '../api/IEntityRef.js';
|
|
3
|
+
import { IBuildOptions } from '../api/IBuildOptions.js';
|
|
4
4
|
export declare class SchemaUtils {
|
|
5
5
|
/**
|
|
6
6
|
* convert an json entry to an instance of given entityRef type
|
package/lib/SchemaUtils.js
CHANGED
|
@@ -1,13 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
const IClassRef_1 = require("../api/IClassRef");
|
|
7
|
-
const IEntityRef_1 = require("../api/IEntityRef");
|
|
8
|
-
const base_1 = require("@allgemein/base");
|
|
1
|
+
import { assign, get, isArray, isEmpty, isFunction, isNull, isSet, isUndefined } from '@allgemein/base';
|
|
2
|
+
import { C_PROP_NAME, OPT_CREAT_AND_COPY } from './Constants.js';
|
|
3
|
+
import { isClassRef } from '../api/IClassRef.js';
|
|
4
|
+
import { isEntityRef } from '../api/IEntityRef.js';
|
|
5
|
+
import { NotYetImplementedError } from '@allgemein/base';
|
|
9
6
|
let anonId = 0;
|
|
10
|
-
class SchemaUtils {
|
|
7
|
+
export class SchemaUtils {
|
|
11
8
|
/**
|
|
12
9
|
* convert an json entry to an instance of given entityRef type
|
|
13
10
|
*
|
|
@@ -22,19 +19,19 @@ class SchemaUtils {
|
|
|
22
19
|
*
|
|
23
20
|
*/
|
|
24
21
|
static transform(entityRef, data, options = {}) {
|
|
25
|
-
let object = entityRef.create(!
|
|
22
|
+
let object = entityRef.create(!isUndefined(options.skipClassNamespaceInfo) ? !options.skipClassNamespaceInfo : true);
|
|
26
23
|
if (options.beforeBuild) {
|
|
27
24
|
options.beforeBuild(entityRef, data, object, options);
|
|
28
25
|
}
|
|
29
|
-
if (!
|
|
26
|
+
if (!get(options, OPT_CREAT_AND_COPY, false)) {
|
|
30
27
|
for (let p of entityRef.getPropertyRefs()) {
|
|
31
|
-
if ((
|
|
28
|
+
if ((isNull(data[p.name]) || isUndefined(data[p.name]))) {
|
|
32
29
|
//object[p.name] = null;
|
|
33
30
|
continue;
|
|
34
31
|
}
|
|
35
32
|
if (p.isReference()) {
|
|
36
33
|
let ref = p.getTargetRef();
|
|
37
|
-
if (p.isCollection() ||
|
|
34
|
+
if (p.isCollection() || isArray(data[p.name])) {
|
|
38
35
|
object[p.name] = [];
|
|
39
36
|
for (let i = 0; i < data[p.name].length; i++) {
|
|
40
37
|
object[p.name][i] = ref.build(data[p.name][i], options);
|
|
@@ -45,7 +42,7 @@ class SchemaUtils {
|
|
|
45
42
|
}
|
|
46
43
|
}
|
|
47
44
|
else {
|
|
48
|
-
if (p.isCollection() && (
|
|
45
|
+
if (p.isCollection() && (isArray(data[p.name]) || isSet(data[p.name]))) {
|
|
49
46
|
object[p.name] = [];
|
|
50
47
|
for (let i = 0; i < data[p.name].length; i++) {
|
|
51
48
|
let v = data[p.name][i];
|
|
@@ -57,8 +54,8 @@ class SchemaUtils {
|
|
|
57
54
|
}
|
|
58
55
|
}
|
|
59
56
|
}
|
|
60
|
-
else if (p.isCollection() && !(
|
|
61
|
-
throw new
|
|
57
|
+
else if (p.isCollection() && !(isArray(data[p.name]) || isSet(data[p.name]))) {
|
|
58
|
+
throw new NotYetImplementedError();
|
|
62
59
|
}
|
|
63
60
|
else {
|
|
64
61
|
object[p.name] = p.convert(data[p.name], options);
|
|
@@ -67,7 +64,7 @@ class SchemaUtils {
|
|
|
67
64
|
}
|
|
68
65
|
}
|
|
69
66
|
else {
|
|
70
|
-
|
|
67
|
+
assign(object, data);
|
|
71
68
|
}
|
|
72
69
|
if (options.afterBuild) {
|
|
73
70
|
options.afterBuild(entityRef, data, object, options);
|
|
@@ -81,7 +78,7 @@ class SchemaUtils {
|
|
|
81
78
|
*/
|
|
82
79
|
static clazz(str) {
|
|
83
80
|
const X = this.clazzAnonymous();
|
|
84
|
-
Object.defineProperty(X,
|
|
81
|
+
Object.defineProperty(X, C_PROP_NAME, { value: str });
|
|
85
82
|
return X;
|
|
86
83
|
}
|
|
87
84
|
/**
|
|
@@ -102,19 +99,19 @@ class SchemaUtils {
|
|
|
102
99
|
*/
|
|
103
100
|
static getInherited(klass) {
|
|
104
101
|
const proto = Reflect.getPrototypeOf(klass);
|
|
105
|
-
if (proto.name && !
|
|
102
|
+
if (proto.name && !isEmpty(proto.name) && proto.name !== Object.name && proto.name !== klass.name) {
|
|
106
103
|
return proto;
|
|
107
104
|
}
|
|
108
105
|
return null;
|
|
109
106
|
}
|
|
110
107
|
static getFunction(klass) {
|
|
111
|
-
if (
|
|
108
|
+
if (isEntityRef(klass)) {
|
|
112
109
|
return klass.getClassRef().getClass(true);
|
|
113
110
|
}
|
|
114
|
-
else if (
|
|
111
|
+
else if (isClassRef(klass)) {
|
|
115
112
|
return klass.getClass(true);
|
|
116
113
|
}
|
|
117
|
-
else if (
|
|
114
|
+
else if (isFunction(klass)) {
|
|
118
115
|
return klass;
|
|
119
116
|
}
|
|
120
117
|
throw new Error('no class found in ' + klass);
|
|
@@ -129,5 +126,4 @@ class SchemaUtils {
|
|
|
129
126
|
return 'undefined';
|
|
130
127
|
}
|
|
131
128
|
}
|
|
132
|
-
exports.SchemaUtils = SchemaUtils;
|
|
133
129
|
//# sourceMappingURL=SchemaUtils.js.map
|
package/lib/SchemaUtils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SchemaUtils.js","sourceRoot":"","sources":["../../../src/lib/SchemaUtils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"SchemaUtils.js","sourceRoot":"","sources":["../../../src/lib/SchemaUtils.ts"],"names":[],"mappings":"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"}
|
package/lib/functions.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { IClassRef } from "../api/IClassRef";
|
|
2
|
-
import { IEntityRef } from "../api/IEntityRef";
|
|
1
|
+
import { IClassRef } from "../api/IClassRef.js";
|
|
2
|
+
import { IEntityRef } from "../api/IEntityRef.js";
|
|
3
3
|
export declare function getClassName(klass: Function | IClassRef | IEntityRef): string;
|
package/lib/functions.js
CHANGED
|
@@ -1,18 +1,15 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
const base_1 = require("@allgemein/base");
|
|
7
|
-
function getClassName(klass) {
|
|
8
|
-
if ((0, IEntityRef_1.isEntityRef)(klass)) {
|
|
1
|
+
import { isClassRef } from "../api/IClassRef.js";
|
|
2
|
+
import { isEntityRef } from "../api/IEntityRef.js";
|
|
3
|
+
import { ClassUtils } from "@allgemein/base";
|
|
4
|
+
export function getClassName(klass) {
|
|
5
|
+
if (isEntityRef(klass)) {
|
|
9
6
|
return klass.getClassRef().name;
|
|
10
7
|
}
|
|
11
|
-
else if (
|
|
8
|
+
else if (isClassRef(klass)) {
|
|
12
9
|
return klass.name;
|
|
13
10
|
}
|
|
14
11
|
else {
|
|
15
|
-
return
|
|
12
|
+
return ClassUtils.getClassName(klass);
|
|
16
13
|
}
|
|
17
14
|
}
|
|
18
15
|
//# sourceMappingURL=functions.js.map
|
package/lib/functions.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"functions.js","sourceRoot":"","sources":["../../../src/lib/functions.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"functions.js","sourceRoot":"","sources":["../../../src/lib/functions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,UAAU,EAAC,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAa,WAAW,EAAC,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAC;AAE3C,MAAM,UAAU,YAAY,CAAC,KAAwC;IACnE,IAAI,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC;IAClC,CAAC;SAAM,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO,KAAK,CAAC,IAAI,CAAC;IACpB,CAAC;SAAM,CAAC;QACN,OAAO,UAAU,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IACxC,CAAC;AACH,CAAC"}
|
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
exports.JSON_SCHEMA_SERIALIZER = 'json-schema';
|
|
5
|
-
exports.DRAFT_07 = 'draft-07';
|
|
6
|
-
exports.C_ONLY_DECORATED = 'onlyDecorated';
|
|
1
|
+
export const JSON_SCHEMA_SERIALIZER = 'json-schema';
|
|
2
|
+
export const DRAFT_07 = 'draft-07';
|
|
3
|
+
export const C_ONLY_DECORATED = 'onlyDecorated';
|
|
7
4
|
//# sourceMappingURL=Constants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Constants.js","sourceRoot":"","sources":["../../../../src/lib/json-schema/Constants.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Constants.js","sourceRoot":"","sources":["../../../../src/lib/json-schema/Constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,sBAAsB,GAAG,aAAa,CAAC;AACpD,MAAM,CAAC,MAAM,QAAQ,GAAG,UAAU,CAAC;AAEnC,MAAM,CAAC,MAAM,gBAAgB,GAAG,eAAe,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { IJsonSchemaSerializer } from './IJsonSchemaSerializer';
|
|
2
|
-
import { ISerializeOptions } from '../serializer/ISerializeOptions';
|
|
3
|
-
import { IPropertyRef } from '../../api/IPropertyRef';
|
|
4
|
-
import { IClassRef } from "../../api/IClassRef";
|
|
1
|
+
import { IJsonSchemaSerializer } from './IJsonSchemaSerializer.js';
|
|
2
|
+
import { ISerializeOptions } from '../serializer/ISerializeOptions.js';
|
|
3
|
+
import { IPropertyRef } from '../../api/IPropertyRef.js';
|
|
4
|
+
import { IClassRef } from "../../api/IClassRef.js";
|
|
5
5
|
export interface IJsonSchemaSerializeOptions extends ISerializeOptions {
|
|
6
6
|
/**
|
|
7
7
|
* Version of json schema
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { IClassRef } from '../../api/IClassRef';
|
|
2
|
-
import { IEntityRef } from '../../api/IEntityRef';
|
|
3
|
-
import { ISerializer } from '../serializer/ISerializer';
|
|
1
|
+
import { IClassRef } from '../../api/IClassRef.js';
|
|
2
|
+
import { IEntityRef } from '../../api/IEntityRef.js';
|
|
3
|
+
import { ISerializer } from '../serializer/ISerializer.js';
|
|
4
4
|
export interface IJsonSchemaSerializer extends ISerializer {
|
|
5
5
|
uri(): string;
|
|
6
6
|
serialize(klass: IClassRef | IEntityRef | Function | object): any;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { METADATA_TYPE } from '../Constants';
|
|
2
|
-
import { IParseOptions } from './IParseOptions';
|
|
3
|
-
import { IUnserializeOptions } from '../serializer/IUnserializeOptions';
|
|
1
|
+
import { METADATA_TYPE } from '../Constants.js';
|
|
2
|
+
import { IParseOptions } from './IParseOptions.js';
|
|
3
|
+
import { IUnserializeOptions } from '../serializer/IUnserializeOptions.js';
|
|
4
4
|
export interface IJsonSchemaUnserializeOptions extends IParseOptions, IUnserializeOptions {
|
|
5
5
|
/**
|
|
6
6
|
* Version of json schema
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { IClassRef } from '../../api/IClassRef';
|
|
2
|
-
import { METADATA_TYPE } from '../Constants';
|
|
1
|
+
import { IClassRef } from '../../api/IClassRef.js';
|
|
2
|
+
import { METADATA_TYPE } from '../Constants.js';
|
|
3
3
|
export interface IParseOptions {
|
|
4
4
|
isRoot?: boolean;
|
|
5
5
|
ref?: IClassRef;
|
|
@@ -1,5 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.PARSE_OPTIONS_KEYS = void 0;
|
|
4
|
-
exports.PARSE_OPTIONS_KEYS = ['isRoot', 'className', 'ignoreDeclared'];
|
|
1
|
+
export const PARSE_OPTIONS_KEYS = ['isRoot', 'className', 'ignoreDeclared'];
|
|
5
2
|
//# sourceMappingURL=IParseOptions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IParseOptions.js","sourceRoot":"","sources":["../../../../src/lib/json-schema/IParseOptions.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"IParseOptions.js","sourceRoot":"","sources":["../../../../src/lib/json-schema/IParseOptions.ts"],"names":[],"mappings":"AAmBA,MAAM,CAAC,MAAM,kBAAkB,GAA4B,CAAC,QAAQ,EAAE,WAAW,EAAE,gBAAgB,CAAC,CAAC"}
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
import { IClassRef } from '../../api/IClassRef';
|
|
2
|
-
import { IEntityRef } from '../../api/IEntityRef';
|
|
3
|
-
import { JsonSchema7Serializer } from './JsonSchema7Serializer';
|
|
4
|
-
import { IJsonSchemaSerializeOptions } from './IJsonSchemaSerializeOptions';
|
|
5
|
-
import { IJsonSchemaUnserializeOptions } from './IJsonSchemaUnserializeOptions';
|
|
6
|
-
import { JsonSchema7Unserializer } from './JsonSchema7Unserializer';
|
|
7
|
-
import { ISerializerFactory } from '../serializer/ISerializerFactory';
|
|
8
|
-
import { ISerializer } from '../serializer/ISerializer';
|
|
9
|
-
import { IUnserializer } from '../serializer/IUnserializer';
|
|
1
|
+
import { IClassRef } from '../../api/IClassRef.js';
|
|
2
|
+
import { IEntityRef } from '../../api/IEntityRef.js';
|
|
3
|
+
import { JsonSchema7Serializer } from './JsonSchema7Serializer.js';
|
|
4
|
+
import { IJsonSchemaSerializeOptions } from './IJsonSchemaSerializeOptions.js';
|
|
5
|
+
import { IJsonSchemaUnserializeOptions } from './IJsonSchemaUnserializeOptions.js';
|
|
6
|
+
import { JsonSchema7Unserializer } from './JsonSchema7Unserializer.js';
|
|
7
|
+
import { ISerializerFactory } from '../serializer/ISerializerFactory.js';
|
|
8
|
+
import { ISerializer } from '../serializer/ISerializer.js';
|
|
9
|
+
import { IUnserializer } from '../serializer/IUnserializer.js';
|
|
10
10
|
export declare class JsonSchema implements ISerializerFactory {
|
|
11
11
|
static request(addr: string, opts?: any): Promise<any>;
|
|
12
12
|
static getSerializer(options?: IJsonSchemaSerializeOptions): JsonSchema7Serializer;
|
|
13
13
|
static getUnserializer(options?: IJsonSchemaUnserializeOptions): JsonSchema7Unserializer;
|
|
14
|
-
static serialize(klass: IClassRef | IEntityRef | Function | object, options?: IJsonSchemaSerializeOptions): import("./JsonSchema7").IJsonSchema7;
|
|
14
|
+
static serialize(klass: IClassRef | IEntityRef | Function | object, options?: IJsonSchemaSerializeOptions): import("./JsonSchema7.js").IJsonSchema7;
|
|
15
15
|
static unserialize(data: any, options?: IJsonSchemaUnserializeOptions): Promise<IClassRef | IEntityRef | (IClassRef | IEntityRef)[]>;
|
|
16
16
|
static detectSchemaVersion(schema: any, fallback?: string): string;
|
|
17
17
|
getName(): string;
|
|
@@ -1,33 +1,30 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
const base_1 = require("@allgemein/base");
|
|
8
|
-
const JsonSchema7Unserializer_1 = require("./JsonSchema7Unserializer");
|
|
9
|
-
class JsonSchema {
|
|
1
|
+
import { defaults, get, isString } from '@allgemein/base';
|
|
2
|
+
import { JsonSchema7Serializer } from './JsonSchema7Serializer.js';
|
|
3
|
+
import { DRAFT_07, JSON_SCHEMA_SERIALIZER } from './Constants.js';
|
|
4
|
+
import { PlatformUtils } from '@allgemein/base';
|
|
5
|
+
import { JsonSchema7Unserializer } from './JsonSchema7Unserializer.js';
|
|
6
|
+
export class JsonSchema {
|
|
10
7
|
static async request(addr, opts = {}) {
|
|
11
8
|
try {
|
|
12
9
|
if (addr.startsWith('file:///')) {
|
|
13
|
-
const buffer = await
|
|
14
|
-
const strValue = buffer.toString(
|
|
10
|
+
const buffer = await PlatformUtils.readFile(addr.replace('file://', ''));
|
|
11
|
+
const strValue = buffer.toString(get(opts, 'encoding', 'utf8'));
|
|
15
12
|
return JSON.parse(strValue);
|
|
16
13
|
}
|
|
17
14
|
else if (addr.startsWith('.')) {
|
|
18
15
|
const cwd = opts.cwd ? opts.cwd : process.cwd();
|
|
19
|
-
const path =
|
|
20
|
-
const buffer = await
|
|
21
|
-
const strValue = buffer.toString(
|
|
16
|
+
const path = PlatformUtils.join(cwd, addr);
|
|
17
|
+
const buffer = await PlatformUtils.readFile(path);
|
|
18
|
+
const strValue = buffer.toString(get(opts, 'encoding', 'utf8'));
|
|
22
19
|
return JSON.parse(strValue);
|
|
23
20
|
}
|
|
24
|
-
else if (
|
|
25
|
-
const buffer = await
|
|
26
|
-
const strValue = buffer.toString(
|
|
21
|
+
else if (PlatformUtils.isAbsolute(addr)) {
|
|
22
|
+
const buffer = await PlatformUtils.readFile(addr);
|
|
23
|
+
const strValue = buffer.toString(get(opts, 'encoding', 'utf8'));
|
|
27
24
|
return JSON.parse(strValue);
|
|
28
25
|
}
|
|
29
26
|
else {
|
|
30
|
-
const got =
|
|
27
|
+
const got = PlatformUtils.load('got');
|
|
31
28
|
const response = await got(addr, opts);
|
|
32
29
|
return JSON.parse(response.body);
|
|
33
30
|
}
|
|
@@ -37,21 +34,21 @@ class JsonSchema {
|
|
|
37
34
|
return {};
|
|
38
35
|
}
|
|
39
36
|
}
|
|
40
|
-
static getSerializer(options = { version:
|
|
37
|
+
static getSerializer(options = { version: DRAFT_07 }) {
|
|
41
38
|
options = options || {};
|
|
42
|
-
|
|
39
|
+
defaults(options, { version: DRAFT_07 });
|
|
43
40
|
switch (options.version) {
|
|
44
|
-
case
|
|
45
|
-
return new
|
|
41
|
+
case DRAFT_07:
|
|
42
|
+
return new JsonSchema7Serializer(options);
|
|
46
43
|
}
|
|
47
44
|
return null;
|
|
48
45
|
}
|
|
49
|
-
static getUnserializer(options = { version:
|
|
46
|
+
static getUnserializer(options = { version: DRAFT_07 }) {
|
|
50
47
|
options = options || {};
|
|
51
|
-
|
|
48
|
+
defaults(options, { version: DRAFT_07 });
|
|
52
49
|
switch (options.version) {
|
|
53
|
-
case
|
|
54
|
-
return new
|
|
50
|
+
case DRAFT_07:
|
|
51
|
+
return new JsonSchema7Unserializer(options);
|
|
55
52
|
}
|
|
56
53
|
return null;
|
|
57
54
|
}
|
|
@@ -66,9 +63,9 @@ class JsonSchema {
|
|
|
66
63
|
const serializer = this.getUnserializer(options);
|
|
67
64
|
return serializer.unserialize(data);
|
|
68
65
|
}
|
|
69
|
-
static detectSchemaVersion(schema, fallback =
|
|
66
|
+
static detectSchemaVersion(schema, fallback = DRAFT_07) {
|
|
70
67
|
if (schema['$schema']) {
|
|
71
|
-
if (
|
|
68
|
+
if (isString(schema['$schema'])) {
|
|
72
69
|
const match = schema['$schema'].match(/json-schema.org\/(.*)\/schema/);
|
|
73
70
|
if (match && match[1]) {
|
|
74
71
|
return match[1];
|
|
@@ -78,7 +75,7 @@ class JsonSchema {
|
|
|
78
75
|
return fallback;
|
|
79
76
|
}
|
|
80
77
|
getName() {
|
|
81
|
-
return
|
|
78
|
+
return JSON_SCHEMA_SERIALIZER;
|
|
82
79
|
}
|
|
83
80
|
getSerializer(options) {
|
|
84
81
|
return JsonSchema.getSerializer(options);
|
|
@@ -93,5 +90,4 @@ class JsonSchema {
|
|
|
93
90
|
return JsonSchema.unserialize(data, options);
|
|
94
91
|
}
|
|
95
92
|
}
|
|
96
|
-
exports.JsonSchema = JsonSchema;
|
|
97
93
|
//# sourceMappingURL=JsonSchema.js.map
|