UNPKG

ll-package

Version:

2 lines (1 loc) 585 B
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const u=require("vue");function o(r,n){const{defaultValue:a,value:t=u.ref()}=n||{};let f=typeof r=="function"?r():r;t.value!==void 0&&(f=u.unref(t)),a!==void 0&&(f=typeof a=="function"?a():a);const i=u.ref(f),l=u.ref(f);u.watchEffect(()=>{let e=t.value!==void 0?t.value:i.value;n.postState&&(e=n.postState(e)),l.value=e});function v(e){const c=l.value;i.value=e,u.toRaw(l.value)!==e&&n.onChange&&n.onChange(e,c)}return u.watch(t,()=>{i.value=t.value}),[l,v]}exports.default=o;