diff options
author | Kirill Rogovoy <[email protected]> | 2021-07-20 21:24:52 +0300 |
---|---|---|
committer | Kirill Rogovoy <[email protected]> | 2021-07-20 21:24:52 +0300 |
commit | 5f4611d65e40eae3ca6191a15f68d69ea5a1c4cb (patch) | |
tree | 273dfc086444533d86d580961c92ba8d14781a67 /app_expo/models/character | |
parent | f0bf4e7afdcd8b02a62be45ab3e7d047ed865a79 (diff) |
WIP
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, {}) |