libs/acl/src/lib/acl-engine/types.ts
        
| Properties | 
| Methods | 
| queryStoreValue | ||||||
| queryStoreValue(path: string) | ||||||
| Defined in libs/acl/src/lib/acl-engine/types.ts:30 | ||||||
| 
                        Parameters :
                        
                         
 | 
| dataChanged$ | |
| Type | Observable<> | 
import { Observable } from 'rxjs';
export const aclResourceStates = ['hidden', 'readonly', 'disabled'] as const;
export type AclResourceState = (typeof aclResourceStates)[number];
export const aclResetStates = ['visible', 'editable'] as const;
export type AclResetState = (typeof aclResetStates)[number];
export const aclRuleStates = [...aclResetStates, ...aclResourceStates] as const;
export type AclRuleState = AclResetState | AclResourceState;
export interface AclRule {
  active: boolean;
  path: string;
  condition: string;
  state: AclRuleState;
  defaultRule: boolean;
  dynamicFormRule?: boolean;
}
export interface AclDecision {
  path: string;
  state: AclRuleState;
  decision: boolean;
  timestamp: number;
}
export interface ExpressionStoreAdapter {
  readonly dataChanged$: Observable<unknown>;
  queryStoreValue(path: string): unknown;
}
/**
 * This is our main agreement on how to consume acl in an application.
 */
export interface AclEvaluationInterface {
  readonly unscoped: AclEvaluationInterface;
  /**
   * @deprecated
   */
  canShow(aclPath: string): boolean;
  /**
   * @deprecated
   */
  canShow$(aclPath: string): Observable<boolean>;
  canEdit(aclPath: string): boolean;
  canEdit$(aclPath: string): Observable<boolean>;
  isReadonly(aclPath: string): boolean;
  isReadonly$(aclPath: string): Observable<boolean>;
  isDisabled(aclPath: string): boolean;
  isDisabled$(aclPath: string): Observable<boolean>;
  isHidden(aclPath: string): boolean;
  isHidden$(aclPath: string): Observable<boolean>;
}