APISessionSet constructor

APISessionSet(
  1. Duration timeout, {
  2. Duration? autoCheckInterval,
  3. APIRoot? apiRoot,
  4. SharedStoreField? sharedStoreField,
  5. SharedStoreReference? sharedStoreReference,
  6. SharedStore? sharedStore,
  7. String? sharedStoreID,
  8. SharedStoreProviderSync? storeProvider,
})

Implementation

APISessionSet(this.timeout,
    {Duration? autoCheckInterval,
    APIRoot? apiRoot,
    SharedStoreField? sharedStoreField,
    SharedStoreReference? sharedStoreReference,
    SharedStore? sharedStore,
    String? sharedStoreID,
    SharedStoreProviderSync? storeProvider})
    : _sharedStoreField = SharedStoreField.tryFrom(
              sharedStoreField: sharedStoreField,
              sharedStoreReference: sharedStoreReference,
              sharedStore: sharedStore ?? apiRoot?.sharedStore,
              sharedStoreID: sharedStoreID,
              storeProvider: storeProvider) ??
          SharedStoreField.fromSharedStore(SharedStore.notShared()) {
  var autoCheckIntervalResolved = autoCheckInterval;
  if (autoCheckIntervalResolved == null) {
    autoCheckIntervalResolved =
        Duration(milliseconds: timeout.inMilliseconds ~/ 3);
    if (autoCheckIntervalResolved.inMinutes > 5) {
      autoCheckIntervalResolved = Duration(minutes: 5);
    }
  }

  this.autoCheckInterval = autoCheckIntervalResolved;

  // ignore: discarded_futures
  _resolveSharedSessions();
}