Skip to content

Commit faca2f4

Browse files
authored
Filter out inherited non-overridden members (#126)
* add tests for inherited members * filter out inherited non-overridden members and fix failing test
1 parent 542d3c5 commit faca2f4

File tree

4 files changed

+42
-2
lines changed

4 files changed

+42
-2
lines changed

src/publish.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@ export function publish(data: TDocletDb, opts: ITemplateConfig)
1313
// remove undocumented stuff.
1414
data({ undocumented: true }).remove();
1515

16-
// get the doc list
17-
const docs = data().get();
16+
// get the doc list and filter out inherited non-overridden members
17+
const docs = data().get().filter(d => !d.inherited || d.overrides);
1818

1919
setVerbose(!!opts.verbose);
2020

src/typings/jsdoc.d.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,8 @@ declare interface IDocletBase {
8888
inherits?: string;
8989
inherited?: boolean;
9090
optional?: boolean;
91+
override?: boolean;
92+
overrides?: string;
9193
}
9294

9395
/**

test/expected/class_all.d.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,16 @@ declare class Stuff {
88
doStuff(): void;
99
}
1010

11+
declare class BaseClass {
12+
baseFunc(): void;
13+
baseFuncOverridden(): void;
14+
}
15+
16+
declare class DerivedClass extends BaseClass {
17+
derivedFunc(): void;
18+
baseFuncOverridden(): void;
19+
}
20+
1121
declare class Things {
1222
doThings(): void;
1323
foobar1?(): void;

test/fixtures/class_all.js

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,34 @@ class Stuff {
2727
}
2828
}
2929

30+
/**
31+
*
32+
*/
33+
class BaseClass {
34+
/**
35+
*
36+
*/
37+
baseFunc() {}
38+
/**
39+
*
40+
*/
41+
baseFuncOverridden() {}
42+
}
43+
44+
/**
45+
* @extends BaseClass
46+
*/
47+
class DerivedClass extends BaseClass {
48+
/**
49+
*
50+
*/
51+
derivedFunc() {}
52+
/**
53+
*
54+
*/
55+
baseFuncOverridden() {}
56+
}
57+
3058
/**
3159
*
3260
*/

0 commit comments

Comments
 (0)