@code0-tech/tucana 0.0.62 → 0.0.64
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.
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Value } from "../pb/shared";
|
|
2
|
-
type PlainValue = null | number | string | boolean | Array<PlainValue> | object;
|
|
2
|
+
type PlainValue = null | bigint | number | string | boolean | Array<PlainValue> | object;
|
|
3
3
|
declare function toAllowedValue(value: Value): PlainValue;
|
|
4
4
|
declare function constructValue(value: PlainValue): Value;
|
|
5
5
|
export { toAllowedValue, constructValue, PlainValue };
|
|
@@ -3,7 +3,16 @@ function toAllowedValue(value) {
|
|
|
3
3
|
case "nullValue":
|
|
4
4
|
return null;
|
|
5
5
|
case "numberValue":
|
|
6
|
-
|
|
6
|
+
const numberValue = value.kind.numberValue;
|
|
7
|
+
if (numberValue.number.oneofKind === "integer") {
|
|
8
|
+
return numberValue.number.integer;
|
|
9
|
+
}
|
|
10
|
+
else if (numberValue.number.oneofKind === "float") {
|
|
11
|
+
return numberValue.number.float;
|
|
12
|
+
}
|
|
13
|
+
else {
|
|
14
|
+
throw new Error("Unsupported NumberValue number kind: " + numberValue.number.oneofKind);
|
|
15
|
+
}
|
|
7
16
|
case "stringValue":
|
|
8
17
|
return value.kind.stringValue;
|
|
9
18
|
case "boolValue":
|
|
@@ -24,8 +33,29 @@ function constructValue(value) {
|
|
|
24
33
|
if (value === null) {
|
|
25
34
|
return { kind: { oneofKind: "nullValue", nullValue: 0 } };
|
|
26
35
|
}
|
|
27
|
-
if (typeof value === "number") {
|
|
28
|
-
|
|
36
|
+
if (typeof value === "number" || typeof value === "bigint") {
|
|
37
|
+
if (Number.isInteger(value) || typeof value === "bigint") {
|
|
38
|
+
return {
|
|
39
|
+
kind: {
|
|
40
|
+
oneofKind: "numberValue", numberValue: {
|
|
41
|
+
number: {
|
|
42
|
+
oneofKind: "integer",
|
|
43
|
+
integer: BigInt(value)
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
return {
|
|
50
|
+
kind: {
|
|
51
|
+
oneofKind: "numberValue", numberValue: {
|
|
52
|
+
number: {
|
|
53
|
+
oneofKind: "float",
|
|
54
|
+
float: value
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
};
|
|
29
59
|
}
|
|
30
60
|
if (typeof value === "string") {
|
|
31
61
|
return { kind: { oneofKind: "stringValue", stringValue: value } };
|
|
@@ -1,13 +1,20 @@
|
|
|
1
1
|
import {Value} from "../pb/shared";
|
|
2
2
|
|
|
3
|
-
type PlainValue = null | number | string | boolean | Array<PlainValue> | object;
|
|
3
|
+
type PlainValue = null | bigint | number | string | boolean | Array<PlainValue> | object;
|
|
4
4
|
|
|
5
5
|
function toAllowedValue(value: Value): PlainValue {
|
|
6
6
|
switch (value.kind.oneofKind) {
|
|
7
7
|
case "nullValue":
|
|
8
8
|
return null;
|
|
9
9
|
case "numberValue":
|
|
10
|
-
|
|
10
|
+
const numberValue = value.kind.numberValue;
|
|
11
|
+
if (numberValue.number.oneofKind === "integer") {
|
|
12
|
+
return numberValue.number.integer;
|
|
13
|
+
} else if (numberValue.number.oneofKind === "float") {
|
|
14
|
+
return numberValue.number.float;
|
|
15
|
+
} else {
|
|
16
|
+
throw new Error("Unsupported NumberValue number kind: " + numberValue.number.oneofKind);
|
|
17
|
+
}
|
|
11
18
|
case "stringValue":
|
|
12
19
|
return value.kind.stringValue;
|
|
13
20
|
case "boolValue":
|
|
@@ -30,8 +37,30 @@ function constructValue(value: PlainValue): Value {
|
|
|
30
37
|
if (value === null) {
|
|
31
38
|
return {kind: {oneofKind: "nullValue", nullValue: 0}};
|
|
32
39
|
}
|
|
33
|
-
if (typeof value === "number") {
|
|
34
|
-
|
|
40
|
+
if (typeof value === "number" || typeof value === "bigint") {
|
|
41
|
+
if (Number.isInteger(value) || typeof value === "bigint") {
|
|
42
|
+
return {
|
|
43
|
+
kind: {
|
|
44
|
+
oneofKind: "numberValue", numberValue: {
|
|
45
|
+
number: {
|
|
46
|
+
oneofKind: "integer",
|
|
47
|
+
integer: BigInt(value)
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
return {
|
|
55
|
+
kind: {
|
|
56
|
+
oneofKind: "numberValue", numberValue: {
|
|
57
|
+
number: {
|
|
58
|
+
oneofKind: "float",
|
|
59
|
+
float: value
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
};
|
|
35
64
|
}
|
|
36
65
|
if (typeof value === "string") {
|
|
37
66
|
return {kind: {oneofKind: "stringValue", stringValue: value}};
|
package/package.json
CHANGED
|
@@ -92,11 +92,11 @@ export interface Value {
|
|
|
92
92
|
} | {
|
|
93
93
|
oneofKind: "numberValue";
|
|
94
94
|
/**
|
|
95
|
-
* Represents a
|
|
95
|
+
* Represents a numberic value.
|
|
96
96
|
*
|
|
97
|
-
* @generated from protobuf field:
|
|
97
|
+
* @generated from protobuf field: shared.NumberValue number_value = 2
|
|
98
98
|
*/
|
|
99
|
-
numberValue:
|
|
99
|
+
numberValue: NumberValue;
|
|
100
100
|
} | {
|
|
101
101
|
oneofKind: "stringValue";
|
|
102
102
|
/**
|
|
@@ -133,6 +133,38 @@ export interface Value {
|
|
|
133
133
|
oneofKind: undefined;
|
|
134
134
|
};
|
|
135
135
|
}
|
|
136
|
+
/**
|
|
137
|
+
* `NumberValue` represents a numeric value which can be either an
|
|
138
|
+
* integer or a floating-point number.
|
|
139
|
+
*
|
|
140
|
+
* The JSON representation for `NumberValue` is JSON number.
|
|
141
|
+
*
|
|
142
|
+
* @generated from protobuf message shared.NumberValue
|
|
143
|
+
*/
|
|
144
|
+
export interface NumberValue {
|
|
145
|
+
/**
|
|
146
|
+
* @generated from protobuf oneof: number
|
|
147
|
+
*/
|
|
148
|
+
number: {
|
|
149
|
+
oneofKind: "integer";
|
|
150
|
+
/**
|
|
151
|
+
* Represents an integer value.
|
|
152
|
+
*
|
|
153
|
+
* @generated from protobuf field: int64 integer = 1
|
|
154
|
+
*/
|
|
155
|
+
integer: bigint;
|
|
156
|
+
} | {
|
|
157
|
+
oneofKind: "float";
|
|
158
|
+
/**
|
|
159
|
+
* Represents a floating-point value.
|
|
160
|
+
*
|
|
161
|
+
* @generated from protobuf field: double float = 2
|
|
162
|
+
*/
|
|
163
|
+
float: number;
|
|
164
|
+
} | {
|
|
165
|
+
oneofKind: undefined;
|
|
166
|
+
};
|
|
167
|
+
}
|
|
136
168
|
/**
|
|
137
169
|
* `ListValue` is a wrapper around a repeated field of values.
|
|
138
170
|
*
|
|
@@ -176,6 +208,16 @@ declare class Value$Type extends MessageType<Value> {
|
|
|
176
208
|
* @generated MessageType for protobuf message shared.Value
|
|
177
209
|
*/
|
|
178
210
|
export declare const Value: Value$Type;
|
|
211
|
+
declare class NumberValue$Type extends MessageType<NumberValue> {
|
|
212
|
+
constructor();
|
|
213
|
+
create(value?: PartialMessage<NumberValue>): NumberValue;
|
|
214
|
+
internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: NumberValue): NumberValue;
|
|
215
|
+
internalBinaryWrite(message: NumberValue, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
|
|
216
|
+
}
|
|
217
|
+
/**
|
|
218
|
+
* @generated MessageType for protobuf message shared.NumberValue
|
|
219
|
+
*/
|
|
220
|
+
export declare const NumberValue: NumberValue$Type;
|
|
179
221
|
declare class ListValue$Type extends MessageType<ListValue> {
|
|
180
222
|
constructor();
|
|
181
223
|
create(value?: PartialMessage<ListValue>): ListValue;
|
|
@@ -130,7 +130,7 @@ class Value$Type extends MessageType {
|
|
|
130
130
|
constructor() {
|
|
131
131
|
super("shared.Value", [
|
|
132
132
|
{ no: 1, name: "null_value", kind: "enum", oneof: "kind", T: () => ["shared.NullValue", NullValue] },
|
|
133
|
-
{ no: 2, name: "number_value", kind: "
|
|
133
|
+
{ no: 2, name: "number_value", kind: "message", oneof: "kind", T: () => NumberValue },
|
|
134
134
|
{ no: 3, name: "string_value", kind: "scalar", oneof: "kind", T: 9 /*ScalarType.STRING*/ },
|
|
135
135
|
{ no: 4, name: "bool_value", kind: "scalar", oneof: "kind", T: 8 /*ScalarType.BOOL*/ },
|
|
136
136
|
{ no: 5, name: "struct_value", kind: "message", oneof: "kind", T: () => Struct },
|
|
@@ -155,10 +155,10 @@ class Value$Type extends MessageType {
|
|
|
155
155
|
nullValue: reader.int32()
|
|
156
156
|
};
|
|
157
157
|
break;
|
|
158
|
-
case /*
|
|
158
|
+
case /* shared.NumberValue number_value */ 2:
|
|
159
159
|
message.kind = {
|
|
160
160
|
oneofKind: "numberValue",
|
|
161
|
-
numberValue: reader.
|
|
161
|
+
numberValue: NumberValue.internalBinaryRead(reader, reader.uint32(), options, message.kind.numberValue)
|
|
162
162
|
};
|
|
163
163
|
break;
|
|
164
164
|
case /* string string_value */ 3:
|
|
@@ -200,9 +200,9 @@ class Value$Type extends MessageType {
|
|
|
200
200
|
/* shared.NullValue null_value = 1; */
|
|
201
201
|
if (message.kind.oneofKind === "nullValue")
|
|
202
202
|
writer.tag(1, WireType.Varint).int32(message.kind.nullValue);
|
|
203
|
-
/*
|
|
203
|
+
/* shared.NumberValue number_value = 2; */
|
|
204
204
|
if (message.kind.oneofKind === "numberValue")
|
|
205
|
-
writer.tag(2, WireType.
|
|
205
|
+
NumberValue.internalBinaryWrite(message.kind.numberValue, writer.tag(2, WireType.LengthDelimited).fork(), options).join();
|
|
206
206
|
/* string string_value = 3; */
|
|
207
207
|
if (message.kind.oneofKind === "stringValue")
|
|
208
208
|
writer.tag(3, WireType.LengthDelimited).string(message.kind.stringValue);
|
|
@@ -226,6 +226,66 @@ class Value$Type extends MessageType {
|
|
|
226
226
|
*/
|
|
227
227
|
export const Value = new Value$Type();
|
|
228
228
|
// @generated message type with reflection information, may provide speed optimized methods
|
|
229
|
+
class NumberValue$Type extends MessageType {
|
|
230
|
+
constructor() {
|
|
231
|
+
super("shared.NumberValue", [
|
|
232
|
+
{ no: 1, name: "integer", kind: "scalar", oneof: "number", T: 3 /*ScalarType.INT64*/, L: 0 /*LongType.BIGINT*/ },
|
|
233
|
+
{ no: 2, name: "float", kind: "scalar", oneof: "number", T: 1 /*ScalarType.DOUBLE*/ }
|
|
234
|
+
]);
|
|
235
|
+
}
|
|
236
|
+
create(value) {
|
|
237
|
+
const message = globalThis.Object.create((this.messagePrototype));
|
|
238
|
+
message.number = { oneofKind: undefined };
|
|
239
|
+
if (value !== undefined)
|
|
240
|
+
reflectionMergePartial(this, message, value);
|
|
241
|
+
return message;
|
|
242
|
+
}
|
|
243
|
+
internalBinaryRead(reader, length, options, target) {
|
|
244
|
+
let message = target ?? this.create(), end = reader.pos + length;
|
|
245
|
+
while (reader.pos < end) {
|
|
246
|
+
let [fieldNo, wireType] = reader.tag();
|
|
247
|
+
switch (fieldNo) {
|
|
248
|
+
case /* int64 integer */ 1:
|
|
249
|
+
message.number = {
|
|
250
|
+
oneofKind: "integer",
|
|
251
|
+
integer: reader.int64().toBigInt()
|
|
252
|
+
};
|
|
253
|
+
break;
|
|
254
|
+
case /* double float */ 2:
|
|
255
|
+
message.number = {
|
|
256
|
+
oneofKind: "float",
|
|
257
|
+
float: reader.double()
|
|
258
|
+
};
|
|
259
|
+
break;
|
|
260
|
+
default:
|
|
261
|
+
let u = options.readUnknownField;
|
|
262
|
+
if (u === "throw")
|
|
263
|
+
throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
|
|
264
|
+
let d = reader.skip(wireType);
|
|
265
|
+
if (u !== false)
|
|
266
|
+
(u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
return message;
|
|
270
|
+
}
|
|
271
|
+
internalBinaryWrite(message, writer, options) {
|
|
272
|
+
/* int64 integer = 1; */
|
|
273
|
+
if (message.number.oneofKind === "integer")
|
|
274
|
+
writer.tag(1, WireType.Varint).int64(message.number.integer);
|
|
275
|
+
/* double float = 2; */
|
|
276
|
+
if (message.number.oneofKind === "float")
|
|
277
|
+
writer.tag(2, WireType.Bit64).double(message.number.float);
|
|
278
|
+
let u = options.writeUnknownFields;
|
|
279
|
+
if (u !== false)
|
|
280
|
+
(u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
|
|
281
|
+
return writer;
|
|
282
|
+
}
|
|
283
|
+
}
|
|
284
|
+
/**
|
|
285
|
+
* @generated MessageType for protobuf message shared.NumberValue
|
|
286
|
+
*/
|
|
287
|
+
export const NumberValue = new NumberValue$Type();
|
|
288
|
+
// @generated message type with reflection information, may provide speed optimized methods
|
|
229
289
|
class ListValue$Type extends MessageType {
|
|
230
290
|
constructor() {
|
|
231
291
|
super("shared.ListValue", [
|