aboutsummaryrefslogtreecommitdiffstats
path: root/packages/sol-resolver/src/resolvers/name_resolver.ts
diff options
context:
space:
mode:
authorHsuan Lee <boczeratul@gmail.com>2019-03-06 17:46:50 +0800
committerHsuan Lee <boczeratul@gmail.com>2019-03-06 17:46:50 +0800
commit35703539d0f2b4ddb3b11d0de8c9634af59ab71f (patch)
treeae3731221dbbb3a6fa40060a8d916cfd3f738289 /packages/sol-resolver/src/resolvers/name_resolver.ts
parent92a1fde5b1ecd81b07cdb5bf0c9c1cd3544799db (diff)
downloaddexon-0x-contracts-35703539d0f2b4ddb3b11d0de8c9634af59ab71f.tar
dexon-0x-contracts-35703539d0f2b4ddb3b11d0de8c9634af59ab71f.tar.gz
dexon-0x-contracts-35703539d0f2b4ddb3b11d0de8c9634af59ab71f.tar.bz2
dexon-0x-contracts-35703539d0f2b4ddb3b11d0de8c9634af59ab71f.tar.lz
dexon-0x-contracts-35703539d0f2b4ddb3b11d0de8c9634af59ab71f.tar.xz
dexon-0x-contracts-35703539d0f2b4ddb3b11d0de8c9634af59ab71f.tar.zst
dexon-0x-contracts-35703539d0f2b4ddb3b11d0de8c9634af59ab71f.zip
Deploy @dexon-foundation/0x.jsstable
Diffstat (limited to 'packages/sol-resolver/src/resolvers/name_resolver.ts')
-rw-r--r--packages/sol-resolver/src/resolvers/name_resolver.ts66
1 files changed, 0 insertions, 66 deletions
diff --git a/packages/sol-resolver/src/resolvers/name_resolver.ts b/packages/sol-resolver/src/resolvers/name_resolver.ts
deleted file mode 100644
index aee326fb7..000000000
--- a/packages/sol-resolver/src/resolvers/name_resolver.ts
+++ /dev/null
@@ -1,66 +0,0 @@
-import * as fs from 'fs';
-import * as path from 'path';
-
-import { ContractSource } from '../types';
-
-import { EnumerableResolver } from './enumerable_resolver';
-
-const SOLIDITY_FILE_EXTENSION = '.sol';
-
-export class NameResolver extends EnumerableResolver {
- private readonly _contractsDir: string;
- constructor(contractsDir: string) {
- super();
- this._contractsDir = contractsDir;
- }
- public resolveIfExists(lookupContractName: string): ContractSource | undefined {
- let contractSource: ContractSource | undefined;
- const onFile = (filePath: string) => {
- const contractName = path.basename(filePath, SOLIDITY_FILE_EXTENSION);
- if (contractName === lookupContractName) {
- const absoluteContractPath = path.join(this._contractsDir, filePath);
- const source = fs.readFileSync(absoluteContractPath).toString();
- contractSource = { source, path: filePath, absolutePath: absoluteContractPath };
- return true;
- }
- return undefined;
- };
- this._traverseContractsDir(this._contractsDir, onFile);
- return contractSource;
- }
- public getAll(): ContractSource[] {
- const contractSources: ContractSource[] = [];
- const onFile = (filePath: string) => {
- const absoluteContractPath = path.join(this._contractsDir, filePath);
- const source = fs.readFileSync(absoluteContractPath).toString();
- const contractSource = { source, path: filePath, absolutePath: absoluteContractPath };
- contractSources.push(contractSource);
- };
- this._traverseContractsDir(this._contractsDir, onFile);
- return contractSources;
- }
- // tslint:disable-next-line:prefer-function-over-method
- private _traverseContractsDir(dirPath: string, onFile: (filePath: string) => true | void): boolean {
- let dirContents: string[] = [];
- try {
- dirContents = fs.readdirSync(dirPath);
- } catch (err) {
- throw new Error(`No directory found at ${dirPath}`);
- }
- for (const fileName of dirContents) {
- const absoluteEntryPath = path.join(dirPath, fileName);
- const isDirectory = fs.lstatSync(absoluteEntryPath).isDirectory();
- const entryPath = path.relative(this._contractsDir, absoluteEntryPath);
- let isComplete;
- if (isDirectory) {
- isComplete = this._traverseContractsDir(absoluteEntryPath, onFile);
- } else if (fileName.endsWith(SOLIDITY_FILE_EXTENSION)) {
- isComplete = onFile(entryPath);
- }
- if (isComplete) {
- return isComplete;
- }
- }
- return false;
- }
-}