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:gitjournal/core/note.dart';
import 'base.dart';
class EmojiProcessor {
class EmojiProcessor implements NoteReadTransformer, NoteWriteTransformer {
static final _emojiParser = EmojiParser();
void onSave(Note note) {
@override
Future<Note> onRead(Note note) async {
note.title = _emojiParser.emojify(note.title);
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.title = _emojiParser.unemojify(note.title);
return note;
}
}