Код IT
← Каталог

Справочник по TypeScript — Option и Result

Фрагмент из «Справочник по TypeScript»: Option и Result.

typescript javascriptencyclopedia301 embed URL статья в энциклопедии
TypeScript main.ts
type Option<T> =
  | { tag: 'some'; value: T }
  | { tag: 'none' };

type Result<T, E = string> =
  | { ok: true; value: T }
  | { ok: false; error: E };

function findUser(id: string): Option<User> {
  const u = db.get(id);
  return u ? { tag: 'some', value: u } : { tag: 'none' };
}

function loadConfig(path: string): Result<Config, 'not-found' | 'invalid-json'> {
  // ...
}
type Option<T> =
  | { tag: 'some'; value: T }
  | { tag: 'none' };

type Result<T, E = string> =
  | { ok: true; value: T }
  | { ok: false; error: E };

function findUser(id: string): Option<User> {
  const u = db.get(id);
  return u ? { tag: 'some', value: u } : { tag: 'none' };
}

function loadConfig(path: string): Result<Config, 'not-found' | 'invalid-json'> {
  // ...
}