Skip to content

Commit bcfc489

Browse files
committed
chore: Simplify typing
1 parent 292669d commit bcfc489

2 files changed

Lines changed: 18 additions & 21 deletions

File tree

src/dependency.ts

Lines changed: 18 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,45 +1,43 @@
11
/* eslint-disable max-classes-per-file */
2-
3-
import { ReplaceSource } from "webpack-sources";
4-
5-
// eslint-disable-next-line
6-
// @ts-ignore: What's the right way to refer to this one?
7-
import Hash from "webpack/lib/util/Hash.js";
2+
import * as webpack from "webpack";
83

94
// eslint-disable-next-line
105
// @ts-ignore: What's the right way to refer to this one?
116
import makeSerializable from "webpack/lib/util/makeSerializable.js";
127

13-
// eslint-disable-next-line
14-
// @ts-ignore TODO: Figure out where to find a typed version
15-
import NullDependency from "webpack/lib/dependencies/NullDependency.js";
8+
class DocGenDependency extends webpack.dependencies.NullDependency {
9+
public codeBlock: string;
1610

17-
class DocGenDependency extends NullDependency {
18-
public static Template: NullDependency.Template;
19-
private codeBlock: string;
20-
21-
constructor(request: string, codeBlock: string) {
22-
super(request);
11+
constructor(codeBlock: string) {
12+
super();
2313

2414
this.codeBlock = codeBlock;
2515
}
2616

27-
updateHash(hash: Hash): void {
17+
updateHash: webpack.dependencies.NullDependency["updateHash"] = (hash) => {
2818
hash.update(this.codeBlock);
29-
}
19+
};
3020
}
3121

3222
makeSerializable(
3323
DocGenDependency,
3424
"react-docgen-typescript-plugin/dist/dependency"
3525
);
36-
class DocGenTemplate extends NullDependency.Template {
37-
apply(dependency: NullDependency, source: ReplaceSource): void {
26+
27+
type NullDependencyTemplateType = InstanceType<
28+
typeof webpack.dependencies.NullDependency.Template
29+
>;
30+
class DocGenTemplate extends webpack.dependencies.NullDependency.Template
31+
implements NullDependencyTemplateType {
32+
apply: NullDependencyTemplateType["apply"] = (
33+
dependency: DocGenDependency,
34+
source
35+
) => {
3836
if (dependency.codeBlock) {
3937
// Insert to the end
4038
source.insert(Infinity, dependency.codeBlock);
4139
}
42-
}
40+
};
4341
}
4442

4543
DocGenDependency.Template = DocGenTemplate;

src/plugin.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,6 @@ export default class DocgenPlugin implements WebpackPluginInstance {
124124

125125
module.addDependency(
126126
new DocGenDependency(
127-
module.request,
128127
generateDocgenCodeBlock({
129128
filename: nameForCondition,
130129
source: nameForCondition,

0 commit comments

Comments
 (0)