@surfside/ads 3.6.0-327321ef.0 → 3.6.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.
- package/package.json +10 -10
- package/lib/cjs/BuildInfo.js +0 -9
- package/lib/cjs/BuildInfo.js.map +0 -1
- package/lib/cjs/Constants.js +0 -5
- package/lib/cjs/Constants.js.map +0 -1
- package/lib/cjs/Init.js +0 -130
- package/lib/cjs/Init.js.map +0 -1
- package/lib/cjs/components/Banner.js +0 -135
- package/lib/cjs/components/Banner.js.map +0 -1
- package/lib/cjs/components/Card.js +0 -162
- package/lib/cjs/components/Card.js.map +0 -1
- package/lib/cjs/components/Carousel.js +0 -241
- package/lib/cjs/components/Carousel.js.map +0 -1
- package/lib/cjs/components/Creative.js +0 -203
- package/lib/cjs/components/Creative.js.map +0 -1
- package/lib/cjs/components/Dynamic.js +0 -300
- package/lib/cjs/components/Dynamic.js.map +0 -1
- package/lib/cjs/components/SimpleCreative.js +0 -75
- package/lib/cjs/components/SimpleCreative.js.map +0 -1
- package/lib/cjs/components/Video.js +0 -134
- package/lib/cjs/components/Video.js.map +0 -1
- package/lib/cjs/demo/test.js +0 -7
- package/lib/cjs/demo/test.js.map +0 -1
- package/lib/cjs/index.module.js +0 -107
- package/lib/cjs/index.module.js.map +0 -1
- package/lib/cjs/index.script.js +0 -102
- package/lib/cjs/index.script.js.map +0 -1
- package/lib/cjs/index.script.mock.js +0 -154
- package/lib/cjs/index.script.mock.js.map +0 -1
- package/lib/cjs/service/Init.js +0 -3
- package/lib/cjs/service/Init.js.map +0 -1
- package/lib/cjs/util/Attributes.js +0 -93
- package/lib/cjs/util/Attributes.js.map +0 -1
- package/lib/cjs/util/Types.js +0 -3
- package/lib/cjs/util/Types.js.map +0 -1
- package/lib/esm/BuildInfo.js +0 -6
- package/lib/esm/BuildInfo.js.map +0 -1
- package/lib/esm/Constants.js +0 -2
- package/lib/esm/Constants.js.map +0 -1
- package/lib/esm/Init.js +0 -92
- package/lib/esm/Init.js.map +0 -1
- package/lib/esm/components/Banner.js +0 -131
- package/lib/esm/components/Banner.js.map +0 -1
- package/lib/esm/components/Card.js +0 -158
- package/lib/esm/components/Card.js.map +0 -1
- package/lib/esm/components/Carousel.js +0 -237
- package/lib/esm/components/Carousel.js.map +0 -1
- package/lib/esm/components/Creative.js +0 -198
- package/lib/esm/components/Creative.js.map +0 -1
- package/lib/esm/components/Dynamic.js +0 -296
- package/lib/esm/components/Dynamic.js.map +0 -1
- package/lib/esm/components/SimpleCreative.js +0 -69
- package/lib/esm/components/SimpleCreative.js.map +0 -1
- package/lib/esm/components/Video.js +0 -130
- package/lib/esm/components/Video.js.map +0 -1
- package/lib/esm/demo/test.js +0 -5
- package/lib/esm/demo/test.js.map +0 -1
- package/lib/esm/index.module.js +0 -67
- package/lib/esm/index.module.js.map +0 -1
- package/lib/esm/index.script.js +0 -100
- package/lib/esm/index.script.js.map +0 -1
- package/lib/esm/index.script.mock.js +0 -152
- package/lib/esm/index.script.mock.js.map +0 -1
- package/lib/esm/service/Init.js +0 -2
- package/lib/esm/service/Init.js.map +0 -1
- package/lib/esm/util/Attributes.js +0 -81
- package/lib/esm/util/Attributes.js.map +0 -1
- package/lib/esm/util/Types.js +0 -2
- package/lib/esm/util/Types.js.map +0 -1
- package/lib/types/BuildInfo.d.ts +0 -5
- package/lib/types/Constants.d.ts +0 -1
- package/lib/types/Init.d.ts +0 -31
- package/lib/types/components/Banner.d.ts +0 -18
- package/lib/types/components/Card.d.ts +0 -17
- package/lib/types/components/Carousel.d.ts +0 -31
- package/lib/types/components/Creative.d.ts +0 -65
- package/lib/types/components/Dynamic.d.ts +0 -23
- package/lib/types/components/SimpleCreative.d.ts +0 -19
- package/lib/types/components/Video.d.ts +0 -22
- package/lib/types/demo/test.d.ts +0 -1
- package/lib/types/index.module.d.ts +0 -12
- package/lib/types/index.script.d.ts +0 -1
- package/lib/types/index.script.mock.d.ts +0 -1
- package/lib/types/service/Init.d.ts +0 -1
- package/lib/types/util/Attributes.d.ts +0 -24
- package/lib/types/util/Types.d.ts +0 -3
|
@@ -1,130 +0,0 @@
|
|
|
1
|
-
import { CancellationToken } from '@surfside/ads-core';
|
|
2
|
-
import { IntValOrThrow, SimpleCreativeComponent } from './SimpleCreative';
|
|
3
|
-
import { DEBOUNCE_THRESHOLD } from './Creative';
|
|
4
|
-
export class SurfsideVideo extends SimpleCreativeComponent {
|
|
5
|
-
_cancellationToken = new CancellationToken();
|
|
6
|
-
minDuration;
|
|
7
|
-
maxDuration;
|
|
8
|
-
_bounce;
|
|
9
|
-
static get observedAttributes() {
|
|
10
|
-
return [...SimpleCreativeComponent.observedSimpleAttributes, 'min-duration', 'max-duration'];
|
|
11
|
-
}
|
|
12
|
-
constructor(initApi, getUserId, logger) {
|
|
13
|
-
super(initApi, getUserId, logger);
|
|
14
|
-
}
|
|
15
|
-
getComponentName() {
|
|
16
|
-
return 'SurfsideVideo';
|
|
17
|
-
}
|
|
18
|
-
attributesLoaded() {
|
|
19
|
-
return (super.attributesLoaded() && this.minDuration !== undefined && this.maxDuration !== undefined
|
|
20
|
-
&& this.minDuration !== null && this.maxDuration !== null);
|
|
21
|
-
}
|
|
22
|
-
async attributeChangedCallback(name, oldValue, newValue) {
|
|
23
|
-
const log = this.log?.with('attributeChangedCallback');
|
|
24
|
-
log?.info('Attribute changed');
|
|
25
|
-
if (name === 'min-duration') {
|
|
26
|
-
try {
|
|
27
|
-
this.minDuration = IntValOrThrow(this, 'min-duration', newValue);
|
|
28
|
-
}
|
|
29
|
-
catch (err) {
|
|
30
|
-
log?.warn('Couldn\'t parse min-duration', err);
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
else if (name === 'max-duration') {
|
|
34
|
-
try {
|
|
35
|
-
this.maxDuration = IntValOrThrow(this, 'max-duration', newValue);
|
|
36
|
-
}
|
|
37
|
-
catch (err) {
|
|
38
|
-
log?.warn('Couldn\'t parse min-duration', err);
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
else {
|
|
42
|
-
this.simpleAttributeChangedCallback(name, oldValue, newValue, log);
|
|
43
|
-
}
|
|
44
|
-
const totem = crypto.randomUUID();
|
|
45
|
-
this.totem = totem;
|
|
46
|
-
log?.debug(name, 'totem', totem);
|
|
47
|
-
if (!this.attributesLoaded()) {
|
|
48
|
-
log?.debug('Attributes not ready yet...');
|
|
49
|
-
return;
|
|
50
|
-
}
|
|
51
|
-
if (this.totem !== totem) {
|
|
52
|
-
log?.debug('Totem changed. Deferring rendering of video until last attribute changed', totem, this.totem);
|
|
53
|
-
return;
|
|
54
|
-
}
|
|
55
|
-
log?.debug(`Rendering video upon change of [${name}]`);
|
|
56
|
-
if (this._bounce !== undefined) {
|
|
57
|
-
globalThis.clearTimeout(this._bounce);
|
|
58
|
-
}
|
|
59
|
-
this._bounce = globalThis.setTimeout(() => this.render(), DEBOUNCE_THRESHOLD);
|
|
60
|
-
}
|
|
61
|
-
readVideoAttributes() {
|
|
62
|
-
this.readSimpleAttributes();
|
|
63
|
-
}
|
|
64
|
-
async connectedCallback() {
|
|
65
|
-
super.connectedCallback();
|
|
66
|
-
this.readVideoAttributes();
|
|
67
|
-
await this.initApi();
|
|
68
|
-
const totem = crypto.randomUUID();
|
|
69
|
-
this.totem = totem;
|
|
70
|
-
if (this.attributesLoaded()) {
|
|
71
|
-
await this.lazyLoadApi();
|
|
72
|
-
if (this.totem !== totem) {
|
|
73
|
-
this.log?.debug('Attributes changed after connectedCallback, waiting to render');
|
|
74
|
-
return;
|
|
75
|
-
}
|
|
76
|
-
this.log?.debug('Rendering upon connectedCallback');
|
|
77
|
-
await this.render();
|
|
78
|
-
}
|
|
79
|
-
else {
|
|
80
|
-
this.log?.warn('ConnectedCallback called before attributes were all ready.');
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
async render() {
|
|
84
|
-
const log = this.log?.with('SurfsideVideo', { zoneId: this.zoneId });
|
|
85
|
-
log?.info('rendering');
|
|
86
|
-
log?.debug('width', this.width, 'height', this.height);
|
|
87
|
-
const stopTimer = log?.time?.('render video');
|
|
88
|
-
this._cancellationToken.cancel();
|
|
89
|
-
const token = new CancellationToken();
|
|
90
|
-
this._cancellationToken = token;
|
|
91
|
-
const { requestBids, startRequest, buildVideoResponse, renderVideo } = this.api;
|
|
92
|
-
const bidResponseResult = await requestBids(startRequest(this.zoneId)
|
|
93
|
-
.withSurfCategory(this.category)
|
|
94
|
-
.withKeywords(this.keywords)
|
|
95
|
-
.withVideo(this.width, this.height, this.minDuration, this.maxDuration)
|
|
96
|
-
.build());
|
|
97
|
-
if (token.cancelled) {
|
|
98
|
-
return;
|
|
99
|
-
}
|
|
100
|
-
if (!bidResponseResult.ok) {
|
|
101
|
-
log?.warn('Did not get any bid responses', bidResponseResult.error);
|
|
102
|
-
return;
|
|
103
|
-
}
|
|
104
|
-
const bid = bidResponseResult.value.seatbid?.[0]?.bid?.[0];
|
|
105
|
-
if (bid === undefined) {
|
|
106
|
-
log?.error('Got a bid response, but it was malformed', bidResponseResult);
|
|
107
|
-
return;
|
|
108
|
-
}
|
|
109
|
-
const responseResult = buildVideoResponse(bid);
|
|
110
|
-
if (!responseResult.ok) {
|
|
111
|
-
log?.error(responseResult.error);
|
|
112
|
-
return;
|
|
113
|
-
}
|
|
114
|
-
const elementResult = renderVideo(responseResult.value);
|
|
115
|
-
if (!elementResult.ok) {
|
|
116
|
-
log?.error(elementResult.error);
|
|
117
|
-
return;
|
|
118
|
-
}
|
|
119
|
-
if (!token.cancelled) {
|
|
120
|
-
stopTimer?.();
|
|
121
|
-
this.shadow.innerHTML = '';
|
|
122
|
-
this.shadow.appendChild(elementResult.value);
|
|
123
|
-
elementResult.value.classList.add(`surf-zone-${this.zoneId}`);
|
|
124
|
-
if (this.api.configuration.settings.reauctionEnabled && bid.ext?.takeover !== true) {
|
|
125
|
-
elementResult.value.onended = () => this.render();
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
//# sourceMappingURL=Video.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Video.js","sourceRoot":"../@surfside-ads/","sources":["components/Video.ts"],"names":[],"mappings":"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"}
|
package/lib/esm/demo/test.js
DELETED
package/lib/esm/demo/test.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"test.js","sourceRoot":"../@surfside-ads/","sources":["demo/test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAE3D,MAAM,CAAC,MAAM,GAAG,GAAG,EAAE;IACjB,wBAAwB,EAAE,CAAC;AAC/B,CAAC,CAAA"}
|
package/lib/esm/index.module.js
DELETED
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
import { GetSurfUserIdCookie, InitSurfAdsWebInternal, SurfsideAdsCoreWebVersionInfo, } from '@surfside/ads-core-web';
|
|
2
|
-
import { SurfsideBanner } from './components/Banner';
|
|
3
|
-
import { InitLogger, MemoizeAsync, SurfsideAdsCoreVersionInfo } from '@surfside/ads-core';
|
|
4
|
-
import { SurfsideVideo } from './components/Video';
|
|
5
|
-
import { SurfsideCarousel } from './components/Carousel';
|
|
6
|
-
import { SurfsideProductCard } from './components/Card';
|
|
7
|
-
import { SurfsideDynamicZone } from './components/Dynamic';
|
|
8
|
-
import { InitSurfAdsCoreClient, SurfsideAdsCoreClientVersionInfo } from '@surfside/ads-core-client';
|
|
9
|
-
import * as SurfsideAdsVersionInfo from './BuildInfo';
|
|
10
|
-
export * from './Init';
|
|
11
|
-
const searchHasString = (str) => typeof globalThis.window !== 'undefined' &&
|
|
12
|
-
globalThis.window.location.search.toLowerCase().includes(str);
|
|
13
|
-
export const InitSurfAdsWebComponents = (initializer) => {
|
|
14
|
-
const debug = searchHasString('surf_debug=true');
|
|
15
|
-
const logger = debug ? InitLogger() : undefined;
|
|
16
|
-
const log = logger?.with('InitSurfAdsWebComponents');
|
|
17
|
-
log?.info('🏄♂️ Initializing surfside ads web components');
|
|
18
|
-
log?.table(SurfsideAdsVersionTable);
|
|
19
|
-
const initApi = MemoizeAsync((accountId, siteId, channelId, locationId, userId) => {
|
|
20
|
-
return InitSurfAdsWebInternal((initializer ?? InitSurfAdsCoreClient)(accountId, siteId, channelId, locationId, userId));
|
|
21
|
-
});
|
|
22
|
-
log?.debug('Defining surf-banner');
|
|
23
|
-
customElements.define('surf-banner', class extends SurfsideBanner {
|
|
24
|
-
constructor() {
|
|
25
|
-
super(initApi, GetSurfUserIdCookie, logger);
|
|
26
|
-
}
|
|
27
|
-
});
|
|
28
|
-
log?.debug('Definining surf-video');
|
|
29
|
-
customElements.define('surf-video', class extends SurfsideVideo {
|
|
30
|
-
constructor() {
|
|
31
|
-
super(initApi, GetSurfUserIdCookie, logger);
|
|
32
|
-
}
|
|
33
|
-
});
|
|
34
|
-
log?.debug('Definining surf-carousel');
|
|
35
|
-
customElements.define('surf-carousel', class extends SurfsideCarousel {
|
|
36
|
-
constructor() {
|
|
37
|
-
super(initApi, GetSurfUserIdCookie, logger);
|
|
38
|
-
}
|
|
39
|
-
});
|
|
40
|
-
log?.debug('Definining surf-product-card');
|
|
41
|
-
customElements.define('surf-product-card', class extends SurfsideProductCard {
|
|
42
|
-
constructor() {
|
|
43
|
-
super(initApi, GetSurfUserIdCookie, logger);
|
|
44
|
-
}
|
|
45
|
-
});
|
|
46
|
-
log?.debug('Definining surf-dynamic-zone');
|
|
47
|
-
customElements.define('surf-dynamic-zone', class extends SurfsideDynamicZone {
|
|
48
|
-
constructor() {
|
|
49
|
-
super(initApi, GetSurfUserIdCookie, logger);
|
|
50
|
-
}
|
|
51
|
-
});
|
|
52
|
-
};
|
|
53
|
-
const pad = (name) => {
|
|
54
|
-
let newName = name;
|
|
55
|
-
const remaining = 25 - name.length;
|
|
56
|
-
for (let i = 0; i < remaining; i++) {
|
|
57
|
-
newName += ' ';
|
|
58
|
-
}
|
|
59
|
-
return newName;
|
|
60
|
-
};
|
|
61
|
-
export const SurfsideAdsVersionTable = {
|
|
62
|
-
[pad('@surfside/ads-core')]: SurfsideAdsCoreVersionInfo.VersionInfo,
|
|
63
|
-
[pad('@surfside/ads-core-client')]: SurfsideAdsCoreClientVersionInfo.VersionInfo,
|
|
64
|
-
[pad('@surfside/ads-core-web')]: SurfsideAdsCoreWebVersionInfo.VersionInfo,
|
|
65
|
-
[pad('@surfside/ads')]: SurfsideAdsVersionInfo.VersionInfo
|
|
66
|
-
};
|
|
67
|
-
//# sourceMappingURL=index.module.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.module.js","sourceRoot":"../@surfside-ads/","sources":["index.module.ts"],"names":[],"mappings":"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"}
|
package/lib/esm/index.script.js
DELETED
|
@@ -1,100 +0,0 @@
|
|
|
1
|
-
import { InitLogger, Ok, WrapBidRequestDebouncerIfEnabled } from '@surfside/ads-core';
|
|
2
|
-
import { LoadSurfAds } from './Init';
|
|
3
|
-
const edge = '//cdn.surfside.io/sdk/1.0.0/edge.js';
|
|
4
|
-
const searchHasString = (str) => typeof globalThis.window !== 'undefined' &&
|
|
5
|
-
globalThis.window.location.search.toLowerCase().includes(str);
|
|
6
|
-
function GetSafeUrl(relativeUrl) {
|
|
7
|
-
/* Already has the Protocol included */
|
|
8
|
-
if (relativeUrl.includes('://')) {
|
|
9
|
-
return relativeUrl;
|
|
10
|
-
}
|
|
11
|
-
/* Check if protocol begins with // or not */
|
|
12
|
-
const slashes = relativeUrl.startsWith('//') ? '' : '//';
|
|
13
|
-
let protocol = globalThis.location.protocol;
|
|
14
|
-
if (!protocol.startsWith('http')) {
|
|
15
|
-
protocol = 'https:';
|
|
16
|
-
}
|
|
17
|
-
return `${protocol}${slashes}${relativeUrl}`;
|
|
18
|
-
}
|
|
19
|
-
function appendEdge() {
|
|
20
|
-
const wind = globalThis.window;
|
|
21
|
-
if (wind.surf === undefined) {
|
|
22
|
-
const url = GetSafeUrl(edge);
|
|
23
|
-
wind.surfContext = wind.surfContext ?? [];
|
|
24
|
-
wind.surfContext.push('surf');
|
|
25
|
-
wind.surf = function surfadsEventHandler(...args) {
|
|
26
|
-
if (wind.surf === undefined) {
|
|
27
|
-
return;
|
|
28
|
-
}
|
|
29
|
-
(wind.surf.q = wind.surf.q ?? []).push(args);
|
|
30
|
-
};
|
|
31
|
-
wind.surf.q = wind.surf.q ?? [];
|
|
32
|
-
const script = globalThis.document.createElement('script');
|
|
33
|
-
script.src = url;
|
|
34
|
-
script.async = true;
|
|
35
|
-
globalThis.document.head.appendChild(script);
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
if (globalThis.document.readyState === 'loading') {
|
|
39
|
-
globalThis.window.addEventListener('DOMContentLoaded', () => {
|
|
40
|
-
start();
|
|
41
|
-
});
|
|
42
|
-
}
|
|
43
|
-
else {
|
|
44
|
-
start();
|
|
45
|
-
}
|
|
46
|
-
function start() {
|
|
47
|
-
const isDebug = searchHasString('surf_debug=true');
|
|
48
|
-
const isTelemetryEnabled = isDebug && searchHasString('surf_telemetry=true');
|
|
49
|
-
const logger = isDebug ? InitLogger(true) : undefined;
|
|
50
|
-
const monkeyPatchHistory = (name, newFunc) => {
|
|
51
|
-
const existing = globalThis.window[`surf_monkey_${name}_patched`];
|
|
52
|
-
if (existing !== undefined) {
|
|
53
|
-
return existing;
|
|
54
|
-
}
|
|
55
|
-
const oldFunc = globalThis.history[name];
|
|
56
|
-
globalThis.window[`surf_monkey_${name}`] = oldFunc;
|
|
57
|
-
const patched = (...p) => newFunc(oldFunc, ...p);
|
|
58
|
-
globalThis.window[`surf_monkey_${name}_patched`] = patched;
|
|
59
|
-
return patched;
|
|
60
|
-
};
|
|
61
|
-
try {
|
|
62
|
-
globalThis.history.replaceState = monkeyPatchHistory('replaceState', (oldFunc, ...args) => {
|
|
63
|
-
logger?.info('Intercepting replaceState');
|
|
64
|
-
oldFunc.call(globalThis.window.history, ...args);
|
|
65
|
-
globalThis.window.dispatchEvent(new Event('monkeyHistoryReplace'));
|
|
66
|
-
});
|
|
67
|
-
globalThis.history.pushState = monkeyPatchHistory('pushState', (oldFunc, ...args) => {
|
|
68
|
-
logger?.info('Intercepting pushState');
|
|
69
|
-
oldFunc.call(globalThis.window.history, ...args);
|
|
70
|
-
globalThis.window.dispatchEvent(new Event('monkeyHistoryReplace'));
|
|
71
|
-
});
|
|
72
|
-
}
|
|
73
|
-
catch (e) {
|
|
74
|
-
logger?.error('Unable to monkey patch the history functions', e);
|
|
75
|
-
}
|
|
76
|
-
try {
|
|
77
|
-
logger?.info('Loading digital SDK');
|
|
78
|
-
appendEdge();
|
|
79
|
-
}
|
|
80
|
-
catch (e) {
|
|
81
|
-
logger?.error('Failed to initialize digital SDK! Got', e);
|
|
82
|
-
}
|
|
83
|
-
try {
|
|
84
|
-
logger?.info('Starting up Surfside Ads');
|
|
85
|
-
LoadSurfAds({
|
|
86
|
-
logger,
|
|
87
|
-
telemetry: isTelemetryEnabled,
|
|
88
|
-
overrides: {
|
|
89
|
-
services: {
|
|
90
|
-
requestBids: (config, requestBids) => Ok(WrapBidRequestDebouncerIfEnabled(logger, config.configuration, config.windowInfo, requestBids))
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
});
|
|
94
|
-
}
|
|
95
|
-
catch (e) {
|
|
96
|
-
logger?.error('Failed to initialize Surfside Ads! Got ', e);
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
;
|
|
100
|
-
//# sourceMappingURL=index.script.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.script.js","sourceRoot":"../@surfside-ads/","sources":["index.script.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,152 +0,0 @@
|
|
|
1
|
-
import { DeviceToTelemetryDevice, GetValue, InitLogger, ITelemetryCollector, Ok, WrapBidRequestDebouncerIfEnabled } from '@surfside/ads-core';
|
|
2
|
-
import { LoadSurfAds } from './Init';
|
|
3
|
-
import { FallbackSponsoredProducts, MockGetConfiguration, MockRequestBids } from '@surfside/ads-core-mock';
|
|
4
|
-
const edge = '//cdn.surfside.io/sdk/1.0.0/edge.js';
|
|
5
|
-
const searchHasString = (str) => typeof globalThis.window !== 'undefined' &&
|
|
6
|
-
globalThis.window.location.search.toLowerCase().includes(str);
|
|
7
|
-
function GetSafeUrl(relativeUrl) {
|
|
8
|
-
/* Already has the Protocol included */
|
|
9
|
-
if (relativeUrl.includes('://')) {
|
|
10
|
-
return relativeUrl;
|
|
11
|
-
}
|
|
12
|
-
/* Check if protocol begins with // or not */
|
|
13
|
-
const slashes = relativeUrl.startsWith('//') ? '' : '//';
|
|
14
|
-
let protocol = globalThis.location.protocol;
|
|
15
|
-
if (!protocol.startsWith('http')) {
|
|
16
|
-
protocol = 'https:';
|
|
17
|
-
}
|
|
18
|
-
return `${protocol}${slashes}${relativeUrl}`;
|
|
19
|
-
}
|
|
20
|
-
function appendEdge() {
|
|
21
|
-
const wind = globalThis.window;
|
|
22
|
-
if (wind.surf === undefined) {
|
|
23
|
-
const url = GetSafeUrl(edge);
|
|
24
|
-
wind.surfContext = wind.surfContext ?? [];
|
|
25
|
-
wind.surfContext.push('surf');
|
|
26
|
-
wind.surf = function surfadsEventHandler(...args) {
|
|
27
|
-
if (wind.surf === undefined) {
|
|
28
|
-
return;
|
|
29
|
-
}
|
|
30
|
-
(wind.surf.q = wind.surf.q ?? []).push(args);
|
|
31
|
-
};
|
|
32
|
-
wind.surf.q = wind.surf.q ?? [];
|
|
33
|
-
const script = globalThis.document.createElement('script');
|
|
34
|
-
script.src = url;
|
|
35
|
-
script.async = true;
|
|
36
|
-
globalThis.document.head.appendChild(script);
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
if (globalThis.document.readyState === 'loading') {
|
|
40
|
-
globalThis.window.addEventListener('DOMContentLoaded', () => {
|
|
41
|
-
start();
|
|
42
|
-
});
|
|
43
|
-
}
|
|
44
|
-
else {
|
|
45
|
-
start();
|
|
46
|
-
}
|
|
47
|
-
const MOCK_GEO = {
|
|
48
|
-
country: 'USA',
|
|
49
|
-
region: 'Virginia',
|
|
50
|
-
city: 'Richmond',
|
|
51
|
-
zip: '23218',
|
|
52
|
-
coords: {
|
|
53
|
-
latitude: 37.538837527059044,
|
|
54
|
-
longitude: -77.43359909814527,
|
|
55
|
-
accuracy: 1
|
|
56
|
-
},
|
|
57
|
-
utcoffset: -4,
|
|
58
|
-
ip: '127.0.0.1'
|
|
59
|
-
};
|
|
60
|
-
async function start() {
|
|
61
|
-
const isDebug = searchHasString('surf_debug=true');
|
|
62
|
-
const isTelemetryEnabled = isDebug || searchHasString('surf_telemetry=true');
|
|
63
|
-
const logger = isDebug ? InitLogger(true) : undefined;
|
|
64
|
-
try {
|
|
65
|
-
logger?.info('Loading digital SDK');
|
|
66
|
-
appendEdge();
|
|
67
|
-
}
|
|
68
|
-
catch (e) {
|
|
69
|
-
logger?.error('Failed to initialize digital SDK! Got', e);
|
|
70
|
-
}
|
|
71
|
-
const mockConfiguration = GetValue(await MockGetConfiguration(logger));
|
|
72
|
-
try {
|
|
73
|
-
logger?.info('Starting up Surfside Ads');
|
|
74
|
-
LoadSurfAds({
|
|
75
|
-
logger,
|
|
76
|
-
telemetry: isTelemetryEnabled,
|
|
77
|
-
overrides: {
|
|
78
|
-
dependencies: {
|
|
79
|
-
geo: MOCK_GEO,
|
|
80
|
-
configuration: mockConfiguration
|
|
81
|
-
},
|
|
82
|
-
services: {
|
|
83
|
-
requestBids: (config) => Ok(WrapBidRequestDebouncerIfEnabled(logger, config.configuration, config.windowInfo, (bidRequest) => {
|
|
84
|
-
config.logger?.error('RUNNING MOCK BID REQUEST!!!');
|
|
85
|
-
globalThis.requestCounter ??= 0;
|
|
86
|
-
globalThis.requestCounter++;
|
|
87
|
-
return MockRequestBids(config.logger, config.windowInfo, 0, 0, [], bidRequest);
|
|
88
|
-
})),
|
|
89
|
-
getAllSponsoredBrandProducts: () => Ok(async () => Ok(FallbackSponsoredProducts
|
|
90
|
-
.map((p) => ({
|
|
91
|
-
...p,
|
|
92
|
-
image: `http://creative.surfside.io/mock/flower${Math.floor(Math.random() * 10) + 1}.jpg`,
|
|
93
|
-
details: p.description
|
|
94
|
-
})))),
|
|
95
|
-
getAllSponsoredProducts: () => Ok(async () => Ok(FallbackSponsoredProducts
|
|
96
|
-
.map((p) => ({
|
|
97
|
-
...p,
|
|
98
|
-
image: `http://creative.surfside.io/mock/flower${Math.floor(Math.random() * 10) + 1}.jpg`,
|
|
99
|
-
details: p.description
|
|
100
|
-
})))),
|
|
101
|
-
generateTopProducts: () => Ok(async function* () {
|
|
102
|
-
yield* FallbackSponsoredProducts
|
|
103
|
-
.map((p) => ({
|
|
104
|
-
...p,
|
|
105
|
-
image: `http://creative.surfside.io/mock/flower${Math.floor(Math.random() * 10) + 1}.jpg`,
|
|
106
|
-
details: p.description
|
|
107
|
-
}));
|
|
108
|
-
}),
|
|
109
|
-
generateForYou: () => Ok(async function* () {
|
|
110
|
-
yield* FallbackSponsoredProducts
|
|
111
|
-
.map((p) => ({
|
|
112
|
-
...p,
|
|
113
|
-
image: `http://creative.surfside.io/mock/flower${Math.floor(Math.random() * 10) + 1}.jpg`,
|
|
114
|
-
details: p.description
|
|
115
|
-
}));
|
|
116
|
-
}),
|
|
117
|
-
generatePreviousPurchases: () => Ok(async function* () {
|
|
118
|
-
yield* FallbackSponsoredProducts
|
|
119
|
-
.map((p) => ({
|
|
120
|
-
...p,
|
|
121
|
-
image: `http://creative.surfside.io/mock/flower${Math.floor(Math.random() * 10) + 1}.jpg`,
|
|
122
|
-
details: p.description
|
|
123
|
-
}));
|
|
124
|
-
}),
|
|
125
|
-
getRecommendedProduct: () => Ok(async () => Ok(FallbackSponsoredProducts
|
|
126
|
-
.map((p) => ({
|
|
127
|
-
...p,
|
|
128
|
-
image: `http://creative.surfside.io/mock/flower${Math.floor(Math.random() * 10) + 1}.jpg`,
|
|
129
|
-
details: p.description,
|
|
130
|
-
brand_name: p.brand,
|
|
131
|
-
brandName: p.brand
|
|
132
|
-
}))[Math.floor(Math.random() * FallbackSponsoredProducts.length)])),
|
|
133
|
-
createTelemetryCollector: (config) => {
|
|
134
|
-
return Ok(new class extends ITelemetryCollector {
|
|
135
|
-
constructor() {
|
|
136
|
-
super(config.accountId, config.siteId, config.channelId, config.locationId, DeviceToTelemetryDevice(config.device));
|
|
137
|
-
}
|
|
138
|
-
record(entry) {
|
|
139
|
-
logger?.info(`o(*^▽^*)┛ ${entry.name} | ${entry.durationMs}ms`);
|
|
140
|
-
}
|
|
141
|
-
});
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
}
|
|
145
|
-
});
|
|
146
|
-
}
|
|
147
|
-
catch (e) {
|
|
148
|
-
logger?.error('Failed to initialize Surfside Ads! Got ', e);
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
;
|
|
152
|
-
//# sourceMappingURL=index.script.mock.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.script.mock.js","sourceRoot":"../@surfside-ads/","sources":["index.script.mock.ts"],"names":[],"mappings":"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"}
|
package/lib/esm/service/Init.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Init.js","sourceRoot":"../@surfside-ads/","sources":["service/Init.ts"],"names":[],"mappings":""}
|
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
import { Err, Ok } from '@surfside/ads-core';
|
|
2
|
-
export const ReadAttribute = (element, attr) => {
|
|
3
|
-
const value = element.getAttribute(attr);
|
|
4
|
-
if (value === null) {
|
|
5
|
-
return Err(new AttributeNotFoundError(element, attr));
|
|
6
|
-
}
|
|
7
|
-
return Ok(value);
|
|
8
|
-
};
|
|
9
|
-
export const ReadNumberAttribute = (element, attr) => {
|
|
10
|
-
const strValue = ReadAttribute(element, attr);
|
|
11
|
-
if (!strValue.ok) {
|
|
12
|
-
return strValue;
|
|
13
|
-
}
|
|
14
|
-
const value = Number(strValue.value);
|
|
15
|
-
if (Number.isNaN(value)) {
|
|
16
|
-
return Err(new AttributeNotANumberError(element, attr));
|
|
17
|
-
}
|
|
18
|
-
return Ok(value);
|
|
19
|
-
};
|
|
20
|
-
export const ReadIntAttribute = (element, attr) => {
|
|
21
|
-
const numValue = ReadNumberAttribute(element, attr);
|
|
22
|
-
if (!numValue.ok) {
|
|
23
|
-
return numValue;
|
|
24
|
-
}
|
|
25
|
-
if (!Number.isInteger(numValue.value)) {
|
|
26
|
-
return Err(new AttributeNotIntError(element, attr));
|
|
27
|
-
}
|
|
28
|
-
return numValue;
|
|
29
|
-
};
|
|
30
|
-
export const ReadBoolAttribute = (element, attr) => {
|
|
31
|
-
const strValue = ReadAttribute(element, attr);
|
|
32
|
-
if (!strValue.ok) {
|
|
33
|
-
return strValue;
|
|
34
|
-
}
|
|
35
|
-
const value = strValue.value.toLowerCase();
|
|
36
|
-
switch (value) {
|
|
37
|
-
case 'true': {
|
|
38
|
-
return Ok(true);
|
|
39
|
-
}
|
|
40
|
-
case 'false': {
|
|
41
|
-
return Ok(false);
|
|
42
|
-
}
|
|
43
|
-
default: {
|
|
44
|
-
return Err(new AttributeNotBoolError(element, attr));
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
};
|
|
48
|
-
export class AttributeNotFoundError extends Error {
|
|
49
|
-
element;
|
|
50
|
-
attribute;
|
|
51
|
-
constructor(element, attribute) {
|
|
52
|
-
super(`Attribute '${attribute}' was not found on element`);
|
|
53
|
-
this.element = element;
|
|
54
|
-
this.attribute = attribute;
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
export class AttributeWrongTypeError extends Error {
|
|
58
|
-
element;
|
|
59
|
-
attribute;
|
|
60
|
-
constructor(element, attribute, message) {
|
|
61
|
-
super(message);
|
|
62
|
-
this.element = element;
|
|
63
|
-
this.attribute = attribute;
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
export class AttributeNotANumberError extends AttributeWrongTypeError {
|
|
67
|
-
constructor(element, attribute) {
|
|
68
|
-
super(element, attribute, `Attribute '${attribute}' is not a number`);
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
export class AttributeNotBoolError extends AttributeWrongTypeError {
|
|
72
|
-
constructor(element, attribute) {
|
|
73
|
-
super(element, attribute, `Attribute '${attribute}' is not a boolean`);
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
export class AttributeNotIntError extends AttributeWrongTypeError {
|
|
77
|
-
constructor(element, attribute) {
|
|
78
|
-
super(element, attribute, `Attribute '${attribute}' is not an integer`);
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
//# sourceMappingURL=Attributes.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Attributes.js","sourceRoot":"../@surfside-ads/","sources":["util/Attributes.ts"],"names":[],"mappings":"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"}
|
package/lib/esm/util/Types.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Types.js","sourceRoot":"../@surfside-ads/","sources":["util/Types.ts"],"names":[],"mappings":""}
|
package/lib/types/BuildInfo.d.ts
DELETED
package/lib/types/Constants.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const DefaultMinCardWidth = 300;
|
package/lib/types/Init.d.ts
DELETED
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { type ISurfAdsWebConfigurationOverrides, type ISurfAdsWebDependencies } from '@surfside/ads-core-web';
|
|
2
|
-
import { SurfsideBanner } from './components/Banner';
|
|
3
|
-
import { SurfsideVideo } from './components/Video';
|
|
4
|
-
import { SurfsideCarousel } from './components/Carousel';
|
|
5
|
-
import { SurfsideProductCard } from './components/Card';
|
|
6
|
-
import { SurfsideDynamicZone } from './components/Dynamic';
|
|
7
|
-
import { type ILogger, type Result } from '@surfside/ads-core';
|
|
8
|
-
export type ISurfAdsConfiguration = {
|
|
9
|
-
logger?: ILogger;
|
|
10
|
-
telemetry?: boolean;
|
|
11
|
-
getUserId?: (logger?: ILogger) => Promise<string | undefined>;
|
|
12
|
-
overrides?: {
|
|
13
|
-
services?: Partial<ISurfAdsWebConfigurationOverrides>;
|
|
14
|
-
dependencies?: Partial<ISurfAdsWebDependencies>;
|
|
15
|
-
};
|
|
16
|
-
} & Partial<ISurfAdsWebConfigurationOverrides>;
|
|
17
|
-
export interface ISurfsideAdsApi {
|
|
18
|
-
bannerComponent: typeof SurfsideBanner;
|
|
19
|
-
videoComponent: typeof SurfsideVideo;
|
|
20
|
-
carouselComponent: typeof SurfsideCarousel;
|
|
21
|
-
productCardComponent: typeof SurfsideProductCard;
|
|
22
|
-
dynamicZoneComponent: typeof SurfsideDynamicZone;
|
|
23
|
-
}
|
|
24
|
-
/** Injects dependencies into the advertising web components and passes them an initializer service.
|
|
25
|
-
* Be warned! This function has no side effects, but it returns stateful classes. The web components
|
|
26
|
-
* call their own initialization functions lazily with side effects. Once you begin
|
|
27
|
-
* using Surfside Ads Web components, you have moved out of functional programming land and into OOP
|
|
28
|
-
* land. State for Surfside ads web components is managed within the web component classes.
|
|
29
|
-
*/
|
|
30
|
-
export declare const CreateSurfAds: (config?: ISurfAdsConfiguration) => Result<ISurfsideAdsApi>;
|
|
31
|
-
export declare const LoadSurfAds: (config?: ISurfAdsConfiguration) => Result<ISurfsideAdsApi>;
|