class-validator
Hasura
class-validator | Hasura | |
---|---|---|
29 | 228 | |
10,501 | 30,832 | |
0.9% | 0.2% | |
9.2 | 9.8 | |
9 days ago | about 10 hours ago | |
TypeScript | TypeScript | |
MIT License | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
class-validator
-
Popular Libraries For Building Type-safe Web Application APIs
You can learn more from the documentation here.
-
[DDD] Tactical Design Patterns Part 3: Presentation/Infrastructure Layer
This is the request body when creating a new task. The IsString decorator provided by class-validator rejects all types other than strings, including undefined or null. The task name value object does not consider the possibility of values other than strings.
-
DRY Principle in Your AWS SAM Application with Middlewares
In this class, we are using the famous class-validator to decorate our request parameters. This way it is more clear how we are going to use our request object and everything.
-
Show HN: Graphweaver – Instant GraphQL API on Postgres, MySQL, SQLite and More
We add validation using https://github.com/typestack/class-validator.
I will make sure we get this documented.
- [Nestia] Boost up your NestJS server much faster and easier (maximum 20,000x faster)
-
How can I declare, integrate a JSON (or similar type that is supposed to be data sent from a server) file into my Angular app, and use it;s data to display the array of Devices within it?
Also OP can check out class-transformer + class-validator if he want to properly instantiate objects and validate them with precise and verbose output of potential format errors. OP can even go the god tier way by setting up a custom RxJS operator that does that for him easily.
-
NestJS GraphQL image upload into a S3 bucket
Start by installing the class-transformer and class-validator packages for dto validation (see more in the docs), sharp for image optimization, and the S3 client packages.
-
NestJS vs. Ditsmod: auto-validation
The description of the request body model in NestJS is similar to the description of Ditsmod models, but NestJS uses decorators provided by the utility class-validator. In NestJS, it is customary to name the request body model with the ending *Dto (this is an abbreviation of Data transfer object):
-
Is there any reason not to use typescript?
You could use Zod or Superstruct to validate the types of values, or use typestack/class-validator if it makes sense.
-
I found 10,000x faster TypeScript validator library
Also, title of before article was I made 1,000x faster TypeScript validator library, but today's benchmark is showing that typescript-json is maximum 6,500x times faster. It's just because I added a new library class-validator in the benchmark and it is much slower than previous zod. Of course, I've continuously tuned the performance, but it just improved the performance about 2x times only.
Hasura
-
Serious flaws in SQL – Edgar F. Codd (1990)
> 2. ORMs do not hide SQL nastiness.
This is certainly true!
I mean: ORMs are now well known to "make the easy queries slightly more easy, while making intermediate queries really hard and complex queries impossible".
I think the are of ORMs is over. It simply did not deliver.
If a book on SQL is --say-- 100 pages, a book on Hibernate is 400 pages. So much to learn just to make the easy queries slightly easier to type? Just not worth it.
I prefer jooq any day over ORMs. And dont get me started over what tools like Hasuna have to offer.
There are also some languages (forgot the names) that are SQL-done-right. Select in the back, more type safe, more logic, more in the same steps as the query gets executed. These need to be adopted by PG and MySQL and we're good to go. (IMHO)
https://www.jooq.org/
https://hasura.io/
-
Ask HN: How Can I Make My Front End React to Database Changes in Real-Time?
[4] https://github.com/hasura/graphql-engine/blob/master/architecture/live-queries.md
-
The Many Ways Not to Build an API
Another strategy is to model access control declaratively and enforce it in the application layer. ZenStack (built above Prisma ORM) and Hasura are good examples of this approach. The following code shows how access policies are defined with ZenStack and how a secured CRUD API can be derived automatically.
-
The 2024 Web Hosting Report
Today, this ecosystem is going strong with new providers like Hasura, AppWrite and Supabase powering millions of projects. There are a few reasons people choose this style of hosting, especially if they are more comfortable with frontend development. BaaS lets them set up a database in a secure way, expose some business logic on top of the data, and connect via a dev-friendly SDK from their app or website code to save data easily. These modern tools build a blend of managed database with curated plugins such as authentication, great admin dashboards, and function as a service type capability - all in one package, and often offered as a integrated hosted service.
-
Ask HN: Is There a Zapier for APIs?
Hi! If you’ve ever thought about something like using GraphQL for something like this.. You might like Hasura. (Obligatory I work for Hasura)
We’ve got an OpenAPI import and you can setup cron-jobs or one-off jobs and do things like load in headers from the environment variables to pass through. There isn’t currently an easy journey for chaining multiple calls together without writing any code at all, but you can wrap pretty much any API endpoint via OpenAPI import or a custom action, and you can even make minor edits to things like the API contract format to change aliases/naming.
Our goal is to join all the things, databases and API’s. Most people know us for instant GraphQL API’s that give you CRUD on your database, but we also wrap APIs.
Not sure if something like this would fit your use-case and do check out some of the other things mentioned, but depending what you are trying to do I think Hasura might potentially work.
You can find out more here: https://hasura.io
- Ask HN: What is the easiest way to create a CRUD web app in 2024?
-
2024 Web Development Wish List
Nested Mutation - 113 thumbs up, and still open since 2019... another case of not listening to the users?
- Hasura V3 Engine is in alpha
- Hasura: Instant GraphQL on your Postgres data
-
Hasura and Keycloak integration with NestJS server
Hasura is an open-source real-time GraphQL API server with a strong authorization layer on your database. You can subscribe to database events via webhooks. It can combine multiple API servers into one unified graphQL API. Hasura is a great tool to build any CRUD GraphQL API. Hasura does not have any authentication mechanisms; e.g., you need an auth server to handle sign-up and sign-in.
What are some alternatives?
zod - TypeScript-first schema validation with static type inference
supabase - The open source Firebase alternative.
joi - The most powerful data validation library for JS [Moved to: https://github.com/hapijs/joi]
postgrest - REST API for any Postgres database
class-transformer - Decorator-based transformation, serialization, and deserialization between objects and classes.
Kong - 🦍 The Cloud-Native API Gateway and AI Gateway.
TypeORM - ORM for TypeScript and JavaScript. Supports MySQL, PostgreSQL, MariaDB, SQLite, MS SQL Server, Oracle, SAP Hana, WebSQL databases. Works in NodeJS, Browser, Ionic, Cordova and Electron platforms.
crystal - 🔮 Graphile's Crystal Monorepo; home to Grafast, PostGraphile, pg-introspection, pg-sql2 and much more!
ajv - The fastest JSON schema Validator. Supports JSON Schema draft-04/06/07/2019-09/2020-12 and JSON Type Definition (RFC8927)
KrakenD - Ultra performant API Gateway with middlewares. A project hosted at The Linux Foundation
io-ts - Runtime type system for IO decoding/encoding
Neo4j - Graphs for Everyone