happy-dom 14.6.1 → 14.6.2

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.

@@ -31,42 +31,8 @@ const PropertySymbol = __importStar(require("../PropertySymbol.cjs"));
31
31
  * @see https://developer.mozilla.org/en-US/docs/Web/API/Storage
32
32
  */
33
33
  class Storage {
34
- /**
35
- *
36
- */
37
34
  constructor() {
38
35
  this[_a] = {};
39
- const descriptors = Object.getOwnPropertyDescriptors(Storage.prototype);
40
- Object.defineProperty(this, 'length', {
41
- enumerable: false,
42
- configurable: true,
43
- get: descriptors['length'].get.bind(this)
44
- });
45
- Object.defineProperty(this, 'key', {
46
- enumerable: false,
47
- configurable: true,
48
- value: descriptors['key'].value.bind(this)
49
- });
50
- Object.defineProperty(this, 'setItem', {
51
- enumerable: false,
52
- configurable: true,
53
- value: descriptors['setItem'].value.bind(this)
54
- });
55
- Object.defineProperty(this, 'getItem', {
56
- enumerable: false,
57
- configurable: true,
58
- value: descriptors['getItem'].value.bind(this)
59
- });
60
- Object.defineProperty(this, 'removeItem', {
61
- enumerable: false,
62
- configurable: true,
63
- value: descriptors['removeItem'].value.bind(this)
64
- });
65
- Object.defineProperty(this, 'clear', {
66
- enumerable: false,
67
- configurable: true,
68
- value: descriptors['clear'].value.bind(this)
69
- });
70
36
  }
71
37
  /**
72
38
  * Returns length.
@@ -1 +1 @@
1
- {"version":3,"file":"Storage.cjs","sourceRoot":"","sources":["../../src/storage/Storage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Storage.cjs","sourceRoot":"","sources":["../../src/storage/Storage.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qEAAuD;AAEvD;;;;GAIG;AACH,MAAqB,OAAO;IAA5B;QACQ,QAAqB,GAA8B,EAAE,CAAC;IAyD9D,CAAC;IAvDA;;;;OAIG;IACH,IAAW,MAAM;QAChB,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;IACtD,CAAC;IAED;;;;;OAKG;IACI,GAAG,CAAC,KAAa;QACvB,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAC3D,OAAO,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IACzC,CAAC;IAED;;;;;OAKG;IACI,OAAO,CAAC,IAAY,EAAE,IAAY;QACxC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC;IAED;;;;;OAKG;IACI,OAAO,CAAC,IAAY;QAC1B,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC/F,CAAC;IAED;;;;OAIG;IACI,UAAU,CAAC,IAAY;QAC7B,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;IAED;;OAEG;IACI,KAAK;QACX,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;IAChC,CAAC;CACD;KAzDQ,cAAc,CAAC,IAAI;kBADP,OAAO"}
@@ -8,10 +8,6 @@ export default class Storage {
8
8
  [PropertySymbol.data]: {
9
9
  [key: string]: string;
10
10
  };
11
- /**
12
- *
13
- */
14
- constructor();
15
11
  /**
16
12
  * Returns length.
17
13
  *
@@ -1 +1 @@
1
- {"version":3,"file":"Storage.d.ts","sourceRoot":"","sources":["../../src/storage/Storage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,cAAc,MAAM,sBAAsB,CAAC;AAEvD;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,OAAO;IACpB,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAM;IAE7D;;OAEG;;IAyCH;;;;OAIG;IACH,IAAW,MAAM,IAAI,MAAM,CAE1B;IAED;;;;;OAKG;IACI,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAKxC;;;;;OAKG;IACI,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAIhD;;;;;OAKG;IACI,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAI3C;;;;OAIG;IACI,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIrC;;OAEG;IACI,KAAK,IAAI,IAAI;CAGpB"}
1
+ {"version":3,"file":"Storage.d.ts","sourceRoot":"","sources":["../../src/storage/Storage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,cAAc,MAAM,sBAAsB,CAAC;AAEvD;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,OAAO;IACpB,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAM;IAE7D;;;;OAIG;IACH,IAAW,MAAM,IAAI,MAAM,CAE1B;IAED;;;;;OAKG;IACI,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAKxC;;;;;OAKG;IACI,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAIhD;;;;;OAKG;IACI,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAI3C;;;;OAIG;IACI,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIrC;;OAEG;IACI,KAAK,IAAI,IAAI;CAGpB"}
@@ -44,6 +44,16 @@ class StorageFactory {
44
44
  return new Proxy(new Storage_js_1.default(), {
45
45
  get(storage, key) {
46
46
  if (Storage_js_1.default.prototype.hasOwnProperty(key)) {
47
+ const descriptor = Object.getOwnPropertyDescriptor(Storage_js_1.default.prototype, key);
48
+ if (descriptor.value !== undefined) {
49
+ if (typeof descriptor.value === 'function') {
50
+ return storage[key].bind(storage);
51
+ }
52
+ return descriptor.value;
53
+ }
54
+ if (descriptor.get) {
55
+ return descriptor.get.call(storage);
56
+ }
47
57
  return storage[key];
48
58
  }
49
59
  return storage[PropertySymbol.data][key];
@@ -57,7 +67,7 @@ class StorageFactory {
57
67
  },
58
68
  deleteProperty(storage, key) {
59
69
  if (Storage_js_1.default.prototype.hasOwnProperty(key)) {
60
- return false;
70
+ return true;
61
71
  }
62
72
  return delete storage[PropertySymbol.data][key];
63
73
  },
@@ -1 +1 @@
1
- {"version":3,"file":"StorageFactory.cjs","sourceRoot":"","sources":["../../src/storage/StorageFactory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"StorageFactory.cjs","sourceRoot":"","sources":["../../src/storage/StorageFactory.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"StorageFactory.d.ts","sourceRoot":"","sources":["../../src/storage/StorageFactory.ts"],"names":[],"mappings":"AACA,OAAO,OAAO,MAAM,cAAc,CAAC;AAEnC;;;;;GAKG;AACH,MAAM,CAAC,OAAO,OAAO,cAAc;IAClC;;OAEG;WACW,aAAa,IAAI,OAAO;CAsEtC"}
1
+ {"version":3,"file":"StorageFactory.d.ts","sourceRoot":"","sources":["../../src/storage/StorageFactory.ts"],"names":[],"mappings":"AACA,OAAO,OAAO,MAAM,cAAc,CAAC;AAEnC;;;;;GAKG;AACH,MAAM,CAAC,OAAO,OAAO,cAAc;IAClC;;OAEG;WACW,aAAa,IAAI,OAAO;CAgFtC"}
@@ -8,10 +8,6 @@ export default class Storage {
8
8
  [PropertySymbol.data]: {
9
9
  [key: string]: string;
10
10
  };
11
- /**
12
- *
13
- */
14
- constructor();
15
11
  /**
16
12
  * Returns length.
17
13
  *
@@ -1 +1 @@
1
- {"version":3,"file":"Storage.d.ts","sourceRoot":"","sources":["../../src/storage/Storage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,cAAc,MAAM,sBAAsB,CAAC;AAEvD;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,OAAO;IACpB,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAM;IAE7D;;OAEG;;IAyCH;;;;OAIG;IACH,IAAW,MAAM,IAAI,MAAM,CAE1B;IAED;;;;;OAKG;IACI,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAKxC;;;;;OAKG;IACI,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAIhD;;;;;OAKG;IACI,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAI3C;;;;OAIG;IACI,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIrC;;OAEG;IACI,KAAK,IAAI,IAAI;CAGpB"}
1
+ {"version":3,"file":"Storage.d.ts","sourceRoot":"","sources":["../../src/storage/Storage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,cAAc,MAAM,sBAAsB,CAAC;AAEvD;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,OAAO;IACpB,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAM;IAE7D;;;;OAIG;IACH,IAAW,MAAM,IAAI,MAAM,CAE1B;IAED;;;;;OAKG;IACI,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAKxC;;;;;OAKG;IACI,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAIhD;;;;;OAKG;IACI,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAI3C;;;;OAIG;IACI,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIrC;;OAEG;IACI,KAAK,IAAI,IAAI;CAGpB"}
@@ -6,42 +6,8 @@ import * as PropertySymbol from '../PropertySymbol.js';
6
6
  * @see https://developer.mozilla.org/en-US/docs/Web/API/Storage
7
7
  */
8
8
  class Storage {
9
- /**
10
- *
11
- */
12
9
  constructor() {
13
10
  this[_a] = {};
14
- const descriptors = Object.getOwnPropertyDescriptors(Storage.prototype);
15
- Object.defineProperty(this, 'length', {
16
- enumerable: false,
17
- configurable: true,
18
- get: descriptors['length'].get.bind(this)
19
- });
20
- Object.defineProperty(this, 'key', {
21
- enumerable: false,
22
- configurable: true,
23
- value: descriptors['key'].value.bind(this)
24
- });
25
- Object.defineProperty(this, 'setItem', {
26
- enumerable: false,
27
- configurable: true,
28
- value: descriptors['setItem'].value.bind(this)
29
- });
30
- Object.defineProperty(this, 'getItem', {
31
- enumerable: false,
32
- configurable: true,
33
- value: descriptors['getItem'].value.bind(this)
34
- });
35
- Object.defineProperty(this, 'removeItem', {
36
- enumerable: false,
37
- configurable: true,
38
- value: descriptors['removeItem'].value.bind(this)
39
- });
40
- Object.defineProperty(this, 'clear', {
41
- enumerable: false,
42
- configurable: true,
43
- value: descriptors['clear'].value.bind(this)
44
- });
45
11
  }
46
12
  /**
47
13
  * Returns length.
@@ -1 +1 @@
1
- {"version":3,"file":"Storage.js","sourceRoot":"","sources":["../../src/storage/Storage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Storage.js","sourceRoot":"","sources":["../../src/storage/Storage.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,cAAc,MAAM,sBAAsB,CAAC;AAEvD;;;;GAIG;AACH,MAAqB,OAAO;IAA5B;QACQ,QAAqB,GAA8B,EAAE,CAAC;IAyD9D,CAAC;IAvDA;;;;OAIG;IACH,IAAW,MAAM;QAChB,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;IACtD,CAAC;IAED;;;;;OAKG;IACI,GAAG,CAAC,KAAa;QACvB,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAC3D,OAAO,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IACzC,CAAC;IAED;;;;;OAKG;IACI,OAAO,CAAC,IAAY,EAAE,IAAY;QACxC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC;IAED;;;;;OAKG;IACI,OAAO,CAAC,IAAY;QAC1B,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC/F,CAAC;IAED;;;;OAIG;IACI,UAAU,CAAC,IAAY;QAC7B,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;IAED;;OAEG;IACI,KAAK;QACX,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;IAChC,CAAC;CACD;KAzDQ,cAAc,CAAC,IAAI;eADP,OAAO"}
@@ -1 +1 @@
1
- {"version":3,"file":"StorageFactory.d.ts","sourceRoot":"","sources":["../../src/storage/StorageFactory.ts"],"names":[],"mappings":"AACA,OAAO,OAAO,MAAM,cAAc,CAAC;AAEnC;;;;;GAKG;AACH,MAAM,CAAC,OAAO,OAAO,cAAc;IAClC;;OAEG;WACW,aAAa,IAAI,OAAO;CAsEtC"}
1
+ {"version":3,"file":"StorageFactory.d.ts","sourceRoot":"","sources":["../../src/storage/StorageFactory.ts"],"names":[],"mappings":"AACA,OAAO,OAAO,MAAM,cAAc,CAAC;AAEnC;;;;;GAKG;AACH,MAAM,CAAC,OAAO,OAAO,cAAc;IAClC;;OAEG;WACW,aAAa,IAAI,OAAO;CAgFtC"}
@@ -16,6 +16,16 @@ export default class StorageFactory {
16
16
  return new Proxy(new Storage(), {
17
17
  get(storage, key) {
18
18
  if (Storage.prototype.hasOwnProperty(key)) {
19
+ const descriptor = Object.getOwnPropertyDescriptor(Storage.prototype, key);
20
+ if (descriptor.value !== undefined) {
21
+ if (typeof descriptor.value === 'function') {
22
+ return storage[key].bind(storage);
23
+ }
24
+ return descriptor.value;
25
+ }
26
+ if (descriptor.get) {
27
+ return descriptor.get.call(storage);
28
+ }
19
29
  return storage[key];
20
30
  }
21
31
  return storage[PropertySymbol.data][key];
@@ -29,7 +39,7 @@ export default class StorageFactory {
29
39
  },
30
40
  deleteProperty(storage, key) {
31
41
  if (Storage.prototype.hasOwnProperty(key)) {
32
- return false;
42
+ return true;
33
43
  }
34
44
  return delete storage[PropertySymbol.data][key];
35
45
  },
@@ -1 +1 @@
1
- {"version":3,"file":"StorageFactory.js","sourceRoot":"","sources":["../../src/storage/StorageFactory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,cAAc,MAAM,sBAAsB,CAAC;AACvD,OAAO,OAAO,MAAM,cAAc,CAAC;AAEnC;;;;;GAKG;AACH,MAAM,CAAC,OAAO,OAAO,cAAc;IAClC;;OAEG;IACI,MAAM,CAAC,aAAa;QAC1B,2BAA2B;QAC3B,yFAAyF;QACzF,OAAO,IAAI,KAAK,CAAC,IAAI,OAAO,EAAE,EAAE;YAC/B,GAAG,CAAC,OAAgB,EAAE,GAAW;gBAChC,IAAI,OAAO,CAAC,SAAS,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC3C,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC;gBACrB,CAAC;gBACD,OAAO,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YAC1C,CAAC;YACD,GAAG,CAAC,OAAgB,EAAE,GAAW,EAAE,KAAa;gBAC/C,IAAI,OAAO,CAAC,SAAS,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC3C,OAAO,IAAI,CAAC;gBACb,CAAC;gBACD,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;gBAClD,OAAO,IAAI,CAAC;YACb,CAAC;YACD,cAAc,CAAC,OAAgB,EAAE,GAAW;gBAC3C,IAAI,OAAO,CAAC,SAAS,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC3C,OAAO,KAAK,CAAC;gBACd,CAAC;gBACD,OAAO,OAAO,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YACjD,CAAC;YACD,OAAO,CAAC,OAAgB;gBACvB,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;YAClD,CAAC;YACD,GAAG,CAAC,OAAgB,EAAE,GAAW;gBAChC,OAAO,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,SAAS,CAAC;YACxD,CAAC;YACD,cAAc,CAAC,OAAgB,EAAE,GAAW,EAAE,UAA8B;gBAC3E,IAAI,OAAO,CAAC,SAAS,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC3C,IAAI,UAAU,CAAC,GAAG,IAAI,UAAU,CAAC,GAAG,EAAE,CAAC;wBACtC,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,GAAG,EAAE;4BACnC,GAAG,UAAU;4BACb,GAAG,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS;4BAC9D,GAAG,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS;yBAC9D,CAAC,CAAC;oBACJ,CAAC;yBAAM,CAAC;wBACP,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,GAAG,EAAE;4BACnC,GAAG,UAAU;4BACb,KAAK,EACJ,OAAO,UAAU,CAAC,KAAK,KAAK,UAAU;gCACrC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC;gCAChC,CAAC,CAAC,UAAU,CAAC,KAAK;yBACpB,CAAC,CAAC;oBACJ,CAAC;oBACD,OAAO,IAAI,CAAC;gBACb,CAAC;gBACD,IAAI,UAAU,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;oBACpC,OAAO,KAAK,CAAC;gBACd,CAAC;gBACD,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;gBAC7D,OAAO,IAAI,CAAC;YACb,CAAC;YACD,wBAAwB,CAAC,OAAgB,EAAE,GAAW;gBACrD,IACC,OAAO,CAAC,SAAS,CAAC,cAAc,CAAC,GAAG,CAAC;oBACrC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,SAAS,EAC9C,CAAC;oBACF,OAAO;gBACR,CAAC;gBACD,OAAO;oBACN,KAAK,EAAE,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC;oBACxC,QAAQ,EAAE,IAAI;oBACd,UAAU,EAAE,IAAI;oBAChB,YAAY,EAAE,KAAK;iBACnB,CAAC;YACH,CAAC;SACD,CAAC,CAAC;IACJ,CAAC;CACD"}
1
+ {"version":3,"file":"StorageFactory.js","sourceRoot":"","sources":["../../src/storage/StorageFactory.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "happy-dom",
3
- "version": "14.6.1",
3
+ "version": "14.6.2",
4
4
  "license": "MIT",
5
5
  "homepage": "https://github.com/capricorn86/happy-dom",
6
6
  "repository": "https://github.com/capricorn86/happy-dom",
@@ -8,49 +8,6 @@ import * as PropertySymbol from '../PropertySymbol.js';
8
8
  export default class Storage {
9
9
  public [PropertySymbol.data]: { [key: string]: string } = {};
10
10
 
11
- /**
12
- *
13
- */
14
- constructor() {
15
- const descriptors = Object.getOwnPropertyDescriptors(Storage.prototype);
16
-
17
- Object.defineProperty(this, 'length', {
18
- enumerable: false,
19
- configurable: true,
20
- get: descriptors['length'].get.bind(this)
21
- });
22
-
23
- Object.defineProperty(this, 'key', {
24
- enumerable: false,
25
- configurable: true,
26
- value: descriptors['key'].value.bind(this)
27
- });
28
-
29
- Object.defineProperty(this, 'setItem', {
30
- enumerable: false,
31
- configurable: true,
32
- value: descriptors['setItem'].value.bind(this)
33
- });
34
-
35
- Object.defineProperty(this, 'getItem', {
36
- enumerable: false,
37
- configurable: true,
38
- value: descriptors['getItem'].value.bind(this)
39
- });
40
-
41
- Object.defineProperty(this, 'removeItem', {
42
- enumerable: false,
43
- configurable: true,
44
- value: descriptors['removeItem'].value.bind(this)
45
- });
46
-
47
- Object.defineProperty(this, 'clear', {
48
- enumerable: false,
49
- configurable: true,
50
- value: descriptors['clear'].value.bind(this)
51
- });
52
- }
53
-
54
11
  /**
55
12
  * Returns length.
56
13
  *
@@ -15,8 +15,18 @@ export default class StorageFactory {
15
15
  // Documentation for Proxy:
16
16
  // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy
17
17
  return new Proxy(new Storage(), {
18
- get(storage: Storage, key: string): string {
18
+ get(storage: Storage, key: string): string | number | boolean | Function {
19
19
  if (Storage.prototype.hasOwnProperty(key)) {
20
+ const descriptor = Object.getOwnPropertyDescriptor(Storage.prototype, key);
21
+ if (descriptor.value !== undefined) {
22
+ if (typeof descriptor.value === 'function') {
23
+ return storage[key].bind(storage);
24
+ }
25
+ return descriptor.value;
26
+ }
27
+ if (descriptor.get) {
28
+ return descriptor.get.call(storage);
29
+ }
20
30
  return storage[key];
21
31
  }
22
32
  return storage[PropertySymbol.data][key];
@@ -30,7 +40,7 @@ export default class StorageFactory {
30
40
  },
31
41
  deleteProperty(storage: Storage, key: string): boolean {
32
42
  if (Storage.prototype.hasOwnProperty(key)) {
33
- return false;
43
+ return true;
34
44
  }
35
45
  return delete storage[PropertySymbol.data][key];
36
46
  },
@@ -1327,7 +1327,7 @@ export default class BrowserWindow extends EventTarget implements INodeJSGlobal
1327
1327
  /**
1328
1328
  * Binds methods, getters and setters to a scope.
1329
1329
  *
1330
- * Getters and setters need to be bound to show up in Object.getOwnPropertyNames(), which is something Vitest relies on.
1330
+ * Getters and setters need to be bound to show up in Object.getOwnPropertyNames(), which is something Vitest and GlobalRegistrator relies on.
1331
1331
  *
1332
1332
  * @see https://github.com/capricorn86/happy-dom/issues/1339
1333
1333
  */