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.23.4",
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",
@@ -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 { Maybe, ValueOf } from 'yummies/utils/types';
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
- toQueryString?: (query?: QueryParamsType) => string;
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":"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"}
1
+ {"version":3,"file":"http-client.d.ts","sourceRoot":"","sources":["../../src/runtime/http-client.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import type { HttpStatusCode, HttpSuccessStatusCode } from 'http-status-code-types';
2
- import type { Maybe, ValueOf } from 'yummies/utils/types';
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
- toQueryString?: (query?: QueryParamsType) => string;
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":"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"}
1
+ {"version":3,"file":"http-client.d.ts","sourceRoot":"","sources":["../../src/runtime/http-client.ts"],"names":[],"mappings":"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"}
@@ -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)