playx_core 0.7.4
playx_core: ^0.7.4 copied to clipboard
Core package for playx eco system contains shared classes and utilities.
Changelog #
0.7.4 #
- Update packages
- Add new asTOr and asT safe json convert functions.
0.7.2-0.7.3 #
- Enhance logging methods in
PlayxCoreto use the newPlayxLoggersystem.
0.7.1 #
- Updated dependencies.
- Added
isWasmtoPlayxPlatformto detect if the app is running in a WebAssembly environment. - Introduced
WebUtils, a new utility class providing common browser-side features for web apps:- Update the browser URL and query parameters without navigation.
- Control fullscreen mode (enter, exit, toggle).
- Set the browser tab title and application switcher label.
- Change
<body>background color directly or by CSS class. - Open links in new tabs.
- Reload the page.
0.7.0 #
Note: This release has breaking changes.
✨ Features #
-
New System Utilities (
common_utils.dart)setNavigationBarColor: Set navigation bar color and icon brightness.setOrientation: Lock screen orientation with optional rotation.hideKeyboard/showKeyboard: Control keyboard visibility.enterFullScreen/exitFullScreen: Toggle immersive full-screen mode.copyToClipboard/getClipboardText/clearClipboard: Manage clipboard content.setStatusBarColornow setsstatusBarBrightnessfor improved iOS support.
🧠 Type Conversion Enhancements #
-
Safe Conversion Utilities (
safe_convert.dart&safe_json_convert.dart)-
Added:
toNumOrNull,toNumOr,toNumtoDateTimeOrNull,toDateTimeOr,toDateTimetoLocalDateTimeOrNull,toLocalDateTimeOr,toLocalDateTime
-
Improved:
- List conversion with optional
fromJson - Renamed generic list conversion functions for consistency:
- toListOrNullT → toListOrNull
- toListTOr → toListOr
- oListT → toList
- Map conversion support for generic types (
<T, S>) asTOrNull: Now cleaner and more robust
- List conversion with optional
-
Refactored for consistency, better error handling, and improved documentation.
-
🚀 **New Logging System ** 🔥 #
This version introduces a modern, powerful, and highly configurable logging system using the talker_logger package.
✅ What's New
- 🔄 Replaced old
PlayxLoggerwith a modular and extensible system.
🧱 Core Components
PlayxBaseLogger: Abstract base for all logger implementations.TalkerPlayxLogger: Concrete logger usingtalker_logger, supports customization (name, colors, log levels, filters, formatters).PlayxLoggerSettings: Configure behavior globally (log level, console output, filters, etc.).PlayxLogger: Static utility class to manage and use named logger instances.
🔧 Integration Highlights
-
PlayxCorenow initializes a default logger named'PLAYX CORE'on setup. -
Internal operations like preference booting, environment loading, and error tracking now leverage the enhanced logger:
PlayxLogger.d('Debug message'); PlayxCore.logger.error('An error occurred', error:error); -
Existing utilities (
MapperUtilities,IterableExtensions) now use the new logger for standardized logging.
🧩 Dependency
- Added:
talker_logger: ^4.7.7topubspec.yaml.
0.6.2 0.6.3 #
- Update packages.
- Updates minimum supported SDK version to Flutter 3.24/Dart 3.5.
0.6.1 #
- Add new
printErrorparam to**MapUtils** mapAsyncandmapAsyncInIsolatemethods to determine whether to print errors or not. - Update
asyncMapInIsolateinNestedIterablesExtensionsto include aprintErrorparameter andprintEachItemErrorparameter to determine whether to print errors for each item or not.
0.6.0 #
Note: This release has breaking changes.
Breaking Changes
- MapUtils
mapAsyncandmapAsyncInIsolatenow require the following parameters:T data: The data to be mapped.Mapper<T, S> mapper: A required named parameter for the transformation logic.
- Extensions on
Iterable<T>- Updated
asyncMapandasyncMapInIsolateto requireMapper<T, S> mapperas a named parameter. NestedIterablesExtensions<T>:- Deprecated
asyncFlatMap. UseflatMapAsyncinstead. - Updated
flatMapandflatMapAsyncto requireMapper<T, S> mapperas a named parameter.
- Deprecated
- Updated
New Features
- MapUtils
- Enhanced
mapAsyncInIsolateto map items in an isolate usingworkerManagerby default. - Added a new
useWorkManagerparameter:- If
true, usesworkerManagerto execute tasks. - If
false, falls back to thecomputemethod.
- If
- Enhanced
- Playx Core (
bootCore)- Introduced new settings:
PlayxPrefsSettings: Handles configurations forcreatePlayxPrefs,createPlayxAsyncPrefs, andcreatePlayxPrefsWithCachemethods, which are now moved from thebootCoremethod.WorkManagerSettings: Supports additional configurations in thebootCoremethod.
- Introduced new settings:
- PlayxSecurePrefsSettings
- Added a
createSecurePrefsparameter to control the creation of secure storage during thebootprocess.
- Added a
Refactor
- MapAsync Extension:
- Updated the
mapAsyncandmapAsyncInIsolatemethods in theMapAsync<T>extension:mapAsyncnow takes aMapper<T, S> mapperas a required named parameter.mapAsyncInIsolatenow includes the following parameters:Mapper<T, S> mapper: Required transformation logic.bool useWorkManager: Defaults totrue. Specifies whether to useworkerManagerorcompute.
- Updated the
0.5.5 #
- refactor: Update packages.
- fix:
getDoublemethod inPlayxPrefsandPlayxAsyncPrefsreturn double not double or null. - feat: Add ColorExtensions to convert color to hex string.
0.5.4 #
- refactor: Update packages.
- refactor: Update
safe_convertmethodsasIntOr,asDoubleOr,asBoolOr,asStringOr,asListOr,asMapOr,asListTOr,asListTFromJsonOr,asListIntOr,asListStringOr,asTOrto take dynamic json instead of a Map<String,dynamic> json value. - refactor: Move json safe convert functions to a new file
- feat: Add new tests for the package.
0.5.3 #
Note: This release has breaking changes.
- Update packages.
- Update
safe_convertmethodsasInt,asDouble,asBool,asStringandasList,asMap,asListT,asListTFromJson,asListInt,asListString,asTnow throwsFormatExceptionif the result was invalid.- Added
asIntOr,asDoubleOr,asBoolOr,asStringOr,asListOr,asMapOr,asListTOr,asListTFromJsonOr,asListIntOr,asListStringOr,asTOrmethods to provide a fallback value if the result was invalid. - Added new
asListTFromJsonmethod to convert a list of dynamic values to a list of a specific type. - Added new
fromJsontoasTOrNull,asTandasTOr.
- Add new Map utilities functions to map objects in isolate.
0.5.1 0.5.2 #
- Update Readme
0.5.0 #
- Update packages.
- Added
PlayxAsyncPrefsfor non-blocking shared preferences handling. - Introduced
PlayxPrefsWithCachefor faster data retrieval with in-memory caching. - Updated PlayxCore.bootCore() to include options for initializing the new preference classes.
- Added
GetItintegration for dependency injection management. - Updated
PlayxCoreto includeGetItinstance management. - Added new
PlayxPlatformclass to provide platform-specific utilities. - Remove GetX dependency from the package.
- Remove Scope Functions from the package as there is no need for them in flutter and can be implemented if needed by a separate package.
0.4.3 #
- Update packages.
- Add a new
clearOnReinstallmethod toPlayxSecurePrefsto clear all the keys stored in the secure prefs when the app is reinstalled. - Add a new
clearOnReinstallparameter toPlayxSecurePrefsSettingsto clear all the keys stored in the secure prefs when the app is reinstalled which is set to true by default.
0.4.2 #
- Update packages.
0.4.1 #
- Add Tests for the package.
- Remove functions that check date weekDay and month from
DateExtensionsand replace them withdayOfTheWeek()andmonthOfTheYear(). - Add new
ColorExtensionsandColorUtilsto create custom utilities for colors. - Update DurationExtensions to optimize duration extensions and formatting durations.
- Add new
IterableExtensionsto add extensions likelastWhereOrNull,lastWhereOr,firstWhereOrto Iterables. - Update
PlayxEnvto not require a.envfile to be present in the project whenisOptionalis set true. - Add new
FutureExtensionsExtensions on [Future] to provide additional functionality.`
0.3.4 #
- Remove
flutter_readablepackage from dependencies. - Add more extensions to the package.
- Add safe convert methods to
PlayxCoreto convert safely convert any dynamic value to the correct type.
0.3.3 #
- Update exports.
0.3.2 #
- Update exports.
0.3.1 #
Note: This release has breaking changes.
BREAKING Changes #
PlayXCorewas renamed toPlayxCore.
New features #
- Added new IterableExtensions to add extensions like flatten, flatMap, flatAsyncMap to Iterables.
- Added new Kotlin inspired scope functions to
PlayxCorelikealso,let,run,takeIfandtakeUnless. - Added new
toBooleanextension toStringto convert string to boolean.\ - Added new example app to demonstrate the
PlayxCorefeatures.
0.2.0 #
Note: This release has breaking changes.
BREAKING Changes #
Prefswas renamed toPlayxPrefs.SecurePrefswas renamed toPlayxSecurePrefs.SecurePrefsSettingswas renamed toPlayxSecurePrefsSettings.getString,getInt,getDoubleandgetBoolmethods inPlayxPrefsnow return non nullable value of it's type with the ability to provide it with a fallback that is returned if the key not found .getString,getInt,getDoubleandgetBoolmethods inPlayxSecurePrefsSettingsnow return non nullable value of it's type with the ability to provide it with a fallback that is returned if the key not found .
New features #
- Update packages.
- Added
PlayxEnv: Wrapper for configure any the application with global variables using a.envfile`. - Update
PlayxCorebootCoremethod to takePlayxEnvSettingsparameter which is used to configureflutter_dotenvand load the.envfile. - Added new
maybeGetString,maybeGetInt,maybeGetDoubleandmaybeGetBoolmethods inPlayxPrefswhich return the value of it's type or null if the key not found or any error happened . maybeGetString,maybeGetInt,maybeGetDoubleandmaybeGetBoolmethods inPlayxSecurePrefsSettingswhich return the value of it's type or null if the key not found or any error happened .
0.1.2 #
- Move
Intlpackage,DateExtensionsandNumExtensionstoplayx_localizationpackage.
0.1.1 #
- update packages and exports.
0.1.0 #
- Enhancements to
SecurePrefs.
0.0.7 0.0.9 #
- Add
SecurePrefsto be able to store encrypted keys in the device. - Upgrade Packages.
0.0.6 #
- Add format extension for strings to format stings.
0.0.5 #
- Add support for Dart 3.0.0 and Flutter 3.10
- Upgrade Packages.
- Add multiple extensions like
DateExtensions,DurationExtensions,NumDurationExtensionsandNumExtensions. - Add common utilities.
0.0.4 #
- update Readme
0.0.3 #
- update packages
0.0.2 #
- fix typos
- add
capitalizeFirstChar(String str) - add
capitalizeFirstCharForEachWord(String str)
0.0.1 #
- initial release.