@pawells/typescript-common 1.1.7 → 1.3.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 +33 -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 +2 -1
- package/build/object/index.d.ts.map +1 -1
- package/build/object/index.js +2 -1
- package/build/object/index.js.map +1 -1
- package/build/object/json-circular-replacer.d.ts +39 -0
- package/build/object/json-circular-replacer.d.ts.map +1 -0
- package/build/object/json-circular-replacer.js +60 -0
- package/build/object/json-circular-replacer.js.map +1 -0
- 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,8 @@ 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 |
|
|
108
|
+
| `CreateJsonCircularReplacer(placeholder?)` | Create a `JSON.stringify` replacer that handles circular refs |
|
|
104
109
|
| `AssertObjectHasProperty(value, property, exception?)` | Assert object has an inherited or own property |
|
|
105
110
|
| `AssertObjectHasOwnProperty(value, property, exception?)` | Assert object has a direct own property |
|
|
106
111
|
| `AssertObjectPropertyNotNull(value, property, exception?)` | Assert object property is not null/undefined |
|
|
@@ -110,16 +115,23 @@ import { ArrayChunk, ObjectPick, CamelCase, Sleep, AssertString } from '@pawells
|
|
|
110
115
|
| Export | Description |
|
|
111
116
|
|--------|-------------|
|
|
112
117
|
| `CamelCase(str)` | Convert a string to camelCase |
|
|
118
|
+
| `CAPITALIZE(str)` | Capitalize the first letter of a string |
|
|
113
119
|
| `PASCAL_CASE(str)` | Convert a string to PascalCase |
|
|
114
120
|
| `KEBAB_CASE(str)` | Convert a string to kebab-case |
|
|
115
121
|
| `SNAKE_CASE(str)` | Convert a string to snake_case |
|
|
116
122
|
| `SCREAMING_SNAKE_CASE(str)` | Convert a string to SCREAMING_SNAKE_CASE |
|
|
117
123
|
| `FormatString(template, values)` | Simple string template formatting |
|
|
124
|
+
| `TruncateString(str, maxLength, ellipsis?)` | Truncate a string with ellipsis |
|
|
125
|
+
| `PadString(str, length, char?, padEnd?)` | Pad a string to a specified length |
|
|
118
126
|
| `EscapeHTML(str)` | Escape HTML special characters |
|
|
119
127
|
| `StripHTML(str)` | Remove all HTML tags from a string |
|
|
120
128
|
| `Pluralize(word, count, plural?)` | Return singular or plural form based on count |
|
|
121
129
|
| `WordCount(str)` | Count the number of words in a string |
|
|
122
130
|
| `CountOccurrences(str, substr)` | Count non-overlapping occurrences of a substring |
|
|
131
|
+
| `REVERSE_STRING(str)` | Reverse a string |
|
|
132
|
+
| `SLUGIFY(str)` | Convert a string to a URL-friendly slug |
|
|
133
|
+
| `IS_BLANK_STRING(str)` | Check if a string is empty or whitespace-only |
|
|
134
|
+
| `IS_HEX_STRING(str)` | Check if a string is a valid hexadecimal value |
|
|
123
135
|
| `AssertString(value, exception?)` | Assert value is a string primitive |
|
|
124
136
|
| `AssertStringNotEmpty(value, exception?)` | Assert value is a non-empty, non-whitespace string |
|
|
125
137
|
| `AssertStringMatches(value, regex, exception?)` | Assert string matches a regular expression |
|
|
@@ -128,7 +140,8 @@ import { ArrayChunk, ObjectPick, CamelCase, Sleep, AssertString } from '@pawells
|
|
|
128
140
|
|
|
129
141
|
| Export | Description |
|
|
130
142
|
|--------|-------------|
|
|
131
|
-
| `ElapsedTime` |
|
|
143
|
+
| `ElapsedTime` | Class for measuring elapsed time with human-readable output |
|
|
144
|
+
| `FormatElapsedTime(ms, options?)` | Format milliseconds using concise format |
|
|
132
145
|
| `Stopwatch` | Lap-based stopwatch for benchmarking |
|
|
133
146
|
|
|
134
147
|
### Enum utilities — `EnumUtils`
|
|
@@ -154,6 +167,20 @@ import { ArrayChunk, ObjectPick, CamelCase, Sleep, AssertString } from '@pawells
|
|
|
154
167
|
| `Compose(...fns)` | Compose functions right-to-left |
|
|
155
168
|
| `Sleep(ms)` | Return a `Promise` that resolves after `ms` ms |
|
|
156
169
|
|
|
170
|
+
### LRU Cache — `LRUCache`
|
|
171
|
+
|
|
172
|
+
| Export | Description |
|
|
173
|
+
|--------|-------------|
|
|
174
|
+
| `LRUCache<K, V>` | Generic Least Recently Used cache with configurable capacity |
|
|
175
|
+
|
|
176
|
+
```typescript
|
|
177
|
+
const cache = new LRUCache<string, number>(100);
|
|
178
|
+
cache.set('key', 42);
|
|
179
|
+
cache.get('key'); // 42 (marks as recently used)
|
|
180
|
+
cache.has('key'); // true
|
|
181
|
+
cache.clear(); // removes all entries
|
|
182
|
+
```
|
|
183
|
+
|
|
157
184
|
### Assertion utilities — `AssertsUtils`
|
|
158
185
|
|
|
159
186
|
Cross-cutting assertions not tied to a single type, plus the shared assertion infrastructure.
|
|
@@ -176,7 +203,7 @@ Cross-cutting assertions not tied to a single type, plus the shared assertion in
|
|
|
176
203
|
|
|
177
204
|
**All type-specific assertions** (`AssertArray`, `AssertBoolean`, `AssertNumber`, `AssertObject` (throwing), `AssertString`, etc.) are also accessible through `AssertsUtils` as a single convenience namespace.
|
|
178
205
|
|
|
179
|
-
**Note:** `
|
|
206
|
+
**Note:** `AssertObject` is a throwing assertion (narrows to `Record<string, unknown>`). Use `ObjectUtils.IsObject` for a boolean type-guard that returns `true`/`false`.
|
|
180
207
|
|
|
181
208
|
#### Error classes
|
|
182
209
|
|
|
@@ -199,7 +226,7 @@ yarn test:coverage # Tests with coverage report
|
|
|
199
226
|
|
|
200
227
|
## Requirements
|
|
201
228
|
|
|
202
|
-
- Node.js >=
|
|
229
|
+
- Node.js >= 22.0.0
|
|
203
230
|
|
|
204
231
|
## License
|
|
205
232
|
|
|
@@ -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"}
|