barkit.io
v0.1.4
Published
Generic scanner-device input I/O handler with support for select device apis (datalogic and zebra)
Readme
🧾 Barkit Input Scanner
A modular barcode scanner input manager with device support and action token handling, optimized for hardware integrations like Zebra and Datalogic.
Features
- CLI for quick scanner input capture / testing.
- Scan history & CSV export
- Runtime detection detects context and device apis if available (Datalogic device api is the only one currenly directly supported)
- Action tokens for scan-commands.
- Subscription-based output
Installation
yarn add barkit.ioCLI
Run the CLI directly with:
yarn devOr link to a bash alias using npm link:
# link using npm link
yarn link:cli
# then run
scanner-cli
# will output
[Scanner CLI] Waiting for input (Ctrl+C to exit)...Usage
import Barkit from './input/index.js'
const scanner = new Barkit({ debug: true })
scanner.$subscribe(data => {
console.log('Scanned:', data)
})Generic API
The Generic device API will attach itself based on the current context.
Action Tokens
These values trigger internal Barkit utils when scanned:
| Token | Function | Behavior |
|------------------------|-------------------------------------------|--------------------------|
| __RESET_DEVICE__ | calls Barkit.reset() | Re-initializes the scanner |
| __EXPORT_CSV__ | calls Barkit.exportFromScan() | Exports history to file and clears it |
| __CLEAR_HISTORY__ | clears scan history | Clears the current scan history |
| __CLEAR_BUFFER__ | explicitly clears current scan buffer | Resets buffered scan input |
💡 Scanner Support
Implemented
- Datalogic
Debug
Enable the debug overlay with debug: true:
const scanner = new Barkit({ debug: true })Click to expand full current buffer state.
File Export
Export scan history to CSV:
scanner.exportFromScan('csv')Or emit the __EXPORT_CSV__ token via scanner input.
📄 License
MIT
