by 蛭子屋双六 @sugoroku-y
確定した文字列リテラル型かどうか、を判別したい場合があります。例えばクラスの識別子として指定された型が確定した文字列リテラル型であるか確認したいときです。
type Action<ID extends string> = { readonly id: ID };
確定している必要があるので以下の型はfalseと判定する必要があります。
- never型
- 文字列リテラル型のUnion
- string、number、bigint、booleanが埋め込まれたテンプレートリテラル型
与えられた型Sが確定した文字列リテラル型かどうかを判別して下さい