aboutsummaryrefslogtreecommitdiff
path: root/node_modules/tslint/lib/rules/noEmptyInterfaceRule.js
diff options
context:
space:
mode:
authorFlorian Dold <florian.dold@gmail.com>2017-08-14 05:01:11 +0200
committerFlorian Dold <florian.dold@gmail.com>2017-08-14 05:02:09 +0200
commit363723fc84f7b8477592e0105aeb331ec9a017af (patch)
tree29f92724f34131bac64d6a318dd7e30612e631c7 /node_modules/tslint/lib/rules/noEmptyInterfaceRule.js
parent5634e77ad96bfe1818f6b6ee70b7379652e5487f (diff)
node_modules
Diffstat (limited to 'node_modules/tslint/lib/rules/noEmptyInterfaceRule.js')
-rw-r--r--node_modules/tslint/lib/rules/noEmptyInterfaceRule.js27
1 files changed, 13 insertions, 14 deletions
diff --git a/node_modules/tslint/lib/rules/noEmptyInterfaceRule.js b/node_modules/tslint/lib/rules/noEmptyInterfaceRule.js
index 8ba57b596..411026490 100644
--- a/node_modules/tslint/lib/rules/noEmptyInterfaceRule.js
+++ b/node_modules/tslint/lib/rules/noEmptyInterfaceRule.js
@@ -28,28 +28,27 @@ var Rule = (function (_super) {
Rule.prototype.apply = function (sourceFile) {
return this.applyWithFunction(sourceFile, walk);
};
+ /* tslint:disable:object-literal-sort-keys */
+ Rule.metadata = {
+ ruleName: "no-empty-interface",
+ description: "Forbids empty interfaces.",
+ rationale: "An empty interface is equivalent to its supertype (or `{}`).",
+ optionsDescription: "Not configurable.",
+ options: null,
+ type: "typescript",
+ typescriptOnly: true,
+ };
+ /* tslint:enable:object-literal-sort-keys */
+ Rule.FAILURE_STRING = "An empty interface is equivalent to `{}`.";
+ Rule.FAILURE_STRING_FOR_EXTENDS = "An interface declaring no members is equivalent to its supertype.";
return Rule;
}(Lint.Rules.AbstractRule));
-/* tslint:disable:object-literal-sort-keys */
-Rule.metadata = {
- ruleName: "no-empty-interface",
- description: "Forbids empty interfaces.",
- rationale: "An empty interface is equivalent to its supertype (or `{}`).",
- optionsDescription: "Not configurable.",
- options: null,
- type: "typescript",
- typescriptOnly: true,
-};
-/* tslint:enable:object-literal-sort-keys */
-Rule.FAILURE_STRING = "An empty interface is equivalent to `{}`.";
-Rule.FAILURE_STRING_FOR_EXTENDS = "An interface declaring no members is equivalent to its supertype.";
exports.Rule = Rule;
function walk(ctx) {
return ts.forEachChild(ctx.sourceFile, function cb(node) {
if (tsutils_1.isInterfaceDeclaration(node) &&
node.members.length === 0 &&
(node.heritageClauses === undefined ||
- node.heritageClauses[0].types === undefined ||
// allow interfaces that extend 2 or more interfaces
node.heritageClauses[0].types.length < 2)) {
return ctx.addFailureAtNode(node.name, node.heritageClauses !== undefined ? Rule.FAILURE_STRING_FOR_EXTENDS : Rule.FAILURE_STRING);