import u from "./index-classCallCheck.js";
import p from "./index-createClass.js";
import s from "./index-assertThisInitialized.js";
import f from "./index-inherits.js";
import c from "./index-createSuper.js";
import n from "./index-defineProperty.js";
import { Parser as l } from "./index-Parser4.js";
import { numericPatterns as h } from "./index-constants4.js";
import { parseNDigits as v, parseNumericPattern as k } from "./index-utils12.js";
import I from "./index-setUTCISOWeek.js";
import d from "./index-startOfUTCISOWeek.js";
var b = /* @__PURE__ */ (function(m) {
  f(i, m);
  var o = c(i);
  function i() {
    var a;
    u(this, i);
    for (var r = arguments.length, e = new Array(r), t = 0; t < r; t++)
      e[t] = arguments[t];
    return a = o.call.apply(o, [this].concat(e)), n(s(a), "priority", 100), n(s(a), "incompatibleTokens", ["y", "Y", "u", "q", "Q", "M", "L", "w", "d", "D", "e", "c", "t", "T"]), a;
  }
  return p(i, [{
    key: "parse",
    value: function(r, e, t) {
      switch (e) {
        case "I":
          return k(h.week, r);
        case "Io":
          return t.ordinalNumber(r, {
            unit: "week"
          });
        default:
          return v(e.length, r);
      }
    }
  }, {
    key: "validate",
    value: function(r, e) {
      return e >= 1 && e <= 53;
    }
  }, {
    key: "set",
    value: function(r, e, t) {
      return d(I(r, t));
    }
  }]), i;
})(l);
export {
  b as ISOWeekParser
};
