@clerk/shared
Version:
Internal package utils used by the Clerk SDKs
33 lines (32 loc) • 814 B
JavaScript
//#region src/file.ts
/**
* Read an expected JSON type File.
*
* Probably paired with:
* <input type='file' accept='application/JSON' ... />
*/
async function readJSONFile(file) {
const text = await new Promise((resolve, reject) => {
const reader = new FileReader();
reader.addEventListener("load", function() {
resolve(reader.result);
});
reader.addEventListener("error", reject);
reader.readAsText(file);
});
return JSON.parse(text);
}
const MimeTypeToExtensionMap = Object.freeze({
"image/png": "png",
"image/jpeg": "jpg",
"image/gif": "gif",
"image/webp": "webp",
"image/x-icon": "ico",
"image/vnd.microsoft.icon": "ico"
});
const extension = (mimeType) => {
return MimeTypeToExtensionMap[mimeType];
};
//#endregion
export { extension, readJSONFile };
//# sourceMappingURL=file.mjs.map