UNPKG

ohm-loader

Version:
34 lines (26 loc) 896 B
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = function (rawGrammar) { if (this.cacheable) { this.cacheable(); } var namespace = _ohmJs2.default.grammars(rawGrammar); for (var grammarName in namespace) { namespace[grammarName] = namespace[grammarName].toRecipe(); } return 'module.exports = (' + createGrammars + ')(require(\'ohm-js\'), ' + JSON.stringify(namespace) + ');'; }; var _ohmJs = require('ohm-js'); var _ohmJs2 = _interopRequireDefault(_ohmJs); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var createGrammars = function createGrammars(ohm, recipes) { for (var recipeKey in recipes) { recipes[recipeKey] = ohm.makeRecipe(recipes[recipeKey]); } if (Object.keys(recipes).length === 1) { return Object.values(recipes)[0]; } return recipes; };