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,34 +19,52 @@
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
- var _network_utils = require('../../display/network_utils');
24
+ var _network_utils = require("../../display/network_utils");
25
25
 
26
- var _util = require('../../shared/util');
26
+ var _util = require("../../shared/util");
27
27
 
28
28
  describe('network_utils', function () {
29
29
  describe('validateRangeRequestCapabilities', function () {
30
- var defaultValues = {
31
- allowRangeRequests: false,
32
- suggestedLength: undefined
33
- };
34
30
  it('rejects range chunk sizes that are not larger than zero', function () {
35
31
  expect(function () {
36
- (0, _network_utils.validateRangeRequestCapabilities)({ rangeChunkSize: 0 });
32
+ (0, _network_utils.validateRangeRequestCapabilities)({
33
+ rangeChunkSize: 0
34
+ });
37
35
  }).toThrow(new Error('Range chunk size must be larger than zero'));
38
36
  });
39
37
  it('rejects disabled or non-HTTP range requests', function () {
40
38
  expect((0, _network_utils.validateRangeRequestCapabilities)({
41
39
  disableRange: true,
42
40
  isHttp: true,
41
+ getResponseHeader: function getResponseHeader(headerName) {
42
+ if (headerName === 'Content-Length') {
43
+ return 8;
44
+ }
45
+
46
+ throw new Error("Unexpected headerName: ".concat(headerName));
47
+ },
43
48
  rangeChunkSize: 64
44
- })).toEqual(defaultValues);
49
+ })).toEqual({
50
+ allowRangeRequests: false,
51
+ suggestedLength: 8
52
+ });
45
53
  expect((0, _network_utils.validateRangeRequestCapabilities)({
46
54
  disableRange: false,
47
55
  isHttp: false,
56
+ getResponseHeader: function getResponseHeader(headerName) {
57
+ if (headerName === 'Content-Length') {
58
+ return 8;
59
+ }
60
+
61
+ throw new Error("Unexpected headerName: ".concat(headerName));
62
+ },
48
63
  rangeChunkSize: 64
49
- })).toEqual(defaultValues);
64
+ })).toEqual({
65
+ allowRangeRequests: false,
66
+ suggestedLength: 8
67
+ });
50
68
  });
51
69
  it('rejects invalid Accept-Ranges header values', function () {
52
70
  expect((0, _network_utils.validateRangeRequestCapabilities)({
@@ -55,10 +73,17 @@ describe('network_utils', function () {
55
73
  getResponseHeader: function getResponseHeader(headerName) {
56
74
  if (headerName === 'Accept-Ranges') {
57
75
  return 'none';
76
+ } else if (headerName === 'Content-Length') {
77
+ return 8;
58
78
  }
79
+
80
+ throw new Error("Unexpected headerName: ".concat(headerName));
59
81
  },
60
82
  rangeChunkSize: 64
61
- })).toEqual(defaultValues);
83
+ })).toEqual({
84
+ allowRangeRequests: false,
85
+ suggestedLength: 8
86
+ });
62
87
  });
63
88
  it('rejects invalid Content-Encoding header values', function () {
64
89
  expect((0, _network_utils.validateRangeRequestCapabilities)({
@@ -69,10 +94,17 @@ describe('network_utils', function () {
69
94
  return 'bytes';
70
95
  } else if (headerName === 'Content-Encoding') {
71
96
  return 'gzip';
97
+ } else if (headerName === 'Content-Length') {
98
+ return 8;
72
99
  }
100
+
101
+ throw new Error("Unexpected headerName: ".concat(headerName));
73
102
  },
74
103
  rangeChunkSize: 64
75
- })).toEqual(defaultValues);
104
+ })).toEqual({
105
+ allowRangeRequests: false,
106
+ suggestedLength: 8
107
+ });
76
108
  });
77
109
  it('rejects invalid Content-Length header values', function () {
78
110
  expect((0, _network_utils.validateRangeRequestCapabilities)({
@@ -86,9 +118,14 @@ describe('network_utils', function () {
86
118
  } else if (headerName === 'Content-Length') {
87
119
  return 'eight';
88
120
  }
121
+
122
+ throw new Error("Unexpected headerName: ".concat(headerName));
89
123
  },
90
124
  rangeChunkSize: 64
91
- })).toEqual(defaultValues);
125
+ })).toEqual({
126
+ allowRangeRequests: false,
127
+ suggestedLength: undefined
128
+ });
92
129
  });
93
130
  it('rejects file sizes that are too small for range requests', function () {
94
131
  expect((0, _network_utils.validateRangeRequestCapabilities)({
@@ -102,6 +139,8 @@ describe('network_utils', function () {
102
139
  } else if (headerName === 'Content-Length') {
103
140
  return 8;
104
141
  }
142
+
143
+ throw new Error("Unexpected headerName: ".concat(headerName));
105
144
  },
106
145
  rangeChunkSize: 64
107
146
  })).toEqual({
@@ -121,6 +160,8 @@ describe('network_utils', function () {
121
160
  } else if (headerName === 'Content-Length') {
122
161
  return 8192;
123
162
  }
163
+
164
+ throw new Error("Unexpected headerName: ".concat(headerName));
124
165
  },
125
166
  rangeChunkSize: 64
126
167
  })).toEqual({
@@ -135,16 +176,22 @@ describe('network_utils', function () {
135
176
  if (headerName === 'Content-Disposition') {
136
177
  return null;
137
178
  }
179
+
180
+ throw new Error("Unexpected headerName: ".concat(headerName));
138
181
  })).toBeNull();
139
182
  expect((0, _network_utils.extractFilenameFromHeader)(function (headerName) {
140
183
  if (headerName === 'Content-Disposition') {
141
184
  return undefined;
142
185
  }
186
+
187
+ throw new Error("Unexpected headerName: ".concat(headerName));
143
188
  })).toBeNull();
144
189
  expect((0, _network_utils.extractFilenameFromHeader)(function (headerName) {
145
190
  if (headerName === 'Content-Disposition') {
146
191
  return '';
147
192
  }
193
+
194
+ throw new Error("Unexpected headerName: ".concat(headerName));
148
195
  })).toBeNull();
149
196
  });
150
197
  it('gets the filename from the response header', function () {
@@ -152,63 +199,101 @@ describe('network_utils', function () {
152
199
  if (headerName === 'Content-Disposition') {
153
200
  return 'inline';
154
201
  }
202
+
203
+ throw new Error("Unexpected headerName: ".concat(headerName));
155
204
  })).toBeNull();
156
205
  expect((0, _network_utils.extractFilenameFromHeader)(function (headerName) {
157
206
  if (headerName === 'Content-Disposition') {
158
207
  return 'attachment';
159
208
  }
209
+
210
+ throw new Error("Unexpected headerName: ".concat(headerName));
160
211
  })).toBeNull();
161
212
  expect((0, _network_utils.extractFilenameFromHeader)(function (headerName) {
162
213
  if (headerName === 'Content-Disposition') {
163
214
  return 'attachment; filename="filename.pdf"';
164
215
  }
216
+
217
+ throw new Error("Unexpected headerName: ".concat(headerName));
165
218
  })).toEqual('filename.pdf');
166
219
  expect((0, _network_utils.extractFilenameFromHeader)(function (headerName) {
167
220
  if (headerName === 'Content-Disposition') {
168
221
  return 'attachment; filename="filename.pdf and spaces.pdf"';
169
222
  }
223
+
224
+ throw new Error("Unexpected headerName: ".concat(headerName));
170
225
  })).toEqual('filename.pdf and spaces.pdf');
171
226
  expect((0, _network_utils.extractFilenameFromHeader)(function (headerName) {
172
227
  if (headerName === 'Content-Disposition') {
173
228
  return 'attachment; filename="tl;dr.pdf"';
174
229
  }
230
+
231
+ throw new Error("Unexpected headerName: ".concat(headerName));
175
232
  })).toEqual('tl;dr.pdf');
176
233
  expect((0, _network_utils.extractFilenameFromHeader)(function (headerName) {
177
234
  if (headerName === 'Content-Disposition') {
178
235
  return 'attachment; filename=filename.pdf';
179
236
  }
237
+
238
+ throw new Error("Unexpected headerName: ".concat(headerName));
180
239
  })).toEqual('filename.pdf');
181
240
  expect((0, _network_utils.extractFilenameFromHeader)(function (headerName) {
182
241
  if (headerName === 'Content-Disposition') {
183
242
  return 'attachment; filename=filename.pdf someotherparam';
184
243
  }
244
+
245
+ throw new Error("Unexpected headerName: ".concat(headerName));
185
246
  })).toEqual('filename.pdf');
247
+ expect((0, _network_utils.extractFilenameFromHeader)(function (headerName) {
248
+ if (headerName === 'Content-Disposition') {
249
+ return 'attachment; filename="%e4%b8%ad%e6%96%87.pdf"';
250
+ }
251
+
252
+ throw new Error("Unexpected headerName: ".concat(headerName));
253
+ })).toEqual('中文.pdf');
254
+ expect((0, _network_utils.extractFilenameFromHeader)(function (headerName) {
255
+ if (headerName === 'Content-Disposition') {
256
+ return 'attachment; filename="100%.pdf"';
257
+ }
258
+
259
+ throw new Error("Unexpected headerName: ".concat(headerName));
260
+ })).toEqual('100%.pdf');
186
261
  });
187
262
  it('gets the filename from the response header (RFC 6266)', function () {
188
263
  expect((0, _network_utils.extractFilenameFromHeader)(function (headerName) {
189
264
  if (headerName === 'Content-Disposition') {
190
265
  return 'attachment; filename*=filename.pdf';
191
266
  }
267
+
268
+ throw new Error("Unexpected headerName: ".concat(headerName));
192
269
  })).toEqual('filename.pdf');
193
270
  expect((0, _network_utils.extractFilenameFromHeader)(function (headerName) {
194
271
  if (headerName === 'Content-Disposition') {
195
272
  return 'attachment; filename*=\'\'filename.pdf';
196
273
  }
274
+
275
+ throw new Error("Unexpected headerName: ".concat(headerName));
197
276
  })).toEqual('filename.pdf');
198
277
  expect((0, _network_utils.extractFilenameFromHeader)(function (headerName) {
199
278
  if (headerName === 'Content-Disposition') {
200
279
  return 'attachment; filename*=utf-8\'\'filename.pdf';
201
280
  }
281
+
282
+ throw new Error("Unexpected headerName: ".concat(headerName));
202
283
  })).toEqual('filename.pdf');
203
284
  expect((0, _network_utils.extractFilenameFromHeader)(function (headerName) {
204
285
  if (headerName === 'Content-Disposition') {
205
286
  return 'attachment; filename=no.pdf; filename*=utf-8\'\'filename.pdf';
206
287
  }
288
+
289
+ throw new Error("Unexpected headerName: ".concat(headerName));
207
290
  })).toEqual('filename.pdf');
208
291
  expect((0, _network_utils.extractFilenameFromHeader)(function (headerName) {
209
292
  if (headerName === 'Content-Disposition') {
210
293
  return 'attachment; filename*=utf-8\'\'filename.pdf; filename=no.pdf';
211
294
  }
295
+
296
+ throw new Error("Unexpected headerName: ".concat(headerName));
212
297
  })).toEqual('filename.pdf');
213
298
  });
214
299
  it('gets the filename from the response header (RFC 2231)', function () {
@@ -216,6 +301,8 @@ describe('network_utils', function () {
216
301
  if (headerName === 'Content-Disposition') {
217
302
  return 'attachment; filename*0=filename; filename*1=.pdf';
218
303
  }
304
+
305
+ throw new Error("Unexpected headerName: ".concat(headerName));
219
306
  })).toEqual('filename.pdf');
220
307
  });
221
308
  it('only extracts filename with pdf extension', function () {
@@ -223,6 +310,8 @@ describe('network_utils', function () {
223
310
  if (headerName === 'Content-Disposition') {
224
311
  return 'attachment; filename="filename.png"';
225
312
  }
313
+
314
+ throw new Error("Unexpected headerName: ".concat(headerName));
226
315
  })).toBeNull();
227
316
  });
228
317
  it('extension validation is case insensitive', function () {
@@ -230,6 +319,8 @@ describe('network_utils', function () {
230
319
  if (headerName === 'Content-Disposition') {
231
320
  return 'form-data; name="fieldName"; filename="file.PdF"';
232
321
  }
322
+
323
+ throw new Error("Unexpected headerName: ".concat(headerName));
233
324
  })).toEqual('file.PdF');
234
325
  });
235
326
  });
@@ -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,25 +19,34 @@
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
- var _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"]) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } }; }();
24
+ var _util = require("../../shared/util");
25
25
 
26
- var _util = require('../../shared/util');
26
+ var _is_node = _interopRequireDefault(require("../../shared/is_node"));
27
27
 
28
- var _is_node = require('../../shared/is_node');
28
+ var _node_stream = require("../../display/node_stream");
29
29
 
30
- var _is_node2 = _interopRequireDefault(_is_node);
30
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
31
31
 
32
- var _node_stream = require('../../display/node_stream');
32
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }
33
33
 
34
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
34
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); }
35
+
36
+ function _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
37
+
38
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
39
+
40
+ (0, _util.assert)((0, _is_node["default"])());
35
41
 
36
- (0, _util.assert)((0, _is_node2.default)());
37
42
  var path = require('path');
43
+
38
44
  var url = require('url');
45
+
39
46
  var http = require('http');
47
+
40
48
  var fs = require('fs');
49
+
41
50
  describe('node_stream', function () {
42
51
  var server = null;
43
52
  var port = null;
@@ -49,9 +58,10 @@ describe('node_stream', function () {
49
58
  fs.lstat(filePath, function (error, stat) {
50
59
  if (error) {
51
60
  response.writeHead(404);
52
- response.end('File ' + request.url + ' not found!');
61
+ response.end("File ".concat(request.url, " not found!"));
53
62
  return;
54
63
  }
64
+
55
65
  if (!request.headers['range']) {
56
66
  var contentLength = stat.size;
57
67
  var stream = fs.createReadStream(filePath);
@@ -73,7 +83,11 @@ describe('node_stream', function () {
73
83
  start: start,
74
84
  end: end
75
85
  });
76
- response.writeHead(206, { 'Content-Type': 'application/pdf' });
86
+
87
+ response.writeHead(206, {
88
+ 'Content-Type': 'application/pdf'
89
+ });
90
+
77
91
  _stream.pipe(response);
78
92
  }
79
93
  });
@@ -87,7 +101,7 @@ describe('node_stream', function () {
87
101
  });
88
102
  it('read both http(s) and filesystem pdf files', function (done) {
89
103
  var stream1 = new _node_stream.PDFNodeStream({
90
- url: 'http://127.0.0.1:' + port + '/tracemonkey.pdf',
104
+ url: "http://127.0.0.1:".concat(port, "/tracemonkey.pdf"),
91
105
  rangeChunkSize: 65536,
92
106
  disableStream: true,
93
107
  disableRange: true
@@ -100,38 +114,41 @@ describe('node_stream', function () {
100
114
  });
101
115
  var fullReader1 = stream1.getFullReader();
102
116
  var fullReader2 = stream2.getFullReader();
103
- var isStreamingSupported1 = void 0,
104
- isRangeSupported1 = void 0;
117
+ var isStreamingSupported1, isRangeSupported1;
105
118
  var promise1 = fullReader1.headersReady.then(function () {
106
119
  isStreamingSupported1 = fullReader1.isStreamingSupported;
107
120
  isRangeSupported1 = fullReader1.isRangeSupported;
108
121
  });
109
- var isStreamingSupported2 = void 0,
110
- isRangeSupported2 = void 0;
122
+ var isStreamingSupported2, isRangeSupported2;
111
123
  var promise2 = fullReader2.headersReady.then(function () {
112
124
  isStreamingSupported2 = fullReader2.isStreamingSupported;
113
125
  isRangeSupported2 = fullReader2.isRangeSupported;
114
126
  });
115
127
  var len1 = 0,
116
128
  len2 = 0;
129
+
117
130
  var read1 = function read1() {
118
131
  return fullReader1.read().then(function (result) {
119
132
  if (result.done) {
120
- return;
133
+ return undefined;
121
134
  }
135
+
122
136
  len1 += result.value.byteLength;
123
137
  return read1();
124
138
  });
125
139
  };
140
+
126
141
  var read2 = function read2() {
127
142
  return fullReader2.read().then(function (result) {
128
143
  if (result.done) {
129
- return;
144
+ return undefined;
130
145
  }
146
+
131
147
  len2 += result.value.byteLength;
132
148
  return read2();
133
149
  });
134
150
  };
151
+
135
152
  var readPromise = Promise.all([read1(), read2(), promise1, promise2]);
136
153
  readPromise.then(function (result) {
137
154
  expect(isStreamingSupported1).toEqual(false);
@@ -141,14 +158,14 @@ describe('node_stream', function () {
141
158
  expect(len1).toEqual(pdfLength);
142
159
  expect(len1).toEqual(len2);
143
160
  done();
144
- }).catch(function (reason) {
161
+ })["catch"](function (reason) {
145
162
  done.fail(reason);
146
163
  });
147
164
  });
148
165
  it('read custom ranges for both http(s) and filesystem urls', function (done) {
149
166
  var rangeSize = 32768;
150
167
  var stream1 = new _node_stream.PDFNodeStream({
151
- url: 'http://127.0.0.1:' + port + '/tracemonkey.pdf',
168
+ url: "http://127.0.0.1:".concat(port, "/tracemonkey.pdf"),
152
169
  length: pdfLength,
153
170
  rangeChunkSize: rangeSize,
154
171
  disableStream: true,
@@ -163,22 +180,18 @@ describe('node_stream', function () {
163
180
  });
164
181
  var fullReader1 = stream1.getFullReader();
165
182
  var fullReader2 = stream2.getFullReader();
166
- var isStreamingSupported1 = void 0,
167
- isRangeSupported1 = void 0,
168
- fullReaderCancelled1 = void 0;
169
- var isStreamingSupported2 = void 0,
170
- isRangeSupported2 = void 0,
171
- fullReaderCancelled2 = void 0;
183
+ var isStreamingSupported1, isRangeSupported1, fullReaderCancelled1;
184
+ var isStreamingSupported2, isRangeSupported2, fullReaderCancelled2;
172
185
  var promise1 = fullReader1.headersReady.then(function () {
173
186
  isStreamingSupported1 = fullReader1.isStreamingSupported;
174
187
  isRangeSupported1 = fullReader1.isRangeSupported;
175
- fullReader1.cancel('Don\'t need full reader');
188
+ fullReader1.cancel(new _util.AbortException('Don\'t need fullReader1.'));
176
189
  fullReaderCancelled1 = true;
177
190
  });
178
191
  var promise2 = fullReader2.headersReady.then(function () {
179
192
  isStreamingSupported2 = fullReader2.isStreamingSupported;
180
193
  isRangeSupported2 = fullReader2.isRangeSupported;
181
- fullReader2.cancel('Don\'t need full reader');
194
+ fullReader2.cancel(new _util.AbortException('Don\'t need fullReader2.'));
182
195
  fullReaderCancelled2 = true;
183
196
  });
184
197
  var tailSize = pdfLength % rangeSize || rangeSize;
@@ -186,19 +199,30 @@ describe('node_stream', function () {
186
199
  var range12Reader = stream1.getRangeReader(pdfLength - tailSize, pdfLength);
187
200
  var range21Reader = stream2.getRangeReader(pdfLength - tailSize - rangeSize, pdfLength - tailSize);
188
201
  var range22Reader = stream2.getRangeReader(pdfLength - tailSize, pdfLength);
189
- var result11 = { value: 0 },
190
- result12 = { value: 0 };
191
- var result21 = { value: 0 },
192
- result22 = { value: 0 };
202
+ var result11 = {
203
+ value: 0
204
+ },
205
+ result12 = {
206
+ value: 0
207
+ };
208
+ var result21 = {
209
+ value: 0
210
+ },
211
+ result22 = {
212
+ value: 0
213
+ };
214
+
193
215
  var read = function read(reader, lenResult) {
194
216
  return reader.read().then(function (result) {
195
217
  if (result.done) {
196
- return;
218
+ return undefined;
197
219
  }
220
+
198
221
  lenResult.value += result.value.byteLength;
199
222
  return read(reader, lenResult);
200
223
  });
201
224
  };
225
+
202
226
  var readPromises = Promise.all([read(range11Reader, result11), read(range12Reader, result12), read(range21Reader, result21), read(range22Reader, result22), promise1, promise2]);
203
227
  readPromises.then(function () {
204
228
  expect(result11.value).toEqual(rangeSize);
@@ -212,7 +236,7 @@ describe('node_stream', function () {
212
236
  expect(isRangeSupported2).toEqual(true);
213
237
  expect(fullReaderCancelled2).toEqual(true);
214
238
  done();
215
- }).catch(function (reason) {
239
+ })["catch"](function (reason) {
216
240
  done.fail(reason);
217
241
  });
218
242
  });