parse-zonetab

1.0.0 • Public • Published

parse-zonetab

NPM version Build Status Coverage Status Dependency Status devDependency Status

A Node module to parse zone.tab file

const parseZonetab = require('parse-zonetab');
 
const source = `
#
# tz zone descriptions
#
AD +4230+00131 Europe/Andorra
AE +2518+05518 Asia/Dubai
AF +3431+06912 Asia/Kabul
AG +1703-06148 America/Antigua
AI +1812-06304 America/Anguilla`;
 
parseZonetab(source).then(rows => {
  rows; /* => [
    {
      countryCode: 'AD',
      coordinate: {
        latitude: {sign: '+', degree: 42, minute: 30},
        longitude: {sign: '+', degree: 1, minute: 31}
      },
      id: 'Europe/Andorra'
    },
    {
      countryCode: 'AE',
      coordinate: {
        latitude: {sign: '+', degree: 25, minute: 18},
        longitude: {sign: '+', degree: 55, minute: 18}
      }
      id: 'Asia/Dubai'
    },
    ...
  ] */
});

Installation

Use npm.

npm install parse-zonetab

API

const parseZonetab = require('parse-zonetab');

parseZonetab(source)

source: Buffer, String or Stream
Return: Promise

It takes zone.tab file data and returns a promise for an array of parsed rows each of whom is in the form:

{
  countryCode: <string>,
  coordinate: {
    latitude: {
      sign: <string> ('+' or '-'),
      degree: <int>,
      minute: <int>,
      [second: <int>] (if available)
    },
    longitude: {
      sign: <string> ('+' or '-'),
      degree: <int>,
      minute: <int>,
      [second: <int>] (if available)
    }
  },
  id: <string>,
  [comment: <string>] (if available)
}

Related project

  • get-zonetab - get the latest zone.tab file form IANA Time Zone Database

License

Copyright (c) 2016 Shinnosuke Watanabe

Licensed under the MIT License.

Dependencies (3)

Dev Dependencies (8)

Package Sidebar

Install

npm i parse-zonetab

Weekly Downloads

4

Version

1.0.0

License

MIT

Last publish

Collaborators

  • shinnn