{"version":3,"file":"index.mjs","sources":["../../../../../packages/hooks/create-context/index.ts"],"sourcesContent":["import { inject, provide, reactive, watchEffect } from 'vue';\n\nexport function createContext<T extends Record<string, any>>(defaultValue?: T) {\n  const contextKey = Symbol('contextKey');\n  const useProvide = (props: T, newProps?: T) => {\n    const mergedProps = reactive<T>({} as T);\n    provide(contextKey, mergedProps);\n    watchEffect(() => {\n      Object.assign(mergedProps, props, newProps || {});\n    });\n    return mergedProps;\n  };\n  const useInject = () => {\n    return inject(contextKey, defaultValue as T) || ({} as T);\n  };\n  return {\n    useProvide,\n    useInject,\n  };\n}\n"],"names":[],"mappings":";;AAEO,SAAS,cAA6C,YAAkB,EAAA;AAC7E,EAAM,MAAA,UAAA,GAAa,OAAO,YAAY,CAAA,CAAA;AACtC,EAAM,MAAA,UAAA,GAAa,CAAC,KAAA,EAAU,QAAiB,KAAA;AAC7C,IAAM,MAAA,WAAA,GAAc,QAAY,CAAA,EAAO,CAAA,CAAA;AACvC,IAAA,OAAA,CAAQ,YAAY,WAAW,CAAA,CAAA;AAC/B,IAAA,WAAA,CAAY,MAAM;AAChB,MAAA,MAAA,CAAO,MAAO,CAAA,WAAA,EAAa,KAAO,EAAA,QAAA,IAAY,EAAE,CAAA,CAAA;AAAA,KACjD,CAAA,CAAA;AACD,IAAO,OAAA,WAAA,CAAA;AAAA,GACT,CAAA;AACA,EAAA,MAAM,YAAY,MAAM;AACtB,IAAA,OAAO,MAAO,CAAA,UAAA,EAAY,YAAiB,CAAA,IAAM,EAAC,CAAA;AAAA,GACpD,CAAA;AACA,EAAO,OAAA;AAAA,IACL,UAAA;AAAA,IACA,SAAA;AAAA,GACF,CAAA;AACF;;;;"}