import 'package:fl_query/mutation.dart'; class MutationJob { String _mutationKey; MutationTaskFunction task; final int? retries; final Duration? retryDelay; final Duration? cacheTime; MutationJob({ required String mutationKey, required this.task, this.retries, this.retryDelay, this.cacheTime, }) : _mutationKey = mutationKey; String get mutationKey => _mutationKey; static MutationJob Function(String queryKey) withVariableKey({ required MutationTaskFunction task, /// a extra key joined with mutationKey by a '#' /// /// useful for matching a group mutation String? preMutationKey, int? retries, Duration? retryDelay, Duration? cacheTime, }) { return (String mutationKey) { if (preMutationKey != null) mutationKey = "$preMutationKey#$mutationKey"; return MutationJob( mutationKey: mutationKey, task: task, retries: retries, retryDelay: retryDelay, cacheTime: cacheTime, ); }; } }