@nanolink/operational-model 0.1.1 → 0.1.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.
Files changed (119) hide show
  1. package/README.md +25 -0
  2. package/dist/aerospike/impl/closedLink.d.ts +17 -0
  3. package/dist/aerospike/impl/closedLink.js +56 -0
  4. package/dist/aerospike/impl/closedLink.js.map +1 -0
  5. package/dist/aerospike/impl/common.d.ts +16 -0
  6. package/dist/aerospike/impl/common.js +120 -0
  7. package/dist/aerospike/impl/common.js.map +1 -0
  8. package/dist/aerospike/impl/contained.d.ts +14 -0
  9. package/dist/aerospike/impl/contained.js +44 -0
  10. package/dist/aerospike/impl/contained.js.map +1 -0
  11. package/dist/aerospike/impl/deltaRssi.d.ts +12 -0
  12. package/dist/aerospike/impl/deltaRssi.js +38 -0
  13. package/dist/aerospike/impl/deltaRssi.js.map +1 -0
  14. package/dist/aerospike/impl/factory.d.ts +28 -0
  15. package/dist/aerospike/impl/factory.js +27 -0
  16. package/dist/aerospike/impl/factory.js.map +1 -0
  17. package/dist/aerospike/impl/gps.d.ts +16 -0
  18. package/dist/aerospike/impl/gps.js +45 -0
  19. package/dist/aerospike/impl/gps.js.map +1 -0
  20. package/dist/aerospike/impl/index.d.ts +11 -0
  21. package/dist/aerospike/impl/index.js +12 -0
  22. package/dist/aerospike/impl/index.js.map +1 -0
  23. package/dist/aerospike/impl/rssi.d.ts +14 -0
  24. package/dist/aerospike/impl/rssi.js +42 -0
  25. package/dist/aerospike/impl/rssi.js.map +1 -0
  26. package/dist/aerospike/impl/stateLink.d.ts +13 -0
  27. package/dist/aerospike/impl/stateLink.js +42 -0
  28. package/dist/aerospike/impl/stateLink.js.map +1 -0
  29. package/dist/aerospike/impl/stateTrip.d.ts +9 -0
  30. package/dist/aerospike/impl/stateTrip.js +42 -0
  31. package/dist/aerospike/impl/stateTrip.js.map +1 -0
  32. package/dist/aerospike/impl/states.d.ts +10 -0
  33. package/dist/aerospike/impl/states.js +68 -0
  34. package/dist/aerospike/impl/states.js.map +1 -0
  35. package/dist/aerospike/impl/transmitterPosition.d.ts +9 -0
  36. package/dist/aerospike/impl/transmitterPosition.js +32 -0
  37. package/dist/aerospike/impl/transmitterPosition.js.map +1 -0
  38. package/dist/aerospike/impl/trip.d.ts +10 -0
  39. package/dist/aerospike/impl/trip.js +41 -0
  40. package/dist/aerospike/impl/trip.js.map +1 -0
  41. package/dist/aerospike/impl.d.ts +1 -114
  42. package/dist/aerospike/impl.js +1 -564
  43. package/dist/aerospike/impl.js.map +1 -1
  44. package/dist/aerospike/models/closedLink.d.ts +8 -0
  45. package/dist/aerospike/models/closedLink.js +2 -0
  46. package/dist/aerospike/models/closedLink.js.map +1 -0
  47. package/dist/aerospike/models/contained.d.ts +8 -0
  48. package/dist/aerospike/models/contained.js +2 -0
  49. package/dist/aerospike/models/contained.js.map +1 -0
  50. package/dist/aerospike/models/deltaRssi.d.ts +9 -0
  51. package/dist/aerospike/models/deltaRssi.js +2 -0
  52. package/dist/aerospike/models/deltaRssi.js.map +1 -0
  53. package/dist/aerospike/models/gps.d.ts +12 -0
  54. package/dist/aerospike/models/gps.js +2 -0
  55. package/dist/aerospike/models/gps.js.map +1 -0
  56. package/dist/aerospike/models/rssi.d.ts +8 -0
  57. package/dist/aerospike/models/rssi.js +2 -0
  58. package/dist/aerospike/models/rssi.js.map +1 -0
  59. package/dist/aerospike/models/stateLink.d.ts +11 -0
  60. package/dist/aerospike/models/stateLink.js +2 -0
  61. package/dist/aerospike/models/stateLink.js.map +1 -0
  62. package/dist/aerospike/models/stateTrip.d.ts +12 -0
  63. package/dist/aerospike/models/stateTrip.js +2 -0
  64. package/dist/aerospike/models/stateTrip.js.map +1 -0
  65. package/dist/aerospike/models/states.d.ts +12 -0
  66. package/dist/aerospike/models/states.js +2 -0
  67. package/dist/aerospike/models/states.js.map +1 -0
  68. package/dist/aerospike/models/timeRange.d.ts +4 -0
  69. package/dist/aerospike/models/timeRange.js +2 -0
  70. package/dist/aerospike/models/timeRange.js.map +1 -0
  71. package/dist/aerospike/models/transmitterPosition.d.ts +8 -0
  72. package/dist/aerospike/models/transmitterPosition.js +2 -0
  73. package/dist/aerospike/models/transmitterPosition.js.map +1 -0
  74. package/dist/aerospike/models/trip.d.ts +10 -0
  75. package/dist/aerospike/models/trip.js +2 -0
  76. package/dist/aerospike/models/trip.js.map +1 -0
  77. package/dist/aerospike/models.d.ts +11 -99
  78. package/dist/aerospike/models.js +11 -2
  79. package/dist/aerospike/models.js.map +1 -1
  80. package/dist/aerospike/repositories/closedLink.d.ts +12 -0
  81. package/dist/aerospike/repositories/closedLink.js +2 -0
  82. package/dist/aerospike/repositories/closedLink.js.map +1 -0
  83. package/dist/aerospike/repositories/contained.d.ts +9 -0
  84. package/dist/aerospike/repositories/contained.js +2 -0
  85. package/dist/aerospike/repositories/contained.js.map +1 -0
  86. package/dist/aerospike/repositories/deltaRssi.d.ts +7 -0
  87. package/dist/aerospike/repositories/deltaRssi.js +2 -0
  88. package/dist/aerospike/repositories/deltaRssi.js.map +1 -0
  89. package/dist/aerospike/repositories/gps.d.ts +11 -0
  90. package/dist/aerospike/repositories/gps.js +2 -0
  91. package/dist/aerospike/repositories/gps.js.map +1 -0
  92. package/dist/aerospike/repositories/rssi.d.ts +9 -0
  93. package/dist/aerospike/repositories/rssi.js +2 -0
  94. package/dist/aerospike/repositories/rssi.js.map +1 -0
  95. package/dist/aerospike/repositories/stateLink.d.ts +8 -0
  96. package/dist/aerospike/repositories/stateLink.js +2 -0
  97. package/dist/aerospike/repositories/stateLink.js.map +1 -0
  98. package/dist/aerospike/repositories/stateTrip.d.ts +4 -0
  99. package/dist/aerospike/repositories/stateTrip.js +2 -0
  100. package/dist/aerospike/repositories/stateTrip.js.map +1 -0
  101. package/dist/aerospike/repositories/states.d.ts +5 -0
  102. package/dist/aerospike/repositories/states.js +2 -0
  103. package/dist/aerospike/repositories/states.js.map +1 -0
  104. package/dist/aerospike/repositories/transmitterPosition.d.ts +4 -0
  105. package/dist/aerospike/repositories/transmitterPosition.js +2 -0
  106. package/dist/aerospike/repositories/transmitterPosition.js.map +1 -0
  107. package/dist/aerospike/repositories/trip.d.ts +5 -0
  108. package/dist/aerospike/repositories/trip.js +2 -0
  109. package/dist/aerospike/repositories/trip.js.map +1 -0
  110. package/dist/aerospike/repositories.d.ts +20 -65
  111. package/dist/aerospike/repositories.js +10 -3
  112. package/dist/aerospike/repositories.js.map +1 -1
  113. package/dist/index.d.ts +1 -0
  114. package/dist/index.js +1 -0
  115. package/dist/index.js.map +1 -1
  116. package/dist/nats/subscriber.d.ts +23 -0
  117. package/dist/nats/subscriber.js +86 -0
  118. package/dist/nats/subscriber.js.map +1 -0
  119. package/package.json +3 -2
@@ -1,565 +1,2 @@
1
- import * as Aerospike from 'aerospike';
2
- import { decode as msgpackDecode } from '@msgpack/msgpack';
3
- const toKey = (namespace, set, userKey) => new Aerospike.Key(namespace, set, userKey);
4
- async function streamQuery(client, namespace, setName, where) {
5
- const query = client.query(namespace, setName);
6
- if (where) {
7
- query.where(where);
8
- }
9
- return new Promise((resolve, reject) => {
10
- const results = [];
11
- const stream = query.foreach();
12
- stream.on('data', (record) => results.push(record));
13
- stream.on('error', (err) => reject(err));
14
- stream.on('end', () => resolve(results));
15
- });
16
- }
17
- async function* streamQueryGenerator(client, namespace, setName, where, map) {
18
- const query = client.query(namespace, setName);
19
- if (where) {
20
- query.where(where);
21
- }
22
- const buffer = [];
23
- let ended = false;
24
- let error;
25
- const stream = query.foreach();
26
- stream.on('data', (record) => {
27
- const mapped = map(record);
28
- if (mapped !== null) {
29
- buffer.push(mapped);
30
- }
31
- });
32
- stream.on('error', (err) => {
33
- error = err;
34
- ended = true;
35
- });
36
- stream.on('end', () => {
37
- ended = true;
38
- });
39
- while (!ended || buffer.length > 0) {
40
- if (buffer.length > 0) {
41
- yield buffer.shift();
42
- continue;
43
- }
44
- if (error) {
45
- throw error;
46
- }
47
- await new Promise((res) => setTimeout(res, 10));
48
- }
49
- if (error) {
50
- throw error;
51
- }
52
- }
53
- function decodeMsgpack(value) {
54
- if (!value)
55
- return null;
56
- try {
57
- if (value instanceof Uint8Array) {
58
- return msgpackDecode(value);
59
- }
60
- if (Buffer.isBuffer(value)) {
61
- return msgpackDecode(value);
62
- }
63
- return msgpackDecode(Uint8Array.from(value));
64
- }
65
- catch {
66
- return null;
67
- }
68
- }
69
- function asNumber(value) {
70
- if (typeof value === 'number')
71
- return value;
72
- if (typeof value === 'string') {
73
- const parsed = Number(value);
74
- return Number.isNaN(parsed) ? undefined : parsed;
75
- }
76
- return undefined;
77
- }
78
- function decodeGPSPosition(raw) {
79
- if (!raw)
80
- return undefined;
81
- if (Array.isArray(raw)) {
82
- const [stamp, lon, lat, alt, speed, bearing, accuracy] = raw;
83
- return {
84
- stamp: asNumber(stamp) ?? 0,
85
- longitude: asNumber(lon) ?? 0,
86
- latitude: asNumber(lat) ?? 0,
87
- altitude: alt == null ? undefined : asNumber(alt),
88
- speed: speed == null ? undefined : asNumber(speed),
89
- bearing: bearing == null ? undefined : asNumber(bearing),
90
- accuracy: accuracy == null ? undefined : asNumber(accuracy),
91
- };
92
- }
93
- return {
94
- stamp: asNumber(raw.stamp ?? raw.Stamp) ?? 0,
95
- longitude: asNumber(raw.longitude ?? raw.Longitude) ?? 0,
96
- latitude: asNumber(raw.latitude ?? raw.Latitude) ?? 0,
97
- altitude: raw.altitude ?? raw.Altitude,
98
- speed: raw.speed ?? raw.Speed,
99
- bearing: raw.bearing ?? raw.Bearing,
100
- accuracy: raw.accuracy ?? raw.Accuracy,
101
- };
102
- }
103
- function decodeTrip(raw) {
104
- const start = decodeGPSPosition(raw?.startGPS ?? raw?.StartGPS);
105
- const end = decodeGPSPosition(raw?.endGPS ?? raw?.EndGPS);
106
- return {
107
- startGPS: start,
108
- endGPS: end,
109
- distance: asNumber(raw?.distance ?? raw?.Distance) ?? 0,
110
- completed: Boolean(raw?.completed ?? raw?.Completed),
111
- };
112
- }
113
- function decodeStateTrip(raw) {
114
- if (!raw)
115
- return null;
116
- const start = decodeGPSPosition(raw?.startGPS ?? raw?.StartGPS);
117
- const end = decodeGPSPosition(raw?.endGPS ?? raw?.EndGPS);
118
- return {
119
- id: raw.id ?? raw.Id ?? '',
120
- startGPS: start,
121
- endGPS: end,
122
- distance: asNumber(raw?.distance ?? raw?.Distance) ?? 0,
123
- version: raw?.version ?? raw?.Version,
124
- completed: Boolean(raw?.completed ?? raw?.Completed),
125
- deleted: Boolean(raw?.deleted ?? raw?.Deleted),
126
- };
127
- }
128
- function decodeStates(record) {
129
- const bins = record.bins;
130
- const stamp = asNumber(bins.stamp) ?? 0;
131
- const idValue = bins.id;
132
- const id = typeof idValue === 'string' ? idValue : idValue != null ? String(idValue) : '';
133
- const boolProperties = {};
134
- const intProperties = {};
135
- const floatProperties = {};
136
- const stringProperties = {};
137
- const longProperties = {};
138
- const enumProperties = {};
139
- for (const [key, value] of Object.entries(bins)) {
140
- if (key === 'id' || key === 'stamp')
141
- continue;
142
- if (!/^\d+$/.test(key))
143
- continue;
144
- const field = Number(key);
145
- if (typeof value === 'boolean') {
146
- boolProperties[field] = value;
147
- continue;
148
- }
149
- if (typeof value === 'string') {
150
- stringProperties[field] = value;
151
- continue;
152
- }
153
- const num = asNumber(value);
154
- if (num == null)
155
- continue;
156
- if (!Number.isInteger(num)) {
157
- floatProperties[field] = num;
158
- }
159
- else if (Math.abs(num) > 0x7fffffff) {
160
- longProperties[field] = num;
161
- }
162
- else {
163
- intProperties[field] = num;
164
- }
165
- // enumProperties are left empty unless a distinct mapping is needed
166
- }
167
- return {
168
- id,
169
- stamp,
170
- boolProperties: Object.keys(boolProperties).length ? boolProperties : undefined,
171
- intProperties: Object.keys(intProperties).length ? intProperties : undefined,
172
- floatProperties: Object.keys(floatProperties).length ? floatProperties : undefined,
173
- stringProperties: Object.keys(stringProperties).length ? stringProperties : undefined,
174
- longProperties: Object.keys(longProperties).length ? longProperties : undefined,
175
- enumProperties: Object.keys(enumProperties).length ? enumProperties : undefined,
176
- };
177
- }
178
- function decodeStateLink(record) {
179
- const b = record.bins;
180
- return {
181
- receiverId: b.r,
182
- transmitterId: b.t,
183
- stamp: asNumber(b.stamp) ?? 0,
184
- lastUpdated: asNumber(b.l) ?? 0,
185
- rssi: asNumber(b.rs) ?? 0,
186
- version: b.v ? Buffer.from(b.v).toString('hex') : undefined,
187
- closed: Boolean(b.c),
188
- };
189
- }
190
- function decodeClosedLink(record) {
191
- const b = record.bins;
192
- return {
193
- receiverId: b.r,
194
- transmitterId: b.t,
195
- start: asNumber(b.stamp) ?? 0,
196
- end: asNumber(b.v) ?? 0,
197
- };
198
- }
199
- function decodeRSSI(record) {
200
- const b = record.bins;
201
- return {
202
- receiverId: b.r,
203
- transmitterId: b.t,
204
- stamp: asNumber(b.stamp) ?? 0,
205
- value: asNumber(b.v) ?? 0,
206
- };
207
- }
208
- function decodeDeltaRSSI(record) {
209
- const b = record.bins;
210
- return {
211
- receiverId: b.r,
212
- transmitterId: b.t,
213
- stamp: asNumber(b.stamp) ?? 0,
214
- value: asNumber(b.v) ?? 0,
215
- linkStart: asNumber(b.l) ?? 0,
216
- };
217
- }
218
- function decodeContained(record) {
219
- const b = record.bins;
220
- return {
221
- receiverId: b.r,
222
- transmitterId: b.t,
223
- start: asNumber(b.st) ?? 0,
224
- end: asNumber(b.en) ?? 0,
225
- };
226
- }
227
- function decodeGPSRecord(record) {
228
- const b = record.bins;
229
- const gpsRaw = decodeMsgpack(b.v) ?? b.v;
230
- const gps = decodeGPSPosition(gpsRaw);
231
- if (!gps)
232
- return null;
233
- gps.stamp = asNumber(b.stamp) ?? gps.stamp;
234
- return {
235
- id: b.id,
236
- ...gps,
237
- };
238
- }
239
- function decodeTripRecord(record) {
240
- const b = record.bins;
241
- const tripRaw = decodeMsgpack(b.v) ?? b.v;
242
- if (!tripRaw)
243
- return null;
244
- const trip = decodeTrip(tripRaw);
245
- return {
246
- id: b.id,
247
- ...trip,
248
- };
249
- }
250
- function decodeStateTripRecord(record) {
251
- const b = record.bins;
252
- const tripRaw = decodeMsgpack(b.v) ?? b.v;
253
- if (!tripRaw)
254
- return null;
255
- const parsed = decodeStateTrip({ ...tripRaw, id: b.id });
256
- return parsed;
257
- }
258
- function decodeTransmitterPosition(record) {
259
- const b = record.bins;
260
- const raw = decodeMsgpack(b.v) ?? b.v;
261
- if (!raw)
262
- return null;
263
- const gps = decodeGPSPosition(raw.gps ?? raw.GPSPosition ?? raw.gpsPosition);
264
- return {
265
- id: b.id ?? raw.id ?? raw.Id ?? '',
266
- receiverId: raw.receiverId ?? raw.ReceiverId ?? '',
267
- gps: gps ?? { stamp: 0, latitude: 0, longitude: 0 },
268
- };
269
- }
270
- function sortByStampAscending(items) {
271
- return [...items].sort((a, b) => (a.stamp ?? 0) - (b.stamp ?? 0));
272
- }
273
- function haversineMeters(a, b) {
274
- const toRad = (deg) => (deg * Math.PI) / 180;
275
- const R = 6371000;
276
- const dLat = toRad((b.latitude ?? 0) - (a.latitude ?? 0));
277
- const dLon = toRad((b.longitude ?? 0) - (a.longitude ?? 0));
278
- const lat1 = toRad(a.latitude ?? 0);
279
- const lat2 = toRad(b.latitude ?? 0);
280
- const sinDLat = Math.sin(dLat / 2);
281
- const sinDLon = Math.sin(dLon / 2);
282
- const h = sinDLat * sinDLat + Math.cos(lat1) * Math.cos(lat2) * sinDLon * sinDLon;
283
- const c = 2 * Math.atan2(Math.sqrt(h), Math.sqrt(1 - h));
284
- return R * c;
285
- }
286
- export class StatesRepositoryImpl {
287
- constructor(client, namespace) {
288
- this.client = client;
289
- this.namespace = namespace;
290
- }
291
- async getStates(id) {
292
- const where = Aerospike.filter.equal('id', id);
293
- const records = await streamQuery(this.client, this.namespace, 'rpkg_states', where);
294
- const states = records.map(decodeStates);
295
- return sortByStampAscending(states);
296
- }
297
- streamStates(id) {
298
- const where = Aerospike.filter.equal('id', id);
299
- return streamQueryGenerator(this.client, this.namespace, 'rpkg_states', where, (r) => decodeStates(r));
300
- }
301
- }
302
- export class StateLinkRepositoryImpl {
303
- constructor(client, namespace) {
304
- this.client = client;
305
- this.namespace = namespace;
306
- }
307
- async queryByReceiver(receiverId) {
308
- const where = Aerospike.filter.equal('r', receiverId);
309
- const records = await streamQuery(this.client, this.namespace, 'statelink', where);
310
- return records.map(decodeStateLink);
311
- }
312
- async queryByTransmitter(transmitterId) {
313
- const where = Aerospike.filter.equal('t', transmitterId);
314
- const records = await streamQuery(this.client, this.namespace, 'statelink', where);
315
- return records.map(decodeStateLink);
316
- }
317
- async uniqueTransmitters(receiverId) {
318
- const items = await this.queryByReceiver(receiverId);
319
- return Array.from(new Set(items.map((x) => x.transmitterId)));
320
- }
321
- streamByReceiver(receiverId) {
322
- const where = Aerospike.filter.equal('r', receiverId);
323
- return streamQueryGenerator(this.client, this.namespace, 'statelink', where, decodeStateLink);
324
- }
325
- streamByTransmitter(transmitterId) {
326
- const where = Aerospike.filter.equal('t', transmitterId);
327
- return streamQueryGenerator(this.client, this.namespace, 'statelink', where, decodeStateLink);
328
- }
329
- }
330
- export class ClosedLinkRepositoryImpl {
331
- constructor(client, namespace) {
332
- this.client = client;
333
- this.namespace = namespace;
334
- }
335
- async queryByKey(receiverTransmitter) {
336
- const where = Aerospike.filter.equal('rt', receiverTransmitter);
337
- const records = await streamQuery(this.client, this.namespace, 'lp_closed', where);
338
- return records.map(decodeClosedLink);
339
- }
340
- async queryByReceiver(receiverId) {
341
- const where = Aerospike.filter.equal('r', receiverId);
342
- const records = await streamQuery(this.client, this.namespace, 'lp_closed', where);
343
- return records.map(decodeClosedLink);
344
- }
345
- async queryByTransmitter(transmitterId) {
346
- const where = Aerospike.filter.equal('t', transmitterId);
347
- const records = await streamQuery(this.client, this.namespace, 'lp_closed', where);
348
- return records.map(decodeClosedLink);
349
- }
350
- async countByReceiver(receiverId) {
351
- const items = await this.queryByReceiver(receiverId);
352
- return items.length;
353
- }
354
- async countByTransmitter(transmitterId) {
355
- const items = await this.queryByTransmitter(transmitterId);
356
- return items.length;
357
- }
358
- async uniqueTransmitters(receiverId) {
359
- const items = await this.queryByReceiver(receiverId);
360
- return Array.from(new Set(items.map((x) => x.transmitterId)));
361
- }
362
- streamByKey(receiverTransmitter) {
363
- const where = Aerospike.filter.equal('rt', receiverTransmitter);
364
- return streamQueryGenerator(this.client, this.namespace, 'lp_closed', where, decodeClosedLink);
365
- }
366
- streamByReceiver(receiverId) {
367
- const where = Aerospike.filter.equal('r', receiverId);
368
- return streamQueryGenerator(this.client, this.namespace, 'lp_closed', where, decodeClosedLink);
369
- }
370
- streamByTransmitter(transmitterId) {
371
- const where = Aerospike.filter.equal('t', transmitterId);
372
- return streamQueryGenerator(this.client, this.namespace, 'lp_closed', where, decodeClosedLink);
373
- }
374
- }
375
- export class RSSIRepositoryImpl {
376
- constructor(client, namespace) {
377
- this.client = client;
378
- this.namespace = namespace;
379
- }
380
- async queryByKey(receiverTransmitter) {
381
- const where = Aerospike.filter.equal('rt', receiverTransmitter);
382
- const records = await streamQuery(this.client, this.namespace, 'rpkg_rssi', where);
383
- return sortByStampAscending(records.map(decodeRSSI));
384
- }
385
- async queryByTransmitter(transmitterId) {
386
- const where = Aerospike.filter.equal('t', transmitterId);
387
- const records = await streamQuery(this.client, this.namespace, 'rpkg_rssi', where);
388
- return sortByStampAscending(records.map(decodeRSSI));
389
- }
390
- async queryAll() {
391
- const records = await streamQuery(this.client, this.namespace, 'rpkg_rssi');
392
- return sortByStampAscending(records.map(decodeRSSI));
393
- }
394
- streamByKey(receiverTransmitter) {
395
- const where = Aerospike.filter.equal('rt', receiverTransmitter);
396
- return streamQueryGenerator(this.client, this.namespace, 'rpkg_rssi', where, decodeRSSI);
397
- }
398
- streamByTransmitter(transmitterId) {
399
- const where = Aerospike.filter.equal('t', transmitterId);
400
- return streamQueryGenerator(this.client, this.namespace, 'rpkg_rssi', where, decodeRSSI);
401
- }
402
- streamAll() {
403
- return streamQueryGenerator(this.client, this.namespace, 'rpkg_rssi', undefined, decodeRSSI);
404
- }
405
- }
406
- export class DeltaRSSIRepositoryImpl {
407
- constructor(client, namespace) {
408
- this.client = client;
409
- this.namespace = namespace;
410
- }
411
- async queryByKey(receiverTransmitter) {
412
- const where = Aerospike.filter.equal('rt', receiverTransmitter);
413
- const records = await streamQuery(this.client, this.namespace, 'delta_rssi', where);
414
- return sortByStampAscending(records.map(decodeDeltaRSSI));
415
- }
416
- async queryByLink(receiverTransmitter, linkStart) {
417
- const lrt = `${receiverTransmitter}@${linkStart}`;
418
- const where = Aerospike.filter.equal('lrt', lrt);
419
- const records = await streamQuery(this.client, this.namespace, 'delta_rssi', where);
420
- return sortByStampAscending(records.map(decodeDeltaRSSI));
421
- }
422
- streamByKey(receiverTransmitter) {
423
- const where = Aerospike.filter.equal('rt', receiverTransmitter);
424
- return streamQueryGenerator(this.client, this.namespace, 'delta_rssi', where, decodeDeltaRSSI);
425
- }
426
- streamByLink(receiverTransmitter, linkStart) {
427
- const lrt = `${receiverTransmitter}@${linkStart}`;
428
- const where = Aerospike.filter.equal('lrt', lrt);
429
- return streamQueryGenerator(this.client, this.namespace, 'delta_rssi', where, decodeDeltaRSSI);
430
- }
431
- }
432
- export class GPSRepositoryImpl {
433
- constructor(client, namespace) {
434
- this.client = client;
435
- this.namespace = namespace;
436
- }
437
- async queryById(id) {
438
- const where = Aerospike.filter.equal('id', id);
439
- const records = await streamQuery(this.client, this.namespace, 'rpkg_gps', where);
440
- const decoded = records
441
- .map(decodeGPSRecord)
442
- .filter((x) => x !== null);
443
- return sortByStampAscending(decoded);
444
- }
445
- async queryWithSpeed(id) {
446
- const positions = await this.queryById(id);
447
- const result = [];
448
- for (let i = 0; i < positions.length - 1; i++) {
449
- const a = positions[i];
450
- const b = positions[i + 1];
451
- const dist = haversineMeters(a, b);
452
- const dt = Math.max(1, (b.stamp ?? 0) - (a.stamp ?? 0));
453
- const speed = dist / dt;
454
- result.push({ position: a, speed, dist, dt });
455
- }
456
- return result;
457
- }
458
- streamById(id) {
459
- const where = Aerospike.filter.equal('id', id);
460
- return streamQueryGenerator(this.client, this.namespace, 'rpkg_gps', where, (rec) => decodeGPSRecord(rec));
461
- }
462
- }
463
- export class TripRepositoryImpl {
464
- constructor(client, namespace) {
465
- this.client = client;
466
- this.namespace = namespace;
467
- }
468
- async queryById(id) {
469
- const where = Aerospike.filter.equal('id', id);
470
- const records = await streamQuery(this.client, this.namespace, 'trips', where);
471
- const trips = records
472
- .map(decodeTripRecord)
473
- .filter((x) => x !== null);
474
- return trips.sort((a, b) => (a.startGPS?.stamp ?? 0) - (b.startGPS?.stamp ?? 0));
475
- }
476
- streamById(id) {
477
- const where = Aerospike.filter.equal('id', id);
478
- return streamQueryGenerator(this.client, this.namespace, 'trips', where, (rec) => decodeTripRecord(rec));
479
- }
480
- }
481
- export class StateTripRepositoryImpl {
482
- constructor(client, namespace) {
483
- this.client = client;
484
- this.namespace = namespace;
485
- }
486
- async queryById(id) {
487
- try {
488
- const key = toKey(this.namespace, 'statetrip', id);
489
- const record = await this.client.get(key);
490
- return decodeStateTripRecord(record) ?? null;
491
- }
492
- catch (err) {
493
- if (err && err.code === Aerospike.status.ERR_RECORD_NOT_FOUND)
494
- return null;
495
- throw err;
496
- }
497
- }
498
- }
499
- export class ContainedRepositoryImpl {
500
- constructor(client, namespace) {
501
- this.client = client;
502
- this.namespace = namespace;
503
- }
504
- async queryByKey(receiverTransmitter) {
505
- const where = Aerospike.filter.equal('rt', receiverTransmitter);
506
- const records = await streamQuery(this.client, this.namespace, 'contained', where);
507
- return records.map(decodeContained);
508
- }
509
- async queryByTransmitter(transmitterId) {
510
- const where = Aerospike.filter.equal('t', transmitterId);
511
- const records = await streamQuery(this.client, this.namespace, 'contained', where);
512
- return records.map(decodeContained);
513
- }
514
- async queryByReceiver(receiverId) {
515
- const where = Aerospike.filter.equal('r', receiverId);
516
- const records = await streamQuery(this.client, this.namespace, 'contained', where);
517
- return records.map(decodeContained);
518
- }
519
- streamByKey(receiverTransmitter) {
520
- const where = Aerospike.filter.equal('rt', receiverTransmitter);
521
- return streamQueryGenerator(this.client, this.namespace, 'contained', where, decodeContained);
522
- }
523
- streamByTransmitter(transmitterId) {
524
- const where = Aerospike.filter.equal('t', transmitterId);
525
- return streamQueryGenerator(this.client, this.namespace, 'contained', where, decodeContained);
526
- }
527
- streamByReceiver(receiverId) {
528
- const where = Aerospike.filter.equal('r', receiverId);
529
- return streamQueryGenerator(this.client, this.namespace, 'contained', where, decodeContained);
530
- }
531
- }
532
- export class TransmitterPositionRepositoryImpl {
533
- constructor(client, namespace) {
534
- this.client = client;
535
- this.namespace = namespace;
536
- }
537
- async get(id) {
538
- try {
539
- const key = toKey(this.namespace, 'transmitterpos', id);
540
- const record = await this.client.get(key);
541
- return decodeTransmitterPosition(record);
542
- }
543
- catch (err) {
544
- if (err && err.code === Aerospike.status.ERR_RECORD_NOT_FOUND)
545
- return null;
546
- throw err;
547
- }
548
- }
549
- }
550
- export function createRepositories(opts) {
551
- const { client, namespace } = opts;
552
- return {
553
- states: new StatesRepositoryImpl(client, namespace),
554
- stateLinks: new StateLinkRepositoryImpl(client, namespace),
555
- closedLinks: new ClosedLinkRepositoryImpl(client, namespace),
556
- rssi: new RSSIRepositoryImpl(client, namespace),
557
- deltaRssi: new DeltaRSSIRepositoryImpl(client, namespace),
558
- gps: new GPSRepositoryImpl(client, namespace),
559
- trips: new TripRepositoryImpl(client, namespace),
560
- stateTrips: new StateTripRepositoryImpl(client, namespace),
561
- contained: new ContainedRepositoryImpl(client, namespace),
562
- transmitterPos: new TransmitterPositionRepositoryImpl(client, namespace),
563
- };
564
- }
1
+ export * from './impl';
565
2
  //# sourceMappingURL=impl.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"impl.js","sourceRoot":"","sources":["../../src/aerospike/impl.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"impl.js","sourceRoot":"","sources":["../../src/aerospike/impl.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC"}
@@ -0,0 +1,8 @@
1
+ export type ClosedLink = {
2
+ start: number;
3
+ end: number;
4
+ };
5
+ export type ClosedLinkWithId = ClosedLink & {
6
+ receiverId: string;
7
+ transmitterId: string;
8
+ };
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=closedLink.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"closedLink.js","sourceRoot":"","sources":["../../../src/aerospike/models/closedLink.ts"],"names":[],"mappings":""}
@@ -0,0 +1,8 @@
1
+ export type Contained = {
2
+ start: number;
3
+ end: number;
4
+ };
5
+ export type ContainedWithId = Contained & {
6
+ receiverId: string;
7
+ transmitterId: string;
8
+ };
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=contained.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contained.js","sourceRoot":"","sources":["../../../src/aerospike/models/contained.ts"],"names":[],"mappings":""}
@@ -0,0 +1,9 @@
1
+ export type DeltaRSSI = {
2
+ stamp: number;
3
+ value: number;
4
+ linkStart: number;
5
+ };
6
+ export type DeltaRSSIWithId = DeltaRSSI & {
7
+ receiverId: string;
8
+ transmitterId: string;
9
+ };
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=deltaRssi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deltaRssi.js","sourceRoot":"","sources":["../../../src/aerospike/models/deltaRssi.ts"],"names":[],"mappings":""}