@nanolink/mirrors 1.0.9 → 1.0.11

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.
@@ -1,59 +1,64 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DelegatingObject = exports.DelegatingMap = void 0;
4
- class DelegatingMap {
5
- constructor(resolver) {
1
+ var DelegatingMap = /** @class */ (function () {
2
+ function DelegatingMap(resolver) {
6
3
  this.resolver = resolver;
7
4
  }
8
- t() { return this.resolver(); }
9
- get size() { return this.t().size; }
10
- get(key) { return this.t().get(key); }
11
- has(key) { return this.t().has(key); }
12
- entries() { return this.t().entries(); }
13
- keys() { return this.t().keys(); }
14
- values() { return this.t().values(); }
15
- forEach(callbackfn, thisArg) {
16
- this.t().forEach(((v, k) => callbackfn(v, k, this)), thisArg);
17
- }
18
- [Symbol.iterator]() { return this.t()[Symbol.iterator](); }
19
- }
20
- exports.DelegatingMap = DelegatingMap;
5
+ DelegatingMap.prototype.t = function () { return this.resolver(); };
6
+ Object.defineProperty(DelegatingMap.prototype, "size", {
7
+ get: function () { return this.t().size; },
8
+ enumerable: false,
9
+ configurable: true
10
+ });
11
+ DelegatingMap.prototype.get = function (key) { return this.t().get(key); };
12
+ DelegatingMap.prototype.has = function (key) { return this.t().has(key); };
13
+ DelegatingMap.prototype.entries = function () { return this.t().entries(); };
14
+ DelegatingMap.prototype.keys = function () { return this.t().keys(); };
15
+ DelegatingMap.prototype.values = function () { return this.t().values(); };
16
+ DelegatingMap.prototype.forEach = function (callbackfn, thisArg) {
17
+ var _this = this;
18
+ this.t().forEach((function (v, k) { return callbackfn(v, k, _this); }), thisArg);
19
+ };
20
+ DelegatingMap.prototype[Symbol.iterator] = function () { return this.t()[Symbol.iterator](); };
21
+ return DelegatingMap;
22
+ }());
23
+ export { DelegatingMap };
21
24
  /**
22
25
  * Presents a ReadonlyMapView<K,V> as an immutable plain object via Proxy.
23
26
  * Optionally maps values through a mapper function on access.
24
27
  */
25
- class DelegatingObject {
26
- constructor(source, mapFn) {
28
+ var DelegatingObject = /** @class */ (function () {
29
+ function DelegatingObject(source, mapFn) {
30
+ var _this = this;
27
31
  this.source = source;
28
32
  this.mapFn = mapFn;
29
- const mapper = (v, k) => (this.mapFn ? this.mapFn(v, k) : v);
30
- const handler = {
31
- get: (_target, prop, receiver) => {
33
+ var mapper = function (v, k) { return (_this.mapFn ? _this.mapFn(v, k) : v); };
34
+ var handler = {
35
+ get: function (_target, prop, receiver) {
32
36
  if (prop === Symbol.toStringTag)
33
37
  return 'Object';
34
38
  if (typeof prop !== 'string')
35
39
  return Reflect.get(Object.prototype, prop, receiver);
36
- const key = prop;
37
- const v = this.source.get(key);
40
+ var key = prop;
41
+ var v = _this.source.get(key);
38
42
  return v === undefined ? undefined : mapper(v, key);
39
43
  },
40
- set: () => false, // immutable
41
- has: (_target, prop) => typeof prop === 'string' && this.source.has(prop),
42
- deleteProperty: () => false, // immutable
43
- ownKeys: () => Array.from(this.source.keys()),
44
- getOwnPropertyDescriptor: (_target, prop) => {
45
- if (typeof prop === 'string' && this.source.has(prop)) {
46
- const key = prop;
47
- const v = this.source.get(key);
44
+ set: function () { return false; }, // immutable
45
+ has: function (_target, prop) { return typeof prop === 'string' && _this.source.has(prop); },
46
+ deleteProperty: function () { return false; }, // immutable
47
+ ownKeys: function () { return Array.from(_this.source.keys()); },
48
+ getOwnPropertyDescriptor: function (_target, prop) {
49
+ if (typeof prop === 'string' && _this.source.has(prop)) {
50
+ var key = prop;
51
+ var v = _this.source.get(key);
48
52
  return { configurable: true, enumerable: true, value: mapper(v, key) };
49
53
  }
50
54
  return undefined;
51
55
  },
52
- defineProperty: () => false, // immutable
56
+ defineProperty: function () { return false; }, // immutable
53
57
  };
54
58
  this.proxy = new Proxy(Object.create(null), handler);
55
59
  }
56
- asObject() { return this.proxy; }
57
- }
58
- exports.DelegatingObject = DelegatingObject;
60
+ DelegatingObject.prototype.asObject = function () { return this.proxy; };
61
+ return DelegatingObject;
62
+ }());
63
+ export { DelegatingObject };
59
64
  //# sourceMappingURL=DelegateMap.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DelegateMap.js","sourceRoot":"","sources":["../src/DelegateMap.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DelegateMap.js","sourceRoot":"","sources":["../src/DelegateMap.ts"],"names":[],"mappings":"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"}
@@ -1,58 +1,96 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
1
+ var __extends = (this && this.__extends) || (function () {
2
+ var extendStatics = function (d, b) {
3
+ extendStatics = Object.setPrototypeOf ||
4
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
5
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
6
+ return extendStatics(d, b);
7
+ };
8
+ return function (d, b) {
9
+ if (typeof b !== "function" && b !== null)
10
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
11
+ extendStatics(d, b);
12
+ function __() { this.constructor = d; }
13
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
14
+ };
15
+ })();
16
+ var __assign = (this && this.__assign) || function () {
17
+ __assign = Object.assign || function(t) {
18
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
19
+ s = arguments[i];
20
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
21
+ t[p] = s[p];
22
+ }
23
+ return t;
24
+ };
25
+ return __assign.apply(this, arguments);
26
+ };
27
+ var __values = (this && this.__values) || function(o) {
28
+ var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
29
+ if (m) return m.call(o);
30
+ if (o && typeof o.length === "number") return {
31
+ next: function () {
32
+ if (o && i >= o.length) o = void 0;
33
+ return { value: o && o[i++], done: !o };
34
+ }
35
+ };
36
+ throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
4
37
  };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.MirrorSync = exports.SyncType = void 0;
7
- const DelegateMap_1 = require("./DelegateMap");
8
- const eventemitter3_1 = __importDefault(require("eventemitter3"));
38
+ import { DelegatingMap } from './DelegateMap';
39
+ import EventEmitter from 'eventemitter3';
9
40
  // SyncType enum as described
10
- var SyncType;
41
+ export var SyncType;
11
42
  (function (SyncType) {
12
43
  SyncType["DELETED"] = "DELETED";
13
44
  SyncType["UPDATED"] = "UPDATED";
14
45
  SyncType["START"] = "START";
15
46
  SyncType["DONE"] = "DONE";
16
47
  SyncType["VERSION_ERROR"] = "VERSION_ERROR";
17
- })(SyncType || (exports.SyncType = SyncType = {}));
48
+ })(SyncType || (SyncType = {}));
18
49
  /**
19
50
  * MirrorSync maintains an in-memory mirror of server state based on CacheSyncResult messages.
20
51
  * Generic TBase is the item shape (must include id & version).
21
52
  */
22
- class MirrorSync extends eventemitter3_1.default {
23
- get Storage() { return this.mirror; }
24
- constructor(client, options) {
25
- super();
26
- this.mirror = new Map();
27
- this.buffer = null; // used during full/resubscription phase
28
- this.currentVersion = -1; // numeric cursor (-1 => full sync needed)
29
- this.currentOpVersion = null; // op cursor (null => full sync needed)
30
- this.unsub = null;
31
- this.fullSyncPhase = false; // only true during START..DONE when initiating from version -1
32
- this.dmap = new DelegateMap_1.DelegatingMap(() => this.mirror);
33
- this.client = client;
34
- this.options = options;
35
- this.log = options.log;
36
- this.attachClientEvents();
37
- this.resetLoaded();
53
+ var MirrorSync = /** @class */ (function (_super) {
54
+ __extends(MirrorSync, _super);
55
+ function MirrorSync(client, options) {
56
+ var _this = _super.call(this) || this;
57
+ _this.mirror = new Map();
58
+ _this.buffer = null; // used during full/resubscription phase
59
+ _this.currentVersion = -1; // numeric cursor (-1 => full sync needed)
60
+ _this.currentOpVersion = null; // op cursor (null => full sync needed)
61
+ _this.unsub = null;
62
+ _this.fullSyncPhase = false; // only true during START..DONE when initiating from version -1
63
+ _this.dmap = new DelegatingMap(function () { return _this.mirror; });
64
+ _this.client = client;
65
+ _this.options = options;
66
+ _this.log = options.log;
67
+ _this.attachClientEvents();
68
+ _this.resetLoaded();
69
+ return _this;
38
70
  }
39
- l(msg, meta) { if (this.log)
40
- this.log(msg, meta); }
41
- attachClientEvents() {
42
- this.onReconnected = () => {
43
- this.emit('resubscribe', { fromVersion: this.currentVersion });
44
- this.resubscribe();
71
+ Object.defineProperty(MirrorSync.prototype, "Storage", {
72
+ get: function () { return this.mirror; },
73
+ enumerable: false,
74
+ configurable: true
75
+ });
76
+ MirrorSync.prototype.l = function (msg, meta) { if (this.log)
77
+ this.log(msg, meta); };
78
+ MirrorSync.prototype.attachClientEvents = function () {
79
+ var _this = this;
80
+ this.onReconnected = function () {
81
+ _this.emit('resubscribe', { fromVersion: _this.currentVersion });
82
+ _this.resubscribe();
45
83
  };
46
- this.onConnected = () => {
47
- if ((this.currentVersion === -1 || this.currentOpVersion === null) && !this.unsub) {
48
- this.l('initial connected subscribe', { version: this.currentVersion, opVersion: this.currentOpVersion });
49
- this.subscribe(this.currentVersion, this.currentOpVersion);
84
+ this.onConnected = function () {
85
+ if ((_this.currentVersion === -1 || _this.currentOpVersion === null) && !_this.unsub) {
86
+ _this.l('initial connected subscribe', { version: _this.currentVersion, opVersion: _this.currentOpVersion });
87
+ _this.subscribe(_this.currentVersion, _this.currentOpVersion);
50
88
  }
51
89
  };
52
90
  this.client.on('reconnected', this.onReconnected);
53
91
  this.client.on('connected', this.onConnected);
54
- }
55
- detachClientEvents() {
92
+ };
93
+ MirrorSync.prototype.detachClientEvents = function () {
56
94
  if (this.onReconnected) {
57
95
  this.client.off('reconnected', this.onReconnected);
58
96
  this.onReconnected = undefined;
@@ -61,75 +99,77 @@ class MirrorSync extends eventemitter3_1.default {
61
99
  this.client.off('connected', this.onConnected);
62
100
  this.onConnected = undefined;
63
101
  }
64
- }
65
- needsFullSync() { return this.currentVersion === -1 || this.currentOpVersion === null; }
66
- targetMap() { return (this.fullSyncPhase && this.buffer) ? this.buffer : this.mirror; }
67
- advanceNumeric(v) { if (typeof v === 'number' && v > this.currentVersion)
68
- this.currentVersion = v; }
69
- advanceOp(v) { if (v && (!this.currentOpVersion || v > this.currentOpVersion))
70
- this.currentOpVersion = v; }
71
- subscribe(version, opVersion) {
102
+ };
103
+ MirrorSync.prototype.needsFullSync = function () { return this.currentVersion === -1 || this.currentOpVersion === null; };
104
+ MirrorSync.prototype.targetMap = function () { return (this.fullSyncPhase && this.buffer) ? this.buffer : this.mirror; };
105
+ MirrorSync.prototype.advanceNumeric = function (v) { if (typeof v === 'number' && v > this.currentVersion)
106
+ this.currentVersion = v; };
107
+ MirrorSync.prototype.advanceOp = function (v) { if (v && (!this.currentOpVersion || v > this.currentOpVersion))
108
+ this.currentOpVersion = v; };
109
+ MirrorSync.prototype.subscribe = function (version, opVersion) {
110
+ var _this = this;
72
111
  if (!this.client)
73
112
  throw new Error('SubscriptionClient missing');
74
113
  if (this.unsub) {
75
114
  this.unsub();
76
115
  this.unsub = null;
77
116
  }
78
- const variables = Object.assign({ version, opVersion }, (this.options.baseVariables || {}));
79
- this.l('subscribe', { version, opVersion });
80
- this.unsub = this.client.subscribe({ query: this.options.subscription, variables }, {
81
- next: (envelope) => {
117
+ var variables = __assign({ version: version, opVersion: opVersion }, (this.options.baseVariables || {}));
118
+ this.l('subscribe', { version: version, opVersion: opVersion });
119
+ this.unsub = this.client.subscribe({ query: this.options.subscription, variables: variables }, {
120
+ next: function (envelope) {
82
121
  if (envelope.errors) {
83
- this.l('graphql errors', envelope.errors);
84
- this.emit('error', envelope.errors);
122
+ _this.l('graphql errors', envelope.errors);
123
+ _this.emit('error', envelope.errors);
85
124
  }
86
- const payload = envelope.data;
125
+ var payload = envelope.data;
87
126
  if (payload)
88
- this.handlePayload(payload);
127
+ _this.handlePayload(payload);
89
128
  },
90
- error: (err) => this.l('subscription error', err),
91
- complete: () => this.l('subscription complete'),
129
+ error: function (err) { return _this.l('subscription error', err); },
130
+ complete: function () { return _this.l('subscription complete'); },
92
131
  });
93
- }
94
- resubscribe() {
132
+ };
133
+ MirrorSync.prototype.resubscribe = function () {
95
134
  // Resubscribe starting from current cursors
96
135
  this.subscribe(this.currentVersion, this.currentOpVersion);
97
- }
98
- start() {
136
+ };
137
+ MirrorSync.prototype.start = function () {
99
138
  if (!this.client.isConnected()) {
100
139
  this.l('start deferred (not connected)');
101
140
  return;
102
141
  }
103
142
  this.subscribe(this.currentVersion, this.currentOpVersion);
104
- }
105
- load() {
143
+ };
144
+ MirrorSync.prototype.load = function () {
106
145
  if (!this.unsub)
107
146
  this.start();
108
147
  return this.loaded;
109
- }
110
- resetLoaded() {
111
- this.loaded = new Promise(resolve => {
112
- this.resolveLoaded = resolve;
148
+ };
149
+ MirrorSync.prototype.resetLoaded = function () {
150
+ var _this = this;
151
+ this.loaded = new Promise(function (resolve) {
152
+ _this.resolveLoaded = resolve;
113
153
  });
114
- }
115
- handlePayload(raw) {
154
+ };
155
+ MirrorSync.prototype.handlePayload = function (raw) {
116
156
  if (!raw)
117
157
  return;
118
158
  // Always pick the first field in the payload object regardless of configured rootField
119
- const firstKey = Object.keys(raw)[0];
159
+ var firstKey = Object.keys(raw)[0];
120
160
  if (!firstKey)
121
161
  return;
122
- const msg = raw[firstKey];
162
+ var msg = raw[firstKey];
123
163
  if (!msg)
124
164
  return;
125
- const { type } = msg;
165
+ var type = msg.type;
126
166
  switch (type) {
127
167
  case SyncType.START: {
128
- const isFull = this.needsFullSync();
168
+ var isFull = this.needsFullSync();
129
169
  this.fullSyncPhase = isFull;
130
170
  // Only allocate a new buffer for a true full sync; for delta/resubscribe we append directly
131
171
  this.buffer = isFull ? new Map() : null;
132
- const payload = { full: isFull };
172
+ var payload = { full: isFull };
133
173
  this.emit('start', payload);
134
174
  break;
135
175
  }
@@ -140,24 +180,24 @@ class MirrorSync extends eventemitter3_1.default {
140
180
  this.applyDeleted(msg.deleteId, msg.deleteVersion, msg.deleteOpVersion);
141
181
  break;
142
182
  case SyncType.DONE: {
143
- const wasFull = this.fullSyncPhase;
183
+ var wasFull = this.fullSyncPhase;
144
184
  if (wasFull && this.buffer) {
145
185
  this.mirror = this.buffer;
146
186
  this.buffer = null;
147
187
  }
148
188
  this.fullSyncPhase = false;
149
- const d = { full: wasFull };
189
+ var d = { full: wasFull };
150
190
  this.emit('done', d);
151
191
  // Resolve deferred if pending
152
192
  if (this.resolveLoaded) {
153
- const r = this.resolveLoaded;
193
+ var r = this.resolveLoaded;
154
194
  this.resolveLoaded = undefined;
155
195
  r(this.dmap);
156
196
  }
157
197
  break;
158
198
  }
159
199
  case SyncType.VERSION_ERROR:
160
- const ve = { currentVersion: this.currentVersion };
200
+ var ve = { currentVersion: this.currentVersion };
161
201
  this.emit('versionError', ve);
162
202
  // restart as full sync
163
203
  this.currentVersion = -1;
@@ -167,53 +207,64 @@ class MirrorSync extends eventemitter3_1.default {
167
207
  this.subscribe(this.currentVersion, this.currentOpVersion);
168
208
  break;
169
209
  }
170
- }
171
- normalizeItems(data) {
210
+ };
211
+ MirrorSync.prototype.normalizeItems = function (data) {
172
212
  if (!data)
173
213
  return [];
174
214
  return Array.isArray(data) ? data : [data];
175
- }
176
- applyUpdated(data, isFullPhase) {
177
- for (const item of this.normalizeItems(data)) {
178
- if (!item || typeof item.id !== 'string')
179
- continue;
180
- const hasNumeric = typeof item.version === 'number';
181
- const hasOp = typeof item.opVersion === 'string';
182
- if (!hasNumeric && !hasOp)
183
- continue;
184
- const existing = this.targetMap().get(item.id);
185
- const newerNumeric = hasNumeric && (!(existing === null || existing === void 0 ? void 0 : existing.version) || item.version >= existing.version);
186
- const newerOp = hasOp && (!(existing === null || existing === void 0 ? void 0 : existing.opVersion) || item.opVersion >= existing.opVersion);
187
- if (!existing || newerNumeric || newerOp) {
188
- this.targetMap().set(item.id, item);
189
- this.advanceNumeric(item.version);
190
- this.advanceOp(item.opVersion);
191
- this.emit('updated', item, isFullPhase);
215
+ };
216
+ MirrorSync.prototype.applyUpdated = function (data, isFullPhase) {
217
+ var e_1, _a;
218
+ try {
219
+ for (var _b = __values(this.normalizeItems(data)), _c = _b.next(); !_c.done; _c = _b.next()) {
220
+ var item = _c.value;
221
+ if (!item || typeof item.id !== 'string')
222
+ continue;
223
+ var hasNumeric = typeof item.version === 'number';
224
+ var hasOp = typeof item.opVersion === 'string';
225
+ if (!hasNumeric && !hasOp)
226
+ continue;
227
+ var existing = this.targetMap().get(item.id);
228
+ var newerNumeric = hasNumeric && (!(existing === null || existing === void 0 ? void 0 : existing.version) || item.version >= existing.version);
229
+ var newerOp = hasOp && (!(existing === null || existing === void 0 ? void 0 : existing.opVersion) || item.opVersion >= existing.opVersion);
230
+ if (!existing || newerNumeric || newerOp) {
231
+ this.targetMap().set(item.id, item);
232
+ this.advanceNumeric(item.version);
233
+ this.advanceOp(item.opVersion);
234
+ this.emit('updated', item, isFullPhase);
235
+ }
192
236
  }
193
237
  }
194
- }
195
- applyDeleted(id, deleteVersion, deleteOpVersion) {
238
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
239
+ finally {
240
+ try {
241
+ if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
242
+ }
243
+ finally { if (e_1) throw e_1.error; }
244
+ }
245
+ };
246
+ MirrorSync.prototype.applyDeleted = function (id, deleteVersion, deleteOpVersion) {
196
247
  var _a;
197
248
  if (!id)
198
249
  return;
199
- const numericStale = !this.fullSyncPhase && typeof deleteVersion === 'number' && this.currentVersion >= 0 && deleteVersion < this.currentVersion;
200
- const opStale = !this.fullSyncPhase && deleteOpVersion && this.currentOpVersion && deleteOpVersion < this.currentOpVersion;
250
+ var numericStale = !this.fullSyncPhase && typeof deleteVersion === 'number' && this.currentVersion >= 0 && deleteVersion < this.currentVersion;
251
+ var opStale = !this.fullSyncPhase && deleteOpVersion && this.currentOpVersion && deleteOpVersion < this.currentOpVersion;
201
252
  if (numericStale && opStale) {
202
- (_a = this.l) === null || _a === void 0 ? void 0 : _a.call(this, 'skip stale delete', { id, deleteVersion, deleteOpVersion });
253
+ (_a = this.l) === null || _a === void 0 ? void 0 : _a.call(this, 'skip stale delete', { id: id, deleteVersion: deleteVersion, deleteOpVersion: deleteOpVersion });
203
254
  return;
204
255
  }
205
256
  this.targetMap().delete(id);
206
257
  this.advanceNumeric(deleteVersion);
207
258
  this.advanceOp(deleteOpVersion);
208
- const del = { id, version: deleteVersion };
259
+ var del = { id: id, version: deleteVersion };
209
260
  if (deleteOpVersion)
210
261
  del.opVersion = deleteOpVersion;
211
262
  this.emit('deleted', del);
212
- }
213
- get(id) { return this.mirror.get(id); }
214
- values() { return Array.from(this.mirror.values()); }
215
- stats() { return { version: this.currentVersion, opVersion: this.currentOpVersion, size: this.mirror.size, fullSyncInProgress: this.fullSyncPhase }; }
216
- stop() {
263
+ };
264
+ MirrorSync.prototype.get = function (id) { return this.mirror.get(id); };
265
+ MirrorSync.prototype.values = function () { return Array.from(this.mirror.values()); };
266
+ MirrorSync.prototype.stats = function () { return { version: this.currentVersion, opVersion: this.currentOpVersion, size: this.mirror.size, fullSyncInProgress: this.fullSyncPhase }; };
267
+ MirrorSync.prototype.stop = function () {
217
268
  if (this.unsub) {
218
269
  this.unsub();
219
270
  this.unsub = null;
@@ -223,12 +274,13 @@ class MirrorSync extends eventemitter3_1.default {
223
274
  this.currentOpVersion = null;
224
275
  this.buffer = null;
225
276
  if (this.resolveLoaded) {
226
- const r = this.resolveLoaded;
277
+ var r = this.resolveLoaded;
227
278
  this.resolveLoaded = undefined;
228
279
  r(this.dmap);
229
280
  }
230
281
  this.resetLoaded();
231
- }
232
- }
233
- exports.MirrorSync = MirrorSync;
282
+ };
283
+ return MirrorSync;
284
+ }(EventEmitter));
285
+ export { MirrorSync };
234
286
  //# sourceMappingURL=MirrorSync.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MirrorSync.js","sourceRoot":"","sources":["../src/MirrorSync.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MirrorSync.js","sourceRoot":"","sources":["../src/MirrorSync.ts"],"names":[],"mappings":"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"}