$ npm install loader-cache
Register loader functions that dynamically read, parse or otherwise transform file contents when the name of the loader matches a file extension. You can also compose loaders from other loaders.
var LoaderCache = require('loader-cache');
var loaders = new LoaderCache();
// register a loader for reading files
loaders.register('read', function(fp) {
return fs.readFileSync(fp, 'utf8');
});
// register a loader for parsing YAML
loaders.register('yaml', function(fp) {
return YAML.safeLoad(fp);
});
// create a loader from any combination of other
// registered loaders and functions.
loaders.register('dataLoader', ['read', 'yaml'], function(data) {
if (!data) throw new Error('no data!');
return data;
});
// pass a loader stack or the name of a loader to `.compose()`
// to create the actual function to be used for loading
var fn = loaders.compose('dataLoader');
var data = fn('config.yml');
Install with npm
$ npm i loader-cache --save
Create a new instance of LoaderCache
Example
var LoaderCache = require('loader-cache');
var loaders = new LoaderCache();
Register an iterator function of the given type
. Types typically represent a kind of flow-control, like sync
, promise
, stream
, async
etc.
Params
type
{String}options
{Object}fn
{Function}: The actual iterator function.returns
{Object}Example
loader.iterator('sync', function(stack) {
// `stack` is the loader stack (array) to iterate over
// each item in array is a loader function
return function(args) {
// `args` is the arguments passed to the loaders
}
});
Register a loader. The first argument is the name of the loader to register.
Params
name
{String}options
{Object}fns
{Function|Array}: One or more loader functions or names of other registered loaders.returns
{Array}Example
// create a loader from other loaders.
loaders.loader('foo', ['bar', 'baz']);
// pass a function
loaders.loader('foo', function(patterns, options) {
return glob.sync(patterns, options);
});
// combination
loaders.loader('foo', ['bar', 'baz'], function(patterns, options) {
return glob.sync(patterns, options);
});
Compose the actual load
function from a loader stack.
Params
name
{String}: The name of the loader stack to use.options
{Object}stack
{Array|Function}: Additional loader names or functions.returns
{Function}Example
var fn = loaders.compose('foo');
// load some files
var files = fn('*.txt');
Install dev dependencies:
$ npm i -d && npm test
Please help improve code coverage by adding unit tests.
-----------------|-----------|-----------|-----------|-----------|
File | % Stmts |% Branches | % Funcs | % Lines |
-----------------|-----------|-----------|-----------|-----------|
loader-cache/ | 91.27 | 82.35 | 85.71 | 92.5 |
index.js | 91.27 | 82.35 | 85.71 | 92.5 |
-----------------|-----------|-----------|-----------|-----------|
All files | 91.27 | 82.35 | 85.71 | 92.5 |
-----------------|-----------|-----------|-----------|-----------|
Pull requests and stars are always welcome. For bugs and feature requests, please create an issue
Jon Schlinkert
Copyright © 2015 Jon Schlinkert Released under the MIT license.
This file was generated by verb-cli on June 29, 2015.
© 2010 - cnpmjs.org x YWFE | Home | YWFE