@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
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
import type { DescField, DescMessage, DescOneof } from "../desc-types.js";
|
|
2
|
+
import { FieldError } from "./error.js";
|
|
3
|
+
import { unsafeLocal } from "./unsafe.js";
|
|
4
|
+
import type { Message, UnknownField } from "../types.js";
|
|
5
|
+
import type { LongType, ScalarValue } from "./scalar.js";
|
|
6
|
+
export interface ReflectMessage {
|
|
7
|
+
readonly message: Message;
|
|
8
|
+
readonly desc: DescMessage;
|
|
9
|
+
readonly fields: readonly DescField[];
|
|
10
|
+
readonly sortedFields: readonly DescField[];
|
|
11
|
+
readonly oneofs: readonly DescOneof[];
|
|
12
|
+
readonly members: readonly (DescField | DescOneof)[];
|
|
13
|
+
findNumber(number: number): DescField | undefined;
|
|
14
|
+
isSet(field: DescField): boolean;
|
|
15
|
+
clear(field: DescField): void;
|
|
16
|
+
oneofCase(oneof: DescOneof): DescField | undefined;
|
|
17
|
+
get<Field extends DescField>(field: Field): ReflectGetValue<Field>;
|
|
18
|
+
set<Field extends DescField>(field: Field, value: ReflectSetValue<Field>): FieldError | undefined;
|
|
19
|
+
addListItem<Field extends DescField & {
|
|
20
|
+
fieldKind: "list";
|
|
21
|
+
}>(field: Field, value: NewListItem<Field>): FieldError | undefined;
|
|
22
|
+
setMapEntry<Field extends DescField & {
|
|
23
|
+
fieldKind: "map";
|
|
24
|
+
}>(field: Field, key: MapEntryKey, value: NewMapEntryValue<Field>): FieldError | undefined;
|
|
25
|
+
getUnknown(): UnknownField[] | undefined;
|
|
26
|
+
setUnknown(value: UnknownField[]): void;
|
|
27
|
+
[unsafeLocal]: Message;
|
|
28
|
+
}
|
|
29
|
+
export interface ReflectList<V = unknown> extends Iterable<V> {
|
|
30
|
+
field(): DescField & {
|
|
31
|
+
fieldKind: "list";
|
|
32
|
+
};
|
|
33
|
+
/**
|
|
34
|
+
* The size of the list.
|
|
35
|
+
*/
|
|
36
|
+
readonly size: number;
|
|
37
|
+
/**
|
|
38
|
+
* Retrieves the item at the specified index, or undefined if the index
|
|
39
|
+
* is out of range.
|
|
40
|
+
*/
|
|
41
|
+
get(index: number): V | undefined;
|
|
42
|
+
/**
|
|
43
|
+
* Adds an item - or several items - at the end of the list.
|
|
44
|
+
* Returns an error if an item is invalid for this list.
|
|
45
|
+
*/
|
|
46
|
+
add(...item: V[]): FieldError | undefined;
|
|
47
|
+
/**
|
|
48
|
+
* Replaces the item at the specified index with the specified item.
|
|
49
|
+
* Returns an error if the index is out of range (index < 0 || index >= size).
|
|
50
|
+
* Returns an error if the item is invalid for this list.
|
|
51
|
+
*/
|
|
52
|
+
set(index: number, item: V): FieldError | undefined;
|
|
53
|
+
/**
|
|
54
|
+
* Removes all items from the list.
|
|
55
|
+
*/
|
|
56
|
+
clear(): void;
|
|
57
|
+
[Symbol.iterator](): IterableIterator<V>;
|
|
58
|
+
entries(): IterableIterator<[number, V]>;
|
|
59
|
+
keys(): IterableIterator<number>;
|
|
60
|
+
values(): IterableIterator<V>;
|
|
61
|
+
[unsafeLocal]: unknown[];
|
|
62
|
+
}
|
|
63
|
+
export interface ReflectMap<K extends MapEntryKey = MapEntryKey, V = unknown> extends ReadonlyMap<K, V> {
|
|
64
|
+
field(): DescField & {
|
|
65
|
+
fieldKind: "map";
|
|
66
|
+
};
|
|
67
|
+
/**
|
|
68
|
+
* Removes the entry for the specified key.
|
|
69
|
+
* Returns false if the key is unknown.
|
|
70
|
+
*/
|
|
71
|
+
delete(key: K): boolean;
|
|
72
|
+
/**
|
|
73
|
+
* Sets or replaces the item at the specified key with the specified value.
|
|
74
|
+
* Returns an error if the key or value is invalid for this map.
|
|
75
|
+
*/
|
|
76
|
+
set(key: K, value: V): FieldError | undefined;
|
|
77
|
+
/**
|
|
78
|
+
* Removes all entries from the map.
|
|
79
|
+
*/
|
|
80
|
+
clear(): void;
|
|
81
|
+
[unsafeLocal]: Record<string, unknown>;
|
|
82
|
+
}
|
|
83
|
+
export type MapEntryKey = string | number | bigint | boolean;
|
|
84
|
+
type enumVal = number;
|
|
85
|
+
type ReflectGetValue<Field extends DescField = DescField> = (Field extends {
|
|
86
|
+
fieldKind: "map";
|
|
87
|
+
} ? (Field extends {
|
|
88
|
+
mapKind: "message";
|
|
89
|
+
} ? ReflectMap<MapEntryKey, ReflectMessage> : Field extends {
|
|
90
|
+
mapKind: "enum";
|
|
91
|
+
} ? ReflectMap<MapEntryKey, enumVal> : Field extends {
|
|
92
|
+
mapKind: "scalar";
|
|
93
|
+
scalar: infer T;
|
|
94
|
+
} ? ReflectMap<MapEntryKey, ScalarValue<T, LongType.BIGINT>> : never) : Field extends {
|
|
95
|
+
fieldKind: "list";
|
|
96
|
+
} ? ReflectList : Field extends {
|
|
97
|
+
fieldKind: "enum";
|
|
98
|
+
} ? number | undefined : Field extends {
|
|
99
|
+
fieldKind: "message";
|
|
100
|
+
} ? ReflectMessage : Field extends {
|
|
101
|
+
fieldKind: "scalar";
|
|
102
|
+
scalar: infer T;
|
|
103
|
+
} ? ScalarValue<T> | undefined : never);
|
|
104
|
+
type ReflectSetValue<Field extends DescField = DescField> = (Field extends {
|
|
105
|
+
fieldKind: "map";
|
|
106
|
+
} ? ReflectMap : Field extends {
|
|
107
|
+
fieldKind: "list";
|
|
108
|
+
} ? ReflectList : Field extends {
|
|
109
|
+
fieldKind: "enum";
|
|
110
|
+
} ? number | undefined : Field extends {
|
|
111
|
+
fieldKind: "message";
|
|
112
|
+
} ? ReflectMessage : Field extends {
|
|
113
|
+
fieldKind: "scalar";
|
|
114
|
+
scalar: infer T;
|
|
115
|
+
} ? ScalarValue<T> | undefined : never);
|
|
116
|
+
type NewListItem<Field extends DescField & {
|
|
117
|
+
fieldKind: "list";
|
|
118
|
+
}> = (Field extends {
|
|
119
|
+
listKind: "scalar";
|
|
120
|
+
scalar: infer T;
|
|
121
|
+
} ? ScalarValue<T> : Field extends {
|
|
122
|
+
listKind: "enum";
|
|
123
|
+
} ? enumVal : Field extends {
|
|
124
|
+
listKind: "message";
|
|
125
|
+
} ? ReflectMessage : never);
|
|
126
|
+
type NewMapEntryValue<Field extends DescField & {
|
|
127
|
+
fieldKind: "map";
|
|
128
|
+
}> = (Field extends {
|
|
129
|
+
mapKind: "enum";
|
|
130
|
+
} ? enumVal : Field extends {
|
|
131
|
+
mapKind: "message";
|
|
132
|
+
} ? ReflectMessage : Field extends {
|
|
133
|
+
mapKind: "scalar";
|
|
134
|
+
scalar: infer T;
|
|
135
|
+
} ? ScalarValue<T, LongType.BIGINT> : never);
|
|
136
|
+
export {};
|
|
@@ -0,0 +1,15 @@
|
|
|
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
|
+
import { FieldError } from "./error.js";
|
|
15
|
+
import { unsafeLocal } from "./unsafe.js";
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { DescField, DescMessage } from "../desc-types.js";
|
|
2
|
+
import type { MessageShape } from "../types.js";
|
|
3
|
+
import type { MapEntryKey, ReflectList, ReflectMap, ReflectMessage } from "./reflect-types.js";
|
|
4
|
+
export declare function reflect<Desc extends DescMessage>(messageDesc: Desc, message?: MessageShape<Desc>, opt?: {
|
|
5
|
+
/**
|
|
6
|
+
* By default, field values are validated when setting them. For example,
|
|
7
|
+
* a value for an uint32 field must be a ECMAScript Number >= 0.
|
|
8
|
+
*
|
|
9
|
+
* Note that setting a message field validates the type of the message,
|
|
10
|
+
* but does not check its fields.
|
|
11
|
+
*
|
|
12
|
+
* In some contexts, field values are trusted, and performance can be
|
|
13
|
+
* improved by disabling validation by setting disableFieldValueCheck to
|
|
14
|
+
* `false`.
|
|
15
|
+
*/
|
|
16
|
+
disableFieldValueCheck?: boolean;
|
|
17
|
+
}): ReflectMessage;
|
|
18
|
+
export declare function reflectList<V>(field: DescField & {
|
|
19
|
+
fieldKind: "list";
|
|
20
|
+
}, unsafeInput?: unknown[]): ReflectList<V>;
|
|
21
|
+
export declare function reflectMap<K extends MapEntryKey, V>(field: DescField & {
|
|
22
|
+
fieldKind: "map";
|
|
23
|
+
}, unsafeInput?: Record<string, unknown>): ReflectMap<K, V>;
|
|
@@ -0,0 +1,403 @@
|
|
|
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
|
+
import { checkField, checkListItem, checkMapEntry } from "./reflect-check.js";
|
|
15
|
+
import { FieldError } from "./error.js";
|
|
16
|
+
import { unsafeAddListItem, unsafeClear, unsafeGet, unsafeIsSet, unsafeLocal, unsafeOneofCase, unsafeSet, unsafeSetMapEntry, } from "./unsafe.js";
|
|
17
|
+
import { create } from "../create.js";
|
|
18
|
+
import { isWrapper, isWrapperDesc } from "../wkt/wrappers.js";
|
|
19
|
+
import { LongType, ScalarType } from "./scalar.js";
|
|
20
|
+
import { protoInt64 } from "../proto-int64.js";
|
|
21
|
+
import { isReflectList, isReflectMap, isReflectMessage } from "./guard.js";
|
|
22
|
+
export function reflect(messageDesc, message,
|
|
23
|
+
// TODO either remove this option, or support it in reflect-list and reflect-map as well
|
|
24
|
+
opt) {
|
|
25
|
+
message !== null && message !== void 0 ? message : (message = create(messageDesc));
|
|
26
|
+
const check = (opt === null || opt === void 0 ? void 0 : opt.disableFieldValueCheck) !== true;
|
|
27
|
+
let fieldsByNumber;
|
|
28
|
+
let sortedFields;
|
|
29
|
+
return {
|
|
30
|
+
message,
|
|
31
|
+
[unsafeLocal]: message,
|
|
32
|
+
desc: messageDesc,
|
|
33
|
+
fields: messageDesc.fields,
|
|
34
|
+
oneofs: messageDesc.oneofs,
|
|
35
|
+
members: messageDesc.members,
|
|
36
|
+
get sortedFields() {
|
|
37
|
+
return (sortedFields !== null && sortedFields !== void 0 ? sortedFields : (sortedFields = messageDesc.fields
|
|
38
|
+
.concat()
|
|
39
|
+
.sort((a, b) => a.number - b.number)));
|
|
40
|
+
},
|
|
41
|
+
findNumber(number) {
|
|
42
|
+
if (!fieldsByNumber) {
|
|
43
|
+
fieldsByNumber = new Map(messageDesc.fields.map((f) => [f.number, f]));
|
|
44
|
+
}
|
|
45
|
+
return fieldsByNumber.get(number);
|
|
46
|
+
},
|
|
47
|
+
oneofCase(oneof) {
|
|
48
|
+
assertOwn(message, oneof);
|
|
49
|
+
return unsafeOneofCase(message, oneof);
|
|
50
|
+
},
|
|
51
|
+
isSet(field) {
|
|
52
|
+
assertOwn(message, field);
|
|
53
|
+
return unsafeIsSet(message, field);
|
|
54
|
+
},
|
|
55
|
+
clear(field) {
|
|
56
|
+
assertOwn(message, field);
|
|
57
|
+
unsafeClear(message, field);
|
|
58
|
+
},
|
|
59
|
+
get(field) {
|
|
60
|
+
assertOwn(message, field);
|
|
61
|
+
let value = unsafeGet(message, field);
|
|
62
|
+
switch (field.fieldKind) {
|
|
63
|
+
case "list":
|
|
64
|
+
return reflectList(field, value);
|
|
65
|
+
case "map":
|
|
66
|
+
// TODO fix types
|
|
67
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
|
|
68
|
+
return reflectMap(field, value); // eslint-disable-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-return
|
|
69
|
+
case "message":
|
|
70
|
+
if (value !== undefined &&
|
|
71
|
+
!field.oneof &&
|
|
72
|
+
isWrapperDesc(field.message)) {
|
|
73
|
+
value = {
|
|
74
|
+
$typeName: field.message.typeName,
|
|
75
|
+
value: longToReflect(field.message.fields[0], value),
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
return reflect(field.message, value);
|
|
79
|
+
case "scalar":
|
|
80
|
+
return longToReflect(field, value);
|
|
81
|
+
case "enum":
|
|
82
|
+
return value;
|
|
83
|
+
}
|
|
84
|
+
},
|
|
85
|
+
set(field, value) {
|
|
86
|
+
assertOwn(message, field);
|
|
87
|
+
if (check) {
|
|
88
|
+
const err = checkField(field, value);
|
|
89
|
+
if (err) {
|
|
90
|
+
return err;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
let local = value;
|
|
94
|
+
if (isReflectMap(value) || isReflectList(value)) {
|
|
95
|
+
local = value[unsafeLocal];
|
|
96
|
+
}
|
|
97
|
+
else if (isReflectMessage(value)) {
|
|
98
|
+
const msg = value.message;
|
|
99
|
+
local = !field.oneof && isWrapper(msg) ? msg.value : msg;
|
|
100
|
+
}
|
|
101
|
+
else {
|
|
102
|
+
local = longToLocal(field, value);
|
|
103
|
+
}
|
|
104
|
+
unsafeSet(message, field, local);
|
|
105
|
+
return undefined;
|
|
106
|
+
},
|
|
107
|
+
addListItem(field, value) {
|
|
108
|
+
assertOwn(message, field);
|
|
109
|
+
assertKind(field, "list");
|
|
110
|
+
if (check) {
|
|
111
|
+
if (checkListItem(field, 0, value)) {
|
|
112
|
+
const arr = unsafeGet(message, field);
|
|
113
|
+
return checkListItem(field, arr.length, value);
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
unsafeAddListItem(message, field, listItemToLocal(field, value));
|
|
117
|
+
return undefined;
|
|
118
|
+
},
|
|
119
|
+
setMapEntry(field, key, value) {
|
|
120
|
+
assertOwn(message, field);
|
|
121
|
+
assertKind(field, "map");
|
|
122
|
+
if (check) {
|
|
123
|
+
const err = checkMapEntry(field, key, value);
|
|
124
|
+
if (err) {
|
|
125
|
+
return err;
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
unsafeSetMapEntry(message, field, mapKeyToLocal(key), mapValueToLocal(field, value));
|
|
129
|
+
return undefined;
|
|
130
|
+
},
|
|
131
|
+
getUnknown() {
|
|
132
|
+
return message.$unknown;
|
|
133
|
+
},
|
|
134
|
+
setUnknown(value) {
|
|
135
|
+
message.$unknown = value;
|
|
136
|
+
},
|
|
137
|
+
};
|
|
138
|
+
}
|
|
139
|
+
function assertKind(field, kind) {
|
|
140
|
+
if (field.fieldKind != kind) {
|
|
141
|
+
throw new FieldError(field, `${field.toString()} is ${field.fieldKind}`, "ForeignFieldError");
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
function assertOwn(owner, member) {
|
|
145
|
+
if (member.parent.typeName !== owner.$typeName) {
|
|
146
|
+
throw new FieldError(member, `cannot use ${member.toString()} with message ${owner.$typeName}`, "ForeignFieldError");
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
export function reflectList(field, unsafeInput) {
|
|
150
|
+
const arr = unsafeInput !== null && unsafeInput !== void 0 ? unsafeInput : [];
|
|
151
|
+
return {
|
|
152
|
+
[unsafeLocal]: arr,
|
|
153
|
+
field() {
|
|
154
|
+
return field;
|
|
155
|
+
},
|
|
156
|
+
get size() {
|
|
157
|
+
return arr.length;
|
|
158
|
+
},
|
|
159
|
+
get(index) {
|
|
160
|
+
const item = arr[index];
|
|
161
|
+
return item === undefined
|
|
162
|
+
? undefined
|
|
163
|
+
: listItemToReflect(field, item);
|
|
164
|
+
},
|
|
165
|
+
set(index, item) {
|
|
166
|
+
if (index < 0 || index >= arr.length) {
|
|
167
|
+
return new FieldError(field, `list item #${index + 1}: out of range`);
|
|
168
|
+
}
|
|
169
|
+
const err = checkListItem(field, index, item);
|
|
170
|
+
if (!err) {
|
|
171
|
+
arr[index] = listItemToLocal(field, item);
|
|
172
|
+
}
|
|
173
|
+
return err;
|
|
174
|
+
},
|
|
175
|
+
add(...items) {
|
|
176
|
+
let err;
|
|
177
|
+
for (let i = 0; i < items.length && !err; i++) {
|
|
178
|
+
err = checkListItem(field, arr.length + i, items[i]);
|
|
179
|
+
}
|
|
180
|
+
if (!err) {
|
|
181
|
+
for (const item of items) {
|
|
182
|
+
arr.push(listItemToLocal(field, item));
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
return err;
|
|
186
|
+
},
|
|
187
|
+
clear() {
|
|
188
|
+
arr.splice(0, arr.length);
|
|
189
|
+
},
|
|
190
|
+
[Symbol.iterator]() {
|
|
191
|
+
return this.values();
|
|
192
|
+
},
|
|
193
|
+
keys() {
|
|
194
|
+
return arr.keys();
|
|
195
|
+
},
|
|
196
|
+
*values() {
|
|
197
|
+
for (const item of arr) {
|
|
198
|
+
yield listItemToReflect(field, item);
|
|
199
|
+
}
|
|
200
|
+
},
|
|
201
|
+
*entries() {
|
|
202
|
+
for (let i = 0; i < arr.length; i++) {
|
|
203
|
+
yield [i, listItemToReflect(field, arr[i])];
|
|
204
|
+
}
|
|
205
|
+
},
|
|
206
|
+
};
|
|
207
|
+
}
|
|
208
|
+
export function reflectMap(field, unsafeInput) {
|
|
209
|
+
const obj = unsafeInput !== null && unsafeInput !== void 0 ? unsafeInput : {};
|
|
210
|
+
return {
|
|
211
|
+
[unsafeLocal]: obj,
|
|
212
|
+
field() {
|
|
213
|
+
return field;
|
|
214
|
+
},
|
|
215
|
+
set(key, value) {
|
|
216
|
+
const err = checkMapEntry(field, key, value);
|
|
217
|
+
if (!err) {
|
|
218
|
+
obj[mapKeyToLocal(key)] = mapValueToLocal(field, value);
|
|
219
|
+
}
|
|
220
|
+
return err;
|
|
221
|
+
},
|
|
222
|
+
delete(key) {
|
|
223
|
+
const k = mapKeyToLocal(key);
|
|
224
|
+
const has = Object.prototype.hasOwnProperty.call(obj, k);
|
|
225
|
+
if (has) {
|
|
226
|
+
delete obj[k];
|
|
227
|
+
}
|
|
228
|
+
return has;
|
|
229
|
+
},
|
|
230
|
+
clear() {
|
|
231
|
+
for (const key of Object.keys(obj)) {
|
|
232
|
+
delete obj[key];
|
|
233
|
+
}
|
|
234
|
+
},
|
|
235
|
+
get(key) {
|
|
236
|
+
let val = obj[mapKeyToLocal(key)];
|
|
237
|
+
if (val !== undefined) {
|
|
238
|
+
val = mapValueToReflect(field, val);
|
|
239
|
+
}
|
|
240
|
+
return val;
|
|
241
|
+
},
|
|
242
|
+
has(key) {
|
|
243
|
+
return Object.prototype.hasOwnProperty.call(obj, mapKeyToLocal(key));
|
|
244
|
+
},
|
|
245
|
+
*keys() {
|
|
246
|
+
for (const objKey of Object.keys(obj)) {
|
|
247
|
+
yield mapKeyToReflect(objKey, field.mapKey);
|
|
248
|
+
}
|
|
249
|
+
},
|
|
250
|
+
*entries() {
|
|
251
|
+
for (const objEntry of Object.entries(obj)) {
|
|
252
|
+
yield [
|
|
253
|
+
mapKeyToReflect(objEntry[0], field.mapKey),
|
|
254
|
+
mapValueToReflect(field, objEntry[1]),
|
|
255
|
+
];
|
|
256
|
+
}
|
|
257
|
+
},
|
|
258
|
+
[Symbol.iterator]() {
|
|
259
|
+
return this.entries();
|
|
260
|
+
},
|
|
261
|
+
get size() {
|
|
262
|
+
return Object.keys(obj).length;
|
|
263
|
+
},
|
|
264
|
+
*values() {
|
|
265
|
+
for (const val of Object.values(obj)) {
|
|
266
|
+
yield mapValueToReflect(field, val);
|
|
267
|
+
}
|
|
268
|
+
},
|
|
269
|
+
forEach(callbackfn, thisArg) {
|
|
270
|
+
for (const mapEntry of this.entries()) {
|
|
271
|
+
callbackfn.call(thisArg, mapEntry[1], mapEntry[0], this);
|
|
272
|
+
}
|
|
273
|
+
},
|
|
274
|
+
};
|
|
275
|
+
}
|
|
276
|
+
function listItemToLocal(field, value) {
|
|
277
|
+
if (isReflectMessage(value)) {
|
|
278
|
+
return value.message;
|
|
279
|
+
}
|
|
280
|
+
return longToLocal(field, value);
|
|
281
|
+
}
|
|
282
|
+
function listItemToReflect(field, value) {
|
|
283
|
+
if (field.listKind == "message") {
|
|
284
|
+
return reflect(field.message, value);
|
|
285
|
+
}
|
|
286
|
+
return longToReflect(field, value);
|
|
287
|
+
}
|
|
288
|
+
function mapValueToLocal(field, value) {
|
|
289
|
+
if (isReflectMessage(value)) {
|
|
290
|
+
return value.message;
|
|
291
|
+
}
|
|
292
|
+
return longToLocal(field, value);
|
|
293
|
+
}
|
|
294
|
+
function mapValueToReflect(field, value) {
|
|
295
|
+
if (field.mapKind == "message") {
|
|
296
|
+
return reflect(field.message, value);
|
|
297
|
+
}
|
|
298
|
+
return value;
|
|
299
|
+
}
|
|
300
|
+
function mapKeyToLocal(key) {
|
|
301
|
+
return typeof key == "string" || typeof key == "number" ? key : String(key);
|
|
302
|
+
}
|
|
303
|
+
/**
|
|
304
|
+
* Converts a map key (any scalar value except float, double, or bytes) from its
|
|
305
|
+
* representation in a message (string or number, the only possible object key
|
|
306
|
+
* types) to the closest possible type in ECMAScript.
|
|
307
|
+
*/
|
|
308
|
+
function mapKeyToReflect(key, type) {
|
|
309
|
+
switch (type) {
|
|
310
|
+
case ScalarType.STRING:
|
|
311
|
+
return key;
|
|
312
|
+
case ScalarType.INT32:
|
|
313
|
+
case ScalarType.FIXED32:
|
|
314
|
+
case ScalarType.UINT32:
|
|
315
|
+
case ScalarType.SFIXED32:
|
|
316
|
+
case ScalarType.SINT32: {
|
|
317
|
+
const n = Number.parseInt(key);
|
|
318
|
+
if (Number.isFinite(n)) {
|
|
319
|
+
return n;
|
|
320
|
+
}
|
|
321
|
+
break;
|
|
322
|
+
}
|
|
323
|
+
case ScalarType.BOOL:
|
|
324
|
+
switch (key) {
|
|
325
|
+
case "true":
|
|
326
|
+
return true;
|
|
327
|
+
case "false":
|
|
328
|
+
return false;
|
|
329
|
+
}
|
|
330
|
+
break;
|
|
331
|
+
case ScalarType.UINT64:
|
|
332
|
+
case ScalarType.FIXED64:
|
|
333
|
+
try {
|
|
334
|
+
return protoInt64.uParse(key);
|
|
335
|
+
}
|
|
336
|
+
catch (_a) {
|
|
337
|
+
//
|
|
338
|
+
}
|
|
339
|
+
break;
|
|
340
|
+
default:
|
|
341
|
+
// INT64, SFIXED64, SINT64
|
|
342
|
+
try {
|
|
343
|
+
return protoInt64.parse(key);
|
|
344
|
+
}
|
|
345
|
+
catch (_b) {
|
|
346
|
+
//
|
|
347
|
+
}
|
|
348
|
+
break;
|
|
349
|
+
}
|
|
350
|
+
return key;
|
|
351
|
+
}
|
|
352
|
+
function longToReflect(field, value) {
|
|
353
|
+
if (field.scalar !== undefined) {
|
|
354
|
+
// eslint-disable-next-line @typescript-eslint/switch-exhaustiveness-check
|
|
355
|
+
switch (field.scalar) {
|
|
356
|
+
case ScalarType.INT64:
|
|
357
|
+
case ScalarType.SFIXED64:
|
|
358
|
+
case ScalarType.SINT64:
|
|
359
|
+
if ("longType" in field &&
|
|
360
|
+
field.longType == LongType.STRING &&
|
|
361
|
+
typeof value == "string") {
|
|
362
|
+
value = protoInt64.parse(value);
|
|
363
|
+
}
|
|
364
|
+
break;
|
|
365
|
+
case ScalarType.FIXED64:
|
|
366
|
+
case ScalarType.UINT64:
|
|
367
|
+
if ("longType" in field &&
|
|
368
|
+
field.longType == LongType.STRING &&
|
|
369
|
+
typeof value == "string") {
|
|
370
|
+
value = protoInt64.uParse(value);
|
|
371
|
+
}
|
|
372
|
+
break;
|
|
373
|
+
}
|
|
374
|
+
}
|
|
375
|
+
return value;
|
|
376
|
+
}
|
|
377
|
+
function longToLocal(field, value) {
|
|
378
|
+
if (field.scalar !== undefined) {
|
|
379
|
+
// eslint-disable-next-line @typescript-eslint/switch-exhaustiveness-check
|
|
380
|
+
switch (field.scalar) {
|
|
381
|
+
case ScalarType.INT64:
|
|
382
|
+
case ScalarType.SFIXED64:
|
|
383
|
+
case ScalarType.SINT64:
|
|
384
|
+
if ("longType" in field && field.longType == LongType.STRING) {
|
|
385
|
+
value = String(value);
|
|
386
|
+
}
|
|
387
|
+
else if (typeof value == "string" || typeof value == "number") {
|
|
388
|
+
value = protoInt64.parse(value);
|
|
389
|
+
}
|
|
390
|
+
break;
|
|
391
|
+
case ScalarType.FIXED64:
|
|
392
|
+
case ScalarType.UINT64:
|
|
393
|
+
if ("longType" in field && field.longType == LongType.STRING) {
|
|
394
|
+
value = String(value);
|
|
395
|
+
}
|
|
396
|
+
else if (typeof value == "string" || typeof value == "number") {
|
|
397
|
+
value = protoInt64.uParse(value);
|
|
398
|
+
}
|
|
399
|
+
break;
|
|
400
|
+
}
|
|
401
|
+
}
|
|
402
|
+
return value;
|
|
403
|
+
}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import type { FileDescriptorProto, FileDescriptorSet } from "../wkt/gen/google/protobuf/descriptor_pb.js";
|
|
2
|
+
import type { DescEnum, DescExtension, DescFile, DescMessage, DescService, SupportedEdition } from "../desc-types.js";
|
|
3
|
+
/**
|
|
4
|
+
* A set of descriptors for messages, enumerations, extensions,
|
|
5
|
+
* and services.
|
|
6
|
+
*/
|
|
7
|
+
export interface Registry {
|
|
8
|
+
readonly kind: "registry";
|
|
9
|
+
/**
|
|
10
|
+
* All types (message, enumeration, extension, or service) contained
|
|
11
|
+
* in this registry.
|
|
12
|
+
*/
|
|
13
|
+
[Symbol.iterator](): IterableIterator<DescMessage | DescEnum | DescExtension | DescService>;
|
|
14
|
+
/**
|
|
15
|
+
* Look up a type (message, enumeration, extension, or service) by
|
|
16
|
+
* its fully qualified name.
|
|
17
|
+
*/
|
|
18
|
+
get(typeName: string): DescMessage | DescEnum | DescExtension | DescService | undefined;
|
|
19
|
+
/**
|
|
20
|
+
* Look up a message descriptor by its fully qualified name.
|
|
21
|
+
*/
|
|
22
|
+
getMessage(typeName: string): DescMessage | undefined;
|
|
23
|
+
/**
|
|
24
|
+
* Look up an enumeration descriptor by its fully qualified name.
|
|
25
|
+
*/
|
|
26
|
+
getEnum(typeName: string): DescEnum | undefined;
|
|
27
|
+
/**
|
|
28
|
+
* Look up an extension descriptor by its fully qualified name.
|
|
29
|
+
*/
|
|
30
|
+
getExtension(typeName: string): DescExtension | undefined;
|
|
31
|
+
/**
|
|
32
|
+
* Look up an extension by the extendee - the message it extends - and
|
|
33
|
+
* the extension number.
|
|
34
|
+
*/
|
|
35
|
+
getExtensionFor(extendee: DescMessage, no: number): DescExtension | undefined;
|
|
36
|
+
/**
|
|
37
|
+
* Look up a service descriptor by its fully qualified name.
|
|
38
|
+
*/
|
|
39
|
+
getService(typeName: string): DescService | undefined;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* A set of descriptors for messages, enumerations, extensions,
|
|
43
|
+
* and services - and files.
|
|
44
|
+
*/
|
|
45
|
+
export interface FileRegistry extends Registry {
|
|
46
|
+
/**
|
|
47
|
+
* All files in this registry.
|
|
48
|
+
*/
|
|
49
|
+
readonly files: Iterable<DescFile>;
|
|
50
|
+
/**
|
|
51
|
+
* Look up a file descriptor by file name.
|
|
52
|
+
*/
|
|
53
|
+
getFile(fileName: string): DescFile | undefined;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Create a registry from the given inputs.
|
|
57
|
+
*
|
|
58
|
+
* An input can be:
|
|
59
|
+
* - Any message, enum, service, or extension descriptor, which adds just the
|
|
60
|
+
* descriptor for this type.
|
|
61
|
+
* - A file descriptor, which adds all typed defined in this file.
|
|
62
|
+
* - A registry, which adds all types from the registry.
|
|
63
|
+
*
|
|
64
|
+
* For duplicate descriptors (same type name), the one given last wins.
|
|
65
|
+
*/
|
|
66
|
+
export declare function createRegistry(...input: (Registry | DescFile | DescMessage | DescEnum | DescExtension | DescService)[]): Registry;
|
|
67
|
+
/**
|
|
68
|
+
* Create a registry (including file descriptors) from a google.protobuf.FileDescriptorSet
|
|
69
|
+
* message.
|
|
70
|
+
*/
|
|
71
|
+
export declare function createFileRegistry(fileDescriptorSet: FileDescriptorSet): FileRegistry;
|
|
72
|
+
/**
|
|
73
|
+
* Create a registry (including file descriptors) from a google.protobuf.FileDescriptorProto
|
|
74
|
+
* message. For every import, the given resolver function is called.
|
|
75
|
+
*/
|
|
76
|
+
export declare function createFileRegistry(fileDescriptorProto: FileDescriptorProto, resolve: (protoFileName: string) => FileDescriptorProto | DescFile | undefined): FileRegistry;
|
|
77
|
+
/**
|
|
78
|
+
* Create a registry (including file descriptors) from one or more registries,
|
|
79
|
+
* merging them.
|
|
80
|
+
*/
|
|
81
|
+
export declare function createFileRegistry(...registries: FileRegistry[]): FileRegistry;
|
|
82
|
+
export declare const minimumEdition: SupportedEdition, maximumEdition: SupportedEdition;
|