@microsoft/api-extractor-model 7.14.0 → 7.15.3

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 (76) hide show
  1. package/CHANGELOG.json +1565 -1514
  2. package/CHANGELOG.md +653 -631
  3. package/README.md +68 -68
  4. package/dist/rollup.d.ts +2 -2
  5. package/dist/tsdoc-metadata.json +1 -1
  6. package/lib/aedoc/AedocDefinitions.js.map +1 -1
  7. package/lib/aedoc/ReleaseTag.js.map +1 -1
  8. package/lib/index.js +3 -1
  9. package/lib/index.js.map +1 -1
  10. package/lib/items/ApiDeclaredItem.js.map +1 -1
  11. package/lib/items/ApiDocumentedItem.js.map +1 -1
  12. package/lib/items/ApiItem.d.ts +1 -1
  13. package/lib/items/ApiItem.d.ts.map +1 -1
  14. package/lib/items/ApiItem.js +43 -14
  15. package/lib/items/ApiItem.js.map +1 -1
  16. package/lib/items/ApiPropertyItem.js.map +1 -1
  17. package/lib/mixins/ApiItemContainerMixin.js.map +1 -1
  18. package/lib/mixins/ApiNameMixin.js.map +1 -1
  19. package/lib/mixins/ApiOptionalMixin.js.map +1 -1
  20. package/lib/mixins/ApiParameterListMixin.js.map +1 -1
  21. package/lib/mixins/ApiReleaseTagMixin.js.map +1 -1
  22. package/lib/mixins/ApiReturnTypeMixin.js.map +1 -1
  23. package/lib/mixins/ApiStaticMixin.js.map +1 -1
  24. package/lib/mixins/ApiTypeParameterListMixin.js.map +1 -1
  25. package/lib/mixins/Excerpt.d.ts +1 -1
  26. package/lib/mixins/Excerpt.d.ts.map +1 -1
  27. package/lib/mixins/Excerpt.js +13 -1
  28. package/lib/mixins/Excerpt.js.map +1 -1
  29. package/lib/mixins/Mixin.js.map +1 -1
  30. package/lib/model/ApiCallSignature.js +3 -2
  31. package/lib/model/ApiCallSignature.js.map +1 -1
  32. package/lib/model/ApiClass.js +3 -2
  33. package/lib/model/ApiClass.js.map +1 -1
  34. package/lib/model/ApiConstructSignature.js +3 -2
  35. package/lib/model/ApiConstructSignature.js.map +1 -1
  36. package/lib/model/ApiConstructor.js +3 -2
  37. package/lib/model/ApiConstructor.js.map +1 -1
  38. package/lib/model/ApiEntryPoint.js +1 -1
  39. package/lib/model/ApiEntryPoint.js.map +1 -1
  40. package/lib/model/ApiEnum.js +4 -3
  41. package/lib/model/ApiEnum.js.map +1 -1
  42. package/lib/model/ApiEnumMember.js +2 -1
  43. package/lib/model/ApiEnumMember.js.map +1 -1
  44. package/lib/model/ApiFunction.js +3 -2
  45. package/lib/model/ApiFunction.js.map +1 -1
  46. package/lib/model/ApiIndexSignature.js +3 -2
  47. package/lib/model/ApiIndexSignature.js.map +1 -1
  48. package/lib/model/ApiInterface.js +3 -2
  49. package/lib/model/ApiInterface.js.map +1 -1
  50. package/lib/model/ApiMethod.js +4 -3
  51. package/lib/model/ApiMethod.js.map +1 -1
  52. package/lib/model/ApiMethodSignature.js +3 -2
  53. package/lib/model/ApiMethodSignature.js.map +1 -1
  54. package/lib/model/ApiModel.js +2 -2
  55. package/lib/model/ApiModel.js.map +1 -1
  56. package/lib/model/ApiNamespace.js +3 -2
  57. package/lib/model/ApiNamespace.js.map +1 -1
  58. package/lib/model/ApiPackage.js +2 -2
  59. package/lib/model/ApiPackage.js.map +1 -1
  60. package/lib/model/ApiProperty.js +4 -3
  61. package/lib/model/ApiProperty.js.map +1 -1
  62. package/lib/model/ApiPropertySignature.js +3 -2
  63. package/lib/model/ApiPropertySignature.js.map +1 -1
  64. package/lib/model/ApiTypeAlias.js +3 -2
  65. package/lib/model/ApiTypeAlias.js.map +1 -1
  66. package/lib/model/ApiVariable.js +3 -2
  67. package/lib/model/ApiVariable.js.map +1 -1
  68. package/lib/model/Deserializer.js +20 -19
  69. package/lib/model/Deserializer.js.map +1 -1
  70. package/lib/model/DeserializerContext.js.map +1 -1
  71. package/lib/model/HeritageType.js.map +1 -1
  72. package/lib/model/ModelReferenceResolver.js +8 -7
  73. package/lib/model/ModelReferenceResolver.js.map +1 -1
  74. package/lib/model/Parameter.js.map +1 -1
  75. package/lib/model/TypeParameter.js.map +1 -1
  76. package/package.json +6 -7
package/README.md CHANGED
@@ -1,68 +1,68 @@
1
- # @microsoft/api-extractor-model
2
-
3
- Use this library to read and write *.api.json files as defined by the [API Extractor](https://api-extractor.com/) tool.
4
- These files are used to generate a documentation website for your TypeScript package. The files store the
5
- API signatures and doc comments that were extracted from your package.
6
-
7
- API documentation for this package: https://rushstack.io/pages/api/api-extractor-model/
8
-
9
- ## Example Usage
10
-
11
- The following code sample shows how to load `example.api.json`, which would be generated by API Extractor
12
- when it analyzes a hypothetical NPM package called `example`:
13
-
14
- ```ts
15
- import { ApiModel, ApiPackage } from '@microsoft/api-extractor-model';
16
-
17
- const apiModel: ApiModel = new ApiModel();
18
- const apiPackage: ApiPackage = apiModel.loadPackage('example.api.json');
19
-
20
- for (const member of apiPackage.members) {
21
- console.log(member.displayName);
22
- }
23
- ```
24
-
25
- The `ApiModel` is acts as a container for various packages that are loaded and operated on as a group.
26
- For example, a documentation tool may need to resolve `@link` references across different packages.
27
- In this case we would load the various packages into the `ApiModel`, and then use
28
- the `ApiModel.resolveDeclarationReference()` to resolve the `@link` targets.
29
-
30
- The data structure forms a tree of various classes that start with the `Api` prefix. The nesting hierarchy
31
- might look like this:
32
-
33
- ```
34
- - ApiModel
35
- - ApiPackage
36
- - ApiEntryPoint
37
- - ApiClass
38
- - ApiMethod
39
- - ApiProperty
40
- - ApiEnum
41
- - ApiEnumMember
42
- - ApiInterface
43
- - ApiMethodSignature
44
- - ApiPropertySignature
45
- - ApiNamespace
46
- - (ApiClass, ApiEnum, ApiInterface, ...)
47
- ```
48
-
49
- You can use the `ApiItem.members` property to traverse this tree.
50
-
51
- Note that the non-abstract classes (e.g. `ApiClass`, `ApiEnum`, `ApiInterface`, etc.) use
52
- TypeScript "mixin" functions (e.g. `ApiDeclaredItem`, `ApiItemContainerMixin`, etc.) to add various
53
- features that cannot be represented as a normal inheritance chain (since TypeScript does not allow a child class
54
- to extend more than one base class). The "mixin" is a TypeScript merged declaration with three components:
55
- the function that generates a subclass, an interface that describes the members of the subclass, and
56
- a namespace containing static members of the class.
57
-
58
- > For a complete project that uses these APIs to generate an API reference web site,
59
- > see the [@microsoft/api-documenter](https://www.npmjs.com/package/@microsoft/api-documenter) source code.
60
-
61
- ## Links
62
-
63
- - [CHANGELOG.md](
64
- https://github.com/microsoft/rushstack/blob/master/apps/api-extractor-model/CHANGELOG.md) - Find
65
- out what's new in the latest version
66
- - [API Reference](https://rushstack.io/pages/api/api-extractor-model/)
67
-
68
- API Extractor is part of the [Rush Stack](https://rushstack.io/) family of projects.
1
+ # @microsoft/api-extractor-model
2
+
3
+ Use this library to read and write *.api.json files as defined by the [API Extractor](https://api-extractor.com/) tool.
4
+ These files are used to generate a documentation website for your TypeScript package. The files store the
5
+ API signatures and doc comments that were extracted from your package.
6
+
7
+ API documentation for this package: https://rushstack.io/pages/api/api-extractor-model/
8
+
9
+ ## Example Usage
10
+
11
+ The following code sample shows how to load `example.api.json`, which would be generated by API Extractor
12
+ when it analyzes a hypothetical NPM package called `example`:
13
+
14
+ ```ts
15
+ import { ApiModel, ApiPackage } from '@microsoft/api-extractor-model';
16
+
17
+ const apiModel: ApiModel = new ApiModel();
18
+ const apiPackage: ApiPackage = apiModel.loadPackage('example.api.json');
19
+
20
+ for (const member of apiPackage.members) {
21
+ console.log(member.displayName);
22
+ }
23
+ ```
24
+
25
+ The `ApiModel` is acts as a container for various packages that are loaded and operated on as a group.
26
+ For example, a documentation tool may need to resolve `@link` references across different packages.
27
+ In this case we would load the various packages into the `ApiModel`, and then use
28
+ the `ApiModel.resolveDeclarationReference()` to resolve the `@link` targets.
29
+
30
+ The data structure forms a tree of various classes that start with the `Api` prefix. The nesting hierarchy
31
+ might look like this:
32
+
33
+ ```
34
+ - ApiModel
35
+ - ApiPackage
36
+ - ApiEntryPoint
37
+ - ApiClass
38
+ - ApiMethod
39
+ - ApiProperty
40
+ - ApiEnum
41
+ - ApiEnumMember
42
+ - ApiInterface
43
+ - ApiMethodSignature
44
+ - ApiPropertySignature
45
+ - ApiNamespace
46
+ - (ApiClass, ApiEnum, ApiInterface, ...)
47
+ ```
48
+
49
+ You can use the `ApiItem.members` property to traverse this tree.
50
+
51
+ Note that the non-abstract classes (e.g. `ApiClass`, `ApiEnum`, `ApiInterface`, etc.) use
52
+ TypeScript "mixin" functions (e.g. `ApiDeclaredItem`, `ApiItemContainerMixin`, etc.) to add various
53
+ features that cannot be represented as a normal inheritance chain (since TypeScript does not allow a child class
54
+ to extend more than one base class). The "mixin" is a TypeScript merged declaration with three components:
55
+ the function that generates a subclass, an interface that describes the members of the subclass, and
56
+ a namespace containing static members of the class.
57
+
58
+ > For a complete project that uses these APIs to generate an API reference web site,
59
+ > see the [@microsoft/api-documenter](https://www.npmjs.com/package/@microsoft/api-documenter) source code.
60
+
61
+ ## Links
62
+
63
+ - [CHANGELOG.md](
64
+ https://github.com/microsoft/rushstack/blob/master/apps/api-extractor-model/CHANGELOG.md) - Find
65
+ out what's new in the latest version
66
+ - [API Reference](https://rushstack.io/pages/api/api-extractor-model/)
67
+
68
+ API Extractor is part of the [Rush Stack](https://rushstack.io/) family of projects.
package/dist/rollup.d.ts CHANGED
@@ -702,7 +702,7 @@ export declare namespace ApiItemContainerMixin {
702
702
  *
703
703
  * @public
704
704
  */
705
- export declare const enum ApiItemKind {
705
+ export declare enum ApiItemKind {
706
706
  CallSignature = "CallSignature",
707
707
  Class = "Class",
708
708
  Constructor = "Constructor",
@@ -1705,7 +1705,7 @@ export declare class ExcerptToken {
1705
1705
  }
1706
1706
 
1707
1707
  /** @public */
1708
- export declare const enum ExcerptTokenKind {
1708
+ export declare enum ExcerptTokenKind {
1709
1709
  /**
1710
1710
  * Generic text without any special properties
1711
1711
  */
@@ -5,7 +5,7 @@
5
5
  "toolPackages": [
6
6
  {
7
7
  "packageName": "@microsoft/api-extractor",
8
- "packageVersion": "7.18.21"
8
+ "packageVersion": "7.19.2"
9
9
  }
10
10
  ]
11
11
  }
@@ -1 +1 @@
1
- {"version":3,"file":"AedocDefinitions.js","sourceRoot":"","sources":["../../src/aedoc/AedocDefinitions.ts"],"names":[],"mappings":";AAAA,4FAA4F;AAC5F,2DAA2D;;;AAE3D,4CAA4G;AAE5G;;;GAGG;AACH,MAAa,gBAAgB;IAgBpB,MAAM,KAAK,kBAAkB;QAClC,IAAI,CAAC,gBAAgB,CAAC,mBAAmB,EAAE;YACzC,MAAM,aAAa,GAAuB,IAAI,0BAAkB,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,oBAAY,CAAC,KAAK;gBAClB,oBAAY,CAAC,IAAI;gBACjB,oBAAY,CAAC,SAAS;gBACtB,oBAAY,CAAC,YAAY;gBACzB,oBAAY,CAAC,UAAU;gBACvB,oBAAY,CAAC,aAAa;gBAC1B,oBAAY,CAAC,OAAO;gBACpB,oBAAY,CAAC,UAAU;gBACvB,oBAAY,CAAC,QAAQ;gBACrB,oBAAY,CAAC,IAAI;gBACjB,oBAAY,CAAC,QAAQ;gBACrB,oBAAY,CAAC,oBAAoB;gBACjC,oBAAY,CAAC,KAAK;gBAClB,oBAAY,CAAC,cAAc;gBAC3B,oBAAY,CAAC,MAAM;gBACnB,oBAAY,CAAC,QAAQ;gBACrB,oBAAY,CAAC,OAAO;gBACpB,oBAAY,CAAC,OAAO;gBACpB,oBAAY,CAAC,MAAM;gBACnB,oBAAY,CAAC,MAAM;gBACnB,oBAAY,CAAC,OAAO;aACrB,EACD,IAAI,CACL,CAAC;YAEF,gBAAgB,CAAC,mBAAmB,GAAG,aAAa,CAAC;SACtD;QACD,OAAO,gBAAgB,CAAC,mBAAmB,CAAC;IAC9C,CAAC;;AA1DH,4CA6DC;AA5DwB,kCAAiB,GAAuB,IAAI,0BAAkB,CAAC;IACpF,OAAO,EAAE,oBAAoB;IAC7B,UAAU,EAAE,0BAAkB,CAAC,WAAW;CAC3C,CAAC,CAAC;AAEoB,gCAAe,GAAuB,IAAI,0BAAkB,CAAC;IAClF,OAAO,EAAE,kBAAkB;IAC3B,UAAU,EAAE,0BAAkB,CAAC,QAAQ;CACxC,CAAC,CAAC;AAEoB,+BAAc,GAAuB,IAAI,0BAAkB,CAAC;IACjF,OAAO,EAAE,cAAc;IACvB,UAAU,EAAE,0BAAkB,CAAC,WAAW;CAC3C,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license.\r\n// See LICENSE in the project root for license information.\r\n\r\nimport { TSDocConfiguration, TSDocTagDefinition, TSDocTagSyntaxKind, StandardTags } from '@microsoft/tsdoc';\r\n\r\n/**\r\n * @internal\r\n * @deprecated - tsdoc configuration is now constructed from tsdoc.json files associated with each package.\r\n */\r\nexport class AedocDefinitions {\r\n public static readonly betaDocumentation: TSDocTagDefinition = new TSDocTagDefinition({\r\n tagName: '@betaDocumentation',\r\n syntaxKind: TSDocTagSyntaxKind.ModifierTag\r\n });\r\n\r\n public static readonly internalRemarks: TSDocTagDefinition = new TSDocTagDefinition({\r\n tagName: '@internalRemarks',\r\n syntaxKind: TSDocTagSyntaxKind.BlockTag\r\n });\r\n\r\n public static readonly preapprovedTag: TSDocTagDefinition = new TSDocTagDefinition({\r\n tagName: '@preapproved',\r\n syntaxKind: TSDocTagSyntaxKind.ModifierTag\r\n });\r\n\r\n public static get tsdocConfiguration(): TSDocConfiguration {\r\n if (!AedocDefinitions._tsdocConfiguration) {\r\n const configuration: TSDocConfiguration = new TSDocConfiguration();\r\n configuration.addTagDefinitions(\r\n [\r\n AedocDefinitions.betaDocumentation,\r\n AedocDefinitions.internalRemarks,\r\n AedocDefinitions.preapprovedTag\r\n ],\r\n true\r\n );\r\n\r\n configuration.setSupportForTags(\r\n [\r\n StandardTags.alpha,\r\n StandardTags.beta,\r\n StandardTags.decorator,\r\n StandardTags.defaultValue,\r\n StandardTags.deprecated,\r\n StandardTags.eventProperty,\r\n StandardTags.example,\r\n StandardTags.inheritDoc,\r\n StandardTags.internal,\r\n StandardTags.link,\r\n StandardTags.override,\r\n StandardTags.packageDocumentation,\r\n StandardTags.param,\r\n StandardTags.privateRemarks,\r\n StandardTags.public,\r\n StandardTags.readonly,\r\n StandardTags.remarks,\r\n StandardTags.returns,\r\n StandardTags.sealed,\r\n StandardTags.throws,\r\n StandardTags.virtual\r\n ],\r\n true\r\n );\r\n\r\n AedocDefinitions._tsdocConfiguration = configuration;\r\n }\r\n return AedocDefinitions._tsdocConfiguration;\r\n }\r\n\r\n private static _tsdocConfiguration: TSDocConfiguration | undefined;\r\n}\r\n"]}
1
+ {"version":3,"file":"AedocDefinitions.js","sourceRoot":"","sources":["../../src/aedoc/AedocDefinitions.ts"],"names":[],"mappings":";AAAA,4FAA4F;AAC5F,2DAA2D;;;AAE3D,4CAA4G;AAE5G;;;GAGG;AACH,MAAa,gBAAgB;IAgBpB,MAAM,KAAK,kBAAkB;QAClC,IAAI,CAAC,gBAAgB,CAAC,mBAAmB,EAAE;YACzC,MAAM,aAAa,GAAuB,IAAI,0BAAkB,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,oBAAY,CAAC,KAAK;gBAClB,oBAAY,CAAC,IAAI;gBACjB,oBAAY,CAAC,SAAS;gBACtB,oBAAY,CAAC,YAAY;gBACzB,oBAAY,CAAC,UAAU;gBACvB,oBAAY,CAAC,aAAa;gBAC1B,oBAAY,CAAC,OAAO;gBACpB,oBAAY,CAAC,UAAU;gBACvB,oBAAY,CAAC,QAAQ;gBACrB,oBAAY,CAAC,IAAI;gBACjB,oBAAY,CAAC,QAAQ;gBACrB,oBAAY,CAAC,oBAAoB;gBACjC,oBAAY,CAAC,KAAK;gBAClB,oBAAY,CAAC,cAAc;gBAC3B,oBAAY,CAAC,MAAM;gBACnB,oBAAY,CAAC,QAAQ;gBACrB,oBAAY,CAAC,OAAO;gBACpB,oBAAY,CAAC,OAAO;gBACpB,oBAAY,CAAC,MAAM;gBACnB,oBAAY,CAAC,MAAM;gBACnB,oBAAY,CAAC,OAAO;aACrB,EACD,IAAI,CACL,CAAC;YAEF,gBAAgB,CAAC,mBAAmB,GAAG,aAAa,CAAC;SACtD;QACD,OAAO,gBAAgB,CAAC,mBAAmB,CAAC;IAC9C,CAAC;;AA1DH,4CA6DC;AA5DwB,kCAAiB,GAAuB,IAAI,0BAAkB,CAAC;IACpF,OAAO,EAAE,oBAAoB;IAC7B,UAAU,EAAE,0BAAkB,CAAC,WAAW;CAC3C,CAAC,CAAC;AAEoB,gCAAe,GAAuB,IAAI,0BAAkB,CAAC;IAClF,OAAO,EAAE,kBAAkB;IAC3B,UAAU,EAAE,0BAAkB,CAAC,QAAQ;CACxC,CAAC,CAAC;AAEoB,+BAAc,GAAuB,IAAI,0BAAkB,CAAC;IACjF,OAAO,EAAE,cAAc;IACvB,UAAU,EAAE,0BAAkB,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"]}
@@ -1 +1 @@
1
- {"version":3,"file":"ReleaseTag.js","sourceRoot":"","sources":["../../src/aedoc/ReleaseTag.ts"],"names":[],"mappings":";AAAA,4FAA4F;AAC5F,2DAA2D;;;AAE3D;;;;;;;;;;;;;GAaG;AACH,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,GAAV,kBAAU,KAAV,kBAAU,QA2BrB;AAED;;;GAGG;AACH,WAAiB,UAAU;IACzB;;;;;OAKG;IACH,SAAgB,UAAU,CAAC,UAAsB;QAC/C,QAAQ,UAAU,EAAE;YAClB,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;SAC9C;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,GAAV,kBAAU,KAAV,kBAAU,QAmC1B","sourcesContent":["// Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license.\r\n// See LICENSE in the project root for license information.\r\n\r\n/**\r\n * A \"release tag\" is a custom TSDoc tag that is applied to an API to communicate the level of support\r\n * provided for third-party developers.\r\n *\r\n * @remarks\r\n *\r\n * The four release tags are: `@internal`, `@alpha`, `@beta`, and `@public`. They are applied to API items such\r\n * as classes, member functions, enums, etc. The release tag applies recursively to members of a container\r\n * (e.g. class or interface). For example, if a class is marked as `@beta`, then all of its members automatically\r\n * have this status; you DON'T need add the `@beta` tag to each member function. However, you could add\r\n * `@internal` to a member function to give it a different release status.\r\n *\r\n * @public\r\n */\r\nexport enum ReleaseTag {\r\n /**\r\n * No release tag was specified in the AEDoc summary.\r\n */\r\n None = 0,\r\n /**\r\n * Indicates that an API item is meant only for usage by other NPM packages from the same\r\n * maintainer. Third parties should never use \"internal\" APIs. (To emphasize this, their\r\n * names are prefixed by underscores.)\r\n */\r\n Internal = 1,\r\n /**\r\n * Indicates that an API item is eventually intended to be public, but currently is in an\r\n * early stage of development. Third parties should not use \"alpha\" APIs.\r\n */\r\n Alpha = 2,\r\n /**\r\n * Indicates that an API item has been released in an experimental state. Third parties are\r\n * encouraged to try it and provide feedback. However, a \"beta\" API should NOT be used\r\n * in production.\r\n */\r\n Beta = 3,\r\n /**\r\n * Indicates that an API item has been officially released. It is part of the supported\r\n * contract (e.g. SemVer) for a package.\r\n */\r\n Public = 4\r\n}\r\n\r\n/**\r\n * Helper functions for working with the `ReleaseTag` enum.\r\n * @public\r\n */\r\nexport namespace ReleaseTag {\r\n /**\r\n * Returns the TSDoc tag name for a `ReleaseTag` value.\r\n *\r\n * @remarks\r\n * For example, `getTagName(ReleaseTag.Internal)` would return the string `@internal`.\r\n */\r\n export function getTagName(releaseTag: ReleaseTag): string {\r\n switch (releaseTag) {\r\n case ReleaseTag.None:\r\n return '(none)';\r\n case ReleaseTag.Internal:\r\n return '@internal';\r\n case ReleaseTag.Alpha:\r\n return '@alpha';\r\n case ReleaseTag.Beta:\r\n return '@beta';\r\n case ReleaseTag.Public:\r\n return '@public';\r\n default:\r\n throw new Error('Unsupported release tag');\r\n }\r\n }\r\n\r\n /**\r\n * Compares two `ReleaseTag` values. Their values must not be `ReleaseTag.None`.\r\n * @returns 0 if `a` and `b` are equal, a positive number if `a` is more public than `b`,\r\n * and a negative number if `a` is less public than `b`.\r\n * @remarks\r\n * For example, `compareReleaseTag(ReleaseTag.Beta, ReleaseTag.Alpha)` will return a positive\r\n * number because beta is more public than alpha.\r\n */\r\n export function compare(a: ReleaseTag, b: ReleaseTag): number {\r\n return a - b;\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"ReleaseTag.js","sourceRoot":"","sources":["../../src/aedoc/ReleaseTag.ts"],"names":[],"mappings":";AAAA,4FAA4F;AAC5F,2DAA2D;;;AAE3D;;;;;;;;;;;;;GAaG;AACH,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,GAAV,kBAAU,KAAV,kBAAU,QA2BrB;AAED;;;GAGG;AACH,WAAiB,UAAU;IACzB;;;;;OAKG;IACH,SAAgB,UAAU,CAAC,UAAsB;QAC/C,QAAQ,UAAU,EAAE;YAClB,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;SAC9C;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,GAAV,kBAAU,KAAV,kBAAU,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"]}
package/lib/index.js CHANGED
@@ -2,7 +2,7 @@
2
2
  // Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license.
3
3
  // See LICENSE in the project root for license information.
4
4
  Object.defineProperty(exports, "__esModule", { value: true });
5
- exports.HeritageType = exports.ApiVariable = exports.TypeParameter = exports.ApiTypeAlias = exports.ApiPropertySignature = exports.ApiProperty = exports.Parameter = exports.ApiPackage = exports.ApiNamespace = exports.ApiModel = exports.ApiMethodSignature = exports.ApiMethod = exports.ApiInterface = exports.ApiIndexSignature = exports.ApiFunction = exports.ApiEnumMember = exports.ApiEnum = exports.ApiEntryPoint = exports.ApiConstructSignature = exports.ApiConstructor = exports.ApiClass = exports.ApiCallSignature = exports.Excerpt = exports.ExcerptToken = exports.ApiOptionalMixin = exports.ApiNameMixin = exports.ApiStaticMixin = exports.ApiReturnTypeMixin = exports.ApiReleaseTagMixin = exports.ApiItemContainerMixin = exports.ApiTypeParameterListMixin = exports.ApiParameterListMixin = exports.ApiPropertyItem = exports.ApiItem = exports.ApiDocumentedItem = exports.ApiDeclaredItem = exports.ReleaseTag = exports.AedocDefinitions = void 0;
5
+ exports.HeritageType = exports.ApiVariable = exports.TypeParameter = exports.ApiTypeAlias = exports.ApiPropertySignature = exports.ApiProperty = exports.Parameter = exports.ApiPackage = exports.ApiNamespace = exports.ApiModel = exports.ApiMethodSignature = exports.ApiMethod = exports.ApiInterface = exports.ApiIndexSignature = exports.ApiFunction = exports.ApiEnumMember = exports.ApiEnum = exports.ApiEntryPoint = exports.ApiConstructSignature = exports.ApiConstructor = exports.ApiClass = exports.ApiCallSignature = exports.Excerpt = exports.ExcerptToken = exports.ExcerptTokenKind = exports.ApiOptionalMixin = exports.ApiNameMixin = exports.ApiStaticMixin = exports.ApiReturnTypeMixin = exports.ApiReleaseTagMixin = exports.ApiItemContainerMixin = exports.ApiTypeParameterListMixin = exports.ApiParameterListMixin = exports.ApiPropertyItem = exports.ApiItem = exports.ApiItemKind = exports.ApiDocumentedItem = exports.ApiDeclaredItem = exports.ReleaseTag = exports.AedocDefinitions = void 0;
6
6
  /**
7
7
  * Use this library to read and write *.api.json files as defined by the
8
8
  * {@link https://api-extractor.com/ | API Extractor} tool. These files are used to generate a documentation
@@ -21,6 +21,7 @@ Object.defineProperty(exports, "ApiDeclaredItem", { enumerable: true, get: funct
21
21
  var ApiDocumentedItem_1 = require("./items/ApiDocumentedItem");
22
22
  Object.defineProperty(exports, "ApiDocumentedItem", { enumerable: true, get: function () { return ApiDocumentedItem_1.ApiDocumentedItem; } });
23
23
  var ApiItem_1 = require("./items/ApiItem");
24
+ Object.defineProperty(exports, "ApiItemKind", { enumerable: true, get: function () { return ApiItem_1.ApiItemKind; } });
24
25
  Object.defineProperty(exports, "ApiItem", { enumerable: true, get: function () { return ApiItem_1.ApiItem; } });
25
26
  var ApiPropertyItem_1 = require("./items/ApiPropertyItem");
26
27
  Object.defineProperty(exports, "ApiPropertyItem", { enumerable: true, get: function () { return ApiPropertyItem_1.ApiPropertyItem; } });
@@ -42,6 +43,7 @@ Object.defineProperty(exports, "ApiNameMixin", { enumerable: true, get: function
42
43
  var ApiOptionalMixin_1 = require("./mixins/ApiOptionalMixin");
43
44
  Object.defineProperty(exports, "ApiOptionalMixin", { enumerable: true, get: function () { return ApiOptionalMixin_1.ApiOptionalMixin; } });
44
45
  var Excerpt_1 = require("./mixins/Excerpt");
46
+ Object.defineProperty(exports, "ExcerptTokenKind", { enumerable: true, get: function () { return Excerpt_1.ExcerptTokenKind; } });
45
47
  Object.defineProperty(exports, "ExcerptToken", { enumerable: true, get: function () { return Excerpt_1.ExcerptToken; } });
46
48
  Object.defineProperty(exports, "Excerpt", { enumerable: true, get: function () { return Excerpt_1.Excerpt; } });
47
49
  // model
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA,4FAA4F;AAC5F,2DAA2D;;;AAE3D;;;;;;;GAOG;AAEH,6DAA4D;AAAnD,oHAAA,gBAAgB,OAAA;AACzB,iDAAgD;AAAvC,wGAAA,UAAU,OAAA;AAEnB,QAAQ;AACR,2DAAmF;AAAjD,kHAAA,eAAe,OAAA;AACjD,+DAAyF;AAArD,sHAAA,iBAAiB,OAAA;AACrD,2CAA6F;AAAtD,kGAAA,OAAO,OAAA;AAC9C,2DAAmF;AAAjD,kHAAA,eAAe,OAAA;AAEjD,SAAS;AACT,wEAIwC;AADtC,8HAAA,qBAAqB,OAAA;AAEvB,gFAI4C;AAD1C,sIAAA,yBAAyB,OAAA;AAE3B,wEAAsG;AAA9D,8HAAA,qBAAqB,OAAA;AAC7D,kEAA6F;AAAxD,wHAAA,kBAAkB,OAAA;AACvD,kEAA6F;AAAxD,wHAAA,kBAAkB,OAAA;AACvD,0DAAiF;AAAhD,gHAAA,cAAc,OAAA;AAC/C,sDAA2E;AAA5C,4GAAA,YAAY,OAAA;AAC3C,8DAAuF;AAApD,oHAAA,gBAAgB,OAAA;AAEnD,4CAA8G;AAAhD,uGAAA,YAAY,OAAA;AAAE,kGAAA,OAAO,OAAA;AAGnF,QAAQ;AACR,6DAAsF;AAAnD,oHAAA,gBAAgB,OAAA;AACnD,6CAA8D;AAAnC,oGAAA,QAAQ,OAAA;AACnC,yDAAgF;AAA/C,gHAAA,cAAc,OAAA;AAC/C,uEAAqG;AAA7D,8HAAA,qBAAqB,OAAA;AAC7D,uDAA6E;AAA7C,8GAAA,aAAa,OAAA;AAC7C,2CAA2D;AAAjC,kGAAA,OAAO,OAAA;AACjC,uDAA6E;AAA7C,8GAAA,aAAa,OAAA;AAC7C,mDAAuE;AAAzC,0GAAA,WAAW,OAAA;AACzC,+DAAyF;AAArD,sHAAA,iBAAiB,OAAA;AACrD,qDAA0E;AAA3C,4GAAA,YAAY,OAAA;AAC3C,+CAAiE;AAArC,sGAAA,SAAS,OAAA;AACrC,iEAA4F;AAAvD,wHAAA,kBAAkB,OAAA;AACvD,6CAA4C;AAAnC,oGAAA,QAAQ,OAAA;AACjB,qDAA0E;AAA3C,4GAAA,YAAY,OAAA;AAC3C,iDAA4F;AAA/D,wGAAA,UAAU,OAAA;AACvC,+CAAiE;AAArC,sGAAA,SAAS,OAAA;AACrC,mDAAuE;AAAzC,0GAAA,WAAW,OAAA;AACzC,qEAAkG;AAA3D,4HAAA,oBAAoB,OAAA;AAC3D,qDAA0E;AAA3C,4GAAA,YAAY,OAAA;AAC3C,uDAA6E;AAA7C,8GAAA,aAAa,OAAA;AAC7C,mDAAuE;AAAzC,0GAAA,WAAW,OAAA;AAEzC,qDAAoD;AAA3C,4GAAA,YAAY,OAAA","sourcesContent":["// Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license.\r\n// See LICENSE in the project root for license information.\r\n\r\n/**\r\n * Use this library to read and write *.api.json files as defined by the\r\n * {@link https://api-extractor.com/ | API Extractor} tool. These files are used to generate a documentation\r\n * website for your TypeScript package. The files store the API signatures and doc comments that were extracted\r\n * from your package.\r\n *\r\n * @packageDocumentation\r\n */\r\n\r\nexport { AedocDefinitions } from './aedoc/AedocDefinitions';\r\nexport { ReleaseTag } from './aedoc/ReleaseTag';\r\n\r\n// items\r\nexport { IApiDeclaredItemOptions, ApiDeclaredItem } from './items/ApiDeclaredItem';\r\nexport { IApiDocumentedItemOptions, ApiDocumentedItem } from './items/ApiDocumentedItem';\r\nexport { ApiItemKind, IApiItemOptions, ApiItem, IApiItemConstructor } from './items/ApiItem';\r\nexport { IApiPropertyItemOptions, ApiPropertyItem } from './items/ApiPropertyItem';\r\n\r\n// mixins\r\nexport {\r\n IApiParameterListMixinOptions,\r\n IApiParameterOptions,\r\n ApiParameterListMixin\r\n} from './mixins/ApiParameterListMixin';\r\nexport {\r\n IApiTypeParameterOptions,\r\n IApiTypeParameterListMixinOptions,\r\n ApiTypeParameterListMixin\r\n} from './mixins/ApiTypeParameterListMixin';\r\nexport { IApiItemContainerMixinOptions, ApiItemContainerMixin } from './mixins/ApiItemContainerMixin';\r\nexport { IApiReleaseTagMixinOptions, ApiReleaseTagMixin } from './mixins/ApiReleaseTagMixin';\r\nexport { IApiReturnTypeMixinOptions, ApiReturnTypeMixin } from './mixins/ApiReturnTypeMixin';\r\nexport { IApiStaticMixinOptions, ApiStaticMixin } from './mixins/ApiStaticMixin';\r\nexport { IApiNameMixinOptions, ApiNameMixin } from './mixins/ApiNameMixin';\r\nexport { IApiOptionalMixinOptions, ApiOptionalMixin } from './mixins/ApiOptionalMixin';\r\n\r\nexport { ExcerptTokenKind, IExcerptTokenRange, IExcerptToken, ExcerptToken, Excerpt } from './mixins/Excerpt';\r\nexport { Constructor, PropertiesOf } from './mixins/Mixin';\r\n\r\n// model\r\nexport { IApiCallSignatureOptions, ApiCallSignature } from './model/ApiCallSignature';\r\nexport { IApiClassOptions, ApiClass } from './model/ApiClass';\r\nexport { IApiConstructorOptions, ApiConstructor } from './model/ApiConstructor';\r\nexport { IApiConstructSignatureOptions, ApiConstructSignature } from './model/ApiConstructSignature';\r\nexport { IApiEntryPointOptions, ApiEntryPoint } from './model/ApiEntryPoint';\r\nexport { IApiEnumOptions, ApiEnum } from './model/ApiEnum';\r\nexport { IApiEnumMemberOptions, ApiEnumMember } from './model/ApiEnumMember';\r\nexport { IApiFunctionOptions, ApiFunction } from './model/ApiFunction';\r\nexport { IApiIndexSignatureOptions, ApiIndexSignature } from './model/ApiIndexSignature';\r\nexport { IApiInterfaceOptions, ApiInterface } from './model/ApiInterface';\r\nexport { IApiMethodOptions, ApiMethod } from './model/ApiMethod';\r\nexport { IApiMethodSignatureOptions, ApiMethodSignature } from './model/ApiMethodSignature';\r\nexport { ApiModel } from './model/ApiModel';\r\nexport { IApiNamespaceOptions, ApiNamespace } from './model/ApiNamespace';\r\nexport { IApiPackageOptions, ApiPackage, IApiPackageSaveOptions } from './model/ApiPackage';\r\nexport { IParameterOptions, Parameter } from './model/Parameter';\r\nexport { IApiPropertyOptions, ApiProperty } from './model/ApiProperty';\r\nexport { IApiPropertySignatureOptions, ApiPropertySignature } from './model/ApiPropertySignature';\r\nexport { IApiTypeAliasOptions, ApiTypeAlias } from './model/ApiTypeAlias';\r\nexport { ITypeParameterOptions, TypeParameter } from './model/TypeParameter';\r\nexport { IApiVariableOptions, ApiVariable } from './model/ApiVariable';\r\nexport { IResolveDeclarationReferenceResult } from './model/ModelReferenceResolver';\r\nexport { HeritageType } from './model/HeritageType';\r\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA,4FAA4F;AAC5F,2DAA2D;;;AAE3D;;;;;;;GAOG;AAEH,6DAA4D;AAAnD,oHAAA,gBAAgB,OAAA;AACzB,iDAAgD;AAAvC,wGAAA,UAAU,OAAA;AAEnB,QAAQ;AACR,2DAAmF;AAAjD,kHAAA,eAAe,OAAA;AACjD,+DAAyF;AAArD,sHAAA,iBAAiB,OAAA;AACrD,2CAA6F;AAApF,sGAAA,WAAW,OAAA;AAAmB,kGAAA,OAAO,OAAA;AAC9C,2DAAmF;AAAjD,kHAAA,eAAe,OAAA;AAEjD,SAAS;AACT,wEAIwC;AADtC,8HAAA,qBAAqB,OAAA;AAEvB,gFAI4C;AAD1C,sIAAA,yBAAyB,OAAA;AAE3B,wEAAsG;AAA9D,8HAAA,qBAAqB,OAAA;AAC7D,kEAA6F;AAAxD,wHAAA,kBAAkB,OAAA;AACvD,kEAA6F;AAAxD,wHAAA,kBAAkB,OAAA;AACvD,0DAAiF;AAAhD,gHAAA,cAAc,OAAA;AAC/C,sDAA2E;AAA5C,4GAAA,YAAY,OAAA;AAC3C,8DAAuF;AAApD,oHAAA,gBAAgB,OAAA;AAEnD,4CAA8G;AAArG,2GAAA,gBAAgB,OAAA;AAAqC,uGAAA,YAAY,OAAA;AAAE,kGAAA,OAAO,OAAA;AAGnF,QAAQ;AACR,6DAAsF;AAAnD,oHAAA,gBAAgB,OAAA;AACnD,6CAA8D;AAAnC,oGAAA,QAAQ,OAAA;AACnC,yDAAgF;AAA/C,gHAAA,cAAc,OAAA;AAC/C,uEAAqG;AAA7D,8HAAA,qBAAqB,OAAA;AAC7D,uDAA6E;AAA7C,8GAAA,aAAa,OAAA;AAC7C,2CAA2D;AAAjC,kGAAA,OAAO,OAAA;AACjC,uDAA6E;AAA7C,8GAAA,aAAa,OAAA;AAC7C,mDAAuE;AAAzC,0GAAA,WAAW,OAAA;AACzC,+DAAyF;AAArD,sHAAA,iBAAiB,OAAA;AACrD,qDAA0E;AAA3C,4GAAA,YAAY,OAAA;AAC3C,+CAAiE;AAArC,sGAAA,SAAS,OAAA;AACrC,iEAA4F;AAAvD,wHAAA,kBAAkB,OAAA;AACvD,6CAA4C;AAAnC,oGAAA,QAAQ,OAAA;AACjB,qDAA0E;AAA3C,4GAAA,YAAY,OAAA;AAC3C,iDAA4F;AAA/D,wGAAA,UAAU,OAAA;AACvC,+CAAiE;AAArC,sGAAA,SAAS,OAAA;AACrC,mDAAuE;AAAzC,0GAAA,WAAW,OAAA;AACzC,qEAAkG;AAA3D,4HAAA,oBAAoB,OAAA;AAC3D,qDAA0E;AAA3C,4GAAA,YAAY,OAAA;AAC3C,uDAA6E;AAA7C,8GAAA,aAAa,OAAA;AAC7C,mDAAuE;AAAzC,0GAAA,WAAW,OAAA;AAEzC,qDAAoD;AAA3C,4GAAA,YAAY,OAAA","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 { IApiDeclaredItemOptions, ApiDeclaredItem } from './items/ApiDeclaredItem';\nexport { IApiDocumentedItemOptions, ApiDocumentedItem } from './items/ApiDocumentedItem';\nexport { ApiItemKind, IApiItemOptions, ApiItem, IApiItemConstructor } from './items/ApiItem';\nexport { IApiPropertyItemOptions, ApiPropertyItem } from './items/ApiPropertyItem';\n\n// mixins\nexport {\n IApiParameterListMixinOptions,\n IApiParameterOptions,\n ApiParameterListMixin\n} from './mixins/ApiParameterListMixin';\nexport {\n IApiTypeParameterOptions,\n IApiTypeParameterListMixinOptions,\n ApiTypeParameterListMixin\n} from './mixins/ApiTypeParameterListMixin';\nexport { IApiItemContainerMixinOptions, ApiItemContainerMixin } from './mixins/ApiItemContainerMixin';\nexport { IApiReleaseTagMixinOptions, ApiReleaseTagMixin } from './mixins/ApiReleaseTagMixin';\nexport { IApiReturnTypeMixinOptions, ApiReturnTypeMixin } from './mixins/ApiReturnTypeMixin';\nexport { IApiStaticMixinOptions, ApiStaticMixin } from './mixins/ApiStaticMixin';\nexport { IApiNameMixinOptions, ApiNameMixin } from './mixins/ApiNameMixin';\nexport { IApiOptionalMixinOptions, ApiOptionalMixin } from './mixins/ApiOptionalMixin';\n\nexport { ExcerptTokenKind, IExcerptTokenRange, IExcerptToken, ExcerptToken, Excerpt } from './mixins/Excerpt';\nexport { Constructor, PropertiesOf } from './mixins/Mixin';\n\n// model\nexport { IApiCallSignatureOptions, ApiCallSignature } from './model/ApiCallSignature';\nexport { IApiClassOptions, ApiClass } from './model/ApiClass';\nexport { IApiConstructorOptions, ApiConstructor } from './model/ApiConstructor';\nexport { IApiConstructSignatureOptions, ApiConstructSignature } from './model/ApiConstructSignature';\nexport { IApiEntryPointOptions, ApiEntryPoint } from './model/ApiEntryPoint';\nexport { IApiEnumOptions, ApiEnum } from './model/ApiEnum';\nexport { IApiEnumMemberOptions, ApiEnumMember } from './model/ApiEnumMember';\nexport { IApiFunctionOptions, ApiFunction } from './model/ApiFunction';\nexport { IApiIndexSignatureOptions, ApiIndexSignature } from './model/ApiIndexSignature';\nexport { IApiInterfaceOptions, ApiInterface } from './model/ApiInterface';\nexport { IApiMethodOptions, ApiMethod } from './model/ApiMethod';\nexport { IApiMethodSignatureOptions, ApiMethodSignature } from './model/ApiMethodSignature';\nexport { ApiModel } from './model/ApiModel';\nexport { IApiNamespaceOptions, ApiNamespace } from './model/ApiNamespace';\nexport { IApiPackageOptions, ApiPackage, IApiPackageSaveOptions } from './model/ApiPackage';\nexport { IParameterOptions, Parameter } from './model/Parameter';\nexport { IApiPropertyOptions, ApiProperty } from './model/ApiProperty';\nexport { IApiPropertySignatureOptions, ApiPropertySignature } from './model/ApiPropertySignature';\nexport { IApiTypeAliasOptions, ApiTypeAlias } from './model/ApiTypeAlias';\nexport { ITypeParameterOptions, TypeParameter } from './model/TypeParameter';\nexport { IApiVariableOptions, ApiVariable } from './model/ApiVariable';\nexport { IResolveDeclarationReferenceResult } from './model/ModelReferenceResolver';\nexport { HeritageType } from './model/HeritageType';\n"]}
@@ -1 +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.\r\n// See LICENSE in the project root for license information.s\r\n\r\nimport { DeclarationReference } from '@microsoft/tsdoc/lib-commonjs/beta/DeclarationReference';\r\nimport { ApiDocumentedItem, IApiDocumentedItemJson, IApiDocumentedItemOptions } from './ApiDocumentedItem';\r\nimport { Excerpt, ExcerptToken, IExcerptTokenRange, IExcerptToken } from '../mixins/Excerpt';\r\nimport { DeserializerContext } from '../model/DeserializerContext';\r\n\r\n/**\r\n * Constructor options for {@link ApiDeclaredItem}.\r\n * @public\r\n */\r\nexport interface IApiDeclaredItemOptions extends IApiDocumentedItemOptions {\r\n excerptTokens: IExcerptToken[];\r\n}\r\n\r\nexport interface IApiDeclaredItemJson extends IApiDocumentedItemJson {\r\n excerptTokens: IExcerptToken[];\r\n}\r\n\r\n/**\r\n * The base class for API items that have an associated source code excerpt containing a TypeScript declaration.\r\n *\r\n * @remarks\r\n *\r\n * This is part of the {@link ApiModel} hierarchy of classes, which are serializable representations of\r\n * API declarations.\r\n *\r\n * Most `ApiItem` subclasses have declarations and thus extend `ApiDeclaredItem`. Counterexamples include\r\n * `ApiModel` and `ApiPackage`, which do not have any corresponding TypeScript source code.\r\n *\r\n * @public\r\n */\r\n// eslint-disable-next-line @typescript-eslint/naming-convention\r\nexport class ApiDeclaredItem extends ApiDocumentedItem {\r\n private _excerptTokens: ExcerptToken[];\r\n private _excerpt: Excerpt;\r\n\r\n public constructor(options: IApiDeclaredItemOptions) {\r\n super(options);\r\n\r\n this._excerptTokens = options.excerptTokens.map((token) => {\r\n const canonicalReference: DeclarationReference | undefined =\r\n token.canonicalReference === undefined\r\n ? undefined\r\n : DeclarationReference.parse(token.canonicalReference);\r\n return new ExcerptToken(token.kind, token.text, canonicalReference);\r\n });\r\n this._excerpt = new Excerpt(this.excerptTokens, { startIndex: 0, endIndex: this.excerptTokens.length });\r\n }\r\n\r\n /** @override */\r\n public static onDeserializeInto(\r\n options: Partial<IApiDeclaredItemOptions>,\r\n context: DeserializerContext,\r\n jsonObject: IApiDeclaredItemJson\r\n ): void {\r\n super.onDeserializeInto(options, context, jsonObject);\r\n\r\n options.excerptTokens = jsonObject.excerptTokens;\r\n }\r\n\r\n /**\r\n * The source code excerpt where the API item is declared.\r\n */\r\n public get excerpt(): Excerpt {\r\n return this._excerpt;\r\n }\r\n\r\n /**\r\n * The individual source code tokens that comprise the main excerpt.\r\n */\r\n public get excerptTokens(): ReadonlyArray<ExcerptToken> {\r\n return this._excerptTokens;\r\n }\r\n\r\n /**\r\n * If the API item has certain important modifier tags such as `@sealed`, `@virtual`, or `@override`,\r\n * this prepends them as a doc comment above the excerpt.\r\n */\r\n public getExcerptWithModifiers(): string {\r\n const excerpt: string = this.excerpt.text;\r\n const modifierTags: string[] = [];\r\n\r\n if (excerpt.length > 0) {\r\n if (this instanceof ApiDocumentedItem) {\r\n if (this.tsdocComment) {\r\n if (this.tsdocComment.modifierTagSet.isSealed()) {\r\n modifierTags.push('@sealed');\r\n }\r\n if (this.tsdocComment.modifierTagSet.isVirtual()) {\r\n modifierTags.push('@virtual');\r\n }\r\n if (this.tsdocComment.modifierTagSet.isOverride()) {\r\n modifierTags.push('@override');\r\n }\r\n }\r\n if (modifierTags.length > 0) {\r\n return '/** ' + modifierTags.join(' ') + ' */\\n' + excerpt;\r\n }\r\n }\r\n }\r\n\r\n return excerpt;\r\n }\r\n\r\n /** @override */\r\n public serializeInto(jsonObject: Partial<IApiDeclaredItemJson>): void {\r\n super.serializeInto(jsonObject);\r\n jsonObject.excerptTokens = this.excerptTokens.map((x) => {\r\n const excerptToken: IExcerptToken = { kind: x.kind, text: x.text };\r\n if (x.canonicalReference !== undefined) {\r\n excerptToken.canonicalReference = x.canonicalReference.toString();\r\n }\r\n return excerptToken;\r\n });\r\n }\r\n\r\n /**\r\n * Constructs a new {@link Excerpt} corresponding to the provided token range.\r\n */\r\n public buildExcerpt(tokenRange: IExcerptTokenRange): Excerpt {\r\n return new Excerpt(this.excerptTokens, tokenRange);\r\n }\r\n}\r\n"]}
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.s\n\nimport { DeclarationReference } from '@microsoft/tsdoc/lib-commonjs/beta/DeclarationReference';\nimport { ApiDocumentedItem, IApiDocumentedItemJson, IApiDocumentedItemOptions } from './ApiDocumentedItem';\nimport { Excerpt, ExcerptToken, IExcerptTokenRange, IExcerptToken } from '../mixins/Excerpt';\nimport { DeserializerContext } from '../model/DeserializerContext';\n\n/**\n * Constructor options for {@link ApiDeclaredItem}.\n * @public\n */\nexport interface IApiDeclaredItemOptions extends IApiDocumentedItemOptions {\n excerptTokens: IExcerptToken[];\n}\n\nexport interface IApiDeclaredItemJson extends IApiDocumentedItemJson {\n excerptTokens: IExcerptToken[];\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 */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport class ApiDeclaredItem extends ApiDocumentedItem {\n private _excerptTokens: ExcerptToken[];\n private _excerpt: Excerpt;\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 }\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 }\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 * 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\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"]}
@@ -1 +1 @@
1
- {"version":3,"file":"ApiDocumentedItem.js","sourceRoot":"","sources":["../../src/items/ApiDocumentedItem.ts"],"names":[],"mappings":";AAAA,4FAA4F;AAC5F,2DAA2D;;;;;;;;;;;;;;;;;;;;;;AAE3D,wDAA0C;AAC1C,uCAAmE;AAenE;;;;;;;;;GASG;AACH,MAAa,iBAAkB,SAAQ,iBAAO;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;YAC7B,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;SAC/C;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;YACnC,UAAU,CAAC,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;SACzD;aAAM;YACL,UAAU,CAAC,UAAU,GAAG,EAAE,CAAC;SAC5B;IACH,CAAC;CACF;AA5CD,8CA4CC","sourcesContent":["// Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license.\r\n// See LICENSE in the project root for license information.\r\n\r\nimport * as tsdoc from '@microsoft/tsdoc';\r\nimport { ApiItem, IApiItemOptions, IApiItemJson } from './ApiItem';\r\nimport { DeserializerContext } from '../model/DeserializerContext';\r\n\r\n/**\r\n * Constructor options for {@link ApiDocumentedItem}.\r\n * @public\r\n */\r\nexport interface IApiDocumentedItemOptions extends IApiItemOptions {\r\n docComment: tsdoc.DocComment | undefined;\r\n}\r\n\r\nexport interface IApiDocumentedItemJson extends IApiItemJson {\r\n docComment: string;\r\n}\r\n\r\n/**\r\n * An abstract base class for API declarations that can have an associated TSDoc comment.\r\n *\r\n * @remarks\r\n *\r\n * This is part of the {@link ApiModel} hierarchy of classes, which are serializable representations of\r\n * API declarations.\r\n *\r\n * @public\r\n */\r\nexport class ApiDocumentedItem extends ApiItem {\r\n private _tsdocComment: tsdoc.DocComment | undefined;\r\n\r\n public constructor(options: IApiDocumentedItemOptions) {\r\n super(options);\r\n this._tsdocComment = options.docComment;\r\n }\r\n\r\n /** @override */\r\n public static onDeserializeInto(\r\n options: Partial<IApiDocumentedItemOptions>,\r\n context: DeserializerContext,\r\n jsonObject: IApiItemJson\r\n ): void {\r\n super.onDeserializeInto(options, context, jsonObject);\r\n\r\n const documentedJson: IApiDocumentedItemJson = jsonObject as IApiDocumentedItemJson;\r\n\r\n if (documentedJson.docComment) {\r\n const tsdocParser: tsdoc.TSDocParser = new tsdoc.TSDocParser(context.tsdocConfiguration);\r\n\r\n // NOTE: For now, we ignore TSDoc errors found in a serialized .api.json file.\r\n // Normally these errors would have already been reported by API Extractor during analysis.\r\n // However, they could also arise if the JSON file was edited manually, or if the file was saved\r\n // using a different release of the software that used an incompatible syntax.\r\n const parserContext: tsdoc.ParserContext = tsdocParser.parseString(documentedJson.docComment);\r\n\r\n options.docComment = parserContext.docComment;\r\n }\r\n }\r\n\r\n public get tsdocComment(): tsdoc.DocComment | undefined {\r\n return this._tsdocComment;\r\n }\r\n\r\n /** @override */\r\n public serializeInto(jsonObject: Partial<IApiDocumentedItemJson>): void {\r\n super.serializeInto(jsonObject);\r\n if (this.tsdocComment !== undefined) {\r\n jsonObject.docComment = this.tsdocComment.emitAsTsdoc();\r\n } else {\r\n jsonObject.docComment = '';\r\n }\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"ApiDocumentedItem.js","sourceRoot":"","sources":["../../src/items/ApiDocumentedItem.ts"],"names":[],"mappings":";AAAA,4FAA4F;AAC5F,2DAA2D;;;;;;;;;;;;;;;;;;;;;;AAE3D,wDAA0C;AAC1C,uCAAmE;AAenE;;;;;;;;;GASG;AACH,MAAa,iBAAkB,SAAQ,iBAAO;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;YAC7B,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;SAC/C;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;YACnC,UAAU,CAAC,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;SACzD;aAAM;YACL,UAAU,CAAC,UAAU,GAAG,EAAE,CAAC;SAC5B;IACH,CAAC;CACF;AA5CD,8CA4CC","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';\nimport { ApiItem, IApiItemOptions, IApiItemJson } from './ApiItem';\nimport { 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"]}
@@ -8,7 +8,7 @@ import { DeserializerContext } from '../model/DeserializerContext';
8
8
  *
9
9
  * @public
10
10
  */
11
- export declare const enum ApiItemKind {
11
+ export declare enum ApiItemKind {
12
12
  CallSignature = "CallSignature",
13
13
  Class = "Class",
14
14
  Constructor = "Constructor",
@@ -1 +1 @@
1
- {"version":3,"file":"ApiItem.d.ts","sourceRoot":"","sources":["../../src/items/ApiItem.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,oBAAoB,EAAE,MAAM,yDAAyD,CAAC;AAC/F,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAInE;;;;;GAKG;AACH,0BAAkB,WAAW;IAC3B,aAAa,kBAAkB;IAC/B,KAAK,UAAU;IACf,WAAW,gBAAgB;IAC3B,kBAAkB,uBAAuB;IACzC,UAAU,eAAe;IACzB,IAAI,SAAS;IACb,UAAU,eAAe;IACzB,QAAQ,aAAa;IACrB,cAAc,mBAAmB;IACjC,SAAS,cAAc;IACvB,MAAM,WAAW;IACjB,eAAe,oBAAoB;IACnC,KAAK,UAAU;IACf,SAAS,cAAc;IACvB,OAAO,YAAY;IACnB,QAAQ,aAAa;IACrB,iBAAiB,sBAAsB;IACvC,SAAS,cAAc;IACvB,QAAQ,aAAa;IACrB,IAAI,SAAS;CACd;AAED;;;GAGG;AACH,MAAM,WAAW,eAAe;CAAG;AAEnC,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,WAAW,CAAC;IAClB,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAID,eAAO,MAAM,uBAAuB,EAAE,OAAO,MAA4C,CAAC;AAE1F;;;;;;;GAOG;AACH,qBAAa,OAAO;IAClB,OAAO,CAAC,mBAAmB,CAAmC;IAC9D,OAAO,CAAC,OAAO,CAAsB;gBAElB,OAAO,EAAE,eAAe;WAI7B,WAAW,CAAC,UAAU,EAAE,YAAY,EAAE,OAAO,EAAE,mBAAmB,GAAG,OAAO;IAO1F,eAAe;WACD,iBAAiB,CAC7B,OAAO,EAAE,OAAO,CAAC,eAAe,CAAC,EACjC,OAAO,EAAE,mBAAmB,EAC5B,UAAU,EAAE,YAAY,GACvB,IAAI;IAIP,eAAe;IACR,aAAa,CAAC,UAAU,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,IAAI;IAK7D;;;OAGG;IACH,IAAW,IAAI,IAAI,WAAW,CAE7B;IAED;;;;;;;;OAQG;IACH,IAAW,kBAAkB,IAAI,oBAAoB,CAUpD;IAED;;;;;;;;;OASG;IACH,IAAW,YAAY,IAAI,MAAM,CAEhC;IAED;;;;;;;;OAQG;IACH,IAAW,WAAW,IAAI,MAAM,CAc/B;IAED;;;;;OAKG;IACH,IAAW,MAAM,IAAI,OAAO,GAAG,SAAS,CAEvC;IAED;;;;;OAKG;IACH,IAAW,OAAO,IAAI,aAAa,CAAC,OAAO,CAAC,CAE3C;IAED;;;;;;;;;OASG;IACI,iBAAiB,IAAI,aAAa,CAAC,OAAO,CAAC;IAQlD;;OAEG;IACI,YAAY,IAAI,aAAa,CAAC,OAAO,CAAC;IAS7C;;;;;;OAMG;IACI,0BAA0B,IAAI,MAAM;IAiC3C;;;OAGG;IACI,oBAAoB,IAAI,UAAU,GAAG,SAAS;IASrD,eAAe;IACR,UAAU,IAAI,MAAM;IAI3B;;;;;;;OAOG;IACI,CAAC,uBAAuB,CAAC,CAAC,MAAM,EAAE,OAAO,GAAG,SAAS,GAAG,IAAI;IAKnE;;;OAGG;IACH,SAAS,CAAC,uBAAuB,IAAI,oBAAoB;CAG1D;AAED;;;;;GAKG;AACH,MAAM,WAAW,mBAAoB,SAAQ,WAAW,CAAC,OAAO,CAAC,EAAE,YAAY,CAAC,OAAO,OAAO,CAAC;CAAG"}
1
+ {"version":3,"file":"ApiItem.d.ts","sourceRoot":"","sources":["../../src/items/ApiItem.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,oBAAoB,EAAE,MAAM,yDAAyD,CAAC;AAC/F,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAInE;;;;;GAKG;AACH,oBAAY,WAAW;IACrB,aAAa,kBAAkB;IAC/B,KAAK,UAAU;IACf,WAAW,gBAAgB;IAC3B,kBAAkB,uBAAuB;IACzC,UAAU,eAAe;IACzB,IAAI,SAAS;IACb,UAAU,eAAe;IACzB,QAAQ,aAAa;IACrB,cAAc,mBAAmB;IACjC,SAAS,cAAc;IACvB,MAAM,WAAW;IACjB,eAAe,oBAAoB;IACnC,KAAK,UAAU;IACf,SAAS,cAAc;IACvB,OAAO,YAAY;IACnB,QAAQ,aAAa;IACrB,iBAAiB,sBAAsB;IACvC,SAAS,cAAc;IACvB,QAAQ,aAAa;IACrB,IAAI,SAAS;CACd;AAED;;;GAGG;AACH,MAAM,WAAW,eAAe;CAAG;AAEnC,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,WAAW,CAAC;IAClB,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAID,eAAO,MAAM,uBAAuB,EAAE,OAAO,MAA4C,CAAC;AAE1F;;;;;;;GAOG;AACH,qBAAa,OAAO;IAClB,OAAO,CAAC,mBAAmB,CAAmC;IAC9D,OAAO,CAAC,OAAO,CAAsB;gBAElB,OAAO,EAAE,eAAe;WAI7B,WAAW,CAAC,UAAU,EAAE,YAAY,EAAE,OAAO,EAAE,mBAAmB,GAAG,OAAO;IAO1F,eAAe;WACD,iBAAiB,CAC7B,OAAO,EAAE,OAAO,CAAC,eAAe,CAAC,EACjC,OAAO,EAAE,mBAAmB,EAC5B,UAAU,EAAE,YAAY,GACvB,IAAI;IAIP,eAAe;IACR,aAAa,CAAC,UAAU,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,IAAI;IAK7D;;;OAGG;IACH,IAAW,IAAI,IAAI,WAAW,CAE7B;IAED;;;;;;;;OAQG;IACH,IAAW,kBAAkB,IAAI,oBAAoB,CAUpD;IAED;;;;;;;;;OASG;IACH,IAAW,YAAY,IAAI,MAAM,CAEhC;IAED;;;;;;;;OAQG;IACH,IAAW,WAAW,IAAI,MAAM,CAc/B;IAED;;;;;OAKG;IACH,IAAW,MAAM,IAAI,OAAO,GAAG,SAAS,CAEvC;IAED;;;;;OAKG;IACH,IAAW,OAAO,IAAI,aAAa,CAAC,OAAO,CAAC,CAE3C;IAED;;;;;;;;;OASG;IACI,iBAAiB,IAAI,aAAa,CAAC,OAAO,CAAC;IAQlD;;OAEG;IACI,YAAY,IAAI,aAAa,CAAC,OAAO,CAAC;IAS7C;;;;;;OAMG;IACI,0BAA0B,IAAI,MAAM;IAiC3C;;;OAGG;IACI,oBAAoB,IAAI,UAAU,GAAG,SAAS;IASrD,eAAe;IACR,UAAU,IAAI,MAAM;IAI3B;;;;;;;OAOG;IACI,CAAC,uBAAuB,CAAC,CAAC,MAAM,EAAE,OAAO,GAAG,SAAS,GAAG,IAAI;IAKnE;;;OAGG;IACH,SAAS,CAAC,uBAAuB,IAAI,oBAAoB;CAG1D;AAED;;;;;GAKG;AACH,MAAM,WAAW,mBAAoB,SAAQ,WAAW,CAAC,OAAO,CAAC,EAAE,YAAY,CAAC,OAAO,OAAO,CAAC;CAAG"}
@@ -2,10 +2,39 @@
2
2
  // Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license.
3
3
  // See LICENSE in the project root for license information.
4
4
  Object.defineProperty(exports, "__esModule", { value: true });
5
- exports.ApiItem = exports.apiItem_onParentChanged = void 0;
5
+ exports.ApiItem = exports.apiItem_onParentChanged = exports.ApiItemKind = void 0;
6
6
  const ApiParameterListMixin_1 = require("../mixins/ApiParameterListMixin");
7
7
  const node_core_library_1 = require("@rushstack/node-core-library");
8
8
  const ApiItemContainerMixin_1 = require("../mixins/ApiItemContainerMixin");
9
+ /**
10
+ * The type returned by the {@link ApiItem.kind} property, which can be used to easily distinguish subclasses of
11
+ * {@link ApiItem}.
12
+ *
13
+ * @public
14
+ */
15
+ var ApiItemKind;
16
+ (function (ApiItemKind) {
17
+ ApiItemKind["CallSignature"] = "CallSignature";
18
+ ApiItemKind["Class"] = "Class";
19
+ ApiItemKind["Constructor"] = "Constructor";
20
+ ApiItemKind["ConstructSignature"] = "ConstructSignature";
21
+ ApiItemKind["EntryPoint"] = "EntryPoint";
22
+ ApiItemKind["Enum"] = "Enum";
23
+ ApiItemKind["EnumMember"] = "EnumMember";
24
+ ApiItemKind["Function"] = "Function";
25
+ ApiItemKind["IndexSignature"] = "IndexSignature";
26
+ ApiItemKind["Interface"] = "Interface";
27
+ ApiItemKind["Method"] = "Method";
28
+ ApiItemKind["MethodSignature"] = "MethodSignature";
29
+ ApiItemKind["Model"] = "Model";
30
+ ApiItemKind["Namespace"] = "Namespace";
31
+ ApiItemKind["Package"] = "Package";
32
+ ApiItemKind["Property"] = "Property";
33
+ ApiItemKind["PropertySignature"] = "PropertySignature";
34
+ ApiItemKind["TypeAlias"] = "TypeAlias";
35
+ ApiItemKind["Variable"] = "Variable";
36
+ ApiItemKind["None"] = "None";
37
+ })(ApiItemKind = exports.ApiItemKind || (exports.ApiItemKind = {}));
9
38
  // PRIVATE - Allows ApiItemContainerMixin to assign the parent.
10
39
  //
11
40
  exports.apiItem_onParentChanged = Symbol('ApiItem._onAddToContainer');
@@ -88,15 +117,15 @@ class ApiItem {
88
117
  */
89
118
  get displayName() {
90
119
  switch (this.kind) {
91
- case "CallSignature" /* CallSignature */:
120
+ case ApiItemKind.CallSignature:
92
121
  return '(call)';
93
- case "Constructor" /* Constructor */:
122
+ case ApiItemKind.Constructor:
94
123
  return '(constructor)';
95
- case "ConstructSignature" /* ConstructSignature */:
124
+ case ApiItemKind.ConstructSignature:
96
125
  return '(new)';
97
- case "IndexSignature" /* IndexSignature */:
126
+ case ApiItemKind.IndexSignature:
98
127
  return '(indexer)';
99
- case "Model" /* Model */:
128
+ case ApiItemKind.Model:
100
129
  return '(model)';
101
130
  }
102
131
  return '(???)'; // All other types should inherit ApiNameMixin which will override this property
@@ -157,9 +186,9 @@ class ApiItem {
157
186
  getScopedNameWithinPackage() {
158
187
  const reversedParts = [];
159
188
  for (let current = this; current !== undefined; current = current.parent) {
160
- if (current.kind === "Model" /* Model */ ||
161
- current.kind === "Package" /* Package */ ||
162
- current.kind === "EntryPoint" /* EntryPoint */) {
189
+ if (current.kind === ApiItemKind.Model ||
190
+ current.kind === ApiItemKind.Package ||
191
+ current.kind === ApiItemKind.EntryPoint) {
163
192
  break;
164
193
  }
165
194
  if (reversedParts.length !== 0) {
@@ -167,10 +196,10 @@ class ApiItem {
167
196
  }
168
197
  else {
169
198
  switch (current.kind) {
170
- case "CallSignature" /* CallSignature */:
171
- case "ConstructSignature" /* ConstructSignature */:
172
- case "Constructor" /* Constructor */:
173
- case "IndexSignature" /* IndexSignature */:
199
+ case ApiItemKind.CallSignature:
200
+ case ApiItemKind.ConstructSignature:
201
+ case ApiItemKind.Constructor:
202
+ case ApiItemKind.IndexSignature:
174
203
  // These functional forms don't have a proper name, so we don't append the "()" suffix
175
204
  break;
176
205
  default:
@@ -189,7 +218,7 @@ class ApiItem {
189
218
  */
190
219
  getAssociatedPackage() {
191
220
  for (let current = this; current !== undefined; current = current.parent) {
192
- if (current.kind === "Package" /* Package */) {
221
+ if (current.kind === ApiItemKind.Package) {
193
222
  return current;
194
223
  }
195
224
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ApiItem.js","sourceRoot":"","sources":["../../src/items/ApiItem.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license.\r\n// See LICENSE in the project root for license information.\r\n\r\nimport { DeclarationReference } from '@microsoft/tsdoc/lib-commonjs/beta/DeclarationReference';\r\nimport { Constructor, PropertiesOf } from '../mixins/Mixin';\r\nimport { ApiPackage } from '../model/ApiPackage';\r\nimport { ApiParameterListMixin } from '../mixins/ApiParameterListMixin';\r\nimport { DeserializerContext } from '../model/DeserializerContext';\r\nimport { InternalError } from '@rushstack/node-core-library';\r\nimport { ApiItemContainerMixin } from '../mixins/ApiItemContainerMixin';\r\n\r\n/**\r\n * The type returned by the {@link ApiItem.kind} property, which can be used to easily distinguish subclasses of\r\n * {@link ApiItem}.\r\n *\r\n * @public\r\n */\r\nexport const enum ApiItemKind {\r\n CallSignature = 'CallSignature',\r\n Class = 'Class',\r\n Constructor = 'Constructor',\r\n ConstructSignature = 'ConstructSignature',\r\n EntryPoint = 'EntryPoint',\r\n Enum = 'Enum',\r\n EnumMember = 'EnumMember',\r\n Function = 'Function',\r\n IndexSignature = 'IndexSignature',\r\n Interface = 'Interface',\r\n Method = 'Method',\r\n MethodSignature = 'MethodSignature',\r\n Model = 'Model',\r\n Namespace = 'Namespace',\r\n Package = 'Package',\r\n Property = 'Property',\r\n PropertySignature = 'PropertySignature',\r\n TypeAlias = 'TypeAlias',\r\n Variable = 'Variable',\r\n None = 'None'\r\n}\r\n\r\n/**\r\n * Constructor options for {@link ApiItem}.\r\n * @public\r\n */\r\nexport interface IApiItemOptions {}\r\n\r\nexport interface IApiItemJson {\r\n kind: ApiItemKind;\r\n canonicalReference: string;\r\n}\r\n\r\n// PRIVATE - Allows ApiItemContainerMixin to assign the parent.\r\n//\r\nexport const apiItem_onParentChanged: unique symbol = Symbol('ApiItem._onAddToContainer');\r\n\r\n/**\r\n * The abstract base class for all members of an `ApiModel` object.\r\n *\r\n * @remarks\r\n * This is part of the {@link ApiModel} hierarchy of classes, which are serializable representations of\r\n * API declarations.\r\n * @public\r\n */\r\nexport class ApiItem {\r\n private _canonicalReference: DeclarationReference | undefined;\r\n private _parent: ApiItem | undefined;\r\n\r\n public constructor(options: IApiItemOptions) {\r\n // (\"options\" is not used here, but part of the inheritance pattern)\r\n }\r\n\r\n public static deserialize(jsonObject: IApiItemJson, context: DeserializerContext): ApiItem {\r\n // The Deserializer class is coupled with a ton of other classes, so we delay loading it\r\n // to avoid ES5 circular imports.\r\n const deserializerModule: typeof import('../model/Deserializer') = require('../model/Deserializer');\r\n return deserializerModule.Deserializer.deserialize(context, jsonObject);\r\n }\r\n\r\n /** @virtual */\r\n public static onDeserializeInto(\r\n options: Partial<IApiItemOptions>,\r\n context: DeserializerContext,\r\n jsonObject: IApiItemJson\r\n ): void {\r\n // (implemented by subclasses)\r\n }\r\n\r\n /** @virtual */\r\n public serializeInto(jsonObject: Partial<IApiItemJson>): void {\r\n jsonObject.kind = this.kind;\r\n jsonObject.canonicalReference = this.canonicalReference.toString();\r\n }\r\n\r\n /**\r\n * Identifies the subclass of the `ApiItem` base class.\r\n * @virtual\r\n */\r\n public get kind(): ApiItemKind {\r\n throw new Error('ApiItem.kind was not implemented by the child class');\r\n }\r\n\r\n /**\r\n * Warning: This API is used internally by API extractor but is not yet ready for general usage.\r\n *\r\n * @remarks\r\n *\r\n * Returns a `DeclarationReference` object using the experimental new declaration reference notation.\r\n *\r\n * @beta\r\n */\r\n public get canonicalReference(): DeclarationReference {\r\n if (!this._canonicalReference) {\r\n try {\r\n this._canonicalReference = this.buildCanonicalReference();\r\n } catch (e) {\r\n const name: string = this.getScopedNameWithinPackage() || this.displayName;\r\n throw new InternalError(`Error building canonical reference for ${name}:\\n` + (e as Error).message);\r\n }\r\n }\r\n return this._canonicalReference;\r\n }\r\n\r\n /**\r\n * Returns a string key that can be used to efficiently retrieve an `ApiItem` from an `ApiItemContainerMixin`.\r\n * The key is unique within the container. Its format is undocumented and may change at any time.\r\n *\r\n * @remarks\r\n * Use the `getContainerKey()` static member to construct the key. Each subclass has a different implementation\r\n * of this function, according to the aspects that are important for identifying it.\r\n *\r\n * @virtual\r\n */\r\n public get containerKey(): string {\r\n throw new InternalError('ApiItem.containerKey was not implemented by the child class');\r\n }\r\n\r\n /**\r\n * Returns a name for this object that can be used in diagnostic messages, for example.\r\n *\r\n * @remarks\r\n * For an object that inherits ApiNameMixin, this will return the declared name (e.g. the name of a TypeScript\r\n * function). Otherwise, it will return a string such as \"(call signature)\" or \"(model)\".\r\n *\r\n * @virtual\r\n */\r\n public get displayName(): string {\r\n switch (this.kind) {\r\n case ApiItemKind.CallSignature:\r\n return '(call)';\r\n case ApiItemKind.Constructor:\r\n return '(constructor)';\r\n case ApiItemKind.ConstructSignature:\r\n return '(new)';\r\n case ApiItemKind.IndexSignature:\r\n return '(indexer)';\r\n case ApiItemKind.Model:\r\n return '(model)';\r\n }\r\n return '(???)'; // All other types should inherit ApiNameMixin which will override this property\r\n }\r\n\r\n /**\r\n * If this item was added to a ApiItemContainerMixin item, then this returns the container item.\r\n * If this is an Parameter that was added to a method or function, then this returns the function item.\r\n * Otherwise, it returns undefined.\r\n * @virtual\r\n */\r\n public get parent(): ApiItem | undefined {\r\n return this._parent;\r\n }\r\n\r\n /**\r\n * This property supports a visitor pattern for walking the tree.\r\n * For items with ApiItemContainerMixin, it returns the contained items, sorted alphabetically.\r\n * Otherwise it returns an empty array.\r\n * @virtual\r\n */\r\n public get members(): ReadonlyArray<ApiItem> {\r\n return [];\r\n }\r\n\r\n /**\r\n * If this item has a name (i.e. extends `ApiNameMixin`), then return all items that have the same parent\r\n * and the same name. Otherwise, return all items that have the same parent and the same `ApiItemKind`.\r\n *\r\n * @remarks\r\n * Examples: For a function, this would return all overloads for the function. For a constructor, this would\r\n * return all overloads for the constructor. For a merged declaration (e.g. a `namespace` and `enum` with the\r\n * same name), this would return both declarations. If this item does not have a parent, or if it is the only\r\n * item of its name/kind, then the result is an array containing only this item.\r\n */\r\n public getMergedSiblings(): ReadonlyArray<ApiItem> {\r\n const parent: ApiItem | undefined = this._parent;\r\n if (parent && ApiItemContainerMixin.isBaseClassOf(parent)) {\r\n return parent._getMergedSiblingsForMember(this);\r\n }\r\n return [];\r\n }\r\n\r\n /**\r\n * Returns the chain of ancestors, starting from the root of the tree, and ending with the this item.\r\n */\r\n public getHierarchy(): ReadonlyArray<ApiItem> {\r\n const hierarchy: ApiItem[] = [];\r\n for (let current: ApiItem | undefined = this; current !== undefined; current = current.parent) {\r\n hierarchy.push(current);\r\n }\r\n hierarchy.reverse();\r\n return hierarchy;\r\n }\r\n\r\n /**\r\n * This returns a scoped name such as `\"Namespace1.Namespace2.MyClass.myMember()\"`. It does not include the\r\n * package name or entry point.\r\n *\r\n * @remarks\r\n * If called on an ApiEntrypoint, ApiPackage, or ApiModel item, the result is an empty string.\r\n */\r\n public getScopedNameWithinPackage(): string {\r\n const reversedParts: string[] = [];\r\n\r\n for (let current: ApiItem | undefined = this; current !== undefined; current = current.parent) {\r\n if (\r\n current.kind === ApiItemKind.Model ||\r\n current.kind === ApiItemKind.Package ||\r\n current.kind === ApiItemKind.EntryPoint\r\n ) {\r\n break;\r\n }\r\n if (reversedParts.length !== 0) {\r\n reversedParts.push('.');\r\n } else {\r\n switch (current.kind) {\r\n case ApiItemKind.CallSignature:\r\n case ApiItemKind.ConstructSignature:\r\n case ApiItemKind.Constructor:\r\n case ApiItemKind.IndexSignature:\r\n // These functional forms don't have a proper name, so we don't append the \"()\" suffix\r\n break;\r\n default:\r\n if (ApiParameterListMixin.isBaseClassOf(current)) {\r\n reversedParts.push('()');\r\n }\r\n }\r\n }\r\n reversedParts.push(current.displayName);\r\n }\r\n\r\n return reversedParts.reverse().join('');\r\n }\r\n\r\n /**\r\n * If this item is an ApiPackage or has an ApiPackage as one of its parents, then that object is returned.\r\n * Otherwise undefined is returned.\r\n */\r\n public getAssociatedPackage(): ApiPackage | undefined {\r\n for (let current: ApiItem | undefined = this; current !== undefined; current = current.parent) {\r\n if (current.kind === ApiItemKind.Package) {\r\n return current as ApiPackage;\r\n }\r\n }\r\n return undefined;\r\n }\r\n\r\n /** @virtual */\r\n public getSortKey(): string {\r\n return this.containerKey;\r\n }\r\n\r\n /**\r\n * PRIVATE\r\n *\r\n * @privateRemarks\r\n * Allows ApiItemContainerMixin to assign the parent when the item is added to a container.\r\n *\r\n * @internal\r\n */\r\n public [apiItem_onParentChanged](parent: ApiItem | undefined): void {\r\n this._parent = parent;\r\n this._canonicalReference = undefined;\r\n }\r\n\r\n /**\r\n * Builds the cached object used by the `canonicalReference` property.\r\n * @virtual\r\n */\r\n protected buildCanonicalReference(): DeclarationReference {\r\n throw new InternalError('ApiItem.canonicalReference was not implemented by the child class');\r\n }\r\n}\r\n\r\n/**\r\n * This abstraction is used by the mixin pattern.\r\n * It describes a class type that inherits from {@link ApiItem}.\r\n *\r\n * @public\r\n */\r\nexport interface IApiItemConstructor extends Constructor<ApiItem>, PropertiesOf<typeof ApiItem> {}\r\n"]}
1
+ {"version":3,"file":"ApiItem.js","sourceRoot":"","sources":["../../src/items/ApiItem.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';\nimport { Constructor, PropertiesOf } from '../mixins/Mixin';\nimport { ApiPackage } from '../model/ApiPackage';\nimport { ApiParameterListMixin } from '../mixins/ApiParameterListMixin';\nimport { DeserializerContext } from '../model/DeserializerContext';\nimport { InternalError } from '@rushstack/node-core-library';\nimport { ApiItemContainerMixin } from '../mixins/ApiItemContainerMixin';\n\n/**\n * The type returned by the {@link ApiItem.kind} property, which can be used to easily distinguish subclasses of\n * {@link ApiItem}.\n *\n * @public\n */\nexport enum ApiItemKind {\n CallSignature = 'CallSignature',\n Class = 'Class',\n Constructor = 'Constructor',\n ConstructSignature = 'ConstructSignature',\n EntryPoint = 'EntryPoint',\n Enum = 'Enum',\n EnumMember = 'EnumMember',\n Function = 'Function',\n IndexSignature = 'IndexSignature',\n Interface = 'Interface',\n Method = 'Method',\n MethodSignature = 'MethodSignature',\n Model = 'Model',\n Namespace = 'Namespace',\n Package = 'Package',\n Property = 'Property',\n PropertySignature = 'PropertySignature',\n TypeAlias = 'TypeAlias',\n Variable = 'Variable',\n None = 'None'\n}\n\n/**\n * Constructor options for {@link ApiItem}.\n * @public\n */\nexport interface IApiItemOptions {}\n\nexport interface IApiItemJson {\n kind: ApiItemKind;\n canonicalReference: string;\n}\n\n// PRIVATE - Allows ApiItemContainerMixin to assign the parent.\n//\nexport const apiItem_onParentChanged: unique symbol = Symbol('ApiItem._onAddToContainer');\n\n/**\n * The abstract base class for all members of an `ApiModel` object.\n *\n * @remarks\n * This is part of the {@link ApiModel} hierarchy of classes, which are serializable representations of\n * API declarations.\n * @public\n */\nexport class ApiItem {\n private _canonicalReference: DeclarationReference | undefined;\n private _parent: ApiItem | undefined;\n\n public constructor(options: IApiItemOptions) {\n // (\"options\" is not used here, but part of the inheritance pattern)\n }\n\n public static deserialize(jsonObject: IApiItemJson, context: DeserializerContext): ApiItem {\n // The Deserializer class is coupled with a ton of other classes, so we delay loading it\n // to avoid ES5 circular imports.\n const deserializerModule: typeof import('../model/Deserializer') = require('../model/Deserializer');\n return deserializerModule.Deserializer.deserialize(context, jsonObject);\n }\n\n /** @virtual */\n public static onDeserializeInto(\n options: Partial<IApiItemOptions>,\n context: DeserializerContext,\n jsonObject: IApiItemJson\n ): void {\n // (implemented by subclasses)\n }\n\n /** @virtual */\n public serializeInto(jsonObject: Partial<IApiItemJson>): void {\n jsonObject.kind = this.kind;\n jsonObject.canonicalReference = this.canonicalReference.toString();\n }\n\n /**\n * Identifies the subclass of the `ApiItem` base class.\n * @virtual\n */\n public get kind(): ApiItemKind {\n throw new Error('ApiItem.kind was not implemented by the child class');\n }\n\n /**\n * Warning: This API is used internally by API extractor but is not yet ready for general usage.\n *\n * @remarks\n *\n * Returns a `DeclarationReference` object using the experimental new declaration reference notation.\n *\n * @beta\n */\n public get canonicalReference(): DeclarationReference {\n if (!this._canonicalReference) {\n try {\n this._canonicalReference = this.buildCanonicalReference();\n } catch (e) {\n const name: string = this.getScopedNameWithinPackage() || this.displayName;\n throw new InternalError(`Error building canonical reference for ${name}:\\n` + (e as Error).message);\n }\n }\n return this._canonicalReference;\n }\n\n /**\n * Returns a string key that can be used to efficiently retrieve an `ApiItem` from an `ApiItemContainerMixin`.\n * The key is unique within the container. Its format is undocumented and may change at any time.\n *\n * @remarks\n * Use the `getContainerKey()` static member to construct the key. Each subclass has a different implementation\n * of this function, according to the aspects that are important for identifying it.\n *\n * @virtual\n */\n public get containerKey(): string {\n throw new InternalError('ApiItem.containerKey was not implemented by the child class');\n }\n\n /**\n * Returns a name for this object that can be used in diagnostic messages, for example.\n *\n * @remarks\n * For an object that inherits ApiNameMixin, this will return the declared name (e.g. the name of a TypeScript\n * function). Otherwise, it will return a string such as \"(call signature)\" or \"(model)\".\n *\n * @virtual\n */\n public get displayName(): string {\n switch (this.kind) {\n case ApiItemKind.CallSignature:\n return '(call)';\n case ApiItemKind.Constructor:\n return '(constructor)';\n case ApiItemKind.ConstructSignature:\n return '(new)';\n case ApiItemKind.IndexSignature:\n return '(indexer)';\n case ApiItemKind.Model:\n return '(model)';\n }\n return '(???)'; // All other types should inherit ApiNameMixin which will override this property\n }\n\n /**\n * If this item was added to a ApiItemContainerMixin item, then this returns the container item.\n * If this is an Parameter that was added to a method or function, then this returns the function item.\n * Otherwise, it returns undefined.\n * @virtual\n */\n public get parent(): ApiItem | undefined {\n return this._parent;\n }\n\n /**\n * This property supports a visitor pattern for walking the tree.\n * For items with ApiItemContainerMixin, it returns the contained items, sorted alphabetically.\n * Otherwise it returns an empty array.\n * @virtual\n */\n public get members(): ReadonlyArray<ApiItem> {\n return [];\n }\n\n /**\n * If this item has a name (i.e. extends `ApiNameMixin`), then return all items that have the same parent\n * and the same name. Otherwise, return all items that have the same parent and the same `ApiItemKind`.\n *\n * @remarks\n * Examples: For a function, this would return all overloads for the function. For a constructor, this would\n * return all overloads for the constructor. For a merged declaration (e.g. a `namespace` and `enum` with the\n * same name), this would return both declarations. If this item does not have a parent, or if it is the only\n * item of its name/kind, then the result is an array containing only this item.\n */\n public getMergedSiblings(): ReadonlyArray<ApiItem> {\n const parent: ApiItem | undefined = this._parent;\n if (parent && ApiItemContainerMixin.isBaseClassOf(parent)) {\n return parent._getMergedSiblingsForMember(this);\n }\n return [];\n }\n\n /**\n * Returns the chain of ancestors, starting from the root of the tree, and ending with the this item.\n */\n public getHierarchy(): ReadonlyArray<ApiItem> {\n const hierarchy: ApiItem[] = [];\n for (let current: ApiItem | undefined = this; current !== undefined; current = current.parent) {\n hierarchy.push(current);\n }\n hierarchy.reverse();\n return hierarchy;\n }\n\n /**\n * This returns a scoped name such as `\"Namespace1.Namespace2.MyClass.myMember()\"`. It does not include the\n * package name or entry point.\n *\n * @remarks\n * If called on an ApiEntrypoint, ApiPackage, or ApiModel item, the result is an empty string.\n */\n public getScopedNameWithinPackage(): string {\n const reversedParts: string[] = [];\n\n for (let current: ApiItem | undefined = this; current !== undefined; current = current.parent) {\n if (\n current.kind === ApiItemKind.Model ||\n current.kind === ApiItemKind.Package ||\n current.kind === ApiItemKind.EntryPoint\n ) {\n break;\n }\n if (reversedParts.length !== 0) {\n reversedParts.push('.');\n } else {\n switch (current.kind) {\n case ApiItemKind.CallSignature:\n case ApiItemKind.ConstructSignature:\n case ApiItemKind.Constructor:\n case ApiItemKind.IndexSignature:\n // These functional forms don't have a proper name, so we don't append the \"()\" suffix\n break;\n default:\n if (ApiParameterListMixin.isBaseClassOf(current)) {\n reversedParts.push('()');\n }\n }\n }\n reversedParts.push(current.displayName);\n }\n\n return reversedParts.reverse().join('');\n }\n\n /**\n * If this item is an ApiPackage or has an ApiPackage as one of its parents, then that object is returned.\n * Otherwise undefined is returned.\n */\n public getAssociatedPackage(): ApiPackage | undefined {\n for (let current: ApiItem | undefined = this; current !== undefined; current = current.parent) {\n if (current.kind === ApiItemKind.Package) {\n return current as ApiPackage;\n }\n }\n return undefined;\n }\n\n /** @virtual */\n public getSortKey(): string {\n return this.containerKey;\n }\n\n /**\n * PRIVATE\n *\n * @privateRemarks\n * Allows ApiItemContainerMixin to assign the parent when the item is added to a container.\n *\n * @internal\n */\n public [apiItem_onParentChanged](parent: ApiItem | undefined): void {\n this._parent = parent;\n this._canonicalReference = undefined;\n }\n\n /**\n * Builds the cached object used by the `canonicalReference` property.\n * @virtual\n */\n protected buildCanonicalReference(): DeclarationReference {\n throw new InternalError('ApiItem.canonicalReference was not implemented by the child class');\n }\n}\n\n/**\n * This abstraction is used by the mixin pattern.\n * It describes a class type that inherits from {@link ApiItem}.\n *\n * @public\n */\nexport interface IApiItemConstructor extends Constructor<ApiItem>, PropertiesOf<typeof ApiItem> {}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"ApiPropertyItem.js","sourceRoot":"","sources":["../../src/items/ApiPropertyItem.ts"],"names":[],"mappings":";AAAA,4FAA4F;AAC5F,2DAA2D;;;AAG3D,8DAA0G;AAC1G,qEAA8F;AAC9F,yDAA4E;AAE5E,iEAAwF;AAkBxF;;;;GAIG;AACH,MAAa,eAAgB,SAAQ,IAAA,2BAAY,EAAC,IAAA,uCAAkB,EAAC,IAAA,mCAAgB,EAAC,iCAAe,CAAC,CAAC,CAAC;IAMtG,YAAmB,OAAgC;QACjD,KAAK,CAAC,OAAO,CAAC,CAAC;QAEf,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;IAC/E,CAAC;IAED,gBAAgB;IACT,MAAM,CAAC,iBAAiB,CAC7B,OAAyC,EACzC,OAA4B,EAC5B,UAAgC;QAEhC,KAAK,CAAC,iBAAiB,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;QAEtD,OAAO,CAAC,sBAAsB,GAAG,UAAU,CAAC,sBAAsB,CAAC;IACrE,CAAC;IAED;;;;;;;;;OASG;IACH,IAAW,eAAe;QACxB,IAAI,IAAI,CAAC,YAAY,EAAE;YACrB,OAAO,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,eAAe,EAAE,CAAC;SAC3D;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,gBAAgB;IACT,aAAa,CAAC,UAAyC;QAC5D,KAAK,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QAEhC,UAAU,CAAC,sBAAsB,GAAG,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC;IAC1E,CAAC;CACF;AA9CD,0CA8CC","sourcesContent":["// Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license.\r\n// See LICENSE in the project root for license information.\r\n\r\nimport { Excerpt, IExcerptTokenRange } from '../mixins/Excerpt';\r\nimport { IApiDeclaredItemOptions, ApiDeclaredItem, IApiDeclaredItemJson } from '../items/ApiDeclaredItem';\r\nimport { ApiReleaseTagMixin, IApiReleaseTagMixinOptions } from '../mixins/ApiReleaseTagMixin';\r\nimport { IApiNameMixinOptions, ApiNameMixin } from '../mixins/ApiNameMixin';\r\nimport { DeserializerContext } from '../model/DeserializerContext';\r\nimport { ApiOptionalMixin, IApiOptionalMixinOptions } from '../mixins/ApiOptionalMixin';\r\n\r\n/**\r\n * Constructor options for {@link ApiPropertyItem}.\r\n * @public\r\n */\r\nexport interface IApiPropertyItemOptions\r\n extends IApiNameMixinOptions,\r\n IApiReleaseTagMixinOptions,\r\n IApiOptionalMixinOptions,\r\n IApiDeclaredItemOptions {\r\n propertyTypeTokenRange: IExcerptTokenRange;\r\n}\r\n\r\nexport interface IApiPropertyItemJson extends IApiDeclaredItemJson {\r\n propertyTypeTokenRange: IExcerptTokenRange;\r\n}\r\n\r\n/**\r\n * The abstract base class for {@link ApiProperty} and {@link ApiPropertySignature}.\r\n *\r\n * @public\r\n */\r\nexport class ApiPropertyItem extends ApiNameMixin(ApiReleaseTagMixin(ApiOptionalMixin(ApiDeclaredItem))) {\r\n /**\r\n * An {@link Excerpt} that describes the type of the property.\r\n */\r\n public readonly propertyTypeExcerpt: Excerpt;\r\n\r\n public constructor(options: IApiPropertyItemOptions) {\r\n super(options);\r\n\r\n this.propertyTypeExcerpt = this.buildExcerpt(options.propertyTypeTokenRange);\r\n }\r\n\r\n /** @override */\r\n public static onDeserializeInto(\r\n options: Partial<IApiPropertyItemOptions>,\r\n context: DeserializerContext,\r\n jsonObject: IApiPropertyItemJson\r\n ): void {\r\n super.onDeserializeInto(options, context, jsonObject);\r\n\r\n options.propertyTypeTokenRange = jsonObject.propertyTypeTokenRange;\r\n }\r\n\r\n /**\r\n * Returns true if this property should be documented as an event.\r\n *\r\n * @remarks\r\n * The `@eventProperty` TSDoc modifier can be added to readonly properties to indicate that they return an\r\n * event object that event handlers can be attached to. The event-handling API is implementation-defined, but\r\n * typically the return type would be a class with members such as `addHandler()` and `removeHandler()`.\r\n * The documentation should display such properties under an \"Events\" heading instead of the\r\n * usual \"Properties\" heading.\r\n */\r\n public get isEventProperty(): boolean {\r\n if (this.tsdocComment) {\r\n return this.tsdocComment.modifierTagSet.isEventProperty();\r\n }\r\n return false;\r\n }\r\n\r\n /** @override */\r\n public serializeInto(jsonObject: Partial<IApiPropertyItemJson>): void {\r\n super.serializeInto(jsonObject);\r\n\r\n jsonObject.propertyTypeTokenRange = this.propertyTypeExcerpt.tokenRange;\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"ApiPropertyItem.js","sourceRoot":"","sources":["../../src/items/ApiPropertyItem.ts"],"names":[],"mappings":";AAAA,4FAA4F;AAC5F,2DAA2D;;;AAG3D,8DAA0G;AAC1G,qEAA8F;AAC9F,yDAA4E;AAE5E,iEAAwF;AAkBxF;;;;GAIG;AACH,MAAa,eAAgB,SAAQ,IAAA,2BAAY,EAAC,IAAA,uCAAkB,EAAC,IAAA,mCAAgB,EAAC,iCAAe,CAAC,CAAC,CAAC;IAMtG,YAAmB,OAAgC;QACjD,KAAK,CAAC,OAAO,CAAC,CAAC;QAEf,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;IAC/E,CAAC;IAED,gBAAgB;IACT,MAAM,CAAC,iBAAiB,CAC7B,OAAyC,EACzC,OAA4B,EAC5B,UAAgC;QAEhC,KAAK,CAAC,iBAAiB,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;QAEtD,OAAO,CAAC,sBAAsB,GAAG,UAAU,CAAC,sBAAsB,CAAC;IACrE,CAAC;IAED;;;;;;;;;OASG;IACH,IAAW,eAAe;QACxB,IAAI,IAAI,CAAC,YAAY,EAAE;YACrB,OAAO,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,eAAe,EAAE,CAAC;SAC3D;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,gBAAgB;IACT,aAAa,CAAC,UAAyC;QAC5D,KAAK,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QAEhC,UAAU,CAAC,sBAAsB,GAAG,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC;IAC1E,CAAC;CACF;AA9CD,0CA8CC","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 { Excerpt, IExcerptTokenRange } from '../mixins/Excerpt';\nimport { IApiDeclaredItemOptions, ApiDeclaredItem, IApiDeclaredItemJson } from '../items/ApiDeclaredItem';\nimport { ApiReleaseTagMixin, IApiReleaseTagMixinOptions } from '../mixins/ApiReleaseTagMixin';\nimport { IApiNameMixinOptions, ApiNameMixin } from '../mixins/ApiNameMixin';\nimport { DeserializerContext } from '../model/DeserializerContext';\nimport { ApiOptionalMixin, IApiOptionalMixinOptions } from '../mixins/ApiOptionalMixin';\n\n/**\n * Constructor options for {@link ApiPropertyItem}.\n * @public\n */\nexport interface IApiPropertyItemOptions\n extends IApiNameMixinOptions,\n IApiReleaseTagMixinOptions,\n IApiOptionalMixinOptions,\n IApiDeclaredItemOptions {\n propertyTypeTokenRange: IExcerptTokenRange;\n}\n\nexport interface IApiPropertyItemJson extends IApiDeclaredItemJson {\n propertyTypeTokenRange: IExcerptTokenRange;\n}\n\n/**\n * The abstract base class for {@link ApiProperty} and {@link ApiPropertySignature}.\n *\n * @public\n */\nexport class ApiPropertyItem extends ApiNameMixin(ApiReleaseTagMixin(ApiOptionalMixin(ApiDeclaredItem))) {\n /**\n * An {@link Excerpt} that describes the type of the property.\n */\n public readonly propertyTypeExcerpt: Excerpt;\n\n public constructor(options: IApiPropertyItemOptions) {\n super(options);\n\n this.propertyTypeExcerpt = this.buildExcerpt(options.propertyTypeTokenRange);\n }\n\n /** @override */\n public static onDeserializeInto(\n options: Partial<IApiPropertyItemOptions>,\n context: DeserializerContext,\n jsonObject: IApiPropertyItemJson\n ): void {\n super.onDeserializeInto(options, context, jsonObject);\n\n options.propertyTypeTokenRange = jsonObject.propertyTypeTokenRange;\n }\n\n /**\n * Returns true if this property should be documented as an event.\n *\n * @remarks\n * The `@eventProperty` TSDoc modifier can be added to readonly properties to indicate that they return an\n * event object that event handlers can be attached to. The event-handling API is implementation-defined, but\n * typically the return type would be a class with members such as `addHandler()` and `removeHandler()`.\n * The documentation should display such properties under an \"Events\" heading instead of the\n * usual \"Properties\" heading.\n */\n public get isEventProperty(): boolean {\n if (this.tsdocComment) {\n return this.tsdocComment.modifierTagSet.isEventProperty();\n }\n return false;\n }\n\n /** @override */\n public serializeInto(jsonObject: Partial<IApiPropertyItemJson>): void {\n super.serializeInto(jsonObject);\n\n jsonObject.propertyTypeTokenRange = this.propertyTypeExcerpt.tokenRange;\n }\n}\n"]}