Skip to content

Commit aa16292

Browse files
authored
Merge pull request #1236 from zachlankton/fix-iss-1217-add-null-checks
#1217@patch: Check if options are null.
2 parents af65b18 + 8f51901 commit aa16292

File tree

3 files changed

+9
-9
lines changed

3 files changed

+9
-9
lines changed

packages/happy-dom/src/nodes/character-data/CharacterData.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ export default abstract class CharacterData extends Node implements ICharacterDa
6464
// MutationObserver
6565
if (this[PropertySymbol.observers].length > 0) {
6666
for (const observer of this[PropertySymbol.observers]) {
67-
if (observer.options.characterData) {
67+
if (observer.options?.characterData) {
6868
observer.report(
6969
new MutationRecord({
7070
target: this,

packages/happy-dom/src/nodes/element/ElementNamedNodeMap.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,7 @@ export default class ElementNamedNodeMap extends NamedNodeMap {
116116
this[PropertySymbol.ownerElement][PropertySymbol.observers]
117117
)) {
118118
if (
119-
observer.options.attributes &&
119+
observer.options?.attributes &&
120120
(!observer.options.attributeFilter ||
121121
observer.options.attributeFilter.includes(item[PropertySymbol.name]))
122122
) {
@@ -199,7 +199,7 @@ export default class ElementNamedNodeMap extends NamedNodeMap {
199199
this[PropertySymbol.ownerElement][PropertySymbol.observers]
200200
)) {
201201
if (
202-
observer.options.attributes &&
202+
observer.options?.attributes &&
203203
(!observer.options.attributeFilter ||
204204
observer.options.attributeFilter.includes(removedItem[PropertySymbol.name]))
205205
) {

packages/happy-dom/src/nodes/node/NodeUtility.ts

+6-6
Original file line numberDiff line numberDiff line change
@@ -81,10 +81,10 @@ export default class NodeUtility {
8181
});
8282

8383
for (const observer of (<Node>ancestorNode)[PropertySymbol.observers]) {
84-
if (observer.options.subtree) {
84+
if (observer.options?.subtree) {
8585
(<Node>node)[PropertySymbol.observe](observer);
8686
}
87-
if (observer.options.childList) {
87+
if (observer.options?.childList) {
8888
observer.report(record);
8989
}
9090
}
@@ -124,10 +124,10 @@ export default class NodeUtility {
124124
});
125125

126126
for (const observer of (<Node>ancestorNode)[PropertySymbol.observers]) {
127-
if (observer.options.subtree) {
127+
if (observer.options?.subtree) {
128128
(<Node>node)[PropertySymbol.unobserve](observer);
129129
}
130-
if (observer.options.childList) {
130+
if (observer.options?.childList) {
131131
observer.report(record);
132132
}
133133
}
@@ -214,10 +214,10 @@ export default class NodeUtility {
214214
});
215215

216216
for (const observer of (<Node>ancestorNode)[PropertySymbol.observers]) {
217-
if (observer.options.subtree) {
217+
if (observer.options?.subtree) {
218218
(<Node>newNode)[PropertySymbol.observe](observer);
219219
}
220-
if (observer.options.childList) {
220+
if (observer.options?.childList) {
221221
observer.report(record);
222222
}
223223
}

0 commit comments

Comments
 (0)