@formspec/build 0.1.0-alpha.10 → 0.1.0-alpha.11
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/browser.cjs +549 -0
- package/dist/browser.cjs.map +1 -0
- package/dist/browser.d.ts +4 -2
- package/dist/browser.d.ts.map +1 -1
- package/dist/browser.js +498 -45
- package/dist/browser.js.map +1 -1
- package/dist/build.d.ts +343 -33
- package/dist/cli.cjs +2267 -0
- package/dist/cli.cjs.map +1 -0
- package/dist/cli.js +2204 -101
- package/dist/cli.js.map +1 -1
- package/dist/generators/class-schema.d.ts +5 -9
- package/dist/generators/class-schema.d.ts.map +1 -1
- package/dist/index.cjs +2093 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +4 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2024 -114
- package/dist/index.js.map +1 -1
- package/dist/internals.cjs +1345 -0
- package/dist/internals.cjs.map +1 -0
- package/dist/internals.d.ts +1 -0
- package/dist/internals.d.ts.map +1 -1
- package/dist/internals.js +1297 -21
- package/dist/internals.js.map +1 -1
- package/dist/json-schema/generator.d.ts.map +1 -1
- package/dist/json-schema/schema.d.ts +16 -0
- package/dist/json-schema/schema.d.ts.map +1 -0
- package/dist/ui-schema/generator.d.ts +15 -0
- package/dist/ui-schema/generator.d.ts.map +1 -1
- package/dist/ui-schema/schema.d.ts +357 -0
- package/dist/ui-schema/schema.d.ts.map +1 -0
- package/dist/ui-schema/types.d.ts +8 -73
- package/dist/ui-schema/types.d.ts.map +1 -1
- package/package.json +14 -9
- package/dist/__tests__/analyzer-edge-cases.test.js +0 -376
- package/dist/__tests__/analyzer-edge-cases.test.js.map +0 -1
- package/dist/__tests__/analyzer.test.js +0 -190
- package/dist/__tests__/analyzer.test.js.map +0 -1
- package/dist/__tests__/cli.test.js +0 -178
- package/dist/__tests__/cli.test.js.map +0 -1
- package/dist/__tests__/codegen.test.js +0 -506
- package/dist/__tests__/codegen.test.js.map +0 -1
- package/dist/__tests__/decorator-pipeline.test.js +0 -460
- package/dist/__tests__/decorator-pipeline.test.js.map +0 -1
- package/dist/__tests__/edge-cases.test.js +0 -215
- package/dist/__tests__/edge-cases.test.js.map +0 -1
- package/dist/__tests__/fixtures/edge-cases.js +0 -137
- package/dist/__tests__/fixtures/edge-cases.js.map +0 -1
- package/dist/__tests__/fixtures/example-a-builtins.js +0 -100
- package/dist/__tests__/fixtures/example-a-builtins.js.map +0 -1
- package/dist/__tests__/fixtures/example-b-decorators.js +0 -5
- package/dist/__tests__/fixtures/example-b-decorators.js.map +0 -1
- package/dist/__tests__/fixtures/example-b-extended.js +0 -60
- package/dist/__tests__/fixtures/example-b-extended.js.map +0 -1
- package/dist/__tests__/fixtures/example-c-custom.js +0 -61
- package/dist/__tests__/fixtures/example-c-custom.js.map +0 -1
- package/dist/__tests__/fixtures/example-c-decorators.js +0 -4
- package/dist/__tests__/fixtures/example-c-decorators.js.map +0 -1
- package/dist/__tests__/fixtures/example-d-mixed-decorators.js +0 -75
- package/dist/__tests__/fixtures/example-d-mixed-decorators.js.map +0 -1
- package/dist/__tests__/fixtures/example-e-decorators.js +0 -10
- package/dist/__tests__/fixtures/example-e-decorators.js.map +0 -1
- package/dist/__tests__/fixtures/example-e-no-namespace.js +0 -61
- package/dist/__tests__/fixtures/example-e-no-namespace.js.map +0 -1
- package/dist/__tests__/fixtures/example-interface-types.js +0 -8
- package/dist/__tests__/fixtures/example-interface-types.js.map +0 -1
- package/dist/__tests__/fixtures/example-jsdoc-constraints.js +0 -98
- package/dist/__tests__/fixtures/example-jsdoc-constraints.js.map +0 -1
- package/dist/__tests__/fixtures/example-nested-class.js +0 -248
- package/dist/__tests__/fixtures/example-nested-class.js.map +0 -1
- package/dist/__tests__/fixtures/sample-forms.js +0 -78
- package/dist/__tests__/fixtures/sample-forms.js.map +0 -1
- package/dist/__tests__/generator.test.js +0 -234
- package/dist/__tests__/generator.test.js.map +0 -1
- package/dist/__tests__/integration.test.js +0 -161
- package/dist/__tests__/integration.test.js.map +0 -1
- package/dist/__tests__/interface-types.test.js +0 -404
- package/dist/__tests__/interface-types.test.js.map +0 -1
- package/dist/__tests__/jsdoc-constraints.test.js +0 -465
- package/dist/__tests__/jsdoc-constraints.test.js.map +0 -1
- package/dist/__tests__/write-schemas.test.js +0 -198
- package/dist/__tests__/write-schemas.test.js.map +0 -1
- package/dist/analyzer/class-analyzer.js +0 -377
- package/dist/analyzer/class-analyzer.js.map +0 -1
- package/dist/analyzer/decorator-extractor.js +0 -336
- package/dist/analyzer/decorator-extractor.js.map +0 -1
- package/dist/analyzer/jsdoc-constraints.js +0 -153
- package/dist/analyzer/jsdoc-constraints.js.map +0 -1
- package/dist/analyzer/program.js +0 -114
- package/dist/analyzer/program.js.map +0 -1
- package/dist/analyzer/type-converter.js +0 -474
- package/dist/analyzer/type-converter.js.map +0 -1
- package/dist/codegen/index.js +0 -597
- package/dist/codegen/index.js.map +0 -1
- package/dist/generators/class-schema.js +0 -140
- package/dist/generators/class-schema.js.map +0 -1
- package/dist/generators/method-schema.js +0 -108
- package/dist/generators/method-schema.js.map +0 -1
- package/dist/json-schema/generator.js +0 -166
- package/dist/json-schema/generator.js.map +0 -1
- package/dist/json-schema/types.js +0 -33
- package/dist/json-schema/types.js.map +0 -1
- package/dist/ui-schema/generator.js +0 -148
- package/dist/ui-schema/generator.js.map +0 -1
- package/dist/ui-schema/types.js +0 -8
- package/dist/ui-schema/types.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"write-schemas.test.js","sourceRoot":"","sources":["../../src/__tests__/write-schemas.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,377 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Class analyzer for extracting fields, types, and decorators.
|
|
3
|
-
*
|
|
4
|
-
* Analyzes a TypeScript class declaration to extract:
|
|
5
|
-
* - Field names and TypeScript types
|
|
6
|
-
* - Decorator metadata (Field, Minimum, Maximum, etc.)
|
|
7
|
-
* - Field optionality
|
|
8
|
-
* - TSDoc @deprecated tags
|
|
9
|
-
* - Default values from property initializers
|
|
10
|
-
*/
|
|
11
|
-
import * as ts from "typescript";
|
|
12
|
-
import { extractDecorators, resolveDecorator } from "./decorator-extractor.js";
|
|
13
|
-
import { extractJSDocConstraints, extractJSDocFieldMetadata } from "./jsdoc-constraints.js";
|
|
14
|
-
/**
|
|
15
|
-
* Analyzes a class declaration to extract fields and methods.
|
|
16
|
-
*
|
|
17
|
-
* @param classDecl - The class declaration to analyze
|
|
18
|
-
* @param checker - TypeScript type checker
|
|
19
|
-
* @returns Analysis result with fields and methods
|
|
20
|
-
*/
|
|
21
|
-
export function analyzeClass(classDecl, checker) {
|
|
22
|
-
const name = classDecl.name?.text ?? "AnonymousClass";
|
|
23
|
-
const fields = [];
|
|
24
|
-
const instanceMethods = [];
|
|
25
|
-
const staticMethods = [];
|
|
26
|
-
for (const member of classDecl.members) {
|
|
27
|
-
if (ts.isPropertyDeclaration(member)) {
|
|
28
|
-
const fieldInfo = analyzeField(member, checker);
|
|
29
|
-
if (fieldInfo) {
|
|
30
|
-
fields.push(fieldInfo);
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
else if (ts.isMethodDeclaration(member)) {
|
|
34
|
-
const methodInfo = analyzeMethod(member, checker);
|
|
35
|
-
if (methodInfo) {
|
|
36
|
-
const isStatic = member.modifiers?.some((m) => m.kind === ts.SyntaxKind.StaticKeyword);
|
|
37
|
-
if (isStatic) {
|
|
38
|
-
staticMethods.push(methodInfo);
|
|
39
|
-
}
|
|
40
|
-
else {
|
|
41
|
-
instanceMethods.push(methodInfo);
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
return {
|
|
47
|
-
name,
|
|
48
|
-
fields,
|
|
49
|
-
instanceMethods,
|
|
50
|
-
staticMethods,
|
|
51
|
-
};
|
|
52
|
-
}
|
|
53
|
-
/**
|
|
54
|
-
* Analyzes a property declaration to extract field info.
|
|
55
|
-
*/
|
|
56
|
-
export function analyzeField(prop, checker) {
|
|
57
|
-
// Skip computed property names
|
|
58
|
-
if (!ts.isIdentifier(prop.name)) {
|
|
59
|
-
return null;
|
|
60
|
-
}
|
|
61
|
-
const name = prop.name.text;
|
|
62
|
-
const typeNode = prop.type;
|
|
63
|
-
const type = checker.getTypeAtLocation(prop);
|
|
64
|
-
const optional = prop.questionToken !== undefined;
|
|
65
|
-
const decorators = extractDecorators(prop);
|
|
66
|
-
// Resolve each decorator via the type checker to detect extended/custom decorators
|
|
67
|
-
for (const dec of decorators) {
|
|
68
|
-
if (dec.node) {
|
|
69
|
-
const resolved = resolveDecorator(dec.node, checker);
|
|
70
|
-
if (resolved) {
|
|
71
|
-
dec.resolved = resolved;
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
// Inherit constraints from type alias declarations first (as defaults).
|
|
76
|
-
// Field-level decorators and JSDoc are applied after, so they take precedence.
|
|
77
|
-
if (prop.type) {
|
|
78
|
-
const aliasConstraints = extractTypeAliasConstraints(prop.type, checker);
|
|
79
|
-
decorators.push(...aliasConstraints);
|
|
80
|
-
}
|
|
81
|
-
// Merge JSDoc constraint tags (e.g., /** @Minimum 0 @Maximum 100 */)
|
|
82
|
-
const jsdocConstraints = extractJSDocConstraints(prop);
|
|
83
|
-
decorators.push(...jsdocConstraints);
|
|
84
|
-
const deprecated = hasDeprecatedTag(prop);
|
|
85
|
-
const defaultValue = extractDefaultValue(prop.initializer);
|
|
86
|
-
return {
|
|
87
|
-
name,
|
|
88
|
-
typeNode,
|
|
89
|
-
type,
|
|
90
|
-
optional,
|
|
91
|
-
decorators,
|
|
92
|
-
deprecated,
|
|
93
|
-
defaultValue,
|
|
94
|
-
};
|
|
95
|
-
}
|
|
96
|
-
/**
|
|
97
|
-
* Given a type node, checks if it references a type alias and extracts
|
|
98
|
-
* JSDoc constraint tags from the alias declaration.
|
|
99
|
-
*
|
|
100
|
-
* Only constraint tags (`@Minimum`, `@Maximum`, `@Pattern`, etc.) are
|
|
101
|
-
* propagated — display metadata (`@Field_displayName`, `@Field_description`)
|
|
102
|
-
* is intentionally excluded because display metadata is a field-level
|
|
103
|
-
* concern, not a type-level one.
|
|
104
|
-
*
|
|
105
|
-
* This makes `type Percent = number` with `@Minimum 0 @Maximum 100`
|
|
106
|
-
* propagate constraints to any field typed as `Percent`.
|
|
107
|
-
*/
|
|
108
|
-
function extractTypeAliasConstraints(typeNode, checker) {
|
|
109
|
-
// Only handle type references (e.g., `Percent`, not `number` directly)
|
|
110
|
-
if (!ts.isTypeReferenceNode(typeNode))
|
|
111
|
-
return [];
|
|
112
|
-
const symbol = checker.getSymbolAtLocation(typeNode.typeName);
|
|
113
|
-
if (!symbol?.declarations)
|
|
114
|
-
return [];
|
|
115
|
-
const aliasDecl = symbol.declarations.find(ts.isTypeAliasDeclaration);
|
|
116
|
-
if (!aliasDecl)
|
|
117
|
-
return [];
|
|
118
|
-
// Don't extract from object type aliases — those are handled by
|
|
119
|
-
// the nested object analysis pipeline in type-converter.ts
|
|
120
|
-
if (ts.isTypeLiteralNode(aliasDecl.type))
|
|
121
|
-
return [];
|
|
122
|
-
// Only propagate constraint tags, not display metadata (@Field_displayName,
|
|
123
|
-
// @Field_description). Display metadata on the alias shouldn't override the
|
|
124
|
-
// field's own title/description — those are field-level concerns.
|
|
125
|
-
return extractJSDocConstraints(aliasDecl);
|
|
126
|
-
}
|
|
127
|
-
/**
|
|
128
|
-
* Checks if a node has a TSDoc `@deprecated` tag.
|
|
129
|
-
*/
|
|
130
|
-
function hasDeprecatedTag(node) {
|
|
131
|
-
const jsDocTags = ts.getJSDocTags(node);
|
|
132
|
-
return jsDocTags.some((tag) => tag.tagName.text === "deprecated");
|
|
133
|
-
}
|
|
134
|
-
/**
|
|
135
|
-
* Extracts a default value from a property initializer.
|
|
136
|
-
*
|
|
137
|
-
* Only extracts literal values (strings, numbers, booleans, null).
|
|
138
|
-
* Non-literal initializers (function calls, expressions, etc.) return undefined.
|
|
139
|
-
*/
|
|
140
|
-
function extractDefaultValue(initializer) {
|
|
141
|
-
if (!initializer)
|
|
142
|
-
return undefined;
|
|
143
|
-
// String literal
|
|
144
|
-
if (ts.isStringLiteral(initializer)) {
|
|
145
|
-
return initializer.text;
|
|
146
|
-
}
|
|
147
|
-
// Numeric literal
|
|
148
|
-
if (ts.isNumericLiteral(initializer)) {
|
|
149
|
-
return Number(initializer.text);
|
|
150
|
-
}
|
|
151
|
-
// Boolean literals
|
|
152
|
-
if (initializer.kind === ts.SyntaxKind.TrueKeyword) {
|
|
153
|
-
return true;
|
|
154
|
-
}
|
|
155
|
-
if (initializer.kind === ts.SyntaxKind.FalseKeyword) {
|
|
156
|
-
return false;
|
|
157
|
-
}
|
|
158
|
-
// Null literal
|
|
159
|
-
if (initializer.kind === ts.SyntaxKind.NullKeyword) {
|
|
160
|
-
return null;
|
|
161
|
-
}
|
|
162
|
-
// Negative number
|
|
163
|
-
if (ts.isPrefixUnaryExpression(initializer)) {
|
|
164
|
-
if (initializer.operator === ts.SyntaxKind.MinusToken &&
|
|
165
|
-
ts.isNumericLiteral(initializer.operand)) {
|
|
166
|
-
return -Number(initializer.operand.text);
|
|
167
|
-
}
|
|
168
|
-
}
|
|
169
|
-
// Non-literal initializer — can't extract statically
|
|
170
|
-
return undefined;
|
|
171
|
-
}
|
|
172
|
-
/**
|
|
173
|
-
* Analyzes a method declaration to extract method info.
|
|
174
|
-
*/
|
|
175
|
-
function analyzeMethod(method, checker) {
|
|
176
|
-
// Skip computed method names
|
|
177
|
-
if (!ts.isIdentifier(method.name)) {
|
|
178
|
-
return null;
|
|
179
|
-
}
|
|
180
|
-
const name = method.name.text;
|
|
181
|
-
const parameters = [];
|
|
182
|
-
for (const param of method.parameters) {
|
|
183
|
-
if (ts.isIdentifier(param.name)) {
|
|
184
|
-
const paramInfo = analyzeParameter(param, checker);
|
|
185
|
-
parameters.push(paramInfo);
|
|
186
|
-
}
|
|
187
|
-
}
|
|
188
|
-
const returnTypeNode = method.type;
|
|
189
|
-
const signature = checker.getSignatureFromDeclaration(method);
|
|
190
|
-
const returnType = signature
|
|
191
|
-
? checker.getReturnTypeOfSignature(signature)
|
|
192
|
-
: checker.getTypeAtLocation(method);
|
|
193
|
-
return {
|
|
194
|
-
name,
|
|
195
|
-
parameters,
|
|
196
|
-
returnTypeNode,
|
|
197
|
-
returnType,
|
|
198
|
-
};
|
|
199
|
-
}
|
|
200
|
-
/**
|
|
201
|
-
* Analyzes a parameter declaration.
|
|
202
|
-
*/
|
|
203
|
-
function analyzeParameter(param, checker) {
|
|
204
|
-
const name = ts.isIdentifier(param.name) ? param.name.text : "param";
|
|
205
|
-
const typeNode = param.type;
|
|
206
|
-
const type = checker.getTypeAtLocation(param);
|
|
207
|
-
const formSpecExportName = detectFormSpecReference(typeNode);
|
|
208
|
-
// Parameter is optional if it has a question token or a default value
|
|
209
|
-
const optional = param.questionToken !== undefined || param.initializer !== undefined;
|
|
210
|
-
return {
|
|
211
|
-
name,
|
|
212
|
-
typeNode,
|
|
213
|
-
type,
|
|
214
|
-
formSpecExportName,
|
|
215
|
-
optional,
|
|
216
|
-
};
|
|
217
|
-
}
|
|
218
|
-
/**
|
|
219
|
-
* Detects if a type node is InferSchema<typeof X> or InferFormSchema<typeof X> and extracts X.
|
|
220
|
-
*
|
|
221
|
-
* @param typeNode - The type node to check
|
|
222
|
-
* @returns The export name X, or null if not a FormSpec inference pattern
|
|
223
|
-
*/
|
|
224
|
-
function detectFormSpecReference(typeNode) {
|
|
225
|
-
if (!typeNode)
|
|
226
|
-
return null;
|
|
227
|
-
// Looking for: InferSchema<typeof X> or InferFormSchema<typeof X>
|
|
228
|
-
if (!ts.isTypeReferenceNode(typeNode))
|
|
229
|
-
return null;
|
|
230
|
-
// Get the type name - could be Identifier or QualifiedName
|
|
231
|
-
const typeName = ts.isIdentifier(typeNode.typeName)
|
|
232
|
-
? typeNode.typeName.text
|
|
233
|
-
: ts.isQualifiedName(typeNode.typeName)
|
|
234
|
-
? typeNode.typeName.right.text
|
|
235
|
-
: null;
|
|
236
|
-
// Support both InferSchema (for elements) and InferFormSchema (for FormSpec)
|
|
237
|
-
if (typeName !== "InferSchema" && typeName !== "InferFormSchema")
|
|
238
|
-
return null;
|
|
239
|
-
const typeArg = typeNode.typeArguments?.[0];
|
|
240
|
-
if (!typeArg || !ts.isTypeQueryNode(typeArg))
|
|
241
|
-
return null;
|
|
242
|
-
// typeArg.exprName is the identifier (e.g., "ActivateParams")
|
|
243
|
-
if (ts.isIdentifier(typeArg.exprName)) {
|
|
244
|
-
return typeArg.exprName.text;
|
|
245
|
-
}
|
|
246
|
-
// Could be qualified name like Namespace.ActivateParams
|
|
247
|
-
if (ts.isQualifiedName(typeArg.exprName)) {
|
|
248
|
-
return typeArg.exprName.right.text;
|
|
249
|
-
}
|
|
250
|
-
return null;
|
|
251
|
-
}
|
|
252
|
-
/**
|
|
253
|
-
* Analyzes an interface declaration to extract field information.
|
|
254
|
-
*
|
|
255
|
-
* Similar to {@link analyzeClass} but for interface declarations.
|
|
256
|
-
* Extracts JSDoc constraint tags (`@Minimum`, `@MaxLength`, etc.) and
|
|
257
|
-
* display metadata (`@Field_displayName`, `@Field_description`) from
|
|
258
|
-
* property signatures, producing the same {@link ClassAnalysis}
|
|
259
|
-
* structure for downstream schema generation.
|
|
260
|
-
*
|
|
261
|
-
* @param interfaceDecl - The interface declaration to analyze
|
|
262
|
-
* @param checker - TypeScript type checker
|
|
263
|
-
* @returns Analysis result with fields (no methods — interfaces have no implementations)
|
|
264
|
-
*/
|
|
265
|
-
export function analyzeInterface(interfaceDecl, checker) {
|
|
266
|
-
const name = interfaceDecl.name.text;
|
|
267
|
-
const fields = [];
|
|
268
|
-
for (const member of interfaceDecl.members) {
|
|
269
|
-
if (ts.isPropertySignature(member)) {
|
|
270
|
-
const fieldInfo = analyzeInterfaceProperty(member, checker);
|
|
271
|
-
if (fieldInfo) {
|
|
272
|
-
fields.push(fieldInfo);
|
|
273
|
-
}
|
|
274
|
-
}
|
|
275
|
-
}
|
|
276
|
-
return {
|
|
277
|
-
name,
|
|
278
|
-
fields,
|
|
279
|
-
instanceMethods: [],
|
|
280
|
-
staticMethods: [],
|
|
281
|
-
};
|
|
282
|
-
}
|
|
283
|
-
/**
|
|
284
|
-
* Analyzes a type alias declaration to extract field information.
|
|
285
|
-
*
|
|
286
|
-
* Supports type aliases whose body is a type literal (object type):
|
|
287
|
-
*
|
|
288
|
-
* ```typescript
|
|
289
|
-
* type Config = {
|
|
290
|
-
* // @Field_displayName Name @Minimum 1
|
|
291
|
-
* name: string;
|
|
292
|
-
* };
|
|
293
|
-
* ```
|
|
294
|
-
*
|
|
295
|
-
* Returns an error result (not an exception) for non-object-literal aliases,
|
|
296
|
-
* allowing callers to accumulate diagnostics across multiple types.
|
|
297
|
-
*
|
|
298
|
-
* @param typeAlias - The type alias declaration to analyze
|
|
299
|
-
* @param checker - TypeScript type checker
|
|
300
|
-
* @returns Success with analysis, or error with a diagnostic message including line number
|
|
301
|
-
*/
|
|
302
|
-
export function analyzeTypeAlias(typeAlias, checker) {
|
|
303
|
-
// Only handle type literals: type X = { ... }
|
|
304
|
-
if (!ts.isTypeLiteralNode(typeAlias.type)) {
|
|
305
|
-
const sourceFile = typeAlias.getSourceFile();
|
|
306
|
-
const { line } = sourceFile.getLineAndCharacterOfPosition(typeAlias.getStart());
|
|
307
|
-
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- enum reverse mapping can be undefined for compiler-internal kinds
|
|
308
|
-
const kindDesc = ts.SyntaxKind[typeAlias.type.kind] ?? "unknown";
|
|
309
|
-
return {
|
|
310
|
-
ok: false,
|
|
311
|
-
error: `Type alias "${typeAlias.name.text}" at line ${String(line + 1)} is not an object type literal (found ${kindDesc})`,
|
|
312
|
-
};
|
|
313
|
-
}
|
|
314
|
-
const name = typeAlias.name.text;
|
|
315
|
-
const fields = [];
|
|
316
|
-
for (const member of typeAlias.type.members) {
|
|
317
|
-
if (ts.isPropertySignature(member)) {
|
|
318
|
-
const fieldInfo = analyzeInterfaceProperty(member, checker);
|
|
319
|
-
if (fieldInfo) {
|
|
320
|
-
fields.push(fieldInfo);
|
|
321
|
-
}
|
|
322
|
-
}
|
|
323
|
-
}
|
|
324
|
-
return {
|
|
325
|
-
ok: true,
|
|
326
|
-
analysis: {
|
|
327
|
-
name,
|
|
328
|
-
fields,
|
|
329
|
-
instanceMethods: [],
|
|
330
|
-
staticMethods: [],
|
|
331
|
-
},
|
|
332
|
-
};
|
|
333
|
-
}
|
|
334
|
-
/**
|
|
335
|
-
* Analyzes an interface property signature to extract field info.
|
|
336
|
-
*
|
|
337
|
-
* Extracts JSDoc constraint tags (`@Minimum`, `@MaxLength`, etc.) and
|
|
338
|
-
* display metadata (`@DisplayName`, `@Description`) from the property's
|
|
339
|
-
* TSDoc comments. Also used by the type converter for nested interface/type
|
|
340
|
-
* alias constraint propagation.
|
|
341
|
-
*/
|
|
342
|
-
export function analyzeInterfaceProperty(prop, checker) {
|
|
343
|
-
if (!ts.isIdentifier(prop.name)) {
|
|
344
|
-
return null;
|
|
345
|
-
}
|
|
346
|
-
const name = prop.name.text;
|
|
347
|
-
const typeNode = prop.type;
|
|
348
|
-
const type = checker.getTypeAtLocation(prop);
|
|
349
|
-
const optional = prop.questionToken !== undefined;
|
|
350
|
-
// Interface properties have no decorators — only JSDoc tags
|
|
351
|
-
const decorators = [];
|
|
352
|
-
// Inherit constraints from type alias declarations first (as defaults).
|
|
353
|
-
// Field-level tags are applied after, so they take precedence.
|
|
354
|
-
if (typeNode) {
|
|
355
|
-
const aliasConstraints = extractTypeAliasConstraints(typeNode, checker);
|
|
356
|
-
decorators.push(...aliasConstraints);
|
|
357
|
-
}
|
|
358
|
-
// Extract display metadata (@Field_displayName, @Field_description) as synthetic Field decorator
|
|
359
|
-
const fieldMetadata = extractJSDocFieldMetadata(prop);
|
|
360
|
-
if (fieldMetadata) {
|
|
361
|
-
decorators.push(fieldMetadata);
|
|
362
|
-
}
|
|
363
|
-
// Extract constraint tags (@Minimum, @MaxLength, @Pattern, etc.)
|
|
364
|
-
const jsdocConstraints = extractJSDocConstraints(prop);
|
|
365
|
-
decorators.push(...jsdocConstraints);
|
|
366
|
-
const deprecated = hasDeprecatedTag(prop);
|
|
367
|
-
return {
|
|
368
|
-
name,
|
|
369
|
-
typeNode,
|
|
370
|
-
type,
|
|
371
|
-
optional,
|
|
372
|
-
decorators,
|
|
373
|
-
deprecated,
|
|
374
|
-
defaultValue: undefined,
|
|
375
|
-
};
|
|
376
|
-
}
|
|
377
|
-
//# sourceMappingURL=class-analyzer.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"class-analyzer.js","sourceRoot":"","sources":["../../src/analyzer/class-analyzer.ts"],"names":[],"mappings":"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"}
|