astro-ghostcms/.pnpm-store/v3/files/a4/57e216ac13389e07f840b4c5681...

37 lines
1.7 KiB
Plaintext

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.parseStringTokens = exports.parseStringLiteral = void 0;
const tokenizer_1 = require("./tokenizer");
function parseStringLiteral(source, option) {
var _a, _b;
const startIndex = (_a = option === null || option === void 0 ? void 0 : option.start) !== null && _a !== void 0 ? _a : 0;
const cp = source.codePointAt(startIndex);
const ecmaVersion = (_b = option === null || option === void 0 ? void 0 : option.ecmaVersion) !== null && _b !== void 0 ? _b : Infinity;
const tokenizer = new tokenizer_1.Tokenizer(source, {
start: startIndex + 1,
end: option === null || option === void 0 ? void 0 : option.end,
ecmaVersion: ecmaVersion >= 6 && ecmaVersion < 2015 ? ecmaVersion + 2009 : ecmaVersion,
});
const tokens = [...tokenizer.parseTokens(cp)];
return {
tokens,
get value() {
return tokens.map((t) => t.value).join("");
},
range: [startIndex, tokenizer.pos],
};
}
exports.parseStringLiteral = parseStringLiteral;
function* parseStringTokens(source, option) {
var _a, _b;
const startIndex = (_a = option === null || option === void 0 ? void 0 : option.start) !== null && _a !== void 0 ? _a : 0;
const ecmaVersion = (_b = option === null || option === void 0 ? void 0 : option.ecmaVersion) !== null && _b !== void 0 ? _b : Infinity;
const tokenizer = new tokenizer_1.Tokenizer(source, {
start: startIndex,
end: option === null || option === void 0 ? void 0 : option.end,
ecmaVersion: ecmaVersion >= 6 && ecmaVersion < 2015 ? ecmaVersion + 2009 : ecmaVersion,
});
yield* tokenizer.parseTokens();
}
exports.parseStringTokens = parseStringTokens;