@microsoft/api-extractor-model 7.32.2 → 7.33.1

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.
Files changed (298) hide show
  1. package/CHANGELOG.json +34 -0
  2. package/CHANGELOG.md +15 -1
  3. package/dist/tsdoc-metadata.json +1 -1
  4. package/lib-esm/aedoc/AedocDefinitions.js +57 -0
  5. package/lib-esm/aedoc/AedocDefinitions.js.map +1 -0
  6. package/lib-esm/aedoc/ReleaseTag.js +87 -0
  7. package/lib-esm/aedoc/ReleaseTag.js.map +1 -0
  8. package/lib-esm/index.js +58 -0
  9. package/lib-esm/index.js.map +1 -0
  10. package/lib-esm/items/ApiDeclaredItem.js +137 -0
  11. package/lib-esm/items/ApiDeclaredItem.js.map +1 -0
  12. package/lib-esm/items/ApiDocumentedItem.js +48 -0
  13. package/lib-esm/items/ApiDocumentedItem.js.map +1 -0
  14. package/lib-esm/items/ApiItem.js +270 -0
  15. package/lib-esm/items/ApiItem.js.map +1 -0
  16. package/lib-esm/items/ApiPropertyItem.js +45 -0
  17. package/lib-esm/items/ApiPropertyItem.js.map +1 -0
  18. package/lib-esm/mixins/ApiAbstractMixin.js +58 -0
  19. package/lib-esm/mixins/ApiAbstractMixin.js.map +1 -0
  20. package/lib-esm/mixins/ApiExportedMixin.js +63 -0
  21. package/lib-esm/mixins/ApiExportedMixin.js.map +1 -0
  22. package/lib-esm/mixins/ApiInitializerMixin.js +70 -0
  23. package/lib-esm/mixins/ApiInitializerMixin.js.map +1 -0
  24. package/lib-esm/mixins/ApiItemContainerMixin.js +319 -0
  25. package/lib-esm/mixins/ApiItemContainerMixin.js.map +1 -0
  26. package/lib-esm/mixins/ApiNameMixin.js +61 -0
  27. package/lib-esm/mixins/ApiNameMixin.js.map +1 -0
  28. package/lib-esm/mixins/ApiOptionalMixin.js +57 -0
  29. package/lib-esm/mixins/ApiOptionalMixin.js.map +1 -0
  30. package/lib-esm/mixins/ApiParameterListMixin.js +93 -0
  31. package/lib-esm/mixins/ApiParameterListMixin.js.map +1 -0
  32. package/lib-esm/mixins/ApiProtectedMixin.js +57 -0
  33. package/lib-esm/mixins/ApiProtectedMixin.js.map +1 -0
  34. package/lib-esm/mixins/ApiReadonlyMixin.js +58 -0
  35. package/lib-esm/mixins/ApiReadonlyMixin.js.map +1 -0
  36. package/lib-esm/mixins/ApiReleaseTagMixin.js +65 -0
  37. package/lib-esm/mixins/ApiReleaseTagMixin.js.map +1 -0
  38. package/lib-esm/mixins/ApiReturnTypeMixin.js +65 -0
  39. package/lib-esm/mixins/ApiReturnTypeMixin.js.map +1 -0
  40. package/lib-esm/mixins/ApiStaticMixin.js +57 -0
  41. package/lib-esm/mixins/ApiStaticMixin.js.map +1 -0
  42. package/lib-esm/mixins/ApiTypeParameterListMixin.js +90 -0
  43. package/lib-esm/mixins/ApiTypeParameterListMixin.js.map +1 -0
  44. package/lib-esm/mixins/Excerpt.js +101 -0
  45. package/lib-esm/mixins/Excerpt.js.map +1 -0
  46. package/lib-esm/mixins/IFindApiItemsResult.js +26 -0
  47. package/lib-esm/mixins/IFindApiItemsResult.js.map +1 -0
  48. package/lib-esm/mixins/Mixin.js +4 -0
  49. package/lib-esm/mixins/Mixin.js.map +1 -0
  50. package/lib-esm/model/ApiCallSignature.js +63 -0
  51. package/lib-esm/model/ApiCallSignature.js.map +1 -0
  52. package/lib-esm/model/ApiClass.js +84 -0
  53. package/lib-esm/model/ApiClass.js.map +1 -0
  54. package/lib-esm/model/ApiConstructSignature.js +76 -0
  55. package/lib-esm/model/ApiConstructSignature.js.map +1 -0
  56. package/lib-esm/model/ApiConstructor.js +60 -0
  57. package/lib-esm/model/ApiConstructor.js.map +1 -0
  58. package/lib-esm/model/ApiEntryPoint.js +71 -0
  59. package/lib-esm/model/ApiEntryPoint.js.map +1 -0
  60. package/lib-esm/model/ApiEnum.js +65 -0
  61. package/lib-esm/model/ApiEnum.js.map +1 -0
  62. package/lib-esm/model/ApiEnumMember.js +80 -0
  63. package/lib-esm/model/ApiEnumMember.js.map +1 -0
  64. package/lib-esm/model/ApiFunction.js +58 -0
  65. package/lib-esm/model/ApiFunction.js.map +1 -0
  66. package/lib-esm/model/ApiIndexSignature.js +56 -0
  67. package/lib-esm/model/ApiIndexSignature.js.map +1 -0
  68. package/lib-esm/model/ApiInterface.js +73 -0
  69. package/lib-esm/model/ApiInterface.js.map +1 -0
  70. package/lib-esm/model/ApiMethod.js +65 -0
  71. package/lib-esm/model/ApiMethod.js.map +1 -0
  72. package/lib-esm/model/ApiMethodSignature.js +57 -0
  73. package/lib-esm/model/ApiMethodSignature.js.map +1 -0
  74. package/lib-esm/model/ApiModel.js +170 -0
  75. package/lib-esm/model/ApiModel.js.map +1 -0
  76. package/lib-esm/model/ApiNamespace.js +56 -0
  77. package/lib-esm/model/ApiNamespace.js.map +1 -0
  78. package/lib-esm/model/ApiPackage.js +148 -0
  79. package/lib-esm/model/ApiPackage.js.map +1 -0
  80. package/lib-esm/model/ApiProperty.js +72 -0
  81. package/lib-esm/model/ApiProperty.js.map +1 -0
  82. package/lib-esm/model/ApiPropertySignature.js +51 -0
  83. package/lib-esm/model/ApiPropertySignature.js.map +1 -0
  84. package/lib-esm/model/ApiTypeAlias.js +71 -0
  85. package/lib-esm/model/ApiTypeAlias.js.map +1 -0
  86. package/lib-esm/model/ApiVariable.js +66 -0
  87. package/lib-esm/model/ApiVariable.js.map +1 -0
  88. package/lib-esm/model/Deserializer.js +88 -0
  89. package/lib-esm/model/Deserializer.js.map +1 -0
  90. package/lib-esm/model/DeserializerContext.js +111 -0
  91. package/lib-esm/model/DeserializerContext.js.map +1 -0
  92. package/lib-esm/model/HeritageType.js +25 -0
  93. package/lib-esm/model/HeritageType.js.map +1 -0
  94. package/lib-esm/model/ModelReferenceResolver.js +177 -0
  95. package/lib-esm/model/ModelReferenceResolver.js.map +1 -0
  96. package/lib-esm/model/Parameter.js +39 -0
  97. package/lib-esm/model/Parameter.js.map +1 -0
  98. package/lib-esm/model/SourceLocation.js +35 -0
  99. package/lib-esm/model/SourceLocation.js.map +1 -0
  100. package/lib-esm/model/TypeParameter.js +49 -0
  101. package/lib-esm/model/TypeParameter.js.map +1 -0
  102. package/package.json +29 -5
  103. /package/{lib → lib-commonjs}/aedoc/AedocDefinitions.js +0 -0
  104. /package/{lib → lib-commonjs}/aedoc/AedocDefinitions.js.map +0 -0
  105. /package/{lib → lib-commonjs}/aedoc/ReleaseTag.js +0 -0
  106. /package/{lib → lib-commonjs}/aedoc/ReleaseTag.js.map +0 -0
  107. /package/{lib → lib-commonjs}/index.js +0 -0
  108. /package/{lib → lib-commonjs}/index.js.map +0 -0
  109. /package/{lib → lib-commonjs}/items/ApiDeclaredItem.js +0 -0
  110. /package/{lib → lib-commonjs}/items/ApiDeclaredItem.js.map +0 -0
  111. /package/{lib → lib-commonjs}/items/ApiDocumentedItem.js +0 -0
  112. /package/{lib → lib-commonjs}/items/ApiDocumentedItem.js.map +0 -0
  113. /package/{lib → lib-commonjs}/items/ApiItem.js +0 -0
  114. /package/{lib → lib-commonjs}/items/ApiItem.js.map +0 -0
  115. /package/{lib → lib-commonjs}/items/ApiPropertyItem.js +0 -0
  116. /package/{lib → lib-commonjs}/items/ApiPropertyItem.js.map +0 -0
  117. /package/{lib → lib-commonjs}/mixins/ApiAbstractMixin.js +0 -0
  118. /package/{lib → lib-commonjs}/mixins/ApiAbstractMixin.js.map +0 -0
  119. /package/{lib → lib-commonjs}/mixins/ApiExportedMixin.js +0 -0
  120. /package/{lib → lib-commonjs}/mixins/ApiExportedMixin.js.map +0 -0
  121. /package/{lib → lib-commonjs}/mixins/ApiInitializerMixin.js +0 -0
  122. /package/{lib → lib-commonjs}/mixins/ApiInitializerMixin.js.map +0 -0
  123. /package/{lib → lib-commonjs}/mixins/ApiItemContainerMixin.js +0 -0
  124. /package/{lib → lib-commonjs}/mixins/ApiItemContainerMixin.js.map +0 -0
  125. /package/{lib → lib-commonjs}/mixins/ApiNameMixin.js +0 -0
  126. /package/{lib → lib-commonjs}/mixins/ApiNameMixin.js.map +0 -0
  127. /package/{lib → lib-commonjs}/mixins/ApiOptionalMixin.js +0 -0
  128. /package/{lib → lib-commonjs}/mixins/ApiOptionalMixin.js.map +0 -0
  129. /package/{lib → lib-commonjs}/mixins/ApiParameterListMixin.js +0 -0
  130. /package/{lib → lib-commonjs}/mixins/ApiParameterListMixin.js.map +0 -0
  131. /package/{lib → lib-commonjs}/mixins/ApiProtectedMixin.js +0 -0
  132. /package/{lib → lib-commonjs}/mixins/ApiProtectedMixin.js.map +0 -0
  133. /package/{lib → lib-commonjs}/mixins/ApiReadonlyMixin.js +0 -0
  134. /package/{lib → lib-commonjs}/mixins/ApiReadonlyMixin.js.map +0 -0
  135. /package/{lib → lib-commonjs}/mixins/ApiReleaseTagMixin.js +0 -0
  136. /package/{lib → lib-commonjs}/mixins/ApiReleaseTagMixin.js.map +0 -0
  137. /package/{lib → lib-commonjs}/mixins/ApiReturnTypeMixin.js +0 -0
  138. /package/{lib → lib-commonjs}/mixins/ApiReturnTypeMixin.js.map +0 -0
  139. /package/{lib → lib-commonjs}/mixins/ApiStaticMixin.js +0 -0
  140. /package/{lib → lib-commonjs}/mixins/ApiStaticMixin.js.map +0 -0
  141. /package/{lib → lib-commonjs}/mixins/ApiTypeParameterListMixin.js +0 -0
  142. /package/{lib → lib-commonjs}/mixins/ApiTypeParameterListMixin.js.map +0 -0
  143. /package/{lib → lib-commonjs}/mixins/Excerpt.js +0 -0
  144. /package/{lib → lib-commonjs}/mixins/Excerpt.js.map +0 -0
  145. /package/{lib → lib-commonjs}/mixins/IFindApiItemsResult.js +0 -0
  146. /package/{lib → lib-commonjs}/mixins/IFindApiItemsResult.js.map +0 -0
  147. /package/{lib → lib-commonjs}/mixins/Mixin.js +0 -0
  148. /package/{lib → lib-commonjs}/mixins/Mixin.js.map +0 -0
  149. /package/{lib → lib-commonjs}/model/ApiCallSignature.js +0 -0
  150. /package/{lib → lib-commonjs}/model/ApiCallSignature.js.map +0 -0
  151. /package/{lib → lib-commonjs}/model/ApiClass.js +0 -0
  152. /package/{lib → lib-commonjs}/model/ApiClass.js.map +0 -0
  153. /package/{lib → lib-commonjs}/model/ApiConstructSignature.js +0 -0
  154. /package/{lib → lib-commonjs}/model/ApiConstructSignature.js.map +0 -0
  155. /package/{lib → lib-commonjs}/model/ApiConstructor.js +0 -0
  156. /package/{lib → lib-commonjs}/model/ApiConstructor.js.map +0 -0
  157. /package/{lib → lib-commonjs}/model/ApiEntryPoint.js +0 -0
  158. /package/{lib → lib-commonjs}/model/ApiEntryPoint.js.map +0 -0
  159. /package/{lib → lib-commonjs}/model/ApiEnum.js +0 -0
  160. /package/{lib → lib-commonjs}/model/ApiEnum.js.map +0 -0
  161. /package/{lib → lib-commonjs}/model/ApiEnumMember.js +0 -0
  162. /package/{lib → lib-commonjs}/model/ApiEnumMember.js.map +0 -0
  163. /package/{lib → lib-commonjs}/model/ApiFunction.js +0 -0
  164. /package/{lib → lib-commonjs}/model/ApiFunction.js.map +0 -0
  165. /package/{lib → lib-commonjs}/model/ApiIndexSignature.js +0 -0
  166. /package/{lib → lib-commonjs}/model/ApiIndexSignature.js.map +0 -0
  167. /package/{lib → lib-commonjs}/model/ApiInterface.js +0 -0
  168. /package/{lib → lib-commonjs}/model/ApiInterface.js.map +0 -0
  169. /package/{lib → lib-commonjs}/model/ApiMethod.js +0 -0
  170. /package/{lib → lib-commonjs}/model/ApiMethod.js.map +0 -0
  171. /package/{lib → lib-commonjs}/model/ApiMethodSignature.js +0 -0
  172. /package/{lib → lib-commonjs}/model/ApiMethodSignature.js.map +0 -0
  173. /package/{lib → lib-commonjs}/model/ApiModel.js +0 -0
  174. /package/{lib → lib-commonjs}/model/ApiModel.js.map +0 -0
  175. /package/{lib → lib-commonjs}/model/ApiNamespace.js +0 -0
  176. /package/{lib → lib-commonjs}/model/ApiNamespace.js.map +0 -0
  177. /package/{lib → lib-commonjs}/model/ApiPackage.js +0 -0
  178. /package/{lib → lib-commonjs}/model/ApiPackage.js.map +0 -0
  179. /package/{lib → lib-commonjs}/model/ApiProperty.js +0 -0
  180. /package/{lib → lib-commonjs}/model/ApiProperty.js.map +0 -0
  181. /package/{lib → lib-commonjs}/model/ApiPropertySignature.js +0 -0
  182. /package/{lib → lib-commonjs}/model/ApiPropertySignature.js.map +0 -0
  183. /package/{lib → lib-commonjs}/model/ApiTypeAlias.js +0 -0
  184. /package/{lib → lib-commonjs}/model/ApiTypeAlias.js.map +0 -0
  185. /package/{lib → lib-commonjs}/model/ApiVariable.js +0 -0
  186. /package/{lib → lib-commonjs}/model/ApiVariable.js.map +0 -0
  187. /package/{lib → lib-commonjs}/model/Deserializer.js +0 -0
  188. /package/{lib → lib-commonjs}/model/Deserializer.js.map +0 -0
  189. /package/{lib → lib-commonjs}/model/DeserializerContext.js +0 -0
  190. /package/{lib → lib-commonjs}/model/DeserializerContext.js.map +0 -0
  191. /package/{lib → lib-commonjs}/model/HeritageType.js +0 -0
  192. /package/{lib → lib-commonjs}/model/HeritageType.js.map +0 -0
  193. /package/{lib → lib-commonjs}/model/ModelReferenceResolver.js +0 -0
  194. /package/{lib → lib-commonjs}/model/ModelReferenceResolver.js.map +0 -0
  195. /package/{lib → lib-commonjs}/model/Parameter.js +0 -0
  196. /package/{lib → lib-commonjs}/model/Parameter.js.map +0 -0
  197. /package/{lib → lib-commonjs}/model/SourceLocation.js +0 -0
  198. /package/{lib → lib-commonjs}/model/SourceLocation.js.map +0 -0
  199. /package/{lib → lib-commonjs}/model/TypeParameter.js +0 -0
  200. /package/{lib → lib-commonjs}/model/TypeParameter.js.map +0 -0
  201. /package/{lib → lib-dts}/aedoc/AedocDefinitions.d.ts +0 -0
  202. /package/{lib → lib-dts}/aedoc/AedocDefinitions.d.ts.map +0 -0
  203. /package/{lib → lib-dts}/aedoc/ReleaseTag.d.ts +0 -0
  204. /package/{lib → lib-dts}/aedoc/ReleaseTag.d.ts.map +0 -0
  205. /package/{lib → lib-dts}/index.d.ts +0 -0
  206. /package/{lib → lib-dts}/index.d.ts.map +0 -0
  207. /package/{lib → lib-dts}/items/ApiDeclaredItem.d.ts +0 -0
  208. /package/{lib → lib-dts}/items/ApiDeclaredItem.d.ts.map +0 -0
  209. /package/{lib → lib-dts}/items/ApiDocumentedItem.d.ts +0 -0
  210. /package/{lib → lib-dts}/items/ApiDocumentedItem.d.ts.map +0 -0
  211. /package/{lib → lib-dts}/items/ApiItem.d.ts +0 -0
  212. /package/{lib → lib-dts}/items/ApiItem.d.ts.map +0 -0
  213. /package/{lib → lib-dts}/items/ApiPropertyItem.d.ts +0 -0
  214. /package/{lib → lib-dts}/items/ApiPropertyItem.d.ts.map +0 -0
  215. /package/{lib → lib-dts}/mixins/ApiAbstractMixin.d.ts +0 -0
  216. /package/{lib → lib-dts}/mixins/ApiAbstractMixin.d.ts.map +0 -0
  217. /package/{lib → lib-dts}/mixins/ApiExportedMixin.d.ts +0 -0
  218. /package/{lib → lib-dts}/mixins/ApiExportedMixin.d.ts.map +0 -0
  219. /package/{lib → lib-dts}/mixins/ApiInitializerMixin.d.ts +0 -0
  220. /package/{lib → lib-dts}/mixins/ApiInitializerMixin.d.ts.map +0 -0
  221. /package/{lib → lib-dts}/mixins/ApiItemContainerMixin.d.ts +0 -0
  222. /package/{lib → lib-dts}/mixins/ApiItemContainerMixin.d.ts.map +0 -0
  223. /package/{lib → lib-dts}/mixins/ApiNameMixin.d.ts +0 -0
  224. /package/{lib → lib-dts}/mixins/ApiNameMixin.d.ts.map +0 -0
  225. /package/{lib → lib-dts}/mixins/ApiOptionalMixin.d.ts +0 -0
  226. /package/{lib → lib-dts}/mixins/ApiOptionalMixin.d.ts.map +0 -0
  227. /package/{lib → lib-dts}/mixins/ApiParameterListMixin.d.ts +0 -0
  228. /package/{lib → lib-dts}/mixins/ApiParameterListMixin.d.ts.map +0 -0
  229. /package/{lib → lib-dts}/mixins/ApiProtectedMixin.d.ts +0 -0
  230. /package/{lib → lib-dts}/mixins/ApiProtectedMixin.d.ts.map +0 -0
  231. /package/{lib → lib-dts}/mixins/ApiReadonlyMixin.d.ts +0 -0
  232. /package/{lib → lib-dts}/mixins/ApiReadonlyMixin.d.ts.map +0 -0
  233. /package/{lib → lib-dts}/mixins/ApiReleaseTagMixin.d.ts +0 -0
  234. /package/{lib → lib-dts}/mixins/ApiReleaseTagMixin.d.ts.map +0 -0
  235. /package/{lib → lib-dts}/mixins/ApiReturnTypeMixin.d.ts +0 -0
  236. /package/{lib → lib-dts}/mixins/ApiReturnTypeMixin.d.ts.map +0 -0
  237. /package/{lib → lib-dts}/mixins/ApiStaticMixin.d.ts +0 -0
  238. /package/{lib → lib-dts}/mixins/ApiStaticMixin.d.ts.map +0 -0
  239. /package/{lib → lib-dts}/mixins/ApiTypeParameterListMixin.d.ts +0 -0
  240. /package/{lib → lib-dts}/mixins/ApiTypeParameterListMixin.d.ts.map +0 -0
  241. /package/{lib → lib-dts}/mixins/Excerpt.d.ts +0 -0
  242. /package/{lib → lib-dts}/mixins/Excerpt.d.ts.map +0 -0
  243. /package/{lib → lib-dts}/mixins/IFindApiItemsResult.d.ts +0 -0
  244. /package/{lib → lib-dts}/mixins/IFindApiItemsResult.d.ts.map +0 -0
  245. /package/{lib → lib-dts}/mixins/Mixin.d.ts +0 -0
  246. /package/{lib → lib-dts}/mixins/Mixin.d.ts.map +0 -0
  247. /package/{lib → lib-dts}/model/ApiCallSignature.d.ts +0 -0
  248. /package/{lib → lib-dts}/model/ApiCallSignature.d.ts.map +0 -0
  249. /package/{lib → lib-dts}/model/ApiClass.d.ts +0 -0
  250. /package/{lib → lib-dts}/model/ApiClass.d.ts.map +0 -0
  251. /package/{lib → lib-dts}/model/ApiConstructSignature.d.ts +0 -0
  252. /package/{lib → lib-dts}/model/ApiConstructSignature.d.ts.map +0 -0
  253. /package/{lib → lib-dts}/model/ApiConstructor.d.ts +0 -0
  254. /package/{lib → lib-dts}/model/ApiConstructor.d.ts.map +0 -0
  255. /package/{lib → lib-dts}/model/ApiEntryPoint.d.ts +0 -0
  256. /package/{lib → lib-dts}/model/ApiEntryPoint.d.ts.map +0 -0
  257. /package/{lib → lib-dts}/model/ApiEnum.d.ts +0 -0
  258. /package/{lib → lib-dts}/model/ApiEnum.d.ts.map +0 -0
  259. /package/{lib → lib-dts}/model/ApiEnumMember.d.ts +0 -0
  260. /package/{lib → lib-dts}/model/ApiEnumMember.d.ts.map +0 -0
  261. /package/{lib → lib-dts}/model/ApiFunction.d.ts +0 -0
  262. /package/{lib → lib-dts}/model/ApiFunction.d.ts.map +0 -0
  263. /package/{lib → lib-dts}/model/ApiIndexSignature.d.ts +0 -0
  264. /package/{lib → lib-dts}/model/ApiIndexSignature.d.ts.map +0 -0
  265. /package/{lib → lib-dts}/model/ApiInterface.d.ts +0 -0
  266. /package/{lib → lib-dts}/model/ApiInterface.d.ts.map +0 -0
  267. /package/{lib → lib-dts}/model/ApiMethod.d.ts +0 -0
  268. /package/{lib → lib-dts}/model/ApiMethod.d.ts.map +0 -0
  269. /package/{lib → lib-dts}/model/ApiMethodSignature.d.ts +0 -0
  270. /package/{lib → lib-dts}/model/ApiMethodSignature.d.ts.map +0 -0
  271. /package/{lib → lib-dts}/model/ApiModel.d.ts +0 -0
  272. /package/{lib → lib-dts}/model/ApiModel.d.ts.map +0 -0
  273. /package/{lib → lib-dts}/model/ApiNamespace.d.ts +0 -0
  274. /package/{lib → lib-dts}/model/ApiNamespace.d.ts.map +0 -0
  275. /package/{lib → lib-dts}/model/ApiPackage.d.ts +0 -0
  276. /package/{lib → lib-dts}/model/ApiPackage.d.ts.map +0 -0
  277. /package/{lib → lib-dts}/model/ApiProperty.d.ts +0 -0
  278. /package/{lib → lib-dts}/model/ApiProperty.d.ts.map +0 -0
  279. /package/{lib → lib-dts}/model/ApiPropertySignature.d.ts +0 -0
  280. /package/{lib → lib-dts}/model/ApiPropertySignature.d.ts.map +0 -0
  281. /package/{lib → lib-dts}/model/ApiTypeAlias.d.ts +0 -0
  282. /package/{lib → lib-dts}/model/ApiTypeAlias.d.ts.map +0 -0
  283. /package/{lib → lib-dts}/model/ApiVariable.d.ts +0 -0
  284. /package/{lib → lib-dts}/model/ApiVariable.d.ts.map +0 -0
  285. /package/{lib → lib-dts}/model/Deserializer.d.ts +0 -0
  286. /package/{lib → lib-dts}/model/Deserializer.d.ts.map +0 -0
  287. /package/{lib → lib-dts}/model/DeserializerContext.d.ts +0 -0
  288. /package/{lib → lib-dts}/model/DeserializerContext.d.ts.map +0 -0
  289. /package/{lib → lib-dts}/model/HeritageType.d.ts +0 -0
  290. /package/{lib → lib-dts}/model/HeritageType.d.ts.map +0 -0
  291. /package/{lib → lib-dts}/model/ModelReferenceResolver.d.ts +0 -0
  292. /package/{lib → lib-dts}/model/ModelReferenceResolver.d.ts.map +0 -0
  293. /package/{lib → lib-dts}/model/Parameter.d.ts +0 -0
  294. /package/{lib → lib-dts}/model/Parameter.d.ts.map +0 -0
  295. /package/{lib → lib-dts}/model/SourceLocation.d.ts +0 -0
  296. /package/{lib → lib-dts}/model/SourceLocation.d.ts.map +0 -0
  297. /package/{lib → lib-dts}/model/TypeParameter.d.ts +0 -0
  298. /package/{lib → lib-dts}/model/TypeParameter.d.ts.map +0 -0
package/CHANGELOG.json CHANGED
@@ -1,6 +1,40 @@
1
1
  {
2
2
  "name": "@microsoft/api-extractor-model",
3
3
  "entries": [
4
+ {
5
+ "version": "7.33.1",
6
+ "tag": "@microsoft/api-extractor-model_v7.33.1",
7
+ "date": "Fri, 20 Feb 2026 00:15:03 GMT",
8
+ "comments": {
9
+ "patch": [
10
+ {
11
+ "comment": "Add `\"node\"` condition before `\"import\"` in the `\"exports\"` map so that Node.js uses the CJS output (which handles extensionless imports), while bundlers still use ESM via `\"import\"`. Fixes https://github.com/microsoft/rushstack/issues/5644."
12
+ }
13
+ ],
14
+ "dependency": [
15
+ {
16
+ "comment": "Updating dependency \"@rushstack/node-core-library\" to `5.20.1`"
17
+ }
18
+ ]
19
+ }
20
+ },
21
+ {
22
+ "version": "7.33.0",
23
+ "tag": "@microsoft/api-extractor-model_v7.33.0",
24
+ "date": "Thu, 19 Feb 2026 00:04:52 GMT",
25
+ "comments": {
26
+ "minor": [
27
+ {
28
+ "comment": "Normalize package layout. CommonJS is now under `lib-commonjs`, DTS is now under `lib-dts`, and ESM is now under `lib-esm`. Imports to `lib` still work as before, handled by the `\"exports\"` field in `package.json`."
29
+ }
30
+ ],
31
+ "dependency": [
32
+ {
33
+ "comment": "Updating dependency \"@rushstack/node-core-library\" to `5.20.0`"
34
+ }
35
+ ]
36
+ }
37
+ },
4
38
  {
5
39
  "version": "7.32.2",
6
40
  "tag": "@microsoft/api-extractor-model_v7.32.2",
package/CHANGELOG.md CHANGED
@@ -1,6 +1,20 @@
1
1
  # Change Log - @microsoft/api-extractor-model
2
2
 
3
- This log was last generated on Sat, 06 Dec 2025 01:12:29 GMT and should not be manually modified.
3
+ This log was last generated on Fri, 20 Feb 2026 00:15:03 GMT and should not be manually modified.
4
+
5
+ ## 7.33.1
6
+ Fri, 20 Feb 2026 00:15:03 GMT
7
+
8
+ ### Patches
9
+
10
+ - Add `"node"` condition before `"import"` in the `"exports"` map so that Node.js uses the CJS output (which handles extensionless imports), while bundlers still use ESM via `"import"`. Fixes https://github.com/microsoft/rushstack/issues/5644.
11
+
12
+ ## 7.33.0
13
+ Thu, 19 Feb 2026 00:04:52 GMT
14
+
15
+ ### Minor changes
16
+
17
+ - Normalize package layout. CommonJS is now under `lib-commonjs`, DTS is now under `lib-dts`, and ESM is now under `lib-esm`. Imports to `lib` still work as before, handled by the `"exports"` field in `package.json`.
4
18
 
5
19
  ## 7.32.2
6
20
  Sat, 06 Dec 2025 01:12:29 GMT
@@ -5,7 +5,7 @@
5
5
  "toolPackages": [
6
6
  {
7
7
  "packageName": "@microsoft/api-extractor",
8
- "packageVersion": "7.54.0"
8
+ "packageVersion": "7.57.0"
9
9
  }
10
10
  ]
11
11
  }
@@ -0,0 +1,57 @@
1
+ // Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license.
2
+ // See LICENSE in the project root for license information.
3
+ import { TSDocConfiguration, TSDocTagDefinition, TSDocTagSyntaxKind, StandardTags } from '@microsoft/tsdoc';
4
+ /**
5
+ * @internal
6
+ * @deprecated - tsdoc configuration is now constructed from tsdoc.json files associated with each package.
7
+ */
8
+ export class AedocDefinitions {
9
+ static get tsdocConfiguration() {
10
+ if (!AedocDefinitions._tsdocConfiguration) {
11
+ const configuration = new TSDocConfiguration();
12
+ configuration.addTagDefinitions([
13
+ AedocDefinitions.betaDocumentation,
14
+ AedocDefinitions.internalRemarks,
15
+ AedocDefinitions.preapprovedTag
16
+ ], true);
17
+ configuration.setSupportForTags([
18
+ StandardTags.alpha,
19
+ StandardTags.beta,
20
+ StandardTags.decorator,
21
+ StandardTags.defaultValue,
22
+ StandardTags.deprecated,
23
+ StandardTags.eventProperty,
24
+ StandardTags.example,
25
+ StandardTags.inheritDoc,
26
+ StandardTags.internal,
27
+ StandardTags.link,
28
+ StandardTags.override,
29
+ StandardTags.packageDocumentation,
30
+ StandardTags.param,
31
+ StandardTags.privateRemarks,
32
+ StandardTags.public,
33
+ StandardTags.readonly,
34
+ StandardTags.remarks,
35
+ StandardTags.returns,
36
+ StandardTags.sealed,
37
+ StandardTags.throws,
38
+ StandardTags.virtual
39
+ ], true);
40
+ AedocDefinitions._tsdocConfiguration = configuration;
41
+ }
42
+ return AedocDefinitions._tsdocConfiguration;
43
+ }
44
+ }
45
+ AedocDefinitions.betaDocumentation = new TSDocTagDefinition({
46
+ tagName: '@betaDocumentation',
47
+ syntaxKind: TSDocTagSyntaxKind.ModifierTag
48
+ });
49
+ AedocDefinitions.internalRemarks = new TSDocTagDefinition({
50
+ tagName: '@internalRemarks',
51
+ syntaxKind: TSDocTagSyntaxKind.BlockTag
52
+ });
53
+ AedocDefinitions.preapprovedTag = new TSDocTagDefinition({
54
+ tagName: '@preapproved',
55
+ syntaxKind: TSDocTagSyntaxKind.ModifierTag
56
+ });
57
+ //# sourceMappingURL=AedocDefinitions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AedocDefinitions.js","sourceRoot":"","sources":["../../src/aedoc/AedocDefinitions.ts"],"names":[],"mappings":"AAAA,4FAA4F;AAC5F,2DAA2D;AAE3D,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAE5G;;;GAGG;AACH,MAAM,OAAO,gBAAgB;IAgBpB,MAAM,KAAK,kBAAkB;QAClC,IAAI,CAAC,gBAAgB,CAAC,mBAAmB,EAAE,CAAC;YAC1C,MAAM,aAAa,GAAuB,IAAI,kBAAkB,EAAE,CAAC;YACnE,aAAa,CAAC,iBAAiB,CAC7B;gBACE,gBAAgB,CAAC,iBAAiB;gBAClC,gBAAgB,CAAC,eAAe;gBAChC,gBAAgB,CAAC,cAAc;aAChC,EACD,IAAI,CACL,CAAC;YAEF,aAAa,CAAC,iBAAiB,CAC7B;gBACE,YAAY,CAAC,KAAK;gBAClB,YAAY,CAAC,IAAI;gBACjB,YAAY,CAAC,SAAS;gBACtB,YAAY,CAAC,YAAY;gBACzB,YAAY,CAAC,UAAU;gBACvB,YAAY,CAAC,aAAa;gBAC1B,YAAY,CAAC,OAAO;gBACpB,YAAY,CAAC,UAAU;gBACvB,YAAY,CAAC,QAAQ;gBACrB,YAAY,CAAC,IAAI;gBACjB,YAAY,CAAC,QAAQ;gBACrB,YAAY,CAAC,oBAAoB;gBACjC,YAAY,CAAC,KAAK;gBAClB,YAAY,CAAC,cAAc;gBAC3B,YAAY,CAAC,MAAM;gBACnB,YAAY,CAAC,QAAQ;gBACrB,YAAY,CAAC,OAAO;gBACpB,YAAY,CAAC,OAAO;gBACpB,YAAY,CAAC,MAAM;gBACnB,YAAY,CAAC,MAAM;gBACnB,YAAY,CAAC,OAAO;aACrB,EACD,IAAI,CACL,CAAC;YAEF,gBAAgB,CAAC,mBAAmB,GAAG,aAAa,CAAC;QACvD,CAAC;QACD,OAAO,gBAAgB,CAAC,mBAAmB,CAAC;IAC9C,CAAC;;AAzDsB,kCAAiB,GAAuB,IAAI,kBAAkB,CAAC;IACpF,OAAO,EAAE,oBAAoB;IAC7B,UAAU,EAAE,kBAAkB,CAAC,WAAW;CAC3C,CAAC,CAAC;AAEoB,gCAAe,GAAuB,IAAI,kBAAkB,CAAC;IAClF,OAAO,EAAE,kBAAkB;IAC3B,UAAU,EAAE,kBAAkB,CAAC,QAAQ;CACxC,CAAC,CAAC;AAEoB,+BAAc,GAAuB,IAAI,kBAAkB,CAAC;IACjF,OAAO,EAAE,cAAc;IACvB,UAAU,EAAE,kBAAkB,CAAC,WAAW;CAC3C,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license.\n// See LICENSE in the project root for license information.\n\nimport { TSDocConfiguration, TSDocTagDefinition, TSDocTagSyntaxKind, StandardTags } from '@microsoft/tsdoc';\n\n/**\n * @internal\n * @deprecated - tsdoc configuration is now constructed from tsdoc.json files associated with each package.\n */\nexport class AedocDefinitions {\n public static readonly betaDocumentation: TSDocTagDefinition = new TSDocTagDefinition({\n tagName: '@betaDocumentation',\n syntaxKind: TSDocTagSyntaxKind.ModifierTag\n });\n\n public static readonly internalRemarks: TSDocTagDefinition = new TSDocTagDefinition({\n tagName: '@internalRemarks',\n syntaxKind: TSDocTagSyntaxKind.BlockTag\n });\n\n public static readonly preapprovedTag: TSDocTagDefinition = new TSDocTagDefinition({\n tagName: '@preapproved',\n syntaxKind: TSDocTagSyntaxKind.ModifierTag\n });\n\n public static get tsdocConfiguration(): TSDocConfiguration {\n if (!AedocDefinitions._tsdocConfiguration) {\n const configuration: TSDocConfiguration = new TSDocConfiguration();\n configuration.addTagDefinitions(\n [\n AedocDefinitions.betaDocumentation,\n AedocDefinitions.internalRemarks,\n AedocDefinitions.preapprovedTag\n ],\n true\n );\n\n configuration.setSupportForTags(\n [\n StandardTags.alpha,\n StandardTags.beta,\n StandardTags.decorator,\n StandardTags.defaultValue,\n StandardTags.deprecated,\n StandardTags.eventProperty,\n StandardTags.example,\n StandardTags.inheritDoc,\n StandardTags.internal,\n StandardTags.link,\n StandardTags.override,\n StandardTags.packageDocumentation,\n StandardTags.param,\n StandardTags.privateRemarks,\n StandardTags.public,\n StandardTags.readonly,\n StandardTags.remarks,\n StandardTags.returns,\n StandardTags.sealed,\n StandardTags.throws,\n StandardTags.virtual\n ],\n true\n );\n\n AedocDefinitions._tsdocConfiguration = configuration;\n }\n return AedocDefinitions._tsdocConfiguration;\n }\n\n private static _tsdocConfiguration: TSDocConfiguration | undefined;\n}\n"]}
@@ -0,0 +1,87 @@
1
+ // Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license.
2
+ // See LICENSE in the project root for license information.
3
+ /**
4
+ * A "release tag" is a custom TSDoc tag that is applied to an API to communicate the level of support
5
+ * provided for third-party developers.
6
+ *
7
+ * @remarks
8
+ *
9
+ * The four release tags are: `@internal`, `@alpha`, `@beta`, and `@public`. They are applied to API items such
10
+ * as classes, member functions, enums, etc. The release tag applies recursively to members of a container
11
+ * (e.g. class or interface). For example, if a class is marked as `@beta`, then all of its members automatically
12
+ * have this status; you DON'T need add the `@beta` tag to each member function. However, you could add
13
+ * `@internal` to a member function to give it a different release status.
14
+ *
15
+ * @public
16
+ */
17
+ export var ReleaseTag;
18
+ (function (ReleaseTag) {
19
+ /**
20
+ * No release tag was specified in the AEDoc summary.
21
+ */
22
+ ReleaseTag[ReleaseTag["None"] = 0] = "None";
23
+ /**
24
+ * Indicates that an API item is meant only for usage by other NPM packages from the same
25
+ * maintainer. Third parties should never use "internal" APIs. (To emphasize this, their
26
+ * names are prefixed by underscores.)
27
+ */
28
+ ReleaseTag[ReleaseTag["Internal"] = 1] = "Internal";
29
+ /**
30
+ * Indicates that an API item is eventually intended to be public, but currently is in an
31
+ * early stage of development. Third parties should not use "alpha" APIs.
32
+ */
33
+ ReleaseTag[ReleaseTag["Alpha"] = 2] = "Alpha";
34
+ /**
35
+ * Indicates that an API item has been released in an experimental state. Third parties are
36
+ * encouraged to try it and provide feedback. However, a "beta" API should NOT be used
37
+ * in production.
38
+ */
39
+ ReleaseTag[ReleaseTag["Beta"] = 3] = "Beta";
40
+ /**
41
+ * Indicates that an API item has been officially released. It is part of the supported
42
+ * contract (e.g. SemVer) for a package.
43
+ */
44
+ ReleaseTag[ReleaseTag["Public"] = 4] = "Public";
45
+ })(ReleaseTag || (ReleaseTag = {}));
46
+ /**
47
+ * Helper functions for working with the `ReleaseTag` enum.
48
+ * @public
49
+ */
50
+ (function (ReleaseTag) {
51
+ /**
52
+ * Returns the TSDoc tag name for a `ReleaseTag` value.
53
+ *
54
+ * @remarks
55
+ * For example, `getTagName(ReleaseTag.Internal)` would return the string `@internal`.
56
+ */
57
+ function getTagName(releaseTag) {
58
+ switch (releaseTag) {
59
+ case ReleaseTag.None:
60
+ return '(none)';
61
+ case ReleaseTag.Internal:
62
+ return '@internal';
63
+ case ReleaseTag.Alpha:
64
+ return '@alpha';
65
+ case ReleaseTag.Beta:
66
+ return '@beta';
67
+ case ReleaseTag.Public:
68
+ return '@public';
69
+ default:
70
+ throw new Error('Unsupported release tag');
71
+ }
72
+ }
73
+ ReleaseTag.getTagName = getTagName;
74
+ /**
75
+ * Compares two `ReleaseTag` values. Their values must not be `ReleaseTag.None`.
76
+ * @returns 0 if `a` and `b` are equal, a positive number if `a` is more public than `b`,
77
+ * and a negative number if `a` is less public than `b`.
78
+ * @remarks
79
+ * For example, `compareReleaseTag(ReleaseTag.Beta, ReleaseTag.Alpha)` will return a positive
80
+ * number because beta is more public than alpha.
81
+ */
82
+ function compare(a, b) {
83
+ return a - b;
84
+ }
85
+ ReleaseTag.compare = compare;
86
+ })(ReleaseTag || (ReleaseTag = {}));
87
+ //# sourceMappingURL=ReleaseTag.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReleaseTag.js","sourceRoot":"","sources":["../../src/aedoc/ReleaseTag.ts"],"names":[],"mappings":"AAAA,4FAA4F;AAC5F,2DAA2D;AAE3D;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAN,IAAY,UA2BX;AA3BD,WAAY,UAAU;IACpB;;OAEG;IACH,2CAAQ,CAAA;IACR;;;;OAIG;IACH,mDAAY,CAAA;IACZ;;;OAGG;IACH,6CAAS,CAAA;IACT;;;;OAIG;IACH,2CAAQ,CAAA;IACR;;;OAGG;IACH,+CAAU,CAAA;AACZ,CAAC,EA3BW,UAAU,KAAV,UAAU,QA2BrB;AAED;;;GAGG;AACH,WAAiB,UAAU;IACzB;;;;;OAKG;IACH,SAAgB,UAAU,CAAC,UAAsB;QAC/C,QAAQ,UAAU,EAAE,CAAC;YACnB,KAAK,UAAU,CAAC,IAAI;gBAClB,OAAO,QAAQ,CAAC;YAClB,KAAK,UAAU,CAAC,QAAQ;gBACtB,OAAO,WAAW,CAAC;YACrB,KAAK,UAAU,CAAC,KAAK;gBACnB,OAAO,QAAQ,CAAC;YAClB,KAAK,UAAU,CAAC,IAAI;gBAClB,OAAO,OAAO,CAAC;YACjB,KAAK,UAAU,CAAC,MAAM;gBACpB,OAAO,SAAS,CAAC;YACnB;gBACE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IAfe,qBAAU,aAezB,CAAA;IAED;;;;;;;OAOG;IACH,SAAgB,OAAO,CAAC,CAAa,EAAE,CAAa;QAClD,OAAO,CAAC,GAAG,CAAC,CAAC;IACf,CAAC;IAFe,kBAAO,UAEtB,CAAA;AACH,CAAC,EAnCgB,UAAU,KAAV,UAAU,QAmC1B","sourcesContent":["// Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license.\n// See LICENSE in the project root for license information.\n\n/**\n * A \"release tag\" is a custom TSDoc tag that is applied to an API to communicate the level of support\n * provided for third-party developers.\n *\n * @remarks\n *\n * The four release tags are: `@internal`, `@alpha`, `@beta`, and `@public`. They are applied to API items such\n * as classes, member functions, enums, etc. The release tag applies recursively to members of a container\n * (e.g. class or interface). For example, if a class is marked as `@beta`, then all of its members automatically\n * have this status; you DON'T need add the `@beta` tag to each member function. However, you could add\n * `@internal` to a member function to give it a different release status.\n *\n * @public\n */\nexport enum ReleaseTag {\n /**\n * No release tag was specified in the AEDoc summary.\n */\n None = 0,\n /**\n * Indicates that an API item is meant only for usage by other NPM packages from the same\n * maintainer. Third parties should never use \"internal\" APIs. (To emphasize this, their\n * names are prefixed by underscores.)\n */\n Internal = 1,\n /**\n * Indicates that an API item is eventually intended to be public, but currently is in an\n * early stage of development. Third parties should not use \"alpha\" APIs.\n */\n Alpha = 2,\n /**\n * Indicates that an API item has been released in an experimental state. Third parties are\n * encouraged to try it and provide feedback. However, a \"beta\" API should NOT be used\n * in production.\n */\n Beta = 3,\n /**\n * Indicates that an API item has been officially released. It is part of the supported\n * contract (e.g. SemVer) for a package.\n */\n Public = 4\n}\n\n/**\n * Helper functions for working with the `ReleaseTag` enum.\n * @public\n */\nexport namespace ReleaseTag {\n /**\n * Returns the TSDoc tag name for a `ReleaseTag` value.\n *\n * @remarks\n * For example, `getTagName(ReleaseTag.Internal)` would return the string `@internal`.\n */\n export function getTagName(releaseTag: ReleaseTag): string {\n switch (releaseTag) {\n case ReleaseTag.None:\n return '(none)';\n case ReleaseTag.Internal:\n return '@internal';\n case ReleaseTag.Alpha:\n return '@alpha';\n case ReleaseTag.Beta:\n return '@beta';\n case ReleaseTag.Public:\n return '@public';\n default:\n throw new Error('Unsupported release tag');\n }\n }\n\n /**\n * Compares two `ReleaseTag` values. Their values must not be `ReleaseTag.None`.\n * @returns 0 if `a` and `b` are equal, a positive number if `a` is more public than `b`,\n * and a negative number if `a` is less public than `b`.\n * @remarks\n * For example, `compareReleaseTag(ReleaseTag.Beta, ReleaseTag.Alpha)` will return a positive\n * number because beta is more public than alpha.\n */\n export function compare(a: ReleaseTag, b: ReleaseTag): number {\n return a - b;\n }\n}\n"]}
@@ -0,0 +1,58 @@
1
+ // Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license.
2
+ // See LICENSE in the project root for license information.
3
+ /**
4
+ * Use this library to read and write *.api.json files as defined by the
5
+ * {@link https://api-extractor.com/ | API Extractor} tool. These files are used to generate a documentation
6
+ * website for your TypeScript package. The files store the API signatures and doc comments that were extracted
7
+ * from your package.
8
+ *
9
+ * @packageDocumentation
10
+ */
11
+ export { AedocDefinitions } from './aedoc/AedocDefinitions';
12
+ export { ReleaseTag } from './aedoc/ReleaseTag';
13
+ // items
14
+ export { ApiDeclaredItem } from './items/ApiDeclaredItem';
15
+ export { ApiDocumentedItem } from './items/ApiDocumentedItem';
16
+ export { ApiItemKind, ApiItem } from './items/ApiItem';
17
+ export { ApiPropertyItem } from './items/ApiPropertyItem';
18
+ // mixins
19
+ export { ApiParameterListMixin } from './mixins/ApiParameterListMixin';
20
+ export { ApiTypeParameterListMixin } from './mixins/ApiTypeParameterListMixin';
21
+ export { ApiAbstractMixin } from './mixins/ApiAbstractMixin';
22
+ export { ApiItemContainerMixin } from './mixins/ApiItemContainerMixin';
23
+ export { ApiProtectedMixin } from './mixins/ApiProtectedMixin';
24
+ export { ApiReleaseTagMixin } from './mixins/ApiReleaseTagMixin';
25
+ export { ApiReturnTypeMixin } from './mixins/ApiReturnTypeMixin';
26
+ export { ApiStaticMixin } from './mixins/ApiStaticMixin';
27
+ export { ApiNameMixin } from './mixins/ApiNameMixin';
28
+ export { ApiOptionalMixin } from './mixins/ApiOptionalMixin';
29
+ export { ApiReadonlyMixin } from './mixins/ApiReadonlyMixin';
30
+ export { ApiInitializerMixin } from './mixins/ApiInitializerMixin';
31
+ export { ApiExportedMixin } from './mixins/ApiExportedMixin';
32
+ export { FindApiItemsMessageId } from './mixins/IFindApiItemsResult';
33
+ export { ExcerptTokenKind, ExcerptToken, Excerpt } from './mixins/Excerpt';
34
+ // model
35
+ export { ApiCallSignature } from './model/ApiCallSignature';
36
+ export { ApiClass } from './model/ApiClass';
37
+ export { ApiConstructor } from './model/ApiConstructor';
38
+ export { ApiConstructSignature } from './model/ApiConstructSignature';
39
+ export { ApiEntryPoint } from './model/ApiEntryPoint';
40
+ export { ApiEnum } from './model/ApiEnum';
41
+ export { ApiEnumMember, EnumMemberOrder } from './model/ApiEnumMember';
42
+ export { ApiFunction } from './model/ApiFunction';
43
+ export { ApiIndexSignature } from './model/ApiIndexSignature';
44
+ export { ApiInterface } from './model/ApiInterface';
45
+ export { ApiMethod } from './model/ApiMethod';
46
+ export { ApiMethodSignature } from './model/ApiMethodSignature';
47
+ export { ApiModel } from './model/ApiModel';
48
+ export { ApiNamespace } from './model/ApiNamespace';
49
+ export { ApiPackage } from './model/ApiPackage';
50
+ export { Parameter } from './model/Parameter';
51
+ export { ApiProperty } from './model/ApiProperty';
52
+ export { ApiPropertySignature } from './model/ApiPropertySignature';
53
+ export { ApiTypeAlias } from './model/ApiTypeAlias';
54
+ export { TypeParameter } from './model/TypeParameter';
55
+ export { ApiVariable } from './model/ApiVariable';
56
+ export { HeritageType } from './model/HeritageType';
57
+ export { SourceLocation } from './model/SourceLocation';
58
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license.\n// See LICENSE in the project root for license information.\n\n/**\n * Use this library to read and write *.api.json files as defined by the\n * {@link https://api-extractor.com/ | API Extractor} tool. These files are used to generate a documentation\n * website for your TypeScript package. The files store the API signatures and doc comments that were extracted\n * from your package.\n *\n * @packageDocumentation\n */\n\nexport { AedocDefinitions } from './aedoc/AedocDefinitions';\nexport { ReleaseTag } from './aedoc/ReleaseTag';\n\n// items\nexport { type IApiDeclaredItemOptions, ApiDeclaredItem } from './items/ApiDeclaredItem';\nexport { type IApiDocumentedItemOptions, ApiDocumentedItem } from './items/ApiDocumentedItem';\nexport { ApiItemKind, type IApiItemOptions, ApiItem, type IApiItemConstructor } from './items/ApiItem';\nexport { type IApiPropertyItemOptions, ApiPropertyItem } from './items/ApiPropertyItem';\n\n// mixins\nexport {\n type IApiParameterListMixinOptions,\n type IApiParameterOptions,\n ApiParameterListMixin\n} from './mixins/ApiParameterListMixin';\nexport {\n type IApiTypeParameterOptions,\n type IApiTypeParameterListMixinOptions,\n ApiTypeParameterListMixin\n} from './mixins/ApiTypeParameterListMixin';\nexport { type IApiAbstractMixinOptions, ApiAbstractMixin } from './mixins/ApiAbstractMixin';\nexport { type IApiItemContainerMixinOptions, ApiItemContainerMixin } from './mixins/ApiItemContainerMixin';\nexport { type IApiProtectedMixinOptions, ApiProtectedMixin } from './mixins/ApiProtectedMixin';\nexport { type IApiReleaseTagMixinOptions, ApiReleaseTagMixin } from './mixins/ApiReleaseTagMixin';\nexport { type IApiReturnTypeMixinOptions, ApiReturnTypeMixin } from './mixins/ApiReturnTypeMixin';\nexport { type IApiStaticMixinOptions, ApiStaticMixin } from './mixins/ApiStaticMixin';\nexport { type IApiNameMixinOptions, ApiNameMixin } from './mixins/ApiNameMixin';\nexport { type IApiOptionalMixinOptions, ApiOptionalMixin } from './mixins/ApiOptionalMixin';\nexport { type IApiReadonlyMixinOptions, ApiReadonlyMixin } from './mixins/ApiReadonlyMixin';\nexport { type IApiInitializerMixinOptions, ApiInitializerMixin } from './mixins/ApiInitializerMixin';\nexport { type IApiExportedMixinOptions, ApiExportedMixin } from './mixins/ApiExportedMixin';\nexport {\n type IFindApiItemsResult,\n type IFindApiItemsMessage,\n FindApiItemsMessageId\n} from './mixins/IFindApiItemsResult';\n\nexport {\n ExcerptTokenKind,\n type IExcerptTokenRange,\n type IExcerptToken,\n ExcerptToken,\n Excerpt\n} from './mixins/Excerpt';\nexport type { Constructor, PropertiesOf } from './mixins/Mixin';\n\n// model\nexport { type IApiCallSignatureOptions, ApiCallSignature } from './model/ApiCallSignature';\nexport { type IApiClassOptions, ApiClass } from './model/ApiClass';\nexport { type IApiConstructorOptions, ApiConstructor } from './model/ApiConstructor';\nexport { type IApiConstructSignatureOptions, ApiConstructSignature } from './model/ApiConstructSignature';\nexport { type IApiEntryPointOptions, ApiEntryPoint } from './model/ApiEntryPoint';\nexport { type IApiEnumOptions, ApiEnum } from './model/ApiEnum';\nexport { type IApiEnumMemberOptions, ApiEnumMember, EnumMemberOrder } from './model/ApiEnumMember';\nexport { type IApiFunctionOptions, ApiFunction } from './model/ApiFunction';\nexport { type IApiIndexSignatureOptions, ApiIndexSignature } from './model/ApiIndexSignature';\nexport { type IApiInterfaceOptions, ApiInterface } from './model/ApiInterface';\nexport { type IApiMethodOptions, ApiMethod } from './model/ApiMethod';\nexport { type IApiMethodSignatureOptions, ApiMethodSignature } from './model/ApiMethodSignature';\nexport { ApiModel } from './model/ApiModel';\nexport { type IApiNamespaceOptions, ApiNamespace } from './model/ApiNamespace';\nexport { type IApiPackageOptions, ApiPackage, type IApiPackageSaveOptions } from './model/ApiPackage';\nexport { type IParameterOptions, Parameter } from './model/Parameter';\nexport { type IApiPropertyOptions, ApiProperty } from './model/ApiProperty';\nexport { type IApiPropertySignatureOptions, ApiPropertySignature } from './model/ApiPropertySignature';\nexport { type IApiTypeAliasOptions, ApiTypeAlias } from './model/ApiTypeAlias';\nexport { type ITypeParameterOptions, TypeParameter } from './model/TypeParameter';\nexport { type IApiVariableOptions, ApiVariable } from './model/ApiVariable';\nexport { type IResolveDeclarationReferenceResult } from './model/ModelReferenceResolver';\nexport { HeritageType } from './model/HeritageType';\nexport { type ISourceLocationOptions, SourceLocation } from './model/SourceLocation';\n"]}
@@ -0,0 +1,137 @@
1
+ // Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license.
2
+ // See LICENSE in the project root for license information.
3
+ import { DeclarationReference } from '@microsoft/tsdoc/lib-commonjs/beta/DeclarationReference';
4
+ import { ApiDocumentedItem } from './ApiDocumentedItem';
5
+ import { Excerpt, ExcerptToken } from '../mixins/Excerpt';
6
+ import { SourceLocation } from '../model/SourceLocation';
7
+ /**
8
+ * The base class for API items that have an associated source code excerpt containing a TypeScript declaration.
9
+ *
10
+ * @remarks
11
+ *
12
+ * This is part of the {@link ApiModel} hierarchy of classes, which are serializable representations of
13
+ * API declarations.
14
+ *
15
+ * Most `ApiItem` subclasses have declarations and thus extend `ApiDeclaredItem`. Counterexamples include
16
+ * `ApiModel` and `ApiPackage`, which do not have any corresponding TypeScript source code.
17
+ *
18
+ * @public
19
+ */
20
+ export class ApiDeclaredItem extends ApiDocumentedItem {
21
+ constructor(options) {
22
+ super(options);
23
+ this._excerptTokens = options.excerptTokens.map((token) => {
24
+ const canonicalReference = token.canonicalReference === undefined
25
+ ? undefined
26
+ : DeclarationReference.parse(token.canonicalReference);
27
+ return new ExcerptToken(token.kind, token.text, canonicalReference);
28
+ });
29
+ this._excerpt = new Excerpt(this.excerptTokens, { startIndex: 0, endIndex: this.excerptTokens.length });
30
+ this._fileUrlPath = options.fileUrlPath;
31
+ }
32
+ /** @override */
33
+ static onDeserializeInto(options, context, jsonObject) {
34
+ super.onDeserializeInto(options, context, jsonObject);
35
+ options.excerptTokens = jsonObject.excerptTokens;
36
+ options.fileUrlPath = jsonObject.fileUrlPath;
37
+ }
38
+ /**
39
+ * The source code excerpt where the API item is declared.
40
+ */
41
+ get excerpt() {
42
+ return this._excerpt;
43
+ }
44
+ /**
45
+ * The individual source code tokens that comprise the main excerpt.
46
+ */
47
+ get excerptTokens() {
48
+ return this._excerptTokens;
49
+ }
50
+ /**
51
+ * The file URL path relative to the `projectFolder` and `projectFolderURL` fields
52
+ * as defined in the `api-extractor.json` config. Is `undefined` if the path is
53
+ * the same as the parent API item's.
54
+ */
55
+ get fileUrlPath() {
56
+ return this._fileUrlPath;
57
+ }
58
+ /**
59
+ * Returns the source location where the API item is declared.
60
+ */
61
+ get sourceLocation() {
62
+ if (!this._sourceLocation) {
63
+ this._sourceLocation = this._buildSourceLocation();
64
+ }
65
+ return this._sourceLocation;
66
+ }
67
+ /**
68
+ * If the API item has certain important modifier tags such as `@sealed`, `@virtual`, or `@override`,
69
+ * this prepends them as a doc comment above the excerpt.
70
+ */
71
+ getExcerptWithModifiers() {
72
+ const excerpt = this.excerpt.text;
73
+ const modifierTags = [];
74
+ if (excerpt.length > 0) {
75
+ if (this instanceof ApiDocumentedItem) {
76
+ if (this.tsdocComment) {
77
+ if (this.tsdocComment.modifierTagSet.isSealed()) {
78
+ modifierTags.push('@sealed');
79
+ }
80
+ if (this.tsdocComment.modifierTagSet.isVirtual()) {
81
+ modifierTags.push('@virtual');
82
+ }
83
+ if (this.tsdocComment.modifierTagSet.isOverride()) {
84
+ modifierTags.push('@override');
85
+ }
86
+ }
87
+ if (modifierTags.length > 0) {
88
+ return '/** ' + modifierTags.join(' ') + ' */\n' + excerpt;
89
+ }
90
+ }
91
+ }
92
+ return excerpt;
93
+ }
94
+ /** @override */
95
+ serializeInto(jsonObject) {
96
+ super.serializeInto(jsonObject);
97
+ jsonObject.excerptTokens = this.excerptTokens.map((x) => {
98
+ const excerptToken = { kind: x.kind, text: x.text };
99
+ if (x.canonicalReference !== undefined) {
100
+ excerptToken.canonicalReference = x.canonicalReference.toString();
101
+ }
102
+ return excerptToken;
103
+ });
104
+ // Only serialize this API item's file URL path if it exists and it's different from its parent's
105
+ // (a little optimization to keep the doc model succinct).
106
+ if (this.fileUrlPath) {
107
+ if (!(this.parent instanceof ApiDeclaredItem) || this.fileUrlPath !== this.parent.fileUrlPath) {
108
+ jsonObject.fileUrlPath = this.fileUrlPath;
109
+ }
110
+ }
111
+ }
112
+ /**
113
+ * Constructs a new {@link Excerpt} corresponding to the provided token range.
114
+ */
115
+ buildExcerpt(tokenRange) {
116
+ return new Excerpt(this.excerptTokens, tokenRange);
117
+ }
118
+ /**
119
+ * Builds the cached object used by the `sourceLocation` property.
120
+ */
121
+ _buildSourceLocation() {
122
+ var _a;
123
+ const projectFolderUrl = (_a = this.getAssociatedPackage()) === null || _a === void 0 ? void 0 : _a.projectFolderUrl;
124
+ let fileUrlPath;
125
+ for (let current = this; current !== undefined; current = current.parent) {
126
+ if (current instanceof ApiDeclaredItem && current.fileUrlPath) {
127
+ fileUrlPath = current.fileUrlPath;
128
+ break;
129
+ }
130
+ }
131
+ return new SourceLocation({
132
+ projectFolderUrl: projectFolderUrl,
133
+ fileUrlPath: fileUrlPath
134
+ });
135
+ }
136
+ }
137
+ //# sourceMappingURL=ApiDeclaredItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ApiDeclaredItem.js","sourceRoot":"","sources":["../../src/items/ApiDeclaredItem.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license.\n// See LICENSE in the project root for license information.\n\nimport { DeclarationReference } from '@microsoft/tsdoc/lib-commonjs/beta/DeclarationReference';\n\nimport {\n ApiDocumentedItem,\n type IApiDocumentedItemJson,\n type IApiDocumentedItemOptions\n} from './ApiDocumentedItem';\nimport type { ApiItem } from './ApiItem';\nimport { Excerpt, ExcerptToken, type IExcerptTokenRange, type IExcerptToken } from '../mixins/Excerpt';\nimport type { DeserializerContext } from '../model/DeserializerContext';\nimport { SourceLocation } from '../model/SourceLocation';\n\n/**\n * Constructor options for {@link ApiDeclaredItem}.\n * @public\n */\nexport interface IApiDeclaredItemOptions extends IApiDocumentedItemOptions {\n excerptTokens: IExcerptToken[];\n fileUrlPath?: string;\n}\n\nexport interface IApiDeclaredItemJson extends IApiDocumentedItemJson {\n excerptTokens: IExcerptToken[];\n fileUrlPath?: string;\n}\n\n/**\n * The base class for API items that have an associated source code excerpt containing a TypeScript declaration.\n *\n * @remarks\n *\n * This is part of the {@link ApiModel} hierarchy of classes, which are serializable representations of\n * API declarations.\n *\n * Most `ApiItem` subclasses have declarations and thus extend `ApiDeclaredItem`. Counterexamples include\n * `ApiModel` and `ApiPackage`, which do not have any corresponding TypeScript source code.\n *\n * @public\n */\nexport class ApiDeclaredItem extends ApiDocumentedItem {\n private _excerptTokens: ExcerptToken[];\n private _excerpt: Excerpt;\n private _fileUrlPath?: string;\n private _sourceLocation?: SourceLocation;\n\n public constructor(options: IApiDeclaredItemOptions) {\n super(options);\n\n this._excerptTokens = options.excerptTokens.map((token) => {\n const canonicalReference: DeclarationReference | undefined =\n token.canonicalReference === undefined\n ? undefined\n : DeclarationReference.parse(token.canonicalReference);\n return new ExcerptToken(token.kind, token.text, canonicalReference);\n });\n this._excerpt = new Excerpt(this.excerptTokens, { startIndex: 0, endIndex: this.excerptTokens.length });\n this._fileUrlPath = options.fileUrlPath;\n }\n\n /** @override */\n public static onDeserializeInto(\n options: Partial<IApiDeclaredItemOptions>,\n context: DeserializerContext,\n jsonObject: IApiDeclaredItemJson\n ): void {\n super.onDeserializeInto(options, context, jsonObject);\n\n options.excerptTokens = jsonObject.excerptTokens;\n options.fileUrlPath = jsonObject.fileUrlPath;\n }\n\n /**\n * The source code excerpt where the API item is declared.\n */\n public get excerpt(): Excerpt {\n return this._excerpt;\n }\n\n /**\n * The individual source code tokens that comprise the main excerpt.\n */\n public get excerptTokens(): ReadonlyArray<ExcerptToken> {\n return this._excerptTokens;\n }\n\n /**\n * The file URL path relative to the `projectFolder` and `projectFolderURL` fields\n * as defined in the `api-extractor.json` config. Is `undefined` if the path is\n * the same as the parent API item's.\n */\n public get fileUrlPath(): string | undefined {\n return this._fileUrlPath;\n }\n\n /**\n * Returns the source location where the API item is declared.\n */\n public get sourceLocation(): SourceLocation {\n if (!this._sourceLocation) {\n this._sourceLocation = this._buildSourceLocation();\n }\n return this._sourceLocation;\n }\n\n /**\n * If the API item has certain important modifier tags such as `@sealed`, `@virtual`, or `@override`,\n * this prepends them as a doc comment above the excerpt.\n */\n public getExcerptWithModifiers(): string {\n const excerpt: string = this.excerpt.text;\n const modifierTags: string[] = [];\n\n if (excerpt.length > 0) {\n if (this instanceof ApiDocumentedItem) {\n if (this.tsdocComment) {\n if (this.tsdocComment.modifierTagSet.isSealed()) {\n modifierTags.push('@sealed');\n }\n if (this.tsdocComment.modifierTagSet.isVirtual()) {\n modifierTags.push('@virtual');\n }\n if (this.tsdocComment.modifierTagSet.isOverride()) {\n modifierTags.push('@override');\n }\n }\n if (modifierTags.length > 0) {\n return '/** ' + modifierTags.join(' ') + ' */\\n' + excerpt;\n }\n }\n }\n\n return excerpt;\n }\n\n /** @override */\n public serializeInto(jsonObject: Partial<IApiDeclaredItemJson>): void {\n super.serializeInto(jsonObject);\n jsonObject.excerptTokens = this.excerptTokens.map((x) => {\n const excerptToken: IExcerptToken = { kind: x.kind, text: x.text };\n if (x.canonicalReference !== undefined) {\n excerptToken.canonicalReference = x.canonicalReference.toString();\n }\n return excerptToken;\n });\n\n // Only serialize this API item's file URL path if it exists and it's different from its parent's\n // (a little optimization to keep the doc model succinct).\n if (this.fileUrlPath) {\n if (!(this.parent instanceof ApiDeclaredItem) || this.fileUrlPath !== this.parent.fileUrlPath) {\n jsonObject.fileUrlPath = this.fileUrlPath;\n }\n }\n }\n\n /**\n * Constructs a new {@link Excerpt} corresponding to the provided token range.\n */\n public buildExcerpt(tokenRange: IExcerptTokenRange): Excerpt {\n return new Excerpt(this.excerptTokens, tokenRange);\n }\n\n /**\n * Builds the cached object used by the `sourceLocation` property.\n */\n private _buildSourceLocation(): SourceLocation {\n const projectFolderUrl: string | undefined = this.getAssociatedPackage()?.projectFolderUrl;\n\n let fileUrlPath: string | undefined;\n for (let current: ApiItem | undefined = this; current !== undefined; current = current.parent) {\n if (current instanceof ApiDeclaredItem && current.fileUrlPath) {\n fileUrlPath = current.fileUrlPath;\n break;\n }\n }\n\n return new SourceLocation({\n projectFolderUrl: projectFolderUrl,\n fileUrlPath: fileUrlPath\n });\n }\n}\n"]}
@@ -0,0 +1,48 @@
1
+ // Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license.
2
+ // See LICENSE in the project root for license information.
3
+ import * as tsdoc from '@microsoft/tsdoc';
4
+ import { ApiItem } from './ApiItem';
5
+ /**
6
+ * An abstract base class for API declarations that can have an associated TSDoc comment.
7
+ *
8
+ * @remarks
9
+ *
10
+ * This is part of the {@link ApiModel} hierarchy of classes, which are serializable representations of
11
+ * API declarations.
12
+ *
13
+ * @public
14
+ */
15
+ export class ApiDocumentedItem extends ApiItem {
16
+ constructor(options) {
17
+ super(options);
18
+ this._tsdocComment = options.docComment;
19
+ }
20
+ /** @override */
21
+ static onDeserializeInto(options, context, jsonObject) {
22
+ super.onDeserializeInto(options, context, jsonObject);
23
+ const documentedJson = jsonObject;
24
+ if (documentedJson.docComment) {
25
+ const tsdocParser = new tsdoc.TSDocParser(context.tsdocConfiguration);
26
+ // NOTE: For now, we ignore TSDoc errors found in a serialized .api.json file.
27
+ // Normally these errors would have already been reported by API Extractor during analysis.
28
+ // However, they could also arise if the JSON file was edited manually, or if the file was saved
29
+ // using a different release of the software that used an incompatible syntax.
30
+ const parserContext = tsdocParser.parseString(documentedJson.docComment);
31
+ options.docComment = parserContext.docComment;
32
+ }
33
+ }
34
+ get tsdocComment() {
35
+ return this._tsdocComment;
36
+ }
37
+ /** @override */
38
+ serializeInto(jsonObject) {
39
+ super.serializeInto(jsonObject);
40
+ if (this.tsdocComment !== undefined) {
41
+ jsonObject.docComment = this.tsdocComment.emitAsTsdoc();
42
+ }
43
+ else {
44
+ jsonObject.docComment = '';
45
+ }
46
+ }
47
+ }
48
+ //# sourceMappingURL=ApiDocumentedItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ApiDocumentedItem.js","sourceRoot":"","sources":["../../src/items/ApiDocumentedItem.ts"],"names":[],"mappings":"AAAA,4FAA4F;AAC5F,2DAA2D;AAE3D,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAC;AAE1C,OAAO,EAAE,OAAO,EAA2C,MAAM,WAAW,CAAC;AAe7E;;;;;;;;;GASG;AACH,MAAM,OAAO,iBAAkB,SAAQ,OAAO;IAG5C,YAAmB,OAAkC;QACnD,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,UAAU,CAAC;IAC1C,CAAC;IAED,gBAAgB;IACT,MAAM,CAAC,iBAAiB,CAC7B,OAA2C,EAC3C,OAA4B,EAC5B,UAAwB;QAExB,KAAK,CAAC,iBAAiB,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;QAEtD,MAAM,cAAc,GAA2B,UAAoC,CAAC;QAEpF,IAAI,cAAc,CAAC,UAAU,EAAE,CAAC;YAC9B,MAAM,WAAW,GAAsB,IAAI,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;YAEzF,8EAA8E;YAC9E,2FAA2F;YAC3F,gGAAgG;YAChG,8EAA8E;YAC9E,MAAM,aAAa,GAAwB,WAAW,CAAC,WAAW,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;YAE9F,OAAO,CAAC,UAAU,GAAG,aAAa,CAAC,UAAU,CAAC;QAChD,CAAC;IACH,CAAC;IAED,IAAW,YAAY;QACrB,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAED,gBAAgB;IACT,aAAa,CAAC,UAA2C;QAC9D,KAAK,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QAChC,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;YACpC,UAAU,CAAC,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;QAC1D,CAAC;aAAM,CAAC;YACN,UAAU,CAAC,UAAU,GAAG,EAAE,CAAC;QAC7B,CAAC;IACH,CAAC;CACF","sourcesContent":["// Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license.\n// See LICENSE in the project root for license information.\n\nimport * as tsdoc from '@microsoft/tsdoc';\n\nimport { ApiItem, type IApiItemOptions, type IApiItemJson } from './ApiItem';\nimport type { DeserializerContext } from '../model/DeserializerContext';\n\n/**\n * Constructor options for {@link ApiDocumentedItem}.\n * @public\n */\nexport interface IApiDocumentedItemOptions extends IApiItemOptions {\n docComment: tsdoc.DocComment | undefined;\n}\n\nexport interface IApiDocumentedItemJson extends IApiItemJson {\n docComment: string;\n}\n\n/**\n * An abstract base class for API declarations that can have an associated TSDoc comment.\n *\n * @remarks\n *\n * This is part of the {@link ApiModel} hierarchy of classes, which are serializable representations of\n * API declarations.\n *\n * @public\n */\nexport class ApiDocumentedItem extends ApiItem {\n private _tsdocComment: tsdoc.DocComment | undefined;\n\n public constructor(options: IApiDocumentedItemOptions) {\n super(options);\n this._tsdocComment = options.docComment;\n }\n\n /** @override */\n public static onDeserializeInto(\n options: Partial<IApiDocumentedItemOptions>,\n context: DeserializerContext,\n jsonObject: IApiItemJson\n ): void {\n super.onDeserializeInto(options, context, jsonObject);\n\n const documentedJson: IApiDocumentedItemJson = jsonObject as IApiDocumentedItemJson;\n\n if (documentedJson.docComment) {\n const tsdocParser: tsdoc.TSDocParser = new tsdoc.TSDocParser(context.tsdocConfiguration);\n\n // NOTE: For now, we ignore TSDoc errors found in a serialized .api.json file.\n // Normally these errors would have already been reported by API Extractor during analysis.\n // However, they could also arise if the JSON file was edited manually, or if the file was saved\n // using a different release of the software that used an incompatible syntax.\n const parserContext: tsdoc.ParserContext = tsdocParser.parseString(documentedJson.docComment);\n\n options.docComment = parserContext.docComment;\n }\n }\n\n public get tsdocComment(): tsdoc.DocComment | undefined {\n return this._tsdocComment;\n }\n\n /** @override */\n public serializeInto(jsonObject: Partial<IApiDocumentedItemJson>): void {\n super.serializeInto(jsonObject);\n if (this.tsdocComment !== undefined) {\n jsonObject.docComment = this.tsdocComment.emitAsTsdoc();\n } else {\n jsonObject.docComment = '';\n }\n }\n}\n"]}