@surfside/ads-core 2.0.1 → 2.0.3

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 (274) hide show
  1. package/README.md +15 -15
  2. package/lib/cjs/Api.js +195 -0
  3. package/lib/cjs/Api.js.map +1 -0
  4. package/lib/cjs/helpers/Generator.js +50 -0
  5. package/lib/cjs/helpers/Generator.js.map +1 -0
  6. package/lib/cjs/helpers/Handlebars.js +313 -0
  7. package/lib/cjs/helpers/Handlebars.js.map +1 -0
  8. package/lib/cjs/helpers/NativeRequestBuilder.js +174 -0
  9. package/lib/cjs/helpers/NativeRequestBuilder.js.map +1 -0
  10. package/lib/cjs/helpers/RequestBuilder.js +160 -0
  11. package/lib/cjs/helpers/RequestBuilder.js.map +1 -0
  12. package/lib/cjs/helpers/TryGet.js +14 -0
  13. package/lib/cjs/helpers/TryGet.js.map +1 -0
  14. package/lib/cjs/helpers/Window.js +24 -0
  15. package/lib/cjs/helpers/Window.js.map +1 -0
  16. package/lib/cjs/helpers/index.js +24 -0
  17. package/lib/cjs/helpers/index.js.map +1 -0
  18. package/lib/cjs/helpers/response/Banner.js +4 -0
  19. package/lib/cjs/helpers/response/Banner.js.map +1 -0
  20. package/lib/cjs/helpers/response/BuiltResponse.js +27 -0
  21. package/lib/cjs/helpers/response/BuiltResponse.js.map +1 -0
  22. package/lib/cjs/helpers/response/Carousel.js +282 -0
  23. package/lib/cjs/helpers/response/Carousel.js.map +1 -0
  24. package/lib/cjs/helpers/response/Clickthrough.js +24 -0
  25. package/lib/cjs/helpers/response/Clickthrough.js.map +1 -0
  26. package/lib/cjs/helpers/response/ProductCard.js +198 -0
  27. package/lib/cjs/helpers/response/ProductCard.js.map +1 -0
  28. package/lib/cjs/helpers/response/Video.js +4 -0
  29. package/lib/cjs/helpers/response/Video.js.map +1 -0
  30. package/lib/cjs/helpers/response/index.js +23 -0
  31. package/lib/cjs/helpers/response/index.js.map +1 -0
  32. package/lib/cjs/index.js +21 -3488
  33. package/lib/cjs/index.js.map +1 -54
  34. package/lib/cjs/models/dynamic/DynamicZone.js +12 -0
  35. package/lib/cjs/models/dynamic/DynamicZone.js.map +1 -0
  36. package/lib/cjs/models/dynamic/index.js +18 -0
  37. package/lib/cjs/models/dynamic/index.js.map +1 -0
  38. package/lib/cjs/models/index.js +22 -0
  39. package/lib/cjs/models/index.js.map +1 -0
  40. package/lib/cjs/models/retail/Configuration.js +10 -0
  41. package/lib/cjs/models/retail/Configuration.js.map +1 -0
  42. package/lib/cjs/models/retail/Product.js +4 -0
  43. package/lib/cjs/models/retail/Product.js.map +1 -0
  44. package/lib/cjs/models/retail/Recommended.js +3 -0
  45. package/lib/cjs/models/retail/Recommended.js.map +1 -0
  46. package/lib/cjs/models/retail/index.js +20 -0
  47. package/lib/cjs/models/retail/index.js.map +1 -0
  48. package/lib/cjs/models/rtb/BidRequest.js +20 -0
  49. package/lib/cjs/models/rtb/BidRequest.js.map +1 -0
  50. package/lib/cjs/models/rtb/BidResponse.js +3 -0
  51. package/lib/cjs/models/rtb/BidResponse.js.map +1 -0
  52. package/lib/cjs/models/rtb/NativeRequest.js +122 -0
  53. package/lib/cjs/models/rtb/NativeRequest.js.map +1 -0
  54. package/lib/cjs/models/rtb/NativeResponse.js +26 -0
  55. package/lib/cjs/models/rtb/NativeResponse.js.map +1 -0
  56. package/lib/cjs/models/rtb/index.js +21 -0
  57. package/lib/cjs/models/rtb/index.js.map +1 -0
  58. package/lib/cjs/models/tracking/Geo.js +3 -0
  59. package/lib/cjs/models/tracking/Geo.js.map +1 -0
  60. package/lib/cjs/models/tracking/index.js +18 -0
  61. package/lib/cjs/models/tracking/index.js.map +1 -0
  62. package/lib/cjs/models/vast/Vast.js +4 -0
  63. package/lib/cjs/models/vast/Vast.js.map +1 -0
  64. package/lib/cjs/models/vast/index.js +18 -0
  65. package/lib/cjs/models/vast/index.js.map +1 -0
  66. package/lib/cjs/services/Bidder.js +128 -0
  67. package/lib/cjs/services/Bidder.js.map +1 -0
  68. package/lib/cjs/services/Configuration.js +93 -0
  69. package/lib/cjs/services/Configuration.js.map +1 -0
  70. package/lib/cjs/services/Device.js +236 -0
  71. package/lib/cjs/services/Device.js.map +1 -0
  72. package/lib/cjs/services/Dynamic.js +129 -0
  73. package/lib/cjs/services/Dynamic.js.map +1 -0
  74. package/lib/cjs/services/Geo.js +35 -0
  75. package/lib/cjs/services/Geo.js.map +1 -0
  76. package/lib/cjs/services/Logger.js +57 -0
  77. package/lib/cjs/services/Logger.js.map +1 -0
  78. package/lib/cjs/services/Memoization.js +17 -0
  79. package/lib/cjs/services/Memoization.js.map +1 -0
  80. package/lib/cjs/services/Product.js +127 -0
  81. package/lib/cjs/services/Product.js.map +1 -0
  82. package/lib/cjs/services/Recommender.js +83 -0
  83. package/lib/cjs/services/Recommender.js.map +1 -0
  84. package/lib/cjs/services/Result.js +220 -0
  85. package/lib/cjs/services/Result.js.map +1 -0
  86. package/lib/cjs/services/Template.js +43 -0
  87. package/lib/cjs/services/Template.js.map +1 -0
  88. package/lib/cjs/services/index.js +28 -0
  89. package/lib/cjs/services/index.js.map +1 -0
  90. package/lib/cjs/services/mock/Bidder.js +3 -0
  91. package/lib/cjs/services/mock/Bidder.js.map +1 -0
  92. package/lib/cjs/services/mock/index.js +18 -0
  93. package/lib/cjs/services/mock/index.js.map +1 -0
  94. package/lib/esm/Api.js +183 -0
  95. package/lib/esm/Api.js.map +1 -0
  96. package/lib/esm/helpers/Generator.js +42 -0
  97. package/lib/esm/helpers/Generator.js.map +1 -0
  98. package/lib/esm/helpers/Handlebars.js +294 -0
  99. package/lib/esm/helpers/Handlebars.js.map +1 -0
  100. package/lib/esm/helpers/NativeRequestBuilder.js +169 -0
  101. package/lib/esm/helpers/NativeRequestBuilder.js.map +1 -0
  102. package/lib/esm/helpers/RequestBuilder.js +157 -0
  103. package/lib/esm/helpers/RequestBuilder.js.map +1 -0
  104. package/lib/esm/helpers/TryGet.js +10 -0
  105. package/lib/esm/helpers/TryGet.js.map +1 -0
  106. package/lib/esm/helpers/Window.js +20 -0
  107. package/lib/esm/helpers/Window.js.map +1 -0
  108. package/lib/esm/helpers/index.js +8 -0
  109. package/lib/esm/helpers/index.js.map +1 -0
  110. package/lib/esm/helpers/response/Banner.js +3 -0
  111. package/lib/esm/helpers/response/Banner.js.map +1 -0
  112. package/lib/esm/helpers/response/BuiltResponse.js +22 -0
  113. package/lib/esm/helpers/response/BuiltResponse.js.map +1 -0
  114. package/lib/esm/helpers/response/Carousel.js +273 -0
  115. package/lib/esm/helpers/response/Carousel.js.map +1 -0
  116. package/lib/esm/helpers/response/Clickthrough.js +20 -0
  117. package/lib/esm/helpers/response/Clickthrough.js.map +1 -0
  118. package/lib/esm/helpers/response/ProductCard.js +189 -0
  119. package/lib/esm/helpers/response/ProductCard.js.map +1 -0
  120. package/lib/esm/helpers/response/Video.js +3 -0
  121. package/lib/esm/helpers/response/Video.js.map +1 -0
  122. package/lib/esm/helpers/response/index.js +7 -0
  123. package/lib/esm/helpers/response/index.js.map +1 -0
  124. package/lib/esm/index.js +5 -3460
  125. package/lib/esm/index.js.map +1 -54
  126. package/lib/esm/models/dynamic/DynamicZone.js +11 -0
  127. package/lib/esm/models/dynamic/DynamicZone.js.map +1 -0
  128. package/lib/esm/models/dynamic/index.js +2 -0
  129. package/lib/esm/models/dynamic/index.js.map +1 -0
  130. package/lib/esm/models/index.js +6 -0
  131. package/lib/esm/models/index.js.map +1 -0
  132. package/lib/esm/models/retail/Configuration.js +9 -0
  133. package/lib/esm/models/retail/Configuration.js.map +1 -0
  134. package/lib/esm/models/retail/Product.js +3 -0
  135. package/lib/esm/models/retail/Product.js.map +1 -0
  136. package/lib/esm/models/retail/Recommended.js +2 -0
  137. package/lib/esm/models/retail/Recommended.js.map +1 -0
  138. package/lib/esm/models/retail/index.js +4 -0
  139. package/lib/esm/models/retail/index.js.map +1 -0
  140. package/lib/esm/models/rtb/BidRequest.js +17 -0
  141. package/lib/esm/models/rtb/BidRequest.js.map +1 -0
  142. package/lib/esm/models/rtb/BidResponse.js +2 -0
  143. package/lib/esm/models/rtb/BidResponse.js.map +1 -0
  144. package/lib/esm/models/rtb/NativeRequest.js +119 -0
  145. package/lib/esm/models/rtb/NativeRequest.js.map +1 -0
  146. package/lib/esm/models/rtb/NativeResponse.js +23 -0
  147. package/lib/esm/models/rtb/NativeResponse.js.map +1 -0
  148. package/lib/esm/models/rtb/index.js +5 -0
  149. package/lib/esm/models/rtb/index.js.map +1 -0
  150. package/lib/esm/models/tracking/Geo.js +2 -0
  151. package/lib/esm/models/tracking/Geo.js.map +1 -0
  152. package/lib/esm/models/tracking/index.js +2 -0
  153. package/lib/esm/models/tracking/index.js.map +1 -0
  154. package/lib/esm/models/vast/Vast.js +3 -0
  155. package/lib/esm/models/vast/Vast.js.map +1 -0
  156. package/lib/esm/models/vast/index.js +2 -0
  157. package/lib/esm/models/vast/index.js.map +1 -0
  158. package/lib/esm/services/Bidder.js +119 -0
  159. package/lib/esm/services/Bidder.js.map +1 -0
  160. package/lib/esm/services/Configuration.js +56 -0
  161. package/lib/esm/services/Configuration.js.map +1 -0
  162. package/lib/esm/services/Device.js +232 -0
  163. package/lib/esm/services/Device.js.map +1 -0
  164. package/lib/esm/services/Dynamic.js +120 -0
  165. package/lib/esm/services/Dynamic.js.map +1 -0
  166. package/lib/esm/services/Geo.js +30 -0
  167. package/lib/esm/services/Geo.js.map +1 -0
  168. package/lib/esm/services/Logger.js +52 -0
  169. package/lib/esm/services/Logger.js.map +1 -0
  170. package/lib/esm/services/Memoization.js +13 -0
  171. package/lib/esm/services/Memoization.js.map +1 -0
  172. package/lib/esm/services/Product.js +120 -0
  173. package/lib/esm/services/Product.js.map +1 -0
  174. package/lib/esm/services/Recommender.js +78 -0
  175. package/lib/esm/services/Recommender.js.map +1 -0
  176. package/lib/esm/services/Result.js +199 -0
  177. package/lib/esm/services/Result.js.map +1 -0
  178. package/lib/esm/services/Template.js +38 -0
  179. package/lib/esm/services/Template.js.map +1 -0
  180. package/lib/esm/services/index.js +12 -0
  181. package/lib/esm/services/index.js.map +1 -0
  182. package/lib/esm/services/mock/Bidder.js +2 -0
  183. package/lib/esm/services/mock/Bidder.js.map +1 -0
  184. package/lib/esm/services/mock/index.js +2 -0
  185. package/lib/esm/services/mock/index.js.map +1 -0
  186. package/lib/types/Api.d.ts +5 -5
  187. package/lib/types/helpers/Handlebars.d.ts +58 -15
  188. package/lib/types/helpers/NativeRequestBuilder.d.ts +1 -1
  189. package/lib/types/helpers/RequestBuilder.d.ts +1 -1
  190. package/lib/types/helpers/TryGet.d.ts +1 -1
  191. package/lib/types/helpers/Window.d.ts +2 -2
  192. package/lib/types/helpers/response/Banner.d.ts +1 -1
  193. package/lib/types/helpers/response/BuiltResponse.d.ts +1 -1
  194. package/lib/types/helpers/response/Carousel.d.ts +1 -1
  195. package/lib/types/helpers/response/Clickthrough.d.ts +1 -1
  196. package/lib/types/helpers/response/ProductCard.d.ts +3 -3
  197. package/lib/types/helpers/response/Video.d.ts +2 -2
  198. package/lib/types/services/Bidder.d.ts +3 -3
  199. package/lib/types/services/Configuration.d.ts +1 -1
  200. package/lib/types/services/Dynamic.d.ts +6 -6
  201. package/lib/types/services/Geo.d.ts +1 -1
  202. package/lib/types/services/Product.d.ts +1 -1
  203. package/lib/types/services/Template.d.ts +3 -3
  204. package/package.json +41 -33
  205. package/lib/index.js +0 -1
  206. package/lib/index.js.map +0 -1
  207. package/lib/types/constant-values/index.d.ts +0 -46
  208. package/lib/types/errors/index.d.ts +0 -3
  209. package/lib/types/helpers/generators/CollectN.d.ts +0 -2
  210. package/lib/types/helpers/generators/index.d.ts +0 -1
  211. package/lib/types/helpers/handlebars/index.d.ts +0 -119
  212. package/lib/types/helpers/requests/RequestBuilder.d.ts +0 -124
  213. package/lib/types/helpers/requests/SimpleBannerRequest.d.ts +0 -26
  214. package/lib/types/helpers/requests/index.d.ts +0 -2
  215. package/lib/types/helpers/responses/BuildBannerResponse.d.ts +0 -10
  216. package/lib/types/helpers/responses/BuildNativeResponse.d.ts +0 -21
  217. package/lib/types/helpers/responses/BuildVideoResponse.d.ts +0 -0
  218. package/lib/types/helpers/responses/ClickthroughHelpers.d.ts +0 -2
  219. package/lib/types/helpers/responses/VastHelpers.d.ts +0 -4
  220. package/lib/types/helpers/responses/index.d.ts +0 -4
  221. package/lib/types/middleware/DeviceMiddleware.d.ts +0 -3
  222. package/lib/types/middleware/GeoMiddleware.d.ts +0 -3
  223. package/lib/types/middleware/IdentityMiddleware.d.ts +0 -4
  224. package/lib/types/middleware/index.d.ts +0 -3
  225. package/lib/types/models/retail/IProductInformation.d.ts +0 -37
  226. package/lib/types/models/retail/IPublisherConfiguration.d.ts +0 -64
  227. package/lib/types/models/retail/IRecommenderResponse.d.ts +0 -10
  228. package/lib/types/models/rtb/IBidRequest.d.ts +0 -399
  229. package/lib/types/models/rtb/IBidResponse.d.ts +0 -47
  230. package/lib/types/models/rtb/native/Constants.d.ts +0 -60
  231. package/lib/types/models/rtb/native/INativeRequest.d.ts +0 -54
  232. package/lib/types/models/rtb/native/INativeResponse.d.ts +0 -60
  233. package/lib/types/models/rtb/native/NativeConstants.d.ts +0 -120
  234. package/lib/types/models/rtb/native/NativeRequestBuilder.d.ts +0 -158
  235. package/lib/types/models/rtb/native/index.d.ts +0 -4
  236. package/lib/types/models/tracking/IEvents.d.ts +0 -82
  237. package/lib/types/models/tracking/IGeoContext.d.ts +0 -14
  238. package/lib/types/models/tracking/IUserID.d.ts +0 -1
  239. package/lib/types/services/OverrideService.d.ts +0 -10
  240. package/lib/types/services/logger/ILoggerService.d.ts +0 -39
  241. package/lib/types/services/logger/LocalLoggerService.d.ts +0 -19
  242. package/lib/types/services/logger/index.d.ts +0 -2
  243. package/lib/types/services/product-feed/IProductFeedService.d.ts +0 -5
  244. package/lib/types/services/product-feed/SurfsideProductFeedService.d.ts +0 -11
  245. package/lib/types/services/product-feed/index.d.ts +0 -2
  246. package/lib/types/services/recommender/IRecommenderService.d.ts +0 -47
  247. package/lib/types/services/recommender/SurfsideRecommenderService.d.ts +0 -31
  248. package/lib/types/services/recommender/index.d.ts +0 -2
  249. package/lib/types/services/rtb/bidder/IBidderService.d.ts +0 -12
  250. package/lib/types/services/rtb/bidder/SurfsideBidderService.d.ts +0 -28
  251. package/lib/types/services/rtb/bidder/index.d.ts +0 -2
  252. package/lib/types/services/rtb/configuration/IConfigurationService.d.ts +0 -14
  253. package/lib/types/services/rtb/configuration/SurfsideConfigurationService.d.ts +0 -29
  254. package/lib/types/services/rtb/configuration/index.d.ts +0 -2
  255. package/lib/types/services/rtb/index.d.ts +0 -2
  256. package/lib/types/services/tracking/device/DeviceOverrideService.d.ts +0 -8
  257. package/lib/types/services/tracking/device/IDeviceService.d.ts +0 -4
  258. package/lib/types/services/tracking/device/SurfsideDeviceService.d.ts +0 -16
  259. package/lib/types/services/tracking/device/index.d.ts +0 -3
  260. package/lib/types/services/tracking/events/IEventService.d.ts +0 -5
  261. package/lib/types/services/tracking/events/SurfsideEventService.d.ts +0 -42
  262. package/lib/types/services/tracking/events/index.d.ts +0 -2
  263. package/lib/types/services/tracking/geo/GeoOverrideService.d.ts +0 -8
  264. package/lib/types/services/tracking/geo/IGeoService.d.ts +0 -12
  265. package/lib/types/services/tracking/geo/SurfsideGeoService.d.ts +0 -7
  266. package/lib/types/services/tracking/geo/index.d.ts +0 -3
  267. package/lib/types/services/tracking/index.d.ts +0 -4
  268. package/lib/types/services/tracking/user/IUserIDService.d.ts +0 -4
  269. package/lib/types/services/tracking/user/SurfsideUserIDService.d.ts +0 -7
  270. package/lib/types/services/tracking/user/UserOverrideService.d.ts +0 -8
  271. package/lib/types/services/tracking/user/index.d.ts +0 -3
  272. package/lib/types/utils/Protocol.d.ts +0 -1
  273. package/lib/types/utils/Rendering.d.ts +0 -44
  274. package/lib/types/utils/index.d.ts +0 -2
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Api.js","sourceRoot":"src/","sources":["Api.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ export const ConsumeN = (generator, n) => {
2
+ const consumed = [];
3
+ for (let i = 0; i < n; i++) {
4
+ const value = generator.next();
5
+ if (value.done === true) {
6
+ break;
7
+ }
8
+ consumed.push(value.value);
9
+ }
10
+ return consumed;
11
+ };
12
+ export const ConsumeAll = (generator) => {
13
+ const consumed = [];
14
+ for (const value of generator) {
15
+ consumed.push(value);
16
+ }
17
+ return consumed;
18
+ };
19
+ export const ConsumeNAsync = async (generator, n) => {
20
+ const consumed = [];
21
+ while (consumed.length < n) {
22
+ const result = await generator.next();
23
+ if (result.done === true) {
24
+ return [consumed, true];
25
+ }
26
+ consumed.push(result.value);
27
+ }
28
+ return [consumed, false];
29
+ };
30
+ export const ConsumeAllAsync = async (generator) => {
31
+ const consumed = [];
32
+ for await (const value of generator) {
33
+ consumed.push(value);
34
+ }
35
+ return consumed;
36
+ };
37
+ export function* GenerateArray(data) {
38
+ for (const t of data) {
39
+ yield t;
40
+ }
41
+ }
42
+ //# sourceMappingURL=Generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Generator.js","sourceRoot":"src/","sources":["helpers/Generator.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAI,SAAuB,EAAE,CAAS,EAAO,EAAE;IACnE,MAAM,QAAQ,GAAQ,EAAE,CAAC;IACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC;QAC/B,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;YACtB,MAAM;QACV,CAAC;QACD,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IACD,OAAO,QAAQ,CAAC;AACpB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG,CAAI,SAAuB,EAAO,EAAE;IAC1D,MAAM,QAAQ,GAAQ,EAAE,CAAC;IACzB,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE,CAAC;QAC5B,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;IACD,OAAO,QAAQ,CAAC;AACpB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,EAC9B,SAA4B,EAC5B,CAAS,EAC8B,EAAE;IACzC,MAAM,QAAQ,GAAQ,EAAE,CAAC;IACzB,OAAO,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,IAAI,EAAE,CAAC;QACtC,IAAI,MAAM,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;YACvB,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAC5B,CAAC;QACD,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IACD,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;AAC7B,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,EAAK,SAA4B,EAAgB,EAAE;IACnF,MAAM,QAAQ,GAAQ,EAAE,CAAC;IACzB,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,SAAS,EAAE,CAAC;QAClC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;IACD,OAAO,QAAQ,CAAC;AACpB,CAAC,CAAC;AAEF,MAAM,SAAS,CAAC,CAAC,aAAa,CAAI,IAAS;IACvC,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACnB,MAAM,CAAC,CAAC;IACZ,CAAC;AACL,CAAC"}
@@ -0,0 +1,294 @@
1
+ const DEFAULT_MAX_SLUG = 5;
2
+ /**
3
+ * Converts the passed string to a slug with the specified options. By default, the slug is hyphenated and only
4
+ * contains alphanumeric characters. You can pass a different hyphenation regex and a different drop regex to
5
+ * customize the slug. For example, {{slug "My Product Name"}} will return "my-product-name".
6
+ *
7
+ * To change which characters are converted to hyphens, you can pass a regular expression to the hyphenate option.
8
+ * For example, {{slug "My Product's Name" hyphenate="[\s']"}} will return "my-product-s-name".
9
+ * The default hyphenate regex is /[\s_\-,]/ig.
10
+ *
11
+ * To remove characters instead of hyphenate them, you can pass a regular expression to the drop option.
12
+ * For example, {{slug "My Product's Name" drop="[^A-Za-z0-9\s']"}} will return "my-product's-name".
13
+ * The default drop regex is /[^A-Za-z0-9\-]/ig.
14
+ *
15
+ * To limit the max number of hyphenated slug components returned, you can pass a length option.
16
+ * For example, {{slug "My Product's Name" length=2}} will return "my-product".
17
+ * The default length is 5.
18
+ * @group TemplateHelpers
19
+ * @param name The string to be slugified
20
+ * @param options The options object. Can take "hypenate", "drop", and "length" options.
21
+ * @returns The slugified string
22
+ */
23
+ export function slug(name, options) {
24
+ if (name === undefined || name === null || typeof (name) !== 'string') {
25
+ return '';
26
+ }
27
+ const hyphenate = options.hash.hyphenate !== undefined
28
+ ? new RegExp(options.hash.hyphenate, 'ig')
29
+ : /[\s_\-,]/ig;
30
+ const drop = options.hash.drop !== undefined
31
+ ? new RegExp(options.hash.drop, 'ig')
32
+ : /[^A-Za-z0-9-]/ig;
33
+ const dropBefore = options.hash.dropBefore !== undefined
34
+ ? new RegExp(options.hash.dropBefore)
35
+ : undefined;
36
+ const maxSlug = options.hash.length ?? DEFAULT_MAX_SLUG;
37
+ const separator = options.hash.separator ?? '-';
38
+ if (dropBefore !== undefined) {
39
+ name = name.replace(dropBefore, '');
40
+ }
41
+ return name
42
+ .replace(hyphenate, separator)
43
+ .replace(drop, '')
44
+ .toLowerCase()
45
+ .split(separator)
46
+ .slice(0, maxSlug)
47
+ .join(separator);
48
+ }
49
+ /**
50
+ * Converts the passed string to lowercase. For example, {{lower "My Product Name"}} will return "my product name".
51
+ * @group TemplateHelpers
52
+ * @param name The string to be converted to lowercase
53
+ * @returns A lowercase version of the passed string
54
+ */
55
+ export function lower(name) {
56
+ if (name === undefined || name === null || typeof (name) !== 'string') {
57
+ return '';
58
+ }
59
+ return name.toLowerCase();
60
+ }
61
+ export function upper(name) {
62
+ if (name === undefined || name === null || typeof (name) !== 'string') {
63
+ return '';
64
+ }
65
+ return name.toUpperCase();
66
+ }
67
+ /**
68
+ * Returns the path component of the URL at the specified position, 1-indexed
69
+ * For example, if the URL is "https://example.com/foo/bar", {{path 1}} will return "foo".
70
+ * @group TemplateHelpers
71
+ * @param position The position of the path component to return, 1-indexed
72
+ * @returns The path component at the specified position
73
+ */
74
+ export function path(position) {
75
+ if (position === 0 || position === undefined || position === null) {
76
+ return '';
77
+ }
78
+ const paths = window.location.pathname.split('/');
79
+ if (paths.length <= position) {
80
+ return '';
81
+ }
82
+ return paths[position];
83
+ }
84
+ /**
85
+ * A general-purpose string replacement tool - meant to behave like the Unix sed tool. Accepts a regex for
86
+ * search, and a replacement string. for example, if the input string is "hello world" and the search is
87
+ * ".*(world)" and the replacement string is "goodbye \1", the replaced string will be "goodbye world".
88
+ *
89
+ * Supports back references with numbered groups. i.e, \1, \2, \3 will insert the 1st, 2nd, and 3rd capture
90
+ * groups.
91
+ *
92
+ * There are also 3 transforms you can apply to the back references: \U, \L, and \I:
93
+ *
94
+ * \U{n} will replace the capture group with an uppercase version. For example \U1
95
+ *
96
+ * \L{n} will replace the capture group with a lowercase version. For example \L3
97
+ *
98
+ * \I{n} will replace the capture group with the first character of the capture group. For example \I5
99
+ * @group TemplateHelpers
100
+ * @param input The input string
101
+ * @param searchRegex The search pattern for the regular expression
102
+ * @param replacement The replacement string
103
+ * @returns
104
+ */
105
+ export function sed(input, searchRegex, replacement) {
106
+ return input.replace(new RegExp(searchRegex), (...args) => {
107
+ const END = -2;
108
+ const groups = args.slice(1, END); // Extract capture groups
109
+ let result = replacement;
110
+ // Replace backreferences (\1, \2, etc.)
111
+ result = result.replace(/\\(\d+)/g, (_, groupIndex) => groups[groupIndex - 1] ?? '');
112
+ // Support for \U (uppercase transformation)
113
+ result = result.replace(/\\U(\d+)/g, (_, groupIndex) => (groups[groupIndex - 1] ?? '').toUpperCase());
114
+ result = sedCommand(result, 'U', groups, str => str?.toUpperCase());
115
+ result = sedCommand(result, 'L', groups, str => str?.toLowerCase());
116
+ result = sedCommand(result, 'I', groups, str => str?.[0]);
117
+ return result ?? '';
118
+ });
119
+ }
120
+ /**
121
+ * Searches the input string for a simple string and replaces it with the replacement string. For example
122
+ * ```
123
+ * {{replace "hello world hello" "hello" "goodbye"}}
124
+ * ```
125
+ *
126
+ * returns "goodbye world goodbye"
127
+ *
128
+ * Optionally, you can pass `false` for the last parameter to only replace to first instance. i.e:
129
+ *
130
+ * ```
131
+ * {{replace "hello world hello" "hello" "goodbye" false}}
132
+ * ```
133
+ *
134
+ * Returns "goodbye world goodbye".
135
+ * @group TemplateHelpers
136
+ * @param input The string to be searched
137
+ * @param search The substring to replace
138
+ * @param replacement The string to replace it with
139
+ * @param all Whether or not to replace all matches of the string
140
+ * @returns
141
+ */
142
+ export function replace(input, search, replacement, all = true) {
143
+ if (input === null || input === undefined) {
144
+ return '';
145
+ }
146
+ if (search === null || search === undefined || replacement === null || replacement === undefined) {
147
+ return input;
148
+ }
149
+ if (all) {
150
+ return input.replaceAll(search, replacement);
151
+ }
152
+ return input.replace(search, replacement);
153
+ }
154
+ function sedCommand(input, char, groups, transform) {
155
+ if (input === undefined) {
156
+ return undefined;
157
+ }
158
+ return input.replace(new RegExp(`\\\\${char}(\\d+)`, 'g'), (_, groupIndex) => transform(groups[groupIndex - 1] ?? '') ?? '');
159
+ }
160
+ /**
161
+ * Returns the value of the specified query parameter from the URL, specified by key.
162
+ * For example, if the URL is "https://example.com?foo=bar", {{search "foo"}} will return "bar".
163
+ * @group TemplateHelpers
164
+ * @param name The name of the query parameter to return
165
+ * @returns The value of the query parameter, or an empty string if the parameter is not found
166
+ */
167
+ export function search(name) {
168
+ if (name?.length === undefined || name.length === 0) {
169
+ return '';
170
+ }
171
+ const search = window.location.search;
172
+ if (search.length === 0) {
173
+ return '';
174
+ }
175
+ const params = new URLSearchParams(search);
176
+ return params.get(name) ?? '';
177
+ }
178
+ /**
179
+ * Returns the first truthy argument, or an empty string if all arguments are falsy. Returns false for empty strings
180
+ * For example, {{coalesce false (eq "b" "d") c}} will return "c", because false is falsy, "b" is not equal to "d",
181
+ * and c is truthy.
182
+ * @group TemplateHelpers
183
+ * @returns The first truthy argument, or an empty string if all arguments are falsy
184
+ */
185
+ export function coalesce(...args) {
186
+ for (let i = 0; i < args.length - 1; i++) {
187
+ const arg = args[i];
188
+ if (arg !== null && arg !== undefined && arg !== '' && arg !== false) {
189
+ return arg;
190
+ }
191
+ }
192
+ return '';
193
+ }
194
+ /**
195
+ * Joins the passed arguments with the specified separator.
196
+ * For example, {{join "foo" "bar" "baz"}} will return "foo/bar/baz"..
197
+ *
198
+ * There is an optional "separator" argument that can be passed to change the separator. For example,
199
+ * {{join "foo" "bar" "baz" separator=","}} will return "foo,bar,baz".
200
+ * @group TemplateHelpers
201
+ * @returns The joined string
202
+ */
203
+ export function join(...args) {
204
+ const pargs = [...args].slice(0, args.length - 1);
205
+ const options = args[args.length - 1]; /* options is always the last argument */
206
+ const separator = options.hash.separator ?? '/';
207
+ return pargs
208
+ .filter(arg => arg !== undefined && arg !== null && arg !== '') /* filter out nulls and empties */
209
+ .join(separator);
210
+ }
211
+ /**
212
+ * Encodes the passed string for use in a URI component.
213
+ * @group TemplateHelpers
214
+ * @param component The string to encode
215
+ * @returns The encoded string, or an empty string if the component is falsy
216
+ */
217
+ export function uri(component) {
218
+ if (component?.length === undefined || component.length === 0) {
219
+ return '';
220
+ }
221
+ const encoded = encodeURIComponent(component);
222
+ return encoded.replaceAll('\'', '%27');
223
+ }
224
+ /**
225
+ * Returns true if the two passed arguments are equal (using javascript ===), false otherwise.
226
+ * @group TemplateHelpers
227
+ * @param a The first argument
228
+ * @param b The second argument
229
+ * @returns True if the two arguments are equal, false otherwise
230
+ */
231
+ export function eq(a, b) {
232
+ return a === b;
233
+ }
234
+ /**
235
+ * Returns true if either of the passed arguments are truthy, false otherwise.
236
+ * @group TemplateHelpers
237
+ * @param a The first argument
238
+ * @param b The second argument
239
+ * @returns True if either of the arguments are truthy, false otherwise
240
+ */
241
+ export function or(a, b) {
242
+ return Boolean(a) || Boolean(b);
243
+ }
244
+ /**
245
+ * Returns true if both of the passed arguments are truthy, false otherwise.
246
+ * @group TemplateHelpers
247
+ * @param a The first argument
248
+ * @param b The second argument
249
+ * @returns True if both of the arguments are truthy, false otherwise
250
+ */
251
+ export function and(a, b) {
252
+ return Boolean(a) && Boolean(b);
253
+ }
254
+ /**
255
+ * Returns true if the first argument is in the second argument (an array). Otherwise, returns false.
256
+ * If the second argument is not an array, or the array is empty, this will return false.
257
+ *
258
+ * The name of the helper is "in" but the name of the function is "isIn" because "in" is a reserved word in javascript.
259
+ * @group TemplateHelpers
260
+ * @param a The value to check
261
+ * @param b The array to check against
262
+ * @returns True if the value is in the array, false otherwise
263
+ */
264
+ export function isIn(a, b) {
265
+ if (b?.length === undefined || b.length === 0) {
266
+ return false;
267
+ }
268
+ return b.includes(a);
269
+ }
270
+ /**
271
+ * Returns an array of the passed arguments. Useful with the "in" helper
272
+ * @group TemplateHelpers
273
+ * @returns An array of the passed arguments
274
+ */
275
+ export function array(...args) {
276
+ return Array.from(args).slice(0, -1);
277
+ }
278
+ export const GetHelpers = () => ({
279
+ slug,
280
+ lower,
281
+ path,
282
+ sed,
283
+ replace,
284
+ search,
285
+ coalesce,
286
+ join,
287
+ get_first: coalesce,
288
+ uri,
289
+ or,
290
+ and,
291
+ isIn,
292
+ array
293
+ });
294
+ //# sourceMappingURL=Handlebars.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Handlebars.js","sourceRoot":"src/","sources":["helpers/Handlebars.ts"],"names":[],"mappings":"AACA,MAAM,gBAAgB,GAAW,CAAC,CAAC;AAEnC;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,IAAI,CAChB,IAAY,EACZ,OAQC;IAED,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,QAAQ,EAAE,CAAC;QACpE,OAAO,EAAE,CAAC;IACd,CAAC;IAED,MAAM,SAAS,GAAW,OAAO,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS;QAC1D,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC;QAC1C,CAAC,CAAC,YAAY,CAAC;IAEnB,MAAM,IAAI,GAAW,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS;QAChD,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC;QACrC,CAAC,CAAC,iBAAiB,CAAC;IAExB,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,UAAU,KAAK,SAAS;QACpD,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC;QACrC,CAAC,CAAC,SAAS,CAAC;IAEhB,MAAM,OAAO,GAAW,OAAO,CAAC,IAAI,CAAC,MAAM,IAAI,gBAAgB,CAAC;IAEhE,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,SAAS,IAAI,GAAG,CAAC;IAChD,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC3B,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IACxC,CAAC;IACD,OAAO,IAAI;SACN,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC;SAC7B,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;SACjB,WAAW,EAAE;SACb,KAAK,CAAC,SAAS,CAAC;SAChB,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC;SACjB,IAAI,CAAC,SAAS,CAAC,CAAC;AACzB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,KAAK,CAAC,IAAY;IAC9B,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,QAAQ,EAAE,CAAC;QACpE,OAAO,EAAE,CAAC;IACd,CAAC;IACD,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;AAC9B,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,IAAY;IAC9B,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,QAAQ,EAAE,CAAC;QACpE,OAAO,EAAE,CAAC;IACd,CAAC;IACD,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;AAC9B,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,IAAI,CAAC,QAAgB;IACjC,IAAI,QAAQ,KAAK,CAAC,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QAChE,OAAO,EAAE,CAAC;IACd,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAClD,IAAI,KAAK,CAAC,MAAM,IAAI,QAAQ,EAAE,CAAC;QAC3B,OAAO,EAAE,CAAC;IACd,CAAC;IACD,OAAO,KAAK,CAAC,QAAQ,CAAC,CAAC;AAC3B,CAAC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,GAAG,CAAC,KAAa,EAAE,WAAmB,EAAE,WAAmB;IACvE,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE;QACtD,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC;QACf,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAa,CAAC,CAAC,yBAAyB;QACxE,IAAI,MAAM,GAAuB,WAAW,CAAC;QAE7C,wCAAwC;QACxC,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAErF,4CAA4C;QAC5C,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,CACnD,CAAC,MAAM,CAAC,UAAU,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAC/C,CAAC;QAEF,MAAM,GAAG,UAAU,CAAC,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,WAAW,EAAE,CAAC,CAAC;QACpE,MAAM,GAAG,UAAU,CAAC,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,WAAW,EAAE,CAAC,CAAC;QACpE,MAAM,GAAG,UAAU,CAAC,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAE1D,OAAO,MAAM,IAAI,EAAE,CAAC;IACxB,CAAC,CAAC,CAAC;AACP,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,OAAO,CAAC,KAAa,EAAE,MAAc,EAAE,WAAmB,EAAE,MAAe,IAAI;IAC3F,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxC,OAAO,EAAE,CAAC;IACd,CAAC;IACD,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,SAAS,IAAI,WAAW,KAAK,IAAI,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC/F,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,IAAI,GAAG,EAAE,CAAC;QACN,OAAO,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACjD,CAAC;IACD,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;AAC9C,CAAC;AAED,SAAS,UAAU,CACf,KAAyB,EACzB,IAAY,EACZ,MAAgB,EAChB,SAA4D;IAE5D,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACtB,OAAO,SAAS,CAAC;IACrB,CAAC;IACD,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,IAAI,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,CACzE,SAAS,CAAC,MAAM,CAAC,UAAU,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAChD,CAAC;AACN,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,MAAM,CAAC,IAAY;IAC/B,IAAI,IAAI,EAAE,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAClD,OAAO,EAAE,CAAC;IACd,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;IACtC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,EAAE,CAAC;IACd,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,CAAC;IAC3C,OAAO,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;AAClC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,QAAQ,CAAC,GAAG,IAAW;IACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,EAAE,IAAI,GAAG,KAAK,KAAK,EAAE,CAAC;YACnE,OAAO,GAAG,CAAC;QACf,CAAC;IACL,CAAC;IACD,OAAO,EAAE,CAAC;AACd,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,IAAI,CAAC,GAAG,IAAW;IAC/B,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAClD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,yCAAyC;IAChF,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,SAAmB,IAAI,GAAG,CAAC;IAC1D,OAAO,KAAK;SACP,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,EAAE,CAAC,CAAC,kCAAkC;SACjG,IAAI,CAAC,SAAS,CAAC,CAAC;AACzB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,GAAG,CAAC,SAAiB;IACjC,IAAI,SAAS,EAAE,MAAM,KAAK,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5D,OAAO,EAAE,CAAC;IACd,CAAC;IACD,MAAM,OAAO,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;IAC9C,OAAO,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AAC3C,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,EAAE,CAAC,CAAM,EAAE,CAAM;IAC7B,OAAO,CAAC,KAAK,CAAC,CAAC;AACnB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,EAAE,CAAC,CAAM,EAAE,CAAM;IAC7B,OAAO,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;AACpC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,GAAG,CAAC,CAAM,EAAE,CAAM;IAC9B,OAAO,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;AACpC,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,IAAI,CAAC,CAAM,EAAE,CAAQ;IACjC,IAAI,CAAC,EAAE,MAAM,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5C,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;AACzB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,KAAK,CAAC,GAAG,IAAW;IAChC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AACzC,CAAC;AAOD,MAAM,CAAC,MAAM,UAAU,GAAG,GAAsB,EAAE,CAAC,CAAC;IAChD,IAAI;IACJ,KAAK;IACL,IAAI;IACJ,GAAG;IACH,OAAO;IACP,MAAM;IACN,QAAQ;IACR,IAAI;IACJ,SAAS,EAAE,QAAQ;IACnB,GAAG;IACH,EAAE;IACF,GAAG;IACH,IAAI;IACJ,KAAK;CACR,CAAC,CAAC"}
@@ -0,0 +1,169 @@
1
+ import { ContextSubTypes, ContextTypes, EventTrackingMethods, EventTypes, NativeAssetId, NativeDataTypes, PlacementTypes, } from '../models';
2
+ import { Ctx } from '../services';
3
+ const DEFAULT_LENGTH = 80;
4
+ const VAST_3_0 = 3;
5
+ ;
6
+ const builderWithVer = (logger, state, ver) => {
7
+ logger?.debug('Adding version to native request', ver);
8
+ return botsBuildBots(logger, { ...state, ver });
9
+ };
10
+ const builderWithContext = (logger, state, context) => {
11
+ logger?.debug('Adding context to native request', context);
12
+ return botsBuildBots(logger, { ...state, context });
13
+ };
14
+ const builderWithContextSubType = (logger, state, contextSubType) => {
15
+ logger?.debug('Adding context subtype to native request', contextSubType);
16
+ return botsBuildBots(logger, { ...state, contextSubType });
17
+ };
18
+ const builderWithPlacementType = (logger, state, placementType) => {
19
+ logger?.debug('Adding placement type to native request', placementType);
20
+ return botsBuildBots(logger, { ...state, placementType });
21
+ };
22
+ const builderWithTitle = (logger, state, length = DEFAULT_LENGTH, required = true) => {
23
+ logger?.debug('Adding title to native request', length, required);
24
+ return botsBuildBots(logger, {
25
+ ...state,
26
+ assets: [
27
+ ...state.assets,
28
+ {
29
+ id: NativeAssetId.Title,
30
+ required: required ? 1 : 0,
31
+ title: {
32
+ len: length
33
+ }
34
+ }
35
+ ]
36
+ });
37
+ };
38
+ const builderWithImage = (logger, state, width, height, minWidth, minHeight, required = true) => {
39
+ logger?.debug('Adding image to native request', width, height, minWidth, minHeight, required);
40
+ return botsBuildBots(logger, {
41
+ ...state,
42
+ assets: [
43
+ ...state.assets,
44
+ {
45
+ id: NativeAssetId.Image,
46
+ required: required ? 1 : 0,
47
+ img: {
48
+ w: width,
49
+ h: height,
50
+ wmin: minWidth,
51
+ hmin: minHeight
52
+ }
53
+ }
54
+ ]
55
+ });
56
+ };
57
+ const builderWithVideo = (logger, state, mimes, minDuration, maxDuration, required = true) => {
58
+ logger?.debug('Adding video to native request', mimes, minDuration, maxDuration, required);
59
+ return botsBuildBots(logger, {
60
+ ...state,
61
+ assets: [
62
+ ...state.assets,
63
+ {
64
+ id: NativeAssetId.Video,
65
+ required: required ? 1 : 0,
66
+ video: {
67
+ mimes,
68
+ minduration: minDuration,
69
+ maxduration: maxDuration,
70
+ protocols: [VAST_3_0]
71
+ }
72
+ }
73
+ ]
74
+ });
75
+ };
76
+ const builderWithData = (logger, state, type, id, length = DEFAULT_LENGTH, required = true) => {
77
+ logger?.debug('Adding data to request', type, id, length, required);
78
+ return botsBuildBots(logger, {
79
+ ...state,
80
+ assets: [
81
+ ...state.assets,
82
+ {
83
+ id,
84
+ required: required ? 1 : 0,
85
+ data: {
86
+ type,
87
+ len: length
88
+ }
89
+ }
90
+ ]
91
+ });
92
+ };
93
+ const passToData = (type, id) => (logger, state, length = DEFAULT_LENGTH, required = true) => builderWithData(logger, state, type, id, length, required);
94
+ const builderWithSponsored = passToData(NativeDataTypes.Sponsored, NativeAssetId.Sponsored);
95
+ const builderWithDescription = passToData(NativeDataTypes.Desc, NativeAssetId.Desc);
96
+ const builderWithRating = passToData(NativeDataTypes.Rating, NativeAssetId.Rating);
97
+ const builderWithPrice = passToData(NativeDataTypes.Price, NativeAssetId.Price);
98
+ const builderWithSalePrice = passToData(NativeDataTypes.SalePrice, NativeAssetId.SalePrice);
99
+ const builderWithDisplayURL = passToData(NativeDataTypes.DisplayURL, NativeAssetId.DisplayURL);
100
+ const builderWithCTAText = passToData(NativeDataTypes.CTAText, NativeAssetId.CTAText);
101
+ const builderWithCategory = passToData(NativeDataTypes.SurfCategory, NativeAssetId.SurfCategory);
102
+ const builderWithTHC = passToData(NativeDataTypes.SurfTHC, NativeAssetId.SurfTHC);
103
+ const builderWithCBD = passToData(NativeDataTypes.SurfCBD, NativeAssetId.SurfCBD);
104
+ const builderWithStrain = passToData(NativeDataTypes.SurfStrain, NativeAssetId.SurfStrain);
105
+ const builderWithMetaProduct = passToData(NativeDataTypes.SurfMetaProduct, NativeAssetId.SurfMetaBrand);
106
+ const builderWithEventTracker = (logger, state, event, methods) => {
107
+ logger?.debug('Adding event tracker to big request');
108
+ return botsBuildBots(logger, {
109
+ ...state,
110
+ eventTrackers: [
111
+ ...state.eventTrackers,
112
+ {
113
+ event,
114
+ methods
115
+ }
116
+ ]
117
+ });
118
+ };
119
+ const builderBuild = (logger, state) => {
120
+ logger?.debug('Building bid request', state);
121
+ return {
122
+ ver: state.ver,
123
+ context: state.context,
124
+ contextsubtype: state.contextSubType,
125
+ assets: state.assets,
126
+ eventtrackers: state.eventTrackers
127
+ };
128
+ };
129
+ const botsBuildBots = (logger, state) => ({
130
+ withVer: builderWithVer.bind(undefined, logger, state),
131
+ withContext: builderWithContext.bind(undefined, logger, state),
132
+ withContextSubType: builderWithContextSubType.bind(undefined, logger, state),
133
+ withPlacementType: builderWithPlacementType.bind(undefined, logger, state),
134
+ withTitle: builderWithTitle.bind(undefined, logger, state),
135
+ withImage: builderWithImage.bind(undefined, logger, state),
136
+ withVideo: builderWithVideo.bind(undefined, logger, state),
137
+ withData: builderWithData.bind(undefined, logger, state),
138
+ withSponsored: builderWithSponsored.bind(undefined, logger, state),
139
+ withDescription: builderWithDescription.bind(undefined, logger, state),
140
+ withRating: builderWithRating.bind(undefined, logger, state),
141
+ withPrice: builderWithPrice.bind(undefined, logger, state),
142
+ withSalePrice: builderWithSalePrice.bind(undefined, logger, state),
143
+ withDisplayURL: builderWithDisplayURL.bind(undefined, logger, state),
144
+ withCTAText: builderWithCTAText.bind(undefined, logger, state),
145
+ withCategory: builderWithCategory.bind(undefined, logger, state),
146
+ withTHC: builderWithTHC.bind(undefined, logger, state),
147
+ withCBD: builderWithCBD.bind(undefined, logger, state),
148
+ withStrain: builderWithStrain.bind(undefined, logger, state),
149
+ withMetaProduct: builderWithMetaProduct.bind(undefined, logger, state),
150
+ withEventTracker: builderWithEventTracker.bind(undefined, logger, state),
151
+ build: builderBuild.bind(undefined, logger, state)
152
+ });
153
+ export const StartNative = (logger) => {
154
+ const log = Ctx(logger)?.with('StartNative');
155
+ return botsBuildBots(log, {
156
+ assets: [],
157
+ eventTrackers: []
158
+ });
159
+ };
160
+ export const DefaultNative = (logger) => {
161
+ const log = Ctx(logger)?.with('DefaultNative');
162
+ return StartNative(log)
163
+ .withVer('1.2')
164
+ .withContext(ContextTypes.Product)
165
+ .withContextSubType(ContextSubTypes.Product)
166
+ .withPlacementType(PlacementTypes.InFeed)
167
+ .withEventTracker(EventTypes.Imp, [EventTrackingMethods.Img, EventTrackingMethods.Img]);
168
+ };
169
+ //# sourceMappingURL=NativeRequestBuilder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NativeRequestBuilder.js","sourceRoot":"src/","sources":["helpers/NativeRequestBuilder.ts"],"names":[],"mappings":"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"}