@m4l/gclick-realtime 1.4.0 → 1.5.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.
@@ -40,7 +40,7 @@ export type DeviceCurrentVpts = {
40
40
  vptOWTempX?: VPTMultiple<VPTCurrentOWTempX>;
41
41
  vptModem?: VPTCurrentModem;
42
42
  vptNetwork?: VPTCurrentNetwork;
43
- vptADCPower?: VPTCurrentADCPower;
43
+ vptAdcPower?: VPTCurrentADCPower;
44
44
  };
45
45
  export type DeviceCurrentReportProfileEvents = {
46
46
  reportProfileLastEventDate?: PropertyValueWithTrack<string>;
@@ -88,7 +88,7 @@ export type DeviceSettingsVpts = {
88
88
  vptDoX?: VPTMultiple<VPTSettingsDoX>;
89
89
  vptTracking?: VPTSettingsTracking;
90
90
  vptPwrSave?: VPTSettingsPwrSave;
91
- vptADCPower?: VPTSettingsADCPower;
91
+ vptAdcPower?: VPTSettingsADCPower;
92
92
  };
93
93
  /**
94
94
  * Device settings received from the linked resource configuration.
@@ -1,4 +1,3 @@
1
- import { ADCPowerEnum } from './constants';
2
1
  import { PropertyValue, PropertyValueWithTrack } from './general';
3
2
  export type VPTMultiple<T> = {
4
3
  [key: string]: T;
@@ -58,11 +57,17 @@ export type VPTSettingsAVX = {
58
57
  upperLimit: number;
59
58
  };
60
59
  export type VPTCurrentADCPower = {
61
- mainStatus?: PropertyValue<ADCPowerEnum>;
62
- mainVolt?: PropertyValue<number>;
63
- backupVolt?: PropertyValue<number>;
64
- backupStatus?: PropertyValue<ADCPowerEnum>;
65
- backupChargeLevel?: PropertyValue<number>;
60
+ /**
61
+ * Backend battery status codes are numeric and may exceed the narrower enum
62
+ * values still used by deterministic dummy producers.
63
+ */
64
+ adcPowerMainStatus?: PropertyValueWithTrack<number>;
65
+ adcPowerMainVolt?: PropertyValueWithTrack<number>;
66
+ adcPowerMainLevel?: PropertyValueWithTrack<number>;
67
+ adcPowerBackupVolt?: PropertyValueWithTrack<number>;
68
+ adcPowerBackupStatus?: PropertyValueWithTrack<number>;
69
+ adcPowerBackupLevel?: PropertyValueWithTrack<number>;
70
+ adcPowerSrcMainBatteryType?: PropertyValueWithTrack<number>;
66
71
  };
67
72
  export type VPTCurrentModem = {
68
73
  modemCsq?: PropertyValue<number>;
@@ -1 +1 @@
1
- {"version":3,"file":"vpts.d.ts","sourceRoot":"","sources":["../../../../../packages/gclick-realtime/src/contracts/vpts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vpts.d.ts","sourceRoot":"","sources":["../../../../../packages/gclick-realtime/src/contracts/vpts.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"baseDeviceTemplate.d.ts","sourceRoot":"","sources":["../../../../../../packages/gclick-realtime/src/dummy/catalogs/baseDeviceTemplate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAU5D;;GAEG;AACH,eAAO,MAAM,+BAA+B,sCAAkB,CAAC;AAE/D;;GAEG;AACH,eAAO,MAAM,oCAAoC,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAsJ3E,CAAC"}
1
+ {"version":3,"file":"baseDeviceTemplate.d.ts","sourceRoot":"","sources":["../../../../../../packages/gclick-realtime/src/dummy/catalogs/baseDeviceTemplate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAU5D;;GAEG;AACH,eAAO,MAAM,+BAA+B,sCAAkB,CAAC;AAE/D;;GAEG;AACH,eAAO,MAAM,oCAAoC,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAoL3E,CAAC"}
@@ -1,5 +1,5 @@
1
- import { ADCPowerEnum as a, GNSSEnumSignal as n, GNSSEnumMotionStatus as i } from "../../contracts/constants.js";
2
- const e = "2026-04-21T12:00:00.000Z", t = "i_common_devices_type_light_truck", o = t, d = {
1
+ import { ADCPowerEnum as a, GNSSEnumSignal as d, GNSSEnumMotionStatus as n } from "../../contracts/constants.js";
2
+ const e = "2026-04-21T12:00:00.000Z", t = "i_common_devices_type_light_truck", o = t, u = {
3
3
  alias: "Simulation device",
4
4
  deviceIcon: {
5
5
  iconId: o
@@ -60,10 +60,10 @@ const e = "2026-04-21T12:00:00.000Z", t = "i_common_devices_type_light_truck", o
60
60
  gnssHdop: 0.8,
61
61
  gnssLatitude: 0,
62
62
  gnssLongitude: 0,
63
- gnssMotionStatus: { value: i.stopped, updatedAt: e },
63
+ gnssMotionStatus: { value: n.stopped, updatedAt: e },
64
64
  gnssOdometer: 0,
65
65
  gnssSatellitesInUse: 14,
66
- gnssSignal: { value: n.reliable, updatedAt: e },
66
+ gnssSignal: { value: d.reliable, updatedAt: e },
67
67
  gnssSpeed: 0,
68
68
  pois: []
69
69
  },
@@ -81,12 +81,42 @@ const e = "2026-04-21T12:00:00.000Z", t = "i_common_devices_type_light_truck", o
81
81
  networkPort: { value: 20001, updatedAt: e },
82
82
  networkPortType: { value: "udp", updatedAt: e }
83
83
  },
84
- vptADCPower: {
85
- backupChargeLevel: 92,
86
- backupStatus: a.ok,
87
- backupVolt: 26.4,
88
- mainStatus: a.ok,
89
- mainVolt: 13.4
84
+ vptAdcPower: {
85
+ adcPowerBackupLevel: {
86
+ state: "current",
87
+ updatedAt: e,
88
+ value: 92
89
+ },
90
+ adcPowerBackupStatus: {
91
+ state: "current",
92
+ updatedAt: e,
93
+ value: a.ok
94
+ },
95
+ adcPowerBackupVolt: {
96
+ state: "current",
97
+ updatedAt: e,
98
+ value: 4.2
99
+ },
100
+ adcPowerMainLevel: {
101
+ state: "current",
102
+ updatedAt: e,
103
+ value: 84
104
+ },
105
+ adcPowerMainStatus: {
106
+ state: "current",
107
+ updatedAt: e,
108
+ value: a.ok
109
+ },
110
+ adcPowerMainVolt: {
111
+ state: "current",
112
+ updatedAt: e,
113
+ value: 13.4
114
+ },
115
+ adcPowerSrcMainBatteryType: {
116
+ state: "current",
117
+ updatedAt: e,
118
+ value: 0
119
+ }
90
120
  }
91
121
  }
92
122
  },
@@ -151,6 +181,6 @@ const e = "2026-04-21T12:00:00.000Z", t = "i_common_devices_type_light_truck", o
151
181
  }
152
182
  };
153
183
  export {
154
- d as REAL_TIME_DUMMY_BASE_DEVICE_TEMPLATE,
184
+ u as REAL_TIME_DUMMY_BASE_DEVICE_TEMPLATE,
155
185
  o as REAL_TIME_DUMMY_DEFAULT_ICON_ID
156
186
  };
@@ -1 +1 @@
1
- {"version":3,"file":"dummy.d.ts","sourceRoot":"","sources":["../../../../../../packages/gclick-realtime/src/dummy/runtime/dummy.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAoevD;;GAEG;AACH,qBAAa,eAAgB,SAAQ,cAAc;IACjD,OAAO,CAAC,kBAAkB,CAAuD;IAEjF,OAAO,CAAC,gBAAgB,CAAS;IAEjC,OAAO,CAAC,eAAe,CAAqC;IAE5D;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAQ7B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAU9B;;OAEG;IACH,OAAO,CAAC,yBAAyB;IA+BjC;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAkC7B;;OAEG;IACH,OAAO,CAAC,aAAa;IASrB;;OAEG;IACH,OAAO,CAAC,cAAc;IAsBtB;;OAEG;IACH,KAAK,IAAI,IAAI;IAiDb;;OAEG;IACH,IAAI,IAAI,IAAI;CASb;AAED,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"dummy.d.ts","sourceRoot":"","sources":["../../../../../../packages/gclick-realtime/src/dummy/runtime/dummy.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAihBvD;;GAEG;AACH,qBAAa,eAAgB,SAAQ,cAAc;IACjD,OAAO,CAAC,kBAAkB,CAAuD;IAEjF,OAAO,CAAC,gBAAgB,CAAS;IAEjC,OAAO,CAAC,eAAe,CAAqC;IAE5D;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAQ7B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAU9B;;OAEG;IACH,OAAO,CAAC,yBAAyB;IA+BjC;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAkC7B;;OAEG;IACH,OAAO,CAAC,aAAa;IASrB;;OAEG;IACH,OAAO,CAAC,cAAc;IAsBtB;;OAEG;IACH,KAAK,IAAI,IAAI;IAiDb;;OAEG;IACH,IAAI,IAAI,IAAI;CASb;AAED,eAAe,eAAe,CAAC"}
@@ -1,11 +1,19 @@
1
- import { SourceDataBase as P } from "@m4l/realtime-runtime";
1
+ import { SourceDataBase as E } from "@m4l/realtime-runtime";
2
2
  import { buildRealTimeDummyRuntimeModel as k } from "./simulation.js";
3
- import E from "../../node_modules/lodash-es/cloneDeep.js";
3
+ import _ from "../../node_modules/lodash-es/cloneDeep.js";
4
4
  const m = [
5
5
  "gnssCourse",
6
6
  "gnssLatitude",
7
7
  "gnssLongitude",
8
8
  "gnssSpeed"
9
+ ], g = [
10
+ "adcPowerBackupLevel",
11
+ "adcPowerBackupStatus",
12
+ "adcPowerBackupVolt",
13
+ "adcPowerMainLevel",
14
+ "adcPowerMainStatus",
15
+ "adcPowerMainVolt",
16
+ "adcPowerSrcMainBatteryType"
9
17
  ];
10
18
  let c = null;
11
19
  function b() {
@@ -22,7 +30,7 @@ function b() {
22
30
  }
23
31
  }), e.__M4L_TEST_DUMMY_PLAYBACK_DRIVER__;
24
32
  }
25
- function f(e) {
33
+ function y(e) {
26
34
  c = e, b();
27
35
  }
28
36
  function o(e, t) {
@@ -31,32 +39,41 @@ function o(e, t) {
31
39
  value: e
32
40
  };
33
41
  }
34
- function g(e) {
42
+ function D(e) {
35
43
  return new Date(e).toISOString();
36
44
  }
37
- function h(e) {
45
+ function d(e) {
38
46
  return typeof e == "object" && e !== null && "value" in e;
39
47
  }
40
48
  function I(e, t) {
41
49
  return {
50
+ adcPowerByKey: Object.fromEntries(
51
+ g.flatMap((s) => {
52
+ const a = e.current.vpts?.vptAdcPower?.[s];
53
+ return d(a) ? [[
54
+ s,
55
+ o(a.value, t)
56
+ ]] : [];
57
+ })
58
+ ),
42
59
  diXByKey: Object.fromEntries(
43
- Object.entries(e.current.vpts?.vptDiX ?? {}).map(([s, i]) => [
60
+ Object.entries(e.current.vpts?.vptDiX ?? {}).map(([s, a]) => [
44
61
  s,
45
- o(i.diXValue?.value, t)
62
+ o(a.diXValue?.value, t)
46
63
  ])
47
64
  ),
48
65
  doXByKey: Object.fromEntries(
49
- Object.entries(e.current.vpts?.vptDoX ?? {}).map(([s, i]) => [
66
+ Object.entries(e.current.vpts?.vptDoX ?? {}).map(([s, a]) => [
50
67
  s,
51
- o(i.diXValue?.value, t)
68
+ o(a.diXValue?.value, t)
52
69
  ])
53
70
  ),
54
71
  gnssByKey: Object.fromEntries(
55
72
  m.flatMap((s) => {
56
- const i = e.current.vpts?.vptGnss?.[s];
57
- return h(i) ? [[
73
+ const a = e.current.vpts?.vptGnss?.[s];
74
+ return d(a) ? [[
58
75
  s,
59
- o(i.value, t)
76
+ o(a.value, t)
60
77
  ]] : [];
61
78
  })
62
79
  ),
@@ -75,39 +92,39 @@ function I(e, t) {
75
92
  };
76
93
  }
77
94
  function u(e, t, s) {
78
- return e.value !== t && (e.value = t, e.updatedAtMs = s), g(e.updatedAtMs);
95
+ return e.value !== t && (e.value = t, e.updatedAtMs = s), D(e.updatedAtMs);
79
96
  }
80
- function y(e, t, s) {
81
- const i = g(s);
97
+ function P(e, t, s) {
98
+ const a = D(s);
82
99
  return e.reportProfiles?.generalEvents?.reportProfileLastEventDate && (e.reportProfiles.generalEvents.reportProfileLastEventDate = {
83
100
  ...e.reportProfiles.generalEvents.reportProfileLastEventDate,
84
- updatedAt: i,
85
- value: i
101
+ updatedAt: a,
102
+ value: a
86
103
  }), e.reportProfiles?.generalEvents?.reportProfileLastEventId && (e.reportProfiles.generalEvents.reportProfileLastEventId = {
87
104
  ...e.reportProfiles.generalEvents.reportProfileLastEventId,
88
- updatedAt: i
105
+ updatedAt: a
89
106
  }), e.reportProfiles?.systemEvents?.reportProfileLastEventDate && (e.reportProfiles.systemEvents.reportProfileLastEventDate = {
90
107
  ...e.reportProfiles.systemEvents.reportProfileLastEventDate,
91
- updatedAt: i,
92
- value: i
108
+ updatedAt: a,
109
+ value: a
93
110
  }), e.reportProfiles?.systemEvents?.reportProfileLastEventId && (e.reportProfiles.systemEvents.reportProfileLastEventId = {
94
111
  ...e.reportProfiles.systemEvents.reportProfileLastEventId,
95
- updatedAt: i
112
+ updatedAt: a
96
113
  }), Object.entries(e.vpts?.vptDiX ?? {}).forEach(([r, n]) => {
97
- const a = t.diXByKey[r] ?? o(n.diXValue?.value, s);
98
- t.diXByKey[r] = a, n.diXStatus && (n.diXStatus.updatedAt = u(
99
- a,
114
+ const i = t.diXByKey[r] ?? o(n.diXValue?.value, s);
115
+ t.diXByKey[r] = i, n.diXStatus && (n.diXStatus.updatedAt = u(
116
+ i,
100
117
  n.diXValue?.value,
101
118
  s
102
119
  )), n.diXValue && (n.diXValue.updatedAt = u(
103
- a,
120
+ i,
104
121
  n.diXValue.value,
105
122
  s
106
123
  ));
107
124
  }), Object.entries(e.vpts?.vptDoX ?? {}).forEach(([r, n]) => {
108
- const a = t.doXByKey[r] ?? o(n.diXValue?.value, s);
109
- t.doXByKey[r] = a, n.diXValue && (n.diXValue.updatedAt = u(
110
- a,
125
+ const i = t.doXByKey[r] ?? o(n.diXValue?.value, s);
126
+ t.doXByKey[r] = i, n.diXValue && (n.diXValue.updatedAt = u(
127
+ i,
111
128
  n.diXValue.value,
112
129
  s
113
130
  ));
@@ -123,66 +140,76 @@ function y(e, t, s) {
123
140
  t.ignition,
124
141
  e.vpts.vptIgnition.ignitionValue.value,
125
142
  s
126
- )), m.forEach((r) => {
143
+ )), g.forEach((r) => {
144
+ const n = e.vpts?.vptAdcPower?.[r];
145
+ if (!d(n))
146
+ return;
147
+ const i = t.adcPowerByKey[r] ?? o(n.value, s);
148
+ t.adcPowerByKey[r] = i, n.updatedAt = u(
149
+ i,
150
+ n.value,
151
+ s
152
+ );
153
+ }), m.forEach((r) => {
127
154
  const n = e.vpts?.vptGnss?.[r];
128
- if (!h(n))
155
+ if (!d(n))
129
156
  return;
130
- const a = t.gnssByKey[r] ?? o(n.value, s);
131
- t.gnssByKey[r] = a, n.updatedAt = u(
132
- a,
157
+ const i = t.gnssByKey[r] ?? o(n.value, s);
158
+ t.gnssByKey[r] = i, n.updatedAt = u(
159
+ i,
133
160
  n.value,
134
161
  s
135
162
  );
136
163
  }), e.vpts?.vptNetwork && (e.vpts.vptNetwork.networkLastConnectionDate && (e.vpts.vptNetwork.networkLastConnectionDate = {
137
164
  ...e.vpts.vptNetwork.networkLastConnectionDate,
138
- updatedAt: i,
139
- value: i
165
+ updatedAt: a,
166
+ value: a
140
167
  }), e.vpts.vptNetwork.networkLastEventDate && (e.vpts.vptNetwork.networkLastEventDate = {
141
168
  ...e.vpts.vptNetwork.networkLastEventDate,
142
- updatedAt: i,
143
- value: i
169
+ updatedAt: a,
170
+ value: a
144
171
  })), e;
145
172
  }
146
- function _(e, t, s) {
173
+ function S(e, t, s) {
147
174
  if (e.type === "delete")
148
175
  return e;
149
176
  if (e.type === "new") {
150
- const i = e.payload;
151
- return y(i.current, t, s), e;
177
+ const a = e.payload;
178
+ return P(a.current, t, s), e;
152
179
  }
153
- return y(
180
+ return P(
154
181
  e.payload.current,
155
182
  t,
156
183
  s
157
184
  ), e;
158
185
  }
159
- function d(e, t) {
186
+ function v(e, t) {
160
187
  return e.initialHashResources?.[t.resourceSerialId] ? t.initialMessageIndex : 0;
161
188
  }
162
- function S(e, t) {
189
+ function R(e, t) {
163
190
  return e.emissionOffsetMs <= 0 ? t : e.emissionOffsetMs;
164
191
  }
165
- function R(e, t, s, i, r) {
192
+ function M(e, t, s, a, r) {
166
193
  const n = [];
167
- let a = s.get(t.resourceSerialId) ?? d(e, t);
168
- for (let l = 0; l < i; l += 1) {
169
- if (a >= t.messages.length) {
194
+ let i = s.get(t.resourceSerialId) ?? v(e, t);
195
+ for (let l = 0; l < a; l += 1) {
196
+ if (i >= t.messages.length) {
170
197
  if (!r)
171
198
  break;
172
- a = 0;
199
+ i = 0;
173
200
  }
174
- const p = t.messages[a];
201
+ const p = t.messages[i];
175
202
  if (!p)
176
203
  break;
177
- n.push(E(p)), a += 1;
204
+ n.push(_(p)), i += 1;
178
205
  }
179
- return s.set(t.resourceSerialId, a), n;
206
+ return s.set(t.resourceSerialId, i), n;
180
207
  }
181
208
  function T(e, t) {
182
209
  return e.every((s) => (t.get(s.resourceSerialId) ?? 0) >= s.messages.length);
183
210
  }
184
- function M(e, t, s, i, r, n, a) {
185
- const l = Date.now(), p = R(
211
+ function L(e, t, s, a, r, n, i) {
212
+ const l = Date.now(), p = M(
186
213
  e,
187
214
  t,
188
215
  s,
@@ -190,18 +217,18 @@ function M(e, t, s, i, r, n, a) {
190
217
  n
191
218
  );
192
219
  if (p.length) {
193
- const v = i.get(t.resourceSerialId);
194
- a(
220
+ const f = a.get(t.resourceSerialId);
221
+ i(
195
222
  e.resourceTypeId,
196
- v ? p.map((D) => _(
197
- D,
198
- v,
223
+ f ? p.map((h) => S(
224
+ h,
225
+ f,
199
226
  l
200
227
  )) : p
201
228
  );
202
229
  }
203
230
  }
204
- class x extends P {
231
+ class K extends E {
205
232
  deviceSchedulerIds = /* @__PURE__ */ new Map();
206
233
  isPlaybackPaused = !1;
207
234
  playbackRuntime = null;
@@ -223,11 +250,11 @@ class x extends P {
223
250
  * Schedule the next emission timeout for one runtime device.
224
251
  */
225
252
  scheduleRuntimeDeviceTick(t, s) {
226
- const i = this.playbackRuntime;
227
- if (!i)
253
+ const a = this.playbackRuntime;
254
+ if (!a)
228
255
  return;
229
- const r = i.nextMessageIndexes.get(t.resourceSerialId) ?? d(i.config, t);
230
- if (!i.runtime.playback.loop && r >= t.messages.length)
256
+ const r = a.nextMessageIndexes.get(t.resourceSerialId) ?? v(a.config, t);
257
+ if (!a.runtime.playback.loop && r >= t.messages.length)
231
258
  return;
232
259
  const n = setTimeout(() => {
233
260
  this.deviceSchedulerIds.delete(t.resourceSerialId), !(this.isPlaybackPaused || !this.playbackRuntime) && this.emitRuntimeDeviceTick(t);
@@ -240,7 +267,7 @@ class x extends P {
240
267
  emitRuntimeDeviceTick(t) {
241
268
  const s = this.playbackRuntime;
242
269
  if (s) {
243
- if (M(
270
+ if (L(
244
271
  s.config,
245
272
  t,
246
273
  s.nextMessageIndexes,
@@ -274,13 +301,13 @@ class x extends P {
274
301
  if (!this.playbackRuntime || !this.isPlaybackPaused)
275
302
  return;
276
303
  const { flushImmediately: s = !0 } = t ?? {};
277
- this.isPlaybackPaused = !1, this.clearDeviceSchedulers(), this.playbackRuntime.runtime.devices.forEach((i) => {
304
+ this.isPlaybackPaused = !1, this.clearDeviceSchedulers(), this.playbackRuntime.runtime.devices.forEach((a) => {
278
305
  if (s) {
279
- this.emitRuntimeDeviceTick(i);
306
+ this.emitRuntimeDeviceTick(a);
280
307
  return;
281
308
  }
282
309
  this.scheduleRuntimeDeviceTick(
283
- i,
310
+ a,
284
311
  this.playbackRuntime?.runtime.playback.intervalMs ?? 0
285
312
  );
286
313
  });
@@ -290,16 +317,16 @@ class x extends P {
290
317
  */
291
318
  start() {
292
319
  this.stop();
293
- const t = this.config, s = t.wallClockStartAtMs ?? Date.now(), i = k(t.simulation, {
320
+ const t = this.config, s = t.wallClockStartAtMs ?? Date.now(), a = k(t.simulation, {
294
321
  resourceTypeId: t.resourceTypeId,
295
322
  wallClockStartAtMs: s
296
323
  }), r = new Map(
297
- i.devices.map((a) => [a.resourceSerialId, d(t, a)])
324
+ a.devices.map((i) => [i.resourceSerialId, v(t, i)])
298
325
  ), n = new Map(
299
- i.devices.map((a) => {
300
- const l = t.initialHashResources?.[a.resourceSerialId] ?? a.initialResource;
326
+ a.devices.map((i) => {
327
+ const l = t.initialHashResources?.[i.resourceSerialId] ?? i.initialResource;
301
328
  return [
302
- a.resourceSerialId,
329
+ i.resourceSerialId,
303
330
  I(l, s)
304
331
  ];
305
332
  })
@@ -307,29 +334,29 @@ class x extends P {
307
334
  this.isPlaybackPaused = !1, this.playbackRuntime = {
308
335
  config: t,
309
336
  nextMessageIndexes: r,
310
- runtime: i,
337
+ runtime: a,
311
338
  timestampStates: n
312
- }, f({
339
+ }, y({
313
340
  getState: () => this.getPlaybackDriverState(),
314
341
  pause: () => {
315
342
  this.pausePlayback();
316
343
  },
317
- resume: (a) => {
318
- this.resumePlayback(a);
344
+ resume: (i) => {
345
+ this.resumePlayback(i);
319
346
  }
320
- }), i.devices.forEach((a) => {
321
- const l = S(a, i.playback.intervalMs);
322
- this.scheduleRuntimeDeviceTick(a, l);
347
+ }), a.devices.forEach((i) => {
348
+ const l = R(i, a.playback.intervalMs);
349
+ this.scheduleRuntimeDeviceTick(i, l);
323
350
  });
324
351
  }
325
352
  /**
326
353
  * Stop the deterministic dummy playback loop.
327
354
  */
328
355
  stop() {
329
- this.clearDeviceSchedulers(), this.isPlaybackPaused = !1, this.playbackRuntime = null, c?.getState() !== "stopped" && f(null);
356
+ this.clearDeviceSchedulers(), this.isPlaybackPaused = !1, this.playbackRuntime = null, c?.getState() !== "stopped" && y(null);
330
357
  }
331
358
  }
332
359
  export {
333
- x as SourceDataDummy,
334
- x as default
360
+ K as SourceDataDummy,
361
+ K as default
335
362
  };
@@ -1 +1 @@
1
- {"version":3,"file":"simulation.d.ts","sourceRoot":"","sources":["../../../../../../packages/gclick-realtime/src/dummy/runtime/simulation.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,eAAe,EACf,wBAAwB,EACxB,sBAAsB,EACvB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,KAAK,EAAiB,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAM3E,OAAO,KAAK,EAUV,6BAA6B,EAC7B,+BAA+B,EAC/B,0CAA0C,EAC3C,MAAM,iBAAiB,CAAC;AAkCzB,UAAU,gCAAgC;IACxC,cAAc,CAAC,EAAE,sBAAsB,CAAC;IACxC,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AA6FD,UAAU,4CAA4C;IACpD,cAAc,EAAE,sBAAsB,CAAC;IACvC,UAAU,CAAC,EAAE,6BAA6B,CAAC;CAC5C;AAED,UAAU,sDAAsD;IAC9D,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,sBAAsB,CAAC;IACvC,mBAAmB,CAAC,EAAE,6BAA6B,CAAC;CACrD;AAED,MAAM,WAAW,0BAA0B;IACzC,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,EAAE,cAAc,CAAC;IAChC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,QAAQ,EAAE,eAAe,EAAE,CAAC;IAC5B,gBAAgB,EAAE,wBAAwB,CAAC;CAC5C;AAED,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,0BAA0B,EAAE,CAAC;IACtC,QAAQ,EAAE,QAAQ,CAAC,+BAA+B,CAAC,CAAC;CACrD;AA2xDD;;GAEG;AACH,wBAAgB,8BAA8B,CAC5C,UAAU,CAAC,EAAE,6BAA6B,EAC1C,OAAO,CAAC,EAAE,gCAAgC,GACzC,yBAAyB,CAqC3B;AAED;;GAEG;AACH,wBAAgB,mCAAmC,CACjD,UAAU,CAAC,EAAE,6BAA6B,EAC1C,OAAO,CAAC,EAAE,gCAAgC,kCAgB3C;AAED;;GAEG;AACH,wBAAgB,qCAAqC,CAAC,EACpD,cAAc,EACd,UAAU,GACX,EAAE,4CAA4C,GAAG,0CAA0C,CAY3F;AAED;;GAEG;AACH,wBAAgB,+CAA+C,CAAC,EAC9D,QAAQ,EACR,cAAc,EACd,mBAAmB,GACpB,EAAE,sDAAsD,GAAG,0CAA0C,CAQrG"}
1
+ {"version":3,"file":"simulation.d.ts","sourceRoot":"","sources":["../../../../../../packages/gclick-realtime/src/dummy/runtime/simulation.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,eAAe,EACf,wBAAwB,EACxB,sBAAsB,EACvB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,KAAK,EAAiB,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAM3E,OAAO,KAAK,EAUV,6BAA6B,EAC7B,+BAA+B,EAC/B,0CAA0C,EAC3C,MAAM,iBAAiB,CAAC;AA2CzB,UAAU,gCAAgC;IACxC,cAAc,CAAC,EAAE,sBAAsB,CAAC;IACxC,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAoGD,UAAU,4CAA4C;IACpD,cAAc,EAAE,sBAAsB,CAAC;IACvC,UAAU,CAAC,EAAE,6BAA6B,CAAC;CAC5C;AAED,UAAU,sDAAsD;IAC9D,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,sBAAsB,CAAC;IACvC,mBAAmB,CAAC,EAAE,6BAA6B,CAAC;CACrD;AAED,MAAM,WAAW,0BAA0B;IACzC,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,EAAE,cAAc,CAAC;IAChC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,QAAQ,EAAE,eAAe,EAAE,CAAC;IAC5B,gBAAgB,EAAE,wBAAwB,CAAC;CAC5C;AAED,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,0BAA0B,EAAE,CAAC;IACtC,QAAQ,EAAE,QAAQ,CAAC,+BAA+B,CAAC,CAAC;CACrD;AA83DD;;GAEG;AACH,wBAAgB,8BAA8B,CAC5C,UAAU,CAAC,EAAE,6BAA6B,EAC1C,OAAO,CAAC,EAAE,gCAAgC,GACzC,yBAAyB,CAqC3B;AAED;;GAEG;AACH,wBAAgB,mCAAmC,CACjD,UAAU,CAAC,EAAE,6BAA6B,EAC1C,OAAO,CAAC,EAAE,gCAAgC,kCAgB3C;AAED;;GAEG;AACH,wBAAgB,qCAAqC,CAAC,EACpD,cAAc,EACd,UAAU,GACX,EAAE,4CAA4C,GAAG,0CAA0C,CAY3F;AAED;;GAEG;AACH,wBAAgB,+CAA+C,CAAC,EAC9D,QAAQ,EACR,cAAc,EACd,mBAAmB,GACpB,EAAE,sDAAsD,GAAG,0CAA0C,CAQrG"}