PS
function ok<T = undefined>(value?: T): Result<T, never> {
return {
isOk: true,
isErr: false,
value: value as T,
} as const;
}Size: a a a
PS
function ok<T = undefined>(value?: T): Result<T, never> {
return {
isOk: true,
isErr: false,
value: value as T,
} as const;
}В
🦉
this - это всего лишь дополнительный implicit параметр функции (можно подставить другой this, если нужно)🦉
PS
"extends": ["codelyzer"], ?˸A
function ok<T = undefined>(value?: T): Result<T, never> {
return {
isOk: true,
isErr: false,
value: value as T,
} as const;
}.ap() (Apply)? А если вдруг err и ok будут асинхронно определяться?.. Много нюансов˸A
MS
🦉
˸A
this. Или проще иметь функцию, где this - параметр? Это всё ООП vs ФП🦉
this. Или проще иметь функцию, где this - параметр? Это всё ООП vs ФПresult.or(another) нежели импортить or откуда-то там и применять его вообще не так семантично, как это делает метод🦉
result.or(another) нежели импортить or откуда-то там и применять его вообще не так семантично, как это делает методresult or anotheror result anotherP

˸A
result.or(another) нежели импортить or откуда-то там и применять его вообще не так семантично, как это делает метод🦉
🦉
🦉
˸A
˸A
function ok<T = undefined>(value?: T): Result<T, never> {
return {
isOk: true,
isErr: false,
value: value as T,
} as const;
}PS
function combine<T extends unknown[]>(results: ResultsOfT<T>): Result<T> {
for (const result of results) {
if (result.isErr) return result;
}
return Result.ok((results as OksOfT<T>).map(result => result.value) as T);
}