{"version":3,"sources":["src/utilities/currentValue.ts"],"names":[],"mappings":";;;AAMA,SAAS,MAAS,KAAuC,EAAA;AACvD,EAAA,OAAO,KAAS,IAAA,IAAA,IAAQ,OAAO,KAAA,KAAU,YAAY,SAAa,IAAA,KAAA;AACpE;AAEO,SAAS,aACd,KAC4B,EAAA;AAZ9B,EAAA,IAAA,EAAA;AAaE,EAAA,IAAI,SAAS,IAAM,EAAA;AACjB,IAAO,OAAA,MAAA;AAAA;AAGT,EAAI,IAAA,KAAA,CAAM,KAAK,CAAG,EAAA;AAChB,IAAO,OAAA,CAAA,EAAA,GAAA,KAAA,CAAM,YAAN,IAAiB,GAAA,EAAA,GAAA,MAAA;AAAA;AAG1B,EAAO,OAAA,KAAA;AACT","file":"utilities.cjs","sourcesContent":["import type {RefObject, MutableRefObject} from 'react';\n\nexport type Ref<T> = RefObject<T | null | undefined> | MutableRefObject<T>;\n\nexport type RefOrValue<T> = T | Ref<T> | null | undefined;\n\nfunction isRef<T>(value: RefOrValue<T>): value is Ref<T> {\n  return value != null && typeof value === 'object' && 'current' in value;\n}\n\nexport function currentValue<T>(\n  value: RefOrValue<T>\n): NonNullable<T> | undefined {\n  if (value == null) {\n    return undefined;\n  }\n\n  if (isRef(value)) {\n    return value.current ?? undefined;\n  }\n\n  return value;\n}\n"]}