import { CreateArgs } from './generated/AppStateMutations.js'; import { OpenDeckArgs } from './generated/AppStateMutations.js'; import { Changeset, sid } from '@aphro/runtime-ts'; import { Data } from './AppState.js'; import AppState from './AppState.js'; import { IMutationBuilder } from '@aphro/runtime-ts'; import Identity from './Identity.js'; export function createImpl( mutator: Omit, 'toChangeset'>, { identity, openDeckId }: CreateArgs, ): void | Changeset[] { mutator.set({ id: sid('aaaa'), identity: identity as Identity, // TODO: nested field shouldn't be able to take changesets openDeckId: openDeckId || undefined, }); } export function openDeckImpl( model: AppState, mutator: Omit, 'toChangeset'>, { openDeck }: OpenDeckArgs, ): void | Changeset[] { mutator.set({ openDeckId: openDeck, }); }