mirror of
https://github.com/LCPQ/QUESTDB_website.git
synced 2024-08-26 14:11:51 +02:00
34 lines
1.1 KiB
JavaScript
34 lines
1.1 KiB
JavaScript
class publiDB {
|
|
static async loadAsync() {
|
|
var db = new publiDB
|
|
const text = await getTextFromFileUrlAsync("/data/publis/index.yaml")
|
|
const myYaml = jsyaml.load(text);
|
|
db.sets = ((myYaml.sets === null) ? new Map() : new Map(Object.entries(myYaml.sets)));
|
|
db.others = ((myYaml.others === null) ? new Map() : new Map(Object.entries(myYaml.others)));
|
|
return db
|
|
}
|
|
static get UnknowSetName() {
|
|
return "Unknow set"
|
|
}
|
|
findNameFromSet(set, supportUnknow = false) {
|
|
if (supportUnknow && JSON.stringify(set) === JSON.stringify([""])) {
|
|
return publiDB.UnknowSetName
|
|
}
|
|
for (let [setname, articles] of this.sets.entries()) {
|
|
if (JSON.stringify(set.sort()) === JSON.stringify(articles.sort())) {
|
|
return setname
|
|
}
|
|
}
|
|
return null
|
|
}
|
|
findSetNameFromArticle(article, supportUnknow = false) {
|
|
for (let [setname, articles] of this.sets.entries()) {
|
|
if (articles.includes(article))
|
|
return setname
|
|
}
|
|
if (supportUnknow && article === "") {
|
|
return publiDB.UnknowSetName
|
|
}
|
|
return null
|
|
}
|
|
} |