@next-core/runtime 1.0.2

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 (371) hide show
  1. package/dist/cjs/CustomProcessors.js +29 -0
  2. package/dist/cjs/CustomProcessors.js.map +1 -0
  3. package/dist/cjs/CustomTemplates.js +179 -0
  4. package/dist/cjs/CustomTemplates.js.map +1 -0
  5. package/dist/cjs/StoryboardFunctionRegistry.js +118 -0
  6. package/dist/cjs/StoryboardFunctionRegistry.js.map +1 -0
  7. package/dist/cjs/auth.js +67 -0
  8. package/dist/cjs/auth.js.map +1 -0
  9. package/dist/cjs/fetchByProvider.js +13 -0
  10. package/dist/cjs/fetchByProvider.js.map +1 -0
  11. package/dist/cjs/getBasePath.js +15 -0
  12. package/dist/cjs/getBasePath.js.map +1 -0
  13. package/dist/cjs/getPageInfo.js +45 -0
  14. package/dist/cjs/getPageInfo.js.map +1 -0
  15. package/dist/cjs/handleHttpError.js +97 -0
  16. package/dist/cjs/handleHttpError.js.map +1 -0
  17. package/dist/cjs/history.js +27 -0
  18. package/dist/cjs/history.js.map +1 -0
  19. package/dist/cjs/index.js +199 -0
  20. package/dist/cjs/index.js.map +1 -0
  21. package/dist/cjs/internal/CustomTemplates/bindTemplateProxy.js +72 -0
  22. package/dist/cjs/internal/CustomTemplates/bindTemplateProxy.js.map +1 -0
  23. package/dist/cjs/internal/CustomTemplates/constants.js +13 -0
  24. package/dist/cjs/internal/CustomTemplates/constants.js.map +1 -0
  25. package/dist/cjs/internal/CustomTemplates/expandCustomTemplate.js +122 -0
  26. package/dist/cjs/internal/CustomTemplates/expandCustomTemplate.js.map +1 -0
  27. package/dist/cjs/internal/CustomTemplates/setupTemplateProxy.js +113 -0
  28. package/dist/cjs/internal/CustomTemplates/setupTemplateProxy.js.map +1 -0
  29. package/dist/cjs/internal/CustomTemplates/setupUseBrickInTemplate.js +44 -0
  30. package/dist/cjs/internal/CustomTemplates/setupUseBrickInTemplate.js.map +1 -0
  31. package/dist/cjs/internal/CustomTemplates/utils.js +44 -0
  32. package/dist/cjs/internal/CustomTemplates/utils.js.map +1 -0
  33. package/dist/cjs/internal/Renderer.js +392 -0
  34. package/dist/cjs/internal/Renderer.js.map +1 -0
  35. package/dist/cjs/internal/RendererContext.js +433 -0
  36. package/dist/cjs/internal/RendererContext.js.map +1 -0
  37. package/dist/cjs/internal/Router.js +448 -0
  38. package/dist/cjs/internal/Router.js.map +1 -0
  39. package/dist/cjs/internal/Runtime.js +140 -0
  40. package/dist/cjs/internal/Runtime.js.map +1 -0
  41. package/dist/cjs/internal/abortController.js +32 -0
  42. package/dist/cjs/internal/abortController.js.map +1 -0
  43. package/dist/cjs/internal/bindListeners.js +433 -0
  44. package/dist/cjs/internal/bindListeners.js.map +1 -0
  45. package/dist/cjs/internal/checkInstalledApps.js +105 -0
  46. package/dist/cjs/internal/checkInstalledApps.js.map +1 -0
  47. package/dist/cjs/internal/checkPermissions.js +102 -0
  48. package/dist/cjs/internal/checkPermissions.js.map +1 -0
  49. package/dist/cjs/internal/compute/StoryboardFunctions.js +16 -0
  50. package/dist/cjs/internal/compute/StoryboardFunctions.js.map +1 -0
  51. package/dist/cjs/internal/compute/WidgetFunctions.js +31 -0
  52. package/dist/cjs/internal/compute/WidgetFunctions.js.map +1 -0
  53. package/dist/cjs/internal/compute/WidgetI18n.js +21 -0
  54. package/dist/cjs/internal/compute/WidgetI18n.js.map +1 -0
  55. package/dist/cjs/internal/compute/checkIf.js +36 -0
  56. package/dist/cjs/internal/compute/checkIf.js.map +1 -0
  57. package/dist/cjs/internal/compute/collectMemberCallUsage.js +30 -0
  58. package/dist/cjs/internal/compute/collectMemberCallUsage.js.map +1 -0
  59. package/dist/cjs/internal/compute/computeRealProperties.js +80 -0
  60. package/dist/cjs/internal/compute/computeRealProperties.js.map +1 -0
  61. package/dist/cjs/internal/compute/computeRealValue.js +78 -0
  62. package/dist/cjs/internal/compute/computeRealValue.js.map +1 -0
  63. package/dist/cjs/internal/compute/evaluate.js +390 -0
  64. package/dist/cjs/internal/compute/evaluate.js.map +1 -0
  65. package/dist/cjs/internal/compute/getGeneralGlobals.js +87 -0
  66. package/dist/cjs/internal/compute/getGeneralGlobals.js.map +1 -0
  67. package/dist/cjs/internal/compute/getNextStateOfUseBrick.js +87 -0
  68. package/dist/cjs/internal/compute/getNextStateOfUseBrick.js.map +1 -0
  69. package/dist/cjs/internal/compute/getStorageItem.js +14 -0
  70. package/dist/cjs/internal/compute/getStorageItem.js.map +1 -0
  71. package/dist/cjs/internal/compute/getTracks.js +26 -0
  72. package/dist/cjs/internal/compute/getTracks.js.map +1 -0
  73. package/dist/cjs/internal/compute/images.js +23 -0
  74. package/dist/cjs/internal/compute/images.js.map +1 -0
  75. package/dist/cjs/internal/compute/listenOnTrackingContext.js +40 -0
  76. package/dist/cjs/internal/compute/listenOnTrackingContext.js.map +1 -0
  77. package/dist/cjs/internal/compute/markAsComputed.js +36 -0
  78. package/dist/cjs/internal/compute/markAsComputed.js.map +1 -0
  79. package/dist/cjs/internal/compute/setProperties.js +18 -0
  80. package/dist/cjs/internal/compute/setProperties.js.map +1 -0
  81. package/dist/cjs/internal/compute/setRealProperties.js +29 -0
  82. package/dist/cjs/internal/compute/setRealProperties.js.map +1 -0
  83. package/dist/cjs/internal/data/CollectContracts.js +29 -0
  84. package/dist/cjs/internal/data/CollectContracts.js.map +1 -0
  85. package/dist/cjs/internal/data/DataStore.js +190 -0
  86. package/dist/cjs/internal/data/DataStore.js.map +1 -0
  87. package/dist/cjs/internal/data/FlowApi.js +150 -0
  88. package/dist/cjs/internal/data/FlowApi.js.map +1 -0
  89. package/dist/cjs/internal/data/FlowApiProvider.js +122 -0
  90. package/dist/cjs/internal/data/FlowApiProvider.js.map +1 -0
  91. package/dist/cjs/internal/data/getProviderBrick.js +32 -0
  92. package/dist/cjs/internal/data/getProviderBrick.js.map +1 -0
  93. package/dist/cjs/internal/data/resolveData.js +96 -0
  94. package/dist/cjs/internal/data/resolveData.js.map +1 -0
  95. package/dist/cjs/internal/data/resolveDataStore.js +127 -0
  96. package/dist/cjs/internal/data/resolveDataStore.js.map +1 -0
  97. package/dist/cjs/internal/devtools.js +10 -0
  98. package/dist/cjs/internal/devtools.js.map +1 -0
  99. package/dist/cjs/internal/enums.js +13 -0
  100. package/dist/cjs/internal/enums.js.map +1 -0
  101. package/dist/cjs/internal/historyExtended.js +140 -0
  102. package/dist/cjs/internal/historyExtended.js.map +1 -0
  103. package/dist/cjs/internal/interfaces.js +6 -0
  104. package/dist/cjs/internal/interfaces.js.map +1 -0
  105. package/dist/cjs/internal/loadBootstrapData.js +227 -0
  106. package/dist/cjs/internal/loadBootstrapData.js.map +1 -0
  107. package/dist/cjs/internal/loadCheckLogin.js +17 -0
  108. package/dist/cjs/internal/loadCheckLogin.js.map +1 -0
  109. package/dist/cjs/internal/matchPath.js +88 -0
  110. package/dist/cjs/internal/matchPath.js.map +1 -0
  111. package/dist/cjs/internal/matchRoutes.js +34 -0
  112. package/dist/cjs/internal/matchRoutes.js.map +1 -0
  113. package/dist/cjs/internal/matchStoryboard.js +40 -0
  114. package/dist/cjs/internal/matchStoryboard.js.map +1 -0
  115. package/dist/cjs/internal/mediaQuery.js +55 -0
  116. package/dist/cjs/internal/mediaQuery.js.map +1 -0
  117. package/dist/cjs/internal/menu/computeMenuData.js +37 -0
  118. package/dist/cjs/internal/menu/computeMenuData.js.map +1 -0
  119. package/dist/cjs/internal/menu/constants.js +13 -0
  120. package/dist/cjs/internal/menu/constants.js.map +1 -0
  121. package/dist/cjs/internal/menu/fetchMenuById.js +102 -0
  122. package/dist/cjs/internal/menu/fetchMenuById.js.map +1 -0
  123. package/dist/cjs/internal/menu/fetchMenuTitle.js +37 -0
  124. package/dist/cjs/internal/menu/fetchMenuTitle.js.map +1 -0
  125. package/dist/cjs/internal/menu/getMenusOfStandaloneApp.js +27 -0
  126. package/dist/cjs/internal/menu/getMenusOfStandaloneApp.js.map +1 -0
  127. package/dist/cjs/internal/menu/interfaces.js +4 -0
  128. package/dist/cjs/internal/menu/interfaces.js.map +1 -0
  129. package/dist/cjs/internal/menu/loadDynamicMenuItems.js +28 -0
  130. package/dist/cjs/internal/menu/loadDynamicMenuItems.js.map +1 -0
  131. package/dist/cjs/internal/menu/mergeMenu.js +74 -0
  132. package/dist/cjs/internal/menu/mergeMenu.js.map +1 -0
  133. package/dist/cjs/internal/menu/reorderMenuItems.js +20 -0
  134. package/dist/cjs/internal/menu/reorderMenuItems.js.map +1 -0
  135. package/dist/cjs/internal/mount.js +90 -0
  136. package/dist/cjs/internal/mount.js.map +1 -0
  137. package/dist/cjs/internal/poll.js +83 -0
  138. package/dist/cjs/internal/poll.js.map +1 -0
  139. package/dist/cjs/internal/proxyFactories.js +39 -0
  140. package/dist/cjs/internal/proxyFactories.js.map +1 -0
  141. package/dist/cjs/internal/registerAppI18n.js +25 -0
  142. package/dist/cjs/internal/registerAppI18n.js.map +1 -0
  143. package/dist/cjs/internal/registerCustomTemplates.js +22 -0
  144. package/dist/cjs/internal/registerCustomTemplates.js.map +1 -0
  145. package/dist/cjs/internal/secret_internals.js +140 -0
  146. package/dist/cjs/internal/secret_internals.js.map +1 -0
  147. package/dist/cjs/themeAndMode.js +97 -0
  148. package/dist/cjs/themeAndMode.js.map +1 -0
  149. package/dist/esm/CustomProcessors.js +30 -0
  150. package/dist/esm/CustomProcessors.js.map +1 -0
  151. package/dist/esm/CustomTemplates.js +187 -0
  152. package/dist/esm/CustomTemplates.js.map +1 -0
  153. package/dist/esm/StoryboardFunctionRegistry.js +116 -0
  154. package/dist/esm/StoryboardFunctionRegistry.js.map +1 -0
  155. package/dist/esm/auth.js +57 -0
  156. package/dist/esm/auth.js.map +1 -0
  157. package/dist/esm/fetchByProvider.js +14 -0
  158. package/dist/esm/fetchByProvider.js.map +1 -0
  159. package/dist/esm/getBasePath.js +9 -0
  160. package/dist/esm/getBasePath.js.map +1 -0
  161. package/dist/esm/getPageInfo.js +39 -0
  162. package/dist/esm/getPageInfo.js.map +1 -0
  163. package/dist/esm/handleHttpError.js +90 -0
  164. package/dist/esm/handleHttpError.js.map +1 -0
  165. package/dist/esm/history.js +20 -0
  166. package/dist/esm/history.js.map +1 -0
  167. package/dist/esm/index.js +17 -0
  168. package/dist/esm/index.js.map +1 -0
  169. package/dist/esm/internal/CustomTemplates/bindTemplateProxy.js +68 -0
  170. package/dist/esm/internal/CustomTemplates/bindTemplateProxy.js.map +1 -0
  171. package/dist/esm/internal/CustomTemplates/constants.js +4 -0
  172. package/dist/esm/internal/CustomTemplates/constants.js.map +1 -0
  173. package/dist/esm/internal/CustomTemplates/expandCustomTemplate.js +117 -0
  174. package/dist/esm/internal/CustomTemplates/expandCustomTemplate.js.map +1 -0
  175. package/dist/esm/internal/CustomTemplates/setupTemplateProxy.js +110 -0
  176. package/dist/esm/internal/CustomTemplates/setupTemplateProxy.js.map +1 -0
  177. package/dist/esm/internal/CustomTemplates/setupUseBrickInTemplate.js +43 -0
  178. package/dist/esm/internal/CustomTemplates/setupUseBrickInTemplate.js.map +1 -0
  179. package/dist/esm/internal/CustomTemplates/utils.js +37 -0
  180. package/dist/esm/internal/CustomTemplates/utils.js.map +1 -0
  181. package/dist/esm/internal/Renderer.js +427 -0
  182. package/dist/esm/internal/Renderer.js.map +1 -0
  183. package/dist/esm/internal/RendererContext.js +425 -0
  184. package/dist/esm/internal/RendererContext.js.map +1 -0
  185. package/dist/esm/internal/Router.js +445 -0
  186. package/dist/esm/internal/Router.js.map +1 -0
  187. package/dist/esm/internal/Runtime.js +116 -0
  188. package/dist/esm/internal/Runtime.js.map +1 -0
  189. package/dist/esm/internal/abortController.js +24 -0
  190. package/dist/esm/internal/abortController.js.map +1 -0
  191. package/dist/esm/internal/bindListeners.js +434 -0
  192. package/dist/esm/internal/bindListeners.js.map +1 -0
  193. package/dist/esm/internal/checkInstalledApps.js +100 -0
  194. package/dist/esm/internal/checkInstalledApps.js.map +1 -0
  195. package/dist/esm/internal/checkPermissions.js +107 -0
  196. package/dist/esm/internal/checkPermissions.js.map +1 -0
  197. package/dist/esm/internal/compute/StoryboardFunctions.js +7 -0
  198. package/dist/esm/internal/compute/StoryboardFunctions.js.map +1 -0
  199. package/dist/esm/internal/compute/WidgetFunctions.js +23 -0
  200. package/dist/esm/internal/compute/WidgetFunctions.js.map +1 -0
  201. package/dist/esm/internal/compute/WidgetI18n.js +14 -0
  202. package/dist/esm/internal/compute/WidgetI18n.js.map +1 -0
  203. package/dist/esm/internal/compute/checkIf.js +39 -0
  204. package/dist/esm/internal/compute/checkIf.js.map +1 -0
  205. package/dist/esm/internal/compute/collectMemberCallUsage.js +22 -0
  206. package/dist/esm/internal/compute/collectMemberCallUsage.js.map +1 -0
  207. package/dist/esm/internal/compute/computeRealProperties.js +87 -0
  208. package/dist/esm/internal/compute/computeRealProperties.js.map +1 -0
  209. package/dist/esm/internal/compute/computeRealValue.js +86 -0
  210. package/dist/esm/internal/compute/computeRealValue.js.map +1 -0
  211. package/dist/esm/internal/compute/evaluate.js +387 -0
  212. package/dist/esm/internal/compute/evaluate.js.map +1 -0
  213. package/dist/esm/internal/compute/getGeneralGlobals.js +82 -0
  214. package/dist/esm/internal/compute/getGeneralGlobals.js.map +1 -0
  215. package/dist/esm/internal/compute/getNextStateOfUseBrick.js +78 -0
  216. package/dist/esm/internal/compute/getNextStateOfUseBrick.js.map +1 -0
  217. package/dist/esm/internal/compute/getStorageItem.js +8 -0
  218. package/dist/esm/internal/compute/getStorageItem.js.map +1 -0
  219. package/dist/esm/internal/compute/getTracks.js +20 -0
  220. package/dist/esm/internal/compute/getTracks.js.map +1 -0
  221. package/dist/esm/internal/compute/images.js +16 -0
  222. package/dist/esm/internal/compute/images.js.map +1 -0
  223. package/dist/esm/internal/compute/listenOnTrackingContext.js +37 -0
  224. package/dist/esm/internal/compute/listenOnTrackingContext.js.map +1 -0
  225. package/dist/esm/internal/compute/markAsComputed.js +28 -0
  226. package/dist/esm/internal/compute/markAsComputed.js.map +1 -0
  227. package/dist/esm/internal/compute/setProperties.js +12 -0
  228. package/dist/esm/internal/compute/setProperties.js.map +1 -0
  229. package/dist/esm/internal/compute/setRealProperties.js +23 -0
  230. package/dist/esm/internal/compute/setRealProperties.js.map +1 -0
  231. package/dist/esm/internal/data/CollectContracts.js +20 -0
  232. package/dist/esm/internal/data/CollectContracts.js.map +1 -0
  233. package/dist/esm/internal/data/DataStore.js +203 -0
  234. package/dist/esm/internal/data/DataStore.js.map +1 -0
  235. package/dist/esm/internal/data/FlowApi.js +156 -0
  236. package/dist/esm/internal/data/FlowApi.js.map +1 -0
  237. package/dist/esm/internal/data/FlowApiProvider.js +122 -0
  238. package/dist/esm/internal/data/FlowApiProvider.js.map +1 -0
  239. package/dist/esm/internal/data/getProviderBrick.js +33 -0
  240. package/dist/esm/internal/data/getProviderBrick.js.map +1 -0
  241. package/dist/esm/internal/data/resolveData.js +101 -0
  242. package/dist/esm/internal/data/resolveData.js.map +1 -0
  243. package/dist/esm/internal/data/resolveDataStore.js +134 -0
  244. package/dist/esm/internal/data/resolveDataStore.js.map +1 -0
  245. package/dist/esm/internal/devtools.js +4 -0
  246. package/dist/esm/internal/devtools.js.map +1 -0
  247. package/dist/esm/internal/enums.js +6 -0
  248. package/dist/esm/internal/enums.js.map +1 -0
  249. package/dist/esm/internal/historyExtended.js +132 -0
  250. package/dist/esm/internal/historyExtended.js.map +1 -0
  251. package/dist/esm/internal/interfaces.js +2 -0
  252. package/dist/esm/internal/interfaces.js.map +1 -0
  253. package/dist/esm/internal/loadBootstrapData.js +243 -0
  254. package/dist/esm/internal/loadBootstrapData.js.map +1 -0
  255. package/dist/esm/internal/loadCheckLogin.js +18 -0
  256. package/dist/esm/internal/loadCheckLogin.js.map +1 -0
  257. package/dist/esm/internal/matchPath.js +81 -0
  258. package/dist/esm/internal/matchPath.js.map +1 -0
  259. package/dist/esm/internal/matchRoutes.js +35 -0
  260. package/dist/esm/internal/matchRoutes.js.map +1 -0
  261. package/dist/esm/internal/matchStoryboard.js +33 -0
  262. package/dist/esm/internal/matchStoryboard.js.map +1 -0
  263. package/dist/esm/internal/mediaQuery.js +44 -0
  264. package/dist/esm/internal/mediaQuery.js.map +1 -0
  265. package/dist/esm/internal/menu/computeMenuData.js +38 -0
  266. package/dist/esm/internal/menu/computeMenuData.js.map +1 -0
  267. package/dist/esm/internal/menu/constants.js +4 -0
  268. package/dist/esm/internal/menu/constants.js.map +1 -0
  269. package/dist/esm/internal/menu/fetchMenuById.js +104 -0
  270. package/dist/esm/internal/menu/fetchMenuById.js.map +1 -0
  271. package/dist/esm/internal/menu/fetchMenuTitle.js +38 -0
  272. package/dist/esm/internal/menu/fetchMenuTitle.js.map +1 -0
  273. package/dist/esm/internal/menu/getMenusOfStandaloneApp.js +19 -0
  274. package/dist/esm/internal/menu/getMenusOfStandaloneApp.js.map +1 -0
  275. package/dist/esm/internal/menu/interfaces.js +4 -0
  276. package/dist/esm/internal/menu/interfaces.js.map +1 -0
  277. package/dist/esm/internal/menu/loadDynamicMenuItems.js +28 -0
  278. package/dist/esm/internal/menu/loadDynamicMenuItems.js.map +1 -0
  279. package/dist/esm/internal/menu/mergeMenu.js +77 -0
  280. package/dist/esm/internal/menu/mergeMenu.js.map +1 -0
  281. package/dist/esm/internal/menu/reorderMenuItems.js +14 -0
  282. package/dist/esm/internal/menu/reorderMenuItems.js.map +1 -0
  283. package/dist/esm/internal/mount.js +83 -0
  284. package/dist/esm/internal/mount.js.map +1 -0
  285. package/dist/esm/internal/poll.js +85 -0
  286. package/dist/esm/internal/poll.js.map +1 -0
  287. package/dist/esm/internal/proxyFactories.js +34 -0
  288. package/dist/esm/internal/proxyFactories.js.map +1 -0
  289. package/dist/esm/internal/registerAppI18n.js +20 -0
  290. package/dist/esm/internal/registerAppI18n.js.map +1 -0
  291. package/dist/esm/internal/registerCustomTemplates.js +16 -0
  292. package/dist/esm/internal/registerCustomTemplates.js.map +1 -0
  293. package/dist/esm/internal/secret_internals.js +145 -0
  294. package/dist/esm/internal/secret_internals.js.map +1 -0
  295. package/dist/esm/themeAndMode.js +80 -0
  296. package/dist/esm/themeAndMode.js.map +1 -0
  297. package/dist/types/CustomProcessors.d.ts +7 -0
  298. package/dist/types/CustomTemplates.d.ts +8 -0
  299. package/dist/types/StoryboardFunctionRegistry.d.ts +44 -0
  300. package/dist/types/auth.d.ts +19 -0
  301. package/dist/types/fetchByProvider.d.ts +2 -0
  302. package/dist/types/getBasePath.d.ts +4 -0
  303. package/dist/types/getPageInfo.d.ts +14 -0
  304. package/dist/types/handleHttpError.d.ts +19 -0
  305. package/dist/types/history.d.ts +7 -0
  306. package/dist/types/index.d.ts +15 -0
  307. package/dist/types/internal/CustomTemplates/bindTemplateProxy.d.ts +3 -0
  308. package/dist/types/internal/CustomTemplates/constants.d.ts +11 -0
  309. package/dist/types/internal/CustomTemplates/expandCustomTemplate.d.ts +3 -0
  310. package/dist/types/internal/CustomTemplates/setupTemplateProxy.d.ts +7 -0
  311. package/dist/types/internal/CustomTemplates/setupUseBrickInTemplate.d.ts +2 -0
  312. package/dist/types/internal/CustomTemplates/utils.d.ts +7 -0
  313. package/dist/types/internal/Renderer.d.ts +21 -0
  314. package/dist/types/internal/RendererContext.d.ts +25 -0
  315. package/dist/types/internal/Router.d.ts +16 -0
  316. package/dist/types/internal/Runtime.d.ts +35 -0
  317. package/dist/types/internal/abortController.d.ts +2 -0
  318. package/dist/types/internal/bindListeners.d.ts +11 -0
  319. package/dist/types/internal/checkInstalledApps.d.ts +6 -0
  320. package/dist/types/internal/checkPermissions.d.ts +17 -0
  321. package/dist/types/internal/compute/StoryboardFunctions.d.ts +1 -0
  322. package/dist/types/internal/compute/WidgetFunctions.d.ts +3 -0
  323. package/dist/types/internal/compute/WidgetI18n.d.ts +3 -0
  324. package/dist/types/internal/compute/checkIf.d.ts +23 -0
  325. package/dist/types/internal/compute/collectMemberCallUsage.d.ts +8 -0
  326. package/dist/types/internal/compute/computeRealProperties.d.ts +4 -0
  327. package/dist/types/internal/compute/computeRealValue.d.ts +9 -0
  328. package/dist/types/internal/compute/evaluate.d.ts +21 -0
  329. package/dist/types/internal/compute/getGeneralGlobals.d.ts +12 -0
  330. package/dist/types/internal/compute/getNextStateOfUseBrick.d.ts +16 -0
  331. package/dist/types/internal/compute/getStorageItem.d.ts +1 -0
  332. package/dist/types/internal/compute/getTracks.d.ts +5 -0
  333. package/dist/types/internal/compute/images.d.ts +5 -0
  334. package/dist/types/internal/compute/listenOnTrackingContext.d.ts +9 -0
  335. package/dist/types/internal/compute/markAsComputed.d.ts +3 -0
  336. package/dist/types/internal/compute/setProperties.d.ts +2 -0
  337. package/dist/types/internal/compute/setRealProperties.d.ts +1 -0
  338. package/dist/types/internal/data/CollectContracts.d.ts +5 -0
  339. package/dist/types/internal/data/DataStore.d.ts +26 -0
  340. package/dist/types/internal/data/FlowApi.d.ts +30 -0
  341. package/dist/types/internal/data/FlowApiProvider.d.ts +20 -0
  342. package/dist/types/internal/data/getProviderBrick.d.ts +1 -0
  343. package/dist/types/internal/data/resolveData.d.ts +16 -0
  344. package/dist/types/internal/data/resolveDataStore.d.ts +11 -0
  345. package/dist/types/internal/devtools.d.ts +6 -0
  346. package/dist/types/internal/enums.d.ts +4 -0
  347. package/dist/types/internal/historyExtended.d.ts +58 -0
  348. package/dist/types/internal/interfaces.d.ts +92 -0
  349. package/dist/types/internal/loadBootstrapData.d.ts +10 -0
  350. package/dist/types/internal/loadCheckLogin.d.ts +1 -0
  351. package/dist/types/internal/matchPath.d.ts +18 -0
  352. package/dist/types/internal/matchRoutes.d.ts +9 -0
  353. package/dist/types/internal/matchStoryboard.d.ts +10 -0
  354. package/dist/types/internal/mediaQuery.d.ts +14 -0
  355. package/dist/types/internal/menu/computeMenuData.d.ts +7 -0
  356. package/dist/types/internal/menu/constants.d.ts +3 -0
  357. package/dist/types/internal/menu/fetchMenuById.d.ts +3 -0
  358. package/dist/types/internal/menu/fetchMenuTitle.d.ts +2 -0
  359. package/dist/types/internal/menu/getMenusOfStandaloneApp.d.ts +2 -0
  360. package/dist/types/internal/menu/interfaces.d.ts +74 -0
  361. package/dist/types/internal/menu/loadDynamicMenuItems.d.ts +3 -0
  362. package/dist/types/internal/menu/mergeMenu.d.ts +3 -0
  363. package/dist/types/internal/menu/reorderMenuItems.d.ts +2 -0
  364. package/dist/types/internal/mount.d.ts +3 -0
  365. package/dist/types/internal/poll.d.ts +10 -0
  366. package/dist/types/internal/proxyFactories.d.ts +2 -0
  367. package/dist/types/internal/registerAppI18n.d.ts +3 -0
  368. package/dist/types/internal/registerCustomTemplates.d.ts +2 -0
  369. package/dist/types/internal/secret_internals.d.ts +21 -0
  370. package/dist/types/themeAndMode.d.ts +16 -0
  371. package/package.json +67 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkInstalledApps.js","names":["traverseStoryboardExpressions","RuntimeApi_searchMicroAppStandalone","compare","collectInstalledAppsHasUsage","_internalApiGetAppInBootstrapData","checkingApps","Map","checkedApps","preCheckInstalledApps","storyboard","window","STANDALONE_MICRO_APPS","NO_AUTH_GUARD","appIds","scanInstalledAppsUsage","searchIds","appId","has","push","length","promise","query","$in","fields","catch","error","console","_loop","set","then","result","_result$list","app","list","find","item","checkedApp","_objectSpread","id","undefined","waitForCheckingApps","Promise","all","map","get","hasInstalledApp","matchVersion","installStatus","currentVersion","matches","match","TypeError","concat","_storyboard$meta","usage","usedArgs","Set","customTemplates","menus","meta","routes","node","parent"],"sources":["../../../src/internal/checkInstalledApps.ts"],"sourcesContent":["import type { MicroApp, Storyboard } from \"@next-core/types\";\nimport { traverseStoryboardExpressions } from \"@next-core/utils/storyboard\";\nimport { RuntimeApi_searchMicroAppStandalone } from \"@next-api-sdk/micro-app-standalone-sdk\";\nimport { type CompareOperator, compare } from \"compare-versions\";\nimport {\n MemberCallUsage,\n collectInstalledAppsHasUsage,\n} from \"./compute/collectMemberCallUsage.js\";\nimport { _internalApiGetAppInBootstrapData } from \"./Runtime.js\";\n\ntype AppForCheck = Pick<MicroApp, \"id\" | \"currentVersion\" | \"installStatus\">;\n\nconst checkingApps = new Map<string, Promise<AppForCheck | undefined>>();\nconst checkedApps = new Map<string, AppForCheck | undefined>();\n\nexport function preCheckInstalledApps(storyboard: Storyboard) {\n if (window.STANDALONE_MICRO_APPS && !window.NO_AUTH_GUARD) {\n const appIds = scanInstalledAppsUsage(storyboard);\n const searchIds: string[] = [];\n for (const appId of appIds) {\n // Do not check these apps already checking or in bootstrap.\n if (\n !checkingApps.has(appId) &&\n !_internalApiGetAppInBootstrapData(appId)\n ) {\n searchIds.push(appId);\n }\n }\n if (searchIds.length === 0) {\n return;\n }\n const promise = RuntimeApi_searchMicroAppStandalone({\n query: { appId: { $in: searchIds } },\n fields: [\"appId\", \"currentVersion\", \"installStatus\"],\n }).catch((error) => {\n // Allow search micro app to fail, and\n // make it not crash when the backend service is not updated.\n // eslint-disable-next-line no-console\n console.error(\"Get off site standalone micro-apps failed\", error);\n });\n for (const appId of searchIds) {\n checkingApps.set(\n appId,\n promise.then((result) => {\n const app = result?.list?.find((item) => item.appId === appId);\n const checkedApp = app\n ? {\n ...app,\n id: appId,\n }\n : undefined;\n checkedApps.set(appId, checkedApp);\n return checkedApp;\n })\n );\n }\n }\n}\n\nexport function waitForCheckingApps(appIds: string[]) {\n return Promise.all(appIds.map((appId) => checkingApps.get(appId)));\n}\n\nexport function hasInstalledApp(appId: string, matchVersion?: string): boolean {\n // First, check whether the app is in bootstrap already.\n let app = _internalApiGetAppInBootstrapData(appId) as AppForCheck | undefined;\n if (!app && window.STANDALONE_MICRO_APPS) {\n app = checkedApps.get(appId);\n }\n if (!app || app.installStatus === \"running\") {\n return false;\n }\n // Todo: `currentVersion` maybe `\"\"`\n if (!matchVersion || !app.currentVersion) {\n return true;\n }\n // Valid `matchVersion`:\n // >=1.2.3\n // >1.2.3\n // =1.2.3\n // <=1.2.3\n // <1.2.3\n const matches = matchVersion.match(/^([><]=?|=)(.*)$/);\n try {\n if (!matches) {\n throw new TypeError(`Invalid match version: ${matchVersion}`);\n }\n return compare(\n app.currentVersion,\n matches[2],\n matches[1] as CompareOperator\n );\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error(error);\n }\n return false;\n}\n\nfunction scanInstalledAppsUsage(storyboard: Storyboard) {\n const usage: MemberCallUsage = {\n usedArgs: new Set(),\n };\n // `INSTALLED_APPS.has(...)` is not available in storyboard functions\n const { customTemplates, menus } = storyboard.meta ?? {};\n traverseStoryboardExpressions(\n [storyboard.routes, customTemplates, menus],\n (node, parent) => {\n collectInstalledAppsHasUsage(usage, node, parent);\n },\n \"INSTALLED_APPS\"\n );\n return [...usage.usedArgs];\n}\n"],"mappings":"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"}
@@ -0,0 +1,107 @@
1
+ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
+ import { difference } from "lodash";
3
+ import { scanPermissionActionsInAny, scanPermissionActionsInStoryboard } from "@next-core/utils/storyboard";
4
+ import { PermissionApi_validatePermissions } from "@next-api-sdk/micro-app-sdk";
5
+ import { getAuth, isLoggedIn } from "../auth.js";
6
+ import { asyncComputeRealValue } from "./compute/computeRealValue.js";
7
+ var checkedPermissions = [];
8
+ var permissionMap = new Map();
9
+ export function preCheckPermissions(storyboard) {
10
+ if (isLoggedIn() && !getAuth().isAdmin) {
11
+ var usedActions = scanPermissionActionsInStoryboard(storyboard);
12
+ return validatePermissions(usedActions);
13
+ }
14
+ }
15
+ export function preCheckPermissionsForBrickOrRoute(_x, _x2) {
16
+ return _preCheckPermissionsForBrickOrRoute.apply(this, arguments);
17
+ }
18
+ function _preCheckPermissionsForBrickOrRoute() {
19
+ _preCheckPermissionsForBrickOrRoute = _asyncToGenerator(function* (container, runtimeContext) {
20
+ if (isLoggedIn() && !getAuth().isAdmin && Array.isArray(container.permissionsPreCheck)) {
21
+ var actions = yield asyncComputeRealValue(container.permissionsPreCheck, runtimeContext);
22
+ return validatePermissions(actions);
23
+ }
24
+ });
25
+ return _preCheckPermissionsForBrickOrRoute.apply(this, arguments);
26
+ }
27
+ export function preCheckPermissionsForAny(data) {
28
+ if (isLoggedIn() && !getAuth().isAdmin) {
29
+ var usedActions = scanPermissionActionsInAny(data);
30
+ return validatePermissions(usedActions);
31
+ }
32
+ }
33
+ export function validatePermissions(_x3) {
34
+ return _validatePermissions.apply(this, arguments);
35
+ }
36
+
37
+ /**
38
+ * Check the current logged-in user whether to have all
39
+ * permissions of actions passed to it.
40
+ *
41
+ * @param actions - Required permission actions.
42
+ */
43
+ function _validatePermissions() {
44
+ _validatePermissions = _asyncToGenerator(function* (usedActions) {
45
+ // Do not request known actions.
46
+ var actions = difference(usedActions, [...checkedPermissions]);
47
+ if (actions.length === 0) {
48
+ return;
49
+ }
50
+ checkedPermissions.push(...actions);
51
+ try {
52
+ var result = yield PermissionApi_validatePermissions({
53
+ actions
54
+ });
55
+ for (var item of result.actions) {
56
+ permissionMap.set(item.action, item.authorizationStatus);
57
+ if (item.authorizationStatus === "undefined") {
58
+ // eslint-disable-next-line no-console
59
+ console.error("Undefined permission action: \"".concat(item.action, "\""));
60
+ }
61
+ }
62
+ } catch (error) {
63
+ // Allow pre-check to fail, and
64
+ // make it not crash when the backend service is not updated.
65
+ // eslint-disable-next-line no-console
66
+ console.error("Pre-check permissions failed", error);
67
+ }
68
+ });
69
+ return _validatePermissions.apply(this, arguments);
70
+ }
71
+ export function checkPermissions() {
72
+ if (!isLoggedIn()) {
73
+ return false;
74
+ }
75
+ if (getAuth().isAdmin) {
76
+ return true;
77
+ }
78
+ for (var _len = arguments.length, actions = new Array(_len), _key = 0; _key < _len; _key++) {
79
+ actions[_key] = arguments[_key];
80
+ }
81
+ for (var action of actions) {
82
+ // Only **exclusively authorized** permissions are ok.
83
+ // Those scenarios below will fail:
84
+ // - unauthorized actions (pre-check results)
85
+ // - undefined actions (pre-check results)
86
+ // - Un-pre-checked or pre-check failed
87
+ switch (permissionMap.get(action)) {
88
+ case "unauthorized":
89
+ case "undefined":
90
+ return false;
91
+ case undefined:
92
+ // eslint-disable-next-line no-console
93
+ console.error("Un-checked permission action: \"".concat(action, "\", please make sure the permission to check is defined in permissionsPreCheck."));
94
+ return false;
95
+ }
96
+ }
97
+ return true;
98
+ }
99
+
100
+ /**
101
+ * Reset permission pre-checks after logged-out.
102
+ */
103
+ export function resetPermissionPreChecks() {
104
+ checkedPermissions.length = 0;
105
+ permissionMap.clear();
106
+ }
107
+ //# sourceMappingURL=checkPermissions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkPermissions.js","names":["difference","scanPermissionActionsInAny","scanPermissionActionsInStoryboard","PermissionApi_validatePermissions","getAuth","isLoggedIn","asyncComputeRealValue","checkedPermissions","permissionMap","Map","preCheckPermissions","storyboard","isAdmin","usedActions","validatePermissions","preCheckPermissionsForBrickOrRoute","_x","_x2","_preCheckPermissionsForBrickOrRoute","apply","arguments","_asyncToGenerator","container","runtimeContext","Array","isArray","permissionsPreCheck","actions","preCheckPermissionsForAny","data","_x3","_validatePermissions","length","push","result","item","set","action","authorizationStatus","console","error","concat","checkPermissions","_len","_key","get","undefined","resetPermissionPreChecks","clear"],"sources":["../../../src/internal/checkPermissions.ts"],"sourcesContent":["import { difference } from \"lodash\";\nimport {\n scanPermissionActionsInAny,\n scanPermissionActionsInStoryboard,\n} from \"@next-core/utils/storyboard\";\nimport type { BrickConf, RouteConf, Storyboard } from \"@next-core/types\";\nimport { PermissionApi_validatePermissions } from \"@next-api-sdk/micro-app-sdk\";\nimport { getAuth, isLoggedIn } from \"../auth.js\";\nimport type { RuntimeContext } from \"./interfaces.js\";\nimport { asyncComputeRealValue } from \"./compute/computeRealValue.js\";\n\ntype PermissionStatus = \"authorized\" | \"unauthorized\" | \"undefined\";\n\nconst checkedPermissions: string[] = [];\nconst permissionMap = new Map<string, PermissionStatus>();\n\nexport function preCheckPermissions(\n storyboard: Storyboard\n): Promise<void> | undefined {\n if (isLoggedIn() && !getAuth().isAdmin) {\n const usedActions = scanPermissionActionsInStoryboard(storyboard);\n return validatePermissions(usedActions);\n }\n}\n\nexport async function preCheckPermissionsForBrickOrRoute(\n container: BrickConf | RouteConf,\n runtimeContext: RuntimeContext\n) {\n if (\n isLoggedIn() &&\n !getAuth().isAdmin &&\n Array.isArray(container.permissionsPreCheck)\n ) {\n const actions = (await asyncComputeRealValue(\n container.permissionsPreCheck,\n runtimeContext\n )) as string[];\n return validatePermissions(actions);\n }\n}\n\nexport function preCheckPermissionsForAny(\n data: unknown\n): Promise<void> | undefined {\n if (isLoggedIn() && !getAuth().isAdmin) {\n const usedActions = scanPermissionActionsInAny(data);\n return validatePermissions(usedActions);\n }\n}\n\nexport async function validatePermissions(\n usedActions: string[]\n): Promise<void> {\n // Do not request known actions.\n const actions = difference(usedActions, [...checkedPermissions]);\n if (actions.length === 0) {\n return;\n }\n checkedPermissions.push(...actions);\n try {\n const result = await PermissionApi_validatePermissions({ actions });\n for (const item of result.actions!) {\n permissionMap.set(item.action!, item.authorizationStatus!);\n if (item.authorizationStatus === \"undefined\") {\n // eslint-disable-next-line no-console\n console.error(`Undefined permission action: \"${item.action}\"`);\n }\n }\n } catch (error) {\n // Allow pre-check to fail, and\n // make it not crash when the backend service is not updated.\n // eslint-disable-next-line no-console\n console.error(\"Pre-check permissions failed\", error);\n }\n}\n\n/**\n * Check the current logged-in user whether to have all\n * permissions of actions passed to it.\n *\n * @param actions - Required permission actions.\n */\nexport function checkPermissions(...actions: string[]): boolean {\n if (!isLoggedIn()) {\n return false;\n }\n\n if (getAuth().isAdmin) {\n return true;\n }\n\n for (const action of actions) {\n // Only **exclusively authorized** permissions are ok.\n // Those scenarios below will fail:\n // - unauthorized actions (pre-check results)\n // - undefined actions (pre-check results)\n // - Un-pre-checked or pre-check failed\n switch (permissionMap.get(action)) {\n case \"unauthorized\":\n case \"undefined\":\n return false;\n case undefined:\n // eslint-disable-next-line no-console\n console.error(\n `Un-checked permission action: \"${action}\", please make sure the permission to check is defined in permissionsPreCheck.`\n );\n return false;\n }\n }\n return true;\n}\n\n/**\n * Reset permission pre-checks after logged-out.\n */\nexport function resetPermissionPreChecks(): void {\n checkedPermissions.length = 0;\n permissionMap.clear();\n}\n"],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { StoryboardFunctionRegistryFactory } from "../../StoryboardFunctionRegistry.js";
2
+ export var {
3
+ storyboardFunctions,
4
+ registerStoryboardFunctions,
5
+ checkPermissionsUsage
6
+ } = StoryboardFunctionRegistryFactory();
7
+ //# sourceMappingURL=StoryboardFunctions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StoryboardFunctions.js","names":["StoryboardFunctionRegistryFactory","storyboardFunctions","registerStoryboardFunctions","checkPermissionsUsage"],"sources":["../../../../src/internal/compute/StoryboardFunctions.ts"],"sourcesContent":["import { StoryboardFunctionRegistryFactory } from \"../../StoryboardFunctionRegistry.js\";\n\nexport const {\n storyboardFunctions,\n registerStoryboardFunctions,\n checkPermissionsUsage,\n} = StoryboardFunctionRegistryFactory();\n"],"mappings":"AAAA,SAASA,iCAAiC,QAAQ,qCAAqC;AAEvF,OAAO,IAAM;EACXC,mBAAmB;EACnBC,2BAA2B;EAC3BC;AACF,CAAC,GAAGH,iCAAiC,EAAE"}
@@ -0,0 +1,23 @@
1
+ import { StoryboardFunctionRegistryFactory } from "../../StoryboardFunctionRegistry.js";
2
+ var widgetFunctionRegistry = new Map();
3
+ export var widgetFunctions = new Proxy(Object.freeze({}), {
4
+ get(target, key) {
5
+ return widgetFunctionRegistry.get(key);
6
+ }
7
+ });
8
+ export function registerWidgetFunctions(widgetId, functions, widgetVersion) {
9
+ if (widgetFunctionRegistry.has(widgetId)) {
10
+ // eslint-disable-next-line no-console
11
+ throw new Error("Widget functions of \"".concat(widgetId, "\" already registered"));
12
+ }
13
+ var {
14
+ storyboardFunctions,
15
+ registerStoryboardFunctions
16
+ } = StoryboardFunctionRegistryFactory({
17
+ widgetId,
18
+ widgetVersion
19
+ });
20
+ widgetFunctionRegistry.set(widgetId, storyboardFunctions);
21
+ registerStoryboardFunctions(functions);
22
+ }
23
+ //# sourceMappingURL=WidgetFunctions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WidgetFunctions.js","names":["StoryboardFunctionRegistryFactory","widgetFunctionRegistry","Map","widgetFunctions","Proxy","Object","freeze","get","target","key","registerWidgetFunctions","widgetId","functions","widgetVersion","has","Error","concat","storyboardFunctions","registerStoryboardFunctions","set"],"sources":["../../../../src/internal/compute/WidgetFunctions.ts"],"sourcesContent":["import { StoryboardFunction } from \"@next-core/types\";\nimport {\n ReadonlyStoryboardFunctions,\n StoryboardFunctionRegistryFactory,\n} from \"../../StoryboardFunctionRegistry.js\";\n\nconst widgetFunctionRegistry = new Map<string, ReadonlyStoryboardFunctions>();\n\nexport const widgetFunctions = new Proxy(Object.freeze({}), {\n get(target, key: string) {\n return widgetFunctionRegistry.get(key);\n },\n}) as Readonly<Record<string, ReadonlyStoryboardFunctions>>;\n\nexport function registerWidgetFunctions(\n widgetId: string,\n functions: StoryboardFunction[],\n widgetVersion?: string\n): void {\n if (widgetFunctionRegistry.has(widgetId)) {\n // eslint-disable-next-line no-console\n throw new Error(`Widget functions of \"${widgetId}\" already registered`);\n }\n const { storyboardFunctions, registerStoryboardFunctions } =\n StoryboardFunctionRegistryFactory({ widgetId, widgetVersion });\n widgetFunctionRegistry.set(widgetId, storyboardFunctions);\n registerStoryboardFunctions(functions);\n}\n"],"mappings":"AACA,SAEEA,iCAAiC,QAC5B,qCAAqC;AAE5C,IAAMC,sBAAsB,GAAG,IAAIC,GAAG,EAAuC;AAE7E,OAAO,IAAMC,eAAe,GAAG,IAAIC,KAAK,CAACC,MAAM,CAACC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE;EAC1DC,GAAGA,CAACC,MAAM,EAAEC,GAAW,EAAE;IACvB,OAAOR,sBAAsB,CAACM,GAAG,CAACE,GAAG,CAAC;EACxC;AACF,CAAC,CAA0D;AAE3D,OAAO,SAASC,uBAAuBA,CACrCC,QAAgB,EAChBC,SAA+B,EAC/BC,aAAsB,EAChB;EACN,IAAIZ,sBAAsB,CAACa,GAAG,CAACH,QAAQ,CAAC,EAAE;IACxC;IACA,MAAM,IAAII,KAAK,0BAAAC,MAAA,CAAyBL,QAAQ,2BAAuB;EACzE;EACA,IAAM;IAAEM,mBAAmB;IAAEC;EAA4B,CAAC,GACxDlB,iCAAiC,CAAC;IAAEW,QAAQ;IAAEE;EAAc,CAAC,CAAC;EAChEZ,sBAAsB,CAACkB,GAAG,CAACR,QAAQ,EAAEM,mBAAmB,CAAC;EACzDC,2BAA2B,CAACN,SAAS,CAAC;AACxC"}
@@ -0,0 +1,14 @@
1
+ // import i18next, { getFixedT, TFunction } from "i18next";
2
+ import { i18n } from "@next-core/i18n";
3
+ import { getI18nNamespace } from "../registerAppI18n.js";
4
+ export function registerWidgetI18n(widgetId, i18nData) {
5
+ var ns = getI18nNamespace("widget", widgetId);
6
+ Object.entries(i18nData).forEach(_ref => {
7
+ var [lang, resources] = _ref;
8
+ i18n.addResourceBundle(lang, ns, resources);
9
+ });
10
+ }
11
+ export function widgetI18nFactory(widgetId) {
12
+ return i18n.getFixedT(null, getI18nNamespace("widget", widgetId));
13
+ }
14
+ //# sourceMappingURL=WidgetI18n.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WidgetI18n.js","names":["i18n","getI18nNamespace","registerWidgetI18n","widgetId","i18nData","ns","Object","entries","forEach","_ref","lang","resources","addResourceBundle","widgetI18nFactory","getFixedT"],"sources":["../../../../src/internal/compute/WidgetI18n.ts"],"sourcesContent":["// import i18next, { getFixedT, TFunction } from \"i18next\";\nimport { i18n } from \"@next-core/i18n\";\nimport type { MetaI18n } from \"@next-core/types\";\nimport { getI18nNamespace } from \"../registerAppI18n.js\";\n\nexport function registerWidgetI18n(widgetId: string, i18nData: MetaI18n): void {\n const ns = getI18nNamespace(\"widget\", widgetId);\n Object.entries(i18nData).forEach(([lang, resources]) => {\n i18n.addResourceBundle(lang, ns, resources);\n });\n}\n\nexport function widgetI18nFactory(widgetId: string) {\n return i18n.getFixedT(null, getI18nNamespace(\"widget\", widgetId));\n}\n"],"mappings":"AAAA;AACA,SAASA,IAAI,QAAQ,iBAAiB;AAEtC,SAASC,gBAAgB,QAAQ,uBAAuB;AAExD,OAAO,SAASC,kBAAkBA,CAACC,QAAgB,EAAEC,QAAkB,EAAQ;EAC7E,IAAMC,EAAE,GAAGJ,gBAAgB,CAAC,QAAQ,EAAEE,QAAQ,CAAC;EAC/CG,MAAM,CAACC,OAAO,CAACH,QAAQ,CAAC,CAACI,OAAO,CAACC,IAAA,IAAuB;IAAA,IAAtB,CAACC,IAAI,EAAEC,SAAS,CAAC,GAAAF,IAAA;IACjDT,IAAI,CAACY,iBAAiB,CAACF,IAAI,EAAEL,EAAE,EAAEM,SAAS,CAAC;EAC7C,CAAC,CAAC;AACJ;AAEA,OAAO,SAASE,iBAAiBA,CAACV,QAAgB,EAAE;EAClD,OAAOH,IAAI,CAACc,SAAS,CAAC,IAAI,EAAEb,gBAAgB,CAAC,QAAQ,EAAEE,QAAQ,CAAC,CAAC;AACnE"}
@@ -0,0 +1,39 @@
1
+ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
+ import { hasOwnProperty, isObject } from "@next-core/utils/general";
3
+ import { asyncComputeRealValue, computeRealValue } from "./computeRealValue.js";
4
+ import { isPreEvaluated } from "./evaluate.js";
5
+ import { resolveData } from "../data/resolveData.js";
6
+ export function asyncCheckIf(_x, _x2) {
7
+ return _asyncCheckIf.apply(this, arguments);
8
+ }
9
+ function _asyncCheckIf() {
10
+ _asyncCheckIf = _asyncToGenerator(function* (ifContainer, runtimeContext) {
11
+ return !hasOwnProperty(ifContainer, "if") || !!(typeof ifContainer.if === "string" || isPreEvaluated(ifContainer.if) ? yield asyncComputeRealValue(ifContainer.if, runtimeContext) : ifContainer.if);
12
+ });
13
+ return _asyncCheckIf.apply(this, arguments);
14
+ }
15
+ export function checkIf(ifContainer, runtimeContext) {
16
+ return !hasOwnProperty(ifContainer, "if") || !!(typeof ifContainer.if === "string" || isPreEvaluated(ifContainer.if) ? computeRealValue(ifContainer.if, runtimeContext) : ifContainer.if);
17
+ }
18
+ export function checkIfOfComputed(ifContainer) {
19
+ return !hasOwnProperty(ifContainer, "if") || !!ifContainer.if;
20
+ }
21
+ export function asyncCheckBrickIf(_x3, _x4) {
22
+ return _asyncCheckBrickIf.apply(this, arguments);
23
+ }
24
+ function _asyncCheckBrickIf() {
25
+ _asyncCheckBrickIf = _asyncToGenerator(function* (brickConf, runtimeContext) {
26
+ if (isObject(brickConf.if) && !isPreEvaluated(brickConf.if)) {
27
+ var resolved = yield resolveData(brickConf.if, runtimeContext);
28
+ return checkIfOfComputed(resolved);
29
+ }
30
+ return asyncCheckIf(brickConf, runtimeContext);
31
+ });
32
+ return _asyncCheckBrickIf.apply(this, arguments);
33
+ }
34
+ export function checkIfByTransform(ifContainer, data) {
35
+ return checkIf(ifContainer, {
36
+ data
37
+ });
38
+ }
39
+ //# sourceMappingURL=checkIf.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkIf.js","names":["hasOwnProperty","isObject","asyncComputeRealValue","computeRealValue","isPreEvaluated","resolveData","asyncCheckIf","_x","_x2","_asyncCheckIf","apply","arguments","_asyncToGenerator","ifContainer","runtimeContext","if","checkIf","checkIfOfComputed","asyncCheckBrickIf","_x3","_x4","_asyncCheckBrickIf","brickConf","resolved","checkIfByTransform","data"],"sources":["../../../../src/internal/compute/checkIf.ts"],"sourcesContent":["import { hasOwnProperty, isObject } from \"@next-core/utils/general\";\nimport type { BrickConf, ResolveConf } from \"@next-core/types\";\nimport { asyncComputeRealValue, computeRealValue } from \"./computeRealValue.js\";\nimport { isPreEvaluated } from \"./evaluate.js\";\nimport { resolveData } from \"../data/resolveData.js\";\nimport type { RuntimeContext } from \"../interfaces.js\";\n\n/**\n * 包含 `if` 条件判断的对象。\n */\nexport interface IfContainer {\n /**\n * 条件判断,可以为表达式字符串。\n *\n * @example\n *\n * ```yaml\n * - brick: your.any-brick\n * if: '<% FLAGS[\"your-feature-flag\"] %>'\n * ```\n */\n if?: unknown;\n}\n\nexport async function asyncCheckIf(\n ifContainer: IfContainer,\n runtimeContext: RuntimeContext\n): Promise<boolean> {\n return (\n !hasOwnProperty(ifContainer, \"if\") ||\n !!(typeof ifContainer.if === \"string\" || isPreEvaluated(ifContainer.if)\n ? await asyncComputeRealValue(ifContainer.if, runtimeContext)\n : ifContainer.if)\n );\n}\n\nexport function checkIf(\n ifContainer: IfContainer,\n runtimeContext: RuntimeContext\n): boolean {\n return (\n !hasOwnProperty(ifContainer, \"if\") ||\n !!(typeof ifContainer.if === \"string\" || isPreEvaluated(ifContainer.if)\n ? computeRealValue(ifContainer.if, runtimeContext)\n : ifContainer.if)\n );\n}\n\nexport function checkIfOfComputed(ifContainer: IfContainer): boolean {\n return !hasOwnProperty(ifContainer, \"if\") || !!ifContainer.if;\n}\n\nexport async function asyncCheckBrickIf(\n brickConf: BrickConf,\n runtimeContext: RuntimeContext\n): Promise<boolean> {\n if (isObject(brickConf.if) && !isPreEvaluated(brickConf.if)) {\n const resolved = (await resolveData(\n brickConf.if as ResolveConf,\n runtimeContext\n )) as { if?: unknown };\n return checkIfOfComputed(resolved);\n }\n return asyncCheckIf(brickConf, runtimeContext);\n}\n\nexport function checkIfByTransform(ifContainer: IfContainer, data: unknown) {\n return checkIf(ifContainer, { data } as RuntimeContext);\n}\n"],"mappings":";AAAA,SAASA,cAAc,EAAEC,QAAQ,QAAQ,0BAA0B;AAEnE,SAASC,qBAAqB,EAAEC,gBAAgB,QAAQ,uBAAuB;AAC/E,SAASC,cAAc,QAAQ,eAAe;AAC9C,SAASC,WAAW,QAAQ,wBAAwB;AAoBpD,gBAAsBC,YAAYA,CAAAC,EAAA,EAAAC,GAAA;EAAA,OAAAC,aAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA;AAUjC,SAAAF,cAAA;EAAAA,aAAA,GAAAG,iBAAA,CAVM,WACLC,WAAwB,EACxBC,cAA8B,EACZ;IAClB,OACE,CAACd,cAAc,CAACa,WAAW,EAAE,IAAI,CAAC,IAClC,CAAC,EAAE,OAAOA,WAAW,CAACE,EAAE,KAAK,QAAQ,IAAIX,cAAc,CAACS,WAAW,CAACE,EAAE,CAAC,SAC7Db,qBAAqB,CAACW,WAAW,CAACE,EAAE,EAAED,cAAc,CAAC,GAC3DD,WAAW,CAACE,EAAE,CAAC;EAEvB,CAAC;EAAA,OAAAN,aAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA;AAED,OAAO,SAASK,OAAOA,CACrBH,WAAwB,EACxBC,cAA8B,EACrB;EACT,OACE,CAACd,cAAc,CAACa,WAAW,EAAE,IAAI,CAAC,IAClC,CAAC,EAAE,OAAOA,WAAW,CAACE,EAAE,KAAK,QAAQ,IAAIX,cAAc,CAACS,WAAW,CAACE,EAAE,CAAC,GACnEZ,gBAAgB,CAACU,WAAW,CAACE,EAAE,EAAED,cAAc,CAAC,GAChDD,WAAW,CAACE,EAAE,CAAC;AAEvB;AAEA,OAAO,SAASE,iBAAiBA,CAACJ,WAAwB,EAAW;EACnE,OAAO,CAACb,cAAc,CAACa,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,CAACA,WAAW,CAACE,EAAE;AAC/D;AAEA,gBAAsBG,iBAAiBA,CAAAC,GAAA,EAAAC,GAAA;EAAA,OAAAC,kBAAA,CAAAX,KAAA,OAAAC,SAAA;AAAA;AAYtC,SAAAU,mBAAA;EAAAA,kBAAA,GAAAT,iBAAA,CAZM,WACLU,SAAoB,EACpBR,cAA8B,EACZ;IAClB,IAAIb,QAAQ,CAACqB,SAAS,CAACP,EAAE,CAAC,IAAI,CAACX,cAAc,CAACkB,SAAS,CAACP,EAAE,CAAC,EAAE;MAC3D,IAAMQ,QAAQ,SAAUlB,WAAW,CACjCiB,SAAS,CAACP,EAAE,EACZD,cAAc,CACM;MACtB,OAAOG,iBAAiB,CAACM,QAAQ,CAAC;IACpC;IACA,OAAOjB,YAAY,CAACgB,SAAS,EAAER,cAAc,CAAC;EAChD,CAAC;EAAA,OAAAO,kBAAA,CAAAX,KAAA,OAAAC,SAAA;AAAA;AAED,OAAO,SAASa,kBAAkBA,CAACX,WAAwB,EAAEY,IAAa,EAAE;EAC1E,OAAOT,OAAO,CAACH,WAAW,EAAE;IAAEY;EAAK,CAAC,CAAmB;AACzD"}
@@ -0,0 +1,22 @@
1
+ function collectMemberCallUsageFactory(object, property) {
2
+ return function collectMemberCallUsage(usage, node, parent) {
3
+ if (node.name === object) {
4
+ var memberParent = parent[parent.length - 1];
5
+ var callParent = parent[parent.length - 2];
6
+ if ((callParent === null || callParent === void 0 ? void 0 : callParent.node.type) === "CallExpression" && (callParent === null || callParent === void 0 ? void 0 : callParent.key) === "callee" && (memberParent === null || memberParent === void 0 ? void 0 : memberParent.node.type) === "MemberExpression" && memberParent.key === "object" && (memberParent.node.computed ? memberParent.node.property.type === "Literal" && memberParent.node.property.value === property : memberParent.node.property.type === "Identifier" && memberParent.node.property.name === property)) {
7
+ var args = callParent.node.arguments;
8
+ if (args.length > 0) {
9
+ var firstArg = args[0];
10
+ if (firstArg.type === "Literal" && typeof firstArg.value === "string") {
11
+ usage.usedArgs.add(firstArg.value);
12
+ } else {
13
+ usage.hasNonStaticUsage = true;
14
+ }
15
+ }
16
+ }
17
+ }
18
+ };
19
+ }
20
+ export var collectAppGetMenuUsage = collectMemberCallUsageFactory("APP", "getMenu");
21
+ export var collectInstalledAppsHasUsage = collectMemberCallUsageFactory("INSTALLED_APPS", "has");
22
+ //# sourceMappingURL=collectMemberCallUsage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collectMemberCallUsage.js","names":["collectMemberCallUsageFactory","object","property","collectMemberCallUsage","usage","node","parent","name","memberParent","length","callParent","type","key","computed","value","args","arguments","firstArg","usedArgs","add","hasNonStaticUsage","collectAppGetMenuUsage","collectInstalledAppsHasUsage"],"sources":["../../../../src/internal/compute/collectMemberCallUsage.ts"],"sourcesContent":["import type { Identifier } from \"@babel/types\";\nimport type { EstreeLiteral, EstreeParent } from \"@next-core/cook\";\n\nexport interface MemberCallUsage {\n usedArgs: Set<string>;\n hasNonStaticUsage?: boolean;\n}\n\nfunction collectMemberCallUsageFactory(object: string, property: string) {\n return function collectMemberCallUsage(\n usage: MemberCallUsage,\n node: Identifier,\n parent: EstreeParent\n ) {\n if (node.name === object) {\n const memberParent = parent[parent.length - 1];\n const callParent = parent[parent.length - 2];\n if (\n callParent?.node.type === \"CallExpression\" &&\n callParent?.key === \"callee\" &&\n memberParent?.node.type === \"MemberExpression\" &&\n memberParent.key === \"object\" &&\n (memberParent.node.computed\n ? (memberParent.node.property as any).type === \"Literal\" &&\n (memberParent.node.property as any).value === property\n : memberParent.node.property.type === \"Identifier\" &&\n memberParent.node.property.name === property)\n ) {\n const args = callParent.node.arguments as unknown as EstreeLiteral[];\n if (args.length > 0) {\n const firstArg = args[0];\n if (\n firstArg.type === \"Literal\" &&\n typeof firstArg.value === \"string\"\n ) {\n usage.usedArgs.add(firstArg.value);\n } else {\n usage.hasNonStaticUsage = true;\n }\n }\n }\n }\n };\n}\n\nexport const collectAppGetMenuUsage = collectMemberCallUsageFactory(\n \"APP\",\n \"getMenu\"\n);\n\nexport const collectInstalledAppsHasUsage = collectMemberCallUsageFactory(\n \"INSTALLED_APPS\",\n \"has\"\n);\n"],"mappings":"AAQA,SAASA,6BAA6BA,CAACC,MAAc,EAAEC,QAAgB,EAAE;EACvE,OAAO,SAASC,sBAAsBA,CACpCC,KAAsB,EACtBC,IAAgB,EAChBC,MAAoB,EACpB;IACA,IAAID,IAAI,CAACE,IAAI,KAAKN,MAAM,EAAE;MACxB,IAAMO,YAAY,GAAGF,MAAM,CAACA,MAAM,CAACG,MAAM,GAAG,CAAC,CAAC;MAC9C,IAAMC,UAAU,GAAGJ,MAAM,CAACA,MAAM,CAACG,MAAM,GAAG,CAAC,CAAC;MAC5C,IACE,CAAAC,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEL,IAAI,CAACM,IAAI,MAAK,gBAAgB,IAC1C,CAAAD,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEE,GAAG,MAAK,QAAQ,IAC5B,CAAAJ,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAEH,IAAI,CAACM,IAAI,MAAK,kBAAkB,IAC9CH,YAAY,CAACI,GAAG,KAAK,QAAQ,KAC5BJ,YAAY,CAACH,IAAI,CAACQ,QAAQ,GACtBL,YAAY,CAACH,IAAI,CAACH,QAAQ,CAASS,IAAI,KAAK,SAAS,IACrDH,YAAY,CAACH,IAAI,CAACH,QAAQ,CAASY,KAAK,KAAKZ,QAAQ,GACtDM,YAAY,CAACH,IAAI,CAACH,QAAQ,CAACS,IAAI,KAAK,YAAY,IAChDH,YAAY,CAACH,IAAI,CAACH,QAAQ,CAACK,IAAI,KAAKL,QAAQ,CAAC,EACjD;QACA,IAAMa,IAAI,GAAGL,UAAU,CAACL,IAAI,CAACW,SAAuC;QACpE,IAAID,IAAI,CAACN,MAAM,GAAG,CAAC,EAAE;UACnB,IAAMQ,QAAQ,GAAGF,IAAI,CAAC,CAAC,CAAC;UACxB,IACEE,QAAQ,CAACN,IAAI,KAAK,SAAS,IAC3B,OAAOM,QAAQ,CAACH,KAAK,KAAK,QAAQ,EAClC;YACAV,KAAK,CAACc,QAAQ,CAACC,GAAG,CAACF,QAAQ,CAACH,KAAK,CAAC;UACpC,CAAC,MAAM;YACLV,KAAK,CAACgB,iBAAiB,GAAG,IAAI;UAChC;QACF;MACF;IACF;EACF,CAAC;AACH;AAEA,OAAO,IAAMC,sBAAsB,GAAGrB,6BAA6B,CACjE,KAAK,EACL,SAAS,CACV;AAED,OAAO,IAAMsB,4BAA4B,GAAGtB,6BAA6B,CACvE,gBAAgB,EAChB,KAAK,CACN"}
@@ -0,0 +1,87 @@
1
+ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
+ import { isObject } from "@next-core/utils/general";
3
+ import { asyncComputeRealValue, computeRealValue } from "./computeRealValue.js";
4
+ import { StateOfUseBrick } from "./getNextStateOfUseBrick.js";
5
+ import { getTracks } from "./getTracks.js";
6
+ export function asyncComputeRealProperties(_x, _x2, _x3) {
7
+ return _asyncComputeRealProperties.apply(this, arguments);
8
+ }
9
+ function _asyncComputeRealProperties() {
10
+ _asyncComputeRealProperties = _asyncToGenerator(function* (properties, runtimeContext, trackingContextList) {
11
+ if (isObject(properties)) {
12
+ return Object.fromEntries((yield Promise.all(Object.entries(properties).map( /*#__PURE__*/function () {
13
+ var _ref3 = _asyncToGenerator(function* (_ref2) {
14
+ var [propName, propValue] = _ref2;
15
+ if (Array.isArray(trackingContextList)) {
16
+ var {
17
+ contextNames,
18
+ stateNames,
19
+ formStateNames
20
+ } = getTracks(propValue);
21
+ if (contextNames || stateNames || formStateNames) {
22
+ trackingContextList.push({
23
+ contextNames,
24
+ stateNames,
25
+ formStateNames,
26
+ propName,
27
+ propValue
28
+ });
29
+ }
30
+ }
31
+ // Related: https://github.com/facebook/react/issues/11347
32
+ var realValue = yield asyncComputeRealValue(propValue, runtimeContext, {
33
+ $$lazyForUseBrick: true,
34
+ $$stateOfUseBrick: propName === "useBrick" ? StateOfUseBrick.USE_BRICK : StateOfUseBrick.INITIAL
35
+ });
36
+ if (realValue !== undefined) {
37
+ // For `style` and `dataset`, only object is acceptable.
38
+ if (propName !== "style" && propName !== "dataset" || isObject(realValue)) {
39
+ return [propName, realValue];
40
+ }
41
+ }
42
+ });
43
+ return function (_x4) {
44
+ return _ref3.apply(this, arguments);
45
+ };
46
+ }()))).filter(Boolean));
47
+ }
48
+ return {};
49
+ });
50
+ return _asyncComputeRealProperties.apply(this, arguments);
51
+ }
52
+ export function computeRealProperties(properties, runtimeContext, trackingContextList) {
53
+ if (isObject(properties)) {
54
+ return Object.fromEntries(Object.entries(properties).map(_ref => {
55
+ var [propName, propValue] = _ref;
56
+ if (Array.isArray(trackingContextList)) {
57
+ var {
58
+ contextNames,
59
+ stateNames,
60
+ formStateNames
61
+ } = getTracks(propValue);
62
+ if (contextNames || stateNames || formStateNames) {
63
+ trackingContextList.push({
64
+ contextNames,
65
+ stateNames,
66
+ formStateNames,
67
+ propName,
68
+ propValue
69
+ });
70
+ }
71
+ }
72
+ // Related: https://github.com/facebook/react/issues/11347
73
+ var realValue = computeRealValue(propValue, runtimeContext, {
74
+ $$lazyForUseBrick: true,
75
+ $$stateOfUseBrick: propName === "useBrick" ? StateOfUseBrick.USE_BRICK : StateOfUseBrick.INITIAL
76
+ });
77
+ if (realValue !== undefined) {
78
+ // For `style` and `dataset`, only object is acceptable.
79
+ if (propName !== "style" && propName !== "dataset" || isObject(realValue)) {
80
+ return [propName, realValue];
81
+ }
82
+ }
83
+ }).filter(Boolean));
84
+ }
85
+ return {};
86
+ }
87
+ //# sourceMappingURL=computeRealProperties.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"computeRealProperties.js","names":["isObject","asyncComputeRealValue","computeRealValue","StateOfUseBrick","getTracks","asyncComputeRealProperties","_x","_x2","_x3","_asyncComputeRealProperties","apply","arguments","_asyncToGenerator","properties","runtimeContext","trackingContextList","Object","fromEntries","Promise","all","entries","map","_ref3","_ref2","propName","propValue","Array","isArray","contextNames","stateNames","formStateNames","push","realValue","$$lazyForUseBrick","$$stateOfUseBrick","USE_BRICK","INITIAL","undefined","_x4","filter","Boolean","computeRealProperties","_ref"],"sources":["../../../../src/internal/compute/computeRealProperties.ts"],"sourcesContent":["import { isObject } from \"@next-core/utils/general\";\nimport { asyncComputeRealValue, computeRealValue } from \"./computeRealValue.js\";\nimport { TrackingContextItem } from \"./listenOnTrackingContext.js\";\nimport type { RuntimeContext } from \"../interfaces.js\";\nimport { StateOfUseBrick } from \"./getNextStateOfUseBrick.js\";\nimport { getTracks } from \"./getTracks.js\";\n\nexport async function asyncComputeRealProperties(\n properties: Record<string, unknown> | undefined,\n runtimeContext: RuntimeContext,\n trackingContextList?: TrackingContextItem[]\n): Promise<Record<string, unknown>> {\n if (isObject(properties)) {\n return Object.fromEntries(\n (\n await Promise.all(\n Object.entries(properties).map<\n Promise<[string, unknown] | undefined>\n >(async ([propName, propValue]) => {\n if (Array.isArray(trackingContextList)) {\n const { contextNames, stateNames, formStateNames } =\n getTracks(propValue);\n if (contextNames || stateNames || formStateNames) {\n trackingContextList.push({\n contextNames,\n stateNames,\n formStateNames,\n propName,\n propValue,\n });\n }\n }\n // Related: https://github.com/facebook/react/issues/11347\n const realValue = await asyncComputeRealValue(\n propValue,\n runtimeContext,\n {\n $$lazyForUseBrick: true,\n $$stateOfUseBrick:\n propName === \"useBrick\"\n ? StateOfUseBrick.USE_BRICK\n : StateOfUseBrick.INITIAL,\n }\n );\n if (realValue !== undefined) {\n // For `style` and `dataset`, only object is acceptable.\n if (\n (propName !== \"style\" && propName !== \"dataset\") ||\n isObject(realValue)\n ) {\n return [propName, realValue];\n }\n }\n })\n )\n ).filter(Boolean) as [string, unknown][]\n );\n }\n\n return {};\n}\n\nexport function computeRealProperties(\n properties: Record<string, unknown> | undefined,\n runtimeContext: RuntimeContext,\n trackingContextList?: TrackingContextItem[]\n): Record<string, unknown> {\n if (isObject(properties)) {\n return Object.fromEntries(\n Object.entries(properties)\n .map<[string, unknown] | undefined>(([propName, propValue]) => {\n if (Array.isArray(trackingContextList)) {\n const { contextNames, stateNames, formStateNames } =\n getTracks(propValue);\n if (contextNames || stateNames || formStateNames) {\n trackingContextList.push({\n contextNames,\n stateNames,\n formStateNames,\n propName,\n propValue,\n });\n }\n }\n // Related: https://github.com/facebook/react/issues/11347\n const realValue = computeRealValue(propValue, runtimeContext, {\n $$lazyForUseBrick: true,\n $$stateOfUseBrick:\n propName === \"useBrick\"\n ? StateOfUseBrick.USE_BRICK\n : StateOfUseBrick.INITIAL,\n });\n if (realValue !== undefined) {\n // For `style` and `dataset`, only object is acceptable.\n if (\n (propName !== \"style\" && propName !== \"dataset\") ||\n isObject(realValue)\n ) {\n return [propName, realValue];\n }\n }\n })\n .filter(Boolean) as [string, unknown][]\n );\n }\n\n return {};\n}\n"],"mappings":"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"}
@@ -0,0 +1,86 @@
1
+ import _objectSpread from "@babel/runtime/helpers/objectSpread2";
2
+ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
3
+ import { isEvaluable } from "@next-core/cook";
4
+ import { isObject } from "@next-core/utils/general";
5
+ import { transformAndInject } from "@next-core/inject";
6
+ import { asyncEvaluate, isPreEvaluated, evaluate, shouldDismissMarkingComputed } from "./evaluate.js";
7
+ import { getNextStateOfUseBrick, isLazyContentInUseBrick } from "./getNextStateOfUseBrick.js";
8
+ import { hasBeenComputed, markAsComputed } from "./markAsComputed.js";
9
+ export function asyncComputeRealValue(_x, _x2) {
10
+ return _asyncComputeRealValue.apply(this, arguments);
11
+ }
12
+ function _asyncComputeRealValue() {
13
+ _asyncComputeRealValue = _asyncToGenerator(function* (value, runtimeContext) {
14
+ var internalOptions = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
15
+ var preEvaluated = isPreEvaluated(value);
16
+ if (preEvaluated || typeof value === "string") {
17
+ // For `useBrick`, some fields such as `properties`/`transform`/`events`/`if`,
18
+ // are kept and to be evaluated later.
19
+ var lazy = internalOptions.$$lazyForUseBrick && isLazyContentInUseBrick(internalOptions.$$stateOfUseBrick);
20
+ var result;
21
+ var dismissMarkingComputed = lazy;
22
+ if (preEvaluated || isEvaluable(value)) {
23
+ result = yield asyncEvaluate(value, runtimeContext, {
24
+ lazy
25
+ });
26
+ dismissMarkingComputed = shouldDismissMarkingComputed(value);
27
+ } else {
28
+ result = lazy ? value : transformAndInject(value, runtimeContext);
29
+ }
30
+ if (!dismissMarkingComputed) {
31
+ markAsComputed(result);
32
+ }
33
+ return result;
34
+ }
35
+ if (!isObject(value) || hasBeenComputed(value)) {
36
+ return value;
37
+ }
38
+ if (Array.isArray(value)) {
39
+ var nextOptions = getNextComputeOptions(internalOptions, true);
40
+ return Promise.all(value.map(v => asyncComputeRealValue(v, runtimeContext, nextOptions)));
41
+ }
42
+ return Object.fromEntries((yield Promise.all(Object.entries(value).map(_ref2 => {
43
+ var [k, v] = _ref2;
44
+ return Promise.all([asyncComputeRealValue(k, runtimeContext), asyncComputeRealValue(v, runtimeContext, getNextComputeOptions(internalOptions, false, k))]);
45
+ }))).concat(internalOptions.ignoreSymbols ? [] : Object.getOwnPropertySymbols(value).map(k => [k, value[k]])));
46
+ });
47
+ return _asyncComputeRealValue.apply(this, arguments);
48
+ }
49
+ export function computeRealValue(value, runtimeContext) {
50
+ var internalOptions = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
51
+ var preEvaluated = isPreEvaluated(value);
52
+ if (preEvaluated || typeof value === "string") {
53
+ // For `useBrick`, some fields such as `properties`/`transform`/`events`/`if`,
54
+ // are kept and to be evaluated later.
55
+ var lazy = internalOptions.$$lazyForUseBrick && isLazyContentInUseBrick(internalOptions.$$stateOfUseBrick);
56
+ var result;
57
+ var dismissMarkingComputed = lazy;
58
+ if (preEvaluated || isEvaluable(value)) {
59
+ result = evaluate(value, runtimeContext);
60
+ dismissMarkingComputed = shouldDismissMarkingComputed(value);
61
+ } else {
62
+ result = lazy ? value : transformAndInject(value, runtimeContext);
63
+ }
64
+ if (!dismissMarkingComputed) {
65
+ markAsComputed(result);
66
+ }
67
+ return result;
68
+ }
69
+ if (!isObject(value) || hasBeenComputed(value)) {
70
+ return value;
71
+ }
72
+ if (Array.isArray(value)) {
73
+ var nextOptions = getNextComputeOptions(internalOptions, true);
74
+ return value.map(v => computeRealValue(v, runtimeContext, nextOptions));
75
+ }
76
+ return Object.fromEntries(Object.entries(value).map(_ref => {
77
+ var [k, v] = _ref;
78
+ return [computeRealValue(k, runtimeContext), computeRealValue(v, runtimeContext, getNextComputeOptions(internalOptions, false, k))];
79
+ }).concat(internalOptions.ignoreSymbols ? [] : Object.getOwnPropertySymbols(value).map(k => [k, value[k]])));
80
+ }
81
+ function getNextComputeOptions(internalOptions, isArray, key) {
82
+ return internalOptions.$$lazyForUseBrick ? _objectSpread(_objectSpread({}, internalOptions), {}, {
83
+ $$stateOfUseBrick: getNextStateOfUseBrick(internalOptions.$$stateOfUseBrick, isArray, key)
84
+ }) : internalOptions;
85
+ }
86
+ //# sourceMappingURL=computeRealValue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"computeRealValue.js","names":["isEvaluable","isObject","transformAndInject","asyncEvaluate","isPreEvaluated","evaluate","shouldDismissMarkingComputed","getNextStateOfUseBrick","isLazyContentInUseBrick","hasBeenComputed","markAsComputed","asyncComputeRealValue","_x","_x2","_asyncComputeRealValue","apply","arguments","_asyncToGenerator","value","runtimeContext","internalOptions","length","undefined","preEvaluated","lazy","$$lazyForUseBrick","$$stateOfUseBrick","result","dismissMarkingComputed","Array","isArray","nextOptions","getNextComputeOptions","Promise","all","map","v","Object","fromEntries","entries","_ref2","k","concat","ignoreSymbols","getOwnPropertySymbols","computeRealValue","_ref","key","_objectSpread"],"sources":["../../../../src/internal/compute/computeRealValue.ts"],"sourcesContent":["import { isEvaluable } from \"@next-core/cook\";\nimport { isObject } from \"@next-core/utils/general\";\nimport { transformAndInject } from \"@next-core/inject\";\nimport {\n asyncEvaluate,\n isPreEvaluated,\n evaluate,\n shouldDismissMarkingComputed,\n} from \"./evaluate.js\";\nimport type { RuntimeContext } from \"../interfaces.js\";\nimport {\n StateOfUseBrick,\n getNextStateOfUseBrick,\n isLazyContentInUseBrick,\n} from \"./getNextStateOfUseBrick.js\";\nimport { hasBeenComputed, markAsComputed } from \"./markAsComputed.js\";\n\nexport interface ComputeOptions {\n $$lazyForUseBrick?: boolean;\n $$stateOfUseBrick?: StateOfUseBrick;\n ignoreSymbols?: boolean;\n}\n\nexport async function asyncComputeRealValue(\n value: unknown,\n runtimeContext: RuntimeContext,\n internalOptions: ComputeOptions = {}\n): Promise<unknown> {\n const preEvaluated = isPreEvaluated(value);\n\n if (preEvaluated || typeof value === \"string\") {\n // For `useBrick`, some fields such as `properties`/`transform`/`events`/`if`,\n // are kept and to be evaluated later.\n const lazy =\n internalOptions.$$lazyForUseBrick &&\n isLazyContentInUseBrick(internalOptions.$$stateOfUseBrick);\n\n let result: unknown;\n let dismissMarkingComputed = lazy;\n\n if (preEvaluated || isEvaluable(value as string)) {\n result = await asyncEvaluate(value, runtimeContext, { lazy });\n dismissMarkingComputed = shouldDismissMarkingComputed(value);\n } else {\n result = lazy ? value : transformAndInject(value, runtimeContext);\n }\n\n if (!dismissMarkingComputed) {\n markAsComputed(result);\n }\n\n return result;\n }\n\n if (!isObject(value) || hasBeenComputed(value)) {\n return value;\n }\n\n if (Array.isArray(value)) {\n const nextOptions = getNextComputeOptions(internalOptions, true);\n return Promise.all(\n value.map((v) => asyncComputeRealValue(v, runtimeContext, nextOptions))\n );\n }\n\n return Object.fromEntries(\n (\n await Promise.all(\n Object.entries(value).map(([k, v]) =>\n Promise.all([\n asyncComputeRealValue(k, runtimeContext),\n asyncComputeRealValue(\n v,\n runtimeContext,\n getNextComputeOptions(internalOptions, false, k)\n ),\n ])\n )\n )\n ).concat(\n internalOptions.ignoreSymbols\n ? []\n : Object.getOwnPropertySymbols(value).map((k) => [\n k,\n (value as Record<string | symbol, unknown>)[k],\n ])\n )\n );\n}\n\nexport function computeRealValue(\n value: unknown,\n runtimeContext: RuntimeContext,\n internalOptions: ComputeOptions = {}\n): unknown {\n const preEvaluated = isPreEvaluated(value);\n\n if (preEvaluated || typeof value === \"string\") {\n // For `useBrick`, some fields such as `properties`/`transform`/`events`/`if`,\n // are kept and to be evaluated later.\n const lazy =\n internalOptions.$$lazyForUseBrick &&\n isLazyContentInUseBrick(internalOptions.$$stateOfUseBrick);\n\n let result: unknown;\n let dismissMarkingComputed = lazy;\n\n if (preEvaluated || isEvaluable(value as string)) {\n result = evaluate(value, runtimeContext);\n dismissMarkingComputed = shouldDismissMarkingComputed(value);\n } else {\n result = lazy ? value : transformAndInject(value, runtimeContext);\n }\n\n if (!dismissMarkingComputed) {\n markAsComputed(result);\n }\n\n return result;\n }\n\n if (!isObject(value) || hasBeenComputed(value)) {\n return value;\n }\n\n if (Array.isArray(value)) {\n const nextOptions = getNextComputeOptions(internalOptions, true);\n return value.map((v) => computeRealValue(v, runtimeContext, nextOptions));\n }\n\n return Object.fromEntries(\n Object.entries(value)\n .map(([k, v]) => [\n computeRealValue(k, runtimeContext),\n computeRealValue(\n v,\n runtimeContext,\n getNextComputeOptions(internalOptions, false, k)\n ),\n ])\n .concat(\n internalOptions.ignoreSymbols\n ? []\n : Object.getOwnPropertySymbols(value).map((k) => [\n k,\n (value as Record<string | symbol, unknown>)[k],\n ])\n )\n );\n}\n\nfunction getNextComputeOptions(\n internalOptions: ComputeOptions,\n isArray: boolean,\n key?: string\n): ComputeOptions {\n return internalOptions.$$lazyForUseBrick\n ? {\n ...internalOptions,\n $$stateOfUseBrick: getNextStateOfUseBrick(\n internalOptions.$$stateOfUseBrick,\n isArray,\n key\n ),\n }\n : internalOptions;\n}\n"],"mappings":"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"}