diff options
author | Hsuan Lee <hsuan@cobinhood.com> | 2019-01-19 18:42:04 +0800 |
---|---|---|
committer | Hsuan Lee <hsuan@cobinhood.com> | 2019-01-19 18:42:04 +0800 |
commit | 7ae38906926dc09bc10670c361af0d2bf0050426 (patch) | |
tree | 5fb10ae366b987db09e4ddb4bc3ba0f75404ad08 /packages/sol-resolver/src/resolvers/name_resolver.ts | |
parent | b5fd3c72a08aaa6957917d74c333387a16edf66b (diff) | |
download | dexon-sol-tools-7ae38906926dc09bc10670c361af0d2bf0050426.tar dexon-sol-tools-7ae38906926dc09bc10670c361af0d2bf0050426.tar.gz dexon-sol-tools-7ae38906926dc09bc10670c361af0d2bf0050426.tar.bz2 dexon-sol-tools-7ae38906926dc09bc10670c361af0d2bf0050426.tar.lz dexon-sol-tools-7ae38906926dc09bc10670c361af0d2bf0050426.tar.xz dexon-sol-tools-7ae38906926dc09bc10670c361af0d2bf0050426.tar.zst dexon-sol-tools-7ae38906926dc09bc10670c361af0d2bf0050426.zip |
Update dependency packages
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; - } -} |