Skip to content

Commit f28b392

Browse files
committed
fix duplicate export model, export services
1 parent 3936e70 commit f28b392

File tree

3 files changed

+21
-8
lines changed

3 files changed

+21
-8
lines changed

src/templates/index.hbs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ export type { OpenAPIConfig } from './core/OpenAPI';
1515
{{/if}}
1616
{{#if @root.exportModels}}
1717
{{#if models}}
18-
1918
{{#each models}}
2019
{{#if @root.useUnionTypes}}
2120
export type { {{{name}}}{{#if @root.postfixModels}} as {{{name}}}{{{@root.postfixModels}}}{{/if}} } from './models/{{{name}}}';
@@ -29,6 +28,7 @@ export type { {{{name}}}{{#if @root.postfixModels}} as {{{name}}}{{{@root.postfi
2928
{{/each}}
3029
{{/if}}
3130
{{/if}}
31+
3232
{{#if @root.exportSchemas}}
3333
{{#if models}}
3434

@@ -41,7 +41,7 @@ export { ${{{name}}} } from './schemas/${{{name}}}';
4141
{{#if services}}
4242

4343
{{#each services}}
44-
export { {{{name}}}{{{@root.postfixServices}}} } from './services/{{{name}}}{{{@root.postfixServices}}}';
44+
export { actionCreators as {{{name}}}{{{@root.postfixServices}}}Actions } from './store/{{{name}}}{{{@root.postfixServices}}}';
4545
{{/each}}
4646
{{/if}}
4747
{{/if}}

src/utils/sortModelsByName.ts

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,20 @@
11
import type { Model } from '../client/interfaces/Model';
22

33
export const sortModelsByName = (models: Model[]): Model[] => {
4-
return models.sort((a, b) => {
5-
const nameA = a.name.toLowerCase();
6-
const nameB = b.name.toLowerCase();
7-
return nameA.localeCompare(nameB, 'en');
8-
});
4+
const seen = new Set();
5+
6+
return models
7+
.filter(model => {
8+
const key = model.name + '|' + model.export;
9+
if (seen.has(key)) {
10+
return false;
11+
}
12+
seen.add(key);
13+
return true;
14+
})
15+
.sort((a, b) => {
16+
const nameA = a.name.toLowerCase();
17+
const nameB = b.name.toLowerCase();
18+
return nameA.localeCompare(nameB, 'en');
19+
});
920
};

src/utils/writeClientIndex.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,8 @@ export const writeClientIndex = async (
3636
postfixModels: string,
3737
clientName?: string
3838
): Promise<void> => {
39+
const models = sortModelsByName(client.models);
40+
3941
const templateResult = templates.index({
4042
exportCore,
4143
exportServices,
@@ -47,7 +49,7 @@ export const writeClientIndex = async (
4749
clientName,
4850
server: client.server,
4951
version: client.version,
50-
models: sortModelsByName(client.models),
52+
models: models,
5153
services: sortServicesByName(client.services),
5254
exportClient: isDefined(clientName),
5355
});

0 commit comments

Comments
 (0)