@cisstech/nge
Version:
NG Essentials is a collection of libraries for Angular developers.
54 lines • 7.11 kB
JavaScript
export function isImage(extension) {
extension = extension.toLowerCase();
if (!extension.startsWith('.')) {
extension = '.' + extension;
}
return ['.ai', '.png', '.jpg', '.pjg', '.gif', '.svg', '.jpeg'].includes(extension);
}
export function isPdf(extension) {
extension = extension.toLowerCase();
if (!extension.startsWith('.')) {
extension = '.' + extension;
}
return extension === '.pdf';
}
export function isWordDoc(extension) {
extension = extension.toLowerCase();
if (!extension.startsWith('.')) {
extension = '.' + extension;
}
return ['.odt', '.doc', '.docx'].includes(extension);
}
export function isText(extension) {
extension = extension.toLowerCase();
return extension === 'txt' || extension === '.txt';
}
export function isExcelDoc(extension) {
extension = extension.toLowerCase();
if (!extension.startsWith('.')) {
extension = '.' + extension;
}
return ['.xlsx', '.xlsm', '.xsl', '.xst'].includes(extension);
}
export function isPowerPointDoc(extension) {
extension = extension.toLowerCase();
if (!extension.startsWith('.')) {
extension = '.' + extension;
}
return ['.ppt', '.pptm', '.pptx'].includes(extension);
}
/**
* Gets the extension of the file (without the dot '.').
* Throws an exception if the file is undefined.
* @param file the file
* @returns the extension of the file.
*/
export function extensionOf(file) {
if (file instanceof File) {
const tmp1 = Math.max(0, file.name.lastIndexOf('.'));
return file.name.slice((tmp1 || Infinity) + 1).toLowerCase();
}
const tmp2 = Math.max(0, file.type.lastIndexOf('/'));
return file.type.slice((tmp2 || Infinity) + 1).toLowerCase();
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZW5zaW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nZS91dGlscy9zcmMvZXh0ZW5zaW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLFVBQVUsT0FBTyxDQUFDLFNBQWlCO0lBQ3ZDLFNBQVMsR0FBRyxTQUFTLENBQUMsV0FBVyxFQUFFLENBQUE7SUFDbkMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUMvQixTQUFTLEdBQUcsR0FBRyxHQUFHLFNBQVMsQ0FBQTtJQUM3QixDQUFDO0lBQ0QsT0FBTyxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQTtBQUNyRixDQUFDO0FBRUQsTUFBTSxVQUFVLEtBQUssQ0FBQyxTQUFpQjtJQUNyQyxTQUFTLEdBQUcsU0FBUyxDQUFDLFdBQVcsRUFBRSxDQUFBO0lBQ25DLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDL0IsU0FBUyxHQUFHLEdBQUcsR0FBRyxTQUFTLENBQUE7SUFDN0IsQ0FBQztJQUNELE9BQU8sU0FBUyxLQUFLLE1BQU0sQ0FBQTtBQUM3QixDQUFDO0FBRUQsTUFBTSxVQUFVLFNBQVMsQ0FBQyxTQUFpQjtJQUN6QyxTQUFTLEdBQUcsU0FBUyxDQUFDLFdBQVcsRUFBRSxDQUFBO0lBQ25DLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDL0IsU0FBUyxHQUFHLEdBQUcsR0FBRyxTQUFTLENBQUE7SUFDN0IsQ0FBQztJQUNELE9BQU8sQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQTtBQUN0RCxDQUFDO0FBRUQsTUFBTSxVQUFVLE1BQU0sQ0FBQyxTQUFpQjtJQUN0QyxTQUFTLEdBQUcsU0FBUyxDQUFDLFdBQVcsRUFBRSxDQUFBO0lBQ25DLE9BQU8sU0FBUyxLQUFLLEtBQUssSUFBSSxTQUFTLEtBQUssTUFBTSxDQUFBO0FBQ3BELENBQUM7QUFFRCxNQUFNLFVBQVUsVUFBVSxDQUFDLFNBQWlCO0lBQzFDLFNBQVMsR0FBRyxTQUFTLENBQUMsV0FBVyxFQUFFLENBQUE7SUFDbkMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUMvQixTQUFTLEdBQUcsR0FBRyxHQUFHLFNBQVMsQ0FBQTtJQUM3QixDQUFDO0lBQ0QsT0FBTyxDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQTtBQUMvRCxDQUFDO0FBRUQsTUFBTSxVQUFVLGVBQWUsQ0FBQyxTQUFpQjtJQUMvQyxTQUFTLEdBQUcsU0FBUyxDQUFDLFdBQVcsRUFBRSxDQUFBO0lBQ25DLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDL0IsU0FBUyxHQUFHLEdBQUcsR0FBRyxTQUFTLENBQUE7SUFDN0IsQ0FBQztJQUNELE9BQU8sQ0FBQyxNQUFNLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQTtBQUN2RCxDQUFDO0FBRUQ7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUsV0FBVyxDQUFDLElBQWlCO0lBQzNDLElBQUksSUFBSSxZQUFZLElBQUksRUFBRSxDQUFDO1FBQ3pCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUE7UUFDcEQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksSUFBSSxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQTtJQUM5RCxDQUFDO0lBQ0QsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQTtJQUNwRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxJQUFJLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFBO0FBQzlELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gaXNJbWFnZShleHRlbnNpb246IHN0cmluZyk6IGJvb2xlYW4ge1xuICBleHRlbnNpb24gPSBleHRlbnNpb24udG9Mb3dlckNhc2UoKVxuICBpZiAoIWV4dGVuc2lvbi5zdGFydHNXaXRoKCcuJykpIHtcbiAgICBleHRlbnNpb24gPSAnLicgKyBleHRlbnNpb25cbiAgfVxuICByZXR1cm4gWycuYWknLCAnLnBuZycsICcuanBnJywgJy5wamcnLCAnLmdpZicsICcuc3ZnJywgJy5qcGVnJ10uaW5jbHVkZXMoZXh0ZW5zaW9uKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNQZGYoZXh0ZW5zaW9uOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgZXh0ZW5zaW9uID0gZXh0ZW5zaW9uLnRvTG93ZXJDYXNlKClcbiAgaWYgKCFleHRlbnNpb24uc3RhcnRzV2l0aCgnLicpKSB7XG4gICAgZXh0ZW5zaW9uID0gJy4nICsgZXh0ZW5zaW9uXG4gIH1cbiAgcmV0dXJuIGV4dGVuc2lvbiA9PT0gJy5wZGYnXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1dvcmREb2MoZXh0ZW5zaW9uOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgZXh0ZW5zaW9uID0gZXh0ZW5zaW9uLnRvTG93ZXJDYXNlKClcbiAgaWYgKCFleHRlbnNpb24uc3RhcnRzV2l0aCgnLicpKSB7XG4gICAgZXh0ZW5zaW9uID0gJy4nICsgZXh0ZW5zaW9uXG4gIH1cbiAgcmV0dXJuIFsnLm9kdCcsICcuZG9jJywgJy5kb2N4J10uaW5jbHVkZXMoZXh0ZW5zaW9uKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNUZXh0KGV4dGVuc2lvbjogc3RyaW5nKTogYm9vbGVhbiB7XG4gIGV4dGVuc2lvbiA9IGV4dGVuc2lvbi50b0xvd2VyQ2FzZSgpXG4gIHJldHVybiBleHRlbnNpb24gPT09ICd0eHQnIHx8IGV4dGVuc2lvbiA9PT0gJy50eHQnXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0V4Y2VsRG9jKGV4dGVuc2lvbjogc3RyaW5nKTogYm9vbGVhbiB7XG4gIGV4dGVuc2lvbiA9IGV4dGVuc2lvbi50b0xvd2VyQ2FzZSgpXG4gIGlmICghZXh0ZW5zaW9uLnN0YXJ0c1dpdGgoJy4nKSkge1xuICAgIGV4dGVuc2lvbiA9ICcuJyArIGV4dGVuc2lvblxuICB9XG4gIHJldHVybiBbJy54bHN4JywgJy54bHNtJywgJy54c2wnLCAnLnhzdCddLmluY2x1ZGVzKGV4dGVuc2lvbilcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzUG93ZXJQb2ludERvYyhleHRlbnNpb246IHN0cmluZyk6IGJvb2xlYW4ge1xuICBleHRlbnNpb24gPSBleHRlbnNpb24udG9Mb3dlckNhc2UoKVxuICBpZiAoIWV4dGVuc2lvbi5zdGFydHNXaXRoKCcuJykpIHtcbiAgICBleHRlbnNpb24gPSAnLicgKyBleHRlbnNpb25cbiAgfVxuICByZXR1cm4gWycucHB0JywgJy5wcHRtJywgJy5wcHR4J10uaW5jbHVkZXMoZXh0ZW5zaW9uKVxufVxuXG4vKipcbiAqIEdldHMgdGhlIGV4dGVuc2lvbiBvZiB0aGUgZmlsZSAod2l0aG91dCB0aGUgZG90ICcuJykuXG4gKiBUaHJvd3MgYW4gZXhjZXB0aW9uIGlmIHRoZSBmaWxlIGlzIHVuZGVmaW5lZC5cbiAqIEBwYXJhbSBmaWxlIHRoZSBmaWxlXG4gKiBAcmV0dXJucyB0aGUgZXh0ZW5zaW9uIG9mIHRoZSBmaWxlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZXh0ZW5zaW9uT2YoZmlsZTogRmlsZSB8IEJsb2IpOiBzdHJpbmcge1xuICBpZiAoZmlsZSBpbnN0YW5jZW9mIEZpbGUpIHtcbiAgICBjb25zdCB0bXAxID0gTWF0aC5tYXgoMCwgZmlsZS5uYW1lLmxhc3RJbmRleE9mKCcuJykpXG4gICAgcmV0dXJuIGZpbGUubmFtZS5zbGljZSgodG1wMSB8fCBJbmZpbml0eSkgKyAxKS50b0xvd2VyQ2FzZSgpXG4gIH1cbiAgY29uc3QgdG1wMiA9IE1hdGgubWF4KDAsIGZpbGUudHlwZS5sYXN0SW5kZXhPZignLycpKVxuICByZXR1cm4gZmlsZS50eXBlLnNsaWNlKCh0bXAyIHx8IEluZmluaXR5KSArIDEpLnRvTG93ZXJDYXNlKClcbn1cbiJdfQ==