Type Alias

GLib-2.0GLib$SkipToNextElement

$SkipToNextElement: string extends State
    ? VariantTypeError<"Invalid state">
    : State extends `${infer Type}${infer Rest}`
        ? Type extends | "s"
        | "o"
        | "g"
        | "b"
        | "n"
        | "q"
        | "t"
        | "d"
        | "u"
        | "i"
        | "x"
        | "y"
        | "h"
        | "?"
        | "v"
            ? [Rest]
            : Type extends "a"
                ? Rest extends `y${infer R}`
                    ? [R]
                    : Rest extends `{${infer Inner}`
                        ? $SkipUntil<Inner, "}"> extends [infer R]
                            ? [R]
                            : VariantTypeError<"Failed to skip dictionary">
                        : $SkipToNextElement<Rest> extends [infer R]
                            ? [R]
                            : VariantTypeError<"Failed to skip array element">
                : Type extends "m"
                    ? $SkipToNextElement<Rest>
                    : Type extends "("
                        ? $SkipUntil<Rest, ")"> extends [infer R]
                            ? [R]
                            : VariantTypeError<"Failed to skip tuple">
                        : Type extends "{"
                            ? $SkipUntil<Rest, "}"> extends [infer R]
                                ? [R]
                                : VariantTypeError<"Failed to skip key-value">
                            : VariantTypeError<`Unknown type: ${Type}`>
        : VariantTypeError<"Invalid format">

Skips a single variant element to find the next element boundary

Type Parameters

  • State extends string
  • Depth extends number = 0