1.0.1 • Published 7 years ago

qz-sift v1.0.1

Weekly downloads
4
License
LGPL-2.1
Repository
github
Last release
7 years ago

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