protobufjs 8.0.1-experimental → 8.0.2
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/LICENSE +39 -39
- package/README.md +727 -727
- package/dist/light/protobuf.js +7724 -7352
- package/dist/light/protobuf.js.map +1 -1
- package/dist/light/protobuf.min.js +3 -3
- package/dist/light/protobuf.min.js.map +1 -1
- package/dist/minimal/protobuf.js +2606 -2546
- package/dist/minimal/protobuf.js.map +1 -1
- package/dist/minimal/protobuf.min.js +3 -3
- package/dist/minimal/protobuf.min.js.map +1 -1
- package/dist/protobuf.js +9593 -9132
- package/dist/protobuf.js.map +1 -1
- package/dist/protobuf.min.js +3 -3
- package/dist/protobuf.min.js.map +1 -1
- package/ext/debug/README.md +4 -4
- package/ext/debug/index.js +71 -71
- package/ext/descriptor/README.md +72 -72
- package/ext/descriptor/index.d.ts +195 -191
- package/ext/descriptor/index.js +1181 -1052
- package/ext/descriptor/test.js +54 -54
- package/google/LICENSE +27 -27
- package/google/README.md +1 -1
- package/google/api/annotations.json +82 -82
- package/google/api/annotations.proto +10 -10
- package/google/api/http.json +85 -85
- package/google/api/http.proto +30 -30
- package/google/protobuf/api.json +117 -117
- package/google/protobuf/api.proto +33 -33
- package/google/protobuf/descriptor.json +1381 -738
- package/google/protobuf/descriptor.proto +535 -286
- package/google/protobuf/source_context.json +19 -19
- package/google/protobuf/source_context.proto +7 -7
- package/google/protobuf/type.json +201 -201
- package/google/protobuf/type.proto +89 -89
- package/index.d.ts +2817 -2792
- package/index.js +4 -4
- package/light.d.ts +2 -2
- package/light.js +3 -3
- package/minimal.d.ts +2 -2
- package/minimal.js +4 -4
- package/package.json +96 -112
- package/scripts/postinstall.js +32 -32
- package/src/common.js +399 -399
- package/src/converter.js +310 -301
- package/src/decoder.js +135 -127
- package/src/encoder.js +100 -100
- package/src/enum.js +226 -241
- package/src/field.js +453 -432
- package/src/index-light.js +104 -104
- package/src/index-minimal.js +36 -36
- package/src/index.js +12 -12
- package/src/mapfield.js +126 -126
- package/src/message.js +139 -139
- package/src/method.js +160 -160
- package/src/namespace.js +550 -434
- package/src/object.js +385 -330
- package/src/oneof.js +222 -222
- package/src/parse.js +1032 -948
- package/src/reader.js +426 -416
- package/src/reader_buffer.js +51 -51
- package/src/root.js +404 -384
- package/src/roots.js +17 -17
- package/src/rpc/service.js +142 -142
- package/src/rpc.js +36 -36
- package/src/service.js +193 -168
- package/src/tokenize.js +421 -416
- package/src/type.js +625 -590
- package/src/types.js +196 -196
- package/src/typescript.jsdoc +15 -15
- package/src/util/aspromise.d.ts +13 -0
- package/src/util/aspromise.js +52 -0
- package/src/util/base64.d.ts +32 -0
- package/src/util/base64.js +139 -0
- package/src/util/codegen.d.ts +31 -0
- package/src/util/codegen.js +113 -0
- package/src/util/eventemitter.d.ts +45 -0
- package/src/util/eventemitter.js +84 -0
- package/src/util/fetch.d.ts +56 -0
- package/src/util/fetch.js +114 -0
- package/src/util/float.d.ts +83 -0
- package/src/util/float.js +335 -0
- package/src/util/inquire.d.ts +9 -0
- package/src/util/inquire.js +37 -0
- package/src/util/longbits.js +200 -200
- package/src/util/minimal.js +461 -438
- package/src/util/path.d.ts +22 -0
- package/src/util/path.js +72 -0
- package/src/util/patterns.js +8 -0
- package/src/util/pool.d.ts +32 -0
- package/src/util/pool.js +48 -0
- package/src/util/utf8.d.ts +24 -0
- package/src/util/utf8.js +104 -0
- package/src/util.js +215 -213
- package/src/verifier.js +180 -177
- package/src/wrappers.js +103 -102
- package/src/writer.js +465 -465
- package/src/writer_buffer.js +85 -85
- package/tsconfig.json +8 -8
package/src/util/longbits.js
CHANGED
|
@@ -1,200 +1,200 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
module.exports = LongBits;
|
|
3
|
-
|
|
4
|
-
var util = require("../util/minimal");
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* Constructs new long bits.
|
|
8
|
-
* @classdesc Helper class for working with the low and high bits of a 64 bit value.
|
|
9
|
-
* @memberof util
|
|
10
|
-
* @constructor
|
|
11
|
-
* @param {number} lo Low 32 bits, unsigned
|
|
12
|
-
* @param {number} hi High 32 bits, unsigned
|
|
13
|
-
*/
|
|
14
|
-
function LongBits(lo, hi) {
|
|
15
|
-
|
|
16
|
-
// note that the casts below are theoretically unnecessary as of today, but older statically
|
|
17
|
-
// generated converter code might still call the ctor with signed 32bits. kept for compat.
|
|
18
|
-
|
|
19
|
-
/**
|
|
20
|
-
* Low bits.
|
|
21
|
-
* @type {number}
|
|
22
|
-
*/
|
|
23
|
-
this.lo = lo >>> 0;
|
|
24
|
-
|
|
25
|
-
/**
|
|
26
|
-
* High bits.
|
|
27
|
-
* @type {number}
|
|
28
|
-
*/
|
|
29
|
-
this.hi = hi >>> 0;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
/**
|
|
33
|
-
* Zero bits.
|
|
34
|
-
* @memberof util.LongBits
|
|
35
|
-
* @type {util.LongBits}
|
|
36
|
-
*/
|
|
37
|
-
var zero = LongBits.zero = new LongBits(0, 0);
|
|
38
|
-
|
|
39
|
-
zero.toNumber = function() { return 0; };
|
|
40
|
-
zero.zzEncode = zero.zzDecode = function() { return this; };
|
|
41
|
-
zero.length = function() { return 1; };
|
|
42
|
-
|
|
43
|
-
/**
|
|
44
|
-
* Zero hash.
|
|
45
|
-
* @memberof util.LongBits
|
|
46
|
-
* @type {string}
|
|
47
|
-
*/
|
|
48
|
-
var zeroHash = LongBits.zeroHash = "\0\0\0\0\0\0\0\0";
|
|
49
|
-
|
|
50
|
-
/**
|
|
51
|
-
* Constructs new long bits from the specified number.
|
|
52
|
-
* @param {number} value Value
|
|
53
|
-
* @returns {util.LongBits} Instance
|
|
54
|
-
*/
|
|
55
|
-
LongBits.fromNumber = function fromNumber(value) {
|
|
56
|
-
if (value === 0)
|
|
57
|
-
return zero;
|
|
58
|
-
var sign = value < 0;
|
|
59
|
-
if (sign)
|
|
60
|
-
value = -value;
|
|
61
|
-
var lo = value >>> 0,
|
|
62
|
-
hi = (value - lo) / 4294967296 >>> 0;
|
|
63
|
-
if (sign) {
|
|
64
|
-
hi = ~hi >>> 0;
|
|
65
|
-
lo = ~lo >>> 0;
|
|
66
|
-
if (++lo > 4294967295) {
|
|
67
|
-
lo = 0;
|
|
68
|
-
if (++hi > 4294967295)
|
|
69
|
-
hi = 0;
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
return new LongBits(lo, hi);
|
|
73
|
-
};
|
|
74
|
-
|
|
75
|
-
/**
|
|
76
|
-
* Constructs new long bits from a number, long or string.
|
|
77
|
-
* @param {Long|number|string} value Value
|
|
78
|
-
* @returns {util.LongBits} Instance
|
|
79
|
-
*/
|
|
80
|
-
LongBits.from = function from(value) {
|
|
81
|
-
if (typeof value === "number")
|
|
82
|
-
return LongBits.fromNumber(value);
|
|
83
|
-
if (util.isString(value)) {
|
|
84
|
-
/* istanbul ignore else */
|
|
85
|
-
if (util.Long)
|
|
86
|
-
value = util.Long.fromString(value);
|
|
87
|
-
else
|
|
88
|
-
return LongBits.fromNumber(parseInt(value, 10));
|
|
89
|
-
}
|
|
90
|
-
return value.low || value.high ? new LongBits(value.low >>> 0, value.high >>> 0) : zero;
|
|
91
|
-
};
|
|
92
|
-
|
|
93
|
-
/**
|
|
94
|
-
* Converts this long bits to a possibly unsafe JavaScript number.
|
|
95
|
-
* @param {boolean} [unsigned=false] Whether unsigned or not
|
|
96
|
-
* @returns {number} Possibly unsafe number
|
|
97
|
-
*/
|
|
98
|
-
LongBits.prototype.toNumber = function toNumber(unsigned) {
|
|
99
|
-
if (!unsigned && this.hi >>> 31) {
|
|
100
|
-
var lo = ~this.lo + 1 >>> 0,
|
|
101
|
-
hi = ~this.hi >>> 0;
|
|
102
|
-
if (!lo)
|
|
103
|
-
hi = hi + 1 >>> 0;
|
|
104
|
-
return -(lo + hi * 4294967296);
|
|
105
|
-
}
|
|
106
|
-
return this.lo + this.hi * 4294967296;
|
|
107
|
-
};
|
|
108
|
-
|
|
109
|
-
/**
|
|
110
|
-
* Converts this long bits to a long.
|
|
111
|
-
* @param {boolean} [unsigned=false] Whether unsigned or not
|
|
112
|
-
* @returns {Long} Long
|
|
113
|
-
*/
|
|
114
|
-
LongBits.prototype.toLong = function toLong(unsigned) {
|
|
115
|
-
return util.Long
|
|
116
|
-
? new util.Long(this.lo | 0, this.hi | 0, Boolean(unsigned))
|
|
117
|
-
/* istanbul ignore next */
|
|
118
|
-
: { low: this.lo | 0, high: this.hi | 0, unsigned: Boolean(unsigned) };
|
|
119
|
-
};
|
|
120
|
-
|
|
121
|
-
var charCodeAt = String.prototype.charCodeAt;
|
|
122
|
-
|
|
123
|
-
/**
|
|
124
|
-
* Constructs new long bits from the specified 8 characters long hash.
|
|
125
|
-
* @param {string} hash Hash
|
|
126
|
-
* @returns {util.LongBits} Bits
|
|
127
|
-
*/
|
|
128
|
-
LongBits.fromHash = function fromHash(hash) {
|
|
129
|
-
if (hash === zeroHash)
|
|
130
|
-
return zero;
|
|
131
|
-
return new LongBits(
|
|
132
|
-
( charCodeAt.call(hash, 0)
|
|
133
|
-
| charCodeAt.call(hash, 1) << 8
|
|
134
|
-
| charCodeAt.call(hash, 2) << 16
|
|
135
|
-
| charCodeAt.call(hash, 3) << 24) >>> 0
|
|
136
|
-
,
|
|
137
|
-
( charCodeAt.call(hash, 4)
|
|
138
|
-
| charCodeAt.call(hash, 5) << 8
|
|
139
|
-
| charCodeAt.call(hash, 6) << 16
|
|
140
|
-
| charCodeAt.call(hash, 7) << 24) >>> 0
|
|
141
|
-
);
|
|
142
|
-
};
|
|
143
|
-
|
|
144
|
-
/**
|
|
145
|
-
* Converts this long bits to a 8 characters long hash.
|
|
146
|
-
* @returns {string} Hash
|
|
147
|
-
*/
|
|
148
|
-
LongBits.prototype.toHash = function toHash() {
|
|
149
|
-
return String.fromCharCode(
|
|
150
|
-
this.lo & 255,
|
|
151
|
-
this.lo >>> 8 & 255,
|
|
152
|
-
this.lo >>> 16 & 255,
|
|
153
|
-
this.lo >>> 24 ,
|
|
154
|
-
this.hi & 255,
|
|
155
|
-
this.hi >>> 8 & 255,
|
|
156
|
-
this.hi >>> 16 & 255,
|
|
157
|
-
this.hi >>> 24
|
|
158
|
-
);
|
|
159
|
-
};
|
|
160
|
-
|
|
161
|
-
/**
|
|
162
|
-
* Zig-zag encodes this long bits.
|
|
163
|
-
* @returns {util.LongBits} `this`
|
|
164
|
-
*/
|
|
165
|
-
LongBits.prototype.zzEncode = function zzEncode() {
|
|
166
|
-
var mask = this.hi >> 31;
|
|
167
|
-
this.hi = ((this.hi << 1 | this.lo >>> 31) ^ mask) >>> 0;
|
|
168
|
-
this.lo = ( this.lo << 1 ^ mask) >>> 0;
|
|
169
|
-
return this;
|
|
170
|
-
};
|
|
171
|
-
|
|
172
|
-
/**
|
|
173
|
-
* Zig-zag decodes this long bits.
|
|
174
|
-
* @returns {util.LongBits} `this`
|
|
175
|
-
*/
|
|
176
|
-
LongBits.prototype.zzDecode = function zzDecode() {
|
|
177
|
-
var mask = -(this.lo & 1);
|
|
178
|
-
this.lo = ((this.lo >>> 1 | this.hi << 31) ^ mask) >>> 0;
|
|
179
|
-
this.hi = ( this.hi >>> 1 ^ mask) >>> 0;
|
|
180
|
-
return this;
|
|
181
|
-
};
|
|
182
|
-
|
|
183
|
-
/**
|
|
184
|
-
* Calculates the length of this longbits when encoded as a varint.
|
|
185
|
-
* @returns {number} Length
|
|
186
|
-
*/
|
|
187
|
-
LongBits.prototype.length = function length() {
|
|
188
|
-
var part0 = this.lo,
|
|
189
|
-
part1 = (this.lo >>> 28 | this.hi << 4) >>> 0,
|
|
190
|
-
part2 = this.hi >>> 24;
|
|
191
|
-
return part2 === 0
|
|
192
|
-
? part1 === 0
|
|
193
|
-
? part0 < 16384
|
|
194
|
-
? part0 < 128 ? 1 : 2
|
|
195
|
-
: part0 < 2097152 ? 3 : 4
|
|
196
|
-
: part1 < 16384
|
|
197
|
-
? part1 < 128 ? 5 : 6
|
|
198
|
-
: part1 < 2097152 ? 7 : 8
|
|
199
|
-
: part2 < 128 ? 9 : 10;
|
|
200
|
-
};
|
|
1
|
+
"use strict";
|
|
2
|
+
module.exports = LongBits;
|
|
3
|
+
|
|
4
|
+
var util = require("../util/minimal");
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Constructs new long bits.
|
|
8
|
+
* @classdesc Helper class for working with the low and high bits of a 64 bit value.
|
|
9
|
+
* @memberof util
|
|
10
|
+
* @constructor
|
|
11
|
+
* @param {number} lo Low 32 bits, unsigned
|
|
12
|
+
* @param {number} hi High 32 bits, unsigned
|
|
13
|
+
*/
|
|
14
|
+
function LongBits(lo, hi) {
|
|
15
|
+
|
|
16
|
+
// note that the casts below are theoretically unnecessary as of today, but older statically
|
|
17
|
+
// generated converter code might still call the ctor with signed 32bits. kept for compat.
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Low bits.
|
|
21
|
+
* @type {number}
|
|
22
|
+
*/
|
|
23
|
+
this.lo = lo >>> 0;
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* High bits.
|
|
27
|
+
* @type {number}
|
|
28
|
+
*/
|
|
29
|
+
this.hi = hi >>> 0;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Zero bits.
|
|
34
|
+
* @memberof util.LongBits
|
|
35
|
+
* @type {util.LongBits}
|
|
36
|
+
*/
|
|
37
|
+
var zero = LongBits.zero = new LongBits(0, 0);
|
|
38
|
+
|
|
39
|
+
zero.toNumber = function() { return 0; };
|
|
40
|
+
zero.zzEncode = zero.zzDecode = function() { return this; };
|
|
41
|
+
zero.length = function() { return 1; };
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* Zero hash.
|
|
45
|
+
* @memberof util.LongBits
|
|
46
|
+
* @type {string}
|
|
47
|
+
*/
|
|
48
|
+
var zeroHash = LongBits.zeroHash = "\0\0\0\0\0\0\0\0";
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* Constructs new long bits from the specified number.
|
|
52
|
+
* @param {number} value Value
|
|
53
|
+
* @returns {util.LongBits} Instance
|
|
54
|
+
*/
|
|
55
|
+
LongBits.fromNumber = function fromNumber(value) {
|
|
56
|
+
if (value === 0)
|
|
57
|
+
return zero;
|
|
58
|
+
var sign = value < 0;
|
|
59
|
+
if (sign)
|
|
60
|
+
value = -value;
|
|
61
|
+
var lo = value >>> 0,
|
|
62
|
+
hi = (value - lo) / 4294967296 >>> 0;
|
|
63
|
+
if (sign) {
|
|
64
|
+
hi = ~hi >>> 0;
|
|
65
|
+
lo = ~lo >>> 0;
|
|
66
|
+
if (++lo > 4294967295) {
|
|
67
|
+
lo = 0;
|
|
68
|
+
if (++hi > 4294967295)
|
|
69
|
+
hi = 0;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
return new LongBits(lo, hi);
|
|
73
|
+
};
|
|
74
|
+
|
|
75
|
+
/**
|
|
76
|
+
* Constructs new long bits from a number, long or string.
|
|
77
|
+
* @param {Long|number|string} value Value
|
|
78
|
+
* @returns {util.LongBits} Instance
|
|
79
|
+
*/
|
|
80
|
+
LongBits.from = function from(value) {
|
|
81
|
+
if (typeof value === "number")
|
|
82
|
+
return LongBits.fromNumber(value);
|
|
83
|
+
if (util.isString(value)) {
|
|
84
|
+
/* istanbul ignore else */
|
|
85
|
+
if (util.Long)
|
|
86
|
+
value = util.Long.fromString(value);
|
|
87
|
+
else
|
|
88
|
+
return LongBits.fromNumber(parseInt(value, 10));
|
|
89
|
+
}
|
|
90
|
+
return value.low || value.high ? new LongBits(value.low >>> 0, value.high >>> 0) : zero;
|
|
91
|
+
};
|
|
92
|
+
|
|
93
|
+
/**
|
|
94
|
+
* Converts this long bits to a possibly unsafe JavaScript number.
|
|
95
|
+
* @param {boolean} [unsigned=false] Whether unsigned or not
|
|
96
|
+
* @returns {number} Possibly unsafe number
|
|
97
|
+
*/
|
|
98
|
+
LongBits.prototype.toNumber = function toNumber(unsigned) {
|
|
99
|
+
if (!unsigned && this.hi >>> 31) {
|
|
100
|
+
var lo = ~this.lo + 1 >>> 0,
|
|
101
|
+
hi = ~this.hi >>> 0;
|
|
102
|
+
if (!lo)
|
|
103
|
+
hi = hi + 1 >>> 0;
|
|
104
|
+
return -(lo + hi * 4294967296);
|
|
105
|
+
}
|
|
106
|
+
return this.lo + this.hi * 4294967296;
|
|
107
|
+
};
|
|
108
|
+
|
|
109
|
+
/**
|
|
110
|
+
* Converts this long bits to a long.
|
|
111
|
+
* @param {boolean} [unsigned=false] Whether unsigned or not
|
|
112
|
+
* @returns {Long} Long
|
|
113
|
+
*/
|
|
114
|
+
LongBits.prototype.toLong = function toLong(unsigned) {
|
|
115
|
+
return util.Long
|
|
116
|
+
? new util.Long(this.lo | 0, this.hi | 0, Boolean(unsigned))
|
|
117
|
+
/* istanbul ignore next */
|
|
118
|
+
: { low: this.lo | 0, high: this.hi | 0, unsigned: Boolean(unsigned) };
|
|
119
|
+
};
|
|
120
|
+
|
|
121
|
+
var charCodeAt = String.prototype.charCodeAt;
|
|
122
|
+
|
|
123
|
+
/**
|
|
124
|
+
* Constructs new long bits from the specified 8 characters long hash.
|
|
125
|
+
* @param {string} hash Hash
|
|
126
|
+
* @returns {util.LongBits} Bits
|
|
127
|
+
*/
|
|
128
|
+
LongBits.fromHash = function fromHash(hash) {
|
|
129
|
+
if (hash === zeroHash)
|
|
130
|
+
return zero;
|
|
131
|
+
return new LongBits(
|
|
132
|
+
( charCodeAt.call(hash, 0)
|
|
133
|
+
| charCodeAt.call(hash, 1) << 8
|
|
134
|
+
| charCodeAt.call(hash, 2) << 16
|
|
135
|
+
| charCodeAt.call(hash, 3) << 24) >>> 0
|
|
136
|
+
,
|
|
137
|
+
( charCodeAt.call(hash, 4)
|
|
138
|
+
| charCodeAt.call(hash, 5) << 8
|
|
139
|
+
| charCodeAt.call(hash, 6) << 16
|
|
140
|
+
| charCodeAt.call(hash, 7) << 24) >>> 0
|
|
141
|
+
);
|
|
142
|
+
};
|
|
143
|
+
|
|
144
|
+
/**
|
|
145
|
+
* Converts this long bits to a 8 characters long hash.
|
|
146
|
+
* @returns {string} Hash
|
|
147
|
+
*/
|
|
148
|
+
LongBits.prototype.toHash = function toHash() {
|
|
149
|
+
return String.fromCharCode(
|
|
150
|
+
this.lo & 255,
|
|
151
|
+
this.lo >>> 8 & 255,
|
|
152
|
+
this.lo >>> 16 & 255,
|
|
153
|
+
this.lo >>> 24 ,
|
|
154
|
+
this.hi & 255,
|
|
155
|
+
this.hi >>> 8 & 255,
|
|
156
|
+
this.hi >>> 16 & 255,
|
|
157
|
+
this.hi >>> 24
|
|
158
|
+
);
|
|
159
|
+
};
|
|
160
|
+
|
|
161
|
+
/**
|
|
162
|
+
* Zig-zag encodes this long bits.
|
|
163
|
+
* @returns {util.LongBits} `this`
|
|
164
|
+
*/
|
|
165
|
+
LongBits.prototype.zzEncode = function zzEncode() {
|
|
166
|
+
var mask = this.hi >> 31;
|
|
167
|
+
this.hi = ((this.hi << 1 | this.lo >>> 31) ^ mask) >>> 0;
|
|
168
|
+
this.lo = ( this.lo << 1 ^ mask) >>> 0;
|
|
169
|
+
return this;
|
|
170
|
+
};
|
|
171
|
+
|
|
172
|
+
/**
|
|
173
|
+
* Zig-zag decodes this long bits.
|
|
174
|
+
* @returns {util.LongBits} `this`
|
|
175
|
+
*/
|
|
176
|
+
LongBits.prototype.zzDecode = function zzDecode() {
|
|
177
|
+
var mask = -(this.lo & 1);
|
|
178
|
+
this.lo = ((this.lo >>> 1 | this.hi << 31) ^ mask) >>> 0;
|
|
179
|
+
this.hi = ( this.hi >>> 1 ^ mask) >>> 0;
|
|
180
|
+
return this;
|
|
181
|
+
};
|
|
182
|
+
|
|
183
|
+
/**
|
|
184
|
+
* Calculates the length of this longbits when encoded as a varint.
|
|
185
|
+
* @returns {number} Length
|
|
186
|
+
*/
|
|
187
|
+
LongBits.prototype.length = function length() {
|
|
188
|
+
var part0 = this.lo,
|
|
189
|
+
part1 = (this.lo >>> 28 | this.hi << 4) >>> 0,
|
|
190
|
+
part2 = this.hi >>> 24;
|
|
191
|
+
return part2 === 0
|
|
192
|
+
? part1 === 0
|
|
193
|
+
? part0 < 16384
|
|
194
|
+
? part0 < 128 ? 1 : 2
|
|
195
|
+
: part0 < 2097152 ? 3 : 4
|
|
196
|
+
: part1 < 16384
|
|
197
|
+
? part1 < 128 ? 5 : 6
|
|
198
|
+
: part1 < 2097152 ? 7 : 8
|
|
199
|
+
: part2 < 128 ? 9 : 10;
|
|
200
|
+
};
|