{"version":3,"file":"objects.mjs","sources":["../../src/utils/objects.ts"],"sourcesContent":["import { get, set } from 'lodash-unified';\r\nimport type { Entries } from 'type-fest';\r\nimport type { Arrayable } from '.';\r\n\r\nexport const keysOf = <T extends object>(arr: T) => Object.keys(arr) as Array<keyof T>;\r\nexport const entriesOf = <T extends object>(arr: T) => Object.entries(arr) as Entries<T>;\r\n// eslint-disable-next-line vue/prefer-import-from-vue\r\nexport { hasOwn } from '@vue/shared';\r\n\r\nexport const getProp = <T = any>(\r\n  obj: Record<string, any>,\r\n  path: Arrayable<string>,\r\n  defaultValue?: any,\r\n): { value: T } => {\r\n  return {\r\n    get value() {\r\n      return get(obj, path, defaultValue);\r\n    },\r\n    set value(val: any) {\r\n      set(obj, path, val);\r\n    },\r\n  };\r\n};\r\n"],"names":[],"mappings":";;;AAIO,MAAM,MAAS,GAAA,CAAmB,GAAW,KAAA,MAAA,CAAO,KAAK,GAAG,EAAA;AAC5D,MAAM,SAAY,GAAA,CAAmB,GAAW,KAAA,MAAA,CAAO,QAAQ,GAAG,EAAA;AAIlE,MAAM,OAAU,GAAA,CACrB,GACA,EAAA,IAAA,EACA,YACiB,KAAA;AACjB,EAAO,OAAA;AAAA,IACL,IAAI,KAAQ,GAAA;AACV,MAAO,OAAA,GAAA,CAAI,GAAK,EAAA,IAAA,EAAM,YAAY,CAAA,CAAA;AAAA,KACpC;AAAA,IACA,IAAI,MAAM,GAAU,EAAA;AAClB,MAAI,GAAA,CAAA,GAAA,EAAK,MAAM,GAAG,CAAA,CAAA;AAAA,KACpB;AAAA,GACF,CAAA;AACF;;;;"}