{"version":3,"file":"toReactive.cjs","sources":["../../../../../packages/utils/vue/toReactive.ts"],"sourcesContent":["import type { MaybeRef } from 'vue';\nimport { isRef, reactive } from 'vue';\n\n/**\n * Converts ref to reactive.\n *\n * @see https://vueuse.org/toReactive\n * @param objectRef A ref of object\n */\nexport function toReactive<T extends object>(objectRef: MaybeRef<T>): T {\n  if (!isRef(objectRef)) return reactive(objectRef) as T;\n\n  const proxy = new Proxy(\n    {},\n    {\n      get(_, p, receiver) {\n        return Reflect.get(objectRef.value, p, receiver);\n      },\n      set(_, p, value) {\n        (objectRef.value as any)[p] = value;\n        return true;\n      },\n      deleteProperty(_, p) {\n        return Reflect.deleteProperty(objectRef.value, p);\n      },\n      has(_, p) {\n        return Reflect.has(objectRef.value, p);\n      },\n      ownKeys() {\n        return Object.keys(objectRef.value);\n      },\n      getOwnPropertyDescriptor() {\n        return {\n          enumerable: true,\n          configurable: true,\n        };\n      },\n    },\n  );\n\n  return reactive(proxy) as T;\n}\n"],"names":["isRef","reactive"],"mappings":";;;;AASO,SAAS,WAA6B,SAA2B,EAAA;AACtE,EAAI,IAAA,CAACA,UAAM,SAAS,CAAA;AAAG,IAAA,OAAOC,aAAS,SAAS,CAAA,CAAA;AAEhD,EAAA,MAAM,QAAQ,IAAI,KAAA;AAAA,IAChB,EAAC;AAAA,IACD;AAAA,MACE,GAAA,CAAI,CAAG,EAAA,CAAA,EAAG,QAAU,EAAA;AAClB,QAAA,OAAO,OAAQ,CAAA,GAAA,CAAI,SAAU,CAAA,KAAA,EAAO,GAAG,QAAQ,CAAA,CAAA;AAAA,OACjD;AAAA,MACA,GAAA,CAAI,CAAG,EAAA,CAAA,EAAG,KAAO,EAAA;AACf,QAAC,SAAA,CAAU,KAAc,CAAA,CAAC,CAAI,GAAA,KAAA,CAAA;AAC9B,QAAO,OAAA,IAAA,CAAA;AAAA,OACT;AAAA,MACA,cAAA,CAAe,GAAG,CAAG,EAAA;AACnB,QAAA,OAAO,OAAQ,CAAA,cAAA,CAAe,SAAU,CAAA,KAAA,EAAO,CAAC,CAAA,CAAA;AAAA,OAClD;AAAA,MACA,GAAA,CAAI,GAAG,CAAG,EAAA;AACR,QAAA,OAAO,OAAQ,CAAA,GAAA,CAAI,SAAU,CAAA,KAAA,EAAO,CAAC,CAAA,CAAA;AAAA,OACvC;AAAA,MACA,OAAU,GAAA;AACR,QAAO,OAAA,MAAA,CAAO,IAAK,CAAA,SAAA,CAAU,KAAK,CAAA,CAAA;AAAA,OACpC;AAAA,MACA,wBAA2B,GAAA;AACzB,QAAO,OAAA;AAAA,UACL,UAAY,EAAA,IAAA;AAAA,UACZ,YAAc,EAAA,IAAA;AAAA,SAChB,CAAA;AAAA,OACF;AAAA,KACF;AAAA,GACF,CAAA;AAEA,EAAA,OAAOA,aAAS,KAAK,CAAA,CAAA;AACvB;;;;"}