From ea2e64f03f5c9f2fde6b99987ca346bab564c91d Mon Sep 17 00:00:00 2001 From: Igor Yakovenko <31434462+FinalButterfly@users.noreply.github.com> Date: Wed, 18 May 2022 18:18:14 +0500 Subject: [PATCH 1/2] feature/ts-strict/qgrid-core --- packages/qgrid-core/src/body/body.host.d.ts | 6 +- .../src/column-list/column.list.host.d.ts | 2 +- .../qgrid-core/src/column/column.service.d.ts | 2 +- .../qgrid-core/src/focus/focus.service.d.ts | 2 +- packages/qgrid-core/src/head/head.host.d.ts | 4 +- .../qgrid-core/src/infrastructure/cache.d.ts | 4 +- .../src/infrastructure/composite.d.ts | 2 +- packages/qgrid-core/src/rx/rx.d.ts | 278 +++++++++--------- .../src/selection/selection.service.d.ts | 2 +- packages/qgrid-core/src/services/fastdom.d.ts | 2 +- .../qgrid-core/src/sort/sort.service.d.ts | 2 +- packages/qgrid-core/src/types/css.escape.d.ts | 2 +- packages/qgrid-core/src/view/view.host.d.ts | 10 +- 13 files changed, 161 insertions(+), 157 deletions(-) diff --git a/packages/qgrid-core/src/body/body.host.d.ts b/packages/qgrid-core/src/body/body.host.d.ts index 611e62096..95e28a746 100644 --- a/packages/qgrid-core/src/body/body.host.d.ts +++ b/packages/qgrid-core/src/body/body.host.d.ts @@ -3,8 +3,8 @@ import { GridPlugin } from '../plugin/grid.plugin'; export declare class BodyHost { constructor(plugin: GridPlugin); - scroll(e: { scrollLeft: number; scrollTop: number }); - wheel(e: WheelEvent); + scroll(e: { scrollLeft: number; scrollTop: number }): void; + wheel(e: WheelEvent): void; - mouseLeave(e: MouseEvent); + mouseLeave(e: MouseEvent): void; } diff --git a/packages/qgrid-core/src/column-list/column.list.host.d.ts b/packages/qgrid-core/src/column-list/column.list.host.d.ts index 758f9af1b..cf357d962 100644 --- a/packages/qgrid-core/src/column-list/column.list.host.d.ts +++ b/packages/qgrid-core/src/column-list/column.list.host.d.ts @@ -13,5 +13,5 @@ export declare class ColumnListHost { register(column: ColumnModel): void; generateKey(source: any): string; extract(key: string, type: string): ColumnModel; - delete(key: string); + delete(key: string): void; } diff --git a/packages/qgrid-core/src/column/column.service.d.ts b/packages/qgrid-core/src/column/column.service.d.ts index c9ca197e1..b6c675627 100644 --- a/packages/qgrid-core/src/column/column.service.d.ts +++ b/packages/qgrid-core/src/column/column.service.d.ts @@ -13,4 +13,4 @@ export declare function lineView(columnRows: ColumnView[]): string; export declare function widthFactory(table: Table, form: Map): number; export declare function flattenColumns(columns: ColumnModel[]): ColumnModel[]; -export declare function findLine(columns: ColumnModel[], key: string): { columns: ColumnModel[]; index: number } | null; +export declare function findLine(columns: ColumnModel[], key: string): any; diff --git a/packages/qgrid-core/src/focus/focus.service.d.ts b/packages/qgrid-core/src/focus/focus.service.d.ts index b0611ce80..96831411c 100644 --- a/packages/qgrid-core/src/focus/focus.service.d.ts +++ b/packages/qgrid-core/src/focus/focus.service.d.ts @@ -4,7 +4,7 @@ import { GridPlugin } from '../plugin/grid.plugin'; export declare class FocusService { constructor(model: Model); - activate(rowIndex?: number, columnIndex?: number); + activate(rowIndex?: number, columnIndex?: number): void; } export declare class FocusAfterRenderService { diff --git a/packages/qgrid-core/src/head/head.host.d.ts b/packages/qgrid-core/src/head/head.host.d.ts index 6bd2b635e..f765adf98 100644 --- a/packages/qgrid-core/src/head/head.host.d.ts +++ b/packages/qgrid-core/src/head/head.host.d.ts @@ -3,6 +3,6 @@ import { GridPlugin } from '../plugin/grid.plugin'; export declare class HeadHost { constructor(plugin: GridPlugin); - mouseMove(e: MouseEvent); - mouseLeave(e: MouseEvent); + mouseMove(e: MouseEvent): void; + mouseLeave(e: MouseEvent): void; } diff --git a/packages/qgrid-core/src/infrastructure/cache.d.ts b/packages/qgrid-core/src/infrastructure/cache.d.ts index 7778d6273..84576e82a 100644 --- a/packages/qgrid-core/src/infrastructure/cache.d.ts +++ b/packages/qgrid-core/src/infrastructure/cache.d.ts @@ -1,8 +1,8 @@ export declare class Cache { constructor(); - set(key: K, value: V); - get(key: K): V ; + set(key: K, value: V): void; + get(key: K): V; has(key: K): boolean; find(key: K): V; remove(key: K): void; diff --git a/packages/qgrid-core/src/infrastructure/composite.d.ts b/packages/qgrid-core/src/infrastructure/composite.d.ts index 0a1dbb395..6c922f614 100644 --- a/packages/qgrid-core/src/infrastructure/composite.d.ts +++ b/packages/qgrid-core/src/infrastructure/composite.d.ts @@ -1,7 +1,7 @@ import { Command } from '../command/command'; export declare class Composite { - static func(list: ((...args) => T)[], reducer?: (A, T) => A, memo?: A): (...args) => A; + static func(list: ((...args: any) => T)[], reducer?: (A: any, T: any) => A, memo?: A): (...args: any) => A; static command(list: Command[]): Command; static list(list: any[]): any[]; static object(list: any[], memo: any): any; diff --git a/packages/qgrid-core/src/rx/rx.d.ts b/packages/qgrid-core/src/rx/rx.d.ts index 6767812b6..80e6e3b37 100644 --- a/packages/qgrid-core/src/rx/rx.d.ts +++ b/packages/qgrid-core/src/rx/rx.d.ts @@ -2,108 +2,112 @@ import { Event } from '../event/event'; import { Disposable } from '../infrastructure/disposable'; export declare interface ObserverLike { - next(value?: T): void; - error(ex: Error): void; - complete(): void; + next(value?: T): void; + error(ex: Error): void; + complete(): void; } export declare interface UnsubscribableLike { - readonly closed: boolean; - unsubscribe(): void; + readonly closed: boolean; + unsubscribe(): void; } export declare interface SubscribableLike { - subscribe(observer?: Partial>): UnsubscribableLike; - /** @deprecated Use an observer instead of an error callback */ - subscribe(next: null | undefined, error: (error: any) => void, complete?: () => void): UnsubscribableLike; - /** @deprecated Use an observer instead of a complete callback */ - subscribe(next: null | undefined | ((value: T) => void), error: null | undefined, complete: () => void): UnsubscribableLike; - subscribe(next?: (value: T) => void, error?: (error: any) => void, complete?: () => void): UnsubscribableLike; + subscribe(observer?: Partial>): UnsubscribableLike; + /** @deprecated Use an observer instead of an error callback */ + subscribe(next: null | undefined, error: (error: any) => void, complete?: () => void): UnsubscribableLike; + /** @deprecated Use an observer instead of a complete callback */ + subscribe(next: null | undefined | ((value: T) => void), error: null | undefined, complete: () => void): UnsubscribableLike; + subscribe(next?: (value: T) => void, error?: (error: any) => void, complete?: () => void): UnsubscribableLike; } export type UnaryFunctionLike = (source: T) => R; // eslint-disable-next-line no-use-before-define export declare interface OperatorFunctionLike extends UnaryFunctionLike, ObservableLike> { - type?: T; + type?: T; } export declare interface ObservableLike extends SubscribableLike { - toPromise(): Promise; + toPromise(): Promise; - pipe(): ObservableLike; - pipe(op1: OperatorFunctionLike): ObservableLike; - pipe(op1: OperatorFunctionLike, op2: OperatorFunctionLike): ObservableLike; - pipe(op1: OperatorFunctionLike, op2: OperatorFunctionLike, op3: OperatorFunctionLike): ObservableLike; - pipe( - op1: OperatorFunctionLike, - op2: OperatorFunctionLike, - op3: OperatorFunctionLike, - op4: OperatorFunctionLike - ): ObservableLike; - pipe( - op1: OperatorFunctionLike, - op2: OperatorFunctionLike, - op3: OperatorFunctionLike, - op4: OperatorFunctionLike, - op5: OperatorFunctionLike - ): ObservableLike; - pipe( - op1: OperatorFunctionLike, - op2: OperatorFunctionLike, - op3: OperatorFunctionLike, - op4: OperatorFunctionLike, - op5: OperatorFunctionLike, - op6: OperatorFunctionLike - ): ObservableLike; - pipe( - op1: OperatorFunctionLike, - op2: OperatorFunctionLike, - op3: OperatorFunctionLike, - op4: OperatorFunctionLike, - op5: OperatorFunctionLike, - op6: OperatorFunctionLike, - op7: OperatorFunctionLike - ): ObservableLike; - pipe( - op1: OperatorFunctionLike, - op2: OperatorFunctionLike, - op3: OperatorFunctionLike, - op4: OperatorFunctionLike, - op5: OperatorFunctionLike, - op6: OperatorFunctionLike, - op7: OperatorFunctionLike, - op8: OperatorFunctionLike - ): ObservableLike; - pipe( - op1: OperatorFunctionLike, - op2: OperatorFunctionLike, - op3: OperatorFunctionLike, - op4: OperatorFunctionLike, - op5: OperatorFunctionLike, - op6: OperatorFunctionLike, - op7: OperatorFunctionLike, - op8: OperatorFunctionLike, - op9: OperatorFunctionLike - ): ObservableLike; - pipe( - op1: OperatorFunctionLike, - op2: OperatorFunctionLike, - op3: OperatorFunctionLike, - op4: OperatorFunctionLike, - op5: OperatorFunctionLike, - op6: OperatorFunctionLike, - op7: OperatorFunctionLike, - op8: OperatorFunctionLike, - op9: OperatorFunctionLike, - ...operations: OperatorFunctionLike[] - ): ObservableLike; + pipe(): ObservableLike; + pipe(op1: OperatorFunctionLike): ObservableLike; + pipe(op1: OperatorFunctionLike, op2: OperatorFunctionLike): ObservableLike; + pipe(op1: OperatorFunctionLike, op2: OperatorFunctionLike, op3: OperatorFunctionLike): ObservableLike; + pipe( + op1: OperatorFunctionLike, + op2: OperatorFunctionLike, + op3: OperatorFunctionLike, + op4: OperatorFunctionLike + ): ObservableLike; + pipe( + op1: OperatorFunctionLike, + op2: OperatorFunctionLike, + op3: OperatorFunctionLike, + op4: OperatorFunctionLike, + op5: OperatorFunctionLike + ): ObservableLike; + pipe( + op1: OperatorFunctionLike, + op2: OperatorFunctionLike, + op3: OperatorFunctionLike, + op4: OperatorFunctionLike, + op5: OperatorFunctionLike, + op6: OperatorFunctionLike + ): ObservableLike; + pipe( + op1: OperatorFunctionLike, + op2: OperatorFunctionLike, + op3: OperatorFunctionLike, + op4: OperatorFunctionLike, + op5: OperatorFunctionLike, + op6: OperatorFunctionLike, + op7: OperatorFunctionLike + ): ObservableLike; + pipe( + op1: OperatorFunctionLike, + op2: OperatorFunctionLike, + op3: OperatorFunctionLike, + op4: OperatorFunctionLike, + op5: OperatorFunctionLike, + op6: OperatorFunctionLike, + op7: OperatorFunctionLike, + op8: OperatorFunctionLike + ): ObservableLike; + pipe( + op1: OperatorFunctionLike, + op2: OperatorFunctionLike, + op3: OperatorFunctionLike, + op4: OperatorFunctionLike, + op5: OperatorFunctionLike, + op6: OperatorFunctionLike, + op7: OperatorFunctionLike, + op8: OperatorFunctionLike, + op9: OperatorFunctionLike + ): ObservableLike; + pipe( + op1: OperatorFunctionLike, + op2: OperatorFunctionLike, + op3: OperatorFunctionLike, + op4: OperatorFunctionLike, + op5: OperatorFunctionLike, + op6: OperatorFunctionLike, + op7: OperatorFunctionLike, + op8: OperatorFunctionLike, + op9: OperatorFunctionLike, + ...operations: OperatorFunctionLike[] + ): ObservableLike; } export declare class ObservableEvent implements ObservableLike { constructor(event: Event, disposable: Disposable); subscribe(next?: (value: T) => void, error?: (error: any) => void, complete?: () => void): UnsubscribableLike; - subscribe(observer: Partial>): UnsubscribableLike; + subscribe(observer?: Partial>): UnsubscribableLike; + /** @deprecated Use an observer instead of an error callback */ + subscribe(next: null | undefined, error: (error: any) => void, complete?: () => void): UnsubscribableLike; + /** @deprecated Use an observer instead of a complete callback */ + subscribe(next: null | undefined | ((value: T) => void), error: null | undefined, complete: () => void): UnsubscribableLike; toPromise(): Promise; @@ -112,68 +116,68 @@ export declare class ObservableEvent implements ObservableLike { pipe(op1: OperatorFunctionLike, op2: OperatorFunctionLike): ObservableLike; pipe(op1: OperatorFunctionLike, op2: OperatorFunctionLike, op3: OperatorFunctionLike): ObservableLike; pipe( - op1: OperatorFunctionLike, - op2: OperatorFunctionLike, - op3: OperatorFunctionLike, - op4: OperatorFunctionLike - ): ObservableLike; + op1: OperatorFunctionLike, + op2: OperatorFunctionLike, + op3: OperatorFunctionLike, + op4: OperatorFunctionLike + ): ObservableLike; pipe( - op1: OperatorFunctionLike, - op2: OperatorFunctionLike, - op3: OperatorFunctionLike, - op4: OperatorFunctionLike, - op5: OperatorFunctionLike - ): ObservableLike; + op1: OperatorFunctionLike, + op2: OperatorFunctionLike, + op3: OperatorFunctionLike, + op4: OperatorFunctionLike, + op5: OperatorFunctionLike + ): ObservableLike; pipe( - op1: OperatorFunctionLike, - op2: OperatorFunctionLike, - op3: OperatorFunctionLike, - op4: OperatorFunctionLike, - op5: OperatorFunctionLike, - op6: OperatorFunctionLike - ): ObservableLike; + op1: OperatorFunctionLike, + op2: OperatorFunctionLike, + op3: OperatorFunctionLike, + op4: OperatorFunctionLike, + op5: OperatorFunctionLike, + op6: OperatorFunctionLike + ): ObservableLike; pipe( - op1: OperatorFunctionLike, - op2: OperatorFunctionLike, - op3: OperatorFunctionLike, - op4: OperatorFunctionLike, - op5: OperatorFunctionLike, - op6: OperatorFunctionLike, - op7: OperatorFunctionLike - ): ObservableLike; + op1: OperatorFunctionLike, + op2: OperatorFunctionLike, + op3: OperatorFunctionLike, + op4: OperatorFunctionLike, + op5: OperatorFunctionLike, + op6: OperatorFunctionLike, + op7: OperatorFunctionLike + ): ObservableLike; pipe( - op1: OperatorFunctionLike, - op2: OperatorFunctionLike, - op3: OperatorFunctionLike, - op4: OperatorFunctionLike, - op5: OperatorFunctionLike, - op6: OperatorFunctionLike, - op7: OperatorFunctionLike, - op8: OperatorFunctionLike - ): ObservableLike; + op1: OperatorFunctionLike, + op2: OperatorFunctionLike, + op3: OperatorFunctionLike, + op4: OperatorFunctionLike, + op5: OperatorFunctionLike, + op6: OperatorFunctionLike, + op7: OperatorFunctionLike, + op8: OperatorFunctionLike + ): ObservableLike; pipe( - op1: OperatorFunctionLike, - op2: OperatorFunctionLike, - op3: OperatorFunctionLike, - op4: OperatorFunctionLike, - op5: OperatorFunctionLike, - op6: OperatorFunctionLike, - op7: OperatorFunctionLike, - op8: OperatorFunctionLike, - op9: OperatorFunctionLike - ): ObservableLike; + op1: OperatorFunctionLike, + op2: OperatorFunctionLike, + op3: OperatorFunctionLike, + op4: OperatorFunctionLike, + op5: OperatorFunctionLike, + op6: OperatorFunctionLike, + op7: OperatorFunctionLike, + op8: OperatorFunctionLike, + op9: OperatorFunctionLike + ): ObservableLike; pipe( - op1: OperatorFunctionLike, - op2: OperatorFunctionLike, - op3: OperatorFunctionLike, - op4: OperatorFunctionLike, - op5: OperatorFunctionLike, - op6: OperatorFunctionLike, - op7: OperatorFunctionLike, - op8: OperatorFunctionLike, - op9: OperatorFunctionLike, - ...operations: OperatorFunctionLike[] - ): ObservableLike; + op1: OperatorFunctionLike, + op2: OperatorFunctionLike, + op3: OperatorFunctionLike, + op4: OperatorFunctionLike, + op5: OperatorFunctionLike, + op6: OperatorFunctionLike, + op7: OperatorFunctionLike, + op8: OperatorFunctionLike, + op9: OperatorFunctionLike, + ...operations: OperatorFunctionLike[] + ): ObservableLike; } export declare class ObservableReplyEvent extends ObservableEvent { diff --git a/packages/qgrid-core/src/selection/selection.service.d.ts b/packages/qgrid-core/src/selection/selection.service.d.ts index 791b2e9da..ae12f5d21 100644 --- a/packages/qgrid-core/src/selection/selection.service.d.ts +++ b/packages/qgrid-core/src/selection/selection.service.d.ts @@ -5,6 +5,6 @@ export declare class SelectionService { lookup(items: any[], unit?: string): any[]; map(entries: any[]): any[]; - keyFactory(unit: string): (any) => K; + keyFactory(unit: string): (any: any) => K; hashFactory(): (key: string) => any; } diff --git a/packages/qgrid-core/src/services/fastdom.d.ts b/packages/qgrid-core/src/services/fastdom.d.ts index fc4f75a43..70f4c07ba 100644 --- a/packages/qgrid-core/src/services/fastdom.d.ts +++ b/packages/qgrid-core/src/services/fastdom.d.ts @@ -1,6 +1,6 @@ export declare class Fastdom { static mutate: (task: () => void) => any; static measure: (task: () => void) => any; - static clear(token: any); + static clear(token: any): (task: () => void) => any; static invoke: (task: () => void) => any; } diff --git a/packages/qgrid-core/src/sort/sort.service.d.ts b/packages/qgrid-core/src/sort/sort.service.d.ts index 671650622..262626bc5 100644 --- a/packages/qgrid-core/src/sort/sort.service.d.ts +++ b/packages/qgrid-core/src/sort/sort.service.d.ts @@ -4,4 +4,4 @@ export declare const getKey: (pair: any) => string; export declare const getIndex: (pairs: any[], pairKey: string) => number; export declare const getDirection: (pair: any) => string; export declare const getMap: (pairs: any[]) => any; -export declare function orderFactory(model: Model); +export declare function orderFactory(model: Model): () => any; diff --git a/packages/qgrid-core/src/types/css.escape.d.ts b/packages/qgrid-core/src/types/css.escape.d.ts index 62acb5a21..f36cfc149 100644 --- a/packages/qgrid-core/src/types/css.escape.d.ts +++ b/packages/qgrid-core/src/types/css.escape.d.ts @@ -1,3 +1,3 @@ declare module 'css.escape' { - export function cssEscape(x: string); + export function cssEscape(x: string): any; } diff --git a/packages/qgrid-core/src/view/view.host.d.ts b/packages/qgrid-core/src/view/view.host.d.ts index c9dcbc6a1..2a4a5a90f 100644 --- a/packages/qgrid-core/src/view/view.host.d.ts +++ b/packages/qgrid-core/src/view/view.host.d.ts @@ -5,11 +5,11 @@ export declare class ViewHost { invalidate(): void; - mouseDown(e: MouseEvent); - mouseUp(e: MouseEvent); + mouseDown(e: MouseEvent): void; + mouseUp(e: MouseEvent): void; - mouseMove(e: MouseEvent); + mouseMove(e: MouseEvent): void; - mouseEnter(e: MouseEvent); - mouseLeave(e: MouseEvent); + mouseEnter(e: MouseEvent): void; + mouseLeave(e: MouseEvent): void; } From 24b429345e2cf01bbc44cf704b8a15c4e61555cd Mon Sep 17 00:00:00 2001 From: Igor Yakovenko <31434462+FinalButterfly@users.noreply.github.com> Date: Thu, 9 Jun 2022 16:36:34 +0500 Subject: [PATCH 2/2] Comment corrections, first pass --- packages/qgrid-core/src/infrastructure/composite.d.ts | 2 +- .../qgrid-core/src/selection/selection.service.d.ts | 5 ++++- packages/qgrid-core/src/services/fastdom.d.ts | 2 +- packages/qgrid-core/src/sort/sort.service.d.ts | 10 +++++----- 4 files changed, 11 insertions(+), 8 deletions(-) diff --git a/packages/qgrid-core/src/infrastructure/composite.d.ts b/packages/qgrid-core/src/infrastructure/composite.d.ts index 6c922f614..59cce1dfa 100644 --- a/packages/qgrid-core/src/infrastructure/composite.d.ts +++ b/packages/qgrid-core/src/infrastructure/composite.d.ts @@ -1,7 +1,7 @@ import { Command } from '../command/command'; export declare class Composite { - static func(list: ((...args: any) => T)[], reducer?: (A: any, T: any) => A, memo?: A): (...args: any) => A; + static func(list: ((...args: A) => T)[], reducer?: (a: A, t: T) => A, memo?: A): (...args: A) => T; static command(list: Command[]): Command; static list(list: any[]): any[]; static object(list: any[], memo: any): any; diff --git a/packages/qgrid-core/src/selection/selection.service.d.ts b/packages/qgrid-core/src/selection/selection.service.d.ts index ae12f5d21..68206297d 100644 --- a/packages/qgrid-core/src/selection/selection.service.d.ts +++ b/packages/qgrid-core/src/selection/selection.service.d.ts @@ -1,3 +1,6 @@ +import { Row } from '../dom/row'; +import { Column } from '../dom/column'; +import { Cell } from '../dom/cell'; import { Model } from '../model/model'; export declare class SelectionService { @@ -5,6 +8,6 @@ export declare class SelectionService { lookup(items: any[], unit?: string): any[]; map(entries: any[]): any[]; - keyFactory(unit: string): (any: any) => K; + keyFactory(unit: string): (item: 'column' | 'row' | 'cell' | 'mix') => K; hashFactory(): (key: string) => any; } diff --git a/packages/qgrid-core/src/services/fastdom.d.ts b/packages/qgrid-core/src/services/fastdom.d.ts index 70f4c07ba..4b95d743e 100644 --- a/packages/qgrid-core/src/services/fastdom.d.ts +++ b/packages/qgrid-core/src/services/fastdom.d.ts @@ -1,6 +1,6 @@ export declare class Fastdom { static mutate: (task: () => void) => any; static measure: (task: () => void) => any; - static clear(token: any): (task: () => void) => any; + static clear(token: any): boolean; static invoke: (task: () => void) => any; } diff --git a/packages/qgrid-core/src/sort/sort.service.d.ts b/packages/qgrid-core/src/sort/sort.service.d.ts index 262626bc5..3374dfbc2 100644 --- a/packages/qgrid-core/src/sort/sort.service.d.ts +++ b/packages/qgrid-core/src/sort/sort.service.d.ts @@ -1,7 +1,7 @@ import { Model } from '../model/model'; -export declare const getKey: (pair: any) => string; -export declare const getIndex: (pairs: any[], pairKey: string) => number; -export declare const getDirection: (pair: any) => string; -export declare const getMap: (pairs: any[]) => any; -export declare function orderFactory(model: Model): () => any; +export declare const getKey: (pair: string | Record) => string; +export declare const getIndex: (pairs: string[] | Record[], pairKey: string) => number; +export declare const getDirection: (pair: string | Record) => string; +export declare const getMap: (pairs: string[] | Record[]) => any; +export declare function orderFactory(model: Model): (by: any[]) => any[];