valleyed 4.4.4 → 4.4.6
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/CHANGELOG.md +14 -0
- package/lib/index.d.ts +1 -0
- package/lib/index.js +1 -0
- package/lib/index.js.map +1 -1
- package/lib/utils/classes.d.ts +7 -5
- package/lib/utils/classes.js +30 -7
- package/lib/utils/classes.js.map +1 -1
- package/lib/utils/types.d.ts +7 -0
- package/lib/utils/types.js +3 -0
- package/lib/utils/types.js.map +1 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,20 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
|
|
4
4
|
|
|
5
|
+
### [4.4.6](https://github.com/kevinand11/valleyed/compare/v4.4.5...v4.4.6) (2025-05-22)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
### Bug Fixes
|
|
9
|
+
|
|
10
|
+
* return json type ([ae45c35](https://github.com/kevinand11/valleyed/commit/ae45c357c8040db94f81845c5b66a60ce5d119e2))
|
|
11
|
+
|
|
12
|
+
### [4.4.5](https://github.com/kevinand11/valleyed/compare/v4.4.4...v4.4.5) (2025-05-21)
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
### Features
|
|
16
|
+
|
|
17
|
+
* move ignore and toJson logic from equipped to here ([df4ef30](https://github.com/kevinand11/valleyed/commit/df4ef3071f9faf45bed2bb3666c3f0af0e465fdf))
|
|
18
|
+
|
|
5
19
|
### [4.4.4](https://github.com/kevinand11/valleyed/compare/v4.4.3...v4.4.4) (2025-05-17)
|
|
6
20
|
|
|
7
21
|
|
package/lib/index.d.ts
CHANGED
package/lib/index.js
CHANGED
|
@@ -22,6 +22,7 @@ __exportStar(require("./utils/differ"), exports);
|
|
|
22
22
|
__exportStar(require("./utils/functions"), exports);
|
|
23
23
|
__exportStar(require("./utils/geohash"), exports);
|
|
24
24
|
__exportStar(require("./utils/rules"), exports);
|
|
25
|
+
__exportStar(require("./utils/types"), exports);
|
|
25
26
|
var validators_1 = require("./validators");
|
|
26
27
|
Object.defineProperty(exports, "Validator", { enumerable: true, get: function () { return validators_1.Validator; } });
|
|
27
28
|
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,wCAAqB;AACrB,0CAAuB;AACvB,kDAA+B;AAC/B,iDAA8B;AAC9B,oDAAiC;AACjC,kDAA+B;AAC/B,gDAA6B;AAC7B,2CAAwC;AAA/B,uGAAA,SAAS,OAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,wCAAqB;AACrB,0CAAuB;AACvB,kDAA+B;AAC/B,iDAA8B;AAC9B,oDAAiC;AACjC,kDAA+B;AAC/B,gDAA6B;AAC7B,gDAA6B;AAC7B,2CAAwC;AAA/B,uGAAA,SAAS,OAAA"}
|
package/lib/utils/classes.d.ts
CHANGED
|
@@ -1,15 +1,17 @@
|
|
|
1
|
+
import { DeepOmit, JSONValue } from './types';
|
|
1
2
|
declare const customInspectSymbol: unique symbol;
|
|
2
3
|
type Accessor<Keys extends Record<string, any>> = {
|
|
3
4
|
get: <Key extends keyof Keys>(key: Key, keysObj: Keys) => Keys[Key];
|
|
4
5
|
set: <Key extends keyof Keys>(key: Key, value: Keys[Key], keysObj: Keys) => void;
|
|
5
6
|
};
|
|
6
|
-
declare class __Wrapped<Keys extends Record<string, any
|
|
7
|
+
declare class __Wrapped<Keys extends Record<string, any>, Ignored extends string = never> {
|
|
8
|
+
readonly __ignoreInJSON: Ignored[];
|
|
7
9
|
constructor(keys: Keys, access?: Accessor<Keys>);
|
|
8
10
|
[customInspectSymbol](_: any, options: any, inspect: any): string;
|
|
9
|
-
toJSON():
|
|
10
|
-
toString(): string;
|
|
11
|
+
toJSON(includeIgnored?: boolean): JSONValue<DeepOmit<this, Ignored, '__ignoreInJSON'>>;
|
|
12
|
+
toString(includeIgnored?: boolean): string;
|
|
11
13
|
}
|
|
12
|
-
declare const ClassPropertiesWrapper_base: new <Keys_1 extends Record<string, any
|
|
13
|
-
export declare class ClassPropertiesWrapper<Keys extends Record<string, any
|
|
14
|
+
declare const ClassPropertiesWrapper_base: new <Keys_1 extends Record<string, any>, Ignored_1 extends string = never>(keys: Keys_1, access?: Accessor<Keys_1>) => __Wrapped<Keys_1, Ignored_1> & Keys_1;
|
|
15
|
+
export declare class ClassPropertiesWrapper<Keys extends Record<string, any>, Ignored extends string = never> extends ClassPropertiesWrapper_base<Keys, Ignored> {
|
|
14
16
|
}
|
|
15
17
|
export {};
|
package/lib/utils/classes.js
CHANGED
|
@@ -12,6 +12,7 @@ if (util_1.default?.inspect?.defaultOptions) {
|
|
|
12
12
|
}
|
|
13
13
|
const customInspectSymbol = Symbol.for('nodejs.util.inspect.custom');
|
|
14
14
|
class __Wrapped {
|
|
15
|
+
__ignoreInJSON = [];
|
|
15
16
|
constructor(keys, access = {
|
|
16
17
|
get: (key, keys) => keys[key],
|
|
17
18
|
set: (key, value, keys) => {
|
|
@@ -35,18 +36,22 @@ class __Wrapped {
|
|
|
35
36
|
options.depth = Number.MAX_SAFE_INTEGER;
|
|
36
37
|
return options.stylize(this.constructor.name, options) + ' ' + inspect(this.toJSON(), options);
|
|
37
38
|
}
|
|
38
|
-
toJSON() {
|
|
39
|
-
const json =
|
|
40
|
-
Object.
|
|
41
|
-
.
|
|
39
|
+
toJSON(includeIgnored = false) {
|
|
40
|
+
const json = {};
|
|
41
|
+
Object.keys(this)
|
|
42
|
+
.concat(Object.getOwnPropertyNames(Object.getPrototypeOf(this)))
|
|
42
43
|
.forEach((key) => {
|
|
43
44
|
const value = this[key];
|
|
44
|
-
|
|
45
|
+
if (typeof value === 'function' || value === undefined)
|
|
46
|
+
return;
|
|
47
|
+
json[key] = value?.toJSON?.(includeIgnored) ?? clone(value);
|
|
45
48
|
});
|
|
49
|
+
const keysToDelete = ['__ignoreInJSON', '__keys'].concat(...(includeIgnored !== true ? this.__ignoreInJSON : []));
|
|
50
|
+
keysToDelete.forEach((k) => deleteKeyFromObject(json, k.split('.')));
|
|
46
51
|
return json;
|
|
47
52
|
}
|
|
48
|
-
toString() {
|
|
49
|
-
return JSON.stringify(this.toJSON());
|
|
53
|
+
toString(includeIgnored = false) {
|
|
54
|
+
return JSON.stringify(this.toJSON(includeIgnored));
|
|
50
55
|
}
|
|
51
56
|
}
|
|
52
57
|
function WrapWithProperties() {
|
|
@@ -55,4 +60,22 @@ function WrapWithProperties() {
|
|
|
55
60
|
class ClassPropertiesWrapper extends WrapWithProperties() {
|
|
56
61
|
}
|
|
57
62
|
exports.ClassPropertiesWrapper = ClassPropertiesWrapper;
|
|
63
|
+
function clone(value) {
|
|
64
|
+
try {
|
|
65
|
+
return structuredClone(value);
|
|
66
|
+
}
|
|
67
|
+
catch {
|
|
68
|
+
return value;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
const deleteKeyFromObject = (obj, keys) => {
|
|
72
|
+
if (obj === undefined || obj === null)
|
|
73
|
+
return;
|
|
74
|
+
const isArray = Array.isArray(obj);
|
|
75
|
+
if (keys.length === 1 && !isArray)
|
|
76
|
+
return delete obj[keys[0]];
|
|
77
|
+
if (isArray)
|
|
78
|
+
return obj.map((v) => deleteKeyFromObject(v, keys));
|
|
79
|
+
return deleteKeyFromObject(obj[keys[0]], keys.slice(1));
|
|
80
|
+
};
|
|
58
81
|
//# sourceMappingURL=classes.js.map
|
package/lib/utils/classes.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"classes.js","sourceRoot":"","sources":["../../src/utils/classes.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAuB;
|
|
1
|
+
{"version":3,"file":"classes.js","sourceRoot":"","sources":["../../src/utils/classes.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export type DeepOmit<T, K, A = never> = T extends any[] ? DeepOmit<T[number], K, A>[] : T extends (...args: any[]) => any ? never : T extends Array<infer U> ? DeepOmit<U, K, A>[] : {
|
|
2
|
+
[P in keyof T as P extends K | A ? never : P]: DeepOmit<T[P], K extends `${Exclude<P, symbol>}.${infer R}` ? R : never, A>;
|
|
3
|
+
};
|
|
4
|
+
export type JSONPrimitives = string | number | boolean | null;
|
|
5
|
+
export type JSONValue<T> = T extends JSONPrimitives ? T : T extends Array<infer U> ? JSONValue<U>[] : T extends Function ? never : T extends object ? {
|
|
6
|
+
[K in keyof T as JSONValue<T[K]> extends never ? never : JSONValue<T[K]> extends undefined ? never : K]: JSONValue<T[K]>;
|
|
7
|
+
} : never;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/utils/types.ts"],"names":[],"mappings":""}
|
package/package.json
CHANGED