/** * @license * Copyright 2022-2026 Matter.js Authors * SPDX-License-Identifier: Apache-2.0 */ /** * A base for classes that are also functions. */ export interface Callable { (...args: A): R; } // oxlint-disable-next-line @typescript-eslint/no-unsafe-declaration-merging export class Callable { /** * Create a new invocable */ constructor(invoke: Callable) { Object.setPrototypeOf(invoke, new.target.prototype); return invoke; } }