import _ from 'underscore' let staticSource = ctDashboardLocalizations.clean_install_plugins export default { cleanInstallPlugins, requiredFirst, staticDataFor, fetchField, fetchFieldForPlugin, pluginsWithNames } function cleanInstallPlugins() { return _.map( _.keys(ctDashboardLocalizations.clean_install_plugins), function(plugin_name) { return { name: plugin_name, // probably make other plugins also required required: plugin_name === 'unyson' || plugin_name === 'creative-core' } } ) } function pluginsWithNames() { let names = _.keys(staticSource) let plugins = _.values(staticSource) return plugins.map((plugin, index) => { plugin['name'] = names[index] return plugin }) } function fetchField(field, plugin) { return staticDataFor(plugin)[field] } function fetchFieldForPlugin(field) { return function(plugin) { return fetchField(field, plugin) } } function staticDataFor(plugin) { return staticSource[plugin.name] } function requiredFirst(plugins) { let required = _.where(plugins, { required: true }) let notRequired = _.where(plugins, { required: false }) return required.concat(notRequired) }