@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
TypeScript
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>;
}