@bufbuild/protobuf 1.8.0 → 2.0.0-alpha.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/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 +43 -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 +2 -0
- package/dist/cjs/codegenv1/restore-json-names.js +27 -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 +116 -0
- package/dist/cjs/codegenv1/symbols.js +58 -0
- package/dist/cjs/codegenv1/types.d.ts +19 -0
- package/dist/cjs/codegenv1/types.js +21 -0
- package/dist/cjs/create.d.ts +9 -0
- package/dist/cjs/create.js +242 -0
- package/dist/{esm/descriptor-set.d.ts → cjs/desc-types.d.ts} +144 -242
- package/dist/cjs/equals.d.ts +9 -0
- package/dist/cjs/equals.js +133 -0
- package/dist/cjs/{extension-accessor.d.ts → extensions.d.ts} +11 -7
- package/dist/cjs/extensions.js +138 -0
- package/dist/cjs/fields.d.ts +22 -0
- package/dist/cjs/fields.js +39 -0
- package/dist/cjs/from-binary.d.ts +34 -0
- package/dist/cjs/from-binary.js +221 -0
- package/dist/cjs/from-json.d.ts +48 -0
- package/dist/cjs/from-json.js +614 -0
- package/dist/cjs/index.d.ts +16 -42
- package/dist/cjs/index.js +21 -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 +23 -0
- package/dist/cjs/reflect/names.js +112 -0
- package/dist/cjs/reflect/nested-types.d.ts +2 -0
- package/dist/cjs/reflect/nested-types.js +38 -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 +136 -0
- package/dist/cjs/{extension.js → reflect/reflect-types.js} +1 -0
- package/dist/cjs/reflect/reflect.d.ts +23 -0
- package/dist/cjs/reflect/reflect.js +409 -0
- package/dist/cjs/reflect/registry.d.ts +82 -0
- package/dist/cjs/reflect/registry.js +870 -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 +171 -0
- package/dist/cjs/to-binary.d.ts +24 -0
- package/dist/cjs/to-binary.js +194 -0
- package/dist/cjs/to-json.d.ts +50 -0
- package/dist/cjs/to-json.js +384 -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 +242 -0
- package/dist/cjs/{binary-encoding.js → wire/binary-encoding.js} +11 -10
- 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/cjs/{google → wkt/gen/google}/protobuf/any_pb.d.ts +6 -27
- package/dist/cjs/wkt/gen/google/protobuf/any_pb.js +22 -0
- package/dist/cjs/{google → wkt/gen/google}/protobuf/api_pb.d.ts +14 -38
- package/dist/cjs/wkt/gen/google/protobuf/api_pb.js +30 -0
- package/dist/cjs/{google → wkt/gen/google}/protobuf/compiler/plugin_pb.d.ts +47 -77
- package/dist/cjs/wkt/gen/google/protobuf/compiler/plugin_pb.js +55 -0
- package/dist/cjs/{google → wkt/gen/google}/protobuf/descriptor_pb.d.ts +384 -533
- package/dist/cjs/wkt/gen/google/protobuf/descriptor_pb.js +691 -0
- package/dist/{esm → cjs/wkt/gen}/google/protobuf/duration_pb.d.ts +6 -18
- package/dist/cjs/wkt/gen/google/protobuf/duration_pb.js +22 -0
- package/dist/cjs/wkt/gen/google/protobuf/empty_pb.d.ts +17 -0
- package/dist/cjs/wkt/gen/google/protobuf/empty_pb.js +22 -0
- package/dist/{esm → cjs/wkt/gen}/google/protobuf/field_mask_pb.d.ts +6 -18
- package/dist/cjs/{proto-double.js → wkt/gen/google/protobuf/field_mask_pb.js} +7 -14
- package/dist/cjs/wkt/gen/google/protobuf/source_context_pb.d.ts +19 -0
- package/dist/cjs/wkt/gen/google/protobuf/source_context_pb.js +22 -0
- package/dist/{esm → cjs/wkt/gen}/google/protobuf/struct_pb.d.ts +28 -57
- package/dist/cjs/wkt/gen/google/protobuf/struct_pb.js +48 -0
- package/dist/{esm → cjs/wkt/gen}/google/protobuf/timestamp_pb.d.ts +6 -21
- package/dist/cjs/wkt/gen/google/protobuf/timestamp_pb.js +22 -0
- package/dist/{esm → cjs/wkt/gen}/google/protobuf/type_pb.d.ts +47 -82
- package/dist/cjs/wkt/gen/google/protobuf/type_pb.js +223 -0
- package/dist/cjs/wkt/gen/google/protobuf/wrappers_pb.d.ts +147 -0
- package/dist/cjs/wkt/gen/google/protobuf/wrappers_pb.js +46 -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 +38 -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 +2 -0
- package/dist/esm/codegenv1/restore-json-names.js +23 -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 +116 -0
- package/dist/esm/codegenv1/symbols.js +55 -0
- package/dist/esm/codegenv1/types.d.ts +19 -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 +239 -0
- package/dist/{cjs/descriptor-set.d.ts → esm/desc-types.d.ts} +144 -242
- package/dist/esm/equals.d.ts +9 -0
- package/dist/esm/equals.js +129 -0
- package/dist/esm/{extension-accessor.d.ts → extensions.d.ts} +11 -7
- package/dist/esm/extensions.js +130 -0
- package/dist/esm/fields.d.ts +22 -0
- package/dist/esm/fields.js +34 -0
- package/dist/esm/from-binary.d.ts +34 -0
- package/dist/esm/from-binary.js +215 -0
- package/dist/esm/from-json.d.ts +48 -0
- package/dist/esm/from-json.js +607 -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 +23 -0
- package/dist/esm/reflect/names.js +106 -0
- package/dist/esm/reflect/nested-types.d.ts +2 -0
- package/dist/esm/reflect/nested-types.js +34 -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 +136 -0
- package/dist/esm/reflect/reflect-types.js +15 -0
- package/dist/esm/reflect/reflect.d.ts +23 -0
- package/dist/esm/reflect/reflect.js +403 -0
- package/dist/esm/reflect/registry.d.ts +82 -0
- package/dist/esm/reflect/registry.js +865 -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 +160 -0
- package/dist/esm/to-binary.d.ts +24 -0
- package/dist/esm/to-binary.js +189 -0
- package/dist/esm/to-json.d.ts +50 -0
- package/dist/esm/to-json.js +379 -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 +242 -0
- package/dist/esm/{binary-encoding.js → wire/binary-encoding.js} +11 -10
- 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/esm/{google → wkt/gen/google}/protobuf/any_pb.d.ts +6 -27
- package/dist/esm/wkt/gen/google/protobuf/any_pb.js +19 -0
- package/dist/esm/{google → wkt/gen/google}/protobuf/api_pb.d.ts +14 -38
- package/dist/esm/wkt/gen/google/protobuf/api_pb.js +27 -0
- package/dist/esm/{google → wkt/gen/google}/protobuf/compiler/plugin_pb.d.ts +47 -77
- package/dist/esm/wkt/gen/google/protobuf/compiler/plugin_pb.js +52 -0
- package/dist/esm/{google → wkt/gen/google}/protobuf/descriptor_pb.d.ts +384 -533
- package/dist/esm/wkt/gen/google/protobuf/descriptor_pb.js +687 -0
- package/dist/{cjs → esm/wkt/gen}/google/protobuf/duration_pb.d.ts +6 -18
- package/dist/esm/wkt/gen/google/protobuf/duration_pb.js +19 -0
- package/dist/esm/wkt/gen/google/protobuf/empty_pb.d.ts +17 -0
- package/dist/esm/wkt/gen/google/protobuf/empty_pb.js +19 -0
- package/dist/{cjs → esm/wkt/gen}/google/protobuf/field_mask_pb.d.ts +6 -18
- package/dist/esm/wkt/gen/google/protobuf/field_mask_pb.js +19 -0
- package/dist/esm/wkt/gen/google/protobuf/source_context_pb.d.ts +19 -0
- package/dist/esm/wkt/gen/google/protobuf/source_context_pb.js +19 -0
- package/dist/{cjs → esm/wkt/gen}/google/protobuf/struct_pb.d.ts +28 -57
- package/dist/esm/wkt/gen/google/protobuf/struct_pb.js +45 -0
- package/dist/{cjs → esm/wkt/gen}/google/protobuf/timestamp_pb.d.ts +6 -21
- package/dist/esm/wkt/gen/google/protobuf/timestamp_pb.js +19 -0
- package/dist/{cjs → esm/wkt/gen}/google/protobuf/type_pb.d.ts +47 -82
- package/dist/esm/wkt/gen/google/protobuf/type_pb.js +220 -0
- package/dist/esm/wkt/gen/google/protobuf/wrappers_pb.d.ts +147 -0
- package/dist/esm/wkt/gen/google/protobuf/wrappers_pb.js +43 -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 +39 -7
- 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.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 -130
- package/dist/cjs/message.js +0 -128
- 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 -234
- 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/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.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 -130
- package/dist/esm/message.js +0 -124
- 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 -231
- 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
|
@@ -50,4 +50,24 @@ export declare enum LongType {
|
|
|
50
50
|
/**
|
|
51
51
|
* ScalarValue maps from a scalar field type to a TypeScript value type.
|
|
52
52
|
*/
|
|
53
|
-
export type ScalarValue<T = ScalarType, L extends LongType = LongType.STRING | LongType.BIGINT> = T extends ScalarType.STRING ? string : T extends ScalarType.INT32 ? number : T extends ScalarType.UINT32 ? 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 ?
|
|
53
|
+
export type ScalarValue<T = ScalarType, L extends LongType = LongType.STRING | LongType.BIGINT> = T extends ScalarType.STRING ? string : T extends ScalarType.INT32 ? number : T extends ScalarType.UINT32 ? 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 ? L extends LongType.STRING ? string : bigint : T extends ScalarType.SINT64 ? L extends LongType.STRING ? string : bigint : T extends ScalarType.SFIXED64 ? L extends LongType.STRING ? string : bigint : T extends ScalarType.UINT64 ? L extends LongType.STRING ? string : bigint : T extends ScalarType.FIXED64 ? L extends LongType.STRING ? string : bigint : T extends ScalarType.BOOL ? boolean : T extends ScalarType.BYTES ? Uint8Array : never;
|
|
54
|
+
/**
|
|
55
|
+
* Returns true if both scalar values are equal.
|
|
56
|
+
*/
|
|
57
|
+
export declare function scalarEquals(type: ScalarType, a: string | boolean | number | bigint | Uint8Array | undefined, b: string | boolean | number | bigint | Uint8Array | undefined): boolean;
|
|
58
|
+
/**
|
|
59
|
+
* Returns the zero value for the given scalar type.
|
|
60
|
+
*/
|
|
61
|
+
export declare function scalarZeroValue<T extends ScalarType, L extends LongType>(type: T, longType: L): ScalarValue<T, L>;
|
|
62
|
+
/**
|
|
63
|
+
* Returns true for a zero-value. For example, an integer has the zero-value `0`,
|
|
64
|
+
* a boolean is `false`, a string is `""`, and bytes is an empty Uint8Array.
|
|
65
|
+
*
|
|
66
|
+
* In proto3, zero-values are not written to the wire, unless the field is
|
|
67
|
+
* optional or repeated.
|
|
68
|
+
*/
|
|
69
|
+
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";
|
|
@@ -0,0 +1,298 @@
|
|
|
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.scalarTypeScriptType = exports.scalarTypeDescription = exports.checkScalarValue = exports.isScalarZeroValue = exports.scalarZeroValue = exports.scalarEquals = exports.LongType = exports.ScalarType = void 0;
|
|
17
|
+
const proto_int64_js_1 = require("../proto-int64.js");
|
|
18
|
+
const text_encoding_js_1 = require("../wire/text-encoding.js");
|
|
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 = {}));
|
|
84
|
+
/**
|
|
85
|
+
* Returns true if both scalar values are equal.
|
|
86
|
+
*/
|
|
87
|
+
function scalarEquals(type, a, b) {
|
|
88
|
+
if (a === b) {
|
|
89
|
+
// This correctly matches equal values except BYTES and (possibly) 64-bit integers.
|
|
90
|
+
return true;
|
|
91
|
+
}
|
|
92
|
+
// Special case BYTES - we need to compare each byte individually
|
|
93
|
+
if (type == ScalarType.BYTES) {
|
|
94
|
+
if (!(a instanceof Uint8Array) || !(b instanceof Uint8Array)) {
|
|
95
|
+
return false;
|
|
96
|
+
}
|
|
97
|
+
if (a.length !== b.length) {
|
|
98
|
+
return false;
|
|
99
|
+
}
|
|
100
|
+
for (let i = 0; i < a.length; i++) {
|
|
101
|
+
if (a[i] !== b[i]) {
|
|
102
|
+
return false;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
return true;
|
|
106
|
+
}
|
|
107
|
+
// Special case 64-bit integers - we support number, string and bigint representation.
|
|
108
|
+
// eslint-disable-next-line @typescript-eslint/switch-exhaustiveness-check
|
|
109
|
+
switch (type) {
|
|
110
|
+
case ScalarType.UINT64:
|
|
111
|
+
case ScalarType.FIXED64:
|
|
112
|
+
case ScalarType.INT64:
|
|
113
|
+
case ScalarType.SFIXED64:
|
|
114
|
+
case ScalarType.SINT64:
|
|
115
|
+
// Loose comparison will match between 0n, 0 and "0".
|
|
116
|
+
return a == b;
|
|
117
|
+
}
|
|
118
|
+
// Anything that hasn't been caught by strict comparison or special cased
|
|
119
|
+
// BYTES and 64-bit integers is not equal.
|
|
120
|
+
return false;
|
|
121
|
+
}
|
|
122
|
+
exports.scalarEquals = scalarEquals;
|
|
123
|
+
/**
|
|
124
|
+
* Returns the zero value for the given scalar type.
|
|
125
|
+
*/
|
|
126
|
+
function scalarZeroValue(type, longType) {
|
|
127
|
+
switch (type) {
|
|
128
|
+
case ScalarType.BOOL:
|
|
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:
|
|
142
|
+
return "";
|
|
143
|
+
default:
|
|
144
|
+
// Handles INT32, UINT32, SINT32, FIXED32, SFIXED32.
|
|
145
|
+
// We do not use individual cases to save a few bytes code size.
|
|
146
|
+
return 0;
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
exports.scalarZeroValue = scalarZeroValue;
|
|
150
|
+
/**
|
|
151
|
+
* Returns true for a zero-value. For example, an integer has the zero-value `0`,
|
|
152
|
+
* a boolean is `false`, a string is `""`, and bytes is an empty Uint8Array.
|
|
153
|
+
*
|
|
154
|
+
* In proto3, zero-values are not written to the wire, unless the field is
|
|
155
|
+
* optional or repeated.
|
|
156
|
+
*/
|
|
157
|
+
function isScalarZeroValue(type, value) {
|
|
158
|
+
switch (type) {
|
|
159
|
+
case ScalarType.BOOL:
|
|
160
|
+
return value === false;
|
|
161
|
+
case ScalarType.STRING:
|
|
162
|
+
return value === "";
|
|
163
|
+
case ScalarType.BYTES:
|
|
164
|
+
return value instanceof Uint8Array && !value.byteLength;
|
|
165
|
+
default:
|
|
166
|
+
return value == 0; // Loose comparison matches 0n, 0 and "0"
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
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;
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import type { DescField, DescOneof } from "../desc-types.js";
|
|
2
|
+
export declare const unsafeLocal: unique symbol;
|
|
3
|
+
/**
|
|
4
|
+
* Return the selected field of a oneof group.
|
|
5
|
+
*
|
|
6
|
+
* @private
|
|
7
|
+
*/
|
|
8
|
+
export declare function unsafeOneofCase(target: Record<string, any>, // eslint-disable-line @typescript-eslint/no-explicit-any -- `any` is the best choice for dynamic access
|
|
9
|
+
oneof: DescOneof): DescField | undefined;
|
|
10
|
+
/**
|
|
11
|
+
* Returns true if the field is set.
|
|
12
|
+
*
|
|
13
|
+
* @private
|
|
14
|
+
*/
|
|
15
|
+
export declare function unsafeIsSet(target: Record<string, any>, // eslint-disable-line @typescript-eslint/no-explicit-any -- `any` is the best choice for dynamic access
|
|
16
|
+
field: DescField): boolean;
|
|
17
|
+
/**
|
|
18
|
+
* Returns true if the field is set, but only for singular fields with explicit
|
|
19
|
+
* presence (proto2).
|
|
20
|
+
*
|
|
21
|
+
* @private
|
|
22
|
+
*/
|
|
23
|
+
export declare function unsafeIsSetExplicit(target: object, localName: string): boolean;
|
|
24
|
+
/**
|
|
25
|
+
* Return a field value, respecting oneof groups.
|
|
26
|
+
*
|
|
27
|
+
* @private
|
|
28
|
+
*/
|
|
29
|
+
export declare function unsafeGet(target: Record<string, unknown>, field: DescField): unknown;
|
|
30
|
+
/**
|
|
31
|
+
* Set a field value, respecting oneof groups.
|
|
32
|
+
*
|
|
33
|
+
* @private
|
|
34
|
+
*/
|
|
35
|
+
export declare function unsafeSet(target: Record<string, unknown>, field: DescField, value: unknown): void;
|
|
36
|
+
/**
|
|
37
|
+
* Resets the field, so that unsafeIsSet() will return false.
|
|
38
|
+
*
|
|
39
|
+
* @private
|
|
40
|
+
*/
|
|
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
|
+
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;
|
|
@@ -0,0 +1,171 @@
|
|
|
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.unsafeSetMapEntry = exports.unsafeAddListItem = exports.unsafeClear = exports.unsafeSet = exports.unsafeGet = exports.unsafeIsSetExplicit = exports.unsafeIsSet = exports.unsafeOneofCase = exports.unsafeLocal = void 0;
|
|
17
|
+
const names_js_1 = require("./names.js");
|
|
18
|
+
const scalar_js_1 = require("./scalar.js");
|
|
19
|
+
// bootstrap-inject google.protobuf.FeatureSet.FieldPresence.IMPLICIT: const $name: FeatureSet_FieldPresence.$localName = $number;
|
|
20
|
+
const IMPLICIT = 2;
|
|
21
|
+
exports.unsafeLocal = Symbol.for("reflect unsafe local");
|
|
22
|
+
/**
|
|
23
|
+
* Return the selected field of a oneof group.
|
|
24
|
+
*
|
|
25
|
+
* @private
|
|
26
|
+
*/
|
|
27
|
+
function unsafeOneofCase(target, // eslint-disable-line @typescript-eslint/no-explicit-any -- `any` is the best choice for dynamic access
|
|
28
|
+
oneof) {
|
|
29
|
+
const c = target[(0, names_js_1.localName)(oneof)].case;
|
|
30
|
+
if (c === undefined) {
|
|
31
|
+
return c;
|
|
32
|
+
}
|
|
33
|
+
return oneof.fields.find((f) => (0, names_js_1.localName)(f) === c);
|
|
34
|
+
}
|
|
35
|
+
exports.unsafeOneofCase = unsafeOneofCase;
|
|
36
|
+
/**
|
|
37
|
+
* Returns true if the field is set.
|
|
38
|
+
*
|
|
39
|
+
* @private
|
|
40
|
+
*/
|
|
41
|
+
function unsafeIsSet(target, // eslint-disable-line @typescript-eslint/no-explicit-any -- `any` is the best choice for dynamic access
|
|
42
|
+
field) {
|
|
43
|
+
const name = (0, names_js_1.localName)(field);
|
|
44
|
+
if (field.oneof) {
|
|
45
|
+
return target[(0, names_js_1.localName)(field.oneof)].case === name; // eslint-disable-line @typescript-eslint/no-unsafe-member-access
|
|
46
|
+
}
|
|
47
|
+
switch (field.fieldKind) {
|
|
48
|
+
case "message":
|
|
49
|
+
return target[name] !== undefined;
|
|
50
|
+
case "list":
|
|
51
|
+
return target[name].length > 0;
|
|
52
|
+
case "map":
|
|
53
|
+
return Object.keys(target[name]).length > 0; // eslint-disable-line @typescript-eslint/no-unsafe-argument
|
|
54
|
+
default:
|
|
55
|
+
if (field.presence == IMPLICIT) {
|
|
56
|
+
if (field.fieldKind == "enum") {
|
|
57
|
+
return target[name] !== field.enum.values[0].number;
|
|
58
|
+
}
|
|
59
|
+
return !(0, scalar_js_1.isScalarZeroValue)(field.scalar, target[name]);
|
|
60
|
+
}
|
|
61
|
+
// EXPLICIT and LEGACY_REQUIRED
|
|
62
|
+
return (target[name] !== undefined &&
|
|
63
|
+
Object.prototype.hasOwnProperty.call(target, name));
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
exports.unsafeIsSet = unsafeIsSet;
|
|
67
|
+
/**
|
|
68
|
+
* Returns true if the field is set, but only for singular fields with explicit
|
|
69
|
+
* presence (proto2).
|
|
70
|
+
*
|
|
71
|
+
* @private
|
|
72
|
+
*/
|
|
73
|
+
function unsafeIsSetExplicit(target, localName) {
|
|
74
|
+
return (Object.prototype.hasOwnProperty.call(target, localName) &&
|
|
75
|
+
target[localName] !== undefined);
|
|
76
|
+
}
|
|
77
|
+
exports.unsafeIsSetExplicit = unsafeIsSetExplicit;
|
|
78
|
+
/**
|
|
79
|
+
* Return a field value, respecting oneof groups.
|
|
80
|
+
*
|
|
81
|
+
* @private
|
|
82
|
+
*/
|
|
83
|
+
function unsafeGet(target, field) {
|
|
84
|
+
const name = (0, names_js_1.localName)(field);
|
|
85
|
+
if (field.oneof) {
|
|
86
|
+
const oneof = target[(0, names_js_1.localName)(field.oneof)];
|
|
87
|
+
if (oneof.case === name) {
|
|
88
|
+
return oneof.value;
|
|
89
|
+
}
|
|
90
|
+
return undefined;
|
|
91
|
+
}
|
|
92
|
+
return target[name];
|
|
93
|
+
}
|
|
94
|
+
exports.unsafeGet = unsafeGet;
|
|
95
|
+
/**
|
|
96
|
+
* Set a field value, respecting oneof groups.
|
|
97
|
+
*
|
|
98
|
+
* @private
|
|
99
|
+
*/
|
|
100
|
+
function unsafeSet(target, field, value) {
|
|
101
|
+
const name = (0, names_js_1.localName)(field);
|
|
102
|
+
if (field.oneof) {
|
|
103
|
+
target[(0, names_js_1.localName)(field.oneof)] = {
|
|
104
|
+
case: name,
|
|
105
|
+
value: value,
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
else {
|
|
109
|
+
target[name] = value;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
exports.unsafeSet = unsafeSet;
|
|
113
|
+
/**
|
|
114
|
+
* Resets the field, so that unsafeIsSet() will return false.
|
|
115
|
+
*
|
|
116
|
+
* @private
|
|
117
|
+
*/
|
|
118
|
+
function unsafeClear(target, // eslint-disable-line @typescript-eslint/no-explicit-any -- `any` is the best choice for dynamic access
|
|
119
|
+
field) {
|
|
120
|
+
const name = (0, names_js_1.localName)(field);
|
|
121
|
+
if (field.oneof) {
|
|
122
|
+
const oneofLocalName = (0, names_js_1.localName)(field.oneof);
|
|
123
|
+
if (target[oneofLocalName].case === name) {
|
|
124
|
+
target[oneofLocalName] = { case: undefined };
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
else {
|
|
128
|
+
switch (field.fieldKind) {
|
|
129
|
+
case "map":
|
|
130
|
+
target[name] = {};
|
|
131
|
+
break;
|
|
132
|
+
case "list":
|
|
133
|
+
target[name] = [];
|
|
134
|
+
break;
|
|
135
|
+
case "message":
|
|
136
|
+
delete target[name];
|
|
137
|
+
break;
|
|
138
|
+
default:
|
|
139
|
+
if (field.presence == IMPLICIT) {
|
|
140
|
+
target[name] =
|
|
141
|
+
field.fieldKind == "enum"
|
|
142
|
+
? field.enum.values[0].number
|
|
143
|
+
: (0, scalar_js_1.scalarZeroValue)(field.scalar, field.longType);
|
|
144
|
+
}
|
|
145
|
+
else {
|
|
146
|
+
delete target[name];
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
exports.unsafeClear = unsafeClear;
|
|
152
|
+
/**
|
|
153
|
+
* Add an item to a list field.
|
|
154
|
+
*
|
|
155
|
+
* @private
|
|
156
|
+
*/
|
|
157
|
+
function unsafeAddListItem(target, field, value) {
|
|
158
|
+
const name = (0, names_js_1.localName)(field);
|
|
159
|
+
target[name].push(value);
|
|
160
|
+
}
|
|
161
|
+
exports.unsafeAddListItem = unsafeAddListItem;
|
|
162
|
+
/**
|
|
163
|
+
* Set a map entry.
|
|
164
|
+
*
|
|
165
|
+
* @private
|
|
166
|
+
*/
|
|
167
|
+
function unsafeSetMapEntry(target, field, key, value) {
|
|
168
|
+
const name = (0, names_js_1.localName)(field);
|
|
169
|
+
target[name][key] = value;
|
|
170
|
+
}
|
|
171
|
+
exports.unsafeSetMapEntry = unsafeSetMapEntry;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { MessageShape } from "./types.js";
|
|
2
|
+
import { BinaryWriter } from "./wire/binary-encoding.js";
|
|
3
|
+
import type { DescField, DescMessage } from "./desc-types.js";
|
|
4
|
+
import type { ReflectMessage } from "./reflect/index.js";
|
|
5
|
+
/**
|
|
6
|
+
* Options for serializing to binary data.
|
|
7
|
+
*
|
|
8
|
+
* V1 also had the option `readerFactory` for using a custom implementation to
|
|
9
|
+
* encode to binary.
|
|
10
|
+
*/
|
|
11
|
+
export interface BinaryWriteOptions {
|
|
12
|
+
/**
|
|
13
|
+
* Include unknown fields in the serialized output? The default behavior
|
|
14
|
+
* is to retain unknown fields and include them in the serialized output.
|
|
15
|
+
*
|
|
16
|
+
* For more details see https://developers.google.com/protocol-buffers/docs/proto3#unknowns
|
|
17
|
+
*/
|
|
18
|
+
writeUnknownFields: boolean;
|
|
19
|
+
}
|
|
20
|
+
export declare function toBinary<Desc extends DescMessage>(messageDesc: Desc, message: MessageShape<Desc>, options?: Partial<BinaryWriteOptions>): Uint8Array;
|
|
21
|
+
/**
|
|
22
|
+
* @private
|
|
23
|
+
*/
|
|
24
|
+
export declare function writeField(writer: BinaryWriter, opts: BinaryWriteOptions, msg: ReflectMessage, field: DescField): void;
|