(
values: T,
options: {
normalize?: (raw: string) => string;
message?: string | ((raw: string | undefined) => string);
} = {},
)
| 39 | } |
| 40 | |
| 41 | export function defineStringEnum<const T extends readonly string[]>( |
| 42 | values: T, |
| 43 | options: { |
| 44 | normalize?: (raw: string) => string; |
| 45 | message?: string | ((raw: string | undefined) => string); |
| 46 | } = {}, |
| 47 | ): { |
| 48 | readonly values: T; |
| 49 | is(value: string): value is T[number]; |
| 50 | parse(value: string | undefined): T[number]; |
| 51 | } { |
| 52 | return { |
| 53 | values, |
| 54 | is: (value): value is T[number] => isStringMember(values, value), |
| 55 | parse: (value): T[number] => parseStringMember(values, value, options), |
| 56 | }; |
| 57 | } |
no test coverage detected