openapi-typescript-fetch icon indicating copy to clipboard operation
openapi-typescript-fetch copied to clipboard

Question: Return all operations

Open jonasgroendahl opened this issue 3 years ago • 1 comments
trafficstars

Hi!

I'm trying to create some code that will generate all the available operations based on the paths automatically, so you don't need to create another fetch.path("route").method("method").create() every time you add another path in your api spec.

Anyone who had any luck with this?

I tried something like the below and couldn't really think it to the end

import { ApiPaths, paths } from "./schema"

const fetch = Fetcher.for<paths>();

const createAll = () => {
  const allPaths = Object.keys(ApiPaths);

  const all = {};

  for (const route of allPaths) {
    all[route] = fetch.path(route).method("get").create();
  }

  return all;
};

jonasgroendahl avatar Sep 29 '22 12:09 jonasgroendahl

I ended up creating a tool that parses the generated types with the typescript compiler itself and walks the AST to generate all the APIs fetchers.

duncanbeevers avatar Feb 17 '23 02:02 duncanbeevers