Skip to content

Commit cc1f249

Browse files
committed
Fix type checking
1 parent 209eaf5 commit cc1f249

3 files changed

Lines changed: 87 additions & 76 deletions

File tree

scripts/testBaseUrl.js

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -8,23 +8,19 @@ let BASE_URL = "http://localhost:4444";
88

99
// environment variable
1010
if (process.env.BASE_URL) {
11-
BASE_URL = process.env.BASE_URL
11+
BASE_URL = process.env.BASE_URL;
1212
}
1313

1414
// local config file
1515
if (fs.existsSync(localConfigPath)) {
1616
try {
17-
const localConfig = JSON.parse(
18-
fs.readFileSync(localConfigPath, "utf8")
19-
);
17+
const localConfig = JSON.parse(fs.readFileSync(localConfigPath, "utf8"));
2018

2119
if (localConfig && localConfig.BASE_URL) {
2220
BASE_URL = localConfig.BASE_URL;
23-
}
21+
}
2422
} catch (err) {
25-
console.warn(
26-
"Invalid testBaseUrl.local.json, using default BASE_URL"
27-
);
23+
console.warn("Invalid testBaseUrl.local.json, using default BASE_URL");
2824
}
2925
}
30-
module.exports = { BASE_URL };
26+
module.exports = { BASE_URL };

src/content-handlers/iiif/JQueryPlugins.ts

Lines changed: 3 additions & 67 deletions
Original file line numberDiff line numberDiff line change
@@ -553,70 +553,6 @@ export default function jqueryPlugins($) {
553553
};
554554
}
555555

556-
interface JQuery {
557-
attr: any;
558-
css: any;
559-
append: any;
560-
text: any;
561-
toggle: any;
562-
html: any;
563-
empty: any;
564-
one: any;
565-
remove: any;
566-
height: any;
567-
contents: any;
568-
outerWidth: any;
569-
outerHeight: any;
570-
offset: any;
571-
mousemove: any;
572-
find: any;
573-
data: any;
574-
addClass: any;
575-
removeClass: any;
576-
width: any;
577-
removeAttr: any;
578-
prop: any;
579-
is: any;
580-
checkboxButton(onClicked: (checked: boolean) => void): void;
581-
disable(): void;
582-
ellipsis(chars: number): string;
583-
ellipsisFill(text?: string): any;
584-
ellipsisFixed(chars: number, buttonText: string): any;
585-
ellipsisHtmlFixed(chars: number, callback: () => void): any;
586-
enable(): void;
587-
equaliseHeight(reset?: boolean, average?: boolean): any;
588-
getVisibleElementWithGreatestTabIndex(): any;
589-
horizontalMargins(): number;
590-
horizontalPadding(): number;
591-
ismouseover(): boolean;
592-
leftMargin(): number;
593-
leftPadding(): number;
594-
on(
595-
events: string,
596-
handler: (eventObject: JQueryEventObject, ...args: any[]) => any,
597-
wait: Number
598-
): JQuery;
599-
onEnter(callback: () => void): any;
600-
onPressed(callback: (e: any) => void): any;
601-
removeLastWord(chars?: number, depth?: number): any;
602-
rightMargin(): number;
603-
rightPadding(): number;
604-
switchClass(class1: string, class2: string): any;
605-
targetBlank(): void;
606-
toggleExpandText(
607-
chars: number,
608-
lessText: string,
609-
moreText: string,
610-
cb: () => void
611-
): any;
612-
toggleExpandTextByLines(
613-
lines: number,
614-
lessText: string,
615-
moreText: string,
616-
cb: () => void
617-
): any;
618-
toggleText(text1: string, text2: string): any;
619-
updateAttr(attrName: string, oldVal: string, newVal: string): void;
620-
verticalMargins(): number;
621-
verticalPadding(): number;
622-
}
556+
// NOTE: the JQuery interface augmentation for these plugins lives in
557+
// src/globals.d.ts — an interface declared inside this module would be
558+
// module-local and invisible to the rest of the app.

src/globals.d.ts

Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,85 @@ interface HTMLElement {
1515
ontouchstart: any;
1616
}
1717

18+
// jQuery plugin methods added in src/content-handlers/iiif/JQueryPlugins.ts,
19+
// plus loosened core-method types this codebase relies on. Previously this
20+
// interface lived inside JQueryPlugins.ts where, being module-scoped, it never
21+
// applied globally — the app instead type-checked against the loose jQuery 2
22+
// typings that @iiif/iiif-av-component (since vendored) pulled in transitively.
23+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
24+
interface JQuery<TElement = HTMLElement> {
25+
attr(...args: any[]): any;
26+
css(...args: any[]): any;
27+
append(...args: any[]): any;
28+
text(...args: any[]): any;
29+
toggle(...args: any[]): any;
30+
html(...args: any[]): any;
31+
empty(...args: any[]): any;
32+
one(...args: any[]): any;
33+
remove(...args: any[]): any;
34+
height(...args: any[]): any;
35+
contents(...args: any[]): any;
36+
outerWidth(...args: any[]): any;
37+
outerHeight(...args: any[]): any;
38+
offset(...args: any[]): any;
39+
mousemove(...args: any[]): any;
40+
find(...args: any[]): any;
41+
data(...args: any[]): any;
42+
addClass(...args: any[]): any;
43+
removeClass(...args: any[]): any;
44+
width(...args: any[]): any;
45+
removeAttr(...args: any[]): any;
46+
prop(...args: any[]): any;
47+
is(...args: any[]): any;
48+
val(...args: any[]): any;
49+
on(...args: any[]): any;
50+
delegate(...args: any[]): any;
51+
scrollTop(...args: any[]): any;
52+
link(...args: any[]): any; // jsviews
53+
checkboxButton(onClicked: (checked: boolean) => void): void;
54+
disable(): void;
55+
ellipsis(chars: number): string;
56+
ellipsisFill(text?: string): any;
57+
ellipsisFixed(chars: number, buttonText: string): any;
58+
ellipsisHtmlFixed(chars: number, callback: () => void): any;
59+
enable(): void;
60+
equaliseHeight(reset?: boolean, average?: boolean): any;
61+
getVisibleElementWithGreatestTabIndex(): any;
62+
horizontalMargins(): number;
63+
horizontalPadding(): number;
64+
ismouseover(): boolean;
65+
leftMargin(): number;
66+
leftPadding(): number;
67+
on(
68+
events: string,
69+
handler: (eventObject: JQueryEventObject, ...args: any[]) => any,
70+
wait: Number
71+
): JQuery;
72+
onEnter(callback: () => void): any;
73+
onPressed(callback: (e: any) => void): any;
74+
removeLastWord(chars?: number, depth?: number): any;
75+
rightMargin(): number;
76+
rightPadding(): number;
77+
switchClass(class1: string, class2: string): any;
78+
targetBlank(): void;
79+
toggleExpandText(
80+
chars: number,
81+
lessText: string,
82+
moreText: string,
83+
cb: () => void
84+
): any;
85+
toggleExpandTextByLines(
86+
lines: number,
87+
lessText: string,
88+
moreText: string,
89+
cb: () => void
90+
): any;
91+
toggleText(text1: string, text2: string): any;
92+
updateAttr(attrName: string, oldVal: string, newVal: string): void;
93+
verticalMargins(): number;
94+
verticalPadding(): number;
95+
}
96+
1897
interface JQueryStatic {
1998
// pubsub
2099
publish(event: string, eventObj?: any[]): void;

0 commit comments

Comments
 (0)