factory.js 925 B

12345678910111213141516171819202122232425262728293031
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", { value: true });
  3. exports.Adjust = exports.registerAdjust = exports.getAdjust = void 0;
  4. var tslib_1 = require("tslib");
  5. var adjust_1 = require("./adjusts/adjust");
  6. exports.Adjust = adjust_1.default;
  7. var ADJUST_MAP = {};
  8. /**
  9. * 根据类型获取 Adjust 类
  10. * @param type
  11. */
  12. var getAdjust = function (type) {
  13. return ADJUST_MAP[type.toLowerCase()];
  14. };
  15. exports.getAdjust = getAdjust;
  16. /**
  17. * 注册自定义 Adjust
  18. * @param type
  19. * @param ctor
  20. */
  21. var registerAdjust = function (type, ctor) {
  22. // 注册的时候,需要校验 type 重名,不区分大小写
  23. if (getAdjust(type)) {
  24. throw new Error("Adjust type '" + type + "' existed.");
  25. }
  26. // 存储到 map 中
  27. ADJUST_MAP[type.toLowerCase()] = ctor;
  28. };
  29. exports.registerAdjust = registerAdjust;
  30. tslib_1.__exportStar(require("./interface"), exports);
  31. //# sourceMappingURL=factory.js.map