@bufbuild/protobuf 1.9.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 +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.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/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 -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,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Decodes a base64 string to a byte array.
|
|
3
|
+
*
|
|
4
|
+
* - ignores white-space, including line breaks and tabs
|
|
5
|
+
* - allows inner padding (can decode concatenated base64 strings)
|
|
6
|
+
* - does not require padding
|
|
7
|
+
* - understands base64url encoding:
|
|
8
|
+
* "-" instead of "+",
|
|
9
|
+
* "_" instead of "/",
|
|
10
|
+
* no padding
|
|
11
|
+
*/
|
|
12
|
+
export declare function base64Decode(base64Str: string): Uint8Array;
|
|
13
|
+
/**
|
|
14
|
+
* Encode a byte array to a base64 string.
|
|
15
|
+
*
|
|
16
|
+
* By default, this function uses the standard base64 encoding with padding.
|
|
17
|
+
*
|
|
18
|
+
* To encode without padding, use encoding = "std_raw".
|
|
19
|
+
*
|
|
20
|
+
* To encode with the URL encoding, use encoding = "url", which replaces the
|
|
21
|
+
* characters +/ by their URL-safe counterparts -_, and omits padding.
|
|
22
|
+
*/
|
|
23
|
+
export declare function base64Encode(bytes: Uint8Array, encoding?: "std" | "std_raw" | "url"): string;
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
// Copyright 2021-2024 Buf Technologies, Inc.
|
|
2
|
+
//
|
|
3
|
+
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
// you may not use this file except in compliance with the License.
|
|
5
|
+
// You may obtain a copy of the License at
|
|
6
|
+
//
|
|
7
|
+
// http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
//
|
|
9
|
+
// Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
// See the License for the specific language governing permissions and
|
|
13
|
+
// limitations under the License.
|
|
14
|
+
/* eslint-disable @typescript-eslint/ban-ts-comment, @typescript-eslint/no-unnecessary-condition, prefer-const */
|
|
15
|
+
/**
|
|
16
|
+
* Decodes a base64 string to a byte array.
|
|
17
|
+
*
|
|
18
|
+
* - ignores white-space, including line breaks and tabs
|
|
19
|
+
* - allows inner padding (can decode concatenated base64 strings)
|
|
20
|
+
* - does not require padding
|
|
21
|
+
* - understands base64url encoding:
|
|
22
|
+
* "-" instead of "+",
|
|
23
|
+
* "_" instead of "/",
|
|
24
|
+
* no padding
|
|
25
|
+
*/
|
|
26
|
+
export function base64Decode(base64Str) {
|
|
27
|
+
const table = getDecodeTable();
|
|
28
|
+
// estimate byte size, not accounting for inner padding and whitespace
|
|
29
|
+
let es = (base64Str.length * 3) / 4;
|
|
30
|
+
if (base64Str[base64Str.length - 2] == "=")
|
|
31
|
+
es -= 2;
|
|
32
|
+
else if (base64Str[base64Str.length - 1] == "=")
|
|
33
|
+
es -= 1;
|
|
34
|
+
let bytes = new Uint8Array(es), bytePos = 0, // position in byte array
|
|
35
|
+
groupPos = 0, // position in base64 group
|
|
36
|
+
b, // current byte
|
|
37
|
+
p = 0; // previous byte
|
|
38
|
+
for (let i = 0; i < base64Str.length; i++) {
|
|
39
|
+
b = table[base64Str.charCodeAt(i)];
|
|
40
|
+
if (b === undefined) {
|
|
41
|
+
switch (base64Str[i]) {
|
|
42
|
+
// @ts-ignore TS7029: Fallthrough case in switch
|
|
43
|
+
case "=":
|
|
44
|
+
groupPos = 0; // reset state when padding found
|
|
45
|
+
// @ts-ignore TS7029: Fallthrough case in switch
|
|
46
|
+
case "\n":
|
|
47
|
+
case "\r":
|
|
48
|
+
case "\t":
|
|
49
|
+
case " ":
|
|
50
|
+
continue; // skip white-space, and padding
|
|
51
|
+
default:
|
|
52
|
+
throw Error("invalid base64 string.");
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
switch (groupPos) {
|
|
56
|
+
case 0:
|
|
57
|
+
p = b;
|
|
58
|
+
groupPos = 1;
|
|
59
|
+
break;
|
|
60
|
+
case 1:
|
|
61
|
+
bytes[bytePos++] = (p << 2) | ((b & 48) >> 4);
|
|
62
|
+
p = b;
|
|
63
|
+
groupPos = 2;
|
|
64
|
+
break;
|
|
65
|
+
case 2:
|
|
66
|
+
bytes[bytePos++] = ((p & 15) << 4) | ((b & 60) >> 2);
|
|
67
|
+
p = b;
|
|
68
|
+
groupPos = 3;
|
|
69
|
+
break;
|
|
70
|
+
case 3:
|
|
71
|
+
bytes[bytePos++] = ((p & 3) << 6) | b;
|
|
72
|
+
groupPos = 0;
|
|
73
|
+
break;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
if (groupPos == 1)
|
|
77
|
+
throw Error("invalid base64 string.");
|
|
78
|
+
return bytes.subarray(0, bytePos);
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Encode a byte array to a base64 string.
|
|
82
|
+
*
|
|
83
|
+
* By default, this function uses the standard base64 encoding with padding.
|
|
84
|
+
*
|
|
85
|
+
* To encode without padding, use encoding = "std_raw".
|
|
86
|
+
*
|
|
87
|
+
* To encode with the URL encoding, use encoding = "url", which replaces the
|
|
88
|
+
* characters +/ by their URL-safe counterparts -_, and omits padding.
|
|
89
|
+
*/
|
|
90
|
+
export function base64Encode(bytes, encoding = "std") {
|
|
91
|
+
const table = getEncodeTable(encoding);
|
|
92
|
+
const pad = encoding == "std";
|
|
93
|
+
let base64 = "", groupPos = 0, // position in base64 group
|
|
94
|
+
b, // current byte
|
|
95
|
+
p = 0; // carry over from previous byte
|
|
96
|
+
for (let i = 0; i < bytes.length; i++) {
|
|
97
|
+
b = bytes[i];
|
|
98
|
+
switch (groupPos) {
|
|
99
|
+
case 0:
|
|
100
|
+
base64 += table[b >> 2];
|
|
101
|
+
p = (b & 3) << 4;
|
|
102
|
+
groupPos = 1;
|
|
103
|
+
break;
|
|
104
|
+
case 1:
|
|
105
|
+
base64 += table[p | (b >> 4)];
|
|
106
|
+
p = (b & 15) << 2;
|
|
107
|
+
groupPos = 2;
|
|
108
|
+
break;
|
|
109
|
+
case 2:
|
|
110
|
+
base64 += table[p | (b >> 6)];
|
|
111
|
+
base64 += table[b & 63];
|
|
112
|
+
groupPos = 0;
|
|
113
|
+
break;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
// add output padding
|
|
117
|
+
if (groupPos) {
|
|
118
|
+
base64 += table[p];
|
|
119
|
+
if (pad) {
|
|
120
|
+
base64 += "=";
|
|
121
|
+
if (groupPos == 1)
|
|
122
|
+
base64 += "=";
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
return base64;
|
|
126
|
+
}
|
|
127
|
+
// lookup table from base64 character to byte
|
|
128
|
+
let encodeTableStd;
|
|
129
|
+
let encodeTableUrl;
|
|
130
|
+
// lookup table from base64 character *code* to byte because lookup by number is fast
|
|
131
|
+
let decodeTable;
|
|
132
|
+
function getEncodeTable(encoding) {
|
|
133
|
+
if (!encodeTableStd) {
|
|
134
|
+
encodeTableStd =
|
|
135
|
+
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split("");
|
|
136
|
+
encodeTableUrl = encodeTableStd.slice(0, -2).concat("-", "_");
|
|
137
|
+
}
|
|
138
|
+
return encoding == "url" ? encodeTableUrl : encodeTableStd;
|
|
139
|
+
}
|
|
140
|
+
function getDecodeTable() {
|
|
141
|
+
if (!decodeTable) {
|
|
142
|
+
decodeTable = [];
|
|
143
|
+
const encodeTable = getEncodeTable("std");
|
|
144
|
+
for (let i = 0; i < encodeTable.length; i++)
|
|
145
|
+
decodeTable[encodeTable[i].charCodeAt(0)] = i;
|
|
146
|
+
// support base64url variants
|
|
147
|
+
decodeTable["-".charCodeAt(0)] = encodeTable.indexOf("+");
|
|
148
|
+
decodeTable["_".charCodeAt(0)] = encodeTable.indexOf("/");
|
|
149
|
+
}
|
|
150
|
+
return decodeTable;
|
|
151
|
+
}
|
|
@@ -0,0 +1,242 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Protobuf binary format wire types.
|
|
3
|
+
*
|
|
4
|
+
* A wire type provides just enough information to find the length of the
|
|
5
|
+
* following value.
|
|
6
|
+
*
|
|
7
|
+
* See https://developers.google.com/protocol-buffers/docs/encoding#structure
|
|
8
|
+
*/
|
|
9
|
+
export declare enum WireType {
|
|
10
|
+
/**
|
|
11
|
+
* Used for int32, int64, uint32, uint64, sint32, sint64, bool, enum
|
|
12
|
+
*/
|
|
13
|
+
Varint = 0,
|
|
14
|
+
/**
|
|
15
|
+
* Used for fixed64, sfixed64, double.
|
|
16
|
+
* Always 8 bytes with little-endian byte order.
|
|
17
|
+
*/
|
|
18
|
+
Bit64 = 1,
|
|
19
|
+
/**
|
|
20
|
+
* Used for string, bytes, embedded messages, packed repeated fields
|
|
21
|
+
*
|
|
22
|
+
* Only repeated numeric types (types which use the varint, 32-bit,
|
|
23
|
+
* or 64-bit wire types) can be packed. In proto3, such fields are
|
|
24
|
+
* packed by default.
|
|
25
|
+
*/
|
|
26
|
+
LengthDelimited = 2,
|
|
27
|
+
/**
|
|
28
|
+
* Start of a tag-delimited aggregate, such as a proto2 group, or a message
|
|
29
|
+
* in editions with message_encoding = DELIMITED.
|
|
30
|
+
*/
|
|
31
|
+
StartGroup = 3,
|
|
32
|
+
/**
|
|
33
|
+
* End of a tag-delimited aggregate.
|
|
34
|
+
*/
|
|
35
|
+
EndGroup = 4,
|
|
36
|
+
/**
|
|
37
|
+
* Used for fixed32, sfixed32, float.
|
|
38
|
+
* Always 4 bytes with little-endian byte order.
|
|
39
|
+
*/
|
|
40
|
+
Bit32 = 5
|
|
41
|
+
}
|
|
42
|
+
export declare class BinaryWriter {
|
|
43
|
+
private readonly encodeUtf8;
|
|
44
|
+
/**
|
|
45
|
+
* We cannot allocate a buffer for the entire output
|
|
46
|
+
* because we don't know it's size.
|
|
47
|
+
*
|
|
48
|
+
* So we collect smaller chunks of known size and
|
|
49
|
+
* concat them later.
|
|
50
|
+
*
|
|
51
|
+
* Use `raw()` to push data to this array. It will flush
|
|
52
|
+
* `buf` first.
|
|
53
|
+
*/
|
|
54
|
+
private chunks;
|
|
55
|
+
/**
|
|
56
|
+
* A growing buffer for byte values. If you don't know
|
|
57
|
+
* the size of the data you are writing, push to this
|
|
58
|
+
* array.
|
|
59
|
+
*/
|
|
60
|
+
protected buf: number[];
|
|
61
|
+
/**
|
|
62
|
+
* Previous fork states.
|
|
63
|
+
*/
|
|
64
|
+
private stack;
|
|
65
|
+
constructor(encodeUtf8?: (text: string) => Uint8Array);
|
|
66
|
+
/**
|
|
67
|
+
* Return all bytes written and reset this writer.
|
|
68
|
+
*/
|
|
69
|
+
finish(): Uint8Array;
|
|
70
|
+
/**
|
|
71
|
+
* Start a new fork for length-delimited data like a message
|
|
72
|
+
* or a packed repeated field.
|
|
73
|
+
*
|
|
74
|
+
* Must be joined later with `join()`.
|
|
75
|
+
*/
|
|
76
|
+
fork(): this;
|
|
77
|
+
/**
|
|
78
|
+
* Join the last fork. Write its length and bytes, then
|
|
79
|
+
* return to the previous state.
|
|
80
|
+
*/
|
|
81
|
+
join(): this;
|
|
82
|
+
/**
|
|
83
|
+
* Writes a tag (field number and wire type).
|
|
84
|
+
*
|
|
85
|
+
* Equivalent to `uint32( (fieldNo << 3 | type) >>> 0 )`.
|
|
86
|
+
*
|
|
87
|
+
* Generated code should compute the tag ahead of time and call `uint32()`.
|
|
88
|
+
*/
|
|
89
|
+
tag(fieldNo: number, type: WireType): this;
|
|
90
|
+
/**
|
|
91
|
+
* Write a chunk of raw bytes.
|
|
92
|
+
*/
|
|
93
|
+
raw(chunk: Uint8Array): this;
|
|
94
|
+
/**
|
|
95
|
+
* Write a `uint32` value, an unsigned 32 bit varint.
|
|
96
|
+
*/
|
|
97
|
+
uint32(value: number): this;
|
|
98
|
+
/**
|
|
99
|
+
* Write a `int32` value, a signed 32 bit varint.
|
|
100
|
+
*/
|
|
101
|
+
int32(value: number): this;
|
|
102
|
+
/**
|
|
103
|
+
* Write a `bool` value, a variant.
|
|
104
|
+
*/
|
|
105
|
+
bool(value: boolean): this;
|
|
106
|
+
/**
|
|
107
|
+
* Write a `bytes` value, length-delimited arbitrary data.
|
|
108
|
+
*/
|
|
109
|
+
bytes(value: Uint8Array): this;
|
|
110
|
+
/**
|
|
111
|
+
* Write a `string` value, length-delimited data converted to UTF-8 text.
|
|
112
|
+
*/
|
|
113
|
+
string(value: string): this;
|
|
114
|
+
/**
|
|
115
|
+
* Write a `float` value, 32-bit floating point number.
|
|
116
|
+
*/
|
|
117
|
+
float(value: number): this;
|
|
118
|
+
/**
|
|
119
|
+
* Write a `double` value, a 64-bit floating point number.
|
|
120
|
+
*/
|
|
121
|
+
double(value: number): this;
|
|
122
|
+
/**
|
|
123
|
+
* Write a `fixed32` value, an unsigned, fixed-length 32-bit integer.
|
|
124
|
+
*/
|
|
125
|
+
fixed32(value: number): this;
|
|
126
|
+
/**
|
|
127
|
+
* Write a `sfixed32` value, a signed, fixed-length 32-bit integer.
|
|
128
|
+
*/
|
|
129
|
+
sfixed32(value: number): this;
|
|
130
|
+
/**
|
|
131
|
+
* Write a `sint32` value, a signed, zigzag-encoded 32-bit varint.
|
|
132
|
+
*/
|
|
133
|
+
sint32(value: number): this;
|
|
134
|
+
/**
|
|
135
|
+
* Write a `fixed64` value, a signed, fixed-length 64-bit integer.
|
|
136
|
+
*/
|
|
137
|
+
sfixed64(value: string | number | bigint): this;
|
|
138
|
+
/**
|
|
139
|
+
* Write a `fixed64` value, an unsigned, fixed-length 64 bit integer.
|
|
140
|
+
*/
|
|
141
|
+
fixed64(value: string | number | bigint): this;
|
|
142
|
+
/**
|
|
143
|
+
* Write a `int64` value, a signed 64-bit varint.
|
|
144
|
+
*/
|
|
145
|
+
int64(value: string | number | bigint): this;
|
|
146
|
+
/**
|
|
147
|
+
* Write a `sint64` value, a signed, zig-zag-encoded 64-bit varint.
|
|
148
|
+
*/
|
|
149
|
+
sint64(value: string | number | bigint): this;
|
|
150
|
+
/**
|
|
151
|
+
* Write a `uint64` value, an unsigned 64-bit varint.
|
|
152
|
+
*/
|
|
153
|
+
uint64(value: string | number | bigint): this;
|
|
154
|
+
}
|
|
155
|
+
export declare class BinaryReader {
|
|
156
|
+
private readonly decodeUtf8;
|
|
157
|
+
/**
|
|
158
|
+
* Current position.
|
|
159
|
+
*/
|
|
160
|
+
pos: number;
|
|
161
|
+
/**
|
|
162
|
+
* Number of bytes available in this reader.
|
|
163
|
+
*/
|
|
164
|
+
readonly len: number;
|
|
165
|
+
protected readonly buf: Uint8Array;
|
|
166
|
+
private readonly view;
|
|
167
|
+
constructor(buf: Uint8Array, decodeUtf8?: (bytes: Uint8Array) => string);
|
|
168
|
+
/**
|
|
169
|
+
* Reads a tag - field number and wire type.
|
|
170
|
+
*/
|
|
171
|
+
tag(): [number, WireType];
|
|
172
|
+
/**
|
|
173
|
+
* Skip one element on the wire and return the skipped data.
|
|
174
|
+
* Supports WireType.StartGroup since v2.0.0-alpha.23.
|
|
175
|
+
*/
|
|
176
|
+
skip(wireType: WireType): Uint8Array;
|
|
177
|
+
protected varint64: () => [number, number];
|
|
178
|
+
/**
|
|
179
|
+
* Throws error if position in byte array is out of range.
|
|
180
|
+
*/
|
|
181
|
+
protected assertBounds(): void;
|
|
182
|
+
/**
|
|
183
|
+
* Read a `uint32` field, an unsigned 32 bit varint.
|
|
184
|
+
*/
|
|
185
|
+
uint32: () => number;
|
|
186
|
+
/**
|
|
187
|
+
* Read a `int32` field, a signed 32 bit varint.
|
|
188
|
+
*/
|
|
189
|
+
int32(): number;
|
|
190
|
+
/**
|
|
191
|
+
* Read a `sint32` field, a signed, zigzag-encoded 32-bit varint.
|
|
192
|
+
*/
|
|
193
|
+
sint32(): number;
|
|
194
|
+
/**
|
|
195
|
+
* Read a `int64` field, a signed 64-bit varint.
|
|
196
|
+
*/
|
|
197
|
+
int64(): bigint | string;
|
|
198
|
+
/**
|
|
199
|
+
* Read a `uint64` field, an unsigned 64-bit varint.
|
|
200
|
+
*/
|
|
201
|
+
uint64(): bigint | string;
|
|
202
|
+
/**
|
|
203
|
+
* Read a `sint64` field, a signed, zig-zag-encoded 64-bit varint.
|
|
204
|
+
*/
|
|
205
|
+
sint64(): bigint | string;
|
|
206
|
+
/**
|
|
207
|
+
* Read a `bool` field, a variant.
|
|
208
|
+
*/
|
|
209
|
+
bool(): boolean;
|
|
210
|
+
/**
|
|
211
|
+
* Read a `fixed32` field, an unsigned, fixed-length 32-bit integer.
|
|
212
|
+
*/
|
|
213
|
+
fixed32(): number;
|
|
214
|
+
/**
|
|
215
|
+
* Read a `sfixed32` field, a signed, fixed-length 32-bit integer.
|
|
216
|
+
*/
|
|
217
|
+
sfixed32(): number;
|
|
218
|
+
/**
|
|
219
|
+
* Read a `fixed64` field, an unsigned, fixed-length 64 bit integer.
|
|
220
|
+
*/
|
|
221
|
+
fixed64(): bigint | string;
|
|
222
|
+
/**
|
|
223
|
+
* Read a `fixed64` field, a signed, fixed-length 64-bit integer.
|
|
224
|
+
*/
|
|
225
|
+
sfixed64(): bigint | string;
|
|
226
|
+
/**
|
|
227
|
+
* Read a `float` field, 32-bit floating point number.
|
|
228
|
+
*/
|
|
229
|
+
float(): number;
|
|
230
|
+
/**
|
|
231
|
+
* Read a `double` field, a 64-bit floating point number.
|
|
232
|
+
*/
|
|
233
|
+
double(): number;
|
|
234
|
+
/**
|
|
235
|
+
* Read a `bytes` field, length-delimited arbitrary data.
|
|
236
|
+
*/
|
|
237
|
+
bytes(): Uint8Array;
|
|
238
|
+
/**
|
|
239
|
+
* Read a `string` field, length-delimited data converted to UTF-8 text.
|
|
240
|
+
*/
|
|
241
|
+
string(): string;
|
|
242
|
+
}
|
|
@@ -11,9 +11,10 @@
|
|
|
11
11
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
12
|
// See the License for the specific language governing permissions and
|
|
13
13
|
// limitations under the License.
|
|
14
|
-
import { varint32read, varint32write, varint64read, varint64write, } from "./
|
|
15
|
-
import { assertFloat32, assertInt32, assertUInt32 } from "
|
|
16
|
-
import { protoInt64 } from "
|
|
14
|
+
import { varint32read, varint32write, varint64read, varint64write, } from "./varint.js";
|
|
15
|
+
import { assertFloat32, assertInt32, assertUInt32 } from "../reflect/assert.js";
|
|
16
|
+
import { protoInt64 } from "../proto-int64.js";
|
|
17
|
+
import { getTextEncoding } from "./text-encoding.js";
|
|
17
18
|
/* eslint-disable prefer-const,no-case-declarations,@typescript-eslint/restrict-plus-operands */
|
|
18
19
|
/**
|
|
19
20
|
* Protobuf binary format wire types.
|
|
@@ -58,12 +59,12 @@ export var WireType;
|
|
|
58
59
|
WireType[WireType["Bit32"] = 5] = "Bit32";
|
|
59
60
|
})(WireType || (WireType = {}));
|
|
60
61
|
export class BinaryWriter {
|
|
61
|
-
constructor(
|
|
62
|
+
constructor(encodeUtf8 = getTextEncoding().encodeUtf8) {
|
|
63
|
+
this.encodeUtf8 = encodeUtf8;
|
|
62
64
|
/**
|
|
63
65
|
* Previous fork states.
|
|
64
66
|
*/
|
|
65
67
|
this.stack = [];
|
|
66
|
-
this.textEncoder = textEncoder !== null && textEncoder !== void 0 ? textEncoder : new TextEncoder();
|
|
67
68
|
this.chunks = [];
|
|
68
69
|
this.buf = [];
|
|
69
70
|
}
|
|
@@ -173,7 +174,7 @@ export class BinaryWriter {
|
|
|
173
174
|
* Write a `string` value, length-delimited data converted to UTF-8 text.
|
|
174
175
|
*/
|
|
175
176
|
string(value) {
|
|
176
|
-
let chunk = this.
|
|
177
|
+
let chunk = this.encodeUtf8(value);
|
|
177
178
|
this.uint32(chunk.byteLength); // write length of chunk as varint
|
|
178
179
|
return this.raw(chunk);
|
|
179
180
|
}
|
|
@@ -268,17 +269,17 @@ export class BinaryWriter {
|
|
|
268
269
|
}
|
|
269
270
|
}
|
|
270
271
|
export class BinaryReader {
|
|
271
|
-
constructor(buf,
|
|
272
|
+
constructor(buf, decodeUtf8 = getTextEncoding().decodeUtf8) {
|
|
273
|
+
this.decodeUtf8 = decodeUtf8;
|
|
272
274
|
this.varint64 = varint64read; // dirty cast for `this`
|
|
273
275
|
/**
|
|
274
276
|
* Read a `uint32` field, an unsigned 32 bit varint.
|
|
275
277
|
*/
|
|
276
|
-
this.uint32 = varint32read;
|
|
278
|
+
this.uint32 = varint32read;
|
|
277
279
|
this.buf = buf;
|
|
278
280
|
this.len = buf.length;
|
|
279
281
|
this.pos = 0;
|
|
280
282
|
this.view = new DataView(buf.buffer, buf.byteOffset, buf.byteLength);
|
|
281
|
-
this.textDecoder = textDecoder !== null && textDecoder !== void 0 ? textDecoder : new TextDecoder();
|
|
282
283
|
}
|
|
283
284
|
/**
|
|
284
285
|
* Reads a tag - field number and wire type.
|
|
@@ -427,6 +428,6 @@ export class BinaryReader {
|
|
|
427
428
|
* Read a `string` field, length-delimited data converted to UTF-8 text.
|
|
428
429
|
*/
|
|
429
430
|
string() {
|
|
430
|
-
return this.
|
|
431
|
+
return this.decodeUtf8(this.bytes());
|
|
431
432
|
}
|
|
432
433
|
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
// Copyright 2021-2024 Buf Technologies, Inc.
|
|
2
|
+
//
|
|
3
|
+
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
// you may not use this file except in compliance with the License.
|
|
5
|
+
// You may obtain a copy of the License at
|
|
6
|
+
//
|
|
7
|
+
// http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
//
|
|
9
|
+
// Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
// See the License for the specific language governing permissions and
|
|
13
|
+
// limitations under the License.
|
|
14
|
+
export * from "./binary-encoding.js";
|
|
15
|
+
export * from "./base64-encoding.js";
|
|
16
|
+
export * from "./text-encoding.js";
|
|
17
|
+
export * from "./text-format.js";
|
|
18
|
+
export * from "./size-delimited.js";
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import type { DescMessage } from "../desc-types.js";
|
|
2
|
+
import type { BinaryWriteOptions } from "../to-binary.js";
|
|
3
|
+
import type { MessageShape } from "../types.js";
|
|
4
|
+
import type { BinaryReadOptions } from "../from-binary.js";
|
|
5
|
+
/**
|
|
6
|
+
* Serialize a message, prefixing it with its size.
|
|
7
|
+
*
|
|
8
|
+
* A size-delimited message is a varint size in bytes, followed by exactly
|
|
9
|
+
* that many bytes of a message serialized with the binary format.
|
|
10
|
+
*
|
|
11
|
+
* This size-delimited format is compatible with other implementations.
|
|
12
|
+
* For details, see https://github.com/protocolbuffers/protobuf/issues/10229
|
|
13
|
+
*/
|
|
14
|
+
export declare function sizeDelimitedEncode<Desc extends DescMessage>(messageDesc: Desc, message: MessageShape<Desc>, options?: BinaryWriteOptions): Uint8Array;
|
|
15
|
+
/**
|
|
16
|
+
* Parse a stream of size-delimited messages.
|
|
17
|
+
*
|
|
18
|
+
* A size-delimited message is a varint size in bytes, followed by exactly
|
|
19
|
+
* that many bytes of a message serialized with the binary format.
|
|
20
|
+
*
|
|
21
|
+
* This size-delimited format is compatible with other implementations.
|
|
22
|
+
* For details, see https://github.com/protocolbuffers/protobuf/issues/10229
|
|
23
|
+
*/
|
|
24
|
+
export declare function sizeDelimitedDecodeStream<Desc extends DescMessage>(messageDesc: Desc, iterable: AsyncIterable<Uint8Array>, options?: BinaryReadOptions): AsyncGenerator<MessageShape<Desc>, void, unknown>;
|
|
25
|
+
/**
|
|
26
|
+
* Decodes the size from the given size-delimited message, which may be
|
|
27
|
+
* incomplete.
|
|
28
|
+
*
|
|
29
|
+
* Returns an object with the following properties:
|
|
30
|
+
* - size: The size of the delimited message in bytes
|
|
31
|
+
* - offset: The offset in the given byte array where the message starts
|
|
32
|
+
* - eof: true
|
|
33
|
+
*
|
|
34
|
+
* If the size-delimited data does not include all bytes of the varint size,
|
|
35
|
+
* the following object is returned:
|
|
36
|
+
* - size: null
|
|
37
|
+
* - offset: null
|
|
38
|
+
* - eof: false
|
|
39
|
+
*
|
|
40
|
+
* This function can be used to implement parsing of size-delimited messages
|
|
41
|
+
* from a stream.
|
|
42
|
+
*/
|
|
43
|
+
export declare function sizeDelimitedPeek(data: Uint8Array): {
|
|
44
|
+
readonly eof: false;
|
|
45
|
+
readonly size: number;
|
|
46
|
+
readonly offset: number;
|
|
47
|
+
} | {
|
|
48
|
+
readonly eof: true;
|
|
49
|
+
readonly size: null;
|
|
50
|
+
readonly offset: null;
|
|
51
|
+
};
|