• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

TypeScript template-lint.Parser类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了TypeScript中template-lint.Parser的典型用法代码示例。如果您正苦于以下问题:TypeScript Parser类的具体用法?TypeScript Parser怎么用?TypeScript Parser使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



在下文中一共展示了Parser类的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的TypeScript代码示例。

示例1: init

 init(parser: Parser) {
     parser.on("startTag", (name, attrs, selfClosing, location) => {
         this.examineTag(name, attrs, location.line, location.col);
     });
     parser.on("text", (text, location) => {
         this.examineText(text, location.line);
     });
 }
开发者ID:grofit,项目名称:aurelia-template-lint,代码行数:8,代码来源:binding-syntax.ts


示例2: init

    init(parser: Parser) {
        var stack = parser.state.stack

        parser.on("startTag", (tag, attrs, sc, loc) => {
            if (tag == 'slot') {
                var name = "";
                var nameIndex = attrs.findIndex((a) => a.name == "name");

                if (nameIndex >= 0)
                    name = attrs[nameIndex].value;

                this.slots.push({ name: name, loc: loc });

                for (let i = stack.length - 1; i >= 0; i--) {
                    let result = stack[i].attrs.find(x => this.controllers.indexOf(x.name)!= -1)
                    if (result){
                        this.reportIssue(
                            new Issue({
                                message: `slot cannot have ancestor using ${result.name}`,
                                line: loc.line,
                                column: loc.col
                            }));
                        return;
                    }
                }
            }
        })
    }
开发者ID:appleskin,项目名称:aurelia-template-lint,代码行数:28,代码来源:slot.ts


示例3: init

  init(parser: Parser) {
    parser.on("startTag", (tag, attrs, selfClosing, loc) => {
      let rules = this.patterns.filter(r => {
        return r.tag.test(tag);
      });

      if (rules) {
        for (var rule of rules) {
          if (!attrs.find(x => rule.attr.test(x.name))) {
            let issue = new Issue({
              message: rule.msg,
              severity: IssueSeverity.Error,
              line: loc.line,
              column: loc.col,
              start: loc.startOffset,
              end: loc.endOffset
            });
            this.reportIssue(issue);
          }
        }
      }
    });
  }
开发者ID:MeirionHughes,项目名称:aurelia-template-lint,代码行数:23,代码来源:required-attr.ts


示例4: init

    init(parser: Parser) {

        var syntax: RegExp = /(.+)( +of +)(.+)/

        parser.on("startTag", (tag, attrs, selfClosing, loc) => {

            var self = this;

            attrs.forEach(attr => {
                if (attr.name == "repeat") {
                    let issue = new Issue({
                        message: "did you miss `.for` on repeat?", 
                        line: loc.line, 
                        column: loc.col});

                    self.reportIssue(issue);
                    return;
                }
                if (attr.name == "repeat.for") {
                    var script = attr.value.trim();

                    var matches = script.match(syntax);

                    var error = null;

                    if (matches == null || matches.length == 0) {
                        let error = new Issue({
                            message: "repeat syntax should be of form `* of *`",
                            line: loc.line,
                            column: loc.col});
                        self.reportIssue(error);
                    }
                }
            });
        });
    }
开发者ID:grofit,项目名称:aurelia-template-lint,代码行数:36,代码来源:repeatfor.ts


示例5: init

    init(parser: Parser) {
      
        this.disable = false;
        this.first = true;
        this.count = 0;

        parser.on('startTag', (name, attrs, selfClosing, location) => {

            // Ignore Full HTML Documents
            if (this.disable || name == 'html') {
                this.disable = true;
                return;
            }

            if (this.first) {

                if (name != 'template') {
                    let error = new Issue({
                        message: "root element is not template",
                        line: location.line, 
                        column:location.col});
                    
                    this.reportIssue(error);
                    return;
                }
                
                this.count++;
                this.first = false;
                return;
            }

            if (name == 'template') {
                if (this.count > 0) {
                    let stack = parser.state.stack;
                    let stackCount = stack.length;
                    
                    if (stackCount > 0) {

                        this.containers.forEach(containerName => {
                            if(stack[stackCount-1].name == containerName)
                            {
                                let error = new Issue({
                                    message: `template as child of <${containerName}> not allowed`, 
                                    line: location.line, 
                                    column: location.col
                                });

                                this.reportIssue(error);
                            }                     
                        });
                    }
                    else {
                        let error = new Issue({
                            message: "more than one template in file", 
                            line: location.line, 
                            column: location.col});
                        this.reportIssue(error);
                    }
                }
                this.count += 1;
            }
        }); 
    }  
开发者ID:appleskin,项目名称:aurelia-template-lint,代码行数:63,代码来源:template.ts



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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
TypeScript tempy.directory函数代码示例发布时间:2022-05-25
下一篇:
TypeScript template-lint.Linter类代码示例发布时间:2022-05-25
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap