keymanapp / keymanapp/keyman

chore(common): create a common set of key identifiers

Open
#9,367 1 comment 0 reactions 1 assignee Claimed by @mcdurdin View on GitHub
chore common/ common/web/
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.