@surfside/ads-core 2.0.11 → 2.0.14

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.
@@ -1,8 +1,28 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.GetWindowInfo = void 0;
3
+ exports.NotAUrlError = exports.GetWindowInfo = exports.WindowFromUrl = void 0;
4
4
  const Api_1 = require("../Api");
5
5
  const services_1 = require("../services");
6
+ const WindowFromUrl = (urlStr) => {
7
+ try {
8
+ const url = new URL(urlStr);
9
+ return (0, services_1.Ok)({
10
+ href: url.href,
11
+ origin: url.origin,
12
+ port: url.port,
13
+ path: '/' + url.pathname.split('/').filter(part => part.length > 0).join('/'),
14
+ host: url.host,
15
+ host_name: url.hostname,
16
+ search: url.search,
17
+ hash: url.hash,
18
+ protocol: url.protocol
19
+ });
20
+ }
21
+ catch {
22
+ return (0, services_1.Err)(new NotAUrlError(urlStr));
23
+ }
24
+ };
25
+ exports.WindowFromUrl = WindowFromUrl;
6
26
  const GetWindowInfo = () => {
7
27
  if ((typeof window) === 'undefined') {
8
28
  return (0, services_1.Err)(new Api_1.NotABrowserError());
@@ -21,4 +41,12 @@ const GetWindowInfo = () => {
21
41
  });
22
42
  };
23
43
  exports.GetWindowInfo = GetWindowInfo;
44
+ class NotAUrlError extends Error {
45
+ url;
46
+ constructor(url) {
47
+ super('Given string not a URL');
48
+ this.url = url;
49
+ }
50
+ }
51
+ exports.NotAUrlError = NotAUrlError;
24
52
  //# sourceMappingURL=Window.js.map
@@ -1 +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"}
1
+ {"version":3,"file":"Window.js","sourceRoot":"src/","sources":["helpers/Window.ts"],"names":[],"mappings":";;;AAAA,gCAA0C;AAE1C,0CAAmD;AAE5C,MAAM,aAAa,GAAG,CAAC,MAAc,EAAyC,EAAE;IACnF,IAAI,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;QAC5B,OAAO,IAAA,aAAE,EAAC;YACN,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,IAAI,EAAE,GAAG,GAAG,GAAG,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;YAC7E,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,SAAS,EAAE,GAAG,CAAC,QAAQ;YACvB,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,QAAQ,EAAE,GAAG,CAAC,QAAQ;SACzB,CAAC,CAAC;IACP,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,IAAA,cAAG,EAAC,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;IACzC,CAAC;AACL,CAAC,CAAC;AAjBW,QAAA,aAAa,iBAiBxB;AAEK,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;AAEF,MAAa,YAAa,SAAQ,KAAK;IAChB;IAAnB,YAAmB,GAAW;QAC1B,KAAK,CAAC,wBAAwB,CAAC,CAAC;QADjB,QAAG,GAAH,GAAG,CAAQ;IAE9B,CAAC;CACJ;AAJD,oCAIC"}
@@ -57,37 +57,62 @@ const GetConfiguration = async (logger, url, handlebars, helpers, accountId, sit
57
57
  }
58
58
  };
59
59
  exports.GetConfiguration = GetConfiguration;
60
+ const empty = () => '';
60
61
  const mapConfig = async (logger, handlebars, helpers, config) => {
61
62
  const log = (0, _1.Ctx)(logger)?.with('mapConfig');
62
- log?.debug('mapping configuration');
63
- const productCardTemplate = handlebars.template((await importModule(log, `export default ${config.templates?.productCardTemplate ?? ''}`)).default);
64
- const clickthroughTemplate = handlebars.template((await importModule(log, `export default ${config.templates?.clickThroughUrlTemplate ?? ''}`)).default);
65
- return (0, _1.Ok)({
66
- settings: config.settings,
67
- templates: {
68
- clickThroughUrlTemplate: (context) => clickthroughTemplate(context, { helpers }),
69
- productCardTemplate: (context) => productCardTemplate(context, { helpers }),
70
- javascriptCallbacks: await importModule(log, config.templates?.javascriptCallbacks ?? ''),
71
- productCardStylesheet: config.templates?.productCardStylesheet,
72
- carouselStylesheet: config.templates?.carouselStylesheet
73
- },
74
- dynamicZones: config.dynamicZones
75
- });
63
+ try {
64
+ log?.debug('mapping configuration');
65
+ /* ===== Product Template ====== */
66
+ const productTemplateRaw = await importModule(log, config.templates?.productCardTemplate);
67
+ log?.debug('productTemplateRaw', productTemplateRaw);
68
+ const productCardTemplate = productTemplateRaw !== undefined
69
+ ? handlebars.template(productTemplateRaw)
70
+ : empty;
71
+ /* ===== Clickthrough Template ====== */
72
+ const clickthroughTemplateRaw = await importModule(log, config.templates?.clickThroughUrlTemplate);
73
+ log?.debug('clickthroughTemplateRaw', clickthroughTemplateRaw);
74
+ const clickthroughTemplate = clickthroughTemplateRaw !== undefined
75
+ ? handlebars.template(clickthroughTemplateRaw)
76
+ : empty;
77
+ return (0, _1.Ok)({
78
+ settings: config.settings,
79
+ templates: {
80
+ clickThroughUrlTemplate: (context) => clickthroughTemplate(context, { helpers }),
81
+ productCardTemplate: (context) => productCardTemplate(context, { helpers }),
82
+ javascriptCallbacks: await importModule(log, config.templates?.javascriptCallbacks),
83
+ productCardStylesheet: config.templates?.productCardStylesheet,
84
+ carouselStylesheet: config.templates?.carouselStylesheet
85
+ },
86
+ dynamicZones: config.dynamicZones
87
+ });
88
+ }
89
+ catch (e) {
90
+ log?.error('Failed to init configuration!', e);
91
+ return (0, _1.Err)(e);
92
+ }
76
93
  };
77
94
  const importModule = async (logger, script) => {
78
95
  const log = (0, _1.Ctx)(logger)?.with('importModule');
79
- log?.debug('importing', script);
80
- log?.debug('typeof window: ', typeof window);
81
- if (typeof window !== 'undefined') { /* Clientside */
82
- const blob = new Blob([script], { type: 'text/javascript' });
83
- const moduleUrl = URL.createObjectURL(blob);
84
- log?.debug('moduleUrl', moduleUrl);
85
- const module = await Promise.resolve(`${moduleUrl}`).then(s => __importStar(require(s)));
86
- log?.debug('module:', module);
87
- return module;
96
+ if (script === undefined) {
97
+ return undefined;
98
+ }
99
+ try {
100
+ log?.debug('importing', script);
101
+ log?.debug('typeof window: ', typeof window);
102
+ if (typeof window !== 'undefined') { /* Clientside */
103
+ const blob = new Blob([`export default ${script}`], { type: 'text/javascript' });
104
+ const moduleUrl = URL.createObjectURL(blob);
105
+ log?.debug('moduleUrl', moduleUrl);
106
+ const module = await Promise.resolve(`${moduleUrl}`).then(s => __importStar(require(s)));
107
+ log?.debug('module:', module);
108
+ return module.default;
109
+ }
110
+ else {
111
+ return new Function(`return ${script}`)();
112
+ }
88
113
  }
89
- else {
90
- return new Function(script);
114
+ catch (e) {
115
+ log?.warn('Didn\'t parse module - not an error, your template is probably just empty', e, script);
91
116
  }
92
117
  };
93
118
  //# sourceMappingURL=Configuration.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Configuration.js","sourceRoot":"src/","sources":["services/Configuration.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Configuration.js","sourceRoot":"src/","sources":["services/Configuration.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,24 @@
1
1
  import { NotABrowserError } from '../Api';
2
2
  import { Err, Ok } from '../services';
3
+ export const WindowFromUrl = (urlStr) => {
4
+ try {
5
+ const url = new URL(urlStr);
6
+ return Ok({
7
+ href: url.href,
8
+ origin: url.origin,
9
+ port: url.port,
10
+ path: '/' + url.pathname.split('/').filter(part => part.length > 0).join('/'),
11
+ host: url.host,
12
+ host_name: url.hostname,
13
+ search: url.search,
14
+ hash: url.hash,
15
+ protocol: url.protocol
16
+ });
17
+ }
18
+ catch {
19
+ return Err(new NotAUrlError(urlStr));
20
+ }
21
+ };
3
22
  export const GetWindowInfo = () => {
4
23
  if ((typeof window) === 'undefined') {
5
24
  return Err(new NotABrowserError());
@@ -17,4 +36,11 @@ export const GetWindowInfo = () => {
17
36
  protocol: window.location.protocol
18
37
  });
19
38
  };
39
+ export class NotAUrlError extends Error {
40
+ url;
41
+ constructor(url) {
42
+ super('Given string not a URL');
43
+ this.url = url;
44
+ }
45
+ }
20
46
  //# sourceMappingURL=Window.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Window.js","sourceRoot":"src/","sources":["helpers/Window.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAE1C,OAAO,EAAE,GAAG,EAAE,EAAE,EAAe,MAAM,aAAa,CAAC;AAEnD,MAAM,CAAC,MAAM,aAAa,GAAG,GAA0C,EAAE;IACrE,IAAI,CAAC,OAAO,MAAM,CAAC,KAAK,WAAW,EAAE,CAAC;QAClC,OAAO,GAAG,CAAC,IAAI,gBAAgB,EAAE,CAAC,CAAC;IACvC,CAAC;IAAA,CAAC;IACF,OAAO,EAAE,CAAC;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"}
1
+ {"version":3,"file":"Window.js","sourceRoot":"src/","sources":["helpers/Window.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAE1C,OAAO,EAAE,GAAG,EAAE,EAAE,EAAe,MAAM,aAAa,CAAC;AAEnD,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,MAAc,EAAyC,EAAE;IACnF,IAAI,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;QAC5B,OAAO,EAAE,CAAC;YACN,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,IAAI,EAAE,GAAG,GAAG,GAAG,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;YAC7E,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,SAAS,EAAE,GAAG,CAAC,QAAQ;YACvB,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,QAAQ,EAAE,GAAG,CAAC,QAAQ;SACzB,CAAC,CAAC;IACP,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,GAAG,CAAC,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;IACzC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,GAA0C,EAAE;IACrE,IAAI,CAAC,OAAO,MAAM,CAAC,KAAK,WAAW,EAAE,CAAC;QAClC,OAAO,GAAG,CAAC,IAAI,gBAAgB,EAAE,CAAC,CAAC;IACvC,CAAC;IAAA,CAAC;IACF,OAAO,EAAE,CAAC;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;AAEF,MAAM,OAAO,YAAa,SAAQ,KAAK;IAChB;IAAnB,YAAmB,GAAW;QAC1B,KAAK,CAAC,wBAAwB,CAAC,CAAC;QADjB,QAAG,GAAH,GAAG,CAAQ;IAE9B,CAAC;CACJ"}
@@ -20,37 +20,62 @@ export const GetConfiguration = async (logger, url, handlebars, helpers, account
20
20
  return Err(err);
21
21
  }
22
22
  };
23
+ const empty = () => '';
23
24
  const mapConfig = async (logger, handlebars, helpers, config) => {
24
25
  const log = Ctx(logger)?.with('mapConfig');
25
- log?.debug('mapping configuration');
26
- const productCardTemplate = handlebars.template((await importModule(log, `export default ${config.templates?.productCardTemplate ?? ''}`)).default);
27
- const clickthroughTemplate = handlebars.template((await importModule(log, `export default ${config.templates?.clickThroughUrlTemplate ?? ''}`)).default);
28
- return Ok({
29
- settings: config.settings,
30
- templates: {
31
- clickThroughUrlTemplate: (context) => clickthroughTemplate(context, { helpers }),
32
- productCardTemplate: (context) => productCardTemplate(context, { helpers }),
33
- javascriptCallbacks: await importModule(log, config.templates?.javascriptCallbacks ?? ''),
34
- productCardStylesheet: config.templates?.productCardStylesheet,
35
- carouselStylesheet: config.templates?.carouselStylesheet
36
- },
37
- dynamicZones: config.dynamicZones
38
- });
26
+ try {
27
+ log?.debug('mapping configuration');
28
+ /* ===== Product Template ====== */
29
+ const productTemplateRaw = await importModule(log, config.templates?.productCardTemplate);
30
+ log?.debug('productTemplateRaw', productTemplateRaw);
31
+ const productCardTemplate = productTemplateRaw !== undefined
32
+ ? handlebars.template(productTemplateRaw)
33
+ : empty;
34
+ /* ===== Clickthrough Template ====== */
35
+ const clickthroughTemplateRaw = await importModule(log, config.templates?.clickThroughUrlTemplate);
36
+ log?.debug('clickthroughTemplateRaw', clickthroughTemplateRaw);
37
+ const clickthroughTemplate = clickthroughTemplateRaw !== undefined
38
+ ? handlebars.template(clickthroughTemplateRaw)
39
+ : empty;
40
+ return Ok({
41
+ settings: config.settings,
42
+ templates: {
43
+ clickThroughUrlTemplate: (context) => clickthroughTemplate(context, { helpers }),
44
+ productCardTemplate: (context) => productCardTemplate(context, { helpers }),
45
+ javascriptCallbacks: await importModule(log, config.templates?.javascriptCallbacks),
46
+ productCardStylesheet: config.templates?.productCardStylesheet,
47
+ carouselStylesheet: config.templates?.carouselStylesheet
48
+ },
49
+ dynamicZones: config.dynamicZones
50
+ });
51
+ }
52
+ catch (e) {
53
+ log?.error('Failed to init configuration!', e);
54
+ return Err(e);
55
+ }
39
56
  };
40
57
  const importModule = async (logger, script) => {
41
58
  const log = Ctx(logger)?.with('importModule');
42
- log?.debug('importing', script);
43
- log?.debug('typeof window: ', typeof window);
44
- if (typeof window !== 'undefined') { /* Clientside */
45
- const blob = new Blob([script], { type: 'text/javascript' });
46
- const moduleUrl = URL.createObjectURL(blob);
47
- log?.debug('moduleUrl', moduleUrl);
48
- const module = await import(/* @vite-ignore */ /*webpackIgnore: true */ moduleUrl);
49
- log?.debug('module:', module);
50
- return module;
59
+ if (script === undefined) {
60
+ return undefined;
61
+ }
62
+ try {
63
+ log?.debug('importing', script);
64
+ log?.debug('typeof window: ', typeof window);
65
+ if (typeof window !== 'undefined') { /* Clientside */
66
+ const blob = new Blob([`export default ${script}`], { type: 'text/javascript' });
67
+ const moduleUrl = URL.createObjectURL(blob);
68
+ log?.debug('moduleUrl', moduleUrl);
69
+ const module = await import(/* @vite-ignore */ /*webpackIgnore: true */ moduleUrl);
70
+ log?.debug('module:', module);
71
+ return module.default;
72
+ }
73
+ else {
74
+ return new Function(`return ${script}`)();
75
+ }
51
76
  }
52
- else {
53
- return new Function(script);
77
+ catch (e) {
78
+ log?.warn('Didn\'t parse module - not an error, your template is probably just empty', e, script);
54
79
  }
55
80
  };
56
81
  //# sourceMappingURL=Configuration.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Configuration.js","sourceRoot":"src/","sources":["services/Configuration.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Configuration.js","sourceRoot":"src/","sources":["services/Configuration.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,8 @@
1
1
  import { type INativeTemplateDelegateWindow } from '../models';
2
2
  import { type Result } from '../services';
3
+ export declare const WindowFromUrl: (urlStr: string) => Result<INativeTemplateDelegateWindow>;
3
4
  export declare const GetWindowInfo: () => Result<INativeTemplateDelegateWindow>;
5
+ export declare class NotAUrlError extends Error {
6
+ url: string;
7
+ constructor(url: string);
8
+ }
@@ -43,7 +43,7 @@ export interface ICompiledPublisherConfigurationTemplates {
43
43
  clickThroughUrlTemplate: TemplateDelegate;
44
44
  productCardStylesheet: string;
45
45
  carouselStylesheet: string;
46
- javascriptCallbacks: Callbacks;
46
+ javascriptCallbacks?: Callbacks;
47
47
  }
48
48
  export interface ICompiledPublisherConfigurationSettingsDTO {
49
49
  commerceMediaEnabled: boolean;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@surfside/ads-core",
3
- "version": "2.0.11",
3
+ "version": "2.0.14",
4
4
  "module": "./lib/esm/index.js",
5
5
  "main": "./lib/cjs/index.js",
6
6
  "types": "./lib/types/index.d.ts",