@uptime.app/contracts 3.0.52-rc.2 → 3.0.52

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 (254) hide show
  1. package/dist/cjs/app-hack/app-hack-metadata.d.ts +0 -1
  2. package/dist/cjs/app-hack/app-hack-metadata.d.ts.map +1 -1
  3. package/dist/cjs/b2b-organisation/b2b-organisation-group-membership.d.ts +6 -0
  4. package/dist/cjs/b2b-organisation/b2b-organisation-group-membership.d.ts.map +1 -1
  5. package/dist/cjs/b2b-organisation/b2b-organisation-group-membership.js +6 -0
  6. package/dist/cjs/b2b-organisation/b2b-organisation-group-membership.js.map +1 -1
  7. package/dist/cjs/b2b-organisation/b2b-organisation-group.d.ts +0 -1
  8. package/dist/cjs/b2b-organisation/b2b-organisation-group.d.ts.map +1 -1
  9. package/dist/cjs/b2b-organisation/b2b-organisation-group.js +1 -23
  10. package/dist/cjs/b2b-organisation/b2b-organisation-group.js.map +1 -1
  11. package/dist/cjs/cms-hack/cms-searchable-hack.d.ts +0 -2
  12. package/dist/cjs/cms-hack/cms-searchable-hack.d.ts.map +1 -1
  13. package/dist/cjs/draft-hack/draft-hack.d.ts +0 -2
  14. package/dist/cjs/draft-hack/draft-hack.d.ts.map +1 -1
  15. package/dist/cjs/enriched-hack/enriched-hack.d.ts +0 -2
  16. package/dist/cjs/enriched-hack/enriched-hack.d.ts.map +1 -1
  17. package/dist/cjs/hack/hack.d.ts +0 -2
  18. package/dist/cjs/hack/hack.d.ts.map +1 -1
  19. package/dist/cjs/hack-mapping/app-hack-metadata.d.ts.map +1 -1
  20. package/dist/cjs/hack-mapping/app-hack-metadata.js +0 -1
  21. package/dist/cjs/hack-mapping/app-hack-metadata.js.map +1 -1
  22. package/dist/cjs/index.d.ts +0 -2
  23. package/dist/cjs/index.d.ts.map +1 -1
  24. package/dist/cjs/index.js +0 -2
  25. package/dist/cjs/index.js.map +1 -1
  26. package/dist/cjs/pending-hack/pending-hack.d.ts +0 -2
  27. package/dist/cjs/pending-hack/pending-hack.d.ts.map +1 -1
  28. package/dist/cjs/spark/spark.d.ts +1 -1
  29. package/dist/cjs/spark/spark.d.ts.map +1 -1
  30. package/dist/esm/app-hack/app-hack-metadata.d.ts +0 -1
  31. package/dist/esm/app-hack/app-hack-metadata.d.ts.map +1 -1
  32. package/dist/esm/b2b-organisation/b2b-organisation-group-membership.d.ts +6 -0
  33. package/dist/esm/b2b-organisation/b2b-organisation-group-membership.d.ts.map +1 -1
  34. package/dist/esm/b2b-organisation/b2b-organisation-group-membership.js +5 -1
  35. package/dist/esm/b2b-organisation/b2b-organisation-group-membership.js.map +1 -1
  36. package/dist/esm/b2b-organisation/b2b-organisation-group.d.ts +0 -1
  37. package/dist/esm/b2b-organisation/b2b-organisation-group.d.ts.map +1 -1
  38. package/dist/esm/b2b-organisation/b2b-organisation-group.js +0 -22
  39. package/dist/esm/b2b-organisation/b2b-organisation-group.js.map +1 -1
  40. package/dist/esm/cms-hack/cms-searchable-hack.d.ts +0 -2
  41. package/dist/esm/cms-hack/cms-searchable-hack.d.ts.map +1 -1
  42. package/dist/esm/draft-hack/draft-hack.d.ts +0 -2
  43. package/dist/esm/draft-hack/draft-hack.d.ts.map +1 -1
  44. package/dist/esm/enriched-hack/enriched-hack.d.ts +0 -2
  45. package/dist/esm/enriched-hack/enriched-hack.d.ts.map +1 -1
  46. package/dist/esm/hack/hack.d.ts +0 -2
  47. package/dist/esm/hack/hack.d.ts.map +1 -1
  48. package/dist/esm/hack-mapping/app-hack-metadata.d.ts.map +1 -1
  49. package/dist/esm/hack-mapping/app-hack-metadata.js +0 -1
  50. package/dist/esm/hack-mapping/app-hack-metadata.js.map +1 -1
  51. package/dist/esm/index.d.ts +0 -2
  52. package/dist/esm/index.d.ts.map +1 -1
  53. package/dist/esm/index.js +0 -2
  54. package/dist/esm/index.js.map +1 -1
  55. package/dist/esm/pending-hack/pending-hack.d.ts +0 -2
  56. package/dist/esm/pending-hack/pending-hack.d.ts.map +1 -1
  57. package/dist/esm/spark/spark.d.ts +1 -1
  58. package/dist/esm/spark/spark.d.ts.map +1 -1
  59. package/package.json +2 -2
  60. package/src/access-control/collection-access-control.ts +28 -28
  61. package/src/access-control/hack-access-control.ts +32 -32
  62. package/src/access-control/profile-access-control.ts +27 -27
  63. package/src/app-hack/app-full-hack.ts +9 -9
  64. package/src/app-hack/app-hack-metadata.ts +61 -62
  65. package/src/app-hack/app-restricted-hack.ts +22 -22
  66. package/src/b2b-content-access/b2b-content-access.ts +57 -57
  67. package/src/b2b-organisation/b2b-carousel.ts +33 -33
  68. package/src/b2b-organisation/b2b-org-idp-mapping.ts +27 -27
  69. package/src/b2b-organisation/b2b-organisation-events.ts +21 -21
  70. package/src/b2b-organisation/b2b-organisation-group-events.ts +21 -21
  71. package/src/b2b-organisation/b2b-organisation-group-membership-events.ts +21 -21
  72. package/src/b2b-organisation/b2b-organisation-group-membership.ts +17 -10
  73. package/src/b2b-organisation/b2b-organisation-group.ts +43 -66
  74. package/src/b2b-organisation/b2b-organisation-invitation.ts +45 -45
  75. package/src/b2b-organisation/b2b-organisation-member-events.ts +21 -21
  76. package/src/b2b-organisation/b2b-organisation-member.ts +19 -19
  77. package/src/b2b-organisation/b2b-organisation.ts +38 -38
  78. package/src/brand/brand-events.ts +21 -21
  79. package/src/brand/brand.ts +77 -77
  80. package/src/catalogue/catalogue.ts +152 -152
  81. package/src/cms-hack/cms-searchable-hack.ts +44 -47
  82. package/src/collection/collection-events.ts +21 -21
  83. package/src/collection/collection.ts +59 -59
  84. package/src/collection/enriched-collection-events.ts +18 -18
  85. package/src/collection/enriched-collection.ts +65 -65
  86. package/src/course/course-events.ts +20 -20
  87. package/src/course/course.ts +25 -25
  88. package/src/course-enrollment/course-enrollment-events.ts +21 -21
  89. package/src/course-enrollment/course-enrollment.ts +36 -36
  90. package/src/creator/creator-events.ts +32 -32
  91. package/src/creator/creator.ts +7 -7
  92. package/src/distribution/collection-distribution.ts +17 -17
  93. package/src/distribution/distribution-events.ts +61 -61
  94. package/src/distribution/hack-distribution.ts +18 -18
  95. package/src/draft-hack/draft-hack-events.ts +21 -21
  96. package/src/draft-hack/draft-hack.ts +190 -192
  97. package/src/draft-hack-generation/draft-hack-generation-commands.ts +10 -10
  98. package/src/draft-hack-generation/draft-hack-generation-events.ts +52 -52
  99. package/src/draft-hack-generation/draft-hack-generation.ts +39 -39
  100. package/src/enriched-b2b-organisation/enriched-b2b-organisation-events.ts +21 -21
  101. package/src/enriched-b2b-organisation/enriched-b2b-organisation.ts +37 -37
  102. package/src/enriched-hack/enriched-hack-events.ts +21 -21
  103. package/src/enriched-hack/enriched-hack.ts +109 -111
  104. package/src/enrichment-asset/hack-enrichment-video-events.ts +55 -55
  105. package/src/enrichment-asset/hack-enrichment-video.ts +40 -40
  106. package/src/entitlement/user-entitlements-commands.ts +54 -54
  107. package/src/entitlement/user-entitlements-events.ts +29 -29
  108. package/src/entitlement/user-entitlements.ts +18 -18
  109. package/src/flashcard/flashcard-events.ts +85 -85
  110. package/src/flashcard/flashcard.ts +138 -138
  111. package/src/hack/extracted-subject.ts +31 -31
  112. package/src/hack/hack-events.ts +21 -21
  113. package/src/hack/hack-published.ts +21 -21
  114. package/src/hack/hack-with-voice-events.ts +20 -20
  115. package/src/hack/hack-with-voice.ts +36 -36
  116. package/src/hack/hack.ts +127 -129
  117. package/src/hack/publish-hack-command.ts +20 -20
  118. package/src/hack/republish-hack-command.ts +20 -20
  119. package/src/hack-mapping/access-helper.ts +6 -6
  120. package/src/hack-mapping/app-full-hack.test.ts +13 -13
  121. package/src/hack-mapping/app-full-hack.ts +14 -14
  122. package/src/hack-mapping/app-hack-metadata.test.ts +22 -22
  123. package/src/hack-mapping/app-hack-metadata.ts +82 -83
  124. package/src/hack-mapping/app-restricted-hack.test.ts +12 -12
  125. package/src/hack-mapping/app-restricted-hack.ts +21 -21
  126. package/src/hack-mapping/remove-undefined-fields.ts +9 -9
  127. package/src/hack-mapping/test-data/enriched-hack.json +2564 -2569
  128. package/src/hack-mapping/test-data/expected-app-full-hack.json +2497 -2502
  129. package/src/hack-mapping/test-data/expected-app-hack-metadata.json +81 -86
  130. package/src/hack-mapping/test-data/expected-app-restricted-hack.json +787 -792
  131. package/src/hack-metadata/hack-metadata-events.ts +21 -21
  132. package/src/hack-metadata/hack-metadata.ts +17 -17
  133. package/src/hack-of-the-day/hack-of-the-day-events.ts +21 -21
  134. package/src/hack-of-the-day/hack-of-the-day.ts +13 -13
  135. package/src/hack-statistics/hack-statistics-events.ts +21 -21
  136. package/src/hack-statistics/hack-statistics.ts +9 -9
  137. package/src/hackbot/hack-generation-commands.ts +45 -45
  138. package/src/hackbot/hack-generation-trigger-events.ts +21 -21
  139. package/src/hackbot/hack-generation-trigger.ts +57 -57
  140. package/src/history/history-events.ts +21 -21
  141. package/src/history/history.ts +46 -46
  142. package/src/identity-provider/domain-identity-provider-events.ts +20 -20
  143. package/src/identity-provider/domain-identity-provider.ts +10 -10
  144. package/src/identity-provider/identity-provider-events.ts +20 -20
  145. package/src/identity-provider/identity-provider.ts +46 -46
  146. package/src/index.ts +220 -223
  147. package/src/interest/interest-events.ts +21 -21
  148. package/src/interest/interest.ts +15 -15
  149. package/src/knowledge-source/knowledge-source-events.ts +21 -21
  150. package/src/knowledge-source/knowledge-source.ts +43 -43
  151. package/src/knowledge-source-parsing/knowledge-source-metadata.ts +58 -58
  152. package/src/knowledge-source-parsing/knowledge-source-parsing-commands.ts +41 -41
  153. package/src/knowledge-source-parsing/knowledge-source-parsing-events.ts +30 -30
  154. package/src/knowledge-source-parsing/podcast-metadata.ts +44 -44
  155. package/src/knowledge-source-parsing/podcast-parsing-events.ts +28 -28
  156. package/src/knowledge-source-parsing/user-hack-generation-options.ts +7 -7
  157. package/src/learn-upon/get-sqsso-url.ts +13 -13
  158. package/src/learn-upon/learn-upon-commands.ts +33 -33
  159. package/src/learn-upon/learn-upon-course-enrollment-events.ts +21 -21
  160. package/src/learn-upon/learn-upon-course-enrollment.ts +62 -62
  161. package/src/learn-upon/learn-upon-course-events.ts +21 -21
  162. package/src/learn-upon/learn-upon-course.ts +108 -108
  163. package/src/learn-upon/learn-upon-portal-events.ts +20 -20
  164. package/src/learn-upon/learn-upon-portal.ts +12 -12
  165. package/src/learn-upon/learn-upon-user-mapping-events.ts +18 -18
  166. package/src/learn-upon/learn-upon-user-mapping.ts +9 -9
  167. package/src/learn-upon/learn-upon-webhook-events.ts +80 -80
  168. package/src/learn-upon/learn-upon-webhook-types.ts +346 -346
  169. package/src/learn-upon/unenroll.ts +6 -6
  170. package/src/localisation/live-locales.ts +45 -45
  171. package/src/localisation/locale-language.ts +4 -4
  172. package/src/localisation/supported-languages.ts +11 -11
  173. package/src/localisation/supported-locales.ts +67 -67
  174. package/src/message-bus/context.ts +7 -7
  175. package/src/moderation/hack-moderation-result-events.ts +18 -18
  176. package/src/moderation/hack-moderation-result.ts +27 -27
  177. package/src/partner/partner-events.ts +21 -21
  178. package/src/partner/partner.ts +7 -7
  179. package/src/pending-hack/pending-hack-events.ts +20 -20
  180. package/src/pending-hack/pending-hack-with-voice-events.ts +20 -20
  181. package/src/pending-hack/pending-hack-with-voice.ts +25 -25
  182. package/src/pending-hack/pending-hack.ts +78 -80
  183. package/src/preferences/preferences-events.ts +15 -15
  184. package/src/preferences/preferences.ts +35 -35
  185. package/src/profile/profile-events.ts +41 -41
  186. package/src/profile/profile.ts +36 -36
  187. package/src/profile/translated-profile.ts +13 -13
  188. package/src/referral/referral-events.ts +41 -41
  189. package/src/referral/referral.ts +76 -76
  190. package/src/saved/saved-collection-events.ts +19 -19
  191. package/src/saved/saved-collection.ts +8 -8
  192. package/src/segment/segment-commands.ts +75 -75
  193. package/src/segment/segment-events.ts +42 -42
  194. package/src/segment/segment-with-voice.ts +8 -8
  195. package/src/segment/segment.ts +82 -82
  196. package/src/service-simulator/mock-request-response.ts +17 -17
  197. package/src/skin/skin-events.ts +21 -21
  198. package/src/skin/skin.ts +6 -6
  199. package/src/spark/spark-board-read-model.ts +17 -17
  200. package/src/spark/spark-board.ts +12 -12
  201. package/src/spark/spark-events.ts +42 -42
  202. package/src/spark/spark.ts +75 -76
  203. package/src/text-analysis/hack-categories-extracted-events.ts +24 -24
  204. package/src/text-analysis/hack-categories-extracted.ts +31 -31
  205. package/src/text-analysis/hack-entities-extracted-events.ts +24 -24
  206. package/src/text-analysis/hack-entities-extracted.ts +38 -38
  207. package/src/text-analysis/hack-keywords-extracted-events.ts +24 -24
  208. package/src/text-analysis/hack-keywords-extracted.ts +23 -23
  209. package/src/text-analysis/hack-topics-extracted-events.ts +24 -24
  210. package/src/text-analysis/hack-topics-extracted.ts +31 -31
  211. package/src/text-to-speech/create-speech-commands.ts +22 -22
  212. package/src/text-to-speech/speech-created-events.ts +10 -10
  213. package/src/text-to-speech/supported-voices.ts +222 -222
  214. package/src/text-to-speech/text-segment.ts +29 -29
  215. package/src/theme/theme-events.ts +21 -21
  216. package/src/theme/theme.ts +68 -68
  217. package/src/translation/translation-events.ts +73 -73
  218. package/src/translation/translation.ts +25 -25
  219. package/src/trending/trending-events.ts +21 -21
  220. package/src/trending/trending-hacks.ts +8 -8
  221. package/src/user/cognito-user-authentication-log.ts +7 -7
  222. package/src/user/get-user.ts +63 -63
  223. package/src/user/user-events.ts +39 -39
  224. package/src/user-acl/user-acl-utils.test.ts +273 -273
  225. package/src/user-acl/user-acl-utils.ts +176 -176
  226. package/src/user-context/user-context-events.ts +21 -21
  227. package/src/user-context/user-context.ts +15 -15
  228. package/src/user-notification-context/user-notification-context-events.ts +21 -21
  229. package/src/user-notification-context/user-notification-context.ts +9 -9
  230. package/src/user-statistics/user-statistics-events.ts +97 -97
  231. package/src/user-statistics/user-statistics.ts +82 -82
  232. package/src/video-cropping/video-cropping-events.ts +43 -43
  233. package/src/video-cropping/video-metadata.ts +12 -12
  234. package/tsconfig.cjs.json +7 -7
  235. package/tsconfig.npm.json +22 -22
  236. package/dist/cjs/topics/primary-topic-mapping.d.ts +0 -7
  237. package/dist/cjs/topics/primary-topic-mapping.d.ts.map +0 -1
  238. package/dist/cjs/topics/primary-topic-mapping.js +0 -98
  239. package/dist/cjs/topics/primary-topic-mapping.js.map +0 -1
  240. package/dist/cjs/topics/primary-topic.d.ts +0 -4
  241. package/dist/cjs/topics/primary-topic.d.ts.map +0 -1
  242. package/dist/cjs/topics/primary-topic.js +0 -3
  243. package/dist/cjs/topics/primary-topic.js.map +0 -1
  244. package/dist/esm/topics/primary-topic-mapping.d.ts +0 -7
  245. package/dist/esm/topics/primary-topic-mapping.d.ts.map +0 -1
  246. package/dist/esm/topics/primary-topic-mapping.js +0 -94
  247. package/dist/esm/topics/primary-topic-mapping.js.map +0 -1
  248. package/dist/esm/topics/primary-topic.d.ts +0 -4
  249. package/dist/esm/topics/primary-topic.d.ts.map +0 -1
  250. package/dist/esm/topics/primary-topic.js +0 -2
  251. package/dist/esm/topics/primary-topic.js.map +0 -1
  252. package/src/topics/primary-topic-mapping.test.ts +0 -36
  253. package/src/topics/primary-topic-mapping.ts +0 -110
  254. package/src/topics/primary-topic.ts +0 -3
@@ -1,7 +0,0 @@
1
- import { PrimaryTopic } from './primary-topic';
2
- export declare const VALID_PRIMARY_TOPIC_TAGS: string[];
3
- export declare const OLD_TOPIC_TAGS: string[];
4
- export type PrimaryTopicTag = (typeof VALID_PRIMARY_TOPIC_TAGS)[number];
5
- export type OldTopicTag = (typeof OLD_TOPIC_TAGS)[number];
6
- export declare function mapPrimaryTopicsToOldTopics(primaryTopics: Array<PrimaryTopic | string>): OldTopicTag[];
7
- //# sourceMappingURL=primary-topic-mapping.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"primary-topic-mapping.d.ts","sourceRoot":"","sources":["../../../src/topics/primary-topic-mapping.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,eAAO,MAAM,wBAAwB,UAiCpC,CAAC;AAEF,eAAO,MAAM,cAAc,UAmB1B,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,wBAAwB,CAAC,CAAC,MAAM,CAAC,CAAC;AACxE,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC;AA0C1D,wBAAgB,2BAA2B,CAAC,aAAa,EAAE,KAAK,CAAC,YAAY,GAAG,MAAM,CAAC,GAAG,WAAW,EAAE,CAQtG"}
@@ -1,94 +0,0 @@
1
- export const VALID_PRIMARY_TOPIC_TAGS = [
2
- 'Arts & Design',
3
- 'Biographies',
4
- 'Business',
5
- 'Career Success',
6
- 'Communication',
7
- 'Education & Studying',
8
- 'Entrepreneurship',
9
- 'Environment',
10
- 'Fitness & Sports',
11
- 'History',
12
- 'Home & Hobbies',
13
- 'Humanity & Societies',
14
- 'Identity & Equality',
15
- 'Investing',
16
- 'Leadership & Management',
17
- 'Marketing',
18
- 'Media & Entertainment',
19
- 'Mental Health',
20
- 'Mindfulness',
21
- 'Money & Finances',
22
- 'Neurodiversity',
23
- 'Nutrition & Health',
24
- 'Parenting & Family',
25
- 'Personal Growth',
26
- 'Politics, Law & Economics',
27
- 'Psychology & Philosophy',
28
- 'Relationships',
29
- 'Religion',
30
- 'Sales',
31
- 'Science',
32
- 'Sex',
33
- 'AI & Technology'
34
- ];
35
- export const OLD_TOPIC_TAGS = [
36
- 'Arts & Design',
37
- 'Biographies',
38
- 'Business',
39
- 'Culture & Society',
40
- 'Career & Success',
41
- 'Education',
42
- 'Health & Fitness',
43
- 'History',
44
- 'Leadership & Entrepreneurship',
45
- 'Lifestyle',
46
- 'Marketing & Sales',
47
- 'Mind & Philosophy',
48
- 'Money & Investing',
49
- 'Parenting & Relationships',
50
- 'Personal Growth',
51
- 'Religion & Spirituality',
52
- 'Science & the Environment',
53
- 'Technology & the Future'
54
- ];
55
- const TOPIC_TO_PRIMARY_TOPIC_MAPPING = {
56
- 'Arts & Design': ['Arts & Design', 'Media & Entertainment'],
57
- 'Biographies': ['Biographies'],
58
- 'Business': ['Business'],
59
- 'Culture & Society': ['Identity & Equality', 'Politics, Law & Economics', 'Humanity & Societies'],
60
- 'Career & Success': ['Career Success'],
61
- 'Education': ['Education & Studying'],
62
- 'Health & Fitness': ['Nutrition & Health', 'Fitness & Sports', 'Mental Health', 'Neurodiversity'],
63
- 'History': ['History'],
64
- 'Leadership & Entrepreneurship': ['Leadership & Management', 'Entrepreneurship'],
65
- 'Lifestyle': ['Home & Hobbies'],
66
- 'Marketing & Sales': ['Marketing', 'Sales'],
67
- 'Mind & Philosophy': ['Mindfulness', 'Psychology & Philosophy'],
68
- 'Money & Investing': ['Money & Finances', 'Investing'],
69
- 'Parenting & Relationships': ['Sex', 'Relationships', 'Parenting & Family'],
70
- 'Personal Growth': ['Personal Growth', 'Communication'],
71
- 'Religion & Spirituality': ['Religion'],
72
- 'Science & the Environment': ['Science', 'Environment'],
73
- 'Technology & the Future': ['AI & Technology']
74
- };
75
- const PRIMARY_TOPIC_TO_OLD_TOPIC_MAPPING = Object.entries(TOPIC_TO_PRIMARY_TOPIC_MAPPING).reduce((mapping, [oldTopic, primaryTopics]) => {
76
- for (const primaryTopic of primaryTopics) {
77
- mapping[primaryTopic] = oldTopic;
78
- }
79
- return mapping;
80
- }, {});
81
- function primaryTopicNameOf(primaryTopic) {
82
- return typeof primaryTopic === 'string' ? primaryTopic : primaryTopic.name;
83
- }
84
- function mapPrimaryTopicToOldTopic(primaryTopic) {
85
- return PRIMARY_TOPIC_TO_OLD_TOPIC_MAPPING[primaryTopicNameOf(primaryTopic)];
86
- }
87
- export function mapPrimaryTopicsToOldTopics(primaryTopics) {
88
- return [
89
- ...new Set(primaryTopics
90
- .map(mapPrimaryTopicToOldTopic)
91
- .filter((oldTopic) => oldTopic !== undefined))
92
- ];
93
- }
94
- //# sourceMappingURL=primary-topic-mapping.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"primary-topic-mapping.js","sourceRoot":"","sources":["../../../src/topics/primary-topic-mapping.ts"],"names":[],"mappings":"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"}
@@ -1,4 +0,0 @@
1
- export interface PrimaryTopic {
2
- name: string;
3
- }
4
- //# sourceMappingURL=primary-topic.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"primary-topic.d.ts","sourceRoot":"","sources":["../../../src/topics/primary-topic.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IACzB,IAAI,EAAE,MAAM,CAAC;CAChB"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=primary-topic.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"primary-topic.js","sourceRoot":"","sources":["../../../src/topics/primary-topic.ts"],"names":[],"mappings":""}
@@ -1,36 +0,0 @@
1
- import { mapPrimaryTopicsToOldTopics, OLD_TOPIC_TAGS, VALID_PRIMARY_TOPIC_TAGS } from './primary-topic-mapping';
2
-
3
- describe('mapPrimaryTopicsToOldTopics', () => {
4
- test('maps split primary topics back to their old topic', () => {
5
- expect(mapPrimaryTopicsToOldTopics(['Politics, Law & Economics'])).toEqual(['Culture & Society']);
6
- expect(mapPrimaryTopicsToOldTopics(['Communication'])).toEqual(['Personal Growth']);
7
- expect(mapPrimaryTopicsToOldTopics(['AI & Technology'])).toEqual(['Technology & the Future']);
8
- });
9
-
10
- test('supports PrimaryTopic objects', () => {
11
- expect(mapPrimaryTopicsToOldTopics([{ name: 'Career Success' }])).toEqual(['Career & Success']);
12
- });
13
-
14
- test('returns undefined for unknown topics', () => {
15
- expect(mapPrimaryTopicsToOldTopics(['Unknown Topic'])).toEqual([]);
16
- });
17
-
18
- test('maps every valid primary topic tag to a known old topic tag', () => {
19
- for (const primaryTopic of VALID_PRIMARY_TOPIC_TAGS) {
20
- const oldTopic = mapPrimaryTopicsToOldTopics([primaryTopic])[0];
21
- expect(oldTopic).toBeDefined();
22
- expect(OLD_TOPIC_TAGS).toContain(oldTopic);
23
- }
24
- });
25
- test('deduplicates old topics while preserving input order', () => {
26
- expect(
27
- mapPrimaryTopicsToOldTopics([
28
- { name: 'Marketing' },
29
- { name: 'Sales' },
30
- { name: 'Biographies' },
31
- { name: 'Marketing' },
32
- { name: 'Unknown Topic' }
33
- ])
34
- ).toEqual(['Marketing & Sales', 'Biographies']);
35
- });
36
- });
@@ -1,110 +0,0 @@
1
- import { PrimaryTopic } from './primary-topic';
2
-
3
- export const VALID_PRIMARY_TOPIC_TAGS = [
4
- 'Arts & Design',
5
- 'Biographies',
6
- 'Business',
7
- 'Career Success',
8
- 'Communication',
9
- 'Education & Studying',
10
- 'Entrepreneurship',
11
- 'Environment',
12
- 'Fitness & Sports',
13
- 'History',
14
- 'Home & Hobbies',
15
- 'Humanity & Societies',
16
- 'Identity & Equality',
17
- 'Investing',
18
- 'Leadership & Management',
19
- 'Marketing',
20
- 'Media & Entertainment',
21
- 'Mental Health',
22
- 'Mindfulness',
23
- 'Money & Finances',
24
- 'Neurodiversity',
25
- 'Nutrition & Health',
26
- 'Parenting & Family',
27
- 'Personal Growth',
28
- 'Politics, Law & Economics',
29
- 'Psychology & Philosophy',
30
- 'Relationships',
31
- 'Religion',
32
- 'Sales',
33
- 'Science',
34
- 'Sex',
35
- 'AI & Technology'
36
- ];
37
-
38
- export const OLD_TOPIC_TAGS = [
39
- 'Arts & Design',
40
- 'Biographies',
41
- 'Business',
42
- 'Culture & Society',
43
- 'Career & Success',
44
- 'Education',
45
- 'Health & Fitness',
46
- 'History',
47
- 'Leadership & Entrepreneurship',
48
- 'Lifestyle',
49
- 'Marketing & Sales',
50
- 'Mind & Philosophy',
51
- 'Money & Investing',
52
- 'Parenting & Relationships',
53
- 'Personal Growth',
54
- 'Religion & Spirituality',
55
- 'Science & the Environment',
56
- 'Technology & the Future'
57
- ];
58
-
59
- export type PrimaryTopicTag = (typeof VALID_PRIMARY_TOPIC_TAGS)[number];
60
- export type OldTopicTag = (typeof OLD_TOPIC_TAGS)[number];
61
-
62
- const TOPIC_TO_PRIMARY_TOPIC_MAPPING: Record<OldTopicTag, PrimaryTopicTag[]> = {
63
- 'Arts & Design': ['Arts & Design', 'Media & Entertainment'],
64
- 'Biographies': ['Biographies'],
65
- 'Business': ['Business'],
66
- 'Culture & Society': ['Identity & Equality', 'Politics, Law & Economics', 'Humanity & Societies'],
67
- 'Career & Success': ['Career Success'],
68
- 'Education': ['Education & Studying'],
69
- 'Health & Fitness': ['Nutrition & Health', 'Fitness & Sports', 'Mental Health', 'Neurodiversity'],
70
- 'History': ['History'],
71
- 'Leadership & Entrepreneurship': ['Leadership & Management', 'Entrepreneurship'],
72
- 'Lifestyle': ['Home & Hobbies'],
73
- 'Marketing & Sales': ['Marketing', 'Sales'],
74
- 'Mind & Philosophy': ['Mindfulness', 'Psychology & Philosophy'],
75
- 'Money & Investing': ['Money & Finances', 'Investing'],
76
- 'Parenting & Relationships': ['Sex', 'Relationships', 'Parenting & Family'],
77
- 'Personal Growth': ['Personal Growth', 'Communication'],
78
- 'Religion & Spirituality': ['Religion'],
79
- 'Science & the Environment': ['Science', 'Environment'],
80
- 'Technology & the Future': ['AI & Technology']
81
- };
82
-
83
- const PRIMARY_TOPIC_TO_OLD_TOPIC_MAPPING = Object.entries(TOPIC_TO_PRIMARY_TOPIC_MAPPING).reduce(
84
- (mapping, [oldTopic, primaryTopics]) => {
85
- for (const primaryTopic of primaryTopics) {
86
- mapping[primaryTopic] = oldTopic as OldTopicTag;
87
- }
88
-
89
- return mapping;
90
- },
91
- {} as Record<PrimaryTopicTag, OldTopicTag>
92
- );
93
-
94
- function primaryTopicNameOf(primaryTopic: PrimaryTopic | string): string {
95
- return typeof primaryTopic === 'string' ? primaryTopic : primaryTopic.name;
96
- }
97
-
98
- function mapPrimaryTopicToOldTopic(primaryTopic: PrimaryTopic | string): OldTopicTag | undefined {
99
- return PRIMARY_TOPIC_TO_OLD_TOPIC_MAPPING[primaryTopicNameOf(primaryTopic) as PrimaryTopicTag];
100
- }
101
-
102
- export function mapPrimaryTopicsToOldTopics(primaryTopics: Array<PrimaryTopic | string>): OldTopicTag[] {
103
- return [
104
- ...new Set(
105
- primaryTopics
106
- .map(mapPrimaryTopicToOldTopic)
107
- .filter((oldTopic): oldTopic is OldTopicTag => oldTopic !== undefined)
108
- )
109
- ];
110
- }
@@ -1,3 +0,0 @@
1
- export interface PrimaryTopic {
2
- name: string;
3
- }