segment.js 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", { value: true });
  3. exports.segment = void 0;
  4. function segment(...args) {
  5. const text = args[0];
  6. if (args.length === 1) {
  7. return text;
  8. }
  9. let source;
  10. let start;
  11. let end;
  12. let hasData = false;
  13. let data;
  14. if (typeof args[1] !== 'number') {
  15. source = args[1];
  16. start = typeof args[2] == 'number' ? args[2] : args[2][0];
  17. end = typeof args[2] == 'number' ? args[2] + text.length : args[2][1];
  18. hasData = args.length >= 4;
  19. if (hasData) {
  20. data = args[3];
  21. }
  22. }
  23. else {
  24. start = typeof args[1] == 'number' ? args[1] : args[1][0];
  25. end = typeof args[1] == 'number' ? args[1] + text.length : args[1][1];
  26. hasData = args.length >= 3;
  27. if (hasData) {
  28. data = args[2];
  29. }
  30. }
  31. if (hasData) {
  32. return [text, source, [start, end], data];
  33. }
  34. else {
  35. return [text, source, [start, end]];
  36. }
  37. }
  38. exports.segment = segment;
  39. //# sourceMappingURL=segment.js.map