@fboes/aerofly-custom-missions 1.0.1 → 1.0.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.
- package/CHANGELOG.md +4 -0
- package/README.md +8 -8
- package/dist/index.js +48 -10
- package/dist/index.test.js +31 -4
- package/package.json +1 -1
- package/src/index.test.ts +35 -2
- package/src/index.ts +51 -4
- package/types/index.d.ts +87 -21
- package/types/index.d.ts.map +1 -1
- package/types/index.test.d.ts +1 -1
package/CHANGELOG.md
CHANGED
package/README.md
CHANGED
|
@@ -2,19 +2,19 @@
|
|
|
2
2
|
|
|
3
3
|
> Builder for Aerofly FS4 Custom Missions Files
|
|
4
4
|
|
|
5
|
-
[Aerofly Flight Simulator 4](https://www.aerofly.com/) has a custom
|
|
5
|
+
[Aerofly Flight Simulator 4](https://www.aerofly.com/) has a custom mission file `custom_missions_user.tmc` with a very unique format. To help build this format file, this JavaScript / TypeScript library offers Data Transfers Objects (DTOs) to create this flight plan files programatically.
|
|
6
6
|
|
|
7
7
|
This library is intended to work in modern browsers as well as [Node.js](https://nodejs.org/en).
|
|
8
8
|
|
|
9
9
|
## Installation
|
|
10
10
|
|
|
11
|
-
Either download the [`dist/index.js`](dist/index.js) to a sensible location in your web project, or do a NPM installation
|
|
11
|
+
Either download the [`dist/index.js`](dist/index.js) to a sensible location in your web project, or do a NPM installation:
|
|
12
12
|
|
|
13
13
|
```bash
|
|
14
14
|
npm install @fboes/aerofly-custom-missions --save
|
|
15
15
|
```
|
|
16
16
|
|
|
17
|
-
Instead of a local installation you may also load the library from https://unpkg.com
|
|
17
|
+
Instead of a local installation you may also load the library from https://unpkg.com/. Beware: This makes https://unpkg.com/ a dependency of your project and may pose data protection issues.
|
|
18
18
|
|
|
19
19
|
```html
|
|
20
20
|
<script type="module" src="https://unpkg.com/@fboes/aerofly-custom-missions@latest/dist/index.js"></script>
|
|
@@ -50,7 +50,7 @@ You might want to enable TypeScript type checking by adding `// @ts-check` as yo
|
|
|
50
50
|
|
|
51
51
|
### Basic idea
|
|
52
52
|
|
|
53
|
-
All objects are basic structures needed for the mission list
|
|
53
|
+
All objects are basic structures needed for the mission list. The constructors tell you which properties are required, and will start with sensible defaults for all other properties.
|
|
54
54
|
|
|
55
55
|
You can alter the properties of the objects afterwards, or (in some cases) by passing an optional configuration object to the constructor.
|
|
56
56
|
|
|
@@ -58,7 +58,7 @@ All objects can be exported as JSON or as string via the `toString()` methods. E
|
|
|
58
58
|
|
|
59
59
|
### Building a missions file
|
|
60
60
|
|
|
61
|
-
A
|
|
61
|
+
A mission file contains multiple missions. Build this file starts with the outer container, wich contains the missions:
|
|
62
62
|
|
|
63
63
|
```javascript
|
|
64
64
|
// Build a missions list
|
|
@@ -119,17 +119,17 @@ const missionList = new AeroflyMissionsList([mission]);
|
|
|
119
119
|
console.log(missionList.toString());
|
|
120
120
|
```
|
|
121
121
|
|
|
122
|
-
As there are lots of properties for the
|
|
122
|
+
As there are lots of properties for the flight plan as well as explanation for the properties mentioned above, check the type hinting on the various objects to find out which properties you are able to set.
|
|
123
123
|
|
|
124
124
|
### Important notices
|
|
125
125
|
|
|
126
126
|
- Be aware that `mission.origin` and `mission.destination` do not need to match the flight plan. In case of `origin` you may want to set the position to the actual parking position of your aircraft, which may not be the first way point in your flight plan.
|
|
127
|
-
-
|
|
127
|
+
- Flightplan almost always require at least 4 checkpoint:
|
|
128
128
|
- `origin`
|
|
129
129
|
- `departure_runway`
|
|
130
130
|
- `destination_runway`
|
|
131
131
|
- `destination`
|
|
132
|
-
- Be aware that all untis for altitude, elevation or distance are measured in meters! In most cases there will be helper functions for defining these values in feet
|
|
132
|
+
- Be aware that all untis for altitude, elevation or distance are measured in meters! In most cases there will be helper functions for defining these values in feet or statute miles (for visibility).
|
|
133
133
|
|
|
134
134
|
## Status
|
|
135
135
|
|
package/dist/index.js
CHANGED
|
@@ -152,17 +152,21 @@ export class AeroflyMissionConditions {
|
|
|
152
152
|
* @param {number} [additionalAttributes.turbulenceStrength] 0..1, percentage
|
|
153
153
|
* @param {number} [additionalAttributes.thermalStrength] 0..1, percentage
|
|
154
154
|
* @param {number} [additionalAttributes.visibility] in meters
|
|
155
|
+
* @param {number?} [additionalAttributes.visibility_sm] in statute miles
|
|
155
156
|
* @param {AeroflyMissionConditionsCloud[]} [additionalAttributes.clouds] for the whole flight
|
|
156
157
|
*/
|
|
157
158
|
constructor({ time = new Date(), wind = {
|
|
158
159
|
direction: 0,
|
|
159
160
|
speed: 0,
|
|
160
161
|
gusts: 0,
|
|
161
|
-
}, turbulenceStrength = 0, thermalStrength = 0, visibility =
|
|
162
|
+
}, turbulenceStrength = 0, thermalStrength = 0, visibility = 25_000, visibility_sm = null, clouds = [], } = {}) {
|
|
162
163
|
/**
|
|
163
164
|
* @property {AeroflyMissionConditionsCloud[]} clouds for the whole flight
|
|
164
165
|
*/
|
|
165
166
|
this.clouds = [];
|
|
167
|
+
if (visibility_sm) {
|
|
168
|
+
visibility = visibility_sm * meterPerStatuteMile;
|
|
169
|
+
}
|
|
166
170
|
this.time = time;
|
|
167
171
|
this.wind = wind;
|
|
168
172
|
this.turbulenceStrength = turbulenceStrength;
|
|
@@ -192,6 +196,12 @@ export class AeroflyMissionConditions {
|
|
|
192
196
|
set visibility_sm(visibility_sm) {
|
|
193
197
|
this.visibility = visibility_sm * meterPerStatuteMile;
|
|
194
198
|
}
|
|
199
|
+
/**
|
|
200
|
+
* @returns {number} `this.visibility` in statute miles instead of meters
|
|
201
|
+
*/
|
|
202
|
+
get visibility_sm() {
|
|
203
|
+
return this.visibility / meterPerStatuteMile;
|
|
204
|
+
}
|
|
195
205
|
/**
|
|
196
206
|
* @returns {string}
|
|
197
207
|
*/
|
|
@@ -221,7 +231,7 @@ export class AeroflyMissionConditions {
|
|
|
221
231
|
<[float64][wind_gusts][${this.wind.gusts}]> // kts
|
|
222
232
|
<[float64][turbulence_strength][${this.turbulenceStrength}]>
|
|
223
233
|
<[float64][thermal_strength][${this.thermalStrength}]>
|
|
224
|
-
<[float64][visibility][${this.visibility}]> // ${this.
|
|
234
|
+
<[float64][visibility][${this.visibility}]> // ${this.visibility_sm} SM
|
|
225
235
|
${this.getCloudsString()}
|
|
226
236
|
>`;
|
|
227
237
|
}
|
|
@@ -257,6 +267,12 @@ export class AeroflyMissionConditionsCloud {
|
|
|
257
267
|
set base_feet(base_feet) {
|
|
258
268
|
this.base = base_feet / feetPerMeter;
|
|
259
269
|
}
|
|
270
|
+
/**
|
|
271
|
+
* @returns {number} `this.base` in feet instead of meters
|
|
272
|
+
*/
|
|
273
|
+
get base_feet() {
|
|
274
|
+
return this.base * feetPerMeter;
|
|
275
|
+
}
|
|
260
276
|
/**
|
|
261
277
|
* @returns {string} Cloud coverage as text representation like "OVC" for `this.cover`
|
|
262
278
|
*/
|
|
@@ -283,7 +299,7 @@ export class AeroflyMissionConditionsCloud {
|
|
|
283
299
|
const indexString = index === 0 ? "" : String(index + 1);
|
|
284
300
|
const comment = index === 0 ? "" : "//";
|
|
285
301
|
return ` ${comment}<[float64][cloud_cover${indexString}][${this.cover ?? 0}]> // ${this.cover_code}
|
|
286
|
-
${comment}<[float64][cloud_base${indexString}][${this.base}]> // ${this.
|
|
302
|
+
${comment}<[float64][cloud_base${indexString}][${this.base}]> // ${this.base_feet} ft AGL`;
|
|
287
303
|
}
|
|
288
304
|
}
|
|
289
305
|
/**
|
|
@@ -313,12 +329,16 @@ export class AeroflyMissionCheckpoint {
|
|
|
313
329
|
* @param {number} [additionalAttributes.direction] of runway, in degree
|
|
314
330
|
* @param {number?} [additionalAttributes.slope] of runway
|
|
315
331
|
* @param {number?} [additionalAttributes.length] of runway, in meters
|
|
332
|
+
* @param {number?} [additionalAttributes.length_feet] of runway, in feet
|
|
316
333
|
* @param {number?} [additionalAttributes.frequency] of runways or navigational aids, in Hz; multiply by 1000 for kHz, 1_000_000 for MHz
|
|
317
334
|
*/
|
|
318
|
-
constructor(name, type, longitude, latitude, { altitude = 0, altitude_feet = null, direction = null, slope = null, length = null, frequency = null, } = {}) {
|
|
335
|
+
constructor(name, type, longitude, latitude, { altitude = 0, altitude_feet = null, direction = null, slope = null, length = null, length_feet = null, frequency = null, } = {}) {
|
|
319
336
|
if (altitude_feet) {
|
|
320
337
|
altitude = altitude_feet / feetPerMeter;
|
|
321
338
|
}
|
|
339
|
+
if (length_feet) {
|
|
340
|
+
length = length_feet / feetPerMeter;
|
|
341
|
+
}
|
|
322
342
|
this.type = type;
|
|
323
343
|
this.name = name;
|
|
324
344
|
this.longitude = longitude;
|
|
@@ -335,6 +355,24 @@ export class AeroflyMissionCheckpoint {
|
|
|
335
355
|
set altitude_feet(altitude_feet) {
|
|
336
356
|
this.altitude = altitude_feet / feetPerMeter;
|
|
337
357
|
}
|
|
358
|
+
/**
|
|
359
|
+
* @returns {number} altitude_feet
|
|
360
|
+
*/
|
|
361
|
+
get altitude_feet() {
|
|
362
|
+
return this.altitude * feetPerMeter;
|
|
363
|
+
}
|
|
364
|
+
/**
|
|
365
|
+
* @param {number} length_feet
|
|
366
|
+
*/
|
|
367
|
+
set length_feet(length_feet) {
|
|
368
|
+
this.length = length_feet / feetPerMeter;
|
|
369
|
+
}
|
|
370
|
+
/**
|
|
371
|
+
* @returns {number} length_feet
|
|
372
|
+
*/
|
|
373
|
+
get length_feet() {
|
|
374
|
+
return (this.length ?? 0) * feetPerMeter;
|
|
375
|
+
}
|
|
338
376
|
/**
|
|
339
377
|
* @returns {string}
|
|
340
378
|
*/
|
|
@@ -342,11 +380,11 @@ export class AeroflyMissionCheckpoint {
|
|
|
342
380
|
if (!this.frequency) {
|
|
343
381
|
return "None";
|
|
344
382
|
}
|
|
345
|
-
if (this.frequency >
|
|
346
|
-
return String(this.frequency /
|
|
383
|
+
if (this.frequency > 1_000_000) {
|
|
384
|
+
return String(this.frequency / 1_000_000) + " MHz";
|
|
347
385
|
}
|
|
348
|
-
if (this.frequency >
|
|
349
|
-
return String(this.frequency /
|
|
386
|
+
if (this.frequency > 1_000) {
|
|
387
|
+
return String(this.frequency / 1_000) + " kHz";
|
|
350
388
|
}
|
|
351
389
|
return String(this.frequency) + " Hz";
|
|
352
390
|
}
|
|
@@ -359,10 +397,10 @@ export class AeroflyMissionCheckpoint {
|
|
|
359
397
|
<[string8u][type][${this.type}]>
|
|
360
398
|
<[string8u][name][${this.name}]>
|
|
361
399
|
<[vector2_float64][lon_lat][${this.longitude} ${this.latitude}]>
|
|
362
|
-
<[float64][altitude][${this.altitude}]> // ${this.
|
|
400
|
+
<[float64][altitude][${this.altitude}]> // ${this.altitude_feet} ft
|
|
363
401
|
<[float64][direction][${this.direction ?? (index === 0 ? -1 : 0)}]>
|
|
364
402
|
<[float64][slope][${this.slope ?? 0}]>
|
|
365
|
-
<[float64][length][${this.length ?? 0}]> // ${
|
|
403
|
+
<[float64][length][${this.length ?? 0}]> // ${this.length_feet} ft
|
|
366
404
|
<[float64][frequency][${this.frequency ?? 0}]> // ${this.frequency_string}
|
|
367
405
|
>`;
|
|
368
406
|
}
|
package/dist/index.test.js
CHANGED
|
@@ -7,8 +7,26 @@ import { strict as assert } from "node:assert";
|
|
|
7
7
|
}
|
|
8
8
|
{
|
|
9
9
|
const conditions = new AeroflyMissionConditions();
|
|
10
|
-
conditions.visibility =
|
|
11
|
-
assert.deepStrictEqual(conditions.visibility,
|
|
10
|
+
conditions.visibility = 15_000;
|
|
11
|
+
assert.deepStrictEqual(conditions.visibility, 15_000);
|
|
12
|
+
conditions.visibility_sm = 10;
|
|
13
|
+
assert.notDeepStrictEqual(conditions.visibility, 10);
|
|
14
|
+
assert.deepStrictEqual(Math.round(conditions.visibility_sm), 10);
|
|
15
|
+
console.log("✅ AeroflyMissionConditions test successful");
|
|
16
|
+
}
|
|
17
|
+
{
|
|
18
|
+
const conditions = new AeroflyMissionConditions({
|
|
19
|
+
visibility: 15_000,
|
|
20
|
+
});
|
|
21
|
+
assert.deepStrictEqual(conditions.visibility, 15_000);
|
|
22
|
+
console.log("✅ AeroflyMissionConditions test successful");
|
|
23
|
+
}
|
|
24
|
+
{
|
|
25
|
+
const conditions = new AeroflyMissionConditions({
|
|
26
|
+
visibility_sm: 10,
|
|
27
|
+
});
|
|
28
|
+
assert.notDeepStrictEqual(conditions.visibility, 10);
|
|
29
|
+
assert.deepStrictEqual(Math.round(conditions.visibility_sm), 10);
|
|
12
30
|
console.log("✅ AeroflyMissionConditions test successful");
|
|
13
31
|
}
|
|
14
32
|
{
|
|
@@ -21,6 +39,9 @@ import { strict as assert } from "node:assert";
|
|
|
21
39
|
const cloud = new AeroflyMissionConditionsCloud(1, 1000);
|
|
22
40
|
assert.deepStrictEqual(cloud.cover, 1);
|
|
23
41
|
assert.deepStrictEqual(cloud.base, 1000);
|
|
42
|
+
cloud.base_feet = 1000;
|
|
43
|
+
assert.notDeepStrictEqual(cloud.base, 1000);
|
|
44
|
+
assert.deepStrictEqual(Math.round(cloud.base_feet), 1000);
|
|
24
45
|
console.log("✅ AeroflyMissionConditionsCloud test successful");
|
|
25
46
|
}
|
|
26
47
|
{
|
|
@@ -39,6 +60,12 @@ import { strict as assert } from "node:assert";
|
|
|
39
60
|
AeroflyMissionConditionsCloud.createInFeet(0.2, 7500),
|
|
40
61
|
],
|
|
41
62
|
});
|
|
63
|
+
assert.strictEqual(conditions.wind.direction, 190);
|
|
64
|
+
assert.strictEqual(conditions.wind.speed, 11);
|
|
65
|
+
assert.strictEqual(conditions.wind.gusts, 22);
|
|
66
|
+
assert.strictEqual(conditions.turbulenceStrength, 1);
|
|
67
|
+
assert.strictEqual(conditions.thermalStrength, 0.31200000000000006);
|
|
68
|
+
assert.strictEqual(conditions.visibility, 14484.096000000001);
|
|
42
69
|
const checkpoints = [
|
|
43
70
|
new AeroflyMissionCheckpoint("KCCR", "origin", -122.057, 37.9897, {
|
|
44
71
|
altitude: 8,
|
|
@@ -88,9 +115,9 @@ import { strict as assert } from "node:assert";
|
|
|
88
115
|
assert.strictEqual(missionList.missions.length, 1);
|
|
89
116
|
assert.strictEqual(missionList.missions[0].aircraft.name, "c172");
|
|
90
117
|
assert.strictEqual(missionList.missions[0].aircraft.icao, "C172");
|
|
91
|
-
console.dir(missionList.missions[0], { depth: null });
|
|
118
|
+
//console.dir(missionList.missions[0], { depth: null });
|
|
92
119
|
const missionListString = missionList.toString();
|
|
93
|
-
console.log(missionListString);
|
|
120
|
+
//console.log(missionListString);
|
|
94
121
|
assert.ok(missionListString.includes("[origin]"));
|
|
95
122
|
assert.ok(missionListString.includes("[tmmission_definition]"));
|
|
96
123
|
assert.ok(missionListString.includes("[list_tmmission_checkpoint]"));
|
package/package.json
CHANGED
package/src/index.test.ts
CHANGED
|
@@ -17,6 +17,28 @@ import { strict as assert } from "node:assert";
|
|
|
17
17
|
const conditions = new AeroflyMissionConditions();
|
|
18
18
|
conditions.visibility = 15_000;
|
|
19
19
|
assert.deepStrictEqual(conditions.visibility, 15_000);
|
|
20
|
+
|
|
21
|
+
conditions.visibility_sm = 10;
|
|
22
|
+
assert.notDeepStrictEqual(conditions.visibility, 10);
|
|
23
|
+
assert.deepStrictEqual(Math.round(conditions.visibility_sm), 10);
|
|
24
|
+
|
|
25
|
+
console.log("✅ AeroflyMissionConditions test successful");
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
{
|
|
29
|
+
const conditions = new AeroflyMissionConditions({
|
|
30
|
+
visibility: 15_000,
|
|
31
|
+
});
|
|
32
|
+
assert.deepStrictEqual(conditions.visibility, 15_000);
|
|
33
|
+
console.log("✅ AeroflyMissionConditions test successful");
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
{
|
|
37
|
+
const conditions = new AeroflyMissionConditions({
|
|
38
|
+
visibility_sm: 10,
|
|
39
|
+
});
|
|
40
|
+
assert.notDeepStrictEqual(conditions.visibility, 10);
|
|
41
|
+
assert.deepStrictEqual(Math.round(conditions.visibility_sm), 10);
|
|
20
42
|
console.log("✅ AeroflyMissionConditions test successful");
|
|
21
43
|
}
|
|
22
44
|
|
|
@@ -31,6 +53,10 @@ import { strict as assert } from "node:assert";
|
|
|
31
53
|
const cloud = new AeroflyMissionConditionsCloud(1, 1000);
|
|
32
54
|
assert.deepStrictEqual(cloud.cover, 1);
|
|
33
55
|
assert.deepStrictEqual(cloud.base, 1000);
|
|
56
|
+
|
|
57
|
+
cloud.base_feet = 1000;
|
|
58
|
+
assert.notDeepStrictEqual(cloud.base, 1000);
|
|
59
|
+
assert.deepStrictEqual(Math.round(cloud.base_feet), 1000);
|
|
34
60
|
console.log("✅ AeroflyMissionConditionsCloud test successful");
|
|
35
61
|
}
|
|
36
62
|
|
|
@@ -51,6 +77,13 @@ import { strict as assert } from "node:assert";
|
|
|
51
77
|
],
|
|
52
78
|
});
|
|
53
79
|
|
|
80
|
+
assert.strictEqual(conditions.wind.direction, 190);
|
|
81
|
+
assert.strictEqual(conditions.wind.speed, 11);
|
|
82
|
+
assert.strictEqual(conditions.wind.gusts, 22);
|
|
83
|
+
assert.strictEqual(conditions.turbulenceStrength, 1);
|
|
84
|
+
assert.strictEqual(conditions.thermalStrength, 0.31200000000000006);
|
|
85
|
+
assert.strictEqual(conditions.visibility, 14484.096000000001);
|
|
86
|
+
|
|
54
87
|
const checkpoints = [
|
|
55
88
|
new AeroflyMissionCheckpoint("KCCR", "origin", -122.057, 37.9897, {
|
|
56
89
|
altitude: 8,
|
|
@@ -104,11 +137,11 @@ import { strict as assert } from "node:assert";
|
|
|
104
137
|
assert.strictEqual(missionList.missions[0].aircraft.name, "c172");
|
|
105
138
|
assert.strictEqual(missionList.missions[0].aircraft.icao, "C172");
|
|
106
139
|
|
|
107
|
-
console.dir(missionList.missions[0], { depth: null });
|
|
140
|
+
//console.dir(missionList.missions[0], { depth: null });
|
|
108
141
|
|
|
109
142
|
const missionListString = missionList.toString();
|
|
110
143
|
|
|
111
|
-
console.log(missionListString);
|
|
144
|
+
//console.log(missionListString);
|
|
112
145
|
|
|
113
146
|
assert.ok(missionListString.includes("[origin]"));
|
|
114
147
|
assert.ok(missionListString.includes("[tmmission_definition]"));
|
package/src/index.ts
CHANGED
|
@@ -331,6 +331,7 @@ export class AeroflyMissionConditions {
|
|
|
331
331
|
* @param {number} [additionalAttributes.turbulenceStrength] 0..1, percentage
|
|
332
332
|
* @param {number} [additionalAttributes.thermalStrength] 0..1, percentage
|
|
333
333
|
* @param {number} [additionalAttributes.visibility] in meters
|
|
334
|
+
* @param {number?} [additionalAttributes.visibility_sm] in statute miles
|
|
334
335
|
* @param {AeroflyMissionConditionsCloud[]} [additionalAttributes.clouds] for the whole flight
|
|
335
336
|
*/
|
|
336
337
|
constructor({
|
|
@@ -343,6 +344,7 @@ export class AeroflyMissionConditions {
|
|
|
343
344
|
turbulenceStrength = 0,
|
|
344
345
|
thermalStrength = 0,
|
|
345
346
|
visibility = 25_000,
|
|
347
|
+
visibility_sm = null,
|
|
346
348
|
clouds = [],
|
|
347
349
|
}: {
|
|
348
350
|
time?: Date;
|
|
@@ -354,8 +356,12 @@ export class AeroflyMissionConditions {
|
|
|
354
356
|
turbulenceStrength?: number;
|
|
355
357
|
thermalStrength?: number;
|
|
356
358
|
visibility?: number;
|
|
359
|
+
visibility_sm?: number | null;
|
|
357
360
|
clouds?: AeroflyMissionConditionsCloud[];
|
|
358
361
|
} = {}) {
|
|
362
|
+
if (visibility_sm) {
|
|
363
|
+
visibility = visibility_sm * meterPerStatuteMile;
|
|
364
|
+
}
|
|
359
365
|
this.time = time;
|
|
360
366
|
this.wind = wind;
|
|
361
367
|
this.turbulenceStrength = turbulenceStrength;
|
|
@@ -389,6 +395,13 @@ export class AeroflyMissionConditions {
|
|
|
389
395
|
this.visibility = visibility_sm * meterPerStatuteMile;
|
|
390
396
|
}
|
|
391
397
|
|
|
398
|
+
/**
|
|
399
|
+
* @returns {number} `this.visibility` in statute miles instead of meters
|
|
400
|
+
*/
|
|
401
|
+
get visibility_sm(): number {
|
|
402
|
+
return this.visibility / meterPerStatuteMile;
|
|
403
|
+
}
|
|
404
|
+
|
|
392
405
|
/**
|
|
393
406
|
* @returns {string}
|
|
394
407
|
*/
|
|
@@ -420,7 +433,7 @@ export class AeroflyMissionConditions {
|
|
|
420
433
|
<[float64][wind_gusts][${this.wind.gusts}]> // kts
|
|
421
434
|
<[float64][turbulence_strength][${this.turbulenceStrength}]>
|
|
422
435
|
<[float64][thermal_strength][${this.thermalStrength}]>
|
|
423
|
-
<[float64][visibility][${this.visibility}]> // ${this.
|
|
436
|
+
<[float64][visibility][${this.visibility}]> // ${this.visibility_sm} SM
|
|
424
437
|
${this.getCloudsString()}
|
|
425
438
|
>`;
|
|
426
439
|
}
|
|
@@ -470,6 +483,13 @@ export class AeroflyMissionConditionsCloud {
|
|
|
470
483
|
this.base = base_feet / feetPerMeter;
|
|
471
484
|
}
|
|
472
485
|
|
|
486
|
+
/**
|
|
487
|
+
* @returns {number} `this.base` in feet instead of meters
|
|
488
|
+
*/
|
|
489
|
+
get base_feet(): number {
|
|
490
|
+
return this.base * feetPerMeter;
|
|
491
|
+
}
|
|
492
|
+
|
|
473
493
|
/**
|
|
474
494
|
* @returns {string} Cloud coverage as text representation like "OVC" for `this.cover`
|
|
475
495
|
*/
|
|
@@ -495,7 +515,7 @@ export class AeroflyMissionConditionsCloud {
|
|
|
495
515
|
const comment = index === 0 ? "" : "//";
|
|
496
516
|
|
|
497
517
|
return ` ${comment}<[float64][cloud_cover${indexString}][${this.cover ?? 0}]> // ${this.cover_code}
|
|
498
|
-
${comment}<[float64][cloud_base${indexString}][${this.base}]> // ${this.
|
|
518
|
+
${comment}<[float64][cloud_base${indexString}][${this.base}]> // ${this.base_feet} ft AGL`;
|
|
499
519
|
}
|
|
500
520
|
}
|
|
501
521
|
|
|
@@ -577,6 +597,7 @@ export class AeroflyMissionCheckpoint {
|
|
|
577
597
|
* @param {number} [additionalAttributes.direction] of runway, in degree
|
|
578
598
|
* @param {number?} [additionalAttributes.slope] of runway
|
|
579
599
|
* @param {number?} [additionalAttributes.length] of runway, in meters
|
|
600
|
+
* @param {number?} [additionalAttributes.length_feet] of runway, in feet
|
|
580
601
|
* @param {number?} [additionalAttributes.frequency] of runways or navigational aids, in Hz; multiply by 1000 for kHz, 1_000_000 for MHz
|
|
581
602
|
*/
|
|
582
603
|
constructor(
|
|
@@ -590,6 +611,7 @@ export class AeroflyMissionCheckpoint {
|
|
|
590
611
|
direction = null,
|
|
591
612
|
slope = null,
|
|
592
613
|
length = null,
|
|
614
|
+
length_feet = null,
|
|
593
615
|
frequency = null,
|
|
594
616
|
}: {
|
|
595
617
|
altitude?: number;
|
|
@@ -597,12 +619,16 @@ export class AeroflyMissionCheckpoint {
|
|
|
597
619
|
direction?: number | null;
|
|
598
620
|
slope?: number | null;
|
|
599
621
|
length?: number | null;
|
|
622
|
+
length_feet?: number | null;
|
|
600
623
|
frequency?: number | null;
|
|
601
624
|
} = {},
|
|
602
625
|
) {
|
|
603
626
|
if (altitude_feet) {
|
|
604
627
|
altitude = altitude_feet / feetPerMeter;
|
|
605
628
|
}
|
|
629
|
+
if (length_feet) {
|
|
630
|
+
length = length_feet / feetPerMeter;
|
|
631
|
+
}
|
|
606
632
|
|
|
607
633
|
this.type = type;
|
|
608
634
|
this.name = name;
|
|
@@ -622,6 +648,27 @@ export class AeroflyMissionCheckpoint {
|
|
|
622
648
|
this.altitude = altitude_feet / feetPerMeter;
|
|
623
649
|
}
|
|
624
650
|
|
|
651
|
+
/**
|
|
652
|
+
* @returns {number} altitude_feet
|
|
653
|
+
*/
|
|
654
|
+
get altitude_feet(): number {
|
|
655
|
+
return this.altitude * feetPerMeter;
|
|
656
|
+
}
|
|
657
|
+
|
|
658
|
+
/**
|
|
659
|
+
* @param {number} length_feet
|
|
660
|
+
*/
|
|
661
|
+
set length_feet(length_feet: number) {
|
|
662
|
+
this.length = length_feet / feetPerMeter;
|
|
663
|
+
}
|
|
664
|
+
|
|
665
|
+
/**
|
|
666
|
+
* @returns {number} length_feet
|
|
667
|
+
*/
|
|
668
|
+
get length_feet(): number {
|
|
669
|
+
return (this.length ?? 0) * feetPerMeter;
|
|
670
|
+
}
|
|
671
|
+
|
|
625
672
|
/**
|
|
626
673
|
* @returns {string}
|
|
627
674
|
*/
|
|
@@ -648,10 +695,10 @@ export class AeroflyMissionCheckpoint {
|
|
|
648
695
|
<[string8u][type][${this.type}]>
|
|
649
696
|
<[string8u][name][${this.name}]>
|
|
650
697
|
<[vector2_float64][lon_lat][${this.longitude} ${this.latitude}]>
|
|
651
|
-
<[float64][altitude][${this.altitude}]> // ${this.
|
|
698
|
+
<[float64][altitude][${this.altitude}]> // ${this.altitude_feet} ft
|
|
652
699
|
<[float64][direction][${this.direction ?? (index === 0 ? -1 : 0)}]>
|
|
653
700
|
<[float64][slope][${this.slope ?? 0}]>
|
|
654
|
-
<[float64][length][${this.length ?? 0}]> // ${
|
|
701
|
+
<[float64][length][${this.length ?? 0}]> // ${this.length_feet} ft
|
|
655
702
|
<[float64][frequency][${this.frequency ?? 0}]> // ${this.frequency_string}
|
|
656
703
|
>`;
|
|
657
704
|
}
|
package/types/index.d.ts
CHANGED
|
@@ -25,7 +25,15 @@ export type AeroflyMissionSetting = "taxi" | "takeoff" | "cruise" | "approach" |
|
|
|
25
25
|
/**
|
|
26
26
|
* Types of checkpoints. Required are usually "origin", "departure_runway" at the start and "destination_runway", "destination" at the end.
|
|
27
27
|
*/
|
|
28
|
-
export type AeroflyMissionCheckpointType =
|
|
28
|
+
export type AeroflyMissionCheckpointType =
|
|
29
|
+
| "origin"
|
|
30
|
+
| "departure_runway"
|
|
31
|
+
| "departure"
|
|
32
|
+
| "waypoint"
|
|
33
|
+
| "arrival"
|
|
34
|
+
| "approach"
|
|
35
|
+
| "destination_runway"
|
|
36
|
+
| "destination";
|
|
29
37
|
/**
|
|
30
38
|
* Data for the aircraft to use on this mission
|
|
31
39
|
* @property name lowercase Aerofly aircraft ID
|
|
@@ -131,16 +139,28 @@ export declare class AeroflyMission {
|
|
|
131
139
|
* @param {AeroflyMissionConditions} [additionalAttributes.conditions] like time and weather for mission
|
|
132
140
|
* @param {AeroflyMissionCheckpoint[]} [additionalAttributes.checkpoints] form the actual flight plan
|
|
133
141
|
*/
|
|
134
|
-
constructor(
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
142
|
+
constructor(
|
|
143
|
+
title: string,
|
|
144
|
+
{
|
|
145
|
+
description,
|
|
146
|
+
flightSetting,
|
|
147
|
+
aircraft,
|
|
148
|
+
callsign,
|
|
149
|
+
origin,
|
|
150
|
+
destination,
|
|
151
|
+
conditions,
|
|
152
|
+
checkpoints,
|
|
153
|
+
}?: {
|
|
154
|
+
description?: string;
|
|
155
|
+
flightSetting?: AeroflyMissionSetting;
|
|
156
|
+
aircraft?: AeroflyMissionAircraft;
|
|
157
|
+
callsign?: string;
|
|
158
|
+
origin?: AeroflyMissionPosition;
|
|
159
|
+
destination?: AeroflyMissionPosition;
|
|
160
|
+
conditions?: AeroflyMissionConditions;
|
|
161
|
+
checkpoints?: AeroflyMissionCheckpoint[];
|
|
162
|
+
},
|
|
163
|
+
);
|
|
144
164
|
/**
|
|
145
165
|
* @returns {string} indexed checkpoints
|
|
146
166
|
*/
|
|
@@ -193,9 +213,18 @@ export declare class AeroflyMissionConditions {
|
|
|
193
213
|
* @param {number} [additionalAttributes.turbulenceStrength] 0..1, percentage
|
|
194
214
|
* @param {number} [additionalAttributes.thermalStrength] 0..1, percentage
|
|
195
215
|
* @param {number} [additionalAttributes.visibility] in meters
|
|
216
|
+
* @param {number?} [additionalAttributes.visibility_sm] in statute miles
|
|
196
217
|
* @param {AeroflyMissionConditionsCloud[]} [additionalAttributes.clouds] for the whole flight
|
|
197
218
|
*/
|
|
198
|
-
constructor({
|
|
219
|
+
constructor({
|
|
220
|
+
time,
|
|
221
|
+
wind,
|
|
222
|
+
turbulenceStrength,
|
|
223
|
+
thermalStrength,
|
|
224
|
+
visibility,
|
|
225
|
+
visibility_sm,
|
|
226
|
+
clouds,
|
|
227
|
+
}?: {
|
|
199
228
|
time?: Date;
|
|
200
229
|
wind?: {
|
|
201
230
|
direction: number;
|
|
@@ -205,6 +234,7 @@ export declare class AeroflyMissionConditions {
|
|
|
205
234
|
turbulenceStrength?: number;
|
|
206
235
|
thermalStrength?: number;
|
|
207
236
|
visibility?: number;
|
|
237
|
+
visibility_sm?: number | null;
|
|
208
238
|
clouds?: AeroflyMissionConditionsCloud[];
|
|
209
239
|
});
|
|
210
240
|
/**
|
|
@@ -219,6 +249,10 @@ export declare class AeroflyMissionConditions {
|
|
|
219
249
|
* @param {number} visibility_sm `this.visibility` in statute miles instead of meters
|
|
220
250
|
*/
|
|
221
251
|
set visibility_sm(visibility_sm: number);
|
|
252
|
+
/**
|
|
253
|
+
* @returns {number} `this.visibility` in statute miles instead of meters
|
|
254
|
+
*/
|
|
255
|
+
get visibility_sm(): number;
|
|
222
256
|
/**
|
|
223
257
|
* @returns {string}
|
|
224
258
|
*/
|
|
@@ -260,6 +294,10 @@ export declare class AeroflyMissionConditionsCloud {
|
|
|
260
294
|
* @param {number} base_feet `this.base` in feet instead of meters
|
|
261
295
|
*/
|
|
262
296
|
set base_feet(base_feet: number);
|
|
297
|
+
/**
|
|
298
|
+
* @returns {number} `this.base` in feet instead of meters
|
|
299
|
+
*/
|
|
300
|
+
get base_feet(): number;
|
|
263
301
|
/**
|
|
264
302
|
* @returns {string} Cloud coverage as text representation like "OVC" for `this.cover`
|
|
265
303
|
*/
|
|
@@ -339,20 +377,48 @@ export declare class AeroflyMissionCheckpoint {
|
|
|
339
377
|
* @param {number} [additionalAttributes.direction] of runway, in degree
|
|
340
378
|
* @param {number?} [additionalAttributes.slope] of runway
|
|
341
379
|
* @param {number?} [additionalAttributes.length] of runway, in meters
|
|
380
|
+
* @param {number?} [additionalAttributes.length_feet] of runway, in feet
|
|
342
381
|
* @param {number?} [additionalAttributes.frequency] of runways or navigational aids, in Hz; multiply by 1000 for kHz, 1_000_000 for MHz
|
|
343
382
|
*/
|
|
344
|
-
constructor(
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
383
|
+
constructor(
|
|
384
|
+
name: string,
|
|
385
|
+
type: AeroflyMissionCheckpointType,
|
|
386
|
+
longitude: number,
|
|
387
|
+
latitude: number,
|
|
388
|
+
{
|
|
389
|
+
altitude,
|
|
390
|
+
altitude_feet,
|
|
391
|
+
direction,
|
|
392
|
+
slope,
|
|
393
|
+
length,
|
|
394
|
+
length_feet,
|
|
395
|
+
frequency,
|
|
396
|
+
}?: {
|
|
397
|
+
altitude?: number;
|
|
398
|
+
altitude_feet?: number | null;
|
|
399
|
+
direction?: number | null;
|
|
400
|
+
slope?: number | null;
|
|
401
|
+
length?: number | null;
|
|
402
|
+
length_feet?: number | null;
|
|
403
|
+
frequency?: number | null;
|
|
404
|
+
},
|
|
405
|
+
);
|
|
352
406
|
/**
|
|
353
407
|
* @param {number} altitude_feet
|
|
354
408
|
*/
|
|
355
409
|
set altitude_feet(altitude_feet: number);
|
|
410
|
+
/**
|
|
411
|
+
* @returns {number} altitude_feet
|
|
412
|
+
*/
|
|
413
|
+
get altitude_feet(): number;
|
|
414
|
+
/**
|
|
415
|
+
* @param {number} length_feet
|
|
416
|
+
*/
|
|
417
|
+
set length_feet(length_feet: number);
|
|
418
|
+
/**
|
|
419
|
+
* @returns {number} length_feet
|
|
420
|
+
*/
|
|
421
|
+
get length_feet(): number;
|
|
356
422
|
/**
|
|
357
423
|
* @returns {string}
|
|
358
424
|
*/
|
|
@@ -371,4 +437,4 @@ declare const _default: {
|
|
|
371
437
|
AeroflyMissionCheckpoint: typeof AeroflyMissionCheckpoint;
|
|
372
438
|
};
|
|
373
439
|
export default _default;
|
|
374
|
-
//# sourceMappingURL=index.d.ts.map
|
|
440
|
+
//# sourceMappingURL=index.d.ts.map
|
package/types/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/types/index.test.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=index.test.d.ts.map
|
|
2
|
+
//# sourceMappingURL=index.test.d.ts.map
|