1.4.0 • Published 1 year ago

assert-never v1.4.0

Weekly downloads
559,533
License
MIT
Repository
github
Last release
1 year ago

Assert Never npm version

Helper function for exhaustive checks of discriminated unions in TypeScript.

Installation

npm install --save assert-never

Usage

import {assertNever} from "assert-never";

type A = {type: 'a'};
type B = {type: 'b'};
type Union = A | B;

function doSomething(arg: Union) {
  if (arg.type === 'a') {
    return something;
  }

  if (arg.type === 'b') {
    return somethingElse;
  }

  // TS will error if there are other types in the union
  // Will throw an Error when called at runtime. Use `assertNever(arg, true)`
  // instead to fail silently.
  return assertNever(arg);
}
with@af_selim/spot@olivervorasai/sliderasterjs@everything-registry/sub-chunk-1172t-graphqltest-db-servicespot-liangjihuaviteshotjest-compact-reporterkekalkira-clientkira-core-firebasekira-server-firebase@ui5-language-assistant/xml-views-completion@ui5-language-assistant/language-server@zalastax/nolb-assealisselisss-lab3agikit-coreagikit-pic-editorember-webpack-hot-reloadember-animatedettscalderacj-tag-checkerdmenu-jsontsprotobuf-codec@brydget/restifyts-shiftmfsqlcheckerreact-native-remote-websb-apirelease-planprettier-plugin-slicepumpdotfunproxayrethinkdb-watchreact-screenshot-testreact-screenshot-test-tt-forkreact-visual-regression-testslice2mdslice2ts@fluentui-react-native/theme-tokens@fluentui-react-native/default-theme@fluentui-react-native/experimental-activity-indicator@fluentui-react-native/experimental-shimmer@fluentui-react-native/apple-theme@gitbook/cache-tags@johngw/google-ad-manager-api@johngw/stream@johngw/stream-common@johngw/stream-test@object-studio/react-native-web@notmeagain/proxay@poker-apprentice/hand-history-analyzer@poker-apprentice/hand-history-parser@paima/providers@paima/mw-core@previewjs/app-foundations@previewjs/core@previewjs/e2e-test-runner@previewjs/serializable-values@previewjs/testing@previewjs/ts-helpers@previewjs/type-analyzer@previewjs/vfs@af_cargo/spot@agikit/core@agikit/react-editors@alch/alchemy-web3@cfp-studio/core@cfp-studio/serializable-values@cfp-studio/type-analyzer@cfp-studio/vfs@cardstack/hub@airtasker/spot@dmgt/google-ad-manager-api@medflyt/mfsqlchecker@medflyt/test-db-service@rollingversions/canary@runtyping/test-type-writers@cubejs-backend/api-gateway@codemod-tools/babel-scope@databases/pg-migrations@databases/pg-schema-print-types@databases/bigquery@databases/migrations-base@databases/mock-db@databases/mysql-schema-print-types@databases/pg@real_ate/fake-embroider-compat@real_ate/fake-embroider-core@real_ate/fake-embroider-macros@real_ate/fake-embroider-vite@real_ate/fake-embroider-webpack@dinert/component@sdeverywhere/check-core@sdeverywhere/check-ui-shell@sdeverywhere/parse@sdeverywhere/plugin-check
1.4.0

1 year ago

1.3.0

1 year ago

1.2.1

6 years ago

1.2.0

7 years ago

1.1.0

8 years ago

1.0.0

9 years ago