@next-core/runtime 1.59.5 → 1.61.0

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 (35) hide show
  1. package/dist/cjs/createRoot.js +4 -2
  2. package/dist/cjs/createRoot.js.map +1 -1
  3. package/dist/cjs/getV2RuntimeFromDll.js.map +1 -1
  4. package/dist/cjs/internal/compute/computeRealValue.js +17 -2
  5. package/dist/cjs/internal/compute/computeRealValue.js.map +1 -1
  6. package/dist/cjs/internal/compute/evaluate.js +19 -7
  7. package/dist/cjs/internal/compute/evaluate.js.map +1 -1
  8. package/dist/cjs/internal/data/DataStore.js +3 -0
  9. package/dist/cjs/internal/data/DataStore.js.map +1 -1
  10. package/dist/cjs/internal/interfaces.js.map +1 -1
  11. package/dist/cjs/internal/legacy_transform.js +88 -0
  12. package/dist/cjs/internal/legacy_transform.js.map +1 -0
  13. package/dist/cjs/internal/secret_internals.js +19 -19
  14. package/dist/cjs/internal/secret_internals.js.map +1 -1
  15. package/dist/esm/createRoot.js +4 -2
  16. package/dist/esm/createRoot.js.map +1 -1
  17. package/dist/esm/getV2RuntimeFromDll.js.map +1 -1
  18. package/dist/esm/internal/compute/computeRealValue.js +17 -2
  19. package/dist/esm/internal/compute/computeRealValue.js.map +1 -1
  20. package/dist/esm/internal/compute/evaluate.js +21 -9
  21. package/dist/esm/internal/compute/evaluate.js.map +1 -1
  22. package/dist/esm/internal/data/DataStore.js +3 -0
  23. package/dist/esm/internal/data/DataStore.js.map +1 -1
  24. package/dist/esm/internal/interfaces.js.map +1 -1
  25. package/dist/esm/internal/legacy_transform.js +81 -0
  26. package/dist/esm/internal/legacy_transform.js.map +1 -0
  27. package/dist/esm/internal/secret_internals.js +1 -19
  28. package/dist/esm/internal/secret_internals.js.map +1 -1
  29. package/dist/types/createRoot.d.ts +8 -1
  30. package/dist/types/getV2RuntimeFromDll.d.ts +10 -0
  31. package/dist/types/internal/data/DataStore.d.ts +1 -0
  32. package/dist/types/internal/interfaces.d.ts +1 -0
  33. package/dist/types/internal/legacy_transform.d.ts +7 -0
  34. package/dist/types/internal/secret_internals.d.ts +1 -2
  35. package/package.json +2 -2
@@ -0,0 +1,81 @@
1
+ import { get, set } from "lodash";
2
+ import { _internalApiGetRuntimeContext } from "./Runtime.js";
3
+ import { computeRealValue } from "./compute/computeRealValue.js";
4
+ import { getV2RuntimeFromDll } from "../getV2RuntimeFromDll.js";
5
+
6
+ /** For v2 compatibility of `doTransform` from brick-kit. */
7
+ export function legacyDoTransform(data, to, options) {
8
+ const v2Kit = getV2RuntimeFromDll();
9
+ if (v2Kit) {
10
+ return v2Kit.doTransform(data, to, options);
11
+ }
12
+ if (options) {
13
+ throw new Error("Legacy doTransform does not support options in v3");
14
+ }
15
+ return computeRealValue(to, {
16
+ ..._internalApiGetRuntimeContext(),
17
+ data
18
+ }, {
19
+ noInject: true
20
+ });
21
+ }
22
+
23
+ /** For v2 compatibility of `transformProperties` from brick-kit. */
24
+ export function legacyTransformProperties(props, data, to, from, mapArray, options) {
25
+ const v2Kit = getV2RuntimeFromDll();
26
+ if (v2Kit) {
27
+ return v2Kit.transformProperties(props, data, to, from, mapArray, options);
28
+ }
29
+ if (options) {
30
+ throw new Error("Legacy transformProperties does not support options in v3");
31
+ }
32
+ const result = preprocessTransformProperties(data, to, from, mapArray);
33
+ for (const [propName, propValue] of Object.entries(result)) {
34
+ set(props, propName, propValue);
35
+ }
36
+ return props;
37
+ }
38
+
39
+ /** For v2 compatibility of `transformIntermediateData` from brick-kit. */
40
+ export function legacyTransformIntermediateData(data, to, from, mapArray) {
41
+ const intermediateData = from ? get(data, from) : data;
42
+ if (!to) {
43
+ return intermediateData;
44
+ }
45
+ return legacyTransformProperties({}, intermediateData, to, undefined, mapArray);
46
+ }
47
+ function preprocessTransformProperties(data, to, from, mapArray) {
48
+ const props = {};
49
+ const processedData = from ? get(data, from) : data;
50
+ if (Array.isArray(to)) {
51
+ for (const item of to) {
52
+ pipeableTransform(props, processedData, item.to, item.from, item.mapArray);
53
+ }
54
+ } else {
55
+ pipeableTransform(props, processedData, to, undefined, mapArray);
56
+ }
57
+ return props;
58
+ }
59
+ function pipeableTransform(props, data, to, from, mapArray) {
60
+ if (!to) {
61
+ // Do nothing if `to` is falsy.
62
+ return;
63
+ }
64
+ let fromData = from ? get(data, from) : data;
65
+ let isArray = Array.isArray(fromData);
66
+ if (!isArray && mapArray === true) {
67
+ isArray = true;
68
+ fromData = [fromData];
69
+ } else if (isArray && mapArray === false) {
70
+ isArray = false;
71
+ }
72
+ if (typeof to === "string") {
73
+ props[to] = fromData;
74
+ return;
75
+ }
76
+ for (const [transformedPropName, transformTo] of Object.entries(to)) {
77
+ // If `fromData` is an array, mapping it's items.
78
+ props[transformedPropName] = isArray ? fromData.map(item => legacyDoTransform(item, transformTo)) : legacyDoTransform(fromData, transformTo);
79
+ }
80
+ }
81
+ //# sourceMappingURL=legacy_transform.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"legacy_transform.js","names":["get","set","_internalApiGetRuntimeContext","computeRealValue","getV2RuntimeFromDll","legacyDoTransform","data","to","options","v2Kit","doTransform","Error","noInject","legacyTransformProperties","props","from","mapArray","transformProperties","result","preprocessTransformProperties","propName","propValue","Object","entries","legacyTransformIntermediateData","intermediateData","undefined","processedData","Array","isArray","item","pipeableTransform","fromData","transformedPropName","transformTo","map"],"sources":["../../../src/internal/legacy_transform.ts"],"sourcesContent":["import { get, set } from \"lodash\";\nimport { _internalApiGetRuntimeContext } from \"./Runtime.js\";\nimport { computeRealValue } from \"./compute/computeRealValue.js\";\nimport {\n getV2RuntimeFromDll,\n type LegacyGeneralTransform,\n type LegacyTransformMap,\n} from \"../getV2RuntimeFromDll.js\";\n\n/** For v2 compatibility of `doTransform` from brick-kit. */\nexport function legacyDoTransform(\n data: unknown,\n to: unknown,\n options?: unknown\n) {\n const v2Kit = getV2RuntimeFromDll();\n if (v2Kit) {\n return v2Kit.doTransform(data, to, options);\n }\n if (options) {\n throw new Error(\"Legacy doTransform does not support options in v3\");\n }\n return computeRealValue(\n to,\n {\n ..._internalApiGetRuntimeContext()!,\n data,\n },\n {\n noInject: true,\n }\n );\n}\n\n/** For v2 compatibility of `transformProperties` from brick-kit. */\nexport function legacyTransformProperties(\n props: Record<string, unknown>,\n data: unknown,\n to: LegacyGeneralTransform,\n from?: string | string[],\n mapArray?: boolean | \"auto\",\n options?: unknown\n): Record<string, unknown> {\n const v2Kit = getV2RuntimeFromDll();\n if (v2Kit) {\n return v2Kit.transformProperties(props, data, to, from, mapArray, options);\n }\n if (options) {\n throw new Error(\n \"Legacy transformProperties does not support options in v3\"\n );\n }\n\n const result = preprocessTransformProperties(data, to, from, mapArray);\n for (const [propName, propValue] of Object.entries(result)) {\n set(props, propName, propValue);\n }\n return props;\n}\n\n/** For v2 compatibility of `transformIntermediateData` from brick-kit. */\nexport function legacyTransformIntermediateData(\n data: unknown,\n to: LegacyGeneralTransform,\n from?: string | string[],\n mapArray?: boolean | \"auto\"\n): unknown {\n const intermediateData = from ? get(data, from) : data;\n if (!to) {\n return intermediateData;\n }\n return legacyTransformProperties(\n {},\n intermediateData,\n to,\n undefined,\n mapArray\n );\n}\n\nfunction preprocessTransformProperties(\n data: unknown,\n to: LegacyGeneralTransform,\n from?: string | string[],\n mapArray?: boolean | \"auto\"\n): Record<string, unknown> {\n const props: Record<string, unknown> = {};\n const processedData = from ? get(data, from) : data;\n\n if (Array.isArray(to)) {\n for (const item of to) {\n pipeableTransform(\n props,\n processedData,\n item.to,\n item.from,\n item.mapArray\n );\n }\n } else {\n pipeableTransform(props, processedData, to, undefined, mapArray);\n }\n return props;\n}\n\nfunction pipeableTransform(\n props: Record<string, unknown>,\n data: unknown,\n to: string | LegacyTransformMap | null | undefined,\n from?: string | string[],\n mapArray?: boolean | \"auto\"\n): void {\n if (!to) {\n // Do nothing if `to` is falsy.\n return;\n }\n\n let fromData = from ? get(data, from) : data;\n\n let isArray = Array.isArray(fromData);\n if (!isArray && mapArray === true) {\n isArray = true;\n fromData = [fromData];\n } else if (isArray && mapArray === false) {\n isArray = false;\n }\n\n if (typeof to === \"string\") {\n props[to] = fromData;\n return;\n }\n\n for (const [transformedPropName, transformTo] of Object.entries(to)) {\n // If `fromData` is an array, mapping it's items.\n props[transformedPropName] = isArray\n ? (fromData as unknown[]).map((item) =>\n legacyDoTransform(item, transformTo)\n )\n : legacyDoTransform(fromData, transformTo);\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -6,14 +6,12 @@ import { resolveData } from "./data/resolveData.js";
6
6
  import { asyncComputeRealValue } from "./compute/computeRealValue.js";
7
7
  import { mountTree, unmountTree } from "./mount.js";
8
8
  import { RenderTag } from "./enums.js";
9
- import { computeRealValue } from "./compute/computeRealValue.js";
10
9
  import { isStrictMode } from "../isStrictMode.js";
11
10
  import { customTemplates } from "../CustomTemplates.js";
12
11
  import { registerAppI18n } from "./registerAppI18n.js";
13
12
  import { getTplStateStore } from "./CustomTemplates/utils.js";
14
13
  import { loadBricksImperatively, loadEditorsImperatively } from "@next-core/loader";
15
14
  import { getMatchedRoute } from "./routeMatchedMap.js";
16
- import { getV2RuntimeFromDll } from "../getV2RuntimeFromDll.js";
17
15
  export const symbolForRootRuntimeContext = Symbol.for("root.runtimeContext");
18
16
  export async function renderUseBrick(useBrick, data, errorBoundary) {
19
17
  var _useBrick$symbolForRo, _scopedRuntimeContext, _scopedRuntimeContext2, _output$node, _output$node2;
@@ -95,23 +93,6 @@ export function unmountUseBrick(_ref2, mountResult) {
95
93
  rendererContext.dispatchOnUnmount();
96
94
  rendererContext.dispose();
97
95
  }
98
-
99
- /** For v2 compatibility of `doTransform` from brick-kit. */
100
- export function legacyDoTransform(data, to, options) {
101
- const v2Kit = getV2RuntimeFromDll();
102
- if (v2Kit) {
103
- return v2Kit.doTransform(data, to, options);
104
- }
105
- if (options) {
106
- throw new Error("Legacy doTransform does not support options in v3");
107
- }
108
- return computeRealValue(to, {
109
- ..._internalApiGetRuntimeContext(),
110
- data
111
- }, {
112
- noInject: true
113
- });
114
- }
115
96
  export function updateStoryboard(appId, storyboardPatch) {
116
97
  const storyboard = _internalApiGetStoryboardInBootstrapData(appId);
117
98
  Object.assign(storyboard, {
@@ -327,4 +308,5 @@ export function getLegalRuntimeValue(options) {
327
308
  };
328
309
  }
329
310
  export { setRealTimeDataInspectRoot, addRealTimeDataInspectHook } from "./data/realTimeDataInspect.js";
311
+ export { legacyDoTransform, legacyTransformProperties, legacyTransformIntermediateData } from "./legacy_transform.js";
330
312
  //# sourceMappingURL=secret_internals.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"secret_internals.js","names":["pick","_internalApiGetRenderId","_internalApiGetRuntimeContext","_internalApiGetStoryboardInBootstrapData","getBrickPackages","createScopedRuntimeContext","postAsyncRender","renderBrick","RendererContext","resolveData","asyncComputeRealValue","mountTree","unmountTree","RenderTag","computeRealValue","isStrictMode","customTemplates","registerAppI18n","getTplStateStore","loadBricksImperatively","loadEditorsImperatively","getMatchedRoute","getV2RuntimeFromDll","symbolForRootRuntimeContext","Symbol","for","renderUseBrick","useBrick","data","errorBoundary","_useBrick$symbolForRo","_scopedRuntimeContext","_scopedRuntimeContext2","_output$node","_output$node2","scopedRuntimeContext","tplStateStoreScope","formStateStoreScope","pendingPermissionsPreCheck","inUseBrick","tplStateStoreMap","Map","formStateStoreMap","rendererContext","renderRoot","tag","ROOT","createPortal","strict","output","scopedStores","node","PLACEHOLDER","tracking","Error","undefined","portal","child","tagName","type","mountUseBrick","_ref","element","portalRoot","document","querySelector","createElement","appendChild","dispatchOnMount","initializeScrollIntoView","initializeMediaChange","initializeMessageDispatcher","store","mountAsyncData","unmountUseBrick","_ref2","mountResult","remove","dispatchOnUnmount","dispose","legacyDoTransform","to","options","v2Kit","doTransform","noInject","updateStoryboard","appId","storyboardPatch","storyboard","Object","assign","meta","$$fulfilling","$$fulfilled","$$registerCustomTemplateProcessed","updateStoryboardByRoute","newRoute","matched","matchRoute","route","path","exact","replaceRoutes","routes","forEach","index","Array","isArray","bricks","replaceBricks","brick","slots","slotConf","values","unshift","updateStoryboardByTemplate","newTemplate","settings","tplName","name","define","proxy","state","updateTemplatePreviewSettings","templateId","_updatePreviewSettings","getSnippetPreviewPath","snippetId","updateStoryboardBySnippet","snippetData","_snippetData$bricks","length","context","updateSnippetPreviewSettings","previewRouteIndex","findIndex","newPreviewRoute","menu","splice","getContextValue","_ref3","tplStateStoreId","runtimeContext","tplStateStore","getValue","ctxStore","getAllContextValues","_ref4","getAllValues","getBrickPackagesById","id","find","pkg","filePath","startsWith","loadBricks","loadEditors","editors","brickPackages","getRenderId","getAddedContracts","_ref5","updateStoryboardType","collectUsedContracts","updatedStoryboard","_storyboard$routes","snippetPreviewPath","currentRoute","addedContracts","contractApis","api","_storyboard$meta","_","namespaceId","match","contracts","some","contract","push","debugDataValue","debugData","_ref6","routeId","resolve","cache","value","getLegalRuntimeValue","_runtimeContext$overr","app","overrideApp","location","setRealTimeDataInspectRoot","addRealTimeDataInspectHook"],"sources":["../../../src/internal/secret_internals.ts"],"sourcesContent":["import type {\n BrickConf,\n CustomTemplate,\n RouteConf,\n Storyboard,\n UseSingleBrickConf,\n RuntimeSnippet,\n ContextConf,\n BrickPackage,\n RouteConfOfBricks,\n} from \"@next-core/types\";\nimport { pick } from \"lodash\";\nimport {\n _internalApiGetRenderId,\n _internalApiGetRuntimeContext,\n _internalApiGetStoryboardInBootstrapData,\n getBrickPackages,\n} from \"./Runtime.js\";\nimport {\n createScopedRuntimeContext,\n postAsyncRender,\n renderBrick,\n} from \"./Renderer.js\";\nimport { RendererContext } from \"./RendererContext.js\";\nimport type { DataStore } from \"./data/DataStore.js\";\nimport { resolveData } from \"./data/resolveData.js\";\nimport { asyncComputeRealValue } from \"./compute/computeRealValue.js\";\nimport type {\n DataValueOption,\n PreviewOption,\n PreviewStoryboardPatch,\n RenderRoot,\n RuntimeContext,\n DebugDataValue,\n RuntimeDataVale,\n RuntimeDataValueOption,\n} from \"./interfaces.js\";\nimport { mountTree, unmountTree } from \"./mount.js\";\nimport { RenderTag } from \"./enums.js\";\nimport { computeRealValue } from \"./compute/computeRealValue.js\";\nimport { isStrictMode } from \"../isStrictMode.js\";\nimport { customTemplates } from \"../CustomTemplates.js\";\nimport { registerAppI18n } from \"./registerAppI18n.js\";\nimport { getTplStateStore } from \"./CustomTemplates/utils.js\";\nimport {\n loadBricksImperatively,\n loadEditorsImperatively,\n} from \"@next-core/loader\";\nimport { getMatchedRoute } from \"./routeMatchedMap.js\";\nimport { getV2RuntimeFromDll } from \"../getV2RuntimeFromDll.js\";\n\nexport type { DataValueOption, RuntimeContext };\n\nexport const symbolForRootRuntimeContext = Symbol.for(\"root.runtimeContext\");\n\nexport interface RuntimeUseBrickConfWithRootSymbols extends UseSingleBrickConf {\n [symbolForRootRuntimeContext]?: RuntimeContext;\n}\n\nexport interface RenderUseBrickResult {\n tagName: string | null;\n renderRoot: RenderRoot;\n rendererContext: RendererContext;\n scopedStores: DataStore<\"STATE\" | \"FORM_STATE\">[];\n}\n\nexport async function renderUseBrick(\n useBrick: RuntimeUseBrickConfWithRootSymbols,\n data: unknown,\n errorBoundary?: boolean\n): Promise<RenderUseBrickResult> {\n const [scopedRuntimeContext, tplStateStoreScope, formStateStoreScope] =\n createScopedRuntimeContext({\n ...(useBrick[symbolForRootRuntimeContext] ??\n _internalApiGetRuntimeContext()!),\n data,\n pendingPermissionsPreCheck: [],\n });\n\n scopedRuntimeContext.inUseBrick = true;\n scopedRuntimeContext.tplStateStoreMap ??= new Map();\n scopedRuntimeContext.formStateStoreMap ??= new Map();\n\n const rendererContext = new RendererContext(\"fragment\");\n\n const renderRoot: RenderRoot = {\n tag: RenderTag.ROOT,\n // Will set during `mountUseBrick`\n createPortal: null!,\n };\n\n const strict = isStrictMode();\n\n const output = await renderBrick(\n renderRoot,\n strict && !errorBoundary\n ? useBrick\n : {\n errorBoundary,\n ...useBrick,\n },\n scopedRuntimeContext,\n rendererContext,\n [],\n {}\n );\n\n const scopedStores = [...tplStateStoreScope, ...formStateStoreScope];\n\n await postAsyncRender(output, scopedRuntimeContext, scopedStores);\n\n if (output.node?.tag === RenderTag.PLACEHOLDER) {\n if (output.node.tracking) {\n throw new Error(\n \"The root brick of useBrick cannot be an ignored tracking control node\"\n );\n }\n output.node = undefined;\n }\n\n if (output.node?.portal) {\n throw new Error(\"The root brick of useBrick cannot be a portal brick\");\n }\n\n renderRoot.child = output.node;\n\n const tagName = output.node ? output.node.type : null;\n\n return { tagName, renderRoot, rendererContext, scopedStores };\n}\n\nexport interface MountUseBrickResult {\n portal?: HTMLElement;\n}\n\nexport function mountUseBrick(\n { renderRoot, rendererContext, scopedStores }: RenderUseBrickResult,\n element: HTMLElement\n): MountUseBrickResult {\n let portal: HTMLElement | undefined;\n renderRoot.createPortal = () => {\n const portalRoot = document.querySelector(\n \"#portal-mount-point\"\n ) as HTMLElement;\n portal = document.createElement(\"div\");\n portalRoot.appendChild(portal);\n return portal;\n };\n\n mountTree(renderRoot, element);\n\n rendererContext.dispatchOnMount();\n rendererContext.initializeScrollIntoView();\n rendererContext.initializeMediaChange();\n rendererContext.initializeMessageDispatcher();\n\n for (const store of scopedStores) {\n store.mountAsyncData();\n }\n\n return {\n portal,\n };\n}\n\nexport function unmountUseBrick(\n { rendererContext }: RenderUseBrickResult,\n mountResult: MountUseBrickResult\n): void {\n // if (mountResult.mainBrick) {\n // mountResult.mainBrick.unmount();\n // }\n if (mountResult.portal) {\n unmountTree(mountResult.portal);\n mountResult.portal.remove();\n }\n rendererContext.dispatchOnUnmount();\n rendererContext.dispose();\n}\n\n/** For v2 compatibility of `doTransform` from brick-kit. */\nexport function legacyDoTransform(\n data: unknown,\n to: unknown,\n options?: unknown\n) {\n const v2Kit = getV2RuntimeFromDll();\n if (v2Kit) {\n return v2Kit.doTransform(data, to, options);\n }\n if (options) {\n throw new Error(\"Legacy doTransform does not support options in v3\");\n }\n return computeRealValue(\n to,\n {\n ..._internalApiGetRuntimeContext()!,\n data,\n },\n {\n noInject: true,\n }\n );\n}\n\nexport function updateStoryboard(\n appId: string,\n storyboardPatch: Partial<Storyboard>\n): void {\n const storyboard = _internalApiGetStoryboardInBootstrapData(appId)!;\n Object.assign(storyboard, {\n ...storyboardPatch,\n meta: {\n // Keep runtime fields such as `injectMenus`\n ...storyboard.meta,\n ...storyboardPatch.meta,\n },\n $$fulfilling: null,\n $$fulfilled: true,\n $$registerCustomTemplateProcessed: false,\n });\n registerAppI18n(storyboard);\n}\n\nexport function updateStoryboardByRoute(appId: string, newRoute: RouteConf) {\n const storyboard = _internalApiGetStoryboardInBootstrapData(appId)!;\n let matched = false;\n\n function matchRoute(route: RouteConf) {\n return route.path === newRoute.path && !route.exact === !newRoute.exact;\n }\n\n function replaceRoutes(routes: RouteConf[]) {\n routes.forEach((route, index) => {\n if (route.type === \"routes\") {\n replaceRoutes(route.routes);\n } else {\n if (matchRoute(route)) {\n matched = true;\n routes[index] = newRoute;\n } else if (Array.isArray((route as RouteConfOfBricks).bricks)) {\n replaceBricks((route as RouteConfOfBricks).bricks);\n }\n }\n });\n }\n\n function replaceBricks(bricks: BrickConf[]) {\n bricks.forEach((brick) => {\n if (brick.slots) {\n for (const slotConf of Object.values(brick.slots)) {\n if (slotConf.type === \"routes\") {\n replaceRoutes(slotConf.routes);\n } else {\n replaceBricks(slotConf.bricks);\n }\n }\n }\n });\n }\n\n replaceRoutes(storyboard.routes);\n\n if (!matched) {\n storyboard.routes.unshift(newRoute);\n }\n}\n\nexport function updateStoryboardByTemplate(\n appId: string,\n newTemplate: CustomTemplate,\n settings: unknown\n): void {\n const tplName = `${appId}.${newTemplate.name}`;\n // customTemplateRegistry.delete(tplName);\n customTemplates.define(tplName, {\n bricks: newTemplate.bricks,\n proxy: newTemplate.proxy,\n state: newTemplate.state,\n });\n updateTemplatePreviewSettings(appId, newTemplate.name, settings);\n}\n\nexport function updateTemplatePreviewSettings(\n appId: string,\n templateId: string,\n settings?: unknown\n): void {\n _updatePreviewSettings(\n appId,\n `\\${APP.homepage}/_dev_only_/template-preview/${templateId}`,\n [\n {\n brick: templateId,\n ...pick(\n settings,\n \"properties\",\n \"events\",\n \"lifeCycle\",\n \"context\",\n \"slots\",\n \"children\"\n ),\n },\n ]\n );\n}\n\nfunction getSnippetPreviewPath(snippetId: string): string {\n return `\\${APP.homepage}/_dev_only_/snippet-preview/${snippetId}`;\n}\n\nexport function updateStoryboardBySnippet(\n appId: string,\n snippetData: {\n snippetId: string;\n bricks?: BrickConf[];\n context?: ContextConf[];\n }\n): void {\n _updatePreviewSettings(\n appId,\n getSnippetPreviewPath(snippetData.snippetId),\n snippetData.bricks?.length ? snippetData.bricks : [{ brick: \"span\" }],\n snippetData.context\n );\n}\n\nexport const updateSnippetPreviewSettings = updateStoryboardBySnippet;\n\nfunction _updatePreviewSettings(\n appId: string,\n path: string,\n bricks: BrickConf[],\n context?: ContextConf[]\n) {\n const { routes } = _internalApiGetStoryboardInBootstrapData(appId)!;\n const previewRouteIndex = routes.findIndex((route) => route.path === path);\n const newPreviewRoute: RouteConf = {\n path,\n bricks,\n context,\n menu: false,\n exact: true,\n };\n if (previewRouteIndex === -1) {\n routes.unshift(newPreviewRoute);\n } else {\n routes.splice(previewRouteIndex, 1, newPreviewRoute);\n }\n}\n\nexport function getContextValue(\n name: string,\n { tplStateStoreId }: DataValueOption\n): unknown {\n const runtimeContext = _internalApiGetRuntimeContext()!;\n\n if (tplStateStoreId) {\n const tplStateStore = getTplStateStore(\n {\n ...runtimeContext,\n tplStateStoreId,\n },\n \"STATE\"\n );\n return tplStateStore.getValue(name);\n }\n\n return runtimeContext.ctxStore.getValue(name);\n}\n\nexport function getAllContextValues({\n tplStateStoreId,\n}: DataValueOption): Record<string, unknown> {\n const runtimeContext = _internalApiGetRuntimeContext()!;\n\n if (tplStateStoreId) {\n const tplStateStore = getTplStateStore(\n {\n ...runtimeContext,\n tplStateStoreId,\n },\n \"STATE\"\n );\n return tplStateStore.getAllValues();\n }\n\n return runtimeContext.ctxStore.getAllValues();\n}\n\nexport function getBrickPackagesById(id: string) {\n return getBrickPackages().find((pkg) =>\n pkg.id ? pkg.id === id : pkg.filePath.startsWith(`${id}/`)\n );\n}\n\n/**\n * Support loading v3 bricks only.\n */\nexport function loadBricks(bricks: string[]) {\n return loadBricksImperatively(bricks, getBrickPackages());\n}\n\n/**\n * Try the brick packages passed in, before using from bootstrap.\n */\nexport function loadEditors(\n editors: string[] | Set<string>,\n brickPackages?: BrickPackage[]\n) {\n return loadEditorsImperatively(editors, brickPackages ?? getBrickPackages());\n}\n\nexport function getRenderId() {\n return _internalApiGetRenderId();\n}\n\nexport async function getAddedContracts(\n storyboardPatch: PreviewStoryboardPatch,\n { appId, updateStoryboardType, collectUsedContracts }: PreviewOption\n): Promise<string[]> {\n const storyboard = _internalApiGetStoryboardInBootstrapData(appId);\n let updatedStoryboard;\n\n // 拿到更新部分的 storyboard 配置,然后扫描一遍,找到新增的 contracts\n if (updateStoryboardType === \"route\") {\n updatedStoryboard = {\n routes: [storyboardPatch as RouteConf],\n } as Storyboard;\n } else if (updateStoryboardType === \"template\") {\n updatedStoryboard = {\n meta: {\n customTemplates: [storyboardPatch as CustomTemplate],\n },\n } as Storyboard;\n } else if (updateStoryboardType === \"snippet\") {\n // snippet 是放在挂载 route 里预览,通过 previewPath 拿到当前修改 route\n const snippetPreviewPath = getSnippetPreviewPath(\n (storyboardPatch as RuntimeSnippet).snippetId\n );\n const currentRoute = storyboard?.routes?.find(\n (route) => route.path === snippetPreviewPath\n );\n\n updatedStoryboard = {\n routes: [currentRoute],\n } as Storyboard;\n }\n\n const addedContracts: string[] = [];\n\n if (updatedStoryboard && collectUsedContracts) {\n const contractApis = await collectUsedContracts(updatedStoryboard);\n\n contractApis.forEach((api: string) => {\n const [_, namespaceId, name] = api.match(\n /(.*)@(.*):\\d\\.\\d\\.\\d/\n ) as string[];\n\n if (\n !storyboard?.meta?.contracts?.some(\n (contract) =>\n contract.namespaceId === namespaceId && contract.name === name\n )\n ) {\n addedContracts.push(api);\n }\n });\n }\n\n return addedContracts;\n}\n\nexport async function debugDataValue(\n debugData: DebugDataValue,\n { tplStateStoreId, routeId }: DataValueOption\n): Promise<any> {\n const runtimeContext = {\n ..._internalApiGetRuntimeContext()!,\n tplStateStoreId,\n match: getMatchedRoute(routeId as string),\n };\n\n if (debugData.resolve) {\n return resolveData(debugData.resolve!, runtimeContext, { cache: \"reload\" });\n }\n\n return asyncComputeRealValue(debugData.value, runtimeContext);\n}\n\nexport function getLegalRuntimeValue(\n options?: RuntimeDataValueOption\n): RuntimeDataVale {\n const runtimeContext = _internalApiGetRuntimeContext();\n\n return {\n app: runtimeContext?.overrideApp ?? runtimeContext?.app,\n location: pick(location, [\"href\", \"origin\", \"hostname\", \"host\"]),\n ...pick(runtimeContext, [\"query\", \"sys\"]),\n match: getMatchedRoute(options?.routeId as string),\n } as RuntimeDataVale;\n}\n\nexport {\n setRealTimeDataInspectRoot,\n addRealTimeDataInspectHook,\n} from \"./data/realTimeDataInspect.js\";\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"secret_internals.js","names":["pick","_internalApiGetRenderId","_internalApiGetRuntimeContext","_internalApiGetStoryboardInBootstrapData","getBrickPackages","createScopedRuntimeContext","postAsyncRender","renderBrick","RendererContext","resolveData","asyncComputeRealValue","mountTree","unmountTree","RenderTag","isStrictMode","customTemplates","registerAppI18n","getTplStateStore","loadBricksImperatively","loadEditorsImperatively","getMatchedRoute","symbolForRootRuntimeContext","Symbol","for","renderUseBrick","useBrick","data","errorBoundary","_useBrick$symbolForRo","_scopedRuntimeContext","_scopedRuntimeContext2","_output$node","_output$node2","scopedRuntimeContext","tplStateStoreScope","formStateStoreScope","pendingPermissionsPreCheck","inUseBrick","tplStateStoreMap","Map","formStateStoreMap","rendererContext","renderRoot","tag","ROOT","createPortal","strict","output","scopedStores","node","PLACEHOLDER","tracking","Error","undefined","portal","child","tagName","type","mountUseBrick","_ref","element","portalRoot","document","querySelector","createElement","appendChild","dispatchOnMount","initializeScrollIntoView","initializeMediaChange","initializeMessageDispatcher","store","mountAsyncData","unmountUseBrick","_ref2","mountResult","remove","dispatchOnUnmount","dispose","updateStoryboard","appId","storyboardPatch","storyboard","Object","assign","meta","$$fulfilling","$$fulfilled","$$registerCustomTemplateProcessed","updateStoryboardByRoute","newRoute","matched","matchRoute","route","path","exact","replaceRoutes","routes","forEach","index","Array","isArray","bricks","replaceBricks","brick","slots","slotConf","values","unshift","updateStoryboardByTemplate","newTemplate","settings","tplName","name","define","proxy","state","updateTemplatePreviewSettings","templateId","_updatePreviewSettings","getSnippetPreviewPath","snippetId","updateStoryboardBySnippet","snippetData","_snippetData$bricks","length","context","updateSnippetPreviewSettings","previewRouteIndex","findIndex","newPreviewRoute","menu","splice","getContextValue","_ref3","tplStateStoreId","runtimeContext","tplStateStore","getValue","ctxStore","getAllContextValues","_ref4","getAllValues","getBrickPackagesById","id","find","pkg","filePath","startsWith","loadBricks","loadEditors","editors","brickPackages","getRenderId","getAddedContracts","_ref5","updateStoryboardType","collectUsedContracts","updatedStoryboard","_storyboard$routes","snippetPreviewPath","currentRoute","addedContracts","contractApis","api","_storyboard$meta","_","namespaceId","match","contracts","some","contract","push","debugDataValue","debugData","_ref6","routeId","resolve","cache","value","getLegalRuntimeValue","options","_runtimeContext$overr","app","overrideApp","location","setRealTimeDataInspectRoot","addRealTimeDataInspectHook","legacyDoTransform","legacyTransformProperties","legacyTransformIntermediateData"],"sources":["../../../src/internal/secret_internals.ts"],"sourcesContent":["import type {\n BrickConf,\n CustomTemplate,\n RouteConf,\n Storyboard,\n UseSingleBrickConf,\n RuntimeSnippet,\n ContextConf,\n BrickPackage,\n RouteConfOfBricks,\n} from \"@next-core/types\";\nimport { pick } from \"lodash\";\nimport {\n _internalApiGetRenderId,\n _internalApiGetRuntimeContext,\n _internalApiGetStoryboardInBootstrapData,\n getBrickPackages,\n} from \"./Runtime.js\";\nimport {\n createScopedRuntimeContext,\n postAsyncRender,\n renderBrick,\n} from \"./Renderer.js\";\nimport { RendererContext } from \"./RendererContext.js\";\nimport type { DataStore } from \"./data/DataStore.js\";\nimport { resolveData } from \"./data/resolveData.js\";\nimport { asyncComputeRealValue } from \"./compute/computeRealValue.js\";\nimport type {\n DataValueOption,\n PreviewOption,\n PreviewStoryboardPatch,\n RenderRoot,\n RuntimeContext,\n DebugDataValue,\n RuntimeDataVale,\n RuntimeDataValueOption,\n} from \"./interfaces.js\";\nimport { mountTree, unmountTree } from \"./mount.js\";\nimport { RenderTag } from \"./enums.js\";\nimport { isStrictMode } from \"../isStrictMode.js\";\nimport { customTemplates } from \"../CustomTemplates.js\";\nimport { registerAppI18n } from \"./registerAppI18n.js\";\nimport { getTplStateStore } from \"./CustomTemplates/utils.js\";\nimport {\n loadBricksImperatively,\n loadEditorsImperatively,\n} from \"@next-core/loader\";\nimport { getMatchedRoute } from \"./routeMatchedMap.js\";\n\nexport type { DataValueOption, RuntimeContext };\n\nexport const symbolForRootRuntimeContext = Symbol.for(\"root.runtimeContext\");\n\nexport interface RuntimeUseBrickConfWithRootSymbols extends UseSingleBrickConf {\n [symbolForRootRuntimeContext]?: RuntimeContext;\n}\n\nexport interface RenderUseBrickResult {\n tagName: string | null;\n renderRoot: RenderRoot;\n rendererContext: RendererContext;\n scopedStores: DataStore<\"STATE\" | \"FORM_STATE\">[];\n}\n\nexport async function renderUseBrick(\n useBrick: RuntimeUseBrickConfWithRootSymbols,\n data: unknown,\n errorBoundary?: boolean\n): Promise<RenderUseBrickResult> {\n const [scopedRuntimeContext, tplStateStoreScope, formStateStoreScope] =\n createScopedRuntimeContext({\n ...(useBrick[symbolForRootRuntimeContext] ??\n _internalApiGetRuntimeContext()!),\n data,\n pendingPermissionsPreCheck: [],\n });\n\n scopedRuntimeContext.inUseBrick = true;\n scopedRuntimeContext.tplStateStoreMap ??= new Map();\n scopedRuntimeContext.formStateStoreMap ??= new Map();\n\n const rendererContext = new RendererContext(\"fragment\");\n\n const renderRoot: RenderRoot = {\n tag: RenderTag.ROOT,\n // Will set during `mountUseBrick`\n createPortal: null!,\n };\n\n const strict = isStrictMode();\n\n const output = await renderBrick(\n renderRoot,\n strict && !errorBoundary\n ? useBrick\n : {\n errorBoundary,\n ...useBrick,\n },\n scopedRuntimeContext,\n rendererContext,\n [],\n {}\n );\n\n const scopedStores = [...tplStateStoreScope, ...formStateStoreScope];\n\n await postAsyncRender(output, scopedRuntimeContext, scopedStores);\n\n if (output.node?.tag === RenderTag.PLACEHOLDER) {\n if (output.node.tracking) {\n throw new Error(\n \"The root brick of useBrick cannot be an ignored tracking control node\"\n );\n }\n output.node = undefined;\n }\n\n if (output.node?.portal) {\n throw new Error(\"The root brick of useBrick cannot be a portal brick\");\n }\n\n renderRoot.child = output.node;\n\n const tagName = output.node ? output.node.type : null;\n\n return { tagName, renderRoot, rendererContext, scopedStores };\n}\n\nexport interface MountUseBrickResult {\n portal?: HTMLElement;\n}\n\nexport function mountUseBrick(\n { renderRoot, rendererContext, scopedStores }: RenderUseBrickResult,\n element: HTMLElement\n): MountUseBrickResult {\n let portal: HTMLElement | undefined;\n renderRoot.createPortal = () => {\n const portalRoot = document.querySelector(\n \"#portal-mount-point\"\n ) as HTMLElement;\n portal = document.createElement(\"div\");\n portalRoot.appendChild(portal);\n return portal;\n };\n\n mountTree(renderRoot, element);\n\n rendererContext.dispatchOnMount();\n rendererContext.initializeScrollIntoView();\n rendererContext.initializeMediaChange();\n rendererContext.initializeMessageDispatcher();\n\n for (const store of scopedStores) {\n store.mountAsyncData();\n }\n\n return {\n portal,\n };\n}\n\nexport function unmountUseBrick(\n { rendererContext }: RenderUseBrickResult,\n mountResult: MountUseBrickResult\n): void {\n // if (mountResult.mainBrick) {\n // mountResult.mainBrick.unmount();\n // }\n if (mountResult.portal) {\n unmountTree(mountResult.portal);\n mountResult.portal.remove();\n }\n rendererContext.dispatchOnUnmount();\n rendererContext.dispose();\n}\n\nexport function updateStoryboard(\n appId: string,\n storyboardPatch: Partial<Storyboard>\n): void {\n const storyboard = _internalApiGetStoryboardInBootstrapData(appId)!;\n Object.assign(storyboard, {\n ...storyboardPatch,\n meta: {\n // Keep runtime fields such as `injectMenus`\n ...storyboard.meta,\n ...storyboardPatch.meta,\n },\n $$fulfilling: null,\n $$fulfilled: true,\n $$registerCustomTemplateProcessed: false,\n });\n registerAppI18n(storyboard);\n}\n\nexport function updateStoryboardByRoute(appId: string, newRoute: RouteConf) {\n const storyboard = _internalApiGetStoryboardInBootstrapData(appId)!;\n let matched = false;\n\n function matchRoute(route: RouteConf) {\n return route.path === newRoute.path && !route.exact === !newRoute.exact;\n }\n\n function replaceRoutes(routes: RouteConf[]) {\n routes.forEach((route, index) => {\n if (route.type === \"routes\") {\n replaceRoutes(route.routes);\n } else {\n if (matchRoute(route)) {\n matched = true;\n routes[index] = newRoute;\n } else if (Array.isArray((route as RouteConfOfBricks).bricks)) {\n replaceBricks((route as RouteConfOfBricks).bricks);\n }\n }\n });\n }\n\n function replaceBricks(bricks: BrickConf[]) {\n bricks.forEach((brick) => {\n if (brick.slots) {\n for (const slotConf of Object.values(brick.slots)) {\n if (slotConf.type === \"routes\") {\n replaceRoutes(slotConf.routes);\n } else {\n replaceBricks(slotConf.bricks);\n }\n }\n }\n });\n }\n\n replaceRoutes(storyboard.routes);\n\n if (!matched) {\n storyboard.routes.unshift(newRoute);\n }\n}\n\nexport function updateStoryboardByTemplate(\n appId: string,\n newTemplate: CustomTemplate,\n settings: unknown\n): void {\n const tplName = `${appId}.${newTemplate.name}`;\n // customTemplateRegistry.delete(tplName);\n customTemplates.define(tplName, {\n bricks: newTemplate.bricks,\n proxy: newTemplate.proxy,\n state: newTemplate.state,\n });\n updateTemplatePreviewSettings(appId, newTemplate.name, settings);\n}\n\nexport function updateTemplatePreviewSettings(\n appId: string,\n templateId: string,\n settings?: unknown\n): void {\n _updatePreviewSettings(\n appId,\n `\\${APP.homepage}/_dev_only_/template-preview/${templateId}`,\n [\n {\n brick: templateId,\n ...pick(\n settings,\n \"properties\",\n \"events\",\n \"lifeCycle\",\n \"context\",\n \"slots\",\n \"children\"\n ),\n },\n ]\n );\n}\n\nfunction getSnippetPreviewPath(snippetId: string): string {\n return `\\${APP.homepage}/_dev_only_/snippet-preview/${snippetId}`;\n}\n\nexport function updateStoryboardBySnippet(\n appId: string,\n snippetData: {\n snippetId: string;\n bricks?: BrickConf[];\n context?: ContextConf[];\n }\n): void {\n _updatePreviewSettings(\n appId,\n getSnippetPreviewPath(snippetData.snippetId),\n snippetData.bricks?.length ? snippetData.bricks : [{ brick: \"span\" }],\n snippetData.context\n );\n}\n\nexport const updateSnippetPreviewSettings = updateStoryboardBySnippet;\n\nfunction _updatePreviewSettings(\n appId: string,\n path: string,\n bricks: BrickConf[],\n context?: ContextConf[]\n) {\n const { routes } = _internalApiGetStoryboardInBootstrapData(appId)!;\n const previewRouteIndex = routes.findIndex((route) => route.path === path);\n const newPreviewRoute: RouteConf = {\n path,\n bricks,\n context,\n menu: false,\n exact: true,\n };\n if (previewRouteIndex === -1) {\n routes.unshift(newPreviewRoute);\n } else {\n routes.splice(previewRouteIndex, 1, newPreviewRoute);\n }\n}\n\nexport function getContextValue(\n name: string,\n { tplStateStoreId }: DataValueOption\n): unknown {\n const runtimeContext = _internalApiGetRuntimeContext()!;\n\n if (tplStateStoreId) {\n const tplStateStore = getTplStateStore(\n {\n ...runtimeContext,\n tplStateStoreId,\n },\n \"STATE\"\n );\n return tplStateStore.getValue(name);\n }\n\n return runtimeContext.ctxStore.getValue(name);\n}\n\nexport function getAllContextValues({\n tplStateStoreId,\n}: DataValueOption): Record<string, unknown> {\n const runtimeContext = _internalApiGetRuntimeContext()!;\n\n if (tplStateStoreId) {\n const tplStateStore = getTplStateStore(\n {\n ...runtimeContext,\n tplStateStoreId,\n },\n \"STATE\"\n );\n return tplStateStore.getAllValues();\n }\n\n return runtimeContext.ctxStore.getAllValues();\n}\n\nexport function getBrickPackagesById(id: string) {\n return getBrickPackages().find((pkg) =>\n pkg.id ? pkg.id === id : pkg.filePath.startsWith(`${id}/`)\n );\n}\n\n/**\n * Support loading v3 bricks only.\n */\nexport function loadBricks(bricks: string[]) {\n return loadBricksImperatively(bricks, getBrickPackages());\n}\n\n/**\n * Try the brick packages passed in, before using from bootstrap.\n */\nexport function loadEditors(\n editors: string[] | Set<string>,\n brickPackages?: BrickPackage[]\n) {\n return loadEditorsImperatively(editors, brickPackages ?? getBrickPackages());\n}\n\nexport function getRenderId() {\n return _internalApiGetRenderId();\n}\n\nexport async function getAddedContracts(\n storyboardPatch: PreviewStoryboardPatch,\n { appId, updateStoryboardType, collectUsedContracts }: PreviewOption\n): Promise<string[]> {\n const storyboard = _internalApiGetStoryboardInBootstrapData(appId);\n let updatedStoryboard;\n\n // 拿到更新部分的 storyboard 配置,然后扫描一遍,找到新增的 contracts\n if (updateStoryboardType === \"route\") {\n updatedStoryboard = {\n routes: [storyboardPatch as RouteConf],\n } as Storyboard;\n } else if (updateStoryboardType === \"template\") {\n updatedStoryboard = {\n meta: {\n customTemplates: [storyboardPatch as CustomTemplate],\n },\n } as Storyboard;\n } else if (updateStoryboardType === \"snippet\") {\n // snippet 是放在挂载 route 里预览,通过 previewPath 拿到当前修改 route\n const snippetPreviewPath = getSnippetPreviewPath(\n (storyboardPatch as RuntimeSnippet).snippetId\n );\n const currentRoute = storyboard?.routes?.find(\n (route) => route.path === snippetPreviewPath\n );\n\n updatedStoryboard = {\n routes: [currentRoute],\n } as Storyboard;\n }\n\n const addedContracts: string[] = [];\n\n if (updatedStoryboard && collectUsedContracts) {\n const contractApis = await collectUsedContracts(updatedStoryboard);\n\n contractApis.forEach((api: string) => {\n const [_, namespaceId, name] = api.match(\n /(.*)@(.*):\\d\\.\\d\\.\\d/\n ) as string[];\n\n if (\n !storyboard?.meta?.contracts?.some(\n (contract) =>\n contract.namespaceId === namespaceId && contract.name === name\n )\n ) {\n addedContracts.push(api);\n }\n });\n }\n\n return addedContracts;\n}\n\nexport async function debugDataValue(\n debugData: DebugDataValue,\n { tplStateStoreId, routeId }: DataValueOption\n): Promise<any> {\n const runtimeContext = {\n ..._internalApiGetRuntimeContext()!,\n tplStateStoreId,\n match: getMatchedRoute(routeId as string),\n };\n\n if (debugData.resolve) {\n return resolveData(debugData.resolve!, runtimeContext, { cache: \"reload\" });\n }\n\n return asyncComputeRealValue(debugData.value, runtimeContext);\n}\n\nexport function getLegalRuntimeValue(\n options?: RuntimeDataValueOption\n): RuntimeDataVale {\n const runtimeContext = _internalApiGetRuntimeContext();\n\n return {\n app: runtimeContext?.overrideApp ?? runtimeContext?.app,\n location: pick(location, [\"href\", \"origin\", \"hostname\", \"host\"]),\n ...pick(runtimeContext, [\"query\", \"sys\"]),\n match: getMatchedRoute(options?.routeId as string),\n } as RuntimeDataVale;\n}\n\nexport {\n setRealTimeDataInspectRoot,\n addRealTimeDataInspectHook,\n} from \"./data/realTimeDataInspect.js\";\n\nexport {\n legacyDoTransform,\n legacyTransformProperties,\n legacyTransformIntermediateData,\n} from \"./legacy_transform.js\";\n"],"mappings":"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","ignoreList":[]}
@@ -13,6 +13,13 @@ export interface CreateRootOptions {
13
13
  * Defaults to "throw".
14
14
  */
15
15
  unknownBricks?: "silent" | "throw";
16
+ /**
17
+ * Set unsafe_penetrate to true to allow accessing global variables
18
+ * from an isolated root.
19
+ *
20
+ * It is unsafe, use it at your own risk.
21
+ */
22
+ unsafe_penetrate?: boolean;
16
23
  }
17
24
  export interface RenderOptions {
18
25
  theme?: SiteTheme;
@@ -25,7 +32,7 @@ export interface RenderOptions {
25
32
  url?: string;
26
33
  app?: MicroApp;
27
34
  }
28
- export declare function unstable_createRoot(container: HTMLElement | DocumentFragment, { portal: _portal, scope, unknownBricks }?: CreateRootOptions): {
35
+ export declare function unstable_createRoot(container: HTMLElement | DocumentFragment, { portal: _portal, scope, unknownBricks, unsafe_penetrate, }?: CreateRootOptions): {
29
36
  render(brick: BrickConf | BrickConf[], { theme, uiVersion, language, context, functions, templates, i18n: i18nData, url, app, }?: RenderOptions): Promise<void>;
30
37
  unmount(): void;
31
38
  };
@@ -11,6 +11,7 @@ interface Kit {
11
11
  getHistory(): NextHistory;
12
12
  looseCheckIfByTransform(ifContainer: IfContainer, data: unknown): boolean;
13
13
  doTransform(data: unknown, to: unknown, options?: unknown): unknown;
14
+ transformProperties(props: Record<string, unknown>, data: unknown, to: LegacyGeneralTransform, from?: string | string[], mapArray?: boolean | "auto", options?: unknown): Record<string, unknown>;
14
15
  SingleBrickAsComponentFactory: any;
15
16
  BrickAsComponentFactory: any;
16
17
  authenticate: any;
@@ -18,5 +19,14 @@ interface Kit {
18
19
  isLoggedIn: any;
19
20
  logout: any;
20
21
  }
22
+ export type LegacyGeneralTransform = string | LegacyTransformMap | LegacyTransformItem[] | null | undefined;
23
+ export interface LegacyTransformMap {
24
+ [propName: string]: unknown;
25
+ }
26
+ export interface LegacyTransformItem {
27
+ from?: string | string[];
28
+ to: string | LegacyTransformMap;
29
+ mapArray?: boolean | "auto";
30
+ }
21
31
  export declare function getV2RuntimeFromDll(): Kit | undefined;
22
32
  export {};
@@ -29,6 +29,7 @@ export declare class DataStore<T extends DataStoreType = "CTX"> {
29
29
  private routeMap;
30
30
  private routeStackMap;
31
31
  constructor(type: T, hostBrick?: RuntimeBrick, rendererContext?: RendererContext, stateStoreId?: string);
32
+ has(name: string): boolean;
32
33
  getAllValues(): Record<string, unknown>;
33
34
  getValue(name: string): unknown;
34
35
  private notifyRealTimeDataChange;
@@ -18,6 +18,7 @@ export interface RuntimeContext extends LegacyCompatibleRuntimeContext {
18
18
  formStateStoreId?: string;
19
19
  formStateStoreScope?: DataStore<"FORM_STATE">[];
20
20
  inUseBrick?: boolean;
21
+ unsafe_penetrate?: boolean;
21
22
  }
22
23
  export type AsyncPropertyEntry = [
23
24
  name: string,
@@ -0,0 +1,7 @@
1
+ import { type LegacyGeneralTransform } from "../getV2RuntimeFromDll.js";
2
+ /** For v2 compatibility of `doTransform` from brick-kit. */
3
+ export declare function legacyDoTransform(data: unknown, to: unknown, options?: unknown): unknown;
4
+ /** For v2 compatibility of `transformProperties` from brick-kit. */
5
+ export declare function legacyTransformProperties(props: Record<string, unknown>, data: unknown, to: LegacyGeneralTransform, from?: string | string[], mapArray?: boolean | "auto", options?: unknown): Record<string, unknown>;
6
+ /** For v2 compatibility of `transformIntermediateData` from brick-kit. */
7
+ export declare function legacyTransformIntermediateData(data: unknown, to: LegacyGeneralTransform, from?: string | string[], mapArray?: boolean | "auto"): unknown;
@@ -19,8 +19,6 @@ export interface MountUseBrickResult {
19
19
  }
20
20
  export declare function mountUseBrick({ renderRoot, rendererContext, scopedStores }: RenderUseBrickResult, element: HTMLElement): MountUseBrickResult;
21
21
  export declare function unmountUseBrick({ rendererContext }: RenderUseBrickResult, mountResult: MountUseBrickResult): void;
22
- /** For v2 compatibility of `doTransform` from brick-kit. */
23
- export declare function legacyDoTransform(data: unknown, to: unknown, options?: unknown): unknown;
24
22
  export declare function updateStoryboard(appId: string, storyboardPatch: Partial<Storyboard>): void;
25
23
  export declare function updateStoryboardByRoute(appId: string, newRoute: RouteConf): void;
26
24
  export declare function updateStoryboardByTemplate(appId: string, newTemplate: CustomTemplate, settings: unknown): void;
@@ -47,3 +45,4 @@ export declare function getAddedContracts(storyboardPatch: PreviewStoryboardPatc
47
45
  export declare function debugDataValue(debugData: DebugDataValue, { tplStateStoreId, routeId }: DataValueOption): Promise<any>;
48
46
  export declare function getLegalRuntimeValue(options?: RuntimeDataValueOption): RuntimeDataVale;
49
47
  export { setRealTimeDataInspectRoot, addRealTimeDataInspectHook, } from "./data/realTimeDataInspect.js";
48
+ export { legacyDoTransform, legacyTransformProperties, legacyTransformIntermediateData, } from "./legacy_transform.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@next-core/runtime",
3
- "version": "1.59.5",
3
+ "version": "1.61.0",
4
4
  "homepage": "https://github.com/easyops-cn/next-core/tree/v3/packages/runtime",
5
5
  "license": "GPL-3.0",
6
6
  "repository": {
@@ -67,5 +67,5 @@
67
67
  "@next-core/build-next-libs": "^1.0.24",
68
68
  "@next-core/test-next": "^1.1.9"
69
69
  },
70
- "gitHead": "0acbe9bca1d56c68e8f2aecc851c49cc9477f05c"
70
+ "gitHead": "7f9c3e61a18cf01cee61959e345e15152eb8c734"
71
71
  }