pdfjs-dist 2.0.943 → 2.1.266

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 (159) hide show
  1. package/bower.json +1 -1
  2. package/build/pdf.js +15329 -11095
  3. package/build/pdf.js.map +1 -1
  4. package/build/pdf.min.js +1 -1
  5. package/build/pdf.worker.js +12497 -4184
  6. package/build/pdf.worker.js.map +1 -1
  7. package/build/pdf.worker.min.js +1 -1
  8. package/image_decoders/pdf.image_decoders.js +3438 -1209
  9. package/image_decoders/pdf.image_decoders.js.map +1 -1
  10. package/image_decoders/pdf.image_decoders.min.js +1 -1
  11. package/lib/core/annotation.js +335 -109
  12. package/lib/core/arithmetic_decoder.js +274 -244
  13. package/lib/core/bidi.js +64 -5
  14. package/lib/core/ccitt.js +172 -17
  15. package/lib/core/ccitt_stream.js +14 -5
  16. package/lib/core/cff_parser.js +304 -28
  17. package/lib/core/charsets.js +4 -3
  18. package/lib/core/chunked_stream.js +379 -149
  19. package/lib/core/cmap.js +210 -40
  20. package/lib/core/colorspace.js +332 -187
  21. package/lib/core/crypto.js +289 -44
  22. package/lib/core/document.js +508 -249
  23. package/lib/core/encodings.js +18 -9
  24. package/lib/core/evaluator.js +657 -119
  25. package/lib/core/font_renderer.js +217 -34
  26. package/lib/core/fonts.js +632 -41
  27. package/lib/core/function.js +252 -26
  28. package/lib/core/glyphlist.js +2 -1
  29. package/lib/core/image.js +124 -27
  30. package/lib/core/jbig2.js +425 -65
  31. package/lib/core/jbig2_stream.js +18 -7
  32. package/lib/core/jpeg_stream.js +24 -8
  33. package/lib/core/jpg.js +208 -16
  34. package/lib/core/jpx.js +395 -5
  35. package/lib/core/jpx_stream.js +17 -5
  36. package/lib/core/metrics.js +3 -3
  37. package/lib/core/murmurhash3.js +23 -5
  38. package/lib/core/obj.js +625 -132
  39. package/lib/core/operator_list.js +104 -3
  40. package/lib/core/parser.js +262 -25
  41. package/lib/core/pattern.js +144 -12
  42. package/lib/core/pdf_manager.js +104 -70
  43. package/lib/core/primitives.js +74 -21
  44. package/lib/core/ps_parser.js +133 -44
  45. package/lib/core/standard_fonts.js +9 -9
  46. package/lib/core/stream.js +283 -31
  47. package/lib/core/type1_parser.js +138 -6
  48. package/lib/core/unicode.js +28 -1
  49. package/lib/core/worker.js +192 -57
  50. package/lib/display/annotation_layer.js +303 -123
  51. package/lib/display/api.js +1073 -574
  52. package/lib/display/api_compatibility.js +4 -1
  53. package/lib/display/canvas.js +314 -18
  54. package/lib/display/content_disposition.js +70 -23
  55. package/lib/display/dom_utils.js +112 -59
  56. package/lib/display/fetch_stream.js +95 -50
  57. package/lib/display/font_loader.js +250 -132
  58. package/lib/display/metadata.js +37 -15
  59. package/lib/display/network.js +123 -34
  60. package/lib/display/network_utils.js +23 -10
  61. package/lib/display/node_stream.js +162 -65
  62. package/lib/display/pattern_helper.js +57 -6
  63. package/lib/display/svg.js +194 -18
  64. package/lib/display/text_layer.js +128 -14
  65. package/lib/display/transport_stream.js +83 -27
  66. package/lib/display/webgl.js +63 -17
  67. package/lib/display/worker_options.js +4 -3
  68. package/lib/display/xml_parser.js +162 -52
  69. package/lib/examples/node/domstubs.js +56 -3
  70. package/lib/pdf.js +15 -2
  71. package/lib/pdf.worker.js +4 -2
  72. package/lib/shared/compatibility.js +129 -26
  73. package/lib/shared/global_scope.js +1 -1
  74. package/lib/shared/is_node.js +3 -3
  75. package/lib/shared/message_handler.js +103 -45
  76. package/lib/shared/streams_polyfill.js +20 -16
  77. package/lib/shared/url_polyfill.js +8 -2
  78. package/lib/shared/util.js +246 -84
  79. package/lib/test/unit/annotation_spec.js +99 -73
  80. package/lib/test/unit/api_spec.js +347 -113
  81. package/lib/test/unit/bidi_spec.js +6 -6
  82. package/lib/test/unit/cff_parser_spec.js +17 -5
  83. package/lib/test/unit/clitests_helper.js +7 -8
  84. package/lib/test/unit/cmap_spec.js +79 -25
  85. package/lib/test/unit/colorspace_spec.js +65 -18
  86. package/lib/test/unit/crypto_spec.js +16 -4
  87. package/lib/test/unit/custom_spec.js +40 -52
  88. package/lib/test/unit/display_svg_spec.js +32 -16
  89. package/lib/test/unit/document_spec.js +2 -2
  90. package/lib/test/unit/dom_utils_spec.js +8 -8
  91. package/lib/test/unit/encodings_spec.js +24 -44
  92. package/lib/test/unit/evaluator_spec.js +15 -8
  93. package/lib/test/unit/function_spec.js +16 -4
  94. package/lib/test/unit/jasmine-boot.js +29 -16
  95. package/lib/test/unit/message_handler_spec.js +19 -6
  96. package/lib/test/unit/metadata_spec.js +64 -11
  97. package/lib/test/unit/murmurhash3_spec.js +2 -2
  98. package/lib/test/unit/network_spec.js +19 -4
  99. package/lib/test/unit/network_utils_spec.js +6 -4
  100. package/lib/test/unit/node_stream_spec.js +50 -26
  101. package/lib/test/unit/parser_spec.js +13 -29
  102. package/lib/test/unit/pdf_find_controller_spec.js +144 -32
  103. package/lib/test/unit/pdf_find_utils_spec.js +10 -9
  104. package/lib/test/unit/pdf_history_spec.js +20 -8
  105. package/lib/test/unit/primitives_spec.js +23 -3
  106. package/lib/test/unit/stream_spec.js +8 -3
  107. package/lib/test/unit/test_utils.js +89 -26
  108. package/lib/test/unit/testreporter.js +19 -1
  109. package/lib/test/unit/type1_parser_spec.js +7 -5
  110. package/lib/test/unit/ui_utils_spec.js +162 -38
  111. package/lib/test/unit/unicode_spec.js +13 -10
  112. package/lib/test/unit/util_spec.js +89 -9
  113. package/lib/web/annotation_layer_builder.js +38 -21
  114. package/lib/web/app.js +610 -245
  115. package/lib/web/app_options.js +54 -34
  116. package/lib/web/base_viewer.js +359 -162
  117. package/lib/web/chromecom.js +159 -80
  118. package/lib/web/debugger.js +161 -17
  119. package/lib/web/download_manager.js +29 -11
  120. package/lib/web/firefox_print_service.js +16 -8
  121. package/lib/web/firefoxcom.js +127 -91
  122. package/lib/web/genericcom.js +50 -31
  123. package/lib/web/genericl10n.js +46 -34
  124. package/lib/web/grab_to_pan.js +25 -3
  125. package/lib/web/interfaces.js +108 -61
  126. package/lib/web/overlay_manager.js +67 -45
  127. package/lib/web/password_prompt.js +20 -12
  128. package/lib/web/pdf_attachment_viewer.js +37 -17
  129. package/lib/web/pdf_cursor_tools.js +38 -15
  130. package/lib/web/pdf_document_properties.js +65 -24
  131. package/lib/web/pdf_find_bar.js +48 -20
  132. package/lib/web/pdf_find_controller.js +290 -89
  133. package/lib/web/pdf_find_utils.js +19 -3
  134. package/lib/web/pdf_history.js +186 -49
  135. package/lib/web/pdf_link_service.js +127 -52
  136. package/lib/web/pdf_outline_viewer.js +71 -21
  137. package/lib/web/pdf_page_view.js +188 -63
  138. package/lib/web/pdf_presentation_mode.js +98 -33
  139. package/lib/web/pdf_print_service.js +54 -10
  140. package/lib/web/pdf_rendering_queue.js +26 -4
  141. package/lib/web/pdf_sidebar.js +116 -62
  142. package/lib/web/pdf_sidebar_resizer.js +41 -15
  143. package/lib/web/pdf_single_page_viewer.js +65 -68
  144. package/lib/web/pdf_thumbnail_view.js +102 -31
  145. package/lib/web/pdf_thumbnail_viewer.js +62 -22
  146. package/lib/web/pdf_viewer.component.js +111 -31
  147. package/lib/web/pdf_viewer.js +80 -60
  148. package/lib/web/preferences.js +61 -39
  149. package/lib/web/secondary_toolbar.js +101 -82
  150. package/lib/web/text_layer_builder.js +124 -69
  151. package/lib/web/toolbar.js +67 -27
  152. package/lib/web/ui_utils.js +284 -128
  153. package/lib/web/view_history.js +75 -51
  154. package/lib/web/viewer_compatibility.js +2 -1
  155. package/package.json +1 -1
  156. package/web/pdf_viewer.css +1 -1
  157. package/web/pdf_viewer.js +2200 -973
  158. package/web/pdf_viewer.js.map +1 -1
  159. package/lib/web/dom_events.js +0 -140
@@ -19,35 +19,37 @@
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.SimpleLinkService = exports.PDFLinkService = undefined;
27
+ exports.SimpleLinkService = exports.PDFLinkService = void 0;
28
28
 
29
- var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
29
+ var _ui_utils = require("./ui_utils");
30
30
 
31
- 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; }; }();
31
+ function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
32
32
 
33
- var _dom_events = require('./dom_events');
33
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
34
34
 
35
- var _ui_utils = require('./ui_utils');
35
+ 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); } }
36
36
 
37
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
37
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
38
38
 
39
- var PDFLinkService = function () {
39
+ var PDFLinkService =
40
+ /*#__PURE__*/
41
+ function () {
40
42
  function PDFLinkService() {
41
43
  var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
42
44
  eventBus = _ref.eventBus,
43
45
  _ref$externalLinkTarg = _ref.externalLinkTarget,
44
- externalLinkTarget = _ref$externalLinkTarg === undefined ? null : _ref$externalLinkTarg,
46
+ externalLinkTarget = _ref$externalLinkTarg === void 0 ? null : _ref$externalLinkTarg,
45
47
  _ref$externalLinkRel = _ref.externalLinkRel,
46
- externalLinkRel = _ref$externalLinkRel === undefined ? null : _ref$externalLinkRel;
48
+ externalLinkRel = _ref$externalLinkRel === void 0 ? null : _ref$externalLinkRel;
47
49
 
48
50
  _classCallCheck(this, PDFLinkService);
49
51
 
50
- this.eventBus = eventBus || (0, _dom_events.getGlobalEventBus)();
52
+ this.eventBus = eventBus || (0, _ui_utils.getGlobalEventBus)();
51
53
  this.externalLinkTarget = externalLinkTarget;
52
54
  this.externalLinkRel = externalLinkRel;
53
55
  this.baseUrl = null;
@@ -58,72 +60,79 @@ var PDFLinkService = function () {
58
60
  }
59
61
 
60
62
  _createClass(PDFLinkService, [{
61
- key: 'setDocument',
63
+ key: "setDocument",
62
64
  value: function setDocument(pdfDocument) {
63
65
  var baseUrl = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
64
-
65
66
  this.baseUrl = baseUrl;
66
67
  this.pdfDocument = pdfDocument;
67
68
  this._pagesRefCache = Object.create(null);
68
69
  }
69
70
  }, {
70
- key: 'setViewer',
71
+ key: "setViewer",
71
72
  value: function setViewer(pdfViewer) {
72
73
  this.pdfViewer = pdfViewer;
73
74
  }
74
75
  }, {
75
- key: 'setHistory',
76
+ key: "setHistory",
76
77
  value: function setHistory(pdfHistory) {
77
78
  this.pdfHistory = pdfHistory;
78
79
  }
79
80
  }, {
80
- key: 'navigateTo',
81
+ key: "navigateTo",
81
82
  value: function navigateTo(dest) {
82
83
  var _this = this;
83
84
 
84
85
  var goToDestination = function goToDestination(_ref2) {
85
86
  var namedDest = _ref2.namedDest,
86
87
  explicitDest = _ref2.explicitDest;
87
-
88
88
  var destRef = explicitDest[0],
89
- pageNumber = void 0;
89
+ pageNumber;
90
+
90
91
  if (destRef instanceof Object) {
91
92
  pageNumber = _this._cachedPageNumber(destRef);
93
+
92
94
  if (pageNumber === null) {
93
95
  _this.pdfDocument.getPageIndex(destRef).then(function (pageIndex) {
94
96
  _this.cachePageRef(pageIndex + 1, destRef);
97
+
95
98
  goToDestination({
96
99
  namedDest: namedDest,
97
100
  explicitDest: explicitDest
98
101
  });
99
102
  }).catch(function () {
100
- console.error('PDFLinkService.navigateTo: "' + destRef + '" is not ' + ('a valid page reference, for dest="' + dest + '".'));
103
+ console.error("PDFLinkService.navigateTo: \"".concat(destRef, "\" is not ") + "a valid page reference, for dest=\"".concat(dest, "\"."));
101
104
  });
105
+
102
106
  return;
103
107
  }
104
108
  } else if (Number.isInteger(destRef)) {
105
109
  pageNumber = destRef + 1;
106
110
  } else {
107
- console.error('PDFLinkService.navigateTo: "' + destRef + '" is not ' + ('a valid destination reference, for dest="' + dest + '".'));
111
+ console.error("PDFLinkService.navigateTo: \"".concat(destRef, "\" is not ") + "a valid destination reference, for dest=\"".concat(dest, "\"."));
108
112
  return;
109
113
  }
114
+
110
115
  if (!pageNumber || pageNumber < 1 || pageNumber > _this.pagesCount) {
111
- console.error('PDFLinkService.navigateTo: "' + pageNumber + '" is not ' + ('a valid page number, for dest="' + dest + '".'));
116
+ console.error("PDFLinkService.navigateTo: \"".concat(pageNumber, "\" is not ") + "a valid page number, for dest=\"".concat(dest, "\"."));
112
117
  return;
113
118
  }
119
+
114
120
  if (_this.pdfHistory) {
115
121
  _this.pdfHistory.pushCurrentPosition();
122
+
116
123
  _this.pdfHistory.push({
117
124
  namedDest: namedDest,
118
125
  explicitDest: explicitDest,
119
126
  pageNumber: pageNumber
120
127
  });
121
128
  }
129
+
122
130
  _this.pdfViewer.scrollPageIntoView({
123
131
  pageNumber: pageNumber,
124
132
  destArray: explicitDest
125
133
  });
126
134
  };
135
+
127
136
  new Promise(function (resolve, reject) {
128
137
  if (typeof dest === 'string') {
129
138
  _this.pdfDocument.getDestination(dest).then(function (destArray) {
@@ -132,44 +141,50 @@ var PDFLinkService = function () {
132
141
  explicitDest: destArray
133
142
  });
134
143
  });
144
+
135
145
  return;
136
146
  }
147
+
137
148
  resolve({
138
149
  namedDest: '',
139
150
  explicitDest: dest
140
151
  });
141
152
  }).then(function (data) {
142
153
  if (!Array.isArray(data.explicitDest)) {
143
- console.error('PDFLinkService.navigateTo: "' + data.explicitDest + '" is' + (' not a valid destination array, for dest="' + dest + '".'));
154
+ console.error("PDFLinkService.navigateTo: \"".concat(data.explicitDest, "\" is") + " not a valid destination array, for dest=\"".concat(dest, "\"."));
144
155
  return;
145
156
  }
157
+
146
158
  goToDestination(data);
147
159
  });
148
160
  }
149
161
  }, {
150
- key: 'getDestinationHash',
162
+ key: "getDestinationHash",
151
163
  value: function getDestinationHash(dest) {
152
164
  if (typeof dest === 'string') {
153
165
  return this.getAnchorUrl('#' + escape(dest));
154
166
  }
167
+
155
168
  if (Array.isArray(dest)) {
156
169
  var str = JSON.stringify(dest);
157
170
  return this.getAnchorUrl('#' + escape(str));
158
171
  }
172
+
159
173
  return this.getAnchorUrl('');
160
174
  }
161
175
  }, {
162
- key: 'getAnchorUrl',
176
+ key: "getAnchorUrl",
163
177
  value: function getAnchorUrl(anchor) {
164
178
  return (this.baseUrl || '') + anchor;
165
179
  }
166
180
  }, {
167
- key: 'setHash',
181
+ key: "setHash",
168
182
  value: function setHash(hash) {
169
- var pageNumber = void 0,
170
- dest = void 0;
183
+ var pageNumber, dest;
184
+
171
185
  if (hash.includes('=')) {
172
186
  var params = (0, _ui_utils.parseQueryString)(hash);
187
+
173
188
  if ('search' in params) {
174
189
  this.eventBus.dispatch('findfromurlhash', {
175
190
  source: this,
@@ -177,35 +192,48 @@ var PDFLinkService = function () {
177
192
  phraseSearch: params['phrase'] === 'true'
178
193
  });
179
194
  }
195
+
180
196
  if ('nameddest' in params) {
181
197
  this.navigateTo(params.nameddest);
182
198
  return;
183
199
  }
200
+
184
201
  if ('page' in params) {
185
202
  pageNumber = params.page | 0 || 1;
186
203
  }
204
+
187
205
  if ('zoom' in params) {
188
206
  var zoomArgs = params.zoom.split(',');
189
207
  var zoomArg = zoomArgs[0];
190
208
  var zoomArgNumber = parseFloat(zoomArg);
209
+
191
210
  if (!zoomArg.includes('Fit')) {
192
- dest = [null, { name: 'XYZ' }, zoomArgs.length > 1 ? zoomArgs[1] | 0 : null, zoomArgs.length > 2 ? zoomArgs[2] | 0 : null, zoomArgNumber ? zoomArgNumber / 100 : zoomArg];
211
+ dest = [null, {
212
+ name: 'XYZ'
213
+ }, zoomArgs.length > 1 ? zoomArgs[1] | 0 : null, zoomArgs.length > 2 ? zoomArgs[2] | 0 : null, zoomArgNumber ? zoomArgNumber / 100 : zoomArg];
193
214
  } else {
194
215
  if (zoomArg === 'Fit' || zoomArg === 'FitB') {
195
- dest = [null, { name: zoomArg }];
216
+ dest = [null, {
217
+ name: zoomArg
218
+ }];
196
219
  } else if (zoomArg === 'FitH' || zoomArg === 'FitBH' || zoomArg === 'FitV' || zoomArg === 'FitBV') {
197
- dest = [null, { name: zoomArg }, zoomArgs.length > 1 ? zoomArgs[1] | 0 : null];
220
+ dest = [null, {
221
+ name: zoomArg
222
+ }, zoomArgs.length > 1 ? zoomArgs[1] | 0 : null];
198
223
  } else if (zoomArg === 'FitR') {
199
224
  if (zoomArgs.length !== 5) {
200
225
  console.error('PDFLinkService.setHash: Not enough parameters for "FitR".');
201
226
  } else {
202
- dest = [null, { name: zoomArg }, zoomArgs[1] | 0, zoomArgs[2] | 0, zoomArgs[3] | 0, zoomArgs[4] | 0];
227
+ dest = [null, {
228
+ name: zoomArg
229
+ }, zoomArgs[1] | 0, zoomArgs[2] | 0, zoomArgs[3] | 0, zoomArgs[4] | 0];
203
230
  }
204
231
  } else {
205
- console.error('PDFLinkService.setHash: "' + zoomArg + '" is not ' + 'a valid zoom value.');
232
+ console.error("PDFLinkService.setHash: \"".concat(zoomArg, "\" is not ") + 'a valid zoom value.');
206
233
  }
207
234
  }
208
235
  }
236
+
209
237
  if (dest) {
210
238
  this.pdfViewer.scrollPageIntoView({
211
239
  pageNumber: pageNumber || this.page,
@@ -215,6 +243,7 @@ var PDFLinkService = function () {
215
243
  } else if (pageNumber) {
216
244
  this.page = pageNumber;
217
245
  }
246
+
218
247
  if ('pagemode' in params) {
219
248
  this.eventBus.dispatch('pagemode', {
220
249
  source: this,
@@ -223,79 +252,100 @@ var PDFLinkService = function () {
223
252
  }
224
253
  } else {
225
254
  dest = unescape(hash);
255
+
226
256
  try {
227
257
  dest = JSON.parse(dest);
258
+
228
259
  if (!Array.isArray(dest)) {
229
260
  dest = dest.toString();
230
261
  }
231
262
  } catch (ex) {}
263
+
232
264
  if (typeof dest === 'string' || isValidExplicitDestination(dest)) {
233
265
  this.navigateTo(dest);
234
266
  return;
235
267
  }
236
- console.error('PDFLinkService.setHash: "' + unescape(hash) + '" is not ' + 'a valid destination.');
268
+
269
+ console.error("PDFLinkService.setHash: \"".concat(unescape(hash), "\" is not ") + 'a valid destination.');
237
270
  }
238
271
  }
239
272
  }, {
240
- key: 'executeNamedAction',
273
+ key: "executeNamedAction",
241
274
  value: function executeNamedAction(action) {
242
275
  switch (action) {
243
276
  case 'GoBack':
244
277
  if (this.pdfHistory) {
245
278
  this.pdfHistory.back();
246
279
  }
280
+
247
281
  break;
282
+
248
283
  case 'GoForward':
249
284
  if (this.pdfHistory) {
250
285
  this.pdfHistory.forward();
251
286
  }
287
+
252
288
  break;
289
+
253
290
  case 'NextPage':
254
291
  if (this.page < this.pagesCount) {
255
292
  this.page++;
256
293
  }
294
+
257
295
  break;
296
+
258
297
  case 'PrevPage':
259
298
  if (this.page > 1) {
260
299
  this.page--;
261
300
  }
301
+
262
302
  break;
303
+
263
304
  case 'LastPage':
264
305
  this.page = this.pagesCount;
265
306
  break;
307
+
266
308
  case 'FirstPage':
267
309
  this.page = 1;
268
310
  break;
311
+
269
312
  default:
270
313
  break;
271
314
  }
315
+
272
316
  this.eventBus.dispatch('namedaction', {
273
317
  source: this,
274
318
  action: action
275
319
  });
276
320
  }
277
321
  }, {
278
- key: 'cachePageRef',
322
+ key: "cachePageRef",
279
323
  value: function cachePageRef(pageNum, pageRef) {
280
324
  if (!pageRef) {
281
325
  return;
282
326
  }
327
+
283
328
  var refStr = pageRef.num + ' ' + pageRef.gen + ' R';
284
329
  this._pagesRefCache[refStr] = pageNum;
285
330
  }
286
331
  }, {
287
- key: '_cachedPageNumber',
332
+ key: "_cachedPageNumber",
288
333
  value: function _cachedPageNumber(pageRef) {
289
334
  var refStr = pageRef.num + ' ' + pageRef.gen + ' R';
290
335
  return this._pagesRefCache && this._pagesRefCache[refStr] || null;
291
336
  }
292
337
  }, {
293
- key: 'pagesCount',
338
+ key: "isPageVisible",
339
+ value: function isPageVisible(pageNumber) {
340
+ return this.pdfViewer.isPageVisible(pageNumber);
341
+ }
342
+ }, {
343
+ key: "pagesCount",
294
344
  get: function get() {
295
345
  return this.pdfDocument ? this.pdfDocument.numPages : 0;
296
346
  }
297
347
  }, {
298
- key: 'page',
348
+ key: "page",
299
349
  get: function get() {
300
350
  return this.pdfViewer.currentPageNumber;
301
351
  },
@@ -303,7 +353,7 @@ var PDFLinkService = function () {
303
353
  this.pdfViewer.currentPageNumber = value;
304
354
  }
305
355
  }, {
306
- key: 'rotation',
356
+ key: "rotation",
307
357
  get: function get() {
308
358
  return this.pdfViewer.pagesRotation;
309
359
  },
@@ -315,32 +365,44 @@ var PDFLinkService = function () {
315
365
  return PDFLinkService;
316
366
  }();
317
367
 
368
+ exports.PDFLinkService = PDFLinkService;
369
+
318
370
  function isValidExplicitDestination(dest) {
319
371
  if (!Array.isArray(dest)) {
320
372
  return false;
321
373
  }
374
+
322
375
  var destLength = dest.length,
323
376
  allowNull = true;
377
+
324
378
  if (destLength < 2) {
325
379
  return false;
326
380
  }
381
+
327
382
  var page = dest[0];
328
- if (!((typeof page === 'undefined' ? 'undefined' : _typeof(page)) === 'object' && Number.isInteger(page.num) && Number.isInteger(page.gen)) && !(Number.isInteger(page) && page >= 0)) {
383
+
384
+ if (!(_typeof(page) === 'object' && Number.isInteger(page.num) && Number.isInteger(page.gen)) && !(Number.isInteger(page) && page >= 0)) {
329
385
  return false;
330
386
  }
387
+
331
388
  var zoom = dest[1];
332
- if (!((typeof zoom === 'undefined' ? 'undefined' : _typeof(zoom)) === 'object' && typeof zoom.name === 'string')) {
389
+
390
+ if (!(_typeof(zoom) === 'object' && typeof zoom.name === 'string')) {
333
391
  return false;
334
392
  }
393
+
335
394
  switch (zoom.name) {
336
395
  case 'XYZ':
337
396
  if (destLength !== 5) {
338
397
  return false;
339
398
  }
399
+
340
400
  break;
401
+
341
402
  case 'Fit':
342
403
  case 'FitB':
343
404
  return destLength === 2;
405
+
344
406
  case 'FitH':
345
407
  case 'FitBH':
346
408
  case 'FitV':
@@ -348,26 +410,35 @@ function isValidExplicitDestination(dest) {
348
410
  if (destLength !== 3) {
349
411
  return false;
350
412
  }
413
+
351
414
  break;
415
+
352
416
  case 'FitR':
353
417
  if (destLength !== 6) {
354
418
  return false;
355
419
  }
420
+
356
421
  allowNull = false;
357
422
  break;
423
+
358
424
  default:
359
425
  return false;
360
426
  }
427
+
361
428
  for (var i = 2; i < destLength; i++) {
362
429
  var param = dest[i];
430
+
363
431
  if (!(typeof param === 'number' || allowNull && param === null)) {
364
432
  return false;
365
433
  }
366
434
  }
435
+
367
436
  return true;
368
437
  }
369
438
 
370
- var SimpleLinkService = function () {
439
+ var SimpleLinkService =
440
+ /*#__PURE__*/
441
+ function () {
371
442
  function SimpleLinkService() {
372
443
  _classCallCheck(this, SimpleLinkService);
373
444
 
@@ -376,40 +447,45 @@ var SimpleLinkService = function () {
376
447
  }
377
448
 
378
449
  _createClass(SimpleLinkService, [{
379
- key: 'navigateTo',
450
+ key: "navigateTo",
380
451
  value: function navigateTo(dest) {}
381
452
  }, {
382
- key: 'getDestinationHash',
453
+ key: "getDestinationHash",
383
454
  value: function getDestinationHash(dest) {
384
455
  return '#';
385
456
  }
386
457
  }, {
387
- key: 'getAnchorUrl',
458
+ key: "getAnchorUrl",
388
459
  value: function getAnchorUrl(hash) {
389
460
  return '#';
390
461
  }
391
462
  }, {
392
- key: 'setHash',
463
+ key: "setHash",
393
464
  value: function setHash(hash) {}
394
465
  }, {
395
- key: 'executeNamedAction',
466
+ key: "executeNamedAction",
396
467
  value: function executeNamedAction(action) {}
397
468
  }, {
398
- key: 'cachePageRef',
469
+ key: "cachePageRef",
399
470
  value: function cachePageRef(pageNum, pageRef) {}
400
471
  }, {
401
- key: 'pagesCount',
472
+ key: "isPageVisible",
473
+ value: function isPageVisible(pageNumber) {
474
+ return true;
475
+ }
476
+ }, {
477
+ key: "pagesCount",
402
478
  get: function get() {
403
479
  return 0;
404
480
  }
405
481
  }, {
406
- key: 'page',
482
+ key: "page",
407
483
  get: function get() {
408
484
  return 0;
409
485
  },
410
486
  set: function set(value) {}
411
487
  }, {
412
- key: 'rotation',
488
+ key: "rotation",
413
489
  get: function get() {
414
490
  return 0;
415
491
  },
@@ -419,5 +495,4 @@ var SimpleLinkService = function () {
419
495
  return SimpleLinkService;
420
496
  }();
421
497
 
422
- exports.PDFLinkService = PDFLinkService;
423
498
  exports.SimpleLinkService = SimpleLinkService;