Skip to content

Commit b373403

Browse files
fix: fix files may be not resolved when inside a object's fileContent field
1 parent 249de30 commit b373403

File tree

2 files changed

+10
-2
lines changed

2 files changed

+10
-2
lines changed

src/classes/resolvable-file.ts

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -196,8 +196,13 @@ export class ResolvableFile {
196196
}
197197

198198
private async load() {
199-
const result = await getResult(this.urlResolver ? this.urlResolver(this) : this.raw)
200-
await this.loadContent(result)
199+
const result: any = await getResult(this.urlResolver ? this.urlResolver(this) : this.raw)
200+
if (typeof result === 'object' && 'fileContent' in result && 'fileName' in result) {
201+
const [fileName, fileContent] = await Promise.all([getResult(result.fileName), getResult(result.fileContent)])
202+
await this.loadContent({ fileContent, fileName })
203+
} else {
204+
await this.loadContent(result)
205+
}
201206
}
202207

203208
private loadArrayBuffer(arrayBuffer: ArrayBuffer) {

src/libs/utils.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -204,6 +204,9 @@ const resolvableClasses = [
204204
]
205205

206206
export function isResolvableFileContent(value: any) {
207+
if (typeof value === 'string') {
208+
return true
209+
}
207210
return resolvableClasses.some((clazz) => clazz && value instanceof clazz)
208211
}
209212

0 commit comments

Comments
 (0)