@bufbuild/protobuf 1.9.0 → 2.0.0-alpha.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/dist/cjs/clone.d.ts +6 -0
- package/dist/cjs/clone.js +77 -0
- package/dist/cjs/codegenv1/boot.d.ts +63 -0
- package/dist/cjs/codegenv1/boot.js +102 -0
- package/dist/cjs/codegenv1/embed.d.ts +43 -0
- package/dist/cjs/codegenv1/embed.js +238 -0
- package/dist/cjs/codegenv1/enum.d.ts +17 -0
- package/dist/cjs/codegenv1/enum.js +41 -0
- package/dist/cjs/codegenv1/extension.d.ts +9 -0
- package/dist/cjs/codegenv1/extension.js +29 -0
- package/dist/cjs/codegenv1/file.d.ts +7 -0
- package/dist/cjs/codegenv1/file.js +38 -0
- package/dist/cjs/codegenv1/index.d.ts +9 -0
- package/dist/cjs/codegenv1/index.js +38 -0
- package/dist/cjs/codegenv1/message.d.ts +9 -0
- package/dist/cjs/codegenv1/message.js +25 -0
- package/dist/cjs/codegenv1/restore-json-names.d.ts +5 -0
- package/dist/cjs/codegenv1/restore-json-names.js +30 -0
- package/dist/cjs/codegenv1/service.d.ts +8 -0
- package/dist/cjs/codegenv1/service.js +28 -0
- package/dist/cjs/codegenv1/symbols.d.ts +125 -0
- package/dist/cjs/codegenv1/symbols.js +67 -0
- package/dist/cjs/codegenv1/types.d.ts +72 -0
- package/dist/cjs/codegenv1/types.js +21 -0
- package/dist/cjs/create.d.ts +9 -0
- package/dist/cjs/create.js +231 -0
- package/dist/{esm/descriptor-set.d.ts → cjs/desc-types.d.ts} +162 -243
- package/dist/cjs/equals.d.ts +9 -0
- package/dist/cjs/equals.js +133 -0
- package/dist/cjs/extensions.d.ts +59 -0
- package/dist/cjs/extensions.js +169 -0
- package/dist/cjs/fields.d.ts +23 -0
- package/dist/cjs/fields.js +46 -0
- package/dist/cjs/from-binary.d.ts +34 -0
- package/dist/cjs/from-binary.js +211 -0
- package/dist/cjs/from-json.d.ts +48 -0
- package/dist/cjs/from-json.js +610 -0
- package/dist/cjs/index.d.ts +16 -42
- package/dist/cjs/index.js +23 -55
- package/dist/cjs/is-message.d.ts +5 -20
- package/dist/cjs/is-message.js +11 -29
- package/dist/cjs/json-value.d.ts +16 -0
- package/dist/cjs/proto-int64.js +2 -2
- package/dist/cjs/reflect/error.d.ts +9 -0
- package/dist/cjs/reflect/error.js +36 -0
- package/dist/cjs/reflect/guard.d.ts +20 -0
- package/dist/cjs/reflect/guard.js +78 -0
- package/dist/cjs/reflect/index.d.ts +8 -0
- package/dist/cjs/reflect/index.js +41 -0
- package/dist/cjs/reflect/names.d.ts +11 -0
- package/dist/cjs/reflect/names.js +74 -0
- package/dist/cjs/reflect/nested-types.d.ts +12 -0
- package/dist/cjs/reflect/nested-types.js +71 -0
- package/dist/cjs/reflect/reflect-check.d.ts +10 -0
- package/dist/cjs/reflect/reflect-check.js +150 -0
- package/dist/cjs/reflect/reflect-types.d.ts +284 -0
- package/dist/cjs/{extension.js → reflect/reflect-types.js} +1 -0
- package/dist/cjs/reflect/reflect.d.ts +32 -0
- package/dist/cjs/reflect/reflect.js +434 -0
- package/dist/cjs/reflect/registry.d.ts +82 -0
- package/dist/cjs/reflect/registry.js +879 -0
- package/dist/{esm → cjs/reflect}/scalar.d.ts +21 -1
- package/dist/cjs/reflect/scalar.js +298 -0
- package/dist/cjs/reflect/unsafe.d.ts +58 -0
- package/dist/cjs/reflect/unsafe.js +166 -0
- package/dist/cjs/to-binary.d.ts +24 -0
- package/dist/cjs/to-binary.js +192 -0
- package/dist/cjs/to-json.d.ts +50 -0
- package/dist/cjs/to-json.js +364 -0
- package/dist/cjs/types.d.ts +68 -0
- package/dist/cjs/wire/base64-encoding.d.ts +23 -0
- package/dist/cjs/wire/base64-encoding.js +156 -0
- package/dist/cjs/wire/binary-encoding.d.ts +244 -0
- package/dist/cjs/{binary-encoding.js → wire/binary-encoding.js} +27 -20
- package/dist/cjs/wire/index.d.ts +5 -0
- package/dist/cjs/wire/index.js +34 -0
- package/dist/cjs/wire/size-delimited.d.ts +51 -0
- package/dist/cjs/wire/size-delimited.js +154 -0
- package/dist/cjs/wire/text-encoding.d.ts +26 -0
- package/dist/cjs/wire/text-encoding.js +55 -0
- package/dist/cjs/wire/text-format.d.ts +14 -0
- package/dist/cjs/{private → wire}/text-format.js +12 -2
- package/dist/{esm/google → cjs/wire}/varint.d.ts +2 -2
- package/dist/cjs/{google → wire}/varint.js +11 -10
- package/dist/cjs/wkt/any.d.ts +38 -0
- package/dist/cjs/wkt/any.js +76 -0
- package/dist/{esm → cjs/wkt/gen}/google/protobuf/any_pb.d.ts +13 -27
- package/dist/cjs/wkt/gen/google/protobuf/any_pb.js +27 -0
- package/dist/cjs/{google → wkt/gen/google}/protobuf/api_pb.d.ts +29 -38
- package/dist/cjs/wkt/gen/google/protobuf/api_pb.js +39 -0
- package/dist/cjs/{google → wkt/gen/google}/protobuf/compiler/plugin_pb.d.ts +67 -75
- package/dist/cjs/wkt/gen/google/protobuf/compiler/plugin_pb.js +68 -0
- package/dist/cjs/{google → wkt/gen/google}/protobuf/descriptor_pb.d.ts +564 -527
- package/dist/cjs/wkt/gen/google/protobuf/descriptor_pb.js +794 -0
- package/dist/cjs/{google → wkt/gen/google}/protobuf/duration_pb.d.ts +13 -18
- package/dist/cjs/wkt/gen/google/protobuf/duration_pb.js +27 -0
- package/dist/cjs/wkt/gen/google/protobuf/empty_pb.d.ts +24 -0
- package/dist/cjs/wkt/gen/google/protobuf/empty_pb.js +27 -0
- package/dist/{esm → cjs/wkt/gen}/google/protobuf/field_mask_pb.d.ts +13 -18
- package/dist/cjs/wkt/gen/google/protobuf/field_mask_pb.js +27 -0
- package/dist/cjs/wkt/gen/google/protobuf/source_context_pb.d.ts +26 -0
- package/dist/cjs/wkt/gen/google/protobuf/source_context_pb.js +27 -0
- package/dist/{esm → cjs/wkt/gen}/google/protobuf/struct_pb.d.ts +44 -55
- package/dist/cjs/wkt/gen/google/protobuf/struct_pb.js +59 -0
- package/dist/cjs/{google → wkt/gen/google}/protobuf/timestamp_pb.d.ts +13 -21
- package/dist/cjs/wkt/gen/google/protobuf/timestamp_pb.js +27 -0
- package/dist/{esm → cjs/wkt/gen}/google/protobuf/type_pb.d.ts +77 -80
- package/dist/cjs/wkt/gen/google/protobuf/type_pb.js +242 -0
- package/dist/cjs/wkt/gen/google/protobuf/wrappers_pb.d.ts +186 -0
- package/dist/cjs/wkt/gen/google/protobuf/wrappers_pb.js +67 -0
- package/dist/cjs/wkt/index.d.ts +15 -0
- package/dist/cjs/wkt/index.js +44 -0
- package/dist/cjs/wkt/timestamp.d.ts +21 -0
- package/dist/cjs/wkt/timestamp.js +58 -0
- package/dist/cjs/wkt/wrappers.d.ts +15 -0
- package/dist/cjs/wkt/wrappers.js +43 -0
- package/dist/esm/clone.d.ts +6 -0
- package/dist/esm/clone.js +73 -0
- package/dist/esm/codegenv1/boot.d.ts +63 -0
- package/dist/esm/codegenv1/boot.js +97 -0
- package/dist/esm/codegenv1/embed.d.ts +43 -0
- package/dist/esm/codegenv1/embed.js +232 -0
- package/dist/esm/codegenv1/enum.d.ts +17 -0
- package/dist/esm/codegenv1/enum.js +36 -0
- package/dist/esm/codegenv1/extension.d.ts +9 -0
- package/dist/esm/codegenv1/extension.js +25 -0
- package/dist/esm/codegenv1/file.d.ts +7 -0
- package/dist/esm/codegenv1/file.js +34 -0
- package/dist/esm/codegenv1/index.d.ts +9 -0
- package/dist/esm/codegenv1/index.js +22 -0
- package/dist/esm/codegenv1/message.d.ts +9 -0
- package/dist/esm/codegenv1/message.js +21 -0
- package/dist/esm/codegenv1/restore-json-names.d.ts +5 -0
- package/dist/esm/codegenv1/restore-json-names.js +26 -0
- package/dist/esm/codegenv1/service.d.ts +8 -0
- package/dist/esm/codegenv1/service.js +24 -0
- package/dist/esm/codegenv1/symbols.d.ts +125 -0
- package/dist/esm/codegenv1/symbols.js +64 -0
- package/dist/esm/codegenv1/types.d.ts +72 -0
- package/dist/esm/{field-list.js → codegenv1/types.js} +6 -0
- package/dist/esm/create.d.ts +9 -0
- package/dist/esm/create.js +228 -0
- package/dist/{cjs/descriptor-set.d.ts → esm/desc-types.d.ts} +162 -243
- package/dist/esm/equals.d.ts +9 -0
- package/dist/esm/equals.js +129 -0
- package/dist/esm/extensions.d.ts +59 -0
- package/dist/esm/extensions.js +159 -0
- package/dist/esm/fields.d.ts +23 -0
- package/dist/esm/fields.js +41 -0
- package/dist/esm/from-binary.d.ts +34 -0
- package/dist/esm/from-binary.js +205 -0
- package/dist/esm/from-json.d.ts +48 -0
- package/dist/esm/from-json.js +603 -0
- package/dist/esm/index.d.ts +16 -42
- package/dist/esm/index.js +13 -30
- package/dist/esm/is-message.d.ts +5 -20
- package/dist/esm/is-message.js +11 -29
- package/dist/esm/json-value.d.ts +16 -0
- package/dist/esm/proto-int64.js +2 -2
- package/dist/esm/reflect/error.d.ts +9 -0
- package/dist/esm/reflect/error.js +31 -0
- package/dist/esm/reflect/guard.d.ts +20 -0
- package/dist/esm/reflect/guard.js +70 -0
- package/dist/esm/reflect/index.d.ts +8 -0
- package/dist/esm/reflect/index.js +21 -0
- package/dist/esm/reflect/names.d.ts +11 -0
- package/dist/esm/reflect/names.js +69 -0
- package/dist/esm/reflect/nested-types.d.ts +12 -0
- package/dist/esm/reflect/nested-types.js +66 -0
- package/dist/esm/reflect/reflect-check.d.ts +10 -0
- package/dist/esm/reflect/reflect-check.js +143 -0
- package/dist/esm/reflect/reflect-types.d.ts +284 -0
- package/dist/esm/reflect/reflect-types.js +15 -0
- package/dist/esm/reflect/reflect.d.ts +32 -0
- package/dist/esm/reflect/reflect.js +428 -0
- package/dist/esm/reflect/registry.d.ts +82 -0
- package/dist/esm/reflect/registry.js +874 -0
- package/dist/{cjs → esm/reflect}/scalar.d.ts +21 -1
- package/dist/esm/reflect/scalar.js +289 -0
- package/dist/esm/reflect/unsafe.d.ts +58 -0
- package/dist/esm/reflect/unsafe.js +155 -0
- package/dist/esm/to-binary.d.ts +24 -0
- package/dist/esm/to-binary.js +187 -0
- package/dist/esm/to-json.d.ts +50 -0
- package/dist/esm/to-json.js +359 -0
- package/dist/esm/types.d.ts +68 -0
- package/dist/esm/wire/base64-encoding.d.ts +23 -0
- package/dist/esm/wire/base64-encoding.js +151 -0
- package/dist/esm/wire/binary-encoding.d.ts +244 -0
- package/dist/esm/{binary-encoding.js → wire/binary-encoding.js} +27 -20
- package/dist/esm/wire/index.d.ts +5 -0
- package/dist/esm/wire/index.js +18 -0
- package/dist/esm/wire/size-delimited.d.ts +51 -0
- package/dist/esm/wire/size-delimited.js +148 -0
- package/dist/esm/wire/text-encoding.d.ts +26 -0
- package/dist/esm/wire/text-encoding.js +50 -0
- package/dist/esm/wire/text-format.d.ts +14 -0
- package/dist/esm/{private → wire}/text-format.js +12 -2
- package/dist/{cjs/google → esm/wire}/varint.d.ts +2 -2
- package/dist/esm/{google → wire}/varint.js +11 -10
- package/dist/esm/wkt/any.d.ts +38 -0
- package/dist/esm/wkt/any.js +69 -0
- package/dist/{cjs → esm/wkt/gen}/google/protobuf/any_pb.d.ts +13 -27
- package/dist/esm/wkt/gen/google/protobuf/any_pb.js +24 -0
- package/dist/esm/{google → wkt/gen/google}/protobuf/api_pb.d.ts +29 -38
- package/dist/esm/wkt/gen/google/protobuf/api_pb.js +36 -0
- package/dist/esm/{google → wkt/gen/google}/protobuf/compiler/plugin_pb.d.ts +67 -75
- package/dist/esm/wkt/gen/google/protobuf/compiler/plugin_pb.js +65 -0
- package/dist/esm/{google → wkt/gen/google}/protobuf/descriptor_pb.d.ts +564 -527
- package/dist/esm/wkt/gen/google/protobuf/descriptor_pb.js +790 -0
- package/dist/esm/{google → wkt/gen/google}/protobuf/duration_pb.d.ts +13 -18
- package/dist/esm/wkt/gen/google/protobuf/duration_pb.js +24 -0
- package/dist/esm/wkt/gen/google/protobuf/empty_pb.d.ts +24 -0
- package/dist/esm/wkt/gen/google/protobuf/empty_pb.js +24 -0
- package/dist/{cjs → esm/wkt/gen}/google/protobuf/field_mask_pb.d.ts +13 -18
- package/dist/esm/wkt/gen/google/protobuf/field_mask_pb.js +24 -0
- package/dist/esm/wkt/gen/google/protobuf/source_context_pb.d.ts +26 -0
- package/dist/esm/wkt/gen/google/protobuf/source_context_pb.js +24 -0
- package/dist/{cjs → esm/wkt/gen}/google/protobuf/struct_pb.d.ts +44 -55
- package/dist/esm/wkt/gen/google/protobuf/struct_pb.js +56 -0
- package/dist/esm/{google → wkt/gen/google}/protobuf/timestamp_pb.d.ts +13 -21
- package/dist/esm/wkt/gen/google/protobuf/timestamp_pb.js +24 -0
- package/dist/{cjs → esm/wkt/gen}/google/protobuf/type_pb.d.ts +77 -80
- package/dist/esm/wkt/gen/google/protobuf/type_pb.js +239 -0
- package/dist/esm/wkt/gen/google/protobuf/wrappers_pb.d.ts +186 -0
- package/dist/esm/wkt/gen/google/protobuf/wrappers_pb.js +64 -0
- package/dist/esm/wkt/index.d.ts +15 -0
- package/dist/esm/wkt/index.js +28 -0
- package/dist/esm/wkt/timestamp.d.ts +21 -0
- package/dist/esm/wkt/timestamp.js +50 -0
- package/dist/esm/wkt/wrappers.d.ts +15 -0
- package/dist/esm/wkt/wrappers.js +38 -0
- package/package.json +37 -5
- package/dist/cjs/binary-encoding.d.ts +0 -420
- package/dist/cjs/binary-format.d.ts +0 -113
- package/dist/cjs/codegen-info.d.ts +0 -33
- package/dist/cjs/codegen-info.js +0 -69
- package/dist/cjs/create-descriptor-set.d.ts +0 -36
- package/dist/cjs/create-descriptor-set.js +0 -910
- package/dist/cjs/create-registry-from-desc.d.ts +0 -15
- package/dist/cjs/create-registry-from-desc.js +0 -264
- package/dist/cjs/create-registry.d.ts +0 -9
- package/dist/cjs/create-registry.js +0 -94
- package/dist/cjs/enum.d.ts +0 -35
- package/dist/cjs/extension-accessor.d.ts +0 -35
- package/dist/cjs/extension-accessor.js +0 -114
- package/dist/cjs/extension.d.ts +0 -24
- package/dist/cjs/field-list.d.ts +0 -27
- package/dist/cjs/field-list.js +0 -15
- package/dist/cjs/field.d.ts +0 -314
- package/dist/cjs/field.js +0 -15
- package/dist/cjs/google/protobuf/any_pb.js +0 -273
- package/dist/cjs/google/protobuf/api_pb.js +0 -316
- package/dist/cjs/google/protobuf/compiler/plugin_pb.js +0 -219
- package/dist/cjs/google/protobuf/descriptor_pb.js +0 -2034
- package/dist/cjs/google/protobuf/duration_pb.js +0 -169
- package/dist/cjs/google/protobuf/empty_pb.d.ts +0 -28
- package/dist/cjs/google/protobuf/empty_pb.js +0 -52
- package/dist/cjs/google/protobuf/field_mask_pb.js +0 -311
- package/dist/cjs/google/protobuf/source_context_pb.d.ts +0 -29
- package/dist/cjs/google/protobuf/source_context_pb.js +0 -55
- package/dist/cjs/google/protobuf/struct_pb.js +0 -240
- package/dist/cjs/google/protobuf/timestamp_pb.js +0 -213
- package/dist/cjs/google/protobuf/type_pb.js +0 -562
- package/dist/cjs/google/protobuf/wrappers_pb.d.ts +0 -267
- package/dist/cjs/google/protobuf/wrappers_pb.js +0 -569
- package/dist/cjs/json-format.d.ts +0 -111
- package/dist/cjs/json-format.js +0 -15
- package/dist/cjs/message-type.d.ts +0 -51
- package/dist/cjs/message-type.js +0 -15
- package/dist/cjs/message.d.ts +0 -131
- package/dist/cjs/message.js +0 -129
- package/dist/cjs/private/binary-format.d.ts +0 -7
- package/dist/cjs/private/binary-format.js +0 -430
- package/dist/cjs/private/enum.d.ts +0 -27
- package/dist/cjs/private/enum.js +0 -94
- package/dist/cjs/private/extensions.d.ts +0 -34
- package/dist/cjs/private/extensions.js +0 -86
- package/dist/cjs/private/feature-set.d.ts +0 -19
- package/dist/cjs/private/feature-set.js +0 -106
- package/dist/cjs/private/field-list.d.ts +0 -18
- package/dist/cjs/private/field-list.js +0 -76
- package/dist/cjs/private/field-normalize.d.ts +0 -9
- package/dist/cjs/private/field-normalize.js +0 -69
- package/dist/cjs/private/field-wrapper.d.ts +0 -25
- package/dist/cjs/private/field-wrapper.js +0 -57
- package/dist/cjs/private/field.d.ts +0 -16
- package/dist/cjs/private/field.js +0 -45
- package/dist/cjs/private/json-format.d.ts +0 -2
- package/dist/cjs/private/json-format.js +0 -626
- package/dist/cjs/private/message-type.d.ts +0 -18
- package/dist/cjs/private/message-type.js +0 -50
- package/dist/cjs/private/names.d.ts +0 -43
- package/dist/cjs/private/names.js +0 -278
- package/dist/cjs/private/options-map.d.ts +0 -7
- package/dist/cjs/private/options-map.js +0 -15
- package/dist/cjs/private/proto-runtime.d.ts +0 -53
- package/dist/cjs/private/proto-runtime.js +0 -41
- package/dist/cjs/private/reflect.d.ts +0 -9
- package/dist/cjs/private/reflect.js +0 -79
- package/dist/cjs/private/reify-wkt.d.ts +0 -102
- package/dist/cjs/private/reify-wkt.js +0 -172
- package/dist/cjs/private/scalars.d.ts +0 -18
- package/dist/cjs/private/scalars.js +0 -105
- package/dist/cjs/private/text-format.d.ts +0 -4
- package/dist/cjs/private/util-common.d.ts +0 -2
- package/dist/cjs/private/util-common.js +0 -237
- package/dist/cjs/private/util.d.ts +0 -38
- package/dist/cjs/private/util.js +0 -15
- package/dist/cjs/proto-base64.d.ts +0 -18
- package/dist/cjs/proto-base64.js +0 -128
- package/dist/cjs/proto-delimited.d.ts +0 -54
- package/dist/cjs/proto-delimited.js +0 -155
- package/dist/cjs/proto-double.d.ts +0 -5
- package/dist/cjs/proto-double.js +0 -29
- package/dist/cjs/proto2.d.ts +0 -4
- package/dist/cjs/proto2.js +0 -53
- package/dist/cjs/proto3.d.ts +0 -4
- package/dist/cjs/proto3.js +0 -56
- package/dist/cjs/scalar.js +0 -81
- package/dist/cjs/service-type.d.ts +0 -96
- package/dist/cjs/service-type.js +0 -53
- package/dist/cjs/to-plain-message.d.ts +0 -12
- package/dist/cjs/to-plain-message.js +0 -72
- package/dist/cjs/type-registry.d.ts +0 -57
- package/dist/cjs/type-registry.js +0 -15
- package/dist/esm/binary-encoding.d.ts +0 -420
- package/dist/esm/binary-format.d.ts +0 -113
- package/dist/esm/codegen-info.d.ts +0 -33
- package/dist/esm/codegen-info.js +0 -67
- package/dist/esm/create-descriptor-set.d.ts +0 -36
- package/dist/esm/create-descriptor-set.js +0 -906
- package/dist/esm/create-registry-from-desc.d.ts +0 -15
- package/dist/esm/create-registry-from-desc.js +0 -261
- package/dist/esm/create-registry.d.ts +0 -9
- package/dist/esm/create-registry.js +0 -90
- package/dist/esm/descriptor-set.js +0 -14
- package/dist/esm/enum.d.ts +0 -35
- package/dist/esm/extension-accessor.d.ts +0 -35
- package/dist/esm/extension-accessor.js +0 -107
- package/dist/esm/extension.d.ts +0 -24
- package/dist/esm/field-list.d.ts +0 -27
- package/dist/esm/field.d.ts +0 -314
- package/dist/esm/field.js +0 -14
- package/dist/esm/google/protobuf/any_pb.js +0 -269
- package/dist/esm/google/protobuf/api_pb.js +0 -310
- package/dist/esm/google/protobuf/compiler/plugin_pb.js +0 -212
- package/dist/esm/google/protobuf/descriptor_pb.js +0 -1999
- package/dist/esm/google/protobuf/duration_pb.js +0 -165
- package/dist/esm/google/protobuf/empty_pb.d.ts +0 -28
- package/dist/esm/google/protobuf/empty_pb.js +0 -48
- package/dist/esm/google/protobuf/field_mask_pb.js +0 -307
- package/dist/esm/google/protobuf/source_context_pb.d.ts +0 -29
- package/dist/esm/google/protobuf/source_context_pb.js +0 -51
- package/dist/esm/google/protobuf/struct_pb.js +0 -234
- package/dist/esm/google/protobuf/timestamp_pb.js +0 -209
- package/dist/esm/google/protobuf/type_pb.js +0 -554
- package/dist/esm/google/protobuf/wrappers_pb.d.ts +0 -267
- package/dist/esm/google/protobuf/wrappers_pb.js +0 -557
- package/dist/esm/json-format.d.ts +0 -111
- package/dist/esm/json-format.js +0 -14
- package/dist/esm/message-type.d.ts +0 -51
- package/dist/esm/message-type.js +0 -14
- package/dist/esm/message.d.ts +0 -131
- package/dist/esm/message.js +0 -125
- package/dist/esm/private/binary-format.d.ts +0 -7
- package/dist/esm/private/binary-format.js +0 -426
- package/dist/esm/private/enum.d.ts +0 -27
- package/dist/esm/private/enum.js +0 -87
- package/dist/esm/private/extensions.d.ts +0 -34
- package/dist/esm/private/extensions.js +0 -81
- package/dist/esm/private/feature-set.d.ts +0 -19
- package/dist/esm/private/feature-set.js +0 -102
- package/dist/esm/private/field-list.d.ts +0 -18
- package/dist/esm/private/field-list.js +0 -72
- package/dist/esm/private/field-normalize.d.ts +0 -9
- package/dist/esm/private/field-normalize.js +0 -65
- package/dist/esm/private/field-wrapper.d.ts +0 -25
- package/dist/esm/private/field-wrapper.js +0 -53
- package/dist/esm/private/field.d.ts +0 -16
- package/dist/esm/private/field.js +0 -41
- package/dist/esm/private/json-format.d.ts +0 -2
- package/dist/esm/private/json-format.js +0 -623
- package/dist/esm/private/message-type.d.ts +0 -18
- package/dist/esm/private/message-type.js +0 -46
- package/dist/esm/private/names.d.ts +0 -43
- package/dist/esm/private/names.js +0 -269
- package/dist/esm/private/options-map.d.ts +0 -7
- package/dist/esm/private/options-map.js +0 -14
- package/dist/esm/private/proto-runtime.d.ts +0 -53
- package/dist/esm/private/proto-runtime.js +0 -37
- package/dist/esm/private/reflect.d.ts +0 -9
- package/dist/esm/private/reflect.js +0 -74
- package/dist/esm/private/reify-wkt.d.ts +0 -102
- package/dist/esm/private/reify-wkt.js +0 -168
- package/dist/esm/private/scalars.d.ts +0 -18
- package/dist/esm/private/scalars.js +0 -99
- package/dist/esm/private/text-format.d.ts +0 -4
- package/dist/esm/private/util-common.d.ts +0 -2
- package/dist/esm/private/util-common.js +0 -234
- package/dist/esm/private/util.d.ts +0 -38
- package/dist/esm/private/util.js +0 -14
- package/dist/esm/proto-base64.d.ts +0 -18
- package/dist/esm/proto-base64.js +0 -125
- package/dist/esm/proto-delimited.d.ts +0 -54
- package/dist/esm/proto-delimited.js +0 -152
- package/dist/esm/proto-double.d.ts +0 -5
- package/dist/esm/proto-double.js +0 -26
- package/dist/esm/proto2.d.ts +0 -4
- package/dist/esm/proto2.js +0 -50
- package/dist/esm/proto3.d.ts +0 -4
- package/dist/esm/proto3.js +0 -53
- package/dist/esm/scalar.js +0 -78
- package/dist/esm/service-type.d.ts +0 -96
- package/dist/esm/service-type.js +0 -50
- package/dist/esm/to-plain-message.d.ts +0 -12
- package/dist/esm/to-plain-message.js +0 -70
- package/dist/esm/type-registry.d.ts +0 -57
- package/dist/esm/type-registry.js +0 -14
- /package/dist/cjs/{binary-format.js → desc-types.js} +0 -0
- /package/dist/cjs/{descriptor-set.js → json-value.js} +0 -0
- /package/dist/cjs/{private → reflect}/assert.d.ts +0 -0
- /package/dist/cjs/{private → reflect}/assert.js +0 -0
- /package/dist/cjs/{enum.js → types.js} +0 -0
- /package/dist/esm/{binary-format.js → desc-types.js} +0 -0
- /package/dist/esm/{enum.js → json-value.js} +0 -0
- /package/dist/esm/{private → reflect}/assert.d.ts +0 -0
- /package/dist/esm/{private → reflect}/assert.js +0 -0
- /package/dist/esm/{extension.js → types.js} +0 -0
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright 2021-2024 Buf Technologies, Inc.
|
|
3
|
+
//
|
|
4
|
+
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
// you may not use this file except in compliance with the License.
|
|
6
|
+
// You may obtain a copy of the License at
|
|
7
|
+
//
|
|
8
|
+
// http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
//
|
|
10
|
+
// Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
// See the License for the specific language governing permissions and
|
|
14
|
+
// limitations under the License.
|
|
15
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
+
exports.equals = void 0;
|
|
17
|
+
const scalar_js_1 = require("./reflect/scalar.js");
|
|
18
|
+
const reflect_js_1 = require("./reflect/reflect.js");
|
|
19
|
+
/**
|
|
20
|
+
* Compare two messages of the same type.
|
|
21
|
+
*
|
|
22
|
+
* Note that this function disregards extensions and unknown fields, and that
|
|
23
|
+
* NaN is not equal NaN, following the IEEE standard.
|
|
24
|
+
*/
|
|
25
|
+
function equals(messageDesc, a, b) {
|
|
26
|
+
if (a.$typeName != messageDesc.typeName ||
|
|
27
|
+
b.$typeName != messageDesc.typeName) {
|
|
28
|
+
return false;
|
|
29
|
+
}
|
|
30
|
+
if (a === b) {
|
|
31
|
+
return true;
|
|
32
|
+
}
|
|
33
|
+
return reflectEquals((0, reflect_js_1.reflect)(messageDesc, a), (0, reflect_js_1.reflect)(messageDesc, b));
|
|
34
|
+
}
|
|
35
|
+
exports.equals = equals;
|
|
36
|
+
function reflectEquals(a, b) {
|
|
37
|
+
for (const f of a.fields) {
|
|
38
|
+
if (!fieldEquals(f, a, b)) {
|
|
39
|
+
return false;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
return true;
|
|
43
|
+
}
|
|
44
|
+
function fieldEquals(f, a, b) {
|
|
45
|
+
if (!a.isSet(f) && !b.isSet(f)) {
|
|
46
|
+
return true;
|
|
47
|
+
}
|
|
48
|
+
if (!a.isSet(f) || !b.isSet(f)) {
|
|
49
|
+
return false;
|
|
50
|
+
}
|
|
51
|
+
switch (f.fieldKind) {
|
|
52
|
+
case "scalar":
|
|
53
|
+
return (0, scalar_js_1.scalarEquals)(f.scalar, a.get(f), b.get(f));
|
|
54
|
+
case "enum":
|
|
55
|
+
return a.get(f) === b.get(f);
|
|
56
|
+
case "message":
|
|
57
|
+
return reflectEquals(a.get(f), b.get(f));
|
|
58
|
+
case "map": {
|
|
59
|
+
const ma = a.get(f);
|
|
60
|
+
const mb = b.get(f);
|
|
61
|
+
const keysA = [];
|
|
62
|
+
for (const k of ma.keys()) {
|
|
63
|
+
if (!mb.has(k)) {
|
|
64
|
+
return false;
|
|
65
|
+
}
|
|
66
|
+
keysA.push(k);
|
|
67
|
+
}
|
|
68
|
+
for (const k of mb.keys()) {
|
|
69
|
+
if (!ma.has(k)) {
|
|
70
|
+
return false;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
for (const key of keysA) {
|
|
74
|
+
const va = ma.get(key);
|
|
75
|
+
const vb = mb.get(key);
|
|
76
|
+
if (va === vb) {
|
|
77
|
+
continue;
|
|
78
|
+
}
|
|
79
|
+
switch (f.mapKind) {
|
|
80
|
+
case "enum":
|
|
81
|
+
return false;
|
|
82
|
+
case "message":
|
|
83
|
+
// TODO fix type error
|
|
84
|
+
// @ts-expect-error TODO
|
|
85
|
+
if (!reflectEquals(va, vb)) {
|
|
86
|
+
return false;
|
|
87
|
+
}
|
|
88
|
+
break;
|
|
89
|
+
case "scalar":
|
|
90
|
+
// TODO fix type error
|
|
91
|
+
// @ts-expect-error TODO
|
|
92
|
+
if (!(0, scalar_js_1.scalarEquals)(f.scalar, va, vb)) {
|
|
93
|
+
return false;
|
|
94
|
+
}
|
|
95
|
+
break;
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
break;
|
|
99
|
+
}
|
|
100
|
+
case "list": {
|
|
101
|
+
const la = a.get(f);
|
|
102
|
+
const lb = b.get(f);
|
|
103
|
+
if (la.size != lb.size) {
|
|
104
|
+
return false;
|
|
105
|
+
}
|
|
106
|
+
for (let i = 0; i < la.size; i++) {
|
|
107
|
+
if (la.get(i) === lb.get(i)) {
|
|
108
|
+
continue;
|
|
109
|
+
}
|
|
110
|
+
switch (f.listKind) {
|
|
111
|
+
case "enum":
|
|
112
|
+
return false;
|
|
113
|
+
case "message":
|
|
114
|
+
// TODO fix type error
|
|
115
|
+
// @ts-expect-error TODO
|
|
116
|
+
if (!reflectEquals(la.get(i), lb.get(i))) {
|
|
117
|
+
return false;
|
|
118
|
+
}
|
|
119
|
+
break;
|
|
120
|
+
case "scalar":
|
|
121
|
+
// TODO fix type error
|
|
122
|
+
// @ts-expect-error TODO
|
|
123
|
+
if (!(0, scalar_js_1.scalarEquals)(f.scalar, la.get(i), lb.get(i))) {
|
|
124
|
+
return false;
|
|
125
|
+
}
|
|
126
|
+
break;
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
break;
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
return true;
|
|
133
|
+
}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import type { AnyDesc, DescEnum, DescEnumValue, DescExtension, DescField, DescFile, DescMessage, DescMethod, DescOneof, DescService } from "./desc-types.js";
|
|
2
|
+
import type { ReflectMessage } from "./reflect/reflect-types.js";
|
|
3
|
+
import type { Extendee, ExtensionValueShape } from "./types.js";
|
|
4
|
+
import type { EnumOptions, EnumValueOptions, FieldOptions, FileOptions, MessageOptions, MethodOptions, OneofOptions, ServiceOptions } from "./wkt/gen/google/protobuf/descriptor_pb.js";
|
|
5
|
+
/**
|
|
6
|
+
* Retrieve an extension value from a message.
|
|
7
|
+
*
|
|
8
|
+
* The function never returns undefined. Use hasExtension() to check whether an
|
|
9
|
+
* extension is set. If the extension is not set, this function returns the
|
|
10
|
+
* default value (if one was specified in the protobuf source), or the zero value
|
|
11
|
+
* (for example `0` for numeric types, `[]` for repeated extension fields, and
|
|
12
|
+
* an empty message instance for message fields).
|
|
13
|
+
*
|
|
14
|
+
* Extensions are stored as unknown fields on a message. To mutate an extension
|
|
15
|
+
* value, make sure to store the new value with setExtension() after mutating.
|
|
16
|
+
*
|
|
17
|
+
* If the extension does not extend the given message, an error is raised.
|
|
18
|
+
*/
|
|
19
|
+
export declare function getExtension<Desc extends DescExtension>(message: Extendee<Desc>, extension: Desc): ExtensionValueShape<Desc>;
|
|
20
|
+
/**
|
|
21
|
+
* Set an extension value on a message. If the message already has a value for
|
|
22
|
+
* this extension, the value is replaced.
|
|
23
|
+
*
|
|
24
|
+
* If the extension does not extend the given message, an error is raised.
|
|
25
|
+
*/
|
|
26
|
+
export declare function setExtension<Desc extends DescExtension>(message: Extendee<Desc>, extension: Desc, value: ExtensionValueShape<Desc>): void;
|
|
27
|
+
/**
|
|
28
|
+
* Remove an extension value from a message.
|
|
29
|
+
*
|
|
30
|
+
* If the extension does not extend the given message, an error is raised.
|
|
31
|
+
*/
|
|
32
|
+
export declare function clearExtension<Desc extends DescExtension>(message: Extendee<Desc>, extension: Desc): void;
|
|
33
|
+
/**
|
|
34
|
+
* Check whether an extension is set on a message.
|
|
35
|
+
*/
|
|
36
|
+
export declare function hasExtension<Desc extends DescExtension>(message: Extendee<Desc>, extension: Desc): boolean;
|
|
37
|
+
/**
|
|
38
|
+
* Check whether an option is set on a descriptor.
|
|
39
|
+
*
|
|
40
|
+
* Options are extensions to the `google.protobuf.*Options` messages defined in
|
|
41
|
+
* google/protobuf/descriptor.proto. This function gets the option message from
|
|
42
|
+
* the descriptor, and calls hasExtension().
|
|
43
|
+
*/
|
|
44
|
+
export declare function hasOption<Ext extends DescExtension, Desc extends DescForOptionExtension<Ext>>(element: Desc, option: Ext): boolean;
|
|
45
|
+
/**
|
|
46
|
+
* Retrieve an option value from a descriptor.
|
|
47
|
+
*
|
|
48
|
+
* Options are extensions to the `google.protobuf.*Options` messages defined in
|
|
49
|
+
* google/protobuf/descriptor.proto. This function gets the option message from
|
|
50
|
+
* the descriptor, and calls getExtension(). Same as getExtension(), this
|
|
51
|
+
* function never returns undefined.
|
|
52
|
+
*/
|
|
53
|
+
export declare function getOption<Ext extends DescExtension, Desc extends DescForOptionExtension<Ext>>(element: Desc, option: Ext): ExtensionValueShape<Ext>;
|
|
54
|
+
type DescForOptionExtension<Ext extends DescExtension> = Extendee<Ext> extends FileOptions ? DescFile : Extendee<Ext> extends EnumOptions ? DescEnum : Extendee<Ext> extends EnumValueOptions ? DescEnumValue : Extendee<Ext> extends MessageOptions ? DescMessage : Extendee<Ext> extends MessageOptions ? DescEnum : Extendee<Ext> extends FieldOptions ? DescField | DescExtension : Extendee<Ext> extends OneofOptions ? DescOneof : Extendee<Ext> extends ServiceOptions ? DescService : Extendee<Ext> extends EnumOptions ? DescEnum : Extendee<Ext> extends MethodOptions ? DescMethod : AnyDesc;
|
|
55
|
+
/**
|
|
56
|
+
* @private
|
|
57
|
+
*/
|
|
58
|
+
export declare function createExtensionContainer<Desc extends DescExtension>(extension: Desc, value?: ExtensionValueShape<Desc>): [ReflectMessage, DescField, () => ExtensionValueShape<Desc>];
|
|
59
|
+
export {};
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright 2021-2024 Buf Technologies, Inc.
|
|
3
|
+
//
|
|
4
|
+
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
// you may not use this file except in compliance with the License.
|
|
6
|
+
// You may obtain a copy of the License at
|
|
7
|
+
//
|
|
8
|
+
// http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
//
|
|
10
|
+
// Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
// See the License for the specific language governing permissions and
|
|
14
|
+
// limitations under the License.
|
|
15
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
+
exports.createExtensionContainer = exports.getOption = exports.hasOption = exports.hasExtension = exports.clearExtension = exports.setExtension = exports.getExtension = void 0;
|
|
17
|
+
const assert_js_1 = require("./reflect/assert.js");
|
|
18
|
+
const create_js_1 = require("./create.js");
|
|
19
|
+
const from_binary_js_1 = require("./from-binary.js");
|
|
20
|
+
const reflect_js_1 = require("./reflect/reflect.js");
|
|
21
|
+
const scalar_js_1 = require("./reflect/scalar.js");
|
|
22
|
+
const to_binary_js_1 = require("./to-binary.js");
|
|
23
|
+
const binary_encoding_js_1 = require("./wire/binary-encoding.js");
|
|
24
|
+
const wrappers_js_1 = require("./wkt/wrappers.js");
|
|
25
|
+
/**
|
|
26
|
+
* Retrieve an extension value from a message.
|
|
27
|
+
*
|
|
28
|
+
* The function never returns undefined. Use hasExtension() to check whether an
|
|
29
|
+
* extension is set. If the extension is not set, this function returns the
|
|
30
|
+
* default value (if one was specified in the protobuf source), or the zero value
|
|
31
|
+
* (for example `0` for numeric types, `[]` for repeated extension fields, and
|
|
32
|
+
* an empty message instance for message fields).
|
|
33
|
+
*
|
|
34
|
+
* Extensions are stored as unknown fields on a message. To mutate an extension
|
|
35
|
+
* value, make sure to store the new value with setExtension() after mutating.
|
|
36
|
+
*
|
|
37
|
+
* If the extension does not extend the given message, an error is raised.
|
|
38
|
+
*/
|
|
39
|
+
function getExtension(message, extension) {
|
|
40
|
+
assertExtendee(extension, message);
|
|
41
|
+
const ufs = filterUnknownFields(message.$unknown, extension);
|
|
42
|
+
const [container, field, get] = createExtensionContainer(extension);
|
|
43
|
+
for (const uf of ufs) {
|
|
44
|
+
(0, from_binary_js_1.readField)(container, new binary_encoding_js_1.BinaryReader(uf.data), field, uf.wireType, {
|
|
45
|
+
readUnknownFields: false,
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
return get();
|
|
49
|
+
}
|
|
50
|
+
exports.getExtension = getExtension;
|
|
51
|
+
/**
|
|
52
|
+
* Set an extension value on a message. If the message already has a value for
|
|
53
|
+
* this extension, the value is replaced.
|
|
54
|
+
*
|
|
55
|
+
* If the extension does not extend the given message, an error is raised.
|
|
56
|
+
*/
|
|
57
|
+
function setExtension(message, extension, value) {
|
|
58
|
+
var _a;
|
|
59
|
+
assertExtendee(extension, message);
|
|
60
|
+
const ufs = ((_a = message.$unknown) !== null && _a !== void 0 ? _a : []).filter((uf) => uf.no !== extension.number);
|
|
61
|
+
const [container, field] = createExtensionContainer(extension, value);
|
|
62
|
+
const writer = new binary_encoding_js_1.BinaryWriter();
|
|
63
|
+
(0, to_binary_js_1.writeField)(writer, { writeUnknownFields: false }, container, field);
|
|
64
|
+
const reader = new binary_encoding_js_1.BinaryReader(writer.finish());
|
|
65
|
+
while (reader.pos < reader.len) {
|
|
66
|
+
const [no, wireType] = reader.tag();
|
|
67
|
+
const data = reader.skip(wireType, no);
|
|
68
|
+
ufs.push({ no, wireType, data });
|
|
69
|
+
}
|
|
70
|
+
message.$unknown = ufs;
|
|
71
|
+
}
|
|
72
|
+
exports.setExtension = setExtension;
|
|
73
|
+
/**
|
|
74
|
+
* Remove an extension value from a message.
|
|
75
|
+
*
|
|
76
|
+
* If the extension does not extend the given message, an error is raised.
|
|
77
|
+
*/
|
|
78
|
+
function clearExtension(message, extension) {
|
|
79
|
+
assertExtendee(extension, message);
|
|
80
|
+
if (message.$unknown === undefined) {
|
|
81
|
+
return;
|
|
82
|
+
}
|
|
83
|
+
message.$unknown = message.$unknown.filter((uf) => uf.no !== extension.number);
|
|
84
|
+
}
|
|
85
|
+
exports.clearExtension = clearExtension;
|
|
86
|
+
/**
|
|
87
|
+
* Check whether an extension is set on a message.
|
|
88
|
+
*/
|
|
89
|
+
function hasExtension(message, extension) {
|
|
90
|
+
var _a;
|
|
91
|
+
return (extension.extendee.typeName === message.$typeName &&
|
|
92
|
+
!!((_a = message.$unknown) === null || _a === void 0 ? void 0 : _a.find((uf) => uf.no === extension.number)));
|
|
93
|
+
}
|
|
94
|
+
exports.hasExtension = hasExtension;
|
|
95
|
+
/**
|
|
96
|
+
* Check whether an option is set on a descriptor.
|
|
97
|
+
*
|
|
98
|
+
* Options are extensions to the `google.protobuf.*Options` messages defined in
|
|
99
|
+
* google/protobuf/descriptor.proto. This function gets the option message from
|
|
100
|
+
* the descriptor, and calls hasExtension().
|
|
101
|
+
*/
|
|
102
|
+
function hasOption(element, option) {
|
|
103
|
+
const message = element.proto.options;
|
|
104
|
+
if (!message) {
|
|
105
|
+
return false;
|
|
106
|
+
}
|
|
107
|
+
return hasExtension(message, option);
|
|
108
|
+
}
|
|
109
|
+
exports.hasOption = hasOption;
|
|
110
|
+
/**
|
|
111
|
+
* Retrieve an option value from a descriptor.
|
|
112
|
+
*
|
|
113
|
+
* Options are extensions to the `google.protobuf.*Options` messages defined in
|
|
114
|
+
* google/protobuf/descriptor.proto. This function gets the option message from
|
|
115
|
+
* the descriptor, and calls getExtension(). Same as getExtension(), this
|
|
116
|
+
* function never returns undefined.
|
|
117
|
+
*/
|
|
118
|
+
function getOption(element, option) {
|
|
119
|
+
const message = element.proto.options;
|
|
120
|
+
if (!message) {
|
|
121
|
+
const [, , get] = createExtensionContainer(option);
|
|
122
|
+
return get();
|
|
123
|
+
}
|
|
124
|
+
return getExtension(message, option);
|
|
125
|
+
}
|
|
126
|
+
exports.getOption = getOption;
|
|
127
|
+
function filterUnknownFields(unknownFields, extension) {
|
|
128
|
+
if (unknownFields === undefined)
|
|
129
|
+
return [];
|
|
130
|
+
if (extension.fieldKind === "enum" || extension.fieldKind === "scalar") {
|
|
131
|
+
// singular scalar fields do not merge, we pick the last
|
|
132
|
+
for (let i = unknownFields.length - 1; i >= 0; --i) {
|
|
133
|
+
if (unknownFields[i].no == extension.number) {
|
|
134
|
+
return [unknownFields[i]];
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
return [];
|
|
138
|
+
}
|
|
139
|
+
return unknownFields.filter((uf) => uf.no === extension.number);
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* @private
|
|
143
|
+
*/
|
|
144
|
+
function createExtensionContainer(extension, value) {
|
|
145
|
+
const localName = extension.typeName;
|
|
146
|
+
const field = Object.assign(Object.assign({}, extension), { kind: "field", parent: extension.extendee, localName });
|
|
147
|
+
const desc = Object.assign(Object.assign({}, extension.extendee), { fields: [field], members: [field], oneofs: [] });
|
|
148
|
+
const container = (0, create_js_1.create)(desc, value !== undefined ? { [localName]: value } : undefined);
|
|
149
|
+
return [
|
|
150
|
+
(0, reflect_js_1.reflect)(desc, container),
|
|
151
|
+
field,
|
|
152
|
+
() => {
|
|
153
|
+
const value = container[localName];
|
|
154
|
+
if (value === undefined) {
|
|
155
|
+
// Only message fields are undefined, rest will have a zero value.
|
|
156
|
+
const desc = extension.message;
|
|
157
|
+
if ((0, wrappers_js_1.isWrapperDesc)(desc)) {
|
|
158
|
+
return (0, scalar_js_1.scalarZeroValue)(desc.fields[0].scalar, desc.fields[0].longType);
|
|
159
|
+
}
|
|
160
|
+
return (0, create_js_1.create)(desc);
|
|
161
|
+
}
|
|
162
|
+
return value;
|
|
163
|
+
},
|
|
164
|
+
];
|
|
165
|
+
}
|
|
166
|
+
exports.createExtensionContainer = createExtensionContainer;
|
|
167
|
+
function assertExtendee(extension, message) {
|
|
168
|
+
(0, assert_js_1.assert)(extension.extendee.typeName == message.$typeName, `extension ${extension.typeName} can only be applied to message ${extension.extendee.typeName}`);
|
|
169
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { MessageShape } from "./types.js";
|
|
2
|
+
import type { DescField, DescMessage } from "./desc-types.js";
|
|
3
|
+
/**
|
|
4
|
+
* Returns true if the field is set.
|
|
5
|
+
*
|
|
6
|
+
* - Scalar and enum fields with implicit presence (proto3):
|
|
7
|
+
* Set if not a zero value.
|
|
8
|
+
*
|
|
9
|
+
* - Scalar and enum fields with explicit presence (proto2, oneof):
|
|
10
|
+
* Set if a value was set when creating or parsing the message, or when a
|
|
11
|
+
* value was assigned to the field's property.
|
|
12
|
+
*
|
|
13
|
+
* - Message fields:
|
|
14
|
+
* Set if the property is not undefined.
|
|
15
|
+
*
|
|
16
|
+
* - List and map fields:
|
|
17
|
+
* Set if not empty.
|
|
18
|
+
*/
|
|
19
|
+
export declare function isFieldSet<Desc extends DescMessage>(message: MessageShape<Desc>, field: DescField): boolean;
|
|
20
|
+
/**
|
|
21
|
+
* Resets the field, so that isFieldSet() will return false.
|
|
22
|
+
*/
|
|
23
|
+
export declare function clearField<Desc extends DescMessage>(message: MessageShape<Desc>, field: DescField): void;
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright 2021-2024 Buf Technologies, Inc.
|
|
3
|
+
//
|
|
4
|
+
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
// you may not use this file except in compliance with the License.
|
|
6
|
+
// You may obtain a copy of the License at
|
|
7
|
+
//
|
|
8
|
+
// http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
//
|
|
10
|
+
// Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
// See the License for the specific language governing permissions and
|
|
14
|
+
// limitations under the License.
|
|
15
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
+
exports.clearField = exports.isFieldSet = void 0;
|
|
17
|
+
const unsafe_js_1 = require("./reflect/unsafe.js");
|
|
18
|
+
/**
|
|
19
|
+
* Returns true if the field is set.
|
|
20
|
+
*
|
|
21
|
+
* - Scalar and enum fields with implicit presence (proto3):
|
|
22
|
+
* Set if not a zero value.
|
|
23
|
+
*
|
|
24
|
+
* - Scalar and enum fields with explicit presence (proto2, oneof):
|
|
25
|
+
* Set if a value was set when creating or parsing the message, or when a
|
|
26
|
+
* value was assigned to the field's property.
|
|
27
|
+
*
|
|
28
|
+
* - Message fields:
|
|
29
|
+
* Set if the property is not undefined.
|
|
30
|
+
*
|
|
31
|
+
* - List and map fields:
|
|
32
|
+
* Set if not empty.
|
|
33
|
+
*/
|
|
34
|
+
function isFieldSet(message, field) {
|
|
35
|
+
return (field.parent.typeName == message.$typeName && (0, unsafe_js_1.unsafeIsSet)(message, field));
|
|
36
|
+
}
|
|
37
|
+
exports.isFieldSet = isFieldSet;
|
|
38
|
+
/**
|
|
39
|
+
* Resets the field, so that isFieldSet() will return false.
|
|
40
|
+
*/
|
|
41
|
+
function clearField(message, field) {
|
|
42
|
+
if (field.parent.typeName == message.$typeName) {
|
|
43
|
+
(0, unsafe_js_1.unsafeClear)(message, field);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
exports.clearField = clearField;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type { DescField, DescMessage } from "./desc-types.js";
|
|
2
|
+
import type { MessageShape } from "./types.js";
|
|
3
|
+
import type { ReflectMessage } from "./reflect/index.js";
|
|
4
|
+
import { BinaryReader, WireType } from "./wire/binary-encoding.js";
|
|
5
|
+
/**
|
|
6
|
+
* Options for parsing binary data.
|
|
7
|
+
*/
|
|
8
|
+
export interface BinaryReadOptions {
|
|
9
|
+
/**
|
|
10
|
+
* Retain unknown fields during parsing? The default behavior is to retain
|
|
11
|
+
* unknown fields and include them in the serialized output.
|
|
12
|
+
*
|
|
13
|
+
* For more details see https://developers.google.com/protocol-buffers/docs/proto3#unknowns
|
|
14
|
+
*/
|
|
15
|
+
readUnknownFields: boolean;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Parse serialized binary data.
|
|
19
|
+
*/
|
|
20
|
+
export declare function fromBinary<Desc extends DescMessage>(messageDesc: Desc, bytes: Uint8Array, options?: Partial<BinaryReadOptions>): MessageShape<Desc>;
|
|
21
|
+
/**
|
|
22
|
+
* Parse from binary data, merging fields.
|
|
23
|
+
*
|
|
24
|
+
* Repeated fields are appended. Map entries are added, overwriting
|
|
25
|
+
* existing keys.
|
|
26
|
+
*
|
|
27
|
+
* If a message field is already present, it will be merged with the
|
|
28
|
+
* new data.
|
|
29
|
+
*/
|
|
30
|
+
export declare function mergeFromBinary<Desc extends DescMessage>(messageDesc: Desc, target: MessageShape<Desc>, bytes: Uint8Array, options?: Partial<BinaryReadOptions>): MessageShape<Desc>;
|
|
31
|
+
/**
|
|
32
|
+
* @private
|
|
33
|
+
*/
|
|
34
|
+
export declare function readField(message: ReflectMessage, reader: BinaryReader, field: DescField, wireType: WireType, options: BinaryReadOptions): void;
|
|
@@ -0,0 +1,211 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright 2021-2024 Buf Technologies, Inc.
|
|
3
|
+
//
|
|
4
|
+
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
// you may not use this file except in compliance with the License.
|
|
6
|
+
// You may obtain a copy of the License at
|
|
7
|
+
//
|
|
8
|
+
// http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
//
|
|
10
|
+
// Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
// See the License for the specific language governing permissions and
|
|
14
|
+
// limitations under the License.
|
|
15
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
+
exports.readField = exports.mergeFromBinary = exports.fromBinary = void 0;
|
|
17
|
+
const scalar_js_1 = require("./reflect/scalar.js");
|
|
18
|
+
const reflect_js_1 = require("./reflect/reflect.js");
|
|
19
|
+
const binary_encoding_js_1 = require("./wire/binary-encoding.js");
|
|
20
|
+
// Default options for parsing binary data.
|
|
21
|
+
const readDefaults = {
|
|
22
|
+
readUnknownFields: true,
|
|
23
|
+
};
|
|
24
|
+
function makeReadOptions(options) {
|
|
25
|
+
return options ? Object.assign(Object.assign({}, readDefaults), options) : readDefaults;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Parse serialized binary data.
|
|
29
|
+
*/
|
|
30
|
+
function fromBinary(messageDesc, bytes, options) {
|
|
31
|
+
const msg = (0, reflect_js_1.reflect)(messageDesc);
|
|
32
|
+
readMessage(msg, new binary_encoding_js_1.BinaryReader(bytes), makeReadOptions(options), false, bytes.byteLength);
|
|
33
|
+
return msg.message;
|
|
34
|
+
}
|
|
35
|
+
exports.fromBinary = fromBinary;
|
|
36
|
+
/**
|
|
37
|
+
* Parse from binary data, merging fields.
|
|
38
|
+
*
|
|
39
|
+
* Repeated fields are appended. Map entries are added, overwriting
|
|
40
|
+
* existing keys.
|
|
41
|
+
*
|
|
42
|
+
* If a message field is already present, it will be merged with the
|
|
43
|
+
* new data.
|
|
44
|
+
*/
|
|
45
|
+
function mergeFromBinary(messageDesc, target, bytes, options) {
|
|
46
|
+
readMessage((0, reflect_js_1.reflect)(messageDesc, target), new binary_encoding_js_1.BinaryReader(bytes), makeReadOptions(options), false, bytes.byteLength);
|
|
47
|
+
return target;
|
|
48
|
+
}
|
|
49
|
+
exports.mergeFromBinary = mergeFromBinary;
|
|
50
|
+
/**
|
|
51
|
+
* If `delimited` is false, read the length given in `lengthOrDelimitedFieldNo`.
|
|
52
|
+
*
|
|
53
|
+
* If `delimited` is true, read until an EndGroup tag. `lengthOrDelimitedFieldNo`
|
|
54
|
+
* is the expected field number.
|
|
55
|
+
*
|
|
56
|
+
* @private
|
|
57
|
+
*/
|
|
58
|
+
function readMessage(message, reader, options, delimited, lengthOrDelimitedFieldNo) {
|
|
59
|
+
var _a;
|
|
60
|
+
const end = delimited ? reader.len : reader.pos + lengthOrDelimitedFieldNo;
|
|
61
|
+
let fieldNo, wireType;
|
|
62
|
+
const unknownFields = (_a = message.getUnknown()) !== null && _a !== void 0 ? _a : [];
|
|
63
|
+
while (reader.pos < end) {
|
|
64
|
+
[fieldNo, wireType] = reader.tag();
|
|
65
|
+
if (delimited && wireType == binary_encoding_js_1.WireType.EndGroup) {
|
|
66
|
+
break;
|
|
67
|
+
}
|
|
68
|
+
const field = message.findNumber(fieldNo);
|
|
69
|
+
if (!field) {
|
|
70
|
+
const data = reader.skip(wireType, fieldNo);
|
|
71
|
+
if (options.readUnknownFields) {
|
|
72
|
+
unknownFields.push({ no: fieldNo, wireType, data });
|
|
73
|
+
}
|
|
74
|
+
continue;
|
|
75
|
+
}
|
|
76
|
+
readField(message, reader, field, wireType, options);
|
|
77
|
+
}
|
|
78
|
+
if (delimited) {
|
|
79
|
+
if (wireType != binary_encoding_js_1.WireType.EndGroup || fieldNo !== lengthOrDelimitedFieldNo) {
|
|
80
|
+
throw new Error(`invalid end group tag`);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
if (unknownFields.length > 0) {
|
|
84
|
+
message.setUnknown(unknownFields);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* @private
|
|
89
|
+
*/
|
|
90
|
+
function readField(message, reader, field, wireType, options) {
|
|
91
|
+
switch (field.fieldKind) {
|
|
92
|
+
case "scalar":
|
|
93
|
+
message.set(field, readScalar(reader, field.scalar));
|
|
94
|
+
break;
|
|
95
|
+
case "enum":
|
|
96
|
+
message.set(field, readScalar(reader, scalar_js_1.ScalarType.INT32));
|
|
97
|
+
break;
|
|
98
|
+
case "message":
|
|
99
|
+
message.set(field, readMessageField(reader, options, field, message.get(field)));
|
|
100
|
+
break;
|
|
101
|
+
case "list":
|
|
102
|
+
readListField(message, reader, options, field, wireType);
|
|
103
|
+
break;
|
|
104
|
+
case "map":
|
|
105
|
+
readMapEntry(message, field, reader, options);
|
|
106
|
+
break;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
exports.readField = readField;
|
|
110
|
+
// Read a map field, expecting key field = 1, value field = 2
|
|
111
|
+
function readMapEntry(message, field, reader, options) {
|
|
112
|
+
let key, val;
|
|
113
|
+
const end = reader.pos + reader.uint32();
|
|
114
|
+
while (reader.pos < end) {
|
|
115
|
+
const [fieldNo] = reader.tag();
|
|
116
|
+
switch (fieldNo) {
|
|
117
|
+
case 1:
|
|
118
|
+
key = readScalar(reader, field.mapKey);
|
|
119
|
+
break;
|
|
120
|
+
case 2:
|
|
121
|
+
switch (field.mapKind) {
|
|
122
|
+
case "scalar":
|
|
123
|
+
val = readScalar(reader, field.scalar);
|
|
124
|
+
break;
|
|
125
|
+
case "enum":
|
|
126
|
+
val = reader.int32();
|
|
127
|
+
break;
|
|
128
|
+
case "message":
|
|
129
|
+
val = readMessageField(reader, options, field);
|
|
130
|
+
break;
|
|
131
|
+
}
|
|
132
|
+
break;
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
if (key === undefined) {
|
|
136
|
+
key = (0, scalar_js_1.scalarZeroValue)(field.mapKey, scalar_js_1.LongType.BIGINT);
|
|
137
|
+
}
|
|
138
|
+
if (val === undefined) {
|
|
139
|
+
switch (field.mapKind) {
|
|
140
|
+
case "scalar":
|
|
141
|
+
val = (0, scalar_js_1.scalarZeroValue)(field.scalar, scalar_js_1.LongType.BIGINT);
|
|
142
|
+
break;
|
|
143
|
+
case "enum":
|
|
144
|
+
val = field.enum.values[0].number;
|
|
145
|
+
break;
|
|
146
|
+
case "message":
|
|
147
|
+
val = (0, reflect_js_1.reflect)(field.message);
|
|
148
|
+
break;
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
message.setMapEntry(field, key, val);
|
|
152
|
+
}
|
|
153
|
+
function readListField(message, reader, options, field, wireType) {
|
|
154
|
+
var _a;
|
|
155
|
+
if (field.listKind === "message") {
|
|
156
|
+
message.addListItem(field, readMessageField(reader, options, field));
|
|
157
|
+
return;
|
|
158
|
+
}
|
|
159
|
+
const scalarType = (_a = field.scalar) !== null && _a !== void 0 ? _a : scalar_js_1.ScalarType.INT32;
|
|
160
|
+
const packed = wireType == binary_encoding_js_1.WireType.LengthDelimited &&
|
|
161
|
+
scalarType != scalar_js_1.ScalarType.STRING &&
|
|
162
|
+
scalarType != scalar_js_1.ScalarType.BYTES;
|
|
163
|
+
if (!packed) {
|
|
164
|
+
message.addListItem(field, readScalar(reader, scalarType));
|
|
165
|
+
return;
|
|
166
|
+
}
|
|
167
|
+
const e = reader.uint32() + reader.pos;
|
|
168
|
+
while (reader.pos < e) {
|
|
169
|
+
message.addListItem(field, readScalar(reader, scalarType));
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
function readMessageField(reader, options, field, mergeMessage) {
|
|
173
|
+
const delimited = field.delimitedEncoding;
|
|
174
|
+
const message = mergeMessage !== null && mergeMessage !== void 0 ? mergeMessage : (0, reflect_js_1.reflect)(field.message);
|
|
175
|
+
readMessage(message, reader, options, delimited, delimited ? field.number : reader.uint32());
|
|
176
|
+
return message;
|
|
177
|
+
}
|
|
178
|
+
function readScalar(reader, type) {
|
|
179
|
+
switch (type) {
|
|
180
|
+
case scalar_js_1.ScalarType.STRING:
|
|
181
|
+
return reader.string();
|
|
182
|
+
case scalar_js_1.ScalarType.BOOL:
|
|
183
|
+
return reader.bool();
|
|
184
|
+
case scalar_js_1.ScalarType.DOUBLE:
|
|
185
|
+
return reader.double();
|
|
186
|
+
case scalar_js_1.ScalarType.FLOAT:
|
|
187
|
+
return reader.float();
|
|
188
|
+
case scalar_js_1.ScalarType.INT32:
|
|
189
|
+
return reader.int32();
|
|
190
|
+
case scalar_js_1.ScalarType.INT64:
|
|
191
|
+
return reader.int64();
|
|
192
|
+
case scalar_js_1.ScalarType.UINT64:
|
|
193
|
+
return reader.uint64();
|
|
194
|
+
case scalar_js_1.ScalarType.FIXED64:
|
|
195
|
+
return reader.fixed64();
|
|
196
|
+
case scalar_js_1.ScalarType.BYTES:
|
|
197
|
+
return reader.bytes();
|
|
198
|
+
case scalar_js_1.ScalarType.FIXED32:
|
|
199
|
+
return reader.fixed32();
|
|
200
|
+
case scalar_js_1.ScalarType.SFIXED32:
|
|
201
|
+
return reader.sfixed32();
|
|
202
|
+
case scalar_js_1.ScalarType.SFIXED64:
|
|
203
|
+
return reader.sfixed64();
|
|
204
|
+
case scalar_js_1.ScalarType.SINT64:
|
|
205
|
+
return reader.sint64();
|
|
206
|
+
case scalar_js_1.ScalarType.UINT32:
|
|
207
|
+
return reader.uint32();
|
|
208
|
+
case scalar_js_1.ScalarType.SINT32:
|
|
209
|
+
return reader.sint32();
|
|
210
|
+
}
|
|
211
|
+
}
|