@allgemein/schema-api 1.5.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/LICENSE +23 -0
- package/README.md +34 -0
- package/api/IBaseRef.d.ts +44 -0
- package/api/IBaseRef.js +4 -0
- package/api/IBaseRef.js.map +1 -0
- package/api/IBuildOptions.d.ts +31 -0
- package/api/IBuildOptions.js +4 -0
- package/api/IBuildOptions.js.map +1 -0
- package/api/IClassRef.d.ts +24 -0
- package/api/IClassRef.js +13 -0
- package/api/IClassRef.js.map +1 -0
- package/api/IEntityRef.d.ts +16 -0
- package/api/IEntityRef.js +11 -0
- package/api/IEntityRef.js.map +1 -0
- package/api/IJsonSchema.d.ts +11 -0
- package/api/IJsonSchema.js +26 -0
- package/api/IJsonSchema.js.map +1 -0
- package/api/ILookupRegistry.d.ts +60 -0
- package/api/ILookupRegistry.js +17 -0
- package/api/ILookupRegistry.js.map +1 -0
- package/api/IPropertyExtentions.d.ts +8 -0
- package/api/IPropertyExtentions.js +5 -0
- package/api/IPropertyExtentions.js.map +1 -0
- package/api/IPropertyRef.d.ts +28 -0
- package/api/IPropertyRef.js +13 -0
- package/api/IPropertyRef.js.map +1 -0
- package/api/ISchemaRef.d.ts +8 -0
- package/api/ISchemaRef.js +4 -0
- package/api/ISchemaRef.js.map +1 -0
- package/api/ISerializeSupport.d.ts +11 -0
- package/api/ISerializeSupport.js +26 -0
- package/api/ISerializeSupport.js.map +1 -0
- package/browser.d.ts +62 -0
- package/browser.js +117 -0
- package/browser.js.map +1 -0
- package/decorators/Embeddable.d.ts +2 -0
- package/decorators/Embeddable.js +14 -0
- package/decorators/Embeddable.js.map +1 -0
- package/decorators/Entity.d.ts +2 -0
- package/decorators/Entity.js +14 -0
- package/decorators/Entity.js.map +1 -0
- package/decorators/Namespace.d.ts +1 -0
- package/decorators/Namespace.js +20 -0
- package/decorators/Namespace.js.map +1 -0
- package/decorators/Property.d.ts +3 -0
- package/decorators/Property.js +59 -0
- package/decorators/Property.js.map +1 -0
- package/decorators/PropertyOf.d.ts +2 -0
- package/decorators/PropertyOf.js +28 -0
- package/decorators/PropertyOf.js.map +1 -0
- package/decorators/Schema.d.ts +2 -0
- package/decorators/Schema.js +14 -0
- package/decorators/Schema.js.map +1 -0
- package/decorators/validate/Hostname.d.ts +6 -0
- package/decorators/validate/Hostname.js +38 -0
- package/decorators/validate/Hostname.js.map +1 -0
- package/decorators/validate/Ip4.d.ts +6 -0
- package/decorators/validate/Ip4.js +37 -0
- package/decorators/validate/Ip4.js.map +1 -0
- package/decorators/validate/Ip6.d.ts +5 -0
- package/decorators/validate/Ip6.js +37 -0
- package/decorators/validate/Ip6.js.map +1 -0
- package/decorators/validate/IsEmail.d.ts +5 -0
- package/decorators/validate/IsEmail.js +37 -0
- package/decorators/validate/IsEmail.js.map +1 -0
- package/decorators/validate/IsNotEmpty.d.ts +5 -0
- package/decorators/validate/IsNotEmpty.js +36 -0
- package/decorators/validate/IsNotEmpty.js.map +1 -0
- package/decorators/validate/MaxLength.d.ts +6 -0
- package/decorators/validate/MaxLength.js +34 -0
- package/decorators/validate/MaxLength.js.map +1 -0
- package/decorators/validate/MinLength.d.ts +6 -0
- package/decorators/validate/MinLength.js +34 -0
- package/decorators/validate/MinLength.js.map +1 -0
- package/decorators/validate/Regex.d.ts +7 -0
- package/decorators/validate/Regex.js +46 -0
- package/decorators/validate/Regex.js.map +1 -0
- package/decorators/validate/Required.d.ts +5 -0
- package/decorators/validate/Required.js +34 -0
- package/decorators/validate/Required.js.map +1 -0
- package/decorators/validate/index.d.ts +9 -0
- package/decorators/validate/index.js +21 -0
- package/decorators/validate/index.js.map +1 -0
- package/index.d.ts +1 -0
- package/index.js +15 -0
- package/index.js.map +1 -0
- package/lib/AbstractRef.d.ts +26 -0
- package/lib/AbstractRef.js +126 -0
- package/lib/AbstractRef.js.map +1 -0
- package/lib/AnnotationsHelper.d.ts +7 -0
- package/lib/AnnotationsHelper.js +97 -0
- package/lib/AnnotationsHelper.js.map +1 -0
- package/lib/ClassRef.d.ts +120 -0
- package/lib/ClassRef.js +319 -0
- package/lib/ClassRef.js.map +1 -0
- package/lib/Constants.d.ts +45 -0
- package/lib/Constants.js +65 -0
- package/lib/Constants.js.map +1 -0
- package/lib/DataContainer.d.ts +31 -0
- package/lib/DataContainer.js +148 -0
- package/lib/DataContainer.js.map +1 -0
- package/lib/LookupRegistry.d.ts +36 -0
- package/lib/LookupRegistry.js +106 -0
- package/lib/LookupRegistry.js.map +1 -0
- package/lib/SchemaRef.d.ts +14 -0
- package/lib/SchemaRef.js +51 -0
- package/lib/SchemaRef.js.map +1 -0
- package/lib/SchemaUtils.d.ts +39 -0
- package/lib/SchemaUtils.js +129 -0
- package/lib/SchemaUtils.js.map +1 -0
- package/lib/json-schema/Constants.d.ts +2 -0
- package/lib/json-schema/Constants.js +7 -0
- package/lib/json-schema/Constants.js.map +1 -0
- package/lib/json-schema/IJsonSchemaSerializeOptions.d.ts +40 -0
- package/lib/json-schema/IJsonSchemaSerializeOptions.js +4 -0
- package/lib/json-schema/IJsonSchemaSerializeOptions.js.map +1 -0
- package/lib/json-schema/IJsonSchemaSerializer.d.ts +7 -0
- package/lib/json-schema/IJsonSchemaSerializer.js +4 -0
- package/lib/json-schema/IJsonSchemaSerializer.js.map +1 -0
- package/lib/json-schema/IJsonSchemaUnserializeOptions.d.ts +41 -0
- package/lib/json-schema/IJsonSchemaUnserializeOptions.js +4 -0
- package/lib/json-schema/IJsonSchemaUnserializeOptions.js.map +1 -0
- package/lib/json-schema/IJsonSchemaUnserializer.d.ts +5 -0
- package/lib/json-schema/IJsonSchemaUnserializer.js +4 -0
- package/lib/json-schema/IJsonSchemaUnserializer.js.map +1 -0
- package/lib/json-schema/IParseOptions.d.ts +16 -0
- package/lib/json-schema/IParseOptions.js +6 -0
- package/lib/json-schema/IParseOptions.js.map +1 -0
- package/lib/json-schema/JsonSchema.d.ts +22 -0
- package/lib/json-schema/JsonSchema.js +109 -0
- package/lib/json-schema/JsonSchema.js.map +1 -0
- package/lib/json-schema/JsonSchema7.d.ts +16 -0
- package/lib/json-schema/JsonSchema7.js +22 -0
- package/lib/json-schema/JsonSchema7.js.map +1 -0
- package/lib/json-schema/JsonSchema7Serializer.d.ts +42 -0
- package/lib/json-schema/JsonSchema7Serializer.js +438 -0
- package/lib/json-schema/JsonSchema7Serializer.js.map +1 -0
- package/lib/json-schema/JsonSchema7Unserializer.d.ts +60 -0
- package/lib/json-schema/JsonSchema7Unserializer.js +499 -0
- package/lib/json-schema/JsonSchema7Unserializer.js.map +1 -0
- package/lib/options/IAbstractOptions.d.ts +19 -0
- package/lib/options/IAbstractOptions.js +4 -0
- package/lib/options/IAbstractOptions.js.map +1 -0
- package/lib/options/IAttributeOptions.d.ts +7 -0
- package/lib/options/IAttributeOptions.js +4 -0
- package/lib/options/IAttributeOptions.js.map +1 -0
- package/lib/options/IEntityOptions.d.ts +4 -0
- package/lib/options/IEntityOptions.js +4 -0
- package/lib/options/IEntityOptions.js.map +1 -0
- package/lib/options/IObjectOptions.d.ts +4 -0
- package/lib/options/IObjectOptions.js +4 -0
- package/lib/options/IObjectOptions.js.map +1 -0
- package/lib/options/IPropertyOptions.d.ts +24 -0
- package/lib/options/IPropertyOptions.js +4 -0
- package/lib/options/IPropertyOptions.js.map +1 -0
- package/lib/options/ISchemaOptions.d.ts +4 -0
- package/lib/options/ISchemaOptions.js +4 -0
- package/lib/options/ISchemaOptions.js.map +1 -0
- package/lib/registry/AbstractRegistry.d.ts +91 -0
- package/lib/registry/AbstractRegistry.js +135 -0
- package/lib/registry/AbstractRegistry.js.map +1 -0
- package/lib/registry/Binding.d.ts +9 -0
- package/lib/registry/Binding.js +17 -0
- package/lib/registry/Binding.js.map +1 -0
- package/lib/registry/DefaultEntityRef.d.ts +30 -0
- package/lib/registry/DefaultEntityRef.js +60 -0
- package/lib/registry/DefaultEntityRef.js.map +1 -0
- package/lib/registry/DefaultNamespacedRegistry.d.ts +153 -0
- package/lib/registry/DefaultNamespacedRegistry.js +511 -0
- package/lib/registry/DefaultNamespacedRegistry.js.map +1 -0
- package/lib/registry/DefaultPropertyRef.d.ts +44 -0
- package/lib/registry/DefaultPropertyRef.js +175 -0
- package/lib/registry/DefaultPropertyRef.js.map +1 -0
- package/lib/registry/MetadataRegistry.d.ts +52 -0
- package/lib/registry/MetadataRegistry.js +186 -0
- package/lib/registry/MetadataRegistry.js.map +1 -0
- package/lib/registry/RegistryFactory.d.ts +43 -0
- package/lib/registry/RegistryFactory.js +109 -0
- package/lib/registry/RegistryFactory.js.map +1 -0
- package/lib/serializer/ISerializeOptions.d.ts +10 -0
- package/lib/serializer/ISerializeOptions.js +4 -0
- package/lib/serializer/ISerializeOptions.js.map +1 -0
- package/lib/serializer/ISerializer.d.ts +5 -0
- package/lib/serializer/ISerializer.js +4 -0
- package/lib/serializer/ISerializer.js.map +1 -0
- package/lib/serializer/ISerializerFactory.d.ts +13 -0
- package/lib/serializer/ISerializerFactory.js +4 -0
- package/lib/serializer/ISerializerFactory.js.map +1 -0
- package/lib/serializer/IUnserializeOptions.d.ts +14 -0
- package/lib/serializer/IUnserializeOptions.js +4 -0
- package/lib/serializer/IUnserializeOptions.js.map +1 -0
- package/lib/serializer/IUnserializer.d.ts +5 -0
- package/lib/serializer/IUnserializer.js +4 -0
- package/lib/serializer/IUnserializer.js.map +1 -0
- package/lib/serializer/SerializerRegistry.d.ts +8 -0
- package/lib/serializer/SerializerRegistry.js +20 -0
- package/lib/serializer/SerializerRegistry.js.map +1 -0
- package/lib/validation/DefaultValidator.d.ts +14 -0
- package/lib/validation/DefaultValidator.js +221 -0
- package/lib/validation/DefaultValidator.js.map +1 -0
- package/lib/validation/IValidateOptions.d.ts +4 -0
- package/lib/validation/IValidateOptions.js +4 -0
- package/lib/validation/IValidateOptions.js.map +1 -0
- package/lib/validation/IValidationError.d.ts +10 -0
- package/lib/validation/IValidationError.js +4 -0
- package/lib/validation/IValidationError.js.map +1 -0
- package/lib/validation/IValidationMessage.d.ts +4 -0
- package/lib/validation/IValidationMessage.js +4 -0
- package/lib/validation/IValidationMessage.js.map +1 -0
- package/lib/validation/IValidationOptions.d.ts +1 -0
- package/lib/validation/IValidationOptions.js +30 -0
- package/lib/validation/IValidationOptions.js.map +1 -0
- package/lib/validation/IValidationResult.d.ts +7 -0
- package/lib/validation/IValidationResult.js +4 -0
- package/lib/validation/IValidationResult.js.map +1 -0
- package/lib/validation/IValidator.d.ts +9 -0
- package/lib/validation/IValidator.js +4 -0
- package/lib/validation/IValidator.js.map +1 -0
- package/lib/validation/IValidatorEntry.d.ts +7 -0
- package/lib/validation/IValidatorEntry.js +4 -0
- package/lib/validation/IValidatorEntry.js.map +1 -0
- package/lib/validation/IValidatorHandle.d.ts +2 -0
- package/lib/validation/IValidatorHandle.js +4 -0
- package/lib/validation/IValidatorHandle.js.map +1 -0
- package/lib/validation/Validator.d.ts +17 -0
- package/lib/validation/Validator.js +54 -0
- package/lib/validation/Validator.js.map +1 -0
- package/package.json +73 -0
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { IClassRef } from '../../api/IClassRef';
|
|
2
|
+
import { IEntityRef } from '../../api/IEntityRef';
|
|
3
|
+
import { ISerializer } from '../serializer/ISerializer';
|
|
4
|
+
export interface IJsonSchemaSerializer extends ISerializer {
|
|
5
|
+
uri(): string;
|
|
6
|
+
serialize(klass: IClassRef | IEntityRef | Function | object): any;
|
|
7
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/lib/json-schema/IJsonSchemaSerializer.ts"],"names":[],"mappings":"","file":"IJsonSchemaSerializer.js","sourcesContent":["import {IClassRef} from '../../api/IClassRef';\nimport {IEntityRef} from '../../api/IEntityRef';\nimport {ISerializer} from '../serializer/ISerializer';\n\nexport interface IJsonSchemaSerializer extends ISerializer {\n\n uri(): string;\n\n serialize(klass: IClassRef | IEntityRef | Function | object): any;\n\n}\n"],"sourceRoot":"../.."}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { METADATA_TYPE } from '../Constants';
|
|
2
|
+
import { IParseOptions } from './IParseOptions';
|
|
3
|
+
import { IUnserializeOptions } from '../serializer/IUnserializeOptions';
|
|
4
|
+
export interface IJsonSchemaUnserializeOptions extends IParseOptions, IUnserializeOptions {
|
|
5
|
+
/**
|
|
6
|
+
* Version of json schema
|
|
7
|
+
*/
|
|
8
|
+
version?: 'draft-7' | string;
|
|
9
|
+
/**
|
|
10
|
+
* Key specific method for options extraction from json schema to entity or property options
|
|
11
|
+
*/
|
|
12
|
+
collector?: {
|
|
13
|
+
type: METADATA_TYPE;
|
|
14
|
+
key: string;
|
|
15
|
+
fn: (key: string, data: any, options: IParseOptions) => any;
|
|
16
|
+
}[];
|
|
17
|
+
/**
|
|
18
|
+
* If set then a new class ref will be created even if an with same name already exists.
|
|
19
|
+
*/
|
|
20
|
+
forceClassRefCreation?: boolean;
|
|
21
|
+
/**
|
|
22
|
+
* If set then a new entity ref will be created even if an with same name already exists.
|
|
23
|
+
*/
|
|
24
|
+
forceEntityRefCreation?: boolean;
|
|
25
|
+
/**
|
|
26
|
+
* If set then a new property ref for class ref will be created even if an with same name already exists.
|
|
27
|
+
*/
|
|
28
|
+
forcePropertyRefCreation?: boolean;
|
|
29
|
+
/**
|
|
30
|
+
* Is root object an entity.
|
|
31
|
+
*/
|
|
32
|
+
rootAsEntity?: boolean;
|
|
33
|
+
/**
|
|
34
|
+
* Prepend class name on object which is a property.
|
|
35
|
+
*/
|
|
36
|
+
prependClass?: boolean;
|
|
37
|
+
/**
|
|
38
|
+
* Current working directory
|
|
39
|
+
*/
|
|
40
|
+
cwd?: string;
|
|
41
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/lib/json-schema/IJsonSchemaUnserializeOptions.ts"],"names":[],"mappings":"","file":"IJsonSchemaUnserializeOptions.js","sourcesContent":["import {METADATA_TYPE} from '../Constants';\nimport {IParseOptions} from './IParseOptions';\nimport {IUnserializeOptions} from '../serializer/IUnserializeOptions';\n\nexport interface IJsonSchemaUnserializeOptions extends IParseOptions, IUnserializeOptions {\n\n /**\n * Version of json schema\n */\n version?: 'draft-7' | string;\n\n /**\n * Key specific method for options extraction from json schema to entity or property options\n */\n collector?: { type: METADATA_TYPE, key: string, fn: (key: string, data: any, options: IParseOptions) => any }[];\n\n /**\n * If set then a new class ref will be created even if an with same name already exists.\n */\n forceClassRefCreation?: boolean;\n\n /**\n * If set then a new entity ref will be created even if an with same name already exists.\n */\n forceEntityRefCreation?: boolean;\n\n /**\n * If set then a new property ref for class ref will be created even if an with same name already exists.\n */\n forcePropertyRefCreation?: boolean;\n\n\n /**\n * Is root object an entity.\n */\n rootAsEntity?: boolean;\n\n /**\n * Prepend class name on object which is a property.\n */\n prependClass?: boolean;\n\n /**\n * Current working directory\n */\n cwd?: string;\n}\n\n\n"],"sourceRoot":"../.."}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/lib/json-schema/IJsonSchemaUnserializer.ts"],"names":[],"mappings":"","file":"IJsonSchemaUnserializer.js","sourcesContent":["import {IUnserializer} from '../serializer/IUnserializer';\n\nexport interface IJsonSchemaUnserializer extends IUnserializer{\n\n uri(): string;\n\n unserialize(data: string): any;\n\n}\n"],"sourceRoot":"../.."}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { IClassRef } from '../../api/IClassRef';
|
|
2
|
+
import { METADATA_TYPE } from '../Constants';
|
|
3
|
+
export interface IParseOptions {
|
|
4
|
+
isRoot?: boolean;
|
|
5
|
+
ref?: IClassRef;
|
|
6
|
+
className?: string;
|
|
7
|
+
isProperty?: boolean;
|
|
8
|
+
propertyName?: string;
|
|
9
|
+
metaType?: METADATA_TYPE;
|
|
10
|
+
sourceRef?: IClassRef;
|
|
11
|
+
ignoreDeclared?: boolean;
|
|
12
|
+
asArray?: boolean;
|
|
13
|
+
$ref?: string;
|
|
14
|
+
isPattern?: boolean;
|
|
15
|
+
}
|
|
16
|
+
export declare const PARSE_OPTIONS_KEYS: (keyof IParseOptions)[];
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/lib/json-schema/IParseOptions.ts"],"names":[],"mappings":";;;AAmBa,QAAA,kBAAkB,GAA4B,CAAC,QAAQ,EAAE,WAAW,EAAE,gBAAgB,CAAC,CAAC","file":"IParseOptions.js","sourcesContent":["import {IClassRef} from '../../api/IClassRef';\nimport {METADATA_TYPE} from '../Constants';\n\n\nexport interface IParseOptions {\n isRoot?: boolean;\n ref?: IClassRef;\n className?: string;\n isProperty?: boolean;\n propertyName?: string;\n metaType?: METADATA_TYPE;\n sourceRef?: IClassRef;\n ignoreDeclared?: boolean;\n asArray?: boolean;\n $ref?: string;\n isPattern?: boolean;\n\n}\n\nexport const PARSE_OPTIONS_KEYS: (keyof IParseOptions)[] = ['isRoot', 'className', 'ignoreDeclared'];\n"],"sourceRoot":"../.."}
|
|
@@ -0,0 +1,22 @@
|
|
|
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';
|
|
10
|
+
export declare class JsonSchema implements ISerializerFactory {
|
|
11
|
+
static request(addr: string, opts?: any): Promise<any>;
|
|
12
|
+
static getSerializer(options?: IJsonSchemaSerializeOptions): JsonSchema7Serializer;
|
|
13
|
+
static getUnserializer(options?: IJsonSchemaUnserializeOptions): JsonSchema7Unserializer;
|
|
14
|
+
static serialize(klass: IClassRef | IEntityRef | Function | object, options?: IJsonSchemaSerializeOptions): import("./JsonSchema7").IJsonSchema7;
|
|
15
|
+
static unserialize(data: any, options?: IJsonSchemaUnserializeOptions): Promise<IClassRef | IEntityRef | (IClassRef | IEntityRef)[]>;
|
|
16
|
+
static detectSchemaVersion(schema: object, fallback?: string): string;
|
|
17
|
+
getName(): string;
|
|
18
|
+
getSerializer(options?: IJsonSchemaSerializeOptions): ISerializer;
|
|
19
|
+
getUnserializer(options?: IJsonSchemaUnserializeOptions): IUnserializer;
|
|
20
|
+
serialize(klass: IClassRef | IEntityRef | Function | object, options?: IJsonSchemaSerializeOptions): any;
|
|
21
|
+
unserialize(data: string, options?: IJsonSchemaUnserializeOptions): Promise<IClassRef | IEntityRef | (IClassRef | IEntityRef)[]>;
|
|
22
|
+
}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.JsonSchema = void 0;
|
|
13
|
+
const lodash_1 = require("lodash");
|
|
14
|
+
const JsonSchema7Serializer_1 = require("./JsonSchema7Serializer");
|
|
15
|
+
const Constants_1 = require("./Constants");
|
|
16
|
+
const base_1 = require("@allgemein/base");
|
|
17
|
+
const JsonSchema7Unserializer_1 = require("./JsonSchema7Unserializer");
|
|
18
|
+
class JsonSchema {
|
|
19
|
+
static request(addr, opts = {}) {
|
|
20
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
21
|
+
try {
|
|
22
|
+
if (addr.startsWith('file:///')) {
|
|
23
|
+
const buffer = yield base_1.PlatformUtils.readFile(addr.replace('file://', ''));
|
|
24
|
+
const strValue = buffer.toString(lodash_1.get(opts, 'encoding', 'utf8'));
|
|
25
|
+
return JSON.parse(strValue);
|
|
26
|
+
}
|
|
27
|
+
else if (addr.startsWith('.')) {
|
|
28
|
+
const cwd = opts.cwd ? opts.cwd : process.cwd();
|
|
29
|
+
const path = base_1.PlatformUtils.join(cwd, addr);
|
|
30
|
+
const buffer = yield base_1.PlatformUtils.readFile(path);
|
|
31
|
+
const strValue = buffer.toString(lodash_1.get(opts, 'encoding', 'utf8'));
|
|
32
|
+
return JSON.parse(strValue);
|
|
33
|
+
}
|
|
34
|
+
else if (base_1.PlatformUtils.isAbsolute(addr)) {
|
|
35
|
+
const buffer = yield base_1.PlatformUtils.readFile(addr);
|
|
36
|
+
const strValue = buffer.toString(lodash_1.get(opts, 'encoding', 'utf8'));
|
|
37
|
+
return JSON.parse(strValue);
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
const got = base_1.PlatformUtils.load('got');
|
|
41
|
+
const response = yield got(addr, opts);
|
|
42
|
+
return JSON.parse(response.body);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
catch (e) {
|
|
46
|
+
console.error(e);
|
|
47
|
+
return {};
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
static getSerializer(options = { version: Constants_1.DRAFT_07 }) {
|
|
52
|
+
options = options || {};
|
|
53
|
+
lodash_1.defaults(options, { version: Constants_1.DRAFT_07 });
|
|
54
|
+
switch (options.version) {
|
|
55
|
+
case Constants_1.DRAFT_07:
|
|
56
|
+
return new JsonSchema7Serializer_1.JsonSchema7Serializer(options);
|
|
57
|
+
}
|
|
58
|
+
return null;
|
|
59
|
+
}
|
|
60
|
+
static getUnserializer(options = { version: Constants_1.DRAFT_07 }) {
|
|
61
|
+
options = options || {};
|
|
62
|
+
lodash_1.defaults(options, { version: Constants_1.DRAFT_07 });
|
|
63
|
+
switch (options.version) {
|
|
64
|
+
case Constants_1.DRAFT_07:
|
|
65
|
+
return new JsonSchema7Unserializer_1.JsonSchema7Unserializer(options);
|
|
66
|
+
}
|
|
67
|
+
return null;
|
|
68
|
+
}
|
|
69
|
+
static serialize(klass, options) {
|
|
70
|
+
const serializer = JsonSchema.getSerializer(options);
|
|
71
|
+
return serializer.serialize(klass);
|
|
72
|
+
}
|
|
73
|
+
static unserialize(data, options) {
|
|
74
|
+
options = options ? options : {};
|
|
75
|
+
const schema = this.detectSchemaVersion(data);
|
|
76
|
+
options.version = schema;
|
|
77
|
+
const serializer = this.getUnserializer(options);
|
|
78
|
+
return serializer.unserialize(data);
|
|
79
|
+
}
|
|
80
|
+
static detectSchemaVersion(schema, fallback = Constants_1.DRAFT_07) {
|
|
81
|
+
if (schema['$schema']) {
|
|
82
|
+
if (lodash_1.isString(schema['$schema'])) {
|
|
83
|
+
const match = schema['$schema'].match(/json-schema.org\/(.*)\/schema/);
|
|
84
|
+
if (match && match[1]) {
|
|
85
|
+
return match[1];
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
return fallback;
|
|
90
|
+
}
|
|
91
|
+
getName() {
|
|
92
|
+
return Constants_1.JSON_SCHEMA_SERIALIZER;
|
|
93
|
+
}
|
|
94
|
+
getSerializer(options) {
|
|
95
|
+
return JsonSchema.getSerializer(options);
|
|
96
|
+
}
|
|
97
|
+
getUnserializer(options) {
|
|
98
|
+
return JsonSchema.getUnserializer(options);
|
|
99
|
+
}
|
|
100
|
+
serialize(klass, options) {
|
|
101
|
+
return JsonSchema.serialize(klass, options);
|
|
102
|
+
}
|
|
103
|
+
unserialize(data, options) {
|
|
104
|
+
return JsonSchema.unserialize(data, options);
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
exports.JsonSchema = JsonSchema;
|
|
108
|
+
|
|
109
|
+
//# sourceMappingURL=JsonSchema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/lib/json-schema/JsonSchema.ts"],"names":[],"mappings":"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","file":"JsonSchema.js","sourcesContent":["import {defaults, get, isString} from 'lodash';\n\nimport {IClassRef} from '../../api/IClassRef';\nimport {IEntityRef} from '../../api/IEntityRef';\nimport {JsonSchema7Serializer} from './JsonSchema7Serializer';\nimport {IJsonSchemaSerializeOptions} from './IJsonSchemaSerializeOptions';\nimport {IJsonSchemaUnserializeOptions} from './IJsonSchemaUnserializeOptions';\nimport {DRAFT_07, JSON_SCHEMA_SERIALIZER} from './Constants';\nimport {PlatformUtils} from '@allgemein/base';\nimport {JsonSchema7Unserializer} from './JsonSchema7Unserializer';\nimport {ISerializerFactory} from '../serializer/ISerializerFactory';\nimport {ISerializer} from '../serializer/ISerializer';\nimport {IUnserializer} from '../serializer/IUnserializer';\n\n\nexport class JsonSchema implements ISerializerFactory {\n\n\n static async request(addr: string, opts: any = {}) {\n try {\n if (addr.startsWith('file:///')) {\n const buffer = await PlatformUtils.readFile(addr.replace('file://', ''));\n const strValue = buffer.toString(get(opts, 'encoding', 'utf8'));\n return JSON.parse(strValue);\n } else if (addr.startsWith('.')) {\n const cwd = opts.cwd ? opts.cwd : process.cwd();\n const path = PlatformUtils.join(cwd, addr);\n const buffer = await PlatformUtils.readFile(path);\n const strValue = buffer.toString(get(opts, 'encoding', 'utf8'));\n return JSON.parse(strValue);\n } else if (PlatformUtils.isAbsolute(addr)) {\n const buffer = await PlatformUtils.readFile(addr);\n const strValue = buffer.toString(get(opts, 'encoding', 'utf8'));\n return JSON.parse(strValue);\n } else {\n const got = PlatformUtils.load('got');\n const response = await got(addr, opts);\n return JSON.parse(response.body);\n }\n } catch (e) {\n console.error(e);\n return {};\n }\n\n }\n\n\n static getSerializer(options: IJsonSchemaSerializeOptions = {version: DRAFT_07}) {\n options = options || {};\n defaults(options, {version: DRAFT_07});\n switch (options.version) {\n case DRAFT_07:\n return new JsonSchema7Serializer(options);\n }\n return null;\n }\n\n static getUnserializer(options: IJsonSchemaUnserializeOptions = {version: DRAFT_07}) {\n options = options || {};\n defaults(options, {version: DRAFT_07});\n switch (options.version) {\n case DRAFT_07:\n return new JsonSchema7Unserializer(options);\n }\n return null;\n }\n\n\n static serialize(klass: IClassRef | IEntityRef | Function | object, options?: IJsonSchemaSerializeOptions) {\n const serializer = JsonSchema.getSerializer(options);\n return serializer.serialize(klass);\n }\n\n\n static unserialize(data: any, options?: IJsonSchemaUnserializeOptions): Promise<IClassRef | IEntityRef | (IClassRef | IEntityRef)[]> {\n options = options ? options : {};\n const schema = this.detectSchemaVersion(data);\n options.version = schema;\n const serializer = this.getUnserializer(options);\n return serializer.unserialize(data);\n }\n\n\n static detectSchemaVersion(schema: object, fallback: string = DRAFT_07) {\n if (schema['$schema']) {\n if (isString(schema['$schema'])) {\n const match = schema['$schema'].match(/json-schema.org\\/(.*)\\/schema/);\n if (match && match[1]) {\n return match[1];\n }\n }\n }\n return fallback;\n }\n\n getName(): string {\n return JSON_SCHEMA_SERIALIZER;\n }\n\n getSerializer(options?: IJsonSchemaSerializeOptions): ISerializer {\n return JsonSchema.getSerializer(options);\n }\n\n getUnserializer(options?: IJsonSchemaUnserializeOptions): IUnserializer {\n return JsonSchema.getUnserializer(options);\n }\n\n serialize(klass: IClassRef | IEntityRef | Function | object, options?: IJsonSchemaSerializeOptions): any {\n return JsonSchema.serialize(klass, options);\n }\n\n unserialize(data: string, options?: IJsonSchemaUnserializeOptions): Promise<IClassRef | IEntityRef | (IClassRef | IEntityRef)[]> {\n return JsonSchema.unserialize(data, options);\n }\n\n\n}\n"],"sourceRoot":"../.."}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { JSONSchema7 } from 'json-schema';
|
|
2
|
+
import { IClassRef } from '../../api/IClassRef';
|
|
3
|
+
import { IEntityRef } from '../../api/IEntityRef';
|
|
4
|
+
export interface IJsonSchema7 extends JSONSchema7 {
|
|
5
|
+
$target?: Function | IClassRef | IEntityRef;
|
|
6
|
+
definitions?: {
|
|
7
|
+
[key: string]: IJsonSchema7Definition;
|
|
8
|
+
};
|
|
9
|
+
}
|
|
10
|
+
export declare type IJsonSchema7Definition = IJsonSchema7 | boolean;
|
|
11
|
+
export declare type IJsonSchema7TypeName = 'string' | 'number' | 'integer' | 'boolean' | 'object' | 'array' | 'null';
|
|
12
|
+
export declare const JSON_SCHEMA_7_TYPES: IJsonSchema7TypeName[];
|
|
13
|
+
export declare function hasClassInDefinition(name: string, def: IJsonSchema7): IJsonSchema7Definition;
|
|
14
|
+
export declare function hasClassPropertiesInDefinition(name: string, def: IJsonSchema7): {
|
|
15
|
+
[key: string]: import("json-schema").JSONSchema7Definition;
|
|
16
|
+
};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.hasClassPropertiesInDefinition = exports.hasClassInDefinition = exports.JSON_SCHEMA_7_TYPES = void 0;
|
|
4
|
+
exports.JSON_SCHEMA_7_TYPES = [
|
|
5
|
+
'string',
|
|
6
|
+
'number',
|
|
7
|
+
'integer',
|
|
8
|
+
'boolean',
|
|
9
|
+
'object',
|
|
10
|
+
'array',
|
|
11
|
+
'null'
|
|
12
|
+
];
|
|
13
|
+
function hasClassInDefinition(name, def) {
|
|
14
|
+
return def && def.definitions && def.definitions[name];
|
|
15
|
+
}
|
|
16
|
+
exports.hasClassInDefinition = hasClassInDefinition;
|
|
17
|
+
function hasClassPropertiesInDefinition(name, def) {
|
|
18
|
+
return hasClassInDefinition(name, def) && def.definitions[name].properties;
|
|
19
|
+
}
|
|
20
|
+
exports.hasClassPropertiesInDefinition = hasClassPropertiesInDefinition;
|
|
21
|
+
|
|
22
|
+
//# sourceMappingURL=JsonSchema7.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/lib/json-schema/JsonSchema7.ts"],"names":[],"mappings":";;;AAwBa,QAAA,mBAAmB,GAA2B;IACzD,QAAQ;IACN,QAAQ;IACR,SAAS;IACT,SAAS;IACT,QAAQ;IACR,OAAO;IACP,MAAM;CACT,CAAC;AAGF,SAAgB,oBAAoB,CAAC,IAAY,EAAE,GAAiB;IAClE,OAAO,GAAG,IAAI,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;AACzD,CAAC;AAFD,oDAEC;AAED,SAAgB,8BAA8B,CAAC,IAAY,EAAE,GAAiB;IAC5E,OAAO,oBAAoB,CAAC,IAAI,EAAE,GAAG,CAAC,IAAK,GAAG,CAAC,WAAW,CAAC,IAAI,CAAkB,CAAC,UAAU,CAAC;AAC/F,CAAC;AAFD,wEAEC","file":"JsonSchema7.js","sourcesContent":["import {JSONSchema7} from 'json-schema';\nimport {IClassRef} from '../../api/IClassRef';\nimport {IEntityRef} from '../../api/IEntityRef';\n\nexport interface IJsonSchema7 extends JSONSchema7 {\n $target?: Function | IClassRef | IEntityRef;\n definitions?: {\n [key: string]: IJsonSchema7Definition;\n };\n}\n\n\nexport type IJsonSchema7Definition = IJsonSchema7 | boolean;\n\n\nexport type IJsonSchema7TypeName =\n | 'string'\n | 'number'\n | 'integer'\n | 'boolean'\n | 'object'\n | 'array'\n | 'null';\n\nexport const JSON_SCHEMA_7_TYPES: IJsonSchema7TypeName[] = [\n 'string'\n , 'number'\n , 'integer'\n , 'boolean'\n , 'object'\n , 'array'\n , 'null'\n];\n\n\nexport function hasClassInDefinition(name: string, def: IJsonSchema7) {\n return def && def.definitions && def.definitions[name];\n}\n\nexport function hasClassPropertiesInDefinition(name: string, def: IJsonSchema7) {\n return hasClassInDefinition(name, def) && (def.definitions[name] as IJsonSchema7).properties;\n}\n"],"sourceRoot":"../.."}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { IJsonSchema7, IJsonSchema7Definition } from './JsonSchema7';
|
|
2
|
+
import { IClassRef } from '../../api/IClassRef';
|
|
3
|
+
import { IPropertyRef } from '../../api/IPropertyRef';
|
|
4
|
+
import { IJsonSchemaSerializer } from './IJsonSchemaSerializer';
|
|
5
|
+
import { IEntityRef } from '../../api/IEntityRef';
|
|
6
|
+
import { IJsonSchemaSerializeOptions } from './IJsonSchemaSerializeOptions';
|
|
7
|
+
import { IEntityOptions } from '../options/IEntityOptions';
|
|
8
|
+
import { IPropertyOptions } from '../options/IPropertyOptions';
|
|
9
|
+
export declare class JsonSchema7Serializer implements IJsonSchemaSerializer {
|
|
10
|
+
options: IJsonSchemaSerializeOptions;
|
|
11
|
+
data: IJsonSchema7;
|
|
12
|
+
current: string;
|
|
13
|
+
constructor(opts: IJsonSchemaSerializeOptions);
|
|
14
|
+
uri(): string;
|
|
15
|
+
private isCurrentClass;
|
|
16
|
+
serialize(klass: IClassRef | IEntityRef | Function | object): IJsonSchema7;
|
|
17
|
+
getJsonSchema(): IJsonSchema7;
|
|
18
|
+
private getOrCreateSchemaDefinitions;
|
|
19
|
+
private getOrCreateRoot;
|
|
20
|
+
applyRef(className: string): void;
|
|
21
|
+
describeEntityRef(klass: IEntityRef): IJsonSchema7;
|
|
22
|
+
describeClassRef(klass: IClassRef): IJsonSchema7;
|
|
23
|
+
private describeRef;
|
|
24
|
+
describeInheritedClass(root: IJsonSchema7, proto: IClassRef): void;
|
|
25
|
+
describeClass(klass: Function): IJsonSchema7;
|
|
26
|
+
appendProperties(data: any, properties: {
|
|
27
|
+
[k: string]: IJsonSchema7Definition;
|
|
28
|
+
}): void;
|
|
29
|
+
describePropertiesForFunction(klass: Function): {
|
|
30
|
+
[k: string]: IJsonSchema7Definition;
|
|
31
|
+
};
|
|
32
|
+
describePropertiesForRef(klass: IClassRef): {
|
|
33
|
+
[k: string]: IJsonSchema7Definition;
|
|
34
|
+
};
|
|
35
|
+
isAppendTargetSet(): boolean;
|
|
36
|
+
describePropertyForFunction(klass: Function | IClassRef, propertyName: string, instance?: any): IJsonSchema7Definition;
|
|
37
|
+
appendAdditionalOptions(propMeta: any, data: IEntityOptions | IPropertyOptions): void;
|
|
38
|
+
setDefaultArray(schema: IJsonSchema7): void;
|
|
39
|
+
describePropertyForRef(klass: IClassRef, property: IPropertyRef): IJsonSchema7Definition;
|
|
40
|
+
describeTargetRef(property: IPropertyRef, propMeta: any, mode: 'collection' | 'single'): void;
|
|
41
|
+
propertyPostproces(opt: IJsonSchema7): void;
|
|
42
|
+
}
|