ochre-sdk 1.0.13 → 1.0.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/constants.d.mts +17 -0
- package/dist/constants.mjs +85 -0
- package/dist/fetchers/gallery.d.mts +38 -0
- package/dist/fetchers/gallery.mjs +91 -0
- package/dist/fetchers/item-links.d.mts +32 -0
- package/dist/fetchers/item-links.mjs +120 -0
- package/dist/fetchers/item.d.mts +74 -0
- package/dist/fetchers/item.mjs +146 -0
- package/dist/fetchers/set/items.d.mts +48 -0
- package/dist/fetchers/set/items.mjs +268 -0
- package/dist/fetchers/set/property-values.d.mts +46 -0
- package/dist/fetchers/set/property-values.mjs +514 -0
- package/dist/fetchers/website.d.mts +25 -0
- package/dist/fetchers/website.mjs +38 -0
- package/dist/getters.d.mts +193 -0
- package/dist/getters.mjs +341 -0
- package/dist/helpers.d.mts +18 -0
- package/dist/helpers.mjs +33 -0
- package/dist/index.d.mts +12 -1971
- package/dist/index.mjs +9 -7236
- package/dist/parsers/helpers.d.mts +27 -0
- package/dist/parsers/helpers.mjs +53 -0
- package/dist/parsers/index.d.mts +65 -0
- package/dist/parsers/index.mjs +1338 -0
- package/dist/parsers/mdx.d.mts +4 -0
- package/dist/parsers/mdx.mjs +9 -0
- package/dist/parsers/multilingual.d.mts +189 -0
- package/dist/parsers/multilingual.mjs +410 -0
- package/dist/parsers/string.d.mts +29 -0
- package/dist/parsers/string.mjs +445 -0
- package/dist/parsers/website/index.d.mts +20 -0
- package/dist/parsers/website/index.mjs +1245 -0
- package/dist/parsers/website/reader.d.mts +29 -0
- package/dist/parsers/website/reader.mjs +75 -0
- package/dist/query.d.mts +13 -0
- package/dist/query.mjs +827 -0
- package/dist/schemas.d.mts +79 -0
- package/dist/schemas.mjs +223 -0
- package/dist/types/index.d.mts +840 -0
- package/dist/types/index.mjs +1 -0
- package/dist/types/website.d.mts +501 -0
- package/dist/types/website.mjs +1 -0
- package/dist/utils.d.mts +34 -0
- package/dist/utils.mjs +172 -0
- package/dist/xml/metadata.d.mts +5 -0
- package/dist/xml/metadata.mjs +30 -0
- package/dist/xml/schemas.d.mts +13 -0
- package/dist/xml/schemas.mjs +849 -0
- package/dist/xml/types.d.mts +901 -0
- package/dist/xml/types.mjs +1 -0
- package/package.json +19 -17
|
@@ -0,0 +1,840 @@
|
|
|
1
|
+
import { MultilingualString } from "../parsers/multilingual.mjs";
|
|
2
|
+
import { Webpage } from "./website.mjs";
|
|
3
|
+
|
|
4
|
+
//#region src/types/index.d.ts
|
|
5
|
+
type Prettify<T> = { [K in keyof T]: T[K] } & {};
|
|
6
|
+
/**
|
|
7
|
+
* Language-code tuple or array used by OCHRE multilingual fields.
|
|
8
|
+
*
|
|
9
|
+
* Use the default when the consumer does not need to narrow a value to a
|
|
10
|
+
* specific language tuple.
|
|
11
|
+
*/
|
|
12
|
+
type LanguageCodes = ReadonlyArray<string>;
|
|
13
|
+
/**
|
|
14
|
+
* The category of an item in OCHRE
|
|
15
|
+
*/
|
|
16
|
+
type ItemCategory = "tree" | "bibliography" | "concept" | "spatialUnit" | "period" | "person" | "propertyVariable" | "propertyValue" | "resource" | "text" | "set";
|
|
17
|
+
/**
|
|
18
|
+
* OCHRE item categories that can contain other items in API payloads.
|
|
19
|
+
*/
|
|
20
|
+
type ItemContainerCategory = Extract<ItemCategory, "tree" | "set">;
|
|
21
|
+
/**
|
|
22
|
+
* The category of items in a Tree
|
|
23
|
+
*/
|
|
24
|
+
type TreeItemCategory = Exclude<ItemCategory, "tree">;
|
|
25
|
+
/**
|
|
26
|
+
* The category of items in a Set
|
|
27
|
+
*/
|
|
28
|
+
type SetItemCategory = ItemCategory;
|
|
29
|
+
type ContainedItemCategory<U extends ItemCategory = ItemCategory> = U extends "tree" ? TreeItemCategory : U extends "set" ? SetItemCategory : never;
|
|
30
|
+
type ContainedItemCategoryOption<U extends ItemCategory = ItemCategory> = U extends "tree" ? TreeItemCategory : U extends "set" ? SetItemCategory | ReadonlyArray<SetItemCategory> : never;
|
|
31
|
+
type ContainedItemCategoryFromOption<U extends ItemCategory = ItemCategory, V extends ContainedItemCategoryOption<U> | undefined = undefined> = V extends ReadonlyArray<infer W> ? Extract<W, ContainedItemCategory<U>> : V extends ContainedItemCategory<U> ? V : ContainedItemCategory<U>;
|
|
32
|
+
/**
|
|
33
|
+
* The category of items in a heading
|
|
34
|
+
*/
|
|
35
|
+
type HeadingItemCategory = Exclude<ItemCategory, "tree" | "bibliography" | "spatialUnit" | "concept" | "period">;
|
|
36
|
+
/**
|
|
37
|
+
* The category of items that expose recursive subitem structures.
|
|
38
|
+
*/
|
|
39
|
+
type RecursiveItemCategory = Exclude<ItemCategory, "tree" | "person" | "propertyVariable" | "propertyValue" | "set">;
|
|
40
|
+
/**
|
|
41
|
+
* The category names that can appear in OCHRE context paths
|
|
42
|
+
*/
|
|
43
|
+
type ContextItemCategory = Exclude<ItemCategory, "tree" | "person" | "set">;
|
|
44
|
+
/**
|
|
45
|
+
* Basic identification information
|
|
46
|
+
*/
|
|
47
|
+
type Identification<T extends LanguageCodes = LanguageCodes> = {
|
|
48
|
+
label: MultilingualString<T>;
|
|
49
|
+
abbreviation: MultilingualString<T> | null;
|
|
50
|
+
code: string | null;
|
|
51
|
+
email: string | null;
|
|
52
|
+
website: string | null;
|
|
53
|
+
};
|
|
54
|
+
/**
|
|
55
|
+
* Metadata in OCHRE
|
|
56
|
+
*/
|
|
57
|
+
type Metadata<T extends LanguageCodes = LanguageCodes> = {
|
|
58
|
+
dataset: string;
|
|
59
|
+
description: string;
|
|
60
|
+
publisher: string;
|
|
61
|
+
identifier: string;
|
|
62
|
+
project: {
|
|
63
|
+
uuid: string;
|
|
64
|
+
identification: Identification<T>;
|
|
65
|
+
website: string | null;
|
|
66
|
+
dateFormat: string | null;
|
|
67
|
+
page: "item" | "entry" | null;
|
|
68
|
+
} | null;
|
|
69
|
+
collection: {
|
|
70
|
+
uuid: string;
|
|
71
|
+
identification: Identification<T>;
|
|
72
|
+
page: "item" | "entry";
|
|
73
|
+
} | null;
|
|
74
|
+
publication: {
|
|
75
|
+
uuid: string;
|
|
76
|
+
identification: Identification<T>;
|
|
77
|
+
page: "item" | "entry";
|
|
78
|
+
} | null;
|
|
79
|
+
item: {
|
|
80
|
+
identification: Identification<T>;
|
|
81
|
+
category: string;
|
|
82
|
+
type: string;
|
|
83
|
+
maxLength: number | null;
|
|
84
|
+
} | null;
|
|
85
|
+
defaultLanguage: T[number];
|
|
86
|
+
languages: T;
|
|
87
|
+
};
|
|
88
|
+
type BelongsTo = {
|
|
89
|
+
uuid: string;
|
|
90
|
+
abbreviation: string;
|
|
91
|
+
};
|
|
92
|
+
type ItemPayloadKind = "topLevel" | "embedded";
|
|
93
|
+
type ItemEnvelopeFields<T extends LanguageCodes, U extends ItemPayloadKind> = U extends "topLevel" ? {
|
|
94
|
+
belongsTo: BelongsTo;
|
|
95
|
+
metadata: Metadata<T>;
|
|
96
|
+
persistentUrl: string | null;
|
|
97
|
+
} : {
|
|
98
|
+
belongsTo: null;
|
|
99
|
+
metadata: null;
|
|
100
|
+
persistentUrl: null;
|
|
101
|
+
};
|
|
102
|
+
/**
|
|
103
|
+
* License in OCHRE
|
|
104
|
+
*/
|
|
105
|
+
type License = {
|
|
106
|
+
content: string;
|
|
107
|
+
target: string | null;
|
|
108
|
+
};
|
|
109
|
+
/**
|
|
110
|
+
* Context item in OCHRE
|
|
111
|
+
*/
|
|
112
|
+
type ContextItem = {
|
|
113
|
+
uuid: string | null;
|
|
114
|
+
publicationDateTime: Date | null;
|
|
115
|
+
index: number;
|
|
116
|
+
content: string;
|
|
117
|
+
};
|
|
118
|
+
/**
|
|
119
|
+
* Context node in OCHRE
|
|
120
|
+
*/
|
|
121
|
+
type ContextNode<U extends ContextItemCategory = ContextItemCategory> = {
|
|
122
|
+
tree: ContextItem;
|
|
123
|
+
project: ContextItem;
|
|
124
|
+
heading: Array<ContextItem>;
|
|
125
|
+
} & Partial<Record<U, Array<ContextItem>>>;
|
|
126
|
+
/**
|
|
127
|
+
* Context in OCHRE
|
|
128
|
+
*/
|
|
129
|
+
type Context<U extends ContextItemCategory = ContextItemCategory> = {
|
|
130
|
+
nodes: Array<ContextNode<U>>;
|
|
131
|
+
displayPath: string;
|
|
132
|
+
};
|
|
133
|
+
/**
|
|
134
|
+
* Event in OCHRE
|
|
135
|
+
*/
|
|
136
|
+
type Event<T extends LanguageCodes = LanguageCodes> = {
|
|
137
|
+
date: Date | {
|
|
138
|
+
start: Date;
|
|
139
|
+
end: Date;
|
|
140
|
+
} | null;
|
|
141
|
+
label: MultilingualString<T>;
|
|
142
|
+
comment: MultilingualString<T> | null;
|
|
143
|
+
agent: {
|
|
144
|
+
uuid: string;
|
|
145
|
+
label: MultilingualString<T>;
|
|
146
|
+
publicationDateTime: Date | null;
|
|
147
|
+
} | null;
|
|
148
|
+
location: {
|
|
149
|
+
uuid: string;
|
|
150
|
+
label: MultilingualString<T>;
|
|
151
|
+
publicationDateTime: Date | null;
|
|
152
|
+
} | null;
|
|
153
|
+
other: {
|
|
154
|
+
uuid: string | null;
|
|
155
|
+
category: string | null;
|
|
156
|
+
label: MultilingualString<T>;
|
|
157
|
+
} | null;
|
|
158
|
+
};
|
|
159
|
+
/**
|
|
160
|
+
* Source of coordinates in OCHRE
|
|
161
|
+
*/
|
|
162
|
+
type CoordinatesSource<T extends LanguageCodes = LanguageCodes> = {
|
|
163
|
+
context: "self";
|
|
164
|
+
uuid: string;
|
|
165
|
+
label: MultilingualString<T>;
|
|
166
|
+
} | {
|
|
167
|
+
context: "related";
|
|
168
|
+
uuid: string;
|
|
169
|
+
label: MultilingualString<T>;
|
|
170
|
+
value: MultilingualString<T>;
|
|
171
|
+
} | {
|
|
172
|
+
context: "inherited";
|
|
173
|
+
item: {
|
|
174
|
+
uuid: string | null;
|
|
175
|
+
label: MultilingualString<T>;
|
|
176
|
+
};
|
|
177
|
+
uuid: string;
|
|
178
|
+
label: MultilingualString<T>;
|
|
179
|
+
};
|
|
180
|
+
/**
|
|
181
|
+
* Coordinates in OCHRE
|
|
182
|
+
*/
|
|
183
|
+
type Coordinates<T extends LanguageCodes = LanguageCodes> = {
|
|
184
|
+
type: "point";
|
|
185
|
+
latitude: number;
|
|
186
|
+
longitude: number;
|
|
187
|
+
altitude: number | null;
|
|
188
|
+
source: CoordinatesSource<T> | null;
|
|
189
|
+
} | {
|
|
190
|
+
type: "plane";
|
|
191
|
+
minimum: {
|
|
192
|
+
latitude: number;
|
|
193
|
+
longitude: number;
|
|
194
|
+
};
|
|
195
|
+
maximum: {
|
|
196
|
+
latitude: number;
|
|
197
|
+
longitude: number;
|
|
198
|
+
};
|
|
199
|
+
source: CoordinatesSource<T> | null;
|
|
200
|
+
};
|
|
201
|
+
/**
|
|
202
|
+
* Image in OCHRE
|
|
203
|
+
*/
|
|
204
|
+
type Image<T extends LanguageCodes = LanguageCodes> = {
|
|
205
|
+
publicationDateTime: Date | null;
|
|
206
|
+
identification: Identification<T> | null;
|
|
207
|
+
href: string | null;
|
|
208
|
+
htmlImgSrcPrefix: string | null;
|
|
209
|
+
height: number | null;
|
|
210
|
+
width: number | null;
|
|
211
|
+
fileSize: number | null;
|
|
212
|
+
base64: string | null;
|
|
213
|
+
};
|
|
214
|
+
/**
|
|
215
|
+
* Area of an image map in OCHRE
|
|
216
|
+
*/
|
|
217
|
+
type ImageMapArea = {
|
|
218
|
+
uuid: string;
|
|
219
|
+
publicationDateTime: Date | null;
|
|
220
|
+
type: string;
|
|
221
|
+
title: string;
|
|
222
|
+
slug: string | null;
|
|
223
|
+
items: Array<{
|
|
224
|
+
shape: "rectangle";
|
|
225
|
+
coords: [number, number, number, number];
|
|
226
|
+
} | {
|
|
227
|
+
shape: "circle";
|
|
228
|
+
center: {
|
|
229
|
+
x: number;
|
|
230
|
+
y: number;
|
|
231
|
+
};
|
|
232
|
+
radius: number;
|
|
233
|
+
} | {
|
|
234
|
+
shape: "polygon";
|
|
235
|
+
coords: Array<number>;
|
|
236
|
+
}>;
|
|
237
|
+
};
|
|
238
|
+
/**
|
|
239
|
+
* Image map in OCHRE
|
|
240
|
+
*/
|
|
241
|
+
type ImageMap = {
|
|
242
|
+
areas: Array<ImageMapArea>;
|
|
243
|
+
width: number;
|
|
244
|
+
height: number;
|
|
245
|
+
};
|
|
246
|
+
/**
|
|
247
|
+
* Note in OCHRE
|
|
248
|
+
*/
|
|
249
|
+
type Note<T extends LanguageCodes = LanguageCodes> = {
|
|
250
|
+
number: number;
|
|
251
|
+
title: MultilingualString<T> | null;
|
|
252
|
+
content: MultilingualString<T>;
|
|
253
|
+
authors: Array<Person<T, "embedded">>;
|
|
254
|
+
};
|
|
255
|
+
/**
|
|
256
|
+
* Property value content in OCHRE
|
|
257
|
+
*/
|
|
258
|
+
type PropertyValueContent<T extends LanguageCodes = LanguageCodes> = Prettify<{
|
|
259
|
+
hierarchy: {
|
|
260
|
+
isLeaf: boolean;
|
|
261
|
+
level: number | null;
|
|
262
|
+
};
|
|
263
|
+
label: MultilingualString<T> | null;
|
|
264
|
+
isUncertain: boolean;
|
|
265
|
+
category: string | null;
|
|
266
|
+
type: string | null;
|
|
267
|
+
uuid: string | null;
|
|
268
|
+
publicationDateTime: Date | null;
|
|
269
|
+
unit: string | null;
|
|
270
|
+
href: string | null;
|
|
271
|
+
height: number | null;
|
|
272
|
+
width: number | null;
|
|
273
|
+
fileSize: number | null;
|
|
274
|
+
slug: string | null;
|
|
275
|
+
} & ({
|
|
276
|
+
dataType: "string" | "coordinate" | "IDREF" | "date" | "dateTime";
|
|
277
|
+
content: string;
|
|
278
|
+
} | {
|
|
279
|
+
dataType: "integer" | "decimal" | "time";
|
|
280
|
+
content: number;
|
|
281
|
+
} | {
|
|
282
|
+
dataType: "boolean";
|
|
283
|
+
content: boolean;
|
|
284
|
+
})>;
|
|
285
|
+
/**
|
|
286
|
+
* Property in OCHRE
|
|
287
|
+
*/
|
|
288
|
+
type Property<T extends LanguageCodes = LanguageCodes> = {
|
|
289
|
+
variable: {
|
|
290
|
+
uuid: string;
|
|
291
|
+
label: MultilingualString<T>;
|
|
292
|
+
publicationDateTime: Date | null;
|
|
293
|
+
};
|
|
294
|
+
values: Array<PropertyValueContent<T>>;
|
|
295
|
+
comment: MultilingualString<T> | null;
|
|
296
|
+
properties: Array<Property<T>>;
|
|
297
|
+
};
|
|
298
|
+
/**
|
|
299
|
+
* Simplified property in OCHRE website payloads. Simplified property variables
|
|
300
|
+
* expose scalar labels rather than multilingual labels.
|
|
301
|
+
*/
|
|
302
|
+
type SimplifiedProperty<T extends LanguageCodes = LanguageCodes> = {
|
|
303
|
+
variable: {
|
|
304
|
+
uuid: string;
|
|
305
|
+
label: string;
|
|
306
|
+
publicationDateTime: Date | null;
|
|
307
|
+
};
|
|
308
|
+
values: Array<PropertyValueContent<T>>;
|
|
309
|
+
comment: MultilingualString<T> | null;
|
|
310
|
+
properties: Array<SimplifiedProperty<T>>;
|
|
311
|
+
};
|
|
312
|
+
/**
|
|
313
|
+
* Property in a Set item. OCHRE exposes Set item properties as a flat list.
|
|
314
|
+
*/
|
|
315
|
+
type SetItemProperty<T extends LanguageCodes = LanguageCodes> = Omit<Property<T>, "properties">;
|
|
316
|
+
type SetItemSimplifiedProperty<T extends LanguageCodes = LanguageCodes> = Omit<SimplifiedProperty<T>, "properties">;
|
|
317
|
+
type PropertyLike<T extends LanguageCodes = LanguageCodes> = Property<T> | SetItemProperty<T> | SimplifiedProperty<T> | SetItemSimplifiedProperty<T>;
|
|
318
|
+
type ItemProperty<T extends LanguageCodes = LanguageCodes> = Property<T> | SetItemProperty<T>;
|
|
319
|
+
type PropertyValueDataType = PropertyValueContent["dataType"];
|
|
320
|
+
type QueryablePropertyValueDataType = Exclude<PropertyValueDataType, "coordinate">;
|
|
321
|
+
type WithSetItemProperties<U extends {
|
|
322
|
+
properties: Array<Property<T>>;
|
|
323
|
+
}, T extends LanguageCodes> = U extends {
|
|
324
|
+
properties: Array<Property<T>>;
|
|
325
|
+
} ? Prettify<Omit<U, "properties"> & {
|
|
326
|
+
properties: Array<SetItemProperty<T>>;
|
|
327
|
+
}> : never;
|
|
328
|
+
/**
|
|
329
|
+
* Base item in OCHRE
|
|
330
|
+
*/
|
|
331
|
+
type BaseItem<U extends ItemCategory = ItemCategory, T extends LanguageCodes = LanguageCodes, V extends ItemPayloadKind = "topLevel"> = ItemEnvelopeFields<T, V> & {
|
|
332
|
+
uuid: string;
|
|
333
|
+
category: U;
|
|
334
|
+
publicationDateTime: Date | null;
|
|
335
|
+
context: Context<ContextItemCategory> | null;
|
|
336
|
+
date: Date | null;
|
|
337
|
+
license: License | null;
|
|
338
|
+
copyright: MultilingualString<T> | null;
|
|
339
|
+
watermark: MultilingualString<T> | null;
|
|
340
|
+
identification: Identification<T>;
|
|
341
|
+
creators: Array<Person<T, "embedded">>;
|
|
342
|
+
description: MultilingualString<T> | null;
|
|
343
|
+
events: Array<Event<T>>;
|
|
344
|
+
};
|
|
345
|
+
type ItemLinkCategory = ItemCategory | "dictionaryUnit";
|
|
346
|
+
/**
|
|
347
|
+
* Base item data exposed by OCHRE link and reverse-link payloads.
|
|
348
|
+
*/
|
|
349
|
+
type BaseItemLink<U extends ItemLinkCategory = ItemLinkCategory, T extends LanguageCodes = LanguageCodes> = {
|
|
350
|
+
uuid: string;
|
|
351
|
+
category: U;
|
|
352
|
+
publicationDateTime: Date | null;
|
|
353
|
+
context: Context<ContextItemCategory> | null;
|
|
354
|
+
date: Date | null;
|
|
355
|
+
identification: Identification<T>;
|
|
356
|
+
description: MultilingualString<T> | null;
|
|
357
|
+
};
|
|
358
|
+
type BibliographySourceDocument = {
|
|
359
|
+
uuid: string;
|
|
360
|
+
content: string;
|
|
361
|
+
href: string | null;
|
|
362
|
+
publicationDateTime: Date | null;
|
|
363
|
+
};
|
|
364
|
+
type BibliographyEntryInfo = {
|
|
365
|
+
content: string | null;
|
|
366
|
+
startIssue: string;
|
|
367
|
+
startVolume: string;
|
|
368
|
+
startPage: string;
|
|
369
|
+
endPage: string;
|
|
370
|
+
};
|
|
371
|
+
type ItemLinks<T extends LanguageCodes = LanguageCodes> = Array<ItemLink<ItemLinkCategory, T>>;
|
|
372
|
+
type TreeItemLink<T extends LanguageCodes = LanguageCodes> = Prettify<BaseItemLink<"tree", T> & {
|
|
373
|
+
type: string | null;
|
|
374
|
+
containedItemCategory: TreeItemCategory | null;
|
|
375
|
+
}>;
|
|
376
|
+
type SetItemLink<T extends LanguageCodes = LanguageCodes> = Prettify<BaseItemLink<"set", T> & {
|
|
377
|
+
type: string | null;
|
|
378
|
+
containedItemCategories: Array<SetItemCategory> | null;
|
|
379
|
+
}>;
|
|
380
|
+
type BibliographyItemLink<T extends LanguageCodes = LanguageCodes> = Prettify<BaseItemLink<"bibliography", T> & {
|
|
381
|
+
type: string | null;
|
|
382
|
+
zoteroId: string | null;
|
|
383
|
+
citationDetails: string | null;
|
|
384
|
+
citationFormat: MultilingualString<T> | null;
|
|
385
|
+
citationFormatSpan: string | null;
|
|
386
|
+
referenceFormatDiv: string | null;
|
|
387
|
+
image: Image<T> | null;
|
|
388
|
+
sourceDocument: BibliographySourceDocument | null;
|
|
389
|
+
publicationInfo: {
|
|
390
|
+
publishers: Array<ItemLink<"person", T>>;
|
|
391
|
+
startDate: Date | null;
|
|
392
|
+
} | null;
|
|
393
|
+
entryInfo: BibliographyEntryInfo | null;
|
|
394
|
+
source: ItemLink<TreeItemCategory, T> | null;
|
|
395
|
+
authors: Array<ItemLink<"person", T>>;
|
|
396
|
+
periods: Array<ItemLink<"period", T>>;
|
|
397
|
+
properties: Array<Property<T>>;
|
|
398
|
+
}>;
|
|
399
|
+
type ConceptItemLink<T extends LanguageCodes = LanguageCodes> = Prettify<BaseItemLink<"concept", T> & {
|
|
400
|
+
image: Image<T> | null;
|
|
401
|
+
coordinates: Array<Coordinates<T>>;
|
|
402
|
+
}>;
|
|
403
|
+
type SpatialUnitItemLink<T extends LanguageCodes = LanguageCodes> = Prettify<BaseItemLink<"spatialUnit", T> & {
|
|
404
|
+
image: Image<T> | null;
|
|
405
|
+
coordinates: Array<Coordinates<T>>;
|
|
406
|
+
}>;
|
|
407
|
+
type PeriodItemLink<T extends LanguageCodes = LanguageCodes> = Prettify<BaseItemLink<"period", T> & {
|
|
408
|
+
type: string | null;
|
|
409
|
+
coordinates: Array<Coordinates<T>>;
|
|
410
|
+
}>;
|
|
411
|
+
type PersonItemLink<T extends LanguageCodes = LanguageCodes> = Prettify<BaseItemLink<"person", T> & {
|
|
412
|
+
type: string | null;
|
|
413
|
+
coordinates: Array<Coordinates<T>>;
|
|
414
|
+
}>;
|
|
415
|
+
type PropertyVariableItemLink<T extends LanguageCodes = LanguageCodes> = Prettify<BaseItemLink<"propertyVariable", T> & {
|
|
416
|
+
type: string | null;
|
|
417
|
+
coordinates: Array<Coordinates<T>>;
|
|
418
|
+
}>;
|
|
419
|
+
type PropertyValueItemLink<T extends LanguageCodes = LanguageCodes> = Prettify<BaseItemLink<"propertyValue", T> & {
|
|
420
|
+
coordinates: Array<Coordinates<T>>;
|
|
421
|
+
}>;
|
|
422
|
+
type ResourceItemLink<T extends LanguageCodes = LanguageCodes> = Prettify<BaseItemLink<"resource", T> & {
|
|
423
|
+
type: string | null;
|
|
424
|
+
href: string | null;
|
|
425
|
+
fileFormat: string | null;
|
|
426
|
+
fileSize: number | null;
|
|
427
|
+
isInline: boolean;
|
|
428
|
+
isPrimary: boolean;
|
|
429
|
+
height: number | null;
|
|
430
|
+
width: number | null;
|
|
431
|
+
image: Image<T> | null;
|
|
432
|
+
coordinates: Array<Coordinates<T>>;
|
|
433
|
+
}>;
|
|
434
|
+
type TextItemLink<T extends LanguageCodes = LanguageCodes> = Prettify<BaseItemLink<"text", T> & {
|
|
435
|
+
type: string | null;
|
|
436
|
+
text: string | null;
|
|
437
|
+
language: string | null;
|
|
438
|
+
image: Image<T> | null;
|
|
439
|
+
coordinates: Array<Coordinates<T>>;
|
|
440
|
+
}>;
|
|
441
|
+
type DictionaryUnitItemLink<T extends LanguageCodes = LanguageCodes> = Prettify<BaseItemLink<"dictionaryUnit", T>>;
|
|
442
|
+
/**
|
|
443
|
+
* An abridged item reference exposed inside OCHRE links and reverse links.
|
|
444
|
+
*/
|
|
445
|
+
type ItemLink<U extends ItemLinkCategory = ItemLinkCategory, T extends LanguageCodes = LanguageCodes> = U extends ItemLinkCategory ? U extends "tree" ? TreeItemLink<T> : U extends "set" ? SetItemLink<T> : U extends "bibliography" ? BibliographyItemLink<T> : U extends "concept" ? ConceptItemLink<T> : U extends "spatialUnit" ? SpatialUnitItemLink<T> : U extends "period" ? PeriodItemLink<T> : U extends "person" ? PersonItemLink<T> : U extends "propertyVariable" ? PropertyVariableItemLink<T> : U extends "propertyValue" ? PropertyValueItemLink<T> : U extends "resource" ? ResourceItemLink<T> : U extends "text" ? TextItemLink<T> : U extends "dictionaryUnit" ? DictionaryUnitItemLink<T> : never : never;
|
|
446
|
+
/**
|
|
447
|
+
* An Item in OCHRE (can be a tree, set, bibliography, concept, spatial unit, period, person, property value, property variable, or resource)
|
|
448
|
+
*/
|
|
449
|
+
type Item<U extends ItemCategory = ItemCategory, V extends ContainedItemCategory<U> = ContainedItemCategory<U>, T extends LanguageCodes = LanguageCodes, W extends ItemPayloadKind = "topLevel"> = U extends ItemCategory ? U extends "tree" ? Tree<Extract<V, TreeItemCategory>, T, W> : U extends "set" ? Set<Extract<V, SetItemCategory>, T, W> : U extends "bibliography" ? Bibliography<T, W> : U extends "concept" ? Concept<T, W> : U extends "spatialUnit" ? SpatialUnit<T, W> : U extends "period" ? Period<T, W> : U extends "person" ? Person<T, W> : U extends "propertyVariable" ? PropertyVariable<T, W> : U extends "propertyValue" ? PropertyValue<T, W> : U extends "resource" ? Resource<T, W> : U extends "text" ? Text<T, W> : never : never;
|
|
450
|
+
/**
|
|
451
|
+
* A Tree or Set fetched without its embedded item hierarchy.
|
|
452
|
+
*/
|
|
453
|
+
type ItemWithoutEmbeddedItems<U extends ItemContainerCategory = ItemContainerCategory, V extends ContainedItemCategory<U> = ContainedItemCategory<U>, T extends LanguageCodes = LanguageCodes, W extends ItemPayloadKind = "topLevel"> = U extends ItemContainerCategory ? U extends "tree" ? Prettify<Omit<Tree<Extract<V, TreeItemCategory>, T, W>, "items">> : U extends "set" ? Prettify<Omit<Set<Extract<V, SetItemCategory>, T, W>, "items">> : never : never;
|
|
454
|
+
type TopLevelItem<U extends ItemCategory = ItemCategory, V extends ContainedItemCategory<U> = ContainedItemCategory<U>, T extends LanguageCodes = LanguageCodes> = Item<U, V, T, "topLevel">;
|
|
455
|
+
type EmbeddedItem<U extends ItemCategory = ItemCategory, V extends ContainedItemCategory<U> = ContainedItemCategory<U>, T extends LanguageCodes = LanguageCodes> = Item<U, V, T, "embedded">;
|
|
456
|
+
type AnyItem<U extends ItemCategory = ItemCategory, V extends ContainedItemCategory<U> = ContainedItemCategory<U>, T extends LanguageCodes = LanguageCodes> = Item<U, V, T, ItemPayloadKind>;
|
|
457
|
+
/**
|
|
458
|
+
* Heading in OCHRE
|
|
459
|
+
*/
|
|
460
|
+
type Heading<U extends HeadingItemCategory = HeadingItemCategory, T extends LanguageCodes = LanguageCodes> = {
|
|
461
|
+
name: string;
|
|
462
|
+
headings: Array<Heading<U, T>>;
|
|
463
|
+
items: Array<Item<U, never, T, "embedded">>;
|
|
464
|
+
};
|
|
465
|
+
/**
|
|
466
|
+
* Tree in OCHRE
|
|
467
|
+
*/
|
|
468
|
+
type Tree<U extends TreeItemCategory = TreeItemCategory, T extends LanguageCodes = LanguageCodes, V extends ItemPayloadKind = "topLevel"> = Prettify<BaseItem<"tree", T, V> & {
|
|
469
|
+
type: string | null;
|
|
470
|
+
containedItemCategory: U | null;
|
|
471
|
+
links: ItemLinks<T>;
|
|
472
|
+
notes: Array<Note<T>>;
|
|
473
|
+
properties: Array<Property<T>>;
|
|
474
|
+
bibliographies: Array<Bibliography<T, "embedded">>;
|
|
475
|
+
items: U extends HeadingItemCategory ? Array<Heading<U, T> | Item<U, never, T, "embedded">> : Array<Item<U, never, T, "embedded">>;
|
|
476
|
+
}>;
|
|
477
|
+
/**
|
|
478
|
+
* Set in OCHRE
|
|
479
|
+
*/
|
|
480
|
+
type Set<U extends SetItemCategory = SetItemCategory, T extends LanguageCodes = LanguageCodes, V extends ItemPayloadKind = "topLevel"> = Prettify<BaseItem<"set", T, V> & {
|
|
481
|
+
containedItemCategories: Array<U>;
|
|
482
|
+
isTabularStructure: boolean;
|
|
483
|
+
isSuppressingBlanks: boolean;
|
|
484
|
+
links: ItemLinks<T>;
|
|
485
|
+
notes: Array<Note<T>>;
|
|
486
|
+
properties: Array<Property<T>>;
|
|
487
|
+
items: Array<SetItem<U, T>>;
|
|
488
|
+
}>;
|
|
489
|
+
type SetBibliography<T extends LanguageCodes = LanguageCodes> = Bibliography<T, "embedded"> extends infer U ? U extends {
|
|
490
|
+
properties: Array<Property<T>>;
|
|
491
|
+
} ? Prettify<Omit<U, "properties" | "items"> & {
|
|
492
|
+
properties: Array<SetItemProperty<T>>;
|
|
493
|
+
}> : never : never;
|
|
494
|
+
type SetConcept<T extends LanguageCodes = LanguageCodes> = Prettify<Omit<Concept<T, "embedded">, "interpretations" | "items"> & {
|
|
495
|
+
properties: Array<SetItemProperty<T>>;
|
|
496
|
+
}>;
|
|
497
|
+
type SetSpatialUnit<T extends LanguageCodes = LanguageCodes> = Prettify<Omit<SpatialUnit<T, "embedded">, "observations" | "items"> & {
|
|
498
|
+
properties: Array<SetItemProperty<T>>;
|
|
499
|
+
}>;
|
|
500
|
+
type SetPeriod<T extends LanguageCodes = LanguageCodes> = Prettify<Omit<WithSetItemProperties<Period<T, "embedded">, T>, "items">>;
|
|
501
|
+
type SetResource<T extends LanguageCodes = LanguageCodes> = Prettify<Omit<WithSetItemProperties<Resource<T, "embedded">, T>, "items">>;
|
|
502
|
+
type SetTree<T extends LanguageCodes = LanguageCodes> = Prettify<Omit<WithSetItemProperties<Tree<TreeItemCategory, T, "embedded">, T>, "items">>;
|
|
503
|
+
type SetItem<U extends SetItemCategory = SetItemCategory, T extends LanguageCodes = LanguageCodes> = U extends "tree" ? SetTree<T> : U extends "bibliography" ? SetBibliography<T> : U extends "concept" ? SetConcept<T> : U extends "spatialUnit" ? SetSpatialUnit<T> : U extends "period" ? SetPeriod<T> : U extends "person" ? WithSetItemProperties<Person<T, "embedded">, T> : U extends "propertyVariable" ? PropertyVariable<T, "embedded"> : U extends "propertyValue" ? WithSetItemProperties<PropertyValue<T, "embedded">, T> : U extends "resource" ? SetResource<T> : U extends "text" ? Text<T, "embedded"> : U extends "set" ? Omit<WithSetItemProperties<Set<SetItemCategory, T, "embedded">, T>, "items"> : never;
|
|
504
|
+
/**
|
|
505
|
+
* Person in OCHRE
|
|
506
|
+
*/
|
|
507
|
+
type Person<T extends LanguageCodes = LanguageCodes, U extends ItemPayloadKind = "topLevel"> = Prettify<BaseItem<"person", T, U> & {
|
|
508
|
+
type: string;
|
|
509
|
+
image: Image<T> | null;
|
|
510
|
+
address: {
|
|
511
|
+
country: string | null;
|
|
512
|
+
city: string | null;
|
|
513
|
+
state: string | null;
|
|
514
|
+
postalCode: string | null;
|
|
515
|
+
} | null;
|
|
516
|
+
coordinates: Array<Coordinates<T>>;
|
|
517
|
+
content: MultilingualString<T> | null;
|
|
518
|
+
periods: Array<Period<T, "embedded">>;
|
|
519
|
+
links: ItemLinks<T>;
|
|
520
|
+
notes: Array<Note<T>>;
|
|
521
|
+
properties: Array<Property<T>>;
|
|
522
|
+
}>;
|
|
523
|
+
/**
|
|
524
|
+
* Period in OCHRE
|
|
525
|
+
*/
|
|
526
|
+
type Period<T extends LanguageCodes = LanguageCodes, U extends ItemPayloadKind = "topLevel"> = Prettify<BaseItem<"period", T, U> & {
|
|
527
|
+
type: string | null;
|
|
528
|
+
coordinates: Array<Coordinates<T>>;
|
|
529
|
+
links: ItemLinks<T>;
|
|
530
|
+
notes: Array<Note<T>>;
|
|
531
|
+
properties: Array<Property<T>>;
|
|
532
|
+
bibliographies: Array<Bibliography<T, "embedded">>;
|
|
533
|
+
items: Array<Period<T, "embedded">>;
|
|
534
|
+
}>;
|
|
535
|
+
/**
|
|
536
|
+
* Bibliography in OCHRE
|
|
537
|
+
*/
|
|
538
|
+
type Bibliography<T extends LanguageCodes = LanguageCodes, U extends ItemPayloadKind = "topLevel"> = Prettify<BaseItem<"bibliography", T, U> & {
|
|
539
|
+
citationDetails: string | null;
|
|
540
|
+
citationFormat: MultilingualString<T> | null;
|
|
541
|
+
citationFormatSpan: string | null;
|
|
542
|
+
referenceFormatDiv: string | null;
|
|
543
|
+
image: Image<T> | null;
|
|
544
|
+
sourceDocument: BibliographySourceDocument | null;
|
|
545
|
+
publicationInfo: {
|
|
546
|
+
publishers: Array<Person<T, "embedded">>;
|
|
547
|
+
startDate: Date | null;
|
|
548
|
+
} | null;
|
|
549
|
+
entryInfo: BibliographyEntryInfo | null;
|
|
550
|
+
source: ItemLink<TreeItemCategory, T> | null;
|
|
551
|
+
authors: Array<Person<T, "embedded">>;
|
|
552
|
+
periods: Array<Period<T, "embedded">>;
|
|
553
|
+
links: ItemLinks<T>;
|
|
554
|
+
notes: Array<Note<T>>;
|
|
555
|
+
properties: Array<Property<T>>;
|
|
556
|
+
bibliographies: Array<Bibliography<T, "embedded">>;
|
|
557
|
+
items: Array<Bibliography<T, "embedded">>;
|
|
558
|
+
} & ({
|
|
559
|
+
type: "zotero";
|
|
560
|
+
zoteroId: string;
|
|
561
|
+
uuid: string | null;
|
|
562
|
+
} | {
|
|
563
|
+
type: string | null;
|
|
564
|
+
})>;
|
|
565
|
+
/**
|
|
566
|
+
* Concept in OCHRE
|
|
567
|
+
*/
|
|
568
|
+
type Concept<T extends LanguageCodes = LanguageCodes, U extends ItemPayloadKind = "topLevel"> = Prettify<BaseItem<"concept", T, U> & {
|
|
569
|
+
image: Image<T> | null;
|
|
570
|
+
interpretations: Array<Interpretation<T>>;
|
|
571
|
+
coordinates: Array<Coordinates<T>>;
|
|
572
|
+
items: Array<Concept<T, "embedded">>;
|
|
573
|
+
}>;
|
|
574
|
+
/**
|
|
575
|
+
* Interpretation in OCHRE
|
|
576
|
+
*/
|
|
577
|
+
type Interpretation<T extends LanguageCodes = LanguageCodes> = {
|
|
578
|
+
number: number;
|
|
579
|
+
date: Date | null;
|
|
580
|
+
observers: Array<Person<T, "embedded">>;
|
|
581
|
+
periods: Array<Period<T, "embedded">>;
|
|
582
|
+
links: ItemLinks<T>;
|
|
583
|
+
notes: Array<Note<T>>;
|
|
584
|
+
properties: Array<Property<T>>;
|
|
585
|
+
bibliographies: Array<Bibliography<T, "embedded">>;
|
|
586
|
+
};
|
|
587
|
+
/**
|
|
588
|
+
* Spatial unit in OCHRE
|
|
589
|
+
*/
|
|
590
|
+
type SpatialUnit<T extends LanguageCodes = LanguageCodes, U extends ItemPayloadKind = "topLevel"> = Prettify<BaseItem<"spatialUnit", T, U> & {
|
|
591
|
+
image: Image<T> | null;
|
|
592
|
+
coordinates: Array<Coordinates<T>>;
|
|
593
|
+
mapData: {
|
|
594
|
+
geoJSON: {
|
|
595
|
+
multiPolygon: string;
|
|
596
|
+
EPSG: number;
|
|
597
|
+
};
|
|
598
|
+
} | null;
|
|
599
|
+
observations: Array<Observation<T>>;
|
|
600
|
+
bibliographies: Array<Bibliography<T, "embedded">>;
|
|
601
|
+
items: Array<SpatialUnit<T, "embedded">>;
|
|
602
|
+
}>;
|
|
603
|
+
/**
|
|
604
|
+
* Observation in OCHRE
|
|
605
|
+
*/
|
|
606
|
+
type Observation<T extends LanguageCodes = LanguageCodes> = {
|
|
607
|
+
number: number;
|
|
608
|
+
date: Date | null;
|
|
609
|
+
observers: Array<string> | Array<Person<T, "embedded">>;
|
|
610
|
+
periods: Array<Period<T, "embedded">>;
|
|
611
|
+
links: ItemLinks<T>;
|
|
612
|
+
notes: Array<Note<T>>;
|
|
613
|
+
properties: Array<Property<T>>;
|
|
614
|
+
bibliographies: Array<Bibliography<T, "embedded">>;
|
|
615
|
+
};
|
|
616
|
+
/**
|
|
617
|
+
* Property variable in OCHRE
|
|
618
|
+
*/
|
|
619
|
+
type PropertyVariable<T extends LanguageCodes = LanguageCodes, U extends ItemPayloadKind = "topLevel"> = Prettify<BaseItem<"propertyVariable", T, U> & {
|
|
620
|
+
type: string | null;
|
|
621
|
+
coordinates: Array<Coordinates<T>>;
|
|
622
|
+
links: ItemLinks<T>;
|
|
623
|
+
notes: Array<Note<T>>;
|
|
624
|
+
bibliographies: Array<Bibliography<T, "embedded">>;
|
|
625
|
+
}>;
|
|
626
|
+
/**
|
|
627
|
+
* Property value in OCHRE
|
|
628
|
+
*/
|
|
629
|
+
type PropertyValue<T extends LanguageCodes = LanguageCodes, U extends ItemPayloadKind = "topLevel"> = Prettify<BaseItem<"propertyValue", T, U> & {
|
|
630
|
+
coordinates: Array<Coordinates<T>>;
|
|
631
|
+
links: ItemLinks<T>;
|
|
632
|
+
notes: Array<Note<T>>;
|
|
633
|
+
properties: Array<Property<T>>;
|
|
634
|
+
bibliographies: Array<Bibliography<T, "embedded">>;
|
|
635
|
+
}>;
|
|
636
|
+
/**
|
|
637
|
+
* Resource in OCHRE
|
|
638
|
+
*/
|
|
639
|
+
type Resource<T extends LanguageCodes = LanguageCodes, U extends ItemPayloadKind = "topLevel"> = Prettify<BaseItem<"resource", T, U> & {
|
|
640
|
+
type: string;
|
|
641
|
+
href: string | null;
|
|
642
|
+
fileFormat: string | null;
|
|
643
|
+
fileSize: number | null;
|
|
644
|
+
isInline: boolean;
|
|
645
|
+
height: number | null;
|
|
646
|
+
width: number | null;
|
|
647
|
+
image: Image<T> | null;
|
|
648
|
+
document: MultilingualString<T> | null;
|
|
649
|
+
imageMap: ImageMap | null;
|
|
650
|
+
coordinates: Array<Coordinates<T>>;
|
|
651
|
+
periods: Array<Period<T, "embedded">>;
|
|
652
|
+
links: ItemLinks<T>;
|
|
653
|
+
reverseLinks: ItemLinks<T>;
|
|
654
|
+
notes: Array<Note<T>>;
|
|
655
|
+
properties: Array<Property<T>>;
|
|
656
|
+
bibliographies: Array<Bibliography<T, "embedded">>;
|
|
657
|
+
items: Array<Resource<T, "embedded">>;
|
|
658
|
+
} & (U extends "topLevel" ? {
|
|
659
|
+
view: Webpage<T> | null;
|
|
660
|
+
} : unknown)>;
|
|
661
|
+
/**
|
|
662
|
+
* Text in OCHRE
|
|
663
|
+
*/
|
|
664
|
+
type Text<T extends LanguageCodes = LanguageCodes, U extends ItemPayloadKind = "topLevel"> = Prettify<BaseItem<"text", T, U> & {
|
|
665
|
+
type: string;
|
|
666
|
+
text: string | null;
|
|
667
|
+
language: string | null;
|
|
668
|
+
image: Image<T> | null;
|
|
669
|
+
coordinates: Array<Coordinates<T>>;
|
|
670
|
+
links: ItemLinks<T>;
|
|
671
|
+
reverseLinks: ItemLinks<T>;
|
|
672
|
+
notes: Array<Note<T>>;
|
|
673
|
+
sections: Array<Section<T>>;
|
|
674
|
+
periods: Array<Period<T, "embedded">>;
|
|
675
|
+
creators: Array<Person<T, "embedded">>;
|
|
676
|
+
editions: Array<Person<T, "embedded">>;
|
|
677
|
+
}>;
|
|
678
|
+
/**
|
|
679
|
+
* Section in OCHRE
|
|
680
|
+
*/
|
|
681
|
+
type Section<T extends LanguageCodes = LanguageCodes> = {
|
|
682
|
+
uuid: string;
|
|
683
|
+
publicationDateTime: Date | null;
|
|
684
|
+
identification: Identification<T>;
|
|
685
|
+
project: {
|
|
686
|
+
identification: Identification<T>;
|
|
687
|
+
} | null;
|
|
688
|
+
};
|
|
689
|
+
type EmbeddedTree<U extends TreeItemCategory = TreeItemCategory, T extends LanguageCodes = LanguageCodes> = Tree<U, T, "embedded">;
|
|
690
|
+
type AnyTree<U extends TreeItemCategory = TreeItemCategory, T extends LanguageCodes = LanguageCodes> = Tree<U, T, ItemPayloadKind>;
|
|
691
|
+
type EmbeddedSet<U extends SetItemCategory = SetItemCategory, T extends LanguageCodes = LanguageCodes> = Set<U, T, "embedded">;
|
|
692
|
+
type AnySet<U extends SetItemCategory = SetItemCategory, T extends LanguageCodes = LanguageCodes> = Set<U, T, ItemPayloadKind>;
|
|
693
|
+
type EmbeddedBibliography<T extends LanguageCodes = LanguageCodes> = Bibliography<T, "embedded">;
|
|
694
|
+
type AnyBibliography<T extends LanguageCodes = LanguageCodes> = Bibliography<T, ItemPayloadKind>;
|
|
695
|
+
type EmbeddedConcept<T extends LanguageCodes = LanguageCodes> = Concept<T, "embedded">;
|
|
696
|
+
type AnyConcept<T extends LanguageCodes = LanguageCodes> = Concept<T, ItemPayloadKind>;
|
|
697
|
+
type EmbeddedSpatialUnit<T extends LanguageCodes = LanguageCodes> = SpatialUnit<T, "embedded">;
|
|
698
|
+
type AnySpatialUnit<T extends LanguageCodes = LanguageCodes> = SpatialUnit<T, ItemPayloadKind>;
|
|
699
|
+
type EmbeddedPeriod<T extends LanguageCodes = LanguageCodes> = Period<T, "embedded">;
|
|
700
|
+
type AnyPeriod<T extends LanguageCodes = LanguageCodes> = Period<T, ItemPayloadKind>;
|
|
701
|
+
type EmbeddedPerson<T extends LanguageCodes = LanguageCodes> = Person<T, "embedded">;
|
|
702
|
+
type AnyPerson<T extends LanguageCodes = LanguageCodes> = Person<T, ItemPayloadKind>;
|
|
703
|
+
type EmbeddedPropertyVariable<T extends LanguageCodes = LanguageCodes> = PropertyVariable<T, "embedded">;
|
|
704
|
+
type AnyPropertyVariable<T extends LanguageCodes = LanguageCodes> = PropertyVariable<T, ItemPayloadKind>;
|
|
705
|
+
type EmbeddedPropertyValue<T extends LanguageCodes = LanguageCodes> = PropertyValue<T, "embedded">;
|
|
706
|
+
type AnyPropertyValue<T extends LanguageCodes = LanguageCodes> = PropertyValue<T, ItemPayloadKind>;
|
|
707
|
+
type EmbeddedResource<T extends LanguageCodes = LanguageCodes> = Resource<T, "embedded">;
|
|
708
|
+
type AnyResource<T extends LanguageCodes = LanguageCodes> = Resource<T, ItemPayloadKind>;
|
|
709
|
+
type EmbeddedText<T extends LanguageCodes = LanguageCodes> = Text<T, "embedded">;
|
|
710
|
+
type AnyText<T extends LanguageCodes = LanguageCodes> = Text<T, ItemPayloadKind>;
|
|
711
|
+
/**
|
|
712
|
+
* Represents a gallery with its identification, project identification, resources and max length
|
|
713
|
+
*/
|
|
714
|
+
type Gallery<T extends LanguageCodes = LanguageCodes> = {
|
|
715
|
+
identification: Identification<T>;
|
|
716
|
+
projectIdentification: Identification<T>;
|
|
717
|
+
resources: Array<Resource<T, "embedded">>;
|
|
718
|
+
maxLength: number;
|
|
719
|
+
};
|
|
720
|
+
/**
|
|
721
|
+
* Represents a property query item with its UUID, raw value, count, and content
|
|
722
|
+
*/
|
|
723
|
+
type PropertyValueQueryItem = {
|
|
724
|
+
count: number;
|
|
725
|
+
dataType: QueryablePropertyValueDataType;
|
|
726
|
+
content: string | number | boolean | null;
|
|
727
|
+
label: MultilingualString | null;
|
|
728
|
+
};
|
|
729
|
+
/**
|
|
730
|
+
* Represents a grouped Set attribute value query item
|
|
731
|
+
*/
|
|
732
|
+
type SetAttributeValueQueryItem = {
|
|
733
|
+
count: number;
|
|
734
|
+
content: string;
|
|
735
|
+
};
|
|
736
|
+
/**
|
|
737
|
+
* Represents sorting direction for Set items
|
|
738
|
+
*/
|
|
739
|
+
type SetItemsSortDirection = "asc" | "desc";
|
|
740
|
+
/**
|
|
741
|
+
* Represents sorting options for Set items
|
|
742
|
+
*/
|
|
743
|
+
type SetItemsSort = {
|
|
744
|
+
target: "none";
|
|
745
|
+
} | {
|
|
746
|
+
target: "title";
|
|
747
|
+
direction?: SetItemsSortDirection;
|
|
748
|
+
language?: string;
|
|
749
|
+
} | {
|
|
750
|
+
target: "propertyValue";
|
|
751
|
+
propertyVariableUuid: string;
|
|
752
|
+
dataType: QueryablePropertyValueDataType;
|
|
753
|
+
direction?: SetItemsSortDirection;
|
|
754
|
+
language?: string;
|
|
755
|
+
};
|
|
756
|
+
/**
|
|
757
|
+
* Represents a leaf query for Set items
|
|
758
|
+
*/
|
|
759
|
+
type QueryLeaf = {
|
|
760
|
+
target: "property";
|
|
761
|
+
propertyVariable?: string;
|
|
762
|
+
dataType: Exclude<QueryablePropertyValueDataType, "date" | "dateTime">;
|
|
763
|
+
value?: string;
|
|
764
|
+
from?: never;
|
|
765
|
+
to?: never;
|
|
766
|
+
matchMode: "includes" | "exact";
|
|
767
|
+
isCaseSensitive: boolean;
|
|
768
|
+
language: string;
|
|
769
|
+
isNegated?: boolean;
|
|
770
|
+
} | {
|
|
771
|
+
target: "property";
|
|
772
|
+
propertyVariable: string;
|
|
773
|
+
dataType: "date" | "dateTime";
|
|
774
|
+
value: string;
|
|
775
|
+
from?: never;
|
|
776
|
+
to?: never;
|
|
777
|
+
matchMode: "includes" | "exact";
|
|
778
|
+
isCaseSensitive: boolean;
|
|
779
|
+
language: string;
|
|
780
|
+
isNegated?: boolean;
|
|
781
|
+
} | {
|
|
782
|
+
target: "property";
|
|
783
|
+
propertyVariable: string;
|
|
784
|
+
dataType: "date" | "dateTime";
|
|
785
|
+
value?: never;
|
|
786
|
+
from: string;
|
|
787
|
+
to?: string;
|
|
788
|
+
matchMode: "includes" | "exact";
|
|
789
|
+
isCaseSensitive: boolean;
|
|
790
|
+
language: string;
|
|
791
|
+
isNegated?: boolean;
|
|
792
|
+
} | {
|
|
793
|
+
target: "property";
|
|
794
|
+
propertyVariable: string;
|
|
795
|
+
dataType: "date" | "dateTime";
|
|
796
|
+
value?: never;
|
|
797
|
+
from?: string;
|
|
798
|
+
to: string;
|
|
799
|
+
matchMode: "includes" | "exact";
|
|
800
|
+
isCaseSensitive: boolean;
|
|
801
|
+
language: string;
|
|
802
|
+
isNegated?: boolean;
|
|
803
|
+
} | {
|
|
804
|
+
target: "property";
|
|
805
|
+
propertyVariable?: string;
|
|
806
|
+
dataType: "all";
|
|
807
|
+
value: string;
|
|
808
|
+
matchMode: "includes" | "exact";
|
|
809
|
+
isCaseSensitive: boolean;
|
|
810
|
+
language: string;
|
|
811
|
+
isNegated?: boolean;
|
|
812
|
+
} | {
|
|
813
|
+
target: "string";
|
|
814
|
+
value: string;
|
|
815
|
+
matchMode: "includes" | "exact";
|
|
816
|
+
isCaseSensitive: boolean;
|
|
817
|
+
language: string;
|
|
818
|
+
isNegated?: boolean;
|
|
819
|
+
} | {
|
|
820
|
+
target: "title" | "description" | "image" | "periods" | "bibliography" | "notes";
|
|
821
|
+
value: string;
|
|
822
|
+
matchMode: "includes" | "exact";
|
|
823
|
+
isCaseSensitive: boolean;
|
|
824
|
+
language: string;
|
|
825
|
+
isNegated?: boolean;
|
|
826
|
+
};
|
|
827
|
+
/**
|
|
828
|
+
* Represents a boolean query group for Set items
|
|
829
|
+
*/
|
|
830
|
+
type QueryGroup = {
|
|
831
|
+
and: Array<Query>;
|
|
832
|
+
} | {
|
|
833
|
+
or: Array<Query>;
|
|
834
|
+
};
|
|
835
|
+
/**
|
|
836
|
+
* Represents a query for Set items
|
|
837
|
+
*/
|
|
838
|
+
type Query = QueryLeaf | QueryGroup;
|
|
839
|
+
//#endregion
|
|
840
|
+
export { AnyBibliography, AnyConcept, AnyItem, AnyPeriod, AnyPerson, AnyPropertyValue, AnyPropertyVariable, AnyResource, AnySet, AnySpatialUnit, AnyText, AnyTree, BaseItem, BaseItemLink, BelongsTo, Bibliography, BibliographyEntryInfo, BibliographyItemLink, BibliographySourceDocument, Concept, ConceptItemLink, ContainedItemCategory, ContainedItemCategoryFromOption, ContainedItemCategoryOption, Context, ContextItem, ContextItemCategory, ContextNode, Coordinates, CoordinatesSource, DictionaryUnitItemLink, EmbeddedBibliography, EmbeddedConcept, EmbeddedItem, EmbeddedPeriod, EmbeddedPerson, EmbeddedPropertyValue, EmbeddedPropertyVariable, EmbeddedResource, EmbeddedSet, EmbeddedSpatialUnit, EmbeddedText, EmbeddedTree, Event, Gallery, Heading, HeadingItemCategory, Identification, Image, ImageMap, ImageMapArea, Interpretation, Item, ItemCategory, ItemContainerCategory, ItemLink, ItemLinkCategory, ItemLinks, ItemPayloadKind, ItemProperty, ItemWithoutEmbeddedItems, LanguageCodes, License, Metadata, Note, Observation, Period, PeriodItemLink, Person, PersonItemLink, Property, PropertyLike, PropertyValue, PropertyValueContent, PropertyValueDataType, PropertyValueItemLink, PropertyValueQueryItem, PropertyVariable, PropertyVariableItemLink, Query, QueryGroup, QueryLeaf, QueryablePropertyValueDataType, RecursiveItemCategory, Resource, ResourceItemLink, Section, Set, SetAttributeValueQueryItem, SetBibliography, SetConcept, SetItem, SetItemCategory, SetItemLink, SetItemProperty, SetItemSimplifiedProperty, SetItemsSort, SetItemsSortDirection, SetPeriod, SetResource, SetSpatialUnit, SetTree, SimplifiedProperty, SpatialUnit, SpatialUnitItemLink, Text, TextItemLink, TopLevelItem, Tree, TreeItemCategory, TreeItemLink };
|