wikibase-edit
Version:
Edit Wikibase from NodeJS
29 lines (21 loc) • 1.52 kB
text/typescript
import type { CalendarAlias } from '../claim/parse_calendar.js'
import type { SpecialSnak } from '../claim/special_snaktype.js'
import type { GlobeCoordinateSnakDataValue, MonolingualTextSnakDataValue, StringSnakDataValue, TimeSnakDataValue, WikibaseEntityIdSnakDataValue } from 'wikibase-sdk'
export type CustomEditableGlobeCoordinateSnakValue = Pick<GlobeCoordinateSnakDataValue['value'], 'latitude' | 'longitude'> & Partial<Omit<GlobeCoordinateSnakDataValue['value'], 'latitude' | 'longitude'>>
export type EditableGlobeCoordinateSnakValue = [ number, number ] | CustomEditableGlobeCoordinateSnakValue
export type EditableMonolingualTextSnakValue = MonolingualTextSnakDataValue['value']
export interface CustomQuantitySnakDataValue {
amount: number | string
unit?: string
upperBound?: number | string
lowerBound?: number | string
}
export type EditableQuantitySnakValue = number | CustomQuantitySnakDataValue
export type EditableStringSnakValue = StringSnakDataValue['value']
export type CustomEditableTimeSnakValue = {
time: string
calendar?: CalendarAlias
} & Partial<Omit<TimeSnakDataValue['value'], 'time'>>
export type EditableTimeSnakValue = string | CustomEditableTimeSnakValue
export type EditableWikibaseEntityIdSnakValue = WikibaseEntityIdSnakDataValue['value']
export type EditableSnakValue = EditableGlobeCoordinateSnakValue | EditableMonolingualTextSnakValue | EditableQuantitySnakValue | EditableStringSnakValue | EditableTimeSnakValue | EditableWikibaseEntityIdSnakValue | SpecialSnak