Skip to content

Commit 45b14df

Browse files
committed
fix: ignore displaying undefined template error in file name
1 parent 22482f5 commit 45b14df

File tree

2 files changed

+7
-6
lines changed

2 files changed

+7
-6
lines changed

src/utils/MediaTypeManager.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,8 @@ export class MediaTypeManager {
6565
}
6666

6767
getFileName(mediaTypeModel: MediaTypeModel): string {
68-
return replaceTags(this.mediaFileNameTemplateMap.get(mediaTypeModel.getMediaType()), mediaTypeModel);
68+
// Ignore undefined tags since some search APIs do not return all properties in the model and produce clean file names even if errors occur
69+
return replaceTags(this.mediaFileNameTemplateMap.get(mediaTypeModel.getMediaType()), mediaTypeModel, true);
6970
}
7071

7172
async getTemplate(mediaTypeModel: MediaTypeModel, app: App): Promise<string> {

src/utils/Utils.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,11 @@ export function replaceIllegalFileNameCharactersInString(string: string): string
2222
return string.replace(/[\\,#%&{}/*<>$"@.?]*/g, '').replace(/:+/g, ' -');
2323
}
2424

25-
export function replaceTags(template: string, mediaTypeModel: MediaTypeModel): string {
26-
return template.replace(new RegExp('{{.*?}}', 'g'), (match: string) => replaceTag(match, mediaTypeModel));
25+
export function replaceTags(template: string, mediaTypeModel: MediaTypeModel, ignoreUndefined: boolean = false): string {
26+
return template.replace(new RegExp('{{.*?}}', 'g'), (match: string) => replaceTag(match, mediaTypeModel, ignoreUndefined));
2727
}
2828

29-
function replaceTag(match: string, mediaTypeModel: MediaTypeModel): string {
29+
function replaceTag(match: string, mediaTypeModel: MediaTypeModel, ignoreUndefined: boolean): string {
3030
let tag = match;
3131
tag = tag.substring(2);
3232
tag = tag.substring(0, tag.length - 2);
@@ -39,7 +39,7 @@ function replaceTag(match: string, mediaTypeModel: MediaTypeModel): string {
3939
const obj = traverseMetaData(path, mediaTypeModel);
4040

4141
if (obj === undefined) {
42-
return '{{ INVALID TEMPLATE TAG - object undefined }}';
42+
return ignoreUndefined ? '' : '{{ INVALID TEMPLATE TAG - object undefined }}';
4343
}
4444

4545
return obj;
@@ -51,7 +51,7 @@ function replaceTag(match: string, mediaTypeModel: MediaTypeModel): string {
5151
const obj = traverseMetaData(path, mediaTypeModel);
5252

5353
if (obj === undefined) {
54-
return '{{ INVALID TEMPLATE TAG - object undefined }}';
54+
return ignoreUndefined ? '' : '{{ INVALID TEMPLATE TAG - object undefined }}';
5555
}
5656

5757
if (operator === 'LIST') {

0 commit comments

Comments
 (0)