UNPKG

@lincode/filetypes

Version:

Generated by ambients-cli

175 lines (174 loc) 2.46 kB
import { splitFileName } from "@lincode/utils"; export const extensionMap = new Map(); export const getExtensionType = (val) => { var _a, _b; return extensionMap.get((_b = (_a = splitFileName(val)[1]) === null || _a === void 0 ? void 0 : _a.toLowerCase()) !== null && _b !== void 0 ? _b : ""); }; const register = (type, extensions) => { for (const ext of extensions) extensionMap.set(ext, type); return extensions; }; export const imageExtensions = register("image", [ "jpg", "jpeg", "gif", "png", "svg", "tiff", "webp", "hdr", "ico", "bmp", "psd", "heif", "heic", "bpg", "jxr", "hdp", "wdp", "cur", "tga", "dds", "exr", "j2k", "jpf", "jpm", "jp2", "jpx", "j2c", "fpx", "pcx", "pgf", "psb", "tga", "tif", "xbm", "xcf", "xpm", "3fr", "ari", "arw", "srf", "sr2", "bay", "crw", "cr2", "cap", "iiq", "eip", "dcs", "dcr", "drf", "k25", "dng", "erf", "fff", "mef", "mdc", "mos", "mrw", "nef", "nrw", "orf", "pef", "ptx", "pxn", "r3d", "raf", "raw", "rw2", "rwl", "rwz", "srw", "x3f" ]); export const audioExtensions = register("audio", [ "m4a", "mp3", "wav", "wma", "ogg", "flax", "flac", "aac", "aiff", "aif", "aifc", "m4b", "m4p", "m4r" ]); export const videoExtensions = register("video", [ "mp4", "webm", "ogv", "avi", "mov", "wmv", "flv", "m4v", "mpg", "mpeg", "3gp" ]); export const plainTextExtensions = register("plainText", [ "js", "ts", "jsx", "tsx", "py", "txt", "md", "json", "yaml", "c", "cpp", "h", "hpp", "css", "scss", "sass", "html", "xml", "yml", "sh", "bat", "java", "cs", "php", "go", "rb", "rs", "swift", "kt", "kts", "dart", "lua", "toml", "ini", "conf", "config", "properties", "prop", "gradle", "groovy" ]); export const modelExtensions = register("model", [ "gltf", "glb", "fbx", "obj", "stl", "ply", "3ds", "dae", "drc", "scn", "blend", "bvh", "vrm", "x", "x3d", "x3db", "x3dv", "wrl", "vrml" ]);