@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,174 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DefaultNative = exports.StartNative = void 0;
4
+ const models_1 = require("../models");
5
+ const services_1 = require("../services");
6
+ const DEFAULT_LENGTH = 80;
7
+ const VAST_3_0 = 3;
8
+ ;
9
+ const builderWithVer = (logger, state, ver) => {
10
+ logger?.debug('Adding version to native request', ver);
11
+ return botsBuildBots(logger, { ...state, ver });
12
+ };
13
+ const builderWithContext = (logger, state, context) => {
14
+ logger?.debug('Adding context to native request', context);
15
+ return botsBuildBots(logger, { ...state, context });
16
+ };
17
+ const builderWithContextSubType = (logger, state, contextSubType) => {
18
+ logger?.debug('Adding context subtype to native request', contextSubType);
19
+ return botsBuildBots(logger, { ...state, contextSubType });
20
+ };
21
+ const builderWithPlacementType = (logger, state, placementType) => {
22
+ logger?.debug('Adding placement type to native request', placementType);
23
+ return botsBuildBots(logger, { ...state, placementType });
24
+ };
25
+ const builderWithTitle = (logger, state, length = DEFAULT_LENGTH, required = true) => {
26
+ logger?.debug('Adding title to native request', length, required);
27
+ return botsBuildBots(logger, {
28
+ ...state,
29
+ assets: [
30
+ ...state.assets,
31
+ {
32
+ id: models_1.NativeAssetId.Title,
33
+ required: required ? 1 : 0,
34
+ title: {
35
+ len: length
36
+ }
37
+ }
38
+ ]
39
+ });
40
+ };
41
+ const builderWithImage = (logger, state, width, height, minWidth, minHeight, required = true) => {
42
+ logger?.debug('Adding image to native request', width, height, minWidth, minHeight, required);
43
+ return botsBuildBots(logger, {
44
+ ...state,
45
+ assets: [
46
+ ...state.assets,
47
+ {
48
+ id: models_1.NativeAssetId.Image,
49
+ required: required ? 1 : 0,
50
+ img: {
51
+ w: width,
52
+ h: height,
53
+ wmin: minWidth,
54
+ hmin: minHeight
55
+ }
56
+ }
57
+ ]
58
+ });
59
+ };
60
+ const builderWithVideo = (logger, state, mimes, minDuration, maxDuration, required = true) => {
61
+ logger?.debug('Adding video to native request', mimes, minDuration, maxDuration, required);
62
+ return botsBuildBots(logger, {
63
+ ...state,
64
+ assets: [
65
+ ...state.assets,
66
+ {
67
+ id: models_1.NativeAssetId.Video,
68
+ required: required ? 1 : 0,
69
+ video: {
70
+ mimes,
71
+ minduration: minDuration,
72
+ maxduration: maxDuration,
73
+ protocols: [VAST_3_0]
74
+ }
75
+ }
76
+ ]
77
+ });
78
+ };
79
+ const builderWithData = (logger, state, type, id, length = DEFAULT_LENGTH, required = true) => {
80
+ logger?.debug('Adding data to request', type, id, length, required);
81
+ return botsBuildBots(logger, {
82
+ ...state,
83
+ assets: [
84
+ ...state.assets,
85
+ {
86
+ id,
87
+ required: required ? 1 : 0,
88
+ data: {
89
+ type,
90
+ len: length
91
+ }
92
+ }
93
+ ]
94
+ });
95
+ };
96
+ const passToData = (type, id) => (logger, state, length = DEFAULT_LENGTH, required = true) => builderWithData(logger, state, type, id, length, required);
97
+ const builderWithSponsored = passToData(models_1.NativeDataTypes.Sponsored, models_1.NativeAssetId.Sponsored);
98
+ const builderWithDescription = passToData(models_1.NativeDataTypes.Desc, models_1.NativeAssetId.Desc);
99
+ const builderWithRating = passToData(models_1.NativeDataTypes.Rating, models_1.NativeAssetId.Rating);
100
+ const builderWithPrice = passToData(models_1.NativeDataTypes.Price, models_1.NativeAssetId.Price);
101
+ const builderWithSalePrice = passToData(models_1.NativeDataTypes.SalePrice, models_1.NativeAssetId.SalePrice);
102
+ const builderWithDisplayURL = passToData(models_1.NativeDataTypes.DisplayURL, models_1.NativeAssetId.DisplayURL);
103
+ const builderWithCTAText = passToData(models_1.NativeDataTypes.CTAText, models_1.NativeAssetId.CTAText);
104
+ const builderWithCategory = passToData(models_1.NativeDataTypes.SurfCategory, models_1.NativeAssetId.SurfCategory);
105
+ const builderWithTHC = passToData(models_1.NativeDataTypes.SurfTHC, models_1.NativeAssetId.SurfTHC);
106
+ const builderWithCBD = passToData(models_1.NativeDataTypes.SurfCBD, models_1.NativeAssetId.SurfCBD);
107
+ const builderWithStrain = passToData(models_1.NativeDataTypes.SurfStrain, models_1.NativeAssetId.SurfStrain);
108
+ const builderWithMetaProduct = passToData(models_1.NativeDataTypes.SurfMetaProduct, models_1.NativeAssetId.SurfMetaBrand);
109
+ const builderWithEventTracker = (logger, state, event, methods) => {
110
+ logger?.debug('Adding event tracker to big request');
111
+ return botsBuildBots(logger, {
112
+ ...state,
113
+ eventTrackers: [
114
+ ...state.eventTrackers,
115
+ {
116
+ event,
117
+ methods
118
+ }
119
+ ]
120
+ });
121
+ };
122
+ const builderBuild = (logger, state) => {
123
+ logger?.debug('Building bid request', state);
124
+ return {
125
+ ver: state.ver,
126
+ context: state.context,
127
+ contextsubtype: state.contextSubType,
128
+ assets: state.assets,
129
+ eventtrackers: state.eventTrackers
130
+ };
131
+ };
132
+ const botsBuildBots = (logger, state) => ({
133
+ withVer: builderWithVer.bind(undefined, logger, state),
134
+ withContext: builderWithContext.bind(undefined, logger, state),
135
+ withContextSubType: builderWithContextSubType.bind(undefined, logger, state),
136
+ withPlacementType: builderWithPlacementType.bind(undefined, logger, state),
137
+ withTitle: builderWithTitle.bind(undefined, logger, state),
138
+ withImage: builderWithImage.bind(undefined, logger, state),
139
+ withVideo: builderWithVideo.bind(undefined, logger, state),
140
+ withData: builderWithData.bind(undefined, logger, state),
141
+ withSponsored: builderWithSponsored.bind(undefined, logger, state),
142
+ withDescription: builderWithDescription.bind(undefined, logger, state),
143
+ withRating: builderWithRating.bind(undefined, logger, state),
144
+ withPrice: builderWithPrice.bind(undefined, logger, state),
145
+ withSalePrice: builderWithSalePrice.bind(undefined, logger, state),
146
+ withDisplayURL: builderWithDisplayURL.bind(undefined, logger, state),
147
+ withCTAText: builderWithCTAText.bind(undefined, logger, state),
148
+ withCategory: builderWithCategory.bind(undefined, logger, state),
149
+ withTHC: builderWithTHC.bind(undefined, logger, state),
150
+ withCBD: builderWithCBD.bind(undefined, logger, state),
151
+ withStrain: builderWithStrain.bind(undefined, logger, state),
152
+ withMetaProduct: builderWithMetaProduct.bind(undefined, logger, state),
153
+ withEventTracker: builderWithEventTracker.bind(undefined, logger, state),
154
+ build: builderBuild.bind(undefined, logger, state)
155
+ });
156
+ const StartNative = (logger) => {
157
+ const log = (0, services_1.Ctx)(logger)?.with('StartNative');
158
+ return botsBuildBots(log, {
159
+ assets: [],
160
+ eventTrackers: []
161
+ });
162
+ };
163
+ exports.StartNative = StartNative;
164
+ const DefaultNative = (logger) => {
165
+ const log = (0, services_1.Ctx)(logger)?.with('DefaultNative');
166
+ return (0, exports.StartNative)(log)
167
+ .withVer('1.2')
168
+ .withContext(models_1.ContextTypes.Product)
169
+ .withContextSubType(models_1.ContextSubTypes.Product)
170
+ .withPlacementType(models_1.PlacementTypes.InFeed)
171
+ .withEventTracker(models_1.EventTypes.Imp, [models_1.EventTrackingMethods.Img, models_1.EventTrackingMethods.Img]);
172
+ };
173
+ exports.DefaultNative = DefaultNative;
174
+ //# 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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"}
@@ -0,0 +1,160 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.StartRequest = StartRequest;
4
+ const models_1 = require("../models");
5
+ const services_1 = require("../services");
6
+ const SURF_EID_SOURCE = 'surf-domain-id';
7
+ function StartRequest(logger, accountId, siteId, channelId, locationId, device, geo, userId, zoneId, id) {
8
+ const log = (0, services_1.Ctx)(logger)
9
+ ?.with('StartRequest')
10
+ .with(accountId)
11
+ .with(siteId)
12
+ .with(channelId)
13
+ .with(locationId)
14
+ .with(id);
15
+ log?.info('Starting request');
16
+ return botsBuildBots(logger, {
17
+ context: {
18
+ accountId,
19
+ siteId,
20
+ channelId,
21
+ locationId,
22
+ zoneId,
23
+ storeId: locationId,
24
+ placementId: zoneId
25
+ },
26
+ geo,
27
+ device,
28
+ id,
29
+ user: userId !== undefined
30
+ ? {
31
+ eids: [{
32
+ source: SURF_EID_SOURCE,
33
+ uids: [{
34
+ id: userId,
35
+ atype: models_1.AgentTypes.Session
36
+ }]
37
+ }]
38
+ }
39
+ : undefined,
40
+ imp: []
41
+ });
42
+ }
43
+ const builderWithUser = (logger, state, user) => {
44
+ logger?.debug('Adding user to request', user);
45
+ return botsBuildBots(logger, {
46
+ ...state,
47
+ user: {
48
+ ...user,
49
+ eids: [
50
+ ...(state.user?.eids !== undefined
51
+ ? state.user.eids
52
+ : []),
53
+ ...(user.eids !== undefined
54
+ ? user.eids
55
+ : [])
56
+ ]
57
+ }
58
+ });
59
+ };
60
+ const builderWithRegulations = (logger, state, regs) => {
61
+ logger?.debug('Added regulations to request', regs);
62
+ return botsBuildBots(logger, { ...state, regs });
63
+ };
64
+ const builderWithApp = (logger, state, app) => {
65
+ logger?.debug('Adding app to request');
66
+ return botsBuildBots(logger, { ...state, app });
67
+ };
68
+ const builderWithSite = (logger, state, site) => {
69
+ logger?.debug('Adding site to request');
70
+ return botsBuildBots(logger, { ...state, site });
71
+ };
72
+ const builderWithBanner = (logger, state, w, h, options, impOptions) => {
73
+ logger?.debug('Adding banner to request', w, h, options, impOptions);
74
+ const id = generateId();
75
+ return botsBuildImp(logger, state, {
76
+ id,
77
+ tagid: id,
78
+ banner: {
79
+ w,
80
+ h,
81
+ ...options
82
+ },
83
+ ...impOptions
84
+ });
85
+ };
86
+ const builderWithVideo = (logger, state, w, h, minduration, maxduration, mimes, options, impOptions) => {
87
+ logger?.debug('Adding video to request', w, h, minduration, maxduration, mimes, options, impOptions);
88
+ return botsBuildImp(logger, state, {
89
+ id: generateId(),
90
+ video: {
91
+ w,
92
+ h,
93
+ mimes: (mimes ?? ['video/mp4', 'video/webm']),
94
+ minduration,
95
+ maxduration,
96
+ ...options
97
+ },
98
+ ...impOptions
99
+ });
100
+ };
101
+ const builderWithKeywords = (logger, state, keywords) => {
102
+ logger?.debug('Adding keyword to request', keywords);
103
+ return botsBuildBots(logger, {
104
+ ...state,
105
+ context: {
106
+ ...state.context,
107
+ keywords
108
+ }
109
+ });
110
+ };
111
+ const builderWithNative = (logger, state, request, options, impOptions) => {
112
+ logger?.debug('Adding native to request', request, options, impOptions);
113
+ return typeof request === 'string'
114
+ ? builderWithNativeStr(logger, state, request, options, impOptions)
115
+ : builderWithNativeStr(logger, state, JSON.stringify(request), options, impOptions);
116
+ };
117
+ const builderWithNativeStr = (logger, state, request, options, impOptions) => botsBuildImp(logger, state, {
118
+ id: generateId(),
119
+ native: {
120
+ ver: '1.2',
121
+ request,
122
+ ...options
123
+ },
124
+ ...impOptions
125
+ });
126
+ const builderBuild = (logger, state) => {
127
+ logger?.debug('Building request', state);
128
+ return {
129
+ id: state.id ?? generateId(),
130
+ imp: state.imp.map(imp => ({
131
+ ...imp,
132
+ ext: { ...imp.ext, ...state.context }
133
+ })),
134
+ device: {
135
+ ...state.device,
136
+ geo: state.geo === undefined
137
+ ? undefined
138
+ : (0, services_1.GeoContextToORTB)(undefined, state.geo),
139
+ ip: state.geo?.ip
140
+ },
141
+ user: state.user,
142
+ app: state.app,
143
+ site: state.site,
144
+ ext: state.context
145
+ };
146
+ };
147
+ const botsBuildBots = (logger, state) => ({
148
+ withUser: builderWithUser.bind(undefined, logger, state),
149
+ withRegulations: builderWithRegulations.bind(undefined, logger, state),
150
+ withBanner: builderWithBanner.bind(undefined, logger, state),
151
+ withVideo: builderWithVideo.bind(undefined, logger, state),
152
+ withNative: builderWithNative.bind(undefined, logger, state),
153
+ withApp: builderWithApp.bind(undefined, logger, state),
154
+ withSite: builderWithSite.bind(undefined, logger, state),
155
+ withKeywords: builderWithKeywords.bind(undefined, logger, state),
156
+ build: builderBuild.bind(undefined, logger, state)
157
+ });
158
+ const botsBuildImp = (logger, state, imp) => botsBuildBots(logger, { ...state, imp: [...state.imp, imp] });
159
+ const generateId = () => crypto.randomUUID();
160
+ //# sourceMappingURL=RequestBuilder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RequestBuilder.js","sourceRoot":"src/","sources":["helpers/RequestBuilder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TryGet = void 0;
4
+ const services_1 = require("../services");
5
+ const TryGet = (get) => {
6
+ try {
7
+ return (0, services_1.Ok)(get());
8
+ }
9
+ catch (error) {
10
+ return (0, services_1.Err)(error);
11
+ }
12
+ };
13
+ exports.TryGet = TryGet;
14
+ //# sourceMappingURL=TryGet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TryGet.js","sourceRoot":"src/","sources":["helpers/TryGet.ts"],"names":[],"mappings":";;;AAAA,0CAAmD;AAE5C,MAAM,MAAM,GAAG,CAAI,GAAY,EAAa,EAAE;IACjD,IAAI,CAAC;QACD,OAAO,IAAA,aAAE,EAAC,GAAG,EAAE,CAAC,CAAC;IACrB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,IAAA,cAAG,EAAC,KAAc,CAAC,CAAC;IAC/B,CAAC;AACL,CAAC,CAAC;AANW,QAAA,MAAM,UAMjB"}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GetWindowInfo = void 0;
4
+ const Api_1 = require("../Api");
5
+ const services_1 = require("../services");
6
+ const GetWindowInfo = () => {
7
+ if ((typeof window) === 'undefined') {
8
+ return (0, services_1.Err)(new Api_1.NotABrowserError());
9
+ }
10
+ ;
11
+ return (0, services_1.Ok)({
12
+ href: window.location.href,
13
+ origin: window.location.origin,
14
+ port: window.location.port,
15
+ path: '/' + window.location.pathname.split('/').filter(part => part.length > 0).join('/'),
16
+ host: window.location.host,
17
+ host_name: window.location.hostname,
18
+ search: window.location.search,
19
+ hash: window.location.hash,
20
+ protocol: window.location.protocol
21
+ });
22
+ };
23
+ exports.GetWindowInfo = GetWindowInfo;
24
+ //# sourceMappingURL=Window.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Window.js","sourceRoot":"src/","sources":["helpers/Window.ts"],"names":[],"mappings":";;;AAAA,gCAA0C;AAE1C,0CAAmD;AAE5C,MAAM,aAAa,GAAG,GAA0C,EAAE;IACrE,IAAI,CAAC,OAAO,MAAM,CAAC,KAAK,WAAW,EAAE,CAAC;QAClC,OAAO,IAAA,cAAG,EAAC,IAAI,sBAAgB,EAAE,CAAC,CAAC;IACvC,CAAC;IAAA,CAAC;IACF,OAAO,IAAA,aAAE,EAAC;QACN,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI;QAC1B,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM;QAC9B,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI;QAC1B,IAAI,EAAE,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;QACzF,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI;QAC1B,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC,QAAQ;QACnC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM;QAC9B,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI;QAC1B,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,QAAQ;KACrC,CAAC,CAAC;AACP,CAAC,CAAC;AAfW,QAAA,aAAa,iBAexB"}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./NativeRequestBuilder"), exports);
18
+ __exportStar(require("./RequestBuilder"), exports);
19
+ __exportStar(require("./response"), exports);
20
+ __exportStar(require("./Handlebars"), exports);
21
+ __exportStar(require("./TryGet"), exports);
22
+ __exportStar(require("./Window"), exports);
23
+ __exportStar(require("./Generator"), exports);
24
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"src/","sources":["helpers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yDAAuC;AACvC,mDAAiC;AACjC,6CAA2B;AAC3B,+CAA6B;AAC7B,2CAAyB;AACzB,2CAAyB;AACzB,8CAA4B"}
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ ;
4
+ //# sourceMappingURL=Banner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Banner.js","sourceRoot":"src/","sources":["helpers/response/Banner.ts"],"names":[],"mappings":";;AAsBC,CAAC"}
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MissingProductError = exports.MissingAdmError = exports.CreativeType = void 0;
4
+ exports.CreativeType = {
5
+ Banner: 0,
6
+ Video: 1,
7
+ ProductCard: 2,
8
+ Carousel: 3
9
+ };
10
+ ;
11
+ class MissingAdmError extends Error {
12
+ bid;
13
+ constructor(bid) {
14
+ super('Cannot build creative; missing adm field');
15
+ this.bid = bid;
16
+ }
17
+ }
18
+ exports.MissingAdmError = MissingAdmError;
19
+ class MissingProductError extends Error {
20
+ bid;
21
+ constructor(bid) {
22
+ super('Could not find product data for creative while building clickthrough URL. Some data fields are missing');
23
+ this.bid = bid;
24
+ }
25
+ }
26
+ exports.MissingProductError = MissingProductError;
27
+ //# sourceMappingURL=BuiltResponse.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BuiltResponse.js","sourceRoot":"src/","sources":["helpers/response/BuiltResponse.ts"],"names":[],"mappings":";;;AAEa,QAAA,YAAY,GAAG;IACxB,MAAM,EAAE,CAAC;IACT,KAAK,EAAE,CAAC;IACR,WAAW,EAAE,CAAC;IACd,QAAQ,EAAE,CAAC;CACL,CAAC;AAiBV,CAAC;AAEF,MAAa,eAAgB,SAAQ,KAAK;IACV;IAA5B,YAA4B,GAAgB;QACxC,KAAK,CAAC,0CAA0C,CAAC,CAAC;QAD1B,QAAG,GAAH,GAAG,CAAa;IAE5C,CAAC;CACJ;AAJD,0CAIC;AAED,MAAa,mBAAoB,SAAQ,KAAK;IACd;IAA5B,YAA4B,GAAU;QAClC,KAAK,CAAC,wGAAwG,CAAC,CAAC;QADxF,QAAG,GAAH,GAAG,CAAO;IAEtC,CAAC;CACJ;AAJD,kDAIC"}