PtcRunner.Kernel.MCPOAuth.Scope (PtcRunner v0.14.0)

Copy Markdown View Source

Shared strict parser for every OAuth scope-bearing boundary.

Scope members are case-sensitive ASCII scope-token values. Parsed sets are duplicate-free, bounded to 64 members, and serialize deterministically by original byte order sorting.

Summary

Types

scope_set()

@type scope_set() :: MapSet.t(binary())

Functions

parse_list(values, opts \\ [])

@spec parse_list(
  term(),
  keyword()
) :: {:ok, scope_set()} | {:error, :invalid_scope}

parse_string(value)

@spec parse_string(term()) :: {:ok, scope_set()} | {:error, :invalid_scope}

serialize(scopes)

@spec serialize(scope_set()) :: {:ok, binary()} | {:error, :invalid_scope}

subset?(left, right)

@spec subset?(scope_set(), scope_set()) :: boolean()

valid_token?(value)

@spec valid_token?(term()) :: boolean()