// Generated by bynkc — do not edit by hand.
// context forecast.lookup

import { Ok, Err, Some, None, type Result, type Option, type ValidationError } from "../runtime.js";

import { Report, WeatherError } from "../weather.js";

import * as weather from "../weather.js";

export const lookup = {
  async call(city: string, deps: { Weather: weather.Weather }): Promise<Result<Report, WeatherError>> {
    const r = await deps.Weather.current(city);
    return r;
  },
};

export interface ForecastLookupDeps {
  readonly Weather: weather.Weather;
}

export function makeSurface(deps: ForecastLookupDeps) {
  return {
    async lookup(city: string): Promise<Result<Report, WeatherError>> {
      return lookup.call(city, deps);
    },
  };
}

