@pawells/typescript-common 1.4.1 → 2.1.5
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 +350 -223
- package/{build → dist}/array/array-chunk.d.ts +1 -1
- package/{build → dist}/array/array-chunk.js +2 -3
- package/{build → dist}/array/array-compact.d.ts +1 -1
- package/{build → dist}/array/array-compact.js +1 -2
- package/{build → dist}/array/array-contains.d.ts +4 -1
- package/{build → dist}/array/array-contains.d.ts.map +1 -1
- package/{build → dist}/array/array-contains.js +6 -3
- package/{build → dist}/array/array-count-by.d.ts +3 -1
- package/dist/array/array-count-by.d.ts.map +1 -0
- package/{build → dist}/array/array-count-by.js +4 -2
- package/dist/array/array-difference.d.ts +43 -0
- package/dist/array/array-difference.d.ts.map +1 -0
- package/dist/array/array-difference.js +70 -0
- package/dist/array/array-element.js +1 -0
- package/{build → dist}/array/array-filter.d.ts +3 -1
- package/{build → dist}/array/array-filter.d.ts.map +1 -1
- package/{build → dist}/array/array-filter.js +5 -3
- package/{build → dist}/array/array-flatten.d.ts +2 -2
- package/{build → dist}/array/array-flatten.d.ts.map +1 -1
- package/{build → dist}/array/array-flatten.js +1 -2
- package/{build → dist}/array/array-group-by.d.ts +3 -1
- package/dist/array/array-group-by.d.ts.map +1 -0
- package/{build → dist}/array/array-group-by.js +12 -8
- package/dist/array/array-intersection.d.ts +43 -0
- package/dist/array/array-intersection.d.ts.map +1 -0
- package/dist/array/array-intersection.js +79 -0
- package/{build → dist}/array/array-partition.d.ts +3 -1
- package/{build → dist}/array/array-partition.d.ts.map +1 -1
- package/{build → dist}/array/array-partition.js +4 -2
- package/{build → dist}/array/array-range.d.ts +1 -1
- package/{build → dist}/array/array-range.js +1 -2
- package/{build → dist}/array/array-sample.d.ts +4 -4
- package/dist/array/array-sample.d.ts.map +1 -0
- package/{build → dist}/array/array-sample.js +4 -14
- package/{build → dist}/array/array-shuffle.d.ts +1 -1
- package/{build → dist}/array/array-shuffle.js +1 -2
- package/{build → dist}/array/array-sort-by.d.ts +1 -1
- package/{build → dist}/array/array-sort-by.js +1 -2
- package/{build → dist}/array/array-zip.d.ts +1 -1
- package/{build → dist}/array/array-zip.js +1 -2
- package/{build → dist}/array/assert.d.ts +27 -23
- package/dist/array/assert.d.ts.map +1 -0
- package/{build → dist}/array/assert.js +40 -37
- package/{build → dist}/array/index.js +0 -1
- package/{build → dist}/array/types.d.ts +29 -0
- package/dist/array/types.d.ts.map +1 -0
- package/dist/array/types.js +1 -0
- package/{build → dist}/array/unique.d.ts +3 -1
- package/{build → dist}/array/unique.d.ts.map +1 -1
- package/{build → dist}/array/unique.js +5 -3
- package/dist/asserts/errors.d.ts.map +1 -0
- package/{build → dist}/asserts/errors.js +5 -3
- package/{build → dist}/asserts/generic.d.ts +32 -3
- package/dist/asserts/generic.d.ts.map +1 -0
- package/{build → dist}/asserts/generic.js +63 -15
- package/dist/asserts/index.d.ts +47 -0
- package/dist/asserts/index.d.ts.map +1 -0
- package/dist/asserts/index.js +46 -0
- package/{build → dist}/asserts/internal-utils.d.ts.map +1 -1
- package/{build → dist}/asserts/internal-utils.js +0 -1
- package/{build → dist}/asserts/types.d.ts +56 -17
- package/dist/asserts/types.d.ts.map +1 -0
- package/dist/asserts/types.js +1 -0
- package/{build → dist}/asserts/utils.d.ts +18 -2
- package/dist/asserts/utils.d.ts.map +1 -0
- package/{build → dist}/asserts/utils.js +56 -1
- package/{build → dist}/boolean/assert.d.ts +1 -2
- package/{build → dist}/boolean/assert.d.ts.map +1 -1
- package/{build → dist}/boolean/assert.js +3 -8
- package/dist/boolean/index.d.ts +13 -0
- package/dist/boolean/index.d.ts.map +1 -0
- package/dist/boolean/index.js +12 -0
- package/{build → dist}/enum/enum-entries.d.ts +1 -1
- package/dist/enum/enum-entries.d.ts.map +1 -0
- package/{build → dist}/enum/enum-entries.js +0 -1
- package/{build → dist}/enum/enum-key-by-value.d.ts +1 -1
- package/dist/enum/enum-key-by-value.d.ts.map +1 -0
- package/{build → dist}/enum/enum-key-by-value.js +0 -1
- package/{build → dist}/enum/enum-keys.js +0 -1
- package/{build → dist}/enum/enum-safe-value.d.ts +1 -1
- package/dist/enum/enum-safe-value.d.ts.map +1 -0
- package/{build → dist}/enum/enum-safe-value.js +0 -1
- package/{build → dist}/enum/enum-values.js +0 -1
- package/{build → dist}/enum/index.d.ts +1 -1
- package/dist/enum/index.d.ts.map +1 -0
- package/{build → dist}/enum/index.js +1 -2
- package/dist/enum/types.js +1 -0
- package/{build → dist}/enum/validate-enum-value.d.ts +1 -1
- package/dist/enum/validate-enum-value.d.ts.map +1 -0
- package/{build → dist}/enum/validate-enum-value.js +0 -1
- package/{build → dist}/function/compose.d.ts +9 -2
- package/dist/function/compose.d.ts.map +1 -0
- package/{build → dist}/function/compose.js +0 -1
- package/{build → dist}/function/debounce.d.ts +8 -1
- package/dist/function/debounce.d.ts.map +1 -0
- package/{build → dist}/function/debounce.js +6 -1
- package/{build → dist}/function/index.js +0 -1
- package/dist/function/memoize.d.ts +43 -0
- package/dist/function/memoize.d.ts.map +1 -0
- package/dist/function/memoize.js +59 -0
- package/{build → dist}/function/once.d.ts +1 -0
- package/{build → dist}/function/once.d.ts.map +1 -1
- package/{build → dist}/function/once.js +2 -1
- package/{build → dist}/function/sleep.js +0 -1
- package/dist/function/throttle.d.ts +25 -0
- package/dist/function/throttle.d.ts.map +1 -0
- package/{build → dist}/function/throttle.js +7 -1
- package/dist/function/types.d.ts +18 -0
- package/dist/function/types.d.ts.map +1 -0
- package/dist/function/types.js +1 -0
- package/dist/index.d.ts +11 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +10 -0
- package/{build → dist}/lru-cache.d.ts +19 -0
- package/dist/lru-cache.d.ts.map +1 -0
- package/{build → dist}/lru-cache.js +24 -2
- package/{build → dist}/number/assert.d.ts.map +1 -1
- package/{build → dist}/number/assert.js +38 -43
- package/dist/number/index.d.ts +13 -0
- package/dist/number/index.d.ts.map +1 -0
- package/dist/number/index.js +12 -0
- package/{build → dist}/object/assert-object.d.ts +5 -1
- package/{build → dist}/object/assert-object.d.ts.map +1 -1
- package/{build → dist}/object/assert-object.js +4 -1
- package/{build → dist}/object/assert.d.ts +1 -1
- package/dist/object/assert.d.ts.map +1 -0
- package/{build → dist}/object/assert.js +7 -29
- package/{build → dist}/object/clone.d.ts.map +1 -1
- package/{build → dist}/object/clone.js +11 -5
- package/{build → dist}/object/equals.d.ts +1 -1
- package/{build → dist}/object/equals.d.ts.map +1 -1
- package/{build → dist}/object/equals.js +12 -9
- package/dist/object/filter-cached.d.ts +44 -0
- package/{build → dist}/object/filter-cached.d.ts.map +1 -1
- package/{build → dist}/object/filter-cached.js +41 -2
- package/{build → dist}/object/filter.d.ts +1 -1
- package/{build → dist}/object/filter.d.ts.map +1 -1
- package/{build → dist}/object/filter.js +38 -70
- package/{build → dist}/object/has-circular-reference.d.ts.map +1 -1
- package/{build → dist}/object/has-circular-reference.js +4 -2
- package/{build → dist}/object/hash.d.ts +5 -1
- package/dist/object/hash.d.ts.map +1 -0
- package/{build → dist}/object/hash.js +20 -6
- package/{build → dist}/object/index.d.ts +2 -2
- package/{build → dist}/object/index.d.ts.map +1 -1
- package/{build → dist}/object/index.js +1 -2
- package/{build → dist}/object/json-circular-replacer.d.ts.map +1 -1
- package/{build → dist}/object/json-circular-replacer.js +0 -1
- package/{build → dist}/object/key-value-pairs.js +0 -1
- package/dist/object/map-cached.d.ts +31 -0
- package/dist/object/map-cached.d.ts.map +1 -0
- package/{build → dist}/object/map-cached.js +34 -6
- package/{build → dist}/object/map.js +0 -1
- package/{build → dist}/object/merge.d.ts.map +1 -1
- package/{build → dist}/object/merge.js +7 -7
- package/{build → dist}/object/object-diff.d.ts +2 -2
- package/{build → dist}/object/object-diff.d.ts.map +1 -1
- package/{build → dist}/object/object-diff.js +11 -5
- package/{build → dist}/object/object-flatten.d.ts +1 -1
- package/{build → dist}/object/object-flatten.d.ts.map +1 -1
- package/{build → dist}/object/object-flatten.js +6 -4
- package/{build → dist}/object/object-invert.js +0 -1
- package/{build → dist}/object/omit.js +0 -1
- package/{build → dist}/object/pick.js +0 -1
- package/{build → dist}/object/property-paths.d.ts +2 -2
- package/{build → dist}/object/property-paths.d.ts.map +1 -1
- package/{build → dist}/object/property-paths.js +13 -9
- package/dist/object/security-utils.d.ts +193 -0
- package/dist/object/security-utils.d.ts.map +1 -0
- package/dist/object/security-utils.js +297 -0
- package/{build → dist}/object/sort-keys.d.ts +1 -1
- package/{build → dist}/object/sort-keys.d.ts.map +1 -1
- package/{build → dist}/object/sort-keys.js +18 -11
- package/{build → dist}/object/types.d.ts +61 -20
- package/dist/object/types.d.ts.map +1 -0
- package/dist/object/types.js +1 -0
- package/{build → dist}/string/assert.d.ts +5 -0
- package/dist/string/assert.d.ts.map +1 -0
- package/{build → dist}/string/assert.js +14 -10
- package/dist/string/case-conversion.d.ts +79 -0
- package/dist/string/case-conversion.d.ts.map +1 -0
- package/{build → dist}/string/case-conversion.js +59 -30
- package/dist/string/comparison.d.ts +20 -0
- package/dist/string/comparison.d.ts.map +1 -0
- package/dist/string/comparison.js +27 -0
- package/{build → dist}/string/formatting.d.ts +35 -22
- package/dist/string/formatting.d.ts.map +1 -0
- package/{build → dist}/string/formatting.js +40 -25
- package/{build → dist}/string/index.d.ts +1 -0
- package/{build → dist}/string/index.d.ts.map +1 -1
- package/{build → dist}/string/index.js +1 -1
- package/dist/string/transformation.d.ts +28 -0
- package/dist/string/transformation.d.ts.map +1 -0
- package/dist/string/transformation.js +42 -0
- package/dist/string/types.d.ts +118 -0
- package/dist/string/types.d.ts.map +1 -0
- package/dist/string/types.js +1 -0
- package/dist/string/validation.d.ts +30 -0
- package/dist/string/validation.d.ts.map +1 -0
- package/dist/string/validation.js +38 -0
- package/dist/time/elapsed-time/constants.d.ts +36 -0
- package/{build → dist}/time/elapsed-time/constants.d.ts.map +1 -1
- package/{build → dist}/time/elapsed-time/constants.js +32 -3
- package/{build → dist}/time/elapsed-time/elapsed-time.d.ts +67 -15
- package/dist/time/elapsed-time/elapsed-time.d.ts.map +1 -0
- package/{build → dist}/time/elapsed-time/elapsed-time.js +172 -78
- package/dist/time/elapsed-time/types.d.ts +336 -0
- package/dist/time/elapsed-time/types.d.ts.map +1 -0
- package/dist/time/elapsed-time/types.js +1 -0
- package/{build → dist}/time/elapsed-time/utils.d.ts +1 -1
- package/dist/time/elapsed-time/utils.d.ts.map +1 -0
- package/{build → dist}/time/elapsed-time/utils.js +0 -1
- package/{build → dist}/time/index.d.ts +0 -2
- package/{build → dist}/time/index.d.ts.map +1 -1
- package/{build → dist}/time/index.js +0 -2
- package/{build → dist}/time/stopwatch/entry.d.ts +1 -1
- package/dist/time/stopwatch/entry.d.ts.map +1 -0
- package/{build → dist}/time/stopwatch/entry.js +0 -1
- package/{build → dist}/time/stopwatch/stopwatch.d.ts +9 -3
- package/dist/time/stopwatch/stopwatch.d.ts.map +1 -0
- package/{build → dist}/time/stopwatch/stopwatch.js +9 -4
- package/package.json +58 -81
- package/LICENSE +0 -21
- package/build/array/array-chunk.js.map +0 -1
- package/build/array/array-compact.js.map +0 -1
- package/build/array/array-contains.js.map +0 -1
- package/build/array/array-count-by.d.ts.map +0 -1
- package/build/array/array-count-by.js.map +0 -1
- package/build/array/array-difference.d.ts +0 -25
- package/build/array/array-difference.d.ts.map +0 -1
- package/build/array/array-difference.js +0 -34
- package/build/array/array-difference.js.map +0 -1
- package/build/array/array-element.js +0 -2
- package/build/array/array-element.js.map +0 -1
- package/build/array/array-filter.js.map +0 -1
- package/build/array/array-flatten.js.map +0 -1
- package/build/array/array-group-by.d.ts.map +0 -1
- package/build/array/array-group-by.js.map +0 -1
- package/build/array/array-intersection.d.ts +0 -25
- package/build/array/array-intersection.d.ts.map +0 -1
- package/build/array/array-intersection.js +0 -39
- package/build/array/array-intersection.js.map +0 -1
- package/build/array/array-partition.js.map +0 -1
- package/build/array/array-range.js.map +0 -1
- package/build/array/array-sample.d.ts.map +0 -1
- package/build/array/array-sample.js.map +0 -1
- package/build/array/array-shuffle.js.map +0 -1
- package/build/array/array-sort-by.js.map +0 -1
- package/build/array/array-zip.js.map +0 -1
- package/build/array/assert.d.ts.map +0 -1
- package/build/array/assert.js.map +0 -1
- package/build/array/index.js.map +0 -1
- package/build/array/types.d.ts.map +0 -1
- package/build/array/types.js +0 -2
- package/build/array/types.js.map +0 -1
- package/build/array/unique.js.map +0 -1
- package/build/asserts/errors.d.ts.map +0 -1
- package/build/asserts/errors.js.map +0 -1
- package/build/asserts/generic.d.ts.map +0 -1
- package/build/asserts/generic.js.map +0 -1
- package/build/asserts/index.d.ts +0 -41
- package/build/asserts/index.d.ts.map +0 -1
- package/build/asserts/index.js +0 -41
- package/build/asserts/index.js.map +0 -1
- package/build/asserts/internal-utils.js.map +0 -1
- package/build/asserts/types.d.ts.map +0 -1
- package/build/asserts/types.js +0 -2
- package/build/asserts/types.js.map +0 -1
- package/build/asserts/utils.d.ts.map +0 -1
- package/build/asserts/utils.js.map +0 -1
- package/build/boolean/assert.js.map +0 -1
- package/build/boolean/index.d.ts +0 -9
- package/build/boolean/index.d.ts.map +0 -1
- package/build/boolean/index.js +0 -9
- package/build/boolean/index.js.map +0 -1
- package/build/enum/enum-entries.d.ts.map +0 -1
- package/build/enum/enum-entries.js.map +0 -1
- package/build/enum/enum-key-by-value.d.ts.map +0 -1
- package/build/enum/enum-key-by-value.js.map +0 -1
- package/build/enum/enum-keys.js.map +0 -1
- package/build/enum/enum-safe-value.d.ts.map +0 -1
- package/build/enum/enum-safe-value.js.map +0 -1
- package/build/enum/enum-values.js.map +0 -1
- package/build/enum/index.d.ts.map +0 -1
- package/build/enum/index.js.map +0 -1
- package/build/enum/types.js +0 -2
- package/build/enum/types.js.map +0 -1
- package/build/enum/validate-enum-value.d.ts.map +0 -1
- package/build/enum/validate-enum-value.js.map +0 -1
- package/build/function/compose.d.ts.map +0 -1
- package/build/function/compose.js.map +0 -1
- package/build/function/debounce.d.ts.map +0 -1
- package/build/function/debounce.js.map +0 -1
- package/build/function/index.js.map +0 -1
- package/build/function/memoize.d.ts +0 -30
- package/build/function/memoize.d.ts.map +0 -1
- package/build/function/memoize.js +0 -44
- package/build/function/memoize.js.map +0 -1
- package/build/function/once.js.map +0 -1
- package/build/function/sleep.js.map +0 -1
- package/build/function/throttle.d.ts +0 -17
- package/build/function/throttle.d.ts.map +0 -1
- package/build/function/throttle.js.map +0 -1
- package/build/function/types.d.ts +0 -5
- package/build/function/types.d.ts.map +0 -1
- package/build/function/types.js +0 -2
- package/build/function/types.js.map +0 -1
- package/build/index.d.ts +0 -38
- package/build/index.d.ts.map +0 -1
- package/build/index.js +0 -64
- package/build/index.js.map +0 -1
- package/build/lru-cache.d.ts.map +0 -1
- package/build/lru-cache.js.map +0 -1
- package/build/number/assert.js.map +0 -1
- package/build/number/index.d.ts +0 -9
- package/build/number/index.d.ts.map +0 -1
- package/build/number/index.js +0 -9
- package/build/number/index.js.map +0 -1
- package/build/object/assert-object.js.map +0 -1
- package/build/object/assert.d.ts.map +0 -1
- package/build/object/assert.js.map +0 -1
- package/build/object/clone.js.map +0 -1
- package/build/object/equals.js.map +0 -1
- package/build/object/filter-cached.d.ts +0 -21
- package/build/object/filter-cached.js.map +0 -1
- package/build/object/filter.js.map +0 -1
- package/build/object/has-circular-reference.js.map +0 -1
- package/build/object/hash.d.ts.map +0 -1
- package/build/object/hash.js.map +0 -1
- package/build/object/index.js.map +0 -1
- package/build/object/json-circular-replacer.js.map +0 -1
- package/build/object/key-value-pairs.js.map +0 -1
- package/build/object/map-cached.d.ts +0 -20
- package/build/object/map-cached.d.ts.map +0 -1
- package/build/object/map-cached.js.map +0 -1
- package/build/object/map.js.map +0 -1
- package/build/object/merge.js.map +0 -1
- package/build/object/object-diff.js.map +0 -1
- package/build/object/object-flatten.js.map +0 -1
- package/build/object/object-invert.js.map +0 -1
- package/build/object/omit.js.map +0 -1
- package/build/object/pick.js.map +0 -1
- package/build/object/property-paths.js.map +0 -1
- package/build/object/security-utils.d.ts +0 -59
- package/build/object/security-utils.d.ts.map +0 -1
- package/build/object/security-utils.js +0 -161
- package/build/object/security-utils.js.map +0 -1
- package/build/object/sort-keys.js.map +0 -1
- package/build/object/types.d.ts.map +0 -1
- package/build/object/types.js +0 -6
- package/build/object/types.js.map +0 -1
- package/build/string/assert.d.ts.map +0 -1
- package/build/string/assert.js.map +0 -1
- package/build/string/case-conversion.d.ts +0 -50
- package/build/string/case-conversion.d.ts.map +0 -1
- package/build/string/case-conversion.js.map +0 -1
- package/build/string/formatting.d.ts.map +0 -1
- package/build/string/formatting.js.map +0 -1
- package/build/string/index.js.map +0 -1
- package/build/string/transformation.d.ts +0 -18
- package/build/string/transformation.d.ts.map +0 -1
- package/build/string/transformation.js +0 -32
- package/build/string/transformation.js.map +0 -1
- package/build/string/types.d.ts +0 -44
- package/build/string/types.d.ts.map +0 -1
- package/build/string/types.js +0 -2
- package/build/string/types.js.map +0 -1
- package/build/string/validation.d.ts +0 -18
- package/build/string/validation.d.ts.map +0 -1
- package/build/string/validation.js +0 -26
- package/build/string/validation.js.map +0 -1
- package/build/time/elapsed-time/constants.d.ts +0 -10
- package/build/time/elapsed-time/constants.js.map +0 -1
- package/build/time/elapsed-time/elapsed-time.d.ts.map +0 -1
- package/build/time/elapsed-time/elapsed-time.js.map +0 -1
- package/build/time/elapsed-time/types.d.ts +0 -150
- package/build/time/elapsed-time/types.d.ts.map +0 -1
- package/build/time/elapsed-time/types.js +0 -2
- package/build/time/elapsed-time/types.js.map +0 -1
- package/build/time/elapsed-time/utils.d.ts.map +0 -1
- package/build/time/elapsed-time/utils.js.map +0 -1
- package/build/time/index.js.map +0 -1
- package/build/time/stopwatch/entry-types.d.ts +0 -13
- package/build/time/stopwatch/entry-types.d.ts.map +0 -1
- package/build/time/stopwatch/entry-types.js +0 -2
- package/build/time/stopwatch/entry-types.js.map +0 -1
- package/build/time/stopwatch/entry.d.ts.map +0 -1
- package/build/time/stopwatch/entry.js.map +0 -1
- package/build/time/stopwatch/stopwatch.d.ts.map +0 -1
- package/build/time/stopwatch/stopwatch.js.map +0 -1
- /package/{build → dist}/array/array-chunk.d.ts.map +0 -0
- /package/{build → dist}/array/array-compact.d.ts.map +0 -0
- /package/{build → dist}/array/array-element.d.ts +0 -0
- /package/{build → dist}/array/array-element.d.ts.map +0 -0
- /package/{build → dist}/array/array-range.d.ts.map +0 -0
- /package/{build → dist}/array/array-shuffle.d.ts.map +0 -0
- /package/{build → dist}/array/array-sort-by.d.ts.map +0 -0
- /package/{build → dist}/array/array-zip.d.ts.map +0 -0
- /package/{build → dist}/array/index.d.ts +0 -0
- /package/{build → dist}/array/index.d.ts.map +0 -0
- /package/{build → dist}/asserts/errors.d.ts +0 -0
- /package/{build → dist}/asserts/internal-utils.d.ts +0 -0
- /package/{build → dist}/enum/enum-keys.d.ts +0 -0
- /package/{build → dist}/enum/enum-keys.d.ts.map +0 -0
- /package/{build → dist}/enum/enum-values.d.ts +0 -0
- /package/{build → dist}/enum/enum-values.d.ts.map +0 -0
- /package/{build → dist}/enum/types.d.ts +0 -0
- /package/{build → dist}/enum/types.d.ts.map +0 -0
- /package/{build → dist}/function/index.d.ts +0 -0
- /package/{build → dist}/function/index.d.ts.map +0 -0
- /package/{build → dist}/function/sleep.d.ts +0 -0
- /package/{build → dist}/function/sleep.d.ts.map +0 -0
- /package/{build → dist}/number/assert.d.ts +0 -0
- /package/{build → dist}/object/clone.d.ts +0 -0
- /package/{build → dist}/object/has-circular-reference.d.ts +0 -0
- /package/{build → dist}/object/json-circular-replacer.d.ts +0 -0
- /package/{build → dist}/object/key-value-pairs.d.ts +0 -0
- /package/{build → dist}/object/key-value-pairs.d.ts.map +0 -0
- /package/{build → dist}/object/map.d.ts +0 -0
- /package/{build → dist}/object/map.d.ts.map +0 -0
- /package/{build → dist}/object/merge.d.ts +0 -0
- /package/{build → dist}/object/object-invert.d.ts +0 -0
- /package/{build → dist}/object/object-invert.d.ts.map +0 -0
- /package/{build → dist}/object/omit.d.ts +0 -0
- /package/{build → dist}/object/omit.d.ts.map +0 -0
- /package/{build → dist}/object/pick.d.ts +0 -0
- /package/{build → dist}/object/pick.d.ts.map +0 -0
|
@@ -1,23 +1,14 @@
|
|
|
1
1
|
export function ArraySample(array, n, random) {
|
|
2
|
-
|
|
3
|
-
let sampleCount;
|
|
4
|
-
let rng = random ?? Math.random;
|
|
5
|
-
if (typeof n === 'function') {
|
|
6
|
-
rng = n;
|
|
7
|
-
sampleCount = undefined;
|
|
8
|
-
}
|
|
9
|
-
else {
|
|
10
|
-
sampleCount = n;
|
|
11
|
-
}
|
|
2
|
+
const rng = random ?? Math.random;
|
|
12
3
|
if (!array || array.length === 0) {
|
|
13
|
-
return
|
|
4
|
+
return n !== undefined ? [] : undefined;
|
|
14
5
|
}
|
|
15
|
-
if (
|
|
6
|
+
if (n === undefined) {
|
|
16
7
|
return array[Math.floor(rng() * array.length)];
|
|
17
8
|
}
|
|
18
9
|
// Fisher-Yates partial shuffle for O(n) sampling
|
|
19
10
|
const copy = [...array];
|
|
20
|
-
const count = Math.min(
|
|
11
|
+
const count = Math.min(n, copy.length);
|
|
21
12
|
for (let i = 0; i < count; i++) {
|
|
22
13
|
const j = i + Math.floor(rng() * (copy.length - i));
|
|
23
14
|
const tmp = copy[j];
|
|
@@ -26,4 +17,3 @@ export function ArraySample(array, n, random) {
|
|
|
26
17
|
}
|
|
27
18
|
return copy.slice(0, count);
|
|
28
19
|
}
|
|
29
|
-
//# sourceMappingURL=array-sample.js.map
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* @template T - The type of array elements
|
|
5
5
|
* @param array - The array to shuffle
|
|
6
6
|
* @param random - Optional custom RNG function (returns number between 0 and 1). Defaults to `Math.random`.
|
|
7
|
-
* @returns A new shuffled array (original is not mutated)
|
|
7
|
+
* @returns A new shuffled array (original is not mutated). Returns `[]` if `array` is `null` or `undefined`.
|
|
8
8
|
*
|
|
9
9
|
* @remarks Uses `Math.random()` by default — not cryptographically secure. Do not use for
|
|
10
10
|
* security-sensitive operations.
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* @template T - The type of array elements
|
|
5
5
|
* @param array - The array to shuffle
|
|
6
6
|
* @param random - Optional custom RNG function (returns number between 0 and 1). Defaults to `Math.random`.
|
|
7
|
-
* @returns A new shuffled array (original is not mutated)
|
|
7
|
+
* @returns A new shuffled array (original is not mutated). Returns `[]` if `array` is `null` or `undefined`.
|
|
8
8
|
*
|
|
9
9
|
* @remarks Uses `Math.random()` by default — not cryptographically secure. Do not use for
|
|
10
10
|
* security-sensitive operations.
|
|
@@ -28,4 +28,3 @@ export function ArrayShuffle(array, random) {
|
|
|
28
28
|
}
|
|
29
29
|
return result;
|
|
30
30
|
}
|
|
31
|
-
//# sourceMappingURL=array-shuffle.js.map
|
|
@@ -6,7 +6,7 @@ import type { TTransform } from './types.js';
|
|
|
6
6
|
* @param array - The array to sort
|
|
7
7
|
* @param keyFn - Function that extracts the sort key from each element
|
|
8
8
|
* @param direction - Sort direction: `'asc'` (default) or `'desc'`
|
|
9
|
-
* @returns A sorted copy of the array
|
|
9
|
+
* @returns A sorted copy of the array. Returns `[]` if `array` is `null` or `undefined`.
|
|
10
10
|
*
|
|
11
11
|
* @example
|
|
12
12
|
* ```typescript
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* @param array - The array to sort
|
|
6
6
|
* @param keyFn - Function that extracts the sort key from each element
|
|
7
7
|
* @param direction - Sort direction: `'asc'` (default) or `'desc'`
|
|
8
|
-
* @returns A sorted copy of the array
|
|
8
|
+
* @returns A sorted copy of the array. Returns `[]` if `array` is `null` or `undefined`.
|
|
9
9
|
*
|
|
10
10
|
* @example
|
|
11
11
|
* ```typescript
|
|
@@ -28,4 +28,3 @@ export function ArraySortBy(array, keyFn, direction = 'asc') {
|
|
|
28
28
|
return 0;
|
|
29
29
|
});
|
|
30
30
|
}
|
|
31
|
-
//# sourceMappingURL=array-sort-by.js.map
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* The result length is capped at the shortest input array.
|
|
4
4
|
*
|
|
5
5
|
* @param arrays - Two or more arrays to zip
|
|
6
|
-
* @returns Array of tuples — one tuple per index position
|
|
6
|
+
* @returns Array of tuples — one tuple per index position. Returns `[]` if `arrays` is empty or if any input array is `null` or `undefined`.
|
|
7
7
|
*
|
|
8
8
|
* @example
|
|
9
9
|
* ```typescript
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* The result length is capped at the shortest input array.
|
|
4
4
|
*
|
|
5
5
|
* @param arrays - Two or more arrays to zip
|
|
6
|
-
* @returns Array of tuples — one tuple per index position
|
|
6
|
+
* @returns Array of tuples — one tuple per index position. Returns `[]` if `arrays` is empty or if any input array is `null` or `undefined`.
|
|
7
7
|
*
|
|
8
8
|
* @example
|
|
9
9
|
* ```typescript
|
|
@@ -22,4 +22,3 @@ export function ArrayZip(...arrays) {
|
|
|
22
22
|
const minLen = Math.min(...arrays.map((a) => a.length));
|
|
23
23
|
return Array.from({ length: minLen }, (_, i) => arrays.map((a) => a[i]));
|
|
24
24
|
}
|
|
25
|
-
//# sourceMappingURL=array-zip.js.map
|
|
@@ -15,10 +15,6 @@ export interface IAssertArrayArgs {
|
|
|
15
15
|
/** Maximum number of elements the array must contain (inclusive) */
|
|
16
16
|
maxSize?: number;
|
|
17
17
|
}
|
|
18
|
-
/**
|
|
19
|
-
* Alias for {@link IAssertArrayArgs}. Kept for backwards compatibility.
|
|
20
|
-
*/
|
|
21
|
-
export type TSizeConstraint = IAssertArrayArgs;
|
|
22
18
|
/**
|
|
23
19
|
* Type alias for 2D dimension constraint properties.
|
|
24
20
|
* Represents constraints that can be applied to matrix dimensions.
|
|
@@ -63,45 +59,53 @@ export interface IAssertArray2DArgs {
|
|
|
63
59
|
}
|
|
64
60
|
/**
|
|
65
61
|
* Asserts that a value is an array, optionally validating its size.
|
|
66
|
-
* @template T The type of array elements.
|
|
67
|
-
* @param value The value to validate.
|
|
68
|
-
* @param args Optional size constraints.
|
|
69
|
-
* @param exception Optional custom exception to throw.
|
|
62
|
+
* @template T - The type of array elements.
|
|
63
|
+
* @param value - The value to validate.
|
|
64
|
+
* @param args - Optional size constraints.
|
|
65
|
+
* @param exception - Optional custom exception to throw.
|
|
70
66
|
* @throws {ArrayError} If the value is not an array or fails size validation.
|
|
71
67
|
*/
|
|
72
68
|
export declare function AssertArray<T = unknown>(value: unknown, args?: IAssertArrayArgs, exception?: IAssertException): asserts value is T[];
|
|
73
69
|
/**
|
|
74
70
|
* Asserts that a value is a 2D array, optionally validating its dimensions.
|
|
75
|
-
* @template T The type of array elements.
|
|
76
|
-
* @param value The value to validate.
|
|
77
|
-
* @param args Optional dimension constraints.
|
|
78
|
-
* @param exception Optional custom exception to throw.
|
|
71
|
+
* @template T - The type of array elements.
|
|
72
|
+
* @param value - The value to validate.
|
|
73
|
+
* @param args - Optional dimension constraints.
|
|
74
|
+
* @param exception - Optional custom exception to throw.
|
|
79
75
|
* @throws {ArrayError} If the value is not a 2D array or fails dimension validation.
|
|
80
76
|
*/
|
|
81
77
|
export declare function AssertArray2D<T = unknown>(value: unknown, args?: IAssertArray2DArgs, exception?: IAssertException): asserts value is T[][];
|
|
82
78
|
/**
|
|
83
79
|
* Asserts that an array is not empty.
|
|
84
|
-
* @template T The type of array elements.
|
|
85
|
-
* @param value The array to validate.
|
|
86
|
-
* @param exception Optional custom exception to throw.
|
|
80
|
+
* @template T - The type of array elements.
|
|
81
|
+
* @param value - The array to validate.
|
|
82
|
+
* @param exception - Optional custom exception to throw.
|
|
87
83
|
* @throws {ArrayError} If the array is empty.
|
|
88
84
|
*/
|
|
89
85
|
export declare function AssertArrayNotEmpty<T>(value: T[] | unknown, exception?: IAssertException): asserts value is T[];
|
|
90
86
|
/**
|
|
91
87
|
* Asserts that all elements in an array satisfy a predicate.
|
|
92
|
-
*
|
|
93
|
-
*
|
|
94
|
-
*
|
|
95
|
-
*
|
|
88
|
+
*
|
|
89
|
+
* Uses `array.every()` to check if all elements satisfy the predicate condition.
|
|
90
|
+
* Throws an error if any element fails the test.
|
|
91
|
+
*
|
|
92
|
+
* @template T - The type of array elements.
|
|
93
|
+
* @param array - The array to validate.
|
|
94
|
+
* @param predicate - A function to test each element.
|
|
95
|
+
* @param exception - Optional custom exception to throw.
|
|
96
96
|
* @throws {ArrayError} If any element fails the predicate test.
|
|
97
97
|
*/
|
|
98
98
|
export declare function AssertArrayAll<T>(array: T[], predicate: (el: T, idx: number, arr: T[]) => boolean, exception?: IAssertException): void;
|
|
99
99
|
/**
|
|
100
100
|
* Asserts that at least one element in an array satisfies a predicate.
|
|
101
|
-
*
|
|
102
|
-
*
|
|
103
|
-
*
|
|
104
|
-
*
|
|
101
|
+
*
|
|
102
|
+
* Uses `array.some()` to check if any element satisfies the predicate condition.
|
|
103
|
+
* Throws an error if no elements pass the test.
|
|
104
|
+
*
|
|
105
|
+
* @template T - The type of array elements.
|
|
106
|
+
* @param array - The array to validate.
|
|
107
|
+
* @param predicate - A function to test each element.
|
|
108
|
+
* @param exception - Optional custom exception to throw.
|
|
105
109
|
* @throws {ArrayError} If no elements pass the predicate test.
|
|
106
110
|
*/
|
|
107
111
|
export declare function AssertArrayAny<T>(array: T[], predicate: (el: T, idx: number, arr: T[]) => boolean, exception?: IAssertException): void;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assert.d.ts","sourceRoot":"","sources":["../../src/array/assert.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAE5D,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD;;;;;;GAMG;AACH,MAAM,WAAW,gBAAgB;IAChC,sDAAsD;IACtD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,oEAAoE;IACpE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oEAAoE;IACpE,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;GAGG;AACH,MAAM,MAAM,oBAAoB,GAAG;IAClC,kCAAkC;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gDAAgD;IAChD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,gDAAgD;IAChD,GAAG,CAAC,EAAE,MAAM,CAAC;CACb,CAAC;AAEF;;;;;GAKG;AACH,qBAAa,UAAW,SAAQ,WAAW;gBAC9B,OAAO,CAAC,EAAE,MAAM;CAG5B;AAED;;;;;;GAMG;AACH,MAAM,WAAW,kBAAkB;IAClC,kDAAkD;IAClD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,iDAAiD;IACjD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gEAAgE;IAChE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,+DAA+D;IAC/D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gEAAgE;IAChE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,+DAA+D;IAC/D,UAAU,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,CAAC,GAAG,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,gBAAgB,EAAE,SAAS,GAAE,gBAAqB,GAAG,OAAO,CAAC,KAAK,IAAI,CAAC,EAAE,CA2BxI;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,CAAC,GAAG,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,GAAE,kBAAuB,EAAE,SAAS,GAAE,gBAAqB,GAAG,OAAO,CAAC,KAAK,IAAI,CAAC,EAAE,EAAE,CAqElJ;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,OAAO,EAAE,SAAS,GAAE,gBAAqB,GAAG,OAAO,CAAC,KAAK,IAAI,CAAC,EAAE,CAYnH;AAWD;;;;;;;;;;;GAWG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,OAAO,EAAE,SAAS,GAAE,gBAAqB,GAAG,IAAI,CAO1I;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,OAAO,EAAE,SAAS,GAAE,gBAAqB,GAAG,IAAI,CAO1I"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { SetExceptionClass, SetExceptionMessage, ThrowException } from '../asserts/utils.js';
|
|
1
|
+
import { SetExceptionClass, SetExceptionMessage, ThrowException, AssertValueType } from '../asserts/utils.js';
|
|
2
2
|
import { SimpleError } from '../asserts/errors.js';
|
|
3
3
|
/**
|
|
4
4
|
* Error thrown when a value is not a valid array or fails an array assertion.
|
|
@@ -13,20 +13,17 @@ export class ArrayError extends SimpleError {
|
|
|
13
13
|
}
|
|
14
14
|
/**
|
|
15
15
|
* Asserts that a value is an array, optionally validating its size.
|
|
16
|
-
* @template T The type of array elements.
|
|
17
|
-
* @param value The value to validate.
|
|
18
|
-
* @param args Optional size constraints.
|
|
19
|
-
* @param exception Optional custom exception to throw.
|
|
16
|
+
* @template T - The type of array elements.
|
|
17
|
+
* @param value - The value to validate.
|
|
18
|
+
* @param args - Optional size constraints.
|
|
19
|
+
* @param exception - Optional custom exception to throw.
|
|
20
20
|
* @throws {ArrayError} If the value is not an array or fails size validation.
|
|
21
21
|
*/
|
|
22
22
|
export function AssertArray(value, args, exception = {}) {
|
|
23
23
|
// Initialize exception configuration with defaults
|
|
24
24
|
SetExceptionClass(exception, ArrayError);
|
|
25
25
|
// Validate that the value is an array
|
|
26
|
-
|
|
27
|
-
SetExceptionMessage(exception, `Expected array but received ${typeof value}: ${String(value)}`);
|
|
28
|
-
ThrowException(exception);
|
|
29
|
-
}
|
|
26
|
+
AssertValueType(value, 'array', exception);
|
|
30
27
|
// Type cast is safe after array validation
|
|
31
28
|
const array = value;
|
|
32
29
|
// Validate exact size constraint if specified
|
|
@@ -47,30 +44,27 @@ export function AssertArray(value, args, exception = {}) {
|
|
|
47
44
|
}
|
|
48
45
|
/**
|
|
49
46
|
* Asserts that a value is a 2D array, optionally validating its dimensions.
|
|
50
|
-
* @template T The type of array elements.
|
|
51
|
-
* @param value The value to validate.
|
|
52
|
-
* @param args Optional dimension constraints.
|
|
53
|
-
* @param exception Optional custom exception to throw.
|
|
47
|
+
* @template T - The type of array elements.
|
|
48
|
+
* @param value - The value to validate.
|
|
49
|
+
* @param args - Optional dimension constraints.
|
|
50
|
+
* @param exception - Optional custom exception to throw.
|
|
54
51
|
* @throws {ArrayError} If the value is not a 2D array or fails dimension validation.
|
|
55
52
|
*/
|
|
56
53
|
export function AssertArray2D(value, args = {}, exception = {}) {
|
|
57
54
|
// Initialize exception configuration with defaults
|
|
58
55
|
SetExceptionClass(exception, ArrayError);
|
|
59
56
|
// Validate that the value is an array
|
|
60
|
-
|
|
61
|
-
SetExceptionMessage(exception, `Expected array but received ${typeof value}: ${String(value)}`);
|
|
62
|
-
ThrowException(exception);
|
|
63
|
-
}
|
|
57
|
+
AssertValueType(value, 'array', exception);
|
|
64
58
|
// Type cast is safe after array validation
|
|
65
59
|
const array = value;
|
|
66
|
-
// Validate that all elements are arrays (making it 2D)
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
60
|
+
// Validate that all elements are arrays (making it 2D) with single-pass collection of invalid positions
|
|
61
|
+
const invalidPositions = [];
|
|
62
|
+
for (let i = 0; i < array.length; i++) {
|
|
63
|
+
if (!Array.isArray(array[i])) {
|
|
64
|
+
invalidPositions.push(i);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
if (invalidPositions.length > 0) {
|
|
74
68
|
SetExceptionMessage(exception, `Expected 2D array but found non-array elements at positions: ${invalidPositions.join(', ')}`);
|
|
75
69
|
ThrowException(exception);
|
|
76
70
|
}
|
|
@@ -117,9 +111,9 @@ export function AssertArray2D(value, args = {}, exception = {}) {
|
|
|
117
111
|
}
|
|
118
112
|
/**
|
|
119
113
|
* Asserts that an array is not empty.
|
|
120
|
-
* @template T The type of array elements.
|
|
121
|
-
* @param value The array to validate.
|
|
122
|
-
* @param exception Optional custom exception to throw.
|
|
114
|
+
* @template T - The type of array elements.
|
|
115
|
+
* @param value - The array to validate.
|
|
116
|
+
* @param exception - Optional custom exception to throw.
|
|
123
117
|
* @throws {ArrayError} If the array is empty.
|
|
124
118
|
*/
|
|
125
119
|
export function AssertArrayNotEmpty(value, exception = {}) {
|
|
@@ -143,13 +137,18 @@ function assertIsArray(array, exception) {
|
|
|
143
137
|
}
|
|
144
138
|
/**
|
|
145
139
|
* Asserts that all elements in an array satisfy a predicate.
|
|
146
|
-
*
|
|
147
|
-
*
|
|
148
|
-
*
|
|
149
|
-
*
|
|
140
|
+
*
|
|
141
|
+
* Uses `array.every()` to check if all elements satisfy the predicate condition.
|
|
142
|
+
* Throws an error if any element fails the test.
|
|
143
|
+
*
|
|
144
|
+
* @template T - The type of array elements.
|
|
145
|
+
* @param array - The array to validate.
|
|
146
|
+
* @param predicate - A function to test each element.
|
|
147
|
+
* @param exception - Optional custom exception to throw.
|
|
150
148
|
* @throws {ArrayError} If any element fails the predicate test.
|
|
151
149
|
*/
|
|
152
150
|
export function AssertArrayAll(array, predicate, exception = {}) {
|
|
151
|
+
// Predicate functions use array.some() / array.every() for consistency
|
|
153
152
|
assertIsArray(array, exception);
|
|
154
153
|
if (!array.every(predicate)) {
|
|
155
154
|
SetExceptionMessage(exception, 'Not all elements satisfy the predicate condition');
|
|
@@ -158,17 +157,21 @@ export function AssertArrayAll(array, predicate, exception = {}) {
|
|
|
158
157
|
}
|
|
159
158
|
/**
|
|
160
159
|
* Asserts that at least one element in an array satisfies a predicate.
|
|
161
|
-
*
|
|
162
|
-
*
|
|
163
|
-
*
|
|
164
|
-
*
|
|
160
|
+
*
|
|
161
|
+
* Uses `array.some()` to check if any element satisfies the predicate condition.
|
|
162
|
+
* Throws an error if no elements pass the test.
|
|
163
|
+
*
|
|
164
|
+
* @template T - The type of array elements.
|
|
165
|
+
* @param array - The array to validate.
|
|
166
|
+
* @param predicate - A function to test each element.
|
|
167
|
+
* @param exception - Optional custom exception to throw.
|
|
165
168
|
* @throws {ArrayError} If no elements pass the predicate test.
|
|
166
169
|
*/
|
|
167
170
|
export function AssertArrayAny(array, predicate, exception = {}) {
|
|
171
|
+
// Predicate functions use array.some() / array.every() for consistency
|
|
168
172
|
assertIsArray(array, exception);
|
|
169
173
|
if (!array.some(predicate)) {
|
|
170
174
|
SetExceptionMessage(exception, 'No elements satisfy the predicate condition');
|
|
171
175
|
ThrowException(exception);
|
|
172
176
|
}
|
|
173
177
|
}
|
|
174
|
-
//# sourceMappingURL=assert.js.map
|
|
@@ -29,4 +29,33 @@ export type TComparator<T> = (a: T, b: T) => number;
|
|
|
29
29
|
* @returns true if values are equal, false otherwise
|
|
30
30
|
*/
|
|
31
31
|
export type TEqualityComparator<T> = (a: T, b: T) => boolean;
|
|
32
|
+
/**
|
|
33
|
+
* Options for comparing array elements.
|
|
34
|
+
* Supports both custom comparator functions and deep equality checking.
|
|
35
|
+
*
|
|
36
|
+
* @template T - The type of array elements
|
|
37
|
+
*/
|
|
38
|
+
/**
|
|
39
|
+
* Comparison options for array operations.
|
|
40
|
+
*
|
|
41
|
+
* Provides a discriminated union where callers must choose exactly one strategy:
|
|
42
|
+
* - `comparator`: Custom equality function for specialized comparison logic
|
|
43
|
+
* - `useDeepEqual`: Deep structural equality checking
|
|
44
|
+
* - `keyFn`: Function to extract a primitive key for O(n+m) Set-based lookup
|
|
45
|
+
*
|
|
46
|
+
* Mutually exclusive at compile time via `never` literals.
|
|
47
|
+
*/
|
|
48
|
+
export type TArrayComparisonOptions<T> = {
|
|
49
|
+
comparator: TEqualityComparator<T>;
|
|
50
|
+
useDeepEqual?: never;
|
|
51
|
+
keyFn?: never;
|
|
52
|
+
} | {
|
|
53
|
+
useDeepEqual: true;
|
|
54
|
+
comparator?: never;
|
|
55
|
+
keyFn?: never;
|
|
56
|
+
} | {
|
|
57
|
+
keyFn: (item: T) => unknown;
|
|
58
|
+
comparator?: never;
|
|
59
|
+
useDeepEqual?: never;
|
|
60
|
+
};
|
|
32
61
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/array/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,OAAO,CAAC;AAElD;;;;;;GAMG;AACH,MAAM,MAAM,UAAU,CAAC,MAAM,EAAE,OAAO,IAAI,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;AAErE;;;;;;GAMG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,MAAM,CAAC;AAEpD;;;;;;GAMG;AACH,MAAM,MAAM,mBAAmB,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,OAAO,CAAC;AAE7D;;;;;GAKG;AACH;;;;;;;;;GASG;AACH,MAAM,MAAM,uBAAuB,CAAC,CAAC,IAClC;IAAE,UAAU,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAC;IAAC,YAAY,CAAC,EAAE,KAAK,CAAC;IAAC,KAAK,CAAC,EAAE,KAAK,CAAA;CAAE,GAC3E;IAAE,YAAY,EAAE,IAAI,CAAC;IAAC,UAAU,CAAC,EAAE,KAAK,CAAC;IAAC,KAAK,CAAC,EAAE,KAAK,CAAA;CAAE,GACzD;IAAE,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC;IAAC,UAAU,CAAC,EAAE,KAAK,CAAC;IAAC,YAAY,CAAC,EAAE,KAAK,CAAA;CAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Returns a new array with duplicate values removed.
|
|
3
3
|
*
|
|
4
|
+
* Returns empty array if input is null, undefined, or empty.
|
|
5
|
+
*
|
|
4
6
|
* @template T - The type of array elements
|
|
5
7
|
* @param array - The input array
|
|
6
|
-
* @returns A new array containing only unique values (preserves first occurrence order)
|
|
8
|
+
* @returns A new array containing only unique values (preserves first occurrence order). Returns `[]` if `array` is `null`, `undefined`, or empty.
|
|
7
9
|
*
|
|
8
10
|
* @remarks Uses reference equality for objects. Two distinct objects with
|
|
9
11
|
* identical property values are **not** considered equal and will both be kept.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unique.d.ts","sourceRoot":"","sources":["../../src/array/unique.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"unique.d.ts","sourceRoot":"","sources":["../../src/array/unique.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,EAAE,GAAG,CAAC,EAAE,CAOlD"}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Returns a new array with duplicate values removed.
|
|
3
3
|
*
|
|
4
|
+
* Returns empty array if input is null, undefined, or empty.
|
|
5
|
+
*
|
|
4
6
|
* @template T - The type of array elements
|
|
5
7
|
* @param array - The input array
|
|
6
|
-
* @returns A new array containing only unique values (preserves first occurrence order)
|
|
8
|
+
* @returns A new array containing only unique values (preserves first occurrence order). Returns `[]` if `array` is `null`, `undefined`, or empty.
|
|
7
9
|
*
|
|
8
10
|
* @remarks Uses reference equality for objects. Two distinct objects with
|
|
9
11
|
* identical property values are **not** considered equal and will both be kept.
|
|
@@ -15,9 +17,9 @@
|
|
|
15
17
|
* ```
|
|
16
18
|
*/
|
|
17
19
|
export function Unique(array) {
|
|
18
|
-
|
|
20
|
+
// Consistent null-check: early return for null/undefined/empty arrays
|
|
21
|
+
if (!array || array.length === 0) {
|
|
19
22
|
return [];
|
|
20
23
|
}
|
|
21
24
|
return [...new Set(array)];
|
|
22
25
|
}
|
|
23
|
-
//# sourceMappingURL=unique.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/asserts/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,qBAAa,WAAY,SAAQ,KAAK;gBACzB,OAAO,EAAE,MAAM;CAM3B;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,SAAU,SAAQ,KAAK;IACnC,SAAgB,IAAI,EAAE,MAAM,CAAC;IAE7B,SAAgB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;IAE7D;;;;OAIG;gBACS,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAkB5E;AAED;;;;;;;GAOG;AACH,qBAAa,eAAgB,SAAQ,SAAS;IAC7C;;;OAGG;gBACS,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAG9D;AAED;;;;;;;GAOG;AACH,qBAAa,cAAe,SAAQ,SAAS;IAC5C;;;OAGG;gBACS,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAG9D;AAED;;;;;;;;;;GAUG;AACH,qBAAa,oBAAqB,SAAQ,SAAS;IAClD;;;;OAIG;gBACS,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAGnF;AAED;;;;;;;;;GASG;AACH,qBAAa,iBAAkB,SAAQ,SAAS;IAC/C;;;OAGG;gBACS,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAGhE;AAED;;;;;;;;;GASG;AACH,qBAAa,aAAc,SAAQ,SAAS;IAC3C;;;OAGG;gBACS,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAG3D;AAED;;;;;;;;;;GAUG;AACH,qBAAa,mBAAoB,SAAQ,SAAS;IACjD;;;OAGG;gBACS,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAG9D"}
|
|
@@ -55,9 +55,12 @@ export class BaseError extends Error {
|
|
|
55
55
|
this.name = this.constructor.name;
|
|
56
56
|
this.Code = code;
|
|
57
57
|
this.Context = context;
|
|
58
|
-
|
|
59
|
-
|
|
58
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
59
|
+
const ErrorWithCapture = Error;
|
|
60
|
+
if (typeof ErrorWithCapture.captureStackTrace === 'function') {
|
|
61
|
+
ErrorWithCapture.captureStackTrace(this, this.constructor);
|
|
60
62
|
}
|
|
63
|
+
/* eslint-enable @typescript-eslint/no-explicit-any */
|
|
61
64
|
}
|
|
62
65
|
}
|
|
63
66
|
/**
|
|
@@ -173,4 +176,3 @@ export class BufferOverflowError extends BaseError {
|
|
|
173
176
|
super(`Buffer overflow: maximum size ${maxSize} exceeded`, 'BUFFER_OVERFLOW', context);
|
|
174
177
|
}
|
|
175
178
|
}
|
|
176
|
-
//# sourceMappingURL=errors.js.map
|
|
@@ -1,10 +1,39 @@
|
|
|
1
1
|
import type { IAssertException, TGuard, TValidationPredicate } from './types.js';
|
|
2
2
|
import { SimpleError } from './errors.js';
|
|
3
|
+
/**
|
|
4
|
+
* Serializes a value to a human-readable string, safe for any value type.
|
|
5
|
+
*
|
|
6
|
+
* Prevents sensitive data exposure in error messages by:
|
|
7
|
+
* - Masking object contents (shows type name only, not property values)
|
|
8
|
+
* - Truncating long strings with a clear indication
|
|
9
|
+
* - Handling non-serializable values gracefully
|
|
10
|
+
*
|
|
11
|
+
* @param value - The value to serialize for display
|
|
12
|
+
* @param maxLength - Maximum characters to display for primitives (default: 50, capped at 10,000)
|
|
13
|
+
* @returns A safe string representation (at most maxLength chars plus "[truncated]" suffix)
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* safeDisplay({ apiKey: 'secret123', username: 'john' }); // '[Object]'
|
|
17
|
+
* safeDisplay('x'.repeat(100)); // 'xxx....[truncated]'
|
|
18
|
+
* safeDisplay(circularRef); // '[non-serializable]'
|
|
19
|
+
*
|
|
20
|
+
* @internal Used internally by assertion functions to safely display values in error messages
|
|
21
|
+
*/
|
|
22
|
+
export declare function safeDisplay(value: unknown, maxLength?: number): string;
|
|
23
|
+
/**
|
|
24
|
+
* Gets the display type of a value including null and undefined.
|
|
25
|
+
* Used for error messages in null/undefined assertions and type checking.
|
|
26
|
+
*
|
|
27
|
+
* @param value - The value to get the type of
|
|
28
|
+
* @returns A string representation of the value's type ('null', 'undefined', 'array', 'object', or typeof)
|
|
29
|
+
* @internal Used internally by assertion functions for consistent type messages
|
|
30
|
+
*/
|
|
31
|
+
export declare function GetValueType(value: unknown): string;
|
|
3
32
|
/**
|
|
4
33
|
* Type alias for constructor functions.
|
|
5
34
|
* Represents any class constructor that can be instantiated.
|
|
6
35
|
*/
|
|
7
|
-
export type TConstructorFunction<T =
|
|
36
|
+
export type TConstructorFunction<T = unknown> = new (...args: any[]) => T;
|
|
8
37
|
/**
|
|
9
38
|
* Error thrown when a nullish assertion fails — the value is not null or undefined
|
|
10
39
|
* but was expected to be. Used by {@link AssertNull} when the provided value is a
|
|
@@ -394,7 +423,7 @@ export declare function AssertInstanceOf<T>(value: unknown, constructor: TConstr
|
|
|
394
423
|
* AssertFunction(123); // ✗ Throws FunctionError
|
|
395
424
|
* AssertFunction(null); // ✗ Throws FunctionError
|
|
396
425
|
*/
|
|
397
|
-
export declare function AssertFunction(value: unknown, exception?: IAssertException): asserts value is (...args:
|
|
426
|
+
export declare function AssertFunction(value: unknown, exception?: IAssertException): asserts value is (...args: unknown[]) => unknown;
|
|
398
427
|
/**
|
|
399
428
|
* Asserts that a value is a symbol.
|
|
400
429
|
*
|
|
@@ -431,5 +460,5 @@ export declare function AssertSymbol(value: unknown, exception?: IAssertExceptio
|
|
|
431
460
|
* AssertExtends(Derived, Base); // ✓ Valid
|
|
432
461
|
* AssertExtends(Base, Derived); // ✗ Throws ExtendsError
|
|
433
462
|
*/
|
|
434
|
-
export declare function AssertExtends(derived: abstract new (...args: any[]) =>
|
|
463
|
+
export declare function AssertExtends(derived: abstract new (...args: any[]) => unknown, base: abstract new (...args: any[]) => unknown, exception?: IAssertException): void;
|
|
435
464
|
//# sourceMappingURL=generic.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generic.d.ts","sourceRoot":"","sources":["../../src/asserts/generic.ts"],"names":[],"mappings":"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"}
|