@knpkv/jira-api-client 0.4.0 → 1.0.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/CHANGELOG.md +16 -0
- package/README.md +88 -65
- package/dist/JiraApiClient.d.ts +20 -86
- package/dist/JiraApiClient.d.ts.map +1 -1
- package/dist/JiraApiClient.js +26 -75
- package/dist/JiraApiClient.js.map +1 -1
- package/dist/generated/JiraApi.d.ts +103971 -0
- package/dist/generated/JiraApi.d.ts.map +1 -0
- package/dist/generated/JiraApi.js +7608 -0
- package/dist/generated/JiraApi.js.map +1 -0
- package/dist/index.d.ts +3 -12
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -11
- package/dist/index.js.map +1 -1
- package/package.json +13 -16
- package/scripts/regenerate.ts +209 -201
- package/scripts/tsconfig.json +13 -0
- package/src/JiraApiClient.ts +74 -104
- package/src/generated/JiraApi.ts +19596 -0
- package/src/index.ts +3 -14
- package/test/JiraApiClient.test.ts +154 -153
- package/.specs/VERSION_V3 +0 -1
- package/.specs/jira-v3-1001.0.0-SNAPSHOT-05f20e18d9bde3de68f911b4915970482f536d4e.json +0 -56275
- package/.specs/jira-v3-1001.0.0-SNAPSHOT-d7cd03e966bb408ad32ffe870114289c528f56fd.json +0 -56129
- package/.specs/jira-v3-1001.0.0-SNAPSHOT-ea9913a8c4412d2bfb1911480b023a04544e19d8.json +0 -55618
- package/dist/OpenApiFetchClient.d.ts +0 -55
- package/dist/OpenApiFetchClient.d.ts.map +0 -1
- package/dist/OpenApiFetchClient.js +0 -68
- package/dist/OpenApiFetchClient.js.map +0 -1
- package/dist/generated/v3/index.d.ts +0 -7
- package/dist/generated/v3/index.d.ts.map +0 -1
- package/dist/generated/v3/index.js +0 -2
- package/dist/generated/v3/index.js.map +0 -1
- package/dist/generated/v3/schema.d.ts +0 -64454
- package/src/OpenApiFetchClient.ts +0 -102
- package/src/generated/v3/index.ts +0 -6
- package/src/generated/v3/schema.d.ts +0 -64454
- package/tsconfig.tsbuildinfo +0 -1
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
import * as Effect from "effect/Effect";
|
|
2
|
-
import { type Client, type FetchResponse } from "openapi-fetch";
|
|
3
|
-
import type { MediaType } from "openapi-typescript-helpers";
|
|
4
|
-
declare const FetchClientError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
|
|
5
|
-
readonly _tag: "FetchClientError";
|
|
6
|
-
} & Readonly<A>;
|
|
7
|
-
/**
|
|
8
|
-
* Error from openapi-fetch operations.
|
|
9
|
-
*
|
|
10
|
-
* @category Errors
|
|
11
|
-
*/
|
|
12
|
-
export declare class FetchClientError extends FetchClientError_base<{
|
|
13
|
-
readonly error: unknown;
|
|
14
|
-
readonly status: number;
|
|
15
|
-
readonly message: string;
|
|
16
|
-
}> {
|
|
17
|
-
}
|
|
18
|
-
/** Extract success `data` from a FetchResponse discriminated union. */
|
|
19
|
-
export type SuccessData<T> = T extends {
|
|
20
|
-
data: infer D;
|
|
21
|
-
error?: undefined;
|
|
22
|
-
} ? D : T extends {
|
|
23
|
-
data?: infer D;
|
|
24
|
-
} ? D | undefined : undefined;
|
|
25
|
-
/**
|
|
26
|
-
* Wrap an openapi-fetch `Promise<FetchResponse>` in Effect.
|
|
27
|
-
*
|
|
28
|
-
* Extracts `data` on success, maps errors to `FetchClientError`.
|
|
29
|
-
* Fully type-safe — path/body constraints come from the `Client<Paths>` call site.
|
|
30
|
-
*
|
|
31
|
-
* @example
|
|
32
|
-
* ```typescript
|
|
33
|
-
* const page = yield* toEffect(client.GET("/pages/{id}", { params: { path: { id: 123 } } }))
|
|
34
|
-
* ```
|
|
35
|
-
*
|
|
36
|
-
* @category Utilities
|
|
37
|
-
*/
|
|
38
|
-
export declare const toEffect: <T extends Record<string | number, any>, O, M extends MediaType>(promise: Promise<FetchResponse<T, O, M>>) => Effect.Effect<SuccessData<FetchResponse<T, O, M>>, FetchClientError>;
|
|
39
|
-
/**
|
|
40
|
-
* openapi-fetch client paired with the `toEffect` helper.
|
|
41
|
-
*
|
|
42
|
-
* @category Client
|
|
43
|
-
*/
|
|
44
|
-
export interface OpenApiFetchClient<Paths extends {}> {
|
|
45
|
-
/** Type-safe openapi-fetch client. Use with `toEffect()` to get Effect. */
|
|
46
|
-
readonly client: Client<Paths>;
|
|
47
|
-
}
|
|
48
|
-
/**
|
|
49
|
-
* Create an openapi-fetch client with auth headers pre-configured.
|
|
50
|
-
*
|
|
51
|
-
* @category Constructors
|
|
52
|
-
*/
|
|
53
|
-
export declare const makeOpenApiFetchClient: <Paths extends {}>(baseUrl: string, headers: Record<string, string>) => OpenApiFetchClient<Paths>;
|
|
54
|
-
export {};
|
|
55
|
-
//# sourceMappingURL=OpenApiFetchClient.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"OpenApiFetchClient.d.ts","sourceRoot":"","sources":["../src/OpenApiFetchClient.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAqB,EAAE,KAAK,MAAM,EAAE,KAAK,aAAa,EAAE,MAAM,eAAe,CAAA;AAC7E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAA;;;;AAE3D;;;;GAIG;AACH,qBAAa,gBAAiB,SAAQ,sBAAqC;IACzE,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CACzB,CAAC;CAAG;AAEL,uEAAuE;AACvE,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI,CAAC,SAAS;IAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IAAC,KAAK,CAAC,EAAE,SAAS,CAAA;CAAE,GAAG,CAAC,GAC3E,CAAC,SAAS;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC,CAAA;CAAE,GAAG,CAAC,GAAG,SAAS,GAC5C,SAAS,CAAA;AAcb;;;;;;;;;;;;GAYG;AAEH,eAAO,MAAM,QAAQ,GAAI,CAAC,SAAS,MAAM,CAAC,MAAM,GAAG,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,SAAS,EACrF,SAAS,OAAO,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,KACvC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,gBAAgB,CAelE,CAAA;AAEJ;;;;GAIG;AACH,MAAM,WAAW,kBAAkB,CAAC,KAAK,SAAS,EAAE;IAClD,2EAA2E;IAC3E,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;CAC/B;AAED;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,GAAI,KAAK,SAAS,EAAE,EACrD,SAAS,MAAM,EACf,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAC9B,kBAAkB,CAAC,KAAK,CAEzB,CAAA"}
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generic Effect wrapper for openapi-fetch clients.
|
|
3
|
-
*
|
|
4
|
-
* Exposes a type-safe `Client<Paths>` and a `toEffect` helper that wraps
|
|
5
|
-
* any `Promise<FetchResponse>` in Effect with error mapping.
|
|
6
|
-
*
|
|
7
|
-
* @example
|
|
8
|
-
* ```typescript
|
|
9
|
-
* const page = yield* toEffect(client.GET("/pages/{id}", {
|
|
10
|
-
* params: { path: { id: 123 } }
|
|
11
|
-
* }))
|
|
12
|
-
* ```
|
|
13
|
-
*
|
|
14
|
-
* @module
|
|
15
|
-
*/
|
|
16
|
-
import * as Data from "effect/Data";
|
|
17
|
-
import * as Effect from "effect/Effect";
|
|
18
|
-
import createClient, {} from "openapi-fetch";
|
|
19
|
-
/**
|
|
20
|
-
* Error from openapi-fetch operations.
|
|
21
|
-
*
|
|
22
|
-
* @category Errors
|
|
23
|
-
*/
|
|
24
|
-
export class FetchClientError extends Data.TaggedError("FetchClientError") {
|
|
25
|
-
}
|
|
26
|
-
const isRecord = (value) => typeof value === "object" && value !== null;
|
|
27
|
-
const errorPayload = (value) => isRecord(value) && "error" in value ? value.error : value;
|
|
28
|
-
const errorStatus = (value) => isRecord(value) && typeof value.status === "number" ? value.status : 0;
|
|
29
|
-
const errorMessage = (value) => {
|
|
30
|
-
const payload = errorPayload(value);
|
|
31
|
-
return typeof payload === "string" ? payload : JSON.stringify(payload);
|
|
32
|
-
};
|
|
33
|
-
/**
|
|
34
|
-
* Wrap an openapi-fetch `Promise<FetchResponse>` in Effect.
|
|
35
|
-
*
|
|
36
|
-
* Extracts `data` on success, maps errors to `FetchClientError`.
|
|
37
|
-
* Fully type-safe — path/body constraints come from the `Client<Paths>` call site.
|
|
38
|
-
*
|
|
39
|
-
* @example
|
|
40
|
-
* ```typescript
|
|
41
|
-
* const page = yield* toEffect(client.GET("/pages/{id}", { params: { path: { id: 123 } } }))
|
|
42
|
-
* ```
|
|
43
|
-
*
|
|
44
|
-
* @category Utilities
|
|
45
|
-
*/
|
|
46
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any -- matches FetchResponse generic constraint
|
|
47
|
-
export const toEffect = (promise) => Effect.tryPromise({
|
|
48
|
-
try: () => promise.then(({ data, error, response }) => {
|
|
49
|
-
if (error !== undefined || !response.ok) {
|
|
50
|
-
throw { error, status: response.status };
|
|
51
|
-
}
|
|
52
|
-
return data;
|
|
53
|
-
}),
|
|
54
|
-
catch: (e) => new FetchClientError({
|
|
55
|
-
error: errorPayload(e),
|
|
56
|
-
status: errorStatus(e),
|
|
57
|
-
message: errorMessage(e)
|
|
58
|
-
})
|
|
59
|
-
});
|
|
60
|
-
/**
|
|
61
|
-
* Create an openapi-fetch client with auth headers pre-configured.
|
|
62
|
-
*
|
|
63
|
-
* @category Constructors
|
|
64
|
-
*/
|
|
65
|
-
export const makeOpenApiFetchClient = (baseUrl, headers) => ({
|
|
66
|
-
client: createClient({ baseUrl, headers })
|
|
67
|
-
});
|
|
68
|
-
//# sourceMappingURL=OpenApiFetchClient.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"OpenApiFetchClient.js","sourceRoot":"","sources":["../src/OpenApiFetchClient.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,KAAK,IAAI,MAAM,aAAa,CAAA;AACnC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,YAAY,EAAE,EAAmC,MAAM,eAAe,CAAA;AAG7E;;;;GAIG;AACH,MAAM,OAAO,gBAAiB,SAAQ,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAIvE;CAAG;AAOL,MAAM,QAAQ,GAAG,CAAC,KAAc,EAAmD,EAAE,CACnF,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAA;AAE7C,MAAM,YAAY,GAAG,CAAC,KAAc,EAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,OAAO,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAA;AAE3G,MAAM,WAAW,GAAG,CAAC,KAAc,EAAU,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;AAEtH,MAAM,YAAY,GAAG,CAAC,KAAc,EAAU,EAAE;IAC9C,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC,CAAA;IACnC,OAAO,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;AACxE,CAAC,CAAA;AAED;;;;;;;;;;;;GAYG;AACH,0GAA0G;AAC1G,MAAM,CAAC,MAAM,QAAQ,GAAG,CACtB,OAAwC,EAC8B,EAAE,CACxE,MAAM,CAAC,UAAU,CAAC;IAChB,GAAG,EAAE,GAAG,EAAE,CACR,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE;QACzC,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACxC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAA;QAC1C,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC,CAAC;IACJ,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CACX,IAAI,gBAAgB,CAAC;QACnB,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC;QACtB,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC;QACtB,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC;KACzB,CAAC;CACL,CAAC,CAAA;AAYJ;;;;GAIG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CACpC,OAAe,EACf,OAA+B,EACJ,EAAE,CAAC,CAAC;IAC/B,MAAM,EAAE,YAAY,CAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;CAClD,CAAC,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/generated/v3/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/generated/v3/index.ts"],"names":[],"mappings":""}
|