{"version":3,"file":"koObsToRef.chunk-DEHgj3eY.js","sources":["../../shared/utils/koObsToRef.ts"],"sourcesContent":["import { watch, ref, type Ref } from 'vue';\r\n\r\nexport default function koObsToRef(knockoutObservable: KnockoutObservable) {\r\n const refObject = ref(null);\r\n setupSync(knockoutObservable, refObject);\r\n return refObject;\r\n}\r\n\r\nexport const setupSync = (knockoutObservable: KnockoutObservable, refObject: Ref) => {\r\n if (!ko.isObservable(knockoutObservable)) return;\r\n\r\n knockoutObservable.subscribe((newVal) => {\r\n if (newVal !== refObject.value) refObject.value = newVal;\r\n });\r\n\r\n watch(\r\n () => refObject.value,\r\n (newVal) => {\r\n if (newVal !== knockoutObservable()) knockoutObservable(newVal);\r\n }\r\n );\r\n\r\n if (knockoutObservable() !== refObject.value) refObject.value = knockoutObservable();\r\n};\r\n"],"names":["koObsToRef","knockoutObservable","refObject","ref","setupSync","newVal","watch"],"mappings":"qDAEA,SAAwBA,EAAWC,EAA6C,CACtE,MAAAC,EAAYC,EAAS,IAAI,EAC/B,OAAAC,EAAUH,EAAoBC,CAAS,EAChCA,CACX,CAEa,MAAAE,EAAY,CAACH,EAA6CC,IAAwB,CACtF,GAAG,aAAaD,CAAkB,IAEpBA,EAAA,UAAWI,GAAW,CACjCA,IAAWH,EAAU,QAAOA,EAAU,MAAQG,EAAA,CACrD,EAEDC,EACI,IAAMJ,EAAU,MACfG,GAAW,CACJA,IAAWJ,KAAsBA,EAAmBI,CAAM,CAAA,CAEtE,EAEIJ,EAAyB,IAAAC,EAAU,QAAOA,EAAU,MAAQD,EAAmB,GACvF"}