shuwariafrica / world   0.0.1

Apache License 2.0 Website GitHub

Scala toolkit for modelling and manipulation of real-world domain concepts

Scala versions: 3.x
Scala.js versions: 1.x
Scala Native versions: 0.5

world - Real-World Domain Concepts for Scala

Licence Build Status

Type-safe Scala libraries for modelling real-world domain concepts. Cross-platform (JVM, Scala.js, Scala Native).


Modules

Module Coordinates Purpose
world-locale "africa.shuwari" %%% "world-locale" ISO 3166-1 country codes and locale primitives
world-money "africa.shuwari" %%% "world-money" ISO 4217 currencies, type-safe monetary values, arithmetic
world-money-usage "africa.shuwari" %%% "world-money-usage" Currency-to-country usage territory mappings
world-common "africa.shuwari" %%% "world-common" Shared formatting and utility abstractions

Add to your build.sbt:

libraryDependencies += "africa.shuwari" %%% "world-money" % "<version>"

Quick Start

import world.money.*
import world.money.syntax.*

val price   = 100.KES
val total   = price + 50.KES                     // 150.00 KES
val halved  = price / 2                          // Right(50.00 KES)
val rounded = BigDecimal("123.456").KES.rounded  // 123.46 KES

Documentation

Refer to the project documentation site for API reference and usage guides.


Resources


Licence

Copyright 2023-2026 Shuwari Africa Ltd.

Licensed under the Apache Licence, Version 2.0. See LICENCE for details.