@odata-effect/odata-effect-generator 0.6.9 → 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.
@@ -261,32 +261,23 @@ const generateEditableSchemaFields = properties => {
261
261
  * When the OData property name differs from the TypeScript property name,
262
262
  * we use Schema.fromKey to map between them.
263
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.
268
- *
269
264
  * @example
270
265
  * // When odataName == name:
271
266
  * name: Schema.String
272
267
  *
273
- * // When odataName ("ID") != name ("id") - required field:
274
- * id: Schema.propertySignature(Schema.Number).pipe(Schema.fromKey("ID"))
268
+ * // When odataName ("ID") != name ("id"):
269
+ * id: Schema.Number.pipe(Schema.fromKey("ID"))
275
270
  *
276
271
  * // When odataName ("Name") != name ("name") - optional field:
277
- * name: Schema.optionalWith(Schema.String, { nullable: true }).pipe(Schema.fromKey("Name"))
272
+ * name: Schema.NullishOr(Schema.String).pipe(Schema.fromKey("Name"))
278
273
  */
279
- const getPropertyFieldDefinition = (prop, schemaType, isOptional) => {
274
+ const getPropertyFieldDefinition = (prop, schemaType, _isOptional) => {
280
275
  // If OData name matches TypeScript name, use simple format
281
276
  if (prop.odataName === prop.name) {
282
277
  return `${prop.name}: ${schemaType}`;
283
278
  }
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
289
- return `${prop.name}: Schema.propertySignature(${schemaType}).pipe(Schema.fromKey("${prop.odataName}"))`;
279
+ // Schema.fromKey works directly on schemas - no need for propertySignature wrapper
280
+ return `${prop.name}: ${schemaType}.pipe(Schema.fromKey("${prop.odataName}"))`;
290
281
  };
291
282
  /**
292
283
  * Get the Schema type for a property.
@@ -299,7 +290,7 @@ const getPropertySchemaType = (prop, makeOptional) => {
299
290
  }
300
291
  // Handle nullable/optional
301
292
  if (makeOptional) {
302
- return `Schema.optionalWith(${baseType}, { nullable: true })`;
293
+ return `Schema.NullishOr(${baseType})`;
303
294
  }
304
295
  return baseType;
305
296
  };
@@ -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","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":"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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","_isOptional","makeOptional","isCollection"],"sources":["../../../src/generator/ModelsGenerator.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -94,6 +94,86 @@ const getReturnTypeName = operation => {
94
94
  const baseType = typeMapping.tsType;
95
95
  return isCollection ? `ReadonlyArray<${baseType}>` : baseType;
96
96
  };
97
+ /**
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.
100
+ */
101
+ const needsSchemaImport = (operations, dataModel) => {
102
+ for (const operation of operations) {
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)
105
+ if (operation.returnType && !returnsModelType(operation, dataModel)) {
106
+ if (operation.returnType.typeMapping.effectSchema.startsWith("Schema.")) {
107
+ return true;
108
+ }
109
+ }
110
+ }
111
+ return false;
112
+ };
113
+ /**
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.
116
+ */
117
+ const needsODataSchemaImport = (operations, dataModel) => {
118
+ for (const operation of operations) {
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)
121
+ if (operation.returnType && !returnsModelType(operation, dataModel)) {
122
+ if (operation.returnType.typeMapping.effectSchema.startsWith("ODataSchema.")) {
123
+ return true;
124
+ }
125
+ }
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
+ }
137
+ for (const param of operation.parameters) {
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.")) {
171
+ return true;
172
+ }
173
+ }
174
+ }
175
+ return false;
176
+ };
97
177
  /**
98
178
  * Collect all model types that need to be imported.
99
179
  */
@@ -133,6 +213,12 @@ const generateOperationsFile = (operations, dataModel, esmExtensions) => {
133
213
  const lines = [];
134
214
  const versionConfig = getVersionConfig(dataModel.version);
135
215
  const isV4 = dataModel.version === "V4";
216
+ // Determine which imports are needed
217
+ const needsSchema = needsSchemaImport(operations, dataModel);
218
+ const needsODataSchema = needsODataSchemaImport(operations, dataModel);
219
+ const needsDateTime = needsDateTimeImport(operations);
220
+ const needsDuration = needsDurationImport(operations);
221
+ const needsBigDecimal = needsBigDecimalImport(operations);
136
222
  // Header and imports
137
223
  lines.push(`/**`);
138
224
  lines.push(` * OData operations for ${dataModel.serviceName} OData ${dataModel.version}.`);
@@ -140,7 +226,19 @@ const generateOperationsFile = (operations, dataModel, esmExtensions) => {
140
226
  lines.push(` *`);
141
227
  lines.push(` * @since 1.0.0`);
142
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
+ }
143
238
  lines.push(`import * as Effect from "effect/Effect"`);
239
+ if (needsSchema) {
240
+ lines.push(`import * as Schema from "effect/Schema"`);
241
+ }
144
242
  lines.push(`import { HttpClient } from "@effect/platform"`);
145
243
  lines.push(`import type * as HttpClientError from "@effect/platform/HttpClientError"`);
146
244
  lines.push(``);
@@ -156,6 +254,9 @@ const generateOperationsFile = (operations, dataModel, esmExtensions) => {
156
254
  lines.push(` type ODataError,`);
157
255
  lines.push(` type ParseError`);
158
256
  lines.push(`} from "@odata-effect/odata-effect/Errors"`);
257
+ if (needsODataSchema) {
258
+ lines.push(`import { ODataSchema } from "@odata-effect/odata-effect"`);
259
+ }
159
260
  lines.push(``);
160
261
  // Import model types if needed
161
262
  const modelImports = collectModelImports(operations, dataModel);
@@ -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","collectModelImports","imports","Set","isModelType","add","param","parameters","lines","versionConfig","isV4","push","serviceName","modelImports","size","importsList","i","isLast","formatRelativeImport","generateV4Operation","generateV2FunctionImport","join","generateParameterType","toPascalCase","odataName","generateParameterInterface","optionalMark","isNullable","generateParametersObject","params","indent","fnName","paramsType","returnsModel","paramsArg","effectSchema","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":[]}
@@ -254,32 +254,23 @@ const generateEditableSchemaFields = properties => {
254
254
  * When the OData property name differs from the TypeScript property name,
255
255
  * we use Schema.fromKey to map between them.
256
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.
261
- *
262
257
  * @example
263
258
  * // When odataName == name:
264
259
  * name: Schema.String
265
260
  *
266
- * // When odataName ("ID") != name ("id") - required field:
267
- * id: Schema.propertySignature(Schema.Number).pipe(Schema.fromKey("ID"))
261
+ * // When odataName ("ID") != name ("id"):
262
+ * id: Schema.Number.pipe(Schema.fromKey("ID"))
268
263
  *
269
264
  * // When odataName ("Name") != name ("name") - optional field:
270
- * name: Schema.optionalWith(Schema.String, { nullable: true }).pipe(Schema.fromKey("Name"))
265
+ * name: Schema.NullishOr(Schema.String).pipe(Schema.fromKey("Name"))
271
266
  */
272
- const getPropertyFieldDefinition = (prop, schemaType, isOptional) => {
267
+ const getPropertyFieldDefinition = (prop, schemaType, _isOptional) => {
273
268
  // If OData name matches TypeScript name, use simple format
274
269
  if (prop.odataName === prop.name) {
275
270
  return `${prop.name}: ${schemaType}`;
276
271
  }
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
282
- return `${prop.name}: Schema.propertySignature(${schemaType}).pipe(Schema.fromKey("${prop.odataName}"))`;
272
+ // Schema.fromKey works directly on schemas - no need for propertySignature wrapper
273
+ return `${prop.name}: ${schemaType}.pipe(Schema.fromKey("${prop.odataName}"))`;
283
274
  };
284
275
  /**
285
276
  * Get the Schema type for a property.
@@ -292,7 +283,7 @@ const getPropertySchemaType = (prop, makeOptional) => {
292
283
  }
293
284
  // Handle nullable/optional
294
285
  if (makeOptional) {
295
- return `Schema.optionalWith(${baseType}, { nullable: true })`;
286
+ return `Schema.NullishOr(${baseType})`;
296
287
  }
297
288
  return baseType;
298
289
  };
@@ -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","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":[]}
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","_isOptional","makeOptional","isCollection"],"sources":["../../../src/generator/ModelsGenerator.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -85,6 +85,86 @@ const getReturnTypeName = operation => {
85
85
  const baseType = typeMapping.tsType;
86
86
  return isCollection ? `ReadonlyArray<${baseType}>` : baseType;
87
87
  };
88
+ /**
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.
91
+ */
92
+ const needsSchemaImport = (operations, dataModel) => {
93
+ for (const operation of operations) {
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)
96
+ if (operation.returnType && !returnsModelType(operation, dataModel)) {
97
+ if (operation.returnType.typeMapping.effectSchema.startsWith("Schema.")) {
98
+ return true;
99
+ }
100
+ }
101
+ }
102
+ return false;
103
+ };
104
+ /**
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.
107
+ */
108
+ const needsODataSchemaImport = (operations, dataModel) => {
109
+ for (const operation of operations) {
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)
112
+ if (operation.returnType && !returnsModelType(operation, dataModel)) {
113
+ if (operation.returnType.typeMapping.effectSchema.startsWith("ODataSchema.")) {
114
+ return true;
115
+ }
116
+ }
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
+ }
128
+ for (const param of operation.parameters) {
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.")) {
162
+ return true;
163
+ }
164
+ }
165
+ }
166
+ return false;
167
+ };
88
168
  /**
89
169
  * Collect all model types that need to be imported.
90
170
  */
@@ -124,6 +204,12 @@ const generateOperationsFile = (operations, dataModel, esmExtensions) => {
124
204
  const lines = [];
125
205
  const versionConfig = getVersionConfig(dataModel.version);
126
206
  const isV4 = dataModel.version === "V4";
207
+ // Determine which imports are needed
208
+ const needsSchema = needsSchemaImport(operations, dataModel);
209
+ const needsODataSchema = needsODataSchemaImport(operations, dataModel);
210
+ const needsDateTime = needsDateTimeImport(operations);
211
+ const needsDuration = needsDurationImport(operations);
212
+ const needsBigDecimal = needsBigDecimalImport(operations);
127
213
  // Header and imports
128
214
  lines.push(`/**`);
129
215
  lines.push(` * OData operations for ${dataModel.serviceName} OData ${dataModel.version}.`);
@@ -131,7 +217,19 @@ const generateOperationsFile = (operations, dataModel, esmExtensions) => {
131
217
  lines.push(` *`);
132
218
  lines.push(` * @since 1.0.0`);
133
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
+ }
134
229
  lines.push(`import * as Effect from "effect/Effect"`);
230
+ if (needsSchema) {
231
+ lines.push(`import * as Schema from "effect/Schema"`);
232
+ }
135
233
  lines.push(`import { HttpClient } from "@effect/platform"`);
136
234
  lines.push(`import type * as HttpClientError from "@effect/platform/HttpClientError"`);
137
235
  lines.push(``);
@@ -147,6 +245,9 @@ const generateOperationsFile = (operations, dataModel, esmExtensions) => {
147
245
  lines.push(` type ODataError,`);
148
246
  lines.push(` type ParseError`);
149
247
  lines.push(`} from "@odata-effect/odata-effect/Errors"`);
248
+ if (needsODataSchema) {
249
+ lines.push(`import { ODataSchema } from "@odata-effect/odata-effect"`);
250
+ }
150
251
  lines.push(``);
151
252
  // Import model types if needed
152
253
  const modelImports = collectModelImports(operations, dataModel);
@@ -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","collectModelImports","imports","Set","isModelType","add","param","parameters","lines","versionConfig","isV4","push","serviceName","modelImports","size","importsList","i","isLast","generateV4Operation","generateV2FunctionImport","join","generateParameterType","odataName","generateParameterInterface","optionalMark","isNullable","generateParametersObject","params","indent","fnName","paramsType","returnsModel","paramsArg","effectSchema","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":"AAUA,SAASA,oBAAoB,EAAEC,YAAY,QAAQ,mBAAmB;AAWtE,MAAMC,SAAS,GAAkB;EAC/BC,eAAe,EAAE,mBAAmB;EACpCC,kBAAkB,EAAE,mBAAmB;EACvCC,YAAY,EAAE;CACf;AAED,MAAMC,SAAS,GAAkB;EAC/BH,eAAe,EAAE,qBAAqB;EACtCC,kBAAkB,EAAE,qBAAqB;EACzCC,YAAY,EAAE;CACf;AAED,MAAME,gBAAgB,GAAIC,OAAqB,IAAoBA,OAAO,KAAK,IAAI,GAAGF,SAAS,GAAGJ,SAAS;AAE3G;;;;;;;AAOA,OAAO,MAAMO,wBAAwB,GAAIC,SAAyB,IAAY;EAC5E,OAAOA,SAAS,CAACC,IAAI;AACvB,CAAC;AAED;;;;;;AAMA,OAAO,MAAMC,uBAAuB,GAAGA,CAAA,KAAc,YAAY;AAoCjE;;;;;;AAMA,OAAO,MAAMC,kBAAkB,GAAGA,CAChCC,SAAoB,EACpBC,OAAmC,KACL;EAC9B,MAAM;IAAEC;EAAa,CAAE,GAAGD,OAAO;EAEjC;EACA,MAAME,iBAAiB,GAAGC,KAAK,CAACC,IAAI,CAACL,SAAS,CAACM,UAAU,CAACC,MAAM,EAAE,CAAC,CAACC,MAAM,CAAEC,EAAE,IAAK,CAACA,EAAE,CAACC,OAAO,CAAC;EAE/F,IAAIP,iBAAiB,CAACQ,MAAM,KAAK,CAAC,EAAE;IAClC,OAAO;MAAEC,cAAc,EAAE;IAAI,CAAE;EACjC;EAEA,MAAMC,OAAO,GAAGC,sBAAsB,CAACX,iBAAiB,EAAEH,SAAS,EAAEE,aAAa,CAAC;EAEnF,OAAO;IACLU,cAAc,EAAE;MACdG,QAAQ,EAAE,GAAGjB,uBAAuB,EAAE,KAAK;MAC3Ce;;GAEH;AACH,CAAC;AAED;;;AAGA,MAAMG,gBAAgB,GAAGA,CAACpB,SAAyB,EAAEI,SAAoB,KAAa;EACpF,IAAI,CAACJ,SAAS,CAACqB,UAAU,EAAE,OAAO,KAAK;EAEvC,MAAM;IAAEC;EAAS,CAAE,GAAGtB,SAAS,CAACqB,UAAU;EAC1C;EACA,MAAME,QAAQ,GAAGD,SAAS,CAACE,OAAO,CAAC,oBAAoB,EAAE,EAAE,CAAC;EAC5D;EACA,MAAMC,QAAQ,GAAGF,QAAQ,CAACG,QAAQ,CAAC,GAAG,CAAC,GAAGH,QAAQ,CAACI,KAAK,CAAC,GAAG,CAAC,CAACC,GAAG,EAAE,IAAIL,QAAQ,GAAGA,QAAQ;EAE1F;EACA,KAAK,MAAM,CAACM,MAAM,CAAC,IAAIzB,SAAS,CAAC0B,WAAW,EAAE;IAC5C,IAAID,MAAM,CAACE,QAAQ,CAAC,IAAIN,QAAQ,EAAE,CAAC,IAAII,MAAM,KAAKJ,QAAQ,EAAE,OAAO,IAAI;EACzE;EACA,KAAK,MAAM,CAACI,MAAM,CAAC,IAAIzB,SAAS,CAAC4B,YAAY,EAAE;IAC7C,IAAIH,MAAM,CAACE,QAAQ,CAAC,IAAIN,QAAQ,EAAE,CAAC,IAAII,MAAM,KAAKJ,QAAQ,EAAE,OAAO,IAAI;EACzE;EAEA,OAAO,KAAK;AACd,CAAC;AAED;;;AAGA,MAAMQ,iBAAiB,GAAIjC,SAAyB,IAAY;EAC9D,IAAI,CAACA,SAAS,CAACqB,UAAU,EAAE,OAAO,MAAM;EAExC,MAAM;IAAEa,YAAY;IAAEC;EAAW,CAAE,GAAGnC,SAAS,CAACqB,UAAU;EAC1D,MAAME,QAAQ,GAAGY,WAAW,CAACC,MAAM;EAEnC,OAAOF,YAAY,GAAG,iBAAiBX,QAAQ,GAAG,GAAGA,QAAQ;AAC/D,CAAC;AAED;;;;AAIA,MAAMc,iBAAiB,GAAGA,CAAC3B,UAAyC,EAAEN,SAAoB,KAAa;EACrG,KAAK,MAAMJ,SAAS,IAAIU,UAAU,EAAE;IAClC;IACA;IACA,IAAIV,SAAS,CAACqB,UAAU,IAAI,CAACD,gBAAgB,CAACpB,SAAS,EAAEI,SAAS,CAAC,EAAE;MACnE,IAAIJ,SAAS,CAACqB,UAAU,CAACc,WAAW,CAACG,YAAY,CAACC,UAAU,CAAC,SAAS,CAAC,EAAE;QACvE,OAAO,IAAI;MACb;IACF;EACF;EACA,OAAO,KAAK;AACd,CAAC;AAED;;;;AAIA,MAAMC,sBAAsB,GAAGA,CAAC9B,UAAyC,EAAEN,SAAoB,KAAa;EAC1G,KAAK,MAAMJ,SAAS,IAAIU,UAAU,EAAE;IAClC;IACA;IACA,IAAIV,SAAS,CAACqB,UAAU,IAAI,CAACD,gBAAgB,CAACpB,SAAS,EAAEI,SAAS,CAAC,EAAE;MACnE,IAAIJ,SAAS,CAACqB,UAAU,CAACc,WAAW,CAACG,YAAY,CAACC,UAAU,CAAC,cAAc,CAAC,EAAE;QAC5E,OAAO,IAAI;MACb;IACF;EACF;EACA,OAAO,KAAK;AACd,CAAC;AAED;;;AAGA,MAAME,mBAAmB,GAAI/B,UAAyC,IAAa;EACjF,KAAK,MAAMV,SAAS,IAAIU,UAAU,EAAE;IAClC,IAAIV,SAAS,CAACqB,UAAU,EAAEc,WAAW,CAACC,MAAM,CAACV,QAAQ,CAAC,WAAW,CAAC,EAAE;MAClE,OAAO,IAAI;IACb;IACA,KAAK,MAAMgB,KAAK,IAAI1C,SAAS,CAAC2C,UAAU,EAAE;MACxC,IAAID,KAAK,CAACP,WAAW,CAACC,MAAM,CAACV,QAAQ,CAAC,WAAW,CAAC,EAAE;QAClD,OAAO,IAAI;MACb;IACF;EACF;EACA,OAAO,KAAK;AACd,CAAC;AAED;;;AAGA,MAAMkB,mBAAmB,GAAIlC,UAAyC,IAAa;EACjF,KAAK,MAAMV,SAAS,IAAIU,UAAU,EAAE;IAClC,IAAIV,SAAS,CAACqB,UAAU,EAAEc,WAAW,CAACC,MAAM,CAACV,QAAQ,CAAC,WAAW,CAAC,EAAE;MAClE,OAAO,IAAI;IACb;IACA,KAAK,MAAMgB,KAAK,IAAI1C,SAAS,CAAC2C,UAAU,EAAE;MACxC,IAAID,KAAK,CAACP,WAAW,CAACC,MAAM,CAACV,QAAQ,CAAC,WAAW,CAAC,EAAE;QAClD,OAAO,IAAI;MACb;IACF;EACF;EACA,OAAO,KAAK;AACd,CAAC;AAED;;;AAGA,MAAMmB,qBAAqB,GAAInC,UAAyC,IAAa;EACnF,KAAK,MAAMV,SAAS,IAAIU,UAAU,EAAE;IAClC,IAAIV,SAAS,CAACqB,UAAU,EAAEc,WAAW,CAACC,MAAM,CAACV,QAAQ,CAAC,aAAa,CAAC,EAAE;MACpE,OAAO,IAAI;IACb;IACA,KAAK,MAAMgB,KAAK,IAAI1C,SAAS,CAAC2C,UAAU,EAAE;MACxC,IAAID,KAAK,CAACP,WAAW,CAACC,MAAM,CAACV,QAAQ,CAAC,aAAa,CAAC,EAAE;QACpD,OAAO,IAAI;MACb;IACF;EACF;EACA,OAAO,KAAK;AACd,CAAC;AAED;;;AAGA,MAAMoB,mBAAmB,GAAGA,CAACpC,UAAyC,EAAEN,SAAoB,KAAiB;EAC3G,MAAM2C,OAAO,GAAG,IAAIC,GAAG,EAAU;EAEjC,MAAMC,WAAW,GAAIxB,QAAgB,IAAa;IAChD,KAAK,MAAM,CAACI,MAAM,CAAC,IAAIzB,SAAS,CAAC0B,WAAW,EAAE;MAC5C,IAAID,MAAM,CAACE,QAAQ,CAAC,IAAIN,QAAQ,EAAE,CAAC,IAAII,MAAM,KAAKJ,QAAQ,EAAE,OAAO,IAAI;IACzE;IACA,KAAK,MAAM,CAACI,MAAM,CAAC,IAAIzB,SAAS,CAAC4B,YAAY,EAAE;MAC7C,IAAIH,MAAM,CAACE,QAAQ,CAAC,IAAIN,QAAQ,EAAE,CAAC,IAAII,MAAM,KAAKJ,QAAQ,EAAE,OAAO,IAAI;IACzE;IACA,OAAO,KAAK;EACd,CAAC;EAED,KAAK,MAAMzB,SAAS,IAAIU,UAAU,EAAE;IAClC;IACA,IAAIV,SAAS,CAACqB,UAAU,EAAE;MACxB,MAAMI,QAAQ,GAAGzB,SAAS,CAACqB,UAAU,CAACc,WAAW,CAACC,MAAM;MACxD,IAAIa,WAAW,CAACxB,QAAQ,CAAC,EAAE;QACzBsB,OAAO,CAACG,GAAG,CAACzB,QAAQ,CAAC;MACvB;IACF;IAEA;IACA,KAAK,MAAMiB,KAAK,IAAI1C,SAAS,CAAC2C,UAAU,EAAE;MACxC,MAAMlB,QAAQ,GAAGiB,KAAK,CAACP,WAAW,CAACC,MAAM;MACzC,IAAIa,WAAW,CAACxB,QAAQ,CAAC,EAAE;QACzBsB,OAAO,CAACG,GAAG,CAACzB,QAAQ,CAAC;MACvB;IACF;EACF;EAEA,OAAOsB,OAAO;AAChB,CAAC;AAED;;;AAGA,MAAM7B,sBAAsB,GAAGA,CAC7BR,UAAyC,EACzCN,SAAoB,EACpBE,aAAsB,KACZ;EACV,MAAM6C,KAAK,GAAkB,EAAE;EAC/B,MAAMC,aAAa,GAAGvD,gBAAgB,CAACO,SAAS,CAACN,OAAO,CAAC;EACzD,MAAMuD,IAAI,GAAGjD,SAAS,CAACN,OAAO,KAAK,IAAI;EAEvC;EACA,MAAMwD,WAAW,GAAGjB,iBAAiB,CAAC3B,UAAU,EAAEN,SAAS,CAAC;EAC5D,MAAMmD,gBAAgB,GAAGf,sBAAsB,CAAC9B,UAAU,EAAEN,SAAS,CAAC;EACtE,MAAMoD,aAAa,GAAGf,mBAAmB,CAAC/B,UAAU,CAAC;EACrD,MAAM+C,aAAa,GAAGb,mBAAmB,CAAClC,UAAU,CAAC;EACrD,MAAMgD,eAAe,GAAGb,qBAAqB,CAACnC,UAAU,CAAC;EAEzD;EACAyC,KAAK,CAACQ,IAAI,CAAC,KAAK,CAAC;EACjBR,KAAK,CAACQ,IAAI,CAAC,2BAA2BvD,SAAS,CAACwD,WAAW,UAAUxD,SAAS,CAACN,OAAO,GAAG,CAAC;EAC1FqD,KAAK,CAACQ,IAAI,CAAC,mCAAmC,CAAC;EAC/CR,KAAK,CAACQ,IAAI,CAAC,IAAI,CAAC;EAChBR,KAAK,CAACQ,IAAI,CAAC,iBAAiB,CAAC;EAC7BR,KAAK,CAACQ,IAAI,CAAC,KAAK,CAAC;EACjB,IAAID,eAAe,EAAE;IACnBP,KAAK,CAACQ,IAAI,CAAC,iDAAiD,CAAC;EAC/D;EACA,IAAIH,aAAa,EAAE;IACjBL,KAAK,CAACQ,IAAI,CAAC,6CAA6C,CAAC;EAC3D;EACA,IAAIF,aAAa,EAAE;IACjBN,KAAK,CAACQ,IAAI,CAAC,6CAA6C,CAAC;EAC3D;EACAR,KAAK,CAACQ,IAAI,CAAC,yCAAyC,CAAC;EACrD,IAAIL,WAAW,EAAE;IACfH,KAAK,CAACQ,IAAI,CAAC,yCAAyC,CAAC;EACvD;EACAR,KAAK,CAACQ,IAAI,CAAC,+CAA+C,CAAC;EAC3DR,KAAK,CAACQ,IAAI,CAAC,0EAA0E,CAAC;EACtFR,KAAK,CAACQ,IAAI,CAAC,EAAE,CAAC;EAEd;EACAR,KAAK,CAACQ,IAAI,CAAC,mEAAmE,CAAC;EAC/ER,KAAK,CAACQ,IAAI,CAAC,UAAU,CAAC;EACtBR,KAAK,CAACQ,IAAI,CAAC,KAAKP,aAAa,CAAC1D,kBAAkB,EAAE,CAAC;EACnDyD,KAAK,CAACQ,IAAI,CAAC,sCAAsCP,aAAa,CAACzD,YAAY,GAAG,CAAC;EAC/EwD,KAAK,CAACQ,IAAI,CAAC,UAAU,CAAC;EACtB,IAAI,CAACN,IAAI,EAAE;IACTF,KAAK,CAACQ,IAAI,CAAC,kBAAkB,CAAC;EAChC;EACAR,KAAK,CAACQ,IAAI,CAAC,oBAAoB,CAAC;EAChCR,KAAK,CAACQ,IAAI,CAAC,mBAAmB,CAAC;EAC/BR,KAAK,CAACQ,IAAI,CAAC,4CAA4C,CAAC;EACxD,IAAIJ,gBAAgB,EAAE;IACpBJ,KAAK,CAACQ,IAAI,CAAC,0DAA0D,CAAC;EACxE;EACAR,KAAK,CAACQ,IAAI,CAAC,EAAE,CAAC;EAEd;EACA,MAAME,YAAY,GAAGf,mBAAmB,CAACpC,UAAU,EAAEN,SAAS,CAAC;EAC/D,IAAIyD,YAAY,CAACC,IAAI,GAAG,CAAC,EAAE;IACzBX,KAAK,CAACQ,IAAI,CAAC,UAAU,CAAC;IACtB,MAAMI,WAAW,GAAGvD,KAAK,CAACC,IAAI,CAACoD,YAAY,CAAC;IAC5C,KAAK,IAAIG,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGD,WAAW,CAAChD,MAAM,EAAEiD,CAAC,EAAE,EAAE;MAC3C,MAAMC,MAAM,GAAGD,CAAC,KAAKD,WAAW,CAAChD,MAAM,GAAG,CAAC;MAC3CoC,KAAK,CAACQ,IAAI,CAAC,KAAKI,WAAW,CAACC,CAAC,CAAC,GAAGC,MAAM,GAAG,EAAE,GAAG,GAAG,EAAE,CAAC;IACvD;IACAd,KAAK,CAACQ,IAAI,CAAC,WAAWrE,oBAAoB,CAAC,QAAQ,EAAEgB,aAAa,CAAC,GAAG,CAAC;IACvE6C,KAAK,CAACQ,IAAI,CAAC,EAAE,CAAC;EAChB;EAEA;EACAR,KAAK,CAACQ,IAAI,CAAC,iFAAiF,CAAC;EAC7FR,KAAK,CAACQ,IAAI,CAAC,UAAU,CAAC;EACtBR,KAAK,CAACQ,IAAI,CAAC,iFAAiF,CAAC;EAC7FR,KAAK,CAACQ,IAAI,CAAC,EAAE,CAAC;EACdR,KAAK,CAACQ,IAAI,CAAC,KAAK,CAAC;EACjBR,KAAK,CAACQ,IAAI,CAAC,oCAAoC,CAAC;EAChDR,KAAK,CAACQ,IAAI,CAAC,IAAI,CAAC;EAChBR,KAAK,CAACQ,IAAI,CAAC,iBAAiB,CAAC;EAC7BR,KAAK,CAACQ,IAAI,CAAC,qBAAqB,CAAC;EACjCR,KAAK,CAACQ,IAAI,CAAC,KAAK,CAAC;EACjBR,KAAK,CAACQ,IAAI,CAAC,+BAA+B,CAAC;EAC3CR,KAAK,CAACQ,IAAI,CAAC,qCAAqC,CAAC;EACjDR,KAAK,CAACQ,IAAI,CAAC,gBAAgB,CAAC;EAC5B,IAAI,CAACN,IAAI,EAAE;IACTF,KAAK,CAACQ,IAAI,CAAC,cAAc,CAAC;EAC5B;EACAR,KAAK,CAACQ,IAAI,CAAC,gBAAgB,CAAC;EAC5BR,KAAK,CAACQ,IAAI,CAAC,EAAE,CAAC;EAEd;EACAR,KAAK,CAACQ,IAAI,CAAC,KAAK,CAAC;EACjBR,KAAK,CAACQ,IAAI,CAAC,+CAA+C,CAAC;EAC3DR,KAAK,CAACQ,IAAI,CAAC,IAAI,CAAC;EAChBR,KAAK,CAACQ,IAAI,CAAC,iBAAiB,CAAC;EAC7BR,KAAK,CAACQ,IAAI,CAAC,sBAAsB,CAAC;EAClCR,KAAK,CAACQ,IAAI,CAAC,KAAK,CAAC;EACjBR,KAAK,CAACQ,IAAI,CAAC,mCAAmCP,aAAa,CAAC3D,eAAe,0BAA0B,CAAC;EACtG0D,KAAK,CAACQ,IAAI,CAAC,EAAE,CAAC;EAEd;EACAR,KAAK,CAACQ,IAAI,CAAC,iFAAiF,CAAC;EAC7FR,KAAK,CAACQ,IAAI,CAAC,eAAe,CAAC;EAC3BR,KAAK,CAACQ,IAAI,CAAC,iFAAiF,CAAC;EAC7FR,KAAK,CAACQ,IAAI,CAAC,EAAE,CAAC;EAEd,KAAK,MAAM3D,SAAS,IAAIU,UAAU,EAAE;IAClC,IAAI2C,IAAI,EAAE;MACRa,mBAAmB,CAACf,KAAK,EAAEnD,SAAS,EAAEI,SAAS,CAAC;IAClD,CAAC,MAAM;MACL+D,wBAAwB,CAAChB,KAAK,EAAEnD,SAAS,EAAEI,SAAS,CAAC;IACvD;IACA+C,KAAK,CAACQ,IAAI,CAAC,EAAE,CAAC;EAChB;EAEA,OAAOR,KAAK,CAACiB,IAAI,CAAC,IAAI,CAAC;AACzB,CAAC;AAED;;;AAGA,MAAMC,qBAAqB,GACzBrE,SAAyB,IACR;EACjB,IAAIA,SAAS,CAAC2C,UAAU,CAAC5B,MAAM,KAAK,CAAC,EAAE,OAAO,IAAI;EAElD,MAAMU,QAAQ,GAAG,GAAGlC,YAAY,CAACS,SAAS,CAACsE,SAAS,CAAC,QAAQ;EAC7D,OAAO7C,QAAQ;AACjB,CAAC;AAED;;;AAGA,MAAM8C,0BAA0B,GAAGA,CACjCpB,KAAoB,EACpBnD,SAAyB,KACjB;EACR,IAAIA,SAAS,CAAC2C,UAAU,CAAC5B,MAAM,KAAK,CAAC,EAAE;EAEvC,MAAMU,QAAQ,GAAG,GAAGlC,YAAY,CAACS,SAAS,CAACsE,SAAS,CAAC,QAAQ;EAE7DnB,KAAK,CAACQ,IAAI,CAAC,KAAK,CAAC;EACjBR,KAAK,CAACQ,IAAI,CAAC,qBAAqB3D,SAAS,CAACsE,SAAS,aAAa,CAAC;EACjEnB,KAAK,CAACQ,IAAI,CAAC,IAAI,CAAC;EAChBR,KAAK,CAACQ,IAAI,CAAC,iBAAiB,CAAC;EAC7BR,KAAK,CAACQ,IAAI,CAAC,qBAAqB,CAAC;EACjCR,KAAK,CAACQ,IAAI,CAAC,KAAK,CAAC;EACjBR,KAAK,CAACQ,IAAI,CAAC,oBAAoBlC,QAAQ,IAAI,CAAC;EAE5C,KAAK,MAAMiB,KAAK,IAAI1C,SAAS,CAAC2C,UAAU,EAAE;IACxC,MAAM6B,YAAY,GAAG9B,KAAK,CAAC+B,UAAU,GAAG,GAAG,GAAG,EAAE;IAChD,MAAMrC,MAAM,GAAGM,KAAK,CAACR,YAAY,GAC7B,iBAAiBQ,KAAK,CAACP,WAAW,CAACC,MAAM,GAAG,GAC5CM,KAAK,CAACP,WAAW,CAACC,MAAM;IAC5Be,KAAK,CAACQ,IAAI,CAAC,cAAcjB,KAAK,CAACzC,IAAI,GAAGuE,YAAY,KAAKpC,MAAM,EAAE,CAAC;EAClE;EAEAe,KAAK,CAACQ,IAAI,CAAC,GAAG,CAAC;EACfR,KAAK,CAACQ,IAAI,CAAC,EAAE,CAAC;AAChB,CAAC;AAED;;;AAGA,MAAMe,wBAAwB,GAAGA,CAC/BvB,KAAoB,EACpBwB,MAA8C,EAC9CC,MAAc,KACN;EACRzB,KAAK,CAACQ,IAAI,CAAC,GAAGiB,MAAM,oDAAoD,CAAC;EACzE,KAAK,MAAMlC,KAAK,IAAIiC,MAAM,EAAE;IAC1B;IACA,IAAIjC,KAAK,CAACzC,IAAI,KAAKyC,KAAK,CAAC4B,SAAS,EAAE;MAClCnB,KAAK,CAACQ,IAAI,CAAC,GAAGiB,MAAM,KAAKlC,KAAK,CAACzC,IAAI,YAAYyC,KAAK,CAACzC,IAAI,GAAG,CAAC;IAC/D,CAAC,MAAM;MACLkD,KAAK,CAACQ,IAAI,CAAC,GAAGiB,MAAM,MAAMlC,KAAK,CAAC4B,SAAS,aAAa5B,KAAK,CAACzC,IAAI,GAAG,CAAC;IACtE;EACF;EACAkD,KAAK,CAACQ,IAAI,CAAC,GAAGiB,MAAM,GAAG,CAAC;AAC1B,CAAC;AAED;;;AAGA,MAAMT,wBAAwB,GAAGA,CAC/BhB,KAAoB,EACpBnD,SAAyB,EACzBI,SAAoB,KACZ;EACR,MAAMyE,MAAM,GAAG9E,wBAAwB,CAACC,SAAS,CAAC;EAClD,MAAM8E,UAAU,GAAGT,qBAAqB,CAACrE,SAAS,CAAC;EACnD,MAAMqB,UAAU,GAAGY,iBAAiB,CAACjC,SAAS,CAAC;EAC/C,MAAM+E,YAAY,GAAG3D,gBAAgB,CAACpB,SAAS,EAAEI,SAAS,CAAC;EAE3D;EACAmE,0BAA0B,CAACpB,KAAK,EAAEnD,SAAS,CAAC;EAE5CmD,KAAK,CAACQ,IAAI,CAAC,KAAK,CAAC;EACjBR,KAAK,CAACQ,IAAI,CAAC,kBAAkB3D,SAAS,CAACsE,SAAS,mBAAmB,CAAC;EACpEnB,KAAK,CAACQ,IAAI,CAAC,IAAI,CAAC;EAChBR,KAAK,CAACQ,IAAI,CAAC,iBAAiB,CAAC;EAC7BR,KAAK,CAACQ,IAAI,CAAC,yBAAyB,CAAC;EACrCR,KAAK,CAACQ,IAAI,CAAC,KAAK,CAAC;EAEjB;EACA,IAAImB,UAAU,EAAE;IACd3B,KAAK,CAACQ,IAAI,CAAC,gBAAgBkB,MAAM,MAAM,CAAC;IACxC1B,KAAK,CAACQ,IAAI,CAAC,aAAamB,UAAU,EAAE,CAAC;IACrC3B,KAAK,CAACQ,IAAI,CAAC,mBAAmB,CAAC;EACjC,CAAC,MAAM;IACLR,KAAK,CAACQ,IAAI,CAAC,gBAAgBkB,MAAM,uBAAuB,CAAC;EAC3D;EAEA1B,KAAK,CAACQ,IAAI,CAAC,KAAKtC,UAAU,GAAG,CAAC;EAC9B8B,KAAK,CAACQ,IAAI,CAAC,oBAAoB,CAAC;EAChCR,KAAK,CAACQ,IAAI,CAAC,qBAAqB,CAAC;EACjCR,KAAK,CAACQ,IAAI,CAAC,MAAM,CAAC;EAClBR,KAAK,CAACQ,IAAI,CAAC,4BAA4B,CAAC;EACxCR,KAAK,CAACQ,IAAI,CAAC,6BAA6BnE,SAAS,CAACE,kBAAkB,EAAE,CAAC;EACvEyD,KAAK,CAACQ,IAAI,CAAC,iDAAiD,CAAC;EAC7DR,KAAK,CAACQ,IAAI,CAAC,EAAE,CAAC;EAEd;EACA,IAAImB,UAAU,EAAE;IACdJ,wBAAwB,CAACvB,KAAK,EAAEnD,SAAS,CAAC2C,UAAU,EAAE,MAAM,CAAC;IAC7DQ,KAAK,CAACQ,IAAI,CAAC,EAAE,CAAC;EAChB;EAEA,MAAMqB,SAAS,GAAGF,UAAU,GAAG,YAAY,GAAG,WAAW;EAEzD;EACA,IAAI,CAAC9E,SAAS,CAACqB,UAAU,EAAE;IACzB8B,KAAK,CAACQ,IAAI,CACR,yEAAyE3D,SAAS,CAACsE,SAAS,MAAMU,SAAS,GAAG,CAC/G;EACH,CAAC,MAAM,IAAIhF,SAAS,CAACqB,UAAU,CAACa,YAAY,EAAE;IAC5C,IAAI6C,YAAY,EAAE;MAChB5B,KAAK,CAACQ,IAAI,CACR,+EAA+E3D,SAAS,CAACsE,SAAS,MAAMtE,SAAS,CAACqB,UAAU,CAACc,WAAW,CAACC,MAAM,KAAK4C,SAAS,GAAG,CACjK;IACH,CAAC,MAAM;MACL7B,KAAK,CAACQ,IAAI,CACR,+EAA+E3D,SAAS,CAACsE,SAAS,MAAMtE,SAAS,CAACqB,UAAU,CAACc,WAAW,CAACG,YAAY,KAAK0C,SAAS,GAAG,CACvK;IACH;EACF,CAAC,MAAM,IAAID,YAAY,EAAE;IACvB5B,KAAK,CAACQ,IAAI,CACR,2EAA2E3D,SAAS,CAACsE,SAAS,MAAMtE,SAAS,CAACqB,UAAU,CAACc,WAAW,CAACC,MAAM,KAAK4C,SAAS,GAAG,CAC7J;EACH,CAAC,MAAM;IACL;IACA,MAAMC,YAAY,GAAGjF,SAAS,CAACsE,SAAS;IACxCnB,KAAK,CAACQ,IAAI,CACR,8EAA8E3D,SAAS,CAACsE,SAAS,OAAOW,YAAY,MAAMjF,SAAS,CAACqB,UAAU,CAACc,WAAW,CAACG,YAAY,KAAK0C,SAAS,GAAG,CACzL;EACH;EAEA7B,KAAK,CAACQ,IAAI,CAAC,MAAM,CAAC;AACpB,CAAC;AAED;;;AAGA,MAAMO,mBAAmB,GAAGA,CAC1Bf,KAAoB,EACpBnD,SAAyB,EACzBI,SAAoB,KACZ;EACR,MAAMyE,MAAM,GAAG9E,wBAAwB,CAACC,SAAS,CAAC;EAClD,MAAM8E,UAAU,GAAGT,qBAAqB,CAACrE,SAAS,CAAC;EACnD,MAAMqB,UAAU,GAAGY,iBAAiB,CAACjC,SAAS,CAAC;EAC/C,MAAM+E,YAAY,GAAG3D,gBAAgB,CAACpB,SAAS,EAAEI,SAAS,CAAC;EAC3D,MAAM8E,QAAQ,GAAGlF,SAAS,CAACmF,IAAI,KAAK,QAAQ;EAE5C;EACAZ,0BAA0B,CAACpB,KAAK,EAAEnD,SAAS,CAAC;EAE5CmD,KAAK,CAACQ,IAAI,CAAC,KAAK,CAAC;EACjBR,KAAK,CAACQ,IAAI,CAAC,kBAAkB3D,SAAS,CAACsE,SAAS,IAAItE,SAAS,CAACmF,IAAI,CAACC,WAAW,EAAE,GAAG,CAAC;EACpFjC,KAAK,CAACQ,IAAI,CAAC,IAAI,CAAC;EAChBR,KAAK,CAACQ,IAAI,CAAC,iBAAiB,CAAC;EAC7BR,KAAK,CAACQ,IAAI,CAAC,yBAAyB,CAAC;EACrCR,KAAK,CAACQ,IAAI,CAAC,KAAK,CAAC;EAEjB;EACA,IAAImB,UAAU,EAAE;IACd3B,KAAK,CAACQ,IAAI,CAAC,gBAAgBkB,MAAM,MAAM,CAAC;IACxC1B,KAAK,CAACQ,IAAI,CAAC,aAAamB,UAAU,EAAE,CAAC;IACrC3B,KAAK,CAACQ,IAAI,CAAC,mBAAmB,CAAC;EACjC,CAAC,MAAM;IACLR,KAAK,CAACQ,IAAI,CAAC,gBAAgBkB,MAAM,uBAAuB,CAAC;EAC3D;EAEA1B,KAAK,CAACQ,IAAI,CAAC,KAAKtC,UAAU,GAAG,CAAC;EAC9B8B,KAAK,CAACQ,IAAI,CAAC,oBAAoB,CAAC;EAChCR,KAAK,CAACQ,IAAI,CAAC,qBAAqB,CAAC;EACjCR,KAAK,CAACQ,IAAI,CAAC,MAAM,CAAC;EAClBR,KAAK,CAACQ,IAAI,CAAC,4BAA4B,CAAC;EACxCR,KAAK,CAACQ,IAAI,CAAC,6BAA6B/D,SAAS,CAACF,kBAAkB,EAAE,CAAC;EACvEyD,KAAK,CAACQ,IAAI,CAAC,iDAAiD,CAAC;EAC7DR,KAAK,CAACQ,IAAI,CAAC,EAAE,CAAC;EAEd;EACA,IAAI,CAACuB,QAAQ,EAAE;IACb;IACA,IAAIJ,UAAU,EAAE;MACdJ,wBAAwB,CAACvB,KAAK,EAAEnD,SAAS,CAAC2C,UAAU,EAAE,MAAM,CAAC;MAC7DQ,KAAK,CAACQ,IAAI,CAAC,gDAAgD3D,SAAS,CAACsE,SAAS,gBAAgB,CAAC;IACjG,CAAC,MAAM;MACLnB,KAAK,CAACQ,IAAI,CAAC,gDAAgD3D,SAAS,CAACsE,SAAS,IAAI,CAAC;IACrF;IACAnB,KAAK,CAACQ,IAAI,CAAC,EAAE,CAAC;IAEd;IACA,IAAI,CAAC3D,SAAS,CAACqB,UAAU,EAAE;MACzB8B,KAAK,CAACQ,IAAI,CAAC,uEAAuE,CAAC;IACrF,CAAC,MAAM,IAAI3D,SAAS,CAACqB,UAAU,CAACa,YAAY,EAAE;MAC5C,IAAI6C,YAAY,EAAE;QAChB5B,KAAK,CAACQ,IAAI,CACR,+EAA+E3D,SAAS,CAACqB,UAAU,CAACc,WAAW,CAACC,MAAM,GAAG,CAC1H;MACH,CAAC,MAAM;QACLe,KAAK,CAACQ,IAAI,CACR,+EAA+E3D,SAAS,CAACqB,UAAU,CAACc,WAAW,CAACG,YAAY,GAAG,CAChI;MACH;IACF,CAAC,MAAM,IAAIyC,YAAY,EAAE;MACvB5B,KAAK,CAACQ,IAAI,CACR,2EAA2E3D,SAAS,CAACqB,UAAU,CAACc,WAAW,CAACC,MAAM,GAAG,CACtH;IACH,CAAC,MAAM;MACL;MACAe,KAAK,CAACQ,IAAI,CACR,8EAA8E3D,SAAS,CAACqB,UAAU,CAACc,WAAW,CAACG,YAAY,GAAG,CAC/H;IACH;EACF,CAAC,MAAM;IACL;IACAa,KAAK,CAACQ,IAAI,CAAC,oBAAoB3D,SAAS,CAACsE,SAAS,GAAG,CAAC;IACtDnB,KAAK,CAACQ,IAAI,CAAC,EAAE,CAAC;IAEd;IACA,IAAI0B,OAAO,GAAG,WAAW;IACzB,IAAIP,UAAU,EAAE;MACd;MACA,MAAMQ,iBAAiB,GAAGtF,SAAS,CAAC2C,UAAU,CAAC4C,IAAI,CAAEC,CAAC,IAAKA,CAAC,CAACvF,IAAI,KAAKuF,CAAC,CAAClB,SAAS,CAAC;MAClF,IAAIgB,iBAAiB,EAAE;QACrBnC,KAAK,CAACQ,IAAI,CAAC,oBAAoB,CAAC;QAChC,KAAK,MAAMjB,KAAK,IAAI1C,SAAS,CAAC2C,UAAU,EAAE;UACxC,IAAID,KAAK,CAACzC,IAAI,KAAKyC,KAAK,CAAC4B,SAAS,EAAE;YAClCnB,KAAK,CAACQ,IAAI,CAAC,SAASjB,KAAK,CAACzC,IAAI,YAAYyC,KAAK,CAACzC,IAAI,GAAG,CAAC;UAC1D,CAAC,MAAM;YACLkD,KAAK,CAACQ,IAAI,CAAC,UAAUjB,KAAK,CAAC4B,SAAS,aAAa5B,KAAK,CAACzC,IAAI,GAAG,CAAC;UACjE;QACF;QACAkD,KAAK,CAACQ,IAAI,CAAC,OAAO,CAAC;QACnBR,KAAK,CAACQ,IAAI,CAAC,EAAE,CAAC;QACd0B,OAAO,GAAG,MAAM;MAClB,CAAC,MAAM;QACLA,OAAO,GAAG,QAAQ;MACpB;IACF;IAEA,IAAI,CAACrF,SAAS,CAACqB,UAAU,EAAE;MACzB8B,KAAK,CAACQ,IAAI,CAAC,uEAAuE0B,OAAO,GAAG,CAAC;IAC/F,CAAC,MAAM,IAAIrF,SAAS,CAACqB,UAAU,CAACa,YAAY,EAAE;MAC5C,IAAI6C,YAAY,EAAE;QAChB5B,KAAK,CAACQ,IAAI,CACR,6EAA6E3D,SAAS,CAACqB,UAAU,CAACc,WAAW,CAACC,MAAM,KAAKiD,OAAO,GAAG,CACpI;MACH,CAAC,MAAM;QACLlC,KAAK,CAACQ,IAAI,CACR,6EAA6E3D,SAAS,CAACqB,UAAU,CAACc,WAAW,CAACG,YAAY,KAAK+C,OAAO,GAAG,CAC1I;MACH;IACF,CAAC,MAAM,IAAIN,YAAY,EAAE;MACvB5B,KAAK,CAACQ,IAAI,CACR,yEAAyE3D,SAAS,CAACqB,UAAU,CAACc,WAAW,CAACC,MAAM,KAAKiD,OAAO,GAAG,CAChI;IACH,CAAC,MAAM;MACL;MACAlC,KAAK,CAACQ,IAAI,CACR,8EAA8E3D,SAAS,CAACqB,UAAU,CAACc,WAAW,CAACG,YAAY,GAAG,CAC/H;IACH;EACF;EAEAa,KAAK,CAACQ,IAAI,CAAC,MAAM,CAAC;AACpB,CAAC","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@odata-effect/odata-effect-generator",
3
- "version": "0.6.9",
3
+ "version": "0.6.11",
4
4
  "description": "Effect-based OData service code generator",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -350,38 +350,28 @@ const generateEditableSchemaFields = (
350
350
  * When the OData property name differs from the TypeScript property name,
351
351
  * we use Schema.fromKey to map between them.
352
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.
357
- *
358
353
  * @example
359
354
  * // When odataName == name:
360
355
  * name: Schema.String
361
356
  *
362
- * // When odataName ("ID") != name ("id") - required field:
363
- * id: Schema.propertySignature(Schema.Number).pipe(Schema.fromKey("ID"))
357
+ * // When odataName ("ID") != name ("id"):
358
+ * id: Schema.Number.pipe(Schema.fromKey("ID"))
364
359
  *
365
360
  * // When odataName ("Name") != name ("name") - optional field:
366
- * name: Schema.optionalWith(Schema.String, { nullable: true }).pipe(Schema.fromKey("Name"))
361
+ * name: Schema.NullishOr(Schema.String).pipe(Schema.fromKey("Name"))
367
362
  */
368
363
  const getPropertyFieldDefinition = (
369
364
  prop: PropertyModel,
370
365
  schemaType: string,
371
- isOptional: boolean
366
+ _isOptional: boolean
372
367
  ): string => {
373
368
  // If OData name matches TypeScript name, use simple format
374
369
  if (prop.odataName === prop.name) {
375
370
  return `${prop.name}: ${schemaType}`
376
371
  }
377
372
 
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
384
- return `${prop.name}: Schema.propertySignature(${schemaType}).pipe(Schema.fromKey("${prop.odataName}"))`
373
+ // Schema.fromKey works directly on schemas - no need for propertySignature wrapper
374
+ return `${prop.name}: ${schemaType}.pipe(Schema.fromKey("${prop.odataName}"))`
385
375
  }
386
376
 
387
377
  /**
@@ -400,7 +390,7 @@ const getPropertySchemaType = (
400
390
 
401
391
  // Handle nullable/optional
402
392
  if (makeOptional) {
403
- return `Schema.optionalWith(${baseType}, { nullable: true })`
393
+ return `Schema.NullishOr(${baseType})`
404
394
  }
405
395
 
406
396
  return baseType
@@ -150,6 +150,91 @@ const getReturnTypeName = (operation: OperationModel): string => {
150
150
  return isCollection ? `ReadonlyArray<${baseType}>` : baseType
151
151
  }
152
152
 
153
+ /**
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.
156
+ */
157
+ const needsSchemaImport = (operations: ReadonlyArray<OperationModel>, dataModel: DataModel): boolean => {
158
+ for (const operation of operations) {
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)
161
+ if (operation.returnType && !returnsModelType(operation, dataModel)) {
162
+ if (operation.returnType.typeMapping.effectSchema.startsWith("Schema.")) {
163
+ return true
164
+ }
165
+ }
166
+ }
167
+ return false
168
+ }
169
+
170
+ /**
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.
173
+ */
174
+ const needsODataSchemaImport = (operations: ReadonlyArray<OperationModel>, dataModel: DataModel): boolean => {
175
+ for (const operation of operations) {
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)
178
+ if (operation.returnType && !returnsModelType(operation, dataModel)) {
179
+ if (operation.returnType.typeMapping.effectSchema.startsWith("ODataSchema.")) {
180
+ return true
181
+ }
182
+ }
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
+ }
229
+ for (const param of operation.parameters) {
230
+ if (param.typeMapping.tsType.includes("BigDecimal.")) {
231
+ return true
232
+ }
233
+ }
234
+ }
235
+ return false
236
+ }
237
+
153
238
  /**
154
239
  * Collect all model types that need to be imported.
155
240
  */
@@ -199,6 +284,13 @@ const generateOperationsFile = (
199
284
  const versionConfig = getVersionConfig(dataModel.version)
200
285
  const isV4 = dataModel.version === "V4"
201
286
 
287
+ // Determine which imports are needed
288
+ const needsSchema = needsSchemaImport(operations, dataModel)
289
+ const needsODataSchema = needsODataSchemaImport(operations, dataModel)
290
+ const needsDateTime = needsDateTimeImport(operations)
291
+ const needsDuration = needsDurationImport(operations)
292
+ const needsBigDecimal = needsBigDecimalImport(operations)
293
+
202
294
  // Header and imports
203
295
  lines.push(`/**`)
204
296
  lines.push(` * OData operations for ${dataModel.serviceName} OData ${dataModel.version}.`)
@@ -206,7 +298,19 @@ const generateOperationsFile = (
206
298
  lines.push(` *`)
207
299
  lines.push(` * @since 1.0.0`)
208
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
+ }
209
310
  lines.push(`import * as Effect from "effect/Effect"`)
311
+ if (needsSchema) {
312
+ lines.push(`import * as Schema from "effect/Schema"`)
313
+ }
210
314
  lines.push(`import { HttpClient } from "@effect/platform"`)
211
315
  lines.push(`import type * as HttpClientError from "@effect/platform/HttpClientError"`)
212
316
  lines.push(``)
@@ -223,6 +327,9 @@ const generateOperationsFile = (
223
327
  lines.push(` type ODataError,`)
224
328
  lines.push(` type ParseError`)
225
329
  lines.push(`} from "@odata-effect/odata-effect/Errors"`)
330
+ if (needsODataSchema) {
331
+ lines.push(`import { ODataSchema } from "@odata-effect/odata-effect"`)
332
+ }
226
333
  lines.push(``)
227
334
 
228
335
  // Import model types if needed