@metacall/protocol
Version:
Tool for deploying into MetaCall FaaS platform.
77 lines (76 loc) • 1.57 kB
TypeScript
export declare type DeployStatus = 'create' | 'ready' | 'fail';
export declare enum LogType {
Job = "job",
Deploy = "deploy"
}
export declare type LanguageId = 'node' | 'ts' | 'rb' | 'py' | 'cs' | 'cob' | 'file' | 'rpc';
export declare enum ValueId {
METACALL_BOOL = 0,
METACALL_CHAR = 1,
METACALL_SHORT = 2,
METACALL_INT = 3,
METACALL_LONG = 4,
METACALL_FLOAT = 5,
METACALL_DOUBLE = 6,
METACALL_STRING = 7,
METACALL_BUFFER = 8,
METACALL_ARRAY = 9,
METACALL_MAP = 10,
METACALL_PTR = 11,
METACALL_FUTURE = 12,
METACALL_FUNCTION = 13,
METACALL_NULL = 14,
METACALL_CLASS = 15,
METACALL_OBJECT = 16,
METACALL_SIZE = 17,
METACALL_INVALID = 18
}
interface Type {
name: string;
id: ValueId;
}
interface Return {
type: Type;
}
interface Argument {
name: string;
type: Type;
}
interface Signature {
ret: Return;
args: Argument[];
}
interface Func {
name: string;
signature: Signature;
async: boolean;
}
interface Scope {
name: string;
funcs: Func[];
classes: string[];
objects: string[];
}
interface Handle {
name: string;
scope: Scope;
}
export interface Deployment {
status: DeployStatus;
prefix: string;
suffix: string;
version: string;
packages: Record<LanguageId, Handle[]>;
ports: number[];
}
export interface Create {
suffix: string;
prefix: string;
version: string;
}
export declare type MetaCallJSON = {
language_id: LanguageId;
path: string;
scripts: string[];
};
export {};