@neodx/vfs
Version:
Simple virtual file system - working dir context, lazy changes, different modes, integrations and moreover
1 lines • 1.43 kB
Source Map (JSON)
{"version":3,"file":"create-vfs-plugin-CTZbwgZU.mjs","sources":["../../../src/create-vfs-plugin.ts"],"sourcesContent":["import type { PrivateVfsApi } from './core/scopes';\nimport type { BaseVfs } from './core/types';\n\nexport interface VfsPlugin<Extensions> {\n <Vfs extends BaseVfs & Partial<Extensions>>(vfs: Vfs, api: PrivateVfsApi<Vfs>): Vfs & Extensions;\n}\n\nexport function createVfsPlugin<const Extensions extends Record<keyof any, any>>(\n name: string,\n handler: <Vfs extends BaseVfs>(\n vfs: Vfs & Partial<Extensions>,\n api: PrivateVfsApi<Vfs>\n ) => Vfs & Partial<Extensions>\n): VfsPlugin<Extensions> {\n function plugin<Vfs extends BaseVfs & Partial<Extensions>>(\n vfs: Vfs,\n api: PrivateVfsApi<Vfs>\n ): Vfs & Extensions {\n return handler(vfs as unknown as Vfs & Partial<Extensions>, api) as unknown as Vfs & Extensions;\n }\n\n Object.defineProperty(plugin, 'name', { value: name });\n\n return Object.assign(plugin, {\n [pluginSymbol]: name\n });\n}\n\nconst pluginSymbol = Symbol('vfs-plugin');\n"],"names":["createVfsPlugin","name","handler","plugin","vfs","api","Object","defineProperty","value","assign","pluginSymbol","Symbol"],"mappings":"AAOO,SAASA,EACdC,CAAY,CACZC,CAG8B,EAE9B,SAASC,EACPC,CAAQ,CACRC,CAAuB,EAEvB,OAAOH,EAAQE,EAA6CC,EAC9D,CAIA,OAFAC,OAAOC,cAAc,CAACJ,EAAQ,OAAQ,CAAEK,MAAOP,CAAK,GAE7CK,OAAOG,MAAM,CAACN,EAAQ,CAC3B,CAACO,GAAeT,CAClB,EACF,CAEA,IAAMS,EAAeC,OAAO"}