code: function makeSolarSystems(agent) {
      let functor = function (id) {
          if (id === undefined) {
              return agent.request('get_universe_systems', undefined);
          }
          else {
              return new SolarSystemImpl(agent, id);
          }
      };
      functor.search = search_1.makeDefaultSearch(agent, "solarsystem" /* SOLARSYSTEM */);
      functor.jumpStats = function () {
          return agent.request('get_universe_system_jumps', undefined);
      };
      functor.killStats = function () {
          return agent.request('get_universe_system_kills', undefined);
      };
      functor.names = function (ids) {
          if (ids === undefined) {
              return functor().then(allIds => functor.names(allIds));
          }
          else {
              return names_1.getNames(agent, "solar_system" /* SOLAR_SYSTEM */, ids);
          }
      };
      return functor;
  }
docs: Create a new {@link SolarSystems} instance that uses the given `agent` to
  make its HTTP requests to the ESI interface.
  
  @param agent The agent making actual requests
  @returns An SolarSystems API instance