@wasm-idle/react 1.0.0-next.0 → 1.0.0
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/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +14 -3
- package/dist/index.js.map +1 -1
- package/dist/lifecycle.d.ts +6 -0
- package/dist/lifecycle.d.ts.map +1 -0
- package/dist/lifecycle.js +8 -0
- package/dist/lifecycle.js.map +1 -0
- package/package.json +4 -4
package/dist/index.d.ts
CHANGED
|
@@ -7,6 +7,7 @@ export interface ReactWasmIdleHost {
|
|
|
7
7
|
current: TerminalControl | undefined;
|
|
8
8
|
};
|
|
9
9
|
terminalProps: PlaygroundBinding['terminalProps'];
|
|
10
|
+
dispose: () => Promise<void>;
|
|
10
11
|
}
|
|
11
12
|
export declare function useWasmIdlePlayground(runtimeAssets: SandboxRuntimeAssets, loadSandbox: SandboxLoader): PlaygroundBinding;
|
|
12
13
|
export declare function useWasmIdleHost(runtimeAssets: SandboxRuntimeAssets, loadSandbox: SandboxLoader): ReactWasmIdleHost;
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAClB,KAAK,oBAAoB,EACzB,KAAK,eAAe,EACpB,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAClB,KAAK,oBAAoB,EACzB,KAAK,eAAe,EACpB,MAAM,iBAAiB,CAAC;AAIzB,MAAM,WAAW,iBAAiB;IACjC,OAAO,EAAE,iBAAiB,CAAC;IAC3B,QAAQ,EAAE,eAAe,GAAG,SAAS,CAAC;IACtC,WAAW,EAAE,CAAC,QAAQ,EAAE,eAAe,GAAG,SAAS,KAAK,IAAI,CAAC;IAC7D,WAAW,EAAE;QAAE,OAAO,EAAE,eAAe,GAAG,SAAS,CAAA;KAAE,CAAC;IACtD,aAAa,EAAE,iBAAiB,CAAC,eAAe,CAAC,CAAC;IAClD,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7B;AAED,wBAAgB,qBAAqB,CACpC,aAAa,EAAE,oBAAoB,EACnC,WAAW,EAAE,aAAa,GACxB,iBAAiB,CAOnB;AAED,wBAAgB,eAAe,CAC9B,aAAa,EAAE,oBAAoB,EACnC,WAAW,EAAE,aAAa,GACxB,iBAAiB,CA0BnB;AAED,YAAY,EACX,iBAAiB,EACjB,aAAa,EACb,oBAAoB,EACpB,eAAe,EACf,MAAM,iBAAiB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
import { createPlaygroundBinding } from '@wasm-idle/core';
|
|
2
|
-
import { useCallback, useMemo, useRef, useState } from 'react';
|
|
2
|
+
import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
|
|
3
|
+
import { disposeReactTerminalRef } from './lifecycle.js';
|
|
3
4
|
export function useWasmIdlePlayground(runtimeAssets, loadSandbox) {
|
|
4
|
-
|
|
5
|
+
const binding = useMemo(() => createPlaygroundBinding(runtimeAssets, loadSandbox), [runtimeAssets, loadSandbox]);
|
|
6
|
+
useEffect(() => () => void binding.dispose(), [binding]);
|
|
7
|
+
return binding;
|
|
5
8
|
}
|
|
6
9
|
export function useWasmIdleHost(runtimeAssets, loadSandbox) {
|
|
7
10
|
const binding = useWasmIdlePlayground(runtimeAssets, loadSandbox);
|
|
@@ -11,12 +14,20 @@ export function useWasmIdleHost(runtimeAssets, loadSandbox) {
|
|
|
11
14
|
terminalRef.current = nextTerminal;
|
|
12
15
|
setTerminalState(nextTerminal);
|
|
13
16
|
}, []);
|
|
17
|
+
useEffect(() => () => {
|
|
18
|
+
void disposeReactTerminalRef(terminalRef).catch(() => { });
|
|
19
|
+
}, []);
|
|
20
|
+
const dispose = useCallback(async () => {
|
|
21
|
+
await disposeReactTerminalRef(terminalRef, () => setTerminalState(undefined));
|
|
22
|
+
await binding.dispose();
|
|
23
|
+
}, [binding]);
|
|
14
24
|
return {
|
|
15
25
|
binding,
|
|
16
26
|
terminal,
|
|
17
27
|
setTerminal,
|
|
18
28
|
terminalRef,
|
|
19
|
-
terminalProps: binding.terminalProps
|
|
29
|
+
terminalProps: binding.terminalProps,
|
|
30
|
+
dispose
|
|
20
31
|
};
|
|
21
32
|
}
|
|
22
33
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,uBAAuB,EAKvB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,uBAAuB,EAKvB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC1E,OAAO,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAWzD,MAAM,UAAU,qBAAqB,CACpC,aAAmC,EACnC,WAA0B;IAE1B,MAAM,OAAO,GAAG,OAAO,CACtB,GAAG,EAAE,CAAC,uBAAuB,CAAC,aAAa,EAAE,WAAW,CAAC,EACzD,CAAC,aAAa,EAAE,WAAW,CAAC,CAC5B,CAAC;IACF,SAAS,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IACzD,OAAO,OAAO,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,eAAe,CAC9B,aAAmC,EACnC,WAA0B;IAE1B,MAAM,OAAO,GAAG,qBAAqB,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;IAClE,MAAM,WAAW,GAAG,MAAM,CAA8B,SAAS,CAAC,CAAC;IACnE,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAA8B,SAAS,CAAC,CAAC;IACtF,MAAM,WAAW,GAAG,WAAW,CAAC,CAAC,YAAyC,EAAE,EAAE;QAC7E,WAAW,CAAC,OAAO,GAAG,YAAY,CAAC;QACnC,gBAAgB,CAAC,YAAY,CAAC,CAAC;IAChC,CAAC,EAAE,EAAE,CAAC,CAAC;IACP,SAAS,CACR,GAAG,EAAE,CAAC,GAAG,EAAE;QACV,KAAK,uBAAuB,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IAC3D,CAAC,EACD,EAAE,CACF,CAAC;IACF,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QACtC,MAAM,uBAAuB,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC;QAC9E,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;IACzB,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IACd,OAAO;QACN,OAAO;QACP,QAAQ;QACR,WAAW;QACX,WAAW;QACX,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,OAAO;KACP,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { TerminalControl } from '@wasm-idle/core';
|
|
2
|
+
export interface ReactTerminalRef {
|
|
3
|
+
current: TerminalControl | undefined;
|
|
4
|
+
}
|
|
5
|
+
export declare function disposeReactTerminalRef(terminalRef: ReactTerminalRef, clearTerminal?: () => void): Promise<void>;
|
|
6
|
+
//# sourceMappingURL=lifecycle.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lifecycle.d.ts","sourceRoot":"","sources":["../src/lifecycle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAEvD,MAAM,WAAW,gBAAgB;IAChC,OAAO,EAAE,eAAe,GAAG,SAAS,CAAC;CACrC;AAED,wBAAsB,uBAAuB,CAC5C,WAAW,EAAE,gBAAgB,EAC7B,aAAa,CAAC,EAAE,MAAM,IAAI,GACxB,OAAO,CAAC,IAAI,CAAC,CAKf"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export async function disposeReactTerminalRef(terminalRef, clearTerminal) {
|
|
2
|
+
const currentTerminal = terminalRef.current;
|
|
3
|
+
terminalRef.current = undefined;
|
|
4
|
+
clearTerminal?.();
|
|
5
|
+
if (currentTerminal)
|
|
6
|
+
await currentTerminal.destroy();
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=lifecycle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lifecycle.js","sourceRoot":"","sources":["../src/lifecycle.ts"],"names":[],"mappings":"AAMA,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC5C,WAA6B,EAC7B,aAA0B;IAE1B,MAAM,eAAe,GAAG,WAAW,CAAC,OAAO,CAAC;IAC5C,WAAW,CAAC,OAAO,GAAG,SAAS,CAAC;IAChC,aAAa,EAAE,EAAE,CAAC;IAClB,IAAI,eAAe;QAAE,MAAM,eAAe,CAAC,OAAO,EAAE,CAAC;AACtD,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wasm-idle/react",
|
|
3
|
-
"version": "1.0.0
|
|
3
|
+
"version": "1.0.0",
|
|
4
4
|
"description": "React hooks for wasm-idle core",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -16,14 +16,14 @@
|
|
|
16
16
|
],
|
|
17
17
|
"publishConfig": {
|
|
18
18
|
"access": "public",
|
|
19
|
-
"tag": "
|
|
19
|
+
"tag": "latest"
|
|
20
20
|
},
|
|
21
21
|
"peerDependencies": {
|
|
22
|
-
"@wasm-idle/core": "1.0.0
|
|
22
|
+
"@wasm-idle/core": "1.0.0",
|
|
23
23
|
"react": ">=18"
|
|
24
24
|
},
|
|
25
25
|
"dependencies": {
|
|
26
|
-
"@wasm-idle/core": "1.0.0
|
|
26
|
+
"@wasm-idle/core": "1.0.0"
|
|
27
27
|
},
|
|
28
28
|
"devDependencies": {
|
|
29
29
|
"@types/react": "^18.3.12",
|