// GENERATED CODE - DO NOT MODIFY BY HAND

part of 'product_filter_options_provider.dart';

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

// GENERATED CODE - DO NOT MODIFY BY HAND
// ignore_for_file: type=lint, type=warning
/// Product Filter Options Provider
///
/// Fetches and combines data from 3 Frappe APIs:
/// 1. Product Groups (Item Groups)
/// 2. Product Brands
/// 3. Product Attributes
///
/// Memory footprint: ~5-15 KB (negligible)
/// Cache strategy: Keep alive for session duration
///
/// Usage:
/// ```dart
/// final filterOptionsAsync = ref.watch(productFilterOptionsProvider);
///
/// filterOptionsAsync.when(
///   data: (options) => ProductFilterDrawer(options: options),
///   loading: () => const CustomLoadingIndicator(),
///   error: (error, stack) => ErrorWidget(error),
/// );
/// ```

@ProviderFor(productFilterOptions)
const productFilterOptionsProvider = ProductFilterOptionsProvider._();

/// Product Filter Options Provider
///
/// Fetches and combines data from 3 Frappe APIs:
/// 1. Product Groups (Item Groups)
/// 2. Product Brands
/// 3. Product Attributes
///
/// Memory footprint: ~5-15 KB (negligible)
/// Cache strategy: Keep alive for session duration
///
/// Usage:
/// ```dart
/// final filterOptionsAsync = ref.watch(productFilterOptionsProvider);
///
/// filterOptionsAsync.when(
///   data: (options) => ProductFilterDrawer(options: options),
///   loading: () => const CustomLoadingIndicator(),
///   error: (error, stack) => ErrorWidget(error),
/// );
/// ```

final class ProductFilterOptionsProvider
    extends
        $FunctionalProvider<
          AsyncValue<ProductFilterOptions>,
          ProductFilterOptions,
          FutureOr<ProductFilterOptions>
        >
    with
        $FutureModifier<ProductFilterOptions>,
        $FutureProvider<ProductFilterOptions> {
  /// Product Filter Options Provider
  ///
  /// Fetches and combines data from 3 Frappe APIs:
  /// 1. Product Groups (Item Groups)
  /// 2. Product Brands
  /// 3. Product Attributes
  ///
  /// Memory footprint: ~5-15 KB (negligible)
  /// Cache strategy: Keep alive for session duration
  ///
  /// Usage:
  /// ```dart
  /// final filterOptionsAsync = ref.watch(productFilterOptionsProvider);
  ///
  /// filterOptionsAsync.when(
  ///   data: (options) => ProductFilterDrawer(options: options),
  ///   loading: () => const CustomLoadingIndicator(),
  ///   error: (error, stack) => ErrorWidget(error),
  /// );
  /// ```
  const ProductFilterOptionsProvider._()
    : super(
        from: null,
        argument: null,
        retry: null,
        name: r'productFilterOptionsProvider',
        isAutoDispose: false,
        dependencies: null,
        $allTransitiveDependencies: null,
      );

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

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

  @override
  FutureOr<ProductFilterOptions> create(Ref ref) {
    return productFilterOptions(ref);
  }
}

String _$productFilterOptionsHash() =>
    r'253586215f05ca2fd1ccae7922b5925150614af0';
