sdj-esm
Version:
Self Described JSON - ESM
37 lines (36 loc) • 1.28 kB
TypeScript
import type { DescriptionJI, EntitySearch, Info, ItemSearch, SdJsonJI } from "../core/interfaces.js";
import type { IDataSdj, IDescriptionSdj, IJsonSdj } from "./class-interfaces.js";
import { SdjData } from "./data.js";
export declare class SdJson implements IJsonSdj {
private _data;
private _description;
private _lang;
private _sdInfo;
private _isLocked;
private _host;
private readonly log;
constructor(inJI: SdJsonJI | DescriptionJI);
get data(): IDataSdj[];
set data(inval: SdjData[]);
get description(): IDescriptionSdj;
set description(changeDesc: IDescriptionSdj);
get sdInfo(): Info;
get $sdInfo(): Info;
set $sdInfo(inInfo: Info);
get lang(): string;
get $lang(): string;
set $lang(inStr: string);
get isLocked(): boolean;
get isValid(): boolean;
lock(setLock: boolean): IDescriptionSdj | undefined;
dataByPath(dataPath: string): IDataSdj | undefined;
dataByEntity(searchEnt: EntitySearch, dataPath?: string): IDataSdj[];
dataByItem(searchItem: ItemSearch, dataPath?: string): IDataSdj[];
genJI(): SdJsonJI;
private build;
private createSubData;
private modifyInJson;
private validate;
private internalJI;
static VerifyJI(inJson: SdJsonJI): void;
}