@wix/builder-utils 1.21.1 → 1.21.3

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 (42) hide show
  1. package/README.md +44 -0
  2. package/dist/bundles/debug/es/builder-utils.mjs +54 -1
  3. package/dist/bundles/debug/es/builder-utils.mjs.map +1 -1
  4. package/dist/bundles/debug/umd/builder-utils.js +53 -0
  5. package/dist/bundles/debug/umd/builder-utils.js.map +1 -1
  6. package/dist/bundles/es/builder-utils.mjs +401 -354
  7. package/dist/bundles/es/builder-utils.mjs.map +1 -1
  8. package/dist/bundles/umd/builder-utils.js +1 -1
  9. package/dist/bundles/umd/builder-utils.js.map +1 -1
  10. package/dist/{cjs/index.d.ts → index.d.ts} +1 -0
  11. package/dist/{esm/index.js → index.js} +1 -0
  12. package/dist/index.js.map +1 -0
  13. package/dist/mergeUtils.js.map +1 -0
  14. package/dist/routerUtils.d.ts +33 -0
  15. package/dist/routerUtils.js +55 -0
  16. package/dist/routerUtils.js.map +1 -0
  17. package/dist/signalUtils.js.map +1 -0
  18. package/package.json +11 -12
  19. package/src/index.ts +1 -0
  20. package/src/routerUtils.ts +123 -0
  21. package/dist/cjs/index.js +0 -9
  22. package/dist/cjs/index.js.map +0 -1
  23. package/dist/cjs/mergeUtils.js +0 -60
  24. package/dist/cjs/mergeUtils.js.map +0 -1
  25. package/dist/cjs/signalUtils.js +0 -28
  26. package/dist/cjs/signalUtils.js.map +0 -1
  27. package/dist/esm/index.d.ts +0 -2
  28. package/dist/esm/index.js.map +0 -1
  29. package/dist/esm/mergeUtils.d.ts +0 -2
  30. package/dist/esm/mergeUtils.js.map +0 -1
  31. package/dist/esm/signalUtils.d.ts +0 -6
  32. package/dist/esm/signalUtils.js.map +0 -1
  33. package/dist/types/index.d.ts +0 -3
  34. package/dist/types/index.d.ts.map +0 -1
  35. package/dist/types/mergeUtils.d.ts +0 -3
  36. package/dist/types/mergeUtils.d.ts.map +0 -1
  37. package/dist/types/signalUtils.d.ts +0 -7
  38. package/dist/types/signalUtils.d.ts.map +0 -1
  39. /package/dist/{cjs/mergeUtils.d.ts → mergeUtils.d.ts} +0 -0
  40. /package/dist/{esm/mergeUtils.js → mergeUtils.js} +0 -0
  41. /package/dist/{cjs/signalUtils.d.ts → signalUtils.d.ts} +0 -0
  42. /package/dist/{esm/signalUtils.js → signalUtils.js} +0 -0
@@ -0,0 +1,33 @@
1
+ type Request = {
2
+ protocol: string;
3
+ path: string;
4
+ params: Record<string, string>;
5
+ get(name: string): string | undefined;
6
+ };
7
+ type Response = {
8
+ render(view: string, options?: Record<string, unknown>): void;
9
+ };
10
+ type NextFunction = (err?: unknown) => void;
11
+ type PageRegistryEntry = {
12
+ id: string;
13
+ role: string;
14
+ routerPrefix: string;
15
+ pageName: string;
16
+ title: string;
17
+ [key: string]: unknown;
18
+ };
19
+ type RouterConfig = {
20
+ config: unknown;
21
+ rulesByPageRole: Record<string, Array<string>>;
22
+ };
23
+ type RouteToDynamicPageOptions = {
24
+ routerServiceUrl: string;
25
+ routerPrefix: string;
26
+ getAccessToken: () => Promise<string>;
27
+ routerConfigs: Record<string, RouterConfig>;
28
+ pageRegistry: Record<string, PageRegistryEntry>;
29
+ routerBaseUrl: string;
30
+ getPageRenderData: (pageId: string) => Record<string, unknown>;
31
+ };
32
+ export declare function routeToDynamicPage(req: Request, res: Response, next: NextFunction, { routerServiceUrl, routerPrefix, getAccessToken, routerConfigs, pageRegistry, routerBaseUrl, getPageRenderData, }: RouteToDynamicPageOptions): Promise<void>;
33
+ export {};
@@ -0,0 +1,55 @@
1
+ function getPageById(id, pageRegistry) {
2
+ return pageRegistry[id] ?? null;
3
+ }
4
+ function getPageRoles(routerPrefix, pageRegistry) {
5
+ return Object.entries(pageRegistry)
6
+ .filter(([, entry]) => entry.routerPrefix === routerPrefix)
7
+ .reduce((acc, [, { role, routerPrefix: _, pageName: __, ...rest }]) => {
8
+ acc[role] = rest;
9
+ return acc;
10
+ }, {});
11
+ }
12
+ async function fetchWixRouterPage(routerServiceUrl, { routerPrefix, config, rulesByPageRole, req, getAccessToken, pageRegistry, routerBaseUrl, }) {
13
+ const token = await getAccessToken();
14
+ const routerUrl = new URL(routerServiceUrl + '/pages', routerBaseUrl);
15
+ const payload = {
16
+ routerPrefix,
17
+ config,
18
+ fullUrl: req.protocol + '://' + req.get('host') + req.path,
19
+ pageRoles: getPageRoles(routerPrefix, pageRegistry),
20
+ requestInfo: { env: 'browser', formFactor: 'desktop' },
21
+ roleVariations: rulesByPageRole,
22
+ routerSuffix: '/' + (req.params[0] || ''),
23
+ };
24
+ const response = await fetch(routerUrl, {
25
+ method: 'POST',
26
+ headers: { 'Content-Type': 'application/json', Authorization: token },
27
+ body: JSON.stringify(payload),
28
+ });
29
+ if (!response.ok)
30
+ return null;
31
+ const { result } = await response.json();
32
+ return result;
33
+ }
34
+ export async function routeToDynamicPage(req, res, next, { routerServiceUrl, routerPrefix, getAccessToken, routerConfigs, pageRegistry, routerBaseUrl, getPageRenderData, }) {
35
+ const result = await fetchWixRouterPage(routerServiceUrl, {
36
+ routerPrefix,
37
+ ...routerConfigs[routerPrefix],
38
+ req,
39
+ getAccessToken,
40
+ pageRegistry,
41
+ routerBaseUrl,
42
+ });
43
+ if (!result || result.status !== 200)
44
+ return next();
45
+ const page = getPageById(result.page, pageRegistry);
46
+ if (!page)
47
+ return next();
48
+ res.render('layout', {
49
+ title: page.title,
50
+ pageName: page.pageName,
51
+ ...getPageRenderData(result.page),
52
+ options: {},
53
+ });
54
+ }
55
+ //# sourceMappingURL=routerUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"routerUtils.js","sourceRoot":"","sources":["../src/routerUtils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"signalUtils.js","sourceRoot":"","sources":["../src/signalUtils.ts"],"names":[],"mappings":"AAKA,MAAM,QAAQ,GAAG,CAAC,WAAoB,EAAyB,EAAE;IAC7D,OAAO,CACH,OAAO,WAAW,KAAK,QAAQ;QAC/B,WAAW,KAAK,IAAI;QACpB,KAAK,IAAI,WAAW;QACpB,MAAM,IAAI,WAAW;QACrB,KAAK,IAAI,WAAW,CACvB,CAAA;AACL,CAAC,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,MAAe,EAAE,IAAI,GAAG,EAAE,EAAW,EAAE;IACtE,IAAI,KAAK,GAAG,MAAM,CAAA;IAClB,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;QACpD,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;YAChB,MAAK;QACT,CAAC;QACD,MAAM,IAAI,GAAI,KAAiC,CAAC,OAAO,CAAC,CAAA;QACxD,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;IAC9C,CAAC;IACD,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAA;AAChD,CAAC,CAAA"}
package/package.json CHANGED
@@ -1,21 +1,19 @@
1
1
  {
2
2
  "name": "@wix/builder-utils",
3
- "version": "1.21.1",
3
+ "version": "1.21.3",
4
4
  "description": "Builder utilities for merging props with custom logic",
5
- "main": "dist/cjs/index.js",
6
- "types": "dist/types/index.d.ts",
5
+ "main": "dist/index.js",
6
+ "types": "dist/index.d.ts",
7
7
  "sideEffects": false,
8
8
  "license": "UNLICENSED",
9
9
  "files": [
10
10
  "src",
11
11
  "dist",
12
+ "README.md",
12
13
  "!**/*.tsbuildinfo"
13
14
  ],
14
15
  "scripts": {
15
- "build": "yarn run build:esm && yarn run build:cjs && yarn run build:types && yarn run -T build:bundles builder-utils",
16
- "build:esm": "tsc --project tsconfig.json --outDir dist/esm --module ES2022 --moduleResolution Bundler",
17
- "build:cjs": "tsc --project tsconfig.json --outDir dist/cjs --module CommonJS --moduleResolution Node",
18
- "build:types": "tsc --emitDeclarationOnly --declaration --declarationMap --outDir dist/types",
16
+ "build": "tsc -b . --force && yarn run -T build:bundles builder-utils",
19
17
  "lint": "yarn run -T lint:package $npm_package_name",
20
18
  "test-type-check": "tsc --project tsconfig.test.json",
21
19
  "test": "yarn test-type-check && vitest --run",
@@ -54,11 +52,12 @@
54
52
  },
55
53
  "exports": {
56
54
  ".": {
57
- "import": "./dist/esm/index.js",
58
- "require": "./dist/cjs/index.js",
59
- "types": "./dist/types/index.d.ts"
55
+ "import": "./dist/bundles/es/builder-utils.mjs",
56
+ "require": "./dist/bundles/umd/builder-utils.js",
57
+ "types": "./dist/index.d.ts"
60
58
  }
61
59
  },
62
- "module": "dist/esm/index.js",
63
- "falconPackageHash": "f75c1f6c5a3c718c2a212b4e99c9ff41d2497c4cdcad1bb017400714"
60
+ "module": "dist/bundles/es/builder-utils.mjs",
61
+ "type": "module",
62
+ "falconPackageHash": "57048770afc8cd7a598201acc3e876d6a6ab742b3a5b6b0da1df98fc"
64
63
  }
package/src/index.ts CHANGED
@@ -1,2 +1,3 @@
1
1
  export { mergeProps, removeElementProps } from './mergeUtils'
2
2
  export { getSignalValueDeep } from './signalUtils'
3
+ export { routeToDynamicPage } from './routerUtils'
@@ -0,0 +1,123 @@
1
+ type Request = {
2
+ protocol: string
3
+ path: string
4
+ params: Record<string, string>
5
+ get(name: string): string | undefined
6
+ }
7
+
8
+ type Response = {
9
+ render(view: string, options?: Record<string, unknown>): void
10
+ }
11
+
12
+ type NextFunction = (err?: unknown) => void
13
+
14
+ type PageRegistryEntry = {
15
+ id: string
16
+ role: string
17
+ routerPrefix: string
18
+ pageName: string
19
+ title: string
20
+ [key: string]: unknown
21
+ }
22
+
23
+ type RouterConfig = {
24
+ config: unknown
25
+ rulesByPageRole: Record<string, Array<string>>
26
+ }
27
+
28
+ type RouteToDynamicPageOptions = {
29
+ routerServiceUrl: string
30
+ routerPrefix: string
31
+ getAccessToken: () => Promise<string>
32
+ routerConfigs: Record<string, RouterConfig>
33
+ pageRegistry: Record<string, PageRegistryEntry>
34
+ routerBaseUrl: string
35
+ getPageRenderData: (pageId: string) => Record<string, unknown>
36
+ }
37
+
38
+ function getPageById(id: string, pageRegistry: Record<string, PageRegistryEntry>): PageRegistryEntry | null {
39
+ return pageRegistry[id] ?? null
40
+ }
41
+
42
+ function getPageRoles(routerPrefix: string, pageRegistry: Record<string, PageRegistryEntry>): Record<string, unknown> {
43
+ return Object.entries(pageRegistry)
44
+ .filter(([, entry]) => entry.routerPrefix === routerPrefix)
45
+ .reduce<Record<string, unknown>>((acc, [, { role, routerPrefix: _, pageName: __, ...rest }]) => {
46
+ acc[role] = rest
47
+ return acc
48
+ }, {})
49
+ }
50
+
51
+ async function fetchWixRouterPage(
52
+ routerServiceUrl: string,
53
+ {
54
+ routerPrefix,
55
+ config,
56
+ rulesByPageRole,
57
+ req,
58
+ getAccessToken,
59
+ pageRegistry,
60
+ routerBaseUrl,
61
+ }: {
62
+ routerPrefix: string
63
+ config: unknown
64
+ rulesByPageRole: unknown
65
+ req: Request
66
+ getAccessToken: () => Promise<string>
67
+ pageRegistry: Record<string, PageRegistryEntry>
68
+ routerBaseUrl: string
69
+ }
70
+ ): Promise<{ status: number; page: string } | null> {
71
+ const token = await getAccessToken()
72
+ const routerUrl = new URL(routerServiceUrl + '/pages', routerBaseUrl)
73
+ const payload = {
74
+ routerPrefix,
75
+ config,
76
+ fullUrl: req.protocol + '://' + req.get('host') + req.path,
77
+ pageRoles: getPageRoles(routerPrefix, pageRegistry),
78
+ requestInfo: { env: 'browser', formFactor: 'desktop' },
79
+ roleVariations: rulesByPageRole,
80
+ routerSuffix: '/' + (req.params[0] || ''),
81
+ }
82
+ const response = await fetch(routerUrl, {
83
+ method: 'POST',
84
+ headers: { 'Content-Type': 'application/json', Authorization: token },
85
+ body: JSON.stringify(payload),
86
+ })
87
+ if (!response.ok) return null
88
+ const { result } = await response.json()
89
+ return result
90
+ }
91
+
92
+ export async function routeToDynamicPage(
93
+ req: Request,
94
+ res: Response,
95
+ next: NextFunction,
96
+ {
97
+ routerServiceUrl,
98
+ routerPrefix,
99
+ getAccessToken,
100
+ routerConfigs,
101
+ pageRegistry,
102
+ routerBaseUrl,
103
+ getPageRenderData,
104
+ }: RouteToDynamicPageOptions
105
+ ): Promise<void> {
106
+ const result = await fetchWixRouterPage(routerServiceUrl, {
107
+ routerPrefix,
108
+ ...routerConfigs[routerPrefix],
109
+ req,
110
+ getAccessToken,
111
+ pageRegistry,
112
+ routerBaseUrl,
113
+ })
114
+ if (!result || result.status !== 200) return next()
115
+ const page = getPageById(result.page, pageRegistry)
116
+ if (!page) return next()
117
+ res.render('layout', {
118
+ title: page.title,
119
+ pageName: page.pageName,
120
+ ...getPageRenderData(result.page),
121
+ options: {},
122
+ })
123
+ }
package/dist/cjs/index.js DELETED
@@ -1,9 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getSignalValueDeep = exports.removeElementProps = exports.mergeProps = void 0;
4
- var mergeUtils_1 = require("./mergeUtils");
5
- Object.defineProperty(exports, "mergeProps", { enumerable: true, get: function () { return mergeUtils_1.mergeProps; } });
6
- Object.defineProperty(exports, "removeElementProps", { enumerable: true, get: function () { return mergeUtils_1.removeElementProps; } });
7
- var signalUtils_1 = require("./signalUtils");
8
- Object.defineProperty(exports, "getSignalValueDeep", { enumerable: true, get: function () { return signalUtils_1.getSignalValueDeep; } });
9
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,2CAA6D;AAApD,wGAAA,UAAU,OAAA;AAAE,gHAAA,kBAAkB,OAAA;AACvC,6CAAkD;AAAzC,iHAAA,kBAAkB,OAAA"}
@@ -1,60 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.removeElementProps = exports.mergeProps = void 0;
7
- const mergeWith_1 = __importDefault(require("lodash/mergeWith"));
8
- const merge_1 = __importDefault(require("lodash/merge"));
9
- const isPlainObject_1 = __importDefault(require("lodash/isPlainObject"));
10
- function mergeClassName(class1, class2) {
11
- if (typeof class1 === 'string' && typeof class2 === 'string') {
12
- const classSet = new Set([...class1.split(' '), ...class2.split(' ')]);
13
- return Array.from(classSet).join(' ');
14
- }
15
- return class1 || class2;
16
- }
17
- function customMergeClasses(objValue, srcValue, key) {
18
- if (!objValue) {
19
- return srcValue;
20
- }
21
- if (!srcValue) {
22
- return objValue;
23
- }
24
- if (key === 'className') {
25
- return mergeClassName(objValue, srcValue);
26
- }
27
- return srcValue;
28
- }
29
- function customMerge(objValue, srcValue, key) {
30
- if (key === 'className') {
31
- return mergeClassName(objValue, srcValue);
32
- }
33
- if (!objValue) {
34
- return srcValue;
35
- }
36
- if (!srcValue) {
37
- return objValue;
38
- }
39
- if (key === 'wix') {
40
- return (0, merge_1.default)(objValue, srcValue, true);
41
- }
42
- if (objValue?.elementProps || srcValue.elementProps || key === 'elementProps') {
43
- return (0, mergeWith_1.default)(objValue, srcValue, customMerge);
44
- }
45
- if (srcValue && objValue && (0, isPlainObject_1.default)(srcValue) && (0, isPlainObject_1.default)(objValue)) {
46
- return (0, mergeWith_1.default)(objValue, srcValue, customMergeClasses);
47
- }
48
- return srcValue;
49
- }
50
- const mergeProps = (srcProps, valueProps) => (0, mergeWith_1.default)(srcProps || {}, valueProps, customMerge);
51
- exports.mergeProps = mergeProps;
52
- const removeElementProps = (obj) => {
53
- if (!obj) {
54
- return undefined;
55
- }
56
- const { elementProps, ...rest } = obj;
57
- return rest;
58
- };
59
- exports.removeElementProps = removeElementProps;
60
- //# sourceMappingURL=mergeUtils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mergeUtils.js","sourceRoot":"","sources":["../../src/mergeUtils.ts"],"names":[],"mappings":";;;;;;AAAA,iEAAwC;AACxC,yDAAgC;AAChC,yEAAgD;AAIhD,SAAS,cAAc,CAAC,MAAe,EAAE,MAAe;IACpD,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC3D,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;QACtE,OAAO,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACzC,CAAC;IACD,OAAO,MAAM,IAAI,MAAM,CAAA;AAC3B,CAAC;AAED,SAAS,kBAAkB,CAAC,QAAiB,EAAE,QAAiB,EAAE,GAAW;IACzE,IAAI,CAAC,QAAQ,EAAE,CAAC;QACZ,OAAO,QAAQ,CAAA;IACnB,CAAC;IAED,IAAI,CAAC,QAAQ,EAAE,CAAC;QACZ,OAAO,QAAQ,CAAA;IACnB,CAAC;IAED,IAAI,GAAG,KAAK,WAAW,EAAE,CAAC;QACtB,OAAO,cAAc,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IAC7C,CAAC;IAED,OAAO,QAAQ,CAAA;AACnB,CAAC;AAED,SAAS,WAAW,CAAC,QAAiB,EAAE,QAAiB,EAAE,GAAW;IAClE,IAAI,GAAG,KAAK,WAAW,EAAE,CAAC;QACtB,OAAO,cAAc,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IAC7C,CAAC;IAED,IAAI,CAAC,QAAQ,EAAE,CAAC;QACZ,OAAO,QAAQ,CAAA;IACnB,CAAC;IAED,IAAI,CAAC,QAAQ,EAAE,CAAC;QACZ,OAAO,QAAQ,CAAA;IACnB,CAAC;IAED,IAAI,GAAG,KAAK,KAAK,EAAE,CAAC;QAChB,OAAO,IAAA,eAAK,EAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAA;IAC1C,CAAC;IAED,IAAK,QAAqB,EAAE,YAAY,IAAK,QAAqB,CAAC,YAAY,IAAI,GAAG,KAAK,cAAc,EAAE,CAAC;QACxG,OAAO,IAAA,mBAAS,EAAC,QAAQ,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAA;IACrD,CAAC;IACD,IAAI,QAAQ,IAAI,QAAQ,IAAI,IAAA,uBAAa,EAAC,QAAQ,CAAC,IAAI,IAAA,uBAAa,EAAC,QAAQ,CAAC,EAAE,CAAC;QAC7E,OAAO,IAAA,mBAAS,EAAC,QAAQ,EAAE,QAAQ,EAAE,kBAAkB,CAAC,CAAA;IAC5D,CAAC;IACD,OAAO,QAAQ,CAAA;AACnB,CAAC;AAEM,MAAM,UAAU,GAAG,CAAC,QAAiC,EAAE,UAAoC,EAAE,EAAE,CAClG,IAAA,mBAAS,EAAC,QAAQ,IAAI,EAAE,EAAE,UAAU,EAAE,WAAW,CAAC,CAAA;AADzC,QAAA,UAAU,cAC+B;AAE/C,MAAM,kBAAkB,GAAG,CAAC,GAA4B,EAAuC,EAAE;IACpG,IAAI,CAAC,GAAG,EAAE,CAAC;QACP,OAAO,SAAS,CAAA;IACpB,CAAC;IACD,MAAM,EAAE,YAAY,EAAE,GAAG,IAAI,EAAE,GAAG,GAAG,CAAA;IACrC,OAAO,IAAI,CAAA;AACf,CAAC,CAAA;AANY,QAAA,kBAAkB,sBAM9B"}
@@ -1,28 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getSignalValueDeep = void 0;
4
- const isSignal = (maybeSignal) => {
5
- return (typeof maybeSignal === 'object' &&
6
- maybeSignal !== null &&
7
- 'get' in maybeSignal &&
8
- 'peek' in maybeSignal &&
9
- 'set' in maybeSignal);
10
- };
11
- /**
12
- * Traverses a dot-separated path starting from target, unwrapping signals at every step.
13
- * An empty path simply unwraps target itself if it is a signal.
14
- * Mirrors the runtime's getSignalValueDeep in feature-builder-context-providers.
15
- */
16
- const getSignalValueDeep = (target, path = '') => {
17
- let value = target;
18
- for (const segment of path.split('.').filter(Boolean)) {
19
- if (value == null) {
20
- break;
21
- }
22
- const next = value[segment];
23
- value = isSignal(next) ? next.get() : next;
24
- }
25
- return isSignal(value) ? value.get() : value;
26
- };
27
- exports.getSignalValueDeep = getSignalValueDeep;
28
- //# sourceMappingURL=signalUtils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"signalUtils.js","sourceRoot":"","sources":["../../src/signalUtils.ts"],"names":[],"mappings":";;;AAKA,MAAM,QAAQ,GAAG,CAAC,WAAoB,EAAyB,EAAE;IAC7D,OAAO,CACH,OAAO,WAAW,KAAK,QAAQ;QAC/B,WAAW,KAAK,IAAI;QACpB,KAAK,IAAI,WAAW;QACpB,MAAM,IAAI,WAAW;QACrB,KAAK,IAAI,WAAW,CACvB,CAAA;AACL,CAAC,CAAA;AAED;;;;GAIG;AACI,MAAM,kBAAkB,GAAG,CAAC,MAAe,EAAE,IAAI,GAAG,EAAE,EAAW,EAAE;IACtE,IAAI,KAAK,GAAG,MAAM,CAAA;IAClB,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;QACpD,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;YAChB,MAAK;QACT,CAAC;QACD,MAAM,IAAI,GAAI,KAAiC,CAAC,OAAO,CAAC,CAAA;QACxD,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;IAC9C,CAAC;IACD,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAA;AAChD,CAAC,CAAA;AAVY,QAAA,kBAAkB,sBAU9B"}
@@ -1,2 +0,0 @@
1
- export { mergeProps, removeElementProps } from './mergeUtils';
2
- export { getSignalValueDeep } from './signalUtils';
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA"}
@@ -1,2 +0,0 @@
1
- export declare const mergeProps: (srcProps: Record<string, unknown>, valueProps?: Record<string, unknown>) => Record<string, unknown>;
2
- export declare const removeElementProps: (obj: Record<string, unknown>) => Record<string, unknown> | undefined;
@@ -1 +0,0 @@
1
- {"version":3,"file":"mergeUtils.js","sourceRoot":"","sources":["../../src/mergeUtils.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,kBAAkB,CAAA;AACxC,OAAO,KAAK,MAAM,cAAc,CAAA;AAChC,OAAO,aAAa,MAAM,sBAAsB,CAAA;AAIhD,SAAS,cAAc,CAAC,MAAe,EAAE,MAAe;IACpD,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC3D,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;QACtE,OAAO,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACzC,CAAC;IACD,OAAO,MAAM,IAAI,MAAM,CAAA;AAC3B,CAAC;AAED,SAAS,kBAAkB,CAAC,QAAiB,EAAE,QAAiB,EAAE,GAAW;IACzE,IAAI,CAAC,QAAQ,EAAE,CAAC;QACZ,OAAO,QAAQ,CAAA;IACnB,CAAC;IAED,IAAI,CAAC,QAAQ,EAAE,CAAC;QACZ,OAAO,QAAQ,CAAA;IACnB,CAAC;IAED,IAAI,GAAG,KAAK,WAAW,EAAE,CAAC;QACtB,OAAO,cAAc,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IAC7C,CAAC;IAED,OAAO,QAAQ,CAAA;AACnB,CAAC;AAED,SAAS,WAAW,CAAC,QAAiB,EAAE,QAAiB,EAAE,GAAW;IAClE,IAAI,GAAG,KAAK,WAAW,EAAE,CAAC;QACtB,OAAO,cAAc,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IAC7C,CAAC;IAED,IAAI,CAAC,QAAQ,EAAE,CAAC;QACZ,OAAO,QAAQ,CAAA;IACnB,CAAC;IAED,IAAI,CAAC,QAAQ,EAAE,CAAC;QACZ,OAAO,QAAQ,CAAA;IACnB,CAAC;IAED,IAAI,GAAG,KAAK,KAAK,EAAE,CAAC;QAChB,OAAO,KAAK,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAA;IAC1C,CAAC;IAED,IAAK,QAAqB,EAAE,YAAY,IAAK,QAAqB,CAAC,YAAY,IAAI,GAAG,KAAK,cAAc,EAAE,CAAC;QACxG,OAAO,SAAS,CAAC,QAAQ,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAA;IACrD,CAAC;IACD,IAAI,QAAQ,IAAI,QAAQ,IAAI,aAAa,CAAC,QAAQ,CAAC,IAAI,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7E,OAAO,SAAS,CAAC,QAAQ,EAAE,QAAQ,EAAE,kBAAkB,CAAC,CAAA;IAC5D,CAAC;IACD,OAAO,QAAQ,CAAA;AACnB,CAAC;AAED,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,QAAiC,EAAE,UAAoC,EAAE,EAAE,CAClG,SAAS,CAAC,QAAQ,IAAI,EAAE,EAAE,UAAU,EAAE,WAAW,CAAC,CAAA;AAEtD,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,GAA4B,EAAuC,EAAE;IACpG,IAAI,CAAC,GAAG,EAAE,CAAC;QACP,OAAO,SAAS,CAAA;IACpB,CAAC;IACD,MAAM,EAAE,YAAY,EAAE,GAAG,IAAI,EAAE,GAAG,GAAG,CAAA;IACrC,OAAO,IAAI,CAAA;AACf,CAAC,CAAA"}
@@ -1,6 +0,0 @@
1
- /**
2
- * Traverses a dot-separated path starting from target, unwrapping signals at every step.
3
- * An empty path simply unwraps target itself if it is a signal.
4
- * Mirrors the runtime's getSignalValueDeep in feature-builder-context-providers.
5
- */
6
- export declare const getSignalValueDeep: (target: unknown, path?: string) => unknown;
@@ -1 +0,0 @@
1
- {"version":3,"file":"signalUtils.js","sourceRoot":"","sources":["../../src/signalUtils.ts"],"names":[],"mappings":"AAKA,MAAM,QAAQ,GAAG,CAAC,WAAoB,EAAyB,EAAE;IAC7D,OAAO,CACH,OAAO,WAAW,KAAK,QAAQ;QAC/B,WAAW,KAAK,IAAI;QACpB,KAAK,IAAI,WAAW;QACpB,MAAM,IAAI,WAAW;QACrB,KAAK,IAAI,WAAW,CACvB,CAAA;AACL,CAAC,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,MAAe,EAAE,IAAI,GAAG,EAAE,EAAW,EAAE;IACtE,IAAI,KAAK,GAAG,MAAM,CAAA;IAClB,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;QACpD,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;YAChB,MAAK;QACT,CAAC;QACD,MAAM,IAAI,GAAI,KAAiC,CAAC,OAAO,CAAC,CAAA;QACxD,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;IAC9C,CAAC;IACD,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAA;AAChD,CAAC,CAAA"}
@@ -1,3 +0,0 @@
1
- export { mergeProps, removeElementProps } from './mergeUtils';
2
- export { getSignalValueDeep } from './signalUtils';
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA"}
@@ -1,3 +0,0 @@
1
- export declare const mergeProps: (srcProps: Record<string, unknown>, valueProps?: Record<string, unknown>) => Record<string, unknown>;
2
- export declare const removeElementProps: (obj: Record<string, unknown>) => Record<string, unknown> | undefined;
3
- //# sourceMappingURL=mergeUtils.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mergeUtils.d.ts","sourceRoot":"","sources":["../../src/mergeUtils.ts"],"names":[],"mappings":"AAwDA,eAAO,MAAM,UAAU,GAAI,UAAU,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,4BAC5C,CAAA;AAEtD,eAAO,MAAM,kBAAkB,GAAI,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAM3F,CAAA"}
@@ -1,7 +0,0 @@
1
- /**
2
- * Traverses a dot-separated path starting from target, unwrapping signals at every step.
3
- * An empty path simply unwraps target itself if it is a signal.
4
- * Mirrors the runtime's getSignalValueDeep in feature-builder-context-providers.
5
- */
6
- export declare const getSignalValueDeep: (target: unknown, path?: string) => unknown;
7
- //# sourceMappingURL=signalUtils.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"signalUtils.d.ts","sourceRoot":"","sources":["../../src/signalUtils.ts"],"names":[],"mappings":"AAeA;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,GAAI,QAAQ,OAAO,EAAE,aAAS,KAAG,OAU/D,CAAA"}
File without changes
File without changes
File without changes
File without changes