mirror of
https://github.com/fluencelabs/aqua.git
synced 2024-12-04 22:50:18 +00:00
70 lines
1.2 KiB
TypeScript
70 lines
1.2 KiB
TypeScript
import type { FunctionCallDef, ServiceDef } from "@fluencelabs/interfaces";
|
|
|
|
export class AquaConfig {
|
|
constructor(
|
|
logLevel?: string,
|
|
constants?: string[],
|
|
noXor?: boolean,
|
|
noRelay?: boolean,
|
|
targetType?: string,
|
|
tracing?: boolean,
|
|
);
|
|
|
|
logLevel?: string;
|
|
constants?: string[];
|
|
noXor?: boolean;
|
|
noRelay?: boolean;
|
|
targetType?: string;
|
|
tracing?: boolean;
|
|
}
|
|
|
|
export class AquaFunction {
|
|
funcDef: FunctionCallDef;
|
|
script: string;
|
|
}
|
|
|
|
export class GeneratedSource {
|
|
name: string;
|
|
tsSource?: string;
|
|
jsSource?: string;
|
|
tsTypes?: string;
|
|
}
|
|
|
|
export class CompilationResult {
|
|
services: Record<string, ServiceDef>;
|
|
functions: Record<string, AquaFunction>;
|
|
functionCall?: AquaFunction;
|
|
errors: string[];
|
|
generatedSources: GeneratedSource[];
|
|
}
|
|
|
|
export class Input {
|
|
constructor(input: string);
|
|
|
|
input: string;
|
|
}
|
|
|
|
export class Path {
|
|
constructor(path: string);
|
|
|
|
path: string;
|
|
}
|
|
|
|
export class Call {
|
|
constructor(functionCall: string, arguments: any, input: Input | Path);
|
|
|
|
functionCall: string;
|
|
arguments: any;
|
|
input: Input | Path;
|
|
}
|
|
|
|
export class Compiler {
|
|
compile(
|
|
input: Input | Path | Call,
|
|
imports: string[],
|
|
config?: AquaConfig,
|
|
): Promise<CompilationResult>;
|
|
}
|
|
|
|
export var Aqua: Compiler;
|