diff options
author | Hsuan Lee <boczeratul@gmail.com> | 2019-03-06 17:46:50 +0800 |
---|---|---|
committer | Hsuan Lee <boczeratul@gmail.com> | 2019-03-06 17:46:50 +0800 |
commit | 35703539d0f2b4ddb3b11d0de8c9634af59ab71f (patch) | |
tree | ae3731221dbbb3a6fa40060a8d916cfd3f738289 /packages/sol-resolver/src/resolvers/name_resolver.ts | |
parent | 92a1fde5b1ecd81b07cdb5bf0c9c1cd3544799db (diff) | |
download | dexon-0x-contracts-stable.tar dexon-0x-contracts-stable.tar.gz dexon-0x-contracts-stable.tar.bz2 dexon-0x-contracts-stable.tar.lz dexon-0x-contracts-stable.tar.xz dexon-0x-contracts-stable.tar.zst dexon-0x-contracts-stable.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.ts | 66 |
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; - } -} |