Nine Pedestrians Mesmerized
    Wondering what’s next for npm?Check out our public roadmap! »

    ts-tracking-number
    TypeScript icon, indicating that this package has built-in type declarations

    1.0.11 • Public • Published

    TS Tracking Number

    This package will validate individual tracking numbers or search for valid tracking numbers within given text. It is based off the specifcations in the jkeen/tracking_number repository.

    Current supported Couriers are USPS, UPS, FedEx, DHL, OnTrac, Amazon Logistics, and national postal services using the S10 standard.

    Install

    npm install ts-tracking-number

    or

    yarn add ts-tracking-number

    Usage

    Check an invididual tracking number

    import { getTracking } from 'ts-tracking-number';
    
    // Good tracking number
    const tracking = getTracking('9400111202555842332669');
    
    /*
      {
       "name":"USPS 91",
       "trackingUrl":"https://tools.usps.com/go/TrackConfirmAction?tLabels=%s",
       "description":"USPS now calls this the IMpd barcode format",
       "trackingNumber":"9400111202555842332669",
       "courier":{
          "name":"United States Postal Service",
          "code":"usps"
       }
    }
    */
    
    // Invalid tracking number
    const tracking = getTracking('9261292700768711948020'); // undefined
    
    

    Search text for tracking numbers

    import { findTracking } from 'ts-tracking-number';
    
    const text = `A good number is 9400111202555842332669, but 9261292700768711948020 is bad and
      7112 3456 7891 2345 6787 is also good`;
    
    const tracking = findTracking(text);
    
    /*
    [
      {
        name: 'FedEx Express (12)',
        trackingUrl: 'https://www.fedex.com/apps/fedextrack/?tracknumbers=%s',
        description: null,
        trackingNumber: '986578788855',
        courier: { name: 'FedEx', code: 'fedex' }
      },
      {
        name: 'USPS 20',
        trackingUrl: 'https://tools.usps.com/go/TrackConfirmAction?tLabels=%s',
        description: '20 digit USPS numbers',
        trackingNumber: '71123456789123456787',
        courier: { name: 'United States Postal Service', code: 'usps' }
      }
    ]
    */
    
    

    Specifying Desired Courier

    Optionally you may specify which carrier(s) to retrieve in either getTracking or findTracking by passing an array of couriers to the function.

    Filterable couriers are amazon, dhl, fedex, ontrac, s10, ups, usps

    import { getTracking, findTracking, ups, fedex } from 'ts-tracking-number';
    
    const fedexNumber = '986578788855';
    
    // This will ensure we're verifying for FedEx only
    getTracking(fedexNumber, [fedex]);
    
    // This will be undefined
    getTracking(fedexNumber, [ups]);
    
    // Search text for only fedex or ups numbers
    findTracking('A bunch of text...', [fedex, ups]);
    

    Install

    npm i ts-tracking-number

    DownloadsWeekly Downloads

    301

    Version

    1.0.11

    License

    ISC

    Unpacked Size

    267 kB

    Total Files

    47

    Last publish

    Collaborators

    • avatar