@awesome-ecs/workers
Version:
The Workers package for Awesome ECS. Provides basic implementation for the Worker communication using ECS.
38 lines (37 loc) • 1.32 kB
text/typescript
import { n as ThreadWorkerType } from "./worker-type-DYQIrwCV.cjs";
import { PerformanceTimeEntry } from "@awesome-ecs/abstract/utils";
//#region src/abstract/worker-instance.d.ts
type WorkerUid = string;
type WorkerMessageUid = string;
interface WorkerInstanceResponse<TResponseData> {
data: TResponseData;
metrics?: PerformanceTimeEntry[];
transfer?: ArrayBufferLike[];
}
interface WorkerInstance<TRequestData, TResponseData> {
handle(message: TRequestData): WorkerInstanceResponse<TResponseData>;
}
//#endregion
//#region src/abstract/worker-message.d.ts
declare enum WorkerMessageType {
health = "health",
data = "data"
}
interface WorkerRequestMessage<TRequestData> {
workerType: ThreadWorkerType;
messageType: WorkerMessageType;
messageUid: WorkerMessageUid;
request: TRequestData;
}
interface WorkerResponseMessage<TResponseData> {
workerType: ThreadWorkerType;
workerUid?: WorkerUid;
messageType: WorkerMessageType;
messageUid: WorkerMessageUid;
data: TResponseData;
transfer?: ArrayBufferLike[];
metrics?: PerformanceTimeEntry[];
}
//#endregion
export { WorkerInstanceResponse as a, WorkerInstance as i, WorkerRequestMessage as n, WorkerMessageUid as o, WorkerResponseMessage as r, WorkerUid as s, WorkerMessageType as t };
//# sourceMappingURL=worker-message-DXmmy8WR.d.cts.map