{"version":3,"file":"createRef.cjs","sources":["../../../../../packages/utils/vue/createRef.ts"],"sourcesContent":["export interface RefObject extends Function {\n  current?: any;\n}\n\nexport function createRef(): any {\n  const func: RefObject = (node: any) => {\n    func.current = node;\n  };\n  return func;\n}\n\nexport function fillRef<T>(ref, node: T) {\n  if (typeof ref === 'function')\n    ref(node);\n  else if (typeof ref === 'object' && ref && 'current' in ref)\n    (ref as any).current = node;\n}\n\n/**\n * Merge refs into one ref function to support ref passing.\n */\nexport function composeRef<T>(...refs: any[]) {\n  return (node: T) => {\n    refs.forEach((ref) => {\n      fillRef(ref, node);\n    });\n  };\n}\n"],"names":[],"mappings":";;AAIO,SAAS,SAAiB,GAAA;AAC/B,EAAM,MAAA,IAAA,GAAkB,CAAC,IAAc,KAAA;AACrC,IAAA,IAAA,CAAK,OAAU,GAAA,IAAA,CAAA;AAAA,GACjB,CAAA;AACA,EAAO,OAAA,IAAA,CAAA;AACT,CAAA;AAEgB,SAAA,OAAA,CAAW,KAAK,IAAS,EAAA;AACvC,EAAA,IAAI,OAAO,GAAQ,KAAA,UAAA;AACjB,IAAA,GAAA,CAAI,IAAI,CAAA,CAAA;AAAA,OAAA,IACD,OAAO,GAAA,KAAQ,QAAY,IAAA,GAAA,IAAO,SAAa,IAAA,GAAA;AACtD,IAAC,IAAY,OAAU,GAAA,IAAA,CAAA;AAC3B,CAAA;AAKO,SAAS,cAAiB,IAAa,EAAA;AAC5C,EAAA,OAAO,CAAC,IAAY,KAAA;AAClB,IAAK,IAAA,CAAA,OAAA,CAAQ,CAAC,GAAQ,KAAA;AACpB,MAAA,OAAA,CAAQ,KAAK,IAAI,CAAA,CAAA;AAAA,KAClB,CAAA,CAAA;AAAA,GACH,CAAA;AACF;;;;;;"}