@volant-autonomy/via-sdk 1.3595.1 → 1.3622.1
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/dist/direct.d.ts +144 -1
- package/dist/fetch.d.ts +2 -1
- package/dist/index.cjs.js +87 -20
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm.js +87 -20
- package/dist/index.esm.js.map +1 -1
- package/dist/types.d.ts +3 -7
- package/dist/volant-schema.d.ts +52 -55
- package/package.json +4 -8
package/dist/direct.d.ts
CHANGED
|
@@ -1,10 +1,14 @@
|
|
|
1
1
|
import createFetcher from './fetch';
|
|
2
|
-
import { bodyOf, queryOf, pathOf } from './types';
|
|
2
|
+
import { bodyOf, queryOf, pathOf, schemas, PathingTaskState } from './types';
|
|
3
3
|
import type { paths } from './volant-schema';
|
|
4
4
|
type requestOptions = {
|
|
5
5
|
abortKey?: string;
|
|
6
6
|
fetch?: typeof globalThis.fetch;
|
|
7
7
|
};
|
|
8
|
+
type PathingTaskEvent = {
|
|
9
|
+
state: PathingTaskState;
|
|
10
|
+
terminated: boolean;
|
|
11
|
+
};
|
|
8
12
|
export type getAllFlightplans = paths['/flightplans/']['get'];
|
|
9
13
|
export type createDraftFlightplan = paths['/flightplans/']['post'];
|
|
10
14
|
export type modifyDraftFlightplan = paths['/flightplans/{flightplan_id}']['put'];
|
|
@@ -22,6 +26,7 @@ export type modifyAirspaceConstraint = paths['/airspace_constraints/{airspace_co
|
|
|
22
26
|
export type changeAirspaceConstraintState = paths['/airspace_constraints/{airspace_constraints_id}/state']['post'];
|
|
23
27
|
export type createPathingTask = paths['/pathing_tasks/']['post'];
|
|
24
28
|
export type getPathingTask = paths['/pathing_tasks/{pathing_task_id}']['get'];
|
|
29
|
+
export type getPathingTaskStateStream = paths['/pathing_tasks/{pathing_task_id}/state']['get'];
|
|
25
30
|
export type getAllCharts = paths['/charts/']['get'];
|
|
26
31
|
export type getChart = paths['/charts/{chart_id}']['get'];
|
|
27
32
|
export type getSailV2_5 = paths['/risk_assessment/sora/v2.5/sail']['get'];
|
|
@@ -55,6 +60,10 @@ export type getAllGeocages = paths['/geocages/']['get'];
|
|
|
55
60
|
export type createGeocage = paths['/geocages/']['post'];
|
|
56
61
|
export type updateGeocage = paths['/geocages/{geocage_id}']['put'];
|
|
57
62
|
export type deleteGeocage = paths['/geocages/{geocage_id}']['delete'];
|
|
63
|
+
export type getCostDataset = paths['/cost_datasets/{cost_dataset_id}']['get'];
|
|
64
|
+
export type getAllCostDatasets = paths['/cost_datasets/']['get'];
|
|
65
|
+
export type createCostDataset = paths['/cost_datasets/']['post'];
|
|
66
|
+
export type deleteCostDataset = paths['/cost_datasets/{cost_dataset_id}']['delete'];
|
|
58
67
|
export declare class Direct {
|
|
59
68
|
private fetcher;
|
|
60
69
|
constructor(fetcher: ReturnType<typeof createFetcher<paths>>);
|
|
@@ -590,6 +599,16 @@ export declare class Direct {
|
|
|
590
599
|
response: Response;
|
|
591
600
|
aborted: false;
|
|
592
601
|
}>;
|
|
602
|
+
/**
|
|
603
|
+
* Receive state change updates for a pathing task
|
|
604
|
+
* @description Opens a persistent connection that sends real-time updates about changes in a pathing task's state using Server-Sent
|
|
605
|
+
* Events (SSE).
|
|
606
|
+
*
|
|
607
|
+
* Provides an event stream that can be connected to that will provide updates when the state of the specified pathing
|
|
608
|
+
* task changes. Once it has reached it's final state, the last update is pushed and the stream is automatically
|
|
609
|
+
* closed.
|
|
610
|
+
*/
|
|
611
|
+
getPathingTaskStateStream(id: pathOf<getPathingTaskStateStream>['pathing_task_id'], onMessage?: (payload: PathingTaskEvent) => void, onFail?: () => void): Promise<PathingTaskEvent>;
|
|
593
612
|
/**
|
|
594
613
|
* List all available Charts
|
|
595
614
|
* @description List user's charts, including chart id and bounds.
|
|
@@ -1533,6 +1552,130 @@ export declare class Direct {
|
|
|
1533
1552
|
response: Response;
|
|
1534
1553
|
aborted: false;
|
|
1535
1554
|
}>;
|
|
1555
|
+
/**
|
|
1556
|
+
* Get a Cost Dataset
|
|
1557
|
+
* @description Get a Cost Dataset
|
|
1558
|
+
*/
|
|
1559
|
+
getCostDataset<Opts extends requestOptions = {}>(id: pathOf<getCostDataset>['cost_dataset_id'], opts?: Opts | requestOptions): Promise<{
|
|
1560
|
+
data?: never;
|
|
1561
|
+
error: {
|
|
1562
|
+
errors: {
|
|
1563
|
+
detail: string;
|
|
1564
|
+
status: "401" | "400" | "422" | "404";
|
|
1565
|
+
}[];
|
|
1566
|
+
status: "401" | "400" | "422" | "404";
|
|
1567
|
+
};
|
|
1568
|
+
response: Response;
|
|
1569
|
+
aborted: false;
|
|
1570
|
+
} | (keyof Opts extends never ? never : Opts["abortKey"] extends undefined ? never : Opts["abortKey"] extends string | undefined ? {
|
|
1571
|
+
data?: never;
|
|
1572
|
+
error?: never;
|
|
1573
|
+
response?: never;
|
|
1574
|
+
aborted: true;
|
|
1575
|
+
} : never) | {
|
|
1576
|
+
data: {
|
|
1577
|
+
id: string;
|
|
1578
|
+
type?: "cost_dataset";
|
|
1579
|
+
attributes: import("./volant-schema").components["schemas"]["CostDatasetAttributes"];
|
|
1580
|
+
};
|
|
1581
|
+
error?: never;
|
|
1582
|
+
response: Response;
|
|
1583
|
+
aborted: false;
|
|
1584
|
+
}>;
|
|
1585
|
+
/**
|
|
1586
|
+
* List Cost Datasets
|
|
1587
|
+
* @description Get a list of Cost Datasets, ordered by last time updated
|
|
1588
|
+
*/
|
|
1589
|
+
getAllCostDatasets<Opts extends requestOptions = {}>(args: queryOf<getAllCostDatasets>, opts?: Opts | requestOptions): Promise<{
|
|
1590
|
+
data?: never;
|
|
1591
|
+
error: {
|
|
1592
|
+
errors: {
|
|
1593
|
+
detail: string;
|
|
1594
|
+
status: "401" | "400" | "422";
|
|
1595
|
+
}[];
|
|
1596
|
+
status: "401" | "400" | "422";
|
|
1597
|
+
};
|
|
1598
|
+
response: Response;
|
|
1599
|
+
aborted: false;
|
|
1600
|
+
} | (keyof Opts extends never ? never : Opts["abortKey"] extends undefined ? never : Opts["abortKey"] extends string | undefined ? {
|
|
1601
|
+
data?: never;
|
|
1602
|
+
error?: never;
|
|
1603
|
+
response?: never;
|
|
1604
|
+
aborted: true;
|
|
1605
|
+
} : never) | {
|
|
1606
|
+
data: {
|
|
1607
|
+
id: string;
|
|
1608
|
+
type?: "cost_dataset";
|
|
1609
|
+
attributes: import("./volant-schema").components["schemas"]["CostDatasetAttributes"];
|
|
1610
|
+
}[];
|
|
1611
|
+
error?: never;
|
|
1612
|
+
response: Response;
|
|
1613
|
+
aborted: false;
|
|
1614
|
+
}>;
|
|
1615
|
+
/**
|
|
1616
|
+
* Create a Cost Dataset
|
|
1617
|
+
* @description Create a Cost Dataset
|
|
1618
|
+
*/
|
|
1619
|
+
createCostDataset<Opts extends requestOptions = {}>(args: {
|
|
1620
|
+
chart_id: string;
|
|
1621
|
+
valid_time_ranges: schemas['RasterValidityTime'][];
|
|
1622
|
+
geotiff: Blob;
|
|
1623
|
+
}, opts?: Opts | requestOptions): Promise<{
|
|
1624
|
+
data?: never;
|
|
1625
|
+
error: {
|
|
1626
|
+
errors: {
|
|
1627
|
+
detail: string;
|
|
1628
|
+
status: "401" | "400" | "422" | "403";
|
|
1629
|
+
}[];
|
|
1630
|
+
status: "401" | "400" | "422" | "403";
|
|
1631
|
+
};
|
|
1632
|
+
response: Response;
|
|
1633
|
+
aborted: false;
|
|
1634
|
+
} | ("contentType" | keyof Opts extends never ? never : (Opts & {
|
|
1635
|
+
contentType: "none";
|
|
1636
|
+
})["abortKey"] extends undefined ? never : (Opts & {
|
|
1637
|
+
contentType: "none";
|
|
1638
|
+
})["abortKey"] extends string | undefined ? {
|
|
1639
|
+
data?: never;
|
|
1640
|
+
error?: never;
|
|
1641
|
+
response?: never;
|
|
1642
|
+
aborted: true;
|
|
1643
|
+
} : never) | {
|
|
1644
|
+
data: {
|
|
1645
|
+
id: string;
|
|
1646
|
+
type?: "cost_dataset";
|
|
1647
|
+
attributes: import("./volant-schema").components["schemas"]["CostDatasetAttributes"];
|
|
1648
|
+
};
|
|
1649
|
+
error?: never;
|
|
1650
|
+
response: Response;
|
|
1651
|
+
aborted: false;
|
|
1652
|
+
}>;
|
|
1653
|
+
/**
|
|
1654
|
+
* Delete a Cost Dataset
|
|
1655
|
+
* @description Delete a Cost Dataset.
|
|
1656
|
+
*/
|
|
1657
|
+
deleteCostDataset<Opts extends requestOptions = {}>(id: pathOf<deleteCostDataset>['cost_dataset_id'], opts?: Opts | requestOptions): Promise<{
|
|
1658
|
+
data?: never;
|
|
1659
|
+
error: {
|
|
1660
|
+
errors: {
|
|
1661
|
+
detail: string;
|
|
1662
|
+
status: "401" | "400" | "422" | "404";
|
|
1663
|
+
}[];
|
|
1664
|
+
status: "401" | "400" | "422" | "404";
|
|
1665
|
+
};
|
|
1666
|
+
response: Response;
|
|
1667
|
+
aborted: false;
|
|
1668
|
+
} | (keyof Opts extends never ? never : Opts["abortKey"] extends undefined ? never : Opts["abortKey"] extends string | undefined ? {
|
|
1669
|
+
data?: never;
|
|
1670
|
+
error?: never;
|
|
1671
|
+
response?: never;
|
|
1672
|
+
aborted: true;
|
|
1673
|
+
} : never) | {
|
|
1674
|
+
data: boolean;
|
|
1675
|
+
error?: never;
|
|
1676
|
+
response: Response;
|
|
1677
|
+
aborted: false;
|
|
1678
|
+
}>;
|
|
1536
1679
|
/**
|
|
1537
1680
|
* Generate a raster pattern
|
|
1538
1681
|
* @description Generate a raster pattern that covers a specified search polygon
|
package/dist/fetch.d.ts
CHANGED
|
@@ -5,6 +5,7 @@ type requestOptions = {
|
|
|
5
5
|
abortKey?: string;
|
|
6
6
|
fetch?: typeof globalThis.fetch;
|
|
7
7
|
parseAs?: ParseAs;
|
|
8
|
+
contentType?: 'application/json' | 'none';
|
|
8
9
|
};
|
|
9
10
|
/**
|
|
10
11
|
* Get the types of the parameters of an endpoint but if it does not have any
|
|
@@ -30,7 +31,7 @@ type BodyOption<Endpoint> = Endpoint extends {
|
|
|
30
31
|
} : {
|
|
31
32
|
body: bodyOf<Endpoint>;
|
|
32
33
|
} : {
|
|
33
|
-
body?: Record<string, unknown
|
|
34
|
+
body?: Record<string, unknown> | BodyInit;
|
|
34
35
|
};
|
|
35
36
|
/**
|
|
36
37
|
* Combines the body and other parameters into one type, with stuff being optional
|
package/dist/index.cjs.js
CHANGED
|
@@ -76,8 +76,8 @@ class Composite {
|
|
|
76
76
|
await sleep(50);
|
|
77
77
|
continue;
|
|
78
78
|
case 'successful':
|
|
79
|
-
if ((_a = data.attributes) === null || _a ===
|
|
80
|
-
return { data: (_b = data.attributes) === null || _b ===
|
|
79
|
+
if ((_a = data.attributes) === null || _a === void 0 ? void 0 : _a.waypoints) {
|
|
80
|
+
return { data: (_b = data.attributes) === null || _b === void 0 ? void 0 : _b.waypoints };
|
|
81
81
|
}
|
|
82
82
|
else {
|
|
83
83
|
throw new Error(`endpoint did not return waypoints ${data}`); // TODO:
|
|
@@ -221,6 +221,30 @@ class Direct {
|
|
|
221
221
|
}
|
|
222
222
|
return resp;
|
|
223
223
|
}
|
|
224
|
+
getPathingTaskStateStream(id, onMessage, onFail) {
|
|
225
|
+
return new Promise((resolve, reject) => {
|
|
226
|
+
const eventSource = new EventSource(`/api/v1.0/pathing_tasks/${id}/state`);
|
|
227
|
+
eventSource.onmessage = (event) => {
|
|
228
|
+
const data = JSON.parse(event.data);
|
|
229
|
+
if (data.error === true) {
|
|
230
|
+
onFail === null || onFail === void 0 ? void 0 : onFail();
|
|
231
|
+
eventSource.close();
|
|
232
|
+
reject(new Error(`Task stream returned error: ${data.payload}`));
|
|
233
|
+
return;
|
|
234
|
+
}
|
|
235
|
+
if (data.payload.terminated) {
|
|
236
|
+
eventSource.close();
|
|
237
|
+
resolve(data.payload);
|
|
238
|
+
}
|
|
239
|
+
onMessage === null || onMessage === void 0 ? void 0 : onMessage(data.payload);
|
|
240
|
+
};
|
|
241
|
+
eventSource.onerror = (err) => {
|
|
242
|
+
eventSource.close();
|
|
243
|
+
onFail === null || onFail === void 0 ? void 0 : onFail();
|
|
244
|
+
reject(err);
|
|
245
|
+
};
|
|
246
|
+
});
|
|
247
|
+
}
|
|
224
248
|
/// charts
|
|
225
249
|
async getAllCharts(opts) {
|
|
226
250
|
const resp = await this.fetcher.GET('/charts/', {}, opts);
|
|
@@ -456,6 +480,43 @@ class Direct {
|
|
|
456
480
|
}
|
|
457
481
|
return resp;
|
|
458
482
|
}
|
|
483
|
+
/// cost datasets
|
|
484
|
+
async getCostDataset(id, opts) {
|
|
485
|
+
const resp = await this.fetcher.GET('/cost_datasets/{cost_dataset_id}', { path: { cost_dataset_id: id } }, opts);
|
|
486
|
+
if (resp.error === undefined && !resp.aborted) {
|
|
487
|
+
return Object.assign(Object.assign({}, resp), { data: resp.data.data });
|
|
488
|
+
}
|
|
489
|
+
return resp;
|
|
490
|
+
}
|
|
491
|
+
async getAllCostDatasets(args, opts) {
|
|
492
|
+
const resp = await this.fetcher.GET('/cost_datasets/', { query: args }, opts);
|
|
493
|
+
if (resp.error === undefined && !resp.aborted) {
|
|
494
|
+
return Object.assign(Object.assign({}, resp), { data: resp.data.data.map((x) => x.data) });
|
|
495
|
+
}
|
|
496
|
+
return resp;
|
|
497
|
+
}
|
|
498
|
+
async createCostDataset(args, opts) {
|
|
499
|
+
const formData = new FormData();
|
|
500
|
+
formData.append('chart_id', args.chart_id);
|
|
501
|
+
formData.append('valid_time_ranges', JSON.stringify(args.valid_time_ranges));
|
|
502
|
+
formData.append('geotiff', args.geotiff);
|
|
503
|
+
const resp = await this.fetcher.POST('/cost_datasets/', { body: formData }, Object.assign(Object.assign({}, opts), {
|
|
504
|
+
// when sending a FormData object the browser will automatically
|
|
505
|
+
// set the Content-Type header to the correct value, if (and only if)
|
|
506
|
+
// you don't set it yourself
|
|
507
|
+
contentType: 'none' }));
|
|
508
|
+
if (resp.error === undefined && !resp.aborted) {
|
|
509
|
+
return Object.assign(Object.assign({}, resp), { data: resp.data.data });
|
|
510
|
+
}
|
|
511
|
+
return resp;
|
|
512
|
+
}
|
|
513
|
+
async deleteCostDataset(id, opts) {
|
|
514
|
+
const resp = await this.fetcher.DELETE('/cost_datasets/{cost_dataset_id}', { path: { cost_dataset_id: id } }, opts);
|
|
515
|
+
if (resp.error === undefined && !resp.aborted) {
|
|
516
|
+
return Object.assign(Object.assign({}, resp), { data: true });
|
|
517
|
+
}
|
|
518
|
+
return resp;
|
|
519
|
+
}
|
|
459
520
|
/// flight patterns
|
|
460
521
|
async createRasterPattern(args, opts) {
|
|
461
522
|
const resp = await this.fetcher.POST('/flight_patterns/raster', { body: args }, opts);
|
|
@@ -666,19 +727,19 @@ function defaultPathSerializer(pathname, pathParams) {
|
|
|
666
727
|
return nextURL;
|
|
667
728
|
}
|
|
668
729
|
|
|
669
|
-
var version = "1.
|
|
730
|
+
var version = "1.3622.1";
|
|
670
731
|
|
|
671
732
|
const querySerializer = createQuerySerializer();
|
|
672
733
|
class Fetcher {
|
|
673
734
|
constructor(args) {
|
|
674
735
|
var _a, _b, _c, _d;
|
|
675
736
|
this.opts = {
|
|
676
|
-
url: (_a = args.url) !== null && _a !==
|
|
677
|
-
fetchFn: (_b = args.fetchFn) !== null && _b !==
|
|
678
|
-
authFetchFn: (_c = args.authFetchFn) !== null && _c !==
|
|
737
|
+
url: (_a = args.url) !== null && _a !== void 0 ? _a : 'https://via.volantautonomy.com/api/v1.0',
|
|
738
|
+
fetchFn: (_b = args.fetchFn) !== null && _b !== void 0 ? _b : undefined,
|
|
739
|
+
authFetchFn: (_c = args.authFetchFn) !== null && _c !== void 0 ? _c : undefined,
|
|
679
740
|
username: args.username,
|
|
680
741
|
password: args.password,
|
|
681
|
-
ignoreAuth: (_d = args.ignoreAuth) !== null && _d !==
|
|
742
|
+
ignoreAuth: (_d = args.ignoreAuth) !== null && _d !== void 0 ? _d : false
|
|
682
743
|
};
|
|
683
744
|
this.aborts = {};
|
|
684
745
|
this.accessToken = undefined;
|
|
@@ -690,7 +751,7 @@ class Fetcher {
|
|
|
690
751
|
if (this.opts.username === undefined || this.opts.password === undefined) {
|
|
691
752
|
throw new UnauthenticatedError('ignoreAuth is not true and either username or password is missing');
|
|
692
753
|
}
|
|
693
|
-
const authFetchFn = (_a = this.opts.authFetchFn) !== null && _a !==
|
|
754
|
+
const authFetchFn = (_a = this.opts.authFetchFn) !== null && _a !== void 0 ? _a : globalThis.fetch;
|
|
694
755
|
const resp = await authFetchFn(this.opts.url + '/login', {
|
|
695
756
|
body: JSON.stringify({
|
|
696
757
|
username: this.opts.username,
|
|
@@ -713,7 +774,7 @@ class Fetcher {
|
|
|
713
774
|
handleAbortKey(abortKey) {
|
|
714
775
|
var _a;
|
|
715
776
|
if (abortKey) {
|
|
716
|
-
(_a = this.aborts[abortKey]) === null || _a ===
|
|
777
|
+
(_a = this.aborts[abortKey]) === null || _a === void 0 ? void 0 : _a.abort();
|
|
717
778
|
const abortController = new AbortController();
|
|
718
779
|
this.aborts[abortKey] = abortController;
|
|
719
780
|
return abortController.signal;
|
|
@@ -725,7 +786,7 @@ class Fetcher {
|
|
|
725
786
|
var _a;
|
|
726
787
|
const error = (await response.json());
|
|
727
788
|
// NOTE: throws away the status codes inside of the individual errors
|
|
728
|
-
if (((_a = error === null || error ===
|
|
789
|
+
if (((_a = error === null || error === void 0 ? void 0 : error.errors) === null || _a === void 0 ? void 0 : _a.length) === 0) {
|
|
729
790
|
return {
|
|
730
791
|
status: String(response.status),
|
|
731
792
|
errors: [
|
|
@@ -739,7 +800,7 @@ class Fetcher {
|
|
|
739
800
|
else {
|
|
740
801
|
return {
|
|
741
802
|
status: String(response.status),
|
|
742
|
-
errors: error === null || error ===
|
|
803
|
+
errors: error === null || error === void 0 ? void 0 : error.errors.map((err) => {
|
|
743
804
|
return {
|
|
744
805
|
status: String(err.status),
|
|
745
806
|
detail: err.detail
|
|
@@ -752,10 +813,10 @@ class Fetcher {
|
|
|
752
813
|
createFinalURL(path, options) {
|
|
753
814
|
var _a;
|
|
754
815
|
let finalURL = `${this.opts.url}${path}`;
|
|
755
|
-
if (options === null || options ===
|
|
816
|
+
if (options === null || options === void 0 ? void 0 : options.path) {
|
|
756
817
|
finalURL = defaultPathSerializer(finalURL, options.path);
|
|
757
818
|
}
|
|
758
|
-
const search = querySerializer((_a = options.query) !== null && _a !==
|
|
819
|
+
const search = querySerializer((_a = options.query) !== null && _a !== void 0 ? _a : {});
|
|
759
820
|
if (search) {
|
|
760
821
|
finalURL += `?${search}`;
|
|
761
822
|
}
|
|
@@ -763,19 +824,25 @@ class Fetcher {
|
|
|
763
824
|
}
|
|
764
825
|
/** The actual fetch wrapper. It is type inference blind, beyond the parseAs type */
|
|
765
826
|
async fetcher(method, path, data, opts) {
|
|
766
|
-
var _a, _b, _c;
|
|
827
|
+
var _a, _b, _c, _d;
|
|
767
828
|
if (!this.opts.ignoreAuth) {
|
|
768
829
|
if (!this.accessToken || this.expiry <= Date.now()) {
|
|
769
830
|
await this.doAuth();
|
|
770
831
|
}
|
|
771
832
|
}
|
|
772
|
-
const fetchFn = (_b = (_a = opts === null || opts ===
|
|
773
|
-
const parseAs = (_c = opts === null || opts ===
|
|
774
|
-
const
|
|
833
|
+
const fetchFn = (_b = (_a = opts === null || opts === void 0 ? void 0 : opts.fetch) !== null && _a !== void 0 ? _a : this.opts.fetchFn) !== null && _b !== void 0 ? _b : globalThis.fetch;
|
|
834
|
+
const parseAs = (_c = opts === null || opts === void 0 ? void 0 : opts.parseAs) !== null && _c !== void 0 ? _c : 'json';
|
|
835
|
+
const contentType = (_d = opts === null || opts === void 0 ? void 0 : opts.contentType) !== null && _d !== void 0 ? _d : 'application/json';
|
|
836
|
+
const body = contentType === 'application/json' ? JSON.stringify(data === null || data === void 0 ? void 0 : data.body) : data === null || data === void 0 ? void 0 : data.body;
|
|
837
|
+
const headers = { 'X-Via-Sdk-Version': version };
|
|
838
|
+
if (contentType !== 'none') {
|
|
839
|
+
headers['Content-Type'] = contentType;
|
|
840
|
+
}
|
|
841
|
+
const request = new Request(this.createFinalURL(path, { query: data === null || data === void 0 ? void 0 : data.query, path: data === null || data === void 0 ? void 0 : data.path }), {
|
|
775
842
|
redirect: 'follow',
|
|
776
|
-
signal: this.handleAbortKey(opts === null || opts ===
|
|
777
|
-
body
|
|
778
|
-
headers: Object.assign({
|
|
843
|
+
signal: this.handleAbortKey(opts === null || opts === void 0 ? void 0 : opts.abortKey),
|
|
844
|
+
body,
|
|
845
|
+
headers: Object.assign(Object.assign({}, headers), data === null || data === void 0 ? void 0 : data.header),
|
|
779
846
|
method
|
|
780
847
|
});
|
|
781
848
|
if (!this.opts.ignoreAuth) {
|