parse.js 4.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. "use strict";
  2. var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
  3. if (k2 === undefined) k2 = k;
  4. Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
  5. }) : (function(o, m, k, k2) {
  6. if (k2 === undefined) k2 = k;
  7. o[k2] = m[k];
  8. }));
  9. var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
  10. Object.defineProperty(o, "default", { enumerable: true, value: v });
  11. }) : function(o, v) {
  12. o["default"] = v;
  13. });
  14. var __importStar = (this && this.__importStar) || function (mod) {
  15. if (mod && mod.__esModule) return mod;
  16. var result = {};
  17. if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
  18. __setModuleDefault(result, mod);
  19. return result;
  20. };
  21. var __importDefault = (this && this.__importDefault) || function (mod) {
  22. return (mod && mod.__esModule) ? mod : { "default": mod };
  23. };
  24. Object.defineProperty(exports, "__esModule", { value: true });
  25. exports.parse = exports.parseWithoutProcessing = void 0;
  26. var parser_1 = __importDefault(require("./parser"));
  27. var whitespace_control_1 = __importDefault(require("./whitespace-control"));
  28. var Helpers = __importStar(require("./helpers"));
  29. var baseHelpers = {};
  30. for (var helper in Helpers) {
  31. if (Object.prototype.hasOwnProperty.call(Helpers, helper)) {
  32. baseHelpers[helper] = Helpers[helper];
  33. }
  34. }
  35. function parseWithoutProcessing(input, options) {
  36. // Just return if an already-compiled AST was passed in.
  37. if (input.type === 'Program') {
  38. return input;
  39. }
  40. parser_1.default.yy = baseHelpers;
  41. // Altering the shared object here, but this is ok as parser is a sync operation
  42. parser_1.default.yy.locInfo = function (locInfo) {
  43. return new Helpers.SourceLocation(options && options.srcName, locInfo);
  44. };
  45. var ast = parser_1.default.parse(input);
  46. return ast;
  47. }
  48. exports.parseWithoutProcessing = parseWithoutProcessing;
  49. function parse(input, options) {
  50. var ast = parseWithoutProcessing(input, options);
  51. var strip = new whitespace_control_1.default(options);
  52. return strip.accept(ast);
  53. }
  54. exports.parse = parse;
  55. //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvcGFyc2UuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLG9EQUE4QjtBQUM5Qiw0RUFBcUQ7QUFDckQsaURBQXFDO0FBRXJDLElBQUksV0FBVyxHQUFHLEVBQUUsQ0FBQztBQUVyQixLQUFLLElBQUksTUFBTSxJQUFJLE9BQU8sRUFBRTtJQUMxQixJQUFJLE1BQU0sQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLEVBQUU7UUFDekQsV0FBVyxDQUFDLE1BQU0sQ0FBQyxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztLQUN2QztDQUNGO0FBRUQsU0FBZ0Isc0JBQXNCLENBQUMsS0FBSyxFQUFFLE9BQU87SUFDbkQsd0RBQXdEO0lBQ3hELElBQUksS0FBSyxDQUFDLElBQUksS0FBSyxTQUFTLEVBQUU7UUFDNUIsT0FBTyxLQUFLLENBQUM7S0FDZDtJQUVELGdCQUFNLENBQUMsRUFBRSxHQUFHLFdBQVcsQ0FBQztJQUV4QixnRkFBZ0Y7SUFDaEYsZ0JBQU0sQ0FBQyxFQUFFLENBQUMsT0FBTyxHQUFHLFVBQVMsT0FBTztRQUNsQyxPQUFPLElBQUksT0FBTyxDQUFDLGNBQWMsQ0FBQyxPQUFPLElBQUksT0FBTyxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUN6RSxDQUFDLENBQUM7SUFFRixJQUFJLEdBQUcsR0FBRyxnQkFBTSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUU5QixPQUFPLEdBQUcsQ0FBQztBQUNiLENBQUM7QUFoQkQsd0RBZ0JDO0FBRUQsU0FBZ0IsS0FBSyxDQUFDLEtBQUssRUFBRSxPQUFPO0lBQ2xDLElBQUksR0FBRyxHQUFHLHNCQUFzQixDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNqRCxJQUFJLEtBQUssR0FBRyxJQUFJLDRCQUFpQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBRTNDLE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUMzQixDQUFDO0FBTEQsc0JBS0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgcGFyc2VyIGZyb20gJy4vcGFyc2VyJztcbmltcG9ydCBXaGl0ZXNwYWNlQ29udHJvbCBmcm9tICcuL3doaXRlc3BhY2UtY29udHJvbCc7XG5pbXBvcnQgKiBhcyBIZWxwZXJzIGZyb20gJy4vaGVscGVycyc7XG5cbmxldCBiYXNlSGVscGVycyA9IHt9O1xuXG5mb3IgKGxldCBoZWxwZXIgaW4gSGVscGVycykge1xuICBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKEhlbHBlcnMsIGhlbHBlcikpIHtcbiAgICBiYXNlSGVscGVyc1toZWxwZXJdID0gSGVscGVyc1toZWxwZXJdO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZVdpdGhvdXRQcm9jZXNzaW5nKGlucHV0LCBvcHRpb25zKSB7XG4gIC8vIEp1c3QgcmV0dXJuIGlmIGFuIGFscmVhZHktY29tcGlsZWQgQVNUIHdhcyBwYXNzZWQgaW4uXG4gIGlmIChpbnB1dC50eXBlID09PSAnUHJvZ3JhbScpIHtcbiAgICByZXR1cm4gaW5wdXQ7XG4gIH1cblxuICBwYXJzZXIueXkgPSBiYXNlSGVscGVycztcblxuICAvLyBBbHRlcmluZyB0aGUgc2hhcmVkIG9iamVjdCBoZXJlLCBidXQgdGhpcyBpcyBvayBhcyBwYXJzZXIgaXMgYSBzeW5jIG9wZXJhdGlvblxuICBwYXJzZXIueXkubG9jSW5mbyA9IGZ1bmN0aW9uKGxvY0luZm8pIHtcbiAgICByZXR1cm4gbmV3IEhlbHBlcnMuU291cmNlTG9jYXRpb24ob3B0aW9ucyAmJiBvcHRpb25zLnNyY05hbWUsIGxvY0luZm8pO1xuICB9O1xuXG4gIGxldCBhc3QgPSBwYXJzZXIucGFyc2UoaW5wdXQpO1xuXG4gIHJldHVybiBhc3Q7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZShpbnB1dCwgb3B0aW9ucykge1xuICBsZXQgYXN0ID0gcGFyc2VXaXRob3V0UHJvY2Vzc2luZyhpbnB1dCwgb3B0aW9ucyk7XG4gIGxldCBzdHJpcCA9IG5ldyBXaGl0ZXNwYWNlQ29udHJvbChvcHRpb25zKTtcblxuICByZXR1cm4gc3RyaXAuYWNjZXB0KGFzdCk7XG59XG4iXX0=