UNPKG

@vercel/blob

Version:

The Vercel Blob JavaScript API client

204 lines (151 loc) 6.44 kB
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); var _chunk4FOGRTRZcjs = require('./chunk-4FOGRTRZ.cjs'); // src/del.ts async function del(url, options) { await _chunk4FOGRTRZcjs.requestApi.call(void 0, "/delete", { method: "POST", headers: { "content-type": "application/json" }, body: JSON.stringify({ urls: Array.isArray(url) ? url : [url] }), signal: options == null ? void 0 : options.abortSignal }, options ); } // src/head.ts async function head(url, options) { const searchParams = new URLSearchParams({ url }); const response = await _chunk4FOGRTRZcjs.requestApi.call(void 0, `?${searchParams.toString()}`, // HEAD can't have body as a response, so we use GET { method: "GET", signal: options == null ? void 0 : options.abortSignal }, options ); return { url: response.url, downloadUrl: response.downloadUrl, pathname: response.pathname, size: response.size, contentType: response.contentType, contentDisposition: response.contentDisposition, cacheControl: response.cacheControl, uploadedAt: new Date(response.uploadedAt) }; } // src/list.ts async function list(options) { var _a; const searchParams = new URLSearchParams(); if (options == null ? void 0 : options.limit) { searchParams.set("limit", options.limit.toString()); } if (options == null ? void 0 : options.prefix) { searchParams.set("prefix", options.prefix); } if (options == null ? void 0 : options.cursor) { searchParams.set("cursor", options.cursor); } if (options == null ? void 0 : options.mode) { searchParams.set("mode", options.mode); } const response = await _chunk4FOGRTRZcjs.requestApi.call(void 0, `?${searchParams.toString()}`, { method: "GET", signal: options == null ? void 0 : options.abortSignal }, options ); if ((options == null ? void 0 : options.mode) === "folded") { return { folders: (_a = response.folders) != null ? _a : [], cursor: response.cursor, hasMore: response.hasMore, blobs: response.blobs.map(mapBlobResult) }; } return { cursor: response.cursor, hasMore: response.hasMore, blobs: response.blobs.map(mapBlobResult) }; } function mapBlobResult(blobResult) { return { url: blobResult.url, downloadUrl: blobResult.downloadUrl, pathname: blobResult.pathname, size: blobResult.size, uploadedAt: new Date(blobResult.uploadedAt) }; } // src/copy.ts async function copy(fromUrl, toPathname, options) { if (!options) { throw new (0, _chunk4FOGRTRZcjs.BlobError)("missing options, see usage"); } if (options.access !== "public") { throw new (0, _chunk4FOGRTRZcjs.BlobError)('access must be "public"'); } if (toPathname.length > _chunk4FOGRTRZcjs.MAXIMUM_PATHNAME_LENGTH) { throw new (0, _chunk4FOGRTRZcjs.BlobError)( `pathname is too long, maximum length is ${_chunk4FOGRTRZcjs.MAXIMUM_PATHNAME_LENGTH}` ); } for (const invalidCharacter of _chunk4FOGRTRZcjs.disallowedPathnameCharacters) { if (toPathname.includes(invalidCharacter)) { throw new (0, _chunk4FOGRTRZcjs.BlobError)( `pathname cannot contain "${invalidCharacter}", please encode it if needed` ); } } const headers = {}; if (options.addRandomSuffix !== void 0) { headers["x-add-random-suffix"] = options.addRandomSuffix ? "1" : "0"; } if (options.contentType) { headers["x-content-type"] = options.contentType; } if (options.cacheControlMaxAge !== void 0) { headers["x-cache-control-max-age"] = options.cacheControlMaxAge.toString(); } const params = new URLSearchParams({ pathname: toPathname, fromUrl }); const response = await _chunk4FOGRTRZcjs.requestApi.call(void 0, `?${params.toString()}`, { method: "PUT", headers, signal: options.abortSignal }, options ); return { url: response.url, downloadUrl: response.downloadUrl, pathname: response.pathname, contentType: response.contentType, contentDisposition: response.contentDisposition }; } // src/index.ts var put = _chunk4FOGRTRZcjs.createPutMethod.call(void 0, { allowedOptions: ["cacheControlMaxAge", "addRandomSuffix", "contentType"] }); var createMultipartUpload = _chunk4FOGRTRZcjs.createCreateMultipartUploadMethod.call(void 0, { allowedOptions: ["cacheControlMaxAge", "addRandomSuffix", "contentType"] }); var createMultipartUploader = _chunk4FOGRTRZcjs.createCreateMultipartUploaderMethod.call(void 0, { allowedOptions: ["cacheControlMaxAge", "addRandomSuffix", "contentType"] }); var uploadPart = _chunk4FOGRTRZcjs.createUploadPartMethod.call(void 0, { allowedOptions: ["cacheControlMaxAge", "addRandomSuffix", "contentType"] }); var completeMultipartUpload = _chunk4FOGRTRZcjs.createCompleteMultipartUploadMethod.call(void 0, { allowedOptions: ["cacheControlMaxAge", "addRandomSuffix", "contentType"] }); exports.BlobAccessError = _chunk4FOGRTRZcjs.BlobAccessError; exports.BlobClientTokenExpiredError = _chunk4FOGRTRZcjs.BlobClientTokenExpiredError; exports.BlobContentTypeNotAllowedError = _chunk4FOGRTRZcjs.BlobContentTypeNotAllowedError; exports.BlobError = _chunk4FOGRTRZcjs.BlobError; exports.BlobFileTooLargeError = _chunk4FOGRTRZcjs.BlobFileTooLargeError; exports.BlobNotFoundError = _chunk4FOGRTRZcjs.BlobNotFoundError; exports.BlobPathnameMismatchError = _chunk4FOGRTRZcjs.BlobPathnameMismatchError; exports.BlobRequestAbortedError = _chunk4FOGRTRZcjs.BlobRequestAbortedError; exports.BlobServiceNotAvailable = _chunk4FOGRTRZcjs.BlobServiceNotAvailable; exports.BlobServiceRateLimited = _chunk4FOGRTRZcjs.BlobServiceRateLimited; exports.BlobStoreNotFoundError = _chunk4FOGRTRZcjs.BlobStoreNotFoundError; exports.BlobStoreSuspendedError = _chunk4FOGRTRZcjs.BlobStoreSuspendedError; exports.BlobUnknownError = _chunk4FOGRTRZcjs.BlobUnknownError; exports.completeMultipartUpload = completeMultipartUpload; exports.copy = copy; exports.createFolder = _chunk4FOGRTRZcjs.createFolder; exports.createMultipartUpload = createMultipartUpload; exports.createMultipartUploader = createMultipartUploader; exports.del = del; exports.getDownloadUrl = _chunk4FOGRTRZcjs.getDownloadUrl; exports.head = head; exports.list = list; exports.put = put; exports.uploadPart = uploadPart; //# sourceMappingURL=index.cjs.map