var Setters = /*#__PURE__*/function () {
  function Setters(setters) {
    this.setters = void 0;
    this.setters = setters;
  }

  /**
   * 获取指定 setter
   * @param name 
   */
  var _proto = Setters.prototype;
  _proto.getSetter = function getSetter(name) {
    if (this.hasSetter(name)) {
      return this.getAll().get(name);
    } else {
      return undefined;
    }
  }

  /**
   * 是否有指定的 setter
   * @param name 
   * @returns 
   */;
  _proto.hasSetter = function hasSetter(name) {
    return this.setters.innerGetSetterMap().has(name);
  }

  /**
   * 获取所有的 setter
   */;
  _proto.getAll = function getAll() {
    return this.setters.getSetterMap();
  }

  /**
   * 注册 setter
   * @param setter 
   */;
  _proto.register = function register(setter) {
    if (Array.isArray(setter)) {
      this.setters.register(setter);
    } else {
      this.setters.register([setter]);
    }
  };
  return Setters;
}();
export { Setters as default };