@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.
Files changed (38) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/README.md +88 -65
  3. package/dist/JiraApiClient.d.ts +20 -86
  4. package/dist/JiraApiClient.d.ts.map +1 -1
  5. package/dist/JiraApiClient.js +26 -75
  6. package/dist/JiraApiClient.js.map +1 -1
  7. package/dist/generated/JiraApi.d.ts +103971 -0
  8. package/dist/generated/JiraApi.d.ts.map +1 -0
  9. package/dist/generated/JiraApi.js +7608 -0
  10. package/dist/generated/JiraApi.js.map +1 -0
  11. package/dist/index.d.ts +3 -12
  12. package/dist/index.d.ts.map +1 -1
  13. package/dist/index.js +3 -11
  14. package/dist/index.js.map +1 -1
  15. package/package.json +13 -16
  16. package/scripts/regenerate.ts +209 -201
  17. package/scripts/tsconfig.json +13 -0
  18. package/src/JiraApiClient.ts +74 -104
  19. package/src/generated/JiraApi.ts +19596 -0
  20. package/src/index.ts +3 -14
  21. package/test/JiraApiClient.test.ts +154 -153
  22. package/.specs/VERSION_V3 +0 -1
  23. package/.specs/jira-v3-1001.0.0-SNAPSHOT-05f20e18d9bde3de68f911b4915970482f536d4e.json +0 -56275
  24. package/.specs/jira-v3-1001.0.0-SNAPSHOT-d7cd03e966bb408ad32ffe870114289c528f56fd.json +0 -56129
  25. package/.specs/jira-v3-1001.0.0-SNAPSHOT-ea9913a8c4412d2bfb1911480b023a04544e19d8.json +0 -55618
  26. package/dist/OpenApiFetchClient.d.ts +0 -55
  27. package/dist/OpenApiFetchClient.d.ts.map +0 -1
  28. package/dist/OpenApiFetchClient.js +0 -68
  29. package/dist/OpenApiFetchClient.js.map +0 -1
  30. package/dist/generated/v3/index.d.ts +0 -7
  31. package/dist/generated/v3/index.d.ts.map +0 -1
  32. package/dist/generated/v3/index.js +0 -2
  33. package/dist/generated/v3/index.js.map +0 -1
  34. package/dist/generated/v3/schema.d.ts +0 -64454
  35. package/src/OpenApiFetchClient.ts +0 -102
  36. package/src/generated/v3/index.ts +0 -6
  37. package/src/generated/v3/schema.d.ts +0 -64454
  38. 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,7 +0,0 @@
1
- /**
2
- * Generated Jira Cloud REST API v3 types.
3
- *
4
- * @module
5
- */
6
- export type { components, operations, paths } from "./schema.js";
7
- //# sourceMappingURL=index.d.ts.map
@@ -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,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/generated/v3/index.ts"],"names":[],"mappings":""}