Files
enviPy-bayer/static/js/ketcher2/node_modules/less/lib/less/render.js
2025-06-23 20:13:54 +02:00

42 lines
1.3 KiB
JavaScript

var PromiseConstructor;
module.exports = function(environment, ParseTree, ImportManager) {
var render = function (input, options, callback) {
if (typeof options === 'function') {
callback = options;
options = {};
}
if (!callback) {
if (!PromiseConstructor) {
PromiseConstructor = typeof Promise === 'undefined' ? require('promise') : Promise;
}
var self = this;
return new PromiseConstructor(function (resolve, reject) {
render.call(self, input, options, function(err, output) {
if (err) {
reject(err);
} else {
resolve(output);
}
});
});
} else {
this.parse(input, options, function(err, root, imports, options) {
if (err) { return callback(err); }
var result;
try {
var parseTree = new ParseTree(root, imports);
result = parseTree.toCSS(options);
}
catch (err) { return callback(err); }
callback(null, result);
});
}
};
return render;
};