@toktokhan-dev/cli-plugin-gen-api-react-query 0.0.2 → 0.0.4

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.
@@ -0,0 +1,63 @@
1
+ /**
2
+ * `Swagger` 의 json 을 조회하여 타입정의와 `api class`, `react-query` 관련 모듈을 생성합니다.
3
+ * `axios` 를 사용하는 환경에서 사용가능합니다.
4
+ *
5
+ * @packageDocumentation
6
+ */
7
+
8
+ import * as _toktokhan_dev_cli from '@toktokhan-dev/cli';
9
+ import { HttpClientType } from 'swagger-typescript-api';
10
+
11
+
12
+ type GenerateFn = (param: {
13
+ apiInstanceName: string;
14
+ functionName: string;
15
+ pagination: {
16
+ keywords: string[];
17
+ nextKey: string;
18
+ };
19
+ }) => string;
20
+ interface PaginationConfig {
21
+ /** api 의 queryParams key 에 keywords 가 포함되어 있는 항목만 생성됩니다. 키워드 배열은 AND 연산으로써 사용됩니다. */
22
+ keywords: string[];
23
+ /** InfiniteQuery 의 nextPage 와 nextPageParam 을 구하는 함수를 작성하기 위해 사용됩니다. */
24
+ nextKey: string;
25
+ /**
26
+ * InfiniteQuery 의 initialPage 를 커스텀하기 위해 사용됩니다.
27
+ */
28
+ initialPageParam?: string | GenerateFn;
29
+ /** InfiniteQuery 의 nextPage 를 구하는 함수를 커스텀하기 위해 사용됩니다. */
30
+ getNextPage?: string | GenerateFn;
31
+ /** InfiniteQuery 의 nextPageParam 을 구하는 함수를 커스텀하기 위해 사용됩니다. */
32
+ getNextPageParam?: string | GenerateFn;
33
+ }
34
+ /**
35
+ * @category Types
36
+ */
37
+ interface GenerateSwaggerApiConfig {
38
+ /** 조회할 스웨거의 url 혹은 file(yaml, json) 경로 입니다. 통상적으로
39
+ * 백앤드 개발자에게 공유받은 api-swagger-url 의 '/openapi.json' 경로에 해당합니다.
40
+ */
41
+ swaggerSchemaUrl: string;
42
+ /** 생성될 파일들이 위치할 경로입니다. */
43
+ output: string;
44
+ /** 생성되는 코드의 React Query 포함 여부 입니다.
45
+ * 해당 옵션이 false 일경우 infiniteQuery 를 포함한 모든 Query 가 생성되지 않습니다. */
46
+ includeReactQuery: boolean;
47
+ /** 생성되는 코드의 InfiniteQuery 포함 여부 입니다. */
48
+ includeReactInfiniteQuery: boolean;
49
+ /** Api 의 axios 혹은 fetch 요청 instance 주소입니다. */
50
+ instancePath: string;
51
+ /** http client 타입입니다. */
52
+ httpClientType: HttpClientType;
53
+ /**
54
+ * infiniteQuery 를 생성할 함수 필터 목록 입니다.
55
+ * */
56
+ paginations: PaginationConfig[];
57
+ }
58
+ /**
59
+ * @category Commands
60
+ */
61
+ declare const genApi: _toktokhan_dev_cli.MyCommand<GenerateSwaggerApiConfig, "gen:api">;
62
+ export { type GenerateFn, type GenerateSwaggerApiConfig, type PaginationConfig, genApi };
63
+ //# sourceMappingURL=index.d.ts.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@toktokhan-dev/cli-plugin-gen-api-react-query",
3
- "version": "0.0.2",
3
+ "version": "0.0.4",
4
4
  "description": "",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -27,8 +27,8 @@
27
27
  "lodash": "^4.17.21",
28
28
  "prettier-plugin-organize-imports": "^3.2.4",
29
29
  "swagger-typescript-api": "^13.0.3",
30
- "@toktokhan-dev/cli": "0.0.2",
31
- "@toktokhan-dev/node": "0.0.1"
30
+ "@toktokhan-dev/cli": "0.0.4",
31
+ "@toktokhan-dev/node": "0.0.3"
32
32
  },
33
33
  "scripts": {
34
34
  "build": "rollup -c",