@playfast/reform 1.2.1 → 1.4.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/README.md +15 -6
- package/dist/boundary/boundary.d.ts +64 -0
- package/dist/boundary/boundary.d.ts.map +1 -0
- package/dist/boundary/boundary.js +102 -0
- package/dist/boundary/boundary.js.map +1 -0
- package/dist/calc/asyncCalc.d.ts +23 -0
- package/dist/calc/asyncCalc.d.ts.map +1 -0
- package/dist/calc/asyncCalc.js +100 -0
- package/dist/calc/asyncCalc.js.map +1 -0
- package/dist/calc/asyncCalcTypes.d.ts +80 -0
- package/dist/calc/asyncCalcTypes.d.ts.map +1 -0
- package/dist/calc/asyncCalcTypes.js +2 -0
- package/dist/calc/asyncCalcTypes.js.map +1 -0
- package/dist/calc/asyncData.d.ts +29 -0
- package/dist/calc/asyncData.d.ts.map +1 -0
- package/dist/calc/asyncData.js +21 -0
- package/dist/calc/asyncData.js.map +1 -0
- package/dist/calc/calc.d.ts +39 -0
- package/dist/calc/calc.d.ts.map +1 -0
- package/dist/calc/calc.js +48 -0
- package/dist/calc/calc.js.map +1 -0
- package/dist/calc/calcFamily.d.ts +40 -0
- package/dist/calc/calcFamily.d.ts.map +1 -0
- package/dist/calc/calcFamily.js +156 -0
- package/dist/calc/calcFamily.js.map +1 -0
- package/dist/calc/compose.d.ts +5 -0
- package/dist/calc/compose.d.ts.map +1 -0
- package/dist/calc/compose.js +5 -0
- package/dist/calc/compose.js.map +1 -0
- package/dist/calc/queryState.d.ts +14 -0
- package/dist/calc/queryState.d.ts.map +1 -0
- package/dist/calc/queryState.js +39 -0
- package/dist/calc/queryState.js.map +1 -0
- package/dist/channel/channel.d.ts +51 -0
- package/dist/channel/channel.d.ts.map +1 -0
- package/dist/channel/channel.js +91 -0
- package/dist/channel/channel.js.map +1 -0
- package/dist/channel/procedures.d.ts +24 -0
- package/dist/channel/procedures.d.ts.map +1 -0
- package/dist/channel/procedures.js +82 -0
- package/dist/channel/procedures.js.map +1 -0
- package/dist/compose/composition.d.ts +12 -0
- package/dist/compose/composition.d.ts.map +1 -0
- package/dist/compose/composition.js +62 -0
- package/dist/compose/composition.js.map +1 -0
- package/dist/compose/compositionTypes.d.ts +127 -0
- package/dist/compose/compositionTypes.d.ts.map +1 -0
- package/dist/compose/compositionTypes.js +2 -0
- package/dist/compose/compositionTypes.js.map +1 -0
- package/dist/compose/host.d.ts +6 -0
- package/dist/compose/host.d.ts.map +1 -0
- package/dist/compose/host.js +2 -0
- package/dist/compose/host.js.map +1 -0
- package/dist/compose/props.d.ts +10 -0
- package/dist/compose/props.d.ts.map +1 -0
- package/dist/compose/props.js +6 -0
- package/dist/compose/props.js.map +1 -0
- package/dist/compose/provide.d.ts +18 -0
- package/dist/compose/provide.d.ts.map +1 -0
- package/dist/compose/provide.js +49 -0
- package/dist/compose/provide.js.map +1 -0
- package/dist/compose/slot.d.ts +70 -0
- package/dist/compose/slot.d.ts.map +1 -0
- package/dist/compose/slot.js +26 -0
- package/dist/compose/slot.js.map +1 -0
- package/dist/compose/structure.d.ts +51 -0
- package/dist/compose/structure.d.ts.map +1 -0
- package/dist/compose/structure.js +117 -0
- package/dist/compose/structure.js.map +1 -0
- package/dist/compose/ui.d.ts +112 -0
- package/dist/compose/ui.d.ts.map +1 -0
- package/dist/compose/ui.js +58 -0
- package/dist/compose/ui.js.map +1 -0
- package/dist/definition/definition.d.ts +11 -0
- package/dist/definition/definition.d.ts.map +1 -0
- package/dist/definition/definition.js +35 -0
- package/dist/definition/definition.js.map +1 -0
- package/dist/event/event.d.ts +52 -0
- package/dist/event/event.d.ts.map +1 -0
- package/dist/event/event.js +88 -0
- package/dist/event/event.js.map +1 -0
- package/dist/event/eventGroup.d.ts +8 -0
- package/dist/event/eventGroup.d.ts.map +1 -0
- package/dist/event/eventGroup.js +3 -0
- package/dist/event/eventGroup.js.map +1 -0
- package/dist/feature/feature.d.ts +27 -0
- package/dist/feature/feature.d.ts.map +1 -0
- package/dist/feature/feature.js +20 -0
- package/dist/feature/feature.js.map +1 -0
- package/dist/feature/featureBinding.d.ts +85 -0
- package/dist/feature/featureBinding.d.ts.map +1 -0
- package/dist/feature/featureBinding.js +10 -0
- package/dist/feature/featureBinding.js.map +1 -0
- package/dist/feature/featureClass.d.ts +10 -0
- package/dist/feature/featureClass.d.ts.map +1 -0
- package/dist/feature/featureClass.js +2 -0
- package/dist/feature/featureClass.js.map +1 -0
- package/dist/feature/featureConfig.d.ts +86 -0
- package/dist/feature/featureConfig.d.ts.map +1 -0
- package/dist/feature/featureConfig.js +13 -0
- package/dist/feature/featureConfig.js.map +1 -0
- package/dist/feature/featureFactory.d.ts +15 -0
- package/dist/feature/featureFactory.d.ts.map +1 -0
- package/dist/feature/featureFactory.js +59 -0
- package/dist/feature/featureFactory.js.map +1 -0
- package/dist/feature/featureModule.d.ts +28 -0
- package/dist/feature/featureModule.d.ts.map +1 -0
- package/dist/feature/featureModule.js +33 -0
- package/dist/feature/featureModule.js.map +1 -0
- package/dist/feature/featureNativeTree.d.ts +26 -0
- package/dist/feature/featureNativeTree.d.ts.map +1 -0
- package/dist/feature/featureNativeTree.js +2 -0
- package/dist/feature/featureNativeTree.js.map +1 -0
- package/dist/feature/featureRequirement.d.ts +43 -0
- package/dist/feature/featureRequirement.d.ts.map +1 -0
- package/dist/feature/featureRequirement.js +6 -0
- package/dist/feature/featureRequirement.js.map +1 -0
- package/dist/feature/featureVariants.d.ts +9 -0
- package/dist/feature/featureVariants.d.ts.map +1 -0
- package/dist/feature/featureVariants.js +59 -0
- package/dist/feature/featureVariants.js.map +1 -0
- package/dist/feature/mountFeature.d.ts +10 -0
- package/dist/feature/mountFeature.d.ts.map +1 -0
- package/dist/feature/mountFeature.js +14 -0
- package/dist/feature/mountFeature.js.map +1 -0
- package/dist/graph/closure.d.ts +77 -0
- package/dist/graph/closure.d.ts.map +1 -0
- package/dist/graph/closure.js +4 -0
- package/dist/graph/closure.js.map +1 -0
- package/dist/graph/services.d.ts +30 -0
- package/dist/graph/services.d.ts.map +1 -0
- package/dist/graph/services.js +2 -0
- package/dist/graph/services.js.map +1 -0
- package/dist/graph/summary.d.ts +60 -0
- package/dist/graph/summary.d.ts.map +1 -0
- package/dist/graph/summary.js +7 -0
- package/dist/graph/summary.js.map +1 -0
- package/dist/index.d.ts +51 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +34 -0
- package/dist/index.js.map +1 -0
- package/dist/internal/bucketCache.d.ts +19 -0
- package/dist/internal/bucketCache.d.ts.map +1 -0
- package/dist/internal/bucketCache.js +20 -0
- package/dist/internal/bucketCache.js.map +1 -0
- package/dist/internal/capture.d.ts +17 -0
- package/dist/internal/capture.d.ts.map +1 -0
- package/dist/internal/capture.js +5 -0
- package/dist/internal/capture.js.map +1 -0
- package/dist/internal/env.d.ts +2 -0
- package/dist/internal/env.d.ts.map +1 -0
- package/dist/internal/env.js +5 -0
- package/dist/internal/env.js.map +1 -0
- package/dist/internal/errors.d.ts +48 -0
- package/dist/internal/errors.d.ts.map +1 -0
- package/dist/internal/errors.js +69 -0
- package/dist/internal/errors.js.map +1 -0
- package/dist/internal/familyKeys.d.ts +16 -0
- package/dist/internal/familyKeys.d.ts.map +1 -0
- package/dist/internal/familyKeys.js +35 -0
- package/dist/internal/familyKeys.js.map +1 -0
- package/dist/internal/inspect.d.ts +5 -0
- package/dist/internal/inspect.d.ts.map +1 -0
- package/dist/internal/inspect.js +20 -0
- package/dist/internal/inspect.js.map +1 -0
- package/dist/internal/platform.d.ts +43 -0
- package/dist/internal/platform.d.ts.map +1 -0
- package/dist/internal/platform.js +68 -0
- package/dist/internal/platform.js.map +1 -0
- package/dist/internal/queryDriver.d.ts +7 -0
- package/dist/internal/queryDriver.d.ts.map +1 -0
- package/dist/internal/queryDriver.js +222 -0
- package/dist/internal/queryDriver.js.map +1 -0
- package/dist/internal/queryDriverConsume.d.ts +9 -0
- package/dist/internal/queryDriverConsume.d.ts.map +1 -0
- package/dist/internal/queryDriverConsume.js +16 -0
- package/dist/internal/queryDriverConsume.js.map +1 -0
- package/dist/internal/queryDriverHydrate.d.ts +17 -0
- package/dist/internal/queryDriverHydrate.d.ts.map +1 -0
- package/dist/internal/queryDriverHydrate.js +25 -0
- package/dist/internal/queryDriverHydrate.js.map +1 -0
- package/dist/internal/queryDriverPersist.d.ts +16 -0
- package/dist/internal/queryDriverPersist.d.ts.map +1 -0
- package/dist/internal/queryDriverPersist.js +15 -0
- package/dist/internal/queryDriverPersist.js.map +1 -0
- package/dist/internal/queryDriverPersistWarn.d.ts +12 -0
- package/dist/internal/queryDriverPersistWarn.d.ts.map +1 -0
- package/dist/internal/queryDriverPersistWarn.js +31 -0
- package/dist/internal/queryDriverPersistWarn.js.map +1 -0
- package/dist/internal/queryDriverSettle.d.ts +23 -0
- package/dist/internal/queryDriverSettle.d.ts.map +1 -0
- package/dist/internal/queryDriverSettle.js +52 -0
- package/dist/internal/queryDriverSettle.js.map +1 -0
- package/dist/internal/queryDriverStore.d.ts +28 -0
- package/dist/internal/queryDriverStore.d.ts.map +1 -0
- package/dist/internal/queryDriverStore.js +53 -0
- package/dist/internal/queryDriverStore.js.map +1 -0
- package/dist/internal/queryDriverTypes.d.ts +44 -0
- package/dist/internal/queryDriverTypes.d.ts.map +1 -0
- package/dist/internal/queryDriverTypes.js +9 -0
- package/dist/internal/queryDriverTypes.js.map +1 -0
- package/dist/internal/queryEvents.d.ts +12 -0
- package/dist/internal/queryEvents.d.ts.map +1 -0
- package/dist/internal/queryEvents.js +11 -0
- package/dist/internal/queryEvents.js.map +1 -0
- package/dist/internal/queryStore.d.ts +13 -0
- package/dist/internal/queryStore.d.ts.map +1 -0
- package/dist/internal/queryStore.js +11 -0
- package/dist/internal/queryStore.js.map +1 -0
- package/dist/internal/reuse.d.ts +2 -0
- package/dist/internal/reuse.d.ts.map +1 -0
- package/dist/internal/reuse.js +55 -0
- package/dist/internal/reuse.js.map +1 -0
- package/dist/internal/scheduler.d.ts +14 -0
- package/dist/internal/scheduler.d.ts.map +1 -0
- package/dist/internal/scheduler.js +101 -0
- package/dist/internal/scheduler.js.map +1 -0
- package/dist/internal/seeds.d.ts +3 -0
- package/dist/internal/seeds.d.ts.map +1 -0
- package/dist/internal/seeds.js +3 -0
- package/dist/internal/seeds.js.map +1 -0
- package/dist/internal/sources.d.ts +20 -0
- package/dist/internal/sources.d.ts.map +1 -0
- package/dist/internal/sources.js +39 -0
- package/dist/internal/sources.js.map +1 -0
- package/dist/internal/stateRegistry.d.ts +2 -0
- package/dist/internal/stateRegistry.d.ts.map +1 -0
- package/dist/internal/stateRegistry.js +15 -0
- package/dist/internal/stateRegistry.js.map +1 -0
- package/dist/internal/store.d.ts +15 -0
- package/dist/internal/store.d.ts.map +1 -0
- package/dist/internal/store.js +61 -0
- package/dist/internal/store.js.map +1 -0
- package/dist/internal/track.d.ts +15 -0
- package/dist/internal/track.d.ts.map +1 -0
- package/dist/internal/track.js +11 -0
- package/dist/internal/track.js.map +1 -0
- package/dist/internal/variance.d.ts +4 -0
- package/dist/internal/variance.d.ts.map +1 -0
- package/dist/internal/variance.js +2 -0
- package/dist/internal/variance.js.map +1 -0
- package/dist/internal.d.ts +43 -0
- package/dist/internal.d.ts.map +1 -0
- package/dist/internal.js +59 -0
- package/dist/internal.js.map +1 -0
- package/dist/namespace/namespace.d.ts +24 -0
- package/dist/namespace/namespace.d.ts.map +1 -0
- package/dist/namespace/namespace.js +20 -0
- package/dist/namespace/namespace.js.map +1 -0
- package/dist/procedure/procedure.d.ts +32 -0
- package/dist/procedure/procedure.d.ts.map +1 -0
- package/dist/procedure/procedure.js +34 -0
- package/dist/procedure/procedure.js.map +1 -0
- package/dist/reducer/reducer.d.ts +35 -0
- package/dist/reducer/reducer.d.ts.map +1 -0
- package/dist/reducer/reducer.js +73 -0
- package/dist/reducer/reducer.js.map +1 -0
- package/dist/remote/pendingQueue.d.ts +22 -0
- package/dist/remote/pendingQueue.d.ts.map +1 -0
- package/dist/remote/pendingQueue.js +129 -0
- package/dist/remote/pendingQueue.js.map +1 -0
- package/dist/remote/remoteState.d.ts +13 -0
- package/dist/remote/remoteState.d.ts.map +1 -0
- package/dist/remote/remoteState.js +189 -0
- package/dist/remote/remoteState.js.map +1 -0
- package/dist/remote/remoteStateMake.d.ts +8 -0
- package/dist/remote/remoteStateMake.d.ts.map +1 -0
- package/dist/remote/remoteStateMake.js +46 -0
- package/dist/remote/remoteStateMake.js.map +1 -0
- package/dist/remote/remoteStateSend.d.ts +43 -0
- package/dist/remote/remoteStateSend.d.ts.map +1 -0
- package/dist/remote/remoteStateSend.js +83 -0
- package/dist/remote/remoteStateSend.js.map +1 -0
- package/dist/remote/remoteStateTypes.d.ts +106 -0
- package/dist/remote/remoteStateTypes.d.ts.map +1 -0
- package/dist/remote/remoteStateTypes.js +4 -0
- package/dist/remote/remoteStateTypes.js.map +1 -0
- package/dist/runtime/appRuntime.d.ts +10 -0
- package/dist/runtime/appRuntime.d.ts.map +1 -0
- package/dist/runtime/appRuntime.js +6 -0
- package/dist/runtime/appRuntime.js.map +1 -0
- package/dist/runtime/bus.d.ts +22 -0
- package/dist/runtime/bus.d.ts.map +1 -0
- package/dist/runtime/bus.js +12 -0
- package/dist/runtime/bus.js.map +1 -0
- package/dist/runtime/capturedAppRuntime.d.ts +7 -0
- package/dist/runtime/capturedAppRuntime.d.ts.map +1 -0
- package/dist/runtime/capturedAppRuntime.js +137 -0
- package/dist/runtime/capturedAppRuntime.js.map +1 -0
- package/dist/runtime/eventBudget.d.ts +32 -0
- package/dist/runtime/eventBudget.d.ts.map +1 -0
- package/dist/runtime/eventBudget.js +68 -0
- package/dist/runtime/eventBudget.js.map +1 -0
- package/dist/runtime/featureMount.d.ts +48 -0
- package/dist/runtime/featureMount.d.ts.map +1 -0
- package/dist/runtime/featureMount.js +118 -0
- package/dist/runtime/featureMount.js.map +1 -0
- package/dist/runtime/instrumentation.d.ts +18 -0
- package/dist/runtime/instrumentation.d.ts.map +1 -0
- package/dist/runtime/instrumentation.js +16 -0
- package/dist/runtime/instrumentation.js.map +1 -0
- package/dist/runtime/loop.d.ts +44 -0
- package/dist/runtime/loop.d.ts.map +1 -0
- package/dist/runtime/loop.js +131 -0
- package/dist/runtime/loop.js.map +1 -0
- package/dist/runtime/queries.d.ts +20 -0
- package/dist/runtime/queries.d.ts.map +1 -0
- package/dist/runtime/queries.js +21 -0
- package/dist/runtime/queries.js.map +1 -0
- package/dist/runtime/runtimeHandle.d.ts +56 -0
- package/dist/runtime/runtimeHandle.d.ts.map +1 -0
- package/dist/runtime/runtimeHandle.js +2 -0
- package/dist/runtime/runtimeHandle.js.map +1 -0
- package/dist/scene/scene.d.ts +55 -0
- package/dist/scene/scene.d.ts.map +1 -0
- package/dist/scene/scene.js +74 -0
- package/dist/scene/scene.js.map +1 -0
- package/dist/state/state.d.ts +54 -0
- package/dist/state/state.d.ts.map +1 -0
- package/dist/state/state.js +41 -0
- package/dist/state/state.js.map +1 -0
- package/dist/state/stateFamily.d.ts +59 -0
- package/dist/state/stateFamily.d.ts.map +1 -0
- package/dist/state/stateFamily.js +139 -0
- package/dist/state/stateFamily.js.map +1 -0
- package/dist/state/stateGroup.d.ts +36 -0
- package/dist/state/stateGroup.d.ts.map +1 -0
- package/dist/state/stateGroup.js +33 -0
- package/dist/state/stateGroup.js.map +1 -0
- package/dist/state/token.d.ts +35 -0
- package/dist/state/token.d.ts.map +1 -0
- package/dist/state/token.js +18 -0
- package/dist/state/token.js.map +1 -0
- package/dist/synced/syncedStore.d.ts +44 -0
- package/dist/synced/syncedStore.d.ts.map +1 -0
- package/dist/synced/syncedStore.js +32 -0
- package/dist/synced/syncedStore.js.map +1 -0
- package/dist/testkit/flight.testkit.d.ts +18 -0
- package/dist/testkit/flight.testkit.d.ts.map +1 -0
- package/dist/testkit/flight.testkit.js +46 -0
- package/dist/testkit/flight.testkit.js.map +1 -0
- package/dist/ui/node.d.ts +3 -0
- package/dist/ui/node.d.ts.map +1 -0
- package/dist/ui/node.js +2 -0
- package/dist/ui/node.js.map +1 -0
- package/dist/ui/trigger.d.ts +2 -0
- package/dist/ui/trigger.d.ts.map +1 -0
- package/dist/ui/trigger.js +2 -0
- package/dist/ui/trigger.js.map +1 -0
- package/dist/wire/tree.d.ts +32 -0
- package/dist/wire/tree.d.ts.map +1 -0
- package/dist/wire/tree.js +64 -0
- package/dist/wire/tree.js.map +1 -0
- package/dist/wire/triggers.d.ts +25 -0
- package/dist/wire/triggers.d.ts.map +1 -0
- package/dist/wire/triggers.js +31 -0
- package/dist/wire/triggers.js.map +1 -0
- package/package.json +17 -5
- package/src/calc/asyncCalc-key-attribution.test.ts +182 -0
- package/src/calc/asyncCalc-registry-name.test.ts +82 -0
- package/src/calc/asyncCalc.superseded-commit.test.ts +162 -0
- package/src/calc/asyncCalc.test.ts +35 -7
- package/src/calc/asyncCalc.ts +33 -10
- package/src/calc/asyncCalcTypes.test.ts +64 -0
- package/src/calc/asyncCalcTypes.ts +8 -10
- package/src/calc/calcFamily.ts +81 -34
- package/src/calc/family-identity.test.ts +231 -0
- package/src/calc/queryState.ts +36 -5
- package/src/channel/channel-throttle-frames.test.ts +163 -0
- package/src/channel/channel.ts +5 -0
- package/src/compose/compose-identity.test.ts +175 -0
- package/src/compose/composition.ts +8 -4
- package/src/compose/structure.ts +45 -13
- package/src/compose/ui.ts +22 -5
- package/src/event/event.ts +31 -2
- package/src/event/syncTrigger.test.ts +66 -0
- package/src/internal/familyKeys.ts +41 -0
- package/src/internal/platform.test.ts +55 -0
- package/src/internal/platform.ts +72 -0
- package/src/internal/queryDriver-defect-attribution.test.ts +107 -0
- package/src/internal/queryDriver-persist-key.test.ts +118 -0
- package/src/internal/queryDriver.persistence-staleness.test.ts +209 -0
- package/src/internal/queryDriver.ts +92 -80
- package/src/internal/queryDriverConsume.ts +42 -0
- package/src/internal/queryDriverHydrate.ts +9 -3
- package/src/internal/queryDriverPersist.ts +42 -0
- package/src/internal/queryDriverPersistWarn.ts +61 -0
- package/src/internal/queryDriverSettle.ts +85 -0
- package/src/internal/queryDriverStore.ts +9 -74
- package/src/internal/queryDriverTypes.ts +10 -0
- package/src/internal/queryState-and-scheduler-audit.test.ts +170 -0
- package/src/internal/scheduler-multi-source-wake.test.ts +111 -0
- package/src/internal/scheduler.ts +80 -6
- package/src/internal.ts +1 -0
- package/src/reducer/reducer.ts +3 -3
- package/src/remote/pendingQueue.ts +35 -5
- package/src/remote/remoteState.intent-key-stamp.test.ts +207 -0
- package/src/remote/remoteState.key-attribution.test.ts +174 -0
- package/src/remote/remoteState.ts +27 -15
- package/src/remote/remoteStateSend.ts +29 -8
- package/src/remote/remoteStateTypes.ts +7 -0
- package/src/runtime/bus.ts +6 -1
- package/src/runtime/capturedAppRuntime.ts +134 -110
- package/src/runtime/eventBudget.ts +2 -1
- package/src/runtime/feature-mount-ownership.test.ts +539 -0
- package/src/runtime/featureMount.ts +110 -3
- package/src/runtime/loop.ts +29 -6
- package/src/runtime/mount-inflight-ownership.test.ts +361 -0
- package/src/runtime/mount-scope-hardening.test.ts +440 -0
- package/src/runtime/runtime.schema-identity.test.ts +188 -0
- package/src/state/state.ts +8 -4
- package/src/state/stateFamily.ts +86 -36
- package/src/state/stateGroup.ts +24 -6
- package/src/testkit/flight.testkit.ts +2 -1
- package/src/wire/tree-key-presence.test.ts +46 -0
- package/src/wire/tree.ts +9 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"featureRequirement.d.ts","sourceRoot":"","sources":["../../src/feature/featureRequirement.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { Context } from 'effect';
|
|
2
|
+
import { CompositionIdTypeId } from '../compose/composition.js';
|
|
3
|
+
const FeatureInputBase = Context.Tag('reform/FeatureInput')();
|
|
4
|
+
export class FeatureInput extends FeatureInputBase {
|
|
5
|
+
}
|
|
6
|
+
//# sourceMappingURL=featureRequirement.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"featureRequirement.js","sourceRoot":"","sources":["../../src/feature/featureRequirement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAA;AAChC,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AAI5D,MAAM,gBAAgB,GACpB,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,EAAyB,CAAA;AAC7D,MAAM,OAAO,YAAa,SAAQ,gBAAgB;CAAG"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { type Schema } from 'effect';
|
|
2
|
+
import type { AnyComposition, CompositionClass } from '../compose/composition.js';
|
|
3
|
+
import type { UiContract } from '../compose/ui.js';
|
|
4
|
+
import type { EagerFeatureClass, LazyFeatureClass } from './featureClass.js';
|
|
5
|
+
import type { EagerFeatureConfigExternalApi, ExactFeatureCompositionConfig, FeatureMountProps, FeatureUsesInput, LazyFeatureConfigExternalApi } from './featureConfig.js';
|
|
6
|
+
import type { FeatureRequirement } from './featureRequirement.js';
|
|
7
|
+
export declare const makeEagerFeature: <P, C extends UiContract, ROut, DirectRequires extends ReadonlyArray<FeatureRequirement>, OpenServices, S extends ReadonlyArray<unknown>, N extends string, Identity, Composition extends CompositionClass<P, C, S, N, Identity>>(name: string, config: EagerFeatureConfigExternalApi<P, C, ROut, DirectRequires, OpenServices, S, N, Identity> & ExactFeatureCompositionConfig<Composition>) => EagerFeatureClass<Identity, P, C, ROut, DirectRequires, OpenServices, S, N, Identity, Composition>;
|
|
8
|
+
export declare const makeLazyFeature: <CompositionProps, C extends UiContract, ROut, DirectRequires extends ReadonlyArray<FeatureRequirement>, OpenServices, SupportOut, SupportDirectRequires extends ReadonlyArray<FeatureRequirement>, SupportOpenServices, S extends ReadonlyArray<unknown>, N extends string, Identity, Composition extends CompositionClass<CompositionProps, C, S, N, Identity>, InputSchema extends Schema.Schema.AnyNoContext, Loading extends AnyComposition, Failed extends AnyComposition>(name: string, config: LazyFeatureConfigExternalApi<CompositionProps, C, ROut, DirectRequires, OpenServices, SupportOut, SupportDirectRequires, SupportOpenServices, S, N, Identity, InputSchema, Loading, Failed> & ExactFeatureCompositionConfig<Composition>) => LazyFeatureClass<Identity, FeatureMountProps<FeatureUsesInput<InputSchema>, CompositionProps, InputSchema>, C, ROut, DirectRequires, OpenServices, SupportOut, SupportDirectRequires, SupportOpenServices, FeatureUsesInput<InputSchema>, S, N, CompositionProps, Identity, Composition>;
|
|
9
|
+
//# sourceMappingURL=featureVariants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"featureVariants.d.ts","sourceRoot":"","sources":["../../src/feature/featureVariants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,KAAK,MAAM,EAAE,MAAM,QAAQ,CAAA;AACpD,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAC9E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAO/C,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AACzE,OAAO,KAAK,EACV,6BAA6B,EAC7B,6BAA6B,EAE7B,iBAAiB,EACjB,gBAAgB,EAChB,4BAA4B,EAE7B,MAAM,iBAAiB,CAAA;AAGxB,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAE9D,eAAO,MAAM,gBAAgB,GAC3B,CAAC,EACD,CAAC,SAAS,UAAU,EACpB,IAAI,EACJ,cAAc,SAAS,aAAa,CAAC,kBAAkB,CAAC,EACxD,YAAY,EACZ,CAAC,SAAS,aAAa,CAAC,OAAO,CAAC,EAChC,CAAC,SAAS,MAAM,EAChB,QAAQ,EACR,WAAW,SAAS,gBAAgB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,EAE1D,MAAM,MAAM,EACZ,QAAQ,6BAA6B,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,GAC7F,6BAA6B,CAAC,WAAW,CAAC,KAC3C,iBAAiB,CAClB,QAAQ,EACR,CAAC,EACD,CAAC,EACD,IAAI,EACJ,cAAc,EACd,YAAY,EACZ,CAAC,EACD,CAAC,EACD,QAAQ,EACR,WAAW,CA6DZ,CAAA;AAED,eAAO,MAAM,eAAe,GAC1B,gBAAgB,EAChB,CAAC,SAAS,UAAU,EACpB,IAAI,EACJ,cAAc,SAAS,aAAa,CAAC,kBAAkB,CAAC,EACxD,YAAY,EACZ,UAAU,EACV,qBAAqB,SAAS,aAAa,CAAC,kBAAkB,CAAC,EAC/D,mBAAmB,EACnB,CAAC,SAAS,aAAa,CAAC,OAAO,CAAC,EAChC,CAAC,SAAS,MAAM,EAChB,QAAQ,EACR,WAAW,SAAS,gBAAgB,CAAC,gBAAgB,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,EACzE,WAAW,SAAS,MAAM,CAAC,MAAM,CAAC,YAAY,EAC9C,OAAO,SAAS,cAAc,EAC9B,MAAM,SAAS,cAAc,EAE7B,MAAM,MAAM,EACZ,QAAQ,4BAA4B,CAClC,gBAAgB,EAChB,CAAC,EACD,IAAI,EACJ,cAAc,EACd,YAAY,EACZ,UAAU,EACV,qBAAqB,EACrB,mBAAmB,EACnB,CAAC,EACD,CAAC,EACD,QAAQ,EACR,WAAW,EACX,OAAO,EACP,MAAM,CACP,GACC,6BAA6B,CAAC,WAAW,CAAC,KAC3C,gBAAgB,CACjB,QAAQ,EACR,iBAAiB,CAAC,gBAAgB,CAAC,WAAW,CAAC,EAAE,gBAAgB,EAAE,WAAW,CAAC,EAC/E,CAAC,EACD,IAAI,EACJ,cAAc,EACd,YAAY,EACZ,UAAU,EACV,qBAAqB,EACrB,mBAAmB,EACnB,gBAAgB,CAAC,WAAW,CAAC,EAC7B,CAAC,EACD,CAAC,EACD,gBAAgB,EAChB,QAAQ,EACR,WAAW,CAyEZ,CAAA"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { Effect, Option } from 'effect';
|
|
2
|
+
import { definitionClass } from '../definition/definition.js';
|
|
3
|
+
import { FeatureNativeTypeId, FeatureTokenIdentityTypeId, } from './featureBinding.js';
|
|
4
|
+
import { makeFeatureBinding, makeFeatureManifest, makeFeatureSummary } from './featureFactory.js';
|
|
5
|
+
export const makeEagerFeature = (name, config) => {
|
|
6
|
+
const featureIdentity = Symbol(name);
|
|
7
|
+
const placeholder = Option.none();
|
|
8
|
+
const manifest = makeFeatureManifest(name, 'default', config.composition, placeholder);
|
|
9
|
+
const load = Effect.succeed(config.module);
|
|
10
|
+
const summary = makeFeatureSummary(config.composition);
|
|
11
|
+
const binding = makeFeatureBinding(featureIdentity, manifest, summary, config.composition, load, placeholder, undefined, Option.getOrElse(Option.fromNullable(config.boot), () => []));
|
|
12
|
+
const native = {
|
|
13
|
+
identity: featureIdentity,
|
|
14
|
+
summary,
|
|
15
|
+
composition: config.composition,
|
|
16
|
+
load,
|
|
17
|
+
binding,
|
|
18
|
+
eagerModule: config.module,
|
|
19
|
+
supportModule: undefined,
|
|
20
|
+
};
|
|
21
|
+
const token = {
|
|
22
|
+
identity: featureIdentity,
|
|
23
|
+
[FeatureTokenIdentityTypeId]: [],
|
|
24
|
+
[FeatureNativeTypeId]: native,
|
|
25
|
+
};
|
|
26
|
+
return definitionClass({
|
|
27
|
+
manifest,
|
|
28
|
+
summary,
|
|
29
|
+
token,
|
|
30
|
+
});
|
|
31
|
+
};
|
|
32
|
+
export const makeLazyFeature = (name, config) => {
|
|
33
|
+
const featureIdentity = Symbol(name);
|
|
34
|
+
const placeholder = Option.some(config.placeholder);
|
|
35
|
+
const manifest = makeFeatureManifest(name, 'lazy', config.composition, placeholder);
|
|
36
|
+
const inputSchema = 'input' in config ? config.input : undefined;
|
|
37
|
+
const summary = makeFeatureSummary(config.composition);
|
|
38
|
+
const binding = makeFeatureBinding(featureIdentity, manifest, summary, config.composition, config.load, placeholder, inputSchema, Option.getOrElse(Option.fromNullable(config.boot), () => []));
|
|
39
|
+
const native = {
|
|
40
|
+
identity: featureIdentity,
|
|
41
|
+
summary,
|
|
42
|
+
composition: config.composition,
|
|
43
|
+
load: config.load,
|
|
44
|
+
binding,
|
|
45
|
+
eagerModule: undefined,
|
|
46
|
+
supportModule: config.eager,
|
|
47
|
+
};
|
|
48
|
+
const token = {
|
|
49
|
+
identity: featureIdentity,
|
|
50
|
+
[FeatureTokenIdentityTypeId]: [],
|
|
51
|
+
[FeatureNativeTypeId]: native,
|
|
52
|
+
};
|
|
53
|
+
return definitionClass({
|
|
54
|
+
manifest,
|
|
55
|
+
summary,
|
|
56
|
+
token,
|
|
57
|
+
});
|
|
58
|
+
};
|
|
59
|
+
//# sourceMappingURL=featureVariants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"featureVariants.js","sourceRoot":"","sources":["../../src/feature/featureVariants.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Context, Effect, type Scope } from 'effect';
|
|
2
|
+
import type { AnyFeatureGraphSummary, FeatureSummaryInput, FeatureSummaryOpenServices } from '../graph/closure.js';
|
|
3
|
+
import type { FeatureLoadFailed } from '../internal/errors.js';
|
|
4
|
+
import type { EngineServices } from '../runtime/loop.js';
|
|
5
|
+
import type { FeatureBinding } from './featureBinding.js';
|
|
6
|
+
import { type FeatureRequirement } from './featureRequirement.js';
|
|
7
|
+
type MountFeature = <Summary extends AnyFeatureGraphSummary, ROut, const DirectRequires extends ReadonlyArray<FeatureRequirement>, HostServices>(binding: FeatureBinding<Summary, ROut, DirectRequires>, engineContext: Context.Context<HostServices | EngineServices | FeatureSummaryOpenServices<Summary>>, props?: FeatureSummaryInput<Summary>) => Effect.Effect<Context.Context<HostServices | EngineServices | FeatureSummaryOpenServices<Summary> | ROut>, FeatureLoadFailed, Scope.Scope>;
|
|
8
|
+
export declare const mountFeature: MountFeature;
|
|
9
|
+
export {};
|
|
10
|
+
//# sourceMappingURL=mountFeature.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mountFeature.d.ts","sourceRoot":"","sources":["../../src/feature/mountFeature.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAS,KAAK,KAAK,EAAE,MAAM,QAAQ,CAAA;AAC3D,OAAO,KAAK,EACV,sBAAsB,EACtB,mBAAmB,EACnB,0BAA0B,EAC3B,MAAM,kBAAkB,CAAA;AACzB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAE3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AACrD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACtD,OAAO,EAAgB,KAAK,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAE5E,KAAK,YAAY,GAAG,CAClB,OAAO,SAAS,sBAAsB,EACtC,IAAI,EACJ,KAAK,CAAC,cAAc,SAAS,aAAa,CAAC,kBAAkB,CAAC,EAC9D,YAAY,EAEZ,OAAO,EAAE,cAAc,CAAC,OAAO,EAAE,IAAI,EAAE,cAAc,CAAC,EACtD,aAAa,EAAE,OAAO,CAAC,OAAO,CAC5B,YAAY,GAAG,cAAc,GAAG,0BAA0B,CAAC,OAAO,CAAC,CACpE,EACD,KAAK,CAAC,EAAE,mBAAmB,CAAC,OAAO,CAAC,KACjC,MAAM,CAAC,MAAM,CAChB,OAAO,CAAC,OAAO,CAAC,YAAY,GAAG,cAAc,GAAG,0BAA0B,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,EAC3F,iBAAiB,EACjB,KAAK,CAAC,KAAK,CACZ,CAAA;AAED,eAAO,MAAM,YAAY,EAAE,YAwBzB,CAAA"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Context, Effect, Layer } from 'effect';
|
|
2
|
+
import { Bus, publish } from '../runtime/bus.js';
|
|
3
|
+
import { FeatureInput } from './featureRequirement.js';
|
|
4
|
+
export const mountFeature = Effect.fn('mountFeature')(function* (binding, engineContext, props = undefined) {
|
|
5
|
+
const { layer } = yield* binding.load;
|
|
6
|
+
const bus = Context.get(engineContext, Bus);
|
|
7
|
+
const featureContext = Context.add(engineContext, FeatureInput, props);
|
|
8
|
+
const context = yield* Layer.build(Layer.provide(layer, Layer.succeedContext(featureContext)));
|
|
9
|
+
yield* Effect.forEach(binding.boot, (event) => publish('High', event), {
|
|
10
|
+
discard: true,
|
|
11
|
+
}).pipe(Effect.provideService(Bus, bus));
|
|
12
|
+
return Context.merge(engineContext, context);
|
|
13
|
+
});
|
|
14
|
+
//# sourceMappingURL=mountFeature.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mountFeature.js","sourceRoot":"","sources":["../../src/feature/mountFeature.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAc,MAAM,QAAQ,CAAA;AAO3D,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AAG7C,OAAO,EAAE,YAAY,EAA2B,MAAM,sBAAsB,CAAA;AAmB5E,MAAM,CAAC,MAAM,YAAY,GAAiB,MAAM,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,EAM3E,OAAsD,EACtD,aAEC,EACD,QAAkD,SAAS;IAM3D,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,CAAA;IACrC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,GAAG,CAAC,CAAA;IAC3C,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,YAAY,EAAE,KAAK,CAAC,CAAA;IACtE,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,CAAC,CAAA;IAC9F,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE;QACrE,OAAO,EAAE,IAAI;KACd,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAA;IACxC,OAAO,OAAO,CAAC,KAAK,CAAC,aAAa,EAAE,OAAO,CAAC,CAAA;AAC9C,CAAC,CAAC,CAAA"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import type { Layer } from 'effect';
|
|
2
|
+
import { CompositionIdTypeId } from '../compose/composition.js';
|
|
3
|
+
import { SlotServiceTypeId } from '../compose/slot.js';
|
|
4
|
+
import type { FeatureRequirement, ProvidedBy } from '../feature/feature.js';
|
|
5
|
+
import type { EngineServices } from '../runtime/loop.js';
|
|
6
|
+
import type { ExactIdentity, ExactServiceExclude, ExactServiceExtract, GraphValidationPassed, InputService, IsErased } from './services.js';
|
|
7
|
+
import type { CompositionChildSummary } from './summary.js';
|
|
8
|
+
import type { DescendantOpenServices } from './services.js';
|
|
9
|
+
export { CompositionChildSummaryTypeId, FeatureChildSummaryTypeId, FeatureGraphSummaryTypeId, FeatureGraphValidTypeId, FeatureModuleGraphValidTypeId, SlotBindingSummaryTypeId, } from './summary.js';
|
|
10
|
+
export type { AnyFeatureGraphSummary, CompositionChildSummary, FeatureChildSummary, FeatureGraphSummary, FeatureSummaryCompositionIdentity, FeatureSummaryCompositionProps, FeatureSummaryContract, FeatureSummaryIdentity, FeatureSummaryInput, FeatureSummaryMountProps, FeatureSummaryName, FeatureSummaryOpenServices, FeatureSummaryStates, FeatureSummarySupportOpenServices, FeatureSummaryUsesInput, SlotBindingSummary, } from './summary.js';
|
|
11
|
+
export type { DescendantOpenServices, ExactServiceExclude, ModuleOpenServices, OpenServicesFromFeatureSlotWitnesses, } from './services.js';
|
|
12
|
+
type LayerErrorIsNever<L extends Layer.Layer.Any> = IsErased<Layer.Layer.Error<L>> extends true ? {
|
|
13
|
+
readonly featureLayerErrorMustBeNever: 'A feature layer error channel cannot be erased';
|
|
14
|
+
} : [Layer.Layer.Error<L>] extends [never] ? GraphValidationPassed : {
|
|
15
|
+
readonly featureLayerErrorMustBeNever: 'A feature layer must have an error channel of exactly never';
|
|
16
|
+
};
|
|
17
|
+
type LayerOutputsAreExact<L extends Layer.Layer.Any> = IsErased<Layer.Layer.Success<L>> extends true ? {
|
|
18
|
+
readonly featureLayerOutputsMustBeExact: 'A feature layer output cannot be erased';
|
|
19
|
+
} : GraphValidationPassed;
|
|
20
|
+
type DescendantOpenServicesAreExact<L extends Layer.Layer.Any> = IsErased<DescendantOpenServices<L>> extends true ? {
|
|
21
|
+
readonly featureDescendantOpenServicesMustBeExact: "A child feature's open services cannot be erased";
|
|
22
|
+
} : GraphValidationPassed;
|
|
23
|
+
type UnexpectedOpenServices<L extends Layer.Layer.Any, DirectRequires extends ReadonlyArray<FeatureRequirement>, UsesInput extends boolean> = ExactServiceExclude<Layer.Layer.Context<L>, EngineServices | InputService<UsesInput> | ProvidedBy<DirectRequires> | DescendantOpenServices<L>>;
|
|
24
|
+
type OpenServicesAreDeclared<L extends Layer.Layer.Any, DirectRequires extends ReadonlyArray<FeatureRequirement>, UsesInput extends boolean> = IsErased<Layer.Layer.Context<L>> extends true ? {
|
|
25
|
+
readonly featureLayerContextMustBeExact: 'A feature layer context cannot be erased';
|
|
26
|
+
} : [UnexpectedOpenServices<L, DirectRequires, UsesInput>] extends [never] ? GraphValidationPassed : {
|
|
27
|
+
readonly undeclaredFeatureOpenServices: UnexpectedOpenServices<L, DirectRequires, UsesInput>;
|
|
28
|
+
};
|
|
29
|
+
type MissingDirectRequirements<L extends Layer.Layer.Any, DirectRequires extends ReadonlyArray<FeatureRequirement>> = ExactServiceExclude<ProvidedBy<DirectRequires>, Layer.Layer.Context<L>>;
|
|
30
|
+
type DirectRequirementsAreOpen<L extends Layer.Layer.Any, DirectRequires extends ReadonlyArray<FeatureRequirement>> = [MissingDirectRequirements<L, DirectRequires>] extends [never] ? GraphValidationPassed : {
|
|
31
|
+
readonly unusedDirectFeatureRequirements: MissingDirectRequirements<L, DirectRequires>;
|
|
32
|
+
};
|
|
33
|
+
type PrivateEngineOutputs<L extends Layer.Layer.Any> = Extract<Layer.Layer.Success<L>, EngineServices>;
|
|
34
|
+
type EngineOutputsAreShared<L extends Layer.Layer.Any> = [PrivateEngineOutputs<L>] extends [never] ? GraphValidationPassed : {
|
|
35
|
+
readonly featureCannotProvideEngineServices: PrivateEngineOutputs<L>;
|
|
36
|
+
};
|
|
37
|
+
type SelfRequiredOutputs<L extends Layer.Layer.Any> = ExactServiceExtract<Layer.Layer.Context<L>, Layer.Layer.Success<L>>;
|
|
38
|
+
type OutputsAreNotSelfRequired<L extends Layer.Layer.Any> = [SelfRequiredOutputs<L>] extends [never] ? GraphValidationPassed : {
|
|
39
|
+
readonly featureCannotRequireItsOwnOutputs: SelfRequiredOutputs<L>;
|
|
40
|
+
};
|
|
41
|
+
type SlotIdentity<Descriptor> = IsErased<Descriptor> extends true ? unknown : Descriptor extends ReadonlyArray<infer Entry> ? SlotIdentity<Entry> : Descriptor extends {
|
|
42
|
+
readonly [SlotServiceTypeId]: {
|
|
43
|
+
readonly identity: infer Identity;
|
|
44
|
+
};
|
|
45
|
+
} ? Identity : Descriptor;
|
|
46
|
+
type RequiredSlotIdentities<Services> = Services extends {
|
|
47
|
+
readonly [CompositionIdTypeId]: {
|
|
48
|
+
readonly requiredSlots: infer RequiredSlots;
|
|
49
|
+
};
|
|
50
|
+
} ? SlotIdentity<RequiredSlots> : never;
|
|
51
|
+
type BoundSlotIdentities<Services> = Services extends {
|
|
52
|
+
readonly [SlotServiceTypeId]: {
|
|
53
|
+
readonly identity: infer Identity;
|
|
54
|
+
};
|
|
55
|
+
} ? ExactIdentity<Identity> : never;
|
|
56
|
+
type MissingSlotBindings<L extends Layer.Layer.Any> = Exclude<RequiredSlotIdentities<Layer.Layer.Success<L>>, BoundSlotIdentities<Layer.Layer.Success<L>>>;
|
|
57
|
+
type RequiredSlotsAreBound<L extends Layer.Layer.Any> = [MissingSlotBindings<L>] extends [never] ? GraphValidationPassed : {
|
|
58
|
+
readonly unboundFeatureSlotIdentities: MissingSlotBindings<L>;
|
|
59
|
+
};
|
|
60
|
+
type PlainChildCompositionIdentities<Services> = Services extends {
|
|
61
|
+
readonly [SlotServiceTypeId]: {
|
|
62
|
+
readonly binding: CompositionChildSummary<infer CompositionIdentity>;
|
|
63
|
+
};
|
|
64
|
+
} ? CompositionIdentity : never;
|
|
65
|
+
type LiveCompositionIdentities<Services> = Services extends {
|
|
66
|
+
readonly [CompositionIdTypeId]: {
|
|
67
|
+
readonly identity: infer Identity;
|
|
68
|
+
};
|
|
69
|
+
} ? ExactIdentity<Identity> : never;
|
|
70
|
+
type MissingPlainChildCompositions<L extends Layer.Layer.Any> = Exclude<PlainChildCompositionIdentities<Layer.Layer.Success<L>>, LiveCompositionIdentities<Layer.Layer.Success<L> | Layer.Layer.Context<L>>>;
|
|
71
|
+
type PlainChildrenAreLive<L extends Layer.Layer.Any> = [MissingPlainChildCompositions<L>] extends [
|
|
72
|
+
never
|
|
73
|
+
] ? GraphValidationPassed : {
|
|
74
|
+
readonly missingPlainChildCompositions: MissingPlainChildCompositions<L>;
|
|
75
|
+
};
|
|
76
|
+
export type ValidateFeatureGraphLayer<L extends Layer.Layer.Any, DirectRequires extends ReadonlyArray<FeatureRequirement>, UsesInput extends boolean> = LayerErrorIsNever<L> & LayerOutputsAreExact<L> & DescendantOpenServicesAreExact<L> & OpenServicesAreDeclared<L, DirectRequires, UsesInput> & DirectRequirementsAreOpen<L, DirectRequires> & EngineOutputsAreShared<L> & OutputsAreNotSelfRequired<L> & RequiredSlotsAreBound<L> & PlainChildrenAreLive<L>;
|
|
77
|
+
//# sourceMappingURL=closure.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"closure.d.ts","sourceRoot":"","sources":["../../src/graph/closure.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { CompositionIdTypeId } from '../compose/composition.js';
|
|
2
|
+
import { SlotServiceTypeId } from '../compose/slot.js';
|
|
3
|
+
export { CompositionChildSummaryTypeId, FeatureChildSummaryTypeId, FeatureGraphSummaryTypeId, FeatureGraphValidTypeId, FeatureModuleGraphValidTypeId, SlotBindingSummaryTypeId, } from './summary.js';
|
|
4
|
+
//# sourceMappingURL=closure.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"closure.js","sourceRoot":"","sources":["../../src/graph/closure.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAcnD,OAAO,EACL,6BAA6B,EAC7B,yBAAyB,EACzB,yBAAyB,EACzB,uBAAuB,EACvB,6BAA6B,EAC7B,wBAAwB,GACzB,MAAM,WAAW,CAAA"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { Layer } from 'effect';
|
|
2
|
+
import { SlotServiceTypeId } from '../compose/slot.js';
|
|
3
|
+
import type { FeatureInput } from '../feature/feature.js';
|
|
4
|
+
import type { EngineServices } from '../runtime/loop.js';
|
|
5
|
+
import type { StateStore } from '../state/state.js';
|
|
6
|
+
import type { StateFamilyStore } from '../state/stateFamily.js';
|
|
7
|
+
import type { FeatureChildSummary } from './summary.js';
|
|
8
|
+
export type IsAny<Value> = 0 extends 1 & Value ? true : false;
|
|
9
|
+
export type IsErased<Value> = IsAny<Value> extends true ? true : unknown extends Value ? true : false;
|
|
10
|
+
export type ExactStateStoreName<Service> = IsAny<Service> extends true ? never : Service extends StateStore<infer Name, infer _Value> ? string extends Name ? never : Name : never;
|
|
11
|
+
export type ExactStateFamilyStoreName<Service> = IsAny<Service> extends true ? never : Service extends StateFamilyStore<infer Name, infer _Key, infer _Value> ? string extends Name ? never : Name : never;
|
|
12
|
+
export type ServiceIsProvided<Required, Provided> = IsErased<Provided> extends true ? false : Required extends StateStore<infer Name, infer _Value> ? Name extends ExactStateStoreName<Provided> ? true : false : Required extends StateFamilyStore<infer Name, infer _Key, infer _Value> ? Name extends ExactStateFamilyStoreName<Provided> ? true : false : [Required] extends [Provided] ? true : false;
|
|
13
|
+
/**
|
|
14
|
+
* Remove only services the provider can satisfy by their runtime Context tag.
|
|
15
|
+
* Named State/StateFamily identifiers intentionally do not collapse into their
|
|
16
|
+
* structurally broader Store/FamilyStore service APIs.
|
|
17
|
+
*/
|
|
18
|
+
export type ExactServiceExclude<Required, Provided> = Required extends unknown ? ServiceIsProvided<Required, Provided> extends true ? never : Required : never;
|
|
19
|
+
export type ExactServiceExtract<Required, Provided> = Required extends unknown ? ServiceIsProvided<Required, Provided> extends true ? Required : never : never;
|
|
20
|
+
export type GraphValidationPassed = object;
|
|
21
|
+
export type ExactIdentity<Identity> = IsErased<Identity> extends true ? never : Identity;
|
|
22
|
+
export type InputService<UsesInput extends boolean> = UsesInput extends true ? FeatureInput : never;
|
|
23
|
+
export type OpenServicesFromFeatureSlotWitnesses<Services> = Services extends {
|
|
24
|
+
readonly [SlotServiceTypeId]: {
|
|
25
|
+
readonly binding: FeatureChildSummary<infer _FeatureIdentity, infer _MountProps, infer _CompositionProps, infer _Contract, infer _States, infer _Name, infer _CompositionIdentity, infer OpenServices, infer SupportOpenServices, infer _UsesInput, infer _Input>;
|
|
26
|
+
};
|
|
27
|
+
} ? OpenServices | SupportOpenServices : never;
|
|
28
|
+
export type DescendantOpenServices<L extends Layer.Layer.Any> = OpenServicesFromFeatureSlotWitnesses<Layer.Layer.Success<L>>;
|
|
29
|
+
export type ModuleOpenServices<L extends Layer.Layer.Any, UsesInput extends boolean> = Exclude<Layer.Layer.Context<L>, EngineServices | InputService<UsesInput>>;
|
|
30
|
+
//# sourceMappingURL=services.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"services.d.ts","sourceRoot":"","sources":["../../src/graph/services.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"services.js","sourceRoot":"","sources":["../../src/graph/services.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import type { UiContract } from '../compose/ui.js';
|
|
2
|
+
export declare const FeatureGraphValidTypeId: unique symbol;
|
|
3
|
+
export type FeatureGraphValidTypeId = typeof FeatureGraphValidTypeId;
|
|
4
|
+
export declare const FeatureModuleGraphValidTypeId: unique symbol;
|
|
5
|
+
export type FeatureModuleGraphValidTypeId = typeof FeatureModuleGraphValidTypeId;
|
|
6
|
+
export declare const FeatureChildSummaryTypeId: unique symbol;
|
|
7
|
+
export type FeatureChildSummaryTypeId = typeof FeatureChildSummaryTypeId;
|
|
8
|
+
export declare const FeatureGraphSummaryTypeId: unique symbol;
|
|
9
|
+
export type FeatureGraphSummaryTypeId = typeof FeatureGraphSummaryTypeId;
|
|
10
|
+
export declare const SlotBindingSummaryTypeId: unique symbol;
|
|
11
|
+
export type SlotBindingSummaryTypeId = typeof SlotBindingSummaryTypeId;
|
|
12
|
+
export interface SlotBindingSummary {
|
|
13
|
+
readonly [SlotBindingSummaryTypeId]: SlotBindingSummaryTypeId;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* The constant-size proof published after a Feature's current module has passed
|
|
17
|
+
* graph validation. Type-only facts use empty-or-singleton tuples so the runtime
|
|
18
|
+
* summary stays compact while direct indexed access recovers their exact types.
|
|
19
|
+
*/
|
|
20
|
+
export interface FeatureGraphSummary<out FeatureIdentity, out MountProps, out CompositionProps, out C extends UiContract, out S extends ReadonlyArray<unknown>, out N extends string, out CompositionIdentity, out OpenServices, out SupportOpenServices, out UsesInput extends boolean, out Input> extends SlotBindingSummary {
|
|
21
|
+
readonly [FeatureGraphSummaryTypeId]: {
|
|
22
|
+
readonly featureIdentity: readonly [] | readonly [FeatureIdentity];
|
|
23
|
+
readonly mountProps: readonly [] | readonly [MountProps];
|
|
24
|
+
readonly compositionProps: readonly [] | readonly [CompositionProps];
|
|
25
|
+
readonly contract: readonly [] | readonly [C];
|
|
26
|
+
readonly states: readonly [] | readonly [S];
|
|
27
|
+
readonly name: N;
|
|
28
|
+
readonly compositionIdentity: readonly [] | readonly [CompositionIdentity];
|
|
29
|
+
readonly openServices: readonly [] | readonly [OpenServices];
|
|
30
|
+
readonly supportOpenServices: readonly [] | readonly [SupportOpenServices];
|
|
31
|
+
readonly usesInput: readonly [] | readonly [UsesInput];
|
|
32
|
+
readonly input: readonly [] | readonly [Input];
|
|
33
|
+
readonly validated: FeatureModuleGraphValidTypeId;
|
|
34
|
+
};
|
|
35
|
+
readonly [FeatureChildSummaryTypeId]: {
|
|
36
|
+
readonly featureIdentity: readonly [] | readonly [FeatureIdentity];
|
|
37
|
+
readonly compositionIdentity: readonly [] | readonly [CompositionIdentity];
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
export type FeatureChildSummary<FeatureIdentity, MountProps, CompositionProps, C extends UiContract, S extends ReadonlyArray<unknown>, N extends string, CompositionIdentity, OpenServices, SupportOpenServices, UsesInput extends boolean, Input> = FeatureGraphSummary<FeatureIdentity, MountProps, CompositionProps, C, S, N, CompositionIdentity, OpenServices, SupportOpenServices, UsesInput, Input>;
|
|
41
|
+
export type AnyFeatureGraphSummary = FeatureGraphSummary<unknown, unknown, unknown, UiContract, ReadonlyArray<unknown>, string, unknown, unknown, unknown, boolean, unknown>;
|
|
42
|
+
export type FeatureSummaryIdentity<Summary extends AnyFeatureGraphSummary> = Summary[FeatureGraphSummaryTypeId]['featureIdentity'][number];
|
|
43
|
+
export type FeatureSummaryMountProps<Summary extends AnyFeatureGraphSummary> = Summary[FeatureGraphSummaryTypeId]['mountProps'][number];
|
|
44
|
+
export type FeatureSummaryCompositionProps<Summary extends AnyFeatureGraphSummary> = Summary[FeatureGraphSummaryTypeId]['compositionProps'][number];
|
|
45
|
+
export type FeatureSummaryContract<Summary extends AnyFeatureGraphSummary> = Summary[FeatureGraphSummaryTypeId]['contract'][number];
|
|
46
|
+
export type FeatureSummaryStates<Summary extends AnyFeatureGraphSummary> = Summary[FeatureGraphSummaryTypeId]['states'][number];
|
|
47
|
+
export type FeatureSummaryName<Summary extends AnyFeatureGraphSummary> = Summary[FeatureGraphSummaryTypeId]['name'];
|
|
48
|
+
export type FeatureSummaryCompositionIdentity<Summary extends AnyFeatureGraphSummary> = Summary[FeatureGraphSummaryTypeId]['compositionIdentity'][number];
|
|
49
|
+
export type FeatureSummaryOpenServices<Summary extends AnyFeatureGraphSummary> = Summary[FeatureGraphSummaryTypeId]['openServices'][number];
|
|
50
|
+
export type FeatureSummarySupportOpenServices<Summary extends AnyFeatureGraphSummary> = Summary[FeatureGraphSummaryTypeId]['supportOpenServices'][number];
|
|
51
|
+
export type FeatureSummaryUsesInput<Summary extends AnyFeatureGraphSummary> = Summary[FeatureGraphSummaryTypeId]['usesInput'][number];
|
|
52
|
+
export type FeatureSummaryInput<Summary extends AnyFeatureGraphSummary> = Summary[FeatureGraphSummaryTypeId]['input'][number];
|
|
53
|
+
export declare const CompositionChildSummaryTypeId: unique symbol;
|
|
54
|
+
export type CompositionChildSummaryTypeId = typeof CompositionChildSummaryTypeId;
|
|
55
|
+
export interface CompositionChildSummary<out CompositionIdentity> extends SlotBindingSummary {
|
|
56
|
+
readonly [CompositionChildSummaryTypeId]: {
|
|
57
|
+
readonly compositionIdentity: CompositionIdentity;
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=summary.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"summary.d.ts","sourceRoot":"","sources":["../../src/graph/summary.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export const FeatureGraphValidTypeId = Symbol.for('reform/FeatureGraphValid');
|
|
2
|
+
export const FeatureModuleGraphValidTypeId = Symbol.for('reform/FeatureModuleGraphValid');
|
|
3
|
+
export const FeatureChildSummaryTypeId = Symbol.for('reform/FeatureChildSummary');
|
|
4
|
+
export const FeatureGraphSummaryTypeId = Symbol.for('reform/FeatureGraphSummary');
|
|
5
|
+
export const SlotBindingSummaryTypeId = Symbol.for('reform/SlotBindingSummary');
|
|
6
|
+
export const CompositionChildSummaryTypeId = Symbol.for('reform/CompositionChildSummary');
|
|
7
|
+
//# sourceMappingURL=summary.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"summary.js","sourceRoot":"","sources":["../../src/graph/summary.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,uBAAuB,GAAkB,MAAM,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAA;AAG5F,MAAM,CAAC,MAAM,6BAA6B,GAAkB,MAAM,CAAC,GAAG,CACpE,gCAAgC,CACjC,CAAA;AAGD,MAAM,CAAC,MAAM,yBAAyB,GAAkB,MAAM,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAA;AAGhG,MAAM,CAAC,MAAM,yBAAyB,GAAkB,MAAM,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAA;AAGhG,MAAM,CAAC,MAAM,wBAAwB,GAAkB,MAAM,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAA;AA4G9F,MAAM,CAAC,MAAM,6BAA6B,GAAkB,MAAM,CAAC,GAAG,CACpE,gCAAgC,CACjC,CAAA"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
export * as State from './state/state.js';
|
|
2
|
+
export type { StateClass, StateStore, StateValue } from './state/state.js';
|
|
3
|
+
export * as StateGroup from './state/stateGroup.js';
|
|
4
|
+
export type { SeedsOf } from './state/stateGroup.js';
|
|
5
|
+
export * as StateFamily from './state/stateFamily.js';
|
|
6
|
+
export type { FamilyKey, FamilyValue, StateFamilyClass, StateFamilyStore, } from './state/stateFamily.js';
|
|
7
|
+
export * as Event from './event/event.js';
|
|
8
|
+
export type { EventClass, EventOf, EventPayload, SourceChange, SourceEventConfig, SourceEventConfigExternalApi, } from './event/event.js';
|
|
9
|
+
export * as EventGroup from './event/eventGroup.js';
|
|
10
|
+
export * as Reducer from './reducer/reducer.js';
|
|
11
|
+
export * as Calc from './calc/calc.js';
|
|
12
|
+
export type { CalcClass, CalcStore } from './calc/calc.js';
|
|
13
|
+
export * as CalcFamily from './calc/calcFamily.js';
|
|
14
|
+
export type { CalcFamilyClass, CalcFamilyStore } from './calc/calcFamily.js';
|
|
15
|
+
export * as AsyncCalc from './calc/asyncCalc.js';
|
|
16
|
+
export type { AsyncCalcClass, AsyncCalcStore } from './calc/asyncCalc.js';
|
|
17
|
+
export { composeCalcs } from './calc/compose.js';
|
|
18
|
+
export type { InputsObject, InputStores, InvalidateBy } from './internal/sources.js';
|
|
19
|
+
export { AsyncData, type AsyncError, type AsyncIdle, type AsyncLoading, type AsyncSuccess, } from './calc/asyncData.js';
|
|
20
|
+
export { isLoading, type QueryState, toAsyncData } from './calc/queryState.js';
|
|
21
|
+
export * as RemoteState from './remote/remoteState.js';
|
|
22
|
+
export type { FailedIntent, PendingIntent, RemoteStateClass, RemoteStatePendingStore, RemoteStateSettled, RemoteStateTruthStore, RemoteStateVisibleStore, } from './remote/remoteState.js';
|
|
23
|
+
export * as SyncedStore from './synced/syncedStore.js';
|
|
24
|
+
export type { SyncedSource, SyncedStoreClass, SyncedStoreIdentifier } from './synced/syncedStore.js';
|
|
25
|
+
export * as Boundary from './boundary/boundary.js';
|
|
26
|
+
export type { BoundaryErrored, BoundaryPending, BoundaryReady, BoundaryState, BoundaryStore, } from './boundary/boundary.js';
|
|
27
|
+
export * as Procedure from './procedure/procedure.js';
|
|
28
|
+
export type { ProcedureClass, ProcedureConfig } from './procedure/procedure.js';
|
|
29
|
+
export * as Channel from './channel/channel.js';
|
|
30
|
+
export type { ChannelClass, ChannelPolicy } from './channel/channel.js';
|
|
31
|
+
export * as Namespace from './namespace/namespace.js';
|
|
32
|
+
export type { FeatureNamespace } from './namespace/namespace.js';
|
|
33
|
+
export * as Composition from './compose/composition.js';
|
|
34
|
+
export { liveScoped } from './compose/composition.js';
|
|
35
|
+
export type { CompositionActivation, CompositionClass, CompositionId, CompositionService, Frame, RenderEnv, ScopedCompositionLiveConfig, } from './compose/composition.js';
|
|
36
|
+
export { absent, type AbsentFill, each, type EachFill, isStructure, mount, one, type OneFill, type SlotFill, type Structure, structureEquals, type StructureSlots, when, } from './compose/structure.js';
|
|
37
|
+
export { Props } from './compose/props.js';
|
|
38
|
+
export { type CompositionOfSlotTarget, type ContractOfSlotTarget, type FeatureSlotTarget, isSlot, type Node, type PropsOfSlotTarget, slot, type SlotClass, type SlotComposition, type SlotContract, type SlotInstance, type SlotProps, type SlotService, type SlotTarget, type TargetOfSlot, } from './compose/slot.js';
|
|
39
|
+
export * as Ui from './compose/ui.js';
|
|
40
|
+
export { type CallableView, type DerivedContract, isUi, type MadeView, ui, type UiClass, type UiContract, type UiService, UiViewContract, type ViewImpl, } from './compose/ui.js';
|
|
41
|
+
export { provide, provideExisting, provideMergeExact } from './compose/provide.js';
|
|
42
|
+
export type { Trigger } from './ui/trigger.js';
|
|
43
|
+
export * as Feature from './feature/feature.js';
|
|
44
|
+
export { type EagerFeatureClass, type FailedProps, type FeatureClass, featureModule, type FeatureModule, type FeatureModuleInput, isFeature, isFeatureBinding, lazyImport, type LazyFeatureClass, type Placeholders, } from './feature/feature.js';
|
|
45
|
+
export { type CapturedScene, featureScene, type FeatureSceneConfig, isScene, type MountedServices, profiledScene, type Scene, scene, sceneInstrumentation, seedScene, } from './scene/scene.js';
|
|
46
|
+
export { type Priority, publish } from './runtime/bus.js';
|
|
47
|
+
export { type AppRuntime, type FeatureMountHandlers, makeAppRuntime, type RuntimeFeatureAvailability, type RuntimeHandle, } from './runtime/appRuntime.js';
|
|
48
|
+
export { Engine } from './runtime/loop.js';
|
|
49
|
+
export type { EventBudget, ReformOptions } from './runtime/eventBudget.js';
|
|
50
|
+
export { AsyncReducer, AsyncSceneLayer, DuplicateRegistration, EventLoopOverflow, FeatureLoadFailed, forceSync, InvalidProvideTarget, UnknownGroupState, } from './internal/errors.js';
|
|
51
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
export * as State from './state/state.js';
|
|
2
|
+
export * as StateGroup from './state/stateGroup.js';
|
|
3
|
+
export * as StateFamily from './state/stateFamily.js';
|
|
4
|
+
export * as Event from './event/event.js';
|
|
5
|
+
export * as EventGroup from './event/eventGroup.js';
|
|
6
|
+
export * as Reducer from './reducer/reducer.js';
|
|
7
|
+
export * as Calc from './calc/calc.js';
|
|
8
|
+
export * as CalcFamily from './calc/calcFamily.js';
|
|
9
|
+
export * as AsyncCalc from './calc/asyncCalc.js';
|
|
10
|
+
export { composeCalcs } from './calc/compose.js';
|
|
11
|
+
export { AsyncData, } from './calc/asyncData.js';
|
|
12
|
+
export { isLoading, toAsyncData } from './calc/queryState.js';
|
|
13
|
+
export * as RemoteState from './remote/remoteState.js';
|
|
14
|
+
export * as SyncedStore from './synced/syncedStore.js';
|
|
15
|
+
export * as Boundary from './boundary/boundary.js';
|
|
16
|
+
export * as Procedure from './procedure/procedure.js';
|
|
17
|
+
export * as Channel from './channel/channel.js';
|
|
18
|
+
export * as Namespace from './namespace/namespace.js';
|
|
19
|
+
export * as Composition from './compose/composition.js';
|
|
20
|
+
export { liveScoped } from './compose/composition.js';
|
|
21
|
+
export { absent, each, isStructure, mount, one, structureEquals, when, } from './compose/structure.js';
|
|
22
|
+
export { Props } from './compose/props.js';
|
|
23
|
+
export { isSlot, slot, } from './compose/slot.js';
|
|
24
|
+
export * as Ui from './compose/ui.js';
|
|
25
|
+
export { isUi, ui, UiViewContract, } from './compose/ui.js';
|
|
26
|
+
export { provide, provideExisting, provideMergeExact } from './compose/provide.js';
|
|
27
|
+
export * as Feature from './feature/feature.js';
|
|
28
|
+
export { featureModule, isFeature, isFeatureBinding, lazyImport, } from './feature/feature.js';
|
|
29
|
+
export { featureScene, isScene, profiledScene, scene, sceneInstrumentation, seedScene, } from './scene/scene.js';
|
|
30
|
+
export { publish } from './runtime/bus.js';
|
|
31
|
+
export { makeAppRuntime, } from './runtime/appRuntime.js';
|
|
32
|
+
export { Engine } from './runtime/loop.js';
|
|
33
|
+
export { AsyncReducer, AsyncSceneLayer, DuplicateRegistration, EventLoopOverflow, FeatureLoadFailed, forceSync, InvalidProvideTarget, UnknownGroupState, } from './internal/errors.js';
|
|
34
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,eAAe,CAAA;AAEtC,OAAO,KAAK,UAAU,MAAM,oBAAoB,CAAA;AAEhD,OAAO,KAAK,WAAW,MAAM,qBAAqB,CAAA;AAQlD,OAAO,KAAK,KAAK,MAAM,eAAe,CAAA;AAUtC,OAAO,KAAK,UAAU,MAAM,oBAAoB,CAAA;AAEhD,OAAO,KAAK,OAAO,MAAM,mBAAmB,CAAA;AAC5C,OAAO,KAAK,IAAI,MAAM,aAAa,CAAA;AAEnC,OAAO,KAAK,UAAU,MAAM,mBAAmB,CAAA;AAE/C,OAAO,KAAK,SAAS,MAAM,kBAAkB,CAAA;AAE7C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAE7C,OAAO,EACL,SAAS,GAKV,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,SAAS,EAAmB,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAE3E,OAAO,KAAK,WAAW,MAAM,sBAAsB,CAAA;AAWnD,OAAO,KAAK,WAAW,MAAM,sBAAsB,CAAA;AAGnD,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAA;AAU/C,OAAO,KAAK,SAAS,MAAM,uBAAuB,CAAA;AAElD,OAAO,KAAK,OAAO,MAAM,mBAAmB,CAAA;AAE5C,OAAO,KAAK,SAAS,MAAM,uBAAuB,CAAA;AAGlD,OAAO,KAAK,WAAW,MAAM,uBAAuB,CAAA;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAUlD,OAAO,EACL,MAAM,EAEN,IAAI,EAEJ,WAAW,EACX,KAAK,EACL,GAAG,EAIH,eAAe,EAEf,IAAI,GACL,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AACvC,OAAO,EAIL,MAAM,EAGN,IAAI,GASL,MAAM,gBAAgB,CAAA;AACvB,OAAO,KAAK,EAAE,MAAM,cAAc,CAAA;AAClC,OAAO,EAGL,IAAI,EAEJ,EAAE,EAIF,cAAc,GAEf,MAAM,cAAc,CAAA;AACrB,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAG/E,OAAO,KAAK,OAAO,MAAM,mBAAmB,CAAA;AAC5C,OAAO,EAIL,aAAa,EAGb,SAAS,EACT,gBAAgB,EAChB,UAAU,GAGX,MAAM,mBAAmB,CAAA;AAE1B,OAAO,EAEL,YAAY,EAEZ,OAAO,EAEP,aAAa,EAEb,KAAK,EACL,oBAAoB,EACpB,SAAS,GACV,MAAM,eAAe,CAAA;AAEtB,OAAO,EAAiB,OAAO,EAAE,MAAM,eAAe,CAAA;AACtD,OAAO,EAGL,cAAc,GAGf,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAEvC,OAAO,EACL,YAAY,EACZ,eAAe,EACf,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,EACjB,SAAS,EACT,oBAAoB,EACpB,iBAAiB,GAClB,MAAM,mBAAmB,CAAA"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A read-through snapshot cache over a tag-indexed `Map<string, Set<T>>`.
|
|
3
|
+
*
|
|
4
|
+
* The registries keep mutable `Set` buckets so register/unregister stay O(1),
|
|
5
|
+
* but the dispatch loop must iterate a *snapshot*: an entry registered while a
|
|
6
|
+
* frame is folding must not join the fold already in flight (`Set` iteration is
|
|
7
|
+
* live, an array copy is not). Copying per event would pay that snapshot on
|
|
8
|
+
* every dispatch, so the copy is cached and dropped only when the bucket
|
|
9
|
+
* actually changes — registration is rare, dispatch is not.
|
|
10
|
+
*
|
|
11
|
+
* A tag with no bucket returns a shared empty array and is never cached, so
|
|
12
|
+
* events nothing handles allocate nothing and cannot grow the cache.
|
|
13
|
+
*/
|
|
14
|
+
export interface BucketCache<T> {
|
|
15
|
+
readonly read: (tag: string) => ReadonlyArray<T>;
|
|
16
|
+
readonly invalidate: (tag: string) => void;
|
|
17
|
+
}
|
|
18
|
+
export declare const makeBucketCache: <T>(source: Map<string, Set<T>>) => BucketCache<T>;
|
|
19
|
+
//# sourceMappingURL=bucketCache.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bucketCache.d.ts","sourceRoot":"","sources":["../../src/internal/bucketCache.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,WAAW,CAAC,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,aAAa,CAAC,CAAC,CAAC,CAAA;IAChD,QAAQ,CAAC,UAAU,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;CAC3C;AAED,eAAO,MAAM,eAAe,GAAI,CAAC,EAAE,QAAQ,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,KAAG,WAAW,CAAC,CAAC,CAkB7E,CAAA"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Option } from 'effect';
|
|
2
|
+
export const makeBucketCache = (source) => {
|
|
3
|
+
const empty = [];
|
|
4
|
+
const cache = new Map();
|
|
5
|
+
const build = (tag) => Option.match(Option.fromNullable(source.get(tag)), {
|
|
6
|
+
onNone: () => empty,
|
|
7
|
+
onSome: (bucket) => {
|
|
8
|
+
const current = Array.from(bucket);
|
|
9
|
+
cache.set(tag, current);
|
|
10
|
+
return current;
|
|
11
|
+
},
|
|
12
|
+
});
|
|
13
|
+
return {
|
|
14
|
+
read: (tag) => Option.getOrElse(Option.fromNullable(cache.get(tag)), () => build(tag)),
|
|
15
|
+
invalidate: (tag) => {
|
|
16
|
+
cache.delete(tag);
|
|
17
|
+
},
|
|
18
|
+
};
|
|
19
|
+
};
|
|
20
|
+
//# sourceMappingURL=bucketCache.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bucketCache.js","sourceRoot":"","sources":["../../src/internal/bucketCache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAoB/B,MAAM,CAAC,MAAM,eAAe,GAAG,CAAI,MAA2B,EAAkB,EAAE;IAChF,MAAM,KAAK,GAAqB,EAAE,CAAA;IAClC,MAAM,KAAK,GAAG,IAAI,GAAG,EAA4B,CAAA;IACjD,MAAM,KAAK,GAAG,CAAC,GAAW,EAAoB,EAAE,CAC9C,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE;QACjD,MAAM,EAAE,GAAqB,EAAE,CAAC,KAAK;QACrC,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE;YACjB,MAAM,OAAO,GAAqB,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YACpD,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;YACvB,OAAO,OAAO,CAAA;QAChB,CAAC;KACF,CAAC,CAAA;IACJ,OAAO;QACL,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACtF,UAAU,EAAE,CAAC,GAAG,EAAE,EAAE;YAClB,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QACnB,CAAC;KACF,CAAA;AACH,CAAC,CAAA"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Context } from 'effect';
|
|
2
|
+
import type { Trigger } from '../ui/trigger.js';
|
|
3
|
+
export interface CapturedRender {
|
|
4
|
+
readonly name: string;
|
|
5
|
+
readonly props: unknown;
|
|
6
|
+
readonly events: Record<string, Trigger<unknown>>;
|
|
7
|
+
readonly key?: string;
|
|
8
|
+
}
|
|
9
|
+
export type UiCapture = CapturedRender;
|
|
10
|
+
export interface CaptureSinkApi {
|
|
11
|
+
record(capture: CapturedRender): void;
|
|
12
|
+
}
|
|
13
|
+
declare const CaptureSinkBase: Context.TagClass<CaptureSink, 'reform/internal/CaptureSink', CaptureSinkApi>;
|
|
14
|
+
export declare class CaptureSink extends CaptureSinkBase {
|
|
15
|
+
}
|
|
16
|
+
export {};
|
|
17
|
+
//# sourceMappingURL=capture.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capture.d.ts","sourceRoot":"","sources":["../../src/internal/capture.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAA;AAChC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAE5C,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAA;IAEjD,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CACtB;AAED,MAAM,MAAM,SAAS,GAAG,cAAc,CAAA;AAEtC,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI,CAAA;CACtC;AAED,QAAA,MAAM,eAAe,EAAE,OAAO,CAAC,QAAQ,CACrC,WAAW,EACX,6BAA6B,EAC7B,cAAc,CAC6D,CAAA;AAE7E,qBAAa,WAAY,SAAQ,eAAe;CAAG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capture.js","sourceRoot":"","sources":["../../src/internal/capture.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAA;AAiBhC,MAAM,eAAe,GAIjB,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,EAA+B,CAAA;AAE7E,MAAM,OAAO,WAAY,SAAQ,eAAe;CAAG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../src/internal/env.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,KAAK,EAAE,OAImB,CAAA"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export const isDev = typeof process === 'undefined' ||
|
|
2
|
+
typeof process.env === 'undefined' ||
|
|
3
|
+
// oxlint-disable-next-line reform-rules/no-process-env -- must stay a static member expression so bundlers substitute it and DCE dev-only branches; Config resolves at runtime and cannot
|
|
4
|
+
process.env.NODE_ENV !== 'production';
|
|
5
|
+
//# sourceMappingURL=env.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/internal/env.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,KAAK,GAChB,OAAO,OAAO,KAAK,WAAW;IAC9B,OAAO,OAAO,CAAC,GAAG,KAAK,WAAW;IAClC,0LAA0L;IAC1L,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,CAAA"}
|