import { ResearchObjectComponentType } from '@desci-labs/desci-models'; export const PDF_EXTENSIONS = { '.pdf': ResearchObjectComponentType.PDF, '.docx': ResearchObjectComponentType.PDF, '.tex': ResearchObjectComponentType.PDF, }; export const DATA_EXTENSIONS = { '.csv': ResearchObjectComponentType.DATA, '.txt': ResearchObjectComponentType.DATA, '.fits': ResearchObjectComponentType.DATA, '.h5': ResearchObjectComponentType.DATA, '.json': ResearchObjectComponentType.DATA, }; /** * TEMP: Classed as DATA temporarily */ export const MEDIA_EXTENSIONS = { '.png': ResearchObjectComponentType.DATA, '.gif': ResearchObjectComponentType.DATA, '.jpg': ResearchObjectComponentType.DATA, '.jpeg': ResearchObjectComponentType.DATA, '.apng': ResearchObjectComponentType.DATA, '.bmp': ResearchObjectComponentType.DATA, }; export const CODE_EXTENSIONS = { '.py': ResearchObjectComponentType.CODE, '.ipynb': ResearchObjectComponentType.CODE, '.md': ResearchObjectComponentType.CODE, '.html': ResearchObjectComponentType.CODE, '.css': ResearchObjectComponentType.CODE, '.js': ResearchObjectComponentType.CODE, '.jsx': ResearchObjectComponentType.CODE, '.ts': ResearchObjectComponentType.CODE, '.tsx': ResearchObjectComponentType.CODE, '.java': ResearchObjectComponentType.CODE, '.c': ResearchObjectComponentType.CODE, '.cpp': ResearchObjectComponentType.CODE, '.cs': ResearchObjectComponentType.CODE, '.go': ResearchObjectComponentType.CODE, '.rb': ResearchObjectComponentType.CODE, '.php': ResearchObjectComponentType.CODE, '.sql': ResearchObjectComponentType.CODE, '.xml': ResearchObjectComponentType.CODE, '.r': ResearchObjectComponentType.CODE, '.s': ResearchObjectComponentType.CODE, '.rs': ResearchObjectComponentType.CODE, '.kt': ResearchObjectComponentType.CODE, '.m': ResearchObjectComponentType.CODE, '.mm': ResearchObjectComponentType.CODE, '.swift': ResearchObjectComponentType.CODE, '.sh': ResearchObjectComponentType.CODE, '.bat': ResearchObjectComponentType.CODE, '.ps1': ResearchObjectComponentType.CODE, '.yml': ResearchObjectComponentType.CODE, '.yaml': ResearchObjectComponentType.CODE, '.svg': ResearchObjectComponentType.CODE, '.log': ResearchObjectComponentType.CODE, '.ini': ResearchObjectComponentType.CODE, '.cfg': ResearchObjectComponentType.CODE, '.dockerfile': ResearchObjectComponentType.CODE, '.bashrc': ResearchObjectComponentType.CODE, '.gitignore': ResearchObjectComponentType.CODE, '.lua': ResearchObjectComponentType.CODE, '.pl': ResearchObjectComponentType.CODE, '.perl': ResearchObjectComponentType.CODE, '.h': ResearchObjectComponentType.CODE, '.hpp': ResearchObjectComponentType.CODE, '.hxx': ResearchObjectComponentType.CODE, '.hh': ResearchObjectComponentType.CODE, '.ino': ResearchObjectComponentType.CODE, '.groovy': ResearchObjectComponentType.CODE, '.rst': ResearchObjectComponentType.CODE, '.dart': ResearchObjectComponentType.CODE, '.pug': ResearchObjectComponentType.CODE, '.jade': ResearchObjectComponentType.CODE, '.scss': ResearchObjectComponentType.CODE, '.less': ResearchObjectComponentType.CODE, '.styl': ResearchObjectComponentType.CODE, '.svelte': ResearchObjectComponentType.CODE, '.vue': ResearchObjectComponentType.CODE, '.elm': ResearchObjectComponentType.CODE, '.purs': ResearchObjectComponentType.CODE, '.ex': ResearchObjectComponentType.CODE, '.exs': ResearchObjectComponentType.CODE, '.eex': ResearchObjectComponentType.CODE, '.leex': ResearchObjectComponentType.CODE, '.erl': ResearchObjectComponentType.CODE, '.hrl': ResearchObjectComponentType.CODE, '.twig': ResearchObjectComponentType.CODE, '.jl': ResearchObjectComponentType.CODE, '.matlab': ResearchObjectComponentType.CODE, '.octave': ResearchObjectComponentType.CODE, '.toml': ResearchObjectComponentType.CODE, '.cr': ResearchObjectComponentType.CODE, '.nim': ResearchObjectComponentType.CODE, '.v': ResearchObjectComponentType.CODE, '.sv': ResearchObjectComponentType.CODE, '.svh': ResearchObjectComponentType.CODE, '.vhd': ResearchObjectComponentType.CODE, '.vhdl': ResearchObjectComponentType.CODE, '.tcl': ResearchObjectComponentType.CODE, '.scala': ResearchObjectComponentType.CODE, '.sc': ResearchObjectComponentType.CODE, '.cls': ResearchObjectComponentType.CODE, '.aj': ResearchObjectComponentType.CODE, '.ml': ResearchObjectComponentType.CODE, '.mli': ResearchObjectComponentType.CODE, '.fs': ResearchObjectComponentType.CODE, '.fsi': ResearchObjectComponentType.CODE, '.fsx': ResearchObjectComponentType.CODE, '.fsscript': ResearchObjectComponentType.CODE, '.cake': ResearchObjectComponentType.CODE, '.feature': ResearchObjectComponentType.CODE, '.coffee': ResearchObjectComponentType.CODE, '.ktm': ResearchObjectComponentType.CODE, '.kts': ResearchObjectComponentType.CODE, '.pde': ResearchObjectComponentType.CODE, '.as': ResearchObjectComponentType.CODE, '.sol': ResearchObjectComponentType.CODE, '.au3': ResearchObjectComponentType.CODE, '.sma': ResearchObjectComponentType.CODE, '.ahk': ResearchObjectComponentType.CODE, '.in': ResearchObjectComponentType.CODE, '.tpl': ResearchObjectComponentType.CODE, '.pp': ResearchObjectComponentType.CODE, '.kit': ResearchObjectComponentType.CODE, '.njk': ResearchObjectComponentType.CODE, '.api': ResearchObjectComponentType.CODE, '.arc': ResearchObjectComponentType.CODE, '.asciidoc': ResearchObjectComponentType.CODE, '.adoc': ResearchObjectComponentType.CODE, '.asp': ResearchObjectComponentType.CODE, '.asax': ResearchObjectComponentType.CODE, '.ascx': ResearchObjectComponentType.CODE, '.ashx': ResearchObjectComponentType.CODE, '.asmx': ResearchObjectComponentType.CODE, '.aspx': ResearchObjectComponentType.CODE, '.axd': ResearchObjectComponentType.CODE, '.asx': ResearchObjectComponentType.CODE, '.brs': ResearchObjectComponentType.CODE, '.bs': ResearchObjectComponentType.CODE, '.imba': ResearchObjectComponentType.CODE, '.flux': ResearchObjectComponentType.CODE, '.gs': ResearchObjectComponentType.CODE, '.pot': ResearchObjectComponentType.CODE, '.po': ResearchObjectComponentType.CODE, '.mo': ResearchObjectComponentType.CODE, '.soy': ResearchObjectComponentType.CODE, '.yaws': ResearchObjectComponentType.CODE, '.mjs': ResearchObjectComponentType.CODE, '.cjs': ResearchObjectComponentType.CODE, '.xs': ResearchObjectComponentType.CODE, '.snippets': ResearchObjectComponentType.CODE, '.dockerignore': ResearchObjectComponentType.CODE, '.npmignore': ResearchObjectComponentType.CODE, '.eslintignore': ResearchObjectComponentType.CODE, '.prettierignore': ResearchObjectComponentType.CODE, '.huskyignore': ResearchObjectComponentType.CODE, '.graphql': ResearchObjectComponentType.CODE, '.gql': ResearchObjectComponentType.CODE, '.raml': ResearchObjectComponentType.CODE, '.xaml': ResearchObjectComponentType.CODE, '.wxs': ResearchObjectComponentType.CODE, '.wxi': ResearchObjectComponentType.CODE, '.wxl': ResearchObjectComponentType.CODE, '.wixproj': ResearchObjectComponentType.CODE, '.wixobj': ResearchObjectComponentType.CODE, '.wixlib': ResearchObjectComponentType.CODE, '.wixpdb': ResearchObjectComponentType.CODE, '.litjson': ResearchObjectComponentType.CODE, '.sln': ResearchObjectComponentType.CODE, '.csproj': ResearchObjectComponentType.CODE, '.vbproj': ResearchObjectComponentType.CODE, '.vcxproj': ResearchObjectComponentType.CODE, '.proj': ResearchObjectComponentType.CODE, '.props': ResearchObjectComponentType.CODE, '.targets': ResearchObjectComponentType.CODE, '.ruleset': ResearchObjectComponentType.CODE, '.vsixmanifest': ResearchObjectComponentType.CODE, '.vssettings': ResearchObjectComponentType.CODE, '.vstemplate': ResearchObjectComponentType.CODE, '.vssscc': ResearchObjectComponentType.CODE, '.vspscc': ResearchObjectComponentType.CODE, '.il': ResearchObjectComponentType.CODE, '.cd': ResearchObjectComponentType.CODE, '.sfproj': ResearchObjectComponentType.CODE, '.nuspec': ResearchObjectComponentType.CODE, '.psmdcp': ResearchObjectComponentType.CODE, '.xunit': ResearchObjectComponentType.CODE, '.xunit.runner.json': ResearchObjectComponentType.CODE, '.webmanifest': ResearchObjectComponentType.CODE, '.htaccess': ResearchObjectComponentType.CODE, '.htpasswd': ResearchObjectComponentType.CODE, '.conf': ResearchObjectComponentType.CODE, '.prop': ResearchObjectComponentType.CODE, '.properties': ResearchObjectComponentType.CODE, '.wx': ResearchObjectComponentType.CODE, '.pubxml': ResearchObjectComponentType.CODE, '.pubxml.user': ResearchObjectComponentType.CODE, '.crt': ResearchObjectComponentType.CODE, '.pem': ResearchObjectComponentType.CODE, '.key': ResearchObjectComponentType.CODE, '.tf': ResearchObjectComponentType.CODE, '.tf.json': ResearchObjectComponentType.CODE, '.tfvars': ResearchObjectComponentType.CODE, '.tfstate': ResearchObjectComponentType.CODE, '.terraformrc': ResearchObjectComponentType.CODE, '.tfrc': ResearchObjectComponentType.CODE, '.tmLanguage': ResearchObjectComponentType.CODE, '.tmTheme': ResearchObjectComponentType.CODE, '.tmPreferences': ResearchObjectComponentType.CODE, '.vbs': ResearchObjectComponentType.CODE, '.vba': ResearchObjectComponentType.CODE, '.bas': ResearchObjectComponentType.CODE, '.frm': ResearchObjectComponentType.CODE, '.frx': ResearchObjectComponentType.CODE, '.vb': ResearchObjectComponentType.CODE, '.vbscript': ResearchObjectComponentType.CODE, '.psd1': ResearchObjectComponentType.CODE, '.psm1': ResearchObjectComponentType.CODE, '.ps1xml': ResearchObjectComponentType.CODE, '.psc1': ResearchObjectComponentType.CODE, '.pssc': ResearchObjectComponentType.CODE, '.wsf': ResearchObjectComponentType.CODE, '.azcli': ResearchObjectComponentType.CODE, '.vagrantfile': ResearchObjectComponentType.CODE, '.jake': ResearchObjectComponentType.CODE, '.jscsrc': ResearchObjectComponentType.CODE, '.jshintrc': ResearchObjectComponentType.CODE, '.yaml-tmlanguage': ResearchObjectComponentType.CODE, '.yml-tmlanguage': ResearchObjectComponentType.CODE, '.paket': ResearchObjectComponentType.CODE, '.ced': ResearchObjectComponentType.CODE, '.cfc': ResearchObjectComponentType.CODE, '.cfm': ResearchObjectComponentType.CODE, '.cfml': ResearchObjectComponentType.CODE, '.p8': ResearchObjectComponentType.CODE, '.p8.png': ResearchObjectComponentType.CODE, '.jxl': ResearchObjectComponentType.CODE, '.mjml': ResearchObjectComponentType.CODE, '.bzl': ResearchObjectComponentType.CODE, '.bazelrc': ResearchObjectComponentType.CODE, '.bazel': ResearchObjectComponentType.CODE, '.star': ResearchObjectComponentType.CODE, '.graphqls': ResearchObjectComponentType.CODE, '.graphqlconfig': ResearchObjectComponentType.CODE, '.i': ResearchObjectComponentType.CODE, '.mi': ResearchObjectComponentType.CODE, '.cc': ResearchObjectComponentType.CODE, '.cp': ResearchObjectComponentType.CODE, '.cxx': ResearchObjectComponentType.CODE, '.cppm': ResearchObjectComponentType.CODE, '.ixx': ResearchObjectComponentType.CODE, '.c++': ResearchObjectComponentType.CODE, '.ii': ResearchObjectComponentType.CODE, '.inl': ResearchObjectComponentType.CODE, '.ipp': ResearchObjectComponentType.CODE, 'h++': ResearchObjectComponentType.CODE, '.xh': ResearchObjectComponentType.CODE, '.tcc': ResearchObjectComponentType.CODE, '.def': ResearchObjectComponentType.CODE, '.odin': ResearchObjectComponentType.CODE, '.rego': ResearchObjectComponentType.CODE, }; export const EXTENSION_MAP: Record = { ...CODE_EXTENSIONS, ...PDF_EXTENSIONS, ...DATA_EXTENSIONS, ...MEDIA_EXTENSIONS, };