@knpkv/jira-api-client 0.3.1 → 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 +28 -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 -76
  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 -202
  17. package/scripts/tsconfig.json +13 -0
  18. package/src/JiraApiClient.ts +74 -105
  19. package/src/generated/JiraApi.ts +19596 -0
  20. package/src/index.ts +3 -14
  21. package/test/JiraApiClient.test.ts +155 -137
  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 -63
  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 -92
  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
- } ? NonNullable<D> : never;
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, "application/json">;
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,WAAW,CAAC,CAAC,CAAC,GAC7C,KAAK,CAAA;AAET;;;;;;;;;;;;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,CAiBlE,CAAA;AAEJ;;;;GAIG;AACH,MAAM,WAAW,kBAAkB,CAAC,KAAK,SAAS,EAAE;IAClD,2EAA2E;IAC3E,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAA;CACnD;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,63 +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
- /**
27
- * Wrap an openapi-fetch `Promise<FetchResponse>` in Effect.
28
- *
29
- * Extracts `data` on success, maps errors to `FetchClientError`.
30
- * Fully type-safe — path/body constraints come from the `Client<Paths>` call site.
31
- *
32
- * @example
33
- * ```typescript
34
- * const page = yield* toEffect(client.GET("/pages/{id}", { params: { path: { id: 123 } } }))
35
- * ```
36
- *
37
- * @category Utilities
38
- */
39
- // eslint-disable-next-line @typescript-eslint/no-explicit-any -- matches FetchResponse generic constraint
40
- export const toEffect = (promise) => Effect.tryPromise({
41
- try: () => promise.then(({ data, error, response }) => {
42
- if (error !== undefined || !response.ok) {
43
- throw { error, status: response.status };
44
- }
45
- return data;
46
- }),
47
- catch: (e) => new FetchClientError({
48
- error: e.error ?? e,
49
- status: e.status ?? 0,
50
- message: typeof e.error === "string"
51
- ? e.error
52
- : JSON.stringify(e.error ?? e)
53
- })
54
- });
55
- /**
56
- * Create an openapi-fetch client with auth headers pre-configured.
57
- *
58
- * @category Constructors
59
- */
60
- export const makeOpenApiFetchClient = (baseUrl, headers) => ({
61
- client: createClient({ baseUrl, headers })
62
- });
63
- //# 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;;;;;;;;;;;;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,IAA2C,CAAA;IACpD,CAAC,CAAC;IACJ,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CACX,IAAI,gBAAgB,CAAC;QACnB,KAAK,EAAG,CAA6B,CAAC,KAAK,IAAI,CAAC;QAChD,MAAM,EAAI,CAA6B,CAAC,MAA6B,IAAI,CAAC;QAC1E,OAAO,EAAE,OAAQ,CAA6B,CAAC,KAAK,KAAK,QAAQ;YAC/D,CAAC,CAAE,CAA6B,CAAC,KAAe;YAChD,CAAC,CAAC,IAAI,CAAC,SAAS,CAAE,CAA6B,CAAC,KAAK,IAAI,CAAC,CAAC;KAC9D,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,CAA4B,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;CACtE,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":""}