Files
protocol/packages/sol-resolver/src/resolvers/spy_resolver.ts
Xianny 7423028fea Replace lodash with built-ins where possible to reduce bundle size (#1766)
* add tslint rule to disallow lodash.isUndefined

* add tslint rule to disallow lodash.isNull

* apply fixes
2019-04-10 09:36:32 -07:00

24 lines
857 B
TypeScript

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 (contractSourceIfExists !== undefined) {
this.resolvedContractSources.push(contractSourceIfExists);
}
return contractSourceIfExists;
}
}