directual-api 1.5.0 → 1.5.2
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 +65 -4
- package/lib/api.js +2 -2
- package/lib/api.js.map +1 -1
- package/lib/directual.d.ts +1 -1
- package/lib/endpoint.d.ts +28 -0
- package/lib/endpoint.js +176 -8
- package/lib/endpoint.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -76,11 +76,66 @@ api
|
|
|
76
76
|
|
|
77
77
|
### Streaming (SSE)
|
|
78
78
|
|
|
79
|
-
Streaming methods use Server-Sent Events over HTTP.
|
|
80
|
-
Endpoint URL: `/good/api/v5/stream/{structure}/{method}` (instead of `/data/`).
|
|
81
79
|
Default stream host: `https://api.alfa.directual.com` (override via `streamApiHost` config).
|
|
82
80
|
|
|
83
|
-
####
|
|
81
|
+
#### Init/Subscribe streaming (`initStream`) — recommended
|
|
82
|
+
|
|
83
|
+
Two-phase mechanism: POST to init returns a `streamId`, then we subscribe to the SSE stream.
|
|
84
|
+
|
|
85
|
+
- Init: `POST /good/api/v5/stream/init/{structure}/{method}`
|
|
86
|
+
- Subscribe: `GET /api/v5/stream/subscribe/{streamId}`
|
|
87
|
+
|
|
88
|
+
```js
|
|
89
|
+
const stream = api
|
|
90
|
+
.structure('ai_actions')
|
|
91
|
+
.initStream(
|
|
92
|
+
'platformAIActions',
|
|
93
|
+
{ prompt: 'hello' }, // request body
|
|
94
|
+
{ sessionID: '...' }, // query params
|
|
95
|
+
{
|
|
96
|
+
onData: (data, event) => {
|
|
97
|
+
console.log(event, data);
|
|
98
|
+
},
|
|
99
|
+
onError: (error) => {
|
|
100
|
+
console.error('stream error:', error);
|
|
101
|
+
},
|
|
102
|
+
onComplete: () => {
|
|
103
|
+
console.log('stream finished');
|
|
104
|
+
},
|
|
105
|
+
},
|
|
106
|
+
);
|
|
107
|
+
|
|
108
|
+
// abort the stream at any time
|
|
109
|
+
stream.abort();
|
|
110
|
+
|
|
111
|
+
// await completion
|
|
112
|
+
stream.promise.then(() => console.log('done'));
|
|
113
|
+
|
|
114
|
+
// get the streamId (resolves after init completes)
|
|
115
|
+
stream.streamId.then(id => console.log('stream id:', id));
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
You can also use the two phases separately:
|
|
119
|
+
|
|
120
|
+
```js
|
|
121
|
+
// Phase 1: init — get streamId
|
|
122
|
+
const streamId = await api
|
|
123
|
+
.structure('ai_actions')
|
|
124
|
+
.streamInit('platformAIActions', { prompt: 'hello' }, { sessionID: '...' });
|
|
125
|
+
|
|
126
|
+
// Phase 2: subscribe — read SSE events
|
|
127
|
+
const stream = api
|
|
128
|
+
.structure('ai_actions')
|
|
129
|
+
.streamSubscribe(streamId, {
|
|
130
|
+
onData: (data, event) => console.log(event, data),
|
|
131
|
+
onComplete: () => console.log('done'),
|
|
132
|
+
});
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
#### Legacy: single-request streaming (`setStream`)
|
|
136
|
+
|
|
137
|
+
Single POST where the response body IS the SSE stream.
|
|
138
|
+
Endpoint: `POST /good/api/v5/stream/{structure}/{method}`.
|
|
84
139
|
|
|
85
140
|
```js
|
|
86
141
|
const stream = api
|
|
@@ -116,7 +171,7 @@ stream.promise.then(() => {
|
|
|
116
171
|
#### Types
|
|
117
172
|
|
|
118
173
|
```ts
|
|
119
|
-
import { StreamCallbacks, StreamResponse } from 'directual-api';
|
|
174
|
+
import { InitStreamResponse, StreamCallbacks, StreamResponse } from 'directual-api';
|
|
120
175
|
|
|
121
176
|
interface StreamCallbacks {
|
|
122
177
|
onData: (data: any, event: string) => void;
|
|
@@ -128,4 +183,10 @@ interface StreamResponse {
|
|
|
128
183
|
abort: () => void;
|
|
129
184
|
promise: Promise<void>;
|
|
130
185
|
}
|
|
186
|
+
|
|
187
|
+
interface InitStreamResponse {
|
|
188
|
+
abort: () => void;
|
|
189
|
+
promise: Promise<void>;
|
|
190
|
+
streamId: Promise<string>;
|
|
191
|
+
}
|
|
131
192
|
```
|
package/lib/api.js
CHANGED
|
@@ -45,10 +45,10 @@ var Api = /** @class */ (function () {
|
|
|
45
45
|
function Api(config) {
|
|
46
46
|
this.config = {};
|
|
47
47
|
this.config = config;
|
|
48
|
-
if (
|
|
48
|
+
if (config.apiHost === undefined) {
|
|
49
49
|
this.config.apiHost = defaultApiHost;
|
|
50
50
|
}
|
|
51
|
-
if (
|
|
51
|
+
if (config.streamApiHost === undefined) {
|
|
52
52
|
this.config.streamApiHost = defaultStreamApiHost;
|
|
53
53
|
}
|
|
54
54
|
this.auth = new auth_1.Auth(config);
|
package/lib/api.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAEA,wDAAkC;AAClC,+BAA8B;AAC9B,IAAM,cAAc,GAAG,2BAA2B,CAAC;AACnD,IAAM,oBAAoB,GAAG,gCAAgC,CAAC;AAE9D;IAGE,gBAAY,MAAW;QACrB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IACH,aAAC;AAAD,CAAC,AAND,IAMC;AANY,wBAAM;AAQnB;IAA+B,6BAAQ;IACrC,mBAAY,IAAY,EAAE,MAAW;QACnC,YAAA,MAAK,WAAE,SAAC;QAER,KAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,KAAI,CAAC,MAAM,GAAG,MAAM,CAAC;;IACvB,CAAC;IACH,gBAAC;AAAD,CAAC,AAPD,CAA+B,kBAAQ,GAOtC;AAPY,8BAAS;AAStB;IAIE,aAAY,MAAW;QAHvB,WAAM,GAAQ,EAAE,CAAC;QAIf,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAEA,wDAAkC;AAClC,+BAA8B;AAC9B,IAAM,cAAc,GAAG,2BAA2B,CAAC;AACnD,IAAM,oBAAoB,GAAG,gCAAgC,CAAC;AAE9D;IAGE,gBAAY,MAAW;QACrB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IACH,aAAC;AAAD,CAAC,AAND,IAMC;AANY,wBAAM;AAQnB;IAA+B,6BAAQ;IACrC,mBAAY,IAAY,EAAE,MAAW;QACnC,YAAA,MAAK,WAAE,SAAC;QAER,KAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,KAAI,CAAC,MAAM,GAAG,MAAM,CAAC;;IACvB,CAAC;IACH,gBAAC;AAAD,CAAC,AAPD,CAA+B,kBAAQ,GAOtC;AAPY,8BAAS;AAStB;IAIE,aAAY,MAAW;QAHvB,WAAM,GAAQ,EAAE,CAAC;QAIf,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YACjC,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,cAAc,CAAC;QACvC,CAAC;QACD,IAAI,MAAM,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;YACvC,IAAI,CAAC,MAAM,CAAC,aAAa,GAAG,oBAAoB,CAAC;QACnD,CAAC;QACD,IAAI,CAAC,IAAI,GAAG,IAAI,WAAI,CAAC,MAAM,CAAC,CAAC;IAC/B,CAAC;IAED,uBAAS,GAAT,UAAU,IAAY;QACpB,OAAO,IAAI,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAC1C,CAAC;IACH,UAAC;AAAD,CAAC,AAlBD,IAkBC;AAED,kBAAe,GAAG,CAAC;AACR,QAAA,YAAY,GAAG,IAAI,CAAC"}
|
package/lib/directual.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import Api from './api';
|
|
2
2
|
export { compareStringByField, extractResponseArray, extractResponseData, extractResponseObject, isDef, isEmptyString, isNotEmpty, isNotEmptyString, numberOfDigitsGreaterThan, stringToArray, } from './utils';
|
|
3
|
-
export { StreamCallbacks, StreamResponse } from './endpoint';
|
|
3
|
+
export { InitStreamResponse, StreamCallbacks, StreamResponse } from './endpoint';
|
|
4
4
|
export { EventType } from './events/EventType';
|
|
5
5
|
export { KeyCodes } from './events/KeyCodes';
|
|
6
6
|
export { HttpStatus, isSuccess } from './net/HttpStatus';
|
package/lib/endpoint.d.ts
CHANGED
|
@@ -9,6 +9,12 @@ export interface StreamResponse {
|
|
|
9
9
|
abort: () => void;
|
|
10
10
|
promise: Promise<void>;
|
|
11
11
|
}
|
|
12
|
+
/** Управление стримом через init/subscribe: abort + промис + streamId */
|
|
13
|
+
export interface InitStreamResponse {
|
|
14
|
+
abort: () => void;
|
|
15
|
+
promise: Promise<void>;
|
|
16
|
+
streamId: Promise<string>;
|
|
17
|
+
}
|
|
12
18
|
export default class Endpoint {
|
|
13
19
|
name: string;
|
|
14
20
|
config: any;
|
|
@@ -31,10 +37,32 @@ export default class Endpoint {
|
|
|
31
37
|
* @return {StreamResponse} — abort() для отмены, promise для ожидания завершения
|
|
32
38
|
*/
|
|
33
39
|
setStream(name: string, data?: object, params?: object, callbacks?: StreamCallbacks): StreamResponse;
|
|
40
|
+
/**
|
|
41
|
+
* Инициализация стрима (фаза 1 нового механизма).
|
|
42
|
+
* POST на /good/api/v5/stream/init/{структура}/{метод} → streamId
|
|
43
|
+
*/
|
|
44
|
+
streamInit(name: string, data?: object, params?: object): Promise<string>;
|
|
45
|
+
/**
|
|
46
|
+
* Подписка на стрим по streamId (фаза 2 нового механизма).
|
|
47
|
+
* GET на /api/v5/stream/subscribe/{streamId}
|
|
48
|
+
*/
|
|
49
|
+
streamSubscribe(streamId: string, callbacks?: StreamCallbacks): StreamResponse;
|
|
50
|
+
/**
|
|
51
|
+
* Стрим через init/subscribe (новый механизм Directual).
|
|
52
|
+
* 1. POST на /good/api/v5/stream/init/{структура}/{метод} → streamId
|
|
53
|
+
* 2. GET на /api/v5/stream/subscribe/{streamId} → SSE-стрим
|
|
54
|
+
*
|
|
55
|
+
* Объединяет обе фазы, API коллбэков идентичен setStream.
|
|
56
|
+
*/
|
|
57
|
+
initStream(name: string, data?: object, params?: object, callbacks?: StreamCallbacks): InitStreamResponse;
|
|
34
58
|
/**
|
|
35
59
|
* Собирает URL для стрим-эндпоинта с query-параметрами
|
|
36
60
|
*/
|
|
37
61
|
private buildStreamUrl;
|
|
62
|
+
/**
|
|
63
|
+
* URL для init-эндпоинта: /good/api/v5/stream/init/{структура}/{метод}
|
|
64
|
+
*/
|
|
65
|
+
private buildStreamInitUrl;
|
|
38
66
|
/**
|
|
39
67
|
* Читает SSE-стрим, парсит события, дёргает коллбэки.
|
|
40
68
|
* При abort тихо завершается без ошибки.
|
package/lib/endpoint.js
CHANGED
|
@@ -117,6 +117,8 @@ function parseSSEBuffer(buffer) {
|
|
|
117
117
|
}
|
|
118
118
|
return { events: events, remaining: remaining };
|
|
119
119
|
}
|
|
120
|
+
// Ключи конфига, которые не должны попадать в query-параметры
|
|
121
|
+
var INTERNAL_CONFIG_KEYS = ['apiHost', 'streamApiHost'];
|
|
120
122
|
var Endpoint = /** @class */ (function () {
|
|
121
123
|
function Endpoint() {
|
|
122
124
|
}
|
|
@@ -166,6 +168,152 @@ var Endpoint = /** @class */ (function () {
|
|
|
166
168
|
}, callbacks);
|
|
167
169
|
return { abort: function () { return controller.abort(); }, promise: promise };
|
|
168
170
|
};
|
|
171
|
+
/**
|
|
172
|
+
* Инициализация стрима (фаза 1 нового механизма).
|
|
173
|
+
* POST на /good/api/v5/stream/init/{структура}/{метод} → streamId
|
|
174
|
+
*/
|
|
175
|
+
Endpoint.prototype.streamInit = function (name, data, params) {
|
|
176
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
177
|
+
var url, response, result;
|
|
178
|
+
return __generator(this, function (_a) {
|
|
179
|
+
switch (_a.label) {
|
|
180
|
+
case 0:
|
|
181
|
+
url = this.buildStreamInitUrl(name, params);
|
|
182
|
+
return [4 /*yield*/, fetch(url, {
|
|
183
|
+
method: 'POST',
|
|
184
|
+
headers: { 'Content-Type': 'application/json' },
|
|
185
|
+
body: data ? JSON.stringify(data) : undefined,
|
|
186
|
+
})];
|
|
187
|
+
case 1:
|
|
188
|
+
response = _a.sent();
|
|
189
|
+
if (!response.ok) {
|
|
190
|
+
throw new Error("HTTP ".concat(response.status, ": ").concat(response.statusText));
|
|
191
|
+
}
|
|
192
|
+
return [4 /*yield*/, response.json()];
|
|
193
|
+
case 2:
|
|
194
|
+
result = _a.sent();
|
|
195
|
+
if (typeof result === 'string')
|
|
196
|
+
return [2 /*return*/, result];
|
|
197
|
+
if (result && result.streamId)
|
|
198
|
+
return [2 /*return*/, result.streamId];
|
|
199
|
+
throw new Error('streamInit: streamId не найден в ответе');
|
|
200
|
+
}
|
|
201
|
+
});
|
|
202
|
+
});
|
|
203
|
+
};
|
|
204
|
+
/**
|
|
205
|
+
* Подписка на стрим по streamId (фаза 2 нового механизма).
|
|
206
|
+
* GET на /api/v5/stream/subscribe/{streamId}
|
|
207
|
+
*/
|
|
208
|
+
Endpoint.prototype.streamSubscribe = function (streamId, callbacks) {
|
|
209
|
+
var host = (this.config.streamApiHost || '').replace(/\/+$/, '');
|
|
210
|
+
var url = "".concat(host, "/api/v5/stream/subscribe/").concat(streamId);
|
|
211
|
+
var controller = new AbortController();
|
|
212
|
+
var promise = this.processStream(url, {
|
|
213
|
+
method: 'GET',
|
|
214
|
+
headers: { Accept: 'text/event-stream' },
|
|
215
|
+
signal: controller.signal,
|
|
216
|
+
}, callbacks);
|
|
217
|
+
return { abort: function () { return controller.abort(); }, promise: promise };
|
|
218
|
+
};
|
|
219
|
+
/**
|
|
220
|
+
* Стрим через init/subscribe (новый механизм Directual).
|
|
221
|
+
* 1. POST на /good/api/v5/stream/init/{структура}/{метод} → streamId
|
|
222
|
+
* 2. GET на /api/v5/stream/subscribe/{streamId} → SSE-стрим
|
|
223
|
+
*
|
|
224
|
+
* Объединяет обе фазы, API коллбэков идентичен setStream.
|
|
225
|
+
*/
|
|
226
|
+
Endpoint.prototype.initStream = function (name, data, params, callbacks) {
|
|
227
|
+
var _this = this;
|
|
228
|
+
var controller = new AbortController();
|
|
229
|
+
var resolveStreamId;
|
|
230
|
+
var rejectStreamId;
|
|
231
|
+
var streamIdPromise = new Promise(function (resolve, reject) {
|
|
232
|
+
resolveStreamId = resolve;
|
|
233
|
+
rejectStreamId = reject;
|
|
234
|
+
});
|
|
235
|
+
// Глушим unhandled rejection если никто не слушает streamId
|
|
236
|
+
streamIdPromise.catch(function () { });
|
|
237
|
+
var promise = (function () { return __awaiter(_this, void 0, void 0, function () {
|
|
238
|
+
var initUrl, initResponse, error_1, err, err, result, error_2, err, streamId, err, host, subscribeUrl;
|
|
239
|
+
return __generator(this, function (_a) {
|
|
240
|
+
switch (_a.label) {
|
|
241
|
+
case 0:
|
|
242
|
+
initUrl = this.buildStreamInitUrl(name, params);
|
|
243
|
+
_a.label = 1;
|
|
244
|
+
case 1:
|
|
245
|
+
_a.trys.push([1, 3, , 4]);
|
|
246
|
+
return [4 /*yield*/, fetch(initUrl, {
|
|
247
|
+
method: 'POST',
|
|
248
|
+
headers: { 'Content-Type': 'application/json' },
|
|
249
|
+
body: data ? JSON.stringify(data) : undefined,
|
|
250
|
+
signal: controller.signal,
|
|
251
|
+
})];
|
|
252
|
+
case 2:
|
|
253
|
+
initResponse = _a.sent();
|
|
254
|
+
return [3 /*break*/, 4];
|
|
255
|
+
case 3:
|
|
256
|
+
error_1 = _a.sent();
|
|
257
|
+
if (error_1 instanceof Error && error_1.name === 'AbortError') {
|
|
258
|
+
rejectStreamId(new Error('Aborted'));
|
|
259
|
+
return [2 /*return*/];
|
|
260
|
+
}
|
|
261
|
+
err = error_1 instanceof Error ? error_1 : new Error(String(error_1));
|
|
262
|
+
rejectStreamId(err);
|
|
263
|
+
if (callbacks && callbacks.onError)
|
|
264
|
+
callbacks.onError(err);
|
|
265
|
+
throw err;
|
|
266
|
+
case 4:
|
|
267
|
+
if (!initResponse.ok) {
|
|
268
|
+
err = new Error("HTTP ".concat(initResponse.status, ": ").concat(initResponse.statusText));
|
|
269
|
+
rejectStreamId(err);
|
|
270
|
+
if (callbacks && callbacks.onError)
|
|
271
|
+
callbacks.onError(err);
|
|
272
|
+
throw err;
|
|
273
|
+
}
|
|
274
|
+
_a.label = 5;
|
|
275
|
+
case 5:
|
|
276
|
+
_a.trys.push([5, 7, , 8]);
|
|
277
|
+
return [4 /*yield*/, initResponse.json()];
|
|
278
|
+
case 6:
|
|
279
|
+
result = _a.sent();
|
|
280
|
+
return [3 /*break*/, 8];
|
|
281
|
+
case 7:
|
|
282
|
+
error_2 = _a.sent();
|
|
283
|
+
err = new Error('streamInit: невалидный JSON в ответе');
|
|
284
|
+
rejectStreamId(err);
|
|
285
|
+
if (callbacks && callbacks.onError)
|
|
286
|
+
callbacks.onError(err);
|
|
287
|
+
throw err;
|
|
288
|
+
case 8:
|
|
289
|
+
streamId = typeof result === 'string' ? result : result && result.streamId;
|
|
290
|
+
if (!streamId) {
|
|
291
|
+
err = new Error('streamInit: streamId не найден в ответе');
|
|
292
|
+
rejectStreamId(err);
|
|
293
|
+
if (callbacks && callbacks.onError)
|
|
294
|
+
callbacks.onError(err);
|
|
295
|
+
throw err;
|
|
296
|
+
}
|
|
297
|
+
resolveStreamId(streamId);
|
|
298
|
+
host = (this.config.streamApiHost || '').replace(/\/+$/, '');
|
|
299
|
+
subscribeUrl = "".concat(host, "/api/v5/stream/subscribe/").concat(streamId);
|
|
300
|
+
return [4 /*yield*/, this.processStream(subscribeUrl, {
|
|
301
|
+
method: 'GET',
|
|
302
|
+
headers: { Accept: 'text/event-stream' },
|
|
303
|
+
signal: controller.signal,
|
|
304
|
+
}, callbacks)];
|
|
305
|
+
case 9:
|
|
306
|
+
_a.sent();
|
|
307
|
+
return [2 /*return*/];
|
|
308
|
+
}
|
|
309
|
+
});
|
|
310
|
+
}); })();
|
|
311
|
+
return {
|
|
312
|
+
abort: function () { return controller.abort(); },
|
|
313
|
+
promise: promise,
|
|
314
|
+
streamId: streamIdPromise,
|
|
315
|
+
};
|
|
316
|
+
};
|
|
169
317
|
/**
|
|
170
318
|
* Собирает URL для стрим-эндпоинта с query-параметрами
|
|
171
319
|
*/
|
|
@@ -173,11 +321,31 @@ var Endpoint = /** @class */ (function () {
|
|
|
173
321
|
var allParams = __assign(__assign({}, this.config), params);
|
|
174
322
|
var query = new URLSearchParams();
|
|
175
323
|
Object.keys(allParams).forEach(function (key) {
|
|
324
|
+
if (INTERNAL_CONFIG_KEYS.indexOf(key) !== -1)
|
|
325
|
+
return;
|
|
326
|
+
if (allParams[key] !== undefined && allParams[key] !== null) {
|
|
327
|
+
query.append(key, String(allParams[key]));
|
|
328
|
+
}
|
|
329
|
+
});
|
|
330
|
+
// Обрезаем trailing слэши, чтобы '' и '/' давали same-origin путь
|
|
331
|
+
var host = (this.config.streamApiHost || '').replace(/\/+$/, '');
|
|
332
|
+
return "".concat(host, "/good/api/v5/stream/").concat(this.name, "/").concat(method, "?").concat(query.toString());
|
|
333
|
+
};
|
|
334
|
+
/**
|
|
335
|
+
* URL для init-эндпоинта: /good/api/v5/stream/init/{структура}/{метод}
|
|
336
|
+
*/
|
|
337
|
+
Endpoint.prototype.buildStreamInitUrl = function (method, params) {
|
|
338
|
+
var allParams = __assign(__assign({}, this.config), params);
|
|
339
|
+
var query = new URLSearchParams();
|
|
340
|
+
Object.keys(allParams).forEach(function (key) {
|
|
341
|
+
if (INTERNAL_CONFIG_KEYS.indexOf(key) !== -1)
|
|
342
|
+
return;
|
|
176
343
|
if (allParams[key] !== undefined && allParams[key] !== null) {
|
|
177
344
|
query.append(key, String(allParams[key]));
|
|
178
345
|
}
|
|
179
346
|
});
|
|
180
|
-
|
|
347
|
+
var host = (this.config.streamApiHost || '').replace(/\/+$/, '');
|
|
348
|
+
return "".concat(host, "/good/api/v5/stream/init/").concat(this.name, "/").concat(method, "?").concat(query.toString());
|
|
181
349
|
};
|
|
182
350
|
/**
|
|
183
351
|
* Читает SSE-стрим, парсит события, дёргает коллбэки.
|
|
@@ -185,7 +353,7 @@ var Endpoint = /** @class */ (function () {
|
|
|
185
353
|
*/
|
|
186
354
|
Endpoint.prototype.processStream = function (url, init, callbacks) {
|
|
187
355
|
return __awaiter(this, void 0, void 0, function () {
|
|
188
|
-
var response,
|
|
356
|
+
var response, error_3, err, err, body, err, reader, decoder, buffer, chunk, parsed, i, parsed, i, error_4, err;
|
|
189
357
|
return __generator(this, function (_a) {
|
|
190
358
|
switch (_a.label) {
|
|
191
359
|
case 0:
|
|
@@ -195,10 +363,10 @@ var Endpoint = /** @class */ (function () {
|
|
|
195
363
|
response = _a.sent();
|
|
196
364
|
return [3 /*break*/, 3];
|
|
197
365
|
case 2:
|
|
198
|
-
|
|
199
|
-
if (
|
|
366
|
+
error_3 = _a.sent();
|
|
367
|
+
if (error_3 instanceof Error && error_3.name === 'AbortError')
|
|
200
368
|
return [2 /*return*/];
|
|
201
|
-
err =
|
|
369
|
+
err = error_3 instanceof Error ? error_3 : new Error(String(error_3));
|
|
202
370
|
if (callbacks && callbacks.onError)
|
|
203
371
|
callbacks.onError(err);
|
|
204
372
|
throw err;
|
|
@@ -254,10 +422,10 @@ var Endpoint = /** @class */ (function () {
|
|
|
254
422
|
}
|
|
255
423
|
return [3 /*break*/, 9];
|
|
256
424
|
case 8:
|
|
257
|
-
|
|
258
|
-
if (
|
|
425
|
+
error_4 = _a.sent();
|
|
426
|
+
if (error_4 instanceof Error && error_4.name === 'AbortError')
|
|
259
427
|
return [2 /*return*/];
|
|
260
|
-
err =
|
|
428
|
+
err = error_4 instanceof Error ? error_4 : new Error(String(error_4));
|
|
261
429
|
if (callbacks && callbacks.onError)
|
|
262
430
|
callbacks.onError(err);
|
|
263
431
|
throw err;
|
package/lib/endpoint.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"endpoint.js","sourceRoot":"","sources":["../src/endpoint.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"endpoint.js","sourceRoot":"","sources":["../src/endpoint.ts"],"names":[],"mappings":"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"}
|