43 lines
1.8 KiB
JavaScript
43 lines
1.8 KiB
JavaScript
"use strict";
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.isEnableRunes = isEnableRunes;
|
|
exports.resolveSvelteParseContextForSvelte = resolveSvelteParseContextForSvelte;
|
|
exports.resolveSvelteParseContextForSvelteScript = resolveSvelteParseContextForSvelteScript;
|
|
const svelte_version_1 = require("./svelte-version");
|
|
function isEnableRunes(svelteConfig, parserOptions) {
|
|
var _a, _b;
|
|
if (!svelte_version_1.svelteVersion.gte(5))
|
|
return false;
|
|
if (((_a = parserOptions.svelteFeatures) === null || _a === void 0 ? void 0 : _a.runes) != null) {
|
|
return Boolean(parserOptions.svelteFeatures.runes);
|
|
}
|
|
if (((_b = svelteConfig === null || svelteConfig === void 0 ? void 0 : svelteConfig.compilerOptions) === null || _b === void 0 ? void 0 : _b.runes) != null) {
|
|
return Boolean(svelteConfig.compilerOptions.runes);
|
|
}
|
|
return true;
|
|
}
|
|
function resolveSvelteParseContextForSvelte(svelteConfig, parserOptions, svelteAst) {
|
|
const svelteOptions = svelteAst.options;
|
|
if ((svelteOptions === null || svelteOptions === void 0 ? void 0 : svelteOptions.runes) != null) {
|
|
return {
|
|
runes: svelteOptions.runes,
|
|
compilerVersion: svelte_version_1.compilerVersion,
|
|
svelteConfig,
|
|
};
|
|
}
|
|
return {
|
|
runes: isEnableRunes(svelteConfig, parserOptions),
|
|
compilerVersion: svelte_version_1.compilerVersion,
|
|
svelteConfig,
|
|
};
|
|
}
|
|
function resolveSvelteParseContextForSvelteScript(svelteConfig, parserOptions) {
|
|
return resolveSvelteParseContext(svelteConfig, parserOptions);
|
|
}
|
|
function resolveSvelteParseContext(svelteConfig, parserOptions) {
|
|
return {
|
|
runes: isEnableRunes(svelteConfig, parserOptions),
|
|
compilerVersion: svelte_version_1.compilerVersion,
|
|
svelteConfig,
|
|
};
|
|
}
|