Filter and parse locally attached hardware information.
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
tests
.gitignore
.travis.yml
README.md
sift.js

README.md

sift.js

Filter and parse locally attached hardware information.

Filters

Utilities

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 printer driver.

    [ { name: 'foo', driver: 'bar' }, { ... } ]

Virtual Printers

  • Sift can keep or toss 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 or toss 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 USB product.

    [ { 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' } ]