signalium 1.2.1 → 2.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/CHANGELOG.md +34 -0
- package/{build/transform.js → config.js} +1 -5
- package/{build/react.js → debug.js} +1 -5
- package/dist/cjs/config.d.ts +1 -21
- package/dist/cjs/config.d.ts.map +1 -1
- package/dist/cjs/config.js +3 -36
- package/dist/cjs/config.js.map +1 -1
- package/dist/cjs/debug.d.ts +1 -1
- package/dist/cjs/debug.d.ts.map +1 -1
- package/dist/cjs/debug.js +1 -1
- package/dist/cjs/debug.js.map +1 -1
- package/dist/cjs/index.d.ts +5 -6
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +17 -22
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/internals/async.d.ts +24 -19
- package/dist/cjs/internals/async.d.ts.map +1 -1
- package/dist/cjs/internals/async.js +264 -137
- package/dist/cjs/internals/async.js.map +1 -1
- package/dist/cjs/internals/callback.d.ts +13 -0
- package/dist/cjs/internals/callback.d.ts.map +1 -0
- package/dist/cjs/internals/callback.js +73 -0
- package/dist/cjs/internals/callback.js.map +1 -0
- package/dist/cjs/internals/config.d.ts +7 -0
- package/dist/cjs/internals/config.d.ts.map +1 -0
- package/dist/cjs/internals/config.js +17 -0
- package/dist/cjs/internals/config.js.map +1 -0
- package/dist/cjs/internals/consumer.d.ts +3 -3
- package/dist/cjs/internals/consumer.d.ts.map +1 -1
- package/dist/cjs/internals/consumer.js.map +1 -1
- package/dist/cjs/internals/contexts.d.ts +16 -15
- package/dist/cjs/internals/contexts.d.ts.map +1 -1
- package/dist/cjs/internals/contexts.js +58 -56
- package/dist/cjs/internals/contexts.js.map +1 -1
- package/dist/cjs/internals/core-api.d.ts +15 -0
- package/dist/cjs/internals/core-api.d.ts.map +1 -0
- package/dist/cjs/internals/core-api.js +83 -0
- package/dist/cjs/internals/core-api.js.map +1 -0
- package/dist/cjs/internals/dirty.d.ts +3 -3
- package/dist/cjs/internals/dirty.d.ts.map +1 -1
- package/dist/cjs/internals/dirty.js +13 -13
- package/dist/cjs/internals/dirty.js.map +1 -1
- package/dist/cjs/internals/edge.d.ts +5 -5
- package/dist/cjs/internals/edge.d.ts.map +1 -1
- package/dist/cjs/internals/edge.js.map +1 -1
- package/dist/cjs/internals/generators.d.ts +5 -0
- package/dist/cjs/internals/generators.d.ts.map +1 -0
- package/dist/cjs/internals/generators.js +83 -0
- package/dist/cjs/internals/generators.js.map +1 -0
- package/dist/cjs/internals/get.d.ts +5 -8
- package/dist/cjs/internals/get.d.ts.map +1 -1
- package/dist/cjs/internals/get.js +48 -107
- package/dist/cjs/internals/get.js.map +1 -1
- package/dist/cjs/internals/reactive.d.ts +77 -0
- package/dist/cjs/internals/reactive.d.ts.map +1 -0
- package/dist/cjs/internals/{derived.js → reactive.js} +45 -33
- package/dist/cjs/internals/reactive.js.map +1 -0
- package/dist/cjs/internals/scheduling.d.ts +7 -7
- package/dist/cjs/internals/scheduling.d.ts.map +1 -1
- package/dist/cjs/internals/scheduling.js +9 -9
- package/dist/cjs/internals/scheduling.js.map +1 -1
- package/dist/cjs/internals/signal.d.ts +20 -0
- package/dist/cjs/internals/signal.d.ts.map +1 -0
- package/dist/cjs/internals/{state.js → signal.js} +31 -27
- package/dist/cjs/internals/signal.js.map +1 -0
- package/dist/{esm → cjs/internals}/trace.d.ts +1 -1
- package/dist/cjs/internals/trace.d.ts.map +1 -0
- package/dist/cjs/{trace.js → internals/trace.js} +1 -1
- package/dist/cjs/internals/trace.js.map +1 -0
- package/dist/cjs/internals/utils/equals.d.ts +4 -4
- package/dist/cjs/internals/utils/equals.d.ts.map +1 -1
- package/dist/cjs/internals/utils/equals.js.map +1 -1
- package/dist/cjs/internals/utils/type-utils.d.ts +0 -2
- package/dist/cjs/internals/utils/type-utils.d.ts.map +1 -1
- package/dist/cjs/internals/utils/type-utils.js +0 -5
- package/dist/cjs/internals/utils/type-utils.js.map +1 -1
- package/dist/cjs/internals/watch.d.ts +4 -0
- package/dist/cjs/internals/watch.d.ts.map +1 -0
- package/dist/cjs/internals/{connect.js → watch.js} +7 -7
- package/dist/cjs/internals/watch.js.map +1 -0
- package/dist/cjs/internals/weakref.d.ts.map +1 -0
- package/dist/cjs/internals/weakref.js.map +1 -0
- package/dist/cjs/react/component.d.ts +2 -0
- package/dist/cjs/react/component.d.ts.map +1 -0
- package/dist/cjs/react/component.js +40 -0
- package/dist/cjs/react/component.js.map +1 -0
- package/dist/cjs/react/context.d.ts +2 -1
- package/dist/cjs/react/context.d.ts.map +1 -1
- package/dist/cjs/react/context.js +10 -5
- package/dist/cjs/react/context.js.map +1 -1
- package/dist/cjs/react/index.d.ts +4 -4
- package/dist/cjs/react/index.d.ts.map +1 -1
- package/dist/cjs/react/index.js +11 -8
- package/dist/cjs/react/index.js.map +1 -1
- package/dist/cjs/react/provider.d.ts.map +1 -1
- package/dist/cjs/react/provider.js +1 -1
- package/dist/cjs/react/provider.js.map +1 -1
- package/dist/cjs/react/rendering.d.ts +0 -6
- package/dist/cjs/react/rendering.d.ts.map +1 -1
- package/dist/cjs/react/rendering.js +1 -19
- package/dist/cjs/react/rendering.js.map +1 -1
- package/dist/cjs/react/use-reactive.d.ts +7 -0
- package/dist/cjs/react/use-reactive.d.ts.map +1 -0
- package/dist/cjs/react/use-reactive.js +67 -0
- package/dist/cjs/react/use-reactive.js.map +1 -0
- package/dist/cjs/react/use-signal.d.ts +3 -0
- package/dist/cjs/react/use-signal.d.ts.map +1 -0
- package/dist/cjs/react/{state.js → use-signal.js} +5 -5
- package/dist/cjs/react/use-signal.js.map +1 -0
- package/dist/cjs/{transform.d.ts → transform/async.d.ts} +1 -1
- package/dist/cjs/transform/async.d.ts.map +1 -0
- package/dist/cjs/{transform.js → transform/async.js} +22 -9
- package/dist/cjs/transform/async.js.map +1 -0
- package/dist/cjs/transform/callback.d.ts +6 -0
- package/dist/cjs/transform/callback.d.ts.map +1 -0
- package/dist/cjs/transform/callback.js +259 -0
- package/dist/cjs/transform/callback.js.map +1 -0
- package/dist/cjs/transform/index.d.ts +5 -0
- package/dist/cjs/transform/index.d.ts.map +1 -0
- package/dist/cjs/transform/index.js +12 -0
- package/dist/cjs/transform/index.js.map +1 -0
- package/dist/cjs/transform/preset.d.ts +7 -0
- package/dist/cjs/transform/preset.d.ts.map +1 -0
- package/dist/cjs/transform/preset.js +20 -0
- package/dist/cjs/transform/preset.js.map +1 -0
- package/dist/cjs/transform/promise.d.ts +6 -0
- package/dist/cjs/transform/promise.d.ts.map +1 -0
- package/dist/cjs/transform/promise.js +129 -0
- package/dist/cjs/transform/promise.js.map +1 -0
- package/dist/cjs/types.d.ts +44 -63
- package/dist/cjs/types.d.ts.map +1 -1
- package/dist/cjs/utils.d.ts +2 -0
- package/dist/cjs/utils.d.ts.map +1 -0
- package/dist/cjs/utils.js +7 -0
- package/dist/cjs/utils.js.map +1 -0
- package/dist/esm/config.d.ts +1 -21
- package/dist/esm/config.d.ts.map +1 -1
- package/dist/esm/config.js +1 -29
- package/dist/esm/config.js.map +1 -1
- package/dist/esm/debug.d.ts +1 -1
- package/dist/esm/debug.d.ts.map +1 -1
- package/dist/esm/debug.js +1 -1
- package/dist/esm/debug.js.map +1 -1
- package/dist/esm/index.d.ts +5 -6
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +5 -6
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/internals/async.d.ts +24 -19
- package/dist/esm/internals/async.d.ts.map +1 -1
- package/dist/esm/internals/async.js +253 -128
- package/dist/esm/internals/async.js.map +1 -1
- package/dist/esm/internals/callback.d.ts +13 -0
- package/dist/esm/internals/callback.d.ts.map +1 -0
- package/dist/esm/internals/callback.js +67 -0
- package/dist/esm/internals/callback.js.map +1 -0
- package/dist/esm/internals/config.d.ts +7 -0
- package/dist/esm/internals/config.d.ts.map +1 -0
- package/dist/esm/internals/config.js +11 -0
- package/dist/esm/internals/config.js.map +1 -0
- package/dist/esm/internals/consumer.d.ts +3 -3
- package/dist/esm/internals/consumer.d.ts.map +1 -1
- package/dist/esm/internals/consumer.js.map +1 -1
- package/dist/esm/internals/contexts.d.ts +16 -15
- package/dist/esm/internals/contexts.d.ts.map +1 -1
- package/dist/esm/internals/contexts.js +52 -50
- package/dist/esm/internals/contexts.js.map +1 -1
- package/dist/esm/internals/core-api.d.ts +15 -0
- package/dist/esm/internals/core-api.d.ts.map +1 -0
- package/dist/esm/internals/core-api.js +74 -0
- package/dist/esm/internals/core-api.js.map +1 -0
- package/dist/esm/internals/dirty.d.ts +3 -3
- package/dist/esm/internals/dirty.d.ts.map +1 -1
- package/dist/esm/internals/dirty.js +12 -12
- package/dist/esm/internals/dirty.js.map +1 -1
- package/dist/esm/internals/edge.d.ts +5 -5
- package/dist/esm/internals/edge.d.ts.map +1 -1
- package/dist/esm/internals/edge.js.map +1 -1
- package/dist/esm/internals/generators.d.ts +5 -0
- package/dist/esm/internals/generators.d.ts.map +1 -0
- package/dist/esm/internals/generators.js +79 -0
- package/dist/esm/internals/generators.js.map +1 -0
- package/dist/esm/internals/get.d.ts +5 -8
- package/dist/esm/internals/get.d.ts.map +1 -1
- package/dist/esm/internals/get.js +43 -100
- package/dist/esm/internals/get.js.map +1 -1
- package/dist/esm/internals/reactive.d.ts +77 -0
- package/dist/esm/internals/reactive.d.ts.map +1 -0
- package/dist/esm/internals/{derived.js → reactive.js} +41 -29
- package/dist/esm/internals/reactive.js.map +1 -0
- package/dist/esm/internals/scheduling.d.ts +7 -7
- package/dist/esm/internals/scheduling.d.ts.map +1 -1
- package/dist/esm/internals/scheduling.js +6 -6
- package/dist/esm/internals/scheduling.js.map +1 -1
- package/dist/esm/internals/signal.d.ts +20 -0
- package/dist/esm/internals/signal.d.ts.map +1 -0
- package/dist/esm/internals/{state.js → signal.js} +25 -22
- package/dist/esm/internals/signal.js.map +1 -0
- package/dist/{cjs → esm/internals}/trace.d.ts +1 -1
- package/dist/esm/internals/trace.d.ts.map +1 -0
- package/dist/esm/{trace.js → internals/trace.js} +1 -1
- package/dist/esm/internals/trace.js.map +1 -0
- package/dist/esm/internals/utils/equals.d.ts +4 -4
- package/dist/esm/internals/utils/equals.d.ts.map +1 -1
- package/dist/esm/internals/utils/equals.js.map +1 -1
- package/dist/esm/internals/utils/type-utils.d.ts +0 -2
- package/dist/esm/internals/utils/type-utils.d.ts.map +1 -1
- package/dist/esm/internals/utils/type-utils.js +0 -4
- package/dist/esm/internals/utils/type-utils.js.map +1 -1
- package/dist/esm/internals/watch.d.ts +4 -0
- package/dist/esm/internals/watch.d.ts.map +1 -0
- package/dist/esm/internals/{connect.js → watch.js} +7 -7
- package/dist/esm/internals/watch.js.map +1 -0
- package/dist/esm/internals/weakref.d.ts.map +1 -0
- package/dist/esm/internals/weakref.js.map +1 -0
- package/dist/esm/react/component.d.ts +2 -0
- package/dist/esm/react/component.d.ts.map +1 -0
- package/dist/esm/react/component.js +37 -0
- package/dist/esm/react/component.js.map +1 -0
- package/dist/esm/react/context.d.ts +2 -1
- package/dist/esm/react/context.d.ts.map +1 -1
- package/dist/esm/react/context.js +10 -6
- package/dist/esm/react/context.js.map +1 -1
- package/dist/esm/react/index.d.ts +4 -4
- package/dist/esm/react/index.d.ts.map +1 -1
- package/dist/esm/react/index.js +4 -4
- package/dist/esm/react/index.js.map +1 -1
- package/dist/esm/react/provider.d.ts.map +1 -1
- package/dist/esm/react/provider.js +2 -2
- package/dist/esm/react/provider.js.map +1 -1
- package/dist/esm/react/rendering.d.ts +0 -6
- package/dist/esm/react/rendering.d.ts.map +1 -1
- package/dist/esm/react/rendering.js +1 -17
- package/dist/esm/react/rendering.js.map +1 -1
- package/dist/esm/react/use-reactive.d.ts +7 -0
- package/dist/esm/react/use-reactive.d.ts.map +1 -0
- package/dist/esm/react/use-reactive.js +64 -0
- package/dist/esm/react/use-reactive.js.map +1 -0
- package/dist/esm/react/use-signal.d.ts +3 -0
- package/dist/esm/react/use-signal.d.ts.map +1 -0
- package/dist/esm/react/use-signal.js +10 -0
- package/dist/esm/react/use-signal.js.map +1 -0
- package/dist/esm/{transform.d.ts → transform/async.d.ts} +1 -1
- package/dist/esm/transform/async.d.ts.map +1 -0
- package/dist/esm/{transform.js → transform/async.js} +22 -9
- package/dist/esm/transform/async.js.map +1 -0
- package/dist/esm/transform/callback.d.ts +6 -0
- package/dist/esm/transform/callback.d.ts.map +1 -0
- package/dist/esm/transform/callback.js +256 -0
- package/dist/esm/transform/callback.js.map +1 -0
- package/dist/esm/transform/index.d.ts +5 -0
- package/dist/esm/transform/index.d.ts.map +1 -0
- package/dist/esm/transform/index.js +5 -0
- package/dist/esm/transform/index.js.map +1 -0
- package/dist/esm/transform/preset.d.ts +7 -0
- package/dist/esm/transform/preset.d.ts.map +1 -0
- package/dist/esm/transform/preset.js +17 -0
- package/dist/esm/transform/preset.js.map +1 -0
- package/dist/esm/transform/promise.d.ts +6 -0
- package/dist/esm/transform/promise.d.ts.map +1 -0
- package/dist/esm/transform/promise.js +126 -0
- package/dist/esm/transform/promise.js.map +1 -0
- package/dist/esm/types.d.ts +44 -63
- package/dist/esm/types.d.ts.map +1 -1
- package/dist/esm/utils.d.ts +2 -0
- package/dist/esm/utils.d.ts.map +1 -0
- package/dist/esm/utils.js +2 -0
- package/dist/esm/utils.js.map +1 -0
- package/package.json +56 -58
- package/react.js +0 -4
- package/transform.js +1 -5
- package/utils.js +15 -0
- package/.turbo/turbo-build.log +0 -12
- package/dist/cjs/hooks.d.ts +0 -16
- package/dist/cjs/hooks.d.ts.map +0 -1
- package/dist/cjs/hooks.js +0 -44
- package/dist/cjs/hooks.js.map +0 -1
- package/dist/cjs/internals/connect.d.ts +0 -4
- package/dist/cjs/internals/connect.d.ts.map +0 -1
- package/dist/cjs/internals/connect.js.map +0 -1
- package/dist/cjs/internals/derived.d.ts +0 -76
- package/dist/cjs/internals/derived.d.ts.map +0 -1
- package/dist/cjs/internals/derived.js.map +0 -1
- package/dist/cjs/internals/state.d.ts +0 -18
- package/dist/cjs/internals/state.d.ts.map +0 -1
- package/dist/cjs/internals/state.js.map +0 -1
- package/dist/cjs/react/setup.d.ts +0 -2
- package/dist/cjs/react/setup.d.ts.map +0 -1
- package/dist/cjs/react/setup.js +0 -14
- package/dist/cjs/react/setup.js.map +0 -1
- package/dist/cjs/react/signal-value.d.ts +0 -6
- package/dist/cjs/react/signal-value.d.ts.map +0 -1
- package/dist/cjs/react/signal-value.js +0 -37
- package/dist/cjs/react/signal-value.js.map +0 -1
- package/dist/cjs/react/state.d.ts +0 -3
- package/dist/cjs/react/state.d.ts.map +0 -1
- package/dist/cjs/react/state.js.map +0 -1
- package/dist/cjs/trace.d.ts.map +0 -1
- package/dist/cjs/trace.js.map +0 -1
- package/dist/cjs/transform.d.ts.map +0 -1
- package/dist/cjs/transform.js.map +0 -1
- package/dist/cjs/weakref.d.ts.map +0 -1
- package/dist/cjs/weakref.js.map +0 -1
- package/dist/esm/hooks.d.ts +0 -16
- package/dist/esm/hooks.d.ts.map +0 -1
- package/dist/esm/hooks.js +0 -37
- package/dist/esm/hooks.js.map +0 -1
- package/dist/esm/internals/connect.d.ts +0 -4
- package/dist/esm/internals/connect.d.ts.map +0 -1
- package/dist/esm/internals/connect.js.map +0 -1
- package/dist/esm/internals/derived.d.ts +0 -76
- package/dist/esm/internals/derived.d.ts.map +0 -1
- package/dist/esm/internals/derived.js.map +0 -1
- package/dist/esm/internals/state.d.ts +0 -18
- package/dist/esm/internals/state.d.ts.map +0 -1
- package/dist/esm/internals/state.js.map +0 -1
- package/dist/esm/react/setup.d.ts +0 -2
- package/dist/esm/react/setup.d.ts.map +0 -1
- package/dist/esm/react/setup.js +0 -11
- package/dist/esm/react/setup.js.map +0 -1
- package/dist/esm/react/signal-value.d.ts +0 -6
- package/dist/esm/react/signal-value.d.ts.map +0 -1
- package/dist/esm/react/signal-value.js +0 -33
- package/dist/esm/react/signal-value.js.map +0 -1
- package/dist/esm/react/state.d.ts +0 -3
- package/dist/esm/react/state.d.ts.map +0 -1
- package/dist/esm/react/state.js +0 -10
- package/dist/esm/react/state.js.map +0 -1
- package/dist/esm/trace.d.ts.map +0 -1
- package/dist/esm/trace.js.map +0 -1
- package/dist/esm/transform.d.ts.map +0 -1
- package/dist/esm/transform.js.map +0 -1
- package/dist/esm/weakref.d.ts.map +0 -1
- package/dist/esm/weakref.js.map +0 -1
- package/src/__tests__/__snapshots__/context.test.ts.snap +0 -2101
- package/src/__tests__/__snapshots__/nesting.test.ts.snap +0 -16201
- package/src/__tests__/__snapshots__/params-and-state.test.ts.snap +0 -1879
- package/src/__tests__/async-task.test.ts +0 -327
- package/src/__tests__/context.test.ts +0 -619
- package/src/__tests__/gc.test.ts +0 -256
- package/src/__tests__/nesting.test.ts +0 -298
- package/src/__tests__/params-and-state.test.ts +0 -230
- package/src/__tests__/reactive-async.test.ts +0 -548
- package/src/__tests__/reactive-sync.test.ts +0 -130
- package/src/__tests__/subscription.test.ts +0 -510
- package/src/__tests__/utils/async.ts +0 -6
- package/src/__tests__/utils/instrumented-hooks.ts +0 -410
- package/src/__tests__/utils/permute.ts +0 -85
- package/src/config.ts +0 -54
- package/src/debug.ts +0 -14
- package/src/hooks.ts +0 -82
- package/src/index.ts +0 -20
- package/src/internals/async.ts +0 -563
- package/src/internals/connect.ts +0 -49
- package/src/internals/consumer.ts +0 -13
- package/src/internals/contexts.ts +0 -173
- package/src/internals/derived.ts +0 -217
- package/src/internals/dirty.ts +0 -91
- package/src/internals/edge.ts +0 -109
- package/src/internals/get.ts +0 -298
- package/src/internals/scheduling.ts +0 -160
- package/src/internals/state.ts +0 -111
- package/src/internals/utils/debug-name.ts +0 -14
- package/src/internals/utils/equals.ts +0 -12
- package/src/internals/utils/hash.ts +0 -221
- package/src/internals/utils/stringify.ts +0 -57
- package/src/internals/utils/type-utils.ts +0 -19
- package/src/react/__tests__/async.test.tsx +0 -704
- package/src/react/__tests__/basic.test.tsx +0 -95
- package/src/react/__tests__/contexts.test.tsx +0 -181
- package/src/react/__tests__/subscriptions.test.tsx +0 -49
- package/src/react/__tests__/utils.tsx +0 -40
- package/src/react/context.ts +0 -14
- package/src/react/index.ts +0 -6
- package/src/react/provider.tsx +0 -18
- package/src/react/rendering.ts +0 -43
- package/src/react/setup.ts +0 -11
- package/src/react/signal-value.ts +0 -50
- package/src/react/state.ts +0 -13
- package/src/trace.ts +0 -454
- package/src/transform.ts +0 -113
- package/src/types.ts +0 -115
- package/src/weakref.ts +0 -9
- package/tsconfig.json +0 -13
- package/vitest.workspace.ts +0 -61
- /package/dist/cjs/{weakref.d.ts → internals/weakref.d.ts} +0 -0
- /package/dist/cjs/{weakref.js → internals/weakref.js} +0 -0
- /package/dist/esm/{weakref.d.ts → internals/weakref.d.ts} +0 -0
- /package/dist/esm/{weakref.js → internals/weakref.js} +0 -0
@@ -3,17 +3,18 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
4
|
};
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
6
|
-
exports.
|
7
|
-
exports.
|
8
|
-
const weakref_js_1 = __importDefault(require("
|
9
|
-
const trace_js_1 = require("
|
6
|
+
exports.isRelay = exports.runListeners = exports.ReactiveFnSignal = void 0;
|
7
|
+
exports.createReactiveFnSignal = createReactiveFnSignal;
|
8
|
+
const weakref_js_1 = __importDefault(require("./weakref.js"));
|
9
|
+
const trace_js_1 = require("./trace.js");
|
10
10
|
const debug_name_js_1 = require("./utils/debug-name.js");
|
11
11
|
const get_js_1 = require("./get.js");
|
12
12
|
const scheduling_js_1 = require("./scheduling.js");
|
13
13
|
const hash_js_1 = require("./utils/hash.js");
|
14
14
|
const stringify_js_1 = require("./utils/stringify.js");
|
15
|
+
const watch_js_1 = require("./watch.js");
|
15
16
|
let ID = 0;
|
16
|
-
class
|
17
|
+
class ReactiveFnSignal {
|
17
18
|
// Bitmask containing state in the first 2 bits and boolean properties in the remaining bits
|
18
19
|
flags;
|
19
20
|
scope = undefined;
|
@@ -24,44 +25,55 @@ class DerivedSignal {
|
|
24
25
|
updatedCount = 0;
|
25
26
|
computedCount = 0;
|
26
27
|
watchCount = 0;
|
27
|
-
_listeners = null;
|
28
28
|
key;
|
29
29
|
args;
|
30
|
-
|
30
|
+
callbacks = undefined;
|
31
|
+
_listeners = null;
|
32
|
+
_value = undefined;
|
31
33
|
tracerMeta;
|
32
34
|
// Reference to the shared definition
|
33
35
|
def;
|
34
|
-
constructor(
|
35
|
-
this.flags = (
|
36
|
+
constructor(def, args, key, scope) {
|
37
|
+
this.flags = (def.isRelay ? 4 /* ReactiveFnFlags.isRelay */ : 0) | 2 /* ReactiveFnState.Dirty */;
|
36
38
|
this.scope = scope;
|
37
39
|
this.key = key;
|
38
40
|
this.args = args;
|
39
|
-
this.def =
|
40
|
-
this.value = opts?.initValue;
|
41
|
+
this.def = def;
|
41
42
|
if (trace_js_1.TRACER) {
|
42
43
|
this.tracerMeta = {
|
43
|
-
id:
|
44
|
-
desc:
|
44
|
+
id: def.id ?? key ?? (0, hash_js_1.hashValue)([def.compute, ID++]),
|
45
|
+
desc: def.desc ?? def.compute.name ?? (0, debug_name_js_1.getUnknownSignalFnName)(def.compute),
|
45
46
|
params: args.map(arg => (0, stringify_js_1.stringifyValue)(arg)).join(', '),
|
46
|
-
tracer:
|
47
|
+
tracer: def.tracer,
|
47
48
|
};
|
48
49
|
}
|
49
50
|
}
|
50
51
|
get _state() {
|
51
|
-
return this.flags & 3 /*
|
52
|
+
return this.flags & 3 /* ReactiveFnFlags.State */;
|
52
53
|
}
|
53
54
|
set _state(state) {
|
54
|
-
this.flags = (this.flags & ~3 /*
|
55
|
+
this.flags = (this.flags & ~3 /* ReactiveFnFlags.State */) | state;
|
55
56
|
}
|
56
57
|
get _isListener() {
|
57
|
-
return (this.flags & 8 /*
|
58
|
+
return (this.flags & 8 /* ReactiveFnFlags.isListener */) !== 0;
|
58
59
|
}
|
59
60
|
set _isListener(isListener) {
|
60
61
|
if (isListener) {
|
61
|
-
this.flags |= 8 /*
|
62
|
+
this.flags |= 8 /* ReactiveFnFlags.isListener */;
|
63
|
+
}
|
64
|
+
else {
|
65
|
+
this.flags &= ~8 /* ReactiveFnFlags.isListener */;
|
66
|
+
}
|
67
|
+
}
|
68
|
+
get _isLazy() {
|
69
|
+
return (this.flags & 16 /* ReactiveFnFlags.isLazy */) !== 0;
|
70
|
+
}
|
71
|
+
set _isLazy(isLazy) {
|
72
|
+
if (isLazy) {
|
73
|
+
this.flags |= 16 /* ReactiveFnFlags.isLazy */;
|
62
74
|
}
|
63
75
|
else {
|
64
|
-
this.flags &= ~
|
76
|
+
this.flags &= ~16 /* ReactiveFnFlags.isLazy */;
|
65
77
|
}
|
66
78
|
}
|
67
79
|
get listeners() {
|
@@ -72,15 +84,15 @@ class DerivedSignal {
|
|
72
84
|
cachedBoundAdd: this.addListener.bind(this),
|
73
85
|
}));
|
74
86
|
}
|
75
|
-
get() {
|
87
|
+
get value() {
|
76
88
|
return (0, get_js_1.getSignal)(this);
|
77
89
|
}
|
78
90
|
addListener(listener) {
|
79
91
|
const { current } = this.listeners;
|
80
92
|
if (!current.has(listener)) {
|
81
93
|
if (!this._isListener) {
|
82
|
-
this
|
83
|
-
this.flags |= 8 /*
|
94
|
+
(0, watch_js_1.watchSignal)(this);
|
95
|
+
this.flags |= 8 /* ReactiveFnFlags.isListener */;
|
84
96
|
}
|
85
97
|
(0, scheduling_js_1.schedulePull)(this);
|
86
98
|
current.add(listener);
|
@@ -90,23 +102,23 @@ class DerivedSignal {
|
|
90
102
|
current.delete(listener);
|
91
103
|
if (current.size === 0) {
|
92
104
|
(0, scheduling_js_1.scheduleUnwatch)(this);
|
93
|
-
this.flags &= ~8 /*
|
105
|
+
this.flags &= ~8 /* ReactiveFnFlags.isListener */;
|
94
106
|
}
|
95
107
|
}
|
96
108
|
};
|
97
109
|
}
|
98
110
|
// This method is used in React hooks specifically. It returns a bound add method
|
99
111
|
// that is cached to avoid creating a new one on each call, and it eagerly sets
|
100
|
-
// the listener as watched so that
|
112
|
+
// the listener as watched so that relays that are accessed will be activated.
|
101
113
|
addListenerLazy() {
|
102
114
|
if (!this._isListener) {
|
103
|
-
this
|
104
|
-
this.flags |= 8 /*
|
115
|
+
(0, watch_js_1.watchSignal)(this);
|
116
|
+
this.flags |= 8 /* ReactiveFnFlags.isListener */;
|
105
117
|
}
|
106
118
|
return this.listeners.cachedBoundAdd;
|
107
119
|
}
|
108
120
|
}
|
109
|
-
exports.
|
121
|
+
exports.ReactiveFnSignal = ReactiveFnSignal;
|
110
122
|
const runListeners = (signal) => {
|
111
123
|
const { listeners } = signal;
|
112
124
|
if (listeners === null) {
|
@@ -118,11 +130,11 @@ const runListeners = (signal) => {
|
|
118
130
|
}
|
119
131
|
};
|
120
132
|
exports.runListeners = runListeners;
|
121
|
-
const
|
122
|
-
return (signal.flags & 4 /*
|
133
|
+
const isRelay = (signal) => {
|
134
|
+
return (signal.flags & 4 /* ReactiveFnFlags.isRelay */) !== 0;
|
123
135
|
};
|
124
|
-
exports.
|
125
|
-
function
|
126
|
-
return new
|
136
|
+
exports.isRelay = isRelay;
|
137
|
+
function createReactiveFnSignal(def, args = [], key, scope) {
|
138
|
+
return new ReactiveFnSignal(def, args, key, scope);
|
127
139
|
}
|
128
|
-
//# sourceMappingURL=
|
140
|
+
//# sourceMappingURL=reactive.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"reactive.js","sourceRoot":"","sources":["../../../src/internals/reactive.ts"],"names":[],"mappings":";;;;;;AAyNA,wDAOC;AAhOD,8DAAmC;AACnC,yCAAwD;AAExD,yDAA+D;AAE/D,qCAAqC;AAErC,mDAAgE;AAChE,6CAA4C;AAC5C,uDAAsD;AAEtD,yCAAyC;AAgCzC,IAAI,EAAE,GAAG,CAAC,CAAC;AAwBX,MAAa,gBAAgB;IAC3B,4FAA4F;IACpF,KAAK,CAAS;IACtB,KAAK,GAA4B,SAAS,CAAC;IAE3C,IAAI,GAAG,IAAI,GAAG,EAA6C,CAAC;IAC5D,IAAI,GAAG,IAAI,GAAG,EAAoC,CAAC;IAEnD,GAAG,GAAuC,IAAI,oBAAO,CAAC,IAAI,CAAC,CAAC;IAE5D,SAAS,GAAqB,SAAS,CAAC;IAExC,YAAY,GAAW,CAAC,CAAC;IACzB,aAAa,GAAW,CAAC,CAAC;IAE1B,UAAU,GAAW,CAAC,CAAC;IAEvB,GAAG,CAAuB;IAC1B,IAAI,CAAO;IACX,SAAS,GAA2B,SAAS,CAAC;IAE9C,UAAU,GAAwB,IAAI,CAAC;IACvC,MAAM,GAAiC,SAAS,CAAC;IAEjD,UAAU,CAAc;IAExB,qCAAqC;IACrC,GAAG,CAAgC;IAEnC,YAAY,GAAkC,EAAE,IAAU,EAAE,GAAc,EAAE,KAAmB;QAC7F,IAAI,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,iCAAyB,CAAC,CAAC,CAAC,CAAC,gCAAwB,CAAC;QACjF,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QAEf,IAAI,iBAAM,EAAE,CAAC;YACX,IAAI,CAAC,UAAU,GAAG;gBAChB,EAAE,EAAE,GAAG,CAAC,EAAE,IAAI,GAAG,IAAI,IAAA,mBAAS,EAAC,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;gBACnD,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,IAAA,sCAAsB,EAAC,GAAG,CAAC,OAAO,CAAC;gBACzE,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAA,6BAAc,EAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;gBACvD,MAAM,EAAE,GAAG,CAAC,MAAM;aACnB,CAAC;QACJ,CAAC;IACH,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,KAAK,gCAAwB,CAAC;IAC5C,CAAC;IAED,IAAI,MAAM,CAAC,KAAsB;QAC/B,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG,8BAAsB,CAAC,GAAG,KAAK,CAAC;IAC7D,CAAC;IAED,IAAI,WAAW;QACb,OAAO,CAAC,IAAI,CAAC,KAAK,qCAA6B,CAAC,KAAK,CAAC,CAAC;IACzD,CAAC;IAED,IAAI,WAAW,CAAC,UAAmB;QACjC,IAAI,UAAU,EAAE,CAAC;YACf,IAAI,CAAC,KAAK,sCAA8B,CAAC;QAC3C,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,KAAK,IAAI,mCAA2B,CAAC;QAC5C,CAAC;IACH,CAAC;IAED,IAAI,OAAO;QACT,OAAO,CAAC,IAAI,CAAC,KAAK,kCAAyB,CAAC,KAAK,CAAC,CAAC;IACrD,CAAC;IAED,IAAI,OAAO,CAAC,MAAe;QACzB,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,CAAC,KAAK,mCAA0B,CAAC;QACvC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,KAAK,IAAI,gCAAuB,CAAC;QACxC,CAAC;IACH,CAAC;IAED,IAAI,SAAS;QACX,OAAO,CACL,IAAI,CAAC,UAAU;YACf,CAAC,IAAI,CAAC,UAAU,GAAG;gBACjB,SAAS,EAAE,CAAC;gBACZ,OAAO,EAAE,IAAI,GAAG,EAAE;gBAClB,cAAc,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;aAC5C,CAAC,CACH,CAAC;IACJ,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAA,kBAAS,EAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAED,WAAW,CAAC,QAAoB;QAC9B,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC;QAEnC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC3B,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;gBACtB,IAAA,sBAAW,EAAC,IAAI,CAAC,CAAC;gBAClB,IAAI,CAAC,KAAK,sCAA8B,CAAC;YAC3C,CAAC;YAED,IAAA,4BAAY,EAAC,IAAI,CAAC,CAAC;YAEnB,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACxB,CAAC;QAED,OAAO,GAAG,EAAE;YACV,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC1B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAEzB,IAAI,OAAO,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;oBACvB,IAAA,+BAAe,EAAC,IAAI,CAAC,CAAC;oBACtB,IAAI,CAAC,KAAK,IAAI,mCAA2B,CAAC;gBAC5C,CAAC;YACH,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;IAED,iFAAiF;IACjF,+EAA+E;IAC/E,8EAA8E;IAC9E,eAAe;QACb,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,IAAA,sBAAW,EAAC,IAAI,CAAC,CAAC;YAClB,IAAI,CAAC,KAAK,sCAA8B,CAAC;QAC3C,CAAC;QAED,OAAO,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC;IACvC,CAAC;CACF;AAlID,4CAkIC;AAEM,MAAM,YAAY,GAAG,CAAC,MAAkC,EAAE,EAAE;IACjE,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC;IAE7B,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;QACvB,OAAO;IACT,CAAC;IAED,MAAM,EAAE,OAAO,EAAE,GAAG,SAAS,CAAC;IAE9B,KAAK,MAAM,QAAQ,IAAI,OAAO,EAAE,CAAC;QAC/B,QAAQ,EAAE,CAAC;IACb,CAAC;AACH,CAAC,CAAC;AAZW,QAAA,YAAY,gBAYvB;AAEK,MAAM,OAAO,GAAG,CAAC,MAAe,EAAW,EAAE;IAClD,OAAO,CAAE,MAAc,CAAC,KAAK,kCAA0B,CAAC,KAAK,CAAC,CAAC;AACjE,CAAC,CAAC;AAFW,QAAA,OAAO,WAElB;AAEF,SAAgB,sBAAsB,CACpC,GAAkC,EAClC,OAAa,EAAS,EACtB,GAAc,EACd,KAAmB;IAEnB,OAAO,IAAI,gBAAgB,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;AACrD,CAAC"}
|
@@ -1,12 +1,12 @@
|
|
1
|
-
import {
|
2
|
-
import { Tracer } from '
|
3
|
-
import { StateSignal } from './
|
1
|
+
import { ReactiveFnSignal } from './reactive.js';
|
2
|
+
import { Tracer } from './trace.js';
|
3
|
+
import { StateSignal } from './signal.js';
|
4
4
|
import { SignalScope } from './contexts.js';
|
5
5
|
export declare const setResolved: () => void;
|
6
|
-
export declare const schedulePull: (signal:
|
7
|
-
export declare const scheduleAsyncPull: (signal:
|
8
|
-
export declare const scheduleUnwatch: (unwatch:
|
9
|
-
export declare const scheduleListeners: (signal:
|
6
|
+
export declare const schedulePull: (signal: ReactiveFnSignal<any, any>) => void;
|
7
|
+
export declare const scheduleAsyncPull: (signal: ReactiveFnSignal<any, any>) => void;
|
8
|
+
export declare const scheduleUnwatch: (unwatch: ReactiveFnSignal<any, any>) => void;
|
9
|
+
export declare const scheduleListeners: (signal: ReactiveFnSignal<any, any> | StateSignal<any>) => void;
|
10
10
|
export declare const scheduleTracer: (tracer: Tracer) => void;
|
11
11
|
export declare const scheduleGcSweep: (scope: SignalScope) => void;
|
12
12
|
export declare const settled: () => Promise<void>;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"scheduling.d.ts","sourceRoot":"","sources":["../../../src/internals/scheduling.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,
|
1
|
+
{"version":3,"file":"scheduling.d.ts","sourceRoot":"","sources":["../../../src/internals/scheduling.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAIjD,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEpC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AA8B5C,eAAO,MAAM,WAAW,YAEvB,CAAC;AAEF,eAAO,MAAM,YAAY,WAAY,gBAAgB,CAAC,GAAG,EAAE,GAAG,CAAC,SAG9D,CAAC;AAEF,eAAO,MAAM,iBAAiB,WAAY,gBAAgB,CAAC,GAAG,EAAE,GAAG,CAAC,SAGnE,CAAC;AAEF,eAAO,MAAM,eAAe,YAAa,gBAAgB,CAAC,GAAG,EAAE,GAAG,CAAC,SAMlE,CAAC;AAEF,eAAO,MAAM,iBAAiB,WAAY,gBAAgB,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,SAGtF,CAAC;AAEF,eAAO,MAAM,cAAc,WAAY,MAAM,SAG5C,CAAC;AAEF,eAAO,MAAM,eAAe,UAAW,WAAW,SAYjD,CAAC;AA8DF,eAAO,MAAM,OAAO,qBAInB,CAAC;AAEF,eAAO,MAAM,KAAK,OAAQ,MAAM,IAAI,SASnC,CAAC"}
|
@@ -1,12 +1,12 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
3
|
exports.batch = exports.settled = exports.scheduleGcSweep = exports.scheduleTracer = exports.scheduleListeners = exports.scheduleUnwatch = exports.scheduleAsyncPull = exports.schedulePull = exports.setResolved = void 0;
|
4
|
-
const config_js_1 = require("
|
5
|
-
const
|
4
|
+
const config_js_1 = require("./config.js");
|
5
|
+
const reactive_js_1 = require("./reactive.js");
|
6
6
|
const get_js_1 = require("./get.js");
|
7
|
-
const
|
8
|
-
const
|
9
|
-
const
|
7
|
+
const reactive_js_2 = require("./reactive.js");
|
8
|
+
const signal_js_1 = require("./signal.js");
|
9
|
+
const watch_js_1 = require("./watch.js");
|
10
10
|
// Determine once at startup which scheduling function to use for GC
|
11
11
|
const scheduleIdleCallback = typeof requestIdleCallback === 'function' ? requestIdleCallback : (cb) => (0, config_js_1.scheduleFlush)(cb);
|
12
12
|
let PROMISE_WAS_RESOLVED = false;
|
@@ -94,14 +94,14 @@ const flushWatchers = async () => {
|
|
94
94
|
currentFlush = null;
|
95
95
|
(0, config_js_1.runBatch)(() => {
|
96
96
|
for (const [signal, count] of PENDING_UNWATCH) {
|
97
|
-
(0,
|
97
|
+
(0, watch_js_1.unwatchSignal)(signal, count);
|
98
98
|
}
|
99
99
|
for (const signal of PENDING_LISTENERS) {
|
100
|
-
if (signal instanceof
|
101
|
-
(0,
|
100
|
+
if (signal instanceof reactive_js_1.ReactiveFnSignal) {
|
101
|
+
(0, reactive_js_2.runListeners)(signal);
|
102
102
|
}
|
103
103
|
else {
|
104
|
-
(0,
|
104
|
+
(0, signal_js_1.runListeners)(signal);
|
105
105
|
}
|
106
106
|
}
|
107
107
|
for (const tracer of PENDING_TRACERS) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"scheduling.js","sourceRoot":"","sources":["../../../src/internals/scheduling.ts"],"names":[],"mappings":";;;AAAA,
|
1
|
+
{"version":3,"file":"scheduling.js","sourceRoot":"","sources":["../../../src/internals/scheduling.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,20 @@
|
|
1
|
+
import { Signal, Equals, SignalOptions, Notifier } from '../types.js';
|
2
|
+
export declare class StateSignal<T> implements Signal<T> {
|
3
|
+
private _value;
|
4
|
+
private _equals;
|
5
|
+
private _subs;
|
6
|
+
_desc: string;
|
7
|
+
_id: number;
|
8
|
+
private _listeners;
|
9
|
+
constructor(value: T, equals?: Equals<T>, desc?: string);
|
10
|
+
get value(): T;
|
11
|
+
update(fn: (value: T) => T): void;
|
12
|
+
set value(value: T);
|
13
|
+
consume(): void;
|
14
|
+
notify(): void;
|
15
|
+
addListener(listener: () => void): () => void;
|
16
|
+
}
|
17
|
+
export declare function runListeners(signal: StateSignal<any>): void;
|
18
|
+
export declare function signal<T>(initialValue: T, opts?: SignalOptions<T>): Signal<T>;
|
19
|
+
export declare const notifier: (opts?: SignalOptions<undefined>) => Notifier;
|
20
|
+
//# sourceMappingURL=signal.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"signal.d.ts","sourceRoot":"","sources":["../../../src/internals/signal.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAQtE,qBAAa,WAAW,CAAC,CAAC,CAAE,YAAW,MAAM,CAAC,CAAC,CAAC;IAC9C,OAAO,CAAC,MAAM,CAAI;IAClB,OAAO,CAAC,OAAO,CAAY;IAC3B,OAAO,CAAC,KAAK,CAAoE;IACjF,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IAEZ,OAAO,CAAC,UAAU,CAAgC;gBAEtC,KAAK,EAAE,CAAC,EAAE,MAAM,GAAE,MAAM,CAAC,CAAC,CAAqB,EAAE,IAAI,GAAE,MAAgB;IAOnF,IAAI,KAAK,IAAI,CAAC,CAIb;IAED,MAAM,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC;IAI1B,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC,EAQjB;IAED,OAAO,IAAI,IAAI;IAef,MAAM,IAAI,IAAI;IAkBd,WAAW,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;CAW9C;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,CAAC,QAUpD;AAID,wBAAgB,MAAM,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,IAAI,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAI7E;AAED,eAAO,MAAM,QAAQ,UAAW,aAAa,CAAC,SAAS,CAAC,KACS,QAChE,CAAC"}
|
@@ -1,12 +1,11 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.StateSignal = void 0;
|
3
|
+
exports.notifier = exports.StateSignal = void 0;
|
4
4
|
exports.runListeners = runListeners;
|
5
|
-
exports.
|
6
|
-
const trace_js_1 = require("
|
5
|
+
exports.signal = signal;
|
6
|
+
const trace_js_1 = require("./trace.js");
|
7
7
|
const dirty_js_1 = require("./dirty.js");
|
8
|
-
const
|
9
|
-
const config_js_1 = require("../config.js");
|
8
|
+
const consumer_js_1 = require("./consumer.js");
|
10
9
|
const scheduling_js_1 = require("./scheduling.js");
|
11
10
|
let STATE_ID = 0;
|
12
11
|
class StateSignal {
|
@@ -22,35 +21,36 @@ class StateSignal {
|
|
22
21
|
this._id = STATE_ID++;
|
23
22
|
this._desc = `${desc}${this._id}`;
|
24
23
|
}
|
25
|
-
get() {
|
26
|
-
|
24
|
+
get value() {
|
25
|
+
this.consume();
|
26
|
+
return this._value;
|
27
|
+
}
|
28
|
+
update(fn) {
|
29
|
+
this.value = fn(this._value);
|
30
|
+
}
|
31
|
+
set value(value) {
|
32
|
+
if (this._equals(value, this._value)) {
|
33
|
+
return;
|
34
|
+
}
|
35
|
+
this._value = value;
|
36
|
+
this.notify();
|
37
|
+
}
|
38
|
+
consume() {
|
39
|
+
if (consumer_js_1.CURRENT_CONSUMER !== undefined) {
|
27
40
|
trace_js_1.TRACER?.emit({
|
28
41
|
type: trace_js_1.TracerEventType.ConsumeState,
|
29
|
-
id:
|
42
|
+
id: consumer_js_1.CURRENT_CONSUMER.tracerMeta.id,
|
30
43
|
childId: this._id,
|
31
44
|
value: this._value,
|
32
45
|
setValue: (value) => {
|
33
|
-
this.
|
46
|
+
this.value = value;
|
34
47
|
},
|
35
48
|
});
|
36
|
-
this._subs.set(
|
37
|
-
return this._value;
|
49
|
+
this._subs.set(consumer_js_1.CURRENT_CONSUMER.ref, consumer_js_1.CURRENT_CONSUMER.computedCount);
|
38
50
|
}
|
39
|
-
// eslint-disable-next-line react-hooks/rules-of-hooks
|
40
|
-
return (0, config_js_1.useStateSignal)(this);
|
41
51
|
}
|
42
|
-
|
43
|
-
this
|
44
|
-
}
|
45
|
-
peek() {
|
46
|
-
return this._value;
|
47
|
-
}
|
48
|
-
set(value) {
|
49
|
-
if (this._equals(value, this._value)) {
|
50
|
-
return;
|
51
|
-
}
|
52
|
-
this._value = value;
|
53
|
-
const { _subs: subs, _listeners: listeners } = this;
|
52
|
+
notify() {
|
53
|
+
const { _subs: subs } = this;
|
54
54
|
for (const [subRef, consumedAt] of subs.entries()) {
|
55
55
|
const sub = subRef.deref();
|
56
56
|
if (sub === undefined || consumedAt !== sub.computedCount) {
|
@@ -81,8 +81,12 @@ function runListeners(signal) {
|
|
81
81
|
}
|
82
82
|
}
|
83
83
|
const FALSE_EQUALS = () => false;
|
84
|
-
function
|
84
|
+
function signal(initialValue, opts) {
|
85
85
|
const equals = opts?.equals === false ? FALSE_EQUALS : (opts?.equals ?? ((a, b) => a === b));
|
86
86
|
return new StateSignal(initialValue, equals, opts?.desc);
|
87
87
|
}
|
88
|
-
|
88
|
+
const notifier = (opts) => {
|
89
|
+
return new StateSignal(undefined, FALSE_EQUALS, opts?.desc);
|
90
|
+
};
|
91
|
+
exports.notifier = notifier;
|
92
|
+
//# sourceMappingURL=signal.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"signal.js","sourceRoot":"","sources":["../../../src/internals/signal.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"trace.d.ts","sourceRoot":"","sources":["../../../src/internals/trace.ts"],"names":[],"mappings":"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"}
|
@@ -5,7 +5,7 @@ exports.setTracing = setTracing;
|
|
5
5
|
exports.createTracer = createTracer;
|
6
6
|
exports.createTracerFromId = createTracerFromId;
|
7
7
|
exports.removeTracer = removeTracer;
|
8
|
-
const scheduling_js_1 = require("./
|
8
|
+
const scheduling_js_1 = require("./scheduling.js");
|
9
9
|
var TracerEventType;
|
10
10
|
(function (TracerEventType) {
|
11
11
|
TracerEventType["StartUpdate"] = "StartUpdate";
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"trace.js","sourceRoot":"","sources":["../../../src/internals/trace.ts"],"names":[],"mappings":"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"}
|
@@ -1,5 +1,5 @@
|
|
1
|
-
import {
|
2
|
-
export declare const DEFAULT_EQUALS:
|
3
|
-
export declare const FALSE_EQUALS:
|
4
|
-
export declare const equalsFrom: <T>(equals:
|
1
|
+
import { Equals } from '../../types.js';
|
2
|
+
export declare const DEFAULT_EQUALS: Equals<unknown>;
|
3
|
+
export declare const FALSE_EQUALS: Equals<unknown>;
|
4
|
+
export declare const equalsFrom: <T>(equals: Equals<T> | false | undefined) => Equals<T>;
|
5
5
|
//# sourceMappingURL=equals.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"equals.d.ts","sourceRoot":"","sources":["../../../../src/internals/utils/equals.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
1
|
+
{"version":3,"file":"equals.d.ts","sourceRoot":"","sources":["../../../../src/internals/utils/equals.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAExC,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,OAAO,CAAqB,CAAC;AACjE,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,OAAO,CAAe,CAAC;AAEzD,eAAO,MAAM,UAAU,GAAI,CAAC,UAAU,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,SAAS,KAAG,MAAM,CAAC,CAAC,CAM7E,CAAC"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"equals.js","sourceRoot":"","sources":["../../../../src/internals/utils/equals.ts"],"names":[],"mappings":";;;AAEO,MAAM,cAAc,
|
1
|
+
{"version":3,"file":"equals.js","sourceRoot":"","sources":["../../../../src/internals/utils/equals.ts"],"names":[],"mappings":";;;AAEO,MAAM,cAAc,GAAoB,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;AAApD,QAAA,cAAc,kBAAsC;AAC1D,MAAM,YAAY,GAAoB,GAAG,EAAE,CAAC,KAAK,CAAC;AAA5C,QAAA,YAAY,gBAAgC;AAElD,MAAM,UAAU,GAAG,CAAI,MAAqC,EAAa,EAAE;IAChF,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;QACrB,OAAO,oBAAY,CAAC;IACtB,CAAC;IAED,OAAO,MAAM,IAAI,sBAAc,CAAC;AAClC,CAAC,CAAC;AANW,QAAA,UAAU,cAMrB"}
|
@@ -1,6 +1,4 @@
|
|
1
|
-
import { ReactivePromise } from '../async.js';
|
2
1
|
export declare const unreachable: (value: never) => never;
|
3
2
|
export declare function isGeneratorResult(value: object): value is Generator;
|
4
3
|
export declare function isPromise(value: object): value is Promise<unknown>;
|
5
|
-
export declare function isReactivePromise(value: object): value is ReactivePromise<unknown>;
|
6
4
|
//# sourceMappingURL=type-utils.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"type-utils.d.ts","sourceRoot":"","sources":["../../../../src/internals/utils/type-utils.ts"],"names":[],"mappings":"AAAA,
|
1
|
+
{"version":3,"file":"type-utils.d.ts","sourceRoot":"","sources":["../../../../src/internals/utils/type-utils.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW,UAAW,KAAK,UAEvC,CAAC;AAIF,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,SAAS,CAEnE;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,OAAO,CAAC,OAAO,CAAC,CAElE"}
|
@@ -3,8 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.unreachable = void 0;
|
4
4
|
exports.isGeneratorResult = isGeneratorResult;
|
5
5
|
exports.isPromise = isPromise;
|
6
|
-
exports.isReactivePromise = isReactivePromise;
|
7
|
-
const async_js_1 = require("../async.js");
|
8
6
|
const unreachable = (value) => {
|
9
7
|
throw new Error(`Unreachable code: ${value}`);
|
10
8
|
};
|
@@ -16,7 +14,4 @@ function isGeneratorResult(value) {
|
|
16
14
|
function isPromise(value) {
|
17
15
|
return value.constructor === Promise;
|
18
16
|
}
|
19
|
-
function isReactivePromise(value) {
|
20
|
-
return value.constructor === async_js_1.ReactivePromise;
|
21
|
-
}
|
22
17
|
//# sourceMappingURL=type-utils.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"type-utils.js","sourceRoot":"","sources":["../../../../src/internals/utils/type-utils.ts"],"names":[],"mappings":";;;
|
1
|
+
{"version":3,"file":"type-utils.js","sourceRoot":"","sources":["../../../../src/internals/utils/type-utils.ts"],"names":[],"mappings":";;;AAMA,8CAEC;AAED,8BAEC;AAZM,MAAM,WAAW,GAAG,CAAC,KAAY,EAAE,EAAE;IAC1C,MAAM,IAAI,KAAK,CAAC,qBAAqB,KAAK,EAAE,CAAC,CAAC;AAChD,CAAC,CAAC;AAFW,QAAA,WAAW,eAEtB;AAEF,MAAM,0BAA0B,GAAG,CAAC,QAAQ,CAAC,MAAK,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC;AAEnE,SAAgB,iBAAiB,CAAC,KAAa;IAC7C,OAAO,KAAK,CAAC,WAAW,KAAK,0BAA0B,CAAC;AAC1D,CAAC;AAED,SAAgB,SAAS,CAAC,KAAa;IACrC,OAAO,KAAK,CAAC,WAAW,KAAK,OAAO,CAAC;AACvC,CAAC"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"watch.d.ts","sourceRoot":"","sources":["../../../src/internals/watch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAW,MAAM,eAAe,CAAC;AAG1D,wBAAgB,WAAW,CAAC,MAAM,EAAE,gBAAgB,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI,CAoBpE;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,gBAAgB,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,KAAK,SAAI,QAuB1E"}
|
@@ -2,7 +2,7 @@
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
3
|
exports.watchSignal = watchSignal;
|
4
4
|
exports.unwatchSignal = unwatchSignal;
|
5
|
-
const
|
5
|
+
const reactive_js_1 = require("./reactive.js");
|
6
6
|
const get_js_1 = require("./get.js");
|
7
7
|
function watchSignal(signal) {
|
8
8
|
const { watchCount } = signal;
|
@@ -16,8 +16,8 @@ function watchSignal(signal) {
|
|
16
16
|
for (const dep of signal.deps.keys()) {
|
17
17
|
watchSignal(dep);
|
18
18
|
}
|
19
|
-
if ((0,
|
20
|
-
// Bootstrap the
|
19
|
+
if ((0, reactive_js_1.isRelay)(signal)) {
|
20
|
+
// Bootstrap the relay
|
21
21
|
(0, get_js_1.checkSignal)(signal);
|
22
22
|
}
|
23
23
|
}
|
@@ -31,13 +31,13 @@ function unwatchSignal(signal, count = 1) {
|
|
31
31
|
for (const dep of signal.deps.keys()) {
|
32
32
|
unwatchSignal(dep);
|
33
33
|
}
|
34
|
-
if ((0,
|
35
|
-
// teardown the
|
36
|
-
signal.
|
34
|
+
if ((0, reactive_js_1.isRelay)(signal)) {
|
35
|
+
// teardown the relay
|
36
|
+
signal._value?.();
|
37
37
|
}
|
38
38
|
// If watchCount is now zero, mark the signal for GC
|
39
39
|
if (newWatchCount === 0 && signal.scope) {
|
40
40
|
signal.scope.markForGc(signal);
|
41
41
|
}
|
42
42
|
}
|
43
|
-
//# sourceMappingURL=
|
43
|
+
//# sourceMappingURL=watch.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"watch.js","sourceRoot":"","sources":["../../../src/internals/watch.ts"],"names":[],"mappings":";;AAGA,kCAoBC;AAED,sCAuBC;AAhDD,+CAA0D;AAC1D,qCAAuC;AAEvC,SAAgB,WAAW,CAAC,MAAkC;IAC5D,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC;IAC9B,MAAM,aAAa,GAAG,UAAU,GAAG,CAAC,CAAC;IAErC,MAAM,CAAC,UAAU,GAAG,aAAa,CAAC;IAElC,mCAAmC;IACnC,IAAI,UAAU,GAAG,CAAC;QAAE,OAAO;IAE3B,8DAA8D;IAC9D,MAAM,CAAC,KAAK,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;IAEnC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;QACrC,WAAW,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC;IAED,IAAI,IAAA,qBAAO,EAAC,MAAM,CAAC,EAAE,CAAC;QACpB,sBAAsB;QACtB,IAAA,oBAAW,EAAC,MAAM,CAAC,CAAC;IACtB,CAAC;AACH,CAAC;AAED,SAAgB,aAAa,CAAC,MAAkC,EAAE,KAAK,GAAG,CAAC;IACzE,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC;IAC9B,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC;IAEtD,MAAM,CAAC,UAAU,GAAG,aAAa,CAAC;IAElC,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;QACtB,OAAO;IACT,CAAC;IAED,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;QACrC,aAAa,CAAC,GAAG,CAAC,CAAC;IACrB,CAAC;IAED,IAAI,IAAA,qBAAO,EAAC,MAAM,CAAC,EAAE,CAAC;QACpB,qBAAqB;QACrB,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;IACpB,CAAC;IAED,oDAAoD;IACpD,IAAI,aAAa,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACxC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC;AACH,CAAC"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"weakref.d.ts","sourceRoot":"","sources":["../../../src/internals/weakref.ts"],"names":[],"mappings":";AAQA,wBAA4G"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"weakref.js","sourceRoot":"","sources":["../../../src/internals/weakref.ts"],"names":[],"mappings":";;AAAA,MAAM,eAAe;IACC;IAApB,YAAoB,KAAQ;QAAR,UAAK,GAAL,KAAK,CAAG;IAAG,CAAC;IAEhC,KAAK;QACH,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;CACF;AAED,kBAAe,OAAO,OAAO,KAAK,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAE,eAAiD,CAAC"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../../../src/react/component.tsx"],"names":[],"mappings":"AAMA,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,KAAK,SAAS,MAAM,EACpD,EAAE,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,EAAE,GAAG,IAAI,WA0CjD,KAAK,6CAMrB"}
|
@@ -0,0 +1,40 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.default = component;
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
5
|
+
const react_1 = require("react");
|
6
|
+
const context_js_1 = require("./context.js");
|
7
|
+
const reactive_js_1 = require("../internals/reactive.js");
|
8
|
+
const get_js_1 = require("../internals/get.js");
|
9
|
+
const hash_js_1 = require("../internals/utils/hash.js");
|
10
|
+
function component(fn) {
|
11
|
+
const Component = (props) => {
|
12
|
+
const scope = (0, context_js_1.useScope)();
|
13
|
+
const fnSignalRef = (0, react_1.useRef)(undefined);
|
14
|
+
const propsRef = (0, react_1.useRef)(props);
|
15
|
+
propsRef.current = props;
|
16
|
+
let signal = fnSignalRef.current;
|
17
|
+
if (!signal) {
|
18
|
+
fnSignalRef.current = signal = (0, reactive_js_1.createReactiveFnSignal)({
|
19
|
+
compute: () => fn(propsRef.current),
|
20
|
+
equals: () => false,
|
21
|
+
isRelay: false,
|
22
|
+
tracer: undefined,
|
23
|
+
}, [], undefined, scope);
|
24
|
+
signal._isLazy = true;
|
25
|
+
}
|
26
|
+
// We always want to re-render when the signal is updated, regardless of
|
27
|
+
// whether or not the result changed. This is because the signal is lazy,
|
28
|
+
// so it will not be updated until the next render.
|
29
|
+
(0, react_1.useSyncExternalStore)(signal.addListenerLazy(), () => signal.updatedCount, () => signal.updatedCount);
|
30
|
+
(0, get_js_1.runSignal)(signal);
|
31
|
+
return signal.value;
|
32
|
+
};
|
33
|
+
return (props) => {
|
34
|
+
const hash = (0, hash_js_1.hashValue)(props);
|
35
|
+
// Renders Comp only when hash changes
|
36
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
37
|
+
return (0, react_1.useMemo)(() => (0, jsx_runtime_1.jsx)(Component, { ...props }), [hash]);
|
38
|
+
};
|
39
|
+
}
|
40
|
+
//# sourceMappingURL=component.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"component.js","sourceRoot":"","sources":["../../../src/react/component.tsx"],"names":[],"mappings":";;AAMA,4BAiDC;;AAvDD,iCAA8D;AAC9D,6CAAwC;AACxC,0DAAoF;AACpF,gDAAgD;AAChD,wDAAuD;AAEvD,SAAwB,SAAS,CAC/B,EAAgE;IAEhE,MAAM,SAAS,GAAG,CAAC,KAAY,EAAE,EAAE;QACjC,MAAM,KAAK,GAAG,IAAA,qBAAQ,GAAE,CAAC;QAEzB,MAAM,WAAW,GAAG,IAAA,cAAM,EAA+E,SAAS,CAAC,CAAC;QACpH,MAAM,QAAQ,GAAG,IAAA,cAAM,EAAQ,KAAK,CAAC,CAAC;QAEtC,QAAQ,CAAC,OAAO,GAAG,KAAK,CAAC;QAEzB,IAAI,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC;QAEjC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,WAAW,CAAC,OAAO,GAAG,MAAM,GAAG,IAAA,oCAAsB,EACnD;gBACE,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC;gBACnC,MAAM,EAAE,GAAG,EAAE,CAAC,KAAK;gBACnB,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,SAAS;aAClB,EACD,EAAE,EACF,SAAS,EACT,KAAK,CACN,CAAC;YAEF,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;QACxB,CAAC;QAED,wEAAwE;QACxE,yEAAyE;QACzE,mDAAmD;QACnD,IAAA,4BAAoB,EAClB,MAAM,CAAC,eAAe,EAAE,EACxB,GAAG,EAAE,CAAC,MAAM,CAAC,YAAY,EACzB,GAAG,EAAE,CAAC,MAAM,CAAC,YAAY,CAC1B,CAAC;QAEF,IAAA,kBAAS,EAAC,MAAsC,CAAC,CAAC;QAElD,OAAO,MAAM,CAAC,KAAK,CAAC;IACtB,CAAC,CAAC;IAEF,OAAO,CAAC,KAAY,EAAE,EAAE;QACtB,MAAM,IAAI,GAAG,IAAA,mBAAS,EAAC,KAAK,CAAC,CAAC;QAC9B,sCAAsC;QACtC,uDAAuD;QACvD,OAAO,IAAA,eAAO,EAAC,GAAG,EAAE,CAAC,uBAAC,SAAS,OAAK,KAAK,GAAI,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IACzD,CAAC,CAAC;AACJ,CAAC"}
|