@youversion/platform-core 0.4.1

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 (59) hide show
  1. package/.env.example +7 -0
  2. package/.env.local +10 -0
  3. package/.turbo/turbo-build.log +18 -0
  4. package/CHANGELOG.md +7 -0
  5. package/LICENSE +201 -0
  6. package/README.md +369 -0
  7. package/dist/index.cjs +1330 -0
  8. package/dist/index.d.cts +737 -0
  9. package/dist/index.d.ts +737 -0
  10. package/dist/index.js +1286 -0
  11. package/package.json +46 -0
  12. package/src/AuthenticationStrategy.ts +78 -0
  13. package/src/SignInWithYouVersionResult.ts +53 -0
  14. package/src/StorageStrategy.ts +81 -0
  15. package/src/URLBuilder.ts +71 -0
  16. package/src/Users.ts +137 -0
  17. package/src/WebAuthenticationStrategy.ts +127 -0
  18. package/src/YouVersionAPI.ts +27 -0
  19. package/src/YouVersionPlatformConfiguration.ts +80 -0
  20. package/src/YouVersionUserInfo.ts +49 -0
  21. package/src/__tests__/StorageStrategy.test.ts +404 -0
  22. package/src/__tests__/URLBuilder.test.ts +289 -0
  23. package/src/__tests__/YouVersionPlatformConfiguration.test.ts +150 -0
  24. package/src/__tests__/authentication.test.ts +174 -0
  25. package/src/__tests__/bible.test.ts +356 -0
  26. package/src/__tests__/client.test.ts +109 -0
  27. package/src/__tests__/handlers.ts +41 -0
  28. package/src/__tests__/highlights.test.ts +485 -0
  29. package/src/__tests__/languages.test.ts +139 -0
  30. package/src/__tests__/setup.ts +17 -0
  31. package/src/authentication.ts +27 -0
  32. package/src/bible.ts +272 -0
  33. package/src/client.ts +162 -0
  34. package/src/highlight.ts +16 -0
  35. package/src/highlights.ts +173 -0
  36. package/src/index.ts +20 -0
  37. package/src/languages.ts +80 -0
  38. package/src/schemas/bible-index.ts +48 -0
  39. package/src/schemas/book.ts +34 -0
  40. package/src/schemas/chapter.ts +24 -0
  41. package/src/schemas/collection.ts +28 -0
  42. package/src/schemas/highlight.ts +23 -0
  43. package/src/schemas/index.ts +11 -0
  44. package/src/schemas/language.ts +38 -0
  45. package/src/schemas/passage.ts +14 -0
  46. package/src/schemas/user.ts +10 -0
  47. package/src/schemas/verse.ts +17 -0
  48. package/src/schemas/version.ts +31 -0
  49. package/src/schemas/votd.ts +10 -0
  50. package/src/types/api-config.ts +9 -0
  51. package/src/types/auth.ts +15 -0
  52. package/src/types/book.ts +116 -0
  53. package/src/types/chapter.ts +5 -0
  54. package/src/types/highlight.ts +9 -0
  55. package/src/types/index.ts +22 -0
  56. package/src/utils/constants.ts +219 -0
  57. package/tsconfig.build.json +11 -0
  58. package/tsconfig.json +12 -0
  59. package/vitest.config.ts +9 -0
@@ -0,0 +1,219 @@
1
+ export const BOOK_IDS = [
2
+ 'GEN',
3
+ 'EXO',
4
+ 'LEV',
5
+ 'NUM',
6
+ 'DEU',
7
+ 'JOS',
8
+ 'JDG',
9
+ 'RUT',
10
+ '1SA',
11
+ '2SA',
12
+ '1KI',
13
+ '2KI',
14
+ '1CH',
15
+ '2CH',
16
+ 'EZR',
17
+ 'NEH',
18
+ 'EST',
19
+ 'JOB',
20
+ 'PSA',
21
+ 'PRO',
22
+ 'ECC',
23
+ 'SNG',
24
+ 'ISA',
25
+ 'JER',
26
+ 'LAM',
27
+ 'EZK',
28
+ 'DAN',
29
+ 'HOS',
30
+ 'JOL',
31
+ 'AMO',
32
+ 'OBA',
33
+ 'JON',
34
+ 'MIC',
35
+ 'NAM',
36
+ 'HAB',
37
+ 'ZEP',
38
+ 'HAG',
39
+ 'ZEC',
40
+ 'MAL',
41
+ 'MAT',
42
+ 'MRK',
43
+ 'LUK',
44
+ 'JHN',
45
+ 'ACT',
46
+ 'ROM',
47
+ '1CO',
48
+ '2CO',
49
+ 'GAL',
50
+ 'EPH',
51
+ 'PHP',
52
+ 'COL',
53
+ '1TH',
54
+ '2TH',
55
+ '1TI',
56
+ '2TI',
57
+ 'TIT',
58
+ 'PHM',
59
+ 'HEB',
60
+ 'JAS',
61
+ '1PE',
62
+ '2PE',
63
+ '1JN',
64
+ '2JN',
65
+ '3JN',
66
+ 'JUD',
67
+ 'REV',
68
+ // dc (Apocrypha) books
69
+ 'TOB',
70
+ 'JDT',
71
+ 'ESG',
72
+ 'WIS',
73
+ 'SIR',
74
+ 'BAR',
75
+ 'LJE',
76
+ 'S3Y',
77
+ 'SUS',
78
+ 'BEL',
79
+ '1MA',
80
+ '2MA',
81
+ '3MA',
82
+ '4MA',
83
+ '1ES',
84
+ '2ES',
85
+ 'MAN',
86
+ 'PS2',
87
+ 'ODA',
88
+ 'PSS',
89
+ '3ES',
90
+ 'EZA',
91
+ '5EZ',
92
+ '6EZ',
93
+ 'DAG',
94
+ 'PS3',
95
+ '2BA',
96
+ 'LBA',
97
+ 'JUB',
98
+ 'ENO',
99
+ '1MQ',
100
+ '2MQ',
101
+ '3MQ',
102
+ 'REP',
103
+ '4BA',
104
+ 'LAO',
105
+ // Luke-Acts combo, treated canonically as New Testament
106
+ 'LKA',
107
+ ] as const;
108
+
109
+ // Import types for BOOK_CANON - moved CANON_IDS to schemas/book.ts to avoid circular dependency
110
+ import type { Canon, BookUsfm } from '../schemas/book';
111
+
112
+ /**
113
+ * @see https://github.com/youversion/usfm-references/blob/main/usfm_references/books.py
114
+ */
115
+ export const BOOK_CANON: Record<BookUsfm, Canon> = {
116
+ GEN: 'ot',
117
+ EXO: 'ot',
118
+ LEV: 'ot',
119
+ NUM: 'ot',
120
+ DEU: 'ot',
121
+ JOS: 'ot',
122
+ JDG: 'ot',
123
+ RUT: 'ot',
124
+ '1SA': 'ot',
125
+ '2SA': 'ot',
126
+ '1KI': 'ot',
127
+ '2KI': 'ot',
128
+ '1CH': 'ot',
129
+ '2CH': 'ot',
130
+ EZR: 'ot',
131
+ NEH: 'ot',
132
+ EST: 'ot',
133
+ JOB: 'ot',
134
+ PSA: 'ot',
135
+ PRO: 'ot',
136
+ ECC: 'ot',
137
+ SNG: 'ot',
138
+ ISA: 'ot',
139
+ JER: 'ot',
140
+ LAM: 'ot',
141
+ EZK: 'ot',
142
+ DAN: 'ot',
143
+ HOS: 'ot',
144
+ JOL: 'ot',
145
+ AMO: 'ot',
146
+ OBA: 'ot',
147
+ JON: 'ot',
148
+ MIC: 'ot',
149
+ NAM: 'ot',
150
+ HAB: 'ot',
151
+ ZEP: 'ot',
152
+ HAG: 'ot',
153
+ ZEC: 'ot',
154
+ MAL: 'ot',
155
+ MAT: 'nt',
156
+ MRK: 'nt',
157
+ LUK: 'nt',
158
+ JHN: 'nt',
159
+ ACT: 'nt',
160
+ ROM: 'nt',
161
+ '1CO': 'nt',
162
+ '2CO': 'nt',
163
+ GAL: 'nt',
164
+ EPH: 'nt',
165
+ PHP: 'nt',
166
+ COL: 'nt',
167
+ '1TH': 'nt',
168
+ '2TH': 'nt',
169
+ '1TI': 'nt',
170
+ '2TI': 'nt',
171
+ TIT: 'nt',
172
+ PHM: 'nt',
173
+ HEB: 'nt',
174
+ JAS: 'nt',
175
+ '1PE': 'nt',
176
+ '2PE': 'nt',
177
+ '1JN': 'nt',
178
+ '2JN': 'nt',
179
+ '3JN': 'nt',
180
+ JUD: 'nt',
181
+ REV: 'nt',
182
+ TOB: 'dc',
183
+ JDT: 'dc',
184
+ ESG: 'dc',
185
+ WIS: 'dc',
186
+ SIR: 'dc',
187
+ BAR: 'dc',
188
+ LJE: 'dc',
189
+ S3Y: 'dc',
190
+ SUS: 'dc',
191
+ BEL: 'dc',
192
+ '1MA': 'dc',
193
+ '2MA': 'dc',
194
+ '3MA': 'dc',
195
+ '4MA': 'dc',
196
+ '1ES': 'dc',
197
+ '2ES': 'dc',
198
+ MAN: 'dc',
199
+ PS2: 'dc',
200
+ ODA: 'dc',
201
+ PSS: 'dc',
202
+ '3ES': 'dc',
203
+ EZA: 'dc',
204
+ '5EZ': 'dc',
205
+ '6EZ': 'dc',
206
+ DAG: 'dc',
207
+ PS3: 'dc',
208
+ '2BA': 'dc',
209
+ LBA: 'dc',
210
+ JUB: 'dc',
211
+ ENO: 'dc',
212
+ '1MQ': 'dc',
213
+ '2MQ': 'dc',
214
+ '3MQ': 'dc',
215
+ REP: 'dc',
216
+ '4BA': 'dc',
217
+ LAO: 'dc',
218
+ LKA: 'nt', // Luke-Acts combo, treated canonically as New Testament
219
+ };
@@ -0,0 +1,11 @@
1
+ {
2
+ "extends": "./tsconfig.json",
3
+ "compilerOptions": {
4
+ "noEmit": false,
5
+ "outDir": "dist",
6
+ "rootDir": "src",
7
+ "declaration": true,
8
+ "declarationMap": true
9
+ },
10
+ "include": ["src"]
11
+ }
package/tsconfig.json ADDED
@@ -0,0 +1,12 @@
1
+ {
2
+ "extends": "@internal/tsconfig/base.json",
3
+ "compilerOptions": {
4
+ "outDir": "dist",
5
+ "baseUrl": ".",
6
+ "paths": {
7
+ "@/*": ["./src/*"]
8
+ }
9
+ },
10
+ "include": ["src"],
11
+ "exclude": ["node_modules", "dist"]
12
+ }
@@ -0,0 +1,9 @@
1
+ import { defineConfig } from 'vitest/config';
2
+
3
+ export default defineConfig({
4
+ test: {
5
+ environment: 'node',
6
+ setupFiles: ['./src/__tests__/setup.ts'],
7
+ testTimeout: 10_000,
8
+ },
9
+ });