@pwfabric/runtime 0.0.0-stage → 1.0.0-rc.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/LICENSE +90 -0
- package/README.md +13 -2
- package/dist/__tests__/dom-test-setup.d.ts +21 -0
- package/dist/__tests__/dom-test-setup.d.ts.map +1 -0
- package/dist/__tests__/dom-test-setup.js +36 -0
- package/dist/__tests__/dom-test-setup.js.map +1 -0
- package/dist/a11y/announcer.d.ts +66 -0
- package/dist/a11y/announcer.d.ts.map +1 -0
- package/dist/a11y/announcer.js +140 -0
- package/dist/a11y/announcer.js.map +1 -0
- package/dist/a11y/contrast.d.ts +55 -0
- package/dist/a11y/contrast.d.ts.map +1 -0
- package/dist/a11y/contrast.js +93 -0
- package/dist/a11y/contrast.js.map +1 -0
- package/dist/a11y/focus.d.ts +124 -0
- package/dist/a11y/focus.d.ts.map +1 -0
- package/dist/a11y/focus.js +282 -0
- package/dist/a11y/focus.js.map +1 -0
- package/dist/a11y/index.d.ts +22 -0
- package/dist/a11y/index.d.ts.map +1 -0
- package/dist/a11y/index.js +18 -0
- package/dist/a11y/index.js.map +1 -0
- package/dist/a11y/keyboard.d.ts +145 -0
- package/dist/a11y/keyboard.d.ts.map +1 -0
- package/dist/a11y/keyboard.js +317 -0
- package/dist/a11y/keyboard.js.map +1 -0
- package/dist/adapters/default-image.d.ts +26 -0
- package/dist/adapters/default-image.d.ts.map +1 -0
- package/dist/adapters/default-image.js +37 -0
- package/dist/adapters/default-image.js.map +1 -0
- package/dist/adapters/index.d.ts +28 -0
- package/dist/adapters/index.d.ts.map +1 -0
- package/dist/adapters/index.js +28 -0
- package/dist/adapters/index.js.map +1 -0
- package/dist/adapters/next-image.d.ts +39 -0
- package/dist/adapters/next-image.d.ts.map +1 -0
- package/dist/adapters/next-image.js +124 -0
- package/dist/adapters/next-image.js.map +1 -0
- package/dist/adapters/types.d.ts +62 -0
- package/dist/adapters/types.d.ts.map +1 -0
- package/dist/adapters/types.js +11 -0
- package/dist/adapters/types.js.map +1 -0
- package/dist/analytics/index.d.ts +15 -0
- package/dist/analytics/index.d.ts.map +1 -0
- package/dist/analytics/index.js +15 -0
- package/dist/analytics/index.js.map +1 -0
- package/dist/analytics/tracker.d.ts +66 -0
- package/dist/analytics/tracker.d.ts.map +1 -0
- package/dist/analytics/tracker.js +251 -0
- package/dist/analytics/tracker.js.map +1 -0
- package/dist/analytics/types.d.ts +131 -0
- package/dist/analytics/types.d.ts.map +1 -0
- package/dist/analytics/types.js +11 -0
- package/dist/analytics/types.js.map +1 -0
- package/dist/auth/index.d.ts +16 -0
- package/dist/auth/index.d.ts.map +1 -0
- package/dist/auth/index.js +14 -0
- package/dist/auth/index.js.map +1 -0
- package/dist/auth/provider.d.ts +133 -0
- package/dist/auth/provider.d.ts.map +1 -0
- package/dist/auth/provider.js +473 -0
- package/dist/auth/provider.js.map +1 -0
- package/dist/auth/types.d.ts +118 -0
- package/dist/auth/types.d.ts.map +1 -0
- package/dist/auth/types.js +9 -0
- package/dist/auth/types.js.map +1 -0
- package/dist/binding/collection.d.ts +191 -0
- package/dist/binding/collection.d.ts.map +1 -0
- package/dist/binding/collection.js +358 -0
- package/dist/binding/collection.js.map +1 -0
- package/dist/binding/datasource.d.ts +320 -0
- package/dist/binding/datasource.d.ts.map +1 -0
- package/dist/binding/datasource.js +556 -0
- package/dist/binding/datasource.js.map +1 -0
- package/dist/binding/engine.d.ts +66 -0
- package/dist/binding/engine.d.ts.map +1 -0
- package/dist/binding/engine.js +268 -0
- package/dist/binding/engine.js.map +1 -0
- package/dist/binding/expression.d.ts +151 -0
- package/dist/binding/expression.d.ts.map +1 -0
- package/dist/binding/expression.js +787 -0
- package/dist/binding/expression.js.map +1 -0
- package/dist/binding/index.d.ts +20 -0
- package/dist/binding/index.d.ts.map +1 -0
- package/dist/binding/index.js +14 -0
- package/dist/binding/index.js.map +1 -0
- package/dist/binding/two-way.d.ts +150 -0
- package/dist/binding/two-way.d.ts.map +1 -0
- package/dist/binding/two-way.js +462 -0
- package/dist/binding/two-way.js.map +1 -0
- package/dist/binding/types.d.ts +120 -0
- package/dist/binding/types.d.ts.map +1 -0
- package/dist/binding/types.js +9 -0
- package/dist/binding/types.js.map +1 -0
- package/dist/blocks/__test-fixtures__/block-fixtures.d.ts +40 -0
- package/dist/blocks/__test-fixtures__/block-fixtures.d.ts.map +1 -0
- package/dist/blocks/__test-fixtures__/block-fixtures.js +506 -0
- package/dist/blocks/__test-fixtures__/block-fixtures.js.map +1 -0
- package/dist/blocks/component-types.d.ts +82 -0
- package/dist/blocks/component-types.d.ts.map +1 -0
- package/dist/blocks/component-types.js +11 -0
- package/dist/blocks/component-types.js.map +1 -0
- package/dist/blocks/composition-rules.d.ts +169 -0
- package/dist/blocks/composition-rules.d.ts.map +1 -0
- package/dist/blocks/composition-rules.js +391 -0
- package/dist/blocks/composition-rules.js.map +1 -0
- package/dist/blocks/hooks.d.ts +32 -0
- package/dist/blocks/hooks.d.ts.map +1 -0
- package/dist/blocks/hooks.js +42 -0
- package/dist/blocks/hooks.js.map +1 -0
- package/dist/blocks/index.d.ts +16 -0
- package/dist/blocks/index.d.ts.map +1 -0
- package/dist/blocks/index.js +24 -0
- package/dist/blocks/index.js.map +1 -0
- package/dist/blocks/registry.d.ts +85 -0
- package/dist/blocks/registry.d.ts.map +1 -0
- package/dist/blocks/registry.js +136 -0
- package/dist/blocks/registry.js.map +1 -0
- package/dist/blocks/rule-engine.d.ts +132 -0
- package/dist/blocks/rule-engine.d.ts.map +1 -0
- package/dist/blocks/rule-engine.js +321 -0
- package/dist/blocks/rule-engine.js.map +1 -0
- package/dist/blocks/surface-event-context.d.ts +14 -0
- package/dist/blocks/surface-event-context.d.ts.map +1 -0
- package/dist/blocks/surface-event-context.js +14 -0
- package/dist/blocks/surface-event-context.js.map +1 -0
- package/dist/blocks/surface-id-context.d.ts +14 -0
- package/dist/blocks/surface-id-context.d.ts.map +1 -0
- package/dist/blocks/surface-id-context.js +15 -0
- package/dist/blocks/surface-id-context.js.map +1 -0
- package/dist/bus.d.ts +42 -0
- package/dist/bus.d.ts.map +1 -0
- package/dist/bus.js +158 -0
- package/dist/bus.js.map +1 -0
- package/dist/cache/index.d.ts +10 -0
- package/dist/cache/index.d.ts.map +1 -0
- package/dist/cache/index.js +10 -0
- package/dist/cache/index.js.map +1 -0
- package/dist/cache/memory.d.ts +33 -0
- package/dist/cache/memory.d.ts.map +1 -0
- package/dist/cache/memory.js +138 -0
- package/dist/cache/memory.js.map +1 -0
- package/dist/cache/types.d.ts +63 -0
- package/dist/cache/types.d.ts.map +1 -0
- package/dist/cache/types.js +9 -0
- package/dist/cache/types.js.map +1 -0
- package/dist/capability/index.d.ts +73 -0
- package/dist/capability/index.d.ts.map +1 -0
- package/dist/capability/index.js +87 -0
- package/dist/capability/index.js.map +1 -0
- package/dist/capability/kernel-capabilities.d.ts +32 -0
- package/dist/capability/kernel-capabilities.d.ts.map +1 -0
- package/dist/capability/kernel-capabilities.js +36 -0
- package/dist/capability/kernel-capabilities.js.map +1 -0
- package/dist/capability/platform-capabilities.d.ts +72 -0
- package/dist/capability/platform-capabilities.d.ts.map +1 -0
- package/dist/capability/platform-capabilities.js +267 -0
- package/dist/capability/platform-capabilities.js.map +1 -0
- package/dist/capability/type-mapping.d.ts +71 -0
- package/dist/capability/type-mapping.d.ts.map +1 -0
- package/dist/capability/type-mapping.js +107 -0
- package/dist/capability/type-mapping.js.map +1 -0
- package/dist/capability/validation.d.ts +47 -0
- package/dist/capability/validation.d.ts.map +1 -0
- package/dist/capability/validation.js +54 -0
- package/dist/capability/validation.js.map +1 -0
- package/dist/connectors/declared-connector.d.ts +49 -0
- package/dist/connectors/declared-connector.d.ts.map +1 -0
- package/dist/connectors/declared-connector.js +333 -0
- package/dist/connectors/declared-connector.js.map +1 -0
- package/dist/connectors/engine-registry.d.ts +51 -0
- package/dist/connectors/engine-registry.d.ts.map +1 -0
- package/dist/connectors/engine-registry.js +135 -0
- package/dist/connectors/engine-registry.js.map +1 -0
- package/dist/connectors/index.d.ts +15 -0
- package/dist/connectors/index.d.ts.map +1 -0
- package/dist/connectors/index.js +14 -0
- package/dist/connectors/index.js.map +1 -0
- package/dist/connectors/module-loader.d.ts +71 -0
- package/dist/connectors/module-loader.d.ts.map +1 -0
- package/dist/connectors/module-loader.js +143 -0
- package/dist/connectors/module-loader.js.map +1 -0
- package/dist/connectors/types.d.ts +175 -0
- package/dist/connectors/types.d.ts.map +1 -0
- package/dist/connectors/types.js +23 -0
- package/dist/connectors/types.js.map +1 -0
- package/dist/context.d.ts +28 -0
- package/dist/context.d.ts.map +1 -0
- package/dist/context.js +38 -0
- package/dist/context.js.map +1 -0
- package/dist/data/DataCapabilityProvider.d.ts +40 -0
- package/dist/data/DataCapabilityProvider.d.ts.map +1 -0
- package/dist/data/DataCapabilityProvider.js +58 -0
- package/dist/data/DataCapabilityProvider.js.map +1 -0
- package/dist/data/index.d.ts +18 -0
- package/dist/data/index.d.ts.map +1 -0
- package/dist/data/index.js +18 -0
- package/dist/data/index.js.map +1 -0
- package/dist/data/manager.d.ts +41 -0
- package/dist/data/manager.d.ts.map +1 -0
- package/dist/data/manager.js +442 -0
- package/dist/data/manager.js.map +1 -0
- package/dist/data/types.d.ts +219 -0
- package/dist/data/types.d.ts.map +1 -0
- package/dist/data/types.js +2 -0
- package/dist/data/types.js.map +1 -0
- package/dist/entity/aggregate.d.ts +9 -0
- package/dist/entity/aggregate.d.ts.map +1 -0
- package/dist/entity/aggregate.js +24 -0
- package/dist/entity/aggregate.js.map +1 -0
- package/dist/entity/apply-query.d.ts +59 -0
- package/dist/entity/apply-query.d.ts.map +1 -0
- package/dist/entity/apply-query.js +264 -0
- package/dist/entity/apply-query.js.map +1 -0
- package/dist/entity/behavior.d.ts +95 -0
- package/dist/entity/behavior.d.ts.map +1 -0
- package/dist/entity/behavior.js +78 -0
- package/dist/entity/behavior.js.map +1 -0
- package/dist/entity/connector.d.ts +142 -0
- package/dist/entity/connector.d.ts.map +1 -0
- package/dist/entity/connector.js +89 -0
- package/dist/entity/connector.js.map +1 -0
- package/dist/entity/connectors/index.d.ts +13 -0
- package/dist/entity/connectors/index.d.ts.map +1 -0
- package/dist/entity/connectors/index.js +11 -0
- package/dist/entity/connectors/index.js.map +1 -0
- package/dist/entity/connectors/static.d.ts +52 -0
- package/dist/entity/connectors/static.d.ts.map +1 -0
- package/dist/entity/connectors/static.js +245 -0
- package/dist/entity/connectors/static.js.map +1 -0
- package/dist/entity/entity-datasource.d.ts +51 -0
- package/dist/entity/entity-datasource.d.ts.map +1 -0
- package/dist/entity/entity-datasource.js +33 -0
- package/dist/entity/entity-datasource.js.map +1 -0
- package/dist/entity/facade.d.ts +71 -0
- package/dist/entity/facade.d.ts.map +1 -0
- package/dist/entity/facade.js +70 -0
- package/dist/entity/facade.js.map +1 -0
- package/dist/entity/http-connector.d.ts +124 -0
- package/dist/entity/http-connector.d.ts.map +1 -0
- package/dist/entity/http-connector.js +295 -0
- package/dist/entity/http-connector.js.map +1 -0
- package/dist/entity/index.d.ts +39 -0
- package/dist/entity/index.d.ts.map +1 -0
- package/dist/entity/index.js +31 -0
- package/dist/entity/index.js.map +1 -0
- package/dist/entity/postgres-connector.d.ts +65 -0
- package/dist/entity/postgres-connector.d.ts.map +1 -0
- package/dist/entity/postgres-connector.js +239 -0
- package/dist/entity/postgres-connector.js.map +1 -0
- package/dist/entity/registry.d.ts +60 -0
- package/dist/entity/registry.d.ts.map +1 -0
- package/dist/entity/registry.js +90 -0
- package/dist/entity/registry.js.map +1 -0
- package/dist/entity/store.d.ts +67 -0
- package/dist/entity/store.d.ts.map +1 -0
- package/dist/entity/store.js +349 -0
- package/dist/entity/store.js.map +1 -0
- package/dist/entity/types.d.ts +181 -0
- package/dist/entity/types.d.ts.map +1 -0
- package/dist/entity/types.js +10 -0
- package/dist/entity/types.js.map +1 -0
- package/dist/execution-context.d.ts +89 -0
- package/dist/execution-context.d.ts.map +1 -0
- package/dist/execution-context.js +146 -0
- package/dist/execution-context.js.map +1 -0
- package/dist/executor.d.ts +28 -0
- package/dist/executor.d.ts.map +1 -0
- package/dist/executor.js +33 -0
- package/dist/executor.js.map +1 -0
- package/dist/forms/form-entity-bridge.d.ts +95 -0
- package/dist/forms/form-entity-bridge.d.ts.map +1 -0
- package/dist/forms/form-entity-bridge.js +96 -0
- package/dist/forms/form-entity-bridge.js.map +1 -0
- package/dist/forms/form-write-target.d.ts +35 -0
- package/dist/forms/form-write-target.d.ts.map +1 -0
- package/dist/forms/form-write-target.js +81 -0
- package/dist/forms/form-write-target.js.map +1 -0
- package/dist/forms/index.d.ts +23 -0
- package/dist/forms/index.d.ts.map +1 -0
- package/dist/forms/index.js +25 -0
- package/dist/forms/index.js.map +1 -0
- package/dist/forms/named-control-values.d.ts +28 -0
- package/dist/forms/named-control-values.d.ts.map +1 -0
- package/dist/forms/named-control-values.js +42 -0
- package/dist/forms/named-control-values.js.map +1 -0
- package/dist/forms/processor.d.ts +56 -0
- package/dist/forms/processor.d.ts.map +1 -0
- package/dist/forms/processor.js +154 -0
- package/dist/forms/processor.js.map +1 -0
- package/dist/forms/types.d.ts +175 -0
- package/dist/forms/types.d.ts.map +1 -0
- package/dist/forms/types.js +33 -0
- package/dist/forms/types.js.map +1 -0
- package/dist/forms/validator.d.ts +62 -0
- package/dist/forms/validator.d.ts.map +1 -0
- package/dist/forms/validator.js +218 -0
- package/dist/forms/validator.js.map +1 -0
- package/dist/graph/index.d.ts +11 -0
- package/dist/graph/index.d.ts.map +1 -0
- package/dist/graph/index.js +9 -0
- package/dist/graph/index.js.map +1 -0
- package/dist/graph/resolver.d.ts +67 -0
- package/dist/graph/resolver.d.ts.map +1 -0
- package/dist/graph/resolver.js +243 -0
- package/dist/graph/resolver.js.map +1 -0
- package/dist/graph/types.d.ts +126 -0
- package/dist/graph/types.d.ts.map +1 -0
- package/dist/graph/types.js +9 -0
- package/dist/graph/types.js.map +1 -0
- package/dist/hooks/useInstalledAtoms.d.ts +97 -0
- package/dist/hooks/useInstalledAtoms.d.ts.map +1 -0
- package/dist/hooks/useInstalledAtoms.js +92 -0
- package/dist/hooks/useInstalledAtoms.js.map +1 -0
- package/dist/i18n/index.d.ts +16 -0
- package/dist/i18n/index.d.ts.map +1 -0
- package/dist/i18n/index.js +14 -0
- package/dist/i18n/index.js.map +1 -0
- package/dist/i18n/translator.d.ts +77 -0
- package/dist/i18n/translator.d.ts.map +1 -0
- package/dist/i18n/translator.js +357 -0
- package/dist/i18n/translator.js.map +1 -0
- package/dist/i18n/types.d.ts +94 -0
- package/dist/i18n/types.d.ts.map +1 -0
- package/dist/i18n/types.js +9 -0
- package/dist/i18n/types.js.map +1 -0
- package/dist/index.d.ts +65 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +95 -0
- package/dist/index.js.map +1 -0
- package/dist/kernel.d.ts +48 -0
- package/dist/kernel.d.ts.map +1 -0
- package/dist/kernel.js +258 -0
- package/dist/kernel.js.map +1 -0
- package/dist/perf/budget.d.ts +93 -0
- package/dist/perf/budget.d.ts.map +1 -0
- package/dist/perf/budget.js +122 -0
- package/dist/perf/budget.js.map +1 -0
- package/dist/perf/index.d.ts +17 -0
- package/dist/perf/index.d.ts.map +1 -0
- package/dist/perf/index.js +13 -0
- package/dist/perf/index.js.map +1 -0
- package/dist/perf/render-timer.d.ts +91 -0
- package/dist/perf/render-timer.d.ts.map +1 -0
- package/dist/perf/render-timer.js +136 -0
- package/dist/perf/render-timer.js.map +1 -0
- package/dist/perf/reporter.d.ts +127 -0
- package/dist/perf/reporter.d.ts.map +1 -0
- package/dist/perf/reporter.js +241 -0
- package/dist/perf/reporter.js.map +1 -0
- package/dist/perf/web-vitals.d.ts +112 -0
- package/dist/perf/web-vitals.d.ts.map +1 -0
- package/dist/perf/web-vitals.js +268 -0
- package/dist/perf/web-vitals.js.map +1 -0
- package/dist/registry.d.ts +64 -0
- package/dist/registry.d.ts.map +1 -0
- package/dist/registry.js +126 -0
- package/dist/registry.js.map +1 -0
- package/dist/render/BehaviorSurfaceProvider.d.ts +66 -0
- package/dist/render/BehaviorSurfaceProvider.d.ts.map +1 -0
- package/dist/render/BehaviorSurfaceProvider.js +185 -0
- package/dist/render/BehaviorSurfaceProvider.js.map +1 -0
- package/dist/render/BlockErrorBoundary.d.ts +27 -0
- package/dist/render/BlockErrorBoundary.d.ts.map +1 -0
- package/dist/render/BlockErrorBoundary.js +41 -0
- package/dist/render/BlockErrorBoundary.js.map +1 -0
- package/dist/render/DataBoundSurfaceRenderer.d.ts +79 -0
- package/dist/render/DataBoundSurfaceRenderer.d.ts.map +1 -0
- package/dist/render/DataBoundSurfaceRenderer.js +998 -0
- package/dist/render/DataBoundSurfaceRenderer.js.map +1 -0
- package/dist/render/DynamicBlockWrapper.d.ts +24 -0
- package/dist/render/DynamicBlockWrapper.d.ts.map +1 -0
- package/dist/render/DynamicBlockWrapper.js +117 -0
- package/dist/render/DynamicBlockWrapper.js.map +1 -0
- package/dist/render/appearance-resolver.d.ts +51 -0
- package/dist/render/appearance-resolver.d.ts.map +1 -0
- package/dist/render/appearance-resolver.js +78 -0
- package/dist/render/appearance-resolver.js.map +1 -0
- package/dist/render/capability-gate.d.ts +70 -0
- package/dist/render/capability-gate.d.ts.map +1 -0
- package/dist/render/capability-gate.js +94 -0
- package/dist/render/capability-gate.js.map +1 -0
- package/dist/render/conditional-states-css.d.ts +42 -0
- package/dist/render/conditional-states-css.d.ts.map +1 -0
- package/dist/render/conditional-states-css.js +82 -0
- package/dist/render/conditional-states-css.js.map +1 -0
- package/dist/render/connections-context.d.ts +32 -0
- package/dist/render/connections-context.d.ts.map +1 -0
- package/dist/render/connections-context.js +34 -0
- package/dist/render/connections-context.js.map +1 -0
- package/dist/render/dark-theme-css.d.ts +37 -0
- package/dist/render/dark-theme-css.d.ts.map +1 -0
- package/dist/render/dark-theme-css.js +67 -0
- package/dist/render/dark-theme-css.js.map +1 -0
- package/dist/render/data-binding-types.d.ts +192 -0
- package/dist/render/data-binding-types.d.ts.map +1 -0
- package/dist/render/data-binding-types.js +11 -0
- package/dist/render/data-binding-types.js.map +1 -0
- package/dist/render/data-cache.d.ts +31 -0
- package/dist/render/data-cache.d.ts.map +1 -0
- package/dist/render/data-cache.js +37 -0
- package/dist/render/data-cache.js.map +1 -0
- package/dist/render/derive-dark-theme.d.ts +18 -0
- package/dist/render/derive-dark-theme.d.ts.map +1 -0
- package/dist/render/derive-dark-theme.js +18 -0
- package/dist/render/derive-dark-theme.js.map +1 -0
- package/dist/render/dynamic-artifact-context.d.ts +78 -0
- package/dist/render/dynamic-artifact-context.d.ts.map +1 -0
- package/dist/render/dynamic-artifact-context.js +89 -0
- package/dist/render/dynamic-artifact-context.js.map +1 -0
- package/dist/render/dynamic-block-loader.d.ts +81 -0
- package/dist/render/dynamic-block-loader.d.ts.map +1 -0
- package/dist/render/dynamic-block-loader.js +197 -0
- package/dist/render/dynamic-block-loader.js.map +1 -0
- package/dist/render/endpoint.d.ts +19 -0
- package/dist/render/endpoint.d.ts.map +1 -0
- package/dist/render/endpoint.js +109 -0
- package/dist/render/endpoint.js.map +1 -0
- package/dist/render/entity-facade-context.d.ts +35 -0
- package/dist/render/entity-facade-context.d.ts.map +1 -0
- package/dist/render/entity-facade-context.js +37 -0
- package/dist/render/entity-facade-context.js.map +1 -0
- package/dist/render/group-states-css.d.ts +42 -0
- package/dist/render/group-states-css.d.ts.map +1 -0
- package/dist/render/group-states-css.js +73 -0
- package/dist/render/group-states-css.js.map +1 -0
- package/dist/render/hooks/useSurfaceEvents.d.ts +9 -0
- package/dist/render/hooks/useSurfaceEvents.d.ts.map +1 -0
- package/dist/render/hooks/useSurfaceEvents.js +9 -0
- package/dist/render/hooks/useSurfaceEvents.js.map +1 -0
- package/dist/render/hooks/useSurfaceId.d.ts +9 -0
- package/dist/render/hooks/useSurfaceId.d.ts.map +1 -0
- package/dist/render/hooks/useSurfaceId.js +9 -0
- package/dist/render/hooks/useSurfaceId.js.map +1 -0
- package/dist/render/index.d.ts +49 -0
- package/dist/render/index.d.ts.map +1 -0
- package/dist/render/index.js +61 -0
- package/dist/render/index.js.map +1 -0
- package/dist/render/interaction-rule-engine.d.ts +13 -0
- package/dist/render/interaction-rule-engine.d.ts.map +1 -0
- package/dist/render/interaction-rule-engine.js +47 -0
- package/dist/render/interaction-rule-engine.js.map +1 -0
- package/dist/render/keyframes-css.d.ts +32 -0
- package/dist/render/keyframes-css.d.ts.map +1 -0
- package/dist/render/keyframes-css.js +44 -0
- package/dist/render/keyframes-css.js.map +1 -0
- package/dist/render/query-state.d.ts +4 -0
- package/dist/render/query-state.d.ts.map +1 -0
- package/dist/render/query-state.js +70 -0
- package/dist/render/query-state.js.map +1 -0
- package/dist/render/renderer.d.ts +45 -0
- package/dist/render/renderer.d.ts.map +1 -0
- package/dist/render/renderer.js +937 -0
- package/dist/render/renderer.js.map +1 -0
- package/dist/render/resolve-expressions.d.ts +38 -0
- package/dist/render/resolve-expressions.d.ts.map +1 -0
- package/dist/render/resolve-expressions.js +309 -0
- package/dist/render/resolve-expressions.js.map +1 -0
- package/dist/render/responsive-style-css.d.ts +43 -0
- package/dist/render/responsive-style-css.d.ts.map +1 -0
- package/dist/render/responsive-style-css.js +123 -0
- package/dist/render/responsive-style-css.js.map +1 -0
- package/dist/render/responsive.d.ts +50 -0
- package/dist/render/responsive.d.ts.map +1 -0
- package/dist/render/responsive.js +99 -0
- package/dist/render/responsive.js.map +1 -0
- package/dist/render/scoped-css.d.ts +72 -0
- package/dist/render/scoped-css.d.ts.map +1 -0
- package/dist/render/scoped-css.js +102 -0
- package/dist/render/scoped-css.js.map +1 -0
- package/dist/render/shell-selection.d.ts +70 -0
- package/dist/render/shell-selection.d.ts.map +1 -0
- package/dist/render/shell-selection.js +117 -0
- package/dist/render/shell-selection.js.map +1 -0
- package/dist/render/states-css.d.ts +33 -0
- package/dist/render/states-css.d.ts.map +1 -0
- package/dist/render/states-css.js +63 -0
- package/dist/render/states-css.js.map +1 -0
- package/dist/render/surface-data-context.d.ts +19 -0
- package/dist/render/surface-data-context.d.ts.map +1 -0
- package/dist/render/surface-data-context.js +21 -0
- package/dist/render/surface-data-context.js.map +1 -0
- package/dist/render/surface-event-bus.d.ts +20 -0
- package/dist/render/surface-event-bus.d.ts.map +1 -0
- package/dist/render/surface-event-bus.js +68 -0
- package/dist/render/surface-event-bus.js.map +1 -0
- package/dist/render/surface-event-context.d.ts +12 -0
- package/dist/render/surface-event-context.d.ts.map +1 -0
- package/dist/render/surface-event-context.js +12 -0
- package/dist/render/surface-event-context.js.map +1 -0
- package/dist/render/surface-id-context.d.ts +9 -0
- package/dist/render/surface-id-context.d.ts.map +1 -0
- package/dist/render/surface-id-context.js +9 -0
- package/dist/render/surface-id-context.js.map +1 -0
- package/dist/render/theme-utils.d.ts +15 -0
- package/dist/render/theme-utils.d.ts.map +1 -0
- package/dist/render/theme-utils.js +15 -0
- package/dist/render/theme-utils.js.map +1 -0
- package/dist/render/types.d.ts +283 -0
- package/dist/render/types.d.ts.map +1 -0
- package/dist/render/types.js +9 -0
- package/dist/render/types.js.map +1 -0
- package/dist/render/visibility-css.d.ts +43 -0
- package/dist/render/visibility-css.d.ts.map +1 -0
- package/dist/render/visibility-css.js +119 -0
- package/dist/render/visibility-css.js.map +1 -0
- package/dist/render/width-scope.d.ts +35 -0
- package/dist/render/width-scope.d.ts.map +1 -0
- package/dist/render/width-scope.js +44 -0
- package/dist/render/width-scope.js.map +1 -0
- package/dist/render/write-only-sources.d.ts +34 -0
- package/dist/render/write-only-sources.d.ts.map +1 -0
- package/dist/render/write-only-sources.js +99 -0
- package/dist/render/write-only-sources.js.map +1 -0
- package/dist/routing/index.d.ts +15 -0
- package/dist/routing/index.d.ts.map +1 -0
- package/dist/routing/index.js +15 -0
- package/dist/routing/index.js.map +1 -0
- package/dist/routing/router.d.ts +43 -0
- package/dist/routing/router.d.ts.map +1 -0
- package/dist/routing/router.js +218 -0
- package/dist/routing/router.js.map +1 -0
- package/dist/routing/types.d.ts +125 -0
- package/dist/routing/types.d.ts.map +1 -0
- package/dist/routing/types.js +9 -0
- package/dist/routing/types.js.map +1 -0
- package/dist/seo/generator.d.ts +40 -0
- package/dist/seo/generator.d.ts.map +1 -0
- package/dist/seo/generator.js +236 -0
- package/dist/seo/generator.js.map +1 -0
- package/dist/seo/index.d.ts +15 -0
- package/dist/seo/index.d.ts.map +1 -0
- package/dist/seo/index.js +15 -0
- package/dist/seo/index.js.map +1 -0
- package/dist/seo/types.d.ts +182 -0
- package/dist/seo/types.d.ts.map +1 -0
- package/dist/seo/types.js +9 -0
- package/dist/seo/types.js.map +1 -0
- package/dist/state/index.d.ts +16 -0
- package/dist/state/index.d.ts.map +1 -0
- package/dist/state/index.js +16 -0
- package/dist/state/index.js.map +1 -0
- package/dist/state/manager.d.ts +34 -0
- package/dist/state/manager.d.ts.map +1 -0
- package/dist/state/manager.js +81 -0
- package/dist/state/manager.js.map +1 -0
- package/dist/state/store.d.ts +41 -0
- package/dist/state/store.d.ts.map +1 -0
- package/dist/state/store.js +145 -0
- package/dist/state/store.js.map +1 -0
- package/dist/state/types.d.ts +108 -0
- package/dist/state/types.d.ts.map +1 -0
- package/dist/state/types.js +9 -0
- package/dist/state/types.js.map +1 -0
- package/dist/surface/expression.d.ts +66 -0
- package/dist/surface/expression.d.ts.map +1 -0
- package/dist/surface/expression.js +179 -0
- package/dist/surface/expression.js.map +1 -0
- package/dist/surface/index.d.ts +33 -0
- package/dist/surface/index.d.ts.map +1 -0
- package/dist/surface/index.js +25 -0
- package/dist/surface/index.js.map +1 -0
- package/dist/surface/interpreter.d.ts +97 -0
- package/dist/surface/interpreter.d.ts.map +1 -0
- package/dist/surface/interpreter.js +231 -0
- package/dist/surface/interpreter.js.map +1 -0
- package/dist/surface/layout.d.ts +55 -0
- package/dist/surface/layout.d.ts.map +1 -0
- package/dist/surface/layout.js +288 -0
- package/dist/surface/layout.js.map +1 -0
- package/dist/surface/output.d.ts +91 -0
- package/dist/surface/output.d.ts.map +1 -0
- package/dist/surface/output.js +104 -0
- package/dist/surface/output.js.map +1 -0
- package/dist/surface/primitives.d.ts +181 -0
- package/dist/surface/primitives.d.ts.map +1 -0
- package/dist/surface/primitives.js +339 -0
- package/dist/surface/primitives.js.map +1 -0
- package/dist/surface/renderer.d.ts +97 -0
- package/dist/surface/renderer.d.ts.map +1 -0
- package/dist/surface/renderer.js +190 -0
- package/dist/surface/renderer.js.map +1 -0
- package/dist/surface/schemas.d.ts +182 -0
- package/dist/surface/schemas.d.ts.map +1 -0
- package/dist/surface/schemas.js +142 -0
- package/dist/surface/schemas.js.map +1 -0
- package/dist/surface/transforms.d.ts +145 -0
- package/dist/surface/transforms.d.ts.map +1 -0
- package/dist/surface/transforms.js +120 -0
- package/dist/surface/transforms.js.map +1 -0
- package/dist/surface/types.d.ts +161 -0
- package/dist/surface/types.d.ts.map +1 -0
- package/dist/surface/types.js +51 -0
- package/dist/surface/types.js.map +1 -0
- package/dist/surface/validation.d.ts +124 -0
- package/dist/surface/validation.d.ts.map +1 -0
- package/dist/surface/validation.js +147 -0
- package/dist/surface/validation.js.map +1 -0
- package/dist/validator.d.ts +56 -0
- package/dist/validator.d.ts.map +1 -0
- package/dist/validator.js +100 -0
- package/dist/validator.js.map +1 -0
- package/package.json +105 -3
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SEO Capability Module
|
|
3
|
+
*
|
|
4
|
+
* Meta tag generation, structured data, and Open Graph tags
|
|
5
|
+
*
|
|
6
|
+
* Exports:
|
|
7
|
+
* - Types: MetaTagInput, StructuredDataInput, OpenGraphInput, SeoCapability, etc.
|
|
8
|
+
* - Implementations: DefaultSeoCapability
|
|
9
|
+
* - Factory functions: createSeoCapability
|
|
10
|
+
*
|
|
11
|
+
* @module @pwfabric/runtime/seo
|
|
12
|
+
*/
|
|
13
|
+
export type { MetaTag, MetaTagInput, MetaTagOutput, LinkTag, StructuredDataType, StructuredDataInput, PersonInput, OrganizationInput, BreadcrumbInput, FaqInput, StructuredDataOutput, OpenGraphType, OpenGraphInput, OpenGraphArticle, TwitterCardInput, OpenGraphOutput, SeoCapability, SeoConfig, SeoOutput, } from './types.js';
|
|
14
|
+
export { DefaultSeoCapability, createSeoCapability } from './generator.js';
|
|
15
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/seo/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,YAAY,EACV,OAAO,EACP,YAAY,EACZ,aAAa,EACb,OAAO,EACP,kBAAkB,EAClB,mBAAmB,EACnB,WAAW,EACX,iBAAiB,EACjB,eAAe,EACf,QAAQ,EACR,oBAAoB,EACpB,aAAa,EACb,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,aAAa,EACb,SAAS,EACT,SAAS,GACV,MAAM,YAAY,CAAA;AAGnB,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAA"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SEO Capability Module
|
|
3
|
+
*
|
|
4
|
+
* Meta tag generation, structured data, and Open Graph tags
|
|
5
|
+
*
|
|
6
|
+
* Exports:
|
|
7
|
+
* - Types: MetaTagInput, StructuredDataInput, OpenGraphInput, SeoCapability, etc.
|
|
8
|
+
* - Implementations: DefaultSeoCapability
|
|
9
|
+
* - Factory functions: createSeoCapability
|
|
10
|
+
*
|
|
11
|
+
* @module @pwfabric/runtime/seo
|
|
12
|
+
*/
|
|
13
|
+
// Implementations
|
|
14
|
+
export { DefaultSeoCapability, createSeoCapability } from './generator.js';
|
|
15
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/seo/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAyBH,kBAAkB;AAClB,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAA"}
|
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SEO Capability Types
|
|
3
|
+
*
|
|
4
|
+
* Meta tag generation, structured data, and Open Graph tags
|
|
5
|
+
*
|
|
6
|
+
* @module @pwfabric/runtime/seo/types
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Meta tag definition
|
|
10
|
+
*/
|
|
11
|
+
export interface MetaTag {
|
|
12
|
+
readonly name?: string;
|
|
13
|
+
readonly property?: string;
|
|
14
|
+
readonly httpEquiv?: string;
|
|
15
|
+
readonly content: string;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Input for generating meta tags
|
|
19
|
+
*/
|
|
20
|
+
export interface MetaTagInput {
|
|
21
|
+
readonly title: string;
|
|
22
|
+
readonly description?: string;
|
|
23
|
+
readonly keywords?: readonly string[];
|
|
24
|
+
readonly author?: string;
|
|
25
|
+
readonly robots?: string;
|
|
26
|
+
readonly canonical?: string;
|
|
27
|
+
readonly viewport?: string;
|
|
28
|
+
readonly charset?: string;
|
|
29
|
+
readonly custom?: readonly MetaTag[];
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Generated meta tag output (serializable for SSR)
|
|
33
|
+
*/
|
|
34
|
+
export interface MetaTagOutput {
|
|
35
|
+
readonly title: string;
|
|
36
|
+
readonly meta: readonly MetaTag[];
|
|
37
|
+
readonly link: readonly LinkTag[];
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Link tag definition
|
|
41
|
+
*/
|
|
42
|
+
export interface LinkTag {
|
|
43
|
+
readonly rel: string;
|
|
44
|
+
readonly href: string;
|
|
45
|
+
readonly type?: string;
|
|
46
|
+
readonly hreflang?: string;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* JSON-LD structured data type
|
|
50
|
+
*/
|
|
51
|
+
export type StructuredDataType = 'WebSite' | 'WebPage' | 'Article' | 'Organization' | 'Person' | 'BreadcrumbList' | 'FAQPage' | 'Product' | 'LocalBusiness' | string;
|
|
52
|
+
/**
|
|
53
|
+
* Input for generating structured data
|
|
54
|
+
*/
|
|
55
|
+
export interface StructuredDataInput {
|
|
56
|
+
readonly type: StructuredDataType;
|
|
57
|
+
readonly name: string;
|
|
58
|
+
readonly description?: string;
|
|
59
|
+
readonly url?: string;
|
|
60
|
+
readonly image?: string | readonly string[];
|
|
61
|
+
readonly datePublished?: string;
|
|
62
|
+
readonly dateModified?: string;
|
|
63
|
+
readonly author?: PersonInput | OrganizationInput;
|
|
64
|
+
readonly publisher?: OrganizationInput;
|
|
65
|
+
readonly breadcrumbs?: readonly BreadcrumbInput[];
|
|
66
|
+
readonly faq?: readonly FaqInput[];
|
|
67
|
+
readonly custom?: Readonly<Record<string, unknown>>;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Person input for structured data
|
|
71
|
+
*/
|
|
72
|
+
export interface PersonInput {
|
|
73
|
+
readonly type: 'Person';
|
|
74
|
+
readonly name: string;
|
|
75
|
+
readonly url?: string;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Organization input for structured data
|
|
79
|
+
*/
|
|
80
|
+
export interface OrganizationInput {
|
|
81
|
+
readonly type: 'Organization';
|
|
82
|
+
readonly name: string;
|
|
83
|
+
readonly url?: string;
|
|
84
|
+
readonly logo?: string;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Breadcrumb input
|
|
88
|
+
*/
|
|
89
|
+
export interface BreadcrumbInput {
|
|
90
|
+
readonly name: string;
|
|
91
|
+
readonly url: string;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* FAQ input
|
|
95
|
+
*/
|
|
96
|
+
export interface FaqInput {
|
|
97
|
+
readonly question: string;
|
|
98
|
+
readonly answer: string;
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Generated JSON-LD output (serializable)
|
|
102
|
+
*/
|
|
103
|
+
export interface StructuredDataOutput {
|
|
104
|
+
readonly script: string;
|
|
105
|
+
readonly data: Readonly<Record<string, unknown>>;
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Open Graph type
|
|
109
|
+
*/
|
|
110
|
+
export type OpenGraphType = 'website' | 'article' | 'profile' | 'video' | 'music' | string;
|
|
111
|
+
/**
|
|
112
|
+
* Input for generating Open Graph tags
|
|
113
|
+
*/
|
|
114
|
+
export interface OpenGraphInput {
|
|
115
|
+
readonly title: string;
|
|
116
|
+
readonly description?: string;
|
|
117
|
+
readonly url?: string;
|
|
118
|
+
readonly image?: string;
|
|
119
|
+
readonly imageWidth?: number;
|
|
120
|
+
readonly imageHeight?: number;
|
|
121
|
+
readonly imageAlt?: string;
|
|
122
|
+
readonly type?: OpenGraphType;
|
|
123
|
+
readonly siteName?: string;
|
|
124
|
+
readonly locale?: string;
|
|
125
|
+
readonly localeAlternates?: readonly string[];
|
|
126
|
+
readonly article?: OpenGraphArticle;
|
|
127
|
+
readonly twitter?: TwitterCardInput;
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Article-specific Open Graph data
|
|
131
|
+
*/
|
|
132
|
+
export interface OpenGraphArticle {
|
|
133
|
+
readonly publishedTime?: string;
|
|
134
|
+
readonly modifiedTime?: string;
|
|
135
|
+
readonly author?: string;
|
|
136
|
+
readonly section?: string;
|
|
137
|
+
readonly tags?: readonly string[];
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Twitter card input
|
|
141
|
+
*/
|
|
142
|
+
export interface TwitterCardInput {
|
|
143
|
+
readonly card?: 'summary' | 'summary_large_image' | 'app' | 'player';
|
|
144
|
+
readonly site?: string;
|
|
145
|
+
readonly creator?: string;
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* Generated Open Graph output (serializable)
|
|
149
|
+
*/
|
|
150
|
+
export interface OpenGraphOutput {
|
|
151
|
+
readonly meta: readonly MetaTag[];
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* SEO capability interface for generating SEO-related markup
|
|
155
|
+
*/
|
|
156
|
+
export interface SeoCapability {
|
|
157
|
+
/** Generate meta tags from input */
|
|
158
|
+
generateMetaTags(input: MetaTagInput): MetaTagOutput;
|
|
159
|
+
/** Generate JSON-LD structured data */
|
|
160
|
+
generateStructuredData(input: StructuredDataInput): StructuredDataOutput;
|
|
161
|
+
/** Generate Open Graph (and Twitter card) tags */
|
|
162
|
+
generateOpenGraph(input: OpenGraphInput): OpenGraphOutput;
|
|
163
|
+
/** Combine all SEO outputs into a single serializable object */
|
|
164
|
+
generateAll(config: SeoConfig): SeoOutput;
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* Combined SEO configuration
|
|
168
|
+
*/
|
|
169
|
+
export interface SeoConfig {
|
|
170
|
+
readonly meta: MetaTagInput;
|
|
171
|
+
readonly structuredData?: StructuredDataInput;
|
|
172
|
+
readonly openGraph?: OpenGraphInput;
|
|
173
|
+
}
|
|
174
|
+
/**
|
|
175
|
+
* Combined SEO output (serializable for SSR)
|
|
176
|
+
*/
|
|
177
|
+
export interface SeoOutput {
|
|
178
|
+
readonly metaTags: MetaTagOutput;
|
|
179
|
+
readonly structuredData?: StructuredDataOutput;
|
|
180
|
+
readonly openGraph?: OpenGraphOutput;
|
|
181
|
+
}
|
|
182
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/seo/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/seo/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* State Management Module
|
|
3
|
+
*
|
|
4
|
+
* State management capability for surfaces
|
|
5
|
+
*
|
|
6
|
+
* Exports:
|
|
7
|
+
* - Types: StateStore, SurfaceStateManager, StateChangeEvent, etc.
|
|
8
|
+
* - Implementations: InMemoryStateStore, DefaultSurfaceStateManager
|
|
9
|
+
* - Factory functions: createStateStore, createSurfaceStateManager
|
|
10
|
+
*
|
|
11
|
+
* @module @pwfabric/runtime/state
|
|
12
|
+
*/
|
|
13
|
+
export type { StateStore, SurfaceStateManager, StateChangeEvent, StateChangeListener, StateStoreConfig, StateHistoryEntry, } from './types.js';
|
|
14
|
+
export { InMemoryStateStore, createStateStore } from './store.js';
|
|
15
|
+
export { DefaultSurfaceStateManager, createSurfaceStateManager } from './manager.js';
|
|
16
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/state/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,YAAY,EACV,UAAU,EACV,mBAAmB,EACnB,gBAAgB,EAChB,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,YAAY,CAAA;AAGnB,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AACjE,OAAO,EAAE,0BAA0B,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAA"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* State Management Module
|
|
3
|
+
*
|
|
4
|
+
* State management capability for surfaces
|
|
5
|
+
*
|
|
6
|
+
* Exports:
|
|
7
|
+
* - Types: StateStore, SurfaceStateManager, StateChangeEvent, etc.
|
|
8
|
+
* - Implementations: InMemoryStateStore, DefaultSurfaceStateManager
|
|
9
|
+
* - Factory functions: createStateStore, createSurfaceStateManager
|
|
10
|
+
*
|
|
11
|
+
* @module @pwfabric/runtime/state
|
|
12
|
+
*/
|
|
13
|
+
// Implementations
|
|
14
|
+
export { InMemoryStateStore, createStateStore } from './store.js';
|
|
15
|
+
export { DefaultSurfaceStateManager, createSurfaceStateManager } from './manager.js';
|
|
16
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/state/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAYH,kBAAkB;AAClB,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AACjE,OAAO,EAAE,0BAA0B,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAA"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Surface State Manager
|
|
3
|
+
*
|
|
4
|
+
* Manager for surface-scoped state stores
|
|
5
|
+
*
|
|
6
|
+
* @module @pwfabric/runtime/state/manager
|
|
7
|
+
*/
|
|
8
|
+
import type { SurfaceStateManager, StateStore, StateStoreConfig } from './types.js';
|
|
9
|
+
/**
|
|
10
|
+
* Default implementation of SurfaceStateManager
|
|
11
|
+
* Manages multiple state stores, one per surface
|
|
12
|
+
*/
|
|
13
|
+
export declare class DefaultSurfaceStateManager implements SurfaceStateManager {
|
|
14
|
+
private readonly stores;
|
|
15
|
+
private readonly defaultConfig;
|
|
16
|
+
constructor(defaultConfig?: StateStoreConfig);
|
|
17
|
+
createStore<T>(surfaceId: string, initialState: T): StateStore<T>;
|
|
18
|
+
getStore<T>(surfaceId: string): StateStore<T> | undefined;
|
|
19
|
+
hasStore(surfaceId: string): boolean;
|
|
20
|
+
destroyStore(surfaceId: string): void;
|
|
21
|
+
destroyAll(): void;
|
|
22
|
+
getSurfaceIds(): string[];
|
|
23
|
+
/**
|
|
24
|
+
* Get or create a store for a surface
|
|
25
|
+
* Creates a new store with empty initial state if it doesn't exist
|
|
26
|
+
*/
|
|
27
|
+
getOrCreateStore<T>(surfaceId: string, initialState?: T): StateStore<T>;
|
|
28
|
+
private normalizeInitialState;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Create a surface state manager
|
|
32
|
+
*/
|
|
33
|
+
export declare function createSurfaceStateManager(config?: StateStoreConfig): SurfaceStateManager;
|
|
34
|
+
//# sourceMappingURL=manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/state/manager.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAOnF;;;GAGG;AACH,qBAAa,0BAA2B,YAAW,mBAAmB;IACpE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAyC;IAChE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAkB;gBAEpC,aAAa,GAAE,gBAAqB;IAIhD,WAAW,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC;IAejE,QAAQ,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,SAAS;IAIzD,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAIpC,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAQrC,UAAU,IAAI,IAAI;IAOlB,aAAa,IAAI,MAAM,EAAE;IAIzB;;;OAGG;IACH,gBAAgB,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC;IASvE,OAAO,CAAC,qBAAqB;CAS9B;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,CAAC,EAAE,gBAAgB,GAAG,mBAAmB,CAExF"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Surface State Manager
|
|
3
|
+
*
|
|
4
|
+
* Manager for surface-scoped state stores
|
|
5
|
+
*
|
|
6
|
+
* @module @pwfabric/runtime/state/manager
|
|
7
|
+
*/
|
|
8
|
+
import { InMemoryStateStore } from './store.js';
|
|
9
|
+
// ============================================================
|
|
10
|
+
// DEFAULT SURFACE STATE MANAGER
|
|
11
|
+
// ============================================================
|
|
12
|
+
/**
|
|
13
|
+
* Default implementation of SurfaceStateManager
|
|
14
|
+
* Manages multiple state stores, one per surface
|
|
15
|
+
*/
|
|
16
|
+
export class DefaultSurfaceStateManager {
|
|
17
|
+
stores = new Map();
|
|
18
|
+
defaultConfig;
|
|
19
|
+
constructor(defaultConfig = {}) {
|
|
20
|
+
this.defaultConfig = defaultConfig;
|
|
21
|
+
}
|
|
22
|
+
createStore(surfaceId, initialState) {
|
|
23
|
+
// If store already exists, throw error to prevent accidental overwrites
|
|
24
|
+
if (this.stores.has(surfaceId)) {
|
|
25
|
+
throw new Error(`State store already exists for surface: ${surfaceId}`);
|
|
26
|
+
}
|
|
27
|
+
// Convert single value initialState to object format if needed
|
|
28
|
+
const stateObject = this.normalizeInitialState(initialState);
|
|
29
|
+
const store = new InMemoryStateStore(stateObject, this.defaultConfig);
|
|
30
|
+
this.stores.set(surfaceId, store);
|
|
31
|
+
return store;
|
|
32
|
+
}
|
|
33
|
+
getStore(surfaceId) {
|
|
34
|
+
return this.stores.get(surfaceId);
|
|
35
|
+
}
|
|
36
|
+
hasStore(surfaceId) {
|
|
37
|
+
return this.stores.has(surfaceId);
|
|
38
|
+
}
|
|
39
|
+
destroyStore(surfaceId) {
|
|
40
|
+
const store = this.stores.get(surfaceId);
|
|
41
|
+
if (store) {
|
|
42
|
+
store.clear();
|
|
43
|
+
this.stores.delete(surfaceId);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
destroyAll() {
|
|
47
|
+
for (const store of this.stores.values()) {
|
|
48
|
+
store.clear();
|
|
49
|
+
}
|
|
50
|
+
this.stores.clear();
|
|
51
|
+
}
|
|
52
|
+
getSurfaceIds() {
|
|
53
|
+
return Array.from(this.stores.keys());
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Get or create a store for a surface
|
|
57
|
+
* Creates a new store with empty initial state if it doesn't exist
|
|
58
|
+
*/
|
|
59
|
+
getOrCreateStore(surfaceId, initialState) {
|
|
60
|
+
const existing = this.getStore(surfaceId);
|
|
61
|
+
if (existing) {
|
|
62
|
+
return existing;
|
|
63
|
+
}
|
|
64
|
+
return this.createStore(surfaceId, initialState ?? {});
|
|
65
|
+
}
|
|
66
|
+
normalizeInitialState(initialState) {
|
|
67
|
+
// If already an object (but not null/array), use it directly
|
|
68
|
+
if (initialState !== null && typeof initialState === 'object' && !Array.isArray(initialState)) {
|
|
69
|
+
return initialState;
|
|
70
|
+
}
|
|
71
|
+
// Otherwise, wrap in a 'value' key
|
|
72
|
+
return { value: initialState };
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Create a surface state manager
|
|
77
|
+
*/
|
|
78
|
+
export function createSurfaceStateManager(config) {
|
|
79
|
+
return new DefaultSurfaceStateManager(config);
|
|
80
|
+
}
|
|
81
|
+
//# sourceMappingURL=manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/state/manager.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAE/C,+DAA+D;AAC/D,gCAAgC;AAChC,+DAA+D;AAE/D;;;GAGG;AACH,MAAM,OAAO,0BAA0B;IACpB,MAAM,GAAG,IAAI,GAAG,EAA+B,CAAA;IAC/C,aAAa,CAAkB;IAEhD,YAAY,gBAAkC,EAAE;QAC9C,IAAI,CAAC,aAAa,GAAG,aAAa,CAAA;IACpC,CAAC;IAED,WAAW,CAAI,SAAiB,EAAE,YAAe;QAC/C,wEAAwE;QACxE,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,2CAA2C,SAAS,EAAE,CAAC,CAAA;QACzE,CAAC;QAED,+DAA+D;QAC/D,MAAM,WAAW,GAAG,IAAI,CAAC,qBAAqB,CAAC,YAAY,CAAC,CAAA;QAC5D,MAAM,KAAK,GAAG,IAAI,kBAAkB,CAAU,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC,CAAA;QAE9E,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA;QAEjC,OAAO,KAAsB,CAAA;IAC/B,CAAC;IAED,QAAQ,CAAI,SAAiB;QAC3B,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAA8B,CAAA;IAChE,CAAC;IAED,QAAQ,CAAC,SAAiB;QACxB,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;IACnC,CAAC;IAED,YAAY,CAAC,SAAiB;QAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;QACxC,IAAI,KAAK,EAAE,CAAC;YACV,KAAK,CAAC,KAAK,EAAE,CAAA;YACb,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;QAC/B,CAAC;IACH,CAAC;IAED,UAAU;QACR,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;YACzC,KAAK,CAAC,KAAK,EAAE,CAAA;QACf,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAA;IACrB,CAAC;IAED,aAAa;QACX,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAA;IACvC,CAAC;IAED;;;OAGG;IACH,gBAAgB,CAAI,SAAiB,EAAE,YAAgB;QACrD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAI,SAAS,CAAC,CAAA;QAC5C,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,QAAQ,CAAA;QACjB,CAAC;QAED,OAAO,IAAI,CAAC,WAAW,CAAI,SAAS,EAAE,YAAY,IAAK,EAAQ,CAAC,CAAA;IAClE,CAAC;IAEO,qBAAqB,CAAI,YAAe;QAC9C,6DAA6D;QAC7D,IAAI,YAAY,KAAK,IAAI,IAAI,OAAO,YAAY,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;YAC9F,OAAO,YAAuC,CAAA;QAChD,CAAC;QAED,mCAAmC;QACnC,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,CAAA;IAChC,CAAC;CACF;AAED;;GAEG;AACH,MAAM,UAAU,yBAAyB,CAAC,MAAyB;IACjE,OAAO,IAAI,0BAA0B,CAAC,MAAM,CAAC,CAAA;AAC/C,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* In-Memory State Store
|
|
3
|
+
*
|
|
4
|
+
* In-memory state store implementation with reactive subscriptions
|
|
5
|
+
*
|
|
6
|
+
* @module @pwfabric/runtime/state/store
|
|
7
|
+
*/
|
|
8
|
+
import type { StateStore, StateChangeListener, StateStoreConfig, StateHistoryEntry } from './types.js';
|
|
9
|
+
/**
|
|
10
|
+
* In-memory implementation of StateStore with reactive subscriptions
|
|
11
|
+
*/
|
|
12
|
+
export declare class InMemoryStateStore<T = unknown> implements StateStore<T> {
|
|
13
|
+
private readonly state;
|
|
14
|
+
private readonly listeners;
|
|
15
|
+
private readonly history;
|
|
16
|
+
private readonly config;
|
|
17
|
+
constructor(initialState?: Record<string, T>, config?: StateStoreConfig);
|
|
18
|
+
get(key: string): T | undefined;
|
|
19
|
+
set(key: string, value: T): void;
|
|
20
|
+
subscribe(key: string, listener: StateChangeListener<T>): () => void;
|
|
21
|
+
clear(): void;
|
|
22
|
+
keys(): string[];
|
|
23
|
+
has(key: string): boolean;
|
|
24
|
+
size(): number;
|
|
25
|
+
/**
|
|
26
|
+
* Get state change history for a key (if history is enabled)
|
|
27
|
+
*/
|
|
28
|
+
getHistory(key: string): readonly StateHistoryEntry<T>[];
|
|
29
|
+
/**
|
|
30
|
+
* Get all current state as an object
|
|
31
|
+
*/
|
|
32
|
+
getSnapshot(): Record<string, T>;
|
|
33
|
+
private notifyListeners;
|
|
34
|
+
private recordHistory;
|
|
35
|
+
private maybeClone;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Create an in-memory state store
|
|
39
|
+
*/
|
|
40
|
+
export declare function createStateStore<T = unknown>(initialState?: Record<string, T>, config?: StateStoreConfig): StateStore<T>;
|
|
41
|
+
//# sourceMappingURL=store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/state/store.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EACV,UAAU,EAEV,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,EAClB,MAAM,YAAY,CAAA;AAMnB;;GAEG;AACH,qBAAa,kBAAkB,CAAC,CAAC,GAAG,OAAO,CAAE,YAAW,UAAU,CAAC,CAAC,CAAC;IACnE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAuB;IAC7C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAiD;IAC3E,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA4C;IACpE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA4B;gBAEvC,YAAY,GAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAM,EAAE,MAAM,GAAE,gBAAqB;IAa/E,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS;IAK/B,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI;IAsBhC,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI;IAkBpE,KAAK,IAAI,IAAI;IAMb,IAAI,IAAI,MAAM,EAAE;IAIhB,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAIzB,IAAI,IAAI,MAAM;IAId;;OAEG;IACH,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,iBAAiB,CAAC,CAAC,CAAC,EAAE;IAIxD;;OAEG;IACH,WAAW,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IAQhC,OAAO,CAAC,eAAe;IAavB,OAAO,CAAC,aAAa;IAkBrB,OAAO,CAAC,UAAU;CAcnB;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,GAAG,OAAO,EAC1C,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,EAChC,MAAM,CAAC,EAAE,gBAAgB,GACxB,UAAU,CAAC,CAAC,CAAC,CAEf"}
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* In-Memory State Store
|
|
3
|
+
*
|
|
4
|
+
* In-memory state store implementation with reactive subscriptions
|
|
5
|
+
*
|
|
6
|
+
* @module @pwfabric/runtime/state/store
|
|
7
|
+
*/
|
|
8
|
+
// ============================================================
|
|
9
|
+
// IN-MEMORY STATE STORE
|
|
10
|
+
// ============================================================
|
|
11
|
+
/**
|
|
12
|
+
* In-memory implementation of StateStore with reactive subscriptions
|
|
13
|
+
*/
|
|
14
|
+
export class InMemoryStateStore {
|
|
15
|
+
state = new Map();
|
|
16
|
+
listeners = new Map();
|
|
17
|
+
history = new Map();
|
|
18
|
+
config;
|
|
19
|
+
constructor(initialState = {}, config = {}) {
|
|
20
|
+
this.config = {
|
|
21
|
+
enableHistory: config.enableHistory ?? false,
|
|
22
|
+
maxHistorySize: config.maxHistorySize ?? 100,
|
|
23
|
+
deepClone: config.deepClone ?? false,
|
|
24
|
+
};
|
|
25
|
+
// Initialize with initial state
|
|
26
|
+
for (const [key, value] of Object.entries(initialState)) {
|
|
27
|
+
this.state.set(key, this.maybeClone(value));
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
get(key) {
|
|
31
|
+
const value = this.state.get(key);
|
|
32
|
+
return value !== undefined ? this.maybeClone(value) : undefined;
|
|
33
|
+
}
|
|
34
|
+
set(key, value) {
|
|
35
|
+
const previousValue = this.state.get(key);
|
|
36
|
+
const newValue = this.maybeClone(value);
|
|
37
|
+
this.state.set(key, newValue);
|
|
38
|
+
// Record history if enabled
|
|
39
|
+
if (this.config.enableHistory) {
|
|
40
|
+
this.recordHistory(key, newValue);
|
|
41
|
+
}
|
|
42
|
+
// Notify listeners
|
|
43
|
+
const event = {
|
|
44
|
+
key,
|
|
45
|
+
previousValue,
|
|
46
|
+
newValue,
|
|
47
|
+
timestamp: Date.now(),
|
|
48
|
+
};
|
|
49
|
+
this.notifyListeners(key, newValue, event);
|
|
50
|
+
}
|
|
51
|
+
subscribe(key, listener) {
|
|
52
|
+
let keyListeners = this.listeners.get(key);
|
|
53
|
+
if (!keyListeners) {
|
|
54
|
+
keyListeners = new Set();
|
|
55
|
+
this.listeners.set(key, keyListeners);
|
|
56
|
+
}
|
|
57
|
+
keyListeners.add(listener);
|
|
58
|
+
// Return unsubscribe function
|
|
59
|
+
return () => {
|
|
60
|
+
keyListeners.delete(listener);
|
|
61
|
+
if (keyListeners.size === 0) {
|
|
62
|
+
this.listeners.delete(key);
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
clear() {
|
|
67
|
+
this.state.clear();
|
|
68
|
+
this.listeners.clear();
|
|
69
|
+
this.history.clear();
|
|
70
|
+
}
|
|
71
|
+
keys() {
|
|
72
|
+
return Array.from(this.state.keys());
|
|
73
|
+
}
|
|
74
|
+
has(key) {
|
|
75
|
+
return this.state.has(key);
|
|
76
|
+
}
|
|
77
|
+
size() {
|
|
78
|
+
return this.state.size;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Get state change history for a key (if history is enabled)
|
|
82
|
+
*/
|
|
83
|
+
getHistory(key) {
|
|
84
|
+
return this.history.get(key) ?? [];
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Get all current state as an object
|
|
88
|
+
*/
|
|
89
|
+
getSnapshot() {
|
|
90
|
+
const snapshot = {};
|
|
91
|
+
for (const [key, value] of this.state) {
|
|
92
|
+
snapshot[key] = this.maybeClone(value);
|
|
93
|
+
}
|
|
94
|
+
return snapshot;
|
|
95
|
+
}
|
|
96
|
+
notifyListeners(key, value, event) {
|
|
97
|
+
const keyListeners = this.listeners.get(key);
|
|
98
|
+
if (keyListeners) {
|
|
99
|
+
for (const listener of keyListeners) {
|
|
100
|
+
try {
|
|
101
|
+
listener(value, event);
|
|
102
|
+
}
|
|
103
|
+
catch {
|
|
104
|
+
// Swallow errors from listeners to prevent one bad listener from breaking others
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
recordHistory(key, value) {
|
|
110
|
+
let keyHistory = this.history.get(key);
|
|
111
|
+
if (!keyHistory) {
|
|
112
|
+
keyHistory = [];
|
|
113
|
+
this.history.set(key, keyHistory);
|
|
114
|
+
}
|
|
115
|
+
keyHistory.push({
|
|
116
|
+
value: this.maybeClone(value),
|
|
117
|
+
timestamp: Date.now(),
|
|
118
|
+
});
|
|
119
|
+
// Trim history if exceeds max size
|
|
120
|
+
while (keyHistory.length > this.config.maxHistorySize) {
|
|
121
|
+
keyHistory.shift();
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
maybeClone(value) {
|
|
125
|
+
if (!this.config.deepClone) {
|
|
126
|
+
return value;
|
|
127
|
+
}
|
|
128
|
+
// Simple deep clone using JSON (works for most cases)
|
|
129
|
+
// For more complex cases, a proper deep clone library would be needed
|
|
130
|
+
try {
|
|
131
|
+
return JSON.parse(JSON.stringify(value));
|
|
132
|
+
}
|
|
133
|
+
catch {
|
|
134
|
+
// If cloning fails, return original value
|
|
135
|
+
return value;
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Create an in-memory state store
|
|
141
|
+
*/
|
|
142
|
+
export function createStateStore(initialState, config) {
|
|
143
|
+
return new InMemoryStateStore(initialState, config);
|
|
144
|
+
}
|
|
145
|
+
//# sourceMappingURL=store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/state/store.ts"],"names":[],"mappings":"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"}
|