@napi-rs/canvas
Advanced tools
+11
-0
@@ -34,2 +34,6 @@ const fs = require('fs') | ||
| const data = Buffer.from(source.slice(commaIdx + 1), encoding) | ||
| // Empty payload would silently complete on Image (HTML spec) and the loadImage | ||
| // promise would never settle; reject upfront instead. | ||
| // See https://github.com/Brooooooklyn/canvas/issues/1255 | ||
| if (data.length === 0) throw new Error(`Invalid data URI: empty payload in ${source.slice(0, 64)}`) | ||
| return createImage(data, options.alt) | ||
@@ -122,2 +126,9 @@ } | ||
| async function createImage(src, alt) { | ||
| // Empty Buffer / Uint8Array: Image follows the HTML spec (silent completion, | ||
| // no events) so the promise below would hang. Reject upfront. | ||
| // See https://github.com/Brooooooklyn/canvas/issues/1255 | ||
| if ((Buffer.isBuffer(src) || src instanceof Uint8Array) && src.length === 0) { | ||
| throw new Error('loadImage: empty image data') | ||
| } | ||
| const image = new Image() | ||
@@ -124,0 +135,0 @@ if (typeof alt === 'string') image.alt = alt |
+13
-13
| { | ||
| "name": "@napi-rs/canvas", | ||
| "version": "0.1.99", | ||
| "version": "0.1.100", | ||
| "description": "Canvas for Node.js with skia backend", | ||
@@ -104,3 +104,3 @@ "main": "index.js", | ||
| "oxlint": "^1.34.0", | ||
| "oxlint-tsgolint": "^0.21.0", | ||
| "oxlint-tsgolint": "^0.22.0", | ||
| "pinst": "^3.0.0", | ||
@@ -165,14 +165,14 @@ "png.js": "^0.2.1", | ||
| "optionalDependencies": { | ||
| "@napi-rs/canvas-linux-x64-gnu": "0.1.99", | ||
| "@napi-rs/canvas-darwin-x64": "0.1.99", | ||
| "@napi-rs/canvas-win32-x64-msvc": "0.1.99", | ||
| "@napi-rs/canvas-win32-arm64-msvc": "0.1.99", | ||
| "@napi-rs/canvas-linux-arm-gnueabihf": "0.1.99", | ||
| "@napi-rs/canvas-linux-x64-musl": "0.1.99", | ||
| "@napi-rs/canvas-linux-arm64-gnu": "0.1.99", | ||
| "@napi-rs/canvas-linux-arm64-musl": "0.1.99", | ||
| "@napi-rs/canvas-darwin-arm64": "0.1.99", | ||
| "@napi-rs/canvas-android-arm64": "0.1.99", | ||
| "@napi-rs/canvas-linux-riscv64-gnu": "0.1.99" | ||
| "@napi-rs/canvas-linux-x64-gnu": "0.1.100", | ||
| "@napi-rs/canvas-darwin-x64": "0.1.100", | ||
| "@napi-rs/canvas-win32-x64-msvc": "0.1.100", | ||
| "@napi-rs/canvas-win32-arm64-msvc": "0.1.100", | ||
| "@napi-rs/canvas-linux-arm-gnueabihf": "0.1.100", | ||
| "@napi-rs/canvas-linux-x64-musl": "0.1.100", | ||
| "@napi-rs/canvas-linux-arm64-gnu": "0.1.100", | ||
| "@napi-rs/canvas-linux-arm64-musl": "0.1.100", | ||
| "@napi-rs/canvas-darwin-arm64": "0.1.100", | ||
| "@napi-rs/canvas-android-arm64": "0.1.100", | ||
| "@napi-rs/canvas-linux-riscv64-gnu": "0.1.100" | ||
| } | ||
| } |
125371
0.53%3029
0.33%