ts-data-forge 6.0.0 → 6.1.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/dist/array/impl/array-utils-reducing-value.d.mts +28 -0
- package/dist/array/impl/array-utils-reducing-value.d.mts.map +1 -1
- package/dist/array/impl/array-utils-reducing-value.mjs +4 -1
- package/dist/array/impl/array-utils-reducing-value.mjs.map +1 -1
- package/dist/array/impl/index.mjs +1 -1
- package/dist/collections/imap.d.mts +1 -1
- package/dist/collections/iset-mapped.d.mts +1 -1
- package/dist/collections/iset.d.mts +1 -1
- package/package.json +52 -48
- package/src/array/impl/array-utils-overload-type-error.test.mts +4 -2
- package/src/array/impl/array-utils-reducing-value.mts +48 -0
- package/src/collections/imap.mts +1 -1
- package/src/collections/iset-mapped.mts +1 -1
- package/src/collections/iset.mts +1 -1
- package/src/functional/optional.test.mts +7 -5
- package/src/functional/result.test.mts +10 -8
- package/src/functional/ternary-result.test.mts +4 -4
- package/src/guard/has-key.test.mts +89 -186
- package/src/json/json.test.mts +5 -5
- package/src/number/branded-types/finite-number.test.mts +15 -11
- package/src/number/branded-types/int.test.mts +13 -13
- package/src/number/branded-types/int16.test.mts +15 -15
- package/src/number/branded-types/int32.test.mts +15 -15
- package/src/number/branded-types/non-negative-finite-number.test.mts +19 -15
- package/src/number/branded-types/non-negative-int16.test.mts +15 -15
- package/src/number/branded-types/non-negative-int32.test.mts +15 -15
- package/src/number/branded-types/non-zero-finite-number.test.mts +18 -18
- package/src/number/branded-types/non-zero-int.test.mts +18 -14
- package/src/number/branded-types/non-zero-int16.test.mts +19 -15
- package/src/number/branded-types/non-zero-int32.test.mts +19 -15
- package/src/number/branded-types/non-zero-safe-int.test.mts +22 -18
- package/src/number/branded-types/non-zero-uint16.test.mts +15 -15
- package/src/number/branded-types/non-zero-uint32.test.mts +15 -15
- package/src/number/branded-types/positive-finite-number.test.mts +18 -18
- package/src/number/branded-types/positive-int.test.mts +22 -16
- package/src/number/branded-types/positive-int16.test.mts +14 -14
- package/src/number/branded-types/positive-int32.test.mts +14 -14
- package/src/number/branded-types/positive-safe-int.test.mts +20 -18
- package/src/number/branded-types/positive-uint16.test.mts +15 -15
- package/src/number/branded-types/positive-uint32.test.mts +15 -15
- package/src/number/branded-types/safe-int.test.mts +21 -17
- package/src/number/branded-types/safe-uint.test.mts +22 -16
- package/src/number/branded-types/uint.test.mts +14 -14
- package/src/number/branded-types/uint16.test.mts +14 -14
- package/src/number/branded-types/uint32.test.mts +14 -14
- package/src/number/enum/int8.test.mts +1 -1
- package/src/number/enum/uint8.test.mts +1 -1
- package/src/others/memoize-function.test.mts +1 -0
|
@@ -203,6 +203,34 @@ export declare function sum<N extends number>(array: readonly [N]): N;
|
|
|
203
203
|
export declare function sum(array: readonly Uint[]): Uint;
|
|
204
204
|
export declare function sum(array: readonly Int[]): Int;
|
|
205
205
|
export declare function sum(array: readonly number[]): number;
|
|
206
|
+
/**
|
|
207
|
+
* Calculates the sum of numbers in an array.
|
|
208
|
+
*
|
|
209
|
+
* @example
|
|
210
|
+
*
|
|
211
|
+
* ```ts
|
|
212
|
+
* const numbers = [
|
|
213
|
+
* { value: 1 },
|
|
214
|
+
* { value: 2 },
|
|
215
|
+
* { value: 3 },
|
|
216
|
+
* { value: 4 },
|
|
217
|
+
* ] as const;
|
|
218
|
+
*
|
|
219
|
+
* const negatives = [{ value: 3 }, { value: -2 }, { value: 5 }] as const;
|
|
220
|
+
*
|
|
221
|
+
* const total = Arr.sumBy(numbers, (item) => item.value);
|
|
222
|
+
*
|
|
223
|
+
* const totalNegatives = Arr.sumBy(negatives, (item) => item.value);
|
|
224
|
+
*
|
|
225
|
+
* assert.isTrue(total === 10);
|
|
226
|
+
*
|
|
227
|
+
* assert.isTrue(totalNegatives === 6);
|
|
228
|
+
* ```
|
|
229
|
+
*/
|
|
230
|
+
export declare function sumBy(array: readonly [], mapFn: (item: unknown) => number): 0;
|
|
231
|
+
export declare function sumBy<N extends Uint, E>(array: readonly E[], mapFn: (item: E) => N): Uint;
|
|
232
|
+
export declare function sumBy<N extends Int, E>(array: readonly E[], mapFn: (item: E) => N): Int;
|
|
233
|
+
export declare function sumBy<N extends number, E>(array: readonly E[], mapFn: (item: E) => N): number;
|
|
206
234
|
/**
|
|
207
235
|
* Joins array elements into a string.
|
|
208
236
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"array-utils-reducing-value.d.mts","sourceRoot":"","sources":["../../../src/array/impl/array-utils-reducing-value.mts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"array-utils-reducing-value.d.mts","sourceRoot":"","sources":["../../../src/array/impl/array-utils-reducing-value.mts"],"names":[],"mappings":"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"}
|
|
@@ -120,6 +120,9 @@ function foldr(...args) {
|
|
|
120
120
|
function sum(array) {
|
|
121
121
|
return array.reduce((prev, curr) => prev + curr, 0);
|
|
122
122
|
}
|
|
123
|
+
function sumBy(array, mapFn) {
|
|
124
|
+
return array.reduce((prev, curr) => prev + mapFn(curr), 0);
|
|
125
|
+
}
|
|
123
126
|
function join(...args) {
|
|
124
127
|
switch (args.length) {
|
|
125
128
|
case 0:
|
|
@@ -159,5 +162,5 @@ const reduce = foldl;
|
|
|
159
162
|
*/
|
|
160
163
|
const reduceRight = foldr;
|
|
161
164
|
|
|
162
|
-
export { count, countBy, foldl, foldr, join, max, maxBy, min, minBy, reduce, reduceRight, sum };
|
|
165
|
+
export { count, countBy, foldl, foldr, join, max, maxBy, min, minBy, reduce, reduceRight, sum, sumBy };
|
|
163
166
|
//# sourceMappingURL=array-utils-reducing-value.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"array-utils-reducing-value.mjs","sources":["../../../src/array/impl/array-utils-reducing-value.mts"],"sourcesContent":[null],"names":["Optional.none","Optional.some","Result.ok","Result.err"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"array-utils-reducing-value.mjs","sources":["../../../src/array/impl/array-utils-reducing-value.mts"],"sourcesContent":[null],"names":["Optional.none","Optional.some","Result.ok","Result.err"],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ export { copy, create, generate, generateAsync, newArray, range, seq, zeros } fr
|
|
|
2
2
|
export { at, first, head, last } from './array-utils-element-access.mjs';
|
|
3
3
|
export { entries, indices, keys, values } from './array-utils-iterators.mjs';
|
|
4
4
|
export { set, toFilled, toInserted, toPushed, toRangeFilled, toRemoved, toUnshifted, toUpdated } from './array-utils-modification.mjs';
|
|
5
|
-
export { count, countBy, foldl, foldr, join, max, maxBy, min, minBy, reduce, reduceRight, sum } from './array-utils-reducing-value.mjs';
|
|
5
|
+
export { count, countBy, foldl, foldr, join, max, maxBy, min, minBy, reduce, reduceRight, sum, sumBy } from './array-utils-reducing-value.mjs';
|
|
6
6
|
export { find, findIndex, findLast, findLastIndex, indexOf, indexOfFrom, lastIndexOf, lastIndexOfFrom } from './array-utils-search.mjs';
|
|
7
7
|
export { eq, equal, isSubset, isSuperset, setDifference, setIntersection, sortedNumSetDifference } from './array-utils-set-op.mjs';
|
|
8
8
|
export { length, size } from './array-utils-size.mjs';
|
|
@@ -806,7 +806,7 @@ type ISetMappedInterface<K, KM extends MapSetKeyType> = Readonly<{
|
|
|
806
806
|
*
|
|
807
807
|
* const raw = set.toRawSet();
|
|
808
808
|
*
|
|
809
|
-
* assert.isTrue(
|
|
809
|
+
* assert.isTrue(isSet(raw));
|
|
810
810
|
*
|
|
811
811
|
* assert.isTrue(raw.has(toKey({ x: 1, tag: 'a' })));
|
|
812
812
|
* ```
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ts-data-forge",
|
|
3
|
-
"version": "6.
|
|
3
|
+
"version": "6.1.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"keywords": [
|
|
6
6
|
"typescript",
|
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
"doc": "tsx ./scripts/cmd/gen-docs.mts",
|
|
46
46
|
"doc:embed-doc": "tsx ./scripts/cmd/embed-samples.mts",
|
|
47
47
|
"doc:embed-jsdoc": "tsx ./scripts/cmd/embed-jsdoc-examples.mts",
|
|
48
|
-
"doc:preview": "vite preview --config ./configs/vite.doc.config.
|
|
48
|
+
"doc:preview": "vite preview --config ./configs/vite.doc.config.mts",
|
|
49
49
|
"doc:watch": "typedoc --options ./configs/typedoc.config.mjs --watch",
|
|
50
50
|
"fmt": "format-uncommitted",
|
|
51
51
|
"fmt:diff": "format-diff-from origin/main",
|
|
@@ -62,68 +62,72 @@
|
|
|
62
62
|
"lint": "eslint .",
|
|
63
63
|
"lint:fix": "eslint . --fix",
|
|
64
64
|
"md": "markdownlint-cli2",
|
|
65
|
-
"test": "pnpm run z:vitest run",
|
|
66
|
-
"test:
|
|
65
|
+
"test": "pnpm run z:vitest:node run",
|
|
66
|
+
"test:browser": "pnpm run z:vitest --project='Browser' run",
|
|
67
|
+
"test:cov": "pnpm run z:vitest:node run --coverage",
|
|
67
68
|
"test:cov:ui": "vite preview --outDir ./coverage",
|
|
68
|
-
"test:ui": "pnpm run z:vitest --ui",
|
|
69
|
-
"testw": "pnpm run z:vitest watch",
|
|
69
|
+
"test:ui": "pnpm run z:vitest:node --ui",
|
|
70
|
+
"testw": "pnpm run z:vitest:node watch",
|
|
70
71
|
"tsc": "tsc --noEmit",
|
|
71
72
|
"tscw": "tsc --noEmit --watch -p ./tsconfig.json",
|
|
72
73
|
"type-check": "tsc --noEmit",
|
|
73
74
|
"update-packages": "pnpm update --latest",
|
|
74
|
-
"z:vitest": "vitest --config ./configs/vitest.config.
|
|
75
|
+
"z:vitest": "vitest --config ./configs/vitest.config.mts",
|
|
76
|
+
"z:vitest:node": "vitest --config ./configs/vitest.config.mts --project='Node.js'"
|
|
75
77
|
},
|
|
76
78
|
"dependencies": {
|
|
77
79
|
"@sindresorhus/is": "^7.1.1",
|
|
78
80
|
"ts-type-forge": "^2.3.0"
|
|
79
81
|
},
|
|
80
82
|
"devDependencies": {
|
|
81
|
-
"@emotion/react": "
|
|
82
|
-
"@emotion/styled": "
|
|
83
|
-
"@mui/material": "
|
|
84
|
-
"@rollup/plugin-replace": "
|
|
85
|
-
"@rollup/plugin-strip": "
|
|
86
|
-
"@rollup/plugin-typescript": "
|
|
87
|
-
"@semantic-release/changelog": "
|
|
88
|
-
"@semantic-release/commit-analyzer": "
|
|
89
|
-
"@semantic-release/exec": "
|
|
90
|
-
"@semantic-release/git": "
|
|
91
|
-
"@semantic-release/github": "
|
|
92
|
-
"@semantic-release/npm": "
|
|
93
|
-
"@semantic-release/release-notes-generator": "
|
|
94
|
-
"@types/node": "
|
|
95
|
-
"@types/react": "
|
|
96
|
-
"@vitest/
|
|
97
|
-
"@vitest/
|
|
98
|
-
"
|
|
99
|
-
"
|
|
83
|
+
"@emotion/react": "11.14.0",
|
|
84
|
+
"@emotion/styled": "11.14.1",
|
|
85
|
+
"@mui/material": "7.3.6",
|
|
86
|
+
"@rollup/plugin-replace": "6.0.3",
|
|
87
|
+
"@rollup/plugin-strip": "3.0.4",
|
|
88
|
+
"@rollup/plugin-typescript": "12.3.0",
|
|
89
|
+
"@semantic-release/changelog": "6.0.3",
|
|
90
|
+
"@semantic-release/commit-analyzer": "13.0.1",
|
|
91
|
+
"@semantic-release/exec": "7.1.0",
|
|
92
|
+
"@semantic-release/git": "10.0.1",
|
|
93
|
+
"@semantic-release/github": "12.0.2",
|
|
94
|
+
"@semantic-release/npm": "13.1.2",
|
|
95
|
+
"@semantic-release/release-notes-generator": "14.1.0",
|
|
96
|
+
"@types/node": "24.10.2",
|
|
97
|
+
"@types/react": "19.2.7",
|
|
98
|
+
"@vitest/browser-playwright": "4.0.15",
|
|
99
|
+
"@vitest/coverage-v8": "4.0.15",
|
|
100
|
+
"@vitest/ui": "4.0.15",
|
|
101
|
+
"conventional-changelog-conventionalcommits": "9.1.0",
|
|
102
|
+
"cspell": "9.4.0",
|
|
100
103
|
"eslint": "9.39.1",
|
|
101
|
-
"eslint-config-typed": "
|
|
102
|
-
"github-settings-as-code": "
|
|
103
|
-
"immer": "
|
|
104
|
-
"jiti": "
|
|
105
|
-
"markdownlint": "
|
|
106
|
-
"markdownlint-cli2": "
|
|
107
|
-
"npm-run-all2": "
|
|
108
|
-
"
|
|
109
|
-
"prettier
|
|
110
|
-
"prettier-plugin-
|
|
111
|
-
"
|
|
112
|
-
"
|
|
113
|
-
"
|
|
114
|
-
"
|
|
115
|
-
"
|
|
116
|
-
"
|
|
117
|
-
"typedoc
|
|
118
|
-
"
|
|
119
|
-
"
|
|
120
|
-
"
|
|
104
|
+
"eslint-config-typed": "4.0.5",
|
|
105
|
+
"github-settings-as-code": "1.0.6",
|
|
106
|
+
"immer": "11.0.1",
|
|
107
|
+
"jiti": "2.6.1",
|
|
108
|
+
"markdownlint": "0.39.0",
|
|
109
|
+
"markdownlint-cli2": "0.19.1",
|
|
110
|
+
"npm-run-all2": "8.0.4",
|
|
111
|
+
"playwright": "1.57.0",
|
|
112
|
+
"prettier": "3.7.4",
|
|
113
|
+
"prettier-plugin-organize-imports": "4.3.0",
|
|
114
|
+
"prettier-plugin-packagejson": "2.5.20",
|
|
115
|
+
"rollup": "4.53.3",
|
|
116
|
+
"semantic-release": "25.0.2",
|
|
117
|
+
"ts-repo-utils": "7.9.5",
|
|
118
|
+
"tslib": "2.8.1",
|
|
119
|
+
"tsx": "4.21.0",
|
|
120
|
+
"typedoc": "0.28.15",
|
|
121
|
+
"typedoc-github-theme": "0.3.1",
|
|
122
|
+
"typescript": "5.9.3",
|
|
123
|
+
"vite": "7.2.6",
|
|
124
|
+
"vitest": "4.0.15"
|
|
121
125
|
},
|
|
122
126
|
"peerDependencies": {
|
|
123
127
|
"typescript": ">=4.8"
|
|
124
128
|
},
|
|
129
|
+
"packageManager": "pnpm@10.24.0",
|
|
125
130
|
"volta": {
|
|
126
|
-
"node": "25.
|
|
127
|
-
"npm": "11.6.2"
|
|
131
|
+
"node": "25.2.1"
|
|
128
132
|
}
|
|
129
133
|
}
|
|
@@ -93,7 +93,7 @@ describe('Array overloaded functions - type error validation', () => {
|
|
|
93
93
|
|
|
94
94
|
test('partition type constraints work correctly', () => {
|
|
95
95
|
// @ts-expect-error - Partition size should be number, not string
|
|
96
|
-
expect(() => partition(testArray, 'invalid')).
|
|
96
|
+
expect(() => partition(testArray, 'invalid')).toThrowError(
|
|
97
97
|
'Expected a non-negative integer less than 2^32, got: NaN',
|
|
98
98
|
);
|
|
99
99
|
|
|
@@ -116,7 +116,9 @@ describe('Array overloaded functions - type error validation', () => {
|
|
|
116
116
|
|
|
117
117
|
test('range type constraints work correctly', () => {
|
|
118
118
|
// @ts-expect-error - Range bounds should be numbers, not strings
|
|
119
|
-
expect(() => range('1', '5')).
|
|
119
|
+
expect(() => range('1', '5')).toThrowError(
|
|
120
|
+
'Expected a safe integer, got: 1',
|
|
121
|
+
);
|
|
120
122
|
|
|
121
123
|
// @ts-expect-error - Step should be number, not string
|
|
122
124
|
range(1, 5, 'invalid');
|
|
@@ -496,6 +496,54 @@ export function sum(array: readonly number[]): number {
|
|
|
496
496
|
return array.reduce((prev, curr) => prev + curr, 0);
|
|
497
497
|
}
|
|
498
498
|
|
|
499
|
+
/**
|
|
500
|
+
* Calculates the sum of numbers in an array.
|
|
501
|
+
*
|
|
502
|
+
* @example
|
|
503
|
+
*
|
|
504
|
+
* ```ts
|
|
505
|
+
* const numbers = [
|
|
506
|
+
* { value: 1 },
|
|
507
|
+
* { value: 2 },
|
|
508
|
+
* { value: 3 },
|
|
509
|
+
* { value: 4 },
|
|
510
|
+
* ] as const;
|
|
511
|
+
*
|
|
512
|
+
* const negatives = [{ value: 3 }, { value: -2 }, { value: 5 }] as const;
|
|
513
|
+
*
|
|
514
|
+
* const total = Arr.sumBy(numbers, (item) => item.value);
|
|
515
|
+
*
|
|
516
|
+
* const totalNegatives = Arr.sumBy(negatives, (item) => item.value);
|
|
517
|
+
*
|
|
518
|
+
* assert.isTrue(total === 10);
|
|
519
|
+
*
|
|
520
|
+
* assert.isTrue(totalNegatives === 6);
|
|
521
|
+
* ```
|
|
522
|
+
*/
|
|
523
|
+
export function sumBy(array: readonly [], mapFn: (item: unknown) => number): 0;
|
|
524
|
+
|
|
525
|
+
export function sumBy<N extends Uint, E>(
|
|
526
|
+
array: readonly E[],
|
|
527
|
+
mapFn: (item: E) => N,
|
|
528
|
+
): Uint;
|
|
529
|
+
|
|
530
|
+
export function sumBy<N extends Int, E>(
|
|
531
|
+
array: readonly E[],
|
|
532
|
+
mapFn: (item: E) => N,
|
|
533
|
+
): Int;
|
|
534
|
+
|
|
535
|
+
export function sumBy<N extends number, E>(
|
|
536
|
+
array: readonly E[],
|
|
537
|
+
mapFn: (item: E) => N,
|
|
538
|
+
): number;
|
|
539
|
+
|
|
540
|
+
export function sumBy<N extends number, E>(
|
|
541
|
+
array: readonly E[],
|
|
542
|
+
mapFn: (item: E) => N,
|
|
543
|
+
): number {
|
|
544
|
+
return array.reduce((prev, curr) => prev + mapFn(curr), 0);
|
|
545
|
+
}
|
|
546
|
+
|
|
499
547
|
/**
|
|
500
548
|
* Joins array elements into a string.
|
|
501
549
|
*
|
package/src/collections/imap.mts
CHANGED
|
@@ -846,7 +846,7 @@ type ISetMappedInterface<K, KM extends MapSetKeyType> = Readonly<{
|
|
|
846
846
|
*
|
|
847
847
|
* const raw = set.toRawSet();
|
|
848
848
|
*
|
|
849
|
-
* assert.isTrue(
|
|
849
|
+
* assert.isTrue(isSet(raw));
|
|
850
850
|
*
|
|
851
851
|
* assert.isTrue(raw.has(toKey({ x: 1, tag: 'a' })));
|
|
852
852
|
* ```
|
package/src/collections/iset.mts
CHANGED
|
@@ -218,7 +218,7 @@ describe('Optional test', () => {
|
|
|
218
218
|
});
|
|
219
219
|
|
|
220
220
|
test('should throw for None', () => {
|
|
221
|
-
expect(() => Optional.unwrapThrow(Optional.none)).
|
|
221
|
+
expect(() => Optional.unwrapThrow(Optional.none)).toThrowError(
|
|
222
222
|
'`unwrapThrow()` has failed because it is `None`',
|
|
223
223
|
);
|
|
224
224
|
});
|
|
@@ -300,7 +300,9 @@ describe('Optional test', () => {
|
|
|
300
300
|
test('should throw with custom message for None', () => {
|
|
301
301
|
const expectNumber = Optional.expectToBe<number>('Expected a number');
|
|
302
302
|
|
|
303
|
-
expect(() => expectNumber(Optional.none)).
|
|
303
|
+
expect(() => expectNumber(Optional.none)).toThrowError(
|
|
304
|
+
'Expected a number',
|
|
305
|
+
);
|
|
304
306
|
});
|
|
305
307
|
|
|
306
308
|
test('should be curried', () => {
|
|
@@ -312,7 +314,7 @@ describe('Optional test', () => {
|
|
|
312
314
|
|
|
313
315
|
expect(expectValidId(id1)).toBe('user-123');
|
|
314
316
|
|
|
315
|
-
expect(() => expectValidId(id2)).
|
|
317
|
+
expect(() => expectValidId(id2)).toThrowError('ID is required');
|
|
316
318
|
});
|
|
317
319
|
|
|
318
320
|
test('should support curried form', () => {
|
|
@@ -326,7 +328,7 @@ describe('Optional test', () => {
|
|
|
326
328
|
|
|
327
329
|
const noneValue = Optional.none;
|
|
328
330
|
|
|
329
|
-
expect(() => getValue(noneValue)).
|
|
331
|
+
expect(() => getValue(noneValue)).toThrowError('Value must exist');
|
|
330
332
|
});
|
|
331
333
|
|
|
332
334
|
test('should work with pipe when curried', () => {
|
|
@@ -338,7 +340,7 @@ describe('Optional test', () => {
|
|
|
338
340
|
|
|
339
341
|
assert.deepStrictEqual(someResult, { name: 'Alice', age: 30 });
|
|
340
342
|
|
|
341
|
-
expect(() => pipe(Optional.none).map(expectUser).value).
|
|
343
|
+
expect(() => pipe(Optional.none).map(expectUser).value).toThrowError(
|
|
342
344
|
'User not found',
|
|
343
345
|
);
|
|
344
346
|
});
|
|
@@ -248,7 +248,7 @@ describe('Result test', () => {
|
|
|
248
248
|
test('throws on Err result', () => {
|
|
249
249
|
const result = Result.err('error message');
|
|
250
250
|
|
|
251
|
-
expect(() => Result.unwrapThrow(result)).
|
|
251
|
+
expect(() => Result.unwrapThrow(result)).toThrowError('error message');
|
|
252
252
|
});
|
|
253
253
|
});
|
|
254
254
|
|
|
@@ -589,7 +589,7 @@ describe('Result test', () => {
|
|
|
589
589
|
test('should throw for Ok', () => {
|
|
590
590
|
const result = Result.ok(42);
|
|
591
591
|
|
|
592
|
-
expect(() => Result.unwrapErrThrow(result)).
|
|
592
|
+
expect(() => Result.unwrapErrThrow(result)).toThrowError(
|
|
593
593
|
'Expected Err but got Ok: 42',
|
|
594
594
|
);
|
|
595
595
|
});
|
|
@@ -599,7 +599,7 @@ describe('Result test', () => {
|
|
|
599
599
|
|
|
600
600
|
expect(() =>
|
|
601
601
|
Result.unwrapErrThrow(result, (obj) => `Object(id=${obj.id})`),
|
|
602
|
-
).
|
|
602
|
+
).toThrowError('Expected Err but got Ok: Object(id=1)');
|
|
603
603
|
});
|
|
604
604
|
});
|
|
605
605
|
|
|
@@ -665,9 +665,9 @@ describe('Result test', () => {
|
|
|
665
665
|
test('should throw custom error for Err result', () => {
|
|
666
666
|
const result = Result.err('failed');
|
|
667
667
|
|
|
668
|
-
expect(() =>
|
|
669
|
-
'Operation must succeed',
|
|
670
|
-
);
|
|
668
|
+
expect(() =>
|
|
669
|
+
Result.expectToBe(result, 'Operation must succeed'),
|
|
670
|
+
).toThrowError('Operation must succeed');
|
|
671
671
|
});
|
|
672
672
|
|
|
673
673
|
test('should support curried form', () => {
|
|
@@ -681,7 +681,9 @@ describe('Result test', () => {
|
|
|
681
681
|
|
|
682
682
|
const errResult: Result<string, string> = Result.err('failed');
|
|
683
683
|
|
|
684
|
-
expect(() => mustBeOk(errResult)).
|
|
684
|
+
expect(() => mustBeOk(errResult)).toThrowError(
|
|
685
|
+
'Expected successful result',
|
|
686
|
+
);
|
|
685
687
|
});
|
|
686
688
|
|
|
687
689
|
test('should work with pipe when curried', () => {
|
|
@@ -693,7 +695,7 @@ describe('Result test', () => {
|
|
|
693
695
|
|
|
694
696
|
expect(
|
|
695
697
|
() => pipe(Result.err('validation error')).map(mustBeOk).value,
|
|
696
|
-
).
|
|
698
|
+
).toThrowError('Validation failed');
|
|
697
699
|
});
|
|
698
700
|
});
|
|
699
701
|
|
|
@@ -171,15 +171,15 @@ describe('TernaryResult test', () => {
|
|
|
171
171
|
test('throwing unwrap variants provide descriptive errors', () => {
|
|
172
172
|
expect(() =>
|
|
173
173
|
TernaryResult.unwrapThrow(TernaryResult.warn('notice', 'warned')),
|
|
174
|
-
).
|
|
174
|
+
).toThrowError(/Warn/u);
|
|
175
175
|
|
|
176
176
|
expect(() =>
|
|
177
177
|
TernaryResult.unwrapWarnThrow(TernaryResult.err('no warn')),
|
|
178
|
-
).
|
|
178
|
+
).toThrowError(/Err/u);
|
|
179
179
|
|
|
180
180
|
expect(() =>
|
|
181
181
|
TernaryResult.unwrapErrThrow(TernaryResult.ok('no err')),
|
|
182
|
-
).
|
|
182
|
+
).toThrowError(/Ok/u);
|
|
183
183
|
});
|
|
184
184
|
|
|
185
185
|
test('expectToBe unwraps Ok values', () => {
|
|
@@ -187,7 +187,7 @@ describe('TernaryResult test', () => {
|
|
|
187
187
|
|
|
188
188
|
expect(() =>
|
|
189
189
|
TernaryResult.expectToBe(TernaryResult.err('x'), 'missing'),
|
|
190
|
-
).
|
|
190
|
+
).toThrowError(/missing/u);
|
|
191
191
|
});
|
|
192
192
|
|
|
193
193
|
test('zip prefers Err over Warn or Ok.', () => {
|