1
- import { nullableAsArray } from "../misc/misc.ts" ;
2
-
3
1
export type ArrayResultOptions = {
4
2
cause : unknown ;
5
3
isHtml : boolean ;
@@ -60,11 +58,11 @@ export class ArrayResult<const T> {
60
58
) ;
61
59
}
62
60
}
63
- filterMap < const U > ( mapper : ( value : T ) => U ) : ArrayResult < NonNullable < U > > {
64
- return this . flatMap ( ( value ) =>
65
- new ArrayResult ( nullableAsArray ( mapper ( value ) ) )
66
- ) ;
67
- }
61
+ // filterMap<const U>(mapper: (value: T) => U): ArrayResult<NonNullable<U>> {
62
+ // return this.flatMap((value) =>
63
+ // new ArrayResult(nullableAsArray(mapper(value)))
64
+ // );
65
+ // }
68
66
sort ( comparer : ( left : T , right : T ) => number ) : ArrayResult < T > {
69
67
if ( this . isError ( ) ) {
70
68
return this ;
@@ -75,13 +73,13 @@ export class ArrayResult<const T> {
75
73
sortBy ( mapper : ( value : T ) => number ) : ArrayResult < T > {
76
74
return this . sort ( ( left , right ) => mapper ( left ) - mapper ( right ) ) ;
77
75
}
78
- addErrorWhenNone ( error : ( ) => ResultError ) : ArrayResult < T > {
79
- if ( this . isError ( ) && this . errors . length === 0 ) {
80
- return ArrayResult . errors ( [ error ( ) ] ) ;
81
- } else {
82
- return this ;
83
- }
84
- }
76
+ // addErrorWhenNone(error: () => ResultError): ArrayResult<T> {
77
+ // if (this.isError() && this.errors.length === 0) {
78
+ // return ArrayResult.errors([error()]);
79
+ // } else {
80
+ // return this;
81
+ // }
82
+ // }
85
83
asIterableResult ( ) : IterableResult < T > {
86
84
if ( this . isError ( ) ) {
87
85
return IterableResult . errors ( this . errors ) ;
@@ -100,27 +98,27 @@ export class ArrayResult<const T> {
100
98
ArrayResult . empty ( ) ,
101
99
) ;
102
100
}
103
- static combine < T extends ReadonlyArray < unknown > > (
104
- ...arrayResults :
105
- & Readonly < { [ I in keyof T ] : ArrayResult < T [ I ] > } >
106
- & Readonly < { length : T [ "length" ] } >
107
- ) : ArrayResult < T > {
108
- // we resorted to using `any` types here, make sure it works properly
109
- return arrayResults . reduce (
110
- ( left : ArrayResult < any > , right ) => {
111
- if ( left . isError ( ) && right . isError ( ) ) {
112
- return ArrayResult . concat ( left , right ) ;
113
- } else if ( left . isError ( ) ) {
114
- return left ;
115
- } else if ( right . isError ( ) ) {
116
- return right ;
117
- } else {
118
- return left . flatMap ( ( left ) => right . map ( ( right ) => [ ...left , right ] ) ) ;
119
- }
120
- } ,
121
- new ArrayResult < any > ( [ [ ] ] ) ,
122
- ) as ArrayResult < T > ;
123
- }
101
+ // static combine<T extends ReadonlyArray<unknown>>(
102
+ // ...arrayResults:
103
+ // & Readonly<{ [I in keyof T]: ArrayResult<T[I]> }>
104
+ // & Readonly<{ length: T["length"] }>
105
+ // ): ArrayResult<T> {
106
+ // // we resorted to using `any` types here, make sure it works properly
107
+ // return arrayResults.reduce(
108
+ // (left: ArrayResult<any>, right) => {
109
+ // if (left.isError() && right.isError()) {
110
+ // return ArrayResult.concat(left, right);
111
+ // } else if (left.isError()) {
112
+ // return left;
113
+ // } else if (right.isError()) {
114
+ // return right;
115
+ // } else {
116
+ // return left.flatMap((left) => right.map((right) => [...left, right]));
117
+ // }
118
+ // },
119
+ // new ArrayResult<any>([[]]),
120
+ // ) as ArrayResult<T>;
121
+ // }
124
122
static from < T > ( arrayResult : ( ) => ArrayResult < T > ) : ArrayResult < T > {
125
123
try {
126
124
return arrayResult ( ) ;
0 commit comments