proxy-facades 1.0.0

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.
Files changed (136) hide show
  1. package/.idea/.name +1 -0
  2. package/.idea/modules.xml +8 -0
  3. package/.idea/proxy-facades.iml +8 -0
  4. package/.idea/vcs.xml +6 -0
  5. package/DEVELOPMENT.md +15 -0
  6. package/LICENSE +21 -0
  7. package/RecordedReadOnProxiedObjectExt.d.ts +22 -0
  8. package/RecordedReadOnProxiedObjectExt.d.ts.map +1 -0
  9. package/RecordedReadOnProxiedObjectExt.js +41 -0
  10. package/RecordedReadOnProxiedObjectExt.js.map +1 -0
  11. package/RecordedReadOnProxiedObjectExt.ts +41 -0
  12. package/Util.d.ts +85 -0
  13. package/Util.d.ts.map +1 -0
  14. package/Util.js +239 -0
  15. package/Util.js.map +1 -0
  16. package/Util.ts +254 -0
  17. package/class-trackers/Array.d.ts +93 -0
  18. package/class-trackers/Array.d.ts.map +1 -0
  19. package/class-trackers/Array.js +193 -0
  20. package/class-trackers/Array.js.map +1 -0
  21. package/class-trackers/Array.ts +245 -0
  22. package/class-trackers/Iterator.d.ts +38 -0
  23. package/class-trackers/Iterator.d.ts.map +1 -0
  24. package/class-trackers/Iterator.js +69 -0
  25. package/class-trackers/Iterator.js.map +1 -0
  26. package/class-trackers/Iterator.ts +73 -0
  27. package/class-trackers/Map.d.ts +128 -0
  28. package/class-trackers/Map.d.ts.map +1 -0
  29. package/class-trackers/Map.js +310 -0
  30. package/class-trackers/Map.js.map +1 -0
  31. package/class-trackers/Map.ts +403 -0
  32. package/class-trackers/Set.d.ts +85 -0
  33. package/class-trackers/Set.d.ts.map +1 -0
  34. package/class-trackers/Set.js +197 -0
  35. package/class-trackers/Set.js.map +1 -0
  36. package/class-trackers/Set.ts +245 -0
  37. package/class-trackers/index.d.ts +7 -0
  38. package/class-trackers/index.d.ts.map +1 -0
  39. package/class-trackers/index.js +36 -0
  40. package/class-trackers/index.js.map +1 -0
  41. package/class-trackers/index.ts +38 -0
  42. package/class-trackers/readme.md +2 -0
  43. package/common.d.ts +235 -0
  44. package/common.d.ts.map +1 -0
  45. package/common.js +378 -0
  46. package/common.js.map +1 -0
  47. package/common.ts +501 -0
  48. package/dev_generateEsRuntimeBehaviourCheckerCode.d.ts +10 -0
  49. package/dev_generateEsRuntimeBehaviourCheckerCode.d.ts.map +1 -0
  50. package/dev_generateEsRuntimeBehaviourCheckerCode.js +76 -0
  51. package/dev_generateEsRuntimeBehaviourCheckerCode.js.map +1 -0
  52. package/dev_generateEsRuntimeBehaviourCheckerCode.ts +85 -0
  53. package/dist/mjs/RecordedReadOnProxiedObjectExt.d.ts +22 -0
  54. package/dist/mjs/RecordedReadOnProxiedObjectExt.d.ts.map +1 -0
  55. package/dist/mjs/RecordedReadOnProxiedObjectExt.js +37 -0
  56. package/dist/mjs/RecordedReadOnProxiedObjectExt.js.map +1 -0
  57. package/dist/mjs/Util.d.ts +85 -0
  58. package/dist/mjs/Util.d.ts.map +1 -0
  59. package/dist/mjs/Util.js +223 -0
  60. package/dist/mjs/Util.js.map +1 -0
  61. package/dist/mjs/class-trackers/Array.d.ts +93 -0
  62. package/dist/mjs/class-trackers/Array.d.ts.map +1 -0
  63. package/dist/mjs/class-trackers/Array.js +186 -0
  64. package/dist/mjs/class-trackers/Array.js.map +1 -0
  65. package/dist/mjs/class-trackers/Iterator.d.ts +38 -0
  66. package/dist/mjs/class-trackers/Iterator.d.ts.map +1 -0
  67. package/dist/mjs/class-trackers/Iterator.js +65 -0
  68. package/dist/mjs/class-trackers/Iterator.js.map +1 -0
  69. package/dist/mjs/class-trackers/Map.d.ts +128 -0
  70. package/dist/mjs/class-trackers/Map.d.ts.map +1 -0
  71. package/dist/mjs/class-trackers/Map.js +299 -0
  72. package/dist/mjs/class-trackers/Map.js.map +1 -0
  73. package/dist/mjs/class-trackers/Set.d.ts +85 -0
  74. package/dist/mjs/class-trackers/Set.d.ts.map +1 -0
  75. package/dist/mjs/class-trackers/Set.js +189 -0
  76. package/dist/mjs/class-trackers/Set.js.map +1 -0
  77. package/dist/mjs/class-trackers/index.d.ts +7 -0
  78. package/dist/mjs/class-trackers/index.d.ts.map +1 -0
  79. package/dist/mjs/class-trackers/index.js +32 -0
  80. package/dist/mjs/class-trackers/index.js.map +1 -0
  81. package/dist/mjs/common.d.ts +235 -0
  82. package/dist/mjs/common.d.ts.map +1 -0
  83. package/dist/mjs/common.js +361 -0
  84. package/dist/mjs/common.js.map +1 -0
  85. package/dist/mjs/dev_generateEsRuntimeBehaviourCheckerCode.d.ts +10 -0
  86. package/dist/mjs/dev_generateEsRuntimeBehaviourCheckerCode.d.ts.map +1 -0
  87. package/dist/mjs/dev_generateEsRuntimeBehaviourCheckerCode.js +76 -0
  88. package/dist/mjs/dev_generateEsRuntimeBehaviourCheckerCode.js.map +1 -0
  89. package/dist/mjs/index.d.ts +8 -0
  90. package/dist/mjs/index.d.ts.map +1 -0
  91. package/dist/mjs/index.js +8 -0
  92. package/dist/mjs/index.js.map +1 -0
  93. package/dist/mjs/objectChangeTracking.d.ts +43 -0
  94. package/dist/mjs/objectChangeTracking.d.ts.map +1 -0
  95. package/dist/mjs/objectChangeTracking.js +209 -0
  96. package/dist/mjs/objectChangeTracking.js.map +1 -0
  97. package/dist/mjs/origChangeTracking.d.ts +14 -0
  98. package/dist/mjs/origChangeTracking.d.ts.map +1 -0
  99. package/dist/mjs/origChangeTracking.js +58 -0
  100. package/dist/mjs/origChangeTracking.js.map +1 -0
  101. package/dist/mjs/proxyFacade.d.ts +45 -0
  102. package/dist/mjs/proxyFacade.d.ts.map +1 -0
  103. package/dist/mjs/proxyFacade.js +179 -0
  104. package/dist/mjs/proxyFacade.js.map +1 -0
  105. package/dist/mjs/watchedProxyFacade.d.ts +84 -0
  106. package/dist/mjs/watchedProxyFacade.d.ts.map +1 -0
  107. package/dist/mjs/watchedProxyFacade.js +300 -0
  108. package/dist/mjs/watchedProxyFacade.js.map +1 -0
  109. package/index.d.ts +8 -0
  110. package/index.d.ts.map +1 -0
  111. package/index.js +36 -0
  112. package/index.js.map +1 -0
  113. package/index.ts +7 -0
  114. package/index_esm.mjs +44 -0
  115. package/objectChangeTracking.d.ts +43 -0
  116. package/objectChangeTracking.d.ts.map +1 -0
  117. package/objectChangeTracking.js +214 -0
  118. package/objectChangeTracking.js.map +1 -0
  119. package/objectChangeTracking.ts +251 -0
  120. package/origChangeTracking.d.ts +14 -0
  121. package/origChangeTracking.d.ts.map +1 -0
  122. package/origChangeTracking.js +63 -0
  123. package/origChangeTracking.js.map +1 -0
  124. package/origChangeTracking.ts +72 -0
  125. package/package.json +52 -0
  126. package/proxyFacade.d.ts +45 -0
  127. package/proxyFacade.d.ts.map +1 -0
  128. package/proxyFacade.js +187 -0
  129. package/proxyFacade.js.map +1 -0
  130. package/proxyFacade.ts +222 -0
  131. package/readme.md +111 -0
  132. package/watchedProxyFacade.d.ts +84 -0
  133. package/watchedProxyFacade.d.ts.map +1 -0
  134. package/watchedProxyFacade.js +312 -0
  135. package/watchedProxyFacade.js.map +1 -0
  136. package/watchedProxyFacade.ts +369 -0
@@ -0,0 +1,310 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.config = exports.MapReadTracker = exports.RecordedMapEntriesRead = exports.RecordedMapValuesRead = exports.RecordedMapKeysRead = exports.RecordedMap_has = exports.RecordedMap_get = exports.MapChangeTracker = exports.changeHooksForMap = void 0;
4
+ exports.getChangeHooksForMap = getChangeHooksForMap;
5
+ const common_1 = require("../common");
6
+ const objectChangeTracking_1 = require("../objectChangeTracking");
7
+ const Util_1 = require("../Util");
8
+ const RecordedReadOnProxiedObjectExt_1 = require("../RecordedReadOnProxiedObjectExt");
9
+ /**
10
+ * Hooks for one map.
11
+ * Note for specificity: There will be only one of the **change** events fired. The Recorded...Read.onChange handler will add the listeners to all possible candidates. It's this way around.
12
+ * {@link ObjectChangeHooks} are also subscribed on Maps
13
+ */
14
+ class MapChangeHooks {
15
+ constructor() {
16
+ this.specificKeyAddedOrRemoved = (0, Util_1.newDefaultMap)(() => new common_1.EventHook());
17
+ this.anyKeyAddedOrRemoved = new common_1.EventHook();
18
+ this.specificValueChanged = (0, Util_1.newDefaultMap)(() => new common_1.EventHook());
19
+ this.anyValueChanged = new common_1.EventHook();
20
+ }
21
+ }
22
+ exports.changeHooksForMap = new WeakMap();
23
+ function getChangeHooksForMap(map) {
24
+ let result = exports.changeHooksForMap.get(map);
25
+ if (result === undefined) {
26
+ exports.changeHooksForMap.set(map, result = new MapChangeHooks());
27
+ }
28
+ return result;
29
+ }
30
+ /**
31
+ * Can be either used as a supervisor-class in a WatchedProxyHandler, or installed on the non-proxied object via Object.setPrototypeOf
32
+ * The "this" may be different in these cases.
33
+ */
34
+ class MapChangeTracker extends Map {
35
+ get _watchedProxyHandler() {
36
+ return undefined;
37
+ }
38
+ _withUnspecificChange(changeFn) {
39
+ return (0, common_1.runChangeOperation)(this, new common_1.UnspecificObjectChange(this), [(0, objectChangeTracking_1.getChangeHooksForObject)(this).unspecificChange], changeFn);
40
+ }
41
+ /**
42
+ * Will return the original object when this class is used as supervisor class in the WatchedProxyHandler
43
+ */
44
+ get _target() {
45
+ return this;
46
+ }
47
+ /**
48
+ * Pretend that this is a Map
49
+ */
50
+ get ["constructor"]() {
51
+ return Map;
52
+ }
53
+ set(key, value) {
54
+ key = this._watchedProxyHandler ? this._watchedProxyHandler.getFacade().getUnproxiedValue(key) : key; // Translate to unproxied key
55
+ value = this._watchedProxyHandler ? this._watchedProxyHandler.getFacade().getUnproxiedValue(value) : value; // Translate to unproxied value
56
+ const isNewKey = !this._target.has(key);
57
+ const valueChanged = isNewKey || this._target.get(key) !== value;
58
+ if (!isNewKey && !valueChanged) {
59
+ return this;
60
+ }
61
+ const hooksForThisMap = getChangeHooksForMap(this);
62
+ const hooksToServe = [
63
+ ...(isNewKey ? [hooksForThisMap.specificKeyAddedOrRemoved.get(key), hooksForThisMap.anyKeyAddedOrRemoved] : []),
64
+ ...(valueChanged ? [hooksForThisMap.specificValueChanged.get(key), hooksForThisMap.anyValueChanged] : [])
65
+ ];
66
+ (0, common_1.runChangeOperation)(this, new common_1.UnspecificObjectChange(this), hooksToServe, () => {
67
+ return (0, common_1.dualUseTracker_callOrigMethodOnTarget)(this, "set", [key, value]);
68
+ });
69
+ return this;
70
+ }
71
+ delete(key) {
72
+ key = this._watchedProxyHandler ? this._watchedProxyHandler.getFacade().getUnproxiedValue(key) : key; // Translate to unproxied key
73
+ if (!this._target.has(key)) { // no change?
74
+ return false;
75
+ }
76
+ const hooksForThisMap = getChangeHooksForMap(this);
77
+ const hooksToServe = [hooksForThisMap.specificKeyAddedOrRemoved.get(key), hooksForThisMap.anyKeyAddedOrRemoved, hooksForThisMap.specificValueChanged.get(key), hooksForThisMap.anyValueChanged];
78
+ return (0, common_1.runChangeOperation)(this, new common_1.UnspecificObjectChange(this), hooksToServe, () => {
79
+ return (0, common_1.dualUseTracker_callOrigMethodOnTarget)(this, "delete", [key]);
80
+ });
81
+ }
82
+ clear() {
83
+ const hooksToServe = [getChangeHooksForMap(this).anyKeyAddedOrRemoved, getChangeHooksForMap(this).anyValueChanged, (0, objectChangeTracking_1.getChangeHooksForObject)(this).unspecificChange];
84
+ return (0, common_1.runChangeOperation)(this, new common_1.UnspecificObjectChange(this), hooksToServe, () => {
85
+ return (0, common_1.dualUseTracker_callOrigMethodOnTarget)(this, "clear", []);
86
+ });
87
+ }
88
+ }
89
+ exports.MapChangeTracker = MapChangeTracker;
90
+ class RecordedMap_get extends RecordedReadOnProxiedObjectExt_1.RecordedReadOnProxiedObjectExt {
91
+ constructor(key, keyExists, value) {
92
+ super();
93
+ this.key = key;
94
+ this.keyExists = keyExists;
95
+ this.value = value;
96
+ }
97
+ get isChanged() {
98
+ return !(this.keyExists === this.obj.has(this.key) && this.value === this.obj.get(this.key));
99
+ }
100
+ getAffectingChangeHooks(target) {
101
+ return [
102
+ getChangeHooksForMap(target).specificKeyAddedOrRemoved.get(this.key),
103
+ getChangeHooksForMap(target).specificValueChanged.get(this.key),
104
+ (0, objectChangeTracking_1.getChangeHooksForObject)(target).unspecificChange
105
+ ];
106
+ }
107
+ equals(other) {
108
+ if (!(other instanceof RecordedMap_get)) {
109
+ return false;
110
+ }
111
+ return this.proxyHandler === other.proxyHandler && this.obj === other.obj && this.key === other.key && this.keyExists == other.keyExists && this.value === other.value;
112
+ }
113
+ }
114
+ exports.RecordedMap_get = RecordedMap_get;
115
+ class RecordedMap_has extends RecordedReadOnProxiedObjectExt_1.RecordedReadOnProxiedObjectExt {
116
+ constructor(key, keyExists) {
117
+ super();
118
+ this.key = key;
119
+ this.keyExists = keyExists;
120
+ }
121
+ get isChanged() {
122
+ return this.keyExists !== this.obj.has(this.key);
123
+ }
124
+ getAffectingChangeHooks(target) {
125
+ return [
126
+ getChangeHooksForMap(target).specificKeyAddedOrRemoved.get(this.key),
127
+ (0, objectChangeTracking_1.getChangeHooksForObject)(target).unspecificChange,
128
+ ];
129
+ }
130
+ equals(other) {
131
+ if (!(other instanceof RecordedMap_has)) {
132
+ return false;
133
+ }
134
+ return this.proxyHandler === other.proxyHandler && this.obj === other.obj && this.key === other.key && this.keyExists === other.keyExists;
135
+ }
136
+ }
137
+ exports.RecordedMap_has = RecordedMap_has;
138
+ class RecordedMapKeysRead extends RecordedReadOnProxiedObjectExt_1.RecordedReadOnProxiedObjectExt {
139
+ constructor(keys) {
140
+ super();
141
+ this.keys = keys;
142
+ }
143
+ getAffectingChangeHooks(target) {
144
+ return [
145
+ getChangeHooksForMap(target).anyKeyAddedOrRemoved,
146
+ (0, objectChangeTracking_1.getChangeHooksForObject)(target).unspecificChange
147
+ ];
148
+ }
149
+ equals(other) {
150
+ if (!(other instanceof RecordedMapKeysRead)) {
151
+ return false;
152
+ }
153
+ return this.proxyHandler === other.proxyHandler && this.obj === other.obj && (0, Util_1.arraysAreShallowlyEqual)(this.keys, other.keys);
154
+ }
155
+ get isChanged() {
156
+ return !(0, Util_1.arraysAreShallowlyEqual)(this.keys, [...(this.obj).keys()]);
157
+ }
158
+ }
159
+ exports.RecordedMapKeysRead = RecordedMapKeysRead;
160
+ class RecordedMapValuesRead extends RecordedReadOnProxiedObjectExt_1.RecordedReadOnProxiedObjectExt {
161
+ constructor(values) {
162
+ super();
163
+ this.values = values;
164
+ }
165
+ getAffectingChangeHooks(target) {
166
+ return [
167
+ getChangeHooksForMap(target).anyValueChanged,
168
+ (0, objectChangeTracking_1.getChangeHooksForObject)(target).unspecificChange
169
+ ];
170
+ }
171
+ equals(other) {
172
+ if (!(other instanceof RecordedMapValuesRead)) {
173
+ return false;
174
+ }
175
+ return this.proxyHandler === other.proxyHandler && this.obj === other.obj && (0, Util_1.arraysAreShallowlyEqual)(this.values, other.values);
176
+ }
177
+ get isChanged() {
178
+ return !(0, Util_1.arraysAreShallowlyEqual)(this.values, [...(this.obj).values()]);
179
+ }
180
+ }
181
+ exports.RecordedMapValuesRead = RecordedMapValuesRead;
182
+ class RecordedMapEntriesRead extends RecordedReadOnProxiedObjectExt_1.RecordedReadOnProxiedObjectExt {
183
+ constructor(values) {
184
+ super();
185
+ this.values = values;
186
+ }
187
+ getAffectingChangeHooks(target) {
188
+ return [
189
+ getChangeHooksForMap(target).anyKeyAddedOrRemoved,
190
+ getChangeHooksForMap(target).anyValueChanged,
191
+ (0, objectChangeTracking_1.getChangeHooksForObject)(target).unspecificChange
192
+ ];
193
+ }
194
+ equals(other) {
195
+ if (!(other instanceof RecordedMapEntriesRead)) {
196
+ return false;
197
+ }
198
+ return this.proxyHandler === other.proxyHandler && this.obj === other.obj && (0, Util_1.arraysWithEntriesAreShallowlyEqual)(this.values, other.values);
199
+ }
200
+ get isChanged() {
201
+ return !(0, Util_1.arraysWithEntriesAreShallowlyEqual)(this.values, [...(this.obj).entries()]);
202
+ }
203
+ }
204
+ exports.RecordedMapEntriesRead = RecordedMapEntriesRead;
205
+ class MapReadTracker extends Map {
206
+ get _watchedProxyHandler() {
207
+ throw new Error("not calling from inside a WatchedProxyHandler"); // Will return the handler when called through the handler
208
+ }
209
+ get _target() {
210
+ throw new Error("not calling from inside a WatchedProxyHandler"); // Will return the value when called through the handler
211
+ }
212
+ _fireAfterEntriesRead() {
213
+ var _a;
214
+ let recordedMapEntriesRead = new RecordedMapEntriesRead([...this._target.entries()]);
215
+ (_a = this._watchedProxyHandler) === null || _a === void 0 ? void 0 : _a.fireAfterRead(recordedMapEntriesRead);
216
+ }
217
+ /**
218
+ * Pretend that this is a Map
219
+ */
220
+ get ["constructor"]() {
221
+ return Map;
222
+ }
223
+ get(key) {
224
+ var _a;
225
+ key = this._watchedProxyHandler.getFacade().getUnproxiedValue(key);
226
+ const keyExists = this._target.has(key);
227
+ const result = this._target.get(key);
228
+ const read = new RecordedMap_get(key, keyExists, result);
229
+ (_a = this._watchedProxyHandler) === null || _a === void 0 ? void 0 : _a.fireAfterRead(read);
230
+ return this._watchedProxyHandler.getFacade().getProxyFor(result);
231
+ }
232
+ has(key) {
233
+ var _a;
234
+ key = this._watchedProxyHandler.getFacade().getUnproxiedValue(key);
235
+ const result = this._target.has(key);
236
+ const read = new RecordedMap_has(key, result);
237
+ (_a = this._watchedProxyHandler) === null || _a === void 0 ? void 0 : _a.fireAfterRead(read);
238
+ return result;
239
+ }
240
+ values() {
241
+ var _a;
242
+ const result = this._target.values();
243
+ let recordedMapValuesRead = new RecordedMapValuesRead([...result]);
244
+ (_a = this._watchedProxyHandler) === null || _a === void 0 ? void 0 : _a.fireAfterRead(recordedMapValuesRead);
245
+ return (0, common_1.makeIteratorTranslateValue)(result, (value) => this._watchedProxyHandler.getFacade().getProxyFor(value));
246
+ }
247
+ entries() {
248
+ const result = this._target.entries();
249
+ this._fireAfterEntriesRead();
250
+ const facade = this._watchedProxyHandler.getFacade();
251
+ return (0, common_1.makeIteratorTranslateValue)(result, ([key, value]) => [facade.getProxyFor(key), facade.getProxyFor(value)]);
252
+ }
253
+ keys() {
254
+ var _a;
255
+ const result = this._target.keys();
256
+ let recordedMapKeysRead = new RecordedMapKeysRead([...result]);
257
+ (_a = this._watchedProxyHandler) === null || _a === void 0 ? void 0 : _a.fireAfterRead(recordedMapKeysRead);
258
+ return (0, common_1.makeIteratorTranslateValue)(result, (key) => this._watchedProxyHandler.getFacade().getProxyFor(key));
259
+ }
260
+ forEach(callbackfn, ...restOfArgs) {
261
+ const getProxyFor = (value) => this._watchedProxyHandler.getFacade().getProxyFor(value);
262
+ /**
263
+ * Calls callbackFn but supplies it it's arguments *proxied*
264
+ */
265
+ function callCallbackFnWithProxies(value, key, map, ...restOfArgs) {
266
+ callbackfn.apply(this, [getProxyFor(value), getProxyFor(key), getProxyFor(map), ...restOfArgs]);
267
+ }
268
+ const result = this._target.forEach(callCallbackFnWithProxies, ...restOfArgs);
269
+ this._fireAfterEntriesRead();
270
+ return result;
271
+ }
272
+ [Symbol.iterator]() {
273
+ const result = this._target[Symbol.iterator]();
274
+ this._fireAfterEntriesRead();
275
+ const facade = this._watchedProxyHandler.getFacade();
276
+ return (0, common_1.makeIteratorTranslateValue)(result, ([key, value]) => [facade.getProxyFor(key), facade.getProxyFor(value)]);
277
+ }
278
+ get size() {
279
+ var _a;
280
+ const result = this._target.size;
281
+ let recordedMapKeysRead = new RecordedMapKeysRead([...this._target.keys()]); // TODO: RecordedMapSizeRead
282
+ (_a = this._watchedProxyHandler) === null || _a === void 0 ? void 0 : _a.fireAfterRead(recordedMapKeysRead);
283
+ return result;
284
+ }
285
+ }
286
+ exports.MapReadTracker = MapReadTracker;
287
+ exports.config = new class extends common_1.ClassTrackingConfiguration {
288
+ constructor() {
289
+ super(...arguments);
290
+ this.clazz = Map;
291
+ this.readTracker = MapReadTracker;
292
+ this.changeTracker = MapChangeTracker;
293
+ /**
294
+ * Built-in Methods, which are using fields / calling methods on the proxy transparently/loyally, so those methods don't call/use internal stuff directly.
295
+ * Tested with, see dev_generateEsRuntimeBehaviourCheckerCode.ts
296
+ * May include read-only / reader methods
297
+ */
298
+ this.knownHighLevelMethods = new Set([]);
299
+ /**
300
+ * Non-high level
301
+ */
302
+ this.readOnlyMethods = new Set([]);
303
+ /**
304
+ * Non-high level
305
+ */
306
+ this.readOnlyFields = new Set(["size"]);
307
+ this.receiverMustBeNonProxied = true;
308
+ }
309
+ };
310
+ //# sourceMappingURL=Map.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Map.js","sourceRoot":"","sources":["Map.ts"],"names":[],"mappings":"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"}