import { Changeset, Context, IModel, OptimisticPromise, SavableChangeset, } from '@aphro/context-runtime-ts'; import { commit } from './commit.js'; export default function makeSavable, D extends {}>( ctx: Context, cs: Changeset, ): Changeset & SavableChangeset { return { ...cs, save(): OptimisticPromise { return commit(ctx, cs); }, save0(): M { return commit(ctx, cs).optimistic; }, }; }