happy-dom 7.5.14 → 7.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of happy-dom might be problematic. Click here for more details.

@@ -0,0 +1,62 @@
1
+ import IAttr from '../nodes/attr/IAttr';
2
+ /**
3
+ * NamedNodeMap.
4
+ *
5
+ * Reference:
6
+ * https://developer.mozilla.org/en-US/docs/Web/API/NamedNodeMap.
7
+ */
8
+ export default interface INamedNodeMap extends Iterable<IAttr> {
9
+ [index: number]: IAttr;
10
+ [Symbol.toStringTag]: string;
11
+ readonly length: number;
12
+ /**
13
+ * Returns attribute by index.
14
+ *
15
+ * @param index Index.
16
+ */
17
+ item: (index: number) => IAttr;
18
+ /**
19
+ * Returns attribute by name.
20
+ *
21
+ * @param qualifiedName Name.
22
+ * @returns Attribute.
23
+ */
24
+ getNamedItem: (qualifiedName: string) => IAttr;
25
+ /**
26
+ * Returns attribute by name and namespace.
27
+ *
28
+ * @param namespace Namespace.
29
+ * @param localName Local name of the attribute.
30
+ * @returns Attribute.
31
+ */
32
+ getNamedItemNS: (namespace: string, localName: string) => IAttr;
33
+ /**
34
+ * Adds a new attribute node.
35
+ *
36
+ * @param attr Attribute.
37
+ * @returns Replaced attribute.
38
+ */
39
+ setNamedItem: (attr: IAttr) => IAttr;
40
+ /**
41
+ * Adds a new namespaced attribute node.
42
+ *
43
+ * @param attr Attribute.
44
+ * @returns Replaced attribute.
45
+ */
46
+ setNamedItemNS: (attr: IAttr) => IAttr;
47
+ /**
48
+ * Removes an attribute.
49
+ *
50
+ * @param qualifiedName Name of the attribute.
51
+ * @returns Removed attribute.
52
+ */
53
+ removeNamedItem: (qualifiedName: string) => IAttr;
54
+ /**
55
+ * Removes a namespaced attribute.
56
+ *
57
+ * @param namespace Namespace.
58
+ * @param localName Local name of the attribute.
59
+ * @returns Removed attribute.
60
+ */
61
+ removeNamedItemNS: (namespace: string, localName: string) => IAttr;
62
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=INamedNodeMap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"INamedNodeMap.js","sourceRoot":"","sources":["../../src/named-node-map/INamedNodeMap.ts"],"names":[],"mappings":""}
@@ -0,0 +1,87 @@
1
+ import type Element from '../nodes/element/Element';
2
+ import IAttr from '../nodes/attr/IAttr';
3
+ import INamedNodeMap from './INamedNodeMap';
4
+ /**
5
+ * NamedNodeMap.
6
+ *
7
+ * Reference:
8
+ * https://developer.mozilla.org/en-US/docs/Web/API/NamedNodeMap.
9
+ */
10
+ export default class NamedNodeMap implements INamedNodeMap {
11
+ #private;
12
+ [index: number]: IAttr;
13
+ /**
14
+ * Constructor.
15
+ *
16
+ * @param element Associated element.
17
+ */
18
+ constructor(element: Element);
19
+ /**
20
+ * Returns string.
21
+ *
22
+ * @returns string.
23
+ */
24
+ get [Symbol.toStringTag](): string;
25
+ /**
26
+ * Length.
27
+ *
28
+ * @returns Length.
29
+ */
30
+ get length(): number;
31
+ /**
32
+ * Returns attribute by index.
33
+ *
34
+ * @param index Index.
35
+ */
36
+ item(index: number): IAttr | null;
37
+ /**
38
+ * Returns attribute by name.
39
+ *
40
+ * @param qualifiedName Name.
41
+ * @returns Attribute.
42
+ */
43
+ getNamedItem(qualifiedName: string): IAttr | null;
44
+ /**
45
+ * Returns attribute by name and namespace.
46
+ *
47
+ * @param namespace Namespace.
48
+ * @param localName Local name of the attribute.
49
+ * @returns Attribute.
50
+ */
51
+ getNamedItemNS(namespace: string, localName: string): IAttr | null;
52
+ /**
53
+ * Adds a new attribute node.
54
+ *
55
+ * @param attr Attribute.
56
+ * @returns Replaced attribute.
57
+ */
58
+ setNamedItem(attr: IAttr): IAttr;
59
+ /**
60
+ * Adds a new namespaced attribute node.
61
+ *
62
+ * @param attr Attribute.
63
+ * @returns Replaced attribute.
64
+ */
65
+ setNamedItemNS(attr: IAttr): IAttr;
66
+ /**
67
+ * Removes an attribute.
68
+ *
69
+ * @param qualifiedName Name of the attribute.
70
+ * @returns Removed attribute.
71
+ */
72
+ removeNamedItem(qualifiedName: string): IAttr | null;
73
+ /**
74
+ * Removes a namespaced attribute.
75
+ *
76
+ * @param namespace Namespace.
77
+ * @param localName Local name of the attribute.
78
+ * @returns Removed attribute.
79
+ */
80
+ removeNamedItemNS(namespace: string, localName: string): IAttr | null;
81
+ /**
82
+ * Iterator.
83
+ *
84
+ * @returns Iterator.
85
+ */
86
+ [Symbol.iterator](): Iterator<IAttr>;
87
+ }
@@ -0,0 +1,142 @@
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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NamedNodeMap.js","sourceRoot":"","sources":["../../src/named-node-map/NamedNodeMap.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAIA;;;;;GAKG;AACH,MAAqB,YAAY;IAQhC;;;;OAIG;IACH,YAAY,OAAgB;QAV5B;;WAEG;QACH,6CAAuB;QAQtB,uBAAA,IAAI,8BAAiB,OAAO,MAAA,CAAC;IAC9B,CAAC;IAED;;;;OAIG;IACH,IAAW,8CAAC,MAAM,CAAC,WAAW,EAAC;QAC9B,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;IAC9B,CAAC;IAED;;;;OAIG;IACH,IAAW,MAAM;QAChB,OAAO,MAAM,CAAC,IAAI,CAAC,uBAAA,IAAI,kCAAc,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC;IAC3D,CAAC;IAED;;;;OAIG;IACI,IAAI,CAAC,KAAa;QACxB,IAAI,KAAK,GAAG,CAAC,EAAE;YACd,OAAO,IAAI,CAAC;SACZ;QACD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,uBAAA,IAAI,kCAAc,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,CAAC;QAClE,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IAC3B,CAAC;IAED;;;;;OAKG;IACI,YAAY,CAAC,aAAqB;QACxC,OAAO,uBAAA,IAAI,kCAAc,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;IAC3D,CAAC;IAED;;;;;;OAMG;IACI,cAAc,CAAC,SAAiB,EAAE,SAAiB;QACzD,OAAO,uBAAA,IAAI,kCAAc,CAAC,kBAAkB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IACpE,CAAC;IAED;;;;;OAKG;IACI,YAAY,CAAC,IAAW;QAC9B,OAAO,uBAAA,IAAI,kCAAc,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAClD,CAAC;IAED;;;;;OAKG;IACI,cAAc,CAAC,IAAW;QAChC,OAAO,uBAAA,IAAI,kCAAc,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACpD,CAAC;IAED;;;;;OAKG;IACI,eAAe,CAAC,aAAqB;QAC3C,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;QAE9C,IAAI,IAAI,EAAE;YACT,uBAAA,IAAI,kCAAc,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;SAC7C;QACD,OAAO,IAAI,CAAC;IACb,CAAC;IAED;;;;;;OAMG;IACI,iBAAiB,CAAC,SAAiB,EAAE,SAAiB;QAC5D,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAEvD,IAAI,IAAI,EAAE;YACT,uBAAA,IAAI,kCAAc,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;SAC7C;QACD,OAAO,IAAI,CAAC;IACb,CAAC;IAED;;;;OAIG;IACI,CAAC,MAAM,CAAC,QAAQ,CAAC;QACvB,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC;QACf,OAAO;YACN,IAAI,EAAE,GAAG,EAAE;gBACV,KAAK,EAAE,CAAC;gBACR,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChE,CAAC;SACD,CAAC;IACH,CAAC;CACD;AAtID,+BAsIC"}
@@ -9,6 +9,7 @@ import INodeList from '../node/INodeList';
9
9
  import { TInsertAdjacentPositions } from './IElement';
10
10
  import IDOMRectList from './IDOMRectList';
11
11
  import IAttr from '../attr/IAttr';
12
+ import INamedNodeMap from '../../named-node-map/INamedNodeMap';
12
13
  import Event from '../../event/Event';
13
14
  /**
14
15
  * Element.
@@ -159,11 +160,7 @@ export default class Element extends Node implements IElement {
159
160
  *
160
161
  * @returns Attributes.
161
162
  */
162
- get attributes(): {
163
- [k: string | number]: IAttr;
164
- } & {
165
- length: number;
166
- };
163
+ get attributes(): INamedNodeMap;
167
164
  /**
168
165
  * First element child.
169
166
  *
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const Node_1 = __importDefault(require("../node/Node"));
7
7
  const ShadowRoot_1 = __importDefault(require("../shadow-root/ShadowRoot"));
8
8
  const Attr_1 = __importDefault(require("../attr/Attr"));
9
+ const NamedNodeMap_1 = __importDefault(require("../../named-node-map/NamedNodeMap"));
9
10
  const DOMRect_1 = __importDefault(require("./DOMRect"));
10
11
  const DOMTokenList_1 = __importDefault(require("../../dom-token-list/DOMTokenList"));
11
12
  const QuerySelector_1 = __importDefault(require("../../query-selector/QuerySelector"));
@@ -219,10 +220,7 @@ class Element extends Node_1.default {
219
220
  * @returns Attributes.
220
221
  */
221
222
  get attributes() {
222
- const attributes = Object.values(this._attributes);
223
- return Object.assign({}, this._attributes, attributes, {
224
- length: attributes.length
225
- });
223
+ return Object.assign(new NamedNodeMap_1.default(this), Object.values(this._attributes), this._attributes);
226
224
  }
227
225
  /**
228
226
  * First element child.
@@ -1 +1 @@
1
- {"version":3,"file":"Element.js","sourceRoot":"","sources":["../../../src/nodes/element/Element.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Element.js","sourceRoot":"","sources":["../../../src/nodes/element/Element.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import IShadowRoot from '../shadow-root/IShadowRoot';
2
2
  import IAttr from '../attr/IAttr';
3
+ import INamedNodeMap from '../../named-node-map/INamedNodeMap';
3
4
  import DOMRect from './DOMRect';
4
5
  import IDOMTokenList from '../../dom-token-list/IDOMTokenList';
5
6
  import INode from './../node/INode';
@@ -27,11 +28,7 @@ export default interface IElement extends IChildNode, INonDocumentTypeChildNode,
27
28
  slot: string;
28
29
  readonly nodeName: string;
29
30
  readonly localName: string;
30
- readonly attributes: {
31
- [k: string | number]: IAttr;
32
- } & {
33
- length: number;
34
- };
31
+ readonly attributes: INamedNodeMap;
35
32
  oncancel: (event: Event) => void | null;
36
33
  onerror: (event: Event) => void | null;
37
34
  onscroll: (event: Event) => void | null;
@@ -125,8 +125,8 @@ class NodeUtility {
125
125
  * @param elementB
126
126
  */
127
127
  static attributeListsEqual(elementA, elementB) {
128
- const listA = Object.values(elementA.attributes);
129
- const listB = Object.values(elementB.attributes);
128
+ const listA = Object.values(elementA['_attributes']);
129
+ const listB = Object.values(elementB['_attributes']);
130
130
  const lengthA = listA.length;
131
131
  const lengthB = listB.length;
132
132
  if (lengthA !== lengthB) {
@@ -1 +1 @@
1
- {"version":3,"file":"NodeUtility.js","sourceRoot":"","sources":["../../../src/nodes/node/NodeUtility.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NodeUtility.js","sourceRoot":"","sources":["../../../src/nodes/node/NodeUtility.ts"],"names":[],"mappings":"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"}
@@ -100,6 +100,7 @@ import MediaQueryList from '../match-media/MediaQueryList';
100
100
  import DOMRect from '../nodes/element/DOMRect';
101
101
  import Window from './Window';
102
102
  import Attr from '../nodes/attr/Attr';
103
+ import NamedNodeMap from '../named-node-map/NamedNodeMap';
103
104
  import { URLSearchParams } from 'url';
104
105
  import { Performance } from 'perf_hooks';
105
106
  import IElement from '../nodes/element/IElement';
@@ -135,6 +136,7 @@ export default interface IWindow extends IEventTarget, NodeJS.Global {
135
136
  readonly HTMLBaseElement: typeof HTMLBaseElement;
136
137
  readonly HTMLDialogElement: typeof HTMLDialogElement;
137
138
  readonly Attr: typeof Attr;
139
+ readonly NamedNodeMap: typeof NamedNodeMap;
138
140
  readonly SVGSVGElement: typeof SVGSVGElement;
139
141
  readonly SVGElement: typeof SVGElement;
140
142
  readonly Image: typeof Image;
@@ -96,6 +96,7 @@ import { URLSearchParams } from 'url';
96
96
  import DOMRect from '../nodes/element/DOMRect';
97
97
  import * as PerfHooks from 'perf_hooks';
98
98
  import Attr from '../nodes/attr/Attr';
99
+ import NamedNodeMap from '../named-node-map/NamedNodeMap';
99
100
  import IElement from '../nodes/element/IElement';
100
101
  import ProcessingInstruction from '../nodes/processing-instruction/ProcessingInstruction';
101
102
  /**
@@ -132,6 +133,7 @@ export default class Window extends EventTarget implements IWindow {
132
133
  readonly HTMLBaseElement: typeof HTMLBaseElement;
133
134
  readonly HTMLDialogElement: typeof HTMLDialogElement;
134
135
  readonly Attr: typeof Attr;
136
+ readonly NamedNodeMap: typeof NamedNodeMap;
135
137
  readonly SVGSVGElement: typeof SVGSVGElement;
136
138
  readonly SVGElement: typeof SVGElement;
137
139
  readonly Text: typeof Text;
@@ -127,6 +127,7 @@ const vm_1 = __importDefault(require("vm"));
127
127
  const buffer_1 = require("buffer");
128
128
  const Base64_1 = __importDefault(require("../base64/Base64"));
129
129
  const Attr_1 = __importDefault(require("../nodes/attr/Attr"));
130
+ const NamedNodeMap_1 = __importDefault(require("../named-node-map/NamedNodeMap"));
130
131
  const ProcessingInstruction_1 = __importDefault(require("../nodes/processing-instruction/ProcessingInstruction"));
131
132
  const ORIGINAL_SET_TIMEOUT = setTimeout;
132
133
  const ORIGINAL_CLEAR_TIMEOUT = clearTimeout;
@@ -149,14 +150,12 @@ class Window extends EventTarget_1.default {
149
150
  */
150
151
  constructor(options) {
151
152
  super();
152
- this.innerWidth = options?.innerWidth ? options.innerWidth : 0;
153
- this.innerHeight = options?.innerHeight ? options.innerHeight : 0;
154
- if (options?.url) {
155
- this.location.href = options.url;
156
- }
157
- this._setTimeout = ORIGINAL_SET_TIMEOUT;
158
- this._clearTimeout = ORIGINAL_CLEAR_TIMEOUT;
159
- this._setInterval = ORIGINAL_SET_INTERVAL;
153
+ this.customElements = new CustomElementRegistry_1.default();
154
+ this.location = new Location_1.default();
155
+ this.navigator = new Navigator_1.default();
156
+ this.history = new History_1.default();
157
+ this.screen = new Screen_1.default();
158
+ this.sessionStorage = new Storage_1.default();
160
159
  // The Happy DOM property
161
160
  this.happyDOM = {
162
161
  whenAsyncComplete: async () => {
@@ -200,6 +199,7 @@ class Window extends EventTarget_1.default {
200
199
  this.HTMLBaseElement = HTMLBaseElement_1.default;
201
200
  this.HTMLDialogElement = HTMLDialogElement_1.default;
202
201
  this.Attr = Attr_1.default;
202
+ this.NamedNodeMap = NamedNodeMap_1.default;
203
203
  this.SVGSVGElement = SVGSVGElement_1.default;
204
204
  this.SVGElement = SVGElement_1.default;
205
205
  this.Text = Text_1.default;
@@ -268,22 +268,24 @@ class Window extends EventTarget_1.default {
268
268
  // Events
269
269
  this.onload = null;
270
270
  this.onerror = null;
271
- this.customElements = new CustomElementRegistry_1.default();
272
- this.location = new Location_1.default();
273
- this.history = new History_1.default();
274
- this.navigator = new Navigator_1.default();
275
271
  this.console = console;
276
272
  this.self = this;
277
273
  this.top = this;
278
274
  this.parent = this;
279
275
  this.window = this;
280
276
  this.globalThis = this;
281
- this.screen = new Screen_1.default();
282
277
  this.devicePixelRatio = 1;
283
- this.sessionStorage = new Storage_1.default();
284
- this.localStorage = new Storage_1.default();
285
278
  this.performance = PerfHooks.performance;
286
279
  this.Buffer = buffer_1.Buffer;
280
+ this.localStorage = new Storage_1.default();
281
+ this.innerWidth = options?.innerWidth ? options.innerWidth : 0;
282
+ this.innerHeight = options?.innerHeight ? options.innerHeight : 0;
283
+ if (options?.url) {
284
+ this.location.href = options.url;
285
+ }
286
+ this._setTimeout = ORIGINAL_SET_TIMEOUT;
287
+ this._clearTimeout = ORIGINAL_CLEAR_TIMEOUT;
288
+ this._setInterval = ORIGINAL_SET_INTERVAL;
287
289
  this._clearInterval = ORIGINAL_CLEAR_INTERVAL;
288
290
  // Non-implemented event types
289
291
  for (const eventType of NonImplementedEventTypes_1.default) {
@@ -1 +1 @@
1
- {"version":3,"file":"Window.js","sourceRoot":"","sources":["../../src/window/Window.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Window.js","sourceRoot":"","sources":["../../src/window/Window.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "happy-dom",
3
- "version": "7.5.14",
3
+ "version": "7.6.1",
4
4
  "license": "MIT",
5
5
  "homepage": "https://github.com/capricorn86/happy-dom",
6
6
  "repository": "https://github.com/capricorn86/happy-dom",
@@ -75,5 +75,5 @@
75
75
  "ts-jest": "^27.1.3",
76
76
  "typescript": "^4.6.2"
77
77
  },
78
- "gitHead": "38e99372b9a95840da4fa5617e9aa6d0efead516"
78
+ "gitHead": "5f769d3295e3cd25da05f94dc4bf3cf248649f9a"
79
79
  }
@@ -0,0 +1,70 @@
1
+ import IAttr from '../nodes/attr/IAttr';
2
+
3
+ /**
4
+ * NamedNodeMap.
5
+ *
6
+ * Reference:
7
+ * https://developer.mozilla.org/en-US/docs/Web/API/NamedNodeMap.
8
+ */
9
+ export default interface INamedNodeMap extends Iterable<IAttr> {
10
+ [index: number]: IAttr;
11
+ [Symbol.toStringTag]: string;
12
+ readonly length: number;
13
+
14
+ /**
15
+ * Returns attribute by index.
16
+ *
17
+ * @param index Index.
18
+ */
19
+ item: (index: number) => IAttr;
20
+
21
+ /**
22
+ * Returns attribute by name.
23
+ *
24
+ * @param qualifiedName Name.
25
+ * @returns Attribute.
26
+ */
27
+ getNamedItem: (qualifiedName: string) => IAttr;
28
+
29
+ /**
30
+ * Returns attribute by name and namespace.
31
+ *
32
+ * @param namespace Namespace.
33
+ * @param localName Local name of the attribute.
34
+ * @returns Attribute.
35
+ */
36
+ getNamedItemNS: (namespace: string, localName: string) => IAttr;
37
+
38
+ /**
39
+ * Adds a new attribute node.
40
+ *
41
+ * @param attr Attribute.
42
+ * @returns Replaced attribute.
43
+ */
44
+ setNamedItem: (attr: IAttr) => IAttr;
45
+
46
+ /**
47
+ * Adds a new namespaced attribute node.
48
+ *
49
+ * @param attr Attribute.
50
+ * @returns Replaced attribute.
51
+ */
52
+ setNamedItemNS: (attr: IAttr) => IAttr;
53
+
54
+ /**
55
+ * Removes an attribute.
56
+ *
57
+ * @param qualifiedName Name of the attribute.
58
+ * @returns Removed attribute.
59
+ */
60
+ removeNamedItem: (qualifiedName: string) => IAttr;
61
+
62
+ /**
63
+ * Removes a namespaced attribute.
64
+ *
65
+ * @param namespace Namespace.
66
+ * @param localName Local name of the attribute.
67
+ * @returns Removed attribute.
68
+ */
69
+ removeNamedItemNS: (namespace: string, localName: string) => IAttr;
70
+ }
@@ -0,0 +1,145 @@
1
+ import type Element from '../nodes/element/Element';
2
+ import IAttr from '../nodes/attr/IAttr';
3
+ import INamedNodeMap from './INamedNodeMap';
4
+
5
+ /**
6
+ * NamedNodeMap.
7
+ *
8
+ * Reference:
9
+ * https://developer.mozilla.org/en-US/docs/Web/API/NamedNodeMap.
10
+ */
11
+ export default class NamedNodeMap implements INamedNodeMap {
12
+ [index: number]: IAttr;
13
+
14
+ /**
15
+ * Reference to the element.
16
+ */
17
+ #ownerElement: Element;
18
+
19
+ /**
20
+ * Constructor.
21
+ *
22
+ * @param element Associated element.
23
+ */
24
+ constructor(element: Element) {
25
+ this.#ownerElement = element;
26
+ }
27
+
28
+ /**
29
+ * Returns string.
30
+ *
31
+ * @returns string.
32
+ */
33
+ public get [Symbol.toStringTag](): string {
34
+ return this.constructor.name;
35
+ }
36
+
37
+ /**
38
+ * Length.
39
+ *
40
+ * @returns Length.
41
+ */
42
+ public get length(): number {
43
+ return Object.keys(this.#ownerElement._attributes).length;
44
+ }
45
+
46
+ /**
47
+ * Returns attribute by index.
48
+ *
49
+ * @param index Index.
50
+ */
51
+ public item(index: number): IAttr | null {
52
+ if (index < 0) {
53
+ return null;
54
+ }
55
+ const attr = Object.values(this.#ownerElement._attributes)[index];
56
+ return attr ? attr : null;
57
+ }
58
+
59
+ /**
60
+ * Returns attribute by name.
61
+ *
62
+ * @param qualifiedName Name.
63
+ * @returns Attribute.
64
+ */
65
+ public getNamedItem(qualifiedName: string): IAttr | null {
66
+ return this.#ownerElement.getAttributeNode(qualifiedName);
67
+ }
68
+
69
+ /**
70
+ * Returns attribute by name and namespace.
71
+ *
72
+ * @param namespace Namespace.
73
+ * @param localName Local name of the attribute.
74
+ * @returns Attribute.
75
+ */
76
+ public getNamedItemNS(namespace: string, localName: string): IAttr | null {
77
+ return this.#ownerElement.getAttributeNodeNS(namespace, localName);
78
+ }
79
+
80
+ /**
81
+ * Adds a new attribute node.
82
+ *
83
+ * @param attr Attribute.
84
+ * @returns Replaced attribute.
85
+ */
86
+ public setNamedItem(attr: IAttr): IAttr {
87
+ return this.#ownerElement.setAttributeNode(attr);
88
+ }
89
+
90
+ /**
91
+ * Adds a new namespaced attribute node.
92
+ *
93
+ * @param attr Attribute.
94
+ * @returns Replaced attribute.
95
+ */
96
+ public setNamedItemNS(attr: IAttr): IAttr {
97
+ return this.#ownerElement.setAttributeNodeNS(attr);
98
+ }
99
+
100
+ /**
101
+ * Removes an attribute.
102
+ *
103
+ * @param qualifiedName Name of the attribute.
104
+ * @returns Removed attribute.
105
+ */
106
+ public removeNamedItem(qualifiedName: string): IAttr | null {
107
+ const attr = this.getNamedItem(qualifiedName);
108
+
109
+ if (attr) {
110
+ this.#ownerElement.removeAttributeNode(attr);
111
+ }
112
+ return attr;
113
+ }
114
+
115
+ /**
116
+ * Removes a namespaced attribute.
117
+ *
118
+ * @param namespace Namespace.
119
+ * @param localName Local name of the attribute.
120
+ * @returns Removed attribute.
121
+ */
122
+ public removeNamedItemNS(namespace: string, localName: string): IAttr | null {
123
+ const attr = this.getNamedItemNS(namespace, localName);
124
+
125
+ if (attr) {
126
+ this.#ownerElement.removeAttributeNode(attr);
127
+ }
128
+ return attr;
129
+ }
130
+
131
+ /**
132
+ * Iterator.
133
+ *
134
+ * @returns Iterator.
135
+ */
136
+ public [Symbol.iterator](): Iterator<IAttr> {
137
+ let index = -1;
138
+ return {
139
+ next: () => {
140
+ index++;
141
+ return { value: this.item(index), done: index >= this.length };
142
+ }
143
+ };
144
+ }
145
+ }
@@ -1,6 +1,7 @@
1
1
  import Node from '../node/Node';
2
2
  import ShadowRoot from '../shadow-root/ShadowRoot';
3
3
  import Attr from '../attr/Attr';
4
+ import NamedNodeMap from '../../named-node-map/NamedNodeMap';
4
5
  import DOMRect from './DOMRect';
5
6
  import DOMTokenList from '../../dom-token-list/DOMTokenList';
6
7
  import IDOMTokenList from '../../dom-token-list/IDOMTokenList';
@@ -26,6 +27,8 @@ import IText from '../text/IText';
26
27
  import IDOMRectList from './IDOMRectList';
27
28
  import DOMRectListFactory from './DOMRectListFactory';
28
29
  import IAttr from '../attr/IAttr';
30
+ import INamedNodeMap from '../../named-node-map/INamedNodeMap';
31
+
29
32
  import Event from '../../event/Event';
30
33
 
31
34
  /**
@@ -249,11 +252,8 @@ export default class Element extends Node implements IElement {
249
252
  *
250
253
  * @returns Attributes.
251
254
  */
252
- public get attributes(): { [k: string | number]: IAttr } & { length: number } {
253
- const attributes = Object.values(this._attributes);
254
- return Object.assign({}, this._attributes, attributes, {
255
- length: attributes.length
256
- });
255
+ public get attributes(): INamedNodeMap {
256
+ return Object.assign(new NamedNodeMap(this), Object.values(this._attributes), this._attributes);
257
257
  }
258
258
 
259
259
  /**
@@ -1,5 +1,6 @@
1
1
  import IShadowRoot from '../shadow-root/IShadowRoot';
2
2
  import IAttr from '../attr/IAttr';
3
+ import INamedNodeMap from '../../named-node-map/INamedNodeMap';
3
4
  import DOMRect from './DOMRect';
4
5
  import IDOMTokenList from '../../dom-token-list/IDOMTokenList';
5
6
  import INode from './../node/INode';
@@ -29,7 +30,7 @@ export default interface IElement extends IChildNode, INonDocumentTypeChildNode,
29
30
  slot: string;
30
31
  readonly nodeName: string;
31
32
  readonly localName: string;
32
- readonly attributes: { [k: string | number]: IAttr } & { length: number };
33
+ readonly attributes: INamedNodeMap;
33
34
 
34
35
  // Events
35
36
  oncancel: (event: Event) => void | null;
@@ -148,8 +148,8 @@ export default class NodeUtility {
148
148
  * @param elementB
149
149
  */
150
150
  public static attributeListsEqual(elementA: IElement, elementB: IElement): boolean {
151
- const listA = Object.values(elementA.attributes);
152
- const listB = Object.values(elementB.attributes);
151
+ const listA = <Array<IAttr>>Object.values(elementA['_attributes']);
152
+ const listB = <Array<IAttr>>Object.values(elementB['_attributes']);
153
153
 
154
154
  const lengthA = listA.length;
155
155
  const lengthB = listB.length;
@@ -95,6 +95,7 @@ import MediaQueryList from '../match-media/MediaQueryList';
95
95
  import DOMRect from '../nodes/element/DOMRect';
96
96
  import Window from './Window';
97
97
  import Attr from '../nodes/attr/Attr';
98
+ import NamedNodeMap from '../named-node-map/NamedNodeMap';
98
99
  import { URLSearchParams } from 'url';
99
100
  import { Performance } from 'perf_hooks';
100
101
  import IElement from '../nodes/element/IElement';
@@ -134,6 +135,7 @@ export default interface IWindow extends IEventTarget, NodeJS.Global {
134
135
  readonly HTMLBaseElement: typeof HTMLBaseElement;
135
136
  readonly HTMLDialogElement: typeof HTMLDialogElement;
136
137
  readonly Attr: typeof Attr;
138
+ readonly NamedNodeMap: typeof NamedNodeMap;
137
139
  readonly SVGSVGElement: typeof SVGSVGElement;
138
140
  readonly SVGElement: typeof SVGElement;
139
141
  readonly Image: typeof Image;
@@ -108,6 +108,7 @@ import { Buffer } from 'buffer';
108
108
  import Base64 from '../base64/Base64';
109
109
  import IDocument from '../nodes/document/IDocument';
110
110
  import Attr from '../nodes/attr/Attr';
111
+ import NamedNodeMap from '../named-node-map/NamedNodeMap';
111
112
  import IElement from '../nodes/element/IElement';
112
113
  import ProcessingInstruction from '../nodes/processing-instruction/ProcessingInstruction';
113
114
 
@@ -167,6 +168,7 @@ export default class Window extends EventTarget implements IWindow {
167
168
  public readonly HTMLBaseElement = HTMLBaseElement;
168
169
  public readonly HTMLDialogElement = HTMLDialogElement;
169
170
  public readonly Attr = Attr;
171
+ public readonly NamedNodeMap = NamedNodeMap;
170
172
  public readonly SVGSVGElement = SVGSVGElement;
171
173
  public readonly SVGElement = SVGElement;
172
174
  public readonly Text = Text;
@@ -250,20 +252,20 @@ export default class Window extends EventTarget implements IWindow {
250
252
 
251
253
  // Public Properties
252
254
  public readonly document: Document;
253
- public readonly customElements: CustomElementRegistry = new CustomElementRegistry();
254
- public readonly location = new Location();
255
- public readonly history = new History();
256
- public readonly navigator = new Navigator();
255
+ public readonly customElements: CustomElementRegistry;
256
+ public readonly location: Location;
257
+ public readonly history: History;
258
+ public readonly navigator: Navigator;
257
259
  public readonly console = console;
258
260
  public readonly self = this;
259
261
  public readonly top = this;
260
262
  public readonly parent = this;
261
263
  public readonly window = this;
262
264
  public readonly globalThis = this;
263
- public readonly screen = new Screen();
265
+ public readonly screen: Screen;
264
266
  public readonly devicePixelRatio = 1;
265
- public readonly sessionStorage = new Storage();
266
- public readonly localStorage = new Storage();
267
+ public readonly sessionStorage: Storage;
268
+ public readonly localStorage: Storage;
267
269
  public readonly performance = PerfHooks.performance;
268
270
  public readonly innerWidth: number;
269
271
  public readonly innerHeight: number;
@@ -348,6 +350,14 @@ export default class Window extends EventTarget implements IWindow {
348
350
  constructor(options?: { innerWidth?: number; innerHeight?: number; url?: string }) {
349
351
  super();
350
352
 
353
+ this.customElements = new CustomElementRegistry();
354
+ this.location = new Location();
355
+ this.navigator = new Navigator();
356
+ this.history = new History();
357
+ this.screen = new Screen();
358
+ this.sessionStorage = new Storage();
359
+ this.localStorage = new Storage();
360
+
351
361
  this.innerWidth = options?.innerWidth ? options.innerWidth : 0;
352
362
  this.innerHeight = options?.innerHeight ? options.innerHeight : 0;
353
363