@modern-js/runtime 2.0.0-canary.0 → 2.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.
Files changed (280) hide show
  1. package/CHANGELOG.md +328 -0
  2. package/dist/js/modern/cli/index.js +49 -19
  3. package/dist/js/modern/cli/types.d.js +0 -0
  4. package/dist/js/modern/common.js +4 -1
  5. package/dist/js/modern/config.js +0 -0
  6. package/dist/js/modern/core/app-config.js +8 -9
  7. package/dist/js/modern/core/compatible.js +195 -169
  8. package/dist/js/modern/core/index.js +14 -6
  9. package/dist/js/modern/core/loader/index.js +4 -1
  10. package/dist/js/modern/core/loader/loaderManager.js +75 -77
  11. package/dist/js/modern/core/loader/useLoader.js +96 -69
  12. package/dist/js/modern/core/plugin.js +37 -20
  13. package/dist/js/modern/document/Body.js +20 -14
  14. package/dist/js/modern/document/DocumentContext.js +6 -3
  15. package/dist/js/modern/document/DocumentStructrueContext.js +8 -4
  16. package/dist/js/modern/document/Head.js +20 -17
  17. package/dist/js/modern/document/Html.js +44 -58
  18. package/dist/js/modern/document/Links.js +10 -0
  19. package/dist/js/modern/document/Root.js +22 -20
  20. package/dist/js/modern/document/Script.js +20 -0
  21. package/dist/js/modern/document/Scripts.js +7 -7
  22. package/dist/js/modern/document/cli/index.js +181 -85
  23. package/dist/js/modern/document/constants.js +45 -15
  24. package/dist/js/modern/document/index.js +3 -1
  25. package/dist/js/modern/document/type.d.js +0 -0
  26. package/dist/js/modern/exports/head.js +6 -3
  27. package/dist/js/modern/exports/loadable.js +6 -3
  28. package/dist/js/modern/exports/server.js +4 -1
  29. package/dist/js/modern/exports/styled.js +6 -3
  30. package/dist/js/modern/index.js +22 -2
  31. package/dist/js/modern/modern-app.env.d.js +0 -0
  32. package/dist/js/modern/router/cli/index.js +76 -60
  33. package/dist/js/modern/router/index.js +7 -3
  34. package/dist/js/modern/router/runtime/DefaultNotFound.js +11 -10
  35. package/dist/js/modern/router/runtime/index.js +8 -4
  36. package/dist/js/modern/router/runtime/plugin.js +69 -46
  37. package/dist/js/modern/router/runtime/plugin.node.js +88 -83
  38. package/dist/js/modern/router/runtime/root/index.js +10 -10
  39. package/dist/js/modern/router/runtime/root/load.js +57 -36
  40. package/dist/js/modern/router/runtime/server.js +1 -1
  41. package/dist/js/modern/router/runtime/types.js +0 -1
  42. package/dist/js/modern/router/runtime/utils.js +91 -66
  43. package/dist/js/modern/router/runtime/withRouter.js +31 -15
  44. package/dist/js/modern/runtime-context.js +7 -3
  45. package/dist/js/modern/ssr/cli/babel-plugin-ssr-loader-id.js +130 -0
  46. package/dist/js/modern/ssr/cli/index.js +102 -79
  47. package/dist/js/modern/ssr/index.js +89 -71
  48. package/dist/js/modern/ssr/index.node.js +59 -37
  49. package/dist/js/modern/ssr/prefetch.js +64 -45
  50. package/dist/js/modern/ssr/react/index.js +6 -2
  51. package/dist/js/modern/ssr/react/nossr/index.js +8 -7
  52. package/dist/js/modern/ssr/react/prerender/index.js +53 -28
  53. package/dist/js/modern/ssr/react/prerender/util.js +38 -26
  54. package/dist/js/modern/ssr/react/withCallback/index.js +6 -7
  55. package/dist/js/modern/ssr/serverRender/helmet.js +18 -12
  56. package/dist/js/modern/ssr/serverRender/index.js +34 -13
  57. package/dist/js/modern/ssr/serverRender/renderToStream/buildTemplate.after.js +10 -12
  58. package/dist/js/modern/ssr/serverRender/renderToStream/buildTemplate.share.js +11 -5
  59. package/dist/js/modern/ssr/serverRender/renderToStream/bulidTemplate.before.js +35 -39
  60. package/dist/js/modern/ssr/serverRender/renderToStream/index.js +36 -18
  61. package/dist/js/modern/ssr/serverRender/renderToStream/loadable.js +7 -7
  62. package/dist/js/modern/ssr/serverRender/renderToStream/renderToPipe.js +56 -34
  63. package/dist/js/modern/ssr/serverRender/renderToStream/styledComponent.js +6 -5
  64. package/dist/js/modern/ssr/serverRender/renderToStream/template.js +13 -9
  65. package/dist/js/modern/ssr/serverRender/renderToString/entry.js +101 -84
  66. package/dist/js/modern/ssr/serverRender/renderToString/index.js +32 -9
  67. package/dist/js/modern/ssr/serverRender/renderToString/loadable.js +21 -18
  68. package/dist/js/modern/ssr/serverRender/renderToString/reduce.js +6 -3
  69. package/dist/js/modern/ssr/serverRender/renderToString/styledComponent.js +6 -3
  70. package/dist/js/modern/ssr/serverRender/renderToString/template.js +22 -22
  71. package/dist/js/modern/ssr/serverRender/renderToString/type.js +9 -6
  72. package/dist/js/modern/ssr/serverRender/types.js +3 -1
  73. package/dist/js/modern/ssr/serverRender/utils.js +11 -9
  74. package/dist/js/modern/ssr/type.d.js +0 -0
  75. package/dist/js/modern/ssr/utils.js +41 -21
  76. package/dist/js/modern/state/cli/index.js +43 -32
  77. package/dist/js/modern/state/index.js +7 -3
  78. package/dist/js/modern/state/plugins.js +13 -7
  79. package/dist/js/modern/state/runtime/index.js +9 -4
  80. package/dist/js/modern/state/runtime/plugin.js +56 -40
  81. package/dist/js/modern/state/types.js +0 -1
  82. package/dist/js/node/cli/index.js +79 -30
  83. package/dist/js/node/cli/types.d.js +0 -0
  84. package/dist/js/node/common.js +26 -7
  85. package/dist/js/node/config.js +15 -0
  86. package/dist/js/node/core/app-config.js +29 -14
  87. package/dist/js/node/core/compatible.js +227 -186
  88. package/dist/js/node/core/index.js +44 -99
  89. package/dist/js/node/core/loader/index.js +31 -11
  90. package/dist/js/node/core/loader/loaderManager.js +102 -83
  91. package/dist/js/node/core/loader/useLoader.js +120 -83
  92. package/dist/js/node/core/plugin.js +65 -35
  93. package/dist/js/node/document/Body.js +40 -23
  94. package/dist/js/node/document/DocumentContext.js +33 -9
  95. package/dist/js/node/document/DocumentStructrueContext.js +35 -10
  96. package/dist/js/node/document/Head.js +45 -27
  97. package/dist/js/node/document/Html.js +68 -65
  98. package/dist/js/node/document/Links.js +33 -0
  99. package/dist/js/node/document/Root.js +47 -31
  100. package/dist/js/node/document/Script.js +40 -0
  101. package/dist/js/node/document/Scripts.js +30 -14
  102. package/dist/js/node/document/cli/index.js +193 -95
  103. package/dist/js/node/document/constants.js +78 -28
  104. package/dist/js/node/document/index.js +26 -93
  105. package/dist/js/node/document/type.d.js +0 -0
  106. package/dist/js/node/exports/head.js +33 -22
  107. package/dist/js/node/exports/loadable.js +33 -22
  108. package/dist/js/node/exports/server.js +26 -7
  109. package/dist/js/node/exports/styled.js +33 -22
  110. package/dist/js/node/index.js +43 -60
  111. package/dist/js/node/modern-app.env.d.js +0 -0
  112. package/dist/js/node/router/cli/index.js +89 -65
  113. package/dist/js/node/router/index.js +33 -30
  114. package/dist/js/node/router/runtime/DefaultNotFound.js +32 -17
  115. package/dist/js/node/router/runtime/index.js +29 -38
  116. package/dist/js/node/router/runtime/plugin.js +91 -57
  117. package/dist/js/node/router/runtime/plugin.node.js +113 -93
  118. package/dist/js/node/router/runtime/root/index.js +37 -21
  119. package/dist/js/node/router/runtime/root/load.js +80 -42
  120. package/dist/js/node/router/runtime/server.js +17 -16
  121. package/dist/js/node/router/runtime/types.js +15 -5
  122. package/dist/js/node/router/runtime/utils.js +112 -75
  123. package/dist/js/node/router/runtime/withRouter.js +53 -22
  124. package/dist/js/node/runtime-context.js +30 -10
  125. package/dist/js/node/ssr/cli/babel-plugin-ssr-loader-id.js +139 -0
  126. package/dist/js/node/ssr/cli/index.js +119 -85
  127. package/dist/js/node/ssr/index.js +125 -104
  128. package/dist/js/node/ssr/index.node.js +86 -59
  129. package/dist/js/node/ssr/prefetch.js +84 -51
  130. package/dist/js/node/ssr/react/index.js +27 -16
  131. package/dist/js/node/ssr/react/nossr/index.js +37 -16
  132. package/dist/js/node/ssr/react/prerender/index.js +82 -45
  133. package/dist/js/node/ssr/react/prerender/type.js +15 -0
  134. package/dist/js/node/ssr/react/prerender/util.js +63 -36
  135. package/dist/js/node/ssr/react/withCallback/index.js +29 -15
  136. package/dist/js/node/ssr/serverRender/helmet.js +37 -17
  137. package/dist/js/node/ssr/serverRender/index.js +55 -19
  138. package/dist/js/node/ssr/serverRender/renderToStream/buildTemplate.after.js +40 -20
  139. package/dist/js/node/ssr/serverRender/renderToStream/buildTemplate.share.js +32 -10
  140. package/dist/js/node/ssr/serverRender/renderToStream/bulidTemplate.before.js +63 -48
  141. package/dist/js/node/ssr/serverRender/renderToStream/index.js +69 -30
  142. package/dist/js/node/ssr/serverRender/renderToStream/loadable.js +29 -12
  143. package/dist/js/node/ssr/serverRender/renderToStream/renderToPipe.js +75 -43
  144. package/dist/js/node/ssr/serverRender/renderToStream/styledComponent.js +29 -11
  145. package/dist/js/node/ssr/serverRender/renderToStream/template.js +36 -16
  146. package/dist/js/node/ssr/serverRender/renderToStream/type.js +15 -0
  147. package/dist/js/node/ssr/serverRender/renderToString/entry.js +135 -103
  148. package/dist/js/node/ssr/serverRender/renderToString/index.js +64 -20
  149. package/dist/js/node/ssr/serverRender/renderToString/loadable.js +45 -26
  150. package/dist/js/node/ssr/serverRender/renderToString/reduce.js +27 -7
  151. package/dist/js/node/ssr/serverRender/renderToString/styledComponent.js +27 -8
  152. package/dist/js/node/ssr/serverRender/renderToString/template.js +44 -28
  153. package/dist/js/node/ssr/serverRender/renderToString/type.js +31 -12
  154. package/dist/js/node/ssr/serverRender/types.js +25 -10
  155. package/dist/js/node/ssr/serverRender/utils.js +31 -13
  156. package/dist/js/node/ssr/type.d.js +0 -0
  157. package/dist/js/node/ssr/utils.js +63 -29
  158. package/dist/js/node/state/cli/index.js +58 -37
  159. package/dist/js/node/state/index.js +33 -30
  160. package/dist/js/node/state/plugins.js +43 -22
  161. package/dist/js/node/state/runtime/index.js +36 -50
  162. package/dist/js/node/state/runtime/plugin.js +89 -68
  163. package/dist/js/node/state/types.js +15 -5
  164. package/dist/js/treeshaking/cli/index.js +180 -52
  165. package/dist/js/treeshaking/cli/types.d.js +1 -0
  166. package/dist/js/treeshaking/common.js +4 -3
  167. package/dist/js/treeshaking/config.js +1 -0
  168. package/dist/js/treeshaking/core/app-config.js +8 -13
  169. package/dist/js/treeshaking/core/compatible.js +473 -276
  170. package/dist/js/treeshaking/core/index.js +5 -6
  171. package/dist/js/treeshaking/core/loader/index.js +2 -1
  172. package/dist/js/treeshaking/core/loader/loaderManager.js +395 -224
  173. package/dist/js/treeshaking/core/loader/useLoader.js +181 -83
  174. package/dist/js/treeshaking/core/plugin.js +164 -48
  175. package/dist/js/treeshaking/document/Body.js +15 -11
  176. package/dist/js/treeshaking/document/DocumentContext.js +7 -6
  177. package/dist/js/treeshaking/document/DocumentStructrueContext.js +9 -7
  178. package/dist/js/treeshaking/document/Head.js +20 -17
  179. package/dist/js/treeshaking/document/Html.js +88 -93
  180. package/dist/js/treeshaking/document/Links.js +8 -0
  181. package/dist/js/treeshaking/document/Root.js +23 -21
  182. package/dist/js/treeshaking/document/Script.js +15 -0
  183. package/dist/js/treeshaking/document/Scripts.js +7 -9
  184. package/dist/js/treeshaking/document/cli/index.js +386 -168
  185. package/dist/js/treeshaking/document/constants.js +35 -16
  186. package/dist/js/treeshaking/document/index.js +3 -1
  187. package/dist/js/treeshaking/document/type.d.js +1 -0
  188. package/dist/js/treeshaking/exports/head.js +4 -3
  189. package/dist/js/treeshaking/exports/loadable.js +4 -3
  190. package/dist/js/treeshaking/exports/server.js +4 -3
  191. package/dist/js/treeshaking/exports/styled.js +4 -3
  192. package/dist/js/treeshaking/index.js +3 -2
  193. package/dist/js/treeshaking/modern-app.env.d.js +1 -0
  194. package/dist/js/treeshaking/router/cli/index.js +145 -99
  195. package/dist/js/treeshaking/router/index.js +4 -3
  196. package/dist/js/treeshaking/router/runtime/DefaultNotFound.js +14 -15
  197. package/dist/js/treeshaking/router/runtime/index.js +5 -4
  198. package/dist/js/treeshaking/router/runtime/plugin.js +127 -78
  199. package/dist/js/treeshaking/router/runtime/plugin.node.js +375 -152
  200. package/dist/js/treeshaking/router/runtime/root/index.js +17 -15
  201. package/dist/js/treeshaking/router/runtime/root/load.js +290 -95
  202. package/dist/js/treeshaking/router/runtime/server.js +1 -1
  203. package/dist/js/treeshaking/router/runtime/types.js +1 -1
  204. package/dist/js/treeshaking/router/runtime/utils.js +230 -142
  205. package/dist/js/treeshaking/router/runtime/withRouter.js +67 -18
  206. package/dist/js/treeshaking/runtime-context.js +4 -3
  207. package/dist/js/treeshaking/ssr/cli/babel-plugin-ssr-loader-id.js +122 -0
  208. package/dist/js/treeshaking/ssr/cli/index.js +210 -138
  209. package/dist/js/treeshaking/ssr/index.js +305 -144
  210. package/dist/js/treeshaking/ssr/index.node.js +234 -66
  211. package/dist/js/treeshaking/ssr/prefetch.js +196 -79
  212. package/dist/js/treeshaking/ssr/react/index.js +3 -2
  213. package/dist/js/treeshaking/ssr/react/nossr/index.js +57 -14
  214. package/dist/js/treeshaking/ssr/react/prerender/index.js +226 -89
  215. package/dist/js/treeshaking/ssr/react/prerender/type.js +1 -0
  216. package/dist/js/treeshaking/ssr/react/prerender/util.js +96 -86
  217. package/dist/js/treeshaking/ssr/react/withCallback/index.js +16 -15
  218. package/dist/js/treeshaking/ssr/serverRender/helmet.js +38 -34
  219. package/dist/js/treeshaking/ssr/serverRender/index.js +165 -37
  220. package/dist/js/treeshaking/ssr/serverRender/renderToStream/buildTemplate.after.js +33 -31
  221. package/dist/js/treeshaking/ssr/serverRender/renderToStream/buildTemplate.share.js +7 -7
  222. package/dist/js/treeshaking/ssr/serverRender/renderToStream/bulidTemplate.before.js +108 -60
  223. package/dist/js/treeshaking/ssr/serverRender/renderToStream/index.js +157 -42
  224. package/dist/js/treeshaking/ssr/serverRender/renderToStream/loadable.js +20 -20
  225. package/dist/js/treeshaking/ssr/serverRender/renderToStream/renderToPipe.js +114 -63
  226. package/dist/js/treeshaking/ssr/serverRender/renderToStream/styledComponent.js +11 -10
  227. package/dist/js/treeshaking/ssr/serverRender/renderToStream/template.js +61 -20
  228. package/dist/js/treeshaking/ssr/serverRender/renderToStream/type.js +1 -0
  229. package/dist/js/treeshaking/ssr/serverRender/renderToString/entry.js +380 -208
  230. package/dist/js/treeshaking/ssr/serverRender/renderToString/index.js +161 -40
  231. package/dist/js/treeshaking/ssr/serverRender/renderToString/loadable.js +51 -45
  232. package/dist/js/treeshaking/ssr/serverRender/renderToString/reduce.js +9 -8
  233. package/dist/js/treeshaking/ssr/serverRender/renderToString/styledComponent.js +9 -8
  234. package/dist/js/treeshaking/ssr/serverRender/renderToString/template.js +142 -64
  235. package/dist/js/treeshaking/ssr/serverRender/renderToString/type.js +7 -6
  236. package/dist/js/treeshaking/ssr/serverRender/types.js +1 -1
  237. package/dist/js/treeshaking/ssr/serverRender/utils.js +67 -26
  238. package/dist/js/treeshaking/ssr/type.d.js +1 -0
  239. package/dist/js/treeshaking/ssr/utils.js +128 -64
  240. package/dist/js/treeshaking/state/cli/index.js +70 -68
  241. package/dist/js/treeshaking/state/index.js +4 -3
  242. package/dist/js/treeshaking/state/plugins.js +12 -11
  243. package/dist/js/treeshaking/state/runtime/index.js +5 -4
  244. package/dist/js/treeshaking/state/runtime/plugin.js +189 -77
  245. package/dist/js/treeshaking/state/types.js +1 -1
  246. package/dist/types/cli/index.d.ts +2 -0
  247. package/dist/types/config.d.ts +8 -0
  248. package/dist/types/core/compatible.d.ts +2 -2
  249. package/dist/types/core/loader/loaderManager.d.ts +4 -3
  250. package/dist/types/core/loader/useLoader.d.ts +6 -1
  251. package/dist/types/core/plugin.d.ts +10 -5
  252. package/dist/types/document/DocumentContext.d.ts +1 -1
  253. package/dist/types/document/DocumentStructrueContext.d.ts +2 -1
  254. package/dist/types/document/Links.d.ts +2 -0
  255. package/dist/types/document/Script.d.ts +4 -0
  256. package/dist/types/document/cli/index.d.ts +2 -0
  257. package/dist/types/document/constants.d.ts +3 -0
  258. package/dist/types/document/index.d.ts +2 -0
  259. package/dist/types/exports/server.d.ts +3 -3
  260. package/dist/types/index.d.ts +1 -0
  261. package/dist/types/router/cli/index.d.ts +2 -0
  262. package/dist/types/router/runtime/plugin.d.ts +2 -2
  263. package/dist/types/router/runtime/types.d.ts +6 -4
  264. package/dist/types/ssr/cli/babel-plugin-ssr-loader-id.d.ts +1 -0
  265. package/dist/types/ssr/cli/index.d.ts +2 -0
  266. package/dist/types/ssr/react/prerender/type.d.ts +6 -6
  267. package/dist/types/ssr/serverRender/renderToStream/buildTemplate.after.d.ts +1 -1
  268. package/dist/types/ssr/serverRender/renderToStream/buildTemplate.share.d.ts +1 -1
  269. package/dist/types/ssr/serverRender/renderToStream/renderToPipe.d.ts +1 -1
  270. package/dist/types/ssr/serverRender/renderToStream/type.d.ts +1 -1
  271. package/dist/types/ssr/serverRender/renderToString/entry.d.ts +1 -1
  272. package/dist/types/ssr/serverRender/renderToString/template.d.ts +1 -1
  273. package/dist/types/ssr/serverRender/renderToString/type.d.ts +3 -3
  274. package/dist/types/ssr/serverRender/types.d.ts +3 -3
  275. package/dist/types/state/cli/index.d.ts +2 -0
  276. package/dist/types/state/runtime/plugin.d.ts +3 -3
  277. package/dist/types/state/types.d.ts +2 -1
  278. package/package.json +19 -16
  279. package/types/index.d.ts +8 -2
  280. package/types/router.d.ts +8 -2
@@ -1,8 +1,7 @@
1
- export { createPlugin, createRuntime, runtime, registerInit } from "./plugin";
2
- export { defineConfig, getConfig } from "./app-config";
3
-
4
- // compatible
1
+ import { createPlugin, createRuntime, runtime, registerInit } from "./plugin";
2
+ import { defineConfig, getConfig } from "./app-config";
5
3
  export * from "./compatible";
6
- export { RuntimeReactContext, ServerRouterContext } from "../runtime-context";
4
+ import { RuntimeReactContext, ServerRouterContext } from "../runtime-context";
7
5
  export * from "./loader";
8
- export * from '@modern-js/plugin';
6
+ export * from "@modern-js/plugin";
7
+ export { RuntimeReactContext, ServerRouterContext, createPlugin, createRuntime, defineConfig, getConfig, registerInit, runtime };
@@ -1 +1,2 @@
1
- export { default as useLoader } from "./useLoader";
1
+ import { default as default2 } from "./useLoader";
2
+ export { default2 as useLoader };
@@ -1,235 +1,406 @@
1
- import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
2
- import _createForOfIteratorHelper from "@babel/runtime/helpers/esm/createForOfIteratorHelper";
3
- import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
4
- import _regeneratorRuntime from "@babel/runtime/helpers/esm/regeneratorRuntime";
5
- import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
6
- import invariant from 'invariant';
7
- /**
8
- * Calc id from string or object
9
- */
10
- var createGetId = function createGetId() {
11
- var idCache = new Map();
12
- return function (objectId) {
13
- var cachedId = idCache.get(objectId);
14
- if (cachedId) {
15
- return cachedId;
1
+ function _arrayLikeToArray(arr, len) {
2
+ if (len == null || len > arr.length) len = arr.length;
3
+ for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
4
+ return arr2;
5
+ }
6
+ function _arrayWithHoles(arr) {
7
+ if (Array.isArray(arr)) return arr;
8
+ }
9
+ function _arrayWithoutHoles(arr) {
10
+ if (Array.isArray(arr)) return _arrayLikeToArray(arr);
11
+ }
12
+ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
13
+ try {
14
+ var info = gen[key](arg);
15
+ var value = info.value;
16
+ } catch (error) {
17
+ reject(error);
18
+ return;
19
+ }
20
+ if (info.done) {
21
+ resolve(value);
22
+ } else {
23
+ Promise.resolve(value).then(_next, _throw);
24
+ }
25
+ }
26
+ function _asyncToGenerator(fn) {
27
+ return function() {
28
+ var self = this, args = arguments;
29
+ return new Promise(function(resolve, reject) {
30
+ var gen = fn.apply(self, args);
31
+ function _next(value) {
32
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
33
+ }
34
+ function _throw(err) {
35
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
36
+ }
37
+ _next(undefined);
38
+ });
39
+ };
40
+ }
41
+ function _instanceof(left, right) {
42
+ if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
43
+ return !!right[Symbol.hasInstance](left);
44
+ } else {
45
+ return left instanceof right;
46
+ }
47
+ }
48
+ function _iterableToArray(iter) {
49
+ if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
50
+ }
51
+ function _iterableToArrayLimit(arr, i) {
52
+ var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
53
+ if (_i == null) return;
54
+ var _arr = [];
55
+ var _n = true;
56
+ var _d = false;
57
+ var _s, _e;
58
+ try {
59
+ for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){
60
+ _arr.push(_s.value);
61
+ if (i && _arr.length === i) break;
62
+ }
63
+ } catch (err) {
64
+ _d = true;
65
+ _e = err;
66
+ } finally{
67
+ try {
68
+ if (!_n && _i["return"] != null) _i["return"]();
69
+ } finally{
70
+ if (_d) throw _e;
71
+ }
72
+ }
73
+ return _arr;
74
+ }
75
+ function _nonIterableRest() {
76
+ throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
77
+ }
78
+ function _nonIterableSpread() {
79
+ throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
80
+ }
81
+ function _slicedToArray(arr, i) {
82
+ return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
83
+ }
84
+ function _toConsumableArray(arr) {
85
+ return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
86
+ }
87
+ function _unsupportedIterableToArray(o, minLen) {
88
+ if (!o) return;
89
+ if (typeof o === "string") return _arrayLikeToArray(o, minLen);
90
+ var n = Object.prototype.toString.call(o).slice(8, -1);
91
+ if (n === "Object" && o.constructor) n = o.constructor.name;
92
+ if (n === "Map" || n === "Set") return Array.from(n);
93
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
94
+ }
95
+ var __generator = this && this.__generator || function(thisArg, body) {
96
+ var f, y, t, g, _ = {
97
+ label: 0,
98
+ sent: function() {
99
+ if (t[0] & 1) throw t[1];
100
+ return t[1];
101
+ },
102
+ trys: [],
103
+ ops: []
104
+ };
105
+ return(g = {
106
+ next: verb(0),
107
+ "throw": verb(1),
108
+ "return": verb(2)
109
+ }, typeof Symbol === "function" && (g[Symbol.iterator] = function() {
110
+ return this;
111
+ }), g);
112
+ function verb(n) {
113
+ return function(v) {
114
+ return step([
115
+ n,
116
+ v
117
+ ]);
118
+ };
119
+ }
120
+ function step(op) {
121
+ if (f) throw new TypeError("Generator is already executing.");
122
+ while(_)try {
123
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
124
+ if (y = 0, t) op = [
125
+ op[0] & 2,
126
+ t.value
127
+ ];
128
+ switch(op[0]){
129
+ case 0:
130
+ case 1:
131
+ t = op;
132
+ break;
133
+ case 4:
134
+ _.label++;
135
+ return {
136
+ value: op[1],
137
+ done: false
138
+ };
139
+ case 5:
140
+ _.label++;
141
+ y = op[1];
142
+ op = [
143
+ 0
144
+ ];
145
+ continue;
146
+ case 7:
147
+ op = _.ops.pop();
148
+ _.trys.pop();
149
+ continue;
150
+ default:
151
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
152
+ _ = 0;
153
+ continue;
154
+ }
155
+ if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
156
+ _.label = op[1];
157
+ break;
158
+ }
159
+ if (op[0] === 6 && _.label < t[1]) {
160
+ _.label = t[1];
161
+ t = op;
162
+ break;
163
+ }
164
+ if (t && _.label < t[2]) {
165
+ _.label = t[2];
166
+ _.ops.push(op);
167
+ break;
168
+ }
169
+ if (t[2]) _.ops.pop();
170
+ _.trys.pop();
171
+ continue;
172
+ }
173
+ op = body.call(thisArg, _);
174
+ } catch (e) {
175
+ op = [
176
+ 6,
177
+ e
178
+ ];
179
+ y = 0;
180
+ } finally{
181
+ f = t = 0;
182
+ }
183
+ if (op[0] & 5) throw op[1];
184
+ return {
185
+ value: op[0] ? op[1] : void 0,
186
+ done: true
187
+ };
16
188
  }
17
-
18
- // WARNING: id should be unique after serialize.
19
- var id = JSON.stringify(objectId);
20
- invariant(id, 'params should be not null value');
21
- idCache.set(objectId, id);
22
- return id;
23
- };
24
189
  };
25
- export var LoaderStatus;
26
- (function (LoaderStatus) {
27
- LoaderStatus[LoaderStatus["idle"] = 0] = "idle";
28
- LoaderStatus[LoaderStatus["loading"] = 1] = "loading";
29
- LoaderStatus[LoaderStatus["fulfilled"] = 2] = "fulfilled";
30
- LoaderStatus[LoaderStatus["rejected"] = 3] = "rejected";
31
- })(LoaderStatus || (LoaderStatus = {}));
32
- var createLoader = function createLoader(id) {
33
- var initialData = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {
34
- loading: false,
35
- reloading: false,
36
- data: undefined,
37
- error: undefined
38
- };
39
- var loaderFn = arguments.length > 2 ? arguments[2] : undefined;
40
- var skip = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
41
- var promise;
42
- var status = LoaderStatus.idle;
43
- var data = initialData.data,
44
- error = initialData.error;
45
- var hasLoaded = false;
46
- var handlers = new Set();
47
- var load = /*#__PURE__*/function () {
48
- var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
49
- return _regeneratorRuntime().wrap(function _callee$(_context) {
50
- while (1) {
51
- switch (_context.prev = _context.next) {
52
- case 0:
53
- if (!skip) {
54
- _context.next = 2;
55
- break;
56
- }
57
- return _context.abrupt("return", promise);
58
- case 2:
59
- if (!(status === LoaderStatus.loading)) {
60
- _context.next = 4;
61
- break;
62
- }
63
- return _context.abrupt("return", promise);
64
- case 4:
65
- status = LoaderStatus.loading;
66
- notify();
67
- promise = loaderFn().then(function (value) {
68
- data = value;
69
- error = null;
70
- status = LoaderStatus.fulfilled;
71
- })["catch"](function (e) {
72
- error = e;
73
- data = null;
74
- status = LoaderStatus.rejected;
75
- })["finally"](function () {
76
- promise = null;
77
- hasLoaded = true;
78
- notify();
79
- });
80
- return _context.abrupt("return", promise);
81
- case 8:
82
- case "end":
83
- return _context.stop();
84
- }
190
+ import invariant from "invariant";
191
+ var createGetId = function() {
192
+ var idCache = /* @__PURE__ */ new Map();
193
+ return function(objectId) {
194
+ var cachedId = idCache.get(objectId);
195
+ if (cachedId) {
196
+ return cachedId;
85
197
  }
86
- }, _callee);
87
- }));
88
- return function load() {
89
- return _ref.apply(this, arguments);
198
+ var id = JSON.stringify(objectId);
199
+ invariant(id, "params should be not null value");
200
+ idCache.set(objectId, id);
201
+ return id;
90
202
  };
91
- }();
92
- var getResult = function getResult() {
93
- return {
94
- loading: !hasLoaded && status === LoaderStatus.loading,
95
- reloading: hasLoaded && status === LoaderStatus.loading,
96
- data: data,
97
- error: error instanceof Error ? "".concat(error.message) : error,
98
- // redundant fields for ssr log
99
- _error: error
203
+ };
204
+ var LoaderStatus = /* @__PURE__ */ function(LoaderStatus2) {
205
+ LoaderStatus2[LoaderStatus2["idle"] = 0] = "idle";
206
+ LoaderStatus2[LoaderStatus2["loading"] = 1] = "loading";
207
+ LoaderStatus2[LoaderStatus2["fulfilled"] = 2] = "fulfilled";
208
+ LoaderStatus2[LoaderStatus2["rejected"] = 3] = "rejected";
209
+ return LoaderStatus2;
210
+ }(LoaderStatus || {});
211
+ var createLoader = function(id) {
212
+ var initialData = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {
213
+ loading: false,
214
+ reloading: false,
215
+ data: void 0,
216
+ error: void 0
217
+ }, loaderFn = arguments.length > 2 ? arguments[2] : void 0, skip = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : false;
218
+ var promise;
219
+ var status = 0 /* idle */ ;
220
+ var data = initialData.data, error = initialData.error;
221
+ var hasLoaded = false;
222
+ var handlers = /* @__PURE__ */ new Set();
223
+ var load = function() {
224
+ var _ref = _asyncToGenerator(function() {
225
+ return __generator(this, function(_state) {
226
+ if (skip) {
227
+ return [
228
+ 2,
229
+ promise
230
+ ];
231
+ }
232
+ if (status === 1 /* loading */ ) {
233
+ return [
234
+ 2,
235
+ promise
236
+ ];
237
+ }
238
+ status = 1 /* loading */ ;
239
+ notify();
240
+ promise = loaderFn().then(function(value) {
241
+ data = value;
242
+ error = null;
243
+ status = 2 /* fulfilled */ ;
244
+ }).catch(function(e) {
245
+ error = e;
246
+ data = null;
247
+ status = 3 /* rejected */ ;
248
+ }).finally(function() {
249
+ promise = null;
250
+ hasLoaded = true;
251
+ notify();
252
+ });
253
+ return [
254
+ 2,
255
+ promise
256
+ ];
257
+ });
258
+ });
259
+ return function load() {
260
+ return _ref.apply(this, arguments);
261
+ };
262
+ }();
263
+ var getResult = function() {
264
+ return {
265
+ loading: !hasLoaded && status === 1 /* loading */ ,
266
+ reloading: hasLoaded && status === 1 /* loading */ ,
267
+ data: data,
268
+ error: _instanceof(error, Error) ? "".concat(error.message) : error,
269
+ _error: error
270
+ };
271
+ };
272
+ var notify = function() {
273
+ _toConsumableArray(handlers).forEach(function(handler) {
274
+ handler(status, getResult());
275
+ });
100
276
  };
101
- };
102
- var notify = function notify() {
103
- // don't iterate handlers directly, since it could be modified during iteration
104
- _toConsumableArray(handlers).forEach(function (handler) {
105
- handler(status, getResult());
106
- });
107
- };
108
- var onChange = function onChange(handler) {
109
- handlers.add(handler);
110
- return function () {
111
- handlers["delete"](handler);
277
+ var onChange = function(handler) {
278
+ handlers.add(handler);
279
+ return function() {
280
+ handlers.delete(handler);
281
+ };
282
+ };
283
+ return {
284
+ get result () {
285
+ return getResult();
286
+ },
287
+ get promise () {
288
+ return promise;
289
+ },
290
+ onChange: onChange,
291
+ load: load
112
292
  };
113
- };
114
- return {
115
- get result() {
116
- return getResult();
117
- },
118
- get promise() {
119
- return promise;
120
- },
121
- onChange: onChange,
122
- load: load
123
- };
124
293
  };
125
- /**
126
- * Create loaders manager. It's returned instance will add to context
127
- * @param initialDataMap used to initialing loader data
128
- */
129
- export var createLoaderManager = function createLoaderManager(initialDataMap) {
130
- var managerOptions = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
131
- var _managerOptions$skipS = managerOptions.skipStatic,
132
- skipStatic = _managerOptions$skipS === void 0 ? false : _managerOptions$skipS,
133
- _managerOptions$skipN = managerOptions.skipNonStatic,
134
- skipNonStatic = _managerOptions$skipN === void 0 ? false : _managerOptions$skipN;
135
- var loadersMap = new Map();
136
- var getId = createGetId();
137
- var add = function add(loaderFn, loaderOptions) {
138
- var id = getId(loaderOptions.params);
139
- var loader = loadersMap.get(id);
140
-
141
- // private property for opting out loader cache, maybe change in future
142
- var cache = loaderOptions._cache;
143
- if (!loader || cache === false) {
144
- // ignore non-static loader on static phase
145
- var ignoreNonStatic = skipNonStatic && !loaderOptions["static"];
146
-
147
- // ignore static loader on non-static phase
148
- var ignoreStatic = skipStatic && loaderOptions["static"];
149
- var skipExec = ignoreNonStatic || ignoreStatic;
150
- loader = createLoader(id, typeof initialDataMap[id] !== 'undefined' ? initialDataMap[id] : {
151
- data: loaderOptions.initialData
152
- }, loaderFn,
153
- // Todo whether static loader is exec when CSR
154
- skipExec);
155
- loadersMap.set(id, loader);
156
- }
157
- return id;
158
- };
159
- var get = function get(id) {
160
- return loadersMap.get(id);
161
- };
162
-
163
- // check if there has pending loaders
164
- var hasPendingLoaders = function hasPendingLoaders() {
165
- var _iterator = _createForOfIteratorHelper(loadersMap.values()),
166
- _step;
167
- try {
168
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
169
- var loader = _step.value;
170
- var promise = loader.promise;
171
- if (promise instanceof Promise) {
172
- return true;
294
+ var createLoaderManager = function(initialDataMap) {
295
+ var managerOptions = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
296
+ var _skipStatic = managerOptions.skipStatic, skipStatic = _skipStatic === void 0 ? false : _skipStatic, _skipNonStatic = managerOptions.skipNonStatic, skipNonStatic = _skipNonStatic === void 0 ? false : _skipNonStatic;
297
+ var loadersMap = /* @__PURE__ */ new Map();
298
+ var getId = createGetId();
299
+ var add = function(loaderFn, loaderOptions) {
300
+ var id = getId(loaderOptions.params);
301
+ var loader = loadersMap.get(id);
302
+ var cache = loaderOptions._cache;
303
+ if (!loader || cache === false) {
304
+ var ignoreNonStatic = skipNonStatic && !loaderOptions.static;
305
+ var ignoreStatic = skipStatic && loaderOptions.static;
306
+ var skipExec = ignoreNonStatic || ignoreStatic;
307
+ loader = createLoader(id, typeof initialDataMap[id] !== "undefined" ? initialDataMap[id] : {
308
+ data: loaderOptions.initialData
309
+ }, loaderFn, skipExec);
310
+ loadersMap.set(id, loader);
173
311
  }
174
- }
175
- } catch (err) {
176
- _iterator.e(err);
177
- } finally {
178
- _iterator.f();
179
- }
180
- return false;
181
- };
182
-
183
- // waiting for all pending loaders to be settled
184
- var awaitPendingLoaders = /*#__PURE__*/function () {
185
- var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
186
- var pendingLoaders, _iterator2, _step2, _step2$value, id, loader, promise;
187
- return _regeneratorRuntime().wrap(function _callee2$(_context2) {
188
- while (1) {
189
- switch (_context2.prev = _context2.next) {
190
- case 0:
191
- pendingLoaders = [];
192
- _iterator2 = _createForOfIteratorHelper(loadersMap);
193
- try {
194
- for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
195
- _step2$value = _slicedToArray(_step2.value, 2), id = _step2$value[0], loader = _step2$value[1];
196
- promise = loader.promise;
197
- if (promise instanceof Promise) {
198
- pendingLoaders.push([id, loader]);
199
- }
312
+ return id;
313
+ };
314
+ var get = function(id) {
315
+ return loadersMap.get(id);
316
+ };
317
+ var hasPendingLoaders = function() {
318
+ var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
319
+ try {
320
+ for(var _iterator = loadersMap.values()[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
321
+ var loader = _step.value;
322
+ var promise = loader.promise;
323
+ if (_instanceof(promise, Promise)) {
324
+ return true;
325
+ }
326
+ }
327
+ } catch (err) {
328
+ _didIteratorError = true;
329
+ _iteratorError = err;
330
+ } finally{
331
+ try {
332
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
333
+ _iterator.return();
334
+ }
335
+ } finally{
336
+ if (_didIteratorError) {
337
+ throw _iteratorError;
200
338
  }
201
- } catch (err) {
202
- _iterator2.e(err);
203
- } finally {
204
- _iterator2.f();
205
- }
206
- _context2.next = 5;
207
- return Promise.all(pendingLoaders.map(function (item) {
208
- return item[1].promise;
209
- }));
210
- case 5:
211
- return _context2.abrupt("return", pendingLoaders.reduce(function (res, _ref3) {
212
- var _ref4 = _slicedToArray(_ref3, 2),
213
- id = _ref4[0],
214
- loader = _ref4[1];
215
- res[id] = loader.result;
216
- return res;
217
- }, {}));
218
- case 6:
219
- case "end":
220
- return _context2.stop();
221
- }
339
+ }
222
340
  }
223
- }, _callee2);
224
- }));
225
- return function awaitPendingLoaders() {
226
- return _ref2.apply(this, arguments);
341
+ return false;
227
342
  };
228
- }();
229
- return {
230
- hasPendingLoaders: hasPendingLoaders,
231
- awaitPendingLoaders: awaitPendingLoaders,
232
- add: add,
233
- get: get
234
- };
235
- };
343
+ var awaitPendingLoaders = function() {
344
+ var _ref = _asyncToGenerator(function() {
345
+ var pendingLoaders, _iteratorNormalCompletion, _didIteratorError, _iteratorError, _iterator, _step, _value, id, loader, promise;
346
+ return __generator(this, function(_state) {
347
+ switch(_state.label){
348
+ case 0:
349
+ pendingLoaders = [];
350
+ _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
351
+ try {
352
+ for(_iterator = loadersMap[Symbol.iterator](); !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
353
+ _value = _slicedToArray(_step.value, 2), id = _value[0], loader = _value[1];
354
+ promise = loader.promise;
355
+ if (_instanceof(promise, Promise)) {
356
+ pendingLoaders.push([
357
+ id,
358
+ loader
359
+ ]);
360
+ }
361
+ }
362
+ } catch (err) {
363
+ _didIteratorError = true;
364
+ _iteratorError = err;
365
+ } finally{
366
+ try {
367
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
368
+ _iterator.return();
369
+ }
370
+ } finally{
371
+ if (_didIteratorError) {
372
+ throw _iteratorError;
373
+ }
374
+ }
375
+ }
376
+ return [
377
+ 4,
378
+ Promise.all(pendingLoaders.map(function(item) {
379
+ return item[1].promise;
380
+ }))
381
+ ];
382
+ case 1:
383
+ _state.sent();
384
+ return [
385
+ 2,
386
+ pendingLoaders.reduce(function(res, param) {
387
+ var _param = _slicedToArray(param, 2), id = _param[0], loader = _param[1];
388
+ res[id] = loader.result;
389
+ return res;
390
+ }, {})
391
+ ];
392
+ }
393
+ });
394
+ });
395
+ return function awaitPendingLoaders() {
396
+ return _ref.apply(this, arguments);
397
+ };
398
+ }();
399
+ return {
400
+ hasPendingLoaders: hasPendingLoaders,
401
+ awaitPendingLoaders: awaitPendingLoaders,
402
+ add: add,
403
+ get: get
404
+ };
405
+ };
406
+ export { LoaderStatus, createLoaderManager };