xypriss 9.3.70 → 9.3.71
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/src/middleware/built-in/ResponseManipulationMiddleware.js +32 -7
- package/dist/cjs/src/middleware/built-in/ResponseManipulationMiddleware.js.map +1 -1
- package/dist/esm/src/middleware/built-in/ResponseManipulationMiddleware.js +32 -7
- package/dist/esm/src/middleware/built-in/ResponseManipulationMiddleware.js.map +1 -1
- package/dist/index.d.ts +3 -1
- package/package.json +1 -1
|
@@ -41,7 +41,7 @@ function createResponseManipulationMiddleware(config) {
|
|
|
41
41
|
return data;
|
|
42
42
|
}
|
|
43
43
|
for (const rule of config.rules) {
|
|
44
|
-
applyRule(result, rule.field, rule.replacement, rule.preserve, 0, maxDepth);
|
|
44
|
+
applyRule(result, rule.field, rule.replacement, rule.preserve, rule.valuePattern, 0, maxDepth);
|
|
45
45
|
}
|
|
46
46
|
return result;
|
|
47
47
|
};
|
|
@@ -76,24 +76,38 @@ function createResponseManipulationMiddleware(config) {
|
|
|
76
76
|
/**
|
|
77
77
|
* Recursively applies a manipulation rule to an object.
|
|
78
78
|
*/
|
|
79
|
-
function applyRule(obj, field, replacement, preserve, depth = 0, maxDepth = 10) {
|
|
79
|
+
function applyRule(obj, field, replacement, preserve, valuePattern, depth = 0, maxDepth = 10) {
|
|
80
80
|
if (!obj || typeof obj !== "object" || depth > maxDepth)
|
|
81
81
|
return;
|
|
82
|
+
// 1. Global value matching if field is omitted
|
|
83
|
+
if (!field && valuePattern) {
|
|
84
|
+
for (const key in obj) {
|
|
85
|
+
if (Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
86
|
+
maskValue(obj, key, replacement, preserve, valuePattern);
|
|
87
|
+
// Recurse deeper
|
|
88
|
+
if (obj[key] && typeof obj[key] === "object") {
|
|
89
|
+
applyRule(obj[key], undefined, replacement, preserve, valuePattern, depth + 1, maxDepth);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
return;
|
|
94
|
+
}
|
|
95
|
+
// 2. RegExp matching on keys
|
|
82
96
|
if (field instanceof RegExp) {
|
|
83
97
|
for (const key in obj) {
|
|
84
98
|
if (Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
85
99
|
if (field.test(key)) {
|
|
86
|
-
maskValue(obj, key, replacement, preserve);
|
|
100
|
+
maskValue(obj, key, replacement, preserve, valuePattern);
|
|
87
101
|
}
|
|
88
102
|
// Recurse for nested objects even if key didn't match (to find matches deeper)
|
|
89
103
|
if (obj[key] && typeof obj[key] === "object") {
|
|
90
|
-
applyRule(obj[key], field, replacement, preserve, depth + 1, maxDepth);
|
|
104
|
+
applyRule(obj[key], field, replacement, preserve, valuePattern, depth + 1, maxDepth);
|
|
91
105
|
}
|
|
92
106
|
}
|
|
93
107
|
}
|
|
94
108
|
return;
|
|
95
109
|
}
|
|
96
|
-
//
|
|
110
|
+
// 3. Dot notation matching
|
|
97
111
|
const keys = field.split(".");
|
|
98
112
|
let current = obj;
|
|
99
113
|
for (let i = 0; i < keys.length - 1; i++) {
|
|
@@ -107,14 +121,25 @@ function applyRule(obj, field, replacement, preserve, depth = 0, maxDepth = 10)
|
|
|
107
121
|
}
|
|
108
122
|
const lastKey = keys[keys.length - 1];
|
|
109
123
|
if (current[lastKey] !== undefined) {
|
|
110
|
-
maskValue(current, lastKey, replacement, preserve);
|
|
124
|
+
maskValue(current, lastKey, replacement, preserve, valuePattern);
|
|
111
125
|
}
|
|
112
126
|
}
|
|
113
127
|
/**
|
|
114
128
|
* Masks or replaces a value at a specific key in an object.
|
|
115
129
|
*/
|
|
116
|
-
function maskValue(obj, key, replacement, preserve) {
|
|
130
|
+
function maskValue(obj, key, replacement, preserve, valuePattern) {
|
|
117
131
|
const value = obj[key];
|
|
132
|
+
// If valuePattern is specified, only mask if the value matches the pattern
|
|
133
|
+
if (valuePattern && typeof value === "string") {
|
|
134
|
+
if (!valuePattern.test(value)) {
|
|
135
|
+
return;
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
else if (valuePattern) {
|
|
139
|
+
// Skip non-string values if we're looking for a pattern match
|
|
140
|
+
// (Patterns typically only make sense for string/error messages)
|
|
141
|
+
return;
|
|
142
|
+
}
|
|
118
143
|
if (replacement !== undefined) {
|
|
119
144
|
obj[key] = replacement;
|
|
120
145
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResponseManipulationMiddleware.js","sources":["../../../../../src/middleware/built-in/ResponseManipulationMiddleware.ts"],"sourcesContent":[null],"names":["XStringify"],"mappings":";;;;AAQA;;;;;;AAMG;AACG,SAAU,oCAAoC,CAChD,MAAkC,EAAA;AAElC,IAAA,OAAO,CAAC,GAAoB,EAAE,GAAqB,EAAE,IAAS,KAAI;AAC9D,QAAA,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;YAC/D,OAAO,IAAI,EAAE;QACjB;AAEA,QAAA,MAAM,YAAY,GAAG,GAAG,CAAC,IAAI;AAC7B,QAAA,MAAM,YAAY,GAAG,GAAG,CAAC,IAAI;AAE7B,QAAA,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,EAAE;AAEtC,QAAA,MAAM,UAAU,GAAG,CAAC,IAAS,KAAI;YAC7B,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,EAAE;AAC3C,gBAAA,OAAO,IAAI;YACf;;;AAIA,YAAA,IAAI,MAAW;AACf,YAAA,IAAI;;;gBAGA,MAAM,GAAG,IAAI,CAAC,KAAK,CACfA,0BAAU,CAAC,IAAI,EAAE;AACb,oBAAA,OAAO,EAAE,IAAI;AACb,oBAAA,QAAQ,EAAE,GAAG;oBACb,SAAS,EAAE,OAAO;oBAClB,eAAe,EAAE,OAAO;AACxB,oBAAA,kBAAkB,EAAE,IAAI;AAC3B,iBAAA,CAAC,CACL;YACL;YAAE,OAAO,CAAC,EAAE;;;AAGR,gBAAA,OAAO,IAAI;YACf;AAEA,YAAA,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAM,EAAE;
|
|
1
|
+
{"version":3,"file":"ResponseManipulationMiddleware.js","sources":["../../../../../src/middleware/built-in/ResponseManipulationMiddleware.ts"],"sourcesContent":[null],"names":["XStringify"],"mappings":"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"}
|
|
@@ -39,7 +39,7 @@ function createResponseManipulationMiddleware(config) {
|
|
|
39
39
|
return data;
|
|
40
40
|
}
|
|
41
41
|
for (const rule of config.rules) {
|
|
42
|
-
applyRule(result, rule.field, rule.replacement, rule.preserve, 0, maxDepth);
|
|
42
|
+
applyRule(result, rule.field, rule.replacement, rule.preserve, rule.valuePattern, 0, maxDepth);
|
|
43
43
|
}
|
|
44
44
|
return result;
|
|
45
45
|
};
|
|
@@ -74,24 +74,38 @@ function createResponseManipulationMiddleware(config) {
|
|
|
74
74
|
/**
|
|
75
75
|
* Recursively applies a manipulation rule to an object.
|
|
76
76
|
*/
|
|
77
|
-
function applyRule(obj, field, replacement, preserve, depth = 0, maxDepth = 10) {
|
|
77
|
+
function applyRule(obj, field, replacement, preserve, valuePattern, depth = 0, maxDepth = 10) {
|
|
78
78
|
if (!obj || typeof obj !== "object" || depth > maxDepth)
|
|
79
79
|
return;
|
|
80
|
+
// 1. Global value matching if field is omitted
|
|
81
|
+
if (!field && valuePattern) {
|
|
82
|
+
for (const key in obj) {
|
|
83
|
+
if (Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
84
|
+
maskValue(obj, key, replacement, preserve, valuePattern);
|
|
85
|
+
// Recurse deeper
|
|
86
|
+
if (obj[key] && typeof obj[key] === "object") {
|
|
87
|
+
applyRule(obj[key], undefined, replacement, preserve, valuePattern, depth + 1, maxDepth);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
return;
|
|
92
|
+
}
|
|
93
|
+
// 2. RegExp matching on keys
|
|
80
94
|
if (field instanceof RegExp) {
|
|
81
95
|
for (const key in obj) {
|
|
82
96
|
if (Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
83
97
|
if (field.test(key)) {
|
|
84
|
-
maskValue(obj, key, replacement, preserve);
|
|
98
|
+
maskValue(obj, key, replacement, preserve, valuePattern);
|
|
85
99
|
}
|
|
86
100
|
// Recurse for nested objects even if key didn't match (to find matches deeper)
|
|
87
101
|
if (obj[key] && typeof obj[key] === "object") {
|
|
88
|
-
applyRule(obj[key], field, replacement, preserve, depth + 1, maxDepth);
|
|
102
|
+
applyRule(obj[key], field, replacement, preserve, valuePattern, depth + 1, maxDepth);
|
|
89
103
|
}
|
|
90
104
|
}
|
|
91
105
|
}
|
|
92
106
|
return;
|
|
93
107
|
}
|
|
94
|
-
//
|
|
108
|
+
// 3. Dot notation matching
|
|
95
109
|
const keys = field.split(".");
|
|
96
110
|
let current = obj;
|
|
97
111
|
for (let i = 0; i < keys.length - 1; i++) {
|
|
@@ -105,14 +119,25 @@ function applyRule(obj, field, replacement, preserve, depth = 0, maxDepth = 10)
|
|
|
105
119
|
}
|
|
106
120
|
const lastKey = keys[keys.length - 1];
|
|
107
121
|
if (current[lastKey] !== undefined) {
|
|
108
|
-
maskValue(current, lastKey, replacement, preserve);
|
|
122
|
+
maskValue(current, lastKey, replacement, preserve, valuePattern);
|
|
109
123
|
}
|
|
110
124
|
}
|
|
111
125
|
/**
|
|
112
126
|
* Masks or replaces a value at a specific key in an object.
|
|
113
127
|
*/
|
|
114
|
-
function maskValue(obj, key, replacement, preserve) {
|
|
128
|
+
function maskValue(obj, key, replacement, preserve, valuePattern) {
|
|
115
129
|
const value = obj[key];
|
|
130
|
+
// If valuePattern is specified, only mask if the value matches the pattern
|
|
131
|
+
if (valuePattern && typeof value === "string") {
|
|
132
|
+
if (!valuePattern.test(value)) {
|
|
133
|
+
return;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
else if (valuePattern) {
|
|
137
|
+
// Skip non-string values if we're looking for a pattern match
|
|
138
|
+
// (Patterns typically only make sense for string/error messages)
|
|
139
|
+
return;
|
|
140
|
+
}
|
|
116
141
|
if (replacement !== undefined) {
|
|
117
142
|
obj[key] = replacement;
|
|
118
143
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResponseManipulationMiddleware.js","sources":["../../../../../src/middleware/built-in/ResponseManipulationMiddleware.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAQA;;;;;;AAMG;AACG,SAAU,oCAAoC,CAChD,MAAkC,EAAA;AAElC,IAAA,OAAO,CAAC,GAAoB,EAAE,GAAqB,EAAE,IAAS,KAAI;AAC9D,QAAA,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;YAC/D,OAAO,IAAI,EAAE;QACjB;AAEA,QAAA,MAAM,YAAY,GAAG,GAAG,CAAC,IAAI;AAC7B,QAAA,MAAM,YAAY,GAAG,GAAG,CAAC,IAAI;AAE7B,QAAA,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,EAAE;AAEtC,QAAA,MAAM,UAAU,GAAG,CAAC,IAAS,KAAI;YAC7B,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,EAAE;AAC3C,gBAAA,OAAO,IAAI;YACf;;;AAIA,YAAA,IAAI,MAAW;AACf,YAAA,IAAI;;;gBAGA,MAAM,GAAG,IAAI,CAAC,KAAK,CACf,UAAU,CAAC,IAAI,EAAE;AACb,oBAAA,OAAO,EAAE,IAAI;AACb,oBAAA,QAAQ,EAAE,GAAG;oBACb,SAAS,EAAE,OAAO;oBAClB,eAAe,EAAE,OAAO;AACxB,oBAAA,kBAAkB,EAAE,IAAI;AAC3B,iBAAA,CAAC,CACL;YACL;YAAE,OAAO,CAAC,EAAE;;;AAGR,gBAAA,OAAO,IAAI;YACf;AAEA,YAAA,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAM,EAAE;
|
|
1
|
+
{"version":3,"file":"ResponseManipulationMiddleware.js","sources":["../../../../../src/middleware/built-in/ResponseManipulationMiddleware.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -345,7 +345,9 @@ interface PaginationInfo {
|
|
|
345
345
|
*/
|
|
346
346
|
interface ResponseManipulationRule {
|
|
347
347
|
/** Field name (dot notation) or RegExp pattern for matching keys */
|
|
348
|
-
field
|
|
348
|
+
field?: string | RegExp;
|
|
349
|
+
/** RegExp pattern for matching field values */
|
|
350
|
+
valuePattern?: RegExp;
|
|
349
351
|
/** Mask string (e.g., "****") or replacement value */
|
|
350
352
|
replacement?: any;
|
|
351
353
|
/** Number of characters to preserve (at the beginning) for string masking */
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "xypriss",
|
|
3
|
-
"version": "9.3.
|
|
3
|
+
"version": "9.3.71",
|
|
4
4
|
"description": "XyPriss is a lightweight, TypeScript-first, open-source Node.js web framework crafted for developers seeking a familiar Express-like API without Express dependencies.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Nehonix",
|