defmodule OpenAPI.Reader.Config do @moduledoc """ Configuration for the read phase For more information, see the **Configuration** section of the documentation for `OpenAPI.Reader`. """ @type t :: %__MODULE__{ additional_files: [String.t()], file: String.t() | nil, passed_files: [String.t()] } defstruct [ :additional_files, :file, :passed_files ] @doc false @spec new(OpenAPI.State.t()) :: t def new(state) do %OpenAPI.State{call: %OpenAPI.Call{files: files, profile: profile}} = state options = Application.get_env(:oapi_generator, profile) |> Keyword.get(:reader, []) %__MODULE__{ additional_files: Keyword.get(options, :additional_files, []), file: Keyword.get(options, :file, nil), passed_files: files } end end