{"id":37001030,"url":"https://github.com/mista-bug/cardparser","last_synced_at":"2026-01-14T00:07:44.412Z","repository":{"id":314873479,"uuid":"1057088626","full_name":"mista-bug/cardparser","owner":"mista-bug","description":"Parses card game results from a standard 52 card deck.","archived":false,"fork":false,"pushed_at":"2025-09-15T09:55:27.000Z","size":13,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-09-15T11:23:07.378Z","etag":null,"topics":["card","card-game","deckofcards","gambling","igaming"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mista-bug.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-09-15T09:03:21.000Z","updated_at":"2025-09-15T09:55:31.000Z","dependencies_parsed_at":"2025-09-18T15:16:46.777Z","dependency_job_id":null,"html_url":"https://github.com/mista-bug/cardparser","commit_stats":null,"previous_names":["mista-bug/cardparser"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/mista-bug/cardparser","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mista-bug%2Fcardparser","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mista-bug%2Fcardparser/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mista-bug%2Fcardparser/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mista-bug%2Fcardparser/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mista-bug","download_url":"https://codeload.github.com/mista-bug/cardparser/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mista-bug%2Fcardparser/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28406481,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-13T21:51:37.118Z","status":"ssl_error","status_checked_at":"2026-01-13T21:45:14.585Z","response_time":56,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: 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":["card","card-game","deckofcards","gambling","igaming"],"created_at":"2026-01-14T00:07:43.772Z","updated_at":"2026-01-14T00:07:44.400Z","avatar_url":"https://github.com/mista-bug.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"## About\n\nA simple PHP library for parsing and representing card game data.\n\nCurrently supports : \n - Blackjack\n - Baccarat\n - Andar Bahar\n\n## ⚙️ Requirements\n\n- PHP 8.2+\n- Composer\n- PHPUnit (for running tests)\n\n## **Sample Usage**\n```php\n    $parser = new Parser(\n        cardString: 'B;C9;DQ:P1;D7;SJ:P2;H9;D2;H9:P3;SQ;C5',\n        gameCode: 'BJ',\n    );\n```\n\n## **Results**\n```php\nobject(MrBug\\Cardparser\\Parser)#646 (4) {\n  [\"game\":protected]=\u003e\n  object(MrBug\\Cardparser\\Game)#375 (3) {\n    [\"name\":protected]=\u003e\n    string(9) \"Blackjack\"\n    [\"code\"]=\u003e\n    string(2) \"BJ\"\n    [\"handCollection\"]=\u003e\n    array(4) {\n      [0]=\u003e\n      object(MrBug\\Cardparser\\Symbol)#655 (4) {\n        [\"code\":protected]=\u003e\n        string(1) \"B\"\n        [\"gameCode\":protected]=\u003e\n        string(2) \"BJ\"\n        [\"name\":protected]=\u003e\n        string(6) \"Banker\"\n        [\"hand\":protected]=\u003e\n        array(2) {\n          [0]=\u003e\n          object(MrBug\\Cardparser\\Card)#653 (5) {\n            [\"code\":protected]=\u003e\n            string(2) \"C9\"\n            [\"fullName\":protected]=\u003e\n            string(13) \"Nine of Clubs\"\n            [\"suit\":protected]=\u003e\n            string(1) \"C\"\n            [\"value\":protected]=\u003e\n            string(1) \"9\"\n            [\"dir\":protected]=\u003e\n            uninitialized(?string)\n            [\"dirLocation\":protected]=\u003e\n            uninitialized(?string)\n            [\"fileType\":protected]=\u003e\n            string(4) \".svg\"\n          }\n          [1]=\u003e\n          object(MrBug\\Cardparser\\Card)#652 (5) {\n            [\"code\":protected]=\u003e\n            string(2) \"DQ\"\n            [\"fullName\":protected]=\u003e\n            string(17) \"Queen of Diamonds\"\n            [\"suit\":protected]=\u003e\n            string(1) \"D\"\n            [\"value\":protected]=\u003e\n            string(1) \"Q\"\n            [\"dir\":protected]=\u003e\n            uninitialized(?string)\n            [\"dirLocation\":protected]=\u003e\n            uninitialized(?string)\n            [\"fileType\":protected]=\u003e\n            string(4) \".svg\"\n          }\n        }\n      }\n      [1]=\u003e\n      object(MrBug\\Cardparser\\Symbol)#651 (4) {\n        [\"code\":protected]=\u003e\n        string(2) \"P1\"\n        [\"gameCode\":protected]=\u003e\n        string(2) \"BJ\"\n        [\"name\":protected]=\u003e\n        string(8) \"Player 1\"\n        [\"hand\":protected]=\u003e\n        array(2) {\n          [0]=\u003e\n          object(MrBug\\Cardparser\\Card)#20 (5) {\n            [\"code\":protected]=\u003e\n            string(2) \"D7\"\n            [\"fullName\":protected]=\u003e\n            string(17) \"Seven of Diamonds\"\n            [\"suit\":protected]=\u003e\n            string(1) \"D\"\n            [\"value\":protected]=\u003e\n            string(1) \"7\"\n            [\"dir\":protected]=\u003e\n            uninitialized(?string)\n            [\"dirLocation\":protected]=\u003e\n            uninitialized(?string)\n            [\"fileType\":protected]=\u003e\n            string(4) \".svg\"\n          }\n          [1]=\u003e\n          object(MrBug\\Cardparser\\Card)#641 (5) {\n            [\"code\":protected]=\u003e\n            string(2) \"SJ\"\n            [\"fullName\":protected]=\u003e\n            string(14) \"Jack of Spades\"\n            [\"suit\":protected]=\u003e\n            string(1) \"S\"\n            [\"value\":protected]=\u003e\n            string(1) \"J\"\n            [\"dir\":protected]=\u003e\n            uninitialized(?string)\n            [\"dirLocation\":protected]=\u003e\n            uninitialized(?string)\n            [\"fileType\":protected]=\u003e\n            string(4) \".svg\"\n          }\n        }\n      }\n      [2]=\u003e\n      object(MrBug\\Cardparser\\Symbol)#645 (4) {\n        [\"code\":protected]=\u003e\n        string(2) \"P2\"\n        [\"gameCode\":protected]=\u003e\n        string(2) \"BJ\"\n        [\"name\":protected]=\u003e\n        string(8) \"Player 2\"\n        [\"hand\":protected]=\u003e\n        array(3) {\n          [0]=\u003e\n          object(MrBug\\Cardparser\\Card)#644 (5) {\n            [\"code\":protected]=\u003e\n            string(2) \"H9\"\n            [\"fullName\":protected]=\u003e\n            string(14) \"Nine of Hearts\"\n            [\"suit\":protected]=\u003e\n            string(1) \"H\"\n            [\"value\":protected]=\u003e\n            string(1) \"9\"\n            [\"dir\":protected]=\u003e\n            uninitialized(?string)\n            [\"dirLocation\":protected]=\u003e\n            uninitialized(?string)\n            [\"fileType\":protected]=\u003e\n            string(4) \".svg\"\n          }\n          [1]=\u003e\n          object(MrBug\\Cardparser\\Card)#598 (5) {\n            [\"code\":protected]=\u003e\n            string(2) \"D2\"\n            [\"fullName\":protected]=\u003e\n            string(15) \"Two of Diamonds\"\n            [\"suit\":protected]=\u003e\n            string(1) \"D\"\n            [\"value\":protected]=\u003e\n            string(1) \"2\"\n            [\"dir\":protected]=\u003e\n            uninitialized(?string)\n            [\"dirLocation\":protected]=\u003e\n            uninitialized(?string)\n            [\"fileType\":protected]=\u003e\n            string(4) \".svg\"\n          }\n          [2]=\u003e\n          object(MrBug\\Cardparser\\Card)#597 (5) {\n            [\"code\":protected]=\u003e\n            string(2) \"H9\"\n            [\"fullName\":protected]=\u003e\n            string(14) \"Nine of Hearts\"\n            [\"suit\":protected]=\u003e\n            string(1) \"H\"\n            [\"value\":protected]=\u003e\n            string(1) \"9\"\n            [\"dir\":protected]=\u003e\n            uninitialized(?string)\n            [\"dirLocation\":protected]=\u003e\n            uninitialized(?string)\n            [\"fileType\":protected]=\u003e\n            string(4) \".svg\"\n          }\n        }\n      }\n      [3]=\u003e\n      object(MrBug\\Cardparser\\Symbol)#596 (4) {\n        [\"code\":protected]=\u003e\n        string(2) \"P3\"\n        [\"gameCode\":protected]=\u003e\n        string(2) \"BJ\"\n        [\"name\":protected]=\u003e\n        string(8) \"Player 3\"\n        [\"hand\":protected]=\u003e\n        array(2) {\n          [0]=\u003e\n          object(MrBug\\Cardparser\\Card)#595 (5) {\n            [\"code\":protected]=\u003e\n            string(2) \"SQ\"\n            [\"fullName\":protected]=\u003e\n            string(15) \"Queen of Spades\"\n            [\"suit\":protected]=\u003e\n            string(1) \"S\"\n            [\"value\":protected]=\u003e\n            string(1) \"Q\"\n            [\"dir\":protected]=\u003e\n            uninitialized(?string)\n            [\"dirLocation\":protected]=\u003e\n            uninitialized(?string)\n            [\"fileType\":protected]=\u003e\n            string(4) \".svg\"\n          }\n          [1]=\u003e\n          object(MrBug\\Cardparser\\Card)#594 (5) {\n            [\"code\":protected]=\u003e\n            string(2) \"C5\"\n            [\"fullName\":protected]=\u003e\n            string(13) \"Five of Clubs\"\n            [\"suit\":protected]=\u003e\n            string(1) \"C\"\n            [\"value\":protected]=\u003e\n            string(1) \"5\"\n            [\"dir\":protected]=\u003e\n            uninitialized(?string)\n            [\"dirLocation\":protected]=\u003e\n            uninitialized(?string)\n            [\"fileType\":protected]=\u003e\n            string(4) \".svg\"\n          }\n        }\n      }\n    }\n  }\n  [\"cardString\":protected]=\u003e\n  string(37) \"B;C9;DQ:P1;D7;SJ:P2;H9;D2;H9:P3;SQ;C5\"\n  [\"handSeparator\":protected]=\u003e\n  string(1) \":\"\n  [\"cardSeparator\":protected]=\u003e\n  string(1) \";\"\n}\n```\n    \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmista-bug%2Fcardparser","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmista-bug%2Fcardparser","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmista-bug%2Fcardparser/lists"}