blob: 5582d771a3d1d56ee3303a35de5aa41b601b7fe8 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
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;
}
}
|