is-string-literal.js 376 B

123456789101112131415161718
  1. "use strict";
  2. var ensureString = require("type/string/ensure");
  3. module.exports = function (str) {
  4. var quote, i, char;
  5. str = ensureString(str);
  6. quote = str[0];
  7. if (quote !== "'" && quote !== "\"") return false;
  8. i = 0;
  9. char = str[++i];
  10. while (char) {
  11. if (char === quote) break;
  12. if (char === "\\") ++i;
  13. char = str[++i];
  14. }
  15. return Boolean(char && !str[i + 1]);
  16. };