added extension functions

This commit is contained in:
Schnitzel5 2024-12-20 00:22:18 +01:00
parent 62f378f5ee
commit 50eff04fe6
10 changed files with 351 additions and 100 deletions

View file

@ -98,6 +98,13 @@ class $MProvider extends MProvider with $Bridge<MProvider> {
BridgeParameter('url',
BridgeTypeAnnotation(BridgeTypeRef(CoreTypes.string)), false),
])),
'getHtmlContent': BridgeMethodDef(BridgeFunctionDef(
returns: BridgeTypeAnnotation(BridgeTypeRef(
CoreTypes.future, [BridgeTypeRef(CoreTypes.string)])),
params: [
BridgeParameter('url',
BridgeTypeAnnotation(BridgeTypeRef(CoreTypes.string)), false),
])),
'getFilterList': BridgeMethodDef(BridgeFunctionDef(
returns: BridgeTypeAnnotation(BridgeTypeRef(
CoreTypes.list, [BridgeTypeRef(CoreTypes.dynamic)])),
@ -1147,6 +1154,10 @@ class $MProvider extends MProvider with $Bridge<MProvider> {
return list.map((e) => (e is $Value ? e.$reified : e) as Video).toList();
}
@override
Future<String> getHtmlContent(String url) async =>
await $_invoke('getHtmlContent', [$String(url)]);
@override
Map<String, String> get headers {
try {

View file

@ -24,6 +24,8 @@ abstract class MProvider {
Future<List<Video>> getVideoList(String url);
Future<String> getHtmlContent(String url);
List<dynamic> getFilterList();
List<dynamic> getSourcePreferences();

View file

@ -102,6 +102,10 @@ class DartExtensionService {
return await _executeLib().getVideoList(url);
}
Future<String> getHtmlContent(String url) async {
return await _executeLib().getHtmlContent(url);
}
List<dynamic> getFilterList() {
return _executeLib()
.getFilterList()

View file

@ -143,6 +143,14 @@ var extention = new DefaultExtension();
.toList();
}
Future<String> getHtmlContent(String url) async {
_init();
final res = (await runtime.handlePromise(await runtime.evaluateAsync(
'jsonStringify(() => extention.getHtmlContent(`$url`))')))
.stringResult;
return res;
}
dynamic getFilterList() {
_init();
try {

View file

@ -46,7 +46,8 @@ class _CodeEditorState extends ConsumerState<CodeEditor> {
("search", 2),
("getDetail", 3),
("getPageList", 4),
("getVideoList", 5)
("getVideoList", 5),
("getHtmlContent", 6)
];
int _serviceIndex = 0;
@ -204,7 +205,8 @@ class _CodeEditorState extends ConsumerState<CodeEditor> {
}),
if (_serviceIndex == 3 ||
_serviceIndex == 4 ||
_serviceIndex == 5)
_serviceIndex == 5 ||
_serviceIndex == 6)
_textEditing("Url", context, "ex: url of the entry",
(v) {
_url = v;
@ -278,7 +280,7 @@ class _CodeEditorState extends ConsumerState<CodeEditor> {
.toList();
}
result = {"pages": result};
} else {
} else if (_serviceIndex == 5) {
if (source!.sourceCodeLanguage ==
SourceCodeLanguage.dart) {
result =
@ -294,6 +296,18 @@ class _CodeEditorState extends ConsumerState<CodeEditor> {
.map((e) => e.toJson())
.toList();
}
} else {
if (source!.sourceCodeLanguage ==
SourceCodeLanguage.dart) {
result =
(await DartExtensionService(
source)
.getHtmlContent(_url));
} else {
result = (await JsExtensionService(
source)
.getHtmlContent(_url));
}
}
if (mounted) {
setState(() {

View file

@ -277,6 +277,12 @@ class TestSource extends MProvider {
// TODO: implement
}
// For novel html content
@override
Future<String> getHtmlContent(String url) async {
// TODO: implement
}
// For anime episode video list
@override
Future<List<MVideo>> getVideoList(String url) async {
@ -335,6 +341,10 @@ class DefaultExtension extends MProvider {
async getDetail(url) {
throw new Error("getDetail not implemented");
}
// For novel html content
async getHtmlContent(url) {
throw new Error("getHtmlContent not implemented");
}
// For anime episode video list
async getVideoList(url) {
throw new Error("getVideoList not implemented");

View file

@ -11,7 +11,9 @@ import 'package:mangayomi/models/page.dart';
import 'package:mangayomi/modules/anime/widgets/desktop.dart';
import 'package:mangayomi/modules/manga/reader/widgets/btn_chapter_list_dialog.dart';
import 'package:mangayomi/modules/more/settings/reader/providers/reader_state_provider.dart';
import 'package:mangayomi/modules/novel/novel_reader_controller_provider.dart';
import 'package:mangayomi/providers/l10n_providers.dart';
import 'package:mangayomi/services/get_html_content.dart';
import 'package:mangayomi/utils/utils.dart';
import 'package:mangayomi/modules/manga/reader/providers/push_router.dart';
import 'package:mangayomi/services/get_chapter_pages.dart';
@ -33,11 +35,14 @@ class NovelReaderView extends ConsumerWidget {
@override
Widget build(BuildContext context, WidgetRef ref) {
ref.watch(getChapterPagesProvider(
chapter: chapter,
)); // TODO fetch html body content
chapter.manga.loadSync();
final source = getSource(chapter.manga.value!.lang!, chapter.manga.value!.source!);
final htmlContent = ref.watch(getHtmlContentProvider(
source: source!,
url: chapter.url!
));
return NovelWebView(chapter: chapter);
return NovelWebView(chapter: chapter, htmlContent: htmlContent,);
}
}
@ -45,9 +50,11 @@ class NovelWebView extends ConsumerStatefulWidget {
const NovelWebView({
super.key,
required this.chapter,
required this.htmlContent,
});
final Chapter chapter;
final AsyncValue<String> htmlContent;
@override
ConsumerState createState() {
@ -57,8 +64,8 @@ class NovelWebView extends ConsumerStatefulWidget {
class _NovelWebViewState extends ConsumerState<NovelWebView>
with TickerProviderStateMixin {
late final ReaderController _readerController =
ref.read(readerControllerProvider(chapter: chapter).notifier);
late final NovelReaderController _readerController =
ref.read(novelReaderControllerProvider(chapter: chapter).notifier);
bool isDesktop = Platform.isMacOS || Platform.isLinux || Platform.isWindows;
@override
@ -66,7 +73,6 @@ class _NovelWebViewState extends ConsumerState<NovelWebView>
_readerController.setMangaHistoryUpdate();
_readerController.checkAndSyncProgress();
_rebuildDetail.close();
_autoScroll.value = false;
clearGestureDetailsCache();
if (isDesktop) {
setFullScreen(value: false);
@ -77,13 +83,8 @@ class _NovelWebViewState extends ConsumerState<NovelWebView>
super.dispose();
}
late final _autoScroll =
ValueNotifier(_readerController.autoScrollValues().$1);
late Chapter chapter = widget.chapter;
final _failedToLoadImage = ValueNotifier<bool>(false);
final StreamController<double> _rebuildDetail =
StreamController<double>.broadcast();
@override
@ -91,7 +92,6 @@ class _NovelWebViewState extends ConsumerState<NovelWebView>
super.initState();
}
late int pagePreloadAmount = ref.watch(pagePreloadAmountStateProvider);
late bool _isBookmarked = _readerController.getChapterBookmarked();
bool _isView = false;
@ -182,9 +182,11 @@ class _NovelWebViewState extends ConsumerState<NovelWebView>
child: Column(
children: [
Expanded(
child: SingleChildScrollView(
child: widget.htmlContent.when(
data: (htmlContent) => SingleChildScrollView(
physics: const BouncingScrollPhysics(),
child: Html(
data: """""",
data: htmlContent,
style: {
"*": Style(
backgroundColor: Colors.white,
@ -192,7 +194,9 @@ class _NovelWebViewState extends ConsumerState<NovelWebView>
},
shrinkWrap: true,
),
),
),
loading: () => const Center(child: CircularProgressIndicator(),),
error: (err, stack) => Center(child: Text(err.toString()),)),
),
_appBar(),
],

View file

@ -0,0 +1,21 @@
import 'package:mangayomi/eval/dart/service.dart';
import 'package:mangayomi/eval/javascript/service.dart';
import 'package:mangayomi/models/source.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
part 'get_html_content.g.dart';
@riverpod
Future<String> getHtmlContent(
Ref ref, {
required String url,
required Source source,
}) async {
String? html;
if (source.sourceCodeLanguage == SourceCodeLanguage.dart) {
html = await DartExtensionService(source).getHtmlContent(url);
} else {
html = await JsExtensionService(source).getHtmlContent(url);
}
return html;
}

View file

@ -0,0 +1,177 @@
// GENERATED CODE - DO NOT MODIFY BY HAND
part of 'get_html_content.dart';
// **************************************************************************
// RiverpodGenerator
// **************************************************************************
String _$getHtmlContentHash() => r'1d7f76fb0f3b3cc9a5012746ec478269c0f0d5e0';
/// Copied from Dart SDK
class _SystemHash {
_SystemHash._();
static int combine(int hash, int value) {
// ignore: parameter_assignments
hash = 0x1fffffff & (hash + value);
// ignore: parameter_assignments
hash = 0x1fffffff & (hash + ((0x0007ffff & hash) << 10));
return hash ^ (hash >> 6);
}
static int finish(int hash) {
// ignore: parameter_assignments
hash = 0x1fffffff & (hash + ((0x03ffffff & hash) << 3));
// ignore: parameter_assignments
hash = hash ^ (hash >> 11);
return 0x1fffffff & (hash + ((0x00003fff & hash) << 15));
}
}
/// See also [getHtmlContent].
@ProviderFor(getHtmlContent)
const getHtmlContentProvider = GetHtmlContentFamily();
/// See also [getHtmlContent].
class GetHtmlContentFamily extends Family<AsyncValue<String>> {
/// See also [getHtmlContent].
const GetHtmlContentFamily();
/// See also [getHtmlContent].
GetHtmlContentProvider call({
required String url,
required Source source,
}) {
return GetHtmlContentProvider(
url: url,
source: source,
);
}
@override
GetHtmlContentProvider getProviderOverride(
covariant GetHtmlContentProvider provider,
) {
return call(
url: provider.url,
source: provider.source,
);
}
static const Iterable<ProviderOrFamily>? _dependencies = null;
@override
Iterable<ProviderOrFamily>? get dependencies => _dependencies;
static const Iterable<ProviderOrFamily>? _allTransitiveDependencies = null;
@override
Iterable<ProviderOrFamily>? get allTransitiveDependencies =>
_allTransitiveDependencies;
@override
String? get name => r'getHtmlContentProvider';
}
/// See also [getHtmlContent].
class GetHtmlContentProvider extends AutoDisposeFutureProvider<String> {
/// See also [getHtmlContent].
GetHtmlContentProvider({
required String url,
required Source source,
}) : this._internal(
(ref) => getHtmlContent(
ref as GetHtmlContentRef,
url: url,
source: source,
),
from: getHtmlContentProvider,
name: r'getHtmlContentProvider',
debugGetCreateSourceHash:
const bool.fromEnvironment('dart.vm.product')
? null
: _$getHtmlContentHash,
dependencies: GetHtmlContentFamily._dependencies,
allTransitiveDependencies:
GetHtmlContentFamily._allTransitiveDependencies,
url: url,
source: source,
);
GetHtmlContentProvider._internal(
super._createNotifier, {
required super.name,
required super.dependencies,
required super.allTransitiveDependencies,
required super.debugGetCreateSourceHash,
required super.from,
required this.url,
required this.source,
}) : super.internal();
final String url;
final Source source;
@override
Override overrideWith(
FutureOr<String> Function(GetHtmlContentRef provider) create,
) {
return ProviderOverride(
origin: this,
override: GetHtmlContentProvider._internal(
(ref) => create(ref as GetHtmlContentRef),
from: from,
name: null,
dependencies: null,
allTransitiveDependencies: null,
debugGetCreateSourceHash: null,
url: url,
source: source,
),
);
}
@override
AutoDisposeFutureProviderElement<String> createElement() {
return _GetHtmlContentProviderElement(this);
}
@override
bool operator ==(Object other) {
return other is GetHtmlContentProvider &&
other.url == url &&
other.source == source;
}
@override
int get hashCode {
var hash = _SystemHash.combine(0, runtimeType.hashCode);
hash = _SystemHash.combine(hash, url.hashCode);
hash = _SystemHash.combine(hash, source.hashCode);
return _SystemHash.finish(hash);
}
}
@Deprecated('Will be removed in 3.0. Use Ref instead')
// ignore: unused_element
mixin GetHtmlContentRef on AutoDisposeFutureProviderRef<String> {
/// The parameter `url` of this provider.
String get url;
/// The parameter `source` of this provider.
Source get source;
}
class _GetHtmlContentProviderElement
extends AutoDisposeFutureProviderElement<String> with GetHtmlContentRef {
_GetHtmlContentProviderElement(super.provider);
@override
String get url => (origin as GetHtmlContentProvider).url;
@override
Source get source => (origin as GetHtmlContentProvider).source;
}
// ignore_for_file: type=lint
// ignore_for_file: subtype_of_sealed_class, invalid_use_of_internal_member, invalid_use_of_visible_for_testing_member, deprecated_member_use_from_same_package

View file

@ -5,23 +5,23 @@ packages:
dependency: transitive
description:
name: _fe_analyzer_shared
sha256: f256b0c0ba6c7577c15e2e4e114755640a875e885099367bf6e012b19314c834
sha256: "16e298750b6d0af7ce8a3ba7c18c69c3785d11b15ec83f6dcd0ad2a0009b3cab"
url: "https://pub.dev"
source: hosted
version: "72.0.0"
version: "76.0.0"
_macros:
dependency: transitive
description: dart
source: sdk
version: "0.3.2"
version: "0.3.3"
analyzer:
dependency: "direct overridden"
description:
name: analyzer
sha256: b652861553cd3990d8ed361f7979dc6d7053a9ac8843fa73820ab68ce5410139
sha256: "1f14db053a8c23e260789e9b0980fa27f2680dd640932cae5e1137cce0e46e1e"
url: "https://pub.dev"
source: hosted
version: "6.7.0"
version: "6.11.0"
analyzer_plugin:
dependency: transitive
description:
@ -98,10 +98,10 @@ packages:
dependency: transitive
description:
name: build
sha256: "80184af8b6cb3e5c1c4ec6d8544d27711700bc3e6d2efad04238c7b5290889f0"
sha256: cef23f1eda9b57566c81e2133d196f8e3df48f244b317368d65c5943d91148f0
url: "https://pub.dev"
source: hosted
version: "2.4.1"
version: "2.4.2"
build_cli_annotations:
dependency: transitive
description:
@ -114,42 +114,42 @@ packages:
dependency: transitive
description:
name: build_config
sha256: bf80fcfb46a29945b423bd9aad884590fb1dc69b330a4d4700cac476af1708d1
sha256: "4ae2de3e1e67ea270081eaee972e1bd8f027d459f249e0f1186730784c2e7e33"
url: "https://pub.dev"
source: hosted
version: "1.1.1"
version: "1.1.2"
build_daemon:
dependency: transitive
description:
name: build_daemon
sha256: "79b2aef6ac2ed00046867ed354c88778c9c0f029df8a20fe10b5436826721ef9"
sha256: "294a2edaf4814a378725bfe6358210196f5ea37af89ecd81bfa32960113d4948"
url: "https://pub.dev"
source: hosted
version: "4.0.2"
version: "4.0.3"
build_resolvers:
dependency: transitive
description:
name: build_resolvers
sha256: "339086358431fa15d7eca8b6a36e5d783728cf025e559b834f4609a1fcfb7b0a"
sha256: "99d3980049739a985cf9b21f30881f46db3ebc62c5b8d5e60e27440876b1ba1e"
url: "https://pub.dev"
source: hosted
version: "2.4.2"
version: "2.4.3"
build_runner:
dependency: "direct dev"
description:
name: build_runner
sha256: "028819cfb90051c6b5440c7e574d1896f8037e3c96cf17aaeb054c9311cfbf4d"
sha256: "74691599a5bc750dc96a6b4bfd48f7d9d66453eab04c7f4063134800d6a5c573"
url: "https://pub.dev"
source: hosted
version: "2.4.13"
version: "2.4.14"
build_runner_core:
dependency: transitive
description:
name: build_runner_core
sha256: f8126682b87a7282a339b871298cc12009cb67109cfa1614d6436fb0289193e0
sha256: "22e3aa1c80e0ada3722fe5b63fd43d9c8990759d0a2cf489c8c5d7b2bdebc021"
url: "https://pub.dev"
source: hosted
version: "7.3.2"
version: "8.0.0"
built_collection:
dependency: transitive
description:
@ -162,10 +162,10 @@ packages:
dependency: transitive
description:
name: built_value
sha256: c7913a9737ee4007efedaffc968c049fd0f3d0e49109e778edc10de9426005cb
sha256: "28a712df2576b63c6c005c465989a348604960c0958d28be5303ba9baa841ac2"
url: "https://pub.dev"
source: hosted
version: "8.9.2"
version: "8.9.3"
change_case:
dependency: transitive
description:
@ -282,10 +282,10 @@ packages:
dependency: transitive
description:
name: custom_lint_visitor
sha256: "8aeb3b6ae2bb765e7716b93d1d10e8356d04e0ff6d7592de6ee04e0dd7d6587d"
sha256: bfe9b7a09c4775a587b58d10ebb871d4fe618237639b1e84d5ec62d7dfef25f9
url: "https://pub.dev"
source: hosted
version: "1.0.0+6.7.0"
version: "1.0.0+6.11.0"
dart_eval:
dependency: "direct main"
description:
@ -355,10 +355,10 @@ packages:
dependency: transitive
description:
name: equatable
sha256: c2b87cb7756efdf69892005af546c56c0b5037f54d2a88269b4f347a505e3ca2
sha256: "567c64b3cb4cf82397aac55f4f0cbd3ca20d77c6c03bedbc4ceaddc08904aef7"
url: "https://pub.dev"
source: hosted
version: "2.0.5"
version: "2.0.7"
exception_templates:
dependency: transitive
description:
@ -435,10 +435,10 @@ packages:
dependency: "direct main"
description:
name: file_picker
sha256: "16dc141db5a2ccc6520ebb6a2eb5945b1b09e95085c021d9f914f8ded7f1465c"
sha256: c2376a6aae82358a9f9ccdd7d1f4006d08faa39a2767cce01031d9f593a8bd3b
url: "https://pub.dev"
source: hosted
version: "8.1.4"
version: "8.1.6"
fixnum:
dependency: transitive
description:
@ -581,10 +581,10 @@ packages:
dependency: transitive
description:
name: flutter_plugin_android_lifecycle
sha256: "9b78450b89f059e96c9ebb355fa6b3df1d6b330436e0b885fb49594c41721398"
sha256: "615a505aef59b151b46bbeef55b36ce2b6ed299d160c51d84281946f0aa0ce0e"
url: "https://pub.dev"
source: hosted
version: "2.0.23"
version: "2.0.24"
flutter_qjs:
dependency: "direct main"
description:
@ -680,10 +680,10 @@ packages:
dependency: "direct main"
description:
name: go_router
sha256: "8ae664a70174163b9f65ea68dd8673e29db8f9095de7b5cd00e167c621f4fef5"
sha256: "2fd11229f59e23e967b0775df8d5948a519cd7e1e8b6e849729e010587b46539"
url: "https://pub.dev"
source: hosted
version: "14.6.0"
version: "14.6.2"
google_fonts:
dependency: "direct main"
description:
@ -760,10 +760,10 @@ packages:
dependency: transitive
description:
name: http_multi_server
sha256: "97486f20f9c2f7be8f514851703d0119c3596d14ea63227af6f7a481ef2b2f8b"
sha256: aa6199f908078bb1c5efb8d8638d4ae191aac11b311132c3ef48ce352fb52ef8
url: "https://pub.dev"
source: hosted
version: "3.2.1"
version: "3.2.2"
http_parser:
dependency: transitive
description:
@ -800,10 +800,10 @@ packages:
dependency: transitive
description:
name: io
sha256: "2ec25704aba361659e10e3e5f5d672068d332fc8ac516421d483a11e5cbd061e"
sha256: dfd5a80599cf0165756e3181807ed3e77daf6dd4137caaad72d0b7931597650b
url: "https://pub.dev"
source: hosted
version: "1.0.4"
version: "1.0.5"
iregexp:
dependency: transitive
description:
@ -888,18 +888,18 @@ packages:
dependency: transitive
description:
name: leak_tracker
sha256: "3f87a60e8c63aecc975dda1ceedbc8f24de75f09e4856ea27daf8958f2f0ce05"
sha256: "7bb2830ebd849694d1ec25bf1f44582d6ac531a57a365a803a6034ff751d2d06"
url: "https://pub.dev"
source: hosted
version: "10.0.5"
version: "10.0.7"
leak_tracker_flutter_testing:
dependency: transitive
description:
name: leak_tracker_flutter_testing
sha256: "932549fb305594d82d7183ecd9fa93463e9914e1b67cacc34bc40906594a1806"
sha256: "9491a714cca3667b60b5c420da8217e6de0d1ba7a5ec322fab01758f6998f379"
url: "https://pub.dev"
source: hosted
version: "3.0.5"
version: "3.0.8"
leak_tracker_testing:
dependency: transitive
description:
@ -944,10 +944,10 @@ packages:
dependency: transitive
description:
name: macros
sha256: "0acaed5d6b7eab89f63350bccd82119e6c602df0f391260d0e32b5e23db79536"
sha256: "1d9e801cd66f7ea3663c45fc708450db1fa57f988142c64289142c9b7ee80656"
url: "https://pub.dev"
source: hosted
version: "0.1.2-main.4"
version: "0.1.3-main.0"
matcher:
dependency: transitive
description:
@ -1083,26 +1083,26 @@ packages:
dependency: transitive
description:
name: package_config
sha256: "1c5b77ccc91e4823a5af61ee74e6b972db1ef98c2ff5a18d3161c982a55448bd"
sha256: "92d4488434b520a62570293fbd33bb556c7d49230791c1b4bbd973baf6d2dc67"
url: "https://pub.dev"
source: hosted
version: "2.1.0"
version: "2.1.1"
package_info_plus:
dependency: "direct main"
description:
name: package_info_plus
sha256: da8d9ac8c4b1df253d1a328b7bf01ae77ef132833479ab40763334db13b91cce
sha256: "70c421fe9d9cc1a9a7f3b05ae56befd469fe4f8daa3b484823141a55442d858d"
url: "https://pub.dev"
source: hosted
version: "8.1.1"
version: "8.1.2"
package_info_plus_platform_interface:
dependency: transitive
description:
name: package_info_plus_platform_interface
sha256: ac1f4a4847f1ade8e6a87d1f39f5d7c67490738642e2542f559ec38c37489a66
sha256: a5ef9986efc7bf772f2696183a3992615baa76c1ffb1189318dd8803778fb05b
url: "https://pub.dev"
source: hosted
version: "3.0.1"
version: "3.0.2"
path:
dependency: "direct main"
description:
@ -1123,18 +1123,18 @@ packages:
dependency: transitive
description:
name: path_provider_android
sha256: c464428172cb986b758c6d1724c603097febb8fb855aa265aeecc9280c294d4a
sha256: "4adf4fd5423ec60a29506c76581bc05854c55e3a0b72d35bb28d661c9686edf2"
url: "https://pub.dev"
source: hosted
version: "2.2.12"
version: "2.2.15"
path_provider_foundation:
dependency: transitive
description:
name: path_provider_foundation
sha256: f234384a3fdd67f989b4d54a5d73ca2a6c422fa55ae694381ae0f4375cd1ea16
sha256: "4843174df4d288f5e29185bd6e72a6fbdf5a4a4602717eed565497429f179942"
url: "https://pub.dev"
source: hosted
version: "2.4.0"
version: "2.4.1"
path_provider_linux:
dependency: transitive
description:
@ -1267,10 +1267,10 @@ packages:
dependency: transitive
description:
name: pub_semver
sha256: "40d3ab1bbd474c4c2328c91e3a7df8c6dd629b79ece4c4bd04bee496a224fb0c"
sha256: "7b3cfbf654f3edd0c6298ecd5be782ce997ddf0e00531b9464b55245185bbbbd"
url: "https://pub.dev"
source: hosted
version: "2.1.4"
version: "2.1.5"
pubspec_parse:
dependency: transitive
description:
@ -1426,18 +1426,18 @@ packages:
dependency: "direct main"
description:
name: share_plus
sha256: "9c9bafd4060728d7cdb2464c341743adbd79d327cb067ec7afb64583540b47c8"
sha256: "6327c3f233729374d0abaafd61f6846115b2a481b4feddd8534211dc10659400"
url: "https://pub.dev"
source: hosted
version: "10.1.2"
version: "10.1.3"
share_plus_platform_interface:
dependency: transitive
description:
name: share_plus_platform_interface
sha256: c57c0bbfec7142e3a0f55633be504b796af72e60e3c791b44d5a017b985f7a48
sha256: cc012a23fc2d479854e6c80150696c4a5f5bb62cb89af4de1c505cf78d0a5d0b
url: "https://pub.dev"
source: hosted
version: "5.0.1"
version: "5.0.2"
shelf:
dependency: transitive
description:
@ -1450,15 +1450,15 @@ packages:
dependency: transitive
description:
name: shelf_web_socket
sha256: "073c147238594ecd0d193f3456a5fe91c4b0abbcc68bf5cd95b36c4e194ac611"
sha256: cc36c297b52866d203dbf9332263c94becc2fe0ceaa9681d07b6ef9807023b67
url: "https://pub.dev"
source: hosted
version: "2.0.0"
version: "2.0.1"
sky_engine:
dependency: transitive
description: flutter
source: sdk
version: "0.0.99"
version: "0.0.0"
source_gen:
dependency: transitive
description:
@ -1487,10 +1487,10 @@ packages:
dependency: transitive
description:
name: stack_trace
sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b"
sha256: "9f47fd3630d76be3ab26f0ee06d213679aa425996925ff3feffdec504931c377"
url: "https://pub.dev"
source: hosted
version: "1.11.1"
version: "1.12.0"
state_notifier:
dependency: transitive
description:
@ -1511,18 +1511,18 @@ packages:
dependency: transitive
description:
name: stream_transform
sha256: "14a00e794c7c11aa145a170587321aedce29769c08d7f58b1d141da75e3b1c6f"
sha256: ad47125e588cfd37a9a7f86c7d6356dde8dfe89d071d293f80ca9e9273a33871
url: "https://pub.dev"
source: hosted
version: "2.1.0"
version: "2.1.1"
string_scanner:
dependency: transitive
description:
name: string_scanner
sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde"
sha256: "688af5ed3402a4bde5b3a6c15fd768dbf2621a614950b17f04626c431ab3c4c3"
url: "https://pub.dev"
source: hosted
version: "1.2.0"
version: "1.3.0"
super_sliver_list:
dependency: "direct main"
description:
@ -1551,10 +1551,10 @@ packages:
dependency: transitive
description:
name: test_api
sha256: "5b8a98dafc4d5c4c9c72d8b31ab2b23fc13422348d2997120294d3bac86b4ddb"
sha256: "664d3a9a64782fcdeb83ce9c6b39e78fd2971d4e37827b9b06c3aa1edc5e760c"
url: "https://pub.dev"
source: hosted
version: "0.7.2"
version: "0.7.3"
time:
dependency: transitive
description:
@ -1567,10 +1567,10 @@ packages:
dependency: transitive
description:
name: timing
sha256: "70a3b636575d4163c477e6de42f247a23b315ae20e86442bebe32d3cabf61c32"
sha256: "62ee18aca144e4a9f29d212f5a4c6a053be252b895ab14b5821996cff4ed90fe"
url: "https://pub.dev"
source: hosted
version: "1.0.1"
version: "1.0.2"
tuple:
dependency: transitive
description:
@ -1623,10 +1623,10 @@ packages:
dependency: transitive
description:
name: url_launcher_ios
sha256: e43b677296fadce447e987a2f519dcf5f6d1e527dc35d01ffab4fff5b8a7063e
sha256: "16a513b6c12bb419304e72ea0ae2ab4fed569920d1c7cb850263fe3acc824626"
url: "https://pub.dev"
source: hosted
version: "6.3.1"
version: "6.3.2"
url_launcher_linux:
dependency: transitive
description:
@ -1639,10 +1639,10 @@ packages:
dependency: transitive
description:
name: url_launcher_macos
sha256: "769549c999acdb42b8bcfa7c43d72bf79a382ca7441ab18a808e101149daf672"
sha256: "17ba2000b847f334f16626a574c702b196723af2a289e7a93ffcb79acff855c2"
url: "https://pub.dev"
source: hosted
version: "3.2.1"
version: "3.2.2"
url_launcher_platform_interface:
dependency: transitive
description:
@ -1687,10 +1687,10 @@ packages:
dependency: transitive
description:
name: vm_service
sha256: "5c5f338a667b4c644744b661f309fb8080bb94b18a7e91ef1dbd343bed00ed6d"
sha256: f6be3ed8bd01289b34d679c2b62226f63c0e69f9fd2e50a6b3c1c729a961041b
url: "https://pub.dev"
source: hosted
version: "14.2.5"
version: "14.3.0"
volume_controller:
dependency: transitive
description:
@ -1719,10 +1719,10 @@ packages:
dependency: transitive
description:
name: watcher
sha256: "3d2ad6751b3c16cf07c7fca317a1413b3f26530319181b37e3b9039b84fc01d8"
sha256: "69da27e49efa56a15f8afe8f4438c4ec02eff0a117df1b22ea4aad194fe1c104"
url: "https://pub.dev"
source: hosted
version: "1.1.0"
version: "1.1.1"
web:
dependency: transitive
description:
@ -1751,10 +1751,10 @@ packages:
dependency: transitive
description:
name: win32
sha256: "84ba388638ed7a8cb3445a320c8273136ab2631cd5f2c57888335504ddab1bc2"
sha256: "8b338d4486ab3fbc0ba0db9f9b4f5239b6697fcee427939a40e720cbb9ee0a69"
url: "https://pub.dev"
source: hosted
version: "5.8.0"
version: "5.9.0"
window_manager:
dependency: "direct main"
description:
@ -1807,10 +1807,10 @@ packages:
dependency: transitive
description:
name: xxh3
sha256: cbeb0e1d10f4c6bf67b650f395eac0cc689425b5efc2ba0cc3d3e069a0beaeec
sha256: "399a0438f5d426785723c99da6b16e136f4953fb1e9db0bf270bd41dd4619916"
url: "https://pub.dev"
source: hosted
version: "1.1.0"
version: "1.2.0"
yaml:
dependency: transitive
description:
@ -1828,5 +1828,5 @@ packages:
source: hosted
version: "2.2.1"
sdks:
dart: ">=3.5.4 <4.0.0"
dart: ">=3.6.0 <4.0.0"
flutter: ">=3.24.0"