import { Info as h } from "./info.js";
import * as s from "./types.js";
const n = (
  /** @type {ReadonlyArray<keyof typeof types>} */
  Object.keys(s)
);
class d extends h {
  /**
   * @constructor
   * @param {string} property
   *   Property.
   * @param {string} attribute
   *   Attribute.
   * @param {number | null | undefined} [mask]
   *   Mask.
   * @param {Space | undefined} [space]
   *   Space.
   * @returns
   *   Info.
   */
  constructor(t, e, r, p) {
    let o = -1;
    if (super(t, e), f(this, "space", p), typeof r == "number")
      for (; ++o < n.length; ) {
        const i = n[o];
        f(this, n[o], (r & s[i]) === s[i]);
      }
  }
}
d.prototype.defined = !0;
function f(c, t, e) {
  e && (c[t] = e);
}
export {
  d as DefinedInfo
};
//# sourceMappingURL=defined-info.js.map
