removed unneeded query parameter from QueryTaskFunction

This commit is contained in:
Kingkor Roy Tirtho
2022-06-26 15:03:23 +06:00
parent d8024714cd
commit ff8fa9eb15
10 changed files with 15 additions and 21 deletions
@@ -5,7 +5,7 @@ import 'package:flutter/material.dart';
final successJob = QueryJob<String, void>( final successJob = QueryJob<String, void>(
queryKey: "greetings-example", queryKey: "greetings-example",
task: (queryKey, _, __) => Future.delayed( task: (queryKey, _) => Future.delayed(
const Duration(seconds: 2), const Duration(seconds: 2),
() => () =>
"The work successfully executed. Data: key=($queryKey) value=${Random.secure().nextInt(100)}", "The work successfully executed. Data: key=($queryKey) value=${Random.secure().nextInt(100)}",
@@ -14,7 +14,7 @@ final successJob = QueryJob<String, void>(
final canFailJob = QueryJob<String, void>( final canFailJob = QueryJob<String, void>(
queryKey: "failure-example", queryKey: "failure-example",
task: (queryKey, _, __) => Random().nextBool() task: (queryKey, _) => Random().nextBool()
? Future.error("$queryKey operation failed for unknown reason") ? Future.error("$queryKey operation failed for unknown reason")
: Future.value( : Future.value(
"Successful execution. Result: $queryKey=${Random().nextInt(100)}", "Successful execution. Result: $queryKey=${Random().nextInt(100)}",
@@ -7,7 +7,7 @@ import 'package:flutter_hooks/flutter_hooks.dart';
final successHookJob = QueryJob<String, void>( final successHookJob = QueryJob<String, void>(
queryKey: "greetings-hook-example", queryKey: "greetings-hook-example",
task: (queryKey, _, __) => Future.delayed( task: (queryKey, _) => Future.delayed(
const Duration(seconds: 2), const Duration(seconds: 2),
() => () =>
"The work successfully executed. Data: key=($queryKey) value=${Random.secure().nextInt(100)}", "The work successfully executed. Data: key=($queryKey) value=${Random.secure().nextInt(100)}",
@@ -16,7 +16,7 @@ final successHookJob = QueryJob<String, void>(
final canFailHookJob = QueryJob<String, void>( final canFailHookJob = QueryJob<String, void>(
queryKey: "failure-hook-example", queryKey: "failure-hook-example",
task: (queryKey, _, __) => Random().nextBool() task: (queryKey, _) => Random().nextBool()
? Future.error("$queryKey operation failed for unknown reason") ? Future.error("$queryKey operation failed for unknown reason")
: Future.value( : Future.value(
"Successful execution. Result: $queryKey=${Random().nextInt(100)}", "Successful execution. Result: $queryKey=${Random().nextInt(100)}",
@@ -6,7 +6,7 @@ import 'package:flutter_hooks/flutter_hooks.dart';
final lazyHookQueryJob = QueryJob<String, String>( final lazyHookQueryJob = QueryJob<String, String>(
queryKey: "lazy-hook-query", queryKey: "lazy-hook-query",
enabled: false, enabled: false,
task: (queryKey, data, _) { task: (queryKey, data) {
return Future.delayed(const Duration(milliseconds: 500), return Future.delayed(const Duration(milliseconds: 500),
() => "Result: key=$queryKey value=$data"); () => "Result: key=$queryKey value=$data");
}, },
@@ -8,7 +8,7 @@ import 'package:flutter_hooks/flutter_hooks.dart';
final queryHookExternalDataJob = QueryJob<String, double>( final queryHookExternalDataJob = QueryJob<String, double>(
queryKey: "query-hook-external-data", queryKey: "query-hook-external-data",
cacheTime: const Duration(seconds: 10), cacheTime: const Duration(seconds: 10),
task: (queryKey, data, _) { task: (queryKey, data) {
return Future.delayed(const Duration(milliseconds: 500), return Future.delayed(const Duration(milliseconds: 500),
() => "Hello from $queryKey with $data"); () => "Hello from $queryKey with $data");
}, },
@@ -5,8 +5,8 @@ import 'package:fl_query/fl_query_hooks.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_hooks/flutter_hooks.dart'; import 'package:flutter_hooks/flutter_hooks.dart';
final queryHookVariableKeyJob = QueryJob.withVariableKey<String, void>( final queryHookVariableKeyJob =
task: (queryKey, externalData, query) { QueryJob.withVariableKey<String, void>(task: (queryKey, externalData) {
return Future.delayed( return Future.delayed(
const Duration(milliseconds: 500), const Duration(milliseconds: 500),
() => "QueryKey:${queryKey.split("#").last}", () => "QueryKey:${queryKey.split("#").last}",
@@ -4,7 +4,10 @@ import 'package:flutter/material.dart';
final lazyQueryJob = QueryJob<String, String>( final lazyQueryJob = QueryJob<String, String>(
queryKey: "lazy-query", queryKey: "lazy-query",
enabled: false, enabled: false,
task: (queryKey, data, _) { task: (
queryKey,
data,
) {
return Future.delayed(const Duration(milliseconds: 500), return Future.delayed(const Duration(milliseconds: 500),
() => "Result: key=$queryKey value=$data"); () => "Result: key=$queryKey value=$data");
}, },
@@ -6,7 +6,7 @@ import 'package:flutter/material.dart';
final jobWithExternalData = QueryJob<String, double>( final jobWithExternalData = QueryJob<String, double>(
queryKey: "query-external-data", queryKey: "query-external-data",
cacheTime: const Duration(seconds: 10), cacheTime: const Duration(seconds: 10),
task: (queryKey, data, _) { task: (queryKey, data) {
return Future.delayed(const Duration(milliseconds: 500), return Future.delayed(const Duration(milliseconds: 500),
() => "Hello from $queryKey with $data"); () => "Hello from $queryKey with $data");
}, },
@@ -3,8 +3,8 @@ import 'dart:math';
import 'package:fl_query/fl_query.dart'; import 'package:fl_query/fl_query.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
final queryVariableKeyJob = QueryJob.withVariableKey<String, void>( final queryVariableKeyJob =
task: (queryKey, externalData, query) { QueryJob.withVariableKey<String, void>(task: (queryKey, externalData) {
return Future.delayed( return Future.delayed(
const Duration(milliseconds: 500), const Duration(milliseconds: 500),
() => "QueryKey:${queryKey.split("#").last}", () => "QueryKey:${queryKey.split("#").last}",
-4
View File
@@ -2,11 +2,7 @@ import 'dart:async';
import 'package:fl_query/src/base_operation.dart'; import 'package:fl_query/src/base_operation.dart';
import 'package:fl_query/src/models/mutation_job.dart'; import 'package:fl_query/src/models/mutation_job.dart';
import 'package:fl_query/src/models/query_job.dart';
import 'package:fl_query/src/query.dart';
import 'package:fl_query/src/utils.dart';
import 'package:flutter/widgets.dart'; import 'package:flutter/widgets.dart';
import 'package:collection/collection.dart';
enum MutationStatus { enum MutationStatus {
error, error,
-5
View File
@@ -3,10 +3,8 @@ import 'dart:async';
import 'package:connectivity_plus/connectivity_plus.dart'; import 'package:connectivity_plus/connectivity_plus.dart';
import 'package:fl_query/src/base_operation.dart'; import 'package:fl_query/src/base_operation.dart';
import 'package:fl_query/src/models/query_job.dart'; import 'package:fl_query/src/models/query_job.dart';
import 'package:fl_query/src/query_bowl.dart';
import 'package:fl_query/src/utils.dart'; import 'package:fl_query/src/utils.dart';
import 'package:flutter/widgets.dart'; import 'package:flutter/widgets.dart';
import 'package:collection/collection.dart';
enum QueryStatus { enum QueryStatus {
/// in times when an error occurs /// in times when an error occurs
@@ -30,7 +28,6 @@ enum QueryStatus {
typedef QueryTaskFunction<T extends Object, Outside> = FutureOr<T> Function( typedef QueryTaskFunction<T extends Object, Outside> = FutureOr<T> Function(
String queryKey, String queryKey,
Outside externalData, Outside externalData,
Query<T, Outside> self,
); );
typedef QueryListener<T> = FutureOr<void> Function(T); typedef QueryListener<T> = FutureOr<void> Function(T);
@@ -156,7 +153,6 @@ class Query<T extends Object, Outside> extends BaseOperation<T, QueryStatus> {
data = await task( data = await task(
queryKey, queryKey,
_externalData, _externalData,
this,
); );
_prevUsedExternalData = _externalData; _prevUsedExternalData = _externalData;
updatedAt = DateTime.now(); updatedAt = DateTime.now();
@@ -181,7 +177,6 @@ class Query<T extends Object, Outside> extends BaseOperation<T, QueryStatus> {
data = await task( data = await task(
queryKey, queryKey,
_externalData, _externalData,
this,
); );
_prevUsedExternalData = _externalData; _prevUsedExternalData = _externalData;
status = QueryStatus.success; status = QueryStatus.success;