@nanolink/mirrors 1.1.8-beta.0 → 1.1.8-beta.1

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 (56) hide show
  1. package/README.md +82 -21
  2. package/dist/MirrorSync.d.ts +18 -0
  3. package/dist/MirrorSync.js +65 -15
  4. package/dist/MirrorSync.js.map +1 -1
  5. package/dist/SubscriptionClient.js +8 -18
  6. package/dist/SubscriptionClient.js.map +1 -1
  7. package/dist/definitions/messagesubscriptions/index.d.ts +1 -0
  8. package/dist/definitions/messagesubscriptions/index.js +18 -0
  9. package/dist/definitions/messagesubscriptions/index.js.map +1 -0
  10. package/dist/definitions/messagesubscriptions/messages.d.ts +1 -0
  11. package/dist/definitions/{subscriptions → messagesubscriptions}/messages.js +1 -1
  12. package/dist/definitions/messagesubscriptions/messages.js.map +1 -0
  13. package/dist/definitions/mirrors.d.ts +9 -1
  14. package/dist/definitions/mirrors.js +12 -3
  15. package/dist/definitions/mirrors.js.map +1 -1
  16. package/dist/definitions/opsubscriptions/contained.d.ts +1 -1
  17. package/dist/definitions/opsubscriptions/contained.js +4 -4
  18. package/dist/definitions/opsubscriptions/index.d.ts +1 -0
  19. package/dist/definitions/opsubscriptions/index.js +1 -0
  20. package/dist/definitions/opsubscriptions/index.js.map +1 -1
  21. package/dist/definitions/opsubscriptions/trips.d.ts +1 -0
  22. package/dist/definitions/opsubscriptions/trips.js +30 -0
  23. package/dist/definitions/opsubscriptions/trips.js.map +1 -0
  24. package/dist/definitions/subscriptions/alarm.d.ts +1 -0
  25. package/dist/definitions/subscriptions/alarm.js +19 -0
  26. package/dist/definitions/subscriptions/alarm.js.map +1 -0
  27. package/dist/definitions/subscriptions/humiditydecimal.d.ts +1 -0
  28. package/dist/definitions/subscriptions/humiditydecimal.js +18 -0
  29. package/dist/definitions/subscriptions/humiditydecimal.js.map +1 -0
  30. package/dist/definitions/subscriptions/index.d.ts +6 -1
  31. package/dist/definitions/subscriptions/index.js +6 -1
  32. package/dist/definitions/subscriptions/index.js.map +1 -1
  33. package/dist/definitions/subscriptions/references.d.ts +1 -1
  34. package/dist/definitions/subscriptions/references.js +4 -4
  35. package/dist/definitions/subscriptions/servicePlans.d.ts +1 -1
  36. package/dist/definitions/subscriptions/servicePlans.js +1 -0
  37. package/dist/definitions/subscriptions/servicePlans.js.map +1 -1
  38. package/dist/definitions/subscriptions/taskTemplates.d.ts +1 -0
  39. package/dist/definitions/subscriptions/taskTemplates.js +38 -0
  40. package/dist/definitions/subscriptions/taskTemplates.js.map +1 -0
  41. package/dist/definitions/subscriptions/tasks.d.ts +1 -0
  42. package/dist/definitions/subscriptions/tasks.js +22 -0
  43. package/dist/definitions/subscriptions/tasks.js.map +1 -0
  44. package/dist/definitions/subscriptions/temperaturedecimal.d.ts +1 -0
  45. package/dist/definitions/subscriptions/temperaturedecimal.js +18 -0
  46. package/dist/definitions/subscriptions/temperaturedecimal.js.map +1 -0
  47. package/dist/definitions/subscriptions/trips2.d.ts +1 -0
  48. package/dist/definitions/subscriptions/trips2.js +32 -0
  49. package/dist/definitions/subscriptions/trips2.js.map +1 -0
  50. package/dist/index.d.ts +1 -0
  51. package/dist/index.js.map +1 -1
  52. package/dist-compat/index.js +234 -62
  53. package/dist-compat/index.js.map +1 -1
  54. package/package.json +6 -6
  55. package/dist/definitions/subscriptions/messages.d.ts +0 -1
  56. package/dist/definitions/subscriptions/messages.js.map +0 -1
@@ -157,12 +157,18 @@ var MirrorSync = class extends import_eventemitter3.default {
157
157
  { query: this.options.subscription, variables },
158
158
  {
159
159
  next: (envelope) => {
160
- if (envelope.errors) {
161
- this.l("graphql errors", envelope.errors);
162
- this.emit("error", envelope.errors);
160
+ try {
161
+ if (envelope.errors) {
162
+ this.l("graphql errors", envelope.errors);
163
+ this.emit("error", envelope.errors);
164
+ }
165
+ const payload = envelope.data;
166
+ if (payload) this.handlePayload(payload);
167
+ } catch (err) {
168
+ this.l("unhandled error in next handler", err);
169
+ this.emit("error", err);
170
+ throw err;
163
171
  }
164
- const payload = envelope.data;
165
- if (payload) this.handlePayload(payload);
166
172
  },
167
173
  error: (err) => {
168
174
  this.l("subscription error", err);
@@ -187,6 +193,39 @@ var MirrorSync = class extends import_eventemitter3.default {
187
193
  if (!this.unsub) this.start();
188
194
  return this.loaded;
189
195
  }
196
+ waitForUpdated(matcher, options) {
197
+ return this.waitForMirrorEvent("updated", matcher, options);
198
+ }
199
+ waitForDeleted(matcher, options) {
200
+ return this.waitForMirrorEvent("deleted", matcher, options);
201
+ }
202
+ waitForMirrorEvent(event, matcher, options) {
203
+ var _a;
204
+ const timeoutMs = (_a = options == null ? void 0 : options.timeoutMs) != null ? _a : 12e4;
205
+ return new Promise((resolve, reject) => {
206
+ let timeout;
207
+ const cleanup = () => {
208
+ this.off(event, handler);
209
+ if (timeout) clearTimeout(timeout);
210
+ };
211
+ const handler = (payload) => {
212
+ if (!this.matchesMirrorEvent(event, matcher, payload)) return;
213
+ cleanup();
214
+ resolve(payload);
215
+ };
216
+ this.on(event, handler);
217
+ if (timeoutMs > 0) {
218
+ timeout = setTimeout(() => {
219
+ cleanup();
220
+ reject(new Error(`Timeout waiting for mirror ${event} event`));
221
+ }, timeoutMs);
222
+ }
223
+ });
224
+ }
225
+ matchesMirrorEvent(event, matcher, payload) {
226
+ if (typeof matcher === "function") return matcher(payload);
227
+ return event === "updated" ? payload.doc.id === matcher : payload.orgDoc.id === matcher;
228
+ }
190
229
  resetLoaded() {
191
230
  this.loaded = new Promise((resolve) => {
192
231
  this.resolveLoaded = resolve;
@@ -233,17 +272,22 @@ var MirrorSync = class extends import_eventemitter3.default {
233
272
  break;
234
273
  }
235
274
  case "VERSION_ERROR" /* VERSION_ERROR */:
236
- const ve = { currentVersion: this.currentVersion };
237
- this.currentVersion = -1;
238
- this.currentOpVersion = null;
239
- this.buffer = /* @__PURE__ */ new Map();
240
- this.fullSyncPhase = true;
241
- this.resetLoaded();
242
- this.emit("versionError", ve);
243
- this.subscribeInternal(this.currentVersion, this.currentOpVersion);
275
+ this.handleVersionError();
244
276
  break;
245
277
  }
246
278
  }
279
+ handleVersionError() {
280
+ const ve = { currentVersion: this.currentVersion };
281
+ this.currentVersion = -1;
282
+ this.currentOpVersion = null;
283
+ this.buffer = /* @__PURE__ */ new Map();
284
+ this.fullSyncPhase = true;
285
+ this.resetLoaded();
286
+ setTimeout(() => {
287
+ this.emit("versionError", ve);
288
+ this.subscribeInternal(this.currentVersion, this.currentOpVersion);
289
+ }, 0);
290
+ }
247
291
  normalizeItems(data) {
248
292
  if (!data) return [];
249
293
  return Array.isArray(data) ? data : [data];
@@ -1193,22 +1237,13 @@ var SubscriptionClient = class extends import_eventemitter32.default {
1193
1237
  this.emit("error", err);
1194
1238
  this.log("socket error", err);
1195
1239
  },
1196
- closed: async (ev) => {
1240
+ closed: (ev) => {
1197
1241
  var _a, _b, _c, _d;
1198
- try {
1199
- const e = ev;
1200
- this.log("closed", e);
1201
- this.emit("disconnected", { code: e.code, reason: (_c = (_b = (_a = e.reason) == null ? void 0 : _a.toString) == null ? void 0 : _b.call(_a)) != null ? _c : "", wasClean: (_d = e.wasClean) != null ? _d : false });
1202
- try {
1203
- if (this.client) {
1204
- await this.client.dispose();
1205
- }
1206
- } catch (e2) {
1207
- }
1208
- } finally {
1209
- this.client = null;
1210
- if (!this.closedExplicitly) this.scheduleReconnect();
1211
- }
1242
+ const e = ev;
1243
+ this.log("closed", e);
1244
+ this.emit("disconnected", { code: e.code, reason: (_c = (_b = (_a = e.reason) == null ? void 0 : _a.toString) == null ? void 0 : _b.call(_a)) != null ? _c : "", wasClean: (_d = e.wasClean) != null ? _d : false });
1245
+ this.client = null;
1246
+ if (!this.closedExplicitly) this.scheduleReconnect();
1212
1247
  }
1213
1248
  }
1214
1249
  });
@@ -1360,7 +1395,7 @@ var references = `
1360
1395
  serviceData {
1361
1396
  __typename
1362
1397
  ... on QMServiceDataOneshot { ${serviceDataCommonFields} due dueSlackInDays }
1363
- ... on QMServiceDataPeriodic { ${serviceDataCommonFields} startDate lastServiceDate period intervalType due dueSlackInDays }
1398
+ ... on QMServiceDataPeriodic { ${serviceDataCommonFields} startDate lastServiceDate period periodCount intervalType due dueSlackInDays }
1364
1399
  ... on QMServiceDataWarranty { ${serviceDataCommonFields} purchaseDate warrantyInMonths due dueSlackInDays }
1365
1400
  ... on QMServiceDataTrackerStateInt { ${serviceDataCommonFields} dueSlackSeconds : dueSlack nextDueSeconds : nextDue trackerVID }
1366
1401
  ... on QMServiceDataTrackerStateDouble { ${serviceDataCommonFields} dueSlackKM : dueSlack nextDueKM : nextDue trackerVID }
@@ -1386,7 +1421,7 @@ var references = `
1386
1421
  serviceData {
1387
1422
  __typename
1388
1423
  ... on QMServiceDataOneshot { ${serviceDataCommonFields} due dueSlackInDays }
1389
- ... on QMServiceDataPeriodic { ${serviceDataCommonFields} startDate lastServiceDate period intervalType due dueSlackInDays }
1424
+ ... on QMServiceDataPeriodic { ${serviceDataCommonFields} startDate lastServiceDate period periodCount intervalType due dueSlackInDays }
1390
1425
  ... on QMServiceDataWarranty { ${serviceDataCommonFields} purchaseDate warrantyInMonths due dueSlackInDays }
1391
1426
  ... on QMServiceDataTrackerStateInt { ${serviceDataCommonFields} dueSlackSeconds : dueSlack nextDueSeconds : nextDue trackerVID }
1392
1427
  ... on QMServiceDataTrackerStateDouble { ${serviceDataCommonFields} dueSlackKM : dueSlack nextDueKM : nextDue trackerVID }
@@ -1405,7 +1440,7 @@ var references = `
1405
1440
  serviceData {
1406
1441
  __typename
1407
1442
  ... on QMServiceDataOneshot { ${serviceDataCommonFields} due dueSlackInDays }
1408
- ... on QMServiceDataPeriodic { ${serviceDataCommonFields} startDate lastServiceDate period intervalType due dueSlackInDays }
1443
+ ... on QMServiceDataPeriodic { ${serviceDataCommonFields} startDate lastServiceDate period periodCount intervalType due dueSlackInDays }
1409
1444
  ... on QMServiceDataWarranty { ${serviceDataCommonFields} purchaseDate warrantyInMonths due dueSlackInDays }
1410
1445
  ... on QMServiceDataTrackerStateInt { ${serviceDataCommonFields} dueSlackSeconds : dueSlack nextDueSeconds : nextDue trackerVID }
1411
1446
  ... on QMServiceDataTrackerStateDouble { ${serviceDataCommonFields} dueSlackKM : dueSlack nextDueKM : nextDue trackerVID }
@@ -1575,7 +1610,7 @@ var references = `
1575
1610
  serviceData {
1576
1611
  __typename
1577
1612
  ... on QMServiceDataOneshot { ${serviceDataCommonFields} due dueSlackInDays }
1578
- ... on QMServiceDataPeriodic { ${serviceDataCommonFields} startDate lastServiceDate period intervalType due dueSlackInDays }
1613
+ ... on QMServiceDataPeriodic { ${serviceDataCommonFields} startDate lastServiceDate period periodCount intervalType due dueSlackInDays }
1579
1614
  ... on QMServiceDataWarranty { ${serviceDataCommonFields} purchaseDate warrantyInMonths due dueSlackInDays }
1580
1615
  ... on QMServiceDataTrackerStateInt { ${serviceDataCommonFields} dueSlackSeconds : dueSlack nextDueSeconds : nextDue trackerVID }
1581
1616
  ... on QMServiceDataTrackerStateDouble { ${serviceDataCommonFields} dueSlackKM : dueSlack nextDueKM : nextDue trackerVID }
@@ -1652,6 +1687,7 @@ var servicePlans = `
1652
1687
  ${mServiceCommonFields}
1653
1688
  dueSlackInDays
1654
1689
  period
1690
+ periodCount
1655
1691
  intervalType
1656
1692
  deleted
1657
1693
  }
@@ -2063,6 +2099,23 @@ var unplug = `subscription unplug($opVersion: String) {
2063
2099
  }
2064
2100
  }`;
2065
2101
 
2102
+ // src/definitions/subscriptions/alarm.ts
2103
+ var alarm = `subscription alarm($opVersion: String) {
2104
+ otrackers_infoanybulk(subscribe: true, includeInitial: true, fields:[ALARM], opVersion: $opVersion) {
2105
+ type
2106
+ total
2107
+ deleteId
2108
+ deleteVersion
2109
+ data {
2110
+ id: vID
2111
+ opVersion
2112
+ field
2113
+ value
2114
+ stamp
2115
+ }
2116
+ }
2117
+ }`;
2118
+
2066
2119
  // src/definitions/subscriptions/temperature.ts
2067
2120
  var temperature = `subscription temperature($opVersion: String) {
2068
2121
  otrackers_infoanybulk(subscribe: true, includeInitial: true, fields:[TEMPERATURE], opVersion: $opVersion) {
@@ -2079,6 +2132,38 @@ var temperature = `subscription temperature($opVersion: String) {
2079
2132
  }
2080
2133
  }`;
2081
2134
 
2135
+ // src/definitions/subscriptions/temperaturedecimal.ts
2136
+ var temperaturedecimal = `subscription temperaturedecimal($opVersion: String) {
2137
+ otrackers_infoanybulk(subscribe: true, includeInitial: true, fields:[TEMPERATURE_DECIMAL], opVersion: $opVersion) {
2138
+ type
2139
+ total
2140
+ deleteId
2141
+ deleteVersion
2142
+ data {
2143
+ id: vID
2144
+ opVersion
2145
+ value
2146
+ stamp
2147
+ }
2148
+ }
2149
+ }`;
2150
+
2151
+ // src/definitions/subscriptions/humiditydecimal.ts
2152
+ var humiditydecimal = `subscription humiditydecimal($opVersion: String) {
2153
+ otrackers_infoanybulk(subscribe: true, includeInitial: true, fields:[HUMIDITY_DECIMAL], opVersion: $opVersion) {
2154
+ type
2155
+ total
2156
+ deleteId
2157
+ deleteVersion
2158
+ data {
2159
+ id: vID
2160
+ opVersion
2161
+ value
2162
+ stamp
2163
+ }
2164
+ }
2165
+ }`;
2166
+
2082
2167
  // src/definitions/subscriptions/meshscanner.ts
2083
2168
  var meshscanner = `subscription temperature($opVersion: String) {
2084
2169
  otrackers_infoanybulk(subscribe: true, includeInitial: true, fields:[MESH_GATE_ON], opVersion: $opVersion) {
@@ -2319,44 +2404,69 @@ var trips = `subscription trips($opVersion: String) {
2319
2404
  }
2320
2405
  }`;
2321
2406
 
2322
- // src/definitions/subscriptions/messages.ts
2323
- var messages = `
2324
- subscription Messages($version:Int!) {
2325
- message_getweb(version: $version) {
2407
+ // src/definitions/subscriptions/tasks.ts
2408
+ var tasks = `subscription tasks($version: Int!) {
2409
+ mtask_get(version:$version, subscribe: true) {
2326
2410
  ${mCommonFields}
2327
2411
  data {
2328
- id
2329
- multiId
2330
- version
2331
- createdAt
2332
- from { id fullName mobilePhoneNumber mobileCountryCode email language }
2333
- to { id fullName mobilePhoneNumber mobileCountryCode email language }
2334
- title
2335
- content
2336
- shortContent
2337
- attachmentUrl
2338
- type
2339
- status
2340
- transportTypes
2341
- emailStatus { success errorMessage }
2342
- smsStatus { success errorMessage }
2343
- additionalInfo
2344
- emailTemplate
2345
- deleted
2412
+ ${commonFields}
2413
+ templateId
2414
+ templateVersion
2415
+ title
2416
+ status
2417
+ accessRoles
2418
+ fieldValues { key value }
2419
+ documents { id name url mimeType fileName createdDate }
2420
+ targetReferenceId
2421
+ deleted
2346
2422
  }
2347
- }
2348
2423
  }
2349
- `;
2424
+ }`;
2425
+
2426
+ // src/definitions/subscriptions/taskTemplates.ts
2427
+ var taskTemplates = `subscription taskTemplates($version: Int!) {
2428
+ mtasktemplate_get(version:$version, subscribe: true) {
2429
+ ${mCommonFields}
2430
+ data {
2431
+ ${commonFields}
2432
+ groupIds
2433
+ name
2434
+ description
2435
+ createAccessRoles
2436
+ processingAccessRoles
2437
+ finishAccessRoles
2438
+ design
2439
+ fields {
2440
+ key
2441
+ label
2442
+ type
2443
+ required
2444
+ linkedStatus
2445
+ groupKey
2446
+ options { key label }
2447
+ }
2448
+ statuses {
2449
+ key
2450
+ label
2451
+ color
2452
+ icon
2453
+ isTerminal
2454
+ isDefault
2455
+ }
2456
+ deleted
2457
+ }
2458
+ }
2459
+ }`;
2350
2460
 
2351
2461
  // src/definitions/opsubscriptions/contained.ts
2352
- var contained = `subscription contained($opversion: String) {
2353
- contained(opversion: $opversion) {
2462
+ var contained = `subscription contained($opVersion: String) {
2463
+ contained(opversion: $opVersion) {
2354
2464
  type
2355
2465
  data {
2466
+ id
2356
2467
  receiverId
2357
- transmitterId
2358
2468
  start
2359
- end
2469
+ deleted
2360
2470
  opVersion
2361
2471
  }
2362
2472
  deleteId
@@ -2382,6 +2492,34 @@ var stateLinks = `subscription stateLink($opVersion: String) {
2382
2492
  }
2383
2493
  }`;
2384
2494
 
2495
+ // src/definitions/opsubscriptions/trips.ts
2496
+ var trips2 = `subscription stateTrips($opVersion: String) {
2497
+ stateTrips(opversion: $opVersion) {
2498
+ type
2499
+ data {
2500
+ id
2501
+ trips {
2502
+ startGPS {
2503
+ stamp
2504
+ longitude
2505
+ latitude
2506
+ }
2507
+ endGPS {
2508
+ stamp
2509
+ longitude
2510
+ latitude
2511
+ }
2512
+ distance
2513
+ completed
2514
+ }
2515
+ deleted
2516
+ opVersion
2517
+ }
2518
+ deleteId
2519
+ deleteVersion
2520
+ }
2521
+ }`;
2522
+
2385
2523
  // src/definitions/requiredMirrors/systemSettings.ts
2386
2524
  var systemSettings = `subscription systemsetting($version: Int!) {
2387
2525
  mcommon_systemsettings(version: $version, subscribe: true) {
@@ -2463,6 +2601,35 @@ var roles = `subscription roles($version: Int!) {
2463
2601
  // src/definitions/tempSubscriptions/index.ts
2464
2602
  var TempSubscriptions = {};
2465
2603
 
2604
+ // src/definitions/messagesubscriptions/messages.ts
2605
+ var messages = `
2606
+ subscription Messages($version:Int!) {
2607
+ getweb(version: $version) {
2608
+ ${mCommonFields}
2609
+ data {
2610
+ id
2611
+ multiId
2612
+ version
2613
+ createdAt
2614
+ from { id fullName mobilePhoneNumber mobileCountryCode email language }
2615
+ to { id fullName mobilePhoneNumber mobileCountryCode email language }
2616
+ title
2617
+ content
2618
+ shortContent
2619
+ attachmentUrl
2620
+ type
2621
+ status
2622
+ transportTypes
2623
+ emailStatus { success errorMessage }
2624
+ smsStatus { success errorMessage }
2625
+ additionalInfo
2626
+ emailTemplate
2627
+ deleted
2628
+ }
2629
+ }
2630
+ }
2631
+ `;
2632
+
2466
2633
  // src/definitions/mirrors.ts
2467
2634
  var Subscriptions = {
2468
2635
  references,
@@ -2482,7 +2649,10 @@ var Subscriptions = {
2482
2649
  voltage,
2483
2650
  internalvoltage,
2484
2651
  unplug,
2652
+ alarm,
2485
2653
  temperature,
2654
+ temperaturedecimal,
2655
+ humiditydecimal,
2486
2656
  meshscanner,
2487
2657
  meshdisconnectslasthour,
2488
2658
  activecounter,
@@ -2495,11 +2665,13 @@ var Subscriptions = {
2495
2665
  activesteps,
2496
2666
  referenceGeoLinks,
2497
2667
  trips,
2498
- messages
2668
+ tasks,
2669
+ taskTemplates
2499
2670
  };
2500
2671
  var OpSubscriptions = {
2501
2672
  contained,
2502
- stateLinks
2673
+ stateLinks,
2674
+ trips3: trips2
2503
2675
  };
2504
2676
  var RequiredMirrors = {
2505
2677
  systemSettings,