@sybil-center/zkc-preparator
Version:
ZKCredential preparator
23 lines (22 loc) • 729 B
TypeScript
export type GraphNode = {
name: string;
isType: (value: any) => boolean;
spread?: boolean;
};
export type GraphLink = {
inputType: string;
outputType: string;
name: string;
transform: (value: any) => any;
};
export interface ITransformationGraph {
extend(nodes: GraphNode[], links: GraphLink[]): void;
transform<TOut = any, TIn = any>(value: TIn, links: string[]): TOut;
}
export declare class TransformationGraph implements ITransformationGraph {
private readonly nodes;
private readonly links;
extend(nodes: GraphNode[], links: GraphLink[]): void;
transform<TOut = any, TIn = any>(value: TIn, links: string[]): TOut;
toLastNode(links: string[]): GraphNode | undefined;
}