Skip to content

Commit 66725f0

Browse files
fix: ensure remote interface is typed correctly for pseudo-classes
1 parent b4d9d13 commit 66725f0

File tree

1 file changed

+9
-11
lines changed

1 file changed

+9
-11
lines changed

src/master-interfaces.ts

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -45,23 +45,21 @@ export const generateMasterInterfaces = (
4545
? ` class ${_.upperFirst(module.name)} extends Electron.${_.upperFirst(module.name)} {}`
4646
: '';
4747
const newConstDeclarations: string[] = [];
48+
// In the case where this module is actually the static methods on a Class type
49+
const isModuleButActuallyStaticClass = API.some(
50+
(tModule, tIndex) =>
51+
index !== tIndex &&
52+
tModule.name.toLowerCase() === module.name.toLowerCase() &&
53+
tModule.type === 'Class',
54+
);
4855
if ((!isClass || module.name !== classify(module.name)) && module.process.exported) {
4956
if (isClass) {
5057
newConstDeclarations.push(
5158
`type ${classify(module.name)} = ${_.upperFirst(module.name)};`,
5259
`const ${classify(module.name)}: typeof ${_.upperFirst(module.name)};`,
5360
);
5461
} else {
55-
// In the case where this module is actually the static methods on a Class type
56-
if (
57-
API.some(
58-
(tModule, tIndex) =>
59-
index !== tIndex &&
60-
tModule.name.toLowerCase() === module.name.toLowerCase() &&
61-
tModule.type === 'Class',
62-
) &&
63-
!isClass
64-
) {
62+
if (isModuleButActuallyStaticClass && !isClass) {
6563
newConstDeclarations.push(
6664
`const ${classify(module.name)}: typeof ${_.upperFirst(module.name)};`,
6765
);
@@ -88,7 +86,7 @@ export const generateMasterInterfaces = (
8886
!EMRI[classify(module.name).toLowerCase()]
8987
) {
9088
MainInterfaceForRemote.push(
91-
` ${classify(module.name)}: ${isClass ? 'typeof ' : ''}${_.upperFirst(module.name)};`,
89+
` ${classify(module.name)}: ${isClass || isModuleButActuallyStaticClass ? 'typeof ' : ''}${_.upperFirst(module.name)};`,
9290
);
9391
}
9492
if (TargetNamespace) {

0 commit comments

Comments
 (0)