@goast/typescript 0.2.4 → 0.2.6
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/cjs/lib/generators/models/model-generator.js +8 -7
- package/cjs/lib/generators/services/fetch-clients/fetch-client-generator.js +2 -3
- package/cjs/lib/generators/services/fetch-clients/fetch-clients-generator.js +13 -27
- package/esm/lib/generators/models/model-generator.js +8 -7
- package/esm/lib/generators/services/fetch-clients/fetch-client-generator.js +2 -3
- package/esm/lib/generators/services/fetch-clients/fetch-clients-generator.js +15 -29
- package/package.json +1 -1
- package/types/lib/generators/models/model-generator.d.ts +4 -1
- package/types/lib/generators/services/fetch-clients/fetch-clients-generator.d.ts +4 -5
- package/types/lib/generators/services/fetch-clients/models.d.ts +3 -3
|
@@ -41,7 +41,7 @@ class DefaultTypeScriptModelGenerator extends file_generator_1.TypeScriptFileGen
|
|
|
41
41
|
content.values.push(this.getEnum(ctx));
|
|
42
42
|
}
|
|
43
43
|
else if (ctx.schema.discriminator && Object.keys(ctx.schema.discriminator.mapping).length > 0) {
|
|
44
|
-
content.values.push(ast_1.ts.typeAlias(this.getDiscriminatorTypeName(ctx, ctx.schema), ast_1.ts.unionType(Object.keys(ctx.schema.discriminator.mapping).map((x) => ast_1.ts.string(x)))), ast_1.ts.typeAlias(this.getBaseTypeName(ctx, ctx.schema), (_a = this.getType(ctx, ctx.schema, true)) !== null && _a !== void 0 ? _a : this.getAnyType(ctx), { export: true }), this.getTypeAlias(ctx, ctx.schema));
|
|
44
|
+
content.values.push(ast_1.ts.typeAlias(this.getDiscriminatorTypeName(ctx, ctx.schema), ast_1.ts.unionType(Object.keys(ctx.schema.discriminator.mapping).map((x) => ast_1.ts.string(x)))), ast_1.ts.typeAlias(this.getBaseTypeName(ctx, ctx.schema), (_a = this.getType(ctx, ctx.schema, { skipSchemas: true })) !== null && _a !== void 0 ? _a : this.getAnyType(ctx), { export: true }), this.getTypeAlias(ctx, ctx.schema));
|
|
45
45
|
}
|
|
46
46
|
else {
|
|
47
47
|
content.values.push(this.getTypeAlias(ctx, ctx.schema));
|
|
@@ -65,7 +65,7 @@ class DefaultTypeScriptModelGenerator extends file_generator_1.TypeScriptFileGen
|
|
|
65
65
|
getTypeAlias(ctx, schema) {
|
|
66
66
|
var _a;
|
|
67
67
|
const isDiscriminated = schema.discriminator && Object.keys(schema.discriminator.mapping).length > 0;
|
|
68
|
-
const result = ast_1.ts.typeAlias(this.getDeclarationTypeName(ctx, schema), (_a = (isDiscriminated ? this.getDiscriminatorType(ctx, schema) : this.getType(ctx, schema, true))) !== null && _a !== void 0 ? _a : this.getAnyType(ctx), {
|
|
68
|
+
const result = ast_1.ts.typeAlias(this.getDeclarationTypeName(ctx, schema), (_a = (isDiscriminated ? this.getDiscriminatorType(ctx, schema) : this.getType(ctx, schema, { skipSchemas: true }))) !== null && _a !== void 0 ? _a : this.getAnyType(ctx), {
|
|
69
69
|
export: true,
|
|
70
70
|
doc: ast_1.ts.doc({ description: schema.description }),
|
|
71
71
|
});
|
|
@@ -94,14 +94,14 @@ class DefaultTypeScriptModelGenerator extends file_generator_1.TypeScriptFileGen
|
|
|
94
94
|
});
|
|
95
95
|
});
|
|
96
96
|
}
|
|
97
|
-
getType(ctx, schema,
|
|
97
|
+
getType(ctx, schema, options) {
|
|
98
98
|
if (!schema)
|
|
99
99
|
return this.getAnyType(ctx);
|
|
100
100
|
schema = (0, core_1.getSchemaReference)(schema, ['description']);
|
|
101
|
-
if (ctx.schema.inheritedSchemas.some((x) => x.id === schema.id)) {
|
|
101
|
+
if ((options === null || options === void 0 ? void 0 : options.useBaseType) && ctx.schema.inheritedSchemas.some((x) => x.id === schema.id)) {
|
|
102
102
|
return ast_1.ts.reference(this.getBaseTypeName(ctx, schema), this.getFilePath(ctx, schema));
|
|
103
103
|
}
|
|
104
|
-
if (!skipSchemas && this.shouldGenerateTypeDeclaration(ctx, schema)) {
|
|
104
|
+
if (!(options === null || options === void 0 ? void 0 : options.skipSchemas) && this.shouldGenerateTypeDeclaration(ctx, schema)) {
|
|
105
105
|
if (schema.id === ctx.schema.id) {
|
|
106
106
|
return null;
|
|
107
107
|
}
|
|
@@ -178,9 +178,10 @@ class DefaultTypeScriptModelGenerator extends file_generator_1.TypeScriptFileGen
|
|
|
178
178
|
if (schema.allOf.length === 0 && schema.anyOf.length === 0) {
|
|
179
179
|
return this.getAnyType(ctx);
|
|
180
180
|
}
|
|
181
|
+
const useBaseType = schema.id === ctx.schema.id;
|
|
181
182
|
return ast_1.ts.intersectionType([
|
|
182
|
-
...schema.allOf.map((x) => this.getType(ctx, x)),
|
|
183
|
-
...schema.anyOf.map((x) => ast_1.ts.reference('Partial', null, { generics: [this.getType(ctx, x)] })),
|
|
183
|
+
...schema.allOf.map((x) => this.getType(ctx, x, { useBaseType })),
|
|
184
|
+
...schema.anyOf.map((x) => ast_1.ts.reference('Partial', null, { generics: [this.getType(ctx, x, { useBaseType })] })),
|
|
184
185
|
]);
|
|
185
186
|
}
|
|
186
187
|
getOneOfType(ctx, schema) {
|
|
@@ -9,7 +9,6 @@ const file_generator_1 = require("../../file-generator");
|
|
|
9
9
|
class DefaultTypeScriptFetchClientGenerator extends file_generator_1.TypeScriptFileGenerator {
|
|
10
10
|
generate(ctx) {
|
|
11
11
|
const result = {};
|
|
12
|
-
let builder;
|
|
13
12
|
if (this.shouldGenerateInterface(ctx)) {
|
|
14
13
|
const filePath = this.getInterfaceFilePath(ctx);
|
|
15
14
|
const name = this.getInterfaceName(ctx);
|
|
@@ -19,7 +18,7 @@ class DefaultTypeScriptFetchClientGenerator extends file_generator_1.TypeScriptF
|
|
|
19
18
|
options: ctx.config,
|
|
20
19
|
generator: (b) => b.append(this.getInterfaceFileContent(ctx)),
|
|
21
20
|
});
|
|
22
|
-
result.interface = { filePath, component: name
|
|
21
|
+
result.interface = { filePath, component: name };
|
|
23
22
|
}
|
|
24
23
|
if (this.shouldGenerateClass(ctx)) {
|
|
25
24
|
const filePath = this.getClassFilePath(ctx);
|
|
@@ -30,7 +29,7 @@ class DefaultTypeScriptFetchClientGenerator extends file_generator_1.TypeScriptF
|
|
|
30
29
|
options: ctx.config,
|
|
31
30
|
generator: (b) => b.append(this.getClassFileContent(ctx)),
|
|
32
31
|
});
|
|
33
|
-
result.class = { filePath, component: name
|
|
32
|
+
result.class = { filePath, component: name };
|
|
34
33
|
}
|
|
35
34
|
return result;
|
|
36
35
|
}
|
|
@@ -7,8 +7,8 @@ const core_1 = require("@goast/core");
|
|
|
7
7
|
const fetch_client_generator_1 = require("./fetch-client-generator");
|
|
8
8
|
const models_1 = require("./models");
|
|
9
9
|
const refs_1 = require("./refs");
|
|
10
|
+
const ast_1 = require("../../../ast");
|
|
10
11
|
const file_builder_1 = require("../../../file-builder");
|
|
11
|
-
const import_collection_1 = require("../../../import-collection");
|
|
12
12
|
class TypeScriptClientsGenerator extends core_1.OpenApiServicesGenerationProviderBase {
|
|
13
13
|
constructor(clientGeneratorFactory) {
|
|
14
14
|
super();
|
|
@@ -43,37 +43,23 @@ class TypeScriptClientsGenerator extends core_1.OpenApiServicesGenerationProvide
|
|
|
43
43
|
ctx.output.clients[service.id] = result;
|
|
44
44
|
}
|
|
45
45
|
generateIndexFile(ctx) {
|
|
46
|
-
if (!this.shouldGenerateIndexFile(ctx)) {
|
|
47
|
-
return undefined;
|
|
48
|
-
}
|
|
49
46
|
const filePath = this.getIndexFilePath(ctx);
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
47
|
+
file_builder_1.TypeScriptFileBuilder.tryGenerate({
|
|
48
|
+
logName: 'clients index file',
|
|
49
|
+
filePath,
|
|
50
|
+
options: ctx.config,
|
|
51
|
+
generator: (b) => b.append(this.getIndexFileContent(ctx)),
|
|
52
|
+
});
|
|
55
53
|
return filePath;
|
|
56
54
|
}
|
|
57
55
|
getIndexFilePath(ctx) {
|
|
58
|
-
|
|
59
|
-
return (0, path_1.resolve)(ctx.config.outputDir, (_a = ctx.config.indexFilePath) !== null && _a !== void 0 ? _a : 'clients.ts');
|
|
56
|
+
return ctx.config.indexFilePath ? (0, path_1.resolve)(ctx.config.outputDir, ctx.config.indexFilePath) : null;
|
|
60
57
|
}
|
|
61
|
-
|
|
62
|
-
return ctx.
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
const exports = new import_collection_1.ImportExportCollection();
|
|
67
|
-
for (const clientId in ctx.output.clients) {
|
|
68
|
-
const client = ctx.output.clients[clientId];
|
|
69
|
-
if ((_a = client.class) === null || _a === void 0 ? void 0 : _a.filePath) {
|
|
70
|
-
exports.addExport(client.class.component, client.class.filePath);
|
|
71
|
-
}
|
|
72
|
-
if ((_b = client.interface) === null || _b === void 0 ? void 0 : _b.filePath) {
|
|
73
|
-
exports.addExport(client.interface.component, client.interface.filePath);
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
exports.writeTo(builder);
|
|
58
|
+
getIndexFileContent(ctx) {
|
|
59
|
+
return (0, core_1.appendValueGroup)(Object.values(ctx.output.clients)
|
|
60
|
+
.flatMap((c) => [c.class, c.interface])
|
|
61
|
+
.filter(core_1.notNullish)
|
|
62
|
+
.map((x) => ast_1.ts.export(x.component, x.filePath)));
|
|
77
63
|
}
|
|
78
64
|
copyUtilsFiles(ctx) {
|
|
79
65
|
const sourceDir = (0, path_1.resolve)((0, path_1.dirname)(require.resolve('@goast/typescript')), '../assets/client/fetch');
|
|
@@ -38,7 +38,7 @@ export class DefaultTypeScriptModelGenerator extends TypeScriptFileGenerator {
|
|
|
38
38
|
content.values.push(this.getEnum(ctx));
|
|
39
39
|
}
|
|
40
40
|
else if (ctx.schema.discriminator && Object.keys(ctx.schema.discriminator.mapping).length > 0) {
|
|
41
|
-
content.values.push(ts.typeAlias(this.getDiscriminatorTypeName(ctx, ctx.schema), ts.unionType(Object.keys(ctx.schema.discriminator.mapping).map((x) => ts.string(x)))), ts.typeAlias(this.getBaseTypeName(ctx, ctx.schema), (_a = this.getType(ctx, ctx.schema, true)) !== null && _a !== void 0 ? _a : this.getAnyType(ctx), { export: true }), this.getTypeAlias(ctx, ctx.schema));
|
|
41
|
+
content.values.push(ts.typeAlias(this.getDiscriminatorTypeName(ctx, ctx.schema), ts.unionType(Object.keys(ctx.schema.discriminator.mapping).map((x) => ts.string(x)))), ts.typeAlias(this.getBaseTypeName(ctx, ctx.schema), (_a = this.getType(ctx, ctx.schema, { skipSchemas: true })) !== null && _a !== void 0 ? _a : this.getAnyType(ctx), { export: true }), this.getTypeAlias(ctx, ctx.schema));
|
|
42
42
|
}
|
|
43
43
|
else {
|
|
44
44
|
content.values.push(this.getTypeAlias(ctx, ctx.schema));
|
|
@@ -62,7 +62,7 @@ export class DefaultTypeScriptModelGenerator extends TypeScriptFileGenerator {
|
|
|
62
62
|
getTypeAlias(ctx, schema) {
|
|
63
63
|
var _a;
|
|
64
64
|
const isDiscriminated = schema.discriminator && Object.keys(schema.discriminator.mapping).length > 0;
|
|
65
|
-
const result = ts.typeAlias(this.getDeclarationTypeName(ctx, schema), (_a = (isDiscriminated ? this.getDiscriminatorType(ctx, schema) : this.getType(ctx, schema, true))) !== null && _a !== void 0 ? _a : this.getAnyType(ctx), {
|
|
65
|
+
const result = ts.typeAlias(this.getDeclarationTypeName(ctx, schema), (_a = (isDiscriminated ? this.getDiscriminatorType(ctx, schema) : this.getType(ctx, schema, { skipSchemas: true }))) !== null && _a !== void 0 ? _a : this.getAnyType(ctx), {
|
|
66
66
|
export: true,
|
|
67
67
|
doc: ts.doc({ description: schema.description }),
|
|
68
68
|
});
|
|
@@ -91,14 +91,14 @@ export class DefaultTypeScriptModelGenerator extends TypeScriptFileGenerator {
|
|
|
91
91
|
});
|
|
92
92
|
});
|
|
93
93
|
}
|
|
94
|
-
getType(ctx, schema,
|
|
94
|
+
getType(ctx, schema, options) {
|
|
95
95
|
if (!schema)
|
|
96
96
|
return this.getAnyType(ctx);
|
|
97
97
|
schema = getSchemaReference(schema, ['description']);
|
|
98
|
-
if (ctx.schema.inheritedSchemas.some((x) => x.id === schema.id)) {
|
|
98
|
+
if ((options === null || options === void 0 ? void 0 : options.useBaseType) && ctx.schema.inheritedSchemas.some((x) => x.id === schema.id)) {
|
|
99
99
|
return ts.reference(this.getBaseTypeName(ctx, schema), this.getFilePath(ctx, schema));
|
|
100
100
|
}
|
|
101
|
-
if (!skipSchemas && this.shouldGenerateTypeDeclaration(ctx, schema)) {
|
|
101
|
+
if (!(options === null || options === void 0 ? void 0 : options.skipSchemas) && this.shouldGenerateTypeDeclaration(ctx, schema)) {
|
|
102
102
|
if (schema.id === ctx.schema.id) {
|
|
103
103
|
return null;
|
|
104
104
|
}
|
|
@@ -175,9 +175,10 @@ export class DefaultTypeScriptModelGenerator extends TypeScriptFileGenerator {
|
|
|
175
175
|
if (schema.allOf.length === 0 && schema.anyOf.length === 0) {
|
|
176
176
|
return this.getAnyType(ctx);
|
|
177
177
|
}
|
|
178
|
+
const useBaseType = schema.id === ctx.schema.id;
|
|
178
179
|
return ts.intersectionType([
|
|
179
|
-
...schema.allOf.map((x) => this.getType(ctx, x)),
|
|
180
|
-
...schema.anyOf.map((x) => ts.reference('Partial', null, { generics: [this.getType(ctx, x)] })),
|
|
180
|
+
...schema.allOf.map((x) => this.getType(ctx, x, { useBaseType })),
|
|
181
|
+
...schema.anyOf.map((x) => ts.reference('Partial', null, { generics: [this.getType(ctx, x, { useBaseType })] })),
|
|
181
182
|
]);
|
|
182
183
|
}
|
|
183
184
|
getOneOfType(ctx, schema) {
|
|
@@ -6,7 +6,6 @@ import { TypeScriptFileGenerator } from '../../file-generator';
|
|
|
6
6
|
export class DefaultTypeScriptFetchClientGenerator extends TypeScriptFileGenerator {
|
|
7
7
|
generate(ctx) {
|
|
8
8
|
const result = {};
|
|
9
|
-
let builder;
|
|
10
9
|
if (this.shouldGenerateInterface(ctx)) {
|
|
11
10
|
const filePath = this.getInterfaceFilePath(ctx);
|
|
12
11
|
const name = this.getInterfaceName(ctx);
|
|
@@ -16,7 +15,7 @@ export class DefaultTypeScriptFetchClientGenerator extends TypeScriptFileGenerat
|
|
|
16
15
|
options: ctx.config,
|
|
17
16
|
generator: (b) => b.append(this.getInterfaceFileContent(ctx)),
|
|
18
17
|
});
|
|
19
|
-
result.interface = { filePath, component: name
|
|
18
|
+
result.interface = { filePath, component: name };
|
|
20
19
|
}
|
|
21
20
|
if (this.shouldGenerateClass(ctx)) {
|
|
22
21
|
const filePath = this.getClassFilePath(ctx);
|
|
@@ -27,7 +26,7 @@ export class DefaultTypeScriptFetchClientGenerator extends TypeScriptFileGenerat
|
|
|
27
26
|
options: ctx.config,
|
|
28
27
|
generator: (b) => b.append(this.getClassFileContent(ctx)),
|
|
29
28
|
});
|
|
30
|
-
result.class = { filePath, component: name
|
|
29
|
+
result.class = { filePath, component: name };
|
|
31
30
|
}
|
|
32
31
|
return result;
|
|
33
32
|
}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { dirname, resolve } from 'path';
|
|
2
|
-
import { ensureDirSync,
|
|
3
|
-
import { OpenApiServicesGenerationProviderBase, Factory } from '@goast/core';
|
|
2
|
+
import { ensureDirSync, copyFileSync, readdirSync } from 'fs-extra';
|
|
3
|
+
import { OpenApiServicesGenerationProviderBase, Factory, appendValueGroup, notNullish, } from '@goast/core';
|
|
4
4
|
import { DefaultTypeScriptFetchClientGenerator } from './fetch-client-generator';
|
|
5
5
|
import { defaultTypeScriptFetchClientsGeneratorConfig, } from './models';
|
|
6
6
|
import { getReferenceFactories } from './refs';
|
|
7
|
+
import { ts } from '../../../ast';
|
|
7
8
|
import { TypeScriptFileBuilder } from '../../../file-builder';
|
|
8
|
-
import { ImportExportCollection } from '../../../import-collection';
|
|
9
9
|
export class TypeScriptClientsGenerator extends OpenApiServicesGenerationProviderBase {
|
|
10
10
|
constructor(clientGeneratorFactory) {
|
|
11
11
|
super();
|
|
@@ -40,37 +40,23 @@ export class TypeScriptClientsGenerator extends OpenApiServicesGenerationProvide
|
|
|
40
40
|
ctx.output.clients[service.id] = result;
|
|
41
41
|
}
|
|
42
42
|
generateIndexFile(ctx) {
|
|
43
|
-
if (!this.shouldGenerateIndexFile(ctx)) {
|
|
44
|
-
return undefined;
|
|
45
|
-
}
|
|
46
43
|
const filePath = this.getIndexFilePath(ctx);
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
44
|
+
TypeScriptFileBuilder.tryGenerate({
|
|
45
|
+
logName: 'clients index file',
|
|
46
|
+
filePath,
|
|
47
|
+
options: ctx.config,
|
|
48
|
+
generator: (b) => b.append(this.getIndexFileContent(ctx)),
|
|
49
|
+
});
|
|
52
50
|
return filePath;
|
|
53
51
|
}
|
|
54
52
|
getIndexFilePath(ctx) {
|
|
55
|
-
|
|
56
|
-
return resolve(ctx.config.outputDir, (_a = ctx.config.indexFilePath) !== null && _a !== void 0 ? _a : 'clients.ts');
|
|
53
|
+
return ctx.config.indexFilePath ? resolve(ctx.config.outputDir, ctx.config.indexFilePath) : null;
|
|
57
54
|
}
|
|
58
|
-
|
|
59
|
-
return ctx.
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
const exports = new ImportExportCollection();
|
|
64
|
-
for (const clientId in ctx.output.clients) {
|
|
65
|
-
const client = ctx.output.clients[clientId];
|
|
66
|
-
if ((_a = client.class) === null || _a === void 0 ? void 0 : _a.filePath) {
|
|
67
|
-
exports.addExport(client.class.component, client.class.filePath);
|
|
68
|
-
}
|
|
69
|
-
if ((_b = client.interface) === null || _b === void 0 ? void 0 : _b.filePath) {
|
|
70
|
-
exports.addExport(client.interface.component, client.interface.filePath);
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
exports.writeTo(builder);
|
|
55
|
+
getIndexFileContent(ctx) {
|
|
56
|
+
return appendValueGroup(Object.values(ctx.output.clients)
|
|
57
|
+
.flatMap((c) => [c.class, c.interface])
|
|
58
|
+
.filter(notNullish)
|
|
59
|
+
.map((x) => ts.export(x.component, x.filePath)));
|
|
74
60
|
}
|
|
75
61
|
copyUtilsFiles(ctx) {
|
|
76
62
|
const sourceDir = resolve(dirname(require.resolve('@goast/typescript')), '../assets/client/fetch');
|
package/package.json
CHANGED
|
@@ -17,7 +17,10 @@ export declare class DefaultTypeScriptModelGenerator extends TypeScriptFileGener
|
|
|
17
17
|
protected getTypeAlias(ctx: Context, schema: ApiSchema): ts.TypeAlias<Builder>;
|
|
18
18
|
protected getIndexer(ctx: Context, schema: ObjectLikeApiSchema): ts.Indexer<Builder, never> | null;
|
|
19
19
|
protected getProperties(ctx: Context, schema: ObjectLikeApiSchema): (import("../../ast/nodes/property").TsAccessorProperty<Builder, ""> | import("../../ast/nodes/property").TsSimpleProperty<Builder, "">)[];
|
|
20
|
-
protected getType(ctx: Context, schema: Nullable<ApiSchema>,
|
|
20
|
+
protected getType(ctx: Context, schema: Nullable<ApiSchema>, options?: {
|
|
21
|
+
skipSchemas?: boolean;
|
|
22
|
+
useBaseType?: boolean;
|
|
23
|
+
}): ts.Type<Builder> | null;
|
|
21
24
|
protected getArrayType(ctx: Context, schema: ArrayLikeApiSchema): ts.Type<Builder>;
|
|
22
25
|
protected getObjectType(ctx: Context, schema: ObjectLikeApiSchema): ts.Type<Builder>;
|
|
23
26
|
protected getDiscriminatorType(ctx: Context, schema: ApiSchema): ts.Type<Builder>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ApiService, OpenApiGeneratorContext, OpenApiServicesGenerationProviderBase, Factory } from '@goast/core';
|
|
1
|
+
import { ApiService, OpenApiGeneratorContext, OpenApiServicesGenerationProviderBase, Factory, AppendValueGroup } from '@goast/core';
|
|
2
2
|
import { TypeScriptFetchClientGenerator } from './fetch-client-generator';
|
|
3
3
|
import { TypeScriptFetchClientGeneratorOutput, TypeScriptFetchClientsGeneratorConfig, TypeScriptFetchClientsGeneratorContext, TypeScriptFetchClientsGeneratorInput, TypeScriptFetchClientsGeneratorOutput } from './models';
|
|
4
4
|
import { TypeScriptFileBuilder } from '../../../file-builder';
|
|
@@ -15,10 +15,9 @@ export declare class TypeScriptClientsGenerator extends OpenApiServicesGeneratio
|
|
|
15
15
|
onGenerate(ctx: Context): Output;
|
|
16
16
|
protected generateService(ctx: Context, service: ApiService): ServiceOutput;
|
|
17
17
|
protected addServiceResult(ctx: Context, service: ApiService, result: ServiceOutput): void;
|
|
18
|
-
protected generateIndexFile(ctx: Context): string |
|
|
19
|
-
protected getIndexFilePath(ctx: Context): string;
|
|
20
|
-
protected
|
|
21
|
-
protected generateIndexFileContent(ctx: Context, builder: TypeScriptFileBuilder): void;
|
|
18
|
+
protected generateIndexFile(ctx: Context): string | null;
|
|
19
|
+
protected getIndexFilePath(ctx: Context): string | null;
|
|
20
|
+
protected getIndexFileContent(ctx: Context): AppendValueGroup<TypeScriptFileBuilder>;
|
|
22
21
|
private copyUtilsFiles;
|
|
23
22
|
}
|
|
24
23
|
export {};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ApiService, DefaultGenerationProviderConfig, OpenApiServicesGenerationProviderContext, StringCasing, StringCasingWithOptions, Nullable } from '@goast/core';
|
|
2
2
|
import { getReferenceFactories } from './refs';
|
|
3
|
-
import {
|
|
3
|
+
import { TypeScriptExportOutput } from '../../../common-results';
|
|
4
4
|
import { TypeScriptGeneratorConfig } from '../../../config';
|
|
5
5
|
import { TypeScriptModelsGeneratorOutput } from '../../models/models';
|
|
6
6
|
export type TypeScriptFetchClientsGeneratorConfig = TypeScriptGeneratorConfig & {
|
|
@@ -27,8 +27,8 @@ export type TypeScriptFetchClientsGeneratorOutput = {
|
|
|
27
27
|
};
|
|
28
28
|
};
|
|
29
29
|
export type TypeScriptFetchClientGeneratorOutput = {
|
|
30
|
-
class?:
|
|
31
|
-
interface?:
|
|
30
|
+
class?: TypeScriptExportOutput;
|
|
31
|
+
interface?: TypeScriptExportOutput;
|
|
32
32
|
};
|
|
33
33
|
export type TypeScriptFetchClientsGeneratorContext = OpenApiServicesGenerationProviderContext<TypeScriptFetchClientsGeneratorInput, TypeScriptFetchClientsGeneratorOutput, TypeScriptFetchClientsGeneratorConfig, TypeScriptFetchClientGeneratorOutput> & {
|
|
34
34
|
refs: ReturnType<typeof getReferenceFactories>;
|