scruffy/client/catalogs

Functions for calling Scryfall’s Catalogs endpoints.

Each function builds its request with scruffy/client/request and sends it with the client.Requester you provide, so what comes back is already the decoded Catalog – or a client.ClientError describing what went wrong. Call new once with your Requester to get a Client back with all of them already wired up, if you’d rather not pass one at every call site.

See https://scryfall.com/docs/api/catalogs for the upstream reference.

Types

Every function above, already wired up to a Requester – see new.

pub type Client(e) {
  Client(
    get_card_names: fn() -> Result(
      catalog.Catalog(String),
      client.ClientError(e),
    ),
    get_artist_names: fn() -> Result(
      catalog.Catalog(String),
      client.ClientError(e),
    ),
    get_word_bank: fn() -> Result(
      catalog.Catalog(String),
      client.ClientError(e),
    ),
    get_supertypes: fn() -> Result(
      catalog.Catalog(String),
      client.ClientError(e),
    ),
    get_card_types: fn() -> Result(
      catalog.Catalog(String),
      client.ClientError(e),
    ),
    get_artifact_types: fn() -> Result(
      catalog.Catalog(String),
      client.ClientError(e),
    ),
    get_battle_types: fn() -> Result(
      catalog.Catalog(String),
      client.ClientError(e),
    ),
    get_creature_types: fn() -> Result(
      catalog.Catalog(String),
      client.ClientError(e),
    ),
    get_enchantment_types: fn() -> Result(
      catalog.Catalog(String),
      client.ClientError(e),
    ),
    get_land_types: fn() -> Result(
      catalog.Catalog(String),
      client.ClientError(e),
    ),
    get_planeswalker_types: fn() -> Result(
      catalog.Catalog(String),
      client.ClientError(e),
    ),
    get_spell_types: fn() -> Result(
      catalog.Catalog(String),
      client.ClientError(e),
    ),
    get_powers: fn() -> Result(
      catalog.Catalog(String),
      client.ClientError(e),
    ),
    get_toughnesses: fn() -> Result(
      catalog.Catalog(String),
      client.ClientError(e),
    ),
    get_loyalties: fn() -> Result(
      catalog.Catalog(String),
      client.ClientError(e),
    ),
    get_keyword_abilities: fn() -> Result(
      catalog.Catalog(String),
      client.ClientError(e),
    ),
    get_keyword_actions: fn() -> Result(
      catalog.Catalog(String),
      client.ClientError(e),
    ),
    get_ability_words: fn() -> Result(
      catalog.Catalog(String),
      client.ClientError(e),
    ),
    get_flavor_words: fn() -> Result(
      catalog.Catalog(String),
      client.ClientError(e),
    ),
    get_watermarks: fn() -> Result(
      catalog.Catalog(String),
      client.ClientError(e),
    ),
  )
}

Constructors

Values

pub fn get_ability_words(
  requester: fn(request.Request(String)) -> Result(
    response.Response(String),
    e,
  ),
) -> Result(catalog.Catalog(String), client.ClientError(e))

Get a Catalog of all ability words in Scryfall’s database.

pub fn get_artifact_types(
  requester: fn(request.Request(String)) -> Result(
    response.Response(String),
    e,
  ),
) -> Result(catalog.Catalog(String), client.ClientError(e))

Get a Catalog of all artifact types in Scryfall’s database.

pub fn get_artist_names(
  requester: fn(request.Request(String)) -> Result(
    response.Response(String),
    e,
  ),
) -> Result(catalog.Catalog(String), client.ClientError(e))

Get a Catalog of all canonical artist names in Scryfall’s database.

pub fn get_battle_types(
  requester: fn(request.Request(String)) -> Result(
    response.Response(String),
    e,
  ),
) -> Result(catalog.Catalog(String), client.ClientError(e))

Get a Catalog of all battle types in Scryfall’s database.

pub fn get_card_names(
  requester: fn(request.Request(String)) -> Result(
    response.Response(String),
    e,
  ),
) -> Result(catalog.Catalog(String), client.ClientError(e))

Get a Catalog of all English card names in Scryfall’s database.

pub fn get_card_types(
  requester: fn(request.Request(String)) -> Result(
    response.Response(String),
    e,
  ),
) -> Result(catalog.Catalog(String), client.ClientError(e))

Get a Catalog of all card types in Scryfall’s database.

pub fn get_creature_types(
  requester: fn(request.Request(String)) -> Result(
    response.Response(String),
    e,
  ),
) -> Result(catalog.Catalog(String), client.ClientError(e))

Get a Catalog of all creature types in Scryfall’s database.

pub fn get_enchantment_types(
  requester: fn(request.Request(String)) -> Result(
    response.Response(String),
    e,
  ),
) -> Result(catalog.Catalog(String), client.ClientError(e))

Get a Catalog of all enchantment types in Scryfall’s database.

pub fn get_flavor_words(
  requester: fn(request.Request(String)) -> Result(
    response.Response(String),
    e,
  ),
) -> Result(catalog.Catalog(String), client.ClientError(e))

Get a Catalog of all flavor words in Scryfall’s database.

pub fn get_keyword_abilities(
  requester: fn(request.Request(String)) -> Result(
    response.Response(String),
    e,
  ),
) -> Result(catalog.Catalog(String), client.ClientError(e))

Get a Catalog of all keyword abilities in Scryfall’s database.

pub fn get_keyword_actions(
  requester: fn(request.Request(String)) -> Result(
    response.Response(String),
    e,
  ),
) -> Result(catalog.Catalog(String), client.ClientError(e))

Get a Catalog of all keyword actions in Scryfall’s database.

pub fn get_land_types(
  requester: fn(request.Request(String)) -> Result(
    response.Response(String),
    e,
  ),
) -> Result(catalog.Catalog(String), client.ClientError(e))

Get a Catalog of all land types in Scryfall’s database.

pub fn get_loyalties(
  requester: fn(request.Request(String)) -> Result(
    response.Response(String),
    e,
  ),
) -> Result(catalog.Catalog(String), client.ClientError(e))

Get a Catalog of all possible values for a planeswalker card’s loyalty.

pub fn get_planeswalker_types(
  requester: fn(request.Request(String)) -> Result(
    response.Response(String),
    e,
  ),
) -> Result(catalog.Catalog(String), client.ClientError(e))

Get a Catalog of all planeswalker types in Scryfall’s database.

pub fn get_powers(
  requester: fn(request.Request(String)) -> Result(
    response.Response(String),
    e,
  ),
) -> Result(catalog.Catalog(String), client.ClientError(e))

Get a Catalog of all possible values for a creature card’s power.

pub fn get_spell_types(
  requester: fn(request.Request(String)) -> Result(
    response.Response(String),
    e,
  ),
) -> Result(catalog.Catalog(String), client.ClientError(e))

Get a Catalog of all spell types in Scryfall’s database.

pub fn get_supertypes(
  requester: fn(request.Request(String)) -> Result(
    response.Response(String),
    e,
  ),
) -> Result(catalog.Catalog(String), client.ClientError(e))

Get a Catalog of all card supertypes in Scryfall’s database.

pub fn get_toughnesses(
  requester: fn(request.Request(String)) -> Result(
    response.Response(String),
    e,
  ),
) -> Result(catalog.Catalog(String), client.ClientError(e))

Get a Catalog of all possible values for a creature card’s toughness.

pub fn get_watermarks(
  requester: fn(request.Request(String)) -> Result(
    response.Response(String),
    e,
  ),
) -> Result(catalog.Catalog(String), client.ClientError(e))

Get a Catalog of all watermarks in Scryfall’s database.

pub fn get_word_bank(
  requester: fn(request.Request(String)) -> Result(
    response.Response(String),
    e,
  ),
) -> Result(catalog.Catalog(String), client.ClientError(e))

Get a Catalog of all words that could appear in a card name.

pub fn new(
  requester: fn(request.Request(String)) -> Result(
    response.Response(String),
    e,
  ),
) -> Client(e)

Build a Client bound to the given Requester, so you don’t have to pass one to every call: let catalogs = catalogs.new(httpc.send) then catalogs.get_card_names().

Search Document