pdfjs-dist 2.0.550 → 2.3.200

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.

Potentially problematic release.


This version of pdfjs-dist might be problematic. Click here for more details.

Files changed (168) hide show
  1. package/CODE_OF_CONDUCT.md +15 -0
  2. package/bower.json +1 -1
  3. package/build/pdf.js +21618 -14369
  4. package/build/pdf.js.map +1 -1
  5. package/build/pdf.min.js +1 -1
  6. package/build/pdf.worker.js +22758 -11399
  7. package/build/pdf.worker.js.map +1 -1
  8. package/build/pdf.worker.min.js +1 -1
  9. package/image_decoders/pdf.image_decoders.js +11500 -0
  10. package/image_decoders/pdf.image_decoders.js.map +1 -0
  11. package/image_decoders/pdf.image_decoders.min.js +1 -0
  12. package/lib/core/annotation.js +767 -258
  13. package/lib/core/arithmetic_decoder.js +275 -245
  14. package/lib/core/bidi.js +65 -6
  15. package/lib/core/ccitt.js +173 -18
  16. package/lib/core/ccitt_stream.js +15 -6
  17. package/lib/core/cff_parser.js +433 -61
  18. package/lib/core/charsets.js +5 -4
  19. package/lib/core/chunked_stream.js +428 -157
  20. package/lib/core/cmap.js +326 -87
  21. package/lib/core/colorspace.js +874 -594
  22. package/lib/core/core_utils.js +173 -0
  23. package/lib/core/crypto.js +290 -45
  24. package/lib/core/document.js +575 -272
  25. package/lib/core/encodings.js +19 -10
  26. package/lib/core/evaluator.js +1032 -351
  27. package/lib/core/font_renderer.js +331 -97
  28. package/lib/core/fonts.js +813 -196
  29. package/lib/core/function.js +253 -27
  30. package/lib/core/glyphlist.js +5 -3
  31. package/lib/core/image.js +169 -62
  32. package/lib/core/image_utils.js +111 -0
  33. package/lib/core/jbig2.js +502 -72
  34. package/lib/core/jbig2_stream.js +19 -8
  35. package/lib/core/jpeg_stream.js +38 -13
  36. package/lib/core/jpg.js +293 -52
  37. package/lib/core/jpx.js +419 -12
  38. package/lib/core/jpx_stream.js +18 -6
  39. package/lib/core/metrics.js +15 -15
  40. package/lib/core/murmurhash3.js +56 -34
  41. package/lib/core/obj.js +1368 -500
  42. package/lib/core/operator_list.js +159 -43
  43. package/lib/core/parser.js +544 -199
  44. package/lib/core/pattern.js +170 -21
  45. package/lib/core/pdf_manager.js +324 -134
  46. package/lib/core/primitives.js +169 -61
  47. package/lib/core/ps_parser.js +134 -45
  48. package/lib/core/standard_fonts.js +17 -17
  49. package/lib/core/stream.js +327 -34
  50. package/lib/core/type1_parser.js +148 -8
  51. package/lib/core/unicode.js +32 -5
  52. package/lib/core/worker.js +215 -229
  53. package/lib/core/worker_stream.js +277 -0
  54. package/lib/display/annotation_layer.js +618 -192
  55. package/lib/display/api.js +1798 -882
  56. package/lib/display/api_compatibility.js +5 -10
  57. package/lib/display/canvas.js +366 -45
  58. package/lib/display/content_disposition.js +71 -24
  59. package/lib/display/display_utils.js +777 -0
  60. package/lib/display/fetch_stream.js +205 -87
  61. package/lib/display/font_loader.js +468 -236
  62. package/lib/display/metadata.js +38 -16
  63. package/lib/display/network.js +635 -428
  64. package/lib/display/network_utils.js +38 -19
  65. package/lib/display/node_stream.js +367 -175
  66. package/lib/display/pattern_helper.js +103 -36
  67. package/lib/display/svg.js +1232 -519
  68. package/lib/display/text_layer.js +208 -75
  69. package/lib/display/transport_stream.js +345 -94
  70. package/lib/display/webgl.js +64 -18
  71. package/lib/display/worker_options.js +5 -4
  72. package/lib/display/xml_parser.js +166 -53
  73. package/lib/examples/node/domstubs.js +60 -4
  74. package/lib/pdf.js +35 -14
  75. package/lib/pdf.worker.js +5 -3
  76. package/lib/shared/compatibility.js +170 -572
  77. package/lib/shared/global_scope.js +2 -2
  78. package/lib/shared/is_node.js +4 -4
  79. package/lib/shared/message_handler.js +216 -163
  80. package/lib/shared/streams_polyfill.js +21 -17
  81. package/lib/shared/util.js +495 -385
  82. package/lib/test/unit/annotation_spec.js +1464 -401
  83. package/lib/test/unit/api_spec.js +718 -361
  84. package/lib/test/unit/bidi_spec.js +7 -7
  85. package/lib/test/unit/cff_parser_spec.js +54 -11
  86. package/lib/test/unit/clitests_helper.js +9 -10
  87. package/lib/test/unit/cmap_spec.js +95 -41
  88. package/lib/test/unit/colorspace_spec.js +115 -63
  89. package/lib/test/unit/core_utils_spec.js +191 -0
  90. package/lib/test/unit/crypto_spec.js +17 -5
  91. package/lib/test/unit/custom_spec.js +43 -55
  92. package/lib/test/unit/display_svg_spec.js +34 -18
  93. package/lib/test/unit/display_utils_spec.js +273 -0
  94. package/lib/test/unit/document_spec.js +8 -13
  95. package/lib/test/unit/encodings_spec.js +25 -45
  96. package/lib/test/unit/evaluator_spec.js +59 -20
  97. package/lib/test/unit/fetch_stream_spec.js +111 -0
  98. package/lib/test/unit/function_spec.js +17 -5
  99. package/lib/test/unit/jasmine-boot.js +33 -20
  100. package/lib/test/unit/message_handler_spec.js +30 -13
  101. package/lib/test/unit/metadata_spec.js +71 -11
  102. package/lib/test/unit/murmurhash3_spec.js +3 -3
  103. package/lib/test/unit/network_spec.js +22 -55
  104. package/lib/test/unit/network_utils_spec.js +105 -14
  105. package/lib/test/unit/node_stream_spec.js +58 -34
  106. package/lib/test/unit/parser_spec.js +162 -71
  107. package/lib/test/unit/pdf_find_controller_spec.js +230 -0
  108. package/lib/test/unit/pdf_find_utils_spec.js +63 -0
  109. package/lib/test/unit/pdf_history_spec.js +21 -9
  110. package/lib/test/unit/primitives_spec.js +55 -22
  111. package/lib/test/unit/stream_spec.js +12 -4
  112. package/lib/test/unit/test_utils.js +273 -56
  113. package/lib/test/unit/testreporter.js +21 -3
  114. package/lib/test/unit/type1_parser_spec.js +9 -7
  115. package/lib/test/unit/ui_utils_spec.js +236 -36
  116. package/lib/test/unit/unicode_spec.js +18 -15
  117. package/lib/test/unit/util_spec.js +87 -128
  118. package/lib/web/annotation_layer_builder.js +39 -22
  119. package/lib/web/app.js +1252 -609
  120. package/lib/web/app_options.js +103 -65
  121. package/lib/web/base_viewer.js +522 -242
  122. package/lib/web/chromecom.js +259 -117
  123. package/lib/web/debugger.js +166 -22
  124. package/lib/web/download_manager.js +31 -12
  125. package/lib/web/firefox_print_service.js +27 -14
  126. package/lib/web/firefoxcom.js +318 -78
  127. package/lib/web/genericcom.js +89 -30
  128. package/lib/web/genericl10n.js +142 -30
  129. package/lib/web/grab_to_pan.js +28 -4
  130. package/lib/web/interfaces.js +174 -47
  131. package/lib/web/overlay_manager.js +235 -85
  132. package/lib/web/password_prompt.js +22 -14
  133. package/lib/web/pdf_attachment_viewer.js +38 -18
  134. package/lib/web/pdf_cursor_tools.js +39 -16
  135. package/lib/web/pdf_document_properties.js +255 -136
  136. package/lib/web/pdf_find_bar.js +84 -40
  137. package/lib/web/pdf_find_controller.js +495 -184
  138. package/lib/web/pdf_find_utils.js +111 -0
  139. package/lib/web/pdf_history.js +190 -53
  140. package/lib/web/pdf_link_service.js +144 -79
  141. package/lib/web/pdf_outline_viewer.js +124 -47
  142. package/lib/web/pdf_page_view.js +194 -74
  143. package/lib/web/pdf_presentation_mode.js +99 -34
  144. package/lib/web/pdf_print_service.js +59 -13
  145. package/lib/web/pdf_rendering_queue.js +28 -9
  146. package/lib/web/pdf_sidebar.js +144 -81
  147. package/lib/web/pdf_sidebar_resizer.js +42 -16
  148. package/lib/web/pdf_single_page_viewer.js +74 -66
  149. package/lib/web/pdf_thumbnail_view.js +104 -33
  150. package/lib/web/pdf_thumbnail_viewer.js +66 -26
  151. package/lib/web/pdf_viewer.component.js +112 -32
  152. package/lib/web/pdf_viewer.js +82 -87
  153. package/lib/web/preferences.js +284 -91
  154. package/lib/web/secondary_toolbar.js +132 -59
  155. package/lib/web/text_layer_builder.js +134 -59
  156. package/lib/web/toolbar.js +80 -43
  157. package/lib/web/ui_utils.js +400 -134
  158. package/lib/web/view_history.js +215 -67
  159. package/lib/web/viewer_compatibility.js +3 -8
  160. package/package.json +3 -2
  161. package/web/pdf_viewer.css +23 -15
  162. package/web/pdf_viewer.js +3429 -1245
  163. package/web/pdf_viewer.js.map +1 -1
  164. package/external/streams/streams-lib.js +0 -3962
  165. package/lib/display/dom_utils.js +0 -429
  166. package/lib/test/unit/dom_utils_spec.js +0 -89
  167. package/lib/test/unit/fonts_spec.js +0 -81
  168. package/lib/web/dom_events.js +0 -137
@@ -2,7 +2,7 @@
2
2
  * @licstart The following is the entire license notice for the
3
3
  * Javascript code in this page
4
4
  *
5
- * Copyright 2017 Mozilla Foundation
5
+ * Copyright 2019 Mozilla Foundation
6
6
  *
7
7
  * Licensed under the Apache License, Version 2.0 (the "License");
8
8
  * you may not use this file except in compliance with the License.
@@ -19,21 +19,31 @@
19
19
  * @licend The above is the entire license notice for the
20
20
  * Javascript code in this page
21
21
  */
22
- 'use strict';
22
+ "use strict";
23
23
 
24
24
  Object.defineProperty(exports, "__esModule", {
25
25
  value: true
26
26
  });
27
- exports.PDFFetchStream = undefined;
27
+ exports.PDFFetchStream = void 0;
28
28
 
29
- var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
29
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
30
30
 
31
- var _util = require('../shared/util');
31
+ var _util = require("../shared/util");
32
32
 
33
- var _network_utils = require('./network_utils');
33
+ var _network_utils = require("./network_utils");
34
+
35
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
36
+
37
+ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
38
+
39
+ function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
34
40
 
35
41
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
36
42
 
43
+ function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
44
+
45
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
46
+
37
47
  function createFetchOptions(headers, withCredentials, abortController) {
38
48
  return {
39
49
  method: 'GET',
@@ -45,7 +55,9 @@ function createFetchOptions(headers, withCredentials, abortController) {
45
55
  };
46
56
  }
47
57
 
48
- var PDFFetchStream = function () {
58
+ var PDFFetchStream =
59
+ /*#__PURE__*/
60
+ function () {
49
61
  function PDFFetchStream(source) {
50
62
  _classCallCheck(this, PDFFetchStream);
51
63
 
@@ -57,36 +69,53 @@ var PDFFetchStream = function () {
57
69
  }
58
70
 
59
71
  _createClass(PDFFetchStream, [{
60
- key: 'getFullReader',
72
+ key: "getFullReader",
61
73
  value: function getFullReader() {
62
74
  (0, _util.assert)(!this._fullRequestReader);
63
75
  this._fullRequestReader = new PDFFetchStreamReader(this);
64
76
  return this._fullRequestReader;
65
77
  }
66
78
  }, {
67
- key: 'getRangeReader',
79
+ key: "getRangeReader",
68
80
  value: function getRangeReader(begin, end) {
81
+ if (end <= this._progressiveDataLength) {
82
+ return null;
83
+ }
84
+
69
85
  var reader = new PDFFetchStreamRangeReader(this, begin, end);
86
+
70
87
  this._rangeRequestReaders.push(reader);
88
+
71
89
  return reader;
72
90
  }
73
91
  }, {
74
- key: 'cancelAllRequests',
92
+ key: "cancelAllRequests",
75
93
  value: function cancelAllRequests(reason) {
76
94
  if (this._fullRequestReader) {
77
95
  this._fullRequestReader.cancel(reason);
78
96
  }
97
+
79
98
  var readers = this._rangeRequestReaders.slice(0);
99
+
80
100
  readers.forEach(function (reader) {
81
101
  reader.cancel(reason);
82
102
  });
83
103
  }
104
+ }, {
105
+ key: "_progressiveDataLength",
106
+ get: function get() {
107
+ return this._fullRequestReader ? this._fullRequestReader._loaded : 0;
108
+ }
84
109
  }]);
85
110
 
86
111
  return PDFFetchStream;
87
112
  }();
88
113
 
89
- var PDFFetchStreamReader = function () {
114
+ exports.PDFFetchStream = PDFFetchStream;
115
+
116
+ var PDFFetchStreamReader =
117
+ /*#__PURE__*/
118
+ function () {
90
119
  function PDFFetchStreamReader(stream) {
91
120
  var _this = this;
92
121
 
@@ -97,34 +126,44 @@ var PDFFetchStreamReader = function () {
97
126
  this._loaded = 0;
98
127
  this._filename = null;
99
128
  var source = stream.source;
100
- this._withCredentials = source.withCredentials;
129
+ this._withCredentials = source.withCredentials || false;
101
130
  this._contentLength = source.length;
102
131
  this._headersCapability = (0, _util.createPromiseCapability)();
103
132
  this._disableRange = source.disableRange || false;
104
133
  this._rangeChunkSize = source.rangeChunkSize;
134
+
105
135
  if (!this._rangeChunkSize && !this._disableRange) {
106
136
  this._disableRange = true;
107
137
  }
138
+
108
139
  if (typeof AbortController !== 'undefined') {
109
140
  this._abortController = new AbortController();
110
141
  }
142
+
111
143
  this._isStreamingSupported = !source.disableStream;
112
144
  this._isRangeSupported = !source.disableRange;
113
145
  this._headers = new Headers();
146
+
114
147
  for (var property in this._stream.httpHeaders) {
115
148
  var value = this._stream.httpHeaders[property];
149
+
116
150
  if (typeof value === 'undefined') {
117
151
  continue;
118
152
  }
153
+
119
154
  this._headers.append(property, value);
120
155
  }
156
+
121
157
  var url = source.url;
122
158
  fetch(url, createFetchOptions(this._headers, this._withCredentials, this._abortController)).then(function (response) {
123
159
  if (!(0, _network_utils.validateResponseStatus)(response.status)) {
124
160
  throw (0, _network_utils.createResponseStatusError)(response.status, url);
125
161
  }
162
+
126
163
  _this._reader = response.body.getReader();
164
+
127
165
  _this._headersCapability.resolve();
166
+
128
167
  var getResponseHeader = function getResponseHeader(name) {
129
168
  return response.headers.get(name);
130
169
  };
@@ -141,76 +180,111 @@ var PDFFetchStreamReader = function () {
141
180
  _this._isRangeSupported = allowRangeRequests;
142
181
  _this._contentLength = suggestedLength || _this._contentLength;
143
182
  _this._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader);
183
+
144
184
  if (!_this._isStreamingSupported && _this._isRangeSupported) {
145
- _this.cancel(new _util.AbortException('streaming is disabled'));
185
+ _this.cancel(new _util.AbortException('Streaming is disabled.'));
146
186
  }
147
- }).catch(this._headersCapability.reject);
187
+ })["catch"](this._headersCapability.reject);
148
188
  this.onProgress = null;
149
189
  }
150
190
 
151
191
  _createClass(PDFFetchStreamReader, [{
152
- key: 'read',
153
- value: function read() {
154
- var _this2 = this;
155
-
156
- return this._headersCapability.promise.then(function () {
157
- return _this2._reader.read().then(function (_ref) {
158
- var value = _ref.value,
159
- done = _ref.done;
160
-
161
- if (done) {
162
- return Promise.resolve({
163
- value: value,
164
- done: done
165
- });
166
- }
167
- _this2._loaded += value.byteLength;
168
- if (_this2.onProgress) {
169
- _this2.onProgress({
170
- loaded: _this2._loaded,
171
- total: _this2._contentLength
172
- });
192
+ key: "read",
193
+ value: function () {
194
+ var _read = _asyncToGenerator(
195
+ /*#__PURE__*/
196
+ _regenerator["default"].mark(function _callee() {
197
+ var _ref, value, done, buffer;
198
+
199
+ return _regenerator["default"].wrap(function _callee$(_context) {
200
+ while (1) {
201
+ switch (_context.prev = _context.next) {
202
+ case 0:
203
+ _context.next = 2;
204
+ return this._headersCapability.promise;
205
+
206
+ case 2:
207
+ _context.next = 4;
208
+ return this._reader.read();
209
+
210
+ case 4:
211
+ _ref = _context.sent;
212
+ value = _ref.value;
213
+ done = _ref.done;
214
+
215
+ if (!done) {
216
+ _context.next = 9;
217
+ break;
218
+ }
219
+
220
+ return _context.abrupt("return", {
221
+ value: value,
222
+ done: done
223
+ });
224
+
225
+ case 9:
226
+ this._loaded += value.byteLength;
227
+
228
+ if (this.onProgress) {
229
+ this.onProgress({
230
+ loaded: this._loaded,
231
+ total: this._contentLength
232
+ });
233
+ }
234
+
235
+ buffer = new Uint8Array(value).buffer;
236
+ return _context.abrupt("return", {
237
+ value: buffer,
238
+ done: false
239
+ });
240
+
241
+ case 13:
242
+ case "end":
243
+ return _context.stop();
244
+ }
173
245
  }
174
- var buffer = new Uint8Array(value).buffer;
175
- return Promise.resolve({
176
- value: buffer,
177
- done: false
178
- });
179
- });
180
- });
181
- }
246
+ }, _callee, this);
247
+ }));
248
+
249
+ function read() {
250
+ return _read.apply(this, arguments);
251
+ }
252
+
253
+ return read;
254
+ }()
182
255
  }, {
183
- key: 'cancel',
256
+ key: "cancel",
184
257
  value: function cancel(reason) {
185
258
  if (this._reader) {
186
259
  this._reader.cancel(reason);
187
260
  }
261
+
188
262
  if (this._abortController) {
189
263
  this._abortController.abort();
190
264
  }
191
265
  }
192
266
  }, {
193
- key: 'headersReady',
267
+ key: "headersReady",
194
268
  get: function get() {
195
269
  return this._headersCapability.promise;
196
270
  }
197
271
  }, {
198
- key: 'filename',
272
+ key: "filename",
199
273
  get: function get() {
200
274
  return this._filename;
201
275
  }
202
276
  }, {
203
- key: 'contentLength',
277
+ key: "contentLength",
204
278
  get: function get() {
205
279
  return this._contentLength;
206
280
  }
207
281
  }, {
208
- key: 'isRangeSupported',
282
+ key: "isRangeSupported",
209
283
  get: function get() {
210
284
  return this._isRangeSupported;
211
285
  }
212
286
  }, {
213
- key: 'isStreamingSupported',
287
+ key: "isStreamingSupported",
214
288
  get: function get() {
215
289
  return this._isStreamingSupported;
216
290
  }
@@ -219,9 +293,11 @@ var PDFFetchStreamReader = function () {
219
293
  return PDFFetchStreamReader;
220
294
  }();
221
295
 
222
- var PDFFetchStreamRangeReader = function () {
296
+ var PDFFetchStreamRangeReader =
297
+ /*#__PURE__*/
298
+ function () {
223
299
  function PDFFetchStreamRangeReader(stream, begin, end) {
224
- var _this3 = this;
300
+ var _this2 = this;
225
301
 
226
302
  _classCallCheck(this, PDFFetchStreamRangeReader);
227
303
 
@@ -229,79 +305,121 @@ var PDFFetchStreamRangeReader = function () {
229
305
  this._reader = null;
230
306
  this._loaded = 0;
231
307
  var source = stream.source;
232
- this._withCredentials = source.withCredentials;
308
+ this._withCredentials = source.withCredentials || false;
233
309
  this._readCapability = (0, _util.createPromiseCapability)();
234
310
  this._isStreamingSupported = !source.disableStream;
311
+
235
312
  if (typeof AbortController !== 'undefined') {
236
313
  this._abortController = new AbortController();
237
314
  }
315
+
238
316
  this._headers = new Headers();
317
+
239
318
  for (var property in this._stream.httpHeaders) {
240
319
  var value = this._stream.httpHeaders[property];
320
+
241
321
  if (typeof value === 'undefined') {
242
322
  continue;
243
323
  }
324
+
244
325
  this._headers.append(property, value);
245
326
  }
246
- var rangeStr = begin + '-' + (end - 1);
247
- this._headers.append('Range', 'bytes=' + rangeStr);
327
+
328
+ this._headers.append('Range', "bytes=".concat(begin, "-").concat(end - 1));
329
+
248
330
  var url = source.url;
249
331
  fetch(url, createFetchOptions(this._headers, this._withCredentials, this._abortController)).then(function (response) {
250
332
  if (!(0, _network_utils.validateResponseStatus)(response.status)) {
251
333
  throw (0, _network_utils.createResponseStatusError)(response.status, url);
252
334
  }
253
- _this3._readCapability.resolve();
254
- _this3._reader = response.body.getReader();
335
+
336
+ _this2._readCapability.resolve();
337
+
338
+ _this2._reader = response.body.getReader();
255
339
  });
256
340
  this.onProgress = null;
257
341
  }
258
342
 
259
343
  _createClass(PDFFetchStreamRangeReader, [{
260
- key: 'read',
261
- value: function read() {
262
- var _this4 = this;
263
-
264
- return this._readCapability.promise.then(function () {
265
- return _this4._reader.read().then(function (_ref2) {
266
- var value = _ref2.value,
267
- done = _ref2.done;
268
-
269
- if (done) {
270
- return Promise.resolve({
271
- value: value,
272
- done: done
273
- });
274
- }
275
- _this4._loaded += value.byteLength;
276
- if (_this4.onProgress) {
277
- _this4.onProgress({ loaded: _this4._loaded });
344
+ key: "read",
345
+ value: function () {
346
+ var _read2 = _asyncToGenerator(
347
+ /*#__PURE__*/
348
+ _regenerator["default"].mark(function _callee2() {
349
+ var _ref2, value, done, buffer;
350
+
351
+ return _regenerator["default"].wrap(function _callee2$(_context2) {
352
+ while (1) {
353
+ switch (_context2.prev = _context2.next) {
354
+ case 0:
355
+ _context2.next = 2;
356
+ return this._readCapability.promise;
357
+
358
+ case 2:
359
+ _context2.next = 4;
360
+ return this._reader.read();
361
+
362
+ case 4:
363
+ _ref2 = _context2.sent;
364
+ value = _ref2.value;
365
+ done = _ref2.done;
366
+
367
+ if (!done) {
368
+ _context2.next = 9;
369
+ break;
370
+ }
371
+
372
+ return _context2.abrupt("return", {
373
+ value: value,
374
+ done: done
375
+ });
376
+
377
+ case 9:
378
+ this._loaded += value.byteLength;
379
+
380
+ if (this.onProgress) {
381
+ this.onProgress({
382
+ loaded: this._loaded
383
+ });
384
+ }
385
+
386
+ buffer = new Uint8Array(value).buffer;
387
+ return _context2.abrupt("return", {
388
+ value: buffer,
389
+ done: false
390
+ });
391
+
392
+ case 13:
393
+ case "end":
394
+ return _context2.stop();
395
+ }
278
396
  }
279
- var buffer = new Uint8Array(value).buffer;
280
- return Promise.resolve({
281
- value: buffer,
282
- done: false
283
- });
284
- });
285
- });
286
- }
397
+ }, _callee2, this);
398
+ }));
399
+
400
+ function read() {
401
+ return _read2.apply(this, arguments);
402
+ }
403
+
404
+ return read;
405
+ }()
287
406
  }, {
288
- key: 'cancel',
407
+ key: "cancel",
289
408
  value: function cancel(reason) {
290
409
  if (this._reader) {
291
410
  this._reader.cancel(reason);
292
411
  }
412
+
293
413
  if (this._abortController) {
294
414
  this._abortController.abort();
295
415
  }
296
416
  }
297
417
  }, {
298
- key: 'isStreamingSupported',
418
+ key: "isStreamingSupported",
299
419
  get: function get() {
300
420
  return this._isStreamingSupported;
301
421
  }
302
422
  }]);
303
423
 
304
424
  return PDFFetchStreamRangeReader;
305
- }();
306
-
307
- exports.PDFFetchStream = PDFFetchStream;
425
+ }();