@odata-effect/odata-effect-generator 0.6.9 → 0.6.10
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/ModelsGenerator.js +7 -16
- package/dist/cjs/generator/ModelsGenerator.js.map +1 -1
- package/dist/cjs/generator/OperationsGenerator.js +66 -0
- package/dist/cjs/generator/OperationsGenerator.js.map +1 -1
- package/dist/esm/generator/ModelsGenerator.js +7 -16
- package/dist/esm/generator/ModelsGenerator.js.map +1 -1
- package/dist/esm/generator/OperationsGenerator.js +66 -0
- package/dist/esm/generator/OperationsGenerator.js.map +1 -1
- package/package.json +1 -1
- package/src/generator/ModelsGenerator.ts +7 -17
- package/src/generator/OperationsGenerator.ts +69 -0
|
@@ -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")
|
|
274
|
-
* id: Schema.
|
|
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.
|
|
272
|
+
* name: Schema.NullishOr(Schema.String).pipe(Schema.fromKey("Name"))
|
|
278
273
|
*/
|
|
279
|
-
const getPropertyFieldDefinition = (prop, schemaType,
|
|
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
|
-
//
|
|
285
|
-
|
|
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.
|
|
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,63 @@ 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 primitives.
|
|
99
|
+
*/
|
|
100
|
+
const needsSchemaImport = (operations, dataModel) => {
|
|
101
|
+
for (const operation of operations) {
|
|
102
|
+
// Check return type - only if it's not a model type
|
|
103
|
+
if (operation.returnType && !returnsModelType(operation, dataModel)) {
|
|
104
|
+
if (operation.returnType.typeMapping.effectSchema.startsWith("Schema.")) {
|
|
105
|
+
return true;
|
|
106
|
+
}
|
|
107
|
+
}
|
|
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
|
+
}
|
|
132
|
+
return false;
|
|
133
|
+
};
|
|
134
|
+
/**
|
|
135
|
+
* Check if any operation uses ODataSchema.* types.
|
|
136
|
+
*/
|
|
137
|
+
const needsODataSchemaImport = (operations, dataModel) => {
|
|
138
|
+
for (const operation of operations) {
|
|
139
|
+
// Check return type - only if it's not a model type
|
|
140
|
+
if (operation.returnType && !returnsModelType(operation, dataModel)) {
|
|
141
|
+
if (operation.returnType.typeMapping.effectSchema.startsWith("ODataSchema.")) {
|
|
142
|
+
return true;
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
// Check parameters
|
|
146
|
+
for (const param of operation.parameters) {
|
|
147
|
+
if (param.typeMapping.effectSchema.startsWith("ODataSchema.")) {
|
|
148
|
+
return true;
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
return false;
|
|
153
|
+
};
|
|
97
154
|
/**
|
|
98
155
|
* Collect all model types that need to be imported.
|
|
99
156
|
*/
|
|
@@ -133,6 +190,9 @@ const generateOperationsFile = (operations, dataModel, esmExtensions) => {
|
|
|
133
190
|
const lines = [];
|
|
134
191
|
const versionConfig = getVersionConfig(dataModel.version);
|
|
135
192
|
const isV4 = dataModel.version === "V4";
|
|
193
|
+
// Determine which imports are needed
|
|
194
|
+
const needsSchema = needsSchemaImport(operations, dataModel);
|
|
195
|
+
const needsODataSchema = needsODataSchemaImport(operations, dataModel);
|
|
136
196
|
// Header and imports
|
|
137
197
|
lines.push(`/**`);
|
|
138
198
|
lines.push(` * OData operations for ${dataModel.serviceName} OData ${dataModel.version}.`);
|
|
@@ -141,6 +201,9 @@ const generateOperationsFile = (operations, dataModel, esmExtensions) => {
|
|
|
141
201
|
lines.push(` * @since 1.0.0`);
|
|
142
202
|
lines.push(` */`);
|
|
143
203
|
lines.push(`import * as Effect from "effect/Effect"`);
|
|
204
|
+
if (needsSchema) {
|
|
205
|
+
lines.push(`import * as Schema from "effect/Schema"`);
|
|
206
|
+
}
|
|
144
207
|
lines.push(`import { HttpClient } from "@effect/platform"`);
|
|
145
208
|
lines.push(`import type * as HttpClientError from "@effect/platform/HttpClientError"`);
|
|
146
209
|
lines.push(``);
|
|
@@ -156,6 +219,9 @@ const generateOperationsFile = (operations, dataModel, esmExtensions) => {
|
|
|
156
219
|
lines.push(` type ODataError,`);
|
|
157
220
|
lines.push(` type ParseError`);
|
|
158
221
|
lines.push(`} from "@odata-effect/odata-effect/Errors"`);
|
|
222
|
+
if (needsODataSchema) {
|
|
223
|
+
lines.push(`import { ODataSchema } from "@odata-effect/odata-effect"`);
|
|
224
|
+
}
|
|
159
225
|
lines.push(``);
|
|
160
226
|
// Import model types if needed
|
|
161
227
|
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","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":[]}
|
|
@@ -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")
|
|
267
|
-
* id: Schema.
|
|
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.
|
|
265
|
+
* name: Schema.NullishOr(Schema.String).pipe(Schema.fromKey("Name"))
|
|
271
266
|
*/
|
|
272
|
-
const getPropertyFieldDefinition = (prop, schemaType,
|
|
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
|
-
//
|
|
278
|
-
|
|
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.
|
|
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,63 @@ 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 primitives.
|
|
90
|
+
*/
|
|
91
|
+
const needsSchemaImport = (operations, dataModel) => {
|
|
92
|
+
for (const operation of operations) {
|
|
93
|
+
// Check return type - only if it's not a model type
|
|
94
|
+
if (operation.returnType && !returnsModelType(operation, dataModel)) {
|
|
95
|
+
if (operation.returnType.typeMapping.effectSchema.startsWith("Schema.")) {
|
|
96
|
+
return true;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
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
|
+
}
|
|
123
|
+
return false;
|
|
124
|
+
};
|
|
125
|
+
/**
|
|
126
|
+
* Check if any operation uses ODataSchema.* types.
|
|
127
|
+
*/
|
|
128
|
+
const needsODataSchemaImport = (operations, dataModel) => {
|
|
129
|
+
for (const operation of operations) {
|
|
130
|
+
// Check return type - only if it's not a model type
|
|
131
|
+
if (operation.returnType && !returnsModelType(operation, dataModel)) {
|
|
132
|
+
if (operation.returnType.typeMapping.effectSchema.startsWith("ODataSchema.")) {
|
|
133
|
+
return true;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
// Check parameters
|
|
137
|
+
for (const param of operation.parameters) {
|
|
138
|
+
if (param.typeMapping.effectSchema.startsWith("ODataSchema.")) {
|
|
139
|
+
return true;
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
return false;
|
|
144
|
+
};
|
|
88
145
|
/**
|
|
89
146
|
* Collect all model types that need to be imported.
|
|
90
147
|
*/
|
|
@@ -124,6 +181,9 @@ const generateOperationsFile = (operations, dataModel, esmExtensions) => {
|
|
|
124
181
|
const lines = [];
|
|
125
182
|
const versionConfig = getVersionConfig(dataModel.version);
|
|
126
183
|
const isV4 = dataModel.version === "V4";
|
|
184
|
+
// Determine which imports are needed
|
|
185
|
+
const needsSchema = needsSchemaImport(operations, dataModel);
|
|
186
|
+
const needsODataSchema = needsODataSchemaImport(operations, dataModel);
|
|
127
187
|
// Header and imports
|
|
128
188
|
lines.push(`/**`);
|
|
129
189
|
lines.push(` * OData operations for ${dataModel.serviceName} OData ${dataModel.version}.`);
|
|
@@ -132,6 +192,9 @@ const generateOperationsFile = (operations, dataModel, esmExtensions) => {
|
|
|
132
192
|
lines.push(` * @since 1.0.0`);
|
|
133
193
|
lines.push(` */`);
|
|
134
194
|
lines.push(`import * as Effect from "effect/Effect"`);
|
|
195
|
+
if (needsSchema) {
|
|
196
|
+
lines.push(`import * as Schema from "effect/Schema"`);
|
|
197
|
+
}
|
|
135
198
|
lines.push(`import { HttpClient } from "@effect/platform"`);
|
|
136
199
|
lines.push(`import type * as HttpClientError from "@effect/platform/HttpClientError"`);
|
|
137
200
|
lines.push(``);
|
|
@@ -147,6 +210,9 @@ const generateOperationsFile = (operations, dataModel, esmExtensions) => {
|
|
|
147
210
|
lines.push(` type ODataError,`);
|
|
148
211
|
lines.push(` type ParseError`);
|
|
149
212
|
lines.push(`} from "@odata-effect/odata-effect/Errors"`);
|
|
213
|
+
if (needsODataSchema) {
|
|
214
|
+
lines.push(`import { ODataSchema } from "@odata-effect/odata-effect"`);
|
|
215
|
+
}
|
|
150
216
|
lines.push(``);
|
|
151
217
|
// Import model types if needed
|
|
152
218
|
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","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":[]}
|
package/package.json
CHANGED
|
@@ -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")
|
|
363
|
-
* id: Schema.
|
|
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.
|
|
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
|
-
|
|
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
|
-
//
|
|
379
|
-
|
|
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.
|
|
393
|
+
return `Schema.NullishOr(${baseType})`
|
|
404
394
|
}
|
|
405
395
|
|
|
406
396
|
return baseType
|
|
@@ -150,6 +150,65 @@ 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 primitives.
|
|
155
|
+
*/
|
|
156
|
+
const needsSchemaImport = (operations: ReadonlyArray<OperationModel>, dataModel: DataModel): boolean => {
|
|
157
|
+
for (const operation of operations) {
|
|
158
|
+
// Check return type - only if it's not a model type
|
|
159
|
+
if (operation.returnType && !returnsModelType(operation, dataModel)) {
|
|
160
|
+
if (operation.returnType.typeMapping.effectSchema.startsWith("Schema.")) {
|
|
161
|
+
return true
|
|
162
|
+
}
|
|
163
|
+
}
|
|
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
|
+
}
|
|
188
|
+
return false
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
/**
|
|
192
|
+
* Check if any operation uses ODataSchema.* types.
|
|
193
|
+
*/
|
|
194
|
+
const needsODataSchemaImport = (operations: ReadonlyArray<OperationModel>, dataModel: DataModel): boolean => {
|
|
195
|
+
for (const operation of operations) {
|
|
196
|
+
// Check return type - only if it's not a model type
|
|
197
|
+
if (operation.returnType && !returnsModelType(operation, dataModel)) {
|
|
198
|
+
if (operation.returnType.typeMapping.effectSchema.startsWith("ODataSchema.")) {
|
|
199
|
+
return true
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
// Check parameters
|
|
203
|
+
for (const param of operation.parameters) {
|
|
204
|
+
if (param.typeMapping.effectSchema.startsWith("ODataSchema.")) {
|
|
205
|
+
return true
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
return false
|
|
210
|
+
}
|
|
211
|
+
|
|
153
212
|
/**
|
|
154
213
|
* Collect all model types that need to be imported.
|
|
155
214
|
*/
|
|
@@ -199,6 +258,10 @@ const generateOperationsFile = (
|
|
|
199
258
|
const versionConfig = getVersionConfig(dataModel.version)
|
|
200
259
|
const isV4 = dataModel.version === "V4"
|
|
201
260
|
|
|
261
|
+
// Determine which imports are needed
|
|
262
|
+
const needsSchema = needsSchemaImport(operations, dataModel)
|
|
263
|
+
const needsODataSchema = needsODataSchemaImport(operations, dataModel)
|
|
264
|
+
|
|
202
265
|
// Header and imports
|
|
203
266
|
lines.push(`/**`)
|
|
204
267
|
lines.push(` * OData operations for ${dataModel.serviceName} OData ${dataModel.version}.`)
|
|
@@ -207,6 +270,9 @@ const generateOperationsFile = (
|
|
|
207
270
|
lines.push(` * @since 1.0.0`)
|
|
208
271
|
lines.push(` */`)
|
|
209
272
|
lines.push(`import * as Effect from "effect/Effect"`)
|
|
273
|
+
if (needsSchema) {
|
|
274
|
+
lines.push(`import * as Schema from "effect/Schema"`)
|
|
275
|
+
}
|
|
210
276
|
lines.push(`import { HttpClient } from "@effect/platform"`)
|
|
211
277
|
lines.push(`import type * as HttpClientError from "@effect/platform/HttpClientError"`)
|
|
212
278
|
lines.push(``)
|
|
@@ -223,6 +289,9 @@ const generateOperationsFile = (
|
|
|
223
289
|
lines.push(` type ODataError,`)
|
|
224
290
|
lines.push(` type ParseError`)
|
|
225
291
|
lines.push(`} from "@odata-effect/odata-effect/Errors"`)
|
|
292
|
+
if (needsODataSchema) {
|
|
293
|
+
lines.push(`import { ODataSchema } from "@odata-effect/odata-effect"`)
|
|
294
|
+
}
|
|
226
295
|
lines.push(``)
|
|
227
296
|
|
|
228
297
|
// Import model types if needed
|