UNPKG

kia-ml

Version:

Kia

28 lines (26 loc) 1.03 kB
import { types } from 'mobx-state-tree'; import { CharacterModel } from '../character/character'; import { CharacterApi } from '../../services/api/character-api'; import { withEnvironment } from '../extensions/with-environment'; /** * Example store containing Rick and Morty characters */ export const CharacterStoreModel = types.model('CharacterStore').props({ characters: types.optional(types.array(CharacterModel), []) }).extend(withEnvironment).actions(self => ({ saveCharacters: characterSnapshots => { self.characters.replace(characterSnapshots); } })).actions(self => ({ getCharacters: async () => { const characterApi = new CharacterApi(self.environment.api); const result = await characterApi.getCharacters(); if (result.kind === 'ok') { self.saveCharacters(result.characters); } else { __DEV__ && console.log(result.kind); } } })); export const createCharacterStoreDefaultModel = () => types.optional(CharacterStoreModel, {}); //# sourceMappingURL=character-store.js.map