@youversion/platform-core 0.8.0 → 0.8.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/.turbo/turbo-build.log +7 -7
- package/CHANGELOG.md +15 -0
- package/dist/index.d.cts +20 -10
- package/dist/index.d.ts +20 -10
- package/package.json +4 -3
- package/src/__tests__/MockBibles.ts +1129 -1227
- package/src/__tests__/MockChapters.ts +171 -1950
- package/src/__tests__/MockPassages.ts +7 -14
- package/src/__tests__/MockVerses.ts +60 -75
- package/src/__tests__/MockVersions.ts +30 -30
- package/src/__tests__/bible.test.ts +7 -16
- package/src/__tests__/client.test.ts +10 -1
- package/src/__tests__/setup.ts +12 -9
- package/src/schemas/book.ts +4 -3
- package/src/schemas/chapter.ts +3 -12
- package/src/schemas/passage.ts +1 -3
- package/src/schemas/verse.ts +2 -7
- package/src/schemas/version.ts +2 -2
|
@@ -1,1628 +1,1530 @@
|
|
|
1
|
+
import { mockGenesisChapters } from './MockChapters';
|
|
2
|
+
|
|
1
3
|
export const mockBibleGenesis = {
|
|
2
4
|
id: 'GEN',
|
|
3
5
|
title: 'Genesis',
|
|
6
|
+
full_title: 'The First Book of Moses, Called Genesis',
|
|
4
7
|
abbreviation: 'Gen',
|
|
5
8
|
canon: 'ot',
|
|
6
|
-
chapters:
|
|
7
|
-
'GEN.1',
|
|
8
|
-
'GEN.2',
|
|
9
|
-
'GEN.3',
|
|
10
|
-
'GEN.4',
|
|
11
|
-
'GEN.5',
|
|
12
|
-
'GEN.6',
|
|
13
|
-
'GEN.7',
|
|
14
|
-
'GEN.8',
|
|
15
|
-
'GEN.9',
|
|
16
|
-
'GEN.10',
|
|
17
|
-
'GEN.11',
|
|
18
|
-
'GEN.12',
|
|
19
|
-
'GEN.13',
|
|
20
|
-
'GEN.14',
|
|
21
|
-
'GEN.15',
|
|
22
|
-
'GEN.16',
|
|
23
|
-
'GEN.17',
|
|
24
|
-
'GEN.18',
|
|
25
|
-
'GEN.19',
|
|
26
|
-
'GEN.20',
|
|
27
|
-
'GEN.21',
|
|
28
|
-
'GEN.22',
|
|
29
|
-
'GEN.23',
|
|
30
|
-
'GEN.24',
|
|
31
|
-
'GEN.25',
|
|
32
|
-
'GEN.26',
|
|
33
|
-
'GEN.27',
|
|
34
|
-
'GEN.28',
|
|
35
|
-
'GEN.29',
|
|
36
|
-
'GEN.30',
|
|
37
|
-
'GEN.31',
|
|
38
|
-
'GEN.32',
|
|
39
|
-
'GEN.33',
|
|
40
|
-
'GEN.34',
|
|
41
|
-
'GEN.35',
|
|
42
|
-
'GEN.36',
|
|
43
|
-
'GEN.37',
|
|
44
|
-
'GEN.38',
|
|
45
|
-
'GEN.39',
|
|
46
|
-
'GEN.40',
|
|
47
|
-
'GEN.41',
|
|
48
|
-
'GEN.42',
|
|
49
|
-
'GEN.43',
|
|
50
|
-
'GEN.44',
|
|
51
|
-
'GEN.45',
|
|
52
|
-
'GEN.46',
|
|
53
|
-
'GEN.47',
|
|
54
|
-
'GEN.48',
|
|
55
|
-
'GEN.49',
|
|
56
|
-
'GEN.50',
|
|
57
|
-
],
|
|
9
|
+
chapters: mockGenesisChapters,
|
|
58
10
|
};
|
|
59
11
|
export const mockBibleBooks = [
|
|
60
12
|
{
|
|
61
13
|
id: 'GEN',
|
|
62
14
|
title: 'Genesis',
|
|
15
|
+
full_title: 'The First Book of Moses, Called Genesis',
|
|
63
16
|
abbreviation: 'Gen',
|
|
64
17
|
canon: 'ot',
|
|
65
|
-
chapters:
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
'GEN.16',
|
|
82
|
-
'GEN.17',
|
|
83
|
-
'GEN.18',
|
|
84
|
-
'GEN.19',
|
|
85
|
-
'GEN.20',
|
|
86
|
-
'GEN.21',
|
|
87
|
-
'GEN.22',
|
|
88
|
-
'GEN.23',
|
|
89
|
-
'GEN.24',
|
|
90
|
-
'GEN.25',
|
|
91
|
-
'GEN.26',
|
|
92
|
-
'GEN.27',
|
|
93
|
-
'GEN.28',
|
|
94
|
-
'GEN.29',
|
|
95
|
-
'GEN.30',
|
|
96
|
-
'GEN.31',
|
|
97
|
-
'GEN.32',
|
|
98
|
-
'GEN.33',
|
|
99
|
-
'GEN.34',
|
|
100
|
-
'GEN.35',
|
|
101
|
-
'GEN.36',
|
|
102
|
-
'GEN.37',
|
|
103
|
-
'GEN.38',
|
|
104
|
-
'GEN.39',
|
|
105
|
-
'GEN.40',
|
|
106
|
-
'GEN.41',
|
|
107
|
-
'GEN.42',
|
|
108
|
-
'GEN.43',
|
|
109
|
-
'GEN.44',
|
|
110
|
-
'GEN.45',
|
|
111
|
-
'GEN.46',
|
|
112
|
-
'GEN.47',
|
|
113
|
-
'GEN.48',
|
|
114
|
-
'GEN.49',
|
|
115
|
-
'GEN.50',
|
|
116
|
-
],
|
|
18
|
+
chapters: Array.from({ length: 50 }, (_, i) => {
|
|
19
|
+
const chapterNumber = i + 1;
|
|
20
|
+
return {
|
|
21
|
+
id: chapterNumber.toString(),
|
|
22
|
+
passage_id: `GEN.${chapterNumber}`,
|
|
23
|
+
title: chapterNumber.toString(),
|
|
24
|
+
verses: Array.from({ length: 31 }, (_, j) => {
|
|
25
|
+
const verseNumber = j + 1;
|
|
26
|
+
return {
|
|
27
|
+
id: verseNumber.toString(),
|
|
28
|
+
passage_id: `GEN.${chapterNumber}.${verseNumber}`,
|
|
29
|
+
title: verseNumber.toString(),
|
|
30
|
+
};
|
|
31
|
+
}),
|
|
32
|
+
};
|
|
33
|
+
}),
|
|
117
34
|
},
|
|
118
35
|
{
|
|
119
36
|
id: 'EXO',
|
|
120
37
|
title: 'Exodus',
|
|
38
|
+
full_title: 'The Second Book of Moses, Commonly Called Exodus',
|
|
121
39
|
abbreviation: 'Exod',
|
|
122
40
|
canon: 'ot',
|
|
123
|
-
chapters:
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
'EXO.16',
|
|
140
|
-
'EXO.17',
|
|
141
|
-
'EXO.18',
|
|
142
|
-
'EXO.19',
|
|
143
|
-
'EXO.20',
|
|
144
|
-
'EXO.21',
|
|
145
|
-
'EXO.22',
|
|
146
|
-
'EXO.23',
|
|
147
|
-
'EXO.24',
|
|
148
|
-
'EXO.25',
|
|
149
|
-
'EXO.26',
|
|
150
|
-
'EXO.27',
|
|
151
|
-
'EXO.28',
|
|
152
|
-
'EXO.29',
|
|
153
|
-
'EXO.30',
|
|
154
|
-
'EXO.31',
|
|
155
|
-
'EXO.32',
|
|
156
|
-
'EXO.33',
|
|
157
|
-
'EXO.34',
|
|
158
|
-
'EXO.35',
|
|
159
|
-
'EXO.36',
|
|
160
|
-
'EXO.37',
|
|
161
|
-
'EXO.38',
|
|
162
|
-
'EXO.39',
|
|
163
|
-
'EXO.40',
|
|
164
|
-
],
|
|
41
|
+
chapters: Array.from({ length: 40 }, (_, i) => {
|
|
42
|
+
const chapterNumber = i + 1;
|
|
43
|
+
return {
|
|
44
|
+
id: chapterNumber.toString(),
|
|
45
|
+
passage_id: `EXO.${chapterNumber}`,
|
|
46
|
+
title: chapterNumber.toString(),
|
|
47
|
+
verses: Array.from({ length: 20 }, (_, j) => {
|
|
48
|
+
const verseNumber = j + 1;
|
|
49
|
+
return {
|
|
50
|
+
id: verseNumber.toString(),
|
|
51
|
+
passage_id: `EXO.${chapterNumber}.${verseNumber}`,
|
|
52
|
+
title: verseNumber.toString(),
|
|
53
|
+
};
|
|
54
|
+
}),
|
|
55
|
+
};
|
|
56
|
+
}),
|
|
165
57
|
},
|
|
166
58
|
{
|
|
167
59
|
id: 'LEV',
|
|
168
60
|
title: 'Leviticus',
|
|
61
|
+
full_title: 'The Third Book of Moses, Commonly Called Leviticus',
|
|
169
62
|
abbreviation: 'Lev',
|
|
170
63
|
canon: 'ot',
|
|
171
|
-
chapters:
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
'LEV.16',
|
|
188
|
-
'LEV.17',
|
|
189
|
-
'LEV.18',
|
|
190
|
-
'LEV.19',
|
|
191
|
-
'LEV.20',
|
|
192
|
-
'LEV.21',
|
|
193
|
-
'LEV.22',
|
|
194
|
-
'LEV.23',
|
|
195
|
-
'LEV.24',
|
|
196
|
-
'LEV.25',
|
|
197
|
-
'LEV.26',
|
|
198
|
-
'LEV.27',
|
|
199
|
-
],
|
|
64
|
+
chapters: Array.from({ length: 27 }, (_, i) => {
|
|
65
|
+
const chapterNumber = i + 1;
|
|
66
|
+
return {
|
|
67
|
+
id: chapterNumber.toString(),
|
|
68
|
+
passage_id: `LEV.${chapterNumber}`,
|
|
69
|
+
title: chapterNumber.toString(),
|
|
70
|
+
verses: Array.from({ length: 20 }, (_, j) => {
|
|
71
|
+
const verseNumber = j + 1;
|
|
72
|
+
return {
|
|
73
|
+
id: verseNumber.toString(),
|
|
74
|
+
passage_id: `LEV.${chapterNumber}.${verseNumber}`,
|
|
75
|
+
title: verseNumber.toString(),
|
|
76
|
+
};
|
|
77
|
+
}),
|
|
78
|
+
};
|
|
79
|
+
}),
|
|
200
80
|
},
|
|
201
81
|
{
|
|
202
82
|
id: 'NUM',
|
|
203
83
|
title: 'Numbers',
|
|
84
|
+
full_title: 'The Fourth Book of Moses, Commonly Called Numbers',
|
|
204
85
|
abbreviation: 'Num',
|
|
205
86
|
canon: 'ot',
|
|
206
|
-
chapters:
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
'NUM.16',
|
|
223
|
-
'NUM.17',
|
|
224
|
-
'NUM.18',
|
|
225
|
-
'NUM.19',
|
|
226
|
-
'NUM.20',
|
|
227
|
-
'NUM.21',
|
|
228
|
-
'NUM.22',
|
|
229
|
-
'NUM.23',
|
|
230
|
-
'NUM.24',
|
|
231
|
-
'NUM.25',
|
|
232
|
-
'NUM.26',
|
|
233
|
-
'NUM.27',
|
|
234
|
-
'NUM.28',
|
|
235
|
-
'NUM.29',
|
|
236
|
-
'NUM.30',
|
|
237
|
-
'NUM.31',
|
|
238
|
-
'NUM.32',
|
|
239
|
-
'NUM.33',
|
|
240
|
-
'NUM.34',
|
|
241
|
-
'NUM.35',
|
|
242
|
-
'NUM.36',
|
|
243
|
-
],
|
|
87
|
+
chapters: Array.from({ length: 36 }, (_, i) => {
|
|
88
|
+
const chapterNumber = i + 1;
|
|
89
|
+
return {
|
|
90
|
+
id: chapterNumber.toString(),
|
|
91
|
+
passage_id: `NUM.${chapterNumber}`,
|
|
92
|
+
title: chapterNumber.toString(),
|
|
93
|
+
verses: Array.from({ length: 20 }, (_, j) => {
|
|
94
|
+
const verseNumber = j + 1;
|
|
95
|
+
return {
|
|
96
|
+
id: verseNumber.toString(),
|
|
97
|
+
passage_id: `NUM.${chapterNumber}.${verseNumber}`,
|
|
98
|
+
title: verseNumber.toString(),
|
|
99
|
+
};
|
|
100
|
+
}),
|
|
101
|
+
};
|
|
102
|
+
}),
|
|
244
103
|
},
|
|
245
104
|
{
|
|
246
105
|
id: 'DEU',
|
|
247
106
|
title: 'Deuteronomy',
|
|
107
|
+
full_title: 'The Fifth Book of Moses, Commonly Called Deuteronomy',
|
|
248
108
|
abbreviation: 'Deut',
|
|
249
109
|
canon: 'ot',
|
|
250
|
-
chapters:
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
'DEU.16',
|
|
267
|
-
'DEU.17',
|
|
268
|
-
'DEU.18',
|
|
269
|
-
'DEU.19',
|
|
270
|
-
'DEU.20',
|
|
271
|
-
'DEU.21',
|
|
272
|
-
'DEU.22',
|
|
273
|
-
'DEU.23',
|
|
274
|
-
'DEU.24',
|
|
275
|
-
'DEU.25',
|
|
276
|
-
'DEU.26',
|
|
277
|
-
'DEU.27',
|
|
278
|
-
'DEU.28',
|
|
279
|
-
'DEU.29',
|
|
280
|
-
'DEU.30',
|
|
281
|
-
'DEU.31',
|
|
282
|
-
'DEU.32',
|
|
283
|
-
'DEU.33',
|
|
284
|
-
'DEU.34',
|
|
285
|
-
],
|
|
110
|
+
chapters: Array.from({ length: 34 }, (_, i) => {
|
|
111
|
+
const chapterNumber = i + 1;
|
|
112
|
+
return {
|
|
113
|
+
id: chapterNumber.toString(),
|
|
114
|
+
passage_id: `DEU.${chapterNumber}`,
|
|
115
|
+
title: chapterNumber.toString(),
|
|
116
|
+
verses: Array.from({ length: 20 }, (_, j) => {
|
|
117
|
+
const verseNumber = j + 1;
|
|
118
|
+
return {
|
|
119
|
+
id: verseNumber.toString(),
|
|
120
|
+
passage_id: `DEU.${chapterNumber}.${verseNumber}`,
|
|
121
|
+
title: verseNumber.toString(),
|
|
122
|
+
};
|
|
123
|
+
}),
|
|
124
|
+
};
|
|
125
|
+
}),
|
|
286
126
|
},
|
|
287
127
|
{
|
|
288
128
|
id: 'JOS',
|
|
289
129
|
title: 'Joshua',
|
|
130
|
+
full_title: 'The Book of Joshua',
|
|
290
131
|
abbreviation: 'Josh',
|
|
291
132
|
canon: 'ot',
|
|
292
|
-
chapters:
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
'JOS.16',
|
|
309
|
-
'JOS.17',
|
|
310
|
-
'JOS.18',
|
|
311
|
-
'JOS.19',
|
|
312
|
-
'JOS.20',
|
|
313
|
-
'JOS.21',
|
|
314
|
-
'JOS.22',
|
|
315
|
-
'JOS.23',
|
|
316
|
-
'JOS.24',
|
|
317
|
-
],
|
|
133
|
+
chapters: Array.from({ length: 24 }, (_, i) => {
|
|
134
|
+
const chapterNumber = i + 1;
|
|
135
|
+
return {
|
|
136
|
+
id: chapterNumber.toString(),
|
|
137
|
+
passage_id: `JOS.${chapterNumber}`,
|
|
138
|
+
title: chapterNumber.toString(),
|
|
139
|
+
verses: Array.from({ length: 20 }, (_, j) => {
|
|
140
|
+
const verseNumber = j + 1;
|
|
141
|
+
return {
|
|
142
|
+
id: verseNumber.toString(),
|
|
143
|
+
passage_id: `JOS.${chapterNumber}.${verseNumber}`,
|
|
144
|
+
title: verseNumber.toString(),
|
|
145
|
+
};
|
|
146
|
+
}),
|
|
147
|
+
};
|
|
148
|
+
}),
|
|
318
149
|
},
|
|
319
150
|
{
|
|
320
151
|
id: 'JDG',
|
|
321
152
|
title: 'Judges',
|
|
153
|
+
full_title: 'The Book of Judges',
|
|
322
154
|
abbreviation: 'Judg',
|
|
323
155
|
canon: 'ot',
|
|
324
|
-
chapters:
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
'JDG.16',
|
|
341
|
-
'JDG.17',
|
|
342
|
-
'JDG.18',
|
|
343
|
-
'JDG.19',
|
|
344
|
-
'JDG.20',
|
|
345
|
-
'JDG.21',
|
|
346
|
-
],
|
|
156
|
+
chapters: Array.from({ length: 21 }, (_, i) => {
|
|
157
|
+
const chapterNumber = i + 1;
|
|
158
|
+
return {
|
|
159
|
+
id: chapterNumber.toString(),
|
|
160
|
+
passage_id: `JDG.${chapterNumber}`,
|
|
161
|
+
title: chapterNumber.toString(),
|
|
162
|
+
verses: Array.from({ length: 20 }, (_, j) => {
|
|
163
|
+
const verseNumber = j + 1;
|
|
164
|
+
return {
|
|
165
|
+
id: verseNumber.toString(),
|
|
166
|
+
passage_id: `JDG.${chapterNumber}.${verseNumber}`,
|
|
167
|
+
title: verseNumber.toString(),
|
|
168
|
+
};
|
|
169
|
+
}),
|
|
170
|
+
};
|
|
171
|
+
}),
|
|
347
172
|
},
|
|
348
173
|
{
|
|
349
174
|
id: 'RUT',
|
|
350
175
|
title: 'Ruth',
|
|
176
|
+
full_title: 'The Book of Ruth',
|
|
351
177
|
abbreviation: 'Ruth',
|
|
352
178
|
canon: 'ot',
|
|
353
|
-
chapters:
|
|
179
|
+
chapters: Array.from({ length: 4 }, (_, i) => {
|
|
180
|
+
const chapterNumber = i + 1;
|
|
181
|
+
return {
|
|
182
|
+
id: chapterNumber.toString(),
|
|
183
|
+
passage_id: `RUT.${chapterNumber}`,
|
|
184
|
+
title: chapterNumber.toString(),
|
|
185
|
+
verses: Array.from({ length: 20 }, (_, j) => {
|
|
186
|
+
const verseNumber = j + 1;
|
|
187
|
+
return {
|
|
188
|
+
id: verseNumber.toString(),
|
|
189
|
+
passage_id: `RUT.${chapterNumber}.${verseNumber}`,
|
|
190
|
+
title: verseNumber.toString(),
|
|
191
|
+
};
|
|
192
|
+
}),
|
|
193
|
+
};
|
|
194
|
+
}),
|
|
354
195
|
},
|
|
355
196
|
{
|
|
356
197
|
id: '1SA',
|
|
357
198
|
title: '1 Samuel',
|
|
199
|
+
full_title: 'The First Book of Samuel',
|
|
358
200
|
abbreviation: '1 Sam',
|
|
359
201
|
canon: 'ot',
|
|
360
|
-
chapters:
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
'1SA.16',
|
|
377
|
-
'1SA.17',
|
|
378
|
-
'1SA.18',
|
|
379
|
-
'1SA.19',
|
|
380
|
-
'1SA.20',
|
|
381
|
-
'1SA.21',
|
|
382
|
-
'1SA.22',
|
|
383
|
-
'1SA.23',
|
|
384
|
-
'1SA.24',
|
|
385
|
-
'1SA.25',
|
|
386
|
-
'1SA.26',
|
|
387
|
-
'1SA.27',
|
|
388
|
-
'1SA.28',
|
|
389
|
-
'1SA.29',
|
|
390
|
-
'1SA.30',
|
|
391
|
-
'1SA.31',
|
|
392
|
-
],
|
|
202
|
+
chapters: Array.from({ length: 31 }, (_, i) => {
|
|
203
|
+
const chapterNumber = i + 1;
|
|
204
|
+
return {
|
|
205
|
+
id: chapterNumber.toString(),
|
|
206
|
+
passage_id: `1SA.${chapterNumber}`,
|
|
207
|
+
title: chapterNumber.toString(),
|
|
208
|
+
verses: Array.from({ length: 20 }, (_, j) => {
|
|
209
|
+
const verseNumber = j + 1;
|
|
210
|
+
return {
|
|
211
|
+
id: verseNumber.toString(),
|
|
212
|
+
passage_id: `1SA.${chapterNumber}.${verseNumber}`,
|
|
213
|
+
title: verseNumber.toString(),
|
|
214
|
+
};
|
|
215
|
+
}),
|
|
216
|
+
};
|
|
217
|
+
}),
|
|
393
218
|
},
|
|
394
219
|
{
|
|
395
220
|
id: '2SA',
|
|
396
221
|
title: '2 Samuel',
|
|
222
|
+
full_title: 'The Second Book of Samuel',
|
|
397
223
|
abbreviation: '2 Sam',
|
|
398
224
|
canon: 'ot',
|
|
399
|
-
chapters:
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
'2SA.16',
|
|
416
|
-
'2SA.17',
|
|
417
|
-
'2SA.18',
|
|
418
|
-
'2SA.19',
|
|
419
|
-
'2SA.20',
|
|
420
|
-
'2SA.21',
|
|
421
|
-
'2SA.22',
|
|
422
|
-
'2SA.23',
|
|
423
|
-
'2SA.24',
|
|
424
|
-
],
|
|
225
|
+
chapters: Array.from({ length: 24 }, (_, i) => {
|
|
226
|
+
const chapterNumber = i + 1;
|
|
227
|
+
return {
|
|
228
|
+
id: chapterNumber.toString(),
|
|
229
|
+
passage_id: `2SA.${chapterNumber}`,
|
|
230
|
+
title: chapterNumber.toString(),
|
|
231
|
+
verses: Array.from({ length: 20 }, (_, j) => {
|
|
232
|
+
const verseNumber = j + 1;
|
|
233
|
+
return {
|
|
234
|
+
id: verseNumber.toString(),
|
|
235
|
+
passage_id: `2SA.${chapterNumber}.${verseNumber}`,
|
|
236
|
+
title: verseNumber.toString(),
|
|
237
|
+
};
|
|
238
|
+
}),
|
|
239
|
+
};
|
|
240
|
+
}),
|
|
425
241
|
},
|
|
426
242
|
{
|
|
427
243
|
id: '1KI',
|
|
428
244
|
title: '1 Kings',
|
|
245
|
+
full_title: 'The First Book of Kings',
|
|
429
246
|
abbreviation: '1 Kgs',
|
|
430
247
|
canon: 'ot',
|
|
431
|
-
chapters:
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
'1KI.16',
|
|
448
|
-
'1KI.17',
|
|
449
|
-
'1KI.18',
|
|
450
|
-
'1KI.19',
|
|
451
|
-
'1KI.20',
|
|
452
|
-
'1KI.21',
|
|
453
|
-
'1KI.22',
|
|
454
|
-
],
|
|
248
|
+
chapters: Array.from({ length: 22 }, (_, i) => {
|
|
249
|
+
const chapterNumber = i + 1;
|
|
250
|
+
return {
|
|
251
|
+
id: chapterNumber.toString(),
|
|
252
|
+
passage_id: `1KI.${chapterNumber}`,
|
|
253
|
+
title: chapterNumber.toString(),
|
|
254
|
+
verses: Array.from({ length: 20 }, (_, j) => {
|
|
255
|
+
const verseNumber = j + 1;
|
|
256
|
+
return {
|
|
257
|
+
id: verseNumber.toString(),
|
|
258
|
+
passage_id: `1KI.${chapterNumber}.${verseNumber}`,
|
|
259
|
+
title: verseNumber.toString(),
|
|
260
|
+
};
|
|
261
|
+
}),
|
|
262
|
+
};
|
|
263
|
+
}),
|
|
455
264
|
},
|
|
456
265
|
{
|
|
457
266
|
id: '2KI',
|
|
458
267
|
title: '2 Kings',
|
|
268
|
+
full_title: 'The Second Book of Kings',
|
|
459
269
|
abbreviation: '2 Kgs',
|
|
460
270
|
canon: 'ot',
|
|
461
|
-
chapters:
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
'2KI.16',
|
|
478
|
-
'2KI.17',
|
|
479
|
-
'2KI.18',
|
|
480
|
-
'2KI.19',
|
|
481
|
-
'2KI.20',
|
|
482
|
-
'2KI.21',
|
|
483
|
-
'2KI.22',
|
|
484
|
-
'2KI.23',
|
|
485
|
-
'2KI.24',
|
|
486
|
-
'2KI.25',
|
|
487
|
-
],
|
|
271
|
+
chapters: Array.from({ length: 25 }, (_, i) => {
|
|
272
|
+
const chapterNumber = i + 1;
|
|
273
|
+
return {
|
|
274
|
+
id: chapterNumber.toString(),
|
|
275
|
+
passage_id: `2KI.${chapterNumber}`,
|
|
276
|
+
title: chapterNumber.toString(),
|
|
277
|
+
verses: Array.from({ length: 20 }, (_, j) => {
|
|
278
|
+
const verseNumber = j + 1;
|
|
279
|
+
return {
|
|
280
|
+
id: verseNumber.toString(),
|
|
281
|
+
passage_id: `2KI.${chapterNumber}.${verseNumber}`,
|
|
282
|
+
title: verseNumber.toString(),
|
|
283
|
+
};
|
|
284
|
+
}),
|
|
285
|
+
};
|
|
286
|
+
}),
|
|
488
287
|
},
|
|
489
288
|
{
|
|
490
289
|
id: '1CH',
|
|
491
290
|
title: '1 Chronicles',
|
|
291
|
+
full_title: 'The First Book of Chronicles',
|
|
492
292
|
abbreviation: '1 Chr',
|
|
493
293
|
canon: 'ot',
|
|
494
|
-
chapters:
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
'1CH.16',
|
|
511
|
-
'1CH.17',
|
|
512
|
-
'1CH.18',
|
|
513
|
-
'1CH.19',
|
|
514
|
-
'1CH.20',
|
|
515
|
-
'1CH.21',
|
|
516
|
-
'1CH.22',
|
|
517
|
-
'1CH.23',
|
|
518
|
-
'1CH.24',
|
|
519
|
-
'1CH.25',
|
|
520
|
-
'1CH.26',
|
|
521
|
-
'1CH.27',
|
|
522
|
-
'1CH.28',
|
|
523
|
-
'1CH.29',
|
|
524
|
-
],
|
|
294
|
+
chapters: Array.from({ length: 29 }, (_, i) => {
|
|
295
|
+
const chapterNumber = i + 1;
|
|
296
|
+
return {
|
|
297
|
+
id: chapterNumber.toString(),
|
|
298
|
+
passage_id: `1CH.${chapterNumber}`,
|
|
299
|
+
title: chapterNumber.toString(),
|
|
300
|
+
verses: Array.from({ length: 20 }, (_, j) => {
|
|
301
|
+
const verseNumber = j + 1;
|
|
302
|
+
return {
|
|
303
|
+
id: verseNumber.toString(),
|
|
304
|
+
passage_id: `1CH.${chapterNumber}.${verseNumber}`,
|
|
305
|
+
title: verseNumber.toString(),
|
|
306
|
+
};
|
|
307
|
+
}),
|
|
308
|
+
};
|
|
309
|
+
}),
|
|
525
310
|
},
|
|
526
311
|
{
|
|
527
312
|
id: '2CH',
|
|
528
313
|
title: '2 Chronicles',
|
|
314
|
+
full_title: 'The Second Book of Chronicles',
|
|
529
315
|
abbreviation: '2 Chr',
|
|
530
316
|
canon: 'ot',
|
|
531
|
-
chapters:
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
'2CH.16',
|
|
548
|
-
'2CH.17',
|
|
549
|
-
'2CH.18',
|
|
550
|
-
'2CH.19',
|
|
551
|
-
'2CH.20',
|
|
552
|
-
'2CH.21',
|
|
553
|
-
'2CH.22',
|
|
554
|
-
'2CH.23',
|
|
555
|
-
'2CH.24',
|
|
556
|
-
'2CH.25',
|
|
557
|
-
'2CH.26',
|
|
558
|
-
'2CH.27',
|
|
559
|
-
'2CH.28',
|
|
560
|
-
'2CH.29',
|
|
561
|
-
'2CH.30',
|
|
562
|
-
'2CH.31',
|
|
563
|
-
'2CH.32',
|
|
564
|
-
'2CH.33',
|
|
565
|
-
'2CH.34',
|
|
566
|
-
'2CH.35',
|
|
567
|
-
'2CH.36',
|
|
568
|
-
],
|
|
317
|
+
chapters: Array.from({ length: 36 }, (_, i) => {
|
|
318
|
+
const chapterNumber = i + 1;
|
|
319
|
+
return {
|
|
320
|
+
id: chapterNumber.toString(),
|
|
321
|
+
passage_id: `2CH.${chapterNumber}`,
|
|
322
|
+
title: chapterNumber.toString(),
|
|
323
|
+
verses: Array.from({ length: 20 }, (_, j) => {
|
|
324
|
+
const verseNumber = j + 1;
|
|
325
|
+
return {
|
|
326
|
+
id: verseNumber.toString(),
|
|
327
|
+
passage_id: `2CH.${chapterNumber}.${verseNumber}`,
|
|
328
|
+
title: verseNumber.toString(),
|
|
329
|
+
};
|
|
330
|
+
}),
|
|
331
|
+
};
|
|
332
|
+
}),
|
|
569
333
|
},
|
|
570
334
|
{
|
|
571
335
|
id: 'EZR',
|
|
572
336
|
title: 'Ezra',
|
|
337
|
+
full_title: 'The Book of Ezra',
|
|
573
338
|
abbreviation: 'Ezra',
|
|
574
339
|
canon: 'ot',
|
|
575
|
-
chapters:
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
340
|
+
chapters: Array.from({ length: 10 }, (_, i) => {
|
|
341
|
+
const chapterNumber = i + 1;
|
|
342
|
+
return {
|
|
343
|
+
id: chapterNumber.toString(),
|
|
344
|
+
passage_id: `EZR.${chapterNumber}`,
|
|
345
|
+
title: chapterNumber.toString(),
|
|
346
|
+
verses: Array.from({ length: 20 }, (_, j) => {
|
|
347
|
+
const verseNumber = j + 1;
|
|
348
|
+
return {
|
|
349
|
+
id: verseNumber.toString(),
|
|
350
|
+
passage_id: `EZR.${chapterNumber}.${verseNumber}`,
|
|
351
|
+
title: verseNumber.toString(),
|
|
352
|
+
};
|
|
353
|
+
}),
|
|
354
|
+
};
|
|
355
|
+
}),
|
|
587
356
|
},
|
|
588
357
|
{
|
|
589
358
|
id: 'NEH',
|
|
590
359
|
title: 'Nehemiah',
|
|
360
|
+
full_title: 'The Book of Nehemiah',
|
|
591
361
|
abbreviation: 'Neh',
|
|
592
362
|
canon: 'ot',
|
|
593
|
-
chapters:
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
363
|
+
chapters: Array.from({ length: 13 }, (_, i) => {
|
|
364
|
+
const chapterNumber = i + 1;
|
|
365
|
+
return {
|
|
366
|
+
id: chapterNumber.toString(),
|
|
367
|
+
passage_id: `NEH.${chapterNumber}`,
|
|
368
|
+
title: chapterNumber.toString(),
|
|
369
|
+
verses: Array.from({ length: 20 }, (_, j) => {
|
|
370
|
+
const verseNumber = j + 1;
|
|
371
|
+
return {
|
|
372
|
+
id: verseNumber.toString(),
|
|
373
|
+
passage_id: `NEH.${chapterNumber}.${verseNumber}`,
|
|
374
|
+
title: verseNumber.toString(),
|
|
375
|
+
};
|
|
376
|
+
}),
|
|
377
|
+
};
|
|
378
|
+
}),
|
|
608
379
|
},
|
|
609
380
|
{
|
|
610
381
|
id: 'EST',
|
|
611
382
|
title: 'Esther',
|
|
383
|
+
full_title: 'The Book of Esther',
|
|
612
384
|
abbreviation: 'Esth',
|
|
613
385
|
canon: 'ot',
|
|
614
|
-
chapters:
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
386
|
+
chapters: Array.from({ length: 10 }, (_, i) => {
|
|
387
|
+
const chapterNumber = i + 1;
|
|
388
|
+
return {
|
|
389
|
+
id: chapterNumber.toString(),
|
|
390
|
+
passage_id: `EST.${chapterNumber}`,
|
|
391
|
+
title: chapterNumber.toString(),
|
|
392
|
+
verses: Array.from({ length: 20 }, (_, j) => {
|
|
393
|
+
const verseNumber = j + 1;
|
|
394
|
+
return {
|
|
395
|
+
id: verseNumber.toString(),
|
|
396
|
+
passage_id: `EST.${chapterNumber}.${verseNumber}`,
|
|
397
|
+
title: verseNumber.toString(),
|
|
398
|
+
};
|
|
399
|
+
}),
|
|
400
|
+
};
|
|
401
|
+
}),
|
|
626
402
|
},
|
|
627
403
|
{
|
|
628
404
|
id: 'JOB',
|
|
629
405
|
title: 'Job',
|
|
406
|
+
full_title: 'The Book of Job',
|
|
630
407
|
abbreviation: 'Job',
|
|
631
408
|
canon: 'ot',
|
|
632
|
-
chapters:
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
'JOB.16',
|
|
649
|
-
'JOB.17',
|
|
650
|
-
'JOB.18',
|
|
651
|
-
'JOB.19',
|
|
652
|
-
'JOB.20',
|
|
653
|
-
'JOB.21',
|
|
654
|
-
'JOB.22',
|
|
655
|
-
'JOB.23',
|
|
656
|
-
'JOB.24',
|
|
657
|
-
'JOB.25',
|
|
658
|
-
'JOB.26',
|
|
659
|
-
'JOB.27',
|
|
660
|
-
'JOB.28',
|
|
661
|
-
'JOB.29',
|
|
662
|
-
'JOB.30',
|
|
663
|
-
'JOB.31',
|
|
664
|
-
'JOB.32',
|
|
665
|
-
'JOB.33',
|
|
666
|
-
'JOB.34',
|
|
667
|
-
'JOB.35',
|
|
668
|
-
'JOB.36',
|
|
669
|
-
'JOB.37',
|
|
670
|
-
'JOB.38',
|
|
671
|
-
'JOB.39',
|
|
672
|
-
'JOB.40',
|
|
673
|
-
'JOB.41',
|
|
674
|
-
'JOB.42',
|
|
675
|
-
],
|
|
409
|
+
chapters: Array.from({ length: 42 }, (_, i) => {
|
|
410
|
+
const chapterNumber = i + 1;
|
|
411
|
+
return {
|
|
412
|
+
id: chapterNumber.toString(),
|
|
413
|
+
passage_id: `JOB.${chapterNumber}`,
|
|
414
|
+
title: chapterNumber.toString(),
|
|
415
|
+
verses: Array.from({ length: 20 }, (_, j) => {
|
|
416
|
+
const verseNumber = j + 1;
|
|
417
|
+
return {
|
|
418
|
+
id: verseNumber.toString(),
|
|
419
|
+
passage_id: `JOB.${chapterNumber}.${verseNumber}`,
|
|
420
|
+
title: verseNumber.toString(),
|
|
421
|
+
};
|
|
422
|
+
}),
|
|
423
|
+
};
|
|
424
|
+
}),
|
|
676
425
|
},
|
|
677
426
|
{
|
|
678
427
|
id: 'PSA',
|
|
679
|
-
title: '
|
|
428
|
+
title: 'Psalms',
|
|
429
|
+
full_title: 'The Book of Psalms',
|
|
680
430
|
abbreviation: 'Ps',
|
|
681
431
|
canon: 'ot',
|
|
682
|
-
chapters:
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
'PSA.16',
|
|
699
|
-
'PSA.17',
|
|
700
|
-
'PSA.18',
|
|
701
|
-
'PSA.19',
|
|
702
|
-
'PSA.20',
|
|
703
|
-
'PSA.21',
|
|
704
|
-
'PSA.22',
|
|
705
|
-
'PSA.23',
|
|
706
|
-
'PSA.24',
|
|
707
|
-
'PSA.25',
|
|
708
|
-
'PSA.26',
|
|
709
|
-
'PSA.27',
|
|
710
|
-
'PSA.28',
|
|
711
|
-
'PSA.29',
|
|
712
|
-
'PSA.30',
|
|
713
|
-
'PSA.31',
|
|
714
|
-
'PSA.32',
|
|
715
|
-
'PSA.33',
|
|
716
|
-
'PSA.34',
|
|
717
|
-
'PSA.35',
|
|
718
|
-
'PSA.36',
|
|
719
|
-
'PSA.37',
|
|
720
|
-
'PSA.38',
|
|
721
|
-
'PSA.39',
|
|
722
|
-
'PSA.40',
|
|
723
|
-
'PSA.41',
|
|
724
|
-
'PSA.42',
|
|
725
|
-
'PSA.43',
|
|
726
|
-
'PSA.44',
|
|
727
|
-
'PSA.45',
|
|
728
|
-
'PSA.46',
|
|
729
|
-
'PSA.47',
|
|
730
|
-
'PSA.48',
|
|
731
|
-
'PSA.49',
|
|
732
|
-
'PSA.50',
|
|
733
|
-
'PSA.51',
|
|
734
|
-
'PSA.52',
|
|
735
|
-
'PSA.53',
|
|
736
|
-
'PSA.54',
|
|
737
|
-
'PSA.55',
|
|
738
|
-
'PSA.56',
|
|
739
|
-
'PSA.57',
|
|
740
|
-
'PSA.58',
|
|
741
|
-
'PSA.59',
|
|
742
|
-
'PSA.60',
|
|
743
|
-
'PSA.61',
|
|
744
|
-
'PSA.62',
|
|
745
|
-
'PSA.63',
|
|
746
|
-
'PSA.64',
|
|
747
|
-
'PSA.65',
|
|
748
|
-
'PSA.66',
|
|
749
|
-
'PSA.67',
|
|
750
|
-
'PSA.68',
|
|
751
|
-
'PSA.69',
|
|
752
|
-
'PSA.70',
|
|
753
|
-
'PSA.71',
|
|
754
|
-
'PSA.72',
|
|
755
|
-
'PSA.73',
|
|
756
|
-
'PSA.74',
|
|
757
|
-
'PSA.75',
|
|
758
|
-
'PSA.76',
|
|
759
|
-
'PSA.77',
|
|
760
|
-
'PSA.78',
|
|
761
|
-
'PSA.79',
|
|
762
|
-
'PSA.80',
|
|
763
|
-
'PSA.81',
|
|
764
|
-
'PSA.82',
|
|
765
|
-
'PSA.83',
|
|
766
|
-
'PSA.84',
|
|
767
|
-
'PSA.85',
|
|
768
|
-
'PSA.86',
|
|
769
|
-
'PSA.87',
|
|
770
|
-
'PSA.88',
|
|
771
|
-
'PSA.89',
|
|
772
|
-
'PSA.90',
|
|
773
|
-
'PSA.91',
|
|
774
|
-
'PSA.92',
|
|
775
|
-
'PSA.93',
|
|
776
|
-
'PSA.94',
|
|
777
|
-
'PSA.95',
|
|
778
|
-
'PSA.96',
|
|
779
|
-
'PSA.97',
|
|
780
|
-
'PSA.98',
|
|
781
|
-
'PSA.99',
|
|
782
|
-
'PSA.100',
|
|
783
|
-
'PSA.101',
|
|
784
|
-
'PSA.102',
|
|
785
|
-
'PSA.103',
|
|
786
|
-
'PSA.104',
|
|
787
|
-
'PSA.105',
|
|
788
|
-
'PSA.106',
|
|
789
|
-
'PSA.107',
|
|
790
|
-
'PSA.108',
|
|
791
|
-
'PSA.109',
|
|
792
|
-
'PSA.110',
|
|
793
|
-
'PSA.111',
|
|
794
|
-
'PSA.112',
|
|
795
|
-
'PSA.113',
|
|
796
|
-
'PSA.114',
|
|
797
|
-
'PSA.115',
|
|
798
|
-
'PSA.116',
|
|
799
|
-
'PSA.117',
|
|
800
|
-
'PSA.118',
|
|
801
|
-
'PSA.119',
|
|
802
|
-
'PSA.120',
|
|
803
|
-
'PSA.121',
|
|
804
|
-
'PSA.122',
|
|
805
|
-
'PSA.123',
|
|
806
|
-
'PSA.124',
|
|
807
|
-
'PSA.125',
|
|
808
|
-
'PSA.126',
|
|
809
|
-
'PSA.127',
|
|
810
|
-
'PSA.128',
|
|
811
|
-
'PSA.129',
|
|
812
|
-
'PSA.130',
|
|
813
|
-
'PSA.131',
|
|
814
|
-
'PSA.132',
|
|
815
|
-
'PSA.133',
|
|
816
|
-
'PSA.134',
|
|
817
|
-
'PSA.135',
|
|
818
|
-
'PSA.136',
|
|
819
|
-
'PSA.137',
|
|
820
|
-
'PSA.138',
|
|
821
|
-
'PSA.139',
|
|
822
|
-
'PSA.140',
|
|
823
|
-
'PSA.141',
|
|
824
|
-
'PSA.142',
|
|
825
|
-
'PSA.143',
|
|
826
|
-
'PSA.144',
|
|
827
|
-
'PSA.145',
|
|
828
|
-
'PSA.146',
|
|
829
|
-
'PSA.147',
|
|
830
|
-
'PSA.148',
|
|
831
|
-
'PSA.149',
|
|
832
|
-
'PSA.150',
|
|
833
|
-
],
|
|
432
|
+
chapters: Array.from({ length: 150 }, (_, i) => {
|
|
433
|
+
const chapterNumber = i + 1;
|
|
434
|
+
return {
|
|
435
|
+
id: chapterNumber.toString(),
|
|
436
|
+
passage_id: `PSA.${chapterNumber}`,
|
|
437
|
+
title: chapterNumber.toString(),
|
|
438
|
+
verses: Array.from({ length: 15 }, (_, j) => {
|
|
439
|
+
const verseNumber = j + 1;
|
|
440
|
+
return {
|
|
441
|
+
id: verseNumber.toString(),
|
|
442
|
+
passage_id: `PSA.${chapterNumber}.${verseNumber}`,
|
|
443
|
+
title: verseNumber.toString(),
|
|
444
|
+
};
|
|
445
|
+
}),
|
|
446
|
+
};
|
|
447
|
+
}),
|
|
834
448
|
},
|
|
835
449
|
{
|
|
836
450
|
id: 'PRO',
|
|
837
451
|
title: 'Proverbs',
|
|
452
|
+
full_title: 'The Book of Proverbs',
|
|
838
453
|
abbreviation: 'Prov',
|
|
839
454
|
canon: 'ot',
|
|
840
|
-
chapters:
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
|
|
852
|
-
|
|
853
|
-
|
|
854
|
-
|
|
855
|
-
|
|
856
|
-
'PRO.16',
|
|
857
|
-
'PRO.17',
|
|
858
|
-
'PRO.18',
|
|
859
|
-
'PRO.19',
|
|
860
|
-
'PRO.20',
|
|
861
|
-
'PRO.21',
|
|
862
|
-
'PRO.22',
|
|
863
|
-
'PRO.23',
|
|
864
|
-
'PRO.24',
|
|
865
|
-
'PRO.25',
|
|
866
|
-
'PRO.26',
|
|
867
|
-
'PRO.27',
|
|
868
|
-
'PRO.28',
|
|
869
|
-
'PRO.29',
|
|
870
|
-
'PRO.30',
|
|
871
|
-
'PRO.31',
|
|
872
|
-
],
|
|
455
|
+
chapters: Array.from({ length: 31 }, (_, i) => {
|
|
456
|
+
const chapterNumber = i + 1;
|
|
457
|
+
return {
|
|
458
|
+
id: chapterNumber.toString(),
|
|
459
|
+
passage_id: `PRO.${chapterNumber}`,
|
|
460
|
+
title: chapterNumber.toString(),
|
|
461
|
+
verses: Array.from({ length: 20 }, (_, j) => {
|
|
462
|
+
const verseNumber = j + 1;
|
|
463
|
+
return {
|
|
464
|
+
id: verseNumber.toString(),
|
|
465
|
+
passage_id: `PRO.${chapterNumber}.${verseNumber}`,
|
|
466
|
+
title: verseNumber.toString(),
|
|
467
|
+
};
|
|
468
|
+
}),
|
|
469
|
+
};
|
|
470
|
+
}),
|
|
873
471
|
},
|
|
874
472
|
{
|
|
875
473
|
id: 'ECC',
|
|
876
474
|
title: 'Ecclesiastes',
|
|
475
|
+
full_title: 'The Book of Ecclesiastes',
|
|
877
476
|
abbreviation: 'Eccl',
|
|
878
477
|
canon: 'ot',
|
|
879
|
-
chapters:
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
|
|
888
|
-
|
|
889
|
-
|
|
890
|
-
|
|
891
|
-
|
|
892
|
-
|
|
478
|
+
chapters: Array.from({ length: 12 }, (_, i) => {
|
|
479
|
+
const chapterNumber = i + 1;
|
|
480
|
+
return {
|
|
481
|
+
id: chapterNumber.toString(),
|
|
482
|
+
passage_id: `ECC.${chapterNumber}`,
|
|
483
|
+
title: chapterNumber.toString(),
|
|
484
|
+
verses: Array.from({ length: 15 }, (_, j) => {
|
|
485
|
+
const verseNumber = j + 1;
|
|
486
|
+
return {
|
|
487
|
+
id: verseNumber.toString(),
|
|
488
|
+
passage_id: `ECC.${chapterNumber}.${verseNumber}`,
|
|
489
|
+
title: verseNumber.toString(),
|
|
490
|
+
};
|
|
491
|
+
}),
|
|
492
|
+
};
|
|
493
|
+
}),
|
|
893
494
|
},
|
|
894
495
|
{
|
|
895
496
|
id: 'SNG',
|
|
896
497
|
title: 'Song of Solomon',
|
|
498
|
+
full_title: 'The Song of Solomon',
|
|
897
499
|
abbreviation: 'Song',
|
|
898
500
|
canon: 'ot',
|
|
899
|
-
chapters:
|
|
501
|
+
chapters: Array.from({ length: 8 }, (_, i) => {
|
|
502
|
+
const chapterNumber = i + 1;
|
|
503
|
+
return {
|
|
504
|
+
id: chapterNumber.toString(),
|
|
505
|
+
passage_id: `SNG.${chapterNumber}`,
|
|
506
|
+
title: chapterNumber.toString(),
|
|
507
|
+
verses: Array.from({ length: 15 }, (_, j) => {
|
|
508
|
+
const verseNumber = j + 1;
|
|
509
|
+
return {
|
|
510
|
+
id: verseNumber.toString(),
|
|
511
|
+
passage_id: `SNG.${chapterNumber}.${verseNumber}`,
|
|
512
|
+
title: verseNumber.toString(),
|
|
513
|
+
};
|
|
514
|
+
}),
|
|
515
|
+
};
|
|
516
|
+
}),
|
|
900
517
|
},
|
|
901
518
|
{
|
|
902
519
|
id: 'ISA',
|
|
903
520
|
title: 'Isaiah',
|
|
521
|
+
full_title: 'The Book of Isaiah',
|
|
904
522
|
abbreviation: 'Isa',
|
|
905
523
|
canon: 'ot',
|
|
906
|
-
chapters:
|
|
907
|
-
|
|
908
|
-
|
|
909
|
-
|
|
910
|
-
|
|
911
|
-
|
|
912
|
-
|
|
913
|
-
|
|
914
|
-
|
|
915
|
-
|
|
916
|
-
|
|
917
|
-
|
|
918
|
-
|
|
919
|
-
|
|
920
|
-
|
|
921
|
-
|
|
922
|
-
'ISA.16',
|
|
923
|
-
'ISA.17',
|
|
924
|
-
'ISA.18',
|
|
925
|
-
'ISA.19',
|
|
926
|
-
'ISA.20',
|
|
927
|
-
'ISA.21',
|
|
928
|
-
'ISA.22',
|
|
929
|
-
'ISA.23',
|
|
930
|
-
'ISA.24',
|
|
931
|
-
'ISA.25',
|
|
932
|
-
'ISA.26',
|
|
933
|
-
'ISA.27',
|
|
934
|
-
'ISA.28',
|
|
935
|
-
'ISA.29',
|
|
936
|
-
'ISA.30',
|
|
937
|
-
'ISA.31',
|
|
938
|
-
'ISA.32',
|
|
939
|
-
'ISA.33',
|
|
940
|
-
'ISA.34',
|
|
941
|
-
'ISA.35',
|
|
942
|
-
'ISA.36',
|
|
943
|
-
'ISA.37',
|
|
944
|
-
'ISA.38',
|
|
945
|
-
'ISA.39',
|
|
946
|
-
'ISA.40',
|
|
947
|
-
'ISA.41',
|
|
948
|
-
'ISA.42',
|
|
949
|
-
'ISA.43',
|
|
950
|
-
'ISA.44',
|
|
951
|
-
'ISA.45',
|
|
952
|
-
'ISA.46',
|
|
953
|
-
'ISA.47',
|
|
954
|
-
'ISA.48',
|
|
955
|
-
'ISA.49',
|
|
956
|
-
'ISA.50',
|
|
957
|
-
'ISA.51',
|
|
958
|
-
'ISA.52',
|
|
959
|
-
'ISA.53',
|
|
960
|
-
'ISA.54',
|
|
961
|
-
'ISA.55',
|
|
962
|
-
'ISA.56',
|
|
963
|
-
'ISA.57',
|
|
964
|
-
'ISA.58',
|
|
965
|
-
'ISA.59',
|
|
966
|
-
'ISA.60',
|
|
967
|
-
'ISA.61',
|
|
968
|
-
'ISA.62',
|
|
969
|
-
'ISA.63',
|
|
970
|
-
'ISA.64',
|
|
971
|
-
'ISA.65',
|
|
972
|
-
'ISA.66',
|
|
973
|
-
],
|
|
524
|
+
chapters: Array.from({ length: 66 }, (_, i) => {
|
|
525
|
+
const chapterNumber = i + 1;
|
|
526
|
+
return {
|
|
527
|
+
id: chapterNumber.toString(),
|
|
528
|
+
passage_id: `ISA.${chapterNumber}`,
|
|
529
|
+
title: chapterNumber.toString(),
|
|
530
|
+
verses: Array.from({ length: 20 }, (_, j) => {
|
|
531
|
+
const verseNumber = j + 1;
|
|
532
|
+
return {
|
|
533
|
+
id: verseNumber.toString(),
|
|
534
|
+
passage_id: `ISA.${chapterNumber}.${verseNumber}`,
|
|
535
|
+
title: verseNumber.toString(),
|
|
536
|
+
};
|
|
537
|
+
}),
|
|
538
|
+
};
|
|
539
|
+
}),
|
|
974
540
|
},
|
|
975
541
|
{
|
|
976
542
|
id: 'JER',
|
|
977
543
|
title: 'Jeremiah',
|
|
544
|
+
full_title: 'The Book of Jeremiah',
|
|
978
545
|
abbreviation: 'Jer',
|
|
979
546
|
canon: 'ot',
|
|
980
|
-
chapters:
|
|
981
|
-
|
|
982
|
-
|
|
983
|
-
|
|
984
|
-
|
|
985
|
-
|
|
986
|
-
|
|
987
|
-
|
|
988
|
-
|
|
989
|
-
|
|
990
|
-
|
|
991
|
-
|
|
992
|
-
|
|
993
|
-
|
|
994
|
-
|
|
995
|
-
|
|
996
|
-
'JER.16',
|
|
997
|
-
'JER.17',
|
|
998
|
-
'JER.18',
|
|
999
|
-
'JER.19',
|
|
1000
|
-
'JER.20',
|
|
1001
|
-
'JER.21',
|
|
1002
|
-
'JER.22',
|
|
1003
|
-
'JER.23',
|
|
1004
|
-
'JER.24',
|
|
1005
|
-
'JER.25',
|
|
1006
|
-
'JER.26',
|
|
1007
|
-
'JER.27',
|
|
1008
|
-
'JER.28',
|
|
1009
|
-
'JER.29',
|
|
1010
|
-
'JER.30',
|
|
1011
|
-
'JER.31',
|
|
1012
|
-
'JER.32',
|
|
1013
|
-
'JER.33',
|
|
1014
|
-
'JER.34',
|
|
1015
|
-
'JER.35',
|
|
1016
|
-
'JER.36',
|
|
1017
|
-
'JER.37',
|
|
1018
|
-
'JER.38',
|
|
1019
|
-
'JER.39',
|
|
1020
|
-
'JER.40',
|
|
1021
|
-
'JER.41',
|
|
1022
|
-
'JER.42',
|
|
1023
|
-
'JER.43',
|
|
1024
|
-
'JER.44',
|
|
1025
|
-
'JER.45',
|
|
1026
|
-
'JER.46',
|
|
1027
|
-
'JER.47',
|
|
1028
|
-
'JER.48',
|
|
1029
|
-
'JER.49',
|
|
1030
|
-
'JER.50',
|
|
1031
|
-
'JER.51',
|
|
1032
|
-
'JER.52',
|
|
1033
|
-
],
|
|
547
|
+
chapters: Array.from({ length: 52 }, (_, i) => {
|
|
548
|
+
const chapterNumber = i + 1;
|
|
549
|
+
return {
|
|
550
|
+
id: chapterNumber.toString(),
|
|
551
|
+
passage_id: `JER.${chapterNumber}`,
|
|
552
|
+
title: chapterNumber.toString(),
|
|
553
|
+
verses: Array.from({ length: 20 }, (_, j) => {
|
|
554
|
+
const verseNumber = j + 1;
|
|
555
|
+
return {
|
|
556
|
+
id: verseNumber.toString(),
|
|
557
|
+
passage_id: `JER.${chapterNumber}.${verseNumber}`,
|
|
558
|
+
title: verseNumber.toString(),
|
|
559
|
+
};
|
|
560
|
+
}),
|
|
561
|
+
};
|
|
562
|
+
}),
|
|
1034
563
|
},
|
|
1035
564
|
{
|
|
1036
565
|
id: 'LAM',
|
|
1037
566
|
title: 'Lamentations',
|
|
567
|
+
full_title: 'The Book of Lamentations',
|
|
1038
568
|
abbreviation: 'Lam',
|
|
1039
569
|
canon: 'ot',
|
|
1040
|
-
chapters:
|
|
570
|
+
chapters: Array.from({ length: 5 }, (_, i) => {
|
|
571
|
+
const chapterNumber = i + 1;
|
|
572
|
+
return {
|
|
573
|
+
id: chapterNumber.toString(),
|
|
574
|
+
passage_id: `LAM.${chapterNumber}`,
|
|
575
|
+
title: chapterNumber.toString(),
|
|
576
|
+
verses: Array.from({ length: 20 }, (_, j) => {
|
|
577
|
+
const verseNumber = j + 1;
|
|
578
|
+
return {
|
|
579
|
+
id: verseNumber.toString(),
|
|
580
|
+
passage_id: `LAM.${chapterNumber}.${verseNumber}`,
|
|
581
|
+
title: verseNumber.toString(),
|
|
582
|
+
};
|
|
583
|
+
}),
|
|
584
|
+
};
|
|
585
|
+
}),
|
|
1041
586
|
},
|
|
1042
587
|
{
|
|
1043
588
|
id: 'EZK',
|
|
1044
589
|
title: 'Ezekiel',
|
|
590
|
+
full_title: 'The Book of Ezekiel',
|
|
1045
591
|
abbreviation: 'Ezek',
|
|
1046
592
|
canon: 'ot',
|
|
1047
|
-
chapters:
|
|
1048
|
-
|
|
1049
|
-
|
|
1050
|
-
|
|
1051
|
-
|
|
1052
|
-
|
|
1053
|
-
|
|
1054
|
-
|
|
1055
|
-
|
|
1056
|
-
|
|
1057
|
-
|
|
1058
|
-
|
|
1059
|
-
|
|
1060
|
-
|
|
1061
|
-
|
|
1062
|
-
|
|
1063
|
-
'EZK.16',
|
|
1064
|
-
'EZK.17',
|
|
1065
|
-
'EZK.18',
|
|
1066
|
-
'EZK.19',
|
|
1067
|
-
'EZK.20',
|
|
1068
|
-
'EZK.21',
|
|
1069
|
-
'EZK.22',
|
|
1070
|
-
'EZK.23',
|
|
1071
|
-
'EZK.24',
|
|
1072
|
-
'EZK.25',
|
|
1073
|
-
'EZK.26',
|
|
1074
|
-
'EZK.27',
|
|
1075
|
-
'EZK.28',
|
|
1076
|
-
'EZK.29',
|
|
1077
|
-
'EZK.30',
|
|
1078
|
-
'EZK.31',
|
|
1079
|
-
'EZK.32',
|
|
1080
|
-
'EZK.33',
|
|
1081
|
-
'EZK.34',
|
|
1082
|
-
'EZK.35',
|
|
1083
|
-
'EZK.36',
|
|
1084
|
-
'EZK.37',
|
|
1085
|
-
'EZK.38',
|
|
1086
|
-
'EZK.39',
|
|
1087
|
-
'EZK.40',
|
|
1088
|
-
'EZK.41',
|
|
1089
|
-
'EZK.42',
|
|
1090
|
-
'EZK.43',
|
|
1091
|
-
'EZK.44',
|
|
1092
|
-
'EZK.45',
|
|
1093
|
-
'EZK.46',
|
|
1094
|
-
'EZK.47',
|
|
1095
|
-
'EZK.48',
|
|
1096
|
-
],
|
|
593
|
+
chapters: Array.from({ length: 48 }, (_, i) => {
|
|
594
|
+
const chapterNumber = i + 1;
|
|
595
|
+
return {
|
|
596
|
+
id: chapterNumber.toString(),
|
|
597
|
+
passage_id: `EZK.${chapterNumber}`,
|
|
598
|
+
title: chapterNumber.toString(),
|
|
599
|
+
verses: Array.from({ length: 20 }, (_, j) => {
|
|
600
|
+
const verseNumber = j + 1;
|
|
601
|
+
return {
|
|
602
|
+
id: verseNumber.toString(),
|
|
603
|
+
passage_id: `EZK.${chapterNumber}.${verseNumber}`,
|
|
604
|
+
title: verseNumber.toString(),
|
|
605
|
+
};
|
|
606
|
+
}),
|
|
607
|
+
};
|
|
608
|
+
}),
|
|
1097
609
|
},
|
|
1098
610
|
{
|
|
1099
611
|
id: 'DAN',
|
|
1100
612
|
title: 'Daniel',
|
|
613
|
+
full_title: 'The Book of Daniel',
|
|
1101
614
|
abbreviation: 'Dan',
|
|
1102
615
|
canon: 'ot',
|
|
1103
|
-
chapters:
|
|
1104
|
-
|
|
1105
|
-
|
|
1106
|
-
|
|
1107
|
-
|
|
1108
|
-
|
|
1109
|
-
|
|
1110
|
-
|
|
1111
|
-
|
|
1112
|
-
|
|
1113
|
-
|
|
1114
|
-
|
|
1115
|
-
|
|
1116
|
-
|
|
616
|
+
chapters: Array.from({ length: 12 }, (_, i) => {
|
|
617
|
+
const chapterNumber = i + 1;
|
|
618
|
+
return {
|
|
619
|
+
id: chapterNumber.toString(),
|
|
620
|
+
passage_id: `DAN.${chapterNumber}`,
|
|
621
|
+
title: chapterNumber.toString(),
|
|
622
|
+
verses: Array.from({ length: 20 }, (_, j) => {
|
|
623
|
+
const verseNumber = j + 1;
|
|
624
|
+
return {
|
|
625
|
+
id: verseNumber.toString(),
|
|
626
|
+
passage_id: `DAN.${chapterNumber}.${verseNumber}`,
|
|
627
|
+
title: verseNumber.toString(),
|
|
628
|
+
};
|
|
629
|
+
}),
|
|
630
|
+
};
|
|
631
|
+
}),
|
|
1117
632
|
},
|
|
1118
633
|
{
|
|
1119
634
|
id: 'HOS',
|
|
1120
635
|
title: 'Hosea',
|
|
636
|
+
full_title: 'The Book of Hosea',
|
|
1121
637
|
abbreviation: 'Hos',
|
|
1122
638
|
canon: 'ot',
|
|
1123
|
-
chapters:
|
|
1124
|
-
|
|
1125
|
-
|
|
1126
|
-
|
|
1127
|
-
|
|
1128
|
-
|
|
1129
|
-
|
|
1130
|
-
|
|
1131
|
-
|
|
1132
|
-
|
|
1133
|
-
|
|
1134
|
-
|
|
1135
|
-
|
|
1136
|
-
|
|
1137
|
-
|
|
1138
|
-
|
|
639
|
+
chapters: Array.from({ length: 14 }, (_, i) => {
|
|
640
|
+
const chapterNumber = i + 1;
|
|
641
|
+
return {
|
|
642
|
+
id: chapterNumber.toString(),
|
|
643
|
+
passage_id: `HOS.${chapterNumber}`,
|
|
644
|
+
title: chapterNumber.toString(),
|
|
645
|
+
verses: Array.from({ length: 15 }, (_, j) => {
|
|
646
|
+
const verseNumber = j + 1;
|
|
647
|
+
return {
|
|
648
|
+
id: verseNumber.toString(),
|
|
649
|
+
passage_id: `HOS.${chapterNumber}.${verseNumber}`,
|
|
650
|
+
title: verseNumber.toString(),
|
|
651
|
+
};
|
|
652
|
+
}),
|
|
653
|
+
};
|
|
654
|
+
}),
|
|
1139
655
|
},
|
|
1140
656
|
{
|
|
1141
657
|
id: 'JOL',
|
|
1142
658
|
title: 'Joel',
|
|
659
|
+
full_title: 'The Book of Joel',
|
|
1143
660
|
abbreviation: 'Joel',
|
|
1144
661
|
canon: 'ot',
|
|
1145
|
-
chapters:
|
|
662
|
+
chapters: Array.from({ length: 3 }, (_, i) => {
|
|
663
|
+
const chapterNumber = i + 1;
|
|
664
|
+
return {
|
|
665
|
+
id: chapterNumber.toString(),
|
|
666
|
+
passage_id: `JOL.${chapterNumber}`,
|
|
667
|
+
title: chapterNumber.toString(),
|
|
668
|
+
verses: Array.from({ length: 15 }, (_, j) => {
|
|
669
|
+
const verseNumber = j + 1;
|
|
670
|
+
return {
|
|
671
|
+
id: verseNumber.toString(),
|
|
672
|
+
passage_id: `JOL.${chapterNumber}.${verseNumber}`,
|
|
673
|
+
title: verseNumber.toString(),
|
|
674
|
+
};
|
|
675
|
+
}),
|
|
676
|
+
};
|
|
677
|
+
}),
|
|
1146
678
|
},
|
|
1147
679
|
{
|
|
1148
680
|
id: 'AMO',
|
|
1149
681
|
title: 'Amos',
|
|
682
|
+
full_title: 'The Book of Amos',
|
|
1150
683
|
abbreviation: 'Amos',
|
|
1151
684
|
canon: 'ot',
|
|
1152
|
-
chapters:
|
|
685
|
+
chapters: Array.from({ length: 9 }, (_, i) => {
|
|
686
|
+
const chapterNumber = i + 1;
|
|
687
|
+
return {
|
|
688
|
+
id: chapterNumber.toString(),
|
|
689
|
+
passage_id: `AMO.${chapterNumber}`,
|
|
690
|
+
title: chapterNumber.toString(),
|
|
691
|
+
verses: Array.from({ length: 15 }, (_, j) => {
|
|
692
|
+
const verseNumber = j + 1;
|
|
693
|
+
return {
|
|
694
|
+
id: verseNumber.toString(),
|
|
695
|
+
passage_id: `AMO.${chapterNumber}.${verseNumber}`,
|
|
696
|
+
title: verseNumber.toString(),
|
|
697
|
+
};
|
|
698
|
+
}),
|
|
699
|
+
};
|
|
700
|
+
}),
|
|
1153
701
|
},
|
|
1154
702
|
{
|
|
1155
703
|
id: 'OBA',
|
|
1156
704
|
title: 'Obadiah',
|
|
705
|
+
full_title: 'The Book of Obadiah',
|
|
1157
706
|
abbreviation: 'Obad',
|
|
1158
707
|
canon: 'ot',
|
|
1159
|
-
chapters:
|
|
708
|
+
chapters: Array.from({ length: 1 }, (_, i) => {
|
|
709
|
+
const chapterNumber = i + 1;
|
|
710
|
+
return {
|
|
711
|
+
id: chapterNumber.toString(),
|
|
712
|
+
passage_id: `OBA.${chapterNumber}`,
|
|
713
|
+
title: chapterNumber.toString(),
|
|
714
|
+
verses: Array.from({ length: 21 }, (_, j) => {
|
|
715
|
+
const verseNumber = j + 1;
|
|
716
|
+
return {
|
|
717
|
+
id: verseNumber.toString(),
|
|
718
|
+
passage_id: `OBA.${chapterNumber}.${verseNumber}`,
|
|
719
|
+
title: verseNumber.toString(),
|
|
720
|
+
};
|
|
721
|
+
}),
|
|
722
|
+
};
|
|
723
|
+
}),
|
|
1160
724
|
},
|
|
1161
725
|
{
|
|
1162
726
|
id: 'JON',
|
|
1163
727
|
title: 'Jonah',
|
|
728
|
+
full_title: 'The Book of Jonah',
|
|
1164
729
|
abbreviation: 'Jonah',
|
|
1165
730
|
canon: 'ot',
|
|
1166
|
-
chapters:
|
|
731
|
+
chapters: Array.from({ length: 4 }, (_, i) => {
|
|
732
|
+
const chapterNumber = i + 1;
|
|
733
|
+
return {
|
|
734
|
+
id: chapterNumber.toString(),
|
|
735
|
+
passage_id: `JON.${chapterNumber}`,
|
|
736
|
+
title: chapterNumber.toString(),
|
|
737
|
+
verses: Array.from({ length: 15 }, (_, j) => {
|
|
738
|
+
const verseNumber = j + 1;
|
|
739
|
+
return {
|
|
740
|
+
id: verseNumber.toString(),
|
|
741
|
+
passage_id: `JON.${chapterNumber}.${verseNumber}`,
|
|
742
|
+
title: verseNumber.toString(),
|
|
743
|
+
};
|
|
744
|
+
}),
|
|
745
|
+
};
|
|
746
|
+
}),
|
|
1167
747
|
},
|
|
1168
748
|
{
|
|
1169
749
|
id: 'MIC',
|
|
1170
750
|
title: 'Micah',
|
|
751
|
+
full_title: 'The Book of Micah',
|
|
1171
752
|
abbreviation: 'Mic',
|
|
1172
753
|
canon: 'ot',
|
|
1173
|
-
chapters:
|
|
754
|
+
chapters: Array.from({ length: 7 }, (_, i) => {
|
|
755
|
+
const chapterNumber = i + 1;
|
|
756
|
+
return {
|
|
757
|
+
id: chapterNumber.toString(),
|
|
758
|
+
passage_id: `MIC.${chapterNumber}`,
|
|
759
|
+
title: chapterNumber.toString(),
|
|
760
|
+
verses: Array.from({ length: 15 }, (_, j) => {
|
|
761
|
+
const verseNumber = j + 1;
|
|
762
|
+
return {
|
|
763
|
+
id: verseNumber.toString(),
|
|
764
|
+
passage_id: `MIC.${chapterNumber}.${verseNumber}`,
|
|
765
|
+
title: verseNumber.toString(),
|
|
766
|
+
};
|
|
767
|
+
}),
|
|
768
|
+
};
|
|
769
|
+
}),
|
|
1174
770
|
},
|
|
1175
771
|
{
|
|
1176
772
|
id: 'NAM',
|
|
1177
773
|
title: 'Nahum',
|
|
774
|
+
full_title: 'The Book of Nahum',
|
|
1178
775
|
abbreviation: 'Nah',
|
|
1179
776
|
canon: 'ot',
|
|
1180
|
-
chapters:
|
|
777
|
+
chapters: Array.from({ length: 3 }, (_, i) => {
|
|
778
|
+
const chapterNumber = i + 1;
|
|
779
|
+
return {
|
|
780
|
+
id: chapterNumber.toString(),
|
|
781
|
+
passage_id: `NAM.${chapterNumber}`,
|
|
782
|
+
title: chapterNumber.toString(),
|
|
783
|
+
verses: Array.from({ length: 15 }, (_, j) => {
|
|
784
|
+
const verseNumber = j + 1;
|
|
785
|
+
return {
|
|
786
|
+
id: verseNumber.toString(),
|
|
787
|
+
passage_id: `NAM.${chapterNumber}.${verseNumber}`,
|
|
788
|
+
title: verseNumber.toString(),
|
|
789
|
+
};
|
|
790
|
+
}),
|
|
791
|
+
};
|
|
792
|
+
}),
|
|
1181
793
|
},
|
|
1182
794
|
{
|
|
1183
795
|
id: 'HAB',
|
|
1184
796
|
title: 'Habakkuk',
|
|
797
|
+
full_title: 'The Book of Habakkuk',
|
|
1185
798
|
abbreviation: 'Hab',
|
|
1186
799
|
canon: 'ot',
|
|
1187
|
-
chapters:
|
|
800
|
+
chapters: Array.from({ length: 3 }, (_, i) => {
|
|
801
|
+
const chapterNumber = i + 1;
|
|
802
|
+
return {
|
|
803
|
+
id: chapterNumber.toString(),
|
|
804
|
+
passage_id: `HAB.${chapterNumber}`,
|
|
805
|
+
title: chapterNumber.toString(),
|
|
806
|
+
verses: Array.from({ length: 15 }, (_, j) => {
|
|
807
|
+
const verseNumber = j + 1;
|
|
808
|
+
return {
|
|
809
|
+
id: verseNumber.toString(),
|
|
810
|
+
passage_id: `HAB.${chapterNumber}.${verseNumber}`,
|
|
811
|
+
title: verseNumber.toString(),
|
|
812
|
+
};
|
|
813
|
+
}),
|
|
814
|
+
};
|
|
815
|
+
}),
|
|
1188
816
|
},
|
|
1189
817
|
{
|
|
1190
818
|
id: 'ZEP',
|
|
1191
819
|
title: 'Zephaniah',
|
|
820
|
+
full_title: 'The Book of Zephaniah',
|
|
1192
821
|
abbreviation: 'Zeph',
|
|
1193
822
|
canon: 'ot',
|
|
1194
|
-
chapters:
|
|
823
|
+
chapters: Array.from({ length: 3 }, (_, i) => {
|
|
824
|
+
const chapterNumber = i + 1;
|
|
825
|
+
return {
|
|
826
|
+
id: chapterNumber.toString(),
|
|
827
|
+
passage_id: `ZEP.${chapterNumber}`,
|
|
828
|
+
title: chapterNumber.toString(),
|
|
829
|
+
verses: Array.from({ length: 15 }, (_, j) => {
|
|
830
|
+
const verseNumber = j + 1;
|
|
831
|
+
return {
|
|
832
|
+
id: verseNumber.toString(),
|
|
833
|
+
passage_id: `ZEP.${chapterNumber}.${verseNumber}`,
|
|
834
|
+
title: verseNumber.toString(),
|
|
835
|
+
};
|
|
836
|
+
}),
|
|
837
|
+
};
|
|
838
|
+
}),
|
|
1195
839
|
},
|
|
1196
840
|
{
|
|
1197
841
|
id: 'HAG',
|
|
1198
842
|
title: 'Haggai',
|
|
843
|
+
full_title: 'The Book of Haggai',
|
|
1199
844
|
abbreviation: 'Hag',
|
|
1200
845
|
canon: 'ot',
|
|
1201
|
-
chapters:
|
|
846
|
+
chapters: Array.from({ length: 2 }, (_, i) => {
|
|
847
|
+
const chapterNumber = i + 1;
|
|
848
|
+
return {
|
|
849
|
+
id: chapterNumber.toString(),
|
|
850
|
+
passage_id: `HAG.${chapterNumber}`,
|
|
851
|
+
title: chapterNumber.toString(),
|
|
852
|
+
verses: Array.from({ length: 15 }, (_, j) => {
|
|
853
|
+
const verseNumber = j + 1;
|
|
854
|
+
return {
|
|
855
|
+
id: verseNumber.toString(),
|
|
856
|
+
passage_id: `HAG.${chapterNumber}.${verseNumber}`,
|
|
857
|
+
title: verseNumber.toString(),
|
|
858
|
+
};
|
|
859
|
+
}),
|
|
860
|
+
};
|
|
861
|
+
}),
|
|
1202
862
|
},
|
|
1203
863
|
{
|
|
1204
864
|
id: 'ZEC',
|
|
1205
865
|
title: 'Zechariah',
|
|
866
|
+
full_title: 'The Book of Zechariah',
|
|
1206
867
|
abbreviation: 'Zech',
|
|
1207
868
|
canon: 'ot',
|
|
1208
|
-
chapters:
|
|
1209
|
-
|
|
1210
|
-
|
|
1211
|
-
|
|
1212
|
-
|
|
1213
|
-
|
|
1214
|
-
|
|
1215
|
-
|
|
1216
|
-
|
|
1217
|
-
|
|
1218
|
-
|
|
1219
|
-
|
|
1220
|
-
|
|
1221
|
-
|
|
1222
|
-
|
|
1223
|
-
|
|
869
|
+
chapters: Array.from({ length: 14 }, (_, i) => {
|
|
870
|
+
const chapterNumber = i + 1;
|
|
871
|
+
return {
|
|
872
|
+
id: chapterNumber.toString(),
|
|
873
|
+
passage_id: `ZEC.${chapterNumber}`,
|
|
874
|
+
title: chapterNumber.toString(),
|
|
875
|
+
verses: Array.from({ length: 15 }, (_, j) => {
|
|
876
|
+
const verseNumber = j + 1;
|
|
877
|
+
return {
|
|
878
|
+
id: verseNumber.toString(),
|
|
879
|
+
passage_id: `ZEC.${chapterNumber}.${verseNumber}`,
|
|
880
|
+
title: verseNumber.toString(),
|
|
881
|
+
};
|
|
882
|
+
}),
|
|
883
|
+
};
|
|
884
|
+
}),
|
|
1224
885
|
},
|
|
1225
886
|
{
|
|
1226
887
|
id: 'MAL',
|
|
1227
888
|
title: 'Malachi',
|
|
889
|
+
full_title: 'The Book of Malachi',
|
|
1228
890
|
abbreviation: 'Mal',
|
|
1229
891
|
canon: 'ot',
|
|
1230
|
-
chapters:
|
|
892
|
+
chapters: Array.from({ length: 4 }, (_, i) => {
|
|
893
|
+
const chapterNumber = i + 1;
|
|
894
|
+
return {
|
|
895
|
+
id: chapterNumber.toString(),
|
|
896
|
+
passage_id: `MAL.${chapterNumber}`,
|
|
897
|
+
title: chapterNumber.toString(),
|
|
898
|
+
verses: Array.from({ length: 15 }, (_, j) => {
|
|
899
|
+
const verseNumber = j + 1;
|
|
900
|
+
return {
|
|
901
|
+
id: verseNumber.toString(),
|
|
902
|
+
passage_id: `MAL.${chapterNumber}.${verseNumber}`,
|
|
903
|
+
title: verseNumber.toString(),
|
|
904
|
+
};
|
|
905
|
+
}),
|
|
906
|
+
};
|
|
907
|
+
}),
|
|
1231
908
|
},
|
|
1232
909
|
{
|
|
1233
910
|
id: 'MAT',
|
|
1234
911
|
title: 'Matthew',
|
|
912
|
+
full_title: 'The Gospel According to Matthew',
|
|
1235
913
|
abbreviation: 'Matt',
|
|
1236
914
|
canon: 'nt',
|
|
1237
|
-
chapters:
|
|
1238
|
-
|
|
1239
|
-
|
|
1240
|
-
|
|
1241
|
-
|
|
1242
|
-
|
|
1243
|
-
|
|
1244
|
-
|
|
1245
|
-
|
|
1246
|
-
|
|
1247
|
-
|
|
1248
|
-
|
|
1249
|
-
|
|
1250
|
-
|
|
1251
|
-
|
|
1252
|
-
|
|
1253
|
-
'MAT.16',
|
|
1254
|
-
'MAT.17',
|
|
1255
|
-
'MAT.18',
|
|
1256
|
-
'MAT.19',
|
|
1257
|
-
'MAT.20',
|
|
1258
|
-
'MAT.21',
|
|
1259
|
-
'MAT.22',
|
|
1260
|
-
'MAT.23',
|
|
1261
|
-
'MAT.24',
|
|
1262
|
-
'MAT.25',
|
|
1263
|
-
'MAT.26',
|
|
1264
|
-
'MAT.27',
|
|
1265
|
-
'MAT.28',
|
|
1266
|
-
],
|
|
915
|
+
chapters: Array.from({ length: 28 }, (_, i) => {
|
|
916
|
+
const chapterNumber = i + 1;
|
|
917
|
+
return {
|
|
918
|
+
id: chapterNumber.toString(),
|
|
919
|
+
passage_id: `MAT.${chapterNumber}`,
|
|
920
|
+
title: chapterNumber.toString(),
|
|
921
|
+
verses: Array.from({ length: 20 }, (_, j) => {
|
|
922
|
+
const verseNumber = j + 1;
|
|
923
|
+
return {
|
|
924
|
+
id: verseNumber.toString(),
|
|
925
|
+
passage_id: `MAT.${chapterNumber}.${verseNumber}`,
|
|
926
|
+
title: verseNumber.toString(),
|
|
927
|
+
};
|
|
928
|
+
}),
|
|
929
|
+
};
|
|
930
|
+
}),
|
|
1267
931
|
},
|
|
1268
932
|
{
|
|
1269
933
|
id: 'MRK',
|
|
1270
934
|
title: 'Mark',
|
|
935
|
+
full_title: 'The Gospel According to Mark',
|
|
1271
936
|
abbreviation: 'Mark',
|
|
1272
937
|
canon: 'nt',
|
|
1273
|
-
chapters:
|
|
1274
|
-
|
|
1275
|
-
|
|
1276
|
-
|
|
1277
|
-
|
|
1278
|
-
|
|
1279
|
-
|
|
1280
|
-
|
|
1281
|
-
|
|
1282
|
-
|
|
1283
|
-
|
|
1284
|
-
|
|
1285
|
-
|
|
1286
|
-
|
|
1287
|
-
|
|
1288
|
-
|
|
1289
|
-
'MRK.16',
|
|
1290
|
-
],
|
|
938
|
+
chapters: Array.from({ length: 16 }, (_, i) => {
|
|
939
|
+
const chapterNumber = i + 1;
|
|
940
|
+
return {
|
|
941
|
+
id: chapterNumber.toString(),
|
|
942
|
+
passage_id: `MRK.${chapterNumber}`,
|
|
943
|
+
title: chapterNumber.toString(),
|
|
944
|
+
verses: Array.from({ length: 20 }, (_, j) => {
|
|
945
|
+
const verseNumber = j + 1;
|
|
946
|
+
return {
|
|
947
|
+
id: verseNumber.toString(),
|
|
948
|
+
passage_id: `MRK.${chapterNumber}.${verseNumber}`,
|
|
949
|
+
title: verseNumber.toString(),
|
|
950
|
+
};
|
|
951
|
+
}),
|
|
952
|
+
};
|
|
953
|
+
}),
|
|
1291
954
|
},
|
|
1292
955
|
{
|
|
1293
956
|
id: 'LUK',
|
|
1294
957
|
title: 'Luke',
|
|
958
|
+
full_title: 'The Gospel According to Luke',
|
|
1295
959
|
abbreviation: 'Luke',
|
|
1296
960
|
canon: 'nt',
|
|
1297
|
-
chapters:
|
|
1298
|
-
|
|
1299
|
-
|
|
1300
|
-
|
|
1301
|
-
|
|
1302
|
-
|
|
1303
|
-
|
|
1304
|
-
|
|
1305
|
-
|
|
1306
|
-
|
|
1307
|
-
|
|
1308
|
-
|
|
1309
|
-
|
|
1310
|
-
|
|
1311
|
-
|
|
1312
|
-
|
|
1313
|
-
'LUK.16',
|
|
1314
|
-
'LUK.17',
|
|
1315
|
-
'LUK.18',
|
|
1316
|
-
'LUK.19',
|
|
1317
|
-
'LUK.20',
|
|
1318
|
-
'LUK.21',
|
|
1319
|
-
'LUK.22',
|
|
1320
|
-
'LUK.23',
|
|
1321
|
-
'LUK.24',
|
|
1322
|
-
],
|
|
961
|
+
chapters: Array.from({ length: 24 }, (_, i) => {
|
|
962
|
+
const chapterNumber = i + 1;
|
|
963
|
+
return {
|
|
964
|
+
id: chapterNumber.toString(),
|
|
965
|
+
passage_id: `LUK.${chapterNumber}`,
|
|
966
|
+
title: chapterNumber.toString(),
|
|
967
|
+
verses: Array.from({ length: 20 }, (_, j) => {
|
|
968
|
+
const verseNumber = j + 1;
|
|
969
|
+
return {
|
|
970
|
+
id: verseNumber.toString(),
|
|
971
|
+
passage_id: `LUK.${chapterNumber}.${verseNumber}`,
|
|
972
|
+
title: verseNumber.toString(),
|
|
973
|
+
};
|
|
974
|
+
}),
|
|
975
|
+
};
|
|
976
|
+
}),
|
|
1323
977
|
},
|
|
1324
978
|
{
|
|
1325
979
|
id: 'JHN',
|
|
1326
980
|
title: 'John',
|
|
981
|
+
full_title: 'The Gospel According to John',
|
|
1327
982
|
abbreviation: 'John',
|
|
1328
983
|
canon: 'nt',
|
|
1329
|
-
chapters:
|
|
1330
|
-
|
|
1331
|
-
|
|
1332
|
-
|
|
1333
|
-
|
|
1334
|
-
|
|
1335
|
-
|
|
1336
|
-
|
|
1337
|
-
|
|
1338
|
-
|
|
1339
|
-
|
|
1340
|
-
|
|
1341
|
-
|
|
1342
|
-
|
|
1343
|
-
|
|
1344
|
-
|
|
1345
|
-
'JHN.16',
|
|
1346
|
-
'JHN.17',
|
|
1347
|
-
'JHN.18',
|
|
1348
|
-
'JHN.19',
|
|
1349
|
-
'JHN.20',
|
|
1350
|
-
'JHN.21',
|
|
1351
|
-
],
|
|
984
|
+
chapters: Array.from({ length: 21 }, (_, i) => {
|
|
985
|
+
const chapterNumber = i + 1;
|
|
986
|
+
return {
|
|
987
|
+
id: chapterNumber.toString(),
|
|
988
|
+
passage_id: `JHN.${chapterNumber}`,
|
|
989
|
+
title: chapterNumber.toString(),
|
|
990
|
+
verses: Array.from({ length: 20 }, (_, j) => {
|
|
991
|
+
const verseNumber = j + 1;
|
|
992
|
+
return {
|
|
993
|
+
id: verseNumber.toString(),
|
|
994
|
+
passage_id: `JHN.${chapterNumber}.${verseNumber}`,
|
|
995
|
+
title: verseNumber.toString(),
|
|
996
|
+
};
|
|
997
|
+
}),
|
|
998
|
+
};
|
|
999
|
+
}),
|
|
1352
1000
|
},
|
|
1353
1001
|
{
|
|
1354
1002
|
id: 'ACT',
|
|
1355
1003
|
title: 'Acts',
|
|
1004
|
+
full_title: 'The Acts of the Apostles',
|
|
1356
1005
|
abbreviation: 'Acts',
|
|
1357
1006
|
canon: 'nt',
|
|
1358
|
-
chapters:
|
|
1359
|
-
|
|
1360
|
-
|
|
1361
|
-
|
|
1362
|
-
|
|
1363
|
-
|
|
1364
|
-
|
|
1365
|
-
|
|
1366
|
-
|
|
1367
|
-
|
|
1368
|
-
|
|
1369
|
-
|
|
1370
|
-
|
|
1371
|
-
|
|
1372
|
-
|
|
1373
|
-
|
|
1374
|
-
'ACT.16',
|
|
1375
|
-
'ACT.17',
|
|
1376
|
-
'ACT.18',
|
|
1377
|
-
'ACT.19',
|
|
1378
|
-
'ACT.20',
|
|
1379
|
-
'ACT.21',
|
|
1380
|
-
'ACT.22',
|
|
1381
|
-
'ACT.23',
|
|
1382
|
-
'ACT.24',
|
|
1383
|
-
'ACT.25',
|
|
1384
|
-
'ACT.26',
|
|
1385
|
-
'ACT.27',
|
|
1386
|
-
'ACT.28',
|
|
1387
|
-
],
|
|
1007
|
+
chapters: Array.from({ length: 28 }, (_, i) => {
|
|
1008
|
+
const chapterNumber = i + 1;
|
|
1009
|
+
return {
|
|
1010
|
+
id: chapterNumber.toString(),
|
|
1011
|
+
passage_id: `ACT.${chapterNumber}`,
|
|
1012
|
+
title: chapterNumber.toString(),
|
|
1013
|
+
verses: Array.from({ length: 20 }, (_, j) => {
|
|
1014
|
+
const verseNumber = j + 1;
|
|
1015
|
+
return {
|
|
1016
|
+
id: verseNumber.toString(),
|
|
1017
|
+
passage_id: `ACT.${chapterNumber}.${verseNumber}`,
|
|
1018
|
+
title: verseNumber.toString(),
|
|
1019
|
+
};
|
|
1020
|
+
}),
|
|
1021
|
+
};
|
|
1022
|
+
}),
|
|
1388
1023
|
},
|
|
1389
1024
|
{
|
|
1390
1025
|
id: 'ROM',
|
|
1391
1026
|
title: 'Romans',
|
|
1027
|
+
full_title: 'The Epistle to the Romans',
|
|
1392
1028
|
abbreviation: 'Rom',
|
|
1393
1029
|
canon: 'nt',
|
|
1394
|
-
chapters:
|
|
1395
|
-
|
|
1396
|
-
|
|
1397
|
-
|
|
1398
|
-
|
|
1399
|
-
|
|
1400
|
-
|
|
1401
|
-
|
|
1402
|
-
|
|
1403
|
-
|
|
1404
|
-
|
|
1405
|
-
|
|
1406
|
-
|
|
1407
|
-
|
|
1408
|
-
|
|
1409
|
-
|
|
1410
|
-
'ROM.16',
|
|
1411
|
-
],
|
|
1030
|
+
chapters: Array.from({ length: 16 }, (_, i) => {
|
|
1031
|
+
const chapterNumber = i + 1;
|
|
1032
|
+
return {
|
|
1033
|
+
id: chapterNumber.toString(),
|
|
1034
|
+
passage_id: `ROM.${chapterNumber}`,
|
|
1035
|
+
title: chapterNumber.toString(),
|
|
1036
|
+
verses: Array.from({ length: 20 }, (_, j) => {
|
|
1037
|
+
const verseNumber = j + 1;
|
|
1038
|
+
return {
|
|
1039
|
+
id: verseNumber.toString(),
|
|
1040
|
+
passage_id: `ROM.${chapterNumber}.${verseNumber}`,
|
|
1041
|
+
title: verseNumber.toString(),
|
|
1042
|
+
};
|
|
1043
|
+
}),
|
|
1044
|
+
};
|
|
1045
|
+
}),
|
|
1412
1046
|
},
|
|
1413
1047
|
{
|
|
1414
1048
|
id: '1CO',
|
|
1415
1049
|
title: '1 Corinthians',
|
|
1050
|
+
full_title: 'The First Epistle to the Corinthians',
|
|
1416
1051
|
abbreviation: '1 Cor',
|
|
1417
1052
|
canon: 'nt',
|
|
1418
|
-
chapters:
|
|
1419
|
-
|
|
1420
|
-
|
|
1421
|
-
|
|
1422
|
-
|
|
1423
|
-
|
|
1424
|
-
|
|
1425
|
-
|
|
1426
|
-
|
|
1427
|
-
|
|
1428
|
-
|
|
1429
|
-
|
|
1430
|
-
|
|
1431
|
-
|
|
1432
|
-
|
|
1433
|
-
|
|
1434
|
-
'1CO.16',
|
|
1435
|
-
],
|
|
1053
|
+
chapters: Array.from({ length: 16 }, (_, i) => {
|
|
1054
|
+
const chapterNumber = i + 1;
|
|
1055
|
+
return {
|
|
1056
|
+
id: chapterNumber.toString(),
|
|
1057
|
+
passage_id: `1CO.${chapterNumber}`,
|
|
1058
|
+
title: chapterNumber.toString(),
|
|
1059
|
+
verses: Array.from({ length: 20 }, (_, j) => {
|
|
1060
|
+
const verseNumber = j + 1;
|
|
1061
|
+
return {
|
|
1062
|
+
id: verseNumber.toString(),
|
|
1063
|
+
passage_id: `1CO.${chapterNumber}.${verseNumber}`,
|
|
1064
|
+
title: verseNumber.toString(),
|
|
1065
|
+
};
|
|
1066
|
+
}),
|
|
1067
|
+
};
|
|
1068
|
+
}),
|
|
1436
1069
|
},
|
|
1437
1070
|
{
|
|
1438
1071
|
id: '2CO',
|
|
1439
1072
|
title: '2 Corinthians',
|
|
1073
|
+
full_title: 'The Second Epistle to the Corinthians',
|
|
1440
1074
|
abbreviation: '2 Cor',
|
|
1441
1075
|
canon: 'nt',
|
|
1442
|
-
chapters:
|
|
1443
|
-
|
|
1444
|
-
|
|
1445
|
-
|
|
1446
|
-
|
|
1447
|
-
|
|
1448
|
-
|
|
1449
|
-
|
|
1450
|
-
|
|
1451
|
-
|
|
1452
|
-
|
|
1453
|
-
|
|
1454
|
-
|
|
1455
|
-
|
|
1456
|
-
|
|
1076
|
+
chapters: Array.from({ length: 13 }, (_, i) => {
|
|
1077
|
+
const chapterNumber = i + 1;
|
|
1078
|
+
return {
|
|
1079
|
+
id: chapterNumber.toString(),
|
|
1080
|
+
passage_id: `2CO.${chapterNumber}`,
|
|
1081
|
+
title: chapterNumber.toString(),
|
|
1082
|
+
verses: Array.from({ length: 15 }, (_, j) => {
|
|
1083
|
+
const verseNumber = j + 1;
|
|
1084
|
+
return {
|
|
1085
|
+
id: verseNumber.toString(),
|
|
1086
|
+
passage_id: `2CO.${chapterNumber}.${verseNumber}`,
|
|
1087
|
+
title: verseNumber.toString(),
|
|
1088
|
+
};
|
|
1089
|
+
}),
|
|
1090
|
+
};
|
|
1091
|
+
}),
|
|
1457
1092
|
},
|
|
1458
1093
|
{
|
|
1459
1094
|
id: 'GAL',
|
|
1460
1095
|
title: 'Galatians',
|
|
1096
|
+
full_title: 'The Epistle to the Galatians',
|
|
1461
1097
|
abbreviation: 'Gal',
|
|
1462
1098
|
canon: 'nt',
|
|
1463
|
-
chapters:
|
|
1099
|
+
chapters: Array.from({ length: 6 }, (_, i) => {
|
|
1100
|
+
const chapterNumber = i + 1;
|
|
1101
|
+
return {
|
|
1102
|
+
id: chapterNumber.toString(),
|
|
1103
|
+
passage_id: `GAL.${chapterNumber}`,
|
|
1104
|
+
title: chapterNumber.toString(),
|
|
1105
|
+
verses: Array.from({ length: 15 }, (_, j) => {
|
|
1106
|
+
const verseNumber = j + 1;
|
|
1107
|
+
return {
|
|
1108
|
+
id: verseNumber.toString(),
|
|
1109
|
+
passage_id: `GAL.${chapterNumber}.${verseNumber}`,
|
|
1110
|
+
title: verseNumber.toString(),
|
|
1111
|
+
};
|
|
1112
|
+
}),
|
|
1113
|
+
};
|
|
1114
|
+
}),
|
|
1464
1115
|
},
|
|
1465
1116
|
{
|
|
1466
1117
|
id: 'EPH',
|
|
1467
1118
|
title: 'Ephesians',
|
|
1119
|
+
full_title: 'The Epistle to the Ephesians',
|
|
1468
1120
|
abbreviation: 'Eph',
|
|
1469
1121
|
canon: 'nt',
|
|
1470
|
-
chapters:
|
|
1122
|
+
chapters: Array.from({ length: 6 }, (_, i) => {
|
|
1123
|
+
const chapterNumber = i + 1;
|
|
1124
|
+
return {
|
|
1125
|
+
id: chapterNumber.toString(),
|
|
1126
|
+
passage_id: `EPH.${chapterNumber}`,
|
|
1127
|
+
title: chapterNumber.toString(),
|
|
1128
|
+
verses: Array.from({ length: 15 }, (_, j) => {
|
|
1129
|
+
const verseNumber = j + 1;
|
|
1130
|
+
return {
|
|
1131
|
+
id: verseNumber.toString(),
|
|
1132
|
+
passage_id: `EPH.${chapterNumber}.${verseNumber}`,
|
|
1133
|
+
title: verseNumber.toString(),
|
|
1134
|
+
};
|
|
1135
|
+
}),
|
|
1136
|
+
};
|
|
1137
|
+
}),
|
|
1471
1138
|
},
|
|
1472
1139
|
{
|
|
1473
1140
|
id: 'PHP',
|
|
1474
1141
|
title: 'Philippians',
|
|
1142
|
+
full_title: 'The Epistle to the Philippians',
|
|
1475
1143
|
abbreviation: 'Phil',
|
|
1476
1144
|
canon: 'nt',
|
|
1477
|
-
chapters:
|
|
1145
|
+
chapters: Array.from({ length: 4 }, (_, i) => {
|
|
1146
|
+
const chapterNumber = i + 1;
|
|
1147
|
+
return {
|
|
1148
|
+
id: chapterNumber.toString(),
|
|
1149
|
+
passage_id: `PHP.${chapterNumber}`,
|
|
1150
|
+
title: chapterNumber.toString(),
|
|
1151
|
+
verses: Array.from({ length: 15 }, (_, j) => {
|
|
1152
|
+
const verseNumber = j + 1;
|
|
1153
|
+
return {
|
|
1154
|
+
id: verseNumber.toString(),
|
|
1155
|
+
passage_id: `PHP.${chapterNumber}.${verseNumber}`,
|
|
1156
|
+
title: verseNumber.toString(),
|
|
1157
|
+
};
|
|
1158
|
+
}),
|
|
1159
|
+
};
|
|
1160
|
+
}),
|
|
1478
1161
|
},
|
|
1479
1162
|
{
|
|
1480
1163
|
id: 'COL',
|
|
1481
1164
|
title: 'Colossians',
|
|
1165
|
+
full_title: 'The Epistle to the Colossians',
|
|
1482
1166
|
abbreviation: 'Col',
|
|
1483
1167
|
canon: 'nt',
|
|
1484
|
-
chapters:
|
|
1168
|
+
chapters: Array.from({ length: 4 }, (_, i) => {
|
|
1169
|
+
const chapterNumber = i + 1;
|
|
1170
|
+
return {
|
|
1171
|
+
id: chapterNumber.toString(),
|
|
1172
|
+
passage_id: `COL.${chapterNumber}`,
|
|
1173
|
+
title: chapterNumber.toString(),
|
|
1174
|
+
verses: Array.from({ length: 15 }, (_, j) => {
|
|
1175
|
+
const verseNumber = j + 1;
|
|
1176
|
+
return {
|
|
1177
|
+
id: verseNumber.toString(),
|
|
1178
|
+
passage_id: `COL.${chapterNumber}.${verseNumber}`,
|
|
1179
|
+
title: verseNumber.toString(),
|
|
1180
|
+
};
|
|
1181
|
+
}),
|
|
1182
|
+
};
|
|
1183
|
+
}),
|
|
1485
1184
|
},
|
|
1486
1185
|
{
|
|
1487
1186
|
id: '1TH',
|
|
1488
1187
|
title: '1 Thessalonians',
|
|
1489
|
-
|
|
1188
|
+
full_title: 'The First Epistle to the Thessalonians',
|
|
1189
|
+
abbreviation: '1 Thess',
|
|
1490
1190
|
canon: 'nt',
|
|
1491
|
-
chapters:
|
|
1191
|
+
chapters: Array.from({ length: 5 }, (_, i) => {
|
|
1192
|
+
const chapterNumber = i + 1;
|
|
1193
|
+
return {
|
|
1194
|
+
id: chapterNumber.toString(),
|
|
1195
|
+
passage_id: `1TH.${chapterNumber}`,
|
|
1196
|
+
title: chapterNumber.toString(),
|
|
1197
|
+
verses: Array.from({ length: 15 }, (_, j) => {
|
|
1198
|
+
const verseNumber = j + 1;
|
|
1199
|
+
return {
|
|
1200
|
+
id: verseNumber.toString(),
|
|
1201
|
+
passage_id: `1TH.${chapterNumber}.${verseNumber}`,
|
|
1202
|
+
title: verseNumber.toString(),
|
|
1203
|
+
};
|
|
1204
|
+
}),
|
|
1205
|
+
};
|
|
1206
|
+
}),
|
|
1492
1207
|
},
|
|
1493
1208
|
{
|
|
1494
1209
|
id: '2TH',
|
|
1495
1210
|
title: '2 Thessalonians',
|
|
1496
|
-
|
|
1211
|
+
full_title: 'The Second Epistle to the Thessalonians',
|
|
1212
|
+
abbreviation: '2 Thess',
|
|
1497
1213
|
canon: 'nt',
|
|
1498
|
-
chapters:
|
|
1214
|
+
chapters: Array.from({ length: 3 }, (_, i) => {
|
|
1215
|
+
const chapterNumber = i + 1;
|
|
1216
|
+
return {
|
|
1217
|
+
id: chapterNumber.toString(),
|
|
1218
|
+
passage_id: `2TH.${chapterNumber}`,
|
|
1219
|
+
title: chapterNumber.toString(),
|
|
1220
|
+
verses: Array.from({ length: 15 }, (_, j) => {
|
|
1221
|
+
const verseNumber = j + 1;
|
|
1222
|
+
return {
|
|
1223
|
+
id: verseNumber.toString(),
|
|
1224
|
+
passage_id: `2TH.${chapterNumber}.${verseNumber}`,
|
|
1225
|
+
title: verseNumber.toString(),
|
|
1226
|
+
};
|
|
1227
|
+
}),
|
|
1228
|
+
};
|
|
1229
|
+
}),
|
|
1499
1230
|
},
|
|
1500
1231
|
{
|
|
1501
1232
|
id: '1TI',
|
|
1502
1233
|
title: '1 Timothy',
|
|
1234
|
+
full_title: 'The First Epistle to Timothy',
|
|
1503
1235
|
abbreviation: '1 Tim',
|
|
1504
1236
|
canon: 'nt',
|
|
1505
|
-
chapters:
|
|
1237
|
+
chapters: Array.from({ length: 6 }, (_, i) => {
|
|
1238
|
+
const chapterNumber = i + 1;
|
|
1239
|
+
return {
|
|
1240
|
+
id: chapterNumber.toString(),
|
|
1241
|
+
passage_id: `1TI.${chapterNumber}`,
|
|
1242
|
+
title: chapterNumber.toString(),
|
|
1243
|
+
verses: Array.from({ length: 15 }, (_, j) => {
|
|
1244
|
+
const verseNumber = j + 1;
|
|
1245
|
+
return {
|
|
1246
|
+
id: verseNumber.toString(),
|
|
1247
|
+
passage_id: `1TI.${chapterNumber}.${verseNumber}`,
|
|
1248
|
+
title: verseNumber.toString(),
|
|
1249
|
+
};
|
|
1250
|
+
}),
|
|
1251
|
+
};
|
|
1252
|
+
}),
|
|
1506
1253
|
},
|
|
1507
1254
|
{
|
|
1508
1255
|
id: '2TI',
|
|
1509
1256
|
title: '2 Timothy',
|
|
1257
|
+
full_title: 'The Second Epistle to Timothy',
|
|
1510
1258
|
abbreviation: '2 Tim',
|
|
1511
1259
|
canon: 'nt',
|
|
1512
|
-
chapters:
|
|
1260
|
+
chapters: Array.from({ length: 4 }, (_, i) => {
|
|
1261
|
+
const chapterNumber = i + 1;
|
|
1262
|
+
return {
|
|
1263
|
+
id: chapterNumber.toString(),
|
|
1264
|
+
passage_id: `2TI.${chapterNumber}`,
|
|
1265
|
+
title: chapterNumber.toString(),
|
|
1266
|
+
verses: Array.from({ length: 15 }, (_, j) => {
|
|
1267
|
+
const verseNumber = j + 1;
|
|
1268
|
+
return {
|
|
1269
|
+
id: verseNumber.toString(),
|
|
1270
|
+
passage_id: `2TI.${chapterNumber}.${verseNumber}`,
|
|
1271
|
+
title: verseNumber.toString(),
|
|
1272
|
+
};
|
|
1273
|
+
}),
|
|
1274
|
+
};
|
|
1275
|
+
}),
|
|
1513
1276
|
},
|
|
1514
1277
|
{
|
|
1515
1278
|
id: 'TIT',
|
|
1516
1279
|
title: 'Titus',
|
|
1280
|
+
full_title: 'The Epistle to Titus',
|
|
1517
1281
|
abbreviation: 'Titus',
|
|
1518
1282
|
canon: 'nt',
|
|
1519
|
-
chapters:
|
|
1283
|
+
chapters: Array.from({ length: 3 }, (_, i) => {
|
|
1284
|
+
const chapterNumber = i + 1;
|
|
1285
|
+
return {
|
|
1286
|
+
id: chapterNumber.toString(),
|
|
1287
|
+
passage_id: `TIT.${chapterNumber}`,
|
|
1288
|
+
title: chapterNumber.toString(),
|
|
1289
|
+
verses: Array.from({ length: 15 }, (_, j) => {
|
|
1290
|
+
const verseNumber = j + 1;
|
|
1291
|
+
return {
|
|
1292
|
+
id: verseNumber.toString(),
|
|
1293
|
+
passage_id: `TIT.${chapterNumber}.${verseNumber}`,
|
|
1294
|
+
title: verseNumber.toString(),
|
|
1295
|
+
};
|
|
1296
|
+
}),
|
|
1297
|
+
};
|
|
1298
|
+
}),
|
|
1520
1299
|
},
|
|
1521
1300
|
{
|
|
1522
1301
|
id: 'PHM',
|
|
1523
1302
|
title: 'Philemon',
|
|
1303
|
+
full_title: 'The Epistle to Philemon',
|
|
1524
1304
|
abbreviation: 'Phlm',
|
|
1525
1305
|
canon: 'nt',
|
|
1526
|
-
chapters:
|
|
1306
|
+
chapters: Array.from({ length: 1 }, (_, i) => {
|
|
1307
|
+
const chapterNumber = i + 1;
|
|
1308
|
+
return {
|
|
1309
|
+
id: chapterNumber.toString(),
|
|
1310
|
+
passage_id: `PHM.${chapterNumber}`,
|
|
1311
|
+
title: chapterNumber.toString(),
|
|
1312
|
+
verses: Array.from({ length: 25 }, (_, j) => {
|
|
1313
|
+
const verseNumber = j + 1;
|
|
1314
|
+
return {
|
|
1315
|
+
id: verseNumber.toString(),
|
|
1316
|
+
passage_id: `PHM.${chapterNumber}.${verseNumber}`,
|
|
1317
|
+
title: verseNumber.toString(),
|
|
1318
|
+
};
|
|
1319
|
+
}),
|
|
1320
|
+
};
|
|
1321
|
+
}),
|
|
1527
1322
|
},
|
|
1528
1323
|
{
|
|
1529
1324
|
id: 'HEB',
|
|
1530
1325
|
title: 'Hebrews',
|
|
1326
|
+
full_title: 'The Epistle to the Hebrews',
|
|
1531
1327
|
abbreviation: 'Heb',
|
|
1532
1328
|
canon: 'nt',
|
|
1533
|
-
chapters:
|
|
1534
|
-
|
|
1535
|
-
|
|
1536
|
-
|
|
1537
|
-
|
|
1538
|
-
|
|
1539
|
-
|
|
1540
|
-
|
|
1541
|
-
|
|
1542
|
-
|
|
1543
|
-
|
|
1544
|
-
|
|
1545
|
-
|
|
1546
|
-
|
|
1547
|
-
|
|
1329
|
+
chapters: Array.from({ length: 13 }, (_, i) => {
|
|
1330
|
+
const chapterNumber = i + 1;
|
|
1331
|
+
return {
|
|
1332
|
+
id: chapterNumber.toString(),
|
|
1333
|
+
passage_id: `HEB.${chapterNumber}`,
|
|
1334
|
+
title: chapterNumber.toString(),
|
|
1335
|
+
verses: Array.from({ length: 15 }, (_, j) => {
|
|
1336
|
+
const verseNumber = j + 1;
|
|
1337
|
+
return {
|
|
1338
|
+
id: verseNumber.toString(),
|
|
1339
|
+
passage_id: `HEB.${chapterNumber}.${verseNumber}`,
|
|
1340
|
+
title: verseNumber.toString(),
|
|
1341
|
+
};
|
|
1342
|
+
}),
|
|
1343
|
+
};
|
|
1344
|
+
}),
|
|
1548
1345
|
},
|
|
1549
1346
|
{
|
|
1550
1347
|
id: 'JAS',
|
|
1551
1348
|
title: 'James',
|
|
1349
|
+
full_title: 'The Epistle of James',
|
|
1552
1350
|
abbreviation: 'Jas',
|
|
1553
1351
|
canon: 'nt',
|
|
1554
|
-
chapters:
|
|
1352
|
+
chapters: Array.from({ length: 5 }, (_, i) => {
|
|
1353
|
+
const chapterNumber = i + 1;
|
|
1354
|
+
return {
|
|
1355
|
+
id: chapterNumber.toString(),
|
|
1356
|
+
passage_id: `JAS.${chapterNumber}`,
|
|
1357
|
+
title: chapterNumber.toString(),
|
|
1358
|
+
verses: Array.from({ length: 15 }, (_, j) => {
|
|
1359
|
+
const verseNumber = j + 1;
|
|
1360
|
+
return {
|
|
1361
|
+
id: verseNumber.toString(),
|
|
1362
|
+
passage_id: `JAS.${chapterNumber}.${verseNumber}`,
|
|
1363
|
+
title: verseNumber.toString(),
|
|
1364
|
+
};
|
|
1365
|
+
}),
|
|
1366
|
+
};
|
|
1367
|
+
}),
|
|
1555
1368
|
},
|
|
1556
1369
|
{
|
|
1557
1370
|
id: '1PE',
|
|
1558
1371
|
title: '1 Peter',
|
|
1372
|
+
full_title: 'The First Epistle of Peter',
|
|
1559
1373
|
abbreviation: '1 Pet',
|
|
1560
1374
|
canon: 'nt',
|
|
1561
|
-
chapters:
|
|
1375
|
+
chapters: Array.from({ length: 5 }, (_, i) => {
|
|
1376
|
+
const chapterNumber = i + 1;
|
|
1377
|
+
return {
|
|
1378
|
+
id: chapterNumber.toString(),
|
|
1379
|
+
passage_id: `1PE.${chapterNumber}`,
|
|
1380
|
+
title: chapterNumber.toString(),
|
|
1381
|
+
verses: Array.from({ length: 15 }, (_, j) => {
|
|
1382
|
+
const verseNumber = j + 1;
|
|
1383
|
+
return {
|
|
1384
|
+
id: verseNumber.toString(),
|
|
1385
|
+
passage_id: `1PE.${chapterNumber}.${verseNumber}`,
|
|
1386
|
+
title: verseNumber.toString(),
|
|
1387
|
+
};
|
|
1388
|
+
}),
|
|
1389
|
+
};
|
|
1390
|
+
}),
|
|
1562
1391
|
},
|
|
1563
1392
|
{
|
|
1564
1393
|
id: '2PE',
|
|
1565
1394
|
title: '2 Peter',
|
|
1395
|
+
full_title: 'The Second Epistle of Peter',
|
|
1566
1396
|
abbreviation: '2 Pet',
|
|
1567
1397
|
canon: 'nt',
|
|
1568
|
-
chapters:
|
|
1398
|
+
chapters: Array.from({ length: 3 }, (_, i) => {
|
|
1399
|
+
const chapterNumber = i + 1;
|
|
1400
|
+
return {
|
|
1401
|
+
id: chapterNumber.toString(),
|
|
1402
|
+
passage_id: `2PE.${chapterNumber}`,
|
|
1403
|
+
title: chapterNumber.toString(),
|
|
1404
|
+
verses: Array.from({ length: 15 }, (_, j) => {
|
|
1405
|
+
const verseNumber = j + 1;
|
|
1406
|
+
return {
|
|
1407
|
+
id: verseNumber.toString(),
|
|
1408
|
+
passage_id: `2PE.${chapterNumber}.${verseNumber}`,
|
|
1409
|
+
title: verseNumber.toString(),
|
|
1410
|
+
};
|
|
1411
|
+
}),
|
|
1412
|
+
};
|
|
1413
|
+
}),
|
|
1569
1414
|
},
|
|
1570
1415
|
{
|
|
1571
1416
|
id: '1JN',
|
|
1572
1417
|
title: '1 John',
|
|
1418
|
+
full_title: 'The First Epistle of John',
|
|
1573
1419
|
abbreviation: '1 John',
|
|
1574
1420
|
canon: 'nt',
|
|
1575
|
-
chapters:
|
|
1421
|
+
chapters: Array.from({ length: 5 }, (_, i) => {
|
|
1422
|
+
const chapterNumber = i + 1;
|
|
1423
|
+
return {
|
|
1424
|
+
id: chapterNumber.toString(),
|
|
1425
|
+
passage_id: `1JN.${chapterNumber}`,
|
|
1426
|
+
title: chapterNumber.toString(),
|
|
1427
|
+
verses: Array.from({ length: 15 }, (_, j) => {
|
|
1428
|
+
const verseNumber = j + 1;
|
|
1429
|
+
return {
|
|
1430
|
+
id: verseNumber.toString(),
|
|
1431
|
+
passage_id: `1JN.${chapterNumber}.${verseNumber}`,
|
|
1432
|
+
title: verseNumber.toString(),
|
|
1433
|
+
};
|
|
1434
|
+
}),
|
|
1435
|
+
};
|
|
1436
|
+
}),
|
|
1576
1437
|
},
|
|
1577
1438
|
{
|
|
1578
1439
|
id: '2JN',
|
|
1579
1440
|
title: '2 John',
|
|
1441
|
+
full_title: 'The Second Epistle of John',
|
|
1580
1442
|
abbreviation: '2 John',
|
|
1581
1443
|
canon: 'nt',
|
|
1582
|
-
chapters:
|
|
1444
|
+
chapters: Array.from({ length: 1 }, (_, i) => {
|
|
1445
|
+
const chapterNumber = i + 1;
|
|
1446
|
+
return {
|
|
1447
|
+
id: chapterNumber.toString(),
|
|
1448
|
+
passage_id: `2JN.${chapterNumber}`,
|
|
1449
|
+
title: chapterNumber.toString(),
|
|
1450
|
+
verses: Array.from({ length: 13 }, (_, j) => {
|
|
1451
|
+
const verseNumber = j + 1;
|
|
1452
|
+
return {
|
|
1453
|
+
id: verseNumber.toString(),
|
|
1454
|
+
passage_id: `2JN.${chapterNumber}.${verseNumber}`,
|
|
1455
|
+
title: verseNumber.toString(),
|
|
1456
|
+
};
|
|
1457
|
+
}),
|
|
1458
|
+
};
|
|
1459
|
+
}),
|
|
1583
1460
|
},
|
|
1584
1461
|
{
|
|
1585
1462
|
id: '3JN',
|
|
1586
1463
|
title: '3 John',
|
|
1464
|
+
full_title: 'The Third Epistle of John',
|
|
1587
1465
|
abbreviation: '3 John',
|
|
1588
1466
|
canon: 'nt',
|
|
1589
|
-
chapters:
|
|
1467
|
+
chapters: Array.from({ length: 1 }, (_, i) => {
|
|
1468
|
+
const chapterNumber = i + 1;
|
|
1469
|
+
return {
|
|
1470
|
+
id: chapterNumber.toString(),
|
|
1471
|
+
passage_id: `3JN.${chapterNumber}`,
|
|
1472
|
+
title: chapterNumber.toString(),
|
|
1473
|
+
verses: Array.from({ length: 14 }, (_, j) => {
|
|
1474
|
+
const verseNumber = j + 1;
|
|
1475
|
+
return {
|
|
1476
|
+
id: verseNumber.toString(),
|
|
1477
|
+
passage_id: `3JN.${chapterNumber}.${verseNumber}`,
|
|
1478
|
+
title: verseNumber.toString(),
|
|
1479
|
+
};
|
|
1480
|
+
}),
|
|
1481
|
+
};
|
|
1482
|
+
}),
|
|
1590
1483
|
},
|
|
1591
1484
|
{
|
|
1592
1485
|
id: 'JUD',
|
|
1593
1486
|
title: 'Jude',
|
|
1487
|
+
full_title: 'The Epistle of Jude',
|
|
1594
1488
|
abbreviation: 'Jude',
|
|
1595
1489
|
canon: 'nt',
|
|
1596
|
-
chapters:
|
|
1490
|
+
chapters: Array.from({ length: 1 }, (_, i) => {
|
|
1491
|
+
const chapterNumber = i + 1;
|
|
1492
|
+
return {
|
|
1493
|
+
id: chapterNumber.toString(),
|
|
1494
|
+
passage_id: `JUD.${chapterNumber}`,
|
|
1495
|
+
title: chapterNumber.toString(),
|
|
1496
|
+
verses: Array.from({ length: 25 }, (_, j) => {
|
|
1497
|
+
const verseNumber = j + 1;
|
|
1498
|
+
return {
|
|
1499
|
+
id: verseNumber.toString(),
|
|
1500
|
+
passage_id: `JUD.${chapterNumber}.${verseNumber}`,
|
|
1501
|
+
title: verseNumber.toString(),
|
|
1502
|
+
};
|
|
1503
|
+
}),
|
|
1504
|
+
};
|
|
1505
|
+
}),
|
|
1597
1506
|
},
|
|
1598
1507
|
{
|
|
1599
1508
|
id: 'REV',
|
|
1600
1509
|
title: 'Revelation',
|
|
1510
|
+
full_title: 'The Revelation of Jesus Christ',
|
|
1601
1511
|
abbreviation: 'Rev',
|
|
1602
1512
|
canon: 'nt',
|
|
1603
|
-
chapters:
|
|
1604
|
-
|
|
1605
|
-
|
|
1606
|
-
|
|
1607
|
-
|
|
1608
|
-
|
|
1609
|
-
|
|
1610
|
-
|
|
1611
|
-
|
|
1612
|
-
|
|
1613
|
-
|
|
1614
|
-
|
|
1615
|
-
|
|
1616
|
-
|
|
1617
|
-
|
|
1618
|
-
|
|
1619
|
-
'REV.16',
|
|
1620
|
-
'REV.17',
|
|
1621
|
-
'REV.18',
|
|
1622
|
-
'REV.19',
|
|
1623
|
-
'REV.20',
|
|
1624
|
-
'REV.21',
|
|
1625
|
-
'REV.22',
|
|
1626
|
-
],
|
|
1513
|
+
chapters: Array.from({ length: 22 }, (_, i) => {
|
|
1514
|
+
const chapterNumber = i + 1;
|
|
1515
|
+
return {
|
|
1516
|
+
id: chapterNumber.toString(),
|
|
1517
|
+
passage_id: `REV.${chapterNumber}`,
|
|
1518
|
+
title: chapterNumber.toString(),
|
|
1519
|
+
verses: Array.from({ length: 20 }, (_, j) => {
|
|
1520
|
+
const verseNumber = j + 1;
|
|
1521
|
+
return {
|
|
1522
|
+
id: verseNumber.toString(),
|
|
1523
|
+
passage_id: `REV.${chapterNumber}.${verseNumber}`,
|
|
1524
|
+
title: verseNumber.toString(),
|
|
1525
|
+
};
|
|
1526
|
+
}),
|
|
1527
|
+
};
|
|
1528
|
+
}),
|
|
1627
1529
|
},
|
|
1628
1530
|
];
|