@odata-effect/odata-effect-generator 0.6.0 → 0.6.2
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 +22 -36
- package/dist/cjs/generator/ModelsGenerator.js.map +1 -1
- package/dist/cjs/generator/NavigationGenerator.js +1 -1
- package/dist/cjs/generator/NavigationGenerator.js.map +1 -1
- package/dist/cjs/generator/ServiceFnGenerator.js +8 -11
- package/dist/cjs/generator/ServiceFnGenerator.js.map +1 -1
- package/dist/dts/generator/ModelsGenerator.d.ts.map +1 -1
- package/dist/esm/generator/ModelsGenerator.js +22 -36
- package/dist/esm/generator/ModelsGenerator.js.map +1 -1
- package/dist/esm/generator/NavigationGenerator.js +1 -1
- package/dist/esm/generator/NavigationGenerator.js.map +1 -1
- package/dist/esm/generator/ServiceFnGenerator.js +8 -11
- package/dist/esm/generator/ServiceFnGenerator.js.map +1 -1
- package/package.json +1 -1
- package/src/generator/ModelsGenerator.ts +24 -41
- package/src/generator/NavigationGenerator.ts +1 -1
- package/src/generator/ServiceFnGenerator.ts +8 -12
|
@@ -71,28 +71,6 @@ const needsODataSchemaImport = dataModel => {
|
|
|
71
71
|
}
|
|
72
72
|
return false;
|
|
73
73
|
};
|
|
74
|
-
/**
|
|
75
|
-
* Check which Effect type imports are needed based on tsType usage.
|
|
76
|
-
*/
|
|
77
|
-
const getNeededEffectTypeImports = dataModel => {
|
|
78
|
-
const needed = new Set();
|
|
79
|
-
const checkTsType = tsType => {
|
|
80
|
-
if (tsType.startsWith("DateTime.")) needed.add("DateTime");
|
|
81
|
-
if (tsType.startsWith("BigDecimal.")) needed.add("BigDecimal");
|
|
82
|
-
if (tsType.startsWith("Duration.")) needed.add("Duration");
|
|
83
|
-
};
|
|
84
|
-
for (const type of dataModel.entityTypes.values()) {
|
|
85
|
-
for (const prop of type.properties) {
|
|
86
|
-
checkTsType(prop.typeMapping.tsType);
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
for (const type of dataModel.complexTypes.values()) {
|
|
90
|
-
for (const prop of type.properties) {
|
|
91
|
-
checkTsType(prop.typeMapping.tsType);
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
return needed;
|
|
95
|
-
};
|
|
96
74
|
/**
|
|
97
75
|
* Generate the Models.ts file content.
|
|
98
76
|
*
|
|
@@ -112,11 +90,6 @@ const generateModels = dataModel => {
|
|
|
112
90
|
lines.push(` * @since 1.0.0`);
|
|
113
91
|
lines.push(` */`);
|
|
114
92
|
lines.push(`import * as Schema from "effect/Schema"`);
|
|
115
|
-
// Add Effect type imports if needed (for DateTime, BigDecimal, Duration)
|
|
116
|
-
const effectTypeImports = getNeededEffectTypeImports(dataModel);
|
|
117
|
-
for (const effectType of effectTypeImports) {
|
|
118
|
-
lines.push(`import type * as ${effectType} from "effect/${effectType}"`);
|
|
119
|
-
}
|
|
120
93
|
// Add ODataSchema import if needed
|
|
121
94
|
if (needsODataSchemaImport(dataModel)) {
|
|
122
95
|
lines.push(`import { ODataSchema } from "@odata-effect/odata-effect"`);
|
|
@@ -257,9 +230,10 @@ const generateSchemaFields = (properties, _navigationProperties, _dataModel) =>
|
|
|
257
230
|
const fields = [];
|
|
258
231
|
for (let i = 0; i < properties.length; i++) {
|
|
259
232
|
const prop = properties[i];
|
|
260
|
-
const
|
|
233
|
+
const isOptional = prop.isNullable && !prop.isKey;
|
|
234
|
+
const schemaType = getPropertySchemaType(prop, isOptional);
|
|
261
235
|
const isLast = i === properties.length - 1;
|
|
262
|
-
const fieldDef = getPropertyFieldDefinition(prop, schemaType);
|
|
236
|
+
const fieldDef = getPropertyFieldDefinition(prop, schemaType, isOptional);
|
|
263
237
|
fields.push(`${fieldDef}${isLast ? "" : ","}`);
|
|
264
238
|
}
|
|
265
239
|
// Navigation properties are intentionally excluded from Schema.Class
|
|
@@ -273,9 +247,10 @@ const generateEditableSchemaFields = properties => {
|
|
|
273
247
|
const fields = [];
|
|
274
248
|
for (let i = 0; i < properties.length; i++) {
|
|
275
249
|
const prop = properties[i];
|
|
276
|
-
const
|
|
250
|
+
const isOptional = prop.isNullable;
|
|
251
|
+
const schemaType = getPropertySchemaType(prop, isOptional);
|
|
277
252
|
const isLast = i === properties.length - 1;
|
|
278
|
-
const fieldDef = getPropertyFieldDefinition(prop, schemaType);
|
|
253
|
+
const fieldDef = getPropertyFieldDefinition(prop, schemaType, isOptional);
|
|
279
254
|
fields.push(`${fieldDef}${isLast ? "" : ","}`);
|
|
280
255
|
}
|
|
281
256
|
return fields;
|
|
@@ -284,22 +259,33 @@ const generateEditableSchemaFields = properties => {
|
|
|
284
259
|
* Get a complete property field definition including fromKey mapping if needed.
|
|
285
260
|
*
|
|
286
261
|
* When the OData property name differs from the TypeScript property name,
|
|
287
|
-
* we use Schema.
|
|
288
|
-
*
|
|
262
|
+
* we use Schema.fromKey to map between them.
|
|
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.
|
|
289
268
|
*
|
|
290
269
|
* @example
|
|
291
270
|
* // When odataName == name:
|
|
292
271
|
* name: Schema.String
|
|
293
272
|
*
|
|
294
|
-
* // When odataName ("ID") != name ("id"):
|
|
273
|
+
* // When odataName ("ID") != name ("id") - required field:
|
|
295
274
|
* id: Schema.propertySignature(Schema.Number).pipe(Schema.fromKey("ID"))
|
|
275
|
+
*
|
|
276
|
+
* // When odataName ("Name") != name ("name") - optional field:
|
|
277
|
+
* name: Schema.optionalWith(Schema.String, { nullable: true }).pipe(Schema.fromKey("Name"))
|
|
296
278
|
*/
|
|
297
|
-
const getPropertyFieldDefinition = (prop, schemaType) => {
|
|
279
|
+
const getPropertyFieldDefinition = (prop, schemaType, isOptional) => {
|
|
298
280
|
// If OData name matches TypeScript name, use simple format
|
|
299
281
|
if (prop.odataName === prop.name) {
|
|
300
282
|
return `${prop.name}: ${schemaType}`;
|
|
301
283
|
}
|
|
302
|
-
//
|
|
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
|
|
303
289
|
return `${prop.name}: Schema.propertySignature(${schemaType}).pipe(Schema.fromKey("${prop.odataName}"))`;
|
|
304
290
|
};
|
|
305
291
|
/**
|
|
@@ -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","getNeededEffectTypeImports","needed","checkTsType","tsType","generateModels","lines","Array","from","map","serviceName","effectTypeImports","effectType","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","schemaType","isNullable","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","makeOptional","isCollection"],"sources":["../../../src/generator/ModelsGenerator.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -140,7 +140,7 @@ const generatePathBuildersFile = (dataModel, esmExtensions) => {
|
|
|
140
140
|
// Imports
|
|
141
141
|
lines.push(`import { ${versionConfig.odataNamespace} } from "@odata-effect/odata-effect"`);
|
|
142
142
|
lines.push(`import { toPromise } from "@odata-effect/odata-effect-promise"`);
|
|
143
|
-
lines.push(`import type {
|
|
143
|
+
lines.push(`import type { Schema } from "effect"`);
|
|
144
144
|
lines.push(``);
|
|
145
145
|
// Import model types with Model suffix to avoid collision with entity set names
|
|
146
146
|
if (referencedTypes.size > 0) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NavigationGenerator.js","names":["_NamingHelper","require","V2_CONFIG","odataNamespace","clientModule","queryOptionsType","V4_CONFIG","getVersionConfig","version","getPathBuildersModuleName","exports","collectAllNavigationProperties","dataModel","navProps","entityType","entityTypes","values","navProp","navigationProperties","targetTypeName","getClassName","targetType","push","propertyName","name","odataName","sourceEntityName","targetEntityName","isCollection","findCollisions","collisions","Set","seen","Map","prop","existing","get","add","set","getNavFunctionName","hasCollision","toCamelCase","getDerivedTypes","baseTypeFqName","derived","baseType","furtherDerived","fqName","d","generateNavigations","options","esmExtensions","moduleName","content","generatePathBuildersFile","navigationFiles","fileName","lines","versionConfig","allNavProps","referencedTypes","collectReferencedTypes","size","typesList","Array","from","sort","i","length","isLast","formatRelativeImport","entitySet","entitySets","entityTypeFqName","navPropsBySource","sourceEntity","props","has","fnName","castFunctions","generateTypeCastFunctions","castFunction","join","processed","derivedTypes","castPath","namespace","types"],"sources":["../../../src/generator/NavigationGenerator.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"NavigationGenerator.js","names":["_NamingHelper","require","V2_CONFIG","odataNamespace","clientModule","queryOptionsType","V4_CONFIG","getVersionConfig","version","getPathBuildersModuleName","exports","collectAllNavigationProperties","dataModel","navProps","entityType","entityTypes","values","navProp","navigationProperties","targetTypeName","getClassName","targetType","push","propertyName","name","odataName","sourceEntityName","targetEntityName","isCollection","findCollisions","collisions","Set","seen","Map","prop","existing","get","add","set","getNavFunctionName","hasCollision","toCamelCase","getDerivedTypes","baseTypeFqName","derived","baseType","furtherDerived","fqName","d","generateNavigations","options","esmExtensions","moduleName","content","generatePathBuildersFile","navigationFiles","fileName","lines","versionConfig","allNavProps","referencedTypes","collectReferencedTypes","size","typesList","Array","from","sort","i","length","isLast","formatRelativeImport","entitySet","entitySets","entityTypeFqName","navPropsBySource","sourceEntity","props","has","fnName","castFunctions","generateTypeCastFunctions","castFunction","join","processed","derivedTypes","castPath","namespace","types"],"sources":["../../../src/generator/NavigationGenerator.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -121,7 +121,6 @@ const generateIdToKeyFunction = (entityType, version) => {
|
|
|
121
121
|
if (entityType.keys.length === 1) {
|
|
122
122
|
const keyProp = entityType.keys[0];
|
|
123
123
|
const keyTsType = keyProp.typeMapping.tsType;
|
|
124
|
-
const primitiveCheck = keyTsType === "number" ? "number" : "string";
|
|
125
124
|
if (isV4) {
|
|
126
125
|
// V4 can use number keys directly
|
|
127
126
|
if (keyTsType === "number") {
|
|
@@ -130,18 +129,16 @@ const generateIdToKeyFunction = (entityType, version) => {
|
|
|
130
129
|
return `(id: ${idTypeName}) => typeof id === "string" ? { ${keyProp.odataName}: id } : { ${keyProp.odataName}: id.${keyProp.name} }`;
|
|
131
130
|
}
|
|
132
131
|
} else {
|
|
133
|
-
// V2
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
} else {
|
|
137
|
-
// Composite key
|
|
138
|
-
const keyMapping = entityType.keys.map(k => {
|
|
139
|
-
if (isV4) {
|
|
140
|
-
return `${k.odataName}: id.${k.name}`;
|
|
132
|
+
// V2 supports both numeric and string keys
|
|
133
|
+
if (keyTsType === "number") {
|
|
134
|
+
return `(id: ${idTypeName}) => typeof id === "number" ? { ${keyProp.odataName}: id } : { ${keyProp.odataName}: id.${keyProp.name} }`;
|
|
141
135
|
} else {
|
|
142
|
-
return
|
|
136
|
+
return `(id: ${idTypeName}) => typeof id === "string" ? { ${keyProp.odataName}: id } : { ${keyProp.odataName}: id.${keyProp.name} }`;
|
|
143
137
|
}
|
|
144
|
-
}
|
|
138
|
+
}
|
|
139
|
+
} else {
|
|
140
|
+
// Composite key - both V2 and V4 can use native types
|
|
141
|
+
const keyMapping = entityType.keys.map(k => `${k.odataName}: id.${k.name}`).join(", ");
|
|
145
142
|
return `(id: ${idTypeName}) => ({ ${keyMapping} })`;
|
|
146
143
|
}
|
|
147
144
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ServiceFnGenerator.js","names":["_NamingHelper","require","generateServiceFns","dataModel","options","esmExtensions","content","generateServicesFile","servicesFile","fileName","exports","lines","isV4","version","crudImportPath","entitySets","entitySet","values","entityType","entityTypes","get","entityTypeFqName","push","serviceName","modelImports","name","keys","length","getIdTypeName","getEditableTypeName","i","isLast","formatRelativeImport","serviceClassName","getServiceClassName","entityName","editableName","hasKeys","generateIdToKeyFunction","join","idTypeName","keyProp","keyTsType","typeMapping","tsType","
|
|
1
|
+
{"version":3,"file":"ServiceFnGenerator.js","names":["_NamingHelper","require","generateServiceFns","dataModel","options","esmExtensions","content","generateServicesFile","servicesFile","fileName","exports","lines","isV4","version","crudImportPath","entitySets","entitySet","values","entityType","entityTypes","get","entityTypeFqName","push","serviceName","modelImports","name","keys","length","getIdTypeName","getEditableTypeName","i","isLast","formatRelativeImport","serviceClassName","getServiceClassName","entityName","editableName","hasKeys","generateIdToKeyFunction","join","idTypeName","keyProp","keyTsType","typeMapping","tsType","odataName","keyMapping","map","k"],"sources":["../../../src/generator/ServiceFnGenerator.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModelsGenerator.d.ts","sourceRoot":"","sources":["../../../src/generator/ModelsGenerator.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAEV,SAAS,EAKV,MAAM,uBAAuB,CAAA;
|
|
1
|
+
{"version":3,"file":"ModelsGenerator.d.ts","sourceRoot":"","sources":["../../../src/generator/ModelsGenerator.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAEV,SAAS,EAKV,MAAM,uBAAuB,CAAA;AA2F9B;;;;;GAKG;AACH,eAAO,MAAM,cAAc,GAAI,WAAW,SAAS,KAAG,MAoDrD,CAAA"}
|
|
@@ -65,28 +65,6 @@ const needsODataSchemaImport = dataModel => {
|
|
|
65
65
|
}
|
|
66
66
|
return false;
|
|
67
67
|
};
|
|
68
|
-
/**
|
|
69
|
-
* Check which Effect type imports are needed based on tsType usage.
|
|
70
|
-
*/
|
|
71
|
-
const getNeededEffectTypeImports = dataModel => {
|
|
72
|
-
const needed = new Set();
|
|
73
|
-
const checkTsType = tsType => {
|
|
74
|
-
if (tsType.startsWith("DateTime.")) needed.add("DateTime");
|
|
75
|
-
if (tsType.startsWith("BigDecimal.")) needed.add("BigDecimal");
|
|
76
|
-
if (tsType.startsWith("Duration.")) needed.add("Duration");
|
|
77
|
-
};
|
|
78
|
-
for (const type of dataModel.entityTypes.values()) {
|
|
79
|
-
for (const prop of type.properties) {
|
|
80
|
-
checkTsType(prop.typeMapping.tsType);
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
for (const type of dataModel.complexTypes.values()) {
|
|
84
|
-
for (const prop of type.properties) {
|
|
85
|
-
checkTsType(prop.typeMapping.tsType);
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
return needed;
|
|
89
|
-
};
|
|
90
68
|
/**
|
|
91
69
|
* Generate the Models.ts file content.
|
|
92
70
|
*
|
|
@@ -106,11 +84,6 @@ export const generateModels = dataModel => {
|
|
|
106
84
|
lines.push(` * @since 1.0.0`);
|
|
107
85
|
lines.push(` */`);
|
|
108
86
|
lines.push(`import * as Schema from "effect/Schema"`);
|
|
109
|
-
// Add Effect type imports if needed (for DateTime, BigDecimal, Duration)
|
|
110
|
-
const effectTypeImports = getNeededEffectTypeImports(dataModel);
|
|
111
|
-
for (const effectType of effectTypeImports) {
|
|
112
|
-
lines.push(`import type * as ${effectType} from "effect/${effectType}"`);
|
|
113
|
-
}
|
|
114
87
|
// Add ODataSchema import if needed
|
|
115
88
|
if (needsODataSchemaImport(dataModel)) {
|
|
116
89
|
lines.push(`import { ODataSchema } from "@odata-effect/odata-effect"`);
|
|
@@ -250,9 +223,10 @@ const generateSchemaFields = (properties, _navigationProperties, _dataModel) =>
|
|
|
250
223
|
const fields = [];
|
|
251
224
|
for (let i = 0; i < properties.length; i++) {
|
|
252
225
|
const prop = properties[i];
|
|
253
|
-
const
|
|
226
|
+
const isOptional = prop.isNullable && !prop.isKey;
|
|
227
|
+
const schemaType = getPropertySchemaType(prop, isOptional);
|
|
254
228
|
const isLast = i === properties.length - 1;
|
|
255
|
-
const fieldDef = getPropertyFieldDefinition(prop, schemaType);
|
|
229
|
+
const fieldDef = getPropertyFieldDefinition(prop, schemaType, isOptional);
|
|
256
230
|
fields.push(`${fieldDef}${isLast ? "" : ","}`);
|
|
257
231
|
}
|
|
258
232
|
// Navigation properties are intentionally excluded from Schema.Class
|
|
@@ -266,9 +240,10 @@ const generateEditableSchemaFields = properties => {
|
|
|
266
240
|
const fields = [];
|
|
267
241
|
for (let i = 0; i < properties.length; i++) {
|
|
268
242
|
const prop = properties[i];
|
|
269
|
-
const
|
|
243
|
+
const isOptional = prop.isNullable;
|
|
244
|
+
const schemaType = getPropertySchemaType(prop, isOptional);
|
|
270
245
|
const isLast = i === properties.length - 1;
|
|
271
|
-
const fieldDef = getPropertyFieldDefinition(prop, schemaType);
|
|
246
|
+
const fieldDef = getPropertyFieldDefinition(prop, schemaType, isOptional);
|
|
272
247
|
fields.push(`${fieldDef}${isLast ? "" : ","}`);
|
|
273
248
|
}
|
|
274
249
|
return fields;
|
|
@@ -277,22 +252,33 @@ const generateEditableSchemaFields = properties => {
|
|
|
277
252
|
* Get a complete property field definition including fromKey mapping if needed.
|
|
278
253
|
*
|
|
279
254
|
* When the OData property name differs from the TypeScript property name,
|
|
280
|
-
* we use Schema.
|
|
281
|
-
*
|
|
255
|
+
* we use Schema.fromKey to map between them.
|
|
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.
|
|
282
261
|
*
|
|
283
262
|
* @example
|
|
284
263
|
* // When odataName == name:
|
|
285
264
|
* name: Schema.String
|
|
286
265
|
*
|
|
287
|
-
* // When odataName ("ID") != name ("id"):
|
|
266
|
+
* // When odataName ("ID") != name ("id") - required field:
|
|
288
267
|
* id: Schema.propertySignature(Schema.Number).pipe(Schema.fromKey("ID"))
|
|
268
|
+
*
|
|
269
|
+
* // When odataName ("Name") != name ("name") - optional field:
|
|
270
|
+
* name: Schema.optionalWith(Schema.String, { nullable: true }).pipe(Schema.fromKey("Name"))
|
|
289
271
|
*/
|
|
290
|
-
const getPropertyFieldDefinition = (prop, schemaType) => {
|
|
272
|
+
const getPropertyFieldDefinition = (prop, schemaType, isOptional) => {
|
|
291
273
|
// If OData name matches TypeScript name, use simple format
|
|
292
274
|
if (prop.odataName === prop.name) {
|
|
293
275
|
return `${prop.name}: ${schemaType}`;
|
|
294
276
|
}
|
|
295
|
-
//
|
|
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
|
|
296
282
|
return `${prop.name}: Schema.propertySignature(${schemaType}).pipe(Schema.fromKey("${prop.odataName}"))`;
|
|
297
283
|
};
|
|
298
284
|
/**
|
|
@@ -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","getNeededEffectTypeImports","needed","checkTsType","tsType","generateModels","lines","Array","from","map","serviceName","effectTypeImports","effectType","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","schemaType","isNullable","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","makeOptional","isCollection"],"sources":["../../../src/generator/ModelsGenerator.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -132,7 +132,7 @@ const generatePathBuildersFile = (dataModel, esmExtensions) => {
|
|
|
132
132
|
// Imports
|
|
133
133
|
lines.push(`import { ${versionConfig.odataNamespace} } from "@odata-effect/odata-effect"`);
|
|
134
134
|
lines.push(`import { toPromise } from "@odata-effect/odata-effect-promise"`);
|
|
135
|
-
lines.push(`import type {
|
|
135
|
+
lines.push(`import type { Schema } from "effect"`);
|
|
136
136
|
lines.push(``);
|
|
137
137
|
// Import model types with Model suffix to avoid collision with entity set names
|
|
138
138
|
if (referencedTypes.size > 0) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NavigationGenerator.js","names":["formatRelativeImport","getClassName","toCamelCase","V2_CONFIG","odataNamespace","clientModule","queryOptionsType","V4_CONFIG","getVersionConfig","version","getPathBuildersModuleName","collectAllNavigationProperties","dataModel","navProps","entityType","entityTypes","values","navProp","navigationProperties","targetTypeName","targetType","push","propertyName","name","odataName","sourceEntityName","targetEntityName","isCollection","findCollisions","collisions","Set","seen","Map","prop","existing","get","add","set","getNavFunctionName","hasCollision","getDerivedTypes","baseTypeFqName","derived","baseType","furtherDerived","fqName","d","generateNavigations","options","esmExtensions","moduleName","content","generatePathBuildersFile","navigationFiles","fileName","lines","versionConfig","allNavProps","referencedTypes","collectReferencedTypes","size","typesList","Array","from","sort","i","length","isLast","entitySet","entitySets","entityTypeFqName","navPropsBySource","sourceEntity","props","has","fnName","castFunctions","generateTypeCastFunctions","castFunction","join","processed","derivedTypes","castPath","namespace","types"],"sources":["../../../src/generator/NavigationGenerator.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"NavigationGenerator.js","names":["formatRelativeImport","getClassName","toCamelCase","V2_CONFIG","odataNamespace","clientModule","queryOptionsType","V4_CONFIG","getVersionConfig","version","getPathBuildersModuleName","collectAllNavigationProperties","dataModel","navProps","entityType","entityTypes","values","navProp","navigationProperties","targetTypeName","targetType","push","propertyName","name","odataName","sourceEntityName","targetEntityName","isCollection","findCollisions","collisions","Set","seen","Map","prop","existing","get","add","set","getNavFunctionName","hasCollision","getDerivedTypes","baseTypeFqName","derived","baseType","furtherDerived","fqName","d","generateNavigations","options","esmExtensions","moduleName","content","generatePathBuildersFile","navigationFiles","fileName","lines","versionConfig","allNavProps","referencedTypes","collectReferencedTypes","size","typesList","Array","from","sort","i","length","isLast","entitySet","entitySets","entityTypeFqName","navPropsBySource","sourceEntity","props","has","fnName","castFunctions","generateTypeCastFunctions","castFunction","join","processed","derivedTypes","castPath","namespace","types"],"sources":["../../../src/generator/NavigationGenerator.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -114,7 +114,6 @@ const generateIdToKeyFunction = (entityType, version) => {
|
|
|
114
114
|
if (entityType.keys.length === 1) {
|
|
115
115
|
const keyProp = entityType.keys[0];
|
|
116
116
|
const keyTsType = keyProp.typeMapping.tsType;
|
|
117
|
-
const primitiveCheck = keyTsType === "number" ? "number" : "string";
|
|
118
117
|
if (isV4) {
|
|
119
118
|
// V4 can use number keys directly
|
|
120
119
|
if (keyTsType === "number") {
|
|
@@ -123,18 +122,16 @@ const generateIdToKeyFunction = (entityType, version) => {
|
|
|
123
122
|
return `(id: ${idTypeName}) => typeof id === "string" ? { ${keyProp.odataName}: id } : { ${keyProp.odataName}: id.${keyProp.name} }`;
|
|
124
123
|
}
|
|
125
124
|
} else {
|
|
126
|
-
// V2
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
} else {
|
|
130
|
-
// Composite key
|
|
131
|
-
const keyMapping = entityType.keys.map(k => {
|
|
132
|
-
if (isV4) {
|
|
133
|
-
return `${k.odataName}: id.${k.name}`;
|
|
125
|
+
// V2 supports both numeric and string keys
|
|
126
|
+
if (keyTsType === "number") {
|
|
127
|
+
return `(id: ${idTypeName}) => typeof id === "number" ? { ${keyProp.odataName}: id } : { ${keyProp.odataName}: id.${keyProp.name} }`;
|
|
134
128
|
} else {
|
|
135
|
-
return
|
|
129
|
+
return `(id: ${idTypeName}) => typeof id === "string" ? { ${keyProp.odataName}: id } : { ${keyProp.odataName}: id.${keyProp.name} }`;
|
|
136
130
|
}
|
|
137
|
-
}
|
|
131
|
+
}
|
|
132
|
+
} else {
|
|
133
|
+
// Composite key - both V2 and V4 can use native types
|
|
134
|
+
const keyMapping = entityType.keys.map(k => `${k.odataName}: id.${k.name}`).join(", ");
|
|
138
135
|
return `(id: ${idTypeName}) => ({ ${keyMapping} })`;
|
|
139
136
|
}
|
|
140
137
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ServiceFnGenerator.js","names":["formatRelativeImport","getEditableTypeName","getIdTypeName","getServiceClassName","generateServiceFns","dataModel","options","esmExtensions","content","generateServicesFile","servicesFile","fileName","lines","isV4","version","crudImportPath","entitySets","entitySet","values","entityType","entityTypes","get","entityTypeFqName","push","serviceName","modelImports","name","keys","length","i","isLast","serviceClassName","entityName","editableName","hasKeys","generateIdToKeyFunction","join","idTypeName","keyProp","keyTsType","typeMapping","tsType","
|
|
1
|
+
{"version":3,"file":"ServiceFnGenerator.js","names":["formatRelativeImport","getEditableTypeName","getIdTypeName","getServiceClassName","generateServiceFns","dataModel","options","esmExtensions","content","generateServicesFile","servicesFile","fileName","lines","isV4","version","crudImportPath","entitySets","entitySet","values","entityType","entityTypes","get","entityTypeFqName","push","serviceName","modelImports","name","keys","length","i","isLast","serviceClassName","entityName","editableName","hasKeys","generateIdToKeyFunction","join","idTypeName","keyProp","keyTsType","typeMapping","tsType","odataName","keyMapping","map","k"],"sources":["../../../src/generator/ServiceFnGenerator.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -101,32 +101,6 @@ const needsODataSchemaImport = (dataModel: DataModel): boolean => {
|
|
|
101
101
|
return false
|
|
102
102
|
}
|
|
103
103
|
|
|
104
|
-
/**
|
|
105
|
-
* Check which Effect type imports are needed based on tsType usage.
|
|
106
|
-
*/
|
|
107
|
-
const getNeededEffectTypeImports = (dataModel: DataModel): Set<string> => {
|
|
108
|
-
const needed = new Set<string>()
|
|
109
|
-
|
|
110
|
-
const checkTsType = (tsType: string): void => {
|
|
111
|
-
if (tsType.startsWith("DateTime.")) needed.add("DateTime")
|
|
112
|
-
if (tsType.startsWith("BigDecimal.")) needed.add("BigDecimal")
|
|
113
|
-
if (tsType.startsWith("Duration.")) needed.add("Duration")
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
for (const type of dataModel.entityTypes.values()) {
|
|
117
|
-
for (const prop of type.properties) {
|
|
118
|
-
checkTsType(prop.typeMapping.tsType)
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
for (const type of dataModel.complexTypes.values()) {
|
|
122
|
-
for (const prop of type.properties) {
|
|
123
|
-
checkTsType(prop.typeMapping.tsType)
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
return needed
|
|
128
|
-
}
|
|
129
|
-
|
|
130
104
|
/**
|
|
131
105
|
* Generate the Models.ts file content.
|
|
132
106
|
*
|
|
@@ -149,12 +123,6 @@ export const generateModels = (dataModel: DataModel): string => {
|
|
|
149
123
|
lines.push(` */`)
|
|
150
124
|
lines.push(`import * as Schema from "effect/Schema"`)
|
|
151
125
|
|
|
152
|
-
// Add Effect type imports if needed (for DateTime, BigDecimal, Duration)
|
|
153
|
-
const effectTypeImports = getNeededEffectTypeImports(dataModel)
|
|
154
|
-
for (const effectType of effectTypeImports) {
|
|
155
|
-
lines.push(`import type * as ${effectType} from "effect/${effectType}"`)
|
|
156
|
-
}
|
|
157
|
-
|
|
158
126
|
// Add ODataSchema import if needed
|
|
159
127
|
if (needsODataSchemaImport(dataModel)) {
|
|
160
128
|
lines.push(`import { ODataSchema } from "@odata-effect/odata-effect"`)
|
|
@@ -343,9 +311,10 @@ const generateSchemaFields = (
|
|
|
343
311
|
|
|
344
312
|
for (let i = 0; i < properties.length; i++) {
|
|
345
313
|
const prop = properties[i]
|
|
346
|
-
const
|
|
314
|
+
const isOptional = prop.isNullable && !prop.isKey
|
|
315
|
+
const schemaType = getPropertySchemaType(prop, isOptional)
|
|
347
316
|
const isLast = i === properties.length - 1
|
|
348
|
-
const fieldDef = getPropertyFieldDefinition(prop, schemaType)
|
|
317
|
+
const fieldDef = getPropertyFieldDefinition(prop, schemaType, isOptional)
|
|
349
318
|
fields.push(`${fieldDef}${isLast ? "" : ","}`)
|
|
350
319
|
}
|
|
351
320
|
|
|
@@ -365,9 +334,10 @@ const generateEditableSchemaFields = (
|
|
|
365
334
|
|
|
366
335
|
for (let i = 0; i < properties.length; i++) {
|
|
367
336
|
const prop = properties[i]
|
|
368
|
-
const
|
|
337
|
+
const isOptional = prop.isNullable
|
|
338
|
+
const schemaType = getPropertySchemaType(prop, isOptional)
|
|
369
339
|
const isLast = i === properties.length - 1
|
|
370
|
-
const fieldDef = getPropertyFieldDefinition(prop, schemaType)
|
|
340
|
+
const fieldDef = getPropertyFieldDefinition(prop, schemaType, isOptional)
|
|
371
341
|
fields.push(`${fieldDef}${isLast ? "" : ","}`)
|
|
372
342
|
}
|
|
373
343
|
|
|
@@ -378,26 +348,39 @@ const generateEditableSchemaFields = (
|
|
|
378
348
|
* Get a complete property field definition including fromKey mapping if needed.
|
|
379
349
|
*
|
|
380
350
|
* When the OData property name differs from the TypeScript property name,
|
|
381
|
-
* we use Schema.
|
|
382
|
-
*
|
|
351
|
+
* we use Schema.fromKey to map between them.
|
|
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.
|
|
383
357
|
*
|
|
384
358
|
* @example
|
|
385
359
|
* // When odataName == name:
|
|
386
360
|
* name: Schema.String
|
|
387
361
|
*
|
|
388
|
-
* // When odataName ("ID") != name ("id"):
|
|
362
|
+
* // When odataName ("ID") != name ("id") - required field:
|
|
389
363
|
* id: Schema.propertySignature(Schema.Number).pipe(Schema.fromKey("ID"))
|
|
364
|
+
*
|
|
365
|
+
* // When odataName ("Name") != name ("name") - optional field:
|
|
366
|
+
* name: Schema.optionalWith(Schema.String, { nullable: true }).pipe(Schema.fromKey("Name"))
|
|
390
367
|
*/
|
|
391
368
|
const getPropertyFieldDefinition = (
|
|
392
369
|
prop: PropertyModel,
|
|
393
|
-
schemaType: string
|
|
370
|
+
schemaType: string,
|
|
371
|
+
isOptional: boolean
|
|
394
372
|
): string => {
|
|
395
373
|
// If OData name matches TypeScript name, use simple format
|
|
396
374
|
if (prop.odataName === prop.name) {
|
|
397
375
|
return `${prop.name}: ${schemaType}`
|
|
398
376
|
}
|
|
399
377
|
|
|
400
|
-
//
|
|
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
|
|
401
384
|
return `${prop.name}: Schema.propertySignature(${schemaType}).pipe(Schema.fromKey("${prop.odataName}"))`
|
|
402
385
|
}
|
|
403
386
|
|
|
@@ -242,7 +242,7 @@ const generatePathBuildersFile = (dataModel: DataModel, esmExtensions: boolean):
|
|
|
242
242
|
// Imports
|
|
243
243
|
lines.push(`import { ${versionConfig.odataNamespace} } from "@odata-effect/odata-effect"`)
|
|
244
244
|
lines.push(`import { toPromise } from "@odata-effect/odata-effect-promise"`)
|
|
245
|
-
lines.push(`import type {
|
|
245
|
+
lines.push(`import type { Schema } from "effect"`)
|
|
246
246
|
lines.push(``)
|
|
247
247
|
|
|
248
248
|
// Import model types with Model suffix to avoid collision with entity set names
|
|
@@ -177,7 +177,6 @@ const generateIdToKeyFunction = (
|
|
|
177
177
|
if (entityType.keys.length === 1) {
|
|
178
178
|
const keyProp = entityType.keys[0]
|
|
179
179
|
const keyTsType = keyProp.typeMapping.tsType
|
|
180
|
-
const primitiveCheck = keyTsType === "number" ? "number" : "string"
|
|
181
180
|
|
|
182
181
|
if (isV4) {
|
|
183
182
|
// V4 can use number keys directly
|
|
@@ -187,19 +186,16 @@ const generateIdToKeyFunction = (
|
|
|
187
186
|
return `(id: ${idTypeName}) => typeof id === "string" ? { ${keyProp.odataName}: id } : { ${keyProp.odataName}: id.${keyProp.name} }`
|
|
188
187
|
}
|
|
189
188
|
} else {
|
|
190
|
-
// V2
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
} else {
|
|
194
|
-
// Composite key
|
|
195
|
-
const keyMapping = entityType.keys.map((k) => {
|
|
196
|
-
if (isV4) {
|
|
197
|
-
return `${k.odataName}: id.${k.name}`
|
|
189
|
+
// V2 supports both numeric and string keys
|
|
190
|
+
if (keyTsType === "number") {
|
|
191
|
+
return `(id: ${idTypeName}) => typeof id === "number" ? { ${keyProp.odataName}: id } : { ${keyProp.odataName}: id.${keyProp.name} }`
|
|
198
192
|
} else {
|
|
199
|
-
return
|
|
193
|
+
return `(id: ${idTypeName}) => typeof id === "string" ? { ${keyProp.odataName}: id } : { ${keyProp.odataName}: id.${keyProp.name} }`
|
|
200
194
|
}
|
|
201
|
-
}
|
|
202
|
-
|
|
195
|
+
}
|
|
196
|
+
} else {
|
|
197
|
+
// Composite key - both V2 and V4 can use native types
|
|
198
|
+
const keyMapping = entityType.keys.map((k) => `${k.odataName}: id.${k.name}`).join(", ")
|
|
203
199
|
return `(id: ${idTypeName}) => ({ ${keyMapping} })`
|
|
204
200
|
}
|
|
205
201
|
}
|