Current collected state Current
Observed since 20 Oct, 22:12 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
A typed toolkit for consistent API success and error responses
A small, TypeScript-first toolkit for consistent API success and error responses.
Most APIs suffer from the same problems:
throw new Error, random JSON)res.status().json() everywhereapi-response-kit fixes this by enforcing a predictable response contract for both success and error responses while keeping your code clean and framework-agnostic.
Instead of:
res.status(200).json(user)
res.status(400).json({ error: "Invalid input" })
You write:
return Ok(user)
return BadRequest("Invalid input")
type ApiSuccess<T> = {
success: true
data: T
message?: string
meta?: Record<string, unknown>
}
type ApiError = {
success: false
error: {
code: string
message: string
details?: unknown
}
}
npm install @0layimika/api-response-kit
yarn add @0layimika/api-response-kit
pnpm add @0layimika/api-response-kit
import { Ok, Created, NoContent } from "@0layimika/api-response-kit"
return Ok(user)
return Created(newUser)
return NoContent()
import { BadRequest, NotFound, Unauthorized } from "@olayimika/api-response-kit"
if (!user) return NotFound("User not found")
if (!email) return BadRequest("Email is required")
if (!token) return Unauthorized()
export function getUser(id: string) {
const user = findUser(id)
if (!user) {
return NotFound("User")
}
return Ok(user)
}
import { sendResponse } from "@0layimika/api-response-kit/express"
app.get("/users/:id", (req, res) => {
const response = getUser(req.params.id)
sendResponse(res, response)
})
import { CustomError } from "@0layimika/api-response-kit"
return CustomError({
code: "PAYMENT_FAILED",
status: 402,
message: "Payment authorization failed"
})
Download counts and popularity will appear here as the collector receives them.
This describes our collected data; it is not a security assessment.
Observed since 20 Oct, 22:12 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package:9917f0bec104de20127001c56c5d3b9b53049781238da9510565fd1108eaedf6