@fboes/aerofly-custom-missions 1.4.0 → 1.6.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.
- package/CHANGELOG.md +5 -0
- package/dist/dto-flight/AeroflyFlight.js +7 -1
- package/dist/dto-flight/AeroflySettingsFlight.js +3 -3
- package/dist/dto-flight/AeroflySettingsFlight.test.js +2 -2
- package/package.json +1 -1
- package/src/dto-flight/AeroflyFlight.ts +8 -1
- package/src/dto-flight/AeroflySettingsFlight.test.ts +3 -3
- package/src/dto-flight/AeroflySettingsFlight.ts +4 -4
- package/types/dto-flight/AeroflyFlight.d.ts +4 -0
- package/types/dto-flight/AeroflyFlight.d.ts.map +1 -1
- package/types/dto-flight/AeroflySettingsFlight.d.ts +2 -2
- package/types/dto-flight/AeroflySettingsFlight.d.ts.map +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
This changelog documents all notable changes to the Aerofly Custom Missions project. Each version entry includes a list of changes, with the most recent version at the top.
|
|
4
4
|
|
|
5
|
+
## [1.5.0]
|
|
6
|
+
|
|
7
|
+
- Added clouds elements getter
|
|
8
|
+
- Fixed spelling error for `configuration`, which changes the API
|
|
9
|
+
|
|
5
10
|
## [1.4.0]
|
|
6
11
|
|
|
7
12
|
- Changed testing to standard Node.js testing suite
|
|
@@ -76,8 +76,14 @@ export class AeroflyFlight {
|
|
|
76
76
|
getCloudElements() {
|
|
77
77
|
return this.clouds.flatMap((c, index) => (index < 3 ? c.getElements(index) : []));
|
|
78
78
|
}
|
|
79
|
+
/**
|
|
80
|
+
* @returns {AeroflyConfigurationNode} element containing all clouds
|
|
81
|
+
*/
|
|
82
|
+
getCloudsElement() {
|
|
83
|
+
return new AeroflyConfigurationNode("tmsettings_clouds", "clouds").append(...this.getCloudElements());
|
|
84
|
+
}
|
|
79
85
|
getElement() {
|
|
80
|
-
return new AeroflyConfigurationNode("file", "").append(new AeroflyConfigurationNode("tmsettings_sim", "").append(this.aircraft.getElement(), this.flightSetting.getElement(), this.fuelLoadSetting.getElement(), this.timeUtc.getElement(), new AeroflyConfigurationNode("float64", "visibility", this.visibility, `${this.visibility_sm.toPrecision(2)} SM`), this.wind.getElement(),
|
|
86
|
+
return new AeroflyConfigurationNode("file", "").append(new AeroflyConfigurationNode("tmsettings_sim", "").append(this.aircraft.getElement(), this.flightSetting.getElement(), this.fuelLoadSetting.getElement(), this.timeUtc.getElement(), new AeroflyConfigurationNode("float64", "visibility", this.visibility, `${this.visibility_sm.toPrecision(2)} SM`), this.wind.getElement(), this.getCloudsElement(), this.navigation.getElement()));
|
|
81
87
|
}
|
|
82
88
|
/**
|
|
83
89
|
* @returns {string} to use in Aerofly FS4's `main.mcf`
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Convert } from "../node/Convert.js";
|
|
2
2
|
import { AeroflyConfigurationNode } from "../node/AeroflyConfigurationNode.js";
|
|
3
3
|
export class AeroflySettingsFlight {
|
|
4
|
-
constructor(longitude, latitude, altitude_meter, heading_degree, speed_kts = 0, { gear = 1, throttle = 0, flaps = 0,
|
|
4
|
+
constructor(longitude, latitude, altitude_meter, heading_degree, speed_kts = 0, { gear = 1, throttle = 0, flaps = 0, configuration = "OnGround", onGround = true, airport = "", runway = "", } = {}) {
|
|
5
5
|
this.longitude = longitude;
|
|
6
6
|
this.latitude = latitude;
|
|
7
7
|
this.altitude_meter = altitude_meter;
|
|
@@ -10,7 +10,7 @@ export class AeroflySettingsFlight {
|
|
|
10
10
|
this.gear = gear;
|
|
11
11
|
this.throttle = throttle;
|
|
12
12
|
this.flaps = flaps;
|
|
13
|
-
this.
|
|
13
|
+
this.configuration = configuration;
|
|
14
14
|
this.onGround = onGround;
|
|
15
15
|
this.airport = airport;
|
|
16
16
|
this.runway = runway;
|
|
@@ -81,7 +81,7 @@ export class AeroflySettingsFlight {
|
|
|
81
81
|
.appendChild("float64", "gear", this.gear)
|
|
82
82
|
.appendChild("float64", "throttle", this.throttle)
|
|
83
83
|
.appendChild("float64", "flaps", this.flaps)
|
|
84
|
-
.appendChild("flight_configuration", "configuration", this.
|
|
84
|
+
.appendChild("flight_configuration", "configuration", this.configuration)
|
|
85
85
|
.appendChild("bool", "on_ground", this.onGround)
|
|
86
86
|
.appendChild("string8u", "airport", this.airport)
|
|
87
87
|
.appendChild("string8u", "runway", this.runway);
|
|
@@ -8,7 +8,7 @@ describe("AeroflySettingsFlight", () => {
|
|
|
8
8
|
gear: 1,
|
|
9
9
|
throttle: 0.5,
|
|
10
10
|
flaps: 0.25,
|
|
11
|
-
|
|
11
|
+
configuration: "Keep",
|
|
12
12
|
onGround: false,
|
|
13
13
|
airport: "KSEA",
|
|
14
14
|
runway: "16L",
|
|
@@ -21,7 +21,7 @@ describe("AeroflySettingsFlight", () => {
|
|
|
21
21
|
assert.strictEqual(flight.gear, 1, `Expected gear to be 1, got ${flight.gear}`);
|
|
22
22
|
assert.strictEqual(flight.throttle, 0.5, `Expected throttle to be 0.5, got ${flight.throttle}`);
|
|
23
23
|
assert.strictEqual(flight.flaps, 0.25, `Expected flaps to be 0.25, got ${flight.flaps}`);
|
|
24
|
-
assert.strictEqual(flight.
|
|
24
|
+
assert.strictEqual(flight.configuration, "Keep", `Expected configuration to be Keep, got ${flight.configuration}`);
|
|
25
25
|
assert.strictEqual(flight.onGround, false, `Expected onGround to be false, got ${flight.onGround}`);
|
|
26
26
|
assert.strictEqual(flight.airport, "KSEA", `Expected airport to be KSEA, got ${flight.airport}`);
|
|
27
27
|
assert.strictEqual(flight.runway, "16L", `Expected runway to be 16L, got ${flight.runway}`);
|
package/package.json
CHANGED
|
@@ -144,6 +144,13 @@ export class AeroflyFlight {
|
|
|
144
144
|
return this.clouds.flatMap((c: AeroflySettingsCloud, index: number) => (index < 3 ? c.getElements(index) : []));
|
|
145
145
|
}
|
|
146
146
|
|
|
147
|
+
/**
|
|
148
|
+
* @returns {AeroflyConfigurationNode} element containing all clouds
|
|
149
|
+
*/
|
|
150
|
+
getCloudsElement(): AeroflyConfigurationNode {
|
|
151
|
+
return new AeroflyConfigurationNode("tmsettings_clouds", "clouds").append(...this.getCloudElements());
|
|
152
|
+
}
|
|
153
|
+
|
|
147
154
|
getElement(): AeroflyConfigurationNode {
|
|
148
155
|
return new AeroflyConfigurationNode("file", "").append(
|
|
149
156
|
new AeroflyConfigurationNode("tmsettings_sim", "").append(
|
|
@@ -158,7 +165,7 @@ export class AeroflyFlight {
|
|
|
158
165
|
`${this.visibility_sm.toPrecision(2)} SM`,
|
|
159
166
|
),
|
|
160
167
|
this.wind.getElement(),
|
|
161
|
-
|
|
168
|
+
this.getCloudsElement(),
|
|
162
169
|
this.navigation.getElement(),
|
|
163
170
|
),
|
|
164
171
|
);
|
|
@@ -10,7 +10,7 @@ describe("AeroflySettingsFlight", () => {
|
|
|
10
10
|
gear: 1,
|
|
11
11
|
throttle: 0.5,
|
|
12
12
|
flaps: 0.25,
|
|
13
|
-
|
|
13
|
+
configuration: "Keep",
|
|
14
14
|
onGround: false,
|
|
15
15
|
airport: "KSEA",
|
|
16
16
|
runway: "16L",
|
|
@@ -28,9 +28,9 @@ describe("AeroflySettingsFlight", () => {
|
|
|
28
28
|
assert.strictEqual(flight.throttle, 0.5, `Expected throttle to be 0.5, got ${flight.throttle}`);
|
|
29
29
|
assert.strictEqual(flight.flaps, 0.25, `Expected flaps to be 0.25, got ${flight.flaps}`);
|
|
30
30
|
assert.strictEqual(
|
|
31
|
-
flight.
|
|
31
|
+
flight.configuration,
|
|
32
32
|
"Keep",
|
|
33
|
-
`Expected
|
|
33
|
+
`Expected configuration to be Keep, got ${flight.configuration}`,
|
|
34
34
|
);
|
|
35
35
|
assert.strictEqual(flight.onGround, false, `Expected onGround to be false, got ${flight.onGround}`);
|
|
36
36
|
assert.strictEqual(flight.airport, "KSEA", `Expected airport to be KSEA, got ${flight.airport}`);
|
|
@@ -5,7 +5,7 @@ export class AeroflySettingsFlight {
|
|
|
5
5
|
gear: number;
|
|
6
6
|
throttle: number;
|
|
7
7
|
flaps: number;
|
|
8
|
-
|
|
8
|
+
configuration: "Keep" | "OnGround" | "Cruise";
|
|
9
9
|
onGround: boolean;
|
|
10
10
|
airport: string;
|
|
11
11
|
runway: string;
|
|
@@ -20,7 +20,7 @@ export class AeroflySettingsFlight {
|
|
|
20
20
|
gear = 1,
|
|
21
21
|
throttle = 0,
|
|
22
22
|
flaps = 0,
|
|
23
|
-
|
|
23
|
+
configuration = "OnGround",
|
|
24
24
|
onGround = true,
|
|
25
25
|
airport = "",
|
|
26
26
|
runway = "",
|
|
@@ -29,7 +29,7 @@ export class AeroflySettingsFlight {
|
|
|
29
29
|
this.gear = gear;
|
|
30
30
|
this.throttle = throttle;
|
|
31
31
|
this.flaps = flaps;
|
|
32
|
-
this.
|
|
32
|
+
this.configuration = configuration;
|
|
33
33
|
this.onGround = onGround;
|
|
34
34
|
this.airport = airport;
|
|
35
35
|
this.runway = runway;
|
|
@@ -142,7 +142,7 @@ export class AeroflySettingsFlight {
|
|
|
142
142
|
.appendChild("float64", "gear", this.gear)
|
|
143
143
|
.appendChild("float64", "throttle", this.throttle)
|
|
144
144
|
.appendChild("float64", "flaps", this.flaps)
|
|
145
|
-
.appendChild("flight_configuration", "configuration", this.
|
|
145
|
+
.appendChild("flight_configuration", "configuration", this.configuration)
|
|
146
146
|
.appendChild("bool", "on_ground", this.onGround)
|
|
147
147
|
.appendChild("string8u", "airport", this.airport)
|
|
148
148
|
.appendChild("string8u", "runway", this.runway);
|
|
@@ -90,6 +90,10 @@ export declare class AeroflyFlight {
|
|
|
90
90
|
* @returns {AeroflyConfigurationNode[]} cloud elements
|
|
91
91
|
*/
|
|
92
92
|
getCloudElements(): AeroflyConfigurationNode[];
|
|
93
|
+
/**
|
|
94
|
+
* @returns {AeroflyConfigurationNode} element containing all clouds
|
|
95
|
+
*/
|
|
96
|
+
getCloudsElement(): AeroflyConfigurationNode;
|
|
93
97
|
getElement(): AeroflyConfigurationNode;
|
|
94
98
|
/**
|
|
95
99
|
* @returns {string} to use in Aerofly FS4's `main.mcf`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AeroflyFlight.d.ts","sourceRoot":"","sources":["../../src/dto-flight/AeroflyFlight.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,wBAAwB,EAAE,MAAM,qCAAqC,CAAC;AAE/E,qBAAa,aAAa;IACtB;;OAEG;IACH,QAAQ,EAAE,uBAAuB,CAAC;IAElC;;OAEG;IACH,aAAa,EAAE,qBAAqB,CAAC;IAErC;;OAEG;IACH,eAAe,EAAE,uBAAuB,CAAC;IAEzC;;OAEG;IACH,OAAO,EAAE,cAAc,CAAC;IAExB;;OAEG;IACH,IAAI,EAAE,mBAAmB,CAAC;IAE1B;;;OAGG;IACH,MAAM,EAAE,oBAAoB,EAAE,CAAC;IAE/B;;OAEG;IACH,UAAU,EAAE,uBAAuB,CAAC;IAEpC;;OAEG;IACH,gBAAgB,EAAE,MAAM,CAAC;IAEzB;;;;;;;;;;;;;OAaG;gBAEC,QAAQ,EAAE,uBAAuB,EACjC,aAAa,EAAE,qBAAqB,EACpC,OAAO,EAAE,cAAc,EACvB,IAAI,EAAE,mBAAmB,EACzB,MAAM,EAAE,oBAAoB,EAAE,EAC9B,UAAU,EAAE,uBAAuB,EACnC,EACI,eAA+C,EAC/C,gBAAuB,EACvB,UAAc,EACd,aAAiB,GACpB,GAAE,OAAO,CAAC,aAAa,CAAM;IAmBlC;;OAEG;IACH,IAAI,aAAa,IAAI,MAAM,CAE1B;IAED,IAAI,aAAa,CAAC,aAAa,EAAE,MAAM,EAEtC;IAED;;;;OAIG;IACH,IAAI,UAAU,IAAI,MAAM,CAEvB;IAED,IAAI,UAAU,CAAC,UAAU,EAAE,MAAM,EAEhC;IAED;;;;;;;;;OASG;IACH,eAAe,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI;IAS3C;;OAEG;IACH,gBAAgB,IAAI,wBAAwB,EAAE;IAI9C,UAAU,IAAI,wBAAwB;IAoBtC;;OAEG;IACH,QAAQ,IAAI,MAAM;IAIlB;;OAEG;IACH,WAAW,IAAI,MAAM;CAGxB"}
|
|
1
|
+
{"version":3,"file":"AeroflyFlight.d.ts","sourceRoot":"","sources":["../../src/dto-flight/AeroflyFlight.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,wBAAwB,EAAE,MAAM,qCAAqC,CAAC;AAE/E,qBAAa,aAAa;IACtB;;OAEG;IACH,QAAQ,EAAE,uBAAuB,CAAC;IAElC;;OAEG;IACH,aAAa,EAAE,qBAAqB,CAAC;IAErC;;OAEG;IACH,eAAe,EAAE,uBAAuB,CAAC;IAEzC;;OAEG;IACH,OAAO,EAAE,cAAc,CAAC;IAExB;;OAEG;IACH,IAAI,EAAE,mBAAmB,CAAC;IAE1B;;;OAGG;IACH,MAAM,EAAE,oBAAoB,EAAE,CAAC;IAE/B;;OAEG;IACH,UAAU,EAAE,uBAAuB,CAAC;IAEpC;;OAEG;IACH,gBAAgB,EAAE,MAAM,CAAC;IAEzB;;;;;;;;;;;;;OAaG;gBAEC,QAAQ,EAAE,uBAAuB,EACjC,aAAa,EAAE,qBAAqB,EACpC,OAAO,EAAE,cAAc,EACvB,IAAI,EAAE,mBAAmB,EACzB,MAAM,EAAE,oBAAoB,EAAE,EAC9B,UAAU,EAAE,uBAAuB,EACnC,EACI,eAA+C,EAC/C,gBAAuB,EACvB,UAAc,EACd,aAAiB,GACpB,GAAE,OAAO,CAAC,aAAa,CAAM;IAmBlC;;OAEG;IACH,IAAI,aAAa,IAAI,MAAM,CAE1B;IAED,IAAI,aAAa,CAAC,aAAa,EAAE,MAAM,EAEtC;IAED;;;;OAIG;IACH,IAAI,UAAU,IAAI,MAAM,CAEvB;IAED,IAAI,UAAU,CAAC,UAAU,EAAE,MAAM,EAEhC;IAED;;;;;;;;;OASG;IACH,eAAe,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI;IAS3C;;OAEG;IACH,gBAAgB,IAAI,wBAAwB,EAAE;IAI9C;;OAEG;IACH,gBAAgB,IAAI,wBAAwB;IAI5C,UAAU,IAAI,wBAAwB;IAoBtC;;OAEG;IACH,QAAQ,IAAI,MAAM;IAIlB;;OAEG;IACH,WAAW,IAAI,MAAM;CAGxB"}
|
|
@@ -9,7 +9,7 @@ export declare class AeroflySettingsFlight {
|
|
|
9
9
|
gear: number;
|
|
10
10
|
throttle: number;
|
|
11
11
|
flaps: number;
|
|
12
|
-
|
|
12
|
+
configuration: "Keep" | "OnGround" | "Cruise";
|
|
13
13
|
onGround: boolean;
|
|
14
14
|
airport: string;
|
|
15
15
|
runway: string;
|
|
@@ -19,7 +19,7 @@ export declare class AeroflySettingsFlight {
|
|
|
19
19
|
altitude_meter: number,
|
|
20
20
|
heading_degree: number,
|
|
21
21
|
speed_kts?: number,
|
|
22
|
-
{ gear, throttle, flaps,
|
|
22
|
+
{ gear, throttle, flaps, configuration, onGround, airport, runway }?: Partial<AeroflySettingsFlight>,
|
|
23
23
|
);
|
|
24
24
|
static createInFeet(
|
|
25
25
|
longitude: number,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AeroflySettingsFlight.d.ts","sourceRoot":"","sources":["../../src/dto-flight/AeroflySettingsFlight.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAW,MAAM,oBAAoB,CAAC;AACvF,OAAO,EAAE,wBAAwB,EAAE,MAAM,qCAAqC,CAAC;AAE/E,qBAAa,qBAAqB;IAUnB,SAAS,EAAE,MAAM;IACjB,QAAQ,EAAE,MAAM;IAChB,cAAc,EAAE,MAAM;IACtB,cAAc,EAAE,MAAM;IACtB,SAAS,EAAE,MAAM;IAb5B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,
|
|
1
|
+
{"version":3,"file":"AeroflySettingsFlight.d.ts","sourceRoot":"","sources":["../../src/dto-flight/AeroflySettingsFlight.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAW,MAAM,oBAAoB,CAAC;AACvF,OAAO,EAAE,wBAAwB,EAAE,MAAM,qCAAqC,CAAC;AAE/E,qBAAa,qBAAqB;IAUnB,SAAS,EAAE,MAAM;IACjB,QAAQ,EAAE,MAAM;IAChB,cAAc,EAAE,MAAM;IACtB,cAAc,EAAE,MAAM;IACtB,SAAS,EAAE,MAAM;IAb5B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,GAAG,UAAU,GAAG,QAAQ,CAAC;IAC9C,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;gBAGJ,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,MAAM,EACtB,cAAc,EAAE,MAAM,EACtB,SAAS,GAAE,MAAU,EAC5B,EACI,IAAQ,EACR,QAAY,EACZ,KAAS,EACT,aAA0B,EAC1B,QAAe,EACf,OAAY,EACZ,MAAW,GACd,GAAE,OAAO,CAAC,qBAAqB,CAAM;IAW1C,MAAM,CAAC,YAAY,CACf,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,cAAc,EAAE,MAAM,EACtB,SAAS,GAAE,MAAU,EACrB,oBAAoB,GAAE,OAAO,CAAC,qBAAqB,CAAM,GAC1D,qBAAqB;IAWxB,MAAM,CAAC,iBAAiB,CACpB,QAAQ,EAAE,mBAAmB,EAC7B,QAAQ,EAAE,mBAAmB,EAC7B,WAAW,EAAE,mBAAmB,EAChC,oBAAoB,GAAE,OAAO,CAAC,qBAAqB,CAAM,GAC1D,qBAAqB;IAQxB;;OAEG;IACH,IAAI,QAAQ,IAAI,mBAAmB,CAElC;IAED,IAAI,QAAQ,CAAC,QAAQ,EAAE,mBAAmB,EAKzC;IAED;;OAEG;IACH,IAAI,QAAQ,IAAI,mBAAmB,CAIlC;IAED,IAAI,QAAQ,CAAC,QAAQ,EAAE,mBAAmB,EAGzC;IAED,IAAI,WAAW,IAAI,mBAAmB,CAErC;IAED,IAAI,WAAW,CAAC,WAAW,EAAE,mBAAmB,EAE/C;IAED;;OAEG;IACH,IAAI,WAAW,IAAI,MAAM,CAExB;IAED,IAAI,WAAW,CAAC,WAAW,EAAE,MAAM,EAElC;IAED;;OAEG;IACH,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED,IAAI,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAE5B;IAED,UAAU,IAAI,wBAAwB;IAwBtC;;OAEG;IACH,QAAQ,IAAI,MAAM;CAGrB"}
|