pdfjs-dist 2.0.489 → 2.2.228

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 (169) hide show
  1. package/CODE_OF_CONDUCT.md +15 -0
  2. package/bower.json +1 -1
  3. package/build/pdf.js +18515 -11402
  4. package/build/pdf.js.map +1 -1
  5. package/build/pdf.min.js +1 -1
  6. package/build/pdf.worker.js +48266 -37137
  7. package/build/pdf.worker.js.map +1 -1
  8. package/build/pdf.worker.min.js +1 -1
  9. package/external/url/url-lib.js +627 -0
  10. package/image_decoders/pdf.image_decoders.js +11350 -0
  11. package/image_decoders/pdf.image_decoders.js.map +1 -0
  12. package/image_decoders/pdf.image_decoders.min.js +1 -0
  13. package/lib/core/annotation.js +587 -242
  14. package/lib/core/arithmetic_decoder.js +275 -245
  15. package/lib/core/bidi.js +65 -6
  16. package/lib/core/ccitt.js +173 -18
  17. package/lib/core/ccitt_stream.js +15 -6
  18. package/lib/core/cff_parser.js +433 -61
  19. package/lib/core/charsets.js +5 -4
  20. package/lib/core/chunked_stream.js +400 -152
  21. package/lib/core/cmap.js +326 -87
  22. package/lib/core/colorspace.js +874 -594
  23. package/lib/core/core_utils.js +147 -0
  24. package/lib/core/crypto.js +290 -45
  25. package/lib/core/document.js +560 -268
  26. package/lib/core/encodings.js +19 -10
  27. package/lib/core/evaluator.js +1005 -360
  28. package/lib/core/font_renderer.js +331 -97
  29. package/lib/core/fonts.js +812 -195
  30. package/lib/core/function.js +284 -71
  31. package/lib/core/glyphlist.js +4 -3
  32. package/lib/core/image.js +169 -62
  33. package/lib/core/image_utils.js +111 -0
  34. package/lib/core/jbig2.js +479 -66
  35. package/lib/core/jbig2_stream.js +19 -8
  36. package/lib/core/jpeg_stream.js +38 -13
  37. package/lib/core/jpg.js +253 -29
  38. package/lib/core/jpx.js +396 -6
  39. package/lib/core/jpx_stream.js +18 -6
  40. package/lib/core/metrics.js +15 -15
  41. package/lib/core/murmurhash3.js +56 -34
  42. package/lib/core/obj.js +1354 -488
  43. package/lib/core/operator_list.js +144 -31
  44. package/lib/core/parser.js +539 -191
  45. package/lib/core/pattern.js +148 -14
  46. package/lib/core/pdf_manager.js +323 -133
  47. package/lib/core/primitives.js +111 -24
  48. package/lib/core/ps_parser.js +134 -45
  49. package/lib/core/standard_fonts.js +17 -17
  50. package/lib/core/stream.js +313 -34
  51. package/lib/core/type1_parser.js +143 -13
  52. package/lib/core/unicode.js +32 -5
  53. package/lib/core/worker.js +217 -190
  54. package/lib/core/worker_stream.js +277 -0
  55. package/lib/display/annotation_layer.js +450 -133
  56. package/lib/display/api.js +1597 -784
  57. package/lib/display/api_compatibility.js +11 -13
  58. package/lib/display/canvas.js +360 -44
  59. package/lib/display/content_disposition.js +83 -32
  60. package/lib/display/display_utils.js +747 -0
  61. package/lib/display/fetch_stream.js +221 -90
  62. package/lib/display/font_loader.js +468 -236
  63. package/lib/display/metadata.js +38 -16
  64. package/lib/display/network.js +635 -428
  65. package/lib/display/network_utils.js +32 -19
  66. package/lib/display/node_stream.js +367 -175
  67. package/lib/display/pattern_helper.js +81 -31
  68. package/lib/display/svg.js +1235 -519
  69. package/lib/display/text_layer.js +153 -29
  70. package/lib/display/transport_stream.js +345 -94
  71. package/lib/display/webgl.js +64 -18
  72. package/lib/display/worker_options.js +5 -4
  73. package/lib/display/xml_parser.js +166 -53
  74. package/lib/examples/node/domstubs.js +60 -4
  75. package/lib/pdf.js +36 -14
  76. package/lib/pdf.worker.js +5 -3
  77. package/lib/shared/compatibility.js +158 -564
  78. package/lib/shared/global_scope.js +2 -2
  79. package/lib/shared/is_node.js +4 -4
  80. package/lib/shared/message_handler.js +521 -0
  81. package/lib/shared/streams_polyfill.js +21 -17
  82. package/lib/shared/url_polyfill.js +56 -0
  83. package/lib/shared/util.js +243 -710
  84. package/lib/test/unit/annotation_spec.js +870 -401
  85. package/lib/test/unit/api_spec.js +657 -345
  86. package/lib/test/unit/bidi_spec.js +7 -7
  87. package/lib/test/unit/cff_parser_spec.js +54 -11
  88. package/lib/test/unit/clitests_helper.js +10 -8
  89. package/lib/test/unit/cmap_spec.js +95 -41
  90. package/lib/test/unit/colorspace_spec.js +115 -63
  91. package/lib/test/unit/core_utils_spec.js +191 -0
  92. package/lib/test/unit/crypto_spec.js +17 -5
  93. package/lib/test/unit/custom_spec.js +43 -55
  94. package/lib/test/unit/display_svg_spec.js +34 -18
  95. package/lib/test/unit/display_utils_spec.js +273 -0
  96. package/lib/test/unit/document_spec.js +8 -13
  97. package/lib/test/unit/encodings_spec.js +25 -45
  98. package/lib/test/unit/evaluator_spec.js +38 -15
  99. package/lib/test/unit/fetch_stream_spec.js +109 -0
  100. package/lib/test/unit/function_spec.js +17 -5
  101. package/lib/test/unit/jasmine-boot.js +33 -20
  102. package/lib/test/unit/{util_stream_spec.js → message_handler_spec.js} +41 -69
  103. package/lib/test/unit/metadata_spec.js +71 -11
  104. package/lib/test/unit/murmurhash3_spec.js +3 -3
  105. package/lib/test/unit/network_spec.js +19 -54
  106. package/lib/test/unit/network_utils_spec.js +91 -14
  107. package/lib/test/unit/node_stream_spec.js +56 -32
  108. package/lib/test/unit/parser_spec.js +162 -71
  109. package/lib/test/unit/pdf_find_controller_spec.js +230 -0
  110. package/lib/test/unit/pdf_find_utils_spec.js +63 -0
  111. package/lib/test/unit/pdf_history_spec.js +21 -9
  112. package/lib/test/unit/primitives_spec.js +53 -20
  113. package/lib/test/unit/stream_spec.js +12 -4
  114. package/lib/test/unit/test_utils.js +273 -56
  115. package/lib/test/unit/testreporter.js +21 -3
  116. package/lib/test/unit/type1_parser_spec.js +8 -6
  117. package/lib/test/unit/ui_utils_spec.js +454 -16
  118. package/lib/test/unit/unicode_spec.js +18 -15
  119. package/lib/test/unit/util_spec.js +87 -128
  120. package/lib/web/annotation_layer_builder.js +39 -22
  121. package/lib/web/app.js +1290 -588
  122. package/lib/web/app_options.js +100 -62
  123. package/lib/web/base_viewer.js +511 -182
  124. package/lib/web/chromecom.js +261 -117
  125. package/lib/web/debugger.js +166 -22
  126. package/lib/web/download_manager.js +32 -13
  127. package/lib/web/firefox_print_service.js +20 -10
  128. package/lib/web/firefoxcom.js +315 -80
  129. package/lib/web/genericcom.js +89 -30
  130. package/lib/web/genericl10n.js +142 -30
  131. package/lib/web/grab_to_pan.js +28 -4
  132. package/lib/web/interfaces.js +170 -47
  133. package/lib/web/overlay_manager.js +235 -85
  134. package/lib/web/password_prompt.js +22 -14
  135. package/lib/web/pdf_attachment_viewer.js +38 -18
  136. package/lib/web/pdf_cursor_tools.js +39 -16
  137. package/lib/web/pdf_document_properties.js +255 -136
  138. package/lib/web/pdf_find_bar.js +84 -40
  139. package/lib/web/pdf_find_controller.js +495 -184
  140. package/lib/web/pdf_find_utils.js +111 -0
  141. package/lib/web/pdf_history.js +190 -53
  142. package/lib/web/pdf_link_service.js +138 -77
  143. package/lib/web/pdf_outline_viewer.js +122 -46
  144. package/lib/web/pdf_page_view.js +191 -67
  145. package/lib/web/pdf_presentation_mode.js +99 -34
  146. package/lib/web/pdf_print_service.js +61 -13
  147. package/lib/web/pdf_rendering_queue.js +28 -9
  148. package/lib/web/pdf_sidebar.js +141 -81
  149. package/lib/web/pdf_sidebar_resizer.js +42 -16
  150. package/lib/web/pdf_single_page_viewer.js +74 -66
  151. package/lib/web/pdf_thumbnail_view.js +104 -33
  152. package/lib/web/pdf_thumbnail_viewer.js +66 -26
  153. package/lib/web/pdf_viewer.component.js +112 -32
  154. package/lib/web/pdf_viewer.js +91 -52
  155. package/lib/web/preferences.js +284 -89
  156. package/lib/web/secondary_toolbar.js +165 -40
  157. package/lib/web/text_layer_builder.js +134 -59
  158. package/lib/web/toolbar.js +78 -43
  159. package/lib/web/ui_utils.js +462 -136
  160. package/lib/web/view_history.js +215 -67
  161. package/lib/web/viewer_compatibility.js +4 -13
  162. package/package.json +5 -4
  163. package/web/pdf_viewer.css +79 -11
  164. package/web/pdf_viewer.js +6107 -3748
  165. package/web/pdf_viewer.js.map +1 -1
  166. package/lib/display/dom_utils.js +0 -309
  167. package/lib/test/unit/dom_utils_spec.js +0 -89
  168. package/lib/test/unit/fonts_spec.js +0 -81
  169. 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,18 +19,18 @@
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.JpxStream = undefined;
27
+ exports.JpxStream = void 0;
28
28
 
29
- var _stream = require('./stream');
29
+ var _stream = require("./stream");
30
30
 
31
- var _jpx = require('./jpx');
31
+ var _jpx = require("./jpx");
32
32
 
33
- var _util = require('../shared/util');
33
+ var _util = require("../shared/util");
34
34
 
35
35
  var JpxStream = function JpxStreamClosure() {
36
36
  function JpxStream(stream, maybeLength, dict, params) {
@@ -38,8 +38,10 @@ var JpxStream = function JpxStreamClosure() {
38
38
  this.maybeLength = maybeLength;
39
39
  this.dict = dict;
40
40
  this.params = params;
41
+
41
42
  _stream.DecodeStream.call(this, maybeLength);
42
43
  }
44
+
43
45
  JpxStream.prototype = Object.create(_stream.DecodeStream.prototype);
44
46
  Object.defineProperty(JpxStream.prototype, 'bytes', {
45
47
  get: function JpxStream_bytes() {
@@ -47,21 +49,26 @@ var JpxStream = function JpxStreamClosure() {
47
49
  },
48
50
  configurable: true
49
51
  });
52
+
50
53
  JpxStream.prototype.ensureBuffer = function (requested) {};
54
+
51
55
  JpxStream.prototype.readBlock = function () {
52
56
  if (this.eof) {
53
57
  return;
54
58
  }
59
+
55
60
  var jpxImage = new _jpx.JpxImage();
56
61
  jpxImage.parse(this.bytes);
57
62
  var width = jpxImage.width;
58
63
  var height = jpxImage.height;
59
64
  var componentsCount = jpxImage.componentsCount;
60
65
  var tileCount = jpxImage.tiles.length;
66
+
61
67
  if (tileCount === 1) {
62
68
  this.buffer = jpxImage.tiles[0].items;
63
69
  } else {
64
70
  var data = new Uint8ClampedArray(width * height * componentsCount);
71
+
65
72
  for (var k = 0; k < tileCount; k++) {
66
73
  var tileComponents = jpxImage.tiles[k];
67
74
  var tileWidth = tileComponents.width;
@@ -73,6 +80,7 @@ var JpxStream = function JpxStreamClosure() {
73
80
  var dataPosition = (width * tileTop + tileLeft) * componentsCount;
74
81
  var imgRowSize = width * componentsCount;
75
82
  var tileRowSize = tileWidth * componentsCount;
83
+
76
84
  for (var j = 0; j < tileHeight; j++) {
77
85
  var rowBytes = src.subarray(srcPosition, srcPosition + tileRowSize);
78
86
  data.set(rowBytes, dataPosition);
@@ -80,11 +88,15 @@ var JpxStream = function JpxStreamClosure() {
80
88
  dataPosition += imgRowSize;
81
89
  }
82
90
  }
91
+
83
92
  this.buffer = data;
84
93
  }
94
+
85
95
  this.bufferLength = this.buffer.length;
86
96
  this.eof = true;
87
97
  };
98
+
88
99
  return JpxStream;
89
100
  }();
101
+
90
102
  exports.JpxStream = JpxStream;
@@ -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,21 @@
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.getMetrics = undefined;
27
+ exports.getMetrics = void 0;
28
28
 
29
- var _util = require('../shared/util');
29
+ var _core_utils = require("./core_utils");
30
30
 
31
- var getMetrics = (0, _util.getLookupTableFactory)(function (t) {
31
+ var getMetrics = (0, _core_utils.getLookupTableFactory)(function (t) {
32
32
  t['Courier'] = 600;
33
33
  t['Courier-Bold'] = 600;
34
34
  t['Courier-BoldOblique'] = 600;
35
35
  t['Courier-Oblique'] = 600;
36
- t['Helvetica'] = (0, _util.getLookupTableFactory)(function (t) {
36
+ t['Helvetica'] = (0, _core_utils.getLookupTableFactory)(function (t) {
37
37
  t['space'] = 278;
38
38
  t['exclam'] = 278;
39
39
  t['quotedbl'] = 355;
@@ -350,7 +350,7 @@ var getMetrics = (0, _util.getLookupTableFactory)(function (t) {
350
350
  t['imacron'] = 278;
351
351
  t['Euro'] = 556;
352
352
  });
353
- t['Helvetica-Bold'] = (0, _util.getLookupTableFactory)(function (t) {
353
+ t['Helvetica-Bold'] = (0, _core_utils.getLookupTableFactory)(function (t) {
354
354
  t['space'] = 278;
355
355
  t['exclam'] = 333;
356
356
  t['quotedbl'] = 474;
@@ -667,7 +667,7 @@ var getMetrics = (0, _util.getLookupTableFactory)(function (t) {
667
667
  t['imacron'] = 278;
668
668
  t['Euro'] = 556;
669
669
  });
670
- t['Helvetica-BoldOblique'] = (0, _util.getLookupTableFactory)(function (t) {
670
+ t['Helvetica-BoldOblique'] = (0, _core_utils.getLookupTableFactory)(function (t) {
671
671
  t['space'] = 278;
672
672
  t['exclam'] = 333;
673
673
  t['quotedbl'] = 474;
@@ -984,7 +984,7 @@ var getMetrics = (0, _util.getLookupTableFactory)(function (t) {
984
984
  t['imacron'] = 278;
985
985
  t['Euro'] = 556;
986
986
  });
987
- t['Helvetica-Oblique'] = (0, _util.getLookupTableFactory)(function (t) {
987
+ t['Helvetica-Oblique'] = (0, _core_utils.getLookupTableFactory)(function (t) {
988
988
  t['space'] = 278;
989
989
  t['exclam'] = 278;
990
990
  t['quotedbl'] = 355;
@@ -1301,7 +1301,7 @@ var getMetrics = (0, _util.getLookupTableFactory)(function (t) {
1301
1301
  t['imacron'] = 278;
1302
1302
  t['Euro'] = 556;
1303
1303
  });
1304
- t['Symbol'] = (0, _util.getLookupTableFactory)(function (t) {
1304
+ t['Symbol'] = (0, _core_utils.getLookupTableFactory)(function (t) {
1305
1305
  t['space'] = 250;
1306
1306
  t['exclam'] = 333;
1307
1307
  t['universal'] = 713;
@@ -1493,7 +1493,7 @@ var getMetrics = (0, _util.getLookupTableFactory)(function (t) {
1493
1493
  t['bracerightbt'] = 494;
1494
1494
  t['apple'] = 790;
1495
1495
  });
1496
- t['Times-Roman'] = (0, _util.getLookupTableFactory)(function (t) {
1496
+ t['Times-Roman'] = (0, _core_utils.getLookupTableFactory)(function (t) {
1497
1497
  t['space'] = 250;
1498
1498
  t['exclam'] = 333;
1499
1499
  t['quotedbl'] = 408;
@@ -1810,7 +1810,7 @@ var getMetrics = (0, _util.getLookupTableFactory)(function (t) {
1810
1810
  t['imacron'] = 278;
1811
1811
  t['Euro'] = 500;
1812
1812
  });
1813
- t['Times-Bold'] = (0, _util.getLookupTableFactory)(function (t) {
1813
+ t['Times-Bold'] = (0, _core_utils.getLookupTableFactory)(function (t) {
1814
1814
  t['space'] = 250;
1815
1815
  t['exclam'] = 333;
1816
1816
  t['quotedbl'] = 555;
@@ -2127,7 +2127,7 @@ var getMetrics = (0, _util.getLookupTableFactory)(function (t) {
2127
2127
  t['imacron'] = 278;
2128
2128
  t['Euro'] = 500;
2129
2129
  });
2130
- t['Times-BoldItalic'] = (0, _util.getLookupTableFactory)(function (t) {
2130
+ t['Times-BoldItalic'] = (0, _core_utils.getLookupTableFactory)(function (t) {
2131
2131
  t['space'] = 250;
2132
2132
  t['exclam'] = 389;
2133
2133
  t['quotedbl'] = 555;
@@ -2444,7 +2444,7 @@ var getMetrics = (0, _util.getLookupTableFactory)(function (t) {
2444
2444
  t['imacron'] = 278;
2445
2445
  t['Euro'] = 500;
2446
2446
  });
2447
- t['Times-Italic'] = (0, _util.getLookupTableFactory)(function (t) {
2447
+ t['Times-Italic'] = (0, _core_utils.getLookupTableFactory)(function (t) {
2448
2448
  t['space'] = 250;
2449
2449
  t['exclam'] = 333;
2450
2450
  t['quotedbl'] = 420;
@@ -2761,7 +2761,7 @@ var getMetrics = (0, _util.getLookupTableFactory)(function (t) {
2761
2761
  t['imacron'] = 278;
2762
2762
  t['Euro'] = 500;
2763
2763
  });
2764
- t['ZapfDingbats'] = (0, _util.getLookupTableFactory)(function (t) {
2764
+ t['ZapfDingbats'] = (0, _core_utils.getLookupTableFactory)(function (t) {
2765
2765
  t['space'] = 278;
2766
2766
  t['a1'] = 974;
2767
2767
  t['a2'] = 961;
@@ -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,32 +19,47 @@
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.MurmurHash3_64 = undefined;
27
+ exports.MurmurHash3_64 = void 0;
28
28
 
29
- var _util = require('../shared/util');
29
+ var _util = require("../shared/util");
30
30
 
31
- var MurmurHash3_64 = function MurmurHash3_64Closure(seed) {
32
- var MASK_HIGH = 0xffff0000;
33
- var MASK_LOW = 0xffff;
31
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
32
+
33
+ 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); } }
34
+
35
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
36
+
37
+ var SEED = 0xc3d2e1f0;
38
+ var MASK_HIGH = 0xffff0000;
39
+ var MASK_LOW = 0xffff;
40
+
41
+ var MurmurHash3_64 =
42
+ /*#__PURE__*/
43
+ function () {
34
44
  function MurmurHash3_64(seed) {
35
- var SEED = 0xc3d2e1f0;
45
+ _classCallCheck(this, MurmurHash3_64);
46
+
36
47
  this.h1 = seed ? seed & 0xffffffff : SEED;
37
48
  this.h2 = seed ? seed & 0xffffffff : SEED;
38
49
  }
39
- MurmurHash3_64.prototype = {
40
- update: function MurmurHash3_64_update(input) {
41
- var data = void 0,
42
- length = void 0;
50
+
51
+ _createClass(MurmurHash3_64, [{
52
+ key: "update",
53
+ value: function update(input) {
54
+ var data, length;
55
+
43
56
  if ((0, _util.isString)(input)) {
44
57
  data = new Uint8Array(input.length * 2);
45
58
  length = 0;
59
+
46
60
  for (var i = 0, ii = input.length; i < ii; i++) {
47
61
  var code = input.charCodeAt(i);
62
+
48
63
  if (code <= 0xff) {
49
64
  data[length++] = code;
50
65
  } else {
@@ -58,17 +73,19 @@ var MurmurHash3_64 = function MurmurHash3_64Closure(seed) {
58
73
  } else {
59
74
  throw new Error('Wrong data format in MurmurHash3_64_update. ' + 'Input must be a string or array.');
60
75
  }
76
+
61
77
  var blockCounts = length >> 2;
62
78
  var tailLength = length - blockCounts * 4;
63
79
  var dataUint32 = new Uint32Array(data.buffer, 0, blockCounts);
64
- var k1 = 0;
65
- var k2 = 0;
66
- var h1 = this.h1;
67
- var h2 = this.h2;
68
- var C1 = 0xcc9e2d51;
69
- var C2 = 0x1b873593;
70
- var C1_LOW = C1 & MASK_LOW;
71
- var C2_LOW = C2 & MASK_LOW;
80
+ var k1 = 0,
81
+ k2 = 0;
82
+ var h1 = this.h1,
83
+ h2 = this.h2;
84
+ var C1 = 0xcc9e2d51,
85
+ C2 = 0x1b873593;
86
+ var C1_LOW = C1 & MASK_LOW,
87
+ C2_LOW = C2 & MASK_LOW;
88
+
72
89
  for (var _i = 0; _i < blockCounts; _i++) {
73
90
  if (_i & 1) {
74
91
  k1 = dataUint32[_i];
@@ -88,30 +105,38 @@ var MurmurHash3_64 = function MurmurHash3_64Closure(seed) {
88
105
  h2 = h2 * 5 + 0xe6546b64;
89
106
  }
90
107
  }
108
+
91
109
  k1 = 0;
110
+
92
111
  switch (tailLength) {
93
112
  case 3:
94
113
  k1 ^= data[blockCounts * 4 + 2] << 16;
114
+
95
115
  case 2:
96
116
  k1 ^= data[blockCounts * 4 + 1] << 8;
117
+
97
118
  case 1:
98
119
  k1 ^= data[blockCounts * 4];
99
120
  k1 = k1 * C1 & MASK_HIGH | k1 * C1_LOW & MASK_LOW;
100
121
  k1 = k1 << 15 | k1 >>> 17;
101
122
  k1 = k1 * C2 & MASK_HIGH | k1 * C2_LOW & MASK_LOW;
123
+
102
124
  if (blockCounts & 1) {
103
125
  h1 ^= k1;
104
126
  } else {
105
127
  h2 ^= k1;
106
128
  }
129
+
107
130
  }
131
+
108
132
  this.h1 = h1;
109
133
  this.h2 = h2;
110
- return this;
111
- },
112
- hexdigest: function MurmurHash3_64_hexdigest() {
113
- var h1 = this.h1;
114
- var h2 = this.h2;
134
+ }
135
+ }, {
136
+ key: "hexdigest",
137
+ value: function hexdigest() {
138
+ var h1 = this.h1,
139
+ h2 = this.h2;
115
140
  h1 ^= h2 >>> 1;
116
141
  h1 = h1 * 0xed558ccd & MASK_HIGH | h1 * 0x8ccd & MASK_LOW;
117
142
  h2 = h2 * 0xff51afd7 & MASK_HIGH | ((h2 << 16 | h1 >>> 16) * 0xafd7ed55 & MASK_HIGH) >>> 16;
@@ -119,16 +144,13 @@ var MurmurHash3_64 = function MurmurHash3_64Closure(seed) {
119
144
  h1 = h1 * 0x1a85ec53 & MASK_HIGH | h1 * 0xec53 & MASK_LOW;
120
145
  h2 = h2 * 0xc4ceb9fe & MASK_HIGH | ((h2 << 16 | h1 >>> 16) * 0xb9fe1a85 & MASK_HIGH) >>> 16;
121
146
  h1 ^= h2 >>> 1;
122
- for (var i = 0, arr = [h1, h2], str = ''; i < arr.length; i++) {
123
- var hex = (arr[i] >>> 0).toString(16);
124
- while (hex.length < 8) {
125
- hex = '0' + hex;
126
- }
127
- str += hex;
128
- }
129
- return str;
147
+ var hex1 = (h1 >>> 0).toString(16),
148
+ hex2 = (h2 >>> 0).toString(16);
149
+ return hex1.padStart(8, '0') + hex2.padStart(8, '0');
130
150
  }
131
- };
151
+ }]);
152
+
132
153
  return MurmurHash3_64;
133
154
  }();
155
+
134
156
  exports.MurmurHash3_64 = MurmurHash3_64;