aboutsummaryrefslogtreecommitdiff
path: root/node_modules/tslint/lib/language
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/tslint/lib/language')
-rw-r--r--node_modules/tslint/lib/language/formatter/abstractFormatter.d.ts23
-rw-r--r--node_modules/tslint/lib/language/formatter/abstractFormatter.js28
-rw-r--r--node_modules/tslint/lib/language/formatter/formatter.d.ts51
-rw-r--r--node_modules/tslint/lib/language/formatter/formatter.js18
-rw-r--r--node_modules/tslint/lib/language/rule/abstractRule.d.ts43
-rw-r--r--node_modules/tslint/lib/language/rule/abstractRule.js50
-rw-r--r--node_modules/tslint/lib/language/rule/optionallyTypedRule.d.ts22
-rw-r--r--node_modules/tslint/lib/language/rule/optionallyTypedRule.js28
-rw-r--r--node_modules/tslint/lib/language/rule/rule.d.ts189
-rw-r--r--node_modules/tslint/lib/language/rule/rule.js174
-rw-r--r--node_modules/tslint/lib/language/rule/typedRule.d.ts23
-rw-r--r--node_modules/tslint/lib/language/rule/typedRule.js34
-rw-r--r--node_modules/tslint/lib/language/utils.d.ts157
-rw-r--r--node_modules/tslint/lib/language/utils.js463
-rw-r--r--node_modules/tslint/lib/language/walker/blockScopeAwareRuleWalker.d.ts38
-rw-r--r--node_modules/tslint/lib/language/walker/blockScopeAwareRuleWalker.js82
-rw-r--r--node_modules/tslint/lib/language/walker/index.d.ts23
-rw-r--r--node_modules/tslint/lib/language/walker/index.js26
-rw-r--r--node_modules/tslint/lib/language/walker/programAwareRuleWalker.d.ts26
-rw-r--r--node_modules/tslint/lib/language/walker/programAwareRuleWalker.js37
-rw-r--r--node_modules/tslint/lib/language/walker/ruleWalker.d.ts49
-rw-r--r--node_modules/tslint/lib/language/walker/ruleWalker.js96
-rw-r--r--node_modules/tslint/lib/language/walker/scopeAwareRuleWalker.d.ts65
-rw-r--r--node_modules/tslint/lib/language/walker/scopeAwareRuleWalker.js100
-rw-r--r--node_modules/tslint/lib/language/walker/syntaxWalker.d.ts105
-rw-r--r--node_modules/tslint/lib/language/walker/syntaxWalker.js539
-rw-r--r--node_modules/tslint/lib/language/walker/walkContext.d.ts30
-rw-r--r--node_modules/tslint/lib/language/walker/walkContext.js41
-rw-r--r--node_modules/tslint/lib/language/walker/walker.d.ts29
-rw-r--r--node_modules/tslint/lib/language/walker/walker.js34
30 files changed, 0 insertions, 2623 deletions
diff --git a/node_modules/tslint/lib/language/formatter/abstractFormatter.d.ts b/node_modules/tslint/lib/language/formatter/abstractFormatter.d.ts
deleted file mode 100644
index db244af13..000000000
--- a/node_modules/tslint/lib/language/formatter/abstractFormatter.d.ts
+++ /dev/null
@@ -1,23 +0,0 @@
-/**
- * @license
- * Copyright 2013 Palantir Technologies, Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-import { RuleFailure } from "../rule/rule";
-import { IFormatter, IFormatterMetadata } from "./formatter";
-export declare abstract class AbstractFormatter implements IFormatter {
- static metadata: IFormatterMetadata;
- abstract format(failures: RuleFailure[]): string;
- protected sortFailures(failures: RuleFailure[]): RuleFailure[];
-}
diff --git a/node_modules/tslint/lib/language/formatter/abstractFormatter.js b/node_modules/tslint/lib/language/formatter/abstractFormatter.js
deleted file mode 100644
index 21ecc1064..000000000
--- a/node_modules/tslint/lib/language/formatter/abstractFormatter.js
+++ /dev/null
@@ -1,28 +0,0 @@
-"use strict";
-/**
- * @license
- * Copyright 2013 Palantir Technologies, Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-Object.defineProperty(exports, "__esModule", { value: true });
-var rule_1 = require("../rule/rule");
-var AbstractFormatter = /** @class */ (function () {
- function AbstractFormatter() {
- }
- AbstractFormatter.prototype.sortFailures = function (failures) {
- return failures.slice().sort(rule_1.RuleFailure.compare);
- };
- return AbstractFormatter;
-}());
-exports.AbstractFormatter = AbstractFormatter;
diff --git a/node_modules/tslint/lib/language/formatter/formatter.d.ts b/node_modules/tslint/lib/language/formatter/formatter.d.ts
deleted file mode 100644
index 49eb20fbe..000000000
--- a/node_modules/tslint/lib/language/formatter/formatter.d.ts
+++ /dev/null
@@ -1,51 +0,0 @@
-/**
- * @license
- * Copyright 2013 Palantir Technologies, Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-import { RuleFailure } from "../rule/rule";
-export interface IFormatterMetadata {
- /**
- * The name of the formatter.
- */
- formatterName: string;
- /**
- * A short, one line description of what the formatter does.
- */
- description: string;
- /**
- * More elaborate details about the formatter.
- */
- descriptionDetails?: string;
- /**
- * Sample output from the formatter.
- */
- sample: string;
- /**
- * Sample output from the formatter.
- */
- consumer: ConsumerType;
-}
-export declare type ConsumerType = "human" | "machine";
-export interface FormatterConstructor {
- new (): IFormatter;
-}
-export interface IFormatter {
- /**
- * Formats linter results
- * @param failures Linter failures that were not fixed
- * @param fixes Fixed linter failures. Available when the `--fix` argument is used on the command line
- */
- format(failures: RuleFailure[], fixes?: RuleFailure[]): string;
-}
diff --git a/node_modules/tslint/lib/language/formatter/formatter.js b/node_modules/tslint/lib/language/formatter/formatter.js
deleted file mode 100644
index 1c258a5da..000000000
--- a/node_modules/tslint/lib/language/formatter/formatter.js
+++ /dev/null
@@ -1,18 +0,0 @@
-"use strict";
-/**
- * @license
- * Copyright 2013 Palantir Technologies, Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-Object.defineProperty(exports, "__esModule", { value: true });
diff --git a/node_modules/tslint/lib/language/rule/abstractRule.d.ts b/node_modules/tslint/lib/language/rule/abstractRule.d.ts
deleted file mode 100644
index 65ed4a1b9..000000000
--- a/node_modules/tslint/lib/language/rule/abstractRule.d.ts
+++ /dev/null
@@ -1,43 +0,0 @@
-/**
- * @license
- * Copyright 2013 Palantir Technologies, Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-import * as ts from "typescript";
-import { IWalker, WalkContext } from "../walker";
-import { IOptions, IRule, IRuleMetadata, RuleFailure, RuleSeverity } from "./rule";
-export declare type NoInfer<T> = T & {
- [K in keyof T]: T[K];
-};
-export declare abstract class AbstractRule implements IRule {
- private readonly options;
- static metadata: IRuleMetadata;
- protected readonly ruleArguments: any[];
- protected readonly ruleSeverity: RuleSeverity;
- ruleName: string;
- constructor(options: IOptions);
- getOptions(): IOptions;
- abstract apply(sourceFile: ts.SourceFile): RuleFailure[];
- applyWithWalker(walker: IWalker): RuleFailure[];
- isEnabled(): boolean;
- protected applyWithFunction(sourceFile: ts.SourceFile, walkFn: (ctx: WalkContext<void>) => void): RuleFailure[];
- protected applyWithFunction<T>(sourceFile: ts.SourceFile, walkFn: (ctx: WalkContext<T>) => void, options: NoInfer<T>): RuleFailure[];
- protected applyWithFunction<T, U>(sourceFile: ts.SourceFile, walkFn: (ctx: WalkContext<T>, programOrChecker: U) => void, options: NoInfer<T>, checker: NoInfer<U>): RuleFailure[];
- /**
- * @deprecated
- * Failures will be filtered based on `tslint:disable` comments by tslint.
- * This method now does nothing.
- */
- protected filterFailures(failures: RuleFailure[]): RuleFailure[];
-}
diff --git a/node_modules/tslint/lib/language/rule/abstractRule.js b/node_modules/tslint/lib/language/rule/abstractRule.js
deleted file mode 100644
index 879ac31b8..000000000
--- a/node_modules/tslint/lib/language/rule/abstractRule.js
+++ /dev/null
@@ -1,50 +0,0 @@
-"use strict";
-/**
- * @license
- * Copyright 2013 Palantir Technologies, Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-Object.defineProperty(exports, "__esModule", { value: true });
-var walker_1 = require("../walker");
-var AbstractRule = /** @class */ (function () {
- function AbstractRule(options) {
- this.options = options;
- this.ruleName = options.ruleName;
- this.ruleArguments = options.ruleArguments;
- this.ruleSeverity = options.ruleSeverity;
- }
- AbstractRule.prototype.getOptions = function () {
- return this.options;
- };
- AbstractRule.prototype.applyWithWalker = function (walker) {
- walker.walk(walker.getSourceFile());
- return walker.getFailures();
- };
- AbstractRule.prototype.isEnabled = function () {
- return this.ruleSeverity !== "off";
- };
- AbstractRule.prototype.applyWithFunction = function (sourceFile, walkFn, options, programOrChecker) {
- var ctx = new walker_1.WalkContext(sourceFile, this.ruleName, options);
- walkFn(ctx, programOrChecker);
- return ctx.failures;
- };
- /**
- * @deprecated
- * Failures will be filtered based on `tslint:disable` comments by tslint.
- * This method now does nothing.
- */
- AbstractRule.prototype.filterFailures = function (failures) { return failures; };
- return AbstractRule;
-}());
-exports.AbstractRule = AbstractRule;
diff --git a/node_modules/tslint/lib/language/rule/optionallyTypedRule.d.ts b/node_modules/tslint/lib/language/rule/optionallyTypedRule.d.ts
deleted file mode 100644
index f12d74f44..000000000
--- a/node_modules/tslint/lib/language/rule/optionallyTypedRule.d.ts
+++ /dev/null
@@ -1,22 +0,0 @@
-/**
- * @license
- * Copyright 2017 Palantir Technologies, Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-import * as ts from "typescript";
-import { AbstractRule } from "./abstractRule";
-import { ITypedRule, RuleFailure } from "./rule";
-export declare abstract class OptionallyTypedRule extends AbstractRule implements ITypedRule {
- abstract applyWithProgram(sourceFile: ts.SourceFile, program: ts.Program): RuleFailure[];
-}
diff --git a/node_modules/tslint/lib/language/rule/optionallyTypedRule.js b/node_modules/tslint/lib/language/rule/optionallyTypedRule.js
deleted file mode 100644
index 1aefda55e..000000000
--- a/node_modules/tslint/lib/language/rule/optionallyTypedRule.js
+++ /dev/null
@@ -1,28 +0,0 @@
-"use strict";
-/**
- * @license
- * Copyright 2017 Palantir Technologies, Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-Object.defineProperty(exports, "__esModule", { value: true });
-var tslib_1 = require("tslib");
-var abstractRule_1 = require("./abstractRule");
-var OptionallyTypedRule = /** @class */ (function (_super) {
- tslib_1.__extends(OptionallyTypedRule, _super);
- function OptionallyTypedRule() {
- return _super !== null && _super.apply(this, arguments) || this;
- }
- return OptionallyTypedRule;
-}(abstractRule_1.AbstractRule));
-exports.OptionallyTypedRule = OptionallyTypedRule;
diff --git a/node_modules/tslint/lib/language/rule/rule.d.ts b/node_modules/tslint/lib/language/rule/rule.d.ts
deleted file mode 100644
index e37861c36..000000000
--- a/node_modules/tslint/lib/language/rule/rule.d.ts
+++ /dev/null
@@ -1,189 +0,0 @@
-/**
- * @license
- * Copyright 2013 Palantir Technologies, Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-import * as ts from "typescript";
-import { IWalker } from "../walker";
-export interface RuleConstructor {
- metadata: IRuleMetadata;
- new (options: IOptions): IRule;
-}
-export interface IRuleMetadata {
- /**
- * The kebab-case name of the rule.
- */
- ruleName: string;
- /**
- * The type of the rule - its overall purpose
- */
- type: RuleType;
- /**
- * A rule deprecation message, if applicable.
- */
- deprecationMessage?: string;
- /**
- * A short, one line description of what the rule does.
- */
- description: string;
- /**
- * More elaborate details about the rule.
- */
- descriptionDetails?: string;
- /**
- * Whether or not the rule will provide fix suggestions.
- */
- hasFix?: boolean;
- /**
- * An explanation of the available options for the rule.
- */
- optionsDescription: string;
- /**
- * Schema of the options the rule accepts.
- * The first boolean for whether the rule is enabled or not is already implied.
- * This field describes the options after that boolean.
- * If null, this rule has no options and is not configurable.
- */
- options: any;
- /**
- * Examples of what a standard config for the rule might look like.
- * Using a string[] here is deprecated. Write the options as a JSON object instead.
- */
- optionExamples?: Array<true | any[]> | string[];
- /**
- * An explanation of why the rule is useful.
- */
- rationale?: string;
- /**
- * Whether or not the rule requires type info to run.
- */
- requiresTypeInfo?: boolean;
- /**
- * Whether or not the rule use for TypeScript only. If `false`, this rule may be used with .js files.
- */
- typescriptOnly: boolean;
- /**
- * Examples demonstrating what the lint rule will pass and fail
- */
- codeExamples?: ICodeExample[];
-}
-export declare type RuleType = "functionality" | "maintainability" | "style" | "typescript";
-export declare type RuleSeverity = "warning" | "error" | "off";
-export interface ICodeExample {
- config: string;
- description: string;
- pass: string;
- fail?: string;
-}
-export interface IOptions {
- ruleArguments: any[];
- ruleSeverity: RuleSeverity;
- ruleName: string;
- /**
- * @deprecated
- * Tslint now handles disables itself.
- * This will be empty.
- */
- disabledIntervals: IDisabledInterval[];
-}
-/**
- * @deprecated
- * These are now handled internally.
- */
-export interface IDisabledInterval {
- startPosition: number;
- endPosition: number;
-}
-export interface IRule {
- getOptions(): IOptions;
- isEnabled(): boolean;
- apply(sourceFile: ts.SourceFile): RuleFailure[];
- applyWithWalker(walker: IWalker): RuleFailure[];
-}
-export interface ITypedRule extends IRule {
- applyWithProgram(sourceFile: ts.SourceFile, program: ts.Program): RuleFailure[];
-}
-export interface IRuleFailureJson {
- endPosition: IRuleFailurePositionJson;
- failure: string;
- fix?: FixJson;
- name: string;
- ruleSeverity: string;
- ruleName: string;
- startPosition: IRuleFailurePositionJson;
-}
-export interface IRuleFailurePositionJson {
- character: number;
- line: number;
- position: number;
-}
-export declare function isTypedRule(rule: IRule): rule is ITypedRule;
-export interface ReplacementJson {
- innerStart: number;
- innerLength: number;
- innerText: string;
-}
-export declare class Replacement {
- readonly start: number;
- readonly length: number;
- readonly text: string;
- static applyFixes(content: string, fixes: Fix[]): string;
- static applyAll(content: string, replacements: Replacement[]): string;
- static replaceNode(node: ts.Node, text: string, sourceFile?: ts.SourceFile): Replacement;
- static replaceFromTo(start: number, end: number, text: string): Replacement;
- static deleteText(start: number, length: number): Replacement;
- static deleteFromTo(start: number, end: number): Replacement;
- static appendText(start: number, text: string): Replacement;
- constructor(start: number, length: number, text: string);
- readonly end: number;
- apply(content: string): string;
- toJson(): ReplacementJson;
-}
-export declare class RuleFailurePosition {
- private readonly position;
- private readonly lineAndCharacter;
- constructor(position: number, lineAndCharacter: ts.LineAndCharacter);
- getPosition(): number;
- getLineAndCharacter(): ts.LineAndCharacter;
- toJson(): IRuleFailurePositionJson;
- equals(ruleFailurePosition: RuleFailurePosition): boolean;
-}
-export declare type Fix = Replacement | Replacement[];
-export declare type FixJson = ReplacementJson | ReplacementJson[];
-export declare class RuleFailure {
- private readonly sourceFile;
- private readonly failure;
- private readonly ruleName;
- private readonly fix?;
- private readonly fileName;
- private readonly startPosition;
- private readonly endPosition;
- private readonly rawLines;
- private ruleSeverity;
- static compare(a: RuleFailure, b: RuleFailure): number;
- constructor(sourceFile: ts.SourceFile, start: number, end: number, failure: string, ruleName: string, fix?: Replacement | Replacement[] | undefined);
- getFileName(): string;
- getRuleName(): string;
- getStartPosition(): RuleFailurePosition;
- getEndPosition(): RuleFailurePosition;
- getFailure(): string;
- hasFix(): boolean;
- getFix(): Replacement | Replacement[] | undefined;
- getRawLines(): string;
- getRuleSeverity(): RuleSeverity;
- setRuleSeverity(value: RuleSeverity): void;
- toJson(): IRuleFailureJson;
- equals(ruleFailure: RuleFailure): boolean;
- private createFailurePosition;
-}
diff --git a/node_modules/tslint/lib/language/rule/rule.js b/node_modules/tslint/lib/language/rule/rule.js
deleted file mode 100644
index d9c251842..000000000
--- a/node_modules/tslint/lib/language/rule/rule.js
+++ /dev/null
@@ -1,174 +0,0 @@
-"use strict";
-/**
- * @license
- * Copyright 2013 Palantir Technologies, Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-Object.defineProperty(exports, "__esModule", { value: true });
-var utils_1 = require("../../utils");
-function isTypedRule(rule) {
- return "applyWithProgram" in rule;
-}
-exports.isTypedRule = isTypedRule;
-var Replacement = /** @class */ (function () {
- function Replacement(start, length, text) {
- this.start = start;
- this.length = length;
- this.text = text;
- }
- Replacement.applyFixes = function (content, fixes) {
- return this.applyAll(content, utils_1.flatMap(fixes, utils_1.arrayify));
- };
- Replacement.applyAll = function (content, replacements) {
- // sort in reverse so that diffs are properly applied
- replacements.sort(function (a, b) { return b.end !== a.end ? b.end - a.end : b.start - a.start; });
- return replacements.reduce(function (text, r) { return r.apply(text); }, content);
- };
- Replacement.replaceNode = function (node, text, sourceFile) {
- return this.replaceFromTo(node.getStart(sourceFile), node.getEnd(), text);
- };
- Replacement.replaceFromTo = function (start, end, text) {
- return new Replacement(start, end - start, text);
- };
- Replacement.deleteText = function (start, length) {
- return new Replacement(start, length, "");
- };
- Replacement.deleteFromTo = function (start, end) {
- return new Replacement(start, end - start, "");
- };
- Replacement.appendText = function (start, text) {
- return new Replacement(start, 0, text);
- };
- Object.defineProperty(Replacement.prototype, "end", {
- get: function () {
- return this.start + this.length;
- },
- enumerable: true,
- configurable: true
- });
- Replacement.prototype.apply = function (content) {
- return content.substring(0, this.start) + this.text + content.substring(this.start + this.length);
- };
- Replacement.prototype.toJson = function () {
- // tslint:disable object-literal-sort-keys
- return {
- innerStart: this.start,
- innerLength: this.length,
- innerText: this.text,
- };
- // tslint:enable object-literal-sort-keys
- };
- return Replacement;
-}());
-exports.Replacement = Replacement;
-var RuleFailurePosition = /** @class */ (function () {
- function RuleFailurePosition(position, lineAndCharacter) {
- this.position = position;
- this.lineAndCharacter = lineAndCharacter;
- }
- RuleFailurePosition.prototype.getPosition = function () {
- return this.position;
- };
- RuleFailurePosition.prototype.getLineAndCharacter = function () {
- return this.lineAndCharacter;
- };
- RuleFailurePosition.prototype.toJson = function () {
- return {
- character: this.lineAndCharacter.character,
- line: this.lineAndCharacter.line,
- position: this.position,
- };
- };
- RuleFailurePosition.prototype.equals = function (ruleFailurePosition) {
- var ll = this.lineAndCharacter;
- var rr = ruleFailurePosition.lineAndCharacter;
- return this.position === ruleFailurePosition.position
- && ll.line === rr.line
- && ll.character === rr.character;
- };
- return RuleFailurePosition;
-}());
-exports.RuleFailurePosition = RuleFailurePosition;
-var RuleFailure = /** @class */ (function () {
- function RuleFailure(sourceFile, start, end, failure, ruleName, fix) {
- this.sourceFile = sourceFile;
- this.failure = failure;
- this.ruleName = ruleName;
- this.fix = fix;
- this.fileName = sourceFile.fileName;
- this.startPosition = this.createFailurePosition(start);
- this.endPosition = this.createFailurePosition(end);
- this.rawLines = sourceFile.text;
- this.ruleSeverity = "error";
- }
- RuleFailure.compare = function (a, b) {
- if (a.fileName !== b.fileName) {
- return a.fileName < b.fileName ? -1 : 1;
- }
- return a.startPosition.getPosition() - b.startPosition.getPosition();
- };
- RuleFailure.prototype.getFileName = function () {
- return this.fileName;
- };
- RuleFailure.prototype.getRuleName = function () {
- return this.ruleName;
- };
- RuleFailure.prototype.getStartPosition = function () {
- return this.startPosition;
- };
- RuleFailure.prototype.getEndPosition = function () {
- return this.endPosition;
- };
- RuleFailure.prototype.getFailure = function () {
- return this.failure;
- };
- RuleFailure.prototype.hasFix = function () {
- return this.fix !== undefined;
- };
- RuleFailure.prototype.getFix = function () {
- return this.fix;
- };
- RuleFailure.prototype.getRawLines = function () {
- return this.rawLines;
- };
- RuleFailure.prototype.getRuleSeverity = function () {
- return this.ruleSeverity;
- };
- RuleFailure.prototype.setRuleSeverity = function (value) {
- this.ruleSeverity = value;
- };
- RuleFailure.prototype.toJson = function () {
- return {
- endPosition: this.endPosition.toJson(),
- failure: this.failure,
- fix: this.fix === undefined ? undefined : Array.isArray(this.fix) ? this.fix.map(function (r) { return r.toJson(); }) : this.fix.toJson(),
- name: this.fileName,
- ruleName: this.ruleName,
- ruleSeverity: this.ruleSeverity.toUpperCase(),
- startPosition: this.startPosition.toJson(),
- };
- };
- RuleFailure.prototype.equals = function (ruleFailure) {
- return this.failure === ruleFailure.getFailure()
- && this.fileName === ruleFailure.getFileName()
- && this.startPosition.equals(ruleFailure.getStartPosition())
- && this.endPosition.equals(ruleFailure.getEndPosition());
- };
- RuleFailure.prototype.createFailurePosition = function (position) {
- var lineAndCharacter = this.sourceFile.getLineAndCharacterOfPosition(position);
- return new RuleFailurePosition(position, lineAndCharacter);
- };
- return RuleFailure;
-}());
-exports.RuleFailure = RuleFailure;
diff --git a/node_modules/tslint/lib/language/rule/typedRule.d.ts b/node_modules/tslint/lib/language/rule/typedRule.d.ts
deleted file mode 100644
index a4d1fcca0..000000000
--- a/node_modules/tslint/lib/language/rule/typedRule.d.ts
+++ /dev/null
@@ -1,23 +0,0 @@
-/**
- * @license
- * Copyright 2016 Palantir Technologies, Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-import * as ts from "typescript";
-import { AbstractRule } from "./abstractRule";
-import { ITypedRule, RuleFailure } from "./rule";
-export declare abstract class TypedRule extends AbstractRule implements ITypedRule {
- apply(): RuleFailure[];
- abstract applyWithProgram(sourceFile: ts.SourceFile, program: ts.Program): RuleFailure[];
-}
diff --git a/node_modules/tslint/lib/language/rule/typedRule.js b/node_modules/tslint/lib/language/rule/typedRule.js
deleted file mode 100644
index 83873d49f..000000000
--- a/node_modules/tslint/lib/language/rule/typedRule.js
+++ /dev/null
@@ -1,34 +0,0 @@
-"use strict";
-/**
- * @license
- * Copyright 2016 Palantir Technologies, Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-Object.defineProperty(exports, "__esModule", { value: true });
-var tslib_1 = require("tslib");
-var error_1 = require("../../error");
-var abstractRule_1 = require("./abstractRule");
-var TypedRule = /** @class */ (function (_super) {
- tslib_1.__extends(TypedRule, _super);
- function TypedRule() {
- return _super !== null && _super.apply(this, arguments) || this;
- }
- TypedRule.prototype.apply = function () {
- // if no program is given to the linter, show an error
- error_1.showWarningOnce("Warning: The '" + this.ruleName + "' rule requires type information.");
- return [];
- };
- return TypedRule;
-}(abstractRule_1.AbstractRule));
-exports.TypedRule = TypedRule;
diff --git a/node_modules/tslint/lib/language/utils.d.ts b/node_modules/tslint/lib/language/utils.d.ts
deleted file mode 100644
index 40b4aee16..000000000
--- a/node_modules/tslint/lib/language/utils.d.ts
+++ /dev/null
@@ -1,157 +0,0 @@
-/**
- * @license
- * Copyright 2013 Palantir Technologies, Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-import * as ts from "typescript";
-import { IDisabledInterval, RuleFailure } from "./rule/rule";
-export declare function getSourceFile(fileName: string, source: string): ts.SourceFile;
-/** @deprecated See IDisabledInterval. */
-export declare function doesIntersect(failure: RuleFailure, disabledIntervals: IDisabledInterval[]): boolean;
-/**
- * @returns true if any modifier kinds passed along exist in the given modifiers array
- *
- * @deprecated use `hasModifier` from `tsutils`
- */
-export declare function hasModifier(modifiers: ts.ModifiersArray | undefined, ...modifierKinds: ts.SyntaxKind[]): boolean;
-/**
- * Determines if the appropriate bit in the parent (VariableDeclarationList) is set,
- * which indicates this is a "let" or "const".
- *
- * @deprecated use `isBlockScopedVariableDeclarationList` from `tsutils`
- */
-export declare function isBlockScopedVariable(node: ts.VariableDeclaration | ts.VariableStatement): boolean;
-/** @deprecated use `isBlockScopedVariableDeclarationList` and `getDeclarationOfBindingElement` from `tsutils` */
-export declare function isBlockScopedBindingElement(node: ts.BindingElement): boolean;
-/** @deprecated use `getDeclarationOfBindingElement` from `tsutils` */
-export declare function getBindingElementVariableDeclaration(node: ts.BindingElement): ts.VariableDeclaration | null;
-/**
- * Finds a child of a given node with a given kind.
- * Note: This uses `node.getChildren()`, which does extra parsing work to include tokens.
- *
- * @deprecated use `getChildOfKind` from `tsutils`
- */
-export declare function childOfKind(node: ts.Node, kind: ts.SyntaxKind): ts.Node | undefined;
-/**
- * @returns true if some ancestor of `node` satisfies `predicate`, including `node` itself.
- *
- * @deprecated no longer used, use a `while` loop instead
- */
-export declare function someAncestor(node: ts.Node, predicate: (n: ts.Node) => boolean): boolean;
-export declare function ancestorWhere<T extends ts.Node = ts.Node>(node: ts.Node, predicate: ((n: ts.Node) => n is T) | ((n: ts.Node) => boolean)): T | undefined;
-/** @deprecated use `isBinaryExpression(node) && isAssignmentKind(node.operatorToken.kind)` with functions from `tsutils` */
-export declare function isAssignment(node: ts.Node): boolean;
-/**
- * Bitwise check for node flags.
- *
- * @deprecated use `isNodeFlagSet` from `tsutils`
- */
-export declare function isNodeFlagSet(node: ts.Node, flagToCheck: ts.NodeFlags): boolean;
-/**
- * Bitwise check for combined node flags.
- *
- * @deprecated no longer used
- */
-export declare function isCombinedNodeFlagSet(node: ts.Node, flagToCheck: ts.NodeFlags): boolean;
-/**
- * Bitwise check for combined modifier flags.
- *
- * @deprecated no longer used
- */
-export declare function isCombinedModifierFlagSet(node: ts.Node, flagToCheck: ts.ModifierFlags): boolean;
-/**
- * Bitwise check for type flags.
- *
- * @deprecated use `isTypeFlagSet` from `tsutils`
- */
-export declare function isTypeFlagSet(type: ts.Type, flagToCheck: ts.TypeFlags): boolean;
-/**
- * Bitwise check for symbol flags.
- *
- * @deprecated use `isSymbolFlagSet` from `tsutils`
- */
-export declare function isSymbolFlagSet(symbol: ts.Symbol, flagToCheck: ts.SymbolFlags): boolean;
-/**
- * Bitwise check for object flags.
- * Does not work with TypeScript 2.0.x
- *
- * @deprecated use `isObjectFlagSet` from `tsutils`
- */
-export declare function isObjectFlagSet(objectType: ts.ObjectType, flagToCheck: ts.ObjectFlags): boolean;
-/**
- * @returns true if decl is a nested module declaration, i.e. represents a segment of a dotted module path.
- *
- * @deprecated use `decl.parent!.kind === ts.SyntaxKind.ModuleDeclaration`
- */
-export declare function isNestedModuleDeclaration(decl: ts.ModuleDeclaration): boolean;
-export declare function unwrapParentheses(node: ts.Expression): ts.Expression;
-/** @deprecated use `isFunctionScopeBoundary` from `tsutils` */
-export declare function isScopeBoundary(node: ts.Node): boolean;
-/** @deprecated use `isBlockScopeBoundary` from `tsutils` */
-export declare function isBlockScopeBoundary(node: ts.Node): boolean;
-/** @deprecated use `isIterationStatement` from `tsutils` or `typescript` */
-export declare function isLoop(node: ts.Node): node is ts.IterationStatement;
-/**
- * @returns Whether node is a numeric expression.
- */
-export declare function isNumeric(node: ts.Expression): boolean;
-export interface TokenPosition {
- /** The start of the token including all trivia before it */
- fullStart: number;
- /** The start of the token */
- tokenStart: number;
- /** The end of the token */
- end: number;
-}
-export declare type ForEachTokenCallback = (fullText: string, kind: ts.SyntaxKind, pos: TokenPosition, parent: ts.Node) => void;
-export declare type ForEachCommentCallback = (fullText: string, kind: ts.SyntaxKind, pos: TokenPosition) => void;
-export declare type FilterCallback = (node: ts.Node) => boolean;
-/**
- * Iterate over all tokens of `node`
- *
- * @description JsDoc comments are treated like regular comments and only visited if `skipTrivia` === false.
- *
- * @param node The node whose tokens should be visited
- * @param skipTrivia If set to false all trivia preceeding `node` or any of its children is included
- * @param cb Is called for every token of `node`. It gets the full text of the SourceFile and the position of the token within that text.
- * @param filter If provided, will be called for every Node and Token found. If it returns false `cb` will not be called for this subtree.
- *
- * @deprecated use `forEachToken` or `forEachTokenWithTrivia` from `tsutils`
- */
-export declare function forEachToken(node: ts.Node, skipTrivia: boolean, cb: ForEachTokenCallback, filter?: FilterCallback): void;
-/**
- * Iterate over all comments owned by `node` or its children
- *
- * @deprecated use `forEachComment` from `tsutils`
- */
-export declare function forEachComment(node: ts.Node, cb: ForEachCommentCallback): void;
-/**
- * Checks if there are any comments between `position` and the next non-trivia token
- *
- * @param text The text to scan
- * @param position The position inside `text` where to start scanning. Make sure that this is a valid start position.
- * This value is typically obtained from `node.getFullStart()` or `node.getEnd()`
- */
-export declare function hasCommentAfterPosition(text: string, position: number): boolean;
-export interface EqualsKind {
- isPositive: boolean;
- isStrict: boolean;
-}
-export declare function getEqualsKind(node: ts.BinaryOperatorToken): EqualsKind | undefined;
-export declare function isStrictNullChecksEnabled(options: ts.CompilerOptions): boolean;
-export declare function isNegativeNumberLiteral(node: ts.Node): node is ts.PrefixUnaryExpression & {
- operand: ts.NumericLiteral;
-};
-/** Wrapper for compatibility with typescript@<2.3.1 */
-export declare function isWhiteSpace(ch: number): boolean;
diff --git a/node_modules/tslint/lib/language/utils.js b/node_modules/tslint/lib/language/utils.js
deleted file mode 100644
index aba50291f..000000000
--- a/node_modules/tslint/lib/language/utils.js
+++ /dev/null
@@ -1,463 +0,0 @@
-"use strict";
-/**
- * @license
- * Copyright 2013 Palantir Technologies, Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-Object.defineProperty(exports, "__esModule", { value: true });
-var path = require("path");
-var tsutils_1 = require("tsutils");
-var ts = require("typescript");
-function getSourceFile(fileName, source) {
- var normalizedName = path.normalize(fileName).replace(/\\/g, "/");
- return ts.createSourceFile(normalizedName, source, ts.ScriptTarget.ES5, /*setParentNodes*/ true);
-}
-exports.getSourceFile = getSourceFile;
-/** @deprecated See IDisabledInterval. */
-function doesIntersect(failure, disabledIntervals) {
- return disabledIntervals.some(function (interval) {
- var maxStart = Math.max(interval.startPosition, failure.getStartPosition().getPosition());
- var minEnd = Math.min(interval.endPosition, failure.getEndPosition().getPosition());
- return maxStart <= minEnd;
- });
-}
-exports.doesIntersect = doesIntersect;
-/**
- * @returns true if any modifier kinds passed along exist in the given modifiers array
- *
- * @deprecated use `hasModifier` from `tsutils`
- */
-function hasModifier(modifiers) {
- var modifierKinds = [];
- for (var _i = 1; _i < arguments.length; _i++) {
- modifierKinds[_i - 1] = arguments[_i];
- }
- if (modifiers === undefined || modifierKinds.length === 0) {
- return false;
- }
- return modifiers.some(function (m) { return modifierKinds.some(function (k) { return m.kind === k; }); });
-}
-exports.hasModifier = hasModifier;
-/**
- * Determines if the appropriate bit in the parent (VariableDeclarationList) is set,
- * which indicates this is a "let" or "const".
- *
- * @deprecated use `isBlockScopedVariableDeclarationList` from `tsutils`
- */
-function isBlockScopedVariable(node) {
- if (node.kind === ts.SyntaxKind.VariableDeclaration) {
- var parent = node.parent;
- return parent.kind === ts.SyntaxKind.CatchClause || tsutils_1.isBlockScopedVariableDeclarationList(parent);
- }
- else {
- return tsutils_1.isBlockScopedVariableDeclarationList(node.declarationList);
- }
-}
-exports.isBlockScopedVariable = isBlockScopedVariable;
-/** @deprecated use `isBlockScopedVariableDeclarationList` and `getDeclarationOfBindingElement` from `tsutils` */
-function isBlockScopedBindingElement(node) {
- var variableDeclaration = getBindingElementVariableDeclaration(node); // tslint:disable-line:deprecation
- // if no variable declaration, it must be a function param, which is block scoped
- return (variableDeclaration === null) || isBlockScopedVariable(variableDeclaration); // tslint:disable-line:deprecation
-}
-exports.isBlockScopedBindingElement = isBlockScopedBindingElement;
-/** @deprecated use `getDeclarationOfBindingElement` from `tsutils` */
-function getBindingElementVariableDeclaration(node) {
- var currentParent = node.parent;
- while (currentParent.kind !== ts.SyntaxKind.VariableDeclaration) {
- if (currentParent.parent === undefined) {
- return null; // function parameter, no variable declaration
- }
- else {
- currentParent = currentParent.parent;
- }
- }
- return currentParent;
-}
-exports.getBindingElementVariableDeclaration = getBindingElementVariableDeclaration;
-/**
- * Finds a child of a given node with a given kind.
- * Note: This uses `node.getChildren()`, which does extra parsing work to include tokens.
- *
- * @deprecated use `getChildOfKind` from `tsutils`
- */
-function childOfKind(node, kind) {
- return node.getChildren().find(function (child) { return child.kind === kind; });
-}
-exports.childOfKind = childOfKind;
-/**
- * @returns true if some ancestor of `node` satisfies `predicate`, including `node` itself.
- *
- * @deprecated no longer used, use a `while` loop instead
- */
-function someAncestor(node, predicate) {
- return predicate(node) || (node.parent !== undefined && someAncestor(node.parent, predicate)); // tslint:disable-line:deprecation
-}
-exports.someAncestor = someAncestor;
-function ancestorWhere(node, predicate) {
- var cur = node;
- do {
- if (predicate(cur)) {
- return cur;
- }
- cur = cur.parent;
- } while (cur !== undefined);
- return undefined;
-}
-exports.ancestorWhere = ancestorWhere;
-/** @deprecated use `isBinaryExpression(node) && isAssignmentKind(node.operatorToken.kind)` with functions from `tsutils` */
-function isAssignment(node) {
- if (node.kind === ts.SyntaxKind.BinaryExpression) {
- var binaryExpression = node;
- return binaryExpression.operatorToken.kind >= ts.SyntaxKind.FirstAssignment
- && binaryExpression.operatorToken.kind <= ts.SyntaxKind.LastAssignment;
- }
- else {
- return false;
- }
-}
-exports.isAssignment = isAssignment;
-/**
- * Bitwise check for node flags.
- *
- * @deprecated use `isNodeFlagSet` from `tsutils`
- */
-function isNodeFlagSet(node, flagToCheck) {
- // tslint:disable-next-line:no-bitwise
- return (node.flags & flagToCheck) !== 0;
-}
-exports.isNodeFlagSet = isNodeFlagSet;
-/**
- * Bitwise check for combined node flags.
- *
- * @deprecated no longer used
- */
-function isCombinedNodeFlagSet(node, flagToCheck) {
- // tslint:disable-next-line:no-bitwise
- return (ts.getCombinedNodeFlags(node) & flagToCheck) !== 0;
-}
-exports.isCombinedNodeFlagSet = isCombinedNodeFlagSet;
-/**
- * Bitwise check for combined modifier flags.
- *
- * @deprecated no longer used
- */
-function isCombinedModifierFlagSet(node, flagToCheck) {
- // tslint:disable-next-line:no-bitwise
- return (ts.getCombinedModifierFlags(node) & flagToCheck) !== 0;
-}
-exports.isCombinedModifierFlagSet = isCombinedModifierFlagSet;
-/**
- * Bitwise check for type flags.
- *
- * @deprecated use `isTypeFlagSet` from `tsutils`
- */
-function isTypeFlagSet(type, flagToCheck) {
- // tslint:disable-next-line:no-bitwise
- return (type.flags & flagToCheck) !== 0;
-}
-exports.isTypeFlagSet = isTypeFlagSet;
-/**
- * Bitwise check for symbol flags.
- *
- * @deprecated use `isSymbolFlagSet` from `tsutils`
- */
-function isSymbolFlagSet(symbol, flagToCheck) {
- // tslint:disable-next-line:no-bitwise
- return (symbol.flags & flagToCheck) !== 0;
-}
-exports.isSymbolFlagSet = isSymbolFlagSet;
-/**
- * Bitwise check for object flags.
- * Does not work with TypeScript 2.0.x
- *
- * @deprecated use `isObjectFlagSet` from `tsutils`
- */
-function isObjectFlagSet(objectType, flagToCheck) {
- // tslint:disable-next-line:no-bitwise
- return (objectType.objectFlags & flagToCheck) !== 0;
-}
-exports.isObjectFlagSet = isObjectFlagSet;
-/**
- * @returns true if decl is a nested module declaration, i.e. represents a segment of a dotted module path.
- *
- * @deprecated use `decl.parent!.kind === ts.SyntaxKind.ModuleDeclaration`
- */
-function isNestedModuleDeclaration(decl) {
- // in a declaration expression like 'module a.b.c' - 'a' is the top level module declaration node and 'b' and 'c'
- // are nested therefore we can depend that a node's position will only match with its name's position for nested
- // nodes
- return decl.name.pos === decl.pos;
-}
-exports.isNestedModuleDeclaration = isNestedModuleDeclaration;
-function unwrapParentheses(node) {
- while (node.kind === ts.SyntaxKind.ParenthesizedExpression) {
- node = node.expression;
- }
- return node;
-}
-exports.unwrapParentheses = unwrapParentheses;
-/** @deprecated use `isFunctionScopeBoundary` from `tsutils` */
-function isScopeBoundary(node) {
- return node.kind === ts.SyntaxKind.FunctionDeclaration
- || node.kind === ts.SyntaxKind.FunctionExpression
- || node.kind === ts.SyntaxKind.PropertyAssignment
- || node.kind === ts.SyntaxKind.ShorthandPropertyAssignment
- || node.kind === ts.SyntaxKind.MethodDeclaration
- || node.kind === ts.SyntaxKind.Constructor
- || node.kind === ts.SyntaxKind.ModuleDeclaration
- || node.kind === ts.SyntaxKind.ArrowFunction
- || node.kind === ts.SyntaxKind.ParenthesizedExpression
- || node.kind === ts.SyntaxKind.ClassDeclaration
- || node.kind === ts.SyntaxKind.ClassExpression
- || node.kind === ts.SyntaxKind.InterfaceDeclaration
- || node.kind === ts.SyntaxKind.GetAccessor
- || node.kind === ts.SyntaxKind.SetAccessor
- || node.kind === ts.SyntaxKind.SourceFile && ts.isExternalModule(node);
-}
-exports.isScopeBoundary = isScopeBoundary;
-/** @deprecated use `isBlockScopeBoundary` from `tsutils` */
-function isBlockScopeBoundary(node) {
- return isScopeBoundary(node) // tslint:disable-line:deprecation
- || node.kind === ts.SyntaxKind.Block
- || isLoop(node) // tslint:disable-line:deprecation
- || node.kind === ts.SyntaxKind.WithStatement
- || node.kind === ts.SyntaxKind.SwitchStatement
- || node.parent !== undefined
- && (node.parent.kind === ts.SyntaxKind.TryStatement
- || node.parent.kind === ts.SyntaxKind.IfStatement);
-}
-exports.isBlockScopeBoundary = isBlockScopeBoundary;
-/** @deprecated use `isIterationStatement` from `tsutils` or `typescript` */
-function isLoop(node) {
- return node.kind === ts.SyntaxKind.DoStatement
- || node.kind === ts.SyntaxKind.WhileStatement
- || node.kind === ts.SyntaxKind.ForStatement
- || node.kind === ts.SyntaxKind.ForInStatement
- || node.kind === ts.SyntaxKind.ForOfStatement;
-}
-exports.isLoop = isLoop;
-/**
- * @returns Whether node is a numeric expression.
- */
-function isNumeric(node) {
- while (tsutils_1.isPrefixUnaryExpression(node) &&
- (node.operator === ts.SyntaxKind.PlusToken || node.operator === ts.SyntaxKind.MinusToken)) {
- node = node.operand;
- }
- return node.kind === ts.SyntaxKind.NumericLiteral ||
- tsutils_1.isIdentifier(node) && (node.text === "NaN" || node.text === "Infinity");
-}
-exports.isNumeric = isNumeric;
-/**
- * Iterate over all tokens of `node`
- *
- * @description JsDoc comments are treated like regular comments and only visited if `skipTrivia` === false.
- *
- * @param node The node whose tokens should be visited
- * @param skipTrivia If set to false all trivia preceeding `node` or any of its children is included
- * @param cb Is called for every token of `node`. It gets the full text of the SourceFile and the position of the token within that text.
- * @param filter If provided, will be called for every Node and Token found. If it returns false `cb` will not be called for this subtree.
- *
- * @deprecated use `forEachToken` or `forEachTokenWithTrivia` from `tsutils`
- */
-function forEachToken(node, skipTrivia, cb, filter) {
- // this function will most likely be called with SourceFile anyways, so there is no need for an additional parameter
- var sourceFile = node.getSourceFile();
- var fullText = sourceFile.text;
- var iterateFn = filter === undefined ? iterateChildren : iterateWithFilter;
- var handleTrivia = skipTrivia ? undefined : createTriviaHandler(sourceFile, cb);
- iterateFn(node);
- // this function is used to save the if condition for the common case where no filter is provided
- function iterateWithFilter(child) {
- if (filter(child)) {
- return iterateChildren(child);
- }
- }
- function iterateChildren(child) {
- if (child.kind < ts.SyntaxKind.FirstNode ||
- // for backwards compatibility to typescript 2.0.10
- // JsxText was no Token, but a Node in that version
- child.kind === ts.SyntaxKind.JsxText) {
- // we found a token, tokens have no children, stop recursing here
- return callback(child);
- }
- /* Exclude everything contained in JsDoc, it will be handled with the other trivia anyway.
- * When we would handle JsDoc tokens like regular ones, we would scan some trivia multiple times.
- * Even worse, we would scan for trivia inside the JsDoc comment, which yields unexpected results.*/
- if (child.kind !== ts.SyntaxKind.JSDocComment) {
- // recurse into Node's children to find tokens
- return child.getChildren(sourceFile).forEach(iterateFn);
- }
- }
- function callback(token) {
- var tokenStart = token.getStart(sourceFile);
- if (!skipTrivia && tokenStart !== token.pos) {
- // we only have to handle trivia before each token, because there is nothing after EndOfFileToken
- handleTrivia(token.pos, tokenStart, token);
- }
- return cb(fullText, token.kind, { tokenStart: tokenStart, fullStart: token.pos, end: token.end }, token.parent);
- }
-}
-exports.forEachToken = forEachToken;
-function createTriviaHandler(sourceFile, cb) {
- var fullText = sourceFile.text;
- var scanner = ts.createScanner(sourceFile.languageVersion, false, sourceFile.languageVariant, fullText);
- /**
- * Scan the specified range to get all trivia tokens.
- * This includes trailing trivia of the last token and the leading trivia of the current token
- */
- function handleTrivia(start, end, token) {
- var parent = token.parent;
- // prevent false positives by not scanning inside JsxText
- if (!canHaveLeadingTrivia(token.kind, parent)) {
- return;
- }
- scanner.setTextPos(start);
- var position;
- // we only get here if start !== end, so we can scan at least one time
- do {
- var kind = scanner.scan();
- position = scanner.getTextPos();
- cb(fullText, kind, { tokenStart: scanner.getTokenPos(), end: position, fullStart: start }, parent);
- } while (position < end);
- }
- return handleTrivia;
-}
-/**
- * Iterate over all comments owned by `node` or its children
- *
- * @deprecated use `forEachComment` from `tsutils`
- */
-function forEachComment(node, cb) {
- /* Visit all tokens and skip trivia.
- Comment ranges between tokens are parsed without the need of a scanner.
- forEachToken also does intentionally not pay attention to the correct comment ownership of nodes as it always
- scans all trivia before each token, which could include trailing comments of the previous token.
- Comment onwership is done right in this function*/
- return forEachToken(node, true, function (fullText, tokenKind, pos, parent) {
- // don't search for comments inside JsxText
- if (canHaveLeadingTrivia(tokenKind, parent)) {
- // Comments before the first token (pos.fullStart === 0) are all considered leading comments, so no need for special treatment
- var comments = ts.getLeadingCommentRanges(fullText, pos.fullStart);
- if (comments !== undefined) {
- for (var _i = 0, comments_1 = comments; _i < comments_1.length; _i++) {
- var comment = comments_1[_i];
- cb(fullText, comment.kind, { fullStart: pos.fullStart, tokenStart: comment.pos, end: comment.end });
- }
- }
- }
- if (canHaveTrailingTrivia(tokenKind, parent)) {
- var comments = ts.getTrailingCommentRanges(fullText, pos.end);
- if (comments !== undefined) {
- for (var _a = 0, comments_2 = comments; _a < comments_2.length; _a++) {
- var comment = comments_2[_a];
- cb(fullText, comment.kind, { fullStart: pos.fullStart, tokenStart: comment.pos, end: comment.end });
- }
- }
- }
- });
-}
-exports.forEachComment = forEachComment;
-/** Exclude leading positions that would lead to scanning for trivia inside JsxText */
-function canHaveLeadingTrivia(tokenKind, parent) {
- switch (tokenKind) {
- case ts.SyntaxKind.JsxText:
- return false; // there is no trivia before JsxText
- case ts.SyntaxKind.OpenBraceToken:
- // before a JsxExpression inside a JsxElement's body can only be other JsxChild, but no trivia
- return parent.kind !== ts.SyntaxKind.JsxExpression || parent.parent.kind !== ts.SyntaxKind.JsxElement;
- case ts.SyntaxKind.LessThanToken:
- switch (parent.kind) {
- case ts.SyntaxKind.JsxClosingElement:
- return false; // would be inside the element body
- case ts.SyntaxKind.JsxOpeningElement:
- case ts.SyntaxKind.JsxSelfClosingElement:
- // there can only be leading trivia if we are at the end of the top level element
- return parent.parent.parent.kind !== ts.SyntaxKind.JsxElement;
- default:
- return true;
- }
- default:
- return true;
- }
-}
-/** Exclude trailing positions that would lead to scanning for trivia inside JsxText */
-function canHaveTrailingTrivia(tokenKind, parent) {
- switch (tokenKind) {
- case ts.SyntaxKind.JsxText:
- // there is no trivia after JsxText
- return false;
- case ts.SyntaxKind.CloseBraceToken:
- // after a JsxExpression inside a JsxElement's body can only be other JsxChild, but no trivia
- return parent.kind !== ts.SyntaxKind.JsxExpression || parent.parent.kind !== ts.SyntaxKind.JsxElement;
- case ts.SyntaxKind.GreaterThanToken:
- switch (parent.kind) {
- case ts.SyntaxKind.JsxOpeningElement:
- return false; // would be inside the element
- case ts.SyntaxKind.JsxClosingElement:
- case ts.SyntaxKind.JsxSelfClosingElement:
- // there can only be trailing trivia if we are at the end of the top level element
- return parent.parent.parent.kind !== ts.SyntaxKind.JsxElement;
- default:
- return true;
- }
- default:
- return true;
- }
-}
-/**
- * Checks if there are any comments between `position` and the next non-trivia token
- *
- * @param text The text to scan
- * @param position The position inside `text` where to start scanning. Make sure that this is a valid start position.
- * This value is typically obtained from `node.getFullStart()` or `node.getEnd()`
- */
-function hasCommentAfterPosition(text, position) {
- return ts.getTrailingCommentRanges(text, position) !== undefined ||
- ts.getLeadingCommentRanges(text, position) !== undefined;
-}
-exports.hasCommentAfterPosition = hasCommentAfterPosition;
-function getEqualsKind(node) {
- switch (node.kind) {
- case ts.SyntaxKind.EqualsEqualsToken:
- return { isPositive: true, isStrict: false };
- case ts.SyntaxKind.EqualsEqualsEqualsToken:
- return { isPositive: true, isStrict: true };
- case ts.SyntaxKind.ExclamationEqualsToken:
- return { isPositive: false, isStrict: false };
- case ts.SyntaxKind.ExclamationEqualsEqualsToken:
- return { isPositive: false, isStrict: true };
- default:
- return undefined;
- }
-}
-exports.getEqualsKind = getEqualsKind;
-function isStrictNullChecksEnabled(options) {
- return options.strictNullChecks === true ||
- (options.strict === true && options.strictNullChecks !== false);
-}
-exports.isStrictNullChecksEnabled = isStrictNullChecksEnabled;
-function isNegativeNumberLiteral(node) {
- return tsutils_1.isPrefixUnaryExpression(node) &&
- node.operator === ts.SyntaxKind.MinusToken &&
- node.operand.kind === ts.SyntaxKind.NumericLiteral;
-}
-exports.isNegativeNumberLiteral = isNegativeNumberLiteral;
-/** Wrapper for compatibility with typescript@<2.3.1 */
-function isWhiteSpace(ch) {
- // tslint:disable-next-line
- return (ts.isWhiteSpaceLike || ts.isWhiteSpace)(ch);
-}
-exports.isWhiteSpace = isWhiteSpace;
diff --git a/node_modules/tslint/lib/language/walker/blockScopeAwareRuleWalker.d.ts b/node_modules/tslint/lib/language/walker/blockScopeAwareRuleWalker.d.ts
deleted file mode 100644
index 0fd097cc7..000000000
--- a/node_modules/tslint/lib/language/walker/blockScopeAwareRuleWalker.d.ts
+++ /dev/null
@@ -1,38 +0,0 @@
-/**
- * @license
- * Copyright 2013 Palantir Technologies, Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-import * as ts from "typescript";
-import { IOptions } from "../rule/rule";
-import { ScopeAwareRuleWalker } from "./scopeAwareRuleWalker";
-/**
- * @deprecated See comment on ScopeAwareRuleWalker.
- *
- * An AST walker that is aware of block scopes in addition to regular scopes. Block scopes
- * are a superset of regular scopes (new block scopes are created more frequently in a program).
- */
-export declare abstract class BlockScopeAwareRuleWalker<T, U> extends ScopeAwareRuleWalker<T> {
- private readonly blockScopeStack;
- constructor(sourceFile: ts.SourceFile, options: IOptions);
- abstract createBlockScope(node: ts.Node): U;
- getAllBlockScopes(): U[];
- getCurrentBlockScope(): U;
- getCurrentBlockDepth(): number;
- onBlockScopeStart(): void;
- onBlockScopeEnd(): void;
- findBlockScope(predicate: (scope: U) => boolean): U | undefined;
- protected visitNode(node: ts.Node): void;
- private isBlockScopeBoundary;
-}
diff --git a/node_modules/tslint/lib/language/walker/blockScopeAwareRuleWalker.js b/node_modules/tslint/lib/language/walker/blockScopeAwareRuleWalker.js
deleted file mode 100644
index 2bfe8865f..000000000
--- a/node_modules/tslint/lib/language/walker/blockScopeAwareRuleWalker.js
+++ /dev/null
@@ -1,82 +0,0 @@
-"use strict";
-/**
- * @license
- * Copyright 2013 Palantir Technologies, Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-Object.defineProperty(exports, "__esModule", { value: true });
-var tslib_1 = require("tslib");
-var ts = require("typescript");
-var utils_1 = require("../utils");
-var scopeAwareRuleWalker_1 = require("./scopeAwareRuleWalker");
-// tslint:disable:deprecation (extends deprecated class and uses deprecated utils - doesn't matter because it's deprecated, too)
-/**
- * @deprecated See comment on ScopeAwareRuleWalker.
- *
- * An AST walker that is aware of block scopes in addition to regular scopes. Block scopes
- * are a superset of regular scopes (new block scopes are created more frequently in a program).
- */
-var BlockScopeAwareRuleWalker = /** @class */ (function (_super) {
- tslib_1.__extends(BlockScopeAwareRuleWalker, _super);
- function BlockScopeAwareRuleWalker(sourceFile, options) {
- var _this = _super.call(this, sourceFile, options) || this;
- // initialize with global scope if file is not a module
- _this.blockScopeStack = ts.isExternalModule(sourceFile) ? [] : [_this.createBlockScope(sourceFile)];
- return _this;
- }
- // get all block scopes available at this depth
- BlockScopeAwareRuleWalker.prototype.getAllBlockScopes = function () {
- return this.blockScopeStack;
- };
- BlockScopeAwareRuleWalker.prototype.getCurrentBlockScope = function () {
- return this.blockScopeStack[this.blockScopeStack.length - 1];
- };
- BlockScopeAwareRuleWalker.prototype.getCurrentBlockDepth = function () {
- return this.blockScopeStack.length;
- };
- // callback notifier when a block scope begins
- BlockScopeAwareRuleWalker.prototype.onBlockScopeStart = function () {
- return;
- };
- // callback notifier when a block scope ends
- BlockScopeAwareRuleWalker.prototype.onBlockScopeEnd = function () {
- return;
- };
- BlockScopeAwareRuleWalker.prototype.findBlockScope = function (predicate) {
- // look through block scopes from local -> global
- for (var i = this.blockScopeStack.length - 1; i >= 0; i--) {
- if (predicate(this.blockScopeStack[i])) {
- return this.blockScopeStack[i];
- }
- }
- return undefined;
- };
- BlockScopeAwareRuleWalker.prototype.visitNode = function (node) {
- var isNewBlockScope = this.isBlockScopeBoundary(node);
- if (isNewBlockScope) {
- this.blockScopeStack.push(this.createBlockScope(node));
- this.onBlockScopeStart();
- }
- _super.prototype.visitNode.call(this, node);
- if (isNewBlockScope) {
- this.onBlockScopeEnd();
- this.blockScopeStack.pop();
- }
- };
- BlockScopeAwareRuleWalker.prototype.isBlockScopeBoundary = function (node) {
- return utils_1.isBlockScopeBoundary(node);
- };
- return BlockScopeAwareRuleWalker;
-}(scopeAwareRuleWalker_1.ScopeAwareRuleWalker));
-exports.BlockScopeAwareRuleWalker = BlockScopeAwareRuleWalker;
diff --git a/node_modules/tslint/lib/language/walker/index.d.ts b/node_modules/tslint/lib/language/walker/index.d.ts
deleted file mode 100644
index db3dc9492..000000000
--- a/node_modules/tslint/lib/language/walker/index.d.ts
+++ /dev/null
@@ -1,23 +0,0 @@
-/**
- * @license
- * Copyright 2013 Palantir Technologies, Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-export * from "./blockScopeAwareRuleWalker";
-export * from "./programAwareRuleWalker";
-export * from "./ruleWalker";
-export * from "./scopeAwareRuleWalker";
-export * from "./syntaxWalker";
-export * from "./walkContext";
-export * from "./walker";
diff --git a/node_modules/tslint/lib/language/walker/index.js b/node_modules/tslint/lib/language/walker/index.js
deleted file mode 100644
index d4388e27d..000000000
--- a/node_modules/tslint/lib/language/walker/index.js
+++ /dev/null
@@ -1,26 +0,0 @@
-"use strict";
-/**
- * @license
- * Copyright 2013 Palantir Technologies, Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-Object.defineProperty(exports, "__esModule", { value: true });
-var tslib_1 = require("tslib");
-tslib_1.__exportStar(require("./blockScopeAwareRuleWalker"), exports);
-tslib_1.__exportStar(require("./programAwareRuleWalker"), exports);
-tslib_1.__exportStar(require("./ruleWalker"), exports);
-tslib_1.__exportStar(require("./scopeAwareRuleWalker"), exports);
-tslib_1.__exportStar(require("./syntaxWalker"), exports);
-tslib_1.__exportStar(require("./walkContext"), exports);
-tslib_1.__exportStar(require("./walker"), exports);
diff --git a/node_modules/tslint/lib/language/walker/programAwareRuleWalker.d.ts b/node_modules/tslint/lib/language/walker/programAwareRuleWalker.d.ts
deleted file mode 100644
index 8f949a03a..000000000
--- a/node_modules/tslint/lib/language/walker/programAwareRuleWalker.d.ts
+++ /dev/null
@@ -1,26 +0,0 @@
-/**
- * @license
- * Copyright 2016 Palantir Technologies, Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-import * as ts from "typescript";
-import { IOptions } from "../rule/rule";
-import { RuleWalker } from "./ruleWalker";
-export declare class ProgramAwareRuleWalker extends RuleWalker {
- private readonly program;
- private readonly typeChecker;
- constructor(sourceFile: ts.SourceFile, options: IOptions, program: ts.Program);
- getProgram(): ts.Program;
- getTypeChecker(): ts.TypeChecker;
-}
diff --git a/node_modules/tslint/lib/language/walker/programAwareRuleWalker.js b/node_modules/tslint/lib/language/walker/programAwareRuleWalker.js
deleted file mode 100644
index 1a0702441..000000000
--- a/node_modules/tslint/lib/language/walker/programAwareRuleWalker.js
+++ /dev/null
@@ -1,37 +0,0 @@
-"use strict";
-/**
- * @license
- * Copyright 2016 Palantir Technologies, Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-Object.defineProperty(exports, "__esModule", { value: true });
-var tslib_1 = require("tslib");
-var ruleWalker_1 = require("./ruleWalker");
-var ProgramAwareRuleWalker = /** @class */ (function (_super) {
- tslib_1.__extends(ProgramAwareRuleWalker, _super);
- function ProgramAwareRuleWalker(sourceFile, options, program) {
- var _this = _super.call(this, sourceFile, options) || this;
- _this.program = program;
- _this.typeChecker = program.getTypeChecker();
- return _this;
- }
- ProgramAwareRuleWalker.prototype.getProgram = function () {
- return this.program;
- };
- ProgramAwareRuleWalker.prototype.getTypeChecker = function () {
- return this.typeChecker;
- };
- return ProgramAwareRuleWalker;
-}(ruleWalker_1.RuleWalker));
-exports.ProgramAwareRuleWalker = ProgramAwareRuleWalker;
diff --git a/node_modules/tslint/lib/language/walker/ruleWalker.d.ts b/node_modules/tslint/lib/language/walker/ruleWalker.d.ts
deleted file mode 100644
index 9d27e8bcb..000000000
--- a/node_modules/tslint/lib/language/walker/ruleWalker.d.ts
+++ /dev/null
@@ -1,49 +0,0 @@
-/**
- * @license
- * Copyright 2013 Palantir Technologies, Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-import * as ts from "typescript";
-import { Fix, IOptions, Replacement, RuleFailure } from "../rule/rule";
-import { SyntaxWalker } from "./syntaxWalker";
-import { IWalker } from "./walker";
-export declare class RuleWalker extends SyntaxWalker implements IWalker {
- private readonly sourceFile;
- private readonly limit;
- private readonly options?;
- private readonly failures;
- private readonly ruleName;
- constructor(sourceFile: ts.SourceFile, options: IOptions);
- getSourceFile(): ts.SourceFile;
- getLineAndCharacterOfPosition(position: number): ts.LineAndCharacter;
- getFailures(): RuleFailure[];
- getLimit(): number;
- getOptions(): any;
- hasOption(option: string): boolean;
- /** @deprecated Prefer `addFailureAt` and its variants. */
- createFailure(start: number, width: number, failure: string, fix?: Fix): RuleFailure;
- /** @deprecated Prefer `addFailureAt` and its variants. */
- addFailure(failure: RuleFailure): void;
- /** Add a failure with any arbitrary span. Prefer `addFailureAtNode` if possible. */
- addFailureAt(start: number, width: number, failure: string, fix?: Fix): void;
- /** Like `addFailureAt` but uses start and end instead of start and width. */
- addFailureFromStartToEnd(start: number, end: number, failure: string, fix?: Fix): void;
- /** Add a failure using a node's span. */
- addFailureAtNode(node: ts.Node, failure: string, fix?: Fix): void;
- createReplacement(start: number, length: number, text: string): Replacement;
- appendText(start: number, text: string): Replacement;
- deleteText(start: number, length: number): Replacement;
- deleteFromTo(start: number, end: number): Replacement;
- getRuleName(): string;
-}
diff --git a/node_modules/tslint/lib/language/walker/ruleWalker.js b/node_modules/tslint/lib/language/walker/ruleWalker.js
deleted file mode 100644
index e0e77504e..000000000
--- a/node_modules/tslint/lib/language/walker/ruleWalker.js
+++ /dev/null
@@ -1,96 +0,0 @@
-"use strict";
-/**
- * @license
- * Copyright 2013 Palantir Technologies, Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-Object.defineProperty(exports, "__esModule", { value: true });
-var tslib_1 = require("tslib");
-var rule_1 = require("../rule/rule");
-var syntaxWalker_1 = require("./syntaxWalker");
-var RuleWalker = /** @class */ (function (_super) {
- tslib_1.__extends(RuleWalker, _super);
- function RuleWalker(sourceFile, options) {
- var _this = _super.call(this) || this;
- _this.sourceFile = sourceFile;
- _this.failures = [];
- _this.options = options.ruleArguments;
- _this.limit = _this.sourceFile.getFullWidth();
- _this.ruleName = options.ruleName;
- return _this;
- }
- RuleWalker.prototype.getSourceFile = function () {
- return this.sourceFile;
- };
- RuleWalker.prototype.getLineAndCharacterOfPosition = function (position) {
- return this.sourceFile.getLineAndCharacterOfPosition(position);
- };
- RuleWalker.prototype.getFailures = function () {
- return this.failures;
- };
- RuleWalker.prototype.getLimit = function () {
- return this.limit;
- };
- RuleWalker.prototype.getOptions = function () {
- return this.options;
- };
- RuleWalker.prototype.hasOption = function (option) {
- if (this.options !== undefined) {
- return this.options.indexOf(option) !== -1;
- }
- else {
- return false;
- }
- };
- /** @deprecated Prefer `addFailureAt` and its variants. */
- RuleWalker.prototype.createFailure = function (start, width, failure, fix) {
- var from = (start > this.limit) ? this.limit : start;
- var to = ((start + width) > this.limit) ? this.limit : (start + width);
- return new rule_1.RuleFailure(this.sourceFile, from, to, failure, this.ruleName, fix);
- };
- /** @deprecated Prefer `addFailureAt` and its variants. */
- RuleWalker.prototype.addFailure = function (failure) {
- this.failures.push(failure);
- };
- /** Add a failure with any arbitrary span. Prefer `addFailureAtNode` if possible. */
- RuleWalker.prototype.addFailureAt = function (start, width, failure, fix) {
- // tslint:disable-next-line deprecation
- this.addFailure(this.createFailure(start, width, failure, fix));
- };
- /** Like `addFailureAt` but uses start and end instead of start and width. */
- RuleWalker.prototype.addFailureFromStartToEnd = function (start, end, failure, fix) {
- this.addFailureAt(start, end - start, failure, fix);
- };
- /** Add a failure using a node's span. */
- RuleWalker.prototype.addFailureAtNode = function (node, failure, fix) {
- this.addFailureAt(node.getStart(this.sourceFile), node.getWidth(this.sourceFile), failure, fix);
- };
- RuleWalker.prototype.createReplacement = function (start, length, text) {
- return new rule_1.Replacement(start, length, text);
- };
- RuleWalker.prototype.appendText = function (start, text) {
- return this.createReplacement(start, 0, text);
- };
- RuleWalker.prototype.deleteText = function (start, length) {
- return this.createReplacement(start, length, "");
- };
- RuleWalker.prototype.deleteFromTo = function (start, end) {
- return this.createReplacement(start, end - start, "");
- };
- RuleWalker.prototype.getRuleName = function () {
- return this.ruleName;
- };
- return RuleWalker;
-}(syntaxWalker_1.SyntaxWalker));
-exports.RuleWalker = RuleWalker;
diff --git a/node_modules/tslint/lib/language/walker/scopeAwareRuleWalker.d.ts b/node_modules/tslint/lib/language/walker/scopeAwareRuleWalker.d.ts
deleted file mode 100644
index dbb21a9f6..000000000
--- a/node_modules/tslint/lib/language/walker/scopeAwareRuleWalker.d.ts
+++ /dev/null
@@ -1,65 +0,0 @@
-/**
- * @license
- * Copyright 2013 Palantir Technologies, Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-import * as ts from "typescript";
-import { IOptions } from "../rule/rule";
-import { RuleWalker } from "./ruleWalker";
-/**
- * @deprecated Prefer to manually maintain any contextual information.
- *
- * For example, imagine a `no-break` rule that warns on `break` in `for` but not in `switch`:
- *
- * function walk(ctx: Lint.WalkContext<void>): void {
- * let isInFor = false;
- * ts.forEachChild(ctx.sourceFile, function cb(node: ts.Node): void {
- * switch (node.kind) {
- * case ts.SyntaxKind.Break:
- * if (isInFor) {
- * ctx.addFailureAtNode(node, "!");
- * }
- * break;
- * case ts.SyntaxKind.ForStatement: {
- * const old = isInFor;
- * isInFor = true;
- * ts.forEachChild(node, cb);
- * isInFor = old;
- * break;
- * }
- * case ts.SyntaxKind.SwitchStatement: {
- * const old = isInFor;
- * isInFor = false;
- * ts.forEachChild(node, cb);
- * isInFor = old;
- * break;
- * }
- * default:
- * ts.forEachChild(node, cb);
- * }
- * });
- * }
- */
-export declare abstract class ScopeAwareRuleWalker<T> extends RuleWalker {
- private readonly scopeStack;
- constructor(sourceFile: ts.SourceFile, options: IOptions);
- abstract createScope(node: ts.Node): T;
- getCurrentScope(): T;
- getAllScopes(): T[];
- getCurrentDepth(): number;
- onScopeStart(): void;
- onScopeEnd(): void;
- protected visitNode(node: ts.Node): void;
- protected isScopeBoundary(node: ts.Node): boolean;
-}
diff --git a/node_modules/tslint/lib/language/walker/scopeAwareRuleWalker.js b/node_modules/tslint/lib/language/walker/scopeAwareRuleWalker.js
deleted file mode 100644
index 15cf26478..000000000
--- a/node_modules/tslint/lib/language/walker/scopeAwareRuleWalker.js
+++ /dev/null
@@ -1,100 +0,0 @@
-"use strict";
-/**
- * @license
- * Copyright 2013 Palantir Technologies, Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-Object.defineProperty(exports, "__esModule", { value: true });
-var tslib_1 = require("tslib");
-var ts = require("typescript");
-var utils_1 = require("../utils");
-var ruleWalker_1 = require("./ruleWalker");
-/**
- * @deprecated Prefer to manually maintain any contextual information.
- *
- * For example, imagine a `no-break` rule that warns on `break` in `for` but not in `switch`:
- *
- * function walk(ctx: Lint.WalkContext<void>): void {
- * let isInFor = false;
- * ts.forEachChild(ctx.sourceFile, function cb(node: ts.Node): void {
- * switch (node.kind) {
- * case ts.SyntaxKind.Break:
- * if (isInFor) {
- * ctx.addFailureAtNode(node, "!");
- * }
- * break;
- * case ts.SyntaxKind.ForStatement: {
- * const old = isInFor;
- * isInFor = true;
- * ts.forEachChild(node, cb);
- * isInFor = old;
- * break;
- * }
- * case ts.SyntaxKind.SwitchStatement: {
- * const old = isInFor;
- * isInFor = false;
- * ts.forEachChild(node, cb);
- * isInFor = old;
- * break;
- * }
- * default:
- * ts.forEachChild(node, cb);
- * }
- * });
- * }
- */
-var ScopeAwareRuleWalker = /** @class */ (function (_super) {
- tslib_1.__extends(ScopeAwareRuleWalker, _super);
- function ScopeAwareRuleWalker(sourceFile, options) {
- var _this = _super.call(this, sourceFile, options) || this;
- // initialize with global scope if file is not a module
- _this.scopeStack = ts.isExternalModule(sourceFile) ? [] : [_this.createScope(sourceFile)];
- return _this;
- }
- ScopeAwareRuleWalker.prototype.getCurrentScope = function () {
- return this.scopeStack[this.scopeStack.length - 1];
- };
- // get all scopes available at this depth
- ScopeAwareRuleWalker.prototype.getAllScopes = function () {
- return this.scopeStack;
- };
- ScopeAwareRuleWalker.prototype.getCurrentDepth = function () {
- return this.scopeStack.length;
- };
- // callback notifier when a scope begins
- ScopeAwareRuleWalker.prototype.onScopeStart = function () {
- return;
- };
- // callback notifier when a scope ends
- ScopeAwareRuleWalker.prototype.onScopeEnd = function () {
- return;
- };
- ScopeAwareRuleWalker.prototype.visitNode = function (node) {
- var isNewScope = this.isScopeBoundary(node);
- if (isNewScope) {
- this.scopeStack.push(this.createScope(node));
- this.onScopeStart();
- }
- _super.prototype.visitNode.call(this, node);
- if (isNewScope) {
- this.onScopeEnd();
- this.scopeStack.pop();
- }
- };
- ScopeAwareRuleWalker.prototype.isScopeBoundary = function (node) {
- return utils_1.isScopeBoundary(node); // tslint:disable-line:deprecation
- };
- return ScopeAwareRuleWalker;
-}(ruleWalker_1.RuleWalker));
-exports.ScopeAwareRuleWalker = ScopeAwareRuleWalker;
diff --git a/node_modules/tslint/lib/language/walker/syntaxWalker.d.ts b/node_modules/tslint/lib/language/walker/syntaxWalker.d.ts
deleted file mode 100644
index 8cc39ef61..000000000
--- a/node_modules/tslint/lib/language/walker/syntaxWalker.d.ts
+++ /dev/null
@@ -1,105 +0,0 @@
-/**
- * @license
- * Copyright 2013 Palantir Technologies, Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-import * as ts from "typescript";
-export declare class SyntaxWalker {
- walk(node: ts.Node): void;
- protected visitAnyKeyword(node: ts.Node): void;
- protected visitArrayLiteralExpression(node: ts.ArrayLiteralExpression): void;
- protected visitArrayType(node: ts.ArrayTypeNode): void;
- protected visitArrowFunction(node: ts.ArrowFunction): void;
- protected visitBinaryExpression(node: ts.BinaryExpression): void;
- protected visitBindingElement(node: ts.BindingElement): void;
- protected visitBindingPattern(node: ts.BindingPattern): void;
- protected visitBlock(node: ts.Block): void;
- protected visitBreakStatement(node: ts.BreakOrContinueStatement): void;
- protected visitCallExpression(node: ts.CallExpression): void;
- protected visitCallSignature(node: ts.SignatureDeclaration): void;
- protected visitCaseClause(node: ts.CaseClause): void;
- protected visitClassDeclaration(node: ts.ClassDeclaration): void;
- protected visitClassExpression(node: ts.ClassExpression): void;
- protected visitCatchClause(node: ts.CatchClause): void;
- protected visitConditionalExpression(node: ts.ConditionalExpression): void;
- protected visitConstructSignature(node: ts.ConstructSignatureDeclaration): void;
- protected visitConstructorDeclaration(node: ts.ConstructorDeclaration): void;
- protected visitConstructorType(node: ts.FunctionOrConstructorTypeNode): void;
- protected visitContinueStatement(node: ts.BreakOrContinueStatement): void;
- protected visitDebuggerStatement(node: ts.Statement): void;
- protected visitDefaultClause(node: ts.DefaultClause): void;
- protected visitDoStatement(node: ts.DoStatement): void;
- protected visitElementAccessExpression(node: ts.ElementAccessExpression): void;
- protected visitEndOfFileToken(node: ts.Node): void;
- protected visitEnumDeclaration(node: ts.EnumDeclaration): void;
- protected visitEnumMember(node: ts.EnumMember): void;
- protected visitExportAssignment(node: ts.ExportAssignment): void;
- protected visitExpressionStatement(node: ts.ExpressionStatement): void;
- protected visitForStatement(node: ts.ForStatement): void;
- protected visitForInStatement(node: ts.ForInStatement): void;
- protected visitForOfStatement(node: ts.ForOfStatement): void;
- protected visitFunctionDeclaration(node: ts.FunctionDeclaration): void;
- protected visitFunctionExpression(node: ts.FunctionExpression): void;
- protected visitFunctionType(node: ts.FunctionOrConstructorTypeNode): void;
- protected visitGetAccessor(node: ts.AccessorDeclaration): void;
- protected visitIdentifier(node: ts.Identifier): void;
- protected visitIfStatement(node: ts.IfStatement): void;
- protected visitImportDeclaration(node: ts.ImportDeclaration): void;
- protected visitImportEqualsDeclaration(node: ts.ImportEqualsDeclaration): void;
- protected visitIndexSignatureDeclaration(node: ts.IndexSignatureDeclaration): void;
- protected visitInterfaceDeclaration(node: ts.InterfaceDeclaration): void;
- protected visitJsxAttribute(node: ts.JsxAttribute): void;
- protected visitJsxElement(node: ts.JsxElement): void;
- protected visitJsxExpression(node: ts.JsxExpression): void;
- protected visitJsxSelfClosingElement(node: ts.JsxSelfClosingElement): void;
- protected visitJsxSpreadAttribute(node: ts.JsxSpreadAttribute): void;
- protected visitLabeledStatement(node: ts.LabeledStatement): void;
- protected visitMethodDeclaration(node: ts.MethodDeclaration): void;
- protected visitMethodSignature(node: ts.SignatureDeclaration): void;
- protected visitModuleDeclaration(node: ts.ModuleDeclaration): void;
- protected visitNamedImports(node: ts.NamedImports): void;
- protected visitNamespaceImport(node: ts.NamespaceImport): void;
- protected visitNewExpression(node: ts.NewExpression): void;
- protected visitNonNullExpression(node: ts.NonNullExpression): void;
- protected visitNumericLiteral(node: ts.NumericLiteral): void;
- protected visitObjectLiteralExpression(node: ts.ObjectLiteralExpression): void;
- protected visitParameterDeclaration(node: ts.ParameterDeclaration): void;
- protected visitPostfixUnaryExpression(node: ts.PostfixUnaryExpression): void;
- protected visitPrefixUnaryExpression(node: ts.PrefixUnaryExpression): void;
- protected visitPropertyAccessExpression(node: ts.PropertyAccessExpression): void;
- protected visitPropertyAssignment(node: ts.PropertyAssignment): void;
- protected visitPropertyDeclaration(node: ts.PropertyDeclaration): void;
- protected visitPropertySignature(node: ts.Node): void;
- protected visitRegularExpressionLiteral(node: ts.Node): void;
- protected visitReturnStatement(node: ts.ReturnStatement): void;
- protected visitSetAccessor(node: ts.AccessorDeclaration): void;
- protected visitSourceFile(node: ts.SourceFile): void;
- protected visitStringLiteral(node: ts.StringLiteral): void;
- protected visitSwitchStatement(node: ts.SwitchStatement): void;
- protected visitTemplateExpression(node: ts.TemplateExpression): void;
- protected visitThrowStatement(node: ts.ThrowStatement): void;
- protected visitTryStatement(node: ts.TryStatement): void;
- protected visitTupleType(node: ts.TupleTypeNode): void;
- protected visitTypeAliasDeclaration(node: ts.TypeAliasDeclaration): void;
- protected visitTypeAssertionExpression(node: ts.TypeAssertion): void;
- protected visitTypeLiteral(node: ts.TypeLiteralNode): void;
- protected visitTypeReference(node: ts.TypeReferenceNode): void;
- protected visitVariableDeclaration(node: ts.VariableDeclaration): void;
- protected visitVariableDeclarationList(node: ts.VariableDeclarationList): void;
- protected visitVariableStatement(node: ts.VariableStatement): void;
- protected visitWhileStatement(node: ts.WhileStatement): void;
- protected visitWithStatement(node: ts.WithStatement): void;
- protected visitNode(node: ts.Node): void;
- protected walkChildren(node: ts.Node): void;
-}
diff --git a/node_modules/tslint/lib/language/walker/syntaxWalker.js b/node_modules/tslint/lib/language/walker/syntaxWalker.js
deleted file mode 100644
index cdef4eaea..000000000
--- a/node_modules/tslint/lib/language/walker/syntaxWalker.js
+++ /dev/null
@@ -1,539 +0,0 @@
-"use strict";
-/**
- * @license
- * Copyright 2013 Palantir Technologies, Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-Object.defineProperty(exports, "__esModule", { value: true });
-var ts = require("typescript");
-var SyntaxWalker = /** @class */ (function () {
- function SyntaxWalker() {
- }
- SyntaxWalker.prototype.walk = function (node) {
- this.visitNode(node);
- };
- SyntaxWalker.prototype.visitAnyKeyword = function (node) {
- this.walkChildren(node);
- };
- SyntaxWalker.prototype.visitArrayLiteralExpression = function (node) {
- this.walkChildren(node);
- };
- SyntaxWalker.prototype.visitArrayType = function (node) {
- this.walkChildren(node);
- };
- SyntaxWalker.prototype.visitArrowFunction = function (node) {
- this.walkChildren(node);
- };
- SyntaxWalker.prototype.visitBinaryExpression = function (node) {
- this.walkChildren(node);
- };
- SyntaxWalker.prototype.visitBindingElement = function (node) {
- this.walkChildren(node);
- };
- SyntaxWalker.prototype.visitBindingPattern = function (node) {
- this.walkChildren(node);
- };
- SyntaxWalker.prototype.visitBlock = function (node) {
- this.walkChildren(node);
- };
- SyntaxWalker.prototype.visitBreakStatement = function (node) {
- this.walkChildren(node);
- };
- SyntaxWalker.prototype.visitCallExpression = function (node) {
- this.walkChildren(node);
- };
- SyntaxWalker.prototype.visitCallSignature = function (node) {
- this.walkChildren(node);
- };
- SyntaxWalker.prototype.visitCaseClause = function (node) {
- this.walkChildren(node);
- };
- SyntaxWalker.prototype.visitClassDeclaration = function (node) {
- this.walkChildren(node);
- };
- SyntaxWalker.prototype.visitClassExpression = function (node) {
- this.walkChildren(node);
- };
- SyntaxWalker.prototype.visitCatchClause = function (node) {
- this.walkChildren(node);
- };
- SyntaxWalker.prototype.visitConditionalExpression = function (node) {
- this.walkChildren(node);
- };
- SyntaxWalker.prototype.visitConstructSignature = function (node) {
- this.walkChildren(node);
- };
- SyntaxWalker.prototype.visitConstructorDeclaration = function (node) {
- this.walkChildren(node);
- };
- SyntaxWalker.prototype.visitConstructorType = function (node) {
- this.walkChildren(node);
- };
- SyntaxWalker.prototype.visitContinueStatement = function (node) {
- this.walkChildren(node);
- };
- SyntaxWalker.prototype.visitDebuggerStatement = function (node) {
- this.walkChildren(node);
- };
- SyntaxWalker.prototype.visitDefaultClause = function (node) {
- this.walkChildren(node);
- };
- SyntaxWalker.prototype.visitDoStatement = function (node) {
- this.walkChildren(node);
- };
- SyntaxWalker.prototype.visitElementAccessExpression = function (node) {
- this.walkChildren(node);
- };
- SyntaxWalker.prototype.visitEndOfFileToken = function (node) {
- this.walkChildren(node);
- };
- SyntaxWalker.prototype.visitEnumDeclaration = function (node) {
- this.walkChildren(node);
- };
- SyntaxWalker.prototype.visitEnumMember = function (node) {
- this.walkChildren(node);
- };
- SyntaxWalker.prototype.visitExportAssignment = function (node) {
- this.walkChildren(node);
- };
- SyntaxWalker.prototype.visitExpressionStatement = function (node) {
- this.walkChildren(node);
- };
- SyntaxWalker.prototype.visitForStatement = function (node) {
- this.walkChildren(node);
- };
- SyntaxWalker.prototype.visitForInStatement = function (node) {
- this.walkChildren(node);
- };
- SyntaxWalker.prototype.visitForOfStatement = function (node) {
- this.walkChildren(node);
- };
- SyntaxWalker.prototype.visitFunctionDeclaration = function (node) {
- this.walkChildren(node);
- };
- SyntaxWalker.prototype.visitFunctionExpression = function (node) {
- this.walkChildren(node);
- };
- SyntaxWalker.prototype.visitFunctionType = function (node) {
- this.walkChildren(node);
- };
- SyntaxWalker.prototype.visitGetAccessor = function (node) {
- this.walkChildren(node);
- };
- SyntaxWalker.prototype.visitIdentifier = function (node) {
- this.walkChildren(node);
- };
- SyntaxWalker.prototype.visitIfStatement = function (node) {
- this.walkChildren(node);
- };
- SyntaxWalker.prototype.visitImportDeclaration = function (node) {
- this.walkChildren(node);
- };
- SyntaxWalker.prototype.visitImportEqualsDeclaration = function (node) {
- this.walkChildren(node);
- };
- SyntaxWalker.prototype.visitIndexSignatureDeclaration = function (node) {
- this.walkChildren(node);
- };
- SyntaxWalker.prototype.visitInterfaceDeclaration = function (node) {
- this.walkChildren(node);
- };
- SyntaxWalker.prototype.visitJsxAttribute = function (node) {
- this.walkChildren(node);
- };
- SyntaxWalker.prototype.visitJsxElement = function (node) {
- this.walkChildren(node);
- };
- SyntaxWalker.prototype.visitJsxExpression = function (node) {
- this.walkChildren(node);
- };
- SyntaxWalker.prototype.visitJsxSelfClosingElement = function (node) {
- this.walkChildren(node);
- };
- SyntaxWalker.prototype.visitJsxSpreadAttribute = function (node) {
- this.walkChildren(node);
- };
- SyntaxWalker.prototype.visitLabeledStatement = function (node) {
- this.walkChildren(node);
- };
- SyntaxWalker.prototype.visitMethodDeclaration = function (node) {
- this.walkChildren(node);
- };
- SyntaxWalker.prototype.visitMethodSignature = function (node) {
- this.walkChildren(node);
- };
- SyntaxWalker.prototype.visitModuleDeclaration = function (node) {
- this.walkChildren(node);
- };
- SyntaxWalker.prototype.visitNamedImports = function (node) {
- this.walkChildren(node);
- };
- SyntaxWalker.prototype.visitNamespaceImport = function (node) {
- this.walkChildren(node);
- };
- SyntaxWalker.prototype.visitNewExpression = function (node) {
- this.walkChildren(node);
- };
- SyntaxWalker.prototype.visitNonNullExpression = function (node) {
- this.walkChildren(node);
- };
- SyntaxWalker.prototype.visitNumericLiteral = function (node) {
- this.walkChildren(node);
- };
- SyntaxWalker.prototype.visitObjectLiteralExpression = function (node) {
- this.walkChildren(node);
- };
- SyntaxWalker.prototype.visitParameterDeclaration = function (node) {
- this.walkChildren(node);
- };
- SyntaxWalker.prototype.visitPostfixUnaryExpression = function (node) {
- this.walkChildren(node);
- };
- SyntaxWalker.prototype.visitPrefixUnaryExpression = function (node) {
- this.walkChildren(node);
- };
- SyntaxWalker.prototype.visitPropertyAccessExpression = function (node) {
- this.walkChildren(node);
- };
- SyntaxWalker.prototype.visitPropertyAssignment = function (node) {
- this.walkChildren(node);
- };
- SyntaxWalker.prototype.visitPropertyDeclaration = function (node) {
- this.walkChildren(node);
- };
- SyntaxWalker.prototype.visitPropertySignature = function (node) {
- this.walkChildren(node);
- };
- SyntaxWalker.prototype.visitRegularExpressionLiteral = function (node) {
- this.walkChildren(node);
- };
- SyntaxWalker.prototype.visitReturnStatement = function (node) {
- this.walkChildren(node);
- };
- SyntaxWalker.prototype.visitSetAccessor = function (node) {
- this.walkChildren(node);
- };
- SyntaxWalker.prototype.visitSourceFile = function (node) {
- this.walkChildren(node);
- };
- SyntaxWalker.prototype.visitStringLiteral = function (node) {
- this.walkChildren(node);
- };
- SyntaxWalker.prototype.visitSwitchStatement = function (node) {
- this.walkChildren(node);
- };
- SyntaxWalker.prototype.visitTemplateExpression = function (node) {
- this.walkChildren(node);
- };
- SyntaxWalker.prototype.visitThrowStatement = function (node) {
- this.walkChildren(node);
- };
- SyntaxWalker.prototype.visitTryStatement = function (node) {
- this.walkChildren(node);
- };
- SyntaxWalker.prototype.visitTupleType = function (node) {
- this.walkChildren(node);
- };
- SyntaxWalker.prototype.visitTypeAliasDeclaration = function (node) {
- this.walkChildren(node);
- };
- SyntaxWalker.prototype.visitTypeAssertionExpression = function (node) {
- this.walkChildren(node);
- };
- SyntaxWalker.prototype.visitTypeLiteral = function (node) {
- this.walkChildren(node);
- };
- SyntaxWalker.prototype.visitTypeReference = function (node) {
- this.walkChildren(node);
- };
- SyntaxWalker.prototype.visitVariableDeclaration = function (node) {
- this.walkChildren(node);
- };
- SyntaxWalker.prototype.visitVariableDeclarationList = function (node) {
- this.walkChildren(node);
- };
- SyntaxWalker.prototype.visitVariableStatement = function (node) {
- this.walkChildren(node);
- };
- SyntaxWalker.prototype.visitWhileStatement = function (node) {
- this.walkChildren(node);
- };
- SyntaxWalker.prototype.visitWithStatement = function (node) {
- this.walkChildren(node);
- };
- SyntaxWalker.prototype.visitNode = function (node) {
- switch (node.kind) {
- case ts.SyntaxKind.AnyKeyword:
- this.visitAnyKeyword(node);
- break;
- case ts.SyntaxKind.ArrayBindingPattern:
- this.visitBindingPattern(node);
- break;
- case ts.SyntaxKind.ArrayLiteralExpression:
- this.visitArrayLiteralExpression(node);
- break;
- case ts.SyntaxKind.ArrayType:
- this.visitArrayType(node);
- break;
- case ts.SyntaxKind.ArrowFunction:
- this.visitArrowFunction(node);
- break;
- case ts.SyntaxKind.BinaryExpression:
- this.visitBinaryExpression(node);
- break;
- case ts.SyntaxKind.BindingElement:
- this.visitBindingElement(node);
- break;
- case ts.SyntaxKind.Block:
- this.visitBlock(node);
- break;
- case ts.SyntaxKind.BreakStatement:
- this.visitBreakStatement(node);
- break;
- case ts.SyntaxKind.CallExpression:
- this.visitCallExpression(node);
- break;
- case ts.SyntaxKind.CallSignature:
- this.visitCallSignature(node);
- break;
- case ts.SyntaxKind.CaseClause:
- this.visitCaseClause(node);
- break;
- case ts.SyntaxKind.ClassDeclaration:
- this.visitClassDeclaration(node);
- break;
- case ts.SyntaxKind.ClassExpression:
- this.visitClassExpression(node);
- break;
- case ts.SyntaxKind.CatchClause:
- this.visitCatchClause(node);
- break;
- case ts.SyntaxKind.ConditionalExpression:
- this.visitConditionalExpression(node);
- break;
- case ts.SyntaxKind.ConstructSignature:
- this.visitConstructSignature(node);
- break;
- case ts.SyntaxKind.Constructor:
- this.visitConstructorDeclaration(node);
- break;
- case ts.SyntaxKind.ConstructorType:
- this.visitConstructorType(node);
- break;
- case ts.SyntaxKind.ContinueStatement:
- this.visitContinueStatement(node);
- break;
- case ts.SyntaxKind.DebuggerStatement:
- this.visitDebuggerStatement(node);
- break;
- case ts.SyntaxKind.DefaultClause:
- this.visitDefaultClause(node);
- break;
- case ts.SyntaxKind.DoStatement:
- this.visitDoStatement(node);
- break;
- case ts.SyntaxKind.ElementAccessExpression:
- this.visitElementAccessExpression(node);
- break;
- case ts.SyntaxKind.EndOfFileToken:
- this.visitEndOfFileToken(node);
- break;
- case ts.SyntaxKind.EnumDeclaration:
- this.visitEnumDeclaration(node);
- break;
- case ts.SyntaxKind.EnumMember:
- this.visitEnumMember(node);
- break;
- case ts.SyntaxKind.ExportAssignment:
- this.visitExportAssignment(node);
- break;
- case ts.SyntaxKind.ExpressionStatement:
- this.visitExpressionStatement(node);
- break;
- case ts.SyntaxKind.ForStatement:
- this.visitForStatement(node);
- break;
- case ts.SyntaxKind.ForInStatement:
- this.visitForInStatement(node);
- break;
- case ts.SyntaxKind.ForOfStatement:
- this.visitForOfStatement(node);
- break;
- case ts.SyntaxKind.FunctionDeclaration:
- this.visitFunctionDeclaration(node);
- break;
- case ts.SyntaxKind.FunctionExpression:
- this.visitFunctionExpression(node);
- break;
- case ts.SyntaxKind.FunctionType:
- this.visitFunctionType(node);
- break;
- case ts.SyntaxKind.GetAccessor:
- this.visitGetAccessor(node);
- break;
- case ts.SyntaxKind.Identifier:
- this.visitIdentifier(node);
- break;
- case ts.SyntaxKind.IfStatement:
- this.visitIfStatement(node);
- break;
- case ts.SyntaxKind.ImportDeclaration:
- this.visitImportDeclaration(node);
- break;
- case ts.SyntaxKind.ImportEqualsDeclaration:
- this.visitImportEqualsDeclaration(node);
- break;
- case ts.SyntaxKind.IndexSignature:
- this.visitIndexSignatureDeclaration(node);
- break;
- case ts.SyntaxKind.InterfaceDeclaration:
- this.visitInterfaceDeclaration(node);
- break;
- case ts.SyntaxKind.JsxAttribute:
- this.visitJsxAttribute(node);
- break;
- case ts.SyntaxKind.JsxElement:
- this.visitJsxElement(node);
- break;
- case ts.SyntaxKind.JsxExpression:
- this.visitJsxExpression(node);
- break;
- case ts.SyntaxKind.JsxSelfClosingElement:
- this.visitJsxSelfClosingElement(node);
- break;
- case ts.SyntaxKind.JsxSpreadAttribute:
- this.visitJsxSpreadAttribute(node);
- break;
- case ts.SyntaxKind.LabeledStatement:
- this.visitLabeledStatement(node);
- break;
- case ts.SyntaxKind.MethodDeclaration:
- this.visitMethodDeclaration(node);
- break;
- case ts.SyntaxKind.MethodSignature:
- this.visitMethodSignature(node);
- break;
- case ts.SyntaxKind.ModuleDeclaration:
- this.visitModuleDeclaration(node);
- break;
- case ts.SyntaxKind.NamedImports:
- this.visitNamedImports(node);
- break;
- case ts.SyntaxKind.NamespaceImport:
- this.visitNamespaceImport(node);
- break;
- case ts.SyntaxKind.NewExpression:
- this.visitNewExpression(node);
- break;
- case ts.SyntaxKind.NonNullExpression:
- this.visitNonNullExpression(node);
- break;
- case ts.SyntaxKind.NumericLiteral:
- this.visitNumericLiteral(node);
- break;
- case ts.SyntaxKind.ObjectBindingPattern:
- this.visitBindingPattern(node);
- break;
- case ts.SyntaxKind.ObjectLiteralExpression:
- this.visitObjectLiteralExpression(node);
- break;
- case ts.SyntaxKind.Parameter:
- this.visitParameterDeclaration(node);
- break;
- case ts.SyntaxKind.PostfixUnaryExpression:
- this.visitPostfixUnaryExpression(node);
- break;
- case ts.SyntaxKind.PrefixUnaryExpression:
- this.visitPrefixUnaryExpression(node);
- break;
- case ts.SyntaxKind.PropertyAccessExpression:
- this.visitPropertyAccessExpression(node);
- break;
- case ts.SyntaxKind.PropertyAssignment:
- this.visitPropertyAssignment(node);
- break;
- case ts.SyntaxKind.PropertyDeclaration:
- this.visitPropertyDeclaration(node);
- break;
- case ts.SyntaxKind.PropertySignature:
- this.visitPropertySignature(node);
- break;
- case ts.SyntaxKind.RegularExpressionLiteral:
- this.visitRegularExpressionLiteral(node);
- break;
- case ts.SyntaxKind.ReturnStatement:
- this.visitReturnStatement(node);
- break;
- case ts.SyntaxKind.SetAccessor:
- this.visitSetAccessor(node);
- break;
- case ts.SyntaxKind.SourceFile:
- this.visitSourceFile(node);
- break;
- case ts.SyntaxKind.StringLiteral:
- this.visitStringLiteral(node);
- break;
- case ts.SyntaxKind.SwitchStatement:
- this.visitSwitchStatement(node);
- break;
- case ts.SyntaxKind.TemplateExpression:
- this.visitTemplateExpression(node);
- break;
- case ts.SyntaxKind.ThrowStatement:
- this.visitThrowStatement(node);
- break;
- case ts.SyntaxKind.TryStatement:
- this.visitTryStatement(node);
- break;
- case ts.SyntaxKind.TupleType:
- this.visitTupleType(node);
- break;
- case ts.SyntaxKind.TypeAliasDeclaration:
- this.visitTypeAliasDeclaration(node);
- break;
- case ts.SyntaxKind.TypeAssertionExpression:
- this.visitTypeAssertionExpression(node);
- break;
- case ts.SyntaxKind.TypeLiteral:
- this.visitTypeLiteral(node);
- break;
- case ts.SyntaxKind.TypeReference:
- this.visitTypeReference(node);
- break;
- case ts.SyntaxKind.VariableDeclaration:
- this.visitVariableDeclaration(node);
- break;
- case ts.SyntaxKind.VariableDeclarationList:
- this.visitVariableDeclarationList(node);
- break;
- case ts.SyntaxKind.VariableStatement:
- this.visitVariableStatement(node);
- break;
- case ts.SyntaxKind.WhileStatement:
- this.visitWhileStatement(node);
- break;
- case ts.SyntaxKind.WithStatement:
- this.visitWithStatement(node);
- break;
- default:
- this.walkChildren(node);
- }
- };
- SyntaxWalker.prototype.walkChildren = function (node) {
- var _this = this;
- ts.forEachChild(node, function (child) { return _this.visitNode(child); });
- };
- return SyntaxWalker;
-}());
-exports.SyntaxWalker = SyntaxWalker;
diff --git a/node_modules/tslint/lib/language/walker/walkContext.d.ts b/node_modules/tslint/lib/language/walker/walkContext.d.ts
deleted file mode 100644
index 38a413f3d..000000000
--- a/node_modules/tslint/lib/language/walker/walkContext.d.ts
+++ /dev/null
@@ -1,30 +0,0 @@
-/**
- * @license
- * Copyright 2017 Palantir Technologies, Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-import * as ts from "typescript";
-import { Fix, RuleFailure } from "../rule/rule";
-export declare class WalkContext<T> {
- readonly sourceFile: ts.SourceFile;
- readonly ruleName: string;
- readonly options: T;
- readonly failures: RuleFailure[];
- constructor(sourceFile: ts.SourceFile, ruleName: string, options: T);
- /** Add a failure with any arbitrary span. Prefer `addFailureAtNode` if possible. */
- addFailureAt(start: number, width: number, failure: string, fix?: Fix): void;
- addFailure(start: number, end: number, failure: string, fix?: Fix): void;
- /** Add a failure using a node's span. */
- addFailureAtNode(node: ts.Node, failure: string, fix?: Fix): void;
-}
diff --git a/node_modules/tslint/lib/language/walker/walkContext.js b/node_modules/tslint/lib/language/walker/walkContext.js
deleted file mode 100644
index ad0c5e597..000000000
--- a/node_modules/tslint/lib/language/walker/walkContext.js
+++ /dev/null
@@ -1,41 +0,0 @@
-"use strict";
-/**
- * @license
- * Copyright 2017 Palantir Technologies, Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-Object.defineProperty(exports, "__esModule", { value: true });
-var rule_1 = require("../rule/rule");
-var WalkContext = /** @class */ (function () {
- function WalkContext(sourceFile, ruleName, options) {
- this.sourceFile = sourceFile;
- this.ruleName = ruleName;
- this.options = options;
- this.failures = [];
- }
- /** Add a failure with any arbitrary span. Prefer `addFailureAtNode` if possible. */
- WalkContext.prototype.addFailureAt = function (start, width, failure, fix) {
- this.addFailure(start, start + width, failure, fix);
- };
- WalkContext.prototype.addFailure = function (start, end, failure, fix) {
- var fileLength = this.sourceFile.end;
- this.failures.push(new rule_1.RuleFailure(this.sourceFile, Math.min(start, fileLength), Math.min(end, fileLength), failure, this.ruleName, fix));
- };
- /** Add a failure using a node's span. */
- WalkContext.prototype.addFailureAtNode = function (node, failure, fix) {
- this.addFailure(node.getStart(this.sourceFile), node.getEnd(), failure, fix);
- };
- return WalkContext;
-}());
-exports.WalkContext = WalkContext;
diff --git a/node_modules/tslint/lib/language/walker/walker.d.ts b/node_modules/tslint/lib/language/walker/walker.d.ts
deleted file mode 100644
index f08b06e75..000000000
--- a/node_modules/tslint/lib/language/walker/walker.d.ts
+++ /dev/null
@@ -1,29 +0,0 @@
-/**
- * @license
- * Copyright 2017 Palantir Technologies, Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-import * as ts from "typescript";
-import { RuleFailure } from "../rule/rule";
-import { WalkContext } from "./walkContext";
-export interface IWalker {
- getSourceFile(): ts.SourceFile;
- walk(sourceFile: ts.SourceFile): void;
- getFailures(): RuleFailure[];
-}
-export declare abstract class AbstractWalker<T> extends WalkContext<T> implements IWalker {
- abstract walk(sourceFile: ts.SourceFile): void;
- getSourceFile(): ts.SourceFile;
- getFailures(): RuleFailure[];
-}
diff --git a/node_modules/tslint/lib/language/walker/walker.js b/node_modules/tslint/lib/language/walker/walker.js
deleted file mode 100644
index 9b78e7693..000000000
--- a/node_modules/tslint/lib/language/walker/walker.js
+++ /dev/null
@@ -1,34 +0,0 @@
-"use strict";
-/**
- * @license
- * Copyright 2017 Palantir Technologies, Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-Object.defineProperty(exports, "__esModule", { value: true });
-var tslib_1 = require("tslib");
-var walkContext_1 = require("./walkContext");
-var AbstractWalker = /** @class */ (function (_super) {
- tslib_1.__extends(AbstractWalker, _super);
- function AbstractWalker() {
- return _super !== null && _super.apply(this, arguments) || this;
- }
- AbstractWalker.prototype.getSourceFile = function () {
- return this.sourceFile;
- };
- AbstractWalker.prototype.getFailures = function () {
- return this.failures;
- };
- return AbstractWalker;
-}(walkContext_1.WalkContext));
-exports.AbstractWalker = AbstractWalker;