Revert "MdYamlDoc: Add a very basic reverse implementation"

This reverts commit a8af8d795eafce8d9ed7f4be2ee2cc47d8f945b3.

This complicates everything too much.
This commit is contained in:
Vishesh Handa
2021-02-12 15:58:16 +01:00
parent 61f71fcdfe
commit d28e13908a
2 changed files with 3 additions and 55 deletions

View File

@ -7,10 +7,6 @@ import 'package:gitjournal/utils/logger.dart';
import 'md_yaml_doc.dart';
class MarkdownYAMLCodec {
bool reverse;
MarkdownYAMLCodec({this.reverse = false});
MdYamlDoc decode(String str) {
const startYamlStr = "---\n";
const endYamlStr = "\n---\n";
@ -60,23 +56,6 @@ class MarkdownYAMLCodec {
return MdYamlDoc(body: body, props: map);
}
if (str.endsWith(endYamlStr)) {
var endYamlPos = str.length - endYamlStr.length;
var startYamlPos = str.lastIndexOf(startYamlStr, endYamlPos);
if (startYamlPos == -1) {
return MdYamlDoc(body: str);
}
// FIXME: What if there is nothing afterwards?
var yamlText =
str.substring(startYamlPos + startYamlStr.length, endYamlPos);
var map = parseYamlText(yamlText);
var body = str.substring(0, startYamlPos);
reverse = true;
return MdYamlDoc(body: body, props: map);
}
return MdYamlDoc(body: str);
}
@ -104,16 +83,9 @@ class MarkdownYAMLCodec {
return note.body;
}
var str = "";
if (reverse) {
str += note.body.trimRight();
str += '\n\n';
str += toYamlHeader(note.props);
} else {
str += toYamlHeader(note.props);
str += '\n';
str += note.body;
}
var str = toYamlHeader(note.props);
str += '\n';
str += note.body;
return str;
}

View File

@ -188,30 +188,6 @@ foo: bar
expect(actualStr, str + '\n');
});
test('YAML at the end of the doc', () {
var str = """Alright.
---
type: Journal
created: 2017-02-15T22:41:19+01:00
foo: bar
---
""";
var serializer = MarkdownYAMLCodec(reverse: true);
var doc = serializer.decode(str);
expect(doc.body, "Alright.\n\n");
expect(doc.props.length, 3);
var actualStr = serializer.encode(doc);
expect(actualStr, str);
});
// FIXME: Add another test for yaml header at the bottom without a newline
// FIXME: Add another test for yaml header at the bottom with lots of new lines after
// FIXME: Add another test for yaml header at the bottom with lots of new lines with spaces after
test('Should not have any YamlMaps', () {
// YamlMaps cannot be sent over an isolate