request-iframe 0.0.3 → 0.0.4
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/QUICKSTART.CN.md +35 -8
- package/QUICKSTART.md +35 -8
- package/README.CN.md +170 -24
- package/README.md +230 -19
- package/library/__tests__/coverage-branches.test.ts +356 -0
- package/library/__tests__/requestIframe.test.ts +1008 -58
- package/library/__tests__/stream.test.ts +46 -15
- package/library/api/client.d.ts.map +1 -1
- package/library/api/client.js +1 -0
- package/library/constants/messages.d.ts +2 -0
- package/library/constants/messages.d.ts.map +1 -1
- package/library/constants/messages.js +2 -0
- package/library/core/client-server.d.ts +4 -0
- package/library/core/client-server.d.ts.map +1 -1
- package/library/core/client-server.js +45 -22
- package/library/core/client.d.ts +31 -4
- package/library/core/client.d.ts.map +1 -1
- package/library/core/client.js +471 -284
- package/library/core/request.d.ts +3 -1
- package/library/core/request.d.ts.map +1 -1
- package/library/core/request.js +2 -1
- package/library/core/response.d.ts +26 -4
- package/library/core/response.d.ts.map +1 -1
- package/library/core/response.js +142 -81
- package/library/core/server.d.ts +13 -0
- package/library/core/server.d.ts.map +1 -1
- package/library/core/server.js +211 -6
- package/library/index.d.ts +2 -1
- package/library/index.d.ts.map +1 -1
- package/library/index.js +32 -3
- package/library/message/dispatcher.d.ts.map +1 -1
- package/library/message/dispatcher.js +4 -3
- package/library/stream/index.d.ts +11 -1
- package/library/stream/index.d.ts.map +1 -1
- package/library/stream/index.js +21 -3
- package/library/stream/types.d.ts +2 -2
- package/library/stream/types.d.ts.map +1 -1
- package/library/stream/writable-stream.d.ts +1 -1
- package/library/stream/writable-stream.d.ts.map +1 -1
- package/library/stream/writable-stream.js +8 -10
- package/library/types/index.d.ts +26 -4
- package/library/types/index.d.ts.map +1 -1
- package/library/utils/index.d.ts +14 -0
- package/library/utils/index.d.ts.map +1 -1
- package/library/utils/index.js +99 -1
- package/library/utils/path-match.d.ts +16 -0
- package/library/utils/path-match.d.ts.map +1 -1
- package/library/utils/path-match.js +65 -0
- package/package.json +2 -1
- package/react/library/__tests__/index.test.tsx +44 -22
- package/react/library/index.d.ts.map +1 -1
- package/react/library/index.js +81 -23
- package/react/package.json +7 -0
package/library/core/server.js
CHANGED
|
@@ -1,16 +1,29 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
require("core-js/modules/es.symbol.description.js");
|
|
4
|
+
require("core-js/modules/es.array.filter.js");
|
|
5
|
+
require("core-js/modules/es.array.from.js");
|
|
6
|
+
require("core-js/modules/es.array.slice.js");
|
|
7
|
+
require("core-js/modules/es.object.get-own-property-descriptors.js");
|
|
8
|
+
require("core-js/modules/es.regexp.to-string.js");
|
|
3
9
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
10
|
Object.defineProperty(exports, "__esModule", {
|
|
5
11
|
value: true
|
|
6
12
|
});
|
|
7
13
|
exports.RequestIframeServerImpl = void 0;
|
|
14
|
+
require("core-js/modules/es.array.includes.js");
|
|
8
15
|
require("core-js/modules/es.array.iterator.js");
|
|
9
16
|
require("core-js/modules/es.map.js");
|
|
10
17
|
require("core-js/modules/es.object.entries.js");
|
|
11
18
|
require("core-js/modules/es.promise.js");
|
|
19
|
+
require("core-js/modules/es.regexp.exec.js");
|
|
20
|
+
require("core-js/modules/es.string.includes.js");
|
|
21
|
+
require("core-js/modules/es.string.match.js");
|
|
22
|
+
require("core-js/modules/es.string.replace.js");
|
|
23
|
+
require("core-js/modules/es.string.starts-with.js");
|
|
12
24
|
require("core-js/modules/web.dom-collections.for-each.js");
|
|
13
25
|
require("core-js/modules/web.dom-collections.iterator.js");
|
|
26
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
14
27
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
15
28
|
var _utils = require("../utils");
|
|
16
29
|
var _pathMatch = require("../utils/path-match");
|
|
@@ -19,6 +32,12 @@ var _response = require("./response");
|
|
|
19
32
|
var _message = require("../message");
|
|
20
33
|
var _cache = require("../utils/cache");
|
|
21
34
|
var _constants = require("../constants");
|
|
35
|
+
var _stream = require("../stream");
|
|
36
|
+
function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t.return || t.return(); } finally { if (u) throw o; } } }; }
|
|
37
|
+
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
38
|
+
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
39
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
40
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
22
41
|
/**
|
|
23
42
|
* Middleware item (contains path matcher and middleware function)
|
|
24
43
|
*/
|
|
@@ -27,6 +46,8 @@ var _constants = require("../constants");
|
|
|
27
46
|
* Pending acknowledgment
|
|
28
47
|
*/
|
|
29
48
|
|
|
49
|
+
/** Pending request waiting for client stream (streamId present) */
|
|
50
|
+
|
|
30
51
|
/**
|
|
31
52
|
* Server configuration options
|
|
32
53
|
*/
|
|
@@ -43,6 +64,10 @@ class RequestIframeServerImpl {
|
|
|
43
64
|
(0, _defineProperty2.default)(this, "middlewares", []);
|
|
44
65
|
/** Responses waiting for client acknowledgment */
|
|
45
66
|
(0, _defineProperty2.default)(this, "pendingAcks", new Map());
|
|
67
|
+
/** Pending requests waiting for client stream_start (streamId present) */
|
|
68
|
+
(0, _defineProperty2.default)(this, "pendingStreamRequests", new Map());
|
|
69
|
+
/** Stream message handlers (streamId -> handler) for client→server streams */
|
|
70
|
+
(0, _defineProperty2.default)(this, "streamHandlers", new Map());
|
|
46
71
|
/** List of functions to unregister handlers */
|
|
47
72
|
(0, _defineProperty2.default)(this, "unregisterFns", []);
|
|
48
73
|
/** Whether it is open */
|
|
@@ -107,6 +132,122 @@ class RequestIframeServerImpl {
|
|
|
107
132
|
|
|
108
133
|
// Handle RECEIVED messages (for confirming response delivery)
|
|
109
134
|
this.unregisterFns.push(this.dispatcher.registerHandler(_constants.MessageType.RECEIVED, data => this.handleReceived(data), handlerOptions));
|
|
135
|
+
|
|
136
|
+
// Handle stream_* messages (client→server stream)
|
|
137
|
+
this.unregisterFns.push(this.dispatcher.registerHandler(_constants.MessageType.STREAM_START, (data, ctx) => this.handleStreamStart(data, ctx), handlerOptions));
|
|
138
|
+
this.unregisterFns.push(this.dispatcher.registerHandler(type => type.startsWith('stream_') && type !== _constants.MessageType.STREAM_START, (data, _context) => this.dispatchStreamMessage(data), handlerOptions));
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
/** Handle stream_start from client (stream request with streamId) */
|
|
142
|
+
handleStreamStart(data, _context) {
|
|
143
|
+
var _body$chunked;
|
|
144
|
+
if (data.role !== _constants.MessageRole.CLIENT) return;
|
|
145
|
+
var body = data.body;
|
|
146
|
+
if (!(body !== null && body !== void 0 && body.streamId)) return;
|
|
147
|
+
var pending = this.pendingStreamRequests.get(data.requestId);
|
|
148
|
+
if (!pending || pending.streamId !== body.streamId) return;
|
|
149
|
+
this.pendingStreamRequests.delete(data.requestId);
|
|
150
|
+
var targetWindow = pending.targetWindow,
|
|
151
|
+
targetOrigin = pending.targetOrigin,
|
|
152
|
+
res = pending.res,
|
|
153
|
+
reqData = pending.data,
|
|
154
|
+
reqContext = pending.context,
|
|
155
|
+
handlerFn = pending.handlerFn;
|
|
156
|
+
var streamHandler = {
|
|
157
|
+
registerStreamHandler: (streamId, handler) => {
|
|
158
|
+
this.streamHandlers.set(streamId, handler);
|
|
159
|
+
},
|
|
160
|
+
unregisterStreamHandler: streamId => {
|
|
161
|
+
this.streamHandlers.delete(streamId);
|
|
162
|
+
},
|
|
163
|
+
postMessage: message => {
|
|
164
|
+
this.dispatcher.send(targetWindow, message, targetOrigin);
|
|
165
|
+
}
|
|
166
|
+
};
|
|
167
|
+
var streamType = body.type || _constants.StreamType.DATA;
|
|
168
|
+
var streamChunked = (_body$chunked = body.chunked) !== null && _body$chunked !== void 0 ? _body$chunked : true;
|
|
169
|
+
var streamMetadata = body.metadata;
|
|
170
|
+
var req = new _request.ServerRequestImpl(reqData, reqContext, res, pending.params);
|
|
171
|
+
|
|
172
|
+
// File stream: optionally auto-resolve to File/Blob before calling handler
|
|
173
|
+
if (streamType === _constants.StreamType.FILE) {
|
|
174
|
+
var _body$autoResolve;
|
|
175
|
+
var fileStream = new _stream.IframeFileReadableStream(body.streamId, data.requestId, streamHandler, {
|
|
176
|
+
chunked: streamChunked,
|
|
177
|
+
metadata: streamMetadata,
|
|
178
|
+
filename: streamMetadata === null || streamMetadata === void 0 ? void 0 : streamMetadata.filename,
|
|
179
|
+
mimeType: streamMetadata === null || streamMetadata === void 0 ? void 0 : streamMetadata.mimeType,
|
|
180
|
+
size: streamMetadata === null || streamMetadata === void 0 ? void 0 : streamMetadata.size
|
|
181
|
+
});
|
|
182
|
+
var autoResolve = (_body$autoResolve = body.autoResolve) !== null && _body$autoResolve !== void 0 ? _body$autoResolve : false;
|
|
183
|
+
if (autoResolve) {
|
|
184
|
+
var name = fileStream.filename || (streamMetadata === null || streamMetadata === void 0 ? void 0 : streamMetadata.filename);
|
|
185
|
+
var promise = name ? fileStream.readAsFile(name) : fileStream.readAsBlob();
|
|
186
|
+
promise.then(fileData => {
|
|
187
|
+
req.body = fileData;
|
|
188
|
+
req.stream = undefined;
|
|
189
|
+
this.runMiddlewares(req, res, () => {
|
|
190
|
+
try {
|
|
191
|
+
var result = handlerFn(req, res);
|
|
192
|
+
if ((0, _utils.isPromise)(result)) {
|
|
193
|
+
this.dispatcher.sendMessage(targetWindow, targetOrigin, _constants.MessageType.ASYNC, data.requestId, {
|
|
194
|
+
path: reqData.path,
|
|
195
|
+
targetId: data.creatorId
|
|
196
|
+
});
|
|
197
|
+
result.then(this.handleRequestResult.bind(this, res, targetWindow, targetOrigin, reqData)).catch(this.handleRequestError.bind(this, res, targetWindow, targetOrigin, reqData));
|
|
198
|
+
} else {
|
|
199
|
+
this.handleRequestResult(res, targetWindow, targetOrigin, reqData, result);
|
|
200
|
+
}
|
|
201
|
+
} catch (error) {
|
|
202
|
+
this.handleRequestError(res, targetWindow, targetOrigin, reqData, error);
|
|
203
|
+
}
|
|
204
|
+
});
|
|
205
|
+
}).catch(error => {
|
|
206
|
+
this.handleRequestError(res, targetWindow, targetOrigin, reqData, error);
|
|
207
|
+
});
|
|
208
|
+
return;
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
// Non-autoResolve: expose stream directly
|
|
212
|
+
req.body = fileStream;
|
|
213
|
+
req.stream = fileStream;
|
|
214
|
+
} else {
|
|
215
|
+
// Non-file stream
|
|
216
|
+
var readableStream = new _stream.IframeReadableStream(body.streamId, data.requestId, streamHandler, {
|
|
217
|
+
type: streamType,
|
|
218
|
+
chunked: streamChunked,
|
|
219
|
+
metadata: streamMetadata
|
|
220
|
+
});
|
|
221
|
+
req.body = undefined;
|
|
222
|
+
req.stream = readableStream;
|
|
223
|
+
}
|
|
224
|
+
this.runMiddlewares(req, res, () => {
|
|
225
|
+
try {
|
|
226
|
+
var result = handlerFn(req, res);
|
|
227
|
+
if ((0, _utils.isPromise)(result)) {
|
|
228
|
+
this.dispatcher.sendMessage(targetWindow, targetOrigin, _constants.MessageType.ASYNC, data.requestId, {
|
|
229
|
+
path: reqData.path,
|
|
230
|
+
targetId: data.creatorId
|
|
231
|
+
});
|
|
232
|
+
result.then(this.handleRequestResult.bind(this, res, targetWindow, targetOrigin, reqData)).catch(this.handleRequestError.bind(this, res, targetWindow, targetOrigin, reqData));
|
|
233
|
+
} else {
|
|
234
|
+
this.handleRequestResult(res, targetWindow, targetOrigin, reqData, result);
|
|
235
|
+
}
|
|
236
|
+
} catch (error) {
|
|
237
|
+
this.handleRequestError(res, targetWindow, targetOrigin, reqData, error);
|
|
238
|
+
}
|
|
239
|
+
});
|
|
240
|
+
}
|
|
241
|
+
dispatchStreamMessage(data) {
|
|
242
|
+
var body = data.body;
|
|
243
|
+
if (!(body !== null && body !== void 0 && body.streamId)) return;
|
|
244
|
+
var handler = this.streamHandlers.get(body.streamId);
|
|
245
|
+
if (handler) {
|
|
246
|
+
var messageType = data.type.replace('stream_', '');
|
|
247
|
+
handler(_objectSpread(_objectSpread({}, body), {}, {
|
|
248
|
+
type: messageType
|
|
249
|
+
}));
|
|
250
|
+
}
|
|
110
251
|
}
|
|
111
252
|
|
|
112
253
|
/**
|
|
@@ -193,6 +334,50 @@ class RequestIframeServerImpl {
|
|
|
193
334
|
}
|
|
194
335
|
}
|
|
195
336
|
|
|
337
|
+
/**
|
|
338
|
+
* Find matching handler and extract path parameters
|
|
339
|
+
* @param requestPath The actual request path
|
|
340
|
+
* @returns Handler function and extracted parameters, or null if not found
|
|
341
|
+
*/
|
|
342
|
+
findHandler(requestPath) {
|
|
343
|
+
var prefixedRequestPath = this.dispatcher.prefixPath(requestPath);
|
|
344
|
+
|
|
345
|
+
// First try exact match (for backward compatibility and performance)
|
|
346
|
+
var exactHandler = this.handlers.get(prefixedRequestPath);
|
|
347
|
+
if (exactHandler) {
|
|
348
|
+
return {
|
|
349
|
+
handler: exactHandler,
|
|
350
|
+
params: {}
|
|
351
|
+
};
|
|
352
|
+
}
|
|
353
|
+
|
|
354
|
+
// Then try parameter matching (e.g., '/api/users/:id' matches '/api/users/123')
|
|
355
|
+
var _iterator = _createForOfIteratorHelper(this.handlers.entries()),
|
|
356
|
+
_step;
|
|
357
|
+
try {
|
|
358
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
359
|
+
var _step$value = (0, _slicedToArray2.default)(_step.value, 2),
|
|
360
|
+
registeredPath = _step$value[0],
|
|
361
|
+
handler = _step$value[1];
|
|
362
|
+
// Check if registered path contains parameters
|
|
363
|
+
if (registeredPath.includes(':')) {
|
|
364
|
+
var matchResult = (0, _pathMatch.matchPathWithParams)(prefixedRequestPath, registeredPath);
|
|
365
|
+
if (matchResult.match) {
|
|
366
|
+
return {
|
|
367
|
+
handler,
|
|
368
|
+
params: matchResult.params
|
|
369
|
+
};
|
|
370
|
+
}
|
|
371
|
+
}
|
|
372
|
+
}
|
|
373
|
+
} catch (err) {
|
|
374
|
+
_iterator.e(err);
|
|
375
|
+
} finally {
|
|
376
|
+
_iterator.f();
|
|
377
|
+
}
|
|
378
|
+
return null;
|
|
379
|
+
}
|
|
380
|
+
|
|
196
381
|
/**
|
|
197
382
|
* Handle request
|
|
198
383
|
*/
|
|
@@ -208,10 +393,9 @@ class RequestIframeServerImpl {
|
|
|
208
393
|
var targetWindow = context.source;
|
|
209
394
|
var targetOrigin = context.origin;
|
|
210
395
|
|
|
211
|
-
//
|
|
212
|
-
var
|
|
213
|
-
|
|
214
|
-
if (!handlerFn) {
|
|
396
|
+
// Find matching handler and extract path parameters
|
|
397
|
+
var handlerMatch = this.findHandler(data.path);
|
|
398
|
+
if (!handlerMatch) {
|
|
215
399
|
// No handler found in this instance
|
|
216
400
|
// Mark as handled by this instance (using special marker) to prevent other instances from processing
|
|
217
401
|
// This ensures only one instance sends the error response
|
|
@@ -231,6 +415,8 @@ class RequestIframeServerImpl {
|
|
|
231
415
|
});
|
|
232
416
|
return;
|
|
233
417
|
}
|
|
418
|
+
var handlerFn = handlerMatch.handler,
|
|
419
|
+
params = handlerMatch.params;
|
|
234
420
|
|
|
235
421
|
// Mark message as handled by this server instance to prevent other server instances from processing it
|
|
236
422
|
context.handledBy = this.id;
|
|
@@ -253,8 +439,27 @@ class RequestIframeServerImpl {
|
|
|
253
439
|
res._triggerAck(false);
|
|
254
440
|
});
|
|
255
441
|
|
|
256
|
-
//
|
|
257
|
-
|
|
442
|
+
// Client sends body as stream: wait for stream_start, then create readable stream and call handler
|
|
443
|
+
// If streamId is present, this is a stream request
|
|
444
|
+
var streamId = data.streamId;
|
|
445
|
+
if (streamId) {
|
|
446
|
+
this.pendingStreamRequests.set(data.requestId, {
|
|
447
|
+
path: data.path || '',
|
|
448
|
+
requestId: data.requestId,
|
|
449
|
+
streamId,
|
|
450
|
+
handlerFn,
|
|
451
|
+
targetWindow,
|
|
452
|
+
targetOrigin,
|
|
453
|
+
res,
|
|
454
|
+
data,
|
|
455
|
+
context,
|
|
456
|
+
params
|
|
457
|
+
});
|
|
458
|
+
return;
|
|
459
|
+
}
|
|
460
|
+
|
|
461
|
+
// Create request object with path parameters
|
|
462
|
+
var req = new _request.ServerRequestImpl(data, context, res, params);
|
|
258
463
|
|
|
259
464
|
// Execute middleware chain
|
|
260
465
|
this.runMiddlewares(req, res, () => {
|
package/library/index.d.ts
CHANGED
|
@@ -8,9 +8,10 @@ export type { MessageContext, MessageHandlerFn, MessageTypeMatcher, VersionValid
|
|
|
8
8
|
export { getOrCreateMessageChannel, releaseMessageChannel, clearMessageChannelCache, } from './utils/cache';
|
|
9
9
|
export { ServerRequestImpl } from './core/request';
|
|
10
10
|
export { ServerResponseImpl } from './core/response';
|
|
11
|
-
export { IframeWritableStream, IframeReadableStream, IframeFileWritableStream, IframeFileReadableStream, isIframeReadableStream,
|
|
11
|
+
export { IframeWritableStream, IframeReadableStream, IframeFileWritableStream, IframeFileReadableStream, isIframeReadableStream, isIframeFileReadableStream, isIframeFileWritableStream, isIframeWritableStream } from './stream';
|
|
12
12
|
export type { StreamType, StreamState, StreamChunk, WritableStreamOptions, ReadableStreamOptions, FileWritableStreamOptions, FileReadableStreamOptions, StreamBindContext, IIframeWritableStream, IIframeReadableStream, IIframeFileReadableStream, StreamMessageData } from './stream';
|
|
13
13
|
export * from './types';
|
|
14
|
+
export { detectContentType, blobToBase64 } from './utils';
|
|
14
15
|
export { InterceptorManager, RequestInterceptorManager, ResponseInterceptorManager } from './interceptors';
|
|
15
16
|
export * from './constants';
|
|
16
17
|
//# sourceMappingURL=index.d.ts.map
|
package/library/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,6BAA6B,EAAE,MAAM,cAAc,CAAC;AAClF,OAAO,EAAE,mBAAmB,EAAE,6BAA6B,EAAE,MAAM,cAAc,CAAC;AAElF,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAEjE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC3E,YAAY,EACV,cAAc,EACd,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,cAAc,EACd,WAAW,IAAI,gBAAgB,EAChC,MAAM,WAAW,CAAC;AAEnB,OAAO,EACL,yBAAyB,EACzB,qBAAqB,EACrB,wBAAwB,GACzB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAErD,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,wBAAwB,EACxB,wBAAwB,EACxB,sBAAsB,EACtB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,6BAA6B,EAAE,MAAM,cAAc,CAAC;AAClF,OAAO,EAAE,mBAAmB,EAAE,6BAA6B,EAAE,MAAM,cAAc,CAAC;AAElF,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAEjE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC3E,YAAY,EACV,cAAc,EACd,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,cAAc,EACd,WAAW,IAAI,gBAAgB,EAChC,MAAM,WAAW,CAAC;AAEnB,OAAO,EACL,yBAAyB,EACzB,qBAAqB,EACrB,wBAAwB,GACzB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAErD,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,wBAAwB,EACxB,wBAAwB,EACxB,sBAAsB,EACtB,0BAA0B,EAC1B,0BAA0B,EAC1B,sBAAsB,EACvB,MAAM,UAAU,CAAC;AAClB,YAAY,EACV,UAAU,EACV,WAAW,EACX,WAAW,EACX,qBAAqB,EACrB,qBAAqB,EACrB,yBAAyB,EACzB,yBAAyB,EACzB,iBAAiB,EACjB,qBAAqB,EACrB,qBAAqB,EACrB,yBAAyB,EACzB,iBAAiB,EAClB,MAAM,UAAU,CAAC;AAElB,cAAc,SAAS,CAAC;AACxB,OAAO,EACL,iBAAiB,EACjB,YAAY,EACb,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,0BAA0B,EAAE,MAAM,gBAAgB,CAAC;AAE3G,cAAc,aAAa,CAAC"}
|
package/library/index.js
CHANGED
|
@@ -25,7 +25,11 @@ var _exportNames = {
|
|
|
25
25
|
IframeFileWritableStream: true,
|
|
26
26
|
IframeFileReadableStream: true,
|
|
27
27
|
isIframeReadableStream: true,
|
|
28
|
-
|
|
28
|
+
isIframeFileReadableStream: true,
|
|
29
|
+
isIframeFileWritableStream: true,
|
|
30
|
+
isIframeWritableStream: true,
|
|
31
|
+
detectContentType: true,
|
|
32
|
+
blobToBase64: true,
|
|
29
33
|
InterceptorManager: true,
|
|
30
34
|
RequestInterceptorManager: true,
|
|
31
35
|
ResponseInterceptorManager: true
|
|
@@ -120,6 +124,12 @@ Object.defineProperty(exports, "ServerResponseImpl", {
|
|
|
120
124
|
return _response.ServerResponseImpl;
|
|
121
125
|
}
|
|
122
126
|
});
|
|
127
|
+
Object.defineProperty(exports, "blobToBase64", {
|
|
128
|
+
enumerable: true,
|
|
129
|
+
get: function get() {
|
|
130
|
+
return _utils.blobToBase64;
|
|
131
|
+
}
|
|
132
|
+
});
|
|
123
133
|
Object.defineProperty(exports, "clearMessageChannelCache", {
|
|
124
134
|
enumerable: true,
|
|
125
135
|
get: function get() {
|
|
@@ -138,16 +148,28 @@ Object.defineProperty(exports, "clearRequestIframeServerCache", {
|
|
|
138
148
|
return _server.clearRequestIframeServerCache;
|
|
139
149
|
}
|
|
140
150
|
});
|
|
151
|
+
Object.defineProperty(exports, "detectContentType", {
|
|
152
|
+
enumerable: true,
|
|
153
|
+
get: function get() {
|
|
154
|
+
return _utils.detectContentType;
|
|
155
|
+
}
|
|
156
|
+
});
|
|
141
157
|
Object.defineProperty(exports, "getOrCreateMessageChannel", {
|
|
142
158
|
enumerable: true,
|
|
143
159
|
get: function get() {
|
|
144
160
|
return _cache.getOrCreateMessageChannel;
|
|
145
161
|
}
|
|
146
162
|
});
|
|
147
|
-
Object.defineProperty(exports, "
|
|
163
|
+
Object.defineProperty(exports, "isIframeFileReadableStream", {
|
|
148
164
|
enumerable: true,
|
|
149
165
|
get: function get() {
|
|
150
|
-
return _stream.
|
|
166
|
+
return _stream.isIframeFileReadableStream;
|
|
167
|
+
}
|
|
168
|
+
});
|
|
169
|
+
Object.defineProperty(exports, "isIframeFileWritableStream", {
|
|
170
|
+
enumerable: true,
|
|
171
|
+
get: function get() {
|
|
172
|
+
return _stream.isIframeFileWritableStream;
|
|
151
173
|
}
|
|
152
174
|
});
|
|
153
175
|
Object.defineProperty(exports, "isIframeReadableStream", {
|
|
@@ -156,6 +178,12 @@ Object.defineProperty(exports, "isIframeReadableStream", {
|
|
|
156
178
|
return _stream.isIframeReadableStream;
|
|
157
179
|
}
|
|
158
180
|
});
|
|
181
|
+
Object.defineProperty(exports, "isIframeWritableStream", {
|
|
182
|
+
enumerable: true,
|
|
183
|
+
get: function get() {
|
|
184
|
+
return _stream.isIframeWritableStream;
|
|
185
|
+
}
|
|
186
|
+
});
|
|
159
187
|
Object.defineProperty(exports, "releaseMessageChannel", {
|
|
160
188
|
enumerable: true,
|
|
161
189
|
get: function get() {
|
|
@@ -196,6 +224,7 @@ Object.keys(_types).forEach(function (key) {
|
|
|
196
224
|
}
|
|
197
225
|
});
|
|
198
226
|
});
|
|
227
|
+
var _utils = require("./utils");
|
|
199
228
|
var _interceptors = require("./interceptors");
|
|
200
229
|
var _constants = require("./constants");
|
|
201
230
|
Object.keys(_constants).forEach(function (key) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dispatcher.d.ts","sourceRoot":"","sources":["../../src/message/dispatcher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAC7D,OAAO,EACL,eAAe,EAChB,MAAM,UAAU,CAAC;AAElB,OAAO,EAAE,cAAc,EAAE,KAAK,cAAc,EAAE,MAAM,WAAW,CAAC;AAEhE;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,cAAc,KAAK,IAAI,CAAC;AAExF;;;;;GAKG;AACH,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC;AAE/E;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC;AAE5D;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,2EAA2E;IAC3E,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,4DAA4D;IAC5D,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CAC5F;AAkBD;;;;;;;;;;;GAWG;AACH,qBAAa,iBAAiB;IAC5B,uCAAuC;IACvC,SAAgB,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnC,mBAAmB;IACnB,SAAgB,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;IAE7C,qDAAqD;IACrD,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAmB;IAExC,iEAAiE;IACjE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAS;IAErC,iCAAiC;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiB;IAEzC,2BAA2B;IAC3B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA6B;IAEtD,gDAAgD;IAChD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA2D;IAEzF,wEAAwE;IACxE,OAAO,CAAC,QAAQ,CAAK;gBAEF,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,gBAAgB,EAAE,UAAU,CAAC,EAAE,MAAM;IAkBvF;;OAEG;IACI,MAAM,IAAI,IAAI;IAIrB;;;OAGG;IACI,OAAO,IAAI,MAAM;IAIxB;;OAEG;IACI,WAAW,IAAI,MAAM;IAM5B;;;;;;OAMG;IACI,eAAe,CACpB,OAAO,EAAE,kBAAkB,EAC3B,OAAO,EAAE,gBAAgB,EACzB,OAAO,CAAC,EAAE,cAAc,GAAG,MAAM,GAChC,MAAM,IAAI;IAyBb;;OAEG;IACI,iBAAiB,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI;IAOzD;;OAEG;IACH,OAAO,CAAC,eAAe;IAkDvB;;OAEG;IACH,OAAO,CAAC,SAAS;IAejB;;;;;OAKG;IACI,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,YAAY,GAAE,MAAY,GAAG,IAAI;IAWvF;;;;;;;OAOG;IACI,WAAW,CAChB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,eAAe,CAAC,MAAM,CAAC,EAC7B,SAAS,EAAE,MAAM,EACjB,IAAI,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,eAAe,EAAE,mBAAmB,GAAG,MAAM,GAAG,WAAW,GAAG,WAAW,GAAG,MAAM,GAAG,WAAW,CAAC,CAAC,GACrH,IAAI;
|
|
1
|
+
{"version":3,"file":"dispatcher.d.ts","sourceRoot":"","sources":["../../src/message/dispatcher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAC7D,OAAO,EACL,eAAe,EAChB,MAAM,UAAU,CAAC;AAElB,OAAO,EAAE,cAAc,EAAE,KAAK,cAAc,EAAE,MAAM,WAAW,CAAC;AAEhE;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,cAAc,KAAK,IAAI,CAAC;AAExF;;;;;GAKG;AACH,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC;AAE/E;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC;AAE5D;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,2EAA2E;IAC3E,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,4DAA4D;IAC5D,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CAC5F;AAkBD;;;;;;;;;;;GAWG;AACH,qBAAa,iBAAiB;IAC5B,uCAAuC;IACvC,SAAgB,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnC,mBAAmB;IACnB,SAAgB,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;IAE7C,qDAAqD;IACrD,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAmB;IAExC,iEAAiE;IACjE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAS;IAErC,iCAAiC;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiB;IAEzC,2BAA2B;IAC3B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA6B;IAEtD,gDAAgD;IAChD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA2D;IAEzF,wEAAwE;IACxE,OAAO,CAAC,QAAQ,CAAK;gBAEF,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,gBAAgB,EAAE,UAAU,CAAC,EAAE,MAAM;IAkBvF;;OAEG;IACI,MAAM,IAAI,IAAI;IAIrB;;;OAGG;IACI,OAAO,IAAI,MAAM;IAIxB;;OAEG;IACI,WAAW,IAAI,MAAM;IAM5B;;;;;;OAMG;IACI,eAAe,CACpB,OAAO,EAAE,kBAAkB,EAC3B,OAAO,EAAE,gBAAgB,EACzB,OAAO,CAAC,EAAE,cAAc,GAAG,MAAM,GAChC,MAAM,IAAI;IAyBb;;OAEG;IACI,iBAAiB,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI;IAOzD;;OAEG;IACH,OAAO,CAAC,eAAe;IAkDvB;;OAEG;IACH,OAAO,CAAC,SAAS;IAejB;;;;;OAKG;IACI,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,YAAY,GAAE,MAAY,GAAG,IAAI;IAWvF;;;;;;;OAOG;IACI,WAAW,CAChB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,eAAe,CAAC,MAAM,CAAC,EAC7B,SAAS,EAAE,MAAM,EACjB,IAAI,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,eAAe,EAAE,mBAAmB,GAAG,MAAM,GAAG,WAAW,GAAG,WAAW,GAAG,MAAM,GAAG,WAAW,CAAC,CAAC,GACrH,IAAI;IAcP;;OAEG;IACI,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAIvC;;OAEG;IACI,UAAU,IAAI,cAAc;IAInC;;OAEG;IACI,OAAO,IAAI,IAAI;CAIvB"}
|
|
@@ -258,11 +258,12 @@ class MessageDispatcher {
|
|
|
258
258
|
* @param data additional data
|
|
259
259
|
*/
|
|
260
260
|
sendMessage(target, targetOrigin, type, requestId, data) {
|
|
261
|
-
// Automatically set role and
|
|
262
|
-
// Create message with role and
|
|
261
|
+
// Automatically set role, creatorId, and secretKey based on dispatcher's properties
|
|
262
|
+
// Create message with role, creatorId, and secretKey using createPostMessage directly
|
|
263
263
|
var message = (0, _utils.createPostMessage)(type, requestId, _objectSpread(_objectSpread({}, data), {}, {
|
|
264
264
|
role: this.role,
|
|
265
|
-
creatorId: this.instanceId
|
|
265
|
+
creatorId: this.instanceId,
|
|
266
|
+
secretKey: this.secretKey
|
|
266
267
|
}));
|
|
267
268
|
this.channel.send(target, message, targetOrigin);
|
|
268
269
|
}
|
|
@@ -3,6 +3,8 @@ export { IframeWritableStream } from './writable-stream';
|
|
|
3
3
|
export { IframeFileWritableStream } from './file-stream';
|
|
4
4
|
export { IframeReadableStream, StreamMessageHandler } from './readable-stream';
|
|
5
5
|
export { IframeFileReadableStream } from './file-stream';
|
|
6
|
+
import { IframeFileWritableStream } from './file-stream';
|
|
7
|
+
import { IframeWritableStream } from './writable-stream';
|
|
6
8
|
import { IIframeReadableStream, IIframeFileReadableStream } from './types';
|
|
7
9
|
/**
|
|
8
10
|
* Check if value is an IframeReadableStream
|
|
@@ -11,5 +13,13 @@ export declare function isIframeReadableStream(value: any): value is IIframeRead
|
|
|
11
13
|
/**
|
|
12
14
|
* Check if value is an IframeFileReadableStream (file stream)
|
|
13
15
|
*/
|
|
14
|
-
export declare function
|
|
16
|
+
export declare function isIframeFileReadableStream(value: any): value is IIframeFileReadableStream;
|
|
17
|
+
/**
|
|
18
|
+
* Check if value is an IframeWritableStream (includes IframeFileWritableStream)
|
|
19
|
+
*/
|
|
20
|
+
export declare function isIframeWritableStream(value: any): value is IframeWritableStream;
|
|
21
|
+
/**
|
|
22
|
+
* Check if value is an IframeFileWritableStream (file writable stream)
|
|
23
|
+
*/
|
|
24
|
+
export declare function isIframeFileWritableStream(value: any): value is IframeFileWritableStream;
|
|
15
25
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/stream/index.ts"],"names":[],"mappings":"AACA,cAAc,SAAS,CAAC;AAGxB,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AAGzD,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAC/E,OAAO,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/stream/index.ts"],"names":[],"mappings":"AACA,cAAc,SAAS,CAAC;AAGxB,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AAGzD,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAC/E,OAAO,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AAIzD,OAAO,EAA4B,wBAAwB,EAAE,MAAM,eAAe,CAAC;AACnF,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAC;AAE3E;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK,IAAI,qBAAqB,CAEjF;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK,IAAI,yBAAyB,CAEzF;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK,IAAI,oBAAoB,CAEhF;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK,IAAI,wBAAwB,CAExF"}
|
package/library/stream/index.js
CHANGED
|
@@ -6,7 +6,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
});
|
|
7
7
|
var _exportNames = {
|
|
8
8
|
isIframeReadableStream: true,
|
|
9
|
-
|
|
9
|
+
isIframeFileReadableStream: true,
|
|
10
|
+
isIframeWritableStream: true,
|
|
11
|
+
isIframeFileWritableStream: true,
|
|
10
12
|
IframeWritableStream: true,
|
|
11
13
|
IframeFileWritableStream: true,
|
|
12
14
|
IframeFileReadableStream: true,
|
|
@@ -43,8 +45,10 @@ Object.defineProperty(exports, "StreamMessageHandler", {
|
|
|
43
45
|
return _readableStream.StreamMessageHandler;
|
|
44
46
|
}
|
|
45
47
|
});
|
|
46
|
-
exports.
|
|
48
|
+
exports.isIframeFileReadableStream = isIframeFileReadableStream;
|
|
49
|
+
exports.isIframeFileWritableStream = isIframeFileWritableStream;
|
|
47
50
|
exports.isIframeReadableStream = isIframeReadableStream;
|
|
51
|
+
exports.isIframeWritableStream = isIframeWritableStream;
|
|
48
52
|
var _types = require("./types");
|
|
49
53
|
Object.keys(_types).forEach(function (key) {
|
|
50
54
|
if (key === "default" || key === "__esModule") return;
|
|
@@ -78,6 +82,20 @@ function isIframeReadableStream(value) {
|
|
|
78
82
|
/**
|
|
79
83
|
* Check if value is an IframeFileReadableStream (file stream)
|
|
80
84
|
*/
|
|
81
|
-
function
|
|
85
|
+
function isIframeFileReadableStream(value) {
|
|
82
86
|
return value instanceof _fileStream.IframeFileReadableStream;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
/**
|
|
90
|
+
* Check if value is an IframeWritableStream (includes IframeFileWritableStream)
|
|
91
|
+
*/
|
|
92
|
+
function isIframeWritableStream(value) {
|
|
93
|
+
return value instanceof _writableStream.IframeWritableStream || value instanceof _fileStream.IframeFileWritableStream;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
/**
|
|
97
|
+
* Check if value is an IframeFileWritableStream (file writable stream)
|
|
98
|
+
*/
|
|
99
|
+
function isIframeFileWritableStream(value) {
|
|
100
|
+
return value instanceof _fileStream.IframeFileWritableStream;
|
|
83
101
|
}
|
|
@@ -78,8 +78,8 @@ export interface StreamBindContext {
|
|
|
78
78
|
targetOrigin: string;
|
|
79
79
|
/** secretKey */
|
|
80
80
|
secretKey?: string;
|
|
81
|
-
/** MessageChannel for sending messages
|
|
82
|
-
channel
|
|
81
|
+
/** MessageChannel for sending messages */
|
|
82
|
+
channel: MessageChannel;
|
|
83
83
|
/** Server instance ID (for server-side streams, used as creatorId) */
|
|
84
84
|
serverId?: string;
|
|
85
85
|
/** Client instance ID (for client-side streams, used as creatorId) */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/stream/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,IAAI,kBAAkB,EAAE,WAAW,IAAI,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACpG,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,OAAO,kBAAkB,CAAC,MAAM,OAAO,kBAAkB,CAAC,CAAC;AAEpF;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,iBAAiB;IACjB,IAAI,EAAE,GAAG,CAAC;IACV,qCAAqC;IACrC,IAAI,EAAE,OAAO,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,yDAAyD;IACzD,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,yFAAyF;IACzF,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,MAAM,cAAc,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACpD,gEAAgE;IAChE,IAAI,CAAC,EAAE,MAAM,OAAO,CAAC,WAAW,CAAC,GAAG,WAAW,CAAC;IAChD,sBAAsB;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC/B;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,kBAAkB;IAClB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,sCAAsC;IACtC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,sBAAsB;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,yBAA0B,SAAQ,IAAI,CAAC,qBAAqB,EAAE,MAAM,CAAC;IACpF,eAAe;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,0DAA0D;IAC1D,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,yBAA0B,SAAQ,IAAI,CAAC,qBAAqB,EAAE,MAAM,CAAC;IACpF,eAAe;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,iBAAiB;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,oBAAoB;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,oBAAoB;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/stream/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,7 +22,7 @@ export declare class IframeWritableStream implements IIframeWritableStream {
|
|
|
22
22
|
*/
|
|
23
23
|
_bind(context: StreamBindContext): void;
|
|
24
24
|
/**
|
|
25
|
-
* Send message to client
|
|
25
|
+
* Send message (to client when server-side stream, to server when client-side stream)
|
|
26
26
|
*/
|
|
27
27
|
private sendMessage;
|
|
28
28
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"writable-stream.d.ts","sourceRoot":"","sources":["../../src/stream/writable-stream.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,WAAW,EACX,iBAAiB,EACjB,qBAAqB,EACrB,qBAAqB,EAEtB,MAAM,SAAS,CAAC;AAWjB;;;GAGG;AACH,qBAAa,oBAAqB,YAAW,qBAAqB;IAChE,SAAgB,QAAQ,EAAE,MAAM,CAAC;IACjC,SAAgB,IAAI,EAAE,UAAU,CAAC;IACjC,SAAgB,OAAO,EAAE,OAAO,CAAC;IAEjC,OAAO,CAAC,MAAM,CAA4C;IAC1D,OAAO,CAAC,OAAO,CAAkC;IACjD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAA2C;IACrE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAA2C;IACnE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAsB;IAChD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAU;gBAEpB,OAAO,GAAE,qBAA0B;IAUtD,uBAAuB;IACvB,IAAW,KAAK,IAAI,WAAW,CAE9B;IAED;;;OAGG;IACI,KAAK,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI;IAI9C;;OAEG;IACH,OAAO,CAAC,WAAW;
|
|
1
|
+
{"version":3,"file":"writable-stream.d.ts","sourceRoot":"","sources":["../../src/stream/writable-stream.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,WAAW,EACX,iBAAiB,EACjB,qBAAqB,EACrB,qBAAqB,EAEtB,MAAM,SAAS,CAAC;AAWjB;;;GAGG;AACH,qBAAa,oBAAqB,YAAW,qBAAqB;IAChE,SAAgB,QAAQ,EAAE,MAAM,CAAC;IACjC,SAAgB,IAAI,EAAE,UAAU,CAAC;IACjC,SAAgB,OAAO,EAAE,OAAO,CAAC;IAEjC,OAAO,CAAC,MAAM,CAA4C;IAC1D,OAAO,CAAC,OAAO,CAAkC;IACjD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAA2C;IACrE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAA2C;IACnE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAsB;IAChD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAU;gBAEpB,OAAO,GAAE,qBAA0B;IAUtD,uBAAuB;IACvB,IAAW,KAAK,IAAI,WAAW,CAE9B;IAED;;;OAGG;IACI,KAAK,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI;IAI9C;;OAEG;IACH,OAAO,CAAC,WAAW;IAqBnB;;OAEG;IACU,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAmCnC;;OAEG;YACW,kBAAkB;IAuBhC;;OAEG;YACW,cAAc;IAsB5B;;OAEG;IACH,OAAO,CAAC,QAAQ;IAOhB;;OAEG;IACH,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,GAAG,GAAG;IAIpC;;OAEG;IACH,OAAO,CAAC,GAAG;IAOX;;OAEG;IACH,OAAO,CAAC,KAAK;IASb;;OAEG;IACI,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;CAWrC"}
|
|
@@ -63,28 +63,26 @@ class IframeWritableStream {
|
|
|
63
63
|
}
|
|
64
64
|
|
|
65
65
|
/**
|
|
66
|
-
* Send message to client
|
|
66
|
+
* Send message (to client when server-side stream, to server when client-side stream)
|
|
67
67
|
*/
|
|
68
68
|
sendMessage(type, data) {
|
|
69
|
+
var _this$context$serverI;
|
|
69
70
|
if (!this.context) {
|
|
70
71
|
throw new Error(_constants.Messages.STREAM_NOT_BOUND);
|
|
71
72
|
}
|
|
73
|
+
var isClientStream = this.context.clientId !== undefined && this.context.serverId === undefined;
|
|
74
|
+
var role = isClientStream ? _constants.MessageRole.CLIENT : _constants.MessageRole.SERVER;
|
|
75
|
+
var creatorId = (_this$context$serverI = this.context.serverId) !== null && _this$context$serverI !== void 0 ? _this$context$serverI : this.context.clientId;
|
|
72
76
|
var message = (0, _utils.createPostMessage)(type, this.context.requestId, {
|
|
73
77
|
secretKey: this.context.secretKey,
|
|
74
78
|
body: _objectSpread({
|
|
75
79
|
streamId: this.streamId
|
|
76
80
|
}, data),
|
|
77
|
-
role
|
|
78
|
-
creatorId
|
|
81
|
+
role,
|
|
82
|
+
creatorId,
|
|
79
83
|
targetId: this.context.targetId
|
|
80
84
|
});
|
|
81
|
-
|
|
82
|
-
// Use channel if available, otherwise use direct postMessage
|
|
83
|
-
if (this.context.channel) {
|
|
84
|
-
this.context.channel.send(this.context.targetWindow, message, this.context.targetOrigin);
|
|
85
|
-
} else {
|
|
86
|
-
this.context.targetWindow.postMessage(message, this.context.targetOrigin);
|
|
87
|
-
}
|
|
85
|
+
this.context.channel.send(this.context.targetWindow, message, this.context.targetOrigin);
|
|
88
86
|
}
|
|
89
87
|
|
|
90
88
|
/**
|