request-iframe 0.2.0 → 0.2.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.
Files changed (93) hide show
  1. package/QUICKSTART.CN.md +33 -11
  2. package/QUICKSTART.md +33 -11
  3. package/README.CN.md +157 -44
  4. package/README.md +159 -41
  5. package/cdn/request-iframe.umd.js +4814 -4026
  6. package/cdn/request-iframe.umd.js.map +1 -1
  7. package/cdn/request-iframe.umd.min.js +2 -2
  8. package/cdn/request-iframe.umd.min.js.map +1 -1
  9. package/esm/api/client.js +45 -22
  10. package/esm/api/endpoint.js +30 -13
  11. package/esm/api/server.js +22 -13
  12. package/esm/constants/warn-once.js +7 -1
  13. package/esm/endpoint/index.js +1 -2
  14. package/esm/endpoint/infra/inbox.js +5 -4
  15. package/esm/endpoint/infra/outbox.js +8 -8
  16. package/esm/endpoint/stream/file-auto-resolve.js +9 -8
  17. package/esm/impl/client.js +3 -2
  18. package/esm/impl/response.js +4 -2
  19. package/esm/impl/server.js +8 -6
  20. package/esm/message/channel.js +15 -3
  21. package/esm/message/dispatcher.js +27 -0
  22. package/esm/stream/file-stream.js +311 -72
  23. package/esm/stream/writable-stream.js +21 -4
  24. package/esm/utils/blob.js +17 -0
  25. package/esm/utils/debug-lazy.js +76 -0
  26. package/esm/utils/logger.js +33 -1
  27. package/esm/utils/strict-mode.js +85 -0
  28. package/esm/utils/warn-once.js +30 -0
  29. package/esm/utils/warnings.js +47 -0
  30. package/library/api/client.d.ts.map +1 -1
  31. package/library/api/client.js +45 -22
  32. package/library/api/endpoint.d.ts.map +1 -1
  33. package/library/api/endpoint.js +30 -13
  34. package/library/api/server.d.ts.map +1 -1
  35. package/library/api/server.js +22 -13
  36. package/library/constants/warn-once.d.ts +6 -0
  37. package/library/constants/warn-once.d.ts.map +1 -1
  38. package/library/constants/warn-once.js +7 -1
  39. package/library/endpoint/index.d.ts +0 -1
  40. package/library/endpoint/index.d.ts.map +1 -1
  41. package/library/endpoint/index.js +1 -8
  42. package/library/endpoint/infra/inbox.d.ts.map +1 -1
  43. package/library/endpoint/infra/inbox.js +4 -3
  44. package/library/endpoint/infra/outbox.d.ts +2 -0
  45. package/library/endpoint/infra/outbox.d.ts.map +1 -1
  46. package/library/endpoint/infra/outbox.js +7 -7
  47. package/library/endpoint/stream/file-auto-resolve.d.ts +1 -1
  48. package/library/endpoint/stream/file-auto-resolve.d.ts.map +1 -1
  49. package/library/endpoint/stream/file-auto-resolve.js +8 -8
  50. package/library/impl/client.d.ts +2 -0
  51. package/library/impl/client.d.ts.map +1 -1
  52. package/library/impl/client.js +3 -2
  53. package/library/impl/response.d.ts.map +1 -1
  54. package/library/impl/response.js +4 -2
  55. package/library/impl/server.d.ts.map +1 -1
  56. package/library/impl/server.js +7 -5
  57. package/library/message/channel.d.ts +2 -2
  58. package/library/message/channel.d.ts.map +1 -1
  59. package/library/message/channel.js +15 -3
  60. package/library/message/dispatcher.d.ts.map +1 -1
  61. package/library/message/dispatcher.js +27 -0
  62. package/library/stream/file-stream.d.ts +70 -5
  63. package/library/stream/file-stream.d.ts.map +1 -1
  64. package/library/stream/file-stream.js +310 -70
  65. package/library/stream/types.d.ts +2 -0
  66. package/library/stream/types.d.ts.map +1 -1
  67. package/library/stream/writable-stream.d.ts.map +1 -1
  68. package/library/stream/writable-stream.js +21 -4
  69. package/library/types/index.d.ts +38 -0
  70. package/library/types/index.d.ts.map +1 -1
  71. package/library/utils/blob.d.ts +7 -0
  72. package/library/utils/blob.d.ts.map +1 -1
  73. package/library/utils/blob.js +18 -0
  74. package/library/utils/debug-lazy.d.ts +26 -0
  75. package/library/utils/debug-lazy.d.ts.map +1 -0
  76. package/library/utils/debug-lazy.js +85 -0
  77. package/library/utils/logger.d.ts +20 -0
  78. package/library/utils/logger.d.ts.map +1 -1
  79. package/library/utils/logger.js +34 -1
  80. package/library/utils/strict-mode.d.ts +37 -0
  81. package/library/utils/strict-mode.d.ts.map +1 -0
  82. package/library/utils/strict-mode.js +94 -0
  83. package/library/utils/warn-once.d.ts +9 -0
  84. package/library/utils/warn-once.d.ts.map +1 -0
  85. package/library/utils/warn-once.js +36 -0
  86. package/library/utils/warnings.d.ts +48 -0
  87. package/library/utils/warnings.d.ts.map +1 -0
  88. package/library/utils/warnings.js +54 -0
  89. package/package.json +1 -1
  90. package/esm/endpoint/stream/file-writable.js +0 -105
  91. package/library/endpoint/stream/file-writable.d.ts +0 -33
  92. package/library/endpoint/stream/file-writable.d.ts.map +0 -1
  93. package/library/endpoint/stream/file-writable.js +0 -115
@@ -14,7 +14,6 @@ require("core-js/modules/es.promise.finally.js");
14
14
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
15
15
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
16
16
  var _stream = require("../../stream");
17
- var _fileWritable = require("../stream/file-writable");
18
17
  var _hooks = require("../../utils/hooks");
19
18
  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; }
20
19
  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; }
@@ -336,31 +335,32 @@ class RequestIframeEndpointOutbox {
336
335
  case 0:
337
336
  return _context9.abrupt("return", _this5.runWithHooks(params, /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee8() {
338
337
  var _params$onFileInfo;
339
- var created;
338
+ var stream;
340
339
  return _regenerator.default.wrap(function (_context8) {
341
340
  while (1) switch (_context8.prev = _context8.next) {
342
341
  case 0:
343
342
  _context8.next = 1;
344
- return (0, _fileWritable.createIframeFileWritableStreamFromContent)({
343
+ return _stream.IframeFileWritableStream.from({
345
344
  content: params.content,
346
345
  fileName: params.fileName,
347
346
  mimeType: params.mimeType,
348
347
  chunked: params.chunked,
348
+ chunkSize: params.chunkSize,
349
349
  autoResolve: params.autoResolve,
350
350
  defaultFileName: params.defaultFileName,
351
351
  defaultMimeType: params.defaultMimeType
352
352
  });
353
353
  case 1:
354
- created = _context8.sent;
354
+ stream = _context8.sent;
355
355
  _context8.next = 2;
356
356
  return (_params$onFileInfo = params.onFileInfo) === null || _params$onFileInfo === void 0 ? void 0 : _params$onFileInfo.call(params, {
357
- fileName: created.fileName,
358
- mimeType: created.mimeType
357
+ fileName: stream.filename,
358
+ mimeType: stream.mimeType
359
359
  });
360
360
  case 2:
361
361
  _context8.next = 3;
362
362
  return _this5.runStreamSend(_objectSpread(_objectSpread({}, params.stream), {}, {
363
- stream: created.stream
363
+ stream: stream
364
364
  }));
365
365
  case 3:
366
366
  return _context8.abrupt("return", _context8.sent);
@@ -1,5 +1,5 @@
1
1
  import type { StreamStartInfo } from './factory';
2
- import type { IframeFileReadableStream } from '../../stream';
2
+ import { IframeFileReadableStream } from '../../stream';
3
3
  /**
4
4
  * Endpoint Stream integration layer (`src/endpoint/stream`)
5
5
  *
@@ -1 +1 @@
1
- {"version":3,"file":"file-auto-resolve.d.ts","sourceRoot":"","sources":["../../../src/endpoint/stream/file-auto-resolve.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAEjD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AAE7D;;;;;;;;GAQG;AACH,wBAAgB,mCAAmC,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,MAAM,GAAG,SAAS,CAMjG;AAED;;;;;;;GAOG;AACH,wBAAgB,mCAAmC,CAAC,MAAM,EAAE;IAC1D,UAAU,EAAE,wBAAwB,CAAC;IACrC,IAAI,CAAC,EAAE,eAAe,GAAG,IAAI,CAAC;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC;CAC7C,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,CAIvB"}
1
+ {"version":3,"file":"file-auto-resolve.d.ts","sourceRoot":"","sources":["../../../src/endpoint/stream/file-auto-resolve.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAEjD,OAAO,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AAExD;;;;;;;;GAQG;AACH,wBAAgB,mCAAmC,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,MAAM,GAAG,SAAS,CAEjG;AAED;;;;;;;GAOG;AACH,wBAAgB,mCAAmC,CAAC,MAAM,EAAE;IAC1D,UAAU,EAAE,wBAAwB,CAAC;IACrC,IAAI,CAAC,EAAE,eAAe,GAAG,IAAI,CAAC;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC;CAC7C,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,CASvB"}
@@ -5,9 +5,8 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.autoResolveIframeFileReadableStream = autoResolveIframeFileReadableStream;
7
7
  exports.parseFilenameFromContentDisposition = parseFilenameFromContentDisposition;
8
- require("core-js/modules/es.regexp.exec.js");
9
- require("core-js/modules/es.string.match.js");
10
8
  var _constants = require("../../constants");
9
+ var _stream = require("../../stream");
11
10
  /**
12
11
  * Endpoint Stream integration layer (`src/endpoint/stream`)
13
12
  *
@@ -18,11 +17,7 @@ var _constants = require("../../constants");
18
17
  * Parse filename from Content-Disposition header.
19
18
  */
20
19
  function parseFilenameFromContentDisposition(value) {
21
- if (!value) return undefined;
22
- var disposition = typeof value === 'string' ? value : value[0];
23
- if (!disposition) return undefined;
24
- var match = disposition.match(/filename="?([^"]+)"?/i);
25
- return match ? match[1] : undefined;
20
+ return _stream.IframeFileReadableStream.parseFilenameFromContentDisposition(value);
26
21
  }
27
22
 
28
23
  /**
@@ -37,5 +32,10 @@ function autoResolveIframeFileReadableStream(params) {
37
32
  var _params$headers, _params$info;
38
33
  var headerFilename = parseFilenameFromContentDisposition((_params$headers = params.headers) === null || _params$headers === void 0 ? void 0 : _params$headers[_constants.HttpHeader.CONTENT_DISPOSITION]);
39
34
  var fileName = headerFilename || ((_params$info = params.info) === null || _params$info === void 0 || (_params$info = _params$info.metadata) === null || _params$info === void 0 ? void 0 : _params$info.filename) || params.fileStream.filename;
40
- return fileName ? params.fileStream.readAsFile(fileName) : params.fileStream.readAsBlob();
35
+ var anyStream = params.fileStream;
36
+ if (typeof anyStream.readAsFileOrBlob === 'function') {
37
+ return anyStream.readAsFileOrBlob(fileName);
38
+ }
39
+ // Backward-compatible fallback for mocks/older stream objects
40
+ return fileName ? anyStream.readAsFile(fileName) : anyStream.readAsBlob();
41
41
  }
@@ -98,6 +98,8 @@ export declare class RequestIframeClientImpl implements RequestIframeClient, Str
98
98
  mimeType?: string;
99
99
  fileName?: string;
100
100
  autoResolve?: boolean;
101
+ chunked?: boolean;
102
+ chunkSize?: number;
101
103
  }): Promise<Response<T> | T>;
102
104
  /**
103
105
  * Send stream as request body (server receives readable stream).
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/impl/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/impl/client.ts"],"names":[],"mappings":"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"}
@@ -300,7 +300,7 @@ class RequestIframeClientImpl {
300
300
  sendFile(path, content, options) {
301
301
  var _this2 = this;
302
302
  return (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee2() {
303
- var _processedConfig$requ2, _processedConfig$targ, _options$autoResolve;
303
+ var _processedConfig$requ2, _processedConfig$targ, _options$chunked, _options$autoResolve;
304
304
  var config, processedConfig, requestId, targetId, processedPath, mergedHeaders, pathMatchedCookies, mergedCookies, streamConfig;
305
305
  return _regenerator.default.wrap(function (_context2) {
306
306
  while (1) switch (_context2.prev = _context2.next) {
@@ -326,7 +326,8 @@ class RequestIframeClientImpl {
326
326
  content,
327
327
  fileName: options === null || options === void 0 ? void 0 : options.fileName,
328
328
  mimeType: options === null || options === void 0 ? void 0 : options.mimeType,
329
- chunked: false,
329
+ chunked: (_options$chunked = options === null || options === void 0 ? void 0 : options.chunked) !== null && _options$chunked !== void 0 ? _options$chunked : false,
330
+ chunkSize: options === null || options === void 0 ? void 0 : options.chunkSize,
330
331
  autoResolve: (_options$autoResolve = options === null || options === void 0 ? void 0 : options.autoResolve) !== null && _options$autoResolve !== void 0 ? _options$autoResolve : true,
331
332
  defaultFileName: typeof File !== 'undefined' && content instanceof File ? content.name : 'file',
332
333
  defaultMimeType: 'application/octet-stream',
@@ -1 +1 @@
1
- {"version":3,"file":"response.d.ts","sourceRoot":"","sources":["../../src/impl/response.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"response.d.ts","sourceRoot":"","sources":["../../src/impl/response.ts"],"names":[],"mappings":"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"}
@@ -256,6 +256,7 @@ class ServerResponseImpl {
256
256
  sendFile(content, options) {
257
257
  var _this2 = this;
258
258
  return (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee3() {
259
+ var _options$chunked, _options$autoResolve;
259
260
  return _regenerator.default.wrap(function (_context3) {
260
261
  while (1) switch (_context3.prev = _context3.next) {
261
262
  case 0:
@@ -270,8 +271,9 @@ class ServerResponseImpl {
270
271
  content,
271
272
  fileName: options === null || options === void 0 ? void 0 : options.fileName,
272
273
  mimeType: options === null || options === void 0 ? void 0 : options.mimeType,
273
- chunked: false,
274
- autoResolve: true,
274
+ chunked: (_options$chunked = options === null || options === void 0 ? void 0 : options.chunked) !== null && _options$chunked !== void 0 ? _options$chunked : false,
275
+ chunkSize: options === null || options === void 0 ? void 0 : options.chunkSize,
276
+ autoResolve: (_options$autoResolve = options === null || options === void 0 ? void 0 : options.autoResolve) !== null && _options$autoResolve !== void 0 ? _options$autoResolve : true,
275
277
  defaultFileName: 'file',
276
278
  defaultMimeType: 'application/octet-stream',
277
279
  onFileInfo: ({
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/impl/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/impl/server.ts"],"names":[],"mappings":"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"}
@@ -29,7 +29,7 @@ var _endpoint = require("../endpoint");
29
29
  var _constants = require("../constants");
30
30
  var _promise = require("../utils/promise");
31
31
  var _is = require("../utils/is");
32
- var _logger = require("../utils/logger");
32
+ var _warnings = require("../utils/warnings");
33
33
  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; } } }; }
34
34
  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; } }
35
35
  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; }
@@ -67,8 +67,9 @@ class RequestIframeServerImpl {
67
67
  handledBy: this.id,
68
68
  isOriginAllowed: (d, ctx) => this.isOriginAllowed(d, ctx),
69
69
  warnMissingPendingWhenClosed: d => {
70
- this.hub.warnOnce((0, _constants.buildWarnOnceKey)(_constants.WarnOnceKey.SERVER_MISSING_PENDING_WHEN_CLOSED, d.type, d.requestId), () => {
71
- (0, _logger.requestIframeLog)('warn', (0, _constants.formatMessage)(_constants.Messages.SERVER_IGNORED_MESSAGE_WHEN_CLOSED, d.type, d.requestId));
70
+ (0, _warnings.warnServerIgnoredMessageWhenClosedOnce)(this.hub, {
71
+ type: d.type,
72
+ requestId: d.requestId
72
73
  });
73
74
  }
74
75
  },
@@ -83,8 +84,9 @@ class RequestIframeServerImpl {
83
84
  this.ackTimeout = (_options$ackTimeout = options === null || options === void 0 ? void 0 : options.ackTimeout) !== null && _options$ackTimeout !== void 0 ? _options$ackTimeout : _constants.DefaultTimeout.ACK;
84
85
  this.maxConcurrentRequestsPerClient = (_options$maxConcurren = options === null || options === void 0 ? void 0 : options.maxConcurrentRequestsPerClient) !== null && _options$maxConcurren !== void 0 ? _options$maxConcurren : Number.POSITIVE_INFINITY;
85
86
  var warnMissingPendingWhenClosed = d => {
86
- this.hub.warnOnce((0, _constants.buildWarnOnceKey)(_constants.WarnOnceKey.SERVER_MISSING_PENDING_WHEN_CLOSED, d.type, d.requestId), () => {
87
- (0, _logger.requestIframeLog)('warn', (0, _constants.formatMessage)(_constants.Messages.SERVER_IGNORED_MESSAGE_WHEN_CLOSED, d.type, d.requestId));
87
+ (0, _warnings.warnServerIgnoredMessageWhenClosedOnce)(this.hub, {
88
+ type: d.type,
89
+ requestId: d.requestId
88
90
  });
89
91
  };
90
92
  var handlerOptions = this.hub.createHandlerOptions(this.handleVersionError.bind(this));
@@ -140,7 +140,7 @@ export declare class MessageChannel {
140
140
  * @param message message data (already formatted as PostMessageData)
141
141
  * @param targetOrigin target origin (defaults to '*')
142
142
  */
143
- send(target: Window, message: PostMessageData, targetOrigin?: string): boolean;
143
+ send(target: Window, message: PostMessageData, targetOrigin?: string, transfer?: Transferable[]): boolean;
144
144
  /**
145
145
  * Send typed message to target window (creates PostMessageData automatically)
146
146
  * @param target target window
@@ -149,7 +149,7 @@ export declare class MessageChannel {
149
149
  * @param requestId request ID
150
150
  * @param data additional data
151
151
  */
152
- sendMessage(target: Window, targetOrigin: string, type: PostMessageData['type'], requestId: string, data?: Partial<Omit<PostMessageData, '__requestIframe__' | 'type' | 'requestId' | 'timestamp' | 'role'>>): boolean;
152
+ sendMessage(target: Window, targetOrigin: string, type: PostMessageData['type'], requestId: string, data?: Partial<Omit<PostMessageData, '__requestIframe__' | 'type' | 'requestId' | 'timestamp' | 'role'>>, transfer?: Transferable[]): boolean;
153
153
  /**
154
154
  * Add path prefix (for secretKey isolation)
155
155
  */
@@ -1 +1 @@
1
- {"version":3,"file":"channel.d.ts","sourceRoot":"","sources":["../../src/message/channel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"channel.d.ts","sourceRoot":"","sources":["../../src/message/channel.ts"],"names":[],"mappings":"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"}
@@ -234,10 +234,22 @@ class MessageChannel {
234
234
  * @param message message data (already formatted as PostMessageData)
235
235
  * @param targetOrigin target origin (defaults to '*')
236
236
  */
237
- send(target, message, targetOrigin = _constants.OriginConstant.ANY) {
237
+ send(target, message, targetOrigin = _constants.OriginConstant.ANY, transfer) {
238
238
  if (!(0, _window.isWindowAvailable)(target)) {
239
239
  return false;
240
240
  }
241
+ /**
242
+ * Prefer transferable objects when provided.
243
+ * Use a try/catch fallback for environments that don't support the 3rd arg signature.
244
+ */
245
+ if (transfer && transfer.length) {
246
+ try {
247
+ target.postMessage(message, targetOrigin, transfer);
248
+ return true;
249
+ } catch (_unused) {
250
+ /** fall through to 2-arg postMessage */
251
+ }
252
+ }
241
253
  target.postMessage(message, targetOrigin);
242
254
  return true;
243
255
  }
@@ -250,11 +262,11 @@ class MessageChannel {
250
262
  * @param requestId request ID
251
263
  * @param data additional data
252
264
  */
253
- sendMessage(target, targetOrigin, type, requestId, data) {
265
+ sendMessage(target, targetOrigin, type, requestId, data, transfer) {
254
266
  var message = (0, _protocol.createPostMessage)(type, requestId, _objectSpread(_objectSpread({}, data), {}, {
255
267
  secretKey: this.secretKey
256
268
  }));
257
- return this.send(target, message, targetOrigin);
269
+ return this.send(target, message, targetOrigin, transfer);
258
270
  }
259
271
 
260
272
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"dispatcher.d.ts","sourceRoot":"","sources":["../../src/message/dispatcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dispatcher.d.ts","sourceRoot":"","sources":["../../src/message/dispatcher.ts"],"names":[],"mappings":"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"}
@@ -26,6 +26,7 @@ var _is = require("../utils/is");
26
26
  var _ack = require("../utils/ack");
27
27
  var _hooks = require("../utils/hooks");
28
28
  var _logger = require("../utils/logger");
29
+ var _channel = require("./channel");
29
30
  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; }
30
31
  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; }
31
32
  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; } } }; }
@@ -206,6 +207,7 @@ class MessageDispatcher {
206
207
  return;
207
208
  }
208
209
  }
210
+ var offEarlyAutoAck;
209
211
  try {
210
212
  this.hooks.inbound.call(data, context);
211
213
  var _type = data.type;
@@ -229,6 +231,25 @@ class MessageDispatcher {
229
231
  autoAckState.sent = true;
230
232
  this.tryAutoAck(data, context);
231
233
  };
234
+
235
+ /**
236
+ * Early auto-ack: send ACK as soon as the handler "accepts" the message.
237
+ *
238
+ * Why:
239
+ * - For request delivery confirmation, ACK should represent "accepted/claimed by server"
240
+ * instead of "handler finished".
241
+ * - This keeps client-side ackTimeout meaningful and avoids being delayed by business logic.
242
+ *
243
+ * Notes:
244
+ * - Only contexts created by MessageChannel have onStateChange; tests may provide mocks.
245
+ * - We keep the original end-of-dispatch maybeAutoAck() as a fallback for older/edge contexts.
246
+ */
247
+ var onStateChangeMaybe = context.onStateChange;
248
+ offEarlyAutoAck = typeof onStateChangeMaybe === 'function' ? onStateChangeMaybe('autoAck:early', (_prev, next) => {
249
+ if (next === _channel.MessageContextStage.ACCEPTED) {
250
+ maybeAutoAck();
251
+ }
252
+ }) : undefined;
232
253
  var _iterator = _createForOfIteratorHelper(this.handlers),
233
254
  _step;
234
255
  try {
@@ -272,6 +293,12 @@ class MessageDispatcher {
272
293
  }
273
294
  maybeAutoAck();
274
295
  } finally {
296
+ try {
297
+ var _offEarlyAutoAck;
298
+ (_offEarlyAutoAck = offEarlyAutoAck) === null || _offEarlyAutoAck === void 0 || _offEarlyAutoAck();
299
+ } catch (_unused) {
300
+ // ignore
301
+ }
275
302
  /**
276
303
  * Mark as "done" only when this dispatcher actually claimed/handled this message.
277
304
  * - If the message was never claimed (handledBy not set), we keep `doneBy` empty so another
@@ -3,21 +3,70 @@ import { IframeReadableStream, StreamMessageHandler } from './readable-stream';
3
3
  import { FileWritableStreamOptions, FileReadableStreamOptions, IIframeFileReadableStream } from './types';
4
4
  /**
5
5
  * IframeFileWritableStream - Server-side file writable stream
6
- * Automatically handles Base64 encoding of file content
6
+ *
7
+ * Notes:
8
+ * - This stream supports binary chunks (ArrayBuffer / Uint8Array), which can be transferred
9
+ * via postMessage transfer list for better performance.
7
10
  */
8
11
  export declare class IframeFileWritableStream extends IframeWritableStream {
9
12
  readonly filename: string;
10
13
  readonly mimeType: string;
11
14
  readonly size?: number;
15
+ /**
16
+ * Create a file writable stream from string/Blob/File.
17
+ *
18
+ * This is a stream-layer utility:
19
+ * - It does NOT depend on headers.
20
+ * - It produces binary chunks (ArrayBuffer) for better performance.
21
+ */
22
+ static from(params: {
23
+ content: string | Blob | File;
24
+ fileName?: string;
25
+ mimeType?: string;
26
+ /** default: false (file is sent in one chunk) */
27
+ chunked?: boolean;
28
+ /** Chunk size in bytes (only used when chunked is true). Default: 256KB. */
29
+ chunkSize?: number;
30
+ /** default: true (receiver may auto-resolve) */
31
+ autoResolve?: boolean;
32
+ /** stream filename fallback when fileName cannot be inferred */
33
+ defaultFileName?: string;
34
+ /** mimeType fallback when mimeType cannot be inferred */
35
+ defaultMimeType?: string;
36
+ }): Promise<IframeFileWritableStream>;
37
+ /**
38
+ * Create a UTF-8 text file stream.
39
+ *
40
+ * This is a convenience wrapper around from({ content: string, ... }):
41
+ * - Makes "string -> UTF-8 bytes -> file stream" intent explicit.
42
+ * - Sets a more appropriate default mimeType for text files.
43
+ */
44
+ static fromText(params: {
45
+ text: string;
46
+ fileName?: string;
47
+ /** default: text/plain; charset=utf-8 */
48
+ mimeType?: string;
49
+ /** default: false (file is sent in one chunk) */
50
+ chunked?: boolean;
51
+ /** Chunk size in bytes (only used when chunked is true). Default: 256KB. */
52
+ chunkSize?: number;
53
+ /** default: true (receiver may auto-resolve) */
54
+ autoResolve?: boolean;
55
+ /** stream filename fallback when fileName is not provided */
56
+ defaultFileName?: string;
57
+ }): Promise<IframeFileWritableStream>;
12
58
  constructor(options: FileWritableStreamOptions);
13
59
  /**
14
- * Override encode method to convert Uint8Array to Base64
60
+ * Encode outbound chunk.
61
+ *
62
+ * - ArrayBuffer / TypedArray: keep as-is (binary chunks)
63
+ * - string: encoded as UTF-8 bytes
15
64
  */
16
- protected encodeData(data: any): string;
65
+ protected encodeData(data: any): any;
17
66
  }
18
67
  /**
19
68
  * IframeFileReadableStream - Client-side file readable stream
20
- * Automatically handles Base64 decoding of file content
69
+ * Automatically normalizes inbound chunks to Uint8Array.
21
70
  */
22
71
  export declare class IframeFileReadableStream extends IframeReadableStream<Uint8Array> implements IIframeFileReadableStream {
23
72
  readonly filename?: string;
@@ -25,9 +74,17 @@ export declare class IframeFileReadableStream extends IframeReadableStream<Uint8
25
74
  readonly size?: number;
26
75
  constructor(streamId: string, requestId: string, messageHandler: StreamMessageHandler, options?: FileReadableStreamOptions);
27
76
  /**
28
- * Override decode method to convert Base64 to Uint8Array
77
+ * Override decode method to normalize chunk to Uint8Array.
29
78
  */
30
79
  protected decodeData(data: any): Uint8Array;
80
+ /**
81
+ * Parse filename from Content-Disposition header value.
82
+ */
83
+ static parseFilenameFromContentDisposition(value?: string | string[]): string | undefined;
84
+ /**
85
+ * Resolve this file stream to File or Blob, depending on whether fileName is provided.
86
+ */
87
+ readAsFileOrBlob(fileName?: string): Promise<File | Blob>;
31
88
  /**
32
89
  * Override merge method to merge all Uint8Array chunks
33
90
  */
@@ -40,6 +97,14 @@ export declare class IframeFileReadableStream extends IframeReadableStream<Uint8
40
97
  * Read as Blob
41
98
  */
42
99
  readAsBlob(): Promise<Blob>;
100
+ /**
101
+ * Read as UTF-8 text.
102
+ *
103
+ * Notes:
104
+ * - This is intended for "text file" use cases where file stream chunks represent UTF-8 bytes.
105
+ * - For non-UTF-8 binary files, use readAsBlob()/readAsArrayBuffer().
106
+ */
107
+ readAsText(): Promise<string>;
43
108
  /**
44
109
  * Read as File
45
110
  * @param fileName Optional file name (if not provided, uses stream's filename)
@@ -1 +1 @@
1
- {"version":3,"file":"file-stream.d.ts","sourceRoot":"","sources":["../../src/stream/file-stream.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAC/E,OAAO,EACL,yBAAyB,EACzB,yBAAyB,EACzB,yBAAyB,EAC1B,MAAM,SAAS,CAAC;AAgCjB;;;GAGG;AACH,qBAAa,wBAAyB,SAAQ,oBAAoB;IAChE,SAAgB,QAAQ,EAAE,MAAM,CAAC;IACjC,SAAgB,QAAQ,EAAE,MAAM,CAAC;IACjC,SAAgB,IAAI,CAAC,EAAE,MAAM,CAAC;gBAEX,OAAO,EAAE,yBAAyB;IAiBrD;;OAEG;IACH,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,GAAG,MAAM;CAcxC;AAED;;;GAGG;AACH,qBAAa,wBACX,SAAQ,oBAAoB,CAAC,UAAU,CACvC,YAAW,yBAAyB;IAEpC,SAAgB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClC,SAAgB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClC,SAAgB,IAAI,CAAC,EAAE,MAAM,CAAC;gBAG5B,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,oBAAoB,EACpC,OAAO,GAAE,yBAA8B;IAYzC;;OAEG;IACH,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,GAAG,UAAU;IAa3C;;OAEG;IACH,SAAS,CAAC,WAAW,IAAI,UAAU;IAuBnC;;OAEG;IACU,IAAI,IAAI,OAAO,CAAC,UAAU,CAAC;IAIxC;;OAEG;IACU,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAOxC;;;OAGG;IACU,UAAU,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQzD;;OAEG;IACU,iBAAiB,IAAI,OAAO,CAAC,WAAW,CAAC;IAQtD;;OAEG;IACU,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC;CAK9C"}
1
+ {"version":3,"file":"file-stream.d.ts","sourceRoot":"","sources":["../../src/stream/file-stream.ts"],"names":[],"mappings":"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"}