@eightyfourthousand/data-access 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 (345) hide show
  1. package/index.js +18 -0
  2. package/index.js.map +1 -0
  3. package/lib/auth.d.ts +59 -0
  4. package/lib/auth.js +134 -0
  5. package/lib/auth.js.map +1 -0
  6. package/lib/bibliography.d.ts +9 -0
  7. package/lib/bibliography.js +30 -0
  8. package/lib/bibliography.js.map +1 -0
  9. package/lib/client-browser.d.ts +1 -0
  10. package/lib/client-browser.js +10 -0
  11. package/lib/client-browser.js.map +1 -0
  12. package/lib/client-server.d.ts +4 -0
  13. package/lib/client-server.js +19 -0
  14. package/lib/client-server.js.map +1 -0
  15. package/lib/client-ssr.d.ts +1 -0
  16. package/lib/client-ssr.js +23 -0
  17. package/lib/client-ssr.js.map +1 -0
  18. package/lib/client-token.d.ts +7 -0
  19. package/lib/client-token.js +21 -0
  20. package/lib/client-token.js.map +1 -0
  21. package/lib/feedback.d.ts +6 -0
  22. package/lib/feedback.js +45 -0
  23. package/lib/feedback.js.map +1 -0
  24. package/lib/folio.d.ts +11 -0
  25. package/lib/folio.js +31 -0
  26. package/lib/folio.js.map +1 -0
  27. package/lib/glossary/batch.d.ts +5 -0
  28. package/lib/glossary/batch.js +22 -0
  29. package/lib/glossary/batch.js.map +1 -0
  30. package/lib/glossary/index.js +5 -0
  31. package/lib/glossary/index.js.map +1 -0
  32. package/lib/glossary/instance.d.ts +10 -0
  33. package/lib/glossary/instance.js +28 -0
  34. package/lib/glossary/instance.js.map +1 -0
  35. package/lib/glossary/landing.d.ts +5 -0
  36. package/lib/glossary/landing.js +32 -0
  37. package/lib/glossary/landing.js.map +1 -0
  38. package/lib/glossary/pagination.d.ts +55 -0
  39. package/lib/glossary/pagination.js +254 -0
  40. package/lib/glossary/pagination.js.map +1 -0
  41. package/lib/imprint.d.ts +10 -0
  42. package/lib/imprint.js +23 -0
  43. package/lib/imprint.js.map +1 -0
  44. package/lib/library.d.ts +58 -0
  45. package/lib/library.js +118 -0
  46. package/lib/library.js.map +1 -0
  47. package/lib/local-storage.d.ts +10 -0
  48. package/lib/local-storage.js +25 -0
  49. package/lib/local-storage.js.map +1 -0
  50. package/lib/lookup-entity.d.ts +7 -0
  51. package/lib/lookup-entity.js +93 -0
  52. package/lib/lookup-entity.js.map +1 -0
  53. package/lib/panel-url.d.ts +10 -0
  54. package/lib/panel-url.js +23 -0
  55. package/lib/panel-url.js.map +1 -0
  56. package/lib/passage/batch.d.ts +17 -0
  57. package/lib/passage/batch.js +155 -0
  58. package/lib/passage/batch.js.map +1 -0
  59. package/lib/passage/index.js +6 -0
  60. package/lib/passage/index.js.map +1 -0
  61. package/lib/passage/pagination.d.ts +43 -0
  62. package/lib/passage/pagination.js +167 -0
  63. package/lib/passage/pagination.js.map +1 -0
  64. package/lib/passage/read.d.ts +15 -0
  65. package/lib/passage/read.js +59 -0
  66. package/lib/passage/read.js.map +1 -0
  67. package/lib/passage/replace-persistence.d.ts +46 -0
  68. package/lib/passage/replace-persistence.js +93 -0
  69. package/lib/passage/replace-persistence.js.map +1 -0
  70. package/lib/passage/save.d.ts +16 -0
  71. package/lib/passage/save.js +227 -0
  72. package/lib/passage/save.js.map +1 -0
  73. package/lib/proxy.d.ts +7 -0
  74. package/lib/proxy.js +45 -0
  75. package/lib/proxy.js.map +1 -0
  76. package/lib/publications.d.ts +86 -0
  77. package/lib/publications.js +223 -0
  78. package/lib/publications.js.map +1 -0
  79. package/lib/replace.d.ts +31 -0
  80. package/lib/replace.js +151 -0
  81. package/lib/replace.js.map +1 -0
  82. package/lib/storage.d.ts +7 -0
  83. package/lib/storage.js +10 -0
  84. package/lib/storage.js.map +1 -0
  85. package/lib/types/alignment.d.ts +18 -0
  86. package/lib/types/alignment.js +13 -0
  87. package/lib/types/alignment.js.map +1 -0
  88. package/lib/types/annotation/abbreviation.d.ts +3 -0
  89. package/lib/types/annotation/abbreviation.js +20 -0
  90. package/lib/types/annotation/abbreviation.js.map +1 -0
  91. package/lib/types/annotation/annotation-type.d.ts +31 -0
  92. package/lib/types/annotation/annotation-type.js +81 -0
  93. package/lib/types/annotation/annotation-type.js.map +1 -0
  94. package/lib/types/annotation/annotation.d.ts +142 -0
  95. package/lib/types/annotation/annotation.js +23 -0
  96. package/lib/types/annotation/annotation.js.map +1 -0
  97. package/lib/types/annotation/audio.d.ts +3 -0
  98. package/lib/types/annotation/audio.js +24 -0
  99. package/lib/types/annotation/audio.js.map +1 -0
  100. package/lib/types/annotation/blockquote.d.ts +3 -0
  101. package/lib/types/annotation/blockquote.js +8 -0
  102. package/lib/types/annotation/blockquote.js.map +1 -0
  103. package/lib/types/annotation/code.d.ts +3 -0
  104. package/lib/types/annotation/code.js +8 -0
  105. package/lib/types/annotation/code.js.map +1 -0
  106. package/lib/types/annotation/deprecated.d.ts +3 -0
  107. package/lib/types/annotation/deprecated.js +8 -0
  108. package/lib/types/annotation/deprecated.js.map +1 -0
  109. package/lib/types/annotation/end-note-link.d.ts +3 -0
  110. package/lib/types/annotation/end-note-link.js +23 -0
  111. package/lib/types/annotation/end-note-link.js.map +1 -0
  112. package/lib/types/annotation/export.d.ts +3 -0
  113. package/{src/lib/types/annotation/export.ts → lib/types/annotation/export.js} +34 -36
  114. package/lib/types/annotation/export.js.map +1 -0
  115. package/lib/types/annotation/glossary-instance.d.ts +3 -0
  116. package/lib/types/annotation/glossary-instance.js +23 -0
  117. package/lib/types/annotation/glossary-instance.js.map +1 -0
  118. package/lib/types/annotation/has-abbreviation.d.ts +3 -0
  119. package/lib/types/annotation/has-abbreviation.js +20 -0
  120. package/lib/types/annotation/has-abbreviation.js.map +1 -0
  121. package/lib/types/annotation/heading.d.ts +3 -0
  122. package/lib/types/annotation/heading.js +26 -0
  123. package/lib/types/annotation/heading.js.map +1 -0
  124. package/lib/types/annotation/image.d.ts +3 -0
  125. package/lib/types/annotation/image.js +20 -0
  126. package/lib/types/annotation/image.js.map +1 -0
  127. package/lib/types/annotation/indent.d.ts +3 -0
  128. package/lib/types/annotation/indent.js +8 -0
  129. package/lib/types/annotation/indent.js.map +1 -0
  130. package/lib/types/annotation/index.js +5 -0
  131. package/lib/types/annotation/index.js.map +1 -0
  132. package/lib/types/annotation/inline-title.d.ts +3 -0
  133. package/lib/types/annotation/inline-title.js +21 -0
  134. package/lib/types/annotation/inline-title.js.map +1 -0
  135. package/lib/types/annotation/internal-link.d.ts +3 -0
  136. package/lib/types/annotation/internal-link.js +62 -0
  137. package/lib/types/annotation/internal-link.js.map +1 -0
  138. package/lib/types/annotation/leading-space.d.ts +3 -0
  139. package/lib/types/annotation/leading-space.js +8 -0
  140. package/lib/types/annotation/leading-space.js.map +1 -0
  141. package/lib/types/annotation/line-group.d.ts +3 -0
  142. package/lib/types/annotation/line-group.js +8 -0
  143. package/lib/types/annotation/line-group.js.map +1 -0
  144. package/lib/types/annotation/line.d.ts +3 -0
  145. package/lib/types/annotation/line.js +8 -0
  146. package/lib/types/annotation/line.js.map +1 -0
  147. package/lib/types/annotation/link.d.ts +3 -0
  148. package/lib/types/annotation/link.js +27 -0
  149. package/lib/types/annotation/link.js.map +1 -0
  150. package/lib/types/annotation/list-item.d.ts +3 -0
  151. package/lib/types/annotation/list-item.js +8 -0
  152. package/lib/types/annotation/list-item.js.map +1 -0
  153. package/lib/types/annotation/list.d.ts +3 -0
  154. package/lib/types/annotation/list.js +31 -0
  155. package/lib/types/annotation/list.js.map +1 -0
  156. package/lib/types/annotation/mantra.d.ts +3 -0
  157. package/lib/types/annotation/mantra.js +21 -0
  158. package/lib/types/annotation/mantra.js.map +1 -0
  159. package/lib/types/annotation/mention.d.ts +3 -0
  160. package/lib/types/annotation/mention.js +50 -0
  161. package/lib/types/annotation/mention.js.map +1 -0
  162. package/lib/types/annotation/paragraph.d.ts +3 -0
  163. package/lib/types/annotation/paragraph.js +8 -0
  164. package/lib/types/annotation/paragraph.js.map +1 -0
  165. package/lib/types/annotation/quote.d.ts +3 -0
  166. package/lib/types/annotation/quote.js +21 -0
  167. package/lib/types/annotation/quote.js.map +1 -0
  168. package/lib/types/annotation/quoted.d.ts +3 -0
  169. package/lib/types/annotation/quoted.js +21 -0
  170. package/lib/types/annotation/quoted.js.map +1 -0
  171. package/lib/types/annotation/reference.d.ts +3 -0
  172. package/lib/types/annotation/reference.js +8 -0
  173. package/lib/types/annotation/reference.js.map +1 -0
  174. package/lib/types/annotation/span.d.ts +3 -0
  175. package/lib/types/annotation/span.js +29 -0
  176. package/lib/types/annotation/span.js.map +1 -0
  177. package/lib/types/annotation/table-body-data.d.ts +3 -0
  178. package/lib/types/annotation/table-body-data.js +8 -0
  179. package/lib/types/annotation/table-body-data.js.map +1 -0
  180. package/lib/types/annotation/table-body-header.d.ts +3 -0
  181. package/lib/types/annotation/table-body-header.js +8 -0
  182. package/lib/types/annotation/table-body-header.js.map +1 -0
  183. package/lib/types/annotation/table-body-row.d.ts +3 -0
  184. package/lib/types/annotation/table-body-row.js +8 -0
  185. package/lib/types/annotation/table-body-row.js.map +1 -0
  186. package/lib/types/annotation/table.d.ts +3 -0
  187. package/lib/types/annotation/table.js +8 -0
  188. package/lib/types/annotation/table.js.map +1 -0
  189. package/lib/types/annotation/trailer.d.ts +3 -0
  190. package/lib/types/annotation/trailer.js +8 -0
  191. package/lib/types/annotation/trailer.js.map +1 -0
  192. package/lib/types/annotation/transform.d.ts +6 -0
  193. package/lib/types/annotation/transform.js +109 -0
  194. package/lib/types/annotation/transform.js.map +1 -0
  195. package/lib/types/annotation/unknown.d.ts +3 -0
  196. package/lib/types/annotation/unknown.js +8 -0
  197. package/lib/types/annotation/unknown.js.map +1 -0
  198. package/lib/types/bibliography.d.ts +41 -0
  199. package/lib/types/bibliography.js +29 -0
  200. package/lib/types/bibliography.js.map +1 -0
  201. package/{src/lib/types/client.ts → lib/types/client.d.ts} +0 -1
  202. package/lib/types/client.js +2 -0
  203. package/lib/types/client.js.map +1 -0
  204. package/{src/lib/types/editor-content.ts → lib/types/editor-content.d.ts} +7 -11
  205. package/lib/types/editor-content.js +2 -0
  206. package/lib/types/editor-content.js.map +1 -0
  207. package/lib/types/folio.d.ts +17 -0
  208. package/lib/types/folio.js +11 -0
  209. package/lib/types/folio.js.map +1 -0
  210. package/lib/types/glossary-page.d.ts +48 -0
  211. package/lib/types/glossary-page.js +21 -0
  212. package/lib/types/glossary-page.js.map +1 -0
  213. package/lib/types/glossary.d.ts +76 -0
  214. package/lib/types/glossary.js +32 -0
  215. package/lib/types/glossary.js.map +1 -0
  216. package/lib/types/imprint.d.ts +78 -0
  217. package/lib/types/imprint.js +78 -0
  218. package/lib/types/imprint.js.map +1 -0
  219. package/lib/types/index.js +20 -0
  220. package/lib/types/index.js.map +1 -0
  221. package/lib/types/language.d.ts +9 -0
  222. package/lib/types/language.js +41 -0
  223. package/lib/types/language.js.map +1 -0
  224. package/lib/types/layout.d.ts +5 -0
  225. package/lib/types/layout.js +23 -0
  226. package/lib/types/layout.js.map +1 -0
  227. package/lib/types/library.d.ts +19 -0
  228. package/lib/types/library.js +8 -0
  229. package/lib/types/library.js.map +1 -0
  230. package/lib/types/passage.d.ts +73 -0
  231. package/lib/types/passage.js +123 -0
  232. package/lib/types/passage.js.map +1 -0
  233. package/lib/types/semver.js +2 -0
  234. package/lib/types/semver.js.map +1 -0
  235. package/lib/types/title.d.ts +21 -0
  236. package/lib/types/title.js +21 -0
  237. package/lib/types/title.js.map +1 -0
  238. package/lib/types/toh.js +2 -0
  239. package/lib/types/toh.js.map +1 -0
  240. package/{src/lib/types/translation.ts → lib/types/translation.d.ts} +5 -7
  241. package/lib/types/translation.js +2 -0
  242. package/lib/types/translation.js.map +1 -0
  243. package/{src/lib/types/user.ts → lib/types/user.d.ts} +2 -11
  244. package/lib/types/user.js +9 -0
  245. package/lib/types/user.js.map +1 -0
  246. package/lib/types/work.d.ts +37 -0
  247. package/lib/types/work.js +12 -0
  248. package/lib/types/work.js.map +1 -0
  249. package/lib/use-bookmark.d.ts +10 -0
  250. package/lib/use-bookmark.js +30 -0
  251. package/lib/use-bookmark.js.map +1 -0
  252. package/package.json +25 -3
  253. package/ssr.js +6 -0
  254. package/ssr.js.map +1 -0
  255. package/.babelrc +0 -12
  256. package/.eslintrc.json +0 -18
  257. package/README.md +0 -9
  258. package/jest.config.ts +0 -10
  259. package/project.json +0 -21
  260. package/src/lib/auth.ts +0 -203
  261. package/src/lib/bibliography.ts +0 -57
  262. package/src/lib/client-browser.ts +0 -12
  263. package/src/lib/client-server.ts +0 -30
  264. package/src/lib/client-ssr.ts +0 -24
  265. package/src/lib/client-token.ts +0 -24
  266. package/src/lib/feedback.ts +0 -71
  267. package/src/lib/folio.ts +0 -57
  268. package/src/lib/glossary/batch.ts +0 -35
  269. package/src/lib/glossary/instance.ts +0 -54
  270. package/src/lib/glossary/landing.ts +0 -50
  271. package/src/lib/glossary/pagination.ts +0 -471
  272. package/src/lib/imprint.ts +0 -42
  273. package/src/lib/library.ts +0 -209
  274. package/src/lib/local-storage.ts +0 -33
  275. package/src/lib/lookup-entity.ts +0 -122
  276. package/src/lib/panel-url.ts +0 -43
  277. package/src/lib/passage/batch.ts +0 -229
  278. package/src/lib/passage/pagination.ts +0 -277
  279. package/src/lib/passage/read.ts +0 -100
  280. package/src/lib/passage/replace-persistence.ts +0 -153
  281. package/src/lib/passage/save.ts +0 -324
  282. package/src/lib/proxy.ts +0 -68
  283. package/src/lib/publications.ts +0 -381
  284. package/src/lib/replace.spec.ts +0 -154
  285. package/src/lib/replace.ts +0 -244
  286. package/src/lib/storage.ts +0 -23
  287. package/src/lib/types/alignment.ts +0 -32
  288. package/src/lib/types/annotation/abbreviation.ts +0 -30
  289. package/src/lib/types/annotation/annotation-type.ts +0 -219
  290. package/src/lib/types/annotation/annotation.ts +0 -244
  291. package/src/lib/types/annotation/audio.ts +0 -33
  292. package/src/lib/types/annotation/blockquote.ts +0 -18
  293. package/src/lib/types/annotation/code.ts +0 -16
  294. package/src/lib/types/annotation/deprecated.ts +0 -18
  295. package/src/lib/types/annotation/end-note-link.ts +0 -35
  296. package/src/lib/types/annotation/glossary-instance.ts +0 -34
  297. package/src/lib/types/annotation/has-abbreviation.ts +0 -30
  298. package/src/lib/types/annotation/heading.ts +0 -37
  299. package/src/lib/types/annotation/image.ts +0 -29
  300. package/src/lib/types/annotation/indent.ts +0 -16
  301. package/src/lib/types/annotation/inline-title.ts +0 -34
  302. package/src/lib/types/annotation/internal-link.ts +0 -86
  303. package/src/lib/types/annotation/leading-space.ts +0 -18
  304. package/src/lib/types/annotation/line-group.ts +0 -18
  305. package/src/lib/types/annotation/line.ts +0 -16
  306. package/src/lib/types/annotation/link.ts +0 -38
  307. package/src/lib/types/annotation/list-item.ts +0 -16
  308. package/src/lib/types/annotation/list.ts +0 -43
  309. package/src/lib/types/annotation/mantra.ts +0 -31
  310. package/src/lib/types/annotation/mention.ts +0 -64
  311. package/src/lib/types/annotation/paragraph.ts +0 -18
  312. package/src/lib/types/annotation/quote.ts +0 -30
  313. package/src/lib/types/annotation/quoted.ts +0 -30
  314. package/src/lib/types/annotation/reference.ts +0 -18
  315. package/src/lib/types/annotation/span.ts +0 -39
  316. package/src/lib/types/annotation/table-body-data.ts +0 -18
  317. package/src/lib/types/annotation/table-body-header.ts +0 -18
  318. package/src/lib/types/annotation/table-body-row.ts +0 -18
  319. package/src/lib/types/annotation/table.ts +0 -16
  320. package/src/lib/types/annotation/trailer.ts +0 -16
  321. package/src/lib/types/annotation/transform.ts +0 -140
  322. package/src/lib/types/annotation/unknown.ts +0 -16
  323. package/src/lib/types/bibliography.ts +0 -86
  324. package/src/lib/types/folio.ts +0 -28
  325. package/src/lib/types/glossary-page.ts +0 -86
  326. package/src/lib/types/glossary.ts +0 -115
  327. package/src/lib/types/imprint.ts +0 -159
  328. package/src/lib/types/language.ts +0 -64
  329. package/src/lib/types/layout.ts +0 -37
  330. package/src/lib/types/library.ts +0 -29
  331. package/src/lib/types/passage.ts +0 -220
  332. package/src/lib/types/title.ts +0 -47
  333. package/src/lib/types/work.ts +0 -38
  334. package/src/lib/use-bookmark.ts +0 -45
  335. package/tsconfig.json +0 -20
  336. package/tsconfig.lib.json +0 -26
  337. package/tsconfig.spec.json +0 -22
  338. /package/{src/index.ts → index.d.ts} +0 -0
  339. /package/{src/lib/glossary/index.ts → lib/glossary/index.d.ts} +0 -0
  340. /package/{src/lib/passage/index.ts → lib/passage/index.d.ts} +0 -0
  341. /package/{src/lib/types/annotation/index.ts → lib/types/annotation/index.d.ts} +0 -0
  342. /package/{src/lib/types/index.ts → lib/types/index.d.ts} +0 -0
  343. /package/{src/lib/types/semver.ts → lib/types/semver.d.ts} +0 -0
  344. /package/{src/lib/types/toh.ts → lib/types/toh.d.ts} +0 -0
  345. /package/{src/ssr.ts → ssr.d.ts} +0 -0
@@ -0,0 +1,109 @@
1
+ import { baseAnnotationFromDTO, } from './annotation';
2
+ import { ANNOTATIONS_TO_IGNORE } from './annotation-type';
3
+ import { transformer as abbreviation } from './abbreviation';
4
+ import { transformer as audio } from './audio';
5
+ import { transformer as blockquote } from './blockquote';
6
+ import { transformer as code } from './code';
7
+ import { transformer as deprecated } from './deprecated';
8
+ import { transformer as endNoteLink } from './end-note-link';
9
+ import { transformer as glossaryInstance } from './glossary-instance';
10
+ import { transformer as hasAbbreviation } from './has-abbreviation';
11
+ import { transformer as heading } from './heading';
12
+ import { transformer as image } from './image';
13
+ import { transformer as indent } from './indent';
14
+ import { transformer as inlineTitle } from './inline-title';
15
+ import { transformer as internalLink } from './internal-link';
16
+ import { transformer as leadingSpace } from './leading-space';
17
+ import { transformer as line } from './line';
18
+ import { transformer as lineGroup } from './line-group';
19
+ import { transformer as link } from './link';
20
+ import { transformer as list } from './list';
21
+ import { transformer as listItem } from './list-item';
22
+ import { transformer as mantra } from './mantra';
23
+ import { transformer as mention } from './mention';
24
+ import { transformer as paragraph } from './paragraph';
25
+ import { transformer as quote } from './quote';
26
+ import { transformer as quoted } from './quoted';
27
+ import { transformer as reference } from './reference';
28
+ import { transformer as span } from './span';
29
+ import { transformer as trailer } from './trailer';
30
+ import { transformer as table } from './table';
31
+ import { transformer as tableBodyData } from './table-body-data';
32
+ import { transformer as tableBodyHeader } from './table-body-header';
33
+ import { transformer as tableBodyRow } from './table-body-row';
34
+ import { transformer as unknown } from './unknown';
35
+ import { annotationToDtoMap } from './export';
36
+ const dtoToAnnotationMap = {
37
+ abbreviation,
38
+ audio,
39
+ blockquote,
40
+ code,
41
+ 'deprecated-internal-link': deprecated,
42
+ 'end-note-link': endNoteLink,
43
+ 'glossary-instance': glossaryInstance,
44
+ 'has-abbreviation': hasAbbreviation,
45
+ heading,
46
+ image,
47
+ indent,
48
+ 'inline-title': inlineTitle,
49
+ 'internal-link': internalLink,
50
+ 'leading-space': leadingSpace,
51
+ line,
52
+ 'line-group': lineGroup,
53
+ link,
54
+ list,
55
+ 'list-item': listItem,
56
+ mantra,
57
+ mention,
58
+ paragraph,
59
+ quote,
60
+ quoted,
61
+ reference,
62
+ span,
63
+ table,
64
+ 'table-body-data': tableBodyData,
65
+ 'table-body-header': tableBodyHeader,
66
+ 'table-body-row': tableBodyRow,
67
+ trailer,
68
+ unknown,
69
+ };
70
+ export const annotationFromDTO = (dto, passageLength) => {
71
+ const annotation = dtoToAnnotationMap[dto.type]?.(dto);
72
+ if (!annotation) {
73
+ console.warn(`Unknown annotation type: ${dto.type}`);
74
+ console.warn(dto);
75
+ return {
76
+ ...baseAnnotationFromDTO(dto),
77
+ type: 'unknown',
78
+ };
79
+ }
80
+ if (annotation.start < 0 ||
81
+ annotation.start > passageLength ||
82
+ annotation.end < 0 ||
83
+ annotation.end > passageLength) {
84
+ annotation.validated = false;
85
+ }
86
+ if (!annotation.validated) {
87
+ console.warn(`Invalid annotation range for annotation ${annotation.uuid} (${annotation.start}, ${annotation.end}) in passage of length ${passageLength}`);
88
+ }
89
+ return annotation;
90
+ };
91
+ export const annotationsFromDTO = (dto, passageLength) => {
92
+ const filtered = dto?.filter((a) => !ANNOTATIONS_TO_IGNORE.includes(a.type)) || [];
93
+ return filtered.map((a) => annotationFromDTO(a, passageLength || 0));
94
+ };
95
+ export const annotationToDTO = (annotation) => {
96
+ const dto = annotationToDtoMap[annotation.type]?.(annotation);
97
+ if (!dto) {
98
+ console.warn(`Unknown annotation type: ${annotation.type}`);
99
+ console.warn(annotation);
100
+ return;
101
+ }
102
+ return dto;
103
+ };
104
+ export const annotationsToDTO = (annotations) => {
105
+ return annotations
106
+ .map(annotationToDTO)
107
+ .filter((a) => a !== undefined);
108
+ };
109
+ //# sourceMappingURL=transform.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transform.js","sourceRoot":"","sources":["../../../../../../libs/data-access/src/lib/types/annotation/transform.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { type AnnotationExporter, type AnnotationTransformer } from './annotation';
2
+ export declare const transformer: AnnotationTransformer;
3
+ export declare const exporter: AnnotationExporter;
@@ -0,0 +1,8 @@
1
+ import { baseAnnotationFromDTO, baseAnnotationToDto, } from './annotation';
2
+ export const transformer = (dto) => {
3
+ return baseAnnotationFromDTO(dto);
4
+ };
5
+ export const exporter = (annotation) => {
6
+ return baseAnnotationToDto(annotation);
7
+ };
8
+ //# sourceMappingURL=unknown.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unknown.js","sourceRoot":"","sources":["../../../../../../libs/data-access/src/lib/types/annotation/unknown.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,cAAc,CAAC;AAEtB,MAAM,CAAC,MAAM,WAAW,GAA0B,CAAC,GAAG,EAAqB,EAAE;IAC3E,OAAO,qBAAqB,CAAC,GAAG,CAAsB,CAAC;AACzD,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAuB,CAAC,UAAU,EAAiB,EAAE;IACxE,OAAO,mBAAmB,CAAC,UAAU,CAAC,CAAC;AACzC,CAAC,CAAC"}
@@ -0,0 +1,41 @@
1
+ export type BibliographyItem = {
2
+ content?: string | null;
3
+ title: string;
4
+ uuid: string;
5
+ year: string;
6
+ publisher: string;
7
+ };
8
+ export type Bibliography = BibliographyItem[];
9
+ export type BibliographyItemDTO = {
10
+ content?: string | null;
11
+ title: string;
12
+ uuid: string;
13
+ year: string;
14
+ publisher: string;
15
+ };
16
+ export type BibliographyDTO = BibliographyItemDTO[];
17
+ export declare const bibliographyItemFromDTO: (dto: BibliographyItemDTO) => BibliographyItem;
18
+ export type BibliographyEntryItemDTO = {
19
+ uuid: string;
20
+ bibl_html: string;
21
+ work_uuid?: string;
22
+ };
23
+ export type BibliographyEntryItem = {
24
+ uuid: string;
25
+ html: string;
26
+ workUuid?: string;
27
+ };
28
+ export type BlibliographyEntryDTO = {
29
+ heading?: string;
30
+ entries: BibliographyEntryItemDTO[];
31
+ };
32
+ export type BibliographyEntry = {
33
+ heading?: string;
34
+ entries: BibliographyEntryItem[];
35
+ };
36
+ export type BibliographyEntriesDTO = BlibliographyEntryDTO[];
37
+ export type BibliographyEntries = BibliographyEntry[];
38
+ export declare const bibliographyEntryItemFromDTO: (dto: BibliographyEntryItemDTO) => BibliographyEntryItem;
39
+ export declare const bibliographyEntryFromDTO: (dto: BlibliographyEntryDTO) => BibliographyEntry;
40
+ export declare const bibliographyEntriesFromDTO: (dtos: BibliographyEntriesDTO) => BibliographyEntries;
41
+ export declare const bibliographyFromDTO: (dto?: BibliographyDTO) => Bibliography;
@@ -0,0 +1,29 @@
1
+ export const bibliographyItemFromDTO = (dto) => {
2
+ return {
3
+ content: dto.content,
4
+ title: dto.title,
5
+ uuid: dto.uuid,
6
+ year: dto.year,
7
+ publisher: dto.publisher,
8
+ };
9
+ };
10
+ export const bibliographyEntryItemFromDTO = (dto) => {
11
+ return {
12
+ uuid: dto.uuid,
13
+ html: dto.bibl_html,
14
+ workUuid: dto.work_uuid,
15
+ };
16
+ };
17
+ export const bibliographyEntryFromDTO = (dto) => {
18
+ return {
19
+ heading: dto.heading,
20
+ entries: dto.entries?.map(bibliographyEntryItemFromDTO) || [],
21
+ };
22
+ };
23
+ export const bibliographyEntriesFromDTO = (dtos) => {
24
+ return dtos?.map(bibliographyEntryFromDTO) || [];
25
+ };
26
+ export const bibliographyFromDTO = (dto) => {
27
+ return dto?.map(bibliographyItemFromDTO) || [];
28
+ };
29
+ //# sourceMappingURL=bibliography.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bibliography.js","sourceRoot":"","sources":["../../../../../libs/data-access/src/lib/types/bibliography.ts"],"names":[],"mappings":"AAoBA,MAAM,CAAC,MAAM,uBAAuB,GAAG,CACrC,GAAwB,EACN,EAAE;IACpB,OAAO;QACL,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,SAAS,EAAE,GAAG,CAAC,SAAS;KACzB,CAAC;AACJ,CAAC,CAAC;AA4BF,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAC1C,GAA6B,EACN,EAAE;IACzB,OAAO;QACL,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,IAAI,EAAE,GAAG,CAAC,SAAS;QACnB,QAAQ,EAAE,GAAG,CAAC,SAAS;KACxB,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAG,CACtC,GAA0B,EACP,EAAE;IACrB,OAAO;QACL,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,4BAA4B,CAAC,IAAI,EAAE;KAC9D,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAAG,CACxC,IAA4B,EACP,EAAE;IACvB,OAAO,IAAI,EAAE,GAAG,CAAC,wBAAwB,CAAC,IAAI,EAAE,CAAC;AACnD,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,GAAqB,EAAgB,EAAE;IACzE,OAAO,GAAG,EAAE,GAAG,CAAC,uBAAuB,CAAC,IAAI,EAAE,CAAC;AACjD,CAAC,CAAC"}
@@ -1,3 +1,2 @@
1
1
  import { SupabaseClient } from '@supabase/supabase-js';
2
-
3
2
  export type DataClient = SupabaseClient;
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../../../libs/data-access/src/lib/types/client.ts"],"names":[],"mappings":""}
@@ -1,21 +1,17 @@
1
1
  import type { JSONContent } from '@tiptap/core';
2
-
3
2
  /**
4
3
  * TipTap editor content item with 84000-specific attributes.
5
4
  * Used for passage blocks in the translation editor and reader.
6
5
  */
7
6
  export type TranslationEditorContentItem = JSONContent & {
8
- attrs?: {
9
- uuid?: string | null;
10
- class?: string | null;
11
- type?: string | null;
12
- sort?: number | null;
13
- };
7
+ attrs?: {
8
+ uuid?: string | null;
9
+ class?: string | null;
10
+ type?: string | null;
11
+ sort?: number | null;
12
+ };
14
13
  };
15
-
16
14
  /**
17
15
  * TipTap editor content - either a single item or array of items.
18
16
  */
19
- export type TranslationEditorContent =
20
- | TranslationEditorContentItem[]
21
- | TranslationEditorContentItem;
17
+ export type TranslationEditorContent = TranslationEditorContentItem[] | TranslationEditorContentItem;
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=editor-content.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"editor-content.js","sourceRoot":"","sources":["../../../../../libs/data-access/src/lib/types/editor-content.ts"],"names":[],"mappings":""}
@@ -0,0 +1,17 @@
1
+ export declare const FOLIO_SIDES: readonly ["a", "b"];
2
+ export type FolioSide = (typeof FOLIO_SIDES)[number];
3
+ export type FolioDTO = {
4
+ folio_uuid: string;
5
+ content?: string;
6
+ volume_number: number;
7
+ folio_number: number;
8
+ side: FolioSide;
9
+ };
10
+ export type Folio = {
11
+ uuid: string;
12
+ content: string;
13
+ volume: number;
14
+ folio: number;
15
+ side: FolioSide;
16
+ };
17
+ export declare const folioFromDTO: (dto: FolioDTO) => Folio;
@@ -0,0 +1,11 @@
1
+ export const FOLIO_SIDES = ['a', 'b'];
2
+ export const folioFromDTO = (dto) => {
3
+ return {
4
+ uuid: dto.folio_uuid,
5
+ content: dto.content || '',
6
+ volume: dto.volume_number,
7
+ folio: dto.folio_number,
8
+ side: dto.side,
9
+ };
10
+ };
11
+ //# sourceMappingURL=folio.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"folio.js","sourceRoot":"","sources":["../../../../../libs/data-access/src/lib/types/folio.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,GAAG,EAAE,GAAG,CAAU,CAAC;AAmB/C,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,GAAa,EAAS,EAAE;IACnD,OAAO;QACL,IAAI,EAAE,GAAG,CAAC,UAAU;QACpB,OAAO,EAAE,GAAG,CAAC,OAAO,IAAI,EAAE;QAC1B,MAAM,EAAE,GAAG,CAAC,aAAa;QACzB,KAAK,EAAE,GAAG,CAAC,YAAY;QACvB,IAAI,EAAE,GAAG,CAAC,IAAI;KACf,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,48 @@
1
+ import { TohokuCatalogEntry } from './toh';
2
+ import { ExtendedTranslationLanguage } from './language';
3
+ export type GlossaryPageLanguage = 'english' | 'tibetan' | 'sanskrit' | 'pali' | 'chinese';
4
+ export type GlossaryLandingItem = {
5
+ uuid: string;
6
+ headword: string;
7
+ type: string;
8
+ language: string;
9
+ nameVariants: string;
10
+ definition: string;
11
+ numGlossaryEntries: number;
12
+ };
13
+ export type LanguageRecord = Record<GlossaryPageLanguage, string[]>;
14
+ export type GlossaryDetailItem = LanguageRecord & {
15
+ authorityUuid: string;
16
+ headword: string;
17
+ language: GlossaryPageLanguage;
18
+ classifications: string[];
19
+ definition?: string;
20
+ xmlId?: string;
21
+ };
22
+ export type GlossaryPageItem = GlossaryDetailItem & {
23
+ relatedInstances: GlossaryInstance[];
24
+ relatedEntities: GlossaryEntity[];
25
+ };
26
+ export type GlossaryInstance = LanguageRecord & {
27
+ workUuid: string;
28
+ toh: TohokuCatalogEntry;
29
+ definition?: string;
30
+ canon?: string;
31
+ creators: string[];
32
+ };
33
+ export type GlossaryEntity = {
34
+ sourceHeadword: string;
35
+ sourceUuid: string;
36
+ targetHeadword: string;
37
+ targetUuid: string;
38
+ };
39
+ export type GlossaryLandingItemDTO = {
40
+ authority_uuid: string;
41
+ headword: string;
42
+ type: string;
43
+ headword_language?: ExtendedTranslationLanguage;
44
+ name_variants?: string;
45
+ definition?: string;
46
+ num_glossary_entries?: number;
47
+ };
48
+ export declare const glossaryLandingItemFromDTO: (dto?: GlossaryLandingItemDTO) => GlossaryLandingItem | null;
@@ -0,0 +1,21 @@
1
+ import { removeHtmlTags } from '@eightyfourthousand/lib-utils';
2
+ import { displayLanguageForTranslationLanguage, } from './language';
3
+ export const glossaryLandingItemFromDTO = (dto) => {
4
+ if (!dto) {
5
+ return null;
6
+ }
7
+ const definition = removeHtmlTags(dto.definition || '');
8
+ const language = dto.headword_language
9
+ ? displayLanguageForTranslationLanguage(dto.headword_language)
10
+ : '';
11
+ return {
12
+ uuid: dto.authority_uuid,
13
+ headword: dto.headword,
14
+ type: dto.type.replace('Authority > ', ''),
15
+ language,
16
+ nameVariants: dto.name_variants || '',
17
+ definition,
18
+ numGlossaryEntries: dto.num_glossary_entries || 0,
19
+ };
20
+ };
21
+ //# sourceMappingURL=glossary-page.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"glossary-page.js","sourceRoot":"","sources":["../../../../../libs/data-access/src/lib/types/glossary-page.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAE/D,OAAO,EAEL,qCAAqC,GACtC,MAAM,YAAY,CAAC;AA2DpB,MAAM,CAAC,MAAM,0BAA0B,GAAG,CACxC,GAA4B,EACA,EAAE;IAC9B,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,UAAU,GAAG,cAAc,CAAC,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;IACxD,MAAM,QAAQ,GAAG,GAAG,CAAC,iBAAiB;QACpC,CAAC,CAAC,qCAAqC,CAAC,GAAG,CAAC,iBAAiB,CAAC;QAC9D,CAAC,CAAC,EAAE,CAAC;IAEP,OAAO;QACL,IAAI,EAAE,GAAG,CAAC,cAAc;QACxB,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC;QAC1C,QAAQ;QACR,YAAY,EAAE,GAAG,CAAC,aAAa,IAAI,EAAE;QACrC,UAAU;QACV,kBAAkB,EAAE,GAAG,CAAC,oBAAoB,IAAI,CAAC;KAClD,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,76 @@
1
+ export type GlossaryItem = {
2
+ authorityUuid: string;
3
+ definition?: string | null;
4
+ names: GlossaryNames;
5
+ nameUuid?: string;
6
+ };
7
+ export type Glossary = GlossaryItem[];
8
+ export type GlossaryName = {
9
+ content: string;
10
+ definition?: string | null;
11
+ nameUuid: string;
12
+ };
13
+ export type GlossaryNames = GlossaryName[];
14
+ export type GlossaryItemDTO = {
15
+ authority_uuid: string;
16
+ definition?: string | null;
17
+ names: GlossaryNamesDTO;
18
+ name_uuid: string;
19
+ };
20
+ export type GlossaryDTO = GlossaryItemDTO[];
21
+ export type GlossaryNameDTO = {
22
+ content: string;
23
+ definition?: string | null;
24
+ name_uuid: string;
25
+ };
26
+ export type GlossaryNamesDTO = GlossaryNameDTO[];
27
+ export type GlossaryTermInstance = {
28
+ uuid: string;
29
+ authority: string;
30
+ workUuid: string;
31
+ definition?: string | null;
32
+ termNumber: number;
33
+ names: {
34
+ chinese?: string;
35
+ english?: string;
36
+ pali?: string;
37
+ sanskrit?: string;
38
+ tibetan?: string;
39
+ wylie?: string;
40
+ alternatives?: string;
41
+ };
42
+ passages?: {
43
+ items: Array<{
44
+ uuid: string;
45
+ type: string;
46
+ label: string;
47
+ }>;
48
+ nextCursor: string | null;
49
+ hasMore: boolean;
50
+ };
51
+ };
52
+ export type GlossaryTermInstances = GlossaryTermInstance[];
53
+ export type GlossaryTermInstanceDTO = {
54
+ uuid: string;
55
+ authority_uuid: string;
56
+ work_uuid: string;
57
+ definition?: string;
58
+ names: {
59
+ chinese?: string;
60
+ english?: string;
61
+ pali?: string;
62
+ sanskrit?: string;
63
+ tibetan?: string;
64
+ wylie?: string;
65
+ alternatives?: string;
66
+ };
67
+ };
68
+ export type GlossaryTermInstancesDTO = {
69
+ work_uuid: string;
70
+ glossary_entries: GlossaryTermInstanceDTO[];
71
+ };
72
+ export declare const glossaryNameFromDTO: (dto: GlossaryNameDTO) => GlossaryName;
73
+ export declare const glossaryNamesFromDTO: (dto?: GlossaryNamesDTO) => GlossaryNames;
74
+ export declare const glossaryItemFromDTO: (dto: GlossaryItemDTO) => GlossaryItem;
75
+ export declare const glossaryFromDTO: (dto?: GlossaryDTO) => Glossary;
76
+ export declare const glossaryTermInstanceFromDTO: (dto: GlossaryTermInstanceDTO) => GlossaryTermInstance;
@@ -0,0 +1,32 @@
1
+ export const glossaryNameFromDTO = (dto) => {
2
+ return {
3
+ content: dto.content,
4
+ definition: dto.definition,
5
+ nameUuid: dto.name_uuid,
6
+ };
7
+ };
8
+ export const glossaryNamesFromDTO = (dto) => {
9
+ return dto?.map(glossaryNameFromDTO) || [];
10
+ };
11
+ export const glossaryItemFromDTO = (dto) => {
12
+ return {
13
+ authorityUuid: dto.authority_uuid,
14
+ definition: dto.definition,
15
+ names: glossaryNamesFromDTO(dto.names),
16
+ nameUuid: dto.name_uuid,
17
+ };
18
+ };
19
+ export const glossaryFromDTO = (dto) => {
20
+ return dto?.map(glossaryItemFromDTO) || [];
21
+ };
22
+ export const glossaryTermInstanceFromDTO = (dto) => {
23
+ return {
24
+ uuid: dto.uuid,
25
+ authority: dto.authority_uuid,
26
+ workUuid: dto.work_uuid,
27
+ definition: dto.definition,
28
+ termNumber: 0,
29
+ names: dto.names,
30
+ };
31
+ };
32
+ //# sourceMappingURL=glossary.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"glossary.js","sourceRoot":"","sources":["../../../../../libs/data-access/src/lib/types/glossary.ts"],"names":[],"mappings":"AA+EA,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,GAAoB,EAAgB,EAAE;IACxE,OAAO;QACL,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,UAAU,EAAE,GAAG,CAAC,UAAU;QAC1B,QAAQ,EAAE,GAAG,CAAC,SAAS;KACxB,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,GAAsB,EAAiB,EAAE;IAC5E,OAAO,GAAG,EAAE,GAAG,CAAC,mBAAmB,CAAC,IAAI,EAAE,CAAC;AAC7C,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,GAAoB,EAAgB,EAAE;IACxE,OAAO;QACL,aAAa,EAAE,GAAG,CAAC,cAAc;QACjC,UAAU,EAAE,GAAG,CAAC,UAAU;QAC1B,KAAK,EAAE,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC;QACtC,QAAQ,EAAE,GAAG,CAAC,SAAS;KACxB,CAAC;AACJ,CAAC,CAAC;AACF,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,GAAiB,EAAY,EAAE;IAC7D,OAAO,GAAG,EAAE,GAAG,CAAC,mBAAmB,CAAC,IAAI,EAAE,CAAC;AAC7C,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,2BAA2B,GAAG,CACzC,GAA4B,EACN,EAAE;IACxB,OAAO;QACL,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,SAAS,EAAE,GAAG,CAAC,cAAc;QAC7B,QAAQ,EAAE,GAAG,CAAC,SAAS;QACvB,UAAU,EAAE,GAAG,CAAC,UAAU;QAC1B,UAAU,EAAE,CAAC;QACb,KAAK,EAAE,GAAG,CAAC,KAAK;KACjB,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,78 @@
1
+ import { TranslationLanguage } from './language';
2
+ import { SemVer } from './semver';
3
+ export type Imprint = {
4
+ uuid: string;
5
+ toh: string;
6
+ section?: string;
7
+ version?: SemVer;
8
+ restriction?: boolean;
9
+ publishYear?: string;
10
+ tibetanAuthors?: string[];
11
+ isAuthorContested: boolean;
12
+ sourceDescription?: string;
13
+ publisherStatement?: string;
14
+ tibetanTranslators?: string;
15
+ license: {
16
+ link?: string;
17
+ name?: string;
18
+ description?: string;
19
+ };
20
+ mainTitles?: Partial<{
21
+ [key in TranslationLanguage]: string;
22
+ }>;
23
+ longTitles?: Partial<{
24
+ [key in TranslationLanguage]: string;
25
+ }>;
26
+ };
27
+ export type ImprintDTO = {
28
+ work_uuid: string;
29
+ toh: string;
30
+ section?: string;
31
+ version?: SemVer;
32
+ restriction?: boolean;
33
+ publishYear?: string;
34
+ tibetanAuthors?: string;
35
+ isAuthorContested?: boolean;
36
+ sourceDescription?: string;
37
+ publisherStatement?: string;
38
+ tibetanTranslators?: string;
39
+ license: {
40
+ link?: string;
41
+ name?: string;
42
+ description?: string;
43
+ };
44
+ mainTitles?: Partial<{
45
+ [key in TranslationLanguage]: string;
46
+ }>;
47
+ longTitles?: Partial<{
48
+ [key in TranslationLanguage]: string;
49
+ }>;
50
+ };
51
+ export declare const imprintFromDTO: (dto: ImprintDTO) => Imprint;
52
+ declare const ALL_SECTIONS: string[];
53
+ export type TranslationSection = (typeof ALL_SECTIONS)[number];
54
+ export type TocEntryDTO = {
55
+ uuid: string;
56
+ content: string;
57
+ label?: string;
58
+ sort: number;
59
+ section: TranslationSection;
60
+ level: number;
61
+ };
62
+ export type TocDTO = TocEntryDTO[];
63
+ export type TocEntry = {
64
+ uuid: string;
65
+ content: string;
66
+ label?: string;
67
+ sort: number;
68
+ level: number;
69
+ section: TranslationSection;
70
+ children: TocEntry[];
71
+ };
72
+ export type Toc = {
73
+ frontMatter: TocEntry[];
74
+ body: TocEntry[];
75
+ backMatter: TocEntry[];
76
+ };
77
+ export declare const tocFromDTO: (dto: TocDTO) => Toc;
78
+ export {};
@@ -0,0 +1,78 @@
1
+ import { BACK_MATTER, BODY_MATTER, FRONT_MATTER } from './passage';
2
+ export const imprintFromDTO = (dto) => {
3
+ return {
4
+ uuid: dto.work_uuid,
5
+ toh: dto.toh,
6
+ section: dto.section,
7
+ version: dto.version,
8
+ restriction: dto.restriction,
9
+ publishYear: dto.publishYear,
10
+ tibetanAuthors: dto.tibetanAuthors
11
+ ?.split(',')
12
+ .map((author) => author.trim())
13
+ .filter((author) => author.length > 0),
14
+ isAuthorContested: dto.isAuthorContested || false,
15
+ sourceDescription: dto.sourceDescription,
16
+ publisherStatement: dto.publisherStatement,
17
+ tibetanTranslators: dto.tibetanTranslators,
18
+ license: {
19
+ ...dto.license,
20
+ },
21
+ mainTitles: dto.mainTitles,
22
+ longTitles: dto.longTitles,
23
+ };
24
+ };
25
+ const ALL_SECTIONS = [...FRONT_MATTER, ...BODY_MATTER, ...BACK_MATTER];
26
+ export const tocFromDTO = (dto) => {
27
+ // map by front matter, body matter, back matter based on constants above
28
+ const frontMatter = [];
29
+ const bodyMatter = [];
30
+ const backMatter = [];
31
+ const sectionMap = {
32
+ abbreviations: backMatter,
33
+ acknowledgment: frontMatter,
34
+ appendix: bodyMatter,
35
+ colophon: bodyMatter,
36
+ endnotes: backMatter,
37
+ homage: bodyMatter,
38
+ introduction: frontMatter,
39
+ prelude: bodyMatter,
40
+ prologue: bodyMatter,
41
+ summary: frontMatter,
42
+ translation: bodyMatter,
43
+ };
44
+ dto.forEach((entry) => {
45
+ const tocEntry = {
46
+ ...entry,
47
+ children: [],
48
+ };
49
+ sectionMap[entry.section].push(tocEntry);
50
+ });
51
+ // within each section, create a hierarchy based on level from low to high
52
+ const buildHierarchy = (entries) => {
53
+ const root = {
54
+ uuid: 'root',
55
+ content: '',
56
+ sort: 0,
57
+ level: 0,
58
+ section: 'introduction',
59
+ children: [],
60
+ };
61
+ const stack = [root];
62
+ entries.sort((a, b) => a.sort - b.sort);
63
+ entries.forEach((entry) => {
64
+ while (stack.length > 1 && entry.level <= stack[stack.length - 1].level) {
65
+ stack.pop();
66
+ }
67
+ stack[stack.length - 1].children.push(entry);
68
+ stack.push(entry);
69
+ });
70
+ return root.children;
71
+ };
72
+ return {
73
+ frontMatter: buildHierarchy(frontMatter),
74
+ body: buildHierarchy(bodyMatter),
75
+ backMatter: buildHierarchy(backMatter),
76
+ };
77
+ };
78
+ //# sourceMappingURL=imprint.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"imprint.js","sourceRoot":"","sources":["../../../../../libs/data-access/src/lib/types/imprint.ts"],"names":[],"mappings":"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"}