heavylist 0.1.1

heavylist #

An asynchronous or delayed loop

Getting Started #

A asynchronous,or delayed loop #

HeavyList<int> abc = new HeavyList<int>([1, 2, 3]);
  abc.loop(new Duration(seconds: 1), (List<int> origin) {
    print(origin);
  }, (int item, Function resume) {
    //simulating an asynchronous call
    new Timer(new Duration(seconds: 1), () {
      print(item);
      //move to next item
      resume();
    });
  });

A delayed loop #

HeavyList<int> abc = new HeavyList<int>([1, 2, 3]);
  abc.loop(new Duration(seconds: 1), (List<int> origin) {
    print(origin);
  }, (int item, Function resume) {
      print(item);
      //move to next item
      resume();
  });

Methods #

MethodDescription
addItemAt(dynamic item,int index)Add item at a specific index
addItem(item)Add item at the end of the list
addItemLoop(item)Add item at the end of the list and restart loop if completed
void removeItem(item)Remove Specifice Item
empty()Clear list
stop()Suspend loop
ListPause loop
resume()Resume loop

[0.0.1] - TODO: Add release date.

  • TODO: Describe initial release.

[0.0.2] - TODO: Add release date.

  • TODO: Describe initial release.

[0.0.3] - Thursday May 23,2019

  • Better documentation

[0.0.4] - Thursday May 23,2019

  • Better documentation

[0.0.5] - Thursday June 10,2019

  • Added pause and resume;

[0.0.6] - Thursday June 10,2019

  • Better state management

[0.0.7] - Thursday June 10,2019

  • Updated state management

[0.0.8] - Thursday June 10,2019

  • Bug Fixes

  • Updated Description

[0.1.1] - Thursday June 11,2019

  • Added addItemLoop

example/main.dart

import 'dart:async';

import 'package:heavylist/heavylist.dart';

main() {
  HeavyList<int> abc = new HeavyList<int>([1, 2, 3, 4, 5, 6]);
  abc.pause();
  new Timer(new Duration(milliseconds: 2000), () {
    print('resuming');
    abc.resume();
  });
  abc.loop(new Duration(milliseconds: 1000), (List<int> origin) {
    print('------------');
    print(origin);
    print('------------');
    abc.empty();
  }, (int item, Function resume) {
    new Timer(new Duration(milliseconds: 100), () {
      //simulating an asynchronous call
      print(item);
      print('completed ${item}');
      abc.clearRegistered();
      //move to next item
      resume();
    });
  });
  //Add an item and restart loop,please note a new subscription to begun and clear is needed here
  new Timer(new Duration(seconds: 20), () {
    abc.addItemLoop(7);
  });
}

Use this package as a library

1. Depend on it

Add this to your package's pubspec.yaml file:


dependencies:
  heavylist: ^0.1.1

2. Install it

You can install packages from the command line:

with Flutter:


$ flutter pub get

Alternatively, your editor might support flutter pub get. Check the docs for your editor to learn more.

3. Import it

Now in your Dart code, you can use:


import 'package:heavylist/heavylist.dart';
  
Popularity:
Describes how popular the package is relative to other packages. [more]
37
Health:
Code health derived from static analysis. [more]
100
Maintenance:
Reflects how tidy and up-to-date the package is. [more]
100
Overall:
Weighted score of the above. [more]
69
Learn more about scoring.

We analyzed this package on Aug 21, 2019, and provided a score, details, and suggestions below. Analysis was completed with status completed using:

  • Dart: 2.4.0
  • pana: 0.12.19
  • Flutter: 1.7.8+hotfix.4

Platforms

Detected platforms: Flutter

References Flutter, and has no conflicting libraries.

Dependencies

Package Constraint Resolved Available
Direct dependencies
Dart SDK >=2.1.0 <3.0.0
flutter 0.0.0
Transitive dependencies
collection 1.14.11 1.14.12
meta 1.1.6 1.1.7
sky_engine 0.0.99
typed_data 1.1.6
vector_math 2.0.8
Dev dependencies
flutter_test