UNPKG

@omnia/tooling-composers

Version:

Provide tooling to work with manifest things.

26 lines (25 loc) 1.15 kB
import { IComposerDone } from "./Composer"; import { SecurityProviderRule } from "./models/index"; export interface ILogicalOperatorSelector<T> extends IComposerDone<T> { and: () => ICompletableCombinableSecurityProviderComposer<T>; or: () => ICompletableCombinableSecurityProviderComposer<T>; } export interface ICombinableSecurityProviderComposer<T> { /** Add a security provider which access rules must be fullfilled. */ hasAccessToProvider: (securityProviderId: string) => ILogicalOperatorSelector<T>; } export interface ICompletableCombinableSecurityProviderComposer<T> extends ICombinableSecurityProviderComposer<T>, IComposerDone<T> { } export declare class SecurityProviderCombinableRuleComposer<T> implements ICombinableSecurityProviderComposer<T>, ILogicalOperatorSelector<T> { private newRuleCb; private composerForDone; private rules; private selectedLogicalOperator?; constructor(newRuleCb: (allRules: Array<SecurityProviderRule>) => void, composerForDone: T); done: () => T; hasAccessToProvider: (securityProviderId: string) => this; and: () => this; or: () => this; }