@forestadmin/datasource-customizer 1.11.0 → 1.12.0
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.
|
@@ -10,6 +10,7 @@ export default class TypingGenerator {
|
|
|
10
10
|
* Generates types on a string.
|
|
11
11
|
*/
|
|
12
12
|
static generateTypes(dataSource: DataSource, maxDepth: number): string;
|
|
13
|
+
private static generateAliases;
|
|
13
14
|
private static getRow;
|
|
14
15
|
private static getRelations;
|
|
15
16
|
private static getFlatRelations;
|
package/dist/typing-generator.js
CHANGED
|
@@ -31,6 +31,17 @@ class TypingGenerator {
|
|
|
31
31
|
const collections = [...dataSource.collections].sort((a, b) => a.name.localeCompare(b.name));
|
|
32
32
|
return [
|
|
33
33
|
`/* eslint-disable */`,
|
|
34
|
+
`import {`,
|
|
35
|
+
` CollectionCustomizer,`,
|
|
36
|
+
` TAggregation,`,
|
|
37
|
+
` TConditionTree,`,
|
|
38
|
+
` TPaginatedFilter,`,
|
|
39
|
+
` TPartialRow,`,
|
|
40
|
+
` TSortClause`,
|
|
41
|
+
`} from '@forestadmin/agent';`,
|
|
42
|
+
'',
|
|
43
|
+
this.generateAliases(dataSource),
|
|
44
|
+
'',
|
|
34
45
|
'export type Schema = {',
|
|
35
46
|
...collections.map(collection => [
|
|
36
47
|
` '${collection.name}': {`,
|
|
@@ -42,6 +53,24 @@ class TypingGenerator {
|
|
|
42
53
|
'};\n',
|
|
43
54
|
].join('\n');
|
|
44
55
|
}
|
|
56
|
+
static generateAliases(dataSource) {
|
|
57
|
+
return dataSource.collections
|
|
58
|
+
.flatMap(collection => {
|
|
59
|
+
const name = collection.name.slice(0, 1).toUpperCase() +
|
|
60
|
+
collection.name.slice(1).replace(/_[a-z]/g, match => match.slice(1).toUpperCase());
|
|
61
|
+
return [
|
|
62
|
+
// eslint-disable-next-line max-len
|
|
63
|
+
`export type ${name}Customizer = CollectionCustomizer<Schema, '${collection.name}'>;`,
|
|
64
|
+
`export type ${name}Record = TPartialRow<Schema, '${collection.name}'>;`,
|
|
65
|
+
`export type ${name}ConditionTree = TConditionTree<Schema, '${collection.name}'>;`,
|
|
66
|
+
`export type ${name}Filter = TPaginatedFilter<Schema, '${collection.name}'>;`,
|
|
67
|
+
`export type ${name}SortClause = TSortClause<Schema, '${collection.name}'>;`,
|
|
68
|
+
`export type ${name}Aggregation = TAggregation<Schema, '${collection.name}'>;`,
|
|
69
|
+
'',
|
|
70
|
+
];
|
|
71
|
+
})
|
|
72
|
+
.join('\n');
|
|
73
|
+
}
|
|
45
74
|
static getRow(collection) {
|
|
46
75
|
const content = Object.entries(collection.schema.fields).reduce((memo, [name, field]) => {
|
|
47
76
|
return field.type === 'Column' ? [...memo, ` '${name}': ${this.getType(field)};`] : memo;
|
|
@@ -124,4 +153,4 @@ class TypingGenerator {
|
|
|
124
153
|
}
|
|
125
154
|
}
|
|
126
155
|
exports.default = TypingGenerator;
|
|
127
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
156
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwaW5nLWdlbmVyYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy90eXBpbmctZ2VuZXJhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsd0VBTXlDO0FBQ3pDLDBDQUFrRDtBQUVsRCxNQUFxQixlQUFlO0lBQ2xDOzs7O09BSUc7SUFDSCxNQUFNLENBQUMsS0FBSyxDQUFDLHVCQUF1QixDQUNsQyxVQUFzQixFQUN0QixXQUFtQixFQUNuQixlQUF1QjtRQUV2QixNQUFNLFFBQVEsR0FBRyxlQUFlLENBQUMsYUFBYSxDQUFDLFVBQVUsRUFBRSxlQUFlLENBQUMsQ0FBQztRQUM1RSxJQUFJLFVBQVUsR0FBa0IsSUFBSSxDQUFDO1FBRXJDLElBQUk7WUFDRixVQUFVLEdBQUcsTUFBTSxJQUFBLG1CQUFRLEVBQUMsV0FBVyxFQUFFLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7U0FDakU7UUFBQyxPQUFPLENBQUMsRUFBRTtZQUNWLElBQUksQ0FBQyxDQUFDLElBQUksS0FBSyxRQUFRO2dCQUFFLFVBQVUsR0FBRyxJQUFJLENBQUM7O2dCQUN0QyxNQUFNLENBQUMsQ0FBQztTQUNkO1FBRUQsSUFBSSxRQUFRLEtBQUssVUFBVSxFQUFFO1lBQzNCLE1BQU0sSUFBQSxvQkFBUyxFQUFDLFdBQVcsRUFBRSxRQUFRLEVBQUUsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztTQUMvRDtJQUNILENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxhQUFhLENBQUMsVUFBc0IsRUFBRSxRQUFnQjtRQUMzRCxNQUFNLFdBQVcsR0FBRyxDQUFDLEdBQUcsVUFBVSxDQUFDLFdBQVcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBRTdG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
|