@odata-effect/odata-effect-generator 0.6.10 → 0.6.11

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.
@@ -95,56 +95,79 @@ const getReturnTypeName = operation => {
95
95
  return isCollection ? `ReadonlyArray<${baseType}>` : baseType;
96
96
  };
97
97
  /**
98
- * Check if any operation uses Schema.* types for primitives.
98
+ * Check if any operation uses Schema.* types for primitive return values.
99
+ * Note: Parameters only use tsType in the interface, so they don't need Schema import.
99
100
  */
100
101
  const needsSchemaImport = (operations, dataModel) => {
101
102
  for (const operation of operations) {
102
103
  // Check return type - only if it's not a model type
104
+ // Parameters don't use effectSchema in generated code (only tsType for interface)
103
105
  if (operation.returnType && !returnsModelType(operation, dataModel)) {
104
106
  if (operation.returnType.typeMapping.effectSchema.startsWith("Schema.")) {
105
107
  return true;
106
108
  }
107
109
  }
108
- // Check parameters - only if they're not model types
109
- for (const param of operation.parameters) {
110
- if (param.typeMapping.effectSchema.startsWith("Schema.")) {
111
- // Check if it's not a model type
112
- const typeName = param.typeMapping.tsType;
113
- let isModel = false;
114
- for (const [fqName] of dataModel.entityTypes) {
115
- if (fqName.endsWith(`.${typeName}`) || fqName === typeName) {
116
- isModel = true;
117
- break;
118
- }
119
- }
120
- if (!isModel) {
121
- for (const [fqName] of dataModel.complexTypes) {
122
- if (fqName.endsWith(`.${typeName}`) || fqName === typeName) {
123
- isModel = true;
124
- break;
125
- }
126
- }
127
- }
128
- if (!isModel) return true;
129
- }
130
- }
131
110
  }
132
111
  return false;
133
112
  };
134
113
  /**
135
- * Check if any operation uses ODataSchema.* types.
114
+ * Check if any operation uses ODataSchema.* types in return values.
115
+ * Note: Parameters only use tsType in the interface, so they don't need ODataSchema import.
136
116
  */
137
117
  const needsODataSchemaImport = (operations, dataModel) => {
138
118
  for (const operation of operations) {
139
119
  // Check return type - only if it's not a model type
120
+ // Parameters don't use effectSchema in generated code (only tsType for interface)
140
121
  if (operation.returnType && !returnsModelType(operation, dataModel)) {
141
122
  if (operation.returnType.typeMapping.effectSchema.startsWith("ODataSchema.")) {
142
123
  return true;
143
124
  }
144
125
  }
145
- // Check parameters
126
+ }
127
+ return false;
128
+ };
129
+ /**
130
+ * Check if any operation uses DateTime in its TypeScript types.
131
+ */
132
+ const needsDateTimeImport = operations => {
133
+ for (const operation of operations) {
134
+ if (operation.returnType?.typeMapping.tsType.includes("DateTime.")) {
135
+ return true;
136
+ }
146
137
  for (const param of operation.parameters) {
147
- if (param.typeMapping.effectSchema.startsWith("ODataSchema.")) {
138
+ if (param.typeMapping.tsType.includes("DateTime.")) {
139
+ return true;
140
+ }
141
+ }
142
+ }
143
+ return false;
144
+ };
145
+ /**
146
+ * Check if any operation uses Duration in its TypeScript types.
147
+ */
148
+ const needsDurationImport = operations => {
149
+ for (const operation of operations) {
150
+ if (operation.returnType?.typeMapping.tsType.includes("Duration.")) {
151
+ return true;
152
+ }
153
+ for (const param of operation.parameters) {
154
+ if (param.typeMapping.tsType.includes("Duration.")) {
155
+ return true;
156
+ }
157
+ }
158
+ }
159
+ return false;
160
+ };
161
+ /**
162
+ * Check if any operation uses BigDecimal in its TypeScript types.
163
+ */
164
+ const needsBigDecimalImport = operations => {
165
+ for (const operation of operations) {
166
+ if (operation.returnType?.typeMapping.tsType.includes("BigDecimal.")) {
167
+ return true;
168
+ }
169
+ for (const param of operation.parameters) {
170
+ if (param.typeMapping.tsType.includes("BigDecimal.")) {
148
171
  return true;
149
172
  }
150
173
  }
@@ -193,6 +216,9 @@ const generateOperationsFile = (operations, dataModel, esmExtensions) => {
193
216
  // Determine which imports are needed
194
217
  const needsSchema = needsSchemaImport(operations, dataModel);
195
218
  const needsODataSchema = needsODataSchemaImport(operations, dataModel);
219
+ const needsDateTime = needsDateTimeImport(operations);
220
+ const needsDuration = needsDurationImport(operations);
221
+ const needsBigDecimal = needsBigDecimalImport(operations);
196
222
  // Header and imports
197
223
  lines.push(`/**`);
198
224
  lines.push(` * OData operations for ${dataModel.serviceName} OData ${dataModel.version}.`);
@@ -200,6 +226,15 @@ const generateOperationsFile = (operations, dataModel, esmExtensions) => {
200
226
  lines.push(` *`);
201
227
  lines.push(` * @since 1.0.0`);
202
228
  lines.push(` */`);
229
+ if (needsBigDecimal) {
230
+ lines.push(`import * as BigDecimal from "effect/BigDecimal"`);
231
+ }
232
+ if (needsDateTime) {
233
+ lines.push(`import * as DateTime from "effect/DateTime"`);
234
+ }
235
+ if (needsDuration) {
236
+ lines.push(`import * as Duration from "effect/Duration"`);
237
+ }
203
238
  lines.push(`import * as Effect from "effect/Effect"`);
204
239
  if (needsSchema) {
205
240
  lines.push(`import * as Schema from "effect/Schema"`);
@@ -1 +1 @@
1
- {"version":3,"file":"OperationsGenerator.js","names":["_NamingHelper","require","V2_CONFIG","clientConfigTag","clientConfigImport","clientModule","V4_CONFIG","getVersionConfig","version","getOperationFunctionName","operation","name","exports","getOperationsModuleName","generateOperations","dataModel","options","esmExtensions","unboundOperations","Array","from","operations","values","filter","op","isBound","length","operationsFile","content","generateOperationsFile","fileName","returnsModelType","returnType","odataType","baseType","replace","typeName","includes","split","pop","fqName","entityTypes","endsWith","complexTypes","getReturnTypeName","isCollection","typeMapping","tsType","needsSchemaImport","effectSchema","startsWith","param","parameters","isModel","needsODataSchemaImport","collectModelImports","imports","Set","isModelType","add","lines","versionConfig","isV4","needsSchema","needsODataSchema","push","serviceName","modelImports","size","importsList","i","isLast","formatRelativeImport","generateV4Operation","generateV2FunctionImport","join","generateParameterType","toPascalCase","odataName","generateParameterInterface","optionalMark","isNullable","generateParametersObject","params","indent","fnName","paramsType","returnsModel","paramsArg","propertyName","isAction","type","toLowerCase","bodyArg","hasDifferentNames","some","p"],"sources":["../../../src/generator/OperationsGenerator.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"OperationsGenerator.js","names":["_NamingHelper","require","V2_CONFIG","clientConfigTag","clientConfigImport","clientModule","V4_CONFIG","getVersionConfig","version","getOperationFunctionName","operation","name","exports","getOperationsModuleName","generateOperations","dataModel","options","esmExtensions","unboundOperations","Array","from","operations","values","filter","op","isBound","length","operationsFile","content","generateOperationsFile","fileName","returnsModelType","returnType","odataType","baseType","replace","typeName","includes","split","pop","fqName","entityTypes","endsWith","complexTypes","getReturnTypeName","isCollection","typeMapping","tsType","needsSchemaImport","effectSchema","startsWith","needsODataSchemaImport","needsDateTimeImport","param","parameters","needsDurationImport","needsBigDecimalImport","collectModelImports","imports","Set","isModelType","add","lines","versionConfig","isV4","needsSchema","needsODataSchema","needsDateTime","needsDuration","needsBigDecimal","push","serviceName","modelImports","size","importsList","i","isLast","formatRelativeImport","generateV4Operation","generateV2FunctionImport","join","generateParameterType","toPascalCase","odataName","generateParameterInterface","optionalMark","isNullable","generateParametersObject","params","indent","fnName","paramsType","returnsModel","paramsArg","propertyName","isAction","type","toLowerCase","bodyArg","hasDifferentNames","some","p"],"sources":["../../../src/generator/OperationsGenerator.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -86,56 +86,79 @@ const getReturnTypeName = operation => {
86
86
  return isCollection ? `ReadonlyArray<${baseType}>` : baseType;
87
87
  };
88
88
  /**
89
- * Check if any operation uses Schema.* types for primitives.
89
+ * Check if any operation uses Schema.* types for primitive return values.
90
+ * Note: Parameters only use tsType in the interface, so they don't need Schema import.
90
91
  */
91
92
  const needsSchemaImport = (operations, dataModel) => {
92
93
  for (const operation of operations) {
93
94
  // Check return type - only if it's not a model type
95
+ // Parameters don't use effectSchema in generated code (only tsType for interface)
94
96
  if (operation.returnType && !returnsModelType(operation, dataModel)) {
95
97
  if (operation.returnType.typeMapping.effectSchema.startsWith("Schema.")) {
96
98
  return true;
97
99
  }
98
100
  }
99
- // Check parameters - only if they're not model types
100
- for (const param of operation.parameters) {
101
- if (param.typeMapping.effectSchema.startsWith("Schema.")) {
102
- // Check if it's not a model type
103
- const typeName = param.typeMapping.tsType;
104
- let isModel = false;
105
- for (const [fqName] of dataModel.entityTypes) {
106
- if (fqName.endsWith(`.${typeName}`) || fqName === typeName) {
107
- isModel = true;
108
- break;
109
- }
110
- }
111
- if (!isModel) {
112
- for (const [fqName] of dataModel.complexTypes) {
113
- if (fqName.endsWith(`.${typeName}`) || fqName === typeName) {
114
- isModel = true;
115
- break;
116
- }
117
- }
118
- }
119
- if (!isModel) return true;
120
- }
121
- }
122
101
  }
123
102
  return false;
124
103
  };
125
104
  /**
126
- * Check if any operation uses ODataSchema.* types.
105
+ * Check if any operation uses ODataSchema.* types in return values.
106
+ * Note: Parameters only use tsType in the interface, so they don't need ODataSchema import.
127
107
  */
128
108
  const needsODataSchemaImport = (operations, dataModel) => {
129
109
  for (const operation of operations) {
130
110
  // Check return type - only if it's not a model type
111
+ // Parameters don't use effectSchema in generated code (only tsType for interface)
131
112
  if (operation.returnType && !returnsModelType(operation, dataModel)) {
132
113
  if (operation.returnType.typeMapping.effectSchema.startsWith("ODataSchema.")) {
133
114
  return true;
134
115
  }
135
116
  }
136
- // Check parameters
117
+ }
118
+ return false;
119
+ };
120
+ /**
121
+ * Check if any operation uses DateTime in its TypeScript types.
122
+ */
123
+ const needsDateTimeImport = operations => {
124
+ for (const operation of operations) {
125
+ if (operation.returnType?.typeMapping.tsType.includes("DateTime.")) {
126
+ return true;
127
+ }
137
128
  for (const param of operation.parameters) {
138
- if (param.typeMapping.effectSchema.startsWith("ODataSchema.")) {
129
+ if (param.typeMapping.tsType.includes("DateTime.")) {
130
+ return true;
131
+ }
132
+ }
133
+ }
134
+ return false;
135
+ };
136
+ /**
137
+ * Check if any operation uses Duration in its TypeScript types.
138
+ */
139
+ const needsDurationImport = operations => {
140
+ for (const operation of operations) {
141
+ if (operation.returnType?.typeMapping.tsType.includes("Duration.")) {
142
+ return true;
143
+ }
144
+ for (const param of operation.parameters) {
145
+ if (param.typeMapping.tsType.includes("Duration.")) {
146
+ return true;
147
+ }
148
+ }
149
+ }
150
+ return false;
151
+ };
152
+ /**
153
+ * Check if any operation uses BigDecimal in its TypeScript types.
154
+ */
155
+ const needsBigDecimalImport = operations => {
156
+ for (const operation of operations) {
157
+ if (operation.returnType?.typeMapping.tsType.includes("BigDecimal.")) {
158
+ return true;
159
+ }
160
+ for (const param of operation.parameters) {
161
+ if (param.typeMapping.tsType.includes("BigDecimal.")) {
139
162
  return true;
140
163
  }
141
164
  }
@@ -184,6 +207,9 @@ const generateOperationsFile = (operations, dataModel, esmExtensions) => {
184
207
  // Determine which imports are needed
185
208
  const needsSchema = needsSchemaImport(operations, dataModel);
186
209
  const needsODataSchema = needsODataSchemaImport(operations, dataModel);
210
+ const needsDateTime = needsDateTimeImport(operations);
211
+ const needsDuration = needsDurationImport(operations);
212
+ const needsBigDecimal = needsBigDecimalImport(operations);
187
213
  // Header and imports
188
214
  lines.push(`/**`);
189
215
  lines.push(` * OData operations for ${dataModel.serviceName} OData ${dataModel.version}.`);
@@ -191,6 +217,15 @@ const generateOperationsFile = (operations, dataModel, esmExtensions) => {
191
217
  lines.push(` *`);
192
218
  lines.push(` * @since 1.0.0`);
193
219
  lines.push(` */`);
220
+ if (needsBigDecimal) {
221
+ lines.push(`import * as BigDecimal from "effect/BigDecimal"`);
222
+ }
223
+ if (needsDateTime) {
224
+ lines.push(`import * as DateTime from "effect/DateTime"`);
225
+ }
226
+ if (needsDuration) {
227
+ lines.push(`import * as Duration from "effect/Duration"`);
228
+ }
194
229
  lines.push(`import * as Effect from "effect/Effect"`);
195
230
  if (needsSchema) {
196
231
  lines.push(`import * as Schema from "effect/Schema"`);
@@ -1 +1 @@
1
- {"version":3,"file":"OperationsGenerator.js","names":["formatRelativeImport","toPascalCase","V2_CONFIG","clientConfigTag","clientConfigImport","clientModule","V4_CONFIG","getVersionConfig","version","getOperationFunctionName","operation","name","getOperationsModuleName","generateOperations","dataModel","options","esmExtensions","unboundOperations","Array","from","operations","values","filter","op","isBound","length","operationsFile","content","generateOperationsFile","fileName","returnsModelType","returnType","odataType","baseType","replace","typeName","includes","split","pop","fqName","entityTypes","endsWith","complexTypes","getReturnTypeName","isCollection","typeMapping","tsType","needsSchemaImport","effectSchema","startsWith","param","parameters","isModel","needsODataSchemaImport","collectModelImports","imports","Set","isModelType","add","lines","versionConfig","isV4","needsSchema","needsODataSchema","push","serviceName","modelImports","size","importsList","i","isLast","generateV4Operation","generateV2FunctionImport","join","generateParameterType","odataName","generateParameterInterface","optionalMark","isNullable","generateParametersObject","params","indent","fnName","paramsType","returnsModel","paramsArg","propertyName","isAction","type","toLowerCase","bodyArg","hasDifferentNames","some","p"],"sources":["../../../src/generator/OperationsGenerator.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"OperationsGenerator.js","names":["formatRelativeImport","toPascalCase","V2_CONFIG","clientConfigTag","clientConfigImport","clientModule","V4_CONFIG","getVersionConfig","version","getOperationFunctionName","operation","name","getOperationsModuleName","generateOperations","dataModel","options","esmExtensions","unboundOperations","Array","from","operations","values","filter","op","isBound","length","operationsFile","content","generateOperationsFile","fileName","returnsModelType","returnType","odataType","baseType","replace","typeName","includes","split","pop","fqName","entityTypes","endsWith","complexTypes","getReturnTypeName","isCollection","typeMapping","tsType","needsSchemaImport","effectSchema","startsWith","needsODataSchemaImport","needsDateTimeImport","param","parameters","needsDurationImport","needsBigDecimalImport","collectModelImports","imports","Set","isModelType","add","lines","versionConfig","isV4","needsSchema","needsODataSchema","needsDateTime","needsDuration","needsBigDecimal","push","serviceName","modelImports","size","importsList","i","isLast","generateV4Operation","generateV2FunctionImport","join","generateParameterType","odataName","generateParameterInterface","optionalMark","isNullable","generateParametersObject","params","indent","fnName","paramsType","returnsModel","paramsArg","propertyName","isAction","type","toLowerCase","bodyArg","hasDifferentNames","some","p"],"sources":["../../../src/generator/OperationsGenerator.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.10",
3
+ "version": "0.6.11",
4
4
  "description": "Effect-based OData service code generator",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -151,57 +151,83 @@ const getReturnTypeName = (operation: OperationModel): string => {
151
151
  }
152
152
 
153
153
  /**
154
- * Check if any operation uses Schema.* types for primitives.
154
+ * Check if any operation uses Schema.* types for primitive return values.
155
+ * Note: Parameters only use tsType in the interface, so they don't need Schema import.
155
156
  */
156
157
  const needsSchemaImport = (operations: ReadonlyArray<OperationModel>, dataModel: DataModel): boolean => {
157
158
  for (const operation of operations) {
158
159
  // Check return type - only if it's not a model type
160
+ // Parameters don't use effectSchema in generated code (only tsType for interface)
159
161
  if (operation.returnType && !returnsModelType(operation, dataModel)) {
160
162
  if (operation.returnType.typeMapping.effectSchema.startsWith("Schema.")) {
161
163
  return true
162
164
  }
163
165
  }
164
- // Check parameters - only if they're not model types
165
- for (const param of operation.parameters) {
166
- if (param.typeMapping.effectSchema.startsWith("Schema.")) {
167
- // Check if it's not a model type
168
- const typeName = param.typeMapping.tsType
169
- let isModel = false
170
- for (const [fqName] of dataModel.entityTypes) {
171
- if (fqName.endsWith(`.${typeName}`) || fqName === typeName) {
172
- isModel = true
173
- break
174
- }
175
- }
176
- if (!isModel) {
177
- for (const [fqName] of dataModel.complexTypes) {
178
- if (fqName.endsWith(`.${typeName}`) || fqName === typeName) {
179
- isModel = true
180
- break
181
- }
182
- }
183
- }
184
- if (!isModel) return true
185
- }
186
- }
187
166
  }
188
167
  return false
189
168
  }
190
169
 
191
170
  /**
192
- * Check if any operation uses ODataSchema.* types.
171
+ * Check if any operation uses ODataSchema.* types in return values.
172
+ * Note: Parameters only use tsType in the interface, so they don't need ODataSchema import.
193
173
  */
194
174
  const needsODataSchemaImport = (operations: ReadonlyArray<OperationModel>, dataModel: DataModel): boolean => {
195
175
  for (const operation of operations) {
196
176
  // Check return type - only if it's not a model type
177
+ // Parameters don't use effectSchema in generated code (only tsType for interface)
197
178
  if (operation.returnType && !returnsModelType(operation, dataModel)) {
198
179
  if (operation.returnType.typeMapping.effectSchema.startsWith("ODataSchema.")) {
199
180
  return true
200
181
  }
201
182
  }
202
- // Check parameters
183
+ }
184
+ return false
185
+ }
186
+
187
+ /**
188
+ * Check if any operation uses DateTime in its TypeScript types.
189
+ */
190
+ const needsDateTimeImport = (operations: ReadonlyArray<OperationModel>): boolean => {
191
+ for (const operation of operations) {
192
+ if (operation.returnType?.typeMapping.tsType.includes("DateTime.")) {
193
+ return true
194
+ }
195
+ for (const param of operation.parameters) {
196
+ if (param.typeMapping.tsType.includes("DateTime.")) {
197
+ return true
198
+ }
199
+ }
200
+ }
201
+ return false
202
+ }
203
+
204
+ /**
205
+ * Check if any operation uses Duration in its TypeScript types.
206
+ */
207
+ const needsDurationImport = (operations: ReadonlyArray<OperationModel>): boolean => {
208
+ for (const operation of operations) {
209
+ if (operation.returnType?.typeMapping.tsType.includes("Duration.")) {
210
+ return true
211
+ }
212
+ for (const param of operation.parameters) {
213
+ if (param.typeMapping.tsType.includes("Duration.")) {
214
+ return true
215
+ }
216
+ }
217
+ }
218
+ return false
219
+ }
220
+
221
+ /**
222
+ * Check if any operation uses BigDecimal in its TypeScript types.
223
+ */
224
+ const needsBigDecimalImport = (operations: ReadonlyArray<OperationModel>): boolean => {
225
+ for (const operation of operations) {
226
+ if (operation.returnType?.typeMapping.tsType.includes("BigDecimal.")) {
227
+ return true
228
+ }
203
229
  for (const param of operation.parameters) {
204
- if (param.typeMapping.effectSchema.startsWith("ODataSchema.")) {
230
+ if (param.typeMapping.tsType.includes("BigDecimal.")) {
205
231
  return true
206
232
  }
207
233
  }
@@ -261,6 +287,9 @@ const generateOperationsFile = (
261
287
  // Determine which imports are needed
262
288
  const needsSchema = needsSchemaImport(operations, dataModel)
263
289
  const needsODataSchema = needsODataSchemaImport(operations, dataModel)
290
+ const needsDateTime = needsDateTimeImport(operations)
291
+ const needsDuration = needsDurationImport(operations)
292
+ const needsBigDecimal = needsBigDecimalImport(operations)
264
293
 
265
294
  // Header and imports
266
295
  lines.push(`/**`)
@@ -269,6 +298,15 @@ const generateOperationsFile = (
269
298
  lines.push(` *`)
270
299
  lines.push(` * @since 1.0.0`)
271
300
  lines.push(` */`)
301
+ if (needsBigDecimal) {
302
+ lines.push(`import * as BigDecimal from "effect/BigDecimal"`)
303
+ }
304
+ if (needsDateTime) {
305
+ lines.push(`import * as DateTime from "effect/DateTime"`)
306
+ }
307
+ if (needsDuration) {
308
+ lines.push(`import * as Duration from "effect/Duration"`)
309
+ }
272
310
  lines.push(`import * as Effect from "effect/Effect"`)
273
311
  if (needsSchema) {
274
312
  lines.push(`import * as Schema from "effect/Schema"`)