angular-intlayer 8.8.0 → 8.9.1
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/renderIntlayerNode.cjs +22 -6
- package/dist/cjs/renderIntlayerNode.cjs.map +1 -1
- package/dist/esm/renderIntlayerNode.mjs +22 -6
- package/dist/esm/renderIntlayerNode.mjs.map +1 -1
- package/dist/types/renderIntlayerNode.d.ts +2 -2
- package/dist/types/renderIntlayerNode.d.ts.map +1 -1
- package/package.json +8 -8
|
@@ -4,7 +4,17 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
|
4
4
|
const renderIntlayerNode = ({ children, value, additionalProps = {} }) => {
|
|
5
5
|
if (children == null) return new Proxy({}, { get(target, prop, receiver) {
|
|
6
6
|
if (prop === "value") return value;
|
|
7
|
-
if (
|
|
7
|
+
if (prop === Symbol.toPrimitive) return () => value ?? "";
|
|
8
|
+
if (prop === "toString") return () => String(value ?? "");
|
|
9
|
+
if (prop === "valueOf") return () => value;
|
|
10
|
+
if (additionalProps && prop in additionalProps) return additionalProps[prop];
|
|
11
|
+
if (value !== null && value !== void 0 && typeof prop === "string" && prop !== "constructor" && !(prop in target)) {
|
|
12
|
+
const valObj = Object(value);
|
|
13
|
+
if (prop in valObj) {
|
|
14
|
+
const valProp = valObj[prop];
|
|
15
|
+
return typeof valProp === "function" ? valProp.bind(value) : valProp;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
8
18
|
return Reflect.get(target, prop, receiver);
|
|
9
19
|
} });
|
|
10
20
|
return new Proxy(typeof children === "object" || typeof children === "function" ? children : {}, {
|
|
@@ -14,11 +24,17 @@ const renderIntlayerNode = ({ children, value, additionalProps = {} }) => {
|
|
|
14
24
|
},
|
|
15
25
|
get(target, prop, receiver) {
|
|
16
26
|
if (prop === "value") return value;
|
|
17
|
-
if (prop ===
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
if (prop
|
|
21
|
-
if (
|
|
27
|
+
if (prop === Symbol.toPrimitive) return () => value ?? "";
|
|
28
|
+
if (prop === "toString") return () => String(value ?? "");
|
|
29
|
+
if (prop === "valueOf") return () => value;
|
|
30
|
+
if (additionalProps && prop in additionalProps) return additionalProps[prop];
|
|
31
|
+
if (value !== null && value !== void 0 && typeof prop === "string" && prop !== "constructor" && !(prop in target)) {
|
|
32
|
+
const valObj = Object(value);
|
|
33
|
+
if (prop in valObj) {
|
|
34
|
+
const valProp = valObj[prop];
|
|
35
|
+
return typeof valProp === "function" ? valProp.bind(value) : valProp;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
22
38
|
return Reflect.get(target, prop, receiver);
|
|
23
39
|
}
|
|
24
40
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderIntlayerNode.cjs","names":[],"sources":["../../src/renderIntlayerNode.ts"],"sourcesContent":["import type { ResolvedEditor } from '@intlayer/types/module_augmentation';\n\nexport type IntlayerNode<T = string, AdditionalProps = {}> = ResolvedEditor<\n T,\n any\n> & {\n value: T;\n} & AdditionalProps;\n\ntype RenderIntlayerNodeProps<T> = {\n value: T;\n children: any;\n additionalProps?: { [key: string]: any };\n};\n\nexport const renderIntlayerNode = <\n T
|
|
1
|
+
{"version":3,"file":"renderIntlayerNode.cjs","names":[],"sources":["../../src/renderIntlayerNode.ts"],"sourcesContent":["import type { ResolvedEditor } from '@intlayer/types/module_augmentation';\n\nexport type IntlayerNode<T = string, AdditionalProps = {}> = ResolvedEditor<\n T,\n any\n> & {\n value: T;\n} & AdditionalProps &\n T;\n\ntype RenderIntlayerNodeProps<T> = {\n value: T;\n children: any;\n additionalProps?: { [key: string]: any };\n};\n\nexport const renderIntlayerNode = <\n T, // Broadened to support arrays, numbers, objects, etc.\n>({\n children,\n value,\n additionalProps = {},\n}: RenderIntlayerNodeProps<T>): IntlayerNode<T> => {\n // If children is null or undefined, return a simple object with the value\n if (children == null) {\n return new Proxy({} as any, {\n get(target, prop, receiver) {\n if (prop === 'value') return value;\n if (prop === Symbol.toPrimitive) return () => value ?? '';\n if (prop === 'toString') return () => String(value ?? '');\n if (prop === 'valueOf') return () => value;\n\n // Additional Props take precedence\n if (additionalProps && prop in additionalProps) {\n return additionalProps[prop as keyof typeof additionalProps];\n }\n\n // Delegate native methods/properties to the underlying value\n if (\n value !== null &&\n value !== undefined &&\n typeof prop === 'string' &&\n prop !== 'constructor' &&\n !(prop in target)\n ) {\n const valObj = Object(value); // Safely boxes primitives (e.g., 50 -> Number object)\n if (prop in valObj) {\n const valProp = valObj[prop];\n return typeof valProp === 'function'\n ? valProp.bind(value)\n : valProp;\n }\n }\n\n return Reflect.get(target, prop, receiver);\n },\n }) as IntlayerNode<T>;\n }\n\n // Proxy target must be an object or function; wrap primitives\n const target =\n typeof children === 'object' || typeof children === 'function'\n ? children\n : ({} as any);\n\n // Return a Proxy that pretends to be the original content\n // but also has a .value getter and additional props.\n return new Proxy(target, {\n apply(target, thisArg, argumentsList) {\n if (typeof value === 'function') {\n return Reflect.apply(value as Function, thisArg, argumentsList);\n }\n return Reflect.apply(target as Function, thisArg, argumentsList);\n },\n get(target, prop, receiver) {\n if (prop === 'value') return value;\n if (prop === Symbol.toPrimitive) return () => value ?? '';\n if (prop === 'toString') return () => String(value ?? '');\n if (prop === 'valueOf') return () => value;\n\n // Additional Props take precedence\n if (additionalProps && prop in additionalProps) {\n return additionalProps[prop as keyof typeof additionalProps];\n }\n\n // Delegate native methods/properties to the underlying value\n if (\n value !== null &&\n value !== undefined &&\n typeof prop === 'string' &&\n prop !== 'constructor' &&\n !(prop in target)\n ) {\n const valObj = Object(value); // Safely boxes primitives (e.g., 50 -> Number object)\n if (prop in valObj) {\n const valProp = valObj[prop];\n return typeof valProp === 'function' ? valProp.bind(value) : valProp;\n }\n }\n\n return Reflect.get(target, prop, receiver);\n },\n }) as IntlayerNode<T>;\n};\n"],"mappings":";;;AAgBA,MAAa,sBAEX,EACA,UACA,OACA,kBAAkB,EAAE,OAC6B;AAEjD,KAAI,YAAY,KACd,QAAO,IAAI,MAAM,EAAE,EAAS,EAC1B,IAAI,QAAQ,MAAM,UAAU;AAC1B,MAAI,SAAS,QAAS,QAAO;AAC7B,MAAI,SAAS,OAAO,YAAa,cAAa,SAAS;AACvD,MAAI,SAAS,WAAY,cAAa,OAAO,SAAS,GAAG;AACzD,MAAI,SAAS,UAAW,cAAa;AAGrC,MAAI,mBAAmB,QAAQ,gBAC7B,QAAO,gBAAgB;AAIzB,MACE,UAAU,QACV,UAAU,UACV,OAAO,SAAS,YAChB,SAAS,iBACT,EAAE,QAAQ,SACV;GACA,MAAM,SAAS,OAAO,MAAM;AAC5B,OAAI,QAAQ,QAAQ;IAClB,MAAM,UAAU,OAAO;AACvB,WAAO,OAAO,YAAY,aACtB,QAAQ,KAAK,MAAM,GACnB;;;AAIR,SAAO,QAAQ,IAAI,QAAQ,MAAM,SAAS;IAE7C,CAAC;AAWJ,QAAO,IAAI,MANT,OAAO,aAAa,YAAY,OAAO,aAAa,aAChD,WACC,EAAE,EAIgB;EACvB,MAAM,QAAQ,SAAS,eAAe;AACpC,OAAI,OAAO,UAAU,WACnB,QAAO,QAAQ,MAAM,OAAmB,SAAS,cAAc;AAEjE,UAAO,QAAQ,MAAM,QAAoB,SAAS,cAAc;;EAElE,IAAI,QAAQ,MAAM,UAAU;AAC1B,OAAI,SAAS,QAAS,QAAO;AAC7B,OAAI,SAAS,OAAO,YAAa,cAAa,SAAS;AACvD,OAAI,SAAS,WAAY,cAAa,OAAO,SAAS,GAAG;AACzD,OAAI,SAAS,UAAW,cAAa;AAGrC,OAAI,mBAAmB,QAAQ,gBAC7B,QAAO,gBAAgB;AAIzB,OACE,UAAU,QACV,UAAU,UACV,OAAO,SAAS,YAChB,SAAS,iBACT,EAAE,QAAQ,SACV;IACA,MAAM,SAAS,OAAO,MAAM;AAC5B,QAAI,QAAQ,QAAQ;KAClB,MAAM,UAAU,OAAO;AACvB,YAAO,OAAO,YAAY,aAAa,QAAQ,KAAK,MAAM,GAAG;;;AAIjE,UAAO,QAAQ,IAAI,QAAQ,MAAM,SAAS;;EAE7C,CAAC"}
|
|
@@ -2,7 +2,17 @@
|
|
|
2
2
|
const renderIntlayerNode = ({ children, value, additionalProps = {} }) => {
|
|
3
3
|
if (children == null) return new Proxy({}, { get(target, prop, receiver) {
|
|
4
4
|
if (prop === "value") return value;
|
|
5
|
-
if (
|
|
5
|
+
if (prop === Symbol.toPrimitive) return () => value ?? "";
|
|
6
|
+
if (prop === "toString") return () => String(value ?? "");
|
|
7
|
+
if (prop === "valueOf") return () => value;
|
|
8
|
+
if (additionalProps && prop in additionalProps) return additionalProps[prop];
|
|
9
|
+
if (value !== null && value !== void 0 && typeof prop === "string" && prop !== "constructor" && !(prop in target)) {
|
|
10
|
+
const valObj = Object(value);
|
|
11
|
+
if (prop in valObj) {
|
|
12
|
+
const valProp = valObj[prop];
|
|
13
|
+
return typeof valProp === "function" ? valProp.bind(value) : valProp;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
6
16
|
return Reflect.get(target, prop, receiver);
|
|
7
17
|
} });
|
|
8
18
|
return new Proxy(typeof children === "object" || typeof children === "function" ? children : {}, {
|
|
@@ -12,11 +22,17 @@ const renderIntlayerNode = ({ children, value, additionalProps = {} }) => {
|
|
|
12
22
|
},
|
|
13
23
|
get(target, prop, receiver) {
|
|
14
24
|
if (prop === "value") return value;
|
|
15
|
-
if (prop ===
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
if (prop
|
|
19
|
-
if (
|
|
25
|
+
if (prop === Symbol.toPrimitive) return () => value ?? "";
|
|
26
|
+
if (prop === "toString") return () => String(value ?? "");
|
|
27
|
+
if (prop === "valueOf") return () => value;
|
|
28
|
+
if (additionalProps && prop in additionalProps) return additionalProps[prop];
|
|
29
|
+
if (value !== null && value !== void 0 && typeof prop === "string" && prop !== "constructor" && !(prop in target)) {
|
|
30
|
+
const valObj = Object(value);
|
|
31
|
+
if (prop in valObj) {
|
|
32
|
+
const valProp = valObj[prop];
|
|
33
|
+
return typeof valProp === "function" ? valProp.bind(value) : valProp;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
20
36
|
return Reflect.get(target, prop, receiver);
|
|
21
37
|
}
|
|
22
38
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderIntlayerNode.mjs","names":[],"sources":["../../src/renderIntlayerNode.ts"],"sourcesContent":["import type { ResolvedEditor } from '@intlayer/types/module_augmentation';\n\nexport type IntlayerNode<T = string, AdditionalProps = {}> = ResolvedEditor<\n T,\n any\n> & {\n value: T;\n} & AdditionalProps;\n\ntype RenderIntlayerNodeProps<T> = {\n value: T;\n children: any;\n additionalProps?: { [key: string]: any };\n};\n\nexport const renderIntlayerNode = <\n T
|
|
1
|
+
{"version":3,"file":"renderIntlayerNode.mjs","names":[],"sources":["../../src/renderIntlayerNode.ts"],"sourcesContent":["import type { ResolvedEditor } from '@intlayer/types/module_augmentation';\n\nexport type IntlayerNode<T = string, AdditionalProps = {}> = ResolvedEditor<\n T,\n any\n> & {\n value: T;\n} & AdditionalProps &\n T;\n\ntype RenderIntlayerNodeProps<T> = {\n value: T;\n children: any;\n additionalProps?: { [key: string]: any };\n};\n\nexport const renderIntlayerNode = <\n T, // Broadened to support arrays, numbers, objects, etc.\n>({\n children,\n value,\n additionalProps = {},\n}: RenderIntlayerNodeProps<T>): IntlayerNode<T> => {\n // If children is null or undefined, return a simple object with the value\n if (children == null) {\n return new Proxy({} as any, {\n get(target, prop, receiver) {\n if (prop === 'value') return value;\n if (prop === Symbol.toPrimitive) return () => value ?? '';\n if (prop === 'toString') return () => String(value ?? '');\n if (prop === 'valueOf') return () => value;\n\n // Additional Props take precedence\n if (additionalProps && prop in additionalProps) {\n return additionalProps[prop as keyof typeof additionalProps];\n }\n\n // Delegate native methods/properties to the underlying value\n if (\n value !== null &&\n value !== undefined &&\n typeof prop === 'string' &&\n prop !== 'constructor' &&\n !(prop in target)\n ) {\n const valObj = Object(value); // Safely boxes primitives (e.g., 50 -> Number object)\n if (prop in valObj) {\n const valProp = valObj[prop];\n return typeof valProp === 'function'\n ? valProp.bind(value)\n : valProp;\n }\n }\n\n return Reflect.get(target, prop, receiver);\n },\n }) as IntlayerNode<T>;\n }\n\n // Proxy target must be an object or function; wrap primitives\n const target =\n typeof children === 'object' || typeof children === 'function'\n ? children\n : ({} as any);\n\n // Return a Proxy that pretends to be the original content\n // but also has a .value getter and additional props.\n return new Proxy(target, {\n apply(target, thisArg, argumentsList) {\n if (typeof value === 'function') {\n return Reflect.apply(value as Function, thisArg, argumentsList);\n }\n return Reflect.apply(target as Function, thisArg, argumentsList);\n },\n get(target, prop, receiver) {\n if (prop === 'value') return value;\n if (prop === Symbol.toPrimitive) return () => value ?? '';\n if (prop === 'toString') return () => String(value ?? '');\n if (prop === 'valueOf') return () => value;\n\n // Additional Props take precedence\n if (additionalProps && prop in additionalProps) {\n return additionalProps[prop as keyof typeof additionalProps];\n }\n\n // Delegate native methods/properties to the underlying value\n if (\n value !== null &&\n value !== undefined &&\n typeof prop === 'string' &&\n prop !== 'constructor' &&\n !(prop in target)\n ) {\n const valObj = Object(value); // Safely boxes primitives (e.g., 50 -> Number object)\n if (prop in valObj) {\n const valProp = valObj[prop];\n return typeof valProp === 'function' ? valProp.bind(value) : valProp;\n }\n }\n\n return Reflect.get(target, prop, receiver);\n },\n }) as IntlayerNode<T>;\n};\n"],"mappings":";AAgBA,MAAa,sBAEX,EACA,UACA,OACA,kBAAkB,EAAE,OAC6B;AAEjD,KAAI,YAAY,KACd,QAAO,IAAI,MAAM,EAAE,EAAS,EAC1B,IAAI,QAAQ,MAAM,UAAU;AAC1B,MAAI,SAAS,QAAS,QAAO;AAC7B,MAAI,SAAS,OAAO,YAAa,cAAa,SAAS;AACvD,MAAI,SAAS,WAAY,cAAa,OAAO,SAAS,GAAG;AACzD,MAAI,SAAS,UAAW,cAAa;AAGrC,MAAI,mBAAmB,QAAQ,gBAC7B,QAAO,gBAAgB;AAIzB,MACE,UAAU,QACV,UAAU,UACV,OAAO,SAAS,YAChB,SAAS,iBACT,EAAE,QAAQ,SACV;GACA,MAAM,SAAS,OAAO,MAAM;AAC5B,OAAI,QAAQ,QAAQ;IAClB,MAAM,UAAU,OAAO;AACvB,WAAO,OAAO,YAAY,aACtB,QAAQ,KAAK,MAAM,GACnB;;;AAIR,SAAO,QAAQ,IAAI,QAAQ,MAAM,SAAS;IAE7C,CAAC;AAWJ,QAAO,IAAI,MANT,OAAO,aAAa,YAAY,OAAO,aAAa,aAChD,WACC,EAAE,EAIgB;EACvB,MAAM,QAAQ,SAAS,eAAe;AACpC,OAAI,OAAO,UAAU,WACnB,QAAO,QAAQ,MAAM,OAAmB,SAAS,cAAc;AAEjE,UAAO,QAAQ,MAAM,QAAoB,SAAS,cAAc;;EAElE,IAAI,QAAQ,MAAM,UAAU;AAC1B,OAAI,SAAS,QAAS,QAAO;AAC7B,OAAI,SAAS,OAAO,YAAa,cAAa,SAAS;AACvD,OAAI,SAAS,WAAY,cAAa,OAAO,SAAS,GAAG;AACzD,OAAI,SAAS,UAAW,cAAa;AAGrC,OAAI,mBAAmB,QAAQ,gBAC7B,QAAO,gBAAgB;AAIzB,OACE,UAAU,QACV,UAAU,UACV,OAAO,SAAS,YAChB,SAAS,iBACT,EAAE,QAAQ,SACV;IACA,MAAM,SAAS,OAAO,MAAM;AAC5B,QAAI,QAAQ,QAAQ;KAClB,MAAM,UAAU,OAAO;AACvB,YAAO,OAAO,YAAY,aAAa,QAAQ,KAAK,MAAM,GAAG;;;AAIjE,UAAO,QAAQ,IAAI,QAAQ,MAAM,SAAS;;EAE7C,CAAC"}
|
|
@@ -3,7 +3,7 @@ import { ResolvedEditor } from "@intlayer/types/module_augmentation";
|
|
|
3
3
|
//#region src/renderIntlayerNode.d.ts
|
|
4
4
|
type IntlayerNode<T = string, AdditionalProps = {}> = ResolvedEditor<T, any> & {
|
|
5
5
|
value: T;
|
|
6
|
-
} & AdditionalProps;
|
|
6
|
+
} & AdditionalProps & T;
|
|
7
7
|
type RenderIntlayerNodeProps<T> = {
|
|
8
8
|
value: T;
|
|
9
9
|
children: any;
|
|
@@ -11,7 +11,7 @@ type RenderIntlayerNodeProps<T> = {
|
|
|
11
11
|
[key: string]: any;
|
|
12
12
|
};
|
|
13
13
|
};
|
|
14
|
-
declare const renderIntlayerNode: <T
|
|
14
|
+
declare const renderIntlayerNode: <T>({
|
|
15
15
|
children,
|
|
16
16
|
value,
|
|
17
17
|
additionalProps
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderIntlayerNode.d.ts","names":[],"sources":["../../src/renderIntlayerNode.ts"],"mappings":";;;KAEY,YAAA,qCAAiD,cAAA,CAC3D,CAAA;EAGA,KAAA,EAAO,CAAA;AAAA,IACL,eAAA;AAAA,
|
|
1
|
+
{"version":3,"file":"renderIntlayerNode.d.ts","names":[],"sources":["../../src/renderIntlayerNode.ts"],"mappings":";;;KAEY,YAAA,qCAAiD,cAAA,CAC3D,CAAA;EAGA,KAAA,EAAO,CAAA;AAAA,IACL,eAAA,GACF,CAAA;AAAA,KAEG,uBAAA;EACH,KAAA,EAAO,CAAA;EACP,QAAA;EACA,eAAA;IAAA,CAAqB,GAAA;EAAA;AAAA;AAAA,cAGV,kBAAA;EAEX,QAAA;EAAA,KAAA;EAAA;AAAA,GAIC,uBAAA,CAAwB,CAAA,MAAK,YAAA,CAAa,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "angular-intlayer",
|
|
3
|
-
"version": "8.
|
|
3
|
+
"version": "8.9.1",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "Easily internationalize i18n your Angular applications with type-safe multilingual content management.",
|
|
6
6
|
"keywords": [
|
|
@@ -110,13 +110,13 @@
|
|
|
110
110
|
"dependencies": {
|
|
111
111
|
"@babel/plugin-syntax-import-attributes": "^7.28.6",
|
|
112
112
|
"@babel/preset-env": "^7.29.2",
|
|
113
|
-
"@intlayer/chokidar": "8.
|
|
114
|
-
"@intlayer/config": "8.
|
|
115
|
-
"@intlayer/core": "8.
|
|
116
|
-
"@intlayer/dictionaries-entry": "8.
|
|
117
|
-
"@intlayer/editor": "8.
|
|
118
|
-
"@intlayer/types": "8.
|
|
119
|
-
"@intlayer/webpack": "8.
|
|
113
|
+
"@intlayer/chokidar": "8.9.1",
|
|
114
|
+
"@intlayer/config": "8.9.1",
|
|
115
|
+
"@intlayer/core": "8.9.1",
|
|
116
|
+
"@intlayer/dictionaries-entry": "8.9.1",
|
|
117
|
+
"@intlayer/editor": "8.9.1",
|
|
118
|
+
"@intlayer/types": "8.9.1",
|
|
119
|
+
"@intlayer/webpack": "8.9.1",
|
|
120
120
|
"babel-loader": "^10.1.1",
|
|
121
121
|
"defu": "6.1.7"
|
|
122
122
|
},
|