Skip to content

Commit

Permalink
type signature changes:
Browse files Browse the repository at this point in the history
- replace void with undefined in return union type
- replace verify() varargs with optional parameters
- add overload for async Verifier.verify()
  • Loading branch information
oleksandrpravosudko-okta committed Apr 29, 2021
1 parent b81c3ca commit 9b939d2
Showing 1 changed file with 26 additions and 20 deletions.
46 changes: 26 additions & 20 deletions index.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ declare interface JwtHeaderOptions {
'x5t#s256'?: string;
}

declare type SupportedAlgorithms =
declare type SupportedAlgorithms =
'HS256' |
'HS384' |
'HS512' |
Expand All @@ -26,13 +26,13 @@ declare type SupportedAlgorithms =
'none';

declare type IsSupportedAlg = (alg: string | SupportedAlgorithms) => boolean;
declare type KeyResolver = (kid: string, cb: KeyResolverCallback) => Jwt | void | never;
declare type KeyResolverCallback = (err: Error | null, signingKey: string | Buffer) => Jwt | undefined | never;

export declare type KeyResolverCallback = (err: Error, signingKey: string | Buffer) => Jwt | void | never;
export declare type KeyResolver = (kid: string, cb: KeyResolverCallback) => Jwt | undefined | never;

export declare function Jwt(claims: JSONMap, enforceDefaultFields: boolean): Jwt;
export declare class Jwt {
constructor(claims: JSONMap, enforceDefaultFields: boolean);
constructor(claims: JSONMap, enforceDefaultFields: boolean);
header: JwtHeader;
body: JwtBody;
setClaim(claim: string, value: JSONValue): Jwt;
Expand All @@ -56,34 +56,40 @@ export declare class Jwt {
}
export declare function JwtBody(claims: JSONMap): JwtBody;
export declare class JwtBody {
constructor(claims: JSONMap);
toJSON(): JSONMap;
compact(): string;
constructor(claims: JSONMap);
toJSON(): JSONMap;
compact(): string;
}
export declare function JwtHeader(header: JwtHeaderOptions): JwtHeader;
export declare class JwtHeader {
constructor(header: JwtHeaderOptions);
constructor(header: JwtHeaderOptions);
typ: string;
alg: string;
reservedKeys: string[];
compact(): string;
}


export declare function Verifier(): Verifier;
export declare class Verifier {
setSigningAlgorithm(alg: string): Verifier | never;
signingAlgorithm: SupportedAlgorithms;
setSigningKey(keyStr: string | Buffer): Verifier;
signingKey: string | Buffer;
setKeyResolver(keyResolver: KeyResolver): void;
keyResolver: KeyResolver;
isSupportedAlg: IsSupportedAlg;
verify(jwtString: string | Buffer, cb?: (err: Error, verifiedJwt: Jwt) => unknown | void): Jwt | void | never;
withKeyResolver(keyResolver: KeyResolver): Verifier;
setSigningAlgorithm(alg: string): Verifier | never;
signingAlgorithm: SupportedAlgorithms;
setSigningKey(keyStr: string | Buffer): Verifier;
signingKey: string | Buffer;
setKeyResolver(keyResolver: KeyResolver): void;
keyResolver: KeyResolver;
isSupportedAlg: IsSupportedAlg;
/**
* Synchronous mode.
*/
verify(jwtString: string | Buffer): Jwt | never;
/**
* Async mode.
*/
verify(jwtString: string | Buffer, cb: (err: Error | null, verifiedJwt: Jwt) => void): void | never;
withKeyResolver(keyResolver: KeyResolver): Verifier;
}
export declare function base64urlEncode(number: number | string): Buffer;
export declare function base64urlUnescape(str: string): string;
export declare function verify(...args: unknown[]): Jwt | void | never;
export declare function verify(jwtTokenString: string | Buffer, signingKey?: string | Buffer, alg?: string, callback?: KeyResolver): undefined | Jwt | never;
export declare function createVerifier(): Verifier;
export declare function create(claims: JSONMap, secret: string | Buffer, alg: string, ...args: unknown[]): Jwt;
export declare function create(claimsOrSecret: JSONMap | string | Buffer, ...args: unknown[]): Jwt;

0 comments on commit 9b939d2

Please sign in to comment.