UNPKG

@theroyalwhee0/ident

Version:
64 lines (63 loc) 2.5 kB
/** * @file A Unique Identifier Generator for Node * @author Adam Mill <hismajesty@theroyalwhee.com> * @copyright Copyright 2021-2022 Adam Mill * @license Apache-2.0 */ /// <reference types="node" /> import { SequenceOptions } from '@theroyalwhee0/snowman'; /** * Ident options. */ export declare type IdentOptions = { signKey: string; node?: number; verifyKey?: string; idOptions?: SequenceOptions; getRandomBytes?: (size: number) => Buffer; }; /** * identGenerator * @generator * @function identGenerator * @param {object} options Options. * @param {number} options.node The numeric ID of the node (0-1023). * @param {string} options.signKey The key to use for signing check. * @param {string} options.verifyKey The key to use for verify check. * @param {string} options.getRandomBytes Function to provide random bytes. * @param {object} options.idOptions Options passed to snowman. * @yields {string} The created ident. */ export declare function identGenerator(options: IdentOptions): Generator<string, void, unknown>; /** * Low-level validation factory. * Use validationVerifyFactory, validationSignFactory, or * validationBothFactory instead. * @param {object} options Options. * @param {string} options.signKey The key to use for signing check. * @param {string} options.verifyKey The key to use for verify check. * @returns True if valid, false if not. */ export declare function validationFactory(options?: IdentOptions): (value: string) => boolean; /** * Validation factory requring a signKey. * @param {object} options Options. * @param {string} options.signKey The key to use for signing check. * @returns {boolean} True if valid, false if not. */ export declare function validationSignFactory(options?: IdentOptions): (value: string) => boolean; /** * Validation factory requring a verifyKey. * @param {object} options Options. * @param {string} options.verifyKey The key to use for verify check. * @returns {boolean} True if valid, false if not. */ export declare function validationVerifyFactory(options?: IdentOptions): (value: string) => boolean; /** * Validation factory requring both keys. * @param {object} options Options. * @param {string} options.signKey The key to use for signing check. * @param {string} options.verifyKey The key to use for verify check. * @returns {boolean} True if valid, false if not. */ export declare function validationBothFactory(options?: IdentOptions): (value: string) => boolean;