Jadpo is experimental and not ready for production. These docs follow the compiler's main branch as of 1 Nov 2026. What's built · Install 0.2.0
jadpo
Reference: Standard library

Standard types

OidcClaims

On this page

Who an identity provider says signed in (OpenID Connect Core 1.0 §5.1): the subject and the standard claims a sign-in reads, each by its own name. Personal data.

Security; not ordered; since Jadpo 0.1.0.

Make one

Build one from its fields, OidcClaims { sub: ... }.

Fields

Field Type
sub Text
name Text?
given_name GivenName?
family_name FamilyName?
preferred_username Text?
email Email?
email_verified Bool?
phone_number PhoneNumber?
phone_number_verified Bool?
picture Url?

Text, JSON and storage

It has no single text form, so text.from and text.parse don't take it. JSON sends an object of its parts.

JSON
{"sub":"248289761001","name":"Jane Doe","given_name":"Jane","family_name":"Doe","preferred_username":"j.doe","email":"janedoe@example.com","email_verified":true,"picture":"https://example.com/janedoe/me.jpg"}
{"sub":"248289761002","email":"j.doe@example.org","email_verified":false}
{"sub":"248289761003"}

It is stored in 10 columns, each named for the field, _ and its suffix. This is {"sub":"248289761002","email":"j.doe@example.org","email_verified":false}:

Column Type Holds
<field>_sub text '248289761002'
<field>_name text NULL::text
<field>_given_name text NULL::text
<field>_family_name text NULL::text
<field>_preferred_username text NULL::text
<field>_email text 'j.doe@example.org'
<field>_email_verified boolean FALSE
<field>_phone_number text NULL::text
<field>_phone_number_verified boolean NULL::boolean
<field>_picture text NULL::text

Shown to people

text.format(value, locale:) shows it to people in their locale.

With locale: Locale.en_gb:

Value Shown
{"sub":"248289761001","name":"Jane Doe","given_name":"Jane","family_name":"Doe","preferred_username":"j.doe","email":"janedoe@example.com","email_verified":true,"picture":"https://example.com/janedoe/me.jpg"} Jane Doe
{"sub":"248289761002","email":"j.doe@example.org","email_verified":false} j.doe@example.org
{"sub":"248289761003"} 248289761003

Operations

It has the contract's own operations: text.format, json.read, json.write and ==. It isn't ordered, so < and sorting don't take it. Every standard type meets one contract says how they work.

Markdown for agents: /docs/types/type-oidc-claims.md.Built from Jadpo main at e00e61f.