@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,390 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.asyncEvaluate = asyncEvaluate;
7
+ exports.evaluate = evaluate;
8
+ exports.getCookErrorConstructor = getCookErrorConstructor;
9
+ exports.getPreEvaluatedRaw = getPreEvaluatedRaw;
10
+ exports.isPreEvaluated = isPreEvaluated;
11
+ exports.shouldDismissMarkingComputed = shouldDismissMarkingComputed;
12
+ var _cook = require("@next-core/cook");
13
+ var _loader = require("@next-core/loader");
14
+ var _supply = require("@next-core/supply");
15
+ var _general = require("@next-core/utils/general");
16
+ var _storyboard = require("@next-core/utils/storyboard");
17
+ var _lodash = require("lodash");
18
+ var _CustomProcessors = require("../../CustomProcessors.js");
19
+ var _StoryboardFunctions = require("./StoryboardFunctions.js");
20
+ var _getGeneralGlobals = require("./getGeneralGlobals.js");
21
+ var _proxyFactories = require("../proxyFactories.js");
22
+ var _devtools = require("../devtools.js");
23
+ var _mediaQuery = require("../mediaQuery.js");
24
+ var _getStorageItem = require("./getStorageItem.js");
25
+ var _Runtime = require("../Runtime.js");
26
+ var _utils = require("../CustomTemplates/utils.js");
27
+ var _WidgetFunctions = require("./WidgetFunctions.js");
28
+ var _collectMemberCallUsage = require("./collectMemberCallUsage.js");
29
+ var _fetchMenuById = require("../menu/fetchMenuById.js");
30
+ var _WidgetI18n = require("./WidgetI18n.js");
31
+ var _images = require("./images.js");
32
+ var _checkInstalledApps = require("../checkInstalledApps.js");
33
+ const symbolForRaw = Symbol.for("pre.evaluated.raw");
34
+ const symbolForContext = Symbol.for("pre.evaluated.context");
35
+ function isPreEvaluated(raw) {
36
+ return !!(raw !== null && raw !== void 0 && raw[symbolForRaw]);
37
+ }
38
+ function getPreEvaluatedRaw(pre) {
39
+ return pre[symbolForRaw];
40
+ }
41
+ function shouldDismissMarkingComputed(raw) {
42
+ if (typeof raw === "string") {
43
+ return (0, _cook.shouldAllowRecursiveEvaluations)(raw);
44
+ }
45
+ return (0, _cook.shouldAllowRecursiveEvaluations)(raw[symbolForRaw]);
46
+ }
47
+ const possibleErrorConstructs = new WeakSet([SyntaxError, TypeError, ReferenceError]);
48
+ function getCookErrorConstructor(error) {
49
+ return possibleErrorConstructs.has(error.constructor) ? error.constructor : TypeError;
50
+ }
51
+ async function asyncEvaluate(raw,
52
+ // string or pre-evaluated object.
53
+ runtimeContext, options) {
54
+ const {
55
+ blockingList,
56
+ run
57
+ } = lowLevelEvaluate(raw, runtimeContext, options, true);
58
+ await Promise.all(blockingList);
59
+ return run();
60
+ }
61
+ function evaluate(raw,
62
+ // string or pre-evaluated object.
63
+ runtimeContext, options) {
64
+ const {
65
+ run
66
+ } = lowLevelEvaluate(raw, runtimeContext, options, false);
67
+ return run();
68
+ }
69
+ function lowLevelEvaluate(raw,
70
+ // string or pre-evaluated object.
71
+ runtimeContext, options = {}, isAsync) {
72
+ const blockingList = [];
73
+ if (typeof raw !== "string") {
74
+ // If the `raw` is not a string, it must be a pre-evaluated object.
75
+ // Then fulfil the context, and restore the original `raw`.
76
+
77
+ const {
78
+ pendingPermissionsPreCheck: _1,
79
+ tplStateStoreMap: _2,
80
+ ...passByRuntimeContext
81
+ } = runtimeContext;
82
+ runtimeContext = {
83
+ ...raw[symbolForContext],
84
+ ...passByRuntimeContext
85
+ };
86
+ raw = raw[symbolForRaw];
87
+ }
88
+
89
+ // Collect `APP.getMenu(...)` usage before evaluating.
90
+ const menuUsage = {
91
+ usedArgs: new Set()
92
+ };
93
+ const hasAppUsage = {
94
+ usedArgs: new Set()
95
+ };
96
+
97
+ // A `SyntaxError` maybe thrown.
98
+ let precooked;
99
+ try {
100
+ precooked = (0, _cook.preevaluate)(raw, {
101
+ withParent: true,
102
+ hooks: {
103
+ beforeVisitGlobal(node, parent) {
104
+ (0, _collectMemberCallUsage.collectAppGetMenuUsage)(menuUsage, node, parent);
105
+ (0, _collectMemberCallUsage.collectInstalledAppsHasUsage)(hasAppUsage, node, parent);
106
+ }
107
+ }
108
+ });
109
+ } catch (error) {
110
+ const message = `${error.message}, in "${raw}"`;
111
+ // if (options.isReEvaluation) {
112
+ // devtoolsHookEmit("re-evaluation", {
113
+ // id: options.evaluationId,
114
+ // detail: { raw, context: {} },
115
+ // error: message,
116
+ // });
117
+ // return;
118
+ // } else {
119
+ const errorConstructor = getCookErrorConstructor(error);
120
+ throw new errorConstructor(message);
121
+ // }
122
+ }
123
+
124
+ if (menuUsage.hasNonStaticUsage) {
125
+ throw new Error(`Non-static usage of "APP.getMenu" is not supported in v3, check your expression: "${raw}"`);
126
+ }
127
+ if (hasAppUsage.hasNonStaticUsage) {
128
+ throw new Error(`Non-static usage of "INSTALLED_APPS.has" is not supported in v3, check your expression: "${raw}"`);
129
+ }
130
+ const globalVariables = {};
131
+ const {
132
+ attemptToVisitGlobals
133
+ } = precooked;
134
+
135
+ // Ignore evaluating if required `event/DATA` is missing in
136
+ // context. Since they are are provided in different context, whenever
137
+ // missing one of them, memorize the current context for later consuming.
138
+ if (options.lazy || attemptToVisitGlobals.has("EVENT") && !(0, _general.hasOwnProperty)(runtimeContext, "event") || attemptToVisitGlobals.has("DATA") && !(0, _general.hasOwnProperty)(runtimeContext, "data")) {
139
+ return {
140
+ blockingList,
141
+ run() {
142
+ return Object.keys(runtimeContext).length > 0 ? {
143
+ [symbolForRaw]: raw,
144
+ [symbolForContext]: runtimeContext
145
+ } : raw;
146
+ }
147
+ };
148
+ }
149
+ let usedCtx;
150
+ let usedProcessors;
151
+ let usedStates;
152
+ let tplStateStore;
153
+
154
+ // For existed TPL usage, treat it as a STATE.
155
+ if (attemptToVisitGlobals.has("STATE") || attemptToVisitGlobals.has("TPL")) {
156
+ tplStateStore = (0, _utils.getTplStateStore)(runtimeContext, "STATE", `: "${raw}"`);
157
+ }
158
+ const devHook = (0, _devtools.getDevHook)();
159
+ if (isAsync || devHook) {
160
+ if (attemptToVisitGlobals.has("CTX")) {
161
+ usedCtx = (0, _storyboard.strictCollectMemberUsage)(raw, "CTX");
162
+ isAsync && blockingList.push(runtimeContext.ctxStore.waitFor(usedCtx));
163
+ }
164
+ if (tplStateStore) {
165
+ usedStates = (0, _storyboard.strictCollectMemberUsage)(raw, "STATE");
166
+ // Todo: remove compatibility support for `TPL`
167
+ // istanbul ignore next
168
+ const usedTpls = (0, _storyboard.strictCollectMemberUsage)(raw, "TPL");
169
+ // istanbul ignore next
170
+ for (const tpl of usedTpls) {
171
+ usedStates.add(tpl);
172
+ }
173
+ isAsync && blockingList.push(tplStateStore.waitFor(usedStates));
174
+ }
175
+ if (attemptToVisitGlobals.has("PROCESSORS")) {
176
+ usedProcessors = (0, _storyboard.strictCollectMemberUsage)(raw, "PROCESSORS", 2);
177
+ isAsync && blockingList.push((0, _loader.loadProcessorsImperatively)(usedProcessors, (0, _Runtime.getBrickPackages)()));
178
+ }
179
+ }
180
+ if (isAsync) {
181
+ let attemptToCheckPermissions = attemptToVisitGlobals.has("PERMISSIONS");
182
+ // There maybe `PERMISSIONS.check()` usage in functions
183
+ if (!attemptToCheckPermissions && attemptToVisitGlobals.has("FN")) {
184
+ const usedFunctions = [...(0, _storyboard.strictCollectMemberUsage)(raw, "FN")];
185
+ attemptToCheckPermissions = (0, _StoryboardFunctions.checkPermissionsUsage)(usedFunctions);
186
+ }
187
+ if (attemptToCheckPermissions) {
188
+ blockingList.push(...runtimeContext.pendingPermissionsPreCheck);
189
+ }
190
+ if (menuUsage.usedArgs.size > 0) {
191
+ // Block evaluating if has `APP.getMenu(...)` usage.
192
+ const usedMenuIds = [...menuUsage.usedArgs];
193
+ blockingList.push(Promise.all(usedMenuIds.map(menuId => (0, _fetchMenuById.fetchMenuById)(menuId, runtimeContext))));
194
+ }
195
+ if (hasAppUsage.usedArgs.size > 0) {
196
+ // Only wait for specific apps
197
+ blockingList.push((0, _checkInstalledApps.waitForCheckingApps)([...hasAppUsage.usedArgs]));
198
+ }
199
+ }
200
+ return {
201
+ blockingList,
202
+ run() {
203
+ var _runtimeContext$overr;
204
+ const {
205
+ app: currentApp,
206
+ location,
207
+ query,
208
+ match,
209
+ flags,
210
+ sys,
211
+ ctxStore,
212
+ data,
213
+ event
214
+ } = runtimeContext;
215
+ const app = (_runtimeContext$overr = runtimeContext.overrideApp) !== null && _runtimeContext$overr !== void 0 ? _runtimeContext$overr : currentApp;
216
+ for (const variableName of attemptToVisitGlobals) {
217
+ switch (variableName) {
218
+ // case "ALIAS":
219
+ case "ANCHOR":
220
+ globalVariables[variableName] = location.hash ? location.hash.substring(1) : null;
221
+ break;
222
+ case "APP":
223
+ globalVariables[variableName] = {
224
+ ...(0, _lodash.cloneDeep)(app),
225
+ getMenu: _fetchMenuById.getMenuById
226
+ };
227
+ break;
228
+ case "CTX":
229
+ globalVariables[variableName] = (0, _proxyFactories.getDynamicReadOnlyProxy)({
230
+ get(target, key) {
231
+ if (typeof key !== "string") {
232
+ return;
233
+ }
234
+ return ctxStore.getValue(key);
235
+ },
236
+ ownKeys() {
237
+ return Array.from(usedCtx);
238
+ }
239
+ });
240
+ break;
241
+ case "DATA":
242
+ globalVariables[variableName] = data;
243
+ break;
244
+ case "EVENT":
245
+ globalVariables[variableName] = event;
246
+ break;
247
+ case "FLAGS":
248
+ globalVariables[variableName] = (0, _proxyFactories.getReadOnlyProxy)(flags);
249
+ break;
250
+ case "HASH":
251
+ globalVariables[variableName] = location.hash;
252
+ break;
253
+ case "INSTALLED_APPS":
254
+ globalVariables[variableName] = (0, _proxyFactories.getReadOnlyProxy)({
255
+ has: _checkInstalledApps.hasInstalledApp
256
+ });
257
+ break;
258
+ case "ITEM":
259
+ if (!(0, _general.hasOwnProperty)(runtimeContext, "forEachItem")) {
260
+ // eslint-disable-next-line no-console
261
+ console.error(`Using \`ITEM\` but no \`:forEach\` is found, check your expression: "${raw}"`);
262
+ } else {
263
+ globalVariables[variableName] = runtimeContext.forEachItem;
264
+ }
265
+ break;
266
+ case "LOCAL_STORAGE":
267
+ globalVariables[variableName] = (0, _proxyFactories.getReadOnlyProxy)({
268
+ getItem: (0, _getStorageItem.getStorageItem)("local")
269
+ });
270
+ break;
271
+ case "MEDIA":
272
+ globalVariables[variableName] = (0, _proxyFactories.getReadOnlyProxy)((0, _mediaQuery.getMedia)());
273
+ break;
274
+ case "MISC":
275
+ globalVariables[variableName] = (0, _Runtime.getRuntime)().getMiscSettings();
276
+ break;
277
+ case "PARAMS":
278
+ globalVariables[variableName] = new URLSearchParams(query);
279
+ break;
280
+ case "PATH":
281
+ globalVariables[variableName] = (0, _proxyFactories.getReadOnlyProxy)(match.params);
282
+ break;
283
+ case "PATH_NAME":
284
+ globalVariables[variableName] = location.pathname;
285
+ break;
286
+ case "PROCESSORS":
287
+ globalVariables[variableName] = (0, _proxyFactories.getDynamicReadOnlyProxy)({
288
+ get(target, key) {
289
+ if (typeof key !== "string") {
290
+ return;
291
+ }
292
+ const pkg = _CustomProcessors.customProcessors.get(key);
293
+ if (!pkg) {
294
+ throw new Error(`'PROCESSORS.${key}' is not registered! Have you installed the relevant brick package?`);
295
+ }
296
+ return (0, _proxyFactories.getDynamicReadOnlyProxy)({
297
+ get(t, k) {
298
+ if (typeof k !== "string") {
299
+ return;
300
+ }
301
+ return pkg.get(k);
302
+ },
303
+ ownKeys() {
304
+ return Array.from(pkg.keys());
305
+ }
306
+ });
307
+ },
308
+ ownKeys() {
309
+ return Array.from(usedProcessors);
310
+ }
311
+ });
312
+ break;
313
+ case "QUERY":
314
+ globalVariables[variableName] = Object.fromEntries(Array.from(query.keys()).map(key => [key, query.get(key)]));
315
+ break;
316
+ case "QUERY_ARRAY":
317
+ globalVariables[variableName] = Object.fromEntries(Array.from(query.keys()).map(key => [key, query.getAll(key)]));
318
+ // case "SEGUE":
319
+ break;
320
+ case "SESSION_STORAGE":
321
+ globalVariables[variableName] = (0, _proxyFactories.getReadOnlyProxy)({
322
+ getItem: (0, _getStorageItem.getStorageItem)("session")
323
+ });
324
+ break;
325
+ // Todo: remove compatibility support for `TPL`
326
+ // istanbul ignore next
327
+ case "TPL":
328
+ case "STATE":
329
+ globalVariables[variableName] = (0, _proxyFactories.getDynamicReadOnlyProxy)({
330
+ get(target, key) {
331
+ if (typeof key !== "string") {
332
+ return;
333
+ }
334
+ return tplStateStore.getValue(key);
335
+ },
336
+ ownKeys() {
337
+ return Array.from(usedStates);
338
+ }
339
+ });
340
+ break;
341
+ case "SYS":
342
+ globalVariables[variableName] = (0, _proxyFactories.getReadOnlyProxy)(sys);
343
+ break;
344
+ case "__WIDGET_FN__":
345
+ globalVariables[variableName] = _WidgetFunctions.widgetFunctions;
346
+ break;
347
+ case "__WIDGET_IMG__":
348
+ globalVariables[variableName] = _images.widgetImagesFactory;
349
+ break;
350
+ case "__WIDGET_I18N__":
351
+ globalVariables[variableName] = _WidgetI18n.widgetI18nFactory;
352
+ break;
353
+ }
354
+ }
355
+ Object.assign(globalVariables, (0, _getGeneralGlobals.getGeneralGlobals)(precooked.attemptToVisitGlobals, {
356
+ storyboardFunctions: _StoryboardFunctions.storyboardFunctions,
357
+ app: runtimeContext.app,
358
+ appendI18nNamespace: runtimeContext.appendI18nNamespace
359
+ }));
360
+ try {
361
+ const result = (0, _cook.cook)(precooked.expression, precooked.source, {
362
+ globalVariables: (0, _supply.supply)(precooked.attemptToVisitGlobals, globalVariables)
363
+ });
364
+ // const detail = { raw, context: globalVariables, result };
365
+ // if (options.isReEvaluation) {
366
+ // devtoolsHookEmit("re-evaluation", {
367
+ // id: options.evaluationId,
368
+ // detail,
369
+ // });
370
+ // } else {
371
+ // devtoolsHookEmit("evaluation", detail);
372
+ // }
373
+ return result;
374
+ } catch (error) {
375
+ const message = `${error.message}, in "${raw}"`;
376
+ // if (options.isReEvaluation) {
377
+ // devtoolsHookEmit("re-evaluation", {
378
+ // id: options.evaluationId,
379
+ // detail: { raw, context: globalVariables },
380
+ // error: message,
381
+ // });
382
+ // } else {
383
+ const errorConstructor = getCookErrorConstructor(error);
384
+ throw new errorConstructor(message);
385
+ // }
386
+ }
387
+ }
388
+ };
389
+ }
390
+ //# sourceMappingURL=evaluate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evaluate.js","names":["_cook","require","_loader","_supply","_general","_storyboard","_lodash","_CustomProcessors","_StoryboardFunctions","_getGeneralGlobals","_proxyFactories","_devtools","_mediaQuery","_getStorageItem","_Runtime","_utils","_WidgetFunctions","_collectMemberCallUsage","_fetchMenuById","_WidgetI18n","_images","_checkInstalledApps","symbolForRaw","Symbol","for","symbolForContext","isPreEvaluated","raw","getPreEvaluatedRaw","pre","shouldDismissMarkingComputed","shouldAllowRecursiveEvaluations","possibleErrorConstructs","WeakSet","SyntaxError","TypeError","ReferenceError","getCookErrorConstructor","error","has","constructor","asyncEvaluate","runtimeContext","options","blockingList","run","lowLevelEvaluate","Promise","all","evaluate","isAsync","pendingPermissionsPreCheck","_1","tplStateStoreMap","_2","passByRuntimeContext","menuUsage","usedArgs","Set","hasAppUsage","precooked","preevaluate","withParent","hooks","beforeVisitGlobal","node","parent","collectAppGetMenuUsage","collectInstalledAppsHasUsage","message","errorConstructor","hasNonStaticUsage","Error","globalVariables","attemptToVisitGlobals","lazy","hasOwnProperty","Object","keys","length","usedCtx","usedProcessors","usedStates","tplStateStore","getTplStateStore","devHook","getDevHook","strictCollectMemberUsage","push","ctxStore","waitFor","usedTpls","tpl","add","loadProcessorsImperatively","getBrickPackages","attemptToCheckPermissions","usedFunctions","checkPermissionsUsage","size","usedMenuIds","map","menuId","fetchMenuById","waitForCheckingApps","_runtimeContext$overr","app","currentApp","location","query","match","flags","sys","data","event","overrideApp","variableName","hash","substring","cloneDeep","getMenu","getMenuById","getDynamicReadOnlyProxy","get","target","key","getValue","ownKeys","Array","from","getReadOnlyProxy","hasInstalledApp","console","forEachItem","getItem","getStorageItem","getMedia","getRuntime","getMiscSettings","URLSearchParams","params","pathname","pkg","customProcessors","t","k","fromEntries","getAll","widgetFunctions","widgetImagesFactory","widgetI18nFactory","assign","getGeneralGlobals","storyboardFunctions","appendI18nNamespace","result","cook","expression","source","supply"],"sources":["../../../../src/internal/compute/evaluate.ts"],"sourcesContent":["import {\n cook,\n preevaluate,\n PreevaluateResult,\n shouldAllowRecursiveEvaluations,\n} from \"@next-core/cook\";\nimport { loadProcessorsImperatively } from \"@next-core/loader\";\nimport { supply } from \"@next-core/supply\";\nimport { hasOwnProperty } from \"@next-core/utils/general\";\nimport { strictCollectMemberUsage } from \"@next-core/utils/storyboard\";\nimport type { RuntimeContext } from \"../interfaces.js\";\nimport { cloneDeep } from \"lodash\";\nimport { customProcessors } from \"../../CustomProcessors.js\";\nimport {\n checkPermissionsUsage,\n storyboardFunctions,\n} from \"./StoryboardFunctions.js\";\nimport { getGeneralGlobals } from \"./getGeneralGlobals.js\";\nimport {\n getDynamicReadOnlyProxy,\n getReadOnlyProxy,\n} from \"../proxyFactories.js\";\nimport { getDevHook } from \"../devtools.js\";\nimport { getMedia } from \"../mediaQuery.js\";\nimport { getStorageItem } from \"./getStorageItem.js\";\nimport { getBrickPackages, getRuntime } from \"../Runtime.js\";\nimport type { DataStore } from \"../data/DataStore.js\";\nimport { getTplStateStore } from \"../CustomTemplates/utils.js\";\nimport { widgetFunctions } from \"./WidgetFunctions.js\";\nimport {\n collectAppGetMenuUsage,\n collectInstalledAppsHasUsage,\n MemberCallUsage,\n} from \"./collectMemberCallUsage.js\";\nimport { fetchMenuById, getMenuById } from \"../menu/fetchMenuById.js\";\nimport { widgetI18nFactory } from \"./WidgetI18n.js\";\nimport { widgetImagesFactory } from \"./images.js\";\nimport { hasInstalledApp, waitForCheckingApps } from \"../checkInstalledApps.js\";\n\nconst symbolForRaw = Symbol.for(\"pre.evaluated.raw\");\nconst symbolForContext = Symbol.for(\"pre.evaluated.context\");\n\nexport interface PreEvaluated {\n [symbolForRaw]: string;\n [symbolForContext]: RuntimeContext;\n}\n\nexport interface EvaluateOptions {\n lazy?: boolean;\n isReEvaluation?: boolean;\n evaluationId?: number;\n}\n\nexport function isPreEvaluated(raw: unknown): raw is PreEvaluated {\n return !!(raw as PreEvaluated)?.[symbolForRaw];\n}\n\nexport function getPreEvaluatedRaw(pre: PreEvaluated): string {\n return pre[symbolForRaw];\n}\n\nexport function shouldDismissMarkingComputed(\n raw: string | PreEvaluated\n): boolean {\n if (typeof raw === \"string\") {\n return shouldAllowRecursiveEvaluations(raw);\n }\n return shouldAllowRecursiveEvaluations(raw[symbolForRaw]);\n}\n\nconst possibleErrorConstructs = new WeakSet<ErrorConstructor>([\n SyntaxError,\n TypeError,\n ReferenceError,\n]);\n\nexport function getCookErrorConstructor(error: any): ErrorConstructor {\n return possibleErrorConstructs.has(error.constructor)\n ? error.constructor\n : TypeError;\n}\n\nexport async function asyncEvaluate(\n raw: string | PreEvaluated, // string or pre-evaluated object.\n runtimeContext: RuntimeContext,\n options?: EvaluateOptions\n): Promise<unknown> {\n const { blockingList, run } = lowLevelEvaluate(\n raw,\n runtimeContext,\n options,\n true\n );\n await Promise.all(blockingList);\n return run();\n}\n\nexport function evaluate(\n raw: string | PreEvaluated, // string or pre-evaluated object.\n runtimeContext: RuntimeContext,\n options?: EvaluateOptions\n): Promise<unknown> {\n const { run } = lowLevelEvaluate(raw, runtimeContext, options, false);\n return run();\n}\n\nfunction lowLevelEvaluate(\n raw: string | PreEvaluated, // string or pre-evaluated object.\n runtimeContext: RuntimeContext,\n options: EvaluateOptions = {},\n isAsync?: boolean\n): {\n blockingList: (Promise<unknown> | undefined)[];\n run: Function;\n} {\n const blockingList: (Promise<unknown> | undefined)[] = [];\n if (typeof raw !== \"string\") {\n // If the `raw` is not a string, it must be a pre-evaluated object.\n // Then fulfil the context, and restore the original `raw`.\n\n const {\n pendingPermissionsPreCheck: _1,\n tplStateStoreMap: _2,\n ...passByRuntimeContext\n } = runtimeContext;\n\n runtimeContext = {\n ...raw[symbolForContext],\n ...passByRuntimeContext,\n };\n raw = raw[symbolForRaw];\n }\n\n // Collect `APP.getMenu(...)` usage before evaluating.\n const menuUsage: MemberCallUsage = {\n usedArgs: new Set(),\n };\n const hasAppUsage: MemberCallUsage = {\n usedArgs: new Set(),\n };\n\n // A `SyntaxError` maybe thrown.\n let precooked: PreevaluateResult;\n try {\n precooked = preevaluate(raw, {\n withParent: true,\n hooks: {\n beforeVisitGlobal(node, parent) {\n collectAppGetMenuUsage(menuUsage, node, parent!);\n collectInstalledAppsHasUsage(hasAppUsage, node, parent!);\n },\n },\n });\n } catch (error: any) {\n const message = `${error.message}, in \"${raw}\"`;\n // if (options.isReEvaluation) {\n // devtoolsHookEmit(\"re-evaluation\", {\n // id: options.evaluationId,\n // detail: { raw, context: {} },\n // error: message,\n // });\n // return;\n // } else {\n const errorConstructor = getCookErrorConstructor(error);\n throw new errorConstructor(message);\n // }\n }\n\n if (menuUsage.hasNonStaticUsage) {\n throw new Error(\n `Non-static usage of \"APP.getMenu\" is not supported in v3, check your expression: \"${raw}\"`\n );\n }\n\n if (hasAppUsage.hasNonStaticUsage) {\n throw new Error(\n `Non-static usage of \"INSTALLED_APPS.has\" is not supported in v3, check your expression: \"${raw}\"`\n );\n }\n\n const globalVariables: Record<string, unknown> = {};\n const { attemptToVisitGlobals } = precooked;\n\n // Ignore evaluating if required `event/DATA` is missing in\n // context. Since they are are provided in different context, whenever\n // missing one of them, memorize the current context for later consuming.\n if (\n options.lazy ||\n (attemptToVisitGlobals.has(\"EVENT\") &&\n !hasOwnProperty(runtimeContext, \"event\")) ||\n (attemptToVisitGlobals.has(\"DATA\") &&\n !hasOwnProperty(runtimeContext, \"data\"))\n ) {\n return {\n blockingList,\n run() {\n return Object.keys(runtimeContext).length > 0\n ? ({\n [symbolForRaw]: raw,\n [symbolForContext]: runtimeContext,\n } as PreEvaluated)\n : raw;\n },\n };\n }\n\n let usedCtx: Set<string>;\n let usedProcessors: Set<string>;\n let usedStates: Set<string>;\n let tplStateStore: DataStore<\"STATE\"> | undefined;\n\n // For existed TPL usage, treat it as a STATE.\n if (attemptToVisitGlobals.has(\"STATE\") || attemptToVisitGlobals.has(\"TPL\")) {\n tplStateStore = getTplStateStore(runtimeContext, \"STATE\", `: \"${raw}\"`);\n }\n\n const devHook = getDevHook();\n if (isAsync || devHook) {\n if (attemptToVisitGlobals.has(\"CTX\")) {\n usedCtx = strictCollectMemberUsage(raw, \"CTX\");\n isAsync && blockingList.push(runtimeContext.ctxStore.waitFor(usedCtx));\n }\n\n if (tplStateStore) {\n usedStates = strictCollectMemberUsage(raw, \"STATE\");\n // Todo: remove compatibility support for `TPL`\n // istanbul ignore next\n const usedTpls = strictCollectMemberUsage(raw, \"TPL\");\n // istanbul ignore next\n for (const tpl of usedTpls) {\n usedStates.add(tpl);\n }\n isAsync && blockingList.push(tplStateStore.waitFor(usedStates));\n }\n\n if (attemptToVisitGlobals.has(\"PROCESSORS\")) {\n usedProcessors = strictCollectMemberUsage(raw, \"PROCESSORS\", 2);\n isAsync &&\n blockingList.push(\n loadProcessorsImperatively(usedProcessors, getBrickPackages())\n );\n }\n }\n\n if (isAsync) {\n let attemptToCheckPermissions = attemptToVisitGlobals.has(\"PERMISSIONS\");\n // There maybe `PERMISSIONS.check()` usage in functions\n if (!attemptToCheckPermissions && attemptToVisitGlobals.has(\"FN\")) {\n const usedFunctions = [...strictCollectMemberUsage(raw, \"FN\")];\n attemptToCheckPermissions = checkPermissionsUsage(usedFunctions);\n }\n\n if (attemptToCheckPermissions) {\n blockingList.push(...runtimeContext.pendingPermissionsPreCheck);\n }\n\n if (menuUsage.usedArgs.size > 0) {\n // Block evaluating if has `APP.getMenu(...)` usage.\n const usedMenuIds = [...menuUsage.usedArgs];\n blockingList.push(\n Promise.all(\n usedMenuIds.map((menuId) => fetchMenuById(menuId, runtimeContext))\n )\n );\n }\n\n if (hasAppUsage.usedArgs.size > 0) {\n // Only wait for specific apps\n blockingList.push(waitForCheckingApps([...hasAppUsage.usedArgs]));\n }\n }\n\n return {\n blockingList,\n run() {\n const {\n app: currentApp,\n location,\n query,\n match,\n flags,\n sys,\n ctxStore,\n data,\n event,\n } = runtimeContext;\n const app = runtimeContext.overrideApp ?? currentApp;\n\n for (const variableName of attemptToVisitGlobals) {\n switch (variableName) {\n // case \"ALIAS\":\n case \"ANCHOR\":\n globalVariables[variableName] = location.hash\n ? location.hash.substring(1)\n : null;\n break;\n case \"APP\":\n globalVariables[variableName] = {\n ...cloneDeep(app),\n getMenu: getMenuById,\n };\n break;\n case \"CTX\":\n globalVariables[variableName] = getDynamicReadOnlyProxy({\n get(target, key) {\n if (typeof key !== \"string\") {\n return;\n }\n return ctxStore.getValue(key);\n },\n ownKeys() {\n return Array.from(usedCtx);\n },\n });\n break;\n case \"DATA\":\n globalVariables[variableName] = data;\n break;\n case \"EVENT\":\n globalVariables[variableName] = event;\n break;\n case \"FLAGS\":\n globalVariables[variableName] = getReadOnlyProxy(flags);\n break;\n case \"HASH\":\n globalVariables[variableName] = location.hash;\n break;\n case \"INSTALLED_APPS\":\n globalVariables[variableName] = getReadOnlyProxy({\n has: hasInstalledApp,\n });\n break;\n case \"ITEM\":\n if (!hasOwnProperty(runtimeContext, \"forEachItem\")) {\n // eslint-disable-next-line no-console\n console.error(\n `Using \\`ITEM\\` but no \\`:forEach\\` is found, check your expression: \"${raw}\"`\n );\n } else {\n globalVariables[variableName] = runtimeContext.forEachItem;\n }\n break;\n case \"LOCAL_STORAGE\":\n globalVariables[variableName] = getReadOnlyProxy({\n getItem: getStorageItem(\"local\"),\n });\n break;\n case \"MEDIA\":\n globalVariables[variableName] = getReadOnlyProxy(getMedia());\n break;\n case \"MISC\":\n globalVariables[variableName] = getRuntime().getMiscSettings();\n break;\n case \"PARAMS\":\n globalVariables[variableName] = new URLSearchParams(query);\n break;\n case \"PATH\":\n globalVariables[variableName] = getReadOnlyProxy(match!.params);\n break;\n case \"PATH_NAME\":\n globalVariables[variableName] = location.pathname;\n break;\n case \"PROCESSORS\":\n globalVariables[variableName] = getDynamicReadOnlyProxy({\n get(target, key) {\n if (typeof key !== \"string\") {\n return;\n }\n const pkg = customProcessors.get(key);\n if (!pkg) {\n throw new Error(\n `'PROCESSORS.${key}' is not registered! Have you installed the relevant brick package?`\n );\n }\n return getDynamicReadOnlyProxy({\n get(t, k) {\n if (typeof k !== \"string\") {\n return;\n }\n return pkg.get(k);\n },\n ownKeys() {\n return Array.from(pkg.keys());\n },\n });\n },\n ownKeys() {\n return Array.from(usedProcessors);\n },\n });\n break;\n case \"QUERY\":\n globalVariables[variableName] = Object.fromEntries(\n Array.from(query.keys()).map((key) => [key, query.get(key)])\n );\n break;\n case \"QUERY_ARRAY\":\n globalVariables[variableName] = Object.fromEntries(\n Array.from(query.keys()).map((key) => [key, query.getAll(key)])\n );\n // case \"SEGUE\":\n break;\n case \"SESSION_STORAGE\":\n globalVariables[variableName] = getReadOnlyProxy({\n getItem: getStorageItem(\"session\"),\n });\n break;\n // Todo: remove compatibility support for `TPL`\n // istanbul ignore next\n case \"TPL\":\n case \"STATE\":\n globalVariables[variableName] = getDynamicReadOnlyProxy({\n get(target, key) {\n if (typeof key !== \"string\") {\n return;\n }\n return tplStateStore!.getValue(key);\n },\n ownKeys() {\n return Array.from(usedStates);\n },\n });\n break;\n case \"SYS\":\n globalVariables[variableName] = getReadOnlyProxy(sys);\n break;\n case \"__WIDGET_FN__\":\n globalVariables[variableName] = widgetFunctions;\n break;\n case \"__WIDGET_IMG__\":\n globalVariables[variableName] = widgetImagesFactory;\n break;\n case \"__WIDGET_I18N__\":\n globalVariables[variableName] = widgetI18nFactory;\n break;\n }\n }\n\n Object.assign(\n globalVariables,\n getGeneralGlobals(precooked.attemptToVisitGlobals, {\n storyboardFunctions,\n app: runtimeContext.app,\n appendI18nNamespace: runtimeContext.appendI18nNamespace,\n })\n );\n\n try {\n const result = cook(precooked.expression, precooked.source, {\n globalVariables: supply(\n precooked.attemptToVisitGlobals,\n globalVariables\n ),\n });\n // const detail = { raw, context: globalVariables, result };\n // if (options.isReEvaluation) {\n // devtoolsHookEmit(\"re-evaluation\", {\n // id: options.evaluationId,\n // detail,\n // });\n // } else {\n // devtoolsHookEmit(\"evaluation\", detail);\n // }\n return result;\n } catch (error: any) {\n const message = `${error.message}, in \"${raw}\"`;\n // if (options.isReEvaluation) {\n // devtoolsHookEmit(\"re-evaluation\", {\n // id: options.evaluationId,\n // detail: { raw, context: globalVariables },\n // error: message,\n // });\n // } else {\n const errorConstructor = getCookErrorConstructor(error);\n throw new errorConstructor(message);\n // }\n }\n },\n };\n}\n"],"mappings":"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"}
@@ -0,0 +1,87 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getGeneralGlobals = getGeneralGlobals;
7
+ var _lodash = require("lodash");
8
+ var _i18n = require("@next-core/i18n");
9
+ var _WidgetI18n = require("./WidgetI18n.js");
10
+ var _images = require("./images.js");
11
+ var _checkPermissions = require("../checkPermissions.js");
12
+ var _proxyFactories = require("../proxyFactories.js");
13
+ var _themeAndMode = require("../../themeAndMode.js");
14
+ var _getBasePath = require("../../getBasePath.js");
15
+ var _registerAppI18n = require("../registerAppI18n.js");
16
+ // `GeneralGlobals` are globals which are page-state-agnostic,
17
+ // thus they can be used both in storyboard expressions and functions.
18
+ function getGeneralGlobals(attemptToVisitGlobals, options) {
19
+ const globalVariables = {};
20
+ for (const variableName of attemptToVisitGlobals) {
21
+ const variable = getIndividualGlobal(variableName, options);
22
+ if (variable !== undefined) {
23
+ globalVariables[variableName] = variable;
24
+ }
25
+ }
26
+ return globalVariables;
27
+ }
28
+ function getIndividualGlobal(variableName, {
29
+ collectCoverage,
30
+ widgetId,
31
+ widgetVersion,
32
+ app,
33
+ appendI18nNamespace,
34
+ storyboardFunctions,
35
+ isStoryboardFunction
36
+ }) {
37
+ switch (variableName) {
38
+ case "BASE_URL":
39
+ return collectCoverage ? "/next" : (0, _getBasePath.getBasePath)().replace(/\/$/, "");
40
+ case "FN":
41
+ return storyboardFunctions;
42
+ case "IMG":
43
+ return collectCoverage ? fakeImageFactory() : widgetId ? (0, _images.widgetImagesFactory)(widgetId, widgetVersion) : (0, _images.imagesFactory)(app.id, app.isBuildPush);
44
+ case "I18N":
45
+ return collectCoverage ? _lodash.identity : widgetId ? (0, _WidgetI18n.widgetI18nFactory)(widgetId) : _i18n.i18n.getFixedT(null, [appendI18nNamespace, (0, _registerAppI18n.getI18nNamespace)("app", app.id)].filter(Boolean));
46
+ case "I18N_TEXT":
47
+ return collectCoverage ? fakeI18nText : _i18n.i18nText;
48
+ case "PERMISSIONS":
49
+ return (0, _proxyFactories.getReadOnlyProxy)({
50
+ check: collectCoverage ? fakeCheckPermissions : _checkPermissions.checkPermissions
51
+ });
52
+ case "THEME":
53
+ return (0, _proxyFactories.getReadOnlyProxy)({
54
+ getTheme: collectCoverage ? () => "light" : _themeAndMode.getTheme
55
+ // getCssPropertyValue: collectCoverage ? () => "" : getCssPropertyValue,
56
+ });
57
+
58
+ case "console":
59
+ return isStoryboardFunction ? (0, _proxyFactories.getReadOnlyProxy)(console) : undefined;
60
+ case "location":
61
+ return collectCoverage ? {
62
+ href: "http://localhost:3000/functions/test",
63
+ origin: "http://localhost:3000",
64
+ host: "localhost:3000",
65
+ hostname: "localhost"
66
+ } : {
67
+ href: location.href,
68
+ origin: location.origin,
69
+ host: location.host,
70
+ hostname: location.hostname
71
+ };
72
+ }
73
+ }
74
+ function fakeI18nText(data) {
75
+ return data === null || data === void 0 ? void 0 : data.en;
76
+ }
77
+ function fakeImageFactory() {
78
+ return {
79
+ get(name) {
80
+ return `mock/images/${name}`;
81
+ }
82
+ };
83
+ }
84
+ function fakeCheckPermissions() {
85
+ return true;
86
+ }
87
+ //# sourceMappingURL=getGeneralGlobals.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getGeneralGlobals.js","names":["_lodash","require","_i18n","_WidgetI18n","_images","_checkPermissions","_proxyFactories","_themeAndMode","_getBasePath","_registerAppI18n","getGeneralGlobals","attemptToVisitGlobals","options","globalVariables","variableName","variable","getIndividualGlobal","undefined","collectCoverage","widgetId","widgetVersion","app","appendI18nNamespace","storyboardFunctions","isStoryboardFunction","getBasePath","replace","fakeImageFactory","widgetImagesFactory","imagesFactory","id","isBuildPush","identity","widgetI18nFactory","i18n","getFixedT","getI18nNamespace","filter","Boolean","fakeI18nText","i18nText","getReadOnlyProxy","check","fakeCheckPermissions","checkPermissions","getTheme","console","href","origin","host","hostname","location","data","en","get","name"],"sources":["../../../../src/internal/compute/getGeneralGlobals.ts"],"sourcesContent":["import { identity } from \"lodash\";\nimport type { MicroApp } from \"@next-core/types\";\nimport { i18n, i18nText } from \"@next-core/i18n\";\nimport { widgetI18nFactory } from \"./WidgetI18n.js\";\nimport { ImagesFactory, imagesFactory, widgetImagesFactory } from \"./images.js\";\nimport { checkPermissions } from \"../checkPermissions.js\";\nimport { getReadOnlyProxy } from \"../proxyFactories.js\";\nimport { getTheme } from \"../../themeAndMode.js\";\nimport { getBasePath } from \"../../getBasePath.js\";\nimport { getI18nNamespace } from \"../registerAppI18n.js\";\n\nexport interface GeneralGlobalsOptions {\n collectCoverage?: unknown;\n widgetId?: string;\n widgetVersion?: string;\n app?: PartialMicroApp;\n appendI18nNamespace?: string;\n storyboardFunctions?: unknown;\n isStoryboardFunction?: boolean;\n}\n\nexport type PartialMicroApp = Pick<MicroApp, \"id\" | \"isBuildPush\">;\n\n// `GeneralGlobals` are globals which are page-state-agnostic,\n// thus they can be used both in storyboard expressions and functions.\nexport function getGeneralGlobals(\n attemptToVisitGlobals: Set<string>,\n options: GeneralGlobalsOptions\n): Record<string, unknown> {\n const globalVariables: Record<string, unknown> = {};\n for (const variableName of attemptToVisitGlobals) {\n const variable = getIndividualGlobal(variableName, options);\n if (variable !== undefined) {\n globalVariables[variableName] = variable;\n }\n }\n return globalVariables;\n}\n\nfunction getIndividualGlobal(\n variableName: string,\n {\n collectCoverage,\n widgetId,\n widgetVersion,\n app,\n appendI18nNamespace,\n storyboardFunctions,\n isStoryboardFunction,\n }: GeneralGlobalsOptions\n): unknown {\n switch (variableName) {\n case \"BASE_URL\":\n return collectCoverage ? \"/next\" : getBasePath().replace(/\\/$/, \"\");\n case \"FN\":\n return storyboardFunctions;\n case \"IMG\":\n return collectCoverage\n ? fakeImageFactory()\n : widgetId\n ? widgetImagesFactory(widgetId, widgetVersion)\n : imagesFactory(app!.id, app!.isBuildPush);\n case \"I18N\":\n return collectCoverage\n ? identity\n : widgetId\n ? widgetI18nFactory(widgetId)\n : i18n.getFixedT(\n null,\n [appendI18nNamespace, getI18nNamespace(\"app\", app!.id)].filter(\n Boolean\n ) as string[]\n );\n case \"I18N_TEXT\":\n return collectCoverage ? fakeI18nText : i18nText;\n case \"PERMISSIONS\":\n return getReadOnlyProxy({\n check: collectCoverage ? fakeCheckPermissions : checkPermissions,\n });\n case \"THEME\":\n return getReadOnlyProxy({\n getTheme: collectCoverage ? () => \"light\" : getTheme,\n // getCssPropertyValue: collectCoverage ? () => \"\" : getCssPropertyValue,\n });\n case \"console\":\n return isStoryboardFunction ? getReadOnlyProxy(console) : undefined;\n case \"location\":\n return collectCoverage\n ? {\n href: \"http://localhost:3000/functions/test\",\n origin: \"http://localhost:3000\",\n host: \"localhost:3000\",\n hostname: \"localhost\",\n }\n : {\n href: location.href,\n origin: location.origin,\n host: location.host,\n hostname: location.hostname,\n };\n }\n}\n\nfunction fakeI18nText(data: Record<string, string>): string {\n return data?.en;\n}\n\nfunction fakeImageFactory(): ImagesFactory {\n return {\n get(name: string) {\n return `mock/images/${name}`;\n },\n };\n}\n\nfunction fakeCheckPermissions(): boolean {\n return true;\n}\n"],"mappings":"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"}
@@ -0,0 +1,87 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.StateOfUseBrick = void 0;
7
+ exports.getNextStateOfUseBrick = getNextStateOfUseBrick;
8
+ exports.isLazyContentInUseBrick = isLazyContentInUseBrick;
9
+ let StateOfUseBrick;
10
+ exports.StateOfUseBrick = StateOfUseBrick;
11
+ (function (StateOfUseBrick) {
12
+ StateOfUseBrick[StateOfUseBrick["INITIAL"] = 0] = "INITIAL";
13
+ StateOfUseBrick[StateOfUseBrick["USE_BRICK"] = 1] = "USE_BRICK";
14
+ StateOfUseBrick[StateOfUseBrick["USE_BRICK_ITEM"] = 2] = "USE_BRICK_ITEM";
15
+ StateOfUseBrick[StateOfUseBrick["USE_BRICK_PROPERTIES"] = 3] = "USE_BRICK_PROPERTIES";
16
+ StateOfUseBrick[StateOfUseBrick["USE_BRICK_EVENTS"] = 4] = "USE_BRICK_EVENTS";
17
+ StateOfUseBrick[StateOfUseBrick["USE_BRICK_IF"] = 5] = "USE_BRICK_IF";
18
+ StateOfUseBrick[StateOfUseBrick["USE_BRICK_SLOTS"] = 6] = "USE_BRICK_SLOTS";
19
+ StateOfUseBrick[StateOfUseBrick["USE_BRICK_SLOTS_ITEM"] = 7] = "USE_BRICK_SLOTS_ITEM";
20
+ StateOfUseBrick[StateOfUseBrick["USE_BRICK_SLOTS_ITEM_BRICKS"] = 8] = "USE_BRICK_SLOTS_ITEM_BRICKS";
21
+ StateOfUseBrick[StateOfUseBrick["USE_BRICK_SLOTS_ITEM_BRICKS_ITEM"] = 9] = "USE_BRICK_SLOTS_ITEM_BRICKS_ITEM";
22
+ StateOfUseBrick[StateOfUseBrick["USE_BRICK_LIFECYCLE"] = 10] = "USE_BRICK_LIFECYCLE";
23
+ StateOfUseBrick[StateOfUseBrick["USE_BRICK_DATA_SOURCE"] = 11] = "USE_BRICK_DATA_SOURCE";
24
+ })(StateOfUseBrick || (exports.StateOfUseBrick = StateOfUseBrick = {}));
25
+ function isLazyContentInUseBrick(state) {
26
+ switch (state) {
27
+ case StateOfUseBrick.USE_BRICK_PROPERTIES:
28
+ case StateOfUseBrick.USE_BRICK_EVENTS:
29
+ case StateOfUseBrick.USE_BRICK_IF:
30
+ case StateOfUseBrick.USE_BRICK_LIFECYCLE:
31
+ case StateOfUseBrick.USE_BRICK_DATA_SOURCE:
32
+ return true;
33
+ }
34
+ return false;
35
+ }
36
+ function getNextStateOfUseBrick(state, isArray, key) {
37
+ if (isLazyContentInUseBrick(state)) {
38
+ return state;
39
+ }
40
+ if (isArray) {
41
+ switch (state) {
42
+ case StateOfUseBrick.USE_BRICK:
43
+ return StateOfUseBrick.USE_BRICK_ITEM;
44
+ case StateOfUseBrick.USE_BRICK_SLOTS_ITEM_BRICKS:
45
+ return StateOfUseBrick.USE_BRICK_SLOTS_ITEM_BRICKS_ITEM;
46
+ }
47
+ } else {
48
+ switch (state) {
49
+ case StateOfUseBrick.INITIAL:
50
+ if (key === "useBrick") {
51
+ return StateOfUseBrick.USE_BRICK;
52
+ }
53
+ break;
54
+ case StateOfUseBrick.USE_BRICK:
55
+ case StateOfUseBrick.USE_BRICK_ITEM:
56
+ case StateOfUseBrick.USE_BRICK_SLOTS_ITEM_BRICKS_ITEM:
57
+ {
58
+ switch (key) {
59
+ case "properties":
60
+ return StateOfUseBrick.USE_BRICK_PROPERTIES;
61
+ case "dataSource":
62
+ return StateOfUseBrick.USE_BRICK_DATA_SOURCE;
63
+ case "events":
64
+ return StateOfUseBrick.USE_BRICK_EVENTS;
65
+ case "slots":
66
+ return StateOfUseBrick.USE_BRICK_SLOTS;
67
+ case "children":
68
+ return StateOfUseBrick.USE_BRICK_SLOTS_ITEM_BRICKS;
69
+ case "if":
70
+ return StateOfUseBrick.USE_BRICK_IF;
71
+ case "lifeCycle":
72
+ return StateOfUseBrick.USE_BRICK_LIFECYCLE;
73
+ }
74
+ break;
75
+ }
76
+ case StateOfUseBrick.USE_BRICK_SLOTS:
77
+ return StateOfUseBrick.USE_BRICK_SLOTS_ITEM;
78
+ case StateOfUseBrick.USE_BRICK_SLOTS_ITEM:
79
+ if (key === "bricks") {
80
+ return StateOfUseBrick.USE_BRICK_SLOTS_ITEM_BRICKS;
81
+ }
82
+ break;
83
+ }
84
+ }
85
+ return StateOfUseBrick.INITIAL;
86
+ }
87
+ //# sourceMappingURL=getNextStateOfUseBrick.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getNextStateOfUseBrick.js","names":["StateOfUseBrick","exports","isLazyContentInUseBrick","state","USE_BRICK_PROPERTIES","USE_BRICK_EVENTS","USE_BRICK_IF","USE_BRICK_LIFECYCLE","USE_BRICK_DATA_SOURCE","getNextStateOfUseBrick","isArray","key","USE_BRICK","USE_BRICK_ITEM","USE_BRICK_SLOTS_ITEM_BRICKS","USE_BRICK_SLOTS_ITEM_BRICKS_ITEM","INITIAL","USE_BRICK_SLOTS","USE_BRICK_SLOTS_ITEM"],"sources":["../../../../src/internal/compute/getNextStateOfUseBrick.ts"],"sourcesContent":["export enum StateOfUseBrick {\n INITIAL,\n USE_BRICK,\n USE_BRICK_ITEM,\n USE_BRICK_PROPERTIES,\n USE_BRICK_EVENTS,\n USE_BRICK_IF,\n USE_BRICK_SLOTS,\n USE_BRICK_SLOTS_ITEM,\n USE_BRICK_SLOTS_ITEM_BRICKS,\n USE_BRICK_SLOTS_ITEM_BRICKS_ITEM,\n USE_BRICK_LIFECYCLE,\n USE_BRICK_DATA_SOURCE,\n}\n\nexport function isLazyContentInUseBrick(\n state: StateOfUseBrick | undefined\n): boolean {\n switch (state) {\n case StateOfUseBrick.USE_BRICK_PROPERTIES:\n case StateOfUseBrick.USE_BRICK_EVENTS:\n case StateOfUseBrick.USE_BRICK_IF:\n case StateOfUseBrick.USE_BRICK_LIFECYCLE:\n case StateOfUseBrick.USE_BRICK_DATA_SOURCE:\n return true;\n }\n return false;\n}\n\nexport function getNextStateOfUseBrick(\n state: StateOfUseBrick | undefined,\n isArray?: boolean,\n key?: string\n): StateOfUseBrick | undefined {\n if (isLazyContentInUseBrick(state)) {\n return state;\n }\n if (isArray) {\n switch (state) {\n case StateOfUseBrick.USE_BRICK:\n return StateOfUseBrick.USE_BRICK_ITEM;\n case StateOfUseBrick.USE_BRICK_SLOTS_ITEM_BRICKS:\n return StateOfUseBrick.USE_BRICK_SLOTS_ITEM_BRICKS_ITEM;\n }\n } else {\n switch (state) {\n case StateOfUseBrick.INITIAL:\n if (key === \"useBrick\") {\n return StateOfUseBrick.USE_BRICK;\n }\n break;\n case StateOfUseBrick.USE_BRICK:\n case StateOfUseBrick.USE_BRICK_ITEM:\n case StateOfUseBrick.USE_BRICK_SLOTS_ITEM_BRICKS_ITEM: {\n switch (key) {\n case \"properties\":\n return StateOfUseBrick.USE_BRICK_PROPERTIES;\n case \"dataSource\":\n return StateOfUseBrick.USE_BRICK_DATA_SOURCE;\n case \"events\":\n return StateOfUseBrick.USE_BRICK_EVENTS;\n case \"slots\":\n return StateOfUseBrick.USE_BRICK_SLOTS;\n case \"children\":\n return StateOfUseBrick.USE_BRICK_SLOTS_ITEM_BRICKS;\n case \"if\":\n return StateOfUseBrick.USE_BRICK_IF;\n case \"lifeCycle\":\n return StateOfUseBrick.USE_BRICK_LIFECYCLE;\n }\n break;\n }\n case StateOfUseBrick.USE_BRICK_SLOTS:\n return StateOfUseBrick.USE_BRICK_SLOTS_ITEM;\n case StateOfUseBrick.USE_BRICK_SLOTS_ITEM:\n if (key === \"bricks\") {\n return StateOfUseBrick.USE_BRICK_SLOTS_ITEM_BRICKS;\n }\n break;\n }\n }\n return StateOfUseBrick.INITIAL;\n}\n"],"mappings":";;;;;;;;IAAYA,eAAe;AAAAC,OAAA,CAAAD,eAAA,GAAAA,eAAA;AAAA,WAAfA,eAAe;EAAfA,eAAe,CAAfA,eAAe;EAAfA,eAAe,CAAfA,eAAe;EAAfA,eAAe,CAAfA,eAAe;EAAfA,eAAe,CAAfA,eAAe;EAAfA,eAAe,CAAfA,eAAe;EAAfA,eAAe,CAAfA,eAAe;EAAfA,eAAe,CAAfA,eAAe;EAAfA,eAAe,CAAfA,eAAe;EAAfA,eAAe,CAAfA,eAAe;EAAfA,eAAe,CAAfA,eAAe;EAAfA,eAAe,CAAfA,eAAe;EAAfA,eAAe,CAAfA,eAAe;AAAA,GAAfA,eAAe,KAAAC,OAAA,CAAAD,eAAA,GAAfA,eAAe;AAepB,SAASE,uBAAuBA,CACrCC,KAAkC,EACzB;EACT,QAAQA,KAAK;IACX,KAAKH,eAAe,CAACI,oBAAoB;IACzC,KAAKJ,eAAe,CAACK,gBAAgB;IACrC,KAAKL,eAAe,CAACM,YAAY;IACjC,KAAKN,eAAe,CAACO,mBAAmB;IACxC,KAAKP,eAAe,CAACQ,qBAAqB;MACxC,OAAO,IAAI;EAAC;EAEhB,OAAO,KAAK;AACd;AAEO,SAASC,sBAAsBA,CACpCN,KAAkC,EAClCO,OAAiB,EACjBC,GAAY,EACiB;EAC7B,IAAIT,uBAAuB,CAACC,KAAK,CAAC,EAAE;IAClC,OAAOA,KAAK;EACd;EACA,IAAIO,OAAO,EAAE;IACX,QAAQP,KAAK;MACX,KAAKH,eAAe,CAACY,SAAS;QAC5B,OAAOZ,eAAe,CAACa,cAAc;MACvC,KAAKb,eAAe,CAACc,2BAA2B;QAC9C,OAAOd,eAAe,CAACe,gCAAgC;IAAC;EAE9D,CAAC,MAAM;IACL,QAAQZ,KAAK;MACX,KAAKH,eAAe,CAACgB,OAAO;QAC1B,IAAIL,GAAG,KAAK,UAAU,EAAE;UACtB,OAAOX,eAAe,CAACY,SAAS;QAClC;QACA;MACF,KAAKZ,eAAe,CAACY,SAAS;MAC9B,KAAKZ,eAAe,CAACa,cAAc;MACnC,KAAKb,eAAe,CAACe,gCAAgC;QAAE;UACrD,QAAQJ,GAAG;YACT,KAAK,YAAY;cACf,OAAOX,eAAe,CAACI,oBAAoB;YAC7C,KAAK,YAAY;cACf,OAAOJ,eAAe,CAACQ,qBAAqB;YAC9C,KAAK,QAAQ;cACX,OAAOR,eAAe,CAACK,gBAAgB;YACzC,KAAK,OAAO;cACV,OAAOL,eAAe,CAACiB,eAAe;YACxC,KAAK,UAAU;cACb,OAAOjB,eAAe,CAACc,2BAA2B;YACpD,KAAK,IAAI;cACP,OAAOd,eAAe,CAACM,YAAY;YACrC,KAAK,WAAW;cACd,OAAON,eAAe,CAACO,mBAAmB;UAAC;UAE/C;QACF;MACA,KAAKP,eAAe,CAACiB,eAAe;QAClC,OAAOjB,eAAe,CAACkB,oBAAoB;MAC7C,KAAKlB,eAAe,CAACkB,oBAAoB;QACvC,IAAIP,GAAG,KAAK,QAAQ,EAAE;UACpB,OAAOX,eAAe,CAACc,2BAA2B;QACpD;QACA;IAAM;EAEZ;EACA,OAAOd,eAAe,CAACgB,OAAO;AAChC"}