Options parser. Converts several formats into an options object
npm install lackey-options-parserConverts several formats into an object.
This module is part of the Lackey framework that is used to build the Lackey CMS amongst other projects.
{
opt1: "opt1",
opt2: "opt2",
opt3: "test_this"
}
var optionsParser = require('lackey-options-parser'),
opts = optionsParser('opt1 opt2 opt3:test_this');
If that string begins with '/' we will consider it a path to a file and require it.
var optionsParser = require('lackey-options-parser'),
opts = optionsParser('/models/test/my-opts.json');
This file is required from the process dir, where you run node.
When running this module in the browser, using browserify, you need to make sure the json file is (pre)required:
options.require = ['./models/test/my-opts.json'];
#### Function processing
If value fetched by given path will be instance of function it will be executed. Like in:
var optionsParser = require('lackey-options-parser'),
opts = optionsParser('/models/test/my-opts.js');
Where /models/test/my-opts.js is
module.exports = function() {};
#### Specify function
You can also specify specific funciton in module to be exectued
var optionsParser = require('lackey-options-parser'),
opts = optionsParser('/models/test/my-opts.js#functionName');
You can pass arguments (with function or without)
var optionsParser = require('lackey-options-parser'),
opts = optionsParser('/models/test/my-opts.js#functionName?argument=1&text=This%20is%20text');
var optionsParser = require('lackey-options-parser'),
opts = optionsParser([
'opt1',
'opt2',
'opt3:test_this'
]);
var optionsParser = require('lackey-options-parser'),
opts = optionsParser({
opt1: "opt1",
opt2: "opt2",
opt3: "test_this"
});
var opts = optionsParser('opt1 opt2 opt3:test_this').stripUnderscores();
returns:
{
opt1: "opt1",
opt2: "opt2",
opt3: "test this"
}
var opts = optionsParser('opt1 opt2 opt3:testThis').makeTitle();
returns:
{
opt1: "opt1",
opt2: "opt2",
opt3: "Test this"
}
var keys = optionsParser('opt1 opt2 opt3:test_this').getKeys();
returns:
[
'opt1',
'opt2',
'opt3'
]
var values = optionsParser('opt1 opt2 opt3:test_this').getKeys();
returns:
[
'opt1',
'opt2',
'opt3'
]
Spaces will be converted into underscores