/
makaevS
/
embodied-types
Обзор
Документация
Войти
/
makaevS
/
embodied-types
Код
Запросы
0
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
step_4
src/StrBool.ts
39 строк
665 B
Макаев Степан Александрович
add step_4 updates
20 мар 2024, 09:05
20 мар 2024, 09:05
7d5c1ce
Код
Авторство
О чём код?
// 1 export type StrBool = 'foo' | 'bar' | null; // 2 export const StrBool = { // 2.1 Foo: 'foo', Bar: 'bar', Null: null, // 2.1 is, isFoo, isBar, isNull, intoBoolean, }; // 3 function is(value: unknown): value is StrBool { return isFoo(value) || isBar(value) || isNull(value); } // 4 function isFoo(value: unknown): value is StrBool { return value === StrBool.Foo; } function isBar(value: unknown): value is StrBool { return value === StrBool.Bar; } function isNull(value: unknown): value is StrBool { return value === StrBool.Null; } // 5 function intoBoolean(value: StrBool): boolean { return isFoo(value) || isNull(value); }