Add quickfacts-box to wikipedia article
This commit is contained in:
parent
c1d21fcbe5
commit
902f32ba4b
14 changed files with 343 additions and 50 deletions
|
@ -1,5 +1,6 @@
|
|||
import {Utils} from "../../Utils";
|
||||
import {UIEventSource} from "../UIEventSource";
|
||||
import * as wds from "wikibase-sdk"
|
||||
|
||||
export class WikidataResponse {
|
||||
public readonly id: string
|
||||
|
@ -63,22 +64,15 @@ export class WikidataResponse {
|
|||
}
|
||||
|
||||
static extractClaims(claimsJson: any): Map<string, Set<string>> {
|
||||
|
||||
const simplified = wds.simplify.claims(claimsJson, {
|
||||
timeConverter: 'simple-day'
|
||||
})
|
||||
|
||||
const claims = new Map<string, Set<string>>();
|
||||
for (const claimId in claimsJson) {
|
||||
|
||||
const claimsList: any[] = claimsJson[claimId]
|
||||
const values = new Set<string>()
|
||||
for (const claim of claimsList) {
|
||||
let value = claim.mainsnak?.datavalue?.value;
|
||||
if (value === undefined) {
|
||||
continue;
|
||||
}
|
||||
if (value.id !== undefined) {
|
||||
value = value.id
|
||||
}
|
||||
values.add(value)
|
||||
}
|
||||
claims.set(claimId, values);
|
||||
for (const claimId in simplified) {
|
||||
const claimsList: any[] = simplified[claimId]
|
||||
claims.set(claimId, new Set(claimsList));
|
||||
}
|
||||
return claims
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue