UNPKG

zenstack

Version:

FullStack enhancement for Prisma ORM: seamless integration from database to UI

44 lines (43 loc) 1.27 kB
import { Expression } from '@zenstackhq/sdk/ast'; /** * Options for {@link ConstraintTransformer}. */ export type ConstraintTransformerOptions = { authAccessor: string; }; /** * Transform a set of allow and deny rules into a single constraint expression. */ export declare class ConstraintTransformer { private readonly options; private varCounter; constructor(options: ConstraintTransformerOptions); /** * Transforms a set of allow and deny rules into a single constraint expression. */ transformRules(allows: Expression[], denies: Expression[]): string; private and; private or; private not; private transformExpression; private transformLiteral; private transformReference; private transformMemberAccess; private transformBinary; private transformUnary; private transformComparison; private transformAuthComparison; private transformCheckInvocation; private normalizeToNull; private isAuthEqualNull; private isAuthNotEqualNull; private getComparisonOperand; private mapExpressionType; private mapType; private mapOperatorToConstraintKind; private getFieldAccess; private getAuthAccess; private nextVar; private variable; private value; }