slice.js 3.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", {
  3. value: true
  4. });
  5. exports.SourceSlice = void 0;
  6. var _span = require("./span");
  7. class SourceSlice {
  8. constructor(options) {
  9. this.loc = options.loc;
  10. this.chars = options.chars;
  11. }
  12. static synthetic(chars) {
  13. let offsets = _span.SourceSpan.synthetic(chars);
  14. return new SourceSlice({
  15. loc: offsets,
  16. chars: chars
  17. });
  18. }
  19. static load(source, slice) {
  20. return new SourceSlice({
  21. loc: _span.SourceSpan.load(source, slice[1]),
  22. chars: slice[0]
  23. });
  24. }
  25. getString() {
  26. return this.chars;
  27. }
  28. serialize() {
  29. return [this.chars, this.loc.serialize()];
  30. }
  31. }
  32. exports.SourceSlice = SourceSlice;
  33. //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL3N5bnRheC9saWIvc291cmNlL3NsaWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFDQTs7QUFPTSxNQUFBLFdBQUEsQ0FBa0I7QUFnQnRCLEVBQUEsV0FBQSxDQUFBLE9BQUEsRUFBc0Q7QUFDcEQsU0FBQSxHQUFBLEdBQVcsT0FBTyxDQUFsQixHQUFBO0FBQ0EsU0FBQSxLQUFBLEdBQWEsT0FBTyxDQUFwQixLQUFBO0FBQ0Q7O0FBbEJELFNBQUEsU0FBQSxDQUFBLEtBQUEsRUFBMkM7QUFDekMsUUFBSSxPQUFPLEdBQUcsaUJBQUEsU0FBQSxDQUFkLEtBQWMsQ0FBZDs7QUFDQSxXQUFPLElBQUEsV0FBQSxDQUFnQjtBQUFFLE1BQUEsR0FBRyxFQUFMLE9BQUE7QUFBZ0IsTUFBQSxLQUFLLEVBQUU7QUFBdkIsS0FBaEIsQ0FBUDtBQUNEOztBQUVELFNBQUEsSUFBQSxDQUFBLE1BQUEsRUFBQSxLQUFBLEVBQXdEO0FBQ3RELFdBQU8sSUFBQSxXQUFBLENBQWdCO0FBQ3JCLE1BQUEsR0FBRyxFQUFFLGlCQUFBLElBQUEsQ0FBQSxNQUFBLEVBQXdCLEtBQUssQ0FEYixDQUNhLENBQTdCLENBRGdCO0FBRXJCLE1BQUEsS0FBSyxFQUFFLEtBQUssQ0FBQSxDQUFBO0FBRlMsS0FBaEIsQ0FBUDtBQUlEOztBQVVELEVBQUEsU0FBUyxHQUFBO0FBQ1AsV0FBTyxLQUFQLEtBQUE7QUFDRDs7QUFFRCxFQUFBLFNBQVMsR0FBQTtBQUNQLFdBQU8sQ0FBQyxLQUFELEtBQUEsRUFBYSxLQUFBLEdBQUEsQ0FBcEIsU0FBb0IsRUFBYixDQUFQO0FBQ0Q7O0FBM0JxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNvdXJjZSB9IGZyb20gJy4vaW5kZXgnO1xuaW1wb3J0IHsgU2VyaWFsaXplZFNvdXJjZVNwYW4sIFNvdXJjZVNwYW4gfSBmcm9tICcuL3NwYW4nO1xuXG5leHBvcnQgdHlwZSBTZXJpYWxpemVkU291cmNlU2xpY2U8Q2hhcnMgZXh0ZW5kcyBzdHJpbmcgPSBzdHJpbmc+ID0gW1xuICBjaGFyczogQ2hhcnMsXG4gIHNwYW46IFNlcmlhbGl6ZWRTb3VyY2VTcGFuXG5dO1xuXG5leHBvcnQgY2xhc3MgU291cmNlU2xpY2U8Q2hhcnMgZXh0ZW5kcyBzdHJpbmcgPSBzdHJpbmc+IHtcbiAgc3RhdGljIHN5bnRoZXRpYzxTIGV4dGVuZHMgc3RyaW5nPihjaGFyczogUyk6IFNvdXJjZVNsaWNlPFM+IHtcbiAgICBsZXQgb2Zmc2V0cyA9IFNvdXJjZVNwYW4uc3ludGhldGljKGNoYXJzKTtcbiAgICByZXR1cm4gbmV3IFNvdXJjZVNsaWNlKHsgbG9jOiBvZmZzZXRzLCBjaGFyczogY2hhcnMgfSk7XG4gIH1cblxuICBzdGF0aWMgbG9hZChzb3VyY2U6IFNvdXJjZSwgc2xpY2U6IFNlcmlhbGl6ZWRTb3VyY2VTbGljZSk6IFNvdXJjZVNsaWNlIHtcbiAgICByZXR1cm4gbmV3IFNvdXJjZVNsaWNlKHtcbiAgICAgIGxvYzogU291cmNlU3Bhbi5sb2FkKHNvdXJjZSwgc2xpY2VbMV0pLFxuICAgICAgY2hhcnM6IHNsaWNlWzBdLFxuICAgIH0pO1xuICB9XG5cbiAgcmVhZG9ubHkgY2hhcnM6IENoYXJzO1xuICByZWFkb25seSBsb2M6IFNvdXJjZVNwYW47XG5cbiAgY29uc3RydWN0b3Iob3B0aW9uczogeyBsb2M6IFNvdXJjZVNwYW47IGNoYXJzOiBDaGFycyB9KSB7XG4gICAgdGhpcy5sb2MgPSBvcHRpb25zLmxvYztcbiAgICB0aGlzLmNoYXJzID0gb3B0aW9ucy5jaGFycztcbiAgfVxuXG4gIGdldFN0cmluZygpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmNoYXJzO1xuICB9XG5cbiAgc2VyaWFsaXplKCk6IFNlcmlhbGl6ZWRTb3VyY2VTbGljZTxDaGFycz4ge1xuICAgIHJldHVybiBbdGhpcy5jaGFycywgdGhpcy5sb2Muc2VyaWFsaXplKCldO1xuICB9XG59XG4iXSwic291cmNlUm9vdCI6IiJ9