@odata-effect/odata-effect-generator 0.6.0 → 0.6.2

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.
@@ -71,28 +71,6 @@ const needsODataSchemaImport = dataModel => {
71
71
  }
72
72
  return false;
73
73
  };
74
- /**
75
- * Check which Effect type imports are needed based on tsType usage.
76
- */
77
- const getNeededEffectTypeImports = dataModel => {
78
- const needed = new Set();
79
- const checkTsType = tsType => {
80
- if (tsType.startsWith("DateTime.")) needed.add("DateTime");
81
- if (tsType.startsWith("BigDecimal.")) needed.add("BigDecimal");
82
- if (tsType.startsWith("Duration.")) needed.add("Duration");
83
- };
84
- for (const type of dataModel.entityTypes.values()) {
85
- for (const prop of type.properties) {
86
- checkTsType(prop.typeMapping.tsType);
87
- }
88
- }
89
- for (const type of dataModel.complexTypes.values()) {
90
- for (const prop of type.properties) {
91
- checkTsType(prop.typeMapping.tsType);
92
- }
93
- }
94
- return needed;
95
- };
96
74
  /**
97
75
  * Generate the Models.ts file content.
98
76
  *
@@ -112,11 +90,6 @@ const generateModels = dataModel => {
112
90
  lines.push(` * @since 1.0.0`);
113
91
  lines.push(` */`);
114
92
  lines.push(`import * as Schema from "effect/Schema"`);
115
- // Add Effect type imports if needed (for DateTime, BigDecimal, Duration)
116
- const effectTypeImports = getNeededEffectTypeImports(dataModel);
117
- for (const effectType of effectTypeImports) {
118
- lines.push(`import type * as ${effectType} from "effect/${effectType}"`);
119
- }
120
93
  // Add ODataSchema import if needed
121
94
  if (needsODataSchemaImport(dataModel)) {
122
95
  lines.push(`import { ODataSchema } from "@odata-effect/odata-effect"`);
@@ -257,9 +230,10 @@ const generateSchemaFields = (properties, _navigationProperties, _dataModel) =>
257
230
  const fields = [];
258
231
  for (let i = 0; i < properties.length; i++) {
259
232
  const prop = properties[i];
260
- const schemaType = getPropertySchemaType(prop, prop.isNullable && !prop.isKey);
233
+ const isOptional = prop.isNullable && !prop.isKey;
234
+ const schemaType = getPropertySchemaType(prop, isOptional);
261
235
  const isLast = i === properties.length - 1;
262
- const fieldDef = getPropertyFieldDefinition(prop, schemaType);
236
+ const fieldDef = getPropertyFieldDefinition(prop, schemaType, isOptional);
263
237
  fields.push(`${fieldDef}${isLast ? "" : ","}`);
264
238
  }
265
239
  // Navigation properties are intentionally excluded from Schema.Class
@@ -273,9 +247,10 @@ const generateEditableSchemaFields = properties => {
273
247
  const fields = [];
274
248
  for (let i = 0; i < properties.length; i++) {
275
249
  const prop = properties[i];
276
- const schemaType = getPropertySchemaType(prop, prop.isNullable);
250
+ const isOptional = prop.isNullable;
251
+ const schemaType = getPropertySchemaType(prop, isOptional);
277
252
  const isLast = i === properties.length - 1;
278
- const fieldDef = getPropertyFieldDefinition(prop, schemaType);
253
+ const fieldDef = getPropertyFieldDefinition(prop, schemaType, isOptional);
279
254
  fields.push(`${fieldDef}${isLast ? "" : ","}`);
280
255
  }
281
256
  return fields;
@@ -284,22 +259,33 @@ const generateEditableSchemaFields = properties => {
284
259
  * Get a complete property field definition including fromKey mapping if needed.
285
260
  *
286
261
  * When the OData property name differs from the TypeScript property name,
287
- * we use Schema.propertySignature with Schema.fromKey to map between them.
288
- * This is essential for OData V2 responses which use PascalCase property names.
262
+ * we use Schema.fromKey to map between them.
263
+ *
264
+ * For optional fields (using Schema.optionalWith), we pipe fromKey directly
265
+ * since optionalWith already returns a PropertySignature.
266
+ *
267
+ * For required fields, we wrap in Schema.propertySignature first.
289
268
  *
290
269
  * @example
291
270
  * // When odataName == name:
292
271
  * name: Schema.String
293
272
  *
294
- * // When odataName ("ID") != name ("id"):
273
+ * // When odataName ("ID") != name ("id") - required field:
295
274
  * id: Schema.propertySignature(Schema.Number).pipe(Schema.fromKey("ID"))
275
+ *
276
+ * // When odataName ("Name") != name ("name") - optional field:
277
+ * name: Schema.optionalWith(Schema.String, { nullable: true }).pipe(Schema.fromKey("Name"))
296
278
  */
297
- const getPropertyFieldDefinition = (prop, schemaType) => {
279
+ const getPropertyFieldDefinition = (prop, schemaType, isOptional) => {
298
280
  // If OData name matches TypeScript name, use simple format
299
281
  if (prop.odataName === prop.name) {
300
282
  return `${prop.name}: ${schemaType}`;
301
283
  }
302
- // Use propertySignature with fromKey to map between encoded (OData) and decoded (TypeScript) names
284
+ // If optional, Schema.optionalWith already returns a PropertySignature, so just pipe fromKey
285
+ if (isOptional) {
286
+ return `${prop.name}: ${schemaType}.pipe(Schema.fromKey("${prop.odataName}"))`;
287
+ }
288
+ // For required fields, wrap in propertySignature first, then pipe fromKey
303
289
  return `${prop.name}: Schema.propertySignature(${schemaType}).pipe(Schema.fromKey("${prop.odataName}"))`;
304
290
  };
305
291
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"ModelsGenerator.js","names":["_NamingHelper","require","getTypeDependencies","type","allComplexTypes","allEntityTypes","deps","Set","baseType","baseTypeName","getClassName","split","pop","has","add","prop","properties","propTypeName","typeMapping","effectSchema","sortTypesByDependency","types","sorted","visited","visiting","visit","name","push","depName","depType","find","t","delete","needsODataSchemaImport","dataModel","checkProperties","some","p","startsWith","entityTypes","values","complexTypes","getNeededEffectTypeImports","needed","checkTsType","tsType","generateModels","lines","Array","from","map","serviceName","effectTypeImports","effectType","enumType","enumTypes","line","generateEnumType","sortedComplexTypes","complexType","generateComplexType","sortedEntityTypes","entityType","generateEntityType","join","exports","members","m","odataName","fields","generateSchemaFields","navigationProperties","f","editableFields","generateEditableSchemaFields","editableName","getEditableTypeName","keys","length","idTypeName","getIdTypeName","key","keySchema","getPropertySchemaType","keyFields","k","schema","filter","isKey","_navigationProperties","_dataModel","i","schemaType","isNullable","isLast","fieldDef","getPropertyFieldDefinition","makeOptional","isCollection"],"sources":["../../../src/generator/ModelsGenerator.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"ModelsGenerator.js","names":["_NamingHelper","require","getTypeDependencies","type","allComplexTypes","allEntityTypes","deps","Set","baseType","baseTypeName","getClassName","split","pop","has","add","prop","properties","propTypeName","typeMapping","effectSchema","sortTypesByDependency","types","sorted","visited","visiting","visit","name","push","depName","depType","find","t","delete","needsODataSchemaImport","dataModel","checkProperties","some","p","startsWith","entityTypes","values","complexTypes","generateModels","lines","Array","from","map","serviceName","enumType","enumTypes","line","generateEnumType","sortedComplexTypes","complexType","generateComplexType","sortedEntityTypes","entityType","generateEntityType","join","exports","members","m","odataName","fields","generateSchemaFields","navigationProperties","f","editableFields","generateEditableSchemaFields","editableName","getEditableTypeName","keys","length","idTypeName","getIdTypeName","key","keySchema","getPropertySchemaType","keyFields","k","schema","filter","isKey","_navigationProperties","_dataModel","i","isOptional","isNullable","schemaType","isLast","fieldDef","getPropertyFieldDefinition","makeOptional","isCollection"],"sources":["../../../src/generator/ModelsGenerator.ts"],"sourcesContent":[null],"mappings":";;;;;;AAaA,IAAAA,aAAA,GAAAC,OAAA;AAEA;;;AAGA,MAAMC,mBAAmB,GAAGA,CAC1BC,IAAwC,EACxCC,eAA4B,EAC5BC,cAA2B,KACZ;EACf,MAAMC,IAAI,GAAG,IAAIC,GAAG,EAAU;EAE9B;EACA,IAAIJ,IAAI,CAACK,QAAQ,EAAE;IACjB,MAAMC,YAAY,GAAG,IAAAC,0BAAY,EAACP,IAAI,CAACK,QAAQ,CAACG,KAAK,CAAC,GAAG,CAAC,CAACC,GAAG,EAAE,IAAIT,IAAI,CAACK,QAAQ,CAAC;IAClF,IAAIJ,eAAe,CAACS,GAAG,CAACJ,YAAY,CAAC,IAAIJ,cAAc,CAACQ,GAAG,CAACJ,YAAY,CAAC,EAAE;MACzEH,IAAI,CAACQ,GAAG,CAACL,YAAY,CAAC;IACxB;EACF;EAEA;EACA,KAAK,MAAMM,IAAI,IAAIZ,IAAI,CAACa,UAAU,EAAE;IAClC,MAAMC,YAAY,GAAGF,IAAI,CAACG,WAAW,CAACC,YAAY;IAClD,IAAIf,eAAe,CAACS,GAAG,CAACI,YAAY,CAAC,EAAE;MACrCX,IAAI,CAACQ,GAAG,CAACG,YAAY,CAAC;IACxB;EACF;EAEA,OAAOX,IAAI;AACb,CAAC;AAED;;;AAGA,MAAMc,qBAAqB,GAAGA,CAC5BC,KAAe,EACfjB,eAA4B,EAC5BC,cAA2B,KACf;EACZ,MAAMiB,MAAM,GAAa,EAAE;EAC3B,MAAMC,OAAO,GAAG,IAAIhB,GAAG,EAAU;EACjC,MAAMiB,QAAQ,GAAG,IAAIjB,GAAG,EAAU;EAElC,MAAMkB,KAAK,GAAItB,IAAO,IAAI;IACxB,IAAIoB,OAAO,CAACV,GAAG,CAACV,IAAI,CAACuB,IAAI,CAAC,EAAE;IAC5B,IAAIF,QAAQ,CAACX,GAAG,CAACV,IAAI,CAACuB,IAAI,CAAC,EAAE;MAC3B;MACAH,OAAO,CAACT,GAAG,CAACX,IAAI,CAACuB,IAAI,CAAC;MACtBJ,MAAM,CAACK,IAAI,CAACxB,IAAI,CAAC;MACjB;IACF;IAEAqB,QAAQ,CAACV,GAAG,CAACX,IAAI,CAACuB,IAAI,CAAC;IAEvB,MAAMpB,IAAI,GAAGJ,mBAAmB,CAACC,IAAI,EAAEC,eAAe,EAAEC,cAAc,CAAC;IACvE,KAAK,MAAMuB,OAAO,IAAItB,IAAI,EAAE;MAC1B,MAAMuB,OAAO,GAAGR,KAAK,CAACS,IAAI,CAAEC,CAAC,IAAKA,CAAC,CAACL,IAAI,KAAKE,OAAO,CAAC;MACrD,IAAIC,OAAO,IAAI,CAACN,OAAO,CAACV,GAAG,CAACe,OAAO,CAAC,EAAE;QACpCH,KAAK,CAACI,OAAO,CAAC;MAChB;IACF;IAEAL,QAAQ,CAACQ,MAAM,CAAC7B,IAAI,CAACuB,IAAI,CAAC;IAC1BH,OAAO,CAACT,GAAG,CAACX,IAAI,CAACuB,IAAI,CAAC;IACtBJ,MAAM,CAACK,IAAI,CAACxB,IAAI,CAAC;EACnB,CAAC;EAED,KAAK,MAAMA,IAAI,IAAIkB,KAAK,EAAE;IACxBI,KAAK,CAACtB,IAAI,CAAC;EACb;EAEA,OAAOmB,MAAM;AACf,CAAC;AAED;;;AAGA,MAAMW,sBAAsB,GAAIC,SAAoB,IAAa;EAC/D,MAAMC,eAAe,GAAInB,UAAwC,IAC/DA,UAAU,CAACoB,IAAI,CAAEC,CAAC,IAAKA,CAAC,CAACnB,WAAW,CAACC,YAAY,CAACmB,UAAU,CAAC,cAAc,CAAC,CAAC;EAE/E,KAAK,MAAMnC,IAAI,IAAI+B,SAAS,CAACK,WAAW,CAACC,MAAM,EAAE,EAAE;IACjD,IAAIL,eAAe,CAAChC,IAAI,CAACa,UAAU,CAAC,EAAE,OAAO,IAAI;EACnD;EACA,KAAK,MAAMb,IAAI,IAAI+B,SAAS,CAACO,YAAY,CAACD,MAAM,EAAE,EAAE;IAClD,IAAIL,eAAe,CAAChC,IAAI,CAACa,UAAU,CAAC,EAAE,OAAO,IAAI;EACnD;EACA,OAAO,KAAK;AACd,CAAC;AAED;;;;;;AAMO,MAAM0B,cAAc,GAAIR,SAAoB,IAAY;EAC7D,MAAMS,KAAK,GAAkB,EAAE;EAE/B;EACA,MAAMvC,eAAe,GAAG,IAAIG,GAAG,CAACqC,KAAK,CAACC,IAAI,CAACX,SAAS,CAACO,YAAY,CAACD,MAAM,EAAE,CAAC,CAACM,GAAG,CAAEf,CAAC,IAAKA,CAAC,CAACL,IAAI,CAAC,CAAC;EAC/F,MAAMrB,cAAc,GAAG,IAAIE,GAAG,CAACqC,KAAK,CAACC,IAAI,CAACX,SAAS,CAACK,WAAW,CAACC,MAAM,EAAE,CAAC,CAACM,GAAG,CAAEf,CAAC,IAAKA,CAAC,CAACL,IAAI,CAAC,CAAC;EAE7F;EACAiB,KAAK,CAAChB,IAAI,CAAC,KAAK,CAAC;EACjBgB,KAAK,CAAChB,IAAI,CAAC,+BAA+BO,SAAS,CAACa,WAAW,iBAAiB,CAAC;EACjFJ,KAAK,CAAChB,IAAI,CAAC,mCAAmC,CAAC;EAC/CgB,KAAK,CAAChB,IAAI,CAAC,IAAI,CAAC;EAChBgB,KAAK,CAAChB,IAAI,CAAC,iBAAiB,CAAC;EAC7BgB,KAAK,CAAChB,IAAI,CAAC,KAAK,CAAC;EACjBgB,KAAK,CAAChB,IAAI,CAAC,yCAAyC,CAAC;EAErD;EACA,IAAIM,sBAAsB,CAACC,SAAS,CAAC,EAAE;IACrCS,KAAK,CAAChB,IAAI,CAAC,0DAA0D,CAAC;EACxE;EAEAgB,KAAK,CAAChB,IAAI,CAAC,EAAE,CAAC;EAEd;EACA,KAAK,MAAMqB,QAAQ,IAAId,SAAS,CAACe,SAAS,CAACT,MAAM,EAAE,EAAE;IACnD,KAAK,MAAMU,IAAI,IAAIC,gBAAgB,CAACH,QAAQ,CAAC,EAAEL,KAAK,CAAChB,IAAI,CAACuB,IAAI,CAAC;IAC/DP,KAAK,CAAChB,IAAI,CAAC,EAAE,CAAC;EAChB;EAEA;EACA,MAAMyB,kBAAkB,GAAGhC,qBAAqB,CAC9CwB,KAAK,CAACC,IAAI,CAACX,SAAS,CAACO,YAAY,CAACD,MAAM,EAAE,CAAC,EAC3CpC,eAAe,EACfC,cAAc,CACf;EACD,KAAK,MAAMgD,WAAW,IAAID,kBAAkB,EAAE;IAC5C,KAAK,MAAMF,IAAI,IAAII,mBAAmB,CAACD,WAAW,EAAEnB,SAAS,CAAC,EAAES,KAAK,CAAChB,IAAI,CAACuB,IAAI,CAAC;IAChFP,KAAK,CAAChB,IAAI,CAAC,EAAE,CAAC;EAChB;EAEA;EACA,MAAM4B,iBAAiB,GAAGnC,qBAAqB,CAC7CwB,KAAK,CAACC,IAAI,CAACX,SAAS,CAACK,WAAW,CAACC,MAAM,EAAE,CAAC,EAC1CpC,eAAe,EACfC,cAAc,CACf;EACD,KAAK,MAAMmD,UAAU,IAAID,iBAAiB,EAAE;IAC1C,KAAK,MAAML,IAAI,IAAIO,kBAAkB,CAACD,UAAU,EAAEtB,SAAS,CAAC,EAAES,KAAK,CAAChB,IAAI,CAACuB,IAAI,CAAC;IAC9EP,KAAK,CAAChB,IAAI,CAAC,EAAE,CAAC;EAChB;EAEA,OAAOgB,KAAK,CAACe,IAAI,CAAC,IAAI,CAAC;AACzB,CAAC;AAED;;;AAAAC,OAAA,CAAAjB,cAAA,GAAAA,cAAA;AAGA,MAAMS,gBAAgB,GAAIH,QAAuB,IAAmB;EAClE,MAAML,KAAK,GAAkB,EAAE;EAC/B,MAAMiB,OAAO,GAAGZ,QAAQ,CAACY,OAAO,CAACd,GAAG,CAAEe,CAAC,IAAK,IAAIA,CAAC,CAACnC,IAAI,GAAG,CAAC,CAACgC,IAAI,CAAC,IAAI,CAAC;EAErEf,KAAK,CAAChB,IAAI,CAAC,KAAK,CAAC;EACjBgB,KAAK,CAAChB,IAAI,CAAC,MAAMqB,QAAQ,CAACc,SAAS,aAAa,CAAC;EACjDnB,KAAK,CAAChB,IAAI,CAAC,IAAI,CAAC;EAChBgB,KAAK,CAAChB,IAAI,CAAC,iBAAiB,CAAC;EAC7BgB,KAAK,CAAChB,IAAI,CAAC,oBAAoB,CAAC;EAChCgB,KAAK,CAAChB,IAAI,CAAC,KAAK,CAAC;EACjBgB,KAAK,CAAChB,IAAI,CAAC,gBAAgBqB,QAAQ,CAACtB,IAAI,qBAAqBkC,OAAO,GAAG,CAAC;EACxEjB,KAAK,CAAChB,IAAI,CAAC,eAAeqB,QAAQ,CAACtB,IAAI,gCAAgCsB,QAAQ,CAACtB,IAAI,GAAG,CAAC;EAExF,OAAOiB,KAAK;AACd,CAAC;AAED;;;AAGA,MAAMW,mBAAmB,GAAGA,CAC1BD,WAA6B,EAC7BnB,SAAoB,KACH;EACjB,MAAMS,KAAK,GAAkB,EAAE;EAE/BA,KAAK,CAAChB,IAAI,CAAC,KAAK,CAAC;EACjBgB,KAAK,CAAChB,IAAI,CAAC,MAAM0B,WAAW,CAACS,SAAS,gBAAgB,CAAC;EACvDnB,KAAK,CAAChB,IAAI,CAAC,IAAI,CAAC;EAChBgB,KAAK,CAAChB,IAAI,CAAC,iBAAiB,CAAC;EAC7BgB,KAAK,CAAChB,IAAI,CAAC,qBAAqB,CAAC;EACjCgB,KAAK,CAAChB,IAAI,CAAC,KAAK,CAAC;EAEjB,MAAMoC,MAAM,GAAGC,oBAAoB,CAACX,WAAW,CAACrC,UAAU,EAAEqC,WAAW,CAACY,oBAAoB,EAAE/B,SAAS,CAAC;EAExGS,KAAK,CAAChB,IAAI,CAAC,gBAAgB0B,WAAW,CAAC3B,IAAI,yBAAyB2B,WAAW,CAAC3B,IAAI,MAAM2B,WAAW,CAAC3B,IAAI,MAAM,CAAC;EACjH,KAAK,MAAMwC,CAAC,IAAIH,MAAM,EAAEpB,KAAK,CAAChB,IAAI,CAAC,KAAKuC,CAAC,EAAE,CAAC;EAC5CvB,KAAK,CAAChB,IAAI,CAAC,OAAO,CAAC;EAEnB;EACAgB,KAAK,CAAChB,IAAI,CAAC,EAAE,CAAC;EACdgB,KAAK,CAAChB,IAAI,CAAC,KAAK,CAAC;EACjBgB,KAAK,CAAChB,IAAI,CAAC,eAAe0B,WAAW,CAACS,SAAS,oCAAoC,CAAC;EACpFnB,KAAK,CAAChB,IAAI,CAAC,IAAI,CAAC;EAChBgB,KAAK,CAAChB,IAAI,CAAC,iBAAiB,CAAC;EAC7BgB,KAAK,CAAChB,IAAI,CAAC,qBAAqB,CAAC;EACjCgB,KAAK,CAAChB,IAAI,CAAC,KAAK,CAAC;EAEjB,MAAMwC,cAAc,GAAGC,4BAA4B,CAACf,WAAW,CAACrC,UAAU,CAAC;EAC3E,MAAMqD,YAAY,GAAG,IAAAC,iCAAmB,EAACjB,WAAW,CAAC3B,IAAI,CAAC;EAE1DiB,KAAK,CAAChB,IAAI,CAAC,gBAAgB0C,YAAY,oBAAoB,CAAC;EAC5D,KAAK,MAAMH,CAAC,IAAIC,cAAc,EAAExB,KAAK,CAAChB,IAAI,CAAC,KAAKuC,CAAC,EAAE,CAAC;EACpDvB,KAAK,CAAChB,IAAI,CAAC,IAAI,CAAC;EAChBgB,KAAK,CAAChB,IAAI,CAAC,eAAe0C,YAAY,gCAAgCA,YAAY,GAAG,CAAC;EAEtF,OAAO1B,KAAK;AACd,CAAC;AAED;;;AAGA,MAAMc,kBAAkB,GAAGA,CACzBD,UAA2B,EAC3BtB,SAAoB,KACH;EACjB,MAAMS,KAAK,GAAkB,EAAE;EAE/B;EACAA,KAAK,CAAChB,IAAI,CAAC,KAAK,CAAC;EACjBgB,KAAK,CAAChB,IAAI,CAAC,MAAM6B,UAAU,CAACM,SAAS,eAAe,CAAC;EACrDnB,KAAK,CAAChB,IAAI,CAAC,IAAI,CAAC;EAChBgB,KAAK,CAAChB,IAAI,CAAC,iBAAiB,CAAC;EAC7BgB,KAAK,CAAChB,IAAI,CAAC,qBAAqB,CAAC;EACjCgB,KAAK,CAAChB,IAAI,CAAC,KAAK,CAAC;EAEjB,MAAMoC,MAAM,GAAGC,oBAAoB,CAACR,UAAU,CAACxC,UAAU,EAAEwC,UAAU,CAACS,oBAAoB,EAAE/B,SAAS,CAAC;EAEtGS,KAAK,CAAChB,IAAI,CAAC,gBAAgB6B,UAAU,CAAC9B,IAAI,yBAAyB8B,UAAU,CAAC9B,IAAI,MAAM8B,UAAU,CAAC9B,IAAI,MAAM,CAAC;EAC9G,KAAK,MAAMwC,CAAC,IAAIH,MAAM,EAAEpB,KAAK,CAAChB,IAAI,CAAC,KAAKuC,CAAC,EAAE,CAAC;EAC5CvB,KAAK,CAAChB,IAAI,CAAC,OAAO,CAAC;EAEnB;EACA,IAAI6B,UAAU,CAACe,IAAI,CAACC,MAAM,GAAG,CAAC,EAAE;IAC9B7B,KAAK,CAAChB,IAAI,CAAC,EAAE,CAAC;IACdgB,KAAK,CAAChB,IAAI,CAAC,KAAK,CAAC;IACjBgB,KAAK,CAAChB,IAAI,CAAC,MAAM6B,UAAU,CAACM,SAAS,WAAW,CAAC;IACjDnB,KAAK,CAAChB,IAAI,CAAC,IAAI,CAAC;IAChBgB,KAAK,CAAChB,IAAI,CAAC,iBAAiB,CAAC;IAC7BgB,KAAK,CAAChB,IAAI,CAAC,qBAAqB,CAAC;IACjCgB,KAAK,CAAChB,IAAI,CAAC,KAAK,CAAC;IAEjB,MAAM8C,UAAU,GAAG,IAAAC,2BAAa,EAAClB,UAAU,CAAC9B,IAAI,CAAC;IAEjD,IAAI8B,UAAU,CAACe,IAAI,CAACC,MAAM,KAAK,CAAC,EAAE;MAChC,MAAMG,GAAG,GAAGnB,UAAU,CAACe,IAAI,CAAC,CAAC,CAAC;MAC9B,MAAMK,SAAS,GAAGC,qBAAqB,CAACF,GAAG,EAAE,KAAK,CAAC;MACnDhC,KAAK,CAAChB,IAAI,CAAC,gBAAgB8C,UAAU,kBAAkB,CAAC;MACxD9B,KAAK,CAAChB,IAAI,CAAC,KAAKiD,SAAS,GAAG,CAAC;MAC7BjC,KAAK,CAAChB,IAAI,CAAC,qBAAqBgD,GAAG,CAACjD,IAAI,KAAKkD,SAAS,KAAK,CAAC;MAC5DjC,KAAK,CAAChB,IAAI,CAAC,GAAG,CAAC;IACjB,CAAC,MAAM;MACL;MACA,MAAMmD,SAAS,GAAGtB,UAAU,CAACe,IAAI,CAACzB,GAAG,CAAEiC,CAAC,IAAI;QAC1C,MAAMC,MAAM,GAAGH,qBAAqB,CAACE,CAAC,EAAE,KAAK,CAAC;QAC9C,OAAO,GAAGA,CAAC,CAACrD,IAAI,KAAKsD,MAAM,EAAE;MAC/B,CAAC,CAAC;MACFrC,KAAK,CAAChB,IAAI,CAAC,gBAAgB8C,UAAU,sBAAsBK,SAAS,CAACpB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;IACvF;IACAf,KAAK,CAAChB,IAAI,CAAC,eAAe8C,UAAU,gCAAgCA,UAAU,GAAG,CAAC;EACpF;EAEA;EACA9B,KAAK,CAAChB,IAAI,CAAC,EAAE,CAAC;EACdgB,KAAK,CAAChB,IAAI,CAAC,KAAK,CAAC;EACjBgB,KAAK,CAAChB,IAAI,CAAC,eAAe6B,UAAU,CAACM,SAAS,oCAAoC,CAAC;EACnFnB,KAAK,CAAChB,IAAI,CAAC,IAAI,CAAC;EAChBgB,KAAK,CAAChB,IAAI,CAAC,iBAAiB,CAAC;EAC7BgB,KAAK,CAAChB,IAAI,CAAC,qBAAqB,CAAC;EACjCgB,KAAK,CAAChB,IAAI,CAAC,KAAK,CAAC;EAEjB,MAAMwC,cAAc,GAAGC,4BAA4B,CACjDZ,UAAU,CAACxC,UAAU,CAACiE,MAAM,CAAE5C,CAAC,IAAK,CAACA,CAAC,CAAC6C,KAAK,CAAC,CAC9C;EACD,MAAMb,YAAY,GAAG,IAAAC,iCAAmB,EAACd,UAAU,CAAC9B,IAAI,CAAC;EAEzDiB,KAAK,CAAChB,IAAI,CAAC,gBAAgB0C,YAAY,oBAAoB,CAAC;EAC5D,KAAK,MAAMH,CAAC,IAAIC,cAAc,EAAExB,KAAK,CAAChB,IAAI,CAAC,KAAKuC,CAAC,EAAE,CAAC;EACpDvB,KAAK,CAAChB,IAAI,CAAC,IAAI,CAAC;EAChBgB,KAAK,CAAChB,IAAI,CAAC,eAAe0C,YAAY,gCAAgCA,YAAY,GAAG,CAAC;EAEtF,OAAO1B,KAAK;AACd,CAAC;AAED;;;;;AAKA,MAAMqB,oBAAoB,GAAGA,CAC3BhD,UAAwC,EACxCmE,qBAA6D,EAC7DC,UAAqB,KACJ;EACjB,MAAMrB,MAAM,GAAkB,EAAE;EAEhC,KAAK,IAAIsB,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGrE,UAAU,CAACwD,MAAM,EAAEa,CAAC,EAAE,EAAE;IAC1C,MAAMtE,IAAI,GAAGC,UAAU,CAACqE,CAAC,CAAC;IAC1B,MAAMC,UAAU,GAAGvE,IAAI,CAACwE,UAAU,IAAI,CAACxE,IAAI,CAACmE,KAAK;IACjD,MAAMM,UAAU,GAAGX,qBAAqB,CAAC9D,IAAI,EAAEuE,UAAU,CAAC;IAC1D,MAAMG,MAAM,GAAGJ,CAAC,KAAKrE,UAAU,CAACwD,MAAM,GAAG,CAAC;IAC1C,MAAMkB,QAAQ,GAAGC,0BAA0B,CAAC5E,IAAI,EAAEyE,UAAU,EAAEF,UAAU,CAAC;IACzEvB,MAAM,CAACpC,IAAI,CAAC,GAAG+D,QAAQ,GAAGD,MAAM,GAAG,EAAE,GAAG,GAAG,EAAE,CAAC;EAChD;EAEA;EACA;EAEA,OAAO1B,MAAM;AACf,CAAC;AAED;;;AAGA,MAAMK,4BAA4B,GAChCpD,UAAwC,IACvB;EACjB,MAAM+C,MAAM,GAAkB,EAAE;EAEhC,KAAK,IAAIsB,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGrE,UAAU,CAACwD,MAAM,EAAEa,CAAC,EAAE,EAAE;IAC1C,MAAMtE,IAAI,GAAGC,UAAU,CAACqE,CAAC,CAAC;IAC1B,MAAMC,UAAU,GAAGvE,IAAI,CAACwE,UAAU;IAClC,MAAMC,UAAU,GAAGX,qBAAqB,CAAC9D,IAAI,EAAEuE,UAAU,CAAC;IAC1D,MAAMG,MAAM,GAAGJ,CAAC,KAAKrE,UAAU,CAACwD,MAAM,GAAG,CAAC;IAC1C,MAAMkB,QAAQ,GAAGC,0BAA0B,CAAC5E,IAAI,EAAEyE,UAAU,EAAEF,UAAU,CAAC;IACzEvB,MAAM,CAACpC,IAAI,CAAC,GAAG+D,QAAQ,GAAGD,MAAM,GAAG,EAAE,GAAG,GAAG,EAAE,CAAC;EAChD;EAEA,OAAO1B,MAAM;AACf,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;AAqBA,MAAM4B,0BAA0B,GAAGA,CACjC5E,IAAmB,EACnByE,UAAkB,EAClBF,UAAmB,KACT;EACV;EACA,IAAIvE,IAAI,CAAC+C,SAAS,KAAK/C,IAAI,CAACW,IAAI,EAAE;IAChC,OAAO,GAAGX,IAAI,CAACW,IAAI,KAAK8D,UAAU,EAAE;EACtC;EAEA;EACA,IAAIF,UAAU,EAAE;IACd,OAAO,GAAGvE,IAAI,CAACW,IAAI,KAAK8D,UAAU,yBAAyBzE,IAAI,CAAC+C,SAAS,KAAK;EAChF;EAEA;EACA,OAAO,GAAG/C,IAAI,CAACW,IAAI,8BAA8B8D,UAAU,0BAA0BzE,IAAI,CAAC+C,SAAS,KAAK;AAC1G,CAAC;AAED;;;AAGA,MAAMe,qBAAqB,GAAGA,CAC5B9D,IAAmB,EACnB6E,YAAqB,KACX;EACV,IAAIpF,QAAQ,GAAGO,IAAI,CAACG,WAAW,CAACC,YAAY;EAE5C;EACA,IAAIJ,IAAI,CAAC8E,YAAY,EAAE;IACrBrF,QAAQ,GAAG,gBAAgBA,QAAQ,GAAG;EACxC;EAEA;EACA,IAAIoF,YAAY,EAAE;IAChB,OAAO,uBAAuBpF,QAAQ,uBAAuB;EAC/D;EAEA,OAAOA,QAAQ;AACjB,CAAC","ignoreList":[]}
@@ -140,7 +140,7 @@ const generatePathBuildersFile = (dataModel, esmExtensions) => {
140
140
  // Imports
141
141
  lines.push(`import { ${versionConfig.odataNamespace} } from "@odata-effect/odata-effect"`);
142
142
  lines.push(`import { toPromise } from "@odata-effect/odata-effect-promise"`);
143
- lines.push(`import type { Effect, Schema } from "effect"`);
143
+ lines.push(`import type { Schema } from "effect"`);
144
144
  lines.push(``);
145
145
  // Import model types with Model suffix to avoid collision with entity set names
146
146
  if (referencedTypes.size > 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"NavigationGenerator.js","names":["_NamingHelper","require","V2_CONFIG","odataNamespace","clientModule","queryOptionsType","V4_CONFIG","getVersionConfig","version","getPathBuildersModuleName","exports","collectAllNavigationProperties","dataModel","navProps","entityType","entityTypes","values","navProp","navigationProperties","targetTypeName","getClassName","targetType","push","propertyName","name","odataName","sourceEntityName","targetEntityName","isCollection","findCollisions","collisions","Set","seen","Map","prop","existing","get","add","set","getNavFunctionName","hasCollision","toCamelCase","getDerivedTypes","baseTypeFqName","derived","baseType","furtherDerived","fqName","d","generateNavigations","options","esmExtensions","moduleName","content","generatePathBuildersFile","navigationFiles","fileName","lines","versionConfig","allNavProps","referencedTypes","collectReferencedTypes","size","typesList","Array","from","sort","i","length","isLast","formatRelativeImport","entitySet","entitySets","entityTypeFqName","navPropsBySource","sourceEntity","props","has","fnName","castFunctions","generateTypeCastFunctions","castFunction","join","processed","derivedTypes","castPath","namespace","types"],"sources":["../../../src/generator/NavigationGenerator.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"NavigationGenerator.js","names":["_NamingHelper","require","V2_CONFIG","odataNamespace","clientModule","queryOptionsType","V4_CONFIG","getVersionConfig","version","getPathBuildersModuleName","exports","collectAllNavigationProperties","dataModel","navProps","entityType","entityTypes","values","navProp","navigationProperties","targetTypeName","getClassName","targetType","push","propertyName","name","odataName","sourceEntityName","targetEntityName","isCollection","findCollisions","collisions","Set","seen","Map","prop","existing","get","add","set","getNavFunctionName","hasCollision","toCamelCase","getDerivedTypes","baseTypeFqName","derived","baseType","furtherDerived","fqName","d","generateNavigations","options","esmExtensions","moduleName","content","generatePathBuildersFile","navigationFiles","fileName","lines","versionConfig","allNavProps","referencedTypes","collectReferencedTypes","size","typesList","Array","from","sort","i","length","isLast","formatRelativeImport","entitySet","entitySets","entityTypeFqName","navPropsBySource","sourceEntity","props","has","fnName","castFunctions","generateTypeCastFunctions","castFunction","join","processed","derivedTypes","castPath","namespace","types"],"sources":["../../../src/generator/NavigationGenerator.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -121,7 +121,6 @@ const generateIdToKeyFunction = (entityType, version) => {
121
121
  if (entityType.keys.length === 1) {
122
122
  const keyProp = entityType.keys[0];
123
123
  const keyTsType = keyProp.typeMapping.tsType;
124
- const primitiveCheck = keyTsType === "number" ? "number" : "string";
125
124
  if (isV4) {
126
125
  // V4 can use number keys directly
127
126
  if (keyTsType === "number") {
@@ -130,18 +129,16 @@ const generateIdToKeyFunction = (entityType, version) => {
130
129
  return `(id: ${idTypeName}) => typeof id === "string" ? { ${keyProp.odataName}: id } : { ${keyProp.odataName}: id.${keyProp.name} }`;
131
130
  }
132
131
  } else {
133
- // V2 needs string keys
134
- return `(id: ${idTypeName}) => typeof id === "${primitiveCheck}" ? { ${keyProp.odataName}: String(id) } : { ${keyProp.odataName}: String(id.${keyProp.name}) }`;
135
- }
136
- } else {
137
- // Composite key
138
- const keyMapping = entityType.keys.map(k => {
139
- if (isV4) {
140
- return `${k.odataName}: id.${k.name}`;
132
+ // V2 supports both numeric and string keys
133
+ if (keyTsType === "number") {
134
+ return `(id: ${idTypeName}) => typeof id === "number" ? { ${keyProp.odataName}: id } : { ${keyProp.odataName}: id.${keyProp.name} }`;
141
135
  } else {
142
- return `${k.odataName}: String(id.${k.name})`;
136
+ return `(id: ${idTypeName}) => typeof id === "string" ? { ${keyProp.odataName}: id } : { ${keyProp.odataName}: id.${keyProp.name} }`;
143
137
  }
144
- }).join(", ");
138
+ }
139
+ } else {
140
+ // Composite key - both V2 and V4 can use native types
141
+ const keyMapping = entityType.keys.map(k => `${k.odataName}: id.${k.name}`).join(", ");
145
142
  return `(id: ${idTypeName}) => ({ ${keyMapping} })`;
146
143
  }
147
144
  };
@@ -1 +1 @@
1
- {"version":3,"file":"ServiceFnGenerator.js","names":["_NamingHelper","require","generateServiceFns","dataModel","options","esmExtensions","content","generateServicesFile","servicesFile","fileName","exports","lines","isV4","version","crudImportPath","entitySets","entitySet","values","entityType","entityTypes","get","entityTypeFqName","push","serviceName","modelImports","name","keys","length","getIdTypeName","getEditableTypeName","i","isLast","formatRelativeImport","serviceClassName","getServiceClassName","entityName","editableName","hasKeys","generateIdToKeyFunction","join","idTypeName","keyProp","keyTsType","typeMapping","tsType","primitiveCheck","odataName","keyMapping","map","k"],"sources":["../../../src/generator/ServiceFnGenerator.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"ServiceFnGenerator.js","names":["_NamingHelper","require","generateServiceFns","dataModel","options","esmExtensions","content","generateServicesFile","servicesFile","fileName","exports","lines","isV4","version","crudImportPath","entitySets","entitySet","values","entityType","entityTypes","get","entityTypeFqName","push","serviceName","modelImports","name","keys","length","getIdTypeName","getEditableTypeName","i","isLast","formatRelativeImport","serviceClassName","getServiceClassName","entityName","editableName","hasKeys","generateIdToKeyFunction","join","idTypeName","keyProp","keyTsType","typeMapping","tsType","odataName","keyMapping","map","k"],"sources":["../../../src/generator/ServiceFnGenerator.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"ModelsGenerator.d.ts","sourceRoot":"","sources":["../../../src/generator/ModelsGenerator.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAEV,SAAS,EAKV,MAAM,uBAAuB,CAAA;AAqH9B;;;;;GAKG;AACH,eAAO,MAAM,cAAc,GAAI,WAAW,SAAS,KAAG,MA0DrD,CAAA"}
1
+ {"version":3,"file":"ModelsGenerator.d.ts","sourceRoot":"","sources":["../../../src/generator/ModelsGenerator.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAEV,SAAS,EAKV,MAAM,uBAAuB,CAAA;AA2F9B;;;;;GAKG;AACH,eAAO,MAAM,cAAc,GAAI,WAAW,SAAS,KAAG,MAoDrD,CAAA"}
@@ -65,28 +65,6 @@ const needsODataSchemaImport = dataModel => {
65
65
  }
66
66
  return false;
67
67
  };
68
- /**
69
- * Check which Effect type imports are needed based on tsType usage.
70
- */
71
- const getNeededEffectTypeImports = dataModel => {
72
- const needed = new Set();
73
- const checkTsType = tsType => {
74
- if (tsType.startsWith("DateTime.")) needed.add("DateTime");
75
- if (tsType.startsWith("BigDecimal.")) needed.add("BigDecimal");
76
- if (tsType.startsWith("Duration.")) needed.add("Duration");
77
- };
78
- for (const type of dataModel.entityTypes.values()) {
79
- for (const prop of type.properties) {
80
- checkTsType(prop.typeMapping.tsType);
81
- }
82
- }
83
- for (const type of dataModel.complexTypes.values()) {
84
- for (const prop of type.properties) {
85
- checkTsType(prop.typeMapping.tsType);
86
- }
87
- }
88
- return needed;
89
- };
90
68
  /**
91
69
  * Generate the Models.ts file content.
92
70
  *
@@ -106,11 +84,6 @@ export const generateModels = dataModel => {
106
84
  lines.push(` * @since 1.0.0`);
107
85
  lines.push(` */`);
108
86
  lines.push(`import * as Schema from "effect/Schema"`);
109
- // Add Effect type imports if needed (for DateTime, BigDecimal, Duration)
110
- const effectTypeImports = getNeededEffectTypeImports(dataModel);
111
- for (const effectType of effectTypeImports) {
112
- lines.push(`import type * as ${effectType} from "effect/${effectType}"`);
113
- }
114
87
  // Add ODataSchema import if needed
115
88
  if (needsODataSchemaImport(dataModel)) {
116
89
  lines.push(`import { ODataSchema } from "@odata-effect/odata-effect"`);
@@ -250,9 +223,10 @@ const generateSchemaFields = (properties, _navigationProperties, _dataModel) =>
250
223
  const fields = [];
251
224
  for (let i = 0; i < properties.length; i++) {
252
225
  const prop = properties[i];
253
- const schemaType = getPropertySchemaType(prop, prop.isNullable && !prop.isKey);
226
+ const isOptional = prop.isNullable && !prop.isKey;
227
+ const schemaType = getPropertySchemaType(prop, isOptional);
254
228
  const isLast = i === properties.length - 1;
255
- const fieldDef = getPropertyFieldDefinition(prop, schemaType);
229
+ const fieldDef = getPropertyFieldDefinition(prop, schemaType, isOptional);
256
230
  fields.push(`${fieldDef}${isLast ? "" : ","}`);
257
231
  }
258
232
  // Navigation properties are intentionally excluded from Schema.Class
@@ -266,9 +240,10 @@ const generateEditableSchemaFields = properties => {
266
240
  const fields = [];
267
241
  for (let i = 0; i < properties.length; i++) {
268
242
  const prop = properties[i];
269
- const schemaType = getPropertySchemaType(prop, prop.isNullable);
243
+ const isOptional = prop.isNullable;
244
+ const schemaType = getPropertySchemaType(prop, isOptional);
270
245
  const isLast = i === properties.length - 1;
271
- const fieldDef = getPropertyFieldDefinition(prop, schemaType);
246
+ const fieldDef = getPropertyFieldDefinition(prop, schemaType, isOptional);
272
247
  fields.push(`${fieldDef}${isLast ? "" : ","}`);
273
248
  }
274
249
  return fields;
@@ -277,22 +252,33 @@ const generateEditableSchemaFields = properties => {
277
252
  * Get a complete property field definition including fromKey mapping if needed.
278
253
  *
279
254
  * When the OData property name differs from the TypeScript property name,
280
- * we use Schema.propertySignature with Schema.fromKey to map between them.
281
- * This is essential for OData V2 responses which use PascalCase property names.
255
+ * we use Schema.fromKey to map between them.
256
+ *
257
+ * For optional fields (using Schema.optionalWith), we pipe fromKey directly
258
+ * since optionalWith already returns a PropertySignature.
259
+ *
260
+ * For required fields, we wrap in Schema.propertySignature first.
282
261
  *
283
262
  * @example
284
263
  * // When odataName == name:
285
264
  * name: Schema.String
286
265
  *
287
- * // When odataName ("ID") != name ("id"):
266
+ * // When odataName ("ID") != name ("id") - required field:
288
267
  * id: Schema.propertySignature(Schema.Number).pipe(Schema.fromKey("ID"))
268
+ *
269
+ * // When odataName ("Name") != name ("name") - optional field:
270
+ * name: Schema.optionalWith(Schema.String, { nullable: true }).pipe(Schema.fromKey("Name"))
289
271
  */
290
- const getPropertyFieldDefinition = (prop, schemaType) => {
272
+ const getPropertyFieldDefinition = (prop, schemaType, isOptional) => {
291
273
  // If OData name matches TypeScript name, use simple format
292
274
  if (prop.odataName === prop.name) {
293
275
  return `${prop.name}: ${schemaType}`;
294
276
  }
295
- // Use propertySignature with fromKey to map between encoded (OData) and decoded (TypeScript) names
277
+ // If optional, Schema.optionalWith already returns a PropertySignature, so just pipe fromKey
278
+ if (isOptional) {
279
+ return `${prop.name}: ${schemaType}.pipe(Schema.fromKey("${prop.odataName}"))`;
280
+ }
281
+ // For required fields, wrap in propertySignature first, then pipe fromKey
296
282
  return `${prop.name}: Schema.propertySignature(${schemaType}).pipe(Schema.fromKey("${prop.odataName}"))`;
297
283
  };
298
284
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"ModelsGenerator.js","names":["getClassName","getEditableTypeName","getIdTypeName","getTypeDependencies","type","allComplexTypes","allEntityTypes","deps","Set","baseType","baseTypeName","split","pop","has","add","prop","properties","propTypeName","typeMapping","effectSchema","sortTypesByDependency","types","sorted","visited","visiting","visit","name","push","depName","depType","find","t","delete","needsODataSchemaImport","dataModel","checkProperties","some","p","startsWith","entityTypes","values","complexTypes","getNeededEffectTypeImports","needed","checkTsType","tsType","generateModels","lines","Array","from","map","serviceName","effectTypeImports","effectType","enumType","enumTypes","line","generateEnumType","sortedComplexTypes","complexType","generateComplexType","sortedEntityTypes","entityType","generateEntityType","join","members","m","odataName","fields","generateSchemaFields","navigationProperties","f","editableFields","generateEditableSchemaFields","editableName","keys","length","idTypeName","key","keySchema","getPropertySchemaType","keyFields","k","schema","filter","isKey","_navigationProperties","_dataModel","i","schemaType","isNullable","isLast","fieldDef","getPropertyFieldDefinition","makeOptional","isCollection"],"sources":["../../../src/generator/ModelsGenerator.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"ModelsGenerator.js","names":["getClassName","getEditableTypeName","getIdTypeName","getTypeDependencies","type","allComplexTypes","allEntityTypes","deps","Set","baseType","baseTypeName","split","pop","has","add","prop","properties","propTypeName","typeMapping","effectSchema","sortTypesByDependency","types","sorted","visited","visiting","visit","name","push","depName","depType","find","t","delete","needsODataSchemaImport","dataModel","checkProperties","some","p","startsWith","entityTypes","values","complexTypes","generateModels","lines","Array","from","map","serviceName","enumType","enumTypes","line","generateEnumType","sortedComplexTypes","complexType","generateComplexType","sortedEntityTypes","entityType","generateEntityType","join","members","m","odataName","fields","generateSchemaFields","navigationProperties","f","editableFields","generateEditableSchemaFields","editableName","keys","length","idTypeName","key","keySchema","getPropertySchemaType","keyFields","k","schema","filter","isKey","_navigationProperties","_dataModel","i","isOptional","isNullable","schemaType","isLast","fieldDef","getPropertyFieldDefinition","makeOptional","isCollection"],"sources":["../../../src/generator/ModelsGenerator.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -132,7 +132,7 @@ const generatePathBuildersFile = (dataModel, esmExtensions) => {
132
132
  // Imports
133
133
  lines.push(`import { ${versionConfig.odataNamespace} } from "@odata-effect/odata-effect"`);
134
134
  lines.push(`import { toPromise } from "@odata-effect/odata-effect-promise"`);
135
- lines.push(`import type { Effect, Schema } from "effect"`);
135
+ lines.push(`import type { Schema } from "effect"`);
136
136
  lines.push(``);
137
137
  // Import model types with Model suffix to avoid collision with entity set names
138
138
  if (referencedTypes.size > 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"NavigationGenerator.js","names":["formatRelativeImport","getClassName","toCamelCase","V2_CONFIG","odataNamespace","clientModule","queryOptionsType","V4_CONFIG","getVersionConfig","version","getPathBuildersModuleName","collectAllNavigationProperties","dataModel","navProps","entityType","entityTypes","values","navProp","navigationProperties","targetTypeName","targetType","push","propertyName","name","odataName","sourceEntityName","targetEntityName","isCollection","findCollisions","collisions","Set","seen","Map","prop","existing","get","add","set","getNavFunctionName","hasCollision","getDerivedTypes","baseTypeFqName","derived","baseType","furtherDerived","fqName","d","generateNavigations","options","esmExtensions","moduleName","content","generatePathBuildersFile","navigationFiles","fileName","lines","versionConfig","allNavProps","referencedTypes","collectReferencedTypes","size","typesList","Array","from","sort","i","length","isLast","entitySet","entitySets","entityTypeFqName","navPropsBySource","sourceEntity","props","has","fnName","castFunctions","generateTypeCastFunctions","castFunction","join","processed","derivedTypes","castPath","namespace","types"],"sources":["../../../src/generator/NavigationGenerator.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"NavigationGenerator.js","names":["formatRelativeImport","getClassName","toCamelCase","V2_CONFIG","odataNamespace","clientModule","queryOptionsType","V4_CONFIG","getVersionConfig","version","getPathBuildersModuleName","collectAllNavigationProperties","dataModel","navProps","entityType","entityTypes","values","navProp","navigationProperties","targetTypeName","targetType","push","propertyName","name","odataName","sourceEntityName","targetEntityName","isCollection","findCollisions","collisions","Set","seen","Map","prop","existing","get","add","set","getNavFunctionName","hasCollision","getDerivedTypes","baseTypeFqName","derived","baseType","furtherDerived","fqName","d","generateNavigations","options","esmExtensions","moduleName","content","generatePathBuildersFile","navigationFiles","fileName","lines","versionConfig","allNavProps","referencedTypes","collectReferencedTypes","size","typesList","Array","from","sort","i","length","isLast","entitySet","entitySets","entityTypeFqName","navPropsBySource","sourceEntity","props","has","fnName","castFunctions","generateTypeCastFunctions","castFunction","join","processed","derivedTypes","castPath","namespace","types"],"sources":["../../../src/generator/NavigationGenerator.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -114,7 +114,6 @@ const generateIdToKeyFunction = (entityType, version) => {
114
114
  if (entityType.keys.length === 1) {
115
115
  const keyProp = entityType.keys[0];
116
116
  const keyTsType = keyProp.typeMapping.tsType;
117
- const primitiveCheck = keyTsType === "number" ? "number" : "string";
118
117
  if (isV4) {
119
118
  // V4 can use number keys directly
120
119
  if (keyTsType === "number") {
@@ -123,18 +122,16 @@ const generateIdToKeyFunction = (entityType, version) => {
123
122
  return `(id: ${idTypeName}) => typeof id === "string" ? { ${keyProp.odataName}: id } : { ${keyProp.odataName}: id.${keyProp.name} }`;
124
123
  }
125
124
  } else {
126
- // V2 needs string keys
127
- return `(id: ${idTypeName}) => typeof id === "${primitiveCheck}" ? { ${keyProp.odataName}: String(id) } : { ${keyProp.odataName}: String(id.${keyProp.name}) }`;
128
- }
129
- } else {
130
- // Composite key
131
- const keyMapping = entityType.keys.map(k => {
132
- if (isV4) {
133
- return `${k.odataName}: id.${k.name}`;
125
+ // V2 supports both numeric and string keys
126
+ if (keyTsType === "number") {
127
+ return `(id: ${idTypeName}) => typeof id === "number" ? { ${keyProp.odataName}: id } : { ${keyProp.odataName}: id.${keyProp.name} }`;
134
128
  } else {
135
- return `${k.odataName}: String(id.${k.name})`;
129
+ return `(id: ${idTypeName}) => typeof id === "string" ? { ${keyProp.odataName}: id } : { ${keyProp.odataName}: id.${keyProp.name} }`;
136
130
  }
137
- }).join(", ");
131
+ }
132
+ } else {
133
+ // Composite key - both V2 and V4 can use native types
134
+ const keyMapping = entityType.keys.map(k => `${k.odataName}: id.${k.name}`).join(", ");
138
135
  return `(id: ${idTypeName}) => ({ ${keyMapping} })`;
139
136
  }
140
137
  };
@@ -1 +1 @@
1
- {"version":3,"file":"ServiceFnGenerator.js","names":["formatRelativeImport","getEditableTypeName","getIdTypeName","getServiceClassName","generateServiceFns","dataModel","options","esmExtensions","content","generateServicesFile","servicesFile","fileName","lines","isV4","version","crudImportPath","entitySets","entitySet","values","entityType","entityTypes","get","entityTypeFqName","push","serviceName","modelImports","name","keys","length","i","isLast","serviceClassName","entityName","editableName","hasKeys","generateIdToKeyFunction","join","idTypeName","keyProp","keyTsType","typeMapping","tsType","primitiveCheck","odataName","keyMapping","map","k"],"sources":["../../../src/generator/ServiceFnGenerator.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"ServiceFnGenerator.js","names":["formatRelativeImport","getEditableTypeName","getIdTypeName","getServiceClassName","generateServiceFns","dataModel","options","esmExtensions","content","generateServicesFile","servicesFile","fileName","lines","isV4","version","crudImportPath","entitySets","entitySet","values","entityType","entityTypes","get","entityTypeFqName","push","serviceName","modelImports","name","keys","length","i","isLast","serviceClassName","entityName","editableName","hasKeys","generateIdToKeyFunction","join","idTypeName","keyProp","keyTsType","typeMapping","tsType","odataName","keyMapping","map","k"],"sources":["../../../src/generator/ServiceFnGenerator.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@odata-effect/odata-effect-generator",
3
- "version": "0.6.0",
3
+ "version": "0.6.2",
4
4
  "description": "Effect-based OData service code generator",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -101,32 +101,6 @@ const needsODataSchemaImport = (dataModel: DataModel): boolean => {
101
101
  return false
102
102
  }
103
103
 
104
- /**
105
- * Check which Effect type imports are needed based on tsType usage.
106
- */
107
- const getNeededEffectTypeImports = (dataModel: DataModel): Set<string> => {
108
- const needed = new Set<string>()
109
-
110
- const checkTsType = (tsType: string): void => {
111
- if (tsType.startsWith("DateTime.")) needed.add("DateTime")
112
- if (tsType.startsWith("BigDecimal.")) needed.add("BigDecimal")
113
- if (tsType.startsWith("Duration.")) needed.add("Duration")
114
- }
115
-
116
- for (const type of dataModel.entityTypes.values()) {
117
- for (const prop of type.properties) {
118
- checkTsType(prop.typeMapping.tsType)
119
- }
120
- }
121
- for (const type of dataModel.complexTypes.values()) {
122
- for (const prop of type.properties) {
123
- checkTsType(prop.typeMapping.tsType)
124
- }
125
- }
126
-
127
- return needed
128
- }
129
-
130
104
  /**
131
105
  * Generate the Models.ts file content.
132
106
  *
@@ -149,12 +123,6 @@ export const generateModels = (dataModel: DataModel): string => {
149
123
  lines.push(` */`)
150
124
  lines.push(`import * as Schema from "effect/Schema"`)
151
125
 
152
- // Add Effect type imports if needed (for DateTime, BigDecimal, Duration)
153
- const effectTypeImports = getNeededEffectTypeImports(dataModel)
154
- for (const effectType of effectTypeImports) {
155
- lines.push(`import type * as ${effectType} from "effect/${effectType}"`)
156
- }
157
-
158
126
  // Add ODataSchema import if needed
159
127
  if (needsODataSchemaImport(dataModel)) {
160
128
  lines.push(`import { ODataSchema } from "@odata-effect/odata-effect"`)
@@ -343,9 +311,10 @@ const generateSchemaFields = (
343
311
 
344
312
  for (let i = 0; i < properties.length; i++) {
345
313
  const prop = properties[i]
346
- const schemaType = getPropertySchemaType(prop, prop.isNullable && !prop.isKey)
314
+ const isOptional = prop.isNullable && !prop.isKey
315
+ const schemaType = getPropertySchemaType(prop, isOptional)
347
316
  const isLast = i === properties.length - 1
348
- const fieldDef = getPropertyFieldDefinition(prop, schemaType)
317
+ const fieldDef = getPropertyFieldDefinition(prop, schemaType, isOptional)
349
318
  fields.push(`${fieldDef}${isLast ? "" : ","}`)
350
319
  }
351
320
 
@@ -365,9 +334,10 @@ const generateEditableSchemaFields = (
365
334
 
366
335
  for (let i = 0; i < properties.length; i++) {
367
336
  const prop = properties[i]
368
- const schemaType = getPropertySchemaType(prop, prop.isNullable)
337
+ const isOptional = prop.isNullable
338
+ const schemaType = getPropertySchemaType(prop, isOptional)
369
339
  const isLast = i === properties.length - 1
370
- const fieldDef = getPropertyFieldDefinition(prop, schemaType)
340
+ const fieldDef = getPropertyFieldDefinition(prop, schemaType, isOptional)
371
341
  fields.push(`${fieldDef}${isLast ? "" : ","}`)
372
342
  }
373
343
 
@@ -378,26 +348,39 @@ const generateEditableSchemaFields = (
378
348
  * Get a complete property field definition including fromKey mapping if needed.
379
349
  *
380
350
  * When the OData property name differs from the TypeScript property name,
381
- * we use Schema.propertySignature with Schema.fromKey to map between them.
382
- * This is essential for OData V2 responses which use PascalCase property names.
351
+ * we use Schema.fromKey to map between them.
352
+ *
353
+ * For optional fields (using Schema.optionalWith), we pipe fromKey directly
354
+ * since optionalWith already returns a PropertySignature.
355
+ *
356
+ * For required fields, we wrap in Schema.propertySignature first.
383
357
  *
384
358
  * @example
385
359
  * // When odataName == name:
386
360
  * name: Schema.String
387
361
  *
388
- * // When odataName ("ID") != name ("id"):
362
+ * // When odataName ("ID") != name ("id") - required field:
389
363
  * id: Schema.propertySignature(Schema.Number).pipe(Schema.fromKey("ID"))
364
+ *
365
+ * // When odataName ("Name") != name ("name") - optional field:
366
+ * name: Schema.optionalWith(Schema.String, { nullable: true }).pipe(Schema.fromKey("Name"))
390
367
  */
391
368
  const getPropertyFieldDefinition = (
392
369
  prop: PropertyModel,
393
- schemaType: string
370
+ schemaType: string,
371
+ isOptional: boolean
394
372
  ): string => {
395
373
  // If OData name matches TypeScript name, use simple format
396
374
  if (prop.odataName === prop.name) {
397
375
  return `${prop.name}: ${schemaType}`
398
376
  }
399
377
 
400
- // Use propertySignature with fromKey to map between encoded (OData) and decoded (TypeScript) names
378
+ // If optional, Schema.optionalWith already returns a PropertySignature, so just pipe fromKey
379
+ if (isOptional) {
380
+ return `${prop.name}: ${schemaType}.pipe(Schema.fromKey("${prop.odataName}"))`
381
+ }
382
+
383
+ // For required fields, wrap in propertySignature first, then pipe fromKey
401
384
  return `${prop.name}: Schema.propertySignature(${schemaType}).pipe(Schema.fromKey("${prop.odataName}"))`
402
385
  }
403
386
 
@@ -242,7 +242,7 @@ const generatePathBuildersFile = (dataModel: DataModel, esmExtensions: boolean):
242
242
  // Imports
243
243
  lines.push(`import { ${versionConfig.odataNamespace} } from "@odata-effect/odata-effect"`)
244
244
  lines.push(`import { toPromise } from "@odata-effect/odata-effect-promise"`)
245
- lines.push(`import type { Effect, Schema } from "effect"`)
245
+ lines.push(`import type { Schema } from "effect"`)
246
246
  lines.push(``)
247
247
 
248
248
  // Import model types with Model suffix to avoid collision with entity set names
@@ -177,7 +177,6 @@ const generateIdToKeyFunction = (
177
177
  if (entityType.keys.length === 1) {
178
178
  const keyProp = entityType.keys[0]
179
179
  const keyTsType = keyProp.typeMapping.tsType
180
- const primitiveCheck = keyTsType === "number" ? "number" : "string"
181
180
 
182
181
  if (isV4) {
183
182
  // V4 can use number keys directly
@@ -187,19 +186,16 @@ const generateIdToKeyFunction = (
187
186
  return `(id: ${idTypeName}) => typeof id === "string" ? { ${keyProp.odataName}: id } : { ${keyProp.odataName}: id.${keyProp.name} }`
188
187
  }
189
188
  } else {
190
- // V2 needs string keys
191
- return `(id: ${idTypeName}) => typeof id === "${primitiveCheck}" ? { ${keyProp.odataName}: String(id) } : { ${keyProp.odataName}: String(id.${keyProp.name}) }`
192
- }
193
- } else {
194
- // Composite key
195
- const keyMapping = entityType.keys.map((k) => {
196
- if (isV4) {
197
- return `${k.odataName}: id.${k.name}`
189
+ // V2 supports both numeric and string keys
190
+ if (keyTsType === "number") {
191
+ return `(id: ${idTypeName}) => typeof id === "number" ? { ${keyProp.odataName}: id } : { ${keyProp.odataName}: id.${keyProp.name} }`
198
192
  } else {
199
- return `${k.odataName}: String(id.${k.name})`
193
+ return `(id: ${idTypeName}) => typeof id === "string" ? { ${keyProp.odataName}: id } : { ${keyProp.odataName}: id.${keyProp.name} }`
200
194
  }
201
- }).join(", ")
202
-
195
+ }
196
+ } else {
197
+ // Composite key - both V2 and V4 can use native types
198
+ const keyMapping = entityType.keys.map((k) => `${k.odataName}: id.${k.name}`).join(", ")
203
199
  return `(id: ${idTypeName}) => ({ ${keyMapping} })`
204
200
  }
205
201
  }