1234567891011121314151617181920212223 |
- import {decodeScalar} from 'sentry/utils/queryString';
- const OPTIONS = ['' as const, '2' as const, '3' as const, '4' as const, '5' as const];
- const DEFAULT = '';
- type ResponseCodeClass = (typeof OPTIONS)[number];
- export default function decode(
- value: string | string[] | undefined | null
- ): ResponseCodeClass {
- const decodedValue = decodeScalar(value, DEFAULT);
- if (isAValidOption(decodedValue)) {
- return decodedValue;
- }
- return DEFAULT;
- }
- function isAValidOption(maybeOption: string): maybeOption is ResponseCodeClass {
- // Manually widen to allow the comparison to string
- return (OPTIONS as unknown as string[]).includes(maybeOption as ResponseCodeClass);
- }
|