Experiment with the concept of Transformers

This commit is contained in:
Vishesh Handa
2020-11-07 15:48:01 +01:00
parent 85d21a62e5
commit 93fd99148f
2 changed files with 23 additions and 4 deletions

View File

@ -0,0 +1,15 @@
import 'package:gitjournal/core/note.dart';
export 'package:gitjournal/core/note.dart';
abstract class NoteReadTransformer {
Future<Note> onRead(Note note);
}
abstract class NoteWriteTransformer {
Future<Note> onWrite(Note note);
}
// ReadTransformersLoader(folderConfig) -> ...
// WriteTransformerLoader(folderConfig) -> ...
// -> test it out again

View File

@ -1,17 +1,21 @@
import 'package:flutter_emoji/flutter_emoji.dart'; import 'package:flutter_emoji/flutter_emoji.dart';
import 'package:gitjournal/core/note.dart'; import 'base.dart';
class EmojiProcessor { class EmojiProcessor implements NoteReadTransformer, NoteWriteTransformer {
static final _emojiParser = EmojiParser(); static final _emojiParser = EmojiParser();
void onSave(Note note) { @override
Future<Note> onRead(Note note) async {
note.title = _emojiParser.emojify(note.title); note.title = _emojiParser.emojify(note.title);
note.body = _emojiParser.emojify(note.body); note.body = _emojiParser.emojify(note.body);
return note;
} }
void onLoad(Note note) { @override
Future<Note> onWrite(Note note) async {
note.body = _emojiParser.unemojify(note.body); note.body = _emojiParser.unemojify(note.body);
note.title = _emojiParser.unemojify(note.title); note.title = _emojiParser.unemojify(note.title);
return note;
} }
} }