| 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
 | | import { ToRefs } from 'vue'; |  | import _ from 'lodash'; |  |   |  | export function useVModel<P extends object, K extends keyof P>( |  |   props: P, |  |   key: K, |  |   emit: (name: string, ...args: any[]) => void |  | ) { |  |   return computed({ |  |     get() { |  |       return props[key]; |  |     }, |  |     set(v: any) { |  |       emit(`update:${key!.toString()}`, v); |  |     }, |  |   }); |  | } |  |   |  | export function useVModels<P extends object>( |  |   props: P, |  |   emit: (name: string, ...args: any[]) => void |  | ): ToRefs<P> { |  |   const ret: any = {}; |  |   |  |   for (const key in props) { |  |     ret[key] = useVModel(props, key, emit); |  |   } |  |   return ret; |  | } |  |   |  | export function useOmit<T extends object>(object: T, props: string[]) { |  |   return computed(() => _.omit(object, props)); |  | } |  |   |  | export function useOmitProps<T extends object, P extends object>(props: T, restProps: P) { |  |   return useOmit(props, Object.keys(restProps)); |  | } | 
 |