// GENERATED CODE - DO NOT MODIFY BY HAND

part of 'tab.dart';

// **************************************************************************
// CopyWithGenerator
// **************************************************************************

abstract class _$TabStateCWProxy {
  TabState parentId(String? parentId);

  TabState contextId(String? contextId);

  TabState url(Uri url);

  TabState title(String title);

  TabState icon(EquatableImage? icon);

  TabState thumbnail(EquatableImage? thumbnail);

  TabState progress(int progress);

  TabState isPrivate(bool isPrivate);

  TabState isFullScreen(bool isFullScreen);

  TabState isLoading(bool isLoading);

  TabState securityInfoState(SecurityState securityInfoState);

  TabState historyState(HistoryState historyState);

  TabState readerableState(ReaderableState readerableState);

  TabState findResultState(FindResultState findResultState);

  /// Creates a new instance with the provided field values.
  /// Passing `null` to a nullable field nullifies it, while `null` for a non-nullable field is ignored. To update a single field use `TabState(...).copyWith.fieldName(value)`.
  ///
  /// Example:
  /// ```dart
  /// TabState(...).copyWith(id: 12, name: "My name")
  /// ```
  TabState call({
    String? parentId,
    String? contextId,
    Uri url,
    String title,
    EquatableImage? icon,
    EquatableImage? thumbnail,
    int progress,
    bool isPrivate,
    bool isFullScreen,
    bool isLoading,
    SecurityState securityInfoState,
    HistoryState historyState,
    ReaderableState readerableState,
    FindResultState findResultState,
  });
}

/// Callable proxy for `copyWith` functionality.
/// Use as `instanceOfTabState.copyWith(...)` or call `instanceOfTabState.copyWith.fieldName(value)` for a single field.
class _$TabStateCWProxyImpl implements _$TabStateCWProxy {
  const _$TabStateCWProxyImpl(this._value);

  final TabState _value;

  @override
  TabState parentId(String? parentId) => call(parentId: parentId);

  @override
  TabState contextId(String? contextId) => call(contextId: contextId);

  @override
  TabState url(Uri url) => call(url: url);

  @override
  TabState title(String title) => call(title: title);

  @override
  TabState icon(EquatableImage? icon) => call(icon: icon);

  @override
  TabState thumbnail(EquatableImage? thumbnail) => call(thumbnail: thumbnail);

  @override
  TabState progress(int progress) => call(progress: progress);

  @override
  TabState isPrivate(bool isPrivate) => call(isPrivate: isPrivate);

  @override
  TabState isFullScreen(bool isFullScreen) => call(isFullScreen: isFullScreen);

  @override
  TabState isLoading(bool isLoading) => call(isLoading: isLoading);

  @override
  TabState securityInfoState(SecurityState securityInfoState) =>
      call(securityInfoState: securityInfoState);

  @override
  TabState historyState(HistoryState historyState) =>
      call(historyState: historyState);

  @override
  TabState readerableState(ReaderableState readerableState) =>
      call(readerableState: readerableState);

  @override
  TabState findResultState(FindResultState findResultState) =>
      call(findResultState: findResultState);

  @override
  /// Creates a new instance with the provided field values.
  /// Passing `null` to a nullable field nullifies it, while `null` for a non-nullable field is ignored. To update a single field use `TabState(...).copyWith.fieldName(value)`.
  ///
  /// Example:
  /// ```dart
  /// TabState(...).copyWith(id: 12, name: "My name")
  /// ```
  TabState call({
    Object? parentId = const $CopyWithPlaceholder(),
    Object? contextId = const $CopyWithPlaceholder(),
    Object? url = const $CopyWithPlaceholder(),
    Object? title = const $CopyWithPlaceholder(),
    Object? icon = const $CopyWithPlaceholder(),
    Object? thumbnail = const $CopyWithPlaceholder(),
    Object? progress = const $CopyWithPlaceholder(),
    Object? isPrivate = const $CopyWithPlaceholder(),
    Object? isFullScreen = const $CopyWithPlaceholder(),
    Object? isLoading = const $CopyWithPlaceholder(),
    Object? securityInfoState = const $CopyWithPlaceholder(),
    Object? historyState = const $CopyWithPlaceholder(),
    Object? readerableState = const $CopyWithPlaceholder(),
    Object? findResultState = const $CopyWithPlaceholder(),
  }) {
    return TabState(
      id: _value.id,
      parentId: parentId == const $CopyWithPlaceholder()
          ? _value.parentId
          // ignore: cast_nullable_to_non_nullable
          : parentId as String?,
      contextId: contextId == const $CopyWithPlaceholder()
          ? _value.contextId
          // ignore: cast_nullable_to_non_nullable
          : contextId as String?,
      url: url == const $CopyWithPlaceholder() || url == null
          ? _value.url
          // ignore: cast_nullable_to_non_nullable
          : url as Uri,
      title: title == const $CopyWithPlaceholder() || title == null
          ? _value.title
          // ignore: cast_nullable_to_non_nullable
          : title as String,
      icon: icon == const $CopyWithPlaceholder()
          ? _value.icon
          // ignore: cast_nullable_to_non_nullable
          : icon as EquatableImage?,
      thumbnail: thumbnail == const $CopyWithPlaceholder()
          ? _value.thumbnail
          // ignore: cast_nullable_to_non_nullable
          : thumbnail as EquatableImage?,
      progress: progress == const $CopyWithPlaceholder() || progress == null
          ? _value.progress
          // ignore: cast_nullable_to_non_nullable
          : progress as int,
      isPrivate: isPrivate == const $CopyWithPlaceholder() || isPrivate == null
          ? _value.isPrivate
          // ignore: cast_nullable_to_non_nullable
          : isPrivate as bool,
      isFullScreen:
          isFullScreen == const $CopyWithPlaceholder() || isFullScreen == null
          ? _value.isFullScreen
          // ignore: cast_nullable_to_non_nullable
          : isFullScreen as bool,
      isLoading: isLoading == const $CopyWithPlaceholder() || isLoading == null
          ? _value.isLoading
          // ignore: cast_nullable_to_non_nullable
          : isLoading as bool,
      securityInfoState:
          securityInfoState == const $CopyWithPlaceholder() ||
              securityInfoState == null
          ? _value.securityInfoState
          // ignore: cast_nullable_to_non_nullable
          : securityInfoState as SecurityState,
      historyState:
          historyState == const $CopyWithPlaceholder() || historyState == null
          ? _value.historyState
          // ignore: cast_nullable_to_non_nullable
          : historyState as HistoryState,
      readerableState:
          readerableState == const $CopyWithPlaceholder() ||
              readerableState == null
          ? _value.readerableState
          // ignore: cast_nullable_to_non_nullable
          : readerableState as ReaderableState,
      findResultState:
          findResultState == const $CopyWithPlaceholder() ||
              findResultState == null
          ? _value.findResultState
          // ignore: cast_nullable_to_non_nullable
          : findResultState as FindResultState,
    );
  }
}

extension $TabStateCopyWith on TabState {
  /// Returns a callable class used to build a new instance with modified fields.
  /// Example: `instanceOfTabState.copyWith(...)` or `instanceOfTabState.copyWith.fieldName(...)`.
  // ignore: library_private_types_in_public_api
  _$TabStateCWProxy get copyWith => _$TabStateCWProxyImpl(this);
}
