@sendbird/uikit-react-native
Version:
Sendbird UIKit for React Native: A feature-rich and customizable chat UI kit with messaging, channel management, and user authentication.
36 lines (35 loc) • 996 B
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _uikitUtils = require("@sendbird/uikit-utils");
const normalizeFile = async ({
uri,
size,
name,
type
}) => {
// URI is required property
if (!uri) return null;
let filename = name || String(Date.now());
let filetype = type || '';
const extension = (0, _uikitUtils.getFileExtension)(filename) || (0, _uikitUtils.getFileExtensionFromMime)(filetype) || (await (0, _uikitUtils.getFileExtensionFromUri)(uri));
if (extension) {
filename = (0, _uikitUtils.normalizeFileName)(filename, extension);
if (!filetype || isNotMimeType(filetype)) {
filetype = (0, _uikitUtils.getMimeFromFileExtension)(extension);
}
}
return {
uri,
name: filename,
type: filetype,
size: size ?? 0
};
};
function isNotMimeType(str) {
return str.indexOf('/') === -1;
}
var _default = exports.default = normalizeFile;
//# sourceMappingURL=normalizeFile.js.map
;