@youversion/platform-react-hooks 1.21.0 → 1.22.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 (97) hide show
  1. package/.turbo/turbo-build.log +21 -1
  2. package/CHANGELOG.md +21 -0
  3. package/dist/YouVersionAuthProvider-VORD6KDZ.js +80 -0
  4. package/dist/chunk-ITHJF2FD.js +17 -0
  5. package/dist/index.cjs +946 -0
  6. package/dist/index.js +788 -26
  7. package/package.json +11 -6
  8. package/tsconfig.build.json +4 -1
  9. package/dist/__tests__/mocks/auth.js +0 -43
  10. package/dist/__tests__/mocks/auth.js.map +0 -1
  11. package/dist/__tests__/mocks/bibles.js +0 -23
  12. package/dist/__tests__/mocks/bibles.js.map +0 -1
  13. package/dist/__tests__/mocks/core-mock-factory.js +0 -138
  14. package/dist/__tests__/mocks/core-mock-factory.js.map +0 -1
  15. package/dist/__tests__/utils/test-utils.js +0 -11
  16. package/dist/__tests__/utils/test-utils.js.map +0 -1
  17. package/dist/context/ReaderContext.js +0 -17
  18. package/dist/context/ReaderContext.js.map +0 -1
  19. package/dist/context/ReaderProvider.js +0 -24
  20. package/dist/context/ReaderProvider.js.map +0 -1
  21. package/dist/context/VerseSelectionContext.js +0 -6
  22. package/dist/context/VerseSelectionContext.js.map +0 -1
  23. package/dist/context/VerseSelectionProvider.js +0 -36
  24. package/dist/context/VerseSelectionProvider.js.map +0 -1
  25. package/dist/context/YouVersionAuthContext.js +0 -13
  26. package/dist/context/YouVersionAuthContext.js.map +0 -1
  27. package/dist/context/YouVersionAuthProvider.js +0 -81
  28. package/dist/context/YouVersionAuthProvider.js.map +0 -1
  29. package/dist/context/YouVersionContext.js +0 -4
  30. package/dist/context/YouVersionContext.js.map +0 -1
  31. package/dist/context/YouVersionProvider.js +0 -63
  32. package/dist/context/YouVersionProvider.js.map +0 -1
  33. package/dist/context/index.js +0 -7
  34. package/dist/context/index.js.map +0 -1
  35. package/dist/index.js.map +0 -1
  36. package/dist/test/setup.js +0 -9
  37. package/dist/test/setup.js.map +0 -1
  38. package/dist/test/utils.js +0 -7
  39. package/dist/test/utils.js.map +0 -1
  40. package/dist/types/auth.js +0 -2
  41. package/dist/types/auth.js.map +0 -1
  42. package/dist/useApiData.js +0 -46
  43. package/dist/useApiData.js.map +0 -1
  44. package/dist/useBibleClient.js +0 -18
  45. package/dist/useBibleClient.js.map +0 -1
  46. package/dist/useBook.js +0 -11
  47. package/dist/useBook.js.map +0 -1
  48. package/dist/useBooks.js +0 -11
  49. package/dist/useBooks.js.map +0 -1
  50. package/dist/useChapter.js +0 -11
  51. package/dist/useChapter.js.map +0 -1
  52. package/dist/useChapterNavigation.js +0 -57
  53. package/dist/useChapterNavigation.js.map +0 -1
  54. package/dist/useChapters.js +0 -13
  55. package/dist/useChapters.js.map +0 -1
  56. package/dist/useFilteredVersions.js +0 -29
  57. package/dist/useFilteredVersions.js.map +0 -1
  58. package/dist/useHighlights.js +0 -41
  59. package/dist/useHighlights.js.map +0 -1
  60. package/dist/useInitData.js +0 -29
  61. package/dist/useInitData.js.map +0 -1
  62. package/dist/useLanguage.js +0 -17
  63. package/dist/useLanguage.js.map +0 -1
  64. package/dist/useLanguageClient.js +0 -18
  65. package/dist/useLanguageClient.js.map +0 -1
  66. package/dist/useLanguages.js +0 -23
  67. package/dist/useLanguages.js.map +0 -1
  68. package/dist/usePassage.js +0 -11
  69. package/dist/usePassage.js.map +0 -1
  70. package/dist/useTheme.js +0 -21
  71. package/dist/useTheme.js.map +0 -1
  72. package/dist/useVOTD.js +0 -9
  73. package/dist/useVOTD.js.map +0 -1
  74. package/dist/useVerse.js +0 -11
  75. package/dist/useVerse.js.map +0 -1
  76. package/dist/useVerseSelection.js +0 -13
  77. package/dist/useVerseSelection.js.map +0 -1
  78. package/dist/useVerses.js +0 -11
  79. package/dist/useVerses.js.map +0 -1
  80. package/dist/useVersion.js +0 -11
  81. package/dist/useVersion.js.map +0 -1
  82. package/dist/useVersions.js +0 -35
  83. package/dist/useVersions.js.map +0 -1
  84. package/dist/useYVAuth.js +0 -144
  85. package/dist/useYVAuth.js.map +0 -1
  86. package/dist/utility/extractTextFromHTML.js +0 -21
  87. package/dist/utility/extractTextFromHTML.js.map +0 -1
  88. package/dist/utility/extractVersesFromHTML.js +0 -26
  89. package/dist/utility/extractVersesFromHTML.js.map +0 -1
  90. package/dist/utility/getDayOfYear.js +0 -5
  91. package/dist/utility/getDayOfYear.js.map +0 -1
  92. package/dist/utility/index.js +0 -6
  93. package/dist/utility/index.js.map +0 -1
  94. package/dist/utility/useDebounce.js +0 -24
  95. package/dist/utility/useDebounce.js.map +0 -1
  96. package/dist/utility/version.js +0 -4
  97. package/dist/utility/version.js.map +0 -1
package/dist/useYVAuth.js DELETED
@@ -1,144 +0,0 @@
1
- import { useMemo, useCallback } from 'react';
2
- import { YouVersionAPIUsers, YouVersionPlatformConfiguration, } from '@youversion/platform-core';
3
- import { useYouVersionAuthContext } from './context/YouVersionAuthContext';
4
- /**
5
- * Comprehensive YouVersion authentication hook using vanilla React.
6
- *
7
- * Provides complete auth functionality without external dependencies.
8
- * Sign-in redirects to YouVersion, callback processing caches user info.
9
- *
10
- * @returns Complete auth state and functionality
11
- *
12
- * @example
13
- * ```tsx
14
- * // Sign-in page
15
- * import { useYVAuth, SignInWithYouVersionPermission } from '@youversion/platform-react-hooks';
16
- *
17
- * function SignInPage() {
18
- * const { auth, signIn } = useYVAuth();
19
- *
20
- * const handleSignIn = async () => {
21
- * try {
22
- * await signIn({
23
- * redirectUrl: 'https://myapp.com/callback',
24
- * });
25
- * } catch (error) {
26
- * console.error('Sign in failed:', error);
27
- * }
28
- * };
29
- *
30
- * if (auth.isAuthenticated) {
31
- * return <div>Already signed in!</div>;
32
- * }
33
- *
34
- * return (
35
- * <button onClick={handleSignIn} disabled={auth.isLoading}>
36
- * {auth.isLoading ? 'Signing in...' : 'Sign In'}
37
- * </button>
38
- * );
39
- * }
40
- *
41
- * // Callback page
42
- * function CallbackPage() {
43
- * const { processCallback } = useYVAuth();
44
- * const [isProcessing, setIsProcessing] = useState(true);
45
- *
46
- * useEffect(() => {
47
- * processCallback()
48
- * .then(result => {
49
- * if (result) {
50
- * console.log('Auth success:', result.name);
51
- * // User info is now cached
52
- * // Redirect to app
53
- * }
54
- * })
55
- * .catch(error => {
56
- * console.error('Auth failed:', error);
57
- * })
58
- * .finally(() => {
59
- * setIsProcessing(false);
60
- * });
61
- * }, [processCallback]);
62
- *
63
- * return (
64
- * <div>
65
- * {isProcessing ? 'Processing authentication...' : 'Authentication complete'}
66
- * </div>
67
- * );
68
- * }
69
- *
70
- * // App with cached user info
71
- * function App() {
72
- * const { auth, userInfo, signOut } = useYVAuth();
73
- *
74
- * if (!auth.isAuthenticated) {
75
- * return <SignInPage />;
76
- * }
77
- *
78
- * return (
79
- * <div>
80
- * <p>Welcome, {userInfo?.name || 'User'}!</p>
81
- * <button onClick={signOut}>Sign Out</button>
82
- * </div>
83
- * );
84
- * }
85
- * ```
86
- */
87
- export function useYVAuth() {
88
- // Get auth state from provider context
89
- const { userInfo, setUserInfo, isLoading, error, redirectUri } = useYouVersionAuthContext();
90
- // Derive authentication state
91
- const isAuthenticated = !!userInfo;
92
- // Get current tokens for actions
93
- const authTokens = useMemo(() => {
94
- if (typeof window !== 'undefined') {
95
- return {
96
- accessToken: YouVersionPlatformConfiguration.accessToken,
97
- idToken: YouVersionPlatformConfiguration.idToken,
98
- };
99
- }
100
- return { accessToken: null, idToken: null };
101
- }, []);
102
- // Sign in function
103
- const signIn = useCallback(async (params) => {
104
- const url = params?.redirectUrl ?? redirectUri;
105
- if (!url) {
106
- throw new Error('redirectUrl is required. Provide it via signIn params or configure redirectUri in the auth provider.');
107
- }
108
- if (params?.scopes) {
109
- await YouVersionAPIUsers.signIn(url, params.scopes);
110
- }
111
- else {
112
- await YouVersionAPIUsers.signIn(url);
113
- }
114
- // Note: This will redirect, so code after this won't execute
115
- }, [redirectUri]);
116
- // Process callback function
117
- const processCallback = useCallback(async () => {
118
- const result = await YouVersionAPIUsers.handleAuthCallback();
119
- return result;
120
- }, []);
121
- // Derive auth state
122
- const auth = useMemo(() => ({
123
- isAuthenticated,
124
- isLoading,
125
- accessToken: authTokens.accessToken,
126
- idToken: authTokens.idToken,
127
- result: null,
128
- error,
129
- }), [isAuthenticated, isLoading, authTokens.accessToken, authTokens.idToken, error]);
130
- // Sign out function
131
- const signOut = useCallback(() => {
132
- YouVersionPlatformConfiguration.clearAuthTokens();
133
- setUserInfo(null);
134
- }, []);
135
- return {
136
- auth,
137
- signIn,
138
- signOut,
139
- processCallback,
140
- userInfo,
141
- redirectUri,
142
- };
143
- }
144
- //# sourceMappingURL=useYVAuth.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useYVAuth.js","sourceRoot":"","sources":["../src/useYVAuth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAC7C,OAAO,EACL,kBAAkB,EAClB,+BAA+B,GAKhC,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAoB3E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkFG;AACH,MAAM,UAAU,SAAS;IACvB,uCAAuC;IACvC,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,wBAAwB,EAAE,CAAC;IAE5F,8BAA8B;IAC9B,MAAM,eAAe,GAAG,CAAC,CAAC,QAAQ,CAAC;IAEnC,iCAAiC;IACjC,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE;QAC9B,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;YAClC,OAAO;gBACL,WAAW,EAAE,+BAA+B,CAAC,WAAW;gBACxD,OAAO,EAAE,+BAA+B,CAAC,OAAO;aACjD,CAAC;QACJ,CAAC;QACD,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC9C,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,mBAAmB;IACnB,MAAM,MAAM,GAAG,WAAW,CACxB,KAAK,EAAE,MAAkE,EAAE,EAAE;QAC3E,MAAM,GAAG,GAAG,MAAM,EAAE,WAAW,IAAI,WAAW,CAAC;QAC/C,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,IAAI,KAAK,CACb,sGAAsG,CACvG,CAAC;QACJ,CAAC;QACD,IAAI,MAAM,EAAE,MAAM,EAAE,CAAC;YACnB,MAAM,kBAAkB,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QACtD,CAAC;aAAM,CAAC;YACN,MAAM,kBAAkB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACvC,CAAC;QACD,6DAA6D;IAC/D,CAAC,EACD,CAAC,WAAW,CAAC,CACd,CAAC;IAEF,4BAA4B;IAC5B,MAAM,eAAe,GAAG,WAAW,CAAC,KAAK,IAAgD,EAAE;QACzF,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,kBAAkB,EAAE,CAAC;QAC7D,OAAO,MAAM,CAAC;IAChB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,oBAAoB;IACpB,MAAM,IAAI,GAAwB,OAAO,CACvC,GAAG,EAAE,CAAC,CAAC;QACL,eAAe;QACf,SAAS;QACT,WAAW,EAAE,UAAU,CAAC,WAAW;QACnC,OAAO,EAAE,UAAU,CAAC,OAAO;QAC3B,MAAM,EAAE,IAAI;QACZ,KAAK;KACN,CAAC,EACF,CAAC,eAAe,EAAE,SAAS,EAAE,UAAU,CAAC,WAAW,EAAE,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,CAChF,CAAC;IAEF,oBAAoB;IACpB,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE;QAC/B,+BAA+B,CAAC,eAAe,EAAE,CAAC;QAClD,WAAW,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO;QACL,IAAI;QACJ,MAAM;QACN,OAAO;QACP,eAAe;QACf,QAAQ;QACR,WAAW;KACZ,CAAC;AACJ,CAAC"}
@@ -1,21 +0,0 @@
1
- /**
2
- * Extracts readable text from an HTML string, focusing on content spans.
3
- * This is needed because verses include markup for labels, footnotes, etc.
4
- *
5
- * @param html - The HTML content to extract text from
6
- * @returns Plain text with normalized whitespace
7
- */
8
- export function extractTextFromHtml(html) {
9
- if (!html)
10
- return '';
11
- const container = document.createElement('div');
12
- container.innerHTML = html;
13
- // Extract text from content spans and join with spaces
14
- const contentText = Array.from(container.querySelectorAll('span.content'))
15
- .map((el) => (el.textContent || '').trim())
16
- .filter(Boolean)
17
- .join(' ');
18
- // Normalize whitespace
19
- return contentText.replace(/\s+/g, ' ').trim();
20
- }
21
- //# sourceMappingURL=extractTextFromHTML.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"extractTextFromHTML.js","sourceRoot":"","sources":["../../src/utility/extractTextFromHTML.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAY;IAC9C,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,CAAC;IAErB,MAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAChD,SAAS,CAAC,SAAS,GAAG,IAAI,CAAC;IAE3B,uDAAuD;IACvD,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAc,cAAc,CAAC,CAAC;SACpF,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;SAC1C,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,GAAG,CAAC,CAAC;IAEb,uBAAuB;IACvB,OAAO,WAAW,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;AACjD,CAAC"}
@@ -1,26 +0,0 @@
1
- /**
2
- * Splits a passage HTML into an array of verse HTML strings.
3
- * Expects markers like: <span class="yv-v" v="N"></span><span class="yv-vlbl">N</span>
4
- */
5
- export function extractVersesFromHTML(html) {
6
- if (!html)
7
- return [];
8
- const results = [];
9
- const pattern = /<span class="yv-v" v="(\d+)"><\/span><span class="yv-vlbl">\d+<\/span>/g;
10
- let execResult;
11
- const indices = [];
12
- while ((execResult = pattern.exec(html)) !== null) {
13
- const verseNumString = execResult[1];
14
- indices.push({ verse: parseInt(verseNumString, 10), index: execResult.index });
15
- }
16
- for (let i = 0; i < indices.length; i++) {
17
- const current = indices[i];
18
- const next = indices[i + 1];
19
- const start = current.index;
20
- const end = next ? next.index : html.length;
21
- const slice = html.slice(start, end).trim();
22
- results.push({ verse: current.verse, html: slice });
23
- }
24
- return results;
25
- }
26
- //# sourceMappingURL=extractVersesFromHTML.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"extractVersesFromHTML.js","sourceRoot":"","sources":["../../src/utility/extractVersesFromHTML.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CACnC,IAA+B;IAE/B,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,CAAC;IAErB,MAAM,OAAO,GAAsC,EAAE,CAAC;IACtD,MAAM,OAAO,GAAG,yEAAyE,CAAC;IAE1F,IAAI,UAAkC,CAAC;IACvC,MAAM,OAAO,GAAuC,EAAE,CAAC;IAEvD,OAAO,CAAC,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QAClD,MAAM,cAAc,GAAG,UAAU,CAAC,CAAC,CAAE,CAAC;QACtC,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,cAAc,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC;IACjF,CAAC;IAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAE,CAAC;QAC5B,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC5B,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;QAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QAC5C,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACtD,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -1,5 +0,0 @@
1
- export function getDayOfYear(date) {
2
- const dayOfYear = Math.floor((date.getTime() - new Date(date.getFullYear(), 0, 0).getTime()) / 86400000);
3
- return dayOfYear;
4
- }
5
- //# sourceMappingURL=getDayOfYear.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getDayOfYear.js","sourceRoot":"","sources":["../../src/utility/getDayOfYear.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,YAAY,CAAC,IAAU;IACrC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAC1B,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,GAAG,QAAQ,CAC3E,CAAC;IACF,OAAO,SAAS,CAAC;AACnB,CAAC"}
@@ -1,6 +0,0 @@
1
- export * from './extractTextFromHTML';
2
- export * from './useDebounce';
3
- export * from './version';
4
- export * from './extractVersesFromHTML';
5
- export * from './getDayOfYear';
6
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utility/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,yBAAyB,CAAC;AACxC,cAAc,gBAAgB,CAAC"}
@@ -1,24 +0,0 @@
1
- import { useEffect, useState } from 'react';
2
- /**
3
- * Custom hook for debouncing a value.
4
- *
5
- * The hook delays the update of the given value until a specified delay has passed
6
- * after the last change. It is commonly used to optimize the performance of
7
- * functions that depend on user input or rapidly updating values.
8
- *
9
- * @param value - The input value to be debounced.
10
- * @param delay - The duration in milliseconds to delay the update of the value.
11
- *
12
- * @returns The debounced value, updated after the specified delay.
13
- */
14
- export function useDebounce(value, delay) {
15
- const [debouncedValue, setDebouncedValue] = useState(value);
16
- useEffect(() => {
17
- const handler = setTimeout(() => {
18
- setDebouncedValue(value);
19
- }, delay);
20
- return () => clearTimeout(handler);
21
- }, [value, delay]);
22
- return debouncedValue;
23
- }
24
- //# sourceMappingURL=useDebounce.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useDebounce.js","sourceRoot":"","sources":["../../src/utility/useDebounce.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAE5C;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,WAAW,CAAI,KAAQ,EAAE,KAAa;IACpD,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE5D,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;YAC9B,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC,EAAE,KAAK,CAAC,CAAC;QAEV,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;IAEnB,OAAO,cAAc,CAAC;AACxB,CAAC"}
@@ -1,4 +0,0 @@
1
- export function getISOFromVersion(version) {
2
- return version?.language_tag || 'unknown';
3
- }
4
- //# sourceMappingURL=version.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/utility/version.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,iBAAiB,CAAC,OAAqB;IACrD,OAAO,OAAO,EAAE,YAAY,IAAI,SAAS,CAAC;AAC5C,CAAC"}