@novnc/novnc 1.3.0 → 1.4.0-beta
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.
- package/AUTHORS +2 -2
- package/LICENSE.txt +1 -1
- package/README.md +23 -7
- package/core/decoders/jpeg.js +141 -0
- package/core/decoders/raw.js +1 -1
- package/core/decoders/zrle.js +185 -0
- package/core/des.js +1 -1
- package/core/display.js +12 -0
- package/core/encodings.js +4 -0
- package/core/input/keyboard.js +10 -0
- package/core/ra2.js +567 -0
- package/core/rfb.js +469 -84
- package/core/util/browser.js +56 -7
- package/core/util/cursor.js +4 -0
- package/core/util/md5.js +79 -0
- package/docs/API.md +318 -157
- package/lib/base64.js +20 -34
- package/lib/decoders/copyrect.js +5 -12
- package/lib/decoders/hextile.js +17 -47
- package/lib/decoders/jpeg.js +149 -0
- package/lib/decoders/raw.js +10 -23
- package/lib/decoders/rre.js +5 -16
- package/lib/decoders/tight.js +13 -79
- package/lib/decoders/tightpng.js +8 -28
- package/lib/decoders/zrle.js +188 -0
- package/lib/deflator.js +9 -23
- package/lib/des.js +24 -37
- package/lib/display.js +62 -108
- package/lib/encodings.js +7 -8
- package/lib/inflator.js +6 -19
- package/lib/input/domkeytable.js +77 -48
- package/lib/input/fixedkeys.js +8 -3
- package/lib/input/gesturehandler.js +86 -153
- package/lib/input/keyboard.js +62 -91
- package/lib/input/keysym.js +14 -270
- package/lib/input/keysymdef.js +5 -7
- package/lib/input/util.js +43 -85
- package/lib/input/vkeys.js +0 -3
- package/lib/input/xtscancodes.js +1 -168
- package/lib/ra2.js +1005 -0
- package/lib/rfb.js +795 -923
- package/lib/util/browser.js +66 -29
- package/lib/util/cursor.js +29 -66
- package/lib/util/element.js +3 -5
- package/lib/util/events.js +23 -30
- package/lib/util/eventtarget.js +5 -14
- package/lib/util/int.js +1 -2
- package/lib/util/logging.js +1 -19
- package/lib/util/md5.js +77 -0
- package/lib/util/strings.js +3 -5
- package/lib/vendor/pako/lib/utils/common.js +8 -17
- package/lib/vendor/pako/lib/zlib/adler32.js +3 -7
- package/lib/vendor/pako/lib/zlib/constants.js +2 -5
- package/lib/vendor/pako/lib/zlib/crc32.js +5 -12
- package/lib/vendor/pako/lib/zlib/deflate.js +213 -618
- package/lib/vendor/pako/lib/zlib/gzheader.js +1 -13
- package/lib/vendor/pako/lib/zlib/inffast.js +60 -176
- package/lib/vendor/pako/lib/zlib/inflate.js +398 -888
- package/lib/vendor/pako/lib/zlib/inftrees.js +63 -169
- package/lib/vendor/pako/lib/zlib/messages.js +1 -11
- package/lib/vendor/pako/lib/zlib/trees.js +246 -588
- package/lib/vendor/pako/lib/zlib/zstream.js +2 -18
- package/lib/websock.js +37 -88
- package/package.json +32 -35
package/lib/util/eventtarget.js
CHANGED
|
@@ -4,13 +4,12 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports["default"] = void 0;
|
|
7
|
-
|
|
7
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
8
8
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
9
|
-
|
|
10
|
-
function
|
|
11
|
-
|
|
12
|
-
function
|
|
13
|
-
|
|
9
|
+
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, _toPropertyKey(descriptor.key), descriptor); } }
|
|
10
|
+
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
|
11
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
12
|
+
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
14
13
|
/*
|
|
15
14
|
* noVNC: HTML5 VNC client
|
|
16
15
|
* Copyright (C) 2019 The noVNC Authors
|
|
@@ -21,17 +20,14 @@ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _d
|
|
|
21
20
|
var EventTargetMixin = /*#__PURE__*/function () {
|
|
22
21
|
function EventTargetMixin() {
|
|
23
22
|
_classCallCheck(this, EventTargetMixin);
|
|
24
|
-
|
|
25
23
|
this._listeners = new Map();
|
|
26
24
|
}
|
|
27
|
-
|
|
28
25
|
_createClass(EventTargetMixin, [{
|
|
29
26
|
key: "addEventListener",
|
|
30
27
|
value: function addEventListener(type, callback) {
|
|
31
28
|
if (!this._listeners.has(type)) {
|
|
32
29
|
this._listeners.set(type, new Set());
|
|
33
30
|
}
|
|
34
|
-
|
|
35
31
|
this._listeners.get(type).add(callback);
|
|
36
32
|
}
|
|
37
33
|
}, {
|
|
@@ -45,20 +41,15 @@ var EventTargetMixin = /*#__PURE__*/function () {
|
|
|
45
41
|
key: "dispatchEvent",
|
|
46
42
|
value: function dispatchEvent(event) {
|
|
47
43
|
var _this = this;
|
|
48
|
-
|
|
49
44
|
if (!this._listeners.has(event.type)) {
|
|
50
45
|
return true;
|
|
51
46
|
}
|
|
52
|
-
|
|
53
47
|
this._listeners.get(event.type).forEach(function (callback) {
|
|
54
48
|
return callback.call(_this, event);
|
|
55
49
|
});
|
|
56
|
-
|
|
57
50
|
return !event.defaultPrevented;
|
|
58
51
|
}
|
|
59
52
|
}]);
|
|
60
|
-
|
|
61
53
|
return EventTargetMixin;
|
|
62
54
|
}();
|
|
63
|
-
|
|
64
55
|
exports["default"] = EventTargetMixin;
|
package/lib/util/int.js
CHANGED
|
@@ -5,7 +5,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.toSigned32bit = toSigned32bit;
|
|
7
7
|
exports.toUnsigned32bit = toUnsigned32bit;
|
|
8
|
-
|
|
9
8
|
/*
|
|
10
9
|
* noVNC: HTML5 VNC client
|
|
11
10
|
* Copyright (C) 2020 The noVNC Authors
|
|
@@ -13,10 +12,10 @@ exports.toUnsigned32bit = toUnsigned32bit;
|
|
|
13
12
|
*
|
|
14
13
|
* See README.md for usage and integration instructions.
|
|
15
14
|
*/
|
|
15
|
+
|
|
16
16
|
function toUnsigned32bit(toConvert) {
|
|
17
17
|
return toConvert >>> 0;
|
|
18
18
|
}
|
|
19
|
-
|
|
20
19
|
function toSigned32bit(toConvert) {
|
|
21
20
|
return toConvert | 0;
|
|
22
21
|
}
|
package/lib/util/logging.js
CHANGED
|
@@ -6,7 +6,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.Warn = exports.Info = exports.Error = exports.Debug = void 0;
|
|
7
7
|
exports.getLogging = getLogging;
|
|
8
8
|
exports.initLogging = initLogging;
|
|
9
|
-
|
|
10
9
|
/*
|
|
11
10
|
* noVNC: HTML5 VNC client
|
|
12
11
|
* Copyright (C) 2019 The noVNC Authors
|
|
@@ -18,62 +17,45 @@ exports.initLogging = initLogging;
|
|
|
18
17
|
/*
|
|
19
18
|
* Logging/debug routines
|
|
20
19
|
*/
|
|
21
|
-
var _logLevel = 'warn';
|
|
22
20
|
|
|
21
|
+
var _logLevel = 'warn';
|
|
23
22
|
var Debug = function Debug() {};
|
|
24
|
-
|
|
25
23
|
exports.Debug = Debug;
|
|
26
|
-
|
|
27
24
|
var Info = function Info() {};
|
|
28
|
-
|
|
29
25
|
exports.Info = Info;
|
|
30
|
-
|
|
31
26
|
var Warn = function Warn() {};
|
|
32
|
-
|
|
33
27
|
exports.Warn = Warn;
|
|
34
|
-
|
|
35
28
|
var Error = function Error() {};
|
|
36
|
-
|
|
37
29
|
exports.Error = Error;
|
|
38
|
-
|
|
39
30
|
function initLogging(level) {
|
|
40
31
|
if (typeof level === 'undefined') {
|
|
41
32
|
level = _logLevel;
|
|
42
33
|
} else {
|
|
43
34
|
_logLevel = level;
|
|
44
35
|
}
|
|
45
|
-
|
|
46
36
|
exports.Debug = Debug = exports.Info = Info = exports.Warn = Warn = exports.Error = Error = function Error() {};
|
|
47
|
-
|
|
48
37
|
if (typeof window.console !== "undefined") {
|
|
49
38
|
/* eslint-disable no-console, no-fallthrough */
|
|
50
39
|
switch (level) {
|
|
51
40
|
case 'debug':
|
|
52
41
|
exports.Debug = Debug = console.debug.bind(window.console);
|
|
53
|
-
|
|
54
42
|
case 'info':
|
|
55
43
|
exports.Info = Info = console.info.bind(window.console);
|
|
56
|
-
|
|
57
44
|
case 'warn':
|
|
58
45
|
exports.Warn = Warn = console.warn.bind(window.console);
|
|
59
|
-
|
|
60
46
|
case 'error':
|
|
61
47
|
exports.Error = Error = console.error.bind(window.console);
|
|
62
|
-
|
|
63
48
|
case 'none':
|
|
64
49
|
break;
|
|
65
|
-
|
|
66
50
|
default:
|
|
67
51
|
throw new window.Error("invalid logging type '" + level + "'");
|
|
68
52
|
}
|
|
69
53
|
/* eslint-enable no-console, no-fallthrough */
|
|
70
|
-
|
|
71
54
|
}
|
|
72
55
|
}
|
|
73
56
|
|
|
74
57
|
function getLogging() {
|
|
75
58
|
return _logLevel;
|
|
76
59
|
}
|
|
77
|
-
|
|
78
60
|
// Initialize logging level
|
|
79
61
|
initLogging();
|
package/lib/util/md5.js
ADDED
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.MD5 = MD5;
|
|
7
|
+
/*
|
|
8
|
+
* noVNC: HTML5 VNC client
|
|
9
|
+
* Copyright (C) 2021 The noVNC Authors
|
|
10
|
+
* Licensed under MPL 2.0 (see LICENSE.txt)
|
|
11
|
+
*
|
|
12
|
+
* See README.md for usage and integration instructions.
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
/*
|
|
16
|
+
* Performs MD5 hashing on a string of binary characters, returns an array of bytes
|
|
17
|
+
*/
|
|
18
|
+
|
|
19
|
+
function MD5(d) {
|
|
20
|
+
var r = M(V(Y(X(d), 8 * d.length)));
|
|
21
|
+
return r;
|
|
22
|
+
}
|
|
23
|
+
function M(d) {
|
|
24
|
+
var f = new Uint8Array(d.length);
|
|
25
|
+
for (var i = 0; i < d.length; i++) {
|
|
26
|
+
f[i] = d.charCodeAt(i);
|
|
27
|
+
}
|
|
28
|
+
return f;
|
|
29
|
+
}
|
|
30
|
+
function X(d) {
|
|
31
|
+
var r = Array(d.length >> 2);
|
|
32
|
+
for (var m = 0; m < r.length; m++) r[m] = 0;
|
|
33
|
+
for (var _m = 0; _m < 8 * d.length; _m += 8) r[_m >> 5] |= (255 & d.charCodeAt(_m / 8)) << _m % 32;
|
|
34
|
+
return r;
|
|
35
|
+
}
|
|
36
|
+
function V(d) {
|
|
37
|
+
var r = "";
|
|
38
|
+
for (var m = 0; m < 32 * d.length; m += 8) r += String.fromCharCode(d[m >> 5] >>> m % 32 & 255);
|
|
39
|
+
return r;
|
|
40
|
+
}
|
|
41
|
+
function Y(d, g) {
|
|
42
|
+
d[g >> 5] |= 128 << g % 32, d[14 + (g + 64 >>> 9 << 4)] = g;
|
|
43
|
+
var m = 1732584193,
|
|
44
|
+
f = -271733879,
|
|
45
|
+
r = -1732584194,
|
|
46
|
+
i = 271733878;
|
|
47
|
+
for (var n = 0; n < d.length; n += 16) {
|
|
48
|
+
var h = m,
|
|
49
|
+
t = f,
|
|
50
|
+
_g = r,
|
|
51
|
+
e = i;
|
|
52
|
+
f = ii(f = ii(f = ii(f = ii(f = hh(f = hh(f = hh(f = hh(f = gg(f = gg(f = gg(f = gg(f = ff(f = ff(f = ff(f = ff(f, r = ff(r, i = ff(i, m = ff(m, f, r, i, d[n + 0], 7, -680876936), f, r, d[n + 1], 12, -389564586), m, f, d[n + 2], 17, 606105819), i, m, d[n + 3], 22, -1044525330), r = ff(r, i = ff(i, m = ff(m, f, r, i, d[n + 4], 7, -176418897), f, r, d[n + 5], 12, 1200080426), m, f, d[n + 6], 17, -1473231341), i, m, d[n + 7], 22, -45705983), r = ff(r, i = ff(i, m = ff(m, f, r, i, d[n + 8], 7, 1770035416), f, r, d[n + 9], 12, -1958414417), m, f, d[n + 10], 17, -42063), i, m, d[n + 11], 22, -1990404162), r = ff(r, i = ff(i, m = ff(m, f, r, i, d[n + 12], 7, 1804603682), f, r, d[n + 13], 12, -40341101), m, f, d[n + 14], 17, -1502002290), i, m, d[n + 15], 22, 1236535329), r = gg(r, i = gg(i, m = gg(m, f, r, i, d[n + 1], 5, -165796510), f, r, d[n + 6], 9, -1069501632), m, f, d[n + 11], 14, 643717713), i, m, d[n + 0], 20, -373897302), r = gg(r, i = gg(i, m = gg(m, f, r, i, d[n + 5], 5, -701558691), f, r, d[n + 10], 9, 38016083), m, f, d[n + 15], 14, -660478335), i, m, d[n + 4], 20, -405537848), r = gg(r, i = gg(i, m = gg(m, f, r, i, d[n + 9], 5, 568446438), f, r, d[n + 14], 9, -1019803690), m, f, d[n + 3], 14, -187363961), i, m, d[n + 8], 20, 1163531501), r = gg(r, i = gg(i, m = gg(m, f, r, i, d[n + 13], 5, -1444681467), f, r, d[n + 2], 9, -51403784), m, f, d[n + 7], 14, 1735328473), i, m, d[n + 12], 20, -1926607734), r = hh(r, i = hh(i, m = hh(m, f, r, i, d[n + 5], 4, -378558), f, r, d[n + 8], 11, -2022574463), m, f, d[n + 11], 16, 1839030562), i, m, d[n + 14], 23, -35309556), r = hh(r, i = hh(i, m = hh(m, f, r, i, d[n + 1], 4, -1530992060), f, r, d[n + 4], 11, 1272893353), m, f, d[n + 7], 16, -155497632), i, m, d[n + 10], 23, -1094730640), r = hh(r, i = hh(i, m = hh(m, f, r, i, d[n + 13], 4, 681279174), f, r, d[n + 0], 11, -358537222), m, f, d[n + 3], 16, -722521979), i, m, d[n + 6], 23, 76029189), r = hh(r, i = hh(i, m = hh(m, f, r, i, d[n + 9], 4, -640364487), f, r, d[n + 12], 11, -421815835), m, f, d[n + 15], 16, 530742520), i, m, d[n + 2], 23, -995338651), r = ii(r, i = ii(i, m = ii(m, f, r, i, d[n + 0], 6, -198630844), f, r, d[n + 7], 10, 1126891415), m, f, d[n + 14], 15, -1416354905), i, m, d[n + 5], 21, -57434055), r = ii(r, i = ii(i, m = ii(m, f, r, i, d[n + 12], 6, 1700485571), f, r, d[n + 3], 10, -1894986606), m, f, d[n + 10], 15, -1051523), i, m, d[n + 1], 21, -2054922799), r = ii(r, i = ii(i, m = ii(m, f, r, i, d[n + 8], 6, 1873313359), f, r, d[n + 15], 10, -30611744), m, f, d[n + 6], 15, -1560198380), i, m, d[n + 13], 21, 1309151649), r = ii(r, i = ii(i, m = ii(m, f, r, i, d[n + 4], 6, -145523070), f, r, d[n + 11], 10, -1120210379), m, f, d[n + 2], 15, 718787259), i, m, d[n + 9], 21, -343485551), m = add(m, h), f = add(f, t), r = add(r, _g), i = add(i, e);
|
|
53
|
+
}
|
|
54
|
+
return Array(m, f, r, i);
|
|
55
|
+
}
|
|
56
|
+
function cmn(d, g, m, f, r, i) {
|
|
57
|
+
return add(rol(add(add(g, d), add(f, i)), r), m);
|
|
58
|
+
}
|
|
59
|
+
function ff(d, g, m, f, r, i, n) {
|
|
60
|
+
return cmn(g & m | ~g & f, d, g, r, i, n);
|
|
61
|
+
}
|
|
62
|
+
function gg(d, g, m, f, r, i, n) {
|
|
63
|
+
return cmn(g & f | m & ~f, d, g, r, i, n);
|
|
64
|
+
}
|
|
65
|
+
function hh(d, g, m, f, r, i, n) {
|
|
66
|
+
return cmn(g ^ m ^ f, d, g, r, i, n);
|
|
67
|
+
}
|
|
68
|
+
function ii(d, g, m, f, r, i, n) {
|
|
69
|
+
return cmn(m ^ (g | ~f), d, g, r, i, n);
|
|
70
|
+
}
|
|
71
|
+
function add(d, g) {
|
|
72
|
+
var m = (65535 & d) + (65535 & g);
|
|
73
|
+
return (d >> 16) + (g >> 16) + (m >> 16) << 16 | 65535 & m;
|
|
74
|
+
}
|
|
75
|
+
function rol(d, g) {
|
|
76
|
+
return d << g | d >>> 32 - g;
|
|
77
|
+
}
|
package/lib/util/strings.js
CHANGED
|
@@ -5,7 +5,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.decodeUTF8 = decodeUTF8;
|
|
7
7
|
exports.encodeUTF8 = encodeUTF8;
|
|
8
|
-
|
|
9
8
|
/*
|
|
10
9
|
* noVNC: HTML5 VNC client
|
|
11
10
|
* Copyright (C) 2019 The noVNC Authors
|
|
@@ -13,10 +12,10 @@ exports.encodeUTF8 = encodeUTF8;
|
|
|
13
12
|
*
|
|
14
13
|
* See README.md for usage and integration instructions.
|
|
15
14
|
*/
|
|
15
|
+
|
|
16
16
|
// Decode from UTF-8
|
|
17
17
|
function decodeUTF8(utf8string) {
|
|
18
18
|
var allowLatin1 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
19
|
-
|
|
20
19
|
try {
|
|
21
20
|
return decodeURIComponent(escape(utf8string));
|
|
22
21
|
} catch (e) {
|
|
@@ -27,12 +26,11 @@ function decodeUTF8(utf8string) {
|
|
|
27
26
|
return utf8string;
|
|
28
27
|
}
|
|
29
28
|
}
|
|
30
|
-
|
|
31
29
|
throw e;
|
|
32
30
|
}
|
|
33
|
-
}
|
|
34
|
-
|
|
31
|
+
}
|
|
35
32
|
|
|
33
|
+
// Encode to UTF-8
|
|
36
34
|
function encodeUTF8(DOMString) {
|
|
37
35
|
return unescape(encodeURIComponent(DOMString));
|
|
38
36
|
}
|
|
@@ -7,58 +7,49 @@ exports.Buf8 = exports.Buf32 = exports.Buf16 = void 0;
|
|
|
7
7
|
exports.arraySet = arraySet;
|
|
8
8
|
exports.flattenChunks = flattenChunks;
|
|
9
9
|
exports.shrinkBuf = shrinkBuf;
|
|
10
|
-
|
|
11
10
|
// reduce buffer size, avoiding mem copy
|
|
12
11
|
function shrinkBuf(buf, size) {
|
|
13
12
|
if (buf.length === size) {
|
|
14
13
|
return buf;
|
|
15
14
|
}
|
|
16
|
-
|
|
17
15
|
if (buf.subarray) {
|
|
18
16
|
return buf.subarray(0, size);
|
|
19
17
|
}
|
|
20
|
-
|
|
21
18
|
buf.length = size;
|
|
22
19
|
return buf;
|
|
23
20
|
}
|
|
24
|
-
|
|
25
21
|
;
|
|
26
|
-
|
|
27
22
|
function arraySet(dest, src, src_offs, len, dest_offs) {
|
|
28
23
|
if (src.subarray && dest.subarray) {
|
|
29
24
|
dest.set(src.subarray(src_offs, src_offs + len), dest_offs);
|
|
30
25
|
return;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
|
|
26
|
+
}
|
|
27
|
+
// Fallback to ordinary array
|
|
34
28
|
for (var i = 0; i < len; i++) {
|
|
35
29
|
dest[dest_offs + i] = src[src_offs + i];
|
|
36
30
|
}
|
|
37
|
-
}
|
|
38
|
-
|
|
31
|
+
}
|
|
39
32
|
|
|
33
|
+
// Join array of chunks to single array.
|
|
40
34
|
function flattenChunks(chunks) {
|
|
41
|
-
var i, l, len, pos, chunk, result;
|
|
35
|
+
var i, l, len, pos, chunk, result;
|
|
42
36
|
|
|
37
|
+
// calculate data length
|
|
43
38
|
len = 0;
|
|
44
|
-
|
|
45
39
|
for (i = 0, l = chunks.length; i < l; i++) {
|
|
46
40
|
len += chunks[i].length;
|
|
47
|
-
}
|
|
48
|
-
|
|
41
|
+
}
|
|
49
42
|
|
|
43
|
+
// join chunks
|
|
50
44
|
result = new Uint8Array(len);
|
|
51
45
|
pos = 0;
|
|
52
|
-
|
|
53
46
|
for (i = 0, l = chunks.length; i < l; i++) {
|
|
54
47
|
chunk = chunks[i];
|
|
55
48
|
result.set(chunk, pos);
|
|
56
49
|
pos += chunk.length;
|
|
57
50
|
}
|
|
58
|
-
|
|
59
51
|
return result;
|
|
60
52
|
}
|
|
61
|
-
|
|
62
53
|
var Buf8 = Uint8Array;
|
|
63
54
|
exports.Buf8 = Buf8;
|
|
64
55
|
var Buf16 = Uint16Array;
|
|
@@ -4,30 +4,26 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports["default"] = adler32;
|
|
7
|
-
|
|
8
7
|
// Note: adler32 takes 12% for level 0 and 2% for level 6.
|
|
9
8
|
// It doesn't worth to make additional optimizationa as in original.
|
|
10
9
|
// Small size is preferable.
|
|
10
|
+
|
|
11
11
|
function adler32(adler, buf, len, pos) {
|
|
12
12
|
var s1 = adler & 0xffff | 0,
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
13
|
+
s2 = adler >>> 16 & 0xffff | 0,
|
|
14
|
+
n = 0;
|
|
16
15
|
while (len !== 0) {
|
|
17
16
|
// Set limit ~ twice less than 5552, to keep
|
|
18
17
|
// s2 in 31-bits, because we force signed ints.
|
|
19
18
|
// in other case %= will fail.
|
|
20
19
|
n = len > 2000 ? 2000 : len;
|
|
21
20
|
len -= n;
|
|
22
|
-
|
|
23
21
|
do {
|
|
24
22
|
s1 = s1 + buf[pos++] | 0;
|
|
25
23
|
s2 = s2 + s1 | 0;
|
|
26
24
|
} while (--n);
|
|
27
|
-
|
|
28
25
|
s1 %= 65521;
|
|
29
26
|
s2 %= 65521;
|
|
30
27
|
}
|
|
31
|
-
|
|
32
28
|
return s1 | s2 << 16 | 0;
|
|
33
29
|
}
|
|
@@ -13,7 +13,6 @@ var _default = {
|
|
|
13
13
|
Z_FINISH: 4,
|
|
14
14
|
Z_BLOCK: 5,
|
|
15
15
|
Z_TREES: 6,
|
|
16
|
-
|
|
17
16
|
/* Return codes for the compression/decompression functions. Negative values
|
|
18
17
|
* are errors, positive values are used for special but normal events.
|
|
19
18
|
*/
|
|
@@ -37,15 +36,13 @@ var _default = {
|
|
|
37
36
|
Z_RLE: 3,
|
|
38
37
|
Z_FIXED: 4,
|
|
39
38
|
Z_DEFAULT_STRATEGY: 0,
|
|
40
|
-
|
|
41
39
|
/* Possible values of the data_type field (though see inflate()) */
|
|
42
40
|
Z_BINARY: 0,
|
|
43
41
|
Z_TEXT: 1,
|
|
44
42
|
//Z_ASCII: 1, // = Z_TEXT (deprecated)
|
|
45
43
|
Z_UNKNOWN: 2,
|
|
46
|
-
|
|
47
44
|
/* The deflate compression method */
|
|
48
|
-
Z_DEFLATED: 8
|
|
49
|
-
|
|
45
|
+
Z_DEFLATED: 8
|
|
46
|
+
//Z_NULL: null // Use -1 or null inline, depending on var type
|
|
50
47
|
};
|
|
51
48
|
exports["default"] = _default;
|
|
@@ -4,39 +4,32 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports["default"] = makeTable;
|
|
7
|
-
|
|
8
7
|
// Note: we can't get significant speed boost here.
|
|
9
8
|
// So write code to minimize size - no pregenerated tables
|
|
10
9
|
// and array tools dependencies.
|
|
10
|
+
|
|
11
11
|
// Use ordinary array, since untyped makes no boost here
|
|
12
12
|
function makeTable() {
|
|
13
13
|
var c,
|
|
14
|
-
|
|
15
|
-
|
|
14
|
+
table = [];
|
|
16
15
|
for (var n = 0; n < 256; n++) {
|
|
17
16
|
c = n;
|
|
18
|
-
|
|
19
17
|
for (var k = 0; k < 8; k++) {
|
|
20
18
|
c = c & 1 ? 0xEDB88320 ^ c >>> 1 : c >>> 1;
|
|
21
19
|
}
|
|
22
|
-
|
|
23
20
|
table[n] = c;
|
|
24
21
|
}
|
|
25
|
-
|
|
26
22
|
return table;
|
|
27
|
-
}
|
|
28
|
-
|
|
23
|
+
}
|
|
29
24
|
|
|
25
|
+
// Create table on load. Just 255 signed longs. Not a problem.
|
|
30
26
|
var crcTable = makeTable();
|
|
31
|
-
|
|
32
27
|
function crc32(crc, buf, len, pos) {
|
|
33
28
|
var t = crcTable,
|
|
34
|
-
|
|
29
|
+
end = pos + len;
|
|
35
30
|
crc ^= -1;
|
|
36
|
-
|
|
37
31
|
for (var i = pos; i < end; i++) {
|
|
38
32
|
crc = crc >>> 8 ^ t[(crc ^ buf[i]) & 0xFF];
|
|
39
33
|
}
|
|
40
|
-
|
|
41
34
|
return crc ^ -1; // >>> 0;
|
|
42
35
|
}
|