1 | ;
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 | const scan_1 = require("./scan");
|
4 | exports.findContract = async (dir, name) => {
|
5 | const contracts = await scan_1.scan(dir);
|
6 | const found = Object.entries(contracts).map(([path, contractNames]) => ({
|
7 | path,
|
8 | contractNames: contractNames === undefined ? [] : contractNames.filter(contractName => name === contractName)
|
9 | })).filter(({ contractNames }) => contractNames.length > 0);
|
10 | if (found.length > 1) {
|
11 | throw new Error(`Found multiple contracts with name ${name}`);
|
12 | }
|
13 | if (found.length === 0) {
|
14 | throw new Error(`Cound not find contract with name ${name}`);
|
15 | }
|
16 | return {
|
17 | filePath: found[0].path,
|
18 | name
|
19 | };
|
20 | };
|
21 |
|
22 | //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImZpbmRDb250cmFjdC50cyJdLCJuYW1lcyI6WyJmaW5kQ29udHJhY3QiLCJkaXIiLCJuYW1lIiwiY29udHJhY3RzIiwic2NhbiIsImZvdW5kIiwiT2JqZWN0IiwiZW50cmllcyIsIm1hcCIsInBhdGgiLCJjb250cmFjdE5hbWVzIiwidW5kZWZpbmVkIiwiZmlsdGVyIiwiY29udHJhY3ROYW1lIiwibGVuZ3RoIiwiRXJyb3IiLCJmaWxlUGF0aCJdLCJtYXBwaW5ncyI6Ijs7QUFBQSxpQ0FBQTtBQU9hQSxRQUFBQSxZQUFZLEdBQUcsS0FBQSxFQUFPQyxHQUFQLEVBQW9CQyxJQUFwQixFQUFBLEVBQUE7SUFDMUIsTUFBTUMsU0FBUyxHQUFHLE1BQU1DLFdBQUksQ0FBQ0gsR0FBRCxDQUE1QixDQUFBO0lBQ0EsTUFBTUksS0FBSyxHQUFHQyxNQUFNLENBQUNDLE9BQVAsQ0FBZUosU0FBZixDQUFBLENBQ1hLLEdBRFcsQ0FDUCxDQUFDLENBQUNDLElBQUQsRUFBT0MsYUFBUCxDQUFELEVBQUEsRUFBQSxDQUFBLENBQTRCO1FBQy9CRCxJQUQrQjtRQUUvQkMsYUFBYSxFQUFFQSxhQUFhLEtBQUtDLFNBQWxCLENBQUEsQ0FBQSxDQUE4QixFQUE5QixDQUFBLENBQUEsQ0FBbUNELGFBQWEsQ0FBQ0UsTUFBZCxDQUFzQkMsWUFBRCxDQUFBLEVBQUEsQ0FBa0JYLElBQUksS0FBS1csWUFBaEQsQ0FBQTtLQUYvQyxDQURPLENBQUEsQ0FLWEQsTUFMVyxDQUtKLENBQUMsRUFBRUYsYUFBQUEsRUFBSCxFQUFBLEVBQUEsQ0FBdUJBLGFBQWEsQ0FBQ0ksTUFBZCxHQUF1QixDQUwxQyxDQUFkLENBQUE7SUFNQSxJQUFJVCxLQUFLLENBQUNTLE1BQU4sR0FBZSxDQUFuQixFQUFzQjtRQUNwQixNQUFNLElBQUlDLEtBQUosQ0FBVyxzQ0FBcUNiLElBQUssRUFBckQsQ0FBTixDQUFBO0tBQ0Q7SUFFRCxJQUFJRyxLQUFLLENBQUNTLE1BQU4sS0FBaUIsQ0FBckIsRUFBd0I7UUFDdEIsTUFBTSxJQUFJQyxLQUFKLENBQVcscUNBQW9DYixJQUFLLEVBQXBELENBQU4sQ0FBQTtLQUNEO0lBRUQsT0FBTztRQUNMYyxRQUFRLEVBQUVYLEtBQUssQ0FBQyxDQUFELENBQUwsQ0FBU0ksSUFEZDtRQUVMUCxJQUFBQTtLQUZGLENBQUE7QUFJRCxDQXBCTSxDQUFBIiwiZmlsZSI6Im5lby1vbmUtc21hcnQtY29udHJhY3QtY29tcGlsZXIvc3JjL2ZpbmRDb250cmFjdC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHNjYW4gfSBmcm9tICcuL3NjYW4nO1xuXG5leHBvcnQgaW50ZXJmYWNlIEZpbmRDb250cmFjdFJlc3VsdCB7XG4gIHJlYWRvbmx5IGZpbGVQYXRoOiBzdHJpbmc7XG4gIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcbn1cblxuZXhwb3J0IGNvbnN0IGZpbmRDb250cmFjdCA9IGFzeW5jIChkaXI6IHN0cmluZywgbmFtZTogc3RyaW5nKTogUHJvbWlzZTxGaW5kQ29udHJhY3RSZXN1bHQ+ID0+IHtcbiAgY29uc3QgY29udHJhY3RzID0gYXdhaXQgc2NhbihkaXIpO1xuICBjb25zdCBmb3VuZCA9IE9iamVjdC5lbnRyaWVzKGNvbnRyYWN0cylcbiAgICAubWFwKChbcGF0aCwgY29udHJhY3ROYW1lc10pID0+ICh7XG4gICAgICBwYXRoLFxuICAgICAgY29udHJhY3ROYW1lczogY29udHJhY3ROYW1lcyA9PT0gdW5kZWZpbmVkID8gW10gOiBjb250cmFjdE5hbWVzLmZpbHRlcigoY29udHJhY3ROYW1lKSA9PiBuYW1lID09PSBjb250cmFjdE5hbWUpLFxuICAgIH0pKVxuICAgIC5maWx0ZXIoKHsgY29udHJhY3ROYW1lcyB9KSA9PiBjb250cmFjdE5hbWVzLmxlbmd0aCA+IDApO1xuICBpZiAoZm91bmQubGVuZ3RoID4gMSkge1xuICAgIHRocm93IG5ldyBFcnJvcihgRm91bmQgbXVsdGlwbGUgY29udHJhY3RzIHdpdGggbmFtZSAke25hbWV9YCk7XG4gIH1cblxuICBpZiAoZm91bmQubGVuZ3RoID09PSAwKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBDb3VuZCBub3QgZmluZCBjb250cmFjdCB3aXRoIG5hbWUgJHtuYW1lfWApO1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBmaWxlUGF0aDogZm91bmRbMF0ucGF0aCxcbiAgICBuYW1lLFxuICB9O1xufTtcbiJdfQ==
|