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.
- package/cjs/storage/Storage.cjs +0 -34
- package/cjs/storage/Storage.cjs.map +1 -1
- package/cjs/storage/Storage.d.ts +0 -4
- package/cjs/storage/Storage.d.ts.map +1 -1
- package/cjs/storage/StorageFactory.cjs +11 -1
- package/cjs/storage/StorageFactory.cjs.map +1 -1
- package/cjs/storage/StorageFactory.d.ts.map +1 -1
- package/lib/storage/Storage.d.ts +0 -4
- package/lib/storage/Storage.d.ts.map +1 -1
- package/lib/storage/Storage.js +0 -34
- package/lib/storage/Storage.js.map +1 -1
- package/lib/storage/StorageFactory.d.ts.map +1 -1
- package/lib/storage/StorageFactory.js +11 -1
- package/lib/storage/StorageFactory.js.map +1 -1
- package/package.json +1 -1
- package/src/storage/Storage.ts +0 -43
- package/src/storage/StorageFactory.ts +12 -2
- package/src/window/BrowserWindow.ts +1 -1
package/cjs/storage/Storage.cjs
CHANGED
@@ -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":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qEAAuD;AAEvD;;;;GAIG;AACH,MAAqB,OAAO;
|
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"}
|
package/cjs/storage/Storage.d.ts
CHANGED
@@ -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
|
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
|
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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qEAAuD;AACvD,8DAAmC;AAEnC;;;;;GAKG;AACH,MAAqB,cAAc;IAClC;;OAEG;IACI,MAAM,CAAC,aAAa;QAC1B,2BAA2B;QAC3B,yFAAyF;QACzF,OAAO,IAAI,KAAK,CAAC,IAAI,oBAAO,EAAE,EAAE;YAC/B,GAAG,CAAC,OAAgB,EAAE,GAAW;gBAChC,IAAI,oBAAO,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,oBAAO,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,oBAAO,CAAC,SAAS,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC3C,OAAO,
|
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;
|
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"}
|
package/lib/storage/Storage.d.ts
CHANGED
@@ -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
|
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"}
|
package/lib/storage/Storage.js
CHANGED
@@ -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":";AAAA,OAAO,KAAK,cAAc,MAAM,sBAAsB,CAAC;AAEvD;;;;GAIG;AACH,MAAqB,OAAO;
|
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;
|
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
|
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,
|
1
|
+
{"version":3,"file":"StorageFactory.js","sourceRoot":"","sources":["../../src/storage/StorageFactory.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/storage/Storage.ts
CHANGED
@@ -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
|
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
|
*/
|