{"_id":"object-storage-client","_rev":"7-9f6a4af2ba3ed380310df08c75538891","name":"object-storage-client","dist-tags":{"latest":"0.2.5"},"versions":{"0.1.0":{"name":"object-storage-client","version":"0.1.0","keywords":["object-storage","s3","client"],"author":{"name":"Object Storage Team"},"license":"MIT","_id":"object-storage-client@0.1.0","maintainers":[{"name":"tobihrbr","email":"tobihrbr@gmail.com"}],"homepage":"https://github.com/metorial/object-storage#readme","bugs":{"url":"https://github.com/metorial/object-storage/issues"},"dist":{"shasum":"a6aaed0c2e59de30538ffd9291ca9c0b7529c205","tarball":"https://registry.npmjs.org/object-storage-client/-/object-storage-client-0.1.0.tgz","fileCount":4,"integrity":"sha512-5KqwNvV1skXLq1n7WA4pd6R5k4mP/OcR4q5JA+rFZRNucQyfiGwDadMPkYNxkbV3yAwaiHoH8UImNW1KO+MDVw==","signatures":[{"sig":"MEUCIC7iFDqGt78J2TkDUtIqP9q2riEtgBRKtzqT7RkLb6MtAiEA9ejtFe6Ki52pZPLweG2X0mFOUbHR861MRD3Eg0usJto=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9760},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"83e854067c2390239e75645870468670129a714f","scripts":{"test":"jest","build":"tsc","clean":"rm -rf dist","test:coverage":"jest --coverage","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"tobihrbr","email":"tobihrbr@gmail.com"},"repository":{"url":"git+https://github.com/metorial/object-storage.git","type":"git"},"_npmVersion":"10.9.3","description":"TypeScript client for Object Storage Service","directories":{},"_nodeVersion":"22.20.0","dependencies":{"axios":"^1.6.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","ts-jest":"^29.1.0","typescript":"^5.3.0","@types/jest":"^29.5.0","@types/node":"^20.10.0","axios-mock-adapter":"^1.22.0"},"_npmOperationalInternal":{"tmp":"tmp/object-storage-client_0.1.0_1764975272319_0.8057137892993933","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"object-storage-client","version":"0.2.0","keywords":["object-storage","s3","client"],"author":{"name":"Object Storage Team"},"license":"MIT","_id":"object-storage-client@0.2.0","maintainers":[{"name":"tobihrbr","email":"tobihrbr@gmail.com"}],"homepage":"https://github.com/metorial/object-storage#readme","bugs":{"url":"https://github.com/metorial/object-storage/issues"},"dist":{"shasum":"650b4890592ae0973a8754bfc0d455b5d1859d19","tarball":"https://registry.npmjs.org/object-storage-client/-/object-storage-client-0.2.0.tgz","fileCount":4,"integrity":"sha512-S8MvJQ6rrwvv9TzQgBmMkTpYOGDIku2xwrAT96w4PZvqoL9yk1eBDYsnfbzos1TVeGnMlvnxVzjx8tcEbxxMfg==","signatures":[{"sig":"MEYCIQDKYTezQ0PL0wePvMC2HPoFBUE6ER9oMLorWDDoNeGC2wIhANZS1Np6cGqOHQBEf/HBff0I77aWeIL94ltc+62wI7UO","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10438},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"2f94a6b79ba40c0567e9560ea7f752b9f4d923fc","scripts":{"test":"jest","build":"tsc","clean":"rm -rf dist","test:coverage":"jest --coverage","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"tobihrbr","email":"tobihrbr@gmail.com"},"repository":{"url":"git+https://github.com/metorial/object-storage.git","type":"git"},"_npmVersion":"10.9.3","description":"TypeScript client for Object Storage Service","directories":{},"_nodeVersion":"22.20.0","dependencies":{"axios":"^1.6.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","ts-jest":"^29.1.0","typescript":"^5.3.0","@types/jest":"^29.5.0","@types/node":"^20.10.0","axios-mock-adapter":"^1.22.0"},"_npmOperationalInternal":{"tmp":"tmp/object-storage-client_0.2.0_1766502929403_0.2500302536682186","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"object-storage-client","version":"0.2.1","keywords":["object-storage","s3","client"],"author":{"name":"Object Storage Team"},"license":"MIT","_id":"object-storage-client@0.2.1","maintainers":[{"name":"tobihrbr","email":"tobihrbr@gmail.com"}],"homepage":"https://github.com/metorial/object-storage#readme","bugs":{"url":"https://github.com/metorial/object-storage/issues"},"dist":{"shasum":"029dc5915b44c305c75f1d1ded6bf6955e414499","tarball":"https://registry.npmjs.org/object-storage-client/-/object-storage-client-0.2.1.tgz","fileCount":4,"integrity":"sha512-4/1j9lll3jhW3U12yMtk4aEKueWQOjtwRj7ApvNWVKLlF8STaqFlOmfkQ1RaubiuF67rULvyVIAx82DvcE6jNA==","signatures":[{"sig":"MEYCIQCcuhohYMPJgAA5R3Xi8exWaJIqWkI9/oGnKYSpDGygugIhAPm1vPEZPppWqbJn/Ot9zOI/RGcA4Jn14DFnGU/wMkiq","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10475},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"be27985a9bf6e787a3a8647e1b4e9987615064e3","scripts":{"test":"jest","build":"tsc","clean":"rm -rf dist","test:coverage":"jest --coverage","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"tobihrbr","email":"tobihrbr@gmail.com"},"repository":{"url":"git+https://github.com/metorial/object-storage.git","type":"git"},"_npmVersion":"10.9.3","description":"TypeScript client for Object Storage Service","directories":{},"_nodeVersion":"22.20.0","dependencies":{"axios":"^1.6.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","ts-jest":"^29.1.0","typescript":"^5.3.0","@types/jest":"^29.5.0","@types/node":"^20.10.0","axios-mock-adapter":"^1.22.0"},"_npmOperationalInternal":{"tmp":"tmp/object-storage-client_0.2.1_1766523510788_0.8301432118236538","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"object-storage-client","version":"0.2.2","keywords":["object-storage","s3","client"],"author":{"name":"Object Storage Team"},"license":"MIT","_id":"object-storage-client@0.2.2","maintainers":[{"name":"tobihrbr","email":"tobihrbr@gmail.com"}],"homepage":"https://github.com/metorial/object-storage#readme","bugs":{"url":"https://github.com/metorial/object-storage/issues"},"dist":{"shasum":"79786005cc611cd5519695d7acf5dd759b33afdc","tarball":"https://registry.npmjs.org/object-storage-client/-/object-storage-client-0.2.2.tgz","fileCount":4,"integrity":"sha512-s9LlkMDDyJ+bVdSAI7otUZ1sJlf99IEYSUe7wNuOdC9GGcsvsui5aI2DdOpt1qIx+ipWDa7F8+Bv4T86CqYQhQ==","signatures":[{"sig":"MEUCIARZIpZ/XPgI4fGlH+oHI/HSHUwuiS6Z03M8oJpPxqy8AiEAkHw5TbksLueq5UBR5z07TXjbaftwSi3GsjJoN1eN8w4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10484},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"be27985a9bf6e787a3a8647e1b4e9987615064e3","scripts":{"test":"jest","build":"tsc","clean":"rm -rf dist","test:coverage":"jest --coverage","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"tobihrbr","email":"tobihrbr@gmail.com"},"repository":{"url":"git+https://github.com/metorial/object-storage.git","type":"git"},"_npmVersion":"10.9.3","description":"TypeScript client for Object Storage Service","directories":{},"_nodeVersion":"22.20.0","dependencies":{"axios":"^1.6.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","ts-jest":"^29.1.0","typescript":"^5.3.0","@types/jest":"^29.5.0","@types/node":"^20.10.0","axios-mock-adapter":"^1.22.0"},"_npmOperationalInternal":{"tmp":"tmp/object-storage-client_0.2.2_1766569290717_0.9491665369891724","host":"s3://npm-registry-packages-npm-production"}},"0.2.3":{"name":"object-storage-client","version":"0.2.3","keywords":["object-storage","s3","client"],"author":{"name":"Object Storage Team"},"license":"MIT","_id":"object-storage-client@0.2.3","maintainers":[{"name":"tobihrbr","email":"tobihrbr@gmail.com"}],"homepage":"https://github.com/metorial/object-storage#readme","bugs":{"url":"https://github.com/metorial/object-storage/issues"},"dist":{"shasum":"149b57a215cc1f68423eeb0e9483cb2dc3dc42fc","tarball":"https://registry.npmjs.org/object-storage-client/-/object-storage-client-0.2.3.tgz","fileCount":4,"integrity":"sha512-75cnUhPTgS6BAhW5LdimO1b/yLTIkIr+nkKRy+ZGwyL2E1b+zvXnkEnOQcGwHzB4KIC6kqgqx8hShn7dBggBfA==","signatures":[{"sig":"MEQCICZ7l6+DGFAD7vk8KGn2/71FTamHUIW5JXvOnAwt1iJGAiAPQchvMqRvBgl5MMFmjFz943pF5jR3Gm+wp2f7QprKwQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12472},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"10e1fa9de6f31cc2ee662e3436fb31a8329b99af","scripts":{"test":"jest","build":"tsc","clean":"rm -rf dist","test:coverage":"jest --coverage","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"tobihrbr","email":"tobihrbr@gmail.com"},"repository":{"url":"git+https://github.com/metorial/object-storage.git","type":"git"},"_npmVersion":"10.9.3","description":"TypeScript client for Object Storage Service","directories":{},"_nodeVersion":"22.20.0","dependencies":{"axios":"^1.6.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","ts-jest":"^29.1.0","typescript":"^5.3.0","@types/jest":"^29.5.0","@types/node":"^20.10.0","axios-mock-adapter":"^1.22.0"},"_npmOperationalInternal":{"tmp":"tmp/object-storage-client_0.2.3_1766574625347_0.9731412157823562","host":"s3://npm-registry-packages-npm-production"}},"0.2.4":{"name":"object-storage-client","version":"0.2.4","keywords":["object-storage","s3","client"],"author":{"name":"Object Storage Team"},"license":"MIT","_id":"object-storage-client@0.2.4","maintainers":[{"name":"tobihrbr","email":"tobihrbr@gmail.com"}],"homepage":"https://github.com/metorial/object-storage#readme","bugs":{"url":"https://github.com/metorial/object-storage/issues"},"dist":{"shasum":"86bf19daab516f9564448335546b082c0adc487f","tarball":"https://registry.npmjs.org/object-storage-client/-/object-storage-client-0.2.4.tgz","fileCount":4,"integrity":"sha512-BfG8lC2hIvgyeOgYJR9PfvKYAjlK5lrjrywSYbEjBN+blUjwnv2cdz4G2iE+8byKs6I6Pn+FgYDT2Eg5j1aDdg==","signatures":[{"sig":"MEYCIQDRXWxLQUS+3K6aWlITs0rbcXUAl6waIxwjh8jaQR+I8AIhAOQvUj1UynEmGZypxeNyqm3d5YL8VcWGaqiK0wiMfIcc","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12472},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"5692a76ccadf305d94c3543a70daeb91965b33fb","scripts":{"test":"jest","build":"tsc","clean":"rm -rf dist","test:coverage":"jest --coverage","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"tobihrbr","email":"tobihrbr@gmail.com"},"repository":{"url":"git+https://github.com/metorial/object-storage.git","type":"git"},"_npmVersion":"10.9.3","description":"TypeScript client for Object Storage Service","directories":{},"_nodeVersion":"22.20.0","dependencies":{"axios":"^1.6.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","ts-jest":"^29.1.0","typescript":"^5.3.0","@types/jest":"^29.5.0","@types/node":"^20.10.0","axios-mock-adapter":"^1.22.0"},"_npmOperationalInternal":{"tmp":"tmp/object-storage-client_0.2.4_1766670665303_0.1277386318053204","host":"s3://npm-registry-packages-npm-production"}},"0.2.5":{"name":"object-storage-client","version":"0.2.5","description":"TypeScript client for Object Storage Service","main":"dist/index.js","types":"dist/index.d.ts","scripts":{"build":"tsc","test":"jest","test:coverage":"jest --coverage","clean":"rm -rf dist","prepublishOnly":"npm run clean && npm run build"},"keywords":["object-storage","s3","client"],"author":{"name":"Object Storage Team"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/metorial/object-storage.git"},"dependencies":{"axios":"^1.6.0"},"devDependencies":{"@types/jest":"^29.5.0","@types/node":"^20.10.0","axios-mock-adapter":"^1.22.0","jest":"^29.7.0","ts-jest":"^29.1.0","typescript":"^5.3.0"},"_id":"object-storage-client@0.2.5","gitHead":"b713b437da7c4b54a996a39b3807d9b2d0826eb5","bugs":{"url":"https://github.com/metorial/object-storage/issues"},"homepage":"https://github.com/metorial/object-storage#readme","_nodeVersion":"22.20.0","_npmVersion":"10.9.3","dist":{"integrity":"sha512-YlCCmPjqvySjmVE0vPaS4dVYeYwNwKI70jx0xcbCBIzdvo9E91U6vaNzRUlWyTB+k9H/XFzZUqtGO4+X/L19ew==","shasum":"a7a23f6d7ec4b02551f11ee6d17e849b4f6697f0","tarball":"https://registry.npmjs.org/object-storage-client/-/object-storage-client-0.2.5.tgz","fileCount":4,"unpackedSize":12942,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIEeNilrnGfQyxbU1HpE425zJxHAV0Ld7bi9BL/kJcw7dAiBgKZ7QSErRZNpZxSQ2FqZPRStzM37VSrI0AKiV4YWv9A=="}]},"_npmUser":{"name":"tobihrbr","email":"tobihrbr@gmail.com"},"directories":{},"maintainers":[{"name":"tobihrbr","email":"tobihrbr@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/object-storage-client_0.2.5_1766670834229_0.9995168390660822"},"_hasShrinkwrap":false}},"time":{"created":"2025-12-05T22:54:32.242Z","modified":"2025-12-25T13:53:54.620Z","0.1.0":"2025-12-05T22:54:32.464Z","0.2.0":"2025-12-23T15:15:29.551Z","0.2.1":"2025-12-23T20:58:30.937Z","0.2.2":"2025-12-24T09:41:30.854Z","0.2.3":"2025-12-24T11:10:25.484Z","0.2.4":"2025-12-25T13:51:05.494Z","0.2.5":"2025-12-25T13:53:54.388Z"},"bugs":{"url":"https://github.com/metorial/object-storage/issues"},"author":{"name":"Object Storage Team"},"license":"MIT","homepage":"https://github.com/metorial/object-storage#readme","keywords":["object-storage","s3","client"],"repository":{"type":"git","url":"git+https://github.com/metorial/object-storage.git"},"description":"TypeScript client for Object Storage Service","maintainers":[{"name":"tobihrbr","email":"tobihrbr@gmail.com"}],"readme":"# Object Storage Client for TypeScript\n\nTypeScript/JavaScript client library for interacting with the [Metorial Object Storage Service](https://github.com/metorial/object-storage).\n\n## Usage\n\n```typescript\nimport { ObjectStorageClient } from 'object-storage-client';\n\nconst client = new ObjectStorageClient('http://localhost:8080');\n\n// Create a bucket\nconst bucket = await client.createBucket('my-bucket');\nconsole.log(`Created bucket: ${bucket.name}`);\n\n// Upload an object\nconst data = Buffer.from('Hello, World!');\nconst obj = await client.putObject(\n  'my-bucket',\n  'hello.txt',\n  data,\n  'text/plain',\n  { key1: 'value1' }\n);\nconsole.log(`Uploaded object: ${obj.key} (ETag: ${obj.etag})`);\n\n// Download an object\nconst objData = await client.getObject('my-bucket', 'hello.txt');\nconsole.log(`Downloaded ${objData.data.length} bytes`);\n\n// List objects\nconst objects = await client.listObjects('my-bucket');\nfor (const obj of objects) {\n  console.log(`${obj.key}: ${obj.size} bytes`);\n}\n\n// Delete object\nawait client.deleteObject('my-bucket', 'hello.txt');\n\n// Delete bucket\nawait client.deleteBucket('my-bucket');\n```\n\n## API Reference\n\n### Client Creation\n\n```typescript\nconst client = new ObjectStorageClient('http://localhost:8080');\n```\n\nWith custom timeout:\n\n```typescript\nconst client = new ObjectStorageClient('http://localhost:8080', 60000);\n```\n\n### Bucket Operations\n\n**Create Bucket**\n```typescript\nconst bucket = await client.createBucket('bucket-name');\n```\n\n**List Buckets**\n```typescript\nconst buckets = await client.listBuckets();\n```\n\n**Delete Bucket**\n```typescript\nawait client.deleteBucket('bucket-name');\n```\n\n### Object Operations\n\n**Put Object**\n```typescript\nconst data = Buffer.from('content');\nconst obj = await client.putObject(\n  'bucket-name',\n  'object-key',\n  data,\n  'application/json',\n  { key: 'value' }\n);\n```\n\n**Get Object**\n```typescript\nconst objData = await client.getObject('bucket-name', 'object-key');\n// objData.data contains the object buffer\n// objData.metadata contains metadata\n```\n\n**Head Object**\n```typescript\nconst metadata = await client.headObject('bucket-name', 'object-key');\n```\n\n**Delete Object**\n```typescript\nawait client.deleteObject('bucket-name', 'object-key');\n```\n\n**List Objects**\n```typescript\n// List all objects\nconst objects = await client.listObjects('bucket-name');\n\n// List with prefix\nconst objects = await client.listObjects('bucket-name', 'prefix/');\n\n// List with prefix and max keys\nconst objects = await client.listObjects('bucket-name', 'prefix/', 100);\n```\n\n## Error Handling\n\nThe client throws `ObjectStorageError` for API errors:\n\n```typescript\nimport { ObjectStorageError } from 'object-storage-client';\n\ntry {\n  const obj = await client.getObject('bucket', 'key');\n} catch (error) {\n  if (error instanceof ObjectStorageError) {\n    console.log(`Status: ${error.statusCode}, Message: ${error.message}`);\n  }\n}\n```\n","readmeFilename":"README.md"}