From 861439279ba72ee23fd61bdd2f92be7474ec1648 Mon Sep 17 00:00:00 2001 From: Roman Cinis <52065414+tsinis@users.noreply.github.com> Date: Thu, 1 Aug 2024 17:23:50 +0200 Subject: [PATCH] docs: update eco-system docs in top-level readme.md --- .github/readme.md | 36 +++++++++++++++++++++++++----------- 1 file changed, 25 insertions(+), 11 deletions(-) diff --git a/.github/readme.md b/.github/readme.md index e65ea058..bcc6f41a 100644 --- a/.github/readme.md +++ b/.github/readme.md @@ -7,24 +7,38 @@ Pure Dart, fully tested and ISO-driven ecosystem for the world's data in form of compile-time, tree-shakable constant sealed classes. -| Package | Description | Pub | -| ------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------ | -| [world_countries](https://github.com/tsinis/sealed_world/tree/main/packages/world_countries) | Flutter wrapper on top of **sealed_countries**, including bunch of pickers, additional emoji flags, etc. | [![pub.dev](https://img.shields.io/pub/v/world_countries.svg)](https://pub.dev/packages/world_countries) | -| [sealed_countries](https://github.com/tsinis/sealed_world/tree/main/packages/sealed_countries) | Countries in form of compile-time constant sealed classes. | [![pub.dev](https://img.shields.io/pub/v/sealed_countries.svg)](https://pub.dev/packages/sealed_countries) | -| [sealed_currencies](https://github.com/tsinis/sealed_world/tree/main/packages/sealed_currencies) | Currencies in form of compile-time constant sealed classes. | [![pub.dev](https://img.shields.io/pub/v/sealed_currencies.svg)](https://pub.dev/packages/sealed_currencies) | -| [sealed_languages](https://github.com/tsinis/sealed_world/tree/main/packages/sealed_languages) | Languages in form of compile-time constant sealed classes. | [![pub.dev](https://img.shields.io/pub/v/sealed_languages.svg)](https://pub.dev/packages/sealed_languages) | +> [!TIP] +> Flutter packages follow a **world** prefix convention, whereas Dart packages utilize the **sealed** prefix. + +| Package | SDK | Description | Pub | +| ------------------------------------------------------------------------------------------------ | ----------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------ | +| [world_countries](https://github.com/tsinis/sealed_world/tree/main/packages/world_countries) | **Flutter** | Country/phone/currency/language pickers and APIs for typed localizations. | [![pub.dev](https://img.shields.io/pub/v/world_countries.svg)](https://pub.dev/packages/world_countries) | +| [world_flags](https://github.com/tsinis/sealed_world/tree/main/packages/world_flags) | **Flutter** | Country flags built entirely with Flutter's CustomPainters. | [![pub.dev](https://img.shields.io/pub/v/world_flags.svg)](https://pub.dev/packages/world_flags) | +| [sealed_countries](https://github.com/tsinis/sealed_world/tree/main/packages/sealed_countries) | Dart | Countries in form of compile-time constant sealed classes. | [![pub.dev](https://img.shields.io/pub/v/sealed_countries.svg)](https://pub.dev/packages/sealed_countries) | +| [sealed_currencies](https://github.com/tsinis/sealed_world/tree/main/packages/sealed_currencies) | Dart | Currencies in form of compile-time constant sealed classes. | [![pub.dev](https://img.shields.io/pub/v/sealed_currencies.svg)](https://pub.dev/packages/sealed_currencies) | +| [sealed_languages](https://github.com/tsinis/sealed_world/tree/main/packages/sealed_languages) | Dart | Languages in form of compile-time constant sealed classes. | [![pub.dev](https://img.shields.io/pub/v/sealed_languages.svg)](https://pub.dev/packages/sealed_languages) | + +**This ecosystem exhibits a strict hierarchical dependency structure**. At the foundation are **languages and scripts**, essential for localization and translation across all packages. Building upon this, **currencies** are required for subsequent packages dealing with **countries**. The **countries** package, is necessary for rendering country **flags**, which is then needed by the **world_countries** package for displaying localized (given that a locale typically consists of three components: language, script, and region/country) country, language and currency names, and also **flags** (for example within country/phone code pickers). ```mermaid graph TD -sealed_languages(sealed_languages) -sealed_currencies(sealed_currencies) -sealed_countries(sealed_countries) -world_countries(world_countries) +sealed_languages["sealed_languages"] +sealed_currencies["sealed_currencies"] +sealed_countries["sealed_countries"] +world_flags["world_flags"] +world_countries["world_countries"] -sealed_languages --> sealed_currencies --> sealed_countries --> world_countries +sealed_languages --> sealed_currencies --> sealed_countries --> world_flags --> world_countries click sealed_languages "https://github.com/tsinis/sealed_world/tree/main/packages/sealed_languages" click sealed_currencies "https://github.com/tsinis/sealed_world/tree/main/packages/sealed_currencies" click sealed_countries "https://github.com/tsinis/sealed_world/tree/main/packages/sealed_countries" +click world_flags "https://github.com/tsinis/sealed_world/tree/main/packages/world_flags" click world_countries "https://github.com/tsinis/sealed_world/tree/main/packages/world_countries" + +style sealed_languages fill:#aec7e8,stroke:#aec7e8,stroke-width:2px,fill-opacity:0.2,rx:10,ry:10 +style sealed_currencies fill:#aec7e8,stroke:#aec7e8,stroke-width:2px,fill-opacity:0.2,rx:10,ry:10 +style sealed_countries fill:#aec7e8,stroke:#aec7e8,stroke-width:2px,fill-opacity:0.2,rx:10,ry:10 +style world_flags fill:#aec7e8,stroke:#0050B9,stroke-width:2px,fill-opacity:0.5,rx:10,ry:10 +style world_countries fill:#aec7e8,stroke:#0050B9,stroke-width:2px,fill-opacity:0.5,rx:10,ry:10 ```