mirror of
https://github.com/GitJournal/GitJournal.git
synced 2025-06-28 18:03:14 +08:00
Experiment with the concept of Transformers
This commit is contained in:
15
lib/core/transformers/base.dart
Normal file
15
lib/core/transformers/base.dart
Normal 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
|
@ -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;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user