util.js 750 B

1234567891011121314151617181920212223
  1. export const isObject = (obj) => {
  2. if (typeof obj === 'object' && obj !== null) {
  3. if (typeof Object.getPrototypeOf === 'function') {
  4. const prototype = Object.getPrototypeOf(obj);
  5. return prototype === Object.prototype || prototype === null;
  6. }
  7. return Object.prototype.toString.call(obj) === '[object Object]';
  8. }
  9. return false;
  10. };
  11. export const overwriteMerge = (_, currArr) => currArr;
  12. export const combineMerge = (prevArr, currArr) => {
  13. return [...new Set([...prevArr, ...currArr])];
  14. };
  15. export const getMergeFn = (type) => {
  16. switch (type) {
  17. case 'overwrite':
  18. return overwriteMerge;
  19. case 'combine':
  20. default:
  21. return combineMerge;
  22. }
  23. };