ts-proto 1.156.3 → 1.156.5
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/build/enums.js +9 -8
- package/build/types.js +8 -4
- package/package.json +1 -1
package/build/enums.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.generateEnumToNumber = exports.generateEnumToJson = exports.generateEnumFromJson = exports.generateEnum = void 0;
|
|
3
|
+
exports.getMemberName = exports.generateEnumToNumber = exports.generateEnumToJson = exports.generateEnumFromJson = exports.generateEnum = void 0;
|
|
4
4
|
const ts_poet_1 = require("ts-poet");
|
|
5
5
|
const utils_1 = require("./utils");
|
|
6
6
|
const case_1 = require("./case");
|
|
@@ -24,7 +24,7 @@ function generateEnum(ctx, fullName, enumDesc, sourceInfo) {
|
|
|
24
24
|
var _a;
|
|
25
25
|
const info = sourceInfo.lookup(sourceInfo_1.Fields.enum.value, index);
|
|
26
26
|
const valueName = getValueName(ctx, fullName, valueDesc);
|
|
27
|
-
const memberName = getMemberName(ctx,
|
|
27
|
+
const memberName = getMemberName(ctx, enumDesc, valueDesc);
|
|
28
28
|
(0, utils_1.maybeAddComment)(info, chunks, (_a = valueDesc.options) === null || _a === void 0 ? void 0 : _a.deprecated, `${memberName} - `);
|
|
29
29
|
chunks.push((0, ts_poet_1.code) `${memberName} ${delimiter} ${options.stringEnums ? `"${valueName}"` : valueDesc.number.toString()},`);
|
|
30
30
|
});
|
|
@@ -62,7 +62,7 @@ function generateEnumFromJson(ctx, fullName, enumDesc) {
|
|
|
62
62
|
chunks.push((0, ts_poet_1.code) `export function ${(0, ts_poet_1.def)(functionName)}(object: any): ${fullName} {`);
|
|
63
63
|
chunks.push((0, ts_poet_1.code) `switch (object) {`);
|
|
64
64
|
for (const valueDesc of enumDesc.value) {
|
|
65
|
-
const memberName = getMemberName(ctx,
|
|
65
|
+
const memberName = getMemberName(ctx, enumDesc, valueDesc);
|
|
66
66
|
const valueName = getValueName(ctx, fullName, valueDesc);
|
|
67
67
|
chunks.push((0, ts_poet_1.code) `
|
|
68
68
|
case ${valueDesc.number}:
|
|
@@ -99,11 +99,11 @@ function generateEnumToJson(ctx, fullName, enumDesc) {
|
|
|
99
99
|
chunks.push((0, ts_poet_1.code) `switch (object) {`);
|
|
100
100
|
for (const valueDesc of enumDesc.value) {
|
|
101
101
|
if (ctx.options.useNumericEnumForJson) {
|
|
102
|
-
const memberName = getMemberName(ctx,
|
|
102
|
+
const memberName = getMemberName(ctx, enumDesc, valueDesc);
|
|
103
103
|
chunks.push((0, ts_poet_1.code) `case ${fullName}.${memberName}: return ${valueDesc.number};`);
|
|
104
104
|
}
|
|
105
105
|
else {
|
|
106
|
-
const memberName = getMemberName(ctx,
|
|
106
|
+
const memberName = getMemberName(ctx, enumDesc, valueDesc);
|
|
107
107
|
const valueName = getValueName(ctx, fullName, valueDesc);
|
|
108
108
|
chunks.push((0, ts_poet_1.code) `case ${fullName}.${memberName}: return "${valueName}";`);
|
|
109
109
|
}
|
|
@@ -144,7 +144,7 @@ function generateEnumToNumber(ctx, fullName, enumDesc) {
|
|
|
144
144
|
chunks.push((0, ts_poet_1.code) `export function ${(0, ts_poet_1.def)(functionName)}(object: ${fullName}): number {`);
|
|
145
145
|
chunks.push((0, ts_poet_1.code) `switch (object) {`);
|
|
146
146
|
for (const valueDesc of enumDesc.value) {
|
|
147
|
-
chunks.push((0, ts_poet_1.code) `case ${fullName}.${getMemberName(ctx,
|
|
147
|
+
chunks.push((0, ts_poet_1.code) `case ${fullName}.${getMemberName(ctx, enumDesc, valueDesc)}: return ${valueDesc.number};`);
|
|
148
148
|
}
|
|
149
149
|
if (options.unrecognizedEnum) {
|
|
150
150
|
chunks.push((0, ts_poet_1.code) `
|
|
@@ -165,12 +165,13 @@ function generateEnumToNumber(ctx, fullName, enumDesc) {
|
|
|
165
165
|
return (0, ts_poet_1.joinCode)(chunks, { on: "\n" });
|
|
166
166
|
}
|
|
167
167
|
exports.generateEnumToNumber = generateEnumToNumber;
|
|
168
|
-
function getMemberName(ctx,
|
|
168
|
+
function getMemberName(ctx, enumDesc, valueDesc) {
|
|
169
169
|
if (ctx.options.removeEnumPrefix) {
|
|
170
|
-
return valueDesc.name.replace(`${(0, case_1.camelToSnake)(
|
|
170
|
+
return valueDesc.name.replace(`${(0, case_1.camelToSnake)(enumDesc.name)}_`, "");
|
|
171
171
|
}
|
|
172
172
|
return valueDesc.name;
|
|
173
173
|
}
|
|
174
|
+
exports.getMemberName = getMemberName;
|
|
174
175
|
function getValueName(ctx, fullName, valueDesc) {
|
|
175
176
|
return valueDesc.name;
|
|
176
177
|
}
|
package/build/types.js
CHANGED
|
@@ -8,6 +8,7 @@ const visit_1 = require("./visit");
|
|
|
8
8
|
const utils_1 = require("./utils");
|
|
9
9
|
const sourceInfo_1 = require("./sourceInfo");
|
|
10
10
|
const case_1 = require("./case");
|
|
11
|
+
const enums_1 = require("./enums");
|
|
11
12
|
/** Based on https://github.com/dcodeIO/protobuf.js/blob/master/src/types.js#L37. */
|
|
12
13
|
function basicWireType(type) {
|
|
13
14
|
switch (type) {
|
|
@@ -179,11 +180,12 @@ function defaultValue(ctx, field) {
|
|
|
179
180
|
// to probe and see if zero is an allowed value. If it's not, pick the first one.
|
|
180
181
|
// This is probably not great, but it's only used in fromJSON and fromPartial,
|
|
181
182
|
// and I believe the semantics of those in the proto2 world are generally undefined.
|
|
182
|
-
const
|
|
183
|
+
const typeInfo = typeMap.get(field.typeName);
|
|
184
|
+
const enumProto = typeInfo[2];
|
|
183
185
|
const zerothValue = enumProto.value.find((v) => v.number === 0) || enumProto.value[0];
|
|
184
186
|
if (options.stringEnums) {
|
|
185
187
|
const enumType = messageToTypeName(ctx, field.typeName);
|
|
186
|
-
return (0, ts_poet_1.code) `${enumType}.${zerothValue
|
|
188
|
+
return (0, ts_poet_1.code) `${enumType}.${(0, enums_1.getMemberName)(ctx, enumProto, zerothValue)}`;
|
|
187
189
|
}
|
|
188
190
|
else {
|
|
189
191
|
return zerothValue.number;
|
|
@@ -254,11 +256,13 @@ function notDefaultCheck(ctx, field, messageOptions, place) {
|
|
|
254
256
|
// to probe and see if zero is an allowed value. If it's not, pick the first one.
|
|
255
257
|
// This is probably not great, but it's only used in fromJSON and fromPartial,
|
|
256
258
|
// and I believe the semantics of those in the proto2 world are generally undefined.
|
|
257
|
-
const
|
|
259
|
+
const typeInfo = typeMap.get(field.typeName);
|
|
260
|
+
const enumProto = typeInfo[2];
|
|
258
261
|
const zerothValue = enumProto.value.find((v) => v.number === 0) || enumProto.value[0];
|
|
259
262
|
if (options.stringEnums) {
|
|
260
263
|
const enumType = messageToTypeName(ctx, field.typeName);
|
|
261
|
-
|
|
264
|
+
const enumValue = (0, enums_1.getMemberName)(ctx, enumProto, zerothValue);
|
|
265
|
+
return (0, ts_poet_1.code) `${maybeNotUndefinedAnd} ${place} !== ${enumType}.${enumValue}`;
|
|
262
266
|
}
|
|
263
267
|
else {
|
|
264
268
|
return (0, ts_poet_1.code) `${maybeNotUndefinedAnd} ${place} !== ${zerothValue.number}`;
|