parse.js 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", {
  3. value: true
  4. });
  5. exports.parseAsync = exports.parseSync = exports.parse = void 0;
  6. var _config = _interopRequireDefault(require("./config"));
  7. var _parser = _interopRequireDefault(require("./parser"));
  8. var _normalizeOpts = _interopRequireDefault(require("./transformation/normalize-opts"));
  9. function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
  10. const gensync = require("gensync");
  11. const parseRunner = gensync(function* parse(code, opts) {
  12. const config = yield* (0, _config.default)(opts);
  13. if (config === null) {
  14. return null;
  15. }
  16. return yield* (0, _parser.default)(config.passes, (0, _normalizeOpts.default)(config), code);
  17. });
  18. const parse = function parse(code, opts, callback) {
  19. if (typeof opts === "function") {
  20. callback = opts;
  21. opts = undefined;
  22. }
  23. if (callback === undefined) return parseRunner.sync(code, opts);
  24. parseRunner.errback(code, opts, callback);
  25. };
  26. exports.parse = parse;
  27. const parseSync = parseRunner.sync;
  28. exports.parseSync = parseSync;
  29. const parseAsync = parseRunner.async;
  30. exports.parseAsync = parseAsync;