{"adoption": {"forks": 29, "observed_at": "2026-08-28T04:03:57.548463+00:00", "stars": 1197}, "canonical_url": "https://ross.abutalabs.com/products/ts-belt", "card": {"archived": false, "artifact_type": "library", "description": "🔧 Fast, modern, and practical utility library for FP in TypeScript.", "domain": ["developer-tools", "web-development"], "enriched": true, "function": ["serialization", "error-handling", "developer-tools"], "health_score": 20, "homepage": "https://mobily.github.io/ts-belt", "language": "TypeScript", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["mobily/ts-belt"], "name": "mobily/ts-belt", "platform": ["cross-platform"], "pushed_at": "2024-05-27T03:59:46+00:00", "repo": "mobily/ts-belt", "stars": 1197, "tags": ["functional-programming", "option-type", "result-type", "data-first", "immutable-data", "tree-shakeable", "rescript", "utility-library", "nodejs", "typescript"], "topics": ["typescript", "functional-programming", "fp", "monad", "option", "option-type", "result", "result-type", "array", "flow"], "urls": [], "use_cases": ["use Option and Result types to avoid null and exceptions in TypeScript", "replace lodash or ramda with a faster data-first functional utility library", "pipe and compose functions with immutable data transformations", "add type guards and safe array/string/object utilities to a TypeScript project", "write tree-shakeable functional code with no side effects"], "what_it_is": "ts-belt is a fast, modern utility library for functional programming in TypeScript, built with ReScript for high performance. It provides data-first utility functions for arrays, strings, numbers, and objects, plus Option and Result types for safer, side-effect-free code.", "when_to_avoid": ["you prefer data-last point-free style like ramda", "your project is plain JavaScript without TypeScript", "you need a huge ecosystem and community like lodash"], "when_to_choose": ["you want a fast, data-first FP utility library with strong TypeScript support", "you need Option and Result types for safer error handling", "performance matters and you want benchmarks beating lodash or ramda", "you want immutable, tree-shakeable utility functions"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/ts-belt", "repo": "mobily/ts-belt", "role": "main", "score": 23}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:03:57.548463+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T06:21:28.171432+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1e7db004468678fddd9ffbb677bef64fd622b3000c891e571cb46ef28b50249b", "fetched_at": "2026-08-28T04:03:57.548463+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mobily/ts-belt"}, {"content_hash": "3a4988dc9a4962a4419be8bc5414558c8de3f125a09b03dab82a833cb611ccf0", "fetched_at": "2026-08-29T12:28:48.679721+00:00", "kind": "homepage", "missing": false, "url": "https://mobily.github.io/ts-belt"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:03:57.548463+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T06:21:28.171432+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1e7db004468678fddd9ffbb677bef64fd622b3000c891e571cb46ef28b50249b", "fetched_at": "2026-08-28T04:03:57.548463+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mobily/ts-belt"}, {"content_hash": "3a4988dc9a4962a4419be8bc5414558c8de3f125a09b03dab82a833cb611ccf0", "fetched_at": "2026-08-29T12:28:48.679721+00:00", "kind": "homepage", "missing": false, "url": "https://mobily.github.io/ts-belt"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T06:21:28.171432+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1e7db004468678fddd9ffbb677bef64fd622b3000c891e571cb46ef28b50249b", "fetched_at": "2026-08-28T04:03:57.548463+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mobily/ts-belt"}, {"content_hash": "3a4988dc9a4962a4419be8bc5414558c8de3f125a09b03dab82a833cb611ccf0", "fetched_at": "2026-08-29T12:28:48.679721+00:00", "kind": "homepage", "missing": false, "url": "https://mobily.github.io/ts-belt"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:03:57.548463+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:03:57.548463+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:03:57.548463+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T06:21:28.171432+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1e7db004468678fddd9ffbb677bef64fd622b3000c891e571cb46ef28b50249b", "fetched_at": "2026-08-28T04:03:57.548463+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mobily/ts-belt"}, {"content_hash": "3a4988dc9a4962a4419be8bc5414558c8de3f125a09b03dab82a833cb611ccf0", "fetched_at": "2026-08-29T12:28:48.679721+00:00", "kind": "homepage", "missing": false, "url": "https://mobily.github.io/ts-belt"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:03:57.548463+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:03:57.548463+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T06:21:28.171432+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1e7db004468678fddd9ffbb677bef64fd622b3000c891e571cb46ef28b50249b", "fetched_at": "2026-08-28T04:03:57.548463+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mobily/ts-belt"}, {"content_hash": "3a4988dc9a4962a4419be8bc5414558c8de3f125a09b03dab82a833cb611ccf0", "fetched_at": "2026-08-29T12:28:48.679721+00:00", "kind": "homepage", "missing": false, "url": "https://mobily.github.io/ts-belt"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:03:57.548463+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:03:57.548463+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:03:57.548463+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T06:21:28.171432+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1e7db004468678fddd9ffbb677bef64fd622b3000c891e571cb46ef28b50249b", "fetched_at": "2026-08-28T04:03:57.548463+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mobily/ts-belt"}, {"content_hash": "3a4988dc9a4962a4419be8bc5414558c8de3f125a09b03dab82a833cb611ccf0", "fetched_at": "2026-08-29T12:28:48.679721+00:00", "kind": "homepage", "missing": false, "url": "https://mobily.github.io/ts-belt"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:03:57.548463+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:03:57.548463+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T06:21:28.171432+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1e7db004468678fddd9ffbb677bef64fd622b3000c891e571cb46ef28b50249b", "fetched_at": "2026-08-28T04:03:57.548463+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mobily/ts-belt"}, {"content_hash": "3a4988dc9a4962a4419be8bc5414558c8de3f125a09b03dab82a833cb611ccf0", "fetched_at": "2026-08-29T12:28:48.679721+00:00", "kind": "homepage", "missing": false, "url": "https://mobily.github.io/ts-belt"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T06:21:28.171432+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1e7db004468678fddd9ffbb677bef64fd622b3000c891e571cb46ef28b50249b", "fetched_at": "2026-08-28T04:03:57.548463+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mobily/ts-belt"}, {"content_hash": "3a4988dc9a4962a4419be8bc5414558c8de3f125a09b03dab82a833cb611ccf0", "fetched_at": "2026-08-29T12:28:48.679721+00:00", "kind": "homepage", "missing": false, "url": "https://mobily.github.io/ts-belt"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T06:21:28.171432+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1e7db004468678fddd9ffbb677bef64fd622b3000c891e571cb46ef28b50249b", "fetched_at": "2026-08-28T04:03:57.548463+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mobily/ts-belt"}, {"content_hash": "3a4988dc9a4962a4419be8bc5414558c8de3f125a09b03dab82a833cb611ccf0", "fetched_at": "2026-08-29T12:28:48.679721+00:00", "kind": "homepage", "missing": false, "url": "https://mobily.github.io/ts-belt"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T06:21:28.171432+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1e7db004468678fddd9ffbb677bef64fd622b3000c891e571cb46ef28b50249b", "fetched_at": "2026-08-28T04:03:57.548463+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mobily/ts-belt"}, {"content_hash": "3a4988dc9a4962a4419be8bc5414558c8de3f125a09b03dab82a833cb611ccf0", "fetched_at": "2026-08-29T12:28:48.679721+00:00", "kind": "homepage", "missing": false, "url": "https://mobily.github.io/ts-belt"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2102, "days_push": 828, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 23, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}