sdj-esm
Version:
Self Described JSON - ESM
40 lines (39 loc) • 1.44 kB
TypeScript
import type { CoreSD, DataJI, ExtAllowedValue } from "../core/interfaces.js";
import type { IDataSdj, IEntitySdj } from "./class-interfaces.js";
export declare class SdjData implements CoreSD, IDataSdj {
$sdIndex: number;
private _sdId;
private _sdKey;
private _depth;
private _sdInfo?;
private _parentRef;
private _sdChildren;
private _data;
private _entity;
constructor(inData: DataJI, entityRef: IEntitySdj, parentRef?: SdjData | undefined);
get sdKey(): string;
get sdId(): number;
get data(): DataJI;
get entity(): IEntitySdj;
get path(): string;
get depth(): number;
set $depth(value: number);
get $depth(): number;
get parentRef(): IDataSdj | undefined;
get $parentRef(): SdjData | undefined;
set $parentRef(inParent: SdjData | undefined);
get sdChildren(): IDataSdj[] | undefined;
get $sdChildren(): SdjData[] | undefined;
get hasChildren(): boolean;
update(dataJI: DataJI): boolean;
setDataKey(dataKey: string, value: ExtAllowedValue): void;
getDataKey(dataKey: string): ExtAllowedValue;
$addChild(sdData: SdjData): void;
$removeChild(childRef: string | number): IDataSdj | undefined;
$modifySdInfo(): void;
getChild(optChildRef: string | number): IDataSdj | undefined;
isValid(): boolean;
genJI(withChildren?: boolean): DataJI;
private confirmEntity;
static VerifyJI(inData: DataJI): void;
}