From 5f4611d65e40eae3ca6191a15f68d69ea5a1c4cb Mon Sep 17 00:00:00 2001 From: Kirill Rogovoy Date: Tue, 20 Jul 2021 21:24:52 +0300 Subject: WIP --- app_expo/models/character/character.test.ts | 10 ++++++++++ app_expo/models/character/character.ts | 17 +++++++++++++++++ 2 files changed, 27 insertions(+) create mode 100644 app_expo/models/character/character.test.ts create mode 100644 app_expo/models/character/character.ts (limited to 'app_expo/models/character') 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 +export interface Character extends CharacterType {} +type CharacterSnapshotType = SnapshotOut +export interface CharacterSnapshot extends CharacterSnapshotType {} +export const createCharacterDefaultModel = () => types.optional(CharacterModel, {}) -- cgit v1.2.3