Skip to content

Commit

Permalink
feat: added LoggerMixin and isCsv extension
Browse files Browse the repository at this point in the history
  • Loading branch information
kishormainali committed Nov 9, 2023
1 parent c2f3ff2 commit b761de5
Show file tree
Hide file tree
Showing 10 changed files with 76 additions and 32 deletions.
10 changes: 5 additions & 5 deletions .dart_tool/package_config.json
Original file line number Diff line number Diff line change
Expand Up @@ -153,7 +153,7 @@
},
{
"name": "file_picker",
"rootUri": "file:///Users/kishor/.pub-cache/hosted/pub.dev/file_picker-6.0.0",
"rootUri": "file:///Users/kishor/.pub-cache/hosted/pub.dev/file_picker-6.1.1",
"packageUri": "lib/",
"languageVersion": "2.19"
},
Expand Down Expand Up @@ -195,7 +195,7 @@
},
{
"name": "flutter_lints",
"rootUri": "file:///Users/kishor/.pub-cache/hosted/pub.dev/flutter_lints-3.0.0",
"rootUri": "file:///Users/kishor/.pub-cache/hosted/pub.dev/flutter_lints-3.0.1",
"packageUri": "lib/",
"languageVersion": "3.0"
},
Expand All @@ -207,7 +207,7 @@
},
{
"name": "flutter_svg",
"rootUri": "file:///Users/kishor/.pub-cache/hosted/pub.dev/flutter_svg-2.0.8",
"rootUri": "file:///Users/kishor/.pub-cache/hosted/pub.dev/flutter_svg-2.0.9",
"packageUri": "lib/",
"languageVersion": "2.19"
},
Expand Down Expand Up @@ -525,7 +525,7 @@
},
{
"name": "uuid",
"rootUri": "file:///Users/kishor/.pub-cache/hosted/pub.dev/uuid-4.1.0",
"rootUri": "file:///Users/kishor/.pub-cache/hosted/pub.dev/uuid-4.2.1",
"packageUri": "lib/",
"languageVersion": "2.14"
},
Expand Down Expand Up @@ -596,7 +596,7 @@
"languageVersion": "3.0"
}
],
"generated": "2023-11-04T10:19:34.629658Z",
"generated": "2023-11-09T02:29:01.311250Z",
"generator": "pub",
"generatorVersion": "3.1.5"
}
16 changes: 8 additions & 8 deletions .dart_tool/package_config_subset
Original file line number Diff line number Diff line change
Expand Up @@ -100,8 +100,8 @@ file:///Users/kishor/.pub-cache/hosted/pub.dev/file-7.0.0/
file:///Users/kishor/.pub-cache/hosted/pub.dev/file-7.0.0/lib/
file_picker
2.19
file:///Users/kishor/.pub-cache/hosted/pub.dev/file_picker-6.0.0/
file:///Users/kishor/.pub-cache/hosted/pub.dev/file_picker-6.0.0/lib/
file:///Users/kishor/.pub-cache/hosted/pub.dev/file_picker-6.1.1/
file:///Users/kishor/.pub-cache/hosted/pub.dev/file_picker-6.1.1/lib/
file_selector_linux
2.18
file:///Users/kishor/.pub-cache/hosted/pub.dev/file_selector_linux-0.9.2/
Expand All @@ -124,16 +124,16 @@ file:///Users/kishor/.pub-cache/hosted/pub.dev/fixnum-1.1.0/
file:///Users/kishor/.pub-cache/hosted/pub.dev/fixnum-1.1.0/lib/
flutter_lints
3.0
file:///Users/kishor/.pub-cache/hosted/pub.dev/flutter_lints-3.0.0/
file:///Users/kishor/.pub-cache/hosted/pub.dev/flutter_lints-3.0.0/lib/
file:///Users/kishor/.pub-cache/hosted/pub.dev/flutter_lints-3.0.1/
file:///Users/kishor/.pub-cache/hosted/pub.dev/flutter_lints-3.0.1/lib/
flutter_plugin_android_lifecycle
2.18
file:///Users/kishor/.pub-cache/hosted/pub.dev/flutter_plugin_android_lifecycle-2.0.15/
file:///Users/kishor/.pub-cache/hosted/pub.dev/flutter_plugin_android_lifecycle-2.0.15/lib/
flutter_svg
2.19
file:///Users/kishor/.pub-cache/hosted/pub.dev/flutter_svg-2.0.8/
file:///Users/kishor/.pub-cache/hosted/pub.dev/flutter_svg-2.0.8/lib/
file:///Users/kishor/.pub-cache/hosted/pub.dev/flutter_svg-2.0.9/
file:///Users/kishor/.pub-cache/hosted/pub.dev/flutter_svg-2.0.9/lib/
freezed
2.17
file:///Users/kishor/.pub-cache/hosted/pub.dev/freezed-2.4.5/
Expand Down Expand Up @@ -336,8 +336,8 @@ file:///Users/kishor/.pub-cache/hosted/pub.dev/typed_data-1.3.2/
file:///Users/kishor/.pub-cache/hosted/pub.dev/typed_data-1.3.2/lib/
uuid
2.14
file:///Users/kishor/.pub-cache/hosted/pub.dev/uuid-4.1.0/
file:///Users/kishor/.pub-cache/hosted/pub.dev/uuid-4.1.0/lib/
file:///Users/kishor/.pub-cache/hosted/pub.dev/uuid-4.2.1/
file:///Users/kishor/.pub-cache/hosted/pub.dev/uuid-4.2.1/lib/
vector_graphics
2.17
file:///Users/kishor/.pub-cache/hosted/pub.dev/vector_graphics-1.1.9+1/
Expand Down
2 changes: 1 addition & 1 deletion .flutter-plugins
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# This is a generated file; do not edit or check into version control.
file_picker=/Users/kishor/.pub-cache/hosted/pub.dev/file_picker-6.0.0/
file_picker=/Users/kishor/.pub-cache/hosted/pub.dev/file_picker-6.1.1/
file_selector_linux=/Users/kishor/.pub-cache/hosted/pub.dev/file_selector_linux-0.9.2/
file_selector_macos=/Users/kishor/.pub-cache/hosted/pub.dev/file_selector_macos-0.9.3+1/
file_selector_windows=/Users/kishor/.pub-cache/hosted/pub.dev/file_selector_windows-0.9.3/
Expand Down
2 changes: 1 addition & 1 deletion .flutter-plugins-dependencies
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"file_picker","path":"/Users/kishor/.pub-cache/hosted/pub.dev/file_picker-6.0.0/","native_build":true,"dependencies":[]},{"name":"image_picker_ios","path":"/Users/kishor/.pub-cache/hosted/pub.dev/image_picker_ios-0.8.8/","native_build":true,"dependencies":[]}],"android":[{"name":"file_picker","path":"/Users/kishor/.pub-cache/hosted/pub.dev/file_picker-6.0.0/","native_build":true,"dependencies":["flutter_plugin_android_lifecycle"]},{"name":"flutter_plugin_android_lifecycle","path":"/Users/kishor/.pub-cache/hosted/pub.dev/flutter_plugin_android_lifecycle-2.0.15/","native_build":true,"dependencies":[]},{"name":"image_picker_android","path":"/Users/kishor/.pub-cache/hosted/pub.dev/image_picker_android-0.8.7+4/","native_build":true,"dependencies":["flutter_plugin_android_lifecycle"]}],"macos":[{"name":"file_selector_macos","path":"/Users/kishor/.pub-cache/hosted/pub.dev/file_selector_macos-0.9.3+1/","native_build":true,"dependencies":[]},{"name":"image_picker_macos","path":"/Users/kishor/.pub-cache/hosted/pub.dev/image_picker_macos-0.2.1/","native_build":false,"dependencies":["file_selector_macos"]}],"linux":[{"name":"file_selector_linux","path":"/Users/kishor/.pub-cache/hosted/pub.dev/file_selector_linux-0.9.2/","native_build":true,"dependencies":[]},{"name":"image_picker_linux","path":"/Users/kishor/.pub-cache/hosted/pub.dev/image_picker_linux-0.2.1/","native_build":false,"dependencies":["file_selector_linux"]}],"windows":[{"name":"file_selector_windows","path":"/Users/kishor/.pub-cache/hosted/pub.dev/file_selector_windows-0.9.3/","native_build":true,"dependencies":[]},{"name":"image_picker_windows","path":"/Users/kishor/.pub-cache/hosted/pub.dev/image_picker_windows-0.2.1/","native_build":false,"dependencies":["file_selector_windows"]}],"web":[{"name":"file_picker","path":"/Users/kishor/.pub-cache/hosted/pub.dev/file_picker-6.0.0/","dependencies":[]},{"name":"image_picker_for_web","path":"/Users/kishor/.pub-cache/hosted/pub.dev/image_picker_for_web-3.0.0/","dependencies":[]}]},"dependencyGraph":[{"name":"file_picker","dependencies":["flutter_plugin_android_lifecycle"]},{"name":"file_selector_linux","dependencies":[]},{"name":"file_selector_macos","dependencies":[]},{"name":"file_selector_windows","dependencies":[]},{"name":"flutter_plugin_android_lifecycle","dependencies":[]},{"name":"image_picker","dependencies":["image_picker_android","image_picker_for_web","image_picker_ios","image_picker_linux","image_picker_macos","image_picker_windows"]},{"name":"image_picker_android","dependencies":["flutter_plugin_android_lifecycle"]},{"name":"image_picker_for_web","dependencies":[]},{"name":"image_picker_ios","dependencies":[]},{"name":"image_picker_linux","dependencies":["file_selector_linux"]},{"name":"image_picker_macos","dependencies":["file_selector_macos"]},{"name":"image_picker_windows","dependencies":["file_selector_windows"]}],"date_created":"2023-11-04 16:04:34.703542","version":"3.13.9"}
{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"file_picker","path":"/Users/kishor/.pub-cache/hosted/pub.dev/file_picker-6.1.1/","native_build":true,"dependencies":[]},{"name":"image_picker_ios","path":"/Users/kishor/.pub-cache/hosted/pub.dev/image_picker_ios-0.8.8/","native_build":true,"dependencies":[]}],"android":[{"name":"file_picker","path":"/Users/kishor/.pub-cache/hosted/pub.dev/file_picker-6.1.1/","native_build":true,"dependencies":["flutter_plugin_android_lifecycle"]},{"name":"flutter_plugin_android_lifecycle","path":"/Users/kishor/.pub-cache/hosted/pub.dev/flutter_plugin_android_lifecycle-2.0.15/","native_build":true,"dependencies":[]},{"name":"image_picker_android","path":"/Users/kishor/.pub-cache/hosted/pub.dev/image_picker_android-0.8.7+4/","native_build":true,"dependencies":["flutter_plugin_android_lifecycle"]}],"macos":[{"name":"file_selector_macos","path":"/Users/kishor/.pub-cache/hosted/pub.dev/file_selector_macos-0.9.3+1/","native_build":true,"dependencies":[]},{"name":"image_picker_macos","path":"/Users/kishor/.pub-cache/hosted/pub.dev/image_picker_macos-0.2.1/","native_build":false,"dependencies":["file_selector_macos"]}],"linux":[{"name":"file_selector_linux","path":"/Users/kishor/.pub-cache/hosted/pub.dev/file_selector_linux-0.9.2/","native_build":true,"dependencies":[]},{"name":"image_picker_linux","path":"/Users/kishor/.pub-cache/hosted/pub.dev/image_picker_linux-0.2.1/","native_build":false,"dependencies":["file_selector_linux"]}],"windows":[{"name":"file_selector_windows","path":"/Users/kishor/.pub-cache/hosted/pub.dev/file_selector_windows-0.9.3/","native_build":true,"dependencies":[]},{"name":"image_picker_windows","path":"/Users/kishor/.pub-cache/hosted/pub.dev/image_picker_windows-0.2.1/","native_build":false,"dependencies":["file_selector_windows"]}],"web":[{"name":"file_picker","path":"/Users/kishor/.pub-cache/hosted/pub.dev/file_picker-6.1.1/","dependencies":[]},{"name":"image_picker_for_web","path":"/Users/kishor/.pub-cache/hosted/pub.dev/image_picker_for_web-3.0.0/","dependencies":[]}]},"dependencyGraph":[{"name":"file_picker","dependencies":["flutter_plugin_android_lifecycle"]},{"name":"file_selector_linux","dependencies":[]},{"name":"file_selector_macos","dependencies":[]},{"name":"file_selector_windows","dependencies":[]},{"name":"flutter_plugin_android_lifecycle","dependencies":[]},{"name":"image_picker","dependencies":["image_picker_android","image_picker_for_web","image_picker_ios","image_picker_linux","image_picker_macos","image_picker_windows"]},{"name":"image_picker_android","dependencies":["flutter_plugin_android_lifecycle"]},{"name":"image_picker_for_web","dependencies":[]},{"name":"image_picker_ios","dependencies":[]},{"name":"image_picker_linux","dependencies":["file_selector_linux"]},{"name":"image_picker_macos","dependencies":["file_selector_macos"]},{"name":"image_picker_windows","dependencies":["file_selector_windows"]}],"date_created":"2023-11-09 08:14:01.391896","version":"3.13.9"}
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
# 2.1.2
- added `LoggerMixin`
- added `isCsv` extension on String and file

# 2.1.1
- added `TagsInputField` widget
- added `uuid` helper class
Expand Down
9 changes: 8 additions & 1 deletion lib/src/extensions/file_extension.dart
Original file line number Diff line number Diff line change
Expand Up @@ -77,8 +77,15 @@ extension FileExtensionX on File {
return mimeType?.startsWith('image/svg+xml') ?? extension.isSvg;
}

/// check whether file is csv
bool get isCsv {
return mimeType?.startsWith('text/csv') ??
mimeType?.startsWith('text/comma-separated-values') ??
extension.isCsv;
}

/// checks whether given file is docx,pdf,xls,ppt or txt
bool get isFile => isDocx || isPdf || isXls || isPpt || isTxt;
bool get isFile => isDocx || isPdf || isXls || isPpt || isTxt || isCsv;

/// get file size in mb
double get sizeInMb {
Expand Down
10 changes: 10 additions & 0 deletions lib/src/extensions/string_extension.dart
Original file line number Diff line number Diff line change
Expand Up @@ -254,6 +254,15 @@ extension StringX on String {
return ext == '.svg';
}

/// checks whether string is csv
bool get isCsv {
final ext = extension(this);
if (ext.isBlank) {
return false;
}
return ext == '.csv';
}

/// checks whether string is xml
bool get isXml {
final ext = extension(this);
Expand Down Expand Up @@ -297,6 +306,7 @@ final _xlsTypes = ['.xls', '.xlsx'];
final _txtTypes = ['.txt', '.rtf'];

/// use to convert string into different cases
///
class _ReCase {
final RegExp _upperAlphaRegex = RegExp(r'[A-Z]');

Expand Down
27 changes: 25 additions & 2 deletions lib/src/logger/logger.dart
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import 'package:logger/logger.dart';
export 'package:logger/logger.dart';

final logger = Logger(
printer: PrettyPrinter(
printer: PrefixPrinter(PrettyPrinter(
methodCount: 3,
// number of method calls to be displayed
errorMethodCount: 8,
Expand All @@ -28,5 +28,28 @@ final logger = Logger(
Level.error: '🚨',
Level.fatal: '🤷‍♂️',
},
),
)),
);

mixin LoggerMixin {
/// Log a message at level [Level.info].
void logInfo(dynamic message) => logger.i(message);

/// Log a message at level [Level.error].
void logError(
dynamic message, {
Object? error,
StackTrace? stackTrace,
}) =>
logger.e(
message,
error: error,
stackTrace: stackTrace,
);

/// Log a message at level [Level.warning].
void logWarning(dynamic message) => logger.w(message);

/// Log a message at level [Level.debug].
void logDebug(dynamic message) => logger.d(message);
}
16 changes: 8 additions & 8 deletions pubspec.lock
Original file line number Diff line number Diff line change
Expand Up @@ -205,10 +205,10 @@ packages:
dependency: "direct main"
description:
name: file_picker
sha256: "903dd4ba13eae7cef64acc480e91bf54c3ddd23b5b90b639c170f3911e489620"
sha256: "4e42aacde3b993c5947467ab640882c56947d9d27342a5b6f2895b23956954a6"
url: "https://pub.dev"
source: hosted
version: "6.0.0"
version: "6.1.1"
file_selector_linux:
dependency: transitive
description:
Expand Down Expand Up @@ -258,10 +258,10 @@ packages:
dependency: "direct dev"
description:
name: flutter_lints
sha256: ad76540d21c066228ee3f9d1dad64a9f7e46530e8bb7c85011a88bc1fd874bc5
sha256: e2a421b7e59244faef694ba7b30562e489c2b489866e505074eb005cd7060db7
url: "https://pub.dev"
source: hosted
version: "3.0.0"
version: "3.0.1"
flutter_plugin_android_lifecycle:
dependency: transitive
description:
Expand All @@ -274,10 +274,10 @@ packages:
dependency: "direct main"
description:
name: flutter_svg
sha256: bfc7cc3c75fe1282e8ce2e056d8fd1533f1a6848b65c379b4a5e7a9b623d3371
sha256: d39e7f95621fc84376bc0f7d504f05c3a41488c562f4a8ad410569127507402c
url: "https://pub.dev"
source: hosted
version: "2.0.8"
version: "2.0.9"
flutter_web_plugins:
dependency: transitive
description: flutter
Expand Down Expand Up @@ -692,10 +692,10 @@ packages:
dependency: "direct main"
description:
name: uuid
sha256: b715b8d3858b6fa9f68f87d20d98830283628014750c2b09b6f516c1da4af2a7
sha256: df5a4d8f22ee4ccd77f8839ac7cb274ebc11ef9adcce8b92be14b797fe889921
url: "https://pub.dev"
source: hosted
version: "4.1.0"
version: "4.2.1"
vector_graphics:
dependency: transitive
description:
Expand Down
12 changes: 6 additions & 6 deletions pubspec.yaml
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
name: fp_util
description: Utilities and Extensions for num,BuildContext,EdgeInsets,File,String. constants for horizontal and vertical spacing.
version: 2.1.1
version: 2.1.2
homepage: https://mkcli.kishormainali.com/
repository: https://github.com/kishormainali/fp_util
topics: ['flutter', 'dart', 'utility', 'extensions', 'spacing', 'constants', 'num', 'buildcontext', 'edgeinsets', 'file', 'string','tags_input_field']
topics: ['flutter','utility', 'extensions', 'spacing','tagsinputfield']

environment:
sdk: ">=3.0.0 <4.0.0"
Expand All @@ -18,10 +18,10 @@ dependencies:
image_picker: ">=1.0.0 <2.0.0"

# file picker
file_picker: ^6.0.0
file_picker: ^6.1.1

# svg
flutter_svg: ^2.0.8
flutter_svg: ^2.0.9

freezed_annotation: ^2.4.1

Expand All @@ -35,11 +35,11 @@ dependencies:

gap: ^3.0.1

uuid: ^4.1.0
uuid: ^4.2.1


dev_dependencies:
flutter_lints: ^3.0.0
flutter_lints: ^3.0.1
freezed: ^2.4.5
build_runner: ">=2.4.0 <=3.0.0"

Expand Down

0 comments on commit b761de5

Please sign in to comment.