0889ee9117
feat(hooks): add useLiveStream generic WebSocket hook - supports websocket/sse/polling transports - exponential backoff reconnect with jitter - circular buffer with configurable size - typed filter callback per use case - manual disconnect + reconnect + error state feat(hooks): add useLiveMetrics derived hook - sliding time-window cut - moving average (configurable window) - current / avg / min / max / ratePerSecond - zero allocations per tick (memoized) feat(charts): add LiveMetricChart molecule (Recharts) - line + area variants, grid + tooltip - moving-average overlay (dashed) - ConnectionStatus atom in header - status bar + compact mode - 100% responsive, GPU via SVG ViewBox feat(atoms): add ConnectionStatus indicator - 5 states: disconnected/connecting/connected/reconnecting/error - animated pulse, JetBrains Mono, pill style - exported helpers: formatLatency / formatBytes docs(pkg): bump v0.1.0 → v0.2.0, add recharts peerDep
Make a function mimic another one
Useful when you wrap a function in another function and like to preserve the original name and other properties.
Install
$ npm install mimic-fn
Usage
import mimicFunction from 'mimic-fn';
function foo() {}
foo.unicorn = '🦄';
function wrapper() {
return foo();
}
console.log(wrapper.name);
//=> 'wrapper'
mimicFunction(wrapper, foo);
console.log(wrapper.name);
//=> 'foo'
console.log(wrapper.unicorn);
//=> '🦄'
console.log(String(wrapper));
//=> '/* Wrapped with wrapper() */\nfunction foo() {}'
API
mimicFunction(to, from, options?)
Modifies the to function to mimic the from function. Returns the to function.
name, displayName, and any other properties of from are copied. The length property is not copied. Prototype, class, and inherited properties are copied.
to.toString() will return the same as from.toString() but prepended with a Wrapped with to() comment.
to
Type: Function
Mimicking function.
from
Type: Function
Function to mimic.
options
Type: object
ignoreNonConfigurable
Type: boolean
Default: false
Skip modifying non-configurable properties instead of throwing an error.
Related
- rename-fn - Rename a function
- keep-func-props - Wrap a function without changing its name and other properties
Get professional support for this package with a Tidelift subscription
Tidelift helps make open source sustainable for maintainers while giving companies
assurances about security, maintenance, and licensing for their dependencies.
Tidelift helps make open source sustainable for maintainers while giving companies
assurances about security, maintenance, and licensing for their dependencies.