Own YAML Converter and update note won't override user data anymore
This commit is contained in:
parent
5916ed66eb
commit
0298270b03
14 changed files with 129 additions and 38 deletions
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
35
src/utils/YAMLConverter.ts
Normal file
35
src/utils/YAMLConverter.ts
Normal 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;
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue