{"_id":"@acte-de-presence/vfs","_rev":"4-a97f0114b4a50ac28b26d8f25008e150","name":"@acte-de-presence/vfs","dist-tags":{"latest":"0.0.4"},"versions":{"0.0.1":{"name":"@acte-de-presence/vfs","version":"0.0.1","main":"./src/index.js","typings":"./src/index.d.ts","description":"This library is the Virtual filesystem used by the Acte de Présence framework","_id":"@acte-de-presence/vfs@0.0.1","_nodeVersion":"14.17.3","_npmVersion":"6.14.13","dist":{"integrity":"sha512-H5Atk2QNNlvp8hJCX2njbh91fGJDBqooOgLPQ0piy5D/OQRy/Exyt57vSedLtyxGjXDD1bi475/D1eDxCHSqrA==","shasum":"e99d981140ebb8485cdd446660ed96d47b387488","tarball":"https://registry.npmjs.org/@acte-de-presence/vfs/-/vfs-0.0.1.tgz","fileCount":32,"unpackedSize":18741,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg7/DnCRA9TVsSAnZWagAARvwP/ArU7kjtDUVw3VKGdxEp\nSHCauW+uTNPL+UeyCxM8FlfgUdSzcRA1HTyXEOK20Xe1BW2ZUse8Y7BBZQnS\n0Gbwa3N8i4B3TPaRaFCzPV8Ihmo8YCv8I+isALncLhdATrDuFIQ/3D5hbPhh\nl4OZd1Ijlcg+t2ghTMK0qqQNv9VuDfshY/hzavpK5D2CPjKV/9Z0wTAJ8/yS\nTPYsqLRADUwaq2fDBq9YmFSkNIDP0KvR173zkwF9qN2X27GGYYDHeR+11eRK\nyVoNMZRmWasDA3kqsq7BpNPSDEAJwAuJwbsqNkW6tWZpX2gjsz3Eyk89Ctyv\nkG5Kjb9wFQ3OBQoTO1Ks7N/ZfaczV2g1+o/2MIi80DAFRHbEO78fRLcryu8c\nj+em0yMw8MkU4mGO+xn4sg7AN4Ot4l0eA4aT7nXKInNDYLUL6FpP8ohLlvU2\nyUv7VJ3K1pEMMIiY5dgcHD0SRAaLxIX9W2Tcz1vlr6JVGSmVxM8asWflc/C1\nFZ/0PvH4r7P9rDvx8G5fqPFTkqjFRoPBjAKhfgPmPmaFUrg7ChAfGN36+aTd\nUdWnwpe98SUEcb1MxhRYbxkxLwzW1WmwaVKBreoVu+i14wcP+Dx8yLwC78Om\nhMXDnO37UVHl9G+fl9hzixXnMlP/Py2EtDAMglbHLgk8v+rjVJcuCyesTL53\nHwj6\r\n=UjfV\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDeCDzSiwK0V8h+byX7M/nri0YYO3S/p3VeaHfGPun0lAIhANOxan/WeyAVBuIbTFiOK3YzJNNbJJ7I+PTlSx7vCZLO"}]},"_npmUser":{"name":"h4rdc0m","email":"chris@combat.nl"},"directories":{},"maintainers":[{"name":"h4rdc0m","email":"chris@combat.nl"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vfs_0.0.1_1626337511055_0.6957843522158353"},"_hasShrinkwrap":false},"0.0.2":{"name":"@acte-de-presence/vfs","version":"0.0.2","main":"./src/index.js","typings":"./src/index.d.ts","description":"This library is the Virtual filesystem used by the Acte de Présence framework","_id":"@acte-de-presence/vfs@0.0.2","_nodeVersion":"14.17.3","_npmVersion":"6.14.13","dist":{"integrity":"sha512-TBsDZVcE+6jOiPESVjhfF44BJWyoOFREPONhLxrdmAl2QKo0qvn2ipxTz+llletY51mdtdRlOAX/Ed2XRBT4zw==","shasum":"9fc39d91a91a5e15e843918c13f5f837ac920a09","tarball":"https://registry.npmjs.org/@acte-de-presence/vfs/-/vfs-0.0.2.tgz","fileCount":32,"unpackedSize":19427,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg8C8RCRA9TVsSAnZWagAAbDMP/0WGhCJ8maVwu30iVhdf\nlTRaXcMBkY9FTwNsoO8tQLQjsZhFxJvXkv28nqkEF/bla6jlbzqYyGY1/3VP\necH63tEFAYpzd4d8aJRRCN0J5WAC0gkPRTXgOuOJrClOP9xYxjUIFvptXPXu\n6JdQCk/0YKpUL8pVDqXx4mXulnarDHCI37arbUZrlCo3GLeEJ/bPtHtxZtWt\n2pfkMvCkyuFwK9wiALIqMNY3q2DQ8lBmUP0xhh3sif5vra/n6un1n+hBEcJ9\nJUvs5rNa9O7mStKvvSEPhsyV9VA770YXWZ1OxANmrGclyRJEn+67G2NMiO9G\ndtynXvWYNMrCTcvdNOsSHRZ7s4cHi40kKZPR5HfyUDa18PMqFHeWJoUKepHn\nWslOGjyp3ALzan0madXFttoiAYT4e0/7FIywMFC9yCHBSnirIiKkLTdNDL+M\nJ8VoybGUFbA5ltGjWDv47X81i9/KoL4EWTMcQ3wzFC21Ur2sBKAEiyo+oNYI\nGK73b5tA/o5od3R0prlzyzBB+dFpD1YidmN+5ikqlgjN2mKXrLg0BzRcjmmM\nrCRQaQQktERX454OU6uu2FFg++iM042WeLWbR4R3vi1sr5yGTT8z69KIVR/q\nMKsV0vBQB3xBHh2aE6dbcqqSkEVlGlaTKp2sJuLKQ/9R2QvIabkk8iD6aniO\nY1Yx\r\n=b905\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHp/pwUy8xzVMuYj6QydMVRxs4eaucAWmUyd+f4gsui0AiB26YdWJImGGTYmXbkGJS12yRyFJQISKcAteLqEmz3a5A=="}]},"_npmUser":{"name":"h4rdc0m","email":"chris@combat.nl"},"directories":{},"maintainers":[{"name":"h4rdc0m","email":"chris@combat.nl"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vfs_0.0.2_1626353425260_0.9795262702623349"},"_hasShrinkwrap":false},"0.0.3":{"name":"@acte-de-presence/vfs","version":"0.0.3","license":"MIT","author":{"name":"Christiaan Benedictus","email":"chris@combat.nl","url":"https://combat.nl"},"homepage":"https://github.com/Combat-Marketing/acte-de-presence/tree/main/libs/api/vfs#readme","bugs":{"url":"https://github.com/Combat-Marketing/acte-de-presence/issues"},"repository":{"type":"git","url":"git+https://github.com/Combat-Marketing/acte-de-presence.git"},"main":"./src/index.js","typings":"./src/index.d.ts","description":"This library is the Virtual filesystem used by the Acte de Présence framework","_id":"@acte-de-presence/vfs@0.0.3","_nodeVersion":"14.17.3","_npmVersion":"6.14.13","dist":{"integrity":"sha512-ACq9NfKW6U3gTuRsuW+PmIUkmHFujHwDiUgSTCekh3XGRHJlzNlXK5mKM48RA/yxw9rnzSPd2Qi6TsOGoBqhHQ==","shasum":"1ee984bbdd782876571a160d984c66ee0eebbd09","tarball":"https://registry.npmjs.org/@acte-de-presence/vfs/-/vfs-0.0.3.tgz","fileCount":32,"unpackedSize":19872,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg8DD4CRA9TVsSAnZWagAAy70P/257BqOv6Rj5Wg0qDQCz\ngsCCEscwP6wgRDymavgUPZ6oR/S0hfNT7nYjVZffMujo2iZ11TMEI9MJFocd\nmNbp4ZgTFKz9MdkPofDwB0Ssxty6s6pAC/p0rj4VGh6sos6kuxtH5BexKCzI\nleGbQeM21CZsW8yzZC0BV5zWuqzosFyxgYXmqCHsaygYJtAkXOUtC8pAv33b\nDoZaqvI1LifEhWwUD1NGSpShYYXBYd3vA9EQK+v+o9a2rFtTRtAO5+vc6484\nVF9rUrffbU/T1SiqRGCrkQ0G52gDGWxYIg1kEldyOlY6fZFjBGTSfUzgZwtz\nGJ38zU+7RidU+J+y147BWkUYTnbHGXX+3do1Hg7wpydKNYwXNLAsqxA0gfaM\noQq//kCjMOSe5L5osCRp63GdpHHCJ0scRf6mb1wmbq1l8ijQLNPFQUkXMEmQ\nF+oJtV4iMvY3JlG+pXM1xzq7AZRMXkBvsZanA2EO+3BEQgM8b+UKuaVtzPv0\n80XRbCgjtAusXO2jtAsgGqM460+xbbU40n4fuzBs3IeaCE4KSP8D0cqLYfIV\n7Xgsy8YfeUFClY4Sge96QW9bO6J5rVb9yV2Of5E/mGsbd6wZpYU9jR8nVB/4\nQTdszZgqMgwispi81i5wZnnSlvXcxglVGWPieEvxRdQxft/saNk6dgYe8Brm\n1YWG\r\n=0KNx\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDgG3TE/PqMETyKswmQJjGmroAErOBn1bGxHIy7T4b0GwIgf+xddZs6TZYoLZXxbunDePx6jekMT/GrfbmCyQ6gTD0="}]},"_npmUser":{"name":"h4rdc0m","email":"chris@combat.nl"},"directories":{},"maintainers":[{"name":"h4rdc0m","email":"chris@combat.nl"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vfs_0.0.3_1626353912387_0.5835816490466164"},"_hasShrinkwrap":false},"0.0.4":{"name":"@acte-de-presence/vfs","version":"0.0.4","license":"MIT","author":{"name":"Christiaan Benedictus","email":"chris@combat.nl","url":"https://combat.nl"},"homepage":"https://github.com/Combat-Marketing/acte-de-presence/tree/main/libs/api/vfs#readme","bugs":{"url":"https://github.com/Combat-Marketing/acte-de-presence/issues"},"repository":{"type":"git","url":"git+https://github.com/Combat-Marketing/acte-de-presence.git"},"main":"./src/index.js","typings":"./src/index.d.ts","dependencies":{"tslib":"^2.0.0"},"peerDependencies":{},"description":"This library is the Virtual filesystem used by the Acte de Présence framework","_id":"@acte-de-presence/vfs@0.0.4","_nodeVersion":"14.17.3","_npmVersion":"6.14.13","dist":{"integrity":"sha512-HIubE09Sgul5I799e/BFPmfiYEnFfLecVCrwqHKN9rwFGhyBxMQzUZ7xPGBAtNMplRDUlGe+NfnVjJlt7ubQ5Q==","shasum":"04334a0a6e34337e4a2fd4b3cd2d4f7ef8ee49d9","tarball":"https://registry.npmjs.org/@acte-de-presence/vfs/-/vfs-0.0.4.tgz","fileCount":32,"unpackedSize":19992,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg8FFuCRA9TVsSAnZWagAAaIsP+wSCGNtY0nX7tt0I7kUY\nk9jtufCgMhfGToUG+vs98NCaxCEOOwVh7CQ+xdGq5IIUpCdDdRG+PyptXPmb\n2pyn9CyVjsNdMoVM8FOsfv2uu+Y4u8T0dQ7j7WjDd5ilY01NWSLn6+7XP/u0\nKeWD85y+izZ/W1rfx5bE+Ur2O2nc7Agy22Ws5ljyZAMiIdzA6ueyKgAnBB20\nA58GIlZjokKgmjuOBIuYWqTRHjV4UJ0wcE8I+wD/gDhzdHsMxLjWNhnEmGmc\nAYfuJDSWgTNJoYNReGabM5qJcu6FwIGoYTxkTG9XrT5tjA8npbG2aPvocfg1\nYyUDswkKski7b8omAxATdc3QButwj3pmEYka7kyvXzTWKuKP+1Eej5aGry9u\nTvBT7LD5ij2Czu96Qe4sjZ3Gm3Djkci8aj+As9LBaI8ckLN3sDckbV7j/6iE\nDa3WcnlszHM+r9g8GLsjkPlTrAFbZMbBBWBd/rpfEFM+XCLpTRk4PEWKtD1P\n0mfplh7iRWl9WRqdxXswPrsNz8jsxtive1r7bhYCBc3xin/7s48ocNQ0QdDv\neDMM7tFGvZqyJPCK+D7o553poa17z4tN5MvXyo+WX3/FM5SaYSqzsiS6kpHR\nQVrUoiMyx8ErOvruRuRThETzlV0Z+WrbE0VaOIMLNDng/WQ3RnUBnogooh/e\nkH74\r\n=F/+B\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICFgnVoOAJ8/ncGDRZl9U9bVJb++vMr04E+TWquoNX4+AiEA8SQZPM1hf0mIyDtgUkufuCzTp1mfD3c+v3kG0D74VAQ="}]},"_npmUser":{"name":"h4rdc0m","email":"chris@combat.nl"},"directories":{},"maintainers":[{"name":"h4rdc0m","email":"chris@combat.nl"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/vfs_0.0.4_1626362221863_0.6225866120372898"},"_hasShrinkwrap":false}},"time":{"created":"2021-07-15T08:25:10.703Z","0.0.1":"2021-07-15T08:25:11.250Z","modified":"2022-04-04T11:17:03.491Z","0.0.2":"2021-07-15T12:50:25.419Z","0.0.3":"2021-07-15T12:58:32.518Z","0.0.4":"2021-07-15T15:17:02.016Z"},"maintainers":[{"name":"h4rdc0m","email":"chris@combat.nl"}],"description":"This library is the Virtual filesystem used by the Acte de Présence framework","readme":"# Virtual Filesystem\n\nThis library is the Virtual filesystem used by the Acte de Présence framework\n\n## Usage\n\n```Typescript\nimport { VFS, AccessModes } from '@acte-de-presence/vfs';\nimport { VFSMemoryDriver } from '@acte-de-presence/vfs-memory-driver';\n\nasync function test() {\n  const vfs = new VFS();\n  vfs.use(new VFSMemoryDriver());\n\n  const filename = \"/test.txt\";\n\n  try {\n    // Check if file exists\n    await vfs.exists(filename) \n\n    // Check if file exists\n    await vfs.access(filename, AccessModes.F_OK);\n\n    // Check if file can be read\n    await vfs.access(filename, AccessModes.R_OK);\n\n    // Check if file can be written to\n    await vfs.access(filename, AccessModes.W_OK);\n\n    // Read the file\n    await vfs.read(filename);\n\n    // Write to an existing or new file\n    await vfs.write(filename, Buffer.from(\"DATA\"));\n\n    // Delete a file\n    await vfs.delete(filename);\n  } catch (err) {\n    console.error(err);\n  }\n}\n```\n\n## Driver specification\n\nThe drivers are meant to be extremely simple, and should only implement the following interface\n\n```Typescript\ninterface VfsDriver {\n  pathPrefix: string;\n  exists: (path: string) => Promise<boolean>;\n  access: (path: string, mode: AccessModes) => Promise<boolean>;\n  write: (path: string, data: Buffer) => Promise<void>;\n  read: (path: string) => Promise<Buffer>;\n  delete: (path: string) => Promise<void>;\n}\n```\n\n## Running unit tests\n\nRun `nx test api-vfs` to execute the unit tests via [Jest](https://jestjs.io).\n","readmeFilename":"README.md","homepage":"https://github.com/Combat-Marketing/acte-de-presence/tree/main/libs/api/vfs#readme","repository":{"type":"git","url":"git+https://github.com/Combat-Marketing/acte-de-presence.git"},"author":{"name":"Christiaan Benedictus","email":"chris@combat.nl","url":"https://combat.nl"},"bugs":{"url":"https://github.com/Combat-Marketing/acte-de-presence/issues"},"license":"MIT"}