UNPKG

qrloop

Version:

Envelop big blob of data into frames that can be displayed in series of QR Codes

43 lines (42 loc) 1.27 kB
/// <reference types="node" /> import { Buffer } from "buffer"; declare type Frame = { framesCount: number; index: number; data: Buffer; }; declare type Fountain = { frameIndexes: number[]; data: Buffer; }; export declare type State = { frames: Frame[]; fountainsQueue: Fountain[]; exploredFountains: string[]; } | undefined | null; /** * reduce frames data array to add on more chunk to it. * As a user of this function, consider the frames to be a black box and use the available functions to extract things. */ export declare function parseFramesReducer(_state: State, chunkStr: string): State; /** * retrieve the total number of frames */ export declare const totalNumberOfFrames: (s: State) => number | undefined | null; /** * get the currently captured number of frames */ export declare const currentNumberOfFrames: (s: State) => number; /** * get a progress value from 0 to 1 */ export declare const progressOfFrames: (s: State) => number; /** * check if the frames have all been retrieved */ export declare const areFramesComplete: (s: State) => boolean; /** * return final result of the frames. assuming you have checked `areFramesComplete` */ export declare function framesToData(s?: State): Buffer; export {};