Skip to content

Latest commit

 

History

History
30 lines (25 loc) · 1.04 KB

File metadata and controls

30 lines (25 loc) · 1.04 KB

Home > types-kit > InternalUrlQueryToObject

InternalUrlQueryToObject type

Signature:

type InternalUrlQueryToObject<
  T extends string,
  Result extends object = {},
> = T extends `${infer Current}&${infer Rest}`
  ? Current extends `${infer K}=${infer V}`
    ? InternalUrlQueryToObject<
        Rest,
        InternalAddUrlQueryValueToResult<Result, K, V>
      >
    : InternalUrlQueryToObject<
        Rest,
        InternalAddUrlQueryValueToResult<Result, Current, undefined>
      >
  : T extends `${infer K}=${infer V}`
  ? InternalAddUrlQueryValueToResult<Result, K, V>
  : T extends ''
  ? Result
  : InternalAddUrlQueryValueToResult<Result, T, undefined>

References: InternalUrlQueryToObject, InternalAddUrlQueryValueToResult