UNPKG

feeles-ide

Version:

The hackable and serializable IDE to make learning material

65 lines (59 loc) 1.72 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _getCustomTheme = require("../js/getCustomTheme"); var _Snippet = _interopRequireDefault(require("./Snippet")); var _default = new Map([['palette', { test: /^\.palette$/i, multiple: false, defaultValue: _getCustomTheme.defaultPalette, defaultName: '.palette' }], ['env', { test: /^\.env$/i, multiple: false, defaultValue: { MODULE: [true, 'boolean', 'A flag to use module bundler'] }, defaultName: '.env' }], ['babelrc', { test: /^\.babelrc$/i, multiple: false, defaultValue: { presets: ['es2015'] }, defaultName: '.babelrc' }], ['snippets', { test: /^snippets\/.*\.json$/i, multiple: true, defaultValue: {}, defaultName: 'snippets/snippet.json', bundle: function bundle(files) { var snippets = files.reduce(function (p, file) { var name = file.name, json = file.json; Object.keys(json).forEach(function (scope) { p[scope] = (p[scope] || []).concat(Object.keys(json[scope]).map(function (key) { return new _Snippet.default(Object.assign({ name: name, fileKey: file.key }, json[scope][key])); })); }); return p; }, Object.create(null)); var scopes = Object.keys(snippets); return function (file) { return scopes.filter(function (scope) { return file && file.is(scope); }).map(function (scope) { return snippets[scope]; }).reduce(function (p, c) { return p.concat(c); }, []); }; } }]]); exports.default = _default;