Skip to content

Commit ec55cce

Browse files
committed
Refactor property name handling in emitWebIdl function to support hyphenated names
1 parent 99c5952 commit ec55cce

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

src/build/emitter.ts

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -862,6 +862,7 @@ export function emitWebIdl(
862862
printer.printLine("/** @deprecated */");
863863
printer.printLine("declare const name: void;");
864864
} else {
865+
const propertyName = p.name.includes("-") ? `"${p.name}"` : p.name;
865866
let pType: string;
866867
if (!p.overrideType && isEventHandler(p)) {
867868
// Sometimes event handlers with the same name may actually handle different
@@ -884,7 +885,9 @@ export function emitWebIdl(
884885
const canPutForward =
885886
compilerBehavior.allowUnrelatedSetterType || !p.readonly;
886887
if (!prefix && canPutForward && p.putForwards) {
887-
printer.printLine(`get ${p.name}${optionalModifier}(): ${pType};`);
888+
printer.printLine(
889+
`get ${propertyName}${optionalModifier}(): ${pType};`,
890+
);
888891

889892
const forwardingProperty = getPropertyFromInterface(
890893
allInterfacesMap[pType],
@@ -898,12 +901,12 @@ export function emitWebIdl(
898901
setterType += ` | ${pType}`;
899902
}
900903
printer.printLine(
901-
`set ${p.name}${optionalModifier}(${p.putForwards}: ${setterType});`,
904+
`set ${propertyName}${optionalModifier}(${p.putForwards}: ${setterType});`,
902905
);
903906
} else {
904907
const readOnlyModifier = p.readonly && prefix === "" ? "readonly " : "";
905908
printer.printLine(
906-
`${prefix}${readOnlyModifier}${p.name}${optionalModifier}: ${pType};`,
909+
`${prefix}${readOnlyModifier}${propertyName}${optionalModifier}: ${pType};`,
907910
);
908911
}
909912
}

0 commit comments

Comments
 (0)