@kontent-ai/delivery-sdk 12.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 (802) hide show
  1. package/.npmignore +15 -0
  2. package/LICENSE.md +9 -0
  3. package/dist/bundles/kontent-delivery.umd.js +10439 -0
  4. package/dist/bundles/kontent-delivery.umd.js.map +1 -0
  5. package/dist/bundles/kontent-delivery.umd.min.js +2 -0
  6. package/dist/bundles/kontent-delivery.umd.min.js.map +1 -0
  7. package/dist/bundles/report.json +1 -0
  8. package/dist/bundles/report.min.json +1 -0
  9. package/dist/bundles/stats.json +34913 -0
  10. package/dist/bundles/stats.min.json +39693 -0
  11. package/dist/cjs/client/delivery-client.d.ts +57 -0
  12. package/dist/cjs/client/delivery-client.factory.d.ts +3 -0
  13. package/dist/cjs/client/delivery-client.factory.js +9 -0
  14. package/dist/cjs/client/delivery-client.factory.js.map +1 -0
  15. package/dist/cjs/client/delivery-client.js +87 -0
  16. package/dist/cjs/client/delivery-client.js.map +1 -0
  17. package/dist/cjs/client/idelivery-client.interface.d.ts +48 -0
  18. package/dist/cjs/client/idelivery-client.interface.js +3 -0
  19. package/dist/cjs/client/idelivery-client.interface.js.map +1 -0
  20. package/dist/cjs/client/index.d.ts +3 -0
  21. package/dist/cjs/client/index.js +20 -0
  22. package/dist/cjs/client/index.js.map +1 -0
  23. package/dist/cjs/config/delivery-configs.d.ts +80 -0
  24. package/dist/cjs/config/delivery-configs.js +3 -0
  25. package/dist/cjs/config/delivery-configs.js.map +1 -0
  26. package/dist/cjs/config/index.d.ts +1 -0
  27. package/dist/cjs/config/index.js +18 -0
  28. package/dist/cjs/config/index.js.map +1 -0
  29. package/dist/cjs/contracts/contracts.d.ts +189 -0
  30. package/dist/cjs/contracts/contracts.js +3 -0
  31. package/dist/cjs/contracts/contracts.js.map +1 -0
  32. package/dist/cjs/contracts/index.d.ts +1 -0
  33. package/dist/cjs/contracts/index.js +18 -0
  34. package/dist/cjs/contracts/index.js.map +1 -0
  35. package/dist/cjs/elements/element-models.d.ts +81 -0
  36. package/dist/cjs/elements/element-models.js +3 -0
  37. package/dist/cjs/elements/element-models.js.map +1 -0
  38. package/dist/cjs/elements/element-resolver.d.ts +2 -0
  39. package/dist/cjs/elements/element-resolver.js +3 -0
  40. package/dist/cjs/elements/element-resolver.js.map +1 -0
  41. package/dist/cjs/elements/element-type.d.ts +16 -0
  42. package/dist/cjs/elements/element-type.js +21 -0
  43. package/dist/cjs/elements/element-type.js.map +1 -0
  44. package/dist/cjs/elements/elements.d.ts +44 -0
  45. package/dist/cjs/elements/elements.js +3 -0
  46. package/dist/cjs/elements/elements.js.map +1 -0
  47. package/dist/cjs/elements/index.d.ts +4 -0
  48. package/dist/cjs/elements/index.js +21 -0
  49. package/dist/cjs/elements/index.js.map +1 -0
  50. package/dist/cjs/images/image-url-transformation-builder.d.ts +85 -0
  51. package/dist/cjs/images/image-url-transformation-builder.factory.d.ts +2 -0
  52. package/dist/cjs/images/image-url-transformation-builder.factory.js +9 -0
  53. package/dist/cjs/images/image-url-transformation-builder.factory.js.map +1 -0
  54. package/dist/cjs/images/image-url-transformation-builder.js +144 -0
  55. package/dist/cjs/images/image-url-transformation-builder.js.map +1 -0
  56. package/dist/cjs/images/image.models.d.ts +3 -0
  57. package/dist/cjs/images/image.models.js +3 -0
  58. package/dist/cjs/images/image.models.js.map +1 -0
  59. package/dist/cjs/images/index.d.ts +3 -0
  60. package/dist/cjs/images/index.js +20 -0
  61. package/dist/cjs/images/index.js.map +1 -0
  62. package/dist/cjs/index.d.ts +13 -0
  63. package/dist/cjs/index.js +31 -0
  64. package/dist/cjs/index.js.map +1 -0
  65. package/dist/cjs/mappers/element.mapper.d.ts +31 -0
  66. package/dist/cjs/mappers/element.mapper.js +341 -0
  67. package/dist/cjs/mappers/element.mapper.js.map +1 -0
  68. package/dist/cjs/mappers/generic-element.mapper.d.ts +5 -0
  69. package/dist/cjs/mappers/generic-element.mapper.js +19 -0
  70. package/dist/cjs/mappers/generic-element.mapper.js.map +1 -0
  71. package/dist/cjs/mappers/index.d.ts +6 -0
  72. package/dist/cjs/mappers/index.js +23 -0
  73. package/dist/cjs/mappers/index.js.map +1 -0
  74. package/dist/cjs/mappers/item.mapper.d.ts +46 -0
  75. package/dist/cjs/mappers/item.mapper.js +122 -0
  76. package/dist/cjs/mappers/item.mapper.js.map +1 -0
  77. package/dist/cjs/mappers/language.mapper.d.ts +6 -0
  78. package/dist/cjs/mappers/language.mapper.js +20 -0
  79. package/dist/cjs/mappers/language.mapper.js.map +1 -0
  80. package/dist/cjs/mappers/taxonomy.mapper.d.ts +11 -0
  81. package/dist/cjs/mappers/taxonomy.mapper.js +61 -0
  82. package/dist/cjs/mappers/taxonomy.mapper.js.map +1 -0
  83. package/dist/cjs/mappers/type.mapper.d.ts +7 -0
  84. package/dist/cjs/mappers/type.mapper.js +67 -0
  85. package/dist/cjs/mappers/type.mapper.js.map +1 -0
  86. package/dist/cjs/models/common/base-responses.d.ts +11 -0
  87. package/dist/cjs/models/common/base-responses.js +3 -0
  88. package/dist/cjs/models/common/base-responses.js.map +1 -0
  89. package/dist/cjs/models/common/common-models.d.ts +97 -0
  90. package/dist/cjs/models/common/common-models.js +13 -0
  91. package/dist/cjs/models/common/common-models.js.map +1 -0
  92. package/dist/cjs/models/common/filters.d.ts +108 -0
  93. package/dist/cjs/models/common/filters.js +280 -0
  94. package/dist/cjs/models/common/filters.js.map +1 -0
  95. package/dist/cjs/models/common/headers.d.ts +4 -0
  96. package/dist/cjs/models/common/headers.js +8 -0
  97. package/dist/cjs/models/common/headers.js.map +1 -0
  98. package/dist/cjs/models/common/index.d.ts +7 -0
  99. package/dist/cjs/models/common/index.js +24 -0
  100. package/dist/cjs/models/common/index.js.map +1 -0
  101. package/dist/cjs/models/common/pagination.class.d.ts +7 -0
  102. package/dist/cjs/models/common/pagination.class.js +3 -0
  103. package/dist/cjs/models/common/pagination.class.js.map +1 -0
  104. package/dist/cjs/models/common/parameters.d.ts +95 -0
  105. package/dist/cjs/models/common/parameters.js +166 -0
  106. package/dist/cjs/models/common/parameters.js.map +1 -0
  107. package/dist/cjs/models/common/sort-order.d.ts +1 -0
  108. package/dist/cjs/models/common/sort-order.js +3 -0
  109. package/dist/cjs/models/common/sort-order.js.map +1 -0
  110. package/dist/cjs/models/content-type-models.d.ts +32 -0
  111. package/dist/cjs/models/content-type-models.js +3 -0
  112. package/dist/cjs/models/content-type-models.js.map +1 -0
  113. package/dist/cjs/models/element-models.d.ts +39 -0
  114. package/dist/cjs/models/element-models.js +3 -0
  115. package/dist/cjs/models/element-models.js.map +1 -0
  116. package/dist/cjs/models/index.d.ts +7 -0
  117. package/dist/cjs/models/index.js +24 -0
  118. package/dist/cjs/models/index.js.map +1 -0
  119. package/dist/cjs/models/item-models.d.ts +106 -0
  120. package/dist/cjs/models/item-models.js +3 -0
  121. package/dist/cjs/models/item-models.js.map +1 -0
  122. package/dist/cjs/models/language-models.d.ts +11 -0
  123. package/dist/cjs/models/language-models.js +3 -0
  124. package/dist/cjs/models/language-models.js.map +1 -0
  125. package/dist/cjs/models/responses.d.ts +71 -0
  126. package/dist/cjs/models/responses.js +3 -0
  127. package/dist/cjs/models/responses.js.map +1 -0
  128. package/dist/cjs/models/taxonomy-models.d.ts +18 -0
  129. package/dist/cjs/models/taxonomy-models.js +3 -0
  130. package/dist/cjs/models/taxonomy-models.js.map +1 -0
  131. package/dist/cjs/parser/implementation/async-browser-parser.class.d.ts +10 -0
  132. package/dist/cjs/parser/implementation/async-browser-parser.class.js +141 -0
  133. package/dist/cjs/parser/implementation/async-browser-parser.class.js.map +1 -0
  134. package/dist/cjs/parser/implementation/browser-parser.class.d.ts +10 -0
  135. package/dist/cjs/parser/implementation/browser-parser.class.js +125 -0
  136. package/dist/cjs/parser/implementation/browser-parser.class.js.map +1 -0
  137. package/dist/cjs/parser/index.d.ts +5 -0
  138. package/dist/cjs/parser/index.js +22 -0
  139. package/dist/cjs/parser/index.js.map +1 -0
  140. package/dist/cjs/parser/parse-models.d.ts +67 -0
  141. package/dist/cjs/parser/parse-models.js +17 -0
  142. package/dist/cjs/parser/parse-models.js.map +1 -0
  143. package/dist/cjs/parser/parser-configuration.d.ts +21 -0
  144. package/dist/cjs/parser/parser-configuration.js +25 -0
  145. package/dist/cjs/parser/parser-configuration.js.map +1 -0
  146. package/dist/cjs/parser/parser.helper.d.ts +11 -0
  147. package/dist/cjs/parser/parser.helper.js +91 -0
  148. package/dist/cjs/parser/parser.helper.js.map +1 -0
  149. package/dist/cjs/query/common/base-listing-query.class.d.ts +125 -0
  150. package/dist/cjs/query/common/base-listing-query.class.js +221 -0
  151. package/dist/cjs/query/common/base-listing-query.class.js.map +1 -0
  152. package/dist/cjs/query/common/base-query.class.d.ts +68 -0
  153. package/dist/cjs/query/common/base-query.class.js +105 -0
  154. package/dist/cjs/query/common/base-query.class.js.map +1 -0
  155. package/dist/cjs/query/element/element-query.class.d.ts +16 -0
  156. package/dist/cjs/query/element/element-query.class.js +33 -0
  157. package/dist/cjs/query/element/element-query.class.js.map +1 -0
  158. package/dist/cjs/query/index.d.ts +10 -0
  159. package/dist/cjs/query/index.js +27 -0
  160. package/dist/cjs/query/index.js.map +1 -0
  161. package/dist/cjs/query/item/multiple-items-query.class.d.ts +58 -0
  162. package/dist/cjs/query/item/multiple-items-query.class.js +101 -0
  163. package/dist/cjs/query/item/multiple-items-query.class.js.map +1 -0
  164. package/dist/cjs/query/item/single-item-query.class.d.ts +35 -0
  165. package/dist/cjs/query/item/single-item-query.class.js +64 -0
  166. package/dist/cjs/query/item/single-item-query.class.js.map +1 -0
  167. package/dist/cjs/query/items-feed/items-feed-query.class.d.ts +52 -0
  168. package/dist/cjs/query/items-feed/items-feed-query.class.js +92 -0
  169. package/dist/cjs/query/items-feed/items-feed-query.class.js.map +1 -0
  170. package/dist/cjs/query/language/languages-query.class.d.ts +38 -0
  171. package/dist/cjs/query/language/languages-query.class.js +72 -0
  172. package/dist/cjs/query/language/languages-query.class.js.map +1 -0
  173. package/dist/cjs/query/taxonomy/taxonomies-query.class.d.ts +33 -0
  174. package/dist/cjs/query/taxonomy/taxonomies-query.class.js +64 -0
  175. package/dist/cjs/query/taxonomy/taxonomies-query.class.js.map +1 -0
  176. package/dist/cjs/query/taxonomy/taxonomy-query.class.d.ts +19 -0
  177. package/dist/cjs/query/taxonomy/taxonomy-query.class.js +33 -0
  178. package/dist/cjs/query/taxonomy/taxonomy-query.class.js.map +1 -0
  179. package/dist/cjs/query/type/multiple-type-query.class.d.ts +15 -0
  180. package/dist/cjs/query/type/multiple-type-query.class.js +31 -0
  181. package/dist/cjs/query/type/multiple-type-query.class.js.map +1 -0
  182. package/dist/cjs/query/type/single-type-query.class.d.ts +15 -0
  183. package/dist/cjs/query/type/single-type-query.class.js +29 -0
  184. package/dist/cjs/query/type/single-type-query.class.js.map +1 -0
  185. package/dist/cjs/resolvers/index.d.ts +8 -0
  186. package/dist/cjs/resolvers/index.js +25 -0
  187. package/dist/cjs/resolvers/index.js.map +1 -0
  188. package/dist/cjs/resolvers/property-name/camel-case-property-name-resolver.class.d.ts +2 -0
  189. package/dist/cjs/resolvers/property-name/camel-case-property-name-resolver.class.js +13 -0
  190. package/dist/cjs/resolvers/property-name/camel-case-property-name-resolver.class.js.map +1 -0
  191. package/dist/cjs/resolvers/property-name/pascal-case-property-name-resolver.class.d.ts +2 -0
  192. package/dist/cjs/resolvers/property-name/pascal-case-property-name-resolver.class.js +13 -0
  193. package/dist/cjs/resolvers/property-name/pascal-case-property-name-resolver.class.js.map +1 -0
  194. package/dist/cjs/resolvers/property-name/snake-case-property-name-resolver.class.d.ts +2 -0
  195. package/dist/cjs/resolvers/property-name/snake-case-property-name-resolver.class.js +27 -0
  196. package/dist/cjs/resolvers/property-name/snake-case-property-name-resolver.class.js.map +1 -0
  197. package/dist/cjs/resolvers/rich-text/async/async-rich-text-html-resolver.d.ts +9 -0
  198. package/dist/cjs/resolvers/rich-text/async/async-rich-text-html-resolver.js +96 -0
  199. package/dist/cjs/resolvers/rich-text/async/async-rich-text-html-resolver.js.map +1 -0
  200. package/dist/cjs/resolvers/rich-text/base/base-async-rich-text-resolver.d.ts +9 -0
  201. package/dist/cjs/resolvers/rich-text/base/base-async-rich-text-resolver.js +17 -0
  202. package/dist/cjs/resolvers/rich-text/base/base-async-rich-text-resolver.js.map +1 -0
  203. package/dist/cjs/resolvers/rich-text/base/base-rich-text-resolver.d.ts +9 -0
  204. package/dist/cjs/resolvers/rich-text/base/base-rich-text-resolver.js +17 -0
  205. package/dist/cjs/resolvers/rich-text/base/base-rich-text-resolver.js.map +1 -0
  206. package/dist/cjs/resolvers/rich-text/rich-text-resolver.models.d.ts +91 -0
  207. package/dist/cjs/resolvers/rich-text/rich-text-resolver.models.js +3 -0
  208. package/dist/cjs/resolvers/rich-text/rich-text-resolver.models.js.map +1 -0
  209. package/dist/cjs/resolvers/rich-text/sync/rich-text-html-resolver.d.ts +9 -0
  210. package/dist/cjs/resolvers/rich-text/sync/rich-text-html-resolver.js +78 -0
  211. package/dist/cjs/resolvers/rich-text/sync/rich-text-html-resolver.js.map +1 -0
  212. package/dist/cjs/resolvers/rich-text/sync/rich-text-json-resolver.d.ts +8 -0
  213. package/dist/cjs/resolvers/rich-text/sync/rich-text-json-resolver.js +21 -0
  214. package/dist/cjs/resolvers/rich-text/sync/rich-text-json-resolver.js.map +1 -0
  215. package/dist/cjs/resolvers/rich-text/sync/rich-text-object-resolver.d.ts +16 -0
  216. package/dist/cjs/resolvers/rich-text/sync/rich-text-object-resolver.js +150 -0
  217. package/dist/cjs/resolvers/rich-text/sync/rich-text-object-resolver.js.map +1 -0
  218. package/dist/cjs/sdk-info.generated.d.ts +2 -0
  219. package/dist/cjs/sdk-info.generated.js +9 -0
  220. package/dist/cjs/sdk-info.generated.js.map +1 -0
  221. package/dist/cjs/services/base-delivery-query.service.d.ts +102 -0
  222. package/dist/cjs/services/base-delivery-query.service.js +282 -0
  223. package/dist/cjs/services/base-delivery-query.service.js.map +1 -0
  224. package/dist/cjs/services/delivery-query.service.d.ts +72 -0
  225. package/dist/cjs/services/delivery-query.service.js +171 -0
  226. package/dist/cjs/services/delivery-query.service.js.map +1 -0
  227. package/dist/cjs/services/index.d.ts +2 -0
  228. package/dist/cjs/services/index.js +19 -0
  229. package/dist/cjs/services/index.js.map +1 -0
  230. package/dist/cjs/services/mapping.service.d.ts +68 -0
  231. package/dist/cjs/services/mapping.service.js +119 -0
  232. package/dist/cjs/services/mapping.service.js.map +1 -0
  233. package/dist/cjs/utilities/delivery-url.helper.d.ts +5 -0
  234. package/dist/cjs/utilities/delivery-url.helper.js +17 -0
  235. package/dist/cjs/utilities/delivery-url.helper.js.map +1 -0
  236. package/dist/cjs/utilities/guid.helper.d.ts +4 -0
  237. package/dist/cjs/utilities/guid.helper.js +12 -0
  238. package/dist/cjs/utilities/guid.helper.js.map +1 -0
  239. package/dist/cjs/utilities/index.d.ts +4 -0
  240. package/dist/cjs/utilities/index.js +21 -0
  241. package/dist/cjs/utilities/index.js.map +1 -0
  242. package/dist/cjs/utilities/linked-items.helper.d.ts +5 -0
  243. package/dist/cjs/utilities/linked-items.helper.js +15 -0
  244. package/dist/cjs/utilities/linked-items.helper.js.map +1 -0
  245. package/dist/cjs/utilities/text-helper.d.ts +7 -0
  246. package/dist/cjs/utilities/text-helper.js +26 -0
  247. package/dist/cjs/utilities/text-helper.js.map +1 -0
  248. package/dist/es6/client/delivery-client.d.ts +57 -0
  249. package/dist/es6/client/delivery-client.factory.d.ts +3 -0
  250. package/dist/es6/client/delivery-client.factory.js +5 -0
  251. package/dist/es6/client/delivery-client.factory.js.map +1 -0
  252. package/dist/es6/client/delivery-client.js +83 -0
  253. package/dist/es6/client/delivery-client.js.map +1 -0
  254. package/dist/es6/client/idelivery-client.interface.d.ts +48 -0
  255. package/dist/es6/client/idelivery-client.interface.js +2 -0
  256. package/dist/es6/client/idelivery-client.interface.js.map +1 -0
  257. package/dist/es6/client/index.d.ts +3 -0
  258. package/dist/es6/client/index.js +4 -0
  259. package/dist/es6/client/index.js.map +1 -0
  260. package/dist/es6/config/delivery-configs.d.ts +80 -0
  261. package/dist/es6/config/delivery-configs.js +2 -0
  262. package/dist/es6/config/delivery-configs.js.map +1 -0
  263. package/dist/es6/config/index.d.ts +1 -0
  264. package/dist/es6/config/index.js +2 -0
  265. package/dist/es6/config/index.js.map +1 -0
  266. package/dist/es6/contracts/contracts.d.ts +189 -0
  267. package/dist/es6/contracts/contracts.js +2 -0
  268. package/dist/es6/contracts/contracts.js.map +1 -0
  269. package/dist/es6/contracts/index.d.ts +1 -0
  270. package/dist/es6/contracts/index.js +2 -0
  271. package/dist/es6/contracts/index.js.map +1 -0
  272. package/dist/es6/elements/element-models.d.ts +81 -0
  273. package/dist/es6/elements/element-models.js +2 -0
  274. package/dist/es6/elements/element-models.js.map +1 -0
  275. package/dist/es6/elements/element-resolver.d.ts +2 -0
  276. package/dist/es6/elements/element-resolver.js +2 -0
  277. package/dist/es6/elements/element-resolver.js.map +1 -0
  278. package/dist/es6/elements/element-type.d.ts +16 -0
  279. package/dist/es6/elements/element-type.js +18 -0
  280. package/dist/es6/elements/element-type.js.map +1 -0
  281. package/dist/es6/elements/elements.d.ts +44 -0
  282. package/dist/es6/elements/elements.js +2 -0
  283. package/dist/es6/elements/elements.js.map +1 -0
  284. package/dist/es6/elements/index.d.ts +4 -0
  285. package/dist/es6/elements/index.js +5 -0
  286. package/dist/es6/elements/index.js.map +1 -0
  287. package/dist/es6/images/image-url-transformation-builder.d.ts +85 -0
  288. package/dist/es6/images/image-url-transformation-builder.factory.d.ts +2 -0
  289. package/dist/es6/images/image-url-transformation-builder.factory.js +5 -0
  290. package/dist/es6/images/image-url-transformation-builder.factory.js.map +1 -0
  291. package/dist/es6/images/image-url-transformation-builder.js +140 -0
  292. package/dist/es6/images/image-url-transformation-builder.js.map +1 -0
  293. package/dist/es6/images/image.models.d.ts +3 -0
  294. package/dist/es6/images/image.models.js +2 -0
  295. package/dist/es6/images/image.models.js.map +1 -0
  296. package/dist/es6/images/index.d.ts +3 -0
  297. package/dist/es6/images/index.js +4 -0
  298. package/dist/es6/images/index.js.map +1 -0
  299. package/dist/es6/index.d.ts +13 -0
  300. package/dist/es6/index.js +15 -0
  301. package/dist/es6/index.js.map +1 -0
  302. package/dist/es6/mappers/element.mapper.d.ts +31 -0
  303. package/dist/es6/mappers/element.mapper.js +337 -0
  304. package/dist/es6/mappers/element.mapper.js.map +1 -0
  305. package/dist/es6/mappers/generic-element.mapper.d.ts +5 -0
  306. package/dist/es6/mappers/generic-element.mapper.js +15 -0
  307. package/dist/es6/mappers/generic-element.mapper.js.map +1 -0
  308. package/dist/es6/mappers/index.d.ts +6 -0
  309. package/dist/es6/mappers/index.js +7 -0
  310. package/dist/es6/mappers/index.js.map +1 -0
  311. package/dist/es6/mappers/item.mapper.d.ts +46 -0
  312. package/dist/es6/mappers/item.mapper.js +118 -0
  313. package/dist/es6/mappers/item.mapper.js.map +1 -0
  314. package/dist/es6/mappers/language.mapper.d.ts +6 -0
  315. package/dist/es6/mappers/language.mapper.js +16 -0
  316. package/dist/es6/mappers/language.mapper.js.map +1 -0
  317. package/dist/es6/mappers/taxonomy.mapper.d.ts +11 -0
  318. package/dist/es6/mappers/taxonomy.mapper.js +57 -0
  319. package/dist/es6/mappers/taxonomy.mapper.js.map +1 -0
  320. package/dist/es6/mappers/type.mapper.d.ts +7 -0
  321. package/dist/es6/mappers/type.mapper.js +63 -0
  322. package/dist/es6/mappers/type.mapper.js.map +1 -0
  323. package/dist/es6/models/common/base-responses.d.ts +11 -0
  324. package/dist/es6/models/common/base-responses.js +2 -0
  325. package/dist/es6/models/common/base-responses.js.map +1 -0
  326. package/dist/es6/models/common/common-models.d.ts +97 -0
  327. package/dist/es6/models/common/common-models.js +9 -0
  328. package/dist/es6/models/common/common-models.js.map +1 -0
  329. package/dist/es6/models/common/filters.d.ts +108 -0
  330. package/dist/es6/models/common/filters.js +277 -0
  331. package/dist/es6/models/common/filters.js.map +1 -0
  332. package/dist/es6/models/common/headers.d.ts +4 -0
  333. package/dist/es6/models/common/headers.js +5 -0
  334. package/dist/es6/models/common/headers.js.map +1 -0
  335. package/dist/es6/models/common/index.d.ts +7 -0
  336. package/dist/es6/models/common/index.js +8 -0
  337. package/dist/es6/models/common/index.js.map +1 -0
  338. package/dist/es6/models/common/pagination.class.d.ts +7 -0
  339. package/dist/es6/models/common/pagination.class.js +2 -0
  340. package/dist/es6/models/common/pagination.class.js.map +1 -0
  341. package/dist/es6/models/common/parameters.d.ts +95 -0
  342. package/dist/es6/models/common/parameters.js +163 -0
  343. package/dist/es6/models/common/parameters.js.map +1 -0
  344. package/dist/es6/models/common/sort-order.d.ts +1 -0
  345. package/dist/es6/models/common/sort-order.js +2 -0
  346. package/dist/es6/models/common/sort-order.js.map +1 -0
  347. package/dist/es6/models/content-type-models.d.ts +32 -0
  348. package/dist/es6/models/content-type-models.js +2 -0
  349. package/dist/es6/models/content-type-models.js.map +1 -0
  350. package/dist/es6/models/element-models.d.ts +39 -0
  351. package/dist/es6/models/element-models.js +2 -0
  352. package/dist/es6/models/element-models.js.map +1 -0
  353. package/dist/es6/models/index.d.ts +7 -0
  354. package/dist/es6/models/index.js +8 -0
  355. package/dist/es6/models/index.js.map +1 -0
  356. package/dist/es6/models/item-models.d.ts +106 -0
  357. package/dist/es6/models/item-models.js +2 -0
  358. package/dist/es6/models/item-models.js.map +1 -0
  359. package/dist/es6/models/language-models.d.ts +11 -0
  360. package/dist/es6/models/language-models.js +2 -0
  361. package/dist/es6/models/language-models.js.map +1 -0
  362. package/dist/es6/models/responses.d.ts +71 -0
  363. package/dist/es6/models/responses.js +2 -0
  364. package/dist/es6/models/responses.js.map +1 -0
  365. package/dist/es6/models/taxonomy-models.d.ts +18 -0
  366. package/dist/es6/models/taxonomy-models.js +2 -0
  367. package/dist/es6/models/taxonomy-models.js.map +1 -0
  368. package/dist/es6/parser/implementation/async-browser-parser.class.d.ts +10 -0
  369. package/dist/es6/parser/implementation/async-browser-parser.class.js +137 -0
  370. package/dist/es6/parser/implementation/async-browser-parser.class.js.map +1 -0
  371. package/dist/es6/parser/implementation/browser-parser.class.d.ts +10 -0
  372. package/dist/es6/parser/implementation/browser-parser.class.js +121 -0
  373. package/dist/es6/parser/implementation/browser-parser.class.js.map +1 -0
  374. package/dist/es6/parser/index.d.ts +5 -0
  375. package/dist/es6/parser/index.js +6 -0
  376. package/dist/es6/parser/index.js.map +1 -0
  377. package/dist/es6/parser/parse-models.d.ts +67 -0
  378. package/dist/es6/parser/parse-models.js +13 -0
  379. package/dist/es6/parser/parse-models.js.map +1 -0
  380. package/dist/es6/parser/parser-configuration.d.ts +21 -0
  381. package/dist/es6/parser/parser-configuration.js +22 -0
  382. package/dist/es6/parser/parser-configuration.js.map +1 -0
  383. package/dist/es6/parser/parser.helper.d.ts +11 -0
  384. package/dist/es6/parser/parser.helper.js +87 -0
  385. package/dist/es6/parser/parser.helper.js.map +1 -0
  386. package/dist/es6/query/common/base-listing-query.class.d.ts +125 -0
  387. package/dist/es6/query/common/base-listing-query.class.js +217 -0
  388. package/dist/es6/query/common/base-listing-query.class.js.map +1 -0
  389. package/dist/es6/query/common/base-query.class.d.ts +68 -0
  390. package/dist/es6/query/common/base-query.class.js +101 -0
  391. package/dist/es6/query/common/base-query.class.js.map +1 -0
  392. package/dist/es6/query/element/element-query.class.d.ts +16 -0
  393. package/dist/es6/query/element/element-query.class.js +29 -0
  394. package/dist/es6/query/element/element-query.class.js.map +1 -0
  395. package/dist/es6/query/index.d.ts +10 -0
  396. package/dist/es6/query/index.js +11 -0
  397. package/dist/es6/query/index.js.map +1 -0
  398. package/dist/es6/query/item/multiple-items-query.class.d.ts +58 -0
  399. package/dist/es6/query/item/multiple-items-query.class.js +97 -0
  400. package/dist/es6/query/item/multiple-items-query.class.js.map +1 -0
  401. package/dist/es6/query/item/single-item-query.class.d.ts +35 -0
  402. package/dist/es6/query/item/single-item-query.class.js +60 -0
  403. package/dist/es6/query/item/single-item-query.class.js.map +1 -0
  404. package/dist/es6/query/items-feed/items-feed-query.class.d.ts +52 -0
  405. package/dist/es6/query/items-feed/items-feed-query.class.js +88 -0
  406. package/dist/es6/query/items-feed/items-feed-query.class.js.map +1 -0
  407. package/dist/es6/query/language/languages-query.class.d.ts +38 -0
  408. package/dist/es6/query/language/languages-query.class.js +68 -0
  409. package/dist/es6/query/language/languages-query.class.js.map +1 -0
  410. package/dist/es6/query/taxonomy/taxonomies-query.class.d.ts +33 -0
  411. package/dist/es6/query/taxonomy/taxonomies-query.class.js +60 -0
  412. package/dist/es6/query/taxonomy/taxonomies-query.class.js.map +1 -0
  413. package/dist/es6/query/taxonomy/taxonomy-query.class.d.ts +19 -0
  414. package/dist/es6/query/taxonomy/taxonomy-query.class.js +29 -0
  415. package/dist/es6/query/taxonomy/taxonomy-query.class.js.map +1 -0
  416. package/dist/es6/query/type/multiple-type-query.class.d.ts +15 -0
  417. package/dist/es6/query/type/multiple-type-query.class.js +27 -0
  418. package/dist/es6/query/type/multiple-type-query.class.js.map +1 -0
  419. package/dist/es6/query/type/single-type-query.class.d.ts +15 -0
  420. package/dist/es6/query/type/single-type-query.class.js +25 -0
  421. package/dist/es6/query/type/single-type-query.class.js.map +1 -0
  422. package/dist/es6/resolvers/index.d.ts +8 -0
  423. package/dist/es6/resolvers/index.js +9 -0
  424. package/dist/es6/resolvers/index.js.map +1 -0
  425. package/dist/es6/resolvers/property-name/camel-case-property-name-resolver.class.d.ts +2 -0
  426. package/dist/es6/resolvers/property-name/camel-case-property-name-resolver.class.js +9 -0
  427. package/dist/es6/resolvers/property-name/camel-case-property-name-resolver.class.js.map +1 -0
  428. package/dist/es6/resolvers/property-name/pascal-case-property-name-resolver.class.d.ts +2 -0
  429. package/dist/es6/resolvers/property-name/pascal-case-property-name-resolver.class.js +9 -0
  430. package/dist/es6/resolvers/property-name/pascal-case-property-name-resolver.class.js.map +1 -0
  431. package/dist/es6/resolvers/property-name/snake-case-property-name-resolver.class.d.ts +2 -0
  432. package/dist/es6/resolvers/property-name/snake-case-property-name-resolver.class.js +23 -0
  433. package/dist/es6/resolvers/property-name/snake-case-property-name-resolver.class.js.map +1 -0
  434. package/dist/es6/resolvers/rich-text/async/async-rich-text-html-resolver.d.ts +9 -0
  435. package/dist/es6/resolvers/rich-text/async/async-rich-text-html-resolver.js +91 -0
  436. package/dist/es6/resolvers/rich-text/async/async-rich-text-html-resolver.js.map +1 -0
  437. package/dist/es6/resolvers/rich-text/base/base-async-rich-text-resolver.d.ts +9 -0
  438. package/dist/es6/resolvers/rich-text/base/base-async-rich-text-resolver.js +13 -0
  439. package/dist/es6/resolvers/rich-text/base/base-async-rich-text-resolver.js.map +1 -0
  440. package/dist/es6/resolvers/rich-text/base/base-rich-text-resolver.d.ts +9 -0
  441. package/dist/es6/resolvers/rich-text/base/base-rich-text-resolver.js +13 -0
  442. package/dist/es6/resolvers/rich-text/base/base-rich-text-resolver.js.map +1 -0
  443. package/dist/es6/resolvers/rich-text/rich-text-resolver.models.d.ts +91 -0
  444. package/dist/es6/resolvers/rich-text/rich-text-resolver.models.js +2 -0
  445. package/dist/es6/resolvers/rich-text/rich-text-resolver.models.js.map +1 -0
  446. package/dist/es6/resolvers/rich-text/sync/rich-text-html-resolver.d.ts +9 -0
  447. package/dist/es6/resolvers/rich-text/sync/rich-text-html-resolver.js +73 -0
  448. package/dist/es6/resolvers/rich-text/sync/rich-text-html-resolver.js.map +1 -0
  449. package/dist/es6/resolvers/rich-text/sync/rich-text-json-resolver.d.ts +8 -0
  450. package/dist/es6/resolvers/rich-text/sync/rich-text-json-resolver.js +16 -0
  451. package/dist/es6/resolvers/rich-text/sync/rich-text-json-resolver.js.map +1 -0
  452. package/dist/es6/resolvers/rich-text/sync/rich-text-object-resolver.d.ts +16 -0
  453. package/dist/es6/resolvers/rich-text/sync/rich-text-object-resolver.js +145 -0
  454. package/dist/es6/resolvers/rich-text/sync/rich-text-object-resolver.js.map +1 -0
  455. package/dist/es6/sdk-info.generated.d.ts +2 -0
  456. package/dist/es6/sdk-info.generated.js +6 -0
  457. package/dist/es6/sdk-info.generated.js.map +1 -0
  458. package/dist/es6/services/base-delivery-query.service.d.ts +102 -0
  459. package/dist/es6/services/base-delivery-query.service.js +278 -0
  460. package/dist/es6/services/base-delivery-query.service.js.map +1 -0
  461. package/dist/es6/services/delivery-query.service.d.ts +72 -0
  462. package/dist/es6/services/delivery-query.service.js +167 -0
  463. package/dist/es6/services/delivery-query.service.js.map +1 -0
  464. package/dist/es6/services/index.d.ts +2 -0
  465. package/dist/es6/services/index.js +3 -0
  466. package/dist/es6/services/index.js.map +1 -0
  467. package/dist/es6/services/mapping.service.d.ts +68 -0
  468. package/dist/es6/services/mapping.service.js +115 -0
  469. package/dist/es6/services/mapping.service.js.map +1 -0
  470. package/dist/es6/utilities/delivery-url.helper.d.ts +5 -0
  471. package/dist/es6/utilities/delivery-url.helper.js +13 -0
  472. package/dist/es6/utilities/delivery-url.helper.js.map +1 -0
  473. package/dist/es6/utilities/guid.helper.d.ts +4 -0
  474. package/dist/es6/utilities/guid.helper.js +8 -0
  475. package/dist/es6/utilities/guid.helper.js.map +1 -0
  476. package/dist/es6/utilities/index.d.ts +4 -0
  477. package/dist/es6/utilities/index.js +5 -0
  478. package/dist/es6/utilities/index.js.map +1 -0
  479. package/dist/es6/utilities/linked-items.helper.d.ts +5 -0
  480. package/dist/es6/utilities/linked-items.helper.js +11 -0
  481. package/dist/es6/utilities/linked-items.helper.js.map +1 -0
  482. package/dist/es6/utilities/text-helper.d.ts +7 -0
  483. package/dist/es6/utilities/text-helper.js +22 -0
  484. package/dist/es6/utilities/text-helper.js.map +1 -0
  485. package/dist/esnext/client/delivery-client.d.ts +57 -0
  486. package/dist/esnext/client/delivery-client.factory.d.ts +3 -0
  487. package/dist/esnext/client/delivery-client.factory.js +5 -0
  488. package/dist/esnext/client/delivery-client.factory.js.map +1 -0
  489. package/dist/esnext/client/delivery-client.js +83 -0
  490. package/dist/esnext/client/delivery-client.js.map +1 -0
  491. package/dist/esnext/client/idelivery-client.interface.d.ts +48 -0
  492. package/dist/esnext/client/idelivery-client.interface.js +2 -0
  493. package/dist/esnext/client/idelivery-client.interface.js.map +1 -0
  494. package/dist/esnext/client/index.d.ts +3 -0
  495. package/dist/esnext/client/index.js +4 -0
  496. package/dist/esnext/client/index.js.map +1 -0
  497. package/dist/esnext/config/delivery-configs.d.ts +80 -0
  498. package/dist/esnext/config/delivery-configs.js +2 -0
  499. package/dist/esnext/config/delivery-configs.js.map +1 -0
  500. package/dist/esnext/config/index.d.ts +1 -0
  501. package/dist/esnext/config/index.js +2 -0
  502. package/dist/esnext/config/index.js.map +1 -0
  503. package/dist/esnext/contracts/contracts.d.ts +189 -0
  504. package/dist/esnext/contracts/contracts.js +2 -0
  505. package/dist/esnext/contracts/contracts.js.map +1 -0
  506. package/dist/esnext/contracts/index.d.ts +1 -0
  507. package/dist/esnext/contracts/index.js +2 -0
  508. package/dist/esnext/contracts/index.js.map +1 -0
  509. package/dist/esnext/elements/element-models.d.ts +81 -0
  510. package/dist/esnext/elements/element-models.js +2 -0
  511. package/dist/esnext/elements/element-models.js.map +1 -0
  512. package/dist/esnext/elements/element-resolver.d.ts +2 -0
  513. package/dist/esnext/elements/element-resolver.js +2 -0
  514. package/dist/esnext/elements/element-resolver.js.map +1 -0
  515. package/dist/esnext/elements/element-type.d.ts +16 -0
  516. package/dist/esnext/elements/element-type.js +18 -0
  517. package/dist/esnext/elements/element-type.js.map +1 -0
  518. package/dist/esnext/elements/elements.d.ts +44 -0
  519. package/dist/esnext/elements/elements.js +2 -0
  520. package/dist/esnext/elements/elements.js.map +1 -0
  521. package/dist/esnext/elements/index.d.ts +4 -0
  522. package/dist/esnext/elements/index.js +5 -0
  523. package/dist/esnext/elements/index.js.map +1 -0
  524. package/dist/esnext/images/image-url-transformation-builder.d.ts +85 -0
  525. package/dist/esnext/images/image-url-transformation-builder.factory.d.ts +2 -0
  526. package/dist/esnext/images/image-url-transformation-builder.factory.js +5 -0
  527. package/dist/esnext/images/image-url-transformation-builder.factory.js.map +1 -0
  528. package/dist/esnext/images/image-url-transformation-builder.js +140 -0
  529. package/dist/esnext/images/image-url-transformation-builder.js.map +1 -0
  530. package/dist/esnext/images/image.models.d.ts +3 -0
  531. package/dist/esnext/images/image.models.js +2 -0
  532. package/dist/esnext/images/image.models.js.map +1 -0
  533. package/dist/esnext/images/index.d.ts +3 -0
  534. package/dist/esnext/images/index.js +4 -0
  535. package/dist/esnext/images/index.js.map +1 -0
  536. package/dist/esnext/index.d.ts +13 -0
  537. package/dist/esnext/index.js +15 -0
  538. package/dist/esnext/index.js.map +1 -0
  539. package/dist/esnext/mappers/element.mapper.d.ts +31 -0
  540. package/dist/esnext/mappers/element.mapper.js +337 -0
  541. package/dist/esnext/mappers/element.mapper.js.map +1 -0
  542. package/dist/esnext/mappers/generic-element.mapper.d.ts +5 -0
  543. package/dist/esnext/mappers/generic-element.mapper.js +15 -0
  544. package/dist/esnext/mappers/generic-element.mapper.js.map +1 -0
  545. package/dist/esnext/mappers/index.d.ts +6 -0
  546. package/dist/esnext/mappers/index.js +7 -0
  547. package/dist/esnext/mappers/index.js.map +1 -0
  548. package/dist/esnext/mappers/item.mapper.d.ts +46 -0
  549. package/dist/esnext/mappers/item.mapper.js +118 -0
  550. package/dist/esnext/mappers/item.mapper.js.map +1 -0
  551. package/dist/esnext/mappers/language.mapper.d.ts +6 -0
  552. package/dist/esnext/mappers/language.mapper.js +16 -0
  553. package/dist/esnext/mappers/language.mapper.js.map +1 -0
  554. package/dist/esnext/mappers/taxonomy.mapper.d.ts +11 -0
  555. package/dist/esnext/mappers/taxonomy.mapper.js +57 -0
  556. package/dist/esnext/mappers/taxonomy.mapper.js.map +1 -0
  557. package/dist/esnext/mappers/type.mapper.d.ts +7 -0
  558. package/dist/esnext/mappers/type.mapper.js +63 -0
  559. package/dist/esnext/mappers/type.mapper.js.map +1 -0
  560. package/dist/esnext/models/common/base-responses.d.ts +11 -0
  561. package/dist/esnext/models/common/base-responses.js +2 -0
  562. package/dist/esnext/models/common/base-responses.js.map +1 -0
  563. package/dist/esnext/models/common/common-models.d.ts +97 -0
  564. package/dist/esnext/models/common/common-models.js +9 -0
  565. package/dist/esnext/models/common/common-models.js.map +1 -0
  566. package/dist/esnext/models/common/filters.d.ts +108 -0
  567. package/dist/esnext/models/common/filters.js +277 -0
  568. package/dist/esnext/models/common/filters.js.map +1 -0
  569. package/dist/esnext/models/common/headers.d.ts +4 -0
  570. package/dist/esnext/models/common/headers.js +5 -0
  571. package/dist/esnext/models/common/headers.js.map +1 -0
  572. package/dist/esnext/models/common/index.d.ts +7 -0
  573. package/dist/esnext/models/common/index.js +8 -0
  574. package/dist/esnext/models/common/index.js.map +1 -0
  575. package/dist/esnext/models/common/pagination.class.d.ts +7 -0
  576. package/dist/esnext/models/common/pagination.class.js +2 -0
  577. package/dist/esnext/models/common/pagination.class.js.map +1 -0
  578. package/dist/esnext/models/common/parameters.d.ts +95 -0
  579. package/dist/esnext/models/common/parameters.js +163 -0
  580. package/dist/esnext/models/common/parameters.js.map +1 -0
  581. package/dist/esnext/models/common/sort-order.d.ts +1 -0
  582. package/dist/esnext/models/common/sort-order.js +2 -0
  583. package/dist/esnext/models/common/sort-order.js.map +1 -0
  584. package/dist/esnext/models/content-type-models.d.ts +32 -0
  585. package/dist/esnext/models/content-type-models.js +2 -0
  586. package/dist/esnext/models/content-type-models.js.map +1 -0
  587. package/dist/esnext/models/element-models.d.ts +39 -0
  588. package/dist/esnext/models/element-models.js +2 -0
  589. package/dist/esnext/models/element-models.js.map +1 -0
  590. package/dist/esnext/models/index.d.ts +7 -0
  591. package/dist/esnext/models/index.js +8 -0
  592. package/dist/esnext/models/index.js.map +1 -0
  593. package/dist/esnext/models/item-models.d.ts +106 -0
  594. package/dist/esnext/models/item-models.js +2 -0
  595. package/dist/esnext/models/item-models.js.map +1 -0
  596. package/dist/esnext/models/language-models.d.ts +11 -0
  597. package/dist/esnext/models/language-models.js +2 -0
  598. package/dist/esnext/models/language-models.js.map +1 -0
  599. package/dist/esnext/models/responses.d.ts +71 -0
  600. package/dist/esnext/models/responses.js +2 -0
  601. package/dist/esnext/models/responses.js.map +1 -0
  602. package/dist/esnext/models/taxonomy-models.d.ts +18 -0
  603. package/dist/esnext/models/taxonomy-models.js +2 -0
  604. package/dist/esnext/models/taxonomy-models.js.map +1 -0
  605. package/dist/esnext/parser/implementation/async-browser-parser.class.d.ts +10 -0
  606. package/dist/esnext/parser/implementation/async-browser-parser.class.js +137 -0
  607. package/dist/esnext/parser/implementation/async-browser-parser.class.js.map +1 -0
  608. package/dist/esnext/parser/implementation/browser-parser.class.d.ts +10 -0
  609. package/dist/esnext/parser/implementation/browser-parser.class.js +121 -0
  610. package/dist/esnext/parser/implementation/browser-parser.class.js.map +1 -0
  611. package/dist/esnext/parser/index.d.ts +5 -0
  612. package/dist/esnext/parser/index.js +6 -0
  613. package/dist/esnext/parser/index.js.map +1 -0
  614. package/dist/esnext/parser/parse-models.d.ts +67 -0
  615. package/dist/esnext/parser/parse-models.js +13 -0
  616. package/dist/esnext/parser/parse-models.js.map +1 -0
  617. package/dist/esnext/parser/parser-configuration.d.ts +21 -0
  618. package/dist/esnext/parser/parser-configuration.js +22 -0
  619. package/dist/esnext/parser/parser-configuration.js.map +1 -0
  620. package/dist/esnext/parser/parser.helper.d.ts +11 -0
  621. package/dist/esnext/parser/parser.helper.js +87 -0
  622. package/dist/esnext/parser/parser.helper.js.map +1 -0
  623. package/dist/esnext/query/common/base-listing-query.class.d.ts +125 -0
  624. package/dist/esnext/query/common/base-listing-query.class.js +217 -0
  625. package/dist/esnext/query/common/base-listing-query.class.js.map +1 -0
  626. package/dist/esnext/query/common/base-query.class.d.ts +68 -0
  627. package/dist/esnext/query/common/base-query.class.js +101 -0
  628. package/dist/esnext/query/common/base-query.class.js.map +1 -0
  629. package/dist/esnext/query/element/element-query.class.d.ts +16 -0
  630. package/dist/esnext/query/element/element-query.class.js +29 -0
  631. package/dist/esnext/query/element/element-query.class.js.map +1 -0
  632. package/dist/esnext/query/index.d.ts +10 -0
  633. package/dist/esnext/query/index.js +11 -0
  634. package/dist/esnext/query/index.js.map +1 -0
  635. package/dist/esnext/query/item/multiple-items-query.class.d.ts +58 -0
  636. package/dist/esnext/query/item/multiple-items-query.class.js +97 -0
  637. package/dist/esnext/query/item/multiple-items-query.class.js.map +1 -0
  638. package/dist/esnext/query/item/single-item-query.class.d.ts +35 -0
  639. package/dist/esnext/query/item/single-item-query.class.js +60 -0
  640. package/dist/esnext/query/item/single-item-query.class.js.map +1 -0
  641. package/dist/esnext/query/items-feed/items-feed-query.class.d.ts +52 -0
  642. package/dist/esnext/query/items-feed/items-feed-query.class.js +88 -0
  643. package/dist/esnext/query/items-feed/items-feed-query.class.js.map +1 -0
  644. package/dist/esnext/query/language/languages-query.class.d.ts +38 -0
  645. package/dist/esnext/query/language/languages-query.class.js +68 -0
  646. package/dist/esnext/query/language/languages-query.class.js.map +1 -0
  647. package/dist/esnext/query/taxonomy/taxonomies-query.class.d.ts +33 -0
  648. package/dist/esnext/query/taxonomy/taxonomies-query.class.js +60 -0
  649. package/dist/esnext/query/taxonomy/taxonomies-query.class.js.map +1 -0
  650. package/dist/esnext/query/taxonomy/taxonomy-query.class.d.ts +19 -0
  651. package/dist/esnext/query/taxonomy/taxonomy-query.class.js +29 -0
  652. package/dist/esnext/query/taxonomy/taxonomy-query.class.js.map +1 -0
  653. package/dist/esnext/query/type/multiple-type-query.class.d.ts +15 -0
  654. package/dist/esnext/query/type/multiple-type-query.class.js +27 -0
  655. package/dist/esnext/query/type/multiple-type-query.class.js.map +1 -0
  656. package/dist/esnext/query/type/single-type-query.class.d.ts +15 -0
  657. package/dist/esnext/query/type/single-type-query.class.js +25 -0
  658. package/dist/esnext/query/type/single-type-query.class.js.map +1 -0
  659. package/dist/esnext/resolvers/index.d.ts +8 -0
  660. package/dist/esnext/resolvers/index.js +9 -0
  661. package/dist/esnext/resolvers/index.js.map +1 -0
  662. package/dist/esnext/resolvers/property-name/camel-case-property-name-resolver.class.d.ts +2 -0
  663. package/dist/esnext/resolvers/property-name/camel-case-property-name-resolver.class.js +9 -0
  664. package/dist/esnext/resolvers/property-name/camel-case-property-name-resolver.class.js.map +1 -0
  665. package/dist/esnext/resolvers/property-name/pascal-case-property-name-resolver.class.d.ts +2 -0
  666. package/dist/esnext/resolvers/property-name/pascal-case-property-name-resolver.class.js +9 -0
  667. package/dist/esnext/resolvers/property-name/pascal-case-property-name-resolver.class.js.map +1 -0
  668. package/dist/esnext/resolvers/property-name/snake-case-property-name-resolver.class.d.ts +2 -0
  669. package/dist/esnext/resolvers/property-name/snake-case-property-name-resolver.class.js +23 -0
  670. package/dist/esnext/resolvers/property-name/snake-case-property-name-resolver.class.js.map +1 -0
  671. package/dist/esnext/resolvers/rich-text/async/async-rich-text-html-resolver.d.ts +9 -0
  672. package/dist/esnext/resolvers/rich-text/async/async-rich-text-html-resolver.js +91 -0
  673. package/dist/esnext/resolvers/rich-text/async/async-rich-text-html-resolver.js.map +1 -0
  674. package/dist/esnext/resolvers/rich-text/base/base-async-rich-text-resolver.d.ts +9 -0
  675. package/dist/esnext/resolvers/rich-text/base/base-async-rich-text-resolver.js +13 -0
  676. package/dist/esnext/resolvers/rich-text/base/base-async-rich-text-resolver.js.map +1 -0
  677. package/dist/esnext/resolvers/rich-text/base/base-rich-text-resolver.d.ts +9 -0
  678. package/dist/esnext/resolvers/rich-text/base/base-rich-text-resolver.js +13 -0
  679. package/dist/esnext/resolvers/rich-text/base/base-rich-text-resolver.js.map +1 -0
  680. package/dist/esnext/resolvers/rich-text/rich-text-resolver.models.d.ts +91 -0
  681. package/dist/esnext/resolvers/rich-text/rich-text-resolver.models.js +2 -0
  682. package/dist/esnext/resolvers/rich-text/rich-text-resolver.models.js.map +1 -0
  683. package/dist/esnext/resolvers/rich-text/sync/rich-text-html-resolver.d.ts +9 -0
  684. package/dist/esnext/resolvers/rich-text/sync/rich-text-html-resolver.js +73 -0
  685. package/dist/esnext/resolvers/rich-text/sync/rich-text-html-resolver.js.map +1 -0
  686. package/dist/esnext/resolvers/rich-text/sync/rich-text-json-resolver.d.ts +8 -0
  687. package/dist/esnext/resolvers/rich-text/sync/rich-text-json-resolver.js +16 -0
  688. package/dist/esnext/resolvers/rich-text/sync/rich-text-json-resolver.js.map +1 -0
  689. package/dist/esnext/resolvers/rich-text/sync/rich-text-object-resolver.d.ts +16 -0
  690. package/dist/esnext/resolvers/rich-text/sync/rich-text-object-resolver.js +145 -0
  691. package/dist/esnext/resolvers/rich-text/sync/rich-text-object-resolver.js.map +1 -0
  692. package/dist/esnext/sdk-info.generated.d.ts +2 -0
  693. package/dist/esnext/sdk-info.generated.js +6 -0
  694. package/dist/esnext/sdk-info.generated.js.map +1 -0
  695. package/dist/esnext/services/base-delivery-query.service.d.ts +102 -0
  696. package/dist/esnext/services/base-delivery-query.service.js +278 -0
  697. package/dist/esnext/services/base-delivery-query.service.js.map +1 -0
  698. package/dist/esnext/services/delivery-query.service.d.ts +72 -0
  699. package/dist/esnext/services/delivery-query.service.js +167 -0
  700. package/dist/esnext/services/delivery-query.service.js.map +1 -0
  701. package/dist/esnext/services/index.d.ts +2 -0
  702. package/dist/esnext/services/index.js +3 -0
  703. package/dist/esnext/services/index.js.map +1 -0
  704. package/dist/esnext/services/mapping.service.d.ts +68 -0
  705. package/dist/esnext/services/mapping.service.js +115 -0
  706. package/dist/esnext/services/mapping.service.js.map +1 -0
  707. package/dist/esnext/utilities/delivery-url.helper.d.ts +5 -0
  708. package/dist/esnext/utilities/delivery-url.helper.js +13 -0
  709. package/dist/esnext/utilities/delivery-url.helper.js.map +1 -0
  710. package/dist/esnext/utilities/guid.helper.d.ts +4 -0
  711. package/dist/esnext/utilities/guid.helper.js +8 -0
  712. package/dist/esnext/utilities/guid.helper.js.map +1 -0
  713. package/dist/esnext/utilities/index.d.ts +4 -0
  714. package/dist/esnext/utilities/index.js +5 -0
  715. package/dist/esnext/utilities/index.js.map +1 -0
  716. package/dist/esnext/utilities/linked-items.helper.d.ts +5 -0
  717. package/dist/esnext/utilities/linked-items.helper.js +11 -0
  718. package/dist/esnext/utilities/linked-items.helper.js.map +1 -0
  719. package/dist/esnext/utilities/text-helper.d.ts +7 -0
  720. package/dist/esnext/utilities/text-helper.js +22 -0
  721. package/dist/esnext/utilities/text-helper.js.map +1 -0
  722. package/lib/client/delivery-client.factory.ts +6 -0
  723. package/lib/client/delivery-client.ts +114 -0
  724. package/lib/client/idelivery-client.interface.ts +68 -0
  725. package/lib/client/index.ts +3 -0
  726. package/lib/config/delivery-configs.ts +98 -0
  727. package/lib/config/index.ts +1 -0
  728. package/lib/contracts/contracts.ts +222 -0
  729. package/lib/contracts/index.ts +1 -0
  730. package/lib/elements/element-models.ts +95 -0
  731. package/lib/elements/element-resolver.ts +3 -0
  732. package/lib/elements/element-type.ts +16 -0
  733. package/lib/elements/elements.ts +62 -0
  734. package/lib/elements/index.ts +4 -0
  735. package/lib/images/image-url-transformation-builder.factory.ts +5 -0
  736. package/lib/images/image-url-transformation-builder.ts +181 -0
  737. package/lib/images/image.models.ts +4 -0
  738. package/lib/images/index.ts +3 -0
  739. package/lib/index.ts +15 -0
  740. package/lib/mappers/element.mapper.ts +502 -0
  741. package/lib/mappers/generic-element.mapper.ts +18 -0
  742. package/lib/mappers/index.ts +6 -0
  743. package/lib/mappers/item.mapper.ts +164 -0
  744. package/lib/mappers/language.mapper.ts +20 -0
  745. package/lib/mappers/taxonomy.mapper.ts +77 -0
  746. package/lib/mappers/type.mapper.ts +78 -0
  747. package/lib/models/common/base-responses.ts +13 -0
  748. package/lib/models/common/common-models.ts +118 -0
  749. package/lib/models/common/filters.ts +280 -0
  750. package/lib/models/common/headers.ts +5 -0
  751. package/lib/models/common/index.ts +7 -0
  752. package/lib/models/common/pagination.class.ts +7 -0
  753. package/lib/models/common/parameters.ts +166 -0
  754. package/lib/models/common/sort-order.ts +1 -0
  755. package/lib/models/content-type-models.ts +42 -0
  756. package/lib/models/element-models.ts +51 -0
  757. package/lib/models/index.ts +8 -0
  758. package/lib/models/item-models.ts +130 -0
  759. package/lib/models/language-models.ts +17 -0
  760. package/lib/models/responses.ts +91 -0
  761. package/lib/models/taxonomy-models.ts +25 -0
  762. package/lib/parser/implementation/async-browser-parser.class.ts +236 -0
  763. package/lib/parser/implementation/browser-parser.class.ts +235 -0
  764. package/lib/parser/index.ts +5 -0
  765. package/lib/parser/parse-models.ts +93 -0
  766. package/lib/parser/parser-configuration.ts +23 -0
  767. package/lib/parser/parser.helper.ts +103 -0
  768. package/lib/query/common/base-listing-query.class.ts +261 -0
  769. package/lib/query/common/base-query.class.ts +129 -0
  770. package/lib/query/element/element-query.class.ts +50 -0
  771. package/lib/query/index.ts +10 -0
  772. package/lib/query/item/multiple-items-query.class.ts +125 -0
  773. package/lib/query/item/single-item-query.class.ts +80 -0
  774. package/lib/query/items-feed/items-feed-query.class.ts +113 -0
  775. package/lib/query/language/languages-query.class.ts +96 -0
  776. package/lib/query/taxonomy/taxonomies-query.class.ts +93 -0
  777. package/lib/query/taxonomy/taxonomy-query.class.ts +46 -0
  778. package/lib/query/type/multiple-type-query.class.ts +48 -0
  779. package/lib/query/type/single-type-query.class.ts +41 -0
  780. package/lib/resolvers/index.ts +10 -0
  781. package/lib/resolvers/property-name/camel-case-property-name-resolver.class.ts +11 -0
  782. package/lib/resolvers/property-name/pascal-case-property-name-resolver.class.ts +11 -0
  783. package/lib/resolvers/property-name/snake-case-property-name-resolver.class.ts +29 -0
  784. package/lib/resolvers/rich-text/async/async-rich-text-html-resolver.ts +92 -0
  785. package/lib/resolvers/rich-text/base/base-async-rich-text-resolver.ts +16 -0
  786. package/lib/resolvers/rich-text/base/base-rich-text-resolver.ts +16 -0
  787. package/lib/resolvers/rich-text/rich-text-resolver.models.ts +117 -0
  788. package/lib/resolvers/rich-text/sync/rich-text-html-resolver.ts +87 -0
  789. package/lib/resolvers/rich-text/sync/rich-text-json-resolver.ts +23 -0
  790. package/lib/resolvers/rich-text/sync/rich-text-object-resolver.ts +181 -0
  791. package/lib/sdk-info.generated.ts +7 -0
  792. package/lib/services/base-delivery-query.service.ts +335 -0
  793. package/lib/services/delivery-query.service.ts +259 -0
  794. package/lib/services/index.ts +2 -0
  795. package/lib/services/mapping.service.ts +171 -0
  796. package/lib/utilities/delivery-url.helper.ts +17 -0
  797. package/lib/utilities/guid.helper.ts +9 -0
  798. package/lib/utilities/index.ts +4 -0
  799. package/lib/utilities/linked-items.helper.ts +16 -0
  800. package/lib/utilities/text-helper.ts +25 -0
  801. package/package.json +94 -0
  802. package/readme.md +819 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kontent-delivery.umd.js","mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,O;;;;;;;;;;;;;;;;ACViC;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gEAAgE,gBAAgB;AAChF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2DAA2D,4DAA4D;AACvH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,+CAAQ,8CAA8C,oBAAoB;AAC5G;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,QAAQ;AAChC;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACqB;AACf;AACP;;;;;;;;;;;;;;;;ACjEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,uBAAuB;AACjE;AACA;AACA;AACA,CAAC;AACuB;AACjB;AACP;;;;;;;;;;;;;;;;ACpBiC;AAC1B;AACP;AACA;AACA;AACA,sBAAsB,+CAAQ,iDAAiD,UAAU;AACzF;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,oBAAoB,QAAQ;AAC5B;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACtB6B;AACG;AACF;AACC;AACE;AACjC;;;;;;;;;;;;;;;;;ACLmE;AACnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,gFAA+B;AACrD,2DAA2D,6EAA6E;AACxI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACsB;AAChB;AACP;;;;;;;;;;;;;;;;ACpJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,CAAC;AACoB;AACd;AACP;;;;;;;;;;;;;;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACuB;AACjB;AACP;;;;;;;;;;;;;;;;;;;;;;;;;;ACtB+C;AACrB;AACkD;AAC7B;AACO;AAC/C;AACP;AACA,WAAW,gDAAS;AACpB;AACA;AACA,eAAe,kDAAW;AAC1B;AACA;AACA,2JAA2J,mFAAgC;AAC3L;AACA;AACA;AACA;AACA;AACA,4DAA4D,OAAO,gDAAS;AAC5E;AACA;AACA,uCAAuC,kDAAW;AAClD;AACA;AACA,4CAA4C,8EAAkC;AAC9E;AACA;AACA;AACA;AACA,iDAAiD;AACjD;AACA;AACA;AACA;AACA;AACA,yDAAyD,wFAA+B;AACxF;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,gFAAoC;AAChF;AACA;AACA,iCAAiC;AACjC,6BAA6B;AAC7B,yBAAyB;AACzB;AACA;AACA,SAAS;AACT,KAAK;AACL;AACO;AACP;AACA,WAAW,gDAAS;AACpB;AACA;AACA,eAAe,kDAAW;AAC1B;AACA;AACA,2JAA2J,mFAAgC;AAC3L;AACA;AACA;AACA;AACA;AACA,4DAA4D,OAAO,gDAAS;AAC5E;AACA;AACA,uCAAuC,kDAAW;AAClD;AACA;AACA,4CAA4C,8EAAkC;AAC9E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD;AACjD;AACA;AACA;AACA;AACA;AACA,yDAAyD,wFAA+B;AACxF;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,gFAAoC;AAChF;AACA;AACA,iCAAiC;AACjC,6BAA6B;AAC7B,yBAAyB;AACzB;AACA;AACA,SAAS;AACT,KAAK;AACL;AACO;AACP;AACA,WAAW,gDAAS;AACpB;AACA;AACA,eAAe,kDAAW;AAC1B;AACA;AACA,2JAA2J,mFAAgC;AAC3L;AACA;AACA;AACA;AACA;AACA,4DAA4D,OAAO,gDAAS;AAC5E;AACA;AACA,uCAAuC,kDAAW;AAClD;AACA;AACA,4CAA4C,8EAAkC;AAC9E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD;AACjD;AACA;AACA;AACA;AACA;AACA,yDAAyD,wFAA+B;AACxF;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,gFAAoC;AAChF;AACA;AACA,iCAAiC;AACjC,6BAA6B;AAC7B,yBAAyB;AACzB;AACA;AACA,SAAS;AACT,KAAK;AACL;AACO;AACP;AACA,WAAW,gDAAS;AACpB;AACA;AACA,eAAe,kDAAW;AAC1B;AACA;AACA,2JAA2J,mFAAgC;AAC3L;AACA;AACA;AACA;AACA;AACA,4DAA4D,OAAO,gDAAS;AAC5E;AACA;AACA,uCAAuC,kDAAW;AAClD;AACA;AACA,4CAA4C,8EAAkC;AAC9E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD;AACjD;AACA;AACA;AACA;AACA;AACA,yDAAyD,wFAA+B;AACxF;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,gFAAoC;AAChF;AACA;AACA,iCAAiC;AACjC,6BAA6B;AAC7B,yBAAyB;AACzB;AACA;AACA,SAAS;AACT,KAAK;AACL;AACO;AACP;AACA,WAAW,gDAAS;AACpB;AACA;AACA,eAAe,kDAAW;AAC1B;AACA;AACA,2JAA2J,mFAAgC;AAC3L;AACA;AACA;AACA;AACA;AACA,4DAA4D,OAAO,gDAAS;AAC5E;AACA;AACA,uCAAuC,kDAAW;AAClD;AACA;AACA,4CAA4C,8EAAkC;AAC9E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD;AACjD;AACA;AACA;AACA;AACA;AACA,yDAAyD,wFAA+B;AACxF;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,gFAAoC;AAChF;AACA;AACA,iCAAiC;AACjC,6BAA6B;AAC7B,yBAAyB;AACzB;AACA;AACA,SAAS;AACT,KAAK;AACL;AACO;AACP;AACA,oBAAoB,0DAAiB;AACrC;AACA;AACA,KAAK;AACL;AACA;AACA,sCAAsC,4FAAyC;AAC/E,SAAS;AACT;AACA;AACA;AACA;AACA,WAAW,gDAAS;AACpB;AACA,eAAe,kDAAW;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,kFAA+B;AACnE;AACA;AACA;AACA,qBAAqB;AACrB;AACA,oBAAoB,8EAAkC;AACtD;AACA,0EAA0E,sDAAsD;AAChI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,4DAA4D,iEAAiE;AAC7H;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;AChVU;AACV;;;;;;;;;;;;;;;;;;;ACD+C;AACrB;AACwB;AAClD;AACA;AACA;AACA,6BAA6B,mDAAY;AACzC;AACA;AACA;AACA,eAAe,gDAAS;AACxB,mBAAmB,kDAAW;AAC9B;AACA,iDAAiD,8DAA+B;AAChF;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA,eAAe,gDAAS;AACxB,mBAAmB,kDAAW;AAC9B;AACA,iDAAiD,+DAAgC;AACjF;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA,eAAe,gDAAS;AACxB,mBAAmB,kDAAW;AAC9B;AACA,iDAAiD,8DAA+B;AAChF;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA,eAAe,gDAAS;AACxB,mBAAmB,kDAAW;AAC9B;AACA,iDAAiD,gEAAiC;AAClF;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA,eAAe,gDAAS;AACxB,mBAAmB,kDAAW;AAC9B;AACA,iDAAiD,iEAAkC;AACnF;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA,eAAe,8DAA+B;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACsB;AACvB;;;;;;;;;;;;ACvEU;AACV;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACDgC;AACD;AACD;AACG;AACD;AACI;AACpC;;;;;;;;;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,CAAC;AAC0B;AAC3B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC3CA;AAC0B;AACD;AACF;AACvB;;;;;;;;;;;;;;;;;;ACJ6B;AACD;AACC;AAC7B;;;;;;;;;;;;ACHU;AACV;;;;;;;;;;;;;;;ACDO;AACP;AACA;AACA;AACA;AACA;AACA,mBAAmB,QAAQ;AAC3B,mBAAmB,QAAQ;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC,gCAAgC;AACjC;;;;;;;;;;;;AC1BU;AACV;;;;;;;;;;ACDA,4FAAuC;;;;;;;;;;;ACA1B;;AAEb,YAAY,mBAAO,CAAC,qDAAY;AAChC,aAAa,mBAAO,CAAC,iEAAkB;AACvC,cAAc,mBAAO,CAAC,yEAAsB;AAC5C,eAAe,mBAAO,CAAC,2EAAuB;AAC9C,oBAAoB,mBAAO,CAAC,6EAAuB;AACnD,mBAAmB,mBAAO,CAAC,mFAA2B;AACtD,sBAAsB,mBAAO,CAAC,yFAA8B;AAC5D,2BAA2B,mBAAO,CAAC,mFAA0B;AAC7D,iBAAiB,mBAAO,CAAC,uEAAoB;AAC7C,oBAAoB,mBAAO,CAAC,iFAAyB;AACrD,oBAAoB,mBAAO,CAAC,mFAA0B;;AAEtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,6CAA6C;AAC7C;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;;AAGA;AACA;AACA,GAAG;AACH;;;;;;;;;;;;AC7Na;;AAEb,YAAY,mBAAO,CAAC,kDAAS;AAC7B,WAAW,mBAAO,CAAC,gEAAgB;AACnC,YAAY,mBAAO,CAAC,4DAAc;AAClC,kBAAkB,mBAAO,CAAC,wEAAoB;AAC9C,eAAe,mBAAO,CAAC,8DAAY;;AAEnC;AACA;AACA;AACA,WAAW,QAAQ;AACnB,YAAY,OAAO;AACnB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,sBAAsB,mBAAO,CAAC,gFAAwB;AACtD,oBAAoB,mBAAO,CAAC,4EAAsB;AAClD,iBAAiB,mBAAO,CAAC,sEAAmB;AAC5C,gBAAgB,uFAA6B;AAC7C,mBAAmB,mBAAO,CAAC,4EAAsB;;AAEjD;AACA,mBAAmB,mBAAO,CAAC,2EAAwB;;AAEnD;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,mBAAO,CAAC,oEAAkB;;AAEzC;AACA,qBAAqB,mBAAO,CAAC,gFAAwB;;AAErD;;AAEA;AACA,yBAAsB;;;;;;;;;;;;AC/DT;;AAEb,oBAAoB,mBAAO,CAAC,yEAAiB;;AAE7C;AACA;AACA;AACA;AACA,WAAW,UAAU;AACrB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,gBAAgB,OAAO;AACvB;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACtHa;;AAEb,iBAAiB,mBAAO,CAAC,uEAAoB;AAC7C,YAAY,mBAAO,CAAC,mDAAU;;AAE9B;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;;;;;;;;;;;;ACrBa;;AAEb;AACA;AACA;;;;;;;;;;;;ACJa;;AAEb,YAAY,mBAAO,CAAC,qDAAY;AAChC,eAAe,mBAAO,CAAC,yEAAqB;AAC5C,yBAAyB,mBAAO,CAAC,iFAAsB;AACvD,sBAAsB,mBAAO,CAAC,2EAAmB;AACjD,kBAAkB,mBAAO,CAAC,mEAAe;AACzC,oBAAoB,mBAAO,CAAC,uEAAiB;AAC7C,gBAAgB,mBAAO,CAAC,2EAAsB;;AAE9C;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA,IAAI;AACJ;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,gDAAgD;AAChD;AACA;AACA,yBAAyB;AACzB,KAAK;AACL;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA,kDAAkD;AAClD;AACA;AACA;AACA,UAAU,IAAI;AACd;AACA;AACA,OAAO;AACP;AACA;;AAEA;;AAEA;AACA,CAAC;;AAED;;;;;;;;;;;;AC/Ja;;AAEb,YAAY,mBAAO,CAAC,mDAAU;;AAE9B;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB,CAAC;;AAED;AACA,kDAAkD,YAAY;;AAE9D;AACA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;;;;;;;;;;;ACrFa;;AAEb,YAAY,mBAAO,CAAC,qDAAY;;AAEhC;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,UAAU;AACrB;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,UAAU;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;;;;;;;;;;;;ACrDa;;AAEb,oBAAoB,mBAAO,CAAC,mFAA0B;AACtD,kBAAkB,mBAAO,CAAC,+EAAwB;;AAElD;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACnBa;;AAEb,YAAY,mBAAO,CAAC,qDAAY;AAChC,oBAAoB,mBAAO,CAAC,uEAAiB;AAC7C,eAAe,mBAAO,CAAC,uEAAoB;AAC3C,eAAe,mBAAO,CAAC,+DAAa;AACpC,oBAAoB,mBAAO,CAAC,iFAAyB;;AAErD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,SAAS;AACtB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,+BAA+B;AAC/B,uCAAuC;AACvC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;;;;;;;;;;;;ACtFa;;AAEb,YAAY,mBAAO,CAAC,mDAAU;;AAE9B;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM;AACN,2BAA2B;AAC3B,MAAM;AACN;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;;;;;;;;;;;ACnGa;;AAEb,iBAAiB,mBAAO,CAAC,iEAAc;;AAEvC;AACA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,UAAU;AACrB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACxBa;;AAEb,YAAY,mBAAO,CAAC,qDAAY;AAChC,eAAe,mBAAO,CAAC,+DAAa;;AAEpC;AACA;AACA;AACA,WAAW,eAAe;AAC1B,WAAW,OAAO;AAClB,WAAW,gBAAgB;AAC3B,aAAa,GAAG;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;;;;;;;;;;;ACrBa;;AAEb,YAAY,mBAAO,CAAC,mDAAU;AAC9B,0BAA0B,mBAAO,CAAC,+FAAgC;AAClE,iBAAiB,mBAAO,CAAC,uEAAoB;AAC7C,2BAA2B,mBAAO,CAAC,yEAAgB;AACnD,iBAAiB,mBAAO,CAAC,6EAAuB;;AAEhD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc,mBAAO,CAAC,iEAAiB;AACvC,IAAI;AACJ;AACA,cAAc,mBAAO,CAAC,kEAAkB;AACxC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wEAAwE;AACxE;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,sCAAsC,iBAAiB;AACvD,MAAM;AACN;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,cAAc,mBAAO,CAAC,gEAAgB;AACtC,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;AACA;AACA,CAAC;;AAED;;;;;;;;;;;;ACjJa;;AAEb;AACA;AACA;AACA;AACA;;;;;;;;;;;ACNA;AACA;AACA;;;;;;;;;;;ACFa;;AAEb;AACA;AACA;AACA,oBAAoB,iBAAiB;AACrC;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACVa;;AAEb,YAAY,mBAAO,CAAC,qDAAY;;AAEhC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA,IAAI;AACJ;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,QAAQ;AACR;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA,OAAO;AACP,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;;;;;;;;;;;ACrEa;;AAEb;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACba;;AAEb,YAAY,mBAAO,CAAC,qDAAY;;AAEhC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,2CAA2C;AAC3C,SAAS;;AAET;AACA,4DAA4D,wBAAwB;AACpF;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,kCAAkC;AAClC,gCAAgC,cAAc;AAC9C;AACA;AACA,KAAK;AACL;;;;;;;;;;;;ACpDa;;AAEb;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACba;;AAEb,YAAY,mBAAO,CAAC,qDAAY;;AAEhC;AACA;AACA;AACA,WAAW,GAAG;AACd,aAAa,SAAS;AACtB;AACA;AACA;AACA;;;;;;;;;;;;ACZa;;AAEb,YAAY,mBAAO,CAAC,qDAAY;;AAEhC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc,QAAQ;AACtB,gBAAgB;AAChB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,cAAc,QAAQ;AACtB,gBAAgB,SAAS;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;;;;;;;;;;;ACnEa;;AAEb,YAAY,mBAAO,CAAC,mDAAU;;AAE9B;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;;;;ACXA;AACA;;;;;;;;;;;;ACDa;;AAEb,YAAY,mBAAO,CAAC,qDAAY;;AAEhC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA,kBAAkB;;AAElB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA,GAAG;;AAEH;AACA;;;;;;;;;;;;ACpDa;;AAEb;AACA,wBAAwB,KAAK;AAC7B;AACA;;;;;;;;;;;;ACLa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B;AACA;AACA,WAAW,UAAU;AACrB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;AC1Ba;;AAEb,YAAY,mBAAO,CAAC,mDAAU;;AAE9B;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,SAAS;AACpB,aAAa;AACb;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,qCAAqC;AACrC;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA;AACA,OAAO;;AAEP;AACA,MAAM;AACN;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;;;;;;;;;;;ACvEa;;AAEb,cAAc,wFAA8B;AAC5C,iBAAiB,mBAAO,CAAC,uEAAoB;;AAE7C;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA,WAAW,mBAAmB;AAC9B,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,UAAU;AACrB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;;;;;ACrFa;;AAEb,WAAW,mBAAO,CAAC,gEAAgB;;AAEnC;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,SAAS;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,SAAS;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,SAAS;AACtB;AACA;;;AAGA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,SAAS;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,SAAS;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,SAAS;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,YAAY,SAAS;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,SAAS;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,SAAS;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,cAAc;AACzB,WAAW,UAAU;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,oCAAoC,OAAO;AAC3C;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,SAAS,GAAG,SAAS;AAC5C,4BAA4B;AAC5B;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN,4BAA4B;AAC5B,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;;AAEA,wCAAwC,OAAO;AAC/C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,UAAU;AACrB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,UAAU;AACrB,aAAa;AACb;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;;AAEA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,WAAW,GAAG;AACd,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACrda;;AAEb;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,aAAa;AAC1B;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,aAAa;AAC1B;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB;AACjB,aAAa;;;;;;;;;;;;ACrHA;;AAEb;AACA;AACA;AACA;AACA,WAAW,eAAe;AAC1B,WAAW,QAAQ;AACnB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;;;;;;;;;;;;;ACpCA,0GAAmD;AAEnD,SAAgB,oBAAoB,CAAC,MAA6B;IAC9D,OAAO,IAAI,gCAAc,CAAC,MAAM,CAAC,CAAC;AACtC,CAAC;AAFD,oDAEC;;;;;;;;;;;;;;;ACLD,4HAAmD;AAInD,4EAUkB;AAClB,6GAAgD;AAChD,qFAA4E;AAG5E,MAAa,cAAc;IAIvB;;;;OAIG;IACH,YAAsB,MAA6B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ACpH;AACA;AACO;AACP,iCAAiC,uCAAuC,YAAY,KAAK,OAAO;AAChG;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP,6CAA6C;AAC7C;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACzNa;;AAEb,eAAe,mBAAO,CAAC,4DAAe;AACtC,SAAS,mBAAO,CAAC,8DAAgB;AACjC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,eAAe;AAC1B,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA,eAAe;;AAEf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,eAAe;AAC1B,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA,kBAAkB,qBAAM,8BAA8B,qBAAM;AAC5D;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,yDAAyD;AACzD,IAAI;AACJ,sCAAsC;AACtC;AACA,IAAI;AACJ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,YAAY,SAAS;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc,QAAQ;AACtB,cAAc,SAAS;AACvB,cAAc,QAAQ;AACtB;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,YAAY,iBAAiB;AAC7B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA,IAAI;AACJ;AACA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,YAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,eAAe;AAC1B,WAAW,kBAAkB;AAC7B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAAS,yBAAyB;AAClC;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,OAAO;AAClB,WAAW,kBAAkB;AAC7B;AACA;AACA;AACA,aAAa,KAAK;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,QAAQ;AACR;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,QAAQ;AACR;AACA;AACA;;AAEA,kBAAkB,kBAAkB;AACpC;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,UAAU;AACrB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA,kBAAkB;;AAElB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC5kBwC;AACA;AACA;AACA;AACE;AACQ;AACE;AACE;;;;;;;;;;;;;;;;ACPtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD;;AAEnD;;AAEA,oBAAoB,gBAAgB;AACpC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA,kBAAkB,cAAc;AAChC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,kBAAkB,cAAc;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,kBAAkB,aAAa;AAC/B;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,iEAAe,GAAG;;;;;;;;;;;;;;;ACtNlB,iEAAe,sCAAsC;;;;;;;;;;;;;;;;ACAhB;;AAErC;AACA,OAAO,wDAAQ;AACf;AACA;;AAEA;AACA,gCAAgC;;AAEhC;AACA;AACA;AACA,qBAAqB;;AAErB;AACA,qBAAqB;;AAErB;AACA,qBAAqB;;AAErB;AACA,qBAAqB;AACrB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iEAAe,KAAK;;;;;;;;;;;;;;;AClCpB,iEAAe,cAAc,EAAE,UAAU,EAAE,eAAe,EAAE,gBAAgB,EAAE,UAAU,GAAG,yCA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","sources":["webpack://kontentDelivery/webpack/universalModuleDefinition","webpack://kontentDelivery/./node_modules/@kontent-ai/core-sdk/dist/es5/helpers/enum.helper.js","webpack://kontentDelivery/./node_modules/@kontent-ai/core-sdk/dist/es5/helpers/header.helper.js","webpack://kontentDelivery/./node_modules/@kontent-ai/core-sdk/dist/es5/helpers/headers-helper.js","webpack://kontentDelivery/./node_modules/@kontent-ai/core-sdk/dist/es5/helpers/index.js","webpack://kontentDelivery/./node_modules/@kontent-ai/core-sdk/dist/es5/helpers/retry-helper.js","webpack://kontentDelivery/./node_modules/@kontent-ai/core-sdk/dist/es5/helpers/url.helper.js","webpack://kontentDelivery/./node_modules/@kontent-ai/core-sdk/dist/es5/http/http.debugger.js","webpack://kontentDelivery/./node_modules/@kontent-ai/core-sdk/dist/es5/http/http.functions.js","webpack://kontentDelivery/./node_modules/@kontent-ai/core-sdk/dist/es5/http/http.models.js","webpack://kontentDelivery/./node_modules/@kontent-ai/core-sdk/dist/es5/http/http.service.js","webpack://kontentDelivery/./node_modules/@kontent-ai/core-sdk/dist/es5/http/ihttp.service.js","webpack://kontentDelivery/./node_modules/@kontent-ai/core-sdk/dist/es5/http/index.js","webpack://kontentDelivery/./node_modules/@kontent-ai/core-sdk/dist/es5/http/test-http.service.js","webpack://kontentDelivery/./node_modules/@kontent-ai/core-sdk/dist/es5/index.js","webpack://kontentDelivery/./node_modules/@kontent-ai/core-sdk/dist/es5/models/index.js","webpack://kontentDelivery/./node_modules/@kontent-ai/core-sdk/dist/es5/models/isdk-info.js","webpack://kontentDelivery/./node_modules/@kontent-ai/core-sdk/dist/es5/models/parameters.js","webpack://kontentDelivery/./node_modules/@kontent-ai/core-sdk/dist/es5/models/url.models.js","webpack://kontentDelivery/./node_modules/axios/index.js","webpack://kontentDelivery/./node_modules/axios/lib/adapters/xhr.js","webpack://kontentDelivery/./node_modules/axios/lib/axios.js","webpack://kontentDelivery/./node_modules/axios/lib/cancel/CancelToken.js","webpack://kontentDelivery/./node_modules/axios/lib/cancel/CanceledError.js","webpack://kontentDelivery/./node_modules/axios/lib/cancel/isCancel.js","webpack://kontentDelivery/./node_modules/axios/lib/core/Axios.js","webpack://kontentDelivery/./node_modules/axios/lib/core/AxiosError.js","webpack://kontentDelivery/./node_modules/axios/lib/core/InterceptorManager.js","webpack://kontentDelivery/./node_modules/axios/lib/core/buildFullPath.js","webpack://kontentDelivery/./node_modules/axios/lib/core/dispatchRequest.js","webpack://kontentDelivery/./node_modules/axios/lib/core/mergeConfig.js","webpack://kontentDelivery/./node_modules/axios/lib/core/settle.js","webpack://kontentDelivery/./node_modules/axios/lib/core/transformData.js","webpack://kontentDelivery/./node_modules/axios/lib/defaults/index.js","webpack://kontentDelivery/./node_modules/axios/lib/defaults/transitional.js","webpack://kontentDelivery/./node_modules/axios/lib/env/data.js","webpack://kontentDelivery/./node_modules/axios/lib/helpers/bind.js","webpack://kontentDelivery/./node_modules/axios/lib/helpers/buildURL.js","webpack://kontentDelivery/./node_modules/axios/lib/helpers/combineURLs.js","webpack://kontentDelivery/./node_modules/axios/lib/helpers/cookies.js","webpack://kontentDelivery/./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack://kontentDelivery/./node_modules/axios/lib/helpers/isAxiosError.js","webpack://kontentDelivery/./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack://kontentDelivery/./node_modules/axios/lib/helpers/normalizeHeaderName.js","webpack://kontentDelivery/./node_modules/axios/lib/helpers/null.js","webpack://kontentDelivery/./node_modules/axios/lib/helpers/parseHeaders.js","webpack://kontentDelivery/./node_modules/axios/lib/helpers/parseProtocol.js","webpack://kontentDelivery/./node_modules/axios/lib/helpers/spread.js","webpack://kontentDelivery/./node_modules/axios/lib/helpers/toFormData.js","webpack://kontentDelivery/./node_modules/axios/lib/helpers/validator.js","webpack://kontentDelivery/./node_modules/axios/lib/utils.js","webpack://kontentDelivery/./node_modules/querystringify/index.js","webpack://kontentDelivery/./node_modules/requires-port/index.js","webpack://kontentDelivery/./lib/client/delivery-client.factory.ts","webpack://kontentDelivery/./lib/client/delivery-client.ts","webpack://kontentDelivery/./lib/client/idelivery-client.interface.ts","webpack://kontentDelivery/./lib/client/index.ts","webpack://kontentDelivery/./lib/config/delivery-configs.ts","webpack://kontentDelivery/./lib/config/index.ts","webpack://kontentDelivery/./lib/contracts/contracts.ts","webpack://kontentDelivery/./lib/contracts/index.ts","webpack://kontentDelivery/./lib/elements/element-models.ts","webpack://kontentDelivery/./lib/elements/element-resolver.ts","webpack://kontentDelivery/./lib/elements/element-type.ts","webpack://kontentDelivery/./lib/elements/elements.ts","webpack://kontentDelivery/./lib/elements/index.ts","webpack://kontentDelivery/./lib/images/image-url-transformation-builder.factory.ts","webpack://kontentDelivery/./lib/images/image-url-transformation-builder.ts","webpack://kontentDelivery/./lib/images/image.models.ts","webpack://kontentDelivery/./lib/images/index.ts","webpack://kontentDelivery/./lib/index.ts","webpack://kontentDelivery/./lib/mappers/element.mapper.ts","webpack://kontentDelivery/./lib/mappers/generic-element.mapper.ts","webpack://kontentDelivery/./lib/mappers/index.ts","webpack://kontentDelivery/./lib/mappers/item.mapper.ts","webpack://kontentDelivery/./lib/mappers/language.mapper.ts","webpack://kontentDelivery/./lib/mappers/taxonomy.mapper.ts","webpack://kontentDelivery/./lib/mappers/type.mapper.ts","webpack://kontentDelivery/./lib/models/common/base-responses.ts","webpack://kontentDelivery/./lib/models/common/common-models.ts","webpack://kontentDelivery/./lib/models/common/filters.ts","webpack://kontentDelivery/./lib/models/common/headers.ts","webpack://kontentDelivery/./lib/models/common/index.ts","webpack://kontentDelivery/./lib/models/common/pagination.class.ts","webpack://kontentDelivery/./lib/models/common/parameters.ts","webpack://kontentDelivery/./lib/models/common/sort-order.ts","webpack://kontentDelivery/./lib/models/content-type-models.ts","webpack://kontentDelivery/./lib/models/element-models.ts","webpack://kontentDelivery/./lib/models/index.ts","webpack://kontentDelivery/./lib/models/item-models.ts","webpack://kontentDelivery/./lib/models/language-models.ts","webpack://kontentDelivery/./lib/models/responses.ts","webpack://kontentDelivery/./lib/models/taxonomy-models.ts","webpack://kontentDelivery/./lib/parser/implementation/async-browser-parser.class.ts","webpack://kontentDelivery/./lib/parser/implementation/browser-parser.class.ts","webpack://kontentDelivery/./lib/parser/index.ts","webpack://kontentDelivery/./lib/parser/parse-models.ts","webpack://kontentDelivery/./lib/parser/parser-configuration.ts","webpack://kontentDelivery/./lib/parser/parser.helper.ts","webpack://kontentDelivery/./lib/query/common/base-listing-query.class.ts","webpack://kontentDelivery/./lib/query/common/base-query.class.ts","webpack://kontentDelivery/./lib/query/element/element-query.class.ts","webpack://kontentDelivery/./lib/query/index.ts","webpack://kontentDelivery/./lib/query/item/multiple-items-query.class.ts","webpack://kontentDelivery/./lib/query/item/single-item-query.class.ts","webpack://kontentDelivery/./lib/query/items-feed/items-feed-query.class.ts","webpack://kontentDelivery/./lib/query/language/languages-query.class.ts","webpack://kontentDelivery/./lib/query/taxonomy/taxonomies-query.class.ts","webpack://kontentDelivery/./lib/query/taxonomy/taxonomy-query.class.ts","webpack://kontentDelivery/./lib/query/type/multiple-type-query.class.ts","webpack://kontentDelivery/./lib/query/type/single-type-query.class.ts","webpack://kontentDelivery/./lib/resolvers/index.ts","webpack://kontentDelivery/./lib/resolvers/property-name/camel-case-property-name-resolver.class.ts","webpack://kontentDelivery/./lib/resolvers/property-name/pascal-case-property-name-resolver.class.ts","webpack://kontentDelivery/./lib/resolvers/property-name/snake-case-property-name-resolver.class.ts","webpack://kontentDelivery/./lib/resolvers/rich-text/async/async-rich-text-html-resolver.ts","webpack://kontentDelivery/./lib/resolvers/rich-text/base/base-async-rich-text-resolver.ts","webpack://kontentDelivery/./lib/resolvers/rich-text/base/base-rich-text-resolver.ts","webpack://kontentDelivery/./lib/resolvers/rich-text/rich-text-resolver.models.ts","webpack://kontentDelivery/./lib/resolvers/rich-text/sync/rich-text-html-resolver.ts","webpack://kontentDelivery/./lib/resolvers/rich-text/sync/rich-text-json-resolver.ts","webpack://kontentDelivery/./lib/resolvers/rich-text/sync/rich-text-object-resolver.ts","webpack://kontentDelivery/./lib/sdk-info.generated.ts","webpack://kontentDelivery/./lib/services/base-delivery-query.service.ts","webpack://kontentDelivery/./lib/services/delivery-query.service.ts","webpack://kontentDelivery/./lib/services/index.ts","webpack://kontentDelivery/./lib/services/mapping.service.ts","webpack://kontentDelivery/./lib/utilities/delivery-url.helper.ts","webpack://kontentDelivery/./lib/utilities/guid.helper.ts","webpack://kontentDelivery/./lib/utilities/index.ts","webpack://kontentDelivery/./lib/utilities/linked-items.helper.ts","webpack://kontentDelivery/./lib/utilities/text-helper.ts","webpack://kontentDelivery/./node_modules/tslib/tslib.es6.js","webpack://kontentDelivery/./node_modules/url-parse/index.js","webpack://kontentDelivery/./node_modules/uuid/dist/esm-browser/index.js","webpack://kontentDelivery/./node_modules/uuid/dist/esm-browser/md5.js","webpack://kontentDelivery/./node_modules/uuid/dist/esm-browser/nil.js","webpack://kontentDelivery/./node_modules/uuid/dist/esm-browser/parse.js","webpack://kontentDelivery/./node_modules/uuid/dist/esm-browser/regex.js","webpack://kontentDelivery/./node_modules/uuid/dist/esm-browser/rng.js","webpack://kontentDelivery/./node_modules/uuid/dist/esm-browser/sha1.js","webpack://kontentDelivery/./node_modules/uuid/dist/esm-browser/stringify.js","webpack://kontentDelivery/./node_modules/uuid/dist/esm-browser/v1.js","webpack://kontentDelivery/./node_modules/uuid/dist/esm-browser/v3.js","webpack://kontentDelivery/./node_modules/uuid/dist/esm-browser/v35.js","webpack://kontentDelivery/./node_modules/uuid/dist/esm-browser/v4.js","webpack://kontentDelivery/./node_modules/uuid/dist/esm-browser/v5.js","webpack://kontentDelivery/./node_modules/uuid/dist/esm-browser/validate.js","webpack://kontentDelivery/./node_modules/uuid/dist/esm-browser/version.js","webpack://kontentDelivery/webpack/bootstrap","webpack://kontentDelivery/webpack/runtime/compat get default export","webpack://kontentDelivery/webpack/runtime/define property getters","webpack://kontentDelivery/webpack/runtime/global","webpack://kontentDelivery/webpack/runtime/hasOwnProperty shorthand","webpack://kontentDelivery/webpack/runtime/make namespace object","webpack://kontentDelivery/webpack/before-startup","webpack://kontentDelivery/webpack/startup","webpack://kontentDelivery/webpack/after-startup"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"kontentDelivery\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"kontentDelivery\"] = factory();\n\telse\n\t\troot[\"kontentDelivery\"] = factory();\n})(self, () => {\nreturn ","import { __values } from \"tslib\";\r\nvar EnumHelper = /** @class */ (function () {\r\n function EnumHelper() {\r\n }\r\n EnumHelper.prototype.getAllNames = function (T) {\r\n var enumNames = [];\r\n for (var key in T) {\r\n if (T.hasOwnProperty(key)) {\r\n enumNames.push(key);\r\n }\r\n }\r\n return enumNames;\r\n };\r\n EnumHelper.prototype.getAllValues = function (T) {\r\n var allEnumValues = Object.keys(T).map(function (key) { return T[key]; });\r\n return allEnumValues;\r\n };\r\n EnumHelper.prototype.getEnumFromValue = function (T, value) {\r\n try {\r\n if (!value) {\r\n return undefined;\r\n }\r\n // we can map back from index number directly\r\n if (this.isNumeric(value)) {\r\n return T[value];\r\n }\r\n // for strings, we need to compare each value separately\r\n var allEnumValues = this.getAllValues(T);\r\n var result = allEnumValues.find(function (m) { return m.toLowerCase() === value.toString().toLowerCase(); });\r\n if (!result) {\r\n return undefined;\r\n }\r\n return result;\r\n }\r\n catch (err) {\r\n return undefined;\r\n }\r\n };\r\n EnumHelper.prototype.getEnumFromName = function (T, name) {\r\n var e_1, _a;\r\n var allNames = this.getAllNames(T);\r\n try {\r\n for (var allNames_1 = __values(allNames), allNames_1_1 = allNames_1.next(); !allNames_1_1.done; allNames_1_1 = allNames_1.next()) {\r\n var enumName = allNames_1_1.value;\r\n if (enumName.toLowerCase() === name.toLowerCase()) {\r\n return T[enumName];\r\n }\r\n }\r\n }\r\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\r\n finally {\r\n try {\r\n if (allNames_1_1 && !allNames_1_1.done && (_a = allNames_1.return)) _a.call(allNames_1);\r\n }\r\n finally { if (e_1) throw e_1.error; }\r\n }\r\n return undefined;\r\n };\r\n EnumHelper.prototype.isNumeric = function (value) {\r\n return !isNaN(parseFloat(value)) && isFinite(value);\r\n };\r\n return EnumHelper;\r\n}());\r\nexport { EnumHelper };\r\nexport var enumHelper = new EnumHelper();\r\n//# sourceMappingURL=enum.helper.js.map","var HeaderHelper = /** @class */ (function () {\r\n function HeaderHelper() {\r\n /**\r\n * Header name for SDK usage\r\n */\r\n this.sdkVersionHeader = 'X-KC-SDKID';\r\n }\r\n /**\r\n * Header identifying SDK type & version for internal purposes of Kontent.ai\r\n */\r\n HeaderHelper.prototype.getSdkIdHeader = function (info) {\r\n return {\r\n header: this.sdkVersionHeader,\r\n value: \"\".concat(info.host, \";\").concat(info.name, \";\").concat(info.version)\r\n };\r\n };\r\n return HeaderHelper;\r\n}());\r\nexport { HeaderHelper };\r\nexport var headerHelper = new HeaderHelper();\r\n//# sourceMappingURL=header.helper.js.map","import { __values } from \"tslib\";\r\nexport function extractHeadersFromAxiosResponse(response) {\r\n var e_1, _a;\r\n var headers = [];\r\n try {\r\n for (var _b = __values(Object.keys(response.headers)), _c = _b.next(); !_c.done; _c = _b.next()) {\r\n var headerKey = _c.value;\r\n headers.push({\r\n header: headerKey,\r\n value: response.headers[headerKey]\r\n });\r\n }\r\n }\r\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\r\n finally {\r\n try {\r\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\r\n }\r\n finally { if (e_1) throw e_1.error; }\r\n }\r\n return headers;\r\n}\r\n//# sourceMappingURL=headers-helper.js.map","export * from './url.helper';\r\nexport * from './header.helper';\r\nexport * from './enum.helper';\r\nexport * from './retry-helper';\r\nexport * from './headers-helper';\r\n//# sourceMappingURL=index.js.map","import { extractHeadersFromAxiosResponse } from './headers-helper';\r\nvar RetryHelper = /** @class */ (function () {\r\n function RetryHelper() {\r\n var _this = this;\r\n this.requestCancelledMessagePrefix = 'Request cancelled';\r\n this.retryAfterHeaderName = 'Retry-After';\r\n this.defaultRetryStatusCodes = [408, 429, 500, 502, 503, 504];\r\n this.defaultRetryStrategy = {\r\n addJitter: true,\r\n deltaBackoffMs: 1000,\r\n maxAttempts: 5,\r\n canRetryError: function (error) { return _this.canRetryErrorDefault(error); }\r\n };\r\n }\r\n RetryHelper.prototype.getRetryErrorResult = function (data) {\r\n var _a, _b, _c;\r\n if (data.error && data.error.message) {\r\n if (data.error.message.startsWith(this.requestCancelledMessagePrefix)) {\r\n // request was cancelled by user, do not retry it\r\n return {\r\n canRetry: false,\r\n retryInMs: 0,\r\n maxRetries: 0\r\n };\r\n }\r\n }\r\n var canRetryError = data.retryStrategy.canRetryError\r\n ? data.retryStrategy.canRetryError(data.error)\r\n : this.defaultRetryStrategy.canRetryError(data.error);\r\n if (!canRetryError) {\r\n // request cannot be retried\r\n return {\r\n canRetry: false,\r\n retryInMs: 0,\r\n maxRetries: 0\r\n };\r\n }\r\n var maxRetries = ((_a = data.retryStrategy.maxAttempts) !== null && _a !== void 0 ? _a : this.defaultRetryStrategy.maxAttempts);\r\n var maxRetriesReached = data.retryAttempt >= maxRetries;\r\n if (maxRetriesReached) {\r\n // request cannot be retried anymore due to maximum attempts\r\n return {\r\n canRetry: false,\r\n retryInMs: 0,\r\n maxRetries: maxRetries\r\n };\r\n }\r\n // get wait time\r\n var retryResult = this.tryGetRetryAfterInMsFromError(data.error);\r\n if (retryResult) {\r\n // retry after header was provided\r\n return {\r\n canRetry: true,\r\n retryInMs: retryResult,\r\n maxRetries: maxRetries\r\n };\r\n }\r\n // wait time was not provided in header\r\n var waitTimeMs = this.getNextWaitTimeMs((_b = data.retryStrategy.addJitter) !== null && _b !== void 0 ? _b : this.defaultRetryStrategy.addJitter, (_c = data.retryStrategy.deltaBackoffMs) !== null && _c !== void 0 ? _c : this.defaultRetryStrategy.deltaBackoffMs, data.retryAttempt);\r\n return {\r\n canRetry: true,\r\n retryInMs: waitTimeMs,\r\n maxRetries: maxRetries\r\n };\r\n };\r\n RetryHelper.prototype.getRetryStrategyFromStrategyOptions = function (retryOptions) {\r\n if (!retryOptions) {\r\n return this.defaultRetryStrategy;\r\n }\r\n return retryOptions;\r\n };\r\n RetryHelper.prototype.canRetryInTime = function (startTime, maxCumulativeWaitTimeMs) {\r\n var start = startTime.getTime();\r\n var now = new Date().getTime();\r\n var differenceInMs = now - start;\r\n return {\r\n canRetry: differenceInMs < maxCumulativeWaitTimeMs,\r\n differenceInMs: differenceInMs\r\n };\r\n };\r\n RetryHelper.prototype.getNextWaitTimeMs = function (addJitter, deltaBackoffMs, retryAttempts) {\r\n if (!addJitter) {\r\n return deltaBackoffMs * Math.pow(2, retryAttempts);\r\n }\r\n var from = 0.8 * deltaBackoffMs;\r\n var to = 1.2 * deltaBackoffMs * Math.pow(2, retryAttempts);\r\n return this.randomNumberFromInterval(from, to);\r\n };\r\n RetryHelper.prototype.canRetryErrorDefault = function (error) {\r\n var axiosError = this.tryGetAxiosError(error);\r\n if (!axiosError) {\r\n // by default non-axios errors are not retried\r\n return false;\r\n }\r\n var statusCode = this.getStatusCodeFromError(error);\r\n var canRetryStatusCode = this.canRetryStatusCode(statusCode, this.defaultRetryStatusCodes);\r\n if (canRetryStatusCode) {\r\n return true;\r\n }\r\n return false;\r\n };\r\n RetryHelper.prototype.tryGetRetryAfterInMsFromError = function (error) {\r\n var _this = this;\r\n var axiosError = this.tryGetAxiosError(error);\r\n if (!axiosError || !axiosError.response) {\r\n return undefined;\r\n }\r\n var headers = extractHeadersFromAxiosResponse(axiosError.response);\r\n var retryValueHeader = headers.find(function (m) { return m.header.toLowerCase() === _this.retryAfterHeaderName.toLowerCase(); });\r\n if (!retryValueHeader) {\r\n return undefined;\r\n }\r\n var retryInSeconds = +retryValueHeader.value;\r\n return retryInSeconds * 1000;\r\n };\r\n RetryHelper.prototype.canRetryStatusCode = function (statusCode, useRetryForResponseCodes) {\r\n return useRetryForResponseCodes.includes(statusCode);\r\n };\r\n RetryHelper.prototype.getStatusCodeFromError = function (error) {\r\n var axiosError = this.tryGetAxiosError(error);\r\n if (!axiosError || !axiosError.response) {\r\n return 0;\r\n }\r\n return axiosError.response.status;\r\n };\r\n RetryHelper.prototype.tryGetAxiosError = function (error) {\r\n if (!error) {\r\n return undefined;\r\n }\r\n if (error.isAxiosError) {\r\n return error;\r\n }\r\n var originalError = error.originalError;\r\n if (originalError && originalError.isAxiosError) {\r\n return originalError;\r\n }\r\n return undefined;\r\n };\r\n /**\r\n * min and max included\r\n */\r\n RetryHelper.prototype.randomNumberFromInterval = function (min, max) {\r\n return Math.floor(Math.random() * (max - min + 1) + min);\r\n };\r\n return RetryHelper;\r\n}());\r\nexport { RetryHelper };\r\nexport var retryHelper = new RetryHelper();\r\n//# sourceMappingURL=retry-helper.js.map","var UrlHelper = /** @class */ (function () {\r\n function UrlHelper() {\r\n }\r\n /**\r\n * Adds query parameters to given url\r\n * @param url Url to which options will be added\r\n * @param options Query parameters to add\r\n */\r\n UrlHelper.prototype.addOptionsToUrl = function (url, options) {\r\n if (options) {\r\n options.forEach(function (filter) {\r\n if (url.indexOf('?') > -1) {\r\n url += '&';\r\n }\r\n else {\r\n url += '?';\r\n }\r\n url += filter.getParam();\r\n });\r\n }\r\n return url;\r\n };\r\n return UrlHelper;\r\n}());\r\nexport { UrlHelper };\r\nexport var urlHelper = new UrlHelper();\r\n//# sourceMappingURL=url.helper.js.map","var HttpDebugger = /** @class */ (function () {\r\n function HttpDebugger() {\r\n }\r\n /*\r\n Called when http request is started\r\n */\r\n HttpDebugger.prototype.debugStartHttpRequest = function () {\r\n };\r\n /*\r\n Called when http request is resolved\r\n */\r\n HttpDebugger.prototype.debugSuccessHttpRequest = function () {\r\n };\r\n /*\r\n Called when http request is being retried\r\n */\r\n HttpDebugger.prototype.debugRetryHttpRequest = function () {\r\n };\r\n return HttpDebugger;\r\n}());\r\nexport { HttpDebugger };\r\nexport var httpDebugger = new HttpDebugger();\r\n//# sourceMappingURL=http.debugger.js.map","import { __awaiter, __generator } from \"tslib\";\r\nimport axios from 'axios';\r\nimport { extractHeadersFromAxiosResponse } from '../helpers/headers-helper';\r\nimport { httpDebugger } from './http.debugger';\r\nimport { retryHelper } from '../helpers/retry-helper';\r\nexport function getWithRetryAsync(instance, call, functionsConfig, options) {\r\n var _a;\r\n return __awaiter(this, void 0, void 0, function () {\r\n var retryStrategyOptions;\r\n var _this = this;\r\n return __generator(this, function (_b) {\r\n switch (_b.label) {\r\n case 0:\r\n retryStrategyOptions = (_a = options === null || options === void 0 ? void 0 : options.retryStrategy) !== null && _a !== void 0 ? _a : retryHelper.defaultRetryStrategy;\r\n return [4 /*yield*/, runWithRetryAsync({\r\n retryAttempt: 0,\r\n url: call.url,\r\n retryStrategy: retryStrategyOptions,\r\n functionsConfig: functionsConfig,\r\n call: function (retryAttempt) { return __awaiter(_this, void 0, void 0, function () {\r\n var axiosResponse, response;\r\n var _a, _b;\r\n return __generator(this, function (_c) {\r\n switch (_c.label) {\r\n case 0:\r\n httpDebugger.debugStartHttpRequest();\r\n return [4 /*yield*/, instance.get(call.url, {\r\n headers: getHeadersJson((_a = options === null || options === void 0 ? void 0 : options.headers) !== null && _a !== void 0 ? _a : [], false),\r\n responseType: options === null || options === void 0 ? void 0 : options.responseType,\r\n cancelToken: (_b = options === null || options === void 0 ? void 0 : options.cancelToken) === null || _b === void 0 ? void 0 : _b.token\r\n })];\r\n case 1:\r\n axiosResponse = _c.sent();\r\n response = {\r\n data: axiosResponse.data,\r\n rawResponse: axiosResponse,\r\n headers: extractHeadersFromAxiosResponse(axiosResponse),\r\n status: axiosResponse.status,\r\n retryStrategy: {\r\n options: retryStrategyOptions,\r\n retryAttempts: retryAttempt\r\n }\r\n };\r\n httpDebugger.debugSuccessHttpRequest();\r\n return [2 /*return*/, response];\r\n }\r\n });\r\n }); }\r\n })];\r\n case 1: return [2 /*return*/, _b.sent()];\r\n }\r\n });\r\n });\r\n}\r\nexport function postWithRetryAsync(instance, call, functionsConfig, options) {\r\n var _a;\r\n return __awaiter(this, void 0, void 0, function () {\r\n var retryStrategyOptions;\r\n var _this = this;\r\n return __generator(this, function (_b) {\r\n switch (_b.label) {\r\n case 0:\r\n retryStrategyOptions = (_a = options === null || options === void 0 ? void 0 : options.retryStrategy) !== null && _a !== void 0 ? _a : retryHelper.defaultRetryStrategy;\r\n return [4 /*yield*/, runWithRetryAsync({\r\n retryAttempt: 0,\r\n url: call.url,\r\n retryStrategy: retryStrategyOptions,\r\n functionsConfig: functionsConfig,\r\n call: function (retryAttempt) { return __awaiter(_this, void 0, void 0, function () {\r\n var axiosResponse, response;\r\n var _a, _b;\r\n return __generator(this, function (_c) {\r\n switch (_c.label) {\r\n case 0:\r\n httpDebugger.debugStartHttpRequest();\r\n return [4 /*yield*/, instance.post(call.url, call.body, {\r\n headers: getHeadersJson((_a = options === null || options === void 0 ? void 0 : options.headers) !== null && _a !== void 0 ? _a : [], false),\r\n responseType: options === null || options === void 0 ? void 0 : options.responseType,\r\n // required for uploading large files\r\n // https://github.com/axios/axios/issues/1362\r\n maxContentLength: 'Infinity',\r\n maxBodyLength: 'Infinity',\r\n cancelToken: (_b = options === null || options === void 0 ? void 0 : options.cancelToken) === null || _b === void 0 ? void 0 : _b.token\r\n })];\r\n case 1:\r\n axiosResponse = _c.sent();\r\n response = {\r\n data: axiosResponse.data,\r\n rawResponse: axiosResponse,\r\n headers: extractHeadersFromAxiosResponse(axiosResponse),\r\n status: axiosResponse.status,\r\n retryStrategy: {\r\n options: retryStrategyOptions,\r\n retryAttempts: retryAttempt\r\n }\r\n };\r\n httpDebugger.debugSuccessHttpRequest();\r\n return [2 /*return*/, response];\r\n }\r\n });\r\n }); }\r\n })];\r\n case 1: return [2 /*return*/, _b.sent()];\r\n }\r\n });\r\n });\r\n}\r\nexport function putWithRetryAsync(instance, call, functionsConfig, options) {\r\n var _a;\r\n return __awaiter(this, void 0, void 0, function () {\r\n var retryStrategyOptions;\r\n var _this = this;\r\n return __generator(this, function (_b) {\r\n switch (_b.label) {\r\n case 0:\r\n retryStrategyOptions = (_a = options === null || options === void 0 ? void 0 : options.retryStrategy) !== null && _a !== void 0 ? _a : retryHelper.defaultRetryStrategy;\r\n return [4 /*yield*/, runWithRetryAsync({\r\n retryAttempt: 0,\r\n url: call.url,\r\n retryStrategy: retryStrategyOptions,\r\n functionsConfig: functionsConfig,\r\n call: function (retryAttempt) { return __awaiter(_this, void 0, void 0, function () {\r\n var axiosResponse, response;\r\n var _a, _b;\r\n return __generator(this, function (_c) {\r\n switch (_c.label) {\r\n case 0:\r\n httpDebugger.debugStartHttpRequest();\r\n return [4 /*yield*/, instance.put(call.url, call.body, {\r\n headers: getHeadersJson((_a = options === null || options === void 0 ? void 0 : options.headers) !== null && _a !== void 0 ? _a : [], false),\r\n responseType: options === null || options === void 0 ? void 0 : options.responseType,\r\n // required for uploading large files\r\n // https://github.com/axios/axios/issues/1362\r\n maxContentLength: 'Infinity',\r\n maxBodyLength: 'Infinity',\r\n cancelToken: (_b = options === null || options === void 0 ? void 0 : options.cancelToken) === null || _b === void 0 ? void 0 : _b.token\r\n })];\r\n case 1:\r\n axiosResponse = _c.sent();\r\n response = {\r\n data: axiosResponse.data,\r\n rawResponse: axiosResponse,\r\n headers: extractHeadersFromAxiosResponse(axiosResponse),\r\n status: axiosResponse.status,\r\n retryStrategy: {\r\n options: retryStrategyOptions,\r\n retryAttempts: retryAttempt\r\n }\r\n };\r\n httpDebugger.debugSuccessHttpRequest();\r\n return [2 /*return*/, response];\r\n }\r\n });\r\n }); }\r\n })];\r\n case 1: return [2 /*return*/, _b.sent()];\r\n }\r\n });\r\n });\r\n}\r\nexport function patchWithRetryAsync(instance, call, functionsConfig, options) {\r\n var _a;\r\n return __awaiter(this, void 0, void 0, function () {\r\n var retryStrategyOptions;\r\n var _this = this;\r\n return __generator(this, function (_b) {\r\n switch (_b.label) {\r\n case 0:\r\n retryStrategyOptions = (_a = options === null || options === void 0 ? void 0 : options.retryStrategy) !== null && _a !== void 0 ? _a : retryHelper.defaultRetryStrategy;\r\n return [4 /*yield*/, runWithRetryAsync({\r\n retryAttempt: 0,\r\n url: call.url,\r\n retryStrategy: retryStrategyOptions,\r\n functionsConfig: functionsConfig,\r\n call: function (retryAttempt) { return __awaiter(_this, void 0, void 0, function () {\r\n var axiosResponse, response;\r\n var _a, _b;\r\n return __generator(this, function (_c) {\r\n switch (_c.label) {\r\n case 0:\r\n httpDebugger.debugStartHttpRequest();\r\n return [4 /*yield*/, instance.patch(call.url, call.body, {\r\n headers: getHeadersJson((_a = options === null || options === void 0 ? void 0 : options.headers) !== null && _a !== void 0 ? _a : [], false),\r\n responseType: options === null || options === void 0 ? void 0 : options.responseType,\r\n // required for uploading large files\r\n // https://github.com/axios/axios/issues/1362\r\n maxContentLength: 'Infinity',\r\n maxBodyLength: 'Infinity',\r\n cancelToken: (_b = options === null || options === void 0 ? void 0 : options.cancelToken) === null || _b === void 0 ? void 0 : _b.token\r\n })];\r\n case 1:\r\n axiosResponse = _c.sent();\r\n response = {\r\n data: axiosResponse.data,\r\n rawResponse: axiosResponse,\r\n headers: extractHeadersFromAxiosResponse(axiosResponse),\r\n status: axiosResponse.status,\r\n retryStrategy: {\r\n options: retryStrategyOptions,\r\n retryAttempts: retryAttempt\r\n }\r\n };\r\n httpDebugger.debugSuccessHttpRequest();\r\n return [2 /*return*/, response];\r\n }\r\n });\r\n }); }\r\n })];\r\n case 1: return [2 /*return*/, _b.sent()];\r\n }\r\n });\r\n });\r\n}\r\nexport function deleteWithRetryAsync(instance, call, functionsConfig, options) {\r\n var _a;\r\n return __awaiter(this, void 0, void 0, function () {\r\n var retryStrategyOptions;\r\n var _this = this;\r\n return __generator(this, function (_b) {\r\n switch (_b.label) {\r\n case 0:\r\n retryStrategyOptions = (_a = options === null || options === void 0 ? void 0 : options.retryStrategy) !== null && _a !== void 0 ? _a : retryHelper.defaultRetryStrategy;\r\n return [4 /*yield*/, runWithRetryAsync({\r\n retryAttempt: 0,\r\n url: call.url,\r\n retryStrategy: retryStrategyOptions,\r\n functionsConfig: functionsConfig,\r\n call: function (retryAttempt) { return __awaiter(_this, void 0, void 0, function () {\r\n var axiosResponse, response;\r\n var _a, _b;\r\n return __generator(this, function (_c) {\r\n switch (_c.label) {\r\n case 0:\r\n httpDebugger.debugStartHttpRequest();\r\n return [4 /*yield*/, instance.delete(call.url, {\r\n headers: getHeadersJson((_a = options === null || options === void 0 ? void 0 : options.headers) !== null && _a !== void 0 ? _a : [], false),\r\n responseType: options === null || options === void 0 ? void 0 : options.responseType,\r\n // required for uploading large files\r\n // https://github.com/axios/axios/issues/1362\r\n maxContentLength: 'Infinity',\r\n maxBodyLength: 'Infinity',\r\n cancelToken: (_b = options === null || options === void 0 ? void 0 : options.cancelToken) === null || _b === void 0 ? void 0 : _b.token\r\n })];\r\n case 1:\r\n axiosResponse = _c.sent();\r\n response = {\r\n data: axiosResponse.data,\r\n rawResponse: axiosResponse,\r\n headers: extractHeadersFromAxiosResponse(axiosResponse),\r\n status: axiosResponse.status,\r\n retryStrategy: {\r\n options: retryStrategyOptions,\r\n retryAttempts: retryAttempt\r\n }\r\n };\r\n httpDebugger.debugSuccessHttpRequest();\r\n return [2 /*return*/, response];\r\n }\r\n });\r\n }); }\r\n })];\r\n case 1: return [2 /*return*/, _b.sent()];\r\n }\r\n });\r\n });\r\n}\r\nexport function createCancelToken() {\r\n var canceler;\r\n var token = new axios.CancelToken(function (c) {\r\n // An executor function receives a cancel function as a parameter\r\n canceler = c;\r\n });\r\n return {\r\n cancel: function (cancelMessage) {\r\n return canceler(\"\".concat(retryHelper.requestCancelledMessagePrefix, \": \").concat(cancelMessage !== null && cancelMessage !== void 0 ? cancelMessage : 'User cancel'));\r\n },\r\n token: token\r\n };\r\n}\r\nfunction runWithRetryAsync(data) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var error_1, retryResult_1;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n _a.trys.push([0, 2, , 6]);\r\n return [4 /*yield*/, data.call(data.retryAttempt)];\r\n case 1: return [2 /*return*/, _a.sent()];\r\n case 2:\r\n error_1 = _a.sent();\r\n retryResult_1 = retryHelper.getRetryErrorResult({\r\n error: error_1,\r\n retryAttempt: data.retryAttempt,\r\n retryStrategy: data.retryStrategy\r\n });\r\n if (!retryResult_1.canRetry) return [3 /*break*/, 5];\r\n httpDebugger.debugRetryHttpRequest();\r\n // wait time before retrying\r\n return [4 /*yield*/, new Promise(function (resolve) { return setTimeout(resolve, retryResult_1.retryInMs); })];\r\n case 3:\r\n // wait time before retrying\r\n _a.sent();\r\n // retry request\r\n console.warn(\"Retry attempt '\".concat(data.retryAttempt + 1, \"' from a maximum of '\").concat(retryResult_1.maxRetries, \"' retries. Request url: '\").concat(data.url, \"'\"));\r\n return [4 /*yield*/, runWithRetryAsync({\r\n call: data.call,\r\n retryStrategy: data.retryStrategy,\r\n retryAttempt: data.retryAttempt + 1,\r\n url: data.url,\r\n functionsConfig: data.functionsConfig\r\n })];\r\n case 4: return [2 /*return*/, _a.sent()];\r\n case 5:\r\n if (data.functionsConfig.logErrorsToConsole) {\r\n console.error(\"Executing '\".concat(data.url, \"' failed. Request was retried '\").concat(data.retryAttempt, \"' times. \"), error_1);\r\n }\r\n throw error_1;\r\n case 6: return [2 /*return*/];\r\n }\r\n });\r\n });\r\n}\r\nfunction getHeadersJson(headers, addContentTypeHeader) {\r\n var headerJson = {};\r\n headers.forEach(function (header) {\r\n headerJson[header.header] = header.value;\r\n });\r\n if (addContentTypeHeader) {\r\n // add default content type header if not present\r\n var contentTypeHeader = headers.find(function (m) { return m.header.toLowerCase() === 'Content-Type'.toLowerCase(); });\r\n if (!contentTypeHeader) {\r\n headerJson['Content-Type'] = 'application/json';\r\n }\r\n }\r\n return headerJson;\r\n}\r\n//# sourceMappingURL=http.functions.js.map","export {};\r\n//# sourceMappingURL=http.models.js.map","import { __awaiter, __generator } from \"tslib\";\r\nimport axios from 'axios';\r\nimport * as HttpFunctions from './http.functions';\r\nvar HttpService = /** @class */ (function () {\r\n function HttpService(opts) {\r\n this.opts = opts;\r\n this.axiosInstance = axios.create(opts === null || opts === void 0 ? void 0 : opts.axiosRequestConfig);\r\n this.functionsConfig = this.getFunctionsConfig();\r\n }\r\n HttpService.prototype.getAsync = function (call, options) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0: return [4 /*yield*/, HttpFunctions.getWithRetryAsync(this.axiosInstance, call, this.functionsConfig, options)];\r\n case 1: return [2 /*return*/, _a.sent()];\r\n }\r\n });\r\n });\r\n };\r\n HttpService.prototype.postAsync = function (call, options) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0: return [4 /*yield*/, HttpFunctions.postWithRetryAsync(this.axiosInstance, call, this.functionsConfig, options)];\r\n case 1: return [2 /*return*/, _a.sent()];\r\n }\r\n });\r\n });\r\n };\r\n HttpService.prototype.putAsync = function (call, options) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0: return [4 /*yield*/, HttpFunctions.putWithRetryAsync(this.axiosInstance, call, this.functionsConfig, options)];\r\n case 1: return [2 /*return*/, _a.sent()];\r\n }\r\n });\r\n });\r\n };\r\n HttpService.prototype.patchAsync = function (call, options) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0: return [4 /*yield*/, HttpFunctions.patchWithRetryAsync(this.axiosInstance, call, this.functionsConfig, options)];\r\n case 1: return [2 /*return*/, _a.sent()];\r\n }\r\n });\r\n });\r\n };\r\n HttpService.prototype.deleteAsync = function (call, options) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0: return [4 /*yield*/, HttpFunctions.deleteWithRetryAsync(this.axiosInstance, call, this.functionsConfig, options)];\r\n case 1: return [2 /*return*/, _a.sent()];\r\n }\r\n });\r\n });\r\n };\r\n HttpService.prototype.createCancelToken = function () {\r\n return HttpFunctions.createCancelToken();\r\n };\r\n HttpService.prototype.getFunctionsConfig = function () {\r\n var _a, _b;\r\n return {\r\n logErrorsToConsole: (_b = (_a = this.opts) === null || _a === void 0 ? void 0 : _a.logErrorsToConsole) !== null && _b !== void 0 ? _b : true\r\n };\r\n };\r\n return HttpService;\r\n}());\r\nexport { HttpService };\r\n//# sourceMappingURL=http.service.js.map","export {};\r\n//# sourceMappingURL=ihttp.service.js.map","export * from './ihttp.service';\r\nexport * from './http.service';\r\nexport * from './http.models';\r\nexport * from './http.functions';\r\nexport * from './http.debugger';\r\nexport * from './test-http.service';\r\n//# sourceMappingURL=index.js.map","var TestHttpService = /** @class */ (function () {\r\n function TestHttpService(config) {\r\n this.response = undefined;\r\n this.error = undefined;\r\n Object.assign(this, config);\r\n }\r\n TestHttpService.prototype.getAsync = function (call, options) {\r\n return this.resolveTestCall();\r\n };\r\n TestHttpService.prototype.postAsync = function (call, options) {\r\n return this.resolveTestCall();\r\n };\r\n TestHttpService.prototype.putAsync = function (call, options) {\r\n return this.resolveTestCall();\r\n };\r\n TestHttpService.prototype.patchAsync = function (call, options) {\r\n return this.resolveTestCall();\r\n };\r\n TestHttpService.prototype.deleteAsync = function (call, options) {\r\n return this.resolveTestCall();\r\n };\r\n TestHttpService.prototype.createCancelToken = function () {\r\n return {\r\n cancel: function () { },\r\n token: undefined\r\n };\r\n };\r\n TestHttpService.prototype.resolveTestCall = function () {\r\n var _this = this;\r\n var promise = new Promise(function (resolve, reject) {\r\n if (_this.response) {\r\n resolve(_this.response);\r\n }\r\n if (_this.error) {\r\n reject(_this.error);\r\n }\r\n throw Error(\"Missing test data\");\r\n });\r\n return promise;\r\n };\r\n return TestHttpService;\r\n}());\r\nexport { TestHttpService };\r\n//# sourceMappingURL=test-http.service.js.map","/* Public API */\r\nexport * from './helpers';\r\nexport * from './models';\r\nexport * from './http';\r\n//# sourceMappingURL=index.js.map","export * from './url.models';\r\nexport * from './isdk-info';\r\nexport * from './parameters';\r\n//# sourceMappingURL=index.js.map","export {};\r\n//# sourceMappingURL=isdk-info.js.map","export var Parameters;\r\n(function (Parameters) {\r\n var CustomParameter = /** @class */ (function () {\r\n /**\r\n * Custom parameter\r\n * @constructor\r\n * @param {string} name - Name of the parameter\r\n * @param {string} value - Value of the parameter\r\n */\r\n function CustomParameter(name, value) {\r\n this.name = name;\r\n this.value = value;\r\n if (!name) {\r\n throw Error(\"Name of the custom parameter is not specified\");\r\n }\r\n }\r\n CustomParameter.prototype.getParam = function () {\r\n return this.name;\r\n };\r\n CustomParameter.prototype.getParamValue = function () {\r\n return this.value;\r\n };\r\n return CustomParameter;\r\n }());\r\n Parameters.CustomParameter = CustomParameter;\r\n})(Parameters || (Parameters = {}));\r\n//# sourceMappingURL=parameters.js.map","export {};\r\n//# sourceMappingURL=url.models.js.map","module.exports = require('./lib/axios');","'use strict';\n\nvar utils = require('./../utils');\nvar settle = require('./../core/settle');\nvar cookies = require('./../helpers/cookies');\nvar buildURL = require('./../helpers/buildURL');\nvar buildFullPath = require('../core/buildFullPath');\nvar parseHeaders = require('./../helpers/parseHeaders');\nvar isURLSameOrigin = require('./../helpers/isURLSameOrigin');\nvar transitionalDefaults = require('../defaults/transitional');\nvar AxiosError = require('../core/AxiosError');\nvar CanceledError = require('../cancel/CanceledError');\nvar parseProtocol = require('../helpers/parseProtocol');\n\nmodule.exports = function xhrAdapter(config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n var requestData = config.data;\n var requestHeaders = config.headers;\n var responseType = config.responseType;\n var onCanceled;\n function done() {\n if (config.cancelToken) {\n config.cancelToken.unsubscribe(onCanceled);\n }\n\n if (config.signal) {\n config.signal.removeEventListener('abort', onCanceled);\n }\n }\n\n if (utils.isFormData(requestData) && utils.isStandardBrowserEnv()) {\n delete requestHeaders['Content-Type']; // Let the browser set it\n }\n\n var request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n var username = config.auth.username || '';\n var password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';\n requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n }\n\n var fullPath = buildFullPath(config.baseURL, config.url);\n\n request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n var responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n var response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config: config,\n request: request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n var timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded';\n var transitional = config.transitional || transitionalDefaults;\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (utils.isStandardBrowserEnv()) {\n // Add xsrf header\n var xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) && config.xsrfCookieName ?\n cookies.read(config.xsrfCookieName) :\n undefined;\n\n if (xsrfValue) {\n requestHeaders[config.xsrfHeaderName] = xsrfValue;\n }\n }\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n // Remove Content-Type if data is undefined\n delete requestHeaders[key];\n } else {\n // Otherwise add header to the request\n request.setRequestHeader(key, val);\n }\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(config.withCredentials)) {\n request.withCredentials = !!config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = config.responseType;\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', config.onDownloadProgress);\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', config.onUploadProgress);\n }\n\n if (config.cancelToken || config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = function(cancel) {\n if (!request) {\n return;\n }\n reject(!cancel || (cancel && cancel.type) ? new CanceledError() : cancel);\n request.abort();\n request = null;\n };\n\n config.cancelToken && config.cancelToken.subscribe(onCanceled);\n if (config.signal) {\n config.signal.aborted ? onCanceled() : config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n if (!requestData) {\n requestData = null;\n }\n\n var protocol = parseProtocol(fullPath);\n\n if (protocol && [ 'http', 'https', 'file' ].indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData);\n });\n};\n","'use strict';\n\nvar utils = require('./utils');\nvar bind = require('./helpers/bind');\nvar Axios = require('./core/Axios');\nvar mergeConfig = require('./core/mergeConfig');\nvar defaults = require('./defaults');\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n * @return {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n var context = new Axios(defaultConfig);\n var instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context);\n\n // Copy context to instance\n utils.extend(instance, context);\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nvar axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = require('./cancel/CanceledError');\naxios.CancelToken = require('./cancel/CancelToken');\naxios.isCancel = require('./cancel/isCancel');\naxios.VERSION = require('./env/data').version;\naxios.toFormData = require('./helpers/toFormData');\n\n// Expose AxiosError class\naxios.AxiosError = require('../lib/core/AxiosError');\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\naxios.spread = require('./helpers/spread');\n\n// Expose isAxiosError\naxios.isAxiosError = require('./helpers/isAxiosError');\n\nmodule.exports = axios;\n\n// Allow use of default import syntax in TypeScript\nmodule.exports.default = axios;\n","'use strict';\n\nvar CanceledError = require('./CanceledError');\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @class\n * @param {Function} executor The executor function.\n */\nfunction CancelToken(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n var resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n var token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(function(cancel) {\n if (!token._listeners) return;\n\n var i;\n var l = token._listeners.length;\n\n for (i = 0; i < l; i++) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = function(onfulfilled) {\n var _resolve;\n // eslint-disable-next-line func-names\n var promise = new Promise(function(resolve) {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message);\n resolvePromise(token.reason);\n });\n}\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n */\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n};\n\n/**\n * Subscribe to the cancel signal\n */\n\nCancelToken.prototype.subscribe = function subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n};\n\n/**\n * Unsubscribe from the cancel signal\n */\n\nCancelToken.prototype.unsubscribe = function unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n var index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n};\n\n/**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\nCancelToken.source = function source() {\n var cancel;\n var token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token: token,\n cancel: cancel\n };\n};\n\nmodule.exports = CancelToken;\n","'use strict';\n\nvar AxiosError = require('../core/AxiosError');\nvar utils = require('../utils');\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\nfunction CanceledError(message) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nmodule.exports = CanceledError;\n","'use strict';\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar buildURL = require('../helpers/buildURL');\nvar InterceptorManager = require('./InterceptorManager');\nvar dispatchRequest = require('./dispatchRequest');\nvar mergeConfig = require('./mergeConfig');\nvar buildFullPath = require('./buildFullPath');\nvar validator = require('../helpers/validator');\n\nvar validators = validator.validators;\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\n\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\nAxios.prototype.request = function request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n // Set config.method\n if (config.method) {\n config.method = config.method.toLowerCase();\n } else if (this.defaults.method) {\n config.method = this.defaults.method.toLowerCase();\n } else {\n config.method = 'get';\n }\n\n var transitional = config.transitional;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n // filter out skipped interceptors\n var requestInterceptorChain = [];\n var synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n var responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n var promise;\n\n if (!synchronousRequestInterceptors) {\n var chain = [dispatchRequest, undefined];\n\n Array.prototype.unshift.apply(chain, requestInterceptorChain);\n chain = chain.concat(responseInterceptorChain);\n\n promise = Promise.resolve(config);\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n }\n\n\n var newConfig = config;\n while (requestInterceptorChain.length) {\n var onFulfilled = requestInterceptorChain.shift();\n var onRejected = requestInterceptorChain.shift();\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected(error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest(newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n while (responseInterceptorChain.length) {\n promise = promise.then(responseInterceptorChain.shift(), responseInterceptorChain.shift());\n }\n\n return promise;\n};\n\nAxios.prototype.getUri = function getUri(config) {\n config = mergeConfig(this.defaults, config);\n var fullPath = buildFullPath(config.baseURL, config.url);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n};\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url: url,\n data: data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nmodule.exports = Axios;\n","'use strict';\n\nvar utils = require('../utils');\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n response && (this.response = response);\n}\n\nutils.inherits(AxiosError, Error, {\n toJSON: function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: this.config,\n code: this.code,\n status: this.response && this.response.status ? this.response.status : null\n };\n }\n});\n\nvar prototype = AxiosError.prototype;\nvar descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED'\n// eslint-disable-next-line func-names\n].forEach(function(code) {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = function(error, code, config, request, response, customProps) {\n var axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nmodule.exports = AxiosError;\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction InterceptorManager() {\n this.handlers = [];\n}\n\n/**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\nInterceptorManager.prototype.use = function use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n};\n\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\nInterceptorManager.prototype.eject = function eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n};\n\n/**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n */\nInterceptorManager.prototype.forEach = function forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n};\n\nmodule.exports = InterceptorManager;\n","'use strict';\n\nvar isAbsoluteURL = require('../helpers/isAbsoluteURL');\nvar combineURLs = require('../helpers/combineURLs');\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n * @returns {string} The combined full path\n */\nmodule.exports = function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar transformData = require('./transformData');\nvar isCancel = require('../cancel/isCancel');\nvar defaults = require('../defaults');\nvar CanceledError = require('../cancel/CanceledError');\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError();\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\nmodule.exports = function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n // Ensure headers exist\n config.headers = config.headers || {};\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.data,\n config.headers,\n config.transformRequest\n );\n\n // Flatten headers\n config.headers = utils.merge(\n config.headers.common || {},\n config.headers[config.method] || {},\n config.headers\n );\n\n utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n function cleanHeaderConfig(method) {\n delete config.headers[method];\n }\n );\n\n var adapter = config.adapter || defaults.adapter;\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n response.data,\n response.headers,\n config.transformResponse\n );\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n reason.response.data,\n reason.response.headers,\n config.transformResponse\n );\n }\n }\n\n return Promise.reject(reason);\n });\n};\n","'use strict';\n\nvar utils = require('../utils');\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n * @returns {Object} New object resulting from merging config2 to config1\n */\nmodule.exports = function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n var config = {};\n\n function getMergedValue(target, source) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge(target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(config1[prop], config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(undefined, config2[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(undefined, config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(prop) {\n if (prop in config2) {\n return getMergedValue(config1[prop], config2[prop]);\n } else if (prop in config1) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n var mergeMap = {\n 'url': valueFromConfig2,\n 'method': valueFromConfig2,\n 'data': valueFromConfig2,\n 'baseURL': defaultToConfig2,\n 'transformRequest': defaultToConfig2,\n 'transformResponse': defaultToConfig2,\n 'paramsSerializer': defaultToConfig2,\n 'timeout': defaultToConfig2,\n 'timeoutMessage': defaultToConfig2,\n 'withCredentials': defaultToConfig2,\n 'adapter': defaultToConfig2,\n 'responseType': defaultToConfig2,\n 'xsrfCookieName': defaultToConfig2,\n 'xsrfHeaderName': defaultToConfig2,\n 'onUploadProgress': defaultToConfig2,\n 'onDownloadProgress': defaultToConfig2,\n 'decompress': defaultToConfig2,\n 'maxContentLength': defaultToConfig2,\n 'maxBodyLength': defaultToConfig2,\n 'beforeRedirect': defaultToConfig2,\n 'transport': defaultToConfig2,\n 'httpAgent': defaultToConfig2,\n 'httpsAgent': defaultToConfig2,\n 'cancelToken': defaultToConfig2,\n 'socketPath': defaultToConfig2,\n 'responseEncoding': defaultToConfig2,\n 'validateStatus': mergeDirectKeys\n };\n\n utils.forEach(Object.keys(config1).concat(Object.keys(config2)), function computeConfigValue(prop) {\n var merge = mergeMap[prop] || mergeDeepProperties;\n var configValue = merge(prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n};\n","'use strict';\n\nvar AxiosError = require('./AxiosError');\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\nmodule.exports = function settle(resolve, reject, response) {\n var validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar defaults = require('../defaults');\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Object|String} data The data to be transformed\n * @param {Array} headers The headers for the request or response\n * @param {Array|Function} fns A single function or Array of functions\n * @returns {*} The resulting transformed data\n */\nmodule.exports = function transformData(data, headers, fns) {\n var context = this || defaults;\n /*eslint no-param-reassign:0*/\n utils.forEach(fns, function transform(fn) {\n data = fn.call(context, data, headers);\n });\n\n return data;\n};\n","'use strict';\n\nvar utils = require('../utils');\nvar normalizeHeaderName = require('../helpers/normalizeHeaderName');\nvar AxiosError = require('../core/AxiosError');\nvar transitionalDefaults = require('./transitional');\nvar toFormData = require('../helpers/toFormData');\n\nvar DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n headers['Content-Type'] = value;\n }\n}\n\nfunction getDefaultAdapter() {\n var adapter;\n if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = require('../adapters/xhr');\n } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {\n // For node use HTTP adapter\n adapter = require('../adapters/http');\n }\n return adapter;\n}\n\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nvar defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: getDefaultAdapter(),\n\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Accept');\n normalizeHeaderName(headers, 'Content-Type');\n\n if (utils.isFormData(data) ||\n utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n\n var isObjectPayload = utils.isObject(data);\n var contentType = headers && headers['Content-Type'];\n\n var isFileList;\n\n if ((isFileList = utils.isFileList(data)) || (isObjectPayload && contentType === 'multipart/form-data')) {\n var _FormData = this.env && this.env.FormData;\n return toFormData(isFileList ? {'files[]': data} : data, _FormData && new _FormData());\n } else if (isObjectPayload || contentType === 'application/json') {\n setContentTypeIfUnset(headers, 'application/json');\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n var transitional = this.transitional || defaults.transitional;\n var silentJSONParsing = transitional && transitional.silentJSONParsing;\n var forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n var strictJSONParsing = !silentJSONParsing && this.responseType === 'json';\n\n if (strictJSONParsing || (forcedJSONParsing && utils.isString(data) && data.length)) {\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n env: {\n FormData: require('./env/FormData')\n },\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nmodule.exports = defaults;\n","'use strict';\n\nmodule.exports = {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","module.exports = {\n \"version\": \"0.27.2\"\n};","'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n return fn.apply(thisArg, args);\n };\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var serializedParams;\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n\n if (utils.isArray(val)) {\n key = key + '[]';\n } else {\n val = [val];\n }\n\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n var hashmarkIndex = url.indexOf('#');\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n * @returns {string} The combined URL\n */\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n var cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n // Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })()\n);\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nmodule.exports = function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"<scheme>://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nmodule.exports = function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs have full support of the APIs needed to test\n // whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n var href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })()\n);\n","'use strict';\n\nvar utils = require('../utils');\n\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n utils.forEach(headers, function processHeader(value, name) {\n if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n headers[normalizedName] = value;\n delete headers[name];\n }\n });\n};\n","// eslint-disable-next-line strict\nmodule.exports = null;\n","'use strict';\n\nvar utils = require('./../utils');\n\n// Headers whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nvar ignoreDuplicateOf = [\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n];\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} headers Headers needing to be parsed\n * @returns {Object} Headers parsed into an object\n */\nmodule.exports = function parseHeaders(headers) {\n var parsed = {};\n var key;\n var val;\n var i;\n\n if (!headers) { return parsed; }\n\n utils.forEach(headers.split('\\n'), function parser(line) {\n i = line.indexOf(':');\n key = utils.trim(line.substr(0, i)).toLowerCase();\n val = utils.trim(line.substr(i + 1));\n\n if (key) {\n if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n return;\n }\n if (key === 'set-cookie') {\n parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nmodule.exports = function parseProtocol(url) {\n var match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n};\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};\n","'use strict';\n\nvar utils = require('../utils');\n\n/**\n * Convert a data object to FormData\n * @param {Object} obj\n * @param {?Object} [formData]\n * @returns {Object}\n **/\n\nfunction toFormData(obj, formData) {\n // eslint-disable-next-line no-param-reassign\n formData = formData || new FormData();\n\n var stack = [];\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n function build(data, parentKey) {\n if (utils.isPlainObject(data) || utils.isArray(data)) {\n if (stack.indexOf(data) !== -1) {\n throw Error('Circular reference detected in ' + parentKey);\n }\n\n stack.push(data);\n\n utils.forEach(data, function each(value, key) {\n if (utils.isUndefined(value)) return;\n var fullKey = parentKey ? parentKey + '.' + key : key;\n var arr;\n\n if (value && !parentKey && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (utils.endsWith(key, '[]') && (arr = utils.toArray(value))) {\n // eslint-disable-next-line func-names\n arr.forEach(function(el) {\n !utils.isUndefined(el) && formData.append(fullKey, convertValue(el));\n });\n return;\n }\n }\n\n build(value, fullKey);\n });\n\n stack.pop();\n } else {\n formData.append(parentKey, convertValue(data));\n }\n }\n\n build(obj);\n\n return formData;\n}\n\nmodule.exports = toFormData;\n","'use strict';\n\nvar VERSION = require('../env/data').version;\nvar AxiosError = require('../core/AxiosError');\n\nvar validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach(function(type, i) {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nvar deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return function(value, opt, opts) {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\n/**\n * Assert object's properties type\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n var keys = Object.keys(options);\n var i = keys.length;\n while (i-- > 0) {\n var opt = keys[i];\n var validator = schema[opt];\n if (validator) {\n var value = options[opt];\n var result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nmodule.exports = {\n assertOptions: assertOptions,\n validators: validators\n};\n","'use strict';\n\nvar bind = require('./helpers/bind');\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\n// eslint-disable-next-line func-names\nvar kindOf = (function(cache) {\n // eslint-disable-next-line func-names\n return function(thing) {\n var str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n };\n})(Object.create(null));\n\nfunction kindOfTest(type) {\n type = type.toLowerCase();\n return function isKindOf(thing) {\n return kindOf(thing) === type;\n };\n}\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\nfunction isArray(val) {\n return Array.isArray(val);\n}\n\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nvar isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n var result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\nfunction isString(val) {\n return typeof val === 'string';\n}\n\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {Object} val The value to test\n * @return {boolean} True if value is a plain Object, otherwise false\n */\nfunction isPlainObject(val) {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n var prototype = Object.getPrototypeOf(val);\n return prototype === null || prototype === Object.prototype;\n}\n\n/**\n * Determine if a value is a Date\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nvar isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nvar isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nvar isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nvar isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} thing The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(thing) {\n var pattern = '[object FormData]';\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) ||\n toString.call(thing) === pattern ||\n (isFunction(thing.toString) && thing.toString() === pattern)\n );\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nvar isURLSearchParams = kindOfTest('URLSearchParams');\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\nfunction trim(str) {\n return str.trim ? str.trim() : str.replace(/^\\s+|\\s+$/g, '');\n}\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n */\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' ||\n navigator.product === 'NativeScript' ||\n navigator.product === 'NS')) {\n return false;\n }\n return (\n typeof window !== 'undefined' &&\n typeof document !== 'undefined'\n );\n}\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n var result = {};\n function assignValue(val, key) {\n if (isPlainObject(result[key]) && isPlainObject(val)) {\n result[key] = merge(result[key], val);\n } else if (isPlainObject(val)) {\n result[key] = merge({}, val);\n } else if (isArray(val)) {\n result[key] = val.slice();\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n * @return {string} content value without BOM\n */\nfunction stripBOM(content) {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n */\n\nfunction inherits(constructor, superConstructor, props, descriptors) {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function} [filter]\n * @returns {Object}\n */\n\nfunction toFlatObject(sourceObj, destObj, filter) {\n var props;\n var i;\n var prop;\n var merged = {};\n\n destObj = destObj || {};\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if (!merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = Object.getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/*\n * determines whether a string ends with the characters of a specified string\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n * @returns {boolean}\n */\nfunction endsWith(str, searchString, position) {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n var lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object\n * @param {*} [thing]\n * @returns {Array}\n */\nfunction toArray(thing) {\n if (!thing) return null;\n var i = thing.length;\n if (isUndefined(i)) return null;\n var arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n// eslint-disable-next-line func-names\nvar isTypedArray = (function(TypedArray) {\n // eslint-disable-next-line func-names\n return function(thing) {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && Object.getPrototypeOf(Uint8Array));\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isPlainObject: isPlainObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n extend: extend,\n trim: trim,\n stripBOM: stripBOM,\n inherits: inherits,\n toFlatObject: toFlatObject,\n kindOf: kindOf,\n kindOfTest: kindOfTest,\n endsWith: endsWith,\n toArray: toArray,\n isTypedArray: isTypedArray,\n isFileList: isFileList\n};\n","'use strict';\n\nvar has = Object.prototype.hasOwnProperty\n , undef;\n\n/**\n * Decode a URI encoded string.\n *\n * @param {String} input The URI encoded string.\n * @returns {String|Null} The decoded string.\n * @api private\n */\nfunction decode(input) {\n try {\n return decodeURIComponent(input.replace(/\\+/g, ' '));\n } catch (e) {\n return null;\n }\n}\n\n/**\n * Attempts to encode a given input.\n *\n * @param {String} input The string that needs to be encoded.\n * @returns {String|Null} The encoded string.\n * @api private\n */\nfunction encode(input) {\n try {\n return encodeURIComponent(input);\n } catch (e) {\n return null;\n }\n}\n\n/**\n * Simple query string parser.\n *\n * @param {String} query The query string that needs to be parsed.\n * @returns {Object}\n * @api public\n */\nfunction querystring(query) {\n var parser = /([^=?#&]+)=?([^&]*)/g\n , result = {}\n , part;\n\n while (part = parser.exec(query)) {\n var key = decode(part[1])\n , value = decode(part[2]);\n\n //\n // Prevent overriding of existing properties. This ensures that build-in\n // methods like `toString` or __proto__ are not overriden by malicious\n // querystrings.\n //\n // In the case if failed decoding, we want to omit the key/value pairs\n // from the result.\n //\n if (key === null || value === null || key in result) continue;\n result[key] = value;\n }\n\n return result;\n}\n\n/**\n * Transform a query string to an object.\n *\n * @param {Object} obj Object that should be transformed.\n * @param {String} prefix Optional prefix.\n * @returns {String}\n * @api public\n */\nfunction querystringify(obj, prefix) {\n prefix = prefix || '';\n\n var pairs = []\n , value\n , key;\n\n //\n // Optionally prefix with a '?' if needed\n //\n if ('string' !== typeof prefix) prefix = '?';\n\n for (key in obj) {\n if (has.call(obj, key)) {\n value = obj[key];\n\n //\n // Edge cases where we actually want to encode the value to an empty\n // string instead of the stringified value.\n //\n if (!value && (value === null || value === undef || isNaN(value))) {\n value = '';\n }\n\n key = encode(key);\n value = encode(value);\n\n //\n // If we failed to encode the strings, we should bail out as we don't\n // want to add invalid strings to the query.\n //\n if (key === null || value === null) continue;\n pairs.push(key +'='+ value);\n }\n }\n\n return pairs.length ? prefix + pairs.join('&') : '';\n}\n\n//\n// Expose the module.\n//\nexports.stringify = querystringify;\nexports.parse = querystring;\n","'use strict';\n\n/**\n * Check if we're required to add a port number.\n *\n * @see https://url.spec.whatwg.org/#default-port\n * @param {Number|String} port Port number we need to check\n * @param {String} protocol Protocol we need to check against.\n * @returns {Boolean} Is it a default port for the given protocol\n * @api private\n */\nmodule.exports = function required(port, protocol) {\n protocol = protocol.split(':')[0];\n port = +port;\n\n if (!port) return false;\n\n switch (protocol) {\n case 'http':\n case 'ws':\n return port !== 80;\n\n case 'https':\n case 'wss':\n return port !== 443;\n\n case 'ftp':\n return port !== 21;\n\n case 'gopher':\n return port !== 70;\n\n case 'file':\n return false;\n }\n\n return port !== 0;\n};\n","import { IDeliveryClientConfig } from '../config/delivery-configs';\r\nimport { DeliveryClient } from './delivery-client';\r\n\r\nexport function createDeliveryClient(config: IDeliveryClientConfig): DeliveryClient {\r\n return new DeliveryClient(config);\r\n}\r\n","import { HttpService } from '@kontent-ai/core-sdk';\r\n\r\nimport { IDeliveryClientConfig } from '../config';\r\nimport { IContentItem } from '../models';\r\nimport {\r\n ElementQuery,\r\n ItemsFeedQuery,\r\n MultipleItemsQuery,\r\n MultipleTypeQuery,\r\n SingleItemQuery,\r\n SingleTypeQuery,\r\n TaxonomiesQuery,\r\n TaxonomyQuery,\r\n LanguagesQuery\r\n} from '../query';\r\nimport { sdkInfo } from '../sdk-info.generated';\r\nimport { IMappingService, MappingService, QueryService } from '../services';\r\nimport { IDeliveryClient } from './idelivery-client.interface';\r\n\r\nexport class DeliveryClient implements IDeliveryClient {\r\n private queryService: QueryService;\r\n public mappingService: IMappingService;\r\n\r\n /**\r\n * Delivery client used to fetch data from Kontent.ai\r\n * @constructor\r\n * @param {IDeliveryClientConfig} config - The client configuration\r\n */\r\n constructor(protected config: IDeliveryClientConfig) {\r\n if (!config) {\r\n throw Error(`Delivery client configuration is not set`);\r\n }\r\n\r\n this.mappingService = new MappingService(config);\r\n this.queryService = new QueryService(\r\n config,\r\n config.httpService ? config.httpService : new HttpService(),\r\n {\r\n host: sdkInfo.host,\r\n name: sdkInfo.name,\r\n version: sdkInfo.version\r\n },\r\n this.mappingService\r\n );\r\n }\r\n\r\n /**\r\n * Gets query for multiple languages\r\n */\r\n languages(): LanguagesQuery {\r\n return new LanguagesQuery(this.config, this.queryService);\r\n }\r\n\r\n /**\r\n * Gets query for multiple types\r\n */\r\n types(): MultipleTypeQuery {\r\n return new MultipleTypeQuery(this.config, this.queryService);\r\n }\r\n\r\n /**\r\n * Gets query for single type\r\n * @param {string} typeCodename - Codename of the type to fetch\r\n */\r\n type(typeCodename: string): SingleTypeQuery {\r\n return new SingleTypeQuery(this.config, this.queryService, typeCodename);\r\n }\r\n\r\n /**\r\n * Gets query for multiple items\r\n */\r\n items<TContentItem extends IContentItem = IContentItem>(): MultipleItemsQuery<TContentItem> {\r\n return new MultipleItemsQuery<TContentItem>(this.config, this.queryService);\r\n }\r\n\r\n /**\r\n * Gets query for single item\r\n * @param {string} codename - Codename of item to fetch\r\n */\r\n item<TContentItem extends IContentItem = IContentItem>(codename: string): SingleItemQuery<TContentItem> {\r\n return new SingleItemQuery<TContentItem>(this.config, this.queryService, codename);\r\n }\r\n\r\n /**\r\n * Gets query for items feed. Executes single HTTP request only. Might not get all items from your Kontent project.\r\n */\r\n itemsFeed<TContentItem extends IContentItem = IContentItem>(): ItemsFeedQuery<TContentItem> {\r\n return new ItemsFeedQuery<TContentItem>(this.config, this.queryService);\r\n }\r\n\r\n /**\r\n * Gets query for single taxonomy\r\n * @param {string} codename - Codename of taxonomy to fetch\r\n */\r\n taxonomy(codename: string): TaxonomyQuery {\r\n return new TaxonomyQuery(this.config, this.queryService, codename);\r\n }\r\n\r\n /**\r\n * Gets query for multiple taxonomies\r\n */\r\n taxonomies(): TaxonomiesQuery {\r\n return new TaxonomiesQuery(this.config, this.queryService);\r\n }\r\n\r\n /**\r\n * Gets query for an element within a type\r\n * @param {string} typeCodename - Codename of the type\r\n * @param {string} elementCodename - Codename of the element\r\n */\r\n element(typeCodename: string, elementCodename: string): ElementQuery {\r\n return new ElementQuery(this.config, this.queryService, typeCodename, elementCodename);\r\n }\r\n}\r\n","import { IContentItem } from '../models';\r\nimport {\r\n ElementQuery,\r\n ItemsFeedQuery,\r\n MultipleItemsQuery,\r\n MultipleTypeQuery,\r\n SingleItemQuery,\r\n SingleTypeQuery,\r\n TaxonomiesQuery,\r\n TaxonomyQuery,\r\n LanguagesQuery,\r\n} from '../query';\r\nimport { IMappingService } from '../services';\r\n\r\nexport interface IDeliveryClient {\r\n /**\r\n * Mapping service - can be used to get strongly typed responses from json result\r\n */\r\n mappingService: IMappingService;\r\n\r\n /**\r\n * Gets query for languages\r\n */\r\n languages(): LanguagesQuery;\r\n\r\n /**\r\n * Gets query for multiple types\r\n */\r\n types(): MultipleTypeQuery;\r\n\r\n /**\r\n * Gets query for single type\r\n * @param {string} typeCodename - Codename of the type to retrieve\r\n */\r\n type(typeCodename: string): SingleTypeQuery;\r\n\r\n /**\r\n * Gets query for multiple items\r\n */\r\n items<TContentItem extends IContentItem = IContentItem>(): MultipleItemsQuery<TContentItem>;\r\n\r\n /**\r\n * Gets query for items feed. Executes single HTTP request only. Might not get all items from your Kontent project.\r\n */\r\n itemsFeed<TContentItem extends IContentItem = IContentItem>(): ItemsFeedQuery<TContentItem>;\r\n\r\n /**\r\n * Gets query for single item\r\n * @param {string} codename - Codename of item to retrieve\r\n */\r\n item<TContentItem extends IContentItem = IContentItem>(codename: string): SingleItemQuery<TContentItem>;\r\n\r\n /**\r\n * Gets query for multiple taxonomies\r\n */\r\n taxonomies(): TaxonomiesQuery;\r\n\r\n /**\r\n * Gets query for single item\r\n * @param {string} codename - Codename of taxonomy to retrieve\r\n */\r\n taxonomy(codename: string): TaxonomyQuery;\r\n\r\n /**\r\n * Gets query for an element within a type\r\n */\r\n element(typeCodename: string, elementCodename: string): ElementQuery;\r\n}\r\n","export * from './delivery-client';\r\nexport * from './idelivery-client.interface';\r\nexport * from './delivery-client.factory';\r\n","import { IHeader, IHttpService, IRetryStrategyOptions } from '@kontent-ai/core-sdk';\r\n\r\nimport { ElementResolver } from '../elements';\r\nimport { LinkedItemsReferenceHandler, IProxyUrlData, IQueryConfig, PropertyNameResolver } from '../models';\r\n\r\nexport interface IDeliveryClientProxyConfig {\r\n /**\r\n * Base url used for preview reqeusts. Defaults to 'preview-deliver.kontent.ai'\r\n */\r\n basePreviewUrl?: string;\r\n\r\n /**\r\n * Can be used to generate custom request urls.\r\n * Useful when you have a proxy server and need to transform url to a specific format\r\n * and setting 'baseUrl' is not sufficient.\r\n */\r\n advancedProxyUrlResolver?: (data: IProxyUrlData) => string;\r\n\r\n /**\r\n * Base url used for all requests. Defaults to 'deliver.kontent.ai'\r\n */\r\n baseUrl?: string;\r\n}\r\n\r\nexport interface IDeliveryClientConfig {\r\n /**\r\n * ProjectId of your Kontent.ai project\r\n */\r\n projectId: string;\r\n\r\n /**\r\n * Resolver used to rename content item elements. Can be used to e.g. transform underscored element codenames to camelCase format\r\n */\r\n propertyNameResolver?: PropertyNameResolver;\r\n\r\n /**\r\n * Preview API key\r\n */\r\n previewApiKey?: string;\r\n\r\n /**\r\n * Secure API key\r\n * Important: Use secured API only when running on Node.JS server, otherwise\r\n * your key would be exposed in browsers\r\n */\r\n secureApiKey?: string;\r\n\r\n /**\r\n * Resolver used for using custom models for custom elements.\r\n */\r\n elementResolver?: ElementResolver;\r\n\r\n /**\r\n * Proxy configuration\r\n */\r\n proxy?: IDeliveryClientProxyConfig;\r\n\r\n /**\r\n * Default language of content items\r\n */\r\n defaultLanguage?: string;\r\n\r\n /**\r\n * Retry policy configuration\r\n */\r\n retryStrategy?: IRetryStrategyOptions;\r\n\r\n /**\r\n * Can be used to inject custom Http service to perform requests\r\n */\r\n httpService?: IHttpService<any>;\r\n\r\n /**\r\n * Extra headers added to each http request\r\n */\r\n globalHeaders?: (queryConfig: IQueryConfig) => IHeader[];\r\n\r\n /**\r\n * Default query configuration. Can be overriden by individual queries.\r\n */\r\n defaultQueryConfig?: IQueryConfig;\r\n\r\n /**\r\n * Indicates how linked item references are handled (can be used to disable refence mapping when you encounter an issue\r\n * with circular refences)\r\n */\r\n linkedItemsReferenceHandler?: LinkedItemsReferenceHandler;\r\n\r\n /**\r\n * Sets custom domain for assets\r\n */\r\n assetsDomain?: string;\r\n\r\n /**\r\n * Codename of rendition preset to be applied by default to the base asset URL path.\r\n */\r\n defaultRenditionPreset?: string;\r\n}\r\n","export * from './delivery-configs';\r\n","export namespace Contracts {\r\n export interface IPaginationContract {\r\n skip: number;\r\n limit: number;\r\n count: number;\r\n next_page: string;\r\n total_count?: number;\r\n }\r\n\r\n export interface IContentTypeElementContract {\r\n codename?: string;\r\n type: string;\r\n name: string;\r\n taxonomyGroup?: string;\r\n options?: IElementOptionContract[];\r\n }\r\n\r\n export interface IContentTypeElementsContainer {\r\n [key: string]: IContentTypeElementContract;\r\n }\r\n\r\n export interface IElementOptionContract {\r\n name: string;\r\n codename: string;\r\n }\r\n\r\n export interface IListLanguagesContract {\r\n languages: ILanguageContract[];\r\n pagination: IPaginationContract;\r\n }\r\n\r\n export interface ILanguageContract {\r\n system: {\r\n id: string;\r\n name: string;\r\n codename: string;\r\n };\r\n }\r\n\r\n export interface IViewContentTypeElementContract {\r\n type: string;\r\n name: string;\r\n codename: string;\r\n taxonomy_group?: string;\r\n options?: IElementOptionContract[];\r\n }\r\n\r\n export interface IElementContract {\r\n codename?: string;\r\n name: string;\r\n type: string;\r\n value: any;\r\n taxonomy_group?: string;\r\n }\r\n\r\n export interface IAsssetRenditionContract {\r\n rendition_id: string;\r\n preset_id: string;\r\n width: number;\r\n height: number;\r\n query: string;\r\n }\r\n\r\n export interface IAssetContract {\r\n name: string;\r\n type: string;\r\n size: number;\r\n description: string;\r\n url: string;\r\n width: number | null;\r\n height: number | null;\r\n renditions?: { [renditionPresetCodename: string]: IAsssetRenditionContract };\r\n }\r\n\r\n export interface IMultipleChoiceOptionContract {\r\n name: string;\r\n codename: string;\r\n }\r\n\r\n export interface ITaxonomyTerm {\r\n name: string;\r\n codename: string;\r\n }\r\n\r\n export interface IRichTextElementLinkWrapperContract {\r\n [key: string]: IRichTextElementLinkContract;\r\n }\r\n\r\n export interface IRichTextElementLinkContract {\r\n type: string;\r\n codename: string;\r\n url_slug: string;\r\n }\r\n\r\n export interface IRichTextElementImageWrapperContract {\r\n [key: string]: IRichTextElementImageContract;\r\n }\r\n\r\n export interface IRichTextElementImageContract {\r\n image_id: string;\r\n url: string;\r\n description: string | null;\r\n height: number | null;\r\n width: number | null;\r\n }\r\n\r\n export interface IRichTextElementContract extends IElementContract {\r\n /**\r\n * Modular content items\r\n */\r\n modular_content: string[];\r\n\r\n /**\r\n * Json with links\r\n */\r\n links: IRichTextElementLinkWrapperContract;\r\n\r\n /**\r\n * Json with images\r\n */\r\n images: IRichTextElementImageWrapperContract;\r\n }\r\n\r\n export interface IContentItemElementsContracts {\r\n [key: string]: IElementContract;\r\n }\r\n\r\n export interface ILinkContract {\r\n codename: string;\r\n type: string;\r\n url_slug: string;\r\n }\r\n\r\n export interface IModularContentContract {\r\n [key: string]: IModularContentContentItemContract;\r\n }\r\n\r\n export interface IModularContentContentItemContract {\r\n system: IContentItemSystemAttributesContract;\r\n elements: IContentItemElementsContracts;\r\n }\r\n\r\n export interface IContentItemContract {\r\n system: IContentItemSystemAttributesContract;\r\n elements: IContentItemElementsContracts;\r\n }\r\n\r\n export interface IContentItemSystemAttributesContract {\r\n id: string;\r\n name: string;\r\n codename: string;\r\n type: string;\r\n last_modified: string;\r\n language: string;\r\n sitemap_locations: string[];\r\n collection: string;\r\n workflow_step: string | null;\r\n }\r\n\r\n export interface IItemsWithModularContentContract {\r\n items: IContentItemContract[];\r\n modular_content: IModularContentContract;\r\n }\r\n\r\n export interface IItemsFeedContract extends IItemsWithModularContentContract {}\r\n\r\n export interface IListContentItemsContract extends IItemsWithModularContentContract {\r\n pagination: IPaginationContract;\r\n }\r\n\r\n export interface IViewContentItemContract {\r\n item: IContentItemContract;\r\n modular_content: IModularContentContract;\r\n }\r\n\r\n export interface ITaxonomyTermsContract {\r\n name: string;\r\n codename: string;\r\n terms: ITaxonomyTermsContract[];\r\n }\r\n\r\n export interface ITaxonomySystemAttributesContract {\r\n id: string;\r\n name: string;\r\n codename: string;\r\n last_modified: Date;\r\n }\r\n\r\n export interface ITaxonomyGroupContract {\r\n system: ITaxonomySystemAttributesContract;\r\n terms: ITaxonomyTermsContract[];\r\n }\r\n\r\n export interface IViewTaxonomyGroupContract {\r\n system: ITaxonomySystemAttributesContract;\r\n terms: ITaxonomyTermsContract[];\r\n }\r\n\r\n export interface IListTaxonomyGroupsContract {\r\n taxonomies: ITaxonomyGroupContract[];\r\n pagination: IPaginationContract;\r\n }\r\n\r\n export interface IContentTypeSystemAttributesContract {\r\n id: string;\r\n name: string;\r\n codename: string;\r\n last_modified: Date;\r\n }\r\n\r\n export interface IContentTypeContract {\r\n system: IContentTypeSystemAttributesContract;\r\n elements: IContentTypeElementsContainer;\r\n }\r\n\r\n export interface IListContentTypeContract {\r\n types: IContentTypeContract[];\r\n pagination: IPaginationContract;\r\n }\r\n\r\n export interface IViewContentTypeContract extends IContentTypeContract {}\r\n}\r\n","export * from './contracts';\r\n","import { IContentItemSystemAttributes } from '../models/item-models';\r\nimport { Contracts } from '../contracts';\r\nimport { ElementType } from './element-type';\r\n\r\nexport namespace ElementModels {\r\n export interface IRichTextResolverData {\r\n html: string;\r\n linkedItemCodenames: string[];\r\n componentCodenames: string[];\r\n }\r\n\r\n export interface IElementWrapper {\r\n element: string;\r\n system: IContentItemSystemAttributes;\r\n rawElement: Contracts.IElementContract;\r\n }\r\n\r\n export interface IElement<TValue> {\r\n /**\r\n * Name of the element\r\n */\r\n name: string;\r\n\r\n /**\r\n * Element type\r\n */\r\n type: ElementType;\r\n\r\n /**\r\n * Element value\r\n */\r\n value: TValue;\r\n }\r\n\r\n export interface AssetModel {\r\n /**\r\n * Name of the asset\r\n */\r\n name: string;\r\n\r\n /**\r\n * Type of the asset\r\n */\r\n type: string;\r\n\r\n /**\r\n * Size of the asset\r\n */\r\n size: number;\r\n\r\n /**\r\n * Description of the asset\r\n */\r\n description: string | null;\r\n\r\n /**\r\n * Url of the asset\r\n */\r\n url: string;\r\n\r\n /**\r\n * Width in pixels for image assets\r\n */\r\n width: number | null;\r\n\r\n /**\r\n * Height in pixels for image assets\r\n */\r\n height: number | null;\r\n\r\n /**\r\n * Dictionary with rendition preset codenames as keys and respective renditions as values.\r\n */\r\n renditions: { [renditionPresetCodename: string]: Rendition } | null;\r\n }\r\n\r\n export interface Rendition {\r\n rendition_id: string;\r\n preset_id: string;\r\n width: number;\r\n height: number;\r\n query: string;\r\n url: string;\r\n }\r\n\r\n export interface MultipleChoiceOption {\r\n name: string;\r\n codename: string;\r\n }\r\n\r\n export interface TaxonomyTerm<TaxonomyCodename extends string = string> {\r\n name: string;\r\n codename: TaxonomyCodename;\r\n }\r\n}\r\n","import { ElementModels } from './element-models';\r\n\r\nexport type ElementResolver = (element: ElementModels.IElementWrapper) => any | undefined;\r\n","/**\r\n* Represents codename of Kontent.ai element types\r\n*/\r\nexport enum ElementType {\r\n Text = 'text',\r\n Number = 'number',\r\n ModularContent = 'modular_content',\r\n Asset = 'asset',\r\n DateTime = 'date_time',\r\n RichText = 'rich_text',\r\n MultipleChoice = 'multiple_choice',\r\n UrlSlug = 'url_slug',\r\n Taxonomy = 'taxonomy',\r\n Custom = 'custom',\r\n Unknown = 'unknown'\r\n}\r\n","import { IContentItem, ILink, IRichTextImage } from '../models';\r\nimport { ElementModels } from './element-models';\r\n\r\nexport namespace Elements {\r\n export type TextElement = ElementModels.IElement<string>;\r\n\r\n export type LinkedItemsElement<TContentItem extends IContentItem = IContentItem> = ElementModels.IElement<\r\n string[]\r\n > & {\r\n /**\r\n * Linked items\r\n */\r\n linkedItems: TContentItem[];\r\n };\r\n\r\n export type MultipleChoiceElement = ElementModels.IElement<ElementModels.MultipleChoiceOption[]>;\r\n\r\n export type DateTimeElement = ElementModels.IElement<string | null>;\r\n\r\n export type RichTextElement = ElementModels.IElement<string> & {\r\n /**\r\n * Links\r\n */\r\n links: ILink[];\r\n\r\n /**\r\n * Images included within rich text element\r\n */\r\n images: IRichTextImage[];\r\n\r\n /**\r\n * Array of linked item codenames\r\n */\r\n linkedItemCodenames: string[];\r\n\r\n /**\r\n * Array of linked items retrieved from `modular_content` part of the response. Not all items might be here\r\n * as it depends on the `depth` parameter of query.\r\n * The `linkedItemsReferenceHandler` configuration can be used to disable mapping of linked items\r\n */\r\n linkedItems: IContentItem[];\r\n };\r\n\r\n export type NumberElement = ElementModels.IElement<number | null>;\r\n\r\n export type AssetsElement = ElementModels.IElement<ElementModels.AssetModel[]>;\r\n\r\n export type UrlSlugElement = ElementModels.IElement<string>;\r\n\r\n export type TaxonomyElement<TaxonomyCodename extends string = string> = ElementModels.IElement<\r\n ElementModels.TaxonomyTerm<TaxonomyCodename>[]\r\n > & {\r\n /**\r\n * Taxonomy group\r\n */\r\n taxonomyGroup: string | null;\r\n };\r\n\r\n export type UnknownElement = ElementModels.IElement<any>;\r\n\r\n export type CustomElement<TValue = string> = ElementModels.IElement<TValue>;\r\n}\r\n","export * from './element-models';\r\nexport * from './element-type';\r\nexport * from './elements';\r\nexport * from './element-resolver';\r\n","import { ImageUrlTransformationBuilder } from './image-url-transformation-builder';\r\n\r\nexport function transformImageUrl(url: string): ImageUrlTransformationBuilder {\r\n return new ImageUrlTransformationBuilder(url);\r\n}\r\n","import { IQueryParameter } from '@kontent-ai/core-sdk';\r\n\r\nimport { Parameters } from '../models';\r\nimport { ImageCompression, ImageFitMode, ImageFormat } from './image.models';\r\n\r\nexport class ImageUrlTransformationBuilder {\r\n private queryParams: IQueryParameter[] = [];\r\n private readonly automaticFormatValue: string = 'format';\r\n\r\n constructor(\r\n /** Image url */\r\n public imageUrl: string\r\n ) { }\r\n\r\n /**\r\n * Used to add custom parameters to existing query string\r\n * @param param Parameter (may or may not include value)\r\n */\r\n withCustomParam(param: string): this {\r\n this.queryParams.push(\r\n new Parameters.CustomParameter(param)\r\n );\r\n return this;\r\n }\r\n\r\n /**\r\n * The dpr transformation is used to serve correctly sized images for devices that expose a device pixel ratio.\r\n * @param dpr A required DPR value.\r\n */\r\n withDpr(dpr: number): this {\r\n this.queryParams.push(\r\n new Parameters.QueryParameter('dpr', dpr.toString())\r\n );\r\n\r\n return this;\r\n }\r\n\r\n /**\r\n * Applies the crop transformation that removes pixels from an image outside the specified rectangle.\r\n * @param x Rectangle offset on the X-axis.\r\n * @param y Rectangle offset on the Y-axis.\r\n * @param width Rectangle width.\r\n * @param height Rectangle height.\r\n */\r\n withRectangleCrop(x: number, y: number, width: number, height: number): this {\r\n this.queryParams.push(\r\n new Parameters.QueryParameter('rect', [x, y, width, height].join(','))\r\n );\r\n return this;\r\n }\r\n\r\n /**\r\n * Applies the crop transformation centered on the specified point.\r\n * @param x Focal point X coordinate.\r\n * @param y Focal point Y coordinate.\r\n * @param z Zoom of the transformation.\r\n */\r\n withFocalPointCrop(x: number, y: number, z: number): this {\r\n this.withFitMode('crop');\r\n\r\n this.queryParams.push(new Parameters.QueryParameter('crop', 'focalpoint'));\r\n this.queryParams.push(new Parameters.QueryParameter('fp-x', x.toString()));\r\n this.queryParams.push(new Parameters.QueryParameter('fp-y', y.toString()));\r\n this.queryParams.push(new Parameters.QueryParameter('fp-z', z.toString()));\r\n\r\n return this;\r\n }\r\n\r\n /**\r\n * Enables WebP image support.\r\n * @param compression Specifies the lossy or lossless compression.\r\n */\r\n withAutomaticFormat(backupFormat?: ImageFormat): this {\r\n this.queryParams.push(\r\n new Parameters.QueryParameter('auto', this.automaticFormatValue)\r\n );\r\n\r\n if (backupFormat) {\r\n this.withFormat(backupFormat);\r\n }\r\n\r\n return this;\r\n }\r\n\r\n /**\r\n * The fit transformation controls how the output image is fit to its target dimensions after resizing.\r\n * @param fitMode Specifies the mode for the transformation.\r\n */\r\n withFitMode(fitMode: ImageFitMode): this {\r\n this.queryParams.push(new Parameters.QueryParameter('fit', fitMode));\r\n return this;\r\n }\r\n\r\n /**\r\n * Specifies the compression mode for the WebP image transformations.\r\n * @param compression Specifies the lossy or lossless compression.\r\n */\r\n withCompression(compression: ImageCompression): this {\r\n this.queryParams.push(\r\n new Parameters.QueryParameter(\r\n 'lossless',\r\n compression === 'lossless' ? 'true' : 'false'\r\n )\r\n );\r\n return this;\r\n }\r\n\r\n /**\r\n * Applies the quality parameter that enables control over the compression level for lossy file-formatted images.\r\n * @param quality The required quality of the image.\r\n */\r\n withQuality(quality: number): this {\r\n this.queryParams.push(\r\n new Parameters.QueryParameter('q', quality.toString())\r\n );\r\n return this;\r\n }\r\n\r\n /**\r\n * The format transformation enables the source image to be converted (a.k.a., \"transcoded\") from\r\n * one encoded format to another. This is very useful when the source image has been saved in a sub-optimal\r\n * file format that hinders performance.\r\n * @param format Target image file type.\r\n */\r\n withFormat(format: ImageFormat): this {\r\n this.queryParams.push(\r\n new Parameters.QueryParameter('fm', format)\r\n );\r\n return this;\r\n }\r\n\r\n /**\r\n * The height transformation enables dynamic height resizing based on pixels and percent values.\r\n * @param height A required image height.\r\n */\r\n withHeight(height: number): this {\r\n this.queryParams.push(\r\n new Parameters.QueryParameter('h', height.toString())\r\n );\r\n return this;\r\n }\r\n\r\n /**\r\n * The width transformation enables dynamic width resizing based on pixels and percent values.\r\n * @param width A required image width.\r\n */\r\n withWidth(width: number): this {\r\n this.queryParams.push(new Parameters.QueryParameter('w', width.toString()));\r\n return this;\r\n }\r\n\r\n /**\r\n * Gets params applied to image\r\n */\r\n getParams(): IQueryParameter[] {\r\n return this.queryParams;\r\n }\r\n\r\n /**\r\n * Gets query string part of the image URL\r\n */\r\n getQueryString(): string {\r\n let query: string = '';\r\n this.queryParams.forEach(filter => {\r\n if (query.indexOf('?') > -1) {\r\n query = query + '&' + filter.getParam();\r\n } else {\r\n query = query + '?' + filter.getParam();\r\n }\r\n });\r\n\r\n return query;\r\n }\r\n\r\n /**\r\n * Gets full transformed url to image with parameters\r\n */\r\n getUrl(): string {\r\n return this.imageUrl + this.getQueryString();\r\n }\r\n}\r\n","export type ImageFitMode = 'clip' | 'scale' | 'crop';\r\nexport type ImageFormat = 'gif' | 'png' |'png8' | 'jpg' | 'pjpg' |'webp';\r\nexport type ImageCompression = 'lossless' | 'lossy';\r\n\r\n","export * from './image-url-transformation-builder';\r\nexport * from './image.models';\r\nexport * from './image-url-transformation-builder.factory';\r\n","// Public API\r\nexport * from './client';\r\nexport * from './sdk-info.generated';\r\nexport * from './config';\r\nexport * from './contracts';\r\nexport * from './elements';\r\nexport * from './parser';\r\nexport * from './resolvers';\r\nexport * from './services';\r\nexport * from './mappers';\r\nexport * from './query';\r\nexport * from './models';\r\nexport * from './images';\r\nexport * from './utilities';\r\n\r\n","import { enumHelper } from '@kontent-ai/core-sdk';\r\nimport { deliveryUrlHelper } from '../utilities';\r\n\r\nimport { IDeliveryClientConfig } from '../config';\r\nimport { Contracts } from '../contracts';\r\nimport { ElementModels, Elements, ElementType } from '../elements';\r\nimport {\r\n IContentItem,\r\n IContentItemsContainer,\r\n IMapElementsResult,\r\n ILink,\r\n IRichTextImage,\r\n IContentItemWithRawDataContainer,\r\n IContentItemWithRawElements\r\n} from '../models';\r\n\r\ninterface IRichTextImageUrlRecord {\r\n originalUrl: string;\r\n newUrl: string;\r\n}\r\n\r\nexport class ElementMapper {\r\n constructor(private readonly config: IDeliveryClientConfig) {}\r\n\r\n mapElements<TContentItem extends IContentItem = IContentItem>(data: {\r\n dataToMap: IContentItemWithRawElements;\r\n processedItems: IContentItemsContainer;\r\n processingStartedForCodenames: string[];\r\n preparedItems: IContentItemWithRawDataContainer;\r\n }): IMapElementsResult<TContentItem> | undefined {\r\n // return processed item to avoid infinite recursion\r\n const processedItem = data.processedItems[data.dataToMap.item.system.codename] as TContentItem | undefined;\r\n if (processedItem) {\r\n // item was already resolved\r\n return {\r\n item: processedItem,\r\n processedItems: data.processedItems,\r\n preparedItems: data.preparedItems,\r\n processingStartedForCodenames: data.processingStartedForCodenames\r\n };\r\n }\r\n\r\n const preparedItem = data.preparedItems[data.dataToMap.item.system.codename];\r\n const itemInstance = preparedItem?.item as TContentItem;\r\n\r\n if (!itemInstance) {\r\n // item is not present in response\r\n return undefined;\r\n }\r\n\r\n // mapp elements\r\n const elementCodenames = Object.getOwnPropertyNames(data.dataToMap.rawItem.elements);\r\n\r\n for (const elementCodename of elementCodenames) {\r\n const elementMap = this.resolveElementMap(itemInstance, elementCodename);\r\n const elementWrapper: ElementModels.IElementWrapper = {\r\n system: data.dataToMap.item.system,\r\n rawElement: data.dataToMap.rawItem.elements[elementCodename],\r\n element: elementMap.resolvedName\r\n };\r\n if (elementMap.shouldMapElement) {\r\n const mappedElement = this.mapElement({\r\n elementWrapper: elementWrapper,\r\n item: itemInstance,\r\n preparedItems: data.preparedItems,\r\n processingStartedForCodenames: data.processingStartedForCodenames,\r\n processedItems: data.processedItems\r\n });\r\n\r\n // set mapped elements\r\n itemInstance.elements[elementMap.resolvedName] = mappedElement;\r\n }\r\n }\r\n\r\n return {\r\n item: itemInstance,\r\n processedItems: data.processedItems,\r\n preparedItems: data.preparedItems,\r\n processingStartedForCodenames: data.processingStartedForCodenames\r\n };\r\n }\r\n\r\n private mapElement(data: {\r\n elementWrapper: ElementModels.IElementWrapper;\r\n item: IContentItem;\r\n processedItems: IContentItemsContainer;\r\n processingStartedForCodenames: string[];\r\n preparedItems: IContentItemWithRawDataContainer;\r\n }): ElementModels.IElement<any> {\r\n const elementType = enumHelper.getEnumFromValue<ElementType>(ElementType, data.elementWrapper.rawElement.type);\r\n if (elementType) {\r\n if (elementType === ElementType.ModularContent) {\r\n return this.mapLinkedItemsElement({\r\n elementWrapper: data.elementWrapper,\r\n preparedItems: data.preparedItems,\r\n processingStartedForCodenames: data.processingStartedForCodenames,\r\n processedItems: data.processedItems\r\n });\r\n }\r\n\r\n if (elementType === ElementType.Text) {\r\n return this.mapTextElement(data.elementWrapper);\r\n }\r\n if (elementType === ElementType.Asset) {\r\n return this.mapAssetsElement(data.elementWrapper);\r\n }\r\n\r\n if (elementType === ElementType.Number) {\r\n return this.mapNumberElement(data.elementWrapper);\r\n }\r\n if (elementType === ElementType.MultipleChoice) {\r\n return this.mapMultipleChoiceElement(data.elementWrapper);\r\n }\r\n\r\n if (elementType === ElementType.DateTime) {\r\n return this.mapDateTimeElement(data.elementWrapper);\r\n }\r\n\r\n if (elementType === ElementType.RichText) {\r\n // add to parent items\r\n return this.mapRichTextElement(\r\n data.elementWrapper,\r\n data.processedItems,\r\n data.processingStartedForCodenames,\r\n data.preparedItems\r\n );\r\n }\r\n\r\n if (elementType === ElementType.UrlSlug) {\r\n return this.mapUrlSlugElement(data.elementWrapper);\r\n }\r\n\r\n if (elementType === ElementType.Taxonomy) {\r\n return this.mapTaxonomyElement(data.elementWrapper);\r\n }\r\n\r\n if (elementType === ElementType.Custom) {\r\n return this.mapCustomElement(data.elementWrapper);\r\n }\r\n }\r\n console.warn(\r\n `Could not map element '${data.elementWrapper.rawElement.name}' of type '${data.elementWrapper.rawElement.type}'. Returning unknown element instead.`\r\n );\r\n return this.mapUnknowElement(data.elementWrapper);\r\n }\r\n\r\n private mapRichTextElement(\r\n elementWrapper: ElementModels.IElementWrapper,\r\n processedItems: IContentItemsContainer,\r\n processingStartedForCodenames: string[],\r\n preparedItems: IContentItemWithRawDataContainer\r\n ): Elements.RichTextElement {\r\n // get all linked items nested in rich text\r\n const richTextLinkedItems: IContentItem[] = [];\r\n\r\n const rawElement = elementWrapper.rawElement as Contracts.IRichTextElementContract;\r\n\r\n for (const codename of rawElement.modular_content) {\r\n // get linked item and check if it exists (it might not be included in response due to 'Depth' parameter)\r\n const preparedData = preparedItems[codename];\r\n\r\n // first try to get existing item\r\n if (this.canMapLinkedItems()) {\r\n const existingLinkedItem = this.getOrSaveLinkedItemForElement(\r\n codename,\r\n rawElement,\r\n processedItems,\r\n processingStartedForCodenames,\r\n preparedItems\r\n );\r\n\r\n if (existingLinkedItem) {\r\n // item was found, add it to linked items\r\n richTextLinkedItems.push(existingLinkedItem);\r\n } else {\r\n // item was not found or not yet resolved\r\n if (preparedData) {\r\n const mappedLinkedItemResult = this.mapElements({\r\n dataToMap: preparedData,\r\n preparedItems: preparedItems,\r\n processingStartedForCodenames: processingStartedForCodenames,\r\n processedItems: processedItems\r\n });\r\n\r\n // add mapped linked item to result\r\n if (mappedLinkedItemResult) {\r\n richTextLinkedItems.push(mappedLinkedItemResult.item);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n // get rich text images\r\n const richTextImagesResult = this.getRichTextImages(rawElement.images);\r\n\r\n // extract and map links & images\r\n const links: ILink[] = this.mapRichTextLinks(rawElement.links);\r\n const images: IRichTextImage[] = richTextImagesResult.richTextImages;\r\n\r\n // replace asset urls in html\r\n const richTextHtml: string = this.getRichTextHtml(rawElement.value, richTextImagesResult.imageUrlRecords);\r\n\r\n return {\r\n images: images,\r\n linkedItemCodenames: rawElement.modular_content,\r\n linkedItems: richTextLinkedItems,\r\n links: links,\r\n name: rawElement.name,\r\n type: ElementType.RichText,\r\n value: richTextHtml\r\n };\r\n }\r\n\r\n private mapDateTimeElement(elementWrapper: ElementModels.IElementWrapper): Elements.DateTimeElement {\r\n return this.buildElement(elementWrapper, ElementType.DateTime, () => elementWrapper.rawElement.value);\r\n }\r\n\r\n private mapMultipleChoiceElement(elementWrapper: ElementModels.IElementWrapper): Elements.MultipleChoiceElement {\r\n return this.buildElement(elementWrapper, ElementType.MultipleChoice, () => elementWrapper.rawElement.value);\r\n }\r\n\r\n private mapNumberElement(elementWrapper: ElementModels.IElementWrapper): Elements.NumberElement {\r\n return this.buildElement(elementWrapper, ElementType.Number, () => {\r\n if (elementWrapper.rawElement.value === 0) {\r\n return 0;\r\n } else if (elementWrapper.rawElement.value) {\r\n return +elementWrapper.rawElement.value;\r\n }\r\n return null;\r\n });\r\n }\r\n\r\n private mapTextElement(elementWrapper: ElementModels.IElementWrapper): Elements.TextElement {\r\n return this.buildElement(elementWrapper, ElementType.Text, () => elementWrapper.rawElement.value);\r\n }\r\n\r\n private mapAssetsElement(elementWrapper: ElementModels.IElementWrapper): Elements.AssetsElement {\r\n return this.buildElement(elementWrapper, ElementType.Asset, () => {\r\n const assetContracts = elementWrapper.rawElement.value as Contracts.IAssetContract[];\r\n\r\n const assets: ElementModels.AssetModel[] = [];\r\n\r\n for (const assetContract of assetContracts) {\r\n let renditions: { [renditionPresetCodename: string]: ElementModels.Rendition } | null = null;\r\n\r\n // get asset url (custom domain may be configured)\r\n const assetUrl: string = this.config.assetsDomain\r\n ? deliveryUrlHelper.replaceAssetDomain(assetContract.url, this.config.assetsDomain)\r\n : assetContract.url;\r\n\r\n if (assetContract.renditions) {\r\n renditions = {};\r\n\r\n for (const renditionPresetKey of Object.keys(assetContract.renditions)) {\r\n const rendition = assetContract.renditions[renditionPresetKey];\r\n\r\n renditions[renditionPresetKey] = {\r\n ...rendition,\r\n url: `${assetUrl}?${rendition.query}` // enhance rendition with absolute url\r\n };\r\n }\r\n }\r\n\r\n const renditionToBeApplied: ElementModels.Rendition | null =\r\n (this.config.defaultRenditionPreset && renditions?.[this.config.defaultRenditionPreset]) || null;\r\n\r\n const finalUrl = renditionToBeApplied?.url ?? assetUrl;\r\n\r\n const asset: ElementModels.AssetModel = {\r\n ...assetContract,\r\n url: finalUrl, // use custom url of asset which may contain custom domain and applied rendition\r\n renditions\r\n };\r\n\r\n assets.push(asset);\r\n }\r\n\r\n return assets;\r\n });\r\n }\r\n\r\n private mapTaxonomyElement(elementWrapper: ElementModels.IElementWrapper): Elements.TaxonomyElement {\r\n return {\r\n ...this.buildElement(elementWrapper, ElementType.Taxonomy, () => elementWrapper.rawElement.value),\r\n taxonomyGroup: elementWrapper.rawElement.taxonomy_group ?? null\r\n };\r\n }\r\n\r\n private mapUnknowElement(elementWrapper: ElementModels.IElementWrapper): Elements.UnknownElement {\r\n return this.buildElement(elementWrapper, ElementType.Unknown, () => elementWrapper.rawElement.value);\r\n }\r\n\r\n private mapCustomElement(\r\n elementWrapper: ElementModels.IElementWrapper\r\n ): Elements.CustomElement | ElementModels.IElement<string> {\r\n // try to find element resolver\r\n if (this.config.elementResolver) {\r\n const elementResolverValue = this.config.elementResolver(elementWrapper);\r\n\r\n if (elementResolverValue) {\r\n return this.buildElement(elementWrapper, ElementType.Custom, () => elementResolverValue);\r\n }\r\n }\r\n\r\n return this.buildElement(elementWrapper, ElementType.Custom, () => elementWrapper.rawElement.value);\r\n }\r\n\r\n private mapUrlSlugElement(elementWrapper: ElementModels.IElementWrapper): Elements.UrlSlugElement {\r\n return this.buildElement(elementWrapper, ElementType.UrlSlug, () => elementWrapper.rawElement.value);\r\n }\r\n\r\n private mapLinkedItemsElement(data: {\r\n elementWrapper: ElementModels.IElementWrapper;\r\n processedItems: IContentItemsContainer;\r\n processingStartedForCodenames: string[];\r\n preparedItems: IContentItemWithRawDataContainer;\r\n }): Elements.LinkedItemsElement<any> {\r\n // prepare linked items\r\n const linkedItems: IContentItem[] = [];\r\n\r\n // value = array of item codenames\r\n const linkedItemCodenames = data.elementWrapper.rawElement.value as string[];\r\n\r\n for (const codename of linkedItemCodenames) {\r\n if (this.canMapLinkedItems()) {\r\n const linkedItem = this.getOrSaveLinkedItemForElement(\r\n codename,\r\n data.elementWrapper.rawElement,\r\n data.processedItems,\r\n data.processingStartedForCodenames,\r\n data.preparedItems\r\n );\r\n if (linkedItem) {\r\n // add item to result\r\n linkedItems.push(linkedItem);\r\n }\r\n }\r\n }\r\n\r\n return {\r\n ...this.buildElement(data.elementWrapper, ElementType.ModularContent, () => linkedItemCodenames),\r\n linkedItems: linkedItems\r\n };\r\n }\r\n\r\n private getOrSaveLinkedItemForElement(\r\n codename: string,\r\n element: Contracts.IElementContract,\r\n processedItems: IContentItemsContainer,\r\n mappingStartedForCodenames: string[],\r\n preparedItems: IContentItemWithRawDataContainer\r\n ): IContentItem | undefined {\r\n // first check if item was already resolved and return it if it was\r\n const processedItem = processedItems[codename];\r\n\r\n if (processedItem) {\r\n // item was already resolved\r\n return processedItem;\r\n }\r\n\r\n const preparedItem = preparedItems[codename];\r\n\r\n if (mappingStartedForCodenames.includes(codename)) {\r\n return preparedItem?.item;\r\n }\r\n\r\n mappingStartedForCodenames.push(codename);\r\n\r\n // throw error if item is not in response and errors are not skipped\r\n if (!preparedItem) {\r\n return undefined;\r\n }\r\n\r\n let mappedLinkedItem: IContentItem | undefined;\r\n\r\n // original resolving if item is still undefined\r\n const mappedLinkedItemResult = this.mapElements({\r\n dataToMap: preparedItem,\r\n preparedItems: preparedItems,\r\n processingStartedForCodenames: mappingStartedForCodenames,\r\n processedItems: processedItems\r\n });\r\n\r\n if (mappedLinkedItemResult) {\r\n mappedLinkedItem = mappedLinkedItemResult.item;\r\n\r\n // add to processed items\r\n processedItems[codename] = mappedLinkedItem;\r\n }\r\n\r\n return mappedLinkedItem;\r\n }\r\n\r\n private mapRichTextLinks(linksJson: Contracts.IRichTextElementLinkWrapperContract): ILink[] {\r\n const links: ILink[] = [];\r\n\r\n for (const linkId of Object.keys(linksJson)) {\r\n const linkRaw = linksJson[linkId];\r\n links.push({\r\n codename: linkRaw.codename,\r\n linkId: linkId,\r\n urlSlug: linkRaw.url_slug,\r\n type: linkRaw.type\r\n });\r\n }\r\n\r\n return links;\r\n }\r\n\r\n private getRichTextHtml(richTextHtml: string, richTextImageRecords: IRichTextImageUrlRecord[]): string {\r\n for (const richTextImageRecord of richTextImageRecords) {\r\n // replace rich text image url if it differs\r\n if (richTextImageRecord.newUrl !== richTextImageRecord.originalUrl) {\r\n richTextHtml = richTextHtml.replace(\r\n new RegExp(richTextImageRecord.originalUrl, 'g'),\r\n richTextImageRecord.newUrl\r\n );\r\n }\r\n }\r\n\r\n return richTextHtml;\r\n }\r\n\r\n private getRichTextImages(imagesJson: Contracts.IRichTextElementImageWrapperContract): {\r\n richTextImages: IRichTextImage[];\r\n imageUrlRecords: IRichTextImageUrlRecord[];\r\n } {\r\n const images: IRichTextImage[] = [];\r\n const imageUrlRecords: IRichTextImageUrlRecord[] = [];\r\n\r\n for (const imageId of Object.keys(imagesJson)) {\r\n const imageRaw = imagesJson[imageId];\r\n\r\n // image may contain custom asset domain\r\n const imageUrl: string = this.config.assetsDomain\r\n ? deliveryUrlHelper.replaceAssetDomain(imageRaw.url, this.config.assetsDomain)\r\n : imageRaw.url;\r\n\r\n images.push({\r\n description: imageRaw.description ?? null,\r\n imageId: imageRaw.image_id,\r\n url: imageUrl,\r\n height: imageRaw.height ?? null,\r\n width: imageRaw.width ?? null\r\n });\r\n\r\n imageUrlRecords.push({\r\n originalUrl: imageRaw.url,\r\n newUrl: imageUrl\r\n });\r\n }\r\n\r\n return {\r\n imageUrlRecords: imageUrlRecords,\r\n richTextImages: images\r\n };\r\n }\r\n\r\n private resolveElementMap(\r\n item: IContentItem,\r\n originalElementCodename: string\r\n ): {\r\n shouldMapElement: boolean;\r\n resolvedName: string;\r\n } {\r\n let resolvedElementPropertyName: string | undefined = undefined;\r\n\r\n if (this.config.propertyNameResolver) {\r\n resolvedElementPropertyName = this.config.propertyNameResolver(item.system.type, originalElementCodename);\r\n }\r\n\r\n if (!resolvedElementPropertyName) {\r\n // use original element codename\r\n resolvedElementPropertyName = originalElementCodename;\r\n }\r\n\r\n return {\r\n resolvedName: resolvedElementPropertyName,\r\n shouldMapElement: true\r\n };\r\n }\r\n\r\n private buildElement<TValue>(\r\n elementWrapper: ElementModels.IElementWrapper,\r\n type: ElementType,\r\n valueFactory: () => TValue\r\n ): ElementModels.IElement<TValue> {\r\n return {\r\n name: elementWrapper.rawElement.name,\r\n type: type,\r\n value: valueFactory()\r\n };\r\n }\r\n\r\n private canMapLinkedItems(): boolean {\r\n if (!this.config.linkedItemsReferenceHandler) {\r\n return true;\r\n }\r\n return this.config.linkedItemsReferenceHandler === 'map';\r\n }\r\n}\r\n","import { Contracts } from '../contracts';\r\nimport { IGenericElement } from '../models';\r\n\r\nexport class GenericElementMapper {\r\n mapElement(response: Contracts.IViewContentTypeElementContract): IGenericElement {\r\n if (!response) {\r\n throw Error(`Invalid response for mapping element`);\r\n }\r\n\r\n return {\r\n codename: response.codename,\r\n name: response.name,\r\n type: response.type,\r\n options: response.options ? response.options : [],\r\n taxonomyGroup: response.taxonomy_group\r\n };\r\n }\r\n}\r\n","export * from './element.mapper';\r\nexport * from './item.mapper';\r\nexport * from './taxonomy.mapper';\r\nexport * from './type.mapper';\r\nexport * from './generic-element.mapper';\r\nexport * from './language.mapper';\r\n","import { IDeliveryClientConfig } from '../config';\r\nimport { Contracts } from '../contracts';\r\nimport { IContentItem, IContentItemsContainer, IContentItemWithRawDataContainer, IContentItemWithRawElements } from '../models';\r\nimport { ElementMapper } from './element.mapper';\r\n\r\nexport interface IMapItemResult<TContentItem extends IContentItem = IContentItem> {\r\n item: TContentItem;\r\n processedItems: IContentItemsContainer;\r\n preparedItems: IContentItemWithRawDataContainer;\r\n processingStartedForCodenames: string[];\r\n}\r\n\r\nexport interface IMultipleItemsMapResult<TContentItem extends IContentItem = IContentItem> {\r\n items: TContentItem[];\r\n linkedItems: IContentItemsContainer;\r\n}\r\n\r\nexport interface ISingleItemMapResult<TContentItem extends IContentItem = IContentItem> {\r\n item: TContentItem;\r\n linkedItems: IContentItemsContainer;\r\n}\r\n\r\nexport class ItemMapper {\r\n private readonly elementMapper: ElementMapper;\r\n\r\n constructor(readonly config: IDeliveryClientConfig) {\r\n this.elementMapper = new ElementMapper(config);\r\n }\r\n\r\n /**\r\n * Maps single item to its proper strongly typed model from the given Kontent response\r\n * @param response Kontent response used to map the item\r\n * @param queryConfig Query configuration\r\n */\r\n mapSingleItemFromResponse<TContentItem extends IContentItem = IContentItem>(\r\n response: Contracts.IViewContentItemContract\r\n ): ISingleItemMapResult<TContentItem> {\r\n const mapResult = this.mapItems<TContentItem>({\r\n mainItems: [response.item],\r\n linkedItems: Object.values(response.modular_content),\r\n });\r\n\r\n return {\r\n item: mapResult.items[0],\r\n linkedItems: mapResult.linkedItems\r\n };\r\n }\r\n\r\n /**\r\n * Maps multiple items to their strongly typed model from the given Kontent response\r\n * @param response Kontent response used to map the item\r\n * @param queryConfig Query configuration\r\n */\r\n mapMultipleItemsFromResponse<TContentItem extends IContentItem = IContentItem>(\r\n response: Contracts.IItemsWithModularContentContract,\r\n ): IMultipleItemsMapResult<TContentItem> {\r\n const mapResult = this.mapItems<TContentItem>({\r\n mainItems: response.items,\r\n linkedItems: Object.values(response.modular_content)\r\n });\r\n\r\n return mapResult;\r\n }\r\n\r\n /**\r\n * Maps item contracts to full models\r\n */\r\n mapItems<TContentItem extends IContentItem = IContentItem>(data: {\r\n mainItems: Contracts.IContentItemContract[];\r\n linkedItems: Contracts.IContentItemContract[];\r\n }): IMultipleItemsMapResult<TContentItem> {\r\n const that = this;\r\n const processedItems: IContentItemsContainer = {};\r\n const preparedItems: IContentItemWithRawDataContainer = {};\r\n const processingStartedForCodenames: string[] = [];\r\n const mappedMainItems: TContentItem[] = [];\r\n const mappedLinkedItems: IContentItemsContainer = {};\r\n const itemsToResolve: Contracts.IContentItemContract[] = [...data.mainItems, ...data.linkedItems];\r\n\r\n // first prepare reference for all items\r\n for (const item of itemsToResolve) {\r\n preparedItems[item.system.codename] = {\r\n item: this.createContentItem(item),\r\n rawItem: item\r\n };\r\n }\r\n\r\n // then resolve items\r\n for (const item of data.mainItems) {\r\n const itemResult = that.mapItem<TContentItem>({\r\n item: preparedItems[item.system.codename],\r\n processedItems: processedItems,\r\n preparedItems: preparedItems,\r\n processingStartedForCodenames: processingStartedForCodenames\r\n });\r\n mappedMainItems.push(itemResult.item);\r\n }\r\n\r\n for (const item of data.linkedItems) {\r\n const itemResult = that.mapItem<TContentItem>({\r\n item: preparedItems[item.system.codename],\r\n processedItems: processedItems,\r\n preparedItems: preparedItems,\r\n processingStartedForCodenames: processingStartedForCodenames\r\n });\r\n\r\n mappedLinkedItems[item.system.codename] = itemResult.item;\r\n }\r\n\r\n return {\r\n items: mappedMainItems,\r\n linkedItems: mappedLinkedItems\r\n };\r\n }\r\n\r\n /**\r\n * Maps item contract to full model\r\n */\r\n private mapItem<TContentItem extends IContentItem = IContentItem>(data: {\r\n item: IContentItemWithRawElements;\r\n processedItems: IContentItemsContainer;\r\n processingStartedForCodenames: string[];\r\n preparedItems: IContentItemWithRawDataContainer;\r\n }): IMapItemResult<TContentItem> {\r\n if (!data.item) {\r\n throw Error(`Could not map item because its undefined`);\r\n }\r\n\r\n const result = this.elementMapper.mapElements<TContentItem>({\r\n dataToMap: data.item,\r\n preparedItems: data.preparedItems,\r\n processingStartedForCodenames: [],\r\n processedItems: data.processedItems,\r\n });\r\n\r\n if (!result) {\r\n throw Error(`Mapping of content item '${data.item.item.system.codename}' failed`);\r\n }\r\n return {\r\n item: result.item,\r\n processedItems: result.processedItems,\r\n preparedItems: result.preparedItems,\r\n processingStartedForCodenames: result.processingStartedForCodenames\r\n };\r\n }\r\n\r\n private createContentItem(item: Contracts.IContentItemContract): IContentItem {\r\n const contentItem: IContentItem = {\r\n elements: {},\r\n system: {\r\n codename: item.system.codename,\r\n collection: item.system.collection,\r\n id: item.system.id,\r\n language: item.system.language,\r\n lastModified: item.system.last_modified,\r\n name: item.system.name,\r\n sitemapLocations: item.system.sitemap_locations,\r\n type: item.system.type,\r\n workflowStep: item.system.workflow_step ?? null\r\n }\r\n };\r\n return contentItem;\r\n }\r\n}\r\n","import { Contracts } from '../contracts';\r\nimport { ILanguage } from '../models';\r\n\r\nexport class LanguageMapper {\r\n mapMultipleLanguages(response: Contracts.IListLanguagesContract): ILanguage[] {\r\n return response.languages.map((language) => {\r\n return this.mapLanguage(language);\r\n });\r\n }\r\n\r\n private mapLanguage(language: Contracts.ILanguageContract): ILanguage {\r\n if (!language) {\r\n throw Error(`Cannot map language`);\r\n }\r\n\r\n return {\r\n system: language.system\r\n };\r\n }\r\n}\r\n","import { Contracts } from '../contracts';\r\nimport { ITaxonomyGroup, ITaxonomySystemAttributes, ITaxonomyTerms } from '../models';\r\n\r\nexport class TaxonomyMapper {\r\n mapTaxonomy(\r\n taxonomySystem: Contracts.ITaxonomySystemAttributesContract,\r\n taxonomyTerms: Contracts.ITaxonomyTermsContract[]\r\n ): ITaxonomyGroup {\r\n if (!taxonomySystem) {\r\n throw Error(`Cannot map taxonomy due to missing 'system' property`);\r\n }\r\n\r\n if (!taxonomyTerms) {\r\n throw Error(`Cannot map taxonomy due to missing 'terms' property`);\r\n }\r\n\r\n if (!Array.isArray(taxonomyTerms)) {\r\n throw Error(`Cannot map terms because no terms array was provided`);\r\n }\r\n\r\n const mappedSystemAttributes: ITaxonomySystemAttributes = {\r\n name: taxonomySystem.name,\r\n codename: taxonomySystem.codename,\r\n id: taxonomySystem.id,\r\n lastModified: taxonomySystem.last_modified\r\n };\r\n\r\n const mappedTerms: ITaxonomyTerms[] = this.mapTaxonomyTerms(taxonomyTerms);\r\n\r\n return {\r\n system: mappedSystemAttributes,\r\n terms: mappedTerms\r\n };\r\n }\r\n\r\n mapTaxonomies(taxonomies: Contracts.ITaxonomyGroupContract[]): ITaxonomyGroup[] {\r\n if (!taxonomies) {\r\n throw Error(`Cannot map taxonomy due to missing 'taxonomies' property`);\r\n }\r\n\r\n if (!Array.isArray(taxonomies)) {\r\n throw Error(`Cannot map taxonomies because the 'taxonomies' property is not an array `);\r\n }\r\n\r\n const mappedTaxonomies: ITaxonomyGroup[] = [];\r\n\r\n taxonomies.forEach((taxonomy) => {\r\n mappedTaxonomies.push(this.mapTaxonomy(taxonomy.system, taxonomy.terms));\r\n });\r\n\r\n return mappedTaxonomies;\r\n }\r\n\r\n /**\r\n * Recursively map array of taxonomy terms\r\n * @param termsArray Terms array to map\r\n */\r\n private mapTaxonomyTerms(termsArray: Contracts.ITaxonomyTermsContract[]): ITaxonomyTerms[] {\r\n if (termsArray.length === 0) {\r\n return [];\r\n }\r\n\r\n const mappedTermsArray: ITaxonomyTerms[] = [];\r\n\r\n termsArray.forEach((terms) => {\r\n const mappedTerms: ITaxonomyTerms = {\r\n codename: terms.codename,\r\n name: terms.name,\r\n terms: this.mapTaxonomyTerms(terms.terms)\r\n };\r\n\r\n mappedTermsArray.push(mappedTerms);\r\n });\r\n\r\n return mappedTermsArray;\r\n }\r\n}\r\n","import { Contracts } from '../contracts';\r\nimport { IContentType, IContentTypeSystemAttributes, IGenericElement } from '../models';\r\n\r\nexport class TypeMapper {\r\n mapSingleType(response: Contracts.IViewContentTypeContract): IContentType {\r\n return this.mapType(response);\r\n }\r\n\r\n mapMultipleTypes(response: Contracts.IListContentTypeContract): IContentType[] {\r\n const that = this;\r\n return response.types.map(function (type) {\r\n return that.mapType(type);\r\n });\r\n }\r\n\r\n private mapType(type: Contracts.IContentTypeContract): IContentType {\r\n if (!type) {\r\n throw Error(`Cannot map type`);\r\n }\r\n\r\n if (!type.elements) {\r\n throw Error(`Cannot map type elements`);\r\n }\r\n\r\n const system: IContentTypeSystemAttributes = {\r\n codename: type.system.codename,\r\n id: type.system.id,\r\n name: type.system.name,\r\n lastModified: type.system.last_modified\r\n };\r\n\r\n const elements: IGenericElement[] = [];\r\n\r\n const elementNames = Object.getOwnPropertyNames(type.elements);\r\n elementNames.forEach((elementName: string) => {\r\n const typeElement = type.elements[elementName] as Contracts.IViewContentTypeElementContract;\r\n\r\n if (!typeElement) {\r\n throw Error(`Cannot find element '${elementName}' on type '${type}'`);\r\n }\r\n\r\n // use json property as a codename of the type element\r\n const elementCodename = elementName;\r\n\r\n // extra properties for certain element types\r\n const taxonomyGroup: string | undefined = typeElement.taxonomy_group;\r\n const options: Contracts.IElementOptionContract[] = [];\r\n\r\n // some elements can contain options\r\n const rawOptions = typeElement.options;\r\n if (rawOptions) {\r\n if (!Array.isArray(rawOptions)) {\r\n throw Error(`Content type 'options' property has to be an array`);\r\n }\r\n\r\n rawOptions.forEach((rawOption) => {\r\n options.push({\r\n codename: rawOption.codename,\r\n name: rawOption.name\r\n });\r\n });\r\n }\r\n\r\n elements.push({\r\n codename: elementCodename,\r\n taxonomyGroup: taxonomyGroup,\r\n options: options,\r\n name: typeElement.name,\r\n type: typeElement.type\r\n });\r\n });\r\n\r\n return {\r\n elements: elements,\r\n system: system\r\n };\r\n }\r\n}\r\n","import { IResponse } from '@kontent-ai/core-sdk';\r\n\r\nexport interface IDeliveryNetworkResponse<TData, TContract> {\r\n data: TData;\r\n response: IResponse<TContract>;\r\n xContinuationToken?: string;\r\n hasStaleContent: boolean;\r\n}\r\n\r\nexport interface IGroupedNetworkResponse<TData> {\r\n data: TData;\r\n responses: IDeliveryNetworkResponse<any, any>[];\r\n}\r\n","import { IHeader, IHttpCancelRequestToken, IQueryParameter } from '@kontent-ai/core-sdk';\r\nimport { IDeliveryNetworkResponse } from './base-responses';\r\nimport { IPagination } from './pagination.class';\r\n\r\nexport type LinkedItemsReferenceHandler = 'map' | 'ignore';\r\n\r\nexport interface IProxyUrlData {\r\n action: string;\r\n domain: string;\r\n queryParameters: IQueryParameter[];\r\n queryString: string;\r\n queryConfig: IQueryConfig;\r\n projectId: string;\r\n}\r\n\r\nexport interface ISDKInfo {\r\n /**\r\n * Name of SDK\r\n */\r\n name: string;\r\n /**\r\n * Version SDK\r\n */\r\n version: string;\r\n /**\r\n * Host of SDK\r\n */\r\n host: string;\r\n}\r\n\r\nexport interface IKontentResponse {}\r\n\r\nexport interface IKontentListWithHeaderResponse extends IKontentResponse {\r\n items: any[];\r\n}\r\n\r\nexport interface IKontentListResponse extends IKontentResponse {\r\n pagination?: IPagination;\r\n items: any[];\r\n}\r\n\r\nexport interface IKontentListAllResponse extends IKontentResponse {\r\n responses: any[];\r\n items: any[];\r\n}\r\n\r\nexport interface IListAllQueryConfig<TResponse extends IKontentListResponse, TContract> {\r\n /**\r\n * Number of pages to get. If not set, all available pages are fetched.\r\n */\r\n pages?: number;\r\n\r\n /**\r\n * Delay between each HTTP requests\r\n */\r\n delayBetweenRequests?: number;\r\n\r\n /**\r\n * Executed when a list response is loaded\r\n */\r\n responseFetched?: (\r\n response: IDeliveryNetworkResponse<TResponse, TContract>,\r\n nextPageUrl?: string,\r\n continuationToken?: string\r\n ) => void;\r\n}\r\n\r\nexport interface IQueryConfig {\r\n /**\r\n * Indicates if query should use preview mode. Overrides default configuration\r\n */\r\n usePreviewMode?: boolean;\r\n\r\n /**\r\n * Indicates if query should use secured delivery API mode. Overrides default configuration\r\n */\r\n useSecuredMode?: boolean;\r\n\r\n /**\r\n * If the requested content has changed since the last request, the header determines whether\r\n * to wait while fetching content. This can be useful when retrieving changed content\r\n * in reaction to a webhook call. By default, when the header is not set, the API\r\n * serves old content (if cached by the CDN) while it's fetching the new content\r\n * to minimize wait time.\r\n */\r\n waitForLoadingNewContent?: boolean;\r\n\r\n /**\r\n * Extra headers added to request\r\n */\r\n customHeaders?: IHeader[];\r\n\r\n /**\r\n * Cancel token\r\n */\r\n cancelToken?: IHttpCancelRequestToken<any>;\r\n}\r\n\r\nexport interface IDeliveryErrorRaw {\r\n message: string;\r\n request_id: string | null;\r\n error_code: number;\r\n specific_code: number;\r\n}\r\n\r\nexport class DeliveryError {\r\n public message: string;\r\n public requestId: string | null;\r\n public errorCode: number;\r\n public specificCode: number;\r\n\r\n constructor(data: { message: string; requestId: string | null; errorCode: number; specificCode: number }) {\r\n this.message = data.message;\r\n this.requestId = data.requestId;\r\n this.errorCode = data.errorCode;\r\n this.specificCode = data.specificCode;\r\n }\r\n}\r\n","import { IQueryParameter } from '@kontent-ai/core-sdk';\r\n\r\nexport namespace Filters {\r\n const valueSeparator: string = ',';\r\n const defaultValue: string = '';\r\n\r\n const getParamValueForSystemFilter = (param: string | string[]): string | undefined => {\r\n if (!param) {\r\n return defaultValue;\r\n }\r\n\r\n if (Array.isArray(param)) {\r\n let value = '';\r\n // use [in] filter\r\n for (let i = 0; i < param.length; i++) {\r\n value = value + param[i].toString();\r\n\r\n if (i !== param.length - 1) {\r\n // append separator if its not last item\r\n value = value + valueSeparator;\r\n }\r\n }\r\n\r\n return value;\r\n }\r\n\r\n // single param was given\r\n return param.toString();\r\n };\r\n\r\n export class TypeFilter implements IQueryParameter {\r\n constructor(public type: string | string[]) {}\r\n\r\n getParam(): string {\r\n if (Array.isArray(this.type)) {\r\n // multiple types\r\n return `system.type[in]=${getParamValueForSystemFilter(this.type)}`;\r\n }\r\n\r\n // single type\r\n return `system.type=${getParamValueForSystemFilter(this.type)}`;\r\n }\r\n }\r\n\r\n export class CollectionFilter implements IQueryParameter {\r\n constructor(public collection: string | string[]) {}\r\n\r\n getParam(): string {\r\n if (Array.isArray(this.collection)) {\r\n // multiple collections\r\n return `system.collection[in]=${getParamValueForSystemFilter(this.collection)}`;\r\n }\r\n\r\n // single collection\r\n return `system.collection=${getParamValueForSystemFilter(this.collection)}`;\r\n }\r\n }\r\n\r\n export class EmptyFilter implements IQueryParameter {\r\n constructor(public element: string) {}\r\n\r\n getParam(): string {\r\n return `${this.element.trim()}[empty]`;\r\n }\r\n }\r\n\r\n export class NotEmptyFilter implements IQueryParameter {\r\n constructor(public element: string) {}\r\n\r\n getParam(): string {\r\n return `${this.element.trim()}[nempty]`;\r\n }\r\n }\r\n\r\n export class EqualsFilter implements IQueryParameter {\r\n constructor(public element: string, public value: string) {}\r\n\r\n getParam(): string {\r\n return `${this.element.trim()}[eq]=${this.getParamValue()}`;\r\n }\r\n\r\n private getParamValue(): string | undefined {\r\n if (!this.value) {\r\n return defaultValue;\r\n }\r\n\r\n return this.value;\r\n }\r\n }\r\n\r\n export class NotEqualsFilter implements IQueryParameter {\r\n constructor(public element: string, public value: string) {}\r\n\r\n getParam(): string {\r\n return `${this.element.trim()}[neq]=${this.getParamValue()}`;\r\n }\r\n\r\n private getParamValue(): string | undefined {\r\n if (!this.value) {\r\n return defaultValue;\r\n }\r\n\r\n return this.value;\r\n }\r\n }\r\n\r\n export class AllFilter implements IQueryParameter {\r\n constructor(public element: string, public values: string[]) {}\r\n\r\n getParam(): string {\r\n return `${this.element.trim()}[all]=${this.getParamValue()}`;\r\n }\r\n\r\n private getParamValue(): string | undefined {\r\n if (!this.values || !Array.isArray(this.values)) {\r\n return defaultValue;\r\n }\r\n\r\n return this.values.map((m) => m.trim()).join(',');\r\n }\r\n }\r\n\r\n export class AnyFilter implements IQueryParameter {\r\n constructor(public element: string, public values: string[]) {}\r\n\r\n getParam(): string {\r\n return `${this.element.trim()}[any]=${this.getParamValue()}`;\r\n }\r\n\r\n private getParamValue(): string | undefined {\r\n if (!this.values || !Array.isArray(this.values)) {\r\n return defaultValue;\r\n }\r\n\r\n return this.values.map((m) => m.trim()).join(',');\r\n }\r\n }\r\n\r\n export class ContainsFilter implements IQueryParameter {\r\n constructor(public element: string, public values: string[]) {}\r\n\r\n getParam(): string {\r\n return `${this.element.trim()}[contains]=${this.getParamValue()}`;\r\n }\r\n\r\n private getParamValue(): string | undefined {\r\n if (!this.values || !Array.isArray(this.values)) {\r\n return defaultValue;\r\n }\r\n\r\n return this.values.map((m) => m.trim()).join(',');\r\n }\r\n }\r\n\r\n export class GreaterThanFilter implements IQueryParameter {\r\n constructor(public element: string, public value: string) {}\r\n\r\n getParam(): string {\r\n return `${this.element.trim()}[gt]=${this.getParamValue()}`;\r\n }\r\n\r\n private getParamValue(): string | undefined {\r\n if (!this.value) {\r\n return defaultValue;\r\n }\r\n\r\n return this.value;\r\n }\r\n }\r\n\r\n export class GreaterThanOrEqualFilter implements IQueryParameter {\r\n constructor(public element: string, public value: string) {}\r\n\r\n getParam(): string {\r\n return `${this.element.trim()}[gte]=${this.getParamValue()}`;\r\n }\r\n\r\n getParamValue(): string | undefined {\r\n if (!this.value) {\r\n return defaultValue;\r\n }\r\n\r\n return this.value;\r\n }\r\n }\r\n\r\n export class InFilter implements IQueryParameter {\r\n constructor(public element: string, public values: string[]) {}\r\n\r\n getParam(): string {\r\n return `${this.element.trim()}[in]=${this.getParamValue()}`;\r\n }\r\n\r\n private getParamValue(): string | undefined {\r\n if (!this.values || !Array.isArray(this.values)) {\r\n return defaultValue;\r\n }\r\n\r\n return this.values\r\n .map((m) => {\r\n return m.trim();\r\n })\r\n .join(',');\r\n }\r\n }\r\n\r\n export class NotInFilter implements IQueryParameter {\r\n constructor(public element: string, public values: string[]) {}\r\n\r\n getParam(): string {\r\n return `${this.element.trim()}[nin]=${this.getParamValue()}`;\r\n }\r\n\r\n private getParamValue(): string | undefined {\r\n if (!this.values || !Array.isArray(this.values)) {\r\n return defaultValue;\r\n }\r\n\r\n return this.values\r\n .map((m) => {\r\n return m.trim();\r\n })\r\n .join(',');\r\n }\r\n }\r\n\r\n export class LessThanFilter implements IQueryParameter {\r\n constructor(public element: string, public value: string) {}\r\n\r\n getParam(): string {\r\n return `${this.element.trim()}[lt]=${this.getParamValue()}`;\r\n }\r\n\r\n private getParamValue(): string | undefined {\r\n if (!this.value) {\r\n return defaultValue;\r\n }\r\n return this.value;\r\n }\r\n }\r\n\r\n export class LessThanOrEqualFilter implements IQueryParameter {\r\n constructor(public element: string, public value: string) {}\r\n\r\n getParam(): string {\r\n return `${this.element.trim()}[lte]=${this.getParamValue()}`;\r\n }\r\n\r\n private getParamValue(): string | undefined {\r\n if (!this.value) {\r\n return defaultValue;\r\n }\r\n\r\n return this.value;\r\n }\r\n }\r\n\r\n export class RangeFilter implements IQueryParameter {\r\n constructor(public element: string, public lowerValue: number, public higherValue: number) {}\r\n\r\n getParam(): string {\r\n return `${this.element.trim()}[range]=${this.getParamValue()}`;\r\n }\r\n\r\n private getParamValue(): string | undefined {\r\n let lowerVal = defaultValue;\r\n let higherVal = defaultValue;\r\n\r\n if (this.lowerValue) {\r\n lowerVal = this.lowerValue.toString();\r\n }\r\n\r\n if (this.higherValue) {\r\n higherVal = this.higherValue.toString();\r\n }\r\n\r\n return `${lowerVal},${higherVal}`;\r\n }\r\n }\r\n}\r\n","export const continuationTokenHeaderName: string = 'X-Continuation';\r\nexport const waitForLoadingNewContentHeader: string = 'X-KC-Wait-For-Loading-New-Content';\r\nexport const sdkVersionHeader: string = 'X-KC-SDKID';\r\nexport const staleContentHeaderName: string = 'X-Stale-Content';\r\n\r\n","export * from './filters';\r\nexport * from './pagination.class';\r\nexport * from './parameters';\r\nexport * from './sort-order';\r\nexport * from './common-models';\r\nexport * from './base-responses';\r\nexport * from './headers';\r\n","export interface IPagination {\r\n skip: number;\r\n limit: number;\r\n count: number;\r\n nextPage: string;\r\n totalCount: number | null;\r\n}\r\n","import { IQueryParameter } from '@kontent-ai/core-sdk';\r\n\r\nimport { SortOrder } from './sort-order';\r\n\r\nexport namespace Parameters {\r\n const defaultValue: string = '';\r\n\r\n export class QueryParameter implements IQueryParameter {\r\n /**\r\n * Parameter\r\n * @constructor\r\n * @param {string} name - Name of the parameter\r\n * @param {string} value - Value of the parameter\r\n */\r\n constructor(public name: string, public value: string) {\r\n if (!name) {\r\n throw Error(`Name of the parameter is not specified`);\r\n }\r\n }\r\n\r\n getParam(): string {\r\n return `${this.name}=${this.value}`;\r\n }\r\n }\r\n\r\n export class ElementsParameter implements IQueryParameter {\r\n /**\r\n * Sets elements (projection) so that only certain elements from a content item are returned\r\n * @constructor\r\n * @param {string[]} elementCodenames - Array of element codenames to include in response.\r\n */\r\n constructor(public elementCodenames: string[]) {}\r\n\r\n getParam(): string {\r\n return `elements=${this.getParamValue()}`;\r\n }\r\n\r\n private getParamValue(): string | undefined {\r\n if (!this.elementCodenames) {\r\n return defaultValue;\r\n }\r\n\r\n return this.elementCodenames\r\n .map((m) => {\r\n if (!m) {\r\n throw Error(`Codename of 'ElementsParameter' cannot be null or empty`);\r\n }\r\n return m.trim();\r\n })\r\n .join(',');\r\n }\r\n }\r\n\r\n export class LimitParameter implements IQueryParameter {\r\n /**\r\n * Limits the number of items that are returned from response\r\n * @constructor\r\n * @param {number} limit - Number of elements that will be returned\r\n */\r\n constructor(public limit: number) {\r\n if (limit <= 0) {\r\n throw Error(`'LimitParameter' must specify a positive integer`);\r\n }\r\n }\r\n\r\n getParam(): string {\r\n return `limit=${this.limit}`;\r\n }\r\n\r\n }\r\n\r\n export class IncludeTotalCountParameter implements IQueryParameter {\r\n /**\r\n * Adds 'includeTotalCount' query parameter to query\r\n * @constructor\r\n */\r\n constructor() {}\r\n\r\n getParam(): string {\r\n return `includeTotalCount=true`;\r\n }\r\n }\r\n\r\n export class SkipParameter implements IQueryParameter {\r\n /**\r\n * Configures response to skip certain number of items\r\n * @constructor\r\n * @param {number} skip - Number of content items that will be skipped\r\n */\r\n constructor(public skip: number) {\r\n if (skip < 0) {\r\n throw Error(`'SkipParameter' must specify a positive integer number or zero.\"`);\r\n }\r\n }\r\n\r\n getParam(): string {\r\n return `skip=${this.skip}`;\r\n }\r\n }\r\n\r\n export class OrderParameter implements IQueryParameter {\r\n /**\r\n * Sorts the response based on given element.\r\n * @constructor\r\n * @param {string} element - Element that will be used for sorting (can be both elements.<elementname> or system.<elementname>)\r\n * @param {SortOrder} sortOrder - Order type (desc/asc). Defaults to 'asc' if SortOrder is null or invalid.\r\n */\r\n constructor(public element: string, public sortOrder: SortOrder) {\r\n if (!element) {\r\n throw Error(`Element specified in 'OrderParameter' is null or empty`);\r\n }\r\n }\r\n\r\n getParam(): string {\r\n return `order=${this.getParamValue()}`;\r\n }\r\n\r\n private getParamValue(): string | undefined {\r\n return `${this.element.trim()}[${this.sortOrder}]`;\r\n }\r\n }\r\n\r\n export class CustomParameter implements IQueryParameter {\r\n constructor(public param: string) {}\r\n\r\n getParam(): string {\r\n return this.param;\r\n }\r\n }\r\n\r\n export class DepthParameter implements IQueryParameter {\r\n /**\r\n * Configures the depth of the response. Content items might reference another 'linked items' using the Linked items element.\r\n * Recursively, these linked items can reference another linked items.\r\n * By default, only one level of linked content is returned.\r\n * @constructor\r\n * @param {number} depth - Depth fo the response\r\n */\r\n constructor(public depth: number) {\r\n if (depth < 0) {\r\n throw Error(`'DepthParameter' must specify a positive integer or zero`);\r\n }\r\n }\r\n\r\n getParam(): string {\r\n return `depth=${this.depth}`;\r\n }\r\n }\r\n\r\n export class LanguageParameter implements IQueryParameter {\r\n /**\r\n * Specifies language version to fetch\r\n * @constructor\r\n * @param {string} languageCodename - Codename of the language\r\n */\r\n constructor(public languageCodename: string) {\r\n if (!languageCodename) {\r\n throw Error(`'LanguageParameter' must specify codename of the language`);\r\n }\r\n }\r\n\r\n getParam(): string {\r\n return `language=${this.languageCodename}`;\r\n }\r\n }\r\n}\r\n","export type SortOrder = 'asc' | 'desc';\r\n","import { IQueryConfig } from './common/common-models';\r\nimport { IGenericElement } from './element-models';\r\n\r\nexport interface IContentTypeSystemAttributes {\r\n /**\r\n * Id of the type\r\n */\r\n id: string;\r\n\r\n /**\r\n * Name of the type\r\n */\r\n name: string;\r\n\r\n /**\r\n * Codename of the type\r\n */\r\n codename: string;\r\n\r\n /**\r\n * Date of last modification\r\n */\r\n lastModified: Date;\r\n}\r\n\r\nexport interface IContentType {\r\n /**\r\n * Content type system attributes\r\n */\r\n system: IContentTypeSystemAttributes;\r\n\r\n /**\r\n * Elements (elements) assigned to content type\r\n */\r\n elements: IGenericElement[];\r\n}\r\n\r\nexport interface IContentTypeQueryConfig extends IQueryConfig {\r\n /**\r\n * No dedicated properties required at this moment\r\n */\r\n}\r\n","import { IQueryConfig } from './common/common-models';\r\n\r\nexport interface IElementQueryConfig extends IQueryConfig {\r\n /**\r\n * No dedicated properties required at this moment\r\n */\r\n}\r\n\r\nexport interface IGenericElementOption {\r\n /**\r\n * Name of the option\r\n */\r\n name: string;\r\n\r\n /**\r\n * Value of the option\r\n */\r\n codename: string;\r\n}\r\n\r\nexport interface IGenericElement {\r\n /**\r\n * Indexer\r\n */\r\n [key: string]: any;\r\n\r\n /**\r\n * Codename of the element\r\n */\r\n codename: string;\r\n\r\n /**\r\n * Type of the element\r\n */\r\n type: string;\r\n\r\n /**\r\n * Name of the element\r\n */\r\n name: string;\r\n\r\n /**\r\n * Taxonomy group in case the element is a taxonomy\r\n */\r\n taxonomyGroup?: string;\r\n\r\n /**\r\n * Array of options if the element has some\r\n */\r\n options: IGenericElementOption[];\r\n}\r\n","export * from './common';\r\nexport * from './element-models';\r\nexport * from './item-models';\r\nexport * from './taxonomy-models';\r\nexport * from './content-type-models';\r\nexport * from './language-models';\r\nexport * from './responses';\r\n\r\n","import { Contracts } from '../contracts';\r\nimport { IQueryConfig } from './common/common-models';\r\nimport { ElementModels } from '../elements/element-models';\r\n\r\nexport interface IMapElementsResult<TContentItem extends IContentItem = IContentItem> {\r\n item: TContentItem;\r\n processedItems: IContentItemsContainer;\r\n preparedItems: IContentItemWithRawDataContainer;\r\n processingStartedForCodenames: string[];\r\n}\r\n\r\nexport interface IContentItemSystemAttributes {\r\n /**\r\n * Id of the item\r\n */\r\n id: string;\r\n\r\n /**\r\n * Name of the item\r\n */\r\n name: string;\r\n\r\n /**\r\n * Codename of the item\r\n */\r\n codename: string;\r\n\r\n /**\r\n * Codename of the type this item is using\r\n */\r\n type: string;\r\n\r\n /**\r\n * Date when the item was last modified\r\n */\r\n lastModified: string;\r\n\r\n /**\r\n * Codename of the language\r\n */\r\n language: string;\r\n\r\n /**\r\n * Array of sitemap locations (obsolete)\r\n */\r\n sitemapLocations: string[];\r\n\r\n /**\r\n * Codename of the collection this item belongs to\r\n */\r\n collection: string;\r\n\r\n /**\r\n * Workflow step of the item\r\n */\r\n workflowStep: string | null;\r\n}\r\n\r\n/**\r\n * Indexer for elements within content item\r\n */\r\nexport type ContentItemElementsIndexer = ElementModels.IElement<any>;\r\n\r\nexport type ContentItemType = 'component' | 'linkedItem';\r\n\r\nexport interface IContentItemElements {\r\n /**\r\n * Indexer\r\n */\r\n [key: string]: ContentItemElementsIndexer;\r\n}\r\n\r\nexport interface IContentItem<TElements extends IContentItemElements = IContentItemElements> {\r\n /**\r\n * Elements of the content item\r\n */\r\n elements: TElements;\r\n\r\n /**\r\n * System data of the content item\r\n */\r\n system: IContentItemSystemAttributes;\r\n}\r\n\r\nexport interface ILink {\r\n /**\r\n * Id of the link\r\n */\r\n linkId: string;\r\n\r\n /**\r\n * Codename of the content item\r\n */\r\n codename: string;\r\n\r\n /**\r\n * Type codename of the content item\r\n */\r\n type: string;\r\n\r\n /**\r\n * Url slug defined for the content item\r\n */\r\n urlSlug: string;\r\n}\r\n\r\nexport interface IContentItemWithRawElements {\r\n item: IContentItem;\r\n rawItem: Contracts.IContentItemContract;\r\n}\r\n\r\nexport interface IContentItemWithRawDataContainer {\r\n [key: string]: IContentItemWithRawElements;\r\n}\r\n\r\nexport interface IContentItemsContainer {\r\n [key: string]: IContentItem;\r\n}\r\n\r\nexport interface IRichTextImage {\r\n imageId: string;\r\n url: string;\r\n description: string | null;\r\n width: number | null;\r\n height: number | null;\r\n}\r\n\r\nexport interface IItemQueryConfig extends IQueryConfig {}\r\n\r\nexport type PropertyNameResolver = (contentTypeCodename: string, elementCodename: string) => string;\r\n","import { IQueryConfig } from './common';\r\n\r\nexport interface ILanguageSystem {\r\n id: string;\r\n name: string;\r\n codename: string;\r\n}\r\n\r\nexport interface ILanguage {\r\n system: ILanguageSystem;\r\n}\r\n\r\nexport interface ILanguagesQueryConfig extends IQueryConfig {\r\n /**\r\n * No dedicated properties required at this moment\r\n */\r\n}\r\n","\r\nimport {Contracts } from '../contracts';\r\nimport { IDeliveryNetworkResponse } from './common/base-responses';\r\nimport { IKontentListAllResponse, IKontentListResponse, IKontentResponse } from './common/common-models';\r\nimport { IPagination } from './common/pagination.class';\r\nimport { IContentType } from './content-type-models';\r\nimport { IGenericElement } from './element-models';\r\nimport { IContentItem, IContentItemsContainer } from './item-models';\r\nimport { ILanguage } from './language-models';\r\nimport { ITaxonomyGroup } from './taxonomy-models';\r\n\r\nexport namespace Responses {\r\n export interface IListContentTypesResponse extends IKontentListResponse {\r\n items: IContentType[];\r\n pagination: IPagination;\r\n }\r\n\r\n export interface IListContentTypesAllResponse extends IKontentListAllResponse {\r\n items: IContentType[];\r\n responses: IDeliveryNetworkResponse<IListContentTypesResponse, Contracts.IListContentTypeContract>[];\r\n }\r\n\r\n export interface IViewContentTypeResponse extends IKontentResponse {\r\n type: IContentType;\r\n }\r\n\r\n export interface IViewContentTypeElementResponse extends IKontentResponse {\r\n /**\r\n * Response containing content type element\r\n *\r\n * @constructor\r\n * @param {IGenericElement} element - Content type element\r\n */\r\n element: IGenericElement;\r\n }\r\n\r\n export interface IListItemsFeedResponse<TContentItem extends IContentItem = IContentItem>\r\n extends IKontentListResponse {\r\n items: TContentItem[];\r\n linkedItems: IContentItemsContainer;\r\n }\r\n\r\n export interface IListItemsFeedAllResponse<TContentItem extends IContentItem = IContentItem>\r\n extends IKontentListAllResponse {\r\n items: TContentItem[];\r\n responses: IDeliveryNetworkResponse<IListItemsFeedResponse<TContentItem>, Contracts.IItemsFeedContract>[];\r\n }\r\n\r\n export interface IListContentItemsResponse<TContentItem extends IContentItem = IContentItem>\r\n extends IKontentListResponse {\r\n items: TContentItem[];\r\n pagination: IPagination;\r\n linkedItems: IContentItemsContainer;\r\n }\r\n\r\n export interface IListContentItemsAllResponse<TContentItem extends IContentItem = IContentItem>\r\n extends IKontentListAllResponse {\r\n items: TContentItem[];\r\n responses: IDeliveryNetworkResponse<IListContentItemsResponse<TContentItem>, Contracts.IListContentItemsContract>[];\r\n }\r\n\r\n export interface IViewContentItemResponse<TContentItem extends IContentItem = IContentItem>\r\n extends IKontentResponse {\r\n item: TContentItem;\r\n linkedItems: IContentItemsContainer;\r\n }\r\n\r\n export interface IListLanguagesResponse extends IKontentListResponse {\r\n items: ILanguage[];\r\n pagination: IPagination;\r\n }\r\n\r\n export interface IListLanguagesAllResponse extends IKontentListAllResponse {\r\n items: ILanguage[];\r\n responses: IDeliveryNetworkResponse<IListLanguagesResponse, Contracts.IListLanguagesContract>[];\r\n }\r\n\r\n export interface IViewTaxonomyResponse extends IKontentResponse {\r\n taxonomy: ITaxonomyGroup;\r\n }\r\n\r\n export interface IListTaxonomiesResponse extends IKontentListResponse {\r\n items: ITaxonomyGroup[];\r\n pagination: IPagination;\r\n }\r\n\r\n export interface IListTaxonomiesAllResponse extends IKontentListAllResponse {\r\n items: ITaxonomyGroup[];\r\n responses: IDeliveryNetworkResponse<IListTaxonomiesResponse, Contracts.IListTaxonomyGroupsContract>[];\r\n }\r\n}\r\n","import { IQueryConfig } from './common/common-models';\r\n\r\nexport interface ITaxonomyGroup {\r\n system: ITaxonomySystemAttributes;\r\n terms: ITaxonomyTerms[];\r\n}\r\n\r\nexport interface ITaxonomySystemAttributes {\r\n id: string;\r\n name: string;\r\n codename: string;\r\n lastModified: Date;\r\n}\r\n\r\nexport interface ITaxonomyTerms {\r\n name: string;\r\n codename: string;\r\n terms: ITaxonomyTerms[];\r\n}\r\n\r\nexport interface ITaxonomyQueryConfig extends IQueryConfig {\r\n /**\r\n * No dedicated properties required at this moment\r\n */\r\n}\r\n","import {\r\n IParsedObjects,\r\n IImageObject,\r\n ILinkedItemContentObject,\r\n ILinkObject,\r\n ParsedItemIndexReferenceWrapper,\r\n IParserResult,\r\n IAsyncParser,\r\n IAsyncParseResolvers\r\n} from '../parse-models';\r\nimport { parserConfiguration } from '../parser-configuration';\r\nimport { ContentItemType, IContentItem } from '../../models';\r\nimport { parserHelper } from '../parser.helper';\r\nimport { Elements } from '../../elements';\r\n\r\nexport class AsyncBrowserParser implements IAsyncParser<string> {\r\n async parseAsync(\r\n html: string,\r\n mainRichTextElement: Elements.RichTextElement,\r\n resolvers: IAsyncParseResolvers,\r\n linkedItems: IContentItem[]\r\n ): Promise<IParserResult<string>> {\r\n return await this.parseInternalAsync(\r\n mainRichTextElement,\r\n resolvers,\r\n html,\r\n linkedItems,\r\n new ParsedItemIndexReferenceWrapper(0),\r\n null\r\n );\r\n }\r\n\r\n private async parseInternalAsync(\r\n mainRichTextElement: Elements.RichTextElement,\r\n resolvers: IAsyncParseResolvers,\r\n html: string,\r\n linkedItems: IContentItem[],\r\n linkedItemIndex: ParsedItemIndexReferenceWrapper,\r\n parentElement: Element | null\r\n ): Promise<IParserResult<string>> {\r\n const rootElement = this.createWrapperElement(html);\r\n\r\n // get all linked items\r\n const result = await this.processRichTextElementAsync(\r\n mainRichTextElement,\r\n resolvers,\r\n rootElement.children,\r\n {\r\n links: [],\r\n linkedItems: [],\r\n images: []\r\n },\r\n linkedItems,\r\n linkedItemIndex,\r\n parentElement\r\n );\r\n\r\n return {\r\n componentCodenames: result.linkedItems.filter((m) => m.itemType === 'component').map((m) => m.dataCodename),\r\n linkedItemCodenames: result.linkedItems\r\n .filter((m) => m.itemType === 'linkedItem')\r\n .map((m) => m.dataCodename),\r\n result: rootElement.innerHTML\r\n };\r\n }\r\n\r\n private async processRichTextElementAsync(\r\n mainRichTextElement: Elements.RichTextElement,\r\n resolvers: IAsyncParseResolvers,\r\n htmlCollection: HTMLCollection,\r\n result: IParsedObjects,\r\n linkedItems: IContentItem[],\r\n linkedItemIndex: ParsedItemIndexReferenceWrapper,\r\n parentElement: Element | null\r\n ): Promise<IParsedObjects> {\r\n if (!htmlCollection || htmlCollection.length === 0) {\r\n // there are no more nodes\r\n } else {\r\n // extract objects\r\n for (let i = 0; i < htmlCollection.length; i++) {\r\n const element = htmlCollection[i];\r\n\r\n resolvers.elementResolverAsync(parserHelper.convertToParserElement(element));\r\n\r\n const typeAttribute = element.attributes ? element.attributes.getNamedItem('type') : undefined;\r\n\r\n // process linked items (modular items)\r\n if (\r\n element.attributes &&\r\n typeAttribute &&\r\n typeAttribute.value &&\r\n typeAttribute.value.toLowerCase() ===\r\n parserConfiguration.modularContentElementData.type.toLowerCase()\r\n ) {\r\n const dataCodenameAttribute = element.attributes.getNamedItem(\r\n parserConfiguration.modularContentElementData.dataCodename\r\n );\r\n const dataTypeAttribute = element.attributes.getNamedItem(\r\n parserConfiguration.modularContentElementData.dataType\r\n );\r\n\r\n if (!dataTypeAttribute) {\r\n throw Error('Missing data type attribute. This is likely an error caused by invalid response.');\r\n }\r\n\r\n const relAttribute = element.attributes.getNamedItem(\r\n parserConfiguration.modularContentElementData.relAttribute\r\n );\r\n\r\n let itemType: ContentItemType = 'linkedItem';\r\n\r\n if (\r\n relAttribute &&\r\n relAttribute.value === parserConfiguration.modularContentElementData.componentRel\r\n ) {\r\n itemType = 'component';\r\n }\r\n\r\n // prepare link item object\r\n const linkItemContentObject: ILinkedItemContentObject = {\r\n dataCodename: dataCodenameAttribute ? dataCodenameAttribute.value : '',\r\n dataType: dataTypeAttribute ? dataTypeAttribute.value : '',\r\n itemType: itemType\r\n };\r\n\r\n // replace html\r\n const elementParent = element.parentElement;\r\n\r\n if (!elementParent) {\r\n console.warn(\r\n `Could not replace linked item '${linkItemContentObject.dataCodename}' of '${linkItemContentObject.dataType}' because parent node is undefined. Please report this error if you are seeing this.`\r\n );\r\n } else {\r\n if (dataTypeAttribute.value === 'item') {\r\n // add to result\r\n result.linkedItems.push(linkItemContentObject);\r\n\r\n // resolve linked item\r\n await resolvers.contentItemResolverAsync(\r\n parserHelper.convertToParserElement(element),\r\n linkItemContentObject.dataCodename,\r\n linkedItemIndex.index,\r\n parserHelper.getLinkedItem(linkedItems, linkItemContentObject.dataCodename)\r\n );\r\n\r\n // increment index\r\n linkedItemIndex.increment();\r\n } else {\r\n console.warn(\r\n `Rich text element contains object with unsupported data type '${dataTypeAttribute.value}'`\r\n );\r\n }\r\n }\r\n }\r\n // process links\r\n else if (\r\n element.nodeName.toLowerCase() === parserConfiguration.linkElementData.nodeName.toLowerCase()\r\n ) {\r\n const dataItemIdAttribute = element.attributes.getNamedItem(\r\n parserConfiguration.linkElementData.dataItemId\r\n );\r\n\r\n if (dataItemIdAttribute) {\r\n const linkObject: ILinkObject = {\r\n dataItemId: dataItemIdAttribute ? dataItemIdAttribute.value : ''\r\n };\r\n\r\n // add to result\r\n result.links.push(linkObject);\r\n\r\n // get original link text (the one inside <a> tag)\r\n const linkText = element.innerHTML;\r\n\r\n await resolvers.urlResolverAsync(\r\n parserHelper.convertToParserElement(element),\r\n linkObject.dataItemId,\r\n linkText,\r\n parserHelper.tryGetLink(mainRichTextElement, linkedItems, linkObject.dataItemId)\r\n );\r\n }\r\n }\r\n // process images\r\n else if (\r\n element.nodeName.toLowerCase() === parserConfiguration.imageElementData.nodeName.toLowerCase()\r\n ) {\r\n const dataImageIdAttribute = element.attributes.getNamedItem(\r\n parserConfiguration.imageElementData.dataImageId\r\n );\r\n\r\n // continue only if data image id is present. There could be regular img tags included\r\n if (dataImageIdAttribute) {\r\n const imageObj: IImageObject = {\r\n imageId: dataImageIdAttribute.value\r\n };\r\n\r\n result.images.push(imageObj);\r\n\r\n // resolve image\r\n await resolvers.imageResolverAsync(\r\n parserHelper.convertToParserElement(element),\r\n imageObj.imageId,\r\n parserHelper.tryGetImage(mainRichTextElement, linkedItems, imageObj.imageId)\r\n );\r\n }\r\n } else {\r\n // process generic elements\r\n await resolvers.genericElementResolverAsync(parserHelper.convertToParserElement(element));\r\n }\r\n\r\n // recursively process child nodes\r\n if (element.children && element.children.length > 0) {\r\n await this.processRichTextElementAsync(\r\n mainRichTextElement,\r\n resolvers,\r\n element.children,\r\n result,\r\n linkedItems,\r\n linkedItemIndex,\r\n parentElement\r\n );\r\n }\r\n }\r\n }\r\n\r\n return result;\r\n }\r\n\r\n private createWrapperElement(html: string): HTMLElement {\r\n const element = document.createElement(parserConfiguration.linkedItemWrapperElem);\r\n element.innerHTML = html;\r\n\r\n return element;\r\n }\r\n}\r\n\r\nexport const asyncBrowserParser = new AsyncBrowserParser();\r\n","import {\r\n IParsedObjects,\r\n IImageObject,\r\n ILinkedItemContentObject,\r\n ILinkObject,\r\n ParsedItemIndexReferenceWrapper,\r\n IParser,\r\n IParseResolvers,\r\n IParserResult\r\n} from '../parse-models';\r\nimport { parserConfiguration } from '../parser-configuration';\r\nimport { ContentItemType, IContentItem } from '../../models';\r\nimport { parserHelper } from '../parser.helper';\r\nimport { Elements } from '../../elements';\r\n\r\nexport class BrowserParser implements IParser<string> {\r\n parse(\r\n html: string,\r\n mainRichTextElement: Elements.RichTextElement,\r\n resolvers: IParseResolvers,\r\n linkedItems: IContentItem[]\r\n ): IParserResult<string> {\r\n return this.parseInternal(\r\n mainRichTextElement,\r\n resolvers,\r\n html,\r\n linkedItems,\r\n new ParsedItemIndexReferenceWrapper(0),\r\n null\r\n );\r\n }\r\n\r\n private parseInternal(\r\n mainRichTextElement: Elements.RichTextElement,\r\n resolvers: IParseResolvers,\r\n html: string,\r\n linkedItems: IContentItem[],\r\n linkedItemIndex: ParsedItemIndexReferenceWrapper,\r\n parentElement: Element | null\r\n ): IParserResult<string> {\r\n const rootElement = this.createWrapperElement(html);\r\n\r\n // get all linked items\r\n const result = this.processRichTextElement(\r\n mainRichTextElement,\r\n resolvers,\r\n rootElement.children,\r\n {\r\n links: [],\r\n linkedItems: [],\r\n images: []\r\n },\r\n linkedItems,\r\n linkedItemIndex,\r\n parentElement\r\n );\r\n\r\n return {\r\n componentCodenames: result.linkedItems.filter((m) => m.itemType === 'component').map((m) => m.dataCodename),\r\n linkedItemCodenames: result.linkedItems\r\n .filter((m) => m.itemType === 'linkedItem')\r\n .map((m) => m.dataCodename),\r\n result: rootElement.innerHTML\r\n };\r\n }\r\n\r\n private processRichTextElement(\r\n mainRichTextElement: Elements.RichTextElement,\r\n resolvers: IParseResolvers,\r\n htmlCollection: HTMLCollection,\r\n result: IParsedObjects,\r\n linkedItems: IContentItem[],\r\n linkedItemIndex: ParsedItemIndexReferenceWrapper,\r\n parentElement: Element | null\r\n ): IParsedObjects {\r\n if (!htmlCollection || htmlCollection.length === 0) {\r\n // there are no more nodes\r\n } else {\r\n // extract objects\r\n for (let i = 0; i < htmlCollection.length; i++) {\r\n const element = htmlCollection[i];\r\n\r\n resolvers.elementResolver(parserHelper.convertToParserElement(element));\r\n\r\n const typeAttribute = element.attributes ? element.attributes.getNamedItem('type') : undefined;\r\n\r\n // process linked items (modular items)\r\n if (\r\n element.attributes &&\r\n typeAttribute &&\r\n typeAttribute.value &&\r\n typeAttribute.value.toLowerCase() ===\r\n parserConfiguration.modularContentElementData.type.toLowerCase()\r\n ) {\r\n const dataCodenameAttribute = element.attributes.getNamedItem(\r\n parserConfiguration.modularContentElementData.dataCodename\r\n );\r\n const dataTypeAttribute = element.attributes.getNamedItem(\r\n parserConfiguration.modularContentElementData.dataType\r\n );\r\n\r\n if (!dataTypeAttribute) {\r\n throw Error('Missing data type attribute. This is likely an error caused by invalid response.');\r\n }\r\n\r\n const relAttribute = element.attributes.getNamedItem(\r\n parserConfiguration.modularContentElementData.relAttribute\r\n );\r\n\r\n let itemType: ContentItemType = 'linkedItem';\r\n\r\n if (\r\n relAttribute &&\r\n relAttribute.value === parserConfiguration.modularContentElementData.componentRel\r\n ) {\r\n itemType = 'component';\r\n }\r\n\r\n // prepare link item object\r\n const linkItemContentObject: ILinkedItemContentObject = {\r\n dataCodename: dataCodenameAttribute ? dataCodenameAttribute.value : '',\r\n dataType: dataTypeAttribute ? dataTypeAttribute.value : '',\r\n itemType: itemType\r\n };\r\n\r\n const elementParent = element.parentElement;\r\n\r\n if (!elementParent) {\r\n console.warn(\r\n `Could not replace linked item '${linkItemContentObject.dataCodename}' of '${linkItemContentObject.dataType}' because parent node is undefined. Please report this error if you are seeing this.`\r\n );\r\n } else {\r\n if (dataTypeAttribute.value === 'item') {\r\n // add to result\r\n result.linkedItems.push(linkItemContentObject);\r\n\r\n // resolve linked item\r\n resolvers.contentItemResolver(\r\n parserHelper.convertToParserElement(element),\r\n linkItemContentObject.dataCodename,\r\n linkedItemIndex.index,\r\n parserHelper.getLinkedItem(linkedItems, linkItemContentObject.dataCodename)\r\n );\r\n\r\n // increment index\r\n linkedItemIndex.increment();\r\n } else {\r\n console.warn(\r\n `Rich text element contains object with unsupported data type '${dataTypeAttribute.value}'`\r\n );\r\n }\r\n }\r\n }\r\n // process links\r\n else if (\r\n element.nodeName.toLowerCase() === parserConfiguration.linkElementData.nodeName.toLowerCase()\r\n ) {\r\n const dataItemIdAttribute = element.attributes.getNamedItem(\r\n parserConfiguration.linkElementData.dataItemId\r\n );\r\n\r\n if (dataItemIdAttribute) {\r\n const linkObject: ILinkObject = {\r\n dataItemId: dataItemIdAttribute ? dataItemIdAttribute.value : ''\r\n };\r\n\r\n // add to result\r\n result.links.push(linkObject);\r\n\r\n // get original link text (the one inside <a> tag)\r\n const linkText = element.innerHTML;\r\n\r\n resolvers.urlResolver(\r\n parserHelper.convertToParserElement(element),\r\n linkObject.dataItemId,\r\n linkText,\r\n parserHelper.tryGetLink(mainRichTextElement, linkedItems, linkObject.dataItemId)\r\n );\r\n }\r\n }\r\n // process images\r\n else if (\r\n element.nodeName.toLowerCase() === parserConfiguration.imageElementData.nodeName.toLowerCase()\r\n ) {\r\n const dataImageIdAttribute = element.attributes.getNamedItem(\r\n parserConfiguration.imageElementData.dataImageId\r\n );\r\n\r\n // continue only if data image id is present. There could be regular img tags included\r\n if (dataImageIdAttribute) {\r\n const imageObj: IImageObject = {\r\n imageId: dataImageIdAttribute.value\r\n };\r\n\r\n result.images.push(imageObj);\r\n\r\n // resolve image\r\n resolvers.imageResolver(\r\n parserHelper.convertToParserElement(element),\r\n imageObj.imageId,\r\n parserHelper.tryGetImage(mainRichTextElement, linkedItems, imageObj.imageId)\r\n );\r\n }\r\n } else {\r\n // process generic elements\r\n resolvers.genericElementResolver(parserHelper.convertToParserElement(element));\r\n }\r\n\r\n // recursively process child nodes\r\n if (element.children && element.children.length > 0) {\r\n this.processRichTextElement(\r\n mainRichTextElement,\r\n resolvers,\r\n element.children,\r\n result,\r\n linkedItems,\r\n linkedItemIndex,\r\n parentElement\r\n );\r\n }\r\n }\r\n }\r\n\r\n return result;\r\n }\r\n\r\n private createWrapperElement(html: string): HTMLElement {\r\n const element = document.createElement(parserConfiguration.linkedItemWrapperElem);\r\n element.innerHTML = html;\r\n\r\n return element;\r\n }\r\n}\r\n\r\nexport const browserParser = new BrowserParser();\r\n","export * from './parse-models';\r\nexport * from './parser-configuration';\r\nexport * from './parser.helper';\r\nexport * from './implementation/async-browser-parser.class';\r\nexport * from './implementation/browser-parser.class';\r\n","import { Elements } from '../elements/elements';\r\nimport { ContentItemType, IContentItem, ILink, IRichTextImage } from '../models';\r\n\r\n/**\r\n * This class as a wrapper is required so we can pass\r\n * index as a reference and not a value\r\n */\r\n export class ParsedItemIndexReferenceWrapper {\r\n constructor(public index: number) {}\r\n\r\n increment(): void {\r\n this.index++;\r\n }\r\n}\r\n\r\nexport interface IParsedObjects {\r\n links: ILinkObject[];\r\n linkedItems: ILinkedItemContentObject[];\r\n images: IImageObject[];\r\n}\r\n\r\n\r\nexport interface ILinkedItemContentObject {\r\n dataType: string;\r\n dataCodename: string;\r\n itemType: ContentItemType;\r\n}\r\n\r\nexport interface ILinkObject {\r\n dataItemId: string;\r\n}\r\n\r\nexport interface IImageObject {\r\n imageId: string;\r\n}\r\n\r\nexport interface IParserElementAttribute {\r\n name: string;\r\n value: string;\r\n}\r\n\r\n\r\nexport interface IParserElement {\r\n attributes: IParserElementAttribute[];\r\n html?: string;\r\n text?: string;\r\n parentElement?: IParserElement;\r\n tag: string;\r\n setOuterHtml: (newHtml: string) => void;\r\n setInnerHtml: (newHtml: string) => void;\r\n setAttribute: (attributeName: string, attributeValue?: string) => void;\r\n sourceElement: any;\r\n}\r\n\r\nexport interface IParseResolvers {\r\n elementResolver: (element: IParserElement) => void;\r\n genericElementResolver: (element: IParserElement) => void;\r\n urlResolver: (element: IParserElement, linkId: string, linkText: string, link?: ILink) => void;\r\n imageResolver: (element: IParserElement, imageId: string, image?: IRichTextImage) => void;\r\n contentItemResolver: (element: IParserElement, linkedItemCodename: string, linkedItemIndex: number, linkedItem?: IContentItem) => void;\r\n}\r\n\r\nexport interface IAsyncParseResolvers {\r\n elementResolverAsync: (element: IParserElement) => Promise<void>;\r\n genericElementResolverAsync: (element: IParserElement) => Promise<void>;\r\n urlResolverAsync: (element: IParserElement, linkId: string, linkText: string, link?: ILink) => Promise<void>;\r\n imageResolverAsync: (element: IParserElement, imageId: string, image?: IRichTextImage) => Promise<void>;\r\n contentItemResolverAsync: (element: IParserElement, linkedItemCodename: string, linkedItemIndex: number, linkedItem?: IContentItem) => Promise<void>;\r\n}\r\n\r\nexport interface IParserResult<TParserOutput> {\r\n result: TParserOutput;\r\n linkedItemCodenames: string[];\r\n componentCodenames: string[];\r\n}\r\n\r\nexport interface IParser<TParserOutput> {\r\n parse(\r\n html: string,\r\n mainRichTextElement: Elements.RichTextElement,\r\n resolvers: IParseResolvers,\r\n linkedItems: IContentItem[]\r\n ): IParserResult<TParserOutput>;\r\n}\r\n\r\nexport interface IAsyncParser<TParserOutput> {\r\n parseAsync(\r\n html: string,\r\n mainRichTextElement: Elements.RichTextElement,\r\n resolvers: IAsyncParseResolvers,\r\n linkedItems: IContentItem[]\r\n ): Promise<IParserResult<TParserOutput>>;\r\n}\r\n","\r\nexport const parserConfiguration = {\r\n linkedItemWrapperElem: 'div',\r\n modularContentElementData: {\r\n type: 'application/kenticocloud',\r\n dataType: 'data-type',\r\n dataCodename: 'data-codename',\r\n relAttribute: 'data-rel',\r\n componentRel: 'component'\r\n },\r\n linkElementData: {\r\n nodeName: 'a',\r\n dataItemId: 'data-item-id',\r\n },\r\n imageElementData: {\r\n nodeName: 'img',\r\n dataImageId: 'data-image-id',\r\n srcAttribute: 'src'\r\n },\r\n resolvedLinkedItemIndexAttribute: 'data-sdk-item-index',\r\n resolvedAttribute: 'data-sdk-resolved'\r\n\r\n};\r\n","import { Elements, ElementType } from '../elements';\r\nimport { IContentItem, ILink, IRichTextImage } from '../models';\r\nimport { IParserElement, IParserElementAttribute } from './parse-models';\r\n\r\nexport class ParserHelper {\r\n\r\n public readonly sdkResolvedAttributeName: string = 'data-sdk-resolved';\r\n\r\n getLinkedItem(linkedItems: IContentItem[], itemCodename: string): IContentItem | undefined {\r\n if (!linkedItems) {\r\n return undefined;\r\n }\r\n return linkedItems.find((m) => m.system.codename === itemCodename);\r\n }\r\n\r\n tryGetImage(\r\n inputElement: Elements.RichTextElement,\r\n linkedItems: IContentItem[],\r\n imageId: string\r\n ): IRichTextImage | undefined {\r\n const elementImage = inputElement.images.find((m) => m.imageId === imageId);\r\n if (elementImage) {\r\n return elementImage;\r\n }\r\n\r\n // try to find image in all linked items\r\n if (linkedItems) {\r\n for (const linkedItem of linkedItems) {\r\n for (const elementKey of Object.keys(linkedItem.elements)) {\r\n const element = linkedItem.elements[elementKey];\r\n if (element.type === ElementType.RichText) {\r\n const richTextElement = element as Elements.RichTextElement;\r\n const richTextElementImage = richTextElement.images.find((m) => m.imageId === imageId);\r\n if (richTextElementImage) {\r\n return richTextElementImage;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n return undefined;\r\n }\r\n\r\n tryGetLink(inputElement: Elements.RichTextElement, linkedItems: IContentItem[], linkId: string): ILink | undefined {\r\n const elementLink = inputElement.links.find((m) => m.linkId === linkId);\r\n if (elementLink) {\r\n return elementLink;\r\n }\r\n\r\n // try to find link in all linked items\r\n if (linkedItems) {\r\n for (const linkedItem of linkedItems) {\r\n for (const elementKey of Object.keys(linkedItem.elements)) {\r\n const element = linkedItem.elements[elementKey];\r\n if (element.type === ElementType.RichText) {\r\n const richTextElement = element as Elements.RichTextElement;\r\n const richTextElementLink = richTextElement.links.find((m) => m.linkId === linkId);\r\n if (richTextElementLink) {\r\n return richTextElementLink;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n return undefined;\r\n }\r\n\r\n convertToParserElement(element: Element): IParserElement {\r\n const attributes: IParserElementAttribute[] = [];\r\n\r\n for (let i = 0; i < element.attributes.length; i++) {\r\n const attribute = element.attributes[i];\r\n\r\n attributes.push({\r\n name: attribute.name,\r\n value: attribute.value\r\n });\r\n }\r\n\r\n return {\r\n tag: element.tagName,\r\n setAttribute: (attributeName, attributeValue) => {\r\n const attribute = element.attributes.getNamedItem(attributeName);\r\n if (attribute) {\r\n attribute.value = attributeValue ?? '';\r\n } else {\r\n element.setAttribute(attributeName, attributeValue ?? '');\r\n }\r\n },\r\n setInnerHtml: (newHtml) => (element.innerHTML = newHtml),\r\n setOuterHtml: (newHtml) => (element.outerHTML = newHtml),\r\n html: element.innerHTML,\r\n text: element.textContent ? element.textContent : undefined,\r\n attributes: attributes,\r\n parentElement: element.parentElement ? this.convertToParserElement(element.parentElement) : undefined,\r\n sourceElement: element\r\n };\r\n }\r\n}\r\n\r\nexport const parserHelper = new ParserHelper();\r\n","import { IDeliveryClientConfig } from '../../config';\r\nimport {\r\n continuationTokenHeaderName,\r\n Filters,\r\n IGroupedNetworkResponse,\r\n IKontentListAllResponse,\r\n IKontentListResponse,\r\n IDeliveryNetworkResponse,\r\n IListAllQueryConfig,\r\n IQueryConfig,\r\n Parameters,\r\n SortOrder\r\n} from '../../models';\r\nimport { QueryService } from '../../services';\r\nimport { BaseQuery } from './base-query.class';\r\n\r\nexport abstract class BaseListingQuery<\r\n TResponse extends IKontentListResponse,\r\n TAllResponse extends IKontentListAllResponse,\r\n TQueryConfig extends IQueryConfig,\r\n TContract\r\n> extends BaseQuery<TResponse, TQueryConfig, TContract> {\r\n\r\n constructor(protected config: IDeliveryClientConfig, protected queryService: QueryService) {\r\n super(config, queryService);\r\n }\r\n\r\n /**\r\n * Empty filter condition\r\n * @param element Element with empty value\r\n */\r\n emptyFilter(element: string): this {\r\n this.parameters.push(new Filters.EmptyFilter(element));\r\n return this;\r\n }\r\n\r\n /**\r\n * Not empty filter condition\r\n * @param element Element with non-empty value\r\n */\r\n notEmptyFilter(element: string): this {\r\n this.parameters.push(new Filters.NotEmptyFilter(element));\r\n return this;\r\n }\r\n\r\n /**\r\n * Equals filter condition\r\n * @param element Element to filter. Example: 'elements.movie'\r\n * @param value Value to match. Example: 'Kingsman'\r\n */\r\n equalsFilter(element: string, value: string): this {\r\n this.parameters.push(new Filters.EqualsFilter(element, value));\r\n return this;\r\n }\r\n\r\n /**\r\n * Not equals filter condition\r\n * @param element Element to filter. Example: 'elements.movie'\r\n * @param value Value to match. Example: 'Kingsman'\r\n */\r\n notEqualsFilter(element: string, value: string): this {\r\n this.parameters.push(new Filters.NotEqualsFilter(element, value));\r\n return this;\r\n }\r\n\r\n /**\r\n * All filter\r\n * @param element Element to filter.\r\n * @param values Values\r\n */\r\n allFilter(element: string, values: string[]): this {\r\n this.parameters.push(new Filters.AllFilter(element, values));\r\n return this;\r\n }\r\n\r\n /**\r\n * Any filter\r\n * @param element Element to filter.\r\n * @param values Values\r\n */\r\n anyFilter(element: string, values: string[]): this {\r\n this.parameters.push(new Filters.AnyFilter(element, values));\r\n return this;\r\n }\r\n\r\n /**\r\n * Contains filter\r\n * @param element Element to filter.\r\n * @param values Values\r\n */\r\n containsFilter(element: string, values: string[]): this {\r\n this.parameters.push(new Filters.ContainsFilter(element, values));\r\n return this;\r\n }\r\n\r\n /**\r\n * Greater then filter\r\n * @param element Element to filter.\r\n * @param value Value\r\n */\r\n greaterThanFilter(element: string, value: string): this {\r\n this.parameters.push(new Filters.GreaterThanFilter(element, value));\r\n return this;\r\n }\r\n\r\n /**\r\n * Greater then or equals filter\r\n * @param element Element to filter.\r\n * @param value Value\r\n */\r\n greaterThanOrEqualFilter(element: string, value: string): this {\r\n this.parameters.push(new Filters.GreaterThanOrEqualFilter(element, value));\r\n return this;\r\n }\r\n\r\n /**\r\n * In filter\r\n * @param element Element to filter.\r\n * @param values Values\r\n */\r\n inFilter(element: string, values: string[]): this {\r\n this.parameters.push(new Filters.InFilter(element, values));\r\n return this;\r\n }\r\n\r\n /**\r\n * Not in filter\r\n * @param element Element to filter.\r\n * @param values Values\r\n */\r\n notInFilter(element: string, values: string[]): this {\r\n this.parameters.push(new Filters.NotInFilter(element, values));\r\n return this;\r\n }\r\n\r\n /**\r\n * Less then filter\r\n * @param element Element to filter.\r\n * @param value Value\r\n */\r\n lessThanFilter(element: string, value: string): this {\r\n this.parameters.push(new Filters.LessThanFilter(element, value));\r\n return this;\r\n }\r\n\r\n /**\r\n * @param element Element to filter.\r\n * @param value Value\r\n */\r\n lessThanOrEqualFilter(element: string, value: string): this {\r\n this.parameters.push(new Filters.LessThanOrEqualFilter(element, value));\r\n return this;\r\n }\r\n\r\n /**\r\n * @param element Element to filter.\r\n * @param lowerValue Lower value of range (e.g. 2)\r\n * @param higherValue Higher value of range (e.g. 10)\r\n */\r\n rangeFilter(element: string, lowerValue: number, higherValue: number): this {\r\n this.parameters.push(new Filters.RangeFilter(element, lowerValue, higherValue));\r\n return this;\r\n }\r\n\r\n /**\r\n * Limits the number of items returned by query\r\n * @param limit Number of items to load\r\n */\r\n limitParameter(limit: number): this {\r\n this.parameters.push(new Parameters.LimitParameter(limit));\r\n return this;\r\n }\r\n\r\n /**\r\n * Orders query based on given element and sort order\r\n * @param element Element by which to order\r\n * @param sortOrder Asc/Desc order type\r\n */\r\n orderParameter(element: string, sortOrder: SortOrder): this {\r\n this.parameters.push(new Parameters.OrderParameter(element, sortOrder));\r\n return this;\r\n }\r\n\r\n /**\r\n * Sets descending order on given element\r\n * @param element Element by which to order\r\n */\r\n orderByDescending(element: string): this {\r\n this.parameters.push(new Parameters.OrderParameter(element, 'desc'));\r\n return this;\r\n }\r\n\r\n /**\r\n * Sets Ascending order on given element\r\n * @param element Element by which to order\r\n */\r\n orderByAscending(element: string): this {\r\n this.parameters.push(new Parameters.OrderParameter(element, 'asc'));\r\n return this;\r\n }\r\n\r\n /**\r\n * Skips the selected number of items\r\n * @param skip Number of items to skip\r\n */\r\n skipParameter(skip: number): this {\r\n this.parameters.push(new Parameters.SkipParameter(skip));\r\n return this;\r\n }\r\n\r\n /**\r\n * Sets continuation token header\r\n */\r\n withContinuationToken(token: string): this {\r\n // remove previous continuation token if there is any\r\n let queryHeaders = this._queryConfig.customHeaders ?? [];\r\n queryHeaders = queryHeaders.filter(m => m.header !== continuationTokenHeaderName);\r\n\r\n this._queryConfig.customHeaders = queryHeaders;\r\n\r\n this.withHeaders([\r\n {\r\n header: continuationTokenHeaderName,\r\n value: token\r\n }\r\n ]);\r\n\r\n return this;\r\n }\r\n\r\n /**\r\n * Query to get all items. Uses paging data and may execute multiple HTTP requests depending on number of items\r\n */\r\n toAllPromise(queryAllConfig?: IListAllQueryConfig<TResponse, TContract>): Promise<IGroupedNetworkResponse<TAllResponse>> {\r\n return this.queryService.getListAllResponse<TResponse, TAllResponse, TContract>({\r\n page: 1,\r\n listQueryConfig: queryAllConfig,\r\n allResponseFactory: (items, responses) => {\r\n const response = this.allResponseFactory(items, responses);\r\n return {\r\n data: response,\r\n responses: responses\r\n };\r\n },\r\n getResponse: (nextPageUrl, continuationToken) => {\r\n let query = this;\r\n\r\n if (nextPageUrl) {\r\n query = this.withCustomUrl(nextPageUrl);\r\n }\r\n if (continuationToken) {\r\n query = this.withContinuationToken(continuationToken);\r\n }\r\n\r\n return query.toPromise();\r\n }\r\n });\r\n }\r\n\r\n protected abstract allResponseFactory(items: any[], responses: IDeliveryNetworkResponse<TResponse, TContract>[]): TAllResponse;\r\n}\r\n","import { IHeader, IQueryParameter } from '@kontent-ai/core-sdk';\r\n\r\nimport { IDeliveryClientConfig } from '../../config';\r\nimport { IDeliveryNetworkResponse, IKontentResponse, IQueryConfig, Parameters } from '../../models';\r\nimport { QueryService } from '../../services';\r\n\r\nexport abstract class BaseQuery<TResponse extends IKontentResponse, TQueryConfig extends IQueryConfig, TContract> {\r\n protected parameters: IQueryParameter[] = [];\r\n protected customUrl?: string;\r\n protected abstract _queryConfig: TQueryConfig;\r\n\r\n constructor(protected config: IDeliveryClientConfig, protected queryService: QueryService) {}\r\n\r\n /**\r\n * Gets URL of the query\r\n */\r\n abstract getUrl(): string;\r\n\r\n /**\r\n * Gets promise for query execution\r\n */\r\n abstract toPromise(): Promise<IDeliveryNetworkResponse<TResponse, TContract>>;\r\n\r\n /**\r\n * Maps json data to response\r\n */\r\n abstract map(json: any): TResponse;\r\n\r\n /**\r\n * Adds custom parameter to query\r\n * @param name Name of parameter\r\n * @param value Value of parameter\r\n */\r\n withCustomParameter(name: string, value: string): this {\r\n this.parameters.push(new Parameters.QueryParameter(name, value));\r\n return this;\r\n }\r\n\r\n /**\r\n * Adds parameter to query\r\n * @param name Name of parameter\r\n * @param value Value of parameter\r\n */\r\n withParameter(parameter: IQueryParameter): this {\r\n this.parameters.push(parameter);\r\n return this;\r\n }\r\n\r\n /**\r\n * Adds parameters to query\r\n * @param parameters Array of parameters\r\n */\r\n withParameters(parameters: IQueryParameter[]): this {\r\n this.parameters.push(...parameters);\r\n return this;\r\n }\r\n\r\n /**\r\n * Gets headers used by this query\r\n */\r\n getHeaders(): IHeader[] {\r\n return this.queryService.getHeaders(this._queryConfig, []);\r\n }\r\n\r\n /**\r\n * Sets request headers\r\n */\r\n withHeaders(headers: IHeader[]): this {\r\n const queryHeaders = this._queryConfig.customHeaders ?? [];\r\n queryHeaders.push(...headers);\r\n this._queryConfig.customHeaders = queryHeaders;\r\n return this;\r\n }\r\n\r\n /**\r\n * Sets request header\r\n */\r\n withHeader(header: IHeader): this {\r\n const queryHeaders = this._queryConfig.customHeaders ?? [];\r\n queryHeaders.push(header);\r\n this._queryConfig.customHeaders = queryHeaders;\r\n return this;\r\n }\r\n\r\n /**\r\n * Sets custom URL of request (overrides default URL of the query)\r\n */\r\n withCustomUrl(url: string): this {\r\n this.customUrl = url;\r\n return this;\r\n }\r\n\r\n /**\r\n * Gets all query parameter currently applied to query\r\n */\r\n getParameters(): IQueryParameter[] {\r\n return this.parameters;\r\n }\r\n\r\n /**\r\n * Used to configure query\r\n * @param queryConfig Query configuration\r\n */\r\n queryConfig(queryConfig: TQueryConfig): this {\r\n this._queryConfig = queryConfig;\r\n return this;\r\n }\r\n\r\n protected resolveUrlInternal(action: string): string {\r\n // use custom URL if user specified it\r\n if (this.customUrl) {\r\n return this.customUrl;\r\n }\r\n\r\n // use original url\r\n return this.queryService.getUrl(action, this._queryConfig ?? {}, this.getParameters());\r\n }\r\n\r\n protected processDefaultLanguageParameter(): void {\r\n // add default language if none is specified && default language is specified globally\r\n if (this.config.defaultLanguage) {\r\n const languageParameter = this.getParameters().find((m) => m.getParam() === 'language');\r\n if (!languageParameter) {\r\n // language parameter was not specified in query, use globally defined language\r\n this.parameters.push(new Parameters.LanguageParameter(this.config.defaultLanguage));\r\n }\r\n }\r\n }\r\n}\r\n","import { Contracts } from '../../contracts';\r\nimport { IDeliveryClientConfig } from '../../config';\r\nimport { Responses, IElementQueryConfig, IDeliveryNetworkResponse } from '../../models';\r\nimport { QueryService } from '../../services';\r\nimport { BaseQuery } from '../common/base-query.class';\r\n\r\nexport class ElementQuery extends BaseQuery<\r\n Responses.IViewContentTypeElementResponse,\r\n IElementQueryConfig,\r\n Contracts.IViewContentTypeElementContract\r\n> {\r\n\r\n protected _queryConfig: IElementQueryConfig = {};\r\n\r\n constructor(\r\n protected config: IDeliveryClientConfig,\r\n protected queryService: QueryService,\r\n private typeCodename: string,\r\n private elementCodename: string\r\n ) {\r\n super(config, queryService);\r\n\r\n if (!typeCodename) {\r\n throw Error(`Codename of the type has to be provided`);\r\n }\r\n\r\n if (!elementCodename) {\r\n throw Error(`Codename of the element has to be provided`);\r\n }\r\n }\r\n\r\n toPromise(): Promise<\r\n IDeliveryNetworkResponse<\r\n Responses.IViewContentTypeElementResponse,\r\n Contracts.IViewContentTypeElementContract\r\n >\r\n > {\r\n return this.queryService.getElementAsync(this.getUrl(), this._queryConfig ?? {});\r\n }\r\n\r\n getUrl(): string {\r\n const action = '/types/' + this.typeCodename + '/elements/' + this.elementCodename;\r\n\r\n return super.resolveUrlInternal(action);\r\n }\r\n\r\n map(json: any): Responses.IViewContentTypeElementResponse {\r\n return this.queryService.mappingService.viewContentTypeElementResponse(json);\r\n }\r\n}\r\n","export * from './common/base-query.class';\r\nexport * from './element/element-query.class';\r\nexport * from './item/multiple-items-query.class';\r\nexport * from './item/single-item-query.class';\r\nexport * from './taxonomy/taxonomies-query.class';\r\nexport * from './taxonomy/taxonomy-query.class';\r\nexport * from './type/multiple-type-query.class';\r\nexport * from './type/single-type-query.class';\r\nexport * from './items-feed/items-feed-query.class';\r\nexport * from './language/languages-query.class';\r\n","import { Contracts } from '../../contracts';\r\nimport { IDeliveryClientConfig } from '../../config';\r\nimport { Filters, IContentItem, IItemQueryConfig, IDeliveryNetworkResponse, Responses, Parameters } from '../../models';\r\nimport { QueryService } from '../../services';\r\nimport { BaseListingQuery } from '../common/base-listing-query.class';\r\n\r\nexport class MultipleItemsQuery<TContentItem extends IContentItem = IContentItem> extends BaseListingQuery<\r\n Responses.IListContentItemsResponse<TContentItem>,\r\n Responses.IListContentItemsAllResponse<TContentItem>,\r\n IItemQueryConfig,\r\n Contracts.IListContentItemsContract\r\n> {\r\n protected _queryConfig: IItemQueryConfig = {};\r\n\r\n constructor(protected config: IDeliveryClientConfig, protected queryService: QueryService) {\r\n super(config, queryService);\r\n }\r\n\r\n /**\r\n * Adds information about the total number of content items matching your query.\r\n * When set to true, the pagination object returned in the API response contains\r\n * an additional total_count property.\r\n */\r\n includeTotalCountParameter(): this {\r\n this.parameters.push(new Parameters.IncludeTotalCountParameter());\r\n return this;\r\n }\r\n\r\n /**\r\n * Gets only item of given type\r\n * @param type Codename of type to get\r\n */\r\n type(type: string): this {\r\n this.parameters.push(new Filters.TypeFilter(type));\r\n return this;\r\n }\r\n\r\n /**\r\n * Gets items of given types (logical or)\r\n * I.e. get items of either 'Actor' or 'Movie' type\r\n * @param types Types to get\r\n */\r\n types(types: string[]): this {\r\n this.parameters.push(new Filters.TypeFilter(types));\r\n return this;\r\n }\r\n\r\n /**\r\n * Gets only item from given collection\r\n * @param collection Codename of collection to get\r\n */\r\n collection(collection: string): this {\r\n this.parameters.push(new Filters.CollectionFilter(collection));\r\n return this;\r\n }\r\n\r\n /**\r\n * Gets items from given collections (logical or)\r\n * I.e. get items of either 'default' or 'christmas-campaign' collection\r\n * @param collections Collections to get\r\n */\r\n collections(collections: string[]): this {\r\n this.parameters.push(new Filters.CollectionFilter(collections));\r\n return this;\r\n }\r\n\r\n /**\r\n * Indicates depth of query that affects loading of nested linked items.\r\n * @param depth Depth of the query (> 0)\r\n */\r\n depthParameter(depth: number): this {\r\n this.parameters.push(new Parameters.DepthParameter(depth));\r\n return this;\r\n }\r\n\r\n /**\r\n * Language codename\r\n * @param languageCodename Codename of the language\r\n */\r\n languageParameter(languageCodename: string): this {\r\n this.parameters.push(new Parameters.LanguageParameter(languageCodename));\r\n return this;\r\n }\r\n\r\n /**\r\n * Used to limit the number of elements returned by query.\r\n * @param elementCodenames Array of element codenames to fetch\r\n */\r\n elementsParameter(elementCodenames: string[]): this {\r\n this.parameters.push(new Parameters.ElementsParameter(elementCodenames));\r\n return this;\r\n }\r\n\r\n toPromise(): Promise<\r\n IDeliveryNetworkResponse<Responses.IListContentItemsResponse<TContentItem>, Contracts.IListContentItemsContract>\r\n > {\r\n return this.queryService.getMultipleItems(this.getUrl(), this._queryConfig ?? {});\r\n }\r\n\r\n getUrl(): string {\r\n const action = '/items';\r\n\r\n // add default language is necessry\r\n this.processDefaultLanguageParameter();\r\n\r\n return super.resolveUrlInternal(action);\r\n }\r\n\r\n map(json: any): Responses.IListContentItemsResponse<TContentItem> {\r\n return this.queryService.mappingService.listContentItemsResponse(json);\r\n }\r\n\r\n protected allResponseFactory(\r\n items: any[],\r\n responses: IDeliveryNetworkResponse<\r\n Responses.IListContentItemsResponse<TContentItem>,\r\n Contracts.IListContentItemsContract\r\n >[]\r\n ): Responses.IListContentItemsAllResponse<TContentItem> {\r\n return {\r\n items: items,\r\n responses: responses\r\n };\r\n }\r\n}\r\n","import { Contracts } from '../../contracts';\r\nimport { IDeliveryClientConfig } from '../../config';\r\nimport { IContentItem, IItemQueryConfig, IDeliveryNetworkResponse, Responses, Parameters } from '../../models';\r\nimport { QueryService } from '../../services';\r\nimport { BaseQuery } from '../common/base-query.class';\r\n\r\nexport class SingleItemQuery<TContentItem extends IContentItem = IContentItem> extends BaseQuery<\r\n Responses.IViewContentItemResponse<TContentItem>,\r\n IItemQueryConfig,\r\n Contracts.IViewContentItemContract\r\n> {\r\n protected _queryConfig: IItemQueryConfig = {};\r\n\r\n constructor(\r\n protected config: IDeliveryClientConfig,\r\n protected queryService: QueryService,\r\n private codename: string\r\n ) {\r\n super(config, queryService);\r\n\r\n if (!codename) {\r\n throw Error(`'codename' has to be configured for 'SingleItemQuery' query`);\r\n }\r\n }\r\n\r\n /**\r\n * Indicates depth of query that affects loading of nested linked items.\r\n * @param depth Depth of the query (> 0)\r\n */\r\n depthParameter(depth: number): this {\r\n this.parameters.push(new Parameters.DepthParameter(depth));\r\n return this;\r\n }\r\n\r\n /**\r\n * Used to configure query\r\n * @param queryConfig Query configuration\r\n */\r\n queryConfig(queryConfig: IItemQueryConfig): this {\r\n this._queryConfig = queryConfig;\r\n return this;\r\n }\r\n\r\n /**\r\n * Language codename\r\n * @param languageCodename Codename of the language\r\n */\r\n languageParameter(languageCodename: string): this {\r\n this.parameters.push(new Parameters.LanguageParameter(languageCodename));\r\n return this;\r\n }\r\n\r\n /**\r\n * Used to limit the number of elements returned by query.\r\n * @param elementCodenames Array of element codenames to fetch\r\n */\r\n elementsParameter(elementCodenames: string[]): this {\r\n this.parameters.push(new Parameters.ElementsParameter(elementCodenames));\r\n return this;\r\n }\r\n\r\n toPromise(): Promise<\r\n IDeliveryNetworkResponse<Responses.IViewContentItemResponse<TContentItem>, Contracts.IViewContentItemContract>\r\n > {\r\n return this.queryService.getSingleItemAsync(this.getUrl(), this._queryConfig ?? {});\r\n }\r\n\r\n getUrl(): string {\r\n const action = '/items/' + this.codename;\r\n\r\n // add default language is necessry\r\n this.processDefaultLanguageParameter();\r\n\r\n return super.resolveUrlInternal(action);\r\n }\r\n\r\n map(json: any): Responses.IViewContentItemResponse<TContentItem> {\r\n return this.queryService.mappingService.viewContentItemResponse(json);\r\n }\r\n}\r\n","import { Contracts } from '../../contracts';\r\nimport { IDeliveryClientConfig } from '../../config';\r\nimport { Filters, IContentItem, IItemQueryConfig, IDeliveryNetworkResponse, Parameters, Responses } from '../../models';\r\nimport { QueryService } from '../../services';\r\nimport { BaseListingQuery } from '../common/base-listing-query.class';\r\n\r\nexport class ItemsFeedQuery<TContentItem extends IContentItem = IContentItem> extends BaseListingQuery<\r\n Responses.IListItemsFeedResponse<TContentItem>,\r\n Responses.IListItemsFeedAllResponse<TContentItem>,\r\n IItemQueryConfig,\r\n Contracts.IItemsFeedContract\r\n> {\r\n\r\n protected _queryConfig: IItemQueryConfig = {};\r\n\r\n constructor(protected config: IDeliveryClientConfig, protected queryService: QueryService) {\r\n super(config, queryService);\r\n }\r\n\r\n /**\r\n * Gets only item of given type\r\n * @param type Codename of type to get\r\n */\r\n type(type: string): this {\r\n this.parameters.push(new Filters.TypeFilter(type));\r\n return this;\r\n }\r\n\r\n /**\r\n * Gets items of given types (logical or)\r\n * I.e. get items of either 'Actor' or 'Movie' type\r\n * @param types Types to get\r\n */\r\n types(types: string[]): this {\r\n this.parameters.push(new Filters.TypeFilter(types));\r\n return this;\r\n }\r\n\r\n /**\r\n * Gets only item from given collection\r\n * @param collection Codename of collection to get\r\n */\r\n collection(collection: string): this {\r\n this.parameters.push(new Filters.CollectionFilter(collection));\r\n return this;\r\n }\r\n\r\n /**\r\n * Gets items from given collections (logical or)\r\n * I.e. get items of either 'default' or 'christmas-campaign' collection\r\n * @param collections Collections to get\r\n */\r\n collections(collections: string[]): this {\r\n this.parameters.push(new Filters.CollectionFilter(collections));\r\n return this;\r\n }\r\n\r\n /**\r\n * Language codename\r\n * @param languageCodename Codename of the language\r\n */\r\n languageParameter(languageCodename: string): this {\r\n this.parameters.push(new Parameters.LanguageParameter(languageCodename));\r\n return this;\r\n }\r\n\r\n /**\r\n * Used to limit the number of elements returned by query.\r\n * @param elementCodenames Array of element codenames to fetch\r\n */\r\n elementsParameter(elementCodenames: string[]): this {\r\n this.parameters.push(new Parameters.ElementsParameter(elementCodenames));\r\n return this;\r\n }\r\n\r\n toPromise(): Promise<\r\n IDeliveryNetworkResponse<Responses.IListItemsFeedResponse<TContentItem>, Contracts.IItemsFeedContract>\r\n > {\r\n return this.queryService.getItemsFeed(this.getUrl(), this._queryConfig ?? {});\r\n }\r\n\r\n getUrl(): string {\r\n const action = '/items-feed';\r\n\r\n // add default language is necessry\r\n this.processDefaultLanguageParameter();\r\n\r\n return super.resolveUrlInternal(action);\r\n }\r\n\r\n /**\r\n * Used to configure query\r\n * @param queryConfig Query configuration\r\n */\r\n queryConfig(queryConfig: IItemQueryConfig): this {\r\n this._queryConfig = queryConfig;\r\n return this;\r\n }\r\n\r\n map(json: any): Responses.IListItemsFeedResponse<TContentItem> {\r\n return this.queryService.mappingService.itemsFeedResponse(json);\r\n }\r\n\r\n protected allResponseFactory(\r\n items: any[],\r\n responses: IDeliveryNetworkResponse<Responses.IListItemsFeedResponse<TContentItem>, Contracts.IItemsFeedContract>[]\r\n ): Responses.IListItemsFeedAllResponse<TContentItem> {\r\n return {\r\n items: items,\r\n responses: responses\r\n };\r\n }\r\n}\r\n","import { Contracts } from '../../contracts';\r\nimport { IDeliveryClientConfig } from '../../config';\r\nimport {\r\n continuationTokenHeaderName,\r\n IDeliveryNetworkResponse,\r\n ILanguagesQueryConfig,\r\n Parameters,\r\n Responses\r\n} from '../../models';\r\nimport { QueryService } from '../../services';\r\nimport { BaseListingQuery } from '../common/base-listing-query.class';\r\n\r\nexport class LanguagesQuery extends BaseListingQuery<\r\n Responses.IListLanguagesResponse,\r\n Responses.IListLanguagesAllResponse,\r\n ILanguagesQueryConfig,\r\n Contracts.IListLanguagesContract\r\n> {\r\n /**\r\n * Endpoint\r\n */\r\n protected readonly endpoint: string = 'languages';\r\n\r\n protected _queryConfig: ILanguagesQueryConfig = {};\r\n\r\n constructor(protected config: IDeliveryClientConfig, protected queryService: QueryService) {\r\n super(config, queryService);\r\n }\r\n\r\n /**\r\n * Limits the number of taxonomies returned by query\r\n * @param limit Number of taxonomies to load\r\n */\r\n limitParameter(limit: number): this {\r\n this.parameters.push(new Parameters.LimitParameter(limit));\r\n return this;\r\n }\r\n\r\n /**\r\n * Skips the selected number of taxonomies\r\n * @param skip Number of taxonomies to skip\r\n */\r\n skipParameter(skip: number): this {\r\n this.parameters.push(new Parameters.SkipParameter(skip));\r\n return this;\r\n }\r\n\r\n /**\r\n * Sets continuation token header\r\n */\r\n withContinuationToken(token: string): this {\r\n this.withHeaders([\r\n {\r\n header: continuationTokenHeaderName,\r\n value: token\r\n }\r\n ]);\r\n\r\n return this;\r\n }\r\n\r\n toPromise(): Promise<\r\n IDeliveryNetworkResponse<Responses.IListLanguagesResponse, Contracts.IListLanguagesContract>\r\n > {\r\n return this.queryService.getLanguages(this.getUrl(), this._queryConfig ?? {});\r\n }\r\n\r\n getUrl(): string {\r\n const action = '/' + this.endpoint;\r\n\r\n return super.resolveUrlInternal(action);\r\n }\r\n\r\n /**\r\n * Used to configure query\r\n * @param queryConfig Query configuration\r\n */\r\n queryConfig(queryConfig: ILanguagesQueryConfig): this {\r\n this._queryConfig = queryConfig;\r\n return this;\r\n }\r\n\r\n map(json: any): Responses.IListLanguagesResponse {\r\n return this.queryService.mappingService.listLanguagesResponse(json);\r\n }\r\n\r\n protected allResponseFactory(\r\n items: any[],\r\n responses: IDeliveryNetworkResponse<Responses.IListLanguagesResponse, Contracts.IListLanguagesContract>[]\r\n ): Responses.IListLanguagesAllResponse {\r\n return {\r\n items: items,\r\n responses: responses\r\n };\r\n }\r\n}\r\n","import { Contracts } from '../../contracts';\r\nimport { IDeliveryClientConfig } from '../../config';\r\nimport {\r\n continuationTokenHeaderName,\r\n IDeliveryNetworkResponse,\r\n ITaxonomyQueryConfig,\r\n Parameters,\r\n Responses\r\n} from '../../models';\r\nimport { QueryService } from '../../services';\r\nimport { BaseListingQuery } from '../common/base-listing-query.class';\r\n\r\nexport class TaxonomiesQuery extends BaseListingQuery<\r\n Responses.IListTaxonomiesResponse,\r\n Responses.IListTaxonomiesAllResponse,\r\n ITaxonomyQueryConfig,\r\n Contracts.IListTaxonomyGroupsContract\r\n> {\r\n /**\r\n * Taxonomies endpoint URL action\r\n */\r\n protected readonly taxonomiesEndpoint: string = 'taxonomies';\r\n\r\n protected _queryConfig: ITaxonomyQueryConfig = {};\r\n\r\n constructor(protected config: IDeliveryClientConfig, protected queryService: QueryService) {\r\n super(config, queryService);\r\n }\r\n\r\n /**\r\n * Limits the number of taxonomies returned by query\r\n * @param limit Number of taxonomies to load\r\n */\r\n limitParameter(limit: number): this {\r\n this.parameters.push(new Parameters.LimitParameter(limit));\r\n return this;\r\n }\r\n\r\n /**\r\n * Skips the selected number of taxonomies\r\n * @param skip Number of taxonomies to skip\r\n */\r\n skipParameter(skip: number): this {\r\n this.parameters.push(new Parameters.SkipParameter(skip));\r\n return this;\r\n }\r\n\r\n toPromise(): Promise<\r\n IDeliveryNetworkResponse<\r\n Responses.IListTaxonomiesResponse,\r\n Contracts.IListTaxonomyGroupsContract\r\n >\r\n > {\r\n return this.queryService.getTaxonomies(this.getUrl(), this._queryConfig ?? {});\r\n }\r\n\r\n /**\r\n * Sets continuation token header\r\n */\r\n withContinuationToken(token: string): this {\r\n this.withHeaders([\r\n {\r\n header: continuationTokenHeaderName,\r\n value: token\r\n }\r\n ]);\r\n\r\n return this;\r\n }\r\n\r\n getUrl(): string {\r\n const action = '/' + this.taxonomiesEndpoint;\r\n\r\n return super.resolveUrlInternal(action);\r\n }\r\n\r\n map(json: any): Responses.IListTaxonomiesResponse {\r\n return this.queryService.mappingService.listTaxonomiesResponse(json);\r\n }\r\n\r\n protected allResponseFactory(\r\n items: any[],\r\n responses: IDeliveryNetworkResponse<\r\n Responses.IListTaxonomiesResponse,\r\n Contracts.IListTaxonomyGroupsContract\r\n >[]\r\n ): Responses.IListTaxonomiesAllResponse {\r\n return {\r\n items: items,\r\n responses: responses\r\n };\r\n }\r\n}\r\n","import { Contracts } from '../../contracts';\r\nimport { IDeliveryClientConfig } from '../../config';\r\nimport { IDeliveryNetworkResponse, ITaxonomyQueryConfig, Responses } from '../../models';\r\nimport { QueryService } from '../../services';\r\nimport { BaseQuery } from '../common/base-query.class';\r\n\r\nexport class TaxonomyQuery extends BaseQuery<\r\n Responses.IViewTaxonomyResponse,\r\n ITaxonomyQueryConfig,\r\n Contracts.IViewTaxonomyGroupContract\r\n> {\r\n /**\r\n * Taxonomies endpoint URL action\r\n */\r\n protected readonly taxonomiesEndpoint: string = 'taxonomies';\r\n\r\n protected _queryConfig: ITaxonomyQueryConfig = {};\r\n\r\n constructor(\r\n protected config: IDeliveryClientConfig,\r\n protected queryService: QueryService,\r\n private taxonomyCodename: string\r\n ) {\r\n super(config, queryService);\r\n\r\n if (!taxonomyCodename) {\r\n throw Error(`Cannot create taxonomy query without codename of the taxonomy`);\r\n }\r\n }\r\n\r\n toPromise(): Promise<\r\n IDeliveryNetworkResponse<Responses.IViewTaxonomyResponse, Contracts.IViewTaxonomyGroupContract>\r\n > {\r\n return this.queryService.getTaxonomy(this.getUrl(), this._queryConfig ?? {});\r\n }\r\n\r\n getUrl(): string {\r\n const action = '/' + this.taxonomiesEndpoint + '/' + this.taxonomyCodename;\r\n\r\n return super.resolveUrlInternal(action);\r\n }\r\n\r\n map(json: any): Responses.IViewTaxonomyResponse {\r\n return this.queryService.mappingService.viewTaxonomyResponse(json);\r\n }\r\n}\r\n","import { Contracts } from '../../contracts';\r\nimport { IDeliveryClientConfig } from '../../config';\r\nimport { IContentTypeQueryConfig, IDeliveryNetworkResponse, Responses } from '../../models';\r\nimport { QueryService } from '../../services';\r\nimport { BaseListingQuery } from '../common/base-listing-query.class';\r\n\r\nexport class MultipleTypeQuery extends BaseListingQuery<\r\n Responses.IListContentTypesResponse,\r\n Responses.IListContentTypesAllResponse,\r\n IContentTypeQueryConfig,\r\n Contracts.IListContentTypeContract\r\n> {\r\n\r\n protected _queryConfig: IContentTypeQueryConfig = {};\r\n\r\n constructor(protected config: IDeliveryClientConfig, protected queryService: QueryService) {\r\n super(config, queryService);\r\n }\r\n\r\n toPromise(): Promise<\r\n IDeliveryNetworkResponse<Responses.IListContentTypesResponse, Contracts.IListContentTypeContract>\r\n > {\r\n return this.queryService.getMultipleTypes(this.getUrl(), this._queryConfig ?? {});\r\n }\r\n\r\n getUrl(): string {\r\n const action = '/types';\r\n\r\n return super.resolveUrlInternal(action);\r\n }\r\n\r\n map(json: any): Responses.IListContentTypesResponse {\r\n return this.queryService.mappingService.listContentTypesResponse(json);\r\n }\r\n\r\n protected allResponseFactory(\r\n items: any[],\r\n responses: IDeliveryNetworkResponse<\r\n Responses.IListContentTypesResponse,\r\n Contracts.IListContentTypeContract\r\n >[]\r\n ): Responses.IListContentTypesAllResponse {\r\n return {\r\n items: items,\r\n responses: responses\r\n };\r\n }\r\n}\r\n","import { Contracts } from '../../contracts';\r\nimport { IDeliveryClientConfig } from '../../config';\r\nimport { IContentTypeQueryConfig, IDeliveryNetworkResponse, Responses } from '../../models';\r\nimport { QueryService } from '../../services';\r\nimport { BaseQuery } from '../common/base-query.class';\r\n\r\nexport class SingleTypeQuery extends BaseQuery<\r\n Responses.IViewContentTypeResponse,\r\n IContentTypeQueryConfig,\r\n Contracts.IViewContentTypeContract\r\n> {\r\n protected _queryConfig: IContentTypeQueryConfig = {};\r\n\r\n constructor(\r\n protected config: IDeliveryClientConfig,\r\n protected queryService: QueryService,\r\n private typeCodename: string\r\n ) {\r\n super(config, queryService);\r\n\r\n if (!typeCodename) {\r\n throw Error(`Cannot create type query without the codename of the type`);\r\n }\r\n }\r\n\r\n toPromise(): Promise<\r\n IDeliveryNetworkResponse<Responses.IViewContentTypeResponse, Contracts.IViewContentTypeContract>\r\n > {\r\n return this.queryService.getSingleType(this.getUrl(), this._queryConfig ?? {});\r\n }\r\n\r\n getUrl(): string {\r\n const action = '/types/' + this.typeCodename;\r\n\r\n return super.resolveUrlInternal(action);\r\n }\r\n\r\n map(json: any): Responses.IViewContentTypeResponse {\r\n return this.queryService.mappingService.viewContentTypeResponse(json);\r\n }\r\n}\r\n","export * from './rich-text/rich-text-resolver.models';\r\nexport * from './property-name/camel-case-property-name-resolver.class';\r\nexport * from './property-name/pascal-case-property-name-resolver.class';\r\nexport * from './property-name/snake-case-property-name-resolver.class';\r\nexport * from './rich-text/sync/rich-text-html-resolver';\r\nexport * from './rich-text/sync/rich-text-object-resolver';\r\nexport * from './rich-text/sync/rich-text-json-resolver';\r\nexport * from './rich-text/async/async-rich-text-html-resolver';\r\n\r\n\r\n","import { textHelper } from '../../utilities';\r\nimport { PropertyNameResolver } from '../../models';\r\n\r\nexport const camelCasePropertyNameResolver: PropertyNameResolver = (contentType, element) => {\r\n return textHelper.addUnderscoreWhenStarsWithNumber(textHelper.removeZeroWidthCharacters(camelize(element)));\r\n};\r\n\r\nfunction camelize(str: string): string {\r\n str = str.replace(textHelper.getPropertyNameRegex(), (_, c) => (c ? c.toUpperCase() : ''));\r\n return str.substring(0, 1).toLowerCase() + str.substring(1);\r\n}\r\n","import { textHelper } from '../../utilities';\r\nimport { PropertyNameResolver } from '../../models';\r\n\r\nexport const pascalCasePropertyNameResolver: PropertyNameResolver = (contentType, element) => {\r\n return textHelper.addUnderscoreWhenStarsWithNumber(textHelper.removeZeroWidthCharacters(camelize(element)));\r\n};\r\n\r\nfunction camelize(str: string): string {\r\n str = str.replace(textHelper.getPropertyNameRegex(), (_, c) => (c ? c.toUpperCase() : ''));\r\n return str.substring(0, 1).toUpperCase() + str.substring(1);\r\n}\r\n","import { textHelper } from '../../utilities';\r\nimport { PropertyNameResolver } from '../../models';\r\n\r\nexport const snakeCasePropertyNameResolver: PropertyNameResolver = (contentType, element) => {\r\n return textHelper\r\n .addUnderscoreWhenStarsWithNumber(textHelper.removeZeroWidthCharacters(toSnakeCase(element)))\r\n .toLowerCase();\r\n};\r\n\r\nfunction toSnakeCase(str: string): string {\r\n str = str.replace(textHelper.getPropertyNameRegex(), (_, c) => '_' + (c ? c.toLowerCase() : ''));\r\n return removeEndUnderscore(removeStartUnderscore(str));\r\n}\r\n\r\nfunction removeStartUnderscore(str: string): string {\r\n if (!str.startsWith('_')) {\r\n return str;\r\n }\r\n\r\n return str.substring(1);\r\n}\r\n\r\nfunction removeEndUnderscore(str: string): string {\r\n if (!str.endsWith('_')) {\r\n return str;\r\n }\r\n\r\n return str.slice(0, -1);\r\n}\r\n","import { IResolvedRichTextHtmlResult, IAsyncRichTextHtmlResolverInput } from '../rich-text-resolver.models';\r\nimport { asyncBrowserParser, IAsyncParser, parserConfiguration, parserHelper } from '../../../parser';\r\nimport { BaseAsyncRichTextResolver } from '../base/base-async-rich-text-resolver';\r\n\r\nexport class AsyncRichTextHtmlResolver extends BaseAsyncRichTextResolver<\r\n IAsyncRichTextHtmlResolverInput,\r\n IResolvedRichTextHtmlResult\r\n> {\r\n constructor(parser?: IAsyncParser<string>) {\r\n super(asyncBrowserParser, parser);\r\n }\r\n\r\n async resolveRichTextAsync(input: IAsyncRichTextHtmlResolverInput): Promise<IResolvedRichTextHtmlResult> {\r\n return await this.resolveRichTextInternalAsync(input.element.value, input);\r\n }\r\n\r\n private async resolveRichTextInternalAsync(\r\n html: string,\r\n input: IAsyncRichTextHtmlResolverInput\r\n ): Promise<IResolvedRichTextHtmlResult> {\r\n const parsedResult = await super.getAsyncParser().parseAsync(\r\n html,\r\n input.element,\r\n {\r\n elementResolverAsync: async (element) => {},\r\n contentItemResolverAsync: async (element, itemCodename, linkedItemIndex, linkedItem) => {\r\n const parentElement = element.parentElement;\r\n\r\n if (parentElement) {\r\n const resolvedItemHtml = input.contentItemResolverAsync\r\n ? (await input.contentItemResolverAsync(itemCodename, linkedItem)).contentItemHtml ?? ''\r\n : '';\r\n\r\n // resursively resolve HTML\r\n const innerHtml = (await this.resolveRichTextInternalAsync(resolvedItemHtml, input)).html;\r\n\r\n // set resolved html\r\n if (input.preserveResolvedObjectTags === true) {\r\n element.setInnerHtml(innerHtml);\r\n } else {\r\n element.setOuterHtml(innerHtml);\r\n }\r\n\r\n // set resolved attribute\r\n element.setAttribute(parserHelper.sdkResolvedAttributeName, '1');\r\n }\r\n },\r\n genericElementResolverAsync: async (element) => {\r\n // do nothing to generic elements\r\n },\r\n imageResolverAsync: async (element, imageId, image) => {\r\n // get image result\r\n const imageResult = input.imageResolverAsync\r\n ? await input.imageResolverAsync(imageId, image)\r\n : undefined;\r\n\r\n // html has priority over url resolver\r\n if (imageResult?.imageHtml) {\r\n // replace link html\r\n element.setOuterHtml(imageResult.imageHtml);\r\n } else if (imageResult?.imageUrl) {\r\n // set link url only\r\n element.setAttribute(parserConfiguration.imageElementData.srcAttribute, imageResult.imageUrl);\r\n }\r\n },\r\n urlResolverAsync: async (element, linkId, linkText, link) => {\r\n if (input.urlResolverAsync) {\r\n const urlResult = await input.urlResolverAsync(linkId, linkText, link);\r\n\r\n // html has priority over url resolver\r\n if (urlResult?.linkHtml) {\r\n // replace link html\r\n element.setOuterHtml(urlResult.linkHtml);\r\n } else if (urlResult?.linkUrl) {\r\n // set link url only\r\n element.setAttribute('href', urlResult.linkUrl);\r\n }\r\n }\r\n }\r\n },\r\n input.linkedItems ?? []\r\n );\r\n\r\n return {\r\n componentCodenames: parsedResult.componentCodenames,\r\n linkedItemCodenames: parsedResult.linkedItemCodenames,\r\n html: parsedResult.result\r\n };\r\n }\r\n}\r\n\r\nexport const createAsyncRichTextHtmlResolver = (parser?: IAsyncParser<string>) => new AsyncRichTextHtmlResolver(parser);\r\n","import { IAsyncParser } from '../../../parser';\r\nimport { IRichTextResolverAsync } from '../rich-text-resolver.models';\r\n\r\nexport abstract class BaseAsyncRichTextResolver<TInput, TOutput> implements IRichTextResolverAsync<TInput, TOutput> {\r\n constructor(private defaultParser: IAsyncParser<any>, private parser?: IAsyncParser<any>) {}\r\n\r\n abstract resolveRichTextAsync(input: TInput): Promise<TOutput>;\r\n\r\n protected getAsyncParser(): IAsyncParser<any> {\r\n if (this.parser) {\r\n return this.parser;\r\n }\r\n\r\n return this.defaultParser;\r\n }\r\n}\r\n","import { IParser } from '../../../parser';\r\nimport { IRichTextResolver } from '../rich-text-resolver.models';\r\n\r\nexport abstract class BaseRichTextResolver<TInput, TOutput> implements IRichTextResolver<TInput, TOutput> {\r\n constructor(private defaultParser: IParser<any>, private parser?: IParser<any>) {}\r\n\r\n abstract resolveRichText(input: TInput): TOutput;\r\n\r\n protected getParser(): IParser<any> {\r\n if (this.parser) {\r\n return this.parser;\r\n }\r\n\r\n return this.defaultParser;\r\n }\r\n}\r\n","import { Elements } from '../../elements';\r\nimport { IContentItem, ILink, IRichTextImage } from '../../models';\r\n\r\nexport interface IResolvedRichTextHtmlResult {\r\n html: string;\r\n linkedItemCodenames: string[];\r\n componentCodenames: string[];\r\n}\r\n\r\nexport interface IRichTextUrlResult {\r\n linkHtml?: string;\r\n linkUrl?: string;\r\n}\r\n\r\nexport interface IRichTextImageResult {\r\n imageUrl?: string;\r\n imageHtml?: string;\r\n}\r\n\r\nexport interface IRichTextContentItemResult {\r\n contentItemHtml?: string;\r\n}\r\n\r\nexport type IRichTextUrlResolver = (linkId: string, linkText: string, link?: ILink) => IRichTextUrlResult;\r\nexport type IRichTextImageResolver = (imageId: string, image?: IRichTextImage) => IRichTextImageResult;\r\nexport type IRichTextContentItemResolver = (\r\n itemCodename: string,\r\n contentItem?: IContentItem\r\n) => IRichTextContentItemResult;\r\n\r\nexport type IAsyncRichTextUrlResolver = (linkId: string, linkText: string, link?: ILink) => Promise<IRichTextUrlResult>;\r\nexport type IAsyncRichTextImageResolver = (imageId: string, image?: IRichTextImage) => Promise<IRichTextImageResult>;\r\nexport type IAsyncRichTextContentItemResolver = (\r\n itemCodename: string,\r\n contentItem?: IContentItem\r\n) => Promise<IRichTextContentItemResult>;\r\n\r\nexport interface IRichTextHtmlResolverInput {\r\n element: Elements.RichTextElement;\r\n urlResolver?: IRichTextUrlResolver;\r\n imageResolver?: IRichTextImageResolver;\r\n contentItemResolver?: IRichTextContentItemResolver;\r\n linkedItems?: IContentItem[];\r\n preserveResolvedObjectTags?: boolean;\r\n}\r\n\r\nexport interface IAsyncRichTextHtmlResolverInput {\r\n element: Elements.RichTextElement;\r\n urlResolverAsync?: IAsyncRichTextUrlResolver;\r\n imageResolverAsync?: IAsyncRichTextImageResolver;\r\n contentItemResolverAsync?: IAsyncRichTextContentItemResolver;\r\n linkedItems?: IContentItem[];\r\n preserveResolvedObjectTags?: boolean;\r\n}\r\n\r\nexport interface IRichTextResolver<TInput, TResult> {\r\n resolveRichText(input: TInput): TResult;\r\n}\r\n\r\nexport interface IRichTextResolverAsync<TInput, TResult> {\r\n resolveRichTextAsync(input: TInput): Promise<TResult>;\r\n}\r\n\r\nexport interface IRichTextObjectResolverInput {\r\n element: Elements.RichTextElement;\r\n linkedItems?: IContentItem[];\r\n cleanSdkIds?: boolean;\r\n\r\n /**\r\n * Tag that wraps content. Defaults to 'div'\r\n */\r\n wrapperTag?: string;\r\n}\r\n\r\nexport type RichTextObjectDataType = 'linkedItem' | 'link' | 'image' | 'htmlElement' | 'root';\r\n\r\nexport interface IRichTextObjectContentItemData {\r\n item?: IContentItem;\r\n codename: string;\r\n}\r\n\r\nexport interface IRichTextObjectLinkData {\r\n link?: ILink;\r\n linkId: string;\r\n linkText: string;\r\n}\r\n\r\nexport interface IRichTextObjectImageData {\r\n image?: IRichTextImage;\r\n imageId: string;\r\n}\r\n\r\nexport interface IRichTextObjectHtmlElementData {\r\n text: string | null;\r\n html: string | null;\r\n}\r\n\r\nexport interface IRichTextObjectAtribute {\r\n name: string;\r\n value: string | null;\r\n}\r\n\r\nexport interface IRichTextObjectItem {\r\n type: RichTextObjectDataType;\r\n tag: string;\r\n _sdkElemId: string;\r\n attributes: IRichTextObjectAtribute[];\r\n data: any;\r\n children: IRichTextObjectItem[];\r\n}\r\n\r\nexport interface IRichTextJsonResult {\r\n json: string;\r\n}\r\nexport interface IRichTextObjectResult {\r\n data: IRichTextObjectItem;\r\n}\r\n","import { IResolvedRichTextHtmlResult, IRichTextHtmlResolverInput } from '../rich-text-resolver.models';\r\nimport { browserParser, IParser, parserConfiguration, parserHelper } from '../../../parser';\r\nimport { BaseRichTextResolver } from '../base/base-rich-text-resolver';\r\n\r\nexport class RichTextHtmlResolver extends BaseRichTextResolver<\r\n IRichTextHtmlResolverInput,\r\n IResolvedRichTextHtmlResult\r\n> {\r\n constructor(parser?: IParser<string>) {\r\n super(browserParser, parser);\r\n }\r\n\r\n resolveRichText(input: IRichTextHtmlResolverInput): IResolvedRichTextHtmlResult {\r\n return this.resolveRichTextInternal(input.element.value, input);\r\n }\r\n\r\n private resolveRichTextInternal(html: string, input: IRichTextHtmlResolverInput): IResolvedRichTextHtmlResult {\r\n const parsedResult = super.getParser().parse(\r\n html,\r\n input.element,\r\n {\r\n elementResolver: (element) => {},\r\n contentItemResolver: (element, itemCodename, linkedItemIndex, linkedItem) => {\r\n const parentElement = element.parentElement;\r\n\r\n if (parentElement) {\r\n const resolvedItemHtml = input.contentItemResolver\r\n ? input.contentItemResolver(itemCodename, linkedItem).contentItemHtml ?? ''\r\n : '';\r\n\r\n // resursively resolve HTML\r\n const innerHtml = this.resolveRichTextInternal(resolvedItemHtml, input).html;\r\n\r\n // set resolved html\r\n if (input.preserveResolvedObjectTags === true) {\r\n element.setInnerHtml(innerHtml);\r\n } else {\r\n element.setOuterHtml(innerHtml);\r\n }\r\n\r\n // set resolved attribute\r\n element.setAttribute(parserHelper.sdkResolvedAttributeName, '1');\r\n }\r\n },\r\n genericElementResolver: (element) => {\r\n // do nothing to generic elements\r\n },\r\n imageResolver: (element, imageId, image) => {\r\n // get image result\r\n const imageResult = input.imageResolver ? input.imageResolver(imageId, image) : undefined;\r\n\r\n // html has priority over url resolver\r\n if (imageResult?.imageHtml) {\r\n // replace link html\r\n element.setOuterHtml(imageResult.imageHtml);\r\n } else if (imageResult?.imageUrl) {\r\n // set link url only\r\n element.setAttribute(parserConfiguration.imageElementData.srcAttribute, imageResult.imageUrl);\r\n }\r\n },\r\n urlResolver: (element, linkId, linkText, link) => {\r\n if (input.urlResolver) {\r\n const urlResult = input.urlResolver(linkId, linkText, link);\r\n\r\n // html has priority over url resolver\r\n if (urlResult?.linkHtml) {\r\n // replace link html\r\n element.setOuterHtml(urlResult.linkHtml);\r\n } else if (urlResult?.linkUrl) {\r\n // set link url only\r\n element.setAttribute('href', urlResult.linkUrl);\r\n }\r\n }\r\n }\r\n },\r\n input.linkedItems ?? []\r\n );\r\n\r\n return {\r\n componentCodenames: parsedResult.componentCodenames,\r\n linkedItemCodenames: parsedResult.linkedItemCodenames,\r\n html: parsedResult.result\r\n };\r\n }\r\n}\r\n\r\nexport const createRichTextHtmlResolver = (parser?: IParser<string>) => new RichTextHtmlResolver(parser);\r\n","import { browserParser, IParser } from '../../../parser';\r\nimport { BaseRichTextResolver } from '../base/base-rich-text-resolver';\r\nimport { IRichTextObjectResolverInput, IRichTextJsonResult } from '../rich-text-resolver.models';\r\nimport { createRichTextObjectResolver } from './rich-text-object-resolver';\r\n\r\nexport class RichTextJsonResolver extends BaseRichTextResolver<\r\n IRichTextObjectResolverInput,\r\n IRichTextJsonResult\r\n> {\r\n constructor(parser?: IParser<string>) {\r\n super(browserParser, parser);\r\n }\r\n\r\n resolveRichText(input: IRichTextObjectResolverInput): IRichTextJsonResult {\r\n const objectResult = createRichTextObjectResolver(this.getParser()).resolveRichText(input).data;\r\n\r\n return {\r\n json: JSON.stringify(objectResult)\r\n };\r\n }\r\n}\r\n\r\nexport const createRichTextJsonResolver = (parser?: IParser<any>) => new RichTextJsonResolver(parser);\r\n","import {\r\n IRichTextObjectResolverInput,\r\n IRichTextObjectContentItemData,\r\n IRichTextObjectLinkData,\r\n IRichTextObjectImageData,\r\n IRichTextObjectHtmlElementData,\r\n IRichTextObjectItem,\r\n IRichTextObjectAtribute,\r\n IRichTextObjectResult\r\n} from '../rich-text-resolver.models';\r\nimport { browserParser, IParser, IParserElement } from '../../../parser';\r\nimport { guidHelper } from '../../../utilities';\r\nimport { BaseRichTextResolver } from '../base/base-rich-text-resolver';\r\n\r\nexport class RichTextObjectResolver extends BaseRichTextResolver<IRichTextObjectResolverInput, IRichTextObjectResult> {\r\n private readonly sdkIdAttributeName: string = 'sdk-elem-id';\r\n private readonly rootId: string = 'root';\r\n private readonly defaultWrapTag: string = 'div';\r\n\r\n constructor(parser?: IParser<string>) {\r\n super(browserParser, parser);\r\n }\r\n\r\n resolveRichText(input: IRichTextObjectResolverInput): IRichTextObjectResult {\r\n const result = this.resolveRichTextInternal(input.element.value, input, {\r\n type: 'root',\r\n attributes: [],\r\n children: [],\r\n data: {},\r\n tag: input.wrapperTag ?? this.defaultWrapTag,\r\n _sdkElemId: this.rootId\r\n });\r\n\r\n if (input.cleanSdkIds === true) {\r\n this.cleanSdkIds(result);\r\n }\r\n\r\n return {\r\n data: result\r\n };\r\n }\r\n\r\n private resolveRichTextInternal(\r\n html: string,\r\n input: IRichTextObjectResolverInput,\r\n result: IRichTextObjectItem\r\n ): IRichTextObjectItem {\r\n super.getParser().parse(\r\n html,\r\n input.element,\r\n {\r\n elementResolver: (element) => {\r\n // generate guid for each element\r\n element.setAttribute(this.sdkIdAttributeName, guidHelper.genereateGuid());\r\n },\r\n contentItemResolver: (element, itemCodename, linkedItemIndex, linkedItem) => {\r\n const data: IRichTextObjectContentItemData = {\r\n codename: itemCodename,\r\n item: linkedItem\r\n };\r\n\r\n const parentSdkId = this.getSdkIdFromElement(element.parentElement);\r\n const parentItem = this.findItemWithSdkId(parentSdkId, result);\r\n\r\n if (parentItem) {\r\n parentItem.children.push({\r\n type: 'linkedItem',\r\n attributes: this.getAttributes(element),\r\n tag: element.tag.toLowerCase(),\r\n data: data,\r\n children: [],\r\n _sdkElemId: this.getSdkIdFromElement(element)\r\n });\r\n }\r\n },\r\n genericElementResolver: (element) => {\r\n const data: IRichTextObjectHtmlElementData = {\r\n text: element.text ?? '',\r\n html: element.html ?? ''\r\n };\r\n\r\n const parentSdkId = this.getSdkIdFromElement(element.parentElement);\r\n const parentItem = this.findItemWithSdkId(parentSdkId, result);\r\n\r\n if (parentItem) {\r\n parentItem.children.push({\r\n type: 'htmlElement',\r\n attributes: this.getAttributes(element),\r\n tag: element.tag.toLowerCase(),\r\n data: data,\r\n children: [],\r\n _sdkElemId: this.getSdkIdFromElement(element)\r\n });\r\n }\r\n },\r\n imageResolver: (element, imageId, image) => {\r\n const data: IRichTextObjectImageData = {\r\n imageId: imageId,\r\n image: image\r\n };\r\n\r\n const parentSdkId = this.getSdkIdFromElement(element.parentElement);\r\n const parentItem = this.findItemWithSdkId(parentSdkId, result);\r\n\r\n if (parentItem) {\r\n parentItem.children.push({\r\n type: 'image',\r\n attributes: this.getAttributes(element),\r\n tag: element.tag.toLowerCase(),\r\n data: data,\r\n children: [],\r\n _sdkElemId: this.getSdkIdFromElement(element)\r\n });\r\n }\r\n },\r\n urlResolver: (element, linkId, linkText, link) => {\r\n const data: IRichTextObjectLinkData = {\r\n linkId: linkId,\r\n linkText: linkText,\r\n link: link\r\n };\r\n\r\n const parentSdkId = this.getSdkIdFromElement(element.parentElement);\r\n const parentItem = this.findItemWithSdkId(parentSdkId, result);\r\n\r\n if (parentItem) {\r\n parentItem.children.push({\r\n type: 'link',\r\n attributes: this.getAttributes(element),\r\n tag: element.tag.toLowerCase(),\r\n data: data,\r\n children: [],\r\n _sdkElemId: this.getSdkIdFromElement(element)\r\n });\r\n }\r\n }\r\n },\r\n input.linkedItems ?? []\r\n );\r\n\r\n return result;\r\n }\r\n\r\n private findItemWithSdkId(sdkId: string, item: IRichTextObjectItem): IRichTextObjectItem | undefined {\r\n if (item._sdkElemId === sdkId) {\r\n return item;\r\n }\r\n\r\n for (const child of item.children) {\r\n const foundItem = this.findItemWithSdkId(sdkId, child);\r\n if (foundItem) {\r\n return foundItem;\r\n }\r\n }\r\n\r\n return undefined;\r\n }\r\n\r\n private getAttributes(element: IParserElement | undefined): IRichTextObjectAtribute[] {\r\n return element?.attributes ?? [];\r\n }\r\n\r\n private getSdkIdFromElement(element: IParserElement | undefined): string {\r\n if (!element) {\r\n return this.rootId;\r\n }\r\n const value = element.attributes.find((m) => m.name === this.sdkIdAttributeName)?.value ?? this.rootId;\r\n return value;\r\n }\r\n\r\n private cleanSdkIds(item: IRichTextObjectItem): void {\r\n item.attributes = item.attributes.filter((m) => m.name !== this.sdkIdAttributeName);\r\n item._sdkElemId = '';\r\n\r\n for (const child of item.children) {\r\n this.cleanSdkIds(child);\r\n }\r\n }\r\n}\r\n\r\nexport const createRichTextObjectResolver = (parser?: IParser<any>) => new RichTextObjectResolver(parser);\r\n","\nimport { ISDKInfo } from '@kontent-ai/core-sdk';\nexport const sdkInfo: ISDKInfo = {\n host: 'npmjs.com',\n version: '12.0.0-0',\n name: '@kontent-ai/delivery-sdk'\n};\n","import { IResponse, IHeader, IHttpService, IQueryParameter, urlHelper } from '@kontent-ai/core-sdk';\r\nimport { AxiosError } from 'axios';\r\nimport {\r\n waitForLoadingNewContentHeader,\r\n IQueryConfig,\r\n ISDKInfo,\r\n IDeliveryErrorRaw,\r\n DeliveryError,\r\n sdkVersionHeader,\r\n staleContentHeaderName,\r\n continuationTokenHeaderName,\r\n IDeliveryNetworkResponse\r\n} from '../models';\r\n\r\nimport { IDeliveryClientConfig } from '../config';\r\nimport { IMappingService } from './mapping.service';\r\n\r\nexport abstract class BaseDeliveryQueryService {\r\n /**\r\n * Default base Url to Kontent.ai Delivery API\r\n */\r\n private readonly defaultBaseDeliveryApiUrl: string = 'https://deliver.kontent.ai';\r\n\r\n /**\r\n * Default preview url to Kontent.ai Delivery API\r\n */\r\n private readonly defaultPreviewDeliveryApiUrl: string = 'https://preview-deliver.kontent.ai';\r\n\r\n constructor(\r\n /**\r\n * Delivery client configuration\r\n */\r\n public readonly config: IDeliveryClientConfig,\r\n /**\r\n * Http service for fetching data\r\n */\r\n public readonly httpService: IHttpService<any>,\r\n /**\r\n * Information about the SDK\r\n */\r\n public readonly sdkInfo: ISDKInfo,\r\n /**\r\n * Mapping service\r\n */\r\n public readonly mappingService: IMappingService\r\n ) {}\r\n\r\n /**\r\n * Gets url based on the action, query configuration and options (parameters)\r\n * @param action Action (= url part) that will be hit\r\n * @param queryConfig Query configuration\r\n * @param options Query options\r\n */\r\n getUrl(action: string, queryConfig: IQueryConfig, options?: IQueryParameter[]): string {\r\n if (!this.config.proxy || !this.config.proxy.advancedProxyUrlResolver) {\r\n return urlHelper.addOptionsToUrl(this.getBaseUrl(queryConfig) + action, options);\r\n }\r\n return this.config.proxy.advancedProxyUrlResolver({\r\n queryParameters: options ? options : [],\r\n queryString: urlHelper.addOptionsToUrl('', options),\r\n action: action,\r\n domain: this.getDomain(queryConfig),\r\n queryConfig: queryConfig,\r\n projectId: this.config.projectId\r\n });\r\n }\r\n\r\n /**\r\n * Gets proper set of headers for given request.\r\n * @param queryConfig Query configuration\r\n * @param additionalHeaders Custom headers\r\n */\r\n getHeaders(queryConfig: IQueryConfig, additionalHeaders?: IHeader[]): IHeader[] {\r\n const headers: IHeader[] = [];\r\n\r\n if (additionalHeaders) {\r\n headers.push(...additionalHeaders);\r\n }\r\n\r\n // add SDK Id header for monitoring SDK usage\r\n headers.push(this.getSdkIdHeader());\r\n\r\n // add headers from global config\r\n if (this.config.globalHeaders) {\r\n headers.push(...this.config.globalHeaders(queryConfig));\r\n }\r\n\r\n // add query / global headers from query config\r\n headers.push(...this.getQueryHeaders(queryConfig));\r\n\r\n if (this.isPreviewModeEnabled(queryConfig) && this.isSecuredModeEnabled(queryConfig)) {\r\n throw Error(`Preview & secured modes cannot be used at the same time.`);\r\n }\r\n\r\n // add preview header is required\r\n if (this.isPreviewModeEnabled(queryConfig) && this.config.previewApiKey) {\r\n headers.push(this.getAuthorizationHeader(this.config.previewApiKey));\r\n }\r\n\r\n // add secured mode header is required\r\n if (this.isSecuredModeEnabled(queryConfig) && this.config.secureApiKey) {\r\n headers.push(this.getAuthorizationHeader(this.config.secureApiKey));\r\n }\r\n\r\n // add 'X-KC-Wait-For-Loading-New-Content' header if required\r\n if (this.shouldAddWaitForLoadingNewContentHeader(queryConfig)) {\r\n headers.push({\r\n header: waitForLoadingNewContentHeader,\r\n value: 'true'\r\n });\r\n }\r\n\r\n return headers;\r\n }\r\n\r\n /**\r\n * Http GET response\r\n * @param url Url of request\r\n * @param queryConfig Query config configuration\r\n */\r\n protected async getResponseAsync<TRawData>(\r\n url: string,\r\n queryConfig?: IQueryConfig,\r\n serviceConfig?: {\r\n headers?: IHeader[];\r\n }\r\n ): Promise<IResponse<TRawData>> {\r\n if (!queryConfig) {\r\n queryConfig = {};\r\n }\r\n\r\n if (!serviceConfig) {\r\n serviceConfig = {};\r\n }\r\n\r\n try {\r\n return await this.httpService.getAsync<TRawData>(\r\n {\r\n url: url\r\n },\r\n {\r\n cancelToken: queryConfig?.cancelToken,\r\n responseType: 'json',\r\n retryStrategy: this.config.retryStrategy,\r\n headers: this.getHeaders(queryConfig, serviceConfig.headers ? serviceConfig.headers : [])\r\n }\r\n );\r\n } catch (error) {\r\n throw this.mapDeliveryError(error);\r\n }\r\n }\r\n\r\n /**\r\n * Gets base URL of the request including the project Id\r\n * @param queryConfig Query configuration\r\n */\r\n protected getBaseUrl(queryConfig: IQueryConfig): string {\r\n return this.getDomain(queryConfig) + '/' + this.config.projectId;\r\n }\r\n\r\n protected mapNetworkResponse<TData, TContract>(\r\n data: TData,\r\n response: IResponse<any>\r\n ): IDeliveryNetworkResponse<TData, TContract> {\r\n return {\r\n data: data,\r\n response: response,\r\n hasStaleContent: this.getHasStaleContent(response.headers),\r\n xContinuationToken: this.getContinuationToken(response.headers)\r\n };\r\n }\r\n\r\n /**\r\n * Indicates if current query should use preview mode\r\n * @param queryConfig Query configuration\r\n */\r\n private isPreviewModeEnabled(queryConfig: IQueryConfig): boolean {\r\n if (queryConfig.usePreviewMode !== undefined) {\r\n return queryConfig.usePreviewMode;\r\n }\r\n\r\n if (!this.config.defaultQueryConfig) {\r\n return false;\r\n }\r\n\r\n if (this.config.defaultQueryConfig.usePreviewMode === true) {\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n private getQueryHeaders(queryConfig: IQueryConfig): IHeader[] {\r\n if (queryConfig.customHeaders) {\r\n return queryConfig.customHeaders;\r\n }\r\n\r\n if (this.config.defaultQueryConfig?.customHeaders) {\r\n return this.config.defaultQueryConfig.customHeaders;\r\n }\r\n\r\n return [];\r\n }\r\n\r\n private shouldAddWaitForLoadingNewContentHeader(queryConfig: IQueryConfig): boolean {\r\n if (queryConfig.waitForLoadingNewContent !== undefined) {\r\n return queryConfig.waitForLoadingNewContent;\r\n }\r\n\r\n if (!this.config.defaultQueryConfig) {\r\n return false;\r\n }\r\n\r\n if (this.config.defaultQueryConfig.waitForLoadingNewContent === true) {\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n /**\r\n * Indicates if current query should use secured mode\r\n * @param queryConfig Query configuration\r\n */\r\n private isSecuredModeEnabled(queryConfig: IQueryConfig): boolean {\r\n if (queryConfig.useSecuredMode !== undefined) {\r\n return queryConfig.useSecuredMode;\r\n }\r\n\r\n if (!this.config.defaultQueryConfig) {\r\n return false;\r\n }\r\n\r\n if (this.config.defaultQueryConfig.useSecuredMode === true) {\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n /**\r\n * Gets preview or standard URL based on client and query configuration\r\n * @param queryConfig Query configuration\r\n */\r\n private getDomain(queryConfig: IQueryConfig): string {\r\n if (this.isPreviewModeEnabled(queryConfig)) {\r\n if (!this.config.previewApiKey) {\r\n throw Error(`Preview API key is not configured.`);\r\n }\r\n\r\n // check custom preview url\r\n if (this.config.proxy && this.config.proxy.basePreviewUrl) {\r\n return this.config.proxy.basePreviewUrl;\r\n }\r\n\r\n // use default preview url\r\n return this.defaultPreviewDeliveryApiUrl;\r\n }\r\n\r\n // check custom base url\r\n if (this.config.proxy && this.config.proxy.baseUrl) {\r\n return this.config.proxy.baseUrl;\r\n }\r\n return this.defaultBaseDeliveryApiUrl;\r\n }\r\n\r\n /**\r\n * Gets authorization header. This is used for 'preview' functionality\r\n */\r\n private getAuthorizationHeader(key?: string): IHeader {\r\n if (!key) {\r\n throw Error(`Cannot get authorization header because key is invalid`);\r\n }\r\n // authorization header required for preview mode\r\n return {\r\n header: 'authorization',\r\n value: `bearer ${key}`\r\n };\r\n }\r\n\r\n /**\r\n * Header identifying SDK type & version for internal purposes of Kontent.ai\r\n */\r\n private getSdkIdHeader(): IHeader {\r\n return {\r\n header: sdkVersionHeader,\r\n value: `${this.sdkInfo.host};${this.sdkInfo.name};${this.sdkInfo.version}`\r\n };\r\n }\r\n\r\n private mapDeliveryError(error: any): DeliveryError | any {\r\n let axiosError: AxiosError | undefined;\r\n\r\n if (error.error) {\r\n axiosError = error.error;\r\n } else {\r\n axiosError = error;\r\n }\r\n\r\n if (!axiosError || !axiosError.isAxiosError) {\r\n return error;\r\n }\r\n\r\n const deliveryErrorData = axiosError.response?.data as IDeliveryErrorRaw;\r\n\r\n if (!deliveryErrorData || !deliveryErrorData.error_code) {\r\n return error;\r\n }\r\n\r\n return new DeliveryError({\r\n errorCode: deliveryErrorData.error_code,\r\n message: deliveryErrorData.message,\r\n specificCode: deliveryErrorData.specific_code,\r\n requestId: deliveryErrorData.request_id\r\n });\r\n }\r\n\r\n private getHasStaleContent(headers: IHeader[]): boolean {\r\n const hasStaleContentHeader = headers.find(\r\n (m) => m.header.toLowerCase() === staleContentHeaderName.toLowerCase()\r\n );\r\n\r\n if (hasStaleContentHeader) {\r\n if (hasStaleContentHeader.value.toString() === '1') {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n private getContinuationToken(headers: IHeader[]): string | undefined {\r\n const header = headers.find((m) => m.header.toLowerCase() === continuationTokenHeaderName.toLowerCase());\r\n return header ? header.value : undefined;\r\n }\r\n}\r\n","import { IHttpService } from '@kontent-ai/core-sdk';\r\n\r\nimport { IDeliveryClientConfig } from '../config';\r\nimport {\r\n Contracts\r\n} from '../contracts';\r\nimport {\r\n Responses,\r\n IContentItem,\r\n IContentTypeQueryConfig,\r\n IGroupedNetworkResponse,\r\n IItemQueryConfig,\r\n IDeliveryNetworkResponse,\r\n ILanguagesQueryConfig,\r\n ITaxonomyQueryConfig\r\n} from '../models';\r\nimport {\r\n IKontentListAllResponse,\r\n IKontentListResponse,\r\n IListAllQueryConfig,\r\n ISDKInfo\r\n} from '../models/common/common-models';\r\nimport { BaseDeliveryQueryService } from './base-delivery-query.service';\r\nimport { IMappingService } from './mapping.service';\r\n\r\nexport class QueryService extends BaseDeliveryQueryService {\r\n constructor(\r\n config: IDeliveryClientConfig,\r\n httpService: IHttpService<any>,\r\n sdkInfo: ISDKInfo,\r\n mappingService: IMappingService\r\n ) {\r\n super(config, httpService, sdkInfo, mappingService);\r\n }\r\n\r\n /**\r\n * Gets single item from given url\r\n * @param url Url used to get single item\r\n * @param queryConfig Query configuration\r\n */\r\n async getSingleItemAsync<TContentItem extends IContentItem = IContentItem>(\r\n url: string,\r\n queryConfig: IItemQueryConfig\r\n ): Promise<\r\n IDeliveryNetworkResponse<Responses.IViewContentItemResponse<TContentItem>, Contracts.IViewContentItemContract>\r\n > {\r\n const response = await this.getResponseAsync<Contracts.IViewContentItemContract>(url, queryConfig);\r\n\r\n return this.mapNetworkResponse<\r\n Responses.IViewContentItemResponse<TContentItem>,\r\n Contracts.IViewContentItemContract\r\n >(this.mappingService.viewContentItemResponse<TContentItem>(response.data), response);\r\n }\r\n\r\n /**\r\n * Gets single feed response. Might not contain all items in your project.\r\n * @param url Url\r\n * @param queryConfig Query configuration\r\n */\r\n async getItemsFeed<TContentItem extends IContentItem = IContentItem>(\r\n url: string,\r\n queryConfig: IItemQueryConfig\r\n ): Promise<IDeliveryNetworkResponse<Responses.IListItemsFeedResponse<TContentItem>, Contracts.IItemsFeedContract>> {\r\n const response = await this.getResponseAsync<Contracts.IItemsFeedContract>(url, queryConfig);\r\n\r\n return this.mapNetworkResponse(this.mappingService.itemsFeedResponse<TContentItem>(response.data), response);\r\n }\r\n\r\n /**\r\n * Gets multiple items from given url\r\n * @param url Url used to get multiple items\r\n * @param queryConfig Query configuration\r\n */\r\n async getMultipleItems<TContentItem extends IContentItem = IContentItem>(\r\n url: string,\r\n queryConfig: IItemQueryConfig\r\n ): Promise<\r\n IDeliveryNetworkResponse<Responses.IListContentItemsResponse<TContentItem>, Contracts.IListContentItemsContract>\r\n > {\r\n const response = await this.getResponseAsync<Contracts.IListContentItemsContract>(url, queryConfig);\r\n\r\n return this.mapNetworkResponse(this.mappingService.listContentItemsResponse(response.data), response);\r\n }\r\n\r\n /**\r\n * Gets single content type from given url\r\n * @param url Url used to get single type\r\n * @param queryConfig Query configuration\r\n */\r\n async getSingleType(\r\n url: string,\r\n queryConfig: IContentTypeQueryConfig\r\n ): Promise<IDeliveryNetworkResponse<Responses.IViewContentTypeResponse, Contracts.IViewContentTypeContract>> {\r\n const response = await this.getResponseAsync<Contracts.IViewContentTypeContract>(url, queryConfig);\r\n\r\n return this.mapNetworkResponse(this.mappingService.viewContentTypeResponse(response.data), response);\r\n }\r\n\r\n /**\r\n * Gets multiple content types from given url\r\n * @param url Url used to get multiple types\r\n * @param queryConfig Query configuration\r\n */\r\n async getMultipleTypes(\r\n url: string,\r\n queryConfig: IContentTypeQueryConfig\r\n ): Promise<IDeliveryNetworkResponse<Responses.IListContentTypesResponse, Contracts.IListContentTypeContract>> {\r\n const response = await this.getResponseAsync<Contracts.IListContentTypeContract>(url, queryConfig);\r\n\r\n return this.mapNetworkResponse(this.mappingService.listContentTypesResponse(response.data), response);\r\n }\r\n\r\n /**\r\n * Gets languages\r\n * @param url Url\r\n * @param queryConfig Query configuration\r\n */\r\n async getLanguages(\r\n url: string,\r\n queryConfig: ILanguagesQueryConfig\r\n ): Promise<IDeliveryNetworkResponse<Responses.IListLanguagesResponse, Contracts.IListLanguagesContract>> {\r\n const response = await this.getResponseAsync<Contracts.IListLanguagesContract>(url, queryConfig);\r\n\r\n return this.mapNetworkResponse(this.mappingService.listLanguagesResponse(response.data), response);\r\n }\r\n\r\n /**\r\n * Gets single taxonomy from given url\r\n * @param url Url used to get single taxonomy\r\n * @param queryConfig Query configuration\r\n */\r\n async getTaxonomy(\r\n url: string,\r\n queryConfig: ITaxonomyQueryConfig\r\n ): Promise<IDeliveryNetworkResponse<Responses.IViewTaxonomyResponse, Contracts.IViewTaxonomyGroupContract>> {\r\n const response = await this.getResponseAsync<Contracts.IViewTaxonomyGroupContract>(url, queryConfig);\r\n\r\n return this.mapNetworkResponse(this.mappingService.viewTaxonomyResponse(response.data), response);\r\n }\r\n\r\n /**\r\n * Gets multiple taxonomies from given url\r\n * @param url Url used to get multiple taxonomies\r\n * @param queryConfig Query configuration\r\n */\r\n async getTaxonomies(\r\n url: string,\r\n queryConfig: ITaxonomyQueryConfig\r\n ): Promise<IDeliveryNetworkResponse<Responses.IListTaxonomiesResponse, Contracts.IListTaxonomyGroupsContract>> {\r\n const response = await this.getResponseAsync<Contracts.IListTaxonomyGroupsContract>(url, queryConfig);\r\n\r\n return this.mapNetworkResponse(this.mappingService.listTaxonomiesResponse(response.data), response);\r\n }\r\n\r\n /**\r\n * Gets single content type element from given url\r\n * @param url Url used to get single content type element\r\n * @param queryConfig Query configuration\r\n */\r\n async getElementAsync(\r\n url: string,\r\n queryConfig: ITaxonomyQueryConfig\r\n ): Promise<\r\n IDeliveryNetworkResponse<Responses.IViewContentTypeElementResponse, Contracts.IViewContentTypeElementContract>\r\n > {\r\n const response = await this.getResponseAsync<Contracts.IViewContentTypeElementContract>(\r\n url,\r\n queryConfig\r\n );\r\n\r\n return this.mapNetworkResponse(this.mappingService.viewContentTypeElementResponse(response.data), response);\r\n }\r\n\r\n async getListAllResponse<\r\n TResponse extends IKontentListResponse,\r\n TAllResponse extends IKontentListAllResponse,\r\n TContract\r\n >(data: {\r\n page: number;\r\n getResponse: (\r\n nextPageUrl?: string,\r\n continuationToken?: string\r\n ) => Promise<IDeliveryNetworkResponse<TResponse, TContract>>;\r\n allResponseFactory: (\r\n items: any[],\r\n responses: IDeliveryNetworkResponse<TResponse, TContract>[]\r\n ) => IGroupedNetworkResponse<TAllResponse>;\r\n listQueryConfig?: IListAllQueryConfig<TResponse, TContract>;\r\n }): Promise<IGroupedNetworkResponse<TAllResponse>> {\r\n const responses = await this.getListAllResponseInternalAsync({\r\n page: data.page,\r\n resolvedResponses: [],\r\n getResponse: data.getResponse,\r\n nextPageUrl: undefined,\r\n continuationToken: undefined,\r\n listQueryConfig: data.listQueryConfig\r\n });\r\n\r\n return data.allResponseFactory(\r\n responses.reduce((prev: any[], current) => {\r\n prev.push(...current.data.items);\r\n return prev;\r\n }, []),\r\n responses\r\n );\r\n }\r\n\r\n private async getListAllResponseInternalAsync<TResponse extends IKontentListResponse, TContract>(data: {\r\n page: number;\r\n nextPageUrl?: string;\r\n continuationToken?: string;\r\n getResponse: (\r\n nextPageUrl?: string,\r\n continuationToken?: string\r\n ) => Promise<IDeliveryNetworkResponse<TResponse, TContract>>;\r\n resolvedResponses: IDeliveryNetworkResponse<TResponse, TContract>[];\r\n listQueryConfig?: IListAllQueryConfig<TResponse, TContract>;\r\n }): Promise<IDeliveryNetworkResponse<TResponse, TContract>[]> {\r\n if (data.listQueryConfig?.pages) {\r\n if (data.page > data.listQueryConfig.pages) {\r\n // page limit reached, return result\r\n return data.resolvedResponses;\r\n }\r\n }\r\n\r\n const response = await data.getResponse(data.nextPageUrl, data.continuationToken);\r\n\r\n if (data.listQueryConfig?.delayBetweenRequests) {\r\n await this.sleep(data.listQueryConfig.delayBetweenRequests);\r\n }\r\n\r\n data.resolvedResponses.push(response);\r\n\r\n if (data.listQueryConfig?.responseFetched) {\r\n data.listQueryConfig.responseFetched(response, data.nextPageUrl, data.continuationToken);\r\n }\r\n\r\n const nextPage = response.data.pagination?.nextPage;\r\n const continuationToken = response.xContinuationToken;\r\n\r\n if (nextPage || continuationToken) {\r\n // recursively fetch next page data\r\n return await this.getListAllResponseInternalAsync({\r\n page: data.page + 1,\r\n nextPageUrl: nextPage,\r\n continuationToken: continuationToken,\r\n listQueryConfig: data.listQueryConfig,\r\n getResponse: data.getResponse,\r\n resolvedResponses: data.resolvedResponses\r\n });\r\n }\r\n\r\n return data.resolvedResponses;\r\n }\r\n\r\n private sleep(ms: number): Promise<void> {\r\n return new Promise((resolve) => setTimeout(resolve, ms));\r\n }\r\n}\r\n","export * from './delivery-query.service';\r\nexport * from './mapping.service';\r\n","import { IDeliveryClientConfig } from '../config';\r\nimport { Contracts } from '../contracts';\r\nimport { GenericElementMapper, ItemMapper, LanguageMapper, TaxonomyMapper, TypeMapper } from '../mappers';\r\nimport { Responses, IContentItem, IPagination } from '../models';\r\n\r\nexport interface IMappingService {\r\n listContentTypesResponse(data: Contracts.IListContentTypeContract): Responses.IListContentTypesResponse;\r\n\r\n itemsFeedResponse<TContentItem extends IContentItem = IContentItem>(\r\n data: Contracts.IItemsFeedContract\r\n ): Responses.IListItemsFeedResponse<TContentItem>;\r\n\r\n viewContentTypeResponse(data: Contracts.IViewContentTypeContract): Responses.IViewContentTypeResponse;\r\n\r\n viewContentItemResponse<TContentItem extends IContentItem = IContentItem>(\r\n data: Contracts.IViewContentItemContract\r\n ): Responses.IViewContentItemResponse<TContentItem>;\r\n\r\n listContentItemsResponse<TContentItem extends IContentItem = IContentItem>(\r\n data: Contracts.IListContentItemsContract\r\n ): Responses.IListContentItemsResponse<TContentItem>;\r\n\r\n viewTaxonomyResponse(data: Contracts.IViewTaxonomyGroupContract): Responses.IViewTaxonomyResponse;\r\n\r\n listTaxonomiesResponse(data: Contracts.IListTaxonomyGroupsContract): Responses.IListTaxonomiesResponse;\r\n\r\n viewContentTypeElementResponse(\r\n data: Contracts.IViewContentTypeElementContract\r\n ): Responses.IViewContentTypeElementResponse;\r\n\r\n listLanguagesResponse(data: Contracts.IListLanguagesContract): Responses.IListLanguagesResponse;\r\n}\r\n\r\nexport class MappingService implements IMappingService {\r\n private readonly typeMapper: TypeMapper;\r\n private readonly languageMapper: LanguageMapper;\r\n private readonly itemMapper: ItemMapper;\r\n private readonly taxonomyMapper: TaxonomyMapper;\r\n private readonly genericElementMapper: GenericElementMapper;\r\n\r\n constructor(readonly config: IDeliveryClientConfig) {\r\n this.typeMapper = new TypeMapper();\r\n this.languageMapper = new LanguageMapper();\r\n this.itemMapper = new ItemMapper(config);\r\n this.taxonomyMapper = new TaxonomyMapper();\r\n this.genericElementMapper = new GenericElementMapper();\r\n }\r\n\r\n /**\r\n * Gets response for list of languages\r\n * @param data Response data\r\n */\r\n listLanguagesResponse(data: Contracts.IListLanguagesContract): Responses.IListLanguagesResponse {\r\n return {\r\n items: this.languageMapper.mapMultipleLanguages(data),\r\n pagination: this.mapPagination(data.pagination)\r\n };\r\n }\r\n\r\n /**\r\n * Gets response for getting a multiple type\r\n * @param data Response data\r\n */\r\n listContentTypesResponse(data: Contracts.IListContentTypeContract): Responses.IListContentTypesResponse {\r\n return {\r\n items: this.typeMapper.mapMultipleTypes(data),\r\n pagination: this.mapPagination(data.pagination)\r\n };\r\n }\r\n\r\n /**\r\n * Gets response for single type\r\n * @param data Response data\r\n * @param options Options\r\n */\r\n viewContentTypeResponse(data: Contracts.IViewContentTypeContract): Responses.IViewContentTypeResponse {\r\n return {\r\n type: this.typeMapper.mapSingleType(data)\r\n };\r\n }\r\n\r\n itemsFeedResponse<TContentItem extends IContentItem = IContentItem>(\r\n data: Contracts.IItemsFeedContract\r\n ): Responses.IListItemsFeedResponse<TContentItem> {\r\n const itemsResult = this.itemMapper.mapItems<TContentItem>({\r\n linkedItems: Object.values(data.modular_content),\r\n mainItems: data.items\r\n });\r\n\r\n return {\r\n items: itemsResult.items,\r\n linkedItems: itemsResult.linkedItems\r\n };\r\n }\r\n\r\n /**\r\n * Gets response for getting single item\r\n * @param data Response data\r\n * @param queryConfig Query configuration\r\n */\r\n viewContentItemResponse<TContentItem extends IContentItem = IContentItem>(\r\n data: Contracts.IViewContentItemContract\r\n ): Responses.IViewContentItemResponse<TContentItem> {\r\n const itemResult = this.itemMapper.mapSingleItemFromResponse<TContentItem>(data);\r\n\r\n return {\r\n item: itemResult.item,\r\n linkedItems: itemResult.linkedItems\r\n };\r\n }\r\n\r\n /**\r\n * Gets response for getting multiple items\r\n * @param data Response data\r\n * @param queryConfig Query configuration\r\n */\r\n listContentItemsResponse<TContentItem extends IContentItem = IContentItem>(\r\n data: Contracts.IListContentItemsContract\r\n ): Responses.IListContentItemsResponse<TContentItem> {\r\n const itemsResult = this.itemMapper.mapMultipleItemsFromResponse<TContentItem>(data);\r\n\r\n return {\r\n items: itemsResult.items,\r\n pagination: this.mapPagination(data.pagination),\r\n linkedItems: itemsResult.linkedItems\r\n };\r\n }\r\n\r\n /**\r\n * Gets response for getting single taxonomy item\r\n * @param data Response data\r\n */\r\n viewTaxonomyResponse(data: Contracts.IViewTaxonomyGroupContract): Responses.IViewTaxonomyResponse {\r\n return {\r\n taxonomy: this.taxonomyMapper.mapTaxonomy(data.system, data.terms)\r\n };\r\n }\r\n\r\n /**\r\n * Gets response for getting multiples taxonomies\r\n * @param data Response data\r\n */\r\n listTaxonomiesResponse(data: Contracts.IListTaxonomyGroupsContract): Responses.IListTaxonomiesResponse {\r\n return {\r\n items: this.taxonomyMapper.mapTaxonomies(data.taxonomies),\r\n pagination: this.mapPagination(data.pagination)\r\n };\r\n }\r\n\r\n /**\r\n * Gets response for getting single content type element\r\n * @param data Response data\r\n */\r\n viewContentTypeElementResponse(\r\n data: Contracts.IViewContentTypeElementContract\r\n ): Responses.IViewContentTypeElementResponse {\r\n return {\r\n element: this.genericElementMapper.mapElement(data)\r\n };\r\n }\r\n\r\n private mapPagination(paginationContract: Contracts.IPaginationContract): IPagination {\r\n return {\r\n skip: paginationContract.skip,\r\n count: paginationContract.count,\r\n limit: paginationContract.limit,\r\n nextPage: paginationContract.next_page,\r\n totalCount: paginationContract.total_count ?? null\r\n };\r\n }\r\n}\r\n","import * as urlParse from 'url-parse';\r\n\r\nexport class DeliveryUrlHelper {\r\n replaceAssetDomain(originalAssetUrl: string, customDomain: string): string {\r\n const urlPath = this.getUrlPathname(originalAssetUrl);\r\n\r\n return `${customDomain}${urlPath}`;\r\n }\r\n\r\n getUrlPathname(url: string): string {\r\n const parsedUrl = urlParse(url);\r\n\r\n return parsedUrl.pathname;\r\n }\r\n}\r\n\r\nexport const deliveryUrlHelper = new DeliveryUrlHelper();\r\n","import { v4 as uuidv4 } from 'uuid';\r\n\r\nexport class GuidHelper {\r\n genereateGuid(): string {\r\n return uuidv4();\r\n }\r\n}\r\n\r\nexport const guidHelper = new GuidHelper();\r\n","export * from './linked-items.helper';\r\nexport * from './guid.helper';\r\nexport * from './delivery-url.helper';\r\nexport * from './text-helper';\r\n","import { IContentItem, IContentItemsContainer } from '../models/item-models';\r\n\r\nexport class LinkedItemsHelper {\r\n\r\n convertLinkedItemsToArray(linkedItems: IContentItemsContainer): IContentItem[] {\r\n const linkedItemsArray: IContentItem[] = [];\r\n\r\n for (const linkedItemKey of Object.keys(linkedItems)) {\r\n linkedItemsArray.push(linkedItems[linkedItemKey]);\r\n }\r\n\r\n return linkedItemsArray;\r\n }\r\n}\r\n\r\nexport const linkedItemsHelper = new LinkedItemsHelper();\r\n","export class TextHelper {\r\n getPropertyNameRegex(): RegExp {\r\n return /[\\&\\(\\)\\?\\-\\=\\'\\\"\\§\\!\\%\\:\\_\\s.]+(.)?/g;\r\n }\r\n\r\n removeZeroWidthCharacters(str: string): string {\r\n return str.replace(/[\\u200B-\\u200D\\uFEFF]/g, '');\r\n }\r\n\r\n addUnderscoreWhenStarsWithNumber(str: string): string {\r\n if (this.startsWithNumber(str)) {\r\n return `_${str}`;\r\n }\r\n return str;\r\n }\r\n\r\n startsWithNumber(str: string): boolean {\r\n if (str.match(/^\\d/)) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n}\r\n\r\nexport const textHelper = new TextHelper();\r\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","'use strict';\n\nvar required = require('requires-port')\n , qs = require('querystringify')\n , controlOrWhitespace = /^[\\x00-\\x20\\u00a0\\u1680\\u2000-\\u200a\\u2028\\u2029\\u202f\\u205f\\u3000\\ufeff]+/\n , CRHTLF = /[\\n\\r\\t]/g\n , slashes = /^[A-Za-z][A-Za-z0-9+-.]*:\\/\\//\n , port = /:\\d+$/\n , protocolre = /^([a-z][a-z0-9.+-]*:)?(\\/\\/)?([\\\\/]+)?([\\S\\s]*)/i\n , windowsDriveLetter = /^[a-zA-Z]:/;\n\n/**\n * Remove control characters and whitespace from the beginning of a string.\n *\n * @param {Object|String} str String to trim.\n * @returns {String} A new string representing `str` stripped of control\n * characters and whitespace from its beginning.\n * @public\n */\nfunction trimLeft(str) {\n return (str ? str : '').toString().replace(controlOrWhitespace, '');\n}\n\n/**\n * These are the parse rules for the URL parser, it informs the parser\n * about:\n *\n * 0. The char it Needs to parse, if it's a string it should be done using\n * indexOf, RegExp using exec and NaN means set as current value.\n * 1. The property we should set when parsing this value.\n * 2. Indication if it's backwards or forward parsing, when set as number it's\n * the value of extra chars that should be split off.\n * 3. Inherit from location if non existing in the parser.\n * 4. `toLowerCase` the resulting value.\n */\nvar rules = [\n ['#', 'hash'], // Extract from the back.\n ['?', 'query'], // Extract from the back.\n function sanitize(address, url) { // Sanitize what is left of the address\n return isSpecial(url.protocol) ? address.replace(/\\\\/g, '/') : address;\n },\n ['/', 'pathname'], // Extract from the back.\n ['@', 'auth', 1], // Extract from the front.\n [NaN, 'host', undefined, 1, 1], // Set left over value.\n [/:(\\d*)$/, 'port', undefined, 1], // RegExp the back.\n [NaN, 'hostname', undefined, 1, 1] // Set left over.\n];\n\n/**\n * These properties should not be copied or inherited from. This is only needed\n * for all non blob URL's as a blob URL does not include a hash, only the\n * origin.\n *\n * @type {Object}\n * @private\n */\nvar ignore = { hash: 1, query: 1 };\n\n/**\n * The location object differs when your code is loaded through a normal page,\n * Worker or through a worker using a blob. And with the blobble begins the\n * trouble as the location object will contain the URL of the blob, not the\n * location of the page where our code is loaded in. The actual origin is\n * encoded in the `pathname` so we can thankfully generate a good \"default\"\n * location from it so we can generate proper relative URL's again.\n *\n * @param {Object|String} loc Optional default location object.\n * @returns {Object} lolcation object.\n * @public\n */\nfunction lolcation(loc) {\n var globalVar;\n\n if (typeof window !== 'undefined') globalVar = window;\n else if (typeof global !== 'undefined') globalVar = global;\n else if (typeof self !== 'undefined') globalVar = self;\n else globalVar = {};\n\n var location = globalVar.location || {};\n loc = loc || location;\n\n var finaldestination = {}\n , type = typeof loc\n , key;\n\n if ('blob:' === loc.protocol) {\n finaldestination = new Url(unescape(loc.pathname), {});\n } else if ('string' === type) {\n finaldestination = new Url(loc, {});\n for (key in ignore) delete finaldestination[key];\n } else if ('object' === type) {\n for (key in loc) {\n if (key in ignore) continue;\n finaldestination[key] = loc[key];\n }\n\n if (finaldestination.slashes === undefined) {\n finaldestination.slashes = slashes.test(loc.href);\n }\n }\n\n return finaldestination;\n}\n\n/**\n * Check whether a protocol scheme is special.\n *\n * @param {String} The protocol scheme of the URL\n * @return {Boolean} `true` if the protocol scheme is special, else `false`\n * @private\n */\nfunction isSpecial(scheme) {\n return (\n scheme === 'file:' ||\n scheme === 'ftp:' ||\n scheme === 'http:' ||\n scheme === 'https:' ||\n scheme === 'ws:' ||\n scheme === 'wss:'\n );\n}\n\n/**\n * @typedef ProtocolExtract\n * @type Object\n * @property {String} protocol Protocol matched in the URL, in lowercase.\n * @property {Boolean} slashes `true` if protocol is followed by \"//\", else `false`.\n * @property {String} rest Rest of the URL that is not part of the protocol.\n */\n\n/**\n * Extract protocol information from a URL with/without double slash (\"//\").\n *\n * @param {String} address URL we want to extract from.\n * @param {Object} location\n * @return {ProtocolExtract} Extracted information.\n * @private\n */\nfunction extractProtocol(address, location) {\n address = trimLeft(address);\n address = address.replace(CRHTLF, '');\n location = location || {};\n\n var match = protocolre.exec(address);\n var protocol = match[1] ? match[1].toLowerCase() : '';\n var forwardSlashes = !!match[2];\n var otherSlashes = !!match[3];\n var slashesCount = 0;\n var rest;\n\n if (forwardSlashes) {\n if (otherSlashes) {\n rest = match[2] + match[3] + match[4];\n slashesCount = match[2].length + match[3].length;\n } else {\n rest = match[2] + match[4];\n slashesCount = match[2].length;\n }\n } else {\n if (otherSlashes) {\n rest = match[3] + match[4];\n slashesCount = match[3].length;\n } else {\n rest = match[4]\n }\n }\n\n if (protocol === 'file:') {\n if (slashesCount >= 2) {\n rest = rest.slice(2);\n }\n } else if (isSpecial(protocol)) {\n rest = match[4];\n } else if (protocol) {\n if (forwardSlashes) {\n rest = rest.slice(2);\n }\n } else if (slashesCount >= 2 && isSpecial(location.protocol)) {\n rest = match[4];\n }\n\n return {\n protocol: protocol,\n slashes: forwardSlashes || isSpecial(protocol),\n slashesCount: slashesCount,\n rest: rest\n };\n}\n\n/**\n * Resolve a relative URL pathname against a base URL pathname.\n *\n * @param {String} relative Pathname of the relative URL.\n * @param {String} base Pathname of the base URL.\n * @return {String} Resolved pathname.\n * @private\n */\nfunction resolve(relative, base) {\n if (relative === '') return base;\n\n var path = (base || '/').split('/').slice(0, -1).concat(relative.split('/'))\n , i = path.length\n , last = path[i - 1]\n , unshift = false\n , up = 0;\n\n while (i--) {\n if (path[i] === '.') {\n path.splice(i, 1);\n } else if (path[i] === '..') {\n path.splice(i, 1);\n up++;\n } else if (up) {\n if (i === 0) unshift = true;\n path.splice(i, 1);\n up--;\n }\n }\n\n if (unshift) path.unshift('');\n if (last === '.' || last === '..') path.push('');\n\n return path.join('/');\n}\n\n/**\n * The actual URL instance. Instead of returning an object we've opted-in to\n * create an actual constructor as it's much more memory efficient and\n * faster and it pleases my OCD.\n *\n * It is worth noting that we should not use `URL` as class name to prevent\n * clashes with the global URL instance that got introduced in browsers.\n *\n * @constructor\n * @param {String} address URL we want to parse.\n * @param {Object|String} [location] Location defaults for relative paths.\n * @param {Boolean|Function} [parser] Parser for the query string.\n * @private\n */\nfunction Url(address, location, parser) {\n address = trimLeft(address);\n address = address.replace(CRHTLF, '');\n\n if (!(this instanceof Url)) {\n return new Url(address, location, parser);\n }\n\n var relative, extracted, parse, instruction, index, key\n , instructions = rules.slice()\n , type = typeof location\n , url = this\n , i = 0;\n\n //\n // The following if statements allows this module two have compatibility with\n // 2 different API:\n //\n // 1. Node.js's `url.parse` api which accepts a URL, boolean as arguments\n // where the boolean indicates that the query string should also be parsed.\n //\n // 2. The `URL` interface of the browser which accepts a URL, object as\n // arguments. The supplied object will be used as default values / fall-back\n // for relative paths.\n //\n if ('object' !== type && 'string' !== type) {\n parser = location;\n location = null;\n }\n\n if (parser && 'function' !== typeof parser) parser = qs.parse;\n\n location = lolcation(location);\n\n //\n // Extract protocol information before running the instructions.\n //\n extracted = extractProtocol(address || '', location);\n relative = !extracted.protocol && !extracted.slashes;\n url.slashes = extracted.slashes || relative && location.slashes;\n url.protocol = extracted.protocol || location.protocol || '';\n address = extracted.rest;\n\n //\n // When the authority component is absent the URL starts with a path\n // component.\n //\n if (\n extracted.protocol === 'file:' && (\n extracted.slashesCount !== 2 || windowsDriveLetter.test(address)) ||\n (!extracted.slashes &&\n (extracted.protocol ||\n extracted.slashesCount < 2 ||\n !isSpecial(url.protocol)))\n ) {\n instructions[3] = [/(.*)/, 'pathname'];\n }\n\n for (; i < instructions.length; i++) {\n instruction = instructions[i];\n\n if (typeof instruction === 'function') {\n address = instruction(address, url);\n continue;\n }\n\n parse = instruction[0];\n key = instruction[1];\n\n if (parse !== parse) {\n url[key] = address;\n } else if ('string' === typeof parse) {\n index = parse === '@'\n ? address.lastIndexOf(parse)\n : address.indexOf(parse);\n\n if (~index) {\n if ('number' === typeof instruction[2]) {\n url[key] = address.slice(0, index);\n address = address.slice(index + instruction[2]);\n } else {\n url[key] = address.slice(index);\n address = address.slice(0, index);\n }\n }\n } else if ((index = parse.exec(address))) {\n url[key] = index[1];\n address = address.slice(0, index.index);\n }\n\n url[key] = url[key] || (\n relative && instruction[3] ? location[key] || '' : ''\n );\n\n //\n // Hostname, host and protocol should be lowercased so they can be used to\n // create a proper `origin`.\n //\n if (instruction[4]) url[key] = url[key].toLowerCase();\n }\n\n //\n // Also parse the supplied query string in to an object. If we're supplied\n // with a custom parser as function use that instead of the default build-in\n // parser.\n //\n if (parser) url.query = parser(url.query);\n\n //\n // If the URL is relative, resolve the pathname against the base URL.\n //\n if (\n relative\n && location.slashes\n && url.pathname.charAt(0) !== '/'\n && (url.pathname !== '' || location.pathname !== '')\n ) {\n url.pathname = resolve(url.pathname, location.pathname);\n }\n\n //\n // Default to a / for pathname if none exists. This normalizes the URL\n // to always have a /\n //\n if (url.pathname.charAt(0) !== '/' && isSpecial(url.protocol)) {\n url.pathname = '/' + url.pathname;\n }\n\n //\n // We should not add port numbers if they are already the default port number\n // for a given protocol. As the host also contains the port number we're going\n // override it with the hostname which contains no port number.\n //\n if (!required(url.port, url.protocol)) {\n url.host = url.hostname;\n url.port = '';\n }\n\n //\n // Parse down the `auth` for the username and password.\n //\n url.username = url.password = '';\n\n if (url.auth) {\n index = url.auth.indexOf(':');\n\n if (~index) {\n url.username = url.auth.slice(0, index);\n url.username = encodeURIComponent(decodeURIComponent(url.username));\n\n url.password = url.auth.slice(index + 1);\n url.password = encodeURIComponent(decodeURIComponent(url.password))\n } else {\n url.username = encodeURIComponent(decodeURIComponent(url.auth));\n }\n\n url.auth = url.password ? url.username +':'+ url.password : url.username;\n }\n\n url.origin = url.protocol !== 'file:' && isSpecial(url.protocol) && url.host\n ? url.protocol +'//'+ url.host\n : 'null';\n\n //\n // The href is just the compiled result.\n //\n url.href = url.toString();\n}\n\n/**\n * This is convenience method for changing properties in the URL instance to\n * insure that they all propagate correctly.\n *\n * @param {String} part Property we need to adjust.\n * @param {Mixed} value The newly assigned value.\n * @param {Boolean|Function} fn When setting the query, it will be the function\n * used to parse the query.\n * When setting the protocol, double slash will be\n * removed from the final url if it is true.\n * @returns {URL} URL instance for chaining.\n * @public\n */\nfunction set(part, value, fn) {\n var url = this;\n\n switch (part) {\n case 'query':\n if ('string' === typeof value && value.length) {\n value = (fn || qs.parse)(value);\n }\n\n url[part] = value;\n break;\n\n case 'port':\n url[part] = value;\n\n if (!required(value, url.protocol)) {\n url.host = url.hostname;\n url[part] = '';\n } else if (value) {\n url.host = url.hostname +':'+ value;\n }\n\n break;\n\n case 'hostname':\n url[part] = value;\n\n if (url.port) value += ':'+ url.port;\n url.host = value;\n break;\n\n case 'host':\n url[part] = value;\n\n if (port.test(value)) {\n value = value.split(':');\n url.port = value.pop();\n url.hostname = value.join(':');\n } else {\n url.hostname = value;\n url.port = '';\n }\n\n break;\n\n case 'protocol':\n url.protocol = value.toLowerCase();\n url.slashes = !fn;\n break;\n\n case 'pathname':\n case 'hash':\n if (value) {\n var char = part === 'pathname' ? '/' : '#';\n url[part] = value.charAt(0) !== char ? char + value : value;\n } else {\n url[part] = value;\n }\n break;\n\n case 'username':\n case 'password':\n url[part] = encodeURIComponent(value);\n break;\n\n case 'auth':\n var index = value.indexOf(':');\n\n if (~index) {\n url.username = value.slice(0, index);\n url.username = encodeURIComponent(decodeURIComponent(url.username));\n\n url.password = value.slice(index + 1);\n url.password = encodeURIComponent(decodeURIComponent(url.password));\n } else {\n url.username = encodeURIComponent(decodeURIComponent(value));\n }\n }\n\n for (var i = 0; i < rules.length; i++) {\n var ins = rules[i];\n\n if (ins[4]) url[ins[1]] = url[ins[1]].toLowerCase();\n }\n\n url.auth = url.password ? url.username +':'+ url.password : url.username;\n\n url.origin = url.protocol !== 'file:' && isSpecial(url.protocol) && url.host\n ? url.protocol +'//'+ url.host\n : 'null';\n\n url.href = url.toString();\n\n return url;\n}\n\n/**\n * Transform the properties back in to a valid and full URL string.\n *\n * @param {Function} stringify Optional query stringify function.\n * @returns {String} Compiled version of the URL.\n * @public\n */\nfunction toString(stringify) {\n if (!stringify || 'function' !== typeof stringify) stringify = qs.stringify;\n\n var query\n , url = this\n , host = url.host\n , protocol = url.protocol;\n\n if (protocol && protocol.charAt(protocol.length - 1) !== ':') protocol += ':';\n\n var result =\n protocol +\n ((url.protocol && url.slashes) || isSpecial(url.protocol) ? '//' : '');\n\n if (url.username) {\n result += url.username;\n if (url.password) result += ':'+ url.password;\n result += '@';\n } else if (url.password) {\n result += ':'+ url.password;\n result += '@';\n } else if (\n url.protocol !== 'file:' &&\n isSpecial(url.protocol) &&\n !host &&\n url.pathname !== '/'\n ) {\n //\n // Add back the empty userinfo, otherwise the original invalid URL\n // might be transformed into a valid one with `url.pathname` as host.\n //\n result += '@';\n }\n\n //\n // Trailing colon is removed from `url.host` when it is parsed. If it still\n // ends with a colon, then add back the trailing colon that was removed. This\n // prevents an invalid URL from being transformed into a valid one.\n //\n if (host[host.length - 1] === ':' || (port.test(url.hostname) && !url.port)) {\n host += ':';\n }\n\n result += host + url.pathname;\n\n query = 'object' === typeof url.query ? stringify(url.query) : url.query;\n if (query) result += '?' !== query.charAt(0) ? '?'+ query : query;\n\n if (url.hash) result += url.hash;\n\n return result;\n}\n\nUrl.prototype = { set: set, toString: toString };\n\n//\n// Expose the URL parser and some additional properties that might be useful for\n// others or testing.\n//\nUrl.extractProtocol = extractProtocol;\nUrl.location = lolcation;\nUrl.trimLeft = trimLeft;\nUrl.qs = qs;\n\nmodule.exports = Url;\n","export { default as v1 } from './v1.js';\nexport { default as v3 } from './v3.js';\nexport { default as v4 } from './v4.js';\nexport { default as v5 } from './v5.js';\nexport { default as NIL } from './nil.js';\nexport { default as version } from './version.js';\nexport { default as validate } from './validate.js';\nexport { default as stringify } from './stringify.js';\nexport { default as parse } from './parse.js';","/*\n * Browser-compatible JavaScript MD5\n *\n * Modification of JavaScript MD5\n * https://github.com/blueimp/JavaScript-MD5\n *\n * Copyright 2011, Sebastian Tschan\n * https://blueimp.net\n *\n * Licensed under the MIT license:\n * https://opensource.org/licenses/MIT\n *\n * Based on\n * A JavaScript implementation of the RSA Data Security, Inc. MD5 Message\n * Digest Algorithm, as defined in RFC 1321.\n * Version 2.2 Copyright (C) Paul Johnston 1999 - 2009\n * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet\n * Distributed under the BSD License\n * See http://pajhome.org.uk/crypt/md5 for more info.\n */\nfunction md5(bytes) {\n if (typeof bytes === 'string') {\n var msg = unescape(encodeURIComponent(bytes)); // UTF8 escape\n\n bytes = new Uint8Array(msg.length);\n\n for (var i = 0; i < msg.length; ++i) {\n bytes[i] = msg.charCodeAt(i);\n }\n }\n\n return md5ToHexEncodedArray(wordsToMd5(bytesToWords(bytes), bytes.length * 8));\n}\n/*\n * Convert an array of little-endian words to an array of bytes\n */\n\n\nfunction md5ToHexEncodedArray(input) {\n var output = [];\n var length32 = input.length * 32;\n var hexTab = '0123456789abcdef';\n\n for (var i = 0; i < length32; i += 8) {\n var x = input[i >> 5] >>> i % 32 & 0xff;\n var hex = parseInt(hexTab.charAt(x >>> 4 & 0x0f) + hexTab.charAt(x & 0x0f), 16);\n output.push(hex);\n }\n\n return output;\n}\n/**\n * Calculate output length with padding and bit length\n */\n\n\nfunction getOutputLength(inputLength8) {\n return (inputLength8 + 64 >>> 9 << 4) + 14 + 1;\n}\n/*\n * Calculate the MD5 of an array of little-endian words, and a bit length.\n */\n\n\nfunction wordsToMd5(x, len) {\n /* append padding */\n x[len >> 5] |= 0x80 << len % 32;\n x[getOutputLength(len) - 1] = len;\n var a = 1732584193;\n var b = -271733879;\n var c = -1732584194;\n var d = 271733878;\n\n for (var i = 0; i < x.length; i += 16) {\n var olda = a;\n var oldb = b;\n var oldc = c;\n var oldd = d;\n a = md5ff(a, b, c, d, x[i], 7, -680876936);\n d = md5ff(d, a, b, c, x[i + 1], 12, -389564586);\n c = md5ff(c, d, a, b, x[i + 2], 17, 606105819);\n b = md5ff(b, c, d, a, x[i + 3], 22, -1044525330);\n a = md5ff(a, b, c, d, x[i + 4], 7, -176418897);\n d = md5ff(d, a, b, c, x[i + 5], 12, 1200080426);\n c = md5ff(c, d, a, b, x[i + 6], 17, -1473231341);\n b = md5ff(b, c, d, a, x[i + 7], 22, -45705983);\n a = md5ff(a, b, c, d, x[i + 8], 7, 1770035416);\n d = md5ff(d, a, b, c, x[i + 9], 12, -1958414417);\n c = md5ff(c, d, a, b, x[i + 10], 17, -42063);\n b = md5ff(b, c, d, a, x[i + 11], 22, -1990404162);\n a = md5ff(a, b, c, d, x[i + 12], 7, 1804603682);\n d = md5ff(d, a, b, c, x[i + 13], 12, -40341101);\n c = md5ff(c, d, a, b, x[i + 14], 17, -1502002290);\n b = md5ff(b, c, d, a, x[i + 15], 22, 1236535329);\n a = md5gg(a, b, c, d, x[i + 1], 5, -165796510);\n d = md5gg(d, a, b, c, x[i + 6], 9, -1069501632);\n c = md5gg(c, d, a, b, x[i + 11], 14, 643717713);\n b = md5gg(b, c, d, a, x[i], 20, -373897302);\n a = md5gg(a, b, c, d, x[i + 5], 5, -701558691);\n d = md5gg(d, a, b, c, x[i + 10], 9, 38016083);\n c = md5gg(c, d, a, b, x[i + 15], 14, -660478335);\n b = md5gg(b, c, d, a, x[i + 4], 20, -405537848);\n a = md5gg(a, b, c, d, x[i + 9], 5, 568446438);\n d = md5gg(d, a, b, c, x[i + 14], 9, -1019803690);\n c = md5gg(c, d, a, b, x[i + 3], 14, -187363961);\n b = md5gg(b, c, d, a, x[i + 8], 20, 1163531501);\n a = md5gg(a, b, c, d, x[i + 13], 5, -1444681467);\n d = md5gg(d, a, b, c, x[i + 2], 9, -51403784);\n c = md5gg(c, d, a, b, x[i + 7], 14, 1735328473);\n b = md5gg(b, c, d, a, x[i + 12], 20, -1926607734);\n a = md5hh(a, b, c, d, x[i + 5], 4, -378558);\n d = md5hh(d, a, b, c, x[i + 8], 11, -2022574463);\n c = md5hh(c, d, a, b, x[i + 11], 16, 1839030562);\n b = md5hh(b, c, d, a, x[i + 14], 23, -35309556);\n a = md5hh(a, b, c, d, x[i + 1], 4, -1530992060);\n d = md5hh(d, a, b, c, x[i + 4], 11, 1272893353);\n c = md5hh(c, d, a, b, x[i + 7], 16, -155497632);\n b = md5hh(b, c, d, a, x[i + 10], 23, -1094730640);\n a = md5hh(a, b, c, d, x[i + 13], 4, 681279174);\n d = md5hh(d, a, b, c, x[i], 11, -358537222);\n c = md5hh(c, d, a, b, x[i + 3], 16, -722521979);\n b = md5hh(b, c, d, a, x[i + 6], 23, 76029189);\n a = md5hh(a, b, c, d, x[i + 9], 4, -640364487);\n d = md5hh(d, a, b, c, x[i + 12], 11, -421815835);\n c = md5hh(c, d, a, b, x[i + 15], 16, 530742520);\n b = md5hh(b, c, d, a, x[i + 2], 23, -995338651);\n a = md5ii(a, b, c, d, x[i], 6, -198630844);\n d = md5ii(d, a, b, c, x[i + 7], 10, 1126891415);\n c = md5ii(c, d, a, b, x[i + 14], 15, -1416354905);\n b = md5ii(b, c, d, a, x[i + 5], 21, -57434055);\n a = md5ii(a, b, c, d, x[i + 12], 6, 1700485571);\n d = md5ii(d, a, b, c, x[i + 3], 10, -1894986606);\n c = md5ii(c, d, a, b, x[i + 10], 15, -1051523);\n b = md5ii(b, c, d, a, x[i + 1], 21, -2054922799);\n a = md5ii(a, b, c, d, x[i + 8], 6, 1873313359);\n d = md5ii(d, a, b, c, x[i + 15], 10, -30611744);\n c = md5ii(c, d, a, b, x[i + 6], 15, -1560198380);\n b = md5ii(b, c, d, a, x[i + 13], 21, 1309151649);\n a = md5ii(a, b, c, d, x[i + 4], 6, -145523070);\n d = md5ii(d, a, b, c, x[i + 11], 10, -1120210379);\n c = md5ii(c, d, a, b, x[i + 2], 15, 718787259);\n b = md5ii(b, c, d, a, x[i + 9], 21, -343485551);\n a = safeAdd(a, olda);\n b = safeAdd(b, oldb);\n c = safeAdd(c, oldc);\n d = safeAdd(d, oldd);\n }\n\n return [a, b, c, d];\n}\n/*\n * Convert an array bytes to an array of little-endian words\n * Characters >255 have their high-byte silently ignored.\n */\n\n\nfunction bytesToWords(input) {\n if (input.length === 0) {\n return [];\n }\n\n var length8 = input.length * 8;\n var output = new Uint32Array(getOutputLength(length8));\n\n for (var i = 0; i < length8; i += 8) {\n output[i >> 5] |= (input[i / 8] & 0xff) << i % 32;\n }\n\n return output;\n}\n/*\n * Add integers, wrapping at 2^32. This uses 16-bit operations internally\n * to work around bugs in some JS interpreters.\n */\n\n\nfunction safeAdd(x, y) {\n var lsw = (x & 0xffff) + (y & 0xffff);\n var msw = (x >> 16) + (y >> 16) + (lsw >> 16);\n return msw << 16 | lsw & 0xffff;\n}\n/*\n * Bitwise rotate a 32-bit number to the left.\n */\n\n\nfunction bitRotateLeft(num, cnt) {\n return num << cnt | num >>> 32 - cnt;\n}\n/*\n * These functions implement the four basic operations the algorithm uses.\n */\n\n\nfunction md5cmn(q, a, b, x, s, t) {\n return safeAdd(bitRotateLeft(safeAdd(safeAdd(a, q), safeAdd(x, t)), s), b);\n}\n\nfunction md5ff(a, b, c, d, x, s, t) {\n return md5cmn(b & c | ~b & d, a, b, x, s, t);\n}\n\nfunction md5gg(a, b, c, d, x, s, t) {\n return md5cmn(b & d | c & ~d, a, b, x, s, t);\n}\n\nfunction md5hh(a, b, c, d, x, s, t) {\n return md5cmn(b ^ c ^ d, a, b, x, s, t);\n}\n\nfunction md5ii(a, b, c, d, x, s, t) {\n return md5cmn(c ^ (b | ~d), a, b, x, s, t);\n}\n\nexport default md5;","export default '00000000-0000-0000-0000-000000000000';","import validate from './validate.js';\n\nfunction parse(uuid) {\n if (!validate(uuid)) {\n throw TypeError('Invalid UUID');\n }\n\n var v;\n var arr = new Uint8Array(16); // Parse ########-....-....-....-............\n\n arr[0] = (v = parseInt(uuid.slice(0, 8), 16)) >>> 24;\n arr[1] = v >>> 16 & 0xff;\n arr[2] = v >>> 8 & 0xff;\n arr[3] = v & 0xff; // Parse ........-####-....-....-............\n\n arr[4] = (v = parseInt(uuid.slice(9, 13), 16)) >>> 8;\n arr[5] = v & 0xff; // Parse ........-....-####-....-............\n\n arr[6] = (v = parseInt(uuid.slice(14, 18), 16)) >>> 8;\n arr[7] = v & 0xff; // Parse ........-....-....-####-............\n\n arr[8] = (v = parseInt(uuid.slice(19, 23), 16)) >>> 8;\n arr[9] = v & 0xff; // Parse ........-....-....-....-############\n // (Use \"/\" to avoid 32-bit truncation when bit-shifting high-order bytes)\n\n arr[10] = (v = parseInt(uuid.slice(24, 36), 16)) / 0x10000000000 & 0xff;\n arr[11] = v / 0x100000000 & 0xff;\n arr[12] = v >>> 24 & 0xff;\n arr[13] = v >>> 16 & 0xff;\n arr[14] = v >>> 8 & 0xff;\n arr[15] = v & 0xff;\n return arr;\n}\n\nexport default parse;","export default /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;","// Unique ID creation requires a high quality random # generator. In the browser we therefore\n// require the crypto API and do not support built-in fallback to lower quality random number\n// generators (like Math.random()).\nvar getRandomValues;\nvar rnds8 = new Uint8Array(16);\nexport default function rng() {\n // lazy load so that environments that need to polyfill have a chance to do so\n if (!getRandomValues) {\n // getRandomValues needs to be invoked in a context where \"this\" is a Crypto implementation. Also,\n // find the complete implementation of crypto (msCrypto) on IE11.\n getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto) || typeof msCrypto !== 'undefined' && typeof msCrypto.getRandomValues === 'function' && msCrypto.getRandomValues.bind(msCrypto);\n\n if (!getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n }\n\n return getRandomValues(rnds8);\n}","// Adapted from Chris Veness' SHA1 code at\n// http://www.movable-type.co.uk/scripts/sha1.html\nfunction f(s, x, y, z) {\n switch (s) {\n case 0:\n return x & y ^ ~x & z;\n\n case 1:\n return x ^ y ^ z;\n\n case 2:\n return x & y ^ x & z ^ y & z;\n\n case 3:\n return x ^ y ^ z;\n }\n}\n\nfunction ROTL(x, n) {\n return x << n | x >>> 32 - n;\n}\n\nfunction sha1(bytes) {\n var K = [0x5a827999, 0x6ed9eba1, 0x8f1bbcdc, 0xca62c1d6];\n var H = [0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476, 0xc3d2e1f0];\n\n if (typeof bytes === 'string') {\n var msg = unescape(encodeURIComponent(bytes)); // UTF8 escape\n\n bytes = [];\n\n for (var i = 0; i < msg.length; ++i) {\n bytes.push(msg.charCodeAt(i));\n }\n } else if (!Array.isArray(bytes)) {\n // Convert Array-like to Array\n bytes = Array.prototype.slice.call(bytes);\n }\n\n bytes.push(0x80);\n var l = bytes.length / 4 + 2;\n var N = Math.ceil(l / 16);\n var M = new Array(N);\n\n for (var _i = 0; _i < N; ++_i) {\n var arr = new Uint32Array(16);\n\n for (var j = 0; j < 16; ++j) {\n arr[j] = bytes[_i * 64 + j * 4] << 24 | bytes[_i * 64 + j * 4 + 1] << 16 | bytes[_i * 64 + j * 4 + 2] << 8 | bytes[_i * 64 + j * 4 + 3];\n }\n\n M[_i] = arr;\n }\n\n M[N - 1][14] = (bytes.length - 1) * 8 / Math.pow(2, 32);\n M[N - 1][14] = Math.floor(M[N - 1][14]);\n M[N - 1][15] = (bytes.length - 1) * 8 & 0xffffffff;\n\n for (var _i2 = 0; _i2 < N; ++_i2) {\n var W = new Uint32Array(80);\n\n for (var t = 0; t < 16; ++t) {\n W[t] = M[_i2][t];\n }\n\n for (var _t = 16; _t < 80; ++_t) {\n W[_t] = ROTL(W[_t - 3] ^ W[_t - 8] ^ W[_t - 14] ^ W[_t - 16], 1);\n }\n\n var a = H[0];\n var b = H[1];\n var c = H[2];\n var d = H[3];\n var e = H[4];\n\n for (var _t2 = 0; _t2 < 80; ++_t2) {\n var s = Math.floor(_t2 / 20);\n var T = ROTL(a, 5) + f(s, b, c, d) + e + K[s] + W[_t2] >>> 0;\n e = d;\n d = c;\n c = ROTL(b, 30) >>> 0;\n b = a;\n a = T;\n }\n\n H[0] = H[0] + a >>> 0;\n H[1] = H[1] + b >>> 0;\n H[2] = H[2] + c >>> 0;\n H[3] = H[3] + d >>> 0;\n H[4] = H[4] + e >>> 0;\n }\n\n return [H[0] >> 24 & 0xff, H[0] >> 16 & 0xff, H[0] >> 8 & 0xff, H[0] & 0xff, H[1] >> 24 & 0xff, H[1] >> 16 & 0xff, H[1] >> 8 & 0xff, H[1] & 0xff, H[2] >> 24 & 0xff, H[2] >> 16 & 0xff, H[2] >> 8 & 0xff, H[2] & 0xff, H[3] >> 24 & 0xff, H[3] >> 16 & 0xff, H[3] >> 8 & 0xff, H[3] & 0xff, H[4] >> 24 & 0xff, H[4] >> 16 & 0xff, H[4] >> 8 & 0xff, H[4] & 0xff];\n}\n\nexport default sha1;","import validate from './validate.js';\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\n\nvar byteToHex = [];\n\nfor (var i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).substr(1));\n}\n\nfunction stringify(arr) {\n var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n var uuid = (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase(); // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n\n return uuid;\n}\n\nexport default stringify;","import rng from './rng.js';\nimport stringify from './stringify.js'; // **`v1()` - Generate time-based UUID**\n//\n// Inspired by https://github.com/LiosK/UUID.js\n// and http://docs.python.org/library/uuid.html\n\nvar _nodeId;\n\nvar _clockseq; // Previous uuid creation time\n\n\nvar _lastMSecs = 0;\nvar _lastNSecs = 0; // See https://github.com/uuidjs/uuid for API details\n\nfunction v1(options, buf, offset) {\n var i = buf && offset || 0;\n var b = buf || new Array(16);\n options = options || {};\n var node = options.node || _nodeId;\n var clockseq = options.clockseq !== undefined ? options.clockseq : _clockseq; // node and clockseq need to be initialized to random values if they're not\n // specified. We do this lazily to minimize issues related to insufficient\n // system entropy. See #189\n\n if (node == null || clockseq == null) {\n var seedBytes = options.random || (options.rng || rng)();\n\n if (node == null) {\n // Per 4.5, create and 48-bit node id, (47 random bits + multicast bit = 1)\n node = _nodeId = [seedBytes[0] | 0x01, seedBytes[1], seedBytes[2], seedBytes[3], seedBytes[4], seedBytes[5]];\n }\n\n if (clockseq == null) {\n // Per 4.2.2, randomize (14 bit) clockseq\n clockseq = _clockseq = (seedBytes[6] << 8 | seedBytes[7]) & 0x3fff;\n }\n } // UUID timestamps are 100 nano-second units since the Gregorian epoch,\n // (1582-10-15 00:00). JSNumbers aren't precise enough for this, so\n // time is handled internally as 'msecs' (integer milliseconds) and 'nsecs'\n // (100-nanoseconds offset from msecs) since unix epoch, 1970-01-01 00:00.\n\n\n var msecs = options.msecs !== undefined ? options.msecs : Date.now(); // Per 4.2.1.2, use count of uuid's generated during the current clock\n // cycle to simulate higher resolution clock\n\n var nsecs = options.nsecs !== undefined ? options.nsecs : _lastNSecs + 1; // Time since last uuid creation (in msecs)\n\n var dt = msecs - _lastMSecs + (nsecs - _lastNSecs) / 10000; // Per 4.2.1.2, Bump clockseq on clock regression\n\n if (dt < 0 && options.clockseq === undefined) {\n clockseq = clockseq + 1 & 0x3fff;\n } // Reset nsecs if clock regresses (new clockseq) or we've moved onto a new\n // time interval\n\n\n if ((dt < 0 || msecs > _lastMSecs) && options.nsecs === undefined) {\n nsecs = 0;\n } // Per 4.2.1.2 Throw error if too many uuids are requested\n\n\n if (nsecs >= 10000) {\n throw new Error(\"uuid.v1(): Can't create more than 10M uuids/sec\");\n }\n\n _lastMSecs = msecs;\n _lastNSecs = nsecs;\n _clockseq = clockseq; // Per 4.1.4 - Convert from unix epoch to Gregorian epoch\n\n msecs += 12219292800000; // `time_low`\n\n var tl = ((msecs & 0xfffffff) * 10000 + nsecs) % 0x100000000;\n b[i++] = tl >>> 24 & 0xff;\n b[i++] = tl >>> 16 & 0xff;\n b[i++] = tl >>> 8 & 0xff;\n b[i++] = tl & 0xff; // `time_mid`\n\n var tmh = msecs / 0x100000000 * 10000 & 0xfffffff;\n b[i++] = tmh >>> 8 & 0xff;\n b[i++] = tmh & 0xff; // `time_high_and_version`\n\n b[i++] = tmh >>> 24 & 0xf | 0x10; // include version\n\n b[i++] = tmh >>> 16 & 0xff; // `clock_seq_hi_and_reserved` (Per 4.2.2 - include variant)\n\n b[i++] = clockseq >>> 8 | 0x80; // `clock_seq_low`\n\n b[i++] = clockseq & 0xff; // `node`\n\n for (var n = 0; n < 6; ++n) {\n b[i + n] = node[n];\n }\n\n return buf || stringify(b);\n}\n\nexport default v1;","import v35 from './v35.js';\nimport md5 from './md5.js';\nvar v3 = v35('v3', 0x30, md5);\nexport default v3;","import stringify from './stringify.js';\nimport parse from './parse.js';\n\nfunction stringToBytes(str) {\n str = unescape(encodeURIComponent(str)); // UTF8 escape\n\n var bytes = [];\n\n for (var i = 0; i < str.length; ++i) {\n bytes.push(str.charCodeAt(i));\n }\n\n return bytes;\n}\n\nexport var DNS = '6ba7b810-9dad-11d1-80b4-00c04fd430c8';\nexport var URL = '6ba7b811-9dad-11d1-80b4-00c04fd430c8';\nexport default function (name, version, hashfunc) {\n function generateUUID(value, namespace, buf, offset) {\n if (typeof value === 'string') {\n value = stringToBytes(value);\n }\n\n if (typeof namespace === 'string') {\n namespace = parse(namespace);\n }\n\n if (namespace.length !== 16) {\n throw TypeError('Namespace must be array-like (16 iterable integer values, 0-255)');\n } // Compute hash of namespace and value, Per 4.3\n // Future: Use spread syntax when supported on all platforms, e.g. `bytes =\n // hashfunc([...namespace, ... value])`\n\n\n var bytes = new Uint8Array(16 + value.length);\n bytes.set(namespace);\n bytes.set(value, namespace.length);\n bytes = hashfunc(bytes);\n bytes[6] = bytes[6] & 0x0f | version;\n bytes[8] = bytes[8] & 0x3f | 0x80;\n\n if (buf) {\n offset = offset || 0;\n\n for (var i = 0; i < 16; ++i) {\n buf[offset + i] = bytes[i];\n }\n\n return buf;\n }\n\n return stringify(bytes);\n } // Function#name is not settable on some platforms (#270)\n\n\n try {\n generateUUID.name = name; // eslint-disable-next-line no-empty\n } catch (err) {} // For CommonJS default export support\n\n\n generateUUID.DNS = DNS;\n generateUUID.URL = URL;\n return generateUUID;\n}","import rng from './rng.js';\nimport stringify from './stringify.js';\n\nfunction v4(options, buf, offset) {\n options = options || {};\n var rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n\n if (buf) {\n offset = offset || 0;\n\n for (var i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n\n return buf;\n }\n\n return stringify(rnds);\n}\n\nexport default v4;","import v35 from './v35.js';\nimport sha1 from './sha1.js';\nvar v5 = v35('v5', 0x50, sha1);\nexport default v5;","import REGEX from './regex.js';\n\nfunction validate(uuid) {\n return typeof uuid === 'string' && REGEX.test(uuid);\n}\n\nexport default validate;","import validate from './validate.js';\n\nfunction version(uuid) {\n if (!validate(uuid)) {\n throw TypeError('Invalid UUID');\n }\n\n return parseInt(uuid.substr(14, 1), 16);\n}\n\nexport default version;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","","// startup\n// Load entry module and return exports\n// This entry module is referenced by other modules so it can't be inlined\nvar __webpack_exports__ = __webpack_require__(\"./lib/index.ts\");\n",""],"names":[],"sourceRoot":""}