Skip to content

Commit 51ea196

Browse files
committed
Add doc comments to all public API
1 parent fc2fe68 commit 51ea196

22 files changed

Lines changed: 216 additions & 45 deletions

packages/flutter_query/analysis_options.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ include: package:flutter_lints/flutter.yaml
22

33
linter:
44
rules:
5+
- public_member_api_docs
56

67
analyzer:
78
exclude:

packages/flutter_query/lib/src/core/default_mutation_options.dart

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ import 'utils.dart';
2020
/// );
2121
/// ```
2222
class DefaultMutationOptions {
23+
/// Creates default mutation options.
2324
const DefaultMutationOptions({
2425
this.networkMode = NetworkMode.online,
2526
this.gcDuration = const GcDuration(minutes: 5),

packages/flutter_query/lib/src/core/default_query_options.dart

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ import 'utils.dart';
1818
/// );
1919
/// ```
2020
class DefaultQueryOptions {
21+
/// Creates default query options.
2122
const DefaultQueryOptions({
2223
this.enabled = true,
2324
this.networkMode = NetworkMode.online,

packages/flutter_query/lib/src/core/infinite_query_function_context.dart

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import 'utils.dart';
99
/// Shares the fields with [QueryFunctionContext] and adds pagination-specific
1010
/// fields for fetching pages of data.
1111
final class InfiniteQueryFunctionContext<TPageParam> {
12+
/// Creates an infinite query function context.
1213
const InfiniteQueryFunctionContext({
1314
required this.queryKey,
1415
required this.client,

packages/flutter_query/lib/src/core/infinite_query_observer.dart

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,13 @@ part of 'query_observer.dart';
22

33
/// Data structure for infinite queries containing pages and their params.
44
class InfiniteData<TData, TPageParam> {
5+
/// Creates an infinite data container with the given pages and page params.
56
const InfiniteData(
67
this.pages,
78
this.pageParams,
89
);
910

11+
/// Creates an empty infinite data container with no pages.
1012
const InfiniteData.empty()
1113
: pages = const [],
1214
pageParams = const [];

packages/flutter_query/lib/src/core/infinite_query_options.dart

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
import 'package:meta/meta.dart';
2+
13
import 'default_query_options.dart';
24
import 'infinite_query_function_context.dart';
35
import 'network_mode.dart';
@@ -33,7 +35,12 @@ typedef PrevPageParamBuilder<TData, TPageParam> = TPageParam? Function(
3335
InfiniteData<TData, TPageParam> data,
3436
);
3537

38+
/// Options for configuring an infinite query.
39+
///
40+
/// Contains all configuration for fetching and caching paginated data,
41+
/// including the query function, page parameter handling, and refetch behavior.
3642
class InfiniteQueryOptions<TData, TError, TPageParam> {
43+
/// Creates options for an infinite query.
3744
InfiniteQueryOptions(
3845
List<Object?> queryKey,
3946
this.queryFn, {
@@ -57,25 +64,64 @@ class InfiniteQueryOptions<TData, TError, TPageParam> {
5764
this.meta,
5865
}) : queryKey = QueryKey(queryKey);
5966

67+
/// The key that uniquely identifies this query.
6068
final QueryKey queryKey;
69+
70+
/// The function that fetches a page of data.
6171
final InfiniteQueryFn<TData, TPageParam> queryFn;
72+
73+
/// The page parameter for the first page.
6274
final TPageParam initialPageParam;
75+
76+
/// Derives the next page parameter from the current data.
6377
final NextPageParamBuilder<TData, TPageParam> nextPageParamBuilder;
78+
79+
/// Derives the previous page parameter from the current data.
6480
final PrevPageParamBuilder<TData, TPageParam>? prevPageParamBuilder;
81+
82+
/// The maximum number of pages to keep in memory.
6583
final int? maxPages;
84+
85+
/// Whether this query is enabled.
6686
final bool? enabled;
87+
88+
/// The network connectivity mode for this query.
6789
final NetworkMode? networkMode;
90+
91+
/// How long data is considered fresh before becoming stale.
6892
final StaleDuration? staleDuration;
93+
94+
/// How long unused data remains in cache before garbage collection.
6995
final GcDuration? gcDuration;
96+
97+
/// Placeholder data shown while the query is loading.
7098
final InfiniteData<TData, TPageParam>? placeholder;
99+
100+
/// Whether to refetch when an observer mounts.
71101
final RefetchOnMount? refetchOnMount;
102+
103+
/// Whether to refetch when the app resumes from background.
72104
final RefetchOnResume? refetchOnResume;
105+
106+
/// Whether to refetch when network connectivity is restored.
73107
final RefetchOnReconnect? refetchOnReconnect;
108+
109+
/// Interval at which to automatically refetch.
74110
final Duration? refetchInterval;
111+
112+
/// Retry behavior for failed fetches.
75113
final RetryResolver<TError>? retry;
114+
115+
/// Whether to retry a failed query when a new observer mounts.
76116
final bool? retryOnMount;
117+
118+
/// Initial data to populate the cache before the first fetch.
77119
final InfiniteData<TData, TPageParam>? seed;
120+
121+
/// The timestamp when the seed data was last updated.
78122
final DateTime? seedUpdatedAt;
123+
124+
/// Arbitrary metadata associated with this query.
79125
final Map<String, dynamic>? meta;
80126

81127
@override
@@ -147,6 +193,7 @@ class InfiniteQueryOptions<TData, TError, TPageParam> {
147193
'meta: $meta)';
148194
}
149195

196+
@internal
150197
extension InfiniteQueryOptionsExt<TData, TError, TPageParam>
151198
on InfiniteQueryOptions<TData, TError, TPageParam> {
152199
InfiniteQueryOptions<TData, TError, TPageParam> withDefaults(

packages/flutter_query/lib/src/core/infinite_query_result.dart

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ typedef FetchPreviousPage<TData, TError, TPageParam>
5252
/// - [TError]: The type of error that may occur during fetching.
5353
/// - [TPageParam]: The type of the page parameter used for pagination.
5454
class InfiniteQueryResult<TData, TError, TPageParam> {
55+
/// Creates an infinite query result.
5556
const InfiniteQueryResult({
5657
required this.status,
5758
required this.fetchStatus,

packages/flutter_query/lib/src/core/mutation_cache.dart

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import 'mutation_cache_event.dart';
66
import 'mutation_state.dart';
77
import 'subscribable.dart';
88

9+
@internal
910
typedef MutationCacheListener = void Function(MutationCacheEvent event);
1011

1112
@internal
Lines changed: 6 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,44 +1,29 @@
1+
import 'package:meta/meta.dart';
2+
13
import 'mutation.dart';
24

3-
/// Events emitted by [MutationCache] when its contents change.
4-
///
5-
/// Use pattern matching to handle specific event types:
6-
/// ```dart
7-
/// mutationCache.subscribe((event) {
8-
/// switch (event) {
9-
/// case MutationAddedEvent(:final mutation):
10-
/// print('Mutation added: ${mutation.mutationKey}');
11-
/// case MutationUpdatedEvent(:final mutation):
12-
/// print('Mutation updated: ${mutation.mutationKey}');
13-
/// case MutationRemovedEvent(:final mutation):
14-
/// print('Mutation removed: ${mutation.mutationKey}');
15-
/// }
16-
/// });
17-
/// ```
5+
@internal
186
sealed class MutationCacheEvent {
197
const MutationCacheEvent();
208
}
219

22-
/// Emitted when a mutation is added to the cache.
10+
@internal
2311
final class MutationAddedEvent extends MutationCacheEvent {
2412
const MutationAddedEvent(this.mutation);
2513

26-
/// The mutation that was added.
2714
final Mutation mutation;
2815
}
2916

30-
/// Emitted when a mutation is removed from the cache.
17+
@internal
3118
final class MutationRemovedEvent extends MutationCacheEvent {
3219
const MutationRemovedEvent(this.mutation);
3320

34-
/// The mutation that was removed.
3521
final Mutation mutation;
3622
}
3723

38-
/// Emitted when a mutation's state is updated.
24+
@internal
3925
final class MutationUpdatedEvent extends MutationCacheEvent {
4026
const MutationUpdatedEvent(this.mutation);
4127

42-
/// The mutation whose state was updated.
4328
final Mutation mutation;
4429
}

packages/flutter_query/lib/src/core/mutation_function_context.dart

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import 'utils.dart';
77
/// a mutation and its associated callbacks such as `onMutate`, `onSuccess`,
88
/// `onError`, and `onSettled`.
99
class MutationFunctionContext {
10+
/// Creates a mutation function context.
1011
const MutationFunctionContext({
1112
required this.mutationKey,
1213
required this.client,

0 commit comments

Comments
 (0)