UNPKG

@credo-ts/core

Version:

<p align="center"> <br /> <img alt="Credo Logo" src="https://github.com/openwallet-foundation/credo-ts/blob/c7886cb8377ceb8ee4efe8d264211e561a75072d/images/credo-logo.png" height="250px" /> </p> <h1 align="center"><b>Credo - Core</b></h1

99 lines • 3.29 kB
import { KnownJwaSignatureAlgorithm } from "../kms/jwk/jwa.mjs"; import { SingleOrArray } from "../../types.mjs"; import { Jwt } from "../../crypto/jose/jwt/Jwt.mjs"; import "../../crypto/index.mjs"; import "../kms/index.mjs"; import { TokenStatusListSigner } from "./TokenStatusListSigner.mjs"; import { BitsPerStatus, StatusList, StatusListCwt } from "@owf/token-status-list"; //#region src/modules/token-status-list/TokenStatusListOptions.d.ts export type TokenStatusListFormat = 'cwt' | 'jwt'; /** * Options for specifying the status list contents either as a pre-built instance * or as construction parameters. */ export type StatusListInput = StatusList | { statusListLength: number; bitsPerStatus: BitsPerStatus; aggregationUri?: string; }; type CreateBaseTokenStatusListOptions = { statusList: StatusListInput; statusListUri: string; signer: TokenStatusListSigner; alg: KnownJwaSignatureAlgorithm; /** * The issuance time of the status list token. Defaults to `now`. */ issuedAt?: Date; /** * Used to derive `issuedAt` when `issuedAt` is not provided. Defaults to the current time. * Not included in the token itself. */ now?: Date; /** * The expiration time of the status list token. */ expiresAt?: Date; /** * Time-to-live in seconds. Instructs relying parties how long to cache the status list. */ timeToLive?: number; }; type CreateCwtTokenStatusListOptions = { format: 'cwt'; /** * Additional claims to include in the token payload. */ additionalPayload?: Map<number | string, unknown>; } & CreateBaseTokenStatusListOptions; type CreateJwtTokenStatusListOptions = { format: 'jwt'; statusList: StatusListInput; statusListUri: string; /** * Additional claims to include in the token payload. */ additionalPayload?: Record<string, unknown>; } & CreateBaseTokenStatusListOptions; export type CreateTokenStatusListOptions = CreateJwtTokenStatusListOptions | CreateCwtTokenStatusListOptions; export type TokenStatusListResult = { format: 'cwt'; statusList: Uint8Array; parsed: StatusListCwt; } | { format: 'jwt'; statusList: string; parsed: Jwt; }; type UpdateBaseTokenStatusListOptions = Omit<CreateBaseTokenStatusListOptions, 'statusList' | 'statusListUri'> & { status: SingleOrArray<{ index: number; status: number; }>; }; type UpdateCwtTokenStatusListOptions = { format: 'cwt'; token: Uint8Array; /** * Additional claims to include in the token payload. */ additionalPayload?: Map<number | string, unknown>; } & UpdateBaseTokenStatusListOptions; type UpdateJwtTokenStatusListOptions = { format: 'jwt'; token: string; /** * Additional claims to include in the token payload. */ additionalPayload?: Record<string, unknown>; } & UpdateBaseTokenStatusListOptions; export type UpdateTokenStatusListOptions = UpdateCwtTokenStatusListOptions | UpdateJwtTokenStatusListOptions; export type FetchTokenStatusListOptions<AcceptedFormats extends TokenStatusListFormat = TokenStatusListFormat> = { uri: string; acceptedFormats?: AcceptedFormats[]; }; export type TokenStatusListResultFor<Format extends TokenStatusListFormat> = Extract<TokenStatusListResult, { format: Format; }>; //#endregion //# sourceMappingURL=TokenStatusListOptions.d.mts.map