@eveshipfit/dogma-engine 13.1.0 → 13.3.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/README.md CHANGED
@@ -32,6 +32,7 @@ import wasmInit, {
32
32
  save_eft,
33
33
  load_esi_fitting,
34
34
  save_esi_fitting,
35
+ post_load,
35
36
  load_killmail,
36
37
  load_link,
37
38
  calculate,
@@ -60,6 +61,8 @@ const eft = save_eft(fit);
60
61
  /* Or if you have a fitting a character saved in game, as ESI returns it (and the other way around): */
61
62
  const fromEsi = load_esi_fitting(fitting);
62
63
  const toEsi = save_esi_fitting(fit);
64
+ /* Neither EFT nor ESI has states; with the skills set, this sets the ones EVE gives an imported fit: */
65
+ const settled = post_load({ ...fromEsi, character: { skills } });
63
66
  /* Or if you have a killmail, as ESI returns it, for the fit of the ship that died: */
64
67
  const fromKillmail = load_killmail(killmail);
65
68
  /* Or if you have an EVEShip.fit link, `<version>:<payload>`, with the payload gunzipped and unbase64'd: */
@@ -545,6 +545,16 @@ export function calculate(fit: Fit, options?: Options | null): Calculation;
545
545
  */
546
546
  export function load_eft(eft: string): Fit;
547
547
 
548
+ /**
549
+ * Load a fit from an esf/1 document, as text.
550
+ */
551
+ export function load_esf(text: string): Fit;
552
+
553
+ /**
554
+ * Load a fit from an esf/1 link: the binary form, in base64url.
555
+ */
556
+ export function load_esf_link(link: string): Fit;
557
+
548
558
  /**
549
559
  * Load a fit from an ESI fitting, the fits a character saves in game.
550
560
  */
@@ -574,11 +584,27 @@ export function load_names(bytes: Uint8Array): number;
574
584
  */
575
585
  export function load_sde(bytes: Uint8Array): number;
576
586
 
587
+ /**
588
+ * Set a fit loaded from EFT or an ESI fitting to the states EVE gives it on
589
+ * import. Set the skills of the character first.
590
+ */
591
+ export function post_load(fit: Fit): Fit;
592
+
577
593
  /**
578
594
  * Write a fit as EFT, the text format EVE copies a fit to the clipboard in.
579
595
  */
580
596
  export function save_eft(fit: Fit): string;
581
597
 
598
+ /**
599
+ * Write a fit as an esf/1 document, as text.
600
+ */
601
+ export function save_esf(fit: Fit): string;
602
+
603
+ /**
604
+ * Write a fit as an esf/1 link: the binary form, in base64url.
605
+ */
606
+ export function save_esf_link(fit: Fit): string;
607
+
582
608
  /**
583
609
  * Write a fit as an ESI fitting, the fits a character saves in game.
584
610
  */
@@ -593,12 +619,17 @@ export interface InitOutput {
593
619
  readonly beacon: (a: number) => [number, number, number];
594
620
  readonly calculate: (a: any, b: number) => [number, number, number];
595
621
  readonly load_eft: (a: number, b: number) => [number, number, number];
622
+ readonly load_esf: (a: number, b: number) => [number, number, number];
623
+ readonly load_esf_link: (a: number, b: number) => [number, number, number];
596
624
  readonly load_esi_fitting: (a: any) => [number, number, number];
597
625
  readonly load_killmail: (a: any) => [number, number, number];
598
626
  readonly load_link: (a: number, b: number, c: number, d: number) => [number, number, number];
599
627
  readonly load_names: (a: number, b: number) => [number, number, number];
600
628
  readonly load_sde: (a: number, b: number) => [number, number, number];
629
+ readonly post_load: (a: any) => [number, number, number];
601
630
  readonly save_eft: (a: any) => [number, number, number, number];
631
+ readonly save_esf: (a: any) => [number, number, number, number];
632
+ readonly save_esf_link: (a: any) => [number, number, number, number];
602
633
  readonly save_esi_fitting: (a: any) => [number, number, number];
603
634
  readonly set_panic_hook: () => void;
604
635
  readonly __wbindgen_malloc: (a: number, b: number) => number;
@@ -43,6 +43,36 @@ export function load_eft(eft) {
43
43
  return takeFromExternrefTable0(ret[0]);
44
44
  }
45
45
 
46
+ /**
47
+ * Load a fit from an esf/1 document, as text.
48
+ * @param {string} text
49
+ * @returns {Fit}
50
+ */
51
+ export function load_esf(text) {
52
+ const ptr0 = passStringToWasm0(text, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
53
+ const len0 = WASM_VECTOR_LEN;
54
+ const ret = wasm.load_esf(ptr0, len0);
55
+ if (ret[2]) {
56
+ throw takeFromExternrefTable0(ret[1]);
57
+ }
58
+ return takeFromExternrefTable0(ret[0]);
59
+ }
60
+
61
+ /**
62
+ * Load a fit from an esf/1 link: the binary form, in base64url.
63
+ * @param {string} link
64
+ * @returns {Fit}
65
+ */
66
+ export function load_esf_link(link) {
67
+ const ptr0 = passStringToWasm0(link, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
68
+ const len0 = WASM_VECTOR_LEN;
69
+ const ret = wasm.load_esf_link(ptr0, len0);
70
+ if (ret[2]) {
71
+ throw takeFromExternrefTable0(ret[1]);
72
+ }
73
+ return takeFromExternrefTable0(ret[0]);
74
+ }
75
+
46
76
  /**
47
77
  * Load a fit from an ESI fitting, the fits a character saves in game.
48
78
  * @param {EsiFitting} fitting
@@ -121,6 +151,20 @@ export function load_sde(bytes) {
121
151
  return ret[0];
122
152
  }
123
153
 
154
+ /**
155
+ * Set a fit loaded from EFT or an ESI fitting to the states EVE gives it on
156
+ * import. Set the skills of the character first.
157
+ * @param {Fit} fit
158
+ * @returns {Fit}
159
+ */
160
+ export function post_load(fit) {
161
+ const ret = wasm.post_load(fit);
162
+ if (ret[2]) {
163
+ throw takeFromExternrefTable0(ret[1]);
164
+ }
165
+ return takeFromExternrefTable0(ret[0]);
166
+ }
167
+
124
168
  /**
125
169
  * Write a fit as EFT, the text format EVE copies a fit to the clipboard in.
126
170
  * @param {Fit} fit
@@ -145,6 +189,54 @@ export function save_eft(fit) {
145
189
  }
146
190
  }
147
191
 
192
+ /**
193
+ * Write a fit as an esf/1 document, as text.
194
+ * @param {Fit} fit
195
+ * @returns {string}
196
+ */
197
+ export function save_esf(fit) {
198
+ let deferred2_0;
199
+ let deferred2_1;
200
+ try {
201
+ const ret = wasm.save_esf(fit);
202
+ var ptr1 = ret[0];
203
+ var len1 = ret[1];
204
+ if (ret[3]) {
205
+ ptr1 = 0; len1 = 0;
206
+ throw takeFromExternrefTable0(ret[2]);
207
+ }
208
+ deferred2_0 = ptr1;
209
+ deferred2_1 = len1;
210
+ return getStringFromWasm0(ptr1, len1);
211
+ } finally {
212
+ wasm.__wbindgen_free(deferred2_0, deferred2_1, 1);
213
+ }
214
+ }
215
+
216
+ /**
217
+ * Write a fit as an esf/1 link: the binary form, in base64url.
218
+ * @param {Fit} fit
219
+ * @returns {string}
220
+ */
221
+ export function save_esf_link(fit) {
222
+ let deferred2_0;
223
+ let deferred2_1;
224
+ try {
225
+ const ret = wasm.save_esf_link(fit);
226
+ var ptr1 = ret[0];
227
+ var len1 = ret[1];
228
+ if (ret[3]) {
229
+ ptr1 = 0; len1 = 0;
230
+ throw takeFromExternrefTable0(ret[2]);
231
+ }
232
+ deferred2_0 = ptr1;
233
+ deferred2_1 = len1;
234
+ return getStringFromWasm0(ptr1, len1);
235
+ } finally {
236
+ wasm.__wbindgen_free(deferred2_0, deferred2_1, 1);
237
+ }
238
+ }
239
+
148
240
  /**
149
241
  * Write a fit as an ESI fitting, the fits a character saves in game.
150
242
  * @param {Fit} fit
Binary file
package/package.json CHANGED
@@ -5,7 +5,7 @@
5
5
  "EVEShipFit Team <info@eveship.fit>"
6
6
  ],
7
7
  "description": "Library to calculate statistics for EVE Online ship fits",
8
- "version": "13.1.0",
8
+ "version": "13.3.0",
9
9
  "license": "MIT",
10
10
  "repository": {
11
11
  "type": "git",