Client constructor
Client({
- required Link link,
- Cache? cache,
- StreamController<
OperationRequest> ? requestController, - Map<
String, TypePolicy> typePolicies = const {}, - Map<
String, Function> updateCacheHandlers = const {}, - Map<
OperationType, FetchPolicy> defaultFetchPolicies = const {}, - bool addTypename = true,
Implementation
Client({
required this.link,
Cache? cache,
StreamController<OperationRequest>? requestController,
this.typePolicies = const {},
this.updateCacheHandlers = const {},
this.defaultFetchPolicies = const {},
this.addTypename = true,
}) {
this.cache = cache ??= _defaultCache = Cache();
this.requestController = requestController ??=
_defaultRequestController = StreamController.broadcast();
_typedLink = TypedLink.from([
ErrorTypedLink(),
RequestControllerTypedLink(this.requestController),
if (addTypename) AddTypenameTypedLink(),
if (updateCacheHandlers.isNotEmpty)
UpdateCacheTypedLink(
cache: this.cache,
updateCacheHandlers: updateCacheHandlers,
),
FetchPolicyTypedLink(
link: link,
cache: this.cache,
defaultFetchPolicies: defaultFetchPolicies,
)
]);
}