1
TypeScriptとそれに対応するJavaScriptファイルにASCII文字のみが含まれるようにするにはどうすればよいですか?TypeScriptファイルにASCII以外の文字が含まれていないことをどのように確認しますか?
TypeScriptとそれに対応するJavaScriptファイルにASCII文字のみが含まれるようにするにはどうすればよいですか?TypeScriptファイルにASCII以外の文字が含まれていないことをどのように確認しますか?
まだルールはありません。
:
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つのアイデアです。お楽しみください
明確にしてください。 UTF-8は、Unicode文字セットのエンコーディングです。 「UTF-8文字」はありません。おそらくファイルから一連のバイトを表示することが役に立ちます。 –
@TomBlodgetありがとうございます。私は私の質問を明確にした、私は信じている – alreadytaken