All files / src/FormItem state.ts

100% Statements 17/17
100% Branches 2/2
100% Functions 2/2
100% Lines 17/17

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 181x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 6x 6x 6x 1x 1x  
import { InjectionKey, provide, inject } from 'vue'
import { FormItemData } from '../types'
 
export type FormItemState = {
  el: HTMLElement | null
  shake: () => void
  item: FormItemData
}
export const FORM_ITEM_STATE: InjectionKey<FormItemState> =
  Symbol('FORM_ITEM_STATE')
 
export const provideFormItemState = (s: FormItemState) => {
  provide(FORM_ITEM_STATE, s)
  return s
}
 
export const useFormItemState = () => inject(FORM_ITEM_STATE)!