render.js 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", { value: true });
  3. var tslib_1 = require("tslib");
  4. var utils = tslib_1.__importStar(require("./utils"));
  5. function default_1(environment, ParseTree) {
  6. var render = function (input, options, callback) {
  7. if (typeof options === 'function') {
  8. callback = options;
  9. options = utils.copyOptions(this.options, {});
  10. }
  11. else {
  12. options = utils.copyOptions(this.options, options || {});
  13. }
  14. if (!callback) {
  15. var self_1 = this;
  16. return new Promise(function (resolve, reject) {
  17. render.call(self_1, input, options, function (err, output) {
  18. if (err) {
  19. reject(err);
  20. }
  21. else {
  22. resolve(output);
  23. }
  24. });
  25. });
  26. }
  27. else {
  28. this.parse(input, options, function (err, root, imports, options) {
  29. if (err) {
  30. return callback(err);
  31. }
  32. var result;
  33. try {
  34. var parseTree = new ParseTree(root, imports);
  35. result = parseTree.toCSS(options);
  36. }
  37. catch (err) {
  38. return callback(err);
  39. }
  40. callback(null, result);
  41. });
  42. }
  43. };
  44. return render;
  45. }
  46. exports.default = default_1;
  47. //# sourceMappingURL=render.js.map