{"id":13741827,"url":"https://github.com/yrashk/zig-generator","last_synced_at":"2025-10-04T14:00:13.425Z","repository":{"id":45134403,"uuid":"441967297","full_name":"yrashk/zig-generator","owner":"yrashk","description":"Async generator type for Zig","archived":false,"fork":false,"pushed_at":"2022-01-06T05:17:32.000Z","size":1648,"stargazers_count":39,"open_issues_count":1,"forks_count":2,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-07-22T17:51:56.858Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Zig","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/yrashk.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-12-26T19:22:47.000Z","updated_at":"2024-08-15T19:52:21.000Z","dependencies_parsed_at":"2022-07-21T06:32:25.156Z","dependency_job_id":null,"html_url":"https://github.com/yrashk/zig-generator","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/yrashk/zig-generator","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yrashk%2Fzig-generator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yrashk%2Fzig-generator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yrashk%2Fzig-generator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yrashk%2Fzig-generator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/yrashk","download_url":"https://codeload.github.com/yrashk/zig-generator/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yrashk%2Fzig-generator/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278322145,"owners_count":25967874,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-04T02:00:05.491Z","response_time":63,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":[],"created_at":"2024-08-03T04:01:03.049Z","updated_at":"2025-10-04T14:00:13.365Z","avatar_url":"https://github.com/yrashk.png","language":"Zig","funding_links":[],"categories":["Libraries"],"sub_categories":[],"readme":"# Zig Generator\n\nThis library provides a way to write generators in Zig.\n\nFeatures:\n\n* Supports async generator functions\n* Propagates generator errors\n* Return value capture\n\n## Usage\n\nHere's an example of its basic usage:\n\n```zig\nconst std = @import(\"std\");\nconst gen = @import(\"generator\");\n\nconst Ty = struct {\n    pub fn generate(_: *@This(), handle: *gen.Handle(u8)) !u8 {\n        try handle.yield(0);\n        try handle.yield(1);\n        try handle.yield(2);\n        return 3;\n    }\n};\n\nconst G = gen.Generator(Ty, u8);\n\npub const io_mode = .evented;\n\npub fn main() !void {\n    var g = G.init(Ty{});\n\n    std.debug.assert((try g.next()).? == 0);\n    std.debug.assert((try g.next()).? == 1);\n    std.debug.assert((try g.next()).? == 2);\n    std.debug.assert((try g.next()) == null);\n    std.debug.assert(g.state.Returned == 3);\n}\n```\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyrashk%2Fzig-generator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyrashk%2Fzig-generator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyrashk%2Fzig-generator/lists"}