All files / packages/react-tao/src helpers.js

91.67% Statements 11/12
90% Branches 9/10
100% Functions 6/6
90.91% Lines 10/11
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31    16x     92x               94x 188x 89x       43x       2x 1x 1x 1x        
import cartesian from 'cartesian';
 
export const noop = () => {};
 
export function normalizeAC({ t, term, a, action, o, orient }) {
  return {
    term: term || t,
    action: action || a,
    orient: orient || o
  };
}
 
export function cleanInput({ term, action, orient }) {
  const incoming = { term, action, orient };
  Object.keys(incoming).forEach(k => incoming[k] == null && delete incoming[k]);
  return incoming;
}
 
export function normalizeClean({ t, term, a, action, o, orient }) {
  return cleanInput(normalizeAC({ t, term, a, action, o, orient }));
}
 
export function getPermutations({ t, term, a, action, o, orient }) {
  const trigram = normalizeClean({ t, term, a, action, o, orient });
  const permutations = cartesian(trigram);
  Eif (permutations.length) {
    return permutations;
  }
  return [{}];
}