A TypeScript string enum for compile-time safety when working with event.key
.
npm install ts-key-enum --save
Tired of referencing keyboard keys with a string?
onKeyPress = (ev) => {
// whoops, spelled "Enter" wrong!
if (ev.key === 'ENter') {
...
}
}
Me too. With this module, you can do this instead (in a TypeScript file):
onKeyPress = (ev) => {
// much better
if (ev.key === Key.Enter) {
...
}
}
This is similar to the ts-keycode-enum module, but it provides an enum with string values that correspond with the event.key
values instead of number values that correspond to the deprecated event.which
and event.keyCode
values.
To use this module, import the Key
enum at the top of your TypeScript file:
import { Key } from 'ts-key-enum';
You can now use the enum value in place of key strings throughout the file:
// if (ev.key === 'Escape') { ... }
if (ev.key === Key.Escape) { ... }
See Key.enum.ts for a complete list of available keys.
In addition, to aid with readability, a number of enum values have aliases. For example:
// this is true - these values are equal
Key.Hash === Key.Pound
Use whichever value makes more sense for readability.
To build this module yourself, first install its dependencies using
npm install
Then, run the build using
npm run build
Build output is placed in the dist
directory.
This module only contains some of the most commonly-used key string values. There are many more, as you can see by taking a look at this complete list. If this module is missing enum values that you need, feel free to request the additions via an issue or a pull request.
MIT