import { get } from "./get.mjs"; //#region src/compat/object/propertyOf.ts /** * Creates a function that returns the value at a given path of an object. * * Unlike `property`, which creates a function bound to a specific path and allows you to query different objects, * `propertyOf` creates a function bound to a specific object and allows you to query different paths within that object. * * @template T - The type of object. * @param {T} object - The object to query. * @returns {(path: PropertyPath) => any} - Returns a new function that takes a path and retrieves the value from the object at the specified path. * * @example * const getValue = propertyOf({ a: { b: { c: 3 } } }); * const result = getValue('a.b.c'); * console.log(result); // => 3 * * @example * const getValue = propertyOf({ a: { b: { c: 3 } } }); * const result = getValue(['a', 'b', 'c']); * console.log(result); // => 3 */ function propertyOf(object) { return function(path) { return get(object, path); }; } //#endregion export { propertyOf };