2018-09-22 12:34:26 +02:00
|
|
|
import { FileMetadata } from "./FileMetadata"
|
|
|
|
|
|
|
|
export class ProgramMetadata {
|
|
|
|
constructor(
|
|
|
|
public files: Map<string, FileMetadata> = new Map<
|
|
|
|
string,
|
|
|
|
FileMetadata
|
|
|
|
>(),
|
|
|
|
) {}
|
|
|
|
|
2019-03-26 06:34:40 +01:00
|
|
|
public setFile(name: string, file: FileMetadata) {
|
2018-09-22 12:34:26 +02:00
|
|
|
this.files.set(name, file)
|
|
|
|
}
|
|
|
|
|
2019-03-26 06:34:40 +01:00
|
|
|
public getFile(name: string) {
|
2018-09-22 12:34:26 +02:00
|
|
|
return this.files.get(name)
|
|
|
|
}
|
|
|
|
|
2019-03-26 06:34:40 +01:00
|
|
|
public toConstructor() {
|
2018-09-22 12:34:26 +02:00
|
|
|
return (
|
|
|
|
`new ProgramMetadata(new Map<string, FileMetadata>([` +
|
|
|
|
Array.from(this.files.entries())
|
|
|
|
.map(([n, f]) => `[${JSON.stringify(n)}, ${f.toConstructor()}]`)
|
|
|
|
.join(",\n") +
|
|
|
|
`]))`
|
|
|
|
)
|
|
|
|
}
|
|
|
|
}
|