'use strict';Object.defineProperty(exports, "__esModule", { value: true });var _createClass = function () {function defineProperties(target, props) {for (var i = 0; i < props.length; i++) {var descriptor = props[i];descriptor.enumerable = descriptor.enumerable || false;descriptor.configurable = true;if ("value" in descriptor) descriptor.writable = true;Object.defineProperty(target, descriptor.key, descriptor);}}return function (Constructor, protoProps, staticProps) {if (protoProps) defineProperties(Constructor.prototype, protoProps);if (staticProps) defineProperties(Constructor, staticProps);return Constructor;};}();function _classCallCheck(instance, Constructor) {if (!(instance instanceof Constructor)) {throw new TypeError("Cannot call a class as a function");}} // Copyright 2015-2017 Parity Technologies (UK) Ltd.
// This file is part of Parity.

// Parity is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.

// Parity is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.

// You should have received a copy of the GNU General Public License
// along with Parity.  If not, see <http://www.gnu.org/licenses/>.
var
GithubHint = function () {
  function GithubHint(api, registry) {_classCallCheck(this, GithubHint);
    this._api = api;
    this._registry = registry;
    this._instance = null;

    this.getInstance();
  }_createClass(GithubHint, [{ key: 'getContract', value: function getContract()

    {
      return this._registry.getContract('githubhint');
    } }, { key: 'getInstance', value: function getInstance()

    {var _this = this;
      if (this._instance) {
        return Promise.resolve(this._instance);
      }

      return this.getContract().then(function (contract) {
        _this._instance = contract.instance;
        return _this._instance;
      });
    } }, { key: 'getEntry', value: function getEntry(

    entryId) {
      return this.getInstance().then(function (instance) {
        return instance.entries.call({}, [entryId]);
      });
    } }]);return GithubHint;}();exports.default = GithubHint;