export type Awaited = T extends Promise ? U : T; export type UnwrapArray = T extends Array ? U : T; export function keys(object: Record): S[] { // eslint-disable-next-line @typescript-eslint/no-unsafe-return, @typescript-eslint/no-explicit-any return Object.keys(object) as any; } // eslint-disable-next-line @typescript-eslint/no-explicit-any export type ExtractTail = T extends [infer _, ...infer Tail] ? Tail : never; export { sleep } from "./sleep.js"; export { naturalNumbers } from "./natural-numbers.js"; export { UrlWithNewParams } from "./url-with-new-params.js"; export { exec } from "./exec.js"; export { importPath, curryImportPath } from "./import-path.js"; export { listCollections } from "./list-collections.js"; export { walkDir } from "./walk.js"; export { assertThrowsAsync } from "./assert-throws.js"; export * from "./make-slug.js"; export * from "./render-attributes.js"; export * from "./format-external-url.js"; export * from "./base64.js"; export * from "./with-fallback.js";