function getValueAtPath(obj, path, sep) {
  const parts = path.split(sep);
  let current = obj;
  for (const part of parts) {
    if (current && typeof current === "object" && part in current) {
      current = current[part];
    } else {
      return void 0;
    }
  }
  return current;
}
function* iterateLeaves(obj, isLeaf) {
  for (const key of Object.keys(obj)) {
    const value = obj[key];
    if (isLeaf(value)) {
      yield value;
    } else if (value && typeof value === "object") {
      yield* iterateLeaves(value, isLeaf);
    }
  }
}
export {
  getValueAtPath,
  iterateLeaves
};
//# sourceMappingURL=object-traversal.js.map
