@glandais/vcyclist-engine 1.2.1 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,656 @@
1
+ (function (factory) {
2
+ if (typeof define === 'function' && define.amd)
3
+ define(['exports', '@garmin/fitsdk', './kotlin-kotlin-stdlib.js', './vcyclist-elevation.js'], factory);
4
+ else if (typeof exports === 'object')
5
+ factory(module.exports, require('@garmin/fitsdk'), require('./kotlin-kotlin-stdlib.js'), require('./vcyclist-elevation.js'));
6
+ else {
7
+ if (typeof FitSdk === 'undefined') {
8
+ throw new Error("Error loading module 'vcyclist-fit'. Its dependency '@garmin/fitsdk' was not found. Please, check whether '@garmin/fitsdk' is loaded prior to 'vcyclist-fit'.");
9
+ }
10
+ if (typeof globalThis['kotlin-kotlin-stdlib'] === 'undefined') {
11
+ throw new Error("Error loading module 'vcyclist-fit'. Its dependency 'kotlin-kotlin-stdlib' was not found. Please, check whether 'kotlin-kotlin-stdlib' is loaded prior to 'vcyclist-fit'.");
12
+ }
13
+ if (typeof globalThis['vcyclist-elevation'] === 'undefined') {
14
+ throw new Error("Error loading module 'vcyclist-fit'. Its dependency 'vcyclist-elevation' was not found. Please, check whether 'vcyclist-elevation' is loaded prior to 'vcyclist-fit'.");
15
+ }
16
+ globalThis['vcyclist-fit'] = factory(typeof globalThis['vcyclist-fit'] === 'undefined' ? {} : globalThis['vcyclist-fit'], FitSdk, globalThis['kotlin-kotlin-stdlib'], globalThis['vcyclist-elevation']);
17
+ }
18
+ }(function (_, FitSdk, kotlin_kotlin, kotlin_io_github_glandais_elevation) {
19
+ 'use strict';
20
+ //region block: imports
21
+ var imul = Math.imul;
22
+ var Unit_instance = kotlin_kotlin.$_$.t;
23
+ var Enum = kotlin_kotlin.$_$.x7;
24
+ var protoOf = kotlin_kotlin.$_$.y5;
25
+ var initMetadataForClass = kotlin_kotlin.$_$.j5;
26
+ var VOID = kotlin_kotlin.$_$.a;
27
+ var toString = kotlin_kotlin.$_$.a6;
28
+ var IllegalArgumentException_init_$Create$ = kotlin_kotlin.$_$.m1;
29
+ var getStringHashCode = kotlin_kotlin.$_$.h5;
30
+ var hashCode = kotlin_kotlin.$_$.i5;
31
+ var equals = kotlin_kotlin.$_$.d5;
32
+ var getNumberHashCode = kotlin_kotlin.$_$.f5;
33
+ var Long = kotlin_kotlin.$_$.b8;
34
+ var roundToInt = kotlin_kotlin.$_$.b6;
35
+ var initMetadataForObject = kotlin_kotlin.$_$.p5;
36
+ var ArrayList_init_$Create$ = kotlin_kotlin.$_$.w;
37
+ var Companion_getInstance = kotlin_kotlin.$_$.q;
38
+ var numberToLong = kotlin_kotlin.$_$.q4;
39
+ var DurationUnit_MILLISECONDS_getInstance = kotlin_kotlin.$_$.u;
40
+ var toDuration = kotlin_kotlin.$_$.u7;
41
+ var MathConstants_getInstance = kotlin_io_github_glandais_elevation.$_$.d;
42
+ var isNaN_0 = kotlin_kotlin.$_$.n8;
43
+ var until = kotlin_kotlin.$_$.l6;
44
+ var toNumber = kotlin_kotlin.$_$.s4;
45
+ var first = kotlin_kotlin.$_$.s2;
46
+ var round = kotlin_kotlin.$_$.d6;
47
+ var numberToInt = kotlin_kotlin.$_$.w5;
48
+ var last = kotlin_kotlin.$_$.y2;
49
+ //endregion
50
+ //region block: pre-declaration
51
+ initMetadataForClass(FitSport, 'FitSport', VOID, Enum);
52
+ initMetadataForClass(FitCourse, 'FitCourse');
53
+ initMetadataForClass(FitRecord, 'FitRecord');
54
+ initMetadataForClass(FitLap, 'FitLap');
55
+ initMetadataForObject(FitUnits, 'FitUnits');
56
+ initMetadataForObject(FitEncoder, 'FitEncoder');
57
+ //endregion
58
+ var FitSport_CYCLING_instance;
59
+ var FitSport_RUNNING_instance;
60
+ var FitSport_GENERIC_instance;
61
+ var FitSport_entriesInitialized;
62
+ function FitSport_initEntries() {
63
+ if (FitSport_entriesInitialized)
64
+ return Unit_instance;
65
+ FitSport_entriesInitialized = true;
66
+ FitSport_CYCLING_instance = new FitSport('CYCLING', 0, 2);
67
+ FitSport_RUNNING_instance = new FitSport('RUNNING', 1, 1);
68
+ FitSport_GENERIC_instance = new FitSport('GENERIC', 2, 0);
69
+ }
70
+ function FitSport(name, ordinal, value) {
71
+ Enum.call(this, name, ordinal);
72
+ this.y1w_1 = value;
73
+ }
74
+ function FitCourse(name, startTime, records, lap, sport) {
75
+ sport = sport === VOID ? FitSport_CYCLING_getInstance() : sport;
76
+ this.z1w_1 = name;
77
+ this.a1x_1 = startTime;
78
+ this.b1x_1 = records;
79
+ this.c1x_1 = lap;
80
+ this.d1x_1 = sport;
81
+ // Inline function 'kotlin.collections.isNotEmpty' call
82
+ // Inline function 'kotlin.require' call
83
+ if (!!this.b1x_1.n()) {
84
+ var message = 'A FIT course needs at least one record';
85
+ throw IllegalArgumentException_init_$Create$(toString(message));
86
+ }
87
+ }
88
+ protoOf(FitCourse).toString = function () {
89
+ return 'FitCourse(name=' + this.z1w_1 + ', startTime=' + this.a1x_1.toString() + ', records=' + toString(this.b1x_1) + ', lap=' + this.c1x_1.toString() + ', sport=' + this.d1x_1.toString() + ')';
90
+ };
91
+ protoOf(FitCourse).hashCode = function () {
92
+ var result = getStringHashCode(this.z1w_1);
93
+ result = imul(result, 31) + this.a1x_1.hashCode() | 0;
94
+ result = imul(result, 31) + hashCode(this.b1x_1) | 0;
95
+ result = imul(result, 31) + this.c1x_1.hashCode() | 0;
96
+ result = imul(result, 31) + this.d1x_1.hashCode() | 0;
97
+ return result;
98
+ };
99
+ protoOf(FitCourse).equals = function (other) {
100
+ if (this === other)
101
+ return true;
102
+ if (!(other instanceof FitCourse))
103
+ return false;
104
+ if (!(this.z1w_1 === other.z1w_1))
105
+ return false;
106
+ if (!this.a1x_1.equals(other.a1x_1))
107
+ return false;
108
+ if (!equals(this.b1x_1, other.b1x_1))
109
+ return false;
110
+ if (!this.c1x_1.equals(other.c1x_1))
111
+ return false;
112
+ if (!this.d1x_1.equals(other.d1x_1))
113
+ return false;
114
+ return true;
115
+ };
116
+ function FitRecord(timestamp, latitudeDeg, longitudeDeg, altitudeM, distanceM, speedMs, powerW, heartRate, cadence, temperatureC) {
117
+ altitudeM = altitudeM === VOID ? null : altitudeM;
118
+ speedMs = speedMs === VOID ? null : speedMs;
119
+ powerW = powerW === VOID ? null : powerW;
120
+ heartRate = heartRate === VOID ? null : heartRate;
121
+ cadence = cadence === VOID ? null : cadence;
122
+ temperatureC = temperatureC === VOID ? null : temperatureC;
123
+ this.e1x_1 = timestamp;
124
+ this.f1x_1 = latitudeDeg;
125
+ this.g1x_1 = longitudeDeg;
126
+ this.h1x_1 = altitudeM;
127
+ this.i1x_1 = distanceM;
128
+ this.j1x_1 = speedMs;
129
+ this.k1x_1 = powerW;
130
+ this.l1x_1 = heartRate;
131
+ this.m1x_1 = cadence;
132
+ this.n1x_1 = temperatureC;
133
+ }
134
+ protoOf(FitRecord).toString = function () {
135
+ return 'FitRecord(timestamp=' + this.e1x_1.toString() + ', latitudeDeg=' + this.f1x_1 + ', longitudeDeg=' + this.g1x_1 + ', altitudeM=' + this.h1x_1 + ', distanceM=' + this.i1x_1 + ', speedMs=' + this.j1x_1 + ', powerW=' + this.k1x_1 + ', heartRate=' + this.l1x_1 + ', cadence=' + this.m1x_1 + ', temperatureC=' + this.n1x_1 + ')';
136
+ };
137
+ protoOf(FitRecord).hashCode = function () {
138
+ var result = this.e1x_1.hashCode();
139
+ result = imul(result, 31) + getNumberHashCode(this.f1x_1) | 0;
140
+ result = imul(result, 31) + getNumberHashCode(this.g1x_1) | 0;
141
+ result = imul(result, 31) + (this.h1x_1 == null ? 0 : getNumberHashCode(this.h1x_1)) | 0;
142
+ result = imul(result, 31) + getNumberHashCode(this.i1x_1) | 0;
143
+ result = imul(result, 31) + (this.j1x_1 == null ? 0 : getNumberHashCode(this.j1x_1)) | 0;
144
+ result = imul(result, 31) + (this.k1x_1 == null ? 0 : this.k1x_1) | 0;
145
+ result = imul(result, 31) + (this.l1x_1 == null ? 0 : this.l1x_1) | 0;
146
+ result = imul(result, 31) + (this.m1x_1 == null ? 0 : this.m1x_1) | 0;
147
+ result = imul(result, 31) + (this.n1x_1 == null ? 0 : getNumberHashCode(this.n1x_1)) | 0;
148
+ return result;
149
+ };
150
+ protoOf(FitRecord).equals = function (other) {
151
+ if (this === other)
152
+ return true;
153
+ if (!(other instanceof FitRecord))
154
+ return false;
155
+ if (!this.e1x_1.equals(other.e1x_1))
156
+ return false;
157
+ if (!equals(this.f1x_1, other.f1x_1))
158
+ return false;
159
+ if (!equals(this.g1x_1, other.g1x_1))
160
+ return false;
161
+ if (!equals(this.h1x_1, other.h1x_1))
162
+ return false;
163
+ if (!equals(this.i1x_1, other.i1x_1))
164
+ return false;
165
+ if (!equals(this.j1x_1, other.j1x_1))
166
+ return false;
167
+ if (!(this.k1x_1 == other.k1x_1))
168
+ return false;
169
+ if (!(this.l1x_1 == other.l1x_1))
170
+ return false;
171
+ if (!(this.m1x_1 == other.m1x_1))
172
+ return false;
173
+ if (!equals(this.n1x_1, other.n1x_1))
174
+ return false;
175
+ return true;
176
+ };
177
+ function FitLap(startTime, totalElapsedTimeS, totalTimerTimeS, totalDistanceM, totalAscentM, totalDescentM, maxSpeedMs, minAltitudeM, maxAltitudeM, startLatitudeDeg, startLongitudeDeg, endLatitudeDeg, endLongitudeDeg) {
178
+ maxSpeedMs = maxSpeedMs === VOID ? null : maxSpeedMs;
179
+ minAltitudeM = minAltitudeM === VOID ? null : minAltitudeM;
180
+ maxAltitudeM = maxAltitudeM === VOID ? null : maxAltitudeM;
181
+ startLatitudeDeg = startLatitudeDeg === VOID ? null : startLatitudeDeg;
182
+ startLongitudeDeg = startLongitudeDeg === VOID ? null : startLongitudeDeg;
183
+ endLatitudeDeg = endLatitudeDeg === VOID ? null : endLatitudeDeg;
184
+ endLongitudeDeg = endLongitudeDeg === VOID ? null : endLongitudeDeg;
185
+ this.o1x_1 = startTime;
186
+ this.p1x_1 = totalElapsedTimeS;
187
+ this.q1x_1 = totalTimerTimeS;
188
+ this.r1x_1 = totalDistanceM;
189
+ this.s1x_1 = totalAscentM;
190
+ this.t1x_1 = totalDescentM;
191
+ this.u1x_1 = maxSpeedMs;
192
+ this.v1x_1 = minAltitudeM;
193
+ this.w1x_1 = maxAltitudeM;
194
+ this.x1x_1 = startLatitudeDeg;
195
+ this.y1x_1 = startLongitudeDeg;
196
+ this.z1x_1 = endLatitudeDeg;
197
+ this.a1y_1 = endLongitudeDeg;
198
+ }
199
+ protoOf(FitLap).toString = function () {
200
+ return 'FitLap(startTime=' + this.o1x_1.toString() + ', totalElapsedTimeS=' + this.p1x_1 + ', totalTimerTimeS=' + this.q1x_1 + ', totalDistanceM=' + this.r1x_1 + ', totalAscentM=' + this.s1x_1 + ', totalDescentM=' + this.t1x_1 + ', maxSpeedMs=' + this.u1x_1 + ', minAltitudeM=' + this.v1x_1 + ', maxAltitudeM=' + this.w1x_1 + ', startLatitudeDeg=' + this.x1x_1 + ', startLongitudeDeg=' + this.y1x_1 + ', endLatitudeDeg=' + this.z1x_1 + ', endLongitudeDeg=' + this.a1y_1 + ')';
201
+ };
202
+ protoOf(FitLap).hashCode = function () {
203
+ var result = this.o1x_1.hashCode();
204
+ result = imul(result, 31) + getNumberHashCode(this.p1x_1) | 0;
205
+ result = imul(result, 31) + getNumberHashCode(this.q1x_1) | 0;
206
+ result = imul(result, 31) + getNumberHashCode(this.r1x_1) | 0;
207
+ result = imul(result, 31) + this.s1x_1 | 0;
208
+ result = imul(result, 31) + this.t1x_1 | 0;
209
+ result = imul(result, 31) + (this.u1x_1 == null ? 0 : getNumberHashCode(this.u1x_1)) | 0;
210
+ result = imul(result, 31) + (this.v1x_1 == null ? 0 : getNumberHashCode(this.v1x_1)) | 0;
211
+ result = imul(result, 31) + (this.w1x_1 == null ? 0 : getNumberHashCode(this.w1x_1)) | 0;
212
+ result = imul(result, 31) + (this.x1x_1 == null ? 0 : getNumberHashCode(this.x1x_1)) | 0;
213
+ result = imul(result, 31) + (this.y1x_1 == null ? 0 : getNumberHashCode(this.y1x_1)) | 0;
214
+ result = imul(result, 31) + (this.z1x_1 == null ? 0 : getNumberHashCode(this.z1x_1)) | 0;
215
+ result = imul(result, 31) + (this.a1y_1 == null ? 0 : getNumberHashCode(this.a1y_1)) | 0;
216
+ return result;
217
+ };
218
+ protoOf(FitLap).equals = function (other) {
219
+ if (this === other)
220
+ return true;
221
+ if (!(other instanceof FitLap))
222
+ return false;
223
+ if (!this.o1x_1.equals(other.o1x_1))
224
+ return false;
225
+ if (!equals(this.p1x_1, other.p1x_1))
226
+ return false;
227
+ if (!equals(this.q1x_1, other.q1x_1))
228
+ return false;
229
+ if (!equals(this.r1x_1, other.r1x_1))
230
+ return false;
231
+ if (!(this.s1x_1 === other.s1x_1))
232
+ return false;
233
+ if (!(this.t1x_1 === other.t1x_1))
234
+ return false;
235
+ if (!equals(this.u1x_1, other.u1x_1))
236
+ return false;
237
+ if (!equals(this.v1x_1, other.v1x_1))
238
+ return false;
239
+ if (!equals(this.w1x_1, other.w1x_1))
240
+ return false;
241
+ if (!equals(this.x1x_1, other.x1x_1))
242
+ return false;
243
+ if (!equals(this.y1x_1, other.y1x_1))
244
+ return false;
245
+ if (!equals(this.z1x_1, other.z1x_1))
246
+ return false;
247
+ if (!equals(this.a1y_1, other.a1y_1))
248
+ return false;
249
+ return true;
250
+ };
251
+ function FitSport_CYCLING_getInstance() {
252
+ FitSport_initEntries();
253
+ return FitSport_CYCLING_instance;
254
+ }
255
+ function FitUnits() {
256
+ FitUnits_instance = this;
257
+ this.b1y_1 = new Long(-294592512, 146);
258
+ this.c1y_1 = new Long(631065600, 0);
259
+ this.d1y_1 = 1.1930464711111112E7;
260
+ this.e1y_1 = 5.0;
261
+ this.f1y_1 = 500.0;
262
+ this.g1y_1 = 100.0;
263
+ this.h1y_1 = 1000.0;
264
+ }
265
+ protoOf(FitUnits).i1y = function (degrees) {
266
+ return roundToInt(degrees * 1.1930464711111112E7);
267
+ };
268
+ var FitUnits_instance;
269
+ function FitUnits_getInstance() {
270
+ if (FitUnits_instance == null)
271
+ new FitUnits();
272
+ return FitUnits_instance;
273
+ }
274
+ function toFitBytes(_this__u8e3s4, name, startTime, sport) {
275
+ sport = sport === VOID ? FitSport_CYCLING_getInstance() : sport;
276
+ return FitEncoder_instance.l1y(toFitCourse(_this__u8e3s4, name, startTime, sport));
277
+ }
278
+ function toFitCourse(_this__u8e3s4, name, startTime, sport) {
279
+ sport = sport === VOID ? FitSport_CYCLING_getInstance() : sport;
280
+ // Inline function 'kotlin.require' call
281
+ if (!(_this__u8e3s4.u1q_1 > 0)) {
282
+ var message = 'Cannot build a FIT course from an empty Path';
283
+ throw IllegalArgumentException_init_$Create$(toString(message));
284
+ }
285
+ // Inline function 'kotlin.collections.List' call
286
+ // Inline function 'kotlin.collections.MutableList' call
287
+ var size = _this__u8e3s4.u1q_1;
288
+ var list = ArrayList_init_$Create$(size);
289
+ // Inline function 'kotlin.repeat' call
290
+ var inductionVariable = 0;
291
+ if (inductionVariable < size)
292
+ do {
293
+ var index = inductionVariable;
294
+ inductionVariable = inductionVariable + 1 | 0;
295
+ Companion_getInstance();
296
+ // Inline function 'kotlin.time.Companion.milliseconds' call
297
+ var this_0 = numberToLong(_this__u8e3s4.z1q(index));
298
+ var tmp$ret$7 = toDuration(this_0, DurationUnit_MILLISECONDS_getInstance());
299
+ var tmp = startTime.vd(tmp$ret$7);
300
+ var tmp_0 = _this__u8e3s4.w1q(index) * MathConstants_getInstance().uw_1;
301
+ var tmp_1 = _this__u8e3s4.x1q(index) * MathConstants_getInstance().uw_1;
302
+ // Inline function 'kotlin.takeUnless' call
303
+ var this_1 = _this__u8e3s4.y1q(index);
304
+ var tmp_2;
305
+ if (!isNaN_0(this_1)) {
306
+ tmp_2 = this_1;
307
+ } else {
308
+ tmp_2 = null;
309
+ }
310
+ var tmp_3 = tmp_2;
311
+ var tmp_4 = _this__u8e3s4.k1u(index);
312
+ // Inline function 'kotlin.takeUnless' call
313
+ var this_2 = _this__u8e3s4.m1v(index);
314
+ var tmp_5;
315
+ if (!isNaN_0(this_2)) {
316
+ tmp_5 = this_2;
317
+ } else {
318
+ tmp_5 = null;
319
+ }
320
+ var tmp_6 = tmp_5;
321
+ var tmp0_safe_receiver = optionalComputed(_this__u8e3s4.k1v(index));
322
+ var tmp_7 = tmp0_safe_receiver == null ? null : roundToInt(tmp0_safe_receiver);
323
+ var tmp1_safe_receiver = optionalSensor(_this__u8e3s4.a1r(index));
324
+ var tmp_8 = tmp1_safe_receiver == null ? null : roundToInt(tmp1_safe_receiver);
325
+ var tmp2_safe_receiver = optionalSensor(_this__u8e3s4.b1r(index));
326
+ var tmp$ret$6 = new FitRecord(tmp, tmp_0, tmp_1, tmp_3, tmp_4, tmp_6, tmp_7, tmp_8, tmp2_safe_receiver == null ? null : roundToInt(tmp2_safe_receiver), optionalSensor(_this__u8e3s4.c1r(index)));
327
+ list.h(tmp$ret$6);
328
+ }
329
+ while (inductionVariable < size);
330
+ var records = list;
331
+ var tmp_9 = _this__u8e3s4.c1s_1 / 1000.0;
332
+ var tmp_10 = _this__u8e3s4.c1s_1 / 1000.0;
333
+ var tmp_11 = _this__u8e3s4.x1r_1;
334
+ var tmp_12 = roundToIntOrZero(_this__u8e3s4.a1s_1);
335
+ var tmp_13 = roundToIntOrZero(-_this__u8e3s4.b1s_1);
336
+ var tmp0 = until(0, _this__u8e3s4.u1q_1);
337
+ var tmp$ret$12;
338
+ $l$block: {
339
+ // Inline function 'kotlin.collections.maxOfOrNull' call
340
+ var iterator = tmp0.i();
341
+ if (!iterator.j()) {
342
+ tmp$ret$12 = null;
343
+ break $l$block;
344
+ }
345
+ var it = iterator.k();
346
+ var maxValue = _this__u8e3s4.m1v(it);
347
+ while (iterator.j()) {
348
+ var it_0 = iterator.k();
349
+ var v = _this__u8e3s4.m1v(it_0);
350
+ // Inline function 'kotlin.comparisons.maxOf' call
351
+ var a = maxValue;
352
+ maxValue = Math.max(a, v);
353
+ }
354
+ tmp$ret$12 = maxValue;
355
+ }
356
+ var tmp0_safe_receiver_0 = tmp$ret$12;
357
+ var tmp_14;
358
+ if (tmp0_safe_receiver_0 == null) {
359
+ tmp_14 = null;
360
+ } else {
361
+ // Inline function 'kotlin.takeUnless' call
362
+ var tmp_15;
363
+ if (!isNaN_0(tmp0_safe_receiver_0)) {
364
+ tmp_15 = tmp0_safe_receiver_0;
365
+ } else {
366
+ tmp_15 = null;
367
+ }
368
+ tmp_14 = tmp_15;
369
+ }
370
+ var tmp_16 = tmp_14;
371
+ var tmp0_0 = until(0, _this__u8e3s4.u1q_1);
372
+ var tmp$ret$18;
373
+ $l$block_0: {
374
+ // Inline function 'kotlin.collections.minOfOrNull' call
375
+ var iterator_0 = tmp0_0.i();
376
+ if (!iterator_0.j()) {
377
+ tmp$ret$18 = null;
378
+ break $l$block_0;
379
+ }
380
+ var it_1 = iterator_0.k();
381
+ var minValue = _this__u8e3s4.y1q(it_1);
382
+ while (iterator_0.j()) {
383
+ var it_2 = iterator_0.k();
384
+ var v_0 = _this__u8e3s4.y1q(it_2);
385
+ // Inline function 'kotlin.comparisons.minOf' call
386
+ var a_0 = minValue;
387
+ minValue = Math.min(a_0, v_0);
388
+ }
389
+ tmp$ret$18 = minValue;
390
+ }
391
+ var tmp1_safe_receiver_0 = tmp$ret$18;
392
+ var tmp_17;
393
+ if (tmp1_safe_receiver_0 == null) {
394
+ tmp_17 = null;
395
+ } else {
396
+ // Inline function 'kotlin.takeUnless' call
397
+ var tmp_18;
398
+ if (!isNaN_0(tmp1_safe_receiver_0)) {
399
+ tmp_18 = tmp1_safe_receiver_0;
400
+ } else {
401
+ tmp_18 = null;
402
+ }
403
+ tmp_17 = tmp_18;
404
+ }
405
+ var tmp_19 = tmp_17;
406
+ var tmp0_1 = until(0, _this__u8e3s4.u1q_1);
407
+ var tmp$ret$24;
408
+ $l$block_1: {
409
+ // Inline function 'kotlin.collections.maxOfOrNull' call
410
+ var iterator_1 = tmp0_1.i();
411
+ if (!iterator_1.j()) {
412
+ tmp$ret$24 = null;
413
+ break $l$block_1;
414
+ }
415
+ var it_3 = iterator_1.k();
416
+ var maxValue_0 = _this__u8e3s4.y1q(it_3);
417
+ while (iterator_1.j()) {
418
+ var it_4 = iterator_1.k();
419
+ var v_1 = _this__u8e3s4.y1q(it_4);
420
+ // Inline function 'kotlin.comparisons.maxOf' call
421
+ var a_1 = maxValue_0;
422
+ maxValue_0 = Math.max(a_1, v_1);
423
+ }
424
+ tmp$ret$24 = maxValue_0;
425
+ }
426
+ var tmp2_safe_receiver_0 = tmp$ret$24;
427
+ var tmp_20;
428
+ if (tmp2_safe_receiver_0 == null) {
429
+ tmp_20 = null;
430
+ } else {
431
+ // Inline function 'kotlin.takeUnless' call
432
+ var tmp_21;
433
+ if (!isNaN_0(tmp2_safe_receiver_0)) {
434
+ tmp_21 = tmp2_safe_receiver_0;
435
+ } else {
436
+ tmp_21 = null;
437
+ }
438
+ tmp_20 = tmp_21;
439
+ }
440
+ var tmp3_lap = new FitLap(startTime, tmp_9, tmp_10, tmp_11, tmp_12, tmp_13, tmp_16, tmp_19, tmp_20, _this__u8e3s4.w1q(0) * MathConstants_getInstance().uw_1, _this__u8e3s4.x1q(0) * MathConstants_getInstance().uw_1, _this__u8e3s4.w1q(_this__u8e3s4.u1q_1 - 1 | 0) * MathConstants_getInstance().uw_1, _this__u8e3s4.x1q(_this__u8e3s4.u1q_1 - 1 | 0) * MathConstants_getInstance().uw_1);
441
+ return new FitCourse(name, startTime, records, tmp3_lap, sport);
442
+ }
443
+ function optionalComputed(_this__u8e3s4) {
444
+ // Inline function 'kotlin.takeUnless' call
445
+ var tmp;
446
+ if (!(isNaN_0(_this__u8e3s4) || _this__u8e3s4 === 0.0)) {
447
+ tmp = _this__u8e3s4;
448
+ } else {
449
+ tmp = null;
450
+ }
451
+ return tmp;
452
+ }
453
+ function optionalSensor(_this__u8e3s4) {
454
+ // Inline function 'kotlin.takeUnless' call
455
+ var tmp;
456
+ if (!isNaN_0(_this__u8e3s4)) {
457
+ tmp = _this__u8e3s4;
458
+ } else {
459
+ tmp = null;
460
+ }
461
+ return tmp;
462
+ }
463
+ function roundToIntOrZero(_this__u8e3s4) {
464
+ return isNaN_0(_this__u8e3s4) ? 0 : roundToInt(_this__u8e3s4);
465
+ }
466
+ function timerEvent($this, at, eventType) {
467
+ // Inline function 'io.github.glandais.fit.FitEncoder.mesg' call
468
+ var o = {};
469
+ o['mesgNum'] = 21;
470
+ o['event'] = 0;
471
+ o['eventType'] = eventType;
472
+ o['eventGroup'] = 0;
473
+ o['timestamp'] = toJsDate(FitEncoder_instance, at);
474
+ return o;
475
+ }
476
+ function toByteArray($this, $receiver) {
477
+ var tmp = 0;
478
+ var tmp_0 = $receiver.length;
479
+ var tmp_1 = new Int8Array(tmp_0);
480
+ while (tmp < tmp_0) {
481
+ var tmp_2 = tmp;
482
+ // Inline function 'org.khronos.webgl.get' call
483
+ // Inline function 'kotlin.js.asDynamic' call
484
+ tmp_1[tmp_2] = $receiver[tmp_2];
485
+ tmp = tmp + 1 | 0;
486
+ }
487
+ return tmp_1;
488
+ }
489
+ function toJsDate($this, $receiver) {
490
+ return new Date(toNumber($receiver.ud()));
491
+ }
492
+ function seconds($this, $receiver) {
493
+ Companion_getInstance();
494
+ // Inline function 'kotlin.time.Companion.milliseconds' call
495
+ var this_0 = numberToLong($receiver * 1000.0);
496
+ return toDuration(this_0, DurationUnit_MILLISECONDS_getInstance());
497
+ }
498
+ function FitEncoder() {
499
+ this.j1y_1 = 12345;
500
+ this.k1y_1 = 12345.0;
501
+ }
502
+ protoOf(FitEncoder).l1y = function (course) {
503
+ var encoder = new FitSdk.Encoder();
504
+ // Inline function 'io.github.glandais.fit.FitEncoder.mesg' call
505
+ var o = {};
506
+ o['mesgNum'] = 0;
507
+ o['type'] = 6;
508
+ o['manufacturer'] = 15;
509
+ o['product'] = 12345;
510
+ o['serialNumber'] = 12345.0;
511
+ o['number'] = getStringHashCode(course.z1w_1) & 65535;
512
+ o['timeCreated'] = toJsDate(FitEncoder_instance, course.a1x_1);
513
+ encoder.writeMesg(o);
514
+ // Inline function 'io.github.glandais.fit.FitEncoder.mesg' call
515
+ var o_0 = {};
516
+ o_0['mesgNum'] = 31;
517
+ o_0['name'] = course.z1w_1;
518
+ o_0['sport'] = course.d1x_1.y1w_1;
519
+ encoder.writeMesg(o_0);
520
+ var lap = course.c1x_1;
521
+ // Inline function 'io.github.glandais.fit.FitEncoder.mesg' call
522
+ var o_1 = {};
523
+ o_1['mesgNum'] = 19;
524
+ o_1['startTime'] = toJsDate(FitEncoder_instance, lap.o1x_1);
525
+ o_1['timestamp'] = toJsDate(FitEncoder_instance, lap.o1x_1.vd(seconds(FitEncoder_instance, lap.p1x_1)));
526
+ o_1['totalElapsedTime'] = lap.p1x_1;
527
+ o_1['totalTimerTime'] = lap.q1x_1;
528
+ o_1['totalDistance'] = lap.r1x_1;
529
+ o_1['totalAscent'] = lap.s1x_1;
530
+ o_1['totalDescent'] = lap.t1x_1;
531
+ if (lap.q1x_1 > 0.0) {
532
+ o_1['avgSpeed'] = lap.r1x_1 / lap.q1x_1;
533
+ }
534
+ var tmp0_safe_receiver = lap.u1x_1;
535
+ if (tmp0_safe_receiver == null)
536
+ null;
537
+ else {
538
+ // Inline function 'kotlin.let' call
539
+ o_1['maxSpeed'] = tmp0_safe_receiver;
540
+ }
541
+ var tmp1_safe_receiver = lap.v1x_1;
542
+ if (tmp1_safe_receiver == null)
543
+ null;
544
+ else {
545
+ // Inline function 'kotlin.let' call
546
+ o_1['minAltitude'] = tmp1_safe_receiver;
547
+ }
548
+ var tmp2_safe_receiver = lap.w1x_1;
549
+ if (tmp2_safe_receiver == null)
550
+ null;
551
+ else {
552
+ // Inline function 'kotlin.let' call
553
+ o_1['maxAltitude'] = tmp2_safe_receiver;
554
+ }
555
+ var tmp3_safe_receiver = lap.x1x_1;
556
+ if (tmp3_safe_receiver == null)
557
+ null;
558
+ else {
559
+ // Inline function 'kotlin.let' call
560
+ o_1['startPositionLat'] = FitUnits_getInstance().i1y(tmp3_safe_receiver);
561
+ }
562
+ var tmp4_safe_receiver = lap.y1x_1;
563
+ if (tmp4_safe_receiver == null)
564
+ null;
565
+ else {
566
+ // Inline function 'kotlin.let' call
567
+ o_1['startPositionLong'] = FitUnits_getInstance().i1y(tmp4_safe_receiver);
568
+ }
569
+ var tmp5_safe_receiver = lap.z1x_1;
570
+ if (tmp5_safe_receiver == null)
571
+ null;
572
+ else {
573
+ // Inline function 'kotlin.let' call
574
+ o_1['endPositionLat'] = FitUnits_getInstance().i1y(tmp5_safe_receiver);
575
+ }
576
+ var tmp6_safe_receiver = lap.a1y_1;
577
+ if (tmp6_safe_receiver == null)
578
+ null;
579
+ else {
580
+ // Inline function 'kotlin.let' call
581
+ o_1['endPositionLong'] = FitUnits_getInstance().i1y(tmp6_safe_receiver);
582
+ }
583
+ encoder.writeMesg(o_1);
584
+ encoder.writeMesg(timerEvent(this, first(course.b1x_1).e1x_1, 0));
585
+ var _iterator__ex2g4s = course.b1x_1.i();
586
+ while (_iterator__ex2g4s.j()) {
587
+ var record = _iterator__ex2g4s.k();
588
+ // Inline function 'io.github.glandais.fit.FitEncoder.mesg' call
589
+ var o_2 = {};
590
+ o_2['mesgNum'] = 20;
591
+ o_2['timestamp'] = toJsDate(FitEncoder_instance, record.e1x_1);
592
+ o_2['positionLat'] = FitUnits_getInstance().i1y(record.f1x_1);
593
+ o_2['positionLong'] = FitUnits_getInstance().i1y(record.g1x_1);
594
+ o_2['distance'] = record.i1x_1;
595
+ var tmp0_safe_receiver_0 = record.h1x_1;
596
+ if (tmp0_safe_receiver_0 == null)
597
+ null;
598
+ else {
599
+ // Inline function 'kotlin.let' call
600
+ o_2['altitude'] = tmp0_safe_receiver_0;
601
+ }
602
+ var tmp1_safe_receiver_0 = record.j1x_1;
603
+ if (tmp1_safe_receiver_0 == null)
604
+ null;
605
+ else {
606
+ // Inline function 'kotlin.let' call
607
+ o_2['speed'] = tmp1_safe_receiver_0;
608
+ }
609
+ var tmp2_safe_receiver_0 = record.k1x_1;
610
+ if (tmp2_safe_receiver_0 == null)
611
+ null;
612
+ else {
613
+ // Inline function 'kotlin.let' call
614
+ o_2['power'] = tmp2_safe_receiver_0;
615
+ }
616
+ var tmp3_safe_receiver_0 = record.l1x_1;
617
+ if (tmp3_safe_receiver_0 == null)
618
+ null;
619
+ else {
620
+ // Inline function 'kotlin.let' call
621
+ o_2['heartRate'] = tmp3_safe_receiver_0;
622
+ }
623
+ var tmp4_safe_receiver_0 = record.m1x_1;
624
+ if (tmp4_safe_receiver_0 == null)
625
+ null;
626
+ else {
627
+ // Inline function 'kotlin.let' call
628
+ o_2['cadence'] = tmp4_safe_receiver_0;
629
+ }
630
+ var tmp5_safe_receiver_0 = record.n1x_1;
631
+ if (tmp5_safe_receiver_0 == null)
632
+ null;
633
+ else {
634
+ // Inline function 'kotlin.let' call
635
+ o_2['temperature'] = numberToInt(round(tmp5_safe_receiver_0));
636
+ }
637
+ encoder.writeMesg(o_2);
638
+ }
639
+ encoder.writeMesg(timerEvent(this, last(course.b1x_1).e1x_1, 4));
640
+ return toByteArray(this, encoder.close());
641
+ };
642
+ var FitEncoder_instance;
643
+ function FitEncoder_getInstance() {
644
+ return FitEncoder_instance;
645
+ }
646
+ //region block: init
647
+ FitEncoder_instance = new FitEncoder();
648
+ //endregion
649
+ //region block: exports
650
+ _.$_$ = _.$_$ || {};
651
+ _.$_$.a = toFitBytes;
652
+ //endregion
653
+ return _;
654
+ }));
655
+
656
+ //# sourceMappingURL=vcyclist-fit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../fit/src/commonMain/kotlin/io/github/glandais/fit/FitCourse.kt","../../../../../engine/build/compileSync/js/main/productionLibrary/kotlin/src/kotlin/util/Preconditions.kt","../../../../../engine/build/compileSync/js/main/productionLibrary/kotlin/src/kotlin/collections/Collections.kt","../../../../../fit/src/commonMain/kotlin/io/github/glandais/fit/FitUnits.kt","../../../../../fit/src/commonMain/kotlin/io/github/glandais/fit/PathToFit.kt","../../../../../engine/build/compileSync/js/main/productionLibrary/kotlin/src/kotlin/util/Standard.kt","../../../../../engine/build/compileSync/js/main/productionLibrary/kotlin/src/kotlin/time/Duration.kt","../../../../../engine/build/compileSync/js/main/productionLibrary/kotlin/common/src/generated/_Collections.kt","../../../../../engine/build/compileSync/js/main/productionLibrary/kotlin/js/src/generated/_ComparisonsJs.kt","../../../../../fit/src/jsMain/kotlin/io/github/glandais/fit/FitEncoder.js.kt","../../../../../../../../../../mnt/agent/work/cda76b66d8f1c2ba/src/jsMain/kotlin/org.w3c/org.khronos.webgl.kt"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null],"ignoreList":[],"x_google_ignoreList":[],"names":["<init>","value","name","startTime","records","lap","sport","message","result","timestamp","latitudeDeg","longitudeDeg","altitudeM","distanceM","speedMs","powerW","heartRate","cadence","temperatureC","totalElapsedTimeS","totalTimerTimeS","totalDistanceM","totalAscentM","totalDescentM","maxSpeedMs","minAltitudeM","maxAltitudeM","startLatitudeDeg","startLongitudeDeg","endLatitudeDeg","endLongitudeDeg","degreesToSemicircles","degrees","toFitBytes","<this>","toFitCourse","list","index","iterator","maxValue","v","minValue","optionalComputed","optionalSensor","roundToIntOrZero","timerEvent","at","eventType","o","toByteArray","toJsDate","seconds","encode","course","encoder","record"],"mappings":"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;IACV,C;;;eGiBS,a,CAAA,K;QF+GT6B,OAAW,wBAAa,IAAb,C;;QGLG,qB;IAAd,wBHMO,IGNP,C;SAAA;A,YAAKC,QAAS,iB;QAAA,6C;;;qBDxG8B,aAAR,kBCyGzB,KDzGyB,CAAQ,C;YE0FmD,YAArC,mBAAwB,uCAAxB,C;kBF1FlC,aAA6B,SAA7B,C;oBACE,kBCwGf,KDxGe,gCAA4B,I;oBAC3B,kBCuGhB,KDvGgB,gCAA6B,I;;qBAChC,kBCsGb,KDtGa,C;;QCqFb,KDrF0C,QCqF/B,MDrF+B,CCqF1C,C;kBAAkB,M;;kBAAU,I;;oBAAhC,K;oBDpFiB,kBCqGb,KDrGa,C;;qBACF,kBCoGX,KDpGW,C;;QCmFX,KDnFoC,QCmFzB,MDnFyB,CCmFpC,C;kBAAkB,M;;kBAAU,I;;oBAAhC,K;YDlFgC,sCAAlB,kBCmGV,KDnGU,CAAkB,C;oBAAoB,+CAAtC,kBAAsC,C;YACtB,oCAAb,kBCkGb,KDlGa,CAAa,C;oBAAkB,+CAA/B,kBAA+B,C;YACtB,oCAAX,kBCiGX,KDjGW,CAAW,C;YAExB,YAXD,oEAS2C,+CAA7B,kBAA6B,CAT3C,EAUkC,eAAf,kBCgGhB,KDhGgB,CAAe,CAVlC,C;QG+Ke,IAAK,GAAI,SAAJ,C;;MFtE5B,4BHMO,IGNP,C;QD3GAjC,UFkHO,I;gBEtFyB,sBAAa,M;iBACf,sBAAa,M;iBACd,a,CAAA,K;iBAQY,iBAAd,aAAc,CAAd,KAAc,C;iBACI,iBAAhB,CAAC,aAAD,CAAC,KAAe,C;eACnB,SAAQ,aAAR,CAAQ,KAAR,C;;;;UGiqE1BkC,WAAe,Q;MACX,KAAC,QAAS,IAAV,C;QAAqB,aAAO,I;;;eACR,QAAS,I;UAAjCC,WHnqEsD,kBAAM,EAAN,C;aGoqE/C,QAAS,I,EAAW;A,mBACN,QAAS,I;YAA1BC,IHrqEkD,kBAAM,IAAN,C;;gBGsqEjC,Q;QAAjB,WCrrEG,IAAO,KAAI,CAAJ,EDqrEiB,CCrrEjB,C;MDsrEd,C;MACA,aAAO,Q;;QHxqEiC,iC;;IAA2B,iC;eAAA,I;;;;MCmDxD,KDnDwE,QAA1D,oBAA0D,CCmDxE,C;iBDnDc,oB;;iBCmDc,I;;e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"}