playx_core
Core package for playx eco system contains shared classes and utilities.
1.0.0
3.1K downloads/mo
#4562 most downloaded on pub.dev
playx-flutter/playx_core
What this package is like to depend on
Last release 4 months ago
01 Apr 2026
Ships fairly regularly
a new release about every 2 months
Most releases are documented
notes for 29 of 36 stable releases
Nothing withdrawn
no release was ever pulled
4 years old
42 releases · first in 2022
3 releases in the last 12 months
see the full history below
Release timeline
42 releases · Aug 2022 to Apr 2026Releases
latest 42-
1.0.001 Apr 2026Release notes
Open source →- Added support for nested JSON keys using dot notation (e.g.,
'data.user.name') in allsafe_json_convertfunctions. - Introduced
toEnum/asEnumandtoUri/asUrisafe conversion functions. - Improved generic list parsing in
toListOrNullby adding a fallback toList<T>.from(value)for safer runtime casting. - Optimized
TalkerPlayxLoggerto strictly respect theenabledconfiguration, utilizedebugPrint, and automatically disable colored output in Web environments to avoid unformatted ANSI codes. - Refactored
PlayxColorExtensionsto eliminate deprecateddart:uigetters, transitioning to Flutter 3.24 wide-gamut compatibility (a,r,g,b). AddedfromHex,lighten,darken, andisDarkhelper methods. - Expanded core extension libraries (
String,Iterable,DateTime,Duration,bool,BuildContext) to include new highly-requested utilities:- String: Added helpers like
toIntOrNull(),isNumeric,isValidEmail,toSlug(), andNullableStringExtensionsonString?(e.g.,isNullOrEmpty). - Iterable: Added functional utilities
chunked,groupBy,sortedBy, and numeric aggregates (sum,average). - DateTime: Added boundary generators like
startOfDay,endOfMonth, andstartOfWeek. - Context: Mapped the complete Material 3
ColorSchemeproperties (e.g.,onPrimary,surfaceContainer) directly toBuildContextfor agile theming.
- String: Added helpers like
- Added support for nested JSON keys using dot notation (e.g.,
-
1.0.0-beta.617 Nov 2025 pre-releaseNothing published for this version
-
1.0.0-beta.529 Jun 2025 pre-releaseNothing published for this version
-
1.0.0-beta.429 Jun 2025 pre-releaseNothing published for this version
-
1.0.0-beta.319 Jan 2025 pre-releaseNothing published for this version
-
1.0.0-beta.219 Jan 2025 pre-releaseNothing published for this version
-
1.0.0-beta.108 Jan 2025 pre-releaseNothing published for this version
-
0.7.417 Nov 2025Release notes
Open source →- Update packages
- Add new asTOr and asT safe json convert functions.
1.0.0-beta.4 - 1.0.0-beta.5
- Added v0.7.0 changes.
1.0.0-beta.3
- 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.7.329 Jun 2025Nothing published for this version
-
0.7.229 Jun 2025Nothing published for this version
-
0.7.129 Jun 2025Nothing published for this version
-
0.7.019 May 2025Release notes
Open source →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_loggerpackage.✅ 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.323 Feb 2025Nothing published for this version
-
0.6.223 Feb 2025Release notes
Open source →- Update packages.
- Updates minimum supported SDK version to Flutter 3.24/Dart 3.5.
-
0.6.119 Jan 2025Release notes
Open source →- 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.
- Add new
-
0.6.019 Jan 2025Release notes
Open source →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
- MapUtils
-
0.5.508 Jan 2025Release notes
Open source →- refactor: Update packages.
- fix:
getDoublemethod inPlayxPrefsandPlayxAsyncPrefsreturn double not double or null. - feat: Add ColorExtensions to convert color to hex string.
-
0.5.406 Nov 2024Release notes
Open source →- 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.310 Oct 2024Release notes
Open source →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.222 Aug 2024Nothing published for this version
-
0.5.122 Aug 2024 -
0.5.022 Aug 2024Release notes
Open source →- 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.308 Jul 2024Release notes
Open source →- 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.215 May 2024 -
0.4.118 Mar 2024Release notes
Open source →- 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.420 Feb 2024Release notes
Open source →- 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.
- Remove
-
0.3.329 Nov 2023 -
0.3.228 Nov 2023 -
0.3.126 Nov 2023Release notes
Open source →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.012 Oct 2023Release notes
Open source →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.224 Jul 2023Release notes
Open source →- Move
Intlpackage,DateExtensionsandNumExtensionstoplayx_localizationpackage.
- Move
-
0.1.119 Jul 2023 -
0.1.014 Jul 2023 -
0.0.913 Jul 2023Nothing published for this version
-
0.0.812 Jul 2023Nothing published for this version
-
0.0.712 Jul 2023Release notes
Open source →- Add
SecurePrefsto be able to store encrypted keys in the device. - Upgrade Packages.
- Add
-
0.0.618 Jun 2023 -
0.0.522 May 2023Release notes
Open source →- 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.401 May 2023 -
0.0.301 May 2023 -
0.0.203 Oct 2022Release notes
Open source →- fix typos
- add
capitalizeFirstChar(String str) - add
capitalizeFirstCharForEachWord(String str)
-
0.0.111 Aug 2022