पैकेज, रिपॉज़िटरी और ऐप श्रेणियाँ खोजें

पैकेज विवरणv2.0.0

simple_observable

Future, Stream और/या कॉलबैक का उपयोग करके मान परिवर्तनों का अवलोकन करें।

AndroidiOSWebmacOSWindowsLinux
30-दिन डाउनलोड
2 लाख
लाइक
6
Pub अंक
160

पैकेज इंस्टॉल करें

flutter pub add simple_observable

पैकेज अवलोकन

सार्वजनिक जानकारी से बना चयन मार्गदर्शन। केवल संदर्भ हेतु।

simple_observable एक हल्का Dart पैकेज है जो Futures, Streams या कॉलबैक के माध्यम से मूल्य परिवर्तनों के निरीक्षण को आसान बनाता है। यह बिल्ट-इन कोड के बिना डेटा अपडेट के प्रति प्रतिक्रिया देने के लिए एक स्पष्ट इंटरफ़ेस प्रदान करके प्रतिक्रियाशील प्रोग्रामिंग को सरल बनाता है। Flutter ऐप्स में राज्य प्रबंधन के लिए आदर्श है, जो Android, iOS, Web, macOS, Windows और Linux सहित कई प्लेटफ़ॉर्म को समर्थन देता है। यह पैकेज असिंक्रोनस डेटा फ्लो का ट्रैक करने में जटिलता को कम करके डेवलपर उत्पादकता को बढ़ाता है।

उपयोग

  • वास्तविक समय डेटा अपडेट
  • Flutter ऐप में अवस्था प्रबंधन
  • घटना-आधारित UI अपडेट
  • एसिंक डेटा स्ट्रीम का प्रबंधन
  • कॉलबैक तर्क को सरल बनाना

मुख्य विशेषताएँ

  • Futures और Streams का समर्थन करता है
  • कॉलबैक-आधारित अवलोकन
  • न्यूनतम बॉयलरप्लेट
  • क्रॉस-प्लेटफॉर्म संगतता
  • मौजूदा कोड के साथ आसान एकीकरण

इनके लिए उपयुक्त

  • सरल राज्य अद्यतन की आवश्यकता वाले विकासकर्ता
  • प्रतिक्रियाशील यूआई वाले फ्लटर ऐप की आवश्यकता होती है
  • भारी अवस्था प्रबंधन समाधानों से बचने वाले परियोजनाएँ
  • कोड सरलता को नियमित प्राथमिकता देने वाली टीमें
  • हल्के अवलोकन की आवश्यकता वाले एप्लिकेशन

विचार योग्य बातें

  • जटिल राज्य वृक्ष के लिए उपयुक्त नहीं
  • मूल अवलोकन पैटर्न तक सीमित
  • निर्मित अपवर्जन या वापसी कार्यक्षमता नहीं है
  • छोटे से मध्यम आकार के एप्लिकेशन के लिए सर्वोत्तम
  • सब्सक्रिप्शन का हैंडलिंग मैनुअल रूप से आवश्यक है

मूल README

संबंधित सोर्स रिपॉज़िटरी के मूल README का स्नैपशॉट। नवीनतम सामग्री के लिए रिपॉज़िटरी देखें।

pub.dev

simple_observable

Observe value changes using a Future, Stream, and/or a callback.

Source

class Observable<T> {
  Observable({T initialValue, this.onChanged, this.checkEquality = true})
      : _value = initialValue;

  /// If true, setting the [value] will only notifiy if the new value is different
  /// than the current value.
  final bool checkEquality;
  final void Function(T value) onChanged;

  var _completer = Completer<T>();

  bool _canceled = false;
  bool get canceled => _canceled;

  T _value;

  /// The current value of this observable.
  T get value => _value;
  set value(T val) {
    if (!canceled && (!checkEquality || _value != val)) {
      _value = val;
      // Delaying notify() allows the Future and Stream to update correctly.
      Future.delayed(Duration(microseconds: 1), () => notify(val));
    }
  }

  /// Alias for [value] setter. Good for passing to a Future or Stream.
  void setValue(T val) => value = val;

  @protected
  @mustCallSuper
  void notify(T val) {
    if (onChanged != null) onChanged(val);
    // Completing with a microtask allows a new completer to be constructed
    // before listeners of [nextValue] are called, allowing them to listen to
    // nextValue again if desired.
    _completer.complete(Future.microtask(() => val));
    _completer = Completer<T>();
  }

  Future<T> get nextValue => _completer.future;
  Stream<T> get values async* {
    while (!canceled) {
      yield await nextValue;
    }
  }

  /// Permanently disables this observable. Further changes to [value] will be
  /// ignored, the outputs [onChanged], [nextValue], and [values] will not be
  /// called again.
  @mustCallSuper
  void cancel() => _canceled = true;
}

श्रेणियाँ

निर्भरताएँ

निर्भरता सूची 1 आइटम

सोर्स रिपॉज़िटरी

इस पैकेज का उपयोग करने वाले प्रोजेक्ट