@whook/whook
Version:
Build strong and efficient REST web services.
24 lines • 1.07 kB
JavaScript
import { autoService, name, location } from 'knifecycle';
import { noop } from 'common-services';
import { applyHandlerWrappers } from '../index.js';
export default location(name('MAIN_HANDLER', autoService(initMainHandler)), import.meta.url);
/**
* An initializer to build a single Whook route handler.
* @param {Object} services
* The service dependencies
* @param {Array} services.WRAPPERS
* An optional list of wrappers to inject
* @param {Function} services.MAIN_WRAPPER
* The main route handle wrapper
* @param {Function} services.BASE_HANDLER
* The base handler
* @param {Function} [services.log=noop]
* An optional logging service
* @return {Promise<Function>}
* A promise of the `MAIN_HANDLER` service.
*/
async function initMainHandler({ WRAPPERS, MAIN_WRAPPER, BASE_HANDLER, log = noop, }) {
log('warning', `🏭 - Initializing the MAIN_HANDLER service with wrapped by ${WRAPPERS.length} wrappers.`);
return await applyHandlerWrappers([...WRAPPERS, MAIN_WRAPPER], BASE_HANDLER);
}
//# sourceMappingURL=MAIN_HANDLER.js.map