@squarecloud/blob
Version:
Official Square Cloud Blob SDK for NodeJS
148 lines (144 loc) • 5.42 kB
JavaScript
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
var __export = (target, all) => {
for (var name in all)
__defProp(target, name, { get: all[name], enumerable: true });
};
var __copyProps = (to, from, except, desc) => {
if (from && typeof from === "object" || typeof from === "function") {
for (let key of __getOwnPropNames(from))
if (!__hasOwnProp.call(to, key) && key !== except)
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
}
return to;
};
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
var __publicField = (obj, key, value) => {
__defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
return value;
};
// src/utils/mimetype/index.ts
var mimetype_exports = {};
__export(mimetype_exports, {
MimeTypeUtil: () => MimeTypeUtil,
MimeTypes: () => MimeTypes
});
module.exports = __toCommonJS(mimetype_exports);
// src/utils/mimetype/mimetypes.ts
var mimeTypesWithExtension = {
"video/mp4": ["mp4"],
"video/mpeg": ["mpeg"],
"video/webm": ["webm"],
"video/x-flv": ["flv"],
"video/x-m4v": ["m4v"],
"image/jpeg": ["jpg", "jpeg"],
"image/png": ["png"],
"image/apng": ["apng"],
"image/tiff": ["tiff"],
"image/gif": ["gif"],
"image/webp": ["webp"],
"image/bmp": ["bmp"],
"image/svg+xml": ["svg"],
"image/x-icon": ["ico"],
"image/ico": ["ico"],
"image/cur": ["cur"],
"image/heic": ["heic"],
"image/heif": ["heif"],
"audio/wav": ["wav"],
"audio/ogg": ["ogg"],
"audio/opus": ["opus"],
"audio/mp4": ["mp4"],
"audio/mpeg": ["mp3"],
"audio/aac": ["aac"],
"text/plain": ["txt"],
"text/html": ["html"],
"text/css": ["css"],
"text/csv": ["csv"],
"text/x-sql": ["sql"],
"application/xml": ["xml"],
"application/sql": ["sql"],
"application/x-sql": ["sql"],
"application/x-sqlite3": ["sqlite3"],
"application/x-pkcs12": ["pfx"],
"application/pdf": ["pdf"],
"application/json": ["json"],
"application/javascript": ["js"]
};
var mimeTypes = Object.keys(mimeTypesWithExtension);
// src/utils/mimetype/enum.ts
var MimeTypes = /* @__PURE__ */ ((MimeTypes2) => {
MimeTypes2["VIDEO_MP4"] = "video/mp4";
MimeTypes2["VIDEO_MPEG"] = "video/mpeg";
MimeTypes2["VIDEO_WEBM"] = "video/webm";
MimeTypes2["VIDEO_X_FLV"] = "video/x-flv";
MimeTypes2["VIDEO_X_M4V"] = "video/x-m4v";
MimeTypes2["IMAGE_JPEG"] = "image/jpeg";
MimeTypes2["IMAGE_PNG"] = "image/png";
MimeTypes2["IMAGE_APNG"] = "image/apng";
MimeTypes2["IMAGE_TIFF"] = "image/tiff";
MimeTypes2["IMAGE_GIF"] = "image/gif";
MimeTypes2["IMAGE_WEBP"] = "image/webp";
MimeTypes2["IMAGE_BMP"] = "image/bmp";
MimeTypes2["IMAGE_SVG"] = "image/svg+xml";
MimeTypes2["IMAGE_X_ICON"] = "image/x-icon";
MimeTypes2["IMAGE_ICO"] = "image/ico";
MimeTypes2["IMAGE_CUR"] = "image/cur";
MimeTypes2["IMAGE_HEIC"] = "image/heic";
MimeTypes2["IMAGE_HEIF"] = "image/heif";
MimeTypes2["AUDIO_WAV"] = "audio/wav";
MimeTypes2["AUDIO_OGG"] = "audio/ogg";
MimeTypes2["AUDIO_OPUS"] = "audio/opus";
MimeTypes2["AUDIO_MP4"] = "audio/mp4";
MimeTypes2["AUDIO_MPEG"] = "audio/mpeg";
MimeTypes2["AUDIO_AAC"] = "audio/aac";
MimeTypes2["TEXT_PLAIN"] = "text/plain";
MimeTypes2["TEXT_HTML"] = "text/html";
MimeTypes2["TEXT_CSS"] = "text/css";
MimeTypes2["TEXT_CSV"] = "text/csv";
MimeTypes2["TEXT_X_SQL"] = "text/x-sql";
MimeTypes2["APPLICATION_XML"] = "application/xml";
MimeTypes2["APPLICATION_SQL"] = "application/sql";
MimeTypes2["APPLICATION_X_SQL"] = "application/x-sql";
MimeTypes2["APPLICATION_X_SQLITE3"] = "application/x-sqlite3";
MimeTypes2["APPLICATION_X_PKCS12"] = "application/x-pkcs12";
MimeTypes2["APPLICATION_PDF"] = "application/pdf";
MimeTypes2["APPLICATION_JSON"] = "application/json";
MimeTypes2["APPLICATION_JAVASCRIPT"] = "application/javascript";
return MimeTypes2;
})(MimeTypes || {});
// src/utils/mimetype/index.ts
var MimeTypeUtil = class {
/**
* Returns the corresponding MIME type for a given file extension.
*
* @param extension - The file extension to search for.
* @return The MIME type associated with the extension, or "text/plain" if not found.
*
* @example
* ```js
* MimeTypeUtil.fromExtension("jpeg") // "image/jpeg" | Supported
* MimeTypeUtil.fromExtension("json") // "application/json" | Supported
* MimeTypeUtil.fromExtension("potato") // "text/plain" | Unsupported, defaults to text/plain
* ```
*/
static fromExtension(extension) {
const entries = Object.entries(mimeTypesWithExtension);
const mimeType = entries.find(
([, extensions]) => extensions.includes(extension)
)?.[0];
return mimeType || "text/plain";
}
};
/** Supported mime types with their extensions */
__publicField(MimeTypeUtil, "mimeTypesWithExtension", mimeTypesWithExtension);
/** All supported mime types */
__publicField(MimeTypeUtil, "mimeTypes", mimeTypes);
// Annotate the CommonJS export names for ESM import in node:
0 && (module.exports = {
MimeTypeUtil,
MimeTypes
});
//# sourceMappingURL=index.js.map