UNPKG

rpcchannel

Version:

Easy RPC with permission controls

28 lines (27 loc) 1.28 kB
export declare const toRpcSerialized: unique symbol; declare type Primitive = undefined | null | void | boolean | number | string | BigInt; declare type SerializableArray = SerializableData[]; declare type SerializationFuncObject = { [toRpcSerialized]: SerializationFunction; }; declare type SerializableObject = { [key: string]: SerializableData; } | SerializationFuncObject; export declare type SerializableData = Primitive | SerializableArray | SerializableObject | Transferable | Error; declare type SerializedArray = SerializedData[]; declare type SerializedObject = { [key: string]: SerializedData; }; export declare type SerializedData = Primitive | SerializedArray | SerializedObject | Transferable; declare type SerializationFunction = (data: SerializableData, xfer: Transferable[]) => SerializedData; /** * Prepares `data` to be sent over a MessagePort by ensuring that all data is * of a type that can be sent and that all transferrables are `push`ed to * `xfer`. * @todo Make error stack sending configurable * @param data Data to serialize * @param xfer Destination array for transferrables * @returns The data in serialized format */ export declare function rpcSerialize(data: SerializableData, xfer: Transferable[]): SerializedData; export {};