happy-dom 16.2.5 → 16.2.6

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.
@@ -24,7 +24,7 @@ class ClassMethodBinder {
24
24
  */
25
25
  bind(name) {
26
26
  // We should never bind the Symbol.iterator method as it can cause problems with Array.from()
27
- if (this.cache.has(name) || name === Symbol.iterator) {
27
+ if (this.cache.has(name) || name === Symbol.iterator || name === 'constructor') {
28
28
  return;
29
29
  }
30
30
  this.cache.set(name, true);
@@ -36,6 +36,10 @@ class ClassMethodBinder {
36
36
  const descriptor = Object.getOwnPropertyDescriptor(_class.prototype, name);
37
37
  if (descriptor) {
38
38
  if (typeof descriptor.value === 'function') {
39
+ if (descriptor.value.toString().startsWith('class ')) {
40
+ // Do not bind classes
41
+ return;
42
+ }
39
43
  Object.defineProperty(target, name, {
40
44
  ...descriptor,
41
45
  value: descriptor.value.bind(target)
@@ -1 +1 @@
1
- {"version":3,"file":"ClassMethodBinder.cjs","sourceRoot":"","sources":["../../src/utilities/ClassMethodBinder.ts"],"names":[],"mappings":";;AAAA;;GAEG;AACH,MAAqB,iBAAiB;IAC7B,MAAM,CAAS;IACf,OAAO,CAAQ;IACf,KAAK,GAAG,IAAI,GAAG,EAA4B,CAAC;IAEpD;;;;;OAKG;IACH,YAAY,MAAc,EAAE,OAAc;QACzC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACxB,CAAC;IAED;;;;OAIG;IACI,IAAI,CAAC,IAAqB;QAChC,6FAA6F;QAC7F,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,KAAK,MAAM,CAAC,QAAQ,EAAE,CAAC;YACtD,OAAO;QACR,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAE3B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAE3B,IAAI,CAAC,CAAC,IAAI,IAAI,MAAM,CAAC,EAAE,CAAC;YACvB,OAAO;QACR,CAAC;QAED,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACnC,MAAM,UAAU,GAAG,MAAM,CAAC,wBAAwB,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;YAC3E,IAAI,UAAU,EAAE,CAAC;gBAChB,IAAI,OAAO,UAAU,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;oBAC5C,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE;wBACnC,GAAG,UAAU;wBACb,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC;qBACpC,CAAC,CAAC;gBACJ,CAAC;qBAAM,IAAI,UAAU,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;oBACzC,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE;wBACnC,GAAG,UAAU;wBACb,GAAG,EAAE,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC;wBACjC,GAAG,EAAE,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC;qBACjC,CAAC,CAAC;gBACJ,CAAC;gBACD,OAAO;YACR,CAAC;QACF,CAAC;IACF,CAAC;IAED;;;;OAIG;IACI,cAAc,CAAC,IAAqB;QAC1C,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC5B,CAAC;CACD;AA/DD,oCA+DC"}
1
+ {"version":3,"file":"ClassMethodBinder.cjs","sourceRoot":"","sources":["../../src/utilities/ClassMethodBinder.ts"],"names":[],"mappings":";;AAAA;;GAEG;AACH,MAAqB,iBAAiB;IAC7B,MAAM,CAAS;IACf,OAAO,CAAQ;IACf,KAAK,GAAG,IAAI,GAAG,EAA4B,CAAC;IAEpD;;;;;OAKG;IACH,YAAY,MAAc,EAAE,OAAc;QACzC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACxB,CAAC;IAED;;;;OAIG;IACI,IAAI,CAAC,IAAqB;QAChC,6FAA6F;QAC7F,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,KAAK,MAAM,CAAC,QAAQ,IAAI,IAAI,KAAK,aAAa,EAAE,CAAC;YAChF,OAAO;QACR,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAE3B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAE3B,IAAI,CAAC,CAAC,IAAI,IAAI,MAAM,CAAC,EAAE,CAAC;YACvB,OAAO;QACR,CAAC;QAED,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACnC,MAAM,UAAU,GAAG,MAAM,CAAC,wBAAwB,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;YAC3E,IAAI,UAAU,EAAE,CAAC;gBAChB,IAAI,OAAO,UAAU,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;oBAC5C,IAAI,UAAU,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;wBACtD,sBAAsB;wBACtB,OAAO;oBACR,CAAC;oBACD,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE;wBACnC,GAAG,UAAU;wBACb,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC;qBACpC,CAAC,CAAC;gBACJ,CAAC;qBAAM,IAAI,UAAU,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;oBACzC,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE;wBACnC,GAAG,UAAU;wBACb,GAAG,EAAE,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC;wBACjC,GAAG,EAAE,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC;qBACjC,CAAC,CAAC;gBACJ,CAAC;gBACD,OAAO;YACR,CAAC;QACF,CAAC;IACF,CAAC;IAED;;;;OAIG;IACI,cAAc,CAAC,IAAqB;QAC1C,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC5B,CAAC;CACD;AAnED,oCAmEC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ClassMethodBinder.d.ts","sourceRoot":"","sources":["../../src/utilities/ClassMethodBinder.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,iBAAiB;IACrC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,KAAK,CAAuC;IAEpD;;;;;OAKG;gBACS,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE;IAK1C;;;;OAIG;IACI,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAkCxC;;;;OAIG;IACI,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;CAGlD"}
1
+ {"version":3,"file":"ClassMethodBinder.d.ts","sourceRoot":"","sources":["../../src/utilities/ClassMethodBinder.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,iBAAiB;IACrC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,KAAK,CAAuC;IAEpD;;;;;OAKG;gBACS,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE;IAK1C;;;;OAIG;IACI,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAsCxC;;;;OAIG;IACI,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;CAGlD"}
@@ -1 +1 @@
1
- {"version":3,"file":"ClassMethodBinder.d.ts","sourceRoot":"","sources":["../../src/utilities/ClassMethodBinder.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,iBAAiB;IACrC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,KAAK,CAAuC;IAEpD;;;;;OAKG;gBACS,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE;IAK1C;;;;OAIG;IACI,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAkCxC;;;;OAIG;IACI,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;CAGlD"}
1
+ {"version":3,"file":"ClassMethodBinder.d.ts","sourceRoot":"","sources":["../../src/utilities/ClassMethodBinder.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,iBAAiB;IACrC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,KAAK,CAAuC;IAEpD;;;;;OAKG;gBACS,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE;IAK1C;;;;OAIG;IACI,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAsCxC;;;;OAIG;IACI,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;CAGlD"}
@@ -22,7 +22,7 @@ export default class ClassMethodBinder {
22
22
  */
23
23
  bind(name) {
24
24
  // We should never bind the Symbol.iterator method as it can cause problems with Array.from()
25
- if (this.cache.has(name) || name === Symbol.iterator) {
25
+ if (this.cache.has(name) || name === Symbol.iterator || name === 'constructor') {
26
26
  return;
27
27
  }
28
28
  this.cache.set(name, true);
@@ -34,6 +34,10 @@ export default class ClassMethodBinder {
34
34
  const descriptor = Object.getOwnPropertyDescriptor(_class.prototype, name);
35
35
  if (descriptor) {
36
36
  if (typeof descriptor.value === 'function') {
37
+ if (descriptor.value.toString().startsWith('class ')) {
38
+ // Do not bind classes
39
+ return;
40
+ }
37
41
  Object.defineProperty(target, name, {
38
42
  ...descriptor,
39
43
  value: descriptor.value.bind(target)
@@ -1 +1 @@
1
- {"version":3,"file":"ClassMethodBinder.js","sourceRoot":"","sources":["../../src/utilities/ClassMethodBinder.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,iBAAiB;IAC7B,MAAM,CAAS;IACf,OAAO,CAAQ;IACf,KAAK,GAAG,IAAI,GAAG,EAA4B,CAAC;IAEpD;;;;;OAKG;IACH,YAAY,MAAc,EAAE,OAAc;QACzC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACxB,CAAC;IAED;;;;OAIG;IACI,IAAI,CAAC,IAAqB;QAChC,6FAA6F;QAC7F,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,KAAK,MAAM,CAAC,QAAQ,EAAE,CAAC;YACtD,OAAO;QACR,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAE3B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAE3B,IAAI,CAAC,CAAC,IAAI,IAAI,MAAM,CAAC,EAAE,CAAC;YACvB,OAAO;QACR,CAAC;QAED,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACnC,MAAM,UAAU,GAAG,MAAM,CAAC,wBAAwB,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;YAC3E,IAAI,UAAU,EAAE,CAAC;gBAChB,IAAI,OAAO,UAAU,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;oBAC5C,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE;wBACnC,GAAG,UAAU;wBACb,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC;qBACpC,CAAC,CAAC;gBACJ,CAAC;qBAAM,IAAI,UAAU,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;oBACzC,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE;wBACnC,GAAG,UAAU;wBACb,GAAG,EAAE,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC;wBACjC,GAAG,EAAE,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC;qBACjC,CAAC,CAAC;gBACJ,CAAC;gBACD,OAAO;YACR,CAAC;QACF,CAAC;IACF,CAAC;IAED;;;;OAIG;IACI,cAAc,CAAC,IAAqB;QAC1C,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC5B,CAAC;CACD"}
1
+ {"version":3,"file":"ClassMethodBinder.js","sourceRoot":"","sources":["../../src/utilities/ClassMethodBinder.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,iBAAiB;IAC7B,MAAM,CAAS;IACf,OAAO,CAAQ;IACf,KAAK,GAAG,IAAI,GAAG,EAA4B,CAAC;IAEpD;;;;;OAKG;IACH,YAAY,MAAc,EAAE,OAAc;QACzC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACxB,CAAC;IAED;;;;OAIG;IACI,IAAI,CAAC,IAAqB;QAChC,6FAA6F;QAC7F,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,KAAK,MAAM,CAAC,QAAQ,IAAI,IAAI,KAAK,aAAa,EAAE,CAAC;YAChF,OAAO;QACR,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAE3B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAE3B,IAAI,CAAC,CAAC,IAAI,IAAI,MAAM,CAAC,EAAE,CAAC;YACvB,OAAO;QACR,CAAC;QAED,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACnC,MAAM,UAAU,GAAG,MAAM,CAAC,wBAAwB,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;YAC3E,IAAI,UAAU,EAAE,CAAC;gBAChB,IAAI,OAAO,UAAU,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;oBAC5C,IAAI,UAAU,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;wBACtD,sBAAsB;wBACtB,OAAO;oBACR,CAAC;oBACD,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE;wBACnC,GAAG,UAAU;wBACb,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC;qBACpC,CAAC,CAAC;gBACJ,CAAC;qBAAM,IAAI,UAAU,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;oBACzC,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE;wBACnC,GAAG,UAAU;wBACb,GAAG,EAAE,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC;wBACjC,GAAG,EAAE,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC;qBACjC,CAAC,CAAC;gBACJ,CAAC;gBACD,OAAO;YACR,CAAC;QACF,CAAC;IACF,CAAC;IAED;;;;OAIG;IACI,cAAc,CAAC,IAAqB;QAC1C,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC5B,CAAC;CACD"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "happy-dom",
3
- "version": "16.2.5",
3
+ "version": "16.2.6",
4
4
  "license": "MIT",
5
5
  "homepage": "https://github.com/capricorn86/happy-dom",
6
6
  "repository": "https://github.com/capricorn86/happy-dom",
@@ -24,7 +24,7 @@ export default class ClassMethodBinder {
24
24
  */
25
25
  public bind(name: string | symbol): void {
26
26
  // We should never bind the Symbol.iterator method as it can cause problems with Array.from()
27
- if (this.cache.has(name) || name === Symbol.iterator) {
27
+ if (this.cache.has(name) || name === Symbol.iterator || name === 'constructor') {
28
28
  return;
29
29
  }
30
30
 
@@ -40,6 +40,10 @@ export default class ClassMethodBinder {
40
40
  const descriptor = Object.getOwnPropertyDescriptor(_class.prototype, name);
41
41
  if (descriptor) {
42
42
  if (typeof descriptor.value === 'function') {
43
+ if (descriptor.value.toString().startsWith('class ')) {
44
+ // Do not bind classes
45
+ return;
46
+ }
43
47
  Object.defineProperty(target, name, {
44
48
  ...descriptor,
45
49
  value: descriptor.value.bind(target)