request-iframe 0.1.1 → 0.2.1

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 (208) hide show
  1. package/QUICKSTART.CN.md +4 -2
  2. package/QUICKSTART.md +4 -2
  3. package/README.CN.md +129 -33
  4. package/README.md +116 -15
  5. package/cdn/request-iframe-react.umd.js +3354 -0
  6. package/cdn/request-iframe-react.umd.js.map +1 -0
  7. package/cdn/request-iframe-react.umd.min.js +2 -0
  8. package/cdn/request-iframe-react.umd.min.js.map +1 -0
  9. package/cdn/request-iframe.umd.js +19761 -0
  10. package/cdn/request-iframe.umd.js.map +1 -0
  11. package/cdn/request-iframe.umd.min.js +4 -0
  12. package/cdn/request-iframe.umd.min.js.map +1 -0
  13. package/esm/api/client.js +29 -21
  14. package/esm/api/endpoint.js +229 -0
  15. package/esm/api/server.js +16 -8
  16. package/esm/constants/debug.js +17 -0
  17. package/esm/constants/index.js +84 -67
  18. package/esm/constants/log.js +11 -0
  19. package/esm/constants/messages.js +3 -0
  20. package/esm/constants/warn-once.js +15 -0
  21. package/esm/endpoint/facade.js +390 -0
  22. package/esm/endpoint/heartbeat/heartbeat.js +60 -0
  23. package/esm/endpoint/heartbeat/ping.js +20 -0
  24. package/esm/endpoint/index.js +13 -0
  25. package/esm/endpoint/infra/hub.js +316 -0
  26. package/esm/endpoint/infra/inbox.js +232 -0
  27. package/esm/endpoint/infra/outbox.js +408 -0
  28. package/esm/endpoint/stream/dispatcher.js +58 -0
  29. package/esm/endpoint/stream/errors.js +27 -0
  30. package/esm/endpoint/stream/factory.js +76 -0
  31. package/esm/endpoint/stream/file-auto-resolve.js +34 -0
  32. package/esm/endpoint/stream/file-writable.js +105 -0
  33. package/esm/endpoint/stream/handler.js +26 -0
  34. package/esm/{core → impl}/client.js +240 -317
  35. package/esm/{core → impl}/response.js +113 -155
  36. package/esm/impl/server.js +568 -0
  37. package/esm/index.js +13 -6
  38. package/esm/message/ack.js +27 -0
  39. package/esm/message/channel-cache.js +108 -0
  40. package/esm/message/channel.js +90 -4
  41. package/esm/message/dispatcher.js +115 -75
  42. package/esm/stream/error.js +22 -0
  43. package/esm/stream/index.js +3 -1
  44. package/esm/stream/readable-stream.js +45 -9
  45. package/esm/stream/stream-core.js +7 -2
  46. package/esm/stream/writable-stream.js +97 -26
  47. package/esm/utils/blob.js +16 -0
  48. package/esm/utils/cache.js +25 -76
  49. package/esm/utils/content-type.js +81 -0
  50. package/esm/utils/debug.js +156 -179
  51. package/esm/utils/hooks.js +130 -0
  52. package/esm/utils/id.js +14 -0
  53. package/esm/utils/iframe.js +20 -0
  54. package/esm/utils/index.js +11 -163
  55. package/esm/utils/is.js +3 -0
  56. package/esm/utils/logger.js +55 -0
  57. package/esm/utils/promise.js +3 -0
  58. package/esm/utils/window.js +31 -0
  59. package/library/api/client.d.ts.map +1 -1
  60. package/library/api/client.js +30 -22
  61. package/library/api/endpoint.d.ts +23 -0
  62. package/library/api/endpoint.d.ts.map +1 -0
  63. package/library/api/endpoint.js +235 -0
  64. package/library/api/server.d.ts +4 -1
  65. package/library/api/server.d.ts.map +1 -1
  66. package/library/api/server.js +16 -8
  67. package/library/constants/debug.d.ts +18 -0
  68. package/library/constants/debug.d.ts.map +1 -0
  69. package/library/constants/debug.js +23 -0
  70. package/library/constants/index.d.ts +22 -2
  71. package/library/constants/index.d.ts.map +1 -1
  72. package/library/constants/index.js +110 -67
  73. package/library/constants/log.d.ts +12 -0
  74. package/library/constants/log.d.ts.map +1 -0
  75. package/library/constants/log.js +17 -0
  76. package/library/constants/messages.d.ts +3 -0
  77. package/library/constants/messages.d.ts.map +1 -1
  78. package/library/constants/messages.js +3 -0
  79. package/library/constants/warn-once.d.ts +12 -0
  80. package/library/constants/warn-once.d.ts.map +1 -0
  81. package/library/constants/warn-once.js +22 -0
  82. package/library/endpoint/facade.d.ts +238 -0
  83. package/library/endpoint/facade.d.ts.map +1 -0
  84. package/library/endpoint/facade.js +398 -0
  85. package/library/endpoint/heartbeat/heartbeat.d.ts +34 -0
  86. package/library/endpoint/heartbeat/heartbeat.d.ts.map +1 -0
  87. package/library/endpoint/heartbeat/heartbeat.js +67 -0
  88. package/library/endpoint/heartbeat/ping.d.ts +18 -0
  89. package/library/endpoint/heartbeat/ping.d.ts.map +1 -0
  90. package/library/endpoint/heartbeat/ping.js +26 -0
  91. package/library/endpoint/index.d.ts +16 -0
  92. package/library/endpoint/index.d.ts.map +1 -0
  93. package/library/endpoint/index.js +114 -0
  94. package/library/endpoint/infra/hub.d.ts +170 -0
  95. package/library/endpoint/infra/hub.d.ts.map +1 -0
  96. package/library/endpoint/infra/hub.js +323 -0
  97. package/library/endpoint/infra/inbox.d.ts +73 -0
  98. package/library/endpoint/infra/inbox.d.ts.map +1 -0
  99. package/library/endpoint/infra/inbox.js +239 -0
  100. package/library/endpoint/infra/outbox.d.ts +149 -0
  101. package/library/endpoint/infra/outbox.d.ts.map +1 -0
  102. package/library/endpoint/infra/outbox.js +415 -0
  103. package/library/endpoint/stream/dispatcher.d.ts +33 -0
  104. package/library/endpoint/stream/dispatcher.d.ts.map +1 -0
  105. package/library/endpoint/stream/dispatcher.js +66 -0
  106. package/library/endpoint/stream/errors.d.ts +20 -0
  107. package/library/endpoint/stream/errors.d.ts.map +1 -0
  108. package/library/endpoint/stream/errors.js +32 -0
  109. package/library/endpoint/stream/factory.d.ts +44 -0
  110. package/library/endpoint/stream/factory.d.ts.map +1 -0
  111. package/library/endpoint/stream/factory.js +82 -0
  112. package/library/endpoint/stream/file-auto-resolve.d.ts +26 -0
  113. package/library/endpoint/stream/file-auto-resolve.d.ts.map +1 -0
  114. package/library/endpoint/stream/file-auto-resolve.js +41 -0
  115. package/library/endpoint/stream/file-writable.d.ts +33 -0
  116. package/library/endpoint/stream/file-writable.d.ts.map +1 -0
  117. package/library/endpoint/stream/file-writable.js +115 -0
  118. package/library/endpoint/stream/handler.d.ts +20 -0
  119. package/library/endpoint/stream/handler.d.ts.map +1 -0
  120. package/library/endpoint/stream/handler.js +32 -0
  121. package/library/{core → impl}/client.d.ts +16 -13
  122. package/library/impl/client.d.ts.map +1 -0
  123. package/library/{core → impl}/client.js +251 -330
  124. package/library/{core → impl}/request.d.ts.map +1 -1
  125. package/library/{core → impl}/response.d.ts +5 -10
  126. package/library/impl/response.d.ts.map +1 -0
  127. package/library/{core → impl}/response.js +113 -155
  128. package/library/{core → impl}/server.d.ts +22 -55
  129. package/library/impl/server.d.ts.map +1 -0
  130. package/library/impl/server.js +575 -0
  131. package/library/index.d.ts +13 -6
  132. package/library/index.d.ts.map +1 -1
  133. package/library/index.js +16 -16
  134. package/library/message/ack.d.ts +15 -0
  135. package/library/message/ack.d.ts.map +1 -0
  136. package/library/message/ack.js +33 -0
  137. package/library/message/channel-cache.d.ts +26 -0
  138. package/library/message/channel-cache.d.ts.map +1 -0
  139. package/library/message/channel-cache.js +115 -0
  140. package/library/message/channel.d.ts +53 -6
  141. package/library/message/channel.d.ts.map +1 -1
  142. package/library/message/channel.js +94 -8
  143. package/library/message/dispatcher.d.ts +7 -0
  144. package/library/message/dispatcher.d.ts.map +1 -1
  145. package/library/message/dispatcher.js +116 -76
  146. package/library/stream/error.d.ts +24 -0
  147. package/library/stream/error.d.ts.map +1 -0
  148. package/library/stream/error.js +29 -0
  149. package/library/stream/index.d.ts +4 -1
  150. package/library/stream/index.d.ts.map +1 -1
  151. package/library/stream/index.js +7 -4
  152. package/library/stream/readable-stream.d.ts.map +1 -1
  153. package/library/stream/readable-stream.js +46 -10
  154. package/library/stream/stream-core.d.ts.map +1 -1
  155. package/library/stream/stream-core.js +6 -1
  156. package/library/stream/writable-stream.d.ts.map +1 -1
  157. package/library/stream/writable-stream.js +99 -28
  158. package/library/types/index.d.ts +15 -19
  159. package/library/types/index.d.ts.map +1 -1
  160. package/library/utils/blob.d.ts +3 -0
  161. package/library/utils/blob.d.ts.map +1 -0
  162. package/library/utils/blob.js +22 -0
  163. package/library/utils/cache.d.ts +10 -20
  164. package/library/utils/cache.d.ts.map +1 -1
  165. package/library/utils/cache.js +25 -79
  166. package/library/utils/content-type.d.ts +13 -0
  167. package/library/utils/content-type.d.ts.map +1 -0
  168. package/library/utils/content-type.js +87 -0
  169. package/library/utils/debug.d.ts.map +1 -1
  170. package/library/utils/debug.js +155 -177
  171. package/library/utils/hooks.d.ts +30 -0
  172. package/library/utils/hooks.d.ts.map +1 -0
  173. package/library/utils/hooks.js +139 -0
  174. package/library/utils/id.d.ts +9 -0
  175. package/library/utils/id.d.ts.map +1 -0
  176. package/library/utils/id.js +21 -0
  177. package/library/utils/iframe.d.ts +5 -0
  178. package/library/utils/iframe.d.ts.map +1 -0
  179. package/library/utils/iframe.js +25 -0
  180. package/library/utils/index.d.ts +7 -34
  181. package/library/utils/index.d.ts.map +1 -1
  182. package/library/utils/index.js +58 -194
  183. package/library/utils/is.d.ts +2 -0
  184. package/library/utils/is.d.ts.map +1 -0
  185. package/library/utils/is.js +9 -0
  186. package/library/utils/logger.d.ts +13 -0
  187. package/library/utils/logger.d.ts.map +1 -0
  188. package/library/utils/logger.js +63 -0
  189. package/library/utils/promise.d.ts +2 -0
  190. package/library/utils/promise.d.ts.map +1 -0
  191. package/library/utils/promise.js +9 -0
  192. package/library/utils/window.d.ts +2 -0
  193. package/library/utils/window.d.ts.map +1 -0
  194. package/library/utils/window.js +38 -0
  195. package/package.json +49 -2
  196. package/react/package.json +2 -1
  197. package/esm/core/client-server.js +0 -294
  198. package/esm/core/server.js +0 -776
  199. package/library/core/client-server.d.ts +0 -97
  200. package/library/core/client-server.d.ts.map +0 -1
  201. package/library/core/client-server.js +0 -301
  202. package/library/core/client.d.ts.map +0 -1
  203. package/library/core/response.d.ts.map +0 -1
  204. package/library/core/server.d.ts.map +0 -1
  205. package/library/core/server.js +0 -781
  206. /package/esm/{core → impl}/request.js +0 -0
  207. /package/library/{core → impl}/request.d.ts +0 -0
  208. /package/library/{core → impl}/request.js +0 -0
@@ -18,9 +18,12 @@ require("core-js/modules/es.promise.finally.js");
18
18
  require("core-js/modules/es.regexp.to-string.js");
19
19
  require("core-js/modules/web.dom-collections.for-each.js");
20
20
  require("core-js/modules/web.dom-collections.iterator.js");
21
- var _utils = require("../utils");
21
+ var _protocol = require("../utils/protocol");
22
+ var _id = require("../utils/id");
23
+ var _is = require("../utils/is");
22
24
  var _constants = require("../constants");
23
25
  var _streamCore = require("./stream-core");
26
+ var _error = require("./error");
24
27
  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; }
25
28
  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; }
26
29
  /**
@@ -74,14 +77,26 @@ class IframeWritableStream extends _streamCore.IframeStreamCore {
74
77
  enqueue(item) {
75
78
  var max = this.maxPendingChunks;
76
79
  if (typeof max === 'number' && max > 0 && this.pendingQueue.length >= max) {
77
- throw new Error((0, _constants.formatMessage)(_constants.Messages.STREAM_PENDING_QUEUE_OVERFLOW, max));
80
+ var _this$context;
81
+ throw new _error.RequestIframeStreamError({
82
+ message: (0, _constants.formatMessage)(_constants.Messages.STREAM_PENDING_QUEUE_OVERFLOW, max),
83
+ code: _constants.ErrorCode.STREAM_PENDING_QUEUE_OVERFLOW,
84
+ streamId: this.streamId,
85
+ requestId: (_this$context = this.context) === null || _this$context === void 0 ? void 0 : _this$context.requestId
86
+ });
78
87
  }
79
88
  var bytes = this.estimateChunkBytes(item.data);
80
89
  var maxBytes = this.maxPendingBytes;
81
90
  if (typeof maxBytes === 'number' && maxBytes > 0) {
82
91
  var next = this.pendingBytes + bytes;
83
92
  if (!Number.isFinite(next) || next > maxBytes) {
84
- throw new Error((0, _constants.formatMessage)(_constants.Messages.STREAM_PENDING_BYTES_OVERFLOW, maxBytes));
93
+ var _this$context2;
94
+ throw new _error.RequestIframeStreamError({
95
+ message: (0, _constants.formatMessage)(_constants.Messages.STREAM_PENDING_BYTES_OVERFLOW, maxBytes),
96
+ code: _constants.ErrorCode.STREAM_PENDING_BYTES_OVERFLOW,
97
+ streamId: this.streamId,
98
+ requestId: (_this$context2 = this.context) === null || _this$context2 === void 0 ? void 0 : _this$context2.requestId
99
+ });
85
100
  }
86
101
  }
87
102
  this.pendingQueue.push(_objectSpread(_objectSpread({}, item), {}, {
@@ -149,13 +164,13 @@ class IframeWritableStream extends _streamCore.IframeStreamCore {
149
164
  this.context = context;
150
165
  }
151
166
  registerControlHandler() {
152
- var _this$context;
153
- if (!((_this$context = this.context) !== null && _this$context !== void 0 && _this$context.registerStreamHandler)) return;
167
+ var _this$context3;
168
+ if (!((_this$context3 = this.context) !== null && _this$context3 !== void 0 && _this$context3.registerStreamHandler)) return;
154
169
  this.context.registerStreamHandler(this.streamId, this.handleControlMessage.bind(this));
155
170
  }
156
171
  unregisterControlHandler() {
157
- var _this$context2;
158
- if (!((_this$context2 = this.context) !== null && _this$context2 !== void 0 && _this$context2.unregisterStreamHandler)) return;
172
+ var _this$context4;
173
+ if (!((_this$context4 = this.context) !== null && _this$context4 !== void 0 && _this$context4.unregisterStreamHandler)) return;
159
174
  this.context.unregisterStreamHandler(this.streamId);
160
175
  }
161
176
  handleControlMessage(data) {
@@ -194,11 +209,11 @@ class IframeWritableStream extends _streamCore.IframeStreamCore {
194
209
  performHeartbeat() {
195
210
  var _this = this;
196
211
  return (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee() {
197
- var _this$context3;
212
+ var _this$context5;
198
213
  return _regenerator.default.wrap(function (_context) {
199
214
  while (1) switch (_context.prev = _context.next) {
200
215
  case 0:
201
- if ((_this$context3 = _this.context) !== null && _this$context3 !== void 0 && _this$context3.heartbeat) {
216
+ if ((_this$context5 = _this.context) !== null && _this$context5 !== void 0 && _this$context5.heartbeat) {
202
217
  _context.next = 1;
203
218
  break;
204
219
  }
@@ -274,12 +289,16 @@ class IframeWritableStream extends _streamCore.IframeStreamCore {
274
289
  sendMessage(type, data) {
275
290
  var _this$context$serverI;
276
291
  if (!this.context) {
277
- throw new Error(_constants.Messages.STREAM_NOT_BOUND);
292
+ throw new _error.RequestIframeStreamError({
293
+ message: _constants.Messages.STREAM_NOT_BOUND,
294
+ code: _constants.ErrorCode.STREAM_NOT_BOUND,
295
+ streamId: this.streamId
296
+ });
278
297
  }
279
298
  var isClientStream = this.context.clientId !== undefined && this.context.serverId === undefined;
280
299
  var role = isClientStream ? _constants.MessageRole.CLIENT : _constants.MessageRole.SERVER;
281
300
  var creatorId = (_this$context$serverI = this.context.serverId) !== null && _this$context$serverI !== void 0 ? _this$context$serverI : this.context.clientId;
282
- var message = (0, _utils.createPostMessage)(type, this.context.requestId, {
301
+ var message = (0, _protocol.createPostMessage)(type, this.context.requestId, {
283
302
  secretKey: this.context.secretKey,
284
303
  body: _objectSpread({
285
304
  streamId: this.streamId
@@ -294,7 +313,12 @@ class IframeWritableStream extends _streamCore.IframeStreamCore {
294
313
  this.clearExpireTimer();
295
314
  // For most stream messages, if we cannot send, treat as a hard cancellation signal
296
315
  // so callers can stop further processing immediately.
297
- throw new Error((0, _constants.formatMessage)(_constants.Messages.STREAM_CANCELLED, 'Target window closed'));
316
+ throw new _error.RequestIframeStreamError({
317
+ message: (0, _constants.formatMessage)(_constants.Messages.STREAM_CANCELLED, _constants.Messages.TARGET_WINDOW_CLOSED),
318
+ code: _constants.ErrorCode.TARGET_WINDOW_CLOSED,
319
+ streamId: this.streamId,
320
+ requestId: this.context.requestId
321
+ });
298
322
  }
299
323
  return true;
300
324
  }
@@ -302,13 +326,13 @@ class IframeWritableStream extends _streamCore.IframeStreamCore {
302
326
  if (this.ackReceiverRegistered) return;
303
327
  if (!this.context) return;
304
328
  var ch = this.context.channel;
305
- if (typeof ch.addReceiver !== 'function' || typeof ch.removeReceiver !== 'function') return;
329
+ if (!(0, _is.isFunction)(ch.addReceiver) || !(0, _is.isFunction)(ch.removeReceiver)) return;
306
330
  this.ackReceiver = (data, context) => {
307
331
  if (!data || data.type !== _constants.MessageType.ACK) return;
308
332
  var pending = this.ackWaiters.get(data.requestId);
309
333
  if (!pending) return;
310
334
  if (context && !context.handledBy) {
311
- context.handledBy = `stream:${this.streamId}`;
335
+ context.markHandledBy(`stream:${this.streamId}`);
312
336
  }
313
337
  clearTimeout(pending.timeoutId);
314
338
  this.ackWaiters.delete(data.requestId);
@@ -325,7 +349,7 @@ class IframeWritableStream extends _streamCore.IframeStreamCore {
325
349
  this.ackWaiters.clear();
326
350
  if (this.ackReceiverRegistered && this.ackReceiver && this.context) {
327
351
  var ch = this.context.channel;
328
- if (typeof ch.removeReceiver === 'function') {
352
+ if ((0, _is.isFunction)(ch.removeReceiver)) {
329
353
  try {
330
354
  ch.removeReceiver(this.ackReceiver);
331
355
  } catch (_unused6) {
@@ -383,13 +407,22 @@ class IframeWritableStream extends _streamCore.IframeStreamCore {
383
407
  _context3.next = 1;
384
408
  break;
385
409
  }
386
- throw new Error(_constants.Messages.STREAM_NOT_BOUND);
410
+ throw new _error.RequestIframeStreamError({
411
+ message: _constants.Messages.STREAM_NOT_BOUND,
412
+ code: _constants.ErrorCode.STREAM_NOT_BOUND,
413
+ streamId: _this3.streamId
414
+ });
387
415
  case 1:
388
416
  if (!(_this3._state !== _constants.StreamState.PENDING)) {
389
417
  _context3.next = 2;
390
418
  break;
391
419
  }
392
- throw new Error(_constants.Messages.STREAM_ALREADY_STARTED);
420
+ throw new _error.RequestIframeStreamError({
421
+ message: _constants.Messages.STREAM_ALREADY_STARTED,
422
+ code: _constants.ErrorCode.STREAM_ALREADY_STARTED,
423
+ streamId: _this3.streamId,
424
+ requestId: _this3.context.requestId
425
+ });
393
426
  case 2:
394
427
  _this3.completionPromise = new Promise((resolve, reject) => {
395
428
  _this3.resolveCompletion = resolve;
@@ -462,16 +495,34 @@ class IframeWritableStream extends _streamCore.IframeStreamCore {
462
495
  write(data, doneOrOptions = false, options) {
463
496
  var _opts$ackTimeout;
464
497
  if (this.mode !== _constants.StreamMode.PUSH) {
465
- throw new Error(_constants.Messages.STREAM_WRITE_ONLY_IN_PUSH_MODE);
498
+ var _this$context6;
499
+ throw new _error.RequestIframeStreamError({
500
+ message: _constants.Messages.STREAM_WRITE_ONLY_IN_PUSH_MODE,
501
+ code: _constants.ErrorCode.STREAM_WRITE_ONLY_IN_PUSH_MODE,
502
+ streamId: this.streamId,
503
+ requestId: (_this$context6 = this.context) === null || _this$context6 === void 0 ? void 0 : _this$context6.requestId
504
+ });
466
505
  }
467
506
  if (this._state === _constants.StreamState.PENDING) {
507
+ var _this$context7;
468
508
  /**
469
509
  * In push mode, users must call start() first so STREAM_START is sent and binding is complete.
470
510
  */
471
- throw new Error(_constants.Messages.STREAM_NOT_BOUND);
511
+ throw new _error.RequestIframeStreamError({
512
+ message: _constants.Messages.STREAM_NOT_BOUND,
513
+ code: _constants.ErrorCode.STREAM_NOT_BOUND,
514
+ streamId: this.streamId,
515
+ requestId: (_this$context7 = this.context) === null || _this$context7 === void 0 ? void 0 : _this$context7.requestId
516
+ });
472
517
  }
473
518
  if (this._state !== _constants.StreamState.STREAMING) {
474
- throw new Error(_constants.Messages.STREAM_ENDED);
519
+ var _this$context8;
520
+ throw new _error.RequestIframeStreamError({
521
+ message: _constants.Messages.STREAM_ENDED,
522
+ code: _constants.ErrorCode.STREAM_ENDED,
523
+ streamId: this.streamId,
524
+ requestId: (_this$context8 = this.context) === null || _this$context8 === void 0 ? void 0 : _this$context8.requestId
525
+ });
475
526
  }
476
527
  var done = typeof doneOrOptions === 'boolean' ? doneOrOptions : false;
477
528
  var opts = typeof doneOrOptions === 'object' ? doneOrOptions : options;
@@ -491,7 +542,7 @@ class IframeWritableStream extends _streamCore.IframeStreamCore {
491
542
  return;
492
543
  }
493
544
  return new Promise(resolve => {
494
- var ackRequestId = (0, _utils.generateRequestId)();
545
+ var ackRequestId = (0, _id.generateRequestId)();
495
546
  this.enqueue({
496
547
  data,
497
548
  done,
@@ -658,13 +709,17 @@ class IframeWritableStream extends _streamCore.IframeStreamCore {
658
709
  sendData(data, done = false, options) {
659
710
  var _this$context$serverI2, _options$requestId;
660
711
  if (!this.context) {
661
- throw new Error(_constants.Messages.STREAM_NOT_BOUND);
712
+ throw new _error.RequestIframeStreamError({
713
+ message: _constants.Messages.STREAM_NOT_BOUND,
714
+ code: _constants.ErrorCode.STREAM_NOT_BOUND,
715
+ streamId: this.streamId
716
+ });
662
717
  }
663
718
  var seq = this.seq++;
664
719
  var isClientStream = this.context.clientId !== undefined && this.context.serverId === undefined;
665
720
  var role = isClientStream ? _constants.MessageRole.CLIENT : _constants.MessageRole.SERVER;
666
721
  var creatorId = (_this$context$serverI2 = this.context.serverId) !== null && _this$context$serverI2 !== void 0 ? _this$context$serverI2 : this.context.clientId;
667
- var message = (0, _utils.createPostMessage)(_constants.MessageType.STREAM_DATA, (_options$requestId = options === null || options === void 0 ? void 0 : options.requestId) !== null && _options$requestId !== void 0 ? _options$requestId : this.context.requestId, {
722
+ var message = (0, _protocol.createPostMessage)(_constants.MessageType.STREAM_DATA, (_options$requestId = options === null || options === void 0 ? void 0 : options.requestId) !== null && _options$requestId !== void 0 ? _options$requestId : this.context.requestId, {
668
723
  secretKey: this.context.secretKey,
669
724
  requireAck: options === null || options === void 0 ? void 0 : options.requireAck,
670
725
  /**
@@ -690,7 +745,12 @@ class IframeWritableStream extends _streamCore.IframeStreamCore {
690
745
  if (!ok) {
691
746
  this._state = _constants.StreamState.CANCELLED;
692
747
  this.clearExpireTimer();
693
- throw new Error((0, _constants.formatMessage)(_constants.Messages.STREAM_CANCELLED, 'Target window closed'));
748
+ throw new _error.RequestIframeStreamError({
749
+ message: (0, _constants.formatMessage)(_constants.Messages.STREAM_CANCELLED, _constants.Messages.TARGET_WINDOW_CLOSED),
750
+ code: _constants.ErrorCode.TARGET_WINDOW_CLOSED,
751
+ streamId: this.streamId,
752
+ requestId: this.context.requestId
753
+ });
694
754
  }
695
755
  this.emit(_constants.StreamEvent.SEND, {
696
756
  seq,
@@ -726,7 +786,7 @@ class IframeWritableStream extends _streamCore.IframeStreamCore {
726
786
  this.sendData(item.data, item.done);
727
787
  }
728
788
  } catch (e) {
729
- var _this$rejectCompletio;
789
+ var _this$rejectCompletio, _this$context9;
730
790
  // send failure treated as cancellation
731
791
  this._state = _constants.StreamState.CANCELLED;
732
792
  this.clearExpireTimer();
@@ -735,7 +795,13 @@ class IframeWritableStream extends _streamCore.IframeStreamCore {
735
795
  this.pendingQueue.length = 0;
736
796
  this.pendingBytes = 0;
737
797
  this.cleanupAckWaiters();
738
- (_this$rejectCompletio = this.rejectCompletion) === null || _this$rejectCompletio === void 0 || _this$rejectCompletio.call(this, e instanceof Error ? e : new Error(String(e)));
798
+ (_this$rejectCompletio = this.rejectCompletion) === null || _this$rejectCompletio === void 0 || _this$rejectCompletio.call(this, e instanceof Error ? e : new _error.RequestIframeStreamError({
799
+ message: String(e),
800
+ code: _constants.ErrorCode.STREAM_ERROR,
801
+ streamId: this.streamId,
802
+ requestId: (_this$context9 = this.context) === null || _this$context9 === void 0 ? void 0 : _this$context9.requestId,
803
+ cause: e
804
+ }));
739
805
  throw e;
740
806
  }
741
807
  if (item.done) {
@@ -778,7 +844,7 @@ class IframeWritableStream extends _streamCore.IframeStreamCore {
778
844
  * Send error
779
845
  */
780
846
  error(message) {
781
- var _this$resolveCompleti2;
847
+ var _this$context0, _this$resolveCompleti2;
782
848
  if (this._state !== _constants.StreamState.STREAMING) return;
783
849
  this._state = _constants.StreamState.ERROR;
784
850
  this.clearExpireTimer();
@@ -790,7 +856,12 @@ class IframeWritableStream extends _streamCore.IframeStreamCore {
790
856
  error: message
791
857
  });
792
858
  this.emit(_constants.StreamEvent.ERROR, {
793
- error: new Error(message)
859
+ error: new _error.RequestIframeStreamError({
860
+ message,
861
+ code: _constants.ErrorCode.STREAM_ERROR,
862
+ streamId: this.streamId,
863
+ requestId: (_this$context0 = this.context) === null || _this$context0 === void 0 ? void 0 : _this$context0.requestId
864
+ })
794
865
  });
795
866
  this.emit(_constants.StreamEvent.STATE, {
796
867
  state: this._state
@@ -1,4 +1,5 @@
1
1
  import { MessageRoleValue } from '../constants';
2
+ import type { LogLevelValue } from '../constants';
2
3
  /**
3
4
  * Request default configuration
4
5
  * Can be set when creating requestIframeClient, and can be overridden on each request
@@ -146,7 +147,7 @@ export interface PostMessageData {
146
147
  /**
147
148
  * Protocol version identifier
148
149
  * - Used to identify request-iframe framework messages
149
- * - The value represents the protocol version number, current version is 1
150
+ * - The value represents the protocol version number
150
151
  * - Future version upgrades can use this field for compatibility handling
151
152
  */
152
153
  __requestIframe__: number;
@@ -159,7 +160,7 @@ export interface PostMessageData {
159
160
  /** Message isolation key (used to isolate different businesses/instances) */
160
161
  secretKey?: string;
161
162
  /** Message type */
162
- type: 'request' | 'ack' | 'async' | 'response' | 'error' | 'ping' | 'pong' | 'stream_start' | 'stream_data' | 'stream_end' | 'stream_error' | 'stream_cancel' | 'stream_pull' | 'stream_ack';
163
+ type: 'request' | 'ack' | 'async' | 'response' | 'error' | 'ping' | 'pong' | 'stream_start' | 'stream_data' | 'stream_end' | 'stream_error' | 'stream_cancel' | 'stream_pull';
163
164
  /** Request ID */
164
165
  requestId: string;
165
166
  /** Request path */
@@ -425,21 +426,6 @@ export interface RequestIframeClient {
425
426
  /** Destroy client (close and release resources) */
426
427
  destroy(): void;
427
428
  }
428
- /**
429
- * Client server interface (used on client side, handles responses only)
430
- */
431
- export interface RequestIframeClientServer {
432
- /** Destroy server (remove message listener) */
433
- destroy(): void;
434
- /** Internal method: listen to low-level events */
435
- _on(event: ServerEventName, fn: (payload: any) => void): void;
436
- /** Internal method: unsubscribe from low-level events */
437
- _off(event: ServerEventName, fn?: (payload: any) => void): void;
438
- /** Internal method: for client to register pending Promise for response */
439
- _registerPendingRequest(requestId: string, resolve: (data: PostMessageData) => void, reject: (error: Error) => void, origin?: string, originValidator?: OriginValidator): void;
440
- /** Internal method: for client to cancel waiting */
441
- _unregisterPendingRequest(requestId: string): void;
442
- }
443
429
  /**
444
430
  * Server interface (used on server side, handles requests and responses)
445
431
  */
@@ -470,6 +456,16 @@ export interface RequestIframeServer {
470
456
  /** Destroy server (close and release resources) */
471
457
  destroy(): void;
472
458
  }
459
+ /**
460
+ * Log level (used by built-in logger and trace option).
461
+ */
462
+ export type RequestIframeLogLevel = LogLevelValue;
463
+ /**
464
+ * Trace option:
465
+ * - boolean: enable/disable trace (true => 'trace')
466
+ * - level: explicitly set a log level
467
+ */
468
+ export type RequestIframeTraceOption = boolean | RequestIframeLogLevel;
473
469
  /**
474
470
  * requestIframeClient entry options
475
471
  */
@@ -499,7 +495,7 @@ export interface RequestIframeClientOptions extends RequestDefaults {
499
495
  * Whether to enable trace mode.
500
496
  * If true, logs will be printed at various points such as before and after requests.
501
497
  */
502
- trace?: boolean;
498
+ trace?: RequestIframeTraceOption;
503
499
  /**
504
500
  * Initial request headers.
505
501
  * Values can be static strings/arrays or functions that dynamically generate headers based on request config.
@@ -532,7 +528,7 @@ export interface RequestIframeServerOptions extends Pick<RequestDefaults, 'ackTi
532
528
  * Whether to enable trace mode.
533
529
  * If true, logs will be printed at various points such as before and after requests, server receive/respond, etc.
534
530
  */
535
- trace?: boolean;
531
+ trace?: RequestIframeTraceOption;
536
532
  /**
537
533
  * Allowed origins for incoming messages (request/ping/received/stream, etc.).
538
534
  * This is a best-practice security control for production usage.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ /** Convert Blob to base64 string */
2
+ export declare function blobToBase64(blob: Blob): Promise<string>;
3
+ //# sourceMappingURL=blob.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blob.d.ts","sourceRoot":"","sources":["../../src/utils/blob.ts"],"names":[],"mappings":"AAAA,oCAAoC;AACpC,wBAAgB,YAAY,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAWxD"}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.blobToBase64 = blobToBase64;
7
+ require("core-js/modules/es.array.includes.js");
8
+ require("core-js/modules/es.promise.js");
9
+ require("core-js/modules/es.string.includes.js");
10
+ /** Convert Blob to base64 string */
11
+ function blobToBase64(blob) {
12
+ return new Promise((resolve, reject) => {
13
+ var reader = new FileReader();
14
+ reader.onloadend = () => {
15
+ var result = reader.result;
16
+ var base64 = result.includes(',') ? result.split(',')[1] : result;
17
+ resolve(base64);
18
+ };
19
+ reader.onerror = reject;
20
+ reader.readAsDataURL(blob);
21
+ });
22
+ }
@@ -1,22 +1,4 @@
1
- import { MessageChannel, ChannelType } from '../message';
2
1
  import { RequestIframeServer } from '../types';
3
- /**
4
- * Get or create MessageChannel instance
5
- * - Within the same window, only one channel is created per type + secretKey combination
6
- * - Uses reference counting to manage lifecycle
7
- * @param secretKey secret key for message isolation
8
- * @param type channel type (defaults to postMessage)
9
- */
10
- export declare function getOrCreateMessageChannel(secretKey?: string, type?: ChannelType): MessageChannel;
11
- /**
12
- * Release MessageChannel reference
13
- * - When reference count reaches 0, destroy channel and remove from cache
14
- */
15
- export declare function releaseMessageChannel(channel: MessageChannel): void;
16
- /**
17
- * Clear all MessageChannel cache (mainly for testing)
18
- */
19
- export declare function clearMessageChannelCache(): void;
20
2
  /**
21
3
  * Get cached server instance or null
22
4
  * @param secretKey secret key for message isolation
@@ -37,7 +19,15 @@ export declare function cacheServer(server: RequestIframeServer, secretKey?: str
37
19
  */
38
20
  export declare function removeCachedServer(secretKey?: string, id?: string): void;
39
21
  /**
40
- * Clear all server cache (mainly for testing)
22
+ * Clear server cache (mainly for testing).
23
+ *
24
+ * - No args: clear all cached servers
25
+ * - With secretKey: only clear servers under that secretKey
26
+ * - With { secretKey, id }: only clear the specified server instance
27
+ * - With { id }: clear the specified id across all secretKeys
41
28
  */
42
- export declare function clearServerCache(): void;
29
+ export declare function clearServerCache(arg?: string | {
30
+ secretKey?: string;
31
+ id?: string;
32
+ }): void;
43
33
  //# sourceMappingURL=cache.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../src/utils/cache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAiC/C;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CACvC,SAAS,CAAC,EAAE,MAAM,EAClB,IAAI,GAAE,WAAsC,GAC3C,cAAc,CAYhB;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI,CAYnE;AAED;;GAEG;AACH,wBAAgB,wBAAwB,IAAI,IAAI,CAM/C;AAoBD;;;;GAIG;AACH,wBAAgB,eAAe,CAC7B,SAAS,CAAC,EAAE,MAAM,EAClB,EAAE,CAAC,EAAE,MAAM,GACV,mBAAmB,GAAG,IAAI,CAM5B;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CACzB,MAAM,EAAE,mBAAmB,EAC3B,SAAS,CAAC,EAAE,MAAM,EAClB,EAAE,CAAC,EAAE,MAAM,GACV,IAAI,CAMN;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAMxE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,IAAI,CAMvC"}
1
+ {"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../src/utils/cache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AA0B/C;;;;GAIG;AACH,wBAAgB,eAAe,CAC7B,SAAS,CAAC,EAAE,MAAM,EAClB,EAAE,CAAC,EAAE,MAAM,GACV,mBAAmB,GAAG,IAAI,CAM5B;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CACzB,MAAM,EAAE,mBAAmB,EAC3B,SAAS,CAAC,EAAE,MAAM,EAClB,EAAE,CAAC,EAAE,MAAM,GACV,IAAI,CAMN;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAMxE;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,EAAE,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAmBzF"}
@@ -4,94 +4,21 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.cacheServer = cacheServer;
7
- exports.clearMessageChannelCache = clearMessageChannelCache;
8
7
  exports.clearServerCache = clearServerCache;
9
8
  exports.getCachedServer = getCachedServer;
10
- exports.getOrCreateMessageChannel = getOrCreateMessageChannel;
11
- exports.releaseMessageChannel = releaseMessageChannel;
12
9
  exports.removeCachedServer = removeCachedServer;
13
10
  require("core-js/modules/es.array.iterator.js");
14
11
  require("core-js/modules/es.map.js");
12
+ require("core-js/modules/es.string.ends-with.js");
13
+ require("core-js/modules/es.string.starts-with.js");
15
14
  require("core-js/modules/web.dom-collections.for-each.js");
16
15
  require("core-js/modules/web.dom-collections.iterator.js");
17
- var _message = require("../message");
18
- /**
19
- * Global cache Symbol (used to store MessageChannel instance cache on window)
20
- * Using Symbol.for() ensures multiple library copies share the same cache, avoiding multiple instance creation
21
- */
22
- var MESSAGE_CHANNEL_CACHE_SYMBOL = Symbol.for('__requestIframeMessageChannelCache__');
23
-
24
16
  /**
25
17
  * Global cache Symbol for server instances
26
18
  * Using Symbol.for() ensures multiple library copies share the same cache
27
19
  */
28
20
  var SERVER_CACHE_SYMBOL = Symbol.for('__requestIframeServerCache__');
29
21
 
30
- /**
31
- * Get the MessageChannel cache from window
32
- */
33
- function getChannelCacheForWindow(win) {
34
- if (!(MESSAGE_CHANNEL_CACHE_SYMBOL in win)) {
35
- win[MESSAGE_CHANNEL_CACHE_SYMBOL] = new Map();
36
- }
37
- return win[MESSAGE_CHANNEL_CACHE_SYMBOL];
38
- }
39
-
40
- /**
41
- * Generate cache key
42
- * Cache key format: "type:secretKey" or "type:" when no secretKey
43
- * Different channel types use separate cache entries
44
- */
45
- function getCacheKey(type, secretKey) {
46
- return `${type}:${secretKey !== null && secretKey !== void 0 ? secretKey : ''}`;
47
- }
48
-
49
- /**
50
- * Get or create MessageChannel instance
51
- * - Within the same window, only one channel is created per type + secretKey combination
52
- * - Uses reference counting to manage lifecycle
53
- * @param secretKey secret key for message isolation
54
- * @param type channel type (defaults to postMessage)
55
- */
56
- function getOrCreateMessageChannel(secretKey, type = _message.ChannelType.POST_MESSAGE) {
57
- var cache = getChannelCacheForWindow(window);
58
- var key = getCacheKey(type, secretKey);
59
- var channel = cache.get(key);
60
- if (!channel) {
61
- channel = new _message.MessageChannel(secretKey, type);
62
- cache.set(key, channel);
63
- }
64
- channel.addRef();
65
- return channel;
66
- }
67
-
68
- /**
69
- * Release MessageChannel reference
70
- * - When reference count reaches 0, destroy channel and remove from cache
71
- */
72
- function releaseMessageChannel(channel) {
73
- var refCount = channel.release();
74
- if (refCount <= 0) {
75
- var cache = getChannelCacheForWindow(window);
76
- var key = getCacheKey(channel.type, channel.secretKey);
77
- if (cache.get(key) === channel) {
78
- cache.delete(key);
79
- channel.destroy();
80
- }
81
- }
82
- }
83
-
84
- /**
85
- * Clear all MessageChannel cache (mainly for testing)
86
- */
87
- function clearMessageChannelCache() {
88
- var cache = getChannelCacheForWindow(window);
89
- cache.forEach(channel => {
90
- channel.destroy();
91
- });
92
- cache.clear();
93
- }
94
-
95
22
  /**
96
23
  * Get the server cache from window
97
24
  */
@@ -148,12 +75,31 @@ function removeCachedServer(secretKey, id) {
148
75
  }
149
76
 
150
77
  /**
151
- * Clear all server cache (mainly for testing)
78
+ * Clear server cache (mainly for testing).
79
+ *
80
+ * - No args: clear all cached servers
81
+ * - With secretKey: only clear servers under that secretKey
82
+ * - With { secretKey, id }: only clear the specified server instance
83
+ * - With { id }: clear the specified id across all secretKeys
152
84
  */
153
- function clearServerCache() {
85
+ function clearServerCache(arg) {
154
86
  var cache = getServerCacheForWindow(window);
155
- cache.forEach(server => {
87
+ if (!arg) {
88
+ cache.forEach(server => {
89
+ server.destroy();
90
+ });
91
+ cache.clear();
92
+ return;
93
+ }
94
+ var params = typeof arg === 'string' ? {
95
+ secretKey: arg
96
+ } : arg;
97
+ var prefix = typeof params.secretKey === 'string' ? `${params.secretKey}:` : undefined;
98
+ var suffix = typeof params.id === 'string' ? `:${params.id}` : undefined;
99
+ cache.forEach((server, key) => {
100
+ if (prefix && !key.startsWith(prefix)) return;
101
+ if (suffix && !key.endsWith(suffix)) return;
102
+ cache.delete(key);
156
103
  server.destroy();
157
104
  });
158
- cache.clear();
159
105
  }
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Detect Content-Type based on data type
3
+ * @param data The data to detect Content-Type for
4
+ * @param options Options for detection
5
+ * @param options.checkStream Whether to check for IframeWritableStream (default: false)
6
+ * @param options.isIframeWritableStream Optional function to check if data is a stream (required if checkStream is true)
7
+ * @returns The detected Content-Type, or null if Content-Type should not be auto-set
8
+ */
9
+ export declare function detectContentType(data: any, options?: {
10
+ checkStream?: boolean;
11
+ isIframeWritableStream?: (value: any) => boolean;
12
+ }): string | null;
13
+ //# sourceMappingURL=content-type.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content-type.d.ts","sourceRoot":"","sources":["../../src/utils/content-type.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,GAAG,EACT,OAAO,CAAC,EAAE;IAAE,WAAW,CAAC,EAAE,OAAO,CAAC;IAAC,sBAAsB,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,OAAO,CAAA;CAAE,GACpF,MAAM,GAAG,IAAI,CAoEf"}