@surfside/ads-core 2.0.1

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 (122) hide show
  1. package/README.md +15 -0
  2. package/lib/cjs/index.js +3488 -0
  3. package/lib/cjs/index.js.map +54 -0
  4. package/lib/esm/index.js +3460 -0
  5. package/lib/esm/index.js.map +54 -0
  6. package/lib/index.js +1 -0
  7. package/lib/index.js.map +1 -0
  8. package/lib/types/Api.d.ts +169 -0
  9. package/lib/types/constant-values/index.d.ts +46 -0
  10. package/lib/types/errors/index.d.ts +3 -0
  11. package/lib/types/helpers/Generator.d.ts +5 -0
  12. package/lib/types/helpers/Handlebars.d.ts +124 -0
  13. package/lib/types/helpers/NativeRequestBuilder.d.ts +29 -0
  14. package/lib/types/helpers/RequestBuilder.d.ts +16 -0
  15. package/lib/types/helpers/TryGet.d.ts +2 -0
  16. package/lib/types/helpers/Window.d.ts +3 -0
  17. package/lib/types/helpers/generators/CollectN.d.ts +2 -0
  18. package/lib/types/helpers/generators/index.d.ts +1 -0
  19. package/lib/types/helpers/handlebars/index.d.ts +119 -0
  20. package/lib/types/helpers/index.d.ts +7 -0
  21. package/lib/types/helpers/requests/RequestBuilder.d.ts +124 -0
  22. package/lib/types/helpers/requests/SimpleBannerRequest.d.ts +26 -0
  23. package/lib/types/helpers/requests/index.d.ts +2 -0
  24. package/lib/types/helpers/response/Banner.d.ts +22 -0
  25. package/lib/types/helpers/response/BuiltResponse.d.ts +31 -0
  26. package/lib/types/helpers/response/Carousel.d.ts +51 -0
  27. package/lib/types/helpers/response/Clickthrough.d.ts +3 -0
  28. package/lib/types/helpers/response/ProductCard.d.ts +49 -0
  29. package/lib/types/helpers/response/Video.d.ts +17 -0
  30. package/lib/types/helpers/response/index.d.ts +6 -0
  31. package/lib/types/helpers/responses/BuildBannerResponse.d.ts +10 -0
  32. package/lib/types/helpers/responses/BuildNativeResponse.d.ts +21 -0
  33. package/lib/types/helpers/responses/BuildVideoResponse.d.ts +0 -0
  34. package/lib/types/helpers/responses/ClickthroughHelpers.d.ts +2 -0
  35. package/lib/types/helpers/responses/VastHelpers.d.ts +4 -0
  36. package/lib/types/helpers/responses/index.d.ts +4 -0
  37. package/lib/types/index.d.ts +4 -0
  38. package/lib/types/middleware/DeviceMiddleware.d.ts +3 -0
  39. package/lib/types/middleware/GeoMiddleware.d.ts +3 -0
  40. package/lib/types/middleware/IdentityMiddleware.d.ts +4 -0
  41. package/lib/types/middleware/index.d.ts +3 -0
  42. package/lib/types/models/dynamic/DynamicZone.d.ts +37 -0
  43. package/lib/types/models/dynamic/index.d.ts +1 -0
  44. package/lib/types/models/index.d.ts +5 -0
  45. package/lib/types/models/retail/Configuration.d.ts +66 -0
  46. package/lib/types/models/retail/IProductInformation.d.ts +37 -0
  47. package/lib/types/models/retail/IPublisherConfiguration.d.ts +64 -0
  48. package/lib/types/models/retail/IRecommenderResponse.d.ts +10 -0
  49. package/lib/types/models/retail/Product.d.ts +19 -0
  50. package/lib/types/models/retail/Recommended.d.ts +10 -0
  51. package/lib/types/models/retail/index.d.ts +3 -0
  52. package/lib/types/models/rtb/BidRequest.d.ts +409 -0
  53. package/lib/types/models/rtb/BidResponse.d.ts +47 -0
  54. package/lib/types/models/rtb/IBidRequest.d.ts +399 -0
  55. package/lib/types/models/rtb/IBidResponse.d.ts +47 -0
  56. package/lib/types/models/rtb/NativeRequest.d.ts +170 -0
  57. package/lib/types/models/rtb/NativeResponse.d.ts +60 -0
  58. package/lib/types/models/rtb/index.d.ts +4 -0
  59. package/lib/types/models/rtb/native/Constants.d.ts +60 -0
  60. package/lib/types/models/rtb/native/INativeRequest.d.ts +54 -0
  61. package/lib/types/models/rtb/native/INativeResponse.d.ts +60 -0
  62. package/lib/types/models/rtb/native/NativeConstants.d.ts +120 -0
  63. package/lib/types/models/rtb/native/NativeRequestBuilder.d.ts +158 -0
  64. package/lib/types/models/rtb/native/index.d.ts +4 -0
  65. package/lib/types/models/tracking/Geo.d.ts +14 -0
  66. package/lib/types/models/tracking/IEvents.d.ts +82 -0
  67. package/lib/types/models/tracking/IGeoContext.d.ts +14 -0
  68. package/lib/types/models/tracking/IUserID.d.ts +1 -0
  69. package/lib/types/models/tracking/index.d.ts +1 -0
  70. package/lib/types/models/vast/Vast.d.ts +47 -0
  71. package/lib/types/models/vast/index.d.ts +1 -0
  72. package/lib/types/services/Bidder.d.ts +31 -0
  73. package/lib/types/services/Configuration.d.ts +6 -0
  74. package/lib/types/services/Device.d.ts +12 -0
  75. package/lib/types/services/Dynamic.d.ts +26 -0
  76. package/lib/types/services/Geo.d.ts +6 -0
  77. package/lib/types/services/Logger.d.ts +14 -0
  78. package/lib/types/services/Memoization.d.ts +1 -0
  79. package/lib/types/services/OverrideService.d.ts +10 -0
  80. package/lib/types/services/Product.d.ts +13 -0
  81. package/lib/types/services/Recommender.d.ts +8 -0
  82. package/lib/types/services/Result.d.ts +57 -0
  83. package/lib/types/services/Template.d.ts +7 -0
  84. package/lib/types/services/index.d.ts +11 -0
  85. package/lib/types/services/logger/ILoggerService.d.ts +39 -0
  86. package/lib/types/services/logger/LocalLoggerService.d.ts +19 -0
  87. package/lib/types/services/logger/index.d.ts +2 -0
  88. package/lib/types/services/mock/Bidder.d.ts +1 -0
  89. package/lib/types/services/mock/index.d.ts +1 -0
  90. package/lib/types/services/product-feed/IProductFeedService.d.ts +5 -0
  91. package/lib/types/services/product-feed/SurfsideProductFeedService.d.ts +11 -0
  92. package/lib/types/services/product-feed/index.d.ts +2 -0
  93. package/lib/types/services/recommender/IRecommenderService.d.ts +47 -0
  94. package/lib/types/services/recommender/SurfsideRecommenderService.d.ts +31 -0
  95. package/lib/types/services/recommender/index.d.ts +2 -0
  96. package/lib/types/services/rtb/bidder/IBidderService.d.ts +12 -0
  97. package/lib/types/services/rtb/bidder/SurfsideBidderService.d.ts +28 -0
  98. package/lib/types/services/rtb/bidder/index.d.ts +2 -0
  99. package/lib/types/services/rtb/configuration/IConfigurationService.d.ts +14 -0
  100. package/lib/types/services/rtb/configuration/SurfsideConfigurationService.d.ts +29 -0
  101. package/lib/types/services/rtb/configuration/index.d.ts +2 -0
  102. package/lib/types/services/rtb/index.d.ts +2 -0
  103. package/lib/types/services/tracking/device/DeviceOverrideService.d.ts +8 -0
  104. package/lib/types/services/tracking/device/IDeviceService.d.ts +4 -0
  105. package/lib/types/services/tracking/device/SurfsideDeviceService.d.ts +16 -0
  106. package/lib/types/services/tracking/device/index.d.ts +3 -0
  107. package/lib/types/services/tracking/events/IEventService.d.ts +5 -0
  108. package/lib/types/services/tracking/events/SurfsideEventService.d.ts +42 -0
  109. package/lib/types/services/tracking/events/index.d.ts +2 -0
  110. package/lib/types/services/tracking/geo/GeoOverrideService.d.ts +8 -0
  111. package/lib/types/services/tracking/geo/IGeoService.d.ts +12 -0
  112. package/lib/types/services/tracking/geo/SurfsideGeoService.d.ts +7 -0
  113. package/lib/types/services/tracking/geo/index.d.ts +3 -0
  114. package/lib/types/services/tracking/index.d.ts +4 -0
  115. package/lib/types/services/tracking/user/IUserIDService.d.ts +4 -0
  116. package/lib/types/services/tracking/user/SurfsideUserIDService.d.ts +7 -0
  117. package/lib/types/services/tracking/user/UserOverrideService.d.ts +8 -0
  118. package/lib/types/services/tracking/user/index.d.ts +3 -0
  119. package/lib/types/utils/Protocol.d.ts +1 -0
  120. package/lib/types/utils/Rendering.d.ts +44 -0
  121. package/lib/types/utils/index.d.ts +2 -0
  122. package/package.json +34 -0
@@ -0,0 +1,409 @@
1
+ export interface IBrandVersion {
2
+ brand: string;
3
+ version?: string[];
4
+ ext?: any;
5
+ }
6
+ export interface IUserAgent {
7
+ browsers?: IBrandVersion[];
8
+ platform?: IBrandVersion;
9
+ mobile?: number;
10
+ architecture?: string;
11
+ bitness?: string;
12
+ model?: string;
13
+ source?: number;
14
+ ext?: any;
15
+ }
16
+ export declare const AgentTypes: {
17
+ readonly Session: 1;
18
+ readonly Device: 2;
19
+ readonly User: 3;
20
+ };
21
+ export interface IUid {
22
+ id: string;
23
+ atype?: number;
24
+ ext?: any;
25
+ }
26
+ export interface IEid {
27
+ source: string;
28
+ uids: IUid[];
29
+ ext?: any;
30
+ }
31
+ export interface ISupplyChainNode {
32
+ asi?: string;
33
+ sid?: string;
34
+ hp?: number;
35
+ rid?: string;
36
+ name?: string;
37
+ domain?: string;
38
+ ext?: any;
39
+ }
40
+ export interface ISupplyChain {
41
+ complete: number;
42
+ nodes: ISupplyChainNode[];
43
+ ver: string;
44
+ ext?: any;
45
+ }
46
+ export interface IChannel {
47
+ id?: string;
48
+ name?: string;
49
+ domain?: string;
50
+ ext?: any;
51
+ }
52
+ export interface INetwork {
53
+ id?: string;
54
+ name?: string;
55
+ domain?: string;
56
+ ext?: any;
57
+ }
58
+ export interface ISegment {
59
+ id?: string;
60
+ name?: string;
61
+ value?: string;
62
+ ext?: any;
63
+ }
64
+ export interface IData {
65
+ id?: string;
66
+ name?: string;
67
+ segment?: ISegment[];
68
+ ext?: any;
69
+ }
70
+ export interface IUser {
71
+ id?: string;
72
+ buyeruid?: string;
73
+ yob?: number;
74
+ gender?: string;
75
+ keywords?: string;
76
+ kwarray?: string[];
77
+ customdata?: string;
78
+ geo?: IGeo;
79
+ data?: IData[];
80
+ cconsent?: string;
81
+ eids?: IEid[];
82
+ ext?: any;
83
+ }
84
+ export interface IGeo {
85
+ lat?: number;
86
+ lon?: number;
87
+ type?: number;
88
+ accuracy?: number;
89
+ lastfix?: number;
90
+ ipservice?: number;
91
+ country?: string;
92
+ region?: string;
93
+ regionfips104?: string;
94
+ metro?: string;
95
+ city?: string;
96
+ zip?: string;
97
+ utcoffset?: number;
98
+ ext?: any;
99
+ }
100
+ export declare const AdCom10DeviceTypes: {
101
+ readonly Mobile: 1;
102
+ readonly PC: 2;
103
+ readonly CTV: 3;
104
+ readonly Phone: 4;
105
+ readonly Tablet: 5;
106
+ readonly Connected: 6;
107
+ readonly SetTop: 7;
108
+ readonly OOH: 8;
109
+ };
110
+ export interface IDevice {
111
+ ua?: string;
112
+ geo?: IGeo;
113
+ dnt?: number;
114
+ lmt?: number;
115
+ ip?: string;
116
+ ipv6?: string;
117
+ devicetype?: number;
118
+ make?: string;
119
+ model?: string;
120
+ os?: string;
121
+ osv?: string;
122
+ hwv?: string;
123
+ h?: number;
124
+ w?: number;
125
+ ppi?: number;
126
+ pxratio?: number;
127
+ js?: number;
128
+ geofetch?: number;
129
+ flashver?: string;
130
+ language?: string;
131
+ lanbg?: string;
132
+ carrier?: string;
133
+ mccmnc?: string;
134
+ connectiontype?: number;
135
+ ifa?: string;
136
+ didsha1?: string;
137
+ didmd5?: string;
138
+ dpidsha1?: string;
139
+ dpidmd5?: string;
140
+ macsha1?: string;
141
+ macmd5?: string;
142
+ ext?: any;
143
+ sua?: IUserAgent;
144
+ }
145
+ export interface IProducer {
146
+ id?: string;
147
+ name?: string;
148
+ cattax?: number[];
149
+ cat?: string[];
150
+ domain?: string;
151
+ ext?: any;
152
+ }
153
+ export interface IContent {
154
+ id?: string;
155
+ episode?: number;
156
+ title?: string;
157
+ series?: string;
158
+ season?: string;
159
+ artist?: string;
160
+ genre?: string;
161
+ album?: string;
162
+ isrc?: string;
163
+ producer?: IProducer;
164
+ url?: string;
165
+ cattax?: number[];
166
+ cat?: string[];
167
+ prodq?: number;
168
+ videoquality?: number;
169
+ context?: number;
170
+ contentrating?: string;
171
+ userrating?: string;
172
+ qagmediarating?: number;
173
+ keywords?: string;
174
+ kwarray?: string[];
175
+ livestream?: number;
176
+ sourcerelationship?: number;
177
+ len?: number;
178
+ language?: string;
179
+ langb?: string;
180
+ embeddable?: number;
181
+ data?: IData[];
182
+ network?: INetwork;
183
+ channel?: IChannel;
184
+ ext?: any;
185
+ }
186
+ export interface IPublisher {
187
+ id?: string;
188
+ name?: string;
189
+ cattax?: number[];
190
+ cat?: string[];
191
+ domain?: string;
192
+ ext?: any;
193
+ }
194
+ export interface IApp {
195
+ id?: string;
196
+ name?: string;
197
+ bundle?: string;
198
+ domain?: string;
199
+ storeurl?: string;
200
+ cat?: string[];
201
+ sectioncat?: string[];
202
+ pagecat?: string[];
203
+ ver?: string;
204
+ privacypolicy?: number;
205
+ paid?: number;
206
+ publisher?: IPublisher;
207
+ content?: IContent;
208
+ keywords?: string;
209
+ kwarray?: string[];
210
+ ext?: any;
211
+ }
212
+ export interface ISite {
213
+ id?: string;
214
+ name?: string;
215
+ domain?: string;
216
+ cat?: string[];
217
+ sectioncat?: string[];
218
+ pagecat?: string[];
219
+ page?: string;
220
+ ref?: string;
221
+ search?: string;
222
+ mobile?: number;
223
+ privacypolicy?: number;
224
+ publisher?: IPublisher;
225
+ content?: IContent;
226
+ keywords?: string;
227
+ kwarray?: string[];
228
+ ext?: any;
229
+ }
230
+ export interface IDeal {
231
+ id: string;
232
+ bidfloor: number;
233
+ bidfloorcur?: string;
234
+ at?: number;
235
+ wseat?: string[];
236
+ wadomain?: string[];
237
+ ext?: any;
238
+ }
239
+ export interface IPmp {
240
+ private_auction?: number;
241
+ deals?: IDeal[];
242
+ ext?: any;
243
+ }
244
+ export interface IFormat {
245
+ w?: number;
246
+ h?: number;
247
+ wratio?: number;
248
+ hratio?: number;
249
+ wmin?: number;
250
+ ext?: any;
251
+ }
252
+ export interface INative {
253
+ request: string;
254
+ ver?: string;
255
+ api?: number[];
256
+ battr?: number[];
257
+ ext?: any;
258
+ }
259
+ export interface IAudio {
260
+ mimes: string[];
261
+ minduration?: number;
262
+ maxduration?: number;
263
+ poddur?: number;
264
+ protocols?: number[];
265
+ startdelay?: number;
266
+ rqddurs?: number[];
267
+ podid?: string;
268
+ podseq?: number;
269
+ sequence?: number;
270
+ slotinpod?: number;
271
+ mincpmpersec?: number;
272
+ battr?: number[];
273
+ maxextended?: number;
274
+ minbitrate?: number;
275
+ maxbitrate?: number;
276
+ delivery?: number[];
277
+ companionad?: IBanner[];
278
+ api?: number[];
279
+ companiontype?: number[];
280
+ maxseq?: number;
281
+ feed?: number;
282
+ stitched?: number;
283
+ nvol?: number;
284
+ ext?: any;
285
+ }
286
+ export interface IVideo {
287
+ mimes: string[];
288
+ minduration?: number;
289
+ maxduration?: number;
290
+ startdelay?: number;
291
+ maxseq?: number;
292
+ poddur?: number;
293
+ protocols?: number[];
294
+ w?: number;
295
+ h?: number;
296
+ podid?: string;
297
+ podseq?: number;
298
+ rqddurs?: number[];
299
+ placement?: number;
300
+ linearity?: number;
301
+ skip?: number;
302
+ skipmin?: number;
303
+ skipafter?: number;
304
+ sequence?: number;
305
+ slotinpod?: number;
306
+ mincpmpersec?: number;
307
+ battr?: number[];
308
+ maxextended?: number;
309
+ minbitrate?: number;
310
+ maxbitrate?: number;
311
+ boxingallowed?: number;
312
+ playbackmethod?: number[];
313
+ playbackend?: number;
314
+ delivery?: number[];
315
+ pos?: number;
316
+ companionad?: IBanner[];
317
+ api?: number[];
318
+ companiontype?: number[];
319
+ ext?: any;
320
+ }
321
+ export interface IBanner {
322
+ format?: IFormat[];
323
+ w?: number;
324
+ h?: number;
325
+ btype?: number[];
326
+ battr?: number[];
327
+ pos?: number;
328
+ mimes?: string[];
329
+ topframe?: number;
330
+ expdir?: number[];
331
+ api?: number[];
332
+ id?: string;
333
+ ext?: any;
334
+ }
335
+ export interface IMetric {
336
+ type: string;
337
+ value: number;
338
+ vendor?: string;
339
+ ext?: any;
340
+ }
341
+ export interface IImp {
342
+ id: string;
343
+ metric?: IMetric[];
344
+ banner?: IBanner;
345
+ video?: IVideo;
346
+ audio?: IAudio;
347
+ native?: INative;
348
+ pmp?: IPmp;
349
+ displaymanager?: string;
350
+ displaymanagerver?: string;
351
+ instl?: number;
352
+ tagid?: string;
353
+ bidfloor?: number;
354
+ bidfloorcur?: string;
355
+ clickbrowser?: number;
356
+ secure?: number;
357
+ iframebuster?: string[];
358
+ rwdd?: number;
359
+ ssai?: number;
360
+ exp?: number;
361
+ ext?: ISurfExtension;
362
+ }
363
+ export interface IRegs {
364
+ coppa?: number;
365
+ ext?: any;
366
+ gdpr?: number;
367
+ us_privacy?: string;
368
+ }
369
+ export interface ISource {
370
+ fd?: number;
371
+ tid?: string;
372
+ pchain?: string;
373
+ schain?: ISupplyChain;
374
+ ext?: any;
375
+ }
376
+ export interface IBidRequest {
377
+ id: string;
378
+ imp: IImp[];
379
+ site?: ISite;
380
+ app?: IApp;
381
+ device?: IDevice;
382
+ user?: IUser;
383
+ test?: number;
384
+ at?: number;
385
+ tmax?: number;
386
+ wseat?: string[];
387
+ bseat?: string[];
388
+ allimps?: number;
389
+ cur?: string[];
390
+ wlang?: string[];
391
+ wlangb?: string[];
392
+ bcat?: string[];
393
+ cattax?: number[];
394
+ badv?: string[];
395
+ bapp?: string[];
396
+ source?: ISource;
397
+ regs?: IRegs;
398
+ ext?: ISurfExtension;
399
+ }
400
+ export interface ISurfExtension {
401
+ accountId: string;
402
+ siteId: string;
403
+ channelId: string;
404
+ locationId: string;
405
+ zoneId: string;
406
+ storeId: string;
407
+ placementId: string;
408
+ keywords?: string[];
409
+ }
@@ -0,0 +1,47 @@
1
+ export interface IBid {
2
+ id: string;
3
+ impid: string;
4
+ price: number;
5
+ nurl?: string;
6
+ burl?: string;
7
+ lurl?: string;
8
+ adm?: string;
9
+ adid?: string;
10
+ adomain?: string[];
11
+ bundle?: string;
12
+ iurl?: string;
13
+ cid?: string;
14
+ crid?: string;
15
+ tactic?: string;
16
+ cattax?: number;
17
+ cat?: string[];
18
+ attr?: number[];
19
+ api?: number;
20
+ protocol?: number;
21
+ qagmediarating?: number;
22
+ language?: string;
23
+ dealid?: string;
24
+ w?: number;
25
+ h?: number;
26
+ wratio?: number;
27
+ hratio?: number;
28
+ exp?: number;
29
+ ext?: any;
30
+ dur?: number;
31
+ mtype?: number;
32
+ slotinpid?: number;
33
+ }
34
+ export interface ISeatBid {
35
+ bid: IBid[];
36
+ seat?: string;
37
+ group?: number;
38
+ ext?: any;
39
+ }
40
+ export interface IBidResponse {
41
+ id: string;
42
+ seatbid?: ISeatBid[];
43
+ bidid?: string;
44
+ cur?: string;
45
+ nbr?: number;
46
+ ext?: any;
47
+ }