GraphqlQuery.Signature (graphql_query v0.6.2)

View Source

Generates unique signatures for GraphQL documents and fragments.

This module provides functionality to create consistent hash-based signatures for GraphQL queries, mutations, subscriptions, and fragments. Signatures are useful for caching, deduplication, and tracking purposes.

Summary

Functions

Generates a signature for a GraphQL document or fragment.

Functions

signature(document)

@spec signature(
  GraphqlQuery.Document.t()
  | GraphqlQuery.Fragment.t()
  | binary()
  | any()
) ::
  String.t() | nil

Generates a signature for a GraphQL document or fragment.

Parameters

Returns

  • A string representation of the hash for valid inputs
  • nil for invalid or unsupported input types

Examples

iex> GraphqlQuery.Signature.signature("query { user { id } }")
"123456789"

iex> doc = %GraphqlQuery.Document{query: "mutation { createUser }"}
iex> GraphqlQuery.Signature.signature(doc)
"987654321"

iex> GraphqlQuery.Signature.signature(nil)
nil