当前位置: 首页>>代码示例>>TypeScript>>正文


TypeScript core.evalDeclarationValue函数代码示例

本文整理汇总了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);
         }
     }
 });
开发者ID:wix,项目名称:stylable-intelligence,代码行数:50,代码来源:color-provider.ts

示例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
                 )
             )
         );
     }
 });
开发者ID:wix,项目名称:stylable-intelligence,代码行数:16,代码来源:completion-providers.ts

示例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);
                        }
                    });
                }
            });
开发者ID:wix,项目名称:stylable-intelligence,代码行数:42,代码来源:color-provider.ts


注:本文中的@stylable/core.evalDeclarationValue函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。