UNPKG

pbem

Version:

BEM-helper system for Pug (Jade)

48 lines (37 loc) 979 B
'use strict'; const PRIVATE = Symbol(); require('./lib/Template')(PRIVATE); require('./lib/Block')(PRIVATE); require('./lib/Element')(PRIVATE); const scope = require('./scope'); const presetMethodsMaping = { mod: { type: 'mods', targetClass: scope.Block }, attr: { type: 'attributes', targetClass: scope.Block }, data: { type: 'data', targetClass: scope.Block }, local: { type: 'locals', targetClass: scope.Template } }; for (let methodName in presetMethodsMaping) { let {type, targetClass} = presetMethodsMaping[methodName]; targetClass.prototype[methodName] = function(name, value) { return this[PRIVATE].setParam(type, name, value); }; } const PBEM = require('./lib/PBEM'); function pbem(newConfig) { return new PBEM(newConfig); } pbem.createTemplate = (name, options) => pbem().createTemplate(name, options); pbem.createBlock = (name, options) => pbem().createBlock(name, options); module.exports = pbem;