{"id":15692811,"url":"https://github.com/ultirequiem/eloquent-javascript","last_synced_at":"2025-05-07T08:21:54.106Z","repository":{"id":39548167,"uuid":"482411892","full_name":"UltiRequiem/eloquent-javascript","owner":"UltiRequiem","description":"🐔 Solved with TypeScript and TDD","archived":false,"fork":false,"pushed_at":"2024-05-01T00:04:38.000Z","size":62,"stargazers_count":7,"open_issues_count":1,"forks_count":3,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-05-02T13:02:07.160Z","etag":null,"topics":["deno","eloquent-javascript","eloquent-typescript","javascript","tdd","testing","typescript"],"latest_commit_sha":null,"homepage":"https://ulti.js.org/eloquent-javascript","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/UltiRequiem.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}},"created_at":"2022-04-17T02:56:01.000Z","updated_at":"2024-10-04T19:16:58.000Z","dependencies_parsed_at":"2023-02-17T18:15:18.867Z","dependency_job_id":"aa9166a9-198a-4deb-898c-fed0f47fe605","html_url":"https://github.com/UltiRequiem/eloquent-javascript","commit_stats":{"total_commits":73,"total_committers":2,"mean_commits":36.5,"dds":"0.12328767123287676","last_synced_commit":"1a114de21ce5225f04b55000c9ede6a735b9ba2e"},"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UltiRequiem%2Feloquent-javascript","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UltiRequiem%2Feloquent-javascript/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UltiRequiem%2Feloquent-javascript/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UltiRequiem%2Feloquent-javascript/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/UltiRequiem","download_url":"https://codeload.github.com/UltiRequiem/eloquent-javascript/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252839687,"owners_count":21812150,"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":["deno","eloquent-javascript","eloquent-typescript","javascript","tdd","testing","typescript"],"created_at":"2024-10-03T18:40:23.443Z","updated_at":"2025-05-07T08:21:54.080Z","avatar_url":"https://github.com/UltiRequiem.png","language":"TypeScript","funding_links":["https://patreon.com/UltiRequiem"],"categories":[],"sub_categories":[],"readme":"# Eloquent JavaScript\n\n[![Code Coverage](https://codecov.io/gh/ultirequiem/eloquent-javascript/branch/main/graph/badge.svg)](https://codecov.io/gh/ultirequiem/eloquent-javascript)\n[![Deno Doc](https://doc.deno.land/badge.svg)](https://doc.deno.land/https/deno.land/x/eloquent/mod.ts)\n\n**[Read the book for free!](https://eloquentjavascript.net) 📖**\n\nI solved the exercises using [TypeScript](https://typescriptlang.org) and\n[Test Driven Development](https://github.com/dwyl/learn-tdd).\n\n### Language\n\n#### [Program Structure](https://eloquentjavascript.net/02_program_structure.html)\n\n- [Looping a Triangle](https://eloquentjavascript.net/02_program_structure.html#i_umoXp9u0e7) -\n  [Solution](https://github.com/UltiRequiem/eloquent-javascript/blob/main/src/language/triangle.ts) -\n  [Test](https://github.com/UltiRequiem/eloquent-javascript/blob/main/src/language/triangle.test.ts)\n\n- [FizzBuzz](https://eloquentjavascript.net/02_program_structure.html#i_rebKE3gdjV) -\n  [Solution](https://github.com/UltiRequiem/eloquent-javascript/blob/main/src/language/fizzbuzz.ts) -\n  [Test](https://github.com/UltiRequiem/eloquent-javascript/blob/main/src/language/fizzbuzz.test.ts)\n\n- [Chessboard](https://eloquentjavascript.net/02_program_structure.html#i_swb9JBtSQQ) -\n  [Solution](https://github.com/UltiRequiem/eloquent-javascript/blob/main/src/language/chessboard.ts) -\n  [Test](https://github.com/UltiRequiem/eloquent-javascript/blob/main/src/language/chessboard.test.ts)\n\n#### [Functions](https://eloquentjavascript.net/03_functions.html)\n\n- [Minimum](https://eloquentjavascript.net/03_functions.html#i_XTmO7z7MPq) -\n  [Solution](https://github.com/UltiRequiem/eloquent-javascript/blob/main/src/language/minimum.ts) -\n  [Test](https://github.com/UltiRequiem/eloquent-javascript/blob/main/src/language/minimum.test.ts)\n\n- [Recursion](https://eloquentjavascript.net/03_functions.html#i_jxl1p970Fy) -\n  [Solution](https://github.com/UltiRequiem/eloquent-javascript/blob/main/src/language/is_even.ts) -\n  [Test](https://github.com/UltiRequiem/eloquent-javascript/blob/main/src/language/is_even.test.ts)\n\n- [Bean Counting](https://eloquentjavascript.net/03_functions.html#i_3rsiDgC2do) -\n  [Solution](https://github.com/UltiRequiem/eloquent-javascript/blob/main/src/language/bean_counting.ts) -\n  [Test](https://github.com/UltiRequiem/eloquent-javascript/blob/main/src/language/bean_counting.test.ts)\n\n#### [Data Structures](https://eloquentjavascript.net/04_data.html)\n\n- [Range](https://eloquentjavascript.net/04_data.html#i_8ZspxiCEC) -\n  [Solution](https://github.com/UltiRequiem/eloquent-javascript/blob/main/src/language/range.ts) -\n  [Test](https://github.com/UltiRequiem/eloquent-javascript/blob/main/src/language/range.test.ts)\n\n- [Reversing an Array](https://eloquentjavascript.net/04_data.html#i_6xTmjj4Rf5) -\n  [Solution](https://github.com/UltiRequiem/eloquent-javascript/blob/main/src/language/reversing_array.ts) -\n  [Test](https://github.com/UltiRequiem/eloquent-javascript/blob/main/src/language/reversing_array.test.ts)\n\n- [List](https://eloquentjavascript.net/04_data.html#i_nSTX34CM1M) -\n  [Solution](https://github.com/UltiRequiem/eloquent-javascript/blob/main/src/language/list.test.ts) -\n  [Test](https://github.com/UltiRequiem/eloquent-javascript/blob/main/src/language/list.test.ts)\n\n- [Deep Equal](https://eloquentjavascript.net/04_data.html#i_IJBU+aXOIC) -\n  [Solution](https://github.com/UltiRequiem/eloquent-javascript/blob/main/src/language/deep_equal.ts) -\n  [Test](https://github.com/UltiRequiem/eloquent-javascript/blob/main/src/language/deep_equal.test.ts)\n\n## Usage\n\nThe vast majority of solutions are completely reusable functions, so I decided\nto package them.\n\nThe API is the same on all this platforms ✔️\n\n### [Deno 🦕](https://deno.land/x/eloq)\n\n```javascript\nimport * as eloq from \"https://deno.land/x/eloq/mod.ts\";\n```\n\n### [Node.js 🐢🚀](https://npmjs.com/package/eloq)\n\n```javascript\nimport * as eloq from \"eloq\";\n```\n\n### [Browser 🌐](https://developer.mozilla.org/en-US/docs/Glossary/Browser)\n\nYou can use any [CDN](https://en.wikipedia.org/wiki/Content_delivery_network) 🔥\n\nEg 👉\n[ESM](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Modules) ↔️\n[SkyPack](https://cdn.skypack.dev/eloq) 🆚\n[Script Tag](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/script)\n↔️ [JSDelivr](https://cdn.jsdelivr.net/npm/eloq)\n\n## Documentation\n\nIs hosted on [Deno Doc](https://doc.deno.land/https://deno.land/x/eloq/mod.ts) 📄\n\n## Support\n\nOpen an Issue, I will check it a soon as possible 👀\n\nIf you want to hurry me up a bit\n[send me a tweet](https://twitter.com/UltiRequiem) 😆\n\nConsider [supporting me on Patreon](https://patreon.com/UltiRequiem) if you like\nmy work 🙏\n\nDon't forget to start the repo ⭐\n\n## Versioning\n\nWe use [Semantic Versioning](http://semver.org). For the versions available, see\nthe [tags](https://github.com/UltiRequiem/eloquent-javascript/tags) 🏷️\n\n## Authors\n\n[Eliaz Bobadilla](https://ultirequiem.com) - Creator and Maintainer 💪\n\nSee also the full list of\n[contributors](https://github.com/UltiRequiem/eloquent-javascript/contributors)\nwho participated in this project ✨\n\n## Licence\n\nLicensed under the MIT License 📄\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fultirequiem%2Feloquent-javascript","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fultirequiem%2Feloquent-javascript","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fultirequiem%2Feloquent-javascript/lists"}