2.0.0 • Published 2 years ago

ts-unimplemented v2.0.0

Weekly downloads
56
License
MIT
Repository
github
Last release
2 years ago

Unimplemented for TypeScript

Utility function to indicate unimplemented code by throwing with a message of "Not implemented".

This allows your code to type-check, which is useful if you are implementing an interface that requires multiple methods which you don't plan of using all of.

The difference between unimplemented and todo is that while todo conveys an intent of implementing the functionality later and the message is "not yet implemented", unimplemented makes no such claims. Its message is "not implemented".

Advantages over simply throwing an error:

  • You can easily search your codebase for unimplemented()
  • The error thrown will have the code ERR_UNIMPLEMENTED
  • Very clear what intentions it conveys

Installation

npm install --save ts-unimplemented

Usage

import unimplemented from 'ts-unimplemented'

// Say we have an interface Foo:
interface Foo {
  bar(): number
  baz(): void
  qux(): Promise<number>
}

// We want to implement Foo for 'MyClass', but for some reason it only makes sense to implement the bar() function. baz() and qux() will still need to be defined in our implementation of Foo, but we can use unimplemented in their definitions to allow our code to compile.
//
// We still want to have our program stop running if the unimplemented methods are reached.
class MyClass implements Foo {
  bar () {
    return 1 + 1
  }

  baz () {
    return unimplemented()
  }

  qux () {
    return unimplemented()
  }
}

Related Packages

Prior Art