{"id":19198324,"url":"https://github.com/david-luna/basol","last_synced_at":"2026-01-22T20:10:11.661Z","repository":{"id":42482592,"uuid":"418389915","full_name":"david-luna/basol","owner":"david-luna","description":"Basic observer library","archived":false,"fork":false,"pushed_at":"2025-11-10T10:39:22.000Z","size":518,"stargazers_count":2,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-11-10T12:19:07.958Z","etag":null,"topics":["library","observable"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/david-luna.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,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2021-10-18T07:25:26.000Z","updated_at":"2025-11-10T10:39:06.000Z","dependencies_parsed_at":"2024-01-05T01:01:40.452Z","dependency_job_id":"cef8cf84-42d0-4d1a-9b75-96e817def4ac","html_url":"https://github.com/david-luna/basol","commit_stats":{"total_commits":70,"total_committers":2,"mean_commits":35.0,"dds":"0.014285714285714235","last_synced_commit":"3ada53a2919b65b9c8bbeca9862ccc8dac456de3"},"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"purl":"pkg:github/david-luna/basol","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/david-luna%2Fbasol","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/david-luna%2Fbasol/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/david-luna%2Fbasol/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/david-luna%2Fbasol/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/david-luna","download_url":"https://codeload.github.com/david-luna/basol/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/david-luna%2Fbasol/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28670366,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-22T19:36:09.361Z","status":"ssl_error","status_checked_at":"2026-01-22T19:36:05.567Z","response_time":144,"last_error":"SSL_read: 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":["library","observable"],"created_at":"2024-11-09T12:21:13.780Z","updated_at":"2026-01-22T20:10:11.656Z","avatar_url":"https://github.com/david-luna.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# basol\n\nBasic observer library\n\n[![GitHub license](https://img.shields.io/npm/l/csset.svg)](https://github.com/david-luna/basol/blob/master/README.md)\n[![Issues](https://img.shields.io/github/issues/david-luna/basol.svg)](https://github.com/david-luna/basol/issues)\n[![Build Status](https://github.com/david-luna/basol/actions/workflows/test.yml/badge.svg)](https://github.com/david-luna/basol/actions)\n[![Coverage Status](https://img.shields.io/coveralls/github/david-luna/basol)](https://coveralls.io/github/david-luna/basol)\n![Code Size](https://img.shields.io/bundlephobia/minzip/basol.svg)\n![Weekly downloads](https://img.shields.io/npm/dw/basol.svg)\n\n## Summary\n\nThis is a personal implementation of the observer pattern taking rxjs as a template for its API. This lib does not pretend to be a substitute or competitor of such library but rather a place for experiementation and learning.\n\nThe library tries to mimic the same API for producers (here called factories) and operators. Method signatures are extracted from the original [rxjs docs](https://rxjs.dev/guide/operators).\n\nTests try to be as accurate as possible but the behavior may differ. Also the implementations of the factories and\noperators do not use utils and I tried to avoid any internal dependency.\n\n## Release notes\n\n### [0.5.1]\n\n* Added trusted publishing and provenance\n\n### [0.5.0]\n\n* BREAKING CHANGE: the package has been migrated from TypeScript to\n  JavaScript + JsDocs for types. In this migration I've decided to make the\n  package ESM only so `require` would fail to load the lib. The new flag\n  `--experimental-require-module` can be used to load the lib if your app\n  is in `commonjs` format. Checkout [the docs](https://nodejs.org/docs/latest/api/modules.html#loading-ecmascript-modules-using-require).\n* Add `tap` operator\n\n### [0.4.0]\n\n* Fix barrel files to expose latest operators and factories\n\n### [0.3.0]\n\n* Add `mergeMap` operator\n\n### [0.2.0]\n\n* Add `withLatestFrom` operator\n\n### [0.1.0]\n\n* Add `combineLatest` factory method\n\n### [0.0.3]\n\n* Add `fromEventPattern` factory method\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdavid-luna%2Fbasol","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdavid-luna%2Fbasol","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdavid-luna%2Fbasol/lists"}