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 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, fullName, valueDesc);
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, fullName, valueDesc);
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, fullName, valueDesc);
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, fullName, valueDesc);
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, fullName, valueDesc)}: return ${valueDesc.number};`);
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, fullName, valueDesc) {
168
+ function getMemberName(ctx, enumDesc, valueDesc) {
169
169
  if (ctx.options.removeEnumPrefix) {
170
- return valueDesc.name.replace(`${(0, case_1.camelToSnake)(fullName)}_`, "");
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 enumProto = typeMap.get(field.typeName)[2];
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.name}`;
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 enumProto = typeMap.get(field.typeName)[2];
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
- return (0, ts_poet_1.code) `${maybeNotUndefinedAnd} ${place} !== ${enumType}.${zerothValue.name}`;
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}`;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ts-proto",
3
- "version": "1.156.3",
3
+ "version": "1.156.5",
4
4
  "description": "",
5
5
  "main": "build/plugin.js",
6
6
  "repository": "github:stephenh/ts-proto",