@studyportals/domain-client 3.17.1 → 3.18.0

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 (396) hide show
  1. package/.eslintignore +3 -0
  2. package/.eslintrc.js +13 -0
  3. package/.github/dependabot.yml +17 -0
  4. package/.github/stale.yml +10 -0
  5. package/.mocharc.yml +3 -0
  6. package/.nycrc +15 -0
  7. package/README.md +117 -0
  8. package/{index.d.ts → bin/index.d.ts} +73 -73
  9. package/{index.js → bin/index.js} +53 -53
  10. package/bin/package.json +55 -0
  11. package/{src → bin/src}/domain-client.d.ts +14 -14
  12. package/{src → bin/src}/domain-client.js +60 -60
  13. package/{src → bin/src}/exceptions/bad-request-exception.d.ts +2 -2
  14. package/{src → bin/src}/exceptions/bad-request-exception.js +6 -6
  15. package/{src → bin/src}/exceptions/client-exception.d.ts +2 -2
  16. package/{src → bin/src}/exceptions/client-exception.js +6 -6
  17. package/{src → bin/src}/exceptions/internal-server-exception.d.ts +2 -2
  18. package/{src → bin/src}/exceptions/internal-server-exception.js +6 -6
  19. package/{src → bin/src}/exceptions/not-found-exception.d.ts +2 -2
  20. package/{src → bin/src}/exceptions/not-found-exception.js +6 -6
  21. package/{src → bin/src}/exceptions/property-not-available-exception.d.ts +2 -2
  22. package/{src → bin/src}/exceptions/property-not-available-exception.js +6 -6
  23. package/{src → bin/src}/factories/DateFactory.d.ts +5 -5
  24. package/{src → bin/src}/factories/DateFactory.js +9 -9
  25. package/{src → bin/src}/factories/InternalLinkFactory.d.ts +9 -9
  26. package/{src → bin/src}/factories/InternalLinkFactory.js +19 -19
  27. package/{src → bin/src}/i-api-response.d.ts +6 -6
  28. package/bin/src/i-api-response.js +3 -0
  29. package/{src → bin/src}/i-class-factory.d.ts +4 -4
  30. package/{src/models/bestfit-programme/i-living-cost.js → bin/src/i-class-factory.js} +3 -3
  31. package/{src → bin/src}/i-model-description.d.ts +7 -7
  32. package/{src → bin/src}/i-model-description.js +9 -9
  33. package/{src → bin/src}/model-client.d.ts +16 -16
  34. package/{src → bin/src}/model-client.js +45 -45
  35. package/{src → bin/src}/model-factory.d.ts +11 -11
  36. package/{src → bin/src}/model-factory.js +71 -71
  37. package/{src → bin/src}/models/bestfit-programme/bestfit-programme-client.d.ts +7 -7
  38. package/{src → bin/src}/models/bestfit-programme/bestfit-programme-client.js +16 -16
  39. package/{src → bin/src}/models/bestfit-programme/i-best-fit-programme.d.ts +82 -82
  40. package/bin/src/models/bestfit-programme/i-best-fit-programme.js +3 -0
  41. package/{src → bin/src}/models/bestfit-programme/i-city.d.ts +14 -14
  42. package/{src/models/common → bin/src/models/bestfit-programme}/i-city.js +2 -2
  43. package/{src → bin/src}/models/bestfit-programme/i-living-cost.d.ts +20 -20
  44. package/bin/src/models/bestfit-programme/i-living-cost.js +3 -0
  45. package/{src → bin/src}/models/common/i-city.d.ts +14 -14
  46. package/{src/models/bestfit-programme → bin/src/models/common}/i-city.js +2 -2
  47. package/{src → bin/src}/models/common/i-country.d.ts +20 -20
  48. package/{src/models/programme-card/i-cover.js → bin/src/models/common/i-country.js} +3 -3
  49. package/{src → bin/src}/models/common/i-english-requirements.d.ts +44 -44
  50. package/{src/models/bestfit-programme/i-best-fit-programme.js → bin/src/models/common/i-english-requirements.js} +3 -3
  51. package/{src → bin/src}/models/common/i-g-p-a-requirement.d.ts +20 -20
  52. package/bin/src/models/common/i-g-p-a-requirement.js +3 -0
  53. package/{src/models/dotdigital-programme → bin/src/models/common}/i-internal-link.d.ts +28 -28
  54. package/bin/src/models/common/i-internal-link.js +3 -0
  55. package/{src/models/programme-card → bin/src/models/common}/i-logo.d.ts +14 -14
  56. package/{src/models/programme-card → bin/src/models/common}/i-logo.js +2 -2
  57. package/{src/models/programme-card → bin/src/models/common}/i-tuition-fee.d.ts +50 -50
  58. package/bin/src/models/common/i-tuition-fee.js +3 -0
  59. package/{src → bin/src}/models/compare-programme/compare-programme-client.d.ts +7 -7
  60. package/{src → bin/src}/models/compare-programme/compare-programme-client.js +16 -16
  61. package/{src → bin/src}/models/compare-programme/i-compare-programme.d.ts +108 -108
  62. package/bin/src/models/compare-programme/i-compare-programme.js +3 -0
  63. package/{src → bin/src}/models/dotdigital-organisation/dotdigital-organisation-client.d.ts +7 -7
  64. package/{src → bin/src}/models/dotdigital-organisation/dotdigital-organisation-client.js +16 -16
  65. package/{src → bin/src}/models/dotdigital-organisation/i-dot-digital-organisation.d.ts +35 -35
  66. package/bin/src/models/dotdigital-organisation/i-dot-digital-organisation.js +3 -0
  67. package/{src → bin/src}/models/dotdigital-organisation/i-review.d.ts +7 -7
  68. package/bin/src/models/dotdigital-organisation/i-review.js +3 -0
  69. package/{src → bin/src}/models/dotdigital-programme/dotdigital-programme-client.d.ts +7 -7
  70. package/{src → bin/src}/models/dotdigital-programme/dotdigital-programme-client.js +16 -16
  71. package/{src → bin/src}/models/dotdigital-programme/i-dot-digital-programme.d.ts +101 -101
  72. package/bin/src/models/dotdigital-programme/i-dot-digital-programme.js +3 -0
  73. package/{src/models/common → bin/src/models/dotdigital-programme}/i-internal-link.d.ts +28 -28
  74. package/bin/src/models/dotdigital-programme/i-internal-link.js +3 -0
  75. package/{src → bin/src}/models/programme-card/i-click-tracking-data.d.ts +5 -5
  76. package/bin/src/models/programme-card/i-click-tracking-data.js +3 -0
  77. package/{src → bin/src}/models/programme-card/i-cover.d.ts +14 -14
  78. package/bin/src/models/programme-card/i-cover.js +3 -0
  79. package/{src → bin/src}/models/programme-card/i-deadline.d.ts +20 -20
  80. package/{src/models/dotdigital-organisation/i-review.js → bin/src/models/programme-card/i-deadline.js} +3 -3
  81. package/{src → bin/src}/models/programme-card/i-duration.d.ts +40 -40
  82. package/bin/src/models/programme-card/i-duration.js +3 -0
  83. package/{src → bin/src}/models/programme-card/i-internal-link.d.ts +28 -28
  84. package/bin/src/models/programme-card/i-internal-link.js +3 -0
  85. package/{src → bin/src}/models/programme-card/i-link.d.ts +22 -22
  86. package/{src → bin/src}/models/programme-card/i-link.js +2 -2
  87. package/{src → bin/src}/models/programme-card/i-location.d.ts +12 -12
  88. package/bin/src/models/programme-card/i-location.js +3 -0
  89. package/{src/models/common → bin/src/models/programme-card}/i-logo.d.ts +14 -14
  90. package/{src/models/common → bin/src/models/programme-card}/i-logo.js +2 -2
  91. package/{src → bin/src}/models/programme-card/i-optional-link.d.ts +23 -23
  92. package/bin/src/models/programme-card/i-optional-link.js +3 -0
  93. package/{src → bin/src}/models/programme-card/i-programme-card.d.ts +178 -178
  94. package/{src/i-api-response.js → bin/src/models/programme-card/i-programme-card.js} +3 -3
  95. package/{src → bin/src}/models/programme-card/i-start-date.d.ts +33 -33
  96. package/{src/models/common/i-country.js → bin/src/models/programme-card/i-start-date.js} +3 -3
  97. package/{src → bin/src}/models/programme-card/i-timing.d.ts +45 -45
  98. package/bin/src/models/programme-card/i-timing.js +3 -0
  99. package/{src → bin/src}/models/programme-card/i-tracked-link.d.ts +29 -29
  100. package/bin/src/models/programme-card/i-tracked-link.js +3 -0
  101. package/{src → bin/src}/models/programme-card/i-tracking.d.ts +46 -46
  102. package/bin/src/models/programme-card/i-tracking.js +3 -0
  103. package/{src/models/common → bin/src/models/programme-card}/i-tuition-fee.d.ts +50 -50
  104. package/bin/src/models/programme-card/i-tuition-fee.js +3 -0
  105. package/{src → bin/src}/models/programme-card/programme-card-client.d.ts +7 -7
  106. package/{src → bin/src}/models/programme-card/programme-card-client.js +16 -16
  107. package/{src → bin/src}/models/ranking-cards/i-ranking-card.d.ts +63 -63
  108. package/bin/src/models/ranking-cards/i-ranking-card.js +3 -0
  109. package/{src → bin/src}/models/ranking-cards/i-ranking-cards.d.ts +15 -15
  110. package/bin/src/models/ranking-cards/i-ranking-cards.js +3 -0
  111. package/{src → bin/src}/models/ranking-cards/i-ranking.d.ts +18 -18
  112. package/bin/src/models/ranking-cards/i-ranking.js +3 -0
  113. package/{src → bin/src}/models/ranking-cards/public-ranking-cards-client.d.ts +7 -7
  114. package/{src → bin/src}/models/ranking-cards/public-ranking-cards-client.js +16 -16
  115. package/{src → bin/src}/models/scholarship-card/i-scholarship-card.d.ts +14 -46
  116. package/{src/i-class-factory.js → bin/src/models/scholarship-card/i-scholarship-card.js} +3 -3
  117. package/{src → bin/src}/models/scholarship-card/public-scholarship-card-client.d.ts +7 -7
  118. package/{src → bin/src}/models/scholarship-card/public-scholarship-card-client.js +16 -16
  119. package/{src → bin/src}/models/search-country-faq/i-search-country-faq.d.ts +18 -18
  120. package/bin/src/models/search-country-faq/i-search-country-faq.js +3 -0
  121. package/{src → bin/src}/models/search-country-faq/public-search-country-faq-client.d.ts +7 -7
  122. package/{src → bin/src}/models/search-country-faq/public-search-country-faq-client.js +16 -16
  123. package/{src → bin/src}/models/search-discipline/i-search-discipline.d.ts +26 -26
  124. package/bin/src/models/search-discipline/i-search-discipline.js +3 -0
  125. package/{src → bin/src}/models/search-discipline/public-search-discipline-client.d.ts +7 -7
  126. package/{src → bin/src}/models/search-discipline/public-search-discipline-client.js +16 -16
  127. package/{src → bin/src}/models/search-projection/i-geo-targeting-configuration.d.ts +38 -38
  128. package/bin/src/models/search-projection/i-geo-targeting-configuration.js +3 -0
  129. package/{src → bin/src}/models/search-projection/i-geo-targeting-values.d.ts +30 -30
  130. package/bin/src/models/search-projection/i-geo-targeting-values.js +3 -0
  131. package/{src → bin/src}/models/search-projection/i-organisation-values.d.ts +40 -40
  132. package/bin/src/models/search-projection/i-organisation-values.js +3 -0
  133. package/{src → bin/src}/models/search-projection/i-premium-values.d.ts +35 -35
  134. package/bin/src/models/search-projection/i-premium-values.js +3 -0
  135. package/{src → bin/src}/models/search-projection/i-search-projection.d.ts +180 -180
  136. package/bin/src/models/search-projection/i-search-projection.js +3 -0
  137. package/{src → bin/src}/models/search-projection/i-tuition-values.d.ts +50 -50
  138. package/bin/src/models/search-projection/i-tuition-values.js +3 -0
  139. package/{src → bin/src}/models/search-projection/search-projection-client.d.ts +7 -7
  140. package/{src → bin/src}/models/search-projection/search-projection-client.js +16 -16
  141. package/{src → bin/src}/models/sitemap-articles-info/i-sitemap-article-info.d.ts +14 -14
  142. package/bin/src/models/sitemap-articles-info/i-sitemap-article-info.js +3 -0
  143. package/{src → bin/src}/models/sitemap-articles-info/sitemap-articles-info-client.d.ts +7 -7
  144. package/{src → bin/src}/models/sitemap-articles-info/sitemap-articles-info-client.js +16 -16
  145. package/{src → bin/src}/models/sitemap-cities-info/i-sitemap-city-info.d.ts +14 -14
  146. package/bin/src/models/sitemap-cities-info/i-sitemap-city-info.js +3 -0
  147. package/{src → bin/src}/models/sitemap-cities-info/sitemap-cities-info-client.d.ts +7 -7
  148. package/{src → bin/src}/models/sitemap-cities-info/sitemap-cities-info-client.js +16 -16
  149. package/{src → bin/src}/models/sitemap-countries-info/i-sitemap-country-info.d.ts +14 -14
  150. package/bin/src/models/sitemap-countries-info/i-sitemap-country-info.js +3 -0
  151. package/{src → bin/src}/models/sitemap-countries-info/sitemap-countries-info-client.d.ts +7 -7
  152. package/{src → bin/src}/models/sitemap-countries-info/sitemap-countries-info-client.js +16 -16
  153. package/{src → bin/src}/models/sitemap-country-degree-info/i-degree-info.d.ts +14 -14
  154. package/bin/src/models/sitemap-country-degree-info/i-degree-info.js +3 -0
  155. package/{src → bin/src}/models/sitemap-country-degree-info/i-sitemap-country-degree-info.d.ts +11 -11
  156. package/bin/src/models/sitemap-country-degree-info/i-sitemap-country-degree-info.js +3 -0
  157. package/{src → bin/src}/models/sitemap-country-degree-info/sitemap-country-degree-info-client.d.ts +7 -7
  158. package/{src → bin/src}/models/sitemap-country-degree-info/sitemap-country-degree-info-client.js +16 -16
  159. package/{src → bin/src}/models/sitemap-disciplines-info/i-sitemap-discipline-info.d.ts +14 -14
  160. package/bin/src/models/sitemap-disciplines-info/i-sitemap-discipline-info.js +3 -0
  161. package/{src → bin/src}/models/sitemap-disciplines-info/sitemap-disciplines-info-client.d.ts +7 -7
  162. package/{src → bin/src}/models/sitemap-disciplines-info/sitemap-disciplines-info-client.js +16 -16
  163. package/{src → bin/src}/models/sitemap-organisations-info/i-sitemap-organisation-info.d.ts +26 -26
  164. package/bin/src/models/sitemap-organisations-info/i-sitemap-organisation-info.js +3 -0
  165. package/{src → bin/src}/models/sitemap-organisations-info/sitemap-organisations-info-client.d.ts +7 -7
  166. package/{src → bin/src}/models/sitemap-organisations-info/sitemap-organisations-info-client.js +16 -16
  167. package/{src → bin/src}/models/sitemap-programme-info/i-sitemap-programme-info.d.ts +26 -26
  168. package/bin/src/models/sitemap-programme-info/i-sitemap-programme-info.js +3 -0
  169. package/{src → bin/src}/models/sitemap-programme-info/sitemap-programme-info-client.d.ts +7 -7
  170. package/{src → bin/src}/models/sitemap-programme-info/sitemap-programme-info-client.js +16 -16
  171. package/{src → bin/src}/models/sitemap-rankings-info/i-sitemap-rankings-info.d.ts +14 -14
  172. package/bin/src/models/sitemap-rankings-info/i-sitemap-rankings-info.js +3 -0
  173. package/{src → bin/src}/models/sitemap-rankings-info/sitemap-rankings-info-client.d.ts +7 -7
  174. package/{src → bin/src}/models/sitemap-rankings-info/sitemap-rankings-info-client.js +16 -16
  175. package/{src → bin/src}/types/portal-map.d.ts +2 -2
  176. package/bin/src/types/portal-map.js +3 -0
  177. package/{src → bin/src}/types/portal-type.d.ts +7 -7
  178. package/{src → bin/src}/types/portal-type.js +11 -11
  179. package/{src → bin/src}/types.d.ts +4 -4
  180. package/{src → bin/src}/types.js +2 -2
  181. package/index.ts +147 -0
  182. package/package.json +55 -55
  183. package/src/domain-client.ts +70 -0
  184. package/src/exceptions/bad-request-exception.ts +2 -0
  185. package/src/exceptions/client-exception.ts +2 -0
  186. package/src/exceptions/internal-server-exception.ts +2 -0
  187. package/src/exceptions/not-found-exception.ts +2 -0
  188. package/src/exceptions/property-not-available-exception.ts +2 -0
  189. package/src/factories/DateFactory.ts +8 -0
  190. package/src/factories/InternalLinkFactory.ts +27 -0
  191. package/src/i-api-response.ts +7 -0
  192. package/src/i-class-factory.ts +5 -0
  193. package/src/i-model-description.ts +13 -0
  194. package/src/model-client.ts +77 -0
  195. package/src/model-factory.ts +94 -0
  196. package/src/models/bestfit-programme/bestfit-programme-client.ts +16 -0
  197. package/src/models/bestfit-programme/i-best-fit-programme.ts +102 -0
  198. package/src/models/bestfit-programme/i-city.ts +16 -0
  199. package/src/models/bestfit-programme/i-living-cost.ts +23 -0
  200. package/src/models/common/i-city.ts +16 -0
  201. package/src/models/common/i-country.ts +23 -0
  202. package/src/models/common/i-english-requirements.ts +56 -0
  203. package/src/models/common/i-g-p-a-requirement.ts +23 -0
  204. package/src/models/common/i-internal-link.ts +32 -0
  205. package/src/models/common/i-logo.ts +16 -0
  206. package/src/models/common/i-tuition-fee.ts +57 -0
  207. package/src/models/compare-programme/compare-programme-client.ts +16 -0
  208. package/src/models/compare-programme/i-compare-programme.ts +126 -0
  209. package/src/models/dotdigital-organisation/dotdigital-organisation-client.ts +16 -0
  210. package/src/models/dotdigital-organisation/i-dot-digital-organisation.ts +62 -0
  211. package/src/models/dotdigital-organisation/i-review.ts +12 -0
  212. package/src/models/dotdigital-programme/dotdigital-programme-client.ts +16 -0
  213. package/src/models/dotdigital-programme/i-dot-digital-programme.ts +122 -0
  214. package/src/models/dotdigital-programme/i-internal-link.ts +32 -0
  215. package/src/models/programme-card/i-click-tracking-data.ts +8 -0
  216. package/src/models/programme-card/i-cover.ts +16 -0
  217. package/src/models/programme-card/i-deadline.ts +23 -0
  218. package/src/models/programme-card/i-duration.ts +46 -0
  219. package/src/models/programme-card/i-internal-link.ts +32 -0
  220. package/src/models/programme-card/i-link.ts +25 -0
  221. package/src/models/programme-card/i-location.ts +22 -0
  222. package/src/models/programme-card/i-logo.ts +16 -0
  223. package/src/models/programme-card/i-optional-link.ts +27 -0
  224. package/src/models/programme-card/i-programme-card.ts +212 -0
  225. package/src/models/programme-card/i-start-date.ts +39 -0
  226. package/src/models/programme-card/i-timing.ts +53 -0
  227. package/src/models/programme-card/i-tracked-link.ts +34 -0
  228. package/src/models/programme-card/i-tracking.ts +55 -0
  229. package/src/models/programme-card/i-tuition-fee.ts +57 -0
  230. package/src/models/programme-card/programme-card-client.ts +16 -0
  231. package/src/models/ranking-cards/i-ranking-card.ts +74 -0
  232. package/src/models/ranking-cards/i-ranking-cards.ts +18 -0
  233. package/src/models/ranking-cards/i-ranking.ts +22 -0
  234. package/src/models/ranking-cards/public-ranking-cards-client.ts +16 -0
  235. package/src/models/scholarship-card/i-scholarship-card.ts +26 -0
  236. package/src/models/scholarship-card/public-scholarship-card-client.ts +16 -0
  237. package/src/models/search-country-faq/i-search-country-faq.ts +22 -0
  238. package/src/models/search-country-faq/public-search-country-faq-client.ts +16 -0
  239. package/src/models/search-discipline/i-search-discipline.ts +32 -0
  240. package/src/models/search-discipline/public-search-discipline-client.ts +16 -0
  241. package/src/models/search-projection/i-geo-targeting-configuration.ts +44 -0
  242. package/src/models/search-projection/i-geo-targeting-values.ts +38 -0
  243. package/src/models/search-projection/i-organisation-values.ts +46 -0
  244. package/src/models/search-projection/i-premium-values.ts +43 -0
  245. package/src/models/search-projection/i-search-projection.ts +216 -0
  246. package/src/models/search-projection/i-tuition-values.ts +63 -0
  247. package/src/models/search-projection/search-projection-client.ts +16 -0
  248. package/src/models/sitemap-articles-info/i-sitemap-article-info.ts +17 -0
  249. package/src/models/sitemap-articles-info/sitemap-articles-info-client.ts +16 -0
  250. package/src/models/sitemap-cities-info/i-sitemap-city-info.ts +17 -0
  251. package/src/models/sitemap-cities-info/sitemap-cities-info-client.ts +16 -0
  252. package/src/models/sitemap-countries-info/i-sitemap-country-info.ts +17 -0
  253. package/src/models/sitemap-countries-info/sitemap-countries-info-client.ts +16 -0
  254. package/src/models/sitemap-country-degree-info/i-degree-info.ts +17 -0
  255. package/src/models/sitemap-country-degree-info/i-sitemap-country-degree-info.ts +14 -0
  256. package/src/models/sitemap-country-degree-info/sitemap-country-degree-info-client.ts +16 -0
  257. package/src/models/sitemap-disciplines-info/i-sitemap-discipline-info.ts +17 -0
  258. package/src/models/sitemap-disciplines-info/sitemap-disciplines-info-client.ts +16 -0
  259. package/src/models/sitemap-organisations-info/i-sitemap-organisation-info.ts +32 -0
  260. package/src/models/sitemap-organisations-info/sitemap-organisations-info-client.ts +16 -0
  261. package/src/models/sitemap-programme-info/i-sitemap-programme-info.ts +32 -0
  262. package/src/models/sitemap-programme-info/sitemap-programme-info-client.ts +16 -0
  263. package/src/models/sitemap-rankings-info/i-sitemap-rankings-info.ts +17 -0
  264. package/src/models/sitemap-rankings-info/sitemap-rankings-info-client.ts +16 -0
  265. package/src/types/portal-map.ts +3 -0
  266. package/src/types/portal-type.ts +7 -0
  267. package/src/types.ts +4 -0
  268. package/tsconfig.json +40 -0
  269. package/src/models/common/i-english-requirements.js +0 -3
  270. package/src/models/common/i-g-p-a-requirement.js +0 -3
  271. package/src/models/common/i-internal-link.js +0 -3
  272. package/src/models/common/i-tuition-fee.js +0 -3
  273. package/src/models/compare-programme/i-compare-programme.js +0 -3
  274. package/src/models/dotdigital-organisation/i-dot-digital-organisation.js +0 -3
  275. package/src/models/dotdigital-programme/i-dot-digital-programme.js +0 -3
  276. package/src/models/dotdigital-programme/i-internal-link.js +0 -3
  277. package/src/models/programme-card/i-click-tracking-data.js +0 -3
  278. package/src/models/programme-card/i-deadline.js +0 -3
  279. package/src/models/programme-card/i-duration.js +0 -3
  280. package/src/models/programme-card/i-internal-link.js +0 -3
  281. package/src/models/programme-card/i-location.js +0 -3
  282. package/src/models/programme-card/i-optional-link.js +0 -3
  283. package/src/models/programme-card/i-programme-card.js +0 -3
  284. package/src/models/programme-card/i-start-date.js +0 -3
  285. package/src/models/programme-card/i-timing.js +0 -3
  286. package/src/models/programme-card/i-tracked-link.js +0 -3
  287. package/src/models/programme-card/i-tracking.js +0 -3
  288. package/src/models/programme-card/i-tuition-fee.js +0 -3
  289. package/src/models/ranking-cards/i-ranking-card.js +0 -3
  290. package/src/models/ranking-cards/i-ranking-cards.js +0 -3
  291. package/src/models/ranking-cards/i-ranking.js +0 -3
  292. package/src/models/scholarship-card/i-scholarship-card.js +0 -3
  293. package/src/models/search-country-faq/i-search-country-faq.js +0 -3
  294. package/src/models/search-discipline/i-search-discipline.js +0 -3
  295. package/src/models/search-projection/i-geo-targeting-configuration.js +0 -3
  296. package/src/models/search-projection/i-geo-targeting-values.js +0 -3
  297. package/src/models/search-projection/i-organisation-values.js +0 -3
  298. package/src/models/search-projection/i-premium-values.js +0 -3
  299. package/src/models/search-projection/i-search-projection.js +0 -3
  300. package/src/models/search-projection/i-tuition-values.js +0 -3
  301. package/src/models/sitemap-articles-info/i-sitemap-article-info.js +0 -3
  302. package/src/models/sitemap-cities-info/i-sitemap-city-info.js +0 -3
  303. package/src/models/sitemap-countries-info/i-sitemap-country-info.js +0 -3
  304. package/src/models/sitemap-country-degree-info/i-degree-info.js +0 -3
  305. package/src/models/sitemap-country-degree-info/i-sitemap-country-degree-info.js +0 -3
  306. package/src/models/sitemap-disciplines-info/i-sitemap-discipline-info.js +0 -3
  307. package/src/models/sitemap-organisations-info/i-sitemap-organisation-info.js +0 -3
  308. package/src/models/sitemap-programme-info/i-sitemap-programme-info.js +0 -3
  309. package/src/models/sitemap-rankings-info/i-sitemap-rankings-info.js +0 -3
  310. package/src/types/portal-map.js +0 -3
  311. /package/{index.js.map → bin/index.js.map} +0 -0
  312. /package/{src → bin/src}/domain-client.js.map +0 -0
  313. /package/{src → bin/src}/exceptions/bad-request-exception.js.map +0 -0
  314. /package/{src → bin/src}/exceptions/client-exception.js.map +0 -0
  315. /package/{src → bin/src}/exceptions/internal-server-exception.js.map +0 -0
  316. /package/{src → bin/src}/exceptions/not-found-exception.js.map +0 -0
  317. /package/{src → bin/src}/exceptions/property-not-available-exception.js.map +0 -0
  318. /package/{src → bin/src}/factories/DateFactory.js.map +0 -0
  319. /package/{src → bin/src}/factories/InternalLinkFactory.js.map +0 -0
  320. /package/{src → bin/src}/i-api-response.js.map +0 -0
  321. /package/{src → bin/src}/i-class-factory.js.map +0 -0
  322. /package/{src → bin/src}/i-model-description.js.map +0 -0
  323. /package/{src → bin/src}/model-client.js.map +0 -0
  324. /package/{src → bin/src}/model-factory.js.map +0 -0
  325. /package/{src → bin/src}/models/bestfit-programme/bestfit-programme-client.js.map +0 -0
  326. /package/{src → bin/src}/models/bestfit-programme/i-best-fit-programme.js.map +0 -0
  327. /package/{src → bin/src}/models/bestfit-programme/i-city.js.map +0 -0
  328. /package/{src → bin/src}/models/bestfit-programme/i-living-cost.js.map +0 -0
  329. /package/{src → bin/src}/models/common/i-city.js.map +0 -0
  330. /package/{src → bin/src}/models/common/i-country.js.map +0 -0
  331. /package/{src → bin/src}/models/common/i-english-requirements.js.map +0 -0
  332. /package/{src → bin/src}/models/common/i-g-p-a-requirement.js.map +0 -0
  333. /package/{src → bin/src}/models/common/i-internal-link.js.map +0 -0
  334. /package/{src → bin/src}/models/common/i-logo.js.map +0 -0
  335. /package/{src → bin/src}/models/common/i-tuition-fee.js.map +0 -0
  336. /package/{src → bin/src}/models/compare-programme/compare-programme-client.js.map +0 -0
  337. /package/{src → bin/src}/models/compare-programme/i-compare-programme.js.map +0 -0
  338. /package/{src → bin/src}/models/dotdigital-organisation/dotdigital-organisation-client.js.map +0 -0
  339. /package/{src → bin/src}/models/dotdigital-organisation/i-dot-digital-organisation.js.map +0 -0
  340. /package/{src → bin/src}/models/dotdigital-organisation/i-review.js.map +0 -0
  341. /package/{src → bin/src}/models/dotdigital-programme/dotdigital-programme-client.js.map +0 -0
  342. /package/{src → bin/src}/models/dotdigital-programme/i-dot-digital-programme.js.map +0 -0
  343. /package/{src → bin/src}/models/dotdigital-programme/i-internal-link.js.map +0 -0
  344. /package/{src → bin/src}/models/programme-card/i-click-tracking-data.js.map +0 -0
  345. /package/{src → bin/src}/models/programme-card/i-cover.js.map +0 -0
  346. /package/{src → bin/src}/models/programme-card/i-deadline.js.map +0 -0
  347. /package/{src → bin/src}/models/programme-card/i-duration.js.map +0 -0
  348. /package/{src → bin/src}/models/programme-card/i-internal-link.js.map +0 -0
  349. /package/{src → bin/src}/models/programme-card/i-link.js.map +0 -0
  350. /package/{src → bin/src}/models/programme-card/i-location.js.map +0 -0
  351. /package/{src → bin/src}/models/programme-card/i-logo.js.map +0 -0
  352. /package/{src → bin/src}/models/programme-card/i-optional-link.js.map +0 -0
  353. /package/{src → bin/src}/models/programme-card/i-programme-card.js.map +0 -0
  354. /package/{src → bin/src}/models/programme-card/i-start-date.js.map +0 -0
  355. /package/{src → bin/src}/models/programme-card/i-timing.js.map +0 -0
  356. /package/{src → bin/src}/models/programme-card/i-tracked-link.js.map +0 -0
  357. /package/{src → bin/src}/models/programme-card/i-tracking.js.map +0 -0
  358. /package/{src → bin/src}/models/programme-card/i-tuition-fee.js.map +0 -0
  359. /package/{src → bin/src}/models/programme-card/programme-card-client.js.map +0 -0
  360. /package/{src → bin/src}/models/ranking-cards/i-ranking-card.js.map +0 -0
  361. /package/{src → bin/src}/models/ranking-cards/i-ranking-cards.js.map +0 -0
  362. /package/{src → bin/src}/models/ranking-cards/i-ranking.js.map +0 -0
  363. /package/{src → bin/src}/models/ranking-cards/public-ranking-cards-client.js.map +0 -0
  364. /package/{src → bin/src}/models/scholarship-card/i-scholarship-card.js.map +0 -0
  365. /package/{src → bin/src}/models/scholarship-card/public-scholarship-card-client.js.map +0 -0
  366. /package/{src → bin/src}/models/search-country-faq/i-search-country-faq.js.map +0 -0
  367. /package/{src → bin/src}/models/search-country-faq/public-search-country-faq-client.js.map +0 -0
  368. /package/{src → bin/src}/models/search-discipline/i-search-discipline.js.map +0 -0
  369. /package/{src → bin/src}/models/search-discipline/public-search-discipline-client.js.map +0 -0
  370. /package/{src → bin/src}/models/search-projection/i-geo-targeting-configuration.js.map +0 -0
  371. /package/{src → bin/src}/models/search-projection/i-geo-targeting-values.js.map +0 -0
  372. /package/{src → bin/src}/models/search-projection/i-organisation-values.js.map +0 -0
  373. /package/{src → bin/src}/models/search-projection/i-premium-values.js.map +0 -0
  374. /package/{src → bin/src}/models/search-projection/i-search-projection.js.map +0 -0
  375. /package/{src → bin/src}/models/search-projection/i-tuition-values.js.map +0 -0
  376. /package/{src → bin/src}/models/search-projection/search-projection-client.js.map +0 -0
  377. /package/{src → bin/src}/models/sitemap-articles-info/i-sitemap-article-info.js.map +0 -0
  378. /package/{src → bin/src}/models/sitemap-articles-info/sitemap-articles-info-client.js.map +0 -0
  379. /package/{src → bin/src}/models/sitemap-cities-info/i-sitemap-city-info.js.map +0 -0
  380. /package/{src → bin/src}/models/sitemap-cities-info/sitemap-cities-info-client.js.map +0 -0
  381. /package/{src → bin/src}/models/sitemap-countries-info/i-sitemap-country-info.js.map +0 -0
  382. /package/{src → bin/src}/models/sitemap-countries-info/sitemap-countries-info-client.js.map +0 -0
  383. /package/{src → bin/src}/models/sitemap-country-degree-info/i-degree-info.js.map +0 -0
  384. /package/{src → bin/src}/models/sitemap-country-degree-info/i-sitemap-country-degree-info.js.map +0 -0
  385. /package/{src → bin/src}/models/sitemap-country-degree-info/sitemap-country-degree-info-client.js.map +0 -0
  386. /package/{src → bin/src}/models/sitemap-disciplines-info/i-sitemap-discipline-info.js.map +0 -0
  387. /package/{src → bin/src}/models/sitemap-disciplines-info/sitemap-disciplines-info-client.js.map +0 -0
  388. /package/{src → bin/src}/models/sitemap-organisations-info/i-sitemap-organisation-info.js.map +0 -0
  389. /package/{src → bin/src}/models/sitemap-organisations-info/sitemap-organisations-info-client.js.map +0 -0
  390. /package/{src → bin/src}/models/sitemap-programme-info/i-sitemap-programme-info.js.map +0 -0
  391. /package/{src → bin/src}/models/sitemap-programme-info/sitemap-programme-info-client.js.map +0 -0
  392. /package/{src → bin/src}/models/sitemap-rankings-info/i-sitemap-rankings-info.js.map +0 -0
  393. /package/{src → bin/src}/models/sitemap-rankings-info/sitemap-rankings-info-client.js.map +0 -0
  394. /package/{src → bin/src}/types/portal-map.js.map +0 -0
  395. /package/{src → bin/src}/types/portal-type.js.map +0 -0
  396. /package/{src → bin/src}/types.js.map +0 -0
@@ -0,0 +1,122 @@
1
+ import { ICountry, IEnglishRequirements, IInternalLink, ILogo, ITuitionFee } from "../../..";
2
+
3
+ export interface IDotDigitalProgramme {
4
+
5
+ /**
6
+ * Campaign type of the campaign the programme is attached to
7
+ *
8
+ * @return number
9
+ */
10
+ getCampaignType(): number;
11
+
12
+ canShowCampaignType(): boolean;
13
+
14
+ /**
15
+ * Get country the programme is teached in
16
+ *
17
+ * @return ICountry
18
+ */
19
+ getCountry(): ICountry;
20
+
21
+ canShowCountry(): boolean;
22
+
23
+ /**
24
+ * Get discipline ids attached to this programme
25
+ *
26
+ * @return number[]
27
+ */
28
+ getDisciplineIds(): number[];
29
+
30
+ /**
31
+ * Education level
32
+ *
33
+ * @return string
34
+ */
35
+ getEducationalLevel(): string;
36
+
37
+ /**
38
+ * English level requirements.
39
+ *
40
+ * @return IEnglishRequirements
41
+ */
42
+ getEnglishRequirements(): IEnglishRequirements;
43
+
44
+ /**
45
+ * Id of the programme.
46
+ *
47
+ * @return number
48
+ */
49
+ getId(): number;
50
+
51
+ /**
52
+ * The last time the programme has been updated and verified
53
+ *
54
+ * @return Date
55
+ */
56
+ getLastUpdated(): Date;
57
+
58
+ /**
59
+ * University logo url
60
+ *
61
+ * @return ILogo
62
+ */
63
+ getLogo(): ILogo;
64
+
65
+ canShowLogo(): boolean;
66
+
67
+ /**
68
+ * Get a link to the programme page.
69
+ *
70
+ * The link contains the page path as url and the programme name as the
71
+ * link description.
72
+ *
73
+ * @return IInternalLink
74
+ */
75
+ getProgrammeLink(): IInternalLink;
76
+
77
+ /**
78
+ * The universities review rating
79
+ *
80
+ * @return number
81
+ */
82
+ getReviewRating(): number;
83
+
84
+ canShowReviewRating(): boolean;
85
+
86
+ /**
87
+ * Title of the programme.
88
+ *
89
+ * @return string
90
+ */
91
+ getTitle(): string;
92
+
93
+ /**
94
+ * The programmes tuition fees
95
+ *
96
+ * @return ITuitionFee[]
97
+ */
98
+ getTuitionFees(): ITuitionFee[];
99
+
100
+ canShowTuitionFees(): boolean;
101
+
102
+ /**
103
+ * University id
104
+ *
105
+ * @return number
106
+ */
107
+ getUniversityId(): number;
108
+
109
+ /**
110
+ * University title
111
+ *
112
+ * @return string
113
+ */
114
+ getUniversityTitle(): string;
115
+
116
+ /**
117
+ * Is programme public
118
+ *
119
+ * @return boolean
120
+ */
121
+ isPublic(): boolean;
122
+ }
@@ -0,0 +1,32 @@
1
+ export interface IInternalLink {
2
+
3
+ /**
4
+ * Get an optional text describing the link (typically <a>-tags contents).
5
+ *
6
+ * @return string
7
+ * @throws PropertyNotAvailableException
8
+ */
9
+ getDescription(): string;
10
+
11
+ canShowDescription(): boolean;
12
+
13
+ /**
14
+ * Returns on which portal a this link should link towards.
15
+ *
16
+ * @return string
17
+ */
18
+ getPortalType(): string;
19
+
20
+ /**
21
+ * Get the url to refer to.
22
+ *
23
+ * Note that the url provided is always a relative URL. A base URL is needed
24
+ * to make it a full valid path.
25
+ * The only exception is when an external link is provided (meaning, outside
26
+ * of StudyPortals-maintained domains). In this case a full url will be
27
+ * provided.
28
+ *
29
+ * @return string
30
+ */
31
+ getUrl(): string;
32
+ }
@@ -0,0 +1,8 @@
1
+ export interface IClickTrackingData {
2
+
3
+ getAction(): string;
4
+
5
+ getCategory(): string;
6
+
7
+ getLabel(): string;
8
+ }
@@ -0,0 +1,16 @@
1
+ export interface ICover {
2
+
3
+ /**
4
+ * Get the file ID of the cover (as known in the system)
5
+ *
6
+ * @return number
7
+ */
8
+ getId(): number;
9
+
10
+ /**
11
+ * Get the source URL for the cover.
12
+ *
13
+ * @return string
14
+ */
15
+ getSource(): string;
16
+ }
@@ -0,0 +1,23 @@
1
+ export interface IDeadline {
2
+
3
+ /**
4
+ * Get the date this deadline expires on.
5
+ *
6
+ * @return Date
7
+ */
8
+ getDate(): Date;
9
+
10
+ /**
11
+ * Get the deadline type (e.g. general, national, eea, etc).
12
+ *
13
+ * @return string
14
+ */
15
+ getType(): string;
16
+
17
+ /**
18
+ * True if the deadline has passed (e.g. you can't apply anymore).
19
+ *
20
+ * @return boolean
21
+ */
22
+ isPassed(): boolean;
23
+ }
@@ -0,0 +1,46 @@
1
+ export interface IDuration {
2
+
3
+ /**
4
+ * Get the amount of periods the programme takes to complete.
5
+ *
6
+ * Note: Durations of more than 70 days (with period === 'days') are
7
+ * automatically calculated back to an amount of months.
8
+ *
9
+ * @return number
10
+ */
11
+ getAmount(): number;
12
+
13
+ /**
14
+ * Get an optional textual description of the duration.
15
+ *
16
+ * @return string
17
+ * @throws PropertyNotAvailableException
18
+ */
19
+ getDescription(): string;
20
+
21
+ canShowDescription(): boolean;
22
+
23
+ /**
24
+ * Get the original duration amount before any calculations.
25
+ *
26
+ * @return number
27
+ */
28
+ getOriginalDuration(): number;
29
+
30
+ /**
31
+ * Get the original duration period before any calculations.
32
+ *
33
+ * @return string
34
+ */
35
+ getOriginalPeriod(): string;
36
+
37
+ /**
38
+ * Get the period this duration is provided in (days or months).
39
+ *
40
+ * Note: Durations of more than 70 days (with period === 'days') are
41
+ * automatically calculated back to an amount of months.
42
+ *
43
+ * @return string
44
+ */
45
+ getPeriod(): string;
46
+ }
@@ -0,0 +1,32 @@
1
+ export interface IInternalLink {
2
+
3
+ /**
4
+ * Get an optional text describing the link (typically <a>-tags contents).
5
+ *
6
+ * @return string
7
+ * @throws PropertyNotAvailableException
8
+ */
9
+ getDescription(): string;
10
+
11
+ canShowDescription(): boolean;
12
+
13
+ /**
14
+ * Returns on which portal a this link should link towards.
15
+ *
16
+ * @return string
17
+ */
18
+ getPortalType(): string;
19
+
20
+ /**
21
+ * Get the url to refer to.
22
+ *
23
+ * Note that the url provided is always a relative URL. A base URL is needed
24
+ * to make it a full valid path.
25
+ * The only exception is when an external link is provided (meaning, outside
26
+ * of StudyPortals-maintained domains). In this case a full url will be
27
+ * provided.
28
+ *
29
+ * @return string
30
+ */
31
+ getUrl(): string;
32
+ }
@@ -0,0 +1,25 @@
1
+ export interface ILink {
2
+
3
+ /**
4
+ * Get an optional text describing the link (typically <a>-tags contents).
5
+ *
6
+ * @return string
7
+ * @throws PropertyNotAvailableException
8
+ */
9
+ getDescription(): string;
10
+
11
+ canShowDescription(): boolean;
12
+
13
+ /**
14
+ * Get the url to refer to.
15
+ *
16
+ * Note that the url provided is always a relative URL. A base URL is needed
17
+ * to make it a full valid path.
18
+ * The only exception is when an external link is provided (meaning, outside
19
+ * of StudyPortals-maintained domains). In this case a full url will be
20
+ * provided.
21
+ *
22
+ * @return string
23
+ */
24
+ getUrl(): string;
25
+ }
@@ -0,0 +1,22 @@
1
+ import { IOptionalLink } from "../../..";
2
+
3
+ export interface ILocation {
4
+
5
+ getArea(): IOptionalLink;
6
+
7
+ canShowArea(): boolean;
8
+
9
+ getAreaId(): number;
10
+
11
+ getCity(): IOptionalLink;
12
+
13
+ getCityId(): number;
14
+
15
+ getCountry(): IOptionalLink;
16
+
17
+ getCountryId(): number;
18
+
19
+ getCountryIso(): string;
20
+
21
+ hasAreaId(): boolean;
22
+ }
@@ -0,0 +1,16 @@
1
+ export interface ILogo {
2
+
3
+ /**
4
+ * Get the file ID of the logo.
5
+ *
6
+ * @return number
7
+ */
8
+ getId(): number;
9
+
10
+ /**
11
+ * Get the imgix URL of the logo.
12
+ *
13
+ * @return string
14
+ */
15
+ getSource(): string;
16
+ }
@@ -0,0 +1,27 @@
1
+ export interface IOptionalLink {
2
+
3
+ /**
4
+ * Get an optional text describing the link (typically <a>-tags contents).
5
+ *
6
+ * @return string
7
+ * @throws PropertyNotAvailableException
8
+ */
9
+ getDescription(): string;
10
+
11
+ canShowDescription(): boolean;
12
+
13
+ /**
14
+ * Get the url to refer to.
15
+ *
16
+ * Note that the url provided is always a relative URL. A base URL is needed
17
+ * to make it a full valid path.
18
+ * The only exception is when an external link is provided (meaning, outside
19
+ * of StudyPortals-maintained domains). In this case a full url will be
20
+ * provided.
21
+ *
22
+ * @return string
23
+ */
24
+ getUrl(): string;
25
+
26
+ canShowUrl(): boolean;
27
+ }
@@ -0,0 +1,212 @@
1
+ import { ICover, IDuration, IInternalLink, ILink, ILocation, ILogo, ITiming, ITrackedLink, ITracking, ITuitionFee } from "../../..";
2
+
3
+ export interface IProgrammeCard {
4
+
5
+ /**
6
+ * ISO code of the country the programme is taught.
7
+ * Formatted in UPPERCASE
8
+ *
9
+ * @return string | null
10
+ */
11
+ getCountryIsoCode(): string | null;
12
+
13
+ /**
14
+ * Get the Cover of the programme if available.
15
+ *
16
+ * @return ICover
17
+ */
18
+ getCover(): ICover;
19
+
20
+ canShowCover(): boolean;
21
+
22
+ /**
23
+ * Get the degree name of the programme.
24
+ *
25
+ * @return string
26
+ */
27
+ getDegree(): string;
28
+
29
+ /**
30
+ * Get duration of the programme.
31
+ *
32
+ * @return IDuration
33
+ */
34
+ getDuration(): IDuration;
35
+
36
+ canShowDuration(): boolean;
37
+
38
+ /**
39
+ * Get the programme id.
40
+ *
41
+ * @return number
42
+ */
43
+ getId(): number;
44
+
45
+ /**
46
+ * Get the programme level.
47
+ *
48
+ * @return string
49
+ */
50
+ getLevel(): string;
51
+
52
+ /**
53
+ * Get the locaiton the programme is located in.
54
+ *
55
+ * Uses the country based on the programmes venues.
56
+ *
57
+ * @return ILocation
58
+ */
59
+ getLocation(): ILocation;
60
+
61
+ canShowLocation(): boolean;
62
+
63
+ /**
64
+ * Get the location text the programme is located in
65
+ *
66
+ * Uses the country based on the programmes venues and isFullyOnline state
67
+ *
68
+ * @return string | null
69
+ */
70
+ getLocationText(): string | null;
71
+
72
+ /**
73
+ * Get the Logo of the programme if available.
74
+ *
75
+ * @return ILogo
76
+ */
77
+ getLogo(): ILogo;
78
+
79
+ canShowLogo(): boolean;
80
+
81
+ /**
82
+ * Returns premium type
83
+ * Such as Super premium, premium, light, etc..
84
+ *
85
+ * @return string
86
+ */
87
+ getPremiumType(): string;
88
+
89
+ /**
90
+ * Get a link to the programme page.
91
+ *
92
+ * The link contains the page path as url and the programme name as the
93
+ * link description.
94
+ *
95
+ * @return IInternalLink
96
+ */
97
+ getProgrammeLink(): IInternalLink;
98
+
99
+ /**
100
+ * Get programme's referral link
101
+ *
102
+ * @return ITrackedLink
103
+ */
104
+ getReferralLink(): ITrackedLink;
105
+
106
+ canShowReferralLink(): boolean;
107
+
108
+ /**
109
+ * Get the summary of the programme.
110
+ *
111
+ * @return string
112
+ */
113
+ getSummary(): string;
114
+
115
+ /**
116
+ * Get all start dates
117
+ *
118
+ * @return ITiming[]
119
+ */
120
+ getTimings(): ITiming[];
121
+
122
+ canShowTimings(): boolean;
123
+
124
+ /**
125
+ * Get the programme title.
126
+ *
127
+ * @return string
128
+ */
129
+ getTitle(): string;
130
+
131
+ /**
132
+ * Get the tracking information needed to track the impression on the card.
133
+ *
134
+ * @return ITracking
135
+ */
136
+ getTracking(): ITracking;
137
+
138
+ /**
139
+ * Get all tuition fees of the programme.
140
+ *
141
+ * @return ITuitionFee[]
142
+ */
143
+ getTuitionFees(): ITuitionFee[];
144
+
145
+ canShowTuitionFees(): boolean;
146
+
147
+ /**
148
+ * Get the programme's university id
149
+ *
150
+ * @return number
151
+ */
152
+ getUniversityId(): number;
153
+
154
+ /**
155
+ * Get a link to the programme's university page.
156
+ *
157
+ * The link contains the page path as url and the university name as the
158
+ * link description.
159
+ *
160
+ * @return ILink
161
+ */
162
+ getUniversityLink(): ILink;
163
+
164
+ /**
165
+ * If a program is both on campus and online
166
+ *
167
+ * @return boolean
168
+ */
169
+ isBlended(): boolean;
170
+
171
+ /**
172
+ * If a program is given in fulltime
173
+ *
174
+ * @return boolean
175
+ */
176
+ isFullTime(): boolean;
177
+
178
+ /**
179
+ * If a program can only be taught online or not
180
+ *
181
+ * @return boolean
182
+ */
183
+ isFullyOnline(): boolean;
184
+
185
+ /**
186
+ * If a program is taught on campus
187
+ *
188
+ * @return boolean
189
+ */
190
+ isOnCampus(): boolean;
191
+
192
+ /**
193
+ * If a program can be taught online
194
+ *
195
+ * @return boolean
196
+ */
197
+ isOnline(): boolean;
198
+
199
+ /**
200
+ * If a program is given in parttime
201
+ *
202
+ * @return boolean
203
+ */
204
+ isPartTime(): boolean;
205
+
206
+ /**
207
+ * Public status of the programme.
208
+ *
209
+ * @return boolean
210
+ */
211
+ isPublic(): boolean;
212
+ }
@@ -0,0 +1,39 @@
1
+ import { IDeadline } from "../../..";
2
+
3
+ export interface IStartDate {
4
+
5
+ /**
6
+ * Get the date the programme starts on.
7
+ *
8
+ * @return Date
9
+ */
10
+ getDate(): Date;
11
+
12
+ /**
13
+ * Get a list of deadlines that apply to this start date.
14
+ *
15
+ * Note: In case of extendable start dates, all information in the
16
+ * Deadline objects has already been extended to the first available start
17
+ * date.
18
+ *
19
+ * @return IDeadline[]
20
+ * @throws PropertyNotAvailableException
21
+ */
22
+ getDeadlines(): IDeadline[];
23
+
24
+ canShowDeadlines(): boolean;
25
+
26
+ /**
27
+ * True if you can apply at any time for this programme (rolling admission)
28
+ *
29
+ * @return boolean
30
+ */
31
+ isApplyingAnytime(): boolean;
32
+
33
+ /**
34
+ * True if the start date has passed (you can't start at this date anymore).
35
+ *
36
+ * @return boolean
37
+ */
38
+ isPassed(): boolean;
39
+ }
@@ -0,0 +1,53 @@
1
+ import { IDeadline, IStartDate } from "../../..";
2
+
3
+ export interface ITiming {
4
+
5
+ /**
6
+ * Get the IDeadline applicable for this type and programme.
7
+ *
8
+ * Note: In case of extendable start dates, all information in the
9
+ * Deadline object has already been extended to the first available start
10
+ * date.
11
+ *
12
+ * @return IDeadline
13
+ * @throws PropertyNotAvailableException
14
+ */
15
+ getDeadline(): IDeadline;
16
+
17
+ canShowDeadline(): boolean;
18
+
19
+ /**
20
+ * Get the IStartDate applicable for this type and programme.
21
+ *
22
+ * Note: In case of extendable start dates, all information in the
23
+ * StartDate objects has already been extended to the first available start
24
+ * date.
25
+ *
26
+ * @return IStartDate
27
+ * @throws PropertyNotAvailableException
28
+ */
29
+ getStartDate(): IStartDate;
30
+
31
+ canShowStartDate(): boolean;
32
+
33
+ /**
34
+ * Type of user the timing is applicable to (e.g. general, eea, national).
35
+ *
36
+ * @return string
37
+ */
38
+ getType(): string;
39
+
40
+ /**
41
+ * True if the programme allows to apply at any time (rolling application).
42
+ *
43
+ * @return boolean
44
+ */
45
+ isApplyingAnytime(): boolean;
46
+
47
+ /**
48
+ * True if the programme can start at any time (rolling admission).
49
+ *
50
+ * @return boolean
51
+ */
52
+ isStartingAnytime(): boolean;
53
+ }