@pawells/typescript-common 1.3.0 → 1.4.1
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 +58 -4
- package/build/array/array-chunk.d.ts +1 -1
- package/build/array/array-chunk.d.ts.map +1 -1
- package/build/array/array-chunk.js +1 -1
- package/build/array/array-chunk.js.map +1 -1
- package/build/array/array-compact.js +1 -1
- package/build/array/array-compact.js.map +1 -1
- package/build/array/array-contains.d.ts +1 -1
- package/build/array/array-contains.d.ts.map +1 -1
- package/build/array/array-contains.js.map +1 -1
- package/build/array/array-count-by.d.ts +1 -1
- package/build/array/array-count-by.d.ts.map +1 -1
- package/build/array/array-count-by.js +1 -1
- package/build/array/array-count-by.js.map +1 -1
- package/build/array/array-difference.d.ts +1 -1
- package/build/array/array-difference.d.ts.map +1 -1
- package/build/array/array-difference.js.map +1 -1
- package/build/array/array-filter.d.ts +1 -1
- package/build/array/array-filter.d.ts.map +1 -1
- package/build/array/array-filter.js +1 -1
- package/build/array/array-filter.js.map +1 -1
- package/build/array/array-flatten.d.ts +1 -1
- package/build/array/array-flatten.d.ts.map +1 -1
- package/build/array/array-flatten.js +1 -1
- package/build/array/array-flatten.js.map +1 -1
- package/build/array/array-group-by.d.ts +1 -1
- package/build/array/array-group-by.d.ts.map +1 -1
- package/build/array/array-group-by.js +1 -1
- package/build/array/array-group-by.js.map +1 -1
- package/build/array/array-intersection.d.ts +1 -1
- package/build/array/array-intersection.d.ts.map +1 -1
- package/build/array/array-intersection.js.map +1 -1
- package/build/array/array-partition.d.ts +1 -1
- package/build/array/array-partition.d.ts.map +1 -1
- package/build/array/array-partition.js +1 -1
- package/build/array/array-partition.js.map +1 -1
- package/build/array/array-sample.d.ts +6 -2
- package/build/array/array-sample.d.ts.map +1 -1
- package/build/array/array-sample.js +16 -6
- package/build/array/array-sample.js.map +1 -1
- package/build/array/array-shuffle.d.ts +4 -2
- package/build/array/array-shuffle.d.ts.map +1 -1
- package/build/array/array-shuffle.js +7 -4
- package/build/array/array-shuffle.js.map +1 -1
- package/build/array/array-sort-by.d.ts +1 -1
- package/build/array/array-sort-by.d.ts.map +1 -1
- package/build/array/array-sort-by.js +1 -1
- package/build/array/array-sort-by.js.map +1 -1
- package/build/array/unique.d.ts +1 -1
- package/build/array/unique.d.ts.map +1 -1
- package/build/array/unique.js +1 -1
- package/build/array/unique.js.map +1 -1
- package/build/asserts/errors.d.ts.map +1 -1
- package/build/asserts/errors.js +4 -0
- package/build/asserts/errors.js.map +1 -1
- package/build/asserts/generic.d.ts.map +1 -1
- package/build/asserts/generic.js +12 -3
- package/build/asserts/generic.js.map +1 -1
- package/build/function/once.js +1 -1
- package/build/function/once.js.map +1 -1
- package/build/object/assert.d.ts +16 -16
- package/build/object/assert.js +17 -17
- package/build/object/assert.js.map +1 -1
- package/build/object/filter.d.ts +6 -0
- package/build/object/filter.d.ts.map +1 -1
- package/build/object/filter.js +14 -0
- package/build/object/filter.js.map +1 -1
- package/build/object/index.d.ts +1 -1
- package/build/object/index.d.ts.map +1 -1
- package/build/object/index.js +1 -1
- package/build/object/index.js.map +1 -1
- package/build/object/key-value-pairs.d.ts +1 -1
- package/build/object/key-value-pairs.d.ts.map +1 -1
- package/build/object/key-value-pairs.js.map +1 -1
- package/build/object/omit.d.ts +1 -1
- package/build/object/omit.d.ts.map +1 -1
- package/build/object/omit.js.map +1 -1
- package/build/object/pick.d.ts +1 -1
- package/build/object/pick.d.ts.map +1 -1
- package/build/object/pick.js.map +1 -1
- package/build/string/assert.d.ts.map +1 -1
- package/build/string/assert.js +10 -19
- package/build/string/assert.js.map +1 -1
- package/build/string/case-conversion.d.ts +1 -1
- package/build/string/case-conversion.d.ts.map +1 -1
- package/build/string/formatting.d.ts +1 -1
- package/build/string/formatting.d.ts.map +1 -1
- package/build/string/formatting.js +2 -2
- package/build/string/formatting.js.map +1 -1
- package/build/string/transformation.d.ts +1 -1
- package/build/string/transformation.d.ts.map +1 -1
- package/build/string/validation.d.ts +1 -1
- package/build/string/validation.d.ts.map +1 -1
- package/build/time/elapsed-time/constants.d.ts +1 -1
- package/build/time/elapsed-time/constants.d.ts.map +1 -1
- package/build/time/elapsed-time/elapsed-time.d.ts +23 -40
- package/build/time/elapsed-time/elapsed-time.d.ts.map +1 -1
- package/build/time/elapsed-time/elapsed-time.js +33 -54
- package/build/time/elapsed-time/elapsed-time.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/asserts/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,MAAM,OAAO,WAAY,SAAQ,KAAK;IACrC,YAAY,OAAe;QAC1B,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,4DAA4D;QAC5D,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAClD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;IACnC,CAAC;CACD;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,OAAO,SAAU,SAAQ,KAAK;IACnB,IAAI,CAAS;IAEb,OAAO,CAAsC;IAE7D;;;;OAIG;IACH,YAAY,OAAe,EAAE,IAAY,EAAE,OAAiC;QAC3E,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;QAClC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,OAAQ,KAAa,CAAC,iBAAiB,KAAK,UAAU,EAAE,CAAC;YAC3D,KAAa,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAC1D,CAAC;IACF,CAAC;CACD;AAED;;;;;;;GAOG;AACH,MAAM,OAAO,eAAgB,SAAQ,SAAS;IAC7C;;;OAGG;IACH,YAAY,OAAe,EAAE,OAAiC;QAC7D,KAAK,CAAC,OAAO,EAAE,kBAAkB,EAAE,OAAO,CAAC,CAAC;IAC7C,CAAC;CACD;AAED;;;;;;;GAOG;AACH,MAAM,OAAO,cAAe,SAAQ,SAAS;IAC5C;;;OAGG;IACH,YAAY,OAAe,EAAE,OAAiC;QAC7D,KAAK,CAAC,OAAO,EAAE,iBAAiB,EAAE,OAAO,CAAC,CAAC;IAC5C,CAAC;CACD;AAED;;;;;;;;;;GAUG;AACH,MAAM,OAAO,oBAAqB,SAAQ,SAAS;IAClD;;;;OAIG;IACH,YAAY,YAAoB,EAAE,MAAc,EAAE,OAAiC;QAClF,KAAK,CAAC,qBAAqB,YAAY,MAAM,MAAM,EAAE,EAAE,kBAAkB,EAAE,OAAO,CAAC,CAAC;IACrF,CAAC;CACD;AAED;;;;;;;;;GASG;AACH,MAAM,OAAO,iBAAkB,SAAQ,SAAS;IAC/C;;;OAGG;IACH,YAAY,SAAiB,EAAE,OAAiC;QAC/D,KAAK,CAAC,4BAA4B,SAAS,EAAE,EAAE,eAAe,EAAE,OAAO,CAAC,CAAC;IAC1E,CAAC;CACD;AAED;;;;;;;;;GASG;AACH,MAAM,OAAO,aAAc,SAAQ,SAAS;IAC3C;;;OAGG;IACH,YAAY,IAAY,EAAE,OAAiC;QAC1D,KAAK,CAAC,cAAc,IAAI,EAAE,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;IACnD,CAAC;CACD;AAED;;;;;;;;;;GAUG;AACH,MAAM,OAAO,mBAAoB,SAAQ,SAAS;IACjD;;;OAGG;IACH,YAAY,OAAe,EAAE,OAAiC;QAC7D,KAAK,CAAC,iCAAiC,OAAO,WAAW,EAAE,iBAAiB,EAAE,OAAO,CAAC,CAAC;IACxF,CAAC;CACD"}
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/asserts/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,MAAM,OAAO,WAAY,SAAQ,KAAK;IACrC,YAAY,OAAe;QAC1B,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,4DAA4D;QAC5D,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAClD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;IACnC,CAAC;CACD;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,OAAO,SAAU,SAAQ,KAAK;IACnB,IAAI,CAAS;IAEb,OAAO,CAAsC;IAE7D;;;;OAIG;IACH,YAAY,OAAe,EAAE,IAAY,EAAE,OAAiC;QAC3E,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,0EAA0E;QAC1E,oEAAoE;QACpE,0EAA0E;QAC1E,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAClD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;QAClC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,OAAQ,KAAa,CAAC,iBAAiB,KAAK,UAAU,EAAE,CAAC;YAC3D,KAAa,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAC1D,CAAC;IACF,CAAC;CACD;AAED;;;;;;;GAOG;AACH,MAAM,OAAO,eAAgB,SAAQ,SAAS;IAC7C;;;OAGG;IACH,YAAY,OAAe,EAAE,OAAiC;QAC7D,KAAK,CAAC,OAAO,EAAE,kBAAkB,EAAE,OAAO,CAAC,CAAC;IAC7C,CAAC;CACD;AAED;;;;;;;GAOG;AACH,MAAM,OAAO,cAAe,SAAQ,SAAS;IAC5C;;;OAGG;IACH,YAAY,OAAe,EAAE,OAAiC;QAC7D,KAAK,CAAC,OAAO,EAAE,iBAAiB,EAAE,OAAO,CAAC,CAAC;IAC5C,CAAC;CACD;AAED;;;;;;;;;;GAUG;AACH,MAAM,OAAO,oBAAqB,SAAQ,SAAS;IAClD;;;;OAIG;IACH,YAAY,YAAoB,EAAE,MAAc,EAAE,OAAiC;QAClF,KAAK,CAAC,qBAAqB,YAAY,MAAM,MAAM,EAAE,EAAE,kBAAkB,EAAE,OAAO,CAAC,CAAC;IACrF,CAAC;CACD;AAED;;;;;;;;;GASG;AACH,MAAM,OAAO,iBAAkB,SAAQ,SAAS;IAC/C;;;OAGG;IACH,YAAY,SAAiB,EAAE,OAAiC;QAC/D,KAAK,CAAC,4BAA4B,SAAS,EAAE,EAAE,eAAe,EAAE,OAAO,CAAC,CAAC;IAC1E,CAAC;CACD;AAED;;;;;;;;;GASG;AACH,MAAM,OAAO,aAAc,SAAQ,SAAS;IAC3C;;;OAGG;IACH,YAAY,IAAY,EAAE,OAAiC;QAC1D,KAAK,CAAC,cAAc,IAAI,EAAE,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;IACnD,CAAC;CACD;AAED;;;;;;;;;;GAUG;AACH,MAAM,OAAO,mBAAoB,SAAQ,SAAS;IACjD;;;OAGG;IACH,YAAY,OAAe,EAAE,OAAiC;QAC7D,KAAK,CAAC,iCAAiC,OAAO,WAAW,EAAE,iBAAiB,EAAE,OAAO,CAAC,CAAC;IACxF,CAAC;CACD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generic.d.ts","sourceRoot":"","sources":["../../src/asserts/generic.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAEjF,OAAO,EAAkB,WAAW,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"generic.d.ts","sourceRoot":"","sources":["../../src/asserts/generic.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAEjF,OAAO,EAAkB,WAAW,EAAE,MAAM,aAAa,CAAC;AAc1D;;;GAGG;AACH,MAAM,MAAM,oBAAoB,CAAC,CAAC,GAAG,GAAG,IAAI,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;AAEtE;;;;;;;GAOG;AACH,qBAAa,SAAU,SAAQ,WAAW;gBAC7B,OAAO,CAAC,EAAE,MAAM;CAG5B;AAED;;;;;;;GAOG;AACH,qBAAa,YAAa,SAAQ,WAAW;gBAChC,OAAO,CAAC,EAAE,MAAM;CAG5B;AAED;;;;;GAKG;AACH,qBAAa,cAAe,SAAQ,WAAW;gBAClC,OAAO,CAAC,EAAE,MAAM;CAG5B;AAED;;;;;GAKG;AACH,qBAAa,cAAe,SAAQ,WAAW;gBAClC,OAAO,CAAC,EAAE,MAAM;CAG5B;AAED;;;;;GAKG;AACH,qBAAa,eAAgB,SAAQ,WAAW;gBACnC,OAAO,CAAC,EAAE,MAAM;CAG5B;AAED;;;;;GAKG;AACH,qBAAa,aAAc,SAAQ,WAAW;gBACjC,OAAO,CAAC,EAAE,MAAM;CAG5B;AAED;;;;;GAKG;AACH,qBAAa,WAAY,SAAQ,WAAW;gBAC/B,OAAO,CAAC,EAAE,MAAM;CAG5B;AAED;;;;;GAKG;AACH,qBAAa,YAAa,SAAQ,WAAW;gBAChC,OAAO,CAAC,EAAE,MAAM;CAG5B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsDG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,SAAS,GAAE,gBAAqB,GAAG,IAAI,CAM7F;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+DG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,SAAS,GAAE,gBAAqB,GAAG,IAAI,CAMhG;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,SAAS,GAAE,gBAAqB,GAAG,OAAO,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,SAAS,CAAC,CAMjH;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,SAAS,GAAE,gBAAqB,GAAG,OAAO,CAAC,KAAK,IAAI,WAAW,CAAC,CAAC,CAAC,CAO5G;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,oBAAoB,CAAC,CAAC,CAAC,EAAE,SAAS,GAAE,gBAAqB,GAAG,IAAI,CAMvH;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,SAAS,GAAE,gBAAqB,GAAG,OAAO,CAAC,KAAK,IAAI,CAAC,CAQ1H;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,oBAAoB,CAAC,CAAC,CAAC,EAAE,SAAS,GAAE,gBAAqB,GAAG,OAAO,CAAC,KAAK,IAAI,CAAC,CAO9I;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,GAAE,gBAAqB,GAAG,OAAO,CAAC,KAAK,IAAI,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAOzH;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,GAAE,gBAAqB,GAAG,OAAO,CAAC,KAAK,IAAI,MAAM,CAOtG;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,QAAQ,MAAM,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,EAAE,IAAI,EAAE,QAAQ,MAAM,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,EAAE,SAAS,GAAE,gBAAqB,GAAG,IAAI,CAqB/J"}
|
package/build/asserts/generic.js
CHANGED
|
@@ -2,7 +2,16 @@ import { ObjectEquals } from './internal-utils.js';
|
|
|
2
2
|
import { SetExceptionClass, SetExceptionMessage, ThrowException } from './utils.js';
|
|
3
3
|
import { AssertionError, SimpleError } from './errors.js';
|
|
4
4
|
/** Maximum number of characters to include from a value in an error message. */
|
|
5
|
-
const MAX_VALUE_DISPLAY_LENGTH =
|
|
5
|
+
const MAX_VALUE_DISPLAY_LENGTH = 100;
|
|
6
|
+
/** Serialises a value to a human-readable string, safe for any value type. */
|
|
7
|
+
function safeDisplay(value) {
|
|
8
|
+
try {
|
|
9
|
+
return (JSON.stringify(value) ?? String(value)).slice(0, MAX_VALUE_DISPLAY_LENGTH);
|
|
10
|
+
}
|
|
11
|
+
catch {
|
|
12
|
+
return String(value).slice(0, MAX_VALUE_DISPLAY_LENGTH);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
6
15
|
/**
|
|
7
16
|
* Error thrown when a nullish assertion fails — the value is not null or undefined
|
|
8
17
|
* but was expected to be. Used by {@link AssertNull} when the provided value is a
|
|
@@ -153,7 +162,7 @@ export class ExtendsError extends SimpleError {
|
|
|
153
162
|
export function AssertEquals(value, expected, exception = {}) {
|
|
154
163
|
SetExceptionClass(exception, AssertionError);
|
|
155
164
|
if (!ObjectEquals(value, expected)) {
|
|
156
|
-
SetExceptionMessage(exception, `Expected ${value} to equal ${expected}`);
|
|
165
|
+
SetExceptionMessage(exception, `Expected ${safeDisplay(value)} to equal ${safeDisplay(expected)}`);
|
|
157
166
|
ThrowException(exception);
|
|
158
167
|
}
|
|
159
168
|
}
|
|
@@ -224,7 +233,7 @@ export function AssertEquals(value, expected, exception = {}) {
|
|
|
224
233
|
export function AssertNotEquals(value, expected, exception = {}) {
|
|
225
234
|
SetExceptionClass(exception, AssertionError);
|
|
226
235
|
if (ObjectEquals(value, expected)) {
|
|
227
|
-
SetExceptionMessage(exception, `Expected ${value} to not equal ${expected}`);
|
|
236
|
+
SetExceptionMessage(exception, `Expected ${safeDisplay(value)} to not equal ${safeDisplay(expected)}`);
|
|
228
237
|
ThrowException(exception);
|
|
229
238
|
}
|
|
230
239
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generic.js","sourceRoot":"","sources":["../../src/asserts/generic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACpF,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1D,gFAAgF;AAChF,MAAM,wBAAwB,GAAG,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"generic.js","sourceRoot":"","sources":["../../src/asserts/generic.ts"],"names":[],"mappings":"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"}
|
package/build/function/once.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"once.js","sourceRoot":"","sources":["../../src/function/once.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,IAAI,CAAoC,EAAK;IAC5D,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,IAAI,MAAqB,CAAC;IAC1B,IAAI,KAAc,CAAC;IACnB,IAAI,QAAQ,GAAG,KAAK,CAAC;IAErB,OAAO,SAAS,IAAI,
|
|
1
|
+
{"version":3,"file":"once.js","sourceRoot":"","sources":["../../src/function/once.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,IAAI,CAAoC,EAAK;IAC5D,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,IAAI,MAAqB,CAAC;IAC1B,IAAI,KAAc,CAAC;IACnB,IAAI,QAAQ,GAAG,KAAK,CAAC;IAErB,OAAO,SAAS,IAAI,CAAY,GAAG,IAAmB;QACrD,IAAI,QAAQ,EAAE,CAAC;YACd,MAAM,KAAK,CAAC;QACb,CAAC;QACD,IAAI,CAAC,MAAM,EAAE,CAAC;YACb,IAAI,CAAC;gBACJ,MAAM,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAkB,CAAC;gBAC/C,MAAM,GAAG,IAAI,CAAC;YACf,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACZ,KAAK,GAAG,CAAC,CAAC;gBACV,QAAQ,GAAG,IAAI,CAAC;gBAChB,MAAM,CAAC,CAAC;YACT,CAAC;QACF,CAAC;QACD,OAAO,MAAM,CAAC;IACf,CAAM,CAAC;AACR,CAAC"}
|
package/build/object/assert.d.ts
CHANGED
|
@@ -57,19 +57,19 @@ export declare function AssertObject(value: unknown, exception?: IAssertExceptio
|
|
|
57
57
|
* @param value - The object to check for the property
|
|
58
58
|
* @param property - The property key to check for
|
|
59
59
|
* @param exception - Optional exception configuration for custom error handling
|
|
60
|
-
* @throws {
|
|
60
|
+
* @throws {ObjectPropertyError} When object does not have the specified property
|
|
61
61
|
*
|
|
62
62
|
* @example
|
|
63
63
|
* ```typescript
|
|
64
64
|
* const obj = { name: "John", age: 30 };
|
|
65
|
-
*
|
|
66
|
-
*
|
|
67
|
-
*
|
|
65
|
+
* AssertObjectHasProperty(obj, "name"); // ✓ Valid (own property)
|
|
66
|
+
* AssertObjectHasProperty(obj, "toString"); // ✓ Valid (inherited property)
|
|
67
|
+
* AssertObjectHasProperty(obj, "invalid"); // ✗ Throws ObjectPropertyError
|
|
68
68
|
*
|
|
69
69
|
* // Type narrowing with property presence
|
|
70
70
|
* function processUser(obj: unknown) {
|
|
71
71
|
* AssertObject(obj);
|
|
72
|
-
*
|
|
72
|
+
* AssertObjectHasProperty(obj, "name");
|
|
73
73
|
* // obj["name"] is now accessible safely
|
|
74
74
|
* }
|
|
75
75
|
* ```
|
|
@@ -89,19 +89,19 @@ export declare function AssertObjectHasProperty<T extends object, K extends Prop
|
|
|
89
89
|
* @param value - The object to check for the own property
|
|
90
90
|
* @param property - The property key to check for
|
|
91
91
|
* @param exception - Optional exception configuration for custom error handling
|
|
92
|
-
* @throws {
|
|
92
|
+
* @throws {ObjectPropertyError} When object does not have the specified own property
|
|
93
93
|
*
|
|
94
94
|
* @example
|
|
95
95
|
* ```typescript
|
|
96
96
|
* const obj = { name: "John" };
|
|
97
|
-
*
|
|
98
|
-
*
|
|
99
|
-
*
|
|
97
|
+
* AssertObjectHasOwnProperty(obj, "name"); // ✓ Valid (own property)
|
|
98
|
+
* AssertObjectHasOwnProperty(obj, "toString"); // ✗ Throws (inherited property)
|
|
99
|
+
* AssertObjectHasOwnProperty(obj, "invalid"); // ✗ Throws (doesn't exist)
|
|
100
100
|
*
|
|
101
101
|
* // Checking for data vs inherited methods
|
|
102
102
|
* function validateUserData(obj: object) {
|
|
103
|
-
*
|
|
104
|
-
*
|
|
103
|
+
* AssertObjectHasOwnProperty(obj, "id"); // Must be own property
|
|
104
|
+
* AssertObjectHasOwnProperty(obj, "name"); // Must be own property
|
|
105
105
|
* }
|
|
106
106
|
* ```
|
|
107
107
|
*/
|
|
@@ -119,18 +119,18 @@ export declare function AssertObjectHasOwnProperty<T extends object, K extends P
|
|
|
119
119
|
* @param value - The object to check
|
|
120
120
|
* @param property - The property key to validate for non-null value
|
|
121
121
|
* @param exception - Optional exception configuration for custom error handling
|
|
122
|
-
* @throws {
|
|
122
|
+
* @throws {ObjectPropertyError} When property is null, undefined, or doesn't exist
|
|
123
123
|
*
|
|
124
124
|
* @example
|
|
125
125
|
* ```typescript
|
|
126
126
|
* const user = { id: 123, name: "John", email: null };
|
|
127
|
-
*
|
|
128
|
-
*
|
|
129
|
-
*
|
|
127
|
+
* AssertObjectPropertyNotNull(user, "id"); // ✓ Valid (123 is not null/undefined)
|
|
128
|
+
* AssertObjectPropertyNotNull(user, "name"); // ✓ Valid ("John" is not null/undefined)
|
|
129
|
+
* AssertObjectPropertyNotNull(user, "email"); // ✗ Throws ObjectPropertyError (null)
|
|
130
130
|
*
|
|
131
131
|
* // Type narrowing for property values
|
|
132
132
|
* function processUser(user: { name?: string | null }) {
|
|
133
|
-
*
|
|
133
|
+
* AssertObjectPropertyNotNull(user, "name");
|
|
134
134
|
* // user.name is now typed as string (null/undefined excluded)
|
|
135
135
|
* }
|
|
136
136
|
* ```
|
package/build/object/assert.js
CHANGED
|
@@ -50,7 +50,7 @@ export class ObjectPropertyError extends SimpleError {
|
|
|
50
50
|
*/
|
|
51
51
|
export function AssertObject(value, exception = {}) {
|
|
52
52
|
SetExceptionClass(exception, ObjectError);
|
|
53
|
-
if (typeof value !== 'object' || value === null || Array.isArray(value)
|
|
53
|
+
if (typeof value !== 'object' || value === null || Array.isArray(value)) {
|
|
54
54
|
const actualType = value === null ? 'null' : Array.isArray(value) ? 'array' : typeof value;
|
|
55
55
|
let valueStr;
|
|
56
56
|
try {
|
|
@@ -91,19 +91,19 @@ export function AssertObject(value, exception = {}) {
|
|
|
91
91
|
* @param value - The object to check for the property
|
|
92
92
|
* @param property - The property key to check for
|
|
93
93
|
* @param exception - Optional exception configuration for custom error handling
|
|
94
|
-
* @throws {
|
|
94
|
+
* @throws {ObjectPropertyError} When object does not have the specified property
|
|
95
95
|
*
|
|
96
96
|
* @example
|
|
97
97
|
* ```typescript
|
|
98
98
|
* const obj = { name: "John", age: 30 };
|
|
99
|
-
*
|
|
100
|
-
*
|
|
101
|
-
*
|
|
99
|
+
* AssertObjectHasProperty(obj, "name"); // ✓ Valid (own property)
|
|
100
|
+
* AssertObjectHasProperty(obj, "toString"); // ✓ Valid (inherited property)
|
|
101
|
+
* AssertObjectHasProperty(obj, "invalid"); // ✗ Throws ObjectPropertyError
|
|
102
102
|
*
|
|
103
103
|
* // Type narrowing with property presence
|
|
104
104
|
* function processUser(obj: unknown) {
|
|
105
105
|
* AssertObject(obj);
|
|
106
|
-
*
|
|
106
|
+
* AssertObjectHasProperty(obj, "name");
|
|
107
107
|
* // obj["name"] is now accessible safely
|
|
108
108
|
* }
|
|
109
109
|
* ```
|
|
@@ -132,19 +132,19 @@ export function AssertObjectHasProperty(value, property, exception = {}) {
|
|
|
132
132
|
* @param value - The object to check for the own property
|
|
133
133
|
* @param property - The property key to check for
|
|
134
134
|
* @param exception - Optional exception configuration for custom error handling
|
|
135
|
-
* @throws {
|
|
135
|
+
* @throws {ObjectPropertyError} When object does not have the specified own property
|
|
136
136
|
*
|
|
137
137
|
* @example
|
|
138
138
|
* ```typescript
|
|
139
139
|
* const obj = { name: "John" };
|
|
140
|
-
*
|
|
141
|
-
*
|
|
142
|
-
*
|
|
140
|
+
* AssertObjectHasOwnProperty(obj, "name"); // ✓ Valid (own property)
|
|
141
|
+
* AssertObjectHasOwnProperty(obj, "toString"); // ✗ Throws (inherited property)
|
|
142
|
+
* AssertObjectHasOwnProperty(obj, "invalid"); // ✗ Throws (doesn't exist)
|
|
143
143
|
*
|
|
144
144
|
* // Checking for data vs inherited methods
|
|
145
145
|
* function validateUserData(obj: object) {
|
|
146
|
-
*
|
|
147
|
-
*
|
|
146
|
+
* AssertObjectHasOwnProperty(obj, "id"); // Must be own property
|
|
147
|
+
* AssertObjectHasOwnProperty(obj, "name"); // Must be own property
|
|
148
148
|
* }
|
|
149
149
|
* ```
|
|
150
150
|
*/
|
|
@@ -171,18 +171,18 @@ export function AssertObjectHasOwnProperty(value, property, exception = {}) {
|
|
|
171
171
|
* @param value - The object to check
|
|
172
172
|
* @param property - The property key to validate for non-null value
|
|
173
173
|
* @param exception - Optional exception configuration for custom error handling
|
|
174
|
-
* @throws {
|
|
174
|
+
* @throws {ObjectPropertyError} When property is null, undefined, or doesn't exist
|
|
175
175
|
*
|
|
176
176
|
* @example
|
|
177
177
|
* ```typescript
|
|
178
178
|
* const user = { id: 123, name: "John", email: null };
|
|
179
|
-
*
|
|
180
|
-
*
|
|
181
|
-
*
|
|
179
|
+
* AssertObjectPropertyNotNull(user, "id"); // ✓ Valid (123 is not null/undefined)
|
|
180
|
+
* AssertObjectPropertyNotNull(user, "name"); // ✓ Valid ("John" is not null/undefined)
|
|
181
|
+
* AssertObjectPropertyNotNull(user, "email"); // ✗ Throws ObjectPropertyError (null)
|
|
182
182
|
*
|
|
183
183
|
* // Type narrowing for property values
|
|
184
184
|
* function processUser(user: { name?: string | null }) {
|
|
185
|
-
*
|
|
185
|
+
* AssertObjectPropertyNotNull(user, "name");
|
|
186
186
|
* // user.name is now typed as string (null/undefined excluded)
|
|
187
187
|
* }
|
|
188
188
|
* ```
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assert.js","sourceRoot":"","sources":["../../src/object/assert.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC7F,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD,gFAAgF;AAChF,MAAM,wBAAwB,GAAG,GAAG,CAAC;AAErC;;;;;GAKG;AACH,MAAM,OAAO,WAAY,SAAQ,WAAW;IAC3C,YAAY,OAAgB;QAC3B,KAAK,CAAC,OAAO,IAAI,yBAAyB,CAAC,CAAC;IAC7C,CAAC;CACD;AAED;;;;;GAKG;AACH,MAAM,OAAO,mBAAoB,SAAQ,WAAW;IACnD,YAAY,OAAgB;QAC3B,KAAK,CAAC,OAAO,IAAI,kCAAkC,CAAC,CAAC;IACtD,CAAC;CACD;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,UAAU,YAAY,CAAC,KAAc,EAAE,YAA8B,EAAE;IAC5E,iBAAiB,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IAC1C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"assert.js","sourceRoot":"","sources":["../../src/object/assert.ts"],"names":[],"mappings":"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"}
|
package/build/object/filter.d.ts
CHANGED
|
@@ -56,6 +56,12 @@ import type { IObjectFilterOptions, TPropertyFilter } from './types.js';
|
|
|
56
56
|
* // Path validation (security)
|
|
57
57
|
* ObjectFilter(profile, { '../malicious': 'value' }, { validatePaths: true }); // false
|
|
58
58
|
* ObjectFilter(profile, { 'user..name': 'John' }, { validatePaths: true }); // false
|
|
59
|
+
*
|
|
60
|
+
* // Predicate functions as filter values
|
|
61
|
+
* const user = { name: 'John', age: 30, role: 'admin' };
|
|
62
|
+
* ObjectFilter(user, { age: (v) => v > 18 }); // true
|
|
63
|
+
* ObjectFilter(user, { role: (v) => v === 'admin', age: (v) => v > 25 }); // true
|
|
64
|
+
* ObjectFilter(user, { age: (v) => v < 18 }); // false
|
|
59
65
|
* ```
|
|
60
66
|
*/
|
|
61
67
|
export declare function ObjectFilter<T>(object: T, filter: Record<string, any>, options?: IObjectFilterOptions): boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filter.d.ts","sourceRoot":"","sources":["../../src/object/filter.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"filter.d.ts","sourceRoot":"","sources":["../../src/object/filter.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAgHxE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgEG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,GAAE,oBAAyB,GAAG,OAAO,CAgDnH;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAiBhG"}
|
package/build/object/filter.js
CHANGED
|
@@ -10,6 +10,10 @@ import { ObjectGetPropertyByPath } from './property-paths.js';
|
|
|
10
10
|
* @returns True if the values match according to deep equality rules
|
|
11
11
|
*/
|
|
12
12
|
function objectDeepComparison(objValue, filterValue, caseInsensitiveStrings = false) {
|
|
13
|
+
// Handle function as predicate
|
|
14
|
+
if (typeof filterValue === 'function') {
|
|
15
|
+
return filterValue(objValue);
|
|
16
|
+
}
|
|
13
17
|
// Handle string comparison with case insensitivity option
|
|
14
18
|
if (caseInsensitiveStrings && typeof objValue === 'string' && typeof filterValue === 'string') {
|
|
15
19
|
return objValue.toLowerCase() === filterValue.toLowerCase();
|
|
@@ -63,6 +67,10 @@ function objectHandleArrayComparison(objValue, filterValue, caseInsensitiveStrin
|
|
|
63
67
|
* @returns True if values match according to specified criteria
|
|
64
68
|
*/
|
|
65
69
|
function objectCompareValues(objValue, filterValue, caseInsensitiveStrings, useDeepEqual = false) {
|
|
70
|
+
// Handle function as predicate
|
|
71
|
+
if (typeof filterValue === 'function') {
|
|
72
|
+
return filterValue(objValue);
|
|
73
|
+
}
|
|
66
74
|
// Check if objValue is an array
|
|
67
75
|
if (Array.isArray(objValue)) {
|
|
68
76
|
return objectHandleArrayComparison(objValue, filterValue, caseInsensitiveStrings, useDeepEqual);
|
|
@@ -143,6 +151,12 @@ function objectCompareValues(objValue, filterValue, caseInsensitiveStrings, useD
|
|
|
143
151
|
* // Path validation (security)
|
|
144
152
|
* ObjectFilter(profile, { '../malicious': 'value' }, { validatePaths: true }); // false
|
|
145
153
|
* ObjectFilter(profile, { 'user..name': 'John' }, { validatePaths: true }); // false
|
|
154
|
+
*
|
|
155
|
+
* // Predicate functions as filter values
|
|
156
|
+
* const user = { name: 'John', age: 30, role: 'admin' };
|
|
157
|
+
* ObjectFilter(user, { age: (v) => v > 18 }); // true
|
|
158
|
+
* ObjectFilter(user, { role: (v) => v === 'admin', age: (v) => v > 25 }); // true
|
|
159
|
+
* ObjectFilter(user, { age: (v) => v < 18 }); // false
|
|
146
160
|
* ```
|
|
147
161
|
*/
|
|
148
162
|
export function ObjectFilter(object, filter, options = {}) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filter.js","sourceRoot":"","sources":["../../src/object/filter.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"filter.js","sourceRoot":"","sources":["../../src/object/filter.ts"],"names":[],"mappings":"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"}
|
package/build/object/index.d.ts
CHANGED
|
@@ -27,7 +27,7 @@ export { isPropertyKeySafe, isPropertyPathSafe, sanitizePropertyKey, filterDange
|
|
|
27
27
|
export { ObjectInvert } from './object-invert.js';
|
|
28
28
|
export { ObjectFlatten } from './object-flatten.js';
|
|
29
29
|
export { ObjectDiff } from './object-diff.js';
|
|
30
|
-
export { ObjectError, ObjectPropertyError, AssertObjectHasProperty, AssertObjectHasOwnProperty, AssertObjectPropertyNotNull } from './assert.js';
|
|
30
|
+
export { AssertObject, ObjectError, ObjectPropertyError, AssertObjectHasProperty, AssertObjectHasOwnProperty, AssertObjectPropertyNotNull } from './assert.js';
|
|
31
31
|
export type { IObjectDiffResult } from './object-diff.js';
|
|
32
32
|
export type { TConstructableObject, TObjectOmitExtraProperties, TCachedObjectFilterFunction, TCachedObjectMapperFunction, TObjectPredicate, TObjectTransformer, TObjectComparator, TObjectEqualityComparator, TPropertyMapper, TPropertyFilter } from './types.js';
|
|
33
33
|
export type { IObjectFilterOptions, ICachedObjectFilterOptions, ICachedObjectMapOptions } from './types.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/object/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AACzE,OAAO,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AACzE,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AACvF,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AACtF,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,+BAA+B,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACpK,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,0BAA0B,EAAE,2BAA2B,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/object/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AACzE,OAAO,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AACzE,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AACvF,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AACtF,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,+BAA+B,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACpK,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,0BAA0B,EAAE,2BAA2B,EAAE,MAAM,aAAa,CAAC;AAC/J,YAAY,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAG1D,YAAY,EAAE,oBAAoB,EAAE,0BAA0B,EAAE,2BAA2B,EAAE,2BAA2B,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAGnQ,YAAY,EAAE,oBAAoB,EAAE,0BAA0B,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC"}
|
package/build/object/index.js
CHANGED
|
@@ -28,5 +28,5 @@ export { isPropertyKeySafe, isPropertyPathSafe, sanitizePropertyKey, filterDange
|
|
|
28
28
|
export { ObjectInvert } from './object-invert.js';
|
|
29
29
|
export { ObjectFlatten } from './object-flatten.js';
|
|
30
30
|
export { ObjectDiff } from './object-diff.js';
|
|
31
|
-
export { ObjectError, ObjectPropertyError, AssertObjectHasProperty, AssertObjectHasOwnProperty, AssertObjectPropertyNotNull } from './assert.js';
|
|
31
|
+
export { AssertObject, ObjectError, ObjectPropertyError, AssertObjectHasProperty, AssertObjectHasOwnProperty, AssertObjectPropertyNotNull } from './assert.js';
|
|
32
32
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/object/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,YAAY;AACZ,OAAO,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AACzE,OAAO,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AACzE,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AACvF,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AACtF,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,+BAA+B,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACpK,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,0BAA0B,EAAE,2BAA2B,EAAE,MAAM,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/object/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,YAAY;AACZ,OAAO,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AACzE,OAAO,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AACzE,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AACvF,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AACtF,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,+BAA+B,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACpK,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,0BAA0B,EAAE,2BAA2B,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
* ObjectFromKeyValuePairs([['a', 1], ['b', 2]]); // { a: 1, b: 2 }
|
|
12
12
|
* ```
|
|
13
13
|
*/
|
|
14
|
-
export declare function ObjectFromKeyValuePairs<T = unknown>(entries: [string, T][]): Record<string, T>;
|
|
14
|
+
export declare function ObjectFromKeyValuePairs<T = unknown>(entries: readonly [string, T][]): Record<string, T>;
|
|
15
15
|
/**
|
|
16
16
|
* Converts an object into an array of `[key, value]` tuples.
|
|
17
17
|
* The inverse of {@link ObjectFromKeyValuePairs}.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"key-value-pairs.d.ts","sourceRoot":"","sources":["../../src/object/key-value-pairs.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,wBAAgB,uBAAuB,CAAC,CAAC,GAAG,OAAO,EAAE,OAAO,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"key-value-pairs.d.ts","sourceRoot":"","sources":["../../src/object/key-value-pairs.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,wBAAgB,uBAAuB,CAAC,CAAC,GAAG,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAavG;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,CAExF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"key-value-pairs.js","sourceRoot":"","sources":["../../src/object/key-value-pairs.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,uBAAuB,CAAc,
|
|
1
|
+
{"version":3,"file":"key-value-pairs.js","sourceRoot":"","sources":["../../src/object/key-value-pairs.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,uBAAuB,CAAc,OAA+B;IACnF,MAAM,GAAG,GAAG,EAAuB,CAAC;IACpC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,OAAO,EAAE,CAAC;QACpC,sEAAsE;QACtE,+BAA+B;QAC/B,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE;YAC/B,KAAK;YACL,QAAQ,EAAE,IAAI;YACd,UAAU,EAAE,IAAI;YAChB,YAAY,EAAE,IAAI;SAClB,CAAC,CAAC;IACJ,CAAC;IACD,OAAO,GAAG,CAAC;AACZ,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,qBAAqB,CAAc,GAAsB;IACxE,OAAO,MAAM,CAAC,OAAO,CAAC,GAAG,CAAkB,CAAC;AAC7C,CAAC"}
|
package/build/object/omit.d.ts
CHANGED
|
@@ -13,5 +13,5 @@
|
|
|
13
13
|
* ObjectOmit(user, ['password']); // { id: 1, name: 'John' }
|
|
14
14
|
* ```
|
|
15
15
|
*/
|
|
16
|
-
export declare function ObjectOmit<T extends object, K extends keyof T>(obj: T, keys: K[]): Omit<T, K>;
|
|
16
|
+
export declare function ObjectOmit<T extends object, K extends keyof T>(obj: T, keys: readonly K[]): Omit<T, K>;
|
|
17
17
|
//# sourceMappingURL=omit.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"omit.d.ts","sourceRoot":"","sources":["../../src/object/omit.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,UAAU,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"omit.d.ts","sourceRoot":"","sources":["../../src/object/omit.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,UAAU,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAUtG"}
|
package/build/object/omit.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"omit.js","sourceRoot":"","sources":["../../src/object/omit.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,UAAU,CAAsC,GAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"omit.js","sourceRoot":"","sources":["../../src/object/omit.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,UAAU,CAAsC,GAAM,EAAE,IAAkB;IACzF,IAAI,CAAC,GAAG,EAAE,CAAC;QACV,OAAO,EAAgB,CAAC;IACzB,CAAC;IAED,MAAM,MAAM,GAAG,EAAE,GAAG,GAAG,EAAE,CAAC;IAC1B,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QACpB,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;IACpB,CAAC,CAAC,CAAC;IACH,OAAO,MAAoB,CAAC;AAC7B,CAAC"}
|
package/build/object/pick.d.ts
CHANGED
|
@@ -46,5 +46,5 @@
|
|
|
46
46
|
* ObjectPick(undefined, ['name']); // Returns {}
|
|
47
47
|
* ```
|
|
48
48
|
*/
|
|
49
|
-
export declare function ObjectPick<T extends object, K extends keyof T>(obj: T, keys: K[]): Pick<T, K>;
|
|
49
|
+
export declare function ObjectPick<T extends object, K extends keyof T>(obj: T, keys: readonly K[]): Pick<T, K>;
|
|
50
50
|
//# sourceMappingURL=pick.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pick.d.ts","sourceRoot":"","sources":["../../src/object/pick.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AACH,wBAAgB,UAAU,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"pick.d.ts","sourceRoot":"","sources":["../../src/object/pick.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AACH,wBAAgB,UAAU,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAYtG"}
|
package/build/object/pick.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pick.js","sourceRoot":"","sources":["../../src/object/pick.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AACH,MAAM,UAAU,UAAU,CAAsC,GAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"pick.js","sourceRoot":"","sources":["../../src/object/pick.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AACH,MAAM,UAAU,UAAU,CAAsC,GAAM,EAAE,IAAkB;IACzF,IAAI,CAAC,GAAG,EAAE,CAAC;QACV,OAAO,EAAgB,CAAC;IACzB,CAAC;IAED,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE;QAClC,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;YAC7B,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;QACxB,CAAC;QAED,OAAO,MAAM,CAAC;IACf,CAAC,EAAE,EAAgB,CAAC,CAAC;AACtB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assert.d.ts","sourceRoot":"","sources":["../../src/string/assert.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAE5D,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"assert.d.ts","sourceRoot":"","sources":["../../src/string/assert.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAE5D,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAwCnD;;;;;GAKG;AACH,qBAAa,WAAY,SAAQ,WAAW;gBAC/B,OAAO,CAAC,EAAE,MAAM;CAG5B;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,GAAE,gBAAqB,GAAG,OAAO,CAAC,KAAK,IAAI,MAAM,CAMtG;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,GAAE,gBAAqB,GAAG,OAAO,CAAC,KAAK,IAAI,MAAM,CAe9G;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,GAAE,gBAAqB,GAAG,IAAI,CAsBxG"}
|
package/build/string/assert.js
CHANGED
|
@@ -1,25 +1,20 @@
|
|
|
1
1
|
import { SetExceptionClass, SetExceptionMessage, ThrowException } from '../asserts/utils.js';
|
|
2
2
|
import { SimpleError } from '../asserts/errors.js';
|
|
3
|
-
|
|
4
|
-
* Cache for compiled regex patterns to improve performance when the same patterns are used repeatedly.
|
|
5
|
-
* Maps regex source + flags to the compiled RegExp object for efficient reuse.
|
|
6
|
-
*
|
|
7
|
-
* @internal
|
|
8
|
-
*/
|
|
9
|
-
const REGEX_PATTERN_CACHE = new Map();
|
|
3
|
+
import { LRUCache } from '../lru-cache.js';
|
|
10
4
|
/**
|
|
11
5
|
* Maximum number of cached regex patterns to prevent unbounded memory growth.
|
|
12
|
-
* When this limit is reached, the
|
|
6
|
+
* When this limit is reached, the least recently used entry is evicted.
|
|
13
7
|
*
|
|
14
8
|
* @internal
|
|
15
9
|
*/
|
|
16
10
|
const MAX_CACHE_SIZE = 100;
|
|
17
11
|
/**
|
|
18
|
-
*
|
|
12
|
+
* LRU cache for compiled regex patterns to improve performance when the same
|
|
13
|
+
* patterns are used repeatedly. Keyed by `source:::flags`.
|
|
19
14
|
*
|
|
20
15
|
* @internal
|
|
21
16
|
*/
|
|
22
|
-
const
|
|
17
|
+
const REGEX_PATTERN_CACHE = new LRUCache(MAX_CACHE_SIZE);
|
|
23
18
|
/**
|
|
24
19
|
* Gets a cached regex pattern or creates and caches a new one.
|
|
25
20
|
* This optimization improves performance when the same regex patterns are used repeatedly.
|
|
@@ -31,16 +26,12 @@ const CACHE_EVICTION_BATCH_SIZE = 20;
|
|
|
31
26
|
*/
|
|
32
27
|
function getCachedRegex(source, flags = '') {
|
|
33
28
|
const cacheKey = `${source}:::${flags}`;
|
|
34
|
-
|
|
35
|
-
if (
|
|
36
|
-
|
|
37
|
-
if (REGEX_PATTERN_CACHE.size >= MAX_CACHE_SIZE) {
|
|
38
|
-
const keysToDelete = Array.from(REGEX_PATTERN_CACHE.keys()).slice(0, CACHE_EVICTION_BATCH_SIZE);
|
|
39
|
-
keysToDelete.forEach(key => REGEX_PATTERN_CACHE.delete(key));
|
|
40
|
-
}
|
|
41
|
-
regex = new RegExp(source, flags);
|
|
42
|
-
REGEX_PATTERN_CACHE.set(cacheKey, regex);
|
|
29
|
+
const cached = REGEX_PATTERN_CACHE.get(cacheKey);
|
|
30
|
+
if (cached) {
|
|
31
|
+
return cached;
|
|
43
32
|
}
|
|
33
|
+
const regex = new RegExp(source, flags);
|
|
34
|
+
REGEX_PATTERN_CACHE.set(cacheKey, regex);
|
|
44
35
|
return regex;
|
|
45
36
|
}
|
|
46
37
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assert.js","sourceRoot":"","sources":["../../src/string/assert.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC7F,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"assert.js","sourceRoot":"","sources":["../../src/string/assert.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"case-conversion.d.ts","sourceRoot":"","sources":["../../src/string/case-conversion.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"case-conversion.d.ts","sourceRoot":"","sources":["../../src/string/case-conversion.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAY/C;AAED;;;;;;GAMG;AACH,eAAO,MAAM,UAAU,EAAE,cAMxB,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,UAAU,EAAE,cASxB,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,WAAW,EAAE,cAYzB,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,UAAU,EAAE,cASxB,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,EAAE,cAElC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formatting.d.ts","sourceRoot":"","sources":["../../src/string/formatting.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"formatting.d.ts","sourceRoot":"","sources":["../../src/string/formatting.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE7D;;;;;;;;;;;;GAYG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAW9C;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,YAAY,CAC3B,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,aAAa,GAAG,WAAW,GACjC,MAAM,CAoBR;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,SAAQ,GAAG,MAAM,CAUvF;AAED;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,SAAM,EAAE,MAAM,UAAO,GAAG,MAAM,CASxF;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAG7C;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAG9E;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAG7C;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CASpE"}
|
|
@@ -90,12 +90,12 @@ export function TruncateString(str, maxLength, ellipsis = '...') {
|
|
|
90
90
|
* @returns The padded string.
|
|
91
91
|
*/
|
|
92
92
|
export function PadString(str, length, char = ' ', padEnd = true) {
|
|
93
|
-
if (
|
|
93
|
+
if (typeof str === 'string' && length > str.length) {
|
|
94
94
|
const paddingLength = length - str.length;
|
|
95
95
|
const padding = char.repeat(paddingLength);
|
|
96
96
|
return padEnd ? str + padding : padding + str;
|
|
97
97
|
}
|
|
98
|
-
return str
|
|
98
|
+
return str ?? '';
|
|
99
99
|
}
|
|
100
100
|
/**
|
|
101
101
|
* Removes all HTML tags from a string.
|