* @target web * @partial
(s: unknown, enumType: any)
| 10 | * @partial |
| 11 | */ |
| 12 | public static parseEnum<T>(s: unknown, enumType: any): T | undefined { |
| 13 | switch (typeof s) { |
| 14 | case 'string': |
| 15 | const num = Number.parseInt(s, 10); |
| 16 | return Number.isNaN(num) |
| 17 | ? (enumType[Object.keys(enumType).find(k => k.toLowerCase() === s.toLowerCase()) as any] as any) |
| 18 | : (num as unknown as T); |
| 19 | case 'number': |
| 20 | return s as unknown as T; |
| 21 | case 'undefined': |
| 22 | case 'object': |
| 23 | return undefined; |
| 24 | } |
| 25 | throw new AlphaTabError(AlphaTabErrorType.Format, `Could not parse enum value '${s}'`); |
| 26 | } |
| 27 | |
| 28 | /** |
| 29 | * @target web |
no test coverage detected