@vertesia/api-fetch-client 1.3.0 → 1.4.0-dev.20260615.042033Z
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/README.md +25 -0
- package/lib/base.d.ts +135 -0
- package/lib/base.d.ts.map +1 -0
- package/lib/base.js +374 -0
- package/lib/base.js.map +1 -0
- package/lib/{types/client.d.ts → client.d.ts} +7 -8
- package/lib/client.d.ts.map +1 -0
- package/lib/{esm/client.js → client.js} +24 -11
- package/lib/client.js.map +1 -0
- package/lib/{types/errors.d.ts → errors.d.ts} +5 -5
- package/lib/errors.d.ts.map +1 -0
- package/lib/{esm/errors.js → errors.js} +22 -9
- package/lib/errors.js.map +1 -0
- package/lib/index.d.ts +5 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +5 -0
- package/lib/index.js.map +1 -0
- package/lib/{types/sse → sse}/EventSourceParserStream.d.ts +4 -1
- package/lib/sse/EventSourceParserStream.d.ts.map +1 -0
- package/lib/{esm/sse → sse}/EventSourceParserStream.js +5 -4
- package/lib/sse/EventSourceParserStream.js.map +1 -0
- package/lib/sse/TextDecoderStream.d.ts.map +1 -0
- package/lib/{esm/sse → sse}/TextDecoderStream.js +2 -2
- package/lib/sse/TextDecoderStream.js.map +1 -0
- package/lib/{types/sse → sse}/index.d.ts +7 -2
- package/lib/sse/index.d.ts.map +1 -0
- package/lib/{esm/sse → sse}/index.js +3 -3
- package/lib/sse/index.js.map +1 -0
- package/lib/{types/utils.d.ts → utils.d.ts} +1 -1
- package/lib/utils.d.ts.map +1 -0
- package/lib/{esm/utils.js → utils.js} +3 -3
- package/lib/utils.js.map +1 -0
- package/package.json +21 -25
- package/src/base.ts +297 -79
- package/src/client.ts +46 -24
- package/src/errors.ts +28 -15
- package/src/index.ts +4 -4
- package/src/sse/EventSourceParserStream.ts +13 -10
- package/src/sse/TextDecoderStream.ts +16 -11
- package/src/sse/index.ts +14 -8
- package/src/utils.ts +5 -6
- package/lib/cjs/base.js +0 -240
- package/lib/cjs/base.js.map +0 -1
- package/lib/cjs/client.js +0 -115
- package/lib/cjs/client.js.map +0 -1
- package/lib/cjs/errors.js +0 -63
- package/lib/cjs/errors.js.map +0 -1
- package/lib/cjs/index.js +0 -21
- package/lib/cjs/index.js.map +0 -1
- package/lib/cjs/package.json +0 -3
- package/lib/cjs/sse/EventSourceParserStream.js +0 -41
- package/lib/cjs/sse/EventSourceParserStream.js.map +0 -1
- package/lib/cjs/sse/TextDecoderStream.js +0 -53
- package/lib/cjs/sse/TextDecoderStream.js.map +0 -1
- package/lib/cjs/sse/index.js +0 -27
- package/lib/cjs/sse/index.js.map +0 -1
- package/lib/cjs/utils.js +0 -38
- package/lib/cjs/utils.js.map +0 -1
- package/lib/esm/base.js +0 -235
- package/lib/esm/base.js.map +0 -1
- package/lib/esm/client.js.map +0 -1
- package/lib/esm/errors.js.map +0 -1
- package/lib/esm/index.js +0 -5
- package/lib/esm/index.js.map +0 -1
- package/lib/esm/sse/EventSourceParserStream.js.map +0 -1
- package/lib/esm/sse/TextDecoderStream.js.map +0 -1
- package/lib/esm/sse/index.js.map +0 -1
- package/lib/esm/utils.js.map +0 -1
- package/lib/tsconfig.tsbuildinfo +0 -1
- package/lib/types/base.d.ts +0 -83
- package/lib/types/base.d.ts.map +0 -1
- package/lib/types/client.d.ts.map +0 -1
- package/lib/types/errors.d.ts.map +0 -1
- package/lib/types/index.d.ts +0 -5
- package/lib/types/index.d.ts.map +0 -1
- package/lib/types/sse/EventSourceParserStream.d.ts.map +0 -1
- package/lib/types/sse/TextDecoderStream.d.ts.map +0 -1
- package/lib/types/sse/index.d.ts.map +0 -1
- package/lib/types/utils.d.ts.map +0 -1
- /package/lib/{types/sse → sse}/TextDecoderStream.d.ts +0 -0
|
@@ -1,8 +1,15 @@
|
|
|
1
|
-
import { ClientBase } from
|
|
1
|
+
import { ClientBase } from './base.js';
|
|
2
2
|
function isAuthorizationHeaderSet(headers) {
|
|
3
3
|
if (!headers)
|
|
4
4
|
return false;
|
|
5
|
-
return
|
|
5
|
+
return 'authorization' in headers;
|
|
6
|
+
}
|
|
7
|
+
function isServerFetchRuntime() {
|
|
8
|
+
const runtime = globalThis;
|
|
9
|
+
return (typeof runtime.window === 'undefined' &&
|
|
10
|
+
(typeof runtime.process?.versions?.node === 'string' ||
|
|
11
|
+
typeof runtime.process?.versions?.bun === 'string' ||
|
|
12
|
+
typeof runtime.Bun !== 'undefined'));
|
|
6
13
|
}
|
|
7
14
|
export class AbstractFetchClient extends ClientBase {
|
|
8
15
|
headers;
|
|
@@ -18,7 +25,11 @@ export class AbstractFetchClient extends ClientBase {
|
|
|
18
25
|
this.headers = this.initialHeaders;
|
|
19
26
|
}
|
|
20
27
|
get initialHeaders() {
|
|
21
|
-
|
|
28
|
+
const headers = { accept: 'application/json' };
|
|
29
|
+
if (isServerFetchRuntime()) {
|
|
30
|
+
headers['accept-encoding'] = 'br, gzip, deflate';
|
|
31
|
+
}
|
|
32
|
+
return headers;
|
|
22
33
|
}
|
|
23
34
|
/**
|
|
24
35
|
* Install an auth callback. If the callback is undefined or null then remove the auth callback.
|
|
@@ -66,24 +77,20 @@ export class AbstractFetchClient extends ClientBase {
|
|
|
66
77
|
init.headers = headers;
|
|
67
78
|
const auth = await this._auth();
|
|
68
79
|
if (auth) {
|
|
69
|
-
init.headers
|
|
80
|
+
init.headers.authorization = auth;
|
|
70
81
|
}
|
|
71
82
|
}
|
|
72
83
|
this.response = undefined;
|
|
73
84
|
const request = await super.createRequest(url, init);
|
|
74
|
-
this.onRequest
|
|
85
|
+
this.onRequest?.(request);
|
|
75
86
|
return request;
|
|
76
87
|
}
|
|
77
|
-
|
|
88
|
+
handleFetchResponse(req, res) {
|
|
78
89
|
this.response = res; // store last response
|
|
79
|
-
this.onResponse
|
|
80
|
-
return super.handleResponse(req, res, params);
|
|
90
|
+
this.onResponse?.(res, req);
|
|
81
91
|
}
|
|
82
92
|
}
|
|
83
93
|
export class FetchClient extends AbstractFetchClient {
|
|
84
|
-
constructor(baseUrl, fetchImpl) {
|
|
85
|
-
super(baseUrl, fetchImpl);
|
|
86
|
-
}
|
|
87
94
|
}
|
|
88
95
|
export class ApiTopic extends ClientBase {
|
|
89
96
|
client;
|
|
@@ -102,6 +109,12 @@ export class ApiTopic extends ClientBase {
|
|
|
102
109
|
handleResponse(req, res, params) {
|
|
103
110
|
return this.client.handleResponse(req, res, params);
|
|
104
111
|
}
|
|
112
|
+
handleFetchResponse(req, res) {
|
|
113
|
+
this.client.handleFetchResponse(req, res);
|
|
114
|
+
}
|
|
115
|
+
getRetryPolicy() {
|
|
116
|
+
return this.client.getRetryPolicy();
|
|
117
|
+
}
|
|
105
118
|
get headers() {
|
|
106
119
|
return this.client.headers;
|
|
107
120
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
export declare class RequestError extends Error {
|
|
2
2
|
status: number;
|
|
3
|
-
payload:
|
|
3
|
+
payload: unknown;
|
|
4
4
|
request: Request;
|
|
5
5
|
request_info: string;
|
|
6
6
|
displayDetails: boolean;
|
|
7
7
|
original_message: string;
|
|
8
|
-
constructor(message: string, request: Request, status: number, payload:
|
|
9
|
-
get details():
|
|
8
|
+
constructor(message: string, request: Request, status: number, payload: unknown, displayDetails?: boolean);
|
|
9
|
+
get details(): unknown;
|
|
10
10
|
}
|
|
11
11
|
export declare class ServerError extends RequestError {
|
|
12
|
-
constructor(message: string, req: Request, status: number, payload:
|
|
13
|
-
updateDetails(details:
|
|
12
|
+
constructor(message: string, req: Request, status: number, payload: unknown, displayDetails?: boolean);
|
|
13
|
+
updateDetails(details: unknown): ServerError;
|
|
14
14
|
}
|
|
15
15
|
export declare class ConnectionError extends RequestError {
|
|
16
16
|
constructor(req: Request, err: Error);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAgCA,qBAAa,YAAa,SAAQ,KAAK;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,OAAO,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;gBACb,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,UAAO;IAUtG,IAAI,OAAO,YAEV;CACJ;AAED,qBAAa,WAAY,SAAQ,YAAY;gBAC7B,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,UAAO;IAIlG,aAAa,CAAC,OAAO,EAAE,OAAO;CAQjC;AAED,qBAAa,eAAgB,SAAQ,YAAY;gBACjC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK;CAGvC"}
|
|
@@ -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 +=
|
|
5
|
-
const details = payload
|
|
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 +=
|
|
21
|
+
msg += `\nDetails: ${details}`;
|
|
10
22
|
}
|
|
11
|
-
else if (detailsType ===
|
|
12
|
-
msg +=
|
|
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
|
|
44
|
+
this.request_info = `${request.method} ${request.url} => ${status}`;
|
|
33
45
|
this.displayDetails = displayDetails;
|
|
34
46
|
}
|
|
35
47
|
get details() {
|
|
36
|
-
return this.payload
|
|
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
|
-
|
|
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(
|
|
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 @@
|
|
|
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
package/lib/index.js.map
ADDED
|
@@ -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
|
|
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(
|
|
26
|
-
|
|
27
|
-
|
|
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 =
|
|
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(
|
|
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 {
|
|
2
|
-
import {
|
|
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 {
|
|
2
|
-
import {
|
|
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(
|
|
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:
|
|
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)
|
|
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
|
|
24
|
+
return `${left}/${right}`;
|
|
25
25
|
}
|
|
26
26
|
}
|
|
27
27
|
export function removeTrailingSlash(path) {
|
package/lib/utils.js.map
ADDED
|
@@ -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.
|
|
3
|
+
"version": "1.4.0-dev.20260615.042033Z",
|
|
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
|
-
"
|
|
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
|
-
"
|
|
16
|
-
|
|
17
|
-
|
|
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,25 @@
|
|
|
39
38
|
},
|
|
40
39
|
"homepage": "https://github.com/vertesia/composableai/tree/main/packages/api-fetch-client#readme",
|
|
41
40
|
"devDependencies": {
|
|
42
|
-
"@
|
|
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
|
-
"
|
|
48
|
-
"koa": "^2.
|
|
49
|
-
"mocha": "^
|
|
50
|
-
"
|
|
51
|
-
"
|
|
52
|
-
"
|
|
53
|
-
"
|
|
54
|
-
"
|
|
55
|
-
"vitest": "^4.0.16"
|
|
43
|
+
"@types/node": "^24.12.4",
|
|
44
|
+
"koa": "^3.2.1",
|
|
45
|
+
"mocha": "^11.7.6",
|
|
46
|
+
"tsx": "^4.22.4",
|
|
47
|
+
"typescript": "^6.0.3",
|
|
48
|
+
"@koa-stack/server": "0.24.0",
|
|
49
|
+
"@koa-stack/router": "0.24.0",
|
|
50
|
+
"@vertesia/tsconfig": "0.1.0"
|
|
56
51
|
},
|
|
57
52
|
"dependencies": {
|
|
58
|
-
"eventsource-parser": "^
|
|
53
|
+
"eventsource-parser": "^3.1.0"
|
|
59
54
|
},
|
|
60
55
|
"scripts": {
|
|
61
56
|
"test": "ESBK_TSCONFIG_PATH=./test/tsconfig.json pnpm exec mocha -r tsx --exit ./test/**/*.ts",
|
|
62
|
-
"lint": "
|
|
63
|
-
"
|
|
64
|
-
"
|
|
57
|
+
"lint": "biome lint src",
|
|
58
|
+
"typecheck:test": "tsc -p test/tsconfig.json --noEmit",
|
|
59
|
+
"build": "rm -rf ./lib ./tsconfig.tsbuildinfo && tsc",
|
|
60
|
+
"clean": "rm -rf ./node_modules ./lib ./tsconfig.tsbuildinfo"
|
|
65
61
|
}
|
|
66
62
|
}
|