@goast/typescript 0.2.20 → 0.3.1
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/README.md +41 -11
- package/assets/client/angular/angular-service.utils.ts +80 -80
- package/assets/client/angular/request-builder.ts +372 -372
- package/assets/client/fetch/fetch-client.utils.ts +52 -52
- package/assets/stubs/easy-network-stub/easy-network-stub.utils.ts +258 -258
- package/cjs/index.js +1 -0
- package/cjs/lib/ast/nodes/argument.js +1 -1
- package/cjs/lib/ast/nodes/array-type.js +1 -1
- package/cjs/lib/ast/nodes/call.js +1 -1
- package/cjs/lib/ast/nodes/class.js +1 -1
- package/cjs/lib/ast/nodes/constructor-parameter.js +1 -1
- package/cjs/lib/ast/nodes/decorator.js +1 -1
- package/cjs/lib/ast/nodes/enum-value.js +1 -1
- package/cjs/lib/ast/nodes/enum.js +1 -1
- package/cjs/lib/ast/nodes/export.js +1 -1
- package/cjs/lib/ast/nodes/function.js +1 -1
- package/cjs/lib/ast/nodes/generic-parameter.js +1 -1
- package/cjs/lib/ast/nodes/indexer.js +1 -1
- package/cjs/lib/ast/nodes/interface.js +1 -1
- package/cjs/lib/ast/nodes/intersection-type.js +1 -1
- package/cjs/lib/ast/nodes/lookup-type.js +1 -1
- package/cjs/lib/ast/nodes/method.js +1 -1
- package/cjs/lib/ast/nodes/parameter.js +1 -1
- package/cjs/lib/ast/nodes/property.js +2 -2
- package/cjs/lib/ast/nodes/reference.js +1 -1
- package/cjs/lib/ast/nodes/string.js +1 -1
- package/cjs/lib/ast/nodes/tuple.js +1 -1
- package/cjs/lib/ast/nodes/type-alias.js +1 -1
- package/cjs/lib/ast/nodes/typeof.js +1 -1
- package/cjs/lib/ast/nodes/union-type.js +1 -1
- package/cjs/lib/ast/nodes/variable.js +1 -1
- package/cjs/lib/ast/utils/get-type-script-builder-options.js +2 -3
- package/cjs/lib/ast/utils/to-ts-node.js +1 -2
- package/cjs/lib/ast/utils/write-ts-generic-parameters.js +1 -2
- package/cjs/lib/ast/utils/write-ts-members.js +1 -2
- package/cjs/lib/ast/utils/write-ts-nodes.js +2 -3
- package/cjs/lib/ast/utils/write-ts-parameters.js +1 -2
- package/cjs/lib/file-builder.js +2 -2
- package/cjs/lib/generators/models/model-generator.js +2 -1
- package/cjs/lib/generators/models/models-generator.js +12 -7
- package/cjs/lib/generators/models/models.js +13 -2
- package/cjs/lib/generators/services/angular-services/angular-service-generator.js +17 -15
- package/cjs/lib/generators/services/angular-services/angular-services-generator.js +17 -12
- package/cjs/lib/generators/services/angular-services/models.js +19 -3
- package/cjs/lib/generators/services/angular-services/refs.js +2 -3
- package/cjs/lib/generators/services/easy-network-stub/easy-network-stub-generator.js +13 -12
- package/cjs/lib/generators/services/easy-network-stub/easy-network-stubs-generator.js +16 -11
- package/cjs/lib/generators/services/easy-network-stub/models.js +10 -2
- package/cjs/lib/generators/services/easy-network-stub/refs.js +2 -3
- package/cjs/lib/generators/services/fetch-clients/fetch-client-generator.js +16 -13
- package/cjs/lib/generators/services/fetch-clients/fetch-clients-generator.js +48 -13
- package/cjs/lib/generators/services/fetch-clients/models.js +13 -1
- package/cjs/lib/generators/services/fetch-clients/refs.js +2 -3
- package/cjs/lib/import-collection.js +1 -1
- package/cjs/lib/utils.js +5 -6
- package/esm/index.js +1 -0
- package/esm/lib/ast/nodes/argument.js +1 -1
- package/esm/lib/ast/nodes/array-type.js +1 -1
- package/esm/lib/ast/nodes/call.js +1 -1
- package/esm/lib/ast/nodes/class.js +1 -1
- package/esm/lib/ast/nodes/constructor-parameter.js +1 -1
- package/esm/lib/ast/nodes/decorator.js +1 -1
- package/esm/lib/ast/nodes/enum-value.js +1 -1
- package/esm/lib/ast/nodes/enum.js +1 -1
- package/esm/lib/ast/nodes/export.js +1 -1
- package/esm/lib/ast/nodes/function.js +1 -1
- package/esm/lib/ast/nodes/generic-parameter.js +1 -1
- package/esm/lib/ast/nodes/indexer.js +1 -1
- package/esm/lib/ast/nodes/interface.js +1 -1
- package/esm/lib/ast/nodes/intersection-type.js +1 -1
- package/esm/lib/ast/nodes/lookup-type.js +1 -1
- package/esm/lib/ast/nodes/method.js +1 -1
- package/esm/lib/ast/nodes/parameter.js +1 -1
- package/esm/lib/ast/nodes/property.js +2 -2
- package/esm/lib/ast/nodes/reference.js +1 -1
- package/esm/lib/ast/nodes/string.js +1 -1
- package/esm/lib/ast/nodes/tuple.js +1 -1
- package/esm/lib/ast/nodes/type-alias.js +1 -1
- package/esm/lib/ast/nodes/typeof.js +1 -1
- package/esm/lib/ast/nodes/union-type.js +1 -1
- package/esm/lib/ast/nodes/variable.js +1 -1
- package/esm/lib/ast/utils/get-type-script-builder-options.js +1 -1
- package/esm/lib/generators/models/model-generator.js +2 -1
- package/esm/lib/generators/models/models-generator.js +12 -7
- package/esm/lib/generators/models/models.js +13 -2
- package/esm/lib/generators/services/angular-services/angular-service-generator.js +17 -15
- package/esm/lib/generators/services/angular-services/angular-services-generator.js +17 -12
- package/esm/lib/generators/services/angular-services/models.js +19 -3
- package/esm/lib/generators/services/angular-services/refs.js +1 -1
- package/esm/lib/generators/services/easy-network-stub/easy-network-stub-generator.js +13 -12
- package/esm/lib/generators/services/easy-network-stub/easy-network-stubs-generator.js +16 -11
- package/esm/lib/generators/services/easy-network-stub/models.js +10 -2
- package/esm/lib/generators/services/easy-network-stub/refs.js +1 -1
- package/esm/lib/generators/services/fetch-clients/fetch-client-generator.js +16 -13
- package/esm/lib/generators/services/fetch-clients/fetch-clients-generator.js +46 -11
- package/esm/lib/generators/services/fetch-clients/models.js +13 -1
- package/esm/lib/generators/services/fetch-clients/refs.js +1 -1
- package/esm/lib/import-collection.js +1 -1
- package/package.json +22 -6
- package/types/index.d.ts +1 -0
- package/types/lib/ast/nodes/argument.d.ts +1 -1
- package/types/lib/ast/nodes/array-type.d.ts +1 -1
- package/types/lib/ast/nodes/arrow-function.d.ts +1 -1
- package/types/lib/ast/nodes/call.d.ts +1 -1
- package/types/lib/ast/nodes/class.d.ts +1 -1
- package/types/lib/ast/nodes/constructor-parameter.d.ts +1 -1
- package/types/lib/ast/nodes/constructor.d.ts +1 -1
- package/types/lib/ast/nodes/decorator.d.ts +2 -2
- package/types/lib/ast/nodes/doc.d.ts +1 -1
- package/types/lib/ast/nodes/enum-value.d.ts +2 -2
- package/types/lib/ast/nodes/enum.d.ts +1 -1
- package/types/lib/ast/nodes/export.d.ts +2 -2
- package/types/lib/ast/nodes/function-type.d.ts +1 -1
- package/types/lib/ast/nodes/function.d.ts +1 -1
- package/types/lib/ast/nodes/generic-parameter.d.ts +1 -1
- package/types/lib/ast/nodes/indexer.d.ts +1 -1
- package/types/lib/ast/nodes/interface.d.ts +1 -1
- package/types/lib/ast/nodes/intersection-type.d.ts +1 -1
- package/types/lib/ast/nodes/lookup-type.d.ts +1 -1
- package/types/lib/ast/nodes/method.d.ts +2 -2
- package/types/lib/ast/nodes/object-type.d.ts +1 -1
- package/types/lib/ast/nodes/object.d.ts +1 -1
- package/types/lib/ast/nodes/parameter.d.ts +1 -1
- package/types/lib/ast/nodes/property-accessor.d.ts +2 -2
- package/types/lib/ast/nodes/property.d.ts +15 -15
- package/types/lib/ast/nodes/reference.d.ts +4 -4
- package/types/lib/ast/nodes/string.d.ts +1 -1
- package/types/lib/ast/nodes/tuple.d.ts +1 -1
- package/types/lib/ast/nodes/type-alias.d.ts +1 -1
- package/types/lib/ast/nodes/typeof.d.ts +2 -2
- package/types/lib/ast/nodes/union-type.d.ts +1 -1
- package/types/lib/ast/nodes/variable.d.ts +1 -1
- package/types/lib/ast/references/angular.d.ts +8 -8
- package/types/lib/ast/references/easy-network-stub.d.ts +6 -6
- package/types/lib/ast/references/rxjs.d.ts +5 -5
- package/types/lib/ast/references/typescript.d.ts +46 -46
- package/types/lib/config.d.ts +53 -9
- package/types/lib/generators/models/model-generator.d.ts +1 -1
- package/types/lib/generators/models/models.d.ts +43 -8
- package/types/lib/generators/services/angular-services/angular-services-generator.d.ts +1 -1
- package/types/lib/generators/services/angular-services/models.d.ts +61 -20
- package/types/lib/generators/services/angular-services/refs.d.ts +9 -9
- package/types/lib/generators/services/easy-network-stub/easy-network-stubs-generator.d.ts +1 -1
- package/types/lib/generators/services/easy-network-stub/models.d.ts +35 -13
- package/types/lib/generators/services/easy-network-stub/refs.d.ts +14 -14
- package/types/lib/generators/services/fetch-clients/fetch-clients-generator.d.ts +4 -1
- package/types/lib/generators/services/fetch-clients/models.d.ts +63 -18
- package/types/lib/generators/services/fetch-clients/refs.d.ts +4 -4
- package/types/lib/utils.d.ts +2 -1
|
@@ -15,7 +15,7 @@ export class DefaultTypeScriptFetchClientGenerator extends TypeScriptFileGenerat
|
|
|
15
15
|
options: ctx.config,
|
|
16
16
|
generator: (b) => b.append(this.getInterfaceFileContent(ctx)),
|
|
17
17
|
});
|
|
18
|
-
result.
|
|
18
|
+
result.clientInterface = { filePath, component: name };
|
|
19
19
|
}
|
|
20
20
|
if (this.shouldGenerateClass(ctx)) {
|
|
21
21
|
const filePath = this.getClassFilePath(ctx);
|
|
@@ -26,7 +26,7 @@ export class DefaultTypeScriptFetchClientGenerator extends TypeScriptFileGenerat
|
|
|
26
26
|
options: ctx.config,
|
|
27
27
|
generator: (b) => b.append(this.getClassFileContent(ctx)),
|
|
28
28
|
});
|
|
29
|
-
result.
|
|
29
|
+
result.client = { filePath, component: name };
|
|
30
30
|
}
|
|
31
31
|
return result;
|
|
32
32
|
}
|
|
@@ -53,7 +53,7 @@ export class DefaultTypeScriptFetchClientGenerator extends TypeScriptFileGenerat
|
|
|
53
53
|
const params = endpoint.parameters.filter((x) => x.target === 'path' || x.target === 'query');
|
|
54
54
|
const bodySchema = (_b = (_a = endpoint.requestBody) === null || _a === void 0 ? void 0 : _a.content[0]) === null || _b === void 0 ? void 0 : _b.schema;
|
|
55
55
|
const responseSchema = this.getResponseSchema(ctx, endpoint);
|
|
56
|
-
return ts.method(toCasing(endpoint.name, ctx.config.
|
|
56
|
+
return ts.method(toCasing(endpoint.name, ctx.config.functionNameCasing), {
|
|
57
57
|
doc: ts.doc({ description: endpoint.description, tags: [endpoint.deprecated ? ts.docTag('deprecated') : null] }),
|
|
58
58
|
parameters: [
|
|
59
59
|
params.length > 0
|
|
@@ -129,11 +129,11 @@ export class DefaultTypeScriptFetchClientGenerator extends TypeScriptFileGenerat
|
|
|
129
129
|
});
|
|
130
130
|
}
|
|
131
131
|
getServiceMethod(ctx, endpoint) {
|
|
132
|
-
var _a, _b;
|
|
132
|
+
var _a, _b, _c;
|
|
133
133
|
const method = this.getInterfaceEndpointMethod(ctx, endpoint);
|
|
134
134
|
method.accessModifier = 'public';
|
|
135
135
|
method.body = appendValueGroup([
|
|
136
|
-
s `const url = new ${ctx.refs.urlBuilder()}(this.options.baseUrl)${s.indent `
|
|
136
|
+
s `const url = new ${ctx.refs.urlBuilder()}(this.options.baseUrl)${s.indent `
|
|
137
137
|
.withPath(${ts.string(endpoint.path)})${(b) => b.forEach(endpoint.parameters, (b, p) => {
|
|
138
138
|
switch (p.target) {
|
|
139
139
|
case 'path':
|
|
@@ -143,7 +143,7 @@ export class DefaultTypeScriptFetchClientGenerator extends TypeScriptFileGenerat
|
|
|
143
143
|
b.append(s `\n.withQueryParam(${ts.string(p.name)}, params.${toCasing(p.name, ctx.config.paramNameCasing)})`);
|
|
144
144
|
break;
|
|
145
145
|
}
|
|
146
|
-
})}
|
|
146
|
+
})}
|
|
147
147
|
.build();`}`,
|
|
148
148
|
s `const response = (this.options.fetch ?? fetch)(url, ${ts.object({
|
|
149
149
|
members: [
|
|
@@ -153,13 +153,13 @@ export class DefaultTypeScriptFetchClientGenerator extends TypeScriptFileGenerat
|
|
|
153
153
|
],
|
|
154
154
|
})});`,
|
|
155
155
|
s `Object.defineProperty(response, 'isVoidResponse', { value: ${this.getResponseSchema(ctx, endpoint) ? 'false' : 'true'} });`,
|
|
156
|
-
s `return response as unknown as ${method.returnType};`,
|
|
156
|
+
s `return response as unknown as ${(_c = method.returnType) !== null && _c !== void 0 ? _c : 'unknown'};`,
|
|
157
157
|
], '\n');
|
|
158
158
|
return method;
|
|
159
159
|
}
|
|
160
160
|
// #endregion
|
|
161
161
|
getSchemaType(ctx, schema, fallback) {
|
|
162
|
-
const output = schema && ctx.input.models[schema.id];
|
|
162
|
+
const output = schema && ctx.input.typescript.models[schema.id];
|
|
163
163
|
if (!output)
|
|
164
164
|
return fallback !== null && fallback !== void 0 ? fallback : this.getAnyType(ctx);
|
|
165
165
|
return (b) => b.appendModelUsage(output);
|
|
@@ -171,23 +171,26 @@ export class DefaultTypeScriptFetchClientGenerator extends TypeScriptFileGenerat
|
|
|
171
171
|
return ctx.config.clientFileKind === 'class' || ctx.config.clientFileKind === 'class-and-interface';
|
|
172
172
|
}
|
|
173
173
|
getInterfaceName(ctx) {
|
|
174
|
-
|
|
174
|
+
var _a;
|
|
175
|
+
return toCasing(ctx.service.name, (_a = ctx.config.clientInterfaceNameCasing) !== null && _a !== void 0 ? _a : ctx.config.typeNameCasing);
|
|
175
176
|
}
|
|
176
177
|
getClassName(ctx) {
|
|
177
|
-
|
|
178
|
+
var _a;
|
|
179
|
+
return toCasing(ctx.service.name, (_a = ctx.config.clientNameCasing) !== null && _a !== void 0 ? _a : ctx.config.typeNameCasing);
|
|
178
180
|
}
|
|
179
181
|
getDefaultOptionsConstantName(ctx) {
|
|
180
182
|
return toCasing(this.getClassName(ctx) + '-default-options', ctx.config.constantNameCasing);
|
|
181
183
|
}
|
|
182
184
|
getInterfaceFilePath(ctx) {
|
|
183
185
|
var _a, _b;
|
|
184
|
-
return resolve(ctx.config.outputDir, (_a = ctx.config.
|
|
186
|
+
return resolve(ctx.config.outputDir, (_a = ctx.config.clientInterfaceDir) !== null && _a !== void 0 ? _a : ctx.config.clientDir, `${toCasing(ctx.service.name, (_b = ctx.config.clientInterfaceFileNameCasing) !== null && _b !== void 0 ? _b : ctx.config.fileNameCasing)}.ts`);
|
|
185
187
|
}
|
|
186
188
|
getClassFilePath(ctx) {
|
|
187
|
-
|
|
189
|
+
var _a;
|
|
190
|
+
return resolve(ctx.config.outputDir, ctx.config.clientDir, `${toCasing(ctx.service.name, (_a = ctx.config.clientFileNameCasing) !== null && _a !== void 0 ? _a : ctx.config.fileNameCasing)}.ts`);
|
|
188
191
|
}
|
|
189
192
|
getUtilPath(ctx, fileName) {
|
|
190
|
-
return resolve(ctx.config.outputDir, ctx.config.
|
|
193
|
+
return resolve(ctx.config.outputDir, ctx.config.utilsDir, fileName);
|
|
191
194
|
}
|
|
192
195
|
getResponseSchema(ctx, endpoint) {
|
|
193
196
|
var _a, _b, _c;
|
|
@@ -6,7 +6,7 @@ import { defaultTypeScriptFetchClientsGeneratorConfig, } from './models';
|
|
|
6
6
|
import { getReferenceFactories } from './refs';
|
|
7
7
|
import { ts } from '../../../ast';
|
|
8
8
|
import { TypeScriptFileBuilder } from '../../../file-builder';
|
|
9
|
-
export class
|
|
9
|
+
export class TypeScriptFetchClientsGenerator extends OpenApiServicesGenerationProviderBase {
|
|
10
10
|
constructor(clientGeneratorFactory) {
|
|
11
11
|
super();
|
|
12
12
|
this._clientGeneratorFactory =
|
|
@@ -14,9 +14,12 @@ export class TypeScriptClientsGenerator extends OpenApiServicesGenerationProvide
|
|
|
14
14
|
}
|
|
15
15
|
initResult() {
|
|
16
16
|
return {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
17
|
+
typescript: {
|
|
18
|
+
clients: {},
|
|
19
|
+
indexFiles: {
|
|
20
|
+
clients: undefined,
|
|
21
|
+
clientInterfaces: undefined,
|
|
22
|
+
},
|
|
20
23
|
},
|
|
21
24
|
};
|
|
22
25
|
}
|
|
@@ -29,15 +32,19 @@ export class TypeScriptClientsGenerator extends OpenApiServicesGenerationProvide
|
|
|
29
32
|
onGenerate(ctx) {
|
|
30
33
|
this.copyUtilsFiles(ctx);
|
|
31
34
|
const output = super.onGenerate(ctx);
|
|
32
|
-
output.indexFiles.clients = this.generateIndexFile(ctx);
|
|
35
|
+
output.typescript.indexFiles.clients = this.generateIndexFile(ctx);
|
|
36
|
+
output.typescript.indexFiles.clientInterfaces = this.generateInterfaceIndexFile(ctx);
|
|
33
37
|
return output;
|
|
34
38
|
}
|
|
35
39
|
generateService(ctx, service) {
|
|
36
40
|
const clientGenerator = this._clientGeneratorFactory.create();
|
|
37
|
-
return clientGenerator.generate(
|
|
41
|
+
return clientGenerator.generate({
|
|
42
|
+
...ctx,
|
|
43
|
+
service,
|
|
44
|
+
});
|
|
38
45
|
}
|
|
39
46
|
addServiceResult(ctx, service, result) {
|
|
40
|
-
ctx.output.clients[service.id] = result;
|
|
47
|
+
ctx.output.typescript.clients[service.id] = result;
|
|
41
48
|
}
|
|
42
49
|
generateIndexFile(ctx) {
|
|
43
50
|
const filePath = this.getIndexFilePath(ctx);
|
|
@@ -49,18 +56,46 @@ export class TypeScriptClientsGenerator extends OpenApiServicesGenerationProvide
|
|
|
49
56
|
});
|
|
50
57
|
return filePath;
|
|
51
58
|
}
|
|
59
|
+
generateInterfaceIndexFile(ctx) {
|
|
60
|
+
const filePath = this.getInterfaceIndexFilePath(ctx);
|
|
61
|
+
const clientsFilePath = this.getIndexFilePath(ctx);
|
|
62
|
+
if (filePath && filePath === clientsFilePath) {
|
|
63
|
+
return clientsFilePath;
|
|
64
|
+
}
|
|
65
|
+
TypeScriptFileBuilder.tryGenerate({
|
|
66
|
+
logName: 'client interfaces index file',
|
|
67
|
+
filePath,
|
|
68
|
+
options: ctx.config,
|
|
69
|
+
generator: (b) => b.append(this.getInterfaceIndexFileContent(ctx)),
|
|
70
|
+
});
|
|
71
|
+
return filePath;
|
|
72
|
+
}
|
|
52
73
|
getIndexFilePath(ctx) {
|
|
53
|
-
return ctx.config.
|
|
74
|
+
return ctx.config.clientsIndexFile ? resolve(ctx.config.outputDir, ctx.config.clientsIndexFile) : null;
|
|
75
|
+
}
|
|
76
|
+
getInterfaceIndexFilePath(ctx) {
|
|
77
|
+
return ctx.config.clientInterfacesIndexFile
|
|
78
|
+
? resolve(ctx.config.outputDir, ctx.config.clientInterfacesIndexFile)
|
|
79
|
+
: null;
|
|
54
80
|
}
|
|
55
81
|
getIndexFileContent(ctx) {
|
|
56
|
-
|
|
57
|
-
|
|
82
|
+
const cIndexPath = this.getIndexFilePath(ctx);
|
|
83
|
+
const iIndexPath = this.getInterfaceIndexFilePath(ctx);
|
|
84
|
+
return appendValueGroup((iIndexPath && iIndexPath === cIndexPath
|
|
85
|
+
? Object.values(ctx.output.typescript.clients).flatMap((c) => [c.client, c.clientInterface])
|
|
86
|
+
: Object.values(ctx.output.typescript.clients).map((c) => c.client))
|
|
87
|
+
.filter(notNullish)
|
|
88
|
+
.map((x) => ts.export(x.component, x.filePath)));
|
|
89
|
+
}
|
|
90
|
+
getInterfaceIndexFileContent(ctx) {
|
|
91
|
+
return appendValueGroup(Object.values(ctx.output.typescript.clients)
|
|
92
|
+
.map((c) => c.clientInterface)
|
|
58
93
|
.filter(notNullish)
|
|
59
94
|
.map((x) => ts.export(x.component, x.filePath)));
|
|
60
95
|
}
|
|
61
96
|
copyUtilsFiles(ctx) {
|
|
62
97
|
const sourceDir = resolve(dirname(require.resolve('@goast/typescript')), '../assets/client/fetch');
|
|
63
|
-
const targetDir = resolve(ctx.config.outputDir, ctx.config.
|
|
98
|
+
const targetDir = resolve(ctx.config.outputDir, ctx.config.utilsDir);
|
|
64
99
|
ensureDirSync(targetDir);
|
|
65
100
|
const files = readdirSync(sourceDir);
|
|
66
101
|
for (const file of files) {
|
|
@@ -1,2 +1,14 @@
|
|
|
1
1
|
import { defaultTypeScriptGeneratorConfig } from '../../../config';
|
|
2
|
-
export const defaultTypeScriptFetchClientsGeneratorConfig =
|
|
2
|
+
export const defaultTypeScriptFetchClientsGeneratorConfig = {
|
|
3
|
+
...defaultTypeScriptGeneratorConfig,
|
|
4
|
+
clientFileNameCasing: { casing: 'kebab', suffix: '-client' },
|
|
5
|
+
clientInterfaceFileNameCasing: undefined,
|
|
6
|
+
clientNameCasing: { casing: 'pascal', suffix: 'Client' },
|
|
7
|
+
clientInterfaceNameCasing: { prefix: 'I', casing: 'pascal', suffix: 'Client' },
|
|
8
|
+
clientFileKind: 'class',
|
|
9
|
+
clientDir: 'clients',
|
|
10
|
+
clientInterfaceDir: 'clients/interfaces',
|
|
11
|
+
clientsIndexFile: 'clients.ts',
|
|
12
|
+
clientInterfacesIndexFile: 'clients.ts',
|
|
13
|
+
utilsDir: 'utils',
|
|
14
|
+
};
|
|
@@ -2,7 +2,7 @@ import { resolve } from 'path';
|
|
|
2
2
|
import { ts } from '../../../ast';
|
|
3
3
|
// See packages/typescript/assets/client/fetch for reference
|
|
4
4
|
export function getReferenceFactories(options) {
|
|
5
|
-
const utilsDirPath = resolve(options.outputDir, options.
|
|
5
|
+
const utilsDirPath = resolve(options.outputDir, options.utilsDir);
|
|
6
6
|
const fetchClientUtilsPath = resolve(utilsDirPath, 'fetch-client.utils.ts');
|
|
7
7
|
return {
|
|
8
8
|
// fetch-client.utils.ts
|
|
@@ -10,7 +10,7 @@ export class ImportExportCollection {
|
|
|
10
10
|
constructor(options) {
|
|
11
11
|
this._imports = new Map();
|
|
12
12
|
this._exports = new Map();
|
|
13
|
-
this._options =
|
|
13
|
+
this._options = { ...defaultImportExportCollectionOptions, ...options };
|
|
14
14
|
}
|
|
15
15
|
get hasImports() {
|
|
16
16
|
return this._imports.size > 0;
|
package/package.json
CHANGED
|
@@ -1,7 +1,22 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@goast/typescript",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.1",
|
|
4
4
|
"repository": "https://github.com/MaSch0212/goast.git",
|
|
5
|
+
"description": "Provides gOAst generators for generating TypeScript code from OpenAPI specifications.",
|
|
6
|
+
"keywords": [
|
|
7
|
+
"goast",
|
|
8
|
+
"openapi",
|
|
9
|
+
"swagger",
|
|
10
|
+
"api",
|
|
11
|
+
"generator",
|
|
12
|
+
"transformer",
|
|
13
|
+
"schema",
|
|
14
|
+
"typescript",
|
|
15
|
+
"angular",
|
|
16
|
+
"stubs",
|
|
17
|
+
"easy-network-stub",
|
|
18
|
+
"fetch"
|
|
19
|
+
],
|
|
5
20
|
"author": {
|
|
6
21
|
"name": "Marc Schmidt (MaSch0212)",
|
|
7
22
|
"url": "https://github.com/MaSch0212"
|
|
@@ -10,11 +25,12 @@
|
|
|
10
25
|
"type": "module",
|
|
11
26
|
"dependencies": {
|
|
12
27
|
"fs-extra": "^11.2.0",
|
|
13
|
-
"node-fetch": "^
|
|
14
|
-
"yaml": "^2.4.
|
|
15
|
-
"@goast/core": "0.
|
|
16
|
-
"tslib": "2.6.
|
|
28
|
+
"node-fetch": "^3.3.2",
|
|
29
|
+
"yaml": "^2.4.5",
|
|
30
|
+
"@goast/core": "0.3.1",
|
|
31
|
+
"tslib": "2.6.3"
|
|
17
32
|
},
|
|
33
|
+
"packageManager": "pnpm@9.5.0",
|
|
18
34
|
"module": "./esm/index.js",
|
|
19
35
|
"main": "./cjs/index.js",
|
|
20
36
|
"types": "./types/index.d.ts",
|
|
@@ -26,4 +42,4 @@
|
|
|
26
42
|
},
|
|
27
43
|
"./package.json": "./package.json"
|
|
28
44
|
}
|
|
29
|
-
}
|
|
45
|
+
}
|
package/types/index.d.ts
CHANGED
|
@@ -11,7 +11,7 @@ export declare class TsArgument<TBuilder extends SourceBuilder, TInjects extends
|
|
|
11
11
|
constructor(options: Options<TBuilder, TInjects>);
|
|
12
12
|
protected onWrite(builder: TBuilder): void;
|
|
13
13
|
}
|
|
14
|
-
export declare const tsArgument: (<TBuilder extends SourceBuilder
|
|
14
|
+
export declare const tsArgument: (<TBuilder extends SourceBuilder>(value: Options<TBuilder>["value"], options?: Prettify<Omit<Options<TBuilder>, "value">>) => TsArgument<TBuilder, never>) & {
|
|
15
15
|
write: typeof writeTsParameters;
|
|
16
16
|
};
|
|
17
17
|
export {};
|
|
@@ -13,7 +13,7 @@ export declare class TsArrayType<TBuilder extends SourceBuilder, TInjects extend
|
|
|
13
13
|
constructor(options: Options<TBuilder, TInjects>);
|
|
14
14
|
protected onWrite(builder: TBuilder): void;
|
|
15
15
|
}
|
|
16
|
-
export declare const tsArrayType: (<TBuilder extends SourceBuilder
|
|
16
|
+
export declare const tsArrayType: (<TBuilder extends SourceBuilder>(type: Options<TBuilder>["type"], options?: Prettify<Omit<Options<TBuilder>, "type">>) => TsArrayType<TBuilder, never>) & {
|
|
17
17
|
write: typeof writeTsNodes;
|
|
18
18
|
};
|
|
19
19
|
export {};
|
|
@@ -23,7 +23,7 @@ export declare class TsArrowFunction<TBuilder extends SourceBuilder, TInjects ex
|
|
|
23
23
|
constructor(options: Options<TBuilder, TInjects>);
|
|
24
24
|
protected onWrite(builder: TBuilder): void;
|
|
25
25
|
}
|
|
26
|
-
export declare const tsArrowFunction: (<TBuilder extends SourceBuilder
|
|
26
|
+
export declare const tsArrowFunction: (<TBuilder extends SourceBuilder>(options?: Options<TBuilder>) => TsArrowFunction<TBuilder, never>) & {
|
|
27
27
|
write: typeof writeTsNodes;
|
|
28
28
|
};
|
|
29
29
|
export {};
|
|
@@ -14,7 +14,7 @@ export declare class TsCall<TBuilder extends SourceBuilder, TInjects extends str
|
|
|
14
14
|
constructor(options: Options<TBuilder, TInjects>);
|
|
15
15
|
protected onWrite(builder: TBuilder): void;
|
|
16
16
|
}
|
|
17
|
-
export declare const tsCall: (<TBuilder extends SourceBuilder
|
|
17
|
+
export declare const tsCall: (<TBuilder extends SourceBuilder>(path: Options<TBuilder>["path"] | ArrayItem<Options<TBuilder>["path"]>, args?: Options<TBuilder>["arguments"], options?: Prettify<Omit<Options<TBuilder>, "path" | "arguments">>) => TsCall<TBuilder, never>) & {
|
|
18
18
|
write: typeof writeTsNodes;
|
|
19
19
|
};
|
|
20
20
|
export {};
|
|
@@ -35,7 +35,7 @@ export declare class TsClass<TBuilder extends SourceBuilder, TInjects extends st
|
|
|
35
35
|
constructor(options: Options<TBuilder, TInjects>);
|
|
36
36
|
protected onWrite(builder: TBuilder): void;
|
|
37
37
|
}
|
|
38
|
-
export declare const tsClass: (<TBuilder extends SourceBuilder
|
|
38
|
+
export declare const tsClass: (<TBuilder extends SourceBuilder>(name: Options<TBuilder>["name"], options?: Prettify<Omit<Options<TBuilder>, "name">>) => TsClass<TBuilder, never>) & {
|
|
39
39
|
write: typeof writeTsNodes;
|
|
40
40
|
};
|
|
41
41
|
export {};
|
|
@@ -13,7 +13,7 @@ export declare class TsConstructorParameter<TBuilder extends SourceBuilder, TInj
|
|
|
13
13
|
constructor(options: Options<TBuilder, TInjects>);
|
|
14
14
|
protected onWrite(builder: TBuilder): void;
|
|
15
15
|
}
|
|
16
|
-
export declare const tsConstructorParameter: (<TBuilder extends SourceBuilder
|
|
16
|
+
export declare const tsConstructorParameter: (<TBuilder extends SourceBuilder>(name: Options<TBuilder>["name"], options?: Prettify<Omit<Options<TBuilder>, "name">>) => TsConstructorParameter<TBuilder, never>) & {
|
|
17
17
|
write: typeof writeTsParameters;
|
|
18
18
|
};
|
|
19
19
|
export {};
|
|
@@ -19,7 +19,7 @@ export declare class TsConstructor<TBuilder extends SourceBuilder, TInjects exte
|
|
|
19
19
|
constructor(options: Options<TBuilder, TInjects>);
|
|
20
20
|
protected onWrite(builder: TBuilder): void;
|
|
21
21
|
}
|
|
22
|
-
export declare const tsConstructor: (<TBuilder extends SourceBuilder
|
|
22
|
+
export declare const tsConstructor: (<TBuilder extends SourceBuilder>(options?: Options<TBuilder>) => TsConstructor<TBuilder, never>) & {
|
|
23
23
|
write: typeof writeTsNodes;
|
|
24
24
|
};
|
|
25
25
|
export {};
|
|
@@ -14,8 +14,8 @@ export declare class TsDecorator<TBuilder extends SourceBuilder, TInjects extend
|
|
|
14
14
|
constructor(options: Options<TBuilder, TInjects>);
|
|
15
15
|
protected onWrite(builder: TBuilder): void;
|
|
16
16
|
}
|
|
17
|
-
export declare const tsDecorator: (<TBuilder extends SourceBuilder
|
|
18
|
-
write: <
|
|
17
|
+
export declare const tsDecorator: (<TBuilder extends SourceBuilder>(fn: Options<TBuilder>["function"], args?: Options<TBuilder>["arguments"], options?: Prettify<Omit<Options<TBuilder>, "function" | "arguments">>) => TsDecorator<TBuilder, never>) & {
|
|
18
|
+
write: <TBuilder extends SourceBuilder>(builder: TBuilder, nodes: SingleOrMultiple<Nullable<TsDecorator<TBuilder> | AppendValue<TBuilder>>>, options?: {
|
|
19
19
|
multiline?: boolean;
|
|
20
20
|
}) => void;
|
|
21
21
|
};
|
|
@@ -20,7 +20,7 @@ declare function getDoc<TBuilder extends SourceBuilder>(baseDoc: TsDoc<TBuilder>
|
|
|
20
20
|
generics?: Nullable<Nullable<TsGenericParameter<TBuilder> | BasicAppendValue<TBuilder>>[]>;
|
|
21
21
|
}): TsDoc<TBuilder> | null;
|
|
22
22
|
declare function isDocEmpty(doc: Nullable<TsDoc<SourceBuilder>>): boolean;
|
|
23
|
-
export declare const tsDoc: (<TBuilder extends SourceBuilder
|
|
23
|
+
export declare const tsDoc: (<TBuilder extends SourceBuilder>(options?: Options<TBuilder>) => TsDoc<TBuilder, never>) & {
|
|
24
24
|
write: typeof writeTsNodes;
|
|
25
25
|
get: typeof getDoc;
|
|
26
26
|
isEmpty: typeof isDocEmpty;
|
|
@@ -15,7 +15,7 @@ export declare class TsEnumValue<TBuilder extends SourceBuilder, TInjects extend
|
|
|
15
15
|
constructor(options: Options<TBuilder, TInjects>);
|
|
16
16
|
protected onWrite(builder: TBuilder): void;
|
|
17
17
|
}
|
|
18
|
-
export declare const tsEnumValue: (<TBuilder extends SourceBuilder
|
|
19
|
-
write: <
|
|
18
|
+
export declare const tsEnumValue: (<TBuilder extends SourceBuilder>(name: Options<TBuilder>["name"], options?: Prettify<Omit<Options<TBuilder>, "name">>) => TsEnumValue<TBuilder, never>) & {
|
|
19
|
+
write: <TBuilder extends SourceBuilder>(builder: TBuilder, nodes: SingleOrMultiple<Nullable<TsEnumValue<TBuilder> | AppendValue<TBuilder>>>) => void;
|
|
20
20
|
};
|
|
21
21
|
export {};
|
|
@@ -20,7 +20,7 @@ export declare class TsEnum<TBuilder extends SourceBuilder, TInjects extends str
|
|
|
20
20
|
constructor(options: Options<TBuilder, TInjects>);
|
|
21
21
|
protected onWrite(builder: TBuilder): void;
|
|
22
22
|
}
|
|
23
|
-
export declare const tsEnum: (<TBuilder extends SourceBuilder
|
|
23
|
+
export declare const tsEnum: (<TBuilder extends SourceBuilder>(name: Options<TBuilder>["name"], options?: Prettify<Omit<Options<TBuilder>, "name">>) => TsEnum<TBuilder, never>) & {
|
|
24
24
|
write: typeof writeTsNodes;
|
|
25
25
|
};
|
|
26
26
|
export {};
|
|
@@ -12,8 +12,8 @@ export declare class TsExport<TBuilder extends SourceBuilder, TInjects extends s
|
|
|
12
12
|
constructor(options: Options<TBuilder, TInjects>);
|
|
13
13
|
protected onWrite(builder: TBuilder): void;
|
|
14
14
|
}
|
|
15
|
-
export declare const createExport: <TBuilder extends SourceBuilder
|
|
16
|
-
export declare const tsExport: (<TBuilder extends SourceBuilder
|
|
15
|
+
export declare const createExport: <TBuilder extends SourceBuilder>(name: Options<TBuilder>["name"], filePath: Options<TBuilder>["filePath"], options?: Prettify<Omit<Options<TBuilder>, "name" | "filePath">>) => TsExport<TBuilder, never>;
|
|
16
|
+
export declare const tsExport: (<TBuilder extends SourceBuilder>(name: Options<TBuilder>["name"], filePath: Options<TBuilder>["filePath"], options?: Prettify<Omit<Options<TBuilder>, "name" | "filePath">>) => TsExport<TBuilder, never>) & {
|
|
17
17
|
write: typeof writeTsNodes;
|
|
18
18
|
};
|
|
19
19
|
export {};
|
|
@@ -17,7 +17,7 @@ export declare class TsFunctionType<TBuilder extends SourceBuilder, TInjects ext
|
|
|
17
17
|
constructor(options: Options<TBuilder, TInjects>);
|
|
18
18
|
protected onWrite(builder: TBuilder): void;
|
|
19
19
|
}
|
|
20
|
-
export declare const tsFunctionType: (<TBuilder extends SourceBuilder
|
|
20
|
+
export declare const tsFunctionType: (<TBuilder extends SourceBuilder>(options?: Options<TBuilder>) => TsFunctionType<TBuilder, never>) & {
|
|
21
21
|
write: typeof writeTsNodes;
|
|
22
22
|
};
|
|
23
23
|
export {};
|
|
@@ -29,7 +29,7 @@ export declare class TsFunction<TBuilder extends SourceBuilder, TInjects extends
|
|
|
29
29
|
constructor(options: Options<TBuilder, TInjects>);
|
|
30
30
|
protected onWrite(builder: TBuilder): void;
|
|
31
31
|
}
|
|
32
|
-
export declare const tsFunction: (<TBuilder extends SourceBuilder
|
|
32
|
+
export declare const tsFunction: (<TBuilder extends SourceBuilder>(name: Options<TBuilder>["name"], options?: Prettify<Omit<Options<TBuilder>, "name">>) => TsFunction<TBuilder, never>) & {
|
|
33
33
|
write: typeof writeTsNodes;
|
|
34
34
|
};
|
|
35
35
|
export {};
|
|
@@ -19,7 +19,7 @@ export declare class TsGenericParameter<TBuilder extends SourceBuilder, TInjects
|
|
|
19
19
|
constructor(options: Options<TBuilder, TInjects>);
|
|
20
20
|
protected onWrite(builder: TBuilder): void;
|
|
21
21
|
}
|
|
22
|
-
export declare const tsGenericParameter: (<TBuilder extends SourceBuilder
|
|
22
|
+
export declare const tsGenericParameter: (<TBuilder extends SourceBuilder>(name: Options<TBuilder>["name"], options?: Prettify<Omit<Options<TBuilder>, "name">>) => TsGenericParameter<TBuilder, never>) & {
|
|
23
23
|
write: typeof writeTsGenericParameters;
|
|
24
24
|
};
|
|
25
25
|
export {};
|
|
@@ -17,7 +17,7 @@ export declare class TsIndexer<TBuilder extends SourceBuilder, TInjects extends
|
|
|
17
17
|
constructor(options: Options<TBuilder, TInjects>);
|
|
18
18
|
protected onWrite(builder: TBuilder): void;
|
|
19
19
|
}
|
|
20
|
-
export declare const tsIndexer: (<TBuilder extends SourceBuilder
|
|
20
|
+
export declare const tsIndexer: (<TBuilder extends SourceBuilder>(keyType: Options<TBuilder>["keyType"], valueType: Options<TBuilder>["valueType"], options?: Prettify<Omit<Options<TBuilder>, "keyType" | "valueType">>) => TsIndexer<TBuilder, never>) & {
|
|
21
21
|
write: typeof writeTsNodes;
|
|
22
22
|
};
|
|
23
23
|
export {};
|
|
@@ -30,7 +30,7 @@ export declare class TsInterface<TBuilder extends SourceBuilder, TInjects extend
|
|
|
30
30
|
constructor(options: Options<TBuilder, TInjects>);
|
|
31
31
|
protected onWrite(builder: TBuilder): void;
|
|
32
32
|
}
|
|
33
|
-
export declare const tsInterface: (<TBuilder extends SourceBuilder
|
|
33
|
+
export declare const tsInterface: (<TBuilder extends SourceBuilder>(name: Options<TBuilder>["name"], options?: Prettify<Omit<Options<TBuilder>, "name">>) => TsInterface<TBuilder, never>) & {
|
|
34
34
|
write: typeof writeTsNodes;
|
|
35
35
|
};
|
|
36
36
|
export {};
|
|
@@ -11,7 +11,7 @@ export declare class TsIntersectionType<TBuilder extends SourceBuilder, TInjects
|
|
|
11
11
|
constructor(options: Options<TBuilder, TInjects>);
|
|
12
12
|
protected onWrite(builder: TBuilder): void;
|
|
13
13
|
}
|
|
14
|
-
export declare const tsIntersectionType: (<TBuilder extends SourceBuilder
|
|
14
|
+
export declare const tsIntersectionType: (<TBuilder extends SourceBuilder>(types: Options<TBuilder>["types"], options?: Prettify<Omit<Options<TBuilder>, "types">>) => TsIntersectionType<TBuilder, never>) & {
|
|
15
15
|
write: typeof writeTsNodes;
|
|
16
16
|
};
|
|
17
17
|
export {};
|
|
@@ -13,7 +13,7 @@ export declare class TsLookupType<TBuilder extends SourceBuilder, TInjects exten
|
|
|
13
13
|
constructor(options: Options<TBuilder, TInjects>);
|
|
14
14
|
protected onWrite(builder: TBuilder): void;
|
|
15
15
|
}
|
|
16
|
-
export declare const tsLookupType: (<TBuilder extends SourceBuilder
|
|
16
|
+
export declare const tsLookupType: (<TBuilder extends SourceBuilder>(type: Options<TBuilder>["type"], index: Options<TBuilder>["index"], options?: Omit<Options<TBuilder>, "type" | "index">) => TsLookupType<TBuilder, never>) & {
|
|
17
17
|
write: typeof writeTsNodes;
|
|
18
18
|
};
|
|
19
19
|
export {};
|
|
@@ -38,8 +38,8 @@ export declare class TsMethod<TBuilder extends SourceBuilder, TInjects extends s
|
|
|
38
38
|
constructor(options: Options<TBuilder, TInjects>);
|
|
39
39
|
protected onWrite(builder: TBuilder): void;
|
|
40
40
|
}
|
|
41
|
-
export declare const createMethod: <TBuilder extends SourceBuilder
|
|
42
|
-
export declare const tsMethod: (<TBuilder extends SourceBuilder
|
|
41
|
+
export declare const createMethod: <TBuilder extends SourceBuilder>(name: Options<TBuilder>["name"], options?: Prettify<Omit<Options<TBuilder>, "name">>) => TsMethod<TBuilder, never>;
|
|
42
|
+
export declare const tsMethod: (<TBuilder extends SourceBuilder>(name: Options<TBuilder>["name"], options?: Prettify<Omit<Options<TBuilder>, "name">>) => TsMethod<TBuilder, never>) & {
|
|
43
43
|
write: typeof writeTsNodes;
|
|
44
44
|
};
|
|
45
45
|
export {};
|
|
@@ -14,7 +14,7 @@ export declare class TsObjectType<TBuilder extends SourceBuilder, TInjects exten
|
|
|
14
14
|
constructor(options: Options<TBuilder, TInjects>);
|
|
15
15
|
protected onWrite(builder: TBuilder): void;
|
|
16
16
|
}
|
|
17
|
-
export declare const tsObjectType: (<TBuilder extends SourceBuilder
|
|
17
|
+
export declare const tsObjectType: (<TBuilder extends SourceBuilder>(options?: Options<TBuilder>) => TsObjectType<TBuilder, never>) & {
|
|
18
18
|
write: typeof writeTsNodes;
|
|
19
19
|
};
|
|
20
20
|
export {};
|
|
@@ -13,7 +13,7 @@ export declare class TsObject<TBuilder extends SourceBuilder, TInjects extends s
|
|
|
13
13
|
constructor(options: Options<TBuilder, TInjects>);
|
|
14
14
|
protected onWrite(builder: TBuilder): void;
|
|
15
15
|
}
|
|
16
|
-
export declare const tsObject: (<TBuilder extends SourceBuilder
|
|
16
|
+
export declare const tsObject: (<TBuilder extends SourceBuilder>(options?: Options<TBuilder>) => TsObject<TBuilder, never>) & {
|
|
17
17
|
write: typeof writeTsNodes;
|
|
18
18
|
};
|
|
19
19
|
export {};
|
|
@@ -22,7 +22,7 @@ export declare class TsParameter<TBuilder extends SourceBuilder, TInjects extend
|
|
|
22
22
|
constructor(options: Options<TBuilder, TInjects>);
|
|
23
23
|
protected onWrite(builder: TBuilder): void;
|
|
24
24
|
}
|
|
25
|
-
export declare const tsParameter: (<TBuilder extends SourceBuilder
|
|
25
|
+
export declare const tsParameter: (<TBuilder extends SourceBuilder>(name: Options<TBuilder>["name"], options?: Prettify<Omit<Options<TBuilder>, "name">>) => TsParameter<TBuilder, never>) & {
|
|
26
26
|
write: typeof writeTsParameters;
|
|
27
27
|
};
|
|
28
28
|
export {};
|
|
@@ -48,6 +48,6 @@ export declare class TsPropertySetter<TBuilder extends SourceBuilder, TInjects e
|
|
|
48
48
|
export declare class TsPropertyGetter<TBuilder extends SourceBuilder, TInjects extends string = never> extends TsPropertyAccessor<TBuilder, TInjects> {
|
|
49
49
|
protected onWrite(builder: TBuilder): void;
|
|
50
50
|
}
|
|
51
|
-
export declare const createPropertySetter: <TBuilder extends SourceBuilder
|
|
52
|
-
export declare const createPropertyGetter: <TBuilder extends SourceBuilder
|
|
51
|
+
export declare const createPropertySetter: <TBuilder extends SourceBuilder>(options?: Options<TBuilder>) => TsPropertySetter<TBuilder, never>;
|
|
52
|
+
export declare const createPropertyGetter: <TBuilder extends SourceBuilder>(options?: Options<TBuilder>) => TsPropertyGetter<TBuilder, never>;
|
|
53
53
|
export {};
|
|
@@ -54,31 +54,31 @@ export declare class TsAccessorProperty<TBuilder extends SourceBuilder, TInjects
|
|
|
54
54
|
constructor(options: AccessorOptions<TBuilder, TInjects>);
|
|
55
55
|
protected onWrite(builder: TBuilder): void;
|
|
56
56
|
}
|
|
57
|
-
export declare const tsProperty: (<TBuilder extends SourceBuilder
|
|
57
|
+
export declare const tsProperty: (<TBuilder extends SourceBuilder>(name: BaseOptions<TBuilder>["name"], options?: Prettify<Omit<SimpleOptions<TBuilder>, "name">> | Prettify<Omit<AccessorOptions<TBuilder>, "name">>) => TsAccessorProperty<TBuilder, ""> | TsSimpleProperty<TBuilder, "">) & {
|
|
58
58
|
write: typeof writeTsNodes;
|
|
59
|
-
getter: <
|
|
59
|
+
getter: <TBuilder extends SourceBuilder>(options?: {
|
|
60
60
|
propertyName?: Nullable<string>;
|
|
61
|
-
doc?: Nullable<TsDoc<
|
|
62
|
-
type?: Nullable<TsType<
|
|
63
|
-
decorators?: Nullable<Nullable<TsDecorator<
|
|
64
|
-
body?: Nullable<import("@goast/core").AppendValue<
|
|
61
|
+
doc?: Nullable<TsDoc<TBuilder, never>>;
|
|
62
|
+
type?: Nullable<TsType<TBuilder>>;
|
|
63
|
+
decorators?: Nullable<Nullable<TsDecorator<TBuilder, never>>[]>;
|
|
64
|
+
body?: Nullable<import("@goast/core").AppendValue<TBuilder>>;
|
|
65
65
|
accessModifier?: Nullable<TsAccessModifier>;
|
|
66
66
|
static?: Nullable<boolean>;
|
|
67
67
|
abstract?: Nullable<boolean>;
|
|
68
68
|
override?: Nullable<boolean>;
|
|
69
|
-
inject?: import("@goast/core").AstNodeInject<
|
|
70
|
-
}
|
|
71
|
-
setter: <
|
|
69
|
+
inject?: import("@goast/core").AstNodeInject<TBuilder, ""> | undefined;
|
|
70
|
+
}) => TsPropertyGetter<TBuilder, never>;
|
|
71
|
+
setter: <TBuilder extends SourceBuilder>(options?: {
|
|
72
72
|
propertyName?: Nullable<string>;
|
|
73
|
-
doc?: Nullable<TsDoc<
|
|
74
|
-
type?: Nullable<TsType<
|
|
75
|
-
decorators?: Nullable<Nullable<TsDecorator<
|
|
76
|
-
body?: Nullable<import("@goast/core").AppendValue<
|
|
73
|
+
doc?: Nullable<TsDoc<TBuilder, never>>;
|
|
74
|
+
type?: Nullable<TsType<TBuilder>>;
|
|
75
|
+
decorators?: Nullable<Nullable<TsDecorator<TBuilder, never>>[]>;
|
|
76
|
+
body?: Nullable<import("@goast/core").AppendValue<TBuilder>>;
|
|
77
77
|
accessModifier?: Nullable<TsAccessModifier>;
|
|
78
78
|
static?: Nullable<boolean>;
|
|
79
79
|
abstract?: Nullable<boolean>;
|
|
80
80
|
override?: Nullable<boolean>;
|
|
81
|
-
inject?: import("@goast/core").AstNodeInject<
|
|
82
|
-
}
|
|
81
|
+
inject?: import("@goast/core").AstNodeInject<TBuilder, ""> | undefined;
|
|
82
|
+
}) => TsPropertySetter<TBuilder, never>;
|
|
83
83
|
};
|
|
84
84
|
export {};
|