Sha256: 4ef66aabfb6e1ed4027e3f9a45653cd42eab5247b6f84f89ca30cfee8fd8a9b7

Contents?: true

Size: 1.5 KB

Versions: 46

Compression:

Stored size: 1.5 KB

Contents

"use strict";

exports.implementation = class ValidityStateImpl {
  constructor(globalObject, args, privateData) {
    const { element, state = {} } = privateData;

    this._element = element;
    this._state = state;
  }

  get badInput() {
    return this._failsConstraint("badInput");
  }

  // https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#suffering-from-a-custom-error
  get customError() {
    return this._element._customValidityErrorMessage !== "";
  }

  get patternMismatch() {
    return this._failsConstraint("patternMismatch");
  }

  get rangeOverflow() {
    return this._failsConstraint("rangeOverflow");
  }

  get rangeUnderflow() {
    return this._failsConstraint("rangeUnderflow");
  }

  get stepMismatch() {
    return this._failsConstraint("stepMismatch");
  }

  get tooLong() {
    return this._failsConstraint("tooLong");
  }

  get tooShort() {
    return this._failsConstraint("tooShort");
  }

  get typeMismatch() {
    return this._failsConstraint("typeMismatch");
  }

  get valueMissing() {
    return this._failsConstraint("valueMissing");
  }

  _failsConstraint(method) {
    const validationMethod = this._state[method];
    if (validationMethod) {
      return validationMethod();
    }

    return false;
  }

  get valid() {
    return !(this.badInput || this.valueMissing || this.customError ||
            this.patternMismatch || this.rangeOverflow || this.rangeUnderflow ||
            this.stepMismatch || this.tooLong || this.tooShort || this.typeMismatch);
  }
};

Version data entries

46 entries across 46 versions & 2 rubygems

Version Path
appmap-0.66.1 ./node_modules/jsdom/lib/jsdom/living/constraint-validation/ValidityState-impl.js
appmap-0.66.0 ./node_modules/jsdom/lib/jsdom/living/constraint-validation/ValidityState-impl.js
appmap-0.65.1 ./node_modules/jsdom/lib/jsdom/living/constraint-validation/ValidityState-impl.js
appmap-0.65.0 ./node_modules/jsdom/lib/jsdom/living/constraint-validation/ValidityState-impl.js
appmap-0.64.0 ./node_modules/jsdom/lib/jsdom/living/constraint-validation/ValidityState-impl.js
appmap-0.63.0 ./node_modules/jsdom/lib/jsdom/living/constraint-validation/ValidityState-impl.js