TOML.js
apbmba:toml aaronblohowiak$ node
> toml = require('toml-parser')
[Function: parse]
> str = require('fs').readFileSync('./toml/example.toml', 'utf-8')
'# This is a TOML document. Boom.\n\ntitle = "TOML Example"\n\n[owner]\nname = "Tom Preston-Werner"\norganization = "GitHub"\nbio = "GitHub Cofounder & CEO\\nLikes tater tots and beer."\ndob = 1979-05-27T07:32:00Z # First class dates? Why not?\n\n[database]\nserver = "192.168.1.1"\nports = [ "8001", "8001", "8002" ]\nconnection_max = 5000\n\n[servers]\n\n # You can indent as you please. Tabs or spaces. TOML don\'t care.\n [servers.alpha]\n ip = "10.0.0.1"\n dc = "eqdc10"\n\n [servers.beta]\n ip = "10.0.0.2"\n dc = "eqdc10"\n\n\n\n'
> toml(str)
{ title: 'TOML Example',
owner:
{ name: 'Tom Preston-Werner',
organization: 'GitHub',
bio: 'GitHub Cofounder & CEO\nLikes tater tots and beer.',
dob: Sun May 27 1979 00:32:00 GMT-0700 (PDT) },
database:
{ server: '192.168.1.1',
ports: [ '8001', '8001', '8002' ],
connection_max: 5000 },
servers:
{ alpha: { ip: '10.0.0.1', dc: 'eqdc10' },
beta:
{ ip: '10.0.0.2',
dc: 'eqdc10',
negative: -10,
negativeFloat: -0.13 } } }
>
Compliance
toml.js is fully-compliant in feature support and in error conditions
Error handling
For most errors, the string will fail during parsing and an error will be raised giving the character index of the last known good position. For some errors, such as the presence of \r and \0, the error will be raised at value generation time.
Install:
npm install toml-parser
Use:
> require('toml-parser')("hi=3")
{ hi: 3 }