@odata-effect/odata-effect-generator 0.6.4 → 0.6.6

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.
@@ -8,12 +8,16 @@ var _NamingHelper = require("./NamingHelper.js");
8
8
  const V2_CONFIG = {
9
9
  odataNamespace: "OData",
10
10
  clientModule: "OData",
11
- queryOptionsType: "ODataQueryOptions"
11
+ queryOptionsType: "ODataQueryOptions",
12
+ errorType: "ODataClientError",
13
+ dependenciesType: "ODataClientDependencies"
12
14
  };
13
15
  const V4_CONFIG = {
14
16
  odataNamespace: "ODataV4",
15
17
  clientModule: "ODataV4",
16
- queryOptionsType: "ODataV4QueryOptions"
18
+ queryOptionsType: "ODataV4QueryOptions",
19
+ errorType: "ODataV4ClientError",
20
+ dependenciesType: "ODataV4ClientDependencies"
17
21
  };
18
22
  const getVersionConfig = version => version === "V4" ? V4_CONFIG : V2_CONFIG;
19
23
  /**
@@ -140,7 +144,7 @@ const generatePathBuildersFile = (dataModel, esmExtensions) => {
140
144
  // Imports
141
145
  lines.push(`import { ${versionConfig.odataNamespace} } from "@odata-effect/odata-effect"`);
142
146
  lines.push(`import { toPromise } from "@odata-effect/odata-effect-promise"`);
143
- lines.push(`import type { Schema } from "effect"`);
147
+ lines.push(`import type { Effect, Schema } from "effect"`);
144
148
  lines.push(``);
145
149
  // Import model types with Model suffix to avoid collision with entity set names
146
150
  if (referencedTypes.size > 0) {
@@ -268,7 +272,7 @@ const generatePathBuildersFile = (dataModel, esmExtensions) => {
268
272
  lines.push(` * @category operations`);
269
273
  lines.push(` */`);
270
274
  lines.push(`export const fetchCollection = <T, I>(schema: Schema.Schema<T, I>) =>`);
271
- lines.push(` (path: Path<T, true>, options?: ${versionConfig.clientModule}.${versionConfig.queryOptionsType}) =>`);
275
+ lines.push(` (path: Path<T, true>, options?: ${versionConfig.clientModule}.${versionConfig.queryOptionsType}): Effect.Effect<ReadonlyArray<T>, ${versionConfig.odataNamespace}.${versionConfig.errorType}, ${versionConfig.odataNamespace}.${versionConfig.dependenciesType}> =>`);
272
276
  lines.push(` ${versionConfig.odataNamespace}.getCollection(path, schema, options)`);
273
277
  lines.push(``);
274
278
  lines.push(`/**`);
@@ -283,7 +287,7 @@ const generatePathBuildersFile = (dataModel, esmExtensions) => {
283
287
  lines.push(` * @category operations`);
284
288
  lines.push(` */`);
285
289
  lines.push(`export const fetchOne = <T, I>(schema: Schema.Schema<T, I>) =>`);
286
- lines.push(` (path: Path<T, false>, options?: ${versionConfig.clientModule}.${versionConfig.queryOptionsType}) =>`);
290
+ lines.push(` (path: Path<T, false>, options?: ${versionConfig.clientModule}.${versionConfig.queryOptionsType}): Effect.Effect<T, ${versionConfig.odataNamespace}.${versionConfig.errorType}, ${versionConfig.odataNamespace}.${versionConfig.dependenciesType}> =>`);
287
291
  lines.push(` ${versionConfig.odataNamespace}.get(path, schema, options)`);
288
292
  lines.push(``);
289
293
  // Promise conversion (re-export from odata-effect-promise)
@@ -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","errorType","dependenciesType","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,6 +121,12 @@ 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
+ // Check if key is a branded type that needs string conversion
125
+ const isBrandedType = keyTsType.startsWith("BigDecimal.") || keyTsType.startsWith("DateTime.") || keyTsType.startsWith("Duration.");
126
+ if (isBrandedType) {
127
+ // Branded types are converted to string for EntityKey compatibility
128
+ return `(id: ${idTypeName}) => typeof id === "string" ? { ${keyProp.odataName}: id } : { ${keyProp.odataName}: String(id.${keyProp.name}) }`;
129
+ }
124
130
  if (isV4) {
125
131
  // V4 can use number keys directly
126
132
  if (keyTsType === "number") {
@@ -137,8 +143,15 @@ const generateIdToKeyFunction = (entityType, version) => {
137
143
  }
138
144
  }
139
145
  } 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(", ");
146
+ // Composite key - convert branded types (BigDecimal, DateTime, Duration) to string
147
+ const keyMapping = entityType.keys.map(k => {
148
+ const tsType = k.typeMapping.tsType;
149
+ // Branded types need to be converted to string for EntityKey compatibility
150
+ if (tsType.startsWith("BigDecimal.") || tsType.startsWith("DateTime.") || tsType.startsWith("Duration.")) {
151
+ return `${k.odataName}: String(id.${k.name})`;
152
+ }
153
+ return `${k.odataName}: id.${k.name}`;
154
+ }).join(", ");
142
155
  return `(id: ${idTypeName}) => ({ ${keyMapping} })`;
143
156
  }
144
157
  };
@@ -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","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","isBrandedType","startsWith","odataName","keyMapping","map","k"],"sources":["../../../src/generator/ServiceFnGenerator.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"NavigationGenerator.d.ts","sourceRoot":"","sources":["../../../src/generator/NavigationGenerator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,OAAO,KAAK,EAAE,SAAS,EAAmB,MAAM,uBAAuB,CAAA;AA2BvE;;GAEG;AACH,eAAO,MAAM,yBAAyB,QAAO,MAAwB,CAAA;AAErE;;;;;GAKG;AACH,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CACzB;AAED;;;;;GAKG;AACH,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,eAAe,EAAE,aAAa,CAAC,uBAAuB,CAAC,CAAA;CACjE;AA8FD;;;;;GAKG;AACH,MAAM,WAAW,0BAA0B;IACzC;;;OAGG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAA;CACjC;AAED;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,GAC9B,WAAW,SAAS,EACpB,UAAU,0BAA0B,KACnC,0BAWF,CAAA"}
1
+ {"version":3,"file":"NavigationGenerator.d.ts","sourceRoot":"","sources":["../../../src/generator/NavigationGenerator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,OAAO,KAAK,EAAE,SAAS,EAAmB,MAAM,uBAAuB,CAAA;AAiCvE;;GAEG;AACH,eAAO,MAAM,yBAAyB,QAAO,MAAwB,CAAA;AAErE;;;;;GAKG;AACH,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CACzB;AAED;;;;;GAKG;AACH,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,eAAe,EAAE,aAAa,CAAC,uBAAuB,CAAC,CAAA;CACjE;AA8FD;;;;;GAKG;AACH,MAAM,WAAW,0BAA0B;IACzC;;;OAGG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAA;CACjC;AAED;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,GAC9B,WAAW,SAAS,EACpB,UAAU,0BAA0B,KACnC,0BAWF,CAAA"}
@@ -2,12 +2,16 @@ import { formatRelativeImport, getClassName, toCamelCase } from "./NamingHelper.
2
2
  const V2_CONFIG = {
3
3
  odataNamespace: "OData",
4
4
  clientModule: "OData",
5
- queryOptionsType: "ODataQueryOptions"
5
+ queryOptionsType: "ODataQueryOptions",
6
+ errorType: "ODataClientError",
7
+ dependenciesType: "ODataClientDependencies"
6
8
  };
7
9
  const V4_CONFIG = {
8
10
  odataNamespace: "ODataV4",
9
11
  clientModule: "ODataV4",
10
- queryOptionsType: "ODataV4QueryOptions"
12
+ queryOptionsType: "ODataV4QueryOptions",
13
+ errorType: "ODataV4ClientError",
14
+ dependenciesType: "ODataV4ClientDependencies"
11
15
  };
12
16
  const getVersionConfig = version => version === "V4" ? V4_CONFIG : V2_CONFIG;
13
17
  /**
@@ -132,7 +136,7 @@ const generatePathBuildersFile = (dataModel, esmExtensions) => {
132
136
  // Imports
133
137
  lines.push(`import { ${versionConfig.odataNamespace} } from "@odata-effect/odata-effect"`);
134
138
  lines.push(`import { toPromise } from "@odata-effect/odata-effect-promise"`);
135
- lines.push(`import type { Schema } from "effect"`);
139
+ lines.push(`import type { Effect, Schema } from "effect"`);
136
140
  lines.push(``);
137
141
  // Import model types with Model suffix to avoid collision with entity set names
138
142
  if (referencedTypes.size > 0) {
@@ -260,7 +264,7 @@ const generatePathBuildersFile = (dataModel, esmExtensions) => {
260
264
  lines.push(` * @category operations`);
261
265
  lines.push(` */`);
262
266
  lines.push(`export const fetchCollection = <T, I>(schema: Schema.Schema<T, I>) =>`);
263
- lines.push(` (path: Path<T, true>, options?: ${versionConfig.clientModule}.${versionConfig.queryOptionsType}) =>`);
267
+ lines.push(` (path: Path<T, true>, options?: ${versionConfig.clientModule}.${versionConfig.queryOptionsType}): Effect.Effect<ReadonlyArray<T>, ${versionConfig.odataNamespace}.${versionConfig.errorType}, ${versionConfig.odataNamespace}.${versionConfig.dependenciesType}> =>`);
264
268
  lines.push(` ${versionConfig.odataNamespace}.getCollection(path, schema, options)`);
265
269
  lines.push(``);
266
270
  lines.push(`/**`);
@@ -275,7 +279,7 @@ const generatePathBuildersFile = (dataModel, esmExtensions) => {
275
279
  lines.push(` * @category operations`);
276
280
  lines.push(` */`);
277
281
  lines.push(`export const fetchOne = <T, I>(schema: Schema.Schema<T, I>) =>`);
278
- lines.push(` (path: Path<T, false>, options?: ${versionConfig.clientModule}.${versionConfig.queryOptionsType}) =>`);
282
+ lines.push(` (path: Path<T, false>, options?: ${versionConfig.clientModule}.${versionConfig.queryOptionsType}): Effect.Effect<T, ${versionConfig.odataNamespace}.${versionConfig.errorType}, ${versionConfig.odataNamespace}.${versionConfig.dependenciesType}> =>`);
279
283
  lines.push(` ${versionConfig.odataNamespace}.get(path, schema, options)`);
280
284
  lines.push(``);
281
285
  // Promise conversion (re-export from odata-effect-promise)
@@ -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","errorType","dependenciesType","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,6 +114,12 @@ 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
+ // Check if key is a branded type that needs string conversion
118
+ const isBrandedType = keyTsType.startsWith("BigDecimal.") || keyTsType.startsWith("DateTime.") || keyTsType.startsWith("Duration.");
119
+ if (isBrandedType) {
120
+ // Branded types are converted to string for EntityKey compatibility
121
+ return `(id: ${idTypeName}) => typeof id === "string" ? { ${keyProp.odataName}: id } : { ${keyProp.odataName}: String(id.${keyProp.name}) }`;
122
+ }
117
123
  if (isV4) {
118
124
  // V4 can use number keys directly
119
125
  if (keyTsType === "number") {
@@ -130,8 +136,15 @@ const generateIdToKeyFunction = (entityType, version) => {
130
136
  }
131
137
  }
132
138
  } 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(", ");
139
+ // Composite key - convert branded types (BigDecimal, DateTime, Duration) to string
140
+ const keyMapping = entityType.keys.map(k => {
141
+ const tsType = k.typeMapping.tsType;
142
+ // Branded types need to be converted to string for EntityKey compatibility
143
+ if (tsType.startsWith("BigDecimal.") || tsType.startsWith("DateTime.") || tsType.startsWith("Duration.")) {
144
+ return `${k.odataName}: String(id.${k.name})`;
145
+ }
146
+ return `${k.odataName}: id.${k.name}`;
147
+ }).join(", ");
135
148
  return `(id: ${idTypeName}) => ({ ${keyMapping} })`;
136
149
  }
137
150
  };
@@ -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","odataName","keyMapping","map","k"],"sources":["../../../src/generator/ServiceFnGenerator.ts"],"sourcesContent":[null],"mappings":"AAUA,SAASA,oBAAoB,EAAEC,mBAAmB,EAAEC,aAAa,EAAEC,mBAAmB,QAAQ,mBAAmB;AAqCjH;;;;;;AAMA,OAAO,MAAMC,kBAAkB,GAAGA,CAChCC,SAAoB,EACpBC,OAAiC,KACN;EAC3B,MAAMC,aAAa,GAAGD,OAAO,EAAEC,aAAa,IAAI,IAAI;EACpD,MAAMC,OAAO,GAAGC,oBAAoB,CAACJ,SAAS,EAAEE,aAAa,CAAC;EAC9D,OAAO;IACLG,YAAY,EAAE;MACZC,QAAQ,EAAE,aAAa;MACvBH;;GAEH;AACH,CAAC;AAED;;;AAGA,MAAMC,oBAAoB,GAAGA,CAACJ,SAAoB,EAAEE,aAAsB,KAAY;EACpF,MAAMK,KAAK,GAAkB,EAAE;EAC/B,MAAMC,IAAI,GAAGR,SAAS,CAACS,OAAO,KAAK,IAAI;EACvC,MAAMC,cAAc,GAAGF,IAAI,GACvB,mCAAmC,GACnC,iCAAiC;EAErC;EACA,MAAMG,UAAU,GAGX,EAAE;EAEP,KAAK,MAAMC,SAAS,IAAIZ,SAAS,CAACW,UAAU,CAACE,MAAM,EAAE,EAAE;IACrD,MAAMC,UAAU,GAAGd,SAAS,CAACe,WAAW,CAACC,GAAG,CAACJ,SAAS,CAACK,gBAAgB,CAAC;IACxE,IAAIH,UAAU,EAAE;MACdH,UAAU,CAACO,IAAI,CAAC;QAAEN,SAAS;QAAEE;MAAU,CAAE,CAAC;IAC5C;EACF;EAEA;EACAP,KAAK,CAACW,IAAI,CAAC,KAAK,CAAC;EACjBX,KAAK,CAACW,IAAI,CAAC,0BAA0BlB,SAAS,CAACmB,WAAW,UAAUnB,SAAS,CAACS,OAAO,GAAG,CAAC;EACzFF,KAAK,CAACW,IAAI,CAAC,mCAAmC,CAAC;EAC/CX,KAAK,CAACW,IAAI,CAAC,IAAI,CAAC;EAChBX,KAAK,CAACW,IAAI,CAAC,sDAAsD,CAAC;EAClEX,KAAK,CAACW,IAAI,CAAC,IAAI,CAAC;EAChBX,KAAK,CAACW,IAAI,CAAC,iBAAiB,CAAC;EAC7BX,KAAK,CAACW,IAAI,CAAC,KAAK,CAAC;EACjBX,KAAK,CAACW,IAAI,CAAC,yBAAyBR,cAAc,GAAG,CAAC;EACtDH,KAAK,CAACW,IAAI,CAAC,EAAE,CAAC;EAEd;EACA,MAAME,YAAY,GAAkB,EAAE;EACtC,KAAK,MAAM;IAAEN;EAAU,CAAE,IAAIH,UAAU,EAAE;IACvCS,YAAY,CAACF,IAAI,CAACJ,UAAU,CAACO,IAAI,CAAC;IAClC,IAAIP,UAAU,CAACQ,IAAI,CAACC,MAAM,GAAG,CAAC,EAAE;MAC9BH,YAAY,CAACF,IAAI,CAAC,QAAQrB,aAAa,CAACiB,UAAU,CAACO,IAAI,CAAC,EAAE,CAAC;IAC7D;IACAD,YAAY,CAACF,IAAI,CAACtB,mBAAmB,CAACkB,UAAU,CAACO,IAAI,CAAC,CAAC;EACzD;EAEAd,KAAK,CAACW,IAAI,CAAC,UAAU,CAAC;EACtB,KAAK,IAAIM,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGJ,YAAY,CAACG,MAAM,EAAEC,CAAC,EAAE,EAAE;IAC5C,MAAMC,MAAM,GAAGD,CAAC,KAAKJ,YAAY,CAACG,MAAM,GAAG,CAAC;IAC5ChB,KAAK,CAACW,IAAI,CAAC,KAAKE,YAAY,CAACI,CAAC,CAAC,GAAGC,MAAM,GAAG,EAAE,GAAG,GAAG,EAAE,CAAC;EACxD;EACAlB,KAAK,CAACW,IAAI,CAAC,WAAWvB,oBAAoB,CAAC,QAAQ,EAAEO,aAAa,CAAC,GAAG,CAAC;EACvEK,KAAK,CAACW,IAAI,CAAC,EAAE,CAAC;EAEd;EACAX,KAAK,CAACW,IAAI,CAAC,oCAAoC,CAAC;EAChDX,KAAK,CAACW,IAAI,CAAC,6DAA6DR,cAAc,GAAG,CAAC;EAC1FH,KAAK,CAACW,IAAI,CAAC,EAAE,CAAC;EAEd;EACAX,KAAK,CAACW,IAAI,CAAC,iFAAiF,CAAC;EAC7FX,KAAK,CAACW,IAAI,CAAC,oBAAoB,CAAC;EAChCX,KAAK,CAACW,IAAI,CAAC,iFAAiF,CAAC;EAC7FX,KAAK,CAACW,IAAI,CAAC,EAAE,CAAC;EAEd,KAAK,MAAM;IAAEN,SAAS;IAAEE;EAAU,CAAE,IAAIH,UAAU,EAAE;IAClD,MAAMe,gBAAgB,GAAG5B,mBAAmB,CAACc,SAAS,CAACS,IAAI,CAAC;IAC5D,MAAMM,UAAU,GAAGb,UAAU,CAACO,IAAI;IAClC,MAAMO,YAAY,GAAGhC,mBAAmB,CAAC+B,UAAU,CAAC;IACpD,MAAME,OAAO,GAAGf,UAAU,CAACQ,IAAI,CAACC,MAAM,GAAG,CAAC;IAE1ChB,KAAK,CAACW,IAAI,CAAC,KAAK,CAAC;IACjBX,KAAK,CAACW,IAAI,CAAC,uBAAuBS,UAAU,YAAY,CAAC;IACzDpB,KAAK,CAACW,IAAI,CAAC,IAAI,CAAC;IAChBX,KAAK,CAACW,IAAI,CAAC,iBAAiB,CAAC;IAC7BX,KAAK,CAACW,IAAI,CAAC,uBAAuB,CAAC;IACnCX,KAAK,CAACW,IAAI,CAAC,KAAK,CAAC;IAEjB,IAAIW,OAAO,EAAE;MACXtB,KAAK,CAACW,IAAI,CAAC,gBAAgBQ,gBAAgB,WAAW,CAAC;MACvDnB,KAAK,CAACW,IAAI,CAAC,YAAYN,SAAS,CAACS,IAAI,IAAI,CAAC;MAC1Cd,KAAK,CAACW,IAAI,CAAC,aAAaS,UAAU,GAAG,CAAC;MACtCpB,KAAK,CAACW,IAAI,CAAC,qBAAqBU,YAAY,GAAG,CAAC;MAChDrB,KAAK,CAACW,IAAI,CAAC,cAAcY,uBAAuB,CAAChB,UAAU,EAAEd,SAAS,CAACS,OAAO,CAAC,EAAE,CAAC;MAClFF,KAAK,CAACW,IAAI,CAAC,IAAI,CAAC;IAClB,CAAC,MAAM;MACL;MACAX,KAAK,CAACW,IAAI,CAAC,gBAAgBQ,gBAAgB,WAAW,CAAC;MACvDnB,KAAK,CAACW,IAAI,CAAC,YAAYN,SAAS,CAACS,IAAI,IAAI,CAAC;MAC1Cd,KAAK,CAACW,IAAI,CAAC,aAAaS,UAAU,GAAG,CAAC;MACtCpB,KAAK,CAACW,IAAI,CAAC,qBAAqBU,YAAY,GAAG,CAAC;MAChDrB,KAAK,CAACW,IAAI,CAAC,sEAAsE,CAAC;MAClFX,KAAK,CAACW,IAAI,CAAC,IAAI,CAAC;IAClB;IACAX,KAAK,CAACW,IAAI,CAAC,EAAE,CAAC;EAChB;EAEA,OAAOX,KAAK,CAACwB,IAAI,CAAC,IAAI,CAAC;AACzB,CAAC;AAED;;;AAGA,MAAMD,uBAAuB,GAAGA,CAC9BhB,UAA2B,EAC3BL,OAAqB,KACX;EACV,MAAMuB,UAAU,GAAGnC,aAAa,CAACiB,UAAU,CAACO,IAAI,CAAC;EACjD,MAAMb,IAAI,GAAGC,OAAO,KAAK,IAAI;EAE7B,IAAIK,UAAU,CAACQ,IAAI,CAACC,MAAM,KAAK,CAAC,EAAE;IAChC,MAAMU,OAAO,GAAGnB,UAAU,CAACQ,IAAI,CAAC,CAAC,CAAC;IAClC,MAAMY,SAAS,GAAGD,OAAO,CAACE,WAAW,CAACC,MAAM;IAE5C,IAAI5B,IAAI,EAAE;MACR;MACA,IAAI0B,SAAS,KAAK,QAAQ,EAAE;QAC1B,OAAO,QAAQF,UAAU,yCAAyCC,OAAO,CAACZ,IAAI,EAAE;MAClF,CAAC,MAAM;QACL,OAAO,QAAQW,UAAU,mCAAmCC,OAAO,CAACI,SAAS,cAAcJ,OAAO,CAACI,SAAS,QAAQJ,OAAO,CAACZ,IAAI,IAAI;MACtI;IACF,CAAC,MAAM;MACL;MACA,IAAIa,SAAS,KAAK,QAAQ,EAAE;QAC1B,OAAO,QAAQF,UAAU,mCAAmCC,OAAO,CAACI,SAAS,cAAcJ,OAAO,CAACI,SAAS,QAAQJ,OAAO,CAACZ,IAAI,IAAI;MACtI,CAAC,MAAM;QACL,OAAO,QAAQW,UAAU,mCAAmCC,OAAO,CAACI,SAAS,cAAcJ,OAAO,CAACI,SAAS,QAAQJ,OAAO,CAACZ,IAAI,IAAI;MACtI;IACF;EACF,CAAC,MAAM;IACL;IACA,MAAMiB,UAAU,GAAGxB,UAAU,CAACQ,IAAI,CAACiB,GAAG,CAAEC,CAAC,IAAK,GAAGA,CAAC,CAACH,SAAS,QAAQG,CAAC,CAACnB,IAAI,EAAE,CAAC,CAACU,IAAI,CAAC,IAAI,CAAC;IACxF,OAAO,QAAQC,UAAU,WAAWM,UAAU,KAAK;EACrD;AACF,CAAC","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","isBrandedType","startsWith","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.4",
3
+ "version": "0.6.6",
4
4
  "description": "Effect-based OData service code generator",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -32,18 +32,24 @@ interface VersionConfig {
32
32
  readonly odataNamespace: string
33
33
  readonly clientModule: string
34
34
  readonly queryOptionsType: string
35
+ readonly errorType: string
36
+ readonly dependenciesType: string
35
37
  }
36
38
 
37
39
  const V2_CONFIG: VersionConfig = {
38
40
  odataNamespace: "OData",
39
41
  clientModule: "OData",
40
- queryOptionsType: "ODataQueryOptions"
42
+ queryOptionsType: "ODataQueryOptions",
43
+ errorType: "ODataClientError",
44
+ dependenciesType: "ODataClientDependencies"
41
45
  }
42
46
 
43
47
  const V4_CONFIG: VersionConfig = {
44
48
  odataNamespace: "ODataV4",
45
49
  clientModule: "ODataV4",
46
- queryOptionsType: "ODataV4QueryOptions"
50
+ queryOptionsType: "ODataV4QueryOptions",
51
+ errorType: "ODataV4ClientError",
52
+ dependenciesType: "ODataV4ClientDependencies"
47
53
  }
48
54
 
49
55
  const getVersionConfig = (version: ODataVersion): VersionConfig => version === "V4" ? V4_CONFIG : V2_CONFIG
@@ -242,7 +248,7 @@ const generatePathBuildersFile = (dataModel: DataModel, esmExtensions: boolean):
242
248
  // Imports
243
249
  lines.push(`import { ${versionConfig.odataNamespace} } from "@odata-effect/odata-effect"`)
244
250
  lines.push(`import { toPromise } from "@odata-effect/odata-effect-promise"`)
245
- lines.push(`import type { Schema } from "effect"`)
251
+ lines.push(`import type { Effect, Schema } from "effect"`)
246
252
  lines.push(``)
247
253
 
248
254
  // Import model types with Model suffix to avoid collision with entity set names
@@ -384,7 +390,9 @@ const generatePathBuildersFile = (dataModel: DataModel, esmExtensions: boolean):
384
390
  lines.push(` * @category operations`)
385
391
  lines.push(` */`)
386
392
  lines.push(`export const fetchCollection = <T, I>(schema: Schema.Schema<T, I>) =>`)
387
- lines.push(` (path: Path<T, true>, options?: ${versionConfig.clientModule}.${versionConfig.queryOptionsType}) =>`)
393
+ lines.push(
394
+ ` (path: Path<T, true>, options?: ${versionConfig.clientModule}.${versionConfig.queryOptionsType}): Effect.Effect<ReadonlyArray<T>, ${versionConfig.odataNamespace}.${versionConfig.errorType}, ${versionConfig.odataNamespace}.${versionConfig.dependenciesType}> =>`
395
+ )
388
396
  lines.push(` ${versionConfig.odataNamespace}.getCollection(path, schema, options)`)
389
397
  lines.push(``)
390
398
  lines.push(`/**`)
@@ -399,7 +407,9 @@ const generatePathBuildersFile = (dataModel: DataModel, esmExtensions: boolean):
399
407
  lines.push(` * @category operations`)
400
408
  lines.push(` */`)
401
409
  lines.push(`export const fetchOne = <T, I>(schema: Schema.Schema<T, I>) =>`)
402
- lines.push(` (path: Path<T, false>, options?: ${versionConfig.clientModule}.${versionConfig.queryOptionsType}) =>`)
410
+ lines.push(
411
+ ` (path: Path<T, false>, options?: ${versionConfig.clientModule}.${versionConfig.queryOptionsType}): Effect.Effect<T, ${versionConfig.odataNamespace}.${versionConfig.errorType}, ${versionConfig.odataNamespace}.${versionConfig.dependenciesType}> =>`
412
+ )
403
413
  lines.push(` ${versionConfig.odataNamespace}.get(path, schema, options)`)
404
414
  lines.push(``)
405
415
 
@@ -178,6 +178,16 @@ const generateIdToKeyFunction = (
178
178
  const keyProp = entityType.keys[0]
179
179
  const keyTsType = keyProp.typeMapping.tsType
180
180
 
181
+ // Check if key is a branded type that needs string conversion
182
+ const isBrandedType = keyTsType.startsWith("BigDecimal.") ||
183
+ keyTsType.startsWith("DateTime.") ||
184
+ keyTsType.startsWith("Duration.")
185
+
186
+ if (isBrandedType) {
187
+ // Branded types are converted to string for EntityKey compatibility
188
+ return `(id: ${idTypeName}) => typeof id === "string" ? { ${keyProp.odataName}: id } : { ${keyProp.odataName}: String(id.${keyProp.name}) }`
189
+ }
190
+
181
191
  if (isV4) {
182
192
  // V4 can use number keys directly
183
193
  if (keyTsType === "number") {
@@ -194,8 +204,15 @@ const generateIdToKeyFunction = (
194
204
  }
195
205
  }
196
206
  } 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(", ")
207
+ // Composite key - convert branded types (BigDecimal, DateTime, Duration) to string
208
+ const keyMapping = entityType.keys.map((k) => {
209
+ const tsType = k.typeMapping.tsType
210
+ // Branded types need to be converted to string for EntityKey compatibility
211
+ if (tsType.startsWith("BigDecimal.") || tsType.startsWith("DateTime.") || tsType.startsWith("Duration.")) {
212
+ return `${k.odataName}: String(id.${k.name})`
213
+ }
214
+ return `${k.odataName}: id.${k.name}`
215
+ }).join(", ")
199
216
  return `(id: ${idTypeName}) => ({ ${keyMapping} })`
200
217
  }
201
218
  }