UNPKG

@akamfoad/qr

Version:

Fully typed QRCode encoding implementation in JavaScript with no dependencies!

79 lines (72 loc) 2.27 kB
declare class QRBitBuffer { buffer: number[]; length: number; constructor(); get(index: number): boolean; put(num: number, length: number): void; getLengthInBits(): number; putBit(bit: boolean): void; } declare class QR8bitByte { mode: number; data: string; constructor(data: string); getLength(): number; write(buffer: QRBitBuffer): void; } declare class QRRSBlock { totalCount: number; dataCount: number; constructor(totalCount: number, dataCount: number); static RS_BLOCK_TABLE: number[][]; static getRSBlocks(typeNumber: number, errorCorrectLevel: number): QRRSBlock[]; static getRsBlockTable(typeNumber: number, errorCorrectLevel: number): number[] | undefined; } declare class QRCode { typeNumber: number; errorCorrectLevel: number; modules: (number | boolean | null)[][] | null; moduleCount: number; dataCache: number[] | null; dataList: QR8bitByte[]; constructor(typeNumber: number, errorCorrectLevel: number); addData(data: string): void; isDark(row: number, col: number): number | boolean | null; getModuleCount(): number; make(): void; makeImpl(test: boolean, maskPattern: number): void; setupPositionProbePattern(row: number, col: number): void; getBestMaskPattern(): number; setupTimingPattern(): void; setupPositionAdjustPattern(): void; setupTypeNumber(test: boolean): void; setupTypeInfo(test: boolean, maskPattern: number): void; mapData(data: number[], maskPattern: number): void; static PAD0: number; static PAD1: number; static createData(typeNumber: number, errorCorrectLevel: number, dataList: QR8bitByte[]): number[]; static createBytes(buffer: QRBitBuffer, rsBlocks: QRRSBlock[]): number[]; } declare const ErrorCorrectLevel: { /** * Allows recovery of up to 7% data loss */ L: 1; /** * Allows recovery of up to 15% data loss */ M: 0; /** * Allows recovery of up to 25% data loss */ Q: 3; /** * Allows recovery of up to 30% data loss */ H: 2; }; declare const qrcode: (data: string, opt?: { typeNumber?: number; errorCorrectLevel?: number; }) => QRCode; export { ErrorCorrectLevel, QRCode, qrcode };