mobx-tanstack-query-api 0.0.73 → 0.0.75
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/codegen/index.d.ts +5 -1
- package/codegen/index.d.ts.map +1 -1
- package/codegen/index.js +1 -0
- package/codegen/templates/meta-info.tmpl.d.ts +3 -2
- package/codegen/templates/meta-info.tmpl.d.ts.map +1 -1
- package/codegen/templates/meta-info.tmpl.js +3 -3
- package/package.json +1 -1
- package/runtime/http-client.d.ts +6 -7
- package/runtime/http-client.d.ts.map +1 -1
- package/runtime/http-client.js +34 -26
package/codegen/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { LoDashStatic } from 'lodash';
|
|
2
|
-
import { AnyObject, KeyOfByValue } from 'yummies/utils/types';
|
|
2
|
+
import { AnyObject, KeyOfByValue, Maybe } from 'yummies/utils/types';
|
|
3
3
|
export type CodegenDataUtils = {
|
|
4
4
|
_: LoDashStatic;
|
|
5
5
|
getInlineParseContent: (requestParams: AnyObject) => string;
|
|
@@ -71,6 +71,10 @@ export interface GenerateQueryApiParams {
|
|
|
71
71
|
libImports?: {
|
|
72
72
|
'mobx-tanstack-query-api'?: string;
|
|
73
73
|
};
|
|
74
|
+
transforms?: {
|
|
75
|
+
groupEnumValue?: (group: string, namespace?: Maybe<string>) => string;
|
|
76
|
+
tagEnumValue?: (tag: string, namespace?: Maybe<string>) => string;
|
|
77
|
+
};
|
|
74
78
|
}
|
|
75
79
|
export type AllImportFileParams = Record<KeyOfByValue<Required<GenerateQueryApiParams>, 'builtin' | ImportFileParams>, ImportFileParams>;
|
|
76
80
|
export declare const generateApi: (params: GenerateQueryApiParams | GenerateQueryApiParams[]) => Promise<void>;
|
package/codegen/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/codegen/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEtC,OAAO,EAAE,SAAS,EAAE,YAAY,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/codegen/index.ts"],"names":[],"mappings":"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"}
|
package/codegen/index.js
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { Maybe } from 'yummies';
|
|
2
|
-
import { CodegenDataUtils, MetaInfo } from '../index.js';
|
|
2
|
+
import { CodegenDataUtils, GenerateQueryApiParams, MetaInfo } from '../index.js';
|
|
3
3
|
export interface MetaInfoTmplParams {
|
|
4
4
|
formatTSContent: (...args: any[]) => Promise<string>;
|
|
5
|
+
codegenParams: GenerateQueryApiParams;
|
|
5
6
|
metaInfo: Maybe<MetaInfo>;
|
|
6
7
|
utils: CodegenDataUtils;
|
|
7
8
|
}
|
|
8
9
|
export declare const formatGroupNameEnumKey: (groupName: string, { _ }: CodegenDataUtils) => Capitalize<string>;
|
|
9
10
|
export declare const formatTagNameEnumKey: (tagName: string, utils: CodegenDataUtils) => Capitalize<string>;
|
|
10
|
-
export declare const metaInfoTmpl: ({ metaInfo, utils, formatTSContent, }: MetaInfoTmplParams) => Promise<string>;
|
|
11
|
+
export declare const metaInfoTmpl: ({ metaInfo, utils, formatTSContent, codegenParams, }: MetaInfoTmplParams) => Promise<string>;
|
|
11
12
|
//# sourceMappingURL=meta-info.tmpl.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"meta-info.tmpl.d.ts","sourceRoot":"","sources":["../../../src/codegen/templates/meta-info.tmpl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,OAAO,
|
|
1
|
+
{"version":3,"file":"meta-info.tmpl.d.ts","sourceRoot":"","sources":["../../../src/codegen/templates/meta-info.tmpl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,OAAO,EACL,gBAAgB,EAChB,sBAAsB,EACtB,QAAQ,EACT,MAAM,aAAa,CAAC;AAIrB,MAAM,WAAW,kBAAkB;IACjC,eAAe,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACrD,aAAa,EAAE,sBAAsB,CAAC;IACtC,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC1B,KAAK,EAAE,gBAAgB,CAAC;CACzB;AAED,eAAO,MAAM,sBAAsB,GACjC,WAAW,MAAM,EACjB,OAAO,gBAAgB,uBACgB,CAAC;AAE1C,eAAO,MAAM,oBAAoB,GAC/B,SAAS,MAAM,EACf,OAAO,gBAAgB,uBACkB,CAAC;AAE5C,eAAO,MAAM,YAAY,GAAU,sDAKhC,kBAAkB,oBAoBpB,CAAC"}
|
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
import { LINTERS_IGNORE } from './constants.js';
|
|
2
2
|
export const formatGroupNameEnumKey = (groupName, { _ }) => _.upperFirst(_.camelCase(groupName));
|
|
3
3
|
export const formatTagNameEnumKey = (tagName, utils) => formatGroupNameEnumKey(tagName, utils);
|
|
4
|
-
export const metaInfoTmpl = async ({ metaInfo, utils, formatTSContent, }) => {
|
|
4
|
+
export const metaInfoTmpl = async ({ metaInfo, utils, formatTSContent, codegenParams, }) => {
|
|
5
5
|
return await formatTSContent(`${LINTERS_IGNORE}
|
|
6
6
|
${[
|
|
7
7
|
metaInfo?.namespace && `export const namespace = "${metaInfo?.namespace}";`,
|
|
8
8
|
metaInfo?.groupNames?.length &&
|
|
9
9
|
`
|
|
10
10
|
export const enum Group {
|
|
11
|
-
${metaInfo?.groupNames.map((groupName) => `${formatGroupNameEnumKey(groupName, utils)} = "${groupName}"`).join(',\n')}
|
|
11
|
+
${metaInfo?.groupNames.map((groupName) => `${formatGroupNameEnumKey(groupName, utils)} = "${codegenParams.transforms?.groupEnumValue?.(groupName) ?? groupName}"`).join(',\n')}
|
|
12
12
|
}
|
|
13
13
|
`,
|
|
14
14
|
metaInfo?.tags?.length &&
|
|
15
15
|
`
|
|
16
16
|
export const enum Tag {
|
|
17
|
-
${metaInfo?.tags.map((tagName) => `${formatTagNameEnumKey(tagName, utils)} = "${tagName}"`).join(',\n')}
|
|
17
|
+
${metaInfo?.tags.map((tagName) => `${formatTagNameEnumKey(tagName, utils)} = "${codegenParams.transforms?.tagEnumValue?.(tagName) ?? tagName}"`).join(',\n')}
|
|
18
18
|
}
|
|
19
19
|
`,
|
|
20
20
|
]
|
package/package.json
CHANGED
package/runtime/http-client.d.ts
CHANGED
|
@@ -24,6 +24,7 @@ export type RequestParams = Omit<FullRequestParams, 'body' | 'method' | 'query'
|
|
|
24
24
|
export interface HttpClientConfig<TMeta = unknown> {
|
|
25
25
|
baseUrl?: string;
|
|
26
26
|
meta?: TMeta;
|
|
27
|
+
fetch?: typeof globalThis.fetch;
|
|
27
28
|
baseApiParams?: Omit<RequestParams, 'baseUrl' | 'cancelToken' | 'signal'>;
|
|
28
29
|
contentFormatters?: Record<string, (input: any) => any>;
|
|
29
30
|
toQueryString?: (query?: QueryParamsType) => string;
|
|
@@ -31,9 +32,8 @@ export interface HttpClientConfig<TMeta = unknown> {
|
|
|
31
32
|
baseUrl: string;
|
|
32
33
|
path: string;
|
|
33
34
|
query: string;
|
|
34
|
-
}) => string;
|
|
35
|
+
}, metadata: TMeta | null) => string;
|
|
35
36
|
interceptor?: (requestParams: RequestParams, metadata: TMeta | null) => Promise<RequestParams | void> | RequestParams | void;
|
|
36
|
-
fetch?: typeof fetch;
|
|
37
37
|
}
|
|
38
38
|
export interface HttpResponse<TData, TError = null, TStatus = number> extends Omit<Response, 'status'> {
|
|
39
39
|
data: TData;
|
|
@@ -57,15 +57,14 @@ export type AnyHttpResponse = HttpResponse<any, any>;
|
|
|
57
57
|
export declare const isHttpResponse: (response: unknown, status?: number) => response is AnyHttpResponse;
|
|
58
58
|
export declare const isHttpBadResponse: (response: unknown) => response is HttpResponse<null, any>;
|
|
59
59
|
export declare class HttpClient<TMeta = unknown> {
|
|
60
|
-
|
|
60
|
+
private config;
|
|
61
|
+
private fetch;
|
|
61
62
|
meta: TMeta | null;
|
|
62
63
|
baseApiParams: RequestParams;
|
|
63
|
-
private interceptor?;
|
|
64
|
-
private fetch;
|
|
65
|
-
private customBuildUrl;
|
|
66
|
-
private customToQueryString;
|
|
67
64
|
badResponse: unknown;
|
|
68
65
|
constructor(config?: HttpClientConfig<TMeta>);
|
|
66
|
+
get baseUrl(): string;
|
|
67
|
+
updateConfig(update: Partial<HttpClientConfig<TMeta>>): void;
|
|
69
68
|
setMeta: (data: TMeta | null) => void;
|
|
70
69
|
setBadResponse: (response: unknown) => void;
|
|
71
70
|
protected encodeQueryParam(key: string, value: any): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http-client.d.ts","sourceRoot":"","sources":["../../src/runtime/http-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAE/E,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAE9C,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,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,aAAa,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,eAAe,KAAK,MAAM,CAAC;IACpD,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,
|
|
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
|
@@ -8,37 +8,44 @@ export const isHttpBadResponse = (response) => {
|
|
|
8
8
|
return isHttpResponse(response) && !response.ok;
|
|
9
9
|
};
|
|
10
10
|
export class HttpClient {
|
|
11
|
-
|
|
12
|
-
meta = null;
|
|
13
|
-
baseApiParams = {
|
|
14
|
-
credentials: 'same-origin',
|
|
15
|
-
headers: {},
|
|
16
|
-
redirect: 'follow',
|
|
17
|
-
referrerPolicy: 'no-referrer',
|
|
18
|
-
};
|
|
19
|
-
interceptor;
|
|
11
|
+
config;
|
|
20
12
|
fetch;
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
badResponse
|
|
13
|
+
meta;
|
|
14
|
+
baseApiParams;
|
|
15
|
+
badResponse;
|
|
24
16
|
constructor(config) {
|
|
25
|
-
this.
|
|
17
|
+
this.config = config ?? {};
|
|
18
|
+
this.badResponse = null;
|
|
26
19
|
this.meta = config?.meta ?? null;
|
|
27
|
-
this.
|
|
28
|
-
this.fetch = config?.fetch ?? fetch.bind(globalThis);
|
|
29
|
-
this.customBuildUrl = config?.buildUrl;
|
|
30
|
-
this.customToQueryString = config?.toQueryString;
|
|
20
|
+
this.fetch = config?.fetch ?? globalThis.fetch;
|
|
31
21
|
this.baseApiParams = {
|
|
32
|
-
|
|
33
|
-
|
|
22
|
+
credentials: 'same-origin',
|
|
23
|
+
headers: {},
|
|
24
|
+
redirect: 'follow',
|
|
25
|
+
referrerPolicy: 'no-referrer',
|
|
34
26
|
};
|
|
35
|
-
|
|
27
|
+
this.updateConfig(this.config);
|
|
36
28
|
observable.ref(this, 'badResponse');
|
|
37
29
|
observable.ref(this, 'meta');
|
|
38
30
|
action(this, 'setMeta');
|
|
39
31
|
action(this, 'setBadResponse');
|
|
40
32
|
makeObservable(this);
|
|
41
33
|
}
|
|
34
|
+
get baseUrl() {
|
|
35
|
+
return this.config.baseUrl ?? '';
|
|
36
|
+
}
|
|
37
|
+
updateConfig(update) {
|
|
38
|
+
Object.assign(this.config, update);
|
|
39
|
+
if (update.baseApiParams) {
|
|
40
|
+
Object.assign(this.baseApiParams, update.baseApiParams);
|
|
41
|
+
}
|
|
42
|
+
if (update.contentFormatters) {
|
|
43
|
+
Object.assign(this.contentFormatters, update.contentFormatters);
|
|
44
|
+
}
|
|
45
|
+
if (update.fetch) {
|
|
46
|
+
this.fetch = update.fetch;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
42
49
|
setMeta = (data) => {
|
|
43
50
|
this.meta = data;
|
|
44
51
|
};
|
|
@@ -57,8 +64,8 @@ export class HttpClient {
|
|
|
57
64
|
return value.map((v) => this.encodeQueryParam(key, v)).join('&');
|
|
58
65
|
}
|
|
59
66
|
toQueryString(rawQuery) {
|
|
60
|
-
if (this.
|
|
61
|
-
return this.
|
|
67
|
+
if (this.config.toQueryString) {
|
|
68
|
+
return this.config.toQueryString(rawQuery);
|
|
62
69
|
}
|
|
63
70
|
const query = rawQuery || {};
|
|
64
71
|
const keys = Object.keys(query).filter((key) => 'undefined' !== typeof query[key]);
|
|
@@ -137,8 +144,8 @@ export class HttpClient {
|
|
|
137
144
|
const path = params.path;
|
|
138
145
|
const queryString = params.query && this.toQueryString(params.query);
|
|
139
146
|
const query = queryString ? `?${queryString}` : '';
|
|
140
|
-
if (this.
|
|
141
|
-
return this.
|
|
147
|
+
if (this.config.buildUrl) {
|
|
148
|
+
return this.config.buildUrl(params, { baseUrl, path, query }, this.meta);
|
|
142
149
|
}
|
|
143
150
|
const url = baseUrl + path + query;
|
|
144
151
|
return url;
|
|
@@ -147,9 +154,10 @@ export class HttpClient {
|
|
|
147
154
|
this.setBadResponse(null);
|
|
148
155
|
const { body, contentType = 'application/json', format = 'json', ...params } = fullParams;
|
|
149
156
|
let requestParams = this.mergeRequestParams(params);
|
|
150
|
-
if (this.interceptor) {
|
|
157
|
+
if (this.config.interceptor) {
|
|
151
158
|
requestParams =
|
|
152
|
-
(await this.interceptor(requestParams, this.meta)) ??
|
|
159
|
+
(await this.config.interceptor(requestParams, this.meta)) ??
|
|
160
|
+
requestParams;
|
|
153
161
|
}
|
|
154
162
|
const payloadFormatter = this.contentFormatters[contentType];
|
|
155
163
|
const responseFormat = format || requestParams.format;
|