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

ContentRating

On this page

An age rating by the body that gave it, written BBFC 12A: rating is one of scheme's categories.

Media and visual; not ordered; since Jadpo 0.1.0.

Make one

Build one from its fields, ContentRating { scheme: ... rating: ... }.

text.parse(raw, as: ContentRating) reads one from its text; text that isn't one at all fails malformed, such as BBFC PG-13, PEGI 15 or MPAA R.

Its parts keep these rules; a value that breaks one fails with the rule's name:

  • rating_of_scheme: rating is one of its scheme's categories

Fields

Field Type
scheme ContentRatingScheme
rating Text

Text, JSON and storage

text.from writes its canonical text, the one form text.parse reads back. JSON sends its canonical text as a string.

Text JSON
BBFC 12A "BBFC 12A"
MPA PG-13 "MPA PG-13"
PEGI 16 "PEGI 16"
ESRB E10+ "ESRB E10+"

It is stored in 2 columns, each named for the field, _ and its suffix. This is PEGI 16:

Column Type Holds
<field>_scheme text 'PEGI'
<field>_rating text '16'

Shown to people

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

With locale: Locale.en_gb:

Value Shown
BBFC 12A BBFC 12A
MPA PG-13 MPA PG-13
PEGI 16 PEGI 16
ESRB E10+ ESRB E10+

Operations

It has the contract's own operations: text.parse, text.from, 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-content-rating.md.Built from Jadpo main at e00e61f.