diff --git a/types/qr-image/index.d.ts b/types/qr-image/index.d.ts index ca480027f5c1f5..4c82901c2afe88 100644 --- a/types/qr-image/index.d.ts +++ b/types/qr-image/index.d.ts @@ -8,6 +8,8 @@ export type ec_level = "L" | "M" | "Q" | "H"; /** @default 'png' */ export type image_type = "png" | "svg" | "pdf" | "eps"; +export type encodable = string | number | Buffer | ReadonlyArray; + export interface Bitmap { /** * width (and height) of resulting image in pixels @@ -55,13 +57,13 @@ export interface Options { customize?: ((bitmap: Bitmap) => void) | undefined; } -export function image(text: string, level?: ec_level): NodeJS.ReadableStream; -export function image(text: string, options?: Options): NodeJS.ReadableStream; +export function image(data: encodable, level?: ec_level): NodeJS.ReadableStream; +export function image(data: encodable, options?: Options): NodeJS.ReadableStream; -export function imageSync(text: string, level?: ec_level): Buffer; -export function imageSync(text: string, options?: Options): string | Buffer; +export function imageSync(data: encodable, level?: ec_level): Buffer; +export function imageSync(data: encodable, options?: Options): string | Buffer; -export function svgObject(text: string, level?: ec_level): SvgObject; -export function svgObject(text: string, options?: Options): SvgObject; +export function svgObject(data: encodable, level?: ec_level): SvgObject; +export function svgObject(data: encodable, options?: Options): SvgObject; -export function matrix(text: string, level?: ec_level): (0 | 1)[][]; +export function matrix(data: encodable, level?: ec_level): any[][]; diff --git a/types/qr-image/qr-image-tests.ts b/types/qr-image/qr-image-tests.ts index bfbb4df65065a1..36eb4642dd1f96 100644 --- a/types/qr-image/qr-image-tests.ts +++ b/types/qr-image/qr-image-tests.ts @@ -5,6 +5,8 @@ const qr_svg = qr.image("I love QR!", { type: "svg" }); qr_svg.pipe(fs.createWriteStream("i_love_qr.svg")); const svg_string = qr.imageSync("I love QR!", { type: "svg" }); +const svg_string_from_num = qr.imageSync(1234, { type: "svg" }); +const svg_string_from_arr = qr.imageSync([1, 128], { type: "svg" }); // customize function coord2offset(x: number, y: number, size: number) {