@rexeus/typeweaver-gen 0.8.0 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.cts CHANGED
@@ -1,56 +1,103 @@
1
- import { IHttpOperationDefinition, IHttpResponseDefinition } from "@rexeus/typeweaver-core";
1
+ import { HttpBodySchema, HttpHeaderSchema, HttpMethod, HttpParamSchema, HttpQuerySchema, HttpStatusCode, SpecDefinition } from "@rexeus/typeweaver-core";
2
2
 
3
- //#region src/Resource.d.ts
4
- type GetResourcesResult = {
5
- entityResources: EntityResources;
6
- sharedResponseResources: SharedResponseResource[];
3
+ //#region src/errors/DerivedResponseCycleError.d.ts
4
+ declare class DerivedResponseCycleError extends Error {
5
+ constructor(responseName: string);
6
+ }
7
+ //#endregion
8
+ //#region src/errors/DuplicateOperationIdError.d.ts
9
+ declare class DuplicateOperationIdError extends Error {
10
+ constructor(operationId: string);
11
+ }
12
+ //#endregion
13
+ //#region src/errors/DuplicateRouteError.d.ts
14
+ declare class DuplicateRouteError extends Error {
15
+ constructor(method: string, path: string, normalizedPath: string);
16
+ }
17
+ //#endregion
18
+ //#region src/errors/EmptyOperationResponsesError.d.ts
19
+ declare class EmptyOperationResponsesError extends Error {
20
+ constructor(operationId: string);
21
+ }
22
+ //#endregion
23
+ //#region src/errors/EmptyResourceOperationsError.d.ts
24
+ declare class EmptyResourceOperationsError extends Error {
25
+ constructor(resourceName: string);
26
+ }
27
+ //#endregion
28
+ //#region src/errors/EmptySpecResourcesError.d.ts
29
+ declare class EmptySpecResourcesError extends Error {
30
+ constructor();
31
+ }
32
+ //#endregion
33
+ //#region src/errors/InvalidDerivedResponseError.d.ts
34
+ declare class InvalidDerivedResponseError extends Error {
35
+ constructor(responseName: string);
36
+ }
37
+ //#endregion
38
+ //#region src/NormalizedSpec.d.ts
39
+ type NormalizedSpec = {
40
+ readonly resources: readonly NormalizedResource[];
41
+ readonly responses: readonly NormalizedResponse[];
7
42
  };
8
- type ExtendedResponseDefinition = IHttpResponseDefinition & {
9
- statusCodeName: string;
10
- isReference: boolean;
43
+ type NormalizedResource = {
44
+ readonly name: string;
45
+ readonly operations: readonly NormalizedOperation[];
11
46
  };
12
- type EntityName = string;
13
- type OperationResource = {
14
- sourceDir: string;
15
- sourceFile: string;
16
- sourceFileName: string;
17
- definition: Omit<IHttpOperationDefinition, "responses"> & {
18
- responses: ExtendedResponseDefinition[];
19
- };
20
- outputDir: string;
21
- entityName: EntityName;
22
- outputRequestFile: string;
23
- outputRequestFileName: string;
24
- outputResponseFile: string;
25
- outputResponseFileName: string;
26
- outputRequestValidationFile: string;
27
- outputRequestValidationFileName: string;
28
- outputResponseValidationFile: string;
29
- outputResponseValidationFileName: string;
30
- outputClientFile: string;
31
- outputClientFileName: string;
47
+ type NormalizedOperation = {
48
+ readonly operationId: string;
49
+ readonly method: HttpMethod;
50
+ readonly path: string;
51
+ readonly summary: string;
52
+ readonly request?: NormalizedRequest;
53
+ readonly responses: readonly NormalizedResponseUsage[];
32
54
  };
33
- type EntityResources = Record<EntityName, {
34
- operations: OperationResource[];
35
- responses: EntityResponseResource[];
36
- }>;
37
- type SharedResponseResource = IHttpResponseDefinition & {
38
- sourceDir: string;
39
- sourceFile: string;
40
- sourceFileName: string;
41
- outputFile: string;
42
- outputFileName: string;
43
- outputDir: string;
55
+ type NormalizedRequest = {
56
+ readonly header?: HttpHeaderSchema;
57
+ readonly param?: HttpParamSchema;
58
+ readonly query?: HttpQuerySchema;
59
+ readonly body?: HttpBodySchema;
44
60
  };
45
- type EntityResponseResource = IHttpResponseDefinition & {
46
- sourceDir: string;
47
- sourceFile: string;
48
- sourceFileName: string;
49
- outputFile: string;
50
- outputFileName: string;
51
- outputDir: string;
52
- entityName: EntityName;
61
+ type NormalizedResponse = {
62
+ readonly name: string;
63
+ readonly statusCode: HttpStatusCode;
64
+ readonly statusCodeName: string;
65
+ readonly description: string;
66
+ readonly header?: HttpHeaderSchema;
67
+ readonly body?: HttpBodySchema;
68
+ readonly kind: "response" | "derived-response";
69
+ readonly derivedFrom?: string;
70
+ readonly lineage?: readonly string[];
71
+ readonly depth?: number;
53
72
  };
73
+ type NormalizedCanonicalResponseUsage = {
74
+ readonly responseName: string;
75
+ readonly source: "canonical";
76
+ };
77
+ type NormalizedInlineResponseUsage = {
78
+ readonly responseName: string;
79
+ readonly source: "inline";
80
+ readonly response: NormalizedResponse;
81
+ };
82
+ type NormalizedResponseUsage = NormalizedCanonicalResponseUsage | NormalizedInlineResponseUsage;
83
+ //#endregion
84
+ //#region src/errors/InvalidRequestSchemaError.d.ts
85
+ declare class InvalidRequestSchemaError extends Error {
86
+ constructor(operationId: string, requestPart: keyof NormalizedRequest);
87
+ }
88
+ //#endregion
89
+ //#region src/errors/MissingDerivedResponseParentError.d.ts
90
+ declare class MissingDerivedResponseParentError extends Error {
91
+ constructor(responseName: string, parentName: string);
92
+ }
93
+ //#endregion
94
+ //#region src/errors/PathParameterMismatchError.d.ts
95
+ declare class PathParameterMismatchError extends Error {
96
+ constructor(operationId: string, path: string, pathParams: readonly string[], requestParams: readonly string[]);
97
+ }
98
+ //#endregion
99
+ //#region src/normalizeSpec.d.ts
100
+ declare const normalizeSpec: (definition: SpecDefinition) => NormalizedSpec;
54
101
  //#endregion
55
102
  //#region src/plugins/types.d.ts
56
103
  /**
@@ -61,27 +108,60 @@ type PluginConfig = Record<string, unknown>;
61
108
  * Context provided to plugins during initialization and finalization
62
109
  */
63
110
  type PluginContext = {
64
- outputDir: string;
65
- inputDir: string;
66
- config: PluginConfig;
111
+ readonly outputDir: string;
112
+ readonly inputDir: string;
113
+ readonly config: PluginConfig;
114
+ };
115
+ type OperationOutputPaths = {
116
+ readonly outputDir: string;
117
+ readonly requestFile: string;
118
+ readonly requestFileName: string;
119
+ readonly responseFile: string;
120
+ readonly responseFileName: string;
121
+ readonly requestValidationFile: string;
122
+ readonly requestValidationFileName: string;
123
+ readonly responseValidationFile: string;
124
+ readonly responseValidationFileName: string;
125
+ readonly clientFile: string;
126
+ readonly clientFileName: string;
67
127
  };
68
128
  /**
69
129
  * Context provided to plugins during generation
70
130
  */
71
131
  type GeneratorContext = PluginContext & {
72
- resources: GetResourcesResult;
73
- templateDir: string;
74
- coreDir: string;
75
- writeFile: (relativePath: string, content: string) => void;
76
- renderTemplate: (templatePath: string, data: unknown) => string;
77
- addGeneratedFile: (relativePath: string) => void;
78
- getGeneratedFiles: () => string[];
132
+ readonly normalizedSpec: NormalizedSpec;
133
+ readonly templateDir: string;
134
+ readonly coreDir: string;
135
+ readonly responsesOutputDir: string;
136
+ readonly specOutputDir: string;
137
+ readonly getCanonicalResponse: (responseName: string) => NormalizedResponse;
138
+ readonly getCanonicalResponseOutputFile: (responseName: string) => string;
139
+ readonly getCanonicalResponseImportPath: (params: {
140
+ readonly importerDir: string;
141
+ readonly responseName: string;
142
+ }) => string;
143
+ readonly getSpecImportPath: (params: {
144
+ readonly importerDir: string;
145
+ }) => string;
146
+ readonly getOperationDefinitionAccessor: (params: {
147
+ readonly resourceName: string;
148
+ readonly operationId: string;
149
+ }) => string;
150
+ readonly getOperationOutputPaths: (params: {
151
+ readonly resourceName: string;
152
+ readonly operationId: string;
153
+ }) => OperationOutputPaths;
154
+ readonly getResourceOutputDir: (resourceName: string) => string;
155
+ readonly writeFile: (relativePath: string, content: string) => void;
156
+ readonly renderTemplate: (templatePath: string, data: unknown) => string;
157
+ readonly addGeneratedFile: (relativePath: string) => void;
158
+ readonly getGeneratedFiles: () => string[];
79
159
  };
80
160
  /**
81
161
  * Plugin metadata
82
162
  */
83
163
  type PluginMetadata = {
84
- name: string;
164
+ readonly name: string;
85
165
  };
86
166
  /**
87
167
  * typeweaver plugin interface
@@ -96,7 +176,7 @@ type TypeweaverPlugin = PluginMetadata & {
96
176
  * Collect and transform resources
97
177
  * Allows plugins to modify the resource collection
98
178
  */
99
- collectResources?(resources: GetResourcesResult): Promise<GetResourcesResult> | GetResourcesResult;
179
+ collectResources?(normalizedSpec: NormalizedSpec): Promise<NormalizedSpec> | NormalizedSpec;
100
180
  /**
101
181
  * Main generation logic
102
182
  * Called with all resources and utilities
@@ -132,7 +212,6 @@ type PluginRegistration = {
132
212
  type TypeweaverConfig = {
133
213
  input: string;
134
214
  output: string;
135
- shared?: string;
136
215
  plugins?: (string | [string, PluginConfig])[];
137
216
  format?: boolean;
138
217
  clean?: boolean;
@@ -172,7 +251,7 @@ declare abstract class BasePlugin implements TypeweaverPlugin {
172
251
  /**
173
252
  * Default implementation - override in subclasses if needed
174
253
  */
175
- collectResources(resources: GetResourcesResult): GetResourcesResult;
254
+ collectResources(normalizedSpec: NormalizedSpec): NormalizedSpec;
176
255
  /**
177
256
  * Main generation logic - must be implemented by subclasses
178
257
  */
@@ -184,98 +263,66 @@ declare abstract class BasePlugin implements TypeweaverPlugin {
184
263
  protected copyLibFiles(context: GeneratorContext, libSourceDir: string, libNamespace: string): void;
185
264
  }
186
265
  //#endregion
187
- //#region src/plugins/BaseTemplatePlugin.d.ts
188
- /**
189
- * Base class for template-based generator plugins
190
- * Provides utilities for working with EJS templates
191
- */
192
- declare abstract class BaseTemplatePlugin extends BasePlugin {
193
- /**
194
- * Render an EJS template with the given data
195
- */
196
- protected renderTemplate(templatePath: string, data: unknown): string;
197
- /**
198
- * Write a file relative to the output directory
199
- */
200
- protected writeFile(context: GeneratorContext, relativePath: string, content: string): void;
201
- /**
202
- * Ensure a directory exists
203
- */
204
- protected ensureDir(context: GeneratorContext, relativePath: string): void;
205
- /**
206
- * Get the template path for this plugin
207
- */
208
- protected getTemplatePath(context: GeneratorContext, templateName: string): string;
209
- }
210
- //#endregion
211
- //#region src/plugins/PluginRegistry.d.ts
212
- /**
213
- * Registry for managing typeweaver plugins
214
- */
215
- declare class PluginRegistry {
216
- private plugins;
217
- constructor();
218
- /**
219
- * Register a plugin
220
- */
221
- register(plugin: TypeweaverPlugin, config?: unknown): void;
222
- /**
223
- * Get a registered plugin
224
- */
225
- get(name: string): PluginRegistration | undefined;
226
- /**
227
- * Get all registered plugins
228
- */
229
- getAll(): PluginRegistration[];
230
- /**
231
- * Check if a plugin is registered
232
- */
233
- has(name: string): boolean;
234
- /**
235
- * Clear all registered plugins (except required ones)
236
- */
237
- clear(): void;
238
- }
266
+ //#region src/plugins/pluginRegistry.d.ts
267
+ type PluginRegistryApi = {
268
+ readonly register: (plugin: TypeweaverPlugin, config?: unknown) => void;
269
+ readonly get: (name: string) => PluginRegistration | undefined;
270
+ readonly getAll: () => PluginRegistration[];
271
+ readonly has: (name: string) => boolean;
272
+ readonly clear: () => void;
273
+ };
274
+ declare function createPluginRegistry(): PluginRegistryApi;
239
275
  //#endregion
240
- //#region src/plugins/PluginContext.d.ts
241
- /**
242
- * Builder for plugin contexts
243
- */
244
- declare class PluginContextBuilder {
245
- private generatedFiles;
246
- /**
247
- * Create a basic plugin context
248
- */
249
- createPluginContext(params: {
276
+ //#region src/plugins/pluginContext.d.ts
277
+ type PluginContextBuilderApi = {
278
+ readonly createPluginContext: (params: {
250
279
  outputDir: string;
251
280
  inputDir: string;
252
281
  config: PluginConfig;
253
- }): PluginContext;
254
- /**
255
- * Create a generator context with utilities
256
- */
257
- createGeneratorContext(params: {
258
- outputDir: string;
259
- inputDir: string;
260
- config: PluginConfig;
261
- resources: GetResourcesResult;
262
- templateDir: string;
263
- coreDir: string;
264
- }): GeneratorContext;
265
- /**
266
- * Get all generated files
267
- */
268
- getGeneratedFiles(): string[];
269
- /**
270
- * Clear generated files tracking
271
- */
272
- clearGeneratedFiles(): void;
273
- }
282
+ }) => PluginContext;
283
+ readonly createGeneratorContext: (params: {
284
+ readonly outputDir: string;
285
+ readonly inputDir: string;
286
+ readonly config: PluginConfig;
287
+ readonly normalizedSpec: NormalizedSpec;
288
+ readonly templateDir: string;
289
+ readonly coreDir: string;
290
+ readonly responsesOutputDir: string;
291
+ readonly specOutputDir: string;
292
+ }) => GeneratorContext;
293
+ readonly getGeneratedFiles: () => string[];
294
+ readonly clearGeneratedFiles: () => void;
295
+ };
296
+ declare function createPluginContextBuilder(): PluginContextBuilderApi;
274
297
  //#endregion
275
- //#region src/helpers/Path.d.ts
276
- declare class Path {
277
- static relative(from: string, to: string): string;
278
- }
298
+ //#region src/helpers/path.d.ts
299
+ declare function relative(from: string, to: string): string;
300
+ //#endregion
301
+ //#region src/helpers/routePath.d.ts
302
+ declare const normalizeRoutePath: (path: string) => string;
303
+ declare const getPathParameterNames: (path: string) => string[];
304
+ //#endregion
305
+ //#region src/helpers/routeSort.d.ts
306
+ /**
307
+ * Returns the sort priority for an HTTP method.
308
+ * Unrecognized methods default to priority 999.
309
+ */
310
+ declare const getMethodPriority: (method: string) => number;
311
+ /**
312
+ * Compares two routes for ordering.
313
+ * Routes are sorted by:
314
+ * 1. Path depth (shallow to deep)
315
+ * 2. Static segments before parameters
316
+ * 3. Alphabetical within same segment type
317
+ * 4. HTTP method priority
318
+ */
319
+ declare const compareRoutes: (a: {
320
+ method: string;
321
+ path: string;
322
+ }, b: {
323
+ method: string;
324
+ path: string;
325
+ }) => number;
279
326
  //#endregion
280
- export { BasePlugin, BaseTemplatePlugin, EntityName, EntityResources, EntityResponseResource, ExtendedResponseDefinition, GeneratorContext, GetResourcesResult, OperationResource, Path, PluginConfig, PluginConstructor, PluginContext, PluginContextBuilder, PluginDependencyError, PluginLoadError, PluginMetadata, PluginModule, PluginRegistration, PluginRegistry, SharedResponseResource, TypeweaverConfig, TypeweaverPlugin };
327
+ export { BasePlugin, DerivedResponseCycleError, DuplicateOperationIdError, DuplicateRouteError, EmptyOperationResponsesError, EmptyResourceOperationsError, EmptySpecResourcesError, GeneratorContext, InvalidDerivedResponseError, InvalidRequestSchemaError, MissingDerivedResponseParentError, NormalizedCanonicalResponseUsage, NormalizedInlineResponseUsage, NormalizedOperation, NormalizedRequest, NormalizedResource, NormalizedResponse, NormalizedResponseUsage, NormalizedSpec, OperationOutputPaths, PathParameterMismatchError, PluginConfig, PluginConstructor, PluginContext, type PluginContextBuilderApi, PluginDependencyError, PluginLoadError, PluginMetadata, PluginModule, PluginRegistration, type PluginRegistryApi, TypeweaverConfig, TypeweaverPlugin, compareRoutes, createPluginContextBuilder, createPluginRegistry, getMethodPriority, getPathParameterNames, normalizeRoutePath, normalizeSpec, relative };
281
328
  //# sourceMappingURL=index.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.cts","names":[],"sources":["../src/Resource.ts","../src/plugins/types.ts","../src/plugins/BasePlugin.ts","../src/plugins/BaseTemplatePlugin.ts","../src/plugins/PluginRegistry.ts","../src/plugins/PluginContext.ts","../src/helpers/Path.ts"],"mappings":"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"}
1
+ {"version":3,"file":"index.d.cts","names":[],"sources":["../src/errors/DerivedResponseCycleError.ts","../src/errors/DuplicateOperationIdError.ts","../src/errors/DuplicateRouteError.ts","../src/errors/EmptyOperationResponsesError.ts","../src/errors/EmptyResourceOperationsError.ts","../src/errors/EmptySpecResourcesError.ts","../src/errors/InvalidDerivedResponseError.ts","../src/NormalizedSpec.ts","../src/errors/InvalidRequestSchemaError.ts","../src/errors/MissingDerivedResponseParentError.ts","../src/errors/PathParameterMismatchError.ts","../src/normalizeSpec.ts","../src/plugins/types.ts","../src/plugins/BasePlugin.ts","../src/plugins/pluginRegistry.ts","../src/plugins/pluginContext.ts","../src/helpers/path.ts","../src/helpers/routePath.ts","../src/helpers/routeSort.ts"],"mappings":"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"}