Own YAML Converter and update note won't override user data anymore

This commit is contained in:
mProjectsCode 2022-05-31 22:26:45 +02:00
parent 5916ed66eb
commit 0298270b03
14 changed files with 129 additions and 38 deletions

View file

@ -3,6 +3,11 @@ import {MediaType} from './MediaType';
import {MediaTypeModel} from '../models/MediaTypeModel';
import {replaceTags} from './Utils';
import {App, TFile} from 'obsidian';
import {MovieModel} from '../models/MovieModel';
import {SeriesModel} from '../models/SeriesModel';
import {GameModel} from '../models/GameModel';
import {WikiModel} from '../models/WikiModel';
import {MusicReleaseModel} from '../models/MusicReleaseModel';
export class MediaTypeManager {
mediaFileNameTemplateMap: Map<MediaType, string>;
@ -49,4 +54,20 @@ export class MediaTypeManager {
// console.log(template);
return replaceTags(template, mediaTypeModel);
}
createMediaTypeModelFromMediaType(obj: any, mediaType: MediaType): MediaTypeModel {
if (mediaType === MediaType.Movie) {
return new MovieModel(obj);
} else if (mediaType === MediaType.Series) {
return new SeriesModel(obj);
} else if (mediaType === MediaType.Game) {
return new GameModel(obj);
} else if (mediaType === MediaType.Wiki) {
return new WikiModel(obj);
} else if (mediaType === MediaType.MusicRelease) {
return new MusicReleaseModel(obj);
}
return undefined;
}
}

View file

@ -0,0 +1,35 @@
export class YAMLConverter {
static toYaml(obj: any): string {
let output = '';
for (const [key, value] of Object.entries(obj)) {
output += `${key}: ${YAMLConverter.toYamlString(value)}\n`;
}
return output;
}
private static toYamlString(value: any): string {
if (typeof value === 'boolean') {
return value ? 'true' : 'false';
} else if (typeof value === 'number') {
return value.toString();
} else if (typeof value === 'string') {
return '"' + value + '"';
} else if (typeof value === 'object') {
let output = '';
if (Array.isArray(value)) {
for (const valueElement of value) {
output += `\n - ${YAMLConverter.toYamlString(valueElement)}`;
}
} else {
for (const [objKey, objValue] of Object.entries(value)) {
output += `\n ${objKey}: ${YAMLConverter.toYamlString(objValue)}`;
}
}
return output;
}
}
}