@@ -72,7 +72,7 @@ export class Ok<T> {
7272 * Transform the error (no-op for Ok).
7373 */
7474 mapErr < F > ( _fn : ( _error : never ) => F ) : Result < T , F > {
75- return this as any
75+ return this as unknown as Result < T , F >
7676 }
7777
7878 /**
@@ -119,7 +119,7 @@ export class Err<E = Error> {
119119 * Chain another result-returning operation (no-op for Err).
120120 */
121121 andThen < U , F > ( _fn : ( _value : never ) => Result < U , F > ) : Result < U , E | F > {
122- return this as any
122+ return this as unknown as Result < U , E | F >
123123 }
124124
125125 /**
@@ -140,7 +140,7 @@ export class Err<E = Error> {
140140 * Transform the success value (no-op for Err).
141141 */
142142 map < U > ( _fn : ( _value : never ) => U ) : Result < U , E > {
143- return this as any
143+ return this as unknown as Result < U , E >
144144 }
145145
146146 /**
@@ -203,7 +203,7 @@ export const ResultUtils = {
203203 /**
204204 * Convert all Results to Ok values or return first error.
205205 */
206- all < T extends readonly Result < any , any > [ ] > (
206+ all < T extends readonly Result < unknown , unknown > [ ] > (
207207 results : T ,
208208 ) : Result <
209209 { [ K in keyof T ] : T [ K ] extends Result < infer U , any > ? U : never } ,
@@ -213,11 +213,12 @@ export const ResultUtils = {
213213 [ K in keyof T ] : T [ K ] extends Result < infer U , any > ? U : never
214214 }
215215 type ExtractedValue = T [ number ] extends Result < infer U , any > ? U : never
216+ type ExtractedError = T [ number ] extends Result < any , infer E > ? E : never
216217 const values : ExtractedValue [ ] = [ ]
217218 for ( let i = 0 ; i < results . length ; i ++ ) {
218219 const result = results [ i ] !
219220 if ( result . isErr ( ) ) {
220- return result as any
221+ return result as unknown as Result < ExtractedValues , ExtractedError >
221222 }
222223 values . push ( ( result as Ok < ExtractedValue > ) . value )
223224 }
@@ -227,7 +228,7 @@ export const ResultUtils = {
227228 /**
228229 * Return the first Ok result or the last error.
229230 */
230- any < T extends readonly Result < any , any > [ ] > ( results : T ) : T [ number ] {
231+ any < T extends readonly Result < unknown , unknown > [ ] > ( results : T ) : T [ number ] {
231232 let lastError : Result < unknown , unknown > | null = null
232233 for ( const result of results ) {
233234 if ( result . isOk ( ) ) {
0 commit comments