@helloao/tools 0.1.0 → 0.2.0

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 (57) hide show
  1. package/dist/cjs/generation/api.cjs +727 -2
  2. package/dist/cjs/generation/api.cjs.map +2 -2
  3. package/dist/cjs/generation/audio.cjs +52 -5
  4. package/dist/cjs/generation/audio.cjs.map +2 -2
  5. package/dist/cjs/generation/book-order.cjs +1 -1
  6. package/dist/cjs/generation/book-order.cjs.map +2 -2
  7. package/dist/cjs/generation/common-types.cjs +651 -0
  8. package/dist/cjs/generation/common-types.cjs.map +2 -2
  9. package/dist/cjs/generation/dataset.cjs +31 -8
  10. package/dist/cjs/generation/dataset.cjs.map +2 -2
  11. package/dist/cjs/index.cjs.map +1 -1
  12. package/dist/cjs/log.cjs.map +1 -1
  13. package/dist/cjs/parser/codex-parser.cjs.map +1 -1
  14. package/dist/cjs/parser/commentary-csv-parser.cjs.map +1 -1
  15. package/dist/cjs/parser/iterators.cjs.map +1 -1
  16. package/dist/cjs/parser/lockman-parser.cjs +334 -0
  17. package/dist/cjs/parser/lockman-parser.cjs.map +7 -0
  18. package/dist/cjs/parser/tyndale-xml-parser.cjs.map +1 -1
  19. package/dist/cjs/parser/types.cjs.map +1 -1
  20. package/dist/cjs/parser/usfm-parser.cjs.map +1 -1
  21. package/dist/cjs/parser/usx-parser.cjs +24 -7
  22. package/dist/cjs/parser/usx-parser.cjs.map +2 -2
  23. package/dist/cjs/utils.cjs +152 -0
  24. package/dist/cjs/utils.cjs.map +3 -3
  25. package/dist/esm/generation/api.js +696 -2
  26. package/dist/esm/generation/api.js.map +2 -2
  27. package/dist/esm/generation/audio.js +46 -3
  28. package/dist/esm/generation/audio.js.map +2 -2
  29. package/dist/esm/generation/book-order.js +1 -1
  30. package/dist/esm/generation/book-order.js.map +2 -2
  31. package/dist/esm/generation/common-types.js +590 -0
  32. package/dist/esm/generation/common-types.js.map +3 -3
  33. package/dist/esm/generation/dataset.js +29 -8
  34. package/dist/esm/generation/dataset.js.map +2 -2
  35. package/dist/esm/index.js.map +1 -1
  36. package/dist/esm/log.js.map +1 -1
  37. package/dist/esm/parser/codex-parser.js.map +1 -1
  38. package/dist/esm/parser/commentary-csv-parser.js.map +1 -1
  39. package/dist/esm/parser/iterators.js.map +1 -1
  40. package/dist/esm/parser/lockman-parser.js +306 -0
  41. package/dist/esm/parser/lockman-parser.js.map +7 -0
  42. package/dist/esm/parser/tyndale-xml-parser.js.map +1 -1
  43. package/dist/esm/parser/usfm-parser.js.map +1 -1
  44. package/dist/esm/parser/usx-parser.js +24 -7
  45. package/dist/esm/parser/usx-parser.js.map +2 -2
  46. package/dist/esm/utils.js +138 -0
  47. package/dist/esm/utils.js.map +2 -2
  48. package/dist/types/generation/api.d.ts +2515 -470
  49. package/dist/types/generation/audio.d.ts +5 -0
  50. package/dist/types/generation/common-types.d.ts +1222 -413
  51. package/dist/types/generation/dataset.d.ts +1 -0
  52. package/dist/types/parser/codex-parser.d.ts +18 -138
  53. package/dist/types/parser/lockman-parser.d.ts +14 -0
  54. package/dist/types/parser/types.d.ts +4 -0
  55. package/dist/types/parser/usx-parser.d.ts +2 -2
  56. package/dist/types/utils.d.ts +223 -18
  57. package/package.json +5 -3
@@ -1,2 +1,592 @@
1
1
  "use strict";
2
+ import { z } from "zod";
3
+ import { BookIdSchema, VerseRefSchema } from "../utils.js";
4
+ export const TranslationSchema = z.object({
5
+ /**
6
+ * The ID of the translation.
7
+ */
8
+ id: z.string().meta({
9
+ description: "The ID of the translation."
10
+ }),
11
+ /**
12
+ * The name of the translation.
13
+ */
14
+ name: z.string().meta({
15
+ description: "The name of the translation."
16
+ }),
17
+ /**
18
+ * The website for the translation.
19
+ */
20
+ website: z.string().meta({
21
+ description: "The website for the translation."
22
+ }),
23
+ /**
24
+ * The URL that the license for the translation can be found.
25
+ */
26
+ licenseUrl: z.string().meta({
27
+ description: "The URL that the license for the translation can be found."
28
+ }),
29
+ /**
30
+ * The API-added notes for the license.
31
+ */
32
+ licenseNotes: z.string().nullable().optional().meta({
33
+ description: "The API-added notes for the license."
34
+ }),
35
+ /**
36
+ * The notice that should be displayed when displaying content from the translation.
37
+ */
38
+ licenseNotice: z.string().nullable().optional().meta({
39
+ description: "The notice that should be displayed when displaying content from the translation."
40
+ }),
41
+ /**
42
+ * The short name for the translation.
43
+ */
44
+ shortName: z.string().optional().meta({
45
+ description: "The short name for the translation."
46
+ }),
47
+ /**
48
+ * The English name for the translation.
49
+ */
50
+ englishName: z.string().meta({
51
+ description: "The English name for the translation."
52
+ }),
53
+ /**
54
+ * The ISO 639 3-letter language tag that the translation is primarily in.
55
+ */
56
+ language: z.string().meta({
57
+ description: "The ISO 639 3-letter language tag that the translation is primarily in."
58
+ }),
59
+ /**
60
+ * The direction that the language is written in.
61
+ * "ltr" indicates that the text is written from the left side of the page to the right.
62
+ * "rtl" indicates that the text is written from the right side of the page to the left.
63
+ */
64
+ textDirection: z.enum(["ltr", "rtl"]).meta({
65
+ description: "The direction that the language is written in. `ltr` indicates that the text is written from the left side of the page to the right. `rtl` indicates that the text is written from the right side of the page to the left."
66
+ })
67
+ });
68
+ export const CommentarySchema = z.object({
69
+ /**
70
+ * The ID of the commentary.
71
+ */
72
+ id: z.string().meta({
73
+ description: "The ID of the commentary."
74
+ }),
75
+ /**
76
+ * The name of the commentary.
77
+ */
78
+ name: z.string().meta({
79
+ description: "The name of the commentary."
80
+ }),
81
+ /**
82
+ * The website for the commentary.
83
+ */
84
+ website: z.string().meta({
85
+ description: "The website for the commentary."
86
+ }),
87
+ /**
88
+ * The URL that the license for the commentary can be found.
89
+ */
90
+ licenseUrl: z.string().meta({
91
+ description: "The URL that the license for the commentary can be found."
92
+ }),
93
+ /**
94
+ * The API-added notes for the license.
95
+ */
96
+ licenseNotes: z.string().nullable().optional().meta({
97
+ description: "The API-added notes for the license."
98
+ }),
99
+ /**
100
+ * The english name for the commentary.
101
+ */
102
+ englishName: z.string().meta({
103
+ description: "The English name for the commentary."
104
+ }),
105
+ /**
106
+ * The ISO 639 3-letter language tag that the translation is primarily in.
107
+ */
108
+ language: z.string().meta({
109
+ description: "The ISO 639 3-letter language tag that the translation is primarily in."
110
+ }),
111
+ /**
112
+ * The direction that the language is written in.
113
+ * "ltr" indicates that the text is written from the left side of the page to the right.
114
+ * "rtl" indicates that the text is written from the right side of the page to the left.
115
+ */
116
+ textDirection: z.enum(["ltr", "rtl"]).meta({
117
+ description: "The direction that the language is written in. `ltr` indicates that the text is written from the left side of the page to the right. `rtl` indicates that the text is written from the right side of the page to the left."
118
+ })
119
+ });
120
+ export const DatasetSchema = z.object({
121
+ /**
122
+ * The ID of the dataset.
123
+ */
124
+ id: z.string().meta({
125
+ description: "The ID of the dataset."
126
+ }),
127
+ /**
128
+ * The name of the dataset.
129
+ */
130
+ name: z.string().meta({
131
+ description: "The name of the dataset."
132
+ }),
133
+ /**
134
+ * The website for the dataset.
135
+ */
136
+ website: z.string().meta({
137
+ description: "The website for the dataset."
138
+ }),
139
+ /**
140
+ * The URL that the license for the dataset can be found.
141
+ */
142
+ licenseUrl: z.string().meta({
143
+ description: "The URL that the license for the dataset can be found."
144
+ }),
145
+ /**
146
+ * The API-added notes for the license.
147
+ */
148
+ licenseNotes: z.string().nullable().optional().meta({
149
+ description: "The API-added notes for the license."
150
+ }),
151
+ /**
152
+ * The English name for the dataset.
153
+ */
154
+ englishName: z.string().meta({
155
+ description: "The English name for the dataset."
156
+ }),
157
+ /**
158
+ * The ISO 639 3-letter language tag that the dataset is primarily in.
159
+ */
160
+ language: z.string().meta({
161
+ description: "The ISO 639 3-letter language tag that the dataset is primarily in."
162
+ }),
163
+ /**
164
+ * The direction that the language is written in.
165
+ */
166
+ textDirection: z.enum(["ltr", "rtl"]).meta({
167
+ description: "The direction that the language is written in."
168
+ })
169
+ });
170
+ export const TranslationBookSchema = z.object({
171
+ /**
172
+ * The ID of the book. Should match the USFM book ID.
173
+ */
174
+ id: BookIdSchema,
175
+ /**
176
+ * The name that the translation provided for the book.
177
+ */
178
+ name: z.string().meta({
179
+ description: "The name that the translation provided for the book."
180
+ }),
181
+ /**
182
+ * The common name for the book.
183
+ */
184
+ commonName: z.string().meta({
185
+ description: "The common name for the book."
186
+ }),
187
+ /**
188
+ * The title of the book.
189
+ * This is usually a more descriptive version of the book name.
190
+ * If not available, then one was not provided by the translation.
191
+ */
192
+ title: z.string().nullable().meta({
193
+ description: "The title of the book. This is usually a more descriptive version of the book name. If not available, then one was not provided by the translation."
194
+ }),
195
+ /**
196
+ * The numerical order of the book in the translation.
197
+ */
198
+ order: z.number().meta({
199
+ description: "The numerical order of the book in the translation."
200
+ }),
201
+ /**
202
+ * Whether the book is an apocryphal book.
203
+ */
204
+ isApocryphal: z.boolean().optional().meta({
205
+ description: "Whether the book is an apocryphal book."
206
+ })
207
+ }).meta({
208
+ id: "TranslationBook",
209
+ description: "Defines the schema for information about a book."
210
+ });
211
+ export const CommentaryBookSchema = z.object({
212
+ /**
213
+ * The ID of the book. Should match the USFM book ID.
214
+ */
215
+ id: BookIdSchema,
216
+ /**
217
+ * The name that the commentary provided for the book.
218
+ */
219
+ name: z.string().meta({
220
+ description: "The name that the commentary provided for the book."
221
+ }),
222
+ /**
223
+ * The common name for the book.
224
+ */
225
+ commonName: z.string().meta({
226
+ description: "The common name for the book."
227
+ }),
228
+ /**
229
+ * The commentary's introduction for the book.
230
+ */
231
+ introduction: z.string().optional().meta({
232
+ description: "The commentary's introduction for the book. Undefined if the commentary didn't provide an introduction for the book."
233
+ }),
234
+ /**
235
+ * The summary of the commentary's introduction for the book.
236
+ */
237
+ introductionSummary: z.string().optional().meta({
238
+ description: "The summary of the commentary's introduction for the book. Undefined if the commentary didn't provide a summary for the book."
239
+ }),
240
+ /**
241
+ * The order of the book in the Bible.
242
+ */
243
+ order: z.number().meta({
244
+ description: "The order of the book in the Bible."
245
+ })
246
+ }).meta({
247
+ id: "CommentaryBook",
248
+ description: "Defines the schema for information about a book in a commentary."
249
+ });
250
+ export const DatasetBookSchema = z.object({
251
+ /**
252
+ * The ID of the book. Should match the USFM book ID.
253
+ */
254
+ id: BookIdSchema,
255
+ /**
256
+ * The order of the book in the Bible.
257
+ */
258
+ order: z.number().meta({
259
+ description: "The order of the book in the Bible."
260
+ })
261
+ }).meta({
262
+ id: "DatasetBook",
263
+ description: "Defines the schema for information about a book in a dataset."
264
+ });
265
+ export const DatasetBookChapterSchema = z.object({
266
+ /**
267
+ * The data for the chapter.
268
+ */
269
+ chapter: z.lazy(() => DatasetChapterDataSchema).meta({
270
+ description: "The data for the chapter."
271
+ })
272
+ }).meta({
273
+ id: "DatasetBookChapter",
274
+ description: "Defines the schema for information about a chapter in a dataset."
275
+ });
276
+ export const DatasetChapterDataSchema = z.object({
277
+ /**
278
+ * The number of the chapter.
279
+ */
280
+ number: z.number().meta({
281
+ description: "The number of the chapter."
282
+ }),
283
+ /**
284
+ * The content of the chapter.
285
+ */
286
+ content: z.array(z.lazy(() => DatasetChapterVerseContentSchema)).meta({
287
+ description: "The content of the chapter."
288
+ })
289
+ }).meta({
290
+ id: "DatasetChapterData",
291
+ description: "Defines the schema for information about a chapter in a dataset."
292
+ });
293
+ export const DatasetChapterVerseContentSchema = z.object({
294
+ /**
295
+ * The number of the verse.
296
+ */
297
+ verse: z.number().meta({
298
+ description: "The number of the verse."
299
+ }),
300
+ /**
301
+ * The list of references for the verse.
302
+ */
303
+ references: z.array(z.lazy(() => ScoredVerseRefSchema)).meta({
304
+ description: "The list of references for the verse."
305
+ })
306
+ }).meta({
307
+ id: "DatasetChapterVerseContent",
308
+ description: "Defines the schema for information about a verse in a dataset chapter."
309
+ });
310
+ export const ScoredVerseRefSchema = VerseRefSchema.extend({
311
+ score: z.number().meta({
312
+ description: "The score for the verse reference. The meaning of the score is arbitrary and is determined by the dataset."
313
+ })
314
+ }).meta({
315
+ id: "ScoredVerseRef",
316
+ description: "Defines the schema for information about a verse reference that has an arbitrary score attached to it."
317
+ });
318
+ export const CommentaryProfileSchema = z.object({
319
+ /**
320
+ * The ID of the profile.
321
+ */
322
+ id: z.string().meta({
323
+ description: "The ID of the profile."
324
+ }),
325
+ /**
326
+ * The subject of the profile.
327
+ */
328
+ subject: z.string().meta({
329
+ description: "The subject of the profile."
330
+ }),
331
+ /**
332
+ * The Bible reference that the profile is associated with.
333
+ */
334
+ reference: VerseRefSchema.nullable().meta({
335
+ description: "The Bible reference that the profile is associated with. Null if the profile isn't associated with a specific Bible reference."
336
+ })
337
+ });
338
+ export const TranslationBookChapterSchema = z.object({
339
+ /**
340
+ * The information for the chapter.
341
+ */
342
+ chapter: z.lazy(() => ChapterDataSchema).meta({
343
+ description: "The information for the chapter."
344
+ }),
345
+ /**
346
+ * The links to different audio versions for the chapter.
347
+ */
348
+ thisChapterAudioLinks: z.lazy(() => TranslationBookChapterAudioLinksSchema).meta({
349
+ description: "The links to different audio versions for the chapter."
350
+ })
351
+ }).meta({
352
+ id: "TranslationBookChapter",
353
+ description: "Defines the schema for information about a book chapter."
354
+ });
355
+ export const CommentaryBookChapterSchema = z.object({
356
+ /**
357
+ * The information for the chapter.
358
+ */
359
+ chapter: z.lazy(() => CommentaryChapterDataSchema).meta({
360
+ description: "The information for the chapter."
361
+ })
362
+ }).meta({
363
+ id: "CommentaryBookChapter",
364
+ description: "Defines the schema for information about a book chapter in a commentary."
365
+ });
366
+ export const TranslationBookChapterAudioLinksSchema = z.record(z.string(), z.string()).meta({
367
+ id: "TranslationBookChapterAudioLinks",
368
+ description: "Defines the schema for the audio links for a book chapter."
369
+ });
370
+ export const ChapterDataSchema = z.object({
371
+ /**
372
+ * The number of the chapter.
373
+ */
374
+ number: z.number().meta({
375
+ description: "The number of the chapter."
376
+ }),
377
+ /**
378
+ * The content of the chapter.
379
+ */
380
+ content: z.array(z.lazy(() => ChapterContentSchema)).meta({
381
+ description: "The content of the chapter."
382
+ }),
383
+ /**
384
+ * The list of footnotes for the chapter.
385
+ */
386
+ footnotes: z.array(z.lazy(() => ChapterFootnoteSchema)).meta({
387
+ description: "The list of footnotes for the chapter."
388
+ })
389
+ });
390
+ export const CommentaryChapterDataSchema = z.object({
391
+ /**
392
+ * The number of the chapter.
393
+ */
394
+ number: z.number().meta({
395
+ description: "The number of the chapter."
396
+ }),
397
+ /**
398
+ * The introduction that the commentary provided to the chapter.
399
+ * Not all commentaries provide an introduction to a chapter.
400
+ */
401
+ introduction: z.string().optional().meta({
402
+ description: "The introduction that the commentary provided to the chapter. Not all commentaries provide an introduction to a chapter."
403
+ }),
404
+ /**
405
+ * The content of the chapter.
406
+ */
407
+ content: z.array(z.lazy(() => ChapterVerseSchema)).meta({
408
+ description: "The content of the chapter."
409
+ })
410
+ });
411
+ export const ChapterHeadingSchema = z.object({
412
+ /**
413
+ * Indicates that the content represents a heading.
414
+ */
415
+ type: z.literal("heading"),
416
+ /**
417
+ * The content for the heading.
418
+ * If multiple strings are included in the array, they should be concatenated with a space.
419
+ */
420
+ content: z.array(z.string()).meta({
421
+ description: "The content for the heading. If multiple strings are included in the array, they should be concatenated with a space."
422
+ })
423
+ }).meta({
424
+ id: "ChapterHeading",
425
+ description: "Defines the schema for a heading in a chapter."
426
+ });
427
+ export const ChapterLineBreakSchema = z.object({
428
+ /**
429
+ * Indicates that the content represents a line break.
430
+ */
431
+ type: z.literal("line_break")
432
+ }).meta({
433
+ id: "ChapterLineBreak",
434
+ description: "Defines the schema for a line break in a chapter."
435
+ });
436
+ export const ChapterHebrewSubtitleSchema = z.object({
437
+ /**
438
+ * Indicates that the content represents a Hebrew Subtitle.
439
+ */
440
+ type: z.literal("hebrew_subtitle"),
441
+ /**
442
+ * The list of content that is contained in the subtitle.
443
+ * Each element in the list could be a string, formatted text, or a footnote reference.
444
+ */
445
+ content: z.array(z.union([
446
+ z.string(),
447
+ z.lazy(() => FormattedTextSchema),
448
+ z.lazy(() => VerseFootnoteReferenceSchema)
449
+ ])).meta({
450
+ description: "The content that is contained in the subtitle. Each element in the list could be a string, formatted text, or a footnote reference."
451
+ })
452
+ }).meta({
453
+ id: "ChapterHebrewSubtitle",
454
+ description: "Defines the schema for a Hebrew Subtitle in a chapter."
455
+ });
456
+ export const ChapterVerseSchema = z.object({
457
+ /**
458
+ * Indicates that the content is a verse.
459
+ */
460
+ type: z.literal("verse"),
461
+ /**
462
+ * The number of the verse.
463
+ */
464
+ number: z.number().meta({
465
+ description: "The number of the verse."
466
+ }),
467
+ /**
468
+ * The list of content for the verse.
469
+ * Each element in the list could be a string, formatted text, or a footnote reference.
470
+ */
471
+ content: z.array(z.union([
472
+ z.string(),
473
+ z.lazy(() => FormattedTextSchema),
474
+ z.lazy(() => InlineHeadingSchema),
475
+ z.lazy(() => InlineLineBreakSchema),
476
+ z.lazy(() => VerseFootnoteReferenceSchema)
477
+ ])).meta({
478
+ description: "The list of content for the verse. Each element in the list could be a string, formatted text, or a footnote reference."
479
+ })
480
+ }).meta({
481
+ id: "ChapterVerse",
482
+ description: "Defines the schema for a verse in a chapter."
483
+ });
484
+ export const ChapterContentSchema = z.discriminatedUnion("type", [
485
+ ChapterHeadingSchema,
486
+ ChapterLineBreakSchema,
487
+ ChapterVerseSchema,
488
+ ChapterHebrewSubtitleSchema
489
+ ]).meta({
490
+ id: "ChapterContent",
491
+ description: "Defines a union type that represents a single piece of chapter content. A piece of chapter content can be one of the following things: A heading, a line break, a verse, or a Hebrew Subtitle."
492
+ });
493
+ export const FormattedTextSchema = z.object({
494
+ /**
495
+ * The text that is formatted.
496
+ */
497
+ text: z.string().meta({
498
+ description: "The text that is formatted."
499
+ }),
500
+ /**
501
+ * Whether the text represents a poem.
502
+ * The number indicates the level of indent.
503
+ *
504
+ * Common in Psalms.
505
+ */
506
+ poem: z.number().optional().meta({
507
+ description: "Whether the text represents a poem. The number indicates the level of indent. Common in Psalms."
508
+ }),
509
+ /**
510
+ * Whether the text represents the Words of Jesus.
511
+ */
512
+ wordsOfJesus: z.boolean().optional().meta({
513
+ description: "Whether the text represents the Words of Jesus."
514
+ })
515
+ }).meta({
516
+ id: "FormattedText",
517
+ description: "Defines the schema for formatted text. That is, text that is formatted in a particular manner."
518
+ });
519
+ export const InlineHeadingSchema = z.object({
520
+ /**
521
+ * The text of the heading.
522
+ */
523
+ heading: z.string().meta({
524
+ description: "The text of the heading."
525
+ })
526
+ }).meta({
527
+ id: "InlineHeading",
528
+ description: "Defines the schema for a heading that is embedded in a verse."
529
+ });
530
+ export const InlineLineBreakSchema = z.object({
531
+ lineBreak: z.literal(true)
532
+ }).meta({
533
+ id: "InlineLineBreak",
534
+ description: "Defines the schema for a line break that is embedded in a verse."
535
+ });
536
+ export const VerseFootnoteReferenceSchema = z.object({
537
+ /**
538
+ * The ID of the note.
539
+ */
540
+ noteId: z.number().meta({
541
+ description: "The ID of the note."
542
+ })
543
+ }).meta({
544
+ id: "VerseFootnoteReference",
545
+ description: "Defines the schema for a footnote reference in a verse or a Hebrew Subtitle."
546
+ });
547
+ export const ChapterFootnoteSchema = z.object({
548
+ /**
549
+ * The ID of the note that is referenced.
550
+ */
551
+ noteId: z.number().meta({
552
+ description: "The ID of the note that is referenced."
553
+ }),
554
+ /**
555
+ * The text of the footnote.
556
+ */
557
+ text: z.string().meta({
558
+ description: "The text of the footnote."
559
+ }),
560
+ /**
561
+ * The verse reference for the footnote.
562
+ */
563
+ reference: z.object({
564
+ chapter: z.number(),
565
+ verse: z.number()
566
+ }).optional().meta({
567
+ description: "The verse reference for the footnote. Undefined if the footnote isn't associated with a specific verse."
568
+ }),
569
+ /**
570
+ * The caller that should be used for the footnote.
571
+ * For footnotes, a "caller" is the character that is used in the text to reference to footnote.
572
+ *
573
+ * For example, in the text:
574
+ * Hello (a) World
575
+ *
576
+ * ----
577
+ * (a) This is a footnote.
578
+ *
579
+ * The "(a)" is the caller.
580
+ *
581
+ * If "+", then the caller should be autogenerated.
582
+ * If null, then the caller should be empty.
583
+ * If a string, then the caller should be that string.
584
+ */
585
+ caller: z.union([z.literal("+"), z.string(), z.null()]).meta({
586
+ description: 'The caller that should be used for the footnote. For footnotes, a "caller" is the character that is used in the text to reference to footnote. For example, in the text: Hello (a) World ---- (a) This is a footnote. The "(a)" is the caller. If "+", then the caller should be autogenerated. If null, then the caller should be empty. If a string, then the caller should be that string.'
587
+ })
588
+ }).meta({
589
+ id: "ChapterFootnote",
590
+ description: "Defines the schema for information about a footnote."
591
+ });
2
592
  //# sourceMappingURL=common-types.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": [],
4
- "sourcesContent": [],
5
- "mappings": "",
3
+ "sources": ["../../../generation/common-types.ts"],
4
+ "sourcesContent": ["import { z } from 'zod';\r\nimport { BookIdSchema, VerseRef, VerseRefSchema } from '../utils.js';\r\n\r\n/**\r\n * Defines an interface that contains information about a input file.\r\n */\r\nexport type InputFile = InputTranslationFile | InputCommentaryFile;\r\n\r\nexport interface InputFileBase {\r\n name?: string;\r\n content: string;\r\n sha256?: string;\r\n}\r\n\r\nexport type InputFileMetadata =\r\n | InputTranslationMetadata\r\n | InputCommentaryMetadata;\r\n\r\nexport interface InputTranslationFile extends InputFileBase {\r\n fileType: 'usfm' | 'usx' | 'json' | 'lockman';\r\n metadata: InputTranslationMetadata;\r\n}\r\n\r\nexport interface InputCommentaryFile extends InputFileBase {\r\n fileType: 'commentary/csv' | 'commentary/tyndale-xml';\r\n metadata: InputCommentaryMetadata;\r\n}\r\n\r\nexport type OutputFileContent = object | ReadableStream;\r\n\r\n/**\r\n * Defines an interface that contains information about a output file.\r\n */\r\nexport interface OutputFile {\r\n /**\r\n * The path that the file should be stored at.\r\n */\r\n path: string;\r\n\r\n /**\r\n * The content of the file.\r\n */\r\n content: OutputFileContent | (() => Promise<OutputFileContent>);\r\n\r\n /**\r\n * Whether the file can be merged with files of the same name but from other datasets.\r\n */\r\n mergable?: boolean;\r\n}\r\n\r\nexport interface MetadataBase {\r\n /**\r\n * The name of the translation.\r\n */\r\n name: string;\r\n\r\n /**\r\n * The english name of the translation.\r\n */\r\n englishName: string;\r\n\r\n /**\r\n * The website for the translation.\r\n */\r\n website: string;\r\n\r\n /**\r\n * The URL that the license for the translation can be found.\r\n */\r\n licenseUrl: string;\r\n\r\n /**\r\n * The notice that should be displayed when displaying content from the translation.\r\n */\r\n licenseNotice?: string | null;\r\n\r\n /**\r\n * The ISO 639 letter language tag that the translation is primarily in.\r\n */\r\n language: string;\r\n\r\n /**\r\n * The direction that the text is written in.\r\n */\r\n direction: 'ltr' | 'rtl';\r\n}\r\n\r\n/**\r\n * The metadata for a translation that is input into the generator.\r\n */\r\nexport interface InputTranslationMetadata extends MetadataBase {\r\n /**\r\n * The ID of the translation.\r\n */\r\n id: string;\r\n\r\n /**\r\n * The short name for the translation.\r\n */\r\n shortName: string;\r\n}\r\n\r\n/**\r\n * The metadata for a translation that is input into the generator.\r\n */\r\nexport interface InputCommentaryMetadata extends MetadataBase {\r\n /**\r\n * The ID of the commentary.\r\n */\r\n id: string;\r\n}\r\n\r\n/**\r\n * Defines a Zod schema for information about a translation.\r\n */\r\nexport const TranslationSchema = z.object({\r\n /**\r\n * The ID of the translation.\r\n */\r\n id: z.string().meta({\r\n description: 'The ID of the translation.',\r\n }),\r\n\r\n /**\r\n * The name of the translation.\r\n */\r\n name: z.string().meta({\r\n description: 'The name of the translation.',\r\n }),\r\n\r\n /**\r\n * The website for the translation.\r\n */\r\n website: z.string().meta({\r\n description: 'The website for the translation.',\r\n }),\r\n\r\n /**\r\n * The URL that the license for the translation can be found.\r\n */\r\n licenseUrl: z.string().meta({\r\n description: 'The URL that the license for the translation can be found.',\r\n }),\r\n\r\n /**\r\n * The API-added notes for the license.\r\n */\r\n licenseNotes: z.string().nullable().optional().meta({\r\n description: 'The API-added notes for the license.',\r\n }),\r\n\r\n /**\r\n * The notice that should be displayed when displaying content from the translation.\r\n */\r\n licenseNotice: z.string().nullable().optional().meta({\r\n description: 'The notice that should be displayed when displaying content from the translation.',\r\n }),\r\n\r\n /**\r\n * The short name for the translation.\r\n */\r\n shortName: z.string().optional().meta({\r\n description: 'The short name for the translation.',\r\n }),\r\n\r\n /**\r\n * The English name for the translation.\r\n */\r\n englishName: z.string().meta({\r\n description: 'The English name for the translation.',\r\n }),\r\n\r\n /**\r\n * The ISO 639 3-letter language tag that the translation is primarily in.\r\n */\r\n language: z.string().meta({\r\n description: 'The ISO 639 3-letter language tag that the translation is primarily in.',\r\n }),\r\n\r\n /**\r\n * The direction that the language is written in.\r\n * \"ltr\" indicates that the text is written from the left side of the page to the right.\r\n * \"rtl\" indicates that the text is written from the right side of the page to the left.\r\n */\r\n textDirection: z.enum(['ltr', 'rtl']).meta({\r\n description: 'The direction that the language is written in. `ltr` indicates that the text is written from the left side of the page to the right. `rtl` indicates that the text is written from the right side of the page to the left.',\r\n }),\r\n});\r\n\r\nexport type Translation = z.infer<typeof TranslationSchema>;\r\n\r\n/**\r\n * Defines a Zod schema for information about a commentary.\r\n */\r\nexport const CommentarySchema = z.object({\r\n /**\r\n * The ID of the commentary.\r\n */\r\n id: z.string().meta({\r\n description: 'The ID of the commentary.',\r\n }),\r\n\r\n /**\r\n * The name of the commentary.\r\n */\r\n name: z.string().meta({\r\n description: 'The name of the commentary.',\r\n }),\r\n\r\n /**\r\n * The website for the commentary.\r\n */\r\n website: z.string().meta({\r\n description: 'The website for the commentary.',\r\n }),\r\n\r\n /**\r\n * The URL that the license for the commentary can be found.\r\n */\r\n licenseUrl: z.string().meta({\r\n description: 'The URL that the license for the commentary can be found.',\r\n }),\r\n\r\n /**\r\n * The API-added notes for the license.\r\n */\r\n licenseNotes: z.string().nullable().optional().meta({\r\n description: 'The API-added notes for the license.',\r\n }),\r\n\r\n /**\r\n * The english name for the commentary.\r\n */\r\n englishName: z.string().meta({\r\n description: 'The English name for the commentary.',\r\n }),\r\n\r\n /**\r\n * The ISO 639 3-letter language tag that the translation is primarily in.\r\n */\r\n language: z.string().meta({\r\n description: 'The ISO 639 3-letter language tag that the translation is primarily in.',\r\n }),\r\n\r\n /**\r\n * The direction that the language is written in.\r\n * \"ltr\" indicates that the text is written from the left side of the page to the right.\r\n * \"rtl\" indicates that the text is written from the right side of the page to the left.\r\n */\r\n textDirection: z.enum(['ltr', 'rtl']).meta({\r\n description: 'The direction that the language is written in. `ltr` indicates that the text is written from the left side of the page to the right. `rtl` indicates that the text is written from the right side of the page to the left.',\r\n }),\r\n});\r\n\r\nexport type Commentary = z.infer<typeof CommentarySchema>;\r\n\r\nexport const DatasetSchema = z.object({\r\n /**\r\n * The ID of the dataset.\r\n */\r\n id: z.string().meta({\r\n description: 'The ID of the dataset.',\r\n }),\r\n\r\n /**\r\n * The name of the dataset.\r\n */\r\n name: z.string().meta({\r\n description: 'The name of the dataset.',\r\n }),\r\n\r\n /**\r\n * The website for the dataset.\r\n */\r\n website: z.string().meta({\r\n description: 'The website for the dataset.',\r\n }),\r\n\r\n /**\r\n * The URL that the license for the dataset can be found.\r\n */\r\n licenseUrl: z.string().meta({\r\n description: 'The URL that the license for the dataset can be found.',\r\n }),\r\n\r\n /**\r\n * The API-added notes for the license.\r\n */\r\n licenseNotes: z.string().nullable().optional().meta({\r\n description: 'The API-added notes for the license.',\r\n }),\r\n\r\n /**\r\n * The English name for the dataset.\r\n */\r\n englishName: z.string().meta({\r\n description: 'The English name for the dataset.',\r\n }),\r\n\r\n /**\r\n * The ISO 639 3-letter language tag that the dataset is primarily in.\r\n */\r\n language: z.string().meta({\r\n description: 'The ISO 639 3-letter language tag that the dataset is primarily in.',\r\n }),\r\n\r\n /**\r\n * The direction that the language is written in.\r\n */\r\n textDirection: z.enum(['ltr', 'rtl']).meta({\r\n description: 'The direction that the language is written in.',\r\n }),\r\n});\r\n\r\nexport type Dataset = z.infer<typeof DatasetSchema>;\r\n\r\n/**\r\n * Defines a Zod schema for information about a book.\r\n */\r\nexport const TranslationBookSchema = z.object({\r\n /**\r\n * The ID of the book. Should match the USFM book ID.\r\n */\r\n id: BookIdSchema,\r\n\r\n /**\r\n * The name that the translation provided for the book.\r\n */\r\n name: z.string().meta({\r\n description: 'The name that the translation provided for the book.',\r\n }),\r\n\r\n /**\r\n * The common name for the book.\r\n */\r\n commonName: z.string().meta({\r\n description: 'The common name for the book.',\r\n }),\r\n\r\n /**\r\n * The title of the book.\r\n * This is usually a more descriptive version of the book name.\r\n * If not available, then one was not provided by the translation.\r\n */\r\n title: z.string().nullable().meta({\r\n description: 'The title of the book. This is usually a more descriptive version of the book name. If not available, then one was not provided by the translation.',\r\n }),\r\n\r\n /**\r\n * The numerical order of the book in the translation.\r\n */\r\n order: z.number().meta({\r\n description: 'The numerical order of the book in the translation.',\r\n }),\r\n\r\n /**\r\n * Whether the book is an apocryphal book.\r\n */\r\n isApocryphal: z.boolean().optional().meta({\r\n description: 'Whether the book is an apocryphal book.',\r\n }),\r\n}).meta({\r\n id: 'TranslationBook',\r\n description: 'Defines the schema for information about a book.',\r\n});\r\n\r\nexport type TranslationBook = z.infer<typeof TranslationBookSchema>;\r\n\r\n/**\r\n * Defines a Zod schema for information about a book in a commentary.\r\n */\r\nexport const CommentaryBookSchema = z.object({\r\n /**\r\n * The ID of the book. Should match the USFM book ID.\r\n */\r\n id: BookIdSchema,\r\n\r\n /**\r\n * The name that the commentary provided for the book.\r\n */\r\n name: z.string().meta({\r\n description: 'The name that the commentary provided for the book.',\r\n }),\r\n\r\n /**\r\n * The common name for the book.\r\n */\r\n commonName: z.string().meta({\r\n description: 'The common name for the book.',\r\n }),\r\n\r\n /**\r\n * The commentary's introduction for the book.\r\n */\r\n introduction: z.string().optional().meta({\r\n description: 'The commentary\\'s introduction for the book. Undefined if the commentary didn\\'t provide an introduction for the book.',\r\n }),\r\n\r\n /**\r\n * The summary of the commentary's introduction for the book.\r\n */\r\n introductionSummary: z.string().optional().meta({\r\n description: 'The summary of the commentary\\'s introduction for the book. Undefined if the commentary didn\\'t provide a summary for the book.',\r\n }),\r\n\r\n /**\r\n * The order of the book in the Bible.\r\n */\r\n order: z.number().meta({\r\n description: 'The order of the book in the Bible.',\r\n }),\r\n}).meta({\r\n id: \"CommentaryBook\",\r\n description: \"Defines the schema for information about a book in a commentary.\",\r\n});\r\n\r\nexport type CommentaryBook = z.infer<typeof CommentaryBookSchema>;\r\n\r\n/**\r\n * Defines a Zod schema for information about a dataset book.\r\n */\r\nexport const DatasetBookSchema = z.object({\r\n /**\r\n * The ID of the book. Should match the USFM book ID.\r\n */\r\n id: BookIdSchema,\r\n\r\n /**\r\n * The order of the book in the Bible.\r\n */\r\n order: z.number().meta({\r\n description: 'The order of the book in the Bible.',\r\n }),\r\n}).meta({\r\n id: 'DatasetBook',\r\n description: 'Defines the schema for information about a book in a dataset.',\r\n});\r\n\r\nexport type DatasetBook = z.infer<typeof DatasetBookSchema>;\r\n\r\n/**\r\n * Defines a Zod schema for information about a chapter in a dataset.\r\n */\r\nexport const DatasetBookChapterSchema = z.object({\r\n /**\r\n * The data for the chapter.\r\n */\r\n chapter: z.lazy(() => DatasetChapterDataSchema).meta({\r\n description: 'The data for the chapter.',\r\n }),\r\n}).meta({\r\n id: 'DatasetBookChapter',\r\n description: 'Defines the schema for information about a chapter in a dataset.',\r\n});\r\n\r\nexport type DatasetBookChapter = z.infer<typeof DatasetBookChapterSchema>;\r\n\r\nexport const DatasetChapterDataSchema = z.object({\r\n /**\r\n * The number of the chapter.\r\n */\r\n number: z.number().meta({\r\n description: 'The number of the chapter.',\r\n }),\r\n\r\n /**\r\n * The content of the chapter.\r\n */\r\n content: z.array(z.lazy(() => DatasetChapterVerseContentSchema)).meta({\r\n description: 'The content of the chapter.',\r\n }),\r\n}).meta({\r\n id: 'DatasetChapterData',\r\n description: 'Defines the schema for information about a chapter in a dataset.',\r\n});\r\n\r\nexport type DatasetChapterData = z.infer<typeof DatasetChapterDataSchema>;\r\n\r\n/**\r\n * Defines a Zod schema for information about a verse in a dataset chapter.\r\n */\r\nexport const DatasetChapterVerseContentSchema = z.object({\r\n /**\r\n * The number of the verse.\r\n */\r\n verse: z.number().meta({\r\n description: 'The number of the verse.',\r\n }),\r\n\r\n /**\r\n * The list of references for the verse.\r\n */\r\n references: z.array(z.lazy(() => ScoredVerseRefSchema)).meta({\r\n description: 'The list of references for the verse.',\r\n }),\r\n}).meta({\r\n id: 'DatasetChapterVerseContent',\r\n description: 'Defines the schema for information about a verse in a dataset chapter.',\r\n});\r\n\r\nexport type DatasetChapterVerseContent = z.infer<typeof DatasetChapterVerseContentSchema>;\r\n\r\n/**\r\n * Defines an interface that contains information about a verse reference that has an arbitrary score attached to it.\r\n */\r\nexport const ScoredVerseRefSchema = VerseRefSchema.extend({\r\n score: z.number().meta({\r\n description: 'The score for the verse reference. The meaning of the score is arbitrary and is determined by the dataset.',\r\n }),\r\n}).meta({\r\n id: 'ScoredVerseRef',\r\n description: 'Defines the schema for information about a verse reference that has an arbitrary score attached to it.',\r\n});\r\n\r\nexport type ScoredVerseRef = z.infer<typeof ScoredVerseRefSchema>;\r\n\r\n/**\r\n * Defines a Zod schema for information about a profile in a commentary.\r\n */\r\nexport const CommentaryProfileSchema = z.object({\r\n /**\r\n * The ID of the profile.\r\n */\r\n id: z.string().meta({\r\n description: 'The ID of the profile.',\r\n }),\r\n\r\n /**\r\n * The subject of the profile.\r\n */\r\n subject: z.string().meta({\r\n description: 'The subject of the profile.',\r\n }),\r\n\r\n /**\r\n * The Bible reference that the profile is associated with.\r\n */\r\n reference: VerseRefSchema.nullable().meta({\r\n description: 'The Bible reference that the profile is associated with. Null if the profile isn\\'t associated with a specific Bible reference.',\r\n }),\r\n});\r\n\r\nexport type CommentaryProfile = z.infer<typeof CommentaryProfileSchema>;\r\n\r\n/**\r\n * Defines a Zod schema for information about a book chapter.\r\n */\r\nexport const TranslationBookChapterSchema = z.object({\r\n /**\r\n * The information for the chapter.\r\n */\r\n chapter: z.lazy(() => ChapterDataSchema).meta({\r\n description: 'The information for the chapter.',\r\n }),\r\n\r\n /**\r\n * The links to different audio versions for the chapter.\r\n */\r\n thisChapterAudioLinks: z.lazy(() => TranslationBookChapterAudioLinksSchema).meta({\r\n description: 'The links to different audio versions for the chapter.',\r\n }),\r\n}).meta({\r\n id: 'TranslationBookChapter',\r\n description: 'Defines the schema for information about a book chapter.',\r\n});\r\n\r\nexport type TranslationBookChapter = z.infer<typeof TranslationBookChapterSchema>;\r\n\r\n/**\r\n * Defines a Zod schema for information about a book chapter in a commentary.\r\n */\r\nexport const CommentaryBookChapterSchema = z.object({\r\n /**\r\n * The information for the chapter.\r\n */\r\n chapter: z.lazy(() => CommentaryChapterDataSchema).meta({\r\n description: 'The information for the chapter.',\r\n }),\r\n}).meta({\r\n id: 'CommentaryBookChapter',\r\n description: 'Defines the schema for information about a book chapter in a commentary.',\r\n});\r\n\r\nexport type CommentaryBookChapter = z.infer<typeof CommentaryBookChapterSchema>;\r\n\r\n/**\r\n * Defines a Zod schema for the audio links for a book chapter.\r\n */\r\nexport const TranslationBookChapterAudioLinksSchema = z.record(z.string(), z.string()).meta({\r\n id: 'TranslationBookChapterAudioLinks',\r\n description: 'Defines the schema for the audio links for a book chapter.',\r\n});\r\n\r\nexport type TranslationBookChapterAudioLinks = z.infer<typeof TranslationBookChapterAudioLinksSchema>;\r\n\r\n/**\r\n * Defines a Zod schema for information about data in a chapter.\r\n */\r\nexport const ChapterDataSchema = z.object({\r\n /**\r\n * The number of the chapter.\r\n */\r\n number: z.number().meta({\r\n description: 'The number of the chapter.',\r\n }),\r\n\r\n /**\r\n * The content of the chapter.\r\n */\r\n content: z.array(z.lazy(() => ChapterContentSchema)).meta({\r\n description: 'The content of the chapter.',\r\n }),\r\n\r\n /**\r\n * The list of footnotes for the chapter.\r\n */\r\n footnotes: z.array(z.lazy(() => ChapterFootnoteSchema)).meta({\r\n description: 'The list of footnotes for the chapter.',\r\n }),\r\n});\r\n\r\nexport type ChapterData = z.infer<typeof ChapterDataSchema>;\r\n\r\n/**\r\n * Defines a Zod schema for information about data in a chapter in a commentary.\r\n */\r\nexport const CommentaryChapterDataSchema = z.object({\r\n /**\r\n * The number of the chapter.\r\n */\r\n number: z.number().meta({\r\n description: 'The number of the chapter.',\r\n }),\r\n\r\n /**\r\n * The introduction that the commentary provided to the chapter.\r\n * Not all commentaries provide an introduction to a chapter.\r\n */\r\n introduction: z.string().optional().meta({\r\n description: 'The introduction that the commentary provided to the chapter. Not all commentaries provide an introduction to a chapter.',\r\n }),\r\n\r\n /**\r\n * The content of the chapter.\r\n */\r\n content: z.array(z.lazy(() => ChapterVerseSchema)).meta({\r\n description: 'The content of the chapter.',\r\n }),\r\n});\r\n\r\nexport type CommentaryChapterData = z.infer<typeof CommentaryChapterDataSchema>;\r\n\r\n/**\r\n * A Zod schema for a heading in a chapter.\r\n */\r\nexport const ChapterHeadingSchema = z.object({\r\n /**\r\n * Indicates that the content represents a heading.\r\n */\r\n type: z.literal('heading'),\r\n\r\n /**\r\n * The content for the heading.\r\n * If multiple strings are included in the array, they should be concatenated with a space.\r\n */\r\n content: z.array(z.string()).meta({\r\n description: 'The content for the heading. If multiple strings are included in the array, they should be concatenated with a space.',\r\n }),\r\n}).meta({\r\n id: 'ChapterHeading',\r\n description: 'Defines the schema for a heading in a chapter.',\r\n});\r\n\r\nexport type ChapterHeading = z.infer<typeof ChapterHeadingSchema>;\r\n\r\n/**\r\n * A Zod schema for a line break in a chapter.\r\n */\r\nexport const ChapterLineBreakSchema = z.object({\r\n /**\r\n * Indicates that the content represents a line break.\r\n */\r\n type: z.literal('line_break'),\r\n}).meta({\r\n id: 'ChapterLineBreak',\r\n description: 'Defines the schema for a line break in a chapter.',\r\n});\r\n\r\nexport type ChapterLineBreak = z.infer<typeof ChapterLineBreakSchema>;\r\n\r\n/**\r\n * A Zod schema for a Hebrew Subtitle in a chapter.\r\n * These are often used included as informational content that appeared in the original manuscripts.\r\n * For example, Psalms 49 has the Hebrew Subtitle \"To the choirmaster. A Psalm of the Sons of Korah.\"\r\n */\r\nexport const ChapterHebrewSubtitleSchema = z.object({\r\n /**\r\n * Indicates that the content represents a Hebrew Subtitle.\r\n */\r\n type: z.literal('hebrew_subtitle'),\r\n\r\n /**\r\n * The list of content that is contained in the subtitle.\r\n * Each element in the list could be a string, formatted text, or a footnote reference.\r\n */\r\n content: z.array(z.union([\r\n z.string(),\r\n z.lazy(() => FormattedTextSchema),\r\n z.lazy(() => VerseFootnoteReferenceSchema),\r\n ])).meta({\r\n description: 'The content that is contained in the subtitle. Each element in the list could be a string, formatted text, or a footnote reference.',\r\n }),\r\n}).meta({\r\n id: 'ChapterHebrewSubtitle',\r\n description: 'Defines the schema for a Hebrew Subtitle in a chapter.',\r\n});\r\n\r\nexport type ChapterHebrewSubtitle = z.infer<typeof ChapterHebrewSubtitleSchema>;\r\n\r\n/**\r\n * A Zod schema for a verse in a chapter.\r\n */\r\nexport const ChapterVerseSchema = z.object({\r\n /**\r\n * Indicates that the content is a verse.\r\n */\r\n type: z.literal('verse'),\r\n\r\n /**\r\n * The number of the verse.\r\n */\r\n number: z.number().meta({\r\n description: 'The number of the verse.',\r\n }),\r\n\r\n /**\r\n * The list of content for the verse.\r\n * Each element in the list could be a string, formatted text, or a footnote reference.\r\n */\r\n content: z.array(z.union([\r\n z.string(),\r\n z.lazy(() => FormattedTextSchema),\r\n z.lazy(() => InlineHeadingSchema),\r\n z.lazy(() => InlineLineBreakSchema),\r\n z.lazy(() => VerseFootnoteReferenceSchema),\r\n ])).meta({\r\n description: 'The list of content for the verse. Each element in the list could be a string, formatted text, or a footnote reference.',\r\n }),\r\n}).meta({\r\n id: 'ChapterVerse',\r\n description: 'Defines the schema for a verse in a chapter.',\r\n});\r\n\r\nexport type ChapterVerse = z.infer<typeof ChapterVerseSchema>;\r\n\r\n/**\r\n * A union type that represents a single piece of chapter content.\r\n * A piece of chapter content can be one of the following things:\r\n * - A heading.\r\n * - A line break.\r\n * - A verse.\r\n * - A Hebrew Subtitle.\r\n */\r\nexport const ChapterContentSchema = z.discriminatedUnion('type', [\r\n ChapterHeadingSchema,\r\n ChapterLineBreakSchema,\r\n ChapterVerseSchema,\r\n ChapterHebrewSubtitleSchema,\r\n]).meta({\r\n id: 'ChapterContent',\r\n description: 'Defines a union type that represents a single piece of chapter content. A piece of chapter content can be one of the following things: A heading, a line break, a verse, or a Hebrew Subtitle.',\r\n});\r\n\r\n/**\r\n * A union type that represents a single piece of chapter content.\r\n * A piece of chapter content can be one of the following things:\r\n * - A heading.\r\n * - A line break.\r\n * - A verse.\r\n * - A Hebrew Subtitle.\r\n */\r\nexport type ChapterContent = z.infer<typeof ChapterContentSchema>;\r\n\r\n/**\r\n * A Zod schema for formatted text. That is, text that is formatted in a particular manner.\r\n */\r\nexport const FormattedTextSchema = z.object({\r\n /**\r\n * The text that is formatted.\r\n */\r\n text: z.string().meta({\r\n description: 'The text that is formatted.',\r\n }),\r\n\r\n /**\r\n * Whether the text represents a poem.\r\n * The number indicates the level of indent.\r\n *\r\n * Common in Psalms.\r\n */\r\n poem: z.number().optional().meta({\r\n description: 'Whether the text represents a poem. The number indicates the level of indent. Common in Psalms.',\r\n }),\r\n\r\n /**\r\n * Whether the text represents the Words of Jesus.\r\n */\r\n wordsOfJesus: z.boolean().optional().meta({\r\n description: 'Whether the text represents the Words of Jesus.',\r\n }),\r\n}).meta({\r\n id: 'FormattedText',\r\n description: 'Defines the schema for formatted text. That is, text that is formatted in a particular manner.',\r\n});\r\n\r\nexport type FormattedText = z.infer<typeof FormattedTextSchema>;\r\n\r\n/**\r\n * A Zod schema for a heading that is embedded in a verse.\r\n */\r\nexport const InlineHeadingSchema = z.object({\r\n /**\r\n * The text of the heading.\r\n */\r\n heading: z.string().meta({\r\n description: 'The text of the heading.',\r\n }),\r\n}).meta({\r\n id: 'InlineHeading',\r\n description: 'Defines the schema for a heading that is embedded in a verse.',\r\n});\r\n\r\nexport type InlineHeading = z.infer<typeof InlineHeadingSchema>;\r\n\r\n/**\r\n * A Zod schema for a line break that is embedded in a verse.\r\n */\r\nexport const InlineLineBreakSchema = z.object({\r\n lineBreak: z.literal(true),\r\n}).meta({\r\n id: 'InlineLineBreak',\r\n description: 'Defines the schema for a line break that is embedded in a verse.',\r\n});\r\n\r\nexport type InlineLineBreak = z.infer<typeof InlineLineBreakSchema>;\r\n\r\n/**\r\n * A Zod schema for a footnote reference in a verse or a Hebrew Subtitle.\r\n */\r\nexport const VerseFootnoteReferenceSchema = z.object({\r\n /**\r\n * The ID of the note.\r\n */\r\n noteId: z.number().meta({\r\n description: 'The ID of the note.',\r\n }),\r\n}).meta({\r\n id: 'VerseFootnoteReference',\r\n description: 'Defines the schema for a footnote reference in a verse or a Hebrew Subtitle.',\r\n});\r\n\r\nexport type VerseFootnoteReference = z.infer<typeof VerseFootnoteReferenceSchema>;\r\n\r\n/**\r\n * A Zod schema for information about a footnote.\r\n */\r\nexport const ChapterFootnoteSchema = z.object({\r\n /**\r\n * The ID of the note that is referenced.\r\n */\r\n noteId: z.number().meta({\r\n description: 'The ID of the note that is referenced.',\r\n }),\r\n\r\n /**\r\n * The text of the footnote.\r\n */\r\n text: z.string().meta({\r\n description: 'The text of the footnote.',\r\n }),\r\n\r\n /**\r\n * The verse reference for the footnote.\r\n */\r\n reference: z.object({\r\n chapter: z.number(),\r\n verse: z.number(),\r\n }).optional().meta({\r\n description: 'The verse reference for the footnote. Undefined if the footnote isn\\'t associated with a specific verse.',\r\n }),\r\n\r\n /**\r\n * The caller that should be used for the footnote.\r\n * For footnotes, a \"caller\" is the character that is used in the text to reference to footnote.\r\n *\r\n * For example, in the text:\r\n * Hello (a) World\r\n *\r\n * ----\r\n * (a) This is a footnote.\r\n *\r\n * The \"(a)\" is the caller.\r\n *\r\n * If \"+\", then the caller should be autogenerated.\r\n * If null, then the caller should be empty.\r\n * If a string, then the caller should be that string.\r\n */\r\n caller: z.union([z.literal('+'), z.string(), z.null()]).meta({\r\n description: 'The caller that should be used for the footnote. For footnotes, a \"caller\" is the character that is used in the text to reference to footnote. For example, in the text: Hello (a) World ---- (a) This is a footnote. The \"(a)\" is the caller. If \"+\", then the caller should be autogenerated. If null, then the caller should be empty. If a string, then the caller should be that string.',\r\n }),\r\n}).meta({\r\n id: 'ChapterFootnote',\r\n description: 'Defines the schema for information about a footnote.',\r\n});\r\n\r\nexport type ChapterFootnote = z.infer<typeof ChapterFootnoteSchema>;\r\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }