diff options
Diffstat (limited to 'packages/sol-resolver/src/resolvers')
9 files changed, 0 insertions, 232 deletions
diff --git a/packages/sol-resolver/src/resolvers/enumerable_resolver.ts b/packages/sol-resolver/src/resolvers/enumerable_resolver.ts deleted file mode 100644 index 0efa43e7c..000000000 --- a/packages/sol-resolver/src/resolvers/enumerable_resolver.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { ContractSource } from '../types'; - -import { Resolver } from './resolver'; - -export abstract class EnumerableResolver extends Resolver { - public abstract getAll(): ContractSource[]; -} diff --git a/packages/sol-resolver/src/resolvers/fallthrough_resolver.ts b/packages/sol-resolver/src/resolvers/fallthrough_resolver.ts deleted file mode 100644 index 338f334f4..000000000 --- a/packages/sol-resolver/src/resolvers/fallthrough_resolver.ts +++ /dev/null @@ -1,21 +0,0 @@ -import * as _ from 'lodash'; - -import { ContractSource } from '../types'; - -import { Resolver } from './resolver'; - -export class FallthroughResolver extends Resolver { - private readonly _resolvers: Resolver[] = []; - public appendResolver(resolver: Resolver): void { - this._resolvers.push(resolver); - } - public resolveIfExists(importPath: string): ContractSource | undefined { - for (const resolver of this._resolvers) { - const contractSourceIfExists = resolver.resolveIfExists(importPath); - if (!_.isUndefined(contractSourceIfExists)) { - return contractSourceIfExists; - } - } - return undefined; - } -} diff --git a/packages/sol-resolver/src/resolvers/fs_resolver.ts b/packages/sol-resolver/src/resolvers/fs_resolver.ts deleted file mode 100644 index 86128023d..000000000 --- a/packages/sol-resolver/src/resolvers/fs_resolver.ts +++ /dev/null @@ -1,16 +0,0 @@ -import * as fs from 'fs'; - -import { ContractSource } from '../types'; - -import { Resolver } from './resolver'; - -export class FSResolver extends Resolver { - // tslint:disable-next-line:prefer-function-over-method - public resolveIfExists(importPath: string): ContractSource | undefined { - if (fs.existsSync(importPath) && fs.lstatSync(importPath).isFile()) { - const fileContent = fs.readFileSync(importPath).toString(); - return { source: fileContent, path: importPath, absolutePath: importPath }; - } - return undefined; - } -} 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; - } -} diff --git a/packages/sol-resolver/src/resolvers/npm_resolver.ts b/packages/sol-resolver/src/resolvers/npm_resolver.ts deleted file mode 100644 index 3c1d09557..000000000 --- a/packages/sol-resolver/src/resolvers/npm_resolver.ts +++ /dev/null @@ -1,42 +0,0 @@ -import * as fs from 'fs'; -import * as _ from 'lodash'; -import * as path from 'path'; - -import { ContractSource } from '../types'; - -import { Resolver } from './resolver'; - -export class NPMResolver extends Resolver { - private readonly _packagePath: string; - constructor(packagePath: string) { - super(); - this._packagePath = packagePath; - } - public resolveIfExists(importPath: string): ContractSource | undefined { - if (!importPath.startsWith('/')) { - let packageName; - let packageScopeIfExists; - let other; - if (_.startsWith(importPath, '@')) { - [packageScopeIfExists, packageName, ...other] = importPath.split('/'); - } else { - [packageName, ...other] = importPath.split('/'); - } - const pathWithinPackage = path.join(...other); - let currentPath = this._packagePath; - const ROOT_PATH = '/'; - while (currentPath !== ROOT_PATH) { - const packagePath = _.isUndefined(packageScopeIfExists) - ? packageName - : path.join(packageScopeIfExists, packageName); - const lookupPath = path.join(currentPath, 'node_modules', packagePath, pathWithinPackage); - if (fs.existsSync(lookupPath) && fs.lstatSync(lookupPath).isFile()) { - const fileContent = fs.readFileSync(lookupPath).toString(); - return { source: fileContent, path: importPath, absolutePath: lookupPath }; - } - currentPath = path.dirname(currentPath); - } - } - return undefined; - } -} diff --git a/packages/sol-resolver/src/resolvers/relative_fs_resolver.ts b/packages/sol-resolver/src/resolvers/relative_fs_resolver.ts deleted file mode 100644 index cfff145f9..000000000 --- a/packages/sol-resolver/src/resolvers/relative_fs_resolver.ts +++ /dev/null @@ -1,23 +0,0 @@ -import * as fs from 'fs'; -import * as path from 'path'; - -import { ContractSource } from '../types'; - -import { Resolver } from './resolver'; - -export class RelativeFSResolver extends Resolver { - private readonly _contractsDir: string; - constructor(contractsDir: string) { - super(); - this._contractsDir = contractsDir; - } - // tslint:disable-next-line:prefer-function-over-method - public resolveIfExists(importPath: string): ContractSource | undefined { - const filePath = path.resolve(path.join(this._contractsDir, importPath)); - if (fs.existsSync(filePath) && !fs.lstatSync(filePath).isDirectory()) { - const fileContent = fs.readFileSync(filePath).toString(); - return { source: fileContent, path: importPath, absolutePath: filePath }; - } - return undefined; - } -} diff --git a/packages/sol-resolver/src/resolvers/resolver.ts b/packages/sol-resolver/src/resolvers/resolver.ts deleted file mode 100644 index 7edc9a85d..000000000 --- a/packages/sol-resolver/src/resolvers/resolver.ts +++ /dev/null @@ -1,14 +0,0 @@ -import * as _ from 'lodash'; - -import { ContractSource } from '../types'; - -export abstract class Resolver { - public abstract resolveIfExists(importPath: string): ContractSource | undefined; - public resolve(importPath: string): ContractSource { - const contractSourceIfExists = this.resolveIfExists(importPath); - if (_.isUndefined(contractSourceIfExists)) { - throw new Error(`Failed to resolve ${importPath}`); - } - return contractSourceIfExists; - } -} diff --git a/packages/sol-resolver/src/resolvers/spy_resolver.ts b/packages/sol-resolver/src/resolvers/spy_resolver.ts deleted file mode 100644 index 5582d771a..000000000 --- a/packages/sol-resolver/src/resolvers/spy_resolver.ts +++ /dev/null @@ -1,25 +0,0 @@ -import * as _ from 'lodash'; - -import { ContractSource } from '../types'; - -import { Resolver } from './resolver'; - -/** - * This resolver is a passthrough proxy to any resolver that records all the resolved contracts sources. - * You can access them later using the `resolvedContractSources` public field. - */ -export class SpyResolver extends Resolver { - public resolvedContractSources: ContractSource[] = []; - private readonly _resolver: Resolver; - constructor(resolver: Resolver) { - super(); - this._resolver = resolver; - } - public resolveIfExists(importPath: string): ContractSource | undefined { - const contractSourceIfExists = this._resolver.resolveIfExists(importPath); - if (!_.isUndefined(contractSourceIfExists)) { - this.resolvedContractSources.push(contractSourceIfExists); - } - return contractSourceIfExists; - } -} diff --git a/packages/sol-resolver/src/resolvers/url_resolver.ts b/packages/sol-resolver/src/resolvers/url_resolver.ts deleted file mode 100644 index ef300e6db..000000000 --- a/packages/sol-resolver/src/resolvers/url_resolver.ts +++ /dev/null @@ -1,18 +0,0 @@ -import * as fs from 'fs'; - -import { ContractSource } from '../types'; - -import { Resolver } from './resolver'; - -export class URLResolver extends Resolver { - // tslint:disable-next-line:prefer-function-over-method - public resolveIfExists(importPath: string): ContractSource | undefined { - const FILE_URL_PREXIF = 'file://'; - if (importPath.startsWith(FILE_URL_PREXIF)) { - const filePath = importPath.substr(FILE_URL_PREXIF.length); - const fileContent = fs.readFileSync(filePath).toString(); - return { source: fileContent, path: importPath, absolutePath: filePath }; - } - return undefined; - } -} |