microvium
Version:
A compact, embeddable scripting engine for microcontrollers for executing small scripts written in a subset of JavaScript.
55 lines (54 loc) • 1.25 kB
TypeScript
export declare enum SignalState {
SIGNAL_NO_MESSAGE = 0,
SIGNAL_MESSAGE_WAITING = 1
}
export declare const WORKER_THREAD_STATE_TRACE_SIZE = 256;
export declare enum WorkerThreadState {
CREATING = 0,
INITIAL = 1,
CONSTRUCTED = 2,
WAITING_TO_POST_MESSAGE = 3,
TIMEOUT = 4,
SIGNALLING_ERROR = 5,
BUFFER_READY_FOR_USE = 6,
MESSAGE_SIZE_ERROR = 7,
NOTIFYING_PRIMARY_THREAD = 8,
CLOSE = 9,
CLOSING = 10,
TRACE_OVERFLOW = 11,
IDLE = 12,
SOCKET_ERROR = 13,
CLIENT_CONNECTED = 14,
MESSAGE_FROM_PRIMARY_THREAD = 15,
EXCEPTION = 16
}
export interface WorkerData {
messageDataArray: Uint8Array;
signalingArray: Int32Array;
workerStateTrace: Int32Array;
port: number;
maxMessageSize: number;
timeout: number | undefined;
}
export declare type MessageFromWorker = {
type: 'listening';
port: number;
} | {
type: 'error';
error: any;
} | {
type: 'client-connected';
} | {
type: 'socket-event';
event: string;
data?: any;
} | {
type: 'debug-log';
args: any[];
};
export declare type MessageToWorker = {
action: 'send';
message: any;
} | {
action: 'close';
};