{"id":32306523,"url":"https://github.com/farhanfadila1717/stream_duration","last_synced_at":"2026-02-22T00:02:39.347Z","repository":{"id":56840634,"uuid":"384427690","full_name":"farhanfadila1717/stream_duration","owner":"farhanfadila1717","description":"A dart package for stream duration, support countdown, countup, and countup infinity.","archived":false,"fork":false,"pushed_at":"2023-11-20T07:10:55.000Z","size":48,"stargazers_count":5,"open_issues_count":2,"forks_count":4,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-23T07:05:53.427Z","etag":null,"topics":["dart","duration","flutter","open-source","stopwatch"],"latest_commit_sha":null,"homepage":"","language":"Dart","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/farhanfadila1717.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2021-07-09T12:17:46.000Z","updated_at":"2024-06-12T13:38:32.000Z","dependencies_parsed_at":"2023-11-16T05:27:44.745Z","dependency_job_id":null,"html_url":"https://github.com/farhanfadila1717/stream_duration","commit_stats":{"total_commits":41,"total_committers":3,"mean_commits":"13.666666666666666","dds":0.09756097560975607,"last_synced_commit":"ecb3d46ebe05e25cf12ed747a299375b6449ebe0"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/farhanfadila1717/stream_duration","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/farhanfadila1717%2Fstream_duration","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/farhanfadila1717%2Fstream_duration/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/farhanfadila1717%2Fstream_duration/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/farhanfadila1717%2Fstream_duration/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/farhanfadila1717","download_url":"https://codeload.github.com/farhanfadila1717/stream_duration/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/farhanfadila1717%2Fstream_duration/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29699337,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-21T23:35:04.139Z","status":"ssl_error","status_checked_at":"2026-02-21T23:35:03.832Z","response_time":107,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dart","duration","flutter","open-source","stopwatch"],"created_at":"2025-10-23T07:04:18.976Z","updated_at":"2026-02-22T00:02:39.343Z","avatar_url":"https://github.com/farhanfadila1717.png","language":"Dart","funding_links":["https://www.paypal.me/farhanfadila1717"],"categories":[],"sub_categories":[],"readme":"## [![cover][]][cover]\n\nA dart package for stream duration, support countdown, countup, and countup infinity.\n\n----\n\n### Example Countdown\n```dart\nimport 'package:stream_duration/stream_duration.dart';\n\n\nvoid main() {\n  /// Countdown\n  final streamDuration = StreamDuration(\n    config: StreamDurationConfig(\n      autoPlay: true,\n      countDownConfig: CountDownConfig(\n        duration: Duration(seconds: 10),\n      ),\n      onDone: () =\u003e print('Stream Done 👍'),\n    ),\n  );\n\n  streamDuration.durationLeft.listen((event) {\n    print(event.inSeconds);\n  });\n}\n```\n\n### Output Countdown\n\n[![output][]][output]\n\n---\n\n### Example Count Up\n```dart\nimport 'package:stream_duration/stream_duration.dart';\n\n\nvoid main() {\n   /// Countup\n  final streamDuration = StreamDuration(\n    config: StreamDurationConfig(\n      autoPlay: true,\n      isCountUp: true,\n      countUpConfig: CountUpConfig(\n        /// the duration count up will start from zero\n        initialDuration: Duration.zero,\n        /// max duration can count up; \n        /// onDone will called if current duration \n        /// greater than equals maxDuration\n        maxDuration: Duration(seconds: 10),\n      ),\n      onDone: () =\u003e print('Stream Done 👍'),\n    ),\n  );\n\n  streamDurationUp.durationLeft.listen((event) {\n    print(event.inSeconds);\n  });\n}\n```\n\n### Output Count Up\n\n[![output up][]][output up]\n\n----\n\n### Example Count Up Infinity\n```dart\nimport 'package:stream_duration/stream_duration.dart';\n\n\nvoid main() {\n  final streamDuration = StreamDuration(\n    config: StreamDurationConfig(\n      autoPlay: true,\n      isCountUp: true,\n      countUpConfig: CountUpConfig(\n        /// the duration count up will start from zero\n        initialDuration: Duration.zero,\n        /// set max duration as null\n        /// for infinity count up \n        maxDuration: null,\n      ),\n      /// onDone never called \n      onDone: () =\u003e print('Stream Done 👍'),\n    ),\n  );\n}\n```\n\n### Output Count Up Infinity\n\n[![output infinity][]][output infinity]\n\n----\n\n### 🚧 Maintener \n[![account avatar][]][github account] \u003cbr\u003e\n**Farhan Fadila** \u003cbr\u003e\n📫 How to reach me: farhan.fadila1717@gmail.com\n\n### ❤️ Suport Maintener\n[![badge paypal][]][paypal account] [![badge linktree][]][linktree account]\n\n[cover]: https://raw.githubusercontent.com/farhanfadila1717/flutter_package/master/display/stream_duration/stream_duration.png\n[output]: https://raw.githubusercontent.com/farhanfadila1717/flutter_package/master/display/stream_duration/output.png\n[output up]: https://raw.githubusercontent.com/farhanfadila1717/flutter_package/master/display/stream_duration/output_1.png\n[output infinity]: https://raw.githubusercontent.com/farhanfadila1717/flutter_package/master/display/stream_duration/output_2.png\n[account avatar]: https://avatars.githubusercontent.com/u/43161050?s=80\n[github account]: https://github.com/farhanfadila1717\n[badge linktree]: https://img.shields.io/badge/Linktree-farhanfadila-orange\n[linktree account]: https://linktr.ee/farhanfadila\n[badge paypal]: https://img.shields.io/badge/Donate-PayPal-00457C?logo=paypal\n[paypal account]: https://www.paypal.me/farhanfadila1717\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffarhanfadila1717%2Fstream_duration","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffarhanfadila1717%2Fstream_duration","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffarhanfadila1717%2Fstream_duration/lists"}