chore(common): create a common set of key identifiers
- Dominant language
- Pascal
- Stars
- 534
- Forks
- 143
- Avg merge
- 2d 10h
- Merged PRs (30d)
- 113
Description
I take it we can't use any other pre-existing key-id enumerating definitions we've made?
If the issue is that we need to leave out a few members from a different definition, you might like this TS utility-type feature: [`Exclude`](https://www.typescriptlang.org/docs/handbook/utility-types.html#excludeuniontype-excludedmembers)
(If just including more, just `|` the existing set with the new entries.)
There are some other fun utility-types there as well that I make use of from time to time.
One fun thing that could be useful when merging with KMW's `Codes` property: a `Record` type keyed by a type over a set of literals like this must actually provide values for each and every key of the set. Not so if the key type is `string`... only if the key type is defined by a set of string _literals_.
_Originally posted by @jahorton in https://github.com/keymanapp/keyman/pull/9336#discussion_r1278771190_
Contributor guide
Assessment
This issue has not been assessed yet.