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

Standard library

The standard types

On this page

There are 247 standard types, listed here by group. Each part or kind a standard type names is a standard type too, so it is read, sent and stored by its code: IdentityDocumentKind, InterestRateBasis, ContentRatingScheme, RichTextBlock, RichTextSpan, RichTextMark, ClothingSizeSystem, ShoeSizeSystem, RouteOfAdministration and ChatRole. GeoJSON's Feature and FeatureCollection are defined on the Geospatial page.

In the table, "(enum)" marks a closed list held as a built-in enum, and "Extras in" names the namespace whose operations go beyond the baseline. Every type is built, which the bold marks.

Group Types Extras in
People and contact (12) PersonName, GivenName, FamilyName, Username, Email, EmailWithName, PhoneNumber, PhoneExtension, PostalAddress, PostalCode, Uprn, Nationality (enum) web
Places (10) Country (enum), CountrySubdivision (enum), Continent (enum), UnLocode, CallingCode, Language (enum), WritingScript (enum), TextDirection (enum), Locale (enum), Zone (enum)
Geospatial (17) Point (optional altitude), Latitude, Longitude, LineString, Polygon, MultiPoint, MultiLineString, MultiPolygon, Geometry, BoundingBox, Circle, Bearing, Crs, EastingNorthing, MapTile, H3Cell, Geohash geo (Geospatial)
Money, payments, banking (24) Money, Currency (enum), ExchangeRate, Price, UnitPrice, TaxRate, Discount, BasisPoints, InterestRate, PaymentCardNumber, MaskedCardNumber, CardBrand (enum), CardBin, CardExpiry, PaymentReference, InvoiceNumber, Iban, Bic, UkSortCode, UkAccountNumber, BankAccount, AbaRoutingNumber, Lei, Isin money
Tax and identity numbers (11, and IdentityDocumentKind) VatNumber, TaxId, UkUtr, UkCompanyNumber, UkNationalInsuranceNumber, UsSsn, UsEin, PassportNumber, DrivingLicenceNumber, IdentityDocument with IdentityDocumentKind (enum), NhsNumber
Commerce and logistics (20, and ClothingSizeSystem and ShoeSizeSystem) Sku, Ean13, UpcA, Isbn, Sscc, Barcode, UnitQuantity, Rating, ClothingSize with ClothingSizeSystem (enum), ShoeSize with ShoeSizeSystem (enum), Dimensions, HsCode, Incoterm (enum), TrackingNumber, Carrier, ContainerNumber, LotNumber, SerialNumber, Vin, VehicleRegistration units, media
Time and calendar (19) Instant, CalendarDate, ZonedTime, Duration, Weekday (enum), LocalTime, LocalDateTime, Month (enum), YearMonth, Year, Quarter, IsoWeek, UtcOffset, DateRange, InstantRange, CalendarPeriod, RecurrenceRule, OpeningHours, CalendarEvent temporal, range
Physical quantities (17) Length, Area, Volume, Angle, Mass, Pressure, Energy, Power, Temperature, TemperatureDifference, Speed, Frequency, Voltage, Current, Illuminance, SoundLevel, Concentration units
Maths and data (8) Percentage, Ratio, Fraction, Range<T>, DataSize, Bitrate, Vector, Embedding range, units; AI
Health (9, and RouteOfAdministration) BloodType (enum), Icd10Code, SnomedConcept, Dose, DosageInstruction with RouteOfAdministration (enum), HeartRate, BloodPressure, BloodGlucose, Allergen (enum)
Media and visual (15, and ContentRatingScheme) Colour, ImageDimensions, AspectRatio, Rect, Insets, PaperSize (enum), ExifOrientation (enum), AltText, FrameRate, VideoResolution, VideoCodec, AudioCodec, Timecode, SubtitleCue, ContentRating with ContentRatingScheme (enum) colour, media
Web and network (23) Url, UrlPath, RelativeUrl, Slug, DomainName, Hostname, WebOrigin, HttpMethod (enum), HttpStatus, HttpHeaderName, FileType, UserAgent, ProblemDetails, JsonPointer, Cookie, UtmParameters, IpAddress, Cidr, NetworkPort, MacAddress, Imei, Emoji, PushToken web
Software (19) SemanticVersion, VersionRange, GitRef, PackageUrl, Cve, SpdxLicence, TraceId, SpanId, TraceParent, LogLevel (enum), FilePath, FileName, RegularExpression, ContainerImage, Digest, Uuid, Ulid, IdempotencyKey, Doi semver
Text formats (4) Markdown, Html, RichText, LocalisedText markup, text
Security (20) Password, PasswordHash, PasswordPolicy, Hash, Hmac, Jwt, JwtClaims, Jwk, PublicKey, PrivateKey, Certificate, TotpSecret, OneTimeCode, ApiKey, SecretText, BearerToken, OAuthScope, OidcClaims, WebAuthnCredential, EncryptedValue crypto
Travel (6) IataAirport, IcaoAirport, IataAirline, FlightNumber, CabinClass (enum), BookingReference
Other with a published standard (10) UnNumber, Orcid, CefrLevel (enum), Mpan, Mprn, EpcRating (enum), Tenure (enum), LawfulBasis (enum), Jurisdiction, ModelId
AI (3, and ChatRole) TokenCount, TokenUsage, ChatMessage with ChatRole (enum) AI

Three rules shape the list:

  • Country-specific identifiers are global types, like the rest. UkSortCode, UsSsn and NhsNumber are named by their country, so they don't clash.
  • Gender and sex at birth are left out. They are contested, and they are personal data, so your app models them deliberately, and Personal data treats them as sensitive.
  • A quantity is stored in its SI base unit. You choose a unit when you make the value and when you show it: units.of(5, LengthUnit.mile) holds metres, and text.format(distance, locale:, unit: LengthUnit.mile) shows miles. So == and ordering just work, and storage is one numeric column.

How standard types are named

A standard type's name says exactly what it is, so it doesn't take a word your app needs for something else. The name is, in order of preference:

  1. the defining standard's own term, qualified until it is unambiguous: PostalAddress, RecurrenceRule, ProblemDetails;
  2. otherwise the noun, qualified by what it holds: DateRange, DataSize, ImageDimensions;
  3. never a bare word an app plausibly uses for its own, different thing, except a generic container that takes a type, such as Range<T>, as List<T> is.

So it is CountrySubdivision, not Subdivision, which could be a housing subdivision, and UnitQuantity, not Quantity, which could be an order line's count. The same rule gives SecretText, NetworkPort, WritingScript and WebOrigin, and a time interval is the built-in InstantRange. A bare word passes when an app using it means the standard thing: Price, Area, Mass, Currency.

Point and Length are the two exceptions, so that geography and quantities read naturally (var shelf: Length = 2metre). Built-in names older than the rule (File, Page, Access) keep their names.

Types that aren't on the list

Some types you might look for are folded into another, so nothing is lost: units into their quantity type, roles into the general type, and duplicates into the one type they duplicate. Formats and application entities are left out:

What Became
Units (Metre, Mile, Kilogram, Pound, Celsius, Litre, KilowattHour, every ...Unit enum and 17 more) The quantity type, with a unit at construction and display
Roles: Height, GeoDistance · FloorArea · WindSpeed · BodyTemperature · BarometricPressure · MediaDuration · DateOfBirth, ExpiryDate · CountryOfOrigin · UsState, Region · Salary Length · Area · Speed · Temperature · Pressure · Duration · CalendarDate · Country · CountrySubdivision · Money: a field of the general type
Duplicates: Timestamp, Uri, Ipv4Address, Ipv6Address, HexColour, HslColour, Sha256, UuidV7, Point3D, CountryAlpha3, LanguageAlpha3, UkPostcode, UsZipCode, UkNumberPlate, EuVatNumber, UkVatNumber, TimeRange, MinorUnits, MediaType, ImageFormat The one standard type each duplicates
Also folded in review: AddressLine, BarcodeSymbology, DoseFrequency, FlightDesignator, GitSha, Gtin, HttpHeaders, Humidity, PackageDimensions, PackageName, PhysicalQuantity, UnitOfMeasure, Ucum, Proportion, QueryString, SubtitleTrack, UkBankAccount, WebhookSignature, WindDirection, CarbonDioxideEquivalent PostalAddress, Barcode, DosageInstruction, FlightNumber, GitRef, Ean13, HttpHeaderName, Percentage, Dimensions, PackageUrl, UnitQuantity (three), Ratio, Url, SubtitleCue, BankAccount, Hmac, Bearing, Mass
Formats: Hex, Base64, Wkt, Json, CsvDialect, MessageFormat, VCard, OtpAuthUri, CssLength Out: encoding. and json. operations
Application entities: Recipe, HotelStay, OrderStatus, PaymentStatus, Consent, SensorReading, StoredFile, UserId, Allergy and 31 more Out: an application's own records
Gender, SexAtBirth, Cvv Out: sensitive (a CVV is never stored)
HashAlgorithm, KeyAlgorithm; SessionId; AcceptLanguage Out: no algorithm choices; the runtime's (Identity); a call, locale.from_accept_language
Niche, silly, or a maybe with no published standard Out: 729 entries, a package's to define

Markdown for agents: /docs/the-standard-types.md.Built from Jadpo main at a707efb.