mobx-tanstack-query-api 0.23.4 → 0.24.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/package.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "0.
|
|
2
|
+
"version": "0.24.0",
|
|
3
3
|
"name": "mobx-tanstack-query-api",
|
|
4
4
|
"description": "OpenAPI/Swagger client codegen + endpoints integration with mobx-tanstack-query",
|
|
5
5
|
"keywords": [
|
|
@@ -28,11 +28,13 @@
|
|
|
28
28
|
"@tanstack/query-core": "^5.90.2",
|
|
29
29
|
"@types/lodash": "^4.17.16",
|
|
30
30
|
"@types/lodash-es": "^4.17.12",
|
|
31
|
+
"@types/qs": "^6.14.0",
|
|
31
32
|
"cac": "^6.7.14",
|
|
32
33
|
"http-status-code-types": "^0.0.2",
|
|
33
34
|
"jiti": "^2.5.1",
|
|
34
35
|
"lodash-es": "^4.17.21",
|
|
35
36
|
"mobx-tanstack-query": "^6.8.5",
|
|
37
|
+
"qs": "^6.14.0",
|
|
36
38
|
"swagger-typescript-api": "13.2.15",
|
|
37
39
|
"ts-morph": "^26.0.0",
|
|
38
40
|
"undici-types": "^7.11.0",
|
package/runtime/http-client.cjs
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.HttpClient = exports.isHttpBadResponse = exports.isHttpResponse = void 0;
|
|
4
4
|
const mobx_1 = require("mobx");
|
|
5
|
+
const qs_1 = require("qs");
|
|
5
6
|
const isHttpResponse = (response, status) => !!response &&
|
|
6
7
|
typeof response === 'object' &&
|
|
7
8
|
response instanceof Response &&
|
|
@@ -18,6 +19,7 @@ class HttpClient {
|
|
|
18
19
|
meta;
|
|
19
20
|
baseApiParams;
|
|
20
21
|
badResponse;
|
|
22
|
+
toQueryString;
|
|
21
23
|
constructor(config) {
|
|
22
24
|
this.config = config ?? {};
|
|
23
25
|
this.badResponse = null;
|
|
@@ -25,6 +27,9 @@ class HttpClient {
|
|
|
25
27
|
this.fetch =
|
|
26
28
|
config?.fetch ??
|
|
27
29
|
((...fetchParams) => globalThis.fetch(...fetchParams));
|
|
30
|
+
this.toQueryString =
|
|
31
|
+
config?.toQueryString ??
|
|
32
|
+
((query) => (0, qs_1.stringify)(query, config?.queryStringifyOptions));
|
|
28
33
|
this.baseApiParams = {
|
|
29
34
|
credentials: 'same-origin',
|
|
30
35
|
headers: {},
|
|
@@ -59,29 +64,6 @@ class HttpClient {
|
|
|
59
64
|
setBadResponse = (response) => {
|
|
60
65
|
this.badResponse = response;
|
|
61
66
|
};
|
|
62
|
-
encodeQueryParam(key, value) {
|
|
63
|
-
const encodedKey = encodeURIComponent(key);
|
|
64
|
-
return `${encodedKey}=${encodeURIComponent(typeof value === 'number' ? value : `${value}`)}`;
|
|
65
|
-
}
|
|
66
|
-
addQueryParam(query, key) {
|
|
67
|
-
return this.encodeQueryParam(key, query[key]);
|
|
68
|
-
}
|
|
69
|
-
addArrayQueryParam(query, key) {
|
|
70
|
-
const value = query[key];
|
|
71
|
-
return value.map((v) => this.encodeQueryParam(key, v)).join('&');
|
|
72
|
-
}
|
|
73
|
-
toQueryString(rawQuery) {
|
|
74
|
-
if (this.config.toQueryString) {
|
|
75
|
-
return this.config.toQueryString(rawQuery);
|
|
76
|
-
}
|
|
77
|
-
const query = rawQuery || {};
|
|
78
|
-
const keys = Object.keys(query).filter((key) => 'undefined' !== typeof query[key]);
|
|
79
|
-
return keys
|
|
80
|
-
.map((key) => Array.isArray(query[key])
|
|
81
|
-
? this.addArrayQueryParam(query, key)
|
|
82
|
-
: this.addQueryParam(query, key))
|
|
83
|
-
.join('&');
|
|
84
|
-
}
|
|
85
67
|
contentFormatters = {
|
|
86
68
|
'application/json': (input) => input !== null && (typeof input === 'object' || typeof input === 'string')
|
|
87
69
|
? JSON.stringify(input)
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { HttpStatusCode, HttpSuccessStatusCode } from 'http-status-code-types';
|
|
2
|
-
import type
|
|
2
|
+
import { type BooleanOptional, type IStringifyOptions } from 'qs';
|
|
3
|
+
import type { AnyObject, Defined, Maybe, ValueOf } from 'yummies/utils/types';
|
|
3
4
|
import type { AnyEndpoint } from "./endpoint.types.cjs";
|
|
4
5
|
export type QueryParamsType = Record<string | number, any>;
|
|
5
6
|
export type ResponseFormat = keyof Omit<Body, 'body' | 'bodyUsed'>;
|
|
@@ -28,7 +29,8 @@ export interface HttpClientConfig<TMeta = unknown> {
|
|
|
28
29
|
fetch?: typeof globalThis.fetch;
|
|
29
30
|
baseApiParams?: Omit<RequestParams, 'baseUrl' | 'cancelToken' | 'signal'>;
|
|
30
31
|
contentFormatters?: Record<string, (input: any) => any>;
|
|
31
|
-
|
|
32
|
+
queryStringifyOptions?: IStringifyOptions<BooleanOptional>;
|
|
33
|
+
toQueryString?: (query?: AnyObject) => string;
|
|
32
34
|
buildUrl?: (fullParams: FullRequestParams, formattedParts: {
|
|
33
35
|
baseUrl: string;
|
|
34
36
|
path: string;
|
|
@@ -67,15 +69,12 @@ export declare class HttpClient<TMeta = unknown> {
|
|
|
67
69
|
meta: TMeta | null;
|
|
68
70
|
baseApiParams: RequestParams;
|
|
69
71
|
badResponse: unknown;
|
|
72
|
+
protected toQueryString: Defined<HttpClientConfig<TMeta>['toQueryString']>;
|
|
70
73
|
constructor(config?: HttpClientConfig<TMeta>);
|
|
71
74
|
get baseUrl(): string;
|
|
72
75
|
updateConfig(update: Partial<HttpClientConfig<TMeta>>): void;
|
|
73
76
|
setMeta: (data: TMeta | null) => void;
|
|
74
77
|
setBadResponse: (response: unknown) => void;
|
|
75
|
-
protected encodeQueryParam(key: string, value: any): string;
|
|
76
|
-
protected addQueryParam(query: QueryParamsType, key: string): string;
|
|
77
|
-
protected addArrayQueryParam(query: QueryParamsType, key: string): any;
|
|
78
|
-
protected toQueryString(rawQuery?: QueryParamsType): string;
|
|
79
78
|
private contentFormatters;
|
|
80
79
|
protected mergeRequestParams(params1: RequestParams, params2?: RequestParams): RequestParams;
|
|
81
80
|
protected createResponse(responseFormat: FullRequestParams['format'], raw: Response, url: string, params: RequestInit): Promise<AnyHttpResponse>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http-client.d.ts","sourceRoot":"","sources":["../../src/runtime/http-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,qBAAqB,EACtB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"http-client.d.ts","sourceRoot":"","sources":["../../src/runtime/http-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,qBAAqB,EACtB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,KAAK,eAAe,EAAE,KAAK,iBAAiB,EAAa,MAAM,IAAI,CAAC;AAC7E,OAAO,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9E,OAAO,KAAK,EAAE,WAAW,EAAE,6BAA4B;AAEvD,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,GAAG,MAAM,EAAE,GAAG,CAAC,CAAC;AAC3D,MAAM,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAAC,CAAC;AAEnE,MAAM,WAAW,iBAAkB,SAAQ,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC;IAClE,yEAAyE;IACzE,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,mBAAmB;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,mCAAmC;IACnC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mBAAmB;IACnB,KAAK,CAAC,EAAE,eAAe,CAAC;IACxB,kEAAkE;IAClE,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,mBAAmB;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,eAAe;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gBAAgB;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC5B;AAED,MAAM,MAAM,aAAa,GAAG,IAAI,CAC9B,iBAAiB,EACjB,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,aAAa,CACrD,CAAC;AAEF,MAAM,WAAW,gBAAgB,CAAC,KAAK,GAAG,OAAO;IAC/C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,KAAK,CAAC;IACb,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;IAChC,aAAa,CAAC,EAAE,IAAI,CAAC,aAAa,EAAE,SAAS,GAAG,aAAa,GAAG,QAAQ,CAAC,CAAC;IAC1E,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,GAAG,CAAC,CAAC;IACxD,qBAAqB,CAAC,EAAE,iBAAiB,CAAC,eAAe,CAAC,CAAC;IAC3D,aAAa,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,SAAS,KAAK,MAAM,CAAC;IAC9C,QAAQ,CAAC,EAAE,CACT,UAAU,EAAE,iBAAiB,EAC7B,cAAc,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAChE,QAAQ,EAAE,KAAK,GAAG,IAAI,KACnB,MAAM,CAAC;IACZ,WAAW,CAAC,EAAE,CACZ,aAAa,EAAE,aAAa,EAC5B,QAAQ,EAAE,KAAK,GAAG,IAAI,EACtB,QAAQ,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,KAC1B,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,GAAG,aAAa,GAAG,IAAI,CAAC;CAC3D;AAED,MAAM,WAAW,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,EAAE,OAAO,GAAG,MAAM,CAClE,SAAQ,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAChC,IAAI,EAAE,KAAK,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE;QACP,GAAG,EAAE,MAAM,CAAC;QACZ,MAAM,EAAE,UAAU,CAAC,WAAW,CAAC;KAChC,CAAC;CACH;AAED,MAAM,MAAM,uBAAuB,CACjC,qBAAqB,SAAS,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC,EAClE,kBAAkB,EAClB,mBAAmB,GAAG,OAAO,IAC3B,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,GAC1B,CACI,OAAO,CAAC;KACL,CAAC,IAAI,MAAM,qBAAqB,GAAG;QAClC,MAAM,EAAE,CAAC,CAAC;QACV,IAAI,EAAE,CAAC,SAAS,qBAAqB,GACjC,qBAAqB,CAAC,CAAC,CAAC,GACxB,kBAAkB,CAAC;QACvB,KAAK,EAAE,CAAC,SAAS,qBAAqB,GAClC,mBAAmB,GACnB,qBAAqB,CAAC,CAAC,CAAC,CAAC;KAC9B;CACF,CAAC,GACF;IACE,MAAM,EAAE,OAAO,CAAC,cAAc,EAAE,MAAM,qBAAqB,CAAC,CAAC;IAC7D,IAAI,EAAE,kBAAkB,CAAC;IACzB,KAAK,EAAE,mBAAmB,CAAC;CAC5B,CACJ,CAAC;AAEJ,MAAM,MAAM,eAAe,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,MAAM,CAAC,GAClE,CAAC,SAAS,OAAO,CAAC,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,GACvC,OAAO,CAAC,CAAC,CAAC,GACV,CAAC,SAAS,OAAO,CAAC,uBAAuB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,GACvD,OAAO,CAAC,CAAC,CAAC,GACV,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,GAC1B,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AAE3B,MAAM,MAAM,eAAe,CAAC,CAAC,GAAG,GAAG,IAAI,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AAE7D,MAAM,MAAM,eAAe,GAAG,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AAErD,eAAO,MAAM,cAAc,GACzB,UAAU,OAAO,EACjB,SAAS,MAAM,KACd,QAAQ,IAAI,eAK0B,CAAC;AAE1C,eAAO,MAAM,iBAAiB,GAC5B,UAAU,OAAO,KAChB,QAAQ,IAAI,YAAY,CAAC,IAAI,EAAE,GAAG,CAEpC,CAAC;AAEF,qBAAa,UAAU,CAAC,KAAK,GAAG,OAAO;IACrC,OAAO,CAAC,MAAM,CAA0B;IACxC,OAAO,CAAC,KAAK,CAA6C;IAEnD,IAAI,EAAE,KAAK,GAAG,IAAI,CAAC;IACnB,aAAa,EAAE,aAAa,CAAC;IAEpC,WAAW,EAAE,OAAO,CAAC;IAErB,SAAS,CAAC,aAAa,EAAE,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC;gBAE/D,MAAM,CAAC,EAAE,gBAAgB,CAAC,KAAK,CAAC;IA8B5C,IAAI,OAAO,WAEV;IAEM,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAgBrD,OAAO,GAAI,MAAM,KAAK,GAAG,IAAI,UAElC;IAEK,cAAc,GAAI,UAAU,OAAO,UAExC;IAEF,OAAO,CAAC,iBAAiB,CA0BvB;IAEF,SAAS,CAAC,kBAAkB,CAC1B,OAAO,EAAE,aAAa,EACtB,OAAO,CAAC,EAAE,aAAa,GACtB,aAAa;cAaA,cAAc,CAC5B,cAAc,EAAE,iBAAiB,CAAC,QAAQ,CAAC,EAC3C,GAAG,EAAE,QAAQ,EACb,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,WAAW,GAClB,OAAO,CAAC,eAAe,CAAC;IAkCpB,QAAQ,GAAI,QAAQ,iBAAiB,YAgB1C;IAEK,OAAO,CAAC,CAAC,EAAE,CAAC,EACjB,UAAU,EAAE,iBAAiB,EAC7B,QAAQ,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,GAC5B,OAAO,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACvB,OAAO,CAAC,aAAa,SAAS,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,EACzD,UAAU,EAAE,iBAAiB,EAC7B,QAAQ,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,GAC5B,OAAO,CAAC,aAAa,CAAC;CAsE1B"}
|
package/runtime/http-client.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { HttpStatusCode, HttpSuccessStatusCode } from 'http-status-code-types';
|
|
2
|
-
import type
|
|
2
|
+
import { type BooleanOptional, type IStringifyOptions } from 'qs';
|
|
3
|
+
import type { AnyObject, Defined, Maybe, ValueOf } from 'yummies/utils/types';
|
|
3
4
|
import type { AnyEndpoint } from "./endpoint.types.js";
|
|
4
5
|
export type QueryParamsType = Record<string | number, any>;
|
|
5
6
|
export type ResponseFormat = keyof Omit<Body, 'body' | 'bodyUsed'>;
|
|
@@ -28,7 +29,8 @@ export interface HttpClientConfig<TMeta = unknown> {
|
|
|
28
29
|
fetch?: typeof globalThis.fetch;
|
|
29
30
|
baseApiParams?: Omit<RequestParams, 'baseUrl' | 'cancelToken' | 'signal'>;
|
|
30
31
|
contentFormatters?: Record<string, (input: any) => any>;
|
|
31
|
-
|
|
32
|
+
queryStringifyOptions?: IStringifyOptions<BooleanOptional>;
|
|
33
|
+
toQueryString?: (query?: AnyObject) => string;
|
|
32
34
|
buildUrl?: (fullParams: FullRequestParams, formattedParts: {
|
|
33
35
|
baseUrl: string;
|
|
34
36
|
path: string;
|
|
@@ -67,15 +69,12 @@ export declare class HttpClient<TMeta = unknown> {
|
|
|
67
69
|
meta: TMeta | null;
|
|
68
70
|
baseApiParams: RequestParams;
|
|
69
71
|
badResponse: unknown;
|
|
72
|
+
protected toQueryString: Defined<HttpClientConfig<TMeta>['toQueryString']>;
|
|
70
73
|
constructor(config?: HttpClientConfig<TMeta>);
|
|
71
74
|
get baseUrl(): string;
|
|
72
75
|
updateConfig(update: Partial<HttpClientConfig<TMeta>>): void;
|
|
73
76
|
setMeta: (data: TMeta | null) => void;
|
|
74
77
|
setBadResponse: (response: unknown) => void;
|
|
75
|
-
protected encodeQueryParam(key: string, value: any): string;
|
|
76
|
-
protected addQueryParam(query: QueryParamsType, key: string): string;
|
|
77
|
-
protected addArrayQueryParam(query: QueryParamsType, key: string): any;
|
|
78
|
-
protected toQueryString(rawQuery?: QueryParamsType): string;
|
|
79
78
|
private contentFormatters;
|
|
80
79
|
protected mergeRequestParams(params1: RequestParams, params2?: RequestParams): RequestParams;
|
|
81
80
|
protected createResponse(responseFormat: FullRequestParams['format'], raw: Response, url: string, params: RequestInit): Promise<AnyHttpResponse>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http-client.d.ts","sourceRoot":"","sources":["../../src/runtime/http-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,qBAAqB,EACtB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"http-client.d.ts","sourceRoot":"","sources":["../../src/runtime/http-client.ts"],"names":[],"mappings":"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"}
|
package/runtime/http-client.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { action, makeObservable, observable } from 'mobx';
|
|
2
|
+
import { stringify } from 'qs';
|
|
2
3
|
export const isHttpResponse = (response, status) => !!response &&
|
|
3
4
|
typeof response === 'object' &&
|
|
4
5
|
response instanceof Response &&
|
|
@@ -13,6 +14,7 @@ export class HttpClient {
|
|
|
13
14
|
meta;
|
|
14
15
|
baseApiParams;
|
|
15
16
|
badResponse;
|
|
17
|
+
toQueryString;
|
|
16
18
|
constructor(config) {
|
|
17
19
|
this.config = config ?? {};
|
|
18
20
|
this.badResponse = null;
|
|
@@ -20,6 +22,9 @@ export class HttpClient {
|
|
|
20
22
|
this.fetch =
|
|
21
23
|
config?.fetch ??
|
|
22
24
|
((...fetchParams) => globalThis.fetch(...fetchParams));
|
|
25
|
+
this.toQueryString =
|
|
26
|
+
config?.toQueryString ??
|
|
27
|
+
((query) => stringify(query, config?.queryStringifyOptions));
|
|
23
28
|
this.baseApiParams = {
|
|
24
29
|
credentials: 'same-origin',
|
|
25
30
|
headers: {},
|
|
@@ -54,29 +59,6 @@ export class HttpClient {
|
|
|
54
59
|
setBadResponse = (response) => {
|
|
55
60
|
this.badResponse = response;
|
|
56
61
|
};
|
|
57
|
-
encodeQueryParam(key, value) {
|
|
58
|
-
const encodedKey = encodeURIComponent(key);
|
|
59
|
-
return `${encodedKey}=${encodeURIComponent(typeof value === 'number' ? value : `${value}`)}`;
|
|
60
|
-
}
|
|
61
|
-
addQueryParam(query, key) {
|
|
62
|
-
return this.encodeQueryParam(key, query[key]);
|
|
63
|
-
}
|
|
64
|
-
addArrayQueryParam(query, key) {
|
|
65
|
-
const value = query[key];
|
|
66
|
-
return value.map((v) => this.encodeQueryParam(key, v)).join('&');
|
|
67
|
-
}
|
|
68
|
-
toQueryString(rawQuery) {
|
|
69
|
-
if (this.config.toQueryString) {
|
|
70
|
-
return this.config.toQueryString(rawQuery);
|
|
71
|
-
}
|
|
72
|
-
const query = rawQuery || {};
|
|
73
|
-
const keys = Object.keys(query).filter((key) => 'undefined' !== typeof query[key]);
|
|
74
|
-
return keys
|
|
75
|
-
.map((key) => Array.isArray(query[key])
|
|
76
|
-
? this.addArrayQueryParam(query, key)
|
|
77
|
-
: this.addQueryParam(query, key))
|
|
78
|
-
.join('&');
|
|
79
|
-
}
|
|
80
62
|
contentFormatters = {
|
|
81
63
|
'application/json': (input) => input !== null && (typeof input === 'object' || typeof input === 'string')
|
|
82
64
|
? JSON.stringify(input)
|