sdj-esm
Version:
Self Described JSON - ESM
33 lines (32 loc) • 1.38 kB
TypeScript
import type { DescriptionJI, EntityJI, ILexicon, ItemJI, IValidator, SdJsonJI, SdKeyProps } from "../core/interfaces.js";
import type { ISdjHost, ISdjLexicons } from "./global-interfaces.js";
import type { IEntitySdj } from "../classes/class-interfaces.js";
export declare class SdjLexicons implements ISdjLexicons {
private _host;
private _names;
private _lexicons;
private _validators;
private readonly _baseItemIJs;
constructor(_host: ISdjHost, addLexicons: ILexicon[] | undefined | null);
get names(): string[];
getValidator(validatorType: string): IValidator;
getByName(lexName: string): ILexicon | undefined;
fullGraphJI(inDescJI: DescriptionJI): EntityJI[];
newBaseItems(): ItemJI[];
fullItemJI(inDescJI: DescriptionJI): ItemJI[];
validateRequires(descJI: DescriptionJI): boolean;
validateGraph(inDescJI: DescriptionJI): boolean;
verifyData(inJson: SdJsonJI, strict?: boolean): boolean;
calcSdKeyProps(entity: IEntitySdj, graph: IEntitySdj[]): SdKeyProps;
private defaultValidateGraphItems;
private checkExtendsRecursion;
private findLexicon;
private buildLexicon;
private removeEntityItemIds;
private adjustCheckItem;
private extendEntityKeys;
private getParentProps;
private assignSdProps;
private entityUniqSort;
static VerifyJI(lexicon: ILexicon): void;
}