From 62c65ae4629b18c834377ebf395e9d31920c6558 Mon Sep 17 00:00:00 2001 From: Johnson Chu Date: Fri, 10 May 2024 14:57:39 +0800 Subject: [PATCH] feat(component-meta): support JSDoc tags for events --- packages/component-meta/lib/base.ts | 4 ++++ packages/component-meta/lib/types.ts | 1 + 2 files changed, 5 insertions(+) diff --git a/packages/component-meta/lib/base.ts b/packages/component-meta/lib/base.ts index 816253e5c3..3704a7c2ae 100644 --- a/packages/component-meta/lib/base.ts +++ b/packages/component-meta/lib/base.ts @@ -567,6 +567,10 @@ function createSchemaResolvers( return { name: (typeChecker.getTypeOfSymbolAtLocation(call.parameters[0], symbolNode) as ts.StringLiteralType).value, description: ts.displayPartsToString(call.getDocumentationComment(typeChecker)), + tags: call.getJsDocTags().map(tag => ({ + name: tag.name, + text: tag.text !== undefined ? ts.displayPartsToString(tag.text) : undefined, + })), type: typeChecker.typeToString(subtype), rawType: rawType ? subtype : undefined, signature: typeChecker.signatureToString(call), diff --git a/packages/component-meta/lib/types.ts b/packages/component-meta/lib/types.ts index 8154039f63..c2b910fea2 100644 --- a/packages/component-meta/lib/types.ts +++ b/packages/component-meta/lib/types.ts @@ -40,6 +40,7 @@ export interface EventMeta { type: string; rawType?: ts.Type; signature: string; + tags: { name: string, text?: string; }[]; declarations: Declaration[]; schema: PropertyMetaSchema[]; }