芝麻web文件管理V1.00
编辑当前文件:/home/freeclou/app.optimyar.com/backend/node_modules/@casl/ability/dist/types/extra.d.ts
import { PureAbility, AnyAbility } from './PureAbility'; import { RuleOf, Generics } from './RuleIndex'; import { RawRule } from './RawRule'; import { Rule } from './Rule'; import { AbilityParameters, AnyObject, SubjectType, AbilityTuple, CanParameters, Abilities } from './types'; export declare type RuleToQueryConverter
= (rule: RuleOf
) => object; export interface AbilityQuery { $or?: object[]; $and?: object[]; } declare type RulesToQueryRestArgs
= AbilityParameters
0 : never, (action: never, subject: never, convert: ConvertRule) => 0>; export declare function rulesToQuery
(ability: T, ...args: RulesToQueryRestArgs
['abilities'], RuleToQueryConverter
>): AbilityQuery | null; export declare function rulesToFields
>(ability: T, ...[action, subject]: CanParameters
['abilities'], false>): AnyObject; export declare type GetRuleFields
> = (rule: R) => string[] | undefined; export interface PermittedFieldsOptions
{ fieldsFrom?: GetRuleFields
>; } export declare function permittedFieldsOf
(ability: T, action: Parameters
[0], subject: Parameters
[1], options?: PermittedFieldsOptions
): string[]; export declare type PackRule
> = [string, string] | [string, string, T['conditions']] | [string, string, T['conditions'] | 0, 1] | [string, string, T['conditions'] | 0, 1 | 0, string] | [string, string, T['conditions'] | 0, 1 | 0, string | 0, string]; export declare type PackSubjectType
= (type: T) => string; export declare function packRules
>(rules: T[], packSubject?: PackSubjectType
): PackRule
[]; export declare type UnpackSubjectType
= (type: string) => T; export declare function unpackRules
>(rules: PackRule
[], unpackSubject?: UnpackSubjectType
): T[]; export {};