npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@twinlogix/typetta

v2.2.23

Published

<div align="center"> <br/> <br/> <a href="https://twinlogix.github.io/typetta/"> <img src="https://raw.githubusercontent.com/twinlogix/typetta/master/docs/assets/img/logo.png" width="316" height="50"> </a> <br/> Node.js ORM written in Type

Downloads

423

Readme

Typetta is an open-source ORM written in TypeScript that aims to allow seamless access to data in a typed fashion to all main SQL databases (MySQL, PostgreSQL, Microsoft SQL Server, SQLLite3, CockroachDB, MariaDB, Oracle e Amazon Redshift) and also to the NoSQL database MongoDB.

Typetta is pluggable into any TypeScript backend (including serverless applications and microservices) but in terms of gain we totally suggest using it in all GraphQL backends, because... because we simply love GraphQL.

How do I use Typetta?

With Typetta everything revolves around the data model, the entities that describe the application domain and all underlying relationships between them. This model is described in standard GraphQL, using all basic concepts (scalars, types, enumerations, etc...) and some custom directives.

Starting from the model output of the domain analysis, Typetta provides a range of code generators for:

  • Type definitions in TypeScript language for each entity in the model.

  • Data Access Object (aka DAO) for each entity type that has a corresponding data source. Each DAO is an object that the developer can also query with advanced CRUD operations.

  • An Entity Manager where the developer can configure each data source and retrieve the reference of any DAO.

  • A completely auto-generated GraphQL Endpoint with advanced CRUD operations to access and modify data.

Main Functionalities

Below is a brief description of what makes Typetta awesome:

  • Complete support of main SQL databases and also MongoDB.
  • Multiple databases, including the ability to cross query different databases.
  • Multiple connections and connection pooling.
  • Entity relationships: 1-1, 1-n, n-m.
  • Dynamic typing and corresponding data projections.
  • Pagination.
  • Can be extended using middlewares.
  • Customised scalars and serialisation of the database.
  • Autogenerated IDs.
  • Validation rules.
  • Virtual, computed and calculated fields.
  • Aggregation queries.
  • Ability to build custom queries.
  • Define data access security policies.
  • Embedded documents supported on MongoDB as well as SQL.
  • Automated code generation.
  • Effortless integration with GraphQL backends.
  • Optional automated GraphQL Endpoint generation for CRUD operations.
  • Transactions.
  • Logging.
  • Mocking.
  • Auditing.
  • Multi-tenancy partitioning.
  • Soft-delete.

Why Typetta?

Typetta fulfills the need of having a typed ORM connected to SQL and NoSQL databases designed with productivity and flexibility in mind.

The philosophy behind Typetta components has been to ensure ease of use and optimisation of development time, adding complexity (with direct access to data source) only when strictly needed.

In case you are still unsure, why use Typetta instead of other ORMs?

  • It's the ONLY TypeScript ORM that has full support for SQL and MongoDB databases.

  • A very strict typing system that 100% leverages TypeScript in providing types as responses based on the requested data type.

  • Using standard GraphQL as data modeling language opens the door to a whole set of instruments and third party tools.