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:
35
server/typings/cancan.d.ts
vendored
Normal file
35
server/typings/cancan.d.ts
vendored
Normal 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;
|
||||
}
|
||||
Reference in New Issue
Block a user