Files
less.js/lib/less/functions/function-registry.js
rjgotten d119e01807 Scoped @import (plugin) functions loading
- Limited @import (plugin) support to add/addMultiple of functions
- Altered @import (plugin) loading to support browser
- Support proper closure scoping of @import (plugin) loaded functions
2015-03-05 15:55:37 +01:00

29 lines
874 B
JavaScript

function makeRegistry( base ) {
return {
_data: {},
add: function(name, func) {
// precautionary case conversion, as later querying of
// the registry by function-caller uses lower case as well.
name = name.toLowerCase();
if (this._data.hasOwnProperty(name)) {
//TODO warn
}
this._data[name] = func;
},
addMultiple: function(functions) {
Object.keys(functions).forEach(
function(name) {
this.add(name, functions[name]);
}.bind(this));
},
get: function(name) {
return this._data[name] || ( base && base.get( name ));
},
inherit : function() {
return makeRegistry( this );
}
};
}
module.exports = makeRegistry( null );