diff options
Diffstat (limited to 'app_expo/models/character')
-rw-r--r-- | app_expo/models/character/character.test.ts | 10 | ||||
-rw-r--r-- | app_expo/models/character/character.ts | 17 |
2 files changed, 27 insertions, 0 deletions
diff --git a/app_expo/models/character/character.test.ts b/app_expo/models/character/character.test.ts new file mode 100644 index 0000000..d7bfac7 --- /dev/null +++ b/app_expo/models/character/character.test.ts @@ -0,0 +1,10 @@ +import { CharacterModel } from './character' + +test('can be created', () => { + const instance = CharacterModel.create({ + id: 1, + name: 'Rick Sanchez', + }) + + expect(instance).toBeTruthy() +}) diff --git a/app_expo/models/character/character.ts b/app_expo/models/character/character.ts new file mode 100644 index 0000000..4405338 --- /dev/null +++ b/app_expo/models/character/character.ts @@ -0,0 +1,17 @@ +import { Instance, SnapshotOut, types } from 'mobx-state-tree' + +/** + * Rick and Morty character model. + */ +export const CharacterModel = types.model('Character').props({ + id: types.identifierNumber, + name: types.maybe(types.string), + status: types.maybe(types.string), + image: types.maybe(types.string), +}) + +type CharacterType = Instance<typeof CharacterModel> +export interface Character extends CharacterType {} +type CharacterSnapshotType = SnapshotOut<typeof CharacterModel> +export interface CharacterSnapshot extends CharacterSnapshotType {} +export const createCharacterDefaultModel = () => types.optional(CharacterModel, {}) |