{"_id":"@bunny.net/storage-sdk","_rev":"8-88fc86b630af5e11c955592e689109d2","name":"@bunny.net/storage-sdk","dist-tags":{"latest":"0.3.2"},"versions":{"0.2.0":{"name":"@bunny.net/storage-sdk","version":"0.2.0","keywords":["github","bunny"],"author":{"name":"Bunny Devs"},"license":"MIT","_id":"@bunny.net/storage-sdk@0.2.0","maintainers":[{"name":"kevin_at_bunny","email":"kevin@bunny.net"},{"name":"antho-bunny","email":"anthony@bunny.net"}],"homepage":"https://github.com/BunnyWay/edge-script-sdk#readme","bugs":{"url":"https://github.com/BunnyWay/edge-script-sdk/issues"},"dist":{"shasum":"087d8b1c8478db40fde1e4c92c8ee408c79250e7","tarball":"https://registry.npmjs.org/@bunny.net/storage-sdk/-/storage-sdk-0.2.0.tgz","fileCount":11,"integrity":"sha512-RGyrDqffZ8m2xA3B3IPpwdrnqTerhVW3MSX1wnF06IKYjGpDMbCv+USVUEa+oIb9W5TQjyYrWT+/e+Fl269+Xw==","signatures":[{"sig":"MEQCIC4bPFDk6QVoVBwBoA4yiO8IayDXbVJpEvFVzyPXIGLqAiBBtyfrBLD/N7AaBQjMy1cvBG8T2wATUhMr9uVx9iL4IA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":59355},"main":"dist/lib.js","_from":"file:bunny.net-storage-sdk-0.2.0.tgz","types":"dist/_tsup-dts-rollup.d.ts","module":"esm/lib.mjs","scripts":{"lint":"eslint src","test":"jest --silent --coverage","build":"rm -rf dist esm esm-bunny && node build.mjs","release":"rm -rf dist esm esm-bunny && node build.mjs && pnpm changeset publish && pnpm publish"},"_npmUser":{"name":"antho-bunny","email":"anthony@bunny.net"},"_resolved":"/tmp/24f2553a08a63e01681030d1410ccd46/bunny.net-storage-sdk-0.2.0.tgz","_integrity":"sha512-RGyrDqffZ8m2xA3B3IPpwdrnqTerhVW3MSX1wnF06IKYjGpDMbCv+USVUEa+oIb9W5TQjyYrWT+/e+Fl269+Xw==","repository":{"url":"git+https://github.com/BunnyWay/edge-script-sdk.git","type":"git"},"_npmVersion":"10.9.2","description":"---","directories":{},"_nodeVersion":"22.14.0","dependencies":{"zod":"^3.24.2","dotenv":"^16.4.7"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.12","tsup":"^8.2.4","ulid":"^2.3.0","eslint":"^9.8.0","esbuild":"0.23.0","globals":"^15.9.0","npm-dts":"^1.3.13","ts-jest":"^29.2.4","typedoc":"^0.26.1","prettier":"^3.3.3","@eslint/js":"^9.8.0","typescript":"^5.5.4","@types/jest":"^29.5.12","@types/node":"^20.14.15","@vercel/ncc":"^0.38.1","@deno/shim-deno":"^0.19.2","typescript-eslint":"^8.0.1","@microsoft/api-extractor":"^7.47.6","@typescript-eslint/parser":"^8.0.1","@typescript-eslint/eslint-plugin":"^8.0.1"},"_npmOperationalInternal":{"tmp":"tmp/storage-sdk_0.2.0_1741165954157_0.39501454817242876","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@bunny.net/storage-sdk","version":"0.2.1","keywords":["github","bunny"],"author":{"name":"Bunny Devs"},"license":"MIT","_id":"@bunny.net/storage-sdk@0.2.1","maintainers":[{"name":"kevin_at_bunny","email":"kevin@bunny.net"},{"name":"antho-bunny","email":"anthony@bunny.net"}],"homepage":"https://github.com/BunnyWay/edge-script-sdk#readme","bugs":{"url":"https://github.com/BunnyWay/edge-script-sdk/issues"},"dist":{"shasum":"6998aa3412a622d97f917c740e1d045c8da51a34","tarball":"https://registry.npmjs.org/@bunny.net/storage-sdk/-/storage-sdk-0.2.1.tgz","fileCount":11,"integrity":"sha512-pIHu+s941Pg5AbX3lqOi+OulLhZObt2LiHGFivPesl5KWDXLDJGyr0PZSpcNqPrHU69NH6gTQlXRzwFWSerxOA==","signatures":[{"sig":"MEQCIBaND+K69tK2UoavdN6WoLH1ZxHQAv8WbcbGnkGOXk9AAiAi1/NVVn5AQTocZ2gmyieeoTwmfOsORn3dFL76rXMY5A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":60848},"main":"dist/lib.js","_from":"file:bunny.net-storage-sdk-0.2.1.tgz","types":"dist/_tsup-dts-rollup.d.ts","module":"esm/lib.mjs","scripts":{"lint":"eslint src","test":"jest --silent --coverage","build":"rm -rf dist esm esm-bunny && node build.mjs","release":"rm -rf dist esm esm-bunny && node build.mjs && pnpm changeset publish && pnpm publish"},"_npmUser":{"name":"antho-bunny","email":"anthony@bunny.net"},"_resolved":"/tmp/9be9afbb10707393959abe75dd6d216a/bunny.net-storage-sdk-0.2.1.tgz","_integrity":"sha512-pIHu+s941Pg5AbX3lqOi+OulLhZObt2LiHGFivPesl5KWDXLDJGyr0PZSpcNqPrHU69NH6gTQlXRzwFWSerxOA==","repository":{"url":"git+https://github.com/BunnyWay/edge-script-sdk.git","type":"git"},"_npmVersion":"10.9.2","description":"---","directories":{},"_nodeVersion":"22.14.0","dependencies":{"zod":"^3.24.2","dotenv":"^16.4.7"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.12","tsup":"^8.2.4","ulid":"^2.3.0","eslint":"^9.8.0","esbuild":"0.23.0","globals":"^15.9.0","npm-dts":"^1.3.13","ts-jest":"^29.2.4","typedoc":"^0.26.1","prettier":"^3.3.3","@eslint/js":"^9.8.0","typescript":"^5.5.4","@types/jest":"^29.5.12","@types/node":"^20.14.15","@vercel/ncc":"^0.38.1","@deno/shim-deno":"^0.19.2","typescript-eslint":"^8.0.1","@microsoft/api-extractor":"^7.47.6","@typescript-eslint/parser":"^8.0.1","@typescript-eslint/eslint-plugin":"^8.0.1"},"_npmOperationalInternal":{"tmp":"tmp/storage-sdk_0.2.1_1741166708398_0.7797216442867947","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@bunny.net/storage-sdk","version":"0.2.2","keywords":["github","bunny"],"author":{"name":"Bunny Devs"},"license":"MIT","_id":"@bunny.net/storage-sdk@0.2.2","maintainers":[{"name":"kevin_at_bunny","email":"kevin@bunny.net"},{"name":"antho-bunny","email":"anthony@bunny.net"}],"homepage":"https://github.com/BunnyWay/edge-script-sdk#readme","bugs":{"url":"https://github.com/BunnyWay/edge-script-sdk/issues"},"dist":{"shasum":"596b1dd3bcdd77f1c5a9393d8280c1f756862259","tarball":"https://registry.npmjs.org/@bunny.net/storage-sdk/-/storage-sdk-0.2.2.tgz","fileCount":11,"integrity":"sha512-LhL9veq1np022kLdGilvvq5R3fBfFb/aeTT8J6doYQGInNwf3Innv/HpeRMz+FujpXlHCFLl0J9OefcS7+xRCQ==","signatures":[{"sig":"MEQCICrztwowI7LkLC830c0v/nZnoFjiHO1vt05u+ef74Ch5AiBSiJG+KJ84ceVIHeo75QeVA+1W9bVQMPkz6WOdogezmQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":60865},"main":"dist/lib.js","_from":"file:bunny.net-storage-sdk-0.2.2.tgz","types":"dist/_tsup-dts-rollup.d.ts","module":"esm/lib.mjs","scripts":{"lint":"eslint src","test":"jest --silent --coverage","build":"rm -rf dist esm esm-bunny && node build.mjs","release":"rm -rf dist esm esm-bunny && node build.mjs && pnpm changeset publish && pnpm publish"},"_npmUser":{"name":"antho-bunny","email":"anthony@bunny.net"},"_resolved":"/tmp/f20c05f06fd9816b462d7803c37e2332/bunny.net-storage-sdk-0.2.2.tgz","_integrity":"sha512-LhL9veq1np022kLdGilvvq5R3fBfFb/aeTT8J6doYQGInNwf3Innv/HpeRMz+FujpXlHCFLl0J9OefcS7+xRCQ==","repository":{"url":"git+https://github.com/BunnyWay/edge-script-sdk.git","type":"git"},"_npmVersion":"10.9.2","description":"---","directories":{},"_nodeVersion":"22.14.0","dependencies":{"zod":"^3.24.2","dotenv":"^16.4.7"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.12","tsup":"^8.2.4","ulid":"^2.3.0","eslint":"^9.8.0","esbuild":"0.23.0","globals":"^15.9.0","npm-dts":"^1.3.13","ts-jest":"^29.2.4","typedoc":"^0.26.1","prettier":"^3.3.3","@eslint/js":"^9.8.0","typescript":"^5.5.4","@types/jest":"^29.5.12","@types/node":"^20.14.15","@vercel/ncc":"^0.38.1","@deno/shim-deno":"^0.19.2","typescript-eslint":"^8.0.1","@microsoft/api-extractor":"^7.47.6","@typescript-eslint/parser":"^8.0.1","@typescript-eslint/eslint-plugin":"^8.0.1"},"_npmOperationalInternal":{"tmp":"tmp/storage-sdk_0.2.2_1741789064590_0.4926199743037991","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@bunny.net/storage-sdk","version":"0.3.0","keywords":["github","bunny"],"author":{"name":"Bunny Devs"},"license":"MIT","_id":"@bunny.net/storage-sdk@0.3.0","maintainers":[{"name":"kevin_at_bunny","email":"kevin@bunny.net"},{"name":"antho-bunny","email":"anthony@bunny.net"}],"homepage":"https://github.com/BunnyWay/edge-script-sdk#readme","bugs":{"url":"https://github.com/BunnyWay/edge-script-sdk/issues"},"dist":{"shasum":"e25c89c17b3c7dd2d70520f46a28f1d476c90706","tarball":"https://registry.npmjs.org/@bunny.net/storage-sdk/-/storage-sdk-0.3.0.tgz","fileCount":14,"integrity":"sha512-fRtYdztE01tVdQFX25GlYYnjCeTrW44ZsVlUNOcczKzPg6ellZ/awCzg+WsqY7bwIlUD7dTgy/Jtj8qOTmAs+Q==","signatures":[{"sig":"MEUCIDot+o+hP4ri1nsJelrmRIK79aOMru8YhnG6ac2wjd8gAiEA05uAIzC11ja8q+4SwPfuPZaLChrlL7tuP+QuDy7S9nc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":77195},"main":"dist/lib.js","_from":"file:bunny.net-storage-sdk-0.3.0.tgz","types":"dist/_tsup-dts-rollup.d.ts","module":"esm-node/lib.mjs","exports":{".":{"deno":"./esm/lib.mjs","node":"./esm-node/lib.mjs","types":"./dist/_tsup-dts-rollup.d.ts","import":"./esm/lib.mjs","require":"./dist/lib.js"}},"scripts":{"lint":"eslint src","test":"jest --silent --coverage","build":"rm -rf dist esm esm-bunny && node build.mjs","release":"rm -rf dist esm esm-bunny && node build.mjs && pnpm changeset publish && pnpm publish"},"_npmUser":{"name":"antho-bunny","email":"anthony@bunny.net"},"_resolved":"/tmp/ea2540cde17c32bd1ed55b3764ba083f/bunny.net-storage-sdk-0.3.0.tgz","_integrity":"sha512-fRtYdztE01tVdQFX25GlYYnjCeTrW44ZsVlUNOcczKzPg6ellZ/awCzg+WsqY7bwIlUD7dTgy/Jtj8qOTmAs+Q==","repository":{"url":"git+https://github.com/BunnyWay/edge-script-sdk.git","type":"git"},"_npmVersion":"10.9.2","description":"---","directories":{},"_nodeVersion":"22.14.0","dependencies":{"zod":"^3.24.2","dotenv":"^16.4.7"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.12","tsup":"^8.2.4","ulid":"^2.3.0","eslint":"^9.8.0","esbuild":"0.23.0","globals":"^15.9.0","npm-dts":"^1.3.13","ts-jest":"^29.2.4","typedoc":"^0.26.1","prettier":"^3.3.3","@eslint/js":"^9.8.0","typescript":"^5.5.4","@types/jest":"^29.5.12","@types/node":"^20.14.15","@vercel/ncc":"^0.38.1","@deno/shim-deno":"^0.19.2","typescript-eslint":"^8.0.1","@microsoft/api-extractor":"^7.47.6","@typescript-eslint/parser":"^8.0.1","@typescript-eslint/eslint-plugin":"^8.0.1"},"_npmOperationalInternal":{"tmp":"tmp/storage-sdk_0.3.0_1742461065821_0.30462061151815556","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@bunny.net/storage-sdk","version":"0.3.1","keywords":["github","bunny"],"author":{"name":"Bunny Devs"},"license":"MIT","_id":"@bunny.net/storage-sdk@0.3.1","maintainers":[{"name":"kevin_at_bunny","email":"kevin@bunny.net"},{"name":"antho-bunny","email":"anthony@bunny.net"}],"homepage":"https://github.com/BunnyWay/edge-script-sdk#readme","bugs":{"url":"https://github.com/BunnyWay/edge-script-sdk/issues"},"dist":{"shasum":"b10631bae58e692c6e8d3b7aba9a72455cbe092b","tarball":"https://registry.npmjs.org/@bunny.net/storage-sdk/-/storage-sdk-0.3.1.tgz","fileCount":14,"integrity":"sha512-nHD+e+CxYBcSoZERkxI/7Qir/kZaCfBTT+ULgZNUitNSyZ4mWD3DbTy+sHwVfRyc6wQ0XYD//6LImi2PU9JoWg==","signatures":[{"sig":"MEYCIQD0Y9vfXBEMVeZze2FBLPG02TY3wRhGhVjgPr+hv+lsiAIhAMHrgxYedL8Px6IhmiPqq2wo41k7poBS7xU1rt1Obi1H","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":80406},"main":"dist/lib.js","_from":"file:bunny.net-storage-sdk-0.3.1.tgz","types":"dist/_tsup-dts-rollup.d.ts","module":"esm-node/lib.mjs","exports":{".":{"deno":"./esm/lib.mjs","node":"./esm-node/lib.mjs","types":"./dist/_tsup-dts-rollup.d.ts","import":"./esm/lib.mjs","require":"./dist/lib.js"}},"scripts":{"lint":"eslint src","test":"jest --silent --coverage","build":"rm -rf dist esm esm-bunny && node build.mjs","release":"rm -rf dist esm esm-bunny && node build.mjs && pnpm changeset publish && pnpm publish"},"_npmUser":{"name":"antho-bunny","email":"anthony@bunny.net"},"_resolved":"/tmp/dbc7d90bbd8c96ea3d8fe068c6acba82/bunny.net-storage-sdk-0.3.1.tgz","_integrity":"sha512-nHD+e+CxYBcSoZERkxI/7Qir/kZaCfBTT+ULgZNUitNSyZ4mWD3DbTy+sHwVfRyc6wQ0XYD//6LImi2PU9JoWg==","repository":{"url":"git+https://github.com/BunnyWay/edge-script-sdk.git","type":"git"},"_npmVersion":"10.9.4","description":"---","directories":{},"_nodeVersion":"22.22.0","dependencies":{"zod":"^3.24.2","dotenv":"^16.4.7"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.12","tsup":"^8.2.4","ulid":"^2.3.0","eslint":"^9.8.0","esbuild":"0.23.0","globals":"^15.9.0","npm-dts":"^1.3.13","ts-jest":"^29.2.4","typedoc":"^0.26.1","prettier":"^3.3.3","@eslint/js":"^9.8.0","typescript":"^5.5.4","@types/jest":"^29.5.12","@types/node":"^20.14.15","@vercel/ncc":"^0.38.1","@deno/shim-deno":"^0.19.2","typescript-eslint":"^8.0.1","@microsoft/api-extractor":"^7.47.6","@typescript-eslint/parser":"^8.0.1","@typescript-eslint/eslint-plugin":"^8.0.1"},"_npmOperationalInternal":{"tmp":"tmp/storage-sdk_0.3.1_1770373126780_0.4663921251830361","host":"s3://npm-registry-packages-npm-production"}},"0.3.2":{"_id":"@bunny.net/storage-sdk@0.3.2","bugs":{"url":"https://github.com/BunnyWay/edge-script-sdk/issues"},"dist":{"shasum":"8331a8a8f0dd1c03a64e7f956953d0cdfc030633","tarball":"https://registry.npmjs.org/@bunny.net/storage-sdk/-/storage-sdk-0.3.2.tgz","fileCount":14,"integrity":"sha512-m0wCRTsph+oCeAJ0/lNfFhj8tAu8Ti57TF8P2XIUAA7ZIfyoHhKnz6lL4mi7ndTbmiV3NqGmr9Iad8gGQupHOg==","signatures":[{"sig":"MEYCIQDbsOO+5l0vx9nGldz+lxsY54+8kTRbQQEjvIAUaC5G5AIhAJvn97vEVTYYh3JsUJOK+c6Tqv2d3vczO847ccvw6CoY","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCry66vylhs1IYAKMq4pgI/d4Eb+pL8CDPaleYdvSfhfwIgRJDnxrwXTeFHYCUgaY62+iGC+p9J2/kvUAczsZz8JBI="}],"unpackedSize":83356},"main":"dist/lib.js","name":"@bunny.net/storage-sdk","_from":"file:bunny.net-storage-sdk-0.3.2.tgz","types":"dist/_tsup-dts-rollup.d.ts","author":{"name":"Bunny Devs"},"module":"esm-node/lib.mjs","exports":{".":{"deno":"./esm/lib.mjs","node":"./esm-node/lib.mjs","types":"./dist/_tsup-dts-rollup.d.ts","import":"./esm/lib.mjs","require":"./dist/lib.js"}},"license":"MIT","scripts":{"lint":"eslint src","test":"jest --silent --coverage","build":"rm -rf dist esm esm-bunny && node build.mjs","release":"rm -rf dist esm esm-bunny && node build.mjs && pnpm changeset publish && pnpm publish"},"version":"0.3.2","_npmUser":{"name":"antho-bunny","email":"anthony@bunny.net"},"homepage":"https://github.com/BunnyWay/edge-script-sdk#readme","keywords":["github","bunny"],"_resolved":"/tmp/632319563e3fa94a4c3f4e6e63b9f355/bunny.net-storage-sdk-0.3.2.tgz","_integrity":"sha512-m0wCRTsph+oCeAJ0/lNfFhj8tAu8Ti57TF8P2XIUAA7ZIfyoHhKnz6lL4mi7ndTbmiV3NqGmr9Iad8gGQupHOg==","repository":{"url":"git+https://github.com/BunnyWay/edge-script-sdk.git","type":"git"},"_npmVersion":"10.9.8","description":"---","directories":{},"maintainers":[{"name":"kevin_at_bunny","email":"kevin@bunny.net"},{"name":"antho-bunny","email":"anthony@bunny.net"},{"name":"notrab","email":"jamie@notrab.dev"},{"name":"bogdan-at-bunny","email":"bogdan@bunny.net"}],"_nodeVersion":"22.23.2","dependencies":{"zod":"^3.24.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.12","tsup":"^8.2.4","ulid":"^2.3.0","dotenv":"^16.4.7","eslint":"^9.8.0","esbuild":"0.23.0","globals":"^15.9.0","npm-dts":"^1.3.13","ts-jest":"^29.2.4","typedoc":"^0.26.1","prettier":"^3.3.3","@eslint/js":"^9.8.0","typescript":"^5.5.4","@types/jest":"^29.5.12","@types/node":"^20.14.15","@vercel/ncc":"^0.38.1","@deno/shim-deno":"^0.19.2","typescript-eslint":"^8.0.1","@microsoft/api-extractor":"^7.47.6","@typescript-eslint/parser":"^8.0.1","@typescript-eslint/eslint-plugin":"^8.0.1"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/storage-sdk_0.3.2_1790176129399_0.07135906718179763"}}},"time":{"created":"2025-03-05T09:12:34.060Z","modified":"2026-09-23T15:08:49.649Z","0.2.0":"2025-03-05T09:12:34.317Z","0.2.1":"2025-03-05T09:25:08.593Z","0.2.2":"2025-03-12T14:17:44.810Z","0.3.0":"2025-03-20T08:57:46.040Z","0.3.1":"2026-02-06T10:18:46.944Z","0.3.2":"2026-09-23T15:08:49.489Z"},"bugs":{"url":"https://github.com/BunnyWay/edge-script-sdk/issues"},"author":{"name":"Bunny Devs"},"license":"MIT","homepage":"https://github.com/BunnyWay/edge-script-sdk#readme","keywords":["github","bunny"],"repository":{"url":"git+https://github.com/BunnyWay/edge-script-sdk.git","type":"git"},"description":"---","maintainers":[{"name":"kevin_at_bunny","email":"kevin@bunny.net"},{"name":"antho-bunny","email":"anthony@bunny.net"},{"name":"notrab","email":"jamie@notrab.dev"},{"name":"bogdan-at-bunny","email":"bogdan@bunny.net"}],"readme":"# @bunny.net/storage-sdk\n---\n\n<div align=\"center\">\n  <a href=\"https://bunny.net\">\n    <img src=\"https://github.com/BunnyWay/edge-script-sdk/blob/main/asset/bunny.png?raw=true\" width=\"500\" height=\"auto\" alt=\"Bunny\"/>\n  </a>\n</div>\n\n\nThe `@bunny.net/storage-sdk` a library designed to help you interact with \nBunnyCDN Storage API.\n\n# Bunny Storage SDK\n\nThis repository contains `@bunny.net/storage-sdk`, a library designed to simplify the usage of the BunnyCDN Storage API.\n\n## 🥕 Usage\n\nWith `@bunny.net/storage-sdk`, you can interact with the BunnyCDN Storage API. Below is a quick example to help you get started with setting up a local server. For additional examples and use cases, refer to the [examples folder](/example/).\n\n### Listing files on your Storage Zone\n```typescript\nimport * as BunnySDK from \"@bunny.net/edgescript-sdk\";\nimport * as BunnyStorageSDK from \"@bunny.net/storage-sdk\";\n\nlet sz_zone = process.env.STORAGE_ZONE!;\nlet access_key = process.env.STORAGE_ACCESS_KEY!;\n\nlet sz = BunnyStorageSDK.zone.connect_with_accesskey(BunnyStorageSDK.regions.StorageRegion.Falkenstein, sz_zone, access_key);\n\nconsole.log(\"Starting server...\");\n\nBunnySDK.net.http.serve({ port: 8080, hostname: '127.0.0.1' }, async (req) => {\n  let list = await BunnyStorageSDK.file.list(sz, \"/\");\n  console.log(`[INFO]: ${req.method} - ${req.url}`);\n  return new Response(JSON.stringify(list));\n});\n```\n\nThis example sets up a local HTTP server using the Bunny Edge Scripting SDK to list files on a Storage Zone using the BunnyCDN Storage SDK. You can access the server at 127.0.0.1:8080 and observe the real-time request logs.\n\n### Quick Start\n\n- [list](#listing-files)\n- [delete](#remove-files-or-directory)\n- [upload](#uploading-a-file)\n- [download](#download-a-file)\n\n#### Getting a file\n\nWhen getting a file, you can either get the metadata of a file, or the content\nof the file.\n\nThe metadata describe the file.\n\n```typescript\nimport * as BunnyStorageSDK from \"@bunny.net/storage-sdk\";\n\nlet storageZone = BunnyStorageSDK.zone.connect_with_accesskey(BunnyStorageSDK.regions.StorageRegion.Falkenstein, \"storage-zone-name\", \"token\")\nlet obj = await BunnyStorageSDK.file.get(storageZone, \"/my-folder/my-file\");\n\n/*\n * Here obj will be equal to something like this:\nconst obj = {\n    Guid: '123',\n    UserId: 'user1',\n    LastChanged: '2023-01-01T00:00:00Z',\n    DateCreated: '2022-01-01T00:00:00Z',\n    StorageZoneName: 'test-zone',\n    Path: '/test/path',\n    ObjectName: 'test-file.txt',\n    Length: 100,\n    StorageZoneId: 1,\n    IsDirectory: false,\n    ServerId: 1,\n    Checksum: 'abc123',\n    ReplicatedZones: 'UK,NY',\n    ContentType: 'text/plain',\n    data: () => Promise<{\n      stream: ReadableStream<Uint8Array>;\n      response: Response;\n      length?: number;\n    }>,\n\n};\n*/\n```\n\nFrom this metadata, you can then download the file content by using `await obj.data()`.\n\n#### Listing files\n\nYou can list and navigate accross your storage zone by using:\n\n```typescript\nlet list = await BunnyStorageSDK.file.list(sz, \"/\");\n```\n\nThis will give you a list of file Metadata you'll be able to navigate.\n\n#### Uploading a file\n\nTo upload a file, we leverage **Streams** to upload files as it would allow you\nto upload files without having the full stream of content available.\n\n```typescript\nexport async function upload(storageZone: StorageZone.StorageZone, path: string, stream: ReadableStream<Uint8Array>, options?: UploadOptions): Promise<boolean>;\nexport async function upload(storageZone: StorageZone.StorageZone, path: string, stream: ReadableStream<Uint8Array>): Promise<boolean>;\nexport async function upload(storageZone: StorageZone.StorageZone, path: string, stream: ReadableStream<Uint8Array>, options?: UploadOptions): Promise<boolean>;\n\nexport type UploadOptions = {\n  /**\n   * The SHA256 Checksum associated to the data you want to send. If null then\n   * the server will automatically calculate it.\n   */\n  sha256Checksum?: string;\n  /**\n   * You can override the content-type of the file you upload with this option.\n   */\n  contentType?: string;\n};\n```\n\nExample:\n\n```typescript\nawait BunnyStorageSDK.file.upload(sz, \"/some-file\", random_bytes_10kb);\n```\n\n#### Download a file\n\nTo downlaod a file, you have two choices, either you use this function to\ndownload it directly.\n\n```typescript\nexport async function download(storageZone: StorageZone.StorageZone, path: string): Promise<{\n  stream: ReadableStream<Uint8Array>;\n  response: Response;\n  length?: number;\n}>;\n```\n\nExample:\n\n```typescript\nawait BunnyStorageSDK.file.download(sz, \"/some-file\");\n```\n\nYou'll have the stream of the content and the associated response and the length\nif available.\n\nYou could also use the `data` function available in the File Metadata.\n\n#### Remove files or directory\n\n\n```typescript\nexport async function remove(storageZone: StorageZone.StorageZone, path: string): Promise<boolean>;\nexport async function removeDirectory(storageZone: StorageZone.StorageZone, path: string): Promise<boolean>;\n```\n\nExample:\n\n```typescript\nawait BunnyStorageSDK.file.remove(sz, \"/some-file\");\n```\n","readmeFilename":"README.md"}