2016-11-03 5 views
1

TypeScriptとそれに対応するJavaScriptファイルにASCII文字のみが含まれるようにするにはどうすればよいですか?TypeScriptファイルにASCII以外の文字が含まれていないことをどのように確認しますか?

+0

明確にしてください。 UTF-8は、Unicode文字セットのエンコーディングです。 「UTF-8文字」はありません。おそらくファイルから一連のバイトを表示することが役に立ちます。 –

+1

@TomBlodgetありがとうございます。私は私の質問を明確にした、私は信じている – alreadytaken

答えて

4

まだルールはありません。

カスタムルール

import * as ts from "typescript"; 
import * as Lint from "tslint/lib/lint"; 

export class Rule extends Lint.Rules.AbstractRule { 
    public static FAILURE_STRING = "unicode forbidden"; 

    public apply(sourceFile: ts.SourceFile): Lint.RuleFailure[] { 
     return this.applyWithWalker(new SourcefileWalker(sourceFile, this.getOptions())); 
    } 
} 

// The walker takes care of all the work. 
class SourceFileWalker extends Lint.RuleWalker { 
    public visitSourceFile(node: ts.SourceFile) { 


     // ACTUAL TODO: 
     const text = node.getFullText(); 

     // Match ascii only 
     if (!isASCII(text)){ 
      // create a failure at the current position 
      this.addFailure(this.createFailure(node.getStart(), node.getWidth(), Rule.FAILURE_STRING)); 
     } 

     // call the base version of this visitor to actually parse this node 
     super.visitSourceFile(node); 
    } 
} 

function isASCII(str, extended) { 
    return (extended ? /^[\x00-\xFF]*$/ : /^[\x00-\x7F]*$/).test(str); 
} 

私がテストし、デバッグするために、あなたに残して良い十分なサンプルです:https://github.com/palantir/tslint/#writing-custom-rules

は、次の1つのアイデアです。お楽しみください

関連する問題