@vidact/runtime 0.2.0-beta.0 → 0.2.0-beta.5

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 (244) hide show
  1. package/CHANGELOG.md +52 -0
  2. package/README.md +1 -1
  3. package/dist/actions.d.ts +32 -30
  4. package/dist/actions.d.ts.map +1 -1
  5. package/dist/actions.js +251 -266
  6. package/dist/actions.js.map +1 -1
  7. package/dist/async.d.ts +20 -17
  8. package/dist/async.d.ts.map +1 -1
  9. package/dist/async.js +18 -17
  10. package/dist/async.js.map +1 -1
  11. package/dist/compiled/async-resource.d.ts +9 -6
  12. package/dist/compiled/async-resource.d.ts.map +1 -1
  13. package/dist/compiled/async-resource.js +69 -77
  14. package/dist/compiled/async-resource.js.map +1 -1
  15. package/dist/compiled/core.d.ts +136 -147
  16. package/dist/compiled/core.d.ts.map +1 -1
  17. package/dist/compiled/core.js +2672 -2985
  18. package/dist/compiled/core.js.map +1 -1
  19. package/dist/compiled/types.d.ts +44 -56
  20. package/dist/compiled/types.d.ts.map +1 -1
  21. package/dist/compiled/types.js +10 -6
  22. package/dist/compiled/types.js.map +1 -1
  23. package/dist/compiled/validation.d.ts +4 -1
  24. package/dist/compiled/validation.d.ts.map +1 -1
  25. package/dist/compiled/validation.js +17 -20
  26. package/dist/compiled/validation.js.map +1 -1
  27. package/dist/component-spread.d.ts +5 -3
  28. package/dist/component-spread.d.ts.map +1 -1
  29. package/dist/component-spread.js +49 -67
  30. package/dist/component-spread.js.map +1 -1
  31. package/dist/concurrent.d.ts +20 -18
  32. package/dist/concurrent.d.ts.map +1 -1
  33. package/dist/concurrent.js +191 -210
  34. package/dist/concurrent.js.map +1 -1
  35. package/dist/direct-dom.d.ts +17 -12
  36. package/dist/direct-dom.d.ts.map +1 -1
  37. package/dist/direct-dom.js +187 -221
  38. package/dist/direct-dom.js.map +1 -1
  39. package/dist/dom/attributes.d.ts +9 -6
  40. package/dist/dom/attributes.d.ts.map +1 -1
  41. package/dist/dom/attributes.js +65 -47
  42. package/dist/dom/attributes.js.map +1 -1
  43. package/dist/dom/events.d.ts +5 -2
  44. package/dist/dom/events.d.ts.map +1 -1
  45. package/dist/dom/events.js +53 -65
  46. package/dist/dom/events.js.map +1 -1
  47. package/dist/dom/forms.d.ts +9 -6
  48. package/dist/dom/forms.d.ts.map +1 -1
  49. package/dist/dom/forms.js +152 -198
  50. package/dist/dom/forms.js.map +1 -1
  51. package/dist/dom/intrinsic.d.ts +17 -15
  52. package/dist/dom/intrinsic.d.ts.map +1 -1
  53. package/dist/dom/intrinsic.js +48 -50
  54. package/dist/dom/intrinsic.js.map +1 -1
  55. package/dist/dom/namespace.d.ts +4 -1
  56. package/dist/dom/namespace.d.ts.map +1 -1
  57. package/dist/dom/namespace.js +25 -28
  58. package/dist/dom/namespace.js.map +1 -1
  59. package/dist/dom/namespaces.d.ts +11 -8
  60. package/dist/dom/namespaces.d.ts.map +1 -1
  61. package/dist/dom/namespaces.js +14 -12
  62. package/dist/dom/namespaces.js.map +1 -1
  63. package/dist/dom/properties.d.ts +18 -16
  64. package/dist/dom/properties.d.ts.map +1 -1
  65. package/dist/dom/properties.js +273 -296
  66. package/dist/dom/properties.js.map +1 -1
  67. package/dist/dom/style-properties.d.ts +4 -1
  68. package/dist/dom/style-properties.d.ts.map +1 -1
  69. package/dist/dom/style-properties.js +49 -45
  70. package/dist/dom/style-properties.js.map +1 -1
  71. package/dist/dom/styles.d.ts +5 -2
  72. package/dist/dom/styles.d.ts.map +1 -1
  73. package/dist/dom/styles.js +47 -67
  74. package/dist/dom/styles.js.map +1 -1
  75. package/dist/dom-forms.d.ts +4 -1
  76. package/dist/dom-forms.d.ts.map +1 -1
  77. package/dist/dom-forms.js +16 -13
  78. package/dist/dom-forms.js.map +1 -1
  79. package/dist/dom-styles.d.ts +4 -1
  80. package/dist/dom-styles.d.ts.map +1 -1
  81. package/dist/dom-styles.js +10 -7
  82. package/dist/dom-styles.js.map +1 -1
  83. package/dist/framework-hydrate.d.ts +20 -17
  84. package/dist/framework-hydrate.d.ts.map +1 -1
  85. package/dist/framework-hydrate.js +128 -146
  86. package/dist/framework-hydrate.js.map +1 -1
  87. package/dist/framework-protocol.d.ts +27 -25
  88. package/dist/framework-protocol.d.ts.map +1 -1
  89. package/dist/framework-protocol.js +173 -211
  90. package/dist/framework-protocol.js.map +1 -1
  91. package/dist/framework.d.ts +34 -32
  92. package/dist/framework.d.ts.map +1 -1
  93. package/dist/framework.js +74 -93
  94. package/dist/framework.js.map +1 -1
  95. package/dist/hydrate.d.ts +11 -8
  96. package/dist/hydrate.d.ts.map +1 -1
  97. package/dist/hydrate.js +13 -9
  98. package/dist/hydrate.js.map +1 -1
  99. package/dist/hydration-bridge.d.ts +70 -58
  100. package/dist/hydration-bridge.d.ts.map +1 -1
  101. package/dist/hydration-bridge.js +77 -66
  102. package/dist/hydration-bridge.js.map +1 -1
  103. package/dist/hydration.d.ts +54 -28
  104. package/dist/hydration.d.ts.map +1 -1
  105. package/dist/hydration.js +450 -463
  106. package/dist/hydration.js.map +1 -1
  107. package/dist/index.d.ts +13 -13
  108. package/dist/index.js +11 -13
  109. package/dist/indexed-list.d.ts +8 -5
  110. package/dist/indexed-list.d.ts.map +1 -1
  111. package/dist/indexed-list.js +14 -7
  112. package/dist/indexed-list.js.map +1 -1
  113. package/dist/jsx-runtime.d.ts +10 -8
  114. package/dist/jsx-runtime.d.ts.map +1 -1
  115. package/dist/jsx-runtime.js +28 -23
  116. package/dist/jsx-runtime.js.map +1 -1
  117. package/dist/keyed-list.d.ts +13 -14
  118. package/dist/keyed-list.d.ts.map +1 -1
  119. package/dist/keyed-list.js +132 -160
  120. package/dist/keyed-list.js.map +1 -1
  121. package/dist/metadata.d.ts +6 -3
  122. package/dist/metadata.d.ts.map +1 -1
  123. package/dist/metadata.js +131 -164
  124. package/dist/metadata.js.map +1 -1
  125. package/dist/nested-prop.d.ts +4 -2
  126. package/dist/nested-prop.d.ts.map +1 -1
  127. package/dist/nested-prop.js +17 -16
  128. package/dist/nested-prop.js.map +1 -1
  129. package/dist/profiling.d.ts +11 -8
  130. package/dist/profiling.d.ts.map +1 -1
  131. package/dist/profiling.js +17 -17
  132. package/dist/profiling.js.map +1 -1
  133. package/dist/protocol.d.ts +5 -2
  134. package/dist/protocol.d.ts.map +1 -1
  135. package/dist/protocol.js +8 -5
  136. package/dist/protocol.js.map +1 -1
  137. package/dist/raw-html.d.ts +5 -2
  138. package/dist/raw-html.d.ts.map +1 -1
  139. package/dist/raw-html.js +86 -146
  140. package/dist/raw-html.js.map +1 -1
  141. package/dist/ref.d.ts +8 -3
  142. package/dist/ref.d.ts.map +1 -1
  143. package/dist/ref.js +10 -2
  144. package/dist/ref.js.map +1 -1
  145. package/dist/renderable-protocol.d.ts +26 -8
  146. package/dist/renderable-protocol.d.ts.map +1 -1
  147. package/dist/renderable-protocol.js +30 -9
  148. package/dist/renderable-protocol.js.map +1 -1
  149. package/dist/renderable.d.ts +27 -22
  150. package/dist/renderable.d.ts.map +1 -1
  151. package/dist/renderable.js +141 -133
  152. package/dist/renderable.js.map +1 -1
  153. package/dist/retained-ui.d.ts +9 -6
  154. package/dist/retained-ui.d.ts.map +1 -1
  155. package/dist/retained-ui.js +12 -10
  156. package/dist/retained-ui.js.map +1 -1
  157. package/dist/root.d.ts +18 -15
  158. package/dist/root.d.ts.map +1 -1
  159. package/dist/root.js +73 -85
  160. package/dist/root.js.map +1 -1
  161. package/dist/scheduler.d.ts +10 -8
  162. package/dist/scheduler.d.ts.map +1 -1
  163. package/dist/scheduler.js +97 -105
  164. package/dist/scheduler.js.map +1 -1
  165. package/dist/server-framework.d.ts +45 -42
  166. package/dist/server-framework.d.ts.map +1 -1
  167. package/dist/server-framework.js +209 -217
  168. package/dist/server-framework.js.map +1 -1
  169. package/dist/server.d.ts +130 -128
  170. package/dist/server.d.ts.map +1 -1
  171. package/dist/server.js +603 -710
  172. package/dist/server.js.map +1 -1
  173. package/dist/shared/promise.d.ts +6 -3
  174. package/dist/shared/promise.d.ts.map +1 -1
  175. package/dist/shared/promise.js +21 -19
  176. package/dist/shared/promise.js.map +1 -1
  177. package/dist/source-mask.d.ts +9 -6
  178. package/dist/source-mask.d.ts.map +1 -1
  179. package/dist/source-mask.js +45 -63
  180. package/dist/source-mask.js.map +1 -1
  181. package/dist/spread.d.ts +5 -2
  182. package/dist/spread.d.ts.map +1 -1
  183. package/dist/spread.js +79 -99
  184. package/dist/spread.js.map +1 -1
  185. package/dist/state-slot.d.ts +18 -15
  186. package/dist/state-slot.d.ts.map +1 -1
  187. package/dist/state-slot.js +43 -42
  188. package/dist/state-slot.js.map +1 -1
  189. package/dist/testing.d.ts +9 -6
  190. package/dist/testing.d.ts.map +1 -1
  191. package/dist/testing.js +16 -12
  192. package/dist/testing.js.map +1 -1
  193. package/package.json +8 -7
  194. package/src/actions.ts +415 -0
  195. package/src/async.ts +78 -0
  196. package/src/compiled/async-resource.ts +113 -0
  197. package/src/compiled/core.ts +4041 -0
  198. package/src/compiled/types.ts +96 -0
  199. package/src/compiled/validation.ts +23 -0
  200. package/src/component-spread.ts +86 -0
  201. package/src/concurrent.ts +310 -0
  202. package/src/direct-dom.ts +365 -0
  203. package/src/dom/attributes.ts +55 -0
  204. package/src/dom/events.ts +93 -0
  205. package/src/dom/forms.ts +220 -0
  206. package/src/dom/intrinsic.ts +94 -0
  207. package/src/dom/namespace.ts +30 -0
  208. package/src/dom/namespaces.ts +14 -0
  209. package/src/dom/properties.ts +355 -0
  210. package/src/dom/style-properties.ts +46 -0
  211. package/src/dom/styles.ts +86 -0
  212. package/src/dom-forms.ts +23 -0
  213. package/src/dom-styles.ts +11 -0
  214. package/src/env.d.ts +6 -0
  215. package/src/framework-hydrate.ts +224 -0
  216. package/src/framework-protocol.ts +335 -0
  217. package/src/framework.ts +161 -0
  218. package/src/hydrate.ts +38 -0
  219. package/src/hydration-bridge.ts +196 -0
  220. package/src/hydration.ts +642 -0
  221. package/src/index.ts +92 -0
  222. package/src/indexed-list.ts +20 -0
  223. package/src/jsx-runtime.ts +55 -0
  224. package/src/keyed-list.ts +233 -0
  225. package/src/metadata.ts +212 -0
  226. package/src/nested-prop.ts +27 -0
  227. package/src/profiling.ts +43 -0
  228. package/src/protocol.ts +8 -0
  229. package/src/raw-html.ts +206 -0
  230. package/src/ref.ts +13 -0
  231. package/src/renderable-protocol.ts +63 -0
  232. package/src/renderable.ts +283 -0
  233. package/src/retained-ui.ts +19 -0
  234. package/src/root.ts +122 -0
  235. package/src/scheduler.ts +136 -0
  236. package/src/server-framework.ts +397 -0
  237. package/src/server.ts +1160 -0
  238. package/src/shared/promise.ts +28 -0
  239. package/src/source-mask.ts +83 -0
  240. package/src/spread.ts +131 -0
  241. package/src/state-slot.ts +76 -0
  242. package/src/testing.ts +27 -0
  243. package/dist/index.d.ts.map +0 -1
  244. package/dist/index.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"async.d.ts","sourceRoot":"","sources":["../src/async.ts"],"names":[],"mappings":"AAaA,OAAO,EACL,cAAc,EACd,KAAK,kBAAkB,EACvB,KAAK,eAAe,EACpB,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,IAAI,eAAe,EAC3C,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACvB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAEhD,MAAM,WAAW,aAAa,CAAC,KAAK;IAClC,QAAQ,CAAC,CAAC,cAAc,CAAC,EAAE,kBAAkB,CAAC,KAAK,CAAC,CAAA;CACrD;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,IAAI,CAAA;CAC7B;AAED,MAAM,WAAW,UAAU,CAAC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAC/D,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,eAAe,CAAA;CACpD;AAED,wBAAgB,cAAc,CAAC,KAAK,EAClC,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC,EACzB,OAAO,GAAE,eAAoB,GAC5B,aAAa,CAAC,KAAK,CAAC,CAEtB;AAED,wBAAgB,GAAG,CAAC,KAAK,EACvB,KAAK,EAAE,eAAe,CAAC,KAAK,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,GACxE,KAAK,CAEP;AAED,wBAAgB,IAAI,CAAC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACxD,IAAI,EAAE,MAAM,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,GACzC,CAAC,KAAK,EAAE,KAAK,KAAK,mBAAmB,CAEvC;AAED,wBAAgB,QAAQ,CACtB,MAAM,EAAE,MAAM,mBAAmB,EACjC,QAAQ,EAAE,MAAM,mBAAmB,GAClC,iBAAiB,CAEnB;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EACvC,KAAK,EAAE,aAAa,EACpB,KAAK,EAAE,UAAU,EACjB,MAAM,EAAE,UAAU,EAClB,QAAQ,EAAE,MAAM,eAAe,CAAC,KAAK,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,GACjF,SAAS,CAAC,KAAK,CAAC,CAElB;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE;IAC9B,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,mBAAmB,CAAC,GAAG,SAAS,CAAC,MAAM,mBAAmB,CAAC,CAAA;IACtF,QAAQ,CAAC,QAAQ,EAAE,MAAM,mBAAmB,CAAA;CAC7C,GAAG,iBAAiB,CAEpB"}
1
+ {"version":3,"file":"async.d.ts","names":[],"sources":["../src/async.ts"],"mappings":";;;;UAyBiB,cAAc;YACnB,iBAAiB,mBAAmB;;UAG/B;WACN;;UAGM,WAAW,cAAc;WAC/B,UAAU,OAAO,UAAU;;iBAGtB,eAAe,OAC7B,OAAO,YAAY,QACnB,UAAS,kBACR,cAAc;iBAID,IAAI,OAClB,OAAO,gBAAgB,SAAS,cAAc,SAAS,YAAY,SAClE;iBAIa,KAAK,cAAc,yBACjC,YAAY,YAAY,WAAW,WACjC,OAAO,UAAU;iBAIL,SACd,cAAc,qBACd,gBAAgB,sBACf;iBAIa,oBAAoB,OAClC,OAAO,eACP,OAAO,YACP,QAAQ,YACR,gBAAgB,gBAAgB,SAAS,cAAc,SAAS,YAAY,SAC3E,UAAU;iBAIG,SAAS;WACd,kBAAkB,uCAAuC;WACzD,gBAAgB;IACvB"}
package/dist/async.js CHANGED
@@ -1,24 +1,25 @@
1
- // oxlint-disable-next-line typescript/triple-slash-reference -- Include compiler feature defines.
2
- /// <reference path="./env.d.ts" />
3
- import { createResource as createAsyncResource, lazy as createLazyComponent, useAsync, } from './compiled/async-resource.js';
4
- import { Suspense as createSuspenseComponent, createCompiledAsync as createAsyncSlot, suspense as createSuspenseBinding, } from './compiled/core.js';
5
- import { ASYNC_RESOURCE, } from './compiled/types.js';
6
- export function createResource(input, options = {}) {
7
- return createAsyncResource(input, options);
1
+ import { createResource as createResource$1, lazy as lazy$1, useAsync } from "./compiled/async-resource.js";
2
+ import { Suspense as Suspense$1, createCompiledAsync as createCompiledAsync$1, suspense as suspense$1 } from "./compiled/core.js";
3
+ //#region src/async.ts
4
+ function createResource(input, options = {}) {
5
+ return createResource$1(input, options);
8
6
  }
9
- export function use(input) {
10
- return useAsync(input);
7
+ function use(input) {
8
+ return useAsync(input);
11
9
  }
12
- export function lazy(load) {
13
- return createLazyComponent(load);
10
+ function lazy(load) {
11
+ return lazy$1(load);
14
12
  }
15
- export function suspense(render, fallback) {
16
- return createSuspenseBinding(render, fallback);
13
+ function suspense(render, fallback) {
14
+ return suspense$1(render, fallback);
17
15
  }
18
- export function createCompiledAsync(scope, reads, writes, evaluate) {
19
- return createAsyncSlot(scope, reads, writes, evaluate);
16
+ function createCompiledAsync(scope, reads, writes, evaluate) {
17
+ return createCompiledAsync$1(scope, reads, writes, evaluate);
20
18
  }
21
- export function Suspense(props) {
22
- return createSuspenseComponent(props);
19
+ function Suspense(props) {
20
+ return Suspense$1(props);
23
21
  }
22
+ //#endregion
23
+ export { Suspense, createCompiledAsync, createResource, lazy, suspense, use };
24
+
24
25
  //# sourceMappingURL=async.js.map
package/dist/async.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"async.js","sourceRoot":"","sources":["../src/async.ts"],"names":[],"mappings":"AAAA,kGAAkG;AAClG,mCAAmC;AAEnC,OAAO,EACL,cAAc,IAAI,mBAAmB,EACrC,IAAI,IAAI,mBAAmB,EAC3B,QAAQ,GACT,MAAM,8BAA8B,CAAA;AACrC,OAAO,EACL,QAAQ,IAAI,uBAAuB,EACnC,mBAAmB,IAAI,eAAe,EACtC,QAAQ,IAAI,qBAAqB,GAClC,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EACL,cAAc,GAOf,MAAM,qBAAqB,CAAA;AAgB5B,MAAM,UAAU,cAAc,CAC5B,KAAyB,EACzB,OAAO,GAAoB,EAAE;IAE7B,OAAO,mBAAmB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;AAC5C,CAAC;AAED,MAAM,UAAU,GAAG,CACjB,KAAyE;IAEzE,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAA;AACxB,CAAC;AAED,MAAM,UAAU,IAAI,CAClB,IAA0C;IAE1C,OAAO,mBAAmB,CAAC,IAAI,CAAC,CAAA;AAClC,CAAC;AAED,MAAM,UAAU,QAAQ,CACtB,MAAiC,EACjC,QAAmC;IAEnC,OAAO,qBAAqB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;AAChD,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,KAAoB,EACpB,KAAiB,EACjB,MAAkB,EAClB,QAAkF;IAElF,OAAO,eAAe,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAA;AACxD,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,KAGxB;IACC,OAAO,uBAAuB,CAAC,KAAK,CAAC,CAAA;AACvC,CAAC"}
1
+ {"version":3,"file":"async.js","names":["createAsyncResource","createLazyComponent","createSuspenseBinding","createAsyncSlot","createSuspenseComponent"],"sources":["../src/async.ts"],"mappings":";;;AAqCA,SAAgB,eACd,OACA,UAA2B,CAAC,GACN;CACtB,OAAOA,iBAAoB,OAAO,OAAO;AAC3C;AAEA,SAAgB,IACd,OACO;CACP,OAAO,SAAS,KAAK;AACvB;AAEA,SAAgB,KACd,MACuC;CACvC,OAAOC,OAAoB,IAAI;AACjC;AAEA,SAAgB,SACd,QACA,UACmB;CACnB,OAAOC,WAAsB,QAAQ,QAAQ;AAC/C;AAEA,SAAgB,oBACd,OACA,OACA,QACA,UACkB;CAClB,OAAOC,sBAAgB,OAAO,OAAO,QAAQ,QAAQ;AACvD;AAEA,SAAgB,SAAS,OAGH;CACpB,OAAOC,WAAwB,KAAK;AACtC"}
@@ -1,7 +1,10 @@
1
- import { type AsyncResource, type CompiledContext, type CompiledRenderValue, type LazyModule, type ResourceOptions, type Suspension } from './types.js';
2
- export declare function createResource<Value>(input: PromiseLike<Value>, options?: ResourceOptions): AsyncResource<Value>;
3
- export declare function useAsync<Value>(input: CompiledContext<Value> | AsyncResource<Value> | PromiseLike<Value>): Value;
4
- export declare function lazy<Props extends Record<string, unknown>>(load: () => PromiseLike<LazyModule<Props>>): (props: Props) => CompiledRenderValue;
5
- export declare function isSuspension(value: unknown): value is Suspension;
6
- export declare function subscribeResource(resource: AsyncResource<unknown>, listener: () => void): () => void;
1
+ import { AsyncResource, CompiledContext, CompiledRenderValue, LazyModule, ResourceOptions, Suspension } from "./types.js";
2
+ //#region src/compiled/async-resource.d.ts
3
+ declare function createResource<Value>(input: PromiseLike<Value>, options?: ResourceOptions): AsyncResource<Value>;
4
+ declare function useAsync<Value>(input: CompiledContext<Value> | AsyncResource<Value> | PromiseLike<Value>): Value;
5
+ declare function lazy<Props extends Record<string, unknown>>(load: () => PromiseLike<LazyModule<Props>>): (props: Props) => CompiledRenderValue;
6
+ declare function isSuspension(value: unknown): value is Suspension;
7
+ declare function subscribeResource(resource: AsyncResource<unknown>, listener: () => void): () => void;
8
+ //#endregion
9
+ export { createResource, isSuspension, lazy, subscribeResource, useAsync };
7
10
  //# sourceMappingURL=async-resource.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"async-resource.d.ts","sourceRoot":"","sources":["../../src/compiled/async-resource.ts"],"names":[],"mappings":"AAEA,OAAO,EAGL,KAAK,aAAa,EAElB,KAAK,eAAe,EACpB,KAAK,mBAAmB,EACxB,KAAK,UAAU,EACf,KAAK,eAAe,EACpB,KAAK,UAAU,EAChB,MAAM,YAAY,CAAA;AAKnB,wBAAgB,cAAc,CAAC,KAAK,EAClC,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC,EACzB,OAAO,GAAE,eAAoB,GAC5B,aAAa,CAAC,KAAK,CAAC,CAqBtB;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAC5B,KAAK,EAAE,eAAe,CAAC,KAAK,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,GACxE,KAAK,CAGP;AAED,wBAAgB,IAAI,CAAC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACxD,IAAI,EAAE,MAAM,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,GACzC,CAAC,KAAK,EAAE,KAAK,KAAK,mBAAmB,CAUvC;AAMD,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,UAAU,CAEhE;AASD,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,aAAa,CAAC,OAAO,CAAC,EAChC,QAAQ,EAAE,MAAM,IAAI,GACnB,MAAM,IAAI,CAeZ"}
1
+ {"version":3,"file":"async-resource.d.ts","names":[],"sources":["../../src/compiled/async-resource.ts"],"mappings":";;iBAiBgB,eAAe,OAC7B,OAAO,YAAY,QACnB,UAAS,kBACR,cAAc;iBAuBD,SAAS,OACvB,OAAO,gBAAgB,SAAS,cAAc,SAAS,YAAY,SAClE;iBAKa,KAAK,cAAc,yBACjC,YAAY,YAAY,WAAW,WACjC,OAAO,UAAU;iBAgBL,aAAa,iBAAiB,SAAS;iBAWvC,kBACd,UAAU,wBACV"}
@@ -1,89 +1,81 @@
1
- import { isPromiseLike } from '../shared/promise.js';
2
- import { DEV, isCompiledContext, useContext } from './core.js';
3
- import { ASYNC_RESOURCE, SUSPENSION, } from './types.js';
4
- const noop = () => { };
5
- const promiseResources = new WeakMap();
6
- export function createResource(input, options = {}) {
7
- if (!isPromiseLike(input)) {
8
- throw new TypeError(DEV ? 'createResource requires a promise-like value' : 'V029');
9
- }
10
- const existing = promiseResources.get(input);
11
- if (existing !== undefined)
12
- return existing;
13
- const state = {
14
- status: 'pending',
15
- value: undefined,
16
- reason: undefined,
17
- listeners: new Set(),
18
- cancel: options.cancel,
19
- subscribers: 0,
20
- };
21
- const resource = { [ASYNC_RESOURCE]: state };
22
- promiseResources.set(input, resource);
23
- void Promise.resolve(input).then((value) => settleResource(state, 'fulfilled', value), (reason) => settleResource(state, 'rejected', reason));
24
- return resource;
1
+ import { isPromiseLike } from "../shared/promise.js";
2
+ import { ASYNC_RESOURCE, SUSPENSION } from "./types.js";
3
+ import { DEV, isCompiledContext, useContext } from "./core.js";
4
+ //#region src/compiled/async-resource.ts
5
+ const noop = () => {};
6
+ const promiseResources = /* @__PURE__ */ new WeakMap();
7
+ function createResource(input, options = {}) {
8
+ if (!isPromiseLike(input)) throw new TypeError(DEV ? "createResource requires a promise-like value" : "V029");
9
+ const existing = promiseResources.get(input);
10
+ if (existing !== void 0) return existing;
11
+ const state = {
12
+ status: "pending",
13
+ value: void 0,
14
+ reason: void 0,
15
+ listeners: /* @__PURE__ */ new Set(),
16
+ cancel: options.cancel,
17
+ subscribers: 0
18
+ };
19
+ const resource = { [ASYNC_RESOURCE]: state };
20
+ promiseResources.set(input, resource);
21
+ Promise.resolve(input).then((value) => settleResource(state, "fulfilled", value), (reason) => settleResource(state, "rejected", reason));
22
+ return resource;
25
23
  }
26
- export function useAsync(input) {
27
- if (isCompiledContext(input))
28
- return useContext(input);
29
- return readResource(isAsyncResource(input) ? input : createResource(input));
24
+ function useAsync(input) {
25
+ if (isCompiledContext(input)) return useContext(input);
26
+ return readResource(isAsyncResource(input) ? input : createResource(input));
30
27
  }
31
- export function lazy(load) {
32
- let resource;
33
- return (props) => {
34
- resource ??= createResource(load());
35
- const module = readResource(resource);
36
- if (typeof module?.default !== 'function') {
37
- throw new TypeError(DEV ? 'lazy loader must resolve to a default component export' : 'V030');
38
- }
39
- return module.default(props);
40
- };
28
+ function lazy(load) {
29
+ let resource;
30
+ return (props) => {
31
+ resource ??= createResource(load());
32
+ const module = readResource(resource);
33
+ if (typeof module?.default !== "function") throw new TypeError(DEV ? "lazy loader must resolve to a default component export" : "V030");
34
+ return module.default(props);
35
+ };
41
36
  }
42
37
  function isAsyncResource(value) {
43
- return typeof value === 'object' && value !== null && ASYNC_RESOURCE in value;
38
+ return typeof value === "object" && value !== null && ASYNC_RESOURCE in value;
44
39
  }
45
- export function isSuspension(value) {
46
- return typeof value === 'object' && value !== null && SUSPENSION in value;
40
+ function isSuspension(value) {
41
+ return typeof value === "object" && value !== null && SUSPENSION in value;
47
42
  }
48
43
  function readResource(resource) {
49
- const state = resource[ASYNC_RESOURCE];
50
- if (state.status === 'fulfilled')
51
- return state.value;
52
- if (state.status === 'rejected')
53
- throw state.reason;
54
- throw { [SUSPENSION]: true, resource };
44
+ const state = resource[ASYNC_RESOURCE];
45
+ if (state.status === "fulfilled") return state.value;
46
+ if (state.status === "rejected") throw state.reason;
47
+ throw {
48
+ [SUSPENSION]: true,
49
+ resource
50
+ };
55
51
  }
56
- export function subscribeResource(resource, listener) {
57
- const state = resource[ASYNC_RESOURCE];
58
- if (state.status !== 'pending') {
59
- queueMicrotask(listener);
60
- return noop;
61
- }
62
- let active = true;
63
- state.subscribers += 1;
64
- state.listeners.add(listener);
65
- return () => {
66
- if (!active)
67
- return;
68
- active = false;
69
- if (state.listeners.delete(listener))
70
- state.subscribers -= 1;
71
- if (state.status === 'pending' && state.subscribers === 0)
72
- state.cancel?.();
73
- };
52
+ function subscribeResource(resource, listener) {
53
+ const state = resource[ASYNC_RESOURCE];
54
+ if (state.status !== "pending") {
55
+ queueMicrotask(listener);
56
+ return noop;
57
+ }
58
+ let active = true;
59
+ state.subscribers += 1;
60
+ state.listeners.add(listener);
61
+ return () => {
62
+ if (!active) return;
63
+ active = false;
64
+ if (state.listeners.delete(listener)) state.subscribers -= 1;
65
+ if (state.status === "pending" && state.subscribers === 0) state.cancel?.();
66
+ };
74
67
  }
75
68
  function settleResource(state, status, result) {
76
- if (state.status !== 'pending')
77
- return;
78
- state.status = status;
79
- if (status === 'fulfilled')
80
- state.value = result;
81
- else
82
- state.reason = result;
83
- const listeners = [...state.listeners];
84
- state.listeners.clear();
85
- state.subscribers = 0;
86
- for (const listener of listeners)
87
- listener();
69
+ if (state.status !== "pending") return;
70
+ state.status = status;
71
+ if (status === "fulfilled") state.value = result;
72
+ else state.reason = result;
73
+ const listeners = [...state.listeners];
74
+ state.listeners.clear();
75
+ state.subscribers = 0;
76
+ for (const listener of listeners) listener();
88
77
  }
78
+ //#endregion
79
+ export { createResource, isSuspension, lazy, subscribeResource, useAsync };
80
+
89
81
  //# sourceMappingURL=async-resource.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"async-resource.js","sourceRoot":"","sources":["../../src/compiled/async-resource.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"async-resource.js","names":[],"sources":["../../src/compiled/async-resource.ts"],"mappings":";;;;AAcA,MAAM,aAAmB,CAAC;AAC1B,MAAM,mCAAmB,IAAI,QAAwC;AAErE,SAAgB,eACd,OACA,UAA2B,CAAC,GACN;CACtB,IAAI,CAAC,cAAc,KAAK,GACtB,MAAM,IAAI,UAAU,MAAM,iDAAiD,MAAM;CAEnF,MAAM,WAAW,iBAAiB,IAAI,KAAe;CACrD,IAAI,aAAa,KAAA,GAAW,OAAO;CACnC,MAAM,QAAmC;EACvC,QAAQ;EACR,OAAO,KAAA;EACP,QAAQ,KAAA;EACR,2BAAW,IAAI,IAAI;EACnB,QAAQ,QAAQ;EAChB,aAAa;CACf;CACA,MAAM,WAAiC,GAAG,iBAAiB,MAAM;CACjE,iBAAiB,IAAI,OAAiB,QAAkC;CACxE,QAAa,QAAQ,KAAK,CAAC,CAAC,MACzB,UAAU,eAAe,OAAO,aAAa,KAAK,IAClD,WAAoB,eAAe,OAAO,YAAY,MAAM,CAC/D;CACA,OAAO;AACT;AAEA,SAAgB,SACd,OACO;CACP,IAAI,kBAAyB,KAAK,GAAG,OAAO,WAAW,KAAK;CAC5D,OAAO,aAAa,gBAAuB,KAAK,IAAI,QAAQ,eAAe,KAAK,CAAC;AACnF;AAEA,SAAgB,KACd,MACuC;CACvC,IAAI;CACJ,QAAQ,UAAU;EAChB,aAAa,eAAe,KAAK,CAAC;EAClC,MAAM,SAAS,aAAa,QAAQ;EACpC,IAAI,OAAO,QAAQ,YAAY,YAC7B,MAAM,IAAI,UAAU,MAAM,2DAA2D,MAAM;EAE7F,OAAO,OAAO,QAAQ,KAAK;CAC7B;AACF;AAEA,SAAS,gBAAuB,OAA+C;CAC7E,OAAO,OAAO,UAAU,YAAY,UAAU,QAAQ,kBAAkB;AAC1E;AAEA,SAAgB,aAAa,OAAqC;CAChE,OAAO,OAAO,UAAU,YAAY,UAAU,QAAQ,cAAc;AACtE;AAEA,SAAS,aAAoB,UAAuC;CAClE,MAAM,QAAQ,SAAS;CACvB,IAAI,MAAM,WAAW,aAAa,OAAO,MAAM;CAC/C,IAAI,MAAM,WAAW,YAAY,MAAM,MAAM;CAC7C,MAAM;GAAG,aAAa;EAAM;CAAS;AACvC;AAEA,SAAgB,kBACd,UACA,UACY;CACZ,MAAM,QAAQ,SAAS;CACvB,IAAI,MAAM,WAAW,WAAW;EAC9B,eAAe,QAAQ;EACvB,OAAO;CACT;CACA,IAAI,SAAS;CACb,MAAM,eAAe;CACrB,MAAM,UAAU,IAAI,QAAQ;CAC5B,aAAa;EACX,IAAI,CAAC,QAAQ;EACb,SAAS;EACT,IAAI,MAAM,UAAU,OAAO,QAAQ,GAAG,MAAM,eAAe;EAC3D,IAAI,MAAM,WAAW,aAAa,MAAM,gBAAgB,GAAG,MAAM,SAAS;CAC5E;AACF;AAEA,SAAS,eACP,OACA,QACA,QACM;CACN,IAAI,MAAM,WAAW,WAAW;CAChC,MAAM,SAAS;CACf,IAAI,WAAW,aAAa,MAAM,QAAQ;MACrC,MAAM,SAAS;CACpB,MAAM,YAAY,CAAC,GAAG,MAAM,SAAS;CACrC,MAAM,UAAU,MAAM;CACtB,MAAM,cAAc;CACpB,KAAK,MAAM,YAAY,WAAW,SAAS;AAC7C"}