@atolljs/core 0.1.4 → 0.1.6
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/contract/listSchema.d.ts +2 -2
- package/dist/contract/msgpackrCodec.d.ts +1 -1
- package/dist/contract/reef.d.ts +140 -80
- package/dist/contract/sharedMemory.d.ts +2 -2
- package/dist/contract/types.d.ts +1 -1
- package/dist/contract/zod.d.ts +114 -14
- package/dist/index.d.ts +31 -29
- package/dist/index.js +18 -17
- package/dist/index10.js +0 -2
- package/dist/index11.js +0 -2
- package/dist/index12.js +0 -2
- package/dist/index13.js +0 -2
- package/dist/index14.js +0 -2
- package/dist/index15.js +0 -2
- package/dist/index16.js +46 -38
- package/dist/index17.js +20 -21
- package/dist/index18.js +64 -37
- package/dist/index19.js +0 -2
- package/dist/index2.js +0 -2
- package/dist/index20.js +0 -2
- package/dist/index3.js +101 -43
- package/dist/index4.js +0 -2
- package/dist/index5.js +0 -2
- package/dist/index6.js +0 -2
- package/dist/index7.js +0 -2
- package/dist/index8.js +0 -2
- package/dist/index9.js +0 -2
- package/dist/observable.d.ts +2 -2
- package/dist/pool/memory.d.ts +1 -1
- package/dist/pool/workerClient.d.ts +6 -6
- package/dist/pool/workerPool.d.ts +2 -2
- package/dist/reactive.d.ts +1 -1
- package/dist/service.d.ts +1 -1
- package/dist/shared/sharedWorkerClient.d.ts +2 -2
- package/dist/task.d.ts +1 -1
- package/dist/testing/inProcessWorker.d.ts +27 -0
- package/dist/worker/defineWorker.d.ts +3 -4
- package/dist/worker/registry.d.ts +1 -1
- package/dist/worker/workerBootstrap.d.ts +9 -1
- package/package.json +6 -3
- package/src/contract/zod.ts +130 -14
- package/src/index.ts +2 -0
- package/src/reactive.ts +107 -42
- package/src/worker/defineWorker.ts +6 -2
- package/src/worker/workerBootstrap.ts +53 -37
package/dist/index.d.ts
CHANGED
|
@@ -1,29 +1,31 @@
|
|
|
1
|
-
export { bindSharedMemories, defineSharedMemory, field, getDefinedSharedMemoryCount, jsonCodec, registerConnectorFactory } from './contract/sharedMemory';
|
|
2
|
-
export { reef } from './contract/reef';
|
|
3
|
-
export
|
|
4
|
-
export {
|
|
5
|
-
export {
|
|
6
|
-
export
|
|
7
|
-
export
|
|
8
|
-
export {
|
|
9
|
-
export {
|
|
10
|
-
export
|
|
11
|
-
export {
|
|
12
|
-
export {
|
|
13
|
-
export
|
|
14
|
-
export {
|
|
15
|
-
export type {
|
|
16
|
-
export {
|
|
17
|
-
export {
|
|
18
|
-
export
|
|
19
|
-
export {
|
|
20
|
-
export {
|
|
21
|
-
export
|
|
22
|
-
export {
|
|
23
|
-
export type {
|
|
24
|
-
export {
|
|
25
|
-
export type {
|
|
26
|
-
export {
|
|
27
|
-
export type {
|
|
28
|
-
export {
|
|
29
|
-
export type {
|
|
1
|
+
export { bindSharedMemories, defineSharedMemory, field, getDefinedSharedMemoryCount, jsonCodec, registerConnectorFactory } from './contract/sharedMemory.js';
|
|
2
|
+
export { reef } from './contract/reef.js';
|
|
3
|
+
export { z, SchemaError } from './contract/zod.js';
|
|
4
|
+
export type { ZodLike } from './contract/zod.js';
|
|
5
|
+
export type { Codec, Connector, ConnectorContext, ConnectorFactory, FieldDescriptor, FieldGroup, FieldSchema, FixedArrayDescriptor, FixedObjectDescriptor, FlatKey, InferField, PathConnector, SpecPath, SpecSchemas, SharedAccess, SharedMemory, SharedMemoryOptions, SharedSpec, ScalarKind, ListConnector, ListDescriptor, ListFieldSpec, ListFields, ListMember, ListRecord, ListSpec, } from './contract/sharedMemory.js';
|
|
6
|
+
export { msgpackrCodec } from './contract/msgpackrCodec.js';
|
|
7
|
+
export { listSchema } from './contract/listSchema.js';
|
|
8
|
+
export type { ListZodShape } from './contract/listSchema.js';
|
|
9
|
+
export type { MemoryConfig, PoolTasks, Prettify, Schema, Logger, TaskContract, TaskMap, TaskMessage, TaskResult, MemoryPersistence, SharedWorkerConfig, ViewType, WorkerPoolConfig, } from './contract/types.js';
|
|
10
|
+
export { MemoryManager } from './pool/memory.js';
|
|
11
|
+
export { WorkerPool } from './pool/workerPool.js';
|
|
12
|
+
export type { PoolStats, RunOptions } from './pool/workerPool.js';
|
|
13
|
+
export { PoolQueueFullError, TaskAbortedError, TaskTimeoutError, WorkerCrashedError, } from './pool/errors.js';
|
|
14
|
+
export { connectWorker, workerClient } from './pool/workerClient.js';
|
|
15
|
+
export type { ClientMethods, ConnectWorkerConfig, WorkerClient, WorkerMethods, } from './pool/workerClient.js';
|
|
16
|
+
export { connectSharedWorker } from './shared/sharedWorkerClient.js';
|
|
17
|
+
export type { SharedWorkerClient } from './shared/sharedWorkerClient.js';
|
|
18
|
+
export { sharedWorkerHost } from './shared/sharedWorkerHost.js';
|
|
19
|
+
export { createClient, defineService, implementService, rpc, serviceMethod } from './service.js';
|
|
20
|
+
export type { RpcMethodDef, RpcMethodInput, RpcMethodInputMap, RpcMethodMap, ServiceClient, ServiceContract, ServiceHandlers, ServiceImpl, ServiceMethod, TaskRunner, } from './service.js';
|
|
21
|
+
export { TaskRegistry } from './worker/registry.js';
|
|
22
|
+
export { defineWorker, RESERVED_CLIENT_KEYS } from './worker/defineWorker.js';
|
|
23
|
+
export type { DefineWorkerConfig, WorkerDefinition, WorkerMethod, WorkerMethodMap, WorkerServiceMap, } from './worker/defineWorker.js';
|
|
24
|
+
export { reactive, shallowEqual, watch } from './reactive.js';
|
|
25
|
+
export type { EqualityFn, ReactiveConnector, SliceOptions } from './reactive.js';
|
|
26
|
+
export { observe } from './observable.js';
|
|
27
|
+
export type { ObservableValue } from './observable.js';
|
|
28
|
+
export { defineTask, isAsyncTask, toTask } from './task.js';
|
|
29
|
+
export type { AsyncTask, TaskSnapshot } from './task.js';
|
|
30
|
+
export { getLogLevel, log, scoped, setLogLevel, setLogSink } from './log.js';
|
|
31
|
+
export type { LogEntry, LogLevel, LogSink } from './log.js';
|
package/dist/index.js
CHANGED
|
@@ -1,18 +1,19 @@
|
|
|
1
1
|
import { msgpackrCodec as e } from "./index2.js";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
16
|
-
import {
|
|
17
|
-
import {
|
|
18
|
-
|
|
2
|
+
import { SchemaError as t, z as n } from "./index3.js";
|
|
3
|
+
import { listSchema as r } from "./index4.js";
|
|
4
|
+
import { getLogLevel as i, log as a, scoped as o, setLogLevel as s, setLogSink as c } from "./index5.js";
|
|
5
|
+
import { bindSharedMemories as l, defineSharedMemory as u, field as d, getDefinedSharedMemoryCount as f, jsonCodec as p, registerConnectorFactory as m } from "./index6.js";
|
|
6
|
+
import { reef as h } from "./index7.js";
|
|
7
|
+
import { MemoryManager as g } from "./index8.js";
|
|
8
|
+
import { PoolQueueFullError as _, TaskAbortedError as v, TaskTimeoutError as y, WorkerCrashedError as b } from "./index9.js";
|
|
9
|
+
import { WorkerPool as x } from "./index10.js";
|
|
10
|
+
import { connectWorker as S, workerClient as C } from "./index11.js";
|
|
11
|
+
import { connectSharedWorker as w } from "./index12.js";
|
|
12
|
+
import { TaskRegistry as T } from "./index13.js";
|
|
13
|
+
import { sharedWorkerHost as E } from "./index14.js";
|
|
14
|
+
import { createClient as D, defineService as O, implementService as k, rpc as A, serviceMethod as j } from "./index15.js";
|
|
15
|
+
import { RESERVED_CLIENT_KEYS as M, defineWorker as N } from "./index17.js";
|
|
16
|
+
import { reactive as P, shallowEqual as F, watch as I } from "./index18.js";
|
|
17
|
+
import { observe as L } from "./index19.js";
|
|
18
|
+
import { defineTask as R, isAsyncTask as z, toTask as B } from "./index20.js";
|
|
19
|
+
export { g as MemoryManager, _ as PoolQueueFullError, M as RESERVED_CLIENT_KEYS, t as SchemaError, v as TaskAbortedError, T as TaskRegistry, y as TaskTimeoutError, b as WorkerCrashedError, x as WorkerPool, l as bindSharedMemories, w as connectSharedWorker, S as connectWorker, D as createClient, O as defineService, u as defineSharedMemory, R as defineTask, N as defineWorker, d as field, f as getDefinedSharedMemoryCount, i as getLogLevel, k as implementService, z as isAsyncTask, p as jsonCodec, r as listSchema, a as log, e as msgpackrCodec, L as observe, P as reactive, h as reef, m as registerConnectorFactory, A as rpc, o as scoped, j as serviceMethod, s as setLogLevel, c as setLogSink, F as shallowEqual, E as sharedWorkerHost, B as toTask, I as watch, C as workerClient, n as z };
|
package/dist/index10.js
CHANGED
package/dist/index11.js
CHANGED
package/dist/index12.js
CHANGED
package/dist/index13.js
CHANGED
package/dist/index14.js
CHANGED
package/dist/index15.js
CHANGED
package/dist/index16.js
CHANGED
|
@@ -2,45 +2,53 @@ import { fmtBytes as e, scoped as t } from "./index5.js";
|
|
|
2
2
|
import { bindSharedMemories as n, getDefinedSharedMemoryCount as r } from "./index6.js";
|
|
3
3
|
import { TaskRegistry as i } from "./index13.js";
|
|
4
4
|
//#region src/worker/workerBootstrap.ts
|
|
5
|
-
var a = t("worker"), o = !1;
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
return;
|
|
11
|
-
}
|
|
12
|
-
if (s.type === "INIT_MEMORY") {
|
|
13
|
-
let t = s.memory;
|
|
14
|
-
n(t.buffer), o = !0, a.info(`shared memory initialized (${e(t.buffer.byteLength)})`);
|
|
15
|
-
return;
|
|
16
|
-
}
|
|
17
|
-
if (s.type === "EXECUTE_TASK") {
|
|
18
|
-
let { messageId: e, taskId: t, args: n } = s;
|
|
19
|
-
if (!o) {
|
|
20
|
-
a.warn(`rejected ${t} — shared memory not initialized`), self.postMessage({
|
|
21
|
-
messageId: e,
|
|
22
|
-
success: !1,
|
|
23
|
-
error: "Shared memory not initialized in worker."
|
|
24
|
-
});
|
|
5
|
+
var a = t("worker"), o = !1, s = !1;
|
|
6
|
+
function c() {
|
|
7
|
+
if (!s) {
|
|
8
|
+
if (typeof self > "u") {
|
|
9
|
+
a.warn("workerBootstrap: no worker global found — skipping message wiring");
|
|
25
10
|
return;
|
|
26
11
|
}
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
12
|
+
s = !0, self.onmessage = async (t) => {
|
|
13
|
+
let s = t.data;
|
|
14
|
+
if (s.type === "INIT") {
|
|
15
|
+
o = !0, r() > 0 && a.warn("pool sent INIT without memory, but shared-memory contracts are defined — field access will throw until bound"), a.info("initialized (message-only pool — no shared memory)");
|
|
16
|
+
return;
|
|
17
|
+
}
|
|
18
|
+
if (s.type === "INIT_MEMORY") {
|
|
19
|
+
let t = s.memory;
|
|
20
|
+
n(t.buffer), o = !0, a.info(`shared memory initialized (${e(t.buffer.byteLength)})`);
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
if (s.type === "EXECUTE_TASK") {
|
|
24
|
+
let { messageId: e, taskId: t, args: n } = s;
|
|
25
|
+
if (!o) {
|
|
26
|
+
a.warn(`rejected ${t} — shared memory not initialized`), self.postMessage({
|
|
27
|
+
messageId: e,
|
|
28
|
+
success: !1,
|
|
29
|
+
error: "Shared memory not initialized in worker."
|
|
30
|
+
});
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
let r = performance.now();
|
|
34
|
+
try {
|
|
35
|
+
let o = await i.execute(t, ...n || []);
|
|
36
|
+
a.debug(`task ${t} → ${(performance.now() - r).toFixed(1)}ms`), self.postMessage({
|
|
37
|
+
messageId: e,
|
|
38
|
+
success: !0,
|
|
39
|
+
result: o
|
|
40
|
+
});
|
|
41
|
+
} catch (n) {
|
|
42
|
+
a.warn(`task ${t} failed: ${n.message || String(n)}`), self.postMessage({
|
|
43
|
+
messageId: e,
|
|
44
|
+
success: !1,
|
|
45
|
+
error: n.message || String(n)
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
};
|
|
42
50
|
}
|
|
43
|
-
}
|
|
51
|
+
}
|
|
52
|
+
c();
|
|
44
53
|
//#endregion
|
|
45
|
-
|
|
46
|
-
//# sourceMappingURL=index16.js.map
|
|
54
|
+
export { c as installWorkerListener };
|
package/dist/index17.js
CHANGED
|
@@ -1,19 +1,20 @@
|
|
|
1
1
|
import { scoped as e } from "./index5.js";
|
|
2
2
|
import { TaskRegistry as t } from "./index13.js";
|
|
3
|
-
import "./index16.js";
|
|
3
|
+
import { installWorkerListener as n } from "./index16.js";
|
|
4
4
|
//#region src/worker/defineWorker.ts
|
|
5
|
-
var
|
|
5
|
+
var r = e("worker"), i = [
|
|
6
6
|
"start",
|
|
7
7
|
"terminate",
|
|
8
8
|
"pool",
|
|
9
9
|
"sharedMemory",
|
|
10
10
|
"then",
|
|
11
11
|
"with"
|
|
12
|
-
],
|
|
13
|
-
function
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
if (
|
|
12
|
+
], a = (e) => typeof e == "object" && !!e && "run" in e, o = new Set(i);
|
|
13
|
+
function s(e) {
|
|
14
|
+
n();
|
|
15
|
+
let i = e.methods ?? {}, s = e.services ?? {}, c = 0, l = (e, n, r, i) => {
|
|
16
|
+
if (o.has(n)) throw Error(`defineWorker: "${n}" is reserved for the client API — rename the method`);
|
|
17
|
+
if (a(r)) {
|
|
17
18
|
let { def: n } = r;
|
|
18
19
|
t.register({
|
|
19
20
|
taskId: n.taskId ?? e,
|
|
@@ -21,22 +22,20 @@ function o(e) {
|
|
|
21
22
|
...n.argsSchema ? { argsSchema: n.argsSchema } : {},
|
|
22
23
|
...n.resultSchema ? { resultSchema: n.resultSchema } : {}
|
|
23
24
|
}, r.run.bind(r));
|
|
24
|
-
} else t.register({ taskId: e }, r.bind(
|
|
25
|
-
|
|
25
|
+
} else t.register({ taskId: e }, r.bind(i));
|
|
26
|
+
c++;
|
|
26
27
|
};
|
|
27
|
-
for (let [e, t] of Object.entries(
|
|
28
|
-
for (let [e, t] of Object.entries(
|
|
29
|
-
if (
|
|
30
|
-
for (let [n, r] of Object.entries(t))
|
|
28
|
+
for (let [e, t] of Object.entries(i)) l(e, e, t, i);
|
|
29
|
+
for (let [e, t] of Object.entries(s)) {
|
|
30
|
+
if (o.has(e)) throw Error(`defineWorker: service name "${e}" is reserved for the client API — rename it`);
|
|
31
|
+
for (let [n, r] of Object.entries(t)) l(`${e}.${n}`, n, r, t);
|
|
31
32
|
}
|
|
32
|
-
|
|
33
|
-
let
|
|
34
|
-
methods:
|
|
35
|
-
services:
|
|
33
|
+
r.info(`worker defined — ${c} method(s)`);
|
|
34
|
+
let u = {
|
|
35
|
+
methods: i,
|
|
36
|
+
services: s
|
|
36
37
|
};
|
|
37
|
-
return e.sharedMemory && (
|
|
38
|
+
return e.sharedMemory && (u.sharedMemory = e.sharedMemory), u;
|
|
38
39
|
}
|
|
39
40
|
//#endregion
|
|
40
|
-
export {
|
|
41
|
-
|
|
42
|
-
//# sourceMappingURL=index17.js.map
|
|
41
|
+
export { i as RESERVED_CLIENT_KEYS, s as defineWorker };
|
package/dist/index18.js
CHANGED
|
@@ -1,61 +1,88 @@
|
|
|
1
1
|
import { scoped as e } from "./index5.js";
|
|
2
|
-
import { createEffect as t, createMemo as n,
|
|
2
|
+
import { createEffect as t, createMemo as n, createRenderEffect as r, createRoot as i, createSignal as a } from "solid-js";
|
|
3
3
|
//#region src/reactive.ts
|
|
4
|
-
var
|
|
5
|
-
function
|
|
4
|
+
var o = e("reactive");
|
|
5
|
+
function s(e, t) {
|
|
6
6
|
if (e === t) return !0;
|
|
7
7
|
if (e == null || t == null) return !1;
|
|
8
8
|
let n = Object.keys(e), r = Object.keys(t);
|
|
9
9
|
return n.length === r.length && n.every((n) => Object.is(e[n], t[n]));
|
|
10
10
|
}
|
|
11
|
-
|
|
12
|
-
let
|
|
11
|
+
var c = (e, t) => {
|
|
12
|
+
let n = e._version;
|
|
13
|
+
if (!n) throw Error("This connector does not support remote observation.");
|
|
14
|
+
let r = !1, i = Atomics.load(n.view, n.index);
|
|
15
|
+
if (typeof Atomics.waitAsync == "function") return o.debug(`observing remote writes (offset ${e.byteOffset}, waitAsync)`), (async () => {
|
|
16
|
+
for (; !r;) {
|
|
17
|
+
let a = Atomics.waitAsync(n.view, n.index, i);
|
|
18
|
+
a.async && await a.value, i = Atomics.load(n.view, n.index), r || (o.trace(`remote write observed (offset ${e.byteOffset})`), t());
|
|
19
|
+
}
|
|
20
|
+
o.debug(`stopped observing (offset ${e.byteOffset})`);
|
|
21
|
+
})(), () => {
|
|
22
|
+
r = !0;
|
|
23
|
+
};
|
|
24
|
+
o.warn(`Atomics.waitAsync unavailable — observing via 50ms poll (offset ${e.byteOffset})`);
|
|
25
|
+
let a = setInterval(() => {
|
|
26
|
+
let e = Atomics.load(n.view, n.index);
|
|
27
|
+
e !== i && (i = e, t());
|
|
28
|
+
}, 50);
|
|
29
|
+
return () => {
|
|
30
|
+
r = !0, clearInterval(a);
|
|
31
|
+
};
|
|
32
|
+
}, l = null, u = () => {
|
|
33
|
+
if (l !== null) return l;
|
|
34
|
+
try {
|
|
35
|
+
let e = 0, t;
|
|
36
|
+
i(() => {
|
|
37
|
+
let [n, i] = a(0);
|
|
38
|
+
t = i, r(() => {
|
|
39
|
+
n(), e++;
|
|
40
|
+
});
|
|
41
|
+
}), t?.(1), l = e > 1;
|
|
42
|
+
} catch {
|
|
43
|
+
l = !1;
|
|
44
|
+
}
|
|
45
|
+
return l || o.warn("solid-js resolved to the SSR build — watch() falls back to direct version watching"), l;
|
|
46
|
+
};
|
|
47
|
+
function d(e) {
|
|
48
|
+
let [t, n] = a(e.read(), { equals: !1 }), r = () => n(() => e.read());
|
|
13
49
|
return {
|
|
14
50
|
get: t,
|
|
15
51
|
peek: () => e.read(),
|
|
16
52
|
set: (t) => {
|
|
17
53
|
e.write(t), r();
|
|
18
54
|
},
|
|
19
|
-
observeRemote: () =>
|
|
20
|
-
let t = e._version;
|
|
21
|
-
if (!t) throw Error("This connector does not support remote observation.");
|
|
22
|
-
let n = !1, i = Atomics.load(t.view, t.index);
|
|
23
|
-
if (typeof Atomics.waitAsync == "function") return a.debug(`observing remote writes (offset ${e.byteOffset}, waitAsync)`), (async () => {
|
|
24
|
-
for (; !n;) {
|
|
25
|
-
let o = Atomics.waitAsync(t.view, t.index, i);
|
|
26
|
-
o.async && await o.value, i = Atomics.load(t.view, t.index), n || (a.trace(`remote write observed (offset ${e.byteOffset})`), r());
|
|
27
|
-
}
|
|
28
|
-
a.debug(`stopped observing (offset ${e.byteOffset})`);
|
|
29
|
-
})(), () => {
|
|
30
|
-
n = !0;
|
|
31
|
-
};
|
|
32
|
-
a.warn(`Atomics.waitAsync unavailable — observing via 50ms poll (offset ${e.byteOffset})`);
|
|
33
|
-
let o = setInterval(() => {
|
|
34
|
-
let e = Atomics.load(t.view, t.index);
|
|
35
|
-
e !== i && (i = e, r());
|
|
36
|
-
}, 50);
|
|
37
|
-
return () => {
|
|
38
|
-
n = !0, clearInterval(o);
|
|
39
|
-
};
|
|
40
|
-
}
|
|
55
|
+
observeRemote: () => c(e, r)
|
|
41
56
|
};
|
|
42
57
|
}
|
|
43
|
-
function
|
|
44
|
-
let l =
|
|
58
|
+
function f(e, r, a, s) {
|
|
59
|
+
let l = a ? r : ((e) => e), f = a ?? r;
|
|
60
|
+
if (!u()) {
|
|
61
|
+
let t = (e, t) => e === void 0 || t === void 0 ? e === t : (s?.equals ?? Object.is)(e, t), n, r = () => {
|
|
62
|
+
let r = e.read(), i = r == null ? void 0 : l(r);
|
|
63
|
+
if (i === void 0 || t(n, i)) return;
|
|
64
|
+
let a = n;
|
|
65
|
+
n = i, f(i, a);
|
|
66
|
+
};
|
|
67
|
+
r();
|
|
68
|
+
let i = c(e, r);
|
|
69
|
+
return o.debug(`watching connector at offset ${e.byteOffset} (direct)`), () => {
|
|
70
|
+
o.debug(`watch stopped (offset ${e.byteOffset})`), i();
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
let p = d(e), m = p.observeRemote(), h = i((e) => {
|
|
45
74
|
let r = n(() => {
|
|
46
|
-
let e =
|
|
75
|
+
let e = p.get();
|
|
47
76
|
return e == null ? void 0 : l(e);
|
|
48
|
-
}, void 0,
|
|
77
|
+
}, void 0, s?.equals ? { equals: (e, t) => e === void 0 || t === void 0 ? e === t : s.equals(e, t) } : void 0);
|
|
49
78
|
return t((e) => {
|
|
50
79
|
let t = r();
|
|
51
|
-
return t !== void 0 &&
|
|
80
|
+
return t !== void 0 && f(t, e), t;
|
|
52
81
|
}), e;
|
|
53
82
|
});
|
|
54
|
-
return
|
|
55
|
-
|
|
83
|
+
return o.debug(`watching connector at offset ${e.byteOffset}`), () => {
|
|
84
|
+
o.debug(`watch stopped (offset ${e.byteOffset})`), m(), h();
|
|
56
85
|
};
|
|
57
86
|
}
|
|
58
87
|
//#endregion
|
|
59
|
-
export {
|
|
60
|
-
|
|
61
|
-
//# sourceMappingURL=index18.js.map
|
|
88
|
+
export { d as reactive, s as shallowEqual, f as watch };
|
package/dist/index19.js
CHANGED
package/dist/index2.js
CHANGED