// GENERATED CODE - DO NOT MODIFY BY HAND

part of 'sample_project_provider.dart';

// **************************************************************************
// RiverpodGenerator
// **************************************************************************

// GENERATED CODE - DO NOT MODIFY BY HAND
// ignore_for_file: type=lint, type=warning
/// Sample Project Remote Data Source Provider

@ProviderFor(sampleProjectRemoteDataSource)
const sampleProjectRemoteDataSourceProvider =
    SampleProjectRemoteDataSourceProvider._();

/// Sample Project Remote Data Source Provider

final class SampleProjectRemoteDataSourceProvider
    extends
        $FunctionalProvider<
          AsyncValue<SampleProjectRemoteDataSource>,
          SampleProjectRemoteDataSource,
          FutureOr<SampleProjectRemoteDataSource>
        >
    with
        $FutureModifier<SampleProjectRemoteDataSource>,
        $FutureProvider<SampleProjectRemoteDataSource> {
  /// Sample Project Remote Data Source Provider
  const SampleProjectRemoteDataSourceProvider._()
    : super(
        from: null,
        argument: null,
        retry: null,
        name: r'sampleProjectRemoteDataSourceProvider',
        isAutoDispose: true,
        dependencies: null,
        $allTransitiveDependencies: null,
      );

  @override
  String debugGetCreateSourceHash() => _$sampleProjectRemoteDataSourceHash();

  @$internal
  @override
  $FutureProviderElement<SampleProjectRemoteDataSource> $createElement(
    $ProviderPointer pointer,
  ) => $FutureProviderElement(pointer);

  @override
  FutureOr<SampleProjectRemoteDataSource> create(Ref ref) {
    return sampleProjectRemoteDataSource(ref);
  }
}

String _$sampleProjectRemoteDataSourceHash() =>
    r'551677016d2d5d5185537f4871b161456370158e';

/// Sample Project Repository Provider

@ProviderFor(sampleProjectRepository)
const sampleProjectRepositoryProvider = SampleProjectRepositoryProvider._();

/// Sample Project Repository Provider

final class SampleProjectRepositoryProvider
    extends
        $FunctionalProvider<
          AsyncValue<SampleProjectRepository>,
          SampleProjectRepository,
          FutureOr<SampleProjectRepository>
        >
    with
        $FutureModifier<SampleProjectRepository>,
        $FutureProvider<SampleProjectRepository> {
  /// Sample Project Repository Provider
  const SampleProjectRepositoryProvider._()
    : super(
        from: null,
        argument: null,
        retry: null,
        name: r'sampleProjectRepositoryProvider',
        isAutoDispose: true,
        dependencies: null,
        $allTransitiveDependencies: null,
      );

  @override
  String debugGetCreateSourceHash() => _$sampleProjectRepositoryHash();

  @$internal
  @override
  $FutureProviderElement<SampleProjectRepository> $createElement(
    $ProviderPointer pointer,
  ) => $FutureProviderElement(pointer);

  @override
  FutureOr<SampleProjectRepository> create(Ref ref) {
    return sampleProjectRepository(ref);
  }
}

String _$sampleProjectRepositoryHash() =>
    r'a675cd70c32a2d9331992a1db3d5646a38e0c953';

/// Sample Projects List Provider
///
/// Fetches and manages sample/model house projects from API.

@ProviderFor(SampleProjectsList)
const sampleProjectsListProvider = SampleProjectsListProvider._();

/// Sample Projects List Provider
///
/// Fetches and manages sample/model house projects from API.
final class SampleProjectsListProvider
    extends $AsyncNotifierProvider<SampleProjectsList, List<SampleProject>> {
  /// Sample Projects List Provider
  ///
  /// Fetches and manages sample/model house projects from API.
  const SampleProjectsListProvider._()
    : super(
        from: null,
        argument: null,
        retry: null,
        name: r'sampleProjectsListProvider',
        isAutoDispose: true,
        dependencies: null,
        $allTransitiveDependencies: null,
      );

  @override
  String debugGetCreateSourceHash() => _$sampleProjectsListHash();

  @$internal
  @override
  SampleProjectsList create() => SampleProjectsList();
}

String _$sampleProjectsListHash() =>
    r'1255814621d429e09c8e0cdec38fbc91bacc1c77';

/// Sample Projects List Provider
///
/// Fetches and manages sample/model house projects from API.

abstract class _$SampleProjectsList
    extends $AsyncNotifier<List<SampleProject>> {
  FutureOr<List<SampleProject>> build();
  @$mustCallSuper
  @override
  void runBuild() {
    final created = build();
    final ref =
        this.ref as $Ref<AsyncValue<List<SampleProject>>, List<SampleProject>>;
    final element =
        ref.element
            as $ClassProviderElement<
              AnyNotifier<AsyncValue<List<SampleProject>>, List<SampleProject>>,
              AsyncValue<List<SampleProject>>,
              Object?,
              Object?
            >;
    element.handleValue(ref, created);
  }
}

/// Sample Project Detail Provider
///
/// Fetches detail of a specific sample project by name.
/// Uses family modifier to cache by project name.

@ProviderFor(sampleProjectDetail)
const sampleProjectDetailProvider = SampleProjectDetailFamily._();

/// Sample Project Detail Provider
///
/// Fetches detail of a specific sample project by name.
/// Uses family modifier to cache by project name.

final class SampleProjectDetailProvider
    extends
        $FunctionalProvider<
          AsyncValue<SampleProject>,
          SampleProject,
          FutureOr<SampleProject>
        >
    with $FutureModifier<SampleProject>, $FutureProvider<SampleProject> {
  /// Sample Project Detail Provider
  ///
  /// Fetches detail of a specific sample project by name.
  /// Uses family modifier to cache by project name.
  const SampleProjectDetailProvider._({
    required SampleProjectDetailFamily super.from,
    required String super.argument,
  }) : super(
         retry: null,
         name: r'sampleProjectDetailProvider',
         isAutoDispose: true,
         dependencies: null,
         $allTransitiveDependencies: null,
       );

  @override
  String debugGetCreateSourceHash() => _$sampleProjectDetailHash();

  @override
  String toString() {
    return r'sampleProjectDetailProvider'
        ''
        '($argument)';
  }

  @$internal
  @override
  $FutureProviderElement<SampleProject> $createElement(
    $ProviderPointer pointer,
  ) => $FutureProviderElement(pointer);

  @override
  FutureOr<SampleProject> create(Ref ref) {
    final argument = this.argument as String;
    return sampleProjectDetail(ref, argument);
  }

  @override
  bool operator ==(Object other) {
    return other is SampleProjectDetailProvider && other.argument == argument;
  }

  @override
  int get hashCode {
    return argument.hashCode;
  }
}

String _$sampleProjectDetailHash() =>
    r'6ea1bf329f69e0274df7f072ef1494ed04c3238d';

/// Sample Project Detail Provider
///
/// Fetches detail of a specific sample project by name.
/// Uses family modifier to cache by project name.

final class SampleProjectDetailFamily extends $Family
    with $FunctionalFamilyOverride<FutureOr<SampleProject>, String> {
  const SampleProjectDetailFamily._()
    : super(
        retry: null,
        name: r'sampleProjectDetailProvider',
        dependencies: null,
        $allTransitiveDependencies: null,
        isAutoDispose: true,
      );

  /// Sample Project Detail Provider
  ///
  /// Fetches detail of a specific sample project by name.
  /// Uses family modifier to cache by project name.

  SampleProjectDetailProvider call(String name) =>
      SampleProjectDetailProvider._(argument: name, from: this);

  @override
  String toString() => r'sampleProjectDetailProvider';
}
