diff --git a/CHANGELOG.md b/CHANGELOG.md index 56879d7..627dd08 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,7 @@ - Use FxHasher for internal hash-based data structures. - Bump [css-minify](https://github.com/Mnwa/css-minify) to 0.3.1. - [WASM] Add `type` and `main` fields to package.json. +- [Node.js] Improve invalid argument type error messages. ## 0.10.3 diff --git a/nodejs/src/lib.rs b/nodejs/src/lib.rs index c330ca5..feaeadc 100644 --- a/nodejs/src/lib.rs +++ b/nodejs/src/lib.rs @@ -2,8 +2,12 @@ use neon::prelude::*; use neon::types::buffer::TypedArray; fn minify(mut cx: FunctionContext) -> JsResult { - let src = cx.argument::(0)?; - let opt = cx.argument::(1)?; + let Ok(src) = cx.argument::(0) else { + return cx.throw_type_error("the first argument is not a Buffer"); + }; + let Ok(opt) = cx.argument::(1) else { + return cx.throw_type_error("the second argument is not an object"); + }; let cfg = minify_html::Cfg { do_not_minify_doctype: opt .get_opt::(&mut cx, "do_not_minify_doctype")?