Type Alias

GLib-2.0GLib$ParseDeepVariantTuple

$ParseDeepVariantTuple: string extends State
    ? VariantTypeError<
        "$ParseDeepVariantTuple: 'string' is not a supported type.",
    >
    : State extends `)${infer Remaining}`
        ? [Memo, Remaining]
        : $ParseDeepVariantValue<State> extends [infer Value, infer NextState]
            ? NextState extends string
                ? $ParseDeepVariantTuple<NextState, [...Memo, Value]>
                : VariantTypeError<"$ParseDeepVariantTuple: NextState is not string">
            : VariantTypeError<`$ParseDeepVariantTuple: Invalid state: ${State}`>

Parses tuple/struct content for deep unpacking

Type Parameters

  • State extends string
  • Memo extends any[] = []