Veil: Convert email or HTTP messages to Javascript objects
Veil turns this
Subject: Hello, Veil!
Date: Tue Jan 17 2012 09:06:59 GMT+0700 (ICT)
From: jhs@iriscouch.com
Hello, Veil. Welcome to the party.
into this.
Date: Tue 17 Jan 2012 02:06:59 GMT From: 'jhs@iriscouch.com' Subject: 'Hello, Veil!' body: 'Hello, Veil. Welcome to the party.'
You can use it, for example, to edit blog posts in a useful Markdown style but load them as Javascript objects.
Veil is available as an NPM module.
$ npm install veil
Follow (upper-case F) comes from an internal Iris Couch project used in production for over a year. It works in the browser (beta) and is available as an NPM module.
$ npm install follow
Example
var veil = var message = 'Date: Tue, 17 Jan 2012 02:11:48 GMT\n' + 'Subject: This is the example\n' + '\n' + 'This is the body' message = veilconsoledirmessage
Output:
{ Date: Tue, 17 Jan 2012 02:11:48 GMT,
Subject: 'This is the example'
body: 'This is the body' }
Options
Veil is defaultable. Customize its major behaviors by setting its default options:
// Stock behaviorvar veil = // Modified behavior, with inheritance.var better_veil = veil best_veil = better_veil
API Overview
Veil has one function:
parse(message, [options])
| Return an object representing the message, with optional extra options.
Options
The options to parse() are the same as those for .defaults()
.
keys
| If this is"underscore"
, convert keys like"Content-Type"
to"content_type"
dates
| Enable this to convert timestamp values intoDate
objectsnumbers
| Enable this to convert numeric values toNumber
s
Tests
Veil uses node-tap. If you clone this Git repository, tap is included.
$ ./node_modules/.bin/tap test
XXX
ok
License
Apache 2.0