@postxl/schema 1.4.0 → 1.4.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.
@@ -128,7 +128,7 @@ const fieldDiscriminatedUnionTransformer = ({ fieldInput, model, projectSchema }
128
128
  }
129
129
  const decodedField = decodedFieldResult.data;
130
130
  const transformedField = Fields.fieldTransformer(decodedField, model, projectSchema, ctx);
131
- commonFields.set(transformedField.name, addDiscriminatedUnionParent(transformedField, fieldInput.name));
131
+ commonFields.set(transformedField.name, addDiscriminatedUnionParent(transformedField, fieldInput.name, fieldInput.excelName));
132
132
  }
133
133
  const members = new Map();
134
134
  for (const memberInput of fieldInput.members) {
@@ -153,7 +153,7 @@ const fieldDiscriminatedUnionTransformer = ({ fieldInput, model, projectSchema }
153
153
  return zod_1.z.NEVER;
154
154
  }
155
155
  const transformedField = Fields.fieldTransformer(decodedField, model, projectSchema, ctx);
156
- memberFields.set(transformedField.name, addDiscriminatedUnionParentMember(transformedField, fieldInput.name, discriminator));
156
+ memberFields.set(transformedField.name, addDiscriminatedUnionParentMember(transformedField, fieldInput.name, fieldInput.excelName, discriminator));
157
157
  }
158
158
  members.set(discriminator, {
159
159
  type: discriminator,
@@ -174,7 +174,7 @@ const fieldDiscriminatedUnionTransformer = ({ fieldInput, model, projectSchema }
174
174
  return result;
175
175
  };
176
176
  exports.fieldDiscriminatedUnionTransformer = fieldDiscriminatedUnionTransformer;
177
- function addDiscriminatedUnionParent(field, duFieldName) {
177
+ function addDiscriminatedUnionParent(field, duFieldName, duExcelName) {
178
178
  const result = {
179
179
  ...field,
180
180
  discriminatedUnionFieldName: duFieldName,
@@ -183,10 +183,16 @@ function addDiscriminatedUnionParent(field, duFieldName) {
183
183
  databaseName: field.databaseName,
184
184
  newName: `${duFieldName}${(0, utils_1.toPascalCase)(field.name)}`,
185
185
  }),
186
+ excelName: ensureCustomExcelName({
187
+ name: field.name,
188
+ label: field.label,
189
+ excelName: field.excelName,
190
+ newName: `${duExcelName} ${field.excelName}`,
191
+ }),
186
192
  };
187
193
  return result;
188
194
  }
189
- function addDiscriminatedUnionParentMember(field, duFieldName, duMemberType) {
195
+ function addDiscriminatedUnionParentMember(field, duFieldName, duExcelName, duMemberType) {
190
196
  const result = {
191
197
  ...field,
192
198
  discriminatedUnionFieldName: duFieldName,
@@ -196,9 +202,22 @@ function addDiscriminatedUnionParentMember(field, duFieldName, duMemberType) {
196
202
  databaseName: field.databaseName,
197
203
  newName: `${duFieldName}${(0, utils_1.toPascalCase)(duMemberType)}${(0, utils_1.toPascalCase)(field.name)}`,
198
204
  }),
205
+ excelName: ensureCustomExcelName({
206
+ name: field.name,
207
+ label: field.label,
208
+ excelName: field.excelName,
209
+ newName: `${duExcelName} ${(0, utils_1.toPascalCase)(duMemberType)} ${field.excelName}`,
210
+ }),
199
211
  };
200
212
  return result;
201
213
  }
214
+ function ensureCustomExcelName({ excelName, name, label, newName, }) {
215
+ // If the user explicitly set a custom excelName (different from the defaults), keep it
216
+ if (excelName !== name && excelName !== label && excelName !== (0, utils_1.toHumanReadable)(name)) {
217
+ return excelName;
218
+ }
219
+ return Branded.toExcelColumnName(newName);
220
+ }
202
221
  function ensureCustomDatabaseName({ databaseName, name, newName, }) {
203
222
  if (databaseName !== name && databaseName !== (0, utils_1.toSnakeCase)(name)) {
204
223
  return databaseName;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@postxl/schema",
3
- "version": "1.4.0",
3
+ "version": "1.4.1",
4
4
  "description": "Decoders for PXL Schema definitions and validation for PXL code generation framework",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.js",