string_utils.js 989 B

12345678910111213141516171819202122232425262728293031
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", { value: true });
  3. exports.getStringFromStrOrFunc = exports.escapeForWithinString = void 0;
  4. /** @internal */
  5. function escapeForWithinString(str, quoteKind) {
  6. let result = "";
  7. // todo: reduce appends (don't go char by char)
  8. for (let i = 0; i < str.length; i++) {
  9. if (str[i] === quoteKind) {
  10. result += "\\";
  11. }
  12. else if (str[i] === "\r" && str[i + 1] === "\n") {
  13. result += "\\r\\n\\";
  14. i++; // skip the \r
  15. }
  16. else if (str[i] === "\n") {
  17. result += "\\n\\";
  18. }
  19. else if (str[i] === "\\") {
  20. result += "\\";
  21. }
  22. result += str[i];
  23. }
  24. return result;
  25. }
  26. exports.escapeForWithinString = escapeForWithinString;
  27. /** @internal */
  28. function getStringFromStrOrFunc(strOrFunc) {
  29. return strOrFunc instanceof Function ? strOrFunc() : strOrFunc;
  30. }
  31. exports.getStringFromStrOrFunc = getStringFromStrOrFunc;