UNPKG

feeles-ide

Version:

The hackable and serializable IDE to make learning material

28 lines (21 loc) 1.69 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = validateType; var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray")); var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray")); function validateType(name, mimeType) { return types.has(name) && types.get(name).test(mimeType); } var mimes = new Map([['none', /^$/i], ['text', /^text\/plain$/i], ['html', /^text\/html$/i], ['css', /^text\/css$/i], ['javascript', /^(text|application)\/javascript$/i], ['json', /^(text|application)\/json$/i], ['yaml', /^text\/(x-)?yaml/], ['markdown', /^text\/(x-)?markdown$/i], ['glsl', /^text\/(x-)?glsl/i], ['image', /^image\/.*$/i], ['audio', /^audio\/.*$/i]]); var metas = [['text', [mimes.get('none'), mimes.get('text'), mimes.get('html'), mimes.get('css'), mimes.get('javascript'), mimes.get('json'), mimes.get('yaml'), mimes.get('markdown'), mimes.get('glsl')]], ['blob', [mimes.get('image'), mimes.get('audio')]], ['config', [mimes.get('json')]], ['*', [/.*/]], ['.text.plain', [mimes.get('text')]], ['.text.html.basic', [mimes.get('html')]], ['.source.js', [mimes.get('javascript')]], ['.source.gfm', [mimes.get('markdown')]]].map(function (_ref) { var _ref2 = (0, _slicedToArray2.default)(_ref, 2), key = _ref2[0], regExps = _ref2[1]; return [key, new RegExp(regExps.map(function (regExp) { return regExp.source; }).join('|'), 'i')]; }); var types = new Map([].concat((0, _toConsumableArray2.default)(mimes), (0, _toConsumableArray2.default)(metas)));