本文整理汇总了TypeScript中@stylable/core.evalDeclarationValue函数的典型用法代码示例。如果您正苦于以下问题:TypeScript evalDeclarationValue函数的具体用法?TypeScript evalDeclarationValue怎么用?TypeScript evalDeclarationValue使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了evalDeclarationValue函数的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: while
lines.forEach((line, ind) => {
const valueRegex = /value\(([\w-]+)\)/g;
let regexResult;
while ((regexResult = valueRegex.exec(line)) !== null) {
const result = regexResult[1];
const sym = meta.mappedSymbols[result];
let color: Color | null = null;
if (sym && sym._kind === 'var') {
const doc = TextDocument.create(
'',
'css',
0,
'.gaga {border: ' + evalDeclarationValue(stylable.resolver, sym.text, meta, sym.node) + '}'
);
color = cssService.findColor(doc);
} else if (sym && sym._kind === 'import' && sym.type === 'named') {
const impMeta = processor.process(sym.import.from);
const relevantVar = impMeta.vars.find(v => v.name === sym.name);
if (relevantVar) {
const doc = TextDocument.create(
'',
'css',
0,
'.gaga {border: ' +
evalDeclarationValue(
stylable.resolver,
'value(' + sym.name + ')',
impMeta,
relevantVar.node
) +
'}'
);
color = cssService.findColor(doc);
}
}
if (color) {
const range = new ProviderRange(
new ProviderPosition(
ind,
regexResult.index + regexResult[0].indexOf(regexResult[1]) - 'value('.length
),
new ProviderPosition(
ind,
regexResult.index + regexResult[0].indexOf(regexResult[1]) + result.length
)
);
colorComps.push({ color, range } as ColorInformation);
}
}
});
示例2: evalDeclarationValue
meta.vars.forEach(v => {
if (v.name.startsWith(inner)) {
const value = evalDeclarationValue(styl.resolver, v.text, meta, v.node);
comps.push(
valueCompletion(
v.name,
'Local variable',
value,
new ProviderRange(
new ProviderPosition(position.line, position.character - inner.length),
position
)
)
);
}
});
示例3: evalDeclarationValue
vars.forEach(v => {
const doc = TextDocument.create(
'',
'css',
0,
'.gaga {border: ' + evalDeclarationValue(stylable.resolver, v.text, impMeta!, v.node) + '}'
);
const color = cssService.findColor(doc);
if (color) {
meta.rawAst.walkDecls(valueMapping.named, decl => {
const lines = decl.value.split('\n');
const reg = new RegExp('\\b' + v.name + '\\b', 'g');
const lineIndex = lines.findIndex(l => reg.test(l));
if (lineIndex > -1 && lines[lineIndex].indexOf(v.name) > -1) {
let extraLines = 0;
let extraChars = 0;
if (decl.raws.between) {
extraLines = decl.raws.between.split('\n').length - 1;
extraChars = last(decl.raws.between.split('\n'))!.length;
}
const varStart = lineIndex // replace with value parser
? lines[lineIndex].indexOf(v.name) // replace with regex
: extraLines
? lines[lineIndex].indexOf(v.name) + extraChars
: lines[lineIndex].indexOf(v.name) +
valueMapping.named.length +
decl.source!.start!.column +
extraChars -
1;
const range = new ProviderRange(
new ProviderPosition(decl.source!.start!.line - 1 + lineIndex + extraLines, varStart),
new ProviderPosition(
decl.source!.start!.line - 1 + lineIndex + extraLines,
v.name.length + varStart
)
);
colorComps.push({ color, range } as ColorInformation);
}
});
}
});