mirror of
https://github.com/GitbookIO/gitbook.git
synced 2026-09-16 15:45:13 +00:00
32 lines
730 B
JavaScript
32 lines
730 B
JavaScript
var Immutable = require('immutable');
|
|
var parsers = require('../parsers');
|
|
|
|
/**
|
|
* Return a list of all shortcuts that can apply
|
|
* to a file for a TemplatEngine
|
|
*
|
|
* @param {List<TemplateBlock>} engine
|
|
* @param {String} filePath
|
|
* @return {List<TemplateShortcut>}
|
|
*/
|
|
function listShortcuts(blocks, filePath) {
|
|
var parser = parsers.getForFile(filePath);
|
|
|
|
if (!parser) {
|
|
return Immutable.List();
|
|
}
|
|
|
|
return blocks
|
|
.map(function(block) {
|
|
return block.getShortcuts();
|
|
})
|
|
.filter(function(shortcuts) {
|
|
return (
|
|
shortcuts &&
|
|
shortcuts.acceptParser(parser.getName())
|
|
);
|
|
});
|
|
}
|
|
|
|
module.exports = listShortcuts;
|