structures 1.0.0 structures: ^1.0.0 copied to clipboard
Commonly used standalone data structures, types and extensions that simplify application logic development.
Structures #
Structures is a package that provides lightweight data structures and conventions to help build reactive and efficient applications logic decoupled from UI and services in pure Dart.
Reactivity #
This a set of reactive types and structures built on principles of Change Notification from Flutter core. These classes are simple yet powerful and can be used to build responsive and efficient applications.
Name | Description | Status |
---|---|---|
Live | A listenable (reactive) interface class that you use to create objects that you can observe for changes. | ✅✅✅ |
Value | A listenable value interface class that you use to create objects that you can observe for value updates. | ✅✅✅ |
Notifier | A Live implementation that enables you use to create objects that you can observe for for changes. | ✅✅✅ |
LiveValue | Implementation of Value interface | ✅✅✅ |
LiveIterableValue | Implementation of Value extension interface for Iterable | ✅✅✅ |
BoolValue | Implementation of Value interface for bool | ✅✅✅ |
LiveMapValue | Implementation of Value extension interface for Map<K, V> | ✅✅✅ |
Validation #
The package provides a set of validation types and structures that can help validate data in any application.
Name | Description | Status |
---|---|---|
Validation | An interface of a validation, containing a message to give context to the validation | ✅✅☑️ |
Validatable | An Object whose definition is validatable A Validatable can verify to see if its instance is valid. | ✅✅☑️ |
Success | A representation of a successful Validation | ✅✅☑️ |
Failure | A representation of a failed Validation | ✅✅☑️ |
FailureMessage | A representation of a failed Validation with a message | ✅✅☑️ |
Collections #
The package provides a set of collection types and structures that can help manage data in any application.
Name | Description | Status |
---|---|---|
Choice | A convenience interface representing an object that can be selected out of many | ✅✅✅ |
ChoiceList | This is fixed-length single choice Choice List | ✅✅✅ |
Pair | A pair of two objects | ✅✅☑️ |
AList | An extension of a List | ✅✅✅ |
AStringListExtension | Extension methods for the [List | ✅✅ |
IndexedIterableExtension | High order Extension methods for the [Iterable | ✅✅ |
Data Types #
The package provides a set of data types and structures that can help manage data in any application.
Name | Description | Status |
---|---|---|
AdapterFactory | Adapter for simple serialization and converting of model objects to other forms. | ✅✅✅ |
Field | A a model of a domain field entry object. | ✅✅✅ |
Emptiable | An interface that defines an object that can be empty. | ✅✅✅ |
Either | A union type that represents two possible types. | ✅✅✅ |
UI State/Logic Structures #
Data structures that drive the data need and logic of UI. Help you handle common UI state like forms, selection etc.
Name | Description | Status |
---|---|---|
ThemeModel | A model that holds the current theme of the application. | ✅✅✅ |
Field | A a model of a domain field entry object. | ✅✅✅ |
Extensions #
Extension methods for the dart core classes. There many common tasks that you need to perform on the core classes in the dart core library. This package provides a set of extension methods that can help you perform these tasks.
Name | Description | Status |
---|---|---|
StringCaseExtension | Extension methods for the [String] class. | ✅✅ |