@agentick/core 0.0.1
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/LICENSE +21 -0
- package/README.md +875 -0
- package/dist/.tsbuildinfo +1 -0
- package/dist/.tsbuildinfo.build +1 -0
- package/dist/agent.d.ts +32 -0
- package/dist/agent.d.ts.map +1 -0
- package/dist/agent.js +26 -0
- package/dist/agent.js.map +1 -0
- package/dist/agentick-instance.d.ts +285 -0
- package/dist/agentick-instance.d.ts.map +1 -0
- package/dist/agentick-instance.js +700 -0
- package/dist/agentick-instance.js.map +1 -0
- package/dist/aidk-instance.d.ts +294 -0
- package/dist/aidk-instance.d.ts.map +1 -0
- package/dist/aidk-instance.js +340 -0
- package/dist/aidk-instance.js.map +1 -0
- package/dist/app/session-store.d.ts +57 -0
- package/dist/app/session-store.d.ts.map +1 -0
- package/dist/app/session-store.js +87 -0
- package/dist/app/session-store.js.map +1 -0
- package/dist/app/session.d.ts +209 -0
- package/dist/app/session.d.ts.map +1 -0
- package/dist/app/session.js +2131 -0
- package/dist/app/session.js.map +1 -0
- package/dist/app/sqlite-session-store.d.ts +60 -0
- package/dist/app/sqlite-session-store.d.ts.map +1 -0
- package/dist/app/sqlite-session-store.js +234 -0
- package/dist/app/sqlite-session-store.js.map +1 -0
- package/dist/app/types.d.ts +1461 -0
- package/dist/app/types.d.ts.map +1 -0
- package/dist/app/types.js +14 -0
- package/dist/app/types.js.map +1 -0
- package/dist/app.d.ts +79 -0
- package/dist/app.d.ts.map +1 -0
- package/dist/app.js +83 -0
- package/dist/app.js.map +1 -0
- package/dist/channels/adapters/index.d.ts +2 -0
- package/dist/channels/adapters/index.d.ts.map +1 -0
- package/dist/channels/adapters/index.js +2 -0
- package/dist/channels/adapters/index.js.map +1 -0
- package/dist/channels/adapters/redis.d.ts +77 -0
- package/dist/channels/adapters/redis.d.ts.map +1 -0
- package/dist/channels/adapters/redis.js +259 -0
- package/dist/channels/adapters/redis.js.map +1 -0
- package/dist/channels/index.d.ts +38 -0
- package/dist/channels/index.d.ts.map +1 -0
- package/dist/channels/index.js +38 -0
- package/dist/channels/index.js.map +1 -0
- package/dist/channels/service.d.ts +684 -0
- package/dist/channels/service.d.ts.map +1 -0
- package/dist/channels/service.js +870 -0
- package/dist/channels/service.js.map +1 -0
- package/dist/channels/transports/index.d.ts +4 -0
- package/dist/channels/transports/index.d.ts.map +1 -0
- package/dist/channels/transports/index.js +4 -0
- package/dist/channels/transports/index.js.map +1 -0
- package/dist/channels/transports/socketio.d.ts +98 -0
- package/dist/channels/transports/socketio.d.ts.map +1 -0
- package/dist/channels/transports/socketio.js +246 -0
- package/dist/channels/transports/socketio.js.map +1 -0
- package/dist/channels/transports/streamable-http.d.ts +107 -0
- package/dist/channels/transports/streamable-http.d.ts.map +1 -0
- package/dist/channels/transports/streamable-http.js +353 -0
- package/dist/channels/transports/streamable-http.js.map +1 -0
- package/dist/channels/transports/websocket.d.ts +117 -0
- package/dist/channels/transports/websocket.d.ts.map +1 -0
- package/dist/channels/transports/websocket.js +416 -0
- package/dist/channels/transports/websocket.js.map +1 -0
- package/dist/com/index.d.ts +29 -0
- package/dist/com/index.d.ts.map +1 -0
- package/dist/com/index.js +29 -0
- package/dist/com/index.js.map +1 -0
- package/dist/com/object-model.d.ts +634 -0
- package/dist/com/object-model.d.ts.map +1 -0
- package/dist/com/object-model.js +963 -0
- package/dist/com/object-model.js.map +1 -0
- package/dist/com/types.d.ts +192 -0
- package/dist/com/types.d.ts.map +1 -0
- package/dist/com/types.js +1 -0
- package/dist/com/types.js.map +1 -0
- package/dist/compiler/collector.d.ts +16 -0
- package/dist/compiler/collector.d.ts.map +1 -0
- package/dist/compiler/collector.js +388 -0
- package/dist/compiler/collector.js.map +1 -0
- package/dist/compiler/content-block-registry.d.ts +11 -0
- package/dist/compiler/content-block-registry.d.ts.map +1 -0
- package/dist/compiler/content-block-registry.js +312 -0
- package/dist/compiler/content-block-registry.js.map +1 -0
- package/dist/compiler/extractors.d.ts +68 -0
- package/dist/compiler/extractors.d.ts.map +1 -0
- package/dist/compiler/extractors.js +547 -0
- package/dist/compiler/extractors.js.map +1 -0
- package/dist/compiler/fiber-compiler.d.ts +203 -0
- package/dist/compiler/fiber-compiler.d.ts.map +1 -0
- package/dist/compiler/fiber-compiler.js +498 -0
- package/dist/compiler/fiber-compiler.js.map +1 -0
- package/dist/compiler/fiber.d.ts +61 -0
- package/dist/compiler/fiber.d.ts.map +1 -0
- package/dist/compiler/fiber.js +244 -0
- package/dist/compiler/fiber.js.map +1 -0
- package/dist/compiler/index.d.ts +18 -0
- package/dist/compiler/index.d.ts.map +1 -0
- package/dist/compiler/index.js +38 -0
- package/dist/compiler/index.js.map +1 -0
- package/dist/compiler/scheduler.d.ts +95 -0
- package/dist/compiler/scheduler.d.ts.map +1 -0
- package/dist/compiler/scheduler.js +138 -0
- package/dist/compiler/scheduler.js.map +1 -0
- package/dist/compiler/structure-renderer.d.ts +42 -0
- package/dist/compiler/structure-renderer.d.ts.map +1 -0
- package/dist/compiler/structure-renderer.js +189 -0
- package/dist/compiler/structure-renderer.js.map +1 -0
- package/dist/compiler/types.d.ts +96 -0
- package/dist/compiler/types.d.ts.map +1 -0
- package/dist/compiler/types.js +19 -0
- package/dist/compiler/types.js.map +1 -0
- package/dist/component/component-hooks.d.ts +68 -0
- package/dist/component/component-hooks.d.ts.map +1 -0
- package/dist/component/component-hooks.js +112 -0
- package/dist/component/component-hooks.js.map +1 -0
- package/dist/component/component.d.ts +314 -0
- package/dist/component/component.d.ts.map +1 -0
- package/dist/component/component.js +64 -0
- package/dist/component/component.js.map +1 -0
- package/dist/component/index.d.ts +47 -0
- package/dist/component/index.d.ts.map +1 -0
- package/dist/component/index.js +47 -0
- package/dist/component/index.js.map +1 -0
- package/dist/component/tentickle-component.d.ts +185 -0
- package/dist/component/tentickle-component.d.ts.map +1 -0
- package/dist/component/tentickle-component.js +182 -0
- package/dist/component/tentickle-component.js.map +1 -0
- package/dist/content/index.d.ts +12 -0
- package/dist/content/index.d.ts.map +1 -0
- package/dist/content/index.js +17 -0
- package/dist/content/index.js.map +1 -0
- package/dist/context/index.d.ts +51 -0
- package/dist/context/index.d.ts.map +1 -0
- package/dist/context/index.js +69 -0
- package/dist/context/index.js.map +1 -0
- package/dist/core/channel-helpers.d.ts +31 -0
- package/dist/core/channel-helpers.d.ts.map +1 -0
- package/dist/core/channel-helpers.js +62 -0
- package/dist/core/channel-helpers.js.map +1 -0
- package/dist/core/channel.d.ts +164 -0
- package/dist/core/channel.d.ts.map +1 -0
- package/dist/core/channel.js +199 -0
- package/dist/core/channel.js.map +1 -0
- package/dist/core/context.d.ts +412 -0
- package/dist/core/context.d.ts.map +1 -0
- package/dist/core/context.js +290 -0
- package/dist/core/context.js.map +1 -0
- package/dist/core/event-buffer.d.ts +212 -0
- package/dist/core/event-buffer.d.ts.map +1 -0
- package/dist/core/event-buffer.js +346 -0
- package/dist/core/event-buffer.js.map +1 -0
- package/dist/core/execution-helpers.d.ts +179 -0
- package/dist/core/execution-helpers.d.ts.map +1 -0
- package/dist/core/execution-helpers.js +212 -0
- package/dist/core/execution-helpers.js.map +1 -0
- package/dist/core/execution-tracker.d.ts +53 -0
- package/dist/core/execution-tracker.d.ts.map +1 -0
- package/dist/core/execution-tracker.js +309 -0
- package/dist/core/execution-tracker.js.map +1 -0
- package/dist/core/index.d.ts +58 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +58 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/logger.d.ts +341 -0
- package/dist/core/logger.d.ts.map +1 -0
- package/dist/core/logger.js +346 -0
- package/dist/core/logger.js.map +1 -0
- package/dist/core/metrics-helpers.d.ts +40 -0
- package/dist/core/metrics-helpers.d.ts.map +1 -0
- package/dist/core/metrics-helpers.js +72 -0
- package/dist/core/metrics-helpers.js.map +1 -0
- package/dist/core/otel-provider.d.ts +54 -0
- package/dist/core/otel-provider.d.ts.map +1 -0
- package/dist/core/otel-provider.js +107 -0
- package/dist/core/otel-provider.js.map +1 -0
- package/dist/core/procedure-graph.d.ts +136 -0
- package/dist/core/procedure-graph.d.ts.map +1 -0
- package/dist/core/procedure-graph.js +272 -0
- package/dist/core/procedure-graph.js.map +1 -0
- package/dist/core/procedure.d.ts +755 -0
- package/dist/core/procedure.d.ts.map +1 -0
- package/dist/core/procedure.js +899 -0
- package/dist/core/procedure.js.map +1 -0
- package/dist/core/stream.d.ts +106 -0
- package/dist/core/stream.d.ts.map +1 -0
- package/dist/core/stream.js +186 -0
- package/dist/core/stream.js.map +1 -0
- package/dist/core/telemetry.d.ts +182 -0
- package/dist/core/telemetry.d.ts.map +1 -0
- package/dist/core/telemetry.js +124 -0
- package/dist/core/telemetry.js.map +1 -0
- package/dist/engine/client-tool-coordinator.d.ts +50 -0
- package/dist/engine/client-tool-coordinator.d.ts.map +1 -0
- package/dist/engine/client-tool-coordinator.js +121 -0
- package/dist/engine/client-tool-coordinator.js.map +1 -0
- package/dist/engine/engine-events.d.ts +117 -0
- package/dist/engine/engine-events.d.ts.map +1 -0
- package/dist/engine/engine-events.js +178 -0
- package/dist/engine/engine-events.js.map +1 -0
- package/dist/engine/engine-response.d.ts +48 -0
- package/dist/engine/engine-response.d.ts.map +1 -0
- package/dist/engine/engine-response.js +2 -0
- package/dist/engine/engine-response.js.map +1 -0
- package/dist/engine/execution-graph.d.ts +104 -0
- package/dist/engine/execution-graph.d.ts.map +1 -0
- package/dist/engine/execution-graph.js +257 -0
- package/dist/engine/execution-graph.js.map +1 -0
- package/dist/engine/execution-handle.d.ts +212 -0
- package/dist/engine/execution-handle.d.ts.map +1 -0
- package/dist/engine/execution-handle.js +602 -0
- package/dist/engine/execution-handle.js.map +1 -0
- package/dist/engine/execution-types.d.ts +248 -0
- package/dist/engine/execution-types.d.ts.map +1 -0
- package/dist/engine/execution-types.js +23 -0
- package/dist/engine/execution-types.js.map +1 -0
- package/dist/engine/index.d.ts +21 -0
- package/dist/engine/index.d.ts.map +1 -0
- package/dist/engine/index.js +23 -0
- package/dist/engine/index.js.map +1 -0
- package/dist/engine/tool-confirmation-coordinator.d.ts +74 -0
- package/dist/engine/tool-confirmation-coordinator.d.ts.map +1 -0
- package/dist/engine/tool-confirmation-coordinator.js +137 -0
- package/dist/engine/tool-confirmation-coordinator.js.map +1 -0
- package/dist/engine/tool-executor.d.ts +127 -0
- package/dist/engine/tool-executor.d.ts.map +1 -0
- package/dist/engine/tool-executor.js +363 -0
- package/dist/engine/tool-executor.js.map +1 -0
- package/dist/hibernation/index.d.ts +126 -0
- package/dist/hibernation/index.d.ts.map +1 -0
- package/dist/hibernation/index.js +127 -0
- package/dist/hibernation/index.js.map +1 -0
- package/dist/hooks/base-hook-registry.d.ts +41 -0
- package/dist/hooks/base-hook-registry.d.ts.map +1 -0
- package/dist/hooks/base-hook-registry.js +76 -0
- package/dist/hooks/base-hook-registry.js.map +1 -0
- package/dist/hooks/com-state.d.ts +40 -0
- package/dist/hooks/com-state.d.ts.map +1 -0
- package/dist/hooks/com-state.js +90 -0
- package/dist/hooks/com-state.js.map +1 -0
- package/dist/hooks/context-info.d.ts +139 -0
- package/dist/hooks/context-info.d.ts.map +1 -0
- package/dist/hooks/context-info.js +115 -0
- package/dist/hooks/context-info.js.map +1 -0
- package/dist/hooks/context-internal.d.ts +21 -0
- package/dist/hooks/context-internal.d.ts.map +1 -0
- package/dist/hooks/context-internal.js +20 -0
- package/dist/hooks/context-internal.js.map +1 -0
- package/dist/hooks/context.d.ts +64 -0
- package/dist/hooks/context.d.ts.map +1 -0
- package/dist/hooks/context.js +83 -0
- package/dist/hooks/context.js.map +1 -0
- package/dist/hooks/data.d.ts +33 -0
- package/dist/hooks/data.d.ts.map +1 -0
- package/dist/hooks/data.js +84 -0
- package/dist/hooks/data.js.map +1 -0
- package/dist/hooks/formatter-context.d.ts +34 -0
- package/dist/hooks/formatter-context.d.ts.map +1 -0
- package/dist/hooks/formatter-context.js +34 -0
- package/dist/hooks/formatter-context.js.map +1 -0
- package/dist/hooks/hook-registry.d.ts +45 -0
- package/dist/hooks/hook-registry.d.ts.map +1 -0
- package/dist/hooks/hook-registry.js +109 -0
- package/dist/hooks/hook-registry.js.map +1 -0
- package/dist/hooks/index.d.ts +20 -0
- package/dist/hooks/index.d.ts.map +1 -0
- package/dist/hooks/index.js +47 -0
- package/dist/hooks/index.js.map +1 -0
- package/dist/hooks/knob.d.ts +87 -0
- package/dist/hooks/knob.d.ts.map +1 -0
- package/dist/hooks/knob.js +129 -0
- package/dist/hooks/knob.js.map +1 -0
- package/dist/hooks/knobs-component.d.ts +70 -0
- package/dist/hooks/knobs-component.d.ts.map +1 -0
- package/dist/hooks/knobs-component.js +300 -0
- package/dist/hooks/knobs-component.js.map +1 -0
- package/dist/hooks/lifecycle.d.ts +158 -0
- package/dist/hooks/lifecycle.d.ts.map +1 -0
- package/dist/hooks/lifecycle.js +217 -0
- package/dist/hooks/lifecycle.js.map +1 -0
- package/dist/hooks/message-context.d.ts +101 -0
- package/dist/hooks/message-context.d.ts.map +1 -0
- package/dist/hooks/message-context.js +145 -0
- package/dist/hooks/message-context.js.map +1 -0
- package/dist/hooks/policy-context.d.ts.map +1 -0
- package/dist/hooks/runtime-context.d.ts +122 -0
- package/dist/hooks/runtime-context.d.ts.map +1 -0
- package/dist/hooks/runtime-context.js +149 -0
- package/dist/hooks/runtime-context.js.map +1 -0
- package/dist/hooks/signal.d.ts +267 -0
- package/dist/hooks/signal.d.ts.map +1 -0
- package/dist/hooks/signal.js +825 -0
- package/dist/hooks/signal.js.map +1 -0
- package/dist/hooks/types.d.ts +179 -0
- package/dist/hooks/types.d.ts.map +1 -0
- package/dist/hooks/types.js +5 -0
- package/dist/hooks/types.js.map +1 -0
- package/dist/index.d.ts +20 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +50 -0
- package/dist/index.js.map +1 -0
- package/dist/jsx/components/agent.d.ts +64 -0
- package/dist/jsx/components/agent.d.ts.map +1 -0
- package/dist/jsx/components/agent.js +80 -0
- package/dist/jsx/components/agent.js.map +1 -0
- package/dist/jsx/components/complete.d.ts +65 -0
- package/dist/jsx/components/complete.d.ts.map +1 -0
- package/dist/jsx/components/complete.js +64 -0
- package/dist/jsx/components/complete.js.map +1 -0
- package/dist/jsx/components/content.d.ts +98 -0
- package/dist/jsx/components/content.d.ts.map +1 -0
- package/dist/jsx/components/content.js +51 -0
- package/dist/jsx/components/content.js.map +1 -0
- package/dist/jsx/components/harness.d.ts +118 -0
- package/dist/jsx/components/harness.d.ts.map +1 -0
- package/dist/jsx/components/harness.js +117 -0
- package/dist/jsx/components/harness.js.map +1 -0
- package/dist/jsx/components/index.d.ts +11 -0
- package/dist/jsx/components/index.d.ts.map +1 -0
- package/dist/jsx/components/index.js +11 -0
- package/dist/jsx/components/index.js.map +1 -0
- package/dist/jsx/components/markdown.d.ts +31 -0
- package/dist/jsx/components/markdown.d.ts.map +1 -0
- package/dist/jsx/components/markdown.js +17 -0
- package/dist/jsx/components/markdown.js.map +1 -0
- package/dist/jsx/components/messages.d.ts +283 -0
- package/dist/jsx/components/messages.d.ts.map +1 -0
- package/dist/jsx/components/messages.js +257 -0
- package/dist/jsx/components/messages.js.map +1 -0
- package/dist/jsx/components/model.d.ts +94 -0
- package/dist/jsx/components/model.d.ts.map +1 -0
- package/dist/jsx/components/model.js +96 -0
- package/dist/jsx/components/model.js.map +1 -0
- package/dist/jsx/components/primitives.d.ts +117 -0
- package/dist/jsx/components/primitives.d.ts.map +1 -0
- package/dist/jsx/components/primitives.js +83 -0
- package/dist/jsx/components/primitives.js.map +1 -0
- package/dist/jsx/components/renderer.d.ts +24 -0
- package/dist/jsx/components/renderer.d.ts.map +1 -0
- package/dist/jsx/components/renderer.js +11 -0
- package/dist/jsx/components/renderer.js.map +1 -0
- package/dist/jsx/components/semantic.d.ts +155 -0
- package/dist/jsx/components/semantic.d.ts.map +1 -0
- package/dist/jsx/components/semantic.js +39 -0
- package/dist/jsx/components/semantic.js.map +1 -0
- package/dist/jsx/components/timeline.d.ts +157 -0
- package/dist/jsx/components/timeline.d.ts.map +1 -0
- package/dist/jsx/components/timeline.js +357 -0
- package/dist/jsx/components/timeline.js.map +1 -0
- package/dist/jsx/components/token-budget.d.ts +70 -0
- package/dist/jsx/components/token-budget.d.ts.map +1 -0
- package/dist/jsx/components/token-budget.js +135 -0
- package/dist/jsx/components/token-budget.js.map +1 -0
- package/dist/jsx/components/xml.d.ts +27 -0
- package/dist/jsx/components/xml.d.ts.map +1 -0
- package/dist/jsx/components/xml.js +17 -0
- package/dist/jsx/components/xml.js.map +1 -0
- package/dist/jsx/index.d.ts +58 -0
- package/dist/jsx/index.d.ts.map +1 -0
- package/dist/jsx/index.js +59 -0
- package/dist/jsx/index.js.map +1 -0
- package/dist/jsx/jsx-runtime.d.ts +370 -0
- package/dist/jsx/jsx-runtime.d.ts.map +1 -0
- package/dist/jsx/jsx-runtime.js +79 -0
- package/dist/jsx/jsx-runtime.js.map +1 -0
- package/dist/jsx/jsx-types.d.ts +23 -0
- package/dist/jsx/jsx-types.d.ts.map +1 -0
- package/dist/jsx/jsx-types.js +1 -0
- package/dist/jsx/jsx-types.js.map +1 -0
- package/dist/mcp/client.d.ts +46 -0
- package/dist/mcp/client.d.ts.map +1 -0
- package/dist/mcp/client.js +138 -0
- package/dist/mcp/client.js.map +1 -0
- package/dist/mcp/component.d.ts +95 -0
- package/dist/mcp/component.d.ts.map +1 -0
- package/dist/mcp/component.js +185 -0
- package/dist/mcp/component.js.map +1 -0
- package/dist/mcp/create-mcp-tool.d.ts +191 -0
- package/dist/mcp/create-mcp-tool.d.ts.map +1 -0
- package/dist/mcp/create-mcp-tool.js +228 -0
- package/dist/mcp/create-mcp-tool.js.map +1 -0
- package/dist/mcp/index.d.ts +49 -0
- package/dist/mcp/index.d.ts.map +1 -0
- package/dist/mcp/index.js +48 -0
- package/dist/mcp/index.js.map +1 -0
- package/dist/mcp/service.d.ts +39 -0
- package/dist/mcp/service.d.ts.map +1 -0
- package/dist/mcp/service.js +77 -0
- package/dist/mcp/service.js.map +1 -0
- package/dist/mcp/tool.d.ts +55 -0
- package/dist/mcp/tool.d.ts.map +1 -0
- package/dist/mcp/tool.js +119 -0
- package/dist/mcp/tool.js.map +1 -0
- package/dist/mcp/types.d.ts +72 -0
- package/dist/mcp/types.d.ts.map +1 -0
- package/dist/mcp/types.js +6 -0
- package/dist/mcp/types.js.map +1 -0
- package/dist/middleware/defaults.d.ts +9 -0
- package/dist/middleware/defaults.d.ts.map +1 -0
- package/dist/middleware/defaults.js +47 -0
- package/dist/middleware/defaults.js.map +1 -0
- package/dist/model/adapter-helpers.d.ts +161 -0
- package/dist/model/adapter-helpers.d.ts.map +1 -0
- package/dist/model/adapter-helpers.js +351 -0
- package/dist/model/adapter-helpers.js.map +1 -0
- package/dist/model/adapter.d.ts +399 -0
- package/dist/model/adapter.d.ts.map +1 -0
- package/dist/model/adapter.js +497 -0
- package/dist/model/adapter.js.map +1 -0
- package/dist/model/index.d.ts +54 -0
- package/dist/model/index.d.ts.map +1 -0
- package/dist/model/index.js +55 -0
- package/dist/model/index.js.map +1 -0
- package/dist/model/model-hooks.d.ts +45 -0
- package/dist/model/model-hooks.d.ts.map +1 -0
- package/dist/model/model-hooks.js +24 -0
- package/dist/model/model-hooks.js.map +1 -0
- package/dist/model/model.d.ts +302 -0
- package/dist/model/model.d.ts.map +1 -0
- package/dist/model/model.js +20 -0
- package/dist/model/model.js.map +1 -0
- package/dist/model/simple-adapter.d.ts +176 -0
- package/dist/model/simple-adapter.d.ts.map +1 -0
- package/dist/model/simple-adapter.js +264 -0
- package/dist/model/simple-adapter.js.map +1 -0
- package/dist/model/stream-accumulator.d.ts +284 -0
- package/dist/model/stream-accumulator.d.ts.map +1 -0
- package/dist/model/stream-accumulator.js +532 -0
- package/dist/model/stream-accumulator.js.map +1 -0
- package/dist/model/utils/index.d.ts +2 -0
- package/dist/model/utils/index.d.ts.map +1 -0
- package/dist/model/utils/index.js +2 -0
- package/dist/model/utils/index.js.map +1 -0
- package/dist/model/utils/language-model.d.ts +26 -0
- package/dist/model/utils/language-model.d.ts.map +1 -0
- package/dist/model/utils/language-model.js +706 -0
- package/dist/model/utils/language-model.js.map +1 -0
- package/dist/procedure/index.d.ts +20 -0
- package/dist/procedure/index.d.ts.map +1 -0
- package/dist/procedure/index.js +19 -0
- package/dist/procedure/index.js.map +1 -0
- package/dist/reconciler/devtools-bridge.d.ts +40 -0
- package/dist/reconciler/devtools-bridge.d.ts.map +1 -0
- package/dist/reconciler/devtools-bridge.js +79 -0
- package/dist/reconciler/devtools-bridge.js.map +1 -0
- package/dist/reconciler/host-config.d.ts +39 -0
- package/dist/reconciler/host-config.d.ts.map +1 -0
- package/dist/reconciler/host-config.js +195 -0
- package/dist/reconciler/host-config.js.map +1 -0
- package/dist/reconciler/index.d.ts +7 -0
- package/dist/reconciler/index.d.ts.map +1 -0
- package/dist/reconciler/index.js +7 -0
- package/dist/reconciler/index.js.map +1 -0
- package/dist/reconciler/reconciler.d.ts +47 -0
- package/dist/reconciler/reconciler.d.ts.map +1 -0
- package/dist/reconciler/reconciler.js +89 -0
- package/dist/reconciler/reconciler.js.map +1 -0
- package/dist/reconciler/types.d.ts +86 -0
- package/dist/reconciler/types.d.ts.map +1 -0
- package/dist/reconciler/types.js +37 -0
- package/dist/reconciler/types.js.map +1 -0
- package/dist/renderers/base.d.ts +98 -0
- package/dist/renderers/base.d.ts.map +1 -0
- package/dist/renderers/base.js +82 -0
- package/dist/renderers/base.js.map +1 -0
- package/dist/renderers/index.d.ts +31 -0
- package/dist/renderers/index.d.ts.map +1 -0
- package/dist/renderers/index.js +31 -0
- package/dist/renderers/index.js.map +1 -0
- package/dist/renderers/markdown.d.ts +48 -0
- package/dist/renderers/markdown.d.ts.map +1 -0
- package/dist/renderers/markdown.js +432 -0
- package/dist/renderers/markdown.js.map +1 -0
- package/dist/renderers/types.d.ts +7 -0
- package/dist/renderers/types.d.ts.map +1 -0
- package/dist/renderers/types.js +7 -0
- package/dist/renderers/types.js.map +1 -0
- package/dist/renderers/xml.d.ts +49 -0
- package/dist/renderers/xml.d.ts.map +1 -0
- package/dist/renderers/xml.js +444 -0
- package/dist/renderers/xml.js.map +1 -0
- package/dist/state/boundary.d.ts +347 -0
- package/dist/state/boundary.d.ts.map +1 -0
- package/dist/state/boundary.js +341 -0
- package/dist/state/boundary.js.map +1 -0
- package/dist/state/context.d.ts +138 -0
- package/dist/state/context.d.ts.map +1 -0
- package/dist/state/context.js +139 -0
- package/dist/state/context.js.map +1 -0
- package/dist/state/hooks.d.ts +798 -0
- package/dist/state/hooks.d.ts.map +1 -0
- package/dist/state/hooks.js +1437 -0
- package/dist/state/hooks.js.map +1 -0
- package/dist/state/index.d.ts +72 -0
- package/dist/state/index.d.ts.map +1 -0
- package/dist/state/index.js +73 -0
- package/dist/state/index.js.map +1 -0
- package/dist/state/signal.d.ts +223 -0
- package/dist/state/signal.d.ts.map +1 -0
- package/dist/state/signal.js +699 -0
- package/dist/state/signal.js.map +1 -0
- package/dist/state/use-state.d.ts +210 -0
- package/dist/state/use-state.d.ts.map +1 -0
- package/dist/state/use-state.js +327 -0
- package/dist/state/use-state.js.map +1 -0
- package/dist/tentickle-instance.d.ts +285 -0
- package/dist/tentickle-instance.d.ts.map +1 -0
- package/dist/tentickle-instance.js +700 -0
- package/dist/tentickle-instance.js.map +1 -0
- package/dist/testing/act.d.ts +59 -0
- package/dist/testing/act.d.ts.map +1 -0
- package/dist/testing/act.js +92 -0
- package/dist/testing/act.js.map +1 -0
- package/dist/testing/async-helpers.d.ts +99 -0
- package/dist/testing/async-helpers.d.ts.map +1 -0
- package/dist/testing/async-helpers.js +193 -0
- package/dist/testing/async-helpers.js.map +1 -0
- package/dist/testing/compile-agent.d.ts +101 -0
- package/dist/testing/compile-agent.d.ts.map +1 -0
- package/dist/testing/compile-agent.js +136 -0
- package/dist/testing/compile-agent.js.map +1 -0
- package/dist/testing/index.d.ts +57 -0
- package/dist/testing/index.d.ts.map +1 -0
- package/dist/testing/index.js +59 -0
- package/dist/testing/index.js.map +1 -0
- package/dist/testing/mock-app.d.ts +163 -0
- package/dist/testing/mock-app.d.ts.map +1 -0
- package/dist/testing/mock-app.js +393 -0
- package/dist/testing/mock-app.js.map +1 -0
- package/dist/testing/mocks.d.ts +142 -0
- package/dist/testing/mocks.d.ts.map +1 -0
- package/dist/testing/mocks.js +191 -0
- package/dist/testing/mocks.js.map +1 -0
- package/dist/testing/render-agent.d.ts +146 -0
- package/dist/testing/render-agent.d.ts.map +1 -0
- package/dist/testing/render-agent.js +200 -0
- package/dist/testing/render-agent.js.map +1 -0
- package/dist/testing/test-adapter.d.ts +157 -0
- package/dist/testing/test-adapter.d.ts.map +1 -0
- package/dist/testing/test-adapter.js +297 -0
- package/dist/testing/test-adapter.js.map +1 -0
- package/dist/testing/test-model.d.ts +132 -0
- package/dist/testing/test-model.d.ts.map +1 -0
- package/dist/testing/test-model.js +260 -0
- package/dist/testing/test-model.js.map +1 -0
- package/dist/tool/index.d.ts +61 -0
- package/dist/tool/index.d.ts.map +1 -0
- package/dist/tool/index.js +63 -0
- package/dist/tool/index.js.map +1 -0
- package/dist/tool/tool-hooks.d.ts +45 -0
- package/dist/tool/tool-hooks.d.ts.map +1 -0
- package/dist/tool/tool-hooks.js +35 -0
- package/dist/tool/tool-hooks.js.map +1 -0
- package/dist/tool/tool.d.ts +403 -0
- package/dist/tool/tool.d.ts.map +1 -0
- package/dist/tool/tool.js +176 -0
- package/dist/tool/tool.js.map +1 -0
- package/dist/types.d.ts +442 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +97 -0
- package/dist/types.js.map +1 -0
- package/dist/utils/abort-utils.d.ts +5 -0
- package/dist/utils/abort-utils.d.ts.map +1 -0
- package/dist/utils/abort-utils.js +50 -0
- package/dist/utils/abort-utils.js.map +1 -0
- package/dist/utils/classify-error.d.ts +19 -0
- package/dist/utils/classify-error.d.ts.map +1 -0
- package/dist/utils/classify-error.js +77 -0
- package/dist/utils/classify-error.js.map +1 -0
- package/dist/utils/index.d.ts +21 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +21 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/normalization.d.ts +6 -0
- package/dist/utils/normalization.d.ts.map +1 -0
- package/dist/utils/normalization.js +103 -0
- package/dist/utils/normalization.js.map +1 -0
- package/dist/utils/registry.d.ts +15 -0
- package/dist/utils/registry.d.ts.map +1 -0
- package/dist/utils/registry.js +28 -0
- package/dist/utils/registry.js.map +1 -0
- package/dist/utils/schema.d.ts +7 -0
- package/dist/utils/schema.d.ts.map +1 -0
- package/dist/utils/schema.js +13 -0
- package/dist/utils/schema.js.map +1 -0
- package/dist/utils/token-estimate.d.ts +87 -0
- package/dist/utils/token-estimate.d.ts.map +1 -0
- package/dist/utils/token-estimate.js +199 -0
- package/dist/utils/token-estimate.js.map +1 -0
- package/dist/v2/reconciler/host-config.d.ts +31 -0
- package/dist/v2/reconciler/host-config.d.ts.map +1 -0
- package/dist/v2/reconciler/host-config.js +197 -0
- package/dist/v2/reconciler/host-config.js.map +1 -0
- package/dist/v2/reconciler/index.d.ts +7 -0
- package/dist/v2/reconciler/index.d.ts.map +1 -0
- package/dist/v2/reconciler/index.js +7 -0
- package/dist/v2/reconciler/index.js.map +1 -0
- package/dist/v2/reconciler/reconciler.d.ts +39 -0
- package/dist/v2/reconciler/reconciler.d.ts.map +1 -0
- package/dist/v2/reconciler/reconciler.js +54 -0
- package/dist/v2/reconciler/reconciler.js.map +1 -0
- package/dist/v2/reconciler/types.d.ts +64 -0
- package/dist/v2/reconciler/types.d.ts.map +1 -0
- package/dist/v2/reconciler/types.js +20 -0
- package/dist/v2/reconciler/types.js.map +1 -0
- package/dist/v2/renderers/index.d.ts +7 -0
- package/dist/v2/renderers/index.d.ts.map +1 -0
- package/dist/v2/renderers/index.js +7 -0
- package/dist/v2/renderers/index.js.map +1 -0
- package/dist/v2/renderers/markdown.d.ts +16 -0
- package/dist/v2/renderers/markdown.d.ts.map +1 -0
- package/dist/v2/renderers/markdown.js +65 -0
- package/dist/v2/renderers/markdown.js.map +1 -0
- package/dist/v2/renderers/types.d.ts +26 -0
- package/dist/v2/renderers/types.d.ts.map +1 -0
- package/dist/v2/renderers/types.js +6 -0
- package/dist/v2/renderers/types.js.map +1 -0
- package/dist/v2/renderers/xml.d.ts +17 -0
- package/dist/v2/renderers/xml.d.ts.map +1 -0
- package/dist/v2/renderers/xml.js +73 -0
- package/dist/v2/renderers/xml.js.map +1 -0
- package/package.json +49 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signal.js","sourceRoot":"","sources":["../../src/state/signal.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAErD,oCAAoC;AACpC,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,4BAA4B,CAAC;AAepC;;;;;;;;;;;;;;GAcG;AACH,MAAM,aAAa;IACjB,yEAAyE;IACzE,aAAa,GAAsB,EAAE,CAAC;IAEtC,kCAAkC;IAClC,UAAU,GAAG,CAAC,CAAC;IAEf,0DAA0D;IAC1D,cAAc,GAAG,IAAI,GAAG,EAAc,CAAC;IAEvC,6CAA6C;IAC7C,cAAc,GAAG,KAAK,CAAC;CACxB;AAED;;;GAGG;AACH,MAAM,oBAAoB,GAAG,IAAI,iBAAiB,EAAiB,CAAC;AAEpE;;;;GAIG;AACH,MAAM,mBAAmB,GAAG,IAAI,aAAa,EAAE,CAAC;AAEhD;;;GAGG;AACH,SAAS,gBAAgB;IACvB,OAAO,oBAAoB,CAAC,QAAQ,EAAE,IAAI,mBAAmB,CAAC;AAChE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAAI,EAAW;IACjD,OAAO,oBAAoB,CAAC,GAAG,CAAC,IAAI,aAAa,EAAE,EAAE,EAAE,CAAC,CAAC;AAC3D,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAAI,EAAoB;IACrE,OAAO,oBAAoB,CAAC,GAAG,CAAC,IAAI,aAAa,EAAE,EAAE,EAAE,CAAC,CAAC;AAC3D,CAAC;AAED,+EAA+E;AAC/E,QAAQ;AACR,+EAA+E;AAE/E,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;AAC5D,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;AAChE,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;AA4D5D,+EAA+E;AAC/E,WAAW;AACX,+EAA+E;AAE/E;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,KAAK,CAAI,EAAW;IAClC,MAAM,GAAG,GAAG,gBAAgB,EAAE,CAAC;IAC/B,GAAG,CAAC,UAAU,EAAE,CAAC;IACjB,IAAI,CAAC;QACH,OAAO,EAAE,EAAE,CAAC;IACd,CAAC;YAAS,CAAC;QACT,GAAG,CAAC,UAAU,EAAE,CAAC;QACjB,IAAI,GAAG,CAAC,UAAU,KAAK,CAAC,EAAE,CAAC;YACzB,mBAAmB,CAAC,GAAG,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,QAAoB;IAC1C,MAAM,GAAG,GAAG,gBAAgB,EAAE,CAAC;IAE/B,IAAI,GAAG,CAAC,UAAU,GAAG,CAAC,EAAE,CAAC;QACvB,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACjC,OAAO;IACT,CAAC;IAED,oDAAoD;IACpD,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACjC,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC;QACxB,GAAG,CAAC,cAAc,GAAG,IAAI,CAAC;QAC1B,oCAAoC;QACpC,cAAc,CAAC,GAAG,EAAE,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC;IACjD,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,GAAkB;IAC7C,GAAG,CAAC,cAAc,GAAG,KAAK,CAAC;IAC3B,MAAM,OAAO,GAAG,CAAC,GAAG,GAAG,CAAC,cAAc,CAAC,CAAC;IACxC,GAAG,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;IAE3B,KAAK,MAAM,QAAQ,IAAI,OAAO,EAAE,CAAC;QAC/B,IAAI,CAAC;YACH,QAAQ,EAAE,CAAC;QACb,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,KAAK,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;AACH,CAAC;AAuBD,SAAS,yBAAyB;IAChC,MAAM,GAAG,GAAG,gBAAgB,EAAE,CAAC;IAC/B,OAAO,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACzD,CAAC;AAED,SAAS,mBAAmB,CAAC,WAA4B;IACvD,MAAM,GAAG,GAAG,gBAAgB,EAAE,CAAC;IAC/B,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AACtC,CAAC;AAED,SAAS,kBAAkB;IACzB,MAAM,GAAG,GAAG,gBAAgB,EAAE,CAAC;IAC/B,GAAG,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC;AAC1B,CAAC;AAED,+EAA+E;AAC/E,SAAS;AACT,+EAA+E;AAE/E;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,MAAM,CAAI,YAAe,EAAE,OAA0B;IACnE,IAAI,KAAK,GAAG,YAAY,CAAC;IACzB,IAAI,UAAU,GAAG,KAAK,CAAC;IACvB,MAAM,aAAa,GAAG,IAAI,GAAG,EAAgB,CAAC;IAC9C,MAAM,KAAK,GAAG,OAAO,EAAE,KAAK,IAAI,MAAM,CAAC,EAAE,CAAC;IAE1C,MAAM,MAAM,GAAG,GAAG,EAAE;QAClB,KAAK,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;YAChC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC,CAAC;IAEF,qCAAqC;IACrC,MAAM,UAAU,GAAG,CAAC,QAAoB,EAAgB,EAAE;QACxD,MAAM,YAAY,GAAiB;YACjC,MAAM,EAAE,QAAQ;YAChB,OAAO,EAAE,GAAG,EAAE;gBACZ,aAAa,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YACrC,CAAC;SACF,CAAC;QACF,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAChC,OAAO,YAAY,CAAC;IACtB,CAAC,CAAC;IAEF,MAAM,MAAM,GAAG,GAAM,EAAE;QACrB,IAAI,UAAU,EAAE,CAAC;YACf,OAAO,KAAK,CAAC;QACf,CAAC;QAED,+DAA+D;QAC/D,MAAM,OAAO,GAAG,yBAAyB,EAAE,CAAC;QAC5C,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,YAAY,CAAC,EAAE,UAAU,EAAoB,CAAC,CAAC;QACzD,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;IAEF,MAAM,MAAM,GAAG,CAAC,QAA8B,EAAQ,EAAE;QACtD,IAAI,UAAU,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;YACjD,OAAO;QACT,CAAC;QAED,MAAM,SAAS,GACb,OAAO,QAAQ,KAAK,UAAU,CAAC,CAAC,CAAE,QAA2B,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;QAElF,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC;YAC7B,KAAK,GAAG,SAAS,CAAC;YAClB,MAAM,EAAE,CAAC;QACX,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,OAAO,GAAG,CAAC,SAA0B,EAAQ,EAAE;QACnD,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;IAC3B,CAAC,CAAC;IAEF,MAAM,OAAO,GAAG,GAAS,EAAE;QACzB,UAAU,GAAG,IAAI,CAAC;QAClB,aAAa,CAAC,KAAK,EAAE,CAAC;IACxB,CAAC,CAAC;IAEF,MAAM,QAAQ,GAAG,MAAoC,CAAC;IACtD,QAAQ,CAAC,GAAG,GAAG,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,GAAG,OAAO,CAAC;IAC1B,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,QAAQ,CAAC,UAAU,GAAG,UAAU,CAAC;IAChC,QAAgB,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC;IAExC,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,OAAO,EAAE;QACvC,GAAG,EAAE,MAAM;QACX,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,IAAI;KACnB,CAAC,CAAC;IAEH,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,UAAU,EAAE;QAC1C,GAAG,EAAE,GAAG,EAAE,CAAC,UAAU;QACrB,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,IAAI;KACnB,CAAC,CAAC;IAEH,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,+EAA+E;AAC/E,WAAW;AACX,+EAA+E;AAE/E;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,QAAQ,CAAI,WAAoB,EAAE,OAA0B;IAC1E,IAAI,WAAc,CAAC;IACnB,IAAI,OAAO,GAAG,IAAI,CAAC;IACnB,IAAI,UAAU,GAAG,KAAK,CAAC;IACvB,IAAI,WAAW,GAAG,KAAK,CAAC;IACxB,MAAM,MAAM,GAAG,OAAO,EAAE,KAAK,IAAI,MAAM,CAAC,EAAE,CAAC;IAE3C,sDAAsD;IACtD,MAAM,uBAAuB,GAAG,IAAI,GAAG,EAAgB,CAAC;IACxD,0DAA0D;IAC1D,MAAM,sBAAsB,GAAG,IAAI,GAAG,EAAgB,CAAC;IAEvD,MAAM,SAAS,GAAG,GAAG,EAAE;QACrB,IAAI,CAAC,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC;YAC5B,OAAO,GAAG,IAAI,CAAC;YACf,mDAAmD;YACnD,KAAK,MAAM,GAAG,IAAI,sBAAsB,EAAE,CAAC;gBACzC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IAEF,uCAAuC;IACvC,MAAM,UAAU,GAAG,CAAC,QAAoB,EAAgB,EAAE;QACxD,MAAM,YAAY,GAAiB;YACjC,MAAM,EAAE,QAAQ;YAChB,OAAO,EAAE,GAAG,EAAE;gBACZ,sBAAsB,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YAC9C,CAAC;SACF,CAAC;QACF,sBAAsB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QACzC,OAAO,YAAY,CAAC;IACtB,CAAC,CAAC;IAEF,MAAM,iBAAiB,GAAG,GAAG,EAAE;QAC7B,4CAA4C;QAC5C,KAAK,MAAM,GAAG,IAAI,uBAAuB,EAAE,CAAC;YAC1C,GAAG,CAAC,OAAO,EAAE,CAAC;QAChB,CAAC;QACD,uBAAuB,CAAC,KAAK,EAAE,CAAC;IAClC,CAAC,CAAC;IAEF,MAAM,SAAS,GAAG,GAAM,EAAE;QACxB,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACrE,CAAC;QAED,WAAW,GAAG,IAAI,CAAC;QAEnB,yBAAyB;QACzB,iBAAiB,EAAE,CAAC;QAEpB,sDAAsD;QACtD,MAAM,eAAe,GAAoB;YACvC,YAAY,EAAE,CAAC,MAAsB,EAAE,EAAE;gBACvC,+BAA+B;gBAC/B,MAAM,YAAY,GAAG,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;gBAClD,uBAAuB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YAC5C,CAAC;SACF,CAAC;QACF,mBAAmB,CAAC,eAAe,CAAC,CAAC;QAErC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;YAC/B,WAAW,GAAG,QAAQ,CAAC;YACvB,OAAO,GAAG,KAAK,CAAC;YAChB,OAAO,WAAW,CAAC;QACrB,CAAC;gBAAS,CAAC;YACT,kBAAkB,EAAE,CAAC;YACrB,WAAW,GAAG,KAAK,CAAC;QACtB,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,MAAM,GAAG,GAAM,EAAE;QACrB,IAAI,UAAU,EAAE,CAAC;YACf,OAAO,WAAW,CAAC;QACrB,CAAC;QAED,8DAA8D;QAC9D,MAAM,OAAO,GAAG,yBAAyB,EAAE,CAAC;QAC5C,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,YAAY,CAAC,EAAE,UAAU,EAAoB,CAAC,CAAC;QACzD,CAAC;QAED,uCAAuC;QACvC,IAAI,OAAO,EAAE,CAAC;YACZ,SAAS,EAAE,CAAC;QACd,CAAC;QAED,OAAO,WAAW,CAAC;IACrB,CAAC,CAAC;IAEF,MAAM,OAAO,GAAG,GAAS,EAAE;QACzB,IAAI,UAAU;YAAE,OAAO;QAEvB,UAAU,GAAG,IAAI,CAAC;QAClB,OAAO,GAAG,KAAK,CAAC;QAEhB,iEAAiE;QACjE,iBAAiB,EAAE,CAAC;QAEpB,4DAA4D;QAC5D,sBAAsB,CAAC,KAAK,EAAE,CAAC;IACjC,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,MAA4C,CAAC;IAChE,UAAU,CAAC,OAAO,GAAG,OAAO,CAAC;IAC7B,UAAU,CAAC,UAAU,GAAG,UAAU,CAAC;IAClC,UAAkB,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC;IAE5C,MAAM,CAAC,cAAc,CAAC,UAAU,EAAE,OAAO,EAAE;QACzC,GAAG,EAAE,MAAM;QACX,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,IAAI;KACnB,CAAC,CAAC;IAEH,MAAM,CAAC,cAAc,CAAC,UAAU,EAAE,UAAU,EAAE;QAC5C,GAAG,EAAE,GAAG,EAAE,CAAC,UAAU;QACrB,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,IAAI;KACnB,CAAC,CAAC;IAEH,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,+EAA+E;AAC/E,SAAS;AACT,+EAA+E;AAE/E;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,MAAM,CACpB,EAAiE;IAEjE,IAAI,UAAU,GAAG,KAAK,CAAC;IACvB,IAAI,SAAgC,CAAC;IACrC,MAAM,uBAAuB,GAAG,IAAI,GAAG,EAAgB,CAAC;IAExD,MAAM,iBAAiB,GAAG,GAAG,EAAE;QAC7B,KAAK,MAAM,GAAG,IAAI,uBAAuB,EAAE,CAAC;YAC1C,GAAG,CAAC,OAAO,EAAE,CAAC;QAChB,CAAC;QACD,uBAAuB,CAAC,KAAK,EAAE,CAAC;IAClC,CAAC,CAAC;IAEF,MAAM,SAAS,GAAG,GAAG,EAAE;QACrB,IAAI,UAAU;YAAE,OAAO;QAEvB,sCAAsC;QACtC,IAAI,SAAS,EAAE,CAAC;YACd,IAAI,CAAC;gBACH,SAAS,EAAE,CAAC;YACd,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;YACnD,CAAC;YACD,SAAS,GAAG,SAAS,CAAC;QACxB,CAAC;QAED,yBAAyB;QACzB,iBAAiB,EAAE,CAAC;QAEpB,0BAA0B;QAC1B,MAAM,eAAe,GAAoB;YACvC,YAAY,EAAE,CAAC,MAAsB,EAAE,EAAE;gBACvC,MAAM,YAAY,GAAG,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;gBAClD,uBAAuB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YAC5C,CAAC;SACF,CAAC;QACF,mBAAmB,CAAC,eAAe,CAAC,CAAC;QAErC,IAAI,CAAC;YACH,gEAAgE;YAChE,MAAM,SAAS,GAAG,CAAC,OAAkB,EAAE,EAAE;gBACvC,SAAS,GAAG,OAAO,CAAC;YACtB,CAAC,CAAC;YAEF,MAAM,MAAM,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YAE7B,6DAA6D;YAC7D,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE,CAAC;gBACjC,SAAS,GAAG,MAAM,CAAC;YACrB,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,kBAAkB,EAAE,CAAC;QACvB,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,OAAO,GAAG,GAAS,EAAE;QACzB,IAAI,UAAU;YAAE,OAAO;QAEvB,UAAU,GAAG,IAAI,CAAC;QAElB,oCAAoC;QACpC,iBAAiB,EAAE,CAAC;QAEpB,oBAAoB;QACpB,IAAI,SAAS,EAAE,CAAC;YACd,IAAI,CAAC;gBACH,SAAS,EAAE,CAAC;YACd,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;YACnD,CAAC;YACD,SAAS,GAAG,SAAS,CAAC;QACxB,CAAC;IACH,CAAC,CAAC;IAEF,kBAAkB;IAClB,SAAS,EAAE,CAAC;IAEZ,MAAM,SAAS,GAAc;QAC3B,OAAO;QACP,IAAI,QAAQ;YACV,OAAO,UAAU,CAAC;QACpB,CAAC;KACF,CAAC;IAEF,uCAAuC;IACtC,SAAiB,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC;IAEzC,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,+EAA+E;AAC/E,YAAY;AACZ,+EAA+E;AAE/E;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,SAAS,CAAI,EAAW;IACtC,MAAM,GAAG,GAAG,gBAAgB,EAAE,CAAC;IAC/B,sCAAsC;IACtC,MAAM,UAAU,GAAG,CAAC,GAAG,GAAG,CAAC,aAAa,CAAC,CAAC;IAC1C,GAAG,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC;IAE7B,IAAI,CAAC;QACH,OAAO,EAAE,EAAE,CAAC;IACd,CAAC;YAAS,CAAC;QACT,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC;IACxC,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,QAAQ,CAAC,KAAc;IACrC,OAAO,OAAO,KAAK,KAAK,UAAU,IAAK,KAAa,CAAC,aAAa,CAAC,KAAK,IAAI,CAAC;AAC/E,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,KAAc;IACvC,OAAO,OAAO,KAAK,KAAK,UAAU,IAAK,KAAa,CAAC,eAAe,CAAC,KAAK,IAAI,CAAC;AACjF,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,QAAQ,CAAC,KAAc;IACrC,OAAO,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAK,KAAa,CAAC,aAAa,CAAC,KAAK,IAAI,CAAC;AAC/F,CAAC;AAED,+EAA+E;AAC/E,mBAAmB;AACnB,+EAA+E;AAE/E,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;AAEnE;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAClC,GAKC,EACD,GAAW,EACX,YAAgB;IAEhB,MAAM,GAAG,GAAG,MAAM,CAAgB,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,YAAY,CAAC,CAAC;IAErE,mCAAmC;IACnC,IAAI,iBAAiB,GAAG,KAAK,CAAC;IAE9B,kDAAkD;IAClD,MAAM,OAAO,GAAG,CAAC,UAAkB,EAAE,KAAc,EAAE,EAAE;QACrD,IAAI,UAAU,KAAK,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC7C,iBAAiB,GAAG,IAAI,CAAC;YACzB,IAAI,CAAC;gBACH,wDAAwD;gBACxD,MAAM,WAAW,GAAG,GAAG,CAAC,GAAG,CAAC;gBAC5B,WAAW,CAAC,KAAU,CAAC,CAAC;gBAExB,qEAAqE;gBACrE,oEAAoE;gBACpE,qDAAqD;gBACrD,IAAI,mBAAmB,EAAE,IAAI,CAAC,mBAAmB,EAAE,EAAE,CAAC;oBACpD,MAAM,QAAQ,GAAG,iBAAiB,EAAE,CAAC;oBACrC,IAAI,QAAQ,EAAE,CAAC;wBACb,MAAM,MAAM,GAAG,GAAU,CAAC;wBAC1B,IAAI,MAAM,CAAC,gBAAgB,EAAE,CAAC;4BAC5B,MAAM,CAAC,gBAAgB,CAAC,aAAa,GAAG,yBAAyB,CAAC,CAAC;wBACrE,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;oBAAS,CAAC;gBACT,iBAAiB,GAAG,KAAK,CAAC;YAC5B,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IAEF,GAAG,CAAC,EAAE,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;IAEjC,kCAAkC;IAClC,MAAM,WAAW,GAAG,GAAG,CAAC,GAAG,CAAC;IAC5B,GAAG,CAAC,GAAG,GAAG,CAAC,KAAK,EAAE,EAAE;QAClB,IAAI,iBAAiB,EAAE,CAAC;YACtB,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAC7B,OAAO;QACT,CAAC;QAED,MAAM,YAAY,GAAG,GAAG,EAAE,CAAC;QAC3B,MAAM,SAAS,GACb,OAAO,KAAK,KAAK,UAAU;YACzB,CAAC,CAAE,KAAgD,CAAC,YAAY,CAAC;YACjE,CAAC,CAAC,KAAK,CAAC;QAEZ,kCAAkC;QAClC,IAAI,MAAM,CAAC,EAAE,CAAC,YAAY,EAAE,SAAS,CAAC,EAAE,CAAC;YACvC,OAAO;QACT,CAAC;QAED,8CAA8C;QAC9C,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,aAAa,IAAI,mBAAmB,EAAE,EAAE,CAAC;YACvE,OAAO,CAAC,IAAI,CACV,yBAAyB,GAAG,uCAAuC;gBACjE,iFAAiF;gBACjF,gFAAgF;gBAChF,iEAAiE,CACpE,CAAC;QACJ,CAAC;QAED,sEAAsE;QACtE,iBAAiB,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC;YACH,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAC/B,CAAC;gBAAS,CAAC;YACT,iBAAiB,GAAG,KAAK,CAAC;QAC5B,CAAC;QAED,qBAAqB;QACrB,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAEjC,gEAAgE;QAChE,2EAA2E;QAC3E,gEAAgE;QAChE,gDAAgD;QAChD,iEAAiE;QACjE,qDAAqD;QACrD,wCAAwC;QACxC,kGAAkG;QAClG,EAAE;QACF,sBAAsB;QACtB,qGAAqG;QACrG,IAAI,CAAC,mBAAmB,EAAE,EAAE,CAAC;YAC3B,MAAM,MAAM,GAAG,GAAU,CAAC;YAC1B,IAAI,MAAM,CAAC,gBAAgB,EAAE,CAAC;gBAC5B,MAAM,CAAC,gBAAgB,CAAC,aAAa,GAAG,WAAW,CAAC,CAAC;YACvD,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IAEF,2CAA2C;IAC3C,MAAM,eAAe,GAAG,GAAG,CAAC,OAAO,CAAC;IACpC,GAAG,CAAC,OAAO,GAAG,GAAG,EAAE;QACjB,IAAI,GAAG,CAAC,GAAG,EAAE,CAAC;YACZ,GAAG,CAAC,GAAG,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QACpC,CAAC;QACD,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC5B,CAAC,CAAC;IAEF,qBAAqB;IACpB,GAAW,CAAC,iBAAiB,CAAC,GAAG,GAAG,CAAC;IAEtC,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;AACvE,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;AACvE,MAAM,CAAC,MAAM,qBAAqB,GAAG,MAAM,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;AAE3E;;;;;GAKG;AACH,MAAM,UAAU,4BAA4B,CAC1C,GAIC,EACD,GAAW,EACX,YAAgB;IAEhB,IAAI,KAAK,GAAkB,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,YAAY,CAAC;IAC7D,IAAI,UAAU,GAAG,KAAK,CAAC;IAEvB,+BAA+B;IAC/B,MAAM,OAAO,GAAG,CAAC,UAAkB,EAAE,QAAiB,EAAE,EAAE;QACxD,IAAI,UAAU,KAAK,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YACtC,KAAK,GAAG,QAAa,CAAC;YACtB,kDAAkD;YAClD,cAAc,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC,CAAC,yBAAyB;YAEnD,uEAAuE;YACvE,oEAAoE;YACpE,qDAAqD;YACrD,IAAI,mBAAmB,EAAE,IAAI,CAAC,mBAAmB,EAAE,EAAE,CAAC;gBACpD,MAAM,QAAQ,GAAG,iBAAiB,EAAE,CAAC;gBACrC,IAAI,QAAQ,EAAE,CAAC;oBACb,MAAM,MAAM,GAAG,GAAU,CAAC;oBAC1B,IAAI,MAAM,CAAC,gBAAgB,EAAE,CAAC;wBAC5B,MAAM,CAAC,gBAAgB,CAAC,qBAAqB,GAAG,yBAAyB,CAAC,CAAC;oBAC7E,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IAEF,GAAG,CAAC,EAAE,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;IAEjC,MAAM,MAAM,GAAG,GAAkB,EAAE;QACjC,IAAI,UAAU;YAAE,OAAO,KAAK,CAAC;QAE7B,gDAAgD;QAChD,MAAM,OAAO,GAAG,yBAAyB,EAAE,CAAC;QAC5C,IAAI,OAAO,EAAE,CAAC;YACZ,6CAA6C;YAC7C,OAAO,CAAC,YAAY,CAAC;gBACnB,UAAU,EAAE,CAAC,MAAkB,EAAE,EAAE,CAAC,CAAC;oBACnC,MAAM;oBACN,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC;iBAClB,CAAC;aACI,CAAC,CAAC;QACZ,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;IAEF,MAAM,OAAO,GAAG,GAAS,EAAE;QACzB,IAAI,UAAU;YAAE,OAAO;QACvB,UAAU,GAAG,IAAI,CAAC;QAClB,IAAI,GAAG,CAAC,GAAG,EAAE,CAAC;YACZ,GAAG,CAAC,GAAG,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QACpC,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,cAAc,GAAkC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE;QAC1E,OAAO;QACP,IAAI,KAAK;YACP,OAAO,MAAM,EAAE,CAAC;QAClB,CAAC;QACD,IAAI,QAAQ;YACV,OAAO,UAAU,CAAC;QACpB,CAAC;KACF,CAAC,CAAC;IAEH,6BAA6B;IAC5B,cAAsB,CAAC,mBAAmB,CAAC,GAAG,GAAG,CAAC;IAEnD,OAAO,cAAc,CAAC;AACxB,CAAC"}
|
|
@@ -0,0 +1,210 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* State management for EngineComponent.
|
|
3
|
+
*
|
|
4
|
+
* Two layers of state:
|
|
5
|
+
* 1. `signal()` - Component-local state (not shared)
|
|
6
|
+
* 2. `comState()` - COM state (shared across components, persisted)
|
|
7
|
+
*
|
|
8
|
+
* **Important:** Signals only work in class components (`EngineComponent`).
|
|
9
|
+
* They do NOT work in pure function components because function components
|
|
10
|
+
* are re-executed on every render, which would create new signals each time.
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* ```typescript
|
|
14
|
+
* // ✅ Correct - use EngineComponent for stateful components
|
|
15
|
+
* class MyComponent extends Component {
|
|
16
|
+
* // Component-local state
|
|
17
|
+
* private count = signal(0);
|
|
18
|
+
*
|
|
19
|
+
* // COM state (shared, auto-bound to COM in onMount)
|
|
20
|
+
* private timeline = comState<COMTimelineEntry[]>('timeline', []);
|
|
21
|
+
*
|
|
22
|
+
* onTickStart(com, state) {
|
|
23
|
+
* this.timeline.update(t => [...t, ...state.current.timeline]);
|
|
24
|
+
* }
|
|
25
|
+
*
|
|
26
|
+
* render() {
|
|
27
|
+
* return <Timeline>{this.timeline().map(...)}</Timeline>;
|
|
28
|
+
* }
|
|
29
|
+
* }
|
|
30
|
+
*
|
|
31
|
+
* // ❌ Wrong - signals don't work in function components
|
|
32
|
+
* function BadComponent(props) {
|
|
33
|
+
* const count = signal(0); // Creates new signal every render!
|
|
34
|
+
* return <div>{count()}</div>;
|
|
35
|
+
* }
|
|
36
|
+
* ```
|
|
37
|
+
*
|
|
38
|
+
* @see docs/state-management.md for full documentation
|
|
39
|
+
*/
|
|
40
|
+
import { type Signal, type ReadonlySignal } from "./signal";
|
|
41
|
+
import type { COM } from "../com/object-model";
|
|
42
|
+
/**
|
|
43
|
+
* Creates a COM-bound signal (shared state).
|
|
44
|
+
*
|
|
45
|
+
* COM state is:
|
|
46
|
+
* - Shared across all components
|
|
47
|
+
* - Persisted across ticks
|
|
48
|
+
* - Synced bidirectionally with COM
|
|
49
|
+
*
|
|
50
|
+
* The signal is automatically bound to COM in `onMount`.
|
|
51
|
+
* Before binding, it works as a local signal with the initial value.
|
|
52
|
+
*
|
|
53
|
+
* @param key The COM state key
|
|
54
|
+
* @param initialValue Initial value if COM state doesn't exist
|
|
55
|
+
*
|
|
56
|
+
* @example
|
|
57
|
+
* ```typescript
|
|
58
|
+
* class TimelineComponent extends Component {
|
|
59
|
+
* // Declared as property - auto-bound in onMount
|
|
60
|
+
* private timeline = comState<COMTimelineEntry[]>('timeline', []);
|
|
61
|
+
*
|
|
62
|
+
* onTickStart(com, state) {
|
|
63
|
+
* // Update signal - automatically syncs with COM
|
|
64
|
+
* this.timeline.update(t => [...t, ...state.current.timeline]);
|
|
65
|
+
* }
|
|
66
|
+
*
|
|
67
|
+
* render() {
|
|
68
|
+
* // Read from signal
|
|
69
|
+
* return <Timeline>{this.timeline().map(...)}</Timeline>;
|
|
70
|
+
* }
|
|
71
|
+
* }
|
|
72
|
+
* ```
|
|
73
|
+
*/
|
|
74
|
+
export declare function comState<T>(key: string, initialValue: T): Signal<T>;
|
|
75
|
+
/**
|
|
76
|
+
* Creates a read-only signal that watches COM state.
|
|
77
|
+
*
|
|
78
|
+
* Use this when you want to observe state that another component owns,
|
|
79
|
+
* without being able to modify it. The signal updates automatically
|
|
80
|
+
* when the COM state changes.
|
|
81
|
+
*
|
|
82
|
+
* @param key The COM state key to watch
|
|
83
|
+
* @param defaultValue Default value if state doesn't exist
|
|
84
|
+
*
|
|
85
|
+
* @example
|
|
86
|
+
* ```typescript
|
|
87
|
+
* class ObserverComponent extends Component {
|
|
88
|
+
* // Watch timeline state owned by another component
|
|
89
|
+
* private timeline = watchComState<COMTimelineEntry[]>('timeline');
|
|
90
|
+
*
|
|
91
|
+
* // Can create derived values
|
|
92
|
+
* private messageCount = computed(() => this.timeline()?.length ?? 0);
|
|
93
|
+
*
|
|
94
|
+
* render() {
|
|
95
|
+
* // Can read
|
|
96
|
+
* return <div>Messages: {this.messageCount()}</div>;
|
|
97
|
+
*
|
|
98
|
+
* // Cannot write - no .set() or .update()
|
|
99
|
+
* // this.timeline.set([...]) // ❌ Not available
|
|
100
|
+
* }
|
|
101
|
+
* }
|
|
102
|
+
* ```
|
|
103
|
+
*/
|
|
104
|
+
export declare function watchComState<T>(key: string, defaultValue?: T): ReadonlySignal<T | undefined>;
|
|
105
|
+
/**
|
|
106
|
+
* Shorthand for watchComState - creates a read-only signal watching COM state.
|
|
107
|
+
*
|
|
108
|
+
* @param key The COM state key to watch
|
|
109
|
+
* @param defaultValue Default value if state doesn't exist
|
|
110
|
+
*
|
|
111
|
+
* @example
|
|
112
|
+
* ```typescript
|
|
113
|
+
* class StatusComponent extends Component {
|
|
114
|
+
* // Watch state set by another component
|
|
115
|
+
* private status = watch<'idle' | 'loading' | 'done'>('status', 'idle');
|
|
116
|
+
*
|
|
117
|
+
* render() {
|
|
118
|
+
* return <div>Status: {this.status()}</div>;
|
|
119
|
+
* }
|
|
120
|
+
* }
|
|
121
|
+
* ```
|
|
122
|
+
*/
|
|
123
|
+
export declare function watch<T>(key: string, defaultValue?: T): ReadonlySignal<T | undefined>;
|
|
124
|
+
/**
|
|
125
|
+
* Creates a signal bound to a component prop.
|
|
126
|
+
*
|
|
127
|
+
* The prop key is inferred from the property name, but can be overridden via config.
|
|
128
|
+
* The compiler automatically detects these signals and updates them when props change.
|
|
129
|
+
*
|
|
130
|
+
* Props signals are readonly from the component's perspective - only the compiler can update them.
|
|
131
|
+
*
|
|
132
|
+
* **Important:** Use explicit props interfaces with `Component<P>` for type checking.
|
|
133
|
+
* Required vs optional props are determined by your props interface.
|
|
134
|
+
*
|
|
135
|
+
* @param initialValue Optional default value if prop is not provided
|
|
136
|
+
* @param config Optional configuration
|
|
137
|
+
* @param config.key Override the inferred prop key (use when JSX prop name differs from property name)
|
|
138
|
+
*
|
|
139
|
+
* @example
|
|
140
|
+
* ```typescript
|
|
141
|
+
* interface MyComponentProps {
|
|
142
|
+
* title?: string; // Optional prop
|
|
143
|
+
* count?: number; // Optional prop
|
|
144
|
+
* name: string; // Required prop
|
|
145
|
+
* }
|
|
146
|
+
*
|
|
147
|
+
* class MyComponent extends Component<MyComponentProps> {
|
|
148
|
+
* // All use input() - required/optional comes from props interface
|
|
149
|
+
* title = input<string>();
|
|
150
|
+
* count = input<number>(0);
|
|
151
|
+
* name = input<string>(''); // Required because props interface says so
|
|
152
|
+
*
|
|
153
|
+
* render() {
|
|
154
|
+
* return <div>{this.title()}: {this.count()}</div>;
|
|
155
|
+
* }
|
|
156
|
+
* }
|
|
157
|
+
* ```
|
|
158
|
+
*
|
|
159
|
+
* @example JSX usage
|
|
160
|
+
* ```tsx
|
|
161
|
+
* <MyComponent name="World" /> // ✅ name is required
|
|
162
|
+
* <MyComponent /> // ❌ Error: name is required (from props interface)
|
|
163
|
+
* ```
|
|
164
|
+
*/
|
|
165
|
+
export declare function input<T>(initialValue?: T, config?: {
|
|
166
|
+
key?: string;
|
|
167
|
+
}): ReadonlySignal<T | undefined>;
|
|
168
|
+
/**
|
|
169
|
+
* Binds all COM signals on a component instance.
|
|
170
|
+
* Called automatically in EngineComponent.onMount().
|
|
171
|
+
*
|
|
172
|
+
* Finds all properties marked with COM_SIGNAL_SYMBOL or WATCH_SIGNAL_SYMBOL
|
|
173
|
+
* and replaces them with signals bound to the actual COM state.
|
|
174
|
+
*/
|
|
175
|
+
export declare function bindCOMSignals(instance: any, com: COM): void;
|
|
176
|
+
/**
|
|
177
|
+
* Cleans up all signals on a component instance.
|
|
178
|
+
* Called automatically in EngineComponent.onUnmount().
|
|
179
|
+
*
|
|
180
|
+
* Disposes all reactive primitives to prevent memory leaks:
|
|
181
|
+
* - signal() - clears subscribers
|
|
182
|
+
* - comState() - removes COM event listener, clears subscribers
|
|
183
|
+
* - watchComState() / watch() - removes COM event listener
|
|
184
|
+
* - computed() - unsubscribes from dependencies, clears subscribers
|
|
185
|
+
* - effect() - unsubscribes from dependencies, runs cleanup function
|
|
186
|
+
*/
|
|
187
|
+
export declare function cleanupSignals(instance: any): void;
|
|
188
|
+
/**
|
|
189
|
+
* Manually dispose a single signal.
|
|
190
|
+
* Use when you need to clean up a signal before component unmount.
|
|
191
|
+
*
|
|
192
|
+
* @example
|
|
193
|
+
* ```typescript
|
|
194
|
+
* class MyComponent extends Component {
|
|
195
|
+
* private tempData = signal<Data | null>(null);
|
|
196
|
+
*
|
|
197
|
+
* async loadData() {
|
|
198
|
+
* this.tempData.set(await fetchData());
|
|
199
|
+
* }
|
|
200
|
+
*
|
|
201
|
+
* clearData() {
|
|
202
|
+
* // Dispose signal before component unmounts
|
|
203
|
+
* disposeSignal(this.tempData);
|
|
204
|
+
* this.tempData = signal(null); // Create fresh signal if needed
|
|
205
|
+
* }
|
|
206
|
+
* }
|
|
207
|
+
* ```
|
|
208
|
+
*/
|
|
209
|
+
export declare function disposeSignal(sig: Signal<any>): void;
|
|
210
|
+
//# sourceMappingURL=use-state.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-state.d.ts","sourceRoot":"","sources":["../../src/state/use-state.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAEH,OAAO,EAUL,KAAK,MAAM,EACX,KAAK,cAAc,EACpB,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAC;AAE/C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAQnE;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,CAAC,GAAG,SAAS,CAAC,CAS7F;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,KAAK,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,CAAC,GAAG,SAAS,CAAC,CAErF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,wBAAgB,KAAK,CAAC,CAAC,EACrB,YAAY,CAAC,EAAE,CAAC,EAChB,MAAM,CAAC,EAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,GACxB,cAAc,CAAC,CAAC,GAAG,SAAS,CAAC,CAW/B;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,IAAI,CAsD5D;AAkBD;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,GAAG,GAAG,IAAI,CAsClD;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAIpD"}
|
|
@@ -0,0 +1,327 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* State management for EngineComponent.
|
|
3
|
+
*
|
|
4
|
+
* Two layers of state:
|
|
5
|
+
* 1. `signal()` - Component-local state (not shared)
|
|
6
|
+
* 2. `comState()` - COM state (shared across components, persisted)
|
|
7
|
+
*
|
|
8
|
+
* **Important:** Signals only work in class components (`EngineComponent`).
|
|
9
|
+
* They do NOT work in pure function components because function components
|
|
10
|
+
* are re-executed on every render, which would create new signals each time.
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* ```typescript
|
|
14
|
+
* // ✅ Correct - use EngineComponent for stateful components
|
|
15
|
+
* class MyComponent extends Component {
|
|
16
|
+
* // Component-local state
|
|
17
|
+
* private count = signal(0);
|
|
18
|
+
*
|
|
19
|
+
* // COM state (shared, auto-bound to COM in onMount)
|
|
20
|
+
* private timeline = comState<COMTimelineEntry[]>('timeline', []);
|
|
21
|
+
*
|
|
22
|
+
* onTickStart(com, state) {
|
|
23
|
+
* this.timeline.update(t => [...t, ...state.current.timeline]);
|
|
24
|
+
* }
|
|
25
|
+
*
|
|
26
|
+
* render() {
|
|
27
|
+
* return <Timeline>{this.timeline().map(...)}</Timeline>;
|
|
28
|
+
* }
|
|
29
|
+
* }
|
|
30
|
+
*
|
|
31
|
+
* // ❌ Wrong - signals don't work in function components
|
|
32
|
+
* function BadComponent(props) {
|
|
33
|
+
* const count = signal(0); // Creates new signal every render!
|
|
34
|
+
* return <div>{count()}</div>;
|
|
35
|
+
* }
|
|
36
|
+
* ```
|
|
37
|
+
*
|
|
38
|
+
* @see docs/state-management.md for full documentation
|
|
39
|
+
*/
|
|
40
|
+
import { signal, createCOMStateSignal, createReadonlyCOMStateSignal, COM_SIGNAL_SYMBOL, WATCH_SIGNAL_SYMBOL, PROPS_SIGNAL_SYMBOL, SIGNAL_SYMBOL, COMPUTED_SYMBOL, EFFECT_SYMBOL, } from "./signal";
|
|
41
|
+
/**
|
|
42
|
+
* Creates a COM-bound signal (shared state).
|
|
43
|
+
*
|
|
44
|
+
* COM state is:
|
|
45
|
+
* - Shared across all components
|
|
46
|
+
* - Persisted across ticks
|
|
47
|
+
* - Synced bidirectionally with COM
|
|
48
|
+
*
|
|
49
|
+
* The signal is automatically bound to COM in `onMount`.
|
|
50
|
+
* Before binding, it works as a local signal with the initial value.
|
|
51
|
+
*
|
|
52
|
+
* @param key The COM state key
|
|
53
|
+
* @param initialValue Initial value if COM state doesn't exist
|
|
54
|
+
*
|
|
55
|
+
* @example
|
|
56
|
+
* ```typescript
|
|
57
|
+
* class TimelineComponent extends Component {
|
|
58
|
+
* // Declared as property - auto-bound in onMount
|
|
59
|
+
* private timeline = comState<COMTimelineEntry[]>('timeline', []);
|
|
60
|
+
*
|
|
61
|
+
* onTickStart(com, state) {
|
|
62
|
+
* // Update signal - automatically syncs with COM
|
|
63
|
+
* this.timeline.update(t => [...t, ...state.current.timeline]);
|
|
64
|
+
* }
|
|
65
|
+
*
|
|
66
|
+
* render() {
|
|
67
|
+
* // Read from signal
|
|
68
|
+
* return <Timeline>{this.timeline().map(...)}</Timeline>;
|
|
69
|
+
* }
|
|
70
|
+
* }
|
|
71
|
+
* ```
|
|
72
|
+
*/
|
|
73
|
+
export function comState(key, initialValue) {
|
|
74
|
+
// Create a placeholder signal that will be bound in onMount
|
|
75
|
+
const sig = signal(initialValue);
|
|
76
|
+
// Mark as COM signal for auto-binding
|
|
77
|
+
sig[COM_SIGNAL_SYMBOL] = key;
|
|
78
|
+
return sig;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Creates a read-only signal that watches COM state.
|
|
82
|
+
*
|
|
83
|
+
* Use this when you want to observe state that another component owns,
|
|
84
|
+
* without being able to modify it. The signal updates automatically
|
|
85
|
+
* when the COM state changes.
|
|
86
|
+
*
|
|
87
|
+
* @param key The COM state key to watch
|
|
88
|
+
* @param defaultValue Default value if state doesn't exist
|
|
89
|
+
*
|
|
90
|
+
* @example
|
|
91
|
+
* ```typescript
|
|
92
|
+
* class ObserverComponent extends Component {
|
|
93
|
+
* // Watch timeline state owned by another component
|
|
94
|
+
* private timeline = watchComState<COMTimelineEntry[]>('timeline');
|
|
95
|
+
*
|
|
96
|
+
* // Can create derived values
|
|
97
|
+
* private messageCount = computed(() => this.timeline()?.length ?? 0);
|
|
98
|
+
*
|
|
99
|
+
* render() {
|
|
100
|
+
* // Can read
|
|
101
|
+
* return <div>Messages: {this.messageCount()}</div>;
|
|
102
|
+
*
|
|
103
|
+
* // Cannot write - no .set() or .update()
|
|
104
|
+
* // this.timeline.set([...]) // ❌ Not available
|
|
105
|
+
* }
|
|
106
|
+
* }
|
|
107
|
+
* ```
|
|
108
|
+
*/
|
|
109
|
+
export function watchComState(key, defaultValue) {
|
|
110
|
+
// Create a placeholder that will be bound in onMount
|
|
111
|
+
const placeholder = signal(defaultValue);
|
|
112
|
+
// Mark as watch signal for auto-binding
|
|
113
|
+
placeholder[WATCH_SIGNAL_SYMBOL] = key;
|
|
114
|
+
// Return as ReadonlySignal (hide .set and .update from type)
|
|
115
|
+
return placeholder;
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Shorthand for watchComState - creates a read-only signal watching COM state.
|
|
119
|
+
*
|
|
120
|
+
* @param key The COM state key to watch
|
|
121
|
+
* @param defaultValue Default value if state doesn't exist
|
|
122
|
+
*
|
|
123
|
+
* @example
|
|
124
|
+
* ```typescript
|
|
125
|
+
* class StatusComponent extends Component {
|
|
126
|
+
* // Watch state set by another component
|
|
127
|
+
* private status = watch<'idle' | 'loading' | 'done'>('status', 'idle');
|
|
128
|
+
*
|
|
129
|
+
* render() {
|
|
130
|
+
* return <div>Status: {this.status()}</div>;
|
|
131
|
+
* }
|
|
132
|
+
* }
|
|
133
|
+
* ```
|
|
134
|
+
*/
|
|
135
|
+
export function watch(key, defaultValue) {
|
|
136
|
+
return watchComState(key, defaultValue);
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Creates a signal bound to a component prop.
|
|
140
|
+
*
|
|
141
|
+
* The prop key is inferred from the property name, but can be overridden via config.
|
|
142
|
+
* The compiler automatically detects these signals and updates them when props change.
|
|
143
|
+
*
|
|
144
|
+
* Props signals are readonly from the component's perspective - only the compiler can update them.
|
|
145
|
+
*
|
|
146
|
+
* **Important:** Use explicit props interfaces with `Component<P>` for type checking.
|
|
147
|
+
* Required vs optional props are determined by your props interface.
|
|
148
|
+
*
|
|
149
|
+
* @param initialValue Optional default value if prop is not provided
|
|
150
|
+
* @param config Optional configuration
|
|
151
|
+
* @param config.key Override the inferred prop key (use when JSX prop name differs from property name)
|
|
152
|
+
*
|
|
153
|
+
* @example
|
|
154
|
+
* ```typescript
|
|
155
|
+
* interface MyComponentProps {
|
|
156
|
+
* title?: string; // Optional prop
|
|
157
|
+
* count?: number; // Optional prop
|
|
158
|
+
* name: string; // Required prop
|
|
159
|
+
* }
|
|
160
|
+
*
|
|
161
|
+
* class MyComponent extends Component<MyComponentProps> {
|
|
162
|
+
* // All use input() - required/optional comes from props interface
|
|
163
|
+
* title = input<string>();
|
|
164
|
+
* count = input<number>(0);
|
|
165
|
+
* name = input<string>(''); // Required because props interface says so
|
|
166
|
+
*
|
|
167
|
+
* render() {
|
|
168
|
+
* return <div>{this.title()}: {this.count()}</div>;
|
|
169
|
+
* }
|
|
170
|
+
* }
|
|
171
|
+
* ```
|
|
172
|
+
*
|
|
173
|
+
* @example JSX usage
|
|
174
|
+
* ```tsx
|
|
175
|
+
* <MyComponent name="World" /> // ✅ name is required
|
|
176
|
+
* <MyComponent /> // ❌ Error: name is required (from props interface)
|
|
177
|
+
* ```
|
|
178
|
+
*/
|
|
179
|
+
export function input(initialValue, config) {
|
|
180
|
+
// Create placeholder signal (will be bound by compiler)
|
|
181
|
+
const sig = signal(initialValue);
|
|
182
|
+
// Mark as props signal for compiler detection
|
|
183
|
+
// The actual prop key will be determined by compiler based on property name
|
|
184
|
+
// or the config.key override
|
|
185
|
+
sig[PROPS_SIGNAL_SYMBOL] = config?.key ?? true; // true = infer from property name
|
|
186
|
+
// Return as ReadonlySignal (components can't write, compiler can)
|
|
187
|
+
return sig;
|
|
188
|
+
}
|
|
189
|
+
/**
|
|
190
|
+
* Binds all COM signals on a component instance.
|
|
191
|
+
* Called automatically in EngineComponent.onMount().
|
|
192
|
+
*
|
|
193
|
+
* Finds all properties marked with COM_SIGNAL_SYMBOL or WATCH_SIGNAL_SYMBOL
|
|
194
|
+
* and replaces them with signals bound to the actual COM state.
|
|
195
|
+
*/
|
|
196
|
+
export function bindCOMSignals(instance, com) {
|
|
197
|
+
const signalsToCleanup = [];
|
|
198
|
+
const bindProperty = (propKey, value) => {
|
|
199
|
+
// Handle writable COM signals
|
|
200
|
+
if (value && typeof value === "function" && value[COM_SIGNAL_SYMBOL]) {
|
|
201
|
+
const comKey = value[COM_SIGNAL_SYMBOL];
|
|
202
|
+
const currentValue = value();
|
|
203
|
+
// Dispose the placeholder signal
|
|
204
|
+
if (value.dispose) {
|
|
205
|
+
value.dispose();
|
|
206
|
+
}
|
|
207
|
+
// Replace with COM-bound signal
|
|
208
|
+
const boundSignal = createCOMStateSignal(com, comKey, currentValue);
|
|
209
|
+
instance[propKey] = boundSignal;
|
|
210
|
+
signalsToCleanup.push(boundSignal);
|
|
211
|
+
return;
|
|
212
|
+
}
|
|
213
|
+
// Handle read-only watch signals
|
|
214
|
+
if (value && typeof value === "function" && value[WATCH_SIGNAL_SYMBOL]) {
|
|
215
|
+
const comKey = value[WATCH_SIGNAL_SYMBOL];
|
|
216
|
+
const currentValue = value();
|
|
217
|
+
// Dispose the placeholder signal
|
|
218
|
+
if (value.dispose) {
|
|
219
|
+
value.dispose();
|
|
220
|
+
}
|
|
221
|
+
// Replace with read-only COM-bound signal
|
|
222
|
+
const boundSignal = createReadonlyCOMStateSignal(com, comKey, currentValue);
|
|
223
|
+
instance[propKey] = boundSignal;
|
|
224
|
+
signalsToCleanup.push(boundSignal);
|
|
225
|
+
}
|
|
226
|
+
};
|
|
227
|
+
// Find all properties marked as COM signals (string keys)
|
|
228
|
+
for (const key of Object.getOwnPropertyNames(instance)) {
|
|
229
|
+
bindProperty(key, instance[key]);
|
|
230
|
+
}
|
|
231
|
+
// Also check symbol properties (for private fields with symbols)
|
|
232
|
+
const symbols = Object.getOwnPropertySymbols(instance);
|
|
233
|
+
for (const sym of symbols) {
|
|
234
|
+
bindProperty(sym, instance[sym]);
|
|
235
|
+
}
|
|
236
|
+
// Store signals for cleanup
|
|
237
|
+
if (!instance._comSignals) {
|
|
238
|
+
instance._comSignals = [];
|
|
239
|
+
}
|
|
240
|
+
instance._comSignals.push(...signalsToCleanup);
|
|
241
|
+
}
|
|
242
|
+
/**
|
|
243
|
+
* Check if a value is a reactive primitive (signal, computed, effect, comState, or watch).
|
|
244
|
+
*/
|
|
245
|
+
function isReactivePrimitive(value) {
|
|
246
|
+
if (!value)
|
|
247
|
+
return false;
|
|
248
|
+
return (value[SIGNAL_SYMBOL] === true ||
|
|
249
|
+
value[COMPUTED_SYMBOL] === true ||
|
|
250
|
+
value[EFFECT_SYMBOL] === true ||
|
|
251
|
+
value[COM_SIGNAL_SYMBOL] !== undefined ||
|
|
252
|
+
value[WATCH_SIGNAL_SYMBOL] !== undefined ||
|
|
253
|
+
value[PROPS_SIGNAL_SYMBOL] !== undefined);
|
|
254
|
+
}
|
|
255
|
+
/**
|
|
256
|
+
* Cleans up all signals on a component instance.
|
|
257
|
+
* Called automatically in EngineComponent.onUnmount().
|
|
258
|
+
*
|
|
259
|
+
* Disposes all reactive primitives to prevent memory leaks:
|
|
260
|
+
* - signal() - clears subscribers
|
|
261
|
+
* - comState() - removes COM event listener, clears subscribers
|
|
262
|
+
* - watchComState() / watch() - removes COM event listener
|
|
263
|
+
* - computed() - unsubscribes from dependencies, clears subscribers
|
|
264
|
+
* - effect() - unsubscribes from dependencies, runs cleanup function
|
|
265
|
+
*/
|
|
266
|
+
export function cleanupSignals(instance) {
|
|
267
|
+
// Track what we've disposed to avoid double-dispose
|
|
268
|
+
const disposed = new Set();
|
|
269
|
+
const tryDispose = (value) => {
|
|
270
|
+
if (value && typeof value.dispose === "function" && !disposed.has(value)) {
|
|
271
|
+
if (isReactivePrimitive(value)) {
|
|
272
|
+
disposed.add(value);
|
|
273
|
+
value.dispose();
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
};
|
|
277
|
+
// Cleanup COM signals first (tracked separately)
|
|
278
|
+
if (instance._comSignals) {
|
|
279
|
+
for (const sig of instance._comSignals) {
|
|
280
|
+
tryDispose(sig);
|
|
281
|
+
}
|
|
282
|
+
instance._comSignals = [];
|
|
283
|
+
}
|
|
284
|
+
// Cleanup any reactive primitives on the instance (string keys)
|
|
285
|
+
for (const key of Object.getOwnPropertyNames(instance)) {
|
|
286
|
+
const value = instance[key];
|
|
287
|
+
// Signals/computeds are functions, effects are objects
|
|
288
|
+
if (value && (typeof value === "function" || typeof value === "object")) {
|
|
289
|
+
tryDispose(value);
|
|
290
|
+
}
|
|
291
|
+
}
|
|
292
|
+
// Also check symbol properties (for private fields)
|
|
293
|
+
const symbols = Object.getOwnPropertySymbols(instance);
|
|
294
|
+
for (const sym of symbols) {
|
|
295
|
+
const value = instance[sym];
|
|
296
|
+
if (value && (typeof value === "function" || typeof value === "object")) {
|
|
297
|
+
tryDispose(value);
|
|
298
|
+
}
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
/**
|
|
302
|
+
* Manually dispose a single signal.
|
|
303
|
+
* Use when you need to clean up a signal before component unmount.
|
|
304
|
+
*
|
|
305
|
+
* @example
|
|
306
|
+
* ```typescript
|
|
307
|
+
* class MyComponent extends Component {
|
|
308
|
+
* private tempData = signal<Data | null>(null);
|
|
309
|
+
*
|
|
310
|
+
* async loadData() {
|
|
311
|
+
* this.tempData.set(await fetchData());
|
|
312
|
+
* }
|
|
313
|
+
*
|
|
314
|
+
* clearData() {
|
|
315
|
+
* // Dispose signal before component unmounts
|
|
316
|
+
* disposeSignal(this.tempData);
|
|
317
|
+
* this.tempData = signal(null); // Create fresh signal if needed
|
|
318
|
+
* }
|
|
319
|
+
* }
|
|
320
|
+
* ```
|
|
321
|
+
*/
|
|
322
|
+
export function disposeSignal(sig) {
|
|
323
|
+
if (sig && typeof sig.dispose === "function") {
|
|
324
|
+
sig.dispose();
|
|
325
|
+
}
|
|
326
|
+
}
|
|
327
|
+
//# sourceMappingURL=use-state.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-state.js","sourceRoot":"","sources":["../../src/state/use-state.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAEH,OAAO,EACL,MAAM,EACN,oBAAoB,EACpB,4BAA4B,EAC5B,iBAAiB,EACjB,mBAAmB,EACnB,mBAAmB,EACnB,aAAa,EACb,eAAe,EACf,aAAa,GAGd,MAAM,UAAU,CAAC;AAGlB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,MAAM,UAAU,QAAQ,CAAI,GAAW,EAAE,YAAe;IACtD,4DAA4D;IAC5D,MAAM,GAAG,GAAG,MAAM,CAAI,YAAY,CAAC,CAAC;IAEpC,sCAAsC;IACrC,GAAW,CAAC,iBAAiB,CAAC,GAAG,GAAG,CAAC;IAEtC,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,UAAU,aAAa,CAAI,GAAW,EAAE,YAAgB;IAC5D,qDAAqD;IACrD,MAAM,WAAW,GAAG,MAAM,CAAgB,YAAY,CAAC,CAAC;IAExD,wCAAwC;IACvC,WAAmB,CAAC,mBAAmB,CAAC,GAAG,GAAG,CAAC;IAEhD,6DAA6D;IAC7D,OAAO,WAAuD,CAAC;AACjE,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,KAAK,CAAI,GAAW,EAAE,YAAgB;IACpD,OAAO,aAAa,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;AAC1C,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,MAAM,UAAU,KAAK,CACnB,YAAgB,EAChB,MAAyB;IAEzB,wDAAwD;IACxD,MAAM,GAAG,GAAG,MAAM,CAAgB,YAAY,CAAC,CAAC;IAEhD,8CAA8C;IAC9C,4EAA4E;IAC5E,6BAA6B;IAC5B,GAAW,CAAC,mBAAmB,CAAC,GAAG,MAAM,EAAE,GAAG,IAAI,IAAI,CAAC,CAAC,kCAAkC;IAE3F,kEAAkE;IAClE,OAAO,GAAoC,CAAC;AAC9C,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAAC,QAAa,EAAE,GAAQ;IACpD,MAAM,gBAAgB,GAAU,EAAE,CAAC;IAEnC,MAAM,YAAY,GAAG,CAAC,OAAwB,EAAE,KAAU,EAAE,EAAE;QAC5D,8BAA8B;QAC9B,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,UAAU,IAAK,KAAa,CAAC,iBAAiB,CAAC,EAAE,CAAC;YAC9E,MAAM,MAAM,GAAI,KAAa,CAAC,iBAAiB,CAAC,CAAC;YACjD,MAAM,YAAY,GAAG,KAAK,EAAE,CAAC;YAE7B,iCAAiC;YACjC,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;gBAClB,KAAK,CAAC,OAAO,EAAE,CAAC;YAClB,CAAC;YAED,gCAAgC;YAChC,MAAM,WAAW,GAAG,oBAAoB,CAAC,GAAU,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;YAC3E,QAAQ,CAAC,OAAO,CAAC,GAAG,WAAW,CAAC;YAChC,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACnC,OAAO;QACT,CAAC;QAED,iCAAiC;QACjC,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,UAAU,IAAK,KAAa,CAAC,mBAAmB,CAAC,EAAE,CAAC;YAChF,MAAM,MAAM,GAAI,KAAa,CAAC,mBAAmB,CAAC,CAAC;YACnD,MAAM,YAAY,GAAG,KAAK,EAAE,CAAC;YAE7B,iCAAiC;YACjC,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;gBAClB,KAAK,CAAC,OAAO,EAAE,CAAC;YAClB,CAAC;YAED,0CAA0C;YAC1C,MAAM,WAAW,GAAG,4BAA4B,CAAC,GAAU,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;YACnF,QAAQ,CAAC,OAAO,CAAC,GAAG,WAAW,CAAC;YAChC,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACrC,CAAC;IACH,CAAC,CAAC;IAEF,0DAA0D;IAC1D,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,mBAAmB,CAAC,QAAQ,CAAC,EAAE,CAAC;QACvD,YAAY,CAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;IACnC,CAAC;IAED,iEAAiE;IACjE,MAAM,OAAO,GAAG,MAAM,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IACvD,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;QAC1B,YAAY,CAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;IACnC,CAAC;IAED,4BAA4B;IAC5B,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;QAC1B,QAAQ,CAAC,WAAW,GAAG,EAAE,CAAC;IAC5B,CAAC;IACD,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,CAAC;AACjD,CAAC;AAED;;GAEG;AACH,SAAS,mBAAmB,CAAC,KAAU;IACrC,IAAI,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IAEzB,OAAO,CACJ,KAAa,CAAC,aAAa,CAAC,KAAK,IAAI;QACrC,KAAa,CAAC,eAAe,CAAC,KAAK,IAAI;QACvC,KAAa,CAAC,aAAa,CAAC,KAAK,IAAI;QACrC,KAAa,CAAC,iBAAiB,CAAC,KAAK,SAAS;QAC9C,KAAa,CAAC,mBAAmB,CAAC,KAAK,SAAS;QAChD,KAAa,CAAC,mBAAmB,CAAC,KAAK,SAAS,CAClD,CAAC;AACJ,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,cAAc,CAAC,QAAa;IAC1C,oDAAoD;IACpD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAO,CAAC;IAEhC,MAAM,UAAU,GAAG,CAAC,KAAU,EAAE,EAAE;QAChC,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,UAAU,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YACzE,IAAI,mBAAmB,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC/B,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACpB,KAAK,CAAC,OAAO,EAAE,CAAC;YAClB,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IAEF,iDAAiD;IACjD,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC;QACzB,KAAK,MAAM,GAAG,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC;YACvC,UAAU,CAAC,GAAG,CAAC,CAAC;QAClB,CAAC;QACD,QAAQ,CAAC,WAAW,GAAG,EAAE,CAAC;IAC5B,CAAC;IAED,gEAAgE;IAChE,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,mBAAmB,CAAC,QAAQ,CAAC,EAAE,CAAC;QACvD,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;QAC5B,uDAAuD;QACvD,IAAI,KAAK,IAAI,CAAC,OAAO,KAAK,KAAK,UAAU,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC,EAAE,CAAC;YACxE,UAAU,CAAC,KAAK,CAAC,CAAC;QACpB,CAAC;IACH,CAAC;IAED,oDAAoD;IACpD,MAAM,OAAO,GAAG,MAAM,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IACvD,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;QAC1B,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,KAAK,IAAI,CAAC,OAAO,KAAK,KAAK,UAAU,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC,EAAE,CAAC;YACxE,UAAU,CAAC,KAAK,CAAC,CAAC;QACpB,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,aAAa,CAAC,GAAgB;IAC5C,IAAI,GAAG,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;QAC7C,GAAG,CAAC,OAAO,EAAE,CAAC;IAChB,CAAC;AACH,CAAC"}
|