import { Addon } from "@watchedcom/schema"; type Opts
= { AddonClass: { new (props: P): C }; type: Addon["type"]; defaults?: () => Partial
; }; export const makeCreateFunction =
(opts: Opts
) => { const createAddon = (props: Partial
): C => { return new opts.AddonClass(
{ ...(opts.defaults ? opts.defaults() : null), ...props, type: opts.type, }); }; return createAddon; };