@skmtc/core 0.0.307 → 0.0.309
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/esm/context/CoreContext.d.ts +3 -27
- package/esm/context/CoreContext.d.ts.map +1 -1
- package/esm/context/CoreContext.js +20 -201
- package/esm/context/GenerateContext.d.ts +11 -14
- package/esm/context/GenerateContext.d.ts.map +1 -1
- package/esm/context/GenerateContext.js +48 -64
- package/esm/context/RenderContext.d.ts +5 -11
- package/esm/context/RenderContext.d.ts.map +1 -1
- package/esm/context/RenderContext.js +7 -38
- package/esm/context/ResultsHandler.d.ts.map +1 -1
- package/esm/context/ResultsHandler.js +0 -1
- package/esm/context/types.d.ts +0 -5
- package/esm/context/types.d.ts.map +1 -1
- package/esm/dsl/Definition.d.ts +2 -2
- package/esm/dsl/Definition.d.ts.map +1 -1
- package/esm/dsl/ModelDriver.d.ts +3 -3
- package/esm/dsl/ModelDriver.d.ts.map +1 -1
- package/esm/dsl/ModelInsertable.d.ts +3 -3
- package/esm/dsl/ModelInsertable.d.ts.map +1 -1
- package/esm/dsl/OperationDriver.d.ts +3 -3
- package/esm/dsl/OperationDriver.d.ts.map +1 -1
- package/esm/dsl/OperationInsertable.d.ts +3 -3
- package/esm/dsl/OperationInsertable.d.ts.map +1 -1
- package/esm/dsl/ValueBase.d.ts +3 -3
- package/esm/dsl/ValueBase.d.ts.map +1 -1
- package/esm/dsl/ValueBase.js +1 -3
- package/esm/dsl/base.d.ts +3 -4
- package/esm/dsl/base.d.ts.map +1 -1
- package/esm/dsl/withConfig.d.ts +7 -7
- package/esm/dsl/withConfig.d.ts.map +1 -1
- package/esm/generate/generate.d.ts +0 -1
- package/esm/generate/generate.d.ts.map +1 -1
- package/esm/generate/generate.js +6 -6
- package/esm/mod.d.ts +1 -0
- package/esm/mod.d.ts.map +1 -1
- package/esm/mod.js +1 -0
- package/esm/oas/parameter/toParameterV3.d.ts.map +1 -1
- package/esm/oas/parameter/toParameterV3.js +1 -0
- package/esm/server/createServer.d.ts.map +1 -1
- package/esm/server/createServer.js +3 -7
- package/esm/types/CustomValue.d.ts +2 -2
- package/esm/types/CustomValue.d.ts.map +1 -1
- package/esm/typescript/PathParams.d.ts +3 -3
- package/esm/typescript/PathParams.d.ts.map +1 -1
- package/esm/typescript/ReactRouterPathParams.d.ts +2 -2
- package/esm/typescript/ReactRouterPathParams.d.ts.map +1 -1
- package/package.json +1 -1
- package/script/context/CoreContext.d.ts +3 -27
- package/script/context/CoreContext.d.ts.map +1 -1
- package/script/context/CoreContext.js +20 -201
- package/script/context/GenerateContext.d.ts +11 -14
- package/script/context/GenerateContext.d.ts.map +1 -1
- package/script/context/GenerateContext.js +48 -64
- package/script/context/RenderContext.d.ts +5 -11
- package/script/context/RenderContext.d.ts.map +1 -1
- package/script/context/RenderContext.js +7 -38
- package/script/context/ResultsHandler.d.ts.map +1 -1
- package/script/context/ResultsHandler.js +0 -1
- package/script/context/types.d.ts +0 -5
- package/script/context/types.d.ts.map +1 -1
- package/script/dsl/Definition.d.ts +2 -2
- package/script/dsl/Definition.d.ts.map +1 -1
- package/script/dsl/ModelDriver.d.ts +3 -3
- package/script/dsl/ModelDriver.d.ts.map +1 -1
- package/script/dsl/ModelInsertable.d.ts +3 -3
- package/script/dsl/ModelInsertable.d.ts.map +1 -1
- package/script/dsl/OperationDriver.d.ts +3 -3
- package/script/dsl/OperationDriver.d.ts.map +1 -1
- package/script/dsl/OperationInsertable.d.ts +3 -3
- package/script/dsl/OperationInsertable.d.ts.map +1 -1
- package/script/dsl/ValueBase.d.ts +3 -3
- package/script/dsl/ValueBase.d.ts.map +1 -1
- package/script/dsl/ValueBase.js +1 -3
- package/script/dsl/base.d.ts +3 -4
- package/script/dsl/base.d.ts.map +1 -1
- package/script/dsl/withConfig.d.ts +7 -7
- package/script/dsl/withConfig.d.ts.map +1 -1
- package/script/generate/generate.d.ts +0 -1
- package/script/generate/generate.d.ts.map +1 -1
- package/script/generate/generate.js +6 -6
- package/script/mod.d.ts +1 -0
- package/script/mod.d.ts.map +1 -1
- package/script/mod.js +1 -0
- package/script/oas/parameter/toParameterV3.d.ts.map +1 -1
- package/script/oas/parameter/toParameterV3.js +1 -0
- package/script/server/createServer.d.ts.map +1 -1
- package/script/server/createServer.js +3 -7
- package/script/types/CustomValue.d.ts +2 -2
- package/script/types/CustomValue.d.ts.map +1 -1
- package/script/typescript/PathParams.d.ts +3 -3
- package/script/typescript/PathParams.d.ts.map +1 -1
- package/script/typescript/ReactRouterPathParams.d.ts +2 -2
- package/script/typescript/ReactRouterPathParams.d.ts.map +1 -1
|
@@ -72,24 +72,29 @@ class CoreContext {
|
|
|
72
72
|
if (__classPrivateFieldGet(this, _CoreContext_phase, "f").type !== 'parse') {
|
|
73
73
|
throw new Error(`Expected 'parse' phase, got '${__classPrivateFieldGet(this, _CoreContext_phase, "f").type}'`);
|
|
74
74
|
}
|
|
75
|
+
const callback = (generatorKey) => {
|
|
76
|
+
if (__classPrivateFieldGet(this, _CoreContext_phase, "f").type === 'render') {
|
|
77
|
+
__classPrivateFieldGet(this, _CoreContext_phase, "f").context.addGeneratorKey({ generatorKey });
|
|
78
|
+
}
|
|
79
|
+
};
|
|
75
80
|
const schemaModel = __classPrivateFieldGet(this, _CoreContext_phase, "f").context.parse();
|
|
76
81
|
__classPrivateFieldSet(this, _CoreContext_phase, __classPrivateFieldGet(this, _CoreContext_instances, "m", _CoreContext_setupGeneratePhase).call(this, {
|
|
77
82
|
schemaModel,
|
|
78
83
|
settings,
|
|
79
|
-
generatorsMap
|
|
84
|
+
generatorsMap,
|
|
85
|
+
callback
|
|
80
86
|
}), "f");
|
|
81
|
-
__classPrivateFieldGet(this, _CoreContext_phase, "f").context.generate(
|
|
82
|
-
this.logger.debug(`${
|
|
87
|
+
const files = __classPrivateFieldGet(this, _CoreContext_phase, "f").context.generate(generatorsMap);
|
|
88
|
+
this.logger.debug(`${files.size} files generated`);
|
|
83
89
|
__classPrivateFieldSet(this, _CoreContext_phase, __classPrivateFieldGet(this, _CoreContext_instances, "m", _CoreContext_setupRenderPhase).call(this, {
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
pinnableGenerators: Object.values(this.generatorsMap)
|
|
90
|
+
files,
|
|
91
|
+
pinnableGenerators: Object.values(generatorsMap)
|
|
87
92
|
.map(({ id, pinnable }) => (pinnable ? id : null))
|
|
88
93
|
.filter(generatorId => generatorId !== null),
|
|
89
94
|
prettier,
|
|
90
|
-
settings
|
|
95
|
+
basePath: settings?.basePath
|
|
91
96
|
}), "f");
|
|
92
|
-
const renderOutput = __classPrivateFieldGet(this, _CoreContext_phase, "f").context.render(
|
|
97
|
+
const renderOutput = __classPrivateFieldGet(this, _CoreContext_phase, "f").context.render();
|
|
93
98
|
__classPrivateFieldGet(this, _CoreContext_stackTrail, "f").remove('render');
|
|
94
99
|
return {
|
|
95
100
|
...renderOutput,
|
|
@@ -116,192 +121,6 @@ class CoreContext {
|
|
|
116
121
|
removeStackTrailChunk(chunk) {
|
|
117
122
|
__classPrivateFieldGet(this, _CoreContext_stackTrail, "f").remove(chunk);
|
|
118
123
|
}
|
|
119
|
-
register({ destinationPath, ...args }) {
|
|
120
|
-
return (0, ts_pattern_1.match)(__classPrivateFieldGet(this, _CoreContext_phase, "f"))
|
|
121
|
-
.with({ type: 'generate' }, ({ context }) => {
|
|
122
|
-
return context.register({ destinationPath, ...args });
|
|
123
|
-
})
|
|
124
|
-
.with({ type: 'parse' }, () => {
|
|
125
|
-
throw new Error(`Cannot register during parse phase`);
|
|
126
|
-
})
|
|
127
|
-
.with({ type: 'render' }, () => {
|
|
128
|
-
throw new Error(`Cannot register during render phase`);
|
|
129
|
-
})
|
|
130
|
-
.exhaustive();
|
|
131
|
-
}
|
|
132
|
-
addGeneratorKey({ generatorKey }) {
|
|
133
|
-
return (0, ts_pattern_1.match)(__classPrivateFieldGet(this, _CoreContext_phase, "f"))
|
|
134
|
-
.with({ type: 'generate' }, () => {
|
|
135
|
-
this.logger.info('trying to add generator key during generate phase');
|
|
136
|
-
})
|
|
137
|
-
.with({ type: 'parse' }, () => {
|
|
138
|
-
throw new Error(`Cannot add generator key during parse phase`);
|
|
139
|
-
})
|
|
140
|
-
.with({ type: 'render' }, ({ context }) => {
|
|
141
|
-
return context.addGeneratorKey({ generatorKey });
|
|
142
|
-
})
|
|
143
|
-
.exhaustive();
|
|
144
|
-
}
|
|
145
|
-
resolveSchemaRefOnce(refName) {
|
|
146
|
-
return (0, ts_pattern_1.match)(__classPrivateFieldGet(this, _CoreContext_phase, "f"))
|
|
147
|
-
.with({ type: 'generate' }, ({ context }) => {
|
|
148
|
-
return context.resolveSchemaRefOnce(refName);
|
|
149
|
-
})
|
|
150
|
-
.with({ type: 'parse' }, () => {
|
|
151
|
-
throw new Error(`Cannot resolve schema during parse phase`);
|
|
152
|
-
})
|
|
153
|
-
.with({ type: 'render' }, () => {
|
|
154
|
-
throw new Error(`Cannot resolve schema during render phase`);
|
|
155
|
-
})
|
|
156
|
-
.exhaustive();
|
|
157
|
-
}
|
|
158
|
-
addRenderDependency(args) {
|
|
159
|
-
return (0, ts_pattern_1.match)(__classPrivateFieldGet(this, _CoreContext_phase, "f"))
|
|
160
|
-
.with({ type: 'generate' }, ({ context }) => {
|
|
161
|
-
return context.addRenderDependency(args);
|
|
162
|
-
})
|
|
163
|
-
.with({ type: 'parse' }, () => {
|
|
164
|
-
throw new Error(`Cannot add render dependency during parse phase`);
|
|
165
|
-
})
|
|
166
|
-
.with({ type: 'render' }, () => {
|
|
167
|
-
throw new Error(`Cannot add render dependency during render phase`);
|
|
168
|
-
})
|
|
169
|
-
.exhaustive();
|
|
170
|
-
}
|
|
171
|
-
getFile(filePath) {
|
|
172
|
-
return (0, ts_pattern_1.match)(__classPrivateFieldGet(this, _CoreContext_phase, "f"))
|
|
173
|
-
.with({ type: 'generate' }, ({ context }) => {
|
|
174
|
-
return context.getFile(filePath);
|
|
175
|
-
})
|
|
176
|
-
.with({ type: 'parse' }, () => {
|
|
177
|
-
throw new Error(`Cannot get file during parse phase`);
|
|
178
|
-
})
|
|
179
|
-
.with({ type: 'render' }, () => {
|
|
180
|
-
throw new Error(`Cannot get file during render phase`);
|
|
181
|
-
})
|
|
182
|
-
.exhaustive();
|
|
183
|
-
}
|
|
184
|
-
findDefinition(args) {
|
|
185
|
-
return (0, ts_pattern_1.match)(__classPrivateFieldGet(this, _CoreContext_phase, "f"))
|
|
186
|
-
.with({ type: 'generate' }, ({ context }) => context.findDefinition(args))
|
|
187
|
-
.with({ type: 'parse' }, () => {
|
|
188
|
-
throw new Error(`Cannot pick during parse phase`);
|
|
189
|
-
})
|
|
190
|
-
.with({ type: 'render' }, ({ context }) => context.pick(args))
|
|
191
|
-
.exhaustive();
|
|
192
|
-
}
|
|
193
|
-
addFile(normalisedPath) {
|
|
194
|
-
return (0, ts_pattern_1.match)(__classPrivateFieldGet(this, _CoreContext_phase, "f"))
|
|
195
|
-
.with({ type: 'generate' }, ({ context }) => {
|
|
196
|
-
return context.addFile(normalisedPath);
|
|
197
|
-
})
|
|
198
|
-
.with({ type: 'parse' }, () => {
|
|
199
|
-
throw new Error(`Cannot add file during parse phase`);
|
|
200
|
-
})
|
|
201
|
-
.with({ type: 'render' }, () => {
|
|
202
|
-
throw new Error(`Cannot add file during render phase`);
|
|
203
|
-
})
|
|
204
|
-
.exhaustive();
|
|
205
|
-
}
|
|
206
|
-
getOperationBaseSettings(args) {
|
|
207
|
-
return (0, ts_pattern_1.match)(__classPrivateFieldGet(this, _CoreContext_phase, "f"))
|
|
208
|
-
.with({ type: 'generate' }, ({ context }) => {
|
|
209
|
-
return context.getOperationBaseSettings(args);
|
|
210
|
-
})
|
|
211
|
-
.with({ type: 'parse' }, () => {
|
|
212
|
-
throw new Error(`Cannot access operation settings during parse phase`);
|
|
213
|
-
})
|
|
214
|
-
.with({ type: 'render' }, () => {
|
|
215
|
-
throw new Error(`Cannot access operation settings during render phase`);
|
|
216
|
-
})
|
|
217
|
-
.exhaustive();
|
|
218
|
-
}
|
|
219
|
-
insert(args) {
|
|
220
|
-
return (0, ts_pattern_1.match)(__classPrivateFieldGet(this, _CoreContext_phase, "f"))
|
|
221
|
-
.with({ type: 'generate' }, ({ context }) => {
|
|
222
|
-
return context.insert({ ...args, coreContext: this });
|
|
223
|
-
})
|
|
224
|
-
.with({ type: 'parse' }, () => {
|
|
225
|
-
throw new Error(`Cannot run 'transform' during parse phase`);
|
|
226
|
-
})
|
|
227
|
-
.with({ type: 'render' }, () => {
|
|
228
|
-
throw new Error(`Cannot run 'transform' during render phase`);
|
|
229
|
-
})
|
|
230
|
-
.exhaustive();
|
|
231
|
-
}
|
|
232
|
-
getModelBaseSettings(args) {
|
|
233
|
-
return (0, ts_pattern_1.match)(__classPrivateFieldGet(this, _CoreContext_phase, "f"))
|
|
234
|
-
.with({ type: 'generate' }, ({ context }) => {
|
|
235
|
-
return context.getModelBaseSettings(args);
|
|
236
|
-
})
|
|
237
|
-
.with({ type: 'parse' }, () => {
|
|
238
|
-
throw new Error(`Cannot access model settings during parse phase`);
|
|
239
|
-
})
|
|
240
|
-
.with({ type: 'render' }, () => {
|
|
241
|
-
throw new Error(`Cannot access model settings during render phase`);
|
|
242
|
-
})
|
|
243
|
-
.exhaustive();
|
|
244
|
-
}
|
|
245
|
-
get files() {
|
|
246
|
-
return (0, ts_pattern_1.match)(__classPrivateFieldGet(this, _CoreContext_phase, "f"))
|
|
247
|
-
.with({ type: 'generate' }, ({ context }) => context.files)
|
|
248
|
-
.with({ type: 'parse' }, () => {
|
|
249
|
-
throw new Error(`Cannot access files during parse phase`);
|
|
250
|
-
})
|
|
251
|
-
.with({ type: 'render' }, ({ context }) => context.files)
|
|
252
|
-
.exhaustive();
|
|
253
|
-
}
|
|
254
|
-
get renderDependencies() {
|
|
255
|
-
return (0, ts_pattern_1.match)(__classPrivateFieldGet(this, _CoreContext_phase, "f"))
|
|
256
|
-
.with({ type: 'generate' }, ({ context }) => context.renderDependencies)
|
|
257
|
-
.with({ type: 'parse' }, () => {
|
|
258
|
-
throw new Error(`Cannot access files during parse phase`);
|
|
259
|
-
})
|
|
260
|
-
.with({ type: 'render' }, ({ context }) => context.renderDependencies)
|
|
261
|
-
.exhaustive();
|
|
262
|
-
}
|
|
263
|
-
get packageDependencies() {
|
|
264
|
-
return (0, ts_pattern_1.match)(__classPrivateFieldGet(this, _CoreContext_phase, "f"))
|
|
265
|
-
.with({ type: 'generate' }, ({ context }) => context.packageDependencies)
|
|
266
|
-
.with({ type: 'parse' }, () => {
|
|
267
|
-
throw new Error(`Cannot access package dependencies during parse phase`);
|
|
268
|
-
})
|
|
269
|
-
.with({ type: 'render' }, ({ context }) => context.packageDependencies)
|
|
270
|
-
.exhaustive();
|
|
271
|
-
}
|
|
272
|
-
get schemaModel() {
|
|
273
|
-
return (0, ts_pattern_1.match)(__classPrivateFieldGet(this, _CoreContext_phase, "f"))
|
|
274
|
-
.with({ type: 'generate' }, ({ context }) => context.schemaModel)
|
|
275
|
-
.with({ type: 'parse' }, () => {
|
|
276
|
-
throw new Error(`Cannot access schema model during parse phase`);
|
|
277
|
-
})
|
|
278
|
-
.with({ type: 'render' }, () => {
|
|
279
|
-
throw new Error(`Cannot access schema model during render phase`);
|
|
280
|
-
})
|
|
281
|
-
.exhaustive();
|
|
282
|
-
}
|
|
283
|
-
get generatorsMap() {
|
|
284
|
-
return (0, ts_pattern_1.match)(__classPrivateFieldGet(this, _CoreContext_phase, "f"))
|
|
285
|
-
.with({ type: 'generate' }, ({ context }) => context.generatorsMap)
|
|
286
|
-
.with({ type: 'parse' }, () => {
|
|
287
|
-
throw new Error(`Cannot access schema model during parse phase`);
|
|
288
|
-
})
|
|
289
|
-
.with({ type: 'render' }, () => {
|
|
290
|
-
throw new Error(`Cannot access schema model during render phase`);
|
|
291
|
-
})
|
|
292
|
-
.exhaustive();
|
|
293
|
-
}
|
|
294
|
-
get settings() {
|
|
295
|
-
return (0, ts_pattern_1.match)(__classPrivateFieldGet(this, _CoreContext_phase, "f"))
|
|
296
|
-
.with({ type: 'generate' }, ({ context }) => context.settings)
|
|
297
|
-
.with({ type: 'parse' }, () => {
|
|
298
|
-
throw new Error(`Cannot access settings during parse phase`);
|
|
299
|
-
})
|
|
300
|
-
.with({ type: 'render' }, () => {
|
|
301
|
-
throw new Error(`Cannot access settings during render phase`);
|
|
302
|
-
})
|
|
303
|
-
.exhaustive();
|
|
304
|
-
}
|
|
305
124
|
}
|
|
306
125
|
exports.CoreContext = CoreContext;
|
|
307
126
|
_CoreContext_phase = new WeakMap(), _CoreContext_results = new WeakMap(), _CoreContext_stackTrail = new WeakMap(), _CoreContext_instances = new WeakSet(), _CoreContext_setupLogger = function _CoreContext_setupLogger(spanId) {
|
|
@@ -341,24 +160,24 @@ _CoreContext_phase = new WeakMap(), _CoreContext_results = new WeakMap(), _CoreC
|
|
|
341
160
|
__classPrivateFieldGet(this, _CoreContext_stackTrail, "f").append('parse');
|
|
342
161
|
const parseContext = new ParseContext_js_1.ParseContext({ schema, logger: this.logger });
|
|
343
162
|
return { type: 'parse', context: parseContext };
|
|
344
|
-
}, _CoreContext_setupGeneratePhase = function _CoreContext_setupGeneratePhase({ schemaModel, settings, generatorsMap }) {
|
|
163
|
+
}, _CoreContext_setupGeneratePhase = function _CoreContext_setupGeneratePhase({ schemaModel, settings, generatorsMap, callback }) {
|
|
345
164
|
__classPrivateFieldGet(this, _CoreContext_stackTrail, "f").remove('parse');
|
|
346
165
|
__classPrivateFieldGet(this, _CoreContext_stackTrail, "f").append('generate');
|
|
347
166
|
const generateContext = new GenerateContext_js_1.GenerateContext({
|
|
348
167
|
schemaModel,
|
|
349
168
|
settings,
|
|
350
|
-
generatorsMap
|
|
169
|
+
generatorsMap,
|
|
170
|
+
logger: this.logger,
|
|
171
|
+
callback
|
|
351
172
|
});
|
|
352
173
|
return { type: 'generate', context: generateContext };
|
|
353
|
-
}, _CoreContext_setupRenderPhase = function _CoreContext_setupRenderPhase({
|
|
174
|
+
}, _CoreContext_setupRenderPhase = function _CoreContext_setupRenderPhase({ files, prettier, basePath, pinnableGenerators }) {
|
|
354
175
|
__classPrivateFieldGet(this, _CoreContext_stackTrail, "f").remove('generate');
|
|
355
176
|
__classPrivateFieldGet(this, _CoreContext_stackTrail, "f").append('render');
|
|
356
177
|
const renderContext = new RenderContext_js_1.RenderContext({
|
|
357
|
-
files
|
|
358
|
-
renderDependencies,
|
|
359
|
-
packageDependencies,
|
|
178
|
+
files,
|
|
360
179
|
prettier,
|
|
361
|
-
|
|
180
|
+
basePath,
|
|
362
181
|
pinnableGenerators
|
|
363
182
|
});
|
|
364
183
|
return { type: 'render', context: renderContext };
|
|
@@ -3,20 +3,23 @@ import type { Definition } from '../dsl/Definition.js';
|
|
|
3
3
|
import type { OasDocument } from '../oas/document/Document.js';
|
|
4
4
|
import type { OasSchema } from '../oas/schema/Schema.js';
|
|
5
5
|
import type { OasRef } from '../oas/ref/Ref.js';
|
|
6
|
-
import type { FileContents, GetFileOptions
|
|
6
|
+
import type { FileContents, GetFileOptions } from './types.js';
|
|
7
7
|
import type { BaseSettings, ClientSettings } from '../types/Settings.js';
|
|
8
8
|
import type { Method } from '../types/Method.js';
|
|
9
9
|
import type { OperationInsertable, OperationGenerator } from '../dsl/OperationInsertable.js';
|
|
10
10
|
import type { OasOperation } from '../oas/operation/Operation.js';
|
|
11
|
-
import type { CoreContext } from './CoreContext.js';
|
|
12
11
|
import type { ModelInsertable, ModelGenerator } from '../dsl/ModelInsertable.js';
|
|
13
12
|
import type { GenerationType, GeneratedDefintion, GeneratedValue } from '../types/GeneratedValue.js';
|
|
14
13
|
import type { ContentSettings } from '../dsl/ContentSettings.js';
|
|
15
14
|
import type { RefName } from '../types/RefName.js';
|
|
15
|
+
import type * as log from '../deps/jsr.io/@std/log/0.224.6/mod.js';
|
|
16
|
+
import type { GeneratorKey } from '../types/GeneratorKeys.js';
|
|
16
17
|
type ConstructorArgs = {
|
|
17
18
|
schemaModel: OasDocument;
|
|
18
19
|
settings: ClientSettings | undefined;
|
|
19
20
|
generatorsMap: Record<string, OperationGenerator | ModelGenerator>;
|
|
21
|
+
logger: log.Logger;
|
|
22
|
+
callback: (generatorKey: GeneratorKey) => void;
|
|
20
23
|
};
|
|
21
24
|
export type PickArgs = {
|
|
22
25
|
name: string;
|
|
@@ -24,7 +27,6 @@ export type PickArgs = {
|
|
|
24
27
|
};
|
|
25
28
|
export type RegisterArgs = {
|
|
26
29
|
imports?: Record<string, ImportNameArg[]>;
|
|
27
|
-
packageDependencies?: Record<string, string>;
|
|
28
30
|
definitions?: (Definition | undefined)[];
|
|
29
31
|
destinationPath: string;
|
|
30
32
|
};
|
|
@@ -59,27 +61,22 @@ export type InsertReturn<V extends GeneratedValue, T extends GenerationType> = {
|
|
|
59
61
|
};
|
|
60
62
|
export declare class GenerateContext {
|
|
61
63
|
#private;
|
|
62
|
-
files: Map<string, FileContents>;
|
|
63
|
-
renderDependencies: RenderDependencies;
|
|
64
|
-
packageDependencies: Map<string, string>;
|
|
65
64
|
schemaModel: OasDocument;
|
|
66
65
|
settings: ClientSettings | undefined;
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
66
|
+
logger: log.Logger;
|
|
67
|
+
callback: (generatorKey: GeneratorKey) => void;
|
|
68
|
+
constructor({ schemaModel, settings, logger, callback }: ConstructorArgs);
|
|
69
|
+
generate(generatorsMap: Record<string, OperationGenerator | ModelGenerator>): Map<string, FileContents>;
|
|
70
70
|
appendStackTrailChunk(chunk: string | string[]): void;
|
|
71
71
|
removeStackTrailChunk(chunk: string | string[]): void;
|
|
72
72
|
get stackTrail(): string;
|
|
73
73
|
getFile(filePath: string, { throwIfNotFound }?: GetFileOptions): FileContents;
|
|
74
|
-
register({ imports,
|
|
75
|
-
insert<V extends GeneratedValue, T extends GenerationType>({
|
|
76
|
-
coreContext: CoreContext;
|
|
77
|
-
}): InsertReturn<V, T>;
|
|
74
|
+
register({ imports, definitions, destinationPath }: RegisterArgs): void;
|
|
75
|
+
insert<V extends GeneratedValue, T extends GenerationType>({ generation, destinationPath, ...rest }: InsertArgs<V, T>): InsertReturn<V, T>;
|
|
78
76
|
getOperationBaseSettings({ generatorId, path, method }: GetOperationSettingsArgs): BaseSettings;
|
|
79
77
|
getModelBaseSettings({ generatorId, refName }: GetModelSettingsArgs): BaseSettings;
|
|
80
78
|
addFile(normalisedPath: string): FileContents;
|
|
81
79
|
resolveSchemaRefOnce(refName: RefName): OasSchema | OasRef<'schema'>;
|
|
82
|
-
addRenderDependency({ generatorId, dependencies, operation }: AddRenderDependencyArgs): void;
|
|
83
80
|
/** Produce external instance and return its name */
|
|
84
81
|
findDefinition({ name, exportPath }: PickArgs): Definition | undefined;
|
|
85
82
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GenerateContext.d.ts","sourceRoot":"","sources":["../../src/context/GenerateContext.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAErD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AAC9D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACxD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"GenerateContext.d.ts","sourceRoot":"","sources":["../../src/context/GenerateContext.ts"],"names":[],"mappings":"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"}
|
|
@@ -33,81 +33,72 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
33
33
|
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
34
34
|
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
35
35
|
};
|
|
36
|
-
var _GenerateContext_instances, _GenerateContext_stackTrail, _GenerateContext_runOperationGenerator, _GenerateContext_runModelGenerator, _GenerateContext_generateModel, _GenerateContext_generateOperation;
|
|
36
|
+
var _GenerateContext_instances, _GenerateContext_files, _GenerateContext_stackTrail, _GenerateContext_runOperationGenerator, _GenerateContext_runModelGenerator, _GenerateContext_generateModel, _GenerateContext_generateOperation;
|
|
37
37
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
38
38
|
exports.GenerateContext = void 0;
|
|
39
39
|
const mod_js_1 = require("../deps/jsr.io/@std/path/1.0.0/mod.js");
|
|
40
40
|
const Import_js_1 = require("../dsl/Import.js");
|
|
41
|
-
const GeneratorKeys_js_1 = require("../types/GeneratorKeys.js");
|
|
42
41
|
const OperationDriver_js_1 = require("../dsl/OperationDriver.js");
|
|
43
42
|
const ModelDriver_js_1 = require("../dsl/ModelDriver.js");
|
|
44
43
|
const StackTrail_js_1 = require("./StackTrail.js");
|
|
45
44
|
const Sentry = __importStar(require("@sentry/deno"));
|
|
46
45
|
class GenerateContext {
|
|
47
|
-
constructor({ schemaModel,
|
|
46
|
+
constructor({ schemaModel, settings, logger, callback }) {
|
|
48
47
|
_GenerateContext_instances.add(this);
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
configurable: true,
|
|
52
|
-
writable: true,
|
|
53
|
-
value: void 0
|
|
54
|
-
});
|
|
55
|
-
Object.defineProperty(this, "renderDependencies", {
|
|
56
|
-
enumerable: true,
|
|
57
|
-
configurable: true,
|
|
58
|
-
writable: true,
|
|
59
|
-
value: void 0
|
|
60
|
-
});
|
|
61
|
-
Object.defineProperty(this, "packageDependencies", {
|
|
48
|
+
_GenerateContext_files.set(this, void 0);
|
|
49
|
+
Object.defineProperty(this, "schemaModel", {
|
|
62
50
|
enumerable: true,
|
|
63
51
|
configurable: true,
|
|
64
52
|
writable: true,
|
|
65
53
|
value: void 0
|
|
66
54
|
});
|
|
67
|
-
Object.defineProperty(this, "
|
|
55
|
+
Object.defineProperty(this, "settings", {
|
|
68
56
|
enumerable: true,
|
|
69
57
|
configurable: true,
|
|
70
58
|
writable: true,
|
|
71
59
|
value: void 0
|
|
72
60
|
});
|
|
73
|
-
|
|
61
|
+
_GenerateContext_stackTrail.set(this, void 0);
|
|
62
|
+
Object.defineProperty(this, "logger", {
|
|
74
63
|
enumerable: true,
|
|
75
64
|
configurable: true,
|
|
76
65
|
writable: true,
|
|
77
66
|
value: void 0
|
|
78
67
|
});
|
|
79
|
-
Object.defineProperty(this, "
|
|
68
|
+
Object.defineProperty(this, "callback", {
|
|
80
69
|
enumerable: true,
|
|
81
70
|
configurable: true,
|
|
82
71
|
writable: true,
|
|
83
72
|
value: void 0
|
|
84
73
|
});
|
|
85
|
-
|
|
74
|
+
this.logger = logger;
|
|
86
75
|
__classPrivateFieldSet(this, _GenerateContext_stackTrail, new StackTrail_js_1.StackTrail(), "f");
|
|
87
|
-
this
|
|
88
|
-
this.files = new Map();
|
|
89
|
-
this.renderDependencies = new Map();
|
|
90
|
-
this.packageDependencies = new Map();
|
|
76
|
+
__classPrivateFieldSet(this, _GenerateContext_files, new Map(), "f");
|
|
91
77
|
this.schemaModel = schemaModel;
|
|
92
78
|
this.settings = settings;
|
|
79
|
+
this.callback = callback;
|
|
93
80
|
}
|
|
94
|
-
generate(
|
|
95
|
-
Sentry.startSpan({ name: 'Generate operations' }, () => Object.values(
|
|
81
|
+
generate(generatorsMap) {
|
|
82
|
+
Sentry.startSpan({ name: 'Generate operations' }, () => Object.values(generatorsMap)
|
|
96
83
|
.filter(generator => generator.type === 'operation')
|
|
97
84
|
.forEach(generator => {
|
|
98
85
|
this.appendStackTrailChunk(generator.id);
|
|
99
|
-
__classPrivateFieldGet(this, _GenerateContext_instances, "m", _GenerateContext_runOperationGenerator).call(this, {
|
|
86
|
+
__classPrivateFieldGet(this, _GenerateContext_instances, "m", _GenerateContext_runOperationGenerator).call(this, {
|
|
87
|
+
schemaModel: this.schemaModel,
|
|
88
|
+
generator
|
|
89
|
+
});
|
|
100
90
|
this.removeStackTrailChunk(generator.id);
|
|
101
91
|
}));
|
|
102
92
|
Sentry.startSpan({ name: 'Generate models' }, () => {
|
|
103
|
-
Object.values(
|
|
93
|
+
Object.values(generatorsMap)
|
|
104
94
|
.filter(generator => generator.type === 'model')
|
|
105
95
|
.forEach(generator => {
|
|
106
96
|
this.appendStackTrailChunk(generator.id);
|
|
107
|
-
__classPrivateFieldGet(this, _GenerateContext_instances, "m", _GenerateContext_runModelGenerator).call(this, {
|
|
97
|
+
__classPrivateFieldGet(this, _GenerateContext_instances, "m", _GenerateContext_runModelGenerator).call(this, { schemaModel: this.schemaModel, generator });
|
|
108
98
|
this.removeStackTrailChunk(generator.id);
|
|
109
99
|
});
|
|
110
100
|
});
|
|
101
|
+
return __classPrivateFieldGet(this, _GenerateContext_files, "f");
|
|
111
102
|
}
|
|
112
103
|
appendStackTrailChunk(chunk) {
|
|
113
104
|
__classPrivateFieldGet(this, _GenerateContext_stackTrail, "f").append(chunk);
|
|
@@ -115,12 +106,18 @@ class GenerateContext {
|
|
|
115
106
|
removeStackTrailChunk(chunk) {
|
|
116
107
|
__classPrivateFieldGet(this, _GenerateContext_stackTrail, "f").remove(chunk);
|
|
117
108
|
}
|
|
109
|
+
// captureCurrentResult(result: SuccessWarningError): void {
|
|
110
|
+
// const stackTrail = this.#stackTrail.toString()
|
|
111
|
+
// if (applyResult({ current: this.#results[stackTrail], incoming: result })) {
|
|
112
|
+
// this.#results[stackTrail] = result
|
|
113
|
+
// }
|
|
114
|
+
// }
|
|
118
115
|
get stackTrail() {
|
|
119
116
|
return __classPrivateFieldGet(this, _GenerateContext_stackTrail, "f").toString();
|
|
120
117
|
}
|
|
121
118
|
getFile(filePath, { throwIfNotFound = false } = {}) {
|
|
122
119
|
const normalisedPath = (0, mod_js_1.normalize)(filePath);
|
|
123
|
-
const currentFile = this.
|
|
120
|
+
const currentFile = __classPrivateFieldGet(this, _GenerateContext_files, "f").get(normalisedPath);
|
|
124
121
|
if (!currentFile) {
|
|
125
122
|
if (throwIfNotFound) {
|
|
126
123
|
throw new Error(`File not found: '${normalisedPath}'`);
|
|
@@ -131,7 +128,7 @@ class GenerateContext {
|
|
|
131
128
|
}
|
|
132
129
|
return currentFile;
|
|
133
130
|
}
|
|
134
|
-
register({ imports = {},
|
|
131
|
+
register({ imports = {}, definitions, destinationPath }) {
|
|
135
132
|
const currentFile = this.getFile(destinationPath);
|
|
136
133
|
Object.entries(imports).forEach(([importModule, importNames]) => {
|
|
137
134
|
const module = currentFile.imports.get(importModule);
|
|
@@ -143,20 +140,17 @@ class GenerateContext {
|
|
|
143
140
|
currentFile.imports.set(importModule, new Set(importItem.importNames.map(n => `${n}`)));
|
|
144
141
|
}
|
|
145
142
|
});
|
|
146
|
-
Object.entries(packageDependencies).forEach(([module, version]) => {
|
|
147
|
-
this.packageDependencies.set(module, version);
|
|
148
|
-
});
|
|
149
143
|
definitions
|
|
150
144
|
?.filter((definition) => Boolean(definition))
|
|
151
145
|
.forEach(definition => {
|
|
152
146
|
currentFile.definitions.set(`${definition.identifier}`, definition);
|
|
153
147
|
});
|
|
154
148
|
}
|
|
155
|
-
insert({
|
|
149
|
+
insert({ generation, destinationPath, ...rest }) {
|
|
156
150
|
if ('operation' in rest) {
|
|
157
151
|
const { insertable, operation } = rest;
|
|
158
152
|
const { settings, definition } = new OperationDriver_js_1.OperationDriver({
|
|
159
|
-
context:
|
|
153
|
+
context: this,
|
|
160
154
|
insertable,
|
|
161
155
|
operation,
|
|
162
156
|
generation,
|
|
@@ -167,7 +161,7 @@ class GenerateContext {
|
|
|
167
161
|
else {
|
|
168
162
|
const { insertable, refName } = rest;
|
|
169
163
|
const { settings, definition } = new ModelDriver_js_1.ModelDriver({
|
|
170
|
-
context:
|
|
164
|
+
context: this,
|
|
171
165
|
insertable,
|
|
172
166
|
refName,
|
|
173
167
|
generation,
|
|
@@ -209,7 +203,7 @@ class GenerateContext {
|
|
|
209
203
|
return baseSettings;
|
|
210
204
|
}
|
|
211
205
|
addFile(normalisedPath) {
|
|
212
|
-
if (this.
|
|
206
|
+
if (__classPrivateFieldGet(this, _GenerateContext_files, "f").has(normalisedPath)) {
|
|
213
207
|
throw new Error(`File already exists: ${normalisedPath}`);
|
|
214
208
|
}
|
|
215
209
|
const newFile = {
|
|
@@ -217,7 +211,7 @@ class GenerateContext {
|
|
|
217
211
|
definitions: new Map(),
|
|
218
212
|
generatorKeys: new Set()
|
|
219
213
|
};
|
|
220
|
-
this.
|
|
214
|
+
__classPrivateFieldGet(this, _GenerateContext_files, "f").set(normalisedPath, newFile);
|
|
221
215
|
return newFile;
|
|
222
216
|
}
|
|
223
217
|
resolveSchemaRefOnce(refName) {
|
|
@@ -227,24 +221,15 @@ class GenerateContext {
|
|
|
227
221
|
}
|
|
228
222
|
return schema;
|
|
229
223
|
}
|
|
230
|
-
addRenderDependency({ generatorId, dependencies, operation }) {
|
|
231
|
-
if (!this.renderDependencies.has(generatorId)) {
|
|
232
|
-
this.renderDependencies.set(generatorId, new Set());
|
|
233
|
-
}
|
|
234
|
-
const generatorDependencies = this.renderDependencies.get(generatorId);
|
|
235
|
-
dependencies.forEach(dependencyId => {
|
|
236
|
-
generatorDependencies?.add((0, GeneratorKeys_js_1.toOperationGeneratorKey)({ generatorId: dependencyId, operation }));
|
|
237
|
-
});
|
|
238
|
-
}
|
|
239
224
|
/** Produce external instance and return its name */
|
|
240
225
|
findDefinition({ name, exportPath }) {
|
|
241
226
|
return this.getFile(exportPath).definitions.get(name);
|
|
242
227
|
}
|
|
243
228
|
}
|
|
244
229
|
exports.GenerateContext = GenerateContext;
|
|
245
|
-
_GenerateContext_stackTrail = new WeakMap(), _GenerateContext_instances = new WeakSet(), _GenerateContext_runOperationGenerator = function _GenerateContext_runOperationGenerator({
|
|
246
|
-
const generatorInstance = new generator(
|
|
247
|
-
|
|
230
|
+
_GenerateContext_files = new WeakMap(), _GenerateContext_stackTrail = new WeakMap(), _GenerateContext_instances = new WeakSet(), _GenerateContext_runOperationGenerator = function _GenerateContext_runOperationGenerator({ schemaModel, generator }) {
|
|
231
|
+
const generatorInstance = new generator(this);
|
|
232
|
+
schemaModel.operations.forEach(operation => {
|
|
248
233
|
// TODO If we make OasOperation generic, for example by
|
|
249
234
|
// adding a `method` type, we could make isSupported
|
|
250
235
|
// a type guard which could help us narrow down the
|
|
@@ -255,40 +240,39 @@ _GenerateContext_stackTrail = new WeakMap(), _GenerateContext_instances = new We
|
|
|
255
240
|
const { path, method } = operation;
|
|
256
241
|
if (generator.isSupported(operation)) {
|
|
257
242
|
this.appendStackTrailChunk([path, method]);
|
|
258
|
-
__classPrivateFieldGet(this, _GenerateContext_instances, "m", _GenerateContext_generateOperation).call(this, {
|
|
243
|
+
__classPrivateFieldGet(this, _GenerateContext_instances, "m", _GenerateContext_generateOperation).call(this, { operation, generatorInstance });
|
|
259
244
|
this.removeStackTrailChunk([path, method]);
|
|
260
245
|
}
|
|
261
246
|
});
|
|
262
|
-
}, _GenerateContext_runModelGenerator = function _GenerateContext_runModelGenerator({
|
|
263
|
-
const generatorInstance = new generator(
|
|
264
|
-
const refNames = Object.keys(
|
|
247
|
+
}, _GenerateContext_runModelGenerator = function _GenerateContext_runModelGenerator({ schemaModel, generator }) {
|
|
248
|
+
const generatorInstance = new generator(this);
|
|
249
|
+
const refNames = Object.keys(schemaModel.components?.schemas ?? {});
|
|
265
250
|
refNames.forEach(rn => {
|
|
266
251
|
this.appendStackTrailChunk(rn);
|
|
267
252
|
__classPrivateFieldGet(this, _GenerateContext_instances, "m", _GenerateContext_generateModel).call(this, {
|
|
268
|
-
context,
|
|
269
253
|
refName: rn,
|
|
270
254
|
generatorInstance
|
|
271
255
|
});
|
|
272
256
|
this.removeStackTrailChunk(rn);
|
|
273
257
|
});
|
|
274
|
-
}, _GenerateContext_generateModel = function _GenerateContext_generateModel({
|
|
258
|
+
}, _GenerateContext_generateModel = function _GenerateContext_generateModel({ refName, generatorInstance }) {
|
|
275
259
|
try {
|
|
276
260
|
generatorInstance.transformModel(refName);
|
|
277
|
-
|
|
261
|
+
// this.captureCurrentResult('success')
|
|
278
262
|
}
|
|
279
263
|
catch (error) {
|
|
280
|
-
|
|
281
|
-
|
|
264
|
+
this.logger.error(error);
|
|
265
|
+
// this.captureCurrentResult('error')
|
|
282
266
|
Sentry.captureException(error);
|
|
283
267
|
}
|
|
284
|
-
}, _GenerateContext_generateOperation = function _GenerateContext_generateOperation({
|
|
268
|
+
}, _GenerateContext_generateOperation = function _GenerateContext_generateOperation({ operation, generatorInstance }) {
|
|
285
269
|
try {
|
|
286
270
|
generatorInstance.transformOperation(operation);
|
|
287
|
-
|
|
271
|
+
// this.captureCurrentResult('success')
|
|
288
272
|
}
|
|
289
273
|
catch (error) {
|
|
290
|
-
|
|
291
|
-
|
|
274
|
+
this.logger.error(error);
|
|
275
|
+
// this.captureCurrentResult('error')
|
|
292
276
|
Sentry.captureException(error);
|
|
293
277
|
}
|
|
294
278
|
};
|
|
@@ -1,31 +1,25 @@
|
|
|
1
1
|
import type { PrettierConfigType } from '../types/prettierConfig.js';
|
|
2
|
-
import type { AddGeneratorKeyArgs, FileContents,
|
|
3
|
-
import type { ClientSettings } from '../types/Settings.js';
|
|
2
|
+
import type { AddGeneratorKeyArgs, FileContents, RenderResult } from './types.js';
|
|
4
3
|
import type { Definition } from '../dsl/Definition.js';
|
|
5
4
|
import type { PickArgs } from './GenerateContext.js';
|
|
6
5
|
type ConstructorArgs = {
|
|
7
6
|
files: Map<string, FileContents>;
|
|
8
|
-
packageDependencies: Map<string, string>;
|
|
9
7
|
prettier?: PrettierConfigType;
|
|
10
|
-
|
|
11
|
-
renderDependencies: RenderDependencies;
|
|
8
|
+
basePath: string | undefined;
|
|
12
9
|
pinnableGenerators: string[];
|
|
13
10
|
};
|
|
14
11
|
export declare class RenderContext {
|
|
15
12
|
#private;
|
|
16
13
|
files: Map<string, FileContents>;
|
|
17
|
-
renderDependencies: RenderDependencies;
|
|
18
|
-
packageDependencies: Map<string, string>;
|
|
19
14
|
private prettier?;
|
|
20
|
-
|
|
15
|
+
basePath: string | undefined;
|
|
21
16
|
currentDestinationPath: string | 'PRE_RENDER' | 'POST_RENDER';
|
|
22
17
|
pinnableGenerators: string[];
|
|
23
|
-
constructor({ files,
|
|
18
|
+
constructor({ files, prettier, basePath, pinnableGenerators }: ConstructorArgs);
|
|
24
19
|
appendStackTrailChunk(chunk: string): void;
|
|
25
20
|
removeStackTrailChunk(chunk: string): void;
|
|
26
21
|
get stackTrail(): string;
|
|
27
|
-
|
|
28
|
-
render({ packageJson }: RenderOptions): Omit<RenderResult, 'results'>;
|
|
22
|
+
render(): Omit<RenderResult, 'results'>;
|
|
29
23
|
private collate;
|
|
30
24
|
getFile(filePath: string): FileContents;
|
|
31
25
|
addGeneratorKey({ generatorKey }: AddGeneratorKeyArgs): void;
|