UNPKG

@ztimson/momentum

Version:

Client library for momentum

50 lines 1.71 kB
import { PathEvent, Unsubscribe } from '@ztimson/utils'; import { Meta, PathEventEmitter } from './core'; import { Momentum } from './momentum'; export type Token = Meta & { /** Token value */ readonly token?: string; /** User defined name */ readonly name: string; /** Assigned to */ readonly owner: string; /** Expiration */ readonly expire?: Date; }; /** Manage user tokens */ export declare class Tokens extends PathEventEmitter { protected momentum: Momentum; private controller; get cache(): import('@ztimson/utils').Cache<string, Token>; constructor(momentum: Momentum); /** * Fetch all tokens for user * @param {string} username User to search * @param reload Force reload instead of using cache * @return {Promise<Token[]>} List of tokens */ all(username: string, reload?: boolean): Promise<Token[]>; /** * Create a new user token * @param {{name: string, owner: string, expire: null | Date}} token Token settings * @return {Promise<Token>} Crated token */ create(token: Token): Promise<Token>; /** * Delete an existing token * @param {string} id Token ID * @return {Promise<void>} Resolves once complete */ delete(id: string): Promise<number>; /** * Subscribe to token changes for user * @param {(value: Product[]) => any | null} callback Received changes * @param opts Scope to single user * @return {() => void} Function to unsubscribe */ sync(callback: (event: PathEvent, value: Token[]) => any | null, opts?: { username?: string; reload?: boolean; }): Unsubscribe; } //# sourceMappingURL=tokens.d.ts.map