@types/qrcode
Advanced tools
Comparing version 1.4.3 to 1.5.0
@@ -1,2 +0,2 @@ | ||
// Type definitions for qrcode 1.4 | ||
// Type definitions for qrcode 1.5 | ||
// Project: https://github.com/soldair/node-qrcode | ||
@@ -6,4 +6,4 @@ // Definitions by: York Yao <https://github.com/plantain-00> | ||
// Rémi Sormain <https://github.com/Marchelune> | ||
// BendingBender <https://github.com/BendingBender> | ||
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped | ||
// TypeScript Version: 2.1 | ||
@@ -15,5 +15,5 @@ /// <reference types="node" /> | ||
export type QRCodeErrorCorrectionLevel = 'low' | 'medium' | 'quartile' | 'high' | 'L' | 'M' | 'Q' | 'H'; | ||
export type QRCodeMaskPattern = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7; | ||
export type QRCodeToSJISFunc = (codePoint: string) => number; | ||
export type QRCodeMAskPattern = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | '1' | '2' | '3' | '4' | '5' | '6' | '7'; | ||
export interface QRCodeOptions { | ||
@@ -26,12 +26,11 @@ /** | ||
* Error correction level. | ||
* Possible values are low, medium, quartile, high or L, M, Q, H. | ||
* Default: M | ||
* @default 'M' | ||
*/ | ||
errorCorrectionLevel?: QRCodeErrorCorrectionLevel | undefined; | ||
/** | ||
* maskPattern. | ||
* Possible values are numbers 0 to 7 or strings representing numbers 0 to 7. | ||
* Default: undefined - most suitable value will be calculated. | ||
* Mask pattern used to mask the symbol. | ||
* | ||
* If not specified the more suitable value will be calculated. | ||
*/ | ||
maskPattern?: QRCodeMAskPattern; | ||
maskPattern?: QRCodeMaskPattern | undefined; | ||
/** | ||
@@ -41,67 +40,107 @@ * Helper function used internally to convert a kanji to its Shift JIS value. | ||
*/ | ||
toSJISFunc?: ((codePoint: string) => number) | undefined; | ||
toSJISFunc?: QRCodeToSJISFunc | undefined; | ||
} | ||
export interface QRCodeToDataURLOptions extends QRCodeRenderersOptions { | ||
export type QRCodeDataURLType = 'image/png' | 'image/jpeg' | 'image/webp'; | ||
export type QRCodeToDataURLOptions = QRCodeToDataURLOptionsJpegWebp | QRCodeToDataURLOptionsOther; | ||
export interface QRCodeToDataURLOptionsJpegWebp extends QRCodeRenderersOptions { | ||
/** | ||
* Data URI format. | ||
* Default: image/png | ||
* @default 'image/png' | ||
*/ | ||
type?: 'image/png' | 'image/jpeg' | 'image/webp' | undefined; | ||
rendererOpts?: { | ||
/** | ||
* A Number between 0 and 1 indicating image quality if the requested type is image/jpeg or image/webp. | ||
* Default: 0.92 | ||
*/ | ||
quality?: number | undefined; | ||
} | undefined; | ||
type: 'image/jpeg' | 'image/webp'; | ||
rendererOpts?: | ||
| { | ||
/** | ||
* A number between `0` and `1` indicating image quality. | ||
* @default 0.92 | ||
*/ | ||
quality?: number | undefined; | ||
} | ||
| undefined; | ||
} | ||
export interface QRCodeToDataURLOptionsOther extends QRCodeRenderersOptions { | ||
/** | ||
* Data URI format. | ||
* @default 'image/png' | ||
*/ | ||
type?: Exclude<QRCodeDataURLType, 'image/jpeg' | 'image/webp'> | undefined; | ||
} | ||
export interface QRCodeToStringOptions extends QRCodeRenderersOptions { | ||
export type QRCodeStringType = 'utf8' | 'svg' | 'terminal'; | ||
export type QRCodeToStringOptions = QRCodeToStringOptionsTerminal | QRCodeToStringOptionsOther; | ||
export interface QRCodeToStringOptionsTerminal extends QRCodeRenderersOptions { | ||
/** | ||
* Output format. | ||
* Default: utf8 | ||
* @default 'utf8' | ||
*/ | ||
type?: 'utf8' | 'svg' | 'terminal' | undefined; | ||
type: 'terminal'; | ||
/** | ||
* Outputs smaller QR code. | ||
* @default false | ||
*/ | ||
small?: boolean | undefined; | ||
} | ||
export interface QRCodeToStringOptionsOther extends QRCodeRenderersOptions { | ||
/** | ||
* Output format. | ||
* @default 'utf8' | ||
*/ | ||
type?: Exclude<QRCodeStringType, 'terminal'> | undefined; | ||
} | ||
export interface QRCodeToFileOptions extends QRCodeRenderersOptions { | ||
export type QRCodeFileType = 'png' | 'svg' | 'utf8'; | ||
export type QRCodeToFileOptions = QRCodeToFileOptionsPng | QRCodeToFileOptionsOther; | ||
export interface QRCodeToFileOptionsPng extends QRCodeRenderersOptions { | ||
/** | ||
* Output format. | ||
* Default: png | ||
* @default 'png' | ||
*/ | ||
type?: 'png' | 'svg' | 'utf8' | undefined; | ||
rendererOpts?: { | ||
/** | ||
* Compression level for deflate. | ||
* Default: 9 | ||
*/ | ||
deflateLevel?: number | undefined; | ||
/** | ||
* Compression strategy for deflate. | ||
* Default: 3 | ||
*/ | ||
deflateStrategy?: number | undefined; | ||
} | undefined; | ||
type?: 'png' | undefined; | ||
rendererOpts?: | ||
| { | ||
/** | ||
* Compression level for deflate. | ||
* @default 9 | ||
*/ | ||
deflateLevel?: number | undefined; | ||
/** | ||
* Compression strategy for deflate. | ||
* @default 3 | ||
*/ | ||
deflateStrategy?: number | undefined; | ||
} | ||
| undefined; | ||
} | ||
export interface QRCodeToFileOptionsOther extends QRCodeRenderersOptions { | ||
/** | ||
* Output format. | ||
* @default 'png' | ||
*/ | ||
type: Exclude<QRCodeFileType, 'png'> | undefined; | ||
} | ||
export type QRCodeFileStreamType = 'png'; | ||
export interface QRCodeToFileStreamOptions extends QRCodeRenderersOptions { | ||
/** | ||
* Output format. Only png supported for file stream | ||
* Output format. Only png supported for file stream. | ||
*/ | ||
type?: 'png' | undefined; | ||
rendererOpts?: { | ||
/** | ||
* Compression level for deflate. | ||
* Default: 9 | ||
*/ | ||
deflateLevel?: number | undefined; | ||
/** | ||
* Compression strategy for deflate. | ||
* Default: 3 | ||
*/ | ||
deflateStrategy?: number | undefined; | ||
} | undefined; | ||
type?: QRCodeFileStreamType | undefined; | ||
rendererOpts?: | ||
| { | ||
/** | ||
* Compression level for deflate. | ||
* @default 9 | ||
*/ | ||
deflateLevel?: number | undefined; | ||
/** | ||
* Compression strategy for deflate. | ||
* @default 3 | ||
*/ | ||
deflateStrategy?: number | undefined; | ||
} | ||
| undefined; | ||
} | ||
export type QRCodeBufferType = 'png'; | ||
export interface QRCodeToBufferOptions extends QRCodeRenderersOptions { | ||
@@ -111,15 +150,17 @@ /** | ||
*/ | ||
type?: 'png' | undefined; | ||
rendererOpts?: { | ||
/** | ||
* Compression level for deflate. | ||
* Default: 9 | ||
*/ | ||
deflateLevel?: number | undefined; | ||
/** | ||
* Compression strategy for deflate. | ||
* Default: 3 | ||
*/ | ||
deflateStrategy?: number | undefined; | ||
} | undefined; | ||
type?: QRCodeBufferType | undefined; | ||
rendererOpts?: | ||
| { | ||
/** | ||
* Compression level for deflate. | ||
* @default 9 | ||
*/ | ||
deflateLevel?: number | undefined; | ||
/** | ||
* Compression strategy for deflate. | ||
* @default 3 | ||
*/ | ||
deflateStrategy?: number | undefined; | ||
} | ||
| undefined; | ||
} | ||
@@ -130,8 +171,8 @@ | ||
* Define how much wide the quiet zone should be. | ||
* Default: 4 | ||
* @default 4 | ||
*/ | ||
margin?: number | undefined; | ||
/** | ||
* Scale factor. A value of 1 means 1px per modules (black dots). | ||
* Default: 4 | ||
* Scale factor. A value of `1` means 1px per modules (black dots). | ||
* @default 4 | ||
*/ | ||
@@ -142,30 +183,57 @@ scale?: number | undefined; | ||
* If width is too small to contain the qr symbol, this option will be ignored. | ||
* Takes precedence over scale. | ||
* Takes precedence over `scale`. | ||
*/ | ||
width?: number | undefined; | ||
color?: { | ||
/** | ||
* Color of dark module. Value must be in hex format (RGBA). | ||
* Note: dark color should always be darker than color.light. | ||
* Default: #000000ff | ||
*/ | ||
dark?: string | undefined; | ||
/** | ||
* Color of light module. Value must be in hex format (RGBA). | ||
* Default: #ffffffff | ||
*/ | ||
light?: string | undefined; | ||
} | undefined; | ||
color?: | ||
| { | ||
/** | ||
* Color of dark module. Value must be in hex format (RGBA). | ||
* Note: dark color should always be darker than `color.light`. | ||
* @default '#000000ff' | ||
*/ | ||
dark?: string | undefined; | ||
/** | ||
* Color of light module. Value must be in hex format (RGBA). | ||
* @default '#ffffffff' | ||
*/ | ||
light?: string | undefined; | ||
} | ||
| undefined; | ||
} | ||
export interface QRCodeSegment { | ||
data: string | Buffer | Uint8ClampedArray; | ||
mode: 'alphanumeric' | 'numeric' | 'kanji' | 'byte'; | ||
export type QRCodeSegmentMode = 'alphanumeric' | 'numeric' | 'byte' | 'kanji'; | ||
export type QRCodeSegment = | ||
| QRCodeNumericSegment | ||
| QRCodeAlphanumericSegment | ||
| QRCodeByteSegment | ||
| QRCodeKanjiSegment | ||
| { | ||
data: string | Buffer | Uint8ClampedArray | Uint8Array; | ||
}; | ||
export interface QRCodeNumericSegment { | ||
mode: 'numeric'; | ||
data: string | number; | ||
} | ||
export interface QRCodeAlphanumericSegment { | ||
mode: 'alphanumeric'; | ||
data: string; | ||
} | ||
export interface QRCodeByteSegment { | ||
mode: 'byte'; | ||
data: Buffer | Uint8ClampedArray | Uint8Array; | ||
} | ||
export interface QRCodeKanjiSegment { | ||
mode: 'kanji'; | ||
data: string; | ||
} | ||
export interface QRCode { | ||
/** | ||
* Bitmatrix class with modules data | ||
* BitMatrix class with modules data | ||
*/ | ||
modules: any; | ||
modules: BitMatrix; | ||
/** | ||
@@ -178,17 +246,85 @@ * Calculated QR Code version | ||
*/ | ||
errorCorrectionLevel: number; | ||
errorCorrectionLevel: ErrorCorrectionLevel; | ||
/** | ||
* Calculated Mask pattern | ||
*/ | ||
maskPattern: QRCodeMAskPattern; | ||
maskPattern: QRCodeMaskPattern | undefined; | ||
/** | ||
* Generated segments | ||
*/ | ||
segments: QRCodeSegment[]; | ||
segments: GeneratedQRCodeSegment[]; | ||
} | ||
/** | ||
* Helper class to handle QR Code symbol modules. | ||
*/ | ||
export interface BitMatrix { | ||
/** | ||
* Symbol size. | ||
*/ | ||
size: number; | ||
data: Uint8Array; | ||
reservedBit: Uint8Array; | ||
/** | ||
* Set bit value at specified location | ||
* If reserved flag is set, this bit will be ignored during masking process. | ||
*/ | ||
set(row: number, col: number, value: number, reserved: boolean): void; | ||
/** | ||
* @return Bit value at specified location. | ||
*/ | ||
get(row: number, col: number): number; | ||
/** | ||
* Applies xor operator at specified location (used during masking process). | ||
*/ | ||
xor(row: number, col: number, value: number): void; | ||
/** | ||
* Check if bit at specified location is reserved. | ||
*/ | ||
isReserved(row: number, col: number): number; | ||
} | ||
export interface ErrorCorrectionLevel { | ||
bit: 0 | 1 | 2 | 3; | ||
} | ||
export type ModeId = 'Numeric' | 'Alphanumeric' | 'Byte' | 'Kanji'; | ||
export interface Mode<TModeId extends ModeId = ModeId> { | ||
id: TModeId; | ||
bit: number; | ||
ccBits: readonly number[]; | ||
} | ||
export type GeneratedQRCodeSegment = NumericData | AlphanumericData | ByteData | KanjiData; | ||
export interface DataSegment { | ||
getLength(): number; | ||
getBitsLength(): number; | ||
} | ||
export interface NumericData extends DataSegment { | ||
mode: Mode<'Numeric'>; | ||
data: string; | ||
} | ||
export interface AlphanumericData extends DataSegment { | ||
mode: Mode<'Alphanumeric'>; | ||
data: string; | ||
} | ||
export interface ByteData extends DataSegment { | ||
mode: Mode<'Byte'>; | ||
data: Uint8Array; | ||
} | ||
export interface KanjiData extends DataSegment { | ||
mode: Mode<'Kanji'>; | ||
data: string; | ||
} | ||
/** | ||
* Creates QR Code symbol and returns a qrcode object. | ||
* @param text Text to encode or a list of objects describing segments. | ||
*/ | ||
export function create(text: string | QRCodeSegment[], options: QRCodeOptions): QRCode; | ||
export function create(text: string | QRCodeSegment[], options?: QRCodeOptions): QRCode; | ||
@@ -201,3 +337,3 @@ /** | ||
text: string | QRCodeSegment[], | ||
callback: (error: Error) => void, | ||
callback: (error: Error | null | undefined) => void, | ||
): void; | ||
@@ -211,3 +347,3 @@ /** | ||
options?: QRCodeRenderersOptions, | ||
): Promise<any>; | ||
): Promise<void>; | ||
/** | ||
@@ -220,3 +356,3 @@ * Draws qr code symbol to canvas. | ||
options: QRCodeRenderersOptions, | ||
callback: (error: Error) => void, | ||
callback: (error: Error | null | undefined) => void, | ||
): void; | ||
@@ -228,3 +364,3 @@ /** | ||
text: string | QRCodeSegment[], | ||
callback: (error: Error, canvas: HTMLCanvasElement) => void, | ||
callback: (error: Error | null | undefined, canvas: HTMLCanvasElement) => void, | ||
): void; | ||
@@ -234,3 +370,3 @@ /** | ||
*/ | ||
export function toCanvas(text: string | QRCodeSegment[], options?: QRCodeRenderersOptions): Promise<any>; | ||
export function toCanvas(text: string | QRCodeSegment[], options?: QRCodeRenderersOptions): Promise<HTMLCanvasElement>; | ||
/** | ||
@@ -242,3 +378,3 @@ * Draws qr code symbol to canvas. | ||
options: QRCodeRenderersOptions, | ||
callback: (error: Error, canvas: HTMLCanvasElement) => void, | ||
callback: (error: Error | null | undefined, canvas: HTMLCanvasElement) => void, | ||
): void; | ||
@@ -248,7 +384,11 @@ /** | ||
*/ | ||
export function toCanvas(canvas: any, text: string | QRCodeSegment[], callback: (error: Error) => void): void; | ||
export function toCanvas( | ||
canvas: any, | ||
text: string | QRCodeSegment[], | ||
callback: (error: Error | null | undefined) => void, | ||
): void; | ||
/** | ||
* Draws qr code symbol to node canvas. | ||
*/ | ||
export function toCanvas(canvas: any, text: string | QRCodeSegment[], options?: QRCodeRenderersOptions): Promise<any>; | ||
export function toCanvas(canvas: any, text: string | QRCodeSegment[], options?: QRCodeRenderersOptions): Promise<void>; | ||
/** | ||
@@ -261,3 +401,3 @@ * Draws qr code symbol to node canvas. | ||
options: QRCodeRenderersOptions, | ||
callback: (error: Error) => void, | ||
callback: (error: Error | null | undefined) => void, | ||
): void; | ||
@@ -271,3 +411,3 @@ | ||
text: string | QRCodeSegment[], | ||
callback: (error: Error, url: string) => void, | ||
callback: (error: Error | null | undefined, url: string) => void, | ||
): void; | ||
@@ -289,3 +429,3 @@ /** | ||
options: QRCodeToDataURLOptions, | ||
callback: (error: Error, url: string) => void, | ||
callback: (error: Error | null | undefined, url: string) => void, | ||
): void; | ||
@@ -296,3 +436,6 @@ | ||
*/ | ||
export function toDataURL(text: string | QRCodeSegment[], callback: (error: Error, url: string) => void): void; | ||
export function toDataURL( | ||
text: string | QRCodeSegment[], | ||
callback: (error: Error | null | undefined, url: string) => void, | ||
): void; | ||
/** | ||
@@ -308,3 +451,3 @@ * Returns a Data URI containing a representation of the QR Code image. | ||
options: QRCodeToDataURLOptions, | ||
callback: (error: Error, url: string) => void, | ||
callback: (error: Error | null | undefined, url: string) => void, | ||
): void; | ||
@@ -314,8 +457,9 @@ | ||
* Returns a string representation of the QR Code. | ||
* If choosen output format is svg it will returns a string containing xml code. | ||
*/ | ||
export function toString(text: string | QRCodeSegment[], callback: (error: Error, string: string) => void): void; | ||
export function toString( | ||
text: string | QRCodeSegment[], | ||
callback: (error: Error | null | undefined, string: string) => void, | ||
): void; | ||
/** | ||
* Returns a string representation of the QR Code. | ||
* If choosen output format is svg it will returns a string containing xml code. | ||
*/ | ||
@@ -325,3 +469,2 @@ export function toString(text: string | QRCodeSegment[], options?: QRCodeToStringOptions): Promise<string>; | ||
* Returns a string representation of the QR Code. | ||
* If choosen output format is svg it will returns a string containing xml code. | ||
*/ | ||
@@ -331,3 +474,3 @@ export function toString( | ||
options: QRCodeToStringOptions, | ||
callback: (error: Error, string: string) => void, | ||
callback: (error: Error | null | undefined, string: string) => void, | ||
): void; | ||
@@ -337,16 +480,17 @@ | ||
* Saves QR Code to image file. | ||
* If options.type is not specified, the format will be guessed from file extension. | ||
* Recognized extensions are png, svg, txt. | ||
* If `options.type` is not specified, the format will be guessed from file extension. | ||
*/ | ||
export function toFile(path: string, text: string | QRCodeSegment[], callback: (error: Error) => void): void; | ||
export function toFile( | ||
path: string, | ||
text: string | QRCodeSegment[], | ||
callback: (error: Error | null | undefined) => void, | ||
): void; | ||
/** | ||
* Saves QR Code to image file. | ||
* If options.type is not specified, the format will be guessed from file extension. | ||
* Recognized extensions are png, svg, txt. | ||
* If `options.type` is not specified, the format will be guessed from file extension. | ||
*/ | ||
export function toFile(path: string, text: string | QRCodeSegment[], options?: QRCodeToFileOptions): Promise<any>; | ||
export function toFile(path: string, text: string | QRCodeSegment[], options?: QRCodeToFileOptions): Promise<void>; | ||
/** | ||
* Saves QR Code to image file. | ||
* If options.type is not specified, the format will be guessed from file extension. | ||
* Recognized extensions are png, svg, txt. | ||
* If `options.type` is not specified, the format will be guessed from file extension. | ||
*/ | ||
@@ -357,3 +501,3 @@ export function toFile( | ||
options: QRCodeToFileOptions, | ||
callback: (error: Error) => void, | ||
callback: (error: Error | null | undefined) => void, | ||
): void; | ||
@@ -367,3 +511,3 @@ | ||
text: string | QRCodeSegment[], | ||
callback: (error: Error) => void, | ||
callback: (error: Error | null | undefined) => void, | ||
): void; | ||
@@ -377,3 +521,3 @@ /** | ||
options?: QRCodeToFileStreamOptions, | ||
): Promise<any>; | ||
): Promise<void>; | ||
/** | ||
@@ -386,3 +530,3 @@ * Writes QR Code image to stream. Only works with png format for now. | ||
options: QRCodeToFileStreamOptions, | ||
callback: (error: Error) => void, | ||
callback: (error: Error | null | undefined) => void, | ||
): void; | ||
@@ -393,3 +537,6 @@ | ||
*/ | ||
export function toBuffer(text: string | QRCodeSegment[], callback: (error: Error, buffer: Buffer) => void): void; | ||
export function toBuffer( | ||
text: string | QRCodeSegment[], | ||
callback: (error: Error | null | undefined, buffer: Buffer) => void, | ||
): void; | ||
/** | ||
@@ -405,3 +552,3 @@ * Returns a Buffer containing a representation of the QR Code image. Only works with png format. | ||
options: QRCodeToBufferOptions, | ||
callback: (error: Error, buffer: Buffer) => void, | ||
callback: (error: Error | null | undefined, buffer: Buffer) => void, | ||
): void; |
{ | ||
"name": "@types/qrcode", | ||
"version": "1.4.3", | ||
"version": "1.5.0", | ||
"description": "TypeScript definitions for qrcode", | ||
@@ -22,2 +22,7 @@ "homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/qrcode", | ||
"githubUsername": "Marchelune" | ||
}, | ||
{ | ||
"name": "BendingBender", | ||
"url": "https://github.com/BendingBender", | ||
"githubUsername": "BendingBender" | ||
} | ||
@@ -36,4 +41,4 @@ ], | ||
}, | ||
"typesPublisherContentHash": "2695799b86e6e0c53b25dee11373065eb8819d4923e223407482d5bc69a9baac", | ||
"typesPublisherContentHash": "5842f76f0969762cb2555454982dcb9f7cad6cafb29039b98e95a58880308fab", | ||
"typeScriptVersion": "4.0" | ||
} |
@@ -11,3 +11,3 @@ # Installation | ||
### Additional Details | ||
* Last updated: Tue, 16 Aug 2022 12:32:38 GMT | ||
* Last updated: Fri, 19 Aug 2022 06:32:32 GMT | ||
* Dependencies: [@types/node](https://npmjs.com/package/@types/node) | ||
@@ -17,2 +17,2 @@ * Global values: none | ||
# Credits | ||
These definitions were written by [York Yao](https://github.com/plantain-00), [Michael Nahkies](https://github.com/mnahkies), and [Rémi Sormain](https://github.com/Marchelune). | ||
These definitions were written by [York Yao](https://github.com/plantain-00), [Michael Nahkies](https://github.com/mnahkies), [Rémi Sormain](https://github.com/Marchelune), and [BendingBender](https://github.com/BendingBender). |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
18945
7
509