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
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tests if the specified path is absolute.
|
|
3
|
+
* @param {string} path Path to test
|
|
4
|
+
* @returns {boolean} `true` if path is absolute
|
|
5
|
+
*/
|
|
6
|
+
export function isAbsolute(path: string): boolean;
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Normalizes the specified path.
|
|
10
|
+
* @param {string} path Path to normalize
|
|
11
|
+
* @returns {string} Normalized path
|
|
12
|
+
*/
|
|
13
|
+
export function normalize(path: string): string;
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Resolves the specified include path against the specified origin path.
|
|
17
|
+
* @param {string} originPath Path to the origin file
|
|
18
|
+
* @param {string} includePath Include path relative to origin path
|
|
19
|
+
* @param {boolean} [alreadyNormalized=false] `true` if both paths are already known to be normalized
|
|
20
|
+
* @returns {string} Path to the include file
|
|
21
|
+
*/
|
|
22
|
+
export function resolve(originPath: string, includePath: string, alreadyNormalized?: boolean): string;
|
package/src/util/path.js
ADDED
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* A minimal path module to resolve Unix, Windows and URL paths alike.
|
|
5
|
+
* @memberof util
|
|
6
|
+
* @namespace
|
|
7
|
+
*/
|
|
8
|
+
var path = exports;
|
|
9
|
+
|
|
10
|
+
var isAbsolute =
|
|
11
|
+
/**
|
|
12
|
+
* Tests if the specified path is absolute.
|
|
13
|
+
* @param {string} path Path to test
|
|
14
|
+
* @returns {boolean} `true` if path is absolute
|
|
15
|
+
*/
|
|
16
|
+
path.isAbsolute = function isAbsolute(path) {
|
|
17
|
+
return /^(?:\/|\w+:|\\\\\w+)/.test(path);
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
var normalize =
|
|
21
|
+
/**
|
|
22
|
+
* Normalizes the specified path.
|
|
23
|
+
* @param {string} path Path to normalize
|
|
24
|
+
* @returns {string} Normalized path
|
|
25
|
+
*/
|
|
26
|
+
path.normalize = function normalize(path) {
|
|
27
|
+
var firstTwoCharacters = path.substring(0,2);
|
|
28
|
+
var uncPrefix = "";
|
|
29
|
+
if (firstTwoCharacters === "\\\\") {
|
|
30
|
+
uncPrefix = firstTwoCharacters;
|
|
31
|
+
path = path.substring(2);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
path = path.replace(/\\/g, "/")
|
|
35
|
+
.replace(/\/{2,}/g, "/");
|
|
36
|
+
var parts = path.split("/"),
|
|
37
|
+
absolute = isAbsolute(path),
|
|
38
|
+
prefix = "";
|
|
39
|
+
if (absolute)
|
|
40
|
+
prefix = parts.shift() + "/";
|
|
41
|
+
for (var i = 0; i < parts.length;) {
|
|
42
|
+
if (parts[i] === "..") {
|
|
43
|
+
if (i > 0 && parts[i - 1] !== "..")
|
|
44
|
+
parts.splice(--i, 2);
|
|
45
|
+
else if (absolute)
|
|
46
|
+
parts.splice(i, 1);
|
|
47
|
+
else
|
|
48
|
+
++i;
|
|
49
|
+
} else if (parts[i] === ".")
|
|
50
|
+
parts.splice(i, 1);
|
|
51
|
+
else
|
|
52
|
+
++i;
|
|
53
|
+
}
|
|
54
|
+
return uncPrefix + prefix + parts.join("/");
|
|
55
|
+
};
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* Resolves the specified include path against the specified origin path.
|
|
59
|
+
* @param {string} originPath Path to the origin file
|
|
60
|
+
* @param {string} includePath Include path relative to origin path
|
|
61
|
+
* @param {boolean} [alreadyNormalized=false] `true` if both paths are already known to be normalized
|
|
62
|
+
* @returns {string} Path to the include file
|
|
63
|
+
*/
|
|
64
|
+
path.resolve = function resolve(originPath, includePath, alreadyNormalized) {
|
|
65
|
+
if (!alreadyNormalized)
|
|
66
|
+
includePath = normalize(includePath);
|
|
67
|
+
if (isAbsolute(includePath))
|
|
68
|
+
return includePath;
|
|
69
|
+
if (!alreadyNormalized)
|
|
70
|
+
originPath = normalize(originPath);
|
|
71
|
+
return (originPath = originPath.replace(/(?:\/|^)[^/]+$/, "")).length ? normalize(originPath + "/" + includePath) : includePath;
|
|
72
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var patterns = exports;
|
|
4
|
+
|
|
5
|
+
patterns.numberRe = /^(?![eE])[0-9]*(?:\.[0-9]*)?(?:[eE][+-]?[0-9]+)?$/;
|
|
6
|
+
patterns.typeRefRe = /^(?:\.?[a-zA-Z_][a-zA-Z_0-9]*)(?:\.[a-zA-Z_][a-zA-Z_0-9]*)*$/;
|
|
7
|
+
patterns.reservedRe = /^(?:do|if|in|for|let|new|try|var|case|else|enum|eval|false|null|this|true|void|with|break|catch|class|const|super|throw|while|yield|delete|export|import|public|return|static|switch|typeof|default|extends|finally|package|private|continue|debugger|function|arguments|interface|protected|implements|instanceof)$/;
|
|
8
|
+
patterns.unsafePropertyRe = /^(?:__proto__|prototype|constructor)$/;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
export = pool;
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* An allocator as used by {@link util.pool}.
|
|
5
|
+
* @typedef PoolAllocator
|
|
6
|
+
* @type {function}
|
|
7
|
+
* @param {number} size Buffer size
|
|
8
|
+
* @returns {Uint8Array} Buffer
|
|
9
|
+
*/
|
|
10
|
+
type PoolAllocator = (size: number) => Uint8Array;
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* A slicer as used by {@link util.pool}.
|
|
14
|
+
* @typedef PoolSlicer
|
|
15
|
+
* @type {function}
|
|
16
|
+
* @param {number} start Start offset
|
|
17
|
+
* @param {number} end End offset
|
|
18
|
+
* @returns {Uint8Array} Buffer slice
|
|
19
|
+
* @this {Uint8Array}
|
|
20
|
+
*/
|
|
21
|
+
type PoolSlicer = (this: Uint8Array, start: number, end: number) => Uint8Array;
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* A general purpose buffer pool.
|
|
25
|
+
* @memberof util
|
|
26
|
+
* @function
|
|
27
|
+
* @param {PoolAllocator} alloc Allocator
|
|
28
|
+
* @param {PoolSlicer} slice Slicer
|
|
29
|
+
* @param {number} [size=8192] Slab size
|
|
30
|
+
* @returns {PoolAllocator} Pooled allocator
|
|
31
|
+
*/
|
|
32
|
+
declare function pool(alloc: PoolAllocator, slice: PoolSlicer, size?: number): PoolAllocator;
|
package/src/util/pool.js
ADDED
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
module.exports = pool;
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* An allocator as used by {@link util.pool}.
|
|
6
|
+
* @typedef PoolAllocator
|
|
7
|
+
* @type {function}
|
|
8
|
+
* @param {number} size Buffer size
|
|
9
|
+
* @returns {Uint8Array} Buffer
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* A slicer as used by {@link util.pool}.
|
|
14
|
+
* @typedef PoolSlicer
|
|
15
|
+
* @type {function}
|
|
16
|
+
* @param {number} start Start offset
|
|
17
|
+
* @param {number} end End offset
|
|
18
|
+
* @returns {Uint8Array} Buffer slice
|
|
19
|
+
* @this {Uint8Array}
|
|
20
|
+
*/
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* A general purpose buffer pool.
|
|
24
|
+
* @memberof util
|
|
25
|
+
* @function
|
|
26
|
+
* @param {PoolAllocator} alloc Allocator
|
|
27
|
+
* @param {PoolSlicer} slice Slicer
|
|
28
|
+
* @param {number} [size=8192] Slab size
|
|
29
|
+
* @returns {PoolAllocator} Pooled allocator
|
|
30
|
+
*/
|
|
31
|
+
function pool(alloc, slice, size) {
|
|
32
|
+
var SIZE = size || 8192;
|
|
33
|
+
var MAX = SIZE >>> 1;
|
|
34
|
+
var slab = null;
|
|
35
|
+
var offset = SIZE;
|
|
36
|
+
return function pool_alloc(size) {
|
|
37
|
+
if (size < 1 || size > MAX)
|
|
38
|
+
return alloc(size);
|
|
39
|
+
if (offset + size > SIZE) {
|
|
40
|
+
slab = alloc(SIZE);
|
|
41
|
+
offset = 0;
|
|
42
|
+
}
|
|
43
|
+
var buf = slice.call(slab, offset, offset += size);
|
|
44
|
+
if (offset & 7) // align to 32 bit
|
|
45
|
+
offset = (offset | 7) + 1;
|
|
46
|
+
return buf;
|
|
47
|
+
};
|
|
48
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Calculates the UTF8 byte length of a string.
|
|
3
|
+
* @param {string} string String
|
|
4
|
+
* @returns {number} Byte length
|
|
5
|
+
*/
|
|
6
|
+
export function length(string: string): number;
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Reads UTF8 bytes as a string.
|
|
10
|
+
* @param {Uint8Array} buffer Source buffer
|
|
11
|
+
* @param {number} start Source start
|
|
12
|
+
* @param {number} end Source end
|
|
13
|
+
* @returns {string} String read
|
|
14
|
+
*/
|
|
15
|
+
export function read(buffer: Uint8Array, start: number, end: number): string;
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Writes a string as UTF8 bytes.
|
|
19
|
+
* @param {string} string Source string
|
|
20
|
+
* @param {Uint8Array} buffer Destination buffer
|
|
21
|
+
* @param {number} offset Destination offset
|
|
22
|
+
* @returns {number} Bytes written
|
|
23
|
+
*/
|
|
24
|
+
export function write(string: string, buffer: Uint8Array, offset: number): number;
|
package/src/util/utf8.js
ADDED
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* A minimal UTF8 implementation for number arrays.
|
|
5
|
+
* @memberof util
|
|
6
|
+
* @namespace
|
|
7
|
+
*/
|
|
8
|
+
var utf8 = exports,
|
|
9
|
+
replacementChar = "\ufffd";
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Calculates the UTF8 byte length of a string.
|
|
13
|
+
* @param {string} string String
|
|
14
|
+
* @returns {number} Byte length
|
|
15
|
+
*/
|
|
16
|
+
utf8.length = function utf8_length(string) {
|
|
17
|
+
var len = 0,
|
|
18
|
+
c = 0;
|
|
19
|
+
for (var i = 0; i < string.length; ++i) {
|
|
20
|
+
c = string.charCodeAt(i);
|
|
21
|
+
if (c < 128)
|
|
22
|
+
len += 1;
|
|
23
|
+
else if (c < 2048)
|
|
24
|
+
len += 2;
|
|
25
|
+
else if ((c & 0xFC00) === 0xD800 && (string.charCodeAt(i + 1) & 0xFC00) === 0xDC00) {
|
|
26
|
+
++i;
|
|
27
|
+
len += 4;
|
|
28
|
+
} else
|
|
29
|
+
len += 3;
|
|
30
|
+
}
|
|
31
|
+
return len;
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* Reads UTF8 bytes as a string.
|
|
36
|
+
* @param {Uint8Array} buffer Source buffer
|
|
37
|
+
* @param {number} start Source start
|
|
38
|
+
* @param {number} end Source end
|
|
39
|
+
* @returns {string} String read
|
|
40
|
+
*/
|
|
41
|
+
utf8.read = function utf8_read(buffer, start, end) {
|
|
42
|
+
if (end - start < 1) {
|
|
43
|
+
return "";
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
var str = "";
|
|
47
|
+
for (var i = start; i < end;) {
|
|
48
|
+
var t = buffer[i++];
|
|
49
|
+
if (t <= 0x7F) {
|
|
50
|
+
str += String.fromCharCode(t);
|
|
51
|
+
} else if (t >= 0xC0 && t < 0xE0) {
|
|
52
|
+
var c2 = (t & 0x1F) << 6 | buffer[i++] & 0x3F;
|
|
53
|
+
str += c2 >= 0x80 ? String.fromCharCode(c2) : replacementChar;
|
|
54
|
+
} else if (t >= 0xE0 && t < 0xF0) {
|
|
55
|
+
var c3 = (t & 0xF) << 12 | (buffer[i++] & 0x3F) << 6 | buffer[i++] & 0x3F;
|
|
56
|
+
str += c3 >= 0x800 ? String.fromCharCode(c3) : replacementChar;
|
|
57
|
+
} else if (t >= 0xF0) {
|
|
58
|
+
var t2 = (t & 7) << 18 | (buffer[i++] & 0x3F) << 12 | (buffer[i++] & 0x3F) << 6 | buffer[i++] & 0x3F;
|
|
59
|
+
if (t2 < 0x10000 || t2 > 0x10FFFF)
|
|
60
|
+
str += replacementChar;
|
|
61
|
+
else {
|
|
62
|
+
t2 -= 0x10000;
|
|
63
|
+
str += String.fromCharCode(0xD800 + (t2 >> 10));
|
|
64
|
+
str += String.fromCharCode(0xDC00 + (t2 & 0x3FF));
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
return str;
|
|
70
|
+
};
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
* Writes a string as UTF8 bytes.
|
|
74
|
+
* @param {string} string Source string
|
|
75
|
+
* @param {Uint8Array} buffer Destination buffer
|
|
76
|
+
* @param {number} offset Destination offset
|
|
77
|
+
* @returns {number} Bytes written
|
|
78
|
+
*/
|
|
79
|
+
utf8.write = function utf8_write(string, buffer, offset) {
|
|
80
|
+
var start = offset,
|
|
81
|
+
c1, // character 1
|
|
82
|
+
c2; // character 2
|
|
83
|
+
for (var i = 0; i < string.length; ++i) {
|
|
84
|
+
c1 = string.charCodeAt(i);
|
|
85
|
+
if (c1 < 128) {
|
|
86
|
+
buffer[offset++] = c1;
|
|
87
|
+
} else if (c1 < 2048) {
|
|
88
|
+
buffer[offset++] = c1 >> 6 | 192;
|
|
89
|
+
buffer[offset++] = c1 & 63 | 128;
|
|
90
|
+
} else if ((c1 & 0xFC00) === 0xD800 && ((c2 = string.charCodeAt(i + 1)) & 0xFC00) === 0xDC00) {
|
|
91
|
+
c1 = 0x10000 + ((c1 & 0x03FF) << 10) + (c2 & 0x03FF);
|
|
92
|
+
++i;
|
|
93
|
+
buffer[offset++] = c1 >> 18 | 240;
|
|
94
|
+
buffer[offset++] = c1 >> 12 & 63 | 128;
|
|
95
|
+
buffer[offset++] = c1 >> 6 & 63 | 128;
|
|
96
|
+
buffer[offset++] = c1 & 63 | 128;
|
|
97
|
+
} else {
|
|
98
|
+
buffer[offset++] = c1 >> 12 | 224;
|
|
99
|
+
buffer[offset++] = c1 >> 6 & 63 | 128;
|
|
100
|
+
buffer[offset++] = c1 & 63 | 128;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
return offset - start;
|
|
104
|
+
};
|