* Invoke a hook method on the given resource * @param resource - Resource instance * @param method - Hook method name * @param requestCtx - Request context
( resource: Poolable, method: keyof Poolable, requestCtx?: Context, )
| 327 | * @param requestCtx - Request context |
| 328 | */ |
| 329 | function invokePoolableMethod( |
| 330 | resource: Poolable, |
| 331 | method: keyof Poolable, |
| 332 | requestCtx?: Context, |
| 333 | ) { |
| 334 | if (typeof resource[method] === 'function') { |
| 335 | debug('Invoking hook method %s on resource', method, resource); |
| 336 | if (method === 'acquire') { |
| 337 | return resource[method]!(requestCtx!); |
| 338 | } else { |
| 339 | return resource[method]!(); |
| 340 | } |
| 341 | } |
| 342 | debug('Hook method: %s does not exist on resource', method, resource); |
| 343 | } |