@stenodb/fastify
v4.0.1
Published
> ✍ Easy to use local JSON database for [Fastify](https://fastify.io)
Downloads
12
Readme
@stenodb/fastify
✍ Easy to use local JSON database for Fastify
Install
npm install @stenodb/fastify
yarn add @stenodb/fastify
pnpm add @stenodb/fastify
Usage
// index.ts
import Fastify from 'fastify'
import { resolve } from 'node:path'
import { AsyncAdapter, FastifySteno } from '@stenodb/fastify'
import { Users, User } from './entities.js'
const fastify = Fastify()
const initialData = new Users(
new User('John'),
new User('Alice')
)
const usersAdapter = new AsyncAdapter(
'users',
Users,
initialData
)
fastify.register(FastifySteno, {
path: resolve(dirname(fileURLToPath(import.meta.url)), '..', 'db'),
entities: [User, Post],
adapters: [usersAdapter]
})
fastify.get('/users', () => {
const users = fastify.steno.get<Users>('users')
return users.data
})
fastify.listen({ host: '0.0.0.0', port: 3000 }, (err, address) => {
if (err) throw err
console.log(address)
})
Credits
- steno - Specialized fast async file writer.
- fastify-plugin - Plugin helper for Fastify.
- class-transformer - Decorator-based transformation, serialization, and deserialization between objects and classes.
- class-validator - Decorator-based property validation for classes.
- class-validator-jsonschema - Convert
class-validator
decorated classes into JSON schema. - json-difference - A simple way to find the difference between two objects or json diff.
- tslog - Universal Logger for TypeScript and JavaScript.
License
MIT - crashmax