Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added null safety, updated dependencies #26

Merged
merged 1 commit into from
Mar 20, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions lib/src/csv_asset_loader.dart
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
import 'dart:developer';
import 'dart:ui';

import 'package:csv/csv.dart';
import 'package:flutter/services.dart';

import 'asset_loader.dart';
import 'package:csv/csv.dart';

//
// load example/resources/langs/langs.csv
//
class CsvAssetLoader extends AssetLoader {
CSVParser csvParser;
CSVParser? csvParser;

@override
Future<Map<String, dynamic>> load(String path, Locale locale) async {
Expand All @@ -20,7 +20,7 @@ class CsvAssetLoader extends AssetLoader {
} else {
log('easy localization loader: CSV parser already loaded, read cache');
}
return csvParser.getLanguageMap(locale.toString());
return csvParser!.getLanguageMap(locale.toString());
}
}

Expand Down
6 changes: 4 additions & 2 deletions lib/src/http_asset_loader.dart
Original file line number Diff line number Diff line change
Expand Up @@ -6,16 +6,18 @@ import 'dart:convert';
import 'dart:developer';
import 'dart:ui';

import 'asset_loader.dart';
import 'package:http/http.dart' as http;

import 'asset_loader.dart';

class HttpAssetLoader extends AssetLoader {
@override
Future<Map<String, dynamic>> load(String path, Locale locale) async {
log('easy localization loader: load http $path');
try {
var url = Uri.parse(path);
return http
.get(path)
.get(url)
.then((response) => json.decode(response.body.toString()));
} catch (e) {
//Catch network exceptions
Expand Down
20 changes: 11 additions & 9 deletions lib/src/xml_asset_loader.dart
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import 'dart:developer';
import 'dart:ui';

import 'package:flutter/services.dart';
import 'package:xml/xml.dart' as xml;
import 'package:xml/xml.dart';

import 'asset_loader.dart';

Expand All @@ -16,36 +16,38 @@ class XmlAssetLoader extends AssetLoader {
Future<Map<String, dynamic>> load(String path, Locale locale) async {
var localePath = getLocalePath(path, locale);
log('easy localization loader: load xml file $localePath');
var doc = xml.parse(await rootBundle.loadString(localePath));
var doc = XmlDocument.parse(await rootBundle.loadString(localePath));
doc.normalize();
return convertXmlNodeToMap(doc.lastChild);
assert(doc.lastChild != null, 'The XML file does not contain any node');
return convertXmlNodeToMap(doc.lastChild!);
}
}

//Loader for single xml file
class XmlSingleAssetLoader extends AssetLoader {
Map xmlData;
Map? xmlData;

@override
Future<Map<String, dynamic>> load(String path, Locale locale) async {
if (xmlData == null) {
log('easy localization loader: load xml file $path');
var doc = xml.parse(await rootBundle.loadString(path));
var doc = XmlDocument.parse(await rootBundle.loadString(path));
doc.normalize();
xmlData = convertXmlNodeToMap(doc.lastChild);
assert(doc.lastChild != null, 'The XML file does not contain any node');
xmlData = convertXmlNodeToMap(doc.lastChild!);
} else {
log('easy localization loader: Xml already loaded, read cache');
}
return xmlData[locale.toString()];
return xmlData![locale.toString()];
}
}

/// Convert xmlNode to Map
Map<String, dynamic> convertXmlNodeToMap(xml.XmlNode xmlNode) {
Map<String, dynamic> convertXmlNodeToMap(XmlNode xmlNode) {
final map = <String, dynamic>{};

for (final entry in xmlNode.children) {
if (entry is xml.XmlElement) {
if (entry is XmlElement) {
switch (entry.children.length) {
case 1:
map[entry.name.toString()] = entry.text;
Expand Down
4 changes: 2 additions & 2 deletions lib/src/yaml_asset_loader.dart
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ class YamlAssetLoader extends AssetLoader {

//Loader for single yaml file
class YamlSingleAssetLoader extends AssetLoader {
Map yamlData;
Map? yamlData;

@override
Future<Map<String, dynamic>> load(String path, Locale locale) async {
Expand All @@ -34,7 +34,7 @@ class YamlSingleAssetLoader extends AssetLoader {
} else {
log('easy localization loader: Yaml already loaded, read cache');
}
return yamlData[locale.toString()];
return yamlData![locale.toString()];
}
}

Expand Down
108 changes: 47 additions & 61 deletions pubspec.lock
Original file line number Diff line number Diff line change
@@ -1,69 +1,62 @@
# Generated by pub
# See https://dart.dev/tools/pub/glossary#lockfile
packages:
archive:
dependency: transitive
description:
name: archive
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.13"
args:
dependency: transitive
description:
name: args
url: "https://pub.dartlang.org"
source: hosted
version: "1.6.0"
async:
dependency: transitive
description:
name: async
url: "https://pub.dartlang.org"
source: hosted
version: "2.4.1"
version: "2.5.0"
boolean_selector:
dependency: transitive
description:
name: boolean_selector
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.0"
charcode:
version: "2.1.0"
characters:
dependency: transitive
description:
name: charcode
name: characters
url: "https://pub.dartlang.org"
source: hosted
version: "1.1.3"
collection:
version: "1.1.0"
charcode:
dependency: transitive
description:
name: collection
name: charcode
url: "https://pub.dartlang.org"
source: hosted
version: "1.14.12"
convert:
version: "1.2.0"
clock:
dependency: transitive
description:
name: convert
name: clock
url: "https://pub.dartlang.org"
source: hosted
version: "2.1.1"
crypto:
version: "1.1.0"
collection:
dependency: transitive
description:
name: crypto
name: collection
url: "https://pub.dartlang.org"
source: hosted
version: "2.1.4"
version: "1.15.0"
csv:
dependency: "direct main"
description:
name: csv
url: "https://pub.dartlang.org"
source: hosted
version: "4.0.3"
version: "5.0.0"
fake_async:
dependency: transitive
description:
name: fake_async
url: "https://pub.dartlang.org"
source: hosted
version: "1.2.0"
flutter:
dependency: "direct main"
description: flutter
Expand All @@ -80,63 +73,49 @@ packages:
name: http
url: "https://pub.dartlang.org"
source: hosted
version: "0.12.0+4"
version: "0.13.1"
http_parser:
dependency: transitive
description:
name: http_parser
url: "https://pub.dartlang.org"
source: hosted
version: "3.1.4"
image:
dependency: transitive
description:
name: image
url: "https://pub.dartlang.org"
source: hosted
version: "2.1.12"
version: "4.0.0"
matcher:
dependency: transitive
description:
name: matcher
url: "https://pub.dartlang.org"
source: hosted
version: "0.12.6"
version: "0.12.10"
meta:
dependency: transitive
description:
name: meta
url: "https://pub.dartlang.org"
source: hosted
version: "1.1.8"
version: "1.3.0"
path:
dependency: transitive
description:
name: path
url: "https://pub.dartlang.org"
source: hosted
version: "1.6.4"
version: "1.8.0"
pedantic:
dependency: "direct dev"
description:
name: pedantic
url: "https://pub.dartlang.org"
source: hosted
version: "1.9.0"
version: "1.11.0"
petitparser:
dependency: transitive
description:
name: petitparser
url: "https://pub.dartlang.org"
source: hosted
version: "2.4.0"
quiver:
dependency: transitive
description:
name: quiver
url: "https://pub.dartlang.org"
source: hosted
version: "2.1.3"
version: "4.0.2"
sky_engine:
dependency: transitive
description: flutter
Expand All @@ -148,62 +127,69 @@ packages:
name: source_span
url: "https://pub.dartlang.org"
source: hosted
version: "1.7.0"
version: "1.8.0"
stack_trace:
dependency: transitive
description:
name: stack_trace
url: "https://pub.dartlang.org"
source: hosted
version: "1.9.3"
version: "1.10.0"
stream_channel:
dependency: transitive
description:
name: stream_channel
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.0"
version: "2.1.0"
string_scanner:
dependency: transitive
description:
name: string_scanner
url: "https://pub.dartlang.org"
source: hosted
version: "1.0.5"
version: "1.1.0"
term_glyph:
dependency: transitive
description:
name: term_glyph
url: "https://pub.dartlang.org"
source: hosted
version: "1.1.0"
version: "1.2.0"
test_api:
dependency: transitive
description:
name: test_api
url: "https://pub.dartlang.org"
source: hosted
version: "0.2.15"
version: "0.2.19"
typed_data:
dependency: transitive
description:
name: typed_data
url: "https://pub.dartlang.org"
source: hosted
version: "1.1.6"
version: "1.3.0"
vector_math:
dependency: transitive
description:
name: vector_math
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.8"
version: "2.1.0"
xml:
dependency: transitive
dependency: "direct main"
description:
name: xml
url: "https://pub.dartlang.org"
source: hosted
version: "3.6.1"
version: "5.0.2"
yaml:
dependency: "direct main"
description:
name: yaml
url: "https://pub.dartlang.org"
source: hosted
version: "3.1.0"
sdks:
dart: ">=2.7.0 <3.0.0"
dart: ">=2.12.0 <3.0.0"
14 changes: 7 additions & 7 deletions pubspec.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,21 +4,21 @@ description: Easy Localization Loader custom assets loaders for easy_localizatio
homepage: https://github.com/aissat/easy_localization_loader
issue_tracker: https://github.com/aissat/easy_localization_loader/issues

version: 0.0.2
version: 1.0.0

environment:
sdk: ">=2.7.0 <3.0.0"
sdk: '>=2.12.0-0 <3.0.0'

dependencies:
http: ^0.12.0+2
csv: ^4.0.3
yaml: ^2.2.0
xml: ^3.5.0
http: ^0.13.1
csv: ^5.0.0
yaml: ^3.1.0
xml: ^5.0.2
flutter:
sdk: flutter

dev_dependencies:
pedantic: ^1.8.0+1
pedantic: ^1.11.0
flutter_test:
sdk: flutter