{"id":20973940,"url":"https://github.com/lkwr/dar","last_synced_at":"2026-05-19T01:39:47.108Z","repository":{"id":41902334,"uuid":"477374575","full_name":"lkwr/dar","owner":"lkwr","description":"A TypeScript Decorator based API router for Deno.","archived":false,"fork":false,"pushed_at":"2024-02-15T09:37:57.000Z","size":83,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-20T19:06:34.536Z","etag":null,"topics":["deno","denoland","typescript","typescript-decorators"],"latest_commit_sha":null,"homepage":"https://deno.land/x/dar","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/lkwr.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}},"created_at":"2022-04-03T14:58:33.000Z","updated_at":"2023-05-23T07:25:51.000Z","dependencies_parsed_at":"2024-11-17T14:21:52.310Z","dependency_job_id":null,"html_url":"https://github.com/lkwr/dar","commit_stats":{"total_commits":18,"total_committers":1,"mean_commits":18.0,"dds":0.0,"last_synced_commit":"d8cddf4bac1314ed82ea1a957d23569d0ab80578"},"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lkwr%2Fdar","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lkwr%2Fdar/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lkwr%2Fdar/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lkwr%2Fdar/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lkwr","download_url":"https://codeload.github.com/lkwr/dar/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243374210,"owners_count":20280657,"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","denoland","typescript","typescript-decorators"],"created_at":"2024-11-19T04:25:24.766Z","updated_at":"2026-05-19T01:39:47.052Z","avatar_url":"https://github.com/lkwr.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# This project is unmaintained, take a look at the successor [SentiumJS](https://github.com/sentium-js/sentium)!\n\nThis project is currently experimental and may not work properly! If you find any bug, please write an issue.\n\n\u003ch1 align=\"center\"\u003e\n  \u003cimg src=\"https://raw.githubusercontent.com/lkwr/dar/main/assets/logo.png\" alt=\"DAR\" width=\"200\"\u003e\n  \u003cbr\u003e\n  DAR\n\u003c/h1\u003e\n\n\u003ch4 align=\"center\"\u003eA \u003ca href=\"https://www.typescriptlang.org/docs/handbook/decorators.html\" target=\"_blank\"\u003eTypeScript Decorator\u003c/a\u003e based API router for \u003ca href=\"https://deno.land\"\u003eDeno\u003c/a\u003e.\u003c/h4\u003e\n\n\u003cp align=\"center\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/made%20for-Deno-6B82F6?style=flat-square\" alt=\"Made for Deno\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/license/lkwr/dar?color=blue\u0026style=flat-square\" alt=\"Licence MIT\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/v/tag/lkwr/dar?color=informational\u0026label=version\u0026sort=semver\u0026style=flat-square\" alt=\"Latest version\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/last-commit/lkwr/dar?style=flat-square\" alt=\"Latest commit\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/status-WIP-red?style=flat-square\" alt=\"Status WIP\"\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"#key-features\"\u003eKey Features\u003c/a\u003e •\n  \u003ca href=\"#introduction\"\u003eIntroduction\u003c/a\u003e •\n  \u003ca href=\"#how-to-use\"\u003eHow To Use\u003c/a\u003e •\n  \u003ca href=\"#run-the-example\"\u003eExample\u003c/a\u003e •\n  \u003ca href=\"#credits\"\u003eCredits\u003c/a\u003e •\n  \u003ca href=\"#license\"\u003eLicense\u003c/a\u003e\n\u003c/p\u003e\n\n## Key Features\n\n-   Typescript with [Decorators](https://www.typescriptlang.org/docs/handbook/decorators.html)\n-   Made for [Deno](https://deno.land)\n    -   works with [Deno Deploy](https://deno.com/deploy)\n-   Lightweight\n-   Zero _third party_ dependencies (only [std](https://deno.land/std) \u0026 my own modules ([x/vade](https://deno.land/x/vade)))\n-   Highly customizable\n-   Controller nesting (using `@Include()`)\n-   Native [URLPattern](https://developer.mozilla.org/en-US/docs/Web/API/URL_Pattern_API) routing\n\n## Introduction\n\nDAR (formerly Pterosaur) stands for \"**D**ecorator based **A**PI **R**outer\" and is aimed to be used as a REST API Server, which primarily uses JSON data. It is built to support [Deno Deploy](https://deno.com/deploy).\n\n## How To Use\n\nDAR is available via Deno's Thrid Party Modules.\n\n```ts\nimport { ... } from 'https://deno.land/x/dar/mod.ts';\n```\n\nCreate a simple controller class.\n\n```ts\n@Controller()\nclass SomeClass {\n    // Methods here\n}\n```\n\nCreate a simple get method.\n\n```ts\n@Get()\nsomeMethod() {\n    return { success: true }\n}\n```\n\nCreate the application\n\n```ts\nconst app: Application = new Application({\n    controller: [SomeClass],\n});\n```\n\nAnd register the handler. We use Deno's Standard Library\n\n```ts\nawait serve((request: Request) =\u003e app.handle(request), { port: 8080 });\n```\n\nAnd all together\n\n```ts\nimport { ... } from 'https://deno.land/x/dar/mod.ts';\n\n@Controller()\nclass SomeClass {\n    @Get()\n    someMethod() {\n        return { success: true }\n    }\n}\n\nconst app: Application = new Application({\n    controller: [SomeClass],\n});\n\nawait serve((request: Request) =\u003e app.handle(request), { port: 8080 });\n```\n\n## Run the example\n\n```bash\n$ deno run --allow-net https://deno.land/x/dar/examples/basic.ts\n```\n\n## Known issues\n\n-   Include decorator not working in Deno Deploy. Need to use controller options to nest controllers!\n\n## You may also like...\n\n-   [Alosaur](https://github.com/alosaur/alosaur) - Another decorator based router\n\n## Credits\n\nThis software uses the following open source projects:\n\n-   [Deno Standard Modules](https://deno.land/std)\n-   [Dinosaur icons created by Darius Dan - Flaticon](https://www.flaticon.com/free-icons/dinosaur)\n\n## License\n\nMIT\n\n---\n\n\u003e Homepage [luke.id](https://luke.id) \u0026nbsp;\u0026middot;\u0026nbsp;\n\u003e GitHub [@lkwr](https://github.com/lkwr) \u0026nbsp;\u0026middot;\u0026nbsp;\n\u003e Twitter [@wlkrlk](https://twitter.com/wlkrlk)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flkwr%2Fdar","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flkwr%2Fdar","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flkwr%2Fdar/lists"}