{"version":3,"file":"objects.mjs","sources":["../../../../packages/utils/objects.ts"],"sourcesContent":["import { get, set } from 'lodash-unified'\nimport type { Entries } from 'type-fest'\nimport type { Arrayable } from './typescript'\n\nexport const keysOf = <T>(arr: T) => Object.keys(arr as any) as Array<keyof T>\nexport const entriesOf = <T>(arr: T) => Object.entries(arr as any) as Entries<T>\nexport { hasOwn } from '@vue/shared'\n\nexport const hasOwnProperty = <X extends object, Y extends PropertyKey>(\n  obj: X,\n  prop: Y\n): obj is X & Record<Y, unknown> =>\n  Object.prototype.hasOwnProperty.call(obj, prop)\n\nexport const getProp = <T = any>(\n  obj: Record<string, any>,\n  path: Arrayable<string>,\n  defaultValue?: any\n): { value: T } => {\n  return {\n    get value() {\n      return get(obj, path, defaultValue)\n    },\n    set value(val: any) {\n      set(obj, path, val)\n    },\n  }\n}\n"],"names":[],"mappings":";;;AAIO,MAAM,MAAS,GAAA,CAAI,GAAW,KAAA,MAAA,CAAO,KAAK,GAAU,EAAA;AACpD,MAAM,SAAY,GAAA,CAAI,GAAW,KAAA,MAAA,CAAO,QAAQ,GAAU,EAAA;AAGpD,MAAA,cAAA,GAAiB,CAC5B,GACA,EAAA,IAAA,KAEA,OAAO,SAAU,CAAA,cAAA,CAAe,IAAK,CAAA,GAAA,EAAK,IAAI,EAAA;AAEzC,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;;;;"}