File size: 1,838 Bytes
bc20498
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
"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,
    };
}