版博士V2.0程序
Nie możesz wybrać więcej, niż 25 tematów Tematy muszą się zaczynać od litery lub cyfry, mogą zawierać myślniki ('-') i mogą mieć do 35 znaków.
 
 
 
 

142 wiersze
4.6 KiB

  1. "use strict";
  2. var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
  3. if (kind === "m") throw new TypeError("Private method is not writable");
  4. if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
  5. if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
  6. return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
  7. };
  8. var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
  9. if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
  10. if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
  11. return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
  12. };
  13. var _NamedNodeMap_ownerElement;
  14. Object.defineProperty(exports, "__esModule", { value: true });
  15. /**
  16. * NamedNodeMap.
  17. *
  18. * Reference:
  19. * https://developer.mozilla.org/en-US/docs/Web/API/NamedNodeMap.
  20. */
  21. class NamedNodeMap {
  22. /**
  23. * Constructor.
  24. *
  25. * @param element Associated element.
  26. */
  27. constructor(element) {
  28. /**
  29. * Reference to the element.
  30. */
  31. _NamedNodeMap_ownerElement.set(this, void 0);
  32. __classPrivateFieldSet(this, _NamedNodeMap_ownerElement, element, "f");
  33. }
  34. /**
  35. * Returns string.
  36. *
  37. * @returns string.
  38. */
  39. get [(_NamedNodeMap_ownerElement = new WeakMap(), Symbol.toStringTag)]() {
  40. return this.constructor.name;
  41. }
  42. /**
  43. * Length.
  44. *
  45. * @returns Length.
  46. */
  47. get length() {
  48. return Object.keys(__classPrivateFieldGet(this, _NamedNodeMap_ownerElement, "f")._attributes).length;
  49. }
  50. /**
  51. * Returns attribute by index.
  52. *
  53. * @param index Index.
  54. */
  55. item(index) {
  56. if (index < 0) {
  57. return null;
  58. }
  59. const attr = Object.values(__classPrivateFieldGet(this, _NamedNodeMap_ownerElement, "f")._attributes)[index];
  60. return attr ? attr : null;
  61. }
  62. /**
  63. * Returns attribute by name.
  64. *
  65. * @param qualifiedName Name.
  66. * @returns Attribute.
  67. */
  68. getNamedItem(qualifiedName) {
  69. return __classPrivateFieldGet(this, _NamedNodeMap_ownerElement, "f").getAttributeNode(qualifiedName);
  70. }
  71. /**
  72. * Returns attribute by name and namespace.
  73. *
  74. * @param namespace Namespace.
  75. * @param localName Local name of the attribute.
  76. * @returns Attribute.
  77. */
  78. getNamedItemNS(namespace, localName) {
  79. return __classPrivateFieldGet(this, _NamedNodeMap_ownerElement, "f").getAttributeNodeNS(namespace, localName);
  80. }
  81. /**
  82. * Adds a new attribute node.
  83. *
  84. * @param attr Attribute.
  85. * @returns Replaced attribute.
  86. */
  87. setNamedItem(attr) {
  88. return __classPrivateFieldGet(this, _NamedNodeMap_ownerElement, "f").setAttributeNode(attr);
  89. }
  90. /**
  91. * Adds a new namespaced attribute node.
  92. *
  93. * @param attr Attribute.
  94. * @returns Replaced attribute.
  95. */
  96. setNamedItemNS(attr) {
  97. return __classPrivateFieldGet(this, _NamedNodeMap_ownerElement, "f").setAttributeNodeNS(attr);
  98. }
  99. /**
  100. * Removes an attribute.
  101. *
  102. * @param qualifiedName Name of the attribute.
  103. * @returns Removed attribute.
  104. */
  105. removeNamedItem(qualifiedName) {
  106. const attr = this.getNamedItem(qualifiedName);
  107. if (attr) {
  108. __classPrivateFieldGet(this, _NamedNodeMap_ownerElement, "f").removeAttributeNode(attr);
  109. }
  110. return attr;
  111. }
  112. /**
  113. * Removes a namespaced attribute.
  114. *
  115. * @param namespace Namespace.
  116. * @param localName Local name of the attribute.
  117. * @returns Removed attribute.
  118. */
  119. removeNamedItemNS(namespace, localName) {
  120. const attr = this.getNamedItemNS(namespace, localName);
  121. if (attr) {
  122. __classPrivateFieldGet(this, _NamedNodeMap_ownerElement, "f").removeAttributeNode(attr);
  123. }
  124. return attr;
  125. }
  126. /**
  127. * Iterator.
  128. *
  129. * @returns Iterator.
  130. */
  131. [Symbol.iterator]() {
  132. let index = -1;
  133. return {
  134. next: () => {
  135. index++;
  136. return { value: this.item(index), done: index >= this.length };
  137. }
  138. };
  139. }
  140. }
  141. exports.default = NamedNodeMap;
  142. //# sourceMappingURL=NamedNodeMap.js.map