forked from enviPath/enviPy
Current Dev State
This commit is contained in:
114
static/js/ketcher2/node_modules/less/lib/less/plugin-manager.js
generated
vendored
Normal file
114
static/js/ketcher2/node_modules/less/lib/less/plugin-manager.js
generated
vendored
Normal file
@ -0,0 +1,114 @@
|
||||
/**
|
||||
* Plugin Manager
|
||||
*/
|
||||
var PluginManager = function(less) {
|
||||
this.less = less;
|
||||
this.visitors = [];
|
||||
this.preProcessors = [];
|
||||
this.postProcessors = [];
|
||||
this.installedPlugins = [];
|
||||
this.fileManagers = [];
|
||||
};
|
||||
/**
|
||||
* Adds all the plugins in the array
|
||||
* @param {Array} plugins
|
||||
*/
|
||||
PluginManager.prototype.addPlugins = function(plugins) {
|
||||
if (plugins) {
|
||||
for (var i = 0; i < plugins.length; i++) {
|
||||
this.addPlugin(plugins[i]);
|
||||
}
|
||||
}
|
||||
};
|
||||
/**
|
||||
*
|
||||
* @param plugin
|
||||
*/
|
||||
PluginManager.prototype.addPlugin = function(plugin) {
|
||||
this.installedPlugins.push(plugin);
|
||||
plugin.install(this.less, this);
|
||||
};
|
||||
/**
|
||||
* Adds a visitor. The visitor object has options on itself to determine
|
||||
* when it should run.
|
||||
* @param visitor
|
||||
*/
|
||||
PluginManager.prototype.addVisitor = function(visitor) {
|
||||
this.visitors.push(visitor);
|
||||
};
|
||||
/**
|
||||
* Adds a pre processor object
|
||||
* @param {object} preProcessor
|
||||
* @param {number} priority - guidelines 1 = before import, 1000 = import, 2000 = after import
|
||||
*/
|
||||
PluginManager.prototype.addPreProcessor = function(preProcessor, priority) {
|
||||
var indexToInsertAt;
|
||||
for (indexToInsertAt = 0; indexToInsertAt < this.preProcessors.length; indexToInsertAt++) {
|
||||
if (this.preProcessors[indexToInsertAt].priority >= priority) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
this.preProcessors.splice(indexToInsertAt, 0, {preProcessor: preProcessor, priority: priority});
|
||||
};
|
||||
/**
|
||||
* Adds a post processor object
|
||||
* @param {object} postProcessor
|
||||
* @param {number} priority - guidelines 1 = before compression, 1000 = compression, 2000 = after compression
|
||||
*/
|
||||
PluginManager.prototype.addPostProcessor = function(postProcessor, priority) {
|
||||
var indexToInsertAt;
|
||||
for (indexToInsertAt = 0; indexToInsertAt < this.postProcessors.length; indexToInsertAt++) {
|
||||
if (this.postProcessors[indexToInsertAt].priority >= priority) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
this.postProcessors.splice(indexToInsertAt, 0, {postProcessor: postProcessor, priority: priority});
|
||||
};
|
||||
/**
|
||||
*
|
||||
* @param manager
|
||||
*/
|
||||
PluginManager.prototype.addFileManager = function(manager) {
|
||||
this.fileManagers.push(manager);
|
||||
};
|
||||
/**
|
||||
*
|
||||
* @returns {Array}
|
||||
* @private
|
||||
*/
|
||||
PluginManager.prototype.getPreProcessors = function() {
|
||||
var preProcessors = [];
|
||||
for (var i = 0; i < this.preProcessors.length; i++) {
|
||||
preProcessors.push(this.preProcessors[i].preProcessor);
|
||||
}
|
||||
return preProcessors;
|
||||
};
|
||||
/**
|
||||
*
|
||||
* @returns {Array}
|
||||
* @private
|
||||
*/
|
||||
PluginManager.prototype.getPostProcessors = function() {
|
||||
var postProcessors = [];
|
||||
for (var i = 0; i < this.postProcessors.length; i++) {
|
||||
postProcessors.push(this.postProcessors[i].postProcessor);
|
||||
}
|
||||
return postProcessors;
|
||||
};
|
||||
/**
|
||||
*
|
||||
* @returns {Array}
|
||||
* @private
|
||||
*/
|
||||
PluginManager.prototype.getVisitors = function() {
|
||||
return this.visitors;
|
||||
};
|
||||
/**
|
||||
*
|
||||
* @returns {Array}
|
||||
* @private
|
||||
*/
|
||||
PluginManager.prototype.getFileManagers = function() {
|
||||
return this.fileManagers;
|
||||
};
|
||||
module.exports = PluginManager;
|
||||
Reference in New Issue
Block a user