xypriss 9.12.11 → 9.12.13
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/plugins/builtin/xems/XemsBuiltinPlugin.js +9 -3
- package/dist/cjs/src/plugins/builtin/xems/XemsBuiltinPlugin.js.map +1 -1
- package/dist/cjs/src/server/FastServer/index.js +4 -6
- package/dist/cjs/src/server/FastServer/index.js.map +1 -1
- package/dist/cjs/src/xhsc/UtilsApi.js +49 -2
- package/dist/cjs/src/xhsc/UtilsApi.js.map +1 -1
- package/dist/cjs/src/xhsc/utils/ObjectUtils.js +832 -0
- package/dist/cjs/src/xhsc/utils/ObjectUtils.js.map +1 -1
- package/dist/esm/src/plugins/builtin/xems/XemsBuiltinPlugin.js +9 -3
- package/dist/esm/src/plugins/builtin/xems/XemsBuiltinPlugin.js.map +1 -1
- package/dist/esm/src/server/FastServer/index.js +4 -6
- package/dist/esm/src/server/FastServer/index.js.map +1 -1
- package/dist/esm/src/xhsc/UtilsApi.js +49 -2
- package/dist/esm/src/xhsc/UtilsApi.js.map +1 -1
- package/dist/esm/src/xhsc/utils/ObjectUtils.js +832 -1
- package/dist/esm/src/xhsc/utils/ObjectUtils.js.map +1 -1
- package/dist/index.d.ts +619 -2
- package/package.json +72 -71
- package/dist/cjs/src/middleware/XemsSessionMiddleware.js +0 -115
- package/dist/cjs/src/middleware/XemsSessionMiddleware.js.map +0 -1
- package/dist/esm/src/middleware/XemsSessionMiddleware.js +0 -113
- package/dist/esm/src/middleware/XemsSessionMiddleware.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ObjectUtils.js","sources":["../../../../../src/xhsc/utils/ObjectUtils.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAEA;;AAEG;MACU,WAAW,CAAA;AACpB;;;;;;;;;;;;;;;;;AAiBG;AACI,IAAA,SAAS,CAAI,GAAM,EAAA;QACtB,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IACtC;AAEA;;;;;;;;;;;;;;AAcG;IACI,IAAI,CACP,GAAM,EACN,IAAS,EAAA;QAET,OAAO,IAAI,CAAC,MAAM,CACd,CAAC,GAAG,EAAE,GAAG,KAAI;YACT,IAAI,GAAG,IAAI,GAAG;gBAAE,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC;AACnC,YAAA,OAAO,GAAG;QACd,CAAC,EACD,EAAgB,CACnB;IACL;AAEA;;;;;;;;;;;;;;AAcG;IACI,IAAI,CACP,GAAM,EACN,IAAS,EAAA;AAET,QAAA,MAAM,MAAM,GAAG,EAAE,GAAG,GAAG,EAAE;AACzB,QAAA,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,KAAK,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;AACzC,QAAA,OAAO,MAAoB;IAC/B;AAEA;;;;;;;;;;;;;;;AAeG;AACI,IAAA,OAAO,CAAC,GAAW,EAAA;QACtB,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC;IACxC;AAEA;;;;;;;;;AASG;AACI,IAAA,aAAa,CAChB,GAA4B,EAC5B,SAAA,GAAoB,GAAG,EAAA;QAEvB,MAAM,MAAM,GAA4B,EAAE;QAE1C,MAAM,OAAO,GAAG,CAAC,OAAY,EAAE,IAAA,GAAe,EAAE,KAAI;AAChD,YAAA,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;AAChD,gBAAA,MAAM,OAAO,GAAG,IAAI,GAAG,CAAA,EAAG,IAAI,CAAA,EAAG,SAAS,GAAG,GAAG,CAAA,CAAE,GAAG,GAAG;AACxD,gBAAA,IACI,KAAK;oBACL,OAAO,KAAK,KAAK,QAAQ;AACzB,oBAAA,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;oBACrB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,EAC/B;AACE,oBAAA,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC;gBAC3B;qBAAO;AACH,oBAAA,MAAM,CAAC,OAAO,CAAC,GAAG,KAAK;gBAC3B;YACJ;AACJ,QAAA,CAAC;QAED,OAAO,CAAC,GAAG,CAAC;AACZ,QAAA,OAAO,MAAM;IACjB;AAEA;;;;;;;;;AASG;AACI,IAAA,KAAK,CAAI,IAAY,EAAE,QAAA,GAAqB,IAAI,EAAA;AACnD,QAAA,IAAI;AACA,YAAA,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;QAC3B;AAAE,QAAA,MAAM;AACJ,YAAA,OAAO,QAAQ;QACnB;IACJ;AACH;;;;"}
|
|
1
|
+
{"version":3,"file":"ObjectUtils.js","sources":["../../../../../src/xhsc/utils/ObjectUtils.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -6051,10 +6051,327 @@ declare class DateUtils {
|
|
|
6051
6051
|
formatInTimezone(date: Date | number | string, timeZone: string, locale?: string, options?: Omit<Intl.DateTimeFormatOptions, "timeZone">): string;
|
|
6052
6052
|
}
|
|
6053
6053
|
|
|
6054
|
+
declare class ObjectWrapper<T extends object> {
|
|
6055
|
+
private current;
|
|
6056
|
+
constructor(obj: T);
|
|
6057
|
+
/**
|
|
6058
|
+
* **value**
|
|
6059
|
+
*
|
|
6060
|
+
* Unwraps and returns the underlying plain object held by this wrapper.
|
|
6061
|
+
* Call this at the end of a chain to get back a normal object.
|
|
6062
|
+
*
|
|
6063
|
+
* @returns The current wrapped object.
|
|
6064
|
+
*
|
|
6065
|
+
* @example
|
|
6066
|
+
* ```ts
|
|
6067
|
+
* const obj = __sys__.utils.obj.of({ a: 1 });
|
|
6068
|
+
* obj.value(); // { a: 1 }
|
|
6069
|
+
* ```
|
|
6070
|
+
*/
|
|
6071
|
+
value(): T;
|
|
6072
|
+
/**
|
|
6073
|
+
* **raw**
|
|
6074
|
+
*
|
|
6075
|
+
* Alias for {@link value}. Useful when `value` reads awkwardly in context.
|
|
6076
|
+
*
|
|
6077
|
+
* @returns The current wrapped object.
|
|
6078
|
+
*/
|
|
6079
|
+
raw(): T;
|
|
6080
|
+
/**
|
|
6081
|
+
* **clone**
|
|
6082
|
+
*
|
|
6083
|
+
* Deep-clones the wrapped object (via `XStringify`) and continues
|
|
6084
|
+
* the chain on the cloned copy, leaving the original untouched.
|
|
6085
|
+
*
|
|
6086
|
+
* @returns `this`, now wrapping a deep copy of the previous value.
|
|
6087
|
+
*
|
|
6088
|
+
* @example
|
|
6089
|
+
* ```ts
|
|
6090
|
+
* const source = { nested: { count: 1 } };
|
|
6091
|
+
* const obj = __sys__.utils.obj.of(source).clone();
|
|
6092
|
+
* obj.value().nested.count = 99;
|
|
6093
|
+
* // source.nested.count is still 1
|
|
6094
|
+
* ```
|
|
6095
|
+
*/
|
|
6096
|
+
clone(): ObjectWrapper<T>;
|
|
6097
|
+
/**
|
|
6098
|
+
* **pick**
|
|
6099
|
+
*
|
|
6100
|
+
* Narrows the wrapped object down to only the given keys.
|
|
6101
|
+
*
|
|
6102
|
+
* @param keys - The keys to keep.
|
|
6103
|
+
* @returns `this`, now wrapping only the picked keys.
|
|
6104
|
+
*
|
|
6105
|
+
* @example
|
|
6106
|
+
* ```ts
|
|
6107
|
+
* __sys__.utils.obj.of({ a: 1, b: 2, c: 3 }).pick(["a", "c"]).value();
|
|
6108
|
+
* // { a: 1, c: 3 }
|
|
6109
|
+
* ```
|
|
6110
|
+
*/
|
|
6111
|
+
pick<K extends keyof T>(keys: K[]): ObjectWrapper<Pick<T, K>>;
|
|
6112
|
+
/**
|
|
6113
|
+
* **omit**
|
|
6114
|
+
*
|
|
6115
|
+
* Removes the given keys from the wrapped object.
|
|
6116
|
+
*
|
|
6117
|
+
* @param keys - The keys to remove.
|
|
6118
|
+
* @returns `this`, now wrapping the object without those keys.
|
|
6119
|
+
*
|
|
6120
|
+
* @example
|
|
6121
|
+
* ```ts
|
|
6122
|
+
* __sys__.utils.obj.of({ a: 1, b: 2, c: 3 }).omit(["b"]).value();
|
|
6123
|
+
* // { a: 1, c: 3 }
|
|
6124
|
+
* ```
|
|
6125
|
+
*/
|
|
6126
|
+
omit<K extends keyof T>(keys: K[]): ObjectWrapper<Omit<T, K>>;
|
|
6127
|
+
/**
|
|
6128
|
+
* **isEmpty**
|
|
6129
|
+
*
|
|
6130
|
+
* Checks whether the wrapped object has no own enumerable keys.
|
|
6131
|
+
* This is a terminal read (does not return the wrapper), since it
|
|
6132
|
+
* yields a boolean rather than an object.
|
|
6133
|
+
*
|
|
6134
|
+
* @returns `true` if the object has no own keys.
|
|
6135
|
+
*
|
|
6136
|
+
* @example
|
|
6137
|
+
* ```ts
|
|
6138
|
+
* __sys__.utils.obj.of({}).isEmpty(); // true
|
|
6139
|
+
* ```
|
|
6140
|
+
*/
|
|
6141
|
+
isEmpty(): boolean;
|
|
6142
|
+
/**
|
|
6143
|
+
* **flatten**
|
|
6144
|
+
*
|
|
6145
|
+
* Collapses the wrapped object's nested structure into flat
|
|
6146
|
+
* dot-notation (or custom separator) keys.
|
|
6147
|
+
*
|
|
6148
|
+
* @param separator - Path separator (default: `"."`).
|
|
6149
|
+
* @returns A new wrapper around the flattened object.
|
|
6150
|
+
*
|
|
6151
|
+
* @example
|
|
6152
|
+
* ```ts
|
|
6153
|
+
* __sys__.utils.obj.of({ a: { b: 1 } }).flatten().value();
|
|
6154
|
+
* // { "a.b": 1 }
|
|
6155
|
+
* ```
|
|
6156
|
+
*/
|
|
6157
|
+
flatten(separator?: string): ObjectWrapper<Record<string, unknown>>;
|
|
6158
|
+
/**
|
|
6159
|
+
* **unflatten**
|
|
6160
|
+
*
|
|
6161
|
+
* Reverses {@link flatten}, expanding dot-notation (or custom
|
|
6162
|
+
* separator) keys back into a nested object.
|
|
6163
|
+
*
|
|
6164
|
+
* @param separator - Path separator used in the flat keys (default: `"."`).
|
|
6165
|
+
* @returns A new wrapper around the nested object.
|
|
6166
|
+
*
|
|
6167
|
+
* @example
|
|
6168
|
+
* ```ts
|
|
6169
|
+
* __sys__.utils.obj.of({ "a.b": 1, "a.c": 2 }).unflatten().value();
|
|
6170
|
+
* // { a: { b: 1, c: 2 } }
|
|
6171
|
+
* ```
|
|
6172
|
+
*/
|
|
6173
|
+
unflatten(separator?: string): ObjectWrapper<Record<string, unknown>>;
|
|
6174
|
+
/**
|
|
6175
|
+
* **merge**
|
|
6176
|
+
*
|
|
6177
|
+
* Deep-merges one or more source objects into the wrapped object.
|
|
6178
|
+
* Plain object values are merged recursively; arrays and primitives
|
|
6179
|
+
* are overwritten by the last source that defines them.
|
|
6180
|
+
*
|
|
6181
|
+
* @param sources - One or more partial objects to merge in.
|
|
6182
|
+
* @returns `this`, now wrapping the merged result.
|
|
6183
|
+
*
|
|
6184
|
+
* @example
|
|
6185
|
+
* ```ts
|
|
6186
|
+
* __sys__.utils.obj.of({ a: 1, nested: { x: 1 } })
|
|
6187
|
+
* .merge({ nested: { y: 2 } })
|
|
6188
|
+
* .value();
|
|
6189
|
+
* // { a: 1, nested: { x: 1, y: 2 } }
|
|
6190
|
+
* ```
|
|
6191
|
+
*/
|
|
6192
|
+
merge(...sources: Array<Partial<T> | Record<string, any>>): ObjectWrapper<T>;
|
|
6193
|
+
/**
|
|
6194
|
+
* **mapValues**
|
|
6195
|
+
*
|
|
6196
|
+
* Transforms every value of the wrapped object using `fn`, keeping
|
|
6197
|
+
* the same keys.
|
|
6198
|
+
*
|
|
6199
|
+
* @param fn - Mapping function receiving `(value, key)`.
|
|
6200
|
+
* @returns A new wrapper around the transformed object.
|
|
6201
|
+
*
|
|
6202
|
+
* @example
|
|
6203
|
+
* ```ts
|
|
6204
|
+
* __sys__.utils.obj.of({ a: 1, b: 2 }).mapValues((v) => v * 10).value();
|
|
6205
|
+
* // { a: 10, b: 20 }
|
|
6206
|
+
* ```
|
|
6207
|
+
*/
|
|
6208
|
+
mapValues<R>(fn: (value: T[keyof T], key: keyof T) => R): ObjectWrapper<Record<keyof T, R>>;
|
|
6209
|
+
/**
|
|
6210
|
+
* **mapKeys**
|
|
6211
|
+
*
|
|
6212
|
+
* Transforms every key of the wrapped object using `fn`, keeping
|
|
6213
|
+
* the same values.
|
|
6214
|
+
*
|
|
6215
|
+
* @param fn - Mapping function receiving `(key, value)`. Must return a string.
|
|
6216
|
+
* @returns A new wrapper around the object with renamed keys.
|
|
6217
|
+
*
|
|
6218
|
+
* @example
|
|
6219
|
+
* ```ts
|
|
6220
|
+
* __sys__.utils.obj.of({ a: 1, b: 2 })
|
|
6221
|
+
* .mapKeys((k) => k.toUpperCase())
|
|
6222
|
+
* .value();
|
|
6223
|
+
* // { A: 1, B: 2 }
|
|
6224
|
+
* ```
|
|
6225
|
+
*/
|
|
6226
|
+
mapKeys(fn: (key: keyof T, value: T[keyof T]) => string): ObjectWrapper<Record<string, T[keyof T]>>;
|
|
6227
|
+
/**
|
|
6228
|
+
* **filter**
|
|
6229
|
+
*
|
|
6230
|
+
* Keeps only the key-value pairs for which `predicate` returns `true`.
|
|
6231
|
+
*
|
|
6232
|
+
* @param predicate - Function receiving `(value, key)`.
|
|
6233
|
+
* @returns A new wrapper around the filtered object.
|
|
6234
|
+
*
|
|
6235
|
+
* @example
|
|
6236
|
+
* ```ts
|
|
6237
|
+
* __sys__.utils.obj.of({ a: 1, b: 2, c: 3 })
|
|
6238
|
+
* .filter((v) => v > 1)
|
|
6239
|
+
* .value();
|
|
6240
|
+
* // { b: 2, c: 3 }
|
|
6241
|
+
* ```
|
|
6242
|
+
*/
|
|
6243
|
+
filter(predicate: (value: T[keyof T], key: keyof T) => boolean): ObjectWrapper<Partial<T>>;
|
|
6244
|
+
/**
|
|
6245
|
+
* **keys**
|
|
6246
|
+
*
|
|
6247
|
+
* Returns the own enumerable keys of the wrapped object.
|
|
6248
|
+
* This is a terminal read.
|
|
6249
|
+
*
|
|
6250
|
+
* @returns Array of keys.
|
|
6251
|
+
*/
|
|
6252
|
+
keys(): (keyof T)[];
|
|
6253
|
+
/**
|
|
6254
|
+
* **values**
|
|
6255
|
+
*
|
|
6256
|
+
* Returns the own enumerable values of the wrapped object.
|
|
6257
|
+
* This is a terminal read.
|
|
6258
|
+
*
|
|
6259
|
+
* @returns Array of values.
|
|
6260
|
+
*/
|
|
6261
|
+
values(): T[keyof T][];
|
|
6262
|
+
/**
|
|
6263
|
+
* **entries**
|
|
6264
|
+
*
|
|
6265
|
+
* Returns the own enumerable `[key, value]` pairs of the wrapped object.
|
|
6266
|
+
* This is a terminal read.
|
|
6267
|
+
*
|
|
6268
|
+
* @returns Array of `[key, value]` tuples.
|
|
6269
|
+
*/
|
|
6270
|
+
entries(): [keyof T, T[keyof T]][];
|
|
6271
|
+
/**
|
|
6272
|
+
* **has**
|
|
6273
|
+
*
|
|
6274
|
+
* Checks whether the wrapped object has the given own key.
|
|
6275
|
+
* This is a terminal read.
|
|
6276
|
+
*
|
|
6277
|
+
* @param key - The key to check.
|
|
6278
|
+
* @returns `true` if the key exists on the object.
|
|
6279
|
+
*/
|
|
6280
|
+
has(key: PropertyKey): boolean;
|
|
6281
|
+
/**
|
|
6282
|
+
* **get**
|
|
6283
|
+
*
|
|
6284
|
+
* Safely reads a possibly-nested value using dot-notation path,
|
|
6285
|
+
* returning `fallback` if any part of the path is missing.
|
|
6286
|
+
* This is a terminal read.
|
|
6287
|
+
*
|
|
6288
|
+
* @param path - Dot-notation path (e.g. `"a.b.c"`).
|
|
6289
|
+
* @param fallback - Value returned if the path can't be resolved.
|
|
6290
|
+
* @returns The resolved value or the fallback.
|
|
6291
|
+
*
|
|
6292
|
+
* @example
|
|
6293
|
+
* ```ts
|
|
6294
|
+
* __sys__.utils.obj.of({ a: { b: { c: 42 } } }).get("a.b.c"); // 42
|
|
6295
|
+
* __sys__.utils.obj.of({ a: {} }).get("a.b.c", "missing"); // "missing"
|
|
6296
|
+
* ```
|
|
6297
|
+
*/
|
|
6298
|
+
get<R = unknown>(path: string, fallback?: R | undefined): R | undefined;
|
|
6299
|
+
/**
|
|
6300
|
+
* **set**
|
|
6301
|
+
*
|
|
6302
|
+
* Sets a possibly-nested value using dot-notation path, creating
|
|
6303
|
+
* intermediate objects as needed.
|
|
6304
|
+
*
|
|
6305
|
+
* @param path - Dot-notation path (e.g. `"a.b.c"`).
|
|
6306
|
+
* @param value - The value to set.
|
|
6307
|
+
* @returns `this`, with the value set at the given path.
|
|
6308
|
+
*
|
|
6309
|
+
* @example
|
|
6310
|
+
* ```ts
|
|
6311
|
+
* __sys__.utils.obj.of<any>({}).set("a.b.c", 42).value();
|
|
6312
|
+
* // { a: { b: { c: 42 } } }
|
|
6313
|
+
* ```
|
|
6314
|
+
*/
|
|
6315
|
+
set(path: string, value: unknown): ObjectWrapper<T>;
|
|
6316
|
+
/**
|
|
6317
|
+
* **equals**
|
|
6318
|
+
*
|
|
6319
|
+
* Performs a deep structural equality check between the wrapped
|
|
6320
|
+
* object and `other`. This is a terminal read.
|
|
6321
|
+
*
|
|
6322
|
+
* @param other - The object to compare against.
|
|
6323
|
+
* @returns `true` if both objects are deeply equal.
|
|
6324
|
+
*
|
|
6325
|
+
* @example
|
|
6326
|
+
* ```ts
|
|
6327
|
+
* __sys__.utils.obj.of({ a: { b: 1 } }).equals({ a: { b: 1 } }); // true
|
|
6328
|
+
* ```
|
|
6329
|
+
*/
|
|
6330
|
+
equals(other: unknown): boolean;
|
|
6331
|
+
}
|
|
6054
6332
|
/**
|
|
6055
6333
|
* **ObjectUtils — XyPriss Object Utilities**
|
|
6334
|
+
*
|
|
6335
|
+
* All original methods remain fully supported and are **not deprecated**;
|
|
6336
|
+
* they are the right choice for one-off, single-call operations. For
|
|
6337
|
+
* chaining several operations on the same object without repeating it as
|
|
6338
|
+
* an argument each time, use {@link __sys__.utils.obj.of} to get a fluent
|
|
6339
|
+
* {@link ObjectWrapper} instance instead:
|
|
6340
|
+
*
|
|
6341
|
+
* @example
|
|
6342
|
+
* ```ts
|
|
6343
|
+
* // Classic style (still fully supported):
|
|
6344
|
+
* const utils = new ObjectUtils();
|
|
6345
|
+
* utils.omit(utils.pick(obj, ["a", "b", "c"]), ["c"]);
|
|
6346
|
+
*
|
|
6347
|
+
* // Fluent style (new, optional):
|
|
6348
|
+
* const result = __sys__.utils.obj.of(obj)
|
|
6349
|
+
* .pick(["a", "b", "c"])
|
|
6350
|
+
* .omit(["c"])
|
|
6351
|
+
* .value();
|
|
6352
|
+
* ```
|
|
6056
6353
|
*/
|
|
6057
6354
|
declare class ObjectUtils {
|
|
6355
|
+
/**
|
|
6356
|
+
* **of**
|
|
6357
|
+
*
|
|
6358
|
+
* Wraps `obj` in a chainable {@link ObjectWrapper}, so multiple
|
|
6359
|
+
* operations can be applied in sequence without re-declaring the
|
|
6360
|
+
* object as an argument each time.
|
|
6361
|
+
*
|
|
6362
|
+
* This does not mutate or replace the classic API — it's an
|
|
6363
|
+
* additive convenience entry point.
|
|
6364
|
+
*
|
|
6365
|
+
* @param obj - The object to wrap.
|
|
6366
|
+
* @returns An {@link ObjectWrapper} bound to `obj`.
|
|
6367
|
+
*
|
|
6368
|
+
* @example
|
|
6369
|
+
* ```ts
|
|
6370
|
+
* const obj = __sys__.utils.obj.of({ a: 1, b: 2, c: 3 });
|
|
6371
|
+
* const picked = obj.pick(["a", "b"]).value(); // { a: 1, b: 2 }
|
|
6372
|
+
* ```
|
|
6373
|
+
*/
|
|
6374
|
+
static of<T extends object>(obj: T): ObjectWrapper<T>;
|
|
6058
6375
|
/**
|
|
6059
6376
|
* **Deep Clone an Object**
|
|
6060
6377
|
*
|
|
@@ -6132,8 +6449,31 @@ declare class ObjectUtils {
|
|
|
6132
6449
|
* @param obj - The object to flatten.
|
|
6133
6450
|
* @param separator - Optional path separator (default: `"."`).
|
|
6134
6451
|
* @returns A shallow object with path-based keys.
|
|
6452
|
+
*
|
|
6453
|
+
* @example
|
|
6454
|
+
* ```ts
|
|
6455
|
+
* utils.flattenObject({ a: { b: 1, c: { d: 2 } } });
|
|
6456
|
+
* // { "a.b": 1, "a.c.d": 2 }
|
|
6457
|
+
* ```
|
|
6135
6458
|
*/
|
|
6136
6459
|
flattenObject(obj: Record<string, unknown>, separator?: string): Record<string, unknown>;
|
|
6460
|
+
/**
|
|
6461
|
+
* **unflattenObject**
|
|
6462
|
+
*
|
|
6463
|
+
* Reverses {@link flattenObject}, expanding dot-notation (or custom
|
|
6464
|
+
* separator) keys back into a nested object structure.
|
|
6465
|
+
*
|
|
6466
|
+
* @param obj - The flat object to expand.
|
|
6467
|
+
* @param separator - Path separator used in the flat keys (default: `"."`).
|
|
6468
|
+
* @returns A nested object reconstructed from the flat keys.
|
|
6469
|
+
*
|
|
6470
|
+
* @example
|
|
6471
|
+
* ```ts
|
|
6472
|
+
* utils.unflattenObject({ "a.b": 1, "a.c.d": 2 });
|
|
6473
|
+
* // { a: { b: 1, c: { d: 2 } } }
|
|
6474
|
+
* ```
|
|
6475
|
+
*/
|
|
6476
|
+
unflattenObject(obj: Record<string, unknown>, separator?: string): Record<string, unknown>;
|
|
6137
6477
|
/**
|
|
6138
6478
|
* **parse**
|
|
6139
6479
|
*
|
|
@@ -6143,8 +6483,238 @@ declare class ObjectUtils {
|
|
|
6143
6483
|
* @param json The JSON string to parse.
|
|
6144
6484
|
* @param fallback The fallback value to return on failure.
|
|
6145
6485
|
* @returns The parsed object or the fallback value.
|
|
6486
|
+
*
|
|
6487
|
+
* @example
|
|
6488
|
+
* ```ts
|
|
6489
|
+
* utils.parse('{"a":1}'); // { a: 1 }
|
|
6490
|
+
* utils.parse("not json", {}); // {}
|
|
6491
|
+
* ```
|
|
6146
6492
|
*/
|
|
6147
6493
|
parse<T>(json: string, fallback?: T | null): T | null;
|
|
6494
|
+
/**
|
|
6495
|
+
* **merge**
|
|
6496
|
+
*
|
|
6497
|
+
* Deep-merges one or more source objects into a copy of `target`.
|
|
6498
|
+
* Plain object values are merged recursively; arrays and primitive
|
|
6499
|
+
* values are overwritten by the last source that defines them.
|
|
6500
|
+
* The original `target` and `sources` are never mutated.
|
|
6501
|
+
*
|
|
6502
|
+
* @param target - The base object.
|
|
6503
|
+
* @param sources - One or more objects to merge into the base.
|
|
6504
|
+
* @returns A new object containing the deep-merged result.
|
|
6505
|
+
*
|
|
6506
|
+
* @example
|
|
6507
|
+
* ```ts
|
|
6508
|
+
* utils.merge({ a: 1, nested: { x: 1 } }, { nested: { y: 2 } });
|
|
6509
|
+
* // { a: 1, nested: { x: 1, y: 2 } }
|
|
6510
|
+
* ```
|
|
6511
|
+
*/
|
|
6512
|
+
merge<T extends object>(target: T, ...sources: Array<Partial<T> | Record<string, any>>): T;
|
|
6513
|
+
/**
|
|
6514
|
+
* **mapValues**
|
|
6515
|
+
*
|
|
6516
|
+
* Builds a new object by transforming every value of `obj` with `fn`,
|
|
6517
|
+
* keeping the same keys.
|
|
6518
|
+
*
|
|
6519
|
+
* @param obj - The source object.
|
|
6520
|
+
* @param fn - Mapping function receiving `(value, key)`.
|
|
6521
|
+
* @returns A new object with transformed values.
|
|
6522
|
+
*
|
|
6523
|
+
* @example
|
|
6524
|
+
* ```ts
|
|
6525
|
+
* utils.mapValues({ a: 1, b: 2 }, (v) => v * 10);
|
|
6526
|
+
* // { a: 10, b: 20 }
|
|
6527
|
+
* ```
|
|
6528
|
+
*/
|
|
6529
|
+
mapValues<T extends object, R>(obj: T, fn: (value: T[keyof T], key: keyof T) => R): Record<keyof T, R>;
|
|
6530
|
+
/**
|
|
6531
|
+
* **mapKeys**
|
|
6532
|
+
*
|
|
6533
|
+
* Builds a new object by transforming every key of `obj` with `fn`,
|
|
6534
|
+
* keeping the same values.
|
|
6535
|
+
*
|
|
6536
|
+
* @param obj - The source object.
|
|
6537
|
+
* @param fn - Mapping function receiving `(key, value)`. Must return a string.
|
|
6538
|
+
* @returns A new object with renamed keys.
|
|
6539
|
+
*
|
|
6540
|
+
* @example
|
|
6541
|
+
* ```ts
|
|
6542
|
+
* utils.mapKeys({ a: 1, b: 2 }, (k) => k.toUpperCase());
|
|
6543
|
+
* // { A: 1, B: 2 }
|
|
6544
|
+
* ```
|
|
6545
|
+
*/
|
|
6546
|
+
mapKeys<T extends object>(obj: T, fn: (key: keyof T, value: T[keyof T]) => string): Record<string, T[keyof T]>;
|
|
6547
|
+
/**
|
|
6548
|
+
* **filter**
|
|
6549
|
+
*
|
|
6550
|
+
* Builds a new object containing only the key-value pairs of `obj`
|
|
6551
|
+
* for which `predicate` returns `true`.
|
|
6552
|
+
*
|
|
6553
|
+
* @param obj - The source object.
|
|
6554
|
+
* @param predicate - Function receiving `(value, key)`.
|
|
6555
|
+
* @returns A new, filtered object.
|
|
6556
|
+
*
|
|
6557
|
+
* @example
|
|
6558
|
+
* ```ts
|
|
6559
|
+
* utils.filter({ a: 1, b: 2, c: 3 }, (v) => v > 1);
|
|
6560
|
+
* // { b: 2, c: 3 }
|
|
6561
|
+
* ```
|
|
6562
|
+
*/
|
|
6563
|
+
filter<T extends object>(obj: T, predicate: (value: T[keyof T], key: keyof T) => boolean): Partial<T>;
|
|
6564
|
+
/**
|
|
6565
|
+
* **get**
|
|
6566
|
+
*
|
|
6567
|
+
* Safely reads a possibly-nested value from `obj` using a dot-notation
|
|
6568
|
+
* path, returning `fallback` if any part of the path is missing.
|
|
6569
|
+
*
|
|
6570
|
+
* @param obj - The source object.
|
|
6571
|
+
* @param path - Dot-notation path (e.g. `"a.b.c"`).
|
|
6572
|
+
* @param fallback - Value returned if the path can't be resolved.
|
|
6573
|
+
* @returns The resolved value or the fallback.
|
|
6574
|
+
*
|
|
6575
|
+
* @example
|
|
6576
|
+
* ```ts
|
|
6577
|
+
* utils.get({ a: { b: { c: 42 } } }, "a.b.c"); // 42
|
|
6578
|
+
* utils.get({ a: {} }, "a.b.c", "missing"); // "missing"
|
|
6579
|
+
* ```
|
|
6580
|
+
*/
|
|
6581
|
+
get<R = unknown>(obj: object, path: string, fallback?: R | undefined): R | undefined;
|
|
6582
|
+
/**
|
|
6583
|
+
* **set**
|
|
6584
|
+
*
|
|
6585
|
+
* Returns a new object equal to `obj` but with a possibly-nested value
|
|
6586
|
+
* set at `path` (dot-notation), creating intermediate objects as needed.
|
|
6587
|
+
* The original `obj` is not mutated.
|
|
6588
|
+
*
|
|
6589
|
+
* @param obj - The source object.
|
|
6590
|
+
* @param path - Dot-notation path (e.g. `"a.b.c"`).
|
|
6591
|
+
* @param value - The value to set.
|
|
6592
|
+
* @returns A new object with the value set at the given path.
|
|
6593
|
+
*
|
|
6594
|
+
* @example
|
|
6595
|
+
* ```ts
|
|
6596
|
+
* utils.set({}, "a.b.c", 42);
|
|
6597
|
+
* // { a: { b: { c: 42 } } }
|
|
6598
|
+
* ```
|
|
6599
|
+
*/
|
|
6600
|
+
set<T extends object>(obj: T, path: string, value: unknown): T;
|
|
6601
|
+
/**
|
|
6602
|
+
* **has**
|
|
6603
|
+
*
|
|
6604
|
+
* Checks whether `obj` has the given own key (shortcut over
|
|
6605
|
+
* `Object.prototype.hasOwnProperty`).
|
|
6606
|
+
*
|
|
6607
|
+
* @param obj - The object to inspect.
|
|
6608
|
+
* @param key - The key to check.
|
|
6609
|
+
* @returns `true` if the key exists as an own property.
|
|
6610
|
+
*
|
|
6611
|
+
* @example
|
|
6612
|
+
* ```ts
|
|
6613
|
+
* utils.has({ a: 1 }, "a"); // true
|
|
6614
|
+
* utils.has({ a: 1 }, "b"); // false
|
|
6615
|
+
* ```
|
|
6616
|
+
*/
|
|
6617
|
+
has(obj: object, key: PropertyKey): boolean;
|
|
6618
|
+
/**
|
|
6619
|
+
* **deepEqual**
|
|
6620
|
+
*
|
|
6621
|
+
* Performs a deep structural equality check between two values,
|
|
6622
|
+
* comparing plain objects and arrays recursively by value rather
|
|
6623
|
+
* than by reference.
|
|
6624
|
+
*
|
|
6625
|
+
* @param a - First value.
|
|
6626
|
+
* @param b - Second value.
|
|
6627
|
+
* @returns `true` if both values are deeply equal.
|
|
6628
|
+
*
|
|
6629
|
+
* @example
|
|
6630
|
+
* ```ts
|
|
6631
|
+
* utils.deepEqual({ a: { b: 1 } }, { a: { b: 1 } }); // true
|
|
6632
|
+
* utils.deepEqual({ a: 1 }, { a: 2 }); // false
|
|
6633
|
+
* ```
|
|
6634
|
+
*/
|
|
6635
|
+
static deepEqual(a: unknown, b: unknown): boolean;
|
|
6636
|
+
/**
|
|
6637
|
+
* **deepEqual** (instance method)
|
|
6638
|
+
*
|
|
6639
|
+
* Instance-bound convenience wrapper around the static
|
|
6640
|
+
* {@link __sys__.utils.obj.deepEqual}, for callers already holding an
|
|
6641
|
+
* `ObjectUtils` instance.
|
|
6642
|
+
*
|
|
6643
|
+
* @param a - First value.
|
|
6644
|
+
* @param b - Second value.
|
|
6645
|
+
* @returns `true` if both values are deeply equal.
|
|
6646
|
+
*/
|
|
6647
|
+
deepEqual(a: unknown, b: unknown): boolean;
|
|
6648
|
+
/**
|
|
6649
|
+
* **invert**
|
|
6650
|
+
*
|
|
6651
|
+
* Swaps keys and values: returns a new object where each original
|
|
6652
|
+
* value (stringified) becomes a key, and each original key becomes
|
|
6653
|
+
* its value. If multiple keys share a value, the last one wins.
|
|
6654
|
+
*
|
|
6655
|
+
* @param obj - The source object. Values are coerced to strings for keys.
|
|
6656
|
+
* @returns A new object with keys and values swapped.
|
|
6657
|
+
*
|
|
6658
|
+
* @example
|
|
6659
|
+
* ```ts
|
|
6660
|
+
* utils.invert({ a: "x", b: "y" });
|
|
6661
|
+
* // { x: "a", y: "b" }
|
|
6662
|
+
* ```
|
|
6663
|
+
*/
|
|
6664
|
+
invert<T extends Record<string, PropertyKey>>(obj: T): Record<string, string>;
|
|
6665
|
+
/**
|
|
6666
|
+
* **defaults**
|
|
6667
|
+
*
|
|
6668
|
+
* Returns a new object built from `obj`, filling in any keys that are
|
|
6669
|
+
* `undefined` with the corresponding value from `defaultsObj`.
|
|
6670
|
+
* Does not overwrite keys that already have a defined value.
|
|
6671
|
+
*
|
|
6672
|
+
* @param obj - The source object.
|
|
6673
|
+
* @param defaultsObj - Object providing fallback values.
|
|
6674
|
+
* @returns A new object with defaults applied.
|
|
6675
|
+
*
|
|
6676
|
+
* @example
|
|
6677
|
+
* ```ts
|
|
6678
|
+
* utils.defaults({ a: 1, b: undefined }, { b: 2, c: 3 });
|
|
6679
|
+
* // { a: 1, b: 2, c: 3 }
|
|
6680
|
+
* ```
|
|
6681
|
+
*/
|
|
6682
|
+
defaults<T extends object>(obj: T, defaultsObj: Partial<T>): T;
|
|
6683
|
+
/**
|
|
6684
|
+
* **compact**
|
|
6685
|
+
*
|
|
6686
|
+
* Returns a new object with all keys whose value is `null` or
|
|
6687
|
+
* `undefined` removed.
|
|
6688
|
+
*
|
|
6689
|
+
* @param obj - The source object.
|
|
6690
|
+
* @returns A new object without null/undefined values.
|
|
6691
|
+
*
|
|
6692
|
+
* @example
|
|
6693
|
+
* ```ts
|
|
6694
|
+
* utils.compact({ a: 1, b: null, c: undefined, d: 0 });
|
|
6695
|
+
* // { a: 1, d: 0 }
|
|
6696
|
+
* ```
|
|
6697
|
+
*/
|
|
6698
|
+
compact<T extends object>(obj: T): Partial<T>;
|
|
6699
|
+
/**
|
|
6700
|
+
* **isPlainObject**
|
|
6701
|
+
*
|
|
6702
|
+
* Checks whether `value` is a plain object (i.e. not `null`, not an
|
|
6703
|
+
* array, not a class instance created from a custom prototype, and
|
|
6704
|
+
* not a built-in like `Date`, `Map`, or `Set`).
|
|
6705
|
+
*
|
|
6706
|
+
* @param value - The value to check.
|
|
6707
|
+
* @returns `true` if `value` is a plain object.
|
|
6708
|
+
*
|
|
6709
|
+
* @example
|
|
6710
|
+
* ```ts
|
|
6711
|
+
* utils.isPlainObject({}); // true
|
|
6712
|
+
* utils.isPlainObject([]); // false
|
|
6713
|
+
* utils.isPlainObject(new Date()); // false
|
|
6714
|
+
* utils.isPlainObject(null); // false
|
|
6715
|
+
* ```
|
|
6716
|
+
*/
|
|
6717
|
+
isPlainObject(value: unknown): value is Record<string, unknown>;
|
|
6148
6718
|
}
|
|
6149
6719
|
|
|
6150
6720
|
/**
|
|
@@ -7218,9 +7788,56 @@ declare class UtilsApi {
|
|
|
7218
7788
|
readonly str: StringUtils;
|
|
7219
7789
|
/** **Number & Math Utilities** (`clamp`, `lerp`, `formatBytes`, etc.) */
|
|
7220
7790
|
readonly num: NumberUtils;
|
|
7221
|
-
/**
|
|
7791
|
+
/**
|
|
7792
|
+
* @file DateUtils.ts
|
|
7793
|
+
* @description XyPriss Date & Time Utilities — A comprehensive, zero-dependency
|
|
7794
|
+
* date/time utility class built on the native `Date` object and the `Intl` API.
|
|
7795
|
+
*
|
|
7796
|
+
* @remarks
|
|
7797
|
+
* All methods are pure and side-effect-free unless otherwise noted.
|
|
7798
|
+
* Timestamps can be provided in either **seconds** (Unix) or **milliseconds**
|
|
7799
|
+
* (JavaScript). The class auto-detects the unit using the heuristic:
|
|
7800
|
+
* values below `1e11` are treated as seconds; values at or above `1e11` are
|
|
7801
|
+
* treated as milliseconds. This heuristic is valid until **November 2286**.
|
|
7802
|
+
*
|
|
7803
|
+
* @example
|
|
7804
|
+
* ```ts
|
|
7805
|
+
* const du = new DateUtils();
|
|
7806
|
+
*
|
|
7807
|
+
* du.format(Date.now()); // "Apr 15, 2026"
|
|
7808
|
+
* du.timeAgo(Date.now() - 90_000); // "2 minutes ago"
|
|
7809
|
+
* du.formatDuration(3_661_000); // "1h 1m 1s"
|
|
7810
|
+
* du.startOf("month"); // 2026-04-01T00:00:00.000Z
|
|
7811
|
+
* ```
|
|
7812
|
+
*/
|
|
7222
7813
|
readonly date: DateUtils;
|
|
7223
|
-
/**
|
|
7814
|
+
/**
|
|
7815
|
+
* **ObjectWrapper — Fluent Object Instance**
|
|
7816
|
+
*
|
|
7817
|
+
* A chainable wrapper around a single object value, returned by
|
|
7818
|
+
* `__sys__.utils.obj.of(...)`. It exposes the same object operations as
|
|
7819
|
+
* `ObjectUtils`, but bound to the wrapped value so you don't have to
|
|
7820
|
+
* pass `obj` as the first argument every time.
|
|
7821
|
+
*
|
|
7822
|
+
* This is purely additive: it does not replace or deprecate the
|
|
7823
|
+
* static/instance methods on `ObjectUtils`. Both styles are fully
|
|
7824
|
+
* supported and can be mixed freely.
|
|
7825
|
+
*
|
|
7826
|
+
* @example
|
|
7827
|
+
* ```ts
|
|
7828
|
+
* const obj = __sys__.utils.obj.of({ a: 1, b: 2, c: 3 });
|
|
7829
|
+
*
|
|
7830
|
+
* const picked = obj.pick(["a", "c"]).value(); // { a: 1, c: 3 }
|
|
7831
|
+
* const omitted = obj.omit(["b"]).value(); // { a: 1, c: 3 }
|
|
7832
|
+
* const clone = obj.clone().value(); // deep copy
|
|
7833
|
+
*
|
|
7834
|
+
* // Chaining multiple operations:
|
|
7835
|
+
* const result = __sys__.utils.obj.of({ a: 1, b: 2, c: 3, d: 4 })
|
|
7836
|
+
* .omit(["d"])
|
|
7837
|
+
* .pick(["a", "b"])
|
|
7838
|
+
* .value(); // { a: 1, b: 2 }
|
|
7839
|
+
* ```
|
|
7840
|
+
*/
|
|
7224
7841
|
readonly obj: ObjectUtils;
|
|
7225
7842
|
/** **Array Utilities** (`chunk`, `unique`, `groupBy`, etc.) */
|
|
7226
7843
|
readonly arr: ArrayUtils;
|