We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
nightly build
"compilerOptions": { "module": "amd", "moduleResolution": "classic", "noEmitOnError": true, "allowUnreachableCode": false, "allowUnusedLabels": false, "outDir": "./built", "noResolve": true, "noImplicitAny": true, "noImplicitReturns": true, "forceConsistentCasingInFileNames": true, "noFallthroughCasesInSwitch": true, "target": "es5" // "strictNullChecks": true }
export type Optional<a> = Some<a> | None; export interface None { readonly none: string; } export interface Some<a> { readonly some: a; } export const none : None = { none: '' }; export function isSome<a>(value: Optional<a>): value is Some<a> { return 'some' in value; } export function fn<r>(): void { let result: Optional<r> = none; isSome(result) ? result.some : undefined }
nightly build