/* eslint-disable @typescript-eslint/no-unused-vars */ type ArrayPushAny = [...Arr, any]; type ArrayShiftAny = Arr extends [infer Shifted, ...infer Rest] ? Rest : []; type ArrayPopAny = Arr extends [...infer Rest, infer Popped] ? Rest : []; type ArrayOfLength = Arr['length'] extends 999 ? [] : Arr['length'] extends Length ? Arr : ArrayOfLength>; export type Increment< Value extends number, ArrayOfIncrementedLength = ArrayPushAny>, > = ArrayOfIncrementedLength extends any[] ? ArrayOfIncrementedLength['length'] extends number ? ArrayOfIncrementedLength['length'] : Value : Value; export type Decrement< Value extends number, ArrayOfDecrementedLength = ArrayPopAny>, > = ArrayOfDecrementedLength extends any[] ? ArrayOfDecrementedLength['length'] extends number ? ArrayOfDecrementedLength['length'] : Value : Value; type UnionToIntersection = (U extends any ? (k: U) => void : never) extends (k: infer I) => void ? I : never; type UnionToOvlds = UnionToIntersection void : never>; type PopUnion = UnionToOvlds extends (a: infer A) => void ? A : never; type IsUnion = [T] extends [UnionToIntersection] ? false : true; type UnionToArray = IsUnion extends true ? UnionToArray>, [PopUnion, ...A]> : [T, ...A]; type UnionOfValuesOf = T[keyof T]; type TraverseLevelBracketsGroup< Template extends string, Depth extends number = 0, NexusLength extends number = 0, Escaping extends boolean = false, > = NexusLength extends LinkedSleeveNexusLimit ? { next: UnwrapLinkedSleeve> } : Template extends `${infer Char}${infer Rest}` ? Escaping extends false ? Char extends "'" ? TraverseLevelBracketsGroup, true> : Char extends '{' ? [Char, TraverseLevelBracketsGroup, Increment, Escaping>] : Char extends '}' ? Depth extends 1 ? ['}'] : [Char, TraverseLevelBracketsGroup, Increment, Escaping>] : Depth extends 0 ? TraverseLevelBracketsGroup, Escaping> : [Char, TraverseLevelBracketsGroup, Escaping>] : Char extends `${'{' | '}'}` ? Depth extends 0 ? TraverseLevelBracketsGroup, Escaping> : [Char, TraverseLevelBracketsGroup, Escaping>] : Char extends "'" ? Depth extends 0 ? TraverseLevelBracketsGroup, false> : [Char, [Char, TraverseLevelBracketsGroup, false>]] : TraverseLevelBracketsGroup, Escaping> : []; export type LinkedSleeveNexusLimit = 45; export type UnwrapLinkedSleeve = Items extends [infer A, [infer B, infer C]] ? A extends string ? B extends string ? UnwrapLinkedSleeve<[`${A}${B}`, C]> : Items : Items : Items extends [infer A, { next: infer B }] ? UnwrapLinkedSleeve<[A, B]> : Items extends [infer A, [infer B]] ? A extends string ? B extends string ? `${A}${B}` : Items : Items : Items extends [infer A, infer B] ? A extends string ? B extends string ? `${A}${B}` : Items : Items : Items; type FinalTopLevelBracketsGroup< Template extends string, BracketsGroup = UnwrapLinkedSleeve>, > = BracketsGroup extends string ? BracketsGroup : never; export type TopLevelBracketsGroup