UNPKG

feeles-ide

Version:

The hackable and serializable IDE to make learning material

64 lines (62 loc) 1.87 kB
import _Object$create from 'babel-runtime/core-js/object/create'; import _Object$assign from 'babel-runtime/core-js/object/assign'; import _Object$keys from 'babel-runtime/core-js/object/keys'; import _Map from 'babel-runtime/core-js/map'; import { defaultPalette } from '../js/getCustomTheme'; import Snippet from './Snippet'; import organization from '../organization'; export default new _Map([['palette', { test: /^\.palette$/i, multiple: false, defaultValue: 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' }], ['ogp', { test: /^feeles\/ogp\.json$/i, multiple: false, defaultValue: organization.placeholder, defaultName: 'feeles/ogp.json' }], ['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(_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.is(scope); }).map(function (scope) { return snippets[scope]; }).reduce(function (p, c) { return p.concat(c); }, []); }; } }]]);