import type {Extension} from '../index.js' export const when = (when: Extension['when']) => (constructor: Type) => class extends constructor { public when: Extension[`when`] public constructor(...args: any[]) { super(...args) this.when = `bind` in when ? when.bind(this) : when } }