@eightyfourthousand/client-graphql 2026.4.0 → 2026.4.2

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 +48 -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 +24 -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 +33 -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 +65 -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 +29 -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 +82 -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 +92 -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 +64 -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 +67 -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 +31 -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} +13 -47
  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 +37 -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 +48 -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 +29 -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 +28 -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 +91 -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 +100 -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 +14 -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 +48 -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 +34 -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 +160 -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 +43 -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 +37 -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,100 @@
1
+ import { gql } from 'graphql-request';
2
+ const GET_WORK_GLOSSARY_TERMS = gql `
3
+ query GetWorkGlossaryTerms(
4
+ $uuid: ID!
5
+ $cursor: String
6
+ $limit: Int
7
+ $direction: PaginationDirection
8
+ $withAttestations: Boolean
9
+ ) {
10
+ work(uuid: $uuid) {
11
+ glossaryTerms(
12
+ cursor: $cursor
13
+ limit: $limit
14
+ direction: $direction
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
+ * Map internal pagination direction to GraphQL enum
54
+ */
55
+ function mapDirection(direction) {
56
+ if (!direction)
57
+ return undefined;
58
+ return direction === 'forward' ? 'FORWARD' : 'BACKWARD';
59
+ }
60
+ /**
61
+ * Get paginated glossary terms for a work.
62
+ */
63
+ export async function getWorkGlossaryTerms({ client, uuid, cursor, limit = 50, direction, withAttestations = false, }) {
64
+ try {
65
+ const response = await client.request(GET_WORK_GLOSSARY_TERMS, {
66
+ uuid,
67
+ cursor,
68
+ limit,
69
+ direction: mapDirection(direction),
70
+ withAttestations,
71
+ });
72
+ if (!response.work) {
73
+ return {
74
+ terms: [],
75
+ hasMoreAfter: false,
76
+ hasMoreBefore: false,
77
+ totalCount: 0,
78
+ };
79
+ }
80
+ const { glossaryTerms } = response.work;
81
+ return {
82
+ terms: glossaryTerms.nodes,
83
+ nextCursor: glossaryTerms.pageInfo.nextCursor ?? undefined,
84
+ prevCursor: glossaryTerms.pageInfo.prevCursor ?? undefined,
85
+ hasMoreAfter: glossaryTerms.pageInfo.hasMoreAfter,
86
+ hasMoreBefore: glossaryTerms.pageInfo.hasMoreBefore,
87
+ totalCount: glossaryTerms.totalCount,
88
+ };
89
+ }
90
+ catch (error) {
91
+ console.error('Error fetching work glossary terms:', error);
92
+ return {
93
+ terms: [],
94
+ hasMoreAfter: false,
95
+ hasMoreBefore: false,
96
+ totalCount: 0,
97
+ };
98
+ }
99
+ }
100
+ //# sourceMappingURL=get-work-glossary-terms.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-work-glossary-terms.js","sourceRoot":"","sources":["../../../../../libs/client-graphql/src/lib/functions/get-work-glossary-terms.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAMtC,MAAM,uBAAuB,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiDlC,CAAC;AA6BF;;GAEG;AACH,SAAS,YAAY,CACnB,SAA+B;IAE/B,IAAI,CAAC,SAAS;QAAE,OAAO,SAAS,CAAC;IACjC,OAAO,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC;AAC1D,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,EACzC,MAAM,EACN,IAAI,EACJ,MAAM,EACN,KAAK,GAAG,EAAE,EACV,SAAS,EACT,gBAAgB,GAAG,KAAK,GAQzB;IACC,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,OAAO,CACnC,uBAAuB,EACvB;YACE,IAAI;YACJ,MAAM;YACN,KAAK;YACL,SAAS,EAAE,YAAY,CAAC,SAAS,CAAC;YAClC,gBAAgB;SACjB,CACF,CAAC;QAEF,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnB,OAAO;gBACL,KAAK,EAAE,EAAE;gBACT,YAAY,EAAE,KAAK;gBACnB,aAAa,EAAE,KAAK;gBACpB,UAAU,EAAE,CAAC;aACd,CAAC;QACJ,CAAC;QAED,MAAM,EAAE,aAAa,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC;QAExC,OAAO;YACL,KAAK,EAAE,aAAa,CAAC,KAAK;YAC1B,UAAU,EAAE,aAAa,CAAC,QAAQ,CAAC,UAAU,IAAI,SAAS;YAC1D,UAAU,EAAE,aAAa,CAAC,QAAQ,CAAC,UAAU,IAAI,SAAS;YAC1D,YAAY,EAAE,aAAa,CAAC,QAAQ,CAAC,YAAY;YACjD,aAAa,EAAE,aAAa,CAAC,QAAQ,CAAC,aAAa;YACnD,UAAU,EAAE,aAAa,CAAC,UAAU;SACrC,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,qCAAqC,EAAE,KAAK,CAAC,CAAC;QAC5D,OAAO;YACL,KAAK,EAAE,EAAE;YACT,YAAY,EAAE,KAAK;YACnB,aAAa,EAAE,KAAK;YACpB,UAAU,EAAE,CAAC;SACd,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -0,0 +1,9 @@
1
+ import type { GraphQLClient } from 'graphql-request';
2
+ export type Permission = 'PROJECTS_READ' | 'PROJECTS_EDIT' | 'PROJECTS_ADMIN' | 'EDITOR_READ' | 'EDITOR_EDIT' | 'EDITOR_ADMIN';
3
+ /**
4
+ * Check if the current user has a specific permission
5
+ */
6
+ export declare const hasPermission: ({ client, permission, }: {
7
+ client: GraphQLClient;
8
+ permission: Permission;
9
+ }) => Promise<boolean>;
@@ -0,0 +1,14 @@
1
+ import { gql } from 'graphql-request';
2
+ const HAS_PERMISSION_QUERY = gql `
3
+ query HasPermission($permission: Permission!) {
4
+ hasPermission(permission: $permission)
5
+ }
6
+ `;
7
+ /**
8
+ * Check if the current user has a specific permission
9
+ */
10
+ export const hasPermission = async ({ client, permission, }) => {
11
+ const response = await client.request(HAS_PERMISSION_QUERY, { permission });
12
+ return response.hasPermission;
13
+ };
14
+ //# sourceMappingURL=has-permission.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"has-permission.js","sourceRoot":"","sources":["../../../../../libs/client-graphql/src/lib/functions/has-permission.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAWtC,MAAM,oBAAoB,GAAG,GAAG,CAAA;;;;CAI/B,CAAC;AAMF;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,EAAE,EAClC,MAAM,EACN,UAAU,GAIX,EAAoB,EAAE;IACrB,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,OAAO,CACnC,oBAAoB,EACpB,EAAE,UAAU,EAAE,CACf,CAAC;IACF,OAAO,QAAQ,CAAC,aAAa,CAAC;AAChC,CAAC,CAAC"}
@@ -1,23 +1,14 @@
1
1
  export { getPassage } from './get-passage';
2
- export {
3
- getTranslationBlocks,
4
- type TranslationBlocksPage,
5
- } from './get-translation-blocks';
2
+ export { getTranslationBlocks, type TranslationBlocksPage, } from './get-translation-blocks';
6
3
  export { getTranslationBlocksAround } from './get-translation-blocks-around';
7
4
  export { getTranslationTitles } from './get-translation-titles';
8
- export {
9
- getTranslationMetadataByUuid,
10
- getTranslationMetadataByToh,
11
- } from './get-translation-metadata';
5
+ export { getTranslationMetadataByUuid, getTranslationMetadataByToh, } from './get-translation-metadata';
12
6
  export { getTranslationsMetadata } from './get-translations-metadata';
13
7
  export { getTranslationUuids } from './get-translation-uuids';
14
8
  export { getTranslationToc } from './get-translation-toc';
15
9
  export { getTranslationImprint } from './get-translation-imprint';
16
10
  export { getGlossaryInstance } from './get-glossary-instance';
17
- export {
18
- getWorkGlossaryTerms,
19
- type GlossaryTermsPage,
20
- } from './get-work-glossary-terms';
11
+ export { getWorkGlossaryTerms, type GlossaryTermsPage, } from './get-work-glossary-terms';
21
12
  export { getWorkGlossaryTermsAround } from './get-work-glossary-terms-around';
22
13
  export { getTermPassages, type GlossaryPassagesPage } from './get-term-passages';
23
14
  export { getBibliographyEntry } from './get-bibliography-entry';
@@ -0,0 +1,20 @@
1
+ export { getPassage } from './get-passage';
2
+ export { getTranslationBlocks, } from './get-translation-blocks';
3
+ export { getTranslationBlocksAround } from './get-translation-blocks-around';
4
+ export { getTranslationTitles } from './get-translation-titles';
5
+ export { getTranslationMetadataByUuid, getTranslationMetadataByToh, } from './get-translation-metadata';
6
+ export { getTranslationsMetadata } from './get-translations-metadata';
7
+ export { getTranslationUuids } from './get-translation-uuids';
8
+ export { getTranslationToc } from './get-translation-toc';
9
+ export { getTranslationImprint } from './get-translation-imprint';
10
+ export { getGlossaryInstance } from './get-glossary-instance';
11
+ export { getWorkGlossaryTerms, } from './get-work-glossary-terms';
12
+ export { getWorkGlossaryTermsAround } from './get-work-glossary-terms-around';
13
+ export { getTermPassages } from './get-term-passages';
14
+ export { getBibliographyEntry } from './get-bibliography-entry';
15
+ export { getWorkBibliography } from './get-work-bibliography';
16
+ export { getWorkFolios } from './get-work-folios';
17
+ export { hasPermission } from './has-permission';
18
+ export { replace } from './replace';
19
+ export { savePassages } from './save-passages';
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../libs/client-graphql/src/lib/functions/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EACL,oBAAoB,GAErB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAC7E,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EACL,4BAA4B,EAC5B,2BAA2B,GAC5B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EACL,oBAAoB,GAErB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,0BAA0B,EAAE,MAAM,kCAAkC,CAAC;AAC9E,OAAO,EAAE,eAAe,EAA6B,MAAM,qBAAqB,CAAC;AACjF,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAmB,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAE,OAAO,EAA0C,MAAM,WAAW,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,27 @@
1
+ import type { GraphQLClient } from 'graphql-request';
2
+ import type { TranslationEditorContentItem } from '@eightyfourthousand/data-access';
3
+ export type ReplaceType = 'PASSAGE';
4
+ export interface ReplacedPassage {
5
+ json?: TranslationEditorContentItem | null;
6
+ uuid: string;
7
+ }
8
+ export declare const replace: ({ client, cursorPassageUuid, cursorStart, occurrenceIndex, replaceText, searchText, targetUuids, type, }: {
9
+ client: GraphQLClient;
10
+ occurrenceIndex?: number;
11
+ replaceText: string;
12
+ searchText: string;
13
+ cursorPassageUuid?: string;
14
+ cursorStart?: number;
15
+ targetUuids: string[];
16
+ type?: ReplaceType;
17
+ }) => Promise<{
18
+ deletedAnnotationCount: number;
19
+ error?: string;
20
+ nextOccurrenceStart?: number | null;
21
+ nextPassageUuid?: string | null;
22
+ passages: ReplacedPassage[];
23
+ replacedOccurrenceCount: number;
24
+ success: boolean;
25
+ updatedAnnotationCount: number;
26
+ updatedCount: number;
27
+ }>;
@@ -0,0 +1,48 @@
1
+ import { gql } from 'graphql-request';
2
+ const REPLACE_MUTATION = gql `
3
+ mutation Replace(
4
+ $searchText: String!
5
+ $replaceText: String!
6
+ $targetUuids: [ID!]!
7
+ $type: ReplaceType
8
+ $occurrenceIndex: Int
9
+ $cursorPassageUuid: ID
10
+ $cursorStart: Int
11
+ ) {
12
+ replace(
13
+ searchText: $searchText
14
+ replaceText: $replaceText
15
+ targetUuids: $targetUuids
16
+ type: $type
17
+ occurrenceIndex: $occurrenceIndex
18
+ cursorPassageUuid: $cursorPassageUuid
19
+ cursorStart: $cursorStart
20
+ ) {
21
+ success
22
+ updatedCount
23
+ replacedOccurrenceCount
24
+ updatedAnnotationCount
25
+ deletedAnnotationCount
26
+ nextPassageUuid
27
+ nextOccurrenceStart
28
+ error
29
+ passages {
30
+ uuid
31
+ json
32
+ }
33
+ }
34
+ }
35
+ `;
36
+ export const replace = async ({ client, cursorPassageUuid, cursorStart, occurrenceIndex, replaceText, searchText, targetUuids, type = 'PASSAGE', }) => {
37
+ const response = await client.request(REPLACE_MUTATION, {
38
+ searchText,
39
+ replaceText,
40
+ targetUuids,
41
+ type,
42
+ occurrenceIndex,
43
+ cursorPassageUuid,
44
+ cursorStart,
45
+ });
46
+ return response.replace;
47
+ };
48
+ //# sourceMappingURL=replace.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"replace.js","sourceRoot":"","sources":["../../../../../libs/client-graphql/src/lib/functions/replace.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAwBtC,MAAM,gBAAgB,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiC3B,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAG,KAAK,EAAE,EAC5B,MAAM,EACN,iBAAiB,EACjB,WAAW,EACX,eAAe,EACf,WAAW,EACX,UAAU,EACV,WAAW,EACX,IAAI,GAAG,SAAS,GAUjB,EAAE,EAAE;IACH,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,OAAO,CAAkB,gBAAgB,EAAE;QACvE,UAAU;QACV,WAAW;QACX,WAAW;QACX,IAAI;QACJ,eAAe;QACf,iBAAiB;QACjB,WAAW;KACZ,CAAC,CAAC;IAEH,OAAO,QAAQ,CAAC,OAAO,CAAC;AAC1B,CAAC,CAAC"}
@@ -0,0 +1,16 @@
1
+ import type { GraphQLClient } from 'graphql-request';
2
+ import type { Passage } from '@eightyfourthousand/data-access';
3
+ /**
4
+ * Save one or more passages via GraphQL mutation.
5
+ * Requires editor.edit permission.
6
+ */
7
+ export declare const savePassages: ({ client, passages, deletedUuids, }: {
8
+ client: GraphQLClient;
9
+ passages: Passage[];
10
+ deletedUuids?: string[];
11
+ }) => Promise<{
12
+ success: boolean;
13
+ savedCount: number;
14
+ deletedCount?: number;
15
+ error?: string;
16
+ }>;
@@ -0,0 +1,34 @@
1
+ import { gql } from 'graphql-request';
2
+ const SAVE_PASSAGES_MUTATION = gql `
3
+ mutation SavePassages($passages: [PassageInput!]!, $deletedUuids: [ID!]) {
4
+ savePassages(passages: $passages, deletedUuids: $deletedUuids) {
5
+ success
6
+ savedCount
7
+ deletedCount
8
+ error
9
+ }
10
+ }
11
+ `;
12
+ /**
13
+ * Convert a Passage to the GraphQL input format
14
+ */
15
+ const passageToInput = (passage) => ({
16
+ uuid: passage.uuid,
17
+ workUuid: passage.workUuid,
18
+ content: passage.content,
19
+ label: passage.label,
20
+ sort: passage.sort,
21
+ type: passage.type,
22
+ xmlId: passage.xmlId,
23
+ annotations: passage.annotations,
24
+ });
25
+ /**
26
+ * Save one or more passages via GraphQL mutation.
27
+ * Requires editor.edit permission.
28
+ */
29
+ export const savePassages = async ({ client, passages, deletedUuids, }) => {
30
+ const passageInputs = passages.map(passageToInput);
31
+ const response = await client.request(SAVE_PASSAGES_MUTATION, { passages: passageInputs, deletedUuids });
32
+ return response.savePassages;
33
+ };
34
+ //# sourceMappingURL=save-passages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"save-passages.js","sourceRoot":"","sources":["../../../../../libs/client-graphql/src/lib/functions/save-passages.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAGtC,MAAM,sBAAsB,GAAG,GAAG,CAAA;;;;;;;;;CASjC,CAAC;AAsBF;;GAEG;AACH,MAAM,cAAc,GAAG,CAAC,OAAgB,EAAgB,EAAE,CAAC,CAAC;IAC1D,IAAI,EAAE,OAAO,CAAC,IAAI;IAClB,QAAQ,EAAE,OAAO,CAAC,QAAQ;IAC1B,OAAO,EAAE,OAAO,CAAC,OAAO;IACxB,KAAK,EAAE,OAAO,CAAC,KAAK;IACpB,IAAI,EAAE,OAAO,CAAC,IAAI;IAClB,IAAI,EAAE,OAAO,CAAC,IAAI;IAClB,KAAK,EAAE,OAAO,CAAC,KAAK;IACpB,WAAW,EAAE,OAAO,CAAC,WAAW;CACjC,CAAC,CAAC;AAEH;;;GAGG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,EAAE,EACjC,MAAM,EACN,QAAQ,EACR,YAAY,GAKb,EAKE,EAAE;IACH,MAAM,aAAa,GAAG,QAAQ,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAEnD,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,OAAO,CACnC,sBAAsB,EACtB,EAAE,QAAQ,EAAE,aAAa,EAAE,YAAY,EAAE,CAC1C,CAAC;IAEF,OAAO,QAAQ,CAAC,YAAY,CAAC;AAC/B,CAAC,CAAC"}