waha-shared 1.0.2 → 1.0.4

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 (107) hide show
  1. package/dist/data/bibleAudios.d.ts +1 -2
  2. package/dist/data/bibleAudios.js +2 -1
  3. package/dist/data/bibleResources/bibleBooks.d.ts +21 -3
  4. package/dist/data/bibleResources/bibleBooks.js +3 -1
  5. package/dist/data/bibleResources/bibleChaptersList.d.ts +1 -2
  6. package/dist/data/bibleResources/bibleChaptersList.js +4 -2
  7. package/dist/data/bibleStatuses.d.ts +1 -2
  8. package/dist/data/bibleStatuses.js +2 -1
  9. package/dist/data/bibleTexts.d.ts +1 -2
  10. package/dist/data/bibleTexts.js +2 -1
  11. package/dist/data/countryResources/areas.d.ts +6 -3
  12. package/dist/data/countryResources/areas.js +3 -1
  13. package/dist/data/countryResources/countries.d.ts +14 -3
  14. package/dist/data/countryResources/countries.js +3 -1
  15. package/dist/data/foundationsCurriculums.d.ts +1 -2
  16. package/dist/data/foundationsCurriculums.js +2 -1
  17. package/dist/data/languageResources/countriesAndLanguages.d.ts +54 -7
  18. package/dist/data/languageResources/countriesAndLanguages.js +16 -1
  19. package/dist/data/languageResources/phoneLanguages.d.ts +6 -9
  20. package/dist/data/languageResources/phoneLanguages.js +12 -1
  21. package/dist/data/languages.d.ts +1 -2
  22. package/dist/data/languages.js +2 -1
  23. package/dist/data/mediaDurations.d.ts +1 -2
  24. package/dist/data/mediaDurations.js +2 -1
  25. package/dist/data/notification.d.ts +1 -2
  26. package/dist/data/notification.js +2 -1
  27. package/dist/data/numeralMaps.d.ts +1 -2
  28. package/dist/data/numeralMaps.js +2 -1
  29. package/dist/data/questions.d.ts +1 -2
  30. package/dist/data/questions.js +2 -1
  31. package/dist/data/questionsCurriculums.d.ts +1 -2
  32. package/dist/data/questionsCurriculums.js +2 -1
  33. package/dist/data/releaseNotes.d.ts +1 -2
  34. package/dist/data/releaseNotes.js +2 -1
  35. package/dist/data/screenshots.d.ts +1 -2
  36. package/dist/data/screenshots.js +2 -1
  37. package/dist/data/sets.d.ts +1 -2
  38. package/dist/data/sets.js +2 -1
  39. package/dist/data/specialIds.d.ts +1 -2
  40. package/dist/data/specialIds.js +2 -1
  41. package/dist/data/topicsCurriculums.d.ts +1 -2
  42. package/dist/data/topicsCurriculums.js +2 -1
  43. package/dist/data/typescript/appTranslations.d.ts +2 -2
  44. package/dist/data/typescript/appTranslations.js +2 -2
  45. package/dist/data/typescript/areas.d.ts +2 -2
  46. package/dist/data/typescript/areas.js +2 -2
  47. package/dist/data/typescript/aslTimestamps.d.ts +2 -2
  48. package/dist/data/typescript/aslTimestamps.js +2 -2
  49. package/dist/data/typescript/bibleAudios.d.ts +2 -2
  50. package/dist/data/typescript/bibleAudios.js +2 -2
  51. package/dist/data/typescript/bibleBooks.d.ts +2 -2
  52. package/dist/data/typescript/bibleBooks.js +2 -2
  53. package/dist/data/typescript/bibleChapters.d.ts +2 -2
  54. package/dist/data/typescript/bibleChapters.js +2 -2
  55. package/dist/data/typescript/bibleStatuses.d.ts +2 -2
  56. package/dist/data/typescript/bibleStatuses.js +2 -2
  57. package/dist/data/typescript/bibleTexts.d.ts +2 -2
  58. package/dist/data/typescript/bibleTexts.js +2 -2
  59. package/dist/data/typescript/clones.d.ts +2 -2
  60. package/dist/data/typescript/clones.js +2 -2
  61. package/dist/data/typescript/countries.d.ts +2 -2
  62. package/dist/data/typescript/countries.js +2 -2
  63. package/dist/data/typescript/foundationsCurriculums.d.ts +2 -2
  64. package/dist/data/typescript/foundationsCurriculums.js +2 -2
  65. package/dist/data/typescript/introductionTranslations.d.ts +2 -2
  66. package/dist/data/typescript/introductionTranslations.js +2 -2
  67. package/dist/data/typescript/languages.d.ts +2 -2
  68. package/dist/data/typescript/languages.js +2 -2
  69. package/dist/data/typescript/mediaDurations.d.ts +2 -2
  70. package/dist/data/typescript/mediaDurations.js +2 -2
  71. package/dist/data/typescript/notification.d.ts +2 -2
  72. package/dist/data/typescript/notification.js +2 -2
  73. package/dist/data/typescript/numeralMaps.d.ts +2 -2
  74. package/dist/data/typescript/numeralMaps.js +2 -2
  75. package/dist/data/typescript/questionTranslations.d.ts +2 -2
  76. package/dist/data/typescript/questionTranslations.js +2 -2
  77. package/dist/data/typescript/questions.d.ts +2 -2
  78. package/dist/data/typescript/questions.js +2 -2
  79. package/dist/data/typescript/questionsCurriculums.d.ts +2 -2
  80. package/dist/data/typescript/questionsCurriculums.js +2 -2
  81. package/dist/data/typescript/releaseNotes.d.ts +2 -2
  82. package/dist/data/typescript/releaseNotes.js +2 -2
  83. package/dist/data/typescript/screenshots.d.ts +2 -2
  84. package/dist/data/typescript/screenshots.js +2 -2
  85. package/dist/data/typescript/setTranslations.d.ts +2 -2
  86. package/dist/data/typescript/setTranslations.js +2 -2
  87. package/dist/data/typescript/sets.d.ts +2 -2
  88. package/dist/data/typescript/sets.js +2 -2
  89. package/dist/data/typescript/topicsCurriculums.d.ts +2 -2
  90. package/dist/data/typescript/topicsCurriculums.js +2 -2
  91. package/dist/data/youtube/videos.d.ts +1 -2
  92. package/dist/data/youtube/videos.js +4 -1
  93. package/dist/functions/bibleChapterUtils.js +6 -9
  94. package/dist/functions/languages.js +36 -36
  95. package/dist/functions/scripturePassages.d.ts +1 -1
  96. package/dist/functions/scripturePassages.js +3 -6
  97. package/dist/functions/sets.d.ts +2 -2
  98. package/dist/functions/sets.js +22 -25
  99. package/dist/translations/appTranslations.js +1 -1
  100. package/dist/translations/introductionTranslations.js +1 -1
  101. package/dist/translations/questionTranslations.js +1 -1
  102. package/dist/translations/setTranslations.js +1 -1
  103. package/dist/types/languages.d.ts +1 -1
  104. package/dist/types/notifications.js +2 -2
  105. package/dist/types/users.d.ts +9 -9
  106. package/dist/types/users.js +20 -20
  107. package/package.json +1 -1
@@ -13,25 +13,25 @@ exports.numerals = numerals;
13
13
  exports.getFontFamily = getFontFamily;
14
14
  exports.getAppTranslations = getAppTranslations;
15
15
  exports.getMeetTranslations = getMeetTranslations;
16
- const bibleAudios_1 = __importDefault(require("../data/bibleAudios"));
17
- const bibleStatuses_1 = __importDefault(require("../data/bibleStatuses"));
18
- const bibleTexts_1 = __importDefault(require("../data/bibleTexts"));
19
- const foundationsCurriculums_1 = __importDefault(require("../data/foundationsCurriculums"));
20
- const phoneLanguages_1 = __importDefault(require("../data/languageResources/phoneLanguages"));
21
- const languages_1 = __importDefault(require("../data/languages"));
22
- const numeralMaps_1 = __importDefault(require("../data/numeralMaps"));
23
- const questionsCurriculums_1 = __importDefault(require("../data/questionsCurriculums"));
24
- const topicsCurriculums_1 = __importDefault(require("../data/topicsCurriculums"));
16
+ const bibleAudios_1 = require("../data/bibleAudios");
17
+ const bibleStatuses_1 = require("../data/bibleStatuses");
18
+ const bibleTexts_1 = require("../data/bibleTexts");
19
+ const foundationsCurriculums_1 = require("../data/foundationsCurriculums");
20
+ const phoneLanguages_1 = require("../data/languageResources/phoneLanguages");
21
+ const languages_1 = require("../data/languages");
22
+ const numeralMaps_1 = require("../data/numeralMaps");
23
+ const questionsCurriculums_1 = require("../data/questionsCurriculums");
24
+ const topicsCurriculums_1 = require("../data/topicsCurriculums");
25
25
  const appTranslations_1 = __importDefault(require("../translations/appTranslations"));
26
26
  const introductionTranslations_1 = __importDefault(require("../translations/introductionTranslations"));
27
27
  const questionTranslations_1 = __importDefault(require("../translations/questionTranslations"));
28
28
  const setTranslations_1 = __importDefault(require("../translations/setTranslations"));
29
29
  const bibleChapterUtils_1 = require("./bibleChapterUtils");
30
30
  function getBibleInfo(bibleId) {
31
- const bibleText = bibleTexts_1.default.find((t) => t.bibleTextId === bibleId);
32
- const bibleAudio = bibleAudios_1.default.find((t) => t.bibleAudioId === bibleText?.audioId ||
31
+ const bibleText = bibleTexts_1.bibleTexts.find((t) => t.bibleTextId === bibleId);
32
+ const bibleAudio = bibleAudios_1.bibleAudios.find((t) => t.bibleAudioId === bibleText?.audioId ||
33
33
  t.bibleAudioId === bibleText?.bibleTextId);
34
- const language = languages_1.default.find((l) => l.languageId === bibleText?.language);
34
+ const language = languages_1.languages.find((l) => l.languageId === bibleText?.language);
35
35
  return bibleText && bibleAudio
36
36
  ? {
37
37
  ...bibleText,
@@ -39,7 +39,7 @@ function getBibleInfo(bibleId) {
39
39
  language,
40
40
  availableTextChapters: (0, bibleChapterUtils_1.getAvailableChapters)(bibleText.bibleTextId, 'text'),
41
41
  availableAudioChapters: (0, bibleChapterUtils_1.getAvailableChapters)(bibleAudio.bibleAudioId, 'audio'),
42
- bookNames: bibleStatuses_1.default[bibleText.bibleTextId]?.bookNames || {},
42
+ bookNames: bibleStatuses_1.bibleStatuses[bibleText.bibleTextId]?.bookNames || {},
43
43
  fullCopyright: (bibleText.copyright ?? '') + '\n\n' + (bibleAudio.copyright ?? ''),
44
44
  }
45
45
  : undefined;
@@ -49,15 +49,15 @@ function getIsRtl(script) {
49
49
  }
50
50
  function getLanguageInfo(languageId) {
51
51
  const defaultReturn = {
52
- ...languages_1.default[0],
53
- sets: [...foundationsCurriculums_1.default[0].sets],
54
- questionSets: questionsCurriculums_1.default[0].questionSets,
52
+ ...languages_1.languages[0],
53
+ setIds: [...foundationsCurriculums_1.foundationsCurriculums[0].sets],
54
+ questionSets: questionsCurriculums_1.questionsCurriculums[0].questionSets,
55
55
  bible: {
56
- ...bibleTexts_1.default[0],
57
- ...bibleAudios_1.default[0],
56
+ ...bibleTexts_1.bibleTexts[0],
57
+ ...bibleAudios_1.bibleAudios[0],
58
58
  availableTextChapters: [],
59
59
  availableAudioChapters: [],
60
- language: languages_1.default[0],
60
+ language: languages_1.languages[0],
61
61
  fullCopyright: '',
62
62
  bookNames: {},
63
63
  },
@@ -65,34 +65,34 @@ function getLanguageInfo(languageId) {
65
65
  trainingVideoLanguage: '',
66
66
  isRtl: false,
67
67
  };
68
- const language = languages_1.default.find((language) => language.languageId === languageId);
68
+ const language = languages_1.languages.find((language) => language.languageId === languageId);
69
69
  if (!language) {
70
70
  console.error(`Can't find language with id ${languageId}`);
71
71
  return defaultReturn;
72
72
  }
73
- const questionsCurriculum = questionsCurriculums_1.default.find((questionCurriculum) => questionCurriculum.curriculumId === language.curriculum.questions);
74
- const foundationsCurriculum = foundationsCurriculums_1.default.find((foundationsCurriculum) => foundationsCurriculum.curriculumId === language.curriculum.foundations);
75
- const topicsCurriculum = topicsCurriculums_1.default.find((topicsCurriculum) => topicsCurriculum.curriculumId === language?.curriculum.topics);
76
- let sets = [];
73
+ const questionsCurriculum = questionsCurriculums_1.questionsCurriculums.find((questionCurriculum) => questionCurriculum.curriculumId === language.curriculum.questions);
74
+ const foundationsCurriculum = foundationsCurriculums_1.foundationsCurriculums.find((foundationsCurriculum) => foundationsCurriculum.curriculumId === language.curriculum.foundations);
75
+ const topicsCurriculum = topicsCurriculums_1.topicsCurriculums.find((topicsCurriculum) => topicsCurriculum.curriculumId === language?.curriculum.topics);
76
+ let setIds = [];
77
77
  if (foundationsCurriculum)
78
- sets.push(...foundationsCurriculum.sets);
78
+ setIds.push(...foundationsCurriculum.sets);
79
79
  if (topicsCurriculum)
80
- sets.push(...topicsCurriculum.sets);
80
+ setIds.push(...topicsCurriculum.sets);
81
81
  if (language.dmCourseStatus === 'launched' ||
82
82
  language.dmCourseStatus === 'testing' ||
83
83
  language.videoBridgeLanguage)
84
- sets.push('03.009');
84
+ setIds.push('03.009');
85
85
  if (language.gdmcStatus === 'launched' || language.gdmcStatus === 'testing') {
86
- sets.push('03.005');
87
- sets.push('03.006');
88
- sets.push('03.007');
86
+ setIds.push('03.005');
87
+ setIds.push('03.006');
88
+ setIds.push('03.007');
89
89
  }
90
90
  if (language.unsupportedDbsSets)
91
- sets = sets.filter((set) => !language.unsupportedDbsSets?.includes(set));
91
+ setIds = setIds.filter((set) => !language.unsupportedDbsSets?.includes(set));
92
92
  const toReturn = {
93
93
  ...language,
94
94
  isRtl: getIsRtl(language.script),
95
- sets,
95
+ setIds: setIds,
96
96
  questionSets: questionsCurriculum?.questionSets ?? defaultReturn.questionSets,
97
97
  bible: getBibleInfo(language.bible) || defaultReturn.bible,
98
98
  bibleFallback: getBibleInfo(language.bibleFallback),
@@ -104,14 +104,14 @@ function getInitialAppInterfaceLanguage(userPhoneLanguages) {
104
104
  for (const userPhoneLanguage of userPhoneLanguages) {
105
105
  if (!userPhoneLanguage)
106
106
  continue;
107
- for (const phoneLanguage of phoneLanguages_1.default) {
107
+ for (const phoneLanguage of phoneLanguages_1.phoneLanguages) {
108
108
  // Step 1: find the matching phone language.
109
109
  if (phoneLanguage.twoLetterId !== userPhoneLanguage.slice(0, 2))
110
110
  continue;
111
111
  // Step 2: search through alternatives to find the best option.
112
112
  for (const alternative of phoneLanguage.alternatives) {
113
113
  // If the alternative is a valid waha app interface language, we've found a match.
114
- if (languages_1.default.some((wahaLanguage) => wahaLanguage.appInterface !== undefined &&
114
+ if (languages_1.languages.some((wahaLanguage) => wahaLanguage.appInterface !== undefined &&
115
115
  isLanguageAvailable(wahaLanguage.status) &&
116
116
  wahaLanguage.languageId === alternative.threeLetterId))
117
117
  return alternative.threeLetterId;
@@ -138,8 +138,8 @@ const superscriptToRegular = {
138
138
  '⁹': '9',
139
139
  };
140
140
  function numerals(text, script) {
141
- if (script in numeralMaps_1.default) {
142
- const map = numeralMaps_1.default[script];
141
+ if (script in numeralMaps_1.numeralMaps) {
142
+ const map = numeralMaps_1.numeralMaps[script];
143
143
  if (!map)
144
144
  return text;
145
145
  return text
@@ -1,4 +1,4 @@
1
- import { type BibleChapters } from '../data/typescript/bibleChapters';
1
+ import { BibleChapters } from '../data/typescript/bibleChapters';
2
2
  import type { LanguageInfo } from '../types/languages';
3
3
  type BibleChapter = BibleChapters[number];
4
4
  export interface ScripturePassage {
@@ -1,13 +1,10 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
3
  exports.getPassagesString = getPassagesString;
7
4
  exports.getLessonScripture = getLessonScripture;
8
5
  exports.parseBibleSnapshot = parseBibleSnapshot;
9
6
  exports.verseToSuperscript = verseToSuperscript;
10
- const bibleStatuses_1 = __importDefault(require("../data/bibleStatuses"));
7
+ const bibleStatuses_1 = require("../data/bibleStatuses");
11
8
  const bibleChapters_1 = require("../data/typescript/bibleChapters");
12
9
  const languages_1 = require("../functions/languages");
13
10
  /**
@@ -67,7 +64,7 @@ function getPassagesString(passageIds, language) {
67
64
  let bookName =
68
65
  // American sign language should use English book names.
69
66
  language.languageId === 'ase'
70
- ? bibleStatuses_1.default.BSB.bookNames[startBook]
67
+ ? bibleStatuses_1.bibleStatuses.BSB.bookNames[startBook]
71
68
  : language.bible.bookNames[startBook];
72
69
  if (!bookName) {
73
70
  bookName = language.bibleFallback?.bookNames[startBook];
@@ -209,7 +206,7 @@ function parseBibleSnapshot(snapshot, bible) {
209
206
  return [];
210
207
  }
211
208
  for (const doc of snapshot.docs) {
212
- const chapterParse = bibleChapters_1.bibleChapters.element.safeParse(doc.data());
209
+ const chapterParse = bibleChapters_1.BibleChapters.element.safeParse(doc.data());
213
210
  if (!chapterParse.success) {
214
211
  console.warn('Skipping invalid bible chapter document', doc.id, chapterParse.error.issues.map((i) => `${i.path.join('.')}: ${i.message}`));
215
212
  }
@@ -2,11 +2,11 @@ import type { AppTranslations } from '../data/typescript/appTranslations';
2
2
  import type { LanguageInfo, MeetTranslations } from '../types/languages';
3
3
  import { Lesson, LessonInfo, SetInfo, type Section } from '../types/sets';
4
4
  export declare const firebaseUrl = "https://firebasestorage.googleapis.com/v0/b/waha-app-db.appspot.com/o/";
5
- export declare function getSetInfo({ setId, meetLanguageId, sets, t, }: {
5
+ export declare function getSetInfo({ setId, meetLanguageId, setIds, t, }: {
6
6
  setId: string;
7
7
  meetLanguageId: string;
8
8
  t: MeetTranslations & AppTranslations[string];
9
- sets: string[];
9
+ setIds: string[];
10
10
  }): SetInfo | undefined;
11
11
  export declare function getLessonInfo({ lessonId, meetLanguageInfo, setInfo, t, }: {
12
12
  lessonId: Lesson['lessonId'] | undefined;
@@ -1,7 +1,4 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
3
  exports.firebaseUrl = void 0;
7
4
  exports.getSetInfo = getSetInfo;
@@ -9,22 +6,22 @@ exports.getLessonInfo = getLessonInfo;
9
6
  exports.convertSToString = convertSToString;
10
7
  exports.shouldShowLesson = shouldShowLesson;
11
8
  exports.calculateSectionTimings = calculateSectionTimings;
12
- const mediaDurations_1 = __importDefault(require("../data/mediaDurations"));
13
- const questions_1 = __importDefault(require("../data/questions"));
14
- const sets_1 = __importDefault(require("../data/sets"));
15
- const specialIds_1 = __importDefault(require("../data/specialIds"));
16
- const videos_1 = __importDefault(require("../data/youtube/videos"));
9
+ const mediaDurations_1 = require("../data/mediaDurations");
10
+ const questions_1 = require("../data/questions");
11
+ const sets_1 = require("../data/sets");
12
+ const specialIds_1 = require("../data/specialIds");
13
+ const videos_1 = require("../data/youtube/videos");
17
14
  const scripturePassages_1 = require("../functions/scripturePassages");
18
15
  const sets_2 = require("../types/sets");
19
16
  exports.firebaseUrl = 'https://firebasestorage.googleapis.com/v0/b/waha-app-db.appspot.com/o/';
20
- function getSetInfo({ setId, meetLanguageId, sets, t, }) {
17
+ function getSetInfo({ setId, meetLanguageId, setIds, t, }) {
21
18
  const idComponents = setId.split('.');
22
19
  const category = idComponents[0] === '01'
23
20
  ? 'Foundations'
24
21
  : idComponents[0] === '02'
25
22
  ? 'Topics'
26
23
  : 'WahaTraining';
27
- const setNumber = (sets
24
+ const setNumber = (setIds
28
25
  .filter((set) => set.split('.')[0] === idComponents[0])
29
26
  .findIndex((set) => set === setId) + 1).toString();
30
27
  const thisSetTranslations = t.sets.find((set) => set.setId === setId);
@@ -33,7 +30,7 @@ function getSetInfo({ setId, meetLanguageId, sets, t, }) {
33
30
  : idComponents[0] === '02'
34
31
  ? t.topics
35
32
  : t.training;
36
- const set = sets_1.default.find((set) => set.setId === setId);
33
+ const set = sets_1.sets.find((set) => set.setId === setId);
37
34
  if (!set)
38
35
  return;
39
36
  const toReturn = {
@@ -61,7 +58,7 @@ function getLessonInfo({ lessonId, meetLanguageInfo, setInfo, t, }) {
61
58
  getSetInfo({
62
59
  setId: [category, setNumber].join('.'),
63
60
  meetLanguageId,
64
- sets: meetLanguageInfo.sets,
61
+ setIds: meetLanguageInfo.setIds,
65
62
  t,
66
63
  });
67
64
  if (!setInfo) {
@@ -90,7 +87,7 @@ function getLessonInfo({ lessonId, meetLanguageInfo, setInfo, t, }) {
90
87
  },
91
88
  ];
92
89
  fellowshipQuestions.forEach((questionId, index) => {
93
- const hasBeep = questions_1.default.find((question) => question.questionId === questionId)
90
+ const hasBeep = questions_1.questions.find((question) => question.questionId === questionId)
94
91
  ?.hasBeep ?? false;
95
92
  sections.push({
96
93
  id: questionId,
@@ -103,7 +100,7 @@ function getLessonInfo({ lessonId, meetLanguageInfo, setInfo, t, }) {
103
100
  hasBeep,
104
101
  });
105
102
  });
106
- if (specialIds_1.default.evaluationQuestionLessonIds.includes(lesson.lessonId)) {
103
+ if (specialIds_1.specialIds.evaluationQuestionLessonIds.includes(lesson.lessonId)) {
107
104
  sections.push({
108
105
  id: 'eq',
109
106
  isChapter: false,
@@ -115,7 +112,7 @@ function getLessonInfo({ lessonId, meetLanguageInfo, setInfo, t, }) {
115
112
  hasBeep: false,
116
113
  });
117
114
  }
118
- else if (specialIds_1.default.growingAsDmcSetIds.includes(setInfo.setId)) {
115
+ else if (specialIds_1.specialIds.growingAsDmcSetIds.includes(setInfo.setId)) {
119
116
  sections.push({
120
117
  id: 'introduction',
121
118
  isChapter: false,
@@ -140,7 +137,7 @@ function getLessonInfo({ lessonId, meetLanguageInfo, setInfo, t, }) {
140
137
  });
141
138
  });
142
139
  applicationQuestions.forEach((questionId, index) => {
143
- const hasBeep = questions_1.default.find((question) => question.questionId === questionId)
140
+ const hasBeep = questions_1.questions.find((question) => question.questionId === questionId)
144
141
  ?.hasBeep ?? false;
145
142
  sections.push({
146
143
  id: questionId,
@@ -164,7 +161,7 @@ function getLessonInfo({ lessonId, meetLanguageInfo, setInfo, t, }) {
164
161
  ...setInfo,
165
162
  ...lesson,
166
163
  };
167
- if (specialIds_1.default.evaluationQuestionLessonIds.includes(lesson.lessonId)) {
164
+ if (specialIds_1.specialIds.evaluationQuestionLessonIds.includes(lesson.lessonId)) {
168
165
  const languageId = meetLanguageInfo.introBridge ?? meetLanguageId;
169
166
  const id = `${languageId}.eq`;
170
167
  const fileName = `${id}.mp3`;
@@ -182,7 +179,7 @@ function getLessonInfo({ lessonId, meetLanguageInfo, setInfo, t, }) {
182
179
  },
183
180
  };
184
181
  }
185
- else if (setInfo.setId === specialIds_1.default.dmCourseSetId ||
182
+ else if (setInfo.setId === specialIds_1.specialIds.dmCourseSetId ||
186
183
  meetLanguageId === 'ase') {
187
184
  let video;
188
185
  if (meetLanguageInfo.languageId === 'ase') {
@@ -211,10 +208,10 @@ function getLessonInfo({ lessonId, meetLanguageInfo, setInfo, t, }) {
211
208
  };
212
209
  }
213
210
  let youtubeLink;
214
- if (video.remoteFileName && video.remoteFileName in videos_1.default)
211
+ if (video.remoteFileName && video.remoteFileName in videos_1.videos)
215
212
  youtubeLink =
216
213
  'https://www.youtube.com/watch?v=' +
217
- videos_1.default[video.remoteFileName];
214
+ videos_1.videos[video.remoteFileName];
218
215
  return {
219
216
  type: 'video',
220
217
  ...baseInfo,
@@ -295,26 +292,26 @@ function shouldShowLesson(lessonInfo, languageInfo) {
295
292
  console.log('Missing lesson info or lessonTitle lesson:', lessonInfo?.lessonId);
296
293
  return false;
297
294
  }
298
- else if (specialIds_1.default.growingAsDmcSetIds.includes(lessonInfo.setId) &&
295
+ else if (specialIds_1.specialIds.growingAsDmcSetIds.includes(lessonInfo.setId) &&
299
296
  (lessonInfo.lessonIntroduction === undefined ||
300
297
  lessonInfo.lessonIntroduction === '')) {
301
298
  console.log('Missing intro for lesson:', lessonInfo.lessonId);
302
299
  return false;
303
300
  }
304
301
  else if (lessonInfo.type === 'eq' &&
305
- !mediaDurations_1.default[languageInfo.introBridge ?? languageInfo.languageId]
302
+ !mediaDurations_1.mediaDurations[languageInfo.introBridge ?? languageInfo.languageId]
306
303
  .lessons[lessonInfo.eq.remoteFileName]) {
307
304
  console.log('Missing remote eq file for lesson:', lessonInfo.lessonId);
308
305
  return false;
309
306
  }
310
307
  else if (lessonInfo.type === 'dbs' &&
311
- !mediaDurations_1.default[lessonInfo.meetLanguageId].lessons[lessonInfo.full.remoteFileName]) {
308
+ !mediaDurations_1.mediaDurations[lessonInfo.meetLanguageId].lessons[lessonInfo.full.remoteFileName]) {
312
309
  console.log('Missing remote dbs file for lesson:', lessonInfo.lessonId);
313
310
  return false;
314
311
  }
315
312
  else if (lessonInfo.type === 'video' &&
316
313
  lessonInfo.video &&
317
- !mediaDurations_1.default[lessonInfo.meetLanguageId].lessons[lessonInfo.video.remoteFileName]) {
314
+ !mediaDurations_1.mediaDurations[lessonInfo.meetLanguageId].lessons[lessonInfo.video.remoteFileName]) {
318
315
  console.log('Missing remote video for lesson:', lessonInfo.video.remoteFileName);
319
316
  return false;
320
317
  }
@@ -332,7 +329,7 @@ function shouldShowLesson(lessonInfo, languageInfo) {
332
329
  * @returns Map of section ID to start time in seconds
333
330
  */
334
331
  function calculateSectionTimings(sections, totalDuration, languageId) {
335
- const languageDurations = mediaDurations_1.default[languageId];
332
+ const languageDurations = mediaDurations_1.mediaDurations[languageId];
336
333
  const getQuestionDuration = (questionId) => {
337
334
  const fileName = `${languageId}.${questionId}.mp3`;
338
335
  return languageDurations.questions[fileName] ?? 0;
@@ -5,4 +5,4 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const appTranslations_1 = require("../data/typescript/appTranslations");
7
7
  const appTranslations_json_1 = __importDefault(require("./appTranslations.json"));
8
- exports.default = appTranslations_1.appTranslations.parse(appTranslations_json_1.default);
8
+ exports.default = appTranslations_1.AppTranslations.parse(appTranslations_json_1.default);
@@ -5,4 +5,4 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const introductionTranslations_1 = require("../data/typescript/introductionTranslations");
7
7
  const introductionTranslations_json_1 = __importDefault(require("./introductionTranslations.json"));
8
- exports.default = introductionTranslations_1.introductionTranslations.parse(introductionTranslations_json_1.default);
8
+ exports.default = introductionTranslations_1.IntroductionTranslations.parse(introductionTranslations_json_1.default);
@@ -5,4 +5,4 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const questionTranslations_1 = require("../data/typescript/questionTranslations");
7
7
  const questionTranslations_json_1 = __importDefault(require("./questionTranslations.json"));
8
- exports.default = questionTranslations_1.questionTranslations.parse(questionTranslations_json_1.default);
8
+ exports.default = questionTranslations_1.QuestionTranslations.parse(questionTranslations_json_1.default);
@@ -5,4 +5,4 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const setTranslations_1 = require("../data/typescript/setTranslations");
7
7
  const setTranslations_json_1 = __importDefault(require("./setTranslations.json"));
8
- exports.default = setTranslations_1.setTranslations.parse(setTranslations_json_1.default);
8
+ exports.default = setTranslations_1.SetTranslations.parse(setTranslations_json_1.default);
@@ -16,7 +16,7 @@ export interface BibleInfo extends Omit<BibleText, 'language' | 'copyright'>, Om
16
16
  bookNames: Record<string, string>;
17
17
  }
18
18
  export interface LanguageInfo extends Omit<Language, 'bible' | 'bibleFallback'> {
19
- sets: string[];
19
+ setIds: string[];
20
20
  questionSets: QuestionsCurriculums[number]['questionSets'];
21
21
  bible: BibleInfo;
22
22
  bibleFallback: BibleInfo | undefined;
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.PushNotificationRecordSchema = exports.PushNotificationPayloadSchema = void 0;
4
- const notification_1 = require("../data/typescript/notification");
5
4
  const zod_1 = require("zod");
5
+ const notification_1 = require("../data/typescript/notification");
6
6
  exports.PushNotificationPayloadSchema = zod_1.z.object({
7
7
  actionUrl: zod_1.z.string().url().optional(),
8
8
  /**
@@ -24,7 +24,7 @@ exports.PushNotificationPayloadSchema = zod_1.z.object({
24
24
  });
25
25
  exports.PushNotificationRecordSchema = zod_1.z.object({
26
26
  date: zod_1.z.string(),
27
- notification: notification_1.notification,
27
+ notification: notification_1.Notification,
28
28
  receivedTokens: zod_1.z.array(zod_1.z.string()),
29
29
  receivedUserIds: zod_1.z.array(zod_1.z.string()),
30
30
  });
@@ -1,5 +1,5 @@
1
1
  import { z } from 'zod';
2
- declare const WahaUserLocationSchema: z.ZodObject<{
2
+ export declare const WahaUserLocationSchema: z.ZodObject<{
3
3
  city: z.ZodOptional<z.ZodString>;
4
4
  country: z.ZodOptional<z.ZodString>;
5
5
  region: z.ZodOptional<z.ZodString>;
@@ -14,9 +14,9 @@ declare const WahaUserLocationSchema: z.ZodObject<{
14
14
  }>;
15
15
  export type WahaUserLocation = z.infer<typeof WahaUserLocationSchema>;
16
16
  export type WahaAppVersion = `${number}.${number}.${number}`;
17
- declare const DesireIdSchema: z.ZodEnum<["talk_to_others_about_jesus", "build_a_team_of_disciple_makers", "reach_my_entire_people_or_nation_for_god", "understand_wahas_impact", "understand_how_waha_works", "get_coaching", "see_god_transform_my_community", "discover_whats_in_the_bible", "find_hope_in_my_troubles", "get_right_with_god", "learn_more_about_jesus"]>;
17
+ export declare const DesireIdSchema: z.ZodEnum<["talk_to_others_about_jesus", "build_a_team_of_disciple_makers", "reach_my_entire_people_or_nation_for_god", "understand_wahas_impact", "understand_how_waha_works", "get_coaching", "see_god_transform_my_community", "discover_whats_in_the_bible", "find_hope_in_my_troubles", "get_right_with_god", "learn_more_about_jesus"]>;
18
18
  export type DesireId = z.infer<typeof DesireIdSchema>;
19
- declare const WahaUserStateSchema: z.ZodObject<{
19
+ export declare const WahaUserStateSchema: z.ZodObject<{
20
20
  wahaUserId: z.ZodOptional<z.ZodString>;
21
21
  name: z.ZodOptional<z.ZodString>;
22
22
  email: z.ZodOptional<z.ZodString>;
@@ -130,7 +130,8 @@ declare const WahaUserStateSchema: z.ZodObject<{
130
130
  onboardingStatus?: "skipped-from-first" | "skipped-from-second" | "finished-from-first" | "finished-from-second" | "finished-from-languages" | undefined;
131
131
  }>;
132
132
  export type WahaUserState = z.infer<typeof WahaUserStateSchema>;
133
- declare const CompletionEventSchema: z.ZodObject<{
133
+ export declare const WahaAppVersionSchema: z.ZodString;
134
+ export declare const CompletionEventSchema: z.ZodObject<{
134
135
  lessonId: z.ZodString;
135
136
  meetLanguageId: z.ZodString;
136
137
  time: z.ZodNumber;
@@ -160,9 +161,9 @@ declare const CompletionEventSchema: z.ZodObject<{
160
161
  manual?: boolean | undefined;
161
162
  }>;
162
163
  export type CompletionEvent = z.infer<typeof CompletionEventSchema>;
163
- declare const WahaShareContentSchema: z.ZodEnum<["app", "passcode", "lessonAudio", "lessonText", "storyText", "storyAudio", "lessonLink", "setLink", "meetingInvite", "articleLink", "videoLink", "notification", "meetingSchedule", "scriptureText", "mt", "scriptureAudio", "inviteGroup", "lesson", "offlineVersionLink", "note", "customSet"]>;
164
+ export declare const WahaShareContentSchema: z.ZodEnum<["app", "passcode", "lessonAudio", "lessonText", "storyText", "storyAudio", "lessonLink", "setLink", "meetingInvite", "articleLink", "videoLink", "notification", "meetingSchedule", "scriptureText", "mt", "scriptureAudio", "inviteGroup", "lesson", "offlineVersionLink", "note", "customSet"]>;
164
165
  export type WahaShareContent = z.infer<typeof WahaShareContentSchema>;
165
- declare const ShareLogEventSchema: z.ZodObject<{
166
+ export declare const ShareLogEventSchema: z.ZodObject<{
166
167
  time: z.ZodNumber;
167
168
  content: z.ZodEnum<["app", "passcode", "lessonAudio", "lessonText", "storyText", "storyAudio", "lessonLink", "setLink", "meetingInvite", "articleLink", "videoLink", "notification", "meetingSchedule", "scriptureText", "mt", "scriptureAudio", "inviteGroup", "lesson", "offlineVersionLink", "note", "customSet"]>;
168
169
  lessonId: z.ZodOptional<z.ZodString>;
@@ -179,7 +180,7 @@ declare const ShareLogEventSchema: z.ZodObject<{
179
180
  articleSlug?: string | undefined;
180
181
  }>;
181
182
  export type ShareLogEvent = z.infer<typeof ShareLogEventSchema>;
182
- declare const BibleSessionSchema: z.ZodObject<{
183
+ export declare const BibleSessionSchema: z.ZodObject<{
183
184
  chapter: z.ZodString;
184
185
  timeSpent: z.ZodNumber;
185
186
  startTime: z.ZodNumber;
@@ -196,7 +197,7 @@ declare const BibleSessionSchema: z.ZodObject<{
196
197
  translation: string;
197
198
  }>;
198
199
  export type BibleSession = z.infer<typeof BibleSessionSchema>;
199
- declare const ArticleSessionSchema: z.ZodObject<{
200
+ export declare const ArticleSessionSchema: z.ZodObject<{
200
201
  articleSlug: z.ZodString;
201
202
  timeSpent: z.ZodNumber;
202
203
  startTime: z.ZodNumber;
@@ -762,4 +763,3 @@ export declare const PushEnabledWahaUserSchema: z.ZodObject<Omit<{
762
763
  }>;
763
764
  export type PushEnabledWahaUser = z.infer<typeof PushEnabledWahaUserSchema>;
764
765
  export type WahaUser = z.infer<typeof WahaUserSchema>;
765
- export {};
@@ -1,13 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PushEnabledWahaUserSchema = exports.WahaUserSchema = void 0;
3
+ exports.PushEnabledWahaUserSchema = exports.WahaUserSchema = exports.ArticleSessionSchema = exports.BibleSessionSchema = exports.ShareLogEventSchema = exports.WahaShareContentSchema = exports.CompletionEventSchema = exports.WahaAppVersionSchema = exports.WahaUserStateSchema = exports.DesireIdSchema = exports.WahaUserLocationSchema = void 0;
4
4
  const zod_1 = require("zod");
5
- const WahaUserLocationSchema = zod_1.z.object({
5
+ exports.WahaUserLocationSchema = zod_1.z.object({
6
6
  city: zod_1.z.string().optional(),
7
7
  country: zod_1.z.string().optional(),
8
8
  region: zod_1.z.string().optional(),
9
9
  });
10
- const DesireIdSchema = zod_1.z.enum([
10
+ exports.DesireIdSchema = zod_1.z.enum([
11
11
  'talk_to_others_about_jesus',
12
12
  'build_a_team_of_disciple_makers',
13
13
  'reach_my_entire_people_or_nation_for_god',
@@ -20,12 +20,12 @@ const DesireIdSchema = zod_1.z.enum([
20
20
  'get_right_with_god',
21
21
  'learn_more_about_jesus',
22
22
  ]);
23
- const WahaUserStateSchema = zod_1.z.object({
23
+ exports.WahaUserStateSchema = zod_1.z.object({
24
24
  wahaUserId: zod_1.z.string().optional(),
25
25
  name: zod_1.z.string().optional(),
26
26
  email: zod_1.z.string().email().optional(),
27
- location: WahaUserLocationSchema.optional(),
28
- pastLocations: zod_1.z.array(WahaUserLocationSchema).optional(),
27
+ location: exports.WahaUserLocationSchema.optional(),
28
+ pastLocations: zod_1.z.array(exports.WahaUserLocationSchema).optional(),
29
29
  phoneLocation: zod_1.z.string().optional(),
30
30
  isSubscribedToEmailUpdates: zod_1.z.boolean().optional(),
31
31
  pushToken: zod_1.z.string().optional(),
@@ -39,7 +39,7 @@ const WahaUserStateSchema = zod_1.z.object({
39
39
  notificationLinksClicked: zod_1.z.number().optional(),
40
40
  isBeliever: zod_1.z.boolean().optional(),
41
41
  isInAGroup: zod_1.z.boolean().optional(),
42
- desires: zod_1.z.array(DesireIdSchema).optional(),
42
+ desires: zod_1.z.array(exports.DesireIdSchema).optional(),
43
43
  customDesire: zod_1.z.string().optional(),
44
44
  isCCWorker: zod_1.z.boolean().optional(),
45
45
  isAdvocate: zod_1.z.boolean().optional(),
@@ -53,8 +53,8 @@ const WahaUserStateSchema = zod_1.z.object({
53
53
  ])
54
54
  .optional(),
55
55
  });
56
- const WahaAppVersionSchema = zod_1.z.string().regex(/^\d+\.\d+\.\d+$/);
57
- const CompletionEventSchema = zod_1.z.object({
56
+ exports.WahaAppVersionSchema = zod_1.z.string().regex(/^\d+\.\d+\.\d+$/);
57
+ exports.CompletionEventSchema = zod_1.z.object({
58
58
  lessonId: zod_1.z.string(),
59
59
  meetLanguageId: zod_1.z.string(),
60
60
  time: zod_1.z.number(),
@@ -67,7 +67,7 @@ const CompletionEventSchema = zod_1.z.object({
67
67
  */
68
68
  manual: zod_1.z.boolean().optional(),
69
69
  });
70
- const WahaShareContentSchema = zod_1.z.enum([
70
+ exports.WahaShareContentSchema = zod_1.z.enum([
71
71
  'app',
72
72
  'passcode',
73
73
  'lessonAudio',
@@ -90,40 +90,40 @@ const WahaShareContentSchema = zod_1.z.enum([
90
90
  'note',
91
91
  'customSet',
92
92
  ]);
93
- const ShareLogEventSchema = zod_1.z.object({
93
+ exports.ShareLogEventSchema = zod_1.z.object({
94
94
  time: zod_1.z.number(),
95
- content: WahaShareContentSchema,
95
+ content: exports.WahaShareContentSchema,
96
96
  lessonId: zod_1.z.string().optional(),
97
97
  articleSlug: zod_1.z.string().optional(),
98
98
  });
99
- const BibleSessionSchema = zod_1.z.object({
99
+ exports.BibleSessionSchema = zod_1.z.object({
100
100
  chapter: zod_1.z.string(),
101
101
  timeSpent: zod_1.z.number(),
102
102
  startTime: zod_1.z.number(),
103
103
  translation: zod_1.z.string(),
104
104
  });
105
- const ArticleSessionSchema = zod_1.z.object({
105
+ exports.ArticleSessionSchema = zod_1.z.object({
106
106
  articleSlug: zod_1.z.string(),
107
107
  timeSpent: zod_1.z.number(),
108
108
  startTime: zod_1.z.number(),
109
109
  });
110
110
  // Zod schema for WahaUser extending WahaUserStateSchema
111
- exports.WahaUserSchema = WahaUserStateSchema.extend({
111
+ exports.WahaUserSchema = exports.WahaUserStateSchema.extend({
112
112
  pushToken: zod_1.z.string().optional(),
113
113
  securityModeOn: zod_1.z.boolean().optional(),
114
- appVersion: WahaAppVersionSchema,
114
+ appVersion: exports.WahaAppVersionSchema,
115
115
  lastUpdate: zod_1.z.number(),
116
116
  platform: zod_1.z.string(),
117
- completions: zod_1.z.array(CompletionEventSchema),
117
+ completions: zod_1.z.array(exports.CompletionEventSchema),
118
118
  trainingUnlocked: zod_1.z.boolean().optional(),
119
119
  meet: zod_1.z.string(),
120
120
  appInterface: zod_1.z.string(),
121
121
  meetFavorites: zod_1.z.array(zod_1.z.string()),
122
122
  osVersion: zod_1.z.string().nullable(),
123
123
  isDev: zod_1.z.boolean(),
124
- shareLog: zod_1.z.array(ShareLogEventSchema).optional(),
125
- bibleSessions: zod_1.z.array(BibleSessionSchema).optional(),
126
- articleSessions: zod_1.z.array(ArticleSessionSchema).optional(),
124
+ shareLog: zod_1.z.array(exports.ShareLogEventSchema).optional(),
125
+ bibleSessions: zod_1.z.array(exports.BibleSessionSchema).optional(),
126
+ articleSessions: zod_1.z.array(exports.ArticleSessionSchema).optional(),
127
127
  activated: zod_1.z.boolean().optional(),
128
128
  });
129
129
  exports.PushEnabledWahaUserSchema = exports.WahaUserSchema.omit({
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "waha-shared",
3
- "version": "1.0.2",
3
+ "version": "1.0.4",
4
4
  "author": "Waha",
5
5
  "description": "Shared assets for Waha's various apps",
6
6
  "files": [