Files
NapCatQQ/.pnpm-store/v3/files/34/3d7b635dc8a4277e29f935bbc28b85da08e784c85e9faaecc4ef94339f79330e24e69bf4a9f69e5aec529648c3b6ed4470c35373f7de7f567dba6ef552e95c
T
TanTan e311ca3275
Build NapCat Artifacts / Type Check & Test (push) Waiting to run
docs: 仓库链接指向本镜像仓库
2026-11-13 09:25:58 +08:00

36 lines
1.1 KiB
Plaintext

/// <reference types="node" />
import { MessagePort } from 'node:worker_threads';
export type AnyFn<R = any, T extends any[] = any[]> = (...args: T) => R;
export type AnyPromise<T = any> = Promise<T>;
export type AnyAsyncFn<T = any> = AnyFn<Promise<T>>;
export type Syncify<T extends AnyAsyncFn> = T extends (...args: infer Args) => Promise<infer R> ? (...args: Args) => R : never;
export type PromiseType<T extends AnyPromise> = T extends Promise<infer R> ? R : never;
export type ValueOf<T> = T[keyof T];
export interface MainToWorkerMessage<T extends unknown[]> {
id: number;
args: T;
}
export interface MainToWorkerCommandMessage {
id: number;
cmd: string;
}
export interface WorkerData {
sharedBuffer: SharedArrayBuffer;
workerPort: MessagePort;
pnpLoaderPath: string | undefined;
}
export interface DataMessage<T> {
result?: T;
error?: unknown;
properties?: unknown;
}
export interface WorkerToMainMessage<T = unknown> extends DataMessage<T> {
id: number;
}
export interface GlobalShim {
moduleName: string;
globalName?: string;
named?: string | null;
conditional?: boolean;
}