@beignet/core
Version:
Core framework primitives for Beignet
25 lines • 1.27 kB
TypeScript
/** Canonical JSON value that can cross an event transport boundary. */
export type EventTransportValue = null | string | number | boolean | readonly EventTransportValue[] | {
readonly [key: string]: EventTransportValue;
};
/** Why an event payload cannot safely cross a serialized transport. */
export type EventTransportErrorReason = "not-json-safe" | "not-stable";
/** Error thrown when an event payload cannot survive canonical JSON transport. */
export declare class EventTransportError extends Error {
/** Stable event name. */
readonly eventName: string;
/** Whether the value is not JSON-safe or changes under repeated parsing. */
readonly reason: EventTransportErrorReason;
/** Payload path associated with a JSON-safety failure. */
readonly path?: string;
constructor(args: {
eventName: string;
reason: EventTransportErrorReason;
message: string;
path?: string;
cause?: unknown;
});
}
export declare function toEventTransportValue(eventName: string, value: unknown, path?: string, seen?: WeakSet<object>): EventTransportValue;
export declare function eventTransportValuesEqual(left: EventTransportValue, right: EventTransportValue): boolean;
//# sourceMappingURL=transport.d.ts.map