xypriss 9.12.12 → 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.
@@ -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
- /** **Date & Time Utilities** (`formatDuration`, `timeAgo`, etc.) */
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
- /** **Object Utilities** (`deepClone`, `parse`, `pick`, etc.) */
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;