UNPKG

flowbite-react

Version:

Official React components built for Flowbite and Tailwind CSS

1 lines 1.44 kB
{"version":3,"file":"get.cjs","sources":["../../src/helpers/get.ts"],"sourcesContent":["/**\n * Safely retrieves a value from a nested object using a dot-notated path string\n *\n * @template T - The type of the input object\n * @param {T} input - The input object to traverse\n * @param {string} path - A dot-notated string path (e.g. \"user.address.street\")\n * @returns {any} The value at the specified path, or undefined if the path is invalid\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function get<T>(input: T, path: string): any {\n const keys = path.split(\".\");\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let result: any = input;\n\n for (const key of keys) {\n if (typeof result === \"boolean\" || typeof result === \"string\") {\n return result;\n }\n if (result == null || typeof result !== \"object\") {\n return undefined;\n }\n result = result[key];\n }\n\n return result;\n}\n"],"names":[],"mappings":";;AACO,SAAS,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE;AACjC,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;AAC9B,EAAE,IAAI,MAAM,GAAG,KAAK;AACpB,EAAE,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE;AAC1B,IAAI,IAAI,OAAO,MAAM,KAAK,SAAS,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;AACnE,MAAM,OAAO,MAAM;AACnB;AACA,IAAI,IAAI,MAAM,IAAI,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;AACtD,MAAM,OAAO,MAAM;AACnB;AACA,IAAI,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC;AACxB;AACA,EAAE,OAAO,MAAM;AACf;;;;"}