invoke()
invoke<
T>(object,path,args):unknown
Invokes the method at path of object with the given arguments.
DEPRECATED
Use get(obj, path)?.(...args) or optional chaining directly instead.
Type Parameters
T: T
Parameters
object: T
The object to query.
path: string | (string | number | symbol)[]
The path of the method to invoke.
args: unknown[] = []
The arguments to invoke the method with.
Returns: unknown
The result of the invoked method.
See Also
Since
2.0.0
Also known as
invoke (Lodash, Antfu) · ❌ (es-toolkit, Remeda, Radashi, Ramda, Effect, Modern Dash)
Example
const object = {
a: {
b: {
greet: (name: string) => `Hello, ${name}!`
}
}
};
// ❌ Deprecated approach
invoke(object, 'a.b.greet', ['World']);
// => 'Hello, World!'
// ✅ Recommended approach
get(object, 'a.b.greet')?.('World');
// => 'Hello, World!'
// Or with optional chaining
object.a?.b?.greet?.('World');
// => 'Hello, World!'
How it works?
Invokes method at path with given arguments.
Processing Flow
Common Inputs
| Object | Path | Args | Result |
|---|---|---|---|
{greet: n => 'Hi ' + n} | 'greet' | ['Bob'] | 'Hi Bob' |
{a: 1} | 'a' | [] | undefined |
Deprecated: Use
get(obj, path)?.(...args)or optional chaining.
Use Cases
Call method at path 📌
Invoke method at nested path.
import { get } from '@pithos/arkhe';
const method = get(obj, 'a.b.greet');
const result = typeof method === 'function' ? method('World') : undefined;
Optional method call
Safely call method if exists.
obj.a?.b?.greet?.('World');
Deprecated: Use