UNPKG

microvium

Version:

A compact, embeddable scripting engine for microcontrollers for executing small scripts written in a subset of JavaScript.

34 lines (33 loc) 1.26 kB
/// <reference types="node" /> import * as VM from './virtual-machine-types'; import * as IL from './il'; import { StringifyILOpts } from './stringify-il'; export declare const ENGINE_MAJOR_VERSION = 8; export declare const HEADER_SIZE = 28; export declare const ENGINE_MINOR_VERSION = 0; /** * A snapshot represents the state of the machine captured at a specific moment * in time. * * Note: Handles are not part of the snapshot. Handles represent references from * the host into the VM. These references are severed at the time that VM is * snapshotted. */ export interface SnapshotIL { globalSlots: Map<VM.GlobalSlotID, VM.GlobalSlot>; functions: Map<IL.FunctionID, IL.Function>; exports: Map<IL.ExportID, IL.Value>; allocations: Map<IL.AllocationID, IL.Allocation>; flags: Set<IL.ExecutionFlag>; builtins: { arrayPrototype: IL.Value; promisePrototype: IL.Value; asyncContinue: IL.Value; asyncCatchBlock: IL.Value; asyncHostCallback: IL.Value; }; } export declare function stringifySnapshotIL(snapshot: SnapshotIL, opts?: StringifyILOpts): string; export declare function validateSnapshotBinary(bytecode: Buffer): { err: string; } | undefined;