Skip to main content

proxyWithLog

function proxyWithLog(logger, scope): <T>(obj, name) => T;

Curried helper that wraps an object in a logging proxy. Useful when several objects share the same logger and scope and only differ by name.

Parameters

ParameterTypeDescription
loggerProxyLoggerReceiver of the log records.
scopestringHigher-level grouping shared by every object produced by the returned function.

Returns

<T>(obj, name): T;

Type Parameters

Type Parameter
T extends object

Parameters

ParameterType
objT
namestring

Returns

T

Example

const wrap = proxyWithLog(logger, 'media');

const trackedCamera = wrap(camera, 'Camera');
const trackedMic = wrap(microphone, 'Microphone');