ef00732685
- Made the use of `const` and `let` consistent - import required functions and types from 'react' instead of using the `React.` namespace. - Added `Expand` type, which can expand complex types to their "final" result. - Ensured that we use `as const` for DEFAULT_XXX_TAG where we used a string. So that we have the type of `div` instead of `string` for example. - Used `interface` over `type` where possible. I'm personally more of a `type` fan. But the TypeScript recommends `interfaces` where possible because they are faster, yield better error messages and so on.
10 lines
198 B
TypeScript
10 lines
198 B
TypeScript
export function once<T>(cb: (...args: T[]) => void) {
|
|
let state = { called: false }
|
|
|
|
return (...args: T[]) => {
|
|
if (state.called) return
|
|
state.called = true
|
|
return cb(...args)
|
|
}
|
|
}
|