@bufbuild/protobuf 2.0.0-alpha.2 → 2.0.0-alpha.4
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/README.md +1 -1
- package/dist/cjs/clone.d.ts +1 -1
- package/dist/cjs/clone.js +9 -6
- package/dist/cjs/codegenv1/boot.d.ts +1 -1
- package/dist/cjs/codegenv1/boot.js +3 -5
- package/dist/cjs/codegenv1/embed.d.ts +1 -1
- package/dist/cjs/codegenv1/embed.js +39 -34
- package/dist/cjs/codegenv1/enum.d.ts +1 -1
- package/dist/cjs/codegenv1/extension.d.ts +1 -1
- package/dist/cjs/codegenv1/file.d.ts +1 -1
- package/dist/cjs/codegenv1/file.js +5 -7
- package/dist/cjs/codegenv1/index.d.ts +1 -0
- package/dist/cjs/codegenv1/index.js +1 -0
- package/dist/cjs/codegenv1/message.d.ts +1 -1
- package/dist/cjs/codegenv1/scalar.d.ts +5 -0
- package/dist/cjs/codegenv1/scalar.js +39 -0
- package/dist/cjs/codegenv1/service.d.ts +3 -3
- package/dist/cjs/codegenv1/types.d.ts +7 -9
- package/dist/cjs/create.d.ts +1 -1
- package/dist/cjs/create.js +6 -5
- package/dist/cjs/{desc-types.d.ts → descriptors.d.ts} +39 -7
- package/dist/cjs/descriptors.js +53 -0
- package/dist/cjs/equals.d.ts +1 -1
- package/dist/cjs/extensions.d.ts +1 -1
- package/dist/cjs/extensions.js +4 -3
- package/dist/cjs/fields.d.ts +1 -1
- package/dist/cjs/from-binary.d.ts +1 -1
- package/dist/cjs/from-binary.js +32 -29
- package/dist/cjs/from-json.d.ts +2 -2
- package/dist/cjs/from-json.js +201 -188
- package/dist/cjs/index.d.ts +2 -1
- package/dist/cjs/index.js +2 -1
- package/dist/cjs/is-message.d.ts +1 -1
- package/dist/cjs/proto-int64.d.ts +4 -1
- package/dist/cjs/proto-int64.js +16 -6
- package/dist/cjs/reflect/error.d.ts +1 -1
- package/dist/cjs/reflect/guard.d.ts +1 -1
- package/dist/cjs/reflect/guard.js +4 -4
- package/dist/cjs/reflect/index.d.ts +0 -1
- package/dist/cjs/reflect/index.js +0 -1
- package/dist/cjs/reflect/names.d.ts +1 -1
- package/dist/cjs/reflect/names.js +1 -1
- package/dist/cjs/reflect/nested-types.d.ts +1 -1
- package/dist/cjs/reflect/reflect-check.d.ts +10 -1
- package/dist/cjs/reflect/reflect-check.js +126 -9
- package/dist/cjs/reflect/reflect-types.d.ts +3 -41
- package/dist/cjs/reflect/reflect.d.ts +1 -1
- package/dist/cjs/reflect/reflect.js +42 -60
- package/dist/cjs/reflect/scalar.d.ts +3 -55
- package/dist/cjs/reflect/scalar.js +26 -220
- package/dist/cjs/reflect/unsafe.d.ts +1 -17
- package/dist/cjs/reflect/unsafe.js +2 -20
- package/dist/cjs/{reflect/registry.d.ts → registry.d.ts} +2 -2
- package/dist/cjs/{reflect/registry.js → registry.js} +54 -36
- package/dist/cjs/to-binary.d.ts +1 -1
- package/dist/cjs/to-binary.js +27 -27
- package/dist/cjs/to-json.d.ts +7 -6
- package/dist/cjs/to-json.js +57 -44
- package/dist/cjs/types.d.ts +1 -1
- package/dist/cjs/wire/base64-encoding.js +2 -2
- package/dist/cjs/wire/binary-encoding.d.ts +20 -0
- package/dist/cjs/wire/binary-encoding.js +75 -8
- package/dist/cjs/wire/size-delimited.d.ts +1 -1
- package/dist/cjs/wire/text-format.d.ts +1 -2
- package/dist/cjs/wire/text-format.js +21 -19
- package/dist/cjs/wkt/any.d.ts +2 -2
- package/dist/cjs/wkt/gen/google/protobuf/descriptor_pb.d.ts +6 -0
- package/dist/cjs/wkt/gen/google/protobuf/descriptor_pb.js +1 -1
- package/dist/cjs/wkt/wrappers.d.ts +1 -1
- package/dist/esm/clone.d.ts +1 -1
- package/dist/esm/clone.js +8 -5
- package/dist/esm/codegenv1/boot.d.ts +1 -1
- package/dist/esm/codegenv1/boot.js +3 -5
- package/dist/esm/codegenv1/embed.d.ts +1 -1
- package/dist/esm/codegenv1/embed.js +9 -4
- package/dist/esm/codegenv1/enum.d.ts +1 -1
- package/dist/esm/codegenv1/extension.d.ts +1 -1
- package/dist/esm/codegenv1/file.d.ts +1 -1
- package/dist/esm/codegenv1/file.js +4 -6
- package/dist/esm/codegenv1/index.d.ts +1 -0
- package/dist/esm/codegenv1/index.js +1 -0
- package/dist/esm/codegenv1/message.d.ts +1 -1
- package/dist/esm/codegenv1/scalar.d.ts +5 -0
- package/dist/esm/codegenv1/scalar.js +35 -0
- package/dist/esm/codegenv1/service.d.ts +3 -3
- package/dist/esm/codegenv1/types.d.ts +7 -9
- package/dist/esm/create.d.ts +1 -1
- package/dist/esm/create.js +4 -3
- package/dist/esm/{desc-types.d.ts → descriptors.d.ts} +39 -7
- package/dist/esm/descriptors.js +50 -0
- package/dist/esm/equals.d.ts +1 -1
- package/dist/esm/extensions.d.ts +1 -1
- package/dist/esm/extensions.js +4 -3
- package/dist/esm/fields.d.ts +1 -1
- package/dist/esm/from-binary.d.ts +1 -1
- package/dist/esm/from-binary.js +14 -11
- package/dist/esm/from-json.d.ts +2 -2
- package/dist/esm/from-json.js +194 -181
- package/dist/esm/index.d.ts +2 -1
- package/dist/esm/index.js +2 -1
- package/dist/esm/is-message.d.ts +1 -1
- package/dist/esm/proto-int64.d.ts +4 -1
- package/dist/esm/proto-int64.js +16 -6
- package/dist/esm/reflect/error.d.ts +1 -1
- package/dist/esm/reflect/guard.d.ts +1 -1
- package/dist/esm/reflect/guard.js +4 -4
- package/dist/esm/reflect/index.d.ts +0 -1
- package/dist/esm/reflect/index.js +0 -1
- package/dist/esm/reflect/names.d.ts +1 -1
- package/dist/esm/reflect/names.js +1 -1
- package/dist/esm/reflect/nested-types.d.ts +1 -1
- package/dist/esm/reflect/reflect-check.d.ts +10 -1
- package/dist/esm/reflect/reflect-check.js +119 -2
- package/dist/esm/reflect/reflect-types.d.ts +3 -41
- package/dist/esm/reflect/reflect-types.js +1 -0
- package/dist/esm/reflect/reflect.d.ts +1 -1
- package/dist/esm/reflect/reflect.js +25 -43
- package/dist/esm/reflect/scalar.d.ts +3 -55
- package/dist/esm/reflect/scalar.js +14 -205
- package/dist/esm/reflect/unsafe.d.ts +1 -17
- package/dist/esm/reflect/unsafe.js +1 -17
- package/dist/esm/{reflect/registry.d.ts → registry.d.ts} +2 -2
- package/dist/esm/{reflect/registry.js → registry.js} +44 -26
- package/dist/esm/to-binary.d.ts +1 -1
- package/dist/esm/to-binary.js +1 -1
- package/dist/esm/to-json.d.ts +7 -6
- package/dist/esm/to-json.js +42 -29
- package/dist/esm/types.d.ts +1 -1
- package/dist/esm/wire/base64-encoding.js +2 -2
- package/dist/esm/wire/binary-encoding.d.ts +20 -0
- package/dist/esm/wire/binary-encoding.js +68 -1
- package/dist/esm/wire/size-delimited.d.ts +1 -1
- package/dist/esm/wire/text-format.d.ts +1 -2
- package/dist/esm/wire/text-format.js +5 -3
- package/dist/esm/wkt/any.d.ts +2 -2
- package/dist/esm/wkt/gen/google/protobuf/descriptor_pb.d.ts +6 -0
- package/dist/esm/wkt/gen/google/protobuf/descriptor_pb.js +1 -1
- package/dist/esm/wkt/wrappers.d.ts +1 -1
- package/package.json +1 -1
- package/dist/cjs/desc-types.js +0 -15
- package/dist/cjs/reflect/assert.d.ts +0 -16
- package/dist/cjs/reflect/assert.js +0 -59
- package/dist/esm/desc-types.js +0 -14
- package/dist/esm/reflect/assert.d.ts +0 -16
- package/dist/esm/reflect/assert.js +0 -52
|
@@ -1,56 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
* Scalar value types. This is a subset of field types declared by protobuf
|
|
3
|
-
* enum google.protobuf.FieldDescriptorProto.Type The types GROUP and MESSAGE
|
|
4
|
-
* are omitted, but the numerical values are identical.
|
|
5
|
-
*/
|
|
6
|
-
export declare enum ScalarType {
|
|
7
|
-
DOUBLE = 1,
|
|
8
|
-
FLOAT = 2,
|
|
9
|
-
INT64 = 3,
|
|
10
|
-
UINT64 = 4,
|
|
11
|
-
INT32 = 5,
|
|
12
|
-
FIXED64 = 6,
|
|
13
|
-
FIXED32 = 7,
|
|
14
|
-
BOOL = 8,
|
|
15
|
-
STRING = 9,
|
|
16
|
-
BYTES = 12,
|
|
17
|
-
UINT32 = 13,
|
|
18
|
-
SFIXED32 = 15,
|
|
19
|
-
SFIXED64 = 16,
|
|
20
|
-
SINT32 = 17,// Uses ZigZag encoding.
|
|
21
|
-
SINT64 = 18
|
|
22
|
-
}
|
|
23
|
-
/**
|
|
24
|
-
* JavaScript representation of fields with 64 bit integral types (int64, uint64,
|
|
25
|
-
* sint64, fixed64, sfixed64).
|
|
26
|
-
*
|
|
27
|
-
* This is a subset of google.protobuf.FieldOptions.JSType, which defines JS_NORMAL,
|
|
28
|
-
* JS_STRING, and JS_NUMBER. Protobuf-ES uses BigInt by default, but will use
|
|
29
|
-
* String if `[jstype = JS_STRING]` is specified.
|
|
30
|
-
*
|
|
31
|
-
* ```protobuf
|
|
32
|
-
* uint64 field_a = 1; // BigInt
|
|
33
|
-
* uint64 field_b = 2 [jstype = JS_NORMAL]; // BigInt
|
|
34
|
-
* uint64 field_b = 2 [jstype = JS_NUMBER]; // BigInt
|
|
35
|
-
* uint64 field_b = 2 [jstype = JS_STRING]; // String
|
|
36
|
-
* ```
|
|
37
|
-
*/
|
|
38
|
-
export declare enum LongType {
|
|
39
|
-
/**
|
|
40
|
-
* Use JavaScript BigInt.
|
|
41
|
-
*/
|
|
42
|
-
BIGINT = 0,
|
|
43
|
-
/**
|
|
44
|
-
* Use JavaScript String.
|
|
45
|
-
*
|
|
46
|
-
* Field option `[jstype = JS_STRING]`.
|
|
47
|
-
*/
|
|
48
|
-
STRING = 1
|
|
49
|
-
}
|
|
1
|
+
import { ScalarType } from "../descriptors.js";
|
|
50
2
|
/**
|
|
51
3
|
* ScalarValue maps from a scalar field type to a TypeScript value type.
|
|
52
4
|
*/
|
|
53
|
-
export type ScalarValue<T = ScalarType,
|
|
5
|
+
export type ScalarValue<T = ScalarType, LongAsString extends boolean = false> = T extends ScalarType.STRING ? string : T extends ScalarType.INT32 ? number : T extends ScalarType.UINT32 ? number : T extends ScalarType.SINT32 ? number : T extends ScalarType.FIXED32 ? number : T extends ScalarType.SFIXED32 ? number : T extends ScalarType.FLOAT ? number : T extends ScalarType.DOUBLE ? number : T extends ScalarType.INT64 ? LongAsString extends true ? string : bigint : T extends ScalarType.SINT64 ? LongAsString extends true ? string : bigint : T extends ScalarType.SFIXED64 ? LongAsString extends true ? string : bigint : T extends ScalarType.UINT64 ? LongAsString extends true ? string : bigint : T extends ScalarType.FIXED64 ? LongAsString extends true ? string : bigint : T extends ScalarType.BOOL ? boolean : T extends ScalarType.BYTES ? Uint8Array : never;
|
|
54
6
|
/**
|
|
55
7
|
* Returns true if both scalar values are equal.
|
|
56
8
|
*/
|
|
@@ -58,7 +10,7 @@ export declare function scalarEquals(type: ScalarType, a: string | boolean | num
|
|
|
58
10
|
/**
|
|
59
11
|
* Returns the zero value for the given scalar type.
|
|
60
12
|
*/
|
|
61
|
-
export declare function scalarZeroValue<T extends ScalarType,
|
|
13
|
+
export declare function scalarZeroValue<T extends ScalarType, LongAsString extends boolean>(type: T, longAsString: LongAsString): ScalarValue<T, LongAsString>;
|
|
62
14
|
/**
|
|
63
15
|
* Returns true for a zero-value. For example, an integer has the zero-value `0`,
|
|
64
16
|
* a boolean is `false`, a string is `""`, and bytes is an empty Uint8Array.
|
|
@@ -67,7 +19,3 @@ export declare function scalarZeroValue<T extends ScalarType, L extends LongType
|
|
|
67
19
|
* optional or repeated.
|
|
68
20
|
*/
|
|
69
21
|
export declare function isScalarZeroValue(type: ScalarType, value: unknown): boolean;
|
|
70
|
-
export type InvalidScalarValueErr = false | "invalid UTF8" | `${string} out of range`;
|
|
71
|
-
export declare function checkScalarValue(value: unknown, scalar: ScalarType): true | InvalidScalarValueErr;
|
|
72
|
-
export declare function scalarTypeDescription(scalar: ScalarType): string;
|
|
73
|
-
export declare function scalarTypeScriptType(scalar: ScalarType, long: LongType): "string" | "boolean" | "bigint" | "bigint | string" | "Uint8Array" | "number";
|
|
@@ -13,74 +13,9 @@
|
|
|
13
13
|
// See the License for the specific language governing permissions and
|
|
14
14
|
// limitations under the License.
|
|
15
15
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
-
exports.
|
|
16
|
+
exports.isScalarZeroValue = exports.scalarZeroValue = exports.scalarEquals = void 0;
|
|
17
17
|
const proto_int64_js_1 = require("../proto-int64.js");
|
|
18
|
-
const
|
|
19
|
-
/**
|
|
20
|
-
* Scalar value types. This is a subset of field types declared by protobuf
|
|
21
|
-
* enum google.protobuf.FieldDescriptorProto.Type The types GROUP and MESSAGE
|
|
22
|
-
* are omitted, but the numerical values are identical.
|
|
23
|
-
*/
|
|
24
|
-
var ScalarType;
|
|
25
|
-
(function (ScalarType) {
|
|
26
|
-
// 0 is reserved for errors.
|
|
27
|
-
// Order is weird for historical reasons.
|
|
28
|
-
ScalarType[ScalarType["DOUBLE"] = 1] = "DOUBLE";
|
|
29
|
-
ScalarType[ScalarType["FLOAT"] = 2] = "FLOAT";
|
|
30
|
-
// Not ZigZag encoded. Negative numbers take 10 bytes. Use TYPE_SINT64 if
|
|
31
|
-
// negative values are likely.
|
|
32
|
-
ScalarType[ScalarType["INT64"] = 3] = "INT64";
|
|
33
|
-
ScalarType[ScalarType["UINT64"] = 4] = "UINT64";
|
|
34
|
-
// Not ZigZag encoded. Negative numbers take 10 bytes. Use TYPE_SINT32 if
|
|
35
|
-
// negative values are likely.
|
|
36
|
-
ScalarType[ScalarType["INT32"] = 5] = "INT32";
|
|
37
|
-
ScalarType[ScalarType["FIXED64"] = 6] = "FIXED64";
|
|
38
|
-
ScalarType[ScalarType["FIXED32"] = 7] = "FIXED32";
|
|
39
|
-
ScalarType[ScalarType["BOOL"] = 8] = "BOOL";
|
|
40
|
-
ScalarType[ScalarType["STRING"] = 9] = "STRING";
|
|
41
|
-
// Tag-delimited aggregate.
|
|
42
|
-
// Group type is deprecated and not supported in proto3. However, Proto3
|
|
43
|
-
// implementations should still be able to parse the group wire format and
|
|
44
|
-
// treat group fields as unknown fields.
|
|
45
|
-
// TYPE_GROUP = 10,
|
|
46
|
-
// TYPE_MESSAGE = 11, // Length-delimited aggregate.
|
|
47
|
-
// New in version 2.
|
|
48
|
-
ScalarType[ScalarType["BYTES"] = 12] = "BYTES";
|
|
49
|
-
ScalarType[ScalarType["UINT32"] = 13] = "UINT32";
|
|
50
|
-
// TYPE_ENUM = 14,
|
|
51
|
-
ScalarType[ScalarType["SFIXED32"] = 15] = "SFIXED32";
|
|
52
|
-
ScalarType[ScalarType["SFIXED64"] = 16] = "SFIXED64";
|
|
53
|
-
ScalarType[ScalarType["SINT32"] = 17] = "SINT32";
|
|
54
|
-
ScalarType[ScalarType["SINT64"] = 18] = "SINT64";
|
|
55
|
-
})(ScalarType || (exports.ScalarType = ScalarType = {}));
|
|
56
|
-
/**
|
|
57
|
-
* JavaScript representation of fields with 64 bit integral types (int64, uint64,
|
|
58
|
-
* sint64, fixed64, sfixed64).
|
|
59
|
-
*
|
|
60
|
-
* This is a subset of google.protobuf.FieldOptions.JSType, which defines JS_NORMAL,
|
|
61
|
-
* JS_STRING, and JS_NUMBER. Protobuf-ES uses BigInt by default, but will use
|
|
62
|
-
* String if `[jstype = JS_STRING]` is specified.
|
|
63
|
-
*
|
|
64
|
-
* ```protobuf
|
|
65
|
-
* uint64 field_a = 1; // BigInt
|
|
66
|
-
* uint64 field_b = 2 [jstype = JS_NORMAL]; // BigInt
|
|
67
|
-
* uint64 field_b = 2 [jstype = JS_NUMBER]; // BigInt
|
|
68
|
-
* uint64 field_b = 2 [jstype = JS_STRING]; // String
|
|
69
|
-
* ```
|
|
70
|
-
*/
|
|
71
|
-
var LongType;
|
|
72
|
-
(function (LongType) {
|
|
73
|
-
/**
|
|
74
|
-
* Use JavaScript BigInt.
|
|
75
|
-
*/
|
|
76
|
-
LongType[LongType["BIGINT"] = 0] = "BIGINT";
|
|
77
|
-
/**
|
|
78
|
-
* Use JavaScript String.
|
|
79
|
-
*
|
|
80
|
-
* Field option `[jstype = JS_STRING]`.
|
|
81
|
-
*/
|
|
82
|
-
LongType[LongType["STRING"] = 1] = "STRING";
|
|
83
|
-
})(LongType || (exports.LongType = LongType = {}));
|
|
18
|
+
const descriptors_js_1 = require("../descriptors.js");
|
|
84
19
|
/**
|
|
85
20
|
* Returns true if both scalar values are equal.
|
|
86
21
|
*/
|
|
@@ -90,7 +25,7 @@ function scalarEquals(type, a, b) {
|
|
|
90
25
|
return true;
|
|
91
26
|
}
|
|
92
27
|
// Special case BYTES - we need to compare each byte individually
|
|
93
|
-
if (type == ScalarType.BYTES) {
|
|
28
|
+
if (type == descriptors_js_1.ScalarType.BYTES) {
|
|
94
29
|
if (!(a instanceof Uint8Array) || !(b instanceof Uint8Array)) {
|
|
95
30
|
return false;
|
|
96
31
|
}
|
|
@@ -107,11 +42,11 @@ function scalarEquals(type, a, b) {
|
|
|
107
42
|
// Special case 64-bit integers - we support number, string and bigint representation.
|
|
108
43
|
// eslint-disable-next-line @typescript-eslint/switch-exhaustiveness-check
|
|
109
44
|
switch (type) {
|
|
110
|
-
case ScalarType.UINT64:
|
|
111
|
-
case ScalarType.FIXED64:
|
|
112
|
-
case ScalarType.INT64:
|
|
113
|
-
case ScalarType.SFIXED64:
|
|
114
|
-
case ScalarType.SINT64:
|
|
45
|
+
case descriptors_js_1.ScalarType.UINT64:
|
|
46
|
+
case descriptors_js_1.ScalarType.FIXED64:
|
|
47
|
+
case descriptors_js_1.ScalarType.INT64:
|
|
48
|
+
case descriptors_js_1.ScalarType.SFIXED64:
|
|
49
|
+
case descriptors_js_1.ScalarType.SINT64:
|
|
115
50
|
// Loose comparison will match between 0n, 0 and "0".
|
|
116
51
|
return a == b;
|
|
117
52
|
}
|
|
@@ -123,27 +58,27 @@ exports.scalarEquals = scalarEquals;
|
|
|
123
58
|
/**
|
|
124
59
|
* Returns the zero value for the given scalar type.
|
|
125
60
|
*/
|
|
126
|
-
function scalarZeroValue(type,
|
|
61
|
+
function scalarZeroValue(type, longAsString) {
|
|
127
62
|
switch (type) {
|
|
128
|
-
case ScalarType.
|
|
129
|
-
return false;
|
|
130
|
-
case ScalarType.UINT64:
|
|
131
|
-
case ScalarType.FIXED64:
|
|
132
|
-
case ScalarType.INT64:
|
|
133
|
-
case ScalarType.SFIXED64:
|
|
134
|
-
case ScalarType.SINT64:
|
|
135
|
-
return (longType == 0 ? proto_int64_js_1.protoInt64.zero : "0");
|
|
136
|
-
case ScalarType.DOUBLE:
|
|
137
|
-
case ScalarType.FLOAT:
|
|
138
|
-
return 0.0;
|
|
139
|
-
case ScalarType.BYTES:
|
|
140
|
-
return new Uint8Array(0);
|
|
141
|
-
case ScalarType.STRING:
|
|
63
|
+
case descriptors_js_1.ScalarType.STRING:
|
|
142
64
|
return "";
|
|
65
|
+
case descriptors_js_1.ScalarType.BOOL:
|
|
66
|
+
return false;
|
|
143
67
|
default:
|
|
144
68
|
// Handles INT32, UINT32, SINT32, FIXED32, SFIXED32.
|
|
145
69
|
// We do not use individual cases to save a few bytes code size.
|
|
146
70
|
return 0;
|
|
71
|
+
case descriptors_js_1.ScalarType.DOUBLE:
|
|
72
|
+
case descriptors_js_1.ScalarType.FLOAT:
|
|
73
|
+
return 0.0;
|
|
74
|
+
case descriptors_js_1.ScalarType.INT64:
|
|
75
|
+
case descriptors_js_1.ScalarType.UINT64:
|
|
76
|
+
case descriptors_js_1.ScalarType.SFIXED64:
|
|
77
|
+
case descriptors_js_1.ScalarType.FIXED64:
|
|
78
|
+
case descriptors_js_1.ScalarType.SINT64:
|
|
79
|
+
return (longAsString ? "0" : proto_int64_js_1.protoInt64.zero);
|
|
80
|
+
case descriptors_js_1.ScalarType.BYTES:
|
|
81
|
+
return new Uint8Array(0);
|
|
147
82
|
}
|
|
148
83
|
}
|
|
149
84
|
exports.scalarZeroValue = scalarZeroValue;
|
|
@@ -156,143 +91,14 @@ exports.scalarZeroValue = scalarZeroValue;
|
|
|
156
91
|
*/
|
|
157
92
|
function isScalarZeroValue(type, value) {
|
|
158
93
|
switch (type) {
|
|
159
|
-
case ScalarType.BOOL:
|
|
94
|
+
case descriptors_js_1.ScalarType.BOOL:
|
|
160
95
|
return value === false;
|
|
161
|
-
case ScalarType.STRING:
|
|
96
|
+
case descriptors_js_1.ScalarType.STRING:
|
|
162
97
|
return value === "";
|
|
163
|
-
case ScalarType.BYTES:
|
|
98
|
+
case descriptors_js_1.ScalarType.BYTES:
|
|
164
99
|
return value instanceof Uint8Array && !value.byteLength;
|
|
165
100
|
default:
|
|
166
101
|
return value == 0; // Loose comparison matches 0n, 0 and "0"
|
|
167
102
|
}
|
|
168
103
|
}
|
|
169
104
|
exports.isScalarZeroValue = isScalarZeroValue;
|
|
170
|
-
const FLOAT32_MAX = 3.4028234663852886e38, FLOAT32_MIN = -3.4028234663852886e38, UINT32_MAX = 0xffffffff, INT32_MAX = 0x7fffffff, INT32_MIN = -0x80000000;
|
|
171
|
-
// TODO this checks UTF-8 validity
|
|
172
|
-
function checkScalarValue(value, scalar) {
|
|
173
|
-
switch (scalar) {
|
|
174
|
-
case ScalarType.DOUBLE:
|
|
175
|
-
return typeof value == "number";
|
|
176
|
-
case ScalarType.FLOAT:
|
|
177
|
-
if (typeof value != "number") {
|
|
178
|
-
return false;
|
|
179
|
-
}
|
|
180
|
-
if (Number.isNaN(value) || !Number.isFinite(value)) {
|
|
181
|
-
return true;
|
|
182
|
-
}
|
|
183
|
-
if (value > FLOAT32_MAX || value < FLOAT32_MIN) {
|
|
184
|
-
return `${value.toFixed()} out of range`;
|
|
185
|
-
}
|
|
186
|
-
return true;
|
|
187
|
-
case ScalarType.INT32:
|
|
188
|
-
case ScalarType.SFIXED32:
|
|
189
|
-
case ScalarType.SINT32:
|
|
190
|
-
// signed
|
|
191
|
-
if (typeof value !== "number" || !Number.isInteger(value)) {
|
|
192
|
-
return false;
|
|
193
|
-
}
|
|
194
|
-
if (value > INT32_MAX || value < INT32_MIN) {
|
|
195
|
-
return `${value.toFixed()} out of range`;
|
|
196
|
-
}
|
|
197
|
-
return true;
|
|
198
|
-
case ScalarType.FIXED32:
|
|
199
|
-
case ScalarType.UINT32:
|
|
200
|
-
// unsigned
|
|
201
|
-
if (typeof value !== "number" || !Number.isInteger(value)) {
|
|
202
|
-
return false;
|
|
203
|
-
}
|
|
204
|
-
if (value > UINT32_MAX || value < 0) {
|
|
205
|
-
return `${value.toFixed()} out of range`;
|
|
206
|
-
}
|
|
207
|
-
return true;
|
|
208
|
-
case ScalarType.BOOL:
|
|
209
|
-
return typeof value == "boolean";
|
|
210
|
-
case ScalarType.STRING:
|
|
211
|
-
if (typeof value != "string") {
|
|
212
|
-
return false;
|
|
213
|
-
}
|
|
214
|
-
return (0, text_encoding_js_1.getTextEncoding)().checkUtf8(value) || "invalid UTF8";
|
|
215
|
-
case ScalarType.BYTES:
|
|
216
|
-
return value instanceof Uint8Array;
|
|
217
|
-
case ScalarType.INT64:
|
|
218
|
-
case ScalarType.SFIXED64:
|
|
219
|
-
case ScalarType.SINT64:
|
|
220
|
-
// signed
|
|
221
|
-
if (typeof value != "string" &&
|
|
222
|
-
typeof value !== "bigint" &&
|
|
223
|
-
typeof value !== "number") {
|
|
224
|
-
return false;
|
|
225
|
-
}
|
|
226
|
-
try {
|
|
227
|
-
proto_int64_js_1.protoInt64.parse(value);
|
|
228
|
-
}
|
|
229
|
-
catch (e) {
|
|
230
|
-
return `${value} out of range`;
|
|
231
|
-
}
|
|
232
|
-
return true;
|
|
233
|
-
case ScalarType.FIXED64:
|
|
234
|
-
case ScalarType.UINT64:
|
|
235
|
-
// unsigned
|
|
236
|
-
if (typeof value != "string" &&
|
|
237
|
-
typeof value !== "bigint" &&
|
|
238
|
-
typeof value !== "number") {
|
|
239
|
-
return false;
|
|
240
|
-
}
|
|
241
|
-
try {
|
|
242
|
-
proto_int64_js_1.protoInt64.uParse(value);
|
|
243
|
-
}
|
|
244
|
-
catch (e) {
|
|
245
|
-
return `${value} out of range`;
|
|
246
|
-
}
|
|
247
|
-
return true;
|
|
248
|
-
}
|
|
249
|
-
}
|
|
250
|
-
exports.checkScalarValue = checkScalarValue;
|
|
251
|
-
function scalarTypeDescription(scalar) {
|
|
252
|
-
switch (scalar) {
|
|
253
|
-
case ScalarType.STRING:
|
|
254
|
-
return "string";
|
|
255
|
-
case ScalarType.BOOL:
|
|
256
|
-
return "boolean";
|
|
257
|
-
case ScalarType.INT64:
|
|
258
|
-
case ScalarType.SINT64:
|
|
259
|
-
case ScalarType.SFIXED64:
|
|
260
|
-
return "bigint (int64)";
|
|
261
|
-
case ScalarType.UINT64:
|
|
262
|
-
case ScalarType.FIXED64:
|
|
263
|
-
return "bigint (uint64)";
|
|
264
|
-
case ScalarType.BYTES:
|
|
265
|
-
return "Uint8Array";
|
|
266
|
-
case ScalarType.DOUBLE:
|
|
267
|
-
return "number (float64)";
|
|
268
|
-
case ScalarType.FLOAT:
|
|
269
|
-
return "number (float32)";
|
|
270
|
-
case ScalarType.FIXED32:
|
|
271
|
-
case ScalarType.UINT32:
|
|
272
|
-
return "number (uint32)";
|
|
273
|
-
case ScalarType.INT32:
|
|
274
|
-
case ScalarType.SFIXED32:
|
|
275
|
-
case ScalarType.SINT32:
|
|
276
|
-
return "number (int32)";
|
|
277
|
-
}
|
|
278
|
-
}
|
|
279
|
-
exports.scalarTypeDescription = scalarTypeDescription;
|
|
280
|
-
function scalarTypeScriptType(scalar, long) {
|
|
281
|
-
switch (scalar) {
|
|
282
|
-
case ScalarType.STRING:
|
|
283
|
-
return "string";
|
|
284
|
-
case ScalarType.BOOL:
|
|
285
|
-
return "boolean";
|
|
286
|
-
case ScalarType.UINT64:
|
|
287
|
-
case ScalarType.SFIXED64:
|
|
288
|
-
case ScalarType.FIXED64:
|
|
289
|
-
case ScalarType.SINT64:
|
|
290
|
-
case ScalarType.INT64:
|
|
291
|
-
return long == LongType.STRING ? "string" : "bigint";
|
|
292
|
-
case ScalarType.BYTES:
|
|
293
|
-
return "Uint8Array";
|
|
294
|
-
default:
|
|
295
|
-
return "number";
|
|
296
|
-
}
|
|
297
|
-
}
|
|
298
|
-
exports.scalarTypeScriptType = scalarTypeScriptType;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { DescField, DescOneof } from "../
|
|
1
|
+
import type { DescField, DescOneof } from "../descriptors.js";
|
|
2
2
|
export declare const unsafeLocal: unique symbol;
|
|
3
3
|
/**
|
|
4
4
|
* Return the selected field of a oneof group.
|
|
@@ -40,19 +40,3 @@ export declare function unsafeSet(target: Record<string, unknown>, field: DescFi
|
|
|
40
40
|
*/
|
|
41
41
|
export declare function unsafeClear(target: Record<string, any>, // eslint-disable-line @typescript-eslint/no-explicit-any -- `any` is the best choice for dynamic access
|
|
42
42
|
field: DescField): void;
|
|
43
|
-
/**
|
|
44
|
-
* Add an item to a list field.
|
|
45
|
-
*
|
|
46
|
-
* @private
|
|
47
|
-
*/
|
|
48
|
-
export declare function unsafeAddListItem(target: Record<string, unknown>, field: DescField & {
|
|
49
|
-
fieldKind: "list";
|
|
50
|
-
}, value: unknown): void;
|
|
51
|
-
/**
|
|
52
|
-
* Set a map entry.
|
|
53
|
-
*
|
|
54
|
-
* @private
|
|
55
|
-
*/
|
|
56
|
-
export declare function unsafeSetMapEntry(target: Record<string, unknown>, field: DescField & {
|
|
57
|
-
fieldKind: "map";
|
|
58
|
-
}, key: string | number, value: unknown): void;
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
// See the License for the specific language governing permissions and
|
|
14
14
|
// limitations under the License.
|
|
15
15
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
-
exports.
|
|
16
|
+
exports.unsafeClear = exports.unsafeSet = exports.unsafeGet = exports.unsafeIsSetExplicit = exports.unsafeIsSet = exports.unsafeOneofCase = exports.unsafeLocal = void 0;
|
|
17
17
|
const scalar_js_1 = require("./scalar.js");
|
|
18
18
|
// bootstrap-inject google.protobuf.FeatureSet.FieldPresence.IMPLICIT: const $name: FeatureSet_FieldPresence.$localName = $number;
|
|
19
19
|
const IMPLICIT = 2;
|
|
@@ -140,27 +140,9 @@ field) {
|
|
|
140
140
|
target[name] = field.enum.values[0].number;
|
|
141
141
|
break;
|
|
142
142
|
case "scalar":
|
|
143
|
-
target[name] = (0, scalar_js_1.scalarZeroValue)(field.scalar, field.
|
|
143
|
+
target[name] = (0, scalar_js_1.scalarZeroValue)(field.scalar, field.longAsString);
|
|
144
144
|
break;
|
|
145
145
|
}
|
|
146
146
|
}
|
|
147
147
|
}
|
|
148
148
|
exports.unsafeClear = unsafeClear;
|
|
149
|
-
/**
|
|
150
|
-
* Add an item to a list field.
|
|
151
|
-
*
|
|
152
|
-
* @private
|
|
153
|
-
*/
|
|
154
|
-
function unsafeAddListItem(target, field, value) {
|
|
155
|
-
target[field.localName].push(value);
|
|
156
|
-
}
|
|
157
|
-
exports.unsafeAddListItem = unsafeAddListItem;
|
|
158
|
-
/**
|
|
159
|
-
* Set a map entry.
|
|
160
|
-
*
|
|
161
|
-
* @private
|
|
162
|
-
*/
|
|
163
|
-
function unsafeSetMapEntry(target, field, key, value) {
|
|
164
|
-
target[field.localName][key] = value;
|
|
165
|
-
}
|
|
166
|
-
exports.unsafeSetMapEntry = unsafeSetMapEntry;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { FileDescriptorProto, FileDescriptorSet } from "
|
|
2
|
-
import type
|
|
1
|
+
import type { FileDescriptorProto, FileDescriptorSet } from "./wkt/gen/google/protobuf/descriptor_pb.js";
|
|
2
|
+
import { type DescEnum, type DescExtension, type DescFile, type DescMessage, type DescService, type SupportedEdition } from "./descriptors.js";
|
|
3
3
|
/**
|
|
4
4
|
* A set of descriptors for messages, enumerations, extensions,
|
|
5
5
|
* and services.
|
|
@@ -14,12 +14,11 @@
|
|
|
14
14
|
// limitations under the License.
|
|
15
15
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
16
|
exports.maximumEdition = exports.minimumEdition = exports.createFileRegistry = exports.createRegistry = void 0;
|
|
17
|
-
const
|
|
18
|
-
const text_format_js_1 = require("
|
|
19
|
-
const
|
|
20
|
-
const
|
|
21
|
-
const
|
|
22
|
-
const names_js_1 = require("./names.js");
|
|
17
|
+
const descriptors_js_1 = require("./descriptors.js");
|
|
18
|
+
const text_format_js_1 = require("./wire/text-format.js");
|
|
19
|
+
const nested_types_js_1 = require("./reflect/nested-types.js");
|
|
20
|
+
const unsafe_js_1 = require("./reflect/unsafe.js");
|
|
21
|
+
const names_js_1 = require("./reflect/names.js");
|
|
23
22
|
/**
|
|
24
23
|
* Create a registry from the given inputs.
|
|
25
24
|
*
|
|
@@ -226,7 +225,7 @@ const DELIMITED = 2;
|
|
|
226
225
|
const OPEN = 1;
|
|
227
226
|
// prettier-ignore
|
|
228
227
|
// bootstrap-inject defaults: EDITION_PROTO2 to EDITION_2023: export const minimumEdition: SupportedEdition = $minimumEdition, maximumEdition: SupportedEdition = $maximumEdition;
|
|
229
|
-
// generated from protoc v27.0
|
|
228
|
+
// generated from protoc v27.0
|
|
230
229
|
exports.minimumEdition = 998, exports.maximumEdition = 1000;
|
|
231
230
|
const featureDefaults = {
|
|
232
231
|
// EDITION_PROTO2
|
|
@@ -285,7 +284,7 @@ function addFile(proto, reg) {
|
|
|
285
284
|
},
|
|
286
285
|
add(desc) {
|
|
287
286
|
var _a;
|
|
288
|
-
|
|
287
|
+
assert(((_a = desc.proto.options) === null || _a === void 0 ? void 0 : _a.mapEntry) === true);
|
|
289
288
|
mapEntriesStore.set(desc.typeName, desc);
|
|
290
289
|
},
|
|
291
290
|
};
|
|
@@ -460,6 +459,7 @@ function addService(proto, file, reg) {
|
|
|
460
459
|
name: proto.name,
|
|
461
460
|
typeName: makeTypeName(proto, undefined, file),
|
|
462
461
|
methods: [],
|
|
462
|
+
method: {},
|
|
463
463
|
toString() {
|
|
464
464
|
return `service ${this.typeName}`;
|
|
465
465
|
},
|
|
@@ -467,7 +467,9 @@ function addService(proto, file, reg) {
|
|
|
467
467
|
file.services.push(desc);
|
|
468
468
|
reg.add(desc);
|
|
469
469
|
for (const methodProto of proto.method) {
|
|
470
|
-
|
|
470
|
+
const method = newMethod(methodProto, desc, reg);
|
|
471
|
+
desc.methods.push(method);
|
|
472
|
+
desc.method[method.localName] = method;
|
|
471
473
|
}
|
|
472
474
|
}
|
|
473
475
|
/**
|
|
@@ -490,8 +492,8 @@ function newMethod(proto, parent, reg) {
|
|
|
490
492
|
}
|
|
491
493
|
const input = reg.getMessage(trimLeadingDot(proto.inputType));
|
|
492
494
|
const output = reg.getMessage(trimLeadingDot(proto.outputType));
|
|
493
|
-
|
|
494
|
-
|
|
495
|
+
assert(input, `invalid MethodDescriptorProto: input_type ${proto.inputType} not found`);
|
|
496
|
+
assert(output, `invalid MethodDescriptorProto: output_type ${proto.inputType} not found`);
|
|
495
497
|
const name = proto.name;
|
|
496
498
|
return {
|
|
497
499
|
kind: "rpc",
|
|
@@ -546,7 +548,7 @@ function newField(proto, parentOrFile, reg, oneof, mapEntries) {
|
|
|
546
548
|
mapKey: undefined,
|
|
547
549
|
delimitedEncoding: undefined,
|
|
548
550
|
packed: undefined,
|
|
549
|
-
|
|
551
|
+
longAsString: false,
|
|
550
552
|
getDefaultValue: undefined,
|
|
551
553
|
};
|
|
552
554
|
if (isExtension) {
|
|
@@ -562,13 +564,13 @@ function newField(proto, parentOrFile, reg, oneof, mapEntries) {
|
|
|
562
564
|
field.jsonName = `[${typeName}]`; // option json_name is not allowed on extension fields
|
|
563
565
|
field.toString = () => `extension ${typeName}`;
|
|
564
566
|
const extendee = reg.getMessage(trimLeadingDot(proto.extendee));
|
|
565
|
-
|
|
567
|
+
assert(extendee, `invalid FieldDescriptorProto: extendee ${proto.extendee} not found`);
|
|
566
568
|
field.extendee = extendee;
|
|
567
569
|
}
|
|
568
570
|
else {
|
|
569
571
|
// regular field
|
|
570
572
|
const parent = parentOrFile;
|
|
571
|
-
|
|
573
|
+
assert(parent.kind == "message");
|
|
572
574
|
field.parent = parent;
|
|
573
575
|
field.oneof = oneof;
|
|
574
576
|
field.localName = oneof
|
|
@@ -588,21 +590,13 @@ function newField(proto, parentOrFile, reg, oneof, mapEntries) {
|
|
|
588
590
|
if (mapEntry) {
|
|
589
591
|
// map field
|
|
590
592
|
field.fieldKind = "map";
|
|
591
|
-
const
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
keyField.scalar != scalar_js_1.ScalarType.FLOAT &&
|
|
596
|
-
keyField.scalar != scalar_js_1.ScalarType.DOUBLE);
|
|
597
|
-
const valueField = mapEntry.fields.find((f) => f.number === 2);
|
|
598
|
-
(0, assert_js_1.assert)(valueField);
|
|
599
|
-
(0, assert_js_1.assert)(valueField.fieldKind != "list" && valueField.fieldKind != "map");
|
|
600
|
-
field.mapKey = keyField.scalar;
|
|
601
|
-
field.mapKind = valueField.fieldKind;
|
|
602
|
-
field.message = valueField.message;
|
|
593
|
+
const { key, value } = findMapEntryFields(mapEntry);
|
|
594
|
+
field.mapKey = key.scalar;
|
|
595
|
+
field.mapKind = value.fieldKind;
|
|
596
|
+
field.message = value.message;
|
|
603
597
|
field.delimitedEncoding = false; // map fields are always LENGTH_PREFIXED
|
|
604
|
-
field.enum =
|
|
605
|
-
field.scalar =
|
|
598
|
+
field.enum = value.enum;
|
|
599
|
+
field.scalar = value.scalar;
|
|
606
600
|
return field;
|
|
607
601
|
}
|
|
608
602
|
// list field
|
|
@@ -612,19 +606,18 @@ function newField(proto, parentOrFile, reg, oneof, mapEntries) {
|
|
|
612
606
|
case TYPE_GROUP:
|
|
613
607
|
field.listKind = "message";
|
|
614
608
|
field.message = reg.getMessage(trimLeadingDot(proto.typeName));
|
|
615
|
-
|
|
609
|
+
assert(field.message);
|
|
616
610
|
field.delimitedEncoding = isDelimitedEncoding(proto, parentOrFile);
|
|
617
611
|
break;
|
|
618
612
|
case TYPE_ENUM:
|
|
619
613
|
field.listKind = "enum";
|
|
620
614
|
field.enum = reg.getEnum(trimLeadingDot(proto.typeName));
|
|
621
|
-
|
|
615
|
+
assert(field.enum);
|
|
622
616
|
break;
|
|
623
617
|
default:
|
|
624
618
|
field.listKind = "scalar";
|
|
625
619
|
field.scalar = type;
|
|
626
|
-
field.
|
|
627
|
-
jstype == JS_STRING ? scalar_js_1.LongType.STRING : scalar_js_1.LongType.BIGINT;
|
|
620
|
+
field.longAsString = jstype == JS_STRING;
|
|
628
621
|
break;
|
|
629
622
|
}
|
|
630
623
|
field.packed = isPackedField(proto, parentOrFile);
|
|
@@ -636,13 +629,13 @@ function newField(proto, parentOrFile, reg, oneof, mapEntries) {
|
|
|
636
629
|
case TYPE_GROUP:
|
|
637
630
|
field.fieldKind = "message";
|
|
638
631
|
field.message = reg.getMessage(trimLeadingDot(proto.typeName));
|
|
639
|
-
|
|
632
|
+
assert(field.message, `invalid FieldDescriptorProto: type_name ${proto.typeName} not found`);
|
|
640
633
|
field.delimitedEncoding = isDelimitedEncoding(proto, parentOrFile);
|
|
641
634
|
field.getDefaultValue = () => undefined;
|
|
642
635
|
break;
|
|
643
636
|
case TYPE_ENUM: {
|
|
644
637
|
const enumeration = reg.getEnum(trimLeadingDot(proto.typeName));
|
|
645
|
-
|
|
638
|
+
assert(enumeration !== undefined, `invalid FieldDescriptorProto: type_name ${proto.typeName} not found`);
|
|
646
639
|
field.fieldKind = "enum";
|
|
647
640
|
field.enum = reg.getEnum(trimLeadingDot(proto.typeName));
|
|
648
641
|
field.getDefaultValue = () => {
|
|
@@ -655,7 +648,7 @@ function newField(proto, parentOrFile, reg, oneof, mapEntries) {
|
|
|
655
648
|
default: {
|
|
656
649
|
field.fieldKind = "scalar";
|
|
657
650
|
field.scalar = type;
|
|
658
|
-
field.
|
|
651
|
+
field.longAsString = jstype == JS_STRING;
|
|
659
652
|
field.getDefaultValue = () => {
|
|
660
653
|
return (0, unsafe_js_1.unsafeIsSetExplicit)(proto, "defaultValue")
|
|
661
654
|
? (0, text_format_js_1.parseTextFormatScalarValue)(type, proto.defaultValue)
|
|
@@ -773,7 +766,7 @@ function findOneof(proto, allOneofs) {
|
|
|
773
766
|
return undefined;
|
|
774
767
|
}
|
|
775
768
|
const oneof = allOneofs[proto.oneofIndex];
|
|
776
|
-
|
|
769
|
+
assert(oneof, `invalid FieldDescriptorProto: oneof #${proto.oneofIndex} for field #${proto.number} not found`);
|
|
777
770
|
return oneof;
|
|
778
771
|
}
|
|
779
772
|
/**
|
|
@@ -830,6 +823,22 @@ function isPackedField(proto, parent) {
|
|
|
830
823
|
parent,
|
|
831
824
|
}));
|
|
832
825
|
}
|
|
826
|
+
/**
|
|
827
|
+
* Find the key and value fields of a synthetic map entry message.
|
|
828
|
+
*/
|
|
829
|
+
function findMapEntryFields(mapEntry) {
|
|
830
|
+
const key = mapEntry.fields.find((f) => f.number === 1);
|
|
831
|
+
const value = mapEntry.fields.find((f) => f.number === 2);
|
|
832
|
+
assert(key &&
|
|
833
|
+
key.fieldKind == "scalar" &&
|
|
834
|
+
key.scalar != descriptors_js_1.ScalarType.BYTES &&
|
|
835
|
+
key.scalar != descriptors_js_1.ScalarType.FLOAT &&
|
|
836
|
+
key.scalar != descriptors_js_1.ScalarType.DOUBLE &&
|
|
837
|
+
value &&
|
|
838
|
+
value.fieldKind != "list" &&
|
|
839
|
+
value.fieldKind != "map");
|
|
840
|
+
return { key, value };
|
|
841
|
+
}
|
|
833
842
|
/**
|
|
834
843
|
* Enumerations can be open or closed.
|
|
835
844
|
* See https://protobuf.dev/programming-guides/enum/
|
|
@@ -877,3 +886,12 @@ function resolveFeature(name, ref) {
|
|
|
877
886
|
}
|
|
878
887
|
return resolveFeature(name, ref.parent);
|
|
879
888
|
}
|
|
889
|
+
/**
|
|
890
|
+
* Assert that condition is truthy or throw error (with message)
|
|
891
|
+
*/
|
|
892
|
+
function assert(condition, msg) {
|
|
893
|
+
// eslint-disable-next-line @typescript-eslint/strict-boolean-expressions -- we want the implicit conversion to boolean
|
|
894
|
+
if (!condition) {
|
|
895
|
+
throw new Error(msg);
|
|
896
|
+
}
|
|
897
|
+
}
|
package/dist/cjs/to-binary.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { MessageShape } from "./types.js";
|
|
2
2
|
import { BinaryWriter } from "./wire/binary-encoding.js";
|
|
3
|
-
import type
|
|
3
|
+
import { type DescField, type DescMessage } from "./descriptors.js";
|
|
4
4
|
import type { ReflectMessage } from "./reflect/index.js";
|
|
5
5
|
/**
|
|
6
6
|
* Options for serializing to binary data.
|