npm-check-extras
Version:
CLI app to check for outdated and unused dependencies, and run update/delete action over selected ones
49 lines (48 loc) • 1.59 kB
JavaScript
import * as R from 'ramda';
const eqWaiting = R.equals('WAITING');
const eqRunning = R.equals('RUNNING');
const eqSuccess = R.equals('SUCCESS');
const eqFailed = R.equals('FAILED');
const isActive = R.propEq(true, 'isActive');
const isSelected = R.propEq(true, 'isSelected');
const isFetchingStatus = R.propEq('FETCHING', 'status');
const isDoneStatus = R.propEq('DONE', 'status');
const isFailedStatus = R.propEq('FAILED', 'status');
const isInfoStatus = R.propEq('INFO', 'status');
const notEquals = (a) => (b) => R.not(R.equals(a, b));
const flipIncludes = R.flip(R.includes);
const getIndex = (foundIndex) => foundIndex > -1 ? 0 : foundIndex;
const adjustAll = (indexes, functions, source) => {
let result = source;
R.addIndex(R.map)((current, i) => {
result = R.adjust(current, (item) => functions[i](item), // eslint-disable-line @typescript-eslint/no-unsafe-return
result);
}, indexes);
return result; // eslint-disable-line @typescript-eslint/no-unsafe-return
};
const pathIncludes = R.curry((items, path, value) => R.any((item) => R.pathEq(item, path, value), items));
const appearanceCount = (value, items) => {
return R.count(R.equals(value), items);
};
const aCount = (value, items) => {
return appearanceCount(value, items);
};
const ramdaUtils = {
eqWaiting,
eqRunning,
eqSuccess,
eqFailed,
isActive,
isSelected,
notEquals,
isFetchingStatus,
isDoneStatus,
isFailedStatus,
isInfoStatus,
flipIncludes,
getIndex,
adjustAll,
pathIncludes,
aCount,
};
export default ramdaUtils;