UNPKG

@comyata/fe

Version:

Execute YAML and JSON files like programs and get clean data to work with as result.

28 lines (27 loc) 1.14 kB
import { DataFile } from '@comyata/fe/DataFile'; import { DataNode, IDataNode } from '@comyata/run/DataNode'; import { ImportContext } from '@comyata/fe/FileEngine'; export declare class DataRef<TNode extends IDataNode> { file?: DataFile; /** * The parsed data to use for computing. */ node?: TNode | IDataNode; /** * The loaded data value to use for parsing. */ value?: { current: unknown; }; constructor(file: DataRef<TNode>['file']); static withValue<TNode extends DataNode>(file: DataRef<TNode>['file'], value: unknown): DataRef<TNode>; } export declare class DataFileRegistry<TNode extends IDataNode> { readonly files: Map<string, DataFile<TNode>>; refs: Map<DataFile<TNode>, DataRef<TNode>>; fileLoader: Map<DataFile<TNode>, () => Promise<unknown>>; fileLoaderListener: Map<DataFile<TNode>, ((fileValue: unknown, err?: any) => void)[]>; private readonly resolveFile; constructor(resolveFile: DataFileRegistry<TNode>['resolveFile'], initialFiles?: DataFile<TNode>[]); fileRef(fileUrl: string, importContext?: ImportContext): DataFile<TNode>; }