h3-defu
v0.1.5
Published
A simple utility to deep merge objects that extends h3 body and query parameters passed.
Downloads
1
Readme
h3-defu
Install
# Using npm
npm install h3-defu
# Using yarn
yarn install h3-defu
# Using pnpm
pnpm install h3-defu
Usage
import { createServer } from 'node:http'
import { createApp, eventHandler, toNodeListener } from 'h3'
import { getQueryWithDefaults, readBodyWithDefaults } from 'h3-defu'
const app = createApp()
app.use('/api/test', eventHandler(async (event) => {
// Default body
// example BODY: { show: false }
// expected: { show: false, name: 'Anonymous' }
const body = await readBodyWithDefaults(event, {
show: true,
name: 'Anonymous'
})
// Default query
// example: /api/test?page=2
// expected: { page: 1, limit: 10 }
const query = getQueryWithDefaults(event, {
page: 1,
limit: 10
})
return {
body,
query
}
}))
createServer(toNodeListener(app)).listen(process.env.PORT || 3000)
Development 💻
- Clone this repository
- Install dependencies using
pnpm install
- Run interactive tests using
pnpm dev
➕ Contributing
Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Credits
README Inspiration
by @zernonia
📜 License
MIT License © 2022 cpreston321
📧 Contact
cpreston321 - @cpreston321
Also, if you like my work, please feel free to buy me a coffee ☕️