@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,24 @@
1
+ import _objectSpread from "@babel/runtime/helpers/objectSpread2";
2
+ import { http } from "@next-core/http";
3
+ var nativeController;
4
+ export function initAbortController() {
5
+ if (!window.AbortController) {
6
+ return;
7
+ }
8
+ nativeController = new AbortController();
9
+ http.interceptors.request.use(config => {
10
+ var _config$options;
11
+ return _objectSpread(_objectSpread({}, config), {}, {
12
+ options: _objectSpread(_objectSpread({}, config.options), {}, {
13
+ signal: (_config$options = config.options) !== null && _config$options !== void 0 && _config$options.noAbortOnRouteChange ? null : nativeController.signal
14
+ })
15
+ });
16
+ });
17
+ }
18
+ export function abortPendingRequest() {
19
+ if (nativeController) {
20
+ nativeController.abort();
21
+ nativeController = new AbortController();
22
+ }
23
+ }
24
+ //# sourceMappingURL=abortController.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abortController.js","names":["http","nativeController","initAbortController","window","AbortController","interceptors","request","use","config","_config$options","_objectSpread","options","signal","noAbortOnRouteChange","abortPendingRequest","abort"],"sources":["../../../src/internal/abortController.ts"],"sourcesContent":["import { http } from \"@next-core/http\";\n\nlet nativeController: AbortController;\n\nexport function initAbortController() {\n if (!window.AbortController) {\n return;\n }\n\n nativeController = new AbortController();\n\n http.interceptors.request.use((config) => {\n return {\n ...config,\n options: {\n ...config.options,\n signal: config.options?.noAbortOnRouteChange\n ? null\n : nativeController.signal,\n },\n };\n });\n}\n\nexport function abortPendingRequest() {\n if (nativeController) {\n nativeController.abort();\n nativeController = new AbortController();\n }\n}\n"],"mappings":";AAAA,SAASA,IAAI,QAAQ,iBAAiB;AAEtC,IAAIC,gBAAiC;AAErC,OAAO,SAASC,mBAAmBA,CAAA,EAAG;EACpC,IAAI,CAACC,MAAM,CAACC,eAAe,EAAE;IAC3B;EACF;EAEAH,gBAAgB,GAAG,IAAIG,eAAe,EAAE;EAExCJ,IAAI,CAACK,YAAY,CAACC,OAAO,CAACC,GAAG,CAAEC,MAAM,IAAK;IAAA,IAAAC,eAAA;IACxC,OAAAC,aAAA,CAAAA,aAAA,KACKF,MAAM;MACTG,OAAO,EAAAD,aAAA,CAAAA,aAAA,KACFF,MAAM,CAACG,OAAO;QACjBC,MAAM,EAAE,CAAAH,eAAA,GAAAD,MAAM,CAACG,OAAO,cAAAF,eAAA,eAAdA,eAAA,CAAgBI,oBAAoB,GACxC,IAAI,GACJZ,gBAAgB,CAACW;MAAM;IAC5B;EAEL,CAAC,CAAC;AACJ;AAEA,OAAO,SAASE,mBAAmBA,CAAA,EAAG;EACpC,IAAIb,gBAAgB,EAAE;IACpBA,gBAAgB,CAACc,KAAK,EAAE;IACxBd,gBAAgB,GAAG,IAAIG,eAAe,EAAE;EAC1C;AACF"}
@@ -0,0 +1,434 @@
1
+ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
+ import _objectSpread from "@babel/runtime/helpers/objectSpread2";
3
+ import { isEvaluable } from "@next-core/cook";
4
+ import { checkIf } from "./compute/checkIf.js";
5
+ import { computeRealValue } from "./compute/computeRealValue.js";
6
+ import { getHistory } from "../history.js";
7
+ import { getProviderBrick } from "./data/getProviderBrick.js";
8
+ import { startPoll } from "./poll.js";
9
+ import { isPreEvaluated } from "./compute/evaluate.js";
10
+ import { setProperties } from "./compute/setProperties.js";
11
+ import { applyMode, applyTheme } from "../themeAndMode.js";
12
+ import { getTplHostElement, getTplStateStore } from "./CustomTemplates/utils.js";
13
+ import { handleHttpError, httpErrorToString } from "../handleHttpError.js";
14
+ import { getArgsOfFlowApi } from "./data/FlowApi.js";
15
+ export function bindListeners(brick, eventsMap, runtimeContext) {
16
+ if (!eventsMap) {
17
+ return;
18
+ }
19
+ Object.entries(eventsMap).forEach(_ref => {
20
+ var [eventType, handlers] = _ref;
21
+ var listener = listenerFactory(handlers, runtimeContext, {
22
+ element: brick
23
+ });
24
+ brick.addEventListener(eventType, listener);
25
+
26
+ // Remember added listeners for unbinding.
27
+ if (!brick.$$listeners) {
28
+ brick.$$listeners = [];
29
+ }
30
+ brick.$$listeners.push([eventType, listener]);
31
+
32
+ // Remember added listeners for devtools.
33
+ if (!brick.$$eventListeners) {
34
+ brick.$$eventListeners = [];
35
+ }
36
+ for (var handler of [].concat(handlers)) {
37
+ brick.$$eventListeners.push([eventType, null, handler]);
38
+ }
39
+ });
40
+ }
41
+ export function unbindListeners(brick) {
42
+ if (brick.$$listeners) {
43
+ for (var [eventType, listener] of brick.$$listeners) {
44
+ brick.removeEventListener(eventType, listener);
45
+ }
46
+ brick.$$listeners.length = 0;
47
+ }
48
+ }
49
+ export function isBuiltinHandler(handler) {
50
+ return typeof handler.action === "string";
51
+ }
52
+ export function isUseProviderHandler(handler) {
53
+ return typeof handler.useProvider === "string";
54
+ }
55
+ export function isCustomHandler(handler) {
56
+ return !!((handler.target || handler.targetRef) && (handler.method || handler.properties));
57
+ }
58
+ export function isExecuteCustomHandler(handler) {
59
+ return !!handler.method;
60
+ }
61
+ export function isSetPropsCustomHandler(handler) {
62
+ return !!handler.properties;
63
+ }
64
+ export function listenerFactory(handlers, runtimeContext, runtimeBrick) {
65
+ return function (event) {
66
+ for (var handler of [].concat(handlers)) {
67
+ if (!checkIf(handler, _objectSpread(_objectSpread({}, runtimeContext), {}, {
68
+ event
69
+ }))) {
70
+ continue;
71
+ }
72
+ if (isBuiltinHandler(handler)) {
73
+ var [object, method] = handler.action.split(".");
74
+ switch (handler.action) {
75
+ case "history.push":
76
+ case "history.replace":
77
+ case "history.pushQuery":
78
+ case "history.replaceQuery":
79
+ case "history.pushAnchor":
80
+ case "history.block":
81
+ case "history.goBack":
82
+ case "history.goForward":
83
+ case "history.reload":
84
+ case "history.unblock":
85
+ handleHistoryAction(event, method, handler.args, handler.callback, runtimeContext);
86
+ break;
87
+
88
+ // case "segue.push":
89
+ // case "segue.replace":
90
+ // case "alias.push":
91
+ // case "alias.replace":
92
+
93
+ case "window.open":
94
+ handleWindowAction(event, handler.args, runtimeContext);
95
+ break;
96
+ case "location.reload":
97
+ case "location.assign":
98
+ handleLocationAction(event, method, handler.args, runtimeContext);
99
+ break;
100
+ case "localStorage.setItem":
101
+ case "localStorage.removeItem":
102
+ case "sessionStorage.setItem":
103
+ case "sessionStorage.removeItem":
104
+ handleStorageAction(event, object, method, handler.args, runtimeContext);
105
+ break;
106
+ case "event.preventDefault":
107
+ event.preventDefault();
108
+ break;
109
+ case "console.log":
110
+ case "console.error":
111
+ case "console.warn":
112
+ case "console.info":
113
+ handleConsoleAction(event, method, handler.args, runtimeContext);
114
+ break;
115
+ case "message.success":
116
+ case "message.error":
117
+ case "message.info":
118
+ case "message.warn":
119
+ handleMessageAction(event, method, handler.args, runtimeContext);
120
+ break;
121
+ case "handleHttpError":
122
+ handleHttpError(event.detail);
123
+ break;
124
+ case "context.assign":
125
+ case "context.replace":
126
+ case "context.refresh":
127
+ case "context.load":
128
+ handleContextAction(event, method, handler.args, handler.callback, runtimeContext);
129
+ break;
130
+ case "state.update":
131
+ case "state.refresh":
132
+ case "state.load":
133
+ handleTplStateAction(event, method, handler.args, handler.callback, runtimeContext);
134
+ break;
135
+ case "tpl.dispatchEvent":
136
+ {
137
+ var [type, init] = argsFactory(handler.args, runtimeContext, event);
138
+ var tplHostElement = getTplHostElement(runtimeContext, handler.action, ": ".concat(type));
139
+ tplHostElement.dispatchEvent(new CustomEvent(type, init));
140
+ break;
141
+ }
142
+
143
+ // case "formstate.update":
144
+
145
+ // case "message.subscribe":
146
+ // case "message.unsubscribe":
147
+
148
+ case "theme.setDarkTheme":
149
+ case "theme.setLightTheme":
150
+ applyTheme(handler.action === "theme.setDarkTheme" ? "dark" : "light");
151
+ break;
152
+ case "theme.setTheme":
153
+ {
154
+ var [theme] = argsFactory(handler.args, runtimeContext, event);
155
+ applyTheme(theme);
156
+ break;
157
+ }
158
+ case "mode.setDashboardMode":
159
+ case "mode.setDefaultMode":
160
+ applyMode(handler.action === "mode.setDashboardMode" ? "dashboard" : "default");
161
+ break;
162
+
163
+ // case "menu.clearMenuTitleCache":
164
+ // case "menu.clearMenuCache":
165
+
166
+ // case "analytics.event":
167
+
168
+ // case "preview.debug":
169
+
170
+ default:
171
+ // eslint-disable-next-line no-console
172
+ console.error("unknown event listener action:", handler.action);
173
+ }
174
+ } else if (isUseProviderHandler(handler)) {
175
+ handleUseProviderAction(event, handler, runtimeContext, runtimeBrick);
176
+ } else if (isCustomHandler(handler)) {
177
+ handleCustomAction(event, handler, runtimeContext, runtimeBrick);
178
+ } else {
179
+ // eslint-disable-next-line no-console
180
+ console.error("unknown event handler:", handler);
181
+ }
182
+ }
183
+ };
184
+ }
185
+ function handleUseProviderAction(_x, _x2, _x3, _x4) {
186
+ return _handleUseProviderAction.apply(this, arguments);
187
+ }
188
+ function _handleUseProviderAction() {
189
+ _handleUseProviderAction = _asyncToGenerator(function* (event, handler, runtimeContext, runtimeBrick) {
190
+ try {
191
+ var providerBrick = yield getProviderBrick(handler.useProvider);
192
+ var method = handler.method !== "saveAs" ? "resolve" : "saveAs";
193
+ brickCallback(event, providerBrick, handler, method, runtimeContext, runtimeBrick);
194
+ } catch (error) {
195
+ // eslint-disable-next-line no-console
196
+ console.error(httpErrorToString(error));
197
+ }
198
+ });
199
+ return _handleUseProviderAction.apply(this, arguments);
200
+ }
201
+ function handleCustomAction(event, handler, runtimeContext, runtimeBrick) {
202
+ var targets = [];
203
+ var rawTarget = handler.target;
204
+ var rawTargetRef = handler.targetRef;
205
+ var computedTarget = rawTarget;
206
+ // Allow `target` to be set as evaluable string.
207
+ if (typeof rawTarget === "string" ? isEvaluable(rawTarget) : isPreEvaluated(rawTarget)) {
208
+ computedTarget = computeRealValue(rawTarget, _objectSpread(_objectSpread({}, runtimeContext), {}, {
209
+ event
210
+ }));
211
+ }
212
+ if (typeof computedTarget === "string") {
213
+ if (computedTarget === "_self") {
214
+ targets.push(runtimeBrick.element);
215
+ } else if (handler.multiple) {
216
+ targets = Array.from(document.querySelectorAll(computedTarget));
217
+ } else {
218
+ var found = document.querySelector(computedTarget);
219
+ if (found !== null) {
220
+ targets.push(found);
221
+ }
222
+ }
223
+ } else if (computedTarget) {
224
+ if (computedTarget instanceof HTMLElement) {
225
+ targets.push(computedTarget);
226
+ } else {
227
+ // eslint-disable-next-line no-console
228
+ console.error("unexpected target:", computedTarget);
229
+ }
230
+ } else if (rawTargetRef) {
231
+ var computedTargetRef = rawTargetRef;
232
+ // Allow `targetRef` to be set as evaluable string.
233
+ if (typeof rawTargetRef === "string" ? isEvaluable(rawTargetRef) : isPreEvaluated(rawTargetRef)) {
234
+ computedTargetRef = computeRealValue(rawTargetRef, _objectSpread(_objectSpread({}, runtimeContext), {}, {
235
+ event
236
+ }));
237
+ }
238
+ var targetRefs = [].concat(computedTargetRef);
239
+ var tplHostElement = getTplHostElement(runtimeContext, "targetRef", ": ".concat(targetRefs.join(", ")));
240
+ targets.push(...targetRefs.map(ref => {
241
+ var _tplHostElement$$$get;
242
+ return (_tplHostElement$$$get = tplHostElement.$$getElementByRef) === null || _tplHostElement$$$get === void 0 ? void 0 : _tplHostElement$$$get.call(tplHostElement, ref);
243
+ }).filter(Boolean));
244
+ }
245
+ if (targets.length === 0) {
246
+ // eslint-disable-next-line no-console
247
+ console.error("target not found:", rawTarget || rawTargetRef);
248
+ return;
249
+ }
250
+ if (isExecuteCustomHandler(handler)) {
251
+ targets.forEach(target => {
252
+ brickCallback(event, target, handler, handler.method, runtimeContext, runtimeBrick, {
253
+ useEventAsDefault: true
254
+ });
255
+ });
256
+ } else if (isSetPropsCustomHandler(handler)) {
257
+ setProperties(targets, handler.properties, _objectSpread(_objectSpread({}, runtimeContext), {}, {
258
+ event
259
+ }));
260
+ }
261
+ }
262
+ function brickCallback(_x5, _x6, _x7, _x8, _x9, _x10, _x11) {
263
+ return _brickCallback.apply(this, arguments);
264
+ }
265
+ function _brickCallback() {
266
+ _brickCallback = _asyncToGenerator(function* (event, target, handler, method, runtimeContext, runtimeBrick, options) {
267
+ var _poll;
268
+ if (typeof target[method] !== "function") {
269
+ // eslint-disable-next-line no-console
270
+ console.error("target has no method:", {
271
+ target,
272
+ method: method
273
+ });
274
+ return;
275
+ }
276
+ var task = /*#__PURE__*/function () {
277
+ var _ref2 = _asyncToGenerator(function* () {
278
+ var computedArgs = argsFactory(handler.args, runtimeContext, event, options);
279
+ if (isUseProviderHandler(handler)) {
280
+ computedArgs = yield getArgsOfFlowApi(handler.useProvider, computedArgs, method);
281
+ }
282
+ return target[method](...computedArgs);
283
+ });
284
+ return function task() {
285
+ return _ref2.apply(this, arguments);
286
+ };
287
+ }();
288
+ if (!handler.callback) {
289
+ task();
290
+ return;
291
+ }
292
+ var callbackFactory = eventCallbackFactory(handler.callback, runtimeContext, runtimeBrick);
293
+ var pollableCallback = {
294
+ progress: callbackFactory("progress"),
295
+ success: callbackFactory("success"),
296
+ error: callbackFactory("error"),
297
+ finally: callbackFactory("finally")
298
+ };
299
+ var poll;
300
+ if (isUseProviderHandler(handler)) {
301
+ poll = computeRealValue(handler.poll, _objectSpread(_objectSpread({}, runtimeContext), {}, {
302
+ event
303
+ }));
304
+ }
305
+ if ((_poll = poll) !== null && _poll !== void 0 && _poll.enabled) {
306
+ startPoll(task, pollableCallback, poll);
307
+ } else {
308
+ try {
309
+ // Try to catch synchronized tasks too.
310
+ var result = yield task();
311
+ pollableCallback.success(result);
312
+ } catch (err) {
313
+ pollableCallback.error(err);
314
+ } finally {
315
+ pollableCallback["finally"]();
316
+ }
317
+ }
318
+ });
319
+ return _brickCallback.apply(this, arguments);
320
+ }
321
+ function handleHistoryAction(event, method, args, callback, runtimeContext) {
322
+ var baseArgsLength = 0;
323
+ var hasCallback = false;
324
+ var overrideMethod = method;
325
+ switch (method) {
326
+ case "push":
327
+ case "replace":
328
+ case "pushQuery":
329
+ case "replaceQuery":
330
+ case "pushAnchor":
331
+ baseArgsLength = 2;
332
+ hasCallback = true;
333
+ break;
334
+ case "reload":
335
+ hasCallback = true;
336
+ break;
337
+ case "block":
338
+ baseArgsLength = 1;
339
+ overrideMethod = "setBlockMessage";
340
+ break;
341
+ }
342
+ var computedArgs = [];
343
+ if (baseArgsLength > 0) {
344
+ computedArgs = argsFactory(args, runtimeContext, event, {
345
+ useEventDetailAsDefault: true
346
+ });
347
+ computedArgs.length = baseArgsLength;
348
+ }
349
+ if (hasCallback && callback) {
350
+ var callbackFactory = eventCallbackFactory(callback, runtimeContext, undefined);
351
+ computedArgs.push(blocked => {
352
+ callbackFactory(blocked ? "error" : "success")({
353
+ blocked
354
+ });
355
+ callbackFactory("finally")({
356
+ blocked
357
+ });
358
+ });
359
+ }
360
+ getHistory()[overrideMethod](...computedArgs);
361
+ }
362
+ function handleWindowAction(event, args, runtimeContext) {
363
+ var [url, target, features] = argsFactory(args, runtimeContext, event);
364
+ window.open(url, target || "_self", features);
365
+ }
366
+ function handleContextAction(event, method, args, callback, runtimeContext) {
367
+ var [name, value] = argsFactory(args, runtimeContext, event);
368
+ runtimeContext.ctxStore.updateValue(name, value, method, callback, runtimeContext);
369
+ }
370
+ function handleTplStateAction(event, method, args, callback, runtimeContext) {
371
+ var [name, value] = argsFactory(args, runtimeContext, event);
372
+ var tplStateStore = getTplStateStore(runtimeContext, "state.".concat(method), ": ".concat(name));
373
+ tplStateStore.updateValue(name, value, method === "update" ? "replace" : method, callback, runtimeContext);
374
+ }
375
+ function handleLocationAction(event, method, args, runtimeContext) {
376
+ if (method === "assign") {
377
+ var [url] = argsFactory(args, runtimeContext, event);
378
+ location.assign(url);
379
+ } else {
380
+ location[method]();
381
+ }
382
+ }
383
+ function handleStorageAction(event, object, method, args, runtimeContext) {
384
+ var storage = object === "localStorage" ? localStorage : sessionStorage;
385
+ var [name, value] = argsFactory(args, runtimeContext, event);
386
+ if (method === "setItem") {
387
+ if (value !== undefined) {
388
+ storage.setItem(name, JSON.stringify(value));
389
+ }
390
+ } else {
391
+ storage.removeItem(name);
392
+ }
393
+ }
394
+ function handleConsoleAction(event, method, args, runtimeContext) {
395
+ // eslint-disable-next-line no-console
396
+ console[method](...argsFactory(args, runtimeContext, event, {
397
+ useEventAsDefault: true
398
+ }));
399
+ }
400
+ function handleMessageAction(event, method, args, runtimeContext) {
401
+ alert(...argsFactory(args, runtimeContext, event, {
402
+ useEventAsDefault: true
403
+ }));
404
+ }
405
+ export function eventCallbackFactory(callback, runtimeContext, runtimeBrick) {
406
+ return function callbackFactory(type) {
407
+ return function (result) {
408
+ var handlers = callback === null || callback === void 0 ? void 0 : callback[type];
409
+ if (handlers) {
410
+ try {
411
+ var event = new CustomEvent("callback.".concat(type), {
412
+ detail: result
413
+ });
414
+ listenerFactory(handlers, runtimeContext, runtimeBrick)(event);
415
+ } catch (err) {
416
+ // Do not throw errors in `callback.success` or `callback.progress`,
417
+ // to avoid the following triggering of `callback.error`.
418
+ // eslint-disable-next-line
419
+ console.error(err);
420
+ }
421
+ } else if (type === "error") {
422
+ // eslint-disable-next-line
423
+ console.error("Unhandled callback error:", result);
424
+ }
425
+ };
426
+ };
427
+ }
428
+ function argsFactory(args, runtimeContext, event) {
429
+ var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
430
+ return Array.isArray(args) ? computeRealValue(args, _objectSpread(_objectSpread({}, runtimeContext), {}, {
431
+ event
432
+ })) : options.useEventAsDefault ? [event] : options.useEventDetailAsDefault ? [event.detail] : [];
433
+ }
434
+ //# sourceMappingURL=bindListeners.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bindListeners.js","names":["isEvaluable","checkIf","computeRealValue","getHistory","getProviderBrick","startPoll","isPreEvaluated","setProperties","applyMode","applyTheme","getTplHostElement","getTplStateStore","handleHttpError","httpErrorToString","getArgsOfFlowApi","bindListeners","brick","eventsMap","runtimeContext","Object","entries","forEach","_ref","eventType","handlers","listener","listenerFactory","element","addEventListener","$$listeners","push","$$eventListeners","handler","concat","unbindListeners","removeEventListener","length","isBuiltinHandler","action","isUseProviderHandler","useProvider","isCustomHandler","target","targetRef","method","properties","isExecuteCustomHandler","isSetPropsCustomHandler","runtimeBrick","event","_objectSpread","object","split","handleHistoryAction","args","callback","handleWindowAction","handleLocationAction","handleStorageAction","preventDefault","handleConsoleAction","handleMessageAction","detail","handleContextAction","handleTplStateAction","type","init","argsFactory","tplHostElement","dispatchEvent","CustomEvent","theme","console","error","handleUseProviderAction","handleCustomAction","_x","_x2","_x3","_x4","_handleUseProviderAction","apply","arguments","_asyncToGenerator","providerBrick","brickCallback","targets","rawTarget","rawTargetRef","computedTarget","multiple","Array","from","document","querySelectorAll","found","querySelector","HTMLElement","computedTargetRef","targetRefs","join","map","ref","_tplHostElement$$$get","$$getElementByRef","call","filter","Boolean","useEventAsDefault","_x5","_x6","_x7","_x8","_x9","_x10","_x11","_brickCallback","options","_poll","task","_ref2","computedArgs","callbackFactory","eventCallbackFactory","pollableCallback","progress","success","finally","poll","enabled","result","err","baseArgsLength","hasCallback","overrideMethod","useEventDetailAsDefault","undefined","blocked","url","features","window","open","name","value","ctxStore","updateValue","tplStateStore","location","assign","storage","localStorage","sessionStorage","setItem","JSON","stringify","removeItem","alert","isArray"],"sources":["../../../src/internal/bindListeners.ts"],"sourcesContent":["import type {\n BrickEventHandler,\n BrickEventHandlerCallback,\n BrickEventsMap,\n BuiltinBrickEventHandler,\n CustomBrickEventHandler,\n ExecuteCustomBrickEventHandler,\n ProviderPollOptions,\n SetPropsCustomBrickEventHandler,\n SiteTheme,\n UseProviderEventHandler,\n} from \"@next-core/types\";\nimport { isEvaluable } from \"@next-core/cook\";\nimport { checkIf } from \"./compute/checkIf.js\";\nimport { computeRealValue } from \"./compute/computeRealValue.js\";\nimport { getHistory } from \"../history.js\";\nimport { getProviderBrick } from \"./data/getProviderBrick.js\";\nimport { PollableCallback, startPoll } from \"./poll.js\";\nimport { isPreEvaluated } from \"./compute/evaluate.js\";\nimport { setProperties } from \"./compute/setProperties.js\";\nimport { applyMode, applyTheme } from \"../themeAndMode.js\";\nimport type {\n ElementHolder,\n RuntimeBrickElement,\n RuntimeContext,\n} from \"./interfaces.js\";\nimport {\n getTplHostElement,\n getTplStateStore,\n} from \"./CustomTemplates/utils.js\";\nimport { handleHttpError, httpErrorToString } from \"../handleHttpError.js\";\nimport { getArgsOfFlowApi } from \"./data/FlowApi.js\";\n\nexport function bindListeners(\n brick: RuntimeBrickElement,\n eventsMap: BrickEventsMap | undefined,\n runtimeContext: RuntimeContext\n): void {\n if (!eventsMap) {\n return;\n }\n Object.entries(eventsMap).forEach(([eventType, handlers]) => {\n const listener = listenerFactory(handlers, runtimeContext, {\n element: brick,\n });\n brick.addEventListener(eventType, listener);\n\n // Remember added listeners for unbinding.\n if (!brick.$$listeners) {\n brick.$$listeners = [];\n }\n brick.$$listeners.push([eventType, listener]);\n\n // Remember added listeners for devtools.\n if (!brick.$$eventListeners) {\n brick.$$eventListeners = [];\n }\n for (const handler of ([] as BrickEventHandler[]).concat(handlers)) {\n brick.$$eventListeners.push([eventType, null, handler]);\n }\n });\n}\n\nexport function unbindListeners(brick: RuntimeBrickElement): void {\n if (brick.$$listeners) {\n for (const [eventType, listener] of brick.$$listeners) {\n brick.removeEventListener(eventType, listener);\n }\n brick.$$listeners.length = 0;\n }\n}\n\nexport function isBuiltinHandler(\n handler: BrickEventHandler\n): handler is BuiltinBrickEventHandler {\n return typeof (handler as BuiltinBrickEventHandler).action === \"string\";\n}\n\nexport function isUseProviderHandler(\n handler: BrickEventHandler\n): handler is UseProviderEventHandler {\n return typeof (handler as UseProviderEventHandler).useProvider === \"string\";\n}\n\nexport function isCustomHandler(\n handler: BrickEventHandler\n): handler is CustomBrickEventHandler {\n return !!(\n ((handler as CustomBrickEventHandler).target ||\n (handler as CustomBrickEventHandler).targetRef) &&\n ((handler as ExecuteCustomBrickEventHandler).method ||\n (handler as SetPropsCustomBrickEventHandler).properties)\n );\n}\n\nexport function isExecuteCustomHandler(\n handler: CustomBrickEventHandler\n): handler is ExecuteCustomBrickEventHandler {\n return !!(handler as ExecuteCustomBrickEventHandler).method;\n}\n\nexport function isSetPropsCustomHandler(\n handler: CustomBrickEventHandler\n): handler is SetPropsCustomBrickEventHandler {\n return !!(handler as SetPropsCustomBrickEventHandler).properties;\n}\n\nexport function listenerFactory(\n handlers: BrickEventHandler | BrickEventHandler[],\n runtimeContext: RuntimeContext,\n runtimeBrick?: ElementHolder\n) {\n return function (event: Event): void {\n for (const handler of ([] as BrickEventHandler[]).concat(handlers)) {\n if (!checkIf(handler, { ...runtimeContext, event })) {\n continue;\n }\n if (isBuiltinHandler(handler)) {\n const [object, method] = handler.action.split(\".\") as any;\n switch (handler.action) {\n case \"history.push\":\n case \"history.replace\":\n case \"history.pushQuery\":\n case \"history.replaceQuery\":\n case \"history.pushAnchor\":\n case \"history.block\":\n case \"history.goBack\":\n case \"history.goForward\":\n case \"history.reload\":\n case \"history.unblock\":\n handleHistoryAction(\n event,\n method,\n handler.args,\n handler.callback,\n runtimeContext\n );\n break;\n\n // case \"segue.push\":\n // case \"segue.replace\":\n // case \"alias.push\":\n // case \"alias.replace\":\n\n case \"window.open\":\n handleWindowAction(event, handler.args, runtimeContext);\n break;\n\n case \"location.reload\":\n case \"location.assign\":\n handleLocationAction(event, method, handler.args, runtimeContext);\n break;\n\n case \"localStorage.setItem\":\n case \"localStorage.removeItem\":\n case \"sessionStorage.setItem\":\n case \"sessionStorage.removeItem\":\n handleStorageAction(\n event,\n object,\n method,\n handler.args,\n runtimeContext\n );\n break;\n\n case \"event.preventDefault\":\n event.preventDefault();\n break;\n\n case \"console.log\":\n case \"console.error\":\n case \"console.warn\":\n case \"console.info\":\n handleConsoleAction(event, method, handler.args, runtimeContext);\n break;\n\n case \"message.success\":\n case \"message.error\":\n case \"message.info\":\n case \"message.warn\":\n handleMessageAction(event, method, handler.args, runtimeContext);\n break;\n\n case \"handleHttpError\":\n handleHttpError((event as CustomEvent).detail);\n break;\n\n case \"context.assign\":\n case \"context.replace\":\n case \"context.refresh\":\n case \"context.load\":\n handleContextAction(\n event,\n method,\n handler.args,\n handler.callback,\n runtimeContext\n );\n break;\n\n case \"state.update\":\n case \"state.refresh\":\n case \"state.load\":\n handleTplStateAction(\n event,\n method,\n handler.args,\n handler.callback,\n runtimeContext\n );\n break;\n\n case \"tpl.dispatchEvent\": {\n const [type, init] = argsFactory(\n handler.args,\n runtimeContext,\n event\n ) as [string, CustomEventInit];\n const tplHostElement = getTplHostElement(\n runtimeContext,\n handler.action,\n `: ${type}`\n );\n tplHostElement.dispatchEvent(new CustomEvent(type, init));\n break;\n }\n\n // case \"formstate.update\":\n\n // case \"message.subscribe\":\n // case \"message.unsubscribe\":\n\n case \"theme.setDarkTheme\":\n case \"theme.setLightTheme\":\n applyTheme(\n handler.action === \"theme.setDarkTheme\" ? \"dark\" : \"light\"\n );\n break;\n case \"theme.setTheme\": {\n const [theme] = argsFactory(handler.args, runtimeContext, event);\n applyTheme(theme as SiteTheme);\n break;\n }\n case \"mode.setDashboardMode\":\n case \"mode.setDefaultMode\":\n applyMode(\n handler.action === \"mode.setDashboardMode\"\n ? \"dashboard\"\n : \"default\"\n );\n break;\n\n // case \"menu.clearMenuTitleCache\":\n // case \"menu.clearMenuCache\":\n\n // case \"analytics.event\":\n\n // case \"preview.debug\":\n\n default:\n // eslint-disable-next-line no-console\n console.error(\"unknown event listener action:\", handler.action);\n }\n } else if (isUseProviderHandler(handler)) {\n handleUseProviderAction(event, handler, runtimeContext, runtimeBrick);\n } else if (isCustomHandler(handler)) {\n handleCustomAction(event, handler, runtimeContext, runtimeBrick!);\n } else {\n // eslint-disable-next-line no-console\n console.error(\"unknown event handler:\", handler);\n }\n }\n };\n}\n\nasync function handleUseProviderAction(\n event: Event,\n handler: UseProviderEventHandler,\n runtimeContext: RuntimeContext,\n runtimeBrick?: ElementHolder\n) {\n try {\n const providerBrick = await getProviderBrick(handler.useProvider);\n const method = handler.method !== \"saveAs\" ? \"resolve\" : \"saveAs\";\n brickCallback(\n event,\n providerBrick,\n handler,\n method,\n runtimeContext,\n runtimeBrick\n );\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error(httpErrorToString(error));\n }\n}\n\nfunction handleCustomAction(\n event: Event,\n handler: CustomBrickEventHandler,\n runtimeContext: RuntimeContext,\n runtimeBrick: ElementHolder\n) {\n let targets: HTMLElement[] = [];\n const rawTarget = handler.target;\n const rawTargetRef = handler.targetRef;\n let computedTarget = rawTarget;\n // Allow `target` to be set as evaluable string.\n if (\n typeof rawTarget === \"string\"\n ? isEvaluable(rawTarget)\n : isPreEvaluated(rawTarget)\n ) {\n computedTarget = computeRealValue(rawTarget, { ...runtimeContext, event });\n }\n if (typeof computedTarget === \"string\") {\n if (computedTarget === \"_self\") {\n targets.push(runtimeBrick.element!);\n } else if (handler.multiple) {\n targets = Array.from(document.querySelectorAll(computedTarget));\n } else {\n const found = document.querySelector(computedTarget) as HTMLElement;\n if (found !== null) {\n targets.push(found);\n }\n }\n } else if (computedTarget) {\n if (computedTarget instanceof HTMLElement) {\n targets.push(computedTarget as HTMLElement);\n } else {\n // eslint-disable-next-line no-console\n console.error(\"unexpected target:\", computedTarget);\n }\n } else if (rawTargetRef) {\n let computedTargetRef = rawTargetRef;\n // Allow `targetRef` to be set as evaluable string.\n if (\n typeof rawTargetRef === \"string\"\n ? isEvaluable(rawTargetRef)\n : isPreEvaluated(rawTargetRef)\n ) {\n computedTargetRef = computeRealValue(rawTargetRef, {\n ...runtimeContext,\n event,\n }) as string | string[];\n }\n const targetRefs = ([] as string[]).concat(computedTargetRef);\n const tplHostElement = getTplHostElement(\n runtimeContext,\n \"targetRef\",\n `: ${targetRefs.join(\", \")}`\n );\n targets.push(\n ...(targetRefs\n .map((ref) => tplHostElement.$$getElementByRef?.(ref))\n .filter(Boolean) as HTMLElement[])\n );\n }\n if (targets.length === 0) {\n // eslint-disable-next-line no-console\n console.error(\"target not found:\", rawTarget || rawTargetRef);\n return;\n }\n if (isExecuteCustomHandler(handler)) {\n targets.forEach((target) => {\n brickCallback(\n event,\n target,\n handler,\n handler.method,\n runtimeContext,\n runtimeBrick,\n {\n useEventAsDefault: true,\n }\n );\n });\n } else if (isSetPropsCustomHandler(handler)) {\n setProperties(targets, handler.properties, {\n ...runtimeContext,\n event,\n });\n }\n}\n\nasync function brickCallback(\n event: Event,\n target: HTMLElement,\n handler: ExecuteCustomBrickEventHandler | UseProviderEventHandler,\n method: string,\n runtimeContext: RuntimeContext,\n runtimeBrick?: ElementHolder,\n options?: ArgsFactoryOptions\n): Promise<void> {\n if (typeof (target as any)[method] !== \"function\") {\n // eslint-disable-next-line no-console\n console.error(\"target has no method:\", {\n target,\n method: method,\n });\n return;\n }\n\n const task = async (): Promise<unknown> => {\n let computedArgs = argsFactory(\n handler.args,\n runtimeContext,\n event,\n options\n );\n if (isUseProviderHandler(handler)) {\n computedArgs = await getArgsOfFlowApi(\n handler.useProvider,\n computedArgs,\n method\n );\n }\n return (target as any)[method](...computedArgs);\n };\n\n if (!handler.callback) {\n task();\n return;\n }\n\n const callbackFactory = eventCallbackFactory(\n handler.callback,\n runtimeContext,\n runtimeBrick\n );\n\n const pollableCallback: Required<PollableCallback> = {\n progress: callbackFactory(\"progress\"),\n success: callbackFactory(\"success\"),\n error: callbackFactory(\"error\"),\n finally: callbackFactory(\"finally\"),\n };\n\n let poll: ProviderPollOptions | undefined;\n if (isUseProviderHandler(handler)) {\n poll = computeRealValue(handler.poll, { ...runtimeContext, event }) as\n | ProviderPollOptions\n | undefined;\n }\n\n if (poll?.enabled) {\n startPoll(task, pollableCallback, poll);\n } else {\n try {\n // Try to catch synchronized tasks too.\n const result = await task();\n pollableCallback.success(result);\n } catch (err) {\n pollableCallback.error(err);\n } finally {\n pollableCallback[\"finally\"]();\n }\n }\n}\n\nfunction handleHistoryAction(\n event: Event,\n method:\n | \"push\"\n | \"replace\"\n | \"pushQuery\"\n | \"replaceQuery\"\n | \"pushAnchor\"\n | \"block\"\n | \"goBack\"\n | \"goForward\"\n | \"reload\"\n | \"unblock\",\n args: unknown[] | undefined,\n callback: BrickEventHandlerCallback | undefined,\n runtimeContext: RuntimeContext\n) {\n let baseArgsLength = 0;\n let hasCallback = false;\n let overrideMethod = method as \"setBlockMessage\";\n switch (method) {\n case \"push\":\n case \"replace\":\n case \"pushQuery\":\n case \"replaceQuery\":\n case \"pushAnchor\":\n baseArgsLength = 2;\n hasCallback = true;\n break;\n case \"reload\":\n hasCallback = true;\n break;\n case \"block\":\n baseArgsLength = 1;\n overrideMethod = \"setBlockMessage\";\n break;\n }\n let computedArgs: unknown[] = [];\n if (baseArgsLength > 0) {\n computedArgs = argsFactory(args, runtimeContext, event, {\n useEventDetailAsDefault: true,\n });\n computedArgs.length = baseArgsLength;\n }\n if (hasCallback && callback) {\n const callbackFactory = eventCallbackFactory(\n callback,\n runtimeContext,\n undefined\n );\n computedArgs.push((blocked: boolean) => {\n callbackFactory(blocked ? \"error\" : \"success\")({ blocked });\n callbackFactory(\"finally\")({ blocked });\n });\n }\n (getHistory()[overrideMethod] as (...args: unknown[]) => unknown)(\n ...computedArgs\n );\n}\n\nfunction handleWindowAction(\n event: Event,\n args: unknown[] | undefined,\n runtimeContext: RuntimeContext\n) {\n const [url, target, features] = argsFactory(args, runtimeContext, event) as [\n string,\n string,\n string\n ];\n window.open(url, target || \"_self\", features);\n}\n\nfunction handleContextAction(\n event: Event,\n method: \"assign\" | \"replace\" | \"refresh\" | \"load\",\n args: unknown[] | undefined,\n callback: BrickEventHandlerCallback | undefined,\n runtimeContext: RuntimeContext\n) {\n const [name, value] = argsFactory(args, runtimeContext, event);\n runtimeContext.ctxStore.updateValue(\n name as string,\n value,\n method,\n callback,\n runtimeContext\n );\n}\n\nfunction handleTplStateAction(\n event: Event,\n method: \"update\" | \"refresh\" | \"load\",\n args: unknown[] | undefined,\n callback: BrickEventHandlerCallback | undefined,\n runtimeContext: RuntimeContext\n) {\n const [name, value] = argsFactory(args, runtimeContext, event);\n const tplStateStore = getTplStateStore(\n runtimeContext,\n `state.${method}`,\n `: ${name}`\n );\n tplStateStore.updateValue(\n name as string,\n value,\n method === \"update\" ? \"replace\" : method,\n callback,\n runtimeContext\n );\n}\n\nfunction handleLocationAction(\n event: Event,\n method: \"assign\" | \"reload\",\n args: unknown[] | undefined,\n runtimeContext: RuntimeContext\n) {\n if (method === \"assign\") {\n const [url] = argsFactory(args, runtimeContext, event) as [string];\n location.assign(url);\n } else {\n location[method]();\n }\n}\n\nfunction handleStorageAction(\n event: Event,\n object: \"localStorage\" | \"sessionStorage\",\n method: \"setItem\" | \"removeItem\",\n args: unknown[] | undefined,\n runtimeContext: RuntimeContext\n) {\n const storage = object === \"localStorage\" ? localStorage : sessionStorage;\n const [name, value] = argsFactory(args, runtimeContext, event);\n if (method === \"setItem\") {\n if (value !== undefined) {\n storage.setItem(name as string, JSON.stringify(value));\n }\n } else {\n storage.removeItem(name as string);\n }\n}\n\nfunction handleConsoleAction(\n event: Event,\n method: \"log\" | \"error\" | \"warn\" | \"info\",\n args: unknown[] | undefined,\n runtimeContext: RuntimeContext\n) {\n // eslint-disable-next-line no-console\n console[method](\n ...argsFactory(args, runtimeContext, event, {\n useEventAsDefault: true,\n })\n );\n}\n\nfunction handleMessageAction(\n event: Event,\n method: \"success\" | \"error\" | \"info\" | \"warn\",\n args: unknown[] | undefined,\n runtimeContext: RuntimeContext\n) {\n alert(\n ...argsFactory(args, runtimeContext, event, {\n useEventAsDefault: true,\n })\n );\n}\n\nexport function eventCallbackFactory(\n callback: BrickEventHandlerCallback,\n runtimeContext: RuntimeContext,\n runtimeBrick?: ElementHolder\n) {\n return function callbackFactory(\n type: \"success\" | \"error\" | \"finally\" | \"progress\"\n ) {\n return function (result?: unknown) {\n const handlers = callback?.[type];\n if (handlers) {\n try {\n const event = new CustomEvent(`callback.${type}`, {\n detail: result,\n });\n listenerFactory(handlers, runtimeContext, runtimeBrick)(event);\n } catch (err) {\n // Do not throw errors in `callback.success` or `callback.progress`,\n // to avoid the following triggering of `callback.error`.\n // eslint-disable-next-line\n console.error(err);\n }\n } else if (type === \"error\") {\n // eslint-disable-next-line\n console.error(\"Unhandled callback error:\", result);\n }\n };\n };\n}\n\ninterface ArgsFactoryOptions {\n useEventAsDefault?: boolean;\n useEventDetailAsDefault?: boolean;\n}\n\nfunction argsFactory(\n args: unknown[] | undefined,\n runtimeContext: RuntimeContext,\n event: Event,\n options: ArgsFactoryOptions = {}\n): unknown[] {\n return Array.isArray(args)\n ? (computeRealValue(args, {\n ...runtimeContext,\n event,\n }) as unknown[])\n : options.useEventAsDefault\n ? [event]\n : options.useEventDetailAsDefault\n ? [(event as CustomEvent).detail]\n : [];\n}\n"],"mappings":"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"}
@@ -0,0 +1,100 @@
1
+ import _objectSpread from "@babel/runtime/helpers/objectSpread2";
2
+ import { traverseStoryboardExpressions } from "@next-core/utils/storyboard";
3
+ import { RuntimeApi_searchMicroAppStandalone } from "@next-api-sdk/micro-app-standalone-sdk";
4
+ import { compare } from "compare-versions";
5
+ import { collectInstalledAppsHasUsage } from "./compute/collectMemberCallUsage.js";
6
+ import { _internalApiGetAppInBootstrapData } from "./Runtime.js";
7
+ var checkingApps = new Map();
8
+ var checkedApps = new Map();
9
+ export function preCheckInstalledApps(storyboard) {
10
+ if (window.STANDALONE_MICRO_APPS && !window.NO_AUTH_GUARD) {
11
+ var appIds = scanInstalledAppsUsage(storyboard);
12
+ var searchIds = [];
13
+ for (var appId of appIds) {
14
+ // Do not check these apps already checking or in bootstrap.
15
+ if (!checkingApps.has(appId) && !_internalApiGetAppInBootstrapData(appId)) {
16
+ searchIds.push(appId);
17
+ }
18
+ }
19
+ if (searchIds.length === 0) {
20
+ return;
21
+ }
22
+ var promise = RuntimeApi_searchMicroAppStandalone({
23
+ query: {
24
+ appId: {
25
+ $in: searchIds
26
+ }
27
+ },
28
+ fields: ["appId", "currentVersion", "installStatus"]
29
+ }).catch(error => {
30
+ // Allow search micro app to fail, and
31
+ // make it not crash when the backend service is not updated.
32
+ // eslint-disable-next-line no-console
33
+ console.error("Get off site standalone micro-apps failed", error);
34
+ });
35
+ var _loop = function (_appId) {
36
+ checkingApps.set(_appId, promise.then(result => {
37
+ var _result$list;
38
+ var app = result === null || result === void 0 ? void 0 : (_result$list = result.list) === null || _result$list === void 0 ? void 0 : _result$list.find(item => item.appId === _appId);
39
+ var checkedApp = app ? _objectSpread(_objectSpread({}, app), {}, {
40
+ id: _appId
41
+ }) : undefined;
42
+ checkedApps.set(_appId, checkedApp);
43
+ return checkedApp;
44
+ }));
45
+ };
46
+ for (var _appId of searchIds) {
47
+ _loop(_appId);
48
+ }
49
+ }
50
+ }
51
+ export function waitForCheckingApps(appIds) {
52
+ return Promise.all(appIds.map(appId => checkingApps.get(appId)));
53
+ }
54
+ export function hasInstalledApp(appId, matchVersion) {
55
+ // First, check whether the app is in bootstrap already.
56
+ var app = _internalApiGetAppInBootstrapData(appId);
57
+ if (!app && window.STANDALONE_MICRO_APPS) {
58
+ app = checkedApps.get(appId);
59
+ }
60
+ if (!app || app.installStatus === "running") {
61
+ return false;
62
+ }
63
+ // Todo: `currentVersion` maybe `""`
64
+ if (!matchVersion || !app.currentVersion) {
65
+ return true;
66
+ }
67
+ // Valid `matchVersion`:
68
+ // >=1.2.3
69
+ // >1.2.3
70
+ // =1.2.3
71
+ // <=1.2.3
72
+ // <1.2.3
73
+ var matches = matchVersion.match(/^([><]=?|=)(.*)$/);
74
+ try {
75
+ if (!matches) {
76
+ throw new TypeError("Invalid match version: ".concat(matchVersion));
77
+ }
78
+ return compare(app.currentVersion, matches[2], matches[1]);
79
+ } catch (error) {
80
+ // eslint-disable-next-line no-console
81
+ console.error(error);
82
+ }
83
+ return false;
84
+ }
85
+ function scanInstalledAppsUsage(storyboard) {
86
+ var _storyboard$meta;
87
+ var usage = {
88
+ usedArgs: new Set()
89
+ };
90
+ // `INSTALLED_APPS.has(...)` is not available in storyboard functions
91
+ var {
92
+ customTemplates,
93
+ menus
94
+ } = (_storyboard$meta = storyboard.meta) !== null && _storyboard$meta !== void 0 ? _storyboard$meta : {};
95
+ traverseStoryboardExpressions([storyboard.routes, customTemplates, menus], (node, parent) => {
96
+ collectInstalledAppsHasUsage(usage, node, parent);
97
+ }, "INSTALLED_APPS");
98
+ return [...usage.usedArgs];
99
+ }
100
+ //# sourceMappingURL=checkInstalledApps.js.map