pdfjs-dist 2.1.266 → 2.5.207

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 (191) hide show
  1. package/CODE_OF_CONDUCT.md +15 -0
  2. package/README.md +4 -0
  3. package/bower.json +1 -1
  4. package/build/pdf.js +8382 -18492
  5. package/build/pdf.js.map +1 -1
  6. package/build/pdf.min.js +22 -1
  7. package/build/pdf.worker.entry.js +5 -3
  8. package/build/pdf.worker.js +20417 -29816
  9. package/build/pdf.worker.js.map +1 -1
  10. package/build/pdf.worker.min.js +22 -1
  11. package/es5/build/pdf.js +25688 -0
  12. package/es5/build/pdf.js.map +1 -0
  13. package/{lib/shared/global_scope.js → es5/build/pdf.worker.entry.js} +5 -10
  14. package/es5/build/pdf.worker.js +58239 -0
  15. package/es5/build/pdf.worker.js.map +1 -0
  16. package/es5/web/images/annotation-check.svg +11 -0
  17. package/es5/web/images/annotation-comment.svg +16 -0
  18. package/es5/web/images/annotation-help.svg +26 -0
  19. package/es5/web/images/annotation-insert.svg +10 -0
  20. package/es5/web/images/annotation-key.svg +11 -0
  21. package/es5/web/images/annotation-newparagraph.svg +11 -0
  22. package/es5/web/images/annotation-noicon.svg +7 -0
  23. package/es5/web/images/annotation-note.svg +42 -0
  24. package/es5/web/images/annotation-paragraph.svg +16 -0
  25. package/es5/web/images/loading-icon.gif +0 -0
  26. package/es5/web/images/shadow.png +0 -0
  27. package/es5/web/images/texture.png +0 -0
  28. package/es5/web/pdf_viewer.css +403 -0
  29. package/es5/web/pdf_viewer.js +7742 -0
  30. package/es5/web/pdf_viewer.js.map +1 -0
  31. package/image_decoders/pdf.image_decoders.js +1475 -4897
  32. package/image_decoders/pdf.image_decoders.js.map +1 -1
  33. package/image_decoders/pdf.image_decoders.min.js +22 -1
  34. package/lib/README.md +7 -0
  35. package/lib/core/annotation.js +750 -899
  36. package/lib/core/arithmetic_decoder.js +81 -97
  37. package/lib/core/bidi.js +54 -46
  38. package/lib/core/ccitt.js +88 -81
  39. package/lib/core/ccitt_stream.js +15 -14
  40. package/lib/core/cff_parser.js +235 -183
  41. package/lib/core/charsets.js +4 -4
  42. package/lib/core/chunked_stream.js +447 -542
  43. package/lib/core/cmap.js +222 -264
  44. package/lib/core/colorspace.js +699 -863
  45. package/lib/core/core_utils.js +152 -0
  46. package/lib/core/crypto.js +379 -437
  47. package/lib/core/document.js +573 -660
  48. package/lib/core/encodings.js +15 -15
  49. package/lib/core/evaluator.js +1103 -868
  50. package/lib/core/font_renderer.js +135 -178
  51. package/lib/core/fonts.js +570 -491
  52. package/lib/core/function.js +291 -288
  53. package/lib/core/glyphlist.js +4527 -4526
  54. package/lib/core/image.js +145 -149
  55. package/lib/core/image_utils.js +170 -0
  56. package/lib/core/jbig2.js +325 -316
  57. package/lib/core/jbig2_stream.js +18 -17
  58. package/lib/core/jpeg_stream.js +21 -26
  59. package/lib/core/jpg.js +284 -232
  60. package/lib/core/jpx.js +161 -143
  61. package/lib/core/jpx_stream.js +28 -28
  62. package/lib/core/metrics.js +2929 -2929
  63. package/lib/core/murmurhash3.js +90 -101
  64. package/lib/core/obj.js +1183 -1157
  65. package/lib/core/operator_list.js +99 -67
  66. package/lib/core/parser.js +972 -911
  67. package/lib/core/pattern.js +87 -70
  68. package/lib/core/pdf_manager.js +150 -315
  69. package/lib/core/primitives.js +83 -56
  70. package/lib/core/ps_parser.js +175 -214
  71. package/lib/core/standard_fonts.js +237 -236
  72. package/lib/core/stream.js +94 -74
  73. package/lib/core/type1_parser.js +87 -69
  74. package/lib/core/unicode.js +1654 -1654
  75. package/lib/core/worker.js +193 -390
  76. package/lib/core/worker_stream.js +168 -0
  77. package/lib/display/annotation_layer.js +741 -972
  78. package/lib/display/api.js +1500 -1791
  79. package/lib/display/api_compatibility.js +12 -17
  80. package/lib/display/canvas.js +165 -165
  81. package/lib/display/content_disposition.js +40 -59
  82. package/lib/display/display_utils.js +515 -0
  83. package/lib/display/fetch_stream.js +183 -298
  84. package/lib/display/font_loader.js +273 -413
  85. package/lib/display/metadata.js +86 -98
  86. package/lib/display/network.js +266 -359
  87. package/lib/display/network_utils.js +25 -18
  88. package/lib/display/node_stream.js +285 -458
  89. package/lib/display/pattern_helper.js +113 -65
  90. package/lib/display/svg.js +1166 -901
  91. package/lib/display/text_layer.js +156 -132
  92. package/lib/display/transport_stream.js +262 -278
  93. package/lib/display/webgl.js +70 -83
  94. package/lib/display/worker_options.js +3 -3
  95. package/lib/display/xml_parser.js +303 -392
  96. package/lib/examples/node/domstubs.js +40 -37
  97. package/lib/pdf.js +226 -59
  98. package/lib/pdf.worker.js +14 -6
  99. package/lib/shared/compatibility.js +3 -246
  100. package/lib/shared/is_node.js +7 -6
  101. package/lib/shared/message_handler.js +327 -332
  102. package/lib/shared/util.js +266 -416
  103. package/lib/test/unit/annotation_spec.js +1555 -701
  104. package/lib/test/unit/api_spec.js +802 -604
  105. package/lib/test/unit/bidi_spec.js +7 -7
  106. package/lib/test/unit/cff_parser_spec.js +84 -69
  107. package/lib/test/unit/clitests_helper.js +7 -9
  108. package/lib/test/unit/cmap_spec.js +74 -76
  109. package/lib/test/unit/colorspace_spec.js +166 -161
  110. package/lib/test/unit/core_utils_spec.js +211 -0
  111. package/lib/test/unit/crypto_spec.js +181 -181
  112. package/lib/test/unit/custom_spec.js +20 -22
  113. package/lib/test/unit/display_svg_spec.js +34 -39
  114. package/lib/test/unit/display_utils_spec.js +263 -0
  115. package/lib/test/unit/document_spec.js +16 -21
  116. package/lib/test/unit/encodings_spec.js +12 -34
  117. package/lib/test/unit/evaluator_spec.js +83 -83
  118. package/lib/test/unit/fetch_stream_spec.js +111 -0
  119. package/lib/test/unit/function_spec.js +206 -204
  120. package/lib/test/unit/jasmine-boot.js +46 -30
  121. package/lib/test/unit/message_handler_spec.js +173 -159
  122. package/lib/test/unit/metadata_spec.js +69 -69
  123. package/lib/test/unit/murmurhash3_spec.js +12 -12
  124. package/lib/test/unit/network_spec.js +13 -61
  125. package/lib/test/unit/network_utils_spec.js +183 -119
  126. package/lib/test/unit/node_stream_spec.js +78 -92
  127. package/lib/test/unit/parser_spec.js +172 -114
  128. package/lib/test/unit/pdf_find_controller_spec.js +55 -86
  129. package/lib/test/unit/pdf_find_utils_spec.js +32 -32
  130. package/lib/test/unit/pdf_history_spec.js +32 -32
  131. package/lib/test/unit/primitives_spec.js +140 -125
  132. package/lib/test/unit/stream_spec.js +16 -14
  133. package/lib/test/unit/test_utils.js +131 -143
  134. package/lib/test/unit/testreporter.js +19 -19
  135. package/lib/test/unit/type1_parser_spec.js +42 -42
  136. package/lib/test/unit/ui_utils_spec.js +297 -459
  137. package/lib/test/unit/unicode_spec.js +38 -38
  138. package/lib/test/unit/util_spec.js +121 -305
  139. package/lib/web/annotation_layer_builder.js +66 -103
  140. package/lib/web/app.js +1328 -1214
  141. package/lib/web/app_options.js +105 -107
  142. package/lib/web/base_viewer.js +824 -838
  143. package/lib/web/chromecom.js +165 -252
  144. package/lib/web/debugger.js +149 -205
  145. package/lib/web/download_manager.js +39 -55
  146. package/lib/web/firefox_print_service.js +37 -27
  147. package/lib/web/firefoxcom.js +212 -363
  148. package/lib/web/genericcom.js +26 -108
  149. package/lib/web/genericl10n.js +24 -153
  150. package/lib/web/grab_to_pan.js +32 -30
  151. package/lib/web/interfaces.js +80 -254
  152. package/lib/web/overlay_manager.js +70 -246
  153. package/lib/web/password_prompt.js +38 -64
  154. package/lib/web/pdf_attachment_viewer.js +113 -131
  155. package/lib/web/pdf_cursor_tools.js +75 -102
  156. package/lib/web/pdf_document_properties.js +221 -306
  157. package/lib/web/pdf_find_bar.js +136 -170
  158. package/lib/web/pdf_find_controller.js +491 -548
  159. package/lib/web/pdf_find_utils.js +13 -13
  160. package/lib/web/pdf_history.js +397 -406
  161. package/lib/web/pdf_link_service.js +304 -348
  162. package/lib/web/pdf_outline_viewer.js +140 -175
  163. package/lib/web/pdf_page_view.js +452 -523
  164. package/lib/web/pdf_presentation_mode.js +308 -357
  165. package/lib/web/pdf_print_service.js +90 -104
  166. package/lib/web/pdf_rendering_queue.js +84 -108
  167. package/lib/web/pdf_sidebar.js +276 -306
  168. package/lib/web/pdf_sidebar_resizer.js +92 -119
  169. package/lib/web/pdf_single_page_viewer.js +77 -126
  170. package/lib/web/pdf_thumbnail_view.js +276 -297
  171. package/lib/web/pdf_thumbnail_viewer.js +186 -206
  172. package/lib/web/pdf_viewer.component.js +20 -21
  173. package/lib/web/pdf_viewer.js +55 -115
  174. package/lib/web/preferences.js +82 -286
  175. package/lib/web/secondary_toolbar.js +164 -196
  176. package/lib/web/text_layer_builder.js +282 -339
  177. package/lib/web/toolbar.js +217 -210
  178. package/lib/web/ui_utils.js +267 -420
  179. package/lib/web/view_history.js +52 -226
  180. package/lib/web/viewer_compatibility.js +21 -6
  181. package/package.json +2 -9
  182. package/web/pdf_viewer.css +35 -25
  183. package/web/pdf_viewer.js +3489 -4855
  184. package/web/pdf_viewer.js.map +1 -1
  185. package/webpack.js +14 -5
  186. package/external/streams/streams-lib.js +0 -3962
  187. package/external/url/url-lib.js +0 -627
  188. package/lib/display/dom_utils.js +0 -494
  189. package/lib/shared/streams_polyfill.js +0 -43
  190. package/lib/shared/url_polyfill.js +0 -56
  191. package/lib/test/unit/dom_utils_spec.js +0 -89
@@ -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 2018 Mozilla Foundation
5
+ * Copyright 2020 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.
@@ -26,137 +26,77 @@ Object.defineProperty(exports, "__esModule", {
26
26
  });
27
27
  exports.PDFViewer = void 0;
28
28
 
29
- var _base_viewer = require("./base_viewer");
29
+ var _base_viewer = require("./base_viewer.js");
30
30
 
31
31
  var _pdf = require("../pdf");
32
32
 
33
- 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); }
34
-
35
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
36
-
37
- 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); } }
38
-
39
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
40
-
41
- function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
42
-
43
- function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
44
-
45
- function _get(target, property, receiver) { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); }
46
-
47
- function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }
48
-
49
- function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
50
-
51
- function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
33
+ class PDFViewer extends _base_viewer.BaseViewer {
34
+ get _viewerElement() {
35
+ return (0, _pdf.shadow)(this, "_viewerElement", this.viewer);
36
+ }
52
37
 
53
- function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
38
+ _scrollIntoView({
39
+ pageDiv,
40
+ pageSpot = null,
41
+ pageNumber = null
42
+ }) {
43
+ if (!pageSpot && !this.isInPresentationMode) {
44
+ const left = pageDiv.offsetLeft + pageDiv.clientLeft;
45
+ const right = left + pageDiv.clientWidth;
46
+ const {
47
+ scrollLeft,
48
+ clientWidth
49
+ } = this.container;
50
+
51
+ if (this._isScrollModeHorizontal || left < scrollLeft || right > scrollLeft + clientWidth) {
52
+ pageSpot = {
53
+ left: 0,
54
+ top: 0
55
+ };
56
+ }
57
+ }
54
58
 
55
- var PDFViewer =
56
- /*#__PURE__*/
57
- function (_BaseViewer) {
58
- _inherits(PDFViewer, _BaseViewer);
59
+ super._scrollIntoView({
60
+ pageDiv,
61
+ pageSpot,
62
+ pageNumber
63
+ });
64
+ }
59
65
 
60
- function PDFViewer() {
61
- _classCallCheck(this, PDFViewer);
66
+ _getVisiblePages() {
67
+ if (this.isInPresentationMode) {
68
+ return this._getCurrentVisiblePage();
69
+ }
62
70
 
63
- return _possibleConstructorReturn(this, _getPrototypeOf(PDFViewer).apply(this, arguments));
71
+ return super._getVisiblePages();
64
72
  }
65
73
 
66
- _createClass(PDFViewer, [{
67
- key: "_scrollIntoView",
68
- value: function _scrollIntoView(_ref) {
69
- var pageDiv = _ref.pageDiv,
70
- _ref$pageSpot = _ref.pageSpot,
71
- pageSpot = _ref$pageSpot === void 0 ? null : _ref$pageSpot,
72
- _ref$pageNumber = _ref.pageNumber,
73
- pageNumber = _ref$pageNumber === void 0 ? null : _ref$pageNumber;
74
-
75
- if (!pageSpot && !this.isInPresentationMode) {
76
- var left = pageDiv.offsetLeft + pageDiv.clientLeft;
77
- var right = left + pageDiv.clientWidth;
78
- var _this$container = this.container,
79
- scrollLeft = _this$container.scrollLeft,
80
- clientWidth = _this$container.clientWidth;
81
-
82
- if (this._isScrollModeHorizontal || left < scrollLeft || right > scrollLeft + clientWidth) {
83
- pageSpot = {
84
- left: 0,
85
- top: 0
86
- };
87
- }
88
- }
89
-
90
- _get(_getPrototypeOf(PDFViewer.prototype), "_scrollIntoView", this).call(this, {
91
- pageDiv: pageDiv,
92
- pageSpot: pageSpot,
93
- pageNumber: pageNumber
94
- });
74
+ _updateHelper(visiblePages) {
75
+ if (this.isInPresentationMode) {
76
+ return;
95
77
  }
96
- }, {
97
- key: "_getVisiblePages",
98
- value: function _getVisiblePages() {
99
- if (this.isInPresentationMode) {
100
- return this._getCurrentVisiblePage();
101
- }
102
78
 
103
- return _get(_getPrototypeOf(PDFViewer.prototype), "_getVisiblePages", this).call(this);
104
- }
105
- }, {
106
- key: "_updateHelper",
107
- value: function _updateHelper(visiblePages) {
108
- if (this.isInPresentationMode) {
109
- return;
110
- }
79
+ let currentId = this._currentPageNumber;
80
+ let stillFullyVisible = false;
111
81
 
112
- var currentId = this._currentPageNumber;
113
- var stillFullyVisible = false;
114
- var _iteratorNormalCompletion = true;
115
- var _didIteratorError = false;
116
- var _iteratorError = undefined;
117
-
118
- try {
119
- for (var _iterator = visiblePages[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
120
- var page = _step.value;
121
-
122
- if (page.percent < 100) {
123
- break;
124
- }
125
-
126
- if (page.id === currentId) {
127
- stillFullyVisible = true;
128
- break;
129
- }
130
- }
131
- } catch (err) {
132
- _didIteratorError = true;
133
- _iteratorError = err;
134
- } finally {
135
- try {
136
- if (!_iteratorNormalCompletion && _iterator.return != null) {
137
- _iterator.return();
138
- }
139
- } finally {
140
- if (_didIteratorError) {
141
- throw _iteratorError;
142
- }
143
- }
82
+ for (const page of visiblePages) {
83
+ if (page.percent < 100) {
84
+ break;
144
85
  }
145
86
 
146
- if (!stillFullyVisible) {
147
- currentId = visiblePages[0].id;
87
+ if (page.id === currentId) {
88
+ stillFullyVisible = true;
89
+ break;
148
90
  }
149
-
150
- this._setCurrentPageNumber(currentId);
151
91
  }
152
- }, {
153
- key: "_setDocumentViewerElement",
154
- get: function get() {
155
- return (0, _pdf.shadow)(this, '_setDocumentViewerElement', this.viewer);
92
+
93
+ if (!stillFullyVisible) {
94
+ currentId = visiblePages[0].id;
156
95
  }
157
- }]);
158
96
 
159
- return PDFViewer;
160
- }(_base_viewer.BaseViewer);
97
+ this._setCurrentPageNumber(currentId);
98
+ }
99
+
100
+ }
161
101
 
162
102
  exports.PDFViewer = PDFViewer;
@@ -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 2018 Mozilla Foundation
5
+ * Copyright 2020 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.
@@ -26,344 +26,140 @@ Object.defineProperty(exports, "__esModule", {
26
26
  });
27
27
  exports.BasePreferences = void 0;
28
28
 
29
- var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
29
+ var _app_options = require("./app_options.js");
30
30
 
31
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
32
-
33
- 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); } }
34
-
35
- 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); }); }; }
36
-
37
- 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); }
38
-
39
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
40
-
41
- 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); } }
42
-
43
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
44
-
45
- var defaultPreferences = null;
31
+ let defaultPreferences = null;
46
32
 
47
33
  function getDefaultPreferences() {
48
34
  if (!defaultPreferences) {
49
35
  defaultPreferences = Promise.resolve({
50
- "viewOnLoad": 0,
51
- "defaultZoomValue": "",
52
- "sidebarViewOnLoad": -1,
53
36
  "cursorToolOnLoad": 0,
37
+ "defaultZoomValue": "",
38
+ "disablePageLabels": false,
39
+ "enablePermissions": false,
40
+ "enablePrintAutoRotate": false,
54
41
  "enableWebGL": false,
55
- "eventBusDispatchToDOM": false,
56
- "pdfBugEnabled": false,
57
- "disableRange": false,
58
- "disableStream": false,
59
- "disableAutoFetch": false,
60
- "disableFontFace": false,
61
- "textLayerMode": 1,
62
- "useOnlyCssZoom": false,
63
42
  "externalLinkTarget": 0,
43
+ "historyUpdateUrl": false,
44
+ "ignoreDestinationZoom": false,
45
+ "pdfBugEnabled": false,
64
46
  "renderer": "canvas",
65
47
  "renderInteractiveForms": false,
66
- "enablePrintAutoRotate": false,
67
- "disablePageLabels": false,
68
- "historyUpdateUrl": false,
48
+ "sidebarViewOnLoad": -1,
69
49
  "scrollModeOnLoad": -1,
70
- "spreadModeOnLoad": -1
50
+ "spreadModeOnLoad": -1,
51
+ "textLayerMode": 1,
52
+ "useOnlyCssZoom": false,
53
+ "viewOnLoad": 0,
54
+ "disableAutoFetch": false,
55
+ "disableFontFace": false,
56
+ "disableRange": false,
57
+ "disableStream": false
71
58
  });
72
59
  }
73
60
 
74
61
  return defaultPreferences;
75
62
  }
76
63
 
77
- var BasePreferences =
78
- /*#__PURE__*/
79
- function () {
80
- function BasePreferences() {
81
- var _this = this;
82
-
83
- _classCallCheck(this, BasePreferences);
84
-
64
+ class BasePreferences {
65
+ constructor() {
85
66
  if (this.constructor === BasePreferences) {
86
- throw new Error('Cannot initialize BasePreferences.');
67
+ throw new Error("Cannot initialize BasePreferences.");
87
68
  }
88
69
 
89
70
  this.prefs = null;
90
- this._initializedPromise = getDefaultPreferences().then(function (defaults) {
91
- Object.defineProperty(_this, 'defaults', {
71
+ this._initializedPromise = getDefaultPreferences().then(defaults => {
72
+ Object.defineProperty(this, "defaults", {
92
73
  value: Object.freeze(defaults),
93
74
  writable: false,
94
75
  enumerable: true,
95
76
  configurable: false
96
77
  });
97
- _this.prefs = Object.assign(Object.create(null), defaults);
98
- return _this._readFromStorage(defaults);
99
- }).then(function (prefs) {
78
+ this.prefs = Object.assign(Object.create(null), defaults);
79
+ return this._readFromStorage(defaults);
80
+ }).then(prefs => {
100
81
  if (!prefs) {
101
82
  return;
102
83
  }
103
84
 
104
- for (var name in prefs) {
105
- var defaultValue = _this.defaults[name],
106
- prefValue = prefs[name];
85
+ for (const name in prefs) {
86
+ const defaultValue = this.defaults[name],
87
+ prefValue = prefs[name];
107
88
 
108
- if (defaultValue === undefined || _typeof(prefValue) !== _typeof(defaultValue)) {
89
+ if (defaultValue === undefined || typeof prefValue !== typeof defaultValue) {
109
90
  continue;
110
91
  }
111
92
 
112
- _this.prefs[name] = prefValue;
93
+ this.prefs[name] = prefValue;
113
94
  }
114
95
  });
115
96
  }
116
97
 
117
- _createClass(BasePreferences, [{
118
- key: "_writeToStorage",
119
- value: function () {
120
- var _writeToStorage2 = _asyncToGenerator(
121
- /*#__PURE__*/
122
- _regenerator.default.mark(function _callee(prefObj) {
123
- return _regenerator.default.wrap(function _callee$(_context) {
124
- while (1) {
125
- switch (_context.prev = _context.next) {
126
- case 0:
127
- throw new Error('Not implemented: _writeToStorage');
128
-
129
- case 1:
130
- case "end":
131
- return _context.stop();
132
- }
133
- }
134
- }, _callee, this);
135
- }));
136
-
137
- function _writeToStorage(_x) {
138
- return _writeToStorage2.apply(this, arguments);
139
- }
140
-
141
- return _writeToStorage;
142
- }()
143
- }, {
144
- key: "_readFromStorage",
145
- value: function () {
146
- var _readFromStorage2 = _asyncToGenerator(
147
- /*#__PURE__*/
148
- _regenerator.default.mark(function _callee2(prefObj) {
149
- return _regenerator.default.wrap(function _callee2$(_context2) {
150
- while (1) {
151
- switch (_context2.prev = _context2.next) {
152
- case 0:
153
- throw new Error('Not implemented: _readFromStorage');
98
+ async _writeToStorage(prefObj) {
99
+ throw new Error("Not implemented: _writeToStorage");
100
+ }
154
101
 
155
- case 1:
156
- case "end":
157
- return _context2.stop();
158
- }
159
- }
160
- }, _callee2, this);
161
- }));
102
+ async _readFromStorage(prefObj) {
103
+ throw new Error("Not implemented: _readFromStorage");
104
+ }
162
105
 
163
- function _readFromStorage(_x2) {
164
- return _readFromStorage2.apply(this, arguments);
165
- }
106
+ async reset() {
107
+ await this._initializedPromise;
108
+ this.prefs = Object.assign(Object.create(null), this.defaults);
109
+ return this._writeToStorage(this.defaults);
110
+ }
166
111
 
167
- return _readFromStorage;
168
- }()
169
- }, {
170
- key: "reset",
171
- value: function () {
172
- var _reset = _asyncToGenerator(
173
- /*#__PURE__*/
174
- _regenerator.default.mark(function _callee3() {
175
- return _regenerator.default.wrap(function _callee3$(_context3) {
176
- while (1) {
177
- switch (_context3.prev = _context3.next) {
178
- case 0:
179
- _context3.next = 2;
180
- return this._initializedPromise;
112
+ async set(name, value) {
113
+ await this._initializedPromise;
114
+ const defaultValue = this.defaults[name];
181
115
 
182
- case 2:
183
- this.prefs = Object.assign(Object.create(null), this.defaults);
184
- return _context3.abrupt("return", this._writeToStorage(this.defaults));
116
+ if (defaultValue === undefined) {
117
+ throw new Error(`Set preference: "${name}" is undefined.`);
118
+ } else if (value === undefined) {
119
+ throw new Error("Set preference: no value is specified.");
120
+ }
185
121
 
186
- case 4:
187
- case "end":
188
- return _context3.stop();
189
- }
190
- }
191
- }, _callee3, this);
192
- }));
122
+ const valueType = typeof value;
123
+ const defaultType = typeof defaultValue;
193
124
 
194
- function reset() {
195
- return _reset.apply(this, arguments);
125
+ if (valueType !== defaultType) {
126
+ if (valueType === "number" && defaultType === "string") {
127
+ value = value.toString();
128
+ } else {
129
+ throw new Error(`Set preference: "${value}" is a ${valueType}, ` + `expected a ${defaultType}.`);
196
130
  }
197
-
198
- return reset;
199
- }()
200
- }, {
201
- key: "set",
202
- value: function () {
203
- var _set = _asyncToGenerator(
204
- /*#__PURE__*/
205
- _regenerator.default.mark(function _callee4(name, value) {
206
- var defaultValue, valueType, defaultType;
207
- return _regenerator.default.wrap(function _callee4$(_context4) {
208
- while (1) {
209
- switch (_context4.prev = _context4.next) {
210
- case 0:
211
- _context4.next = 2;
212
- return this._initializedPromise;
213
-
214
- case 2:
215
- defaultValue = this.defaults[name];
216
-
217
- if (!(defaultValue === undefined)) {
218
- _context4.next = 7;
219
- break;
220
- }
221
-
222
- throw new Error("Set preference: \"".concat(name, "\" is undefined."));
223
-
224
- case 7:
225
- if (!(value === undefined)) {
226
- _context4.next = 9;
227
- break;
228
- }
229
-
230
- throw new Error('Set preference: no value is specified.');
231
-
232
- case 9:
233
- valueType = _typeof(value);
234
- defaultType = _typeof(defaultValue);
235
-
236
- if (!(valueType !== defaultType)) {
237
- _context4.next = 19;
238
- break;
239
- }
240
-
241
- if (!(valueType === 'number' && defaultType === 'string')) {
242
- _context4.next = 16;
243
- break;
244
- }
245
-
246
- value = value.toString();
247
- _context4.next = 17;
248
- break;
249
-
250
- case 16:
251
- throw new Error("Set preference: \"".concat(value, "\" is a ").concat(valueType, ", ") + "expected a ".concat(defaultType, "."));
252
-
253
- case 17:
254
- _context4.next = 21;
255
- break;
256
-
257
- case 19:
258
- if (!(valueType === 'number' && !Number.isInteger(value))) {
259
- _context4.next = 21;
260
- break;
261
- }
262
-
263
- throw new Error("Set preference: \"".concat(value, "\" must be an integer."));
264
-
265
- case 21:
266
- this.prefs[name] = value;
267
- return _context4.abrupt("return", this._writeToStorage(this.prefs));
268
-
269
- case 23:
270
- case "end":
271
- return _context4.stop();
272
- }
273
- }
274
- }, _callee4, this);
275
- }));
276
-
277
- function set(_x3, _x4) {
278
- return _set.apply(this, arguments);
131
+ } else {
132
+ if (valueType === "number" && !Number.isInteger(value)) {
133
+ throw new Error(`Set preference: "${value}" must be an integer.`);
279
134
  }
135
+ }
280
136
 
281
- return set;
282
- }()
283
- }, {
284
- key: "get",
285
- value: function () {
286
- var _get = _asyncToGenerator(
287
- /*#__PURE__*/
288
- _regenerator.default.mark(function _callee5(name) {
289
- var defaultValue, prefValue;
290
- return _regenerator.default.wrap(function _callee5$(_context5) {
291
- while (1) {
292
- switch (_context5.prev = _context5.next) {
293
- case 0:
294
- _context5.next = 2;
295
- return this._initializedPromise;
296
-
297
- case 2:
298
- defaultValue = this.defaults[name];
299
-
300
- if (!(defaultValue === undefined)) {
301
- _context5.next = 7;
302
- break;
303
- }
304
-
305
- throw new Error("Get preference: \"".concat(name, "\" is undefined."));
306
-
307
- case 7:
308
- prefValue = this.prefs[name];
309
-
310
- if (!(prefValue !== undefined)) {
311
- _context5.next = 10;
312
- break;
313
- }
314
-
315
- return _context5.abrupt("return", prefValue);
137
+ this.prefs[name] = value;
138
+ return this._writeToStorage(this.prefs);
139
+ }
316
140
 
317
- case 10:
318
- return _context5.abrupt("return", defaultValue);
141
+ async get(name) {
142
+ await this._initializedPromise;
143
+ const defaultValue = this.defaults[name];
319
144
 
320
- case 11:
321
- case "end":
322
- return _context5.stop();
323
- }
324
- }
325
- }, _callee5, this);
326
- }));
145
+ if (defaultValue === undefined) {
146
+ throw new Error(`Get preference: "${name}" is undefined.`);
147
+ } else {
148
+ const prefValue = this.prefs[name];
327
149
 
328
- function get(_x5) {
329
- return _get.apply(this, arguments);
150
+ if (prefValue !== undefined) {
151
+ return prefValue;
330
152
  }
153
+ }
331
154
 
332
- return get;
333
- }()
334
- }, {
335
- key: "getAll",
336
- value: function () {
337
- var _getAll = _asyncToGenerator(
338
- /*#__PURE__*/
339
- _regenerator.default.mark(function _callee6() {
340
- return _regenerator.default.wrap(function _callee6$(_context6) {
341
- while (1) {
342
- switch (_context6.prev = _context6.next) {
343
- case 0:
344
- _context6.next = 2;
345
- return this._initializedPromise;
346
-
347
- case 2:
348
- return _context6.abrupt("return", Object.assign(Object.create(null), this.defaults, this.prefs));
349
-
350
- case 3:
351
- case "end":
352
- return _context6.stop();
353
- }
354
- }
355
- }, _callee6, this);
356
- }));
357
-
358
- function getAll() {
359
- return _getAll.apply(this, arguments);
360
- }
155
+ return defaultValue;
156
+ }
361
157
 
362
- return getAll;
363
- }()
364
- }]);
158
+ async getAll() {
159
+ await this._initializedPromise;
160
+ return Object.assign(Object.create(null), this.defaults, this.prefs);
161
+ }
365
162
 
366
- return BasePreferences;
367
- }();
163
+ }
368
164
 
369
165
  exports.BasePreferences = BasePreferences;