{"id":16802901,"url":"https://github.com/thomask33/node-underlords","last_synced_at":"2025-03-17T09:42:33.889Z","repository":{"id":38818966,"uuid":"293310462","full_name":"ThomasK33/node-underlords","owner":"ThomasK33","description":"Dota Underlords share codes encoding \u0026 decoding in TypeScript ","archived":false,"fork":false,"pushed_at":"2025-03-09T17:54:34.000Z","size":2034,"stargazers_count":1,"open_issues_count":6,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-09T18:32:03.660Z","etag":null,"topics":["board","boardcode","code","dota","dota-underlords","dota2","share","sharecode","underlords","valve"],"latest_commit_sha":null,"homepage":"","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/ThomasK33.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"code-of-conduct.md","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}},"created_at":"2020-09-06T15:54:45.000Z","updated_at":"2025-03-09T17:53:37.000Z","dependencies_parsed_at":"2024-10-13T09:41:05.273Z","dependency_job_id":"d6fc4328-2c55-4719-8564-17547622cbb8","html_url":"https://github.com/ThomasK33/node-underlords","commit_stats":{"total_commits":357,"total_committers":4,"mean_commits":89.25,"dds":"0.11484593837535018","last_synced_commit":"363727f20a65cd3ddd18d24164b4b12833861538"},"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ThomasK33%2Fnode-underlords","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ThomasK33%2Fnode-underlords/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ThomasK33%2Fnode-underlords/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ThomasK33%2Fnode-underlords/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ThomasK33","download_url":"https://codeload.github.com/ThomasK33/node-underlords/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244011581,"owners_count":20383440,"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":["board","boardcode","code","dota","dota-underlords","dota2","share","sharecode","underlords","valve"],"created_at":"2024-10-13T09:41:00.738Z","updated_at":"2025-03-17T09:42:33.855Z","avatar_url":"https://github.com/ThomasK33.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Node-Underlords\n\n![GitHub package.json version](https://img.shields.io/github/package-json/v/ThomasK33/node-underlords)\n![Node.js CI](https://github.com/ThomasK33/node-underlords/workflows/Node.js%20CI/badge.svg)\n[![Coverage Status](https://coveralls.io/repos/github/ThomasK33/node-underlords/badge.svg?branch=master)](https://coveralls.io/github/ThomasK33/node-underlords?branch=master)\n![node-current](https://img.shields.io/node/v/underlords)\n![NPM](https://img.shields.io/npm/l/underlords)\n\nTypeScript / JavaScript library for Dota Underlords.\n\n---\n\n## Features\n\n- Share code parsing\n- Share code encoding\n\n## Installation\n\nThis is a [Node.js](https://nodejs.org/) module available through the [NPM registry](https://www.npmjs.com/) and [GitHub Packages](https://github.com/features/packages).\n\nBefore installing, please download and install a Node.js version greater or equal to 10.0.\n\nInstallation of the module is done using the npm install command:\n\n```bash\nnpm install underlords\n```\n\n## Quick Start\n\n```javascript\nimport { ShareCodeV8 } from \"underlords\";\n\n// Parse an Underlords share code to a ShareCodeV8 instance\nconst shareCodeString =\n\t\"8qAMAAP4BAK4BAATjJ/5uAEZuAAAgEVM0LgAAAG0AbQAACwAAAP8BDAABCRsI/wAJARcBAQAOAQUBAQAGES0QbUBHOlcBEmoBAAFIACABaBABAyAAEAEpLAIgIAAwAAAGAgEgAAWCAHUR2gB0EQkBAQRjAAVyLBAAAgABBAMGdycAdy4fAK4BAA==\";\nconst shareCode = ShareCodeV8.fromBase64String(shareCodeString);\n\n// Log board unit at index 0x0\nconsole.log(shareCode.boardUnitIDs[0][0]);\n// -\u003e 32 (Abaddon)\n\n// Log unit item at index 4x4\nconsole.log(shareCode.unitItems[4][4].itemID);\n// -\u003e 10211 (maelstrom_rot1)\n\n// Change unit at 0x0 to unit id 46 (Alchemist)\nshareCode.boardUnitIDs[0][0] = 46;\n\nconst resultingShareCode = shareCode.toBase64String();\n// -\u003e 8qAMAAP4BAK4BAATjJ/5uAEZuAAAuEVMBCThtAG0AAAsAAAD/AABtAAEJGwj/AAkBFwEBAA4BBQEBBAYAASEcbQAAbUBHOlcBEmoBAAFIJCAgAAAAAQMgABABKTACICAAMAAABgIBIAAAARoAdRHaAHQRCQEBBGMABXIsEAACAAEEAwZ3JwB3Lh8ArgEA\n```\n\nFor all available fields, visit the API Docs of the [current share code](https://thomask33.github.io/node-underlords/classes/sharecodev8.html).\n\nFor unit and items ids, visit the [Fortify Repo](https://github.com/Fortify-Labs/Fortify/tree/master/services/shared/src/assets).\n\n## Docs \u0026 Community\n\n- [API Docs](https://thomask33.github.io/node-underlords/)\n- [Discord Server](https://discord.gg/u9qJxzQ) (I'm Grey#1214)\n\n## Contributing\n\n[Contributing Guide](https://github.com/ThomasK33/node-underlords/blob/master/CONTRIBUTING.md)\n\n## License\n\n[MIT](https://github.com/ThomasK33/node-underlords/blob/master/LICENSE)\n\n## Disclaimer\n\nThis project is not affiliated with Valve Corporation.\nDota Underlords, Dota and Steam are registered trademarks of Valve Corporation.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthomask33%2Fnode-underlords","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthomask33%2Fnode-underlords","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthomask33%2Fnode-underlords/lists"}