@kontent-ai/delivery-sdk 15.1.1 → 16.0.0-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 (263) hide show
  1. package/dist/bundles/kontent-delivery.umd.js +188 -2284
  2. package/dist/bundles/kontent-delivery.umd.js.map +1 -1
  3. package/dist/bundles/kontent-delivery.umd.min.js +1 -1
  4. package/dist/bundles/kontent-delivery.umd.min.js.map +1 -1
  5. package/dist/bundles/report.json +1 -1
  6. package/dist/bundles/report.min.json +1 -1
  7. package/dist/bundles/stats.json +4433 -9234
  8. package/dist/bundles/stats.min.json +2500 -7425
  9. package/dist/cjs/client/delivery-client.d.ts +14 -14
  10. package/dist/cjs/client/delivery-client.factory.d.ts +2 -1
  11. package/dist/cjs/client/delivery-client.factory.js.map +1 -1
  12. package/dist/cjs/client/delivery-client.js.map +1 -1
  13. package/dist/cjs/client/idelivery-client.interface.d.ts +14 -14
  14. package/dist/cjs/mappers/element.mapper.d.ts +4 -4
  15. package/dist/cjs/mappers/element.mapper.js.map +1 -1
  16. package/dist/cjs/mappers/item.mapper.d.ts +11 -11
  17. package/dist/cjs/mappers/item.mapper.js +1 -1
  18. package/dist/cjs/mappers/item.mapper.js.map +1 -1
  19. package/dist/cjs/mappers/language.mapper.d.ts +2 -2
  20. package/dist/cjs/mappers/language.mapper.js +5 -1
  21. package/dist/cjs/mappers/language.mapper.js.map +1 -1
  22. package/dist/cjs/mappers/taxonomy.mapper.d.ts +3 -3
  23. package/dist/cjs/mappers/taxonomy.mapper.js.map +1 -1
  24. package/dist/cjs/mappers/type.mapper.d.ts +3 -3
  25. package/dist/cjs/mappers/type.mapper.js.map +1 -1
  26. package/dist/cjs/models/content-type-models.d.ts +4 -4
  27. package/dist/cjs/models/item-models.d.ts +15 -4
  28. package/dist/cjs/models/language-models.d.ts +4 -4
  29. package/dist/cjs/models/responses.d.ts +29 -29
  30. package/dist/cjs/models/taxonomy-models.d.ts +4 -4
  31. package/dist/cjs/query/common/base-item-listing-query.class.d.ts +4 -4
  32. package/dist/cjs/query/common/base-item-listing-query.class.js.map +1 -1
  33. package/dist/cjs/query/common/base-listing-query.class.d.ts +4 -4
  34. package/dist/cjs/query/common/base-listing-query.class.js.map +1 -1
  35. package/dist/cjs/query/common/base-query.class.d.ts +4 -4
  36. package/dist/cjs/query/common/base-query.class.js.map +1 -1
  37. package/dist/cjs/query/element/element-query.class.d.ts +4 -4
  38. package/dist/cjs/query/element/element-query.class.js.map +1 -1
  39. package/dist/cjs/query/item/multiple-items-query.class.d.ts +14 -14
  40. package/dist/cjs/query/item/multiple-items-query.class.js +3 -1
  41. package/dist/cjs/query/item/multiple-items-query.class.js.map +1 -1
  42. package/dist/cjs/query/item/single-item-query.class.d.ts +9 -9
  43. package/dist/cjs/query/item/single-item-query.class.js.map +1 -1
  44. package/dist/cjs/query/items-feed/items-feed-query.class.d.ts +7 -7
  45. package/dist/cjs/query/items-feed/items-feed-query.class.js +3 -1
  46. package/dist/cjs/query/items-feed/items-feed-query.class.js.map +1 -1
  47. package/dist/cjs/query/language/languages-query.class.d.ts +7 -7
  48. package/dist/cjs/query/language/languages-query.class.js.map +1 -1
  49. package/dist/cjs/query/sync/initialize-sync-query.class.d.ts +4 -4
  50. package/dist/cjs/query/sync/initialize-sync-query.class.js.map +1 -1
  51. package/dist/cjs/query/sync/sync-changes-query.class.d.ts +4 -4
  52. package/dist/cjs/query/sync/sync-changes-query.class.js.map +1 -1
  53. package/dist/cjs/query/taxonomy/taxonomies-query.class.d.ts +7 -7
  54. package/dist/cjs/query/taxonomy/taxonomies-query.class.js.map +1 -1
  55. package/dist/cjs/query/taxonomy/taxonomy-query.class.d.ts +6 -6
  56. package/dist/cjs/query/taxonomy/taxonomy-query.class.js.map +1 -1
  57. package/dist/cjs/query/type/multiple-type-query.class.d.ts +9 -9
  58. package/dist/cjs/query/type/multiple-type-query.class.js.map +1 -1
  59. package/dist/cjs/query/type/single-type-query.class.d.ts +6 -6
  60. package/dist/cjs/query/type/single-type-query.class.js.map +1 -1
  61. package/dist/cjs/sdk-info.generated.js +1 -1
  62. package/dist/cjs/sdk-info.generated.js.map +1 -1
  63. package/dist/cjs/services/base-delivery-query.service.d.ts +4 -4
  64. package/dist/cjs/services/base-delivery-query.service.js.map +1 -1
  65. package/dist/cjs/services/delivery-query.service.d.ts +11 -11
  66. package/dist/cjs/services/delivery-query.service.js.map +1 -1
  67. package/dist/cjs/services/mapping.service.d.ts +19 -19
  68. package/dist/cjs/services/mapping.service.js +1 -1
  69. package/dist/cjs/services/mapping.service.js.map +1 -1
  70. package/dist/cjs/utilities/delivery-url.helper.d.ts +1 -1
  71. package/dist/cjs/utilities/delivery-url.helper.js +3 -6
  72. package/dist/cjs/utilities/delivery-url.helper.js.map +1 -1
  73. package/dist/cjs/utilities/index.d.ts +0 -2
  74. package/dist/cjs/utilities/index.js +0 -2
  75. package/dist/cjs/utilities/index.js.map +1 -1
  76. package/dist/es6/client/delivery-client.d.ts +14 -14
  77. package/dist/es6/client/delivery-client.factory.d.ts +2 -1
  78. package/dist/es6/client/delivery-client.factory.js.map +1 -1
  79. package/dist/es6/client/delivery-client.js.map +1 -1
  80. package/dist/es6/client/idelivery-client.interface.d.ts +14 -14
  81. package/dist/es6/mappers/element.mapper.d.ts +4 -4
  82. package/dist/es6/mappers/element.mapper.js.map +1 -1
  83. package/dist/es6/mappers/item.mapper.d.ts +11 -11
  84. package/dist/es6/mappers/item.mapper.js +1 -1
  85. package/dist/es6/mappers/item.mapper.js.map +1 -1
  86. package/dist/es6/mappers/language.mapper.d.ts +2 -2
  87. package/dist/es6/mappers/language.mapper.js +5 -1
  88. package/dist/es6/mappers/language.mapper.js.map +1 -1
  89. package/dist/es6/mappers/taxonomy.mapper.d.ts +3 -3
  90. package/dist/es6/mappers/taxonomy.mapper.js.map +1 -1
  91. package/dist/es6/mappers/type.mapper.d.ts +3 -3
  92. package/dist/es6/mappers/type.mapper.js.map +1 -1
  93. package/dist/es6/models/content-type-models.d.ts +4 -4
  94. package/dist/es6/models/item-models.d.ts +15 -4
  95. package/dist/es6/models/language-models.d.ts +4 -4
  96. package/dist/es6/models/responses.d.ts +29 -29
  97. package/dist/es6/models/taxonomy-models.d.ts +4 -4
  98. package/dist/es6/query/common/base-item-listing-query.class.d.ts +4 -4
  99. package/dist/es6/query/common/base-item-listing-query.class.js.map +1 -1
  100. package/dist/es6/query/common/base-listing-query.class.d.ts +4 -4
  101. package/dist/es6/query/common/base-listing-query.class.js.map +1 -1
  102. package/dist/es6/query/common/base-query.class.d.ts +4 -4
  103. package/dist/es6/query/common/base-query.class.js.map +1 -1
  104. package/dist/es6/query/element/element-query.class.d.ts +4 -4
  105. package/dist/es6/query/element/element-query.class.js.map +1 -1
  106. package/dist/es6/query/item/multiple-items-query.class.d.ts +14 -14
  107. package/dist/es6/query/item/multiple-items-query.class.js +3 -1
  108. package/dist/es6/query/item/multiple-items-query.class.js.map +1 -1
  109. package/dist/es6/query/item/single-item-query.class.d.ts +9 -9
  110. package/dist/es6/query/item/single-item-query.class.js.map +1 -1
  111. package/dist/es6/query/items-feed/items-feed-query.class.d.ts +7 -7
  112. package/dist/es6/query/items-feed/items-feed-query.class.js +3 -1
  113. package/dist/es6/query/items-feed/items-feed-query.class.js.map +1 -1
  114. package/dist/es6/query/language/languages-query.class.d.ts +7 -7
  115. package/dist/es6/query/language/languages-query.class.js.map +1 -1
  116. package/dist/es6/query/sync/initialize-sync-query.class.d.ts +4 -4
  117. package/dist/es6/query/sync/initialize-sync-query.class.js.map +1 -1
  118. package/dist/es6/query/sync/sync-changes-query.class.d.ts +4 -4
  119. package/dist/es6/query/sync/sync-changes-query.class.js.map +1 -1
  120. package/dist/es6/query/taxonomy/taxonomies-query.class.d.ts +7 -7
  121. package/dist/es6/query/taxonomy/taxonomies-query.class.js.map +1 -1
  122. package/dist/es6/query/taxonomy/taxonomy-query.class.d.ts +6 -6
  123. package/dist/es6/query/taxonomy/taxonomy-query.class.js.map +1 -1
  124. package/dist/es6/query/type/multiple-type-query.class.d.ts +9 -9
  125. package/dist/es6/query/type/multiple-type-query.class.js.map +1 -1
  126. package/dist/es6/query/type/single-type-query.class.d.ts +6 -6
  127. package/dist/es6/query/type/single-type-query.class.js.map +1 -1
  128. package/dist/es6/sdk-info.generated.js +1 -1
  129. package/dist/es6/sdk-info.generated.js.map +1 -1
  130. package/dist/es6/services/base-delivery-query.service.d.ts +4 -4
  131. package/dist/es6/services/base-delivery-query.service.js.map +1 -1
  132. package/dist/es6/services/delivery-query.service.d.ts +11 -11
  133. package/dist/es6/services/delivery-query.service.js.map +1 -1
  134. package/dist/es6/services/mapping.service.d.ts +19 -19
  135. package/dist/es6/services/mapping.service.js +1 -1
  136. package/dist/es6/services/mapping.service.js.map +1 -1
  137. package/dist/es6/utilities/delivery-url.helper.d.ts +1 -1
  138. package/dist/es6/utilities/delivery-url.helper.js +3 -6
  139. package/dist/es6/utilities/delivery-url.helper.js.map +1 -1
  140. package/dist/es6/utilities/index.d.ts +0 -2
  141. package/dist/es6/utilities/index.js +0 -2
  142. package/dist/es6/utilities/index.js.map +1 -1
  143. package/dist/esnext/client/delivery-client.d.ts +14 -14
  144. package/dist/esnext/client/delivery-client.factory.d.ts +2 -1
  145. package/dist/esnext/client/delivery-client.factory.js.map +1 -1
  146. package/dist/esnext/client/delivery-client.js.map +1 -1
  147. package/dist/esnext/client/idelivery-client.interface.d.ts +14 -14
  148. package/dist/esnext/mappers/element.mapper.d.ts +4 -4
  149. package/dist/esnext/mappers/element.mapper.js.map +1 -1
  150. package/dist/esnext/mappers/item.mapper.d.ts +11 -11
  151. package/dist/esnext/mappers/item.mapper.js +1 -1
  152. package/dist/esnext/mappers/item.mapper.js.map +1 -1
  153. package/dist/esnext/mappers/language.mapper.d.ts +2 -2
  154. package/dist/esnext/mappers/language.mapper.js +5 -1
  155. package/dist/esnext/mappers/language.mapper.js.map +1 -1
  156. package/dist/esnext/mappers/taxonomy.mapper.d.ts +3 -3
  157. package/dist/esnext/mappers/taxonomy.mapper.js.map +1 -1
  158. package/dist/esnext/mappers/type.mapper.d.ts +3 -3
  159. package/dist/esnext/mappers/type.mapper.js.map +1 -1
  160. package/dist/esnext/models/content-type-models.d.ts +4 -4
  161. package/dist/esnext/models/item-models.d.ts +15 -4
  162. package/dist/esnext/models/language-models.d.ts +4 -4
  163. package/dist/esnext/models/responses.d.ts +29 -29
  164. package/dist/esnext/models/taxonomy-models.d.ts +4 -4
  165. package/dist/esnext/query/common/base-item-listing-query.class.d.ts +4 -4
  166. package/dist/esnext/query/common/base-item-listing-query.class.js.map +1 -1
  167. package/dist/esnext/query/common/base-listing-query.class.d.ts +4 -4
  168. package/dist/esnext/query/common/base-listing-query.class.js.map +1 -1
  169. package/dist/esnext/query/common/base-query.class.d.ts +4 -4
  170. package/dist/esnext/query/common/base-query.class.js.map +1 -1
  171. package/dist/esnext/query/element/element-query.class.d.ts +4 -4
  172. package/dist/esnext/query/element/element-query.class.js.map +1 -1
  173. package/dist/esnext/query/item/multiple-items-query.class.d.ts +14 -14
  174. package/dist/esnext/query/item/multiple-items-query.class.js +3 -1
  175. package/dist/esnext/query/item/multiple-items-query.class.js.map +1 -1
  176. package/dist/esnext/query/item/single-item-query.class.d.ts +9 -9
  177. package/dist/esnext/query/item/single-item-query.class.js.map +1 -1
  178. package/dist/esnext/query/items-feed/items-feed-query.class.d.ts +7 -7
  179. package/dist/esnext/query/items-feed/items-feed-query.class.js +3 -1
  180. package/dist/esnext/query/items-feed/items-feed-query.class.js.map +1 -1
  181. package/dist/esnext/query/language/languages-query.class.d.ts +7 -7
  182. package/dist/esnext/query/language/languages-query.class.js.map +1 -1
  183. package/dist/esnext/query/sync/initialize-sync-query.class.d.ts +4 -4
  184. package/dist/esnext/query/sync/initialize-sync-query.class.js.map +1 -1
  185. package/dist/esnext/query/sync/sync-changes-query.class.d.ts +4 -4
  186. package/dist/esnext/query/sync/sync-changes-query.class.js.map +1 -1
  187. package/dist/esnext/query/taxonomy/taxonomies-query.class.d.ts +7 -7
  188. package/dist/esnext/query/taxonomy/taxonomies-query.class.js.map +1 -1
  189. package/dist/esnext/query/taxonomy/taxonomy-query.class.d.ts +6 -6
  190. package/dist/esnext/query/taxonomy/taxonomy-query.class.js.map +1 -1
  191. package/dist/esnext/query/type/multiple-type-query.class.d.ts +9 -9
  192. package/dist/esnext/query/type/multiple-type-query.class.js.map +1 -1
  193. package/dist/esnext/query/type/single-type-query.class.d.ts +6 -6
  194. package/dist/esnext/query/type/single-type-query.class.js.map +1 -1
  195. package/dist/esnext/sdk-info.generated.js +1 -1
  196. package/dist/esnext/sdk-info.generated.js.map +1 -1
  197. package/dist/esnext/services/base-delivery-query.service.d.ts +4 -4
  198. package/dist/esnext/services/base-delivery-query.service.js.map +1 -1
  199. package/dist/esnext/services/delivery-query.service.d.ts +11 -11
  200. package/dist/esnext/services/delivery-query.service.js.map +1 -1
  201. package/dist/esnext/services/mapping.service.d.ts +19 -19
  202. package/dist/esnext/services/mapping.service.js +1 -1
  203. package/dist/esnext/services/mapping.service.js.map +1 -1
  204. package/dist/esnext/utilities/delivery-url.helper.d.ts +1 -1
  205. package/dist/esnext/utilities/delivery-url.helper.js +3 -6
  206. package/dist/esnext/utilities/delivery-url.helper.js.map +1 -1
  207. package/dist/esnext/utilities/index.d.ts +0 -2
  208. package/dist/esnext/utilities/index.js +0 -2
  209. package/dist/esnext/utilities/index.js.map +1 -1
  210. package/lib/client/delivery-client.factory.ts +4 -1
  211. package/lib/client/delivery-client.ts +30 -20
  212. package/lib/client/idelivery-client.interface.ts +25 -14
  213. package/lib/mappers/element.mapper.ts +14 -14
  214. package/lib/mappers/item.mapper.ts +29 -20
  215. package/lib/mappers/language.mapper.ts +8 -4
  216. package/lib/mappers/taxonomy.mapper.ts +6 -6
  217. package/lib/mappers/type.mapper.ts +6 -6
  218. package/lib/models/content-type-models.ts +4 -4
  219. package/lib/models/item-models.ts +23 -4
  220. package/lib/models/language-models.ts +4 -4
  221. package/lib/models/responses.ts +59 -38
  222. package/lib/models/taxonomy-models.ts +4 -4
  223. package/lib/query/common/base-item-listing-query.class.ts +4 -2
  224. package/lib/query/common/base-listing-query.class.ts +5 -3
  225. package/lib/query/common/base-query.class.ts +15 -3
  226. package/lib/query/element/element-query.class.ts +5 -8
  227. package/lib/query/item/multiple-items-query.class.ts +37 -18
  228. package/lib/query/item/single-item-query.class.ts +23 -9
  229. package/lib/query/items-feed/items-feed-query.class.ts +23 -11
  230. package/lib/query/language/languages-query.class.ts +16 -14
  231. package/lib/query/sync/initialize-sync-query.class.ts +4 -2
  232. package/lib/query/sync/sync-changes-query.class.ts +4 -3
  233. package/lib/query/taxonomy/taxonomies-query.class.ts +10 -14
  234. package/lib/query/taxonomy/taxonomy-query.class.ts +10 -6
  235. package/lib/query/type/multiple-type-query.class.ts +18 -11
  236. package/lib/query/type/single-type-query.class.ts +10 -6
  237. package/lib/sdk-info.generated.ts +1 -1
  238. package/lib/services/base-delivery-query.service.ts +4 -3
  239. package/lib/services/delivery-query.service.ts +52 -15
  240. package/lib/services/mapping.service.ts +50 -30
  241. package/lib/utilities/delivery-url.helper.ts +3 -9
  242. package/lib/utilities/index.ts +0 -2
  243. package/package.json +15 -19
  244. package/dist/cjs/utilities/guid.helper.d.ts +0 -4
  245. package/dist/cjs/utilities/guid.helper.js +0 -12
  246. package/dist/cjs/utilities/guid.helper.js.map +0 -1
  247. package/dist/cjs/utilities/linked-items.helper.d.ts +0 -5
  248. package/dist/cjs/utilities/linked-items.helper.js +0 -15
  249. package/dist/cjs/utilities/linked-items.helper.js.map +0 -1
  250. package/dist/es6/utilities/guid.helper.d.ts +0 -4
  251. package/dist/es6/utilities/guid.helper.js +0 -8
  252. package/dist/es6/utilities/guid.helper.js.map +0 -1
  253. package/dist/es6/utilities/linked-items.helper.d.ts +0 -5
  254. package/dist/es6/utilities/linked-items.helper.js +0 -11
  255. package/dist/es6/utilities/linked-items.helper.js.map +0 -1
  256. package/dist/esnext/utilities/guid.helper.d.ts +0 -4
  257. package/dist/esnext/utilities/guid.helper.js +0 -8
  258. package/dist/esnext/utilities/guid.helper.js.map +0 -1
  259. package/dist/esnext/utilities/linked-items.helper.d.ts +0 -5
  260. package/dist/esnext/utilities/linked-items.helper.js +0 -11
  261. package/dist/esnext/utilities/linked-items.helper.js.map +0 -1
  262. package/lib/utilities/guid.helper.ts +0 -9
  263. package/lib/utilities/linked-items.helper.ts +0 -16
@@ -1,11 +1,22 @@
1
1
  import { Contracts } from '../../contracts';
2
2
  import { IDeliveryClientConfig } from '../../config';
3
- import { IContentItem, IItemQueryConfig, IDeliveryNetworkResponse, Responses, Parameters } from '../../models';
3
+ import {
4
+ IContentItem,
5
+ IItemQueryConfig,
6
+ IDeliveryNetworkResponse,
7
+ Responses,
8
+ Parameters,
9
+ ClientTypes
10
+ } from '../../models';
4
11
  import { QueryService } from '../../services';
5
12
  import { BaseQuery } from '../common/base-query.class';
6
13
 
7
- export class SingleItemQuery<TContentItem extends IContentItem = IContentItem> extends BaseQuery<
8
- Responses.IViewContentItemResponse<TContentItem>,
14
+ export class SingleItemQuery<
15
+ TClientTypes extends ClientTypes,
16
+ TContentItem extends IContentItem = IContentItem
17
+ > extends BaseQuery<
18
+ TClientTypes,
19
+ Responses.IViewContentItemResponse<TContentItem, TClientTypes['contentItemType']>,
9
20
  IItemQueryConfig,
10
21
  Contracts.IViewContentItemContract
11
22
  > {
@@ -13,7 +24,7 @@ export class SingleItemQuery<TContentItem extends IContentItem = IContentItem> e
13
24
 
14
25
  constructor(
15
26
  protected config: IDeliveryClientConfig,
16
- protected queryService: QueryService,
27
+ protected queryService: QueryService<TClientTypes>,
17
28
  private codename: string
18
29
  ) {
19
30
  super(config, queryService);
@@ -45,7 +56,7 @@ export class SingleItemQuery<TContentItem extends IContentItem = IContentItem> e
45
56
  * Language codename
46
57
  * @param languageCodename Codename of the language
47
58
  */
48
- languageParameter(languageCodename: string): this {
59
+ languageParameter(languageCodename: TClientTypes['languageCodenames']): this {
49
60
  this.parameters.push(new Parameters.LanguageParameter(languageCodename));
50
61
  return this;
51
62
  }
@@ -54,7 +65,7 @@ export class SingleItemQuery<TContentItem extends IContentItem = IContentItem> e
54
65
  * Used to limit the number of elements returned by query.
55
66
  * @param elementCodenames Array of element codenames to fetch
56
67
  */
57
- elementsParameter(elementCodenames: string[]): this {
68
+ elementsParameter(elementCodenames: TClientTypes['elementCodenames'][]): this {
58
69
  this.parameters.push(new Parameters.ElementsParameter(elementCodenames));
59
70
  return this;
60
71
  }
@@ -63,13 +74,16 @@ export class SingleItemQuery<TContentItem extends IContentItem = IContentItem> e
63
74
  * Used to exclude elements returned by query.
64
75
  * @param elementCodenames Array of element codenames to exclude
65
76
  */
66
- excludeElementsParameter(elementCodenames: string[]): this {
77
+ excludeElementsParameter(elementCodenames: TClientTypes['elementCodenames'][]): this {
67
78
  this.parameters.push(new Parameters.ExcludeElementsParameter(elementCodenames));
68
79
  return this;
69
80
  }
70
81
 
71
82
  toPromise(): Promise<
72
- IDeliveryNetworkResponse<Responses.IViewContentItemResponse<TContentItem>, Contracts.IViewContentItemContract>
83
+ IDeliveryNetworkResponse<
84
+ Responses.IViewContentItemResponse<TContentItem, TClientTypes['contentItemType']>,
85
+ Contracts.IViewContentItemContract
86
+ >
73
87
  > {
74
88
  return this.queryService.getSingleItemAsync(this.getUrl(), this._queryConfig ?? {});
75
89
  }
@@ -86,7 +100,7 @@ export class SingleItemQuery<TContentItem extends IContentItem = IContentItem> e
86
100
  return super.resolveUrlInternal(action);
87
101
  }
88
102
 
89
- map(json: any): Responses.IViewContentItemResponse<TContentItem> {
103
+ map(json: any): Responses.IViewContentItemResponse<TContentItem, TClientTypes['contentItemType']> {
90
104
  return this.queryService.mappingService.viewContentItemResponse(json);
91
105
  }
92
106
  }
@@ -6,20 +6,25 @@ import {
6
6
  IDeliveryNetworkResponse,
7
7
  Parameters,
8
8
  Responses,
9
- IItemFeedQueryConfig
9
+ IItemFeedQueryConfig,
10
+ ClientTypes
10
11
  } from '../../models';
11
12
  import { QueryService } from '../../services';
12
13
  import { BaseItemListingQuery } from '../common/base-item-listing-query.class';
13
14
 
14
- export class ItemsFeedQuery<TContentItem extends IContentItem = IContentItem> extends BaseItemListingQuery<
15
- Responses.IListItemsFeedResponse<TContentItem>,
16
- Responses.IListItemsFeedAllResponse<TContentItem>,
15
+ export class ItemsFeedQuery<
16
+ TClientTypes extends ClientTypes,
17
+ TContentItem extends IContentItem = IContentItem
18
+ > extends BaseItemListingQuery<
19
+ TClientTypes,
20
+ Responses.IListItemsFeedResponse<TContentItem, TClientTypes['contentItemType']>,
21
+ Responses.IListItemsFeedAllResponse<TContentItem, TClientTypes['contentItemType']>,
17
22
  IItemFeedQueryConfig,
18
23
  Contracts.IItemsFeedContract
19
24
  > {
20
25
  protected _queryConfig: IItemFeedQueryConfig = {};
21
26
 
22
- constructor(protected config: IDeliveryClientConfig, protected queryService: QueryService) {
27
+ constructor(protected config: IDeliveryClientConfig, protected queryService: QueryService<TClientTypes>) {
23
28
  super(config, queryService);
24
29
  }
25
30
 
@@ -89,7 +94,10 @@ export class ItemsFeedQuery<TContentItem extends IContentItem = IContentItem> ex
89
94
  }
90
95
 
91
96
  toPromise(): Promise<
92
- IDeliveryNetworkResponse<Responses.IListItemsFeedResponse<TContentItem>, Contracts.IItemsFeedContract>
97
+ IDeliveryNetworkResponse<
98
+ Responses.IListItemsFeedResponse<TContentItem, TClientTypes['contentItemType']>,
99
+ Contracts.IItemsFeedContract
100
+ >
93
101
  > {
94
102
  return this.queryService.getItemsFeed(this.getUrl(), this._queryConfig ?? {});
95
103
  }
@@ -115,17 +123,17 @@ export class ItemsFeedQuery<TContentItem extends IContentItem = IContentItem> ex
115
123
  return this;
116
124
  }
117
125
 
118
- map(json: any): Responses.IListItemsFeedResponse<TContentItem> {
126
+ map(json: any): Responses.IListItemsFeedResponse<TContentItem, TClientTypes['contentItemType']> {
119
127
  return this.queryService.mappingService.itemsFeedResponse(json);
120
128
  }
121
129
 
122
130
  protected allResponseFactory(
123
131
  items: TContentItem[],
124
132
  responses: IDeliveryNetworkResponse<
125
- Responses.IListItemsFeedResponse<TContentItem>,
133
+ Responses.IListItemsFeedResponse<TContentItem, TClientTypes['contentItemType']>,
126
134
  Contracts.IItemsFeedContract
127
135
  >[]
128
- ): Responses.IListItemsFeedAllResponse<TContentItem> {
136
+ ): Responses.IListItemsFeedAllResponse<TContentItem, TClientTypes['contentItemType']> {
129
137
  if (this.canLinkItems()) {
130
138
  this.linkFeedItems(items, responses);
131
139
  }
@@ -139,7 +147,7 @@ export class ItemsFeedQuery<TContentItem extends IContentItem = IContentItem> ex
139
147
  private linkFeedItems(
140
148
  items: TContentItem[],
141
149
  responses: IDeliveryNetworkResponse<
142
- Responses.IListItemsFeedResponse<TContentItem>,
150
+ Responses.IListItemsFeedResponse<TContentItem, TClientTypes['contentItemType']>,
143
151
  Contracts.IItemsFeedContract
144
152
  >[]
145
153
  ): void {
@@ -148,7 +156,11 @@ export class ItemsFeedQuery<TContentItem extends IContentItem = IContentItem> ex
148
156
 
149
157
  // process linked items (modular_content part of the response)
150
158
  for (const response of responses) {
151
- allAvailableContentItems.push(...Object.values(response.data.linkedItems));
159
+ allAvailableContentItems.push(
160
+ ...Object.values(response.data.linkedItems)
161
+ .filter((m) => m !== undefined)
162
+ .map((m) => m as TClientTypes['contentItemType'])
163
+ );
152
164
  }
153
165
 
154
166
  // add standard items
@@ -1,17 +1,13 @@
1
1
  import { Contracts } from '../../contracts';
2
2
  import { IDeliveryClientConfig } from '../../config';
3
- import {
4
- IDeliveryNetworkResponse,
5
- ILanguagesQueryConfig,
6
- Parameters,
7
- Responses
8
- } from '../../models';
3
+ import { ClientTypes, IDeliveryNetworkResponse, ILanguagesQueryConfig, Parameters, Responses } from '../../models';
9
4
  import { QueryService } from '../../services';
10
5
  import { BaseListingQuery } from '../common/base-listing-query.class';
11
6
 
12
- export class LanguagesQuery extends BaseListingQuery<
13
- Responses.IListLanguagesResponse,
14
- Responses.IListLanguagesAllResponse,
7
+ export class LanguagesQuery<TClientTypes extends ClientTypes> extends BaseListingQuery<
8
+ TClientTypes,
9
+ Responses.IListLanguagesResponse<TClientTypes['languageCodenames']>,
10
+ Responses.IListLanguagesAllResponse<TClientTypes['languageCodenames']>,
15
11
  ILanguagesQueryConfig,
16
12
  Contracts.IListLanguagesContract
17
13
  > {
@@ -22,7 +18,7 @@ export class LanguagesQuery extends BaseListingQuery<
22
18
 
23
19
  protected _queryConfig: ILanguagesQueryConfig = {};
24
20
 
25
- constructor(protected config: IDeliveryClientConfig, protected queryService: QueryService) {
21
+ constructor(protected config: IDeliveryClientConfig, protected queryService: QueryService<TClientTypes>) {
26
22
  super(config, queryService);
27
23
  }
28
24
 
@@ -45,7 +41,10 @@ export class LanguagesQuery extends BaseListingQuery<
45
41
  }
46
42
 
47
43
  toPromise(): Promise<
48
- IDeliveryNetworkResponse<Responses.IListLanguagesResponse, Contracts.IListLanguagesContract>
44
+ IDeliveryNetworkResponse<
45
+ Responses.IListLanguagesResponse<TClientTypes['languageCodenames']>,
46
+ Contracts.IListLanguagesContract
47
+ >
49
48
  > {
50
49
  return this.queryService.getLanguages(this.getUrl(), this._queryConfig ?? {});
51
50
  }
@@ -65,14 +64,17 @@ export class LanguagesQuery extends BaseListingQuery<
65
64
  return this;
66
65
  }
67
66
 
68
- map(json: any): Responses.IListLanguagesResponse {
67
+ map(json: any): Responses.IListLanguagesResponse<TClientTypes['languageCodenames']> {
69
68
  return this.queryService.mappingService.listLanguagesResponse(json);
70
69
  }
71
70
 
72
71
  protected allResponseFactory(
73
72
  items: any[],
74
- responses: IDeliveryNetworkResponse<Responses.IListLanguagesResponse, Contracts.IListLanguagesContract>[]
75
- ): Responses.IListLanguagesAllResponse {
73
+ responses: IDeliveryNetworkResponse<
74
+ Responses.IListLanguagesResponse<TClientTypes['languageCodenames']>,
75
+ Contracts.IListLanguagesContract
76
+ >[]
77
+ ): Responses.IListLanguagesAllResponse<TClientTypes['languageCodenames']> {
76
78
  return {
77
79
  items: items,
78
80
  responses: responses
@@ -1,6 +1,7 @@
1
1
  import { Contracts } from '../../contracts';
2
2
  import { IDeliveryClientConfig } from '../../config';
3
3
  import {
4
+ ClientTypes,
4
5
  Filters,
5
6
  IDeliveryNetworkResponse,
6
7
  ILanguagesQueryConfig,
@@ -11,7 +12,8 @@ import {
11
12
  import { QueryService } from '../../services';
12
13
  import { BaseQuery } from '../common/base-query.class';
13
14
 
14
- export class InitializeSyncQuery extends BaseQuery<
15
+ export class InitializeSyncQuery<TClientTypes extends ClientTypes> extends BaseQuery<
16
+ TClientTypes,
15
17
  Responses.IInitializeSyncResponse,
16
18
  ISyncInitQueryConfig,
17
19
  Contracts.IInitializeSyncContract
@@ -20,7 +22,7 @@ export class InitializeSyncQuery extends BaseQuery<
20
22
 
21
23
  protected _queryConfig: ILanguagesQueryConfig = {};
22
24
 
23
- constructor(protected config: IDeliveryClientConfig, protected queryService: QueryService) {
25
+ constructor(protected config: IDeliveryClientConfig, protected queryService: QueryService<TClientTypes>) {
24
26
  super(config, queryService);
25
27
  }
26
28
 
@@ -1,10 +1,11 @@
1
1
  import { Contracts } from '../../contracts';
2
2
  import { IDeliveryClientConfig } from '../../config';
3
- import { IItemQueryConfig, IDeliveryNetworkResponse, Responses } from '../../models';
3
+ import { IItemQueryConfig, IDeliveryNetworkResponse, Responses, ClientTypes } from '../../models';
4
4
  import { QueryService } from '../../services';
5
5
  import { BaseListingQuery } from '../common/base-listing-query.class';
6
6
 
7
- export class SyncChangesQuery extends BaseListingQuery<
7
+ export class SyncChangesQuery<TClientTypes extends ClientTypes> extends BaseListingQuery<
8
+ TClientTypes,
8
9
  Responses.ISyncChangesResponse,
9
10
  Responses.ISyncChangesAllResponse,
10
11
  IItemQueryConfig,
@@ -14,7 +15,7 @@ export class SyncChangesQuery extends BaseListingQuery<
14
15
 
15
16
  private readonly action: string = '/sync';
16
17
 
17
- constructor(protected config: IDeliveryClientConfig, protected queryService: QueryService) {
18
+ constructor(protected config: IDeliveryClientConfig, protected queryService: QueryService<TClientTypes>) {
18
19
  super(config, queryService);
19
20
  }
20
21
 
@@ -1,17 +1,13 @@
1
1
  import { Contracts } from '../../contracts';
2
2
  import { IDeliveryClientConfig } from '../../config';
3
- import {
4
- IDeliveryNetworkResponse,
5
- ITaxonomyQueryConfig,
6
- Parameters,
7
- Responses
8
- } from '../../models';
3
+ import { ClientTypes, IDeliveryNetworkResponse, ITaxonomyQueryConfig, Parameters, Responses } from '../../models';
9
4
  import { QueryService } from '../../services';
10
5
  import { BaseListingQuery } from '../common/base-listing-query.class';
11
6
 
12
- export class TaxonomiesQuery extends BaseListingQuery<
13
- Responses.IListTaxonomiesResponse,
14
- Responses.IListTaxonomiesAllResponse,
7
+ export class TaxonomiesQuery<TClientTypes extends ClientTypes> extends BaseListingQuery<
8
+ TClientTypes,
9
+ Responses.IListTaxonomiesResponse<TClientTypes['taxonomyCodenames']>,
10
+ Responses.IListTaxonomiesAllResponse<TClientTypes['taxonomyCodenames']>,
15
11
  ITaxonomyQueryConfig,
16
12
  Contracts.IListTaxonomyGroupsContract
17
13
  > {
@@ -22,7 +18,7 @@ export class TaxonomiesQuery extends BaseListingQuery<
22
18
 
23
19
  protected _queryConfig: ITaxonomyQueryConfig = {};
24
20
 
25
- constructor(protected config: IDeliveryClientConfig, protected queryService: QueryService) {
21
+ constructor(protected config: IDeliveryClientConfig, protected queryService: QueryService<TClientTypes>) {
26
22
  super(config, queryService);
27
23
  }
28
24
 
@@ -46,7 +42,7 @@ export class TaxonomiesQuery extends BaseListingQuery<
46
42
 
47
43
  toPromise(): Promise<
48
44
  IDeliveryNetworkResponse<
49
- Responses.IListTaxonomiesResponse,
45
+ Responses.IListTaxonomiesResponse<TClientTypes['taxonomyCodenames']>,
50
46
  Contracts.IListTaxonomyGroupsContract
51
47
  >
52
48
  > {
@@ -59,17 +55,17 @@ export class TaxonomiesQuery extends BaseListingQuery<
59
55
  return super.resolveUrlInternal(action);
60
56
  }
61
57
 
62
- map(json: any): Responses.IListTaxonomiesResponse {
58
+ map(json: any): Responses.IListTaxonomiesResponse<TClientTypes['taxonomyCodenames']> {
63
59
  return this.queryService.mappingService.listTaxonomiesResponse(json);
64
60
  }
65
61
 
66
62
  protected allResponseFactory(
67
63
  items: any[],
68
64
  responses: IDeliveryNetworkResponse<
69
- Responses.IListTaxonomiesResponse,
65
+ Responses.IListTaxonomiesResponse<TClientTypes['taxonomyCodenames']>,
70
66
  Contracts.IListTaxonomyGroupsContract
71
67
  >[]
72
- ): Responses.IListTaxonomiesAllResponse {
68
+ ): Responses.IListTaxonomiesAllResponse<TClientTypes['taxonomyCodenames']> {
73
69
  return {
74
70
  items: items,
75
71
  responses: responses
@@ -1,11 +1,12 @@
1
1
  import { Contracts } from '../../contracts';
2
2
  import { IDeliveryClientConfig } from '../../config';
3
- import { IDeliveryNetworkResponse, ITaxonomyQueryConfig, Responses } from '../../models';
3
+ import { ClientTypes, IDeliveryNetworkResponse, ITaxonomyQueryConfig, Responses } from '../../models';
4
4
  import { QueryService } from '../../services';
5
5
  import { BaseQuery } from '../common/base-query.class';
6
6
 
7
- export class TaxonomyQuery extends BaseQuery<
8
- Responses.IViewTaxonomyResponse,
7
+ export class TaxonomyQuery<TClientTypes extends ClientTypes> extends BaseQuery<
8
+ TClientTypes,
9
+ Responses.IViewTaxonomyResponse<TClientTypes['taxonomyCodenames']>,
9
10
  ITaxonomyQueryConfig,
10
11
  Contracts.IViewTaxonomyGroupContract
11
12
  > {
@@ -18,7 +19,7 @@ export class TaxonomyQuery extends BaseQuery<
18
19
 
19
20
  constructor(
20
21
  protected config: IDeliveryClientConfig,
21
- protected queryService: QueryService,
22
+ protected queryService: QueryService<TClientTypes>,
22
23
  private taxonomyCodename: string
23
24
  ) {
24
25
  super(config, queryService);
@@ -29,7 +30,10 @@ export class TaxonomyQuery extends BaseQuery<
29
30
  }
30
31
 
31
32
  toPromise(): Promise<
32
- IDeliveryNetworkResponse<Responses.IViewTaxonomyResponse, Contracts.IViewTaxonomyGroupContract>
33
+ IDeliveryNetworkResponse<
34
+ Responses.IViewTaxonomyResponse<TClientTypes['taxonomyCodenames']>,
35
+ Contracts.IViewTaxonomyGroupContract
36
+ >
33
37
  > {
34
38
  return this.queryService.getTaxonomy(this.getUrl(), this._queryConfig ?? {});
35
39
  }
@@ -40,7 +44,7 @@ export class TaxonomyQuery extends BaseQuery<
40
44
  return super.resolveUrlInternal(action);
41
45
  }
42
46
 
43
- map(json: any): Responses.IViewTaxonomyResponse {
47
+ map(json: any): Responses.IViewTaxonomyResponse<TClientTypes['taxonomyCodenames']> {
44
48
  return this.queryService.mappingService.viewTaxonomyResponse(json);
45
49
  }
46
50
  }
@@ -1,18 +1,19 @@
1
1
  import { Contracts } from '../../contracts';
2
2
  import { IDeliveryClientConfig } from '../../config';
3
- import { IContentTypeQueryConfig, IDeliveryNetworkResponse, Parameters, Responses } from '../../models';
3
+ import { ClientTypes, IContentTypeQueryConfig, IDeliveryNetworkResponse, Parameters, Responses } from '../../models';
4
4
  import { QueryService } from '../../services';
5
5
  import { BaseListingQuery } from '../common/base-listing-query.class';
6
6
 
7
- export class MultipleTypeQuery extends BaseListingQuery<
8
- Responses.IListContentTypesResponse,
9
- Responses.IListContentTypesAllResponse,
7
+ export class MultipleTypeQuery<TClientTypes extends ClientTypes> extends BaseListingQuery<
8
+ TClientTypes,
9
+ Responses.IListContentTypesResponse<TClientTypes['contentTypeCodenames']>,
10
+ Responses.IListContentTypesAllResponse<TClientTypes['contentTypeCodenames']>,
10
11
  IContentTypeQueryConfig,
11
12
  Contracts.IListContentTypeContract
12
13
  > {
13
14
  protected _queryConfig: IContentTypeQueryConfig = {};
14
15
 
15
- constructor(protected config: IDeliveryClientConfig, protected queryService: QueryService) {
16
+ constructor(protected config: IDeliveryClientConfig, protected queryService: QueryService<TClientTypes>) {
16
17
  super(config, queryService);
17
18
  }
18
19
 
@@ -20,7 +21,7 @@ export class MultipleTypeQuery extends BaseListingQuery<
20
21
  * Used to limit the number of elements returned by query.
21
22
  * @param elementCodenames Array of element codenames to fetch
22
23
  */
23
- elementsParameter(elementCodenames: string[]): this {
24
+ elementsParameter(elementCodenames: TClientTypes['elementCodenames'][]): this {
24
25
  this.parameters.push(new Parameters.ElementsParameter(elementCodenames));
25
26
  return this;
26
27
  }
@@ -29,7 +30,7 @@ export class MultipleTypeQuery extends BaseListingQuery<
29
30
  * Used to exclude elements returned by query.
30
31
  * @param elementCodenames Array of element codenames to exclude
31
32
  */
32
- excludeElementsParameter(elementCodenames: string[]): this {
33
+ excludeElementsParameter(elementCodenames: TClientTypes['elementCodenames'][]): this {
33
34
  this.parameters.push(new Parameters.ExcludeElementsParameter(elementCodenames));
34
35
  return this;
35
36
  }
@@ -53,7 +54,10 @@ export class MultipleTypeQuery extends BaseListingQuery<
53
54
  }
54
55
 
55
56
  toPromise(): Promise<
56
- IDeliveryNetworkResponse<Responses.IListContentTypesResponse, Contracts.IListContentTypeContract>
57
+ IDeliveryNetworkResponse<
58
+ Responses.IListContentTypesResponse<TClientTypes['contentTypeCodenames']>,
59
+ Contracts.IListContentTypeContract
60
+ >
57
61
  > {
58
62
  return this.queryService.getMultipleTypes(this.getUrl(), this._queryConfig ?? {});
59
63
  }
@@ -64,14 +68,17 @@ export class MultipleTypeQuery extends BaseListingQuery<
64
68
  return super.resolveUrlInternal(action);
65
69
  }
66
70
 
67
- map(json: any): Responses.IListContentTypesResponse {
71
+ map(json: any): Responses.IListContentTypesResponse<TClientTypes['contentTypeCodenames']> {
68
72
  return this.queryService.mappingService.listContentTypesResponse(json);
69
73
  }
70
74
 
71
75
  protected allResponseFactory(
72
76
  items: any[],
73
- responses: IDeliveryNetworkResponse<Responses.IListContentTypesResponse, Contracts.IListContentTypeContract>[]
74
- ): Responses.IListContentTypesAllResponse {
77
+ responses: IDeliveryNetworkResponse<
78
+ Responses.IListContentTypesResponse<TClientTypes['contentTypeCodenames']>,
79
+ Contracts.IListContentTypeContract
80
+ >[]
81
+ ): Responses.IListContentTypesAllResponse<TClientTypes['contentTypeCodenames']> {
75
82
  return {
76
83
  items: items,
77
84
  responses: responses
@@ -1,11 +1,12 @@
1
1
  import { Contracts } from '../../contracts';
2
2
  import { IDeliveryClientConfig } from '../../config';
3
- import { IContentTypeQueryConfig, IDeliveryNetworkResponse, Responses } from '../../models';
3
+ import { ClientTypes, IContentTypeQueryConfig, IDeliveryNetworkResponse, Responses } from '../../models';
4
4
  import { QueryService } from '../../services';
5
5
  import { BaseQuery } from '../common/base-query.class';
6
6
 
7
- export class SingleTypeQuery extends BaseQuery<
8
- Responses.IViewContentTypeResponse,
7
+ export class SingleTypeQuery<TClientTypes extends ClientTypes> extends BaseQuery<
8
+ TClientTypes,
9
+ Responses.IViewContentTypeResponse<TClientTypes['contentTypeCodenames']>,
9
10
  IContentTypeQueryConfig,
10
11
  Contracts.IViewContentTypeContract
11
12
  > {
@@ -13,7 +14,7 @@ export class SingleTypeQuery extends BaseQuery<
13
14
 
14
15
  constructor(
15
16
  protected config: IDeliveryClientConfig,
16
- protected queryService: QueryService,
17
+ protected queryService: QueryService<TClientTypes>,
17
18
  private typeCodename: string
18
19
  ) {
19
20
  super(config, queryService);
@@ -24,7 +25,10 @@ export class SingleTypeQuery extends BaseQuery<
24
25
  }
25
26
 
26
27
  toPromise(): Promise<
27
- IDeliveryNetworkResponse<Responses.IViewContentTypeResponse, Contracts.IViewContentTypeContract>
28
+ IDeliveryNetworkResponse<
29
+ Responses.IViewContentTypeResponse<TClientTypes['contentTypeCodenames']>,
30
+ Contracts.IViewContentTypeContract
31
+ >
28
32
  > {
29
33
  return this.queryService.getSingleType(this.getUrl(), this._queryConfig ?? {});
30
34
  }
@@ -35,7 +39,7 @@ export class SingleTypeQuery extends BaseQuery<
35
39
  return super.resolveUrlInternal(action);
36
40
  }
37
41
 
38
- map(json: any): Responses.IViewContentTypeResponse {
42
+ map(json: any): Responses.IViewContentTypeResponse<TClientTypes['contentTypeCodenames']> {
39
43
  return this.queryService.mappingService.viewContentTypeResponse(json);
40
44
  }
41
45
  }
@@ -2,6 +2,6 @@
2
2
  import { ISDKInfo } from '@kontent-ai/core-sdk';
3
3
  export const sdkInfo: ISDKInfo = {
4
4
  host: 'npmjs.com',
5
- version: '15.1.1',
5
+ version: '16.0.0-0',
6
6
  name: '@kontent-ai/delivery-sdk'
7
7
  };
@@ -9,13 +9,14 @@ import {
9
9
  sdkVersionHeader,
10
10
  staleContentHeaderName,
11
11
  continuationTokenHeaderName,
12
- IDeliveryNetworkResponse
12
+ IDeliveryNetworkResponse,
13
+ ClientTypes
13
14
  } from '../models';
14
15
 
15
16
  import { IDeliveryClientConfig } from '../config';
16
17
  import { IMappingService } from './mapping.service';
17
18
 
18
- export abstract class BaseDeliveryQueryService {
19
+ export abstract class BaseDeliveryQueryService<TClientTypes extends ClientTypes> {
19
20
  /**
20
21
  * Default base Url to Kontent.ai Delivery API
21
22
  */
@@ -42,7 +43,7 @@ export abstract class BaseDeliveryQueryService {
42
43
  /**
43
44
  * Mapping service
44
45
  */
45
- public readonly mappingService: IMappingService
46
+ public readonly mappingService: IMappingService<TClientTypes>
46
47
  ) {}
47
48
 
48
49
  /**