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