ochre-sdk 1.0.13 → 1.0.14

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 (51) hide show
  1. package/dist/constants.d.mts +17 -0
  2. package/dist/constants.mjs +85 -0
  3. package/dist/fetchers/gallery.d.mts +38 -0
  4. package/dist/fetchers/gallery.mjs +91 -0
  5. package/dist/fetchers/item-links.d.mts +32 -0
  6. package/dist/fetchers/item-links.mjs +120 -0
  7. package/dist/fetchers/item.d.mts +74 -0
  8. package/dist/fetchers/item.mjs +146 -0
  9. package/dist/fetchers/set/items.d.mts +48 -0
  10. package/dist/fetchers/set/items.mjs +268 -0
  11. package/dist/fetchers/set/property-values.d.mts +46 -0
  12. package/dist/fetchers/set/property-values.mjs +514 -0
  13. package/dist/fetchers/website.d.mts +25 -0
  14. package/dist/fetchers/website.mjs +38 -0
  15. package/dist/getters.d.mts +193 -0
  16. package/dist/getters.mjs +341 -0
  17. package/dist/helpers.d.mts +18 -0
  18. package/dist/helpers.mjs +33 -0
  19. package/dist/index.d.mts +12 -1971
  20. package/dist/index.mjs +9 -7236
  21. package/dist/parsers/helpers.d.mts +27 -0
  22. package/dist/parsers/helpers.mjs +53 -0
  23. package/dist/parsers/index.d.mts +65 -0
  24. package/dist/parsers/index.mjs +1338 -0
  25. package/dist/parsers/mdx.d.mts +4 -0
  26. package/dist/parsers/mdx.mjs +9 -0
  27. package/dist/parsers/multilingual.d.mts +189 -0
  28. package/dist/parsers/multilingual.mjs +410 -0
  29. package/dist/parsers/string.d.mts +29 -0
  30. package/dist/parsers/string.mjs +477 -0
  31. package/dist/parsers/website/index.d.mts +20 -0
  32. package/dist/parsers/website/index.mjs +1245 -0
  33. package/dist/parsers/website/reader.d.mts +29 -0
  34. package/dist/parsers/website/reader.mjs +75 -0
  35. package/dist/query.d.mts +13 -0
  36. package/dist/query.mjs +827 -0
  37. package/dist/schemas.d.mts +84 -0
  38. package/dist/schemas.mjs +232 -0
  39. package/dist/types/index.d.mts +840 -0
  40. package/dist/types/index.mjs +1 -0
  41. package/dist/types/website.d.mts +501 -0
  42. package/dist/types/website.mjs +1 -0
  43. package/dist/utils.d.mts +34 -0
  44. package/dist/utils.mjs +172 -0
  45. package/dist/xml/metadata.d.mts +5 -0
  46. package/dist/xml/metadata.mjs +30 -0
  47. package/dist/xml/schemas.d.mts +13 -0
  48. package/dist/xml/schemas.mjs +849 -0
  49. package/dist/xml/types.d.mts +901 -0
  50. package/dist/xml/types.mjs +1 -0
  51. package/package.json +19 -17
@@ -0,0 +1,27 @@
1
+ import { MultilingualString } from "./multilingual.mjs";
2
+ import { License } from "../types/index.mjs";
3
+ import { XMLContent, XMLString } from "../xml/types.mjs";
4
+
5
+ //#region src/parsers/helpers.d.ts
6
+ type ParserOptions<T extends ReadonlyArray<string>> = {
7
+ languages: T;
8
+ };
9
+ declare function getParserOptions<T extends ReadonlyArray<string>>(options: ParserOptions<T>): ParserOptions<T>;
10
+ declare function cleanObject<T extends Record<string, unknown>>(obj: T): Partial<T>;
11
+ declare function parseLicense(availability: {
12
+ license: XMLString & {
13
+ target?: string;
14
+ };
15
+ } | undefined): License | null;
16
+ declare function parseStringLike(value: XMLString | string | undefined): string | null;
17
+ declare function isXMLContent(value: XMLContent | XMLString): value is XMLContent;
18
+ declare function multilingualFromText<T extends ReadonlyArray<string>>(text: string | {
19
+ text: string;
20
+ richText: string;
21
+ }, options: ParserOptions<T>): MultilingualString<T>;
22
+ declare function parseContentLike<T extends ReadonlyArray<string>>(value: XMLContent | XMLString | string | undefined, options: ParserOptions<T>): MultilingualString<T> | null;
23
+ declare function parseRequiredContentLike<T extends ReadonlyArray<string>>(value: XMLContent | XMLString, options: ParserOptions<T>): MultilingualString<T>;
24
+ declare function parseContentLikeText<T extends ReadonlyArray<string>>(value: XMLContent | XMLString | undefined, options: ParserOptions<T>): string;
25
+ declare function parseStringContent(value: XMLContent | XMLString | string | undefined, options?: ParserOptions<ReadonlyArray<string>>): string;
26
+ //#endregion
27
+ export { ParserOptions, cleanObject, getParserOptions, isXMLContent, multilingualFromText, parseContentLike, parseContentLikeText, parseLicense, parseRequiredContentLike, parseStringContent, parseStringLike };
@@ -0,0 +1,53 @@
1
+ import { DEFAULT_LANGUAGES } from "../constants.mjs";
2
+ import { MultilingualString } from "./multilingual.mjs";
3
+ import { parseXMLContent, parseXMLString } from "./string.mjs";
4
+ //#region src/parsers/helpers.ts
5
+ const FALLBACK_PARSER_OPTIONS = { languages: DEFAULT_LANGUAGES };
6
+ function getParserOptions(options) {
7
+ return { languages: options.languages };
8
+ }
9
+ function cleanObject(obj) {
10
+ const cleaned = {};
11
+ for (const [key, value] of Object.entries(obj)) if (value !== void 0) cleaned[key] = value;
12
+ return cleaned;
13
+ }
14
+ function parseLicense(availability) {
15
+ if (availability == null) return null;
16
+ return {
17
+ content: parseStringLike(availability.license) ?? "",
18
+ target: availability.license.target ?? null
19
+ };
20
+ }
21
+ function parseStringLike(value) {
22
+ if (value == null) return null;
23
+ if (typeof value === "string") return value;
24
+ return parseXMLString(value).text;
25
+ }
26
+ function isXMLContent(value) {
27
+ return "content" in value;
28
+ }
29
+ function multilingualFromText(text, options) {
30
+ const content = {};
31
+ for (const language of options.languages) content[language] = text;
32
+ return MultilingualString.fromObject(content, options.languages);
33
+ }
34
+ function parseContentLike(value, options) {
35
+ if (value == null) return null;
36
+ if (typeof value === "string") return multilingualFromText(value, options);
37
+ if (!isXMLContent(value)) return multilingualFromText(parseXMLString(value), options);
38
+ return parseXMLContent(value, { languages: options.languages });
39
+ }
40
+ function parseRequiredContentLike(value, options) {
41
+ return parseContentLike(value, options) ?? MultilingualString.empty(options.languages);
42
+ }
43
+ function parseContentLikeText(value, options) {
44
+ return parseContentLike(value, options)?.getText().trim() ?? "";
45
+ }
46
+ function parseStringContent(value, options = FALLBACK_PARSER_OPTIONS) {
47
+ if (value == null) return "";
48
+ if (typeof value === "string") return value;
49
+ if (isXMLContent(value)) return parseXMLContent(value, { languages: options.languages }).getText();
50
+ return parseXMLString(value).text;
51
+ }
52
+ //#endregion
53
+ export { cleanObject, getParserOptions, isXMLContent, multilingualFromText, parseContentLike, parseContentLikeText, parseLicense, parseRequiredContentLike, parseStringContent, parseStringLike };
@@ -0,0 +1,65 @@
1
+ import { Webpage } from "../types/website.mjs";
2
+ import { Bibliography, ContainedItemCategoryFromOption, ContainedItemCategoryOption, Gallery, Identification, Item, ItemCategory, ItemLinks, Metadata, Note, Person, Property, Resource, SetItem, SetItemCategory, SimplifiedProperty } from "../types/index.mjs";
3
+ import { XMLBibliography, XMLData, XMLDataItem, XMLGalleryData, XMLIdentification, XMLItemLinks, XMLLink, XMLMetadata, XMLNote, XMLPerson, XMLProperty, XMLResource, XMLSetItems, XMLSimplifiedProperty } from "../xml/types.mjs";
4
+ import { ParserOptions, getParserOptions, parseStringLike } from "./helpers.mjs";
5
+
6
+ //#region src/parsers/index.d.ts
7
+ type RawOchre = XMLData["result"]["ochre"];
8
+ type ResourceViewParser<T extends ReadonlyArray<string>> = (view: XMLResource["view"], context: Pick<Resource<T, "topLevel">, "belongsTo" | "metadata">) => Webpage<T> | null;
9
+ type SetItemCategoryFromCategories<T extends ReadonlyArray<SetItemCategory> | undefined> = T extends ReadonlyArray<infer U> ? Extract<U, SetItemCategory> : SetItemCategory;
10
+ declare function parseIdentification<T extends ReadonlyArray<string>>(rawIdentification: XMLIdentification, options: ParserOptions<T>): Identification<T>;
11
+ declare function parseNotes<T extends ReadonlyArray<string>>(rawNotes: {
12
+ note: Array<XMLNote>;
13
+ } | undefined, options: ParserOptions<T>): Array<Note<T>>;
14
+ declare function parseProperties<T extends ReadonlyArray<string>>(rawProperties: {
15
+ property: Array<XMLProperty>;
16
+ } | undefined, options: ParserOptions<T>): Array<Property<T>>;
17
+ declare function parseSimplifiedProperties<T extends ReadonlyArray<string>>(rawProperties: {
18
+ property: Array<XMLSimplifiedProperty>;
19
+ } | undefined, options: ParserOptions<T>): Array<SimplifiedProperty<T>>;
20
+ declare function parseLinks<T extends ReadonlyArray<string>>(rawLinks: XMLLink | XMLDataItem | undefined, options: ParserOptions<T>): ItemLinks<T>;
21
+ declare function parseBibliographyList<T extends ReadonlyArray<string>>(rawBibliographies: {
22
+ bibliography: Array<XMLBibliography>;
23
+ } | undefined, options: ParserOptions<T>): Array<Bibliography<T, "embedded">>;
24
+ declare function parsePersonList<T extends ReadonlyArray<string>>(rawPersons: Array<XMLPerson> | undefined, options: ParserOptions<T>): Array<Person<T, "embedded">>;
25
+ declare function parseMetadataLanguages(rawOchre: {
26
+ metadata: XMLMetadata;
27
+ languages?: string;
28
+ }): Array<string>;
29
+ declare function resolveLanguages<T extends ReadonlyArray<string>>(requestedLanguages: T, metadataLanguages: Array<string>): T;
30
+ declare function resolveDefaultLanguage<T extends ReadonlyArray<string>>(rawOchre: {
31
+ metadata: XMLMetadata;
32
+ }, languages: T): T[number];
33
+ declare function parseMetadata<T extends ReadonlyArray<string>>(rawOchre: {
34
+ uuidBelongsTo: string;
35
+ metadata: XMLMetadata;
36
+ }, options: ParserOptions<T>, defaultLanguage: T[number]): Metadata<T>;
37
+ declare function parseLinkedItems<const TContainedItemCategory extends ContainedItemCategoryOption<ItemCategory> | undefined = undefined, T extends ReadonlyArray<string> = ReadonlyArray<string>>(rawItems: XMLItemLinks | undefined, options: {
38
+ containedItemCategory?: TContainedItemCategory;
39
+ languages: T;
40
+ }): Array<Item<ItemCategory, ContainedItemCategoryFromOption<ItemCategory, TContainedItemCategory>, T, "embedded">>;
41
+ declare function parseSetItems<const TContainedItemCategories extends ReadonlyArray<SetItemCategory> | undefined = undefined, T extends ReadonlyArray<string> = ReadonlyArray<string>>(rawItems: XMLSetItems | undefined, options: {
42
+ containedItemCategories?: TContainedItemCategories;
43
+ languages: T;
44
+ }): Array<SetItem<SetItemCategoryFromCategories<TContainedItemCategories>, T>>;
45
+ declare function parseGallery<T extends ReadonlyArray<string>>(rawData: XMLGalleryData, options: ParserOptions<T>): Gallery<T>;
46
+ declare function parseItem<const TContainedItemCategory extends ContainedItemCategoryOption<ItemCategory> | undefined = undefined, T extends ReadonlyArray<string> = ReadonlyArray<string>>(rawData: XMLData, options: {
47
+ category?: undefined;
48
+ containedItemCategory?: TContainedItemCategory;
49
+ languages: T;
50
+ parseResourceView?: ResourceViewParser<T>;
51
+ }): Item<ItemCategory, ContainedItemCategoryFromOption<ItemCategory, TContainedItemCategory>, T>;
52
+ declare function parseItem<const TCategory extends ItemCategory, const TContainedItemCategory extends ContainedItemCategoryOption<TCategory> | undefined = undefined, T extends ReadonlyArray<string> = ReadonlyArray<string>>(rawData: XMLData, options: {
53
+ category: TCategory;
54
+ containedItemCategory?: TContainedItemCategory;
55
+ languages: T;
56
+ parseResourceView?: ResourceViewParser<T>;
57
+ }): Item<TCategory, ContainedItemCategoryFromOption<TCategory, TContainedItemCategory>, T>;
58
+ declare function parseItem(rawData: XMLData, options: {
59
+ category?: ItemCategory;
60
+ containedItemCategory?: ContainedItemCategoryOption<ItemCategory>;
61
+ languages: ReadonlyArray<string>;
62
+ parseResourceView?: ResourceViewParser<ReadonlyArray<string>>;
63
+ }): Item<ItemCategory, SetItemCategory, ReadonlyArray<string>>;
64
+ //#endregion
65
+ export { type ParserOptions, RawOchre, getParserOptions, parseBibliographyList, parseGallery, parseIdentification, parseItem, parseLinkedItems, parseLinks, parseMetadata, parseMetadataLanguages, parseNotes, parsePersonList, parseProperties, parseSetItems, parseSimplifiedProperties, parseStringLike, resolveDefaultLanguage, resolveLanguages };