@bufbuild/protobuf 1.2.1 → 1.3.1
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/dist/cjs/binary-encoding.js +1 -1
- package/dist/cjs/codegen-info.js +1 -0
- package/dist/cjs/field.js +1 -1
- package/dist/cjs/google/protobuf/any_pb.js +1 -1
- package/dist/cjs/google/protobuf/api_pb.js +3 -3
- package/dist/cjs/google/protobuf/compiler/plugin_pb.js +5 -5
- package/dist/cjs/google/protobuf/descriptor_pb.js +38 -38
- package/dist/cjs/google/protobuf/duration_pb.js +1 -1
- package/dist/cjs/google/protobuf/empty_pb.js +1 -1
- package/dist/cjs/google/protobuf/field_mask_pb.js +1 -1
- package/dist/cjs/google/protobuf/source_context_pb.js +1 -1
- package/dist/cjs/google/protobuf/struct_pb.js +5 -5
- package/dist/cjs/google/protobuf/timestamp_pb.js +1 -1
- package/dist/cjs/google/protobuf/type_pb.js +9 -9
- package/dist/cjs/google/protobuf/wrappers_pb.js +9 -9
- package/dist/cjs/index.js +5 -1
- package/dist/cjs/private/json-format-common.js +2 -1
- package/dist/cjs/private/util-common.js +37 -8
- package/dist/cjs/proto-delimited.js +14 -19
- package/dist/cjs/proto-double.js +29 -0
- package/dist/cjs/proto-int64.js +1 -1
- package/dist/cjs/service-type.js +2 -2
- package/dist/cjs/to-plain-message.js +67 -0
- package/dist/esm/codegen-info.js +1 -0
- package/dist/esm/google/protobuf/any_pb.js +1 -2
- package/dist/esm/google/protobuf/api_pb.js +3 -6
- package/dist/esm/google/protobuf/compiler/plugin_pb.js +4 -8
- package/dist/esm/google/protobuf/descriptor_pb.js +28 -56
- package/dist/esm/google/protobuf/duration_pb.js +1 -2
- package/dist/esm/google/protobuf/empty_pb.js +1 -2
- package/dist/esm/google/protobuf/field_mask_pb.js +1 -2
- package/dist/esm/google/protobuf/source_context_pb.js +1 -2
- package/dist/esm/google/protobuf/struct_pb.js +4 -7
- package/dist/esm/google/protobuf/timestamp_pb.js +1 -2
- package/dist/esm/google/protobuf/type_pb.js +6 -11
- package/dist/esm/google/protobuf/wrappers_pb.js +9 -18
- package/dist/esm/index.js +2 -0
- package/dist/esm/private/json-format-common.js +2 -1
- package/dist/esm/private/util-common.js +37 -8
- package/dist/esm/proto-delimited.js +14 -19
- package/dist/esm/proto-double.js +26 -0
- package/dist/esm/proto-int64.js +1 -1
- package/dist/esm/to-plain-message.js +63 -0
- package/dist/types/codegen-info.d.ts +1 -1
- package/dist/types/index.d.ts +2 -0
- package/dist/types/proto-double.d.ts +5 -0
- package/dist/types/to-plain-message.d.ts +9 -0
- package/package.json +1 -1
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
12
|
// See the License for the specific language governing permissions and
|
|
13
13
|
// limitations under the License.
|
|
14
|
-
// @generated by protoc-gen-es v1.
|
|
14
|
+
// @generated by protoc-gen-es v1.3.1 with parameter "bootstrap_wkt=true,ts_nocheck=false,target=ts"
|
|
15
15
|
// @generated from file google/protobuf/struct.proto (package google.protobuf, syntax proto3)
|
|
16
16
|
/* eslint-disable */
|
|
17
17
|
import { proto3 } from "../../proto3.js";
|
|
@@ -49,7 +49,7 @@ proto3.util.setEnumType(NullValue, "google.protobuf.NullValue", [
|
|
|
49
49
|
*
|
|
50
50
|
* @generated from message google.protobuf.Struct
|
|
51
51
|
*/
|
|
52
|
-
class Struct extends Message {
|
|
52
|
+
export class Struct extends Message {
|
|
53
53
|
constructor(data) {
|
|
54
54
|
super();
|
|
55
55
|
/**
|
|
@@ -94,7 +94,6 @@ Struct.typeName = "google.protobuf.Struct";
|
|
|
94
94
|
Struct.fields = proto3.util.newFieldList(() => [
|
|
95
95
|
{ no: 1, name: "fields", kind: "map", K: 9 /* ScalarType.STRING */, V: { kind: "message", T: Value } },
|
|
96
96
|
]);
|
|
97
|
-
export { Struct };
|
|
98
97
|
/**
|
|
99
98
|
* `Value` represents a dynamically typed value which can be either
|
|
100
99
|
* null, a number, a string, a boolean, a recursive struct value, or a
|
|
@@ -105,7 +104,7 @@ export { Struct };
|
|
|
105
104
|
*
|
|
106
105
|
* @generated from message google.protobuf.Value
|
|
107
106
|
*/
|
|
108
|
-
class Value extends Message {
|
|
107
|
+
export class Value extends Message {
|
|
109
108
|
constructor(data) {
|
|
110
109
|
super();
|
|
111
110
|
/**
|
|
@@ -185,7 +184,6 @@ Value.fields = proto3.util.newFieldList(() => [
|
|
|
185
184
|
{ no: 5, name: "struct_value", kind: "message", T: Struct, oneof: "kind" },
|
|
186
185
|
{ no: 6, name: "list_value", kind: "message", T: ListValue, oneof: "kind" },
|
|
187
186
|
]);
|
|
188
|
-
export { Value };
|
|
189
187
|
/**
|
|
190
188
|
* `ListValue` is a wrapper around a repeated field of values.
|
|
191
189
|
*
|
|
@@ -193,7 +191,7 @@ export { Value };
|
|
|
193
191
|
*
|
|
194
192
|
* @generated from message google.protobuf.ListValue
|
|
195
193
|
*/
|
|
196
|
-
class ListValue extends Message {
|
|
194
|
+
export class ListValue extends Message {
|
|
197
195
|
constructor(data) {
|
|
198
196
|
super();
|
|
199
197
|
/**
|
|
@@ -234,4 +232,3 @@ ListValue.typeName = "google.protobuf.ListValue";
|
|
|
234
232
|
ListValue.fields = proto3.util.newFieldList(() => [
|
|
235
233
|
{ no: 1, name: "values", kind: "message", T: Value, repeated: true },
|
|
236
234
|
]);
|
|
237
|
-
export { ListValue };
|
|
@@ -108,7 +108,7 @@ import { proto3 } from "../../proto3.js";
|
|
|
108
108
|
*
|
|
109
109
|
* @generated from message google.protobuf.Timestamp
|
|
110
110
|
*/
|
|
111
|
-
class Timestamp extends Message {
|
|
111
|
+
export class Timestamp extends Message {
|
|
112
112
|
constructor(data) {
|
|
113
113
|
super();
|
|
114
114
|
/**
|
|
@@ -207,4 +207,3 @@ Timestamp.fields = proto3.util.newFieldList(() => [
|
|
|
207
207
|
{ no: 1, name: "seconds", kind: "scalar", T: 3 /* ScalarType.INT64 */ },
|
|
208
208
|
{ no: 2, name: "nanos", kind: "scalar", T: 5 /* ScalarType.INT32 */ },
|
|
209
209
|
]);
|
|
210
|
-
export { Timestamp };
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
12
|
// See the License for the specific language governing permissions and
|
|
13
13
|
// limitations under the License.
|
|
14
|
-
// @generated by protoc-gen-es v1.
|
|
14
|
+
// @generated by protoc-gen-es v1.3.1 with parameter "bootstrap_wkt=true,ts_nocheck=false,target=ts"
|
|
15
15
|
// @generated from file google/protobuf/type.proto (package google.protobuf, syntax proto3)
|
|
16
16
|
/* eslint-disable */
|
|
17
17
|
import { proto3 } from "../../proto3.js";
|
|
@@ -55,7 +55,7 @@ proto3.util.setEnumType(Syntax, "google.protobuf.Syntax", [
|
|
|
55
55
|
*
|
|
56
56
|
* @generated from message google.protobuf.Type
|
|
57
57
|
*/
|
|
58
|
-
class Type extends Message {
|
|
58
|
+
export class Type extends Message {
|
|
59
59
|
constructor(data) {
|
|
60
60
|
super();
|
|
61
61
|
/**
|
|
@@ -120,13 +120,12 @@ Type.fields = proto3.util.newFieldList(() => [
|
|
|
120
120
|
{ no: 6, name: "syntax", kind: "enum", T: proto3.getEnumType(Syntax) },
|
|
121
121
|
{ no: 7, name: "edition", kind: "scalar", T: 9 /* ScalarType.STRING */ },
|
|
122
122
|
]);
|
|
123
|
-
export { Type };
|
|
124
123
|
/**
|
|
125
124
|
* A single field of a message type.
|
|
126
125
|
*
|
|
127
126
|
* @generated from message google.protobuf.Field
|
|
128
127
|
*/
|
|
129
|
-
class Field extends Message {
|
|
128
|
+
export class Field extends Message {
|
|
130
129
|
constructor(data) {
|
|
131
130
|
super();
|
|
132
131
|
/**
|
|
@@ -220,7 +219,6 @@ Field.fields = proto3.util.newFieldList(() => [
|
|
|
220
219
|
{ no: 10, name: "json_name", kind: "scalar", T: 9 /* ScalarType.STRING */ },
|
|
221
220
|
{ no: 11, name: "default_value", kind: "scalar", T: 9 /* ScalarType.STRING */ },
|
|
222
221
|
]);
|
|
223
|
-
export { Field };
|
|
224
222
|
/**
|
|
225
223
|
* Basic field types.
|
|
226
224
|
*
|
|
@@ -409,7 +407,7 @@ proto3.util.setEnumType(Field_Cardinality, "google.protobuf.Field.Cardinality",
|
|
|
409
407
|
*
|
|
410
408
|
* @generated from message google.protobuf.Enum
|
|
411
409
|
*/
|
|
412
|
-
class Enum extends Message {
|
|
410
|
+
export class Enum extends Message {
|
|
413
411
|
constructor(data) {
|
|
414
412
|
super();
|
|
415
413
|
/**
|
|
@@ -467,13 +465,12 @@ Enum.fields = proto3.util.newFieldList(() => [
|
|
|
467
465
|
{ no: 5, name: "syntax", kind: "enum", T: proto3.getEnumType(Syntax) },
|
|
468
466
|
{ no: 6, name: "edition", kind: "scalar", T: 9 /* ScalarType.STRING */ },
|
|
469
467
|
]);
|
|
470
|
-
export { Enum };
|
|
471
468
|
/**
|
|
472
469
|
* Enum value definition.
|
|
473
470
|
*
|
|
474
471
|
* @generated from message google.protobuf.EnumValue
|
|
475
472
|
*/
|
|
476
|
-
class EnumValue extends Message {
|
|
473
|
+
export class EnumValue extends Message {
|
|
477
474
|
constructor(data) {
|
|
478
475
|
super();
|
|
479
476
|
/**
|
|
@@ -516,14 +513,13 @@ EnumValue.fields = proto3.util.newFieldList(() => [
|
|
|
516
513
|
{ no: 2, name: "number", kind: "scalar", T: 5 /* ScalarType.INT32 */ },
|
|
517
514
|
{ no: 3, name: "options", kind: "message", T: Option, repeated: true },
|
|
518
515
|
]);
|
|
519
|
-
export { EnumValue };
|
|
520
516
|
/**
|
|
521
517
|
* A protocol buffer option, which can be attached to a message, field,
|
|
522
518
|
* enumeration, etc.
|
|
523
519
|
*
|
|
524
520
|
* @generated from message google.protobuf.Option
|
|
525
521
|
*/
|
|
526
|
-
class Option extends Message {
|
|
522
|
+
export class Option extends Message {
|
|
527
523
|
constructor(data) {
|
|
528
524
|
super();
|
|
529
525
|
/**
|
|
@@ -556,4 +552,3 @@ Option.fields = proto3.util.newFieldList(() => [
|
|
|
556
552
|
{ no: 1, name: "name", kind: "scalar", T: 9 /* ScalarType.STRING */ },
|
|
557
553
|
{ no: 2, name: "value", kind: "message", T: Any },
|
|
558
554
|
]);
|
|
559
|
-
export { Option };
|
|
@@ -22,7 +22,7 @@ import { protoInt64 } from "../../proto-int64.js";
|
|
|
22
22
|
*
|
|
23
23
|
* @generated from message google.protobuf.DoubleValue
|
|
24
24
|
*/
|
|
25
|
-
class DoubleValue extends Message {
|
|
25
|
+
export class DoubleValue extends Message {
|
|
26
26
|
constructor(data) {
|
|
27
27
|
super();
|
|
28
28
|
/**
|
|
@@ -75,7 +75,6 @@ DoubleValue.fieldWrapper = {
|
|
|
75
75
|
return value.value;
|
|
76
76
|
}
|
|
77
77
|
};
|
|
78
|
-
export { DoubleValue };
|
|
79
78
|
/**
|
|
80
79
|
* Wrapper message for `float`.
|
|
81
80
|
*
|
|
@@ -83,7 +82,7 @@ export { DoubleValue };
|
|
|
83
82
|
*
|
|
84
83
|
* @generated from message google.protobuf.FloatValue
|
|
85
84
|
*/
|
|
86
|
-
class FloatValue extends Message {
|
|
85
|
+
export class FloatValue extends Message {
|
|
87
86
|
constructor(data) {
|
|
88
87
|
super();
|
|
89
88
|
/**
|
|
@@ -136,7 +135,6 @@ FloatValue.fieldWrapper = {
|
|
|
136
135
|
return value.value;
|
|
137
136
|
}
|
|
138
137
|
};
|
|
139
|
-
export { FloatValue };
|
|
140
138
|
/**
|
|
141
139
|
* Wrapper message for `int64`.
|
|
142
140
|
*
|
|
@@ -144,7 +142,7 @@ export { FloatValue };
|
|
|
144
142
|
*
|
|
145
143
|
* @generated from message google.protobuf.Int64Value
|
|
146
144
|
*/
|
|
147
|
-
class Int64Value extends Message {
|
|
145
|
+
export class Int64Value extends Message {
|
|
148
146
|
constructor(data) {
|
|
149
147
|
super();
|
|
150
148
|
/**
|
|
@@ -197,7 +195,6 @@ Int64Value.fieldWrapper = {
|
|
|
197
195
|
return value.value;
|
|
198
196
|
}
|
|
199
197
|
};
|
|
200
|
-
export { Int64Value };
|
|
201
198
|
/**
|
|
202
199
|
* Wrapper message for `uint64`.
|
|
203
200
|
*
|
|
@@ -205,7 +202,7 @@ export { Int64Value };
|
|
|
205
202
|
*
|
|
206
203
|
* @generated from message google.protobuf.UInt64Value
|
|
207
204
|
*/
|
|
208
|
-
class UInt64Value extends Message {
|
|
205
|
+
export class UInt64Value extends Message {
|
|
209
206
|
constructor(data) {
|
|
210
207
|
super();
|
|
211
208
|
/**
|
|
@@ -258,7 +255,6 @@ UInt64Value.fieldWrapper = {
|
|
|
258
255
|
return value.value;
|
|
259
256
|
}
|
|
260
257
|
};
|
|
261
|
-
export { UInt64Value };
|
|
262
258
|
/**
|
|
263
259
|
* Wrapper message for `int32`.
|
|
264
260
|
*
|
|
@@ -266,7 +262,7 @@ export { UInt64Value };
|
|
|
266
262
|
*
|
|
267
263
|
* @generated from message google.protobuf.Int32Value
|
|
268
264
|
*/
|
|
269
|
-
class Int32Value extends Message {
|
|
265
|
+
export class Int32Value extends Message {
|
|
270
266
|
constructor(data) {
|
|
271
267
|
super();
|
|
272
268
|
/**
|
|
@@ -319,7 +315,6 @@ Int32Value.fieldWrapper = {
|
|
|
319
315
|
return value.value;
|
|
320
316
|
}
|
|
321
317
|
};
|
|
322
|
-
export { Int32Value };
|
|
323
318
|
/**
|
|
324
319
|
* Wrapper message for `uint32`.
|
|
325
320
|
*
|
|
@@ -327,7 +322,7 @@ export { Int32Value };
|
|
|
327
322
|
*
|
|
328
323
|
* @generated from message google.protobuf.UInt32Value
|
|
329
324
|
*/
|
|
330
|
-
class UInt32Value extends Message {
|
|
325
|
+
export class UInt32Value extends Message {
|
|
331
326
|
constructor(data) {
|
|
332
327
|
super();
|
|
333
328
|
/**
|
|
@@ -380,7 +375,6 @@ UInt32Value.fieldWrapper = {
|
|
|
380
375
|
return value.value;
|
|
381
376
|
}
|
|
382
377
|
};
|
|
383
|
-
export { UInt32Value };
|
|
384
378
|
/**
|
|
385
379
|
* Wrapper message for `bool`.
|
|
386
380
|
*
|
|
@@ -388,7 +382,7 @@ export { UInt32Value };
|
|
|
388
382
|
*
|
|
389
383
|
* @generated from message google.protobuf.BoolValue
|
|
390
384
|
*/
|
|
391
|
-
class BoolValue extends Message {
|
|
385
|
+
export class BoolValue extends Message {
|
|
392
386
|
constructor(data) {
|
|
393
387
|
super();
|
|
394
388
|
/**
|
|
@@ -441,7 +435,6 @@ BoolValue.fieldWrapper = {
|
|
|
441
435
|
return value.value;
|
|
442
436
|
}
|
|
443
437
|
};
|
|
444
|
-
export { BoolValue };
|
|
445
438
|
/**
|
|
446
439
|
* Wrapper message for `string`.
|
|
447
440
|
*
|
|
@@ -449,7 +442,7 @@ export { BoolValue };
|
|
|
449
442
|
*
|
|
450
443
|
* @generated from message google.protobuf.StringValue
|
|
451
444
|
*/
|
|
452
|
-
class StringValue extends Message {
|
|
445
|
+
export class StringValue extends Message {
|
|
453
446
|
constructor(data) {
|
|
454
447
|
super();
|
|
455
448
|
/**
|
|
@@ -502,7 +495,6 @@ StringValue.fieldWrapper = {
|
|
|
502
495
|
return value.value;
|
|
503
496
|
}
|
|
504
497
|
};
|
|
505
|
-
export { StringValue };
|
|
506
498
|
/**
|
|
507
499
|
* Wrapper message for `bytes`.
|
|
508
500
|
*
|
|
@@ -510,7 +502,7 @@ export { StringValue };
|
|
|
510
502
|
*
|
|
511
503
|
* @generated from message google.protobuf.BytesValue
|
|
512
504
|
*/
|
|
513
|
-
class BytesValue extends Message {
|
|
505
|
+
export class BytesValue extends Message {
|
|
514
506
|
constructor(data) {
|
|
515
507
|
super();
|
|
516
508
|
/**
|
|
@@ -563,4 +555,3 @@ BytesValue.fieldWrapper = {
|
|
|
563
555
|
return value.value;
|
|
564
556
|
}
|
|
565
557
|
};
|
|
566
|
-
export { BytesValue };
|
package/dist/esm/index.js
CHANGED
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
// limitations under the License.
|
|
14
14
|
export { proto3 } from "./proto3.js";
|
|
15
15
|
export { proto2 } from "./proto2.js";
|
|
16
|
+
export { protoDouble } from "./proto-double.js";
|
|
16
17
|
export { protoInt64 } from "./proto-int64.js";
|
|
17
18
|
export { protoBase64 } from "./proto-base64.js";
|
|
18
19
|
export { protoDelimited } from "./proto-delimited.js";
|
|
@@ -24,6 +25,7 @@ export { WireType, BinaryWriter, BinaryReader } from "./binary-encoding.js";
|
|
|
24
25
|
export { createDescriptorSet } from "./create-descriptor-set.js";
|
|
25
26
|
export { createRegistry } from "./create-registry.js";
|
|
26
27
|
export { createRegistryFromDescriptors } from "./create-registry-from-desc.js";
|
|
28
|
+
export { toPlainMessage } from "./to-plain-message.js";
|
|
27
29
|
// ideally, we would export these types with sub-path exports:
|
|
28
30
|
export * from "./google/protobuf/compiler/plugin_pb.js";
|
|
29
31
|
export * from "./google/protobuf/api_pb.js";
|
|
@@ -256,7 +256,7 @@ function debugJsonValue(json) {
|
|
|
256
256
|
case "string":
|
|
257
257
|
return json.length > 100 ? "string" : `"${json.split('"').join('\\"')}"`;
|
|
258
258
|
default:
|
|
259
|
-
return json
|
|
259
|
+
return String(json);
|
|
260
260
|
}
|
|
261
261
|
}
|
|
262
262
|
// May throw an error. If the error message is non-blank, it should be shown.
|
|
@@ -386,6 +386,7 @@ function readEnum(type, json, ignoreUnknownFields) {
|
|
|
386
386
|
break;
|
|
387
387
|
case "string":
|
|
388
388
|
const value = type.findName(json);
|
|
389
|
+
// eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing
|
|
389
390
|
if (value || ignoreUnknownFields) {
|
|
390
391
|
return value === null || value === void 0 ? void 0 : value.no;
|
|
391
392
|
}
|
|
@@ -42,17 +42,35 @@ export function makeUtilCommon() {
|
|
|
42
42
|
!(val instanceof sourceField.T)) {
|
|
43
43
|
val = new sourceField.T(val);
|
|
44
44
|
}
|
|
45
|
+
else if (sourceField &&
|
|
46
|
+
sourceField.kind === "scalar" &&
|
|
47
|
+
sourceField.T === ScalarType.BYTES) {
|
|
48
|
+
val = toU8Arr(val);
|
|
49
|
+
}
|
|
45
50
|
t[localName] = { case: sk, value: val };
|
|
46
51
|
break;
|
|
47
52
|
case "scalar":
|
|
48
53
|
case "enum":
|
|
49
|
-
|
|
54
|
+
let copy = s[localName];
|
|
55
|
+
if (member.T === ScalarType.BYTES) {
|
|
56
|
+
copy = member.repeated
|
|
57
|
+
? copy.map(toU8Arr)
|
|
58
|
+
: toU8Arr(copy);
|
|
59
|
+
}
|
|
60
|
+
t[localName] = copy;
|
|
50
61
|
break;
|
|
51
62
|
case "map":
|
|
52
63
|
switch (member.V.kind) {
|
|
53
64
|
case "scalar":
|
|
54
65
|
case "enum":
|
|
55
|
-
|
|
66
|
+
if (member.V.T === ScalarType.BYTES) {
|
|
67
|
+
for (const [k, v] of Object.entries(s[localName])) {
|
|
68
|
+
t[localName][k] = toU8Arr(v);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
else {
|
|
72
|
+
Object.assign(t[localName], s[localName]);
|
|
73
|
+
}
|
|
56
74
|
break;
|
|
57
75
|
case "message":
|
|
58
76
|
const messageType = member.V.T;
|
|
@@ -76,7 +94,14 @@ export function makeUtilCommon() {
|
|
|
76
94
|
else if (s[localName] !== undefined) {
|
|
77
95
|
const val = s[localName];
|
|
78
96
|
if (mt.fieldWrapper) {
|
|
79
|
-
|
|
97
|
+
if (
|
|
98
|
+
// We can't use BytesValue.typeName as that will create a circular import
|
|
99
|
+
mt.typeName === "google.protobuf.BytesValue") {
|
|
100
|
+
t[localName] = toU8Arr(val);
|
|
101
|
+
}
|
|
102
|
+
else {
|
|
103
|
+
t[localName] = val;
|
|
104
|
+
}
|
|
80
105
|
}
|
|
81
106
|
else {
|
|
82
107
|
t[localName] = val instanceof mt ? val : new mt(val);
|
|
@@ -158,22 +183,22 @@ export function makeUtilCommon() {
|
|
|
158
183
|
const source = message[member.localName];
|
|
159
184
|
let copy;
|
|
160
185
|
if (member.repeated) {
|
|
161
|
-
copy = source.map(
|
|
186
|
+
copy = source.map(cloneSingularField);
|
|
162
187
|
}
|
|
163
188
|
else if (member.kind == "map") {
|
|
164
189
|
copy = any[member.localName];
|
|
165
190
|
for (const [key, v] of Object.entries(source)) {
|
|
166
|
-
copy[key] = cloneSingularField(
|
|
191
|
+
copy[key] = cloneSingularField(v);
|
|
167
192
|
}
|
|
168
193
|
}
|
|
169
194
|
else if (member.kind == "oneof") {
|
|
170
195
|
const f = member.findField(source.case);
|
|
171
196
|
copy = f
|
|
172
|
-
? { case: source.case, value: cloneSingularField(
|
|
197
|
+
? { case: source.case, value: cloneSingularField(source.value) }
|
|
173
198
|
: { case: undefined };
|
|
174
199
|
}
|
|
175
200
|
else {
|
|
176
|
-
copy = cloneSingularField(
|
|
201
|
+
copy = cloneSingularField(source);
|
|
177
202
|
}
|
|
178
203
|
any[member.localName] = copy;
|
|
179
204
|
}
|
|
@@ -182,7 +207,7 @@ export function makeUtilCommon() {
|
|
|
182
207
|
};
|
|
183
208
|
}
|
|
184
209
|
// clone a single field value - i.e. the element type of repeated fields, the value type of maps
|
|
185
|
-
function cloneSingularField(
|
|
210
|
+
function cloneSingularField(value) {
|
|
186
211
|
if (value === undefined) {
|
|
187
212
|
return value;
|
|
188
213
|
}
|
|
@@ -196,3 +221,7 @@ function cloneSingularField(field, value) {
|
|
|
196
221
|
}
|
|
197
222
|
return value;
|
|
198
223
|
}
|
|
224
|
+
// converts any ArrayLike<number> to Uint8Array if necessary.
|
|
225
|
+
function toU8Arr(input) {
|
|
226
|
+
return input instanceof Uint8Array ? input : new Uint8Array(input);
|
|
227
|
+
}
|
|
@@ -72,28 +72,23 @@ export const protoDelimited = {
|
|
|
72
72
|
}
|
|
73
73
|
let buffer = new Uint8Array(0);
|
|
74
74
|
try {
|
|
75
|
-
for (var _d = true, iterable_1 = __asyncValues(iterable), iterable_1_1; iterable_1_1 = yield __await(iterable_1.next()), _a = iterable_1_1.done, !_a;) {
|
|
75
|
+
for (var _d = true, iterable_1 = __asyncValues(iterable), iterable_1_1; iterable_1_1 = yield __await(iterable_1.next()), _a = iterable_1_1.done, !_a; _d = true) {
|
|
76
76
|
_c = iterable_1_1.value;
|
|
77
77
|
_d = false;
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
break;
|
|
86
|
-
}
|
|
87
|
-
if (size.offset + size.size > buffer.byteLength) {
|
|
88
|
-
// message is incomplete, buffer more data
|
|
89
|
-
break;
|
|
90
|
-
}
|
|
91
|
-
yield yield __await(protoDelimited.dec(type, buffer));
|
|
92
|
-
buffer = buffer.subarray(size.offset + size.size);
|
|
78
|
+
const chunk = _c;
|
|
79
|
+
buffer = append(buffer, chunk);
|
|
80
|
+
for (;;) {
|
|
81
|
+
const size = protoDelimited.peekSize(buffer);
|
|
82
|
+
if (size.eof) {
|
|
83
|
+
// size is incomplete, buffer more data
|
|
84
|
+
break;
|
|
93
85
|
}
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
86
|
+
if (size.offset + size.size > buffer.byteLength) {
|
|
87
|
+
// message is incomplete, buffer more data
|
|
88
|
+
break;
|
|
89
|
+
}
|
|
90
|
+
yield yield __await(protoDelimited.dec(type, buffer));
|
|
91
|
+
buffer = buffer.subarray(size.offset + size.size);
|
|
97
92
|
}
|
|
98
93
|
}
|
|
99
94
|
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
// Copyright 2021-2023 Buf Technologies, Inc.
|
|
2
|
+
//
|
|
3
|
+
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
// you may not use this file except in compliance with the License.
|
|
5
|
+
// You may obtain a copy of the License at
|
|
6
|
+
//
|
|
7
|
+
// http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
//
|
|
9
|
+
// Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
// See the License for the specific language governing permissions and
|
|
13
|
+
// limitations under the License.
|
|
14
|
+
// Export global Number constants. This is done so that we can safely use
|
|
15
|
+
// these global constants when generating code and be assured we're using
|
|
16
|
+
// the correct values. We cannot rely on globalThis since we support ES2017
|
|
17
|
+
// and globalThis was introduced in ES2020. We also don't want to explicitly
|
|
18
|
+
// generate code using, for example, Number.NaN, since this could clash with
|
|
19
|
+
// a message name of Number. Instead we can export them here since this will
|
|
20
|
+
// be in a different scope as the generated code and we are guaranteed to use
|
|
21
|
+
// the intended global values.
|
|
22
|
+
export const protoDouble = {
|
|
23
|
+
NaN: Number.NaN,
|
|
24
|
+
POSITIVE_INFINITY: Number.POSITIVE_INFINITY,
|
|
25
|
+
NEGATIVE_INFINITY: Number.NEGATIVE_INFINITY,
|
|
26
|
+
};
|
package/dist/esm/proto-int64.js
CHANGED
|
@@ -16,7 +16,7 @@ import { int64FromString, int64ToString, uInt64ToString, } from "./google/varint
|
|
|
16
16
|
function makeInt64Support() {
|
|
17
17
|
const dv = new DataView(new ArrayBuffer(8));
|
|
18
18
|
// note that Safari 14 implements BigInt, but not the DataView methods
|
|
19
|
-
const ok =
|
|
19
|
+
const ok = typeof BigInt === "function" &&
|
|
20
20
|
typeof dv.getBigInt64 === "function" &&
|
|
21
21
|
typeof dv.getBigUint64 === "function" &&
|
|
22
22
|
typeof dv.setBigInt64 === "function" &&
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
// Copyright 2021-2023 Buf Technologies, Inc.
|
|
2
|
+
//
|
|
3
|
+
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
// you may not use this file except in compliance with the License.
|
|
5
|
+
// You may obtain a copy of the License at
|
|
6
|
+
//
|
|
7
|
+
// http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
//
|
|
9
|
+
// Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
// See the License for the specific language governing permissions and
|
|
13
|
+
// limitations under the License.
|
|
14
|
+
/* eslint-disable @typescript-eslint/no-explicit-any,@typescript-eslint/no-unsafe-assignment,@typescript-eslint/no-unsafe-member-access,@typescript-eslint/no-unsafe-return,@typescript-eslint/no-unsafe-argument,no-case-declarations */
|
|
15
|
+
import { Message } from "./message.js";
|
|
16
|
+
/**
|
|
17
|
+
* toPlainMessage returns a new object by striping
|
|
18
|
+
* all methods from a message, leaving only fields and
|
|
19
|
+
* oneof groups. It is recursive, meaning it applies this
|
|
20
|
+
* same logic to all nested message fields as well.
|
|
21
|
+
*/
|
|
22
|
+
export function toPlainMessage(message) {
|
|
23
|
+
const type = message.getType();
|
|
24
|
+
const target = {};
|
|
25
|
+
for (const member of type.fields.byMember()) {
|
|
26
|
+
const source = message[member.localName];
|
|
27
|
+
let copy;
|
|
28
|
+
if (member.repeated) {
|
|
29
|
+
copy = source.map((e) => toPlainValue(e));
|
|
30
|
+
}
|
|
31
|
+
else if (member.kind == "map") {
|
|
32
|
+
copy = {};
|
|
33
|
+
for (const [key, v] of Object.entries(source)) {
|
|
34
|
+
copy[key] = toPlainValue(v);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
else if (member.kind == "oneof") {
|
|
38
|
+
const f = member.findField(source.case);
|
|
39
|
+
copy = f
|
|
40
|
+
? { case: source.case, value: toPlainValue(source.value) }
|
|
41
|
+
: { case: undefined };
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
copy = toPlainValue(source);
|
|
45
|
+
}
|
|
46
|
+
target[member.localName] = copy;
|
|
47
|
+
}
|
|
48
|
+
return target;
|
|
49
|
+
}
|
|
50
|
+
function toPlainValue(value) {
|
|
51
|
+
if (value === undefined) {
|
|
52
|
+
return value;
|
|
53
|
+
}
|
|
54
|
+
if (value instanceof Message) {
|
|
55
|
+
return toPlainMessage(value);
|
|
56
|
+
}
|
|
57
|
+
if (value instanceof Uint8Array) {
|
|
58
|
+
const c = new Uint8Array(value.byteLength);
|
|
59
|
+
c.set(value);
|
|
60
|
+
return c;
|
|
61
|
+
}
|
|
62
|
+
return value;
|
|
63
|
+
}
|
|
@@ -13,7 +13,7 @@ interface CodegenInfo {
|
|
|
13
13
|
readonly safeIdentifier: typeof safeIdentifier;
|
|
14
14
|
readonly safeObjectProperty: typeof safeObjectProperty;
|
|
15
15
|
}
|
|
16
|
-
type RuntimeSymbolName = "proto2" | "proto3" | "Message" | "PartialMessage" | "PlainMessage" | "FieldList" | "MessageType" | "BinaryReadOptions" | "BinaryWriteOptions" | "JsonReadOptions" | "JsonWriteOptions" | "JsonValue" | "JsonObject" | "protoInt64" | "ScalarType" | "MethodKind" | "MethodIdempotency" | "IMessageTypeRegistry";
|
|
16
|
+
type RuntimeSymbolName = "proto2" | "proto3" | "Message" | "PartialMessage" | "PlainMessage" | "FieldList" | "MessageType" | "BinaryReadOptions" | "BinaryWriteOptions" | "JsonReadOptions" | "JsonWriteOptions" | "JsonValue" | "JsonObject" | "protoDouble" | "protoInt64" | "ScalarType" | "MethodKind" | "MethodIdempotency" | "IMessageTypeRegistry";
|
|
17
17
|
type RuntimeSymbolInfo = {
|
|
18
18
|
typeOnly: boolean;
|
|
19
19
|
publicImportPath: string;
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export { proto3 } from "./proto3.js";
|
|
2
2
|
export { proto2 } from "./proto2.js";
|
|
3
|
+
export { protoDouble } from "./proto-double.js";
|
|
3
4
|
export { protoInt64 } from "./proto-int64.js";
|
|
4
5
|
export { protoBase64 } from "./proto-base64.js";
|
|
5
6
|
export { protoDelimited } from "./proto-delimited.js";
|
|
@@ -22,6 +23,7 @@ export { createDescriptorSet } from "./create-descriptor-set.js";
|
|
|
22
23
|
export type { IMessageTypeRegistry } from "./type-registry.js";
|
|
23
24
|
export { createRegistry } from "./create-registry.js";
|
|
24
25
|
export { createRegistryFromDescriptors } from "./create-registry-from-desc.js";
|
|
26
|
+
export { toPlainMessage } from "./to-plain-message.js";
|
|
25
27
|
export * from "./google/protobuf/compiler/plugin_pb.js";
|
|
26
28
|
export * from "./google/protobuf/api_pb.js";
|
|
27
29
|
export * from "./google/protobuf/any_pb.js";
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Message } from "./message.js";
|
|
2
|
+
import type { PlainMessage } from "./message.js";
|
|
3
|
+
/**
|
|
4
|
+
* toPlainMessage returns a new object by striping
|
|
5
|
+
* all methods from a message, leaving only fields and
|
|
6
|
+
* oneof groups. It is recursive, meaning it applies this
|
|
7
|
+
* same logic to all nested message fields as well.
|
|
8
|
+
*/
|
|
9
|
+
export declare function toPlainMessage<T extends Message<T>>(message: T): PlainMessage<T>;
|
package/package.json
CHANGED