qz-sift
v1.0.1
Published
Filter and parse locally attached hardware information.
Downloads
188
Maintainers
Readme
sift.js
Filter and parse locally attached hardware information.
Filters
- Printer driver listings
- USB scales
Utilities
- USB scale data
Printers
Sift offers the ability to filter a supplied printer list based on an internal database of printer information.
Printer Prerequisites
Printers must be supplied in an object array
Each object must contain a printer
name
and printerdriver
.[ { name: 'foo', driver: 'bar' }, { ... } ]
Virtual Printers
- Sift can
keep
ortoss
all PDF, Virtual or File printers:
Before
data = [ { name: 'HP Color LaserJet 2500', driver: 'HP Color LaserJet 2500 PS Class Driver' },
{ name: 'CutePDFWriter', driver: 'PDFwriter.ppd' } ];
Keep/Toss
data = sift.toss(data, { physical: false });
// or
data = sift.keep(data, { physical: true });
Sifted
[ { name: 'HP Color LaserJet 2500', driver: 'HP Color LaserJet 2500 PS Class Driver' } ]
Raw Printers
- Sift can
keep
ortoss
all raw capable printers.
Before
data = [ { name: 'HP Color LaserJet 2500', driver: 'HP Color LaserJet 2500 PS Class Driver' },
{ name: 'Zebra LP2844 Raw', driver: 'Generic / Text Only' } ];
Keep/Toss
data = sift.keep(data, { type: 'raw' });
Sifted
[ { name: 'Zebra LP2844 Raw', driver: 'Generic / Text Only' } ]
USB Data
USB Scale Parsing
- Sift can parse USB Data into weight, units, status in plain English text.
Before
var data = ['\x03', '\x02', '\x0C', '\xFE', '\x00', '\x00', '\x00', '\x00'];
Parse Data
var weight = sift.parse.scale(data);
Parsed
"0.03lbs - Stable"
USB Devices - Unfinished
Sift can identify USB devices by type
based on an internal database of USB devices. See also USB Scale Parsing
USB Prerequisites
USB device listing must be supplied in an object array
Each object must contain a USB
vendor
and USBproduct
.[ { vendor: '0x0EB8', product: '0xF000' }, { ... } ]
USB Scales
- Sift can return the listing of attached USB scales.
Before
data = [ { vendor: '0x0EB8', product: '0xF000' },
{ vendor: '0x0B9E', product: '0xF0F0' } ];
Keep/Toss
data = sift.keep(data, { type: 'scale' });
Sifted
[ { vendor: '0x0EB8', product: '0xF000' } ]