1 | "use strict";
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 | var testMap = new Map();
|
4 | if (testMap.set(1, 2) !== testMap) {
|
5 | var set_1 = testMap.set;
|
6 | Map.prototype.set = function () {
|
7 | var args = [];
|
8 | for (var _i = 0; _i < arguments.length; _i++) {
|
9 | args[_i] = arguments[_i];
|
10 | }
|
11 | set_1.apply(this, args);
|
12 | return this;
|
13 | };
|
14 | }
|
15 | var testSet = new Set();
|
16 | if (testSet.add(3) !== testSet) {
|
17 | var add_1 = testSet.add;
|
18 | Set.prototype.add = function () {
|
19 | var args = [];
|
20 | for (var _i = 0; _i < arguments.length; _i++) {
|
21 | args[_i] = arguments[_i];
|
22 | }
|
23 | add_1.apply(this, args);
|
24 | return this;
|
25 | };
|
26 | }
|
27 | var frozen = {};
|
28 | if (typeof Object.freeze === 'function') {
|
29 | Object.freeze(frozen);
|
30 | }
|
31 | try {
|
32 | testMap.set(frozen, frozen).delete(frozen);
|
33 | }
|
34 | catch (_a) {
|
35 | var wrap = function (method) {
|
36 | return method && (function (obj) {
|
37 | try {
|
38 | testMap.set(obj, obj).delete(obj);
|
39 | }
|
40 | finally {
|
41 | return method.call(Object, obj);
|
42 | }
|
43 | });
|
44 | };
|
45 | Object.freeze = wrap(Object.freeze);
|
46 | Object.seal = wrap(Object.seal);
|
47 | Object.preventExtensions = wrap(Object.preventExtensions);
|
48 | }
|
49 |
|
\ | No newline at end of file |