@teambit/typescript 0.0.760 → 0.0.763

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.
@@ -77,76 +77,77 @@ async function jsDocToDocSchema(node, context) {
77
77
  const location = context.getLocation(jsDoc);
78
78
  const comment = (0, _typescript().getTextOfJSDocComment)(jsDoc.comment);
79
79
  const tags = jsDoc.tags ? await (0, _pMapSeries().default)(jsDoc.tags, tag => tagParser(tag, context)) : undefined;
80
- return new (_semanticsEntities().DocSchema)(location, comment, tags);
80
+ return new (_semanticsEntities().DocSchema)(location, jsDoc.getText(), comment, tags);
81
81
  }
82
82
 
83
83
  async function tagParser(tag, context) {
84
84
  // for some reason, in some cases, if `tag.getSourceFile()` is not provided to the `getText()`, it throws "Cannot read property 'text' of undefined"
85
- let tagName = tag.tagName.getText(tag.getSourceFile());
86
-
87
85
  switch (tag.kind) {
88
86
  case _typescript().SyntaxKind.JSDocReturnTag:
89
87
  return returnTag(tag, context);
90
88
 
89
+ case _typescript().SyntaxKind.JSDocPropertyTag:
90
+ return propertyLikeTag(tag, context);
91
+
92
+ case _typescript().SyntaxKind.JSDocParameterTag:
93
+ return propertyLikeTag(tag, context);
94
+
91
95
  case _typescript().SyntaxKind.JSDocAugmentsTag:
92
- tagName = _semanticsEntities().TagName.augments;
96
+ return simpleTag(tag, _semanticsEntities().TagName.augments, context);
93
97
 
94
98
  case _typescript().SyntaxKind.JSDocAuthorTag:
95
- tagName = _semanticsEntities().TagName.author;
99
+ return simpleTag(tag, _semanticsEntities().TagName.author, context);
96
100
 
97
101
  case _typescript().SyntaxKind.JSDocClassTag:
98
- tagName = _semanticsEntities().TagName.class;
102
+ return simpleTag(tag, _semanticsEntities().TagName.class, context);
99
103
 
100
104
  case _typescript().SyntaxKind.JSDocCallbackTag:
101
- tagName = _semanticsEntities().TagName.callback;
105
+ return simpleTag(tag, _semanticsEntities().TagName.callback, context);
102
106
 
103
107
  case _typescript().SyntaxKind.JSDocPublicTag:
104
- tagName = _semanticsEntities().TagName.public;
108
+ return simpleTag(tag, _semanticsEntities().TagName.public, context);
105
109
 
106
110
  case _typescript().SyntaxKind.JSDocPrivateTag:
107
- tagName = _semanticsEntities().TagName.private;
111
+ return simpleTag(tag, _semanticsEntities().TagName.private, context);
108
112
 
109
113
  case _typescript().SyntaxKind.JSDocProtectedTag:
110
- tagName = _semanticsEntities().TagName.protected;
114
+ return simpleTag(tag, _semanticsEntities().TagName.protected, context);
111
115
 
112
116
  case _typescript().SyntaxKind.JSDocReadonlyTag:
113
- tagName = _semanticsEntities().TagName.readonly;
117
+ return simpleTag(tag, _semanticsEntities().TagName.readonly, context);
114
118
 
115
119
  case _typescript().SyntaxKind.JSDocOverrideTag:
116
- tagName = _semanticsEntities().TagName.override;
120
+ return simpleTag(tag, _semanticsEntities().TagName.override, context);
117
121
 
118
122
  case _typescript().SyntaxKind.JSDocDeprecatedTag:
119
- tagName = _semanticsEntities().TagName.deprecated;
123
+ return simpleTag(tag, _semanticsEntities().TagName.deprecated, context);
120
124
 
121
125
  case _typescript().SyntaxKind.JSDocSeeTag:
122
- tagName = _semanticsEntities().TagName.see;
126
+ return simpleTag(tag, _semanticsEntities().TagName.see, context);
123
127
 
124
128
  case _typescript().SyntaxKind.JSDocEnumTag:
125
- tagName = _semanticsEntities().TagName.enum;
126
-
127
- case _typescript().SyntaxKind.JSDocParameterTag:
128
- tagName = _semanticsEntities().TagName.parameter;
129
+ return simpleTag(tag, _semanticsEntities().TagName.enum, context);
129
130
 
130
131
  case _typescript().SyntaxKind.JSDocThisTag:
131
- tagName = _semanticsEntities().TagName.this;
132
+ return simpleTag(tag, _semanticsEntities().TagName.this, context);
132
133
 
133
134
  case _typescript().SyntaxKind.JSDocTypeTag:
134
- tagName = _semanticsEntities().TagName.type;
135
+ return simpleTag(tag, _semanticsEntities().TagName.type, context);
135
136
 
136
137
  case _typescript().SyntaxKind.JSDocTemplateTag:
137
- tagName = _semanticsEntities().TagName.template;
138
+ return simpleTag(tag, _semanticsEntities().TagName.template, context);
138
139
 
139
140
  case _typescript().SyntaxKind.JSDocTypedefTag:
140
- tagName = _semanticsEntities().TagName.typedef;
141
-
142
- case _typescript().SyntaxKind.JSDocPropertyTag:
143
- tagName = _semanticsEntities().TagName.property;
141
+ return simpleTag(tag, _semanticsEntities().TagName.typedef, context);
144
142
 
145
143
  case _typescript().SyntaxKind.JSDocImplementsTag:
146
- tagName = _semanticsEntities().TagName.implements;
144
+ return simpleTag(tag, _semanticsEntities().TagName.implements, context);
147
145
 
148
146
  default:
149
- return simpleTag(tag, tagName, context);
147
+ {
148
+ const tagName = tag.tagName.getText(tag.getSourceFile());
149
+ return simpleTag(tag, tagName, context);
150
+ }
150
151
  }
151
152
  }
152
153
 
@@ -158,7 +159,14 @@ async function returnTag(tag, context) {
158
159
  var _tag$typeExpression, _tag$typeExpression2;
159
160
 
160
161
  const type = (_tag$typeExpression = tag.typeExpression) !== null && _tag$typeExpression !== void 0 && _tag$typeExpression.type ? await (0, _typeNodeToSchema().typeNodeToSchema)((_tag$typeExpression2 = tag.typeExpression) === null || _tag$typeExpression2 === void 0 ? void 0 : _tag$typeExpression2.type, context) : undefined;
161
- return new (_semanticsEntities().ReturnTagSchema)(context.getLocation(tag), _semanticsEntities().TagName.return, (0, _typescript().getTextOfJSDocComment)(tag.comment), type);
162
+ return new (_semanticsEntities().ReturnTagSchema)(context.getLocation(tag), (0, _typescript().getTextOfJSDocComment)(tag.comment), type);
163
+ }
164
+
165
+ async function propertyLikeTag(tag, context) {
166
+ var _tag$typeExpression3, _tag$typeExpression4;
167
+
168
+ const type = (_tag$typeExpression3 = tag.typeExpression) !== null && _tag$typeExpression3 !== void 0 && _tag$typeExpression3.type ? await (0, _typeNodeToSchema().typeNodeToSchema)((_tag$typeExpression4 = tag.typeExpression) === null || _tag$typeExpression4 === void 0 ? void 0 : _tag$typeExpression4.type, context) : undefined;
169
+ return new (_semanticsEntities().PropertyLikeTagSchema)(context.getLocation(tag), tag.name.getText(), (0, _typescript().getTextOfJSDocComment)(tag.comment), type);
162
170
  }
163
171
 
164
172
  //# sourceMappingURL=jsdoc-to-doc-schema.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["jsDocToDocSchema","node","context","canHaveJsDoc","undefined","jsDocs","getJsDoc","length","jsDoc","location","getLocation","comment","getTextOfJSDocComment","tags","pMapSeries","tag","tagParser","DocSchema","tagName","getText","getSourceFile","kind","SyntaxKind","JSDocReturnTag","returnTag","JSDocAugmentsTag","TagName","augments","JSDocAuthorTag","author","JSDocClassTag","class","JSDocCallbackTag","callback","JSDocPublicTag","public","JSDocPrivateTag","private","JSDocProtectedTag","protected","JSDocReadonlyTag","readonly","JSDocOverrideTag","override","JSDocDeprecatedTag","deprecated","JSDocSeeTag","see","JSDocEnumTag","enum","JSDocParameterTag","parameter","JSDocThisTag","this","JSDocTypeTag","type","JSDocTemplateTag","template","JSDocTypedefTag","typedef","JSDocPropertyTag","property","JSDocImplementsTag","implements","simpleTag","TagSchema","typeExpression","typeNodeToSchema","ReturnTagSchema","return"],"sources":["jsdoc-to-doc-schema.ts"],"sourcesContent":["/* eslint-disable no-fallthrough */\nimport { getTextOfJSDocComment, JSDocReturnTag, JSDocTag, Node, SyntaxKind } from 'typescript';\nimport { getJsDoc, canHaveJsDoc } from 'tsutils';\nimport pMapSeries from 'p-map-series';\nimport { DocSchema, ReturnTagSchema, TagName, TagSchema } from '@teambit/semantics.entities.semantic-schema';\nimport { SchemaExtractorContext } from '../../schema-extractor-context';\nimport { typeNodeToSchema } from './type-node-to-schema';\n\nexport async function jsDocToDocSchema(node: Node, context: SchemaExtractorContext): Promise<DocSchema | undefined> {\n if (!canHaveJsDoc(node)) {\n return undefined;\n }\n const jsDocs = getJsDoc(node);\n if (!jsDocs.length) {\n return undefined;\n }\n // not sure how common it is to have multiple JSDocs. never seen it before.\n // regardless, in typescript implementation of methods like `getJSDocDeprecatedTag()`, they use the first one. (`getFirstJSDocTag()`)\n const jsDoc = jsDocs[0];\n const location = context.getLocation(jsDoc);\n const comment = getTextOfJSDocComment(jsDoc.comment);\n const tags = jsDoc.tags ? await pMapSeries(jsDoc.tags, (tag) => tagParser(tag, context)) : undefined;\n return new DocSchema(location, comment, tags);\n}\n\nasync function tagParser(tag: JSDocTag, context: SchemaExtractorContext): Promise<TagSchema> {\n // for some reason, in some cases, if `tag.getSourceFile()` is not provided to the `getText()`, it throws \"Cannot read property 'text' of undefined\"\n let tagName: TagName | string = tag.tagName.getText(tag.getSourceFile());\n switch (tag.kind) {\n case SyntaxKind.JSDocReturnTag:\n return returnTag(tag as JSDocReturnTag, context);\n case SyntaxKind.JSDocAugmentsTag:\n tagName = TagName.augments;\n case SyntaxKind.JSDocAuthorTag:\n tagName = TagName.author;\n case SyntaxKind.JSDocClassTag:\n tagName = TagName.class;\n case SyntaxKind.JSDocCallbackTag:\n tagName = TagName.callback;\n case SyntaxKind.JSDocPublicTag:\n tagName = TagName.public;\n case SyntaxKind.JSDocPrivateTag:\n tagName = TagName.private;\n case SyntaxKind.JSDocProtectedTag:\n tagName = TagName.protected;\n case SyntaxKind.JSDocReadonlyTag:\n tagName = TagName.readonly;\n case SyntaxKind.JSDocOverrideTag:\n tagName = TagName.override;\n case SyntaxKind.JSDocDeprecatedTag:\n tagName = TagName.deprecated;\n case SyntaxKind.JSDocSeeTag:\n tagName = TagName.see;\n case SyntaxKind.JSDocEnumTag:\n tagName = TagName.enum;\n case SyntaxKind.JSDocParameterTag:\n tagName = TagName.parameter;\n case SyntaxKind.JSDocThisTag:\n tagName = TagName.this;\n case SyntaxKind.JSDocTypeTag:\n tagName = TagName.type;\n case SyntaxKind.JSDocTemplateTag:\n tagName = TagName.template;\n case SyntaxKind.JSDocTypedefTag:\n tagName = TagName.typedef;\n case SyntaxKind.JSDocPropertyTag:\n tagName = TagName.property;\n case SyntaxKind.JSDocImplementsTag:\n tagName = TagName.implements;\n default:\n return simpleTag(tag, tagName, context);\n }\n}\n\nfunction simpleTag(tag: JSDocTag, tagName: TagName | string, context: SchemaExtractorContext): TagSchema {\n return new TagSchema(context.getLocation(tag), tagName, getTextOfJSDocComment(tag.comment));\n}\n\nasync function returnTag(tag: JSDocReturnTag, context: SchemaExtractorContext) {\n const type = tag.typeExpression?.type ? await typeNodeToSchema(tag.typeExpression?.type, context) : undefined;\n return new ReturnTagSchema(context.getLocation(tag), TagName.return, getTextOfJSDocComment(tag.comment), type);\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["jsDocToDocSchema","node","context","canHaveJsDoc","undefined","jsDocs","getJsDoc","length","jsDoc","location","getLocation","comment","getTextOfJSDocComment","tags","pMapSeries","tag","tagParser","DocSchema","getText","kind","SyntaxKind","JSDocReturnTag","returnTag","JSDocPropertyTag","propertyLikeTag","JSDocParameterTag","JSDocAugmentsTag","simpleTag","TagName","augments","JSDocAuthorTag","author","JSDocClassTag","class","JSDocCallbackTag","callback","JSDocPublicTag","public","JSDocPrivateTag","private","JSDocProtectedTag","protected","JSDocReadonlyTag","readonly","JSDocOverrideTag","override","JSDocDeprecatedTag","deprecated","JSDocSeeTag","see","JSDocEnumTag","enum","JSDocThisTag","this","JSDocTypeTag","type","JSDocTemplateTag","template","JSDocTypedefTag","typedef","JSDocImplementsTag","implements","tagName","getSourceFile","TagSchema","typeExpression","typeNodeToSchema","ReturnTagSchema","PropertyLikeTagSchema","name"],"sources":["jsdoc-to-doc-schema.ts"],"sourcesContent":["/* eslint-disable no-fallthrough */\nimport {\n getTextOfJSDocComment,\n JSDocParameterTag,\n JSDocPropertyLikeTag,\n JSDocPropertyTag,\n JSDocReturnTag,\n JSDocTag,\n Node,\n SyntaxKind,\n} from 'typescript';\nimport { getJsDoc, canHaveJsDoc } from 'tsutils';\nimport pMapSeries from 'p-map-series';\nimport {\n DocSchema,\n PropertyLikeTagSchema,\n ReturnTagSchema,\n TagName,\n TagSchema,\n} from '@teambit/semantics.entities.semantic-schema';\nimport { SchemaExtractorContext } from '../../schema-extractor-context';\nimport { typeNodeToSchema } from './type-node-to-schema';\n\nexport async function jsDocToDocSchema(node: Node, context: SchemaExtractorContext): Promise<DocSchema | undefined> {\n if (!canHaveJsDoc(node)) {\n return undefined;\n }\n const jsDocs = getJsDoc(node);\n if (!jsDocs.length) {\n return undefined;\n }\n // not sure how common it is to have multiple JSDocs. never seen it before.\n // regardless, in typescript implementation of methods like `getJSDocDeprecatedTag()`, they use the first one. (`getFirstJSDocTag()`)\n const jsDoc = jsDocs[0];\n const location = context.getLocation(jsDoc);\n const comment = getTextOfJSDocComment(jsDoc.comment);\n const tags = jsDoc.tags ? await pMapSeries(jsDoc.tags, (tag) => tagParser(tag, context)) : undefined;\n return new DocSchema(location, jsDoc.getText(), comment, tags);\n}\n\nasync function tagParser(tag: JSDocTag, context: SchemaExtractorContext): Promise<TagSchema> {\n // for some reason, in some cases, if `tag.getSourceFile()` is not provided to the `getText()`, it throws \"Cannot read property 'text' of undefined\"\n\n switch (tag.kind) {\n case SyntaxKind.JSDocReturnTag:\n return returnTag(tag as JSDocReturnTag, context);\n case SyntaxKind.JSDocPropertyTag:\n return propertyLikeTag(tag as JSDocPropertyTag, context);\n case SyntaxKind.JSDocParameterTag:\n return propertyLikeTag(tag as JSDocParameterTag, context);\n case SyntaxKind.JSDocAugmentsTag:\n return simpleTag(tag, TagName.augments, context);\n case SyntaxKind.JSDocAuthorTag:\n return simpleTag(tag, TagName.author, context);\n case SyntaxKind.JSDocClassTag:\n return simpleTag(tag, TagName.class, context);\n case SyntaxKind.JSDocCallbackTag:\n return simpleTag(tag, TagName.callback, context);\n case SyntaxKind.JSDocPublicTag:\n return simpleTag(tag, TagName.public, context);\n case SyntaxKind.JSDocPrivateTag:\n return simpleTag(tag, TagName.private, context);\n case SyntaxKind.JSDocProtectedTag:\n return simpleTag(tag, TagName.protected, context);\n case SyntaxKind.JSDocReadonlyTag:\n return simpleTag(tag, TagName.readonly, context);\n case SyntaxKind.JSDocOverrideTag:\n return simpleTag(tag, TagName.override, context);\n case SyntaxKind.JSDocDeprecatedTag:\n return simpleTag(tag, TagName.deprecated, context);\n case SyntaxKind.JSDocSeeTag:\n return simpleTag(tag, TagName.see, context);\n case SyntaxKind.JSDocEnumTag:\n return simpleTag(tag, TagName.enum, context);\n case SyntaxKind.JSDocThisTag:\n return simpleTag(tag, TagName.this, context);\n case SyntaxKind.JSDocTypeTag:\n return simpleTag(tag, TagName.type, context);\n case SyntaxKind.JSDocTemplateTag:\n return simpleTag(tag, TagName.template, context);\n case SyntaxKind.JSDocTypedefTag:\n return simpleTag(tag, TagName.typedef, context);\n case SyntaxKind.JSDocImplementsTag:\n return simpleTag(tag, TagName.implements, context);\n default: {\n const tagName: TagName | string = tag.tagName.getText(tag.getSourceFile());\n return simpleTag(tag, tagName, context);\n }\n }\n}\n\nfunction simpleTag(tag: JSDocTag, tagName: TagName | string, context: SchemaExtractorContext): TagSchema {\n return new TagSchema(context.getLocation(tag), tagName, getTextOfJSDocComment(tag.comment));\n}\n\nasync function returnTag(tag: JSDocReturnTag, context: SchemaExtractorContext) {\n const type = tag.typeExpression?.type ? await typeNodeToSchema(tag.typeExpression?.type, context) : undefined;\n return new ReturnTagSchema(context.getLocation(tag), getTextOfJSDocComment(tag.comment), type);\n}\n\nasync function propertyLikeTag(tag: JSDocPropertyLikeTag, context: SchemaExtractorContext) {\n const type = tag.typeExpression?.type ? await typeNodeToSchema(tag.typeExpression?.type, context) : undefined;\n return new PropertyLikeTagSchema(\n context.getLocation(tag),\n tag.name.getText(),\n getTextOfJSDocComment(tag.comment),\n type\n );\n}\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@teambit/typescript",
3
- "version": "0.0.760",
3
+ "version": "0.0.763",
4
4
  "homepage": "https://bit.dev/teambit/typescript/typescript",
5
5
  "main": "dist/index.js",
6
6
  "componentId": {
7
7
  "scope": "teambit.typescript",
8
8
  "name": "typescript",
9
- "version": "0.0.760"
9
+ "version": "0.0.763"
10
10
  },
11
11
  "dependencies": {
12
12
  "lodash": "4.17.21",
@@ -18,21 +18,21 @@
18
18
  "@babel/runtime": "7.12.18",
19
19
  "core-js": "^3.0.0",
20
20
  "@teambit/harmony": "0.3.3",
21
- "@teambit/compiler": "0.0.760",
21
+ "@teambit/compiler": "0.0.763",
22
22
  "@teambit/typescript.modules.ts-config-mutator": "0.0.68",
23
- "@teambit/component": "0.0.760",
24
- "@teambit/dependency-resolver": "0.0.760",
25
- "@teambit/semantics.entities.semantic-schema": "0.0.20",
23
+ "@teambit/component": "0.0.763",
24
+ "@teambit/dependency-resolver": "0.0.763",
25
+ "@teambit/semantics.entities.semantic-schema": "0.0.21",
26
26
  "@teambit/ts-server": "0.0.32",
27
- "@teambit/aspect-loader": "0.0.760",
27
+ "@teambit/aspect-loader": "0.0.763",
28
28
  "@teambit/bit-error": "0.0.394",
29
- "@teambit/builder": "0.0.760",
30
- "@teambit/isolator": "0.0.760",
31
- "@teambit/logger": "0.0.595",
32
- "@teambit/schema": "0.0.760",
33
- "@teambit/workspace": "0.0.760",
34
- "@teambit/cli": "0.0.502",
35
- "@teambit/pkg": "0.0.760"
29
+ "@teambit/builder": "0.0.763",
30
+ "@teambit/isolator": "0.0.763",
31
+ "@teambit/logger": "0.0.597",
32
+ "@teambit/schema": "0.0.763",
33
+ "@teambit/workspace": "0.0.763",
34
+ "@teambit/cli": "0.0.504",
35
+ "@teambit/pkg": "0.0.763"
36
36
  },
37
37
  "devDependencies": {
38
38
  "@types/lodash": "4.14.165",
@@ -48,7 +48,7 @@
48
48
  "@teambit/typescript.aspect-docs.typescript": "0.0.138"
49
49
  },
50
50
  "peerDependencies": {
51
- "@teambit/legacy": "1.0.282",
51
+ "@teambit/legacy": "1.0.284",
52
52
  "react-dom": "^16.8.0 || ^17.0.0",
53
53
  "react": "^16.8.0 || ^17.0.0"
54
54
  },
@@ -76,7 +76,7 @@
76
76
  "react": "-"
77
77
  },
78
78
  "peerDependencies": {
79
- "@teambit/legacy": "1.0.282",
79
+ "@teambit/legacy": "1.0.284",
80
80
  "react-dom": "^16.8.0 || ^17.0.0",
81
81
  "react": "^16.8.0 || ^17.0.0"
82
82
  }
@@ -1,2 +1,2 @@
1
- export const compositions = [require('/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.typescript_typescript@0.0.760/dist/typescript.composition.js')]
2
- export const overview = [require('/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.typescript_typescript@0.0.760/dist/typescript.docs.mdx')]
1
+ export const compositions = [require('/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.typescript_typescript@0.0.763/dist/typescript.composition.js')]
2
+ export const overview = [require('/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.typescript_typescript@0.0.763/dist/typescript.docs.mdx')]
@@ -1,8 +1,23 @@
1
1
  /* eslint-disable no-fallthrough */
2
- import { getTextOfJSDocComment, JSDocReturnTag, JSDocTag, Node, SyntaxKind } from 'typescript';
2
+ import {
3
+ getTextOfJSDocComment,
4
+ JSDocParameterTag,
5
+ JSDocPropertyLikeTag,
6
+ JSDocPropertyTag,
7
+ JSDocReturnTag,
8
+ JSDocTag,
9
+ Node,
10
+ SyntaxKind,
11
+ } from 'typescript';
3
12
  import { getJsDoc, canHaveJsDoc } from 'tsutils';
4
13
  import pMapSeries from 'p-map-series';
5
- import { DocSchema, ReturnTagSchema, TagName, TagSchema } from '@teambit/semantics.entities.semantic-schema';
14
+ import {
15
+ DocSchema,
16
+ PropertyLikeTagSchema,
17
+ ReturnTagSchema,
18
+ TagName,
19
+ TagSchema,
20
+ } from '@teambit/semantics.entities.semantic-schema';
6
21
  import { SchemaExtractorContext } from '../../schema-extractor-context';
7
22
  import { typeNodeToSchema } from './type-node-to-schema';
8
23
 
@@ -20,55 +35,57 @@ export async function jsDocToDocSchema(node: Node, context: SchemaExtractorConte
20
35
  const location = context.getLocation(jsDoc);
21
36
  const comment = getTextOfJSDocComment(jsDoc.comment);
22
37
  const tags = jsDoc.tags ? await pMapSeries(jsDoc.tags, (tag) => tagParser(tag, context)) : undefined;
23
- return new DocSchema(location, comment, tags);
38
+ return new DocSchema(location, jsDoc.getText(), comment, tags);
24
39
  }
25
40
 
26
41
  async function tagParser(tag: JSDocTag, context: SchemaExtractorContext): Promise<TagSchema> {
27
42
  // for some reason, in some cases, if `tag.getSourceFile()` is not provided to the `getText()`, it throws "Cannot read property 'text' of undefined"
28
- let tagName: TagName | string = tag.tagName.getText(tag.getSourceFile());
43
+
29
44
  switch (tag.kind) {
30
45
  case SyntaxKind.JSDocReturnTag:
31
46
  return returnTag(tag as JSDocReturnTag, context);
47
+ case SyntaxKind.JSDocPropertyTag:
48
+ return propertyLikeTag(tag as JSDocPropertyTag, context);
49
+ case SyntaxKind.JSDocParameterTag:
50
+ return propertyLikeTag(tag as JSDocParameterTag, context);
32
51
  case SyntaxKind.JSDocAugmentsTag:
33
- tagName = TagName.augments;
52
+ return simpleTag(tag, TagName.augments, context);
34
53
  case SyntaxKind.JSDocAuthorTag:
35
- tagName = TagName.author;
54
+ return simpleTag(tag, TagName.author, context);
36
55
  case SyntaxKind.JSDocClassTag:
37
- tagName = TagName.class;
56
+ return simpleTag(tag, TagName.class, context);
38
57
  case SyntaxKind.JSDocCallbackTag:
39
- tagName = TagName.callback;
58
+ return simpleTag(tag, TagName.callback, context);
40
59
  case SyntaxKind.JSDocPublicTag:
41
- tagName = TagName.public;
60
+ return simpleTag(tag, TagName.public, context);
42
61
  case SyntaxKind.JSDocPrivateTag:
43
- tagName = TagName.private;
62
+ return simpleTag(tag, TagName.private, context);
44
63
  case SyntaxKind.JSDocProtectedTag:
45
- tagName = TagName.protected;
64
+ return simpleTag(tag, TagName.protected, context);
46
65
  case SyntaxKind.JSDocReadonlyTag:
47
- tagName = TagName.readonly;
66
+ return simpleTag(tag, TagName.readonly, context);
48
67
  case SyntaxKind.JSDocOverrideTag:
49
- tagName = TagName.override;
68
+ return simpleTag(tag, TagName.override, context);
50
69
  case SyntaxKind.JSDocDeprecatedTag:
51
- tagName = TagName.deprecated;
70
+ return simpleTag(tag, TagName.deprecated, context);
52
71
  case SyntaxKind.JSDocSeeTag:
53
- tagName = TagName.see;
72
+ return simpleTag(tag, TagName.see, context);
54
73
  case SyntaxKind.JSDocEnumTag:
55
- tagName = TagName.enum;
56
- case SyntaxKind.JSDocParameterTag:
57
- tagName = TagName.parameter;
74
+ return simpleTag(tag, TagName.enum, context);
58
75
  case SyntaxKind.JSDocThisTag:
59
- tagName = TagName.this;
76
+ return simpleTag(tag, TagName.this, context);
60
77
  case SyntaxKind.JSDocTypeTag:
61
- tagName = TagName.type;
78
+ return simpleTag(tag, TagName.type, context);
62
79
  case SyntaxKind.JSDocTemplateTag:
63
- tagName = TagName.template;
80
+ return simpleTag(tag, TagName.template, context);
64
81
  case SyntaxKind.JSDocTypedefTag:
65
- tagName = TagName.typedef;
66
- case SyntaxKind.JSDocPropertyTag:
67
- tagName = TagName.property;
82
+ return simpleTag(tag, TagName.typedef, context);
68
83
  case SyntaxKind.JSDocImplementsTag:
69
- tagName = TagName.implements;
70
- default:
84
+ return simpleTag(tag, TagName.implements, context);
85
+ default: {
86
+ const tagName: TagName | string = tag.tagName.getText(tag.getSourceFile());
71
87
  return simpleTag(tag, tagName, context);
88
+ }
72
89
  }
73
90
  }
74
91
 
@@ -78,5 +95,15 @@ function simpleTag(tag: JSDocTag, tagName: TagName | string, context: SchemaExtr
78
95
 
79
96
  async function returnTag(tag: JSDocReturnTag, context: SchemaExtractorContext) {
80
97
  const type = tag.typeExpression?.type ? await typeNodeToSchema(tag.typeExpression?.type, context) : undefined;
81
- return new ReturnTagSchema(context.getLocation(tag), TagName.return, getTextOfJSDocComment(tag.comment), type);
98
+ return new ReturnTagSchema(context.getLocation(tag), getTextOfJSDocComment(tag.comment), type);
99
+ }
100
+
101
+ async function propertyLikeTag(tag: JSDocPropertyLikeTag, context: SchemaExtractorContext) {
102
+ const type = tag.typeExpression?.type ? await typeNodeToSchema(tag.typeExpression?.type, context) : undefined;
103
+ return new PropertyLikeTagSchema(
104
+ context.getLocation(tag),
105
+ tag.name.getText(),
106
+ getTextOfJSDocComment(tag.comment),
107
+ type
108
+ );
82
109
  }