{"id":18541307,"url":"https://github.com/cyclejs/callbags","last_synced_at":"2025-04-09T18:31:05.040Z","repository":{"id":41832520,"uuid":"236319566","full_name":"cyclejs/callbags","owner":"cyclejs","description":"A set of commonly used stream operators implemented as callbags with Typescript and ES modules","archived":false,"fork":false,"pushed_at":"2023-10-17T09:28:18.000Z","size":265,"stargazers_count":49,"open_issues_count":1,"forks_count":5,"subscribers_count":5,"default_branch":"master","last_synced_at":"2024-10-30T00:55:12.951Z","etag":null,"topics":["callbags","cyclejs","typescript"],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","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/cyclejs.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,"governance":null,"roadmap":null,"authors":null}},"created_at":"2020-01-26T13:58:56.000Z","updated_at":"2023-08-11T08:53:31.000Z","dependencies_parsed_at":"2023-12-18T04:44:27.871Z","dependency_job_id":null,"html_url":"https://github.com/cyclejs/callbags","commit_stats":{"total_commits":106,"total_committers":4,"mean_commits":26.5,"dds":"0.14150943396226412","last_synced_commit":"3f630e639fad9ffb1d6e2b4e64d6a0c110c9e06f"},"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cyclejs%2Fcallbags","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cyclejs%2Fcallbags/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cyclejs%2Fcallbags/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cyclejs%2Fcallbags/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cyclejs","download_url":"https://codeload.github.com/cyclejs/callbags/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248087681,"owners_count":21045564,"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","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":["callbags","cyclejs","typescript"],"created_at":"2024-11-06T20:04:41.625Z","updated_at":"2025-04-09T18:31:04.675Z","avatar_url":"https://github.com/cyclejs.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# @cycle/callbags\n\n![Build](https://github.com/cyclejs/callbags/workflows/Build/badge.svg) [![codecov](https://codecov.io/gh/cyclejs/callbags/branch/master/graph/badge.svg)](https://codecov.io/gh/cyclejs/callbags) [![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg)](https://github.com/prettier/prettier)\n\nThis is the set of [callbags](https://github.com/callbag/callbag/blob/master/readme.md) that will most likely be used in the next version of Cycle.js. They are written in TypeScript and export ES modules to allow for tree shaking. Also, the implementation is specifically tailored to the Cycle.js use case, so all of them are push-only. Using them with sink or operators that try to pull the sources here will most likely lead to bugs und weird behavior.\n\n## Building\n\nThis project uses [`pnpm`](https://pnpm.js.org/), other package managers might work, but only pnpm has a lockfile that pins dependencies. To build run:\n\n```\npnpm install\npnpm run build\n```\n\n## Implemented operators\n\nCurrently, the following set of operators is implemented, others might follow. Note that this repo is not designed to become the \"official\" home of callbags, so after a basic set is implemented it is very unlikely that further operators will be added. This is no problem in practise as all of the callbags here adhere to the spec, so you can easily mix and match them with any callbag operator out there.\n\n### Factories\n\n- [`fromArray`](./src/from.ts)\n- [`fromPromise`](./src/from.ts)\n- [`from`](./src/from.ts)\n- [`of`](./src/from.ts)\n- [`create`](./src/identities.ts)\n- [`never`](./src/identities.ts)\n- [`empty`](./src/identities.ts)\n- [`throwError`](./src/identities.ts)\n- [`merge`](./src/merge.ts)\n- [`combine`](./src/combine.ts)\n- [`combineWith`](./src/combine.ts)\n- [`makeSubject`](./src/subject.ts)\n- [`makeAsyncSubject`](./src/subject.ts)\n\n### Operators\n\n- [`map`](./src/map.ts)\n- [`scan`](./src/map.ts)\n- [`debug`](./src/map.ts)\n- [`take`](./src/take.ts)\n- [`first`](./src/take.ts)\n- [`filter`](./src/filter.ts)\n- [`startWith`](./src/startWith.ts)\n- [`drop`](./src/drop.ts)\n- [`last`](./src/drop.ts)\n- [`flatten`](./src/flatten.ts)\n- [`sample`](./src/sample.ts)\n- [`sampleWith`](./src/sample.ts)\n- [`sampleCombine`](./src/sample.ts)\n- [`multicast`](./src/multicast.ts)\n- [`remember`](./src/remember.ts)\n\n### Sinks\n\n- [`subscribe`](./src/subscribe.ts)\n\n### Helpers\n\n- [`pipe`](./src/pipe.ts)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcyclejs%2Fcallbags","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcyclejs%2Fcallbags","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcyclejs%2Fcallbags/lists"}