Skip to content

Commit aaf4d13

Browse files
committed
Fix how buildCanonicalReference() handles unnamed declarations
1 parent 6e515f4 commit aaf4d13

6 files changed

Lines changed: 27 additions & 15 deletions

File tree

apps/api-extractor-model/src/model/ApiCallSignature.ts

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -73,8 +73,11 @@ export class ApiCallSignature extends ApiTypeParameterListMixin(ApiParameterList
7373

7474
/** @beta @override */
7575
public buildCanonicalReference(): DeclarationReference {
76-
return (this.parent ? this.parent.canonicalReference : DeclarationReference.empty())
77-
.addNavigationStep(Navigation.Members, '')
76+
const parent: DeclarationReference = this.parent
77+
? this.parent.canonicalReference
78+
// .withMeaning() requires some kind of component
79+
: DeclarationReference.empty().addNavigationStep(Navigation.Members, '(parent)');
80+
return parent
7881
.withMeaning(Meaning.Signature)
7982
.withOverloadIndex(this.overloadIndex);
8083
}

apps/api-extractor-model/src/model/ApiConstructSignature.ts

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -86,8 +86,11 @@ export class ApiConstructSignature extends ApiTypeParameterListMixin(ApiParamete
8686

8787
/** @beta @override */
8888
public buildCanonicalReference(): DeclarationReference {
89-
return (this.parent ? this.parent.canonicalReference : DeclarationReference.empty())
90-
.addNavigationStep(Navigation.Members, '')
89+
const parent: DeclarationReference = this.parent
90+
? this.parent.canonicalReference
91+
// .withMeaning() requires some kind of component
92+
: DeclarationReference.empty().addNavigationStep(Navigation.Members, '(parent)');
93+
return parent
9194
.withMeaning(Meaning.Signature)
9295
.withOverloadIndex(this.overloadIndex);
9396
}

apps/api-extractor-model/src/model/ApiConstructor.ts

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,8 +66,11 @@ export class ApiConstructor extends ApiParameterListMixin(ApiReleaseTagMixin(Api
6666

6767
/** @beta @override */
6868
public buildCanonicalReference(): DeclarationReference {
69-
return (this.parent ? this.parent.canonicalReference : DeclarationReference.empty())
70-
.addNavigationStep(Navigation.Members, '')
69+
const parent: DeclarationReference = this.parent
70+
? this.parent.canonicalReference
71+
// .withMeaning() requires some kind of component
72+
: DeclarationReference.empty().addNavigationStep(Navigation.Members, '(parent)');
73+
return parent
7174
.withMeaning(Meaning.Constructor)
7275
.withOverloadIndex(this.overloadIndex);
7376
}

apps/api-extractor-model/src/model/ApiIndexSignature.ts

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -63,8 +63,11 @@ export class ApiIndexSignature extends ApiParameterListMixin(ApiReleaseTagMixin(
6363

6464
/** @beta @override */
6565
public buildCanonicalReference(): DeclarationReference {
66-
return (this.parent ? this.parent.canonicalReference : DeclarationReference.empty())
67-
.addNavigationStep(Navigation.Members, '')
66+
const parent: DeclarationReference = this.parent
67+
? this.parent.canonicalReference
68+
// .withMeaning() requires some kind of component
69+
: DeclarationReference.empty().addNavigationStep(Navigation.Members, '(parent)');
70+
return parent
6871
.withMeaning(Meaning.Signature)
6972
.withOverloadIndex(this.overloadIndex);
7073
}

build-tests/api-documenter-test/etc/api-documenter-test.api.json

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@
6363
"members": [
6464
{
6565
"kind": "Constructor",
66-
"canonicalReference": "api-documenter-test!DocBaseClass#:constructor(1)",
66+
"canonicalReference": "api-documenter-test!DocBaseClass:constructor(1)",
6767
"docComment": "/**\n * The simple constructor for `DocBaseClass`\n */\n",
6868
"excerptTokens": [
6969
{
@@ -77,7 +77,7 @@
7777
},
7878
{
7979
"kind": "Constructor",
80-
"canonicalReference": "api-documenter-test!DocBaseClass#:constructor(2)",
80+
"canonicalReference": "api-documenter-test!DocBaseClass:constructor(2)",
8181
"docComment": "/**\n * The overloaded constructor for `DocBaseClass`\n */\n",
8282
"excerptTokens": [
8383
{
@@ -971,7 +971,7 @@
971971
"members": [
972972
{
973973
"kind": "CallSignature",
974-
"canonicalReference": "api-documenter-test!IDocInterface3#:signature(1)",
974+
"canonicalReference": "api-documenter-test!IDocInterface3:signature(1)",
975975
"docComment": "/**\n * Call signature\n *\n * @param x - the parameter\n */\n",
976976
"excerptTokens": [
977977
{
@@ -1021,7 +1021,7 @@
10211021
},
10221022
{
10231023
"kind": "ConstructSignature",
1024-
"canonicalReference": "api-documenter-test!IDocInterface3#:signature(1)",
1024+
"canonicalReference": "api-documenter-test!IDocInterface3:signature(1)",
10251025
"docComment": "/**\n * Construct signature\n */\n",
10261026
"excerptTokens": [
10271027
{
@@ -1047,7 +1047,7 @@
10471047
},
10481048
{
10491049
"kind": "IndexSignature",
1050-
"canonicalReference": "api-documenter-test!IDocInterface3#:signature(1)",
1050+
"canonicalReference": "api-documenter-test!IDocInterface3:signature(1)",
10511051
"docComment": "/**\n * Indexer\n *\n * @param x - the parameter\n */\n",
10521052
"excerptTokens": [
10531053
{

build-tests/api-extractor-scenarios/etc/test-outputs/typeParameters/api-extractor-scenarios.api.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -417,7 +417,7 @@
417417
"members": [
418418
{
419419
"kind": "CallSignature",
420-
"canonicalReference": "api-extractor-scenarios!InterfaceWithGenericCallSignature#:signature(1)",
420+
"canonicalReference": "api-extractor-scenarios!InterfaceWithGenericCallSignature:signature(1)",
421421
"docComment": "",
422422
"excerptTokens": [
423423
{
@@ -488,7 +488,7 @@
488488
"members": [
489489
{
490490
"kind": "ConstructSignature",
491-
"canonicalReference": "api-extractor-scenarios!InterfaceWithGenericConstructSignature#:signature(1)",
491+
"canonicalReference": "api-extractor-scenarios!InterfaceWithGenericConstructSignature:signature(1)",
492492
"docComment": "",
493493
"excerptTokens": [
494494
{

0 commit comments

Comments
 (0)