mirror of
https://github.com/GitJournal/GitJournal.git
synced 2025-06-29 02:07:39 +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: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;
|
||||||
}
|
}
|
||||||
}
|
}
|
Reference in New Issue
Block a user