macro-parameters 0.0.6 → 0.0.7

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/index.js CHANGED
@@ -1,3 +1,36 @@
1
+ /******************************************************************************
2
+ Copyright (c) Microsoft Corporation.
3
+
4
+ Permission to use, copy, modify, and/or distribute this software for any
5
+ purpose with or without fee is hereby granted.
6
+
7
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
8
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
9
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
10
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
11
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
12
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
13
+ PERFORMANCE OF THIS SOFTWARE.
14
+ ***************************************************************************** */
15
+ /* global Reflect, Promise, SuppressedError, Symbol, Iterator */
16
+
17
+
18
+ var __assign = function() {
19
+ __assign = Object.assign || function __assign(t) {
20
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
21
+ s = arguments[i];
22
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
23
+ }
24
+ return t;
25
+ };
26
+ return __assign.apply(this, arguments);
27
+ };
28
+
29
+ typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
30
+ var e = new Error(message);
31
+ return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
32
+ };
33
+
1
34
  function getCookie(name) {
2
35
  var reg = new RegExp("(^| )" + name + "=([^;]*)(;|$)");
3
36
  var arr;
@@ -56,20 +89,17 @@ function getLocationOrigin() {
56
89
  return (location.origin ||
57
90
  "".concat(location.protocol, "//").concat(location.host || location.hostname).concat(location.port));
58
91
  }
59
-
60
- function cleanPlaceholder(str, params) {
61
- for (var k in PlaceHolders) {
62
- var param = k.replace('[', '\\[').replace(']', '\\]');
63
- var paramName = k.replace('[', '').replace(']', '');
64
- str = str.replace(new RegExp(param, 'g'), params[paramName] || PlaceHolders[k]() || "");
92
+ function getExternalMacroParam(name) {
93
+ var externalMacroParam = window.externalMacroParam;
94
+ if (externalMacroParam && typeof externalMacroParam === "object" && externalMacroParam.hasOwnProperty(name)) {
95
+ return externalMacroParam[name];
96
+ }
97
+ else {
98
+ return "";
65
99
  }
66
- return replaceEmpty(str);
67
- }
68
- function replaceEmpty(content) {
69
- var reg = /\[.*?\]/g;
70
- return content.replace(reg, "");
71
100
  }
72
- var PlaceHolders = {
101
+
102
+ var App = {
73
103
  "[tv_domain]": function () {
74
104
  return document.domain;
75
105
  },
@@ -91,32 +121,50 @@ var PlaceHolders = {
91
121
  "[player_width]": function () {
92
122
  return getExternalMacroParam("player_width");
93
123
  },
124
+ "[placement]": function () {
125
+ return getExternalMacroParam("placement");
126
+ }
127
+ };
128
+
129
+ var Content = {
130
+ "[provider_id]": function () {
131
+ return getExternalMacroParam("provider_id");
132
+ },
94
133
  "[channel_no]": function () {
95
134
  return getExternalMacroParam("channel_no");
96
135
  },
97
136
  "[channel_category]": function () {
98
137
  return getExternalMacroParam("channel_category");
99
138
  },
100
- "[whale_ad_id]": function () {
101
- // return WhaleADID;
139
+ "[channel_name]": function () {
140
+ return getExternalMacroParam("channel_category");
102
141
  },
103
- "[relevant_ads]": function () {
104
- // if (isWhaleOSGlobal) {
105
- // return "true"
106
- // }
107
- var reladvertStatus = "false";
108
- var userAgent = navigator.userAgent.toUpperCase();
109
- if (userAgent.indexOf("AOC") > -1) {
110
- reladvertStatus = getCookie("relAdvert");
111
- }
112
- else {
113
- reladvertStatus = getCookie("relAdvert");
114
- }
115
- reladvertStatus = reladvertStatus == null ? "false" : reladvertStatus;
116
- return reladvertStatus;
142
+ "[iab_category]": function () {
143
+ return getExternalMacroParam("iab_category");
117
144
  },
118
- "[device_dnt]": function () {
119
- return getExternalMacroParam("device_dnt") || (getCookie("relAdvert") == 'true' ? 0 : 1);
145
+ "[avod_id]": function () {
146
+ return getExternalMacroParam("avod_id");
147
+ },
148
+ "[avod_genre]": function () {
149
+ return getExternalMacroParam("avod_genre");
150
+ },
151
+ "[avod_title]": function () {
152
+ return getExternalMacroParam("avod_title");
153
+ },
154
+ "[oriented_age]": function () {
155
+ return getExternalMacroParam("oriented_age");
156
+ },
157
+ "[oriented_gender]": function () {
158
+ return getExternalMacroParam("oriented_gender");
159
+ },
160
+ "[ssai_vendor]": function () {
161
+ return getExternalMacroParam("ssai_vendor");
162
+ }
163
+ };
164
+
165
+ var Device = {
166
+ "[whale_ad_id]": function () {
167
+ // return WhaleADID;
120
168
  },
121
169
  "[tv_brand]": function () {
122
170
  return getTvBrand();
@@ -146,24 +194,54 @@ var PlaceHolders = {
146
194
  return 'un';
147
195
  }
148
196
  },
149
- "[privacy_policy]": function () {
150
- return getExternalMacroParam("privacy_policy");
197
+ "[time_zone]": function () {
198
+ return new Date().getTimezoneOffset();
151
199
  },
200
+ };
201
+
202
+ var GDPR = {
152
203
  "[whale_gdpr]": function () {
153
204
  return getExternalMacroParam("whale_gdpr") || (getCookie("relAdvert") == 'true' ? 1 : 0);
154
205
  },
155
206
  "[whale_gdpr_consent]": function () {
156
207
  return getCookie("tcString") || getLocalStorage('default_tcString');
157
208
  },
209
+ "[relevant_ads]": function () {
210
+ // if (isWhaleOSGlobal) {
211
+ // return "true"
212
+ // }
213
+ var reladvertStatus = "false";
214
+ var userAgent = navigator.userAgent.toUpperCase();
215
+ if (userAgent.indexOf("AOC") > -1) {
216
+ reladvertStatus = getCookie("relAdvert");
217
+ }
218
+ else {
219
+ reladvertStatus = getCookie("relAdvert");
220
+ }
221
+ reladvertStatus = reladvertStatus == null ? "false" : reladvertStatus;
222
+ return reladvertStatus;
223
+ },
224
+ "[device_dnt]": function () {
225
+ return getExternalMacroParam("device_dnt") || (getCookie("relAdvert") == 'true' ? 0 : 1);
226
+ },
227
+ "[device_lmt]": function () {
228
+ return getCookie("relAdvert") === 'true' ? 0 : 1;
229
+ },
230
+ "[privacy_policy]": function () {
231
+ return getExternalMacroParam("privacy_policy");
232
+ },
233
+ };
234
+
235
+ var Generic = {
158
236
  "[rnd]": function () {
159
237
  return new Date().getTime();
160
238
  },
239
+ "[timestamp]": function () {
240
+ return new Date().getTime();
241
+ },
161
242
  "[ad_sdk_ver]": function () {
162
243
  return "";
163
244
  },
164
- "[time_zone]": function () {
165
- return new Date().getTimezoneOffset();
166
- },
167
245
  "[google_pal]": function () {
168
246
  if (!window.googleNonce && getCookie("googleNonce")) {
169
247
  return getCookie("googleNonce");
@@ -173,15 +251,10 @@ var PlaceHolders = {
173
251
  }
174
252
  return window.googleNonce || '';
175
253
  },
176
- "[device_lmt]": function () {
177
- return getCookie("relAdvert") === 'true' ? 0 : 1;
178
- },
179
- "[avod_id]": function () {
180
- return "";
181
- },
182
- "[avod_title]": function () {
183
- return "";
184
- },
254
+ };
255
+
256
+ //非WhaleAdsMacros定义,但是实际需要用到的参数
257
+ var Other = {
185
258
  "[device_id]": function () {
186
259
  return getCookie("deviceid") || getCookie("deviceId");
187
260
  },
@@ -192,15 +265,20 @@ var PlaceHolders = {
192
265
  return getCookie("usertag");
193
266
  }
194
267
  };
195
- function getExternalMacroParam(name) {
196
- var externalMacroParam = window.externalMacroParam;
197
- if (externalMacroParam && typeof externalMacroParam === "object" && externalMacroParam.hasOwnProperty(name)) {
198
- return externalMacroParam[name];
199
- }
200
- else {
201
- return "";
268
+
269
+ function cleanPlaceholder(str, params) {
270
+ for (var k in PlaceHolders) {
271
+ var param = k.replace('[', '\\[').replace(']', '\\]');
272
+ var paramName = k.replace('[', '').replace(']', '');
273
+ str = str.replace(new RegExp(param, 'g'), params[paramName] || PlaceHolders[k]() || "");
202
274
  }
275
+ return replaceEmpty(str);
276
+ }
277
+ function replaceEmpty(content) {
278
+ var reg = /\[.*?\]/g;
279
+ return content.replace(reg, "");
203
280
  }
281
+ var PlaceHolders = __assign(__assign(__assign(__assign(__assign(__assign({}, App), Content), Device), GDPR), Generic), Other);
204
282
 
205
283
  var MacroSubstitution = /** @class */ (function () {
206
284
  function MacroSubstitution() {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "macro-parameters",
3
- "version": "0.0.6",
3
+ "version": "0.0.7",
4
4
  "description": "Provide unified macro parameter retrieval",
5
5
  "main": "index.js",
6
6
  "scripts": {
package/script/utils.ts CHANGED
@@ -61,10 +61,19 @@ export function setCookie(
61
61
  document.cookie = cookieString;
62
62
  }
63
63
 
64
- export function getLocationOrigin() {
64
+ export function getLocationOrigin() {
65
65
  return (
66
66
  location.origin ||
67
67
  `${location.protocol}//${location.host || location.hostname}${location.port
68
68
  }`
69
69
  );
70
+ }
71
+
72
+ export function getExternalMacroParam(name: string): string {
73
+ const externalMacroParam = (window as any).externalMacroParam;
74
+ if (externalMacroParam && typeof externalMacroParam === "object" && externalMacroParam.hasOwnProperty(name)) {
75
+ return externalMacroParam[name];
76
+ } else {
77
+ return "";
78
+ }
70
79
  }
package/src/replace.ts CHANGED
@@ -1,11 +1,11 @@
1
1
  import {
2
- getCookie,
3
- getLocalStorage,
4
- getLocationOrigin,
5
- getTvBrand,
6
- getProfileId,
7
- setCookie
8
- } from "../script/utils"
2
+ App,
3
+ Content,
4
+ Device,
5
+ GDPR,
6
+ Generic,
7
+ Other
8
+ } from "../type";
9
9
  export function cleanPlaceholder(str: string, params: object) {
10
10
  for (let k in PlaceHolders) {
11
11
  let param = k.replace('[', '\\[').replace(']', '\\]');
@@ -21,133 +21,16 @@ function replaceEmpty(content: string) {
21
21
  }
22
22
 
23
23
  const PlaceHolders: any = {
24
- "[tv_domain]"() {
25
- return document.domain
26
- },
27
- "[app_name]"() {
28
- return getExternalMacroParam("app_name");
29
- },
30
- "[bundle_id]"() {
31
- return getExternalMacroParam("bundle_id");
32
- },
33
- "[app_store_url]"() {
34
- return getExternalMacroParam("app_store_url");
35
- },
36
- "[src_page_url]"() {
37
- return encodeURIComponent(getLocationOrigin());
38
- },
39
- "[player_height]"() {
40
- return getExternalMacroParam("player_height");
41
- },
42
- "[player_width]"() {
43
- return getExternalMacroParam("player_width");
44
- },
45
- "[channel_no]"() {
46
- return getExternalMacroParam("channel_no");
47
- },
48
- "[channel_category]"() {
49
- return getExternalMacroParam("channel_category");
50
- },
51
- "[whale_ad_id]"() {
52
- // return WhaleADID;
53
- },
54
- "[relevant_ads]"() {
55
- // if (isWhaleOSGlobal) {
56
- // return "true"
57
- // }
58
- let reladvertStatus = "false";
59
- const userAgent = navigator.userAgent.toUpperCase();
60
- if (userAgent.indexOf("AOC") > -1) {
61
- reladvertStatus = getCookie("relAdvert");
62
- } else {
63
- reladvertStatus = getCookie("relAdvert");
64
- }
65
-
66
- reladvertStatus = reladvertStatus == null ? "false" : reladvertStatus;
67
- return reladvertStatus;
68
- },
69
- "[device_dnt]"() {
70
- return getExternalMacroParam("device_dnt") || (getCookie("relAdvert") == 'true' ? 0 : 1);
71
- },
72
- "[tv_brand]"() {
73
- return getTvBrand();
74
- },
75
- "[cntry]"() {
76
- //return countryGlobal;
77
- },
78
- "[geo_ip_country]"() {
79
- //return geoIpCountryGlobal;
80
- },
81
- "[platform_id]"() {
82
- return getProfileId();
83
- },
84
- "[device_user_agent]"() {
85
- const UA = navigator.userAgent;
86
- return encodeURIComponent(UA);
87
- },
88
- "[device_ip_address]"() {
89
- return getExternalMacroParam("device_ip_address");
90
- },
91
- "[menu_language]"() {
92
- const lang = navigator.language;
93
- if (lang) {
94
- return (lang.length > 2) ? lang.slice(0, 2) : lang;
95
- } else {
96
- return 'un';
97
- }
98
- },
99
- "[privacy_policy]"() {
100
- return getExternalMacroParam("privacy_policy");
101
- },
102
- "[whale_gdpr]"() {
103
- return getExternalMacroParam("whale_gdpr") || (getCookie("relAdvert") == 'true' ? 1 : 0);
104
- },
105
- "[whale_gdpr_consent]"() {
106
- return getCookie("tcString") || getLocalStorage('default_tcString');
107
- },
108
- "[rnd]"() {
109
- return new Date().getTime();
110
- },
111
- "[ad_sdk_ver]"() {
112
- return "";
113
- },
114
- "[time_zone]"() {
115
- return new Date().getTimezoneOffset();
116
- },
117
- "[google_pal]"() {
118
- if (!(window as any).googleNonce && getCookie("googleNonce")) {
119
- return getCookie("googleNonce");
120
- }
121
- if ((window as any).googleNonce) {
122
- setCookie("googleNonce", (window as any).googleNonce, new Date(new Date().getTime() + 6 * 60 * 60 * 1000));
123
- }
124
- return (window as any).googleNonce || '';
125
- },
126
- "[device_lmt]"() {
127
- return getCookie("relAdvert") === 'true' ? 0 : 1
128
- },
129
- "[avod_id]"() {
130
- return ""
131
- },
132
- "[avod_title]"() {
133
- return ""
134
- },
135
- "[device_id]"() {
136
- return getCookie("deviceid") || getCookie("deviceId")
137
- },
138
- "[session_id]"() {
139
- return (window as any).session_id;
140
- },
141
- "[usertag]"() {
142
- return getCookie("usertag")
143
- }
144
- };
145
-
146
- function getExternalMacroParam(name: string): string {
147
- const externalMacroParam = (window as any).externalMacroParam;
148
- if (externalMacroParam && typeof externalMacroParam === "object" && externalMacroParam.hasOwnProperty(name)) {
149
- return externalMacroParam[name];
150
- } else {
151
- return "";
152
- }
153
- }
24
+ //Type: APP
25
+ ...App,
26
+ //Type: Content
27
+ ...Content,
28
+ //Type: Device
29
+ ...Device,
30
+ //Type: GDPR
31
+ ...GDPR,
32
+ //Type: Generic
33
+ ...Generic,
34
+ //Type: Other
35
+ ...Other
36
+ };
package/type/app.ts ADDED
@@ -0,0 +1,31 @@
1
+ import {
2
+ getExternalMacroParam,
3
+ getLocationOrigin
4
+ } from "../script/utils"
5
+ const App = {
6
+ "[tv_domain]"() {
7
+ return document.domain
8
+ },
9
+ "[app_name]"() {
10
+ return getExternalMacroParam("app_name");
11
+ },
12
+ "[bundle_id]"() {
13
+ return getExternalMacroParam("bundle_id");
14
+ },
15
+ "[app_store_url]"() {
16
+ return getExternalMacroParam("app_store_url");
17
+ },
18
+ "[src_page_url]"() {
19
+ return encodeURIComponent(getLocationOrigin());
20
+ },
21
+ "[player_height]"() {
22
+ return getExternalMacroParam("player_height");
23
+ },
24
+ "[player_width]"() {
25
+ return getExternalMacroParam("player_width");
26
+ },
27
+ "[placement]"() {
28
+ return getExternalMacroParam("placement");
29
+ }
30
+ };
31
+ export { App }
@@ -0,0 +1,38 @@
1
+
2
+ import { getExternalMacroParam } from "../script/utils"
3
+ const Content = {
4
+ "[provider_id]"() {
5
+ return getExternalMacroParam("provider_id");
6
+ },
7
+ "[channel_no]"() {
8
+ return getExternalMacroParam("channel_no");
9
+ },
10
+ "[channel_category]"() {
11
+ return getExternalMacroParam("channel_category");
12
+ },
13
+ "[channel_name]"() {
14
+ return getExternalMacroParam("channel_category");
15
+ },
16
+ "[iab_category]"() {
17
+ return getExternalMacroParam("iab_category");
18
+ },
19
+ "[avod_id]"() {
20
+ return getExternalMacroParam("avod_id");
21
+ },
22
+ "[avod_genre]"() {
23
+ return getExternalMacroParam("avod_genre");
24
+ },
25
+ "[avod_title]"() {
26
+ return getExternalMacroParam("avod_title");
27
+ },
28
+ "[oriented_age]"() {
29
+ return getExternalMacroParam("oriented_age");
30
+ },
31
+ "[oriented_gender]"() {
32
+ return getExternalMacroParam("oriented_gender");
33
+ },
34
+ "[ssai_vendor]"() {
35
+ return getExternalMacroParam("ssai_vendor");
36
+ }
37
+ }
38
+ export { Content }
package/type/device.ts ADDED
@@ -0,0 +1,42 @@
1
+ import {
2
+ getExternalMacroParam,
3
+ getTvBrand,
4
+ getProfileId
5
+ } from "../script/utils"
6
+ const Device = {
7
+ "[whale_ad_id]"() {
8
+ // return WhaleADID;
9
+ },
10
+ "[tv_brand]"() {
11
+ return getTvBrand();
12
+ },
13
+ "[cntry]"() {
14
+ //return countryGlobal;
15
+ },
16
+ "[geo_ip_country]"() {
17
+ //return geoIpCountryGlobal;
18
+ },
19
+ "[platform_id]"() {
20
+ return getProfileId();
21
+ },
22
+ "[device_user_agent]"() {
23
+ const UA = navigator.userAgent;
24
+ return encodeURIComponent(UA);
25
+ },
26
+ "[device_ip_address]"() {
27
+ return getExternalMacroParam("device_ip_address");
28
+ },
29
+ "[menu_language]"() {
30
+ const lang = navigator.language;
31
+ if (lang) {
32
+ return (lang.length > 2) ? lang.slice(0, 2) : lang;
33
+ } else {
34
+ return 'un';
35
+ }
36
+ },
37
+ "[time_zone]"() {
38
+ return new Date().getTimezoneOffset();
39
+ },
40
+ }
41
+
42
+ export { Device }
package/type/gdpr.ts ADDED
@@ -0,0 +1,40 @@
1
+
2
+ import {
3
+ getCookie,
4
+ getExternalMacroParam,
5
+ getLocalStorage
6
+ } from "../script/utils"
7
+ const GDPR = {
8
+ "[whale_gdpr]"() {
9
+ return getExternalMacroParam("whale_gdpr") || (getCookie("relAdvert") == 'true' ? 1 : 0);
10
+ },
11
+ "[whale_gdpr_consent]"() {
12
+ return getCookie("tcString") || getLocalStorage('default_tcString');
13
+ },
14
+ "[relevant_ads]"() {
15
+ // if (isWhaleOSGlobal) {
16
+ // return "true"
17
+ // }
18
+ let reladvertStatus = "false";
19
+ const userAgent = navigator.userAgent.toUpperCase();
20
+ if (userAgent.indexOf("AOC") > -1) {
21
+ reladvertStatus = getCookie("relAdvert");
22
+ } else {
23
+ reladvertStatus = getCookie("relAdvert");
24
+ }
25
+
26
+ reladvertStatus = reladvertStatus == null ? "false" : reladvertStatus;
27
+ return reladvertStatus;
28
+ },
29
+ "[device_dnt]"() {
30
+ return getExternalMacroParam("device_dnt") || (getCookie("relAdvert") == 'true' ? 0 : 1);
31
+ },
32
+ "[device_lmt]"() {
33
+ return getCookie("relAdvert") === 'true' ? 0 : 1
34
+ },
35
+ "[privacy_policy]"() {
36
+ return getExternalMacroParam("privacy_policy");
37
+ },
38
+ }
39
+
40
+ export { GDPR }
@@ -0,0 +1,26 @@
1
+ import {
2
+ getCookie,
3
+ setCookie
4
+ } from "../script/utils"
5
+ const Generic = {
6
+ "[rnd]"() {
7
+ return new Date().getTime();
8
+ },
9
+ "[timestamp]"() {
10
+ return new Date().getTime();
11
+ },
12
+ "[ad_sdk_ver]"() {
13
+ return "";
14
+ },
15
+ "[google_pal]"() {
16
+ if (!(window as any).googleNonce && getCookie("googleNonce")) {
17
+ return getCookie("googleNonce");
18
+ }
19
+ if ((window as any).googleNonce) {
20
+ setCookie("googleNonce", (window as any).googleNonce, new Date(new Date().getTime() + 6 * 60 * 60 * 1000));
21
+ }
22
+ return (window as any).googleNonce || '';
23
+ },
24
+ }
25
+
26
+ export { Generic }
package/type/index.ts ADDED
@@ -0,0 +1,15 @@
1
+ import { App } from "./app"
2
+ import { Content } from "./content"
3
+ import { Device } from "./device"
4
+ import { GDPR } from "./gdpr"
5
+ import { Generic } from "./generic"
6
+ import { Other } from "./other"
7
+
8
+ export {
9
+ App,
10
+ Content,
11
+ Device,
12
+ GDPR,
13
+ Generic,
14
+ Other
15
+ }
package/type/other.ts ADDED
@@ -0,0 +1,15 @@
1
+ //非WhaleAdsMacros定义,但是实际需要用到的参数
2
+ import { getCookie } from "../script/utils"
3
+ const Other = {
4
+ "[device_id]"() {
5
+ return getCookie("deviceid") || getCookie("deviceId")
6
+ },
7
+ "[session_id]"() {
8
+ return (window as any).session_id;
9
+ },
10
+ "[usertag]"() {
11
+ return getCookie("usertag")
12
+ }
13
+ }
14
+
15
+ export { Other }