import * as Hapi from 'hapi'; import { pick } from 'ramda'; import path from "path"; const toHapi = (assetPath: string, fields: string[]) => { return async (request: Hapi.Request) => { try { let { params } = request; if (fields[0] !== '*') { params = pick(fields, params); } const dir = path.join(__dirname, '../..'); const handler = await import(`${dir}/${assetPath}`); return handler.handler(params); } catch (e) { console.log('error:', e.message); throw e; } }; } export default toHapi;