是否可以将导出默认功能创建为currying功能?

时间:2018-01-22 11:45:19

标签: ecmascript-6 currying es6-modules

这可能是一个愚蠢的问题,但我无法在任何地方找到答案,但是是否可以将导出的默认函数创建为curried函数?

目前我正在实施如下:

export const switchcase = cases => defaultCase => key =>
  key in cases ? cases[key] : defaultCase;

但是有没有办法在默认函数中执行此操作?功能是:

export default function(cases) {}

由于

1 个答案:

答案 0 :(得分:1)

你可以做到

export default cases => defaultCase => key =>
  key in cases ? cases[key] : defaultCase;

export default function (cases) {
  return function (defaultCase) {
    return function (key) {
      return key in cases ? cases[key] : defaultCase;
    };
  };
}

const switchcase = cases => defaultCase => key =>
  key in cases ? cases[key] : defaultCase;

export default switchcase