@lwtw/nsane
v0.1.0
Published
An easy to use scanner library wrapping and abstracting from SANE C library functions.
Downloads
2
Readme
nsane
An easy to use scanner library wrapping and abstracting from SANE C library functions.
Note: This package is still in alpha. API stability is not guaranteed, and semantic versioning does not apply.
Description
nsane consists of two components. The nsane C-bindings for SANE library functions,
and a frontend abstracting those bindings into a convenient Scanner
class.
Only the Scanner
class is exposed to users of this library.
Dependencies
- libsane
- node-gyp
- The necessary build environment. Refer to the node-gyp documentation for information on how to set this up.
Installation
npm i --save nsane
Supported platforms
This module has been compiled and tested on an x84_64 machine running Linux 6.8.4. It might or might not build and work on other operating systems. If you have tried running this on macOS, BSD, Windows, other versions of Linux, or a different CPU architecture, let me know how it went. Maybe I can add your OS and architecture to the list of supported platforms.
Change log
Version 0.1.0
Initial alpha version.
Note: This is an alpha version. API stability is not guaranteed, and semantic versioning does not apply.
Usage
The API is still in development, and changes are likely. Detailed documentation will be provided
as soon as the API has stabilized. However; functions, classes, types, and methods are all equipped
with docstrings, so your editor may provide crucial hints. To get started, have a look at
examples/scan.ts
. For a deeper dive, read the docstrings and comments in ts/scanner.ts
. If you
want to take a deep dive, have a look at the documentation for the SANE API. This will help you
greatly with understanding the internals of this codebase.
ToDo's
- Clean up addon .cc files:
- Make sure napi errors do not lead to memory leaks
- Replace
throw
withreject
in entry functions to async operations - Clean up debug messages
- Create a plan for setting up unit tests
- Write unit tests