/** * A utility type for describing a single object or an array of objects */ export type SingleOrArray = T | T[]; /** * A function that takes several arguments and outputs something. * * @see {@link https://en.wikipedia.org/wiki/Variadic_function} */ export type VariadicFunction = (...dependencies: Dependencies) => ReturnType; export type Dictionary = Record; export type nullish = null | undefined; export type UnionToIntersection = (U extends any ? (k: U) => void : never) extends (k: infer I) => void ? I : never; type Join = K extends string | number ? P extends string | number ? `${K}${"" extends P ? "" : "."}${P}` : never : never; type Prev = [never, 0, 1, 2, 3, 4, 5, 6, 7, ...0[]]; export type Paths = [D] extends [never] ? never : T extends object ? { [K in keyof T]-?: K extends string | number ? `${K}` | Join> : never; }[keyof T] : ""; export {}; //# sourceMappingURL=global.types.d.ts.map