foldkit 0.168.0 → 0.169.0-canary.1f6776fa7ece
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 +53 -36
- package/dist/asyncData/asyncData.d.ts +48 -40
- package/dist/asyncData/asyncData.d.ts.map +1 -1
- package/dist/asyncData/asyncData.js +48 -40
- package/dist/asyncData/index.d.ts.map +1 -1
- package/dist/asyncData/public.d.ts.map +1 -1
- package/dist/block/assemblyState.d.ts +25 -0
- package/dist/block/assemblyState.d.ts.map +1 -0
- package/dist/block/assemblyState.js +34 -0
- package/dist/block/bindChild.d.ts +582 -0
- package/dist/block/bindChild.d.ts.map +1 -0
- package/dist/block/bindChild.js +516 -0
- package/dist/block/binding.d.ts +601 -0
- package/dist/block/binding.d.ts.map +1 -0
- package/dist/block/binding.js +349 -0
- package/dist/block/bindingOutMessagePolicy.d.ts +19 -0
- package/dist/block/bindingOutMessagePolicy.d.ts.map +1 -0
- package/dist/block/bindingOutMessagePolicy.js +82 -0
- package/dist/block/childEnvelope.d.ts +47 -0
- package/dist/block/childEnvelope.d.ts.map +1 -0
- package/dist/block/childEnvelope.js +85 -0
- package/dist/block/commandsStep.d.ts +26 -0
- package/dist/block/commandsStep.d.ts.map +1 -0
- package/dist/block/commandsStep.js +7 -0
- package/dist/block/composition.d.ts +98 -0
- package/dist/block/composition.d.ts.map +1 -0
- package/dist/block/composition.js +100 -0
- package/dist/block/decodedSchemaShape.d.ts +5 -0
- package/dist/block/decodedSchemaShape.d.ts.map +1 -0
- package/dist/block/decodedSchemaShape.js +126 -0
- package/dist/block/defaultView.d.ts +14 -0
- package/dist/block/defaultView.d.ts.map +1 -0
- package/dist/block/defaultView.js +17 -0
- package/dist/block/deferredPolicy.d.ts +52 -0
- package/dist/block/deferredPolicy.d.ts.map +1 -0
- package/dist/block/define.d.ts +124 -0
- package/dist/block/define.d.ts.map +1 -0
- package/dist/block/define.js +48 -0
- package/dist/block/definition.d.ts +1173 -0
- package/dist/block/definition.d.ts.map +1 -0
- package/dist/block/definition.js +457 -0
- package/dist/block/delivery.d.ts +263 -0
- package/dist/block/delivery.d.ts.map +1 -0
- package/dist/block/delivery.js +190 -0
- package/dist/block/directConnection.d.ts +33 -0
- package/dist/block/directConnection.d.ts.map +1 -0
- package/dist/block/directConnection.js +187 -0
- package/dist/block/fieldStep.d.ts +42 -0
- package/dist/block/fieldStep.d.ts.map +1 -0
- package/dist/block/fieldStep.js +10 -0
- package/dist/block/fromAssembly.d.ts +285 -0
- package/dist/block/fromAssembly.d.ts.map +1 -0
- package/dist/block/fromAssembly.js +8 -0
- package/dist/block/identity.d.ts +73 -0
- package/dist/block/identity.d.ts.map +1 -0
- package/dist/block/identity.js +87 -0
- package/dist/block/initRecipe.d.ts +46 -0
- package/dist/block/initRecipe.d.ts.map +1 -0
- package/dist/block/initRecipe.js +25 -0
- package/dist/block/initialization.d.ts +195 -0
- package/dist/block/initialization.d.ts.map +1 -0
- package/dist/block/initialization.js +1 -0
- package/dist/block/initializationRuntime.d.ts +14 -0
- package/dist/block/initializationRuntime.d.ts.map +1 -0
- package/dist/block/initializationRuntime.js +312 -0
- package/dist/block/instanceContext.d.ts +48 -0
- package/dist/block/instanceContext.d.ts.map +1 -0
- package/dist/block/instanceContext.js +82 -0
- package/dist/block/keyedBinding.d.ts +194 -0
- package/dist/block/keyedBinding.d.ts.map +1 -0
- package/dist/block/keyedBinding.js +223 -0
- package/dist/block/keyedFieldConnection.d.ts +103 -0
- package/dist/block/keyedFieldConnection.d.ts.map +1 -0
- package/dist/block/keyedFieldConnection.js +349 -0
- package/dist/block/lowering.d.ts +11 -0
- package/dist/block/lowering.d.ts.map +1 -0
- package/dist/block/lowering.js +85 -0
- package/dist/block/messageSchemaContract.d.ts +9 -0
- package/dist/block/messageSchemaContract.d.ts.map +1 -0
- package/dist/block/messageSchemaContract.js +43 -0
- package/dist/block/named.d.ts +154 -0
- package/dist/block/named.d.ts.map +1 -0
- package/dist/block/named.js +56 -0
- package/dist/block/operation.d.ts +18 -0
- package/dist/block/operation.d.ts.map +1 -0
- package/dist/block/operation.js +16 -0
- package/dist/block/operationGraph.d.ts +14 -0
- package/dist/block/operationGraph.d.ts.map +1 -0
- package/dist/block/operationGraph.js +39 -0
- package/dist/block/operationMessage.d.ts +4 -0
- package/dist/block/operationMessage.d.ts.map +1 -0
- package/dist/block/operationMessage.js +22 -0
- package/dist/block/outMessageFold.d.ts +104 -0
- package/dist/block/outMessageFold.d.ts.map +1 -0
- package/dist/block/outMessageFold.js +20 -0
- package/dist/block/outMessageForward.d.ts +83 -0
- package/dist/block/outMessageForward.d.ts.map +1 -0
- package/dist/block/outMessageForward.js +25 -0
- package/dist/block/outMessageHandlers.d.ts +13 -0
- package/dist/block/outMessageHandlers.d.ts.map +1 -0
- package/dist/block/outMessageHandlers.js +66 -0
- package/dist/block/outMessageHelperEvidence.d.ts +11 -0
- package/dist/block/outMessageHelperEvidence.d.ts.map +1 -0
- package/dist/block/outMessageHelperEvidence.js +1 -0
- package/dist/block/outMessagePolicyRuntime.d.ts +14 -0
- package/dist/block/outMessagePolicyRuntime.d.ts.map +1 -0
- package/dist/block/outMessagePolicyRuntime.js +23 -0
- package/dist/block/outMessageStep.d.ts +23 -0
- package/dist/block/outMessageStep.d.ts.map +1 -0
- package/dist/block/outMessageStep.js +2 -0
- package/dist/block/owner.d.ts +15 -0
- package/dist/block/owner.d.ts.map +1 -0
- package/dist/block/owner.js +9 -0
- package/dist/block/ownerName.d.ts +11 -0
- package/dist/block/ownerName.d.ts.map +1 -0
- package/dist/block/ownerName.js +20 -0
- package/dist/block/policyEvidence.d.ts +70 -0
- package/dist/block/policyEvidence.d.ts.map +1 -0
- package/dist/block/policyEvidence.js +1 -0
- package/dist/block/public.d.ts +29 -0
- package/dist/block/public.d.ts.map +1 -0
- package/dist/block/public.js +4 -0
- package/dist/block/requirements.d.ts +355 -0
- package/dist/block/requirements.d.ts.map +1 -0
- package/dist/block/requirements.js +1 -0
- package/dist/block/scope.d.ts +67 -0
- package/dist/block/scope.d.ts.map +1 -0
- package/dist/block/scope.js +238 -0
- package/dist/block/viewScope.d.ts +11 -0
- package/dist/block/viewScope.d.ts.map +1 -0
- package/dist/block/viewScope.js +58 -0
- package/dist/brand/brand.d.ts.map +1 -1
- package/dist/brand/index.d.ts.map +1 -1
- package/dist/brand/public.d.ts.map +1 -1
- package/dist/buildToken.d.ts.map +1 -1
- package/dist/calendar/arithmetic.d.ts.map +1 -1
- package/dist/calendar/calendarDate.d.ts.map +1 -1
- package/dist/calendar/comparison.d.ts.map +1 -1
- package/dist/calendar/index.d.ts.map +1 -1
- package/dist/calendar/info.d.ts.map +1 -1
- package/dist/calendar/locale.d.ts +4 -56
- package/dist/calendar/locale.d.ts.map +1 -1
- package/dist/calendar/public.d.ts.map +1 -1
- package/dist/calendar/today.d.ts.map +1 -1
- package/dist/canvas/index.d.ts.map +1 -1
- package/dist/canvas/paint.d.ts.map +1 -1
- package/dist/canvas/public.d.ts.map +1 -1
- package/dist/canvas/shape.d.ts.map +1 -1
- package/dist/canvas/view.d.ts.map +1 -1
- package/dist/command/brand.d.ts.map +1 -1
- package/dist/command/handler.d.ts +38 -0
- package/dist/command/handler.d.ts.map +1 -0
- package/dist/command/handler.js +24 -0
- package/dist/command/index.d.ts +159 -70
- package/dist/command/index.d.ts.map +1 -1
- package/dist/command/index.js +45 -26
- package/dist/command/interruptible/index.d.ts.map +1 -1
- package/dist/command/interruptible/interruptible.d.ts +3 -2
- package/dist/command/interruptible/interruptible.d.ts.map +1 -1
- package/dist/command/interruptible/interruptible.js +13 -2
- package/dist/command/interruptible/public.d.ts.map +1 -1
- package/dist/command/public.d.ts +16 -1
- package/dist/command/public.d.ts.map +1 -1
- package/dist/controlledDomState.d.ts.map +1 -1
- package/dist/cssStyleProperties.d.ts.map +1 -1
- package/dist/customElement/index.d.ts +25 -18
- package/dist/customElement/index.d.ts.map +1 -1
- package/dist/customElement/index.js +1 -1
- package/dist/customElement/public.d.ts.map +1 -1
- package/dist/devTools/{submodelPath.d.ts → blockPath.d.ts} +8 -8
- package/dist/devTools/blockPath.d.ts.map +1 -0
- package/dist/devTools/{submodelPath.js → blockPath.js} +6 -6
- package/dist/devTools/historyQuery.d.ts.map +1 -1
- package/dist/devTools/host.d.ts +1 -1
- package/dist/devTools/host.d.ts.map +1 -1
- package/dist/devTools/host.js +1 -1
- package/dist/devTools/protocol.d.ts +16 -16
- package/dist/devTools/protocol.d.ts.map +1 -1
- package/dist/devTools/protocol.js +5 -5
- package/dist/devTools/public.d.ts.map +1 -1
- package/dist/devTools/schemaSummarize.d.ts +2 -2
- package/dist/devTools/schemaSummarize.d.ts.map +1 -1
- package/dist/devTools/schemaSummarize.js +4 -4
- package/dist/devTools/serialize.d.ts.map +1 -1
- package/dist/devTools/serialize.js +4 -4
- package/dist/devTools/store.d.ts +3 -3
- package/dist/devTools/store.d.ts.map +1 -1
- package/dist/devTools/store.js +6 -5
- package/dist/devTools/summarize.d.ts.map +1 -1
- package/dist/devTools/webSocketBridge.d.ts +11 -6
- package/dist/devTools/webSocketBridge.d.ts.map +1 -1
- package/dist/devTools/webSocketBridge.js +52 -23
- package/dist/dom/animationFrameTicks.d.ts +37 -0
- package/dist/dom/animationFrameTicks.d.ts.map +1 -0
- package/dist/dom/animationFrameTicks.js +49 -0
- package/dist/dom/dialogRuntime.d.ts.map +1 -1
- package/dist/dom/dom.d.ts.map +1 -1
- package/dist/dom/elementMovement.d.ts.map +1 -1
- package/dist/dom/error.d.ts.map +1 -1
- package/dist/dom/index.d.ts +1 -0
- package/dist/dom/index.d.ts.map +1 -1
- package/dist/dom/index.js +1 -0
- package/dist/dom/inert.d.ts +7 -3
- package/dist/dom/inert.d.ts.map +1 -1
- package/dist/dom/inert.js +19 -9
- package/dist/dom/public.d.ts +1 -1
- package/dist/dom/public.d.ts.map +1 -1
- package/dist/dom/public.js +1 -1
- package/dist/dom/scrollLock.d.ts.map +1 -1
- package/dist/dom/streamFromEvent.d.ts +95 -60
- package/dist/dom/streamFromEvent.d.ts.map +1 -1
- package/dist/dom/streamFromEvent.js +69 -54
- package/dist/dom/streamFromKeyBindings.d.ts +70 -36
- package/dist/dom/streamFromKeyBindings.d.ts.map +1 -1
- package/dist/dom/streamFromKeyBindings.js +58 -37
- package/dist/dom/streamFromMediaQuery.d.ts +22 -14
- package/dist/dom/streamFromMediaQuery.d.ts.map +1 -1
- package/dist/dom/streamFromMediaQuery.js +19 -12
- package/dist/dom/waitForAnimation.d.ts.map +1 -1
- package/dist/domReflection.d.ts.map +1 -1
- package/dist/effectExtensions/index.d.ts.map +1 -1
- package/dist/effectExtensions/optionExtensions.d.ts.map +1 -1
- package/dist/effectExtensions/stringExtensions.d.ts.map +1 -1
- package/dist/experimental/index.d.ts +1 -1
- package/dist/experimental/index.d.ts.map +1 -1
- package/dist/experimental/index.js +1 -1
- package/dist/experimental/machine/index.d.ts.map +1 -1
- package/dist/experimental/machine/machine.d.ts +7 -5
- package/dist/experimental/machine/machine.d.ts.map +1 -1
- package/dist/experimental/machine/machine.js +1 -1
- package/dist/experimental/machine/public.d.ts.map +1 -1
- package/dist/experimental/public.d.ts.map +1 -1
- package/dist/experimental/query/define.d.ts +36 -8
- package/dist/experimental/query/define.d.ts.map +1 -1
- package/dist/experimental/query/define.js +17 -3
- package/dist/experimental/query/index.d.ts +2 -2
- package/dist/experimental/query/index.d.ts.map +1 -1
- package/dist/experimental/query/internal.d.ts +1 -39
- package/dist/experimental/query/internal.d.ts.map +1 -1
- package/dist/experimental/query/internal.js +1 -15
- package/dist/experimental/query/keyedQuery.d.ts +116 -44
- package/dist/experimental/query/keyedQuery.d.ts.map +1 -1
- package/dist/experimental/query/keyedQuery.js +167 -59
- package/dist/experimental/query/public.d.ts +2 -2
- package/dist/experimental/query/public.d.ts.map +1 -1
- package/dist/experimental/query/query.d.ts +85 -43
- package/dist/experimental/query/query.d.ts.map +1 -1
- package/dist/experimental/query/query.js +110 -43
- package/dist/experimental/server/document.d.ts.map +1 -1
- package/dist/experimental/server/entry.d.ts.map +1 -1
- package/dist/experimental/server/fetch.d.ts.map +1 -1
- package/dist/experimental/server/fragment.d.ts +15 -0
- package/dist/experimental/server/fragment.d.ts.map +1 -0
- package/dist/experimental/server/fragment.js +14 -0
- package/dist/experimental/server/host.d.ts.map +1 -1
- package/dist/experimental/server/index.d.ts.map +1 -1
- package/dist/experimental/server/public.d.ts.map +1 -1
- package/dist/experimental/server/serialize.d.ts.map +1 -1
- package/dist/experimental/server/server.d.ts +75 -23
- package/dist/experimental/server/server.d.ts.map +1 -1
- package/dist/experimental/server/server.js +57 -24
- package/dist/experimental/server/template.d.ts.map +1 -1
- package/dist/experimental/server/template.js +20 -19
- package/dist/fieldValidation/fieldValidation.d.ts.map +1 -1
- package/dist/fieldValidation/index.d.ts.map +1 -1
- package/dist/fieldValidation/public.d.ts.map +1 -1
- package/dist/fieldValidation/rule.d.ts.map +1 -1
- package/dist/file/error.d.ts.map +1 -1
- package/dist/file/file.d.ts +1 -1
- package/dist/file/file.d.ts.map +1 -1
- package/dist/file/index.d.ts.map +1 -1
- package/dist/file/public.d.ts.map +1 -1
- package/dist/file/reader.d.ts.map +1 -1
- package/dist/file/select.d.ts.map +1 -1
- package/dist/html/block.d.ts +220 -0
- package/dist/html/block.d.ts.map +1 -0
- package/dist/html/{submodel.js → block.js} +129 -64
- package/dist/html/boundary.d.ts +54 -48
- package/dist/html/boundary.d.ts.map +1 -1
- package/dist/html/boundary.js +219 -88
- package/dist/html/childAttribute.d.ts +50 -15
- package/dist/html/childAttribute.d.ts.map +1 -1
- package/dist/html/childAttribute.js +9 -5
- package/dist/html/dragZoneTracking.d.ts.map +1 -1
- package/dist/html/index.d.ts +4520 -836
- package/dist/html/index.d.ts.map +1 -1
- package/dist/html/index.js +103 -40
- package/dist/html/lazy.d.ts +132 -1
- package/dist/html/lazy.d.ts.map +1 -1
- package/dist/html/lazy.js +66 -7
- package/dist/html/public.d.ts +3 -0
- package/dist/html/public.d.ts.map +1 -1
- package/dist/html/runtimeSingleton.d.ts +30 -17
- package/dist/html/runtimeSingleton.d.ts.map +1 -1
- package/dist/html/runtimeSingleton.js +41 -25
- package/dist/html/viewInputs.d.ts +38 -0
- package/dist/html/viewInputs.d.ts.map +1 -0
- package/dist/html/viewInputs.js +1 -0
- package/dist/http/http.d.ts +25 -18
- package/dist/http/http.d.ts.map +1 -1
- package/dist/http/http.js +25 -18
- package/dist/http/index.d.ts.map +1 -1
- package/dist/http/public.d.ts.map +1 -1
- package/dist/hydrate.d.ts.map +1 -1
- package/dist/hydrationMarker.d.ts.map +1 -1
- package/dist/hydrationMarkers.d.ts.map +1 -1
- package/dist/imeComposition.d.ts +3 -0
- package/dist/imeComposition.d.ts.map +1 -0
- package/dist/imeComposition.js +6 -0
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/managedResource/handler.d.ts +43 -0
- package/dist/managedResource/handler.d.ts.map +1 -0
- package/dist/managedResource/handler.js +30 -0
- package/dist/managedResource/index.d.ts.map +1 -1
- package/dist/managedResource/managedResource.d.ts +154 -86
- package/dist/managedResource/managedResource.d.ts.map +1 -1
- package/dist/managedResource/managedResource.js +99 -41
- package/dist/managedResource/public.d.ts +20 -1
- package/dist/managedResource/public.d.ts.map +1 -1
- package/dist/message/index.d.ts.map +1 -1
- package/dist/message/public.d.ts +1 -0
- package/dist/message/public.d.ts.map +1 -1
- package/dist/mount/handler.d.ts +55 -0
- package/dist/mount/handler.d.ts.map +1 -0
- package/dist/mount/handler.js +47 -0
- package/dist/mount/index.d.ts +228 -148
- package/dist/mount/index.d.ts.map +1 -1
- package/dist/mount/index.js +61 -9
- package/dist/mount/public.d.ts +11 -2
- package/dist/mount/public.d.ts.map +1 -1
- package/dist/mount/public.js +1 -1
- package/dist/nativeInnerHtml.d.ts.map +1 -1
- package/dist/navigation/index.d.ts +1 -1
- package/dist/navigation/index.d.ts.map +1 -1
- package/dist/navigation/public.d.ts +1 -1
- package/dist/navigation/public.d.ts.map +1 -1
- package/dist/navigation/urlRequest.d.ts +10 -12
- package/dist/navigation/urlRequest.d.ts.map +1 -1
- package/dist/onUnmountModule.d.ts.map +1 -1
- package/dist/port/index.d.ts.map +1 -1
- package/dist/port/port.d.ts +19 -33
- package/dist/port/port.d.ts.map +1 -1
- package/dist/port/port.js +17 -32
- package/dist/port/public.d.ts +1 -1
- package/dist/port/public.d.ts.map +1 -1
- package/dist/port/public.js +1 -1
- package/dist/propertyProvenance.d.ts.map +1 -1
- package/dist/propsModule.d.ts.map +1 -1
- package/dist/render/commit.d.ts.map +1 -1
- package/dist/render/index.d.ts.map +1 -1
- package/dist/render/public.d.ts.map +1 -1
- package/dist/render/render.d.ts.map +1 -1
- package/dist/route/index.d.ts.map +1 -1
- package/dist/route/parser.d.ts.map +1 -1
- package/dist/route/public.d.ts.map +1 -1
- package/dist/route/transition.d.ts +50 -0
- package/dist/route/transition.d.ts.map +1 -1
- package/dist/route/transition.js +48 -0
- package/dist/runtime/application.d.ts +176 -0
- package/dist/runtime/application.d.ts.map +1 -0
- package/dist/runtime/application.js +107 -0
- package/dist/runtime/browserListeners.d.ts +31 -0
- package/dist/runtime/browserListeners.d.ts.map +1 -1
- package/dist/runtime/browserListeners.js +14 -0
- package/dist/runtime/browserScheduler.d.ts.map +1 -1
- package/dist/runtime/childOrigin.d.ts +16 -0
- package/dist/runtime/childOrigin.d.ts.map +1 -0
- package/dist/runtime/childOrigin.js +124 -0
- package/dist/runtime/compositionRuntime.d.ts +29 -0
- package/dist/runtime/compositionRuntime.d.ts.map +1 -0
- package/dist/runtime/compositionRuntime.js +343 -0
- package/dist/runtime/crashUI.d.ts.map +1 -1
- package/dist/runtime/deepFreeze.d.ts.map +1 -1
- package/dist/runtime/devToolsConfig.d.ts +9 -9
- package/dist/runtime/devToolsConfig.d.ts.map +1 -1
- package/dist/runtime/devToolsIntegration.d.ts +13 -9
- package/dist/runtime/devToolsIntegration.d.ts.map +1 -1
- package/dist/runtime/devToolsIntegration.js +38 -28
- package/dist/runtime/dispatch.d.ts.map +1 -1
- package/dist/runtime/documentMetadata.d.ts.map +1 -1
- package/dist/runtime/documentMetadata.js +18 -19
- package/dist/runtime/duplicateIdScanner.d.ts.map +1 -1
- package/dist/runtime/handlerContracts.d.ts +30 -0
- package/dist/runtime/handlerContracts.d.ts.map +1 -0
- package/dist/runtime/handlerContracts.js +1 -0
- package/dist/runtime/hostConnector.d.ts.map +1 -1
- package/dist/runtime/hydrationHandoff.d.ts +4 -5
- package/dist/runtime/hydrationHandoff.d.ts.map +1 -1
- package/dist/runtime/hydrationHandoff.js +3 -3
- package/dist/runtime/index.d.ts.map +1 -1
- package/dist/runtime/makeApplication.d.ts +126 -23
- package/dist/runtime/makeApplication.d.ts.map +1 -1
- package/dist/runtime/makeApplication.js +1 -1
- package/dist/runtime/makeElement.d.ts +99 -21
- package/dist/runtime/makeElement.d.ts.map +1 -1
- package/dist/runtime/makeElement.js +1 -1
- package/dist/runtime/managedResourceFibers.d.ts +2 -1
- package/dist/runtime/managedResourceFibers.d.ts.map +1 -1
- package/dist/runtime/managedResourceFibers.js +19 -16
- package/dist/runtime/messageQueue.d.ts +9 -7
- package/dist/runtime/messageQueue.d.ts.map +1 -1
- package/dist/runtime/messageQueue.js +54 -10
- package/dist/runtime/modelPreservation.d.ts.map +1 -1
- package/dist/runtime/modelPreservationBridge.d.ts.map +1 -1
- package/dist/runtime/modelPreservationPublic.d.ts.map +1 -1
- package/dist/runtime/preserveScheduler.d.ts.map +1 -1
- package/dist/runtime/program.d.ts +184 -0
- package/dist/runtime/program.d.ts.map +1 -0
- package/dist/runtime/program.js +58 -0
- package/dist/runtime/programPublic.d.ts +2 -0
- package/dist/runtime/programPublic.d.ts.map +1 -0
- package/dist/runtime/programPublic.js +1 -0
- package/dist/runtime/programRoot.d.ts +76 -0
- package/dist/runtime/programRoot.d.ts.map +1 -0
- package/dist/runtime/programRoot.js +149 -0
- package/dist/runtime/public.d.ts +2 -2
- package/dist/runtime/public.d.ts.map +1 -1
- package/dist/runtime/public.js +1 -1
- package/dist/runtime/renderer.d.ts +6 -4
- package/dist/runtime/renderer.d.ts.map +1 -1
- package/dist/runtime/renderer.js +81 -31
- package/dist/runtime/resourceProvider.d.ts +13 -13
- package/dist/runtime/resourceProvider.d.ts.map +1 -1
- package/dist/runtime/resourceProvider.js +29 -64
- package/dist/runtime/runtime.d.ts +21 -46
- package/dist/runtime/runtime.d.ts.map +1 -1
- package/dist/runtime/runtime.js +122 -50
- package/dist/runtime/runtimeStatus.d.ts.map +1 -1
- package/dist/runtime/scrollPreservation.d.ts.map +1 -1
- package/dist/runtime/slowPhase.d.ts.map +1 -1
- package/dist/runtime/start.d.ts +22 -4
- package/dist/runtime/start.d.ts.map +1 -1
- package/dist/runtime/start.js +24 -8
- package/dist/runtime/subscriptionFibers.d.ts.map +1 -1
- package/dist/runtime/subscriptionFibers.js +1 -1
- package/dist/runtime/viewTransition.d.ts.map +1 -1
- package/dist/runtime/visibility.d.ts.map +1 -1
- package/dist/scene/public.d.ts.map +1 -1
- package/dist/schema/index.d.ts +50 -27
- package/dist/schema/index.d.ts.map +1 -1
- package/dist/schema/index.js +21 -16
- package/dist/schema/public.d.ts.map +1 -1
- package/dist/snabbdom/attributes.d.ts.map +1 -1
- package/dist/snabbdom/class.d.ts.map +1 -1
- package/dist/snabbdom/dataset.d.ts.map +1 -1
- package/dist/snabbdom/eventlisteners.d.ts.map +1 -1
- package/dist/snabbdom/h.d.ts.map +1 -1
- package/dist/snabbdom/hooks.d.ts +2 -0
- package/dist/snabbdom/hooks.d.ts.map +1 -1
- package/dist/snabbdom/htmldomapi.d.ts.map +1 -1
- package/dist/snabbdom/index.d.ts.map +1 -1
- package/dist/snabbdom/init.d.ts.map +1 -1
- package/dist/snabbdom/init.js +42 -12
- package/dist/snabbdom/is.d.ts.map +1 -1
- package/dist/snabbdom/module.d.ts.map +1 -1
- package/dist/snabbdom/props.d.ts.map +1 -1
- package/dist/snabbdom/style.d.ts.map +1 -1
- package/dist/snabbdom/tovnode.d.ts.map +1 -1
- package/dist/snabbdom/vnode.d.ts +3 -0
- package/dist/snabbdom/vnode.d.ts.map +1 -1
- package/dist/story/public.d.ts.map +1 -1
- package/dist/struct/index.d.ts +1 -1
- package/dist/struct/index.d.ts.map +1 -1
- package/dist/struct/public.d.ts.map +1 -1
- package/dist/subscription/handler.d.ts +48 -0
- package/dist/subscription/handler.d.ts.map +1 -0
- package/dist/subscription/handler.js +24 -0
- package/dist/subscription/public.d.ts +16 -4
- package/dist/subscription/public.d.ts.map +1 -1
- package/dist/subscription/public.js +1 -2
- package/dist/subscription/subscription.d.ts +184 -77
- package/dist/subscription/subscription.d.ts.map +1 -1
- package/dist/subscription/subscription.js +139 -45
- package/dist/tagName.d.ts.map +1 -1
- package/dist/test/apps/attributes.d.ts +6 -10
- package/dist/test/apps/attributes.d.ts.map +1 -1
- package/dist/test/apps/bubbling.d.ts +14 -18
- package/dist/test/apps/bubbling.d.ts.map +1 -1
- package/dist/test/apps/colorPicker.d.ts +6 -10
- package/dist/test/apps/colorPicker.d.ts.map +1 -1
- package/dist/test/apps/contentEditableEditor.d.ts +9 -13
- package/dist/test/apps/contentEditableEditor.d.ts.map +1 -1
- package/dist/test/apps/contextMenu.d.ts +11 -15
- package/dist/test/apps/contextMenu.d.ts.map +1 -1
- package/dist/test/apps/counter.d.ts +111 -34
- package/dist/test/apps/counter.d.ts.map +1 -1
- package/dist/test/apps/counter.js +11 -5
- package/dist/test/apps/crashOnRender.d.ts +67 -29
- package/dist/test/apps/crashOnRender.d.ts.map +1 -1
- package/dist/test/apps/crashOnRender.js +8 -4
- package/dist/test/apps/drafts.d.ts +48 -16
- package/dist/test/apps/drafts.d.ts.map +1 -1
- package/dist/test/apps/drafts.js +8 -4
- package/dist/test/apps/feedSocket.d.ts +160 -57
- package/dist/test/apps/feedSocket.d.ts.map +1 -1
- package/dist/test/apps/feedSocket.js +16 -7
- package/dist/test/apps/fileUpload.d.ts +7 -11
- package/dist/test/apps/fileUpload.d.ts.map +1 -1
- package/dist/test/apps/focusBoundary.d.ts +7 -11
- package/dist/test/apps/focusBoundary.d.ts.map +1 -1
- package/dist/test/apps/formChild.d.ts +96 -49
- package/dist/test/apps/formChild.d.ts.map +1 -1
- package/dist/test/apps/formChild.js +18 -11
- package/dist/test/apps/interactions.d.ts +20 -24
- package/dist/test/apps/interactions.d.ts.map +1 -1
- package/dist/test/apps/keypress.d.ts +10 -14
- package/dist/test/apps/keypress.d.ts.map +1 -1
- package/dist/test/apps/keypressSelf.d.ts +6 -10
- package/dist/test/apps/keypressSelf.d.ts.map +1 -1
- package/dist/test/apps/login.d.ts +68 -26
- package/dist/test/apps/login.d.ts.map +1 -1
- package/dist/test/apps/login.js +8 -4
- package/dist/test/apps/logoutButton.d.ts +12 -13
- package/dist/test/apps/logoutButton.d.ts.map +1 -1
- package/dist/test/apps/logoutButton.js +2 -0
- package/dist/test/apps/mountPanel.d.ts +140 -25
- package/dist/test/apps/mountPanel.d.ts.map +1 -1
- package/dist/test/apps/mountPanel.js +22 -11
- package/dist/test/apps/multiRole.d.ts +5 -9
- package/dist/test/apps/multiRole.d.ts.map +1 -1
- package/dist/test/apps/pointer.d.ts +13 -17
- package/dist/test/apps/pointer.d.ts.map +1 -1
- package/dist/test/apps/resumeUpload.d.ts +84 -29
- package/dist/test/apps/resumeUpload.d.ts.map +1 -1
- package/dist/test/apps/resumeUpload.js +14 -8
- package/dist/test/apps/scorePanel.d.ts +7 -11
- package/dist/test/apps/scorePanel.d.ts.map +1 -1
- package/dist/test/apps/scorePanel.js +1 -1
- package/dist/test/apps/selectiveKeys.d.ts +29 -16
- package/dist/test/apps/selectiveKeys.d.ts.map +1 -1
- package/dist/test/apps/selectiveKeys.js +8 -4
- package/dist/test/apps/uploads.d.ts +106 -34
- package/dist/test/apps/uploads.d.ts.map +1 -1
- package/dist/test/apps/uploads.js +8 -4
- package/dist/test/bindingMatcher.d.ts +29 -0
- package/dist/test/bindingMatcher.d.ts.map +1 -0
- package/dist/test/bindingMatcher.js +83 -0
- package/dist/test/internal.d.ts +39 -30
- package/dist/test/internal.d.ts.map +1 -1
- package/dist/test/internal.js +54 -31
- package/dist/test/lazy.d.ts +26 -0
- package/dist/test/lazy.d.ts.map +1 -0
- package/dist/test/lazy.js +103 -0
- package/dist/test/matchers.d.ts.map +1 -1
- package/dist/test/public.d.ts +4 -0
- package/dist/test/public.d.ts.map +1 -1
- package/dist/test/public.js +4 -0
- package/dist/test/query.d.ts.map +1 -1
- package/dist/test/scene.d.ts +114 -43
- package/dist/test/scene.d.ts.map +1 -1
- package/dist/test/scene.js +127 -48
- package/dist/test/story.d.ts +8 -6
- package/dist/test/story.d.ts.map +1 -1
- package/dist/test/story.js +9 -7
- package/dist/test/vitest-setup.d.ts.map +1 -1
- package/dist/test/vitest.d.ts.map +1 -1
- package/dist/update/index.d.ts.map +1 -1
- package/dist/update/operationRecipe.d.ts +12 -0
- package/dist/update/operationRecipe.d.ts.map +1 -0
- package/dist/update/operationRecipe.js +41 -0
- package/dist/update/public.d.ts +2 -2
- package/dist/update/public.d.ts.map +1 -1
- package/dist/update/public.js +1 -1
- package/dist/update/update.d.ts +452 -101
- package/dist/update/update.d.ts.map +1 -1
- package/dist/update/update.js +132 -70
- package/dist/url/index.d.ts.map +1 -1
- package/dist/url/public.d.ts.map +1 -1
- package/dist/vdom.d.ts.map +1 -1
- package/package.json +13 -6
- package/dist/devTools/submodelPath.d.ts.map +0 -1
- package/dist/html/submodel.d.ts +0 -137
- package/dist/html/submodel.d.ts.map +0 -1
- package/dist/submodel/public.d.ts +0 -4
- package/dist/submodel/public.d.ts.map +0 -1
- package/dist/submodel/public.js +0 -1
- package/dist/submodel/submodel.d.ts +0 -32
- package/dist/submodel/submodel.d.ts.map +0 -1
- package/dist/subscription/animationFrame.d.ts +0 -50
- package/dist/subscription/animationFrame.d.ts.map +0 -1
- package/dist/subscription/animationFrame.js +0 -46
- /package/dist/{submodel/submodel.js → block/deferredPolicy.js} +0 -0
package/README.md
CHANGED
|
@@ -18,10 +18,12 @@
|
|
|
18
18
|
|
|
19
19
|
---
|
|
20
20
|
|
|
21
|
-
Foldkit is a TypeScript frontend framework built on [Effect](https://effect.website/). It gives your entire application one architecture: a [Schema](https://effect.website/docs/schema/introduction/)-defined Model as the single source of truth, fact-named Messages, an exhaustive update function, and explicit Commands for side effects. Routing, server rendering, UI components,
|
|
21
|
+
Foldkit is a TypeScript frontend framework built on [Effect](https://effect.website/). It gives your entire application one architecture: a [Schema](https://effect.website/docs/schema/introduction/)-defined Model as the single source of truth, fact-named Messages, an exhaustive update function, and explicit Commands for side effects. Routing, server rendering, UI components, Blocks, and browser lifecycles all use that same Model and Message flow.
|
|
22
22
|
|
|
23
23
|
Foldkit uses [The Elm Architecture](https://guide.elm-lang.org/architecture/) instead of component-owned state and hook lifecycles. That discipline is a real commitment. Foldkit works best when the team wants shared conventions across the application and is ready to build on Effect throughout. If your backend already uses Effect, Foldkit carries the same tools and patterns into the browser: Schema, services, Streams, and scoped resources.
|
|
24
24
|
|
|
25
|
+
Each feature declares the effects it needs and bundles their handlers in [Effect Layers](https://foldkit.dev/core/layers). At the application root, compose those bundles with their required services. TypeScript checks that the requirements are satisfied before the application can run. Tests can provide controlled services while running the same effect handlers.
|
|
26
|
+
|
|
25
27
|
A Foldkit program can own the whole page or run as a widget inside an existing application, React included, through [`Runtime.embed`](https://foldkit.dev/core/embedding). The same program can [render on the server](https://foldkit.dev/core/server-rendering) at build time or per request, then hydrate in place. Coming from React? [Start here](https://foldkit.dev/react/coming-from-react), or compare the [same pixel-art editor built in both frameworks](https://foldkit.dev/react/foldkit-vs-react-side-by-side).
|
|
26
28
|
|
|
27
29
|
> [!NOTE]
|
|
@@ -37,34 +39,30 @@ npx create-foldkit-app@latest
|
|
|
37
39
|
|
|
38
40
|
## Counter
|
|
39
41
|
|
|
40
|
-
A complete Foldkit program. State lives in a single Model, events become Messages, and a pure function handles every transition. `
|
|
42
|
+
A complete Foldkit program. State lives in a single Model, events become Messages, and a pure function handles every transition. `application.ts` exports `ApplicationComposition`, `ApplicationBlock`, and its implementation. `entry.ts` supplies the browser container and boots the Runtime, so importing the application from a test has no startup side effect.
|
|
41
43
|
|
|
42
44
|
```ts
|
|
43
|
-
// src/
|
|
45
|
+
// src/application.ts
|
|
44
46
|
import { Schema } from 'effect'
|
|
45
|
-
import {
|
|
46
|
-
import { Document, HtmlBuilder } from 'foldkit/html'
|
|
47
|
+
import { Block } from 'foldkit'
|
|
47
48
|
import { defineMessageUnion } from 'foldkit/message'
|
|
48
49
|
import { modifyFields } from 'foldkit/struct'
|
|
49
50
|
|
|
50
|
-
// MODEL
|
|
51
|
-
|
|
52
51
|
export const Model = Schema.Struct({ count: Schema.Number })
|
|
53
|
-
export type Model = typeof Model.Type
|
|
54
|
-
|
|
55
|
-
// MESSAGE
|
|
56
52
|
|
|
57
53
|
export const Message = defineMessageUnion({
|
|
58
54
|
ClickedDecrement: {},
|
|
59
55
|
ClickedIncrement: {},
|
|
60
56
|
ClickedReset: {},
|
|
61
57
|
})
|
|
62
|
-
export type Message = typeof Message.Type
|
|
63
58
|
|
|
64
|
-
|
|
59
|
+
export const ApplicationComposition = Block.makeDefinition('Application', {
|
|
60
|
+
Model,
|
|
61
|
+
Message,
|
|
62
|
+
}).makeComposition()
|
|
65
63
|
|
|
66
|
-
export const update = (model
|
|
67
|
-
Message.match
|
|
64
|
+
export const update = ApplicationComposition.makeUpdate((model, message) =>
|
|
65
|
+
Message.match(message, {
|
|
68
66
|
ClickedDecrement: () => ({
|
|
69
67
|
model: modifyFields(model, { count: count => count - 1 }),
|
|
70
68
|
}),
|
|
@@ -72,17 +70,14 @@ export const update = (model: Model, message: Message) =>
|
|
|
72
70
|
model: modifyFields(model, { count: count => count + 1 }),
|
|
73
71
|
}),
|
|
74
72
|
ClickedReset: () => ({ model: modifyFields(model, { count: () => 0 }) }),
|
|
75
|
-
})
|
|
73
|
+
}),
|
|
74
|
+
)
|
|
76
75
|
|
|
77
|
-
|
|
76
|
+
export const init = ApplicationComposition.makeInit(() => ({
|
|
77
|
+
model: Model.make({ count: 0 }),
|
|
78
|
+
}))
|
|
78
79
|
|
|
79
|
-
export const
|
|
80
|
-
model: { count: 0 },
|
|
81
|
-
})
|
|
82
|
-
|
|
83
|
-
// VIEW
|
|
84
|
-
|
|
85
|
-
export const view = (model: Model, h: HtmlBuilder<Message>): Document => ({
|
|
80
|
+
export const view = ApplicationComposition.makeView((model, h) => ({
|
|
86
81
|
title: `Counter: ${model.count}`,
|
|
87
82
|
body: h.div(
|
|
88
83
|
[],
|
|
@@ -93,27 +88,49 @@ export const view = (model: Model, h: HtmlBuilder<Message>): Document => ({
|
|
|
93
88
|
h.button([h.OnClick(Message.ClickedIncrement())], ['+']),
|
|
94
89
|
],
|
|
95
90
|
),
|
|
96
|
-
})
|
|
91
|
+
}))
|
|
92
|
+
|
|
93
|
+
const prepare = () =>
|
|
94
|
+
ApplicationComposition.prepareBlock({
|
|
95
|
+
init,
|
|
96
|
+
update,
|
|
97
|
+
view,
|
|
98
|
+
})
|
|
99
|
+
export const ApplicationBlock: Block.FromAssemblyWithView<
|
|
100
|
+
typeof Model,
|
|
101
|
+
typeof prepare
|
|
102
|
+
> = Block.assemble(prepare)
|
|
97
103
|
```
|
|
98
104
|
|
|
99
105
|
```ts
|
|
100
106
|
// src/entry.ts
|
|
101
|
-
import { Runtime } from 'foldkit'
|
|
107
|
+
import { Program, Runtime } from 'foldkit'
|
|
102
108
|
|
|
103
|
-
import {
|
|
109
|
+
import { ApplicationBlock } from './application'
|
|
104
110
|
|
|
105
|
-
const
|
|
106
|
-
|
|
107
|
-
init,
|
|
108
|
-
update,
|
|
109
|
-
view,
|
|
111
|
+
const program = Program.make({
|
|
112
|
+
block: ApplicationBlock,
|
|
110
113
|
container: document.getElementById('root'),
|
|
111
114
|
})
|
|
112
115
|
|
|
113
|
-
Runtime.run(
|
|
116
|
+
Runtime.run(program)
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
The root is an ordinary Block. `Block.makeDefinition('Application', ...)` owns effect constructors, Steps, lifecycle definitions, and child Bindings. Retain that result as `ApplicationDefinition` when those authoring methods use it. This graphless application chains the top-level factory directly into `makeComposition()` and names the result `ApplicationComposition`. Author init, update, and the primary view through that Composition. Call `prepareBlock` inside the private `prepare` function, then assemble `ApplicationBlock` with its matching `FromAssembly` annotation and `Block.assemble(prepare)`. The explicit Model Schema in that annotation reduces the inference work needed when a parent Schema reads the Block's `Model`. Pass root-owned handler recipes to `prepareBlock` as `EffectsLayer`.
|
|
120
|
+
|
|
121
|
+
A feature follows the same passive Definition → Composition → assembly sequence. Create `FeatureDefinition` with `Block.makeDefinition('Feature', { Model, Message, OutMessage })` and author effects and Steps through that Definition. Name `FeatureComposition = FeatureDefinition.makeComposition({ bindings, mounts })`, using `FeatureDefinition.makeComposition()` for an empty graph, then author init, update, and the primary view. Prepare and assemble the completed `FeatureBlock` using the checked pattern above. A parent imports that Block, creates a Binding with `const FeatureBinding = ParentDefinition.makeBinding(FeatureBlock, config)`, and includes that Binding in its Composition's child graph. Only the Runtime starts the assembled program.
|
|
122
|
+
|
|
123
|
+
When local view helpers need the Composition's exact builder capabilities, declare `type FeatureViewBuilder = Block.ViewBuilderFor<typeof FeatureComposition>` immediately after the Composition and export it only for cross-file use. The owner prefix identifies that specific Composition; structural contracts keep the standard `Model`, `Message`, and `OutMessage` names and normally travel through the feature namespace.
|
|
124
|
+
|
|
125
|
+
Ordinary Effect services stay in `ApplicationLayer`. Keep a small provider composition in `entry.ts`, and extract `layer.ts` only when it is substantial or reused. Supply that Layer after the Program is complete:
|
|
126
|
+
|
|
127
|
+
```ts
|
|
128
|
+
Runtime.run(program.provide(ApplicationLayer))
|
|
114
129
|
```
|
|
115
130
|
|
|
116
|
-
|
|
131
|
+
`program.provide(ApplicationLayer)` returns another passive program. The Runtime builds the Layer only when it starts that program.
|
|
132
|
+
|
|
133
|
+
Source: [examples/counter](https://github.com/foldkit/foldkit/blob/main/examples/counter/src/application.ts).
|
|
117
134
|
|
|
118
135
|
## What Ships With Foldkit
|
|
119
136
|
|
|
@@ -124,8 +141,8 @@ Routing, server rendering, UI components, composition, and browser lifecycles al
|
|
|
124
141
|
- **Subscriptions**: External event streams declared as a function of the Model.
|
|
125
142
|
- **Managed Resources**: Model-driven lifecycle for WebSockets, AudioContext, and other long-lived handles.
|
|
126
143
|
- **Mount**: The seam where view code hands a real DOM element to a third-party library that owns its own DOM.
|
|
127
|
-
- **
|
|
128
|
-
- **OutMessage**: A typed channel for a child
|
|
144
|
+
- **Blocks**: A self-contained Model, update, and view connected to a parent through parent-owned child Bindings.
|
|
145
|
+
- **OutMessage**: A typed channel for a child Block to emit domain events up to its parent.
|
|
129
146
|
- **Embedding**: Run a Foldkit program inside a host app through Schema-typed Ports with `Runtime.embed`.
|
|
130
147
|
- **UI Components**: Accessible, keyboard-friendly primitives in the `@foldkit/ui` package.
|
|
131
148
|
- **Field Validation**: Per-field validation state modeled as a discriminated union.
|
|
@@ -158,7 +175,7 @@ Some of what you can build with Foldkit. [See all example apps on foldkit.dev](h
|
|
|
158
175
|
- **[Route Transitions](https://foldkit.dev/example-apps/route-transitions)**: Live transition log with entry, exit, and stayed navigation policies
|
|
159
176
|
- **[Query Sync](https://foldkit.dev/example-apps/query-sync)**: URL query parameter sync with filtering and sorting
|
|
160
177
|
- **[Snake](https://foldkit.dev/example-apps/snake)**: Classic game built with Subscriptions
|
|
161
|
-
- **[Auth](https://foldkit.dev/example-apps/auth)**: Authentication flow with
|
|
178
|
+
- **[Auth](https://foldkit.dev/example-apps/auth)**: Authentication flow with Blocks and OutMessage
|
|
162
179
|
- **[Shopping Cart](https://foldkit.dev/example-apps/shopping-cart)**: Nested models and complex state
|
|
163
180
|
- **[WebSocket Chat](https://foldkit.dev/example-apps/websocket-chat)**: Managed Resources with WebSocket integration
|
|
164
181
|
- **[Kanban](https://foldkit.dev/example-apps/kanban)**: Drag-and-drop kanban board with cross-column reordering and keyboard navigation
|
|
@@ -130,42 +130,44 @@ export type AsyncDataSchema<A, AI, E, EI> = Readonly<{
|
|
|
130
130
|
data: A;
|
|
131
131
|
}>) => AsyncData<A, E>;
|
|
132
132
|
}>;
|
|
133
|
-
/**
|
|
133
|
+
/**
|
|
134
|
+
* Builds the six-state `AsyncData` Schema for the given data and error
|
|
134
135
|
* Schemas (value-first). Put `schema` in your Model; use the returned
|
|
135
136
|
* constructors when you want ones typed to this instance's `A` and `E`.
|
|
136
137
|
*
|
|
137
138
|
* @example
|
|
138
139
|
* ```ts
|
|
139
|
-
*
|
|
140
|
-
*
|
|
140
|
+
* import { AsyncData } from 'foldkit'
|
|
141
|
+
* import { Schema } from 'effect'
|
|
141
142
|
*
|
|
142
|
-
*
|
|
143
|
-
*
|
|
143
|
+
* const Note = Schema.Struct({ id: Schema.String, body: Schema.String })
|
|
144
|
+
* const Notes = AsyncData.Schema(Schema.Array(Note), Schema.String)
|
|
144
145
|
*
|
|
145
|
-
*
|
|
146
|
-
*
|
|
147
|
-
*
|
|
148
|
-
*
|
|
146
|
+
* // Model field: typeof Notes.schema.Type
|
|
147
|
+
* const initial = AsyncData.Idle()
|
|
148
|
+
* const loaded = Notes.Success({ data: [] })
|
|
149
|
+
* ```
|
|
149
150
|
*/
|
|
150
151
|
export declare const Schema: <A, AI, E, EI>(dataSchema: EffectSchema.Codec<A, AI>, errorSchema: EffectSchema.Codec<E, EI>) => AsyncDataSchema<A, AI, E, EI>;
|
|
151
|
-
/**
|
|
152
|
+
/**
|
|
153
|
+
* Handles all six states exhaustively, passing each handler its unwrapped
|
|
152
154
|
* payload. `onStale` alone receives the whole `{ error, data }` payload
|
|
153
155
|
* object because `Stale` carries two fields. Use `matchData` when the view
|
|
154
156
|
* does not care which of the data-bearing states it is rendering.
|
|
155
157
|
*
|
|
156
158
|
* @example
|
|
157
159
|
* ```ts
|
|
158
|
-
*
|
|
160
|
+
* import { AsyncData } from 'foldkit'
|
|
159
161
|
*
|
|
160
|
-
*
|
|
161
|
-
*
|
|
162
|
-
*
|
|
163
|
-
*
|
|
164
|
-
*
|
|
165
|
-
*
|
|
166
|
-
*
|
|
167
|
-
*
|
|
168
|
-
*
|
|
162
|
+
* AsyncData.match(notes, {
|
|
163
|
+
* onIdle: () => 'Not loaded',
|
|
164
|
+
* onLoading: () => 'Loading',
|
|
165
|
+
* onRefreshing: notes => `Refreshing ${notes.length} notes`,
|
|
166
|
+
* onFailure: error => `Failed: ${error}`,
|
|
167
|
+
* onStale: ({ error, data }) => `${data.length} notes (stale: ${error})`,
|
|
168
|
+
* onSuccess: notes => `${notes.length} notes`,
|
|
169
|
+
* })
|
|
170
|
+
* ```
|
|
169
171
|
*/
|
|
170
172
|
export declare const match: {
|
|
171
173
|
<A, E, B, C = B, D = B, F = B, G = B, H = B>(handlers: Readonly<{
|
|
@@ -281,14 +283,16 @@ export declare const getOrElse: {
|
|
|
281
283
|
<B>(onEmpty: Function.LazyArg<B>): <A, E>(self: AsyncData<A, E>) => A | B;
|
|
282
284
|
<A, E, B>(self: AsyncData<A, E>, onEmpty: Function.LazyArg<B>): A | B;
|
|
283
285
|
};
|
|
284
|
-
/**
|
|
286
|
+
/**
|
|
287
|
+
* Collapses a possibly-missing cache entry to an AsyncData: `Some(entry)`
|
|
285
288
|
* is the entry, `None` is `Idle`. The keyed-cache read idiom, where a key
|
|
286
289
|
* that was never fetched is simply absent and absence means nothing was
|
|
287
290
|
* requested yet:
|
|
288
291
|
*
|
|
289
292
|
* ```ts
|
|
290
|
-
*
|
|
291
|
-
*
|
|
293
|
+
* const notes = AsyncData.fromOptionOrIdle(HashMap.get(model.notesByNotebook, notebookId))
|
|
294
|
+
* ```
|
|
295
|
+
*/
|
|
292
296
|
export declare const fromOptionOrIdle: <A, E>(maybeEntry: Option.Option<AsyncData<A, E>>) => AsyncData<A, E>;
|
|
293
297
|
/** Returns `true` only for the `Idle` state. Refinement. */
|
|
294
298
|
export declare const isIdle: <A, E>(self: AsyncData<A, E>) => self is Idle;
|
|
@@ -380,7 +384,8 @@ export declare const all: <const Inputs extends Iterable<AsyncData<any, any>> |
|
|
|
380
384
|
AsyncData<infer A, any>
|
|
381
385
|
] ? A : never;
|
|
382
386
|
}, Inputs[keyof Inputs] extends never ? never : [Inputs[keyof Inputs]] extends [AsyncData<any, infer E>] ? E : never>;
|
|
383
|
-
/**
|
|
387
|
+
/**
|
|
388
|
+
* Folds a settled `Result` into the previous state, keeping the last good
|
|
384
389
|
* data: a `Result` success becomes `Success`, and a `Result` failure
|
|
385
390
|
* becomes `Stale({ error, data })` when `self` holds data, else a bare
|
|
386
391
|
* `Failure`. The primary way to fold a fetch back into the Model, and the
|
|
@@ -392,24 +397,27 @@ export declare const all: <const Inputs extends Iterable<AsyncData<any, any>> |
|
|
|
392
397
|
*
|
|
393
398
|
* @example
|
|
394
399
|
* ```ts
|
|
395
|
-
*
|
|
396
|
-
*
|
|
400
|
+
* import { Effect, pipe } from 'effect'
|
|
401
|
+
* import { AsyncData, Command } from 'foldkit'
|
|
402
|
+
*
|
|
403
|
+
* // The Command settles the fetch into a Result instead of throwing:
|
|
404
|
+
* const LoadNotes = Command.define(
|
|
405
|
+
* 'LoadNotes',
|
|
406
|
+
* { messages: [Message.SettledLoadNotes], handler: function* () { return () =>
|
|
407
|
+
* pipe(
|
|
408
|
+
* fetchNotes,
|
|
409
|
+
* Effect.result,
|
|
410
|
+
* Effect.map(result => Message.SettledLoadNotes({ result })),
|
|
411
|
+
* ) }},
|
|
412
|
+
* )
|
|
397
413
|
*
|
|
398
|
-
*
|
|
399
|
-
* const LoadNotes = Command.define('LoadNotes', {
|
|
400
|
-
* messages: [SettledLoadNotes],
|
|
401
|
-
* execute: pipe(
|
|
402
|
-
* fetchNotes,
|
|
403
|
-
* Effect.result,
|
|
404
|
-
* Effect.map(result => SettledLoadNotes({ result })),
|
|
405
|
-
* ),
|
|
406
|
-
* })
|
|
414
|
+
* const EffectsLayer = LoadNotes.layer
|
|
407
415
|
*
|
|
408
|
-
*
|
|
409
|
-
*
|
|
410
|
-
*
|
|
411
|
-
*
|
|
412
|
-
*
|
|
416
|
+
* // One update arm folds it in, whatever the previous state was:
|
|
417
|
+
* SettledLoadNotes: ({ result }) => ({
|
|
418
|
+
* model: modifyFields(model, { notes: AsyncData.settle(result) }),
|
|
419
|
+
* })
|
|
420
|
+
* ```
|
|
413
421
|
*/
|
|
414
422
|
export declare const settle: {
|
|
415
423
|
<A, E>(result: Result.Result<A, E>): (self: AsyncData<A, E>) => AsyncData<A, E>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"asyncData.d.ts","sourceRoot":"","sources":["../../src/asyncData/asyncData.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"asyncData.d.ts","sources":["../../src/asyncData/asyncData.ts"],"names":[],"mappings":"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"}
|
|
@@ -39,22 +39,23 @@ export const Success = (payload) => ({
|
|
|
39
39
|
export const succeed = (data) => Success({ data });
|
|
40
40
|
/** Bare-value alias for `Failure({ error })`, mirroring `Result.fail`. */
|
|
41
41
|
export const fail = (error) => Failure({ error });
|
|
42
|
-
/**
|
|
42
|
+
/**
|
|
43
|
+
* Builds the six-state `AsyncData` Schema for the given data and error
|
|
43
44
|
* Schemas (value-first). Put `schema` in your Model; use the returned
|
|
44
45
|
* constructors when you want ones typed to this instance's `A` and `E`.
|
|
45
46
|
*
|
|
46
47
|
* @example
|
|
47
48
|
* ```ts
|
|
48
|
-
*
|
|
49
|
-
*
|
|
49
|
+
* import { AsyncData } from 'foldkit'
|
|
50
|
+
* import { Schema } from 'effect'
|
|
50
51
|
*
|
|
51
|
-
*
|
|
52
|
-
*
|
|
52
|
+
* const Note = Schema.Struct({ id: Schema.String, body: Schema.String })
|
|
53
|
+
* const Notes = AsyncData.Schema(Schema.Array(Note), Schema.String)
|
|
53
54
|
*
|
|
54
|
-
*
|
|
55
|
-
*
|
|
56
|
-
*
|
|
57
|
-
*
|
|
55
|
+
* // Model field: typeof Notes.schema.Type
|
|
56
|
+
* const initial = AsyncData.Idle()
|
|
57
|
+
* const loaded = Notes.Success({ data: [] })
|
|
58
|
+
* ```
|
|
58
59
|
*/
|
|
59
60
|
export const Schema = (dataSchema, errorSchema) => {
|
|
60
61
|
const RefreshingSchema = taggedStruct('Refreshing', { data: dataSchema });
|
|
@@ -83,24 +84,25 @@ export const Schema = (dataSchema, errorSchema) => {
|
|
|
83
84
|
};
|
|
84
85
|
};
|
|
85
86
|
// OPERATION
|
|
86
|
-
/**
|
|
87
|
+
/**
|
|
88
|
+
* Handles all six states exhaustively, passing each handler its unwrapped
|
|
87
89
|
* payload. `onStale` alone receives the whole `{ error, data }` payload
|
|
88
90
|
* object because `Stale` carries two fields. Use `matchData` when the view
|
|
89
91
|
* does not care which of the data-bearing states it is rendering.
|
|
90
92
|
*
|
|
91
93
|
* @example
|
|
92
94
|
* ```ts
|
|
93
|
-
*
|
|
95
|
+
* import { AsyncData } from 'foldkit'
|
|
94
96
|
*
|
|
95
|
-
*
|
|
96
|
-
*
|
|
97
|
-
*
|
|
98
|
-
*
|
|
99
|
-
*
|
|
100
|
-
*
|
|
101
|
-
*
|
|
102
|
-
*
|
|
103
|
-
*
|
|
97
|
+
* AsyncData.match(notes, {
|
|
98
|
+
* onIdle: () => 'Not loaded',
|
|
99
|
+
* onLoading: () => 'Loading',
|
|
100
|
+
* onRefreshing: notes => `Refreshing ${notes.length} notes`,
|
|
101
|
+
* onFailure: error => `Failed: ${error}`,
|
|
102
|
+
* onStale: ({ error, data }) => `${data.length} notes (stale: ${error})`,
|
|
103
|
+
* onSuccess: notes => `${notes.length} notes`,
|
|
104
|
+
* })
|
|
105
|
+
* ```
|
|
104
106
|
*/
|
|
105
107
|
// NOTE: match, matchData, matchDataSplitEmpty, getData, and getError use
|
|
106
108
|
// refinement chains instead of Match because tagsExhaustive returns
|
|
@@ -232,14 +234,16 @@ export const getError = (self) => {
|
|
|
232
234
|
* `Option.getOrElse`, because the no-data states collapse to empty with no
|
|
233
235
|
* single payload. */
|
|
234
236
|
export const getOrElse = Function.dual(2, (self, onEmpty) => Option.getOrElse(getData(self), onEmpty));
|
|
235
|
-
/**
|
|
237
|
+
/**
|
|
238
|
+
* Collapses a possibly-missing cache entry to an AsyncData: `Some(entry)`
|
|
236
239
|
* is the entry, `None` is `Idle`. The keyed-cache read idiom, where a key
|
|
237
240
|
* that was never fetched is simply absent and absence means nothing was
|
|
238
241
|
* requested yet:
|
|
239
242
|
*
|
|
240
243
|
* ```ts
|
|
241
|
-
*
|
|
242
|
-
*
|
|
244
|
+
* const notes = AsyncData.fromOptionOrIdle(HashMap.get(model.notesByNotebook, notebookId))
|
|
245
|
+
* ```
|
|
246
|
+
*/
|
|
243
247
|
export const fromOptionOrIdle = (maybeEntry) => Option.getOrElse(maybeEntry, () => Idle());
|
|
244
248
|
/** Returns `true` only for the `Idle` state. Refinement. */
|
|
245
249
|
export const isIdle = (self) => self._tag === 'Idle';
|
|
@@ -391,7 +395,8 @@ export const all = (inputs) => {
|
|
|
391
395
|
}
|
|
392
396
|
return allRecord(inputs);
|
|
393
397
|
};
|
|
394
|
-
/**
|
|
398
|
+
/**
|
|
399
|
+
* Folds a settled `Result` into the previous state, keeping the last good
|
|
395
400
|
* data: a `Result` success becomes `Success`, and a `Result` failure
|
|
396
401
|
* becomes `Stale({ error, data })` when `self` holds data, else a bare
|
|
397
402
|
* `Failure`. The primary way to fold a fetch back into the Model, and the
|
|
@@ -403,24 +408,27 @@ export const all = (inputs) => {
|
|
|
403
408
|
*
|
|
404
409
|
* @example
|
|
405
410
|
* ```ts
|
|
406
|
-
*
|
|
407
|
-
*
|
|
411
|
+
* import { Effect, pipe } from 'effect'
|
|
412
|
+
* import { AsyncData, Command } from 'foldkit'
|
|
413
|
+
*
|
|
414
|
+
* // The Command settles the fetch into a Result instead of throwing:
|
|
415
|
+
* const LoadNotes = Command.define(
|
|
416
|
+
* 'LoadNotes',
|
|
417
|
+
* { messages: [Message.SettledLoadNotes], handler: function* () { return () =>
|
|
418
|
+
* pipe(
|
|
419
|
+
* fetchNotes,
|
|
420
|
+
* Effect.result,
|
|
421
|
+
* Effect.map(result => Message.SettledLoadNotes({ result })),
|
|
422
|
+
* ) }},
|
|
423
|
+
* )
|
|
408
424
|
*
|
|
409
|
-
*
|
|
410
|
-
* const LoadNotes = Command.define('LoadNotes', {
|
|
411
|
-
* messages: [SettledLoadNotes],
|
|
412
|
-
* execute: pipe(
|
|
413
|
-
* fetchNotes,
|
|
414
|
-
* Effect.result,
|
|
415
|
-
* Effect.map(result => SettledLoadNotes({ result })),
|
|
416
|
-
* ),
|
|
417
|
-
* })
|
|
425
|
+
* const EffectsLayer = LoadNotes.layer
|
|
418
426
|
*
|
|
419
|
-
*
|
|
420
|
-
*
|
|
421
|
-
*
|
|
422
|
-
*
|
|
423
|
-
*
|
|
427
|
+
* // One update arm folds it in, whatever the previous state was:
|
|
428
|
+
* SettledLoadNotes: ({ result }) => ({
|
|
429
|
+
* model: modifyFields(model, { notes: AsyncData.settle(result) }),
|
|
430
|
+
* })
|
|
431
|
+
* ```
|
|
424
432
|
*/
|
|
425
433
|
export const settle = Function.dual(2, (self, result) => Result.match(result, {
|
|
426
434
|
onSuccess: data => Success({ data }),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","
|
|
1
|
+
{"version":3,"file":"index.d.ts","sources":["../../src/asyncData/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"public.d.ts","
|
|
1
|
+
{"version":3,"file":"public.d.ts","sources":["../../src/asyncData/public.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,IAAI,EACJ,OAAO,EACP,UAAU,EACV,OAAO,EACP,KAAK,EACL,OAAO,EACP,OAAO,EACP,IAAI,EACJ,MAAM,EACN,KAAK,EACL,SAAS,EACT,mBAAmB,EACnB,GAAG,EACH,QAAQ,EACR,OAAO,EACP,OAAO,EACP,OAAO,EACP,QAAQ,EACR,SAAS,EACT,gBAAgB,EAChB,MAAM,EACN,SAAS,EACT,YAAY,EACZ,SAAS,EACT,OAAO,EACP,SAAS,EACT,OAAO,EACP,QAAQ,EACR,SAAS,EACT,WAAW,EACX,MAAM,EACN,UAAU,EACV,gBAAgB,EAChB,aAAa,EACb,OAAO,EACP,GAAG,EACH,MAAM,GACP,MAAM,YAAY,CAAA;AAEnB,YAAY,EAAE,SAAS,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/** @internal Identifies the checked completion contract without a runtime field. */
|
|
2
|
+
declare const CompletionTypeId: unique symbol;
|
|
3
|
+
/** @internal Records completion through the checked Model and producer boundary. */
|
|
4
|
+
export interface CompletionProof {
|
|
5
|
+
readonly [CompletionTypeId]: true;
|
|
6
|
+
}
|
|
7
|
+
/** @internal Retains the completed contract behind an opaque assembly token. */
|
|
8
|
+
export declare const AssemblyDraftTypeId: unique symbol;
|
|
9
|
+
/**
|
|
10
|
+
* An opaque assembly awaiting `Block.assemble`. Its completed
|
|
11
|
+
* contract is available only after the checked Model and producer boundary.
|
|
12
|
+
*/
|
|
13
|
+
export interface AssemblyDraft<Completed extends object> {
|
|
14
|
+
readonly [AssemblyDraftTypeId]: Completed;
|
|
15
|
+
}
|
|
16
|
+
/** @internal Requires an original Block registered by checked completion. */
|
|
17
|
+
export declare function assertCompletedBlock(block: unknown): asserts block is object & CompletionProof;
|
|
18
|
+
/** @internal Marks a Block derived from a previously checked completed Block. */
|
|
19
|
+
export declare const completeDerivedBlock: <Completed extends object>(block: Completed) => Completed & CompletionProof;
|
|
20
|
+
/** @internal Registers a passive assembly behind an opaque runtime token. */
|
|
21
|
+
export declare const makeAssemblyDraft: <Completed extends object>(block: Completed) => AssemblyDraft<Completed>;
|
|
22
|
+
/** @internal Completes a registered assembly and preserves its original object. */
|
|
23
|
+
export declare const completeAssemblyDraft: (draft: unknown) => object & CompletionProof;
|
|
24
|
+
export {};
|
|
25
|
+
//# sourceMappingURL=assemblyState.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assemblyState.d.ts","sources":["../../src/block/assemblyState.ts"],"names":[],"mappings":"AAEA,oFAAoF;AACpF,OAAO,CAAC,MAAM,gBAAgB,EAAE,OAAO,MAAM,CAAA;AAE7C,oFAAoF;AACpF,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,CAAC,gBAAgB,CAAC,EAAE,IAAI,CAAA;CAClC;AAED,gFAAgF;AAChF,MAAM,CAAC,OAAO,CAAC,MAAM,mBAAmB,EAAE,OAAO,MAAM,CAAA;AAEvD;;;GAGG;AACH,MAAM,WAAW,aAAa,CAAC,SAAS,SAAS,MAAM;IACrD,QAAQ,CAAC,CAAC,mBAAmB,CAAC,EAAE,SAAS,CAAA;CAC1C;AAWD,6EAA6E;AAC7E,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,OAAO,GACb,OAAO,CAAC,KAAK,IAAI,MAAM,GAAG,eAAe,CAM3C;AAED,iFAAiF;AACjF,eAAO,MAAM,oBAAoB,GAAI,SAAS,SAAS,MAAM,SACpD,SAAS,KACf,SAAS,GAAG,eAKd,CAAA;AAED,6EAA6E;AAC7E,eAAO,MAAM,iBAAiB,GAAI,SAAS,SAAS,MAAM,SACjD,SAAS,KACf,aAAa,CAAC,SAAS,CAKzB,CAAA;AAED,mFAAmF;AACnF,eAAO,MAAM,qBAAqB,UACzB,OAAO,KACb,MAAM,GAAG,eAgBX,CAAA"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { Predicate } from 'effect';
|
|
2
|
+
class AssemblyToken {
|
|
3
|
+
}
|
|
4
|
+
const assemblyBlocks = new WeakMap();
|
|
5
|
+
const completedBlocks = new WeakSet();
|
|
6
|
+
/** @internal Requires an original Block registered by checked completion. */
|
|
7
|
+
export function assertCompletedBlock(block) {
|
|
8
|
+
if (!Predicate.isObject(block) || !completedBlocks.has(block)) {
|
|
9
|
+
throw new Error('[foldkit] This operation requires a completed Block. Initialize its FromAssembly annotation with Block.assemble(prepare).');
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
/** @internal Marks a Block derived from a previously checked completed Block. */
|
|
13
|
+
export const completeDerivedBlock = (block) => {
|
|
14
|
+
completedBlocks.add(block);
|
|
15
|
+
assertCompletedBlock(block);
|
|
16
|
+
return block;
|
|
17
|
+
};
|
|
18
|
+
/** @internal Registers a passive assembly behind an opaque runtime token. */
|
|
19
|
+
export const makeAssemblyDraft = (block) => {
|
|
20
|
+
const draft = Object.freeze(new AssemblyToken());
|
|
21
|
+
assemblyBlocks.set(draft, block);
|
|
22
|
+
return draft;
|
|
23
|
+
};
|
|
24
|
+
/** @internal Completes a registered assembly and preserves its original object. */
|
|
25
|
+
export const completeAssemblyDraft = (draft) => {
|
|
26
|
+
if (!Predicate.isObject(draft)) {
|
|
27
|
+
throw new Error('[foldkit] Block.assemble requires a producer returning an original Composition.prepareBlock draft.');
|
|
28
|
+
}
|
|
29
|
+
const block = assemblyBlocks.get(draft);
|
|
30
|
+
if (block === undefined) {
|
|
31
|
+
throw new Error('[foldkit] Block.assemble requires a producer returning an original Composition.prepareBlock draft.');
|
|
32
|
+
}
|
|
33
|
+
return completeDerivedBlock(block);
|
|
34
|
+
};
|