@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,29 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.customProcessors = void 0;
7
+ class CustomProcessorRegistry {
8
+ #registry = new Map();
9
+ define(processorFullName, processorFunc) {
10
+ // `namespace` should be the camelCase of the package name.
11
+ const [namespace, processorName] = processorFullName.split(".");
12
+ let pkg = this.#registry.get(namespace);
13
+ if (!pkg) {
14
+ pkg = new Map();
15
+ this.#registry.set(namespace, pkg);
16
+ }
17
+ if (pkg.has(processorName)) {
18
+ // eslint-disable-next-line no-console
19
+ throw new Error(`Custom processor of "${processorFullName}" already registered`);
20
+ }
21
+ pkg.set(processorName, processorFunc);
22
+ }
23
+ get(namespace) {
24
+ return this.#registry.get(namespace);
25
+ }
26
+ }
27
+ const customProcessors = new CustomProcessorRegistry();
28
+ exports.customProcessors = customProcessors;
29
+ //# sourceMappingURL=CustomProcessors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CustomProcessors.js","names":["CustomProcessorRegistry","registry","Map","define","processorFullName","processorFunc","namespace","processorName","split","pkg","get","set","has","Error","customProcessors","exports"],"sources":["../../src/CustomProcessors.ts"],"sourcesContent":["class CustomProcessorRegistry {\n readonly #registry = new Map<string, Map<string, Function>>();\n\n define(processorFullName: string, processorFunc: Function) {\n // `namespace` should be the camelCase of the package name.\n const [namespace, processorName] = processorFullName.split(\".\");\n let pkg = this.#registry.get(namespace);\n if (!pkg) {\n pkg = new Map();\n this.#registry.set(namespace, pkg);\n }\n if (pkg.has(processorName)) {\n // eslint-disable-next-line no-console\n throw new Error(\n `Custom processor of \"${processorFullName}\" already registered`\n );\n }\n pkg.set(processorName, processorFunc);\n }\n\n get(namespace: string) {\n return this.#registry.get(namespace);\n }\n}\n\nexport const customProcessors = new CustomProcessorRegistry();\n"],"mappings":";;;;;;AAAA,MAAMA,uBAAuB,CAAC;EACnB,CAACC,QAAQ,GAAG,IAAIC,GAAG,EAAiC;EAE7DC,MAAMA,CAACC,iBAAyB,EAAEC,aAAuB,EAAE;IACzD;IACA,MAAM,CAACC,SAAS,EAAEC,aAAa,CAAC,GAAGH,iBAAiB,CAACI,KAAK,CAAC,GAAG,CAAC;IAC/D,IAAIC,GAAG,GAAG,IAAI,CAAC,CAACR,QAAQ,CAACS,GAAG,CAACJ,SAAS,CAAC;IACvC,IAAI,CAACG,GAAG,EAAE;MACRA,GAAG,GAAG,IAAIP,GAAG,EAAE;MACf,IAAI,CAAC,CAACD,QAAQ,CAACU,GAAG,CAACL,SAAS,EAAEG,GAAG,CAAC;IACpC;IACA,IAAIA,GAAG,CAACG,GAAG,CAACL,aAAa,CAAC,EAAE;MAC1B;MACA,MAAM,IAAIM,KAAK,CACZ,wBAAuBT,iBAAkB,sBAAqB,CAChE;IACH;IACAK,GAAG,CAACE,GAAG,CAACJ,aAAa,EAAEF,aAAa,CAAC;EACvC;EAEAK,GAAGA,CAACJ,SAAiB,EAAE;IACrB,OAAO,IAAI,CAAC,CAACL,QAAQ,CAACS,GAAG,CAACJ,SAAS,CAAC;EACtC;AACF;AAEO,MAAMQ,gBAAgB,GAAG,IAAId,uBAAuB,EAAE;AAACe,OAAA,CAAAD,gBAAA,GAAAA,gBAAA"}
@@ -0,0 +1,179 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.customTemplates = void 0;
7
+ var _lodash = require("lodash");
8
+ // Note: `prefix` is a native prop on Element, but it's only used in XML documents.
9
+ const allowedNativeProps = new Set(["prefix"]);
10
+ class CustomTemplateRegistry {
11
+ #registry = new Map();
12
+ define(tagName, constructor) {
13
+ var _constructor$proxy$pr, _constructor$proxy, _compatibleConstructo, _compatibleConstructo2;
14
+ let registered = this.#registry.has(tagName);
15
+ if (registered) {
16
+ // When open launchpad, the storyboard will be updated.
17
+ // However, we can't *undefine* a custom element.
18
+ // Just ignore re-registering custom templates.
19
+ // eslint-disable-next-line no-console
20
+ console.warn(`Custom template of "${tagName}" already registered.`);
21
+ } else {
22
+ registered = !!customElements.get(tagName);
23
+ if (registered) {
24
+ // eslint-disable-next-line no-console
25
+ console.warn(`Custom template of "${tagName}" already defined by customElements.`);
26
+ }
27
+ }
28
+
29
+ // Transform legacy `proxy.properties[].asVariable` as states.
30
+ const proxyProperties = (_constructor$proxy$pr = (_constructor$proxy = constructor.proxy) === null || _constructor$proxy === void 0 ? void 0 : _constructor$proxy.properties) !== null && _constructor$proxy$pr !== void 0 ? _constructor$proxy$pr : {};
31
+ const validProxyProps = [];
32
+ const legacyTplVariables = [];
33
+ for (const [key, value] of Object.entries(proxyProperties)) {
34
+ if (value.asVariable) {
35
+ // For existed TPL usage, treat it as a STATE.
36
+ legacyTplVariables.push(key);
37
+ // eslint-disable-next-line no-console
38
+ console.warn("Template `asVariable` with `TPL.*` is deprecated and will be dropped in v3:", tagName, key);
39
+ } else if (value.mergeProperty || value.refTransform) {
40
+ // eslint-disable-next-line no-console
41
+ console.error("Template `mergeProperty` and `refTransform` are not supported in v3:", tagName, key);
42
+ } else if (value.ref) {
43
+ validProxyProps.push([key, value]);
44
+ }
45
+ // Else: documentation only, for exposed states.
46
+ }
47
+
48
+ const compatibleConstructor = {
49
+ ...constructor,
50
+ proxy: {
51
+ ...constructor.proxy,
52
+ properties: Object.fromEntries(validProxyProps)
53
+ },
54
+ state: (constructor.state ? constructor.state.map(item => ({
55
+ // For existed templates, make `expose` defaults to true.
56
+ expose: true,
57
+ ...item
58
+ })) : []).concat(legacyTplVariables.map(tpl => ({
59
+ name: tpl,
60
+ expose: true
61
+ })))
62
+ };
63
+
64
+ // Now we allow re-register custom template
65
+ this.#registry.set(tagName, {
66
+ ...compatibleConstructor,
67
+ name: tagName
68
+ });
69
+ const exposedStates = getExposedStates(compatibleConstructor.state);
70
+ const proxyMethods = Object.entries((_compatibleConstructo = (_compatibleConstructo2 = compatibleConstructor.proxy) === null || _compatibleConstructo2 === void 0 ? void 0 : _compatibleConstructo2.methods) !== null && _compatibleConstructo !== void 0 ? _compatibleConstructo : {});
71
+ const props = exposedStates.concat(validProxyProps.map(entry => entry[0]));
72
+ const methods = proxyMethods.map(entry => entry[0]);
73
+ const nativeProp = props.concat(methods).find(prop => prop in HTMLElement.prototype && !allowedNativeProps.has(prop));
74
+ if (nativeProp !== undefined) {
75
+ throw new Error(`In custom template "${tagName}", "${nativeProp}" is a native HTMLElement property, and should be avoid to be used as a brick property or method.`);
76
+ }
77
+ if (registered) {
78
+ return;
79
+ }
80
+ class TplElement extends HTMLElement {
81
+ get $$typeof() {
82
+ return "custom-template";
83
+ }
84
+ static get _dev_only_definedProperties() {
85
+ return props;
86
+ }
87
+ static get _dev_only_definedMethods() {
88
+ return methods;
89
+ }
90
+ $$getElementByRef(ref) {
91
+ var _this$$$tplStateStore, _this$$$tplStateStore2, _this$$$tplStateStore3, _this$$$tplStateStore4;
92
+ return (_this$$$tplStateStore = this.$$tplStateStore) === null || _this$$$tplStateStore === void 0 ? void 0 : (_this$$$tplStateStore2 = _this$$$tplStateStore.hostBrick) === null || _this$$$tplStateStore2 === void 0 ? void 0 : (_this$$$tplStateStore3 = _this$$$tplStateStore2.tplHostMetadata) === null || _this$$$tplStateStore3 === void 0 ? void 0 : (_this$$$tplStateStore4 = _this$$$tplStateStore3.internalBricksByRef.get(ref)) === null || _this$$$tplStateStore4 === void 0 ? void 0 : _this$$$tplStateStore4.element;
93
+ }
94
+ connectedCallback() {
95
+ let shadowRoot = this.shadowRoot;
96
+ if (!shadowRoot) {
97
+ shadowRoot = this.attachShadow({
98
+ mode: "open"
99
+ });
100
+ }
101
+ const fragment = document.createDocumentFragment();
102
+ const style = document.createElement("style");
103
+ style.textContent = ":host{display:block}:host([hidden]){display:none}";
104
+ const slot = document.createElement("slot");
105
+ fragment.appendChild(style);
106
+ fragment.appendChild(slot);
107
+ shadowRoot.appendChild(fragment);
108
+ }
109
+ disconnectedCallback() {
110
+ if (this.shadowRoot) {
111
+ this.shadowRoot.textContent = "";
112
+ }
113
+ }
114
+ }
115
+ for (const propName of exposedStates) {
116
+ if (validProxyProps.some(entry => entry[0] === propName)) {
117
+ // eslint-disable-next-line no-console
118
+ console.error(`Cannot define an exposed state that is also a proxy property: "${propName}" in ${tagName}`);
119
+ continue;
120
+ }
121
+ Object.defineProperty(TplElement.prototype, propName, {
122
+ get() {
123
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
124
+ return this.$$tplStateStore.getValue(propName);
125
+ },
126
+ set(value) {
127
+ var _this$$$tplStateStore5;
128
+ // 在 mount 过程中,先设置属性,再设置 `$$tplStateStore`,这样,当触发属性设置时,
129
+ // 避免初始化的一次 state update 操作及其 onChange 事件。
130
+ (_this$$$tplStateStore5 = this.$$tplStateStore) === null || _this$$$tplStateStore5 === void 0 ? void 0 : _this$$$tplStateStore5.updateValue(propName, value, "replace");
131
+ },
132
+ enumerable: true
133
+ });
134
+ }
135
+ for (const [from, to] of validProxyProps) {
136
+ Object.defineProperty(TplElement.prototype, from, {
137
+ get() {
138
+ var _to$refProperty;
139
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
140
+ const element = this.$$getElementByRef(to.ref);
141
+ return element[(_to$refProperty = to.refProperty) !== null && _to$refProperty !== void 0 ? _to$refProperty : from];
142
+ },
143
+ set(value) {
144
+ var _this$$$getElementByR;
145
+ // 同上 exposedState.set
146
+ const element = (_this$$$getElementByR = this.$$getElementByRef) === null || _this$$$getElementByR === void 0 ? void 0 : _this$$$getElementByR.call(this, to.ref);
147
+ if (element) {
148
+ var _to$refProperty2;
149
+ element[(_to$refProperty2 = to.refProperty) !== null && _to$refProperty2 !== void 0 ? _to$refProperty2 : from] = value;
150
+ }
151
+ },
152
+ enumerable: true
153
+ });
154
+ }
155
+ for (const [from, to] of proxyMethods) {
156
+ Object.defineProperty(TplElement.prototype, from, {
157
+ value(...args) {
158
+ var _to$refMethod;
159
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
160
+ const element = this.$$getElementByRef(to.ref);
161
+ element[(_to$refMethod = to.refMethod) !== null && _to$refMethod !== void 0 ? _to$refMethod : from](...args);
162
+ },
163
+ enumerable: true
164
+ });
165
+ }
166
+ customElements.define(tagName, TplElement);
167
+ }
168
+ get(tagName) {
169
+ return this.#registry.get(tagName);
170
+ }
171
+ }
172
+ const customTemplates = new CustomTemplateRegistry();
173
+ exports.customTemplates = customTemplates;
174
+ function getExposedStates(state) {
175
+ var _state$filter$map;
176
+ // Allow duplicated state names which maybe mutually exclusive.
177
+ return (0, _lodash.uniq)((_state$filter$map = state === null || state === void 0 ? void 0 : state.filter(item => item.expose).map(item => item.name)) !== null && _state$filter$map !== void 0 ? _state$filter$map : []);
178
+ }
179
+ //# sourceMappingURL=CustomTemplates.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CustomTemplates.js","names":["_lodash","require","allowedNativeProps","Set","CustomTemplateRegistry","registry","Map","define","tagName","constructor","_constructor$proxy$pr","_constructor$proxy","_compatibleConstructo","_compatibleConstructo2","registered","has","console","warn","customElements","get","proxyProperties","proxy","properties","validProxyProps","legacyTplVariables","key","value","Object","entries","asVariable","push","mergeProperty","refTransform","error","ref","compatibleConstructor","fromEntries","state","map","item","expose","concat","tpl","name","set","exposedStates","getExposedStates","proxyMethods","methods","props","entry","nativeProp","find","prop","HTMLElement","prototype","undefined","Error","TplElement","$$typeof","_dev_only_definedProperties","_dev_only_definedMethods","$$getElementByRef","_this$$$tplStateStore","_this$$$tplStateStore2","_this$$$tplStateStore3","_this$$$tplStateStore4","$$tplStateStore","hostBrick","tplHostMetadata","internalBricksByRef","element","connectedCallback","shadowRoot","attachShadow","mode","fragment","document","createDocumentFragment","style","createElement","textContent","slot","appendChild","disconnectedCallback","propName","some","defineProperty","getValue","_this$$$tplStateStore5","updateValue","enumerable","from","to","_to$refProperty","refProperty","_this$$$getElementByR","call","_to$refProperty2","args","_to$refMethod","refMethod","customTemplates","exports","_state$filter$map","uniq","filter"],"sources":["../../src/CustomTemplates.ts"],"sourcesContent":["import type {\n ContextConf,\n CustomTemplate,\n CustomTemplateConstructor,\n CustomTemplateProxyBasicProperty,\n} from \"@next-core/types\";\nimport { uniq } from \"lodash\";\nimport type { RuntimeBrickElement } from \"./internal/interfaces.js\";\n\n// Note: `prefix` is a native prop on Element, but it's only used in XML documents.\nconst allowedNativeProps = new Set([\"prefix\"]);\n\ninterface LegacyTplPropProxy extends CustomTemplateProxyBasicProperty {\n asVariable?: boolean;\n mergeProperty?: unknown;\n refTransform?: unknown;\n}\n\nclass CustomTemplateRegistry {\n readonly #registry = new Map<string, CustomTemplate>();\n\n define(tagName: string, constructor: CustomTemplateConstructor): void {\n let registered = this.#registry.has(tagName);\n if (registered) {\n // When open launchpad, the storyboard will be updated.\n // However, we can't *undefine* a custom element.\n // Just ignore re-registering custom templates.\n // eslint-disable-next-line no-console\n console.warn(`Custom template of \"${tagName}\" already registered.`);\n } else {\n registered = !!customElements.get(tagName);\n if (registered) {\n // eslint-disable-next-line no-console\n console.warn(\n `Custom template of \"${tagName}\" already defined by customElements.`\n );\n }\n }\n\n // Transform legacy `proxy.properties[].asVariable` as states.\n const proxyProperties = (constructor.proxy?.properties ?? {}) as {\n [name: string]: LegacyTplPropProxy;\n };\n const validProxyProps: [string, CustomTemplateProxyBasicProperty][] = [];\n const legacyTplVariables: string[] = [];\n for (const [key, value] of Object.entries(proxyProperties)) {\n if (value.asVariable) {\n // For existed TPL usage, treat it as a STATE.\n legacyTplVariables.push(key);\n // eslint-disable-next-line no-console\n console.warn(\n \"Template `asVariable` with `TPL.*` is deprecated and will be dropped in v3:\",\n tagName,\n key\n );\n } else if (value.mergeProperty || value.refTransform) {\n // eslint-disable-next-line no-console\n console.error(\n \"Template `mergeProperty` and `refTransform` are not supported in v3:\",\n tagName,\n key\n );\n } else if (value.ref) {\n validProxyProps.push([key, value]);\n }\n // Else: documentation only, for exposed states.\n }\n\n const compatibleConstructor = {\n ...constructor,\n proxy: {\n ...constructor.proxy,\n properties: Object.fromEntries(validProxyProps),\n },\n state: (constructor.state\n ? constructor.state.map((item) => ({\n // For existed templates, make `expose` defaults to true.\n expose: true,\n ...item,\n }))\n : []\n ).concat(legacyTplVariables.map((tpl) => ({ name: tpl, expose: true }))),\n };\n\n // Now we allow re-register custom template\n this.#registry.set(tagName, {\n ...compatibleConstructor,\n name: tagName,\n });\n\n const exposedStates = getExposedStates(compatibleConstructor.state);\n const proxyMethods = Object.entries(\n compatibleConstructor.proxy?.methods ?? {}\n );\n\n const props = exposedStates.concat(\n validProxyProps.map((entry) => entry[0])\n );\n const methods = proxyMethods.map((entry) => entry[0]);\n\n const nativeProp = props\n .concat(methods)\n .find(\n (prop) => prop in HTMLElement.prototype && !allowedNativeProps.has(prop)\n );\n if (nativeProp !== undefined) {\n throw new Error(\n `In custom template \"${tagName}\", \"${nativeProp}\" is a native HTMLElement property, and should be avoid to be used as a brick property or method.`\n );\n }\n\n if (registered) {\n return;\n }\n\n class TplElement extends HTMLElement {\n get $$typeof() {\n return \"custom-template\" as const;\n }\n\n static get _dev_only_definedProperties(): string[] {\n return props;\n }\n\n static get _dev_only_definedMethods(): string[] {\n return methods;\n }\n\n $$getElementByRef(this: RuntimeBrickElement, ref: string) {\n return this.$$tplStateStore?.hostBrick?.tplHostMetadata?.internalBricksByRef.get(\n ref\n )?.element;\n }\n\n connectedCallback() {\n let shadowRoot = this.shadowRoot;\n if (!shadowRoot) {\n shadowRoot = this.attachShadow({ mode: \"open\" });\n }\n const fragment = document.createDocumentFragment();\n const style = document.createElement(\"style\");\n style.textContent = \":host{display:block}:host([hidden]){display:none}\";\n const slot = document.createElement(\"slot\");\n fragment.appendChild(style);\n fragment.appendChild(slot);\n shadowRoot.appendChild(fragment);\n }\n\n disconnectedCallback() {\n if (this.shadowRoot) {\n this.shadowRoot.textContent = \"\";\n }\n }\n }\n\n for (const propName of exposedStates) {\n if (validProxyProps.some((entry) => entry[0] === propName)) {\n // eslint-disable-next-line no-console\n console.error(\n `Cannot define an exposed state that is also a proxy property: \"${propName}\" in ${tagName}`\n );\n continue;\n }\n Object.defineProperty(TplElement.prototype, propName, {\n get(this: RuntimeBrickElement) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n return this.$$tplStateStore!.getValue(propName);\n },\n set(this: RuntimeBrickElement, value: unknown) {\n // 在 mount 过程中,先设置属性,再设置 `$$tplStateStore`,这样,当触发属性设置时,\n // 避免初始化的一次 state update 操作及其 onChange 事件。\n this.$$tplStateStore?.updateValue(propName, value, \"replace\");\n },\n enumerable: true,\n });\n }\n\n for (const [from, to] of validProxyProps) {\n Object.defineProperty(TplElement.prototype, from, {\n get(this: TplElement) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const element = this.$$getElementByRef!(to.ref) as unknown as Record<\n string,\n unknown\n >;\n return element[to.refProperty ?? from];\n },\n set(this: TplElement, value: unknown) {\n // 同上 exposedState.set\n const element = this.$$getElementByRef?.(to.ref) as unknown as Record<\n string,\n unknown\n >;\n if (element) {\n element[to.refProperty ?? from] = value;\n }\n },\n enumerable: true,\n });\n }\n\n for (const [from, to] of proxyMethods) {\n Object.defineProperty(TplElement.prototype, from, {\n value(this: TplElement, ...args: unknown[]) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const element = this.$$getElementByRef!(to.ref) as unknown as Record<\n string,\n Function\n >;\n element[to.refMethod ?? from](...args);\n },\n enumerable: true,\n });\n }\n\n customElements.define(tagName, TplElement);\n }\n\n get(tagName: string) {\n return this.#registry.get(tagName);\n }\n}\n\nexport const customTemplates = new CustomTemplateRegistry();\n\nfunction getExposedStates(state: ContextConf[] | undefined): string[] {\n // Allow duplicated state names which maybe mutually exclusive.\n return uniq(\n state?.filter((item) => item.expose).map((item) => item.name) ?? []\n );\n}\n"],"mappings":";;;;;;AAMA,IAAAA,OAAA,GAAAC,OAAA;AAGA;AACA,MAAMC,kBAAkB,GAAG,IAAIC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;AAQ9C,MAAMC,sBAAsB,CAAC;EAClB,CAACC,QAAQ,GAAG,IAAIC,GAAG,EAA0B;EAEtDC,MAAMA,CAACC,OAAe,EAAEC,WAAsC,EAAQ;IAAA,IAAAC,qBAAA,EAAAC,kBAAA,EAAAC,qBAAA,EAAAC,sBAAA;IACpE,IAAIC,UAAU,GAAG,IAAI,CAAC,CAACT,QAAQ,CAACU,GAAG,CAACP,OAAO,CAAC;IAC5C,IAAIM,UAAU,EAAE;MACd;MACA;MACA;MACA;MACAE,OAAO,CAACC,IAAI,CAAE,uBAAsBT,OAAQ,uBAAsB,CAAC;IACrE,CAAC,MAAM;MACLM,UAAU,GAAG,CAAC,CAACI,cAAc,CAACC,GAAG,CAACX,OAAO,CAAC;MAC1C,IAAIM,UAAU,EAAE;QACd;QACAE,OAAO,CAACC,IAAI,CACT,uBAAsBT,OAAQ,sCAAqC,CACrE;MACH;IACF;;IAEA;IACA,MAAMY,eAAe,IAAAV,qBAAA,IAAAC,kBAAA,GAAIF,WAAW,CAACY,KAAK,cAAAV,kBAAA,uBAAjBA,kBAAA,CAAmBW,UAAU,cAAAZ,qBAAA,cAAAA,qBAAA,GAAI,CAAC,CAE1D;IACD,MAAMa,eAA6D,GAAG,EAAE;IACxE,MAAMC,kBAA4B,GAAG,EAAE;IACvC,KAAK,MAAM,CAACC,GAAG,EAAEC,KAAK,CAAC,IAAIC,MAAM,CAACC,OAAO,CAACR,eAAe,CAAC,EAAE;MAC1D,IAAIM,KAAK,CAACG,UAAU,EAAE;QACpB;QACAL,kBAAkB,CAACM,IAAI,CAACL,GAAG,CAAC;QAC5B;QACAT,OAAO,CAACC,IAAI,CACV,6EAA6E,EAC7ET,OAAO,EACPiB,GAAG,CACJ;MACH,CAAC,MAAM,IAAIC,KAAK,CAACK,aAAa,IAAIL,KAAK,CAACM,YAAY,EAAE;QACpD;QACAhB,OAAO,CAACiB,KAAK,CACX,sEAAsE,EACtEzB,OAAO,EACPiB,GAAG,CACJ;MACH,CAAC,MAAM,IAAIC,KAAK,CAACQ,GAAG,EAAE;QACpBX,eAAe,CAACO,IAAI,CAAC,CAACL,GAAG,EAAEC,KAAK,CAAC,CAAC;MACpC;MACA;IACF;;IAEA,MAAMS,qBAAqB,GAAG;MAC5B,GAAG1B,WAAW;MACdY,KAAK,EAAE;QACL,GAAGZ,WAAW,CAACY,KAAK;QACpBC,UAAU,EAAEK,MAAM,CAACS,WAAW,CAACb,eAAe;MAChD,CAAC;MACDc,KAAK,EAAE,CAAC5B,WAAW,CAAC4B,KAAK,GACrB5B,WAAW,CAAC4B,KAAK,CAACC,GAAG,CAAEC,IAAI,KAAM;QAC/B;QACAC,MAAM,EAAE,IAAI;QACZ,GAAGD;MACL,CAAC,CAAC,CAAC,GACH,EAAE,EACJE,MAAM,CAACjB,kBAAkB,CAACc,GAAG,CAAEI,GAAG,KAAM;QAAEC,IAAI,EAAED,GAAG;QAAEF,MAAM,EAAE;MAAK,CAAC,CAAC,CAAC;IACzE,CAAC;;IAED;IACA,IAAI,CAAC,CAACnC,QAAQ,CAACuC,GAAG,CAACpC,OAAO,EAAE;MAC1B,GAAG2B,qBAAqB;MACxBQ,IAAI,EAAEnC;IACR,CAAC,CAAC;IAEF,MAAMqC,aAAa,GAAGC,gBAAgB,CAACX,qBAAqB,CAACE,KAAK,CAAC;IACnE,MAAMU,YAAY,GAAGpB,MAAM,CAACC,OAAO,EAAAhB,qBAAA,IAAAC,sBAAA,GACjCsB,qBAAqB,CAACd,KAAK,cAAAR,sBAAA,uBAA3BA,sBAAA,CAA6BmC,OAAO,cAAApC,qBAAA,cAAAA,qBAAA,GAAI,CAAC,CAAC,CAC3C;IAED,MAAMqC,KAAK,GAAGJ,aAAa,CAACJ,MAAM,CAChClB,eAAe,CAACe,GAAG,CAAEY,KAAK,IAAKA,KAAK,CAAC,CAAC,CAAC,CAAC,CACzC;IACD,MAAMF,OAAO,GAAGD,YAAY,CAACT,GAAG,CAAEY,KAAK,IAAKA,KAAK,CAAC,CAAC,CAAC,CAAC;IAErD,MAAMC,UAAU,GAAGF,KAAK,CACrBR,MAAM,CAACO,OAAO,CAAC,CACfI,IAAI,CACFC,IAAI,IAAKA,IAAI,IAAIC,WAAW,CAACC,SAAS,IAAI,CAACrD,kBAAkB,CAACa,GAAG,CAACsC,IAAI,CAAC,CACzE;IACH,IAAIF,UAAU,KAAKK,SAAS,EAAE;MAC5B,MAAM,IAAIC,KAAK,CACZ,uBAAsBjD,OAAQ,OAAM2C,UAAW,mGAAkG,CACnJ;IACH;IAEA,IAAIrC,UAAU,EAAE;MACd;IACF;IAEA,MAAM4C,UAAU,SAASJ,WAAW,CAAC;MACnC,IAAIK,QAAQA,CAAA,EAAG;QACb,OAAO,iBAAiB;MAC1B;MAEA,WAAWC,2BAA2BA,CAAA,EAAa;QACjD,OAAOX,KAAK;MACd;MAEA,WAAWY,wBAAwBA,CAAA,EAAa;QAC9C,OAAOb,OAAO;MAChB;MAEAc,iBAAiBA,CAA4B5B,GAAW,EAAE;QAAA,IAAA6B,qBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA;QACxD,QAAAH,qBAAA,GAAO,IAAI,CAACI,eAAe,cAAAJ,qBAAA,wBAAAC,sBAAA,GAApBD,qBAAA,CAAsBK,SAAS,cAAAJ,sBAAA,wBAAAC,sBAAA,GAA/BD,sBAAA,CAAiCK,eAAe,cAAAJ,sBAAA,wBAAAC,sBAAA,GAAhDD,sBAAA,CAAkDK,mBAAmB,CAACnD,GAAG,CAC9Ee,GAAG,CACJ,cAAAgC,sBAAA,uBAFMA,sBAAA,CAEJK,OAAO;MACZ;MAEAC,iBAAiBA,CAAA,EAAG;QAClB,IAAIC,UAAU,GAAG,IAAI,CAACA,UAAU;QAChC,IAAI,CAACA,UAAU,EAAE;UACfA,UAAU,GAAG,IAAI,CAACC,YAAY,CAAC;YAAEC,IAAI,EAAE;UAAO,CAAC,CAAC;QAClD;QACA,MAAMC,QAAQ,GAAGC,QAAQ,CAACC,sBAAsB,EAAE;QAClD,MAAMC,KAAK,GAAGF,QAAQ,CAACG,aAAa,CAAC,OAAO,CAAC;QAC7CD,KAAK,CAACE,WAAW,GAAG,mDAAmD;QACvE,MAAMC,IAAI,GAAGL,QAAQ,CAACG,aAAa,CAAC,MAAM,CAAC;QAC3CJ,QAAQ,CAACO,WAAW,CAACJ,KAAK,CAAC;QAC3BH,QAAQ,CAACO,WAAW,CAACD,IAAI,CAAC;QAC1BT,UAAU,CAACU,WAAW,CAACP,QAAQ,CAAC;MAClC;MAEAQ,oBAAoBA,CAAA,EAAG;QACrB,IAAI,IAAI,CAACX,UAAU,EAAE;UACnB,IAAI,CAACA,UAAU,CAACQ,WAAW,GAAG,EAAE;QAClC;MACF;IACF;IAEA,KAAK,MAAMI,QAAQ,IAAIxC,aAAa,EAAE;MACpC,IAAItB,eAAe,CAAC+D,IAAI,CAAEpC,KAAK,IAAKA,KAAK,CAAC,CAAC,CAAC,KAAKmC,QAAQ,CAAC,EAAE;QAC1D;QACArE,OAAO,CAACiB,KAAK,CACV,kEAAiEoD,QAAS,QAAO7E,OAAQ,EAAC,CAC5F;QACD;MACF;MACAmB,MAAM,CAAC4D,cAAc,CAAC7B,UAAU,CAACH,SAAS,EAAE8B,QAAQ,EAAE;QACpDlE,GAAGA,CAAA,EAA4B;UAC7B;UACA,OAAO,IAAI,CAACgD,eAAe,CAAEqB,QAAQ,CAACH,QAAQ,CAAC;QACjD,CAAC;QACDzC,GAAGA,CAA4BlB,KAAc,EAAE;UAAA,IAAA+D,sBAAA;UAC7C;UACA;UACA,CAAAA,sBAAA,OAAI,CAACtB,eAAe,cAAAsB,sBAAA,uBAApBA,sBAAA,CAAsBC,WAAW,CAACL,QAAQ,EAAE3D,KAAK,EAAE,SAAS,CAAC;QAC/D,CAAC;QACDiE,UAAU,EAAE;MACd,CAAC,CAAC;IACJ;IAEA,KAAK,MAAM,CAACC,IAAI,EAAEC,EAAE,CAAC,IAAItE,eAAe,EAAE;MACxCI,MAAM,CAAC4D,cAAc,CAAC7B,UAAU,CAACH,SAAS,EAAEqC,IAAI,EAAE;QAChDzE,GAAGA,CAAA,EAAmB;UAAA,IAAA2E,eAAA;UACpB;UACA,MAAMvB,OAAO,GAAG,IAAI,CAACT,iBAAiB,CAAE+B,EAAE,CAAC3D,GAAG,CAG7C;UACD,OAAOqC,OAAO,EAAAuB,eAAA,GAACD,EAAE,CAACE,WAAW,cAAAD,eAAA,cAAAA,eAAA,GAAIF,IAAI,CAAC;QACxC,CAAC;QACDhD,GAAGA,CAAmBlB,KAAc,EAAE;UAAA,IAAAsE,qBAAA;UACpC;UACA,MAAMzB,OAAO,IAAAyB,qBAAA,GAAG,IAAI,CAAClC,iBAAiB,cAAAkC,qBAAA,uBAAtBA,qBAAA,CAAAC,IAAA,KAAI,EAAqBJ,EAAE,CAAC3D,GAAG,CAG9C;UACD,IAAIqC,OAAO,EAAE;YAAA,IAAA2B,gBAAA;YACX3B,OAAO,EAAA2B,gBAAA,GAACL,EAAE,CAACE,WAAW,cAAAG,gBAAA,cAAAA,gBAAA,GAAIN,IAAI,CAAC,GAAGlE,KAAK;UACzC;QACF,CAAC;QACDiE,UAAU,EAAE;MACd,CAAC,CAAC;IACJ;IAEA,KAAK,MAAM,CAACC,IAAI,EAAEC,EAAE,CAAC,IAAI9C,YAAY,EAAE;MACrCpB,MAAM,CAAC4D,cAAc,CAAC7B,UAAU,CAACH,SAAS,EAAEqC,IAAI,EAAE;QAChDlE,KAAKA,CAAmB,GAAGyE,IAAe,EAAE;UAAA,IAAAC,aAAA;UAC1C;UACA,MAAM7B,OAAO,GAAG,IAAI,CAACT,iBAAiB,CAAE+B,EAAE,CAAC3D,GAAG,CAG7C;UACDqC,OAAO,EAAA6B,aAAA,GAACP,EAAE,CAACQ,SAAS,cAAAD,aAAA,cAAAA,aAAA,GAAIR,IAAI,CAAC,CAAC,GAAGO,IAAI,CAAC;QACxC,CAAC;QACDR,UAAU,EAAE;MACd,CAAC,CAAC;IACJ;IAEAzE,cAAc,CAACX,MAAM,CAACC,OAAO,EAAEkD,UAAU,CAAC;EAC5C;EAEAvC,GAAGA,CAACX,OAAe,EAAE;IACnB,OAAO,IAAI,CAAC,CAACH,QAAQ,CAACc,GAAG,CAACX,OAAO,CAAC;EACpC;AACF;AAEO,MAAM8F,eAAe,GAAG,IAAIlG,sBAAsB,EAAE;AAACmG,OAAA,CAAAD,eAAA,GAAAA,eAAA;AAE5D,SAASxD,gBAAgBA,CAACT,KAAgC,EAAY;EAAA,IAAAmE,iBAAA;EACpE;EACA,OAAO,IAAAC,YAAI,GAAAD,iBAAA,GACTnE,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEqE,MAAM,CAAEnE,IAAI,IAAKA,IAAI,CAACC,MAAM,CAAC,CAACF,GAAG,CAAEC,IAAI,IAAKA,IAAI,CAACI,IAAI,CAAC,cAAA6D,iBAAA,cAAAA,iBAAA,GAAI,EAAE,CACpE;AACH"}
@@ -0,0 +1,118 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.StoryboardFunctionRegistryFactory = StoryboardFunctionRegistryFactory;
7
+ var _cook = require("@next-core/cook");
8
+ var _supply = require("@next-core/supply");
9
+ var _storyboard = require("@next-core/utils/storyboard");
10
+ var _getGeneralGlobals = require("./internal/compute/getGeneralGlobals.js");
11
+ /** @internal */
12
+ function StoryboardFunctionRegistryFactory({
13
+ widgetId,
14
+ widgetVersion,
15
+ collectCoverage
16
+ } = {}) {
17
+ const registeredFunctions = new Map();
18
+
19
+ // Use `Proxy` with a frozen target, to make a readonly function registry.
20
+ const storyboardFunctions = new Proxy(Object.freeze({}), {
21
+ get(target, key) {
22
+ return getStoryboardFunction(key);
23
+ }
24
+ });
25
+ let currentApp;
26
+ function registerStoryboardFunctions(functions, app) {
27
+ if (app) {
28
+ currentApp = app;
29
+ }
30
+ registeredFunctions.clear();
31
+ if (Array.isArray(functions)) {
32
+ for (const fn of functions) {
33
+ const deps = (0, _storyboard.strictCollectMemberUsageInFunction)(fn, "FN");
34
+ const hasPermissionsCheck = (0, _storyboard.strictCollectMemberUsageInFunction)(fn, "PERMISSIONS").has("check");
35
+ registeredFunctions.set(fn.name, {
36
+ source: fn.source,
37
+ typescript: fn.typescript,
38
+ deps,
39
+ hasPermissionsCheck
40
+ });
41
+ }
42
+ }
43
+ }
44
+ function getStoryboardFunction(name) {
45
+ const fn = registeredFunctions.get(name);
46
+ if (!fn) {
47
+ return undefined;
48
+ }
49
+ if (fn.processed) {
50
+ return fn.cooked;
51
+ }
52
+ let collector;
53
+ if (collectCoverage) {
54
+ collector = collectCoverage.createCollector(name);
55
+ }
56
+ const precooked = (0, _cook.precookFunction)(fn.source, {
57
+ typescript: fn.typescript,
58
+ hooks: collector && {
59
+ beforeVisit: collector.beforeVisit
60
+ }
61
+ });
62
+ fn.cooked = (0, _cook.cook)(precooked.function, fn.source, {
63
+ rules: {
64
+ noVar: true
65
+ },
66
+ globalVariables: (0, _supply.supply)(precooked.attemptToVisitGlobals, (0, _getGeneralGlobals.getGeneralGlobals)(precooked.attemptToVisitGlobals, {
67
+ collectCoverage,
68
+ widgetId,
69
+ widgetVersion,
70
+ app: currentApp,
71
+ storyboardFunctions,
72
+ isStoryboardFunction: true
73
+ }), !!collectCoverage),
74
+ hooks: collector && {
75
+ beforeEvaluate: collector.beforeEvaluate,
76
+ beforeCall: collector.beforeCall,
77
+ beforeBranch: collector.beforeBranch
78
+ }
79
+ });
80
+ fn.processed = true;
81
+ return fn.cooked;
82
+ }
83
+ return {
84
+ storyboardFunctions,
85
+ registerStoryboardFunctions,
86
+ updateStoryboardFunction(name, data) {
87
+ const newFn = {
88
+ ...data,
89
+ name
90
+ };
91
+ const deps = (0, _storyboard.strictCollectMemberUsageInFunction)(newFn, "FN");
92
+ const hasPermissionsCheck = (0, _storyboard.strictCollectMemberUsageInFunction)(newFn, "PERMISSIONS").has("check");
93
+ registeredFunctions.set(name, {
94
+ source: data.source,
95
+ typescript: data.typescript,
96
+ deps,
97
+ hasPermissionsCheck
98
+ });
99
+ },
100
+ /**
101
+ * Check whether listed functions attempt to call `PERMISSIONS.check()`,
102
+ * includes in nested `FN.*()` calls.
103
+ */
104
+ checkPermissionsUsage(functionNames) {
105
+ const checkedFunctions = new Set();
106
+ const hasPermissionsCheck = name => {
107
+ if (!checkedFunctions.has(name)) {
108
+ checkedFunctions.add(name);
109
+ const fn = registeredFunctions.get(name);
110
+ return !!fn && (fn.hasPermissionsCheck || [...fn.deps].some(hasPermissionsCheck));
111
+ }
112
+ return false;
113
+ };
114
+ return functionNames.some(hasPermissionsCheck);
115
+ }
116
+ };
117
+ }
118
+ //# sourceMappingURL=StoryboardFunctionRegistry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StoryboardFunctionRegistry.js","names":["_cook","require","_supply","_storyboard","_getGeneralGlobals","StoryboardFunctionRegistryFactory","widgetId","widgetVersion","collectCoverage","registeredFunctions","Map","storyboardFunctions","Proxy","Object","freeze","get","target","key","getStoryboardFunction","currentApp","registerStoryboardFunctions","functions","app","clear","Array","isArray","fn","deps","strictCollectMemberUsageInFunction","hasPermissionsCheck","has","set","name","source","typescript","undefined","processed","cooked","collector","createCollector","precooked","precookFunction","hooks","beforeVisit","cook","function","rules","noVar","globalVariables","supply","attemptToVisitGlobals","getGeneralGlobals","isStoryboardFunction","beforeEvaluate","beforeCall","beforeBranch","updateStoryboardFunction","data","newFn","checkPermissionsUsage","functionNames","checkedFunctions","Set","add","some"],"sources":["../../src/StoryboardFunctionRegistry.ts"],"sourcesContent":["import type { MicroApp, StoryboardFunction } from \"@next-core/types\";\nimport { cook, precookFunction, EstreeNode } from \"@next-core/cook\";\nimport { supply } from \"@next-core/supply\";\nimport { strictCollectMemberUsageInFunction } from \"@next-core/utils/storyboard\";\nimport { getGeneralGlobals } from \"./internal/compute/getGeneralGlobals.js\";\n\n/** @internal */\nexport type ReadonlyStoryboardFunctions = Readonly<Record<string, Function>>;\n\n/** @internal */\nexport type StoryboardFunctionPatch = Pick<\n StoryboardFunction,\n \"source\" | \"typescript\"\n>;\n\n/** @internal */\nexport interface StoryboardFunctionRegistry {\n /** A readonly proxy for accessing cooked storyboard functions. */\n storyboardFunctions: ReadonlyStoryboardFunctions;\n\n /** Register storyboard functions. */\n registerStoryboardFunctions(\n functions: StoryboardFunction[] | undefined,\n app?: PartialMicroApp\n ): void;\n\n /** Update a storyboard function during debugging. */\n updateStoryboardFunction(name: string, data: StoryboardFunctionPatch): void;\n\n checkPermissionsUsage(functionNames: string[]): boolean;\n}\n\n/** @internal */\nexport interface RuntimeStoryboardFunction {\n source: string;\n typescript?: boolean;\n processed?: boolean;\n cooked?: Function;\n deps: Set<string>;\n hasPermissionsCheck: boolean;\n}\n\n/** @internal */\nexport interface FunctionCoverageCollector {\n beforeVisit(node: EstreeNode): void;\n beforeEvaluate(node: EstreeNode): void;\n beforeCall(node: EstreeNode): void;\n beforeBranch(node: EstreeNode, branch: string): void;\n}\n\n/** @internal */\nexport interface FunctionCoverageSettings {\n createCollector(name: string): FunctionCoverageCollector;\n}\n\n/** @internal */\nexport type PartialMicroApp = Pick<MicroApp, \"id\" | \"isBuildPush\">;\n\n/** @internal */\nexport function StoryboardFunctionRegistryFactory({\n widgetId,\n widgetVersion,\n collectCoverage,\n}: {\n widgetId?: string;\n widgetVersion?: string;\n collectCoverage?: FunctionCoverageSettings;\n} = {}): StoryboardFunctionRegistry {\n const registeredFunctions = new Map<string, RuntimeStoryboardFunction>();\n\n // Use `Proxy` with a frozen target, to make a readonly function registry.\n const storyboardFunctions = new Proxy(Object.freeze({}), {\n get(target, key) {\n return getStoryboardFunction(key as string);\n },\n }) as ReadonlyStoryboardFunctions;\n\n let currentApp: PartialMicroApp | undefined;\n\n function registerStoryboardFunctions(\n functions: StoryboardFunction[],\n app?: PartialMicroApp\n ): void {\n if (app) {\n currentApp = app;\n }\n registeredFunctions.clear();\n if (Array.isArray(functions)) {\n for (const fn of functions) {\n const deps = strictCollectMemberUsageInFunction(fn, \"FN\");\n const hasPermissionsCheck = strictCollectMemberUsageInFunction(\n fn,\n \"PERMISSIONS\"\n ).has(\"check\");\n registeredFunctions.set(fn.name, {\n source: fn.source,\n typescript: fn.typescript,\n deps,\n hasPermissionsCheck,\n });\n }\n }\n }\n\n function getStoryboardFunction(name: string): Function | undefined {\n const fn = registeredFunctions.get(name);\n if (!fn) {\n return undefined;\n }\n if (fn.processed) {\n return fn.cooked;\n }\n let collector: FunctionCoverageCollector | undefined;\n if (collectCoverage) {\n collector = collectCoverage.createCollector(name);\n }\n const precooked = precookFunction(fn.source, {\n typescript: fn.typescript,\n hooks: collector && {\n beforeVisit: collector.beforeVisit,\n },\n });\n fn.cooked = cook(precooked.function, fn.source, {\n rules: {\n noVar: true,\n },\n globalVariables: supply(\n precooked.attemptToVisitGlobals,\n getGeneralGlobals(precooked.attemptToVisitGlobals, {\n collectCoverage,\n widgetId,\n widgetVersion,\n app: currentApp,\n storyboardFunctions,\n isStoryboardFunction: true,\n }),\n !!collectCoverage\n ),\n hooks: collector && {\n beforeEvaluate: collector.beforeEvaluate,\n beforeCall: collector.beforeCall,\n beforeBranch: collector.beforeBranch,\n },\n }) as Function;\n fn.processed = true;\n return fn.cooked;\n }\n\n return {\n storyboardFunctions,\n registerStoryboardFunctions,\n updateStoryboardFunction(\n name: string,\n data: StoryboardFunctionPatch\n ): void {\n const newFn = {\n ...data,\n name,\n };\n const deps = strictCollectMemberUsageInFunction(newFn, \"FN\");\n const hasPermissionsCheck = strictCollectMemberUsageInFunction(\n newFn,\n \"PERMISSIONS\"\n ).has(\"check\");\n registeredFunctions.set(name, {\n source: data.source,\n typescript: data.typescript,\n deps,\n hasPermissionsCheck,\n });\n },\n /**\n * Check whether listed functions attempt to call `PERMISSIONS.check()`,\n * includes in nested `FN.*()` calls.\n */\n checkPermissionsUsage(functionNames) {\n const checkedFunctions = new Set<string>();\n const hasPermissionsCheck = (name: string): boolean => {\n if (!checkedFunctions.has(name)) {\n checkedFunctions.add(name);\n const fn = registeredFunctions.get(name);\n return (\n !!fn &&\n (fn.hasPermissionsCheck || [...fn.deps].some(hasPermissionsCheck))\n );\n }\n return false;\n };\n return functionNames.some(hasPermissionsCheck);\n },\n };\n}\n"],"mappings":"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"}
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.authenticate = authenticate;
7
+ exports.getAuth = getAuth;
8
+ exports.isLoggedIn = isLoggedIn;
9
+ exports.logout = logout;
10
+ var _checkPermissions = require("./internal/checkPermissions.js");
11
+ // import { userAnalytics } from "@next-core/easyops-analytics";
12
+
13
+ const auth = {};
14
+
15
+ /** @internal */
16
+
17
+ /** @internal */
18
+ function authenticate(newAuth) {
19
+ Object.assign(auth, {
20
+ org: newAuth.org,
21
+ username: newAuth.username,
22
+ userInstanceId: newAuth.userInstanceId,
23
+ loginFrom: newAuth.loginFrom,
24
+ accessRule: newAuth.accessRule,
25
+ isAdmin: newAuth.isAdmin,
26
+ csrfToken: newAuth.csrfToken,
27
+ license: newAuth.license,
28
+ userShowValue: newAuth.userShowValue
29
+ });
30
+
31
+ // re-init analytics to set user_id
32
+ // if (userAnalytics.initialized) {
33
+ // userAnalytics.setUserId(newAuth.userInstanceId);
34
+ // }
35
+ }
36
+
37
+ /**
38
+ * 获取当前登录认证信息。
39
+ *
40
+ * @returns 当前登录认证信息。
41
+ */
42
+ function getAuth() {
43
+ return {
44
+ ...auth
45
+ };
46
+ }
47
+
48
+ /** @internal */
49
+ function logout() {
50
+ for (const key of Object.keys(auth)) {
51
+ auth[key] = undefined;
52
+ }
53
+ (0, _checkPermissions.resetPermissionPreChecks)();
54
+
55
+ // re-init analytics to clear user_id
56
+ // userAnalytics.setUserId();
57
+ }
58
+
59
+ /**
60
+ * 查看当前是否已登录。
61
+ *
62
+ * @returns 当前是否已登录。
63
+ */
64
+ function isLoggedIn() {
65
+ return auth.username !== undefined;
66
+ }
67
+ //# sourceMappingURL=auth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.js","names":["_checkPermissions","require","auth","authenticate","newAuth","Object","assign","org","username","userInstanceId","loginFrom","accessRule","isAdmin","csrfToken","license","userShowValue","getAuth","logout","key","keys","undefined","resetPermissionPreChecks","isLoggedIn"],"sources":["../../src/auth.ts"],"sourcesContent":["// import { userAnalytics } from \"@next-core/easyops-analytics\";\nimport type { AuthApi_CheckLoginResponseBody } from \"@next-api-sdk/api-gateway-sdk\";\nimport { resetPermissionPreChecks } from \"./internal/checkPermissions.js\";\n\nconst auth: AuthInfo = {};\n\n/** @internal */\nexport type AuthInfo = Omit<AuthApi_CheckLoginResponseBody, \"loggedIn\">;\n\n/** @internal */\nexport function authenticate(newAuth: AuthInfo): void {\n Object.assign(auth, {\n org: newAuth.org,\n username: newAuth.username,\n userInstanceId: newAuth.userInstanceId,\n loginFrom: newAuth.loginFrom,\n accessRule: newAuth.accessRule,\n isAdmin: newAuth.isAdmin,\n csrfToken: newAuth.csrfToken,\n license: newAuth.license,\n userShowValue: newAuth.userShowValue,\n });\n\n // re-init analytics to set user_id\n // if (userAnalytics.initialized) {\n // userAnalytics.setUserId(newAuth.userInstanceId);\n // }\n}\n\n/**\n * 获取当前登录认证信息。\n *\n * @returns 当前登录认证信息。\n */\nexport function getAuth(): AuthInfo {\n return {\n ...auth,\n };\n}\n\n/** @internal */\nexport function logout(): void {\n for (const key of Object.keys(auth) as (keyof AuthInfo)[]) {\n auth[key] = undefined;\n }\n resetPermissionPreChecks();\n\n // re-init analytics to clear user_id\n // userAnalytics.setUserId();\n}\n\n/**\n * 查看当前是否已登录。\n *\n * @returns 当前是否已登录。\n */\nexport function isLoggedIn(): boolean {\n return auth.username !== undefined;\n}\n"],"mappings":";;;;;;;;;AAEA,IAAAA,iBAAA,GAAAC,OAAA;AAFA;;AAIA,MAAMC,IAAc,GAAG,CAAC,CAAC;;AAEzB;;AAGA;AACO,SAASC,YAAYA,CAACC,OAAiB,EAAQ;EACpDC,MAAM,CAACC,MAAM,CAACJ,IAAI,EAAE;IAClBK,GAAG,EAAEH,OAAO,CAACG,GAAG;IAChBC,QAAQ,EAAEJ,OAAO,CAACI,QAAQ;IAC1BC,cAAc,EAAEL,OAAO,CAACK,cAAc;IACtCC,SAAS,EAAEN,OAAO,CAACM,SAAS;IAC5BC,UAAU,EAAEP,OAAO,CAACO,UAAU;IAC9BC,OAAO,EAAER,OAAO,CAACQ,OAAO;IACxBC,SAAS,EAAET,OAAO,CAACS,SAAS;IAC5BC,OAAO,EAAEV,OAAO,CAACU,OAAO;IACxBC,aAAa,EAAEX,OAAO,CAACW;EACzB,CAAC,CAAC;;EAEF;EACA;EACA;EACA;AACF;;AAEA;AACA;AACA;AACA;AACA;AACO,SAASC,OAAOA,CAAA,EAAa;EAClC,OAAO;IACL,GAAGd;EACL,CAAC;AACH;;AAEA;AACO,SAASe,MAAMA,CAAA,EAAS;EAC7B,KAAK,MAAMC,GAAG,IAAIb,MAAM,CAACc,IAAI,CAACjB,IAAI,CAAC,EAAwB;IACzDA,IAAI,CAACgB,GAAG,CAAC,GAAGE,SAAS;EACvB;EACA,IAAAC,0CAAwB,GAAE;;EAE1B;EACA;AACF;;AAEA;AACA;AACA;AACA;AACA;AACO,SAASC,UAAUA,CAAA,EAAY;EACpC,OAAOpB,IAAI,CAACM,QAAQ,KAAKY,SAAS;AACpC"}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.fetchByProvider = fetchByProvider;
7
+ var _getProviderBrick = require("./internal/data/getProviderBrick.js");
8
+ var _resolveData = require("./internal/data/resolveData.js");
9
+ async function fetchByProvider(provider, args, options) {
10
+ const providerBrick = await (0, _getProviderBrick.getProviderBrick)(provider);
11
+ return (0, _resolveData.resolveByProvider)(providerBrick, provider, "resolve", args, options);
12
+ }
13
+ //# sourceMappingURL=fetchByProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetchByProvider.js","names":["_getProviderBrick","require","_resolveData","fetchByProvider","provider","args","options","providerBrick","getProviderBrick","resolveByProvider"],"sources":["../../src/fetchByProvider.ts"],"sourcesContent":["import { getProviderBrick } from \"./internal/data/getProviderBrick.js\";\nimport {\n ResolveOptions,\n resolveByProvider,\n} from \"./internal/data/resolveData.js\";\n\nexport async function fetchByProvider(\n provider: string,\n args: unknown[],\n options?: ResolveOptions\n) {\n const providerBrick = (await getProviderBrick(provider)) as unknown as Record<\n string,\n Function\n >;\n return resolveByProvider(providerBrick, provider, \"resolve\", args, options);\n}\n"],"mappings":";;;;;;AAAA,IAAAA,iBAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAKO,eAAeE,eAAeA,CACnCC,QAAgB,EAChBC,IAAe,EACfC,OAAwB,EACxB;EACA,MAAMC,aAAa,GAAI,MAAM,IAAAC,kCAAgB,EAACJ,QAAQ,CAGrD;EACD,OAAO,IAAAK,8BAAiB,EAACF,aAAa,EAAEH,QAAQ,EAAE,SAAS,EAAEC,IAAI,EAAEC,OAAO,CAAC;AAC7E"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getBasePath = getBasePath;
7
+ /**
8
+ * Get site's base path, generally will be `/next/` or `/`.
9
+ */
10
+ function getBasePath() {
11
+ const base = document.querySelector("base");
12
+ const basePath = base ? base.getAttribute("href") : "/";
13
+ return basePath;
14
+ }
15
+ //# sourceMappingURL=getBasePath.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getBasePath.js","names":["getBasePath","base","document","querySelector","basePath","getAttribute"],"sources":["../../src/getBasePath.ts"],"sourcesContent":["/**\n * Get site's base path, generally will be `/next/` or `/`.\n */\nexport function getBasePath(): string {\n const base = document.querySelector(\"base\");\n const basePath = base ? (base.getAttribute(\"href\") as string) : \"/\";\n return basePath;\n}\n"],"mappings":";;;;;;AAAA;AACA;AACA;AACO,SAASA,WAAWA,CAAA,EAAW;EACpC,MAAMC,IAAI,GAAGC,QAAQ,CAACC,aAAa,CAAC,MAAM,CAAC;EAC3C,MAAMC,QAAQ,GAAGH,IAAI,GAAIA,IAAI,CAACI,YAAY,CAAC,MAAM,CAAC,GAAc,GAAG;EACnE,OAAOD,QAAQ;AACjB"}
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getPageInfo = getPageInfo;
7
+ var _getBasePath = require("./getBasePath.js");
8
+ let misc;
9
+
10
+ /** 运行时页面信息。*/
11
+
12
+ function getPageInfo() {
13
+ if (!misc) {
14
+ misc = {
15
+ isInIframe: false,
16
+ isInIframeOfSameSite: false,
17
+ isInIframeOfNext: false,
18
+ isInIframeOfVisualBuilder: false,
19
+ isInIframeOfLegacyConsole: false
20
+ };
21
+ if (window !== window.parent) {
22
+ misc.isInIframe = true;
23
+ try {
24
+ // Handle:
25
+ // - Previewing in visual builder by iframe.
26
+ // - Nesting next in next.
27
+ // - Nesting console in next.
28
+ if (window.origin === window.parent.origin) {
29
+ misc.isInIframeOfSameSite = true;
30
+ const selfIsNext = (0, _getBasePath.getBasePath)() === "/next/";
31
+ const parentPathname = window.parent.location.pathname;
32
+ const parentIsNext = parentPathname.startsWith("/next/");
33
+ misc.isInIframeOfNext = (Number(selfIsNext) ^ Number(parentIsNext)) === 0;
34
+ misc.isInIframeOfVisualBuilder = parentPathname.startsWith(`${parentIsNext ? "/next" : ""}/visual-builder/`);
35
+ misc.isInIframeOfLegacyConsole = selfIsNext && !parentIsNext;
36
+ }
37
+ } catch (e) {
38
+ // do nothing
39
+ }
40
+ }
41
+ Object.freeze(misc);
42
+ }
43
+ return misc;
44
+ }
45
+ //# sourceMappingURL=getPageInfo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getPageInfo.js","names":["_getBasePath","require","misc","getPageInfo","isInIframe","isInIframeOfSameSite","isInIframeOfNext","isInIframeOfVisualBuilder","isInIframeOfLegacyConsole","window","parent","origin","selfIsNext","getBasePath","parentPathname","location","pathname","parentIsNext","startsWith","Number","e","Object","freeze"],"sources":["../../src/getPageInfo.ts"],"sourcesContent":["import { getBasePath } from \"./getBasePath.js\";\n\nlet misc: PageInfo;\n\n/** 运行时页面信息。*/\nexport interface PageInfo {\n /** 当前是否处于 iframe 模式。 */\n isInIframe: boolean;\n\n /** 当前是否处于同域的 iframe 模式。 */\n isInIframeOfSameSite: boolean;\n\n /** 当前是否处于新框架下的 iframe 模式。 */\n isInIframeOfNext: boolean;\n\n /** 当前是否处于 Visual Builder 预览的 iframe 模式。 */\n isInIframeOfVisualBuilder: boolean;\n\n /** 当前是否处于老 console 下的 iframe 模式。 */\n isInIframeOfLegacyConsole: boolean;\n}\n\nexport function getPageInfo(): PageInfo {\n if (!misc) {\n misc = {\n isInIframe: false,\n isInIframeOfSameSite: false,\n isInIframeOfNext: false,\n isInIframeOfVisualBuilder: false,\n isInIframeOfLegacyConsole: false,\n };\n\n if (window !== window.parent) {\n misc.isInIframe = true;\n try {\n // Handle:\n // - Previewing in visual builder by iframe.\n // - Nesting next in next.\n // - Nesting console in next.\n if (window.origin === window.parent.origin) {\n misc.isInIframeOfSameSite = true;\n const selfIsNext = getBasePath() === \"/next/\";\n const parentPathname = window.parent.location.pathname;\n const parentIsNext = parentPathname.startsWith(\"/next/\");\n misc.isInIframeOfNext =\n (Number(selfIsNext) ^ Number(parentIsNext)) === 0;\n misc.isInIframeOfVisualBuilder = parentPathname.startsWith(\n `${parentIsNext ? \"/next\" : \"\"}/visual-builder/`\n );\n misc.isInIframeOfLegacyConsole = selfIsNext && !parentIsNext;\n }\n } catch (e) {\n // do nothing\n }\n }\n\n Object.freeze(misc);\n }\n\n return misc;\n}\n"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAEA,IAAIC,IAAc;;AAElB;;AAkBO,SAASC,WAAWA,CAAA,EAAa;EACtC,IAAI,CAACD,IAAI,EAAE;IACTA,IAAI,GAAG;MACLE,UAAU,EAAE,KAAK;MACjBC,oBAAoB,EAAE,KAAK;MAC3BC,gBAAgB,EAAE,KAAK;MACvBC,yBAAyB,EAAE,KAAK;MAChCC,yBAAyB,EAAE;IAC7B,CAAC;IAED,IAAIC,MAAM,KAAKA,MAAM,CAACC,MAAM,EAAE;MAC5BR,IAAI,CAACE,UAAU,GAAG,IAAI;MACtB,IAAI;QACF;QACA;QACA;QACA;QACA,IAAIK,MAAM,CAACE,MAAM,KAAKF,MAAM,CAACC,MAAM,CAACC,MAAM,EAAE;UAC1CT,IAAI,CAACG,oBAAoB,GAAG,IAAI;UAChC,MAAMO,UAAU,GAAG,IAAAC,wBAAW,GAAE,KAAK,QAAQ;UAC7C,MAAMC,cAAc,GAAGL,MAAM,CAACC,MAAM,CAACK,QAAQ,CAACC,QAAQ;UACtD,MAAMC,YAAY,GAAGH,cAAc,CAACI,UAAU,CAAC,QAAQ,CAAC;UACxDhB,IAAI,CAACI,gBAAgB,GACnB,CAACa,MAAM,CAACP,UAAU,CAAC,GAAGO,MAAM,CAACF,YAAY,CAAC,MAAM,CAAC;UACnDf,IAAI,CAACK,yBAAyB,GAAGO,cAAc,CAACI,UAAU,CACvD,GAAED,YAAY,GAAG,OAAO,GAAG,EAAG,kBAAiB,CACjD;UACDf,IAAI,CAACM,yBAAyB,GAAGI,UAAU,IAAI,CAACK,YAAY;QAC9D;MACF,CAAC,CAAC,OAAOG,CAAC,EAAE;QACV;MAAA;IAEJ;IAEAC,MAAM,CAACC,MAAM,CAACpB,IAAI,CAAC;EACrB;EAEA,OAAOA,IAAI;AACb"}