Next.js website for Rocky Mountain Vending company featuring: - Product catalog with Stripe integration - Service areas and parts pages - Admin dashboard with Clerk authentication - SEO optimized pages with JSON-LD structured data Co-authored-by: Cursor <cursoragent@cursor.com>
11 lines
441 B
Text
11 lines
441 B
Text
import { EndpointError } from "../types";
|
|
import { getAttrPathList } from "./getAttrPathList";
|
|
export const getAttr = (value, path) => getAttrPathList(path).reduce((acc, index) => {
|
|
if (typeof acc !== "object") {
|
|
throw new EndpointError(`Index '${index}' in '${path}' not found in '${JSON.stringify(value)}'`);
|
|
}
|
|
else if (Array.isArray(acc)) {
|
|
return acc[parseInt(index)];
|
|
}
|
|
return acc[index];
|
|
}, value);
|