UNPKG

3.44 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3const scan_1 = require("./scan");
4exports.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==