@blotoutio/providers-bing-sdk 0.35.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md ADDED
@@ -0,0 +1,11 @@
1
+ # providers-bing-sdk
2
+
3
+ This library was generated with [Nx](https://nx.dev).
4
+
5
+ ## Building
6
+
7
+ Run `nx build providers-bing-sdk` to build the library.
8
+
9
+ ## Running unit tests
10
+
11
+ Run `nx test providers-bing-sdk` to execute the unit tests via [Jest](https://jestjs.io).
package/index.cjs.js ADDED
@@ -0,0 +1,108 @@
1
+ 'use strict';
2
+
3
+ const packageName = 'bing';
4
+
5
+ const initBing = (ID) => {
6
+ var _a;
7
+ if (!window || !document || window.edgeUET) {
8
+ return;
9
+ }
10
+ window.edgeUET = window.edgeUET || [];
11
+ const f = function () {
12
+ var _a;
13
+ const o = { ti: ID, enableAutoSpaTracking: true };
14
+ o.q = window.edgeUET;
15
+ window.edgeUET = new UET(o);
16
+ (_a = window.edgeUET) === null || _a === void 0 ? void 0 : _a.push('pageLoad');
17
+ };
18
+ const n = document.createElement('script');
19
+ n.src = '//bat.bing.com/bat.js';
20
+ n.async = true;
21
+ // @ts-expect-error provided by bing snippet
22
+ n.onload = n.onreadystatechange = function () {
23
+ // @ts-expect-error provided by bing snippet
24
+ const s = this.readyState;
25
+ (s && s !== 'loaded' && s !== 'complete') ||
26
+ // @ts-expect-error provided by bing snippet
27
+ (f(), (n.onload = n.onreadystatechange = null));
28
+ };
29
+ const i = document.getElementsByTagName('script')[0];
30
+ (_a = i.parentNode) === null || _a === void 0 ? void 0 : _a.insertBefore(n, i);
31
+ };
32
+ const init = ({ manifest }) => {
33
+ if (!window ||
34
+ !manifest.variables ||
35
+ manifest.variables['enableBrowser'] !== '1' ||
36
+ !manifest.variables['tagId']) {
37
+ return;
38
+ }
39
+ initBing(manifest.variables['tagId']);
40
+ };
41
+
42
+ const getConversionEventName = (eventName) => {
43
+ if (!eventName) {
44
+ return;
45
+ }
46
+ switch (eventName) {
47
+ case 'PageView': {
48
+ return 'page_view_blotout';
49
+ }
50
+ case 'Purchase': {
51
+ return 'purchase_blotout';
52
+ }
53
+ }
54
+ };
55
+ const getEventData = (data) => {
56
+ const eventData = {};
57
+ if (!data) {
58
+ return eventData;
59
+ }
60
+ if (data['value']) {
61
+ eventData.revenue_value = data['value'];
62
+ }
63
+ if (data['currency']) {
64
+ eventData.currency = data['currency'];
65
+ }
66
+ return eventData;
67
+ };
68
+ const handleTag = ({ data, eventName, manifestVariables, }) => {
69
+ if (!window || !eventName || !(manifestVariables === null || manifestVariables === void 0 ? void 0 : manifestVariables['tagId'])) {
70
+ return;
71
+ }
72
+ const conversionEventName = getConversionEventName(eventName);
73
+ if (!conversionEventName) {
74
+ return;
75
+ }
76
+ const eventData = getEventData(data);
77
+ window.edgeUET.push('event', conversionEventName, eventData);
78
+ };
79
+
80
+ const tag = ({ data, eventName, manifestVariables }) => {
81
+ const payload = {
82
+ sdkVersion: "0.35.0" ,
83
+ };
84
+ if (window.edgeUET && manifestVariables['enableBrowser'] === '1') {
85
+ handleTag({ data, eventName, manifestVariables });
86
+ }
87
+ return payload;
88
+ };
89
+
90
+ // eslint-disable-next-line @nx/enforce-module-boundaries
91
+ const data = {
92
+ name: packageName,
93
+ init,
94
+ tag,
95
+ };
96
+ try {
97
+ if (window) {
98
+ if (!window.edgetagProviders) {
99
+ window.edgetagProviders = [];
100
+ }
101
+ window.edgetagProviders.push(data);
102
+ }
103
+ }
104
+ catch {
105
+ // No window
106
+ }
107
+
108
+ module.exports = data;
package/index.js ADDED
@@ -0,0 +1,111 @@
1
+ var ProvidersBingSdk = (function () {
2
+ 'use strict';
3
+
4
+ const packageName = 'bing';
5
+
6
+ const initBing = (ID) => {
7
+ var _a;
8
+ if (!window || !document || window.edgeUET) {
9
+ return;
10
+ }
11
+ window.edgeUET = window.edgeUET || [];
12
+ const f = function () {
13
+ var _a;
14
+ const o = { ti: ID, enableAutoSpaTracking: true };
15
+ o.q = window.edgeUET;
16
+ window.edgeUET = new UET(o);
17
+ (_a = window.edgeUET) === null || _a === void 0 ? void 0 : _a.push('pageLoad');
18
+ };
19
+ const n = document.createElement('script');
20
+ n.src = '//bat.bing.com/bat.js';
21
+ n.async = true;
22
+ // @ts-expect-error provided by bing snippet
23
+ n.onload = n.onreadystatechange = function () {
24
+ // @ts-expect-error provided by bing snippet
25
+ const s = this.readyState;
26
+ (s && s !== 'loaded' && s !== 'complete') ||
27
+ // @ts-expect-error provided by bing snippet
28
+ (f(), (n.onload = n.onreadystatechange = null));
29
+ };
30
+ const i = document.getElementsByTagName('script')[0];
31
+ (_a = i.parentNode) === null || _a === void 0 ? void 0 : _a.insertBefore(n, i);
32
+ };
33
+ const init = ({ manifest }) => {
34
+ if (!window ||
35
+ !manifest.variables ||
36
+ manifest.variables['enableBrowser'] !== '1' ||
37
+ !manifest.variables['tagId']) {
38
+ return;
39
+ }
40
+ initBing(manifest.variables['tagId']);
41
+ };
42
+
43
+ const getConversionEventName = (eventName) => {
44
+ if (!eventName) {
45
+ return;
46
+ }
47
+ switch (eventName) {
48
+ case 'PageView': {
49
+ return 'page_view_blotout';
50
+ }
51
+ case 'Purchase': {
52
+ return 'purchase_blotout';
53
+ }
54
+ }
55
+ };
56
+ const getEventData = (data) => {
57
+ const eventData = {};
58
+ if (!data) {
59
+ return eventData;
60
+ }
61
+ if (data['value']) {
62
+ eventData.revenue_value = data['value'];
63
+ }
64
+ if (data['currency']) {
65
+ eventData.currency = data['currency'];
66
+ }
67
+ return eventData;
68
+ };
69
+ const handleTag = ({ data, eventName, manifestVariables, }) => {
70
+ if (!window || !eventName || !(manifestVariables === null || manifestVariables === void 0 ? void 0 : manifestVariables['tagId'])) {
71
+ return;
72
+ }
73
+ const conversionEventName = getConversionEventName(eventName);
74
+ if (!conversionEventName) {
75
+ return;
76
+ }
77
+ const eventData = getEventData(data);
78
+ window.edgeUET.push('event', conversionEventName, eventData);
79
+ };
80
+
81
+ const tag = ({ data, eventName, manifestVariables }) => {
82
+ const payload = {
83
+ sdkVersion: "0.35.0" ,
84
+ };
85
+ if (window.edgeUET && manifestVariables['enableBrowser'] === '1') {
86
+ handleTag({ data, eventName, manifestVariables });
87
+ }
88
+ return payload;
89
+ };
90
+
91
+ // eslint-disable-next-line @nx/enforce-module-boundaries
92
+ const data = {
93
+ name: packageName,
94
+ init,
95
+ tag,
96
+ };
97
+ try {
98
+ if (window) {
99
+ if (!window.edgetagProviders) {
100
+ window.edgetagProviders = [];
101
+ }
102
+ window.edgetagProviders.push(data);
103
+ }
104
+ }
105
+ catch {
106
+ // No window
107
+ }
108
+
109
+ return data;
110
+
111
+ })();
package/index.mjs ADDED
@@ -0,0 +1,106 @@
1
+ const packageName = 'bing';
2
+
3
+ const initBing = (ID) => {
4
+ var _a;
5
+ if (!window || !document || window.edgeUET) {
6
+ return;
7
+ }
8
+ window.edgeUET = window.edgeUET || [];
9
+ const f = function () {
10
+ var _a;
11
+ const o = { ti: ID, enableAutoSpaTracking: true };
12
+ o.q = window.edgeUET;
13
+ window.edgeUET = new UET(o);
14
+ (_a = window.edgeUET) === null || _a === void 0 ? void 0 : _a.push('pageLoad');
15
+ };
16
+ const n = document.createElement('script');
17
+ n.src = '//bat.bing.com/bat.js';
18
+ n.async = true;
19
+ // @ts-expect-error provided by bing snippet
20
+ n.onload = n.onreadystatechange = function () {
21
+ // @ts-expect-error provided by bing snippet
22
+ const s = this.readyState;
23
+ (s && s !== 'loaded' && s !== 'complete') ||
24
+ // @ts-expect-error provided by bing snippet
25
+ (f(), (n.onload = n.onreadystatechange = null));
26
+ };
27
+ const i = document.getElementsByTagName('script')[0];
28
+ (_a = i.parentNode) === null || _a === void 0 ? void 0 : _a.insertBefore(n, i);
29
+ };
30
+ const init = ({ manifest }) => {
31
+ if (!window ||
32
+ !manifest.variables ||
33
+ manifest.variables['enableBrowser'] !== '1' ||
34
+ !manifest.variables['tagId']) {
35
+ return;
36
+ }
37
+ initBing(manifest.variables['tagId']);
38
+ };
39
+
40
+ const getConversionEventName = (eventName) => {
41
+ if (!eventName) {
42
+ return;
43
+ }
44
+ switch (eventName) {
45
+ case 'PageView': {
46
+ return 'page_view_blotout';
47
+ }
48
+ case 'Purchase': {
49
+ return 'purchase_blotout';
50
+ }
51
+ }
52
+ };
53
+ const getEventData = (data) => {
54
+ const eventData = {};
55
+ if (!data) {
56
+ return eventData;
57
+ }
58
+ if (data['value']) {
59
+ eventData.revenue_value = data['value'];
60
+ }
61
+ if (data['currency']) {
62
+ eventData.currency = data['currency'];
63
+ }
64
+ return eventData;
65
+ };
66
+ const handleTag = ({ data, eventName, manifestVariables, }) => {
67
+ if (!window || !eventName || !(manifestVariables === null || manifestVariables === void 0 ? void 0 : manifestVariables['tagId'])) {
68
+ return;
69
+ }
70
+ const conversionEventName = getConversionEventName(eventName);
71
+ if (!conversionEventName) {
72
+ return;
73
+ }
74
+ const eventData = getEventData(data);
75
+ window.edgeUET.push('event', conversionEventName, eventData);
76
+ };
77
+
78
+ const tag = ({ data, eventName, manifestVariables }) => {
79
+ const payload = {
80
+ sdkVersion: "0.35.0" ,
81
+ };
82
+ if (window.edgeUET && manifestVariables['enableBrowser'] === '1') {
83
+ handleTag({ data, eventName, manifestVariables });
84
+ }
85
+ return payload;
86
+ };
87
+
88
+ // eslint-disable-next-line @nx/enforce-module-boundaries
89
+ const data = {
90
+ name: packageName,
91
+ init,
92
+ tag,
93
+ };
94
+ try {
95
+ if (window) {
96
+ if (!window.edgetagProviders) {
97
+ window.edgetagProviders = [];
98
+ }
99
+ window.edgetagProviders.push(data);
100
+ }
101
+ }
102
+ catch {
103
+ // No window
104
+ }
105
+
106
+ export { data as default };
package/package.json ADDED
@@ -0,0 +1,24 @@
1
+ {
2
+ "name": "@blotoutio/providers-bing-sdk",
3
+ "version": "0.35.0",
4
+ "description": "Bing Browser SDK for EdgeTag",
5
+ "author": "Blotout",
6
+ "license": "MIT",
7
+ "homepage": "https://github.com/blotoutio/edgetag-sdk",
8
+ "publishConfig": {
9
+ "access": "public"
10
+ },
11
+ "main": "./index.cjs.js",
12
+ "module": "./index.mjs",
13
+ "repository": {
14
+ "type": "git",
15
+ "url": "git+https://github.com/blotoutio/edgetag-sdk.git"
16
+ },
17
+ "files": [
18
+ "index.js",
19
+ "index.cjs.js",
20
+ "index.mjs",
21
+ "package.json",
22
+ "README.md"
23
+ ]
24
+ }