atomiks / tippyjs

Tooltip, popover, dropdown, and menu library
https://atomiks.github.io/tippyjs/
MIT License
11.78k stars 517 forks source link

refactor(types): decrease specificity of lifecycle hook return type #1167

Open J-Michalek opened 1 month ago

J-Michalek commented 1 month ago

I find it oddly specific and since I am using https://typescript-eslint.io/rules/explicit-function-return-type/ in my projects I have to explicitely say false | void instead of a simple boolean with it every time there is a tooltip that should have a onShow hook condition. Passing true should work the same as void as the implementation only checks for false.

const showTooltip = false

// There has to be a condition to satisfy the void return type
function onShow(): false | void {
  if (!showTooltip) {
    return false
  }
}

// Ideally this would work
function onShow(): boolean {
  return showTooltip
}