1.1.2 • Published 2 years ago
atonal v1.1.2
Atonal Framework
The most straight-forward Fastify-based web framework
Usage example
import { transform, Type, useAtonal, useRouter } from 'atonal'
const atonal = useAtonal()
const router = useRouter()
const userRouter = useRouter()
const postRouter = useRouter()
postRouter.get('/', {
schema: {
params: Type.Object({
userId: Type.Optional(Type.String({ format: 'integer' })),
}),
},
handler: async req => {
const { userId } = transform(req.params, { userId: Number })
return { userId }
},
})
userRouter.get('/', {
schema: {
querystring: Type.Object({
limit: Type.Optional(Type.String({ format: 'integer' })),
skip: Type.Optional(Type.String({ format: 'integer' })),
}),
},
handler: async req => {
const { limit = 20, skip = 0 } = transform(req.query, {
limit: Number,
skip: Number,
})
return { limit, skip }
},
})
userRouter.get('/:userId', {
schema: {
params: Type.Object({
userId: Type.String({ format: 'integer' }),
}),
},
handler: async req => {
const { userId } = transform(req.params, { userId: Number })
return { userId }
},
})
userRouter.use('/:userId/posts', postRouter)
router.use('/users', userRouter)
router.use('/posts', postRouter)
atonal.use(router.compile(), { prefix: '/api' })
atonal.listen(3000, '0.0.0.0', err => {
if (err) {
console.error(err)
} else {
console.log('Hello world!')
}
})
1.1.2
2 years ago
1.1.0
2 years ago
1.0.42
2 years ago
1.0.41
2 years ago
1.0.40
2 years ago
1.0.38
2 years ago
1.0.37
2 years ago
1.0.36
2 years ago
1.0.35
2 years ago
1.0.34
2 years ago
1.0.33
2 years ago
1.0.32
2 years ago
1.0.31
2 years ago
1.0.30
2 years ago
1.0.29
2 years ago
1.0.28
2 years ago
1.0.27
2 years ago
1.0.26
2 years ago
1.0.25
2 years ago
1.0.24
2 years ago
1.0.23
2 years ago
1.0.22
2 years ago
1.0.21
2 years ago
1.0.20
2 years ago
1.0.19
2 years ago
1.0.18
2 years ago
1.0.17
2 years ago
1.0.16
2 years ago
1.0.15
2 years ago
1.0.14
2 years ago
1.0.13
2 years ago
1.0.12
2 years ago
1.0.11
2 years ago
1.0.10
2 years ago
1.0.9
2 years ago
1.0.8
2 years ago
1.0.7
2 years ago
1.0.6
2 years ago
1.0.5
2 years ago
1.0.4
2 years ago
1.0.3
2 years ago
1.0.2
2 years ago
1.0.1
2 years ago
1.0.0
2 years ago