mirror of
https://github.com/type-challenges/type-challenges.git
synced 2025-12-08 19:06:13 +00:00
16 lines
829 B
TypeScript
16 lines
829 B
TypeScript
import type { Equal, Expect } from '@type-challenges/utils'
|
|
|
|
type cases = [
|
|
Expect<Equal<ParseQueryString<''>, {}>>,
|
|
Expect<Equal<ParseQueryString<'k1'>, { k1: true }>>,
|
|
Expect<Equal<ParseQueryString<'k1&k1'>, { k1: true }>>,
|
|
Expect<Equal<ParseQueryString<'k1&k2'>, { k1: true; k2: true }>>,
|
|
Expect<Equal<ParseQueryString<'k1=v1'>, { k1: 'v1' }>>,
|
|
Expect<Equal<ParseQueryString<'k1=v1&k1=v2'>, { k1: ['v1', 'v2'] }>>,
|
|
Expect<Equal<ParseQueryString<'k1=v1&k2=v2'>, { k1: 'v1'; k2: 'v2' }>>,
|
|
Expect<Equal<ParseQueryString<'k1=v1&k2=v2&k1=v2'>, { k1: ['v1', 'v2']; k2: 'v2' }>>,
|
|
Expect<Equal<ParseQueryString<'k1=v1&k2'>, { k1: 'v1'; k2: true }>>,
|
|
Expect<Equal<ParseQueryString<'k1=v1&k1=v1'>, { k1: 'v1' }>>,
|
|
Expect<Equal<ParseQueryString<'k1=v1&k2=v2&k1=v2&k1=v3'>, { k1: ['v1', 'v2', 'v3']; k2: 'v2' }>>,
|
|
]
|