@jdsalasc/solvejs-objects 1.5.1 → 1.6.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.
- package/README.md +8 -3
- package/dist/cjs/index.cjs +14 -2
- package/dist/cjs/index.js.map +1 -1
- package/dist/esm/index.js +14 -2
- package/dist/esm/index.js.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -12,9 +12,14 @@ Zero-dependency object utilities for JavaScript and TypeScript.
|
|
|
12
12
|
- `get`, `set`
|
|
13
13
|
- `deepMerge`
|
|
14
14
|
|
|
15
|
-
## When to use this package
|
|
16
|
-
|
|
17
|
-
Use it when you need consistent object shaping and nested path operations without pulling a larger utility library.
|
|
15
|
+
## When to use this package
|
|
16
|
+
|
|
17
|
+
Use it when you need consistent object shaping and nested path operations without pulling a larger utility library.
|
|
18
|
+
|
|
19
|
+
## Limitations and Constraints
|
|
20
|
+
|
|
21
|
+
- Path helpers currently support dot-separated string paths only.
|
|
22
|
+
- `deepMerge` merges plain objects and replaces arrays by design.
|
|
18
23
|
|
|
19
24
|
## Install
|
|
20
25
|
|
package/dist/cjs/index.cjs
CHANGED
|
@@ -15,6 +15,10 @@ exports.deepMerge = deepMerge;
|
|
|
15
15
|
function isPlainObject(value) {
|
|
16
16
|
return Object.prototype.toString.call(value) === "[object Object]";
|
|
17
17
|
}
|
|
18
|
+
const UNSAFE_PATH_SEGMENTS = new Set(["__proto__", "prototype", "constructor"]);
|
|
19
|
+
function isSafePathSegment(segment) {
|
|
20
|
+
return !UNSAFE_PATH_SEGMENTS.has(segment);
|
|
21
|
+
}
|
|
18
22
|
/**
|
|
19
23
|
* Safely checks whether an object owns a property.
|
|
20
24
|
*
|
|
@@ -76,12 +80,15 @@ function get(value, path, fallback) {
|
|
|
76
80
|
.filter(Boolean);
|
|
77
81
|
let current = value;
|
|
78
82
|
for (const segment of segments) {
|
|
79
|
-
if (
|
|
83
|
+
if (!isSafePathSegment(segment)) {
|
|
84
|
+
return fallback;
|
|
85
|
+
}
|
|
86
|
+
if (current == null || !hasOwn(Object(current), segment)) {
|
|
80
87
|
return fallback;
|
|
81
88
|
}
|
|
82
89
|
current = current[segment];
|
|
83
90
|
}
|
|
84
|
-
return current
|
|
91
|
+
return current;
|
|
85
92
|
}
|
|
86
93
|
/**
|
|
87
94
|
* Sets a nested value using dot-separated path segments.
|
|
@@ -104,6 +111,11 @@ function set(value, path, nextValue) {
|
|
|
104
111
|
if (segments.length === 0) {
|
|
105
112
|
throw new TypeError("Expected path to be a non-empty dot path.");
|
|
106
113
|
}
|
|
114
|
+
for (const segment of segments) {
|
|
115
|
+
if (!isSafePathSegment(segment)) {
|
|
116
|
+
throw new TypeError("Expected path to not include unsafe segments.");
|
|
117
|
+
}
|
|
118
|
+
}
|
|
107
119
|
let cursor = value;
|
|
108
120
|
for (let index = 0; index < segments.length - 1; index += 1) {
|
|
109
121
|
const segment = segments[index];
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/index.js
CHANGED
|
@@ -7,6 +7,10 @@
|
|
|
7
7
|
function isPlainObject(value) {
|
|
8
8
|
return Object.prototype.toString.call(value) === "[object Object]";
|
|
9
9
|
}
|
|
10
|
+
const UNSAFE_PATH_SEGMENTS = new Set(["__proto__", "prototype", "constructor"]);
|
|
11
|
+
function isSafePathSegment(segment) {
|
|
12
|
+
return !UNSAFE_PATH_SEGMENTS.has(segment);
|
|
13
|
+
}
|
|
10
14
|
/**
|
|
11
15
|
* Safely checks whether an object owns a property.
|
|
12
16
|
*
|
|
@@ -68,12 +72,15 @@ export function get(value, path, fallback) {
|
|
|
68
72
|
.filter(Boolean);
|
|
69
73
|
let current = value;
|
|
70
74
|
for (const segment of segments) {
|
|
71
|
-
if (
|
|
75
|
+
if (!isSafePathSegment(segment)) {
|
|
76
|
+
return fallback;
|
|
77
|
+
}
|
|
78
|
+
if (current == null || !hasOwn(Object(current), segment)) {
|
|
72
79
|
return fallback;
|
|
73
80
|
}
|
|
74
81
|
current = current[segment];
|
|
75
82
|
}
|
|
76
|
-
return current
|
|
83
|
+
return current;
|
|
77
84
|
}
|
|
78
85
|
/**
|
|
79
86
|
* Sets a nested value using dot-separated path segments.
|
|
@@ -96,6 +103,11 @@ export function set(value, path, nextValue) {
|
|
|
96
103
|
if (segments.length === 0) {
|
|
97
104
|
throw new TypeError("Expected path to be a non-empty dot path.");
|
|
98
105
|
}
|
|
106
|
+
for (const segment of segments) {
|
|
107
|
+
if (!isSafePathSegment(segment)) {
|
|
108
|
+
throw new TypeError("Expected path to not include unsafe segments.");
|
|
109
|
+
}
|
|
110
|
+
}
|
|
99
111
|
let cursor = value;
|
|
100
112
|
for (let index = 0; index < segments.length - 1; index += 1) {
|
|
101
113
|
const segment = segments[index];
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,SAAS,aAAa,CAAC,KAAc;IACnC,OAAO,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,iBAAiB,CAAC;AACrE,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,MAAM,CAAC,KAAc,EAAE,GAAgB;IACrD,OAAO,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AAC3E,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,IAAI,CAAsC,KAAQ,EAAE,IAAkB;IACpF,MAAM,MAAM,GAAG,EAAgB,CAAC;IAChC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,IAAI,CAAsC,KAAQ,EAAE,IAAkB;IACpF,MAAM,OAAO,GAAG,IAAI,GAAG,CAAc,IAAI,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAiC,EAAE,CAAC;IAEhD,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACtB,MAAM,CAAC,GAAG,CAAC,GAAI,KAAsC,CAAC,GAAG,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;IAED,OAAO,MAAoB,CAAC;AAC9B,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,GAAG,CAAI,KAAc,EAAE,IAAY,EAAE,QAAY;IAC/D,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;QACjB,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI;SAClB,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;SAChC,MAAM,CAAC,OAAO,CAAC,CAAC;IACnB,IAAI,OAAO,GAAY,KAAK,CAAC;IAE7B,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jdsalasc/solvejs-objects",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.6.0",
|
|
4
4
|
"description": "Zero-dependency JavaScript/TypeScript object utilities for production: pick, omit, hasOwn, nested get/set by path, and deepMerge for config/state.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
"build:esm": "tsc -p tsconfig.esm.json",
|
|
25
25
|
"build:cjs": "tsc -p tsconfig.cjs.json && node ./scripts/rename-cjs.mjs",
|
|
26
26
|
"clean": "node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"",
|
|
27
|
-
"test": "
|
|
27
|
+
"test": "node --test test/*.test.mjs",
|
|
28
28
|
"lint": "tsc -p tsconfig.esm.json --noEmit"
|
|
29
29
|
},
|
|
30
30
|
"publishConfig": {
|