sygnal 5.3.7 → 6.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +646 -0
- package/README.md +77 -47
- package/dist/astro/client.cjs.js +33 -8114
- package/dist/astro/client.cjs.js.map +1 -0
- package/dist/astro/client.mjs +33 -8114
- package/dist/astro/client.mjs.map +1 -0
- package/dist/astro/index.cjs.js +1039 -9
- package/dist/astro/index.cjs.js.map +1 -0
- package/dist/astro/index.mjs +1038 -9
- package/dist/astro/index.mjs.map +1 -0
- package/dist/astro/server.cjs.js +3400 -166
- package/dist/astro/server.cjs.js.map +1 -0
- package/dist/astro/server.mjs +3400 -166
- package/dist/astro/server.mjs.map +1 -0
- package/dist/devtools.cjs.js +1431 -0
- package/dist/devtools.cjs.js.map +1 -0
- package/dist/devtools.esm.js +1419 -0
- package/dist/devtools.esm.js.map +1 -0
- package/dist/diagnostics.cjs.js +4033 -0
- package/dist/diagnostics.cjs.js.map +1 -0
- package/dist/diagnostics.esm.js +4003 -0
- package/dist/diagnostics.esm.js.map +1 -0
- package/dist/element.cjs.js +230 -0
- package/dist/element.cjs.js.map +1 -0
- package/dist/element.esm.js +228 -0
- package/dist/element.esm.js.map +1 -0
- package/dist/guide/accessibility.md +257 -0
- package/dist/guide/adapters.md +221 -0
- package/dist/guide/behaviors.md +312 -0
- package/dist/guide/browser-sources.md +203 -0
- package/dist/guide/drag-and-drop.md +342 -0
- package/dist/guide/element-commands.md +306 -0
- package/dist/guide/error-boundaries.md +169 -0
- package/dist/guide/forms-reference.md +381 -0
- package/dist/guide/forms.md +250 -0
- package/dist/guide/http.md +299 -0
- package/dist/guide/inputs.md +173 -0
- package/dist/guide/persistence.md +245 -0
- package/dist/guide/recipes/carousel.md +155 -0
- package/dist/guide/recipes/charts.md +177 -0
- package/dist/guide/recipes/code-editor.md +135 -0
- package/dist/guide/recipes/data-grid.md +155 -0
- package/dist/guide/recipes/data-table.md +196 -0
- package/dist/guide/recipes/i18n.md +222 -0
- package/dist/guide/recipes/icons.md +115 -0
- package/dist/guide/recipes/overview.md +33 -0
- package/dist/guide/recipes/rich-text.md +154 -0
- package/dist/guide/resources.md +471 -0
- package/dist/guide/ssr.md +255 -0
- package/dist/guide/timers.md +178 -0
- package/dist/guide/ui/accordion.md +93 -0
- package/dist/guide/ui/combobox.md +144 -0
- package/dist/guide/ui/dialog.md +124 -0
- package/dist/guide/ui/disclosure.md +60 -0
- package/dist/guide/ui/menu.md +125 -0
- package/dist/guide/ui/overview.md +166 -0
- package/dist/guide/ui/popover.md +101 -0
- package/dist/guide/ui/select.md +114 -0
- package/dist/guide/ui/tabs.md +161 -0
- package/dist/guide/ui/toaster.md +152 -0
- package/dist/guide/ui/tooltip.md +103 -0
- package/dist/guide/undo.md +178 -0
- package/dist/guide/virtual-collections.md +183 -0
- package/dist/guide/web-components.md +179 -0
- package/dist/guide/widgets.md +217 -0
- package/dist/index.cjs.js +15283 -6279
- package/dist/index.cjs.js.map +1 -0
- package/dist/index.d.ts +3739 -370
- package/dist/index.esm.js +15230 -6274
- package/dist/index.esm.js.map +1 -0
- package/dist/jsx-dev-runtime.cjs.js +27 -329
- package/dist/jsx-dev-runtime.cjs.js.map +1 -0
- package/dist/jsx-dev-runtime.esm.js +20 -322
- package/dist/jsx-dev-runtime.esm.js.map +1 -0
- package/dist/jsx-runtime.cjs.js +27 -329
- package/dist/jsx-runtime.cjs.js.map +1 -0
- package/dist/jsx-runtime.esm.js +20 -322
- package/dist/jsx-runtime.esm.js.map +1 -0
- package/dist/jsx.cjs.js +11 -309
- package/dist/jsx.cjs.js.map +1 -0
- package/dist/jsx.esm.js +9 -310
- package/dist/jsx.esm.js.map +1 -0
- package/dist/react.cjs.js +117 -0
- package/dist/react.cjs.js.map +1 -0
- package/dist/react.esm.js +115 -0
- package/dist/react.esm.js.map +1 -0
- package/dist/shims/globalthis.cjs +20 -0
- package/dist/sygnal.min.js +2 -1
- package/dist/sygnal.min.js.map +1 -0
- package/dist/ui-combobox.cjs.js +169 -0
- package/dist/ui-combobox.cjs.js.map +1 -0
- package/dist/ui-combobox.esm.js +148 -0
- package/dist/ui-combobox.esm.js.map +1 -0
- package/dist/ui-menu.cjs.js +87 -0
- package/dist/ui-menu.cjs.js.map +1 -0
- package/dist/ui-menu.esm.js +66 -0
- package/dist/ui-menu.esm.js.map +1 -0
- package/dist/ui-select.cjs.js +104 -0
- package/dist/ui-select.cjs.js.map +1 -0
- package/dist/ui-select.esm.js +83 -0
- package/dist/ui-select.esm.js.map +1 -0
- package/dist/ui.cjs.js +738 -0
- package/dist/ui.cjs.js.map +1 -0
- package/dist/ui.esm.js +727 -0
- package/dist/ui.esm.js.map +1 -0
- package/dist/vike/ClientOnly.cjs.js +5 -14
- package/dist/vike/ClientOnly.cjs.js.map +1 -0
- package/dist/vike/ClientOnly.mjs +5 -14
- package/dist/vike/ClientOnly.mjs.map +1 -0
- package/dist/vike/{+config.js → config/+config.js} +10 -1
- package/dist/vike/config/+config.js.map +1 -0
- package/dist/vike/config/package.json +6 -0
- package/dist/vike/onRenderClient.cjs.js +166 -95
- package/dist/vike/onRenderClient.cjs.js.map +1 -0
- package/dist/vike/onRenderClient.mjs +166 -95
- package/dist/vike/onRenderClient.mjs.map +1 -0
- package/dist/vike/onRenderHtml.cjs.js +60 -24
- package/dist/vike/onRenderHtml.cjs.js.map +1 -0
- package/dist/vike/onRenderHtml.mjs +61 -25
- package/dist/vike/onRenderHtml.mjs.map +1 -0
- package/dist/vite/plugin.cjs.js +926 -65
- package/dist/vite/plugin.cjs.js.map +1 -0
- package/dist/vite/plugin.mjs +925 -65
- package/dist/vite/plugin.mjs.map +1 -0
- package/dist/zag.cjs.js +408 -0
- package/dist/zag.cjs.js.map +1 -0
- package/dist/zag.esm.js +405 -0
- package/dist/zag.esm.js.map +1 -0
- package/llms.txt +313 -0
- package/package.json +109 -16
- package/src/astro/client.ts +40 -18
- package/src/astro/index.d.ts +48 -1
- package/src/astro/index.ts +106 -9
- package/src/astro/server.ts +11 -3
- package/src/collection.ts +6 -90
- package/src/core/actions.ts +134 -0
- package/src/core/cell.ts +202 -0
- package/src/core/debug.ts +23 -0
- package/src/core/define.ts +242 -0
- package/src/core/hooks.ts +314 -0
- package/src/core/hosts/collection.ts +325 -0
- package/src/core/hosts/switchable.ts +146 -0
- package/src/core/instance.ts +592 -0
- package/src/core/markers/clientonly.ts +13 -0
- package/src/core/markers/lazy.ts +40 -0
- package/src/core/markers/portal.ts +96 -0
- package/src/core/markers/suspense.ts +41 -0
- package/src/core/markers/transition.ts +70 -0
- package/src/core/registry.ts +25 -0
- package/src/core/runtime.ts +573 -0
- package/src/core/statics.ts +104 -0
- package/src/core/teardown.ts +60 -0
- package/src/core/view.ts +37 -0
- package/src/cycle/dom/DocumentDOMSource.ts +13 -8
- package/src/cycle/dom/ElementFinder.ts +7 -9
- package/src/cycle/dom/EventDelegator.ts +174 -223
- package/src/cycle/dom/IsolateModule.ts +65 -35
- package/src/cycle/dom/MainDOMSource.ts +13 -2
- package/src/cycle/dom/PriorityQueue.ts +4 -2
- package/src/cycle/dom/SymbolTree.ts +18 -47
- package/src/cycle/dom/classNameModule.ts +76 -0
- package/src/cycle/dom/controlledInputModule.ts +50 -0
- package/src/cycle/dom/enrichEventStream.ts +29 -45
- package/src/cycle/dom/fragment.ts +7 -0
- package/src/cycle/dom/isolate.ts +30 -27
- package/src/cycle/dom/makeDOMDriver.ts +115 -57
- package/src/cycle/dom/mockDOMSource.ts +83 -9
- package/src/cycle/dom/modules.ts +21 -4
- package/src/cycle/dom/propsModule.ts +65 -0
- package/src/cycle/dom/selectModule.ts +22 -17
- package/src/cycle/dom/snabbdom.ts +1 -6
- package/src/cycle/dom/thunk.ts +3 -0
- package/src/cycle/dom/utils.ts +98 -0
- package/src/cycle/dom/viewTransition.ts +43 -0
- package/src/cycle/state/StateSource.ts +20 -4
- package/src/cycle/state/objIsEqual.ts +50 -0
- package/src/cycle/state/types.ts +0 -10
- package/src/defineComponent.ts +34 -0
- package/src/devtools.d.ts +151 -0
- package/src/devtools.ts +34 -0
- package/src/element.d.ts +59 -0
- package/src/element.ts +235 -0
- package/src/extra/backoff.ts +9 -0
- package/src/extra/behaviors.ts +169 -0
- package/src/extra/browserSignals.ts +23 -0
- package/src/extra/browserSources.ts +326 -0
- package/src/extra/command.ts +3 -3
- package/src/extra/controls.ts +47 -0
- package/src/extra/copyAsTest.ts +286 -0
- package/src/extra/devtools.ts +109 -31
- package/src/extra/devtoolsActions.ts +379 -0
- package/src/extra/devtoolsHook.ts +9 -0
- package/src/extra/devtoolsNext.ts +83 -0
- package/src/extra/diagnostics/checks/actionLog.ts +108 -0
- package/src/extra/diagnostics/checks/behaviors.ts +49 -0
- package/src/extra/diagnostics/checks/browserSources.ts +96 -0
- package/src/extra/diagnostics/checks/collections.ts +67 -0
- package/src/extra/diagnostics/checks/controls.ts +148 -0
- package/src/extra/diagnostics/checks/dataset.ts +57 -0
- package/src/extra/diagnostics/checks/dom.ts +250 -0
- package/src/extra/diagnostics/checks/elementCommands.ts +175 -0
- package/src/extra/diagnostics/checks/events.ts +83 -0
- package/src/extra/diagnostics/checks/fetch.ts +135 -0
- package/src/extra/diagnostics/checks/forms.ts +163 -0
- package/src/extra/diagnostics/checks/index.ts +202 -0
- package/src/extra/diagnostics/checks/inspect.ts +427 -0
- package/src/extra/diagnostics/checks/next.ts +417 -0
- package/src/extra/diagnostics/checks/persist.ts +54 -0
- package/src/extra/diagnostics/checks/props.ts +56 -0
- package/src/extra/diagnostics/checks/public.d.ts +302 -0
- package/src/extra/diagnostics/checks/replies.ts +128 -0
- package/src/extra/diagnostics/checks/router.ts +100 -0
- package/src/extra/diagnostics/checks/rxjsHints.ts +88 -0
- package/src/extra/diagnostics/checks/shared.ts +203 -0
- package/src/extra/diagnostics/checks/shorthand.ts +115 -0
- package/src/extra/diagnostics/checks/sortable.ts +129 -0
- package/src/extra/diagnostics/checks/state.ts +148 -0
- package/src/extra/diagnostics/checks/statics.ts +48 -0
- package/src/extra/diagnostics/checks/strict.ts +55 -0
- package/src/extra/diagnostics/checks/timers.ts +80 -0
- package/src/extra/diagnostics/checks/viewTransitions.ts +47 -0
- package/src/extra/diagnostics/checks/virtual.ts +73 -0
- package/src/extra/diagnostics/checks/widgets.ts +109 -0
- package/src/extra/diagnostics/checks/wiring.ts +121 -0
- package/src/extra/diagnostics/codes.ts +477 -0
- package/src/extra/diagnostics/index.ts +353 -0
- package/src/extra/diagnostics/legacy.ts +76 -0
- package/src/extra/driverFactories.ts +172 -60
- package/src/extra/elementCommands.ts +53 -0
- package/src/extra/eventDriver.ts +4 -0
- package/src/extra/fetchDriver.ts +519 -0
- package/src/extra/flatten.ts +75 -0
- package/src/extra/focusWithin.ts +27 -0
- package/src/extra/form.ts +268 -0
- package/src/extra/formHelpers.ts +139 -0
- package/src/extra/head.ts +106 -0
- package/src/extra/hmr.ts +2 -3
- package/src/extra/owned.ts +24 -0
- package/src/extra/pager.ts +50 -0
- package/src/extra/persist.ts +133 -0
- package/src/extra/pwa.ts +1 -1
- package/src/extra/queryCache.ts +107 -0
- package/src/extra/reducers.ts +13 -6
- package/src/extra/reduxDevtools.ts +92 -0
- package/src/extra/replies.ts +54 -0
- package/src/extra/router.ts +323 -0
- package/src/extra/run.ts +94 -210
- package/src/extra/selection.ts +76 -0
- package/src/extra/socketDriver.ts +265 -0
- package/src/extra/sortable.ts +377 -0
- package/src/extra/ssr.ts +427 -160
- package/src/extra/standardSchema.ts +27 -0
- package/src/extra/testing.ts +3158 -190
- package/src/extra/timers.ts +95 -0
- package/src/extra/undo.ts +261 -0
- package/src/extra/viewTransitions.ts +38 -0
- package/src/extra/virtual.ts +513 -0
- package/src/extra/widget.ts +201 -0
- package/src/extra/xstreamExtras.ts +269 -0
- package/src/index.d.ts +3012 -87
- package/src/index.ts +32 -10
- package/src/jsx-runtime.ts +15 -1
- package/src/jsx.ts +2 -1
- package/src/lazy.ts +50 -7
- package/src/portal.ts +3 -1
- package/src/pragma/index.ts +262 -134
- package/src/react-peers.d.ts +5 -0
- package/src/react.d.ts +43 -0
- package/src/react.ts +110 -0
- package/src/shared.ts +48 -0
- package/src/slot.ts +1 -1
- package/src/suspense.ts +3 -1
- package/src/switchable.ts +6 -119
- package/src/transition.ts +3 -1
- package/src/ui/accordion.ts +64 -0
- package/src/ui/dialog.ts +129 -0
- package/src/ui/disclosure.ts +35 -0
- package/src/ui/popover.ts +45 -0
- package/src/ui/shared.ts +94 -0
- package/src/ui/tabs.ts +82 -0
- package/src/ui/toaster.ts +198 -0
- package/src/ui/tooltip.ts +70 -0
- package/src/ui/zag/combobox.ts +115 -0
- package/src/ui/zag/menu.ts +40 -0
- package/src/ui/zag/select.ts +54 -0
- package/src/ui/zag/shared.ts +43 -0
- package/src/ui-combobox.d.ts +20 -0
- package/src/ui-combobox.ts +6 -0
- package/src/ui-menu.d.ts +30 -0
- package/src/ui-menu.ts +6 -0
- package/src/ui-select.d.ts +17 -0
- package/src/ui-select.ts +6 -0
- package/src/ui-zag-types.d.ts +42 -0
- package/src/ui.d.ts +208 -0
- package/src/ui.ts +15 -0
- package/src/vike/+config.ts +9 -1
- package/src/vike/ClientOnly.ts +1 -1
- package/src/vike/onRenderClient.ts +144 -96
- package/src/vike/onRenderHtml.ts +69 -26
- package/src/vike/types.ts +27 -4
- package/src/vite/globalthis-shim.ts +18 -0
- package/src/vite/globalthis.ts +56 -0
- package/src/vite/plugin.d.ts +114 -2
- package/src/vite/plugin.ts +920 -56
- package/src/zag.d.ts +64 -0
- package/src/zag.ts +238 -0
- package/dist/astro/astro/client.d.ts +0 -5
- package/dist/astro/astro/index.d.ts +0 -16
- package/dist/astro/astro/server.d.ts +0 -12
- package/dist/astro/client.d.ts +0 -5
- package/dist/astro/client.esm.js +0 -4665
- package/dist/astro/collection.d.ts +0 -12
- package/dist/astro/component.d.ts +0 -22
- package/dist/astro/cycle/dom/BodyDOMSource.d.ts +0 -10
- package/dist/astro/cycle/dom/DOMSource.d.ts +0 -11
- package/dist/astro/cycle/dom/DocumentDOMSource.d.ts +0 -12
- package/dist/astro/cycle/dom/ElementFinder.d.ts +0 -8
- package/dist/astro/cycle/dom/EventDelegator.d.ts +0 -34
- package/dist/astro/cycle/dom/IsolateModule.d.ts +0 -23
- package/dist/astro/cycle/dom/MainDOMSource.d.ts +0 -32
- package/dist/astro/cycle/dom/PriorityQueue.d.ts +0 -7
- package/dist/astro/cycle/dom/ScopeChecker.d.ts +0 -9
- package/dist/astro/cycle/dom/SymbolTree.d.ts +0 -9
- package/dist/astro/cycle/dom/VNodeWrapper.d.ts +0 -8
- package/dist/astro/cycle/dom/enrichEventStream.d.ts +0 -24
- package/dist/astro/cycle/dom/fromEvent.d.ts +0 -6
- package/dist/astro/cycle/dom/index.d.ts +0 -8
- package/dist/astro/cycle/dom/isolate.d.ts +0 -9
- package/dist/astro/cycle/dom/makeDOMDriver.d.ts +0 -11
- package/dist/astro/cycle/dom/mockDOMSource.d.ts +0 -17
- package/dist/astro/cycle/dom/modules.d.ts +0 -5
- package/dist/astro/cycle/dom/snabbdom.d.ts +0 -22
- package/dist/astro/cycle/dom/styleModule.d.ts +0 -13
- package/dist/astro/cycle/dom/thunk.d.ts +0 -11
- package/dist/astro/cycle/dom/utils.d.ts +0 -8
- package/dist/astro/cycle/isolate/index.d.ts +0 -42
- package/dist/astro/cycle/run/adapt.d.ts +0 -6
- package/dist/astro/cycle/run/index.d.ts +0 -36
- package/dist/astro/cycle/run/internals.d.ts +0 -8
- package/dist/astro/cycle/run/types.d.ts +0 -49
- package/dist/astro/cycle/state/Collection.d.ts +0 -29
- package/dist/astro/cycle/state/StateSource.d.ts +0 -20
- package/dist/astro/cycle/state/index.d.ts +0 -5
- package/dist/astro/cycle/state/pickCombine.d.ts +0 -3
- package/dist/astro/cycle/state/pickMerge.d.ts +0 -3
- package/dist/astro/cycle/state/types.d.ts +0 -18
- package/dist/astro/cycle/state/withState.d.ts +0 -17
- package/dist/astro/extra/classes.d.ts +0 -7
- package/dist/astro/extra/devtools.d.ts +0 -78
- package/dist/astro/extra/dragDriver.d.ts +0 -20
- package/dist/astro/extra/driverFactories.d.ts +0 -12
- package/dist/astro/extra/eventDriver.d.ts +0 -9
- package/dist/astro/extra/exactState.d.ts +0 -1
- package/dist/astro/extra/hmr.d.ts +0 -17
- package/dist/astro/extra/logDriver.d.ts +0 -2
- package/dist/astro/extra/processDrag.d.ts +0 -19
- package/dist/astro/extra/processForm.d.ts +0 -15
- package/dist/astro/extra/run.d.ts +0 -13
- package/dist/astro/extra/xstreamCompat.d.ts +0 -5
- package/dist/astro/index.d.ts +0 -19
- package/dist/astro/index.esm.js +0 -27
- package/dist/astro/jsx-dev-runtime.d.ts +0 -1
- package/dist/astro/jsx-runtime.d.ts +0 -4
- package/dist/astro/jsx.d.ts +0 -2
- package/dist/astro/pragma/fn.d.ts +0 -7
- package/dist/astro/pragma/index.d.ts +0 -7
- package/dist/astro/pragma/is.d.ts +0 -10
- package/dist/astro/server.d.ts +0 -12
- package/dist/astro/server.esm.js +0 -25
- package/dist/astro/switchable.d.ts +0 -7
- package/dist/collection.d.ts +0 -12
- package/dist/component.d.ts +0 -22
- package/dist/cycle/dom/BodyDOMSource.d.ts +0 -10
- package/dist/cycle/dom/DOMSource.d.ts +0 -11
- package/dist/cycle/dom/DocumentDOMSource.d.ts +0 -12
- package/dist/cycle/dom/ElementFinder.d.ts +0 -8
- package/dist/cycle/dom/EventDelegator.d.ts +0 -34
- package/dist/cycle/dom/IsolateModule.d.ts +0 -23
- package/dist/cycle/dom/MainDOMSource.d.ts +0 -32
- package/dist/cycle/dom/PriorityQueue.d.ts +0 -7
- package/dist/cycle/dom/ScopeChecker.d.ts +0 -9
- package/dist/cycle/dom/SymbolTree.d.ts +0 -9
- package/dist/cycle/dom/VNodeWrapper.d.ts +0 -8
- package/dist/cycle/dom/enrichEventStream.d.ts +0 -24
- package/dist/cycle/dom/fromEvent.d.ts +0 -6
- package/dist/cycle/dom/index.d.ts +0 -8
- package/dist/cycle/dom/isolate.d.ts +0 -9
- package/dist/cycle/dom/makeDOMDriver.d.ts +0 -11
- package/dist/cycle/dom/mockDOMSource.d.ts +0 -17
- package/dist/cycle/dom/modules.d.ts +0 -5
- package/dist/cycle/dom/snabbdom.d.ts +0 -22
- package/dist/cycle/dom/styleModule.d.ts +0 -13
- package/dist/cycle/dom/thunk.d.ts +0 -11
- package/dist/cycle/dom/utils.d.ts +0 -8
- package/dist/cycle/isolate/index.d.ts +0 -42
- package/dist/cycle/run/adapt.d.ts +0 -6
- package/dist/cycle/run/index.d.ts +0 -36
- package/dist/cycle/run/internals.d.ts +0 -8
- package/dist/cycle/run/types.d.ts +0 -49
- package/dist/cycle/state/Collection.d.ts +0 -29
- package/dist/cycle/state/StateSource.d.ts +0 -20
- package/dist/cycle/state/index.d.ts +0 -5
- package/dist/cycle/state/pickCombine.d.ts +0 -3
- package/dist/cycle/state/pickMerge.d.ts +0 -3
- package/dist/cycle/state/types.d.ts +0 -18
- package/dist/cycle/state/withState.d.ts +0 -17
- package/dist/extra/classes.d.ts +0 -7
- package/dist/extra/devtools.d.ts +0 -78
- package/dist/extra/dragDriver.d.ts +0 -20
- package/dist/extra/driverFactories.d.ts +0 -12
- package/dist/extra/eventDriver.d.ts +0 -9
- package/dist/extra/exactState.d.ts +0 -1
- package/dist/extra/hmr.d.ts +0 -17
- package/dist/extra/logDriver.d.ts +0 -2
- package/dist/extra/processDrag.d.ts +0 -19
- package/dist/extra/processForm.d.ts +0 -15
- package/dist/extra/run.d.ts +0 -13
- package/dist/extra/xstreamCompat.d.ts +0 -5
- package/dist/jsx-dev-runtime.d.ts +0 -1
- package/dist/jsx-dev-runtime.js +0 -224
- package/dist/jsx-runtime.d.ts +0 -4
- package/dist/jsx-runtime.js +0 -224
- package/dist/jsx.d.ts +0 -2
- package/dist/pragma/fn.d.ts +0 -7
- package/dist/pragma/index.d.ts +0 -7
- package/dist/pragma/is.d.ts +0 -10
- package/dist/switchable.d.ts +0 -7
- package/dist/vike/+config.cjs.js +0 -65
- package/src/component.ts +0 -2256
- package/src/cycle/isolate/index.ts +0 -196
- package/src/cycle/run/index.ts +0 -151
- package/src/cycle/run/internals.ts +0 -143
- package/src/cycle/state/Collection.ts +0 -174
- package/src/cycle/state/index.ts +0 -5
- package/src/cycle/state/pickCombine.ts +0 -167
- package/src/cycle/state/pickMerge.ts +0 -122
- package/src/cycle/state/withState.ts +0 -47
- package/src/pragma/fn.ts +0 -55
|
@@ -1,167 +0,0 @@
|
|
|
1
|
-
import xs, {Stream, InternalListener, OutSender, Operator, NO} from 'xstream';
|
|
2
|
-
import {InternalInstances} from './types';
|
|
3
|
-
|
|
4
|
-
class PickCombineListener<Si, T>
|
|
5
|
-
implements InternalListener<T>, OutSender<Array<T>> {
|
|
6
|
-
private key: string;
|
|
7
|
-
public out: Stream<Array<T>>;
|
|
8
|
-
public p: PickCombine<Si, T>;
|
|
9
|
-
public val: T;
|
|
10
|
-
public ins: Stream<T>;
|
|
11
|
-
|
|
12
|
-
constructor(
|
|
13
|
-
key: string,
|
|
14
|
-
out: Stream<Array<T>>,
|
|
15
|
-
p: PickCombine<Si, T>,
|
|
16
|
-
ins: Stream<T>
|
|
17
|
-
) {
|
|
18
|
-
this.key = key;
|
|
19
|
-
this.out = out;
|
|
20
|
-
this.p = p;
|
|
21
|
-
this.val = NO as any;
|
|
22
|
-
this.ins = ins;
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
public _n(t: T): void {
|
|
26
|
-
const p = this.p,
|
|
27
|
-
out = this.out;
|
|
28
|
-
this.val = t;
|
|
29
|
-
if (out === null) {
|
|
30
|
-
return;
|
|
31
|
-
}
|
|
32
|
-
this.p.up();
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
public _e(err: any): void {
|
|
36
|
-
const out = this.out;
|
|
37
|
-
if (out === null) {
|
|
38
|
-
return;
|
|
39
|
-
}
|
|
40
|
-
out._e(err);
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
public _c(): void {}
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
class PickCombine<Si, R> implements Operator<InternalInstances<Si>, Array<R>> {
|
|
47
|
-
public type = 'combine';
|
|
48
|
-
public ins: Stream<InternalInstances<Si>>;
|
|
49
|
-
public out: Stream<Array<R>>;
|
|
50
|
-
public sel: string;
|
|
51
|
-
public ils: Map<string, PickCombineListener<Si, R>>;
|
|
52
|
-
public inst: InternalInstances<Si>;
|
|
53
|
-
|
|
54
|
-
constructor(sel: string, ins: Stream<InternalInstances<Si>>) {
|
|
55
|
-
this.ins = ins;
|
|
56
|
-
this.sel = sel;
|
|
57
|
-
this.out = null as any;
|
|
58
|
-
this.ils = new Map();
|
|
59
|
-
this.inst = null as any;
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
public _start(out: Stream<Array<R>>): void {
|
|
63
|
-
this.out = out;
|
|
64
|
-
this.ins._add(this);
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
public _stop(): void {
|
|
68
|
-
this.ins._remove(this);
|
|
69
|
-
const ils = this.ils;
|
|
70
|
-
ils.forEach(il => {
|
|
71
|
-
il.ins._remove(il);
|
|
72
|
-
il.ins = null as any;
|
|
73
|
-
il.out = null as any;
|
|
74
|
-
il.val = null as any;
|
|
75
|
-
});
|
|
76
|
-
ils.clear();
|
|
77
|
-
this.out = null as any;
|
|
78
|
-
this.ils = new Map();
|
|
79
|
-
this.inst = null as any;
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
public up(): void {
|
|
83
|
-
const arr = this.inst.arr;
|
|
84
|
-
const n = arr.length;
|
|
85
|
-
const ils = this.ils;
|
|
86
|
-
const outArr: Array<R> = Array(n);
|
|
87
|
-
for (let i = 0; i < n; ++i) {
|
|
88
|
-
const sinks = arr[i];
|
|
89
|
-
const key = (sinks as any)._key as string;
|
|
90
|
-
if (!ils.has(key)) {
|
|
91
|
-
return;
|
|
92
|
-
}
|
|
93
|
-
const val = (ils.get(key) as any).val;
|
|
94
|
-
if (val === NO) {
|
|
95
|
-
return;
|
|
96
|
-
}
|
|
97
|
-
outArr[i] = val;
|
|
98
|
-
}
|
|
99
|
-
this.out._n(outArr);
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
public _n(inst: InternalInstances<Si>): void {
|
|
103
|
-
this.inst = inst;
|
|
104
|
-
const arrSinks = inst.arr;
|
|
105
|
-
const ils = this.ils;
|
|
106
|
-
const out = this.out;
|
|
107
|
-
const sel = this.sel;
|
|
108
|
-
const dict = inst.dict;
|
|
109
|
-
const n = arrSinks.length;
|
|
110
|
-
// remove
|
|
111
|
-
let removed = false;
|
|
112
|
-
ils.forEach((il, key) => {
|
|
113
|
-
if (!dict.has(key)) {
|
|
114
|
-
il.ins._remove(il);
|
|
115
|
-
il.ins = null as any;
|
|
116
|
-
il.out = null as any;
|
|
117
|
-
il.val = null as any;
|
|
118
|
-
ils.delete(key);
|
|
119
|
-
removed = true;
|
|
120
|
-
}
|
|
121
|
-
});
|
|
122
|
-
if (n === 0) {
|
|
123
|
-
out._n([]);
|
|
124
|
-
return;
|
|
125
|
-
}
|
|
126
|
-
// add
|
|
127
|
-
for (let i = 0; i < n; ++i) {
|
|
128
|
-
const sinks = arrSinks[i];
|
|
129
|
-
const key = (sinks as any)._key as string;
|
|
130
|
-
if (!(sinks as any)[sel]) {
|
|
131
|
-
throw new Error('pickCombine found an undefined child sink stream');
|
|
132
|
-
}
|
|
133
|
-
const sink: Stream<any> = xs.fromObservable((sinks as any)[sel]);
|
|
134
|
-
if (!ils.has(key)) {
|
|
135
|
-
ils.set(key, new PickCombineListener(key, out, this, sink));
|
|
136
|
-
sink._add(ils.get(key) as PickCombineListener<Si, R>);
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
if (removed) {
|
|
140
|
-
this.up();
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
|
|
144
|
-
public _e(e: any): void {
|
|
145
|
-
const out = this.out;
|
|
146
|
-
if (out === null) {
|
|
147
|
-
return;
|
|
148
|
-
}
|
|
149
|
-
out._e(e);
|
|
150
|
-
}
|
|
151
|
-
|
|
152
|
-
public _c(): void {
|
|
153
|
-
const out = this.out;
|
|
154
|
-
if (out === null) {
|
|
155
|
-
return;
|
|
156
|
-
}
|
|
157
|
-
out._c();
|
|
158
|
-
}
|
|
159
|
-
}
|
|
160
|
-
|
|
161
|
-
export function pickCombine(selector: string) {
|
|
162
|
-
return function pickCombineOperator(
|
|
163
|
-
inst$: Stream<InternalInstances<any>>
|
|
164
|
-
): Stream<Array<any>> {
|
|
165
|
-
return new Stream(new PickCombine(selector, inst$));
|
|
166
|
-
};
|
|
167
|
-
}
|
|
@@ -1,122 +0,0 @@
|
|
|
1
|
-
import xs, {Stream, InternalListener, OutSender, Operator} from 'xstream';
|
|
2
|
-
import {InternalInstances} from './types';
|
|
3
|
-
|
|
4
|
-
class PickMergeListener<Si, T> implements InternalListener<T>, OutSender<T> {
|
|
5
|
-
public ins: Stream<T>;
|
|
6
|
-
public out: Stream<T>;
|
|
7
|
-
public p: PickMerge<Si, T>;
|
|
8
|
-
|
|
9
|
-
constructor(out: Stream<T>, p: PickMerge<Si, T>, ins: Stream<T>) {
|
|
10
|
-
this.ins = ins;
|
|
11
|
-
this.out = out;
|
|
12
|
-
this.p = p;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
public _n(t: T): void {
|
|
16
|
-
const p = this.p,
|
|
17
|
-
out = this.out;
|
|
18
|
-
if (out === null) {
|
|
19
|
-
return;
|
|
20
|
-
}
|
|
21
|
-
out._n(t);
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
public _e(err: any): void {
|
|
25
|
-
const out = this.out;
|
|
26
|
-
if (out === null) {
|
|
27
|
-
return;
|
|
28
|
-
}
|
|
29
|
-
out._e(err);
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
public _c(): void {}
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
class PickMerge<Si, T> implements Operator<InternalInstances<Si>, T> {
|
|
36
|
-
public type = 'pickMerge';
|
|
37
|
-
public ins: Stream<InternalInstances<Si>>;
|
|
38
|
-
public out: Stream<T>;
|
|
39
|
-
public sel: string;
|
|
40
|
-
public ils: Map<string, PickMergeListener<Si, T>>;
|
|
41
|
-
public inst: InternalInstances<Si>;
|
|
42
|
-
|
|
43
|
-
constructor(sel: string, ins: Stream<InternalInstances<Si>>) {
|
|
44
|
-
this.ins = ins;
|
|
45
|
-
this.out = null as any;
|
|
46
|
-
this.sel = sel;
|
|
47
|
-
this.ils = new Map();
|
|
48
|
-
this.inst = null as any;
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
public _start(out: Stream<T>): void {
|
|
52
|
-
this.out = out;
|
|
53
|
-
this.ins._add(this);
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
public _stop(): void {
|
|
57
|
-
this.ins._remove(this);
|
|
58
|
-
const ils = this.ils;
|
|
59
|
-
ils.forEach((il, key) => {
|
|
60
|
-
il.ins._remove(il);
|
|
61
|
-
il.ins = null as any;
|
|
62
|
-
il.out = null as any;
|
|
63
|
-
ils.delete(key);
|
|
64
|
-
});
|
|
65
|
-
ils.clear();
|
|
66
|
-
this.out = null as any;
|
|
67
|
-
this.ils = new Map();
|
|
68
|
-
this.inst = null as any;
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
public _n(inst: InternalInstances<Si>): void {
|
|
72
|
-
this.inst = inst;
|
|
73
|
-
const arrSinks = inst.arr;
|
|
74
|
-
const ils = this.ils;
|
|
75
|
-
const out = this.out;
|
|
76
|
-
const sel = this.sel;
|
|
77
|
-
const n = arrSinks.length;
|
|
78
|
-
// add
|
|
79
|
-
for (let i = 0; i < n; ++i) {
|
|
80
|
-
const sinks = arrSinks[i];
|
|
81
|
-
const key = (sinks as any)._key as string;
|
|
82
|
-
const sink: Stream<any> = xs.fromObservable((sinks as any)[sel] || xs.never());
|
|
83
|
-
if (!ils.has(key)) {
|
|
84
|
-
ils.set(key, new PickMergeListener(out, this, sink));
|
|
85
|
-
sink._add(ils.get(key) as PickMergeListener<Si, T>);
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
// remove
|
|
89
|
-
ils.forEach((il, key) => {
|
|
90
|
-
if (!inst.dict.has(key) || !inst.dict.get(key)) {
|
|
91
|
-
il.ins._remove(il);
|
|
92
|
-
il.ins = null as any;
|
|
93
|
-
il.out = null as any;
|
|
94
|
-
ils.delete(key);
|
|
95
|
-
}
|
|
96
|
-
});
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
public _e(err: any) {
|
|
100
|
-
const u = this.out;
|
|
101
|
-
if (u === null) {
|
|
102
|
-
return;
|
|
103
|
-
}
|
|
104
|
-
u._e(err);
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
public _c() {
|
|
108
|
-
const u = this.out;
|
|
109
|
-
if (u === null) {
|
|
110
|
-
return;
|
|
111
|
-
}
|
|
112
|
-
u._c();
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
export function pickMerge(selector: string) {
|
|
117
|
-
return function pickMergeOperator(
|
|
118
|
-
inst$: Stream<InternalInstances<any>>
|
|
119
|
-
): Stream<any> {
|
|
120
|
-
return new Stream(new PickMerge(selector, inst$));
|
|
121
|
-
};
|
|
122
|
-
}
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import xs, {Stream} from 'xstream';
|
|
2
|
-
import concat from 'xstream/extra/concat.js';
|
|
3
|
-
import {MainFn, Reducer} from './types';
|
|
4
|
-
import {StateSource} from './StateSource';
|
|
5
|
-
|
|
6
|
-
export type Omit<T, K extends keyof T> = {[P in Exclude<keyof T, K>]: T[P]};
|
|
7
|
-
|
|
8
|
-
export type Forbid<T, K extends keyof T> = Omit<T, K> & {[P in K]?: never};
|
|
9
|
-
|
|
10
|
-
export type OSo<T, N extends string> = {[P in N]: StateSource<T>};
|
|
11
|
-
export type OSi<T, N extends string> = {[P in N]: Stream<Reducer<T>>};
|
|
12
|
-
|
|
13
|
-
export type MainWithState<
|
|
14
|
-
So extends OSo<T, N>,
|
|
15
|
-
Si extends OSi<T, N>,
|
|
16
|
-
T,
|
|
17
|
-
N extends string
|
|
18
|
-
> = MainFn<Forbid<So, N>, Omit<Si, N>>;
|
|
19
|
-
|
|
20
|
-
export function withState<
|
|
21
|
-
So extends OSo<T, N>,
|
|
22
|
-
Si extends OSi<T, N>,
|
|
23
|
-
T = any,
|
|
24
|
-
N extends string = 'state'
|
|
25
|
-
>(main: MainFn<So, Si>, name: N = 'state' as N): MainWithState<So, Si, T, N> {
|
|
26
|
-
return function mainWithState(sources: Forbid<So, N>): Omit<Si, N> {
|
|
27
|
-
const reducerMimic$ = xs.create<Reducer<T>>();
|
|
28
|
-
const state$ = reducerMimic$
|
|
29
|
-
.fold((state, reducer) => reducer(state), void 0 as T | undefined)
|
|
30
|
-
.drop(1);
|
|
31
|
-
const innerSources: So = sources as any;
|
|
32
|
-
(innerSources as any)[name] = new StateSource<any>(state$, name);
|
|
33
|
-
const sinks = main(innerSources);
|
|
34
|
-
if (sinks[name]) {
|
|
35
|
-
const stream$ = concat(
|
|
36
|
-
xs.fromObservable<Reducer<T>>(sinks[name]),
|
|
37
|
-
xs.never()
|
|
38
|
-
);
|
|
39
|
-
stream$.subscribe({
|
|
40
|
-
next: i => queueMicrotask(() => reducerMimic$._n(i)),
|
|
41
|
-
error: err => queueMicrotask(() => reducerMimic$._e(err)),
|
|
42
|
-
complete: () => queueMicrotask(() => reducerMimic$._c()),
|
|
43
|
-
});
|
|
44
|
-
}
|
|
45
|
-
return sinks as any;
|
|
46
|
-
};
|
|
47
|
-
}
|
package/src/pragma/fn.ts
DELETED
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
// TODO: stop using extend here
|
|
2
|
-
// @ts-ignore — no type declarations for 'extend'
|
|
3
|
-
import _extend from 'extend'
|
|
4
|
-
|
|
5
|
-
import * as is from './is'
|
|
6
|
-
|
|
7
|
-
export const extend = (...objs: any[]): any => _extend(true, ...objs)
|
|
8
|
-
|
|
9
|
-
export const assign = (...objs: any[]): any => _extend(false, ...objs)
|
|
10
|
-
|
|
11
|
-
export const reduceDeep = <T>(arr: any[], fn: (acc: T, value: any) => T, initial: T): T => {
|
|
12
|
-
let result = initial
|
|
13
|
-
for (let i = 0; i < arr.length; i++) {
|
|
14
|
-
const value = arr[i]
|
|
15
|
-
if (is.array(value)) {
|
|
16
|
-
result = reduceDeep(value, fn, result)
|
|
17
|
-
} else {
|
|
18
|
-
result = fn(result, value)
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
return result
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
export const mapObject = (obj: Record<string, any>, fn: (key: string, val: any) => any): any => Object.keys(obj).map(
|
|
25
|
-
(key) => fn(key, obj[key])
|
|
26
|
-
).reduce(
|
|
27
|
-
(acc: any, curr: any) => extend(acc, curr),
|
|
28
|
-
{}
|
|
29
|
-
)
|
|
30
|
-
|
|
31
|
-
export const deepifyKeys = (obj: Record<string, any>, modules: Record<string, any>): any => mapObject(obj,
|
|
32
|
-
(key: string, val: any) => {
|
|
33
|
-
const dashIndex = key.indexOf('-')
|
|
34
|
-
if (dashIndex > -1 && modules[key.slice(0, dashIndex)] !== undefined) {
|
|
35
|
-
const moduleData = {
|
|
36
|
-
[key.slice(dashIndex + 1)]: val
|
|
37
|
-
}
|
|
38
|
-
return {
|
|
39
|
-
[key.slice(0, dashIndex)]: moduleData
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
return { [key]: val }
|
|
43
|
-
}
|
|
44
|
-
)
|
|
45
|
-
|
|
46
|
-
export const flatifyKeys = (obj: Record<string, any>): any => mapObject(obj,
|
|
47
|
-
(mod: string, data: any) => !is.object(data) ? ({ [mod]: data }) : mapObject(
|
|
48
|
-
flatifyKeys(data),
|
|
49
|
-
(key: string, val: any) => ({ [`${mod}-${key}`]: val })
|
|
50
|
-
)
|
|
51
|
-
)
|
|
52
|
-
|
|
53
|
-
export const omit = (key: string, obj: Record<string, any>): any => mapObject(obj,
|
|
54
|
-
(mod: string, data: any) => mod !== key ? ({ [mod]: data }) : {}
|
|
55
|
-
)
|