_common library

Classes

BaseModel
BoolList
A space-efficient list of boolean values.
CanonicalizedMap<C, K, V>
A map whose keys are converted to canonical values of type C.
CaseInsensitiveEquality
String equality that's insensitive to differences in ASCII case.
CombinedIterableView<T>
A view of several iterables combined sequentially into a single iterable.
CombinedListView<T>
A view of several lists combined into a single list.
CombinedMapView<K, V>
Returns a new map that represents maps flattened into a single map.
CompleterOr<T>
A utility for producing and completing FutureOr objects.
ConvertStringToDuration
A tool to convert a string to a Duration.
CsvUtility
DataRefModel
Generated class for _DataRefModel.
DataRefModelFieldNames
DateTimeUtility
DeepCollectionEquality
Deep equality on collections.
DefaultEquality<E>
Equality of objects that compares only the natural equality of the objects.
DelegatingIterable<E>
An Iterable that delegates all operations to a base iterable.
DelegatingList<E>
A List that delegates all operations to a base list.
DelegatingMap<K, V>
A Map that delegates all operations to a base map.
DelegatingQueue<E>
A Queue that delegates all operations to a base queue.
DelegatingSet<E>
A Set that delegates all operations to a base set.
Equality<E>
A generic equality relation on objects.
EqualityBy<E, F>
Equality of objects based on derived values.
EqualityMap<K, V>
A Map whose key equality is determined by an Equality object.
EqualitySet<E>
A Set whose key equality is determined by an Equality object.
Err<T, E>
Represents a failed value.
ExecutionQueue
A queue for sequentially executing functions one at a time.
FieldModel
Generated class for _FieldModel.
FieldModelFieldNames
FieldUtils
FutureOrController<T>
A controller for managing FutureOr operations and capturing exceptions.
GenerateDartModel
Generated class for _GenerateDartModel.
GenerateDartModelFieldNames
HeapPriorityQueue<E>
Heap based priority queue.
IdentityEquality<E>
Equality of objects that compares only the identity of the objects.
IterableEquality<E>
Equality on iterables.
IterableZip<T>
Iterable that iterates over lists of values from other iterables.
JsonUtility
ListEquality<E>
Equality on lists.
ListSlice<E>
A list view of a range of another list.
MapEquality<K, V>
Equality on maps.
MapKeySet<E>
An unmodifiable Set view of the keys of a Map.
MapValueSet<K, V>
Creates a modifiable Set view of the values of a Map.
Model
MultiEquality<E>
Combines several equalities into a single equality.
None<T>
Represents a value that does not exist.
NonGrowableListMixin<E>
Mixin class that implements a throwing version of all list operations that change the List's length.
NonGrowableListView<E>
A fixed-length list.
Ok<T, E>
Represents a successful value.
Option<T>
PriorityQueue<E>
A priority queue is a priority based work-list of elements.
QueueList<E>
A class that efficiently implements both Queue and List.
ReferencedModel
Generated class for _ReferencedModel.
ReferencedModelFieldNames
Result<T, E>
Sequential
A queue that manages the execution of functions sequentially, allowing for optional throttling.
SetEquality<E>
Equality of sets.
Some<T>
Represents a value that exists.
StreamUtility
ThisModel<T extends BaseModel>
A class that extends BaseModel and provides a reference to itself.
UnionSet<E>
A single set that provides a view of the union over a set of sets.
UnionSetController<E>
A controller that exposes a view of the union of a collection of sets.
UnmodifiableListView<E>
An unmodifiable List view of another List.
UnmodifiableMapMixin<K, V>
Mixin class that implements a throwing version of all map operations that change the Map.
UnmodifiableMapView<K, V>
View of a Map that disallow modifying the map.
UnmodifiableSetMixin<E>
Mixin class that implements a throwing version of all set operations that change the Set.
UnmodifiableSetView<E>
An unmodifiable set.
UnorderedIterableEquality<E>
Equality of the elements of two iterables without considering order.

Enums

StringCaseType
Enum for different string case types.

Extensions

ChunkedOnIterableX on Iterable<T>
ComparatorExtension on Comparator<T>
Extensions on comparator functions.
ConvertOnStringCaseTypeX on StringCaseType
DataRefModelExtension on DataRefModel
DataRefModelX on DataRefModel
FieldModelX on FieldModel
FutureOrX on FutureOr<T>
GenerateDartModelX on GenerateDartModel
GenericTypeOnIterableX on Iterable<T>
GenericTypeOnMapX on Map<K, V>
IterableComparableExtension on Iterable<T>
Extensions that apply to iterables of Comparable elements.
IterableDoubleExtension on Iterable<double>
Extension on iterables of double.
IterableExtension on Iterable<T>
Extensions that apply to all iterables.
IterableIntegerExtension on Iterable<int>
Extension on iterables of integers.
IterableIterableExtension on Iterable<Iterable<T>>
Extensions on iterables whose elements are also iterables.
IterableNullableExtension on Iterable<T?>
Extensions that apply to iterables with a nullable element type.
IterableNumberExtension on Iterable<num>
Extensions that apply to iterables of numbers.
JoinWithLastSeparatorOnIterableX on Iterable
ListComparableExtensions on List<E>
Various extensions on lists of comparable elements.
ListExtensions on List<E>
Various extensions on lists of arbitrary elements.
MapKeysAndValyesOnMapX on Map<K1, V1>
MapWithDefaultOnMapX on Map<K, V>
MaybeAddToIterableX on Iterable<T>
MaybeAddToListX on List<T>
MaybeAddToMapX on Map<T1, T2>
MaybeAddToSetX on Set<T>
MiscUtilsOnStringX on String
NonNullKeysOnMapX on Map<K?, V>
NonNullsOnMapX on Map<K?, V?>
NonNullValuesOnMapX on Map<K, V?>
NullIfEmptyOnIterableX on Iterable<T>
NullIfEmptyOnListX on List<T>
NullIfEmptyOnMapX on Map<T1, T2>
NullIfEmptyOnQueueX on Queue<T>
NullIfEmptyOnSetX on Set<T>
NullIfEmptyOnStringX on String
PowersetOnIterableX on Iterable<Iterable<T>>
ReferencedModelX on ReferencedModel
SetNestedValueOnMapX on Map
StringCaseConversionsOnStringX on String
TakeLastOnIterableX on Iterable<String>
ToClassOnTFieldRecordExtension on TFieldRecord
ToMapOnIterableX on Iterable<MapEntry<K, V>>
ToTrimmedOrNullOnObjectX on Object
TraverseMapOnMapX on Map<K, V>
TryMergeOnIterableX on Iterable<Iterable<T>?>
TryOrNullOnFunctionX on Function
TryReduceOnIterableX on Iterable<T>
UniqueOnIterableX on Iterable<T>
UniqueOnMapEntryIterableX on Iterable<MapEntry<K, V>>
UnmodifiableOnListX on List<T>
UnmodifiableOnMapX on Map<K, V>
UnmodifiableOnSetX on Set<T>
ValueOfOnEnumX on Iterable<T>

Constants

CAMEL_CASE → const String
A key representing camel case.
CAPITALIZED_KEBAB_CASE → const String
A key representing lower kebab case.
DATA_REF_FIELDS → const Set<FieldModel>
FIELD_MODEL_FIELDS → const Set<FieldModel>
GENERATE_DART_MODEL_FIELDS → const Set<FieldModel>
LOWER_DOT_CASE → const String
A key representing lower dot case.
LOWER_KEBAB_CASE → const String
A key representing lower kebab case.
LOWER_SNAKE_CASE → const String
A key representing lower snake case.
PASCAL_CASE → const String
A key representing pascal case.
PATH_CASE → const String
A key representing path case.
REFERENCED_MODEL_FIELDS → const Set<FieldModel>
T_CAMEL_CASE_STRING → const String
T_LOWER_CASE_STRING → const String
T_LOWER_KEBAB_CASE_STRING → const String
T_LOWER_SNAKE_CASE_STRING → const String
T_PASCAL_CASE_STRING → const String
T_SEARCHABLE_STRING → const String
T_UPPER_CASE_STRING → const String
T_UPPER_KEBAB_CASE_STRING → const String
T_UPPER_SNAKE_CASE_STRING → const String
UPPER_DOT_CASE → const String
A key representing upper dot case.
UPPER_KEBAB_CASE → const String
A key representing upper kebab case.
UPPER_SNAKE_CASE → const String
A key representing upper snake case.

Properties

letAs → T? Function<T>(dynamic input)
final
letBool bool? Function(dynamic input)
final
letDouble double? Function(dynamic input)
final
letInt int? Function(dynamic input)
final
letList List<T>? Function<T>(dynamic input, {bool filterNulls = false, T? nullFallback})
final
letMap Map<K, V>? Function<K, V>(dynamic input, {bool filterNulls = false, dynamic nullFallback})
final
letSet Set<T>? Function<T>(dynamic input, {bool filterNulls = false, T? nullFallback})
final
mapSyncOrAsync FutureOr<R> Function<A, R>(FutureOr<A> a, FutureOr<R> callback(A a), {void onError(Object e)?})
final

Functions

binarySearch<E>(List<E> sortedList, E value, {int compare(E, E)?}) int
Returns a position of the value in sortedList, if it is there.
castAsOrNull<T>(dynamic input) → T?
Similar to letAsOrNull, but uses a try-catch block internally.
chunked<T>(Iterable<T> source, int chunkSize) Iterable<Iterable<T>>
Splits the source into chunks of a maximum size specified by chunkSize.
combinedOrderedStringId(List<String> ids) String
Generates an ordered ID from a list of unordered IDs, that can be used to identify the list of IDs.
compareAsciiLowerCase(String a, String b) int
Compares a and b lexically, converting ASCII letters to lower case.
compareAsciiLowerCaseNatural(String a, String b) int
Compares strings a and b according to lower-case natural sort ordering.
compareAsciiUpperCase(String a, String b) int
Compares a and b lexically, converting ASCII letters to upper case.
compareAsciiUpperCaseNatural(String a, String b) int
Compares strings a and b according to upper-case natural sort ordering.
compareNatural(String a, String b) int
Compares strings a and b according to natural sort ordering.
consec<A, R>(FutureOr<A> a, FutureOr<R> callback(A a), {void onError(Object e)?}) FutureOr<R>
Maps a synchronous or asynchronous value to a single value.
consec2<A, B, R>(FutureOr<A> a, FutureOr<B> b, FutureOr<R> callback(A a, B b), {void onError(Object e)?}) FutureOr<R>
Maps two synchronous or asynchronous values to a single value.
consec3<A, B, C, R>(FutureOr<A> a, FutureOr<B> b, FutureOr<C> c, FutureOr<R> callback(A a, B b, C c), {void onError(Object e)?}) FutureOr<R>
Maps three synchronous or asynchronous values to a single value.
consec4<A, B, C, D, R>(FutureOr<A> a, FutureOr<B> b, FutureOr<C> c, FutureOr<D> d, FutureOr<R> callback(A a, B b, C c, D d), {void onError(Object e)?}) FutureOr<R>
Maps four synchronous or asynchronous values to a single value.
consec5<A, B, C, D, E, R>(FutureOr<A> a, FutureOr<B> b, FutureOr<C> c, FutureOr<D> d, FutureOr<E> e, FutureOr<R> callback(A a, B b, C c, D d, E e), {void onError(Object e)?}) FutureOr<R>
Maps five synchronous or asynchronous values to a single value.
consec6<A, B, C, D, E, F, R>(FutureOr<A> a, FutureOr<B> b, FutureOr<C> c, FutureOr<D> d, FutureOr<E> e, FutureOr<F> f, FutureOr<R> callback(A a, B b, C c, D d, E e, F f), {void onError(Object e)?}) FutureOr<R>
Maps six synchronous or asynchronous values to a single value.
consec7<A, B, C, D, E, F, G, R>(FutureOr<A> a, FutureOr<B> b, FutureOr<C> c, FutureOr<D> d, FutureOr<E> e, FutureOr<F> f, FutureOr<G> g, FutureOr<R> callback(A a, B b, C c, D d, E e, F f, G g), {void onError(Object e)?}) FutureOr<R>
Maps seven synchronous or asynchronous values to a single value.
consec8<A, B, C, D, E, F, G, H, R>(FutureOr<A> a, FutureOr<B> b, FutureOr<C> c, FutureOr<D> d, FutureOr<E> e, FutureOr<F> f, FutureOr<G> g, FutureOr<H> h, FutureOr<R> callback(A a, B b, C c, D d, E e, F f, G g, H h), {void onError(Object e)?}) FutureOr<R>
Maps eight synchronous or asynchronous values to a single value.
consec9<A, B, C, D, E, F, G, H, I, R>(FutureOr<A> a, FutureOr<B> b, FutureOr<C> c, FutureOr<D> d, FutureOr<E> e, FutureOr<F> f, FutureOr<G> g, FutureOr<H> h, FutureOr<I> i, FutureOr<R> callback(A a, B b, C c, D d, E e, F f, G g, H h, I i), {void onError(Object e)?}) FutureOr<R>
Maps nine synchronous or asynchronous values to a single value.
consecList<R>(List<FutureOr> items, FutureOr<R> callback(List resolvedItems), {void onError(Object e)?}) FutureOr<R>
Maps a synchronous or asynchronous list of values to a single value.
convertToStringCaseType(String value, StringCaseType? stringCaseType) String
Converts a string to a specific case type.
dataRefFromString(String? input) DataRefModel?
Creates a DataRefModel from a given path string. If the path ends with a '/', it represents a collection path, otherwise, it represents a document path.
equalsIgnoreAsciiCase(String a, String b) bool
Checks if strings a and b differ only on the case of ASCII letters.
getSetDifference<T>(Set<T> before, Set<T> after) Set<T>
Returns the difference between two sets.
groupBy<S, T>(Iterable<S> values, T key(S)) Map<T, List<S>>
Groups the elements in values by the value returned by key.
hashIgnoreAsciiCase(String string) int
Hash code for a string which is compatible with equalsIgnoreAsciiCase.
insertionSort<E>(List<E> elements, {int compare(E, E)?, int start = 0, int? end}) → void
Sort a list between start (inclusive) and end (exclusive) using insertion sort.
isEquatable<T>() bool
Checks if T is any of the following types, which are directly comparable using the == operator and are passed by value:
isNullable<T>() bool
Returns true if T is nullable.
isSubtype<TChild, TParent>() bool
Returns true if A is a subtype of B.
jsonDecode(String source, {Object? reviver(Object? key, Object? value)?}) → dynamic
Parses the string and returns the resulting Json object.
jsonEncode(Object? object, {Object? toEncodable(Object? nonEncodable)?}) String
Converts object to a JSON string.
lastBy<S, T>(Iterable<S> values, T key(S)) Map<T, S>
Associates the elements in values by the value returned by key.
letAsOrNull<T>(dynamic input) → T?
Let's you cast input to a T type if possible, or returns null if the cast cannot be performed.
letBoolOrNull(dynamic input) bool?
Let's you convert input to a bool type if possible, or returns null if the conversion cannot be performed.
letDateTimeOrNull(dynamic input) DateTime?
Let's you convert input to a DateTime type if possible, or returns null if the conversion cannot be performed.
letDoubleOrNull(dynamic input) double?
Let's you convert input to a double type if possible, or returns null if the conversion cannot be performed.
letIntOrNull(dynamic input) int?
Let's you convert input to an int type if possible, or returns null if the conversion cannot be performed.
letIterableFromCsv(String input) Iterable<String>
Let's you convert input to an Iterable of Strings if possible, or returns null if the conversion cannot be performed.
letIterableOrNull<T>(dynamic input, {bool filterNulls = false, dynamic nullFallback}) Iterable<T>?
Let's you convert input to an Iterable type if possible, or returns null if the conversion cannot be performed.
letListOrNull<T>(dynamic input, {bool filterNulls = false, T? nullFallback}) List<T>?
Let's you convert input to a List type if possible, or returns null if the conversion cannot be performed.
letMapOrNull<K, V>(dynamic input, {bool filterNulls = false, dynamic nullFallback}) Map<K, V>?
Let's you convert input to a Map type if possible, or returns null if the conversion cannot be performed.
letNumOrNull(dynamic input) num?
Let's you convert input to a num type if possible, or returns null if the conversion cannot be performed.
letOrNull<T>(dynamic input) → T?
Let's you convert input to a T type if possible, or returns null if the conversion cannot be performed.
letSetOrNull<T>(dynamic input, {bool filterNulls = false, T? nullFallback}) Set<T>?
Let's you convert input to a Set type if possible, or returns null if the conversion cannot be performed.
letUriOrNull(dynamic input) Uri?
Let's you convert input to a Uri type if possible, or returns null if the conversion cannot be performed.
lowerBound<E>(List<E> sortedList, E value, {int compare(E, E)?}) int
Returns the first position in sortedList that does not compare less than value.
mapMap<K1, V1, K2, V2>(Map<K1, V1> map, {K2 key(K1, V1)?, V2 value(K1, V1)?}) Map<K2, V2>
Creates a new map from map with new keys and values.
maxBy<S, T>(Iterable<S> values, T orderBy(S), {int compare(T, T)?}) → S?
Returns the element of values for which orderBy returns the maximum value.
maybeAddToIterable<T>(Iterable<T>? source, Iterable<T>? add) Iterable<T>?
Adds add to source if both are not null.
maybeAddToList<T>(List<T>? source, List<T>? add) List<T>?
Adds add to source if both are not null.
maybeAddToMap<T1, T2>(Map<T1, T2>? source, Map<T1, T2>? add) Map<T1, T2>?
Adds add to source if both are not null.
maybeAddToSet<T>(Set<T>? source, Set<T>? add) Set<T>?
Adds add to source if both are not null.
mergeDataDeep(dynamic a, dynamic b, [dynamic elseFilter(dynamic)?]) → dynamic
Merges two data structures deeply.
mergeDataDeepIncludeCallsToJson(dynamic a, dynamic b) → dynamic
Merges two data structures deeply and tries to perform toJson on objects.
mergeDataDeepIncludeCallsToMap(dynamic a, dynamic b) → dynamic
Merges two data structures deeply and tries to perform toMap on objects.
mergeIterables(dynamic a, dynamic b) Iterable
Merges two iterables into one iterable.
mergeListsSetsOrQueues(Iterable a, Iterable b) Iterable
Merges two Iterables into one. Supported Iterable types are List, Set, and Queue.
mergeMaps<K, V>(Map<K, V> map1, Map<K, V> map2, {V value(V, V)?}) Map<K, V>
Returns a new map with all key/value pairs in both map1 and map2.
mergeMapsDeep<K, V>(List<Map<K, V>> maps) Map<K, V>
Merges all maps deeply.
mergeSort<E>(List<E> elements, {int start = 0, int? end, int compare(E, E)?}) → void
Sorts a list between start (inclusive) and end (exclusive) using the merge sort algorithm.
minBy<S, T>(Iterable<S> values, T orderBy(S), {int compare(T, T)?}) → S?
Returns the element of values for which orderBy returns the minimum value.
nullFilteredList<T>(Iterable input) List<T>
Converts input to a List with non-null elements if T is non-null.
nullFilteredMap<K, V>(Map input) Map<K, V>
Converts input to a Map with non-null keys and values if K and V are non-null.
nullFilteredSet<T>(Iterable input) Set<T>
Converts input to a Set with non-null elements if T is non-null.
nullIfEmpty<T>(T value) → T?
Returns null if value is empty, otherwise returns value.
powerset<T>(Iterable<Iterable<T>> source, T combinator(T a, T b)) Iterable<T>
Returns the powerset of the given source using the provided combinator.
reverse<E>(List<E> elements, [int start = 0, int? end]) → void
Reverses a list, or a part of a list, in-place.
shuffle(List elements, [int start = 0, int? end, Random? random]) → void
Shuffles a list randomly.
stronglyConnectedComponents<T>(Map<T, Iterable<T>> graph) List<Set<T>>
Returns the strongly connected components of graph, in topological order.
transitiveClosure<T>(Map<T, Iterable<T>> graph) Map<T, Set<T>>
Returns the transitive closure of graph.
traverseMap(Map map, Iterable keys, {dynamic newValue}) → dynamic
Traverses a Map using a list of keys. If the keys do not exist, they are created. If newValue is provided, the value at the end of the traversal is set to newValue.
trimmedOrNull(Object? input) String?
Converts the input to a string if it's not null and trims it or returns null if the result is empty.
tryToJson(dynamic object) → dynamic
Tries to convert an object to a json map by calling its toJson method if it exists.
tryToMap(dynamic object) → dynamic
Tries to convert an object to a map by calling its toMap method if it exists.
typeEquality<T1, T2>() bool
Returns true if T1 and T2 are the same type.
unique<T>(Iterable<T> src, [bool equals(T a, T b)?]) Iterable<T>
Returns a new iterable with all duplicate elements removed.
uniqueEntries<K, V>(Iterable<MapEntry<K, V>> entries) List<MapEntry<K, V>>
uniqueKeys<K, V>(Iterable<MapEntry<K, V>> entries) List<MapEntry<K, V>>
uniqueValues<K, V>(Iterable<MapEntry<K, V>> entries) List<MapEntry<K, V>>

Typedefs

DataRef = DataRefModel
Field = FieldModel
TFieldRecord = ({List<Map<String, dynamic>>? children, String? description, Object? fallback, List<String>? fieldPath, String? fieldType, bool? foreignKey, bool? nullable, bool? primaryKey})
A record representing a field. Similar to FieldModel.
TSyncOrAsyncMapper<A, R> = FutureOr<R> Function(A a)

Exceptions / Errors

ConvertStringToDurationEx
Exception thrown by ConvertStringToDuration when a problem occurs.