Skip to content
Filter and parse locally attached hardware information.
JavaScript HTML
Branch: master
Clone or download
Latest commit b9d1da5 Jan 20, 2017
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
tests Fix sifting on blank MACs Jan 20, 2017
.gitignore Initial draft Aug 5, 2016
.travis.yml Node.js tests and Travis Sep 2, 2016
README.md Update README.md Jan 20, 2017
sift.js Bump version Jan 20, 2017

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

You can’t perform that action at this time.