ochre-sdk 1.0.76 → 1.0.78

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.
Files changed (42) hide show
  1. package/dist/constants.d.mts +13 -14
  2. package/dist/fetchers/gallery.d.mts +2 -3
  3. package/dist/fetchers/gallery.mjs +2 -1
  4. package/dist/fetchers/item-children.d.mts +3 -4
  5. package/dist/fetchers/item-children.mjs +2 -1
  6. package/dist/fetchers/item-links.d.mts +2 -3
  7. package/dist/fetchers/item-links.mjs +2 -1
  8. package/dist/fetchers/item-ocr-data.d.mts +2 -3
  9. package/dist/fetchers/item.d.mts +7 -8
  10. package/dist/fetchers/item.mjs +2 -1
  11. package/dist/fetchers/set/items.d.mts +2 -3
  12. package/dist/fetchers/set/items.mjs +2 -1
  13. package/dist/fetchers/set/property-values.d.mts +2 -3
  14. package/dist/fetchers/set/property-values.mjs +56 -49
  15. package/dist/fetchers/website-metadata.d.mts +2 -3
  16. package/dist/fetchers/website.d.mts +2 -3
  17. package/dist/getters.d.mts +40 -41
  18. package/dist/getters.mjs +6 -31
  19. package/dist/helpers.d.mts +3 -4
  20. package/dist/parsers/helpers.d.mts +16 -17
  21. package/dist/parsers/index.d.mts +19 -19
  22. package/dist/parsers/index.mjs +65 -48
  23. package/dist/parsers/mdx.d.mts +3 -4
  24. package/dist/parsers/multilingual.d.mts +9 -10
  25. package/dist/parsers/string.d.mts +5 -6
  26. package/dist/parsers/string.mjs +124 -146
  27. package/dist/parsers/website/index.d.mts +4 -5
  28. package/dist/parsers/website/index.mjs +598 -637
  29. package/dist/parsers/website/reader.d.mts +3 -4
  30. package/dist/query.d.mts +3 -4
  31. package/dist/schemas.d.mts +9 -10
  32. package/dist/types/index.d.mts +118 -119
  33. package/dist/types/website.d.mts +36 -38
  34. package/dist/utilities.d.mts +9 -10
  35. package/dist/utilities.mjs +28 -25
  36. package/dist/xml/dates.d.mts +13 -0
  37. package/dist/xml/dates.mjs +49 -0
  38. package/dist/xml/metadata.d.mts +3 -4
  39. package/dist/xml/schemas.d.mts +8 -9
  40. package/dist/xml/schemas.mjs +20 -27
  41. package/dist/xml/types.d.mts +129 -131
  42. package/package.json +13 -12
@@ -3,7 +3,7 @@ import { LanguageCodes, Property, PropertyLike, PropertyValueContent, SetItemPro
3
3
  /**
4
4
  * Options for property search operations.
5
5
  */
6
- type PropertyOptions = {
6
+ export type PropertyOptions = {
7
7
  /**
8
8
  Whether to recursively search through nested properties.
9
9
  */
@@ -23,10 +23,10 @@ type SearchableProperty<T extends LanguageCodes> = PropertyLike<T>;
23
23
  * @param options - Search options, including whether to include nested properties
24
24
  * @returns The matching Property object, or null if not found
25
25
  */
26
- declare function getPropertyByVariableUuid<T extends LanguageCodes = LanguageCodes>(properties: ReadonlyArray<Property<T>>, variableUuid: string, options?: PropertyOptions): Property<T> | null;
27
- declare function getPropertyByVariableUuid<T extends LanguageCodes = LanguageCodes>(properties: ReadonlyArray<SetItemProperty<T>>, variableUuid: string, options?: PropertyOptions): SetItemProperty<T> | null;
28
- declare function getPropertyByVariableUuid<T extends LanguageCodes = LanguageCodes>(properties: ReadonlyArray<SimplifiedProperty<T>>, variableUuid: string, options?: PropertyOptions): SimplifiedProperty<T> | null;
29
- declare function getPropertyByVariableUuid<T extends LanguageCodes = LanguageCodes>(properties: ReadonlyArray<SetItemSimplifiedProperty<T>>, variableUuid: string, options?: PropertyOptions): SetItemSimplifiedProperty<T> | null;
26
+ export declare function getPropertyByVariableUuid<T extends LanguageCodes = LanguageCodes>(properties: ReadonlyArray<Property<T>>, variableUuid: string, options?: PropertyOptions): Property<T> | null;
27
+ export declare function getPropertyByVariableUuid<T extends LanguageCodes = LanguageCodes>(properties: ReadonlyArray<SetItemProperty<T>>, variableUuid: string, options?: PropertyOptions): SetItemProperty<T> | null;
28
+ export declare function getPropertyByVariableUuid<T extends LanguageCodes = LanguageCodes>(properties: ReadonlyArray<SimplifiedProperty<T>>, variableUuid: string, options?: PropertyOptions): SimplifiedProperty<T> | null;
29
+ export declare function getPropertyByVariableUuid<T extends LanguageCodes = LanguageCodes>(properties: ReadonlyArray<SetItemSimplifiedProperty<T>>, variableUuid: string, options?: PropertyOptions): SetItemSimplifiedProperty<T> | null;
30
30
  /**
31
31
  * Retrieves all values for a property with the given variable UUID.
32
32
  *
@@ -35,7 +35,7 @@ declare function getPropertyByVariableUuid<T extends LanguageCodes = LanguageCod
35
35
  * @param options - Search options, including whether to include nested properties
36
36
  * @returns Array of property values, or null if property not found
37
37
  */
38
- declare function getPropertyValuesByVariableUuid<T extends LanguageCodes = LanguageCodes>(properties: ReadonlyArray<SearchableProperty<T>>, variableUuid: string, options?: PropertyOptions): Array<PropertyValueContent<T>> | null;
38
+ export declare function getPropertyValuesByVariableUuid<T extends LanguageCodes = LanguageCodes>(properties: ReadonlyArray<SearchableProperty<T>>, variableUuid: string, options?: PropertyOptions): Array<PropertyValueContent<T>> | null;
39
39
  /**
40
40
  * Retrieves all value contents for a property with the given variable UUID.
41
41
  *
@@ -44,7 +44,7 @@ declare function getPropertyValuesByVariableUuid<T extends LanguageCodes = Langu
44
44
  * @param options - Search options, including whether to include nested properties
45
45
  * @returns Array of property value contents, or null if property not found
46
46
  */
47
- declare function getPropertyValueContentsByVariableUuid<T extends LanguageCodes = LanguageCodes>(properties: ReadonlyArray<SearchableProperty<T>>, variableUuid: string, options?: PropertyOptions): Array<PropertyContent<T>> | null;
47
+ export declare function getPropertyValueContentsByVariableUuid<T extends LanguageCodes = LanguageCodes>(properties: ReadonlyArray<SearchableProperty<T>>, variableUuid: string, options?: PropertyOptions): Array<PropertyContent<T>> | null;
48
48
  /**
49
49
  * Gets the first value of a property with the given variable UUID.
50
50
  *
@@ -53,7 +53,7 @@ declare function getPropertyValueContentsByVariableUuid<T extends LanguageCodes
53
53
  * @param options - Search options, including whether to include nested properties
54
54
  * @returns The first property value, or null if property not found
55
55
  */
56
- declare function getPropertyValueByVariableUuid<T extends LanguageCodes = LanguageCodes>(properties: ReadonlyArray<SearchableProperty<T>>, variableUuid: string, options?: PropertyOptions): PropertyValueContent<T> | null;
56
+ export declare function getPropertyValueByVariableUuid<T extends LanguageCodes = LanguageCodes>(properties: ReadonlyArray<SearchableProperty<T>>, variableUuid: string, options?: PropertyOptions): PropertyValueContent<T> | null;
57
57
  /**
58
58
  * Gets the first value content of a property with the given variable UUID.
59
59
  *
@@ -62,7 +62,7 @@ declare function getPropertyValueByVariableUuid<T extends LanguageCodes = Langua
62
62
  * @param options - Search options, including whether to include nested properties
63
63
  * @returns The first property value content, or null if property not found
64
64
  */
65
- declare function getPropertyValueContentByVariableUuid<T extends LanguageCodes = LanguageCodes>(properties: ReadonlyArray<SearchableProperty<T>>, variableUuid: string, options?: PropertyOptions): PropertyContent<T> | null;
65
+ export declare function getPropertyValueContentByVariableUuid<T extends LanguageCodes = LanguageCodes>(properties: ReadonlyArray<SearchableProperty<T>>, variableUuid: string, options?: PropertyOptions): PropertyContent<T> | null;
66
66
  /**
67
67
  * Finds a property by its variable label in an array of properties.
68
68
  *
@@ -71,10 +71,10 @@ declare function getPropertyValueContentByVariableUuid<T extends LanguageCodes =
71
71
  * @param options - Search options, including whether to include nested properties
72
72
  * @returns The matching Property object, or null if not found
73
73
  */
74
- declare function getPropertyByVariableLabel<T extends LanguageCodes = LanguageCodes>(properties: ReadonlyArray<Property<T>>, variableLabel: string, options?: PropertyOptions): Property<T> | null;
75
- declare function getPropertyByVariableLabel<T extends LanguageCodes = LanguageCodes>(properties: ReadonlyArray<SetItemProperty<T>>, variableLabel: string, options?: PropertyOptions): SetItemProperty<T> | null;
76
- declare function getPropertyByVariableLabel<T extends LanguageCodes = LanguageCodes>(properties: ReadonlyArray<SimplifiedProperty<T>>, variableLabel: string, options?: PropertyOptions): SimplifiedProperty<T> | null;
77
- declare function getPropertyByVariableLabel<T extends LanguageCodes = LanguageCodes>(properties: ReadonlyArray<SetItemSimplifiedProperty<T>>, variableLabel: string, options?: PropertyOptions): SetItemSimplifiedProperty<T> | null;
74
+ export declare function getPropertyByVariableLabel<T extends LanguageCodes = LanguageCodes>(properties: ReadonlyArray<Property<T>>, variableLabel: string, options?: PropertyOptions): Property<T> | null;
75
+ export declare function getPropertyByVariableLabel<T extends LanguageCodes = LanguageCodes>(properties: ReadonlyArray<SetItemProperty<T>>, variableLabel: string, options?: PropertyOptions): SetItemProperty<T> | null;
76
+ export declare function getPropertyByVariableLabel<T extends LanguageCodes = LanguageCodes>(properties: ReadonlyArray<SimplifiedProperty<T>>, variableLabel: string, options?: PropertyOptions): SimplifiedProperty<T> | null;
77
+ export declare function getPropertyByVariableLabel<T extends LanguageCodes = LanguageCodes>(properties: ReadonlyArray<SetItemSimplifiedProperty<T>>, variableLabel: string, options?: PropertyOptions): SetItemSimplifiedProperty<T> | null;
78
78
  /**
79
79
  * Finds a property by its variable label and all values.
80
80
  *
@@ -84,10 +84,10 @@ declare function getPropertyByVariableLabel<T extends LanguageCodes = LanguageCo
84
84
  * @param options - Search options, including whether to include nested properties
85
85
  * @returns The matching Property object, or null if not found or all values do not match
86
86
  */
87
- declare function getPropertyByVariableLabelAndValues<T extends LanguageCodes = LanguageCodes>(properties: ReadonlyArray<Property<T>>, variableLabel: string, values: ReadonlyArray<PropertyValueContent<T>>, options?: PropertyOptions): Property<T> | null;
88
- declare function getPropertyByVariableLabelAndValues<T extends LanguageCodes = LanguageCodes>(properties: ReadonlyArray<SetItemProperty<T>>, variableLabel: string, values: ReadonlyArray<PropertyValueContent<T>>, options?: PropertyOptions): SetItemProperty<T> | null;
89
- declare function getPropertyByVariableLabelAndValues<T extends LanguageCodes = LanguageCodes>(properties: ReadonlyArray<SimplifiedProperty<T>>, variableLabel: string, values: ReadonlyArray<PropertyValueContent<T>>, options?: PropertyOptions): SimplifiedProperty<T> | null;
90
- declare function getPropertyByVariableLabelAndValues<T extends LanguageCodes = LanguageCodes>(properties: ReadonlyArray<SetItemSimplifiedProperty<T>>, variableLabel: string, values: ReadonlyArray<PropertyValueContent<T>>, options?: PropertyOptions): SetItemSimplifiedProperty<T> | null;
87
+ export declare function getPropertyByVariableLabelAndValues<T extends LanguageCodes = LanguageCodes>(properties: ReadonlyArray<Property<T>>, variableLabel: string, values: ReadonlyArray<PropertyValueContent<T>>, options?: PropertyOptions): Property<T> | null;
88
+ export declare function getPropertyByVariableLabelAndValues<T extends LanguageCodes = LanguageCodes>(properties: ReadonlyArray<SetItemProperty<T>>, variableLabel: string, values: ReadonlyArray<PropertyValueContent<T>>, options?: PropertyOptions): SetItemProperty<T> | null;
89
+ export declare function getPropertyByVariableLabelAndValues<T extends LanguageCodes = LanguageCodes>(properties: ReadonlyArray<SimplifiedProperty<T>>, variableLabel: string, values: ReadonlyArray<PropertyValueContent<T>>, options?: PropertyOptions): SimplifiedProperty<T> | null;
90
+ export declare function getPropertyByVariableLabelAndValues<T extends LanguageCodes = LanguageCodes>(properties: ReadonlyArray<SetItemSimplifiedProperty<T>>, variableLabel: string, values: ReadonlyArray<PropertyValueContent<T>>, options?: PropertyOptions): SetItemSimplifiedProperty<T> | null;
91
91
  /**
92
92
  * Finds a property by its variable label and all value contents.
93
93
  *
@@ -97,10 +97,10 @@ declare function getPropertyByVariableLabelAndValues<T extends LanguageCodes = L
97
97
  * @param options - Search options, including whether to include nested properties
98
98
  * @returns The matching Property object, or null if not found or all value contents do not match
99
99
  */
100
- declare function getPropertyByVariableLabelAndValueContents<T extends LanguageCodes = LanguageCodes>(properties: ReadonlyArray<Property<T>>, variableLabel: string, valueContents: ReadonlyArray<PropertyContent<T>>, options?: PropertyOptions): Property<T> | null;
101
- declare function getPropertyByVariableLabelAndValueContents<T extends LanguageCodes = LanguageCodes>(properties: ReadonlyArray<SetItemProperty<T>>, variableLabel: string, valueContents: ReadonlyArray<PropertyContent<T>>, options?: PropertyOptions): SetItemProperty<T> | null;
102
- declare function getPropertyByVariableLabelAndValueContents<T extends LanguageCodes = LanguageCodes>(properties: ReadonlyArray<SimplifiedProperty<T>>, variableLabel: string, valueContents: ReadonlyArray<PropertyContent<T>>, options?: PropertyOptions): SimplifiedProperty<T> | null;
103
- declare function getPropertyByVariableLabelAndValueContents<T extends LanguageCodes = LanguageCodes>(properties: ReadonlyArray<SetItemSimplifiedProperty<T>>, variableLabel: string, valueContents: ReadonlyArray<PropertyContent<T>>, options?: PropertyOptions): SetItemSimplifiedProperty<T> | null;
100
+ export declare function getPropertyByVariableLabelAndValueContents<T extends LanguageCodes = LanguageCodes>(properties: ReadonlyArray<Property<T>>, variableLabel: string, valueContents: ReadonlyArray<PropertyContent<T>>, options?: PropertyOptions): Property<T> | null;
101
+ export declare function getPropertyByVariableLabelAndValueContents<T extends LanguageCodes = LanguageCodes>(properties: ReadonlyArray<SetItemProperty<T>>, variableLabel: string, valueContents: ReadonlyArray<PropertyContent<T>>, options?: PropertyOptions): SetItemProperty<T> | null;
102
+ export declare function getPropertyByVariableLabelAndValueContents<T extends LanguageCodes = LanguageCodes>(properties: ReadonlyArray<SimplifiedProperty<T>>, variableLabel: string, valueContents: ReadonlyArray<PropertyContent<T>>, options?: PropertyOptions): SimplifiedProperty<T> | null;
103
+ export declare function getPropertyByVariableLabelAndValueContents<T extends LanguageCodes = LanguageCodes>(properties: ReadonlyArray<SetItemSimplifiedProperty<T>>, variableLabel: string, valueContents: ReadonlyArray<PropertyContent<T>>, options?: PropertyOptions): SetItemSimplifiedProperty<T> | null;
104
104
  /**
105
105
  * Finds a property by its variable label and one value.
106
106
  *
@@ -110,10 +110,10 @@ declare function getPropertyByVariableLabelAndValueContents<T extends LanguageCo
110
110
  * @param options - Search options, including whether to include nested properties
111
111
  * @returns The matching Property object, or null if not found or value does not match
112
112
  */
113
- declare function getPropertyByVariableLabelAndValue<T extends LanguageCodes = LanguageCodes>(properties: ReadonlyArray<Property<T>>, variableLabel: string, value: PropertyValueContent<T>, options?: PropertyOptions): Property<T> | null;
114
- declare function getPropertyByVariableLabelAndValue<T extends LanguageCodes = LanguageCodes>(properties: ReadonlyArray<SetItemProperty<T>>, variableLabel: string, value: PropertyValueContent<T>, options?: PropertyOptions): SetItemProperty<T> | null;
115
- declare function getPropertyByVariableLabelAndValue<T extends LanguageCodes = LanguageCodes>(properties: ReadonlyArray<SimplifiedProperty<T>>, variableLabel: string, value: PropertyValueContent<T>, options?: PropertyOptions): SimplifiedProperty<T> | null;
116
- declare function getPropertyByVariableLabelAndValue<T extends LanguageCodes = LanguageCodes>(properties: ReadonlyArray<SetItemSimplifiedProperty<T>>, variableLabel: string, value: PropertyValueContent<T>, options?: PropertyOptions): SetItemSimplifiedProperty<T> | null;
113
+ export declare function getPropertyByVariableLabelAndValue<T extends LanguageCodes = LanguageCodes>(properties: ReadonlyArray<Property<T>>, variableLabel: string, value: PropertyValueContent<T>, options?: PropertyOptions): Property<T> | null;
114
+ export declare function getPropertyByVariableLabelAndValue<T extends LanguageCodes = LanguageCodes>(properties: ReadonlyArray<SetItemProperty<T>>, variableLabel: string, value: PropertyValueContent<T>, options?: PropertyOptions): SetItemProperty<T> | null;
115
+ export declare function getPropertyByVariableLabelAndValue<T extends LanguageCodes = LanguageCodes>(properties: ReadonlyArray<SimplifiedProperty<T>>, variableLabel: string, value: PropertyValueContent<T>, options?: PropertyOptions): SimplifiedProperty<T> | null;
116
+ export declare function getPropertyByVariableLabelAndValue<T extends LanguageCodes = LanguageCodes>(properties: ReadonlyArray<SetItemSimplifiedProperty<T>>, variableLabel: string, value: PropertyValueContent<T>, options?: PropertyOptions): SetItemSimplifiedProperty<T> | null;
117
117
  /**
118
118
  * Finds a property by its variable label and one value content.
119
119
  *
@@ -123,10 +123,10 @@ declare function getPropertyByVariableLabelAndValue<T extends LanguageCodes = La
123
123
  * @param options - Search options, including whether to include nested properties
124
124
  * @returns The matching Property object, or null if not found or value content does not match
125
125
  */
126
- declare function getPropertyByVariableLabelAndValueContent<T extends LanguageCodes = LanguageCodes>(properties: ReadonlyArray<Property<T>>, variableLabel: string, valueContent: PropertyContent<T>, options?: PropertyOptions): Property<T> | null;
127
- declare function getPropertyByVariableLabelAndValueContent<T extends LanguageCodes = LanguageCodes>(properties: ReadonlyArray<SetItemProperty<T>>, variableLabel: string, valueContent: PropertyContent<T>, options?: PropertyOptions): SetItemProperty<T> | null;
128
- declare function getPropertyByVariableLabelAndValueContent<T extends LanguageCodes = LanguageCodes>(properties: ReadonlyArray<SimplifiedProperty<T>>, variableLabel: string, valueContent: PropertyContent<T>, options?: PropertyOptions): SimplifiedProperty<T> | null;
129
- declare function getPropertyByVariableLabelAndValueContent<T extends LanguageCodes = LanguageCodes>(properties: ReadonlyArray<SetItemSimplifiedProperty<T>>, variableLabel: string, valueContent: PropertyContent<T>, options?: PropertyOptions): SetItemSimplifiedProperty<T> | null;
126
+ export declare function getPropertyByVariableLabelAndValueContent<T extends LanguageCodes = LanguageCodes>(properties: ReadonlyArray<Property<T>>, variableLabel: string, valueContent: PropertyContent<T>, options?: PropertyOptions): Property<T> | null;
127
+ export declare function getPropertyByVariableLabelAndValueContent<T extends LanguageCodes = LanguageCodes>(properties: ReadonlyArray<SetItemProperty<T>>, variableLabel: string, valueContent: PropertyContent<T>, options?: PropertyOptions): SetItemProperty<T> | null;
128
+ export declare function getPropertyByVariableLabelAndValueContent<T extends LanguageCodes = LanguageCodes>(properties: ReadonlyArray<SimplifiedProperty<T>>, variableLabel: string, valueContent: PropertyContent<T>, options?: PropertyOptions): SimplifiedProperty<T> | null;
129
+ export declare function getPropertyByVariableLabelAndValueContent<T extends LanguageCodes = LanguageCodes>(properties: ReadonlyArray<SetItemSimplifiedProperty<T>>, variableLabel: string, valueContent: PropertyContent<T>, options?: PropertyOptions): SetItemSimplifiedProperty<T> | null;
130
130
  /**
131
131
  * Retrieves all values for a property with the given variable label.
132
132
  *
@@ -135,7 +135,7 @@ declare function getPropertyByVariableLabelAndValueContent<T extends LanguageCod
135
135
  * @param options - Search options, including whether to include nested properties
136
136
  * @returns Array of property values, or null if property not found
137
137
  */
138
- declare function getPropertyValuesByVariableLabel<T extends LanguageCodes = LanguageCodes>(properties: ReadonlyArray<SearchableProperty<T>>, variableLabel: string, options?: PropertyOptions): Array<PropertyValueContent<T>> | null;
138
+ export declare function getPropertyValuesByVariableLabel<T extends LanguageCodes = LanguageCodes>(properties: ReadonlyArray<SearchableProperty<T>>, variableLabel: string, options?: PropertyOptions): Array<PropertyValueContent<T>> | null;
139
139
  /**
140
140
  * Gets the first value of a property with the given variable label.
141
141
  *
@@ -144,7 +144,7 @@ declare function getPropertyValuesByVariableLabel<T extends LanguageCodes = Lang
144
144
  * @param options - Search options, including whether to include nested properties
145
145
  * @returns The first property value, or null if property not found
146
146
  */
147
- declare function getPropertyValueByVariableLabel<T extends LanguageCodes = LanguageCodes>(properties: ReadonlyArray<SearchableProperty<T>>, variableLabel: string, options?: PropertyOptions): PropertyValueContent<T> | null;
147
+ export declare function getPropertyValueByVariableLabel<T extends LanguageCodes = LanguageCodes>(properties: ReadonlyArray<SearchableProperty<T>>, variableLabel: string, options?: PropertyOptions): PropertyValueContent<T> | null;
148
148
  /**
149
149
  * Gets the first value content of a property with the given variable label.
150
150
  *
@@ -153,7 +153,7 @@ declare function getPropertyValueByVariableLabel<T extends LanguageCodes = Langu
153
153
  * @param options - Search options, including whether to include nested properties
154
154
  * @returns The first property value content, or null if property not found
155
155
  */
156
- declare function getPropertyValueContentByVariableLabel<T extends LanguageCodes = LanguageCodes>(properties: ReadonlyArray<SearchableProperty<T>>, variableLabel: string, options?: PropertyOptions): PropertyContent<T> | null;
156
+ export declare function getPropertyValueContentByVariableLabel<T extends LanguageCodes = LanguageCodes>(properties: ReadonlyArray<SearchableProperty<T>>, variableLabel: string, options?: PropertyOptions): PropertyContent<T> | null;
157
157
  /**
158
158
  * Gets all unique properties from an array of properties.
159
159
  *
@@ -161,10 +161,10 @@ declare function getPropertyValueContentByVariableLabel<T extends LanguageCodes
161
161
  * @param options - Search options, including whether to include nested properties
162
162
  * @returns Array of unique properties
163
163
  */
164
- declare function getUniqueProperties<T extends LanguageCodes = LanguageCodes>(properties: ReadonlyArray<Property<T>>, options?: PropertyOptions): Array<Property<T>>;
165
- declare function getUniqueProperties<T extends LanguageCodes = LanguageCodes>(properties: ReadonlyArray<SetItemProperty<T>>, options?: PropertyOptions): Array<SetItemProperty<T>>;
166
- declare function getUniqueProperties<T extends LanguageCodes = LanguageCodes>(properties: ReadonlyArray<SimplifiedProperty<T>>, options?: PropertyOptions): Array<SimplifiedProperty<T>>;
167
- declare function getUniqueProperties<T extends LanguageCodes = LanguageCodes>(properties: ReadonlyArray<SetItemSimplifiedProperty<T>>, options?: PropertyOptions): Array<SetItemSimplifiedProperty<T>>;
164
+ export declare function getUniqueProperties<T extends LanguageCodes = LanguageCodes>(properties: ReadonlyArray<Property<T>>, options?: PropertyOptions): Array<Property<T>>;
165
+ export declare function getUniqueProperties<T extends LanguageCodes = LanguageCodes>(properties: ReadonlyArray<SetItemProperty<T>>, options?: PropertyOptions): Array<SetItemProperty<T>>;
166
+ export declare function getUniqueProperties<T extends LanguageCodes = LanguageCodes>(properties: ReadonlyArray<SimplifiedProperty<T>>, options?: PropertyOptions): Array<SimplifiedProperty<T>>;
167
+ export declare function getUniqueProperties<T extends LanguageCodes = LanguageCodes>(properties: ReadonlyArray<SetItemSimplifiedProperty<T>>, options?: PropertyOptions): Array<SetItemSimplifiedProperty<T>>;
168
168
  /**
169
169
  * Gets all unique property variable labels from an array of properties.
170
170
  *
@@ -172,14 +172,14 @@ declare function getUniqueProperties<T extends LanguageCodes = LanguageCodes>(pr
172
172
  * @param options - Search options, including whether to include nested properties
173
173
  * @returns Array of unique property variable labels
174
174
  */
175
- declare function getUniquePropertyVariableLabels<T extends LanguageCodes = LanguageCodes>(properties: ReadonlyArray<SearchableProperty<T>>, options?: PropertyOptions): Array<string>;
175
+ export declare function getUniquePropertyVariableLabels<T extends LanguageCodes = LanguageCodes>(properties: ReadonlyArray<SearchableProperty<T>>, options?: PropertyOptions): Array<string>;
176
176
  /**
177
177
  * Get the leaf property values from an array of property values.
178
178
  *
179
179
  * @param propertyValues - The array of property values to get the leaf property values from
180
180
  * @returns The array of leaf property values
181
181
  */
182
- declare function getLeafPropertyValues<T extends LanguageCodes = LanguageCodes>(propertyValues: ReadonlyArray<PropertyValueContent<T>>): Array<PropertyValueContent<T>>;
182
+ export declare function getLeafPropertyValues<T extends LanguageCodes = LanguageCodes>(propertyValues: ReadonlyArray<PropertyValueContent<T>>): Array<PropertyValueContent<T>>;
183
183
  /**
184
184
  * Filters a property based on a variable label and value content criterion.
185
185
  *
@@ -190,9 +190,8 @@ declare function getLeafPropertyValues<T extends LanguageCodes = LanguageCodes>(
190
190
  * @param options - Search options, including whether to include nested properties
191
191
  * @returns True if the property matches the filter criteria, false otherwise
192
192
  */
193
- declare function filterProperties<T extends LanguageCodes = LanguageCodes>(property: SearchableProperty<T>, filter: {
193
+ export declare function filterProperties<T extends LanguageCodes = LanguageCodes>(property: SearchableProperty<T>, filter: {
194
194
  variableLabel: string;
195
195
  value: PropertyValueContent<T>;
196
196
  }, options?: PropertyOptions): boolean;
197
- //#endregion
198
- export { PropertyOptions, filterProperties, getLeafPropertyValues, getPropertyByVariableLabel, getPropertyByVariableLabelAndValue, getPropertyByVariableLabelAndValueContent, getPropertyByVariableLabelAndValueContents, getPropertyByVariableLabelAndValues, getPropertyByVariableUuid, getPropertyValueByVariableLabel, getPropertyValueByVariableUuid, getPropertyValueContentByVariableLabel, getPropertyValueContentByVariableUuid, getPropertyValueContentsByVariableUuid, getPropertyValuesByVariableLabel, getPropertyValuesByVariableUuid, getUniqueProperties, getUniquePropertyVariableLabels };
197
+ //#endregion
package/dist/getters.mjs CHANGED
@@ -37,13 +37,13 @@ function hasEqualPropertyValueContents(property, valueContents) {
37
37
  function searchPropertyResult(properties, options, findDirectResult, transformNestedResult) {
38
38
  const directResult = findDirectResult(properties);
39
39
  if (directResult !== null) return directResult;
40
- if (options.includeNestedProperties) for (const property of properties) {
40
+ if (!options.includeNestedProperties) return null;
41
+ for (const property of properties) {
41
42
  if (!("properties" in property)) continue;
42
43
  const nestedResult = searchPropertyResult(property.properties, options, findDirectResult, transformNestedResult);
43
- if (nestedResult !== null) {
44
- const transformedResult = transformNestedResult != null ? transformNestedResult(nestedResult) : nestedResult;
45
- if (transformedResult !== null) return transformedResult;
46
- }
44
+ if (nestedResult === null) continue;
45
+ const transformedResult = transformNestedResult != null ? transformNestedResult(nestedResult) : nestedResult;
46
+ if (transformedResult !== null) return transformedResult;
47
47
  }
48
48
  return null;
49
49
  }
@@ -53,32 +53,7 @@ function getPropertyValuesResult(values, shouldLimitToLeafPropertyValues, should
53
53
  return [...values];
54
54
  }
55
55
  function clonePropertyValues(values) {
56
- const clonedValues = [];
57
- for (const value of values) switch (value.dataType) {
58
- case "IDREF":
59
- case "coordinate":
60
- case "date":
61
- case "dateTime":
62
- case "string":
63
- clonedValues.push({
64
- ...value,
65
- content: value.content
66
- });
67
- break;
68
- case "decimal":
69
- case "integer":
70
- case "time":
71
- clonedValues.push({
72
- ...value,
73
- content: value.content
74
- });
75
- break;
76
- case "boolean": clonedValues.push({
77
- ...value,
78
- content: value.content
79
- });
80
- }
81
- return clonedValues;
56
+ return Array.from(values, (value) => ({ ...value }));
82
57
  }
83
58
  function getNormalizedProperty(property, shouldLimitToLeafPropertyValues, transformValues) {
84
59
  if (!shouldLimitToLeafPropertyValues) return property;
@@ -6,12 +6,11 @@ type FlattenedItem<U, T extends LanguageCodes> = Omit<U, "properties"> & {
6
6
  /**
7
7
  * The default page size to use for fetching paginated items
8
8
  */
9
- declare const DEFAULT_PAGE_SIZE = 48;
9
+ export declare const DEFAULT_PAGE_SIZE = 48;
10
10
  /**
11
11
  * Flatten the properties of an item
12
12
  * @param item - The item whose properties to flatten
13
13
  * @returns The item with the properties flattened
14
14
  */
15
- declare function flattenItemProperties<U extends ItemCategory = ItemCategory, V extends ContainedItemCategory<U> = ContainedItemCategory<U>, T extends LanguageCodes = LanguageCodes, W extends ItemPayloadKind = "topLevel">(item: Item<U, V, T, W>): FlattenedItem<Item<U, V, T, W>, T>;
16
- //#endregion
17
- export { DEFAULT_PAGE_SIZE, flattenItemProperties };
15
+ export declare function flattenItemProperties<U extends ItemCategory = ItemCategory, V extends ContainedItemCategory<U> = ContainedItemCategory<U>, T extends LanguageCodes = LanguageCodes, W extends ItemPayloadKind = "topLevel">(item: Item<U, V, T, W>): FlattenedItem<Item<U, V, T, W>, T>;
16
+ //#endregion
@@ -2,32 +2,31 @@ import { MultilingualString } from "./multilingual.mjs";
2
2
  import { License } from "../types/index.mjs";
3
3
  import { XMLContent, XMLString } from "../xml/types.mjs";
4
4
  //#region src/parsers/helpers.d.ts
5
- type FetchFunction = (input: string | URL | globalThis.Request, init?: RequestInit) => Promise<Response>;
6
- type FetchBaseOptions<TLanguages extends ReadonlyArray<string> | undefined = undefined> = {
5
+ export type FetchFunction = (input: string | URL | globalThis.Request, init?: RequestInit) => Promise<Response>;
6
+ export type FetchBaseOptions<TLanguages extends ReadonlyArray<string> | undefined = undefined> = {
7
7
  languages?: TLanguages;
8
8
  fetch?: FetchFunction;
9
9
  };
10
- type FetchRuntimeOptions = FetchBaseOptions<ReadonlyArray<string>>;
11
- type FetchLanguages<TLanguages extends ReadonlyArray<string> | undefined> = TLanguages extends readonly [] ? ReadonlyArray<string> : TLanguages extends ReadonlyArray<string> ? TLanguages : ReadonlyArray<string>;
12
- type ParserOptions<T extends ReadonlyArray<string>> = {
10
+ export type FetchRuntimeOptions = FetchBaseOptions<ReadonlyArray<string>>;
11
+ export type FetchLanguages<TLanguages extends ReadonlyArray<string> | undefined> = TLanguages extends readonly [] ? ReadonlyArray<string> : TLanguages extends ReadonlyArray<string> ? TLanguages : ReadonlyArray<string>;
12
+ export type ParserOptions<T extends ReadonlyArray<string>> = {
13
13
  languages: T;
14
14
  };
15
- declare function getParserOptions<T extends ReadonlyArray<string>>(options: ParserOptions<T>): ParserOptions<T>;
16
- declare function cleanObject<T extends Record<string, unknown>>(object: T): Partial<T>;
17
- declare function parseLicense(availability: {
15
+ export declare function getParserOptions<T extends ReadonlyArray<string>>(options: ParserOptions<T>): ParserOptions<T>;
16
+ export declare function cleanObject<T extends Record<string, unknown>>(object: T): Partial<T>;
17
+ export declare function parseLicense(availability: {
18
18
  license: XMLString & {
19
19
  target?: string;
20
20
  };
21
21
  } | undefined): License | null;
22
- declare function parseStringLike(value: XMLString | string | undefined): string | null;
23
- declare function isXMLContent(value: XMLContent | XMLString): value is XMLContent;
24
- declare function multilingualFromText<T extends ReadonlyArray<string>>(text: string | {
22
+ export declare function parseStringLike(value: XMLString | string | undefined): string | null;
23
+ export declare function isXMLContent(value: XMLContent | XMLString): value is XMLContent;
24
+ export declare function multilingualFromText<T extends ReadonlyArray<string>>(text: string | {
25
25
  text: string;
26
26
  richText: string;
27
27
  }, options: ParserOptions<T>): MultilingualString<T>;
28
- declare function parseContentLike<T extends ReadonlyArray<string>>(value: XMLContent | XMLString | string | undefined, options: ParserOptions<T>): MultilingualString<T> | null;
29
- declare function parseRequiredContentLike<T extends ReadonlyArray<string>>(value: XMLContent | XMLString, options: ParserOptions<T>): MultilingualString<T>;
30
- declare function parseContentLikeText<T extends ReadonlyArray<string>>(value: XMLContent | XMLString | undefined, options: ParserOptions<T>): string;
31
- declare function parseStringContent(value: XMLContent | XMLString | string | undefined, options?: ParserOptions<ReadonlyArray<string>>): string;
32
- //#endregion
33
- export { FetchBaseOptions, FetchFunction, FetchLanguages, FetchRuntimeOptions, ParserOptions, cleanObject, getParserOptions, isXMLContent, multilingualFromText, parseContentLike, parseContentLikeText, parseLicense, parseRequiredContentLike, parseStringContent, parseStringLike };
28
+ export declare function parseContentLike<T extends ReadonlyArray<string>>(value: XMLContent | XMLString | string | undefined, options: ParserOptions<T>): MultilingualString<T> | null;
29
+ export declare function parseRequiredContentLike<T extends ReadonlyArray<string>>(value: XMLContent | XMLString, options: ParserOptions<T>): MultilingualString<T>;
30
+ export declare function parseContentLikeText<T extends ReadonlyArray<string>>(value: XMLContent | XMLString | undefined, options: ParserOptions<T>): string;
31
+ export declare function parseStringContent(value: XMLContent | XMLString | string | undefined, options?: ParserOptions<ReadonlyArray<string>>): string;
32
+ //#endregion
@@ -3,62 +3,62 @@ import { Bibliography, ContainedItemCategoryFromOption, ContainedItemCategoryOpt
3
3
  import { XMLBibliography, XMLData, XMLDataItem, XMLGalleryData, XMLIdentification, XMLItemLinks, XMLLink, XMLMetadata, XMLNote, XMLPerson, XMLProperty, XMLResource, XMLSetItems, XMLSimplifiedProperty } from "../xml/types.mjs";
4
4
  import { ParserOptions, getParserOptions, parseStringLike } from "./helpers.mjs";
5
5
  //#region src/parsers/index.d.ts
6
- type RawOchre = XMLData["result"]["ochre"];
6
+ export type RawOchre = XMLData["result"]["ochre"];
7
7
  type ResourceViewParser<T extends ReadonlyArray<string>> = (view: XMLResource["view"], context: Pick<Resource<T, "topLevel">, "belongsTo" | "metadata">) => Webpage<T> | null;
8
8
  type SetItemCategoryFromCategories<T extends ReadonlyArray<SetItemCategory> | undefined> = T extends ReadonlyArray<infer U> ? Extract<U, SetItemCategory> : SetItemCategory;
9
- declare function parseIdentification<T extends ReadonlyArray<string>>(rawIdentification: XMLIdentification, options: ParserOptions<T>): Identification<T>;
10
- declare function parseNotes<T extends ReadonlyArray<string>>(rawNotes: {
9
+ export declare function parseIdentification<T extends ReadonlyArray<string>>(rawIdentification: XMLIdentification, options: ParserOptions<T>): Identification<T>;
10
+ export declare function parseNotes<T extends ReadonlyArray<string>>(rawNotes: {
11
11
  note: Array<XMLNote>;
12
12
  } | undefined, options: ParserOptions<T>): Array<Note<T>>;
13
- declare function parseProperties<T extends ReadonlyArray<string>>(rawProperties: {
13
+ export declare function parseProperties<T extends ReadonlyArray<string>>(rawProperties: {
14
14
  property: Array<XMLProperty>;
15
15
  } | undefined, options: ParserOptions<T>): Array<Property<T>>;
16
- declare function parseSimplifiedProperties<T extends ReadonlyArray<string>>(rawProperties: {
16
+ export declare function parseSimplifiedProperties<T extends ReadonlyArray<string>>(rawProperties: {
17
17
  property: Array<XMLSimplifiedProperty>;
18
18
  } | undefined, options: ParserOptions<T>): Array<SimplifiedProperty<T>>;
19
- declare function parseLinks<T extends ReadonlyArray<string>>(rawLinks: XMLLink | XMLDataItem | undefined, options: ParserOptions<T>): ItemLinks<T>;
20
- declare function parseBibliographyList<T extends ReadonlyArray<string>>(rawBibliographies: {
19
+ export declare function parseLinks<T extends ReadonlyArray<string>>(rawLinks: XMLLink | XMLDataItem | undefined, options: ParserOptions<T>): ItemLinks<T>;
20
+ export declare function parseBibliographyList<T extends ReadonlyArray<string>>(rawBibliographies: {
21
21
  bibliography: Array<XMLBibliography>;
22
22
  } | undefined, options: ParserOptions<T>): Array<Bibliography<T, "embedded">>;
23
- declare function parsePersonList<T extends ReadonlyArray<string>>(rawPersons: Array<XMLPerson> | undefined, options: ParserOptions<T>): Array<Person<T, "embedded">>;
24
- declare function parseMetadataLanguages(rawOchre: {
23
+ export declare function parsePersonList<T extends ReadonlyArray<string>>(rawPersons: Array<XMLPerson> | undefined, options: ParserOptions<T>): Array<Person<T, "embedded">>;
24
+ export declare function parseMetadataLanguages(rawOchre: {
25
25
  metadata: XMLMetadata;
26
26
  languages?: string;
27
27
  }): Array<string>;
28
- declare function resolveLanguages<T extends ReadonlyArray<string>>(requestedLanguages: T, metadataLanguages: Array<string>): T;
29
- declare function resolveDefaultLanguage<T extends ReadonlyArray<string>>(rawOchre: {
28
+ export declare function resolveLanguages<T extends ReadonlyArray<string>>(requestedLanguages: T | undefined, metadataLanguages: Array<string>): T;
29
+ export declare function resolveDefaultLanguage<T extends ReadonlyArray<string>>(rawOchre: {
30
30
  metadata: XMLMetadata;
31
31
  }, languages: T): T[number];
32
- declare function parseMetadata<T extends ReadonlyArray<string>>(rawOchre: {
32
+ export declare function parseMetadata<T extends ReadonlyArray<string>>(rawOchre: {
33
33
  uuidBelongsTo: string;
34
34
  metadata: XMLMetadata;
35
35
  }, options: ParserOptions<T>, defaultLanguage: T[number]): Metadata<T>;
36
- declare function parseLinkedItems<const TContainedItemCategory extends ContainedItemCategoryOption<ItemCategory> | undefined = undefined, T extends ReadonlyArray<string> = ReadonlyArray<string>>(rawItems: XMLItemLinks | undefined, options: {
36
+ export declare function parseLinkedItems<const TContainedItemCategory extends ContainedItemCategoryOption<ItemCategory> | undefined = undefined, T extends ReadonlyArray<string> = ReadonlyArray<string>>(rawItems: XMLItemLinks | undefined, options: {
37
37
  containedItemCategory?: TContainedItemCategory;
38
38
  languages: T;
39
39
  }): Array<Item<ItemCategory, ContainedItemCategoryFromOption<ItemCategory, TContainedItemCategory>, T, "embedded">>;
40
- declare function parseSetItems<const TContainedItemCategories extends ReadonlyArray<SetItemCategory> | undefined = undefined, T extends ReadonlyArray<string> = ReadonlyArray<string>>(rawItems: XMLSetItems | undefined, options: {
40
+ export declare function parseSetItems<const TContainedItemCategories extends ReadonlyArray<SetItemCategory> | undefined = undefined, T extends ReadonlyArray<string> = ReadonlyArray<string>>(rawItems: XMLSetItems | undefined, options: {
41
41
  containedItemCategories?: TContainedItemCategories;
42
42
  languages: T;
43
43
  }): Array<SetItem<SetItemCategoryFromCategories<TContainedItemCategories>, T>>;
44
- declare function parseGallery<T extends ReadonlyArray<string>>(rawData: XMLGalleryData, options: ParserOptions<T>): Gallery<T>;
45
- declare function parseItem<const TContainedItemCategory extends ContainedItemCategoryOption<ItemCategory> | undefined = undefined, T extends ReadonlyArray<string> = ReadonlyArray<string>>(rawData: XMLData, options: {
44
+ export declare function parseGallery<T extends ReadonlyArray<string>>(rawData: XMLGalleryData, options: ParserOptions<T>): Gallery<T>;
45
+ export declare function parseItem<const TContainedItemCategory extends ContainedItemCategoryOption<ItemCategory> | undefined = undefined, T extends ReadonlyArray<string> = ReadonlyArray<string>>(rawData: XMLData, options: {
46
46
  category?: undefined;
47
47
  containedItemCategory?: TContainedItemCategory;
48
48
  languages: T;
49
49
  parseResourceView?: ResourceViewParser<T>;
50
50
  }): Item<ItemCategory, ContainedItemCategoryFromOption<ItemCategory, TContainedItemCategory>, T>;
51
- declare function parseItem<const TCategory extends ItemCategoryOption, const TContainedItemCategory extends ContainedItemCategoryOption<Extract<ItemCategoryFromOption<TCategory>, ItemContainerCategory>> | undefined = undefined, T extends ReadonlyArray<string> = ReadonlyArray<string>>(rawData: XMLData, options: {
51
+ export declare function parseItem<const TCategory extends ItemCategoryOption, const TContainedItemCategory extends ContainedItemCategoryOption<Extract<ItemCategoryFromOption<TCategory>, ItemContainerCategory>> | undefined = undefined, T extends ReadonlyArray<string> = ReadonlyArray<string>>(rawData: XMLData, options: {
52
52
  category: TCategory;
53
53
  containedItemCategory?: TContainedItemCategory;
54
54
  languages: T;
55
55
  parseResourceView?: ResourceViewParser<T>;
56
56
  }): Item<ItemCategoryFromOption<TCategory>, ContainedItemCategoryFromOption<ItemCategoryFromOption<TCategory>, TContainedItemCategory>, T>;
57
- declare function parseItem(rawData: XMLData, options: {
57
+ export declare function parseItem(rawData: XMLData, options: {
58
58
  category?: ItemCategoryOption;
59
59
  containedItemCategory?: ContainedItemCategoryOption<ItemCategory>;
60
60
  languages: ReadonlyArray<string>;
61
61
  parseResourceView?: ResourceViewParser<ReadonlyArray<string>>;
62
62
  }): Item<ItemCategory, SetItemCategory, ReadonlyArray<string>>;
63
63
  //#endregion
64
- export { type ParserOptions, RawOchre, getParserOptions, parseBibliographyList, parseGallery, parseIdentification, parseItem, parseLinkedItems, parseLinks, parseMetadata, parseMetadataLanguages, parseNotes, parsePersonList, parseProperties, parseSetItems, parseSimplifiedProperties, parseStringLike, resolveDefaultLanguage, resolveLanguages };
64
+ export { type ParserOptions, getParserOptions, parseStringLike };
@@ -120,6 +120,24 @@ function emptyContextItem() {
120
120
  content: ""
121
121
  };
122
122
  }
123
+ function parseContextNode(rawContextItem) {
124
+ const node = {
125
+ tree: rawContextItem.tree[0] == null ? emptyContextItem() : parseContextItem(rawContextItem.tree[0]),
126
+ project: parseContextItem(rawContextItem.project),
127
+ heading: []
128
+ };
129
+ const headings = rawContextItem.heading ?? [];
130
+ for (const heading of headings) node.heading.push(parseContextItem(heading));
131
+ for (const { raw, parsed } of CONTEXT_CATEGORY_MAPPINGS) {
132
+ const contextValues = rawContextItem[raw] ?? [];
133
+ for (const contextValue of contextValues) {
134
+ const parsedItems = node[parsed] ?? [];
135
+ parsedItems.push(parseContextItem(contextValue));
136
+ node[parsed] = parsedItems;
137
+ }
138
+ }
139
+ return node;
140
+ }
123
141
  function parseContext(rawContext) {
124
142
  const nodes = [];
125
143
  let displayPath = "";
@@ -128,23 +146,7 @@ function parseContext(rawContext) {
128
146
  displayPath ||= rawContextOuterItem.displayPath;
129
147
  for (const rawContextItem of rawContextOuterItem.context) {
130
148
  if (!isXMLContextItem(rawContextItem)) continue;
131
- const node = {
132
- tree: rawContextItem.tree[0] == null ? emptyContextItem() : parseContextItem(rawContextItem.tree[0]),
133
- project: parseContextItem(rawContextItem.project),
134
- heading: []
135
- };
136
- const rawContextValues = rawContextItem;
137
- const headings = rawContextValues.heading ?? [];
138
- for (const heading of headings) node.heading.push(parseContextItem(heading));
139
- for (const { raw, parsed } of CONTEXT_CATEGORY_MAPPINGS) {
140
- const contextValues = rawContextValues[raw] ?? [];
141
- for (const contextValue of contextValues) {
142
- const parsedItems = node[parsed] ?? [];
143
- parsedItems.push(parseContextItem(contextValue));
144
- node[parsed] = parsedItems;
145
- }
146
- }
147
- nodes.push(node);
149
+ nodes.push(parseContextNode(rawContextItem));
148
150
  }
149
151
  }
150
152
  return {
@@ -254,23 +256,15 @@ function collectHierarchyEntries(hierarchy, categories) {
254
256
  if (category == null || !(categories == null || categories.includes(category))) continue;
255
257
  if (!Array.isArray(values)) continue;
256
258
  for (const value of values) {
257
- if (category === "resource" && isResourceWrapper(value)) {
258
- for (const resource of value.resource) {
259
- entries.push({
260
- category,
261
- item: resource,
262
- fallbackIndex
263
- });
264
- fallbackIndex += 1;
265
- }
266
- continue;
259
+ const items = category === "resource" && isResourceWrapper(value) ? value.resource : [value];
260
+ for (const item of items) {
261
+ entries.push({
262
+ category,
263
+ item,
264
+ fallbackIndex
265
+ });
266
+ fallbackIndex += 1;
267
267
  }
268
- entries.push({
269
- category,
270
- item: value,
271
- fallbackIndex
272
- });
273
- fallbackIndex += 1;
274
268
  }
275
269
  }
276
270
  entries.sort(sourceOrderSort);
@@ -1169,7 +1163,7 @@ function parseMetadataLanguages(rawOchre) {
1169
1163
  return languages.length > 0 ? languages : [...DEFAULT_LANGUAGES];
1170
1164
  }
1171
1165
  function resolveLanguages(requestedLanguages, metadataLanguages) {
1172
- if (requestedLanguages.length === 0) return metadataLanguages;
1166
+ if (requestedLanguages == null || requestedLanguages.length === 0) return metadataLanguages;
1173
1167
  const unsupportedLanguages = [];
1174
1168
  for (const requestedLanguage of requestedLanguages) if (!metadataLanguages.some((metadataLanguage) => metadataLanguage.toLocaleLowerCase("en-US") === requestedLanguage.toLocaleLowerCase("en-US"))) unsupportedLanguages.push(requestedLanguage);
1175
1169
  if (unsupportedLanguages.length > 0) throw new Error(`The following language(s) are not supported by the dataset: ${unsupportedLanguages.toSorted((a, b) => a.localeCompare(b, "en-US")).join(", ")}. Available languages: ${metadataLanguages.toSorted((a, b) => a.localeCompare(b, "en-US")).join(", ")}`, { cause: unsupportedLanguages });
@@ -1237,22 +1231,45 @@ function getSingleTopLevelRawItem(items, category) {
1237
1231
  return items[0];
1238
1232
  }
1239
1233
  function parseTopLevelItem(rawOchre, category, options) {
1234
+ const rawItems = rawOchre;
1235
+ let parsedItem;
1240
1236
  switch (category) {
1241
- case "tree": return parseTree(getSingleTopLevelRawItem("tree" in rawOchre ? rawOchre.tree : null, "tree"), {
1242
- ...options,
1243
- containedItemCategory: normalizeTreeItemCategory(options.containedItemCategory)
1244
- });
1245
- case "bibliography": return parseBibliography(getSingleTopLevelRawItem("bibliography" in rawOchre ? rawOchre.bibliography : null, "bibliography"), options);
1246
- case "concept": return parseConcept(getSingleTopLevelRawItem("concept" in rawOchre ? rawOchre.concept : null, "concept"), options);
1247
- case "spatialUnit": return parseSpatialUnit(getSingleTopLevelRawItem("spatialUnit" in rawOchre ? rawOchre.spatialUnit : null, "spatial unit"), options);
1248
- case "period": return parsePeriod(getSingleTopLevelRawItem("period" in rawOchre ? rawOchre.period : null, "period"), options);
1249
- case "person": return parsePerson(getSingleTopLevelRawItem("person" in rawOchre ? rawOchre.person : null, "person"), options);
1250
- case "propertyVariable": return parsePropertyVariable(getSingleTopLevelRawItem("propertyVariable" in rawOchre ? rawOchre.propertyVariable : "variable" in rawOchre ? rawOchre.variable : null, "property variable"), options);
1251
- case "propertyValue": return parsePropertyValue(getSingleTopLevelRawItem("propertyValue" in rawOchre ? rawOchre.propertyValue : "value" in rawOchre ? rawOchre.value : null, "property value"), options);
1252
- case "resource": return parseResource(getSingleTopLevelRawItem("resource" in rawOchre ? rawOchre.resource : null, "resource"), options);
1253
- case "text": return parseText(getSingleTopLevelRawItem("text" in rawOchre ? rawOchre.text : null, "text"), options);
1254
- case "set": return parseSet(getSingleTopLevelRawItem("set" in rawOchre ? rawOchre.set : null, "set"), options);
1237
+ case "tree":
1238
+ parsedItem = parseTree(getSingleTopLevelRawItem(rawItems.tree, "tree"), {
1239
+ ...options,
1240
+ containedItemCategory: normalizeTreeItemCategory(options.containedItemCategory)
1241
+ });
1242
+ break;
1243
+ case "bibliography":
1244
+ parsedItem = parseBibliography(getSingleTopLevelRawItem(rawItems.bibliography, "bibliography"), options);
1245
+ break;
1246
+ case "concept":
1247
+ parsedItem = parseConcept(getSingleTopLevelRawItem(rawItems.concept, "concept"), options);
1248
+ break;
1249
+ case "spatialUnit":
1250
+ parsedItem = parseSpatialUnit(getSingleTopLevelRawItem(rawItems.spatialUnit, "spatial unit"), options);
1251
+ break;
1252
+ case "period":
1253
+ parsedItem = parsePeriod(getSingleTopLevelRawItem(rawItems.period, "period"), options);
1254
+ break;
1255
+ case "person":
1256
+ parsedItem = parsePerson(getSingleTopLevelRawItem(rawItems.person, "person"), options);
1257
+ break;
1258
+ case "propertyVariable":
1259
+ parsedItem = parsePropertyVariable(getSingleTopLevelRawItem(rawItems.propertyVariable ?? rawItems.variable, "property variable"), options);
1260
+ break;
1261
+ case "propertyValue":
1262
+ parsedItem = parsePropertyValue(getSingleTopLevelRawItem(rawItems.propertyValue ?? rawItems.value, "property value"), options);
1263
+ break;
1264
+ case "resource":
1265
+ parsedItem = parseResource(getSingleTopLevelRawItem(rawItems.resource, "resource"), options);
1266
+ break;
1267
+ case "text":
1268
+ parsedItem = parseText(getSingleTopLevelRawItem(rawItems.text, "text"), options);
1269
+ break;
1270
+ case "set": parsedItem = parseSet(getSingleTopLevelRawItem(rawItems.set, "set"), options);
1255
1271
  }
1272
+ return parsedItem;
1256
1273
  }
1257
1274
  function parseLinkedItems(rawItems, options) {
1258
1275
  const parserOptions = {
@@ -1,5 +1,4 @@
1
1
  //#region src/parsers/mdx.d.ts
2
- declare function serializeMDXText(value: string): string;
3
- declare function serializeMDXContent(value: string): string;
4
- //#endregion
5
- export { serializeMDXContent, serializeMDXText };
2
+ export declare function serializeMDXText(value: string): string;
3
+ export declare function serializeMDXContent(value: string): string;
4
+ //#endregion