@lincode/filetypes
Version:
Generated by ambients-cli
175 lines (174 loc) • 2.46 kB
JavaScript
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"
]);