Skip to content

jonschlinkert/parser-cache

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

parser-cache NPM version

Cache and load parsers, similiar to consolidate.js engines.

Install

Install with npm

npm i parser-cache --save

Usage

var parsers = require('parser-cache');

API

  • options {Object}: Default options to use.
var Parsers = require('parser-cache');
var parsers = new Parsers();

Register the given parser callback fn as ext. If ext is not given, the parser fn will be pushed into the default parser stack.

  • ext {String}
  • fn {Function|Object}: or options
  • returns {Object} parsers: to enable chaining.
// Default stack
parsers.register(require('parser-front-matter'));

// Associated with `.hbs` file extension
parsers.register('hbs', require('parser-front-matter'));

Register the given parser callback fn as ext. If ext is not given, the parser fn will be pushed into the default parser stack.

  • ext {String}
  • fn {Function|Object}: or options
  • returns {Object} parsers: to enable chaining.
// Default stack
parsers.register(require('parser-front-matter'));

// Associated with `.hbs` file extension
parsers.register('hbs', require('parser-front-matter'));

Run a stack of async parsers for the given file. If file is an object with an ext property, then ext is used to get the parser stack. If ext doesn't have a stack, the default noop parser will be used.

  • file {Object|String}: Either a string or an object.
  • stack {Array}: Optionally pass an array of functions to use as parsers.
  • options {Object}
  • returns {Object}: Normalize file object.
var str = fs.readFileSync('some-file.md', 'utf8');
template.parse({ext: '.md', content: str}, function (err, file) {
  console.log(file);
});

Or, explicitly pass an array of parser functions as a section argument.

template.parse(file, [a, b, c], function (err, file) {
  console.log(file);
});

Run a stack of sync parsers for the given file. If file is an object with an ext property, then ext is used to get the parser stack. If ext doesn't have a stack, the default noop parser will be used.

  • file {Object|String}: Either a string or an object.
  • stack {Array}: Optionally pass an array of functions to use as parsers.
  • options {Object}
  • returns {Object}: Normalize file object.
var str = fs.readFileSync('some-file.md', 'utf8');
template.parseSync({ext: '.md', content: str});

Or, explicitly pass an array of parser functions as a section argument.

template.parseSync(file, [a, b, c]);

Run a stack of stream parsers for input files.

  • stack {Array}: Optionally pass an array of functions to use as parsers.
  • options {Object}
  • returns {Stream}: Stream pipeline used to parse files in a stream.
gulp.src('path/to/files/*.md')
  .pipe(template.parseStream({ext: '.md'}))
  .pipe(gulp.dest('dist'));

Or, explicitly pass an array of parser functions as a section argument.

gulp.src('path/to/files/*.md')
  .pipe(template.parseStream([a, b, c], {ext: '.md'}))
  .pipe(gulp.dest('dist'));

Return the parser stored by ext. If no ext is passed, the entire parsers is returned.

  • ext {String}: The parser to get.
  • returns {Object}: The specified parser.
parser.get('md')
// => [function]

Remove the parser stack for the given ext, or if no value is specified the entire parsers object is clear.

  • ext {String}: The stack to remove.

Example:

parsers.clear()

Author

Jon Schlinkert

License

Copyright (c) 2014 Jon Schlinkert, contributors.
Released under the MIT license


This file was generated by verb-cli on October 01, 2014.

About

Cache and load parsers, similiar to consolidate.js engines.

Resources

License

Stars

Watchers

Forks

Sponsor this project

 

Packages

No packages published