chore: Move to Typescript (#2783)

This PR moves the entire project to Typescript. Due to the ~1000 ignores this will lead to a messy codebase for a while, but the churn is worth it – all of those ignore comments are places that were never type-safe previously.

closes #1282
This commit is contained in:
Tom Moor
2021-11-29 06:40:55 -08:00
committed by GitHub
parent 25ccfb5d04
commit 15b1069bcc
1017 changed files with 17410 additions and 54942 deletions

35
server/typings/cancan.d.ts vendored Normal file
View File

@@ -0,0 +1,35 @@
declare module "cancan" {
namespace CanCan {
interface Option {
instanceOf?: ((instance: any, model: any) => boolean) | undefined;
createError?: (() => any) | undefined;
}
}
class CanCan {
constructor(options?: CanCan.Option);
allow<T>(
model: any,
actions: string | ReadonlyArray<string>,
targets: T | ReadonlyArray<T> | string | ReadonlyArray<string>,
condition?:
| object
| ((performer: any, target: any, options?: any) => boolean)
): void;
can(performer: any, action: string, target: any, options?: any): boolean;
cannot(performer: any, action: string, target: any, options?: any): boolean;
authorize(performer: any, action: string, target: any, options?: any): void;
abilities: {
model: any;
action: string;
target: any;
}[];
}
export = CanCan;
}