# Generated by `mix github.gen` from docs/github-api/api.github.com.json. # Do not edit by hand; re-run the task instead. defmodule Noizu.Github.Collection do @moduledoc """ Generic list result. Wraps a bare array (or a `{total_count, items}` search envelope) of untyped items together with pagination links. """ defstruct [:items, :complete, :total, :links] def from_json(json, headers \\ []) def from_json(list, headers) when is_list(list) do %__MODULE__{ items: list, complete: true, total: length(list), links: Noizu.Github.extract_links(headers) } end def from_json(%{items: items} = env, headers) when is_list(items) do %__MODULE__{ items: items, complete: !Map.get(env, :incomplete_results, false), total: Map.get(env, :total_count, length(items)), links: Noizu.Github.extract_links(headers) } end def from_json(other, headers) do %__MODULE__{items: other, links: Noizu.Github.extract_links(headers)} end end