/** * @license Apache-2.0 * https://github.com/hperrin/svelte-material-ui/blob/master/packages/common/src/internal/useActions.ts */ export type SvelteActionReturnType
= { update?: (newParams?: P) => void; destroy?: () => void; } | void; export type SvelteHTMLActionType
= (node: HTMLElement, params?: P) => SvelteActionReturnType
; // eslint-disable-next-line @typescript-eslint/no-explicit-any export type HTMLActionEntry
= SvelteHTMLActionType
| [SvelteHTMLActionType
, P]; export type HTMLActionArray = HTMLActionEntry[]; export type SvelteSVGActionType
= (node: SVGElement, params?: P) => SvelteActionReturnType
; // eslint-disable-next-line @typescript-eslint/no-explicit-any export type SVGActionEntry
= SvelteSVGActionType
| [SvelteSVGActionType
, P];
export type SVGActionArray = SVGActionEntry[];
export type ActionArray = HTMLActionArray | SVGActionArray;
export function useActions(node: HTMLElement | SVGElement, actions: ActionArray) {
const actionReturns: SvelteActionReturnType