toml-j0.4
A parser only compliant with TOML v0.4.0
Last updated 9 years ago by jakwings .
MIT · Repository · Bugs · Original npm · Tarball · package.json
$ cnpm install toml-j0.4 
SYNC missed versions from official npm registry.

TOML-j0.4

Build Status NPM version

As its name TOML-j0.4 says, this is a TOML v0.4.0 compliant parser built with PEG.js. You can customize it easily by modifying the grammar file toml.pegjs.

Live Demo

http://jakwings.github.io/toml-j0.4/

Usage

You can install it via npm install toml-j0.4, or just include the script dist/toml-browser.js in your web pages.

var toml = toml || require('toml-j0.4');

try {
    var data = toml.parse(src);
} catch (err) {
    if (err instanceof toml.SyntaxError) {
        // do something
    }
}
  • toml.parse only accept one argument — data text in TOML
  • The instance of toml.SyntaxError has these properties:
    • line: the line number
    • column: the column number
    • offset: the zero-based offset from the start of the text
    • message: error message

There is no other API for now. Simple?

Known Problems

  • JavaScript does not have real integers.

    All numbers are floats in JavaScript. Any integer bigger than Number.MAX_SAFE_INTEGER (9007199254740991 < 2^63 - 1) or smaller than Number.MIN_SAFE_INTEGER (-9007199254740991 > -(2^63 - 1)) is not safe when being converted or used as pure integer! Enhancement is welcome!

    I suggest storing big integers in strings.

  • RFC 3339 is not the sole criterion of truth.

    You can't imagine how terrible all minitue details of the standard are! So don't expect some date-times will work anytime and anywhere, for instance, "2015-02-29T00:00:00Z", "2015-12-25T24:00:00Z", "2015-11-10T00:60:00Z", "2015-11-10T00:00:60Z", "2015-12-25T24:00:00+24:00", "0000-01-01T00:00:00Z". Enhancement is welcome!

Contribute

If you found bugs, welcome to send me a pull request with (only) updated test scripts/fixtures!

In order to test this package thoroughly, you have to do these first:

  1. Clone this project with git.
  2. Excute this command in the project directory: npm install

The scripts lib/parser.js and dist/toml-browser.js are generated via this command:

npm run build

Then you can test them via this command:

npm test

You can also do some benchmarks with other TOML parsers:

npm run benchmark

Others

This package is also used by other projects:

Current Tags

  • 1.1.1                                ...           latest (9 years ago)

13 Versions

  • 1.1.1                                ...           9 years ago
  • 1.1.0                                ...           9 years ago
  • 1.0.10                                ...           11 years ago
  • 1.0.9                                ...           11 years ago
  • 1.0.8                                ...           11 years ago
  • 1.0.7                                ...           11 years ago
  • 1.0.6                                ...           11 years ago
  • 1.0.5                                ...           11 years ago
  • 1.0.4                                ...           11 years ago
  • 1.0.3                                ...           11 years ago
  • 1.0.2                                ...           11 years ago
  • 1.0.1                                ...           11 years ago
  • 1.0.0                                ...           11 years ago
Maintainers (1)
Downloads
Today 0
This Week 0
This Month 0
Last Day 0
Last Week 1
Last Month 1
Dependencies (0)
None
Dev Dependencies (9)
Dependents (1)

Copyright 2013 - present © cnpmjs.org | Home |