attributesComparator.js 1.3 KB

123456789101112131415161718192021222324252627282930
  1. "use strict";
  2. var __spreadArrays = (this && this.__spreadArrays) || function () {
  3. for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
  4. for (var r = Array(s), k = 0, i = 0; i < il; i++)
  5. for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
  6. r[k] = a[j];
  7. return r;
  8. };
  9. Object.defineProperty(exports, "__esModule", { value: true });
  10. var getAttributeValue_1 = require("./getAttributeValue");
  11. var getLiteralValue_1 = require("./getLiteralValue");
  12. function attributesComparator(baseAttributes, el) {
  13. if (baseAttributes === void 0) { baseAttributes = []; }
  14. var attributes = __spreadArrays(el.attrs, el.inputs);
  15. return baseAttributes.every(function (baseAttr) {
  16. return attributes.some(function (attribute) {
  17. if (el.name === 'a' && attribute.name === 'routerLink') {
  18. return true;
  19. }
  20. if (baseAttr.name !== attribute.name) {
  21. return false;
  22. }
  23. if (baseAttr.value && baseAttr.value !== getLiteralValue_1.getLiteralValue(getAttributeValue_1.getAttributeValue(el, baseAttr.name))) {
  24. return false;
  25. }
  26. return true;
  27. });
  28. });
  29. }
  30. exports.attributesComparator = attributesComparator;