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 another
or result another
P
˸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);
}