@gjsify/worker_threads 0.4.34 → 0.4.36
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/esm/browser.js +1 -0
- package/lib/types/browser.d.ts +77 -0
- package/package.json +26 -12
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./_virtual/_rolldown/runtime.js";const e=globalThis.DedicatedWorkerGlobalScope!==void 0&&typeof globalThis.importScripts==`function`,t=!e,n=e?Math.floor(Math.random()*2147483647)+1:0,r={},i={},a=Symbol(`worker_threads.SHARE_ENV`),o=globalThis.MessageChannel,s=globalThis.MessagePort,c=globalThis.BroadcastChannel;function makeParentPort(){let e=globalThis,t=new Map;return{postMessage(t,n){n&&n.length>0?e.postMessage(t,n):e.postMessage(t)},on(t,n){let r=t===`close`?`close`:t===`messageerror`?`messageerror`:`message`,wrapped=e=>n(e.data);return n.__wrapped=wrapped,e.addEventListener(r,wrapped),this},off(t,n){let r=t===`close`?`close`:t===`messageerror`?`messageerror`:`message`,i=n.__wrapped;return i&&e.removeEventListener(r,i),this},once(n,r){let i=n===`close`?`close`:n===`messageerror`?`messageerror`:`message`,wrapped=n=>{e.removeEventListener(i,wrapped),t.delete(r),r(n.data)};return t.set(r,wrapped),e.addEventListener(i,wrapped),this},close(){e.close?.()},ref(){},unref(){}}}const l=e?makeParentPort():null;var Worker=class{_worker;_listeners=new Map;threadId;constructor(e,t){let n=e instanceof URL?e:String(e);this._worker=new globalThis.Worker(n,{type:t?.type??`module`,name:t?.name}),this.threadId=Math.floor(Math.random()*2147483647)+1,this._worker.addEventListener(`message`,e=>this._emit(`message`,e.data)),this._worker.addEventListener(`messageerror`,e=>this._emit(`messageerror`,e.data)),this._worker.addEventListener(`error`,e=>this._emit(`error`,e.error??e))}_emit(e,...t){let n=this._listeners.get(e);if(n)for(let e of[...n])e(...t)}on(e,t){return this._listeners.has(e)||this._listeners.set(e,new Set),this._listeners.get(e).add(t),this}off(e,t){return this._listeners.get(e)?.delete(t),this}once(e,t){let wrapped=(...n)=>{this.off(e,wrapped),t(...n)};return this.on(e,wrapped)}addListener(e,t){return this.on(e,t)}removeListener(e,t){return this.off(e,t)}postMessage(e,t){t&&t.length>0?this._worker.postMessage(e,t):this._worker.postMessage(e)}async terminate(){return this._worker.terminate(),this._emit(`exit`,1),1}ref(){}unref(){}};const u=new Map;function setEnvironmentData(e,t){t===void 0?u.delete(e):u.set(e,t)}function getEnvironmentData(e){return u.get(e)}function receiveMessageOnPort(e){}function markAsUntransferable(e){}function markAsUncloneable(e){}function moveMessagePortToContext(e,t){return e}var d={isMainThread:t,parentPort:l,workerData:r,threadId:n,resourceLimits:i,SHARE_ENV:a,Worker,MessageChannel:o,MessagePort:s,BroadcastChannel:c,setEnvironmentData,getEnvironmentData,receiveMessageOnPort,markAsUntransferable,markAsUncloneable,moveMessagePortToContext};export{c as BroadcastChannel,o as MessageChannel,s as MessagePort,a as SHARE_ENV,Worker,d as default,getEnvironmentData,t as isMainThread,markAsUncloneable,markAsUntransferable,moveMessagePortToContext,l as parentPort,receiveMessageOnPort,i as resourceLimits,setEnvironmentData,n as threadId,r as workerData};
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
type Listener = (...args: unknown[]) => void;
|
|
2
|
+
export declare const isMainThread: boolean;
|
|
3
|
+
export declare const threadId: number;
|
|
4
|
+
export declare const workerData: Record<string, unknown>;
|
|
5
|
+
export declare const resourceLimits: Record<string, unknown>;
|
|
6
|
+
export declare const SHARE_ENV: unique symbol;
|
|
7
|
+
export declare const MessageChannel: typeof globalThis.MessageChannel;
|
|
8
|
+
export declare const MessagePort: typeof globalThis.MessagePort;
|
|
9
|
+
export declare const BroadcastChannel: typeof globalThis.BroadcastChannel;
|
|
10
|
+
interface NodeParentPort {
|
|
11
|
+
postMessage(value: unknown, transferList?: Transferable[]): void;
|
|
12
|
+
on(event: 'message' | 'messageerror' | 'close', listener: Listener): NodeParentPort;
|
|
13
|
+
off(event: 'message' | 'messageerror' | 'close', listener: Listener): NodeParentPort;
|
|
14
|
+
once(event: 'message' | 'messageerror' | 'close', listener: Listener): NodeParentPort;
|
|
15
|
+
close(): void;
|
|
16
|
+
ref(): void;
|
|
17
|
+
unref(): void;
|
|
18
|
+
}
|
|
19
|
+
export declare const parentPort: NodeParentPort | null;
|
|
20
|
+
export interface WorkerOptions {
|
|
21
|
+
workerData?: unknown;
|
|
22
|
+
transferList?: Transferable[];
|
|
23
|
+
name?: string;
|
|
24
|
+
type?: 'classic' | 'module';
|
|
25
|
+
}
|
|
26
|
+
export declare class Worker {
|
|
27
|
+
private _worker;
|
|
28
|
+
private _listeners;
|
|
29
|
+
threadId: number;
|
|
30
|
+
constructor(filename: string | URL, options?: WorkerOptions);
|
|
31
|
+
private _emit;
|
|
32
|
+
on(event: string, listener: Listener): this;
|
|
33
|
+
off(event: string, listener: Listener): this;
|
|
34
|
+
once(event: string, listener: Listener): this;
|
|
35
|
+
addListener(event: string, listener: Listener): this;
|
|
36
|
+
removeListener(event: string, listener: Listener): this;
|
|
37
|
+
postMessage(value: unknown, transferList?: Transferable[]): void;
|
|
38
|
+
terminate(): Promise<number>;
|
|
39
|
+
ref(): void;
|
|
40
|
+
unref(): void;
|
|
41
|
+
}
|
|
42
|
+
export declare function setEnvironmentData(key: string, value: unknown): void;
|
|
43
|
+
export declare function getEnvironmentData(key: string): unknown;
|
|
44
|
+
export declare function receiveMessageOnPort(_port: MessagePort): {
|
|
45
|
+
message: unknown;
|
|
46
|
+
} | undefined;
|
|
47
|
+
export declare function markAsUntransferable(_object: unknown): void;
|
|
48
|
+
export declare function markAsUncloneable(_object: unknown): void;
|
|
49
|
+
export declare function moveMessagePortToContext<T>(port: T, _context: unknown): T;
|
|
50
|
+
declare const _default: {
|
|
51
|
+
isMainThread: boolean;
|
|
52
|
+
parentPort: NodeParentPort;
|
|
53
|
+
workerData: Record<string, unknown>;
|
|
54
|
+
threadId: number;
|
|
55
|
+
resourceLimits: Record<string, unknown>;
|
|
56
|
+
SHARE_ENV: symbol;
|
|
57
|
+
Worker: typeof Worker;
|
|
58
|
+
MessageChannel: {
|
|
59
|
+
new (): MessageChannel;
|
|
60
|
+
prototype: MessageChannel;
|
|
61
|
+
};
|
|
62
|
+
MessagePort: {
|
|
63
|
+
new (): MessagePort;
|
|
64
|
+
prototype: MessagePort;
|
|
65
|
+
};
|
|
66
|
+
BroadcastChannel: {
|
|
67
|
+
new (name: string): BroadcastChannel;
|
|
68
|
+
prototype: BroadcastChannel;
|
|
69
|
+
};
|
|
70
|
+
setEnvironmentData: typeof setEnvironmentData;
|
|
71
|
+
getEnvironmentData: typeof getEnvironmentData;
|
|
72
|
+
receiveMessageOnPort: typeof receiveMessageOnPort;
|
|
73
|
+
markAsUntransferable: typeof markAsUntransferable;
|
|
74
|
+
markAsUncloneable: typeof markAsUncloneable;
|
|
75
|
+
moveMessagePortToContext: typeof moveMessagePortToContext;
|
|
76
|
+
};
|
|
77
|
+
export default _default;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gjsify/worker_threads",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.36",
|
|
4
4
|
"description": "Node.js worker_threads module for Gjs",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"module": "lib/esm/index.js",
|
|
@@ -9,6 +9,10 @@
|
|
|
9
9
|
".": {
|
|
10
10
|
"types": "./lib/types/index.d.ts",
|
|
11
11
|
"default": "./lib/esm/index.js"
|
|
12
|
+
},
|
|
13
|
+
"./browser": {
|
|
14
|
+
"types": "./lib/types/browser.d.ts",
|
|
15
|
+
"default": "./lib/esm/browser.js"
|
|
12
16
|
}
|
|
13
17
|
},
|
|
14
18
|
"files": [
|
|
@@ -34,24 +38,34 @@
|
|
|
34
38
|
"worker_threads"
|
|
35
39
|
],
|
|
36
40
|
"devDependencies": {
|
|
37
|
-
"@gjsify/cli": "^0.4.
|
|
38
|
-
"@gjsify/node-globals": "^0.4.
|
|
39
|
-
"@gjsify/unit": "^0.4.
|
|
41
|
+
"@gjsify/cli": "^0.4.36",
|
|
42
|
+
"@gjsify/node-globals": "^0.4.36",
|
|
43
|
+
"@gjsify/unit": "^0.4.36",
|
|
40
44
|
"@types/node": "^25.9.1",
|
|
41
|
-
"typescript": "^
|
|
45
|
+
"typescript": "^5.9.3"
|
|
42
46
|
},
|
|
43
47
|
"dependencies": {
|
|
44
|
-
"@girs/gio-2.0": "2.88.0-4.0.
|
|
45
|
-
"@girs/glib-2.0": "2.88.0-4.0.
|
|
46
|
-
"@gjsify/events": "^0.4.
|
|
47
|
-
"@gjsify/message-channel": "^0.4.
|
|
48
|
-
"@gjsify/sab-native": "^0.4.
|
|
48
|
+
"@girs/gio-2.0": "2.88.0-4.0.4",
|
|
49
|
+
"@girs/glib-2.0": "2.88.0-4.0.4",
|
|
50
|
+
"@gjsify/events": "^0.4.36",
|
|
51
|
+
"@gjsify/message-channel": "^0.4.36",
|
|
52
|
+
"@gjsify/sab-native": "^0.4.36"
|
|
49
53
|
},
|
|
50
54
|
"gjsify": {
|
|
51
55
|
"runtimes": {
|
|
52
56
|
"gjs": "polyfill",
|
|
53
57
|
"node": "none",
|
|
54
|
-
"browser": "
|
|
58
|
+
"browser": "partial"
|
|
55
59
|
}
|
|
56
|
-
}
|
|
60
|
+
},
|
|
61
|
+
"license": "MIT",
|
|
62
|
+
"repository": {
|
|
63
|
+
"type": "git",
|
|
64
|
+
"url": "git+https://github.com/gjsify/gjsify.git",
|
|
65
|
+
"directory": "packages/node/worker_threads"
|
|
66
|
+
},
|
|
67
|
+
"bugs": {
|
|
68
|
+
"url": "https://github.com/gjsify/gjsify/issues"
|
|
69
|
+
},
|
|
70
|
+
"homepage": "https://github.com/gjsify/gjsify/tree/main/packages/node/worker_threads#readme"
|
|
57
71
|
}
|