{"version":3,"file":"typescript.mjs","sources":["../../src/utils/typescript.ts"],"sourcesContent":["// import type { AppContext, Plugin } from 'vue';\r\n//\r\n// export type SFCWithInstall<T> = T & Plugin;\r\n//\r\n// export type SFCInstallWithContext<T> = SFCWithInstall<T> & {\r\n//   _context: AppContext | null;\r\n// };\r\n\r\nexport const mutable = <T extends readonly any[] | Record<string, unknown>>(val: T) =>\r\n  val as Mutable<typeof val>;\r\nexport type Mutable<T> = { -readonly [P in keyof T]: T[P] };\r\n\r\nexport type HTMLElementCustomized<T> = HTMLElement & T;\r\n\r\n/**\r\n * @deprecated stop to use null\r\n * @see {@link https://github.com/sindresorhus/meta/discussions/7}\r\n */\r\nexport type Nullable<T> = T | null;\r\n\r\nexport type Arrayable<T> = T | T[];\r\nexport type Awaitable<T> = Promise<T> | T;\r\n"],"names":[],"mappings":"AAQa,MAAA,OAAA,GAAU,CAAqD,GAC1E,KAAA;;;;"}