Daton is my work-in-progress application framework for Deno. It’s written from scratch, using native Deno libraries.
This library is a reincarnation of my Flitter framework for Node.js.
This library is organized as a mono-repo, and contains the following components:
- Daton ships with its own type-metadata based inversion of control container, which is used to manage services and the application lifecycle.
- It does this by injecting dependencies into class constructors using type-hints added to the metadata by TypeScript at compile time
- The Daton library contains common elements used in Daton, such as:
- Collections and AsyncCollections
- Classes for interacting with HTTP requests, responses, and cookies
- Logic for the application and lifecycle units
- Units for controllers, middleware, route definitions, &c.
- Daton also uses its own PostgreSQL ORM, which is ES6 native, and support a rich feature set, including:
- Class-based models
- Rich, fluent query builders
- Model relations, and nested relations, with eager loading
- Query result iterators, and custom query operators
- The work-in-progress app template