@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.
- package/dist/cjs/CustomProcessors.js +29 -0
- package/dist/cjs/CustomProcessors.js.map +1 -0
- package/dist/cjs/CustomTemplates.js +179 -0
- package/dist/cjs/CustomTemplates.js.map +1 -0
- package/dist/cjs/StoryboardFunctionRegistry.js +118 -0
- package/dist/cjs/StoryboardFunctionRegistry.js.map +1 -0
- package/dist/cjs/auth.js +67 -0
- package/dist/cjs/auth.js.map +1 -0
- package/dist/cjs/fetchByProvider.js +13 -0
- package/dist/cjs/fetchByProvider.js.map +1 -0
- package/dist/cjs/getBasePath.js +15 -0
- package/dist/cjs/getBasePath.js.map +1 -0
- package/dist/cjs/getPageInfo.js +45 -0
- package/dist/cjs/getPageInfo.js.map +1 -0
- package/dist/cjs/handleHttpError.js +97 -0
- package/dist/cjs/handleHttpError.js.map +1 -0
- package/dist/cjs/history.js +27 -0
- package/dist/cjs/history.js.map +1 -0
- package/dist/cjs/index.js +199 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/internal/CustomTemplates/bindTemplateProxy.js +72 -0
- package/dist/cjs/internal/CustomTemplates/bindTemplateProxy.js.map +1 -0
- package/dist/cjs/internal/CustomTemplates/constants.js +13 -0
- package/dist/cjs/internal/CustomTemplates/constants.js.map +1 -0
- package/dist/cjs/internal/CustomTemplates/expandCustomTemplate.js +122 -0
- package/dist/cjs/internal/CustomTemplates/expandCustomTemplate.js.map +1 -0
- package/dist/cjs/internal/CustomTemplates/setupTemplateProxy.js +113 -0
- package/dist/cjs/internal/CustomTemplates/setupTemplateProxy.js.map +1 -0
- package/dist/cjs/internal/CustomTemplates/setupUseBrickInTemplate.js +44 -0
- package/dist/cjs/internal/CustomTemplates/setupUseBrickInTemplate.js.map +1 -0
- package/dist/cjs/internal/CustomTemplates/utils.js +44 -0
- package/dist/cjs/internal/CustomTemplates/utils.js.map +1 -0
- package/dist/cjs/internal/Renderer.js +392 -0
- package/dist/cjs/internal/Renderer.js.map +1 -0
- package/dist/cjs/internal/RendererContext.js +433 -0
- package/dist/cjs/internal/RendererContext.js.map +1 -0
- package/dist/cjs/internal/Router.js +448 -0
- package/dist/cjs/internal/Router.js.map +1 -0
- package/dist/cjs/internal/Runtime.js +140 -0
- package/dist/cjs/internal/Runtime.js.map +1 -0
- package/dist/cjs/internal/abortController.js +32 -0
- package/dist/cjs/internal/abortController.js.map +1 -0
- package/dist/cjs/internal/bindListeners.js +433 -0
- package/dist/cjs/internal/bindListeners.js.map +1 -0
- package/dist/cjs/internal/checkInstalledApps.js +105 -0
- package/dist/cjs/internal/checkInstalledApps.js.map +1 -0
- package/dist/cjs/internal/checkPermissions.js +102 -0
- package/dist/cjs/internal/checkPermissions.js.map +1 -0
- package/dist/cjs/internal/compute/StoryboardFunctions.js +16 -0
- package/dist/cjs/internal/compute/StoryboardFunctions.js.map +1 -0
- package/dist/cjs/internal/compute/WidgetFunctions.js +31 -0
- package/dist/cjs/internal/compute/WidgetFunctions.js.map +1 -0
- package/dist/cjs/internal/compute/WidgetI18n.js +21 -0
- package/dist/cjs/internal/compute/WidgetI18n.js.map +1 -0
- package/dist/cjs/internal/compute/checkIf.js +36 -0
- package/dist/cjs/internal/compute/checkIf.js.map +1 -0
- package/dist/cjs/internal/compute/collectMemberCallUsage.js +30 -0
- package/dist/cjs/internal/compute/collectMemberCallUsage.js.map +1 -0
- package/dist/cjs/internal/compute/computeRealProperties.js +80 -0
- package/dist/cjs/internal/compute/computeRealProperties.js.map +1 -0
- package/dist/cjs/internal/compute/computeRealValue.js +78 -0
- package/dist/cjs/internal/compute/computeRealValue.js.map +1 -0
- package/dist/cjs/internal/compute/evaluate.js +390 -0
- package/dist/cjs/internal/compute/evaluate.js.map +1 -0
- package/dist/cjs/internal/compute/getGeneralGlobals.js +87 -0
- package/dist/cjs/internal/compute/getGeneralGlobals.js.map +1 -0
- package/dist/cjs/internal/compute/getNextStateOfUseBrick.js +87 -0
- package/dist/cjs/internal/compute/getNextStateOfUseBrick.js.map +1 -0
- package/dist/cjs/internal/compute/getStorageItem.js +14 -0
- package/dist/cjs/internal/compute/getStorageItem.js.map +1 -0
- package/dist/cjs/internal/compute/getTracks.js +26 -0
- package/dist/cjs/internal/compute/getTracks.js.map +1 -0
- package/dist/cjs/internal/compute/images.js +23 -0
- package/dist/cjs/internal/compute/images.js.map +1 -0
- package/dist/cjs/internal/compute/listenOnTrackingContext.js +40 -0
- package/dist/cjs/internal/compute/listenOnTrackingContext.js.map +1 -0
- package/dist/cjs/internal/compute/markAsComputed.js +36 -0
- package/dist/cjs/internal/compute/markAsComputed.js.map +1 -0
- package/dist/cjs/internal/compute/setProperties.js +18 -0
- package/dist/cjs/internal/compute/setProperties.js.map +1 -0
- package/dist/cjs/internal/compute/setRealProperties.js +29 -0
- package/dist/cjs/internal/compute/setRealProperties.js.map +1 -0
- package/dist/cjs/internal/data/CollectContracts.js +29 -0
- package/dist/cjs/internal/data/CollectContracts.js.map +1 -0
- package/dist/cjs/internal/data/DataStore.js +190 -0
- package/dist/cjs/internal/data/DataStore.js.map +1 -0
- package/dist/cjs/internal/data/FlowApi.js +150 -0
- package/dist/cjs/internal/data/FlowApi.js.map +1 -0
- package/dist/cjs/internal/data/FlowApiProvider.js +122 -0
- package/dist/cjs/internal/data/FlowApiProvider.js.map +1 -0
- package/dist/cjs/internal/data/getProviderBrick.js +32 -0
- package/dist/cjs/internal/data/getProviderBrick.js.map +1 -0
- package/dist/cjs/internal/data/resolveData.js +96 -0
- package/dist/cjs/internal/data/resolveData.js.map +1 -0
- package/dist/cjs/internal/data/resolveDataStore.js +127 -0
- package/dist/cjs/internal/data/resolveDataStore.js.map +1 -0
- package/dist/cjs/internal/devtools.js +10 -0
- package/dist/cjs/internal/devtools.js.map +1 -0
- package/dist/cjs/internal/enums.js +13 -0
- package/dist/cjs/internal/enums.js.map +1 -0
- package/dist/cjs/internal/historyExtended.js +140 -0
- package/dist/cjs/internal/historyExtended.js.map +1 -0
- package/dist/cjs/internal/interfaces.js +6 -0
- package/dist/cjs/internal/interfaces.js.map +1 -0
- package/dist/cjs/internal/loadBootstrapData.js +227 -0
- package/dist/cjs/internal/loadBootstrapData.js.map +1 -0
- package/dist/cjs/internal/loadCheckLogin.js +17 -0
- package/dist/cjs/internal/loadCheckLogin.js.map +1 -0
- package/dist/cjs/internal/matchPath.js +88 -0
- package/dist/cjs/internal/matchPath.js.map +1 -0
- package/dist/cjs/internal/matchRoutes.js +34 -0
- package/dist/cjs/internal/matchRoutes.js.map +1 -0
- package/dist/cjs/internal/matchStoryboard.js +40 -0
- package/dist/cjs/internal/matchStoryboard.js.map +1 -0
- package/dist/cjs/internal/mediaQuery.js +55 -0
- package/dist/cjs/internal/mediaQuery.js.map +1 -0
- package/dist/cjs/internal/menu/computeMenuData.js +37 -0
- package/dist/cjs/internal/menu/computeMenuData.js.map +1 -0
- package/dist/cjs/internal/menu/constants.js +13 -0
- package/dist/cjs/internal/menu/constants.js.map +1 -0
- package/dist/cjs/internal/menu/fetchMenuById.js +102 -0
- package/dist/cjs/internal/menu/fetchMenuById.js.map +1 -0
- package/dist/cjs/internal/menu/fetchMenuTitle.js +37 -0
- package/dist/cjs/internal/menu/fetchMenuTitle.js.map +1 -0
- package/dist/cjs/internal/menu/getMenusOfStandaloneApp.js +27 -0
- package/dist/cjs/internal/menu/getMenusOfStandaloneApp.js.map +1 -0
- package/dist/cjs/internal/menu/interfaces.js +4 -0
- package/dist/cjs/internal/menu/interfaces.js.map +1 -0
- package/dist/cjs/internal/menu/loadDynamicMenuItems.js +28 -0
- package/dist/cjs/internal/menu/loadDynamicMenuItems.js.map +1 -0
- package/dist/cjs/internal/menu/mergeMenu.js +74 -0
- package/dist/cjs/internal/menu/mergeMenu.js.map +1 -0
- package/dist/cjs/internal/menu/reorderMenuItems.js +20 -0
- package/dist/cjs/internal/menu/reorderMenuItems.js.map +1 -0
- package/dist/cjs/internal/mount.js +90 -0
- package/dist/cjs/internal/mount.js.map +1 -0
- package/dist/cjs/internal/poll.js +83 -0
- package/dist/cjs/internal/poll.js.map +1 -0
- package/dist/cjs/internal/proxyFactories.js +39 -0
- package/dist/cjs/internal/proxyFactories.js.map +1 -0
- package/dist/cjs/internal/registerAppI18n.js +25 -0
- package/dist/cjs/internal/registerAppI18n.js.map +1 -0
- package/dist/cjs/internal/registerCustomTemplates.js +22 -0
- package/dist/cjs/internal/registerCustomTemplates.js.map +1 -0
- package/dist/cjs/internal/secret_internals.js +140 -0
- package/dist/cjs/internal/secret_internals.js.map +1 -0
- package/dist/cjs/themeAndMode.js +97 -0
- package/dist/cjs/themeAndMode.js.map +1 -0
- package/dist/esm/CustomProcessors.js +30 -0
- package/dist/esm/CustomProcessors.js.map +1 -0
- package/dist/esm/CustomTemplates.js +187 -0
- package/dist/esm/CustomTemplates.js.map +1 -0
- package/dist/esm/StoryboardFunctionRegistry.js +116 -0
- package/dist/esm/StoryboardFunctionRegistry.js.map +1 -0
- package/dist/esm/auth.js +57 -0
- package/dist/esm/auth.js.map +1 -0
- package/dist/esm/fetchByProvider.js +14 -0
- package/dist/esm/fetchByProvider.js.map +1 -0
- package/dist/esm/getBasePath.js +9 -0
- package/dist/esm/getBasePath.js.map +1 -0
- package/dist/esm/getPageInfo.js +39 -0
- package/dist/esm/getPageInfo.js.map +1 -0
- package/dist/esm/handleHttpError.js +90 -0
- package/dist/esm/handleHttpError.js.map +1 -0
- package/dist/esm/history.js +20 -0
- package/dist/esm/history.js.map +1 -0
- package/dist/esm/index.js +17 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/internal/CustomTemplates/bindTemplateProxy.js +68 -0
- package/dist/esm/internal/CustomTemplates/bindTemplateProxy.js.map +1 -0
- package/dist/esm/internal/CustomTemplates/constants.js +4 -0
- package/dist/esm/internal/CustomTemplates/constants.js.map +1 -0
- package/dist/esm/internal/CustomTemplates/expandCustomTemplate.js +117 -0
- package/dist/esm/internal/CustomTemplates/expandCustomTemplate.js.map +1 -0
- package/dist/esm/internal/CustomTemplates/setupTemplateProxy.js +110 -0
- package/dist/esm/internal/CustomTemplates/setupTemplateProxy.js.map +1 -0
- package/dist/esm/internal/CustomTemplates/setupUseBrickInTemplate.js +43 -0
- package/dist/esm/internal/CustomTemplates/setupUseBrickInTemplate.js.map +1 -0
- package/dist/esm/internal/CustomTemplates/utils.js +37 -0
- package/dist/esm/internal/CustomTemplates/utils.js.map +1 -0
- package/dist/esm/internal/Renderer.js +427 -0
- package/dist/esm/internal/Renderer.js.map +1 -0
- package/dist/esm/internal/RendererContext.js +425 -0
- package/dist/esm/internal/RendererContext.js.map +1 -0
- package/dist/esm/internal/Router.js +445 -0
- package/dist/esm/internal/Router.js.map +1 -0
- package/dist/esm/internal/Runtime.js +116 -0
- package/dist/esm/internal/Runtime.js.map +1 -0
- package/dist/esm/internal/abortController.js +24 -0
- package/dist/esm/internal/abortController.js.map +1 -0
- package/dist/esm/internal/bindListeners.js +434 -0
- package/dist/esm/internal/bindListeners.js.map +1 -0
- package/dist/esm/internal/checkInstalledApps.js +100 -0
- package/dist/esm/internal/checkInstalledApps.js.map +1 -0
- package/dist/esm/internal/checkPermissions.js +107 -0
- package/dist/esm/internal/checkPermissions.js.map +1 -0
- package/dist/esm/internal/compute/StoryboardFunctions.js +7 -0
- package/dist/esm/internal/compute/StoryboardFunctions.js.map +1 -0
- package/dist/esm/internal/compute/WidgetFunctions.js +23 -0
- package/dist/esm/internal/compute/WidgetFunctions.js.map +1 -0
- package/dist/esm/internal/compute/WidgetI18n.js +14 -0
- package/dist/esm/internal/compute/WidgetI18n.js.map +1 -0
- package/dist/esm/internal/compute/checkIf.js +39 -0
- package/dist/esm/internal/compute/checkIf.js.map +1 -0
- package/dist/esm/internal/compute/collectMemberCallUsage.js +22 -0
- package/dist/esm/internal/compute/collectMemberCallUsage.js.map +1 -0
- package/dist/esm/internal/compute/computeRealProperties.js +87 -0
- package/dist/esm/internal/compute/computeRealProperties.js.map +1 -0
- package/dist/esm/internal/compute/computeRealValue.js +86 -0
- package/dist/esm/internal/compute/computeRealValue.js.map +1 -0
- package/dist/esm/internal/compute/evaluate.js +387 -0
- package/dist/esm/internal/compute/evaluate.js.map +1 -0
- package/dist/esm/internal/compute/getGeneralGlobals.js +82 -0
- package/dist/esm/internal/compute/getGeneralGlobals.js.map +1 -0
- package/dist/esm/internal/compute/getNextStateOfUseBrick.js +78 -0
- package/dist/esm/internal/compute/getNextStateOfUseBrick.js.map +1 -0
- package/dist/esm/internal/compute/getStorageItem.js +8 -0
- package/dist/esm/internal/compute/getStorageItem.js.map +1 -0
- package/dist/esm/internal/compute/getTracks.js +20 -0
- package/dist/esm/internal/compute/getTracks.js.map +1 -0
- package/dist/esm/internal/compute/images.js +16 -0
- package/dist/esm/internal/compute/images.js.map +1 -0
- package/dist/esm/internal/compute/listenOnTrackingContext.js +37 -0
- package/dist/esm/internal/compute/listenOnTrackingContext.js.map +1 -0
- package/dist/esm/internal/compute/markAsComputed.js +28 -0
- package/dist/esm/internal/compute/markAsComputed.js.map +1 -0
- package/dist/esm/internal/compute/setProperties.js +12 -0
- package/dist/esm/internal/compute/setProperties.js.map +1 -0
- package/dist/esm/internal/compute/setRealProperties.js +23 -0
- package/dist/esm/internal/compute/setRealProperties.js.map +1 -0
- package/dist/esm/internal/data/CollectContracts.js +20 -0
- package/dist/esm/internal/data/CollectContracts.js.map +1 -0
- package/dist/esm/internal/data/DataStore.js +203 -0
- package/dist/esm/internal/data/DataStore.js.map +1 -0
- package/dist/esm/internal/data/FlowApi.js +156 -0
- package/dist/esm/internal/data/FlowApi.js.map +1 -0
- package/dist/esm/internal/data/FlowApiProvider.js +122 -0
- package/dist/esm/internal/data/FlowApiProvider.js.map +1 -0
- package/dist/esm/internal/data/getProviderBrick.js +33 -0
- package/dist/esm/internal/data/getProviderBrick.js.map +1 -0
- package/dist/esm/internal/data/resolveData.js +101 -0
- package/dist/esm/internal/data/resolveData.js.map +1 -0
- package/dist/esm/internal/data/resolveDataStore.js +134 -0
- package/dist/esm/internal/data/resolveDataStore.js.map +1 -0
- package/dist/esm/internal/devtools.js +4 -0
- package/dist/esm/internal/devtools.js.map +1 -0
- package/dist/esm/internal/enums.js +6 -0
- package/dist/esm/internal/enums.js.map +1 -0
- package/dist/esm/internal/historyExtended.js +132 -0
- package/dist/esm/internal/historyExtended.js.map +1 -0
- package/dist/esm/internal/interfaces.js +2 -0
- package/dist/esm/internal/interfaces.js.map +1 -0
- package/dist/esm/internal/loadBootstrapData.js +243 -0
- package/dist/esm/internal/loadBootstrapData.js.map +1 -0
- package/dist/esm/internal/loadCheckLogin.js +18 -0
- package/dist/esm/internal/loadCheckLogin.js.map +1 -0
- package/dist/esm/internal/matchPath.js +81 -0
- package/dist/esm/internal/matchPath.js.map +1 -0
- package/dist/esm/internal/matchRoutes.js +35 -0
- package/dist/esm/internal/matchRoutes.js.map +1 -0
- package/dist/esm/internal/matchStoryboard.js +33 -0
- package/dist/esm/internal/matchStoryboard.js.map +1 -0
- package/dist/esm/internal/mediaQuery.js +44 -0
- package/dist/esm/internal/mediaQuery.js.map +1 -0
- package/dist/esm/internal/menu/computeMenuData.js +38 -0
- package/dist/esm/internal/menu/computeMenuData.js.map +1 -0
- package/dist/esm/internal/menu/constants.js +4 -0
- package/dist/esm/internal/menu/constants.js.map +1 -0
- package/dist/esm/internal/menu/fetchMenuById.js +104 -0
- package/dist/esm/internal/menu/fetchMenuById.js.map +1 -0
- package/dist/esm/internal/menu/fetchMenuTitle.js +38 -0
- package/dist/esm/internal/menu/fetchMenuTitle.js.map +1 -0
- package/dist/esm/internal/menu/getMenusOfStandaloneApp.js +19 -0
- package/dist/esm/internal/menu/getMenusOfStandaloneApp.js.map +1 -0
- package/dist/esm/internal/menu/interfaces.js +4 -0
- package/dist/esm/internal/menu/interfaces.js.map +1 -0
- package/dist/esm/internal/menu/loadDynamicMenuItems.js +28 -0
- package/dist/esm/internal/menu/loadDynamicMenuItems.js.map +1 -0
- package/dist/esm/internal/menu/mergeMenu.js +77 -0
- package/dist/esm/internal/menu/mergeMenu.js.map +1 -0
- package/dist/esm/internal/menu/reorderMenuItems.js +14 -0
- package/dist/esm/internal/menu/reorderMenuItems.js.map +1 -0
- package/dist/esm/internal/mount.js +83 -0
- package/dist/esm/internal/mount.js.map +1 -0
- package/dist/esm/internal/poll.js +85 -0
- package/dist/esm/internal/poll.js.map +1 -0
- package/dist/esm/internal/proxyFactories.js +34 -0
- package/dist/esm/internal/proxyFactories.js.map +1 -0
- package/dist/esm/internal/registerAppI18n.js +20 -0
- package/dist/esm/internal/registerAppI18n.js.map +1 -0
- package/dist/esm/internal/registerCustomTemplates.js +16 -0
- package/dist/esm/internal/registerCustomTemplates.js.map +1 -0
- package/dist/esm/internal/secret_internals.js +145 -0
- package/dist/esm/internal/secret_internals.js.map +1 -0
- package/dist/esm/themeAndMode.js +80 -0
- package/dist/esm/themeAndMode.js.map +1 -0
- package/dist/types/CustomProcessors.d.ts +7 -0
- package/dist/types/CustomTemplates.d.ts +8 -0
- package/dist/types/StoryboardFunctionRegistry.d.ts +44 -0
- package/dist/types/auth.d.ts +19 -0
- package/dist/types/fetchByProvider.d.ts +2 -0
- package/dist/types/getBasePath.d.ts +4 -0
- package/dist/types/getPageInfo.d.ts +14 -0
- package/dist/types/handleHttpError.d.ts +19 -0
- package/dist/types/history.d.ts +7 -0
- package/dist/types/index.d.ts +15 -0
- package/dist/types/internal/CustomTemplates/bindTemplateProxy.d.ts +3 -0
- package/dist/types/internal/CustomTemplates/constants.d.ts +11 -0
- package/dist/types/internal/CustomTemplates/expandCustomTemplate.d.ts +3 -0
- package/dist/types/internal/CustomTemplates/setupTemplateProxy.d.ts +7 -0
- package/dist/types/internal/CustomTemplates/setupUseBrickInTemplate.d.ts +2 -0
- package/dist/types/internal/CustomTemplates/utils.d.ts +7 -0
- package/dist/types/internal/Renderer.d.ts +21 -0
- package/dist/types/internal/RendererContext.d.ts +25 -0
- package/dist/types/internal/Router.d.ts +16 -0
- package/dist/types/internal/Runtime.d.ts +35 -0
- package/dist/types/internal/abortController.d.ts +2 -0
- package/dist/types/internal/bindListeners.d.ts +11 -0
- package/dist/types/internal/checkInstalledApps.d.ts +6 -0
- package/dist/types/internal/checkPermissions.d.ts +17 -0
- package/dist/types/internal/compute/StoryboardFunctions.d.ts +1 -0
- package/dist/types/internal/compute/WidgetFunctions.d.ts +3 -0
- package/dist/types/internal/compute/WidgetI18n.d.ts +3 -0
- package/dist/types/internal/compute/checkIf.d.ts +23 -0
- package/dist/types/internal/compute/collectMemberCallUsage.d.ts +8 -0
- package/dist/types/internal/compute/computeRealProperties.d.ts +4 -0
- package/dist/types/internal/compute/computeRealValue.d.ts +9 -0
- package/dist/types/internal/compute/evaluate.d.ts +21 -0
- package/dist/types/internal/compute/getGeneralGlobals.d.ts +12 -0
- package/dist/types/internal/compute/getNextStateOfUseBrick.d.ts +16 -0
- package/dist/types/internal/compute/getStorageItem.d.ts +1 -0
- package/dist/types/internal/compute/getTracks.d.ts +5 -0
- package/dist/types/internal/compute/images.d.ts +5 -0
- package/dist/types/internal/compute/listenOnTrackingContext.d.ts +9 -0
- package/dist/types/internal/compute/markAsComputed.d.ts +3 -0
- package/dist/types/internal/compute/setProperties.d.ts +2 -0
- package/dist/types/internal/compute/setRealProperties.d.ts +1 -0
- package/dist/types/internal/data/CollectContracts.d.ts +5 -0
- package/dist/types/internal/data/DataStore.d.ts +26 -0
- package/dist/types/internal/data/FlowApi.d.ts +30 -0
- package/dist/types/internal/data/FlowApiProvider.d.ts +20 -0
- package/dist/types/internal/data/getProviderBrick.d.ts +1 -0
- package/dist/types/internal/data/resolveData.d.ts +16 -0
- package/dist/types/internal/data/resolveDataStore.d.ts +11 -0
- package/dist/types/internal/devtools.d.ts +6 -0
- package/dist/types/internal/enums.d.ts +4 -0
- package/dist/types/internal/historyExtended.d.ts +58 -0
- package/dist/types/internal/interfaces.d.ts +92 -0
- package/dist/types/internal/loadBootstrapData.d.ts +10 -0
- package/dist/types/internal/loadCheckLogin.d.ts +1 -0
- package/dist/types/internal/matchPath.d.ts +18 -0
- package/dist/types/internal/matchRoutes.d.ts +9 -0
- package/dist/types/internal/matchStoryboard.d.ts +10 -0
- package/dist/types/internal/mediaQuery.d.ts +14 -0
- package/dist/types/internal/menu/computeMenuData.d.ts +7 -0
- package/dist/types/internal/menu/constants.d.ts +3 -0
- package/dist/types/internal/menu/fetchMenuById.d.ts +3 -0
- package/dist/types/internal/menu/fetchMenuTitle.d.ts +2 -0
- package/dist/types/internal/menu/getMenusOfStandaloneApp.d.ts +2 -0
- package/dist/types/internal/menu/interfaces.d.ts +74 -0
- package/dist/types/internal/menu/loadDynamicMenuItems.d.ts +3 -0
- package/dist/types/internal/menu/mergeMenu.d.ts +3 -0
- package/dist/types/internal/menu/reorderMenuItems.d.ts +2 -0
- package/dist/types/internal/mount.d.ts +3 -0
- package/dist/types/internal/poll.d.ts +10 -0
- package/dist/types/internal/proxyFactories.d.ts +2 -0
- package/dist/types/internal/registerAppI18n.d.ts +3 -0
- package/dist/types/internal/registerCustomTemplates.d.ts +2 -0
- package/dist/types/internal/secret_internals.d.ts +21 -0
- package/dist/types/themeAndMode.d.ts +16 -0
- package/package.json +67 -0
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import _objectSpread from "@babel/runtime/helpers/objectSpread2";
|
|
2
|
+
import { cook, precookFunction } from "@next-core/cook";
|
|
3
|
+
import { supply } from "@next-core/supply";
|
|
4
|
+
import { strictCollectMemberUsageInFunction } from "@next-core/utils/storyboard";
|
|
5
|
+
import { getGeneralGlobals } from "./internal/compute/getGeneralGlobals.js";
|
|
6
|
+
|
|
7
|
+
/** @internal */
|
|
8
|
+
|
|
9
|
+
/** @internal */
|
|
10
|
+
export function StoryboardFunctionRegistryFactory() {
|
|
11
|
+
var {
|
|
12
|
+
widgetId,
|
|
13
|
+
widgetVersion,
|
|
14
|
+
collectCoverage
|
|
15
|
+
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
16
|
+
var registeredFunctions = new Map();
|
|
17
|
+
|
|
18
|
+
// Use `Proxy` with a frozen target, to make a readonly function registry.
|
|
19
|
+
var storyboardFunctions = new Proxy(Object.freeze({}), {
|
|
20
|
+
get(target, key) {
|
|
21
|
+
return getStoryboardFunction(key);
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
var currentApp;
|
|
25
|
+
function registerStoryboardFunctions(functions, app) {
|
|
26
|
+
if (app) {
|
|
27
|
+
currentApp = app;
|
|
28
|
+
}
|
|
29
|
+
registeredFunctions.clear();
|
|
30
|
+
if (Array.isArray(functions)) {
|
|
31
|
+
for (var fn of functions) {
|
|
32
|
+
var deps = strictCollectMemberUsageInFunction(fn, "FN");
|
|
33
|
+
var hasPermissionsCheck = strictCollectMemberUsageInFunction(fn, "PERMISSIONS").has("check");
|
|
34
|
+
registeredFunctions.set(fn.name, {
|
|
35
|
+
source: fn.source,
|
|
36
|
+
typescript: fn.typescript,
|
|
37
|
+
deps,
|
|
38
|
+
hasPermissionsCheck
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
function getStoryboardFunction(name) {
|
|
44
|
+
var fn = registeredFunctions.get(name);
|
|
45
|
+
if (!fn) {
|
|
46
|
+
return undefined;
|
|
47
|
+
}
|
|
48
|
+
if (fn.processed) {
|
|
49
|
+
return fn.cooked;
|
|
50
|
+
}
|
|
51
|
+
var collector;
|
|
52
|
+
if (collectCoverage) {
|
|
53
|
+
collector = collectCoverage.createCollector(name);
|
|
54
|
+
}
|
|
55
|
+
var precooked = precookFunction(fn.source, {
|
|
56
|
+
typescript: fn.typescript,
|
|
57
|
+
hooks: collector && {
|
|
58
|
+
beforeVisit: collector.beforeVisit
|
|
59
|
+
}
|
|
60
|
+
});
|
|
61
|
+
fn.cooked = cook(precooked.function, fn.source, {
|
|
62
|
+
rules: {
|
|
63
|
+
noVar: true
|
|
64
|
+
},
|
|
65
|
+
globalVariables: supply(precooked.attemptToVisitGlobals, getGeneralGlobals(precooked.attemptToVisitGlobals, {
|
|
66
|
+
collectCoverage,
|
|
67
|
+
widgetId,
|
|
68
|
+
widgetVersion,
|
|
69
|
+
app: currentApp,
|
|
70
|
+
storyboardFunctions,
|
|
71
|
+
isStoryboardFunction: true
|
|
72
|
+
}), !!collectCoverage),
|
|
73
|
+
hooks: collector && {
|
|
74
|
+
beforeEvaluate: collector.beforeEvaluate,
|
|
75
|
+
beforeCall: collector.beforeCall,
|
|
76
|
+
beforeBranch: collector.beforeBranch
|
|
77
|
+
}
|
|
78
|
+
});
|
|
79
|
+
fn.processed = true;
|
|
80
|
+
return fn.cooked;
|
|
81
|
+
}
|
|
82
|
+
return {
|
|
83
|
+
storyboardFunctions,
|
|
84
|
+
registerStoryboardFunctions,
|
|
85
|
+
updateStoryboardFunction(name, data) {
|
|
86
|
+
var newFn = _objectSpread(_objectSpread({}, data), {}, {
|
|
87
|
+
name
|
|
88
|
+
});
|
|
89
|
+
var deps = strictCollectMemberUsageInFunction(newFn, "FN");
|
|
90
|
+
var hasPermissionsCheck = strictCollectMemberUsageInFunction(newFn, "PERMISSIONS").has("check");
|
|
91
|
+
registeredFunctions.set(name, {
|
|
92
|
+
source: data.source,
|
|
93
|
+
typescript: data.typescript,
|
|
94
|
+
deps,
|
|
95
|
+
hasPermissionsCheck
|
|
96
|
+
});
|
|
97
|
+
},
|
|
98
|
+
/**
|
|
99
|
+
* Check whether listed functions attempt to call `PERMISSIONS.check()`,
|
|
100
|
+
* includes in nested `FN.*()` calls.
|
|
101
|
+
*/
|
|
102
|
+
checkPermissionsUsage(functionNames) {
|
|
103
|
+
var checkedFunctions = new Set();
|
|
104
|
+
var hasPermissionsCheck = name => {
|
|
105
|
+
if (!checkedFunctions.has(name)) {
|
|
106
|
+
checkedFunctions.add(name);
|
|
107
|
+
var fn = registeredFunctions.get(name);
|
|
108
|
+
return !!fn && (fn.hasPermissionsCheck || [...fn.deps].some(hasPermissionsCheck));
|
|
109
|
+
}
|
|
110
|
+
return false;
|
|
111
|
+
};
|
|
112
|
+
return functionNames.some(hasPermissionsCheck);
|
|
113
|
+
}
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
//# sourceMappingURL=StoryboardFunctionRegistry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StoryboardFunctionRegistry.js","names":["cook","precookFunction","supply","strictCollectMemberUsageInFunction","getGeneralGlobals","StoryboardFunctionRegistryFactory","widgetId","widgetVersion","collectCoverage","arguments","length","undefined","registeredFunctions","Map","storyboardFunctions","Proxy","Object","freeze","get","target","key","getStoryboardFunction","currentApp","registerStoryboardFunctions","functions","app","clear","Array","isArray","fn","deps","hasPermissionsCheck","has","set","name","source","typescript","processed","cooked","collector","createCollector","precooked","hooks","beforeVisit","function","rules","noVar","globalVariables","attemptToVisitGlobals","isStoryboardFunction","beforeEvaluate","beforeCall","beforeBranch","updateStoryboardFunction","data","newFn","_objectSpread","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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"}
|
package/dist/esm/auth.js
ADDED
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import _objectSpread from "@babel/runtime/helpers/objectSpread2";
|
|
2
|
+
// import { userAnalytics } from "@next-core/easyops-analytics";
|
|
3
|
+
|
|
4
|
+
import { resetPermissionPreChecks } from "./internal/checkPermissions.js";
|
|
5
|
+
var auth = {};
|
|
6
|
+
|
|
7
|
+
/** @internal */
|
|
8
|
+
|
|
9
|
+
/** @internal */
|
|
10
|
+
export function authenticate(newAuth) {
|
|
11
|
+
Object.assign(auth, {
|
|
12
|
+
org: newAuth.org,
|
|
13
|
+
username: newAuth.username,
|
|
14
|
+
userInstanceId: newAuth.userInstanceId,
|
|
15
|
+
loginFrom: newAuth.loginFrom,
|
|
16
|
+
accessRule: newAuth.accessRule,
|
|
17
|
+
isAdmin: newAuth.isAdmin,
|
|
18
|
+
csrfToken: newAuth.csrfToken,
|
|
19
|
+
license: newAuth.license,
|
|
20
|
+
userShowValue: newAuth.userShowValue
|
|
21
|
+
});
|
|
22
|
+
|
|
23
|
+
// re-init analytics to set user_id
|
|
24
|
+
// if (userAnalytics.initialized) {
|
|
25
|
+
// userAnalytics.setUserId(newAuth.userInstanceId);
|
|
26
|
+
// }
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* 获取当前登录认证信息。
|
|
31
|
+
*
|
|
32
|
+
* @returns 当前登录认证信息。
|
|
33
|
+
*/
|
|
34
|
+
export function getAuth() {
|
|
35
|
+
return _objectSpread({}, auth);
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
/** @internal */
|
|
39
|
+
export function logout() {
|
|
40
|
+
for (var key of Object.keys(auth)) {
|
|
41
|
+
auth[key] = undefined;
|
|
42
|
+
}
|
|
43
|
+
resetPermissionPreChecks();
|
|
44
|
+
|
|
45
|
+
// re-init analytics to clear user_id
|
|
46
|
+
// userAnalytics.setUserId();
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* 查看当前是否已登录。
|
|
51
|
+
*
|
|
52
|
+
* @returns 当前是否已登录。
|
|
53
|
+
*/
|
|
54
|
+
export function isLoggedIn() {
|
|
55
|
+
return auth.username !== undefined;
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=auth.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.js","names":["resetPermissionPreChecks","auth","authenticate","newAuth","Object","assign","org","username","userInstanceId","loginFrom","accessRule","isAdmin","csrfToken","license","userShowValue","getAuth","_objectSpread","logout","key","keys","undefined","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":";AAAA;;AAEA,SAASA,wBAAwB,QAAQ,gCAAgC;AAEzE,IAAMC,IAAc,GAAG,CAAC,CAAC;;AAEzB;;AAGA;AACA,OAAO,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;AACA,OAAO,SAASC,OAAOA,CAAA,EAAa;EAClC,OAAAC,aAAA,KACKf,IAAI;AAEX;;AAEA;AACA,OAAO,SAASgB,MAAMA,CAAA,EAAS;EAC7B,KAAK,IAAMC,GAAG,IAAId,MAAM,CAACe,IAAI,CAAClB,IAAI,CAAC,EAAwB;IACzDA,IAAI,CAACiB,GAAG,CAAC,GAAGE,SAAS;EACvB;EACApB,wBAAwB,EAAE;;EAE1B;EACA;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASqB,UAAUA,CAAA,EAAY;EACpC,OAAOpB,IAAI,CAACM,QAAQ,KAAKa,SAAS;AACpC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
|
|
2
|
+
import { getProviderBrick } from "./internal/data/getProviderBrick.js";
|
|
3
|
+
import { resolveByProvider } from "./internal/data/resolveData.js";
|
|
4
|
+
export function fetchByProvider(_x, _x2, _x3) {
|
|
5
|
+
return _fetchByProvider.apply(this, arguments);
|
|
6
|
+
}
|
|
7
|
+
function _fetchByProvider() {
|
|
8
|
+
_fetchByProvider = _asyncToGenerator(function* (provider, args, options) {
|
|
9
|
+
var providerBrick = yield getProviderBrick(provider);
|
|
10
|
+
return resolveByProvider(providerBrick, provider, "resolve", args, options);
|
|
11
|
+
});
|
|
12
|
+
return _fetchByProvider.apply(this, arguments);
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=fetchByProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetchByProvider.js","names":["getProviderBrick","resolveByProvider","fetchByProvider","_x","_x2","_x3","_fetchByProvider","apply","arguments","_asyncToGenerator","provider","args","options","providerBrick"],"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,SAASA,gBAAgB,QAAQ,qCAAqC;AACtE,SAEEC,iBAAiB,QACZ,gCAAgC;AAEvC,gBAAsBC,eAAeA,CAAAC,EAAA,EAAAC,GAAA,EAAAC,GAAA;EAAA,OAAAC,gBAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA;AAUpC,SAAAF,iBAAA;EAAAA,gBAAA,GAAAG,iBAAA,CAVM,WACLC,QAAgB,EAChBC,IAAe,EACfC,OAAwB,EACxB;IACA,IAAMC,aAAa,SAAUb,gBAAgB,CAACU,QAAQ,CAGrD;IACD,OAAOT,iBAAiB,CAACY,aAAa,EAAEH,QAAQ,EAAE,SAAS,EAAEC,IAAI,EAAEC,OAAO,CAAC;EAC7E,CAAC;EAAA,OAAAN,gBAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Get site's base path, generally will be `/next/` or `/`.
|
|
3
|
+
*/
|
|
4
|
+
export function getBasePath() {
|
|
5
|
+
var base = document.querySelector("base");
|
|
6
|
+
var basePath = base ? base.getAttribute("href") : "/";
|
|
7
|
+
return basePath;
|
|
8
|
+
}
|
|
9
|
+
//# 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;AACA,OAAO,SAASA,WAAWA,CAAA,EAAW;EACpC,IAAMC,IAAI,GAAGC,QAAQ,CAACC,aAAa,CAAC,MAAM,CAAC;EAC3C,IAAMC,QAAQ,GAAGH,IAAI,GAAIA,IAAI,CAACI,YAAY,CAAC,MAAM,CAAC,GAAc,GAAG;EACnE,OAAOD,QAAQ;AACjB"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { getBasePath } from "./getBasePath.js";
|
|
2
|
+
var misc;
|
|
3
|
+
|
|
4
|
+
/** 运行时页面信息。*/
|
|
5
|
+
|
|
6
|
+
export function getPageInfo() {
|
|
7
|
+
if (!misc) {
|
|
8
|
+
misc = {
|
|
9
|
+
isInIframe: false,
|
|
10
|
+
isInIframeOfSameSite: false,
|
|
11
|
+
isInIframeOfNext: false,
|
|
12
|
+
isInIframeOfVisualBuilder: false,
|
|
13
|
+
isInIframeOfLegacyConsole: false
|
|
14
|
+
};
|
|
15
|
+
if (window !== window.parent) {
|
|
16
|
+
misc.isInIframe = true;
|
|
17
|
+
try {
|
|
18
|
+
// Handle:
|
|
19
|
+
// - Previewing in visual builder by iframe.
|
|
20
|
+
// - Nesting next in next.
|
|
21
|
+
// - Nesting console in next.
|
|
22
|
+
if (window.origin === window.parent.origin) {
|
|
23
|
+
misc.isInIframeOfSameSite = true;
|
|
24
|
+
var selfIsNext = getBasePath() === "/next/";
|
|
25
|
+
var parentPathname = window.parent.location.pathname;
|
|
26
|
+
var parentIsNext = parentPathname.startsWith("/next/");
|
|
27
|
+
misc.isInIframeOfNext = (Number(selfIsNext) ^ Number(parentIsNext)) === 0;
|
|
28
|
+
misc.isInIframeOfVisualBuilder = parentPathname.startsWith("".concat(parentIsNext ? "/next" : "", "/visual-builder/"));
|
|
29
|
+
misc.isInIframeOfLegacyConsole = selfIsNext && !parentIsNext;
|
|
30
|
+
}
|
|
31
|
+
} catch (e) {
|
|
32
|
+
// do nothing
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
Object.freeze(misc);
|
|
36
|
+
}
|
|
37
|
+
return misc;
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=getPageInfo.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getPageInfo.js","names":["getBasePath","misc","getPageInfo","isInIframe","isInIframeOfSameSite","isInIframeOfNext","isInIframeOfVisualBuilder","isInIframeOfLegacyConsole","window","parent","origin","selfIsNext","parentPathname","location","pathname","parentIsNext","startsWith","Number","concat","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,SAASA,WAAW,QAAQ,kBAAkB;AAE9C,IAAIC,IAAc;;AAElB;;AAkBA,OAAO,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,IAAMO,UAAU,GAAGX,WAAW,EAAE,KAAK,QAAQ;UAC7C,IAAMY,cAAc,GAAGJ,MAAM,CAACC,MAAM,CAACI,QAAQ,CAACC,QAAQ;UACtD,IAAMC,YAAY,GAAGH,cAAc,CAACI,UAAU,CAAC,QAAQ,CAAC;UACxDf,IAAI,CAACI,gBAAgB,GACnB,CAACY,MAAM,CAACN,UAAU,CAAC,GAAGM,MAAM,CAACF,YAAY,CAAC,MAAM,CAAC;UACnDd,IAAI,CAACK,yBAAyB,GAAGM,cAAc,CAACI,UAAU,IAAAE,MAAA,CACrDH,YAAY,GAAG,OAAO,GAAG,EAAE,sBAC/B;UACDd,IAAI,CAACM,yBAAyB,GAAGI,UAAU,IAAI,CAACI,YAAY;QAC9D;MACF,CAAC,CAAC,OAAOI,CAAC,EAAE;QACV;MAAA;IAEJ;IAEAC,MAAM,CAACC,MAAM,CAACpB,IAAI,CAAC;EACrB;EAEA,OAAOA,IAAI;AACb"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import _objectSpread from "@babel/runtime/helpers/objectSpread2";
|
|
2
|
+
import { HttpAbortError, HttpFetchError, HttpResponseError } from "@next-core/http";
|
|
3
|
+
import { getRuntime } from "./internal/Runtime.js";
|
|
4
|
+
import { getHistory } from "./history.js";
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* 将 http 请求错误转换为可读的字符串。
|
|
8
|
+
*
|
|
9
|
+
* @remarks
|
|
10
|
+
*
|
|
11
|
+
* 将依次尝试读取返回的 JSON 格式数据的字符串类型的 `error` 和 `msg` 字段,如果没有找到则返回 `error.toString()` 的结果。
|
|
12
|
+
*
|
|
13
|
+
* @param error - 错误对象。
|
|
14
|
+
*
|
|
15
|
+
* @returns 转换为字符串的错误信息。
|
|
16
|
+
*/
|
|
17
|
+
export function httpErrorToString(error) {
|
|
18
|
+
if (error instanceof Event && error.target instanceof HTMLScriptElement) {
|
|
19
|
+
return error.target.src;
|
|
20
|
+
}
|
|
21
|
+
if (error instanceof HttpFetchError) {
|
|
22
|
+
// return i18next.t(`${NS_BRICK_KIT}:${K.NETWORK_ERROR}`);
|
|
23
|
+
return "网络错误,请检查您的网络连接。";
|
|
24
|
+
}
|
|
25
|
+
if (error instanceof HttpResponseError) {
|
|
26
|
+
if (error.responseJson) {
|
|
27
|
+
if (typeof error.responseJson.error === "string") {
|
|
28
|
+
return error.responseJson.error;
|
|
29
|
+
} else if (typeof error.responseJson.msg === "string") {
|
|
30
|
+
return error.responseJson.msg;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
if (error == null) {
|
|
35
|
+
return "Unknown error";
|
|
36
|
+
}
|
|
37
|
+
return error.toString();
|
|
38
|
+
}
|
|
39
|
+
export function isUnauthenticatedError(error) {
|
|
40
|
+
return error instanceof HttpResponseError && error.response.status === 401 && !!error.responseJson && error.responseJson.code === 100003;
|
|
41
|
+
}
|
|
42
|
+
var unauthenticatedConfirming = false;
|
|
43
|
+
var lastErrorMessage;
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* 处理 http 请求错误(使用 AntDesign 模态框弹出错误信息)。
|
|
47
|
+
*
|
|
48
|
+
* @param error - 错误对象。
|
|
49
|
+
*/
|
|
50
|
+
export function handleHttpError(error) {
|
|
51
|
+
// Do nothing if aborted http requests
|
|
52
|
+
if (error instanceof HttpAbortError) {
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
// Redirect to login page if not logged in.
|
|
57
|
+
if (isUnauthenticatedError(error) && !window.NO_AUTH_GUARD) {
|
|
58
|
+
if (unauthenticatedConfirming) {
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
unauthenticatedConfirming = true;
|
|
62
|
+
// i18next.t(`${NS_BRICK_KIT}:${K.LOGIN_TIMEOUT_MESSAGE}`)
|
|
63
|
+
if (confirm("您还未登录或登录信息已过期,现在重新登录?")) {
|
|
64
|
+
var ssoEnabled = getRuntime().getFeatureFlags()["sso-enabled"];
|
|
65
|
+
var history = getHistory();
|
|
66
|
+
history.push(ssoEnabled ? "/sso-auth/login" : "/auth/login", {
|
|
67
|
+
from: _objectSpread(_objectSpread({}, history.location), {}, {
|
|
68
|
+
state: undefined
|
|
69
|
+
})
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
setTimeout(() => {
|
|
73
|
+
unauthenticatedConfirming = false;
|
|
74
|
+
}, 1);
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
// eslint-disable-next-line no-console
|
|
79
|
+
console.error(error);
|
|
80
|
+
var message = httpErrorToString(error);
|
|
81
|
+
if (message !== lastErrorMessage) {
|
|
82
|
+
lastErrorMessage = message;
|
|
83
|
+
alert(message);
|
|
84
|
+
setTimeout(() => {
|
|
85
|
+
lastErrorMessage = undefined;
|
|
86
|
+
}, 1000);
|
|
87
|
+
}
|
|
88
|
+
return;
|
|
89
|
+
}
|
|
90
|
+
//# sourceMappingURL=handleHttpError.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handleHttpError.js","names":["HttpAbortError","HttpFetchError","HttpResponseError","getRuntime","getHistory","httpErrorToString","error","Event","target","HTMLScriptElement","src","responseJson","msg","toString","isUnauthenticatedError","response","status","code","unauthenticatedConfirming","lastErrorMessage","handleHttpError","window","NO_AUTH_GUARD","confirm","ssoEnabled","getFeatureFlags","history","push","from","_objectSpread","location","state","undefined","setTimeout","console","message","alert"],"sources":["../../src/handleHttpError.ts"],"sourcesContent":["import {\n HttpAbortError,\n HttpFetchError,\n HttpResponseError,\n} from \"@next-core/http\";\nimport { getRuntime } from \"./internal/Runtime.js\";\nimport { getHistory } from \"./history.js\";\n\n/**\n * 将 http 请求错误转换为可读的字符串。\n *\n * @remarks\n *\n * 将依次尝试读取返回的 JSON 格式数据的字符串类型的 `error` 和 `msg` 字段,如果没有找到则返回 `error.toString()` 的结果。\n *\n * @param error - 错误对象。\n *\n * @returns 转换为字符串的错误信息。\n */\nexport function httpErrorToString(error: unknown): string {\n if (error instanceof Event && error.target instanceof HTMLScriptElement) {\n return error.target.src;\n }\n if (error instanceof HttpFetchError) {\n // return i18next.t(`${NS_BRICK_KIT}:${K.NETWORK_ERROR}`);\n return \"网络错误,请检查您的网络连接。\";\n }\n if (error instanceof HttpResponseError) {\n if (error.responseJson) {\n if (typeof error.responseJson.error === \"string\") {\n return error.responseJson.error;\n } else if (typeof error.responseJson.msg === \"string\") {\n return error.responseJson.msg;\n }\n }\n }\n if (error == null) {\n return \"Unknown error\";\n }\n return error.toString();\n}\n\nexport function isUnauthenticatedError(error: unknown): boolean {\n return (\n error instanceof HttpResponseError &&\n error.response.status === 401 &&\n !!error.responseJson &&\n error.responseJson.code === 100003\n );\n}\n\nlet unauthenticatedConfirming = false;\n\nlet lastErrorMessage: string | undefined;\n\n/**\n * 处理 http 请求错误(使用 AntDesign 模态框弹出错误信息)。\n *\n * @param error - 错误对象。\n */\nexport function handleHttpError(error: unknown) {\n // Do nothing if aborted http requests\n if (error instanceof HttpAbortError) {\n return;\n }\n\n // Redirect to login page if not logged in.\n if (isUnauthenticatedError(error) && !window.NO_AUTH_GUARD) {\n if (unauthenticatedConfirming) {\n return;\n }\n unauthenticatedConfirming = true;\n // i18next.t(`${NS_BRICK_KIT}:${K.LOGIN_TIMEOUT_MESSAGE}`)\n if (confirm(\"您还未登录或登录信息已过期,现在重新登录?\")) {\n const ssoEnabled = getRuntime().getFeatureFlags()[\"sso-enabled\"];\n const history = getHistory();\n history.push(ssoEnabled ? \"/sso-auth/login\" : \"/auth/login\", {\n from: {\n ...history.location,\n state: undefined,\n },\n });\n }\n setTimeout(() => {\n unauthenticatedConfirming = false;\n }, 1);\n return;\n }\n\n // eslint-disable-next-line no-console\n console.error(error);\n\n const message = httpErrorToString(error);\n if (message !== lastErrorMessage) {\n lastErrorMessage = message;\n alert(message);\n setTimeout(() => {\n lastErrorMessage = undefined;\n }, 1000);\n }\n return;\n}\n"],"mappings":";AAAA,SACEA,cAAc,EACdC,cAAc,EACdC,iBAAiB,QACZ,iBAAiB;AACxB,SAASC,UAAU,QAAQ,uBAAuB;AAClD,SAASC,UAAU,QAAQ,cAAc;;AAEzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,iBAAiBA,CAACC,KAAc,EAAU;EACxD,IAAIA,KAAK,YAAYC,KAAK,IAAID,KAAK,CAACE,MAAM,YAAYC,iBAAiB,EAAE;IACvE,OAAOH,KAAK,CAACE,MAAM,CAACE,GAAG;EACzB;EACA,IAAIJ,KAAK,YAAYL,cAAc,EAAE;IACnC;IACA,OAAO,iBAAiB;EAC1B;EACA,IAAIK,KAAK,YAAYJ,iBAAiB,EAAE;IACtC,IAAII,KAAK,CAACK,YAAY,EAAE;MACtB,IAAI,OAAOL,KAAK,CAACK,YAAY,CAACL,KAAK,KAAK,QAAQ,EAAE;QAChD,OAAOA,KAAK,CAACK,YAAY,CAACL,KAAK;MACjC,CAAC,MAAM,IAAI,OAAOA,KAAK,CAACK,YAAY,CAACC,GAAG,KAAK,QAAQ,EAAE;QACrD,OAAON,KAAK,CAACK,YAAY,CAACC,GAAG;MAC/B;IACF;EACF;EACA,IAAIN,KAAK,IAAI,IAAI,EAAE;IACjB,OAAO,eAAe;EACxB;EACA,OAAOA,KAAK,CAACO,QAAQ,EAAE;AACzB;AAEA,OAAO,SAASC,sBAAsBA,CAACR,KAAc,EAAW;EAC9D,OACEA,KAAK,YAAYJ,iBAAiB,IAClCI,KAAK,CAACS,QAAQ,CAACC,MAAM,KAAK,GAAG,IAC7B,CAAC,CAACV,KAAK,CAACK,YAAY,IACpBL,KAAK,CAACK,YAAY,CAACM,IAAI,KAAK,MAAM;AAEtC;AAEA,IAAIC,yBAAyB,GAAG,KAAK;AAErC,IAAIC,gBAAoC;;AAExC;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,eAAeA,CAACd,KAAc,EAAE;EAC9C;EACA,IAAIA,KAAK,YAAYN,cAAc,EAAE;IACnC;EACF;;EAEA;EACA,IAAIc,sBAAsB,CAACR,KAAK,CAAC,IAAI,CAACe,MAAM,CAACC,aAAa,EAAE;IAC1D,IAAIJ,yBAAyB,EAAE;MAC7B;IACF;IACAA,yBAAyB,GAAG,IAAI;IAChC;IACA,IAAIK,OAAO,CAAC,uBAAuB,CAAC,EAAE;MACpC,IAAMC,UAAU,GAAGrB,UAAU,EAAE,CAACsB,eAAe,EAAE,CAAC,aAAa,CAAC;MAChE,IAAMC,OAAO,GAAGtB,UAAU,EAAE;MAC5BsB,OAAO,CAACC,IAAI,CAACH,UAAU,GAAG,iBAAiB,GAAG,aAAa,EAAE;QAC3DI,IAAI,EAAAC,aAAA,CAAAA,aAAA,KACCH,OAAO,CAACI,QAAQ;UACnBC,KAAK,EAAEC;QAAS;MAEpB,CAAC,CAAC;IACJ;IACAC,UAAU,CAAC,MAAM;MACff,yBAAyB,GAAG,KAAK;IACnC,CAAC,EAAE,CAAC,CAAC;IACL;EACF;;EAEA;EACAgB,OAAO,CAAC5B,KAAK,CAACA,KAAK,CAAC;EAEpB,IAAM6B,OAAO,GAAG9B,iBAAiB,CAACC,KAAK,CAAC;EACxC,IAAI6B,OAAO,KAAKhB,gBAAgB,EAAE;IAChCA,gBAAgB,GAAGgB,OAAO;IAC1BC,KAAK,CAACD,OAAO,CAAC;IACdF,UAAU,CAAC,MAAM;MACfd,gBAAgB,GAAGa,SAAS;IAC9B,CAAC,EAAE,IAAI,CAAC;EACV;EACA;AACF"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { createBrowserHistory } from "history";
|
|
2
|
+
import { getBasePath } from "./getBasePath.js";
|
|
3
|
+
import { getUserConfirmation, historyExtended } from "./internal/historyExtended.js";
|
|
4
|
+
var history;
|
|
5
|
+
export function createHistory() {
|
|
6
|
+
if (!history) {
|
|
7
|
+
// https://github.com/remix-run/history/issues/810
|
|
8
|
+
var browserHistory = createBrowserHistory({
|
|
9
|
+
basename: getBasePath().replace(/\/$/, ""),
|
|
10
|
+
getUserConfirmation
|
|
11
|
+
});
|
|
12
|
+
Object.assign(browserHistory, historyExtended(browserHistory));
|
|
13
|
+
history = browserHistory;
|
|
14
|
+
}
|
|
15
|
+
return history;
|
|
16
|
+
}
|
|
17
|
+
export function getHistory() {
|
|
18
|
+
return history;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=history.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"history.js","names":["createBrowserHistory","getBasePath","getUserConfirmation","historyExtended","history","createHistory","browserHistory","basename","replace","Object","assign","getHistory"],"sources":["../../src/history.ts"],"sourcesContent":["import { History, Location, createBrowserHistory } from \"history\";\nimport { getBasePath } from \"./getBasePath.js\";\nimport {\n type ExtendedHistory,\n getUserConfirmation,\n historyExtended,\n NextHistoryState,\n} from \"./internal/historyExtended.js\";\n\nexport type NextHistory = History<NextHistoryState> & ExtendedHistory;\n\nlet history: NextHistory;\n\nexport function createHistory(): NextHistory {\n if (!history) {\n // https://github.com/remix-run/history/issues/810\n const browserHistory = createBrowserHistory<NextHistoryState>({\n basename: getBasePath().replace(/\\/$/, \"\"),\n getUserConfirmation,\n });\n Object.assign(browserHistory, historyExtended(browserHistory));\n history = browserHistory as NextHistory;\n }\n return history;\n}\n\nexport function getHistory(): NextHistory {\n return history;\n}\n\nexport type NextLocation = Location<NextHistoryState>;\n\nexport type { NextHistoryState };\n"],"mappings":"AAAA,SAA4BA,oBAAoB,QAAQ,SAAS;AACjE,SAASC,WAAW,QAAQ,kBAAkB;AAC9C,SAEEC,mBAAmB,EACnBC,eAAe,QAEV,+BAA+B;AAItC,IAAIC,OAAoB;AAExB,OAAO,SAASC,aAAaA,CAAA,EAAgB;EAC3C,IAAI,CAACD,OAAO,EAAE;IACZ;IACA,IAAME,cAAc,GAAGN,oBAAoB,CAAmB;MAC5DO,QAAQ,EAAEN,WAAW,EAAE,CAACO,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;MAC1CN;IACF,CAAC,CAAC;IACFO,MAAM,CAACC,MAAM,CAACJ,cAAc,EAAEH,eAAe,CAACG,cAAc,CAAC,CAAC;IAC9DF,OAAO,GAAGE,cAA6B;EACzC;EACA,OAAOF,OAAO;AAChB;AAEA,OAAO,SAASO,UAAUA,CAAA,EAAgB;EACxC,OAAOP,OAAO;AAChB"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export * from "./auth.js";
|
|
2
|
+
export * from "./CustomProcessors.js";
|
|
3
|
+
export * from "./CustomTemplates.js";
|
|
4
|
+
export * from "./fetchByProvider.js";
|
|
5
|
+
export * from "./getBasePath.js";
|
|
6
|
+
export * from "./getPageInfo.js";
|
|
7
|
+
export * from "./handleHttpError.js";
|
|
8
|
+
export * from "./history.js";
|
|
9
|
+
export { createRuntime, getRuntime } from "./internal/Runtime.js";
|
|
10
|
+
import * as _secret_internals from "./internal/secret_internals.js";
|
|
11
|
+
export { _secret_internals as __secret_internals };
|
|
12
|
+
export { getCssPropertyValue, getCurrentTheme, getCurrentMode, batchSetAppsLocalTheme, applyTheme } from "./themeAndMode.js";
|
|
13
|
+
export { checkIfOfComputed, checkIfByTransform } from "./internal/compute/checkIf.js";
|
|
14
|
+
export { registerWidgetFunctions } from "./internal/compute/WidgetFunctions.js";
|
|
15
|
+
export { registerWidgetI18n } from "./internal/compute/WidgetI18n.js";
|
|
16
|
+
export { StoryboardFunctionRegistryFactory } from "./StoryboardFunctionRegistry.js";
|
|
17
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["createRuntime","getRuntime","_secret_internals","__secret_internals","getCssPropertyValue","getCurrentTheme","getCurrentMode","batchSetAppsLocalTheme","applyTheme","checkIfOfComputed","checkIfByTransform","registerWidgetFunctions","registerWidgetI18n","StoryboardFunctionRegistryFactory"],"sources":["../../src/index.ts"],"sourcesContent":["export * from \"./auth.js\";\nexport * from \"./CustomProcessors.js\";\nexport * from \"./CustomTemplates.js\";\nexport * from \"./fetchByProvider.js\";\nexport * from \"./getBasePath.js\";\nexport * from \"./getPageInfo.js\";\nexport * from \"./handleHttpError.js\";\nexport * from \"./history.js\";\nexport { createRuntime, getRuntime } from \"./internal/Runtime.js\";\nexport * as __secret_internals from \"./internal/secret_internals.js\";\nexport {\n getCssPropertyValue,\n getCurrentTheme,\n getCurrentMode,\n batchSetAppsLocalTheme,\n applyTheme,\n} from \"./themeAndMode.js\";\nexport {\n checkIfOfComputed,\n checkIfByTransform,\n} from \"./internal/compute/checkIf.js\";\nexport { registerWidgetFunctions } from \"./internal/compute/WidgetFunctions.js\";\nexport { registerWidgetI18n } from \"./internal/compute/WidgetI18n.js\";\nexport { StoryboardFunctionRegistryFactory } from \"./StoryboardFunctionRegistry.js\";\n"],"mappings":"AAAA,cAAc,WAAW;AACzB,cAAc,uBAAuB;AACrC,cAAc,sBAAsB;AACpC,cAAc,sBAAsB;AACpC,cAAc,kBAAkB;AAChC,cAAc,kBAAkB;AAChC,cAAc,sBAAsB;AACpC,cAAc,cAAc;AAC5B,SAASA,aAAa,EAAEC,UAAU,QAAQ,uBAAuB;AAAC,YAAAC,iBAAA,MAC9B,gCAAgC;AAAA,SAAAA,iBAAA,IAAxDC,kBAAkB;AAC9B,SACEC,mBAAmB,EACnBC,eAAe,EACfC,cAAc,EACdC,sBAAsB,EACtBC,UAAU,QACL,mBAAmB;AAC1B,SACEC,iBAAiB,EACjBC,kBAAkB,QACb,+BAA+B;AACtC,SAASC,uBAAuB,QAAQ,uCAAuC;AAC/E,SAASC,kBAAkB,QAAQ,kCAAkC;AACrE,SAASC,iCAAiC,QAAQ,iCAAiC"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { getTplStateStore } from "./utils.js";
|
|
2
|
+
export function bindTemplateProxy(brick) {
|
|
3
|
+
var _tplHostMetadata$prox;
|
|
4
|
+
var {
|
|
5
|
+
ref,
|
|
6
|
+
runtimeContext,
|
|
7
|
+
element
|
|
8
|
+
} = brick;
|
|
9
|
+
|
|
10
|
+
// Error recovering brick may have no runtimeContext.
|
|
11
|
+
if (!ref || !runtimeContext.tplStateStoreId) {
|
|
12
|
+
return;
|
|
13
|
+
}
|
|
14
|
+
var {
|
|
15
|
+
hostBrick
|
|
16
|
+
} = getTplStateStore(runtimeContext, "bindTemplateProxy");
|
|
17
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
18
|
+
var tplHostMetadata = hostBrick.tplHostMetadata;
|
|
19
|
+
tplHostMetadata.internalBricksByRef.set(ref, brick);
|
|
20
|
+
var events = (_tplHostMetadata$prox = tplHostMetadata.proxy) === null || _tplHostMetadata$prox === void 0 ? void 0 : _tplHostMetadata$prox.events;
|
|
21
|
+
if (events) {
|
|
22
|
+
var _loop = function (from, to) {
|
|
23
|
+
if (to.ref === ref) {
|
|
24
|
+
var _to$refEvent, _ref, _ref$$$proxyListeners;
|
|
25
|
+
var listener = e => {
|
|
26
|
+
if (e.bubbles) {
|
|
27
|
+
e.stopPropagation();
|
|
28
|
+
}
|
|
29
|
+
hostBrick.element.dispatchEvent(new CustomEvent(from, {
|
|
30
|
+
detail: e.detail,
|
|
31
|
+
bubbles: e.bubbles,
|
|
32
|
+
cancelable: e.cancelable,
|
|
33
|
+
composed: e.composed
|
|
34
|
+
}));
|
|
35
|
+
};
|
|
36
|
+
var eventType = (_to$refEvent = to.refEvent) !== null && _to$refEvent !== void 0 ? _to$refEvent : from;
|
|
37
|
+
element.addEventListener(eventType, listener);
|
|
38
|
+
(_ref$$$proxyListeners = (_ref = element).$$proxyListeners) !== null && _ref$$$proxyListeners !== void 0 ? _ref$$$proxyListeners : _ref.$$proxyListeners = [];
|
|
39
|
+
element.$$proxyListeners.push([eventType, listener]);
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
for (var [from, to] of Object.entries(events)) {
|
|
43
|
+
_loop(from, to);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
export function unbindTemplateProxy(brick) {
|
|
48
|
+
var {
|
|
49
|
+
ref,
|
|
50
|
+
runtimeContext,
|
|
51
|
+
element
|
|
52
|
+
} = brick;
|
|
53
|
+
if (!runtimeContext.tplStateStoreId || !ref) {
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
var {
|
|
57
|
+
hostBrick
|
|
58
|
+
} = getTplStateStore(runtimeContext, "unbindTemplateProxy");
|
|
59
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
60
|
+
var tplHostMetadata = hostBrick.tplHostMetadata;
|
|
61
|
+
tplHostMetadata.internalBricksByRef.delete(ref);
|
|
62
|
+
for (var [type, fn] of (_$$proxyListeners = element.$$proxyListeners) !== null && _$$proxyListeners !== void 0 ? _$$proxyListeners : []) {
|
|
63
|
+
var _$$proxyListeners;
|
|
64
|
+
element.removeEventListener(type, fn);
|
|
65
|
+
}
|
|
66
|
+
delete element.$$proxyListeners;
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=bindTemplateProxy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bindTemplateProxy.js","names":["getTplStateStore","bindTemplateProxy","brick","_tplHostMetadata$prox","ref","runtimeContext","element","tplStateStoreId","hostBrick","tplHostMetadata","internalBricksByRef","set","events","proxy","_loop","from","to","_to$refEvent","_ref","_ref$$$proxyListeners","listener","e","bubbles","stopPropagation","dispatchEvent","CustomEvent","detail","cancelable","composed","eventType","refEvent","addEventListener","$$proxyListeners","push","Object","entries","unbindTemplateProxy","delete","type","fn","_$$proxyListeners","removeEventListener"],"sources":["../../../../src/internal/CustomTemplates/bindTemplateProxy.ts"],"sourcesContent":["import type { RuntimeBrick } from \"../interfaces.js\";\nimport { getTplStateStore } from \"./utils.js\";\n\nexport function bindTemplateProxy(brick: RuntimeBrick) {\n const { ref, runtimeContext, element } = brick;\n\n // Error recovering brick may have no runtimeContext.\n if (!ref || !runtimeContext.tplStateStoreId) {\n return;\n }\n\n const { hostBrick } = getTplStateStore(runtimeContext, \"bindTemplateProxy\");\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const tplHostMetadata = hostBrick!.tplHostMetadata!;\n\n tplHostMetadata.internalBricksByRef.set(ref, brick);\n\n const events = tplHostMetadata.proxy?.events;\n if (events) {\n for (const [from, to] of Object.entries(events)) {\n if (to.ref === ref) {\n const listener = (e: Event) => {\n if (e.bubbles) {\n e.stopPropagation();\n }\n hostBrick!.element!.dispatchEvent(\n new CustomEvent(from, {\n detail: (e as CustomEvent).detail,\n bubbles: e.bubbles,\n cancelable: e.cancelable,\n composed: e.composed,\n })\n );\n };\n const eventType = to.refEvent ?? from;\n element!.addEventListener(eventType, listener);\n element!.$$proxyListeners ??= [];\n element!.$$proxyListeners.push([eventType, listener]);\n }\n }\n }\n}\n\nexport function unbindTemplateProxy(brick: RuntimeBrick) {\n const { ref, runtimeContext, element } = brick;\n\n if (!runtimeContext.tplStateStoreId || !ref) {\n return;\n }\n\n const { hostBrick } = getTplStateStore(runtimeContext, \"unbindTemplateProxy\");\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const tplHostMetadata = hostBrick!.tplHostMetadata!;\n\n tplHostMetadata.internalBricksByRef.delete(ref);\n\n for (const [type, fn] of element!.$$proxyListeners ?? []) {\n element!.removeEventListener(type, fn);\n }\n delete element!.$$proxyListeners;\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export var symbolForAsyncComputedPropsFromHost = Symbol.for("tpl.asyncComputedPropsFromHost");
|
|
2
|
+
export var symbolForTplStateStoreId = Symbol.for("tpl.stateStoreId");
|
|
3
|
+
export var symbolForTPlExternalForEachItem = Symbol.for("tpl.externalForEachItem");
|
|
4
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","names":["symbolForAsyncComputedPropsFromHost","Symbol","for","symbolForTplStateStoreId","symbolForTPlExternalForEachItem"],"sources":["../../../../src/internal/CustomTemplates/constants.ts"],"sourcesContent":["import type { BrickConf } from \"@next-core/types\";\nimport type { AsyncProperties } from \"../interfaces.js\";\n\nexport const symbolForAsyncComputedPropsFromHost = Symbol.for(\n \"tpl.asyncComputedPropsFromHost\"\n);\nexport const symbolForTplStateStoreId = Symbol.for(\"tpl.stateStoreId\");\nexport const symbolForTPlExternalForEachItem = Symbol.for(\n \"tpl.externalForEachItem\"\n);\n\nexport type RuntimeBrickConfWithTplSymbols = BrickConf &\n RuntimeBrickConfOfTplSymbols;\n\nexport interface RuntimeBrickConfOfTplSymbols {\n [symbolForAsyncComputedPropsFromHost]?: AsyncProperties;\n [symbolForTplStateStoreId]?: string;\n [symbolForTPlExternalForEachItem]?: unknown;\n}\n"],"mappings":"AAGA,OAAO,IAAMA,mCAAmC,GAAGC,MAAM,CAACC,GAAG,CAC3D,gCAAgC,CACjC;AACD,OAAO,IAAMC,wBAAwB,GAAGF,MAAM,CAACC,GAAG,CAAC,kBAAkB,CAAC;AACtE,OAAO,IAAME,+BAA+B,GAAGH,MAAM,CAACC,GAAG,CACvD,yBAAyB,CAC1B"}
|