{"adoption": {"forks": 97, "observed_at": "2026-08-28T04:03:55.903233+00:00", "stars": 1190}, "canonical_url": "https://ross.abutalabs.com/products/mocker", "card": {"archived": false, "artifact_type": "library", "description": "Mock Alamofire and URLSession requests without touching your code implementation", "domain": ["testing", "developer-tools", "apis"], "enriched": true, "function": ["mocking", "testing", "http-client"], "health_score": 24, "homepage": null, "language": "Swift", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["WeTransfer/Mocker"], "name": "WeTransfer/Mocker", "platform": [], "pushed_at": "2024-12-11T15:19:36+00:00", "repo": "WeTransfer/Mocker", "stars": 1190, "tags": ["urlsession", "alamofire", "urlprotocol", "unit-testing", "swift-package-manager", "swift", "ios", "macos"], "topics": ["wt-branch-protection-two-approvals", "wt-branch-protection-exempt"], "urls": [], "use_cases": ["mock URLSession requests in unit tests", "mock Alamofire requests without changing implementation", "run networking tests offline", "mock JSON API responses in Swift tests", "simulate delayed or redirect responses in tests", "mock requests based on file extension"], "what_it_is": "Mocker is a Swift library that mocks data requests from URLSession and Alamofire using a custom URLProtocol, without changing app code. It lets developers run networking unit tests offline with registered mock responses.", "when_to_avoid": ["you need mocking for non-Apple platforms or non-Swift stacks", "you want full HTTP server simulation rather than URLProtocol interception", "your tests use networking libraries that bypass URL loading system protocols"], "when_to_choose": ["you write Swift unit tests that hit URLSession or Alamofire networking", "you want deterministic, offline network tests on Apple platforms", "you need to simulate delays, redirects, or specific response files"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/mocker", "repo": "WeTransfer/Mocker", "role": "main", "score": 23}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:03:55.903233+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T06:23:00.772156+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "065520307b8228198d063db43c761edc45b5f1dcafc4a064ef5c12fd52d6893c", "fetched_at": "2026-08-28T04:03:55.903233+00:00", "kind": "readme", "missing": false, "url": "https://github.com/WeTransfer/Mocker"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:03:55.903233+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T06:23:00.772156+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "065520307b8228198d063db43c761edc45b5f1dcafc4a064ef5c12fd52d6893c", "fetched_at": "2026-08-28T04:03:55.903233+00:00", "kind": "readme", "missing": false, "url": "https://github.com/WeTransfer/Mocker"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T06:23:00.772156+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "065520307b8228198d063db43c761edc45b5f1dcafc4a064ef5c12fd52d6893c", "fetched_at": "2026-08-28T04:03:55.903233+00:00", "kind": "readme", "missing": false, "url": "https://github.com/WeTransfer/Mocker"}], "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:55.903233+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:03:55.903233+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:03:55.903233+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T06:23:00.772156+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "065520307b8228198d063db43c761edc45b5f1dcafc4a064ef5c12fd52d6893c", "fetched_at": "2026-08-28T04:03:55.903233+00:00", "kind": "readme", "missing": false, "url": "https://github.com/WeTransfer/Mocker"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:03:55.903233+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:03:55.903233+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T06:23:00.772156+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "065520307b8228198d063db43c761edc45b5f1dcafc4a064ef5c12fd52d6893c", "fetched_at": "2026-08-28T04:03:55.903233+00:00", "kind": "readme", "missing": false, "url": "https://github.com/WeTransfer/Mocker"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:03:55.903233+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:03:55.903233+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:03:55.903233+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T06:23:00.772156+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "065520307b8228198d063db43c761edc45b5f1dcafc4a064ef5c12fd52d6893c", "fetched_at": "2026-08-28T04:03:55.903233+00:00", "kind": "readme", "missing": false, "url": "https://github.com/WeTransfer/Mocker"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:03:55.903233+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:03:55.903233+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T06:23:00.772156+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "065520307b8228198d063db43c761edc45b5f1dcafc4a064ef5c12fd52d6893c", "fetched_at": "2026-08-28T04:03:55.903233+00:00", "kind": "readme", "missing": false, "url": "https://github.com/WeTransfer/Mocker"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T06:23:00.772156+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "065520307b8228198d063db43c761edc45b5f1dcafc4a064ef5c12fd52d6893c", "fetched_at": "2026-08-28T04:03:55.903233+00:00", "kind": "readme", "missing": false, "url": "https://github.com/WeTransfer/Mocker"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T06:23:00.772156+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "065520307b8228198d063db43c761edc45b5f1dcafc4a064ef5c12fd52d6893c", "fetched_at": "2026-08-28T04:03:55.903233+00:00", "kind": "readme", "missing": false, "url": "https://github.com/WeTransfer/Mocker"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T06:23:00.772156+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "065520307b8228198d063db43c761edc45b5f1dcafc4a064ef5c12fd52d6893c", "fetched_at": "2026-08-28T04:03:55.903233+00:00", "kind": "readme", "missing": false, "url": "https://github.com/WeTransfer/Mocker"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3333, "days_push": 630, "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}}