@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.
- package/dist/cjs/generator/OperationsGenerator.js +62 -27
- package/dist/cjs/generator/OperationsGenerator.js.map +1 -1
- package/dist/esm/generator/OperationsGenerator.js +62 -27
- package/dist/esm/generator/OperationsGenerator.js.map +1 -1
- package/package.json +1 -1
- package/src/generator/OperationsGenerator.ts +65 -27
|
@@ -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
|
|
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
|
-
|
|
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.
|
|
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
|
|
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
|
-
|
|
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.
|
|
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
|
@@ -151,57 +151,83 @@ const getReturnTypeName = (operation: OperationModel): string => {
|
|
|
151
151
|
}
|
|
152
152
|
|
|
153
153
|
/**
|
|
154
|
-
* Check if any operation uses Schema.* types for
|
|
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
|
-
|
|
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.
|
|
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"`)
|