web_friendly library

Classes

AnsiStyle
A class that provides a way to style strings with ANSI escape codes.
AnyPlatform
Callbacks<T1, T2 extends TCallback<T1>>
Provides a flexible and easy way to manage and execute a set of callbacks.
CollectiveService<T extends SingleService>
An abstract class that provides a way to manage a SingleService collection.
Debouncer
Usage Example:
DebugLog
A container for debug logs.
DisposableValue<T>
Manages disposal of DisposableValue instances by tracking values in a map, with disposal and check methods.
DurationFormattedEnglish
A class that formats a Duration into a human-readable string.
FirestoreTimestamp
A Timestamp represents a point in time independent of any time zone or calendar, represented as seconds and fractions of seconds at nanosecond resolution in UTC Epoch time. It is encoded using the Proleptic Gregorian Calendar which extends the Gregorian calendar backwards to year one. It is encoded assuming all minutes are 60 seconds long, i.e. leap seconds are 'smeared' so that no leap second table is needed for interpretation. Range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By restricting to that range, we ensure that we can convert to and from RFC 3339 date strings.
FunctionQueue
A queue that executes functions in order, one at a time.
Here
A method to log a message to the console with the file, scope, line and column number passed in as context.
HttpService
A service for making HTTP requests.
NotificationTopic
A method to help manage blocking and unblocking of notification topics for Firebase Cloud Messaging or similar services.
ObjectPostDestructionChecker
Used to check when an object got destructed.
PostDestructionChecker
Used to check when an object got destructed.
Rec
A record of a location in the code.
RecOptions
ReplacePatternsSettings
ScreenCalculator
Calculates the size, orientation and aspect ratio of a screen.
ScreenSize
Represents the size of a screen.
SingleService
An abstract class that provides a way to manage an application service.
SingleServiceCreator<T extends SingleService>
An abstract class that provides a convenient way create a SingleService instance.
Tuple1<T1>
A tuple with one element.
Tuple2<T1, T2>
A tuple with two elements.
Tuple3<T1, T2, T3>
A tuple with three elements.
Tuple4<T1, T2, T3, T4>
A tuple with four elements.
Tuple5<T1, T2, T3, T4, T5>
A tuple with five elements.
Tuple6<T1, T2, T3, T4, T5, T6>
A tuple with six elements.
Tuple7<T1, T2, T3, T4, T5, T6, T7>
A tuple with seven elements.
Tuple8<T1, T2, T3, T4, T5, T6, T7, T8>
A tuple with eight elements.
Tuple9<T1, T2, T3, T4, T5, T6, T7, T8, T9>
A tuple with nine elements.
ValidObject
An abstract class that provides a way to check if an object is defined as 'valid', meaning its input is not null and not empty.
Version
A version class that can be used to compare versions.

Enums

StringCaseType
Enum for different string case types.

Mixins

TypeMessageMixin
A mixin that provides a message property.

Extensions

BodyJsonOnResponseExtension on Response
CalculatorOnScreenSizeExtension on ScreenSize
ConvertStringOnStringCaseTypeExtension on StringCaseType
FirstWhereOrNullOnIterableExtension on Iterable<T>
FirstWhereOrNullOnListExtension on List<T>
FirstWhereOrNullOnMapExtension on Map<K, V>
FirstWhereOrNullOnSetExtension on Set<T>
GenericTypeOnIterableExtension on Iterable<T>
GenericTypeOnMapExtension on Map<K, V>
JoinWithLastSeparatorOnIterableExtension on Iterable
LNullIfEmptyOnListExtension on List<T>
MapIOnIterableExtension on Iterable<A>
MapIOnListExtension on List<A>
MapIOnMapExtension on Map<A1, A2>
MapIOnSetExtension on Set<A>
MapKeysAndValyesOnMapExtension on Map<K1, V1>
MapWithDefaultOnMapExtension on Map<K, V>
MaybeAddToIterableExtension on Iterable<T>
MaybeAddToListExtension on List<T>
MaybeAddToMapExtension on Map<T1, T2>
MaybeAddToSetExtension on Set<T>
NonNullKeysOnMapExtension on Map<K?, V>
NonNullsOnMapExtension on Map<K?, V?>
NonNullValuesOnMapExtension on Map<K, V?>
NullIfEmptyOnIterableExtension on Iterable<T>
NullIfEmptyOnMapExtension on Map<T1, T2>
NullIfEmptyOnQueueExtension on Queue<T>
NullIfEmptyOnSetExtension on Set<T>
NullIfEmptyOnStringExtension on String
ParseDurationOnStringExtension on String
ReplaceAllPatternsOnStringExtension on String
ReplaceDataOnStringExtension on String
ResponseHandleExceptionsOnFutureExtension on Future<Response>
SecondToNinthElementOnIterableExtension on Iterable<T>
SplitByLastOccurrenceOfOnStringExtension on String
ToMapOnIterableExtension on Iterable<MapEntry<K, V>>
ToTrimmedOrNullOnObjectExtension on Object
TryMergeOnIterableExtension on Iterable<Iterable<T>?>
TryReduceOnIterableExtension on Iterable<T>
UtilsOnDateTimeExtension on DateTime
UtilsOnStringExtension on String
ValueOfOnEnumExtension on Iterable<T>
WithAnsiStyleOnStringExtension on String

Constants

CAMEL_CASE → const String
A key representing camel case.
CAMEL_CASE_EXAMPLE → const String
Camel case example.
CONTENT_TYPE_APPLICATION_JSON → const Map<String, String>
LOWER_DOT_CASE → const String
A key representing lower dot case.
LOWER_DOT_CASE_EXAMPLE → const String
Lower dot case example.
LOWER_KEBAB_CASE → const String
A key representing lower kebab case.
LOWER_KEBAB_CASE_EXAMPLE → const String
Lower kebab case example.
LOWER_SNAKE_CASE → const String
A key representing lower snake case.
LOWER_SNAKE_CASE_EXAMPLE → const String
Lower snake case example.
MIN_MOBILE_ASPECT_RATIO → const double
The smallest of the following common aspect ratios for mobile phones (4.0 / 3.0)
PASCAL_CASE → const String
A key representing pascal case.
PASCAL_CASE_EXAMPLE → const String
Pascal case example.
PATH_CASE → const String
A key representing path case.
PATH_CASE_EXAMPLE → const String
Path case example.
UPPER_DOT_CASE → const String
A key representing upper dot case.
UPPER_DOT_CASE_EXAMPLE → const String
Upper dot case example.
UPPER_KEBAB_CASE → const String
A key representing upper kebab case.
UPPER_KEBAB_CASE_EXAMPLE → const String
Upper kebab case example.
UPPER_SNAKE_CASE → const String
A key representing upper snake case.
UPPER_SNAKE_CASE_EXAMPLE → const String
Upper snake case example.

Properties

iterable → dynamic
Example:
final
let → T? Function<T>(dynamic input)
Alias for letOrNull.
final
letAs → T? Function<T>(dynamic input)
Alias for letAsOrNull.
final
letAsJMap Map<String, dynamic>? Function(dynamic input)
Alias for letAsJMapOrNull.
final
letBool bool? Function(dynamic input)
Alias for letBoolOrNull.
final
letDateTime DateTime? Function(dynamic input)
Alias for letDateTimeOrNull.
final
letDouble double? Function(dynamic input)
Alias for letDoubleOrNull.
final
letDuration Duration? Function(dynamic input)
Alias for letDurationOrNull.
final
letFirestoreTimestamp FirestoreTimestamp? Function(dynamic input)
Alias for letFirestoreTimestampOrNull.
final
letInt int? Function(dynamic input)
Alias for letIntOrNull.
final
letIterable Iterable<T>? Function<T>(dynamic input, {bool filterNulls = false, dynamic nullFallback})
Alias for letIterableOrNull.
final
letList List<T>? Function<T>(dynamic input, {bool filterNulls = false, T? nullFallback})
Alias for letListOrNull.
final
letMap Map<K, V>? Function<K, V>(dynamic input, {bool filterNulls = false, dynamic nullFallback})
Alias for letMapOrNull.
final
letNum num? Function(dynamic input)
Alias for letNumOrNull.
final
letSet Set<T>? Function<T>(dynamic input, {bool filterNulls = false, T? nullFallback})
Alias for letSetOrNull.
final
letUri Uri? Function(dynamic input)
Alias for letUriOrNull.
final
list → dynamic
Example:
final
map → dynamic
Example:
final
minMobileAspectRatio double
The smallest of the following common aspect ratios for mobile phones (4.0 / 3.0)
no setter
set → dynamic
Example:
final

Functions

castAsOrNull<T>(dynamic input) → T?
Similar to letAsOrNull, but uses a try-catch block internally.
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.
combinePathSets(List<Set<String>> pathSets) Set<String>
Combines multiple pathSets into a single set, returning all possible combinations.
convertToStringCaseType(String value, StringCaseType? stringCaseType) String
Converts a string to a specific case type.
csvToMap(String input) Map<int, List<String>>
Converts a CSV string to a map.
dayAgo(DateTime date, String tr(String), String locale) String
Returns a string representing the day ago from the given date. Requires a translation function tr to translate the string into the given locale.
debugLog(dynamic message, [Symbol? group, Rec? rec]) → void
⚪️ Logs a message to the console.
debugLogAlert(dynamic message, [Symbol? group, Rec? rec]) → void
🟠 Logs an alert message to the console.
debugLogError(dynamic message, [Symbol? group, Rec? rec]) → void
🔴 Logs an error message to the console.
debugLogIgnore(dynamic message, [Symbol? group, Rec? rec]) → void
🟡 Logs an ignore message to the console.
debugLogInfo(dynamic message, [Symbol? group, Rec? rec]) → void
🟣 Logs an info message to the console.
debugLogMessage(dynamic message, [Symbol? group, Rec? rec]) → void
🟤 Logs a debug message to the console.
debugLogStart(dynamic message, [Symbol? group, Rec? rec]) → void
🔵 Logs a start message to the console.
debugLogStop(dynamic message, [Symbol? group, Rec? rec]) → void
⚫ Logs a stop message to the console.
debugLogSuccess(dynamic message, [Symbol? group, Rec? rec]) → void
🟢 Logs a success message to the console.
expandFlattenedJson(Map input, {String separator = '.'}) Map
Expands a flattened JSON map, e.g. {'a.b': 1} to {a.b: 1, b: 1}.
expandJson(Map input, {String separator = '.'}) Map
Expands a Json map, e.g. {'a': {'b': 1}} to {a.b: 1, b: 1}.
extractScopes(String source, String open, String close) Iterable<String>
Extracts nested scopes from a source string based on opening and closing
delimiters.
flattenJson(Map input, {String separator = '.'}) Map
Flattens a nested JSON object into a single-level map with string keys.
getAs1<T1>(Iterable source) Tuple1<T1>
Returns a tuple with one element.
getAs2<T1, T2>(Iterable source) Tuple2<T1, T2>
Returns a tuple with two elements.
getAs3<T1, T2, T3>(Iterable source) Tuple3<T1, T2, T3>
Returns a tuple with three elements.
getAs4<T1, T2, T3, T4>(Iterable source) Tuple4<T1, T2, T3, T4>
Returns a tuple with four elements.
getAs5<T1, T2, T3, T4, T5>(Iterable source) Tuple5<T1, T2, T3, T4, T5>
Returns a tuple with five elements.
getAs6<T1, T2, T3, T4, T5, T6>(Iterable source) Tuple6<T1, T2, T3, T4, T5, T6>
Returns a tuple with six elements.
getAs7<T1, T2, T3, T4, T5, T6, T7>(Iterable source) Tuple7<T1, T2, T3, T4, T5, T6, T7>
Returns a tuple with seven elements.
getAs8<T1, T2, T3, T4, T5, T6, T7, T8>(Iterable source) Tuple8<T1, T2, T3, T4, T5, T6, T7, T8>
Returns a tuple with eight elements.
getAs9<T1, T2, T3, T4, T5, T6, T7, T8, T9>(Iterable source) Tuple9<T1, T2, T3, T4, T5, T6, T7, T8, T9>
Returns a tuple with nine elements.
getBaseName(String path) String
Returns the base name of a given file path.
getDirPath(String path) String
Returns the directory path of a given file path.
getFileNameWithoutExtension(String filePath) String
Converts the given path to a consistent, local path format.
getFirstDate(Iterable<DateTime>? dates) DateTime?
Returns the first date in the list of dates.
getLastDate(Iterable<DateTime>? dates) DateTime?
Returns the last date in the list of dates.
getSetDifference<T>(Set<T> before, Set<T> after) Set<T>
Returns the difference between two sets.
isMatchingFileName(String filePath, String begType, String endType) → (bool, String)
Checks if the file name matches the specified beginning and ending types. Returns a tuple with the match status and the file name.
isNullable<T>() bool
Returns true if T is nullable.
isPrivateFileName(String filePath) bool
Checks if the provided file is a private Dart file (starts with an underscore).
isSameDay(DateTime date1, DateTime date2) bool
Checks if two dates are on the same day.
isSameMonth(DateTime date1, DateTime date2) bool
Checks if two dates are on the same month.
isSameWeek(DateTime date1, DateTime date2) bool
Checks if two dates are on the same week.
letAsJMapOrNull(dynamic input) Map<String, dynamic>?
Let's you cast input to a Map<String, dynamic> type if possible, or returns null if the cast cannot be performed.
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.
letDurationOrNull(dynamic input) Duration?
Let's you convert input to a Duration type if possible, or returns null if the conversion cannot be performed.
letFirestoreTimestampOrNull(dynamic input) FirestoreTimestamp?
Let's you convert input to a FirestoreTimestamp 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.
letIterableFromCommaSeparatedString(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.
mapToCsv(Map input) String
Converts a map to a CSV string.
mapToJson<T1, T2>(Map<T1, T2> input, {Set<Type> typesAllowed = const {}, String? keyConverter(dynamic)?}) Json
Converts a map to a Json map by recursively converting its keys and values to Json compatible types.
matchesAnyPathPattern(String path, Set<String> pathPatterns) bool
Checks if the provided path matches any of the specified path patterns.
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.
mergeListsOrSets<T extends Iterable>(T a, dynamic b) → T
Merges two lists or sets into one list or set.
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.
pathContainsComponent(String path, Set<String> components) bool
Checks if the provided path contains any of the specified components. This operation is case-insensitive.
printBlack(Object? message) → void
Prints the message in black using AnsiStyle.
printBlue(Object? message) → void
Prints the message in blue using AnsiStyle.
printCyan(Object? message) → void
Prints the message in cyan using AnsiStyle.
printGreen(Object? message) → void
Prints the message in green using AnsiStyle.
printLightBlack(Object? message) → void
Prints the message in light black using AnsiStyle.
printLightBlue(Object? message) → void
Prints the message in light blue using AnsiStyle.
printLightCyan(Object? message) → void
Prints the message in light cyan using AnsiStyle.
printLightGreen(Object? message) → void
Prints the message in light green using AnsiStyle.
printLightPurple(Object? message) → void
Prints the message in light purple using AnsiStyle.
printLightRed(Object? message) → void
Prints the message in light red using AnsiStyle.
printLightWhite(Object? message) → void
Prints the message in light white using AnsiStyle.
printLightYellow(Object? message) → void
Prints the message in light yellow using AnsiStyle.
printPurple(Object? message) → void
Prints the message in purple using AnsiStyle.
printRed(Object? message) → void
Prints the message in red using AnsiStyle.
printWhite(Object? message) → void
Prints the message in white using AnsiStyle.
printYellow(Object? message) → void
Prints the message in yellow using AnsiStyle.
recursiveReplace(Map input, {ReplacePatternsSettings settings = const ReplacePatternsSettings()}) Map
Performs recursive replacement of string values within a map using placeholders defined by the map's own key-value pairs. It supports nested structures (maps and lists) and replaces placeholders in strings with corresponding values.
replaceData(String input, Map<Pattern, dynamic> data) String
Replaces the keys of data in input with the corresponding values.
replacePatterns(String input, Map data, {ReplacePatternsSettings settings = const ReplacePatternsSettings()}) String
Replaces placeholders in a string with corresponding values from a provided map, supporting default values and custom delimiters.
sortDates(List<DateTime> dates) List<DateTime>
Checks if two dates are on the same year.
streamToFuture<T>(Stream<T> stream, {bool cancelOnDone = false}) Future<T>
Converts a Stream to a Future.
timeAgo(DateTime date, String tr(String), String locale) String
Returns a string representing the time ago from the given date. Requires a translation function tr to translate the string into the given locale.
toLocalSystemPathFormat(String path) String
Replaces all forward slashes with the local path separator.
toUnixSystemPathFormat(String path) String
Replaces all backslashes with forward slashes.
toWindowsSystemPathFormat(String path) String
Replaces all forward slashes with backslashes.
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.

Typedefs

FTranslate = String Function(String input, Map args)
Json = Map<String, dynamic>
A type alias for a Json map.
TCallback<T> = Future Function(dynamic callbackKey, T param)