Download web/src/lib/nested.ts from SaylorTwift/hermes-agent: direct link, hf CLI and curl.
- Browser
- Download file 802 Bytes
-
https://huggingface.co/SaylorTwift/hermes-agent/resolve/main/web/src/lib/nested.ts
- Command line
-
hf download hf://SaylorTwift/hermes-agent/web/src/lib/nested.ts
-
curl -L -o nested.ts https://huggingface.co/SaylorTwift/hermes-agent/resolve/main/web/src/lib/nested.ts
802 Bytes
| export function getNestedValue(obj: Record<string, unknown>, path: string): unknown { | |
| const parts = path.split("."); | |
| let cur: unknown = obj; | |
| for (const p of parts) { | |
| if (cur == null || typeof cur !== "object") return undefined; | |
| cur = (cur as Record<string, unknown>)[p]; | |
| } | |
| return cur; | |
| } | |
| export function setNestedValue(obj: Record<string, unknown>, path: string, value: unknown): Record<string, unknown> { | |
| const clone = structuredClone(obj); | |
| const parts = path.split("."); | |
| let cur: Record<string, unknown> = clone; | |
| for (let i = 0; i < parts.length - 1; i++) { | |
| if (cur[parts[i]] == null || typeof cur[parts[i]] !== "object") { | |
| cur[parts[i]] = {}; | |
| } | |
| cur = cur[parts[i]] as Record<string, unknown>; | |
| } | |
| cur[parts[parts.length - 1]] = value; | |
| return clone; | |
| } | |