@speckle/shared
Version:
Shared code between various Speckle JS packages
11 lines • 1.52 kB
TypeScript
import Result from 'true-myth/result';
import Unit from 'true-myth/unit';
import { AllAuthErrors, AuthError } from './authErrors.js';
import { AuthCheckContextLoaderKeys, AuthCheckContextLoaders } from './loaders.js';
export type AuthPolicyResult<ExpectedAuthErrors extends AuthError<any, any> = AllAuthErrors> = Result<Unit, ExpectedAuthErrors>;
export type AuthPolicy<LoaderKeys extends AuthCheckContextLoaderKeys, Args extends object, ExpectedAuthErrors extends AuthError<any, any>> = (loaders: AuthCheckContextLoaders<LoaderKeys>) => (args: Args) => Promise<Result<Unit, ExpectedAuthErrors>>;
export type AuthPolicyFragment<LoaderKeys extends AuthCheckContextLoaderKeys, Args extends object, ExpectedAuthErrors extends AuthError<any, any>, Return> = (loaders: AuthCheckContextLoaders<LoaderKeys>) => (args: Args) => Promise<Result<Return, ExpectedAuthErrors>>;
export type AuthPolicyEnsureFragment<LoaderKeys extends AuthCheckContextLoaderKeys, Args extends object, ExpectedAuthErrors extends AuthError<any, any>> = AuthPolicyFragment<LoaderKeys, Args, ExpectedAuthErrors, Unit>;
export type AuthPolicyCheckFragment<LoaderKeys extends AuthCheckContextLoaderKeys, Args extends object, ExpectedAuthErrors extends AuthError<any, any>> = AuthPolicyFragment<LoaderKeys, Args, ExpectedAuthErrors, boolean>;
export type AuthPolicyCheck<LoaderKeys extends AuthCheckContextLoaderKeys, Args extends object> = (loaders: AuthCheckContextLoaders<LoaderKeys>) => (args: Args) => Promise<boolean>;
//# sourceMappingURL=policies.d.ts.map