@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.
- package/index.js +18 -0
- package/index.js.map +1 -0
- package/lib/auth.d.ts +59 -0
- package/lib/auth.js +134 -0
- package/lib/auth.js.map +1 -0
- package/lib/bibliography.d.ts +9 -0
- package/lib/bibliography.js +30 -0
- package/lib/bibliography.js.map +1 -0
- package/lib/client-browser.d.ts +1 -0
- package/lib/client-browser.js +10 -0
- package/lib/client-browser.js.map +1 -0
- package/lib/client-server.d.ts +4 -0
- package/lib/client-server.js +19 -0
- package/lib/client-server.js.map +1 -0
- package/lib/client-ssr.d.ts +1 -0
- package/lib/client-ssr.js +23 -0
- package/lib/client-ssr.js.map +1 -0
- package/lib/client-token.d.ts +7 -0
- package/lib/client-token.js +21 -0
- package/lib/client-token.js.map +1 -0
- package/lib/feedback.d.ts +6 -0
- package/lib/feedback.js +45 -0
- package/lib/feedback.js.map +1 -0
- package/lib/folio.d.ts +11 -0
- package/lib/folio.js +31 -0
- package/lib/folio.js.map +1 -0
- package/lib/glossary/batch.d.ts +5 -0
- package/lib/glossary/batch.js +22 -0
- package/lib/glossary/batch.js.map +1 -0
- package/lib/glossary/index.js +5 -0
- package/lib/glossary/index.js.map +1 -0
- package/lib/glossary/instance.d.ts +10 -0
- package/lib/glossary/instance.js +28 -0
- package/lib/glossary/instance.js.map +1 -0
- package/lib/glossary/landing.d.ts +5 -0
- package/lib/glossary/landing.js +32 -0
- package/lib/glossary/landing.js.map +1 -0
- package/lib/glossary/pagination.d.ts +55 -0
- package/lib/glossary/pagination.js +254 -0
- package/lib/glossary/pagination.js.map +1 -0
- package/lib/imprint.d.ts +10 -0
- package/lib/imprint.js +23 -0
- package/lib/imprint.js.map +1 -0
- package/lib/library.d.ts +58 -0
- package/lib/library.js +118 -0
- package/lib/library.js.map +1 -0
- package/lib/local-storage.d.ts +10 -0
- package/lib/local-storage.js +25 -0
- package/lib/local-storage.js.map +1 -0
- package/lib/lookup-entity.d.ts +7 -0
- package/lib/lookup-entity.js +93 -0
- package/lib/lookup-entity.js.map +1 -0
- package/lib/panel-url.d.ts +10 -0
- package/lib/panel-url.js +23 -0
- package/lib/panel-url.js.map +1 -0
- package/lib/passage/batch.d.ts +17 -0
- package/lib/passage/batch.js +155 -0
- package/lib/passage/batch.js.map +1 -0
- package/lib/passage/index.js +6 -0
- package/lib/passage/index.js.map +1 -0
- package/lib/passage/pagination.d.ts +43 -0
- package/lib/passage/pagination.js +167 -0
- package/lib/passage/pagination.js.map +1 -0
- package/lib/passage/read.d.ts +15 -0
- package/lib/passage/read.js +59 -0
- package/lib/passage/read.js.map +1 -0
- package/lib/passage/replace-persistence.d.ts +46 -0
- package/lib/passage/replace-persistence.js +93 -0
- package/lib/passage/replace-persistence.js.map +1 -0
- package/lib/passage/save.d.ts +16 -0
- package/lib/passage/save.js +227 -0
- package/lib/passage/save.js.map +1 -0
- package/lib/proxy.d.ts +7 -0
- package/lib/proxy.js +45 -0
- package/lib/proxy.js.map +1 -0
- package/lib/publications.d.ts +86 -0
- package/lib/publications.js +223 -0
- package/lib/publications.js.map +1 -0
- package/lib/replace.d.ts +31 -0
- package/lib/replace.js +151 -0
- package/lib/replace.js.map +1 -0
- package/lib/storage.d.ts +7 -0
- package/lib/storage.js +10 -0
- package/lib/storage.js.map +1 -0
- package/lib/types/alignment.d.ts +18 -0
- package/lib/types/alignment.js +13 -0
- package/lib/types/alignment.js.map +1 -0
- package/lib/types/annotation/abbreviation.d.ts +3 -0
- package/lib/types/annotation/abbreviation.js +20 -0
- package/lib/types/annotation/abbreviation.js.map +1 -0
- package/lib/types/annotation/annotation-type.d.ts +31 -0
- package/lib/types/annotation/annotation-type.js +81 -0
- package/lib/types/annotation/annotation-type.js.map +1 -0
- package/lib/types/annotation/annotation.d.ts +142 -0
- package/lib/types/annotation/annotation.js +23 -0
- package/lib/types/annotation/annotation.js.map +1 -0
- package/lib/types/annotation/audio.d.ts +3 -0
- package/lib/types/annotation/audio.js +24 -0
- package/lib/types/annotation/audio.js.map +1 -0
- package/lib/types/annotation/blockquote.d.ts +3 -0
- package/lib/types/annotation/blockquote.js +8 -0
- package/lib/types/annotation/blockquote.js.map +1 -0
- package/lib/types/annotation/code.d.ts +3 -0
- package/lib/types/annotation/code.js +8 -0
- package/lib/types/annotation/code.js.map +1 -0
- package/lib/types/annotation/deprecated.d.ts +3 -0
- package/lib/types/annotation/deprecated.js +8 -0
- package/lib/types/annotation/deprecated.js.map +1 -0
- package/lib/types/annotation/end-note-link.d.ts +3 -0
- package/lib/types/annotation/end-note-link.js +23 -0
- package/lib/types/annotation/end-note-link.js.map +1 -0
- package/lib/types/annotation/export.d.ts +3 -0
- package/{src/lib/types/annotation/export.ts → lib/types/annotation/export.js} +34 -36
- package/lib/types/annotation/export.js.map +1 -0
- package/lib/types/annotation/glossary-instance.d.ts +3 -0
- package/lib/types/annotation/glossary-instance.js +23 -0
- package/lib/types/annotation/glossary-instance.js.map +1 -0
- package/lib/types/annotation/has-abbreviation.d.ts +3 -0
- package/lib/types/annotation/has-abbreviation.js +20 -0
- package/lib/types/annotation/has-abbreviation.js.map +1 -0
- package/lib/types/annotation/heading.d.ts +3 -0
- package/lib/types/annotation/heading.js +26 -0
- package/lib/types/annotation/heading.js.map +1 -0
- package/lib/types/annotation/image.d.ts +3 -0
- package/lib/types/annotation/image.js +20 -0
- package/lib/types/annotation/image.js.map +1 -0
- package/lib/types/annotation/indent.d.ts +3 -0
- package/lib/types/annotation/indent.js +8 -0
- package/lib/types/annotation/indent.js.map +1 -0
- package/lib/types/annotation/index.js +5 -0
- package/lib/types/annotation/index.js.map +1 -0
- package/lib/types/annotation/inline-title.d.ts +3 -0
- package/lib/types/annotation/inline-title.js +21 -0
- package/lib/types/annotation/inline-title.js.map +1 -0
- package/lib/types/annotation/internal-link.d.ts +3 -0
- package/lib/types/annotation/internal-link.js +62 -0
- package/lib/types/annotation/internal-link.js.map +1 -0
- package/lib/types/annotation/leading-space.d.ts +3 -0
- package/lib/types/annotation/leading-space.js +8 -0
- package/lib/types/annotation/leading-space.js.map +1 -0
- package/lib/types/annotation/line-group.d.ts +3 -0
- package/lib/types/annotation/line-group.js +8 -0
- package/lib/types/annotation/line-group.js.map +1 -0
- package/lib/types/annotation/line.d.ts +3 -0
- package/lib/types/annotation/line.js +8 -0
- package/lib/types/annotation/line.js.map +1 -0
- package/lib/types/annotation/link.d.ts +3 -0
- package/lib/types/annotation/link.js +27 -0
- package/lib/types/annotation/link.js.map +1 -0
- package/lib/types/annotation/list-item.d.ts +3 -0
- package/lib/types/annotation/list-item.js +8 -0
- package/lib/types/annotation/list-item.js.map +1 -0
- package/lib/types/annotation/list.d.ts +3 -0
- package/lib/types/annotation/list.js +31 -0
- package/lib/types/annotation/list.js.map +1 -0
- package/lib/types/annotation/mantra.d.ts +3 -0
- package/lib/types/annotation/mantra.js +21 -0
- package/lib/types/annotation/mantra.js.map +1 -0
- package/lib/types/annotation/mention.d.ts +3 -0
- package/lib/types/annotation/mention.js +50 -0
- package/lib/types/annotation/mention.js.map +1 -0
- package/lib/types/annotation/paragraph.d.ts +3 -0
- package/lib/types/annotation/paragraph.js +8 -0
- package/lib/types/annotation/paragraph.js.map +1 -0
- package/lib/types/annotation/quote.d.ts +3 -0
- package/lib/types/annotation/quote.js +21 -0
- package/lib/types/annotation/quote.js.map +1 -0
- package/lib/types/annotation/quoted.d.ts +3 -0
- package/lib/types/annotation/quoted.js +21 -0
- package/lib/types/annotation/quoted.js.map +1 -0
- package/lib/types/annotation/reference.d.ts +3 -0
- package/lib/types/annotation/reference.js +8 -0
- package/lib/types/annotation/reference.js.map +1 -0
- package/lib/types/annotation/span.d.ts +3 -0
- package/lib/types/annotation/span.js +29 -0
- package/lib/types/annotation/span.js.map +1 -0
- package/lib/types/annotation/table-body-data.d.ts +3 -0
- package/lib/types/annotation/table-body-data.js +8 -0
- package/lib/types/annotation/table-body-data.js.map +1 -0
- package/lib/types/annotation/table-body-header.d.ts +3 -0
- package/lib/types/annotation/table-body-header.js +8 -0
- package/lib/types/annotation/table-body-header.js.map +1 -0
- package/lib/types/annotation/table-body-row.d.ts +3 -0
- package/lib/types/annotation/table-body-row.js +8 -0
- package/lib/types/annotation/table-body-row.js.map +1 -0
- package/lib/types/annotation/table.d.ts +3 -0
- package/lib/types/annotation/table.js +8 -0
- package/lib/types/annotation/table.js.map +1 -0
- package/lib/types/annotation/trailer.d.ts +3 -0
- package/lib/types/annotation/trailer.js +8 -0
- package/lib/types/annotation/trailer.js.map +1 -0
- package/lib/types/annotation/transform.d.ts +6 -0
- package/lib/types/annotation/transform.js +109 -0
- package/lib/types/annotation/transform.js.map +1 -0
- package/lib/types/annotation/unknown.d.ts +3 -0
- package/lib/types/annotation/unknown.js +8 -0
- package/lib/types/annotation/unknown.js.map +1 -0
- package/lib/types/bibliography.d.ts +41 -0
- package/lib/types/bibliography.js +29 -0
- package/lib/types/bibliography.js.map +1 -0
- package/{src/lib/types/client.ts → lib/types/client.d.ts} +0 -1
- package/lib/types/client.js +2 -0
- package/lib/types/client.js.map +1 -0
- package/{src/lib/types/editor-content.ts → lib/types/editor-content.d.ts} +7 -11
- package/lib/types/editor-content.js +2 -0
- package/lib/types/editor-content.js.map +1 -0
- package/lib/types/folio.d.ts +17 -0
- package/lib/types/folio.js +11 -0
- package/lib/types/folio.js.map +1 -0
- package/lib/types/glossary-page.d.ts +48 -0
- package/lib/types/glossary-page.js +21 -0
- package/lib/types/glossary-page.js.map +1 -0
- package/lib/types/glossary.d.ts +76 -0
- package/lib/types/glossary.js +32 -0
- package/lib/types/glossary.js.map +1 -0
- package/lib/types/imprint.d.ts +78 -0
- package/lib/types/imprint.js +78 -0
- package/lib/types/imprint.js.map +1 -0
- package/lib/types/index.js +20 -0
- package/lib/types/index.js.map +1 -0
- package/lib/types/language.d.ts +9 -0
- package/lib/types/language.js +41 -0
- package/lib/types/language.js.map +1 -0
- package/lib/types/layout.d.ts +5 -0
- package/lib/types/layout.js +23 -0
- package/lib/types/layout.js.map +1 -0
- package/lib/types/library.d.ts +19 -0
- package/lib/types/library.js +8 -0
- package/lib/types/library.js.map +1 -0
- package/lib/types/passage.d.ts +73 -0
- package/lib/types/passage.js +123 -0
- package/lib/types/passage.js.map +1 -0
- package/lib/types/semver.js +2 -0
- package/lib/types/semver.js.map +1 -0
- package/lib/types/title.d.ts +21 -0
- package/lib/types/title.js +21 -0
- package/lib/types/title.js.map +1 -0
- package/lib/types/toh.js +2 -0
- package/lib/types/toh.js.map +1 -0
- package/{src/lib/types/translation.ts → lib/types/translation.d.ts} +5 -7
- package/lib/types/translation.js +2 -0
- package/lib/types/translation.js.map +1 -0
- package/{src/lib/types/user.ts → lib/types/user.d.ts} +2 -11
- package/lib/types/user.js +9 -0
- package/lib/types/user.js.map +1 -0
- package/lib/types/work.d.ts +37 -0
- package/lib/types/work.js +12 -0
- package/lib/types/work.js.map +1 -0
- package/lib/use-bookmark.d.ts +10 -0
- package/lib/use-bookmark.js +30 -0
- package/lib/use-bookmark.js.map +1 -0
- package/package.json +25 -3
- package/ssr.js +6 -0
- package/ssr.js.map +1 -0
- package/.babelrc +0 -12
- package/.eslintrc.json +0 -18
- package/README.md +0 -9
- package/jest.config.ts +0 -10
- package/project.json +0 -21
- package/src/lib/auth.ts +0 -203
- package/src/lib/bibliography.ts +0 -57
- package/src/lib/client-browser.ts +0 -12
- package/src/lib/client-server.ts +0 -30
- package/src/lib/client-ssr.ts +0 -24
- package/src/lib/client-token.ts +0 -24
- package/src/lib/feedback.ts +0 -71
- package/src/lib/folio.ts +0 -57
- package/src/lib/glossary/batch.ts +0 -35
- package/src/lib/glossary/instance.ts +0 -54
- package/src/lib/glossary/landing.ts +0 -50
- package/src/lib/glossary/pagination.ts +0 -471
- package/src/lib/imprint.ts +0 -42
- package/src/lib/library.ts +0 -209
- package/src/lib/local-storage.ts +0 -33
- package/src/lib/lookup-entity.ts +0 -122
- package/src/lib/panel-url.ts +0 -43
- package/src/lib/passage/batch.ts +0 -229
- package/src/lib/passage/pagination.ts +0 -277
- package/src/lib/passage/read.ts +0 -100
- package/src/lib/passage/replace-persistence.ts +0 -153
- package/src/lib/passage/save.ts +0 -324
- package/src/lib/proxy.ts +0 -68
- package/src/lib/publications.ts +0 -381
- package/src/lib/replace.spec.ts +0 -154
- package/src/lib/replace.ts +0 -244
- package/src/lib/storage.ts +0 -23
- package/src/lib/types/alignment.ts +0 -32
- package/src/lib/types/annotation/abbreviation.ts +0 -30
- package/src/lib/types/annotation/annotation-type.ts +0 -219
- package/src/lib/types/annotation/annotation.ts +0 -244
- package/src/lib/types/annotation/audio.ts +0 -33
- package/src/lib/types/annotation/blockquote.ts +0 -18
- package/src/lib/types/annotation/code.ts +0 -16
- package/src/lib/types/annotation/deprecated.ts +0 -18
- package/src/lib/types/annotation/end-note-link.ts +0 -35
- package/src/lib/types/annotation/glossary-instance.ts +0 -34
- package/src/lib/types/annotation/has-abbreviation.ts +0 -30
- package/src/lib/types/annotation/heading.ts +0 -37
- package/src/lib/types/annotation/image.ts +0 -29
- package/src/lib/types/annotation/indent.ts +0 -16
- package/src/lib/types/annotation/inline-title.ts +0 -34
- package/src/lib/types/annotation/internal-link.ts +0 -86
- package/src/lib/types/annotation/leading-space.ts +0 -18
- package/src/lib/types/annotation/line-group.ts +0 -18
- package/src/lib/types/annotation/line.ts +0 -16
- package/src/lib/types/annotation/link.ts +0 -38
- package/src/lib/types/annotation/list-item.ts +0 -16
- package/src/lib/types/annotation/list.ts +0 -43
- package/src/lib/types/annotation/mantra.ts +0 -31
- package/src/lib/types/annotation/mention.ts +0 -64
- package/src/lib/types/annotation/paragraph.ts +0 -18
- package/src/lib/types/annotation/quote.ts +0 -30
- package/src/lib/types/annotation/quoted.ts +0 -30
- package/src/lib/types/annotation/reference.ts +0 -18
- package/src/lib/types/annotation/span.ts +0 -39
- package/src/lib/types/annotation/table-body-data.ts +0 -18
- package/src/lib/types/annotation/table-body-header.ts +0 -18
- package/src/lib/types/annotation/table-body-row.ts +0 -18
- package/src/lib/types/annotation/table.ts +0 -16
- package/src/lib/types/annotation/trailer.ts +0 -16
- package/src/lib/types/annotation/transform.ts +0 -140
- package/src/lib/types/annotation/unknown.ts +0 -16
- package/src/lib/types/bibliography.ts +0 -86
- package/src/lib/types/folio.ts +0 -28
- package/src/lib/types/glossary-page.ts +0 -86
- package/src/lib/types/glossary.ts +0 -115
- package/src/lib/types/imprint.ts +0 -159
- package/src/lib/types/language.ts +0 -64
- package/src/lib/types/layout.ts +0 -37
- package/src/lib/types/library.ts +0 -29
- package/src/lib/types/passage.ts +0 -220
- package/src/lib/types/title.ts +0 -47
- package/src/lib/types/work.ts +0 -38
- package/src/lib/use-bookmark.ts +0 -45
- package/tsconfig.json +0 -20
- package/tsconfig.lib.json +0 -26
- package/tsconfig.spec.json +0 -22
- /package/{src/index.ts → index.d.ts} +0 -0
- /package/{src/lib/glossary/index.ts → lib/glossary/index.d.ts} +0 -0
- /package/{src/lib/passage/index.ts → lib/passage/index.d.ts} +0 -0
- /package/{src/lib/types/annotation/index.ts → lib/types/annotation/index.d.ts} +0 -0
- /package/{src/lib/types/index.ts → lib/types/index.d.ts} +0 -0
- /package/{src/lib/types/semver.ts → lib/types/semver.d.ts} +0 -0
- /package/{src/lib/types/toh.ts → lib/types/toh.d.ts} +0 -0
- /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,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"}
|
|
@@ -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
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
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 @@
|
|
|
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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"}
|