@vertesia/api-fetch-client 1.1.1-dev.20260505.163000Z → 1.3.0-dev.20260620.061059Z

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 (80) hide show
  1. package/README.md +51 -0
  2. package/lib/base.d.ts +169 -0
  3. package/lib/base.d.ts.map +1 -0
  4. package/lib/base.js +481 -0
  5. package/lib/base.js.map +1 -0
  6. package/lib/{types/client.d.ts → client.d.ts} +8 -8
  7. package/lib/client.d.ts.map +1 -0
  8. package/lib/{esm/client.js → client.js} +27 -11
  9. package/lib/client.js.map +1 -0
  10. package/lib/{types/errors.d.ts → errors.d.ts} +5 -5
  11. package/lib/errors.d.ts.map +1 -0
  12. package/lib/{esm/errors.js → errors.js} +22 -9
  13. package/lib/errors.js.map +1 -0
  14. package/lib/index.d.ts +5 -0
  15. package/lib/index.d.ts.map +1 -0
  16. package/lib/index.js +5 -0
  17. package/lib/index.js.map +1 -0
  18. package/lib/{types/sse → sse}/EventSourceParserStream.d.ts +4 -1
  19. package/lib/sse/EventSourceParserStream.d.ts.map +1 -0
  20. package/lib/{esm/sse → sse}/EventSourceParserStream.js +5 -4
  21. package/lib/sse/EventSourceParserStream.js.map +1 -0
  22. package/lib/sse/TextDecoderStream.d.ts.map +1 -0
  23. package/lib/{esm/sse → sse}/TextDecoderStream.js +2 -2
  24. package/lib/sse/TextDecoderStream.js.map +1 -0
  25. package/lib/{types/sse → sse}/index.d.ts +7 -2
  26. package/lib/sse/index.d.ts.map +1 -0
  27. package/lib/{esm/sse → sse}/index.js +3 -3
  28. package/lib/sse/index.js.map +1 -0
  29. package/lib/{types/utils.d.ts → utils.d.ts} +1 -1
  30. package/lib/utils.d.ts.map +1 -0
  31. package/lib/{esm/utils.js → utils.js} +3 -3
  32. package/lib/utils.js.map +1 -0
  33. package/package.json +22 -25
  34. package/src/base.ts +432 -79
  35. package/src/client.ts +50 -24
  36. package/src/errors.ts +28 -15
  37. package/src/index.ts +4 -4
  38. package/src/sse/EventSourceParserStream.ts +13 -10
  39. package/src/sse/TextDecoderStream.ts +16 -11
  40. package/src/sse/index.ts +14 -8
  41. package/src/utils.ts +5 -6
  42. package/lib/cjs/base.js +0 -240
  43. package/lib/cjs/base.js.map +0 -1
  44. package/lib/cjs/client.js +0 -115
  45. package/lib/cjs/client.js.map +0 -1
  46. package/lib/cjs/errors.js +0 -63
  47. package/lib/cjs/errors.js.map +0 -1
  48. package/lib/cjs/index.js +0 -21
  49. package/lib/cjs/index.js.map +0 -1
  50. package/lib/cjs/package.json +0 -3
  51. package/lib/cjs/sse/EventSourceParserStream.js +0 -41
  52. package/lib/cjs/sse/EventSourceParserStream.js.map +0 -1
  53. package/lib/cjs/sse/TextDecoderStream.js +0 -53
  54. package/lib/cjs/sse/TextDecoderStream.js.map +0 -1
  55. package/lib/cjs/sse/index.js +0 -27
  56. package/lib/cjs/sse/index.js.map +0 -1
  57. package/lib/cjs/utils.js +0 -38
  58. package/lib/cjs/utils.js.map +0 -1
  59. package/lib/esm/base.js +0 -235
  60. package/lib/esm/base.js.map +0 -1
  61. package/lib/esm/client.js.map +0 -1
  62. package/lib/esm/errors.js.map +0 -1
  63. package/lib/esm/index.js +0 -5
  64. package/lib/esm/index.js.map +0 -1
  65. package/lib/esm/sse/EventSourceParserStream.js.map +0 -1
  66. package/lib/esm/sse/TextDecoderStream.js.map +0 -1
  67. package/lib/esm/sse/index.js.map +0 -1
  68. package/lib/esm/utils.js.map +0 -1
  69. package/lib/tsconfig.tsbuildinfo +0 -1
  70. package/lib/types/base.d.ts +0 -83
  71. package/lib/types/base.d.ts.map +0 -1
  72. package/lib/types/client.d.ts.map +0 -1
  73. package/lib/types/errors.d.ts.map +0 -1
  74. package/lib/types/index.d.ts +0 -5
  75. package/lib/types/index.d.ts.map +0 -1
  76. package/lib/types/sse/EventSourceParserStream.d.ts.map +0 -1
  77. package/lib/types/sse/TextDecoderStream.d.ts.map +0 -1
  78. package/lib/types/sse/index.d.ts.map +0 -1
  79. package/lib/types/utils.d.ts.map +0 -1
  80. /package/lib/{types/sse → sse}/TextDecoderStream.d.ts +0 -0
@@ -1,15 +1,27 @@
1
+ function isRecord(value) {
2
+ return value !== null && typeof value === 'object';
3
+ }
4
+ function getDetails(payload) {
5
+ if (!isRecord(payload)) {
6
+ return undefined;
7
+ }
8
+ if (payload.details) {
9
+ return payload.details;
10
+ }
11
+ return isRecord(payload.error) ? payload.error.details : undefined;
12
+ }
1
13
  function createMessage(message, request, status, payload, displayDetails) {
2
14
  let msg = message;
3
15
  if (displayDetails) {
4
- msg += '\nRequest: ' + request.method + ' ' + request.url + ' => ' + status;
5
- const details = payload?.details || payload?.error?.details;
16
+ msg += `\nRequest: ${request.method} ${request.url} => ${status}`;
17
+ const details = getDetails(payload);
6
18
  if (details) {
7
19
  const detailsType = typeof details;
8
20
  if (detailsType === 'string') {
9
- msg += '\nDetails: ' + details;
21
+ msg += `\nDetails: ${details}`;
10
22
  }
11
- else if (detailsType === "object") {
12
- msg += '\nDetails: ' + JSON.stringify(details, undefined, 2);
23
+ else if (detailsType === 'object') {
24
+ msg += `\nDetails: ${JSON.stringify(details, undefined, 2)}`;
13
25
  }
14
26
  }
15
27
  msg += '\nStack Trace: ';
@@ -29,11 +41,11 @@ export class RequestError extends Error {
29
41
  this.request = request;
30
42
  this.status = status;
31
43
  this.payload = payload;
32
- this.request_info = request.method + ' ' + request.url + ' => ' + status;
44
+ this.request_info = `${request.method} ${request.url} => ${status}`;
33
45
  this.displayDetails = displayDetails;
34
46
  }
35
47
  get details() {
36
- return this.payload?.details || this.payload?.error?.details;
48
+ return getDetails(this.payload);
37
49
  }
38
50
  }
39
51
  export class ServerError extends RequestError {
@@ -42,7 +54,8 @@ export class ServerError extends RequestError {
42
54
  }
43
55
  updateDetails(details) {
44
56
  if (details !== this.details) {
45
- return new ServerError(this.original_message, this.request, this.status, { ...this.payload, details }, this.displayDetails);
57
+ const payload = isRecord(this.payload) ? { ...this.payload, details } : { details };
58
+ return new ServerError(this.original_message, this.request, this.status, payload, this.displayDetails);
46
59
  }
47
60
  else {
48
61
  return this;
@@ -51,7 +64,7 @@ export class ServerError extends RequestError {
51
64
  }
52
65
  export class ConnectionError extends RequestError {
53
66
  constructor(req, err) {
54
- super("Failed to connect to server: " + err.message, req, 0, err);
67
+ super(`Failed to connect to server: ${err.message}`, req, 0, err);
55
68
  }
56
69
  }
57
70
  //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
package/lib/index.d.ts ADDED
@@ -0,0 +1,5 @@
1
+ export * from './base.js';
2
+ export * from './client.js';
3
+ export * from './errors.js';
4
+ export * from './sse/index.js';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC"}
package/lib/index.js ADDED
@@ -0,0 +1,5 @@
1
+ export * from './base.js';
2
+ export * from './client.js';
3
+ export * from './errors.js';
4
+ export * from './sse/index.js';
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC"}
@@ -1,4 +1,7 @@
1
- import { type ParsedEvent } from 'eventsource-parser';
1
+ import { type EventSourceMessage } from 'eventsource-parser';
2
+ export type ParsedEvent = EventSourceMessage & {
3
+ type: 'event';
4
+ };
2
5
  /**
3
6
  * We copied this file from the eventsource-parser/stream package and made it a part of our project.
4
7
  * because importing the eventsource-parser/stream breaks tsc build when building the commonjs version
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EventSourceParserStream.d.ts","sourceRoot":"","sources":["../../src/sse/EventSourceParserStream.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,kBAAkB,EAA0B,MAAM,oBAAoB,CAAC;AAEnG,MAAM,MAAM,WAAW,GAAG,kBAAkB,GAAG;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC;AAEjE;;;;;GAKG;AAEH;;;;;;;;;;;GAWG;AACH,qBAAa,uBAAwB,SAAQ,eAAe,CAAC,MAAM,EAAE,WAAW,CAAC;;CAkBhF"}
@@ -22,10 +22,11 @@ export class EventSourceParserStream extends TransformStream {
22
22
  let parser;
23
23
  super({
24
24
  start(controller) {
25
- parser = createParser((event) => {
26
- if (event.type === 'event') {
27
- controller.enqueue(event);
28
- }
25
+ parser = createParser({
26
+ onEvent(event) {
27
+ const parsedEvent = { type: 'event', ...event };
28
+ controller.enqueue(parsedEvent);
29
+ },
29
30
  });
30
31
  },
31
32
  transform(chunk) {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EventSourceParserStream.js","sourceRoot":"","sources":["../../src/sse/EventSourceParserStream.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAmD,MAAM,oBAAoB,CAAC;AAInG;;;;;GAKG;AAEH;;;;;;;;;;;GAWG;AACH,MAAM,OAAO,uBAAwB,SAAQ,eAAoC;IAC7E;QACI,IAAI,MAA0B,CAAC;QAE/B,KAAK,CAAC;YACF,KAAK,CAAC,UAAU;gBACZ,MAAM,GAAG,YAAY,CAAC;oBAClB,OAAO,CAAC,KAAK;wBACT,MAAM,WAAW,GAAgB,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,KAAK,EAAE,CAAC;wBAC7D,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;oBACpC,CAAC;iBACJ,CAAC,CAAC;YACP,CAAC;YACD,SAAS,CAAC,KAAK;gBACX,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACvB,CAAC;SACJ,CAAC,CAAC;IACP,CAAC;CACJ"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TextDecoderStream.d.ts","sourceRoot":"","sources":["../../src/sse/TextDecoderStream.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,QAAA,IAAI,kBAAkB,EAAE,OAAO,iBAAiB,CAAC;AA6DjD,OAAO,EAAE,kBAAkB,IAAI,iBAAiB,EAAE,CAAC"}
@@ -10,7 +10,7 @@ if (globalThis.TextDecoderStream && typeof globalThis.TextDecoderStream === 'fun
10
10
  else {
11
11
  class MyTextDecoderStream extends TransformStream {
12
12
  _options;
13
- constructor(encoding = "utf-8", { fatal = false, ignoreBOM = false } = {}) {
13
+ constructor(encoding = 'utf-8', { fatal = false, ignoreBOM = false, } = {}) {
14
14
  super(new TextDecodeTransformer(new TextDecoder(encoding, { fatal, ignoreBOM })));
15
15
  this._options = { fatal, ignoreBOM, encoding };
16
16
  }
@@ -31,7 +31,7 @@ else {
31
31
  }
32
32
  transform(chunk, controller) {
33
33
  if (!(chunk instanceof ArrayBuffer || ArrayBuffer.isView(chunk))) {
34
- throw new TypeError("Input must be a compatible with: ArrayBuffer | Uint8Array");
34
+ throw new TypeError('Input must be a compatible with: ArrayBuffer | Uint8Array');
35
35
  }
36
36
  const text = this.decoder.decode(chunk, { stream: true });
37
37
  if (text.length !== 0) {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TextDecoderStream.js","sourceRoot":"","sources":["../../src/sse/TextDecoderStream.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,IAAI,kBAA4C,CAAC;AACjD,IAAI,UAAU,CAAC,iBAAiB,IAAI,OAAO,UAAU,CAAC,iBAAiB,KAAK,UAAU,EAAE,CAAC;IACrF,kBAAkB,GAAG,UAAU,CAAC,iBAAiB,CAAC;AACtD,CAAC;KAAM,CAAC;IACJ,MAAM,mBAAoB,SAAQ,eAAiD;QACvE,QAAQ,CAId;QACF,YACI,QAAQ,GAAG,OAAO,EAClB,EACI,KAAK,GAAG,KAAK,EACb,SAAS,GAAG,KAAK,MAIjB,EAAE;YAEN,KAAK,CAAC,IAAI,qBAAqB,CAAC,IAAI,WAAW,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC;YAClF,IAAI,CAAC,QAAQ,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;QACnD,CAAC;QAED,IAAI,QAAQ;YACR,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAClC,CAAC;QACD,IAAI,KAAK;YACL,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAC/B,CAAC;QACD,IAAI,SAAS;YACT,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;QACnC,CAAC;KACJ;IACD,MAAM,qBAAqB;QACf,OAAO,CAAc;QAE7B,YAAY,OAAoB;YAC5B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QAC3B,CAAC;QAED,SAAS,CAAC,KAA+B,EAAE,UAAoD;YAC3F,IAAI,CAAC,CAAC,KAAK,YAAY,WAAW,IAAI,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;gBAC/D,MAAM,IAAI,SAAS,CAAC,2DAA2D,CAAC,CAAC;YACrF,CAAC;YACD,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;YAC1D,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACpB,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC7B,CAAC;QACL,CAAC;QAED,KAAK,CAAC,UAAoD;YACtD,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YACnC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACpB,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC7B,CAAC;QACL,CAAC;KACJ;IACD,kBAAkB,GAAG,mBAA+C,CAAC;AACzE,CAAC;AAED,OAAO,EAAE,kBAAkB,IAAI,iBAAiB,EAAE,CAAC"}
@@ -1,5 +1,10 @@
1
- import { TextDecoderStream } from "./TextDecoderStream.js";
2
- import { ParsedEvent, ReconnectInterval } from "eventsource-parser";
1
+ import { type ParsedEvent } from './EventSourceParserStream.js';
2
+ import { TextDecoderStream } from './TextDecoderStream.js';
3
+ export type { ParsedEvent };
4
+ export interface ReconnectInterval {
5
+ type: 'reconnect-interval';
6
+ value: number;
7
+ }
3
8
  export type ServerSentEvent = ParsedEvent | ReconnectInterval;
4
9
  /**
5
10
  * A SSE response reader.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/sse/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,KAAK,WAAW,EAAE,MAAM,8BAA8B,CAAC;AACzF,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,YAAY,EAAE,WAAW,EAAE,CAAC;AAE5B,MAAM,WAAW,iBAAiB;IAC9B,IAAI,EAAE,oBAAoB,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,eAAe,GAAG,WAAW,GAAG,iBAAiB,CAAC;AAC9D;;;;;;GAMG;AACH,wBAAsB,GAAG,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,CAWtF;AAGD,OAAO,EAAE,iBAAiB,EAAE,CAAC"}
@@ -1,5 +1,5 @@
1
- import { TextDecoderStream } from "./TextDecoderStream.js";
2
- import { EventSourceParserStream } from "./EventSourceParserStream.js";
1
+ import { EventSourceParserStream } from './EventSourceParserStream.js';
2
+ import { TextDecoderStream } from './TextDecoderStream.js';
3
3
  /**
4
4
  * A SSE response reader.
5
5
  * Usage client.get('/path', {reader: sse}) or client.post('/path', {reader: sse})
@@ -10,7 +10,7 @@ import { EventSourceParserStream } from "./EventSourceParserStream.js";
10
10
  export async function sse(response) {
11
11
  if (!response.ok) {
12
12
  const text = await response.text();
13
- const error = new Error("SSE error: " + response.status + ". Content:\n" + text);
13
+ const error = new Error(`SSE error: ${response.status}. Content:\n${text}`);
14
14
  error.status = response.status;
15
15
  throw error;
16
16
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/sse/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAoB,MAAM,8BAA8B,CAAC;AACzF,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAU3D;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,GAAG,CAAC,QAAkB;IACxC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACf,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACnC,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,cAAc,QAAQ,CAAC,MAAM,eAAe,IAAI,EAAE,CAAgC,CAAC;QAC3G,KAAK,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,KAAK,CAAC;IAChB,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;IAC3C,CAAC;IACD,OAAO,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,iBAAiB,EAAE,CAAC,CAAC,WAAW,CAAC,IAAI,uBAAuB,EAAE,CAAC,CAAC;AACzG,CAAC;AAED,0DAA0D;AAC1D,OAAO,EAAE,iBAAiB,EAAE,CAAC"}
@@ -1,4 +1,4 @@
1
- export declare function buildQueryString(query: any): string;
1
+ export declare function buildQueryString(query: Record<string, unknown>): string;
2
2
  export declare function join(left: string, right: string): string;
3
3
  export declare function removeTrailingSlash(path: string): string;
4
4
  //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,UAS9D;AAED,wBAAgB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,UAY/C;AACD,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,UAK/C"}
@@ -3,10 +3,10 @@ export function buildQueryString(query) {
3
3
  for (const key of Object.keys(query)) {
4
4
  const val = query[key];
5
5
  if (val != null) {
6
- parts.push(encodeURIComponent(key) + "=" + encodeURIComponent(String(val)));
6
+ parts.push(`${encodeURIComponent(key)}=${encodeURIComponent(String(val))}`);
7
7
  }
8
8
  }
9
- return parts.join("&");
9
+ return parts.join('&');
10
10
  }
11
11
  export function join(left, right) {
12
12
  if (left.endsWith('/')) {
@@ -21,7 +21,7 @@ export function join(left, right) {
21
21
  return left + right;
22
22
  }
23
23
  else {
24
- return left + '/' + right;
24
+ return `${left}/${right}`;
25
25
  }
26
26
  }
27
27
  export function removeTrailingSlash(path) {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,gBAAgB,CAAC,KAA8B;IAC3D,MAAM,KAAK,GAAG,EAAE,CAAC;IACjB,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACnC,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;QACvB,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;YACd,KAAK,CAAC,IAAI,CAAC,GAAG,kBAAkB,CAAC,GAAG,CAAC,IAAI,kBAAkB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;QAChF,CAAC;IACL,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,IAAI,CAAC,IAAY,EAAE,KAAa;IAC5C,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACrB,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACxB,OAAO,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QACrC,CAAC;aAAM,CAAC;YACJ,OAAO,IAAI,GAAG,KAAK,CAAC;QACxB,CAAC;IACL,CAAC;SAAM,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/B,OAAO,IAAI,GAAG,KAAK,CAAC;IACxB,CAAC;SAAM,CAAC;QACJ,OAAO,GAAG,IAAI,IAAI,KAAK,EAAE,CAAC;IAC9B,CAAC;AACL,CAAC;AACD,MAAM,UAAU,mBAAmB,CAAC,IAAY;IAC5C,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;QAChC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC7B,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC"}
package/package.json CHANGED
@@ -1,20 +1,19 @@
1
1
  {
2
2
  "name": "@vertesia/api-fetch-client",
3
- "version": "1.1.1-dev.20260505.163000Z",
3
+ "version": "1.3.0-dev.20260620.061059Z",
4
4
  "description": "HTTP client which wraps a fetch implementation and simplify the creation of REST API clients. Works both in browser and in node.",
5
5
  "type": "module",
6
- "types": "./lib/types/index.d.ts",
6
+ "main": "./lib/index.js",
7
+ "types": "./lib/index.d.ts",
7
8
  "files": [
8
9
  "lib",
9
10
  "src"
10
11
  ],
11
- "ts_dual_module": {
12
- "outDir": "lib"
13
- },
14
12
  "exports": {
15
- "types": "./lib/types/index.d.ts",
16
- "import": "./lib/esm/index.js",
17
- "require": "./lib/cjs/index.js"
13
+ ".": {
14
+ "types": "./lib/index.d.ts",
15
+ "default": "./lib/index.js"
16
+ }
18
17
  },
19
18
  "repository": {
20
19
  "type": "git",
@@ -39,28 +38,26 @@
39
38
  },
40
39
  "homepage": "https://github.com/vertesia/composableai/tree/main/packages/api-fetch-client#readme",
41
40
  "devDependencies": {
42
- "@eslint/js": "^10.0.1",
43
- "@koa-stack/router": "^0.24.0",
44
- "@koa-stack/server": "^0.24.0",
45
- "@types/koa": "^2.15.0",
41
+ "@types/koa": "^3.0.3",
46
42
  "@types/mocha": "^10.0.10",
47
- "eslint": "^10.0.2",
48
- "koa": "^2.16.4",
49
- "mocha": "^10.2.0",
50
- "ts-dual-module": "^0.6.3",
51
- "ts-node": "^10.9.2",
52
- "tsx": "^4.8.1",
53
- "typescript": "^6.0.2",
54
- "typescript-eslint": "^8.58.1",
55
- "vitest": "^4.0.16"
43
+ "@types/node": "^24.13.2",
44
+ "koa": "^3.2.1",
45
+ "mocha": "^11.7.6",
46
+ "tsx": "^4.22.4",
47
+ "typescript": "^6.0.3",
48
+ "@koa-stack/router": "0.24.0",
49
+ "@koa-stack/server": "0.24.0",
50
+ "@vertesia/tsconfig": "0.1.0"
56
51
  },
57
52
  "dependencies": {
58
- "eventsource-parser": "^1.1.1"
53
+ "eventsource-parser": "^3.1.0"
59
54
  },
55
+ "gitHead": "126bce3719b6720fab33aa150fc28c7ea7d6b083",
60
56
  "scripts": {
61
57
  "test": "ESBK_TSCONFIG_PATH=./test/tsconfig.json pnpm exec mocha -r tsx --exit ./test/**/*.ts",
62
- "lint": "eslint './src/**/*.{jsx,js,tsx,ts}'",
63
- "build": "pnpm exec tsmod build",
64
- "clean": "rimraf ./node_modules ./lib ./tsconfig.tsbuildinfo"
58
+ "lint": "biome lint src",
59
+ "typecheck:test": "tsc -p test/tsconfig.json --noEmit",
60
+ "build": "rm -rf ./lib ./tsconfig.tsbuildinfo && tsc --build",
61
+ "clean": "rm -rf ./node_modules ./lib ./tsconfig.tsbuildinfo"
65
62
  }
66
63
  }