4
0
forked from crowetic/commerce
commerce/lib/bigcommerce/api/utils/create-api-handler.ts
2020-10-03 16:06:41 -05:00

19 lines
553 B
TypeScript

import type { NextApiHandler, NextApiRequest, NextApiResponse } from 'next'
import { BigcommerceConfig, getConfig } from '..'
export type BigcommerceApiHandler = (
req: NextApiRequest,
res: NextApiResponse,
config: BigcommerceConfig
) => void | Promise<void>
export default function createApiHandler(handler: BigcommerceApiHandler) {
return function getApiHandler({
config,
}: { config?: BigcommerceConfig } = {}): NextApiHandler {
return function apiHandler(req, res) {
return handler(req, res, getConfig(config))
}
}
}