From 5eb97a859283150cb9288dd0d73b25e764c63e57 Mon Sep 17 00:00:00 2001 From: Konrad Pettersson <49250602+KonkenBonken@users.noreply.github.com> Date: Tue, 7 Apr 2026 03:52:14 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=A4=96=20Merge=20PR=20#74782=20[qr-image]?= =?UTF-8?q?=20extend=20encodable=20data=20type=20to=20match=20implementati?= =?UTF-8?q?on=20by=20@KonkenBonken?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- types/qr-image/index.d.ts | 16 +++++++++------- types/qr-image/qr-image-tests.ts | 2 ++ 2 files changed, 11 insertions(+), 7 deletions(-) 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) {