// GENERATED CODE - DO NOT MODIFY BY HAND

part of 'categories_provider.dart';

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

// GENERATED CODE - DO NOT MODIFY BY HAND
// ignore_for_file: type=lint, type=warning
/// Categories Provider
///
/// Fetches and caches product categories.
/// Automatically handles loading, error, and data states.
///
/// Usage:
/// ```dart
/// final categoriesAsync = ref.watch(categoriesProvider);
///
/// categoriesAsync.when(
///   data: (categories) => CategoryFilterChips(categories: categories),
///   loading: () => ShimmerLoader(),
///   error: (error, stack) => ErrorWidget(error),
/// );
/// ```

@ProviderFor(categories)
const categoriesProvider = CategoriesProvider._();

/// Categories Provider
///
/// Fetches and caches product categories.
/// Automatically handles loading, error, and data states.
///
/// Usage:
/// ```dart
/// final categoriesAsync = ref.watch(categoriesProvider);
///
/// categoriesAsync.when(
///   data: (categories) => CategoryFilterChips(categories: categories),
///   loading: () => ShimmerLoader(),
///   error: (error, stack) => ErrorWidget(error),
/// );
/// ```

final class CategoriesProvider
    extends
        $FunctionalProvider<
          AsyncValue<List<Category>>,
          List<Category>,
          FutureOr<List<Category>>
        >
    with $FutureModifier<List<Category>>, $FutureProvider<List<Category>> {
  /// Categories Provider
  ///
  /// Fetches and caches product categories.
  /// Automatically handles loading, error, and data states.
  ///
  /// Usage:
  /// ```dart
  /// final categoriesAsync = ref.watch(categoriesProvider);
  ///
  /// categoriesAsync.when(
  ///   data: (categories) => CategoryFilterChips(categories: categories),
  ///   loading: () => ShimmerLoader(),
  ///   error: (error, stack) => ErrorWidget(error),
  /// );
  /// ```
  const CategoriesProvider._()
    : super(
        from: null,
        argument: null,
        retry: null,
        name: r'categoriesProvider',
        isAutoDispose: true,
        dependencies: null,
        $allTransitiveDependencies: null,
      );

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

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

  @override
  FutureOr<List<Category>> create(Ref ref) {
    return categories(ref);
  }
}

String _$categoriesHash() => r'811c668d2624bbc198bc7c563ed14c7d9ffc390b';
