@bufbuild/protobuf 2.0.0-alpha.1 → 2.0.0-alpha.3
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/README.md +1 -1
- package/dist/cjs/clone.d.ts +1 -1
- package/dist/cjs/clone.js +2 -2
- package/dist/cjs/codegenv1/boot.d.ts +1 -1
- package/dist/cjs/codegenv1/boot.js +3 -5
- package/dist/cjs/codegenv1/embed.d.ts +2 -2
- package/dist/cjs/codegenv1/embed.js +51 -46
- package/dist/cjs/codegenv1/enum.d.ts +1 -1
- package/dist/cjs/codegenv1/enum.js +2 -4
- package/dist/cjs/codegenv1/extension.d.ts +1 -1
- package/dist/cjs/codegenv1/file.d.ts +1 -1
- package/dist/cjs/codegenv1/file.js +5 -7
- package/dist/cjs/codegenv1/index.d.ts +1 -0
- package/dist/cjs/codegenv1/index.js +1 -0
- package/dist/cjs/codegenv1/message.d.ts +1 -1
- package/dist/cjs/codegenv1/restore-json-names.d.ts +3 -0
- package/dist/cjs/codegenv1/restore-json-names.js +3 -0
- package/dist/cjs/codegenv1/scalar.d.ts +5 -0
- package/dist/cjs/codegenv1/scalar.js +39 -0
- package/dist/cjs/codegenv1/service.d.ts +3 -3
- package/dist/cjs/codegenv1/symbols.d.ts +9 -0
- package/dist/cjs/codegenv1/symbols.js +9 -0
- package/dist/cjs/codegenv1/types.d.ts +59 -8
- package/dist/cjs/create.d.ts +1 -1
- package/dist/cjs/create.js +13 -23
- package/dist/cjs/{desc-types.d.ts → descriptors.d.ts} +66 -17
- package/dist/cjs/descriptors.js +53 -0
- package/dist/cjs/equals.d.ts +1 -1
- package/dist/cjs/extensions.d.ts +21 -1
- package/dist/cjs/extensions.js +42 -10
- package/dist/cjs/fields.d.ts +17 -16
- package/dist/cjs/fields.js +17 -10
- package/dist/cjs/from-binary.d.ts +2 -2
- package/dist/cjs/from-binary.js +31 -41
- package/dist/cjs/from-json.d.ts +4 -4
- package/dist/cjs/from-json.js +200 -185
- package/dist/cjs/index.d.ts +3 -2
- package/dist/cjs/index.js +5 -2
- package/dist/cjs/is-message.d.ts +1 -1
- package/dist/cjs/proto-int64.d.ts +4 -1
- package/dist/cjs/proto-int64.js +16 -6
- package/dist/cjs/reflect/error.d.ts +1 -1
- package/dist/cjs/reflect/guard.d.ts +1 -1
- package/dist/cjs/reflect/index.d.ts +0 -1
- package/dist/cjs/reflect/index.js +0 -1
- package/dist/cjs/reflect/names.d.ts +1 -13
- package/dist/cjs/reflect/names.js +2 -40
- package/dist/cjs/reflect/nested-types.d.ts +11 -1
- package/dist/cjs/reflect/nested-types.js +34 -1
- package/dist/cjs/reflect/reflect-check.d.ts +10 -1
- package/dist/cjs/reflect/reflect-check.js +126 -9
- package/dist/cjs/reflect/reflect-types.d.ts +162 -14
- package/dist/cjs/reflect/reflect.d.ts +12 -3
- package/dist/cjs/reflect/reflect.js +316 -290
- package/dist/cjs/reflect/scalar.d.ts +3 -55
- package/dist/cjs/reflect/scalar.js +26 -220
- package/dist/cjs/reflect/unsafe.d.ts +1 -1
- package/dist/cjs/reflect/unsafe.js +38 -43
- package/dist/cjs/{reflect/registry.d.ts → registry.d.ts} +2 -2
- package/dist/cjs/{reflect/registry.js → registry.js} +100 -73
- package/dist/cjs/to-binary.d.ts +1 -1
- package/dist/cjs/to-binary.js +28 -30
- package/dist/cjs/to-json.d.ts +7 -6
- package/dist/cjs/to-json.js +63 -70
- package/dist/cjs/types.d.ts +1 -1
- package/dist/cjs/wire/base64-encoding.js +4 -4
- package/dist/cjs/wire/binary-encoding.d.ts +25 -3
- package/dist/cjs/wire/binary-encoding.js +70 -18
- package/dist/cjs/wire/size-delimited.d.ts +1 -1
- package/dist/cjs/wire/text-format.d.ts +1 -2
- package/dist/cjs/wire/text-format.js +21 -19
- package/dist/cjs/wkt/any.d.ts +3 -3
- package/dist/cjs/wkt/gen/google/protobuf/any_pb.d.ts +7 -0
- package/dist/cjs/wkt/gen/google/protobuf/any_pb.js +7 -2
- package/dist/cjs/wkt/gen/google/protobuf/api_pb.d.ts +15 -0
- package/dist/cjs/wkt/gen/google/protobuf/api_pb.js +15 -6
- package/dist/cjs/wkt/gen/google/protobuf/compiler/plugin_pb.d.ts +22 -0
- package/dist/cjs/wkt/gen/google/protobuf/compiler/plugin_pb.js +22 -9
- package/dist/cjs/wkt/gen/google/protobuf/descriptor_pb.d.ts +192 -0
- package/dist/cjs/wkt/gen/google/protobuf/descriptor_pb.js +187 -84
- package/dist/cjs/wkt/gen/google/protobuf/duration_pb.d.ts +7 -0
- package/dist/cjs/wkt/gen/google/protobuf/duration_pb.js +7 -2
- package/dist/cjs/wkt/gen/google/protobuf/empty_pb.d.ts +7 -0
- package/dist/cjs/wkt/gen/google/protobuf/empty_pb.js +7 -2
- package/dist/cjs/wkt/gen/google/protobuf/field_mask_pb.d.ts +7 -0
- package/dist/cjs/wkt/gen/google/protobuf/field_mask_pb.js +7 -2
- package/dist/cjs/wkt/gen/google/protobuf/source_context_pb.d.ts +7 -0
- package/dist/cjs/wkt/gen/google/protobuf/source_context_pb.js +7 -2
- package/dist/cjs/wkt/gen/google/protobuf/struct_pb.d.ts +18 -0
- package/dist/cjs/wkt/gen/google/protobuf/struct_pb.js +18 -7
- package/dist/cjs/wkt/gen/google/protobuf/timestamp_pb.d.ts +7 -0
- package/dist/cjs/wkt/gen/google/protobuf/timestamp_pb.js +7 -2
- package/dist/cjs/wkt/gen/google/protobuf/type_pb.d.ts +32 -0
- package/dist/cjs/wkt/gen/google/protobuf/type_pb.js +32 -13
- package/dist/cjs/wkt/gen/google/protobuf/wrappers_pb.d.ts +39 -0
- package/dist/cjs/wkt/gen/google/protobuf/wrappers_pb.js +39 -18
- package/dist/cjs/wkt/wrappers.d.ts +1 -1
- package/dist/esm/clone.d.ts +1 -1
- package/dist/esm/clone.js +1 -1
- package/dist/esm/codegenv1/boot.d.ts +1 -1
- package/dist/esm/codegenv1/boot.js +3 -5
- package/dist/esm/codegenv1/embed.d.ts +2 -2
- package/dist/esm/codegenv1/embed.js +34 -29
- package/dist/esm/codegenv1/enum.d.ts +1 -1
- package/dist/esm/codegenv1/enum.js +2 -4
- package/dist/esm/codegenv1/extension.d.ts +1 -1
- package/dist/esm/codegenv1/file.d.ts +1 -1
- package/dist/esm/codegenv1/file.js +4 -6
- package/dist/esm/codegenv1/index.d.ts +1 -0
- package/dist/esm/codegenv1/index.js +1 -0
- package/dist/esm/codegenv1/message.d.ts +1 -1
- package/dist/esm/codegenv1/restore-json-names.d.ts +3 -0
- package/dist/esm/codegenv1/restore-json-names.js +3 -0
- package/dist/esm/codegenv1/scalar.d.ts +5 -0
- package/dist/esm/codegenv1/scalar.js +35 -0
- package/dist/esm/codegenv1/service.d.ts +3 -3
- package/dist/esm/codegenv1/symbols.d.ts +9 -0
- package/dist/esm/codegenv1/symbols.js +9 -0
- package/dist/esm/codegenv1/types.d.ts +59 -8
- package/dist/esm/create.d.ts +1 -1
- package/dist/esm/create.js +11 -21
- package/dist/esm/{desc-types.d.ts → descriptors.d.ts} +66 -17
- package/dist/esm/descriptors.js +50 -0
- package/dist/esm/equals.d.ts +1 -1
- package/dist/esm/extensions.d.ts +21 -1
- package/dist/esm/extensions.js +39 -9
- package/dist/esm/fields.d.ts +17 -16
- package/dist/esm/fields.js +17 -10
- package/dist/esm/from-binary.d.ts +2 -2
- package/dist/esm/from-binary.js +13 -23
- package/dist/esm/from-json.d.ts +4 -4
- package/dist/esm/from-json.js +193 -178
- package/dist/esm/index.d.ts +3 -2
- package/dist/esm/index.js +3 -2
- package/dist/esm/is-message.d.ts +1 -1
- package/dist/esm/proto-int64.d.ts +4 -1
- package/dist/esm/proto-int64.js +16 -6
- package/dist/esm/reflect/error.d.ts +1 -1
- package/dist/esm/reflect/guard.d.ts +1 -1
- package/dist/esm/reflect/index.d.ts +0 -1
- package/dist/esm/reflect/index.js +0 -1
- package/dist/esm/reflect/names.d.ts +1 -13
- package/dist/esm/reflect/names.js +1 -38
- package/dist/esm/reflect/nested-types.d.ts +11 -1
- package/dist/esm/reflect/nested-types.js +32 -0
- package/dist/esm/reflect/reflect-check.d.ts +10 -1
- package/dist/esm/reflect/reflect-check.js +119 -2
- package/dist/esm/reflect/reflect-types.d.ts +162 -14
- package/dist/esm/reflect/reflect-types.js +1 -0
- package/dist/esm/reflect/reflect.d.ts +12 -3
- package/dist/esm/reflect/reflect.js +305 -279
- package/dist/esm/reflect/scalar.d.ts +3 -55
- package/dist/esm/reflect/scalar.js +14 -205
- package/dist/esm/reflect/unsafe.d.ts +1 -1
- package/dist/esm/reflect/unsafe.js +38 -43
- package/dist/esm/{reflect/registry.d.ts → registry.d.ts} +2 -2
- package/dist/esm/{reflect/registry.js → registry.js} +90 -63
- package/dist/esm/to-binary.d.ts +1 -1
- package/dist/esm/to-binary.js +2 -4
- package/dist/esm/to-json.d.ts +7 -6
- package/dist/esm/to-json.js +48 -55
- package/dist/esm/types.d.ts +1 -1
- package/dist/esm/wire/base64-encoding.js +4 -4
- package/dist/esm/wire/binary-encoding.d.ts +25 -3
- package/dist/esm/wire/binary-encoding.js +63 -11
- package/dist/esm/wire/size-delimited.d.ts +1 -1
- package/dist/esm/wire/text-format.d.ts +1 -2
- package/dist/esm/wire/text-format.js +5 -3
- package/dist/esm/wkt/any.d.ts +3 -3
- package/dist/esm/wkt/gen/google/protobuf/any_pb.d.ts +7 -0
- package/dist/esm/wkt/gen/google/protobuf/any_pb.js +7 -2
- package/dist/esm/wkt/gen/google/protobuf/api_pb.d.ts +15 -0
- package/dist/esm/wkt/gen/google/protobuf/api_pb.js +15 -6
- package/dist/esm/wkt/gen/google/protobuf/compiler/plugin_pb.d.ts +22 -0
- package/dist/esm/wkt/gen/google/protobuf/compiler/plugin_pb.js +22 -9
- package/dist/esm/wkt/gen/google/protobuf/descriptor_pb.d.ts +192 -0
- package/dist/esm/wkt/gen/google/protobuf/descriptor_pb.js +187 -84
- package/dist/esm/wkt/gen/google/protobuf/duration_pb.d.ts +7 -0
- package/dist/esm/wkt/gen/google/protobuf/duration_pb.js +7 -2
- package/dist/esm/wkt/gen/google/protobuf/empty_pb.d.ts +7 -0
- package/dist/esm/wkt/gen/google/protobuf/empty_pb.js +7 -2
- package/dist/esm/wkt/gen/google/protobuf/field_mask_pb.d.ts +7 -0
- package/dist/esm/wkt/gen/google/protobuf/field_mask_pb.js +7 -2
- package/dist/esm/wkt/gen/google/protobuf/source_context_pb.d.ts +7 -0
- package/dist/esm/wkt/gen/google/protobuf/source_context_pb.js +7 -2
- package/dist/esm/wkt/gen/google/protobuf/struct_pb.d.ts +18 -0
- package/dist/esm/wkt/gen/google/protobuf/struct_pb.js +18 -7
- package/dist/esm/wkt/gen/google/protobuf/timestamp_pb.d.ts +7 -0
- package/dist/esm/wkt/gen/google/protobuf/timestamp_pb.js +7 -2
- package/dist/esm/wkt/gen/google/protobuf/type_pb.d.ts +32 -0
- package/dist/esm/wkt/gen/google/protobuf/type_pb.js +32 -13
- package/dist/esm/wkt/gen/google/protobuf/wrappers_pb.d.ts +39 -0
- package/dist/esm/wkt/gen/google/protobuf/wrappers_pb.js +39 -18
- package/dist/esm/wkt/wrappers.d.ts +1 -1
- package/package.json +2 -2
- package/dist/cjs/desc-types.js +0 -15
- package/dist/cjs/reflect/assert.d.ts +0 -16
- package/dist/cjs/reflect/assert.js +0 -59
- package/dist/esm/desc-types.js +0 -14
- package/dist/esm/reflect/assert.d.ts +0 -16
- package/dist/esm/reflect/assert.js +0 -52
|
@@ -1,32 +1,151 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type DescField, type DescMessage, type DescOneof } from "../descriptors.js";
|
|
2
2
|
import { FieldError } from "./error.js";
|
|
3
3
|
import { unsafeLocal } from "./unsafe.js";
|
|
4
4
|
import type { Message, UnknownField } from "../types.js";
|
|
5
|
-
import type {
|
|
5
|
+
import type { ScalarValue } from "./scalar.js";
|
|
6
|
+
/**
|
|
7
|
+
* ReflectMessage provides dynamic access and manipulation of a message.
|
|
8
|
+
*/
|
|
6
9
|
export interface ReflectMessage {
|
|
10
|
+
/**
|
|
11
|
+
* The underlying message instance.
|
|
12
|
+
*/
|
|
7
13
|
readonly message: Message;
|
|
14
|
+
/**
|
|
15
|
+
* The descriptor for the message.
|
|
16
|
+
*/
|
|
8
17
|
readonly desc: DescMessage;
|
|
18
|
+
/**
|
|
19
|
+
* The fields of the message. This is a shortcut to message.fields.
|
|
20
|
+
*/
|
|
9
21
|
readonly fields: readonly DescField[];
|
|
22
|
+
/**
|
|
23
|
+
* The fields of the message, sorted by field number ascending.
|
|
24
|
+
*/
|
|
10
25
|
readonly sortedFields: readonly DescField[];
|
|
26
|
+
/**
|
|
27
|
+
* Oneof groups of the message. This is a shortcut to message.oneofs.
|
|
28
|
+
*/
|
|
11
29
|
readonly oneofs: readonly DescOneof[];
|
|
30
|
+
/**
|
|
31
|
+
* Fields and oneof groups for this message. This is a shortcut to message.members.
|
|
32
|
+
*/
|
|
12
33
|
readonly members: readonly (DescField | DescOneof)[];
|
|
34
|
+
/**
|
|
35
|
+
* Find a field by number.
|
|
36
|
+
*/
|
|
13
37
|
findNumber(number: number): DescField | undefined;
|
|
38
|
+
/**
|
|
39
|
+
* Returns true if the field is set.
|
|
40
|
+
*
|
|
41
|
+
* - Scalar and enum fields with implicit presence (proto3):
|
|
42
|
+
* Set if not a zero value.
|
|
43
|
+
*
|
|
44
|
+
* - Scalar and enum fields with explicit presence (proto2, oneof):
|
|
45
|
+
* Set if a value was set when creating or parsing the message, or when a
|
|
46
|
+
* value was assigned to the field's property.
|
|
47
|
+
*
|
|
48
|
+
* - Message fields:
|
|
49
|
+
* Set if the property is not undefined.
|
|
50
|
+
*
|
|
51
|
+
* - List and map fields:
|
|
52
|
+
* Set if not empty.
|
|
53
|
+
*/
|
|
14
54
|
isSet(field: DescField): boolean;
|
|
55
|
+
/**
|
|
56
|
+
* Resets the field, so that isSet() will return false.
|
|
57
|
+
*/
|
|
15
58
|
clear(field: DescField): void;
|
|
59
|
+
/**
|
|
60
|
+
* Return the selected field of a oneof group.
|
|
61
|
+
*/
|
|
16
62
|
oneofCase(oneof: DescOneof): DescField | undefined;
|
|
63
|
+
/**
|
|
64
|
+
* Returns the field value. Values are converted or wrapped to make it easier
|
|
65
|
+
* to manipulate messages.
|
|
66
|
+
*
|
|
67
|
+
* - Scalar fields:
|
|
68
|
+
* Returns the value, but converts 64-bit integer fields with the option
|
|
69
|
+
* `jstype=JS_STRING` to a bigint value.
|
|
70
|
+
* If the field is not set, the default value is returned. If no default
|
|
71
|
+
* value is set, the zero value is returned.
|
|
72
|
+
*
|
|
73
|
+
* - Enum fields:
|
|
74
|
+
* Returns the numeric value. If the field is not set, the default value is
|
|
75
|
+
* returned. If no default value is set, the zero value is returned.
|
|
76
|
+
*
|
|
77
|
+
* - Message fields:
|
|
78
|
+
* Returns a ReflectMessage. If the field is not set, a new message is
|
|
79
|
+
* returned, but not set on the field.
|
|
80
|
+
*
|
|
81
|
+
* - List fields:
|
|
82
|
+
* Returns a ReflectList object.
|
|
83
|
+
*
|
|
84
|
+
* - Map fields:
|
|
85
|
+
* Returns a ReflectMap object.
|
|
86
|
+
*
|
|
87
|
+
* Note that get() never returns `undefined`. To determine whether a field is
|
|
88
|
+
* set, use isSet().
|
|
89
|
+
*/
|
|
17
90
|
get<Field extends DescField>(field: Field): ReflectGetValue<Field>;
|
|
91
|
+
/**
|
|
92
|
+
* Set a field value.
|
|
93
|
+
*
|
|
94
|
+
* Expects values in the same form that get() returns:
|
|
95
|
+
*
|
|
96
|
+
* - Scalar fields:
|
|
97
|
+
* 64-bit integer fields with the option `jstype=JS_STRING` as a bigint value.
|
|
98
|
+
*
|
|
99
|
+
* - Message fields:
|
|
100
|
+
* ReflectMessage.
|
|
101
|
+
*
|
|
102
|
+
* - List fields:
|
|
103
|
+
* ReflectList.
|
|
104
|
+
*
|
|
105
|
+
* - Map fields:
|
|
106
|
+
* ReflectMap.
|
|
107
|
+
*
|
|
108
|
+
* Returns an error if the value is invalid for the field. `undefined` is not
|
|
109
|
+
* a valid value. To reset a field, use clear().
|
|
110
|
+
*/
|
|
18
111
|
set<Field extends DescField>(field: Field, value: ReflectSetValue<Field>): FieldError | undefined;
|
|
112
|
+
/**
|
|
113
|
+
* Add an item to a list field.
|
|
114
|
+
*/
|
|
19
115
|
addListItem<Field extends DescField & {
|
|
20
116
|
fieldKind: "list";
|
|
21
|
-
}>(field: Field, value:
|
|
117
|
+
}>(field: Field, value: ReflectAddListItemValue<Field>): FieldError | undefined;
|
|
118
|
+
/**
|
|
119
|
+
* Set a map entry.
|
|
120
|
+
*/
|
|
22
121
|
setMapEntry<Field extends DescField & {
|
|
23
122
|
fieldKind: "map";
|
|
24
|
-
}>(field: Field, key: MapEntryKey, value:
|
|
123
|
+
}>(field: Field, key: MapEntryKey, value: ReflectSetMapEntryValue<Field>): FieldError | undefined;
|
|
124
|
+
/**
|
|
125
|
+
* Returns the unknown fields of the message.
|
|
126
|
+
*/
|
|
25
127
|
getUnknown(): UnknownField[] | undefined;
|
|
128
|
+
/**
|
|
129
|
+
* Sets the unknown fields of the message, overwriting any previous values.
|
|
130
|
+
*/
|
|
26
131
|
setUnknown(value: UnknownField[]): void;
|
|
27
132
|
[unsafeLocal]: Message;
|
|
28
133
|
}
|
|
134
|
+
/**
|
|
135
|
+
* ReflectList provides dynamic access and manipulation of a list field on a
|
|
136
|
+
* message.
|
|
137
|
+
*
|
|
138
|
+
* ReflectList is iterable - you can loop through all items with a for...of loop.
|
|
139
|
+
*
|
|
140
|
+
* Values are converted or wrapped to make it easier to manipulate them:
|
|
141
|
+
* - Scalar 64-bit integer fields with the option `jstype=JS_STRING` are
|
|
142
|
+
* converted to bigint.
|
|
143
|
+
* - Messages are wrapped in a ReflectMessage.
|
|
144
|
+
*/
|
|
29
145
|
export interface ReflectList<V = unknown> extends Iterable<V> {
|
|
146
|
+
/**
|
|
147
|
+
* Returns the list field.
|
|
148
|
+
*/
|
|
30
149
|
field(): DescField & {
|
|
31
150
|
fieldKind: "list";
|
|
32
151
|
};
|
|
@@ -60,7 +179,21 @@ export interface ReflectList<V = unknown> extends Iterable<V> {
|
|
|
60
179
|
values(): IterableIterator<V>;
|
|
61
180
|
[unsafeLocal]: unknown[];
|
|
62
181
|
}
|
|
182
|
+
/**
|
|
183
|
+
* ReflectMap provides dynamic access and manipulation of a map field on a
|
|
184
|
+
* message.
|
|
185
|
+
*
|
|
186
|
+
* ReflectMap is iterable - you can loop through all entries with a for...of loop.
|
|
187
|
+
*
|
|
188
|
+
* Keys and values are converted or wrapped to make it easier to manipulate them:
|
|
189
|
+
* - A map field is a record object on a message, where keys are always strings.
|
|
190
|
+
* ReflectMap converts keys to their closest possible type in TypeScript.
|
|
191
|
+
* - Messages are wrapped in a ReflectMessage.
|
|
192
|
+
*/
|
|
63
193
|
export interface ReflectMap<K extends MapEntryKey = MapEntryKey, V = unknown> extends ReadonlyMap<K, V> {
|
|
194
|
+
/**
|
|
195
|
+
* Returns the map field.
|
|
196
|
+
*/
|
|
64
197
|
field(): DescField & {
|
|
65
198
|
fieldKind: "map";
|
|
66
199
|
};
|
|
@@ -80,9 +213,15 @@ export interface ReflectMap<K extends MapEntryKey = MapEntryKey, V = unknown> ex
|
|
|
80
213
|
clear(): void;
|
|
81
214
|
[unsafeLocal]: Record<string, unknown>;
|
|
82
215
|
}
|
|
216
|
+
/**
|
|
217
|
+
* A ReflectMap key.
|
|
218
|
+
*/
|
|
83
219
|
export type MapEntryKey = string | number | bigint | boolean;
|
|
84
220
|
type enumVal = number;
|
|
85
|
-
|
|
221
|
+
/**
|
|
222
|
+
* The return type of ReflectMessage.get()
|
|
223
|
+
*/
|
|
224
|
+
export type ReflectGetValue<Field extends DescField = DescField> = (Field extends {
|
|
86
225
|
fieldKind: "map";
|
|
87
226
|
} ? (Field extends {
|
|
88
227
|
mapKind: "message";
|
|
@@ -91,29 +230,35 @@ type ReflectGetValue<Field extends DescField = DescField> = (Field extends {
|
|
|
91
230
|
} ? ReflectMap<MapEntryKey, enumVal> : Field extends {
|
|
92
231
|
mapKind: "scalar";
|
|
93
232
|
scalar: infer T;
|
|
94
|
-
} ? ReflectMap<MapEntryKey, ScalarValue<T
|
|
233
|
+
} ? ReflectMap<MapEntryKey, ScalarValue<T>> : never) : Field extends {
|
|
95
234
|
fieldKind: "list";
|
|
96
235
|
} ? ReflectList : Field extends {
|
|
97
236
|
fieldKind: "enum";
|
|
98
|
-
} ? number
|
|
237
|
+
} ? number : Field extends {
|
|
99
238
|
fieldKind: "message";
|
|
100
239
|
} ? ReflectMessage : Field extends {
|
|
101
240
|
fieldKind: "scalar";
|
|
102
241
|
scalar: infer T;
|
|
103
|
-
} ? ScalarValue<T>
|
|
104
|
-
|
|
242
|
+
} ? ScalarValue<T> : never);
|
|
243
|
+
/**
|
|
244
|
+
* The type of the "value" argument of ReflectMessage.set()
|
|
245
|
+
*/
|
|
246
|
+
export type ReflectSetValue<Field extends DescField = DescField> = (Field extends {
|
|
105
247
|
fieldKind: "map";
|
|
106
248
|
} ? ReflectMap : Field extends {
|
|
107
249
|
fieldKind: "list";
|
|
108
250
|
} ? ReflectList : Field extends {
|
|
109
251
|
fieldKind: "enum";
|
|
110
|
-
} ? number
|
|
252
|
+
} ? number : Field extends {
|
|
111
253
|
fieldKind: "message";
|
|
112
254
|
} ? ReflectMessage : Field extends {
|
|
113
255
|
fieldKind: "scalar";
|
|
114
256
|
scalar: infer T;
|
|
115
|
-
} ? ScalarValue<T>
|
|
116
|
-
|
|
257
|
+
} ? ScalarValue<T> : never);
|
|
258
|
+
/**
|
|
259
|
+
* The type of the "value" argument of ReflectMessage.addListItem()
|
|
260
|
+
*/
|
|
261
|
+
export type ReflectAddListItemValue<Field extends DescField & {
|
|
117
262
|
fieldKind: "list";
|
|
118
263
|
}> = (Field extends {
|
|
119
264
|
listKind: "scalar";
|
|
@@ -123,7 +268,10 @@ type NewListItem<Field extends DescField & {
|
|
|
123
268
|
} ? enumVal : Field extends {
|
|
124
269
|
listKind: "message";
|
|
125
270
|
} ? ReflectMessage : never);
|
|
126
|
-
|
|
271
|
+
/**
|
|
272
|
+
* The type of the "value" argument of ReflectMessage.setMapEntry()
|
|
273
|
+
*/
|
|
274
|
+
export type ReflectSetMapEntryValue<Field extends DescField & {
|
|
127
275
|
fieldKind: "map";
|
|
128
276
|
}> = (Field extends {
|
|
129
277
|
mapKind: "enum";
|
|
@@ -132,5 +280,5 @@ type NewMapEntryValue<Field extends DescField & {
|
|
|
132
280
|
} ? ReflectMessage : Field extends {
|
|
133
281
|
mapKind: "scalar";
|
|
134
282
|
scalar: infer T;
|
|
135
|
-
} ? ScalarValue<T
|
|
283
|
+
} ? ScalarValue<T> : never);
|
|
136
284
|
export {};
|
|
@@ -1,6 +1,9 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type DescField, type DescMessage } from "../descriptors.js";
|
|
2
2
|
import type { MessageShape } from "../types.js";
|
|
3
3
|
import type { MapEntryKey, ReflectList, ReflectMap, ReflectMessage } from "./reflect-types.js";
|
|
4
|
+
/**
|
|
5
|
+
* Create a ReflectMessage.
|
|
6
|
+
*/
|
|
4
7
|
export declare function reflect<Desc extends DescMessage>(messageDesc: Desc, message?: MessageShape<Desc>, opt?: {
|
|
5
8
|
/**
|
|
6
9
|
* By default, field values are validated when setting them. For example,
|
|
@@ -15,9 +18,15 @@ export declare function reflect<Desc extends DescMessage>(messageDesc: Desc, mes
|
|
|
15
18
|
*/
|
|
16
19
|
disableFieldValueCheck?: boolean;
|
|
17
20
|
}): ReflectMessage;
|
|
21
|
+
/**
|
|
22
|
+
* Create a ReflectList.
|
|
23
|
+
*/
|
|
18
24
|
export declare function reflectList<V>(field: DescField & {
|
|
19
25
|
fieldKind: "list";
|
|
20
|
-
}, unsafeInput?: unknown[]): ReflectList<V>;
|
|
26
|
+
}, unsafeInput?: unknown[], check?: boolean): ReflectList<V>;
|
|
27
|
+
/**
|
|
28
|
+
* Create a ReflectMap.
|
|
29
|
+
*/
|
|
21
30
|
export declare function reflectMap<K extends MapEntryKey, V>(field: DescField & {
|
|
22
31
|
fieldKind: "map";
|
|
23
|
-
}, unsafeInput?: Record<string, unknown
|
|
32
|
+
}, unsafeInput?: Record<string, unknown>, check?: boolean): ReflectMap<K, V>;
|