h3-defu
TypeScript icon, indicating that this package has built-in type declarations

0.1.5 • Public • Published

h3-defu

npm version npm downloads Github Actions Codecov

JSON Defaults for h3, using defu under the hood.

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.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

Credits

h3 is developed by @unjs

defu is developed by @unjs

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 ☕️

Logo

Readme

Keywords

none

Package Sidebar

Install

npm i h3-defu

Weekly Downloads

1

Version

0.1.5

License

MIT

Unpacked Size

9.74 kB

Total Files

8

Last publish

Collaborators

  • cpreston321