Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
quarto-dev
GitHub Repository: quarto-dev/quarto-cli
Path: blob/main/tools/sass-variable-explainer/default-declarations.ts
6435 views
1
import { withType } from './ast-utils.ts';
2
3
// FIXME in SCSS, _declarations_ have a `!default` flag, not _values_
4
// but the parser we have puts the `!default` flag on the values
5
// we need to lift it up to the declaration level
6
7
export const explicitlyTagDefaultValues = (outer: any) =>
8
withType(outer, (node: any) => {
9
const l = node.value?.length;
10
if (node?.type !== "value" || l < 2) {
11
return node;
12
}
13
if (node.value[l - 1]?.type !== "identifier" ||
14
node.value[l - 1]?.value !== "default" ||
15
node.value[l - 2]?.type !== "operator" ||
16
node.value[l - 2]?.value !== "!") {
17
return node;
18
}
19
return {
20
...node,
21
value: node.value.slice(0, -2),
22
isDefault: true,
23
};
24
});
25