UNPKG

npm-check-extras

Version:

CLI app to check for outdated and unused dependencies, and run update/delete action over selected ones

39 lines (38 loc) 1.2 kB
import * as R from 'ramda'; import { atom, action } from 'nanostores'; import { activate, deactivate } from '../helpers.js'; const $buttons = atom([ { name: 'check-packages', isActive: false, }, { name: 'update', isActive: false, } ]); const activateByName = action($buttons, 'activateButton', (store, name) => { const buttons = store.get(); const foundIndex = R.findIndex(R.propEq(name, 'name'), buttons); if (foundIndex > -1) { store.set(R.map(R.ifElse(R.propEq(name, 'name'), activate, deactivate), buttons)); } return store.get(); }); const deactivateByName = action($buttons, 'deactivateButton', (store, name) => { const buttons = store.get(); const foundIndex = R.findIndex(R.propEq(name, 'name'), buttons); if (foundIndex > -1) { store.set(R.map(R.ifElse(R.propEq(name, 'name'), deactivate, activate), buttons)); } return store.get(); }); const isActive = (name) => { const buttons = $buttons.get(); return R.any(R.both(R.propEq(true, 'isActive'), R.propEq(name, 'name')), buttons); }; export const buttonsManager = { activateByName, deactivateByName, isActive, };