@uptime.app/contracts 1.0.45 → 1.0.49-rc.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 (119) hide show
  1. package/dist/cjs/draft-hack-generation/draft-hack-generation-commands.d.ts +9 -0
  2. package/dist/cjs/draft-hack-generation/draft-hack-generation-commands.d.ts.map +1 -1
  3. package/dist/cjs/localisation/live-locales.d.ts.map +1 -1
  4. package/dist/cjs/localisation/live-locales.js +1 -5
  5. package/dist/cjs/localisation/live-locales.js.map +1 -1
  6. package/dist/esm/draft-hack-generation/draft-hack-generation-commands.d.ts +9 -0
  7. package/dist/esm/draft-hack-generation/draft-hack-generation-commands.d.ts.map +1 -1
  8. package/dist/esm/localisation/live-locales.d.ts.map +1 -1
  9. package/dist/esm/localisation/live-locales.js +1 -5
  10. package/dist/esm/localisation/live-locales.js.map +1 -1
  11. package/package.json +2 -2
  12. package/src/access-control/collection-access-control.ts +28 -28
  13. package/src/access-control/hack-access-control.ts +29 -29
  14. package/src/app-hack/app-full-hack.ts +9 -9
  15. package/src/app-hack/app-hack-metadata.ts +58 -58
  16. package/src/app-hack/app-restricted-hack.ts +22 -22
  17. package/src/b2b-content-access/b2b-content-access.ts +57 -57
  18. package/src/b2b-organisation/b2b-carousel.ts +33 -33
  19. package/src/b2b-organisation/b2b-organisation-events.ts +21 -21
  20. package/src/b2b-organisation/b2b-organisation-invitation.ts +31 -31
  21. package/src/b2b-organisation/b2b-organisation-member-events.ts +21 -21
  22. package/src/b2b-organisation/b2b-organisation-member.ts +8 -8
  23. package/src/b2b-organisation/b2b-organisation.ts +15 -15
  24. package/src/brand/brand-events.ts +21 -21
  25. package/src/brand/brand.ts +26 -26
  26. package/src/catalogue/catalogue.ts +118 -118
  27. package/src/collection/collection-events.ts +21 -21
  28. package/src/collection/collection.ts +58 -58
  29. package/src/collection/enriched-collection-events.ts +18 -18
  30. package/src/collection/enriched-collection.ts +64 -64
  31. package/src/creator/creator-events.ts +32 -32
  32. package/src/creator/creator.ts +7 -7
  33. package/src/distribution/collection-distribution.ts +17 -17
  34. package/src/distribution/distribution-events.ts +61 -61
  35. package/src/distribution/hack-distribution.ts +18 -18
  36. package/src/draft-hack/draft-hack-events.ts +21 -21
  37. package/src/draft-hack/draft-hack.ts +189 -189
  38. package/src/draft-hack-generation/draft-hack-generation-commands.ts +52 -33
  39. package/src/draft-hack-generation/draft-hack-generation-events.ts +42 -42
  40. package/src/draft-hack-generation/draft-hack-generation.ts +39 -39
  41. package/src/enriched-hack/enriched-hack-events.ts +21 -21
  42. package/src/enriched-hack/enriched-hack.ts +103 -103
  43. package/src/enrichment-asset/hack-enrichment-video-events.ts +55 -55
  44. package/src/enrichment-asset/hack-enrichment-video.ts +40 -40
  45. package/src/entitlement/user-entitlements-commands.ts +33 -33
  46. package/src/entitlement/user-entitlements-events.ts +29 -29
  47. package/src/entitlement/user-entitlements.ts +18 -18
  48. package/src/flashcard/flashcard-events.ts +85 -85
  49. package/src/flashcard/flashcard.ts +138 -138
  50. package/src/hack/extracted-subject.ts +31 -31
  51. package/src/hack/hack-events.ts +21 -21
  52. package/src/hack/hack-published.ts +21 -21
  53. package/src/hack/hack-with-voice-events.ts +20 -20
  54. package/src/hack/hack-with-voice.ts +33 -33
  55. package/src/hack/hack.ts +116 -116
  56. package/src/hack/publish-hack-command.ts +18 -18
  57. package/src/hack-metadata/hack-metadata-events.ts +21 -21
  58. package/src/hack-metadata/hack-metadata.ts +17 -17
  59. package/src/hack-of-the-day/hack-of-the-day-events.ts +21 -21
  60. package/src/hack-of-the-day/hack-of-the-day.ts +13 -13
  61. package/src/history/history-events.ts +21 -21
  62. package/src/history/history.ts +46 -46
  63. package/src/index.ts +147 -147
  64. package/src/interest/interest-events.ts +21 -21
  65. package/src/interest/interest.ts +15 -15
  66. package/src/knowledge-source/knowledge-source-events.ts +21 -21
  67. package/src/knowledge-source/knowledge-source.ts +43 -43
  68. package/src/localisation/live-locales.ts +36 -40
  69. package/src/localisation/locale-language.ts +4 -4
  70. package/src/localisation/supported-languages.ts +11 -11
  71. package/src/localisation/supported-locales.ts +59 -59
  72. package/src/moderation/hack-moderation-result-events.ts +18 -18
  73. package/src/moderation/hack-moderation-result.ts +27 -27
  74. package/src/partner/partner-events.ts +21 -21
  75. package/src/partner/partner.ts +7 -7
  76. package/src/pending-hack/pending-hack-events.ts +20 -20
  77. package/src/pending-hack/pending-hack-with-voice-events.ts +20 -20
  78. package/src/pending-hack/pending-hack-with-voice.ts +25 -25
  79. package/src/pending-hack/pending-hack.ts +77 -77
  80. package/src/preferences/preferences-events.ts +15 -15
  81. package/src/preferences/preferences.ts +35 -35
  82. package/src/profile/profile-events.ts +41 -41
  83. package/src/profile/profile.ts +27 -27
  84. package/src/profile/translated-profile.ts +13 -13
  85. package/src/referral/referral-events.ts +41 -41
  86. package/src/referral/referral.ts +76 -76
  87. package/src/saved/saved-collection-events.ts +19 -19
  88. package/src/saved/saved-collection.ts +8 -8
  89. package/src/segment/segment-commands.ts +70 -70
  90. package/src/segment/segment-events.ts +42 -42
  91. package/src/segment/segment-with-voice.ts +8 -8
  92. package/src/segment/segment.ts +82 -82
  93. package/src/skin/skin-events.ts +21 -21
  94. package/src/skin/skin.ts +6 -6
  95. package/src/spark/spark-board-read-model.ts +17 -17
  96. package/src/spark/spark-board.ts +12 -12
  97. package/src/spark/spark-events.ts +42 -42
  98. package/src/spark/spark.ts +80 -80
  99. package/src/text-to-speech/create-speech-commands.ts +20 -20
  100. package/src/text-to-speech/speech-created-events.ts +10 -10
  101. package/src/text-to-speech/supported-voices.ts +149 -149
  102. package/src/text-to-speech/text-segment.ts +29 -29
  103. package/src/theme/theme-events.ts +21 -21
  104. package/src/theme/theme.ts +68 -68
  105. package/src/translation/translation-events.ts +73 -73
  106. package/src/translation/translation.ts +25 -25
  107. package/src/trending/trending-events.ts +21 -21
  108. package/src/trending/trending-hacks.ts +8 -8
  109. package/src/user/user-events.ts +27 -27
  110. package/src/user-context/user-context-events.ts +21 -21
  111. package/src/user-context/user-context.ts +16 -16
  112. package/src/user-notification-context/user-notification-context-events.ts +21 -21
  113. package/src/user-notification-context/user-notification-context.ts +9 -9
  114. package/src/user-statistics/user-statistics-events.ts +97 -97
  115. package/src/user-statistics/user-statistics.ts +82 -82
  116. package/src/video-cropping/video-cropping-events.ts +43 -43
  117. package/src/video-cropping/video-metadata.ts +12 -12
  118. package/tsconfig.cjs.json +7 -7
  119. package/tsconfig.npm.json +21 -21
package/src/index.ts CHANGED
@@ -1,147 +1,147 @@
1
- export * from './access-control/collection-access-control';
2
- export * from './access-control/hack-access-control';
3
-
4
- export * from './app-hack/app-full-hack';
5
- export * from './app-hack/app-hack-metadata';
6
- export * from './app-hack/app-restricted-hack';
7
-
8
- export * from './b2b-content-access/b2b-content-access';
9
-
10
- export * from './b2b-organisation/b2b-organisation';
11
- export * from './b2b-organisation/b2b-organisation-events';
12
-
13
- export * from './b2b-organisation/b2b-organisation-member';
14
- export * from './b2b-organisation/b2b-organisation-member-events';
15
-
16
- export * from './b2b-organisation/b2b-carousel';
17
- export * from './b2b-organisation/b2b-organisation-invitation';
18
-
19
- export * from './brand/brand';
20
- export * from './brand/brand-events';
21
-
22
- export * from './catalogue/catalogue';
23
-
24
- export * from './collection/collection';
25
- export * from './collection/collection-events';
26
- export * from './collection/enriched-collection';
27
- export * from './collection/enriched-collection-events';
28
-
29
- export * from './creator/creator';
30
- export * from './creator/creator-events';
31
-
32
- export * from './distribution/distribution-events';
33
- export * from './distribution/hack-distribution';
34
- export * from './distribution/collection-distribution';
35
-
36
- export * from './draft-hack/draft-hack';
37
- export * from './draft-hack/draft-hack-events';
38
-
39
- export * from './draft-hack-generation/draft-hack-generation';
40
- export * from './draft-hack-generation/draft-hack-generation-commands';
41
- export * from './draft-hack-generation/draft-hack-generation-events';
42
-
43
- export * from './enriched-hack/enriched-hack';
44
- export * from './enriched-hack/enriched-hack-events';
45
-
46
- export * from './enrichment-asset/hack-enrichment-video';
47
- export * from './enrichment-asset/hack-enrichment-video-events';
48
-
49
- export * from './entitlement/user-entitlements';
50
- export * from './entitlement/user-entitlements-events';
51
- export * from './entitlement/user-entitlements-commands';
52
-
53
- export * from './flashcard/flashcard';
54
- export * from './flashcard/flashcard-events';
55
-
56
- export * from './hack/extracted-subject';
57
- export * from './hack/hack-events';
58
- export * from './hack/hack-published';
59
- export * from './hack/hack-with-voice';
60
- export * from './hack/hack-with-voice-events';
61
- export * from './hack/hack';
62
- export * from './hack/publish-hack-command';
63
-
64
- export * from './hack-metadata/hack-metadata';
65
- export * from './hack-metadata/hack-metadata-events';
66
-
67
- export * from './hack-of-the-day/hack-of-the-day';
68
- export * from './hack-of-the-day/hack-of-the-day-events';
69
-
70
- export * from './history/history';
71
- export * from './history/history-events';
72
-
73
- export * from './interest/interest';
74
- export * from './interest/interest-events';
75
-
76
- export * from './knowledge-source/knowledge-source';
77
- export * from './knowledge-source/knowledge-source-events';
78
-
79
- export * from './localisation/live-locales';
80
- export * from './localisation/locale-language';
81
- export * from './localisation/supported-languages';
82
- export * from './localisation/supported-locales';
83
-
84
- export * from './moderation/hack-moderation-result';
85
- export * from './moderation/hack-moderation-result-events';
86
-
87
- export * from './partner/partner';
88
- export * from './partner/partner-events';
89
-
90
- export * from './pending-hack/pending-hack';
91
- export * from './pending-hack/pending-hack-events';
92
- export * from './pending-hack/pending-hack-with-voice';
93
- export * from './pending-hack/pending-hack-with-voice-events';
94
-
95
- export * from './preferences/preferences';
96
- export * from './preferences/preferences-events';
97
-
98
- export * from './profile/profile';
99
- export * from './profile/translated-profile';
100
- export * from './profile/profile-events';
101
-
102
- export * from './referral/referral';
103
- export * from './referral/referral-events';
104
-
105
- export * from './saved/saved-collection';
106
- export * from './saved/saved-collection-events';
107
-
108
- export * from './segment/segment-with-voice';
109
- export * from './segment/segment-commands';
110
- export * from './segment/segment';
111
- export * from './segment/segment-events';
112
-
113
- export * from './skin/skin';
114
- export * from './skin/skin-events';
115
-
116
- export * from './spark/spark-board-read-model';
117
- export * from './spark/spark-board';
118
- export * from './spark/spark-events';
119
- export * from './spark/spark';
120
-
121
- export * from './text-to-speech/create-speech-commands';
122
- export * from './text-to-speech/speech-created-events';
123
- export * from './text-to-speech/supported-voices';
124
- export * from './text-to-speech/text-segment';
125
-
126
- export * from './theme/theme';
127
- export * from './theme/theme-events';
128
-
129
- export * from './translation/translation-events';
130
- export * from './translation/translation';
131
-
132
- export * from './trending/trending-hacks';
133
- export * from './trending/trending-events';
134
-
135
- export * from './user/user-events';
136
-
137
- export * from './user-context/user-context';
138
- export * from './user-context/user-context-events';
139
-
140
- export * from './user-notification-context/user-notification-context';
141
- export * from './user-notification-context/user-notification-context-events';
142
-
143
- export * from './user-statistics/user-statistics';
144
- export * from './user-statistics/user-statistics-events';
145
-
146
- export * from './video-cropping/video-metadata';
147
- export * from './video-cropping/video-cropping-events';
1
+ export * from './access-control/collection-access-control';
2
+ export * from './access-control/hack-access-control';
3
+
4
+ export * from './app-hack/app-full-hack';
5
+ export * from './app-hack/app-hack-metadata';
6
+ export * from './app-hack/app-restricted-hack';
7
+
8
+ export * from './b2b-content-access/b2b-content-access';
9
+
10
+ export * from './b2b-organisation/b2b-organisation';
11
+ export * from './b2b-organisation/b2b-organisation-events';
12
+
13
+ export * from './b2b-organisation/b2b-organisation-member';
14
+ export * from './b2b-organisation/b2b-organisation-member-events';
15
+
16
+ export * from './b2b-organisation/b2b-carousel';
17
+ export * from './b2b-organisation/b2b-organisation-invitation';
18
+
19
+ export * from './brand/brand';
20
+ export * from './brand/brand-events';
21
+
22
+ export * from './catalogue/catalogue';
23
+
24
+ export * from './collection/collection';
25
+ export * from './collection/collection-events';
26
+ export * from './collection/enriched-collection';
27
+ export * from './collection/enriched-collection-events';
28
+
29
+ export * from './creator/creator';
30
+ export * from './creator/creator-events';
31
+
32
+ export * from './distribution/distribution-events';
33
+ export * from './distribution/hack-distribution';
34
+ export * from './distribution/collection-distribution';
35
+
36
+ export * from './draft-hack/draft-hack';
37
+ export * from './draft-hack/draft-hack-events';
38
+
39
+ export * from './draft-hack-generation/draft-hack-generation';
40
+ export * from './draft-hack-generation/draft-hack-generation-commands';
41
+ export * from './draft-hack-generation/draft-hack-generation-events';
42
+
43
+ export * from './enriched-hack/enriched-hack';
44
+ export * from './enriched-hack/enriched-hack-events';
45
+
46
+ export * from './enrichment-asset/hack-enrichment-video';
47
+ export * from './enrichment-asset/hack-enrichment-video-events';
48
+
49
+ export * from './entitlement/user-entitlements';
50
+ export * from './entitlement/user-entitlements-events';
51
+ export * from './entitlement/user-entitlements-commands';
52
+
53
+ export * from './flashcard/flashcard';
54
+ export * from './flashcard/flashcard-events';
55
+
56
+ export * from './hack/extracted-subject';
57
+ export * from './hack/hack-events';
58
+ export * from './hack/hack-published';
59
+ export * from './hack/hack-with-voice';
60
+ export * from './hack/hack-with-voice-events';
61
+ export * from './hack/hack';
62
+ export * from './hack/publish-hack-command';
63
+
64
+ export * from './hack-metadata/hack-metadata';
65
+ export * from './hack-metadata/hack-metadata-events';
66
+
67
+ export * from './hack-of-the-day/hack-of-the-day';
68
+ export * from './hack-of-the-day/hack-of-the-day-events';
69
+
70
+ export * from './history/history';
71
+ export * from './history/history-events';
72
+
73
+ export * from './interest/interest';
74
+ export * from './interest/interest-events';
75
+
76
+ export * from './knowledge-source/knowledge-source';
77
+ export * from './knowledge-source/knowledge-source-events';
78
+
79
+ export * from './localisation/live-locales';
80
+ export * from './localisation/locale-language';
81
+ export * from './localisation/supported-languages';
82
+ export * from './localisation/supported-locales';
83
+
84
+ export * from './moderation/hack-moderation-result';
85
+ export * from './moderation/hack-moderation-result-events';
86
+
87
+ export * from './partner/partner';
88
+ export * from './partner/partner-events';
89
+
90
+ export * from './pending-hack/pending-hack';
91
+ export * from './pending-hack/pending-hack-events';
92
+ export * from './pending-hack/pending-hack-with-voice';
93
+ export * from './pending-hack/pending-hack-with-voice-events';
94
+
95
+ export * from './preferences/preferences';
96
+ export * from './preferences/preferences-events';
97
+
98
+ export * from './profile/profile';
99
+ export * from './profile/translated-profile';
100
+ export * from './profile/profile-events';
101
+
102
+ export * from './referral/referral';
103
+ export * from './referral/referral-events';
104
+
105
+ export * from './saved/saved-collection';
106
+ export * from './saved/saved-collection-events';
107
+
108
+ export * from './segment/segment-with-voice';
109
+ export * from './segment/segment-commands';
110
+ export * from './segment/segment';
111
+ export * from './segment/segment-events';
112
+
113
+ export * from './skin/skin';
114
+ export * from './skin/skin-events';
115
+
116
+ export * from './spark/spark-board-read-model';
117
+ export * from './spark/spark-board';
118
+ export * from './spark/spark-events';
119
+ export * from './spark/spark';
120
+
121
+ export * from './text-to-speech/create-speech-commands';
122
+ export * from './text-to-speech/speech-created-events';
123
+ export * from './text-to-speech/supported-voices';
124
+ export * from './text-to-speech/text-segment';
125
+
126
+ export * from './theme/theme';
127
+ export * from './theme/theme-events';
128
+
129
+ export * from './translation/translation-events';
130
+ export * from './translation/translation';
131
+
132
+ export * from './trending/trending-hacks';
133
+ export * from './trending/trending-events';
134
+
135
+ export * from './user/user-events';
136
+
137
+ export * from './user-context/user-context';
138
+ export * from './user-context/user-context-events';
139
+
140
+ export * from './user-notification-context/user-notification-context';
141
+ export * from './user-notification-context/user-notification-context-events';
142
+
143
+ export * from './user-statistics/user-statistics';
144
+ export * from './user-statistics/user-statistics-events';
145
+
146
+ export * from './video-cropping/video-metadata';
147
+ export * from './video-cropping/video-cropping-events';
@@ -1,21 +1,21 @@
1
- import { UserInterests } from './interest';
2
-
3
- export interface UserInterestsCreatedEvent {
4
- id: string;
5
- type: 'UserInterestsCreated';
6
- payload: UserInterests;
7
- }
8
-
9
- export interface UserInterestsUpdatedEvent {
10
- id: string;
11
- type: 'UserInterestsUpdated';
12
- payload: UserInterests;
13
- }
14
-
15
- export interface UserInterestsDeletedEvent {
16
- id: string;
17
- type: 'UserInterestsDeleted';
18
- payload: UserInterests;
19
- }
20
-
21
- export type UserInterestsChangedEvent = UserInterestsCreatedEvent | UserInterestsUpdatedEvent | UserInterestsUpdatedEvent;
1
+ import { UserInterests } from './interest';
2
+
3
+ export interface UserInterestsCreatedEvent {
4
+ id: string;
5
+ type: 'UserInterestsCreated';
6
+ payload: UserInterests;
7
+ }
8
+
9
+ export interface UserInterestsUpdatedEvent {
10
+ id: string;
11
+ type: 'UserInterestsUpdated';
12
+ payload: UserInterests;
13
+ }
14
+
15
+ export interface UserInterestsDeletedEvent {
16
+ id: string;
17
+ type: 'UserInterestsDeleted';
18
+ payload: UserInterests;
19
+ }
20
+
21
+ export type UserInterestsChangedEvent = UserInterestsCreatedEvent | UserInterestsUpdatedEvent | UserInterestsUpdatedEvent;
@@ -1,15 +1,15 @@
1
- export interface Interest {
2
- /** the name of the thing they are interested in e.g. Health & Fitness */
3
- name: string;
4
- /** the type of the thing they are interested in e.g. a topic or a category */
5
- type: string;
6
- }
7
-
8
- export interface UserInterests {
9
- id: string;
10
- userId: string;
11
- interests: Interest[];
12
- createdAt: string;
13
- updatedAt: string;
14
- v: number;
15
- }
1
+ export interface Interest {
2
+ /** the name of the thing they are interested in e.g. Health & Fitness */
3
+ name: string;
4
+ /** the type of the thing they are interested in e.g. a topic or a category */
5
+ type: string;
6
+ }
7
+
8
+ export interface UserInterests {
9
+ id: string;
10
+ userId: string;
11
+ interests: Interest[];
12
+ createdAt: string;
13
+ updatedAt: string;
14
+ v: number;
15
+ }
@@ -1,21 +1,21 @@
1
- import { KnowledgeSource } from './knowledge-source';
2
-
3
- export interface KnowledgeSourceCreatedEvent {
4
- id: string;
5
- type: 'KnowledgeSourceCreated';
6
- payload: KnowledgeSource;
7
- }
8
-
9
- export interface KnowledgeSourceUpdatedEvent {
10
- id: string;
11
- type: 'KnowledgeSourceUpdated';
12
- payload: KnowledgeSource;
13
- }
14
-
15
- export interface KnowledgeSourceDeletedEvent {
16
- id: string;
17
- type: 'KnowledgeSourceDeleted';
18
- payload: KnowledgeSource;
19
- }
20
-
21
- export type KnowledgeSourceChangedEvent = KnowledgeSourceCreatedEvent | KnowledgeSourceUpdatedEvent | KnowledgeSourceDeletedEvent;
1
+ import { KnowledgeSource } from './knowledge-source';
2
+
3
+ export interface KnowledgeSourceCreatedEvent {
4
+ id: string;
5
+ type: 'KnowledgeSourceCreated';
6
+ payload: KnowledgeSource;
7
+ }
8
+
9
+ export interface KnowledgeSourceUpdatedEvent {
10
+ id: string;
11
+ type: 'KnowledgeSourceUpdated';
12
+ payload: KnowledgeSource;
13
+ }
14
+
15
+ export interface KnowledgeSourceDeletedEvent {
16
+ id: string;
17
+ type: 'KnowledgeSourceDeleted';
18
+ payload: KnowledgeSource;
19
+ }
20
+
21
+ export type KnowledgeSourceChangedEvent = KnowledgeSourceCreatedEvent | KnowledgeSourceUpdatedEvent | KnowledgeSourceDeletedEvent;
@@ -1,43 +1,43 @@
1
- export interface KnowledgeSource {
2
- id: string;
3
- /** @deprecated - use affiliate.url instead */
4
- affiliateLink?: string;
5
- // introduced Feb 2021. May be undefined in previous events
6
- affiliate: Affiliate;
7
- categories: Category[];
8
- topics: Topic[];
9
- coverUrl?: string;
10
- createdAt: string;
11
- description?: string;
12
- contributors: Contributor[];
13
- title: string;
14
- type: KnowledgeSourceType;
15
- updatedAt: string;
16
- v: number;
17
- metadata?: {
18
- [key: string]: any;
19
- };
20
- /** Number of pages in the book. only set for books. May be undefined */
21
- pageCount?: number;
22
- /** Set for courses, documentaries and podcasts. May be undefined */
23
- durationInMinutes?: number;
24
- }
25
-
26
- export type KnowledgeSourceType = 'book' | 'course' | 'documentary' | 'podcast';
27
-
28
- export interface Affiliate {
29
- url?: string;
30
- name?: string;
31
- }
32
-
33
- export interface Contributor {
34
- name: string;
35
- }
36
-
37
- export interface Category {
38
- name: string;
39
- }
40
-
41
- export interface Topic {
42
- name: string;
43
- }
1
+ export interface KnowledgeSource {
2
+ id: string;
3
+ /** @deprecated - use affiliate.url instead */
4
+ affiliateLink?: string;
5
+ // introduced Feb 2021. May be undefined in previous events
6
+ affiliate: Affiliate;
7
+ categories: Category[];
8
+ topics: Topic[];
9
+ coverUrl?: string;
10
+ createdAt: string;
11
+ description?: string;
12
+ contributors: Contributor[];
13
+ title: string;
14
+ type: KnowledgeSourceType;
15
+ updatedAt: string;
16
+ v: number;
17
+ metadata?: {
18
+ [key: string]: any;
19
+ };
20
+ /** Number of pages in the book. only set for books. May be undefined */
21
+ pageCount?: number;
22
+ /** Set for courses, documentaries and podcasts. May be undefined */
23
+ durationInMinutes?: number;
24
+ }
25
+
26
+ export type KnowledgeSourceType = 'book' | 'course' | 'documentary' | 'podcast';
27
+
28
+ export interface Affiliate {
29
+ url?: string;
30
+ name?: string;
31
+ }
32
+
33
+ export interface Contributor {
34
+ name: string;
35
+ }
36
+
37
+ export interface Category {
38
+ name: string;
39
+ }
40
+
41
+ export interface Topic {
42
+ name: string;
43
+ }
@@ -1,40 +1,36 @@
1
- import { DEFAULT_LOCALE, SupportedLocale } from './supported-locales';
2
-
3
- /**
4
- * All locale codes that are live and in use in the app
5
- */
6
- export function allLiveLocaleCodes(): SupportedLocale[] {
7
- return [
8
- SupportedLocale.enUS,
9
- SupportedLocale.ptBR,
10
- SupportedLocale.es,
11
- SupportedLocale.frFR,
12
- SupportedLocale.itIT,
13
- SupportedLocale.nlNL,
14
- SupportedLocale.deDE,
15
- SupportedLocale.frCA,
16
- SupportedLocale.plPL,
17
- SupportedLocale.svSE,
18
- SupportedLocale.trTR,
19
- SupportedLocale.msMY,
20
- SupportedLocale.nbNO,
21
- SupportedLocale.zhCN,
22
- SupportedLocale.zhTW,
23
- SupportedLocale.ruRU,
24
- SupportedLocale.koKR,
25
- SupportedLocale.thTH,
26
- SupportedLocale.hiIN
27
- ];
28
- }
29
-
30
- export function localeCodeIsLive(localeCode: string) {
31
- return allLiveLocaleCodes().includes(localeCode as SupportedLocale);
32
- }
33
-
34
- export function liveLocaleFrom(localeCode?: string): SupportedLocale {
35
- const locale = allLiveLocaleCodes().find(liveLocale => liveLocale == localeCode);
36
- if (!locale) {
37
- return DEFAULT_LOCALE;
38
- }
39
- return locale;
40
- }
1
+ import { DEFAULT_LOCALE, SupportedLocale } from './supported-locales';
2
+
3
+ /**
4
+ * All locale codes that are live and in use in the app
5
+ */
6
+ export function allLiveLocaleCodes(): SupportedLocale[] {
7
+ return [
8
+ SupportedLocale.enUS,
9
+ SupportedLocale.ptBR,
10
+ SupportedLocale.es,
11
+ SupportedLocale.frFR,
12
+ SupportedLocale.itIT,
13
+ SupportedLocale.nlNL,
14
+ SupportedLocale.deDE,
15
+ SupportedLocale.frCA,
16
+ SupportedLocale.plPL,
17
+ SupportedLocale.svSE,
18
+ SupportedLocale.trTR,
19
+ SupportedLocale.msMY,
20
+ SupportedLocale.nbNO,
21
+ SupportedLocale.zhCN,
22
+ SupportedLocale.zhTW
23
+ ];
24
+ }
25
+
26
+ export function localeCodeIsLive(localeCode: string) {
27
+ return allLiveLocaleCodes().includes(localeCode as SupportedLocale);
28
+ }
29
+
30
+ export function liveLocaleFrom(localeCode?: string): SupportedLocale {
31
+ const locale = allLiveLocaleCodes().find(liveLocale => liveLocale == localeCode);
32
+ if (!locale) {
33
+ return DEFAULT_LOCALE;
34
+ }
35
+ return locale;
36
+ }
@@ -1,4 +1,4 @@
1
- export function languageOf(locale: string): string {
2
- if (!locale) return ''; // temp: defend against an undefined locale
3
- return locale.split('-')[0];
4
- }
1
+ export function languageOf(locale: string): string {
2
+ if (!locale) return ''; // temp: defend against an undefined locale
3
+ return locale.split('-')[0];
4
+ }
@@ -1,11 +1,11 @@
1
- import { allSupportedLocaleCodes } from './supported-locales';
2
-
3
- export function allSupportedLanguageCodes(): string[] {
4
- const languageCodes = allSupportedLocaleCodes().map(locale => locale.split('-')[0]);
5
- const uniqueLanguageCodes = [...new Set(languageCodes)];
6
-
7
- return uniqueLanguageCodes;
8
- }
9
-
10
- export const ENGLISH_LANGUAGE = 'en';
11
- export const DEFAULT_LANGUAGE = ENGLISH_LANGUAGE;
1
+ import { allSupportedLocaleCodes } from './supported-locales';
2
+
3
+ export function allSupportedLanguageCodes(): string[] {
4
+ const languageCodes = allSupportedLocaleCodes().map(locale => locale.split('-')[0]);
5
+ const uniqueLanguageCodes = [...new Set(languageCodes)];
6
+
7
+ return uniqueLanguageCodes;
8
+ }
9
+
10
+ export const ENGLISH_LANGUAGE = 'en';
11
+ export const DEFAULT_LANGUAGE = ENGLISH_LANGUAGE;