@@ -45,12 +45,12 @@ const program = ts.createProgram(config.fileNames, config.options);
4545
4646// Parse all files in the project
4747for (const file of config .fileNames ) {
48- try {
49- const moduleInfo: ModuleNode = parseFromProgram (file , program );
50- console .log (` Extracted API from ${file }: ` , moduleInfo );
51- } catch (error ) {
52- console .error (` Failed to parse ${file }: ` , error );
53- }
48+ try {
49+ const moduleInfo: ModuleNode = parseFromProgram (file , program );
50+ console .log (` Extracted API from ${file }: ` , moduleInfo );
51+ } catch (error ) {
52+ console .error (` Failed to parse ${file }: ` , error );
53+ }
5454}
5555```
5656
@@ -90,9 +90,9 @@ The parser accepts optional configuration through the `ParserOptions` interface:
9090
9191``` typescript
9292interface ParserOptions {
93- includePrivateMembers? : boolean ;
94- followReferences? : boolean ;
95- maxDepth? : number ;
93+ includePrivateMembers? : boolean ;
94+ followReferences? : boolean ;
95+ maxDepth? : number ;
9696}
9797```
9898
@@ -102,14 +102,14 @@ The parser returns a `ModuleNode` object with the following structure:
102102
103103``` typescript
104104interface ModuleNode {
105- name: string ;
106- exports: ExportNode [];
105+ name: string ;
106+ exports: ExportNode [];
107107}
108108
109109interface ExportNode {
110- name: string ;
111- type: TypeNode ;
112- documentation? : DocumentationNode ;
110+ name: string ;
111+ type: TypeNode ;
112+ documentation? : DocumentationNode ;
113113}
114114```
115115
@@ -136,40 +136,40 @@ The extractor would produce:
136136
137137``` json
138138{
139- "name" : " MyComponent" ,
140- "exports" : [
141- {
142- "name" : " MyComponent" ,
143- "type" : {
144- "kind" : " component" ,
145- "name" : " MyComponent" ,
146- "props" : [
147- {
148- "name" : " title" ,
149- "type" : {
150- "kind" : " intrinsic" ,
151- "intrinsic" : " string"
152- },
153- "optional" : false ,
154- "documentation" : {
155- "description" : " The title to display"
156- }
157- },
158- {
159- "name" : " disabled" ,
160- "type" : {
161- "kind" : " intrinsic" ,
162- "intrinsic" : " boolean"
163- },
164- "optional" : true ,
165- "documentation" : {
166- "description" : " Whether the component is disabled"
167- }
168- }
169- ]
170- }
171- }
172- ]
139+ "name" : " MyComponent" ,
140+ "exports" : [
141+ {
142+ "name" : " MyComponent" ,
143+ "type" : {
144+ "kind" : " component" ,
145+ "name" : " MyComponent" ,
146+ "props" : [
147+ {
148+ "name" : " title" ,
149+ "type" : {
150+ "kind" : " intrinsic" ,
151+ "intrinsic" : " string"
152+ },
153+ "optional" : false ,
154+ "documentation" : {
155+ "description" : " The title to display"
156+ }
157+ },
158+ {
159+ "name" : " disabled" ,
160+ "type" : {
161+ "kind" : " intrinsic" ,
162+ "intrinsic" : " boolean"
163+ },
164+ "optional" : true ,
165+ "documentation" : {
166+ "description" : " Whether the component is disabled"
167+ }
168+ }
169+ ]
170+ }
171+ }
172+ ]
173173}
174174```
175175
0 commit comments