@types/koa-roles
TypeScript icon, indicating that this package has built-in type declarations

2.0.3 • Public • Published

Installation

npm install --save @types/koa-roles

Summary

This package contains type definitions for koa-roles (https://github.com/koajs/koa-roles).

Details

Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/koa-roles.

index.d.ts

import Koa = require("koa");

declare class Roles<
    StateT extends Koa.DefaultStateExtends = Koa.DefaultState,
    ContextT extends Koa.DefaultContextExtends = Koa.DefaultContext,
    ResponseBodyT = unknown,
> {
    constructor(options?: Roles.Options<StateT, ContextT, ResponseBodyT>);

    can(action: string): Koa.Middleware<StateT, ContextT, ResponseBodyT>;

    use(fn: Roles.Handler<StateT, ContextT, ResponseBodyT>): void;
    use<Action extends string>(action: Action, fn: Roles.Handler<StateT, ContextT, ResponseBodyT, Action>): void;

    middleware(): Koa.Middleware<StateT, ContextT, ResponseBodyT>;
}

declare namespace Roles {
    type Handler<
        StateT extends Koa.DefaultStateExtends = Koa.DefaultState,
        ContextT extends Koa.DefaultContextExtends = Koa.DefaultContext,
        ResponseBodyT = unknown,
        Action extends string = string,
    > = (ctx: Koa.ParameterizedContext<StateT, ContextT, ResponseBodyT>, action: Action) => boolean | Promise<boolean>;

    interface Options<
        StateT extends Koa.DefaultStateExtends = Koa.DefaultState,
        ContextT extends Koa.DefaultContextExtends = Koa.DefaultContext,
        ResponseBodyT = unknown,
    > {
        failureHandler?: (ctx: Koa.ParameterizedContext<StateT, ContextT, ResponseBodyT>, action: string) => void;
        userProperty?: string;
    }
}

export = Roles;

Additional Details

  • Last updated: Tue, 07 Nov 2023 09:09:38 GMT
  • Dependencies: @types/koa

Credits

These definitions were written by Chris Wilkinson.

Readme

Keywords

none

Package Sidebar

Install

npm i @types/koa-roles

Weekly Downloads

21

Version

2.0.3

License

MIT

Unpacked Size

5.38 kB

Total Files

5

Last publish

Collaborators

  • types