@pawells/typescript-common 1.1.7 → 1.2.0
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 +32 -6
- package/build/array/array-chunk.js +1 -1
- package/build/array/array-chunk.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-count-by.d.ts +1 -1
- package/build/array/array-count-by.d.ts.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-filter.d.ts +1 -1
- package/build/array/array-filter.d.ts.map +1 -1
- package/build/array/array-filter.js +5 -0
- package/build/array/array-filter.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-intersection.d.ts +1 -1
- package/build/array/array-intersection.d.ts.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-sort-by.d.ts +1 -1
- package/build/array/array-sort-by.d.ts.map +1 -1
- package/build/array/assert.d.ts +17 -24
- package/build/array/assert.d.ts.map +1 -1
- package/build/array/assert.js +13 -21
- package/build/array/assert.js.map +1 -1
- package/build/asserts/errors.d.ts +18 -0
- package/build/asserts/errors.d.ts.map +1 -1
- package/build/asserts/errors.js +23 -0
- package/build/asserts/errors.js.map +1 -1
- package/build/asserts/generic.d.ts +19 -20
- package/build/asserts/generic.d.ts.map +1 -1
- package/build/asserts/generic.js +19 -34
- package/build/asserts/generic.js.map +1 -1
- package/build/asserts/internal-utils.d.ts +1 -44
- package/build/asserts/internal-utils.d.ts.map +1 -1
- package/build/asserts/internal-utils.js +2 -104
- package/build/asserts/internal-utils.js.map +1 -1
- package/build/boolean/assert.d.ts +2 -1
- package/build/boolean/assert.d.ts.map +1 -1
- package/build/boolean/assert.js +2 -3
- package/build/boolean/assert.js.map +1 -1
- package/build/function/memoize.d.ts +2 -1
- package/build/function/memoize.d.ts.map +1 -1
- package/build/function/memoize.js +4 -7
- package/build/function/memoize.js.map +1 -1
- package/build/function/once.d.ts.map +1 -1
- package/build/function/once.js +14 -2
- package/build/function/once.js.map +1 -1
- package/build/function/throttle.d.ts.map +1 -1
- package/build/function/throttle.js +4 -2
- package/build/function/throttle.js.map +1 -1
- package/build/index.d.ts +4 -4
- package/build/index.d.ts.map +1 -1
- package/build/index.js +4 -5
- package/build/index.js.map +1 -1
- package/build/lru-cache.d.ts +15 -0
- package/build/lru-cache.d.ts.map +1 -1
- package/build/lru-cache.js +23 -5
- package/build/lru-cache.js.map +1 -1
- package/build/number/assert.d.ts +2 -1
- package/build/number/assert.d.ts.map +1 -1
- package/build/number/assert.js +2 -5
- package/build/number/assert.js.map +1 -1
- package/build/object/assert-object.d.ts +13 -2
- package/build/object/assert-object.d.ts.map +1 -1
- package/build/object/assert-object.js +13 -2
- package/build/object/assert-object.js.map +1 -1
- package/build/object/assert.d.ts +4 -3
- package/build/object/assert.d.ts.map +1 -1
- package/build/object/assert.js +5 -8
- package/build/object/assert.js.map +1 -1
- package/build/object/clone.d.ts.map +1 -1
- package/build/object/clone.js +13 -8
- package/build/object/clone.js.map +1 -1
- package/build/object/equals.js +1 -1
- package/build/object/equals.js.map +1 -1
- package/build/object/filter-cached.d.ts.map +1 -1
- package/build/object/filter-cached.js +4 -6
- package/build/object/filter-cached.js.map +1 -1
- package/build/object/filter.d.ts.map +1 -1
- package/build/object/filter.js +2 -19
- package/build/object/filter.js.map +1 -1
- package/build/object/has-circular-reference.d.ts.map +1 -1
- package/build/object/has-circular-reference.js +5 -0
- package/build/object/has-circular-reference.js.map +1 -1
- package/build/object/hash.d.ts +12 -5
- package/build/object/hash.d.ts.map +1 -1
- package/build/object/hash.js +41 -13
- package/build/object/hash.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.map +1 -1
- package/build/object/key-value-pairs.js +12 -4
- package/build/object/key-value-pairs.js.map +1 -1
- package/build/object/map-cached.d.ts.map +1 -1
- package/build/object/map-cached.js +2 -3
- package/build/object/map-cached.js.map +1 -1
- package/build/object/merge.d.ts.map +1 -1
- package/build/object/merge.js +3 -6
- package/build/object/merge.js.map +1 -1
- package/build/object/object-diff.d.ts +4 -8
- package/build/object/object-diff.d.ts.map +1 -1
- package/build/object/object-diff.js +8 -11
- package/build/object/object-diff.js.map +1 -1
- package/build/object/property-paths.js +2 -2
- package/build/object/property-paths.js.map +1 -1
- package/build/object/security-utils.d.ts.map +1 -1
- package/build/object/security-utils.js +0 -4
- package/build/object/security-utils.js.map +1 -1
- package/build/object/sort-keys.js +1 -1
- package/build/object/sort-keys.js.map +1 -1
- package/build/string/assert.d.ts +2 -1
- package/build/string/assert.d.ts.map +1 -1
- package/build/string/assert.js +5 -3
- package/build/string/assert.js.map +1 -1
- package/build/time/elapsed-time/elapsed-time.d.ts +1 -0
- package/build/time/elapsed-time/elapsed-time.d.ts.map +1 -1
- package/build/time/elapsed-time/elapsed-time.js +33 -22
- package/build/time/elapsed-time/elapsed-time.js.map +1 -1
- package/build/time/elapsed-time/types.d.ts +2 -2
- package/build/time/elapsed-time/types.d.ts.map +1 -1
- package/build/time/stopwatch/stopwatch.d.ts +20 -0
- package/build/time/stopwatch/stopwatch.d.ts.map +1 -1
- package/build/time/stopwatch/stopwatch.js +26 -4
- package/build/time/stopwatch/stopwatch.js.map +1 -1
- package/package.json +9 -12
package/README.md
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
[](https://www.npmjs.com/package/@pawells/typescript-common)
|
|
4
4
|
[](https://github.com/PhillipAWells/typescript-common/releases)
|
|
5
5
|
[](https://github.com/PhillipAWells/typescript-common/actions/workflows/ci.yml)
|
|
6
|
-
[](https://nodejs.org)
|
|
7
7
|
[](./LICENSE)
|
|
8
8
|
[](https://github.com/sponsors/PhillipAWells)
|
|
9
9
|
|
|
@@ -31,11 +31,12 @@ import {
|
|
|
31
31
|
|
|
32
32
|
ArrayUtils.ArrayChunk([1, 2, 3, 4], 2); // [[1, 2], [3, 4]]
|
|
33
33
|
ArrayUtils.AssertArray(value); // throws if not an array
|
|
34
|
+
ObjectUtils.IsObject(value); // returns true/false (type-guard)
|
|
34
35
|
BooleanUtils.AssertBoolean(value); // throws if not a boolean
|
|
35
36
|
NumberUtils.AssertNumber(value, { gte: 0, integer: true });
|
|
36
37
|
|
|
37
38
|
// Direct named import (tree-shakeable)
|
|
38
|
-
import { ArrayChunk, ObjectPick, CamelCase, Sleep, AssertString } from '@pawells/typescript-common';
|
|
39
|
+
import { ArrayChunk, ObjectPick, CamelCase, Sleep, AssertString, LRUCache } from '@pawells/typescript-common';
|
|
39
40
|
```
|
|
40
41
|
|
|
41
42
|
## API
|
|
@@ -82,15 +83,17 @@ import { ArrayChunk, ObjectPick, CamelCase, Sleep, AssertString } from '@pawells
|
|
|
82
83
|
|
|
83
84
|
| Export | Description |
|
|
84
85
|
|--------|-------------|
|
|
85
|
-
| `
|
|
86
|
+
| `IsObject(value)` | Type-guard: returns `true` if value is a non-null, non-array object |
|
|
86
87
|
| `ObjectClone(obj)` | Deep-clone an object |
|
|
87
88
|
| `ObjectEquals(a, b)` | Deep equality check |
|
|
88
89
|
| `ObjectFilter(obj, predicate)` | Filter object entries by predicate |
|
|
90
|
+
| `ObjectFilterCached(obj, predicate)` | Cached filter for repeated operations |
|
|
89
91
|
| `FilterObject(obj, keys)` | Keep only specified keys |
|
|
90
92
|
| `ObjectPick(obj, keys)` | Pick a subset of keys |
|
|
91
93
|
| `ObjectOmit(obj, keys)` | Omit specified keys |
|
|
92
94
|
| `ObjectMerge(target, ...sources)` | Deep merge objects |
|
|
93
95
|
| `MapObject(obj, fn)` | Map over object values |
|
|
96
|
+
| `MapObjectCached(obj, fn)` | Cached map for repeated operations |
|
|
94
97
|
| `TransformObject(obj, fn)` | Transform object entries |
|
|
95
98
|
| `ObjectHash(obj)` | Compute a stable hash of an object |
|
|
96
99
|
| `ObjectSortKeys(obj)` | Return object with keys sorted |
|
|
@@ -101,6 +104,7 @@ import { ArrayChunk, ObjectPick, CamelCase, Sleep, AssertString } from '@pawells
|
|
|
101
104
|
| `ObjectInvert(obj)` | Swap keys and values |
|
|
102
105
|
| `ObjectFlatten(obj, separator?)` | Flatten nested object to dot-separated keys |
|
|
103
106
|
| `ObjectDiff(objA, objB)` | Compute added/removed/changed keys between two objects |
|
|
107
|
+
| `ObjectHasCircularReference(obj)` | Detect circular references in an object |
|
|
104
108
|
| `AssertObjectHasProperty(value, property, exception?)` | Assert object has an inherited or own property |
|
|
105
109
|
| `AssertObjectHasOwnProperty(value, property, exception?)` | Assert object has a direct own property |
|
|
106
110
|
| `AssertObjectPropertyNotNull(value, property, exception?)` | Assert object property is not null/undefined |
|
|
@@ -110,16 +114,23 @@ import { ArrayChunk, ObjectPick, CamelCase, Sleep, AssertString } from '@pawells
|
|
|
110
114
|
| Export | Description |
|
|
111
115
|
|--------|-------------|
|
|
112
116
|
| `CamelCase(str)` | Convert a string to camelCase |
|
|
117
|
+
| `CAPITALIZE(str)` | Capitalize the first letter of a string |
|
|
113
118
|
| `PASCAL_CASE(str)` | Convert a string to PascalCase |
|
|
114
119
|
| `KEBAB_CASE(str)` | Convert a string to kebab-case |
|
|
115
120
|
| `SNAKE_CASE(str)` | Convert a string to snake_case |
|
|
116
121
|
| `SCREAMING_SNAKE_CASE(str)` | Convert a string to SCREAMING_SNAKE_CASE |
|
|
117
122
|
| `FormatString(template, values)` | Simple string template formatting |
|
|
123
|
+
| `TruncateString(str, maxLength, ellipsis?)` | Truncate a string with ellipsis |
|
|
124
|
+
| `PadString(str, length, char?, padEnd?)` | Pad a string to a specified length |
|
|
118
125
|
| `EscapeHTML(str)` | Escape HTML special characters |
|
|
119
126
|
| `StripHTML(str)` | Remove all HTML tags from a string |
|
|
120
127
|
| `Pluralize(word, count, plural?)` | Return singular or plural form based on count |
|
|
121
128
|
| `WordCount(str)` | Count the number of words in a string |
|
|
122
129
|
| `CountOccurrences(str, substr)` | Count non-overlapping occurrences of a substring |
|
|
130
|
+
| `REVERSE_STRING(str)` | Reverse a string |
|
|
131
|
+
| `SLUGIFY(str)` | Convert a string to a URL-friendly slug |
|
|
132
|
+
| `IS_BLANK_STRING(str)` | Check if a string is empty or whitespace-only |
|
|
133
|
+
| `IS_HEX_STRING(str)` | Check if a string is a valid hexadecimal value |
|
|
123
134
|
| `AssertString(value, exception?)` | Assert value is a string primitive |
|
|
124
135
|
| `AssertStringNotEmpty(value, exception?)` | Assert value is a non-empty, non-whitespace string |
|
|
125
136
|
| `AssertStringMatches(value, regex, exception?)` | Assert string matches a regular expression |
|
|
@@ -128,7 +139,8 @@ import { ArrayChunk, ObjectPick, CamelCase, Sleep, AssertString } from '@pawells
|
|
|
128
139
|
|
|
129
140
|
| Export | Description |
|
|
130
141
|
|--------|-------------|
|
|
131
|
-
| `ElapsedTime` |
|
|
142
|
+
| `ElapsedTime` | Class for measuring elapsed time with human-readable output |
|
|
143
|
+
| `FormatElapsedTime(ms, options?)` | Format milliseconds using concise format |
|
|
132
144
|
| `Stopwatch` | Lap-based stopwatch for benchmarking |
|
|
133
145
|
|
|
134
146
|
### Enum utilities — `EnumUtils`
|
|
@@ -154,6 +166,20 @@ import { ArrayChunk, ObjectPick, CamelCase, Sleep, AssertString } from '@pawells
|
|
|
154
166
|
| `Compose(...fns)` | Compose functions right-to-left |
|
|
155
167
|
| `Sleep(ms)` | Return a `Promise` that resolves after `ms` ms |
|
|
156
168
|
|
|
169
|
+
### LRU Cache — `LRUCache`
|
|
170
|
+
|
|
171
|
+
| Export | Description |
|
|
172
|
+
|--------|-------------|
|
|
173
|
+
| `LRUCache<K, V>` | Generic Least Recently Used cache with configurable capacity |
|
|
174
|
+
|
|
175
|
+
```typescript
|
|
176
|
+
const cache = new LRUCache<string, number>(100);
|
|
177
|
+
cache.set('key', 42);
|
|
178
|
+
cache.get('key'); // 42 (marks as recently used)
|
|
179
|
+
cache.has('key'); // true
|
|
180
|
+
cache.clear(); // removes all entries
|
|
181
|
+
```
|
|
182
|
+
|
|
157
183
|
### Assertion utilities — `AssertsUtils`
|
|
158
184
|
|
|
159
185
|
Cross-cutting assertions not tied to a single type, plus the shared assertion infrastructure.
|
|
@@ -176,7 +202,7 @@ Cross-cutting assertions not tied to a single type, plus the shared assertion in
|
|
|
176
202
|
|
|
177
203
|
**All type-specific assertions** (`AssertArray`, `AssertBoolean`, `AssertNumber`, `AssertObject` (throwing), `AssertString`, etc.) are also accessible through `AssertsUtils` as a single convenience namespace.
|
|
178
204
|
|
|
179
|
-
**Note:** `
|
|
205
|
+
**Note:** `AssertObject` is a throwing assertion (narrows to `Record<string, unknown>`). Use `ObjectUtils.IsObject` for a boolean type-guard that returns `true`/`false`.
|
|
180
206
|
|
|
181
207
|
#### Error classes
|
|
182
208
|
|
|
@@ -199,7 +225,7 @@ yarn test:coverage # Tests with coverage report
|
|
|
199
225
|
|
|
200
226
|
## Requirements
|
|
201
227
|
|
|
202
|
-
- Node.js >=
|
|
228
|
+
- Node.js >= 22.0.0
|
|
203
229
|
|
|
204
230
|
## License
|
|
205
231
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"array-chunk.js","sourceRoot":"","sources":["../../src/array/array-chunk.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,UAAU,CAAI,KAAU,EAAE,IAAY;IACrD,IAAI,CAAC,KAAK,IAAI,
|
|
1
|
+
{"version":3,"file":"array-chunk.js","sourceRoot":"","sources":["../../src/array/array-chunk.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,UAAU,CAAI,KAAU,EAAE,IAAY;IACrD,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC;QAC3B,OAAO,EAAE,CAAC;IACX,CAAC;IAED,MAAM,MAAM,GAAU,EAAE,CAAC;IAEzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC;QAC7C,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;IACvC,CAAC;IAED,OAAO,MAAM,CAAC;AACf,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"array-contains.d.ts","sourceRoot":"","sources":["../../src/array/array-contains.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"array-contains.d.ts","sourceRoot":"","sources":["../../src/array/array-contains.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C;;;;;;;;;;;;;GAaG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,OAAO,CAM9E"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"array-count-by.d.ts","sourceRoot":"","sources":["../../src/array/array-count-by.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"array-count-by.d.ts","sourceRoot":"","sources":["../../src/array/array-count-by.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,EACjE,KAAK,EAAE,CAAC,EAAE,EACV,KAAK,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,GACrB,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAWnB"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { TEqualityComparator } from './types';
|
|
1
|
+
import type { TEqualityComparator } from './types.js';
|
|
2
2
|
/**
|
|
3
3
|
* Returns elements present in the first array but not in the second (set difference).
|
|
4
4
|
* Optimised O(n+m) using a Set when no custom comparator is provided.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"array-difference.d.ts","sourceRoot":"","sources":["../../src/array/array-difference.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"array-difference.d.ts","sourceRoot":"","sources":["../../src/array/array-difference.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEtD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAChC,MAAM,EAAE,CAAC,EAAE,EACX,MAAM,EAAE,CAAC,EAAE,EACX,UAAU,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,GACjC,CAAC,EAAE,CAUL"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { TPredicate } from './types';
|
|
1
|
+
import type { TPredicate } from './types.js';
|
|
2
2
|
/**
|
|
3
3
|
* Filters an array based on criteria that can be an object filter or a predicate function.
|
|
4
4
|
* Supports nested property filtering with dot notation and array property filtering.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"array-filter.d.ts","sourceRoot":"","sources":["../../src/array/array-filter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"array-filter.d.ts","sourceRoot":"","sources":["../../src/array/array-filter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAsC7C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAC5B,KAAK,EAAE,CAAC,EAAE,EACV,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,GACxD,CAAC,EAAE,CAeL"}
|
|
@@ -10,6 +10,9 @@ function getNestedValue(obj, path) {
|
|
|
10
10
|
for (const key of keys) {
|
|
11
11
|
if (current === null || current === undefined)
|
|
12
12
|
return undefined;
|
|
13
|
+
// Block prototype-pollution paths
|
|
14
|
+
if (key === '__proto__' || key === 'constructor' || key === 'prototype')
|
|
15
|
+
return undefined;
|
|
13
16
|
current = current[key];
|
|
14
17
|
}
|
|
15
18
|
return current;
|
|
@@ -63,6 +66,8 @@ function matchesValue(value, filterValue) {
|
|
|
63
66
|
* ArrayFilter(numbers, (n) => n > 3); // [4, 5]
|
|
64
67
|
*/
|
|
65
68
|
export function ArrayFilter(array, criteria) {
|
|
69
|
+
if (!array)
|
|
70
|
+
return [];
|
|
66
71
|
// If criteria is a function, use it as predicate
|
|
67
72
|
if (typeof criteria === 'function') {
|
|
68
73
|
return array.filter(criteria);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"array-filter.js","sourceRoot":"","sources":["../../src/array/array-filter.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,SAAS,cAAc,CAAC,GAAY,EAAE,IAAY;IACjD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC7B,IAAI,OAAO,GAAQ,GAAG,CAAC;IAEvB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACxB,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QAChE,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IACxB,CAAC;IAED,OAAO,OAAO,CAAC;AAChB,CAAC;AAED;;;;;GAKG;AACH,SAAS,YAAY,CAAC,KAAc,EAAE,WAAoB;IACzD,8DAA8D;IAC9D,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IACpC,CAAC;IAED,wBAAwB;IACxB,OAAO,KAAK,KAAK,WAAW,CAAC;AAC9B,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,MAAM,UAAU,WAAW,CAC1B,KAAU,EACV,QAA0D;IAE1D,iDAAiD;IACjD,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE,CAAC;QACpC,OAAO,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC/B,CAAC;IAED,6CAA6C;IAC7C,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;QAC5B,OAAO,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,WAAW,CAAC,EAAE,EAAE;YAC5D,MAAM,SAAS,GAAG,cAAc,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YAC5C,OAAO,YAAY,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"array-filter.js","sourceRoot":"","sources":["../../src/array/array-filter.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,SAAS,cAAc,CAAC,GAAY,EAAE,IAAY;IACjD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC7B,IAAI,OAAO,GAAQ,GAAG,CAAC;IAEvB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACxB,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QAChE,kCAAkC;QAClC,IAAI,GAAG,KAAK,WAAW,IAAI,GAAG,KAAK,aAAa,IAAI,GAAG,KAAK,WAAW;YAAE,OAAO,SAAS,CAAC;QAC1F,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IACxB,CAAC;IAED,OAAO,OAAO,CAAC;AAChB,CAAC;AAED;;;;;GAKG;AACH,SAAS,YAAY,CAAC,KAAc,EAAE,WAAoB;IACzD,8DAA8D;IAC9D,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IACpC,CAAC;IAED,wBAAwB;IACxB,OAAO,KAAK,KAAK,WAAW,CAAC;AAC9B,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,MAAM,UAAU,WAAW,CAC1B,KAAU,EACV,QAA0D;IAE1D,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,CAAC;IAEtB,iDAAiD;IACjD,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE,CAAC;QACpC,OAAO,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC/B,CAAC;IAED,6CAA6C;IAC7C,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;QAC5B,OAAO,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,WAAW,CAAC,EAAE,EAAE;YAC5D,MAAM,SAAS,GAAG,cAAc,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YAC5C,OAAO,YAAY,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"array-group-by.d.ts","sourceRoot":"","sources":["../../src/array/array-group-by.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"array-group-by.d.ts","sourceRoot":"","sources":["../../src/array/array-group-by.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAavH"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"array-intersection.d.ts","sourceRoot":"","sources":["../../src/array/array-intersection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"array-intersection.d.ts","sourceRoot":"","sources":["../../src/array/array-intersection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEtD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAClC,MAAM,EAAE,CAAC,EAAE,EACX,MAAM,EAAE,CAAC,EAAE,EACX,UAAU,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,GACjC,CAAC,EAAE,CAoBL"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"array-partition.d.ts","sourceRoot":"","sources":["../../src/array/array-partition.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"array-partition.d.ts","sourceRoot":"","sources":["../../src/array/array-partition.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAelF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"array-sort-by.d.ts","sourceRoot":"","sources":["../../src/array/array-sort-by.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"array-sort-by.d.ts","sourceRoot":"","sources":["../../src/array/array-sort-by.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAC5B,KAAK,EAAE,CAAC,EAAE,EACV,KAAK,EAAE,UAAU,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,EACrC,SAAS,GAAE,KAAK,GAAG,MAAc,GAC/B,CAAC,EAAE,CAWL"}
|
package/build/array/assert.d.ts
CHANGED
|
@@ -1,16 +1,24 @@
|
|
|
1
1
|
import type { IAssertException } from '../asserts/types.js';
|
|
2
|
+
import { SimpleError } from '../asserts/errors.js';
|
|
2
3
|
/**
|
|
3
|
-
*
|
|
4
|
-
*
|
|
4
|
+
* Configuration interface for array validation constraints.
|
|
5
|
+
*
|
|
6
|
+
* Provides flexible size constraints for array validation, allowing
|
|
7
|
+
* exact size matching or range-based validation with min/max bounds.
|
|
8
|
+
* All size constraints are inclusive.
|
|
5
9
|
*/
|
|
6
|
-
export
|
|
7
|
-
/** Exact
|
|
10
|
+
export interface IAssertArrayArgs {
|
|
11
|
+
/** Exact number of elements the array must contain */
|
|
8
12
|
size?: number;
|
|
9
|
-
/** Minimum
|
|
13
|
+
/** Minimum number of elements the array must contain (inclusive) */
|
|
10
14
|
minSize?: number;
|
|
11
|
-
/** Maximum
|
|
15
|
+
/** Maximum number of elements the array must contain (inclusive) */
|
|
12
16
|
maxSize?: number;
|
|
13
|
-
}
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Alias for {@link IAssertArrayArgs}. Kept for backwards compatibility.
|
|
20
|
+
*/
|
|
21
|
+
export type TSizeConstraint = IAssertArrayArgs;
|
|
14
22
|
/**
|
|
15
23
|
* Type alias for 2D dimension constraint properties.
|
|
16
24
|
* Represents constraints that can be applied to matrix dimensions.
|
|
@@ -29,24 +37,9 @@ export type TDimensionConstraint = {
|
|
|
29
37
|
* @example
|
|
30
38
|
* throw new ArrayError('Value is not a valid array');
|
|
31
39
|
*/
|
|
32
|
-
export declare class ArrayError extends
|
|
40
|
+
export declare class ArrayError extends SimpleError {
|
|
33
41
|
constructor(message?: string);
|
|
34
42
|
}
|
|
35
|
-
/**
|
|
36
|
-
* Configuration interface for array validation constraints.
|
|
37
|
-
*
|
|
38
|
-
* Provides flexible size constraints for array validation, allowing
|
|
39
|
-
* exact size matching or range-based validation with min/max bounds.
|
|
40
|
-
* All size constraints are inclusive.
|
|
41
|
-
*/
|
|
42
|
-
export interface IAssertArrayArgs {
|
|
43
|
-
/** Exact number of elements the array must contain */
|
|
44
|
-
size?: number;
|
|
45
|
-
/** Minimum number of elements the array must contain (inclusive) */
|
|
46
|
-
minSize?: number;
|
|
47
|
-
/** Maximum number of elements the array must contain (inclusive) */
|
|
48
|
-
maxSize?: number;
|
|
49
|
-
}
|
|
50
43
|
/**
|
|
51
44
|
* Configuration interface for 2D array (matrix) validation constraints.
|
|
52
45
|
*
|
|
@@ -76,7 +69,7 @@ export interface IAssertArray2DArgs {
|
|
|
76
69
|
* @param exception Optional custom exception to throw.
|
|
77
70
|
* @throws {ArrayError} If the value is not an array or fails size validation.
|
|
78
71
|
*/
|
|
79
|
-
export declare function AssertArray<T = unknown>(value: unknown, args?: IAssertArrayArgs,
|
|
72
|
+
export declare function AssertArray<T = unknown>(value: unknown, args?: IAssertArrayArgs, exception?: IAssertException): asserts value is T[];
|
|
80
73
|
/**
|
|
81
74
|
* Asserts that a value is a 2D array, optionally validating its dimensions.
|
|
82
75
|
* @template T The type of array elements.
|
|
@@ -1 +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;
|
|
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;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,gBAAgB,CAAC;AAE/C;;;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,CA8BxI;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,CAuElJ;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;;;;;;;GAOG;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,CAM1I;AAED;;;;;;;GAOG;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,CAM1I"}
|
package/build/array/assert.js
CHANGED
|
@@ -1,15 +1,14 @@
|
|
|
1
1
|
import { SetExceptionClass, SetExceptionMessage, ThrowException } from '../asserts/utils.js';
|
|
2
|
+
import { SimpleError } from '../asserts/errors.js';
|
|
2
3
|
/**
|
|
3
4
|
* Error thrown when a value is not a valid array or fails an array assertion.
|
|
4
5
|
*
|
|
5
6
|
* @example
|
|
6
7
|
* throw new ArrayError('Value is not a valid array');
|
|
7
8
|
*/
|
|
8
|
-
export class ArrayError extends
|
|
9
|
+
export class ArrayError extends SimpleError {
|
|
9
10
|
constructor(message) {
|
|
10
11
|
super(message ?? 'Array assertion failed');
|
|
11
|
-
this.name = 'ArrayError';
|
|
12
|
-
Object.setPrototypeOf(this, ArrayError.prototype);
|
|
13
12
|
}
|
|
14
13
|
}
|
|
15
14
|
/**
|
|
@@ -20,9 +19,8 @@ export class ArrayError extends Error {
|
|
|
20
19
|
* @param exception Optional custom exception to throw.
|
|
21
20
|
* @throws {ArrayError} If the value is not an array or fails size validation.
|
|
22
21
|
*/
|
|
23
|
-
export function AssertArray(value, args,
|
|
22
|
+
export function AssertArray(value, args, exception = {}) {
|
|
24
23
|
// Initialize exception configuration with defaults
|
|
25
|
-
const exception = exceptionInput ?? {};
|
|
26
24
|
SetExceptionClass(exception, ArrayError);
|
|
27
25
|
// Validate that the value is an array
|
|
28
26
|
if (!Array.isArray(value)) {
|
|
@@ -135,6 +133,14 @@ export function AssertArrayNotEmpty(value, exception = {}) {
|
|
|
135
133
|
ThrowException(exception);
|
|
136
134
|
}
|
|
137
135
|
}
|
|
136
|
+
/** Shared guard for predicate-based array assertions. */
|
|
137
|
+
function assertIsArray(array, exception) {
|
|
138
|
+
SetExceptionClass(exception, ArrayError);
|
|
139
|
+
if (!Array.isArray(array)) {
|
|
140
|
+
SetExceptionMessage(exception, 'Value is not an array');
|
|
141
|
+
ThrowException(exception);
|
|
142
|
+
}
|
|
143
|
+
}
|
|
138
144
|
/**
|
|
139
145
|
* Asserts that all elements in an array satisfy a predicate.
|
|
140
146
|
* @template T The type of array elements.
|
|
@@ -144,14 +150,7 @@ export function AssertArrayNotEmpty(value, exception = {}) {
|
|
|
144
150
|
* @throws {ArrayError} If any element fails the predicate test.
|
|
145
151
|
*/
|
|
146
152
|
export function AssertArrayAll(array, predicate, exception = {}) {
|
|
147
|
-
|
|
148
|
-
SetExceptionClass(exception, ArrayError);
|
|
149
|
-
// Validate that the value is an array
|
|
150
|
-
if (!Array.isArray(array)) {
|
|
151
|
-
SetExceptionMessage(exception, 'Value is not an array');
|
|
152
|
-
ThrowException(exception);
|
|
153
|
-
}
|
|
154
|
-
// Check if all elements satisfy the predicate
|
|
153
|
+
assertIsArray(array, exception);
|
|
155
154
|
if (!array.every(predicate)) {
|
|
156
155
|
SetExceptionMessage(exception, 'Not all elements satisfy the predicate condition');
|
|
157
156
|
ThrowException(exception);
|
|
@@ -166,14 +165,7 @@ export function AssertArrayAll(array, predicate, exception = {}) {
|
|
|
166
165
|
* @throws {ArrayError} If no elements pass the predicate test.
|
|
167
166
|
*/
|
|
168
167
|
export function AssertArrayAny(array, predicate, exception = {}) {
|
|
169
|
-
|
|
170
|
-
SetExceptionClass(exception, ArrayError);
|
|
171
|
-
// Validate that the value is an array
|
|
172
|
-
if (!Array.isArray(array)) {
|
|
173
|
-
SetExceptionMessage(exception, 'Value is not an array');
|
|
174
|
-
ThrowException(exception);
|
|
175
|
-
}
|
|
176
|
-
// Check if any elements satisfy the predicate
|
|
168
|
+
assertIsArray(array, exception);
|
|
177
169
|
if (!array.some(predicate)) {
|
|
178
170
|
SetExceptionMessage(exception, 'No elements satisfy the predicate condition');
|
|
179
171
|
ThrowException(exception);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assert.js","sourceRoot":"","sources":["../../src/array/assert.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"assert.js","sourceRoot":"","sources":["../../src/array/assert.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Lightweight base for simple assertion error classes.
|
|
3
|
+
*
|
|
4
|
+
* Handles the two boilerplate steps that every Error subclass needs:
|
|
5
|
+
* - Restoring the correct prototype chain (required when the runtime's built-in
|
|
6
|
+
* Error constructor replaces `this`, as in some transpiled environments).
|
|
7
|
+
* - Setting `this.name` to the concrete class name so stack traces are readable.
|
|
8
|
+
*
|
|
9
|
+
* Subclasses only need to supply their default message:
|
|
10
|
+
* ```typescript
|
|
11
|
+
* class MyError extends SimpleError {
|
|
12
|
+
* constructor(message?: string) { super(message ?? 'My default message'); }
|
|
13
|
+
* }
|
|
14
|
+
* ```
|
|
15
|
+
*/
|
|
16
|
+
export declare class SimpleError extends Error {
|
|
17
|
+
constructor(message: string);
|
|
18
|
+
}
|
|
1
19
|
/**
|
|
2
20
|
* Base error class for all custom errors in the assertion library.
|
|
3
21
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/asserts/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;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;CAS5E;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"}
|
|
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;CAS5E;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"}
|
package/build/asserts/errors.js
CHANGED
|
@@ -1,3 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Lightweight base for simple assertion error classes.
|
|
3
|
+
*
|
|
4
|
+
* Handles the two boilerplate steps that every Error subclass needs:
|
|
5
|
+
* - Restoring the correct prototype chain (required when the runtime's built-in
|
|
6
|
+
* Error constructor replaces `this`, as in some transpiled environments).
|
|
7
|
+
* - Setting `this.name` to the concrete class name so stack traces are readable.
|
|
8
|
+
*
|
|
9
|
+
* Subclasses only need to supply their default message:
|
|
10
|
+
* ```typescript
|
|
11
|
+
* class MyError extends SimpleError {
|
|
12
|
+
* constructor(message?: string) { super(message ?? 'My default message'); }
|
|
13
|
+
* }
|
|
14
|
+
* ```
|
|
15
|
+
*/
|
|
16
|
+
export class SimpleError extends Error {
|
|
17
|
+
constructor(message) {
|
|
18
|
+
super(message);
|
|
19
|
+
// Fix prototype chain before reading this.constructor.name.
|
|
20
|
+
Object.setPrototypeOf(this, new.target.prototype);
|
|
21
|
+
this.name = this.constructor.name;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
1
24
|
/**
|
|
2
25
|
* Base error class for all custom errors in the assertion library.
|
|
3
26
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/asserts/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;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,
|
|
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"}
|