Commit fd270b9
Changed files (4)
app
app/lib/model/export_import/csv_converter.dart
@@ -115,7 +115,7 @@ class CsvConverter {
final List<(RowDataFieldType, dynamic)> recordPieces = [];
for (int fieldIndex = 0; fieldIndex < parsers.length; fieldIndex++) {
final parser = parsers[fieldIndex];
- final piece = parser?.decode(currentLine[fieldIndex]);
+ (RowDataFieldType, dynamic)? piece = parser?.decode(currentLine[fieldIndex]);
// Validate that the column parsed the expected type.
// Null can be the result of empty fields.
if (piece?.$1 != parser?.restoreAbleType
@@ -137,11 +137,20 @@ class CsvConverter {
(piece) => piece.$1 == RowDataFieldType.dia,)?.$2;
final int? pul = recordPieces.firstWhereOrNull(
(piece) => piece.$1 == RowDataFieldType.pul,)?.$2;
- final String note = recordPieces.firstWhereOrNull(
+ String note = recordPieces.firstWhereOrNull(
(piece) => piece.$1 == RowDataFieldType.notes,)?.$2 ?? '';
final MeasurementNeedlePin? needlePin = recordPieces.firstWhereOrNull(
(piece) => piece.$1 == RowDataFieldType.needlePin,)?.$2;
+ // manually trim quotes after https://pub.dev/packages/csv/changelog#600
+ note = note.trim();
+ if (note.endsWith('"')) {
+ note = note.substring(0, note.length - 1);
+ }
+ if (note.startsWith('"')) {
+ note = note.substring(1, note.length);
+ }
+
records.add(BloodPressureRecord(timestamp, sys, dia, pul, note, needlePin: needlePin));
currentLineNumber++;
}
app/analysis_options.yaml
@@ -8,8 +8,7 @@ linter:
- always_use_package_imports
- avoid_slow_async_io
- comment_references
- - no_wildcard_variable_uses
- - prefer_void_to_null
+ # - no_wildcard_variable_uses TODO: add equivalent https://pub.dev/packages/flutter_lints/changelog#300
# Style:
- always_declare_return_types
app/pubspec.lock
@@ -21,18 +21,18 @@ packages:
dependency: transitive
description:
name: archive
- sha256: "22600aa1e926be775fa5fe7e6894e7fb3df9efda8891c73f70fb3262399a432d"
+ sha256: "0763b45fa9294197a2885c8567927e2830ade852e5c896fd4ab7e0e348d0f373"
url: "https://pub.dev"
source: hosted
- version: "3.4.10"
+ version: "3.5.0"
args:
dependency: transitive
description:
name: args
- sha256: eef6c46b622e0494a36c5a12d10d77fb4e855501a91c1b9ef9339326e58f0596
+ sha256: "7cf60b9f0cc88203c5a190b4cd62a99feea42759a7fa695010eb5de1c0b2252a"
url: "https://pub.dev"
source: hosted
- version: "2.4.2"
+ version: "2.5.0"
async:
dependency: transitive
description:
@@ -45,10 +45,10 @@ packages:
dependency: transitive
description:
name: barcode
- sha256: "91b143666f7bb13636f716b6d4e412e372ab15ff7969799af8c9e30a382e9385"
+ sha256: ab180ce22c6555d77d45f0178a523669db67f95856e3378259ef2ffeb43e6003
url: "https://pub.dev"
source: hosted
- version: "2.2.6"
+ version: "2.2.8"
bidi:
dependency: transitive
description:
@@ -85,10 +85,10 @@ packages:
dependency: transitive
description:
name: built_value
- sha256: fedde275e0a6b798c3296963c5cd224e3e1b55d0e478d5b7e65e6b540f363a0e
+ sha256: c7913a9737ee4007efedaffc968c049fd0f3d0e49109e778edc10de9426005cb
url: "https://pub.dev"
source: hosted
- version: "8.9.1"
+ version: "8.9.2"
characters:
dependency: transitive
description:
@@ -137,6 +137,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "3.1.1"
+ cross_file:
+ dependency: transitive
+ description:
+ name: cross_file
+ sha256: "55d7b444feb71301ef6b8838dbc1ae02e63dd48c8773f3810ff53bb1e2945b32"
+ url: "https://pub.dev"
+ source: hosted
+ version: "0.3.4+1"
crypto:
dependency: transitive
description:
@@ -149,10 +157,10 @@ packages:
dependency: "direct main"
description:
name: csv
- sha256: "63ed2871dd6471193dffc52c0e6c76fb86269c00244d244297abbb355c84a86e"
+ sha256: c6aa2679b2a18cb57652920f674488d89712efaf4d3fdf2e537215b35fc19d6c
url: "https://pub.dev"
source: hosted
- version: "5.1.1"
+ version: "6.0.0"
dart_style:
dependency: transitive
description:
@@ -197,10 +205,10 @@ packages:
dependency: "direct main"
description:
name: file_picker
- sha256: be325344c1f3070354a1d84a231a1ba75ea85d413774ec4bdf444c023342e030
+ sha256: "29c90806ac5f5fb896547720b73b17ee9aed9bba540dc5d91fe29f8c5745b10a"
url: "https://pub.dev"
source: hosted
- version: "5.5.0"
+ version: "8.0.3"
fixnum:
dependency: transitive
description:
@@ -213,10 +221,10 @@ packages:
dependency: "direct main"
description:
name: fl_chart
- sha256: c1e26c7e48496be85104c16c040950b0436674cdf0737f3f6e95511b2529b592
+ sha256: "2b7c1f5d867da9a054661641c8f499c55c47c39acccb97b3bc673f5fa9a39e74"
url: "https://pub.dev"
source: hosted
- version: "0.63.0"
+ version: "0.67.0"
flutter:
dependency: "direct main"
description: flutter
@@ -226,10 +234,10 @@ packages:
dependency: "direct dev"
description:
name: flutter_lints
- sha256: a25a15ebbdfc33ab1cd26c63a6ee519df92338a9c10f122adda92938253bef04
+ sha256: "9e8c3858111da373efc5aa341de011d9bd23e2c5c5e0c62bccf32438e192d7b1"
url: "https://pub.dev"
source: hosted
- version: "2.0.3"
+ version: "3.0.2"
flutter_localizations:
dependency: "direct main"
description: flutter
@@ -239,18 +247,18 @@ packages:
dependency: "direct main"
description:
name: flutter_markdown
- sha256: cb44f7831b23a6bdd0f501718b0d2e8045cbc625a15f668af37ddb80314821db
+ sha256: "9921f9deda326f8a885e202b1e35237eadfc1345239a0f6f0f1ff287e047547f"
url: "https://pub.dev"
source: hosted
- version: "0.6.21"
+ version: "0.7.1"
flutter_plugin_android_lifecycle:
dependency: transitive
description:
name: flutter_plugin_android_lifecycle
- sha256: b068ffc46f82a55844acfa4fdbb61fad72fa2aef0905548419d97f0f95c456da
+ sha256: "8cf40eebf5dec866a6d1956ad7b4f7016e6c0cc69847ab946833b7d43743809f"
url: "https://pub.dev"
source: hosted
- version: "2.0.17"
+ version: "2.0.19"
flutter_test:
dependency: "direct dev"
description: flutter
@@ -265,10 +273,10 @@ packages:
dependency: "direct main"
description:
name: fluttertoast
- sha256: dfdde255317af381bfc1c486ed968d5a43a2ded9c931e87cbecd88767d6a71c1
+ sha256: "81b68579e23fcbcada2db3d50302813d2371664afe6165bc78148050ab94bf66"
url: "https://pub.dev"
source: hosted
- version: "8.2.4"
+ version: "8.2.5"
freezed_annotation:
dependency: transitive
description:
@@ -336,10 +344,10 @@ packages:
dependency: transitive
description:
name: js
- sha256: f2c445dce49627136094980615a031419f7f3eb393237e4ecd97ac15dea343f3
+ sha256: c1b2e9b5ea78c45e1a0788d29606ba27dc5f71f019f32ca5140f61ef071838cf
url: "https://pub.dev"
source: hosted
- version: "0.6.7"
+ version: "0.7.1"
jsaver:
dependency: "direct main"
description:
@@ -384,10 +392,10 @@ packages:
dependency: transitive
description:
name: lints
- sha256: "0a217c6c989d21039f1498c3ed9f3ed71b354e69873f13a8dfc3c9fe76f1b452"
+ sha256: cbf8d4b858bb0134ef3ef87841abdf8d63bfc255c266b7bf6b39daa1085c4290
url: "https://pub.dev"
source: hosted
- version: "2.1.1"
+ version: "3.0.0"
logging:
dependency: transitive
description:
@@ -456,18 +464,18 @@ packages:
dependency: "direct main"
description:
name: package_info_plus
- sha256: "7e76fad405b3e4016cd39d08f455a4eb5199723cf594cd1b8916d47140d93017"
+ sha256: b93d8b4d624b4ea19b0a5a208b2d6eff06004bc3ce74c06040b120eeadd00ce0
url: "https://pub.dev"
source: hosted
- version: "4.2.0"
+ version: "8.0.0"
package_info_plus_platform_interface:
dependency: transitive
description:
name: package_info_plus_platform_interface
- sha256: "9bc8ba46813a4cc42c66ab781470711781940780fd8beddd0c3da62506d3a6c6"
+ sha256: f49918f3433a3146047372f9d4f1f847511f2acd5cd030e1f44fe5a50036b70e
url: "https://pub.dev"
source: hosted
- version: "2.0.1"
+ version: "3.0.0"
path:
dependency: "direct main"
description:
@@ -540,14 +548,6 @@ packages:
url: "https://pub.dev"
source: hosted
version: "2.1.8"
- pointycastle:
- dependency: transitive
- description:
- name: pointycastle
- sha256: "43ac87de6e10afabc85c445745a7b799e04de84cebaa4fd7bf55a5e1e9604d29"
- url: "https://pub.dev"
- source: hosted
- version: "3.7.4"
provider:
dependency: "direct main"
description:
@@ -584,18 +584,18 @@ packages:
dependency: "direct main"
description:
name: shared_preferences
- sha256: "81429e4481e1ccfb51ede496e916348668fd0921627779233bd24cc3ff6abd02"
+ sha256: d3bbe5553a986e83980916ded2f0b435ef2e1893dfaa29d5a7a790d0eca12180
url: "https://pub.dev"
source: hosted
- version: "2.2.2"
+ version: "2.2.3"
shared_preferences_android:
dependency: transitive
description:
name: shared_preferences_android
- sha256: "8568a389334b6e83415b6aae55378e158fbc2314e074983362d20c562780fb06"
+ sha256: "1ee8bf911094a1b592de7ab29add6f826a7331fb854273d55918693d5364a1f2"
url: "https://pub.dev"
source: hosted
- version: "2.2.1"
+ version: "2.2.2"
shared_preferences_foundation:
dependency: transitive
description:
@@ -661,42 +661,42 @@ packages:
dependency: "direct main"
description:
name: sqflite
- sha256: a9016f495c927cb90557c909ff26a6d92d9bd54fc42ba92e19d4e79d61e798c6
+ sha256: "5ce2e1a15e822c3b4bfb5400455775e421da7098eed8adc8f26298ada7c9308c"
url: "https://pub.dev"
source: hosted
- version: "2.3.2"
+ version: "2.3.3"
sqflite_common:
dependency: transitive
description:
name: sqflite_common
- sha256: "28d8c66baee4968519fb8bd6cdbedad982d6e53359091f0b74544a9f32ec72d5"
+ sha256: "3da423ce7baf868be70e2c0976c28a1bb2f73644268b7ffa7d2e08eab71f16a4"
url: "https://pub.dev"
source: hosted
- version: "2.5.3"
+ version: "2.5.4"
sqflite_common_ffi:
dependency: "direct dev"
description:
name: sqflite_common_ffi
- sha256: "754927d82de369a6b9e760fb60640aa81da650f35ffd468d5a992814d6022908"
+ sha256: "4d6137c29e930d6e4a8ff373989dd9de7bac12e3bc87bce950f6e844e8ad3bb5"
url: "https://pub.dev"
source: hosted
- version: "2.3.2+1"
+ version: "2.3.3"
sqlite3:
dependency: transitive
description:
name: sqlite3
- sha256: "072128763f1547e3e9b4735ce846bfd226d68019ccda54db4cd427b12dfdedc9"
+ sha256: "1abbeb84bf2b1a10e5e1138c913123c8aa9d83cd64e5f9a0dd847b3c83063202"
url: "https://pub.dev"
source: hosted
- version: "2.4.0"
+ version: "2.4.2"
sqlparser:
dependency: "direct main"
description:
name: sqlparser
- sha256: "7b20045d1ccfb7bc1df7e8f9fee5ae58673fce6ff62cefbb0e0fd7214e90e5a0"
+ sha256: ce244c25100319b3fe1a7774c091f89faf3101adb73d75f1297e56d247f66b2b
url: "https://pub.dev"
source: hosted
- version: "0.34.1"
+ version: "0.35.1"
stack_trace:
dependency: transitive
description:
@@ -765,18 +765,18 @@ packages:
dependency: "direct main"
description:
name: url_launcher
- sha256: "0ecc004c62fd3ed36a2ffcbe0dd9700aee63bd7532d0b642a488b1ec310f492e"
+ sha256: "6ce1e04375be4eed30548f10a315826fd933c1e493206eab82eed01f438c8d2e"
url: "https://pub.dev"
source: hosted
- version: "6.2.5"
+ version: "6.2.6"
url_launcher_android:
dependency: transitive
description:
name: url_launcher_android
- sha256: d4ed0711849dd8e33eb2dd69c25db0d0d3fdc37e0a62e629fe32f57a22db2745
+ sha256: "360a6ed2027f18b73c8d98e159dda67a61b7f2e0f6ec26e86c3ada33b0621775"
url: "https://pub.dev"
source: hosted
- version: "6.3.0"
+ version: "6.3.1"
url_launcher_ios:
dependency: transitive
description:
@@ -813,10 +813,10 @@ packages:
dependency: transitive
description:
name: url_launcher_web
- sha256: "3692a459204a33e04bc94f5fb91158faf4f2c8903281ddd82915adecdb1a901d"
+ sha256: "8d9e750d8c9338601e709cd0885f95825086bd8b642547f26bda435aade95d8a"
url: "https://pub.dev"
source: hosted
- version: "2.3.0"
+ version: "2.3.1"
url_launcher_windows:
dependency: transitive
description:
@@ -861,10 +861,10 @@ packages:
dependency: transitive
description:
name: win32
- sha256: "8cb58b45c47dcb42ab3651533626161d6b67a2921917d8d429791f76972b3480"
+ sha256: "0eaf06e3446824099858367950a813472af675116bf63f008a4c2a75ae13e9cb"
url: "https://pub.dev"
source: hosted
- version: "5.3.0"
+ version: "5.5.0"
xdg_directories:
dependency: transitive
description:
app/pubspec.yaml
@@ -8,29 +8,29 @@ environment:
sdk: '>=3.0.2 <4.0.0'
dependencies:
- csv: ^5.0.2
+ csv: ^6.0.0
collection: ^1.17.1
intl: any
flutter:
sdk: flutter
flutter_localizations:
sdk: flutter
- flutter_markdown: ^0.6.17
- fl_chart: ^0.63.0
+ flutter_markdown: ^0.7.1
+ fl_chart: ^0.67.0
function_tree: ^0.9.0
provider: ^6.0.0
path:
pdf: ^3.10.4
- package_info_plus: ^4.0.2
+ package_info_plus: ^8.0.0
sqflite:
shared_preferences: ^2.1.1
url_launcher: ^6.1.11
health_data_store:
path: ../health_data_store/
- sqlparser: ^0.34.1
+ sqlparser: ^0.35.1
# can become one custom dependency
- file_picker: ^5.2.11 # MIT
+ file_picker: ^8.0.3 # MIT
jsaver: ^1.2.0
restart_app: ^1.2.1
fluttertoast: ^8.2.4
@@ -39,7 +39,7 @@ dev_dependencies:
file: any
flutter_test:
sdk: flutter
- flutter_lints: ^2.0.0
+ flutter_lints: ^3.0.2
mockito: ^5.4.1
sqflite_common_ffi: ^2.3.0
translations_cleaner: ^0.0.5