aboutsummaryrefslogtreecommitdiffstats
path: root/packages/tslint-config/rules
diff options
context:
space:
mode:
authorFred Carlsen <fred@sjelfull.no>2018-12-15 06:24:08 +0800
committerFred Carlsen <fred@sjelfull.no>2018-12-15 06:24:08 +0800
commite53f28c5705ad6dc5afeb672ef7491c15a682018 (patch)
treec8f946751f4fa88cfadbe621349f7f30b447e000 /packages/tslint-config/rules
parent5c083ba16bb5db4e3b74035b73c0307b7f8db65e (diff)
parent6d45beccad44e86ddd692d0cf54c09c29c5d9daf (diff)
downloaddexon-sol-tools-e53f28c5705ad6dc5afeb672ef7491c15a682018.tar
dexon-sol-tools-e53f28c5705ad6dc5afeb672ef7491c15a682018.tar.gz
dexon-sol-tools-e53f28c5705ad6dc5afeb672ef7491c15a682018.tar.bz2
dexon-sol-tools-e53f28c5705ad6dc5afeb672ef7491c15a682018.tar.lz
dexon-sol-tools-e53f28c5705ad6dc5afeb672ef7491c15a682018.tar.xz
dexon-sol-tools-e53f28c5705ad6dc5afeb672ef7491c15a682018.tar.zst
dexon-sol-tools-e53f28c5705ad6dc5afeb672ef7491c15a682018.zip
Merge remote-tracking branch 'upstream/development' into website
# Conflicts: # .gitignore # README.md # contracts/core/CHANGELOG.json # contracts/examples/package.json # contracts/extensions/package.json # contracts/interfaces/package.json # contracts/libs/package.json # contracts/multisig/package.json # contracts/protocol/CHANGELOG.json # contracts/protocol/DEPLOYS.json # contracts/protocol/package.json # contracts/test-utils/CHANGELOG.json # contracts/test-utils/CHANGELOG.md # contracts/test-utils/package.json # contracts/tokens/CHANGELOG.json # contracts/tokens/package.json # contracts/utils/package.json # packages/0x.js/CHANGELOG.json # packages/0x.js/CHANGELOG.md # packages/0x.js/package.json # packages/abi-gen-wrappers/CHANGELOG.json # packages/abi-gen-wrappers/CHANGELOG.md # packages/abi-gen-wrappers/package.json # packages/abi-gen/CHANGELOG.json # packages/abi-gen/CHANGELOG.md # packages/abi-gen/package.json # packages/assert/CHANGELOG.json # packages/assert/CHANGELOG.md # packages/assert/package.json # packages/asset-buyer/CHANGELOG.md # packages/asset-buyer/package.json # packages/base-contract/CHANGELOG.json # packages/base-contract/CHANGELOG.md # packages/base-contract/package.json # packages/connect/CHANGELOG.json # packages/connect/CHANGELOG.md # packages/connect/package.json # packages/contract-wrappers/CHANGELOG.json # packages/contract-wrappers/CHANGELOG.md # packages/contract-wrappers/package.json # packages/dev-tools-pages/package.json # packages/dev-utils/CHANGELOG.json # packages/dev-utils/CHANGELOG.md # packages/dev-utils/package.json # packages/ethereum-types/CHANGELOG.json # packages/ethereum-types/CHANGELOG.md # packages/ethereum-types/package.json # packages/fill-scenarios/CHANGELOG.json # packages/fill-scenarios/CHANGELOG.md # packages/fill-scenarios/package.json # packages/instant/package.json # packages/instant/src/types.ts # packages/json-schemas/CHANGELOG.json # packages/json-schemas/CHANGELOG.md # packages/json-schemas/package.json # packages/metacoin/package.json # packages/migrations/CHANGELOG.json # packages/migrations/CHANGELOG.md # packages/migrations/package.json # packages/order-utils/CHANGELOG.json # packages/order-utils/CHANGELOG.md # packages/order-utils/package.json # packages/order-watcher/CHANGELOG.json # packages/order-watcher/CHANGELOG.md # packages/order-watcher/package.json # packages/pipeline/package.json # packages/pipeline/src/ormconfig.ts # packages/pipeline/src/parsers/ddex_orders/index.ts # packages/pipeline/src/parsers/oasis_orders/index.ts # packages/pipeline/src/parsers/paradex_orders/index.ts # packages/pipeline/src/parsers/token_metadata/index.ts # packages/pipeline/src/scripts/pull_competing_dex_trades.ts # packages/pipeline/src/scripts/pull_ddex_orderbook_snapshots.ts # packages/pipeline/src/scripts/pull_idex_orderbook_snapshots.ts # packages/pipeline/src/scripts/pull_missing_blocks.ts # packages/pipeline/src/scripts/pull_oasis_orderbook_snapshots.ts # packages/pipeline/src/scripts/pull_paradex_orderbook_snapshots.ts # packages/pipeline/src/scripts/pull_trusted_tokens.ts # packages/pipeline/src/scripts/update_relayer_info.ts # packages/pipeline/src/utils/get_ohlcv_trading_pairs.ts # packages/pipeline/src/utils/index.ts # packages/pipeline/test/parsers/ddex_orders/index_test.ts # packages/pipeline/test/parsers/oasis_orders/index_test.ts # packages/pipeline/test/parsers/paradex_orders/index_test.ts # packages/react-docs/CHANGELOG.json # packages/react-docs/CHANGELOG.md # packages/react-docs/package.json # packages/react-shared/CHANGELOG.json # packages/react-shared/CHANGELOG.md # packages/react-shared/package.json # packages/sol-compiler/CHANGELOG.md # packages/sol-compiler/package.json # packages/sol-cov/CHANGELOG.json # packages/sol-cov/CHANGELOG.md # packages/sol-cov/package.json # packages/sol-doc/CHANGELOG.json # packages/sol-doc/CHANGELOG.md # packages/sol-doc/package.json # packages/sol-resolver/CHANGELOG.md # packages/sol-resolver/package.json # packages/sra-spec/CHANGELOG.json # packages/sra-spec/CHANGELOG.md # packages/sra-spec/package.json # packages/subproviders/CHANGELOG.json # packages/subproviders/CHANGELOG.md # packages/subproviders/package.json # packages/testnet-faucets/package.json # packages/types/CHANGELOG.md # packages/types/package.json # packages/typescript-typings/CHANGELOG.json # packages/typescript-typings/CHANGELOG.md # packages/typescript-typings/package.json # packages/utils/CHANGELOG.json # packages/utils/CHANGELOG.md # packages/utils/package.json # packages/web3-wrapper/CHANGELOG.json # packages/web3-wrapper/CHANGELOG.md # packages/web3-wrapper/package.json # packages/website/package.json # packages/website/public/index.html # packages/website/ts/pages/instant/fee_percentage_slider.tsx # yarn.lock
Diffstat (limited to 'packages/tslint-config/rules')
-rw-r--r--packages/tslint-config/rules/walkers/async_suffix.ts39
1 files changed, 24 insertions, 15 deletions
diff --git a/packages/tslint-config/rules/walkers/async_suffix.ts b/packages/tslint-config/rules/walkers/async_suffix.ts
index eaec9c5f6..4e12152e8 100644
--- a/packages/tslint-config/rules/walkers/async_suffix.ts
+++ b/packages/tslint-config/rules/walkers/async_suffix.ts
@@ -3,24 +3,33 @@ import * as Lint from 'tslint';
import * as ts from 'typescript';
export class AsyncSuffixWalker extends Lint.RuleWalker {
- public static FAILURE_STRING = 'async functions must have an Async suffix';
+ public static FAILURE_STRING = 'async functions/methods must have an Async suffix';
+ public visitFunctionDeclaration(node: ts.FunctionDeclaration): void {
+ this._visitFunctionOrMethodDeclaration(node);
+ super.visitFunctionDeclaration(node);
+ }
public visitMethodDeclaration(node: ts.MethodDeclaration): void {
- const methodNameNode = node.name;
- const methodName = methodNameNode.getText();
- if (!_.isUndefined(node.type)) {
- if (node.type.kind === ts.SyntaxKind.TypeReference) {
- // tslint:disable-next-line:no-unnecessary-type-assertion
- const returnTypeName = (node.type as ts.TypeReferenceNode).typeName.getText();
- if (returnTypeName === 'Promise' && !methodName.endsWith('Async')) {
- const failure = this.createFailure(
- methodNameNode.getStart(),
- methodNameNode.getWidth(),
- AsyncSuffixWalker.FAILURE_STRING,
- );
- this.addFailure(failure);
+ this._visitFunctionOrMethodDeclaration(node);
+ super.visitMethodDeclaration(node);
+ }
+ private _visitFunctionOrMethodDeclaration(node: ts.MethodDeclaration | ts.FunctionDeclaration): void {
+ const nameNode = node.name;
+ if (!_.isUndefined(nameNode)) {
+ const name = nameNode.getText();
+ if (!_.isUndefined(node.type)) {
+ if (node.type.kind === ts.SyntaxKind.TypeReference) {
+ // tslint:disable-next-line:no-unnecessary-type-assertion
+ const returnTypeName = (node.type as ts.TypeReferenceNode).typeName.getText();
+ if (returnTypeName === 'Promise' && !name.endsWith('Async')) {
+ const failure = this.createFailure(
+ nameNode.getStart(),
+ nameNode.getWidth(),
+ AsyncSuffixWalker.FAILURE_STRING,
+ );
+ this.addFailure(failure);
+ }
}
}
}
- super.visitMethodDeclaration(node);
}
}