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.
- package/cjs/utilities/ClassMethodBinder.cjs +5 -1
- package/cjs/utilities/ClassMethodBinder.cjs.map +1 -1
- package/cjs/utilities/ClassMethodBinder.d.ts.map +1 -1
- package/lib/utilities/ClassMethodBinder.d.ts.map +1 -1
- package/lib/utilities/ClassMethodBinder.js +5 -1
- package/lib/utilities/ClassMethodBinder.js.map +1 -1
- package/package.json +1 -1
- package/src/utilities/ClassMethodBinder.ts +5 -1
@@ -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;
|
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;
|
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;
|
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;
|
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
@@ -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)
|