@allgemein/schema-api
Version:
Library for schema api
69 lines (68 loc) • 2.92 kB
TypeScript
import { IJsonSchema7, IJsonSchema7Definition } from './JsonSchema7';
import { IClassRef } from '../../api/IClassRef';
import { IJsonSchemaUnserializeOptions } from './IJsonSchemaUnserializeOptions';
import { IJsonSchemaUnserializer } from './IJsonSchemaUnserializer';
import { IEntityRef } from '../../api/IEntityRef';
import { ClassRef } from '../ClassRef';
import { IParseOptions } from './IParseOptions';
import { IPropertyOptions } from '../options/IPropertyOptions';
export declare class JsonSchema7Unserializer implements IJsonSchemaUnserializer {
version: string;
options: IJsonSchemaUnserializeOptions;
data: IJsonSchema7;
classRefs: IClassRef[];
fetched: {
[k: string]: IJsonSchema7;
};
reference: {
[k: string]: any;
};
issues: {
msg: string;
level: 'error' | 'warning' | 'info';
}[];
constructor(opts: IJsonSchemaUnserializeOptions);
uri(): string;
unserialize(data: any): Promise<IClassRef | IEntityRef | (IClassRef | IEntityRef)[]>;
/**
* Return namespace if set in passed options or if used in json-schema object.
* If no match return default namespace
*/
getNamespace(): string;
/**
* Get registry containing elements
*/
getRegistry(ns?: string): import("../..").ILookupRegistry;
getIssues(): {
msg: string;
level: "error" | "warning" | "info";
}[];
/**
* If collectors are defined use them before default
*
*
* @param type
* @param key
* @param data
* @param options
* @private
*/
private collectOptions;
getClassRef(className: string | Function, namespace?: string): ClassRef;
parse(data: IJsonSchema7, options?: IParseOptions): Promise<IClassRef | IEntityRef | (IClassRef | IEntityRef)[]>;
parseRef(data: any, options: IParseOptions): Promise<any>;
getDefinitionsKey(data: any): string;
followRef($ref: string, data: IJsonSchema7): Promise<any>;
parseProperties(classRef: IClassRef | IEntityRef, properties: {
[propertyName: string]: IJsonSchema7Definition;
}, options?: IParseOptions): Promise<void>;
parseProperty(classRef: IClassRef | IEntityRef, propertyName: string, data: IJsonSchema7Definition, options?: IParseOptions): Promise<void>;
hasProperties(datapointer: any): boolean;
hasPatternProperties(datapointer: any): boolean;
onTypes(dataPointer: IJsonSchema7, propOptions: IPropertyOptions, options: IParseOptions): Promise<void>;
onTypeString(dataPointer: any): any;
parseInherits(classRef: IClassRef, data: IJsonSchema7, key: 'allOf' | 'anyOf'): Promise<void>;
parseTypeObject(data: IJsonSchema7, options?: IParseOptions): Promise<IEntityRef | IClassRef>;
collectAndProcess(data: IJsonSchema7, collectingObject: any, skipKeys: string[], collectorOptions: IParseOptions): any;
getClassNameFromRef(data: string): string;
}