@eightyfourthousand/client-graphql 2026.4.0 → 2026.4.1

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 (149) hide show
  1. package/index.d.ts +4 -0
  2. package/index.js +7 -0
  3. package/index.js.map +1 -0
  4. package/lib/client-ssr.d.ts +16 -0
  5. package/lib/client-ssr.js +39 -0
  6. package/lib/client-ssr.js.map +1 -0
  7. package/lib/client.d.ts +15 -0
  8. package/lib/client.js +46 -0
  9. package/lib/client.js.map +1 -0
  10. package/lib/config.d.ts +8 -0
  11. package/lib/config.js +19 -0
  12. package/lib/config.js.map +1 -0
  13. package/lib/functions/get-bibliography-entry.d.ts +9 -0
  14. package/lib/functions/get-bibliography-entry.js +27 -0
  15. package/lib/functions/get-bibliography-entry.js.map +1 -0
  16. package/lib/functions/get-glossary-instance.d.ts +9 -0
  17. package/lib/functions/get-glossary-instance.js +36 -0
  18. package/lib/functions/get-glossary-instance.js.map +1 -0
  19. package/lib/functions/get-passage.d.ts +10 -0
  20. package/lib/functions/get-passage.js +68 -0
  21. package/lib/functions/get-passage.js.map +1 -0
  22. package/lib/functions/get-term-passages.d.ts +20 -0
  23. package/lib/functions/get-term-passages.js +32 -0
  24. package/lib/functions/get-term-passages.js.map +1 -0
  25. package/lib/functions/get-translation-blocks-around.d.ts +15 -0
  26. package/lib/functions/get-translation-blocks-around.js +86 -0
  27. package/lib/functions/get-translation-blocks-around.js.map +1 -0
  28. package/lib/functions/get-translation-blocks.d.ts +25 -0
  29. package/lib/functions/get-translation-blocks.js +96 -0
  30. package/lib/functions/get-translation-blocks.js.map +1 -0
  31. package/lib/functions/get-translation-imprint.d.ts +10 -0
  32. package/lib/functions/get-translation-imprint.js +68 -0
  33. package/lib/functions/get-translation-imprint.js.map +1 -0
  34. package/lib/functions/get-translation-metadata.d.ts +16 -0
  35. package/lib/functions/get-translation-metadata.js +72 -0
  36. package/lib/functions/get-translation-metadata.js.map +1 -0
  37. package/lib/functions/get-translation-titles.d.ts +9 -0
  38. package/lib/functions/get-translation-titles.js +34 -0
  39. package/lib/functions/get-translation-titles.js.map +1 -0
  40. package/lib/functions/get-translation-toc.d.ts +9 -0
  41. package/{src/lib/functions/get-translation-toc.ts → lib/functions/get-translation-toc.js} +18 -48
  42. package/lib/functions/get-translation-toc.js.map +1 -0
  43. package/lib/functions/get-translation-uuids.d.ts +16 -0
  44. package/lib/functions/get-translation-uuids.js +40 -0
  45. package/lib/functions/get-translation-uuids.js.map +1 -0
  46. package/lib/functions/get-translations-metadata.d.ts +9 -0
  47. package/lib/functions/get-translations-metadata.js +51 -0
  48. package/lib/functions/get-translations-metadata.js.map +1 -0
  49. package/lib/functions/get-work-bibliography.d.ts +9 -0
  50. package/lib/functions/get-work-bibliography.js +33 -0
  51. package/lib/functions/get-work-bibliography.js.map +1 -0
  52. package/lib/functions/get-work-folios.d.ts +12 -0
  53. package/lib/functions/get-work-folios.js +32 -0
  54. package/lib/functions/get-work-folios.js.map +1 -0
  55. package/lib/functions/get-work-glossary-terms-around.d.ts +13 -0
  56. package/lib/functions/get-work-glossary-terms-around.js +95 -0
  57. package/lib/functions/get-work-glossary-terms-around.js.map +1 -0
  58. package/lib/functions/get-work-glossary-terms.d.ts +24 -0
  59. package/lib/functions/get-work-glossary-terms.js +104 -0
  60. package/lib/functions/get-work-glossary-terms.js.map +1 -0
  61. package/lib/functions/has-permission.d.ts +9 -0
  62. package/lib/functions/has-permission.js +15 -0
  63. package/lib/functions/has-permission.js.map +1 -0
  64. package/{src/lib/functions/index.ts → lib/functions/index.d.ts} +3 -12
  65. package/lib/functions/index.js +20 -0
  66. package/lib/functions/index.js.map +1 -0
  67. package/lib/functions/replace.d.ts +27 -0
  68. package/lib/functions/replace.js +49 -0
  69. package/lib/functions/replace.js.map +1 -0
  70. package/lib/functions/save-passages.d.ts +16 -0
  71. package/lib/functions/save-passages.js +35 -0
  72. package/lib/functions/save-passages.js.map +1 -0
  73. package/lib/generated/graphql.d.ts +1062 -0
  74. package/lib/generated/graphql.js +357 -0
  75. package/lib/generated/graphql.js.map +1 -0
  76. package/lib/mappers/alignment.d.ts +19 -0
  77. package/lib/mappers/alignment.js +19 -0
  78. package/lib/mappers/alignment.js.map +1 -0
  79. package/lib/mappers/annotation.d.ts +19 -0
  80. package/lib/mappers/annotation.js +74 -0
  81. package/lib/mappers/annotation.js.map +1 -0
  82. package/lib/mappers/imprint.d.ts +37 -0
  83. package/lib/mappers/imprint.js +44 -0
  84. package/lib/mappers/imprint.js.map +1 -0
  85. package/lib/mappers/index.js +8 -0
  86. package/lib/mappers/index.js.map +1 -0
  87. package/lib/mappers/passage.d.ts +41 -0
  88. package/lib/mappers/passage.js +39 -0
  89. package/lib/mappers/passage.js.map +1 -0
  90. package/lib/mappers/title.d.ts +18 -0
  91. package/lib/mappers/title.js +18 -0
  92. package/lib/mappers/title.js.map +1 -0
  93. package/lib/mappers/toc.d.ts +25 -0
  94. package/lib/mappers/toc.js +25 -0
  95. package/lib/mappers/toc.js.map +1 -0
  96. package/lib/mappers/work.d.ts +22 -0
  97. package/lib/mappers/work.js +22 -0
  98. package/lib/mappers/work.js.map +1 -0
  99. package/package.json +25 -3
  100. package/ssr.d.ts +4 -0
  101. package/ssr.js +7 -0
  102. package/ssr.js.map +1 -0
  103. package/README.md +0 -9
  104. package/codegen.ts +0 -34
  105. package/project.json +0 -21
  106. package/src/index.ts +0 -75
  107. package/src/lib/client-ssr.ts +0 -44
  108. package/src/lib/client.ts +0 -58
  109. package/src/lib/config.ts +0 -21
  110. package/src/lib/functions/get-bibliography-entry.ts +0 -40
  111. package/src/lib/functions/get-glossary-instance.ts +0 -49
  112. package/src/lib/functions/get-passage.ts +0 -81
  113. package/src/lib/functions/get-term-passages.ts +0 -53
  114. package/src/lib/functions/get-translation-blocks-around.ts +0 -129
  115. package/src/lib/functions/get-translation-blocks.ts +0 -158
  116. package/src/lib/functions/get-translation-imprint.ts +0 -114
  117. package/src/lib/functions/get-translation-metadata.ts +0 -99
  118. package/src/lib/functions/get-translation-titles.ts +0 -55
  119. package/src/lib/functions/get-translation-uuids.ts +0 -63
  120. package/src/lib/functions/get-translations-metadata.ts +0 -81
  121. package/src/lib/functions/get-work-bibliography.ts +0 -47
  122. package/src/lib/functions/get-work-folios.ts +0 -52
  123. package/src/lib/functions/get-work-glossary-terms-around.ts +0 -127
  124. package/src/lib/functions/get-work-glossary-terms.ts +0 -154
  125. package/src/lib/functions/has-permission.ts +0 -38
  126. package/src/lib/functions/replace.ts +0 -91
  127. package/src/lib/functions/save-passages.ts +0 -76
  128. package/src/lib/generated/graphql.ts +0 -1297
  129. package/src/lib/graphql/fragments/alignment.graphql +0 -7
  130. package/src/lib/graphql/fragments/annotation.graphql +0 -7
  131. package/src/lib/graphql/fragments/imprint.graphql +0 -34
  132. package/src/lib/graphql/fragments/passage.graphql +0 -29
  133. package/src/lib/graphql/fragments/title.graphql +0 -6
  134. package/src/lib/graphql/fragments/toc.graphql +0 -40
  135. package/src/lib/graphql/fragments/work.graphql +0 -10
  136. package/src/lib/graphql/queries/passages.graphql +0 -116
  137. package/src/lib/graphql/queries/work.graphql +0 -38
  138. package/src/lib/graphql/queries/works.graphql +0 -23
  139. package/src/lib/mappers/alignment.ts +0 -34
  140. package/src/lib/mappers/annotation.ts +0 -204
  141. package/src/lib/mappers/imprint.ts +0 -79
  142. package/src/lib/mappers/passage.ts +0 -80
  143. package/src/lib/mappers/title.ts +0 -35
  144. package/src/lib/mappers/toc.ts +0 -49
  145. package/src/lib/mappers/work.ts +0 -38
  146. package/src/ssr.ts +0 -66
  147. package/tsconfig.json +0 -17
  148. package/tsconfig.lib.json +0 -14
  149. /package/{src/lib/mappers/index.ts → lib/mappers/index.d.ts} +0 -0
@@ -0,0 +1,10 @@
1
+ import type { GraphQLClient } from 'graphql-request';
2
+ import type { Imprint } from '@eightyfourthousand/data-access';
3
+ /**
4
+ * Get the imprint for a translation work.
5
+ */
6
+ export declare function getTranslationImprint({ client, uuid, toh, }: {
7
+ client: GraphQLClient;
8
+ uuid: string;
9
+ toh: string;
10
+ }): Promise<Imprint | undefined>;
@@ -0,0 +1,68 @@
1
+ import { __awaiter } from "tslib";
2
+ import { gql } from 'graphql-request';
3
+ import { imprintFromGraphQL } from '../mappers';
4
+ const GET_WORK_WITH_IMPRINT = gql `
5
+ fragment LicenseFields on License {
6
+ name
7
+ link
8
+ description
9
+ }
10
+
11
+ fragment TitlesByLanguageFields on TitlesByLanguage {
12
+ tibetan
13
+ english
14
+ wylie
15
+ sanskrit
16
+ }
17
+
18
+ fragment ImprintFields on Imprint {
19
+ toh
20
+ section
21
+ version
22
+ restriction
23
+ publishYear
24
+ tibetanAuthors
25
+ isAuthorContested
26
+ sourceDescription
27
+ publisherStatement
28
+ tibetanTranslators
29
+ license {
30
+ ...LicenseFields
31
+ }
32
+ mainTitles {
33
+ ...TitlesByLanguageFields
34
+ }
35
+ longTitles {
36
+ ...TitlesByLanguageFields
37
+ }
38
+ }
39
+
40
+ query GetWorkWithImprint($uuid: ID!, $toh: String) {
41
+ work(uuid: $uuid, toh: $toh) {
42
+ uuid
43
+ imprint {
44
+ ...ImprintFields
45
+ }
46
+ }
47
+ }
48
+ `;
49
+ /**
50
+ * Get the imprint for a translation work.
51
+ */
52
+ export function getTranslationImprint(_a) {
53
+ return __awaiter(this, arguments, void 0, function* ({ client, uuid, toh, }) {
54
+ var _b;
55
+ try {
56
+ const response = yield client.request(GET_WORK_WITH_IMPRINT, { uuid, toh });
57
+ if (!((_b = response.work) === null || _b === void 0 ? void 0 : _b.imprint)) {
58
+ return undefined;
59
+ }
60
+ return imprintFromGraphQL(response.work.imprint, response.work.uuid);
61
+ }
62
+ catch (error) {
63
+ console.error('Error fetching translation imprint:', error);
64
+ return undefined;
65
+ }
66
+ });
67
+ }
68
+ //# sourceMappingURL=get-translation-imprint.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-translation-imprint.js","sourceRoot":"","sources":["../../../../../libs/client-graphql/src/lib/functions/get-translation-imprint.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAEtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEhD,MAAM,qBAAqB,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4ChC,CAAC;AAqCF;;GAEG;AACH,MAAM,UAAgB,qBAAqB;yDAAC,EAC1C,MAAM,EACN,IAAI,EACJ,GAAG,GAKJ;;QACC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,OAAO,CACnC,qBAAqB,EACrB,EAAE,IAAI,EAAE,GAAG,EAAE,CACd,CAAC;YAEF,IAAI,CAAC,CAAA,MAAA,QAAQ,CAAC,IAAI,0CAAE,OAAO,CAAA,EAAE,CAAC;gBAC5B,OAAO,SAAS,CAAC;YACnB,CAAC;YAED,OAAO,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,qCAAqC,EAAE,KAAK,CAAC,CAAC;YAC5D,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;CAAA"}
@@ -0,0 +1,16 @@
1
+ import type { GraphQLClient } from 'graphql-request';
2
+ import type { Work } from '@eightyfourthousand/data-access';
3
+ /**
4
+ * Get work metadata by UUID.
5
+ */
6
+ export declare function getTranslationMetadataByUuid({ client, uuid, }: {
7
+ client: GraphQLClient;
8
+ uuid: string;
9
+ }): Promise<Work | null>;
10
+ /**
11
+ * Get work metadata by Tohoku catalog number.
12
+ */
13
+ export declare function getTranslationMetadataByToh({ client, toh, }: {
14
+ client: GraphQLClient;
15
+ toh: string;
16
+ }): Promise<Work | null>;
@@ -0,0 +1,72 @@
1
+ import { __awaiter } from "tslib";
2
+ import { gql } from 'graphql-request';
3
+ import { workFromGraphQL } from '../mappers';
4
+ const GET_WORK_BY_UUID = gql `
5
+ query GetWorkByUuid($uuid: ID!) {
6
+ work(uuid: $uuid) {
7
+ uuid
8
+ title
9
+ toh
10
+ publicationDate
11
+ publicationVersion
12
+ pages
13
+ restriction
14
+ section
15
+ }
16
+ }
17
+ `;
18
+ const GET_WORK_BY_TOH = gql `
19
+ query GetWorkByToh($toh: String!) {
20
+ work(toh: $toh) {
21
+ uuid
22
+ title
23
+ toh
24
+ publicationDate
25
+ publicationVersion
26
+ pages
27
+ restriction
28
+ section
29
+ }
30
+ }
31
+ `;
32
+ /**
33
+ * Get work metadata by UUID.
34
+ */
35
+ export function getTranslationMetadataByUuid(_a) {
36
+ return __awaiter(this, arguments, void 0, function* ({ client, uuid, }) {
37
+ try {
38
+ const response = yield client.request(GET_WORK_BY_UUID, {
39
+ uuid,
40
+ });
41
+ if (!response.work) {
42
+ return null;
43
+ }
44
+ return workFromGraphQL(response.work);
45
+ }
46
+ catch (error) {
47
+ console.error('Error fetching translation metadata by UUID:', error);
48
+ return null;
49
+ }
50
+ });
51
+ }
52
+ /**
53
+ * Get work metadata by Tohoku catalog number.
54
+ */
55
+ export function getTranslationMetadataByToh(_a) {
56
+ return __awaiter(this, arguments, void 0, function* ({ client, toh, }) {
57
+ try {
58
+ const response = yield client.request(GET_WORK_BY_TOH, {
59
+ toh,
60
+ });
61
+ if (!response.work) {
62
+ return null;
63
+ }
64
+ return workFromGraphQL(response.work);
65
+ }
66
+ catch (error) {
67
+ console.error('Error fetching translation metadata by toh:', error);
68
+ return null;
69
+ }
70
+ });
71
+ }
72
+ //# sourceMappingURL=get-translation-metadata.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-translation-metadata.js","sourceRoot":"","sources":["../../../../../libs/client-graphql/src/lib/functions/get-translation-metadata.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAEtC,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C,MAAM,gBAAgB,GAAG,GAAG,CAAA;;;;;;;;;;;;;CAa3B,CAAC;AAEF,MAAM,eAAe,GAAG,GAAG,CAAA;;;;;;;;;;;;;CAa1B,CAAC;AAeF;;GAEG;AACH,MAAM,UAAgB,4BAA4B;yDAAC,EACjD,MAAM,EACN,IAAI,GAIL;QACC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,OAAO,CAAkB,gBAAgB,EAAE;gBACvE,IAAI;aACL,CAAC,CAAC;YAEH,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACnB,OAAO,IAAI,CAAC;YACd,CAAC;YAED,OAAO,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACxC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,8CAA8C,EAAE,KAAK,CAAC,CAAC;YACrE,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;CAAA;AAED;;GAEG;AACH,MAAM,UAAgB,2BAA2B;yDAAC,EAChD,MAAM,EACN,GAAG,GAIJ;QACC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,OAAO,CAAkB,eAAe,EAAE;gBACtE,GAAG;aACJ,CAAC,CAAC;YAEH,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACnB,OAAO,IAAI,CAAC;YACd,CAAC;YAED,OAAO,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACxC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,6CAA6C,EAAE,KAAK,CAAC,CAAC;YACpE,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;CAAA"}
@@ -0,0 +1,9 @@
1
+ import type { GraphQLClient } from 'graphql-request';
2
+ import type { Titles } from '@eightyfourthousand/data-access';
3
+ /**
4
+ * Get all titles for a work.
5
+ */
6
+ export declare function getTranslationTitles({ client, uuid, }: {
7
+ client: GraphQLClient;
8
+ uuid: string;
9
+ }): Promise<Titles>;
@@ -0,0 +1,34 @@
1
+ import { __awaiter } from "tslib";
2
+ import { gql } from 'graphql-request';
3
+ import { titlesFromGraphQL } from '../mappers';
4
+ const GET_WORK_TITLES = gql `
5
+ query GetWorkWithTitles($uuid: ID!) {
6
+ work(uuid: $uuid) {
7
+ titles {
8
+ uuid
9
+ content
10
+ language
11
+ type
12
+ }
13
+ }
14
+ }
15
+ `;
16
+ /**
17
+ * Get all titles for a work.
18
+ */
19
+ export function getTranslationTitles(_a) {
20
+ return __awaiter(this, arguments, void 0, function* ({ client, uuid, }) {
21
+ try {
22
+ const response = yield client.request(GET_WORK_TITLES, { uuid });
23
+ if (!response.work) {
24
+ return [];
25
+ }
26
+ return titlesFromGraphQL(response.work.titles);
27
+ }
28
+ catch (error) {
29
+ console.error('Error fetching translation titles:', error);
30
+ return [];
31
+ }
32
+ });
33
+ }
34
+ //# sourceMappingURL=get-translation-titles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-translation-titles.js","sourceRoot":"","sources":["../../../../../libs/client-graphql/src/lib/functions/get-translation-titles.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAEtC,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE/C,MAAM,eAAe,GAAG,GAAG,CAAA;;;;;;;;;;;CAW1B,CAAC;AAaF;;GAEG;AACH,MAAM,UAAgB,oBAAoB;yDAAC,EACzC,MAAM,EACN,IAAI,GAIL;QACC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,OAAO,CACnC,eAAe,EACf,EAAE,IAAI,EAAE,CACT,CAAC;YAEF,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACnB,OAAO,EAAE,CAAC;YACZ,CAAC;YAED,OAAO,iBAAiB,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACjD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,oCAAoC,EAAE,KAAK,CAAC,CAAC;YAC3D,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;CAAA"}
@@ -0,0 +1,9 @@
1
+ import type { GraphQLClient } from 'graphql-request';
2
+ import type { Toc } from '@eightyfourthousand/data-access';
3
+ /**
4
+ * Get the table of contents for a translation work.
5
+ */
6
+ export declare function getTranslationToc({ client, uuid, }: {
7
+ client: GraphQLClient;
8
+ uuid: string;
9
+ }): Promise<Toc | undefined>;
@@ -1,9 +1,7 @@
1
- import type { GraphQLClient } from 'graphql-request';
1
+ import { __awaiter } from "tslib";
2
2
  import { gql } from 'graphql-request';
3
- import type { Toc } from '@eightyfourthousand/data-access';
4
3
  import { tocFromGraphQL } from '../mappers';
5
-
6
- const GET_WORK_WITH_TOC = gql`
4
+ const GET_WORK_WITH_TOC = gql `
7
5
  fragment TocEntryFields on TocEntry {
8
6
  uuid
9
7
  content
@@ -65,51 +63,23 @@ const GET_WORK_WITH_TOC = gql`
65
63
  }
66
64
  }
67
65
  `;
68
-
69
- type GetWorkWithTocResponse = {
70
- work: {
71
- uuid: string;
72
- toc: {
73
- frontMatter: TocEntryNode[];
74
- body: TocEntryNode[];
75
- backMatter: TocEntryNode[];
76
- } | null;
77
- } | null;
78
- };
79
-
80
- type TocEntryNode = {
81
- uuid: string;
82
- content: string;
83
- label?: string | null;
84
- sort: number;
85
- level: number;
86
- section: string;
87
- children?: TocEntryNode[] | null;
88
- };
89
-
90
66
  /**
91
67
  * Get the table of contents for a translation work.
92
68
  */
93
- export async function getTranslationToc({
94
- client,
95
- uuid,
96
- }: {
97
- client: GraphQLClient;
98
- uuid: string;
99
- }): Promise<Toc | undefined> {
100
- try {
101
- const response = await client.request<GetWorkWithTocResponse>(
102
- GET_WORK_WITH_TOC,
103
- { uuid },
104
- );
105
-
106
- if (!response.work?.toc) {
107
- return undefined;
108
- }
109
-
110
- return tocFromGraphQL(response.work.toc);
111
- } catch (error) {
112
- console.error('Error fetching translation TOC:', error);
113
- return undefined;
114
- }
69
+ export function getTranslationToc(_a) {
70
+ return __awaiter(this, arguments, void 0, function* ({ client, uuid, }) {
71
+ var _b;
72
+ try {
73
+ const response = yield client.request(GET_WORK_WITH_TOC, { uuid });
74
+ if (!((_b = response.work) === null || _b === void 0 ? void 0 : _b.toc)) {
75
+ return undefined;
76
+ }
77
+ return tocFromGraphQL(response.work.toc);
78
+ }
79
+ catch (error) {
80
+ console.error('Error fetching translation TOC:', error);
81
+ return undefined;
82
+ }
83
+ });
115
84
  }
85
+ //# sourceMappingURL=get-translation-toc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-translation-toc.js","sourceRoot":"","sources":["../../../../../libs/client-graphql/src/lib/functions/get-translation-toc.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAEtC,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5C,MAAM,iBAAiB,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6D5B,CAAC;AAuBF;;GAEG;AACH,MAAM,UAAgB,iBAAiB;yDAAC,EACtC,MAAM,EACN,IAAI,GAIL;;QACC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,OAAO,CACnC,iBAAiB,EACjB,EAAE,IAAI,EAAE,CACT,CAAC;YAEF,IAAI,CAAC,CAAA,MAAA,QAAQ,CAAC,IAAI,0CAAE,GAAG,CAAA,EAAE,CAAC;gBACxB,OAAO,SAAS,CAAC;YACnB,CAAC;YAED,OAAO,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC3C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,KAAK,CAAC,CAAC;YACxD,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;CAAA"}
@@ -0,0 +1,16 @@
1
+ import type { GraphQLClient } from 'graphql-request';
2
+ type WorkFilter = {
3
+ maxPages?: number;
4
+ };
5
+ /**
6
+ * Get work UUIDs with optional filtering.
7
+ * @param client - GraphQL client
8
+ * @param filter - Optional filter criteria (e.g., maxPages)
9
+ * @param limit - Optional limit on total results (fetches all pages if not specified)
10
+ */
11
+ export declare function getTranslationUuids({ client, filter, limit, }: {
12
+ client: GraphQLClient;
13
+ filter?: WorkFilter;
14
+ limit?: number;
15
+ }): Promise<string[]>;
16
+ export {};
@@ -0,0 +1,40 @@
1
+ import { __awaiter } from "tslib";
2
+ import { gql } from 'graphql-request';
3
+ const DEFAULT_PAGE_SIZE = 200;
4
+ const GET_WORK_UUIDS = gql `
5
+ query GetWorkUuids($cursor: String, $limit: Int, $filter: WorkFilter) {
6
+ works(cursor: $cursor, limit: $limit, filter: $filter) {
7
+ items {
8
+ uuid
9
+ }
10
+ pageInfo {
11
+ nextCursor
12
+ hasMoreAfter
13
+ }
14
+ }
15
+ }
16
+ `;
17
+ /**
18
+ * Get work UUIDs with optional filtering.
19
+ * @param client - GraphQL client
20
+ * @param filter - Optional filter criteria (e.g., maxPages)
21
+ * @param limit - Optional limit on total results (fetches all pages if not specified)
22
+ */
23
+ export function getTranslationUuids(_a) {
24
+ return __awaiter(this, arguments, void 0, function* ({ client, filter, limit, }) {
25
+ try {
26
+ // Single request - no pagination needed for static params
27
+ const response = yield client.request(GET_WORK_UUIDS, {
28
+ cursor: null,
29
+ limit: limit !== null && limit !== void 0 ? limit : DEFAULT_PAGE_SIZE,
30
+ filter,
31
+ });
32
+ return response.works.items.map((w) => w.uuid);
33
+ }
34
+ catch (error) {
35
+ console.error('Error fetching translation UUIDs:', error);
36
+ return [];
37
+ }
38
+ });
39
+ }
40
+ //# sourceMappingURL=get-translation-uuids.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-translation-uuids.js","sourceRoot":"","sources":["../../../../../libs/client-graphql/src/lib/functions/get-translation-uuids.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAEtC,MAAM,iBAAiB,GAAG,GAAG,CAAC;AAE9B,MAAM,cAAc,GAAG,GAAG,CAAA;;;;;;;;;;;;CAYzB,CAAC;AAgBF;;;;;GAKG;AACH,MAAM,UAAgB,mBAAmB;yDAAC,EACxC,MAAM,EACN,MAAM,EACN,KAAK,GAKN;QACC,IAAI,CAAC;YACH,0DAA0D;YAC1D,MAAM,QAAQ,GACZ,MAAM,MAAM,CAAC,OAAO,CAAuB,cAAc,EAAE;gBACzD,MAAM,EAAE,IAAI;gBACZ,KAAK,EAAE,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,iBAAiB;gBACjC,MAAM;aACP,CAAC,CAAC;YAEL,OAAO,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACjD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,KAAK,CAAC,CAAC;YAC1D,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;CAAA"}
@@ -0,0 +1,9 @@
1
+ import type { GraphQLClient } from 'graphql-request';
2
+ import type { Work } from '@eightyfourthousand/data-access';
3
+ /**
4
+ * Get metadata for all published translation works (fetches all pages).
5
+ */
6
+ export declare function getTranslationsMetadata({ client, limit, }: {
7
+ client: GraphQLClient;
8
+ limit?: number;
9
+ }): Promise<Work[]>;
@@ -0,0 +1,51 @@
1
+ import { __awaiter } from "tslib";
2
+ import { gql } from 'graphql-request';
3
+ import { worksFromGraphQL } from '../mappers';
4
+ const GET_ALL_WORKS = gql `
5
+ query GetAllWorks($cursor: String, $limit: Int) {
6
+ works(cursor: $cursor, limit: $limit) {
7
+ items {
8
+ uuid
9
+ title
10
+ toh
11
+ publicationDate
12
+ publicationVersion
13
+ pages
14
+ restriction
15
+ section
16
+ }
17
+ pageInfo {
18
+ nextCursor
19
+ hasMoreAfter
20
+ }
21
+ }
22
+ }
23
+ `;
24
+ /**
25
+ * Get metadata for all published translation works (fetches all pages).
26
+ */
27
+ export function getTranslationsMetadata(_a) {
28
+ return __awaiter(this, arguments, void 0, function* ({ client, limit = 200, }) {
29
+ try {
30
+ const allWorks = [];
31
+ let cursor = null;
32
+ // Fetch all pages
33
+ do {
34
+ const response = yield client.request(GET_ALL_WORKS, {
35
+ cursor,
36
+ limit,
37
+ });
38
+ allWorks.push(...response.works.items);
39
+ cursor = response.works.pageInfo.hasMoreAfter
40
+ ? response.works.pageInfo.nextCursor
41
+ : null;
42
+ } while (cursor !== null);
43
+ return worksFromGraphQL(allWorks);
44
+ }
45
+ catch (error) {
46
+ console.error('Error fetching translations metadata:', error);
47
+ return [];
48
+ }
49
+ });
50
+ }
51
+ //# sourceMappingURL=get-translations-metadata.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-translations-metadata.js","sourceRoot":"","sources":["../../../../../libs/client-graphql/src/lib/functions/get-translations-metadata.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAEtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE9C,MAAM,aAAa,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;CAmBxB,CAAC;AAuBF;;GAEG;AACH,MAAM,UAAgB,uBAAuB;yDAAC,EAC5C,MAAM,EACN,KAAK,GAAG,GAAG,GAIZ;QACC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAkB,EAAE,CAAC;YACnC,IAAI,MAAM,GAAkB,IAAI,CAAC;YAEjC,kBAAkB;YAClB,GAAG,CAAC;gBACF,MAAM,QAAQ,GACZ,MAAM,MAAM,CAAC,OAAO,CAAsB,aAAa,EAAE;oBACvD,MAAM;oBACN,KAAK;iBACN,CAAC,CAAC;gBAEL,QAAQ,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACvC,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,YAAY;oBAC3C,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU;oBACpC,CAAC,CAAC,IAAI,CAAC;YACX,CAAC,QAAQ,MAAM,KAAK,IAAI,EAAE;YAE1B,OAAO,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QACpC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,uCAAuC,EAAE,KAAK,CAAC,CAAC;YAC9D,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;CAAA"}
@@ -0,0 +1,9 @@
1
+ import type { GraphQLClient } from 'graphql-request';
2
+ import type { BibliographyEntries } from '@eightyfourthousand/data-access';
3
+ /**
4
+ * Get bibliography entries for a specific work.
5
+ */
6
+ export declare function getWorkBibliography({ client, uuid, }: {
7
+ client: GraphQLClient;
8
+ uuid: string;
9
+ }): Promise<BibliographyEntries>;
@@ -0,0 +1,33 @@
1
+ import { __awaiter } from "tslib";
2
+ import { gql } from 'graphql-request';
3
+ const GET_WORK_BIBLIOGRAPHY = gql `
4
+ query GetWorkBibliography($uuid: ID!) {
5
+ work(uuid: $uuid) {
6
+ bibliography {
7
+ heading
8
+ entries {
9
+ uuid
10
+ html
11
+ workUuid
12
+ }
13
+ }
14
+ }
15
+ }
16
+ `;
17
+ /**
18
+ * Get bibliography entries for a specific work.
19
+ */
20
+ export function getWorkBibliography(_a) {
21
+ return __awaiter(this, arguments, void 0, function* ({ client, uuid, }) {
22
+ var _b, _c;
23
+ try {
24
+ const response = yield client.request(GET_WORK_BIBLIOGRAPHY, { uuid });
25
+ return (_c = (_b = response.work) === null || _b === void 0 ? void 0 : _b.bibliography) !== null && _c !== void 0 ? _c : [];
26
+ }
27
+ catch (error) {
28
+ console.error('Error fetching work bibliography:', error);
29
+ return [];
30
+ }
31
+ });
32
+ }
33
+ //# sourceMappingURL=get-work-bibliography.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-work-bibliography.js","sourceRoot":"","sources":["../../../../../libs/client-graphql/src/lib/functions/get-work-bibliography.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAGtC,MAAM,qBAAqB,GAAG,GAAG,CAAA;;;;;;;;;;;;;CAahC,CAAC;AAQF;;GAEG;AACH,MAAM,UAAgB,mBAAmB;yDAAC,EACxC,MAAM,EACN,IAAI,GAIL;;QACC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,OAAO,CACnC,qBAAqB,EACrB,EAAE,IAAI,EAAE,CACT,CAAC;YAEF,OAAO,MAAA,MAAA,QAAQ,CAAC,IAAI,0CAAE,YAAY,mCAAI,EAAE,CAAC;QAC3C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,KAAK,CAAC,CAAC;YAC1D,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;CAAA"}
@@ -0,0 +1,12 @@
1
+ import type { GraphQLClient } from 'graphql-request';
2
+ import type { Folio } from '@eightyfourthousand/data-access';
3
+ /**
4
+ * Get folios for a specific work, filtered by toh and paginated.
5
+ */
6
+ export declare function getWorkFolios({ client, uuid, toh, page, size, }: {
7
+ client: GraphQLClient;
8
+ uuid: string;
9
+ toh: string;
10
+ page?: number;
11
+ size?: number;
12
+ }): Promise<Folio[]>;
@@ -0,0 +1,32 @@
1
+ import { __awaiter } from "tslib";
2
+ import { gql } from 'graphql-request';
3
+ const GET_WORK_FOLIOS = gql `
4
+ query GetWorkFolios($uuid: ID!, $toh: String!, $page: Int, $size: Int) {
5
+ work(uuid: $uuid) {
6
+ folios(toh: $toh, page: $page, size: $size) {
7
+ uuid
8
+ content
9
+ volume
10
+ folio
11
+ side
12
+ }
13
+ }
14
+ }
15
+ `;
16
+ /**
17
+ * Get folios for a specific work, filtered by toh and paginated.
18
+ */
19
+ export function getWorkFolios(_a) {
20
+ return __awaiter(this, arguments, void 0, function* ({ client, uuid, toh, page = 0, size = 10, }) {
21
+ var _b, _c;
22
+ try {
23
+ const response = yield client.request(GET_WORK_FOLIOS, { uuid, toh, page, size });
24
+ return (_c = (_b = response.work) === null || _b === void 0 ? void 0 : _b.folios) !== null && _c !== void 0 ? _c : [];
25
+ }
26
+ catch (error) {
27
+ console.error('Error fetching work folios:', error);
28
+ return [];
29
+ }
30
+ });
31
+ }
32
+ //# sourceMappingURL=get-work-folios.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-work-folios.js","sourceRoot":"","sources":["../../../../../libs/client-graphql/src/lib/functions/get-work-folios.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAGtC,MAAM,eAAe,GAAG,GAAG,CAAA;;;;;;;;;;;;CAY1B,CAAC;AAQF;;GAEG;AACH,MAAM,UAAgB,aAAa;yDAAC,EAClC,MAAM,EACN,IAAI,EACJ,GAAG,EACH,IAAI,GAAG,CAAC,EACR,IAAI,GAAG,EAAE,GAOV;;QACC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,OAAO,CACnC,eAAe,EACf,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,CAC1B,CAAC;YAEF,OAAO,MAAA,MAAA,QAAQ,CAAC,IAAI,0CAAE,MAAM,mCAAI,EAAE,CAAC;QACrC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAAC;YACpD,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;CAAA"}
@@ -0,0 +1,13 @@
1
+ import type { GraphQLClient } from 'graphql-request';
2
+ import type { GlossaryTermsPage } from './get-work-glossary-terms';
3
+ /**
4
+ * Get glossary terms around a specific term UUID.
5
+ * Used for navigating to a glossary entry that hasn't been loaded yet.
6
+ */
7
+ export declare function getWorkGlossaryTermsAround({ client, uuid, termUuid, limit, withAttestations, }: {
8
+ client: GraphQLClient;
9
+ uuid: string;
10
+ termUuid: string;
11
+ limit?: number;
12
+ withAttestations?: boolean;
13
+ }): Promise<GlossaryTermsPage>;
@@ -0,0 +1,95 @@
1
+ import { __awaiter } from "tslib";
2
+ import { gql } from 'graphql-request';
3
+ const GET_WORK_GLOSSARY_TERMS_AROUND = gql `
4
+ query GetWorkGlossaryTermsAround(
5
+ $uuid: ID!
6
+ $cursor: String!
7
+ $limit: Int
8
+ $withAttestations: Boolean
9
+ ) {
10
+ work(uuid: $uuid) {
11
+ glossaryTerms(
12
+ cursor: $cursor
13
+ limit: $limit
14
+ direction: AROUND
15
+ withAttestations: $withAttestations
16
+ ) {
17
+ nodes {
18
+ uuid
19
+ authority
20
+ definition
21
+ termNumber
22
+ names {
23
+ english
24
+ tibetan
25
+ sanskrit
26
+ pali
27
+ chinese
28
+ wylie
29
+ alternatives
30
+ }
31
+ passages(first: 10) {
32
+ items {
33
+ uuid
34
+ type
35
+ label
36
+ }
37
+ nextCursor
38
+ hasMore
39
+ }
40
+ }
41
+ pageInfo {
42
+ nextCursor
43
+ prevCursor
44
+ hasMoreAfter
45
+ hasMoreBefore
46
+ }
47
+ totalCount
48
+ }
49
+ }
50
+ }
51
+ `;
52
+ /**
53
+ * Get glossary terms around a specific term UUID.
54
+ * Used for navigating to a glossary entry that hasn't been loaded yet.
55
+ */
56
+ export function getWorkGlossaryTermsAround(_a) {
57
+ return __awaiter(this, arguments, void 0, function* ({ client, uuid, termUuid, limit, withAttestations = false, }) {
58
+ var _b, _c;
59
+ try {
60
+ const response = yield client.request(GET_WORK_GLOSSARY_TERMS_AROUND, {
61
+ uuid,
62
+ cursor: termUuid,
63
+ limit,
64
+ withAttestations,
65
+ });
66
+ if (!response.work) {
67
+ return {
68
+ terms: [],
69
+ hasMoreAfter: false,
70
+ hasMoreBefore: false,
71
+ totalCount: 0,
72
+ };
73
+ }
74
+ const { glossaryTerms } = response.work;
75
+ return {
76
+ terms: glossaryTerms.nodes,
77
+ nextCursor: (_b = glossaryTerms.pageInfo.nextCursor) !== null && _b !== void 0 ? _b : undefined,
78
+ prevCursor: (_c = glossaryTerms.pageInfo.prevCursor) !== null && _c !== void 0 ? _c : undefined,
79
+ hasMoreAfter: glossaryTerms.pageInfo.hasMoreAfter,
80
+ hasMoreBefore: glossaryTerms.pageInfo.hasMoreBefore,
81
+ totalCount: glossaryTerms.totalCount,
82
+ };
83
+ }
84
+ catch (error) {
85
+ console.error('Error fetching glossary terms around:', error);
86
+ return {
87
+ terms: [],
88
+ hasMoreAfter: false,
89
+ hasMoreBefore: false,
90
+ totalCount: 0,
91
+ };
92
+ }
93
+ });
94
+ }
95
+ //# sourceMappingURL=get-work-glossary-terms-around.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-work-glossary-terms-around.js","sourceRoot":"","sources":["../../../../../libs/client-graphql/src/lib/functions/get-work-glossary-terms-around.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAItC,MAAM,8BAA8B,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgDzC,CAAC;AAiBF;;;GAGG;AACH,MAAM,UAAgB,0BAA0B;yDAAC,EAC/C,MAAM,EACN,IAAI,EACJ,QAAQ,EACR,KAAK,EACL,gBAAgB,GAAG,KAAK,GAOzB;;QACC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,OAAO,CACnC,8BAA8B,EAC9B;gBACE,IAAI;gBACJ,MAAM,EAAE,QAAQ;gBAChB,KAAK;gBACL,gBAAgB;aACjB,CACF,CAAC;YAEF,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACnB,OAAO;oBACL,KAAK,EAAE,EAAE;oBACT,YAAY,EAAE,KAAK;oBACnB,aAAa,EAAE,KAAK;oBACpB,UAAU,EAAE,CAAC;iBACd,CAAC;YACJ,CAAC;YAED,MAAM,EAAE,aAAa,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC;YAExC,OAAO;gBACL,KAAK,EAAE,aAAa,CAAC,KAAK;gBAC1B,UAAU,EAAE,MAAA,aAAa,CAAC,QAAQ,CAAC,UAAU,mCAAI,SAAS;gBAC1D,UAAU,EAAE,MAAA,aAAa,CAAC,QAAQ,CAAC,UAAU,mCAAI,SAAS;gBAC1D,YAAY,EAAE,aAAa,CAAC,QAAQ,CAAC,YAAY;gBACjD,aAAa,EAAE,aAAa,CAAC,QAAQ,CAAC,aAAa;gBACnD,UAAU,EAAE,aAAa,CAAC,UAAU;aACrC,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,uCAAuC,EAAE,KAAK,CAAC,CAAC;YAC9D,OAAO;gBACL,KAAK,EAAE,EAAE;gBACT,YAAY,EAAE,KAAK;gBACnB,aAAa,EAAE,KAAK;gBACpB,UAAU,EAAE,CAAC;aACd,CAAC;QACJ,CAAC;IACH,CAAC;CAAA"}