sygnal 5.3.7 → 5.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.
Files changed (226) hide show
  1. package/README.md +53 -38
  2. package/dist/astro/client.cjs.js +18 -8106
  3. package/dist/astro/client.cjs.js.map +1 -0
  4. package/dist/astro/client.mjs +17 -8105
  5. package/dist/astro/client.mjs.map +1 -0
  6. package/dist/astro/index.cjs.js +768 -9
  7. package/dist/astro/index.cjs.js.map +1 -0
  8. package/dist/astro/index.mjs +768 -9
  9. package/dist/astro/index.mjs.map +1 -0
  10. package/dist/astro/server.cjs.js +4 -1
  11. package/dist/astro/server.cjs.js.map +1 -0
  12. package/dist/astro/server.mjs +4 -1
  13. package/dist/astro/server.mjs.map +1 -0
  14. package/dist/diagnostics.cjs.js +1297 -0
  15. package/dist/diagnostics.cjs.js.map +1 -0
  16. package/dist/diagnostics.esm.js +1267 -0
  17. package/dist/diagnostics.esm.js.map +1 -0
  18. package/dist/index.cjs.js +2981 -1386
  19. package/dist/index.cjs.js.map +1 -0
  20. package/dist/index.d.ts +848 -111
  21. package/dist/index.esm.js +2997 -1411
  22. package/dist/index.esm.js.map +1 -0
  23. package/dist/jsx-dev-runtime.cjs.js +15 -9
  24. package/dist/jsx-dev-runtime.cjs.js.map +1 -0
  25. package/dist/jsx-dev-runtime.esm.js +15 -9
  26. package/dist/jsx-dev-runtime.esm.js.map +1 -0
  27. package/dist/jsx-runtime.cjs.js +15 -9
  28. package/dist/jsx-runtime.cjs.js.map +1 -0
  29. package/dist/jsx-runtime.esm.js +15 -9
  30. package/dist/jsx-runtime.esm.js.map +1 -0
  31. package/dist/jsx.cjs.js +15 -9
  32. package/dist/jsx.cjs.js.map +1 -0
  33. package/dist/jsx.esm.js +15 -9
  34. package/dist/jsx.esm.js.map +1 -0
  35. package/dist/sygnal.min.js +2 -1
  36. package/dist/sygnal.min.js.map +1 -0
  37. package/dist/vike/+config.cjs.js +1 -0
  38. package/dist/vike/+config.cjs.js.map +1 -0
  39. package/dist/vike/+config.js +1 -0
  40. package/dist/vike/+config.js.map +1 -0
  41. package/dist/vike/ClientOnly.cjs.js +1 -0
  42. package/dist/vike/ClientOnly.cjs.js.map +1 -0
  43. package/dist/vike/ClientOnly.mjs +1 -0
  44. package/dist/vike/ClientOnly.mjs.map +1 -0
  45. package/dist/vike/onRenderClient.cjs.js +1 -0
  46. package/dist/vike/onRenderClient.cjs.js.map +1 -0
  47. package/dist/vike/onRenderClient.mjs +1 -0
  48. package/dist/vike/onRenderClient.mjs.map +1 -0
  49. package/dist/vike/onRenderHtml.cjs.js +1 -0
  50. package/dist/vike/onRenderHtml.cjs.js.map +1 -0
  51. package/dist/vike/onRenderHtml.mjs +1 -0
  52. package/dist/vike/onRenderHtml.mjs.map +1 -0
  53. package/dist/vite/plugin.cjs.js +670 -44
  54. package/dist/vite/plugin.cjs.js.map +1 -0
  55. package/dist/vite/plugin.mjs +670 -44
  56. package/dist/vite/plugin.mjs.map +1 -0
  57. package/llms.txt +250 -0
  58. package/package.json +15 -6
  59. package/src/astro/client.ts +13 -2
  60. package/src/astro/index.d.ts +24 -1
  61. package/src/astro/index.ts +40 -9
  62. package/src/astro/server.ts +3 -1
  63. package/src/collection.ts +5 -2
  64. package/src/component.ts +375 -330
  65. package/src/cycle/dom/MainDOMSource.ts +4 -0
  66. package/src/cycle/dom/classNameModule.ts +74 -0
  67. package/src/cycle/dom/controlledInputModule.ts +33 -0
  68. package/src/cycle/dom/enrichEventStream.ts +9 -3
  69. package/src/cycle/dom/makeDOMDriver.ts +1 -2
  70. package/src/cycle/dom/mockDOMSource.ts +62 -8
  71. package/src/cycle/dom/modules.ts +5 -1
  72. package/src/cycle/state/Collection.ts +13 -3
  73. package/src/cycle/state/StateSource.ts +1 -1
  74. package/src/cycle/state/pickCombine.ts +35 -1
  75. package/src/cycle/state/withState.ts +1 -1
  76. package/src/extra/devtools.ts +8 -0
  77. package/src/extra/diagnostics/checks/collections.ts +67 -0
  78. package/src/extra/diagnostics/checks/dom.ts +241 -0
  79. package/src/extra/diagnostics/checks/events.ts +68 -0
  80. package/src/extra/diagnostics/checks/index.ts +109 -0
  81. package/src/extra/diagnostics/checks/inspect.ts +319 -0
  82. package/src/extra/diagnostics/checks/props.ts +51 -0
  83. package/src/extra/diagnostics/checks/public.d.ts +211 -0
  84. package/src/extra/diagnostics/checks/rxjsHints.ts +88 -0
  85. package/src/extra/diagnostics/checks/shared.ts +119 -0
  86. package/src/extra/diagnostics/checks/state.ts +55 -0
  87. package/src/extra/diagnostics/checks/strict.ts +112 -0
  88. package/src/extra/diagnostics/checks/wiring.ts +65 -0
  89. package/src/extra/diagnostics/codes.ts +232 -0
  90. package/src/extra/diagnostics/index.ts +328 -0
  91. package/src/extra/diagnostics/legacy.ts +59 -0
  92. package/src/extra/driverFactories.ts +106 -58
  93. package/src/extra/eventDriver.ts +4 -0
  94. package/src/extra/flatten.ts +75 -0
  95. package/src/extra/reducers.ts +12 -5
  96. package/src/extra/run.ts +11 -0
  97. package/src/extra/testing.ts +890 -180
  98. package/src/extra/xstreamExtras.ts +269 -0
  99. package/src/index.d.ts +428 -17
  100. package/src/index.ts +7 -6
  101. package/src/pragma/index.ts +14 -9
  102. package/src/switchable.ts +10 -8
  103. package/src/vike/types.ts +21 -4
  104. package/src/vite/plugin.d.ts +95 -2
  105. package/src/vite/plugin.ts +720 -54
  106. package/dist/astro/astro/client.d.ts +0 -5
  107. package/dist/astro/astro/index.d.ts +0 -16
  108. package/dist/astro/astro/server.d.ts +0 -12
  109. package/dist/astro/client.d.ts +0 -5
  110. package/dist/astro/client.esm.js +0 -4665
  111. package/dist/astro/collection.d.ts +0 -12
  112. package/dist/astro/component.d.ts +0 -22
  113. package/dist/astro/cycle/dom/BodyDOMSource.d.ts +0 -10
  114. package/dist/astro/cycle/dom/DOMSource.d.ts +0 -11
  115. package/dist/astro/cycle/dom/DocumentDOMSource.d.ts +0 -12
  116. package/dist/astro/cycle/dom/ElementFinder.d.ts +0 -8
  117. package/dist/astro/cycle/dom/EventDelegator.d.ts +0 -34
  118. package/dist/astro/cycle/dom/IsolateModule.d.ts +0 -23
  119. package/dist/astro/cycle/dom/MainDOMSource.d.ts +0 -32
  120. package/dist/astro/cycle/dom/PriorityQueue.d.ts +0 -7
  121. package/dist/astro/cycle/dom/ScopeChecker.d.ts +0 -9
  122. package/dist/astro/cycle/dom/SymbolTree.d.ts +0 -9
  123. package/dist/astro/cycle/dom/VNodeWrapper.d.ts +0 -8
  124. package/dist/astro/cycle/dom/enrichEventStream.d.ts +0 -24
  125. package/dist/astro/cycle/dom/fromEvent.d.ts +0 -6
  126. package/dist/astro/cycle/dom/index.d.ts +0 -8
  127. package/dist/astro/cycle/dom/isolate.d.ts +0 -9
  128. package/dist/astro/cycle/dom/makeDOMDriver.d.ts +0 -11
  129. package/dist/astro/cycle/dom/mockDOMSource.d.ts +0 -17
  130. package/dist/astro/cycle/dom/modules.d.ts +0 -5
  131. package/dist/astro/cycle/dom/snabbdom.d.ts +0 -22
  132. package/dist/astro/cycle/dom/styleModule.d.ts +0 -13
  133. package/dist/astro/cycle/dom/thunk.d.ts +0 -11
  134. package/dist/astro/cycle/dom/utils.d.ts +0 -8
  135. package/dist/astro/cycle/isolate/index.d.ts +0 -42
  136. package/dist/astro/cycle/run/adapt.d.ts +0 -6
  137. package/dist/astro/cycle/run/index.d.ts +0 -36
  138. package/dist/astro/cycle/run/internals.d.ts +0 -8
  139. package/dist/astro/cycle/run/types.d.ts +0 -49
  140. package/dist/astro/cycle/state/Collection.d.ts +0 -29
  141. package/dist/astro/cycle/state/StateSource.d.ts +0 -20
  142. package/dist/astro/cycle/state/index.d.ts +0 -5
  143. package/dist/astro/cycle/state/pickCombine.d.ts +0 -3
  144. package/dist/astro/cycle/state/pickMerge.d.ts +0 -3
  145. package/dist/astro/cycle/state/types.d.ts +0 -18
  146. package/dist/astro/cycle/state/withState.d.ts +0 -17
  147. package/dist/astro/extra/classes.d.ts +0 -7
  148. package/dist/astro/extra/devtools.d.ts +0 -78
  149. package/dist/astro/extra/dragDriver.d.ts +0 -20
  150. package/dist/astro/extra/driverFactories.d.ts +0 -12
  151. package/dist/astro/extra/eventDriver.d.ts +0 -9
  152. package/dist/astro/extra/exactState.d.ts +0 -1
  153. package/dist/astro/extra/hmr.d.ts +0 -17
  154. package/dist/astro/extra/logDriver.d.ts +0 -2
  155. package/dist/astro/extra/processDrag.d.ts +0 -19
  156. package/dist/astro/extra/processForm.d.ts +0 -15
  157. package/dist/astro/extra/run.d.ts +0 -13
  158. package/dist/astro/extra/xstreamCompat.d.ts +0 -5
  159. package/dist/astro/index.d.ts +0 -19
  160. package/dist/astro/index.esm.js +0 -27
  161. package/dist/astro/jsx-dev-runtime.d.ts +0 -1
  162. package/dist/astro/jsx-runtime.d.ts +0 -4
  163. package/dist/astro/jsx.d.ts +0 -2
  164. package/dist/astro/pragma/fn.d.ts +0 -7
  165. package/dist/astro/pragma/index.d.ts +0 -7
  166. package/dist/astro/pragma/is.d.ts +0 -10
  167. package/dist/astro/server.d.ts +0 -12
  168. package/dist/astro/server.esm.js +0 -25
  169. package/dist/astro/switchable.d.ts +0 -7
  170. package/dist/collection.d.ts +0 -12
  171. package/dist/component.d.ts +0 -22
  172. package/dist/cycle/dom/BodyDOMSource.d.ts +0 -10
  173. package/dist/cycle/dom/DOMSource.d.ts +0 -11
  174. package/dist/cycle/dom/DocumentDOMSource.d.ts +0 -12
  175. package/dist/cycle/dom/ElementFinder.d.ts +0 -8
  176. package/dist/cycle/dom/EventDelegator.d.ts +0 -34
  177. package/dist/cycle/dom/IsolateModule.d.ts +0 -23
  178. package/dist/cycle/dom/MainDOMSource.d.ts +0 -32
  179. package/dist/cycle/dom/PriorityQueue.d.ts +0 -7
  180. package/dist/cycle/dom/ScopeChecker.d.ts +0 -9
  181. package/dist/cycle/dom/SymbolTree.d.ts +0 -9
  182. package/dist/cycle/dom/VNodeWrapper.d.ts +0 -8
  183. package/dist/cycle/dom/enrichEventStream.d.ts +0 -24
  184. package/dist/cycle/dom/fromEvent.d.ts +0 -6
  185. package/dist/cycle/dom/index.d.ts +0 -8
  186. package/dist/cycle/dom/isolate.d.ts +0 -9
  187. package/dist/cycle/dom/makeDOMDriver.d.ts +0 -11
  188. package/dist/cycle/dom/mockDOMSource.d.ts +0 -17
  189. package/dist/cycle/dom/modules.d.ts +0 -5
  190. package/dist/cycle/dom/snabbdom.d.ts +0 -22
  191. package/dist/cycle/dom/styleModule.d.ts +0 -13
  192. package/dist/cycle/dom/thunk.d.ts +0 -11
  193. package/dist/cycle/dom/utils.d.ts +0 -8
  194. package/dist/cycle/isolate/index.d.ts +0 -42
  195. package/dist/cycle/run/adapt.d.ts +0 -6
  196. package/dist/cycle/run/index.d.ts +0 -36
  197. package/dist/cycle/run/internals.d.ts +0 -8
  198. package/dist/cycle/run/types.d.ts +0 -49
  199. package/dist/cycle/state/Collection.d.ts +0 -29
  200. package/dist/cycle/state/StateSource.d.ts +0 -20
  201. package/dist/cycle/state/index.d.ts +0 -5
  202. package/dist/cycle/state/pickCombine.d.ts +0 -3
  203. package/dist/cycle/state/pickMerge.d.ts +0 -3
  204. package/dist/cycle/state/types.d.ts +0 -18
  205. package/dist/cycle/state/withState.d.ts +0 -17
  206. package/dist/extra/classes.d.ts +0 -7
  207. package/dist/extra/devtools.d.ts +0 -78
  208. package/dist/extra/dragDriver.d.ts +0 -20
  209. package/dist/extra/driverFactories.d.ts +0 -12
  210. package/dist/extra/eventDriver.d.ts +0 -9
  211. package/dist/extra/exactState.d.ts +0 -1
  212. package/dist/extra/hmr.d.ts +0 -17
  213. package/dist/extra/logDriver.d.ts +0 -2
  214. package/dist/extra/processDrag.d.ts +0 -19
  215. package/dist/extra/processForm.d.ts +0 -15
  216. package/dist/extra/run.d.ts +0 -13
  217. package/dist/extra/xstreamCompat.d.ts +0 -5
  218. package/dist/jsx-dev-runtime.d.ts +0 -1
  219. package/dist/jsx-dev-runtime.js +0 -224
  220. package/dist/jsx-runtime.d.ts +0 -4
  221. package/dist/jsx-runtime.js +0 -224
  222. package/dist/jsx.d.ts +0 -2
  223. package/dist/pragma/fn.d.ts +0 -7
  224. package/dist/pragma/index.d.ts +0 -7
  225. package/dist/pragma/is.d.ts +0 -10
  226. package/dist/switchable.d.ts +0 -7
@@ -1,17 +0,0 @@
1
- import { FantasyObservable } from '../run/types';
2
- import { EventsFnOptions } from './DOMSource';
3
- export type MockConfig = {
4
- [name: string]: FantasyObservable<any> | MockConfig;
5
- };
6
- export declare class MockedDOMSource {
7
- private _mockConfig;
8
- private _elements;
9
- constructor(_mockConfig: MockConfig);
10
- elements(): any;
11
- element(): any;
12
- events(eventType: string, options?: EventsFnOptions, bubbles?: boolean): any;
13
- select(selector: string): MockedDOMSource;
14
- isolateSource(source: MockedDOMSource, scope: string): MockedDOMSource;
15
- isolateSink(sink: any, scope: string): any;
16
- }
17
- export declare function mockDOMSource(mockConfig: MockConfig): MockedDOMSource;
@@ -1,5 +0,0 @@
1
- import { Module, classModule, propsModule, attributesModule, datasetModule } from './snabbdom';
2
- import { styleModule } from './styleModule';
3
- declare const modules: Array<Module>;
4
- export { styleModule, classModule, propsModule, attributesModule, datasetModule };
5
- export default modules;
@@ -1,22 +0,0 @@
1
- /**
2
- * Local snabbdom re-export barrel.
3
- *
4
- * Imports from specific snabbdom subpaths instead of the main barrel to avoid
5
- * triggering the broken `styleModule` top-level `window` reference in
6
- * snabbdom 3.6.3 (which causes ReferenceError in Node.js environments).
7
- *
8
- * The styleModule is provided separately by ./styleModule.ts with a fixed
9
- * window guard.
10
- */
11
- export { h, fragment as HFragment } from 'snabbdom/build/h';
12
- export { init } from 'snabbdom/build/init';
13
- export type { Options } from 'snabbdom/build/init';
14
- export { toVNode } from 'snabbdom/build/tovnode';
15
- export { vnode } from 'snabbdom/build/vnode';
16
- export type { VNode, VNodeData } from 'snabbdom/build/vnode';
17
- export { Fragment } from 'snabbdom/build/jsx';
18
- export type { Module } from 'snabbdom/build/modules/module';
19
- export { classModule } from 'snabbdom/build/modules/class';
20
- export { propsModule } from 'snabbdom/build/modules/props';
21
- export { attributesModule } from 'snabbdom/build/modules/attributes';
22
- export { datasetModule } from 'snabbdom/build/modules/dataset';
@@ -1,13 +0,0 @@
1
- /**
2
- * Local copy of snabbdom's styleModule with a fixed `window` guard.
3
- *
4
- * snabbdom 3.6.3 introduced a regression where the top-level `raf` assignment
5
- * evaluates `window` directly (via `window === null || window === void 0`)
6
- * before the `typeof` check, causing a ReferenceError in Node.js environments.
7
- *
8
- * This copy restores the safe `typeof window !== "undefined"` guard while
9
- * keeping all other 3.6.x improvements (arrow functions, `in` operator for
10
- * style removal checks, etc.).
11
- */
12
- import { Module } from './snabbdom';
13
- export declare const styleModule: Module;
@@ -1,11 +0,0 @@
1
- import { VNode, VNodeData } from './snabbdom';
2
- export interface ThunkData extends VNodeData {
3
- fn(): VNode;
4
- args: Array<any>;
5
- }
6
- export interface Thunk extends VNode {
7
- data: ThunkData;
8
- }
9
- export declare function thunk(sel: string, fn: Function, args: Array<any>): Thunk;
10
- export declare function thunk(sel: string, key: any, fn: Function, args: Array<any>): Thunk;
11
- export default thunk;
@@ -1,8 +0,0 @@
1
- import { Scope } from './isolate';
2
- export declare function isClassOrId(str: string): boolean;
3
- export declare function isDocFrag(el: Element | DocumentFragment): el is DocumentFragment;
4
- export declare function checkValidContainer(container: Element | DocumentFragment | string): void;
5
- export declare function getValidNode(selectors: Element | DocumentFragment | string): Element | DocumentFragment | null;
6
- export declare function getSelectors(namespace: Array<Scope>): string;
7
- export declare function isEqualNamespace(a: Array<Scope> | undefined, b: Array<Scope> | undefined): boolean;
8
- export declare function makeInsert(map: Map<string, Map<Element, any>>): (type: string, elm: Element, value: any) => void;
@@ -1,42 +0,0 @@
1
- import { Stream } from 'xstream';
2
- export type Component<So, Si> = (sources: So, ...rest: Array<any>) => Si;
3
- export type FirstArg<T extends (r: any, ...args: Array<any>) => any> = T extends (r: infer R, ...args: Array<any>) => any ? R : any;
4
- export type IsolateableSource<A = any, B = any> = {
5
- isolateSource(source: IsolateableSource<A, B>, scope: any): IsolateableSource<A, B>;
6
- isolateSink(sink: A, scope: any): B;
7
- };
8
- export type Sources = {
9
- [name: string]: IsolateableSource;
10
- };
11
- export type WildcardScope = {
12
- ['*']?: string;
13
- };
14
- export type ScopesPerChannel<So> = {
15
- [K in keyof So]: any;
16
- };
17
- export type Scopes<So> = (Partial<ScopesPerChannel<So>> & WildcardScope) | string;
18
- export type OuterSo<ISo> = {
19
- [K in keyof ISo]: ISo[K] extends IsolateableSource ? FirstArg<IsolateableSource['isolateSource']> : ISo[K];
20
- };
21
- export type OuterSi<ISo, ISi> = {
22
- [K in keyof ISo & keyof ISi]: ISo[K] extends IsolateableSource ? (ReturnType<ISo[K]['isolateSink']> extends Stream<infer T> ? Stream<T> : (ReturnType<ISo[K]['isolateSink']> extends Stream<any> ? Stream<unknown> : unknown)) : ISi[K];
23
- } & {
24
- [K in Exclude<keyof ISi, keyof ISo>]: ISi[K];
25
- };
26
- /**
27
- * Takes a `component` function and a `scope`, and returns an isolated version
28
- * of the `component` function.
29
- *
30
- * When the isolated component is invoked, each source provided to it is
31
- * isolated to the given `scope` using `source.isolateSource(source, scope)`,
32
- * if possible. Likewise, the sinks returned from the isolated component are
33
- * isolated to the given `scope` using `source.isolateSink(sink, scope)`.
34
- *
35
- * @param {Function} component a function that takes `sources` as input and outputs a collection of `sinks`.
36
- * @param {String} scope an optional string that is used to isolate each `sources` and `sinks`.
37
- * @return {Function} the scoped component function.
38
- * @function isolate
39
- */
40
- declare function isolate<InnerSo, InnerSi>(component: Component<InnerSo, InnerSi>, scope?: any): Component<OuterSo<InnerSo>, OuterSi<InnerSo, InnerSi>>;
41
- export default isolate;
42
- export declare function toIsolated<InnerSo, InnerSi>(scope?: any): (c: Component<InnerSo, InnerSi>) => Component<OuterSo<InnerSo>, OuterSi<InnerSo, InnerSi>>;
@@ -1,6 +0,0 @@
1
- import { Stream } from 'xstream';
2
- export interface AdaptStream {
3
- (s: Stream<any>): any;
4
- }
5
- export declare function setAdapt(f: AdaptStream): void;
6
- export declare function adapt(stream: Stream<any>): any;
@@ -1,36 +0,0 @@
1
- import { CycleProgram, DisposeFunction, Drivers, MatchingDrivers, MatchingMain, Engine } from './types';
2
- export { FantasyObserver, FantasySubscription, FantasyObservable, DevToolEnabledSource, Sources, Sinks, SinkProxies, Driver, Drivers, DisposeFunction, MatchingDrivers, MatchingMain, Main, CycleProgram, Engine, WidenStream, GetValidInputs, } from './types';
3
- /**
4
- * A function that prepares the Cycle application to be executed. Takes a `main`
5
- * function and prepares to circularly connects it to the given collection of
6
- * driver functions. As an output, `setup()` returns an object with three
7
- * properties: `sources`, `sinks` and `run`. Only when `run()` is called will
8
- * the application actually execute. Refer to the documentation of `run()` for
9
- * more details.
10
- *
11
- * @param {Function} main a function that takes `sources` as input and outputs `sinks`.
12
- * @param {Object} drivers an object where keys are driver names and values are driver functions.
13
- * @return {Object} an object with three properties: `sources`, `sinks` and `run`.
14
- * @function setup
15
- */
16
- export declare function setup<D extends MatchingDrivers<D, M>, M extends MatchingMain<D, M>>(main: M, drivers: D): CycleProgram<D, M>;
17
- /**
18
- * A partially-applied variant of setup() which accepts only the drivers, and
19
- * allows many `main` functions to execute and reuse this same set of drivers.
20
- *
21
- * @param {Object} drivers an object where keys are driver names and values are driver functions.
22
- * @return {Object} an object with three properties: `sources`, `run` and `dispose`.
23
- * @function setupReusable
24
- */
25
- export declare function setupReusable<D extends Drivers>(drivers: D): Engine<D>;
26
- /**
27
- * Takes a `main` function and circularly connects it to the given collection
28
- * of driver functions.
29
- *
30
- * @param {Function} main a function that takes `sources` as input and outputs `sinks`.
31
- * @param {Object} drivers an object where keys are driver names and values are driver functions.
32
- * @return {Function} a dispose function, used to terminate the execution of the Cycle.js program.
33
- * @function run
34
- */
35
- export declare function run<D extends MatchingDrivers<D, M>, M extends MatchingMain<D, M>>(main: M, drivers: D): DisposeFunction;
36
- export default run;
@@ -1,8 +0,0 @@
1
- import { DisposeFunction, Drivers, SinkProxies, Sources } from './types';
2
- export declare function makeSinkProxies<D extends Drivers>(drivers: D): SinkProxies<D>;
3
- export declare function callDrivers<D extends Drivers>(drivers: D, sinkProxies: SinkProxies<D>): Sources<D>;
4
- export declare function adaptSources<So>(sources: So): So;
5
- export declare function replicateMany<Si extends any>(sinks: Si, sinkProxies: SinkProxies<Si>): DisposeFunction;
6
- export declare function disposeSinkProxies<Si>(sinkProxies: SinkProxies<Si>): void;
7
- export declare function disposeSources<So>(sources: So): void;
8
- export declare function isObjectEmpty(obj: any): boolean;
@@ -1,49 +0,0 @@
1
- import { Stream } from 'xstream';
2
- export type FantasyObserver<T> = {
3
- next(x: T): void;
4
- error(err: any): void;
5
- complete(c?: any): void;
6
- };
7
- export type FantasySubscription = {
8
- unsubscribe(): void;
9
- };
10
- export type FantasyObservable<T> = {
11
- subscribe(observer: FantasyObserver<T>): FantasySubscription;
12
- };
13
- export type DevToolEnabledSource = {
14
- _isCycleSource: string;
15
- };
16
- export type SinkProxies<Si> = {
17
- [P in keyof Si]: Si[P] extends Stream<infer T> ? Stream<T> : Stream<any>;
18
- };
19
- export type Driver<Si, So> = Si extends void ? (() => So) : ((stream: Si) => So);
20
- export type DisposeFunction = () => void;
21
- export type Drivers = {
22
- [name: string]: Driver<Stream<any>, any | void>;
23
- };
24
- export type Main = (...args: Array<any>) => any;
25
- export type Sources<D extends Drivers> = {
26
- [k in keyof D]: ReturnType<D[k]>;
27
- };
28
- export type Sinks<M extends Main> = ReturnType<M>;
29
- export type MatchingMain<D extends Drivers, M extends Main> = (Main & {
30
- (so: Sources<D>): Sinks<M>;
31
- }) | (Main & {
32
- (): Sinks<M>;
33
- });
34
- export type ToStream<S> = S extends FantasyObservable<infer T> ? Stream<T> : S;
35
- export type WidenStream<S, U> = S extends Stream<infer T> ? (T extends U ? U : never) : any;
36
- export type GetValidInputs<D extends Driver<any, any>> = D extends Driver<infer S, any> ? (S extends Stream<infer T> ? T : never) : never;
37
- export type MatchingDrivers<D extends Drivers, M extends Main> = Drivers & {
38
- [k in string & keyof Sinks<M>]: (() => Sources<D>[k]) | ((si: Stream<WidenStream<ToStream<Sinks<M>[k]>, GetValidInputs<D[k]>>>) => Sources<D>[k]);
39
- };
40
- export interface CycleProgram<D extends MatchingDrivers<D, M>, M extends MatchingMain<D, M>> {
41
- sources: Sources<D>;
42
- sinks: Sinks<M>;
43
- run(): DisposeFunction;
44
- }
45
- export interface Engine<D extends Drivers> {
46
- sources: Sources<D>;
47
- run<M extends MatchingMain<D, M>>(sinks: Sinks<M>): DisposeFunction;
48
- dispose(): void;
49
- }
@@ -1,29 +0,0 @@
1
- import { Stream } from 'xstream';
2
- import { InternalInstances, ItemKeyFn, ItemScopeFn, ItemFactoryFn } from './types';
3
- /**
4
- * An object representing all instances in a collection of components. Has the
5
- * methods pickCombine and pickMerge to get the combined sinks of all instances.
6
- */
7
- export declare class Instances<Si> {
8
- private _instances$;
9
- constructor(instances$: Stream<InternalInstances<Si>>);
10
- pickMerge(selector: string): Stream<any>;
11
- pickCombine(selector: string): Stream<Array<any>>;
12
- }
13
- interface BaseOptions<S, So, Si> {
14
- collectSinks(instances: Instances<Si>): any;
15
- itemKey?: ItemKeyFn<S>;
16
- itemScope?: ItemScopeFn;
17
- channel?: string;
18
- }
19
- interface HomogenousOptions<S, So, Si> extends BaseOptions<S, So, Si> {
20
- item(so: So): Si;
21
- itemFactory?: never;
22
- }
23
- interface HeterogenousOptions<S, So, Si> extends BaseOptions<S, So, Si> {
24
- item?: never;
25
- itemFactory: ItemFactoryFn<S, So, Si>;
26
- }
27
- export type CollectionOptions<S, So, Si> = HomogenousOptions<S, So, Si> | HeterogenousOptions<S, So, Si>;
28
- export declare function makeCollection<S, So = any, Si = any>(opts: CollectionOptions<S, So, Si>): (sources: any) => any;
29
- export {};
@@ -1,20 +0,0 @@
1
- import { Stream, MemoryStream } from 'xstream';
2
- import { Scope, Reducer } from './types';
3
- export declare function isolateSource<T, R>(source: StateSource<T>, scope: Scope<T, R>): StateSource<R>;
4
- export declare function isolateSink<T, R>(innerReducer$: Stream<Reducer<R>>, scope: Scope<T, R>): Stream<Reducer<T>>;
5
- /**
6
- * Represents a piece of application state dynamically changing over time.
7
- */
8
- export declare class StateSource<S> {
9
- stream: MemoryStream<S>;
10
- private _stream;
11
- private _name;
12
- constructor(stream: Stream<S>, name: string);
13
- /**
14
- * Selects a part (or scope) of the state object and returns a new StateSource
15
- * dynamically representing that selected part of the state.
16
- */
17
- select<R>(scope: Scope<S, R>): StateSource<R>;
18
- isolateSource: typeof isolateSource;
19
- isolateSink: typeof isolateSink;
20
- }
@@ -1,5 +0,0 @@
1
- export { Getter, Setter, Lens, Scope, Reducer, MainFn } from './types';
2
- export { StateSource, isolateSource, isolateSink } from './StateSource';
3
- export { Instances, CollectionOptions } from './Collection';
4
- export { withState } from './withState';
5
- export { makeCollection } from './Collection';
@@ -1,3 +0,0 @@
1
- import { Stream } from 'xstream';
2
- import { InternalInstances } from './types';
3
- export declare function pickCombine(selector: string): (inst$: Stream<InternalInstances<any>>) => Stream<Array<any>>;
@@ -1,3 +0,0 @@
1
- import { Stream } from 'xstream';
2
- import { InternalInstances } from './types';
3
- export declare function pickMerge(selector: string): (inst$: Stream<InternalInstances<any>>) => Stream<any>;
@@ -1,18 +0,0 @@
1
- export type MainFn<So, Si> = (sources: So) => Si;
2
- export type Reducer<T> = (state: T | undefined) => T | undefined;
3
- export type Getter<T, R> = (state: T | undefined) => R | undefined;
4
- export type Setter<T, R> = (state: T | undefined, childState: R | undefined) => T | undefined;
5
- export type Lens<T, R> = {
6
- get: Getter<T, R>;
7
- set: Setter<T, R>;
8
- };
9
- export type ItemScopeFn = (key: string) => string | object;
10
- export type ItemKeyFn<S> = (state: S, index?: number) => string;
11
- export type ItemFactoryFn<S, So, Si> = (state: S, index?: number) => MainFn<So, Si>;
12
- export type Scope<T, R> = string | number | Lens<T, R>;
13
- export type InternalInstances<Si> = {
14
- dict: Map<string, Si>;
15
- arr: Array<Si & {
16
- _key: string;
17
- }>;
18
- };
@@ -1,17 +0,0 @@
1
- import { Stream } from 'xstream';
2
- import { MainFn, Reducer } from './types';
3
- import { StateSource } from './StateSource';
4
- export type Omit<T, K extends keyof T> = {
5
- [P in Exclude<keyof T, K>]: T[P];
6
- };
7
- export type Forbid<T, K extends keyof T> = Omit<T, K> & {
8
- [P in K]?: never;
9
- };
10
- export type OSo<T, N extends string> = {
11
- [P in N]: StateSource<T>;
12
- };
13
- export type OSi<T, N extends string> = {
14
- [P in N]: Stream<Reducer<T>>;
15
- };
16
- export type MainWithState<So extends OSo<T, N>, Si extends OSi<T, N>, T, N extends string> = MainFn<Forbid<So, N>, Omit<Si, N>>;
17
- export declare function withState<So extends OSo<T, N>, Si extends OSi<T, N>, T = any, N extends string = 'state'>(main: MainFn<So, Si>, name?: N): MainWithState<So, Si, T, N>;
@@ -1,7 +0,0 @@
1
- type ClassArg = string | string[] | Record<string, boolean | (() => boolean)>;
2
- /**
3
- * Return a validated and properly separated string of CSS class names from
4
- * any number of strings, arrays, and objects.
5
- */
6
- export default function classes(...args: ClassArg[]): string;
7
- export {};
@@ -1,78 +0,0 @@
1
- declare global {
2
- interface Window {
3
- __SYGNAL_DEVTOOLS__?: SygnalDevTools;
4
- __SYGNAL_DEVTOOLS_APP__?: {
5
- sinks?: {
6
- STATE?: {
7
- shamefullySendNext: (fn: any) => void;
8
- };
9
- };
10
- };
11
- __SYGNAL_DEVTOOLS_PAGE__?: boolean;
12
- SYGNAL_DEBUG?: string | false;
13
- __SYGNAL_HMR_UPDATING?: boolean;
14
- __SYGNAL_HMR_STATE?: unknown;
15
- __SYGNAL_HMR_PERSISTED_STATE?: unknown;
16
- __SYGNAL_HMR_LAST_CAPTURED_STATE?: unknown;
17
- Cyclejs?: {
18
- sinks?: any;
19
- };
20
- CyclejsDevTool_startGraphSerializer?: (sinks: any) => void;
21
- }
22
- }
23
- interface StateHistoryEntry {
24
- componentId: number;
25
- componentName: string;
26
- timestamp: number;
27
- state: any;
28
- }
29
- interface ComponentMeta {
30
- id: number;
31
- name: string;
32
- isSubComponent: boolean;
33
- hasModel: boolean;
34
- hasIntent: boolean;
35
- hasContext: boolean;
36
- hasCalculated: boolean;
37
- components: string[];
38
- parentId: number | null;
39
- children: number[];
40
- debug: boolean;
41
- createdAt: number;
42
- _instanceRef: WeakRef<any>;
43
- }
44
- interface ExtensionMessage {
45
- type: string;
46
- payload?: any;
47
- source?: string;
48
- }
49
- declare class SygnalDevTools {
50
- _connected: boolean;
51
- _components: Map<number, ComponentMeta>;
52
- _stateHistory: StateHistoryEntry[];
53
- _maxHistory: number;
54
- constructor();
55
- get connected(): boolean;
56
- init(): void;
57
- _handleExtensionMessage(msg: ExtensionMessage): void;
58
- onComponentCreated(componentNumber: number, name: string, instance: any): void;
59
- onStateChanged(componentNumber: number, name: string, state: any): void;
60
- onActionDispatched(componentNumber: number, name: string, actionType: string, data: any): void;
61
- onSubComponentRegistered(parentNumber: number, childNumber: number): void;
62
- onContextChanged(componentNumber: number, name: string, context: any): void;
63
- onDebugLog(componentNumber: number, message: string): void;
64
- _setDebug({ componentId, enabled }: {
65
- componentId?: number;
66
- enabled: boolean;
67
- }): void;
68
- _timeTravel({ historyIndex }: {
69
- historyIndex: number;
70
- }): void;
71
- _sendComponentState(componentId: number): void;
72
- _sendFullTree(): void;
73
- _post(type: string, payload: any): void;
74
- _safeClone(obj: any): any;
75
- _serializeMeta(meta: ComponentMeta): Omit<ComponentMeta, '_instanceRef'>;
76
- }
77
- export declare function getDevTools(): SygnalDevTools;
78
- export default getDevTools;
@@ -1,20 +0,0 @@
1
- import { Stream } from 'xstream';
2
- export interface DragConfig {
3
- category: string;
4
- draggable?: string;
5
- dropZone?: string;
6
- accepts?: string;
7
- dragImage?: string;
8
- }
9
- export interface DragSourceEvents {
10
- events(eventType: string): Stream<any>;
11
- }
12
- export interface DragSource {
13
- select(category: string): DragSourceEvents;
14
- dragstart(category: string): Stream<any>;
15
- dragend(category: string): Stream<any>;
16
- drop(category: string): Stream<any>;
17
- dragover(category: string): Stream<any>;
18
- dispose(): void;
19
- }
20
- export declare function makeDragDriver(): (sink$: Stream<any>) => DragSource;
@@ -1,12 +0,0 @@
1
- import { Stream } from 'xstream';
2
- interface DriverFromAsyncOptions {
3
- selector?: string;
4
- args?: string | string[] | ((val: any) => any);
5
- return?: string;
6
- pre?: (val: any) => any;
7
- post?: (val: any, incoming?: any) => any;
8
- }
9
- declare function driverFromAsync(promiseReturningFunction: (...args: any[]) => Promise<any>, opts?: DriverFromAsyncOptions): (fromApp$: Stream<any>) => {
10
- select: (selector?: any) => Stream<any>;
11
- };
12
- export { driverFromAsync };
@@ -1,9 +0,0 @@
1
- import { Stream } from 'xstream';
2
- export interface EventBusSource {
3
- select(type?: string | string[]): any;
4
- }
5
- export interface BusEvent {
6
- type: string;
7
- data?: any;
8
- }
9
- export default function eventBusDriver(out$: Stream<BusEvent>): EventBusSource;
@@ -1 +0,0 @@
1
- export default function exactState<S>(): (state: S) => S;
@@ -1,17 +0,0 @@
1
- interface HotModule {
2
- accept: (...args: any[]) => void;
3
- dispose?: (cb: () => void) => void;
4
- }
5
- interface SygnalApp {
6
- hmr: (next: any, state?: any) => void;
7
- dispose?: () => void;
8
- sources?: {
9
- STATE?: {
10
- stream?: {
11
- _v?: any;
12
- };
13
- };
14
- };
15
- }
16
- export default function enableHMR(app: SygnalApp, hot: HotModule, loadComponent?: () => Promise<any>, acceptDependencies?: string | string[]): SygnalApp;
17
- export {};
@@ -1,2 +0,0 @@
1
- import { Stream } from 'xstream';
2
- export default function logDriver(out$: Stream<any>): void;
@@ -1,19 +0,0 @@
1
- import { Stream } from 'xstream';
2
- interface DOMSelector {
3
- events(eventType: string): Stream<any>;
4
- }
5
- interface ProcessDragSources {
6
- draggable?: DOMSelector;
7
- dropZone?: DOMSelector;
8
- }
9
- interface ProcessDragOptions {
10
- effectAllowed?: DataTransfer['effectAllowed'];
11
- }
12
- interface ProcessDragStreams {
13
- dragStart$: Stream<DragEvent>;
14
- dragEnd$: Stream<null>;
15
- dragOver$: Stream<null>;
16
- drop$: Stream<DragEvent>;
17
- }
18
- export default function processDrag({ draggable, dropZone }?: ProcessDragSources, options?: ProcessDragOptions): ProcessDragStreams;
19
- export {};
@@ -1,15 +0,0 @@
1
- import { Stream } from 'xstream';
2
- interface DOMSelector {
3
- events(eventType: string): Stream<any>;
4
- }
5
- interface ProcessFormOptions {
6
- events?: string | string[];
7
- preventDefault?: boolean;
8
- }
9
- interface FormEntries {
10
- event: Event;
11
- eventType: string;
12
- [key: string]: any;
13
- }
14
- export default function processForm(form: DOMSelector, options?: ProcessFormOptions): Stream<FormEntries>;
15
- export {};
@@ -1,13 +0,0 @@
1
- interface RunOptions {
2
- mountPoint?: string;
3
- fragments?: boolean;
4
- useDefaultDrivers?: boolean;
5
- }
6
- interface SygnalRunResult {
7
- sources: any;
8
- sinks: any;
9
- dispose: () => void;
10
- hmr?: (newComponent: any, explicitState?: any) => void;
11
- }
12
- export default function run(app: any, drivers?: Record<string, any>, options?: RunOptions): SygnalRunResult;
13
- export {};
@@ -1,5 +0,0 @@
1
- export declare function resolveInteropDefault(namespaceValue: any): any;
2
- declare const xs: any;
3
- declare const Stream: any;
4
- export { Stream };
5
- export default xs;
@@ -1 +0,0 @@
1
- export { jsx, jsxs, jsxDEV, Fragment } from './jsx-runtime';