Skip to content

Commit 052c945

Browse files
authored
yarn add node-gyp; yarn build (#3424)
1 parent 3fe8c27 commit 052c945

28 files changed

+551
-125
lines changed

srcts/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@
4242
"jest": "^26.6.3",
4343
"jquery": "3.6.0",
4444
"madge": "^4.0.2",
45+
"node-gyp": "^8.1.0",
4546
"parcel": "^1.12.4",
4647
"parcel-bundler": "^1.12.5",
4748
"phantomjs-prebuilt": "^2.1.16",
Lines changed: 3 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,15 @@
11
import { RatePolicyModes } from "../../inputPolicies/inputRateDecorator";
22
import { bindScope } from "../../shiny/bind";
3-
import type { NumberReceiveMessageData } from "./number";
4-
import type { RadioReceiveMessageData } from "./radio";
5-
import type { SelectInputReceiveMessageData } from "./selectInput";
6-
import type { SliderReceiveMessageData } from "./slider";
7-
import type { TabInputReceiveMessageData } from "./tabinput";
8-
import type { TextReceiveMessageData } from "./text";
9-
import type { ActionButtonReceiveMessageData } from "./actionbutton";
10-
import type { CheckboxGroupReceiveMessageData } from "./checkboxgroup";
11-
import type { DateReceiveMessageData } from "./date";
12-
import type { CheckboxReceiveMessageData } from "./checkbox";
13-
import type { DateRangeReceiveMessageData } from "./daterange";
14-
declare type receiveMessageDataType = NumberReceiveMessageData | RadioReceiveMessageData | SelectInputReceiveMessageData | SliderReceiveMessageData | TabInputReceiveMessageData | TextReceiveMessageData | ActionButtonReceiveMessageData | CheckboxReceiveMessageData | CheckboxGroupReceiveMessageData | DateReceiveMessageData | DateRangeReceiveMessageData;
153
declare class InputBinding {
164
name: string;
175
find(scope: bindScope): JQuery<HTMLElement>;
186
getId(el: HTMLElement): string;
197
getType(el: HTMLElement): string | false;
20-
getValue(el: HTMLElement): any;
8+
getValue(el: HTMLElement): unknown;
219
subscribe(el: HTMLElement, callback: (value: boolean) => void): void;
2210
unsubscribe(el: HTMLElement): void;
23-
receiveMessage(el: HTMLElement, data: receiveMessageDataType): void;
24-
getState(el: HTMLElement): any;
11+
receiveMessage(el: HTMLElement, data: unknown): void;
12+
getState(el: HTMLElement): unknown;
2513
getRatePolicy(el: HTMLElement): {
2614
policy: RatePolicyModes;
2715
delay: number;
@@ -30,4 +18,3 @@ declare class InputBinding {
3018
dispose(el: HTMLElement): void;
3119
}
3220
export { InputBinding };
33-
export type { receiveMessageDataType };

srcts/src_d/bindings/input/checkbox.d.ts

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,19 @@
11
import { InputBinding } from "./InputBinding";
22
declare type CheckedHTMLElement = HTMLInputElement;
3+
declare type CheckboxChecked = CheckedHTMLElement["checked"];
34
declare type CheckboxReceiveMessageData = {
4-
value?: any;
5+
value?: CheckboxChecked;
56
label?: string;
67
};
78
declare class CheckboxInputBinding extends InputBinding {
89
find(scope: HTMLElement): JQuery<HTMLElement>;
9-
getValue(el: CheckedHTMLElement): any;
10-
setValue(el: CheckedHTMLElement, value: boolean): void;
10+
getValue(el: CheckedHTMLElement): CheckboxChecked;
11+
setValue(el: CheckedHTMLElement, value: CheckboxChecked): void;
1112
subscribe(el: HTMLElement, callback: (x: boolean) => void): void;
1213
unsubscribe(el: HTMLElement): void;
1314
getState(el: CheckedHTMLElement): {
1415
label: string;
15-
value: any;
16+
value: CheckboxChecked;
1617
};
1718
receiveMessage(el: CheckedHTMLElement, data: CheckboxReceiveMessageData): void;
1819
}

srcts/src_d/bindings/input/checkboxgroup.d.ts

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,21 +2,22 @@ import { InputBinding } from "./InputBinding";
22
import { CheckedHTMLElement } from "./checkbox";
33
declare type CheckboxGroupHTMLElement = CheckedHTMLElement;
44
declare type ValueLabelObject = {
5-
value: any;
5+
value: HTMLInputElement["value"];
66
label: string;
77
};
88
declare type CheckboxGroupReceiveMessageData = {
9-
options?: any;
10-
value?: any;
9+
options?: string;
10+
value?: Parameters<CheckboxGroupInputBinding["setValue"]>[1];
1111
label: string;
1212
};
13+
declare type CheckboxGroupValue = CheckboxGroupHTMLElement["value"];
1314
declare class CheckboxGroupInputBinding extends InputBinding {
1415
find(scope: HTMLElement): JQuery<HTMLElement>;
15-
getValue(el: CheckboxGroupHTMLElement): Array<CheckboxGroupHTMLElement>;
16+
getValue(el: CheckboxGroupHTMLElement): Array<CheckboxGroupValue>;
1617
setValue(el: HTMLElement, value: Array<string> | string): void;
1718
getState(el: CheckboxGroupHTMLElement): {
1819
label: string;
19-
value: any;
20+
value: ReturnType<CheckboxGroupInputBinding["getValue"]>;
2021
options: Array<ValueLabelObject>;
2122
};
2223
receiveMessage(el: CheckboxGroupHTMLElement, data: CheckboxGroupReceiveMessageData): void;

srcts/src_d/bindings/input/date.d.ts

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,11 @@
22
import { InputBinding } from "./InputBinding";
33
declare global {
44
interface JQuery {
5-
bsDatepicker(methodName: string): any;
6-
bsDatepicker(methodName: string, params: any): any;
5+
bsDatepicker(methodName: "getUTCDate"): Date;
6+
bsDatepicker(methodName: "getStartDate"): Date | -1e9999;
7+
bsDatepicker(methodName: "getEndDate"): Date | 1e9999;
8+
bsDatepicker(methodName: string): void;
9+
bsDatepicker(methodName: string, params: null | Date): void;
710
}
811
}
912
declare type DateReceiveMessageData = {
@@ -30,7 +33,7 @@ declare class DateInputBindingBase extends InputBinding {
3033
}): string;
3134
_setMin(el: HTMLElement, date: Date | undefined | null): void;
3235
_setMax(el: HTMLElement, date: Date): void;
33-
_newDate(date: Date | string | never): Date | void;
36+
_newDate(date: Date | string | never): Date | null;
3437
_floorDateTime(date: Date): Date;
3538
_dateAsUTC(date: Date): Date;
3639
_UTCDateAsLocal(date: Date): Date;

srcts/src_d/bindings/input/daterange.d.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import { formatDateUTC } from "../../utils";
12
import { DateInputBindingBase } from "./date";
23
declare type DateRangeReceiveMessageData = {
34
label: string;
@@ -19,8 +20,8 @@ declare class DateRangeInputBinding extends DateInputBindingBase {
1920
label: string;
2021
value: [string, string];
2122
valueString: [string, string];
22-
min: Date;
23-
max: Date;
23+
min: ReturnType<typeof formatDateUTC> | null;
24+
max: ReturnType<typeof formatDateUTC> | null;
2425
weekstart: string;
2526
format: string;
2627
language: string;

srcts/src_d/bindings/input/number.d.ts

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,25 @@
1-
import { TextInputBinding } from "./text";
1+
import { TextInputBindingBase } from "./text";
22
declare type NumberHTMLElement = HTMLInputElement;
33
declare type NumberReceiveMessageData = {
44
label: string;
5-
value?: any;
6-
min?: any;
7-
max?: any;
8-
step?: any;
5+
value?: string | null;
6+
min?: string | null;
7+
max?: string | null;
8+
step?: string | null;
99
};
10-
declare class NumberInputBinding extends TextInputBinding {
10+
declare class NumberInputBinding extends TextInputBindingBase {
1111
find(scope: HTMLElement): JQuery<HTMLElement>;
1212
getValue(el: NumberHTMLElement): string | number | string[];
1313
setValue(el: NumberHTMLElement, value: number): void;
1414
getType(el: NumberHTMLElement): string;
1515
receiveMessage(el: NumberHTMLElement, data: NumberReceiveMessageData): void;
16-
getState(el: NumberHTMLElement): any;
16+
getState(el: NumberHTMLElement): {
17+
label: string;
18+
value: ReturnType<NumberInputBinding["getValue"]>;
19+
min: number;
20+
max: number;
21+
step: number;
22+
};
1723
_getLabelNode(el: NumberHTMLElement): JQuery<HTMLElement>;
1824
}
1925
export { NumberInputBinding };

srcts/src_d/bindings/input/radio.d.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { InputBinding } from "./InputBinding";
22
declare type RadioHTMLElement = HTMLInputElement;
33
declare type ValueLabelObject = {
4-
value: any;
4+
value: HTMLInputElement["value"];
55
label: string;
66
};
77
declare type RadioReceiveMessageData = {

srcts/src_d/bindings/input/selectInput.d.ts

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,14 @@ declare type SelectHTMLElement = HTMLSelectElement & {
55
};
66
declare type SelectInputReceiveMessageData = {
77
label: string;
8-
options?: any;
9-
config?: any;
8+
options?: string;
9+
config?: string;
1010
url?: string;
1111
value?: string;
1212
};
13+
declare type SelectizeInfo = Selectize.IApi<string, unknown> & {
14+
settings: Selectize.IOptions<string, unknown>;
15+
};
1316
declare class SelectInputBinding extends InputBinding {
1417
find(scope: HTMLElement): JQuery<HTMLElement>;
1518
getType(el: HTMLElement): string;
@@ -30,7 +33,7 @@ declare class SelectInputBinding extends InputBinding {
3033
initialize(el: SelectHTMLElement): void;
3134
_getLabelNode(el: SelectHTMLElement): JQuery<HTMLElement>;
3235
_is_selectize(el: HTMLElement): boolean;
33-
_selectize(el: SelectHTMLElement, update?: boolean): Selectize.IApi<any, any>;
36+
_selectize(el: SelectHTMLElement, update?: boolean): SelectizeInfo;
3437
}
3538
export { SelectInputBinding };
3639
export type { SelectInputReceiveMessageData };

srcts/src_d/bindings/input/slider.d.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { TextHTMLElement, TextInputBinding } from "./text";
1+
import { TextHTMLElement, TextInputBindingBase } from "./text";
22
declare type TimeFormatter = (fmt: string, dt: Date) => string;
33
declare type legacySliderType = {
44
canStepNext: () => boolean;
@@ -23,7 +23,7 @@ declare global {
2323
slider: () => legacySliderType;
2424
}
2525
}
26-
declare class SliderInputBinding extends TextInputBinding {
26+
declare class SliderInputBinding extends TextInputBindingBase {
2727
find(scope: HTMLElement): JQuery<HTMLElement>;
2828
getType(el: HTMLElement): string | false;
2929
getValue(el: TextHTMLElement): number | string | [number | string, number | string];

0 commit comments

Comments
 (0)