@surfside/ads-core 2.0.22 → 2.3.0-0ff9dfa7.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 +15 -15
- package/lib/cjs/Api.js +71 -33
- package/lib/cjs/Api.js.map +1 -1
- package/lib/cjs/BuildInfo.js +6 -2
- package/lib/cjs/BuildInfo.js.map +1 -1
- package/lib/cjs/Init.js +473 -0
- package/lib/cjs/Init.js.map +1 -0
- package/lib/cjs/helpers/Functions.js.map +1 -1
- package/lib/cjs/helpers/Generator.js.map +1 -1
- package/lib/cjs/helpers/Handlebars.js +5 -2
- package/lib/cjs/helpers/Handlebars.js.map +1 -1
- package/lib/cjs/helpers/NativeRequestBuilder.js.map +1 -1
- package/lib/cjs/helpers/RequestBuilder.js +143 -25
- package/lib/cjs/helpers/RequestBuilder.js.map +1 -1
- package/lib/cjs/helpers/TelemetryCollector.js +72 -0
- package/lib/cjs/helpers/TelemetryCollector.js.map +1 -0
- package/lib/cjs/helpers/TryGet.js.map +1 -1
- package/lib/cjs/helpers/Types.js +3 -0
- package/lib/cjs/helpers/Types.js.map +1 -0
- package/lib/cjs/helpers/Window.js +52 -11
- package/lib/cjs/helpers/Window.js.map +1 -1
- package/lib/cjs/helpers/index.js +2 -0
- package/lib/cjs/helpers/index.js.map +1 -1
- package/lib/cjs/helpers/response/Banner.js +85 -0
- package/lib/cjs/helpers/response/Banner.js.map +1 -1
- package/lib/cjs/helpers/response/BuiltResponse.js.map +1 -1
- package/lib/cjs/helpers/response/Carousel.js +114 -25
- package/lib/cjs/helpers/response/Carousel.js.map +1 -1
- package/lib/cjs/helpers/response/Clickthrough.js.map +1 -1
- package/lib/cjs/helpers/response/Html.js +37 -0
- package/lib/cjs/helpers/response/Html.js.map +1 -0
- package/lib/cjs/helpers/response/ProductCard.js +10 -128
- package/lib/cjs/helpers/response/ProductCard.js.map +1 -1
- package/lib/cjs/helpers/response/Products.js +163 -0
- package/lib/cjs/helpers/response/Products.js.map +1 -0
- package/lib/cjs/helpers/response/Video.js +54 -0
- package/lib/cjs/helpers/response/Video.js.map +1 -1
- package/lib/cjs/helpers/response/index.js +59 -0
- package/lib/cjs/helpers/response/index.js.map +1 -1
- package/lib/cjs/index.js +25 -1
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/models/dynamic/DynamicZone.js.map +1 -1
- package/lib/cjs/models/dynamic/index.js.map +1 -1
- package/lib/cjs/models/index.js.map +1 -1
- package/lib/cjs/models/retail/Category.js.map +1 -1
- package/lib/cjs/models/retail/Configuration.js +34 -1
- package/lib/cjs/models/retail/Configuration.js.map +1 -1
- package/lib/cjs/models/retail/Product.js.map +1 -1
- package/lib/cjs/models/retail/Recommended.js.map +1 -1
- package/lib/cjs/models/retail/index.js +1 -0
- package/lib/cjs/models/retail/index.js.map +1 -1
- package/lib/cjs/models/rtb/BidRequest.js.map +1 -1
- package/lib/cjs/models/rtb/BidResponse.js.map +1 -1
- package/lib/cjs/models/rtb/NativeRequest.js.map +1 -1
- package/lib/cjs/models/rtb/NativeResponse.js.map +1 -1
- package/lib/cjs/models/rtb/index.js.map +1 -1
- package/lib/cjs/models/tracking/Geo.js.map +1 -1
- package/lib/cjs/models/tracking/index.js.map +1 -1
- package/lib/cjs/models/vast/Vast.js.map +1 -1
- package/lib/cjs/models/vast/index.js.map +1 -1
- package/lib/cjs/services/Bidder.js +186 -9
- package/lib/cjs/services/Bidder.js.map +1 -1
- package/lib/cjs/services/BotFiltering.js.map +1 -1
- package/lib/cjs/services/Category.js +8 -4
- package/lib/cjs/services/Category.js.map +1 -1
- package/lib/cjs/services/Configuration.js +186 -5
- package/lib/cjs/services/Configuration.js.map +1 -1
- package/lib/cjs/services/Device.js +1 -1
- package/lib/cjs/services/Device.js.map +1 -1
- package/lib/cjs/services/Dynamic.js +9 -7
- package/lib/cjs/services/Dynamic.js.map +1 -1
- package/lib/cjs/services/Geo.js +5 -1
- package/lib/cjs/services/Geo.js.map +1 -1
- package/lib/cjs/services/Logger.js +82 -14
- package/lib/cjs/services/Logger.js.map +1 -1
- package/lib/cjs/services/Memo.js +82 -14
- package/lib/cjs/services/Memo.js.map +1 -1
- package/lib/cjs/services/Memoization.js +3 -0
- package/lib/cjs/services/Memoization.js.map +1 -1
- package/lib/cjs/services/Product.js +11 -5
- package/lib/cjs/services/Product.js.map +1 -1
- package/lib/cjs/services/Recommender.js +40 -15
- package/lib/cjs/services/Recommender.js.map +1 -1
- package/lib/cjs/services/Result.js +3 -1
- package/lib/cjs/services/Result.js.map +1 -1
- package/lib/cjs/services/Template.js.map +1 -1
- package/lib/cjs/services/Tracker.js.map +1 -1
- package/lib/cjs/services/index.js.map +1 -1
- package/lib/cjs/util/Functional.js.map +1 -1
- package/lib/esm/Api.js +70 -35
- package/lib/esm/Api.js.map +1 -1
- package/lib/esm/BuildInfo.js +5 -1
- package/lib/esm/BuildInfo.js.map +1 -1
- package/lib/esm/Init.js +454 -0
- package/lib/esm/Init.js.map +1 -0
- package/lib/esm/helpers/Functions.js.map +1 -1
- package/lib/esm/helpers/Generator.js.map +1 -1
- package/lib/esm/helpers/Handlebars.js +5 -2
- package/lib/esm/helpers/Handlebars.js.map +1 -1
- package/lib/esm/helpers/NativeRequestBuilder.js.map +1 -1
- package/lib/esm/helpers/RequestBuilder.js +143 -25
- package/lib/esm/helpers/RequestBuilder.js.map +1 -1
- package/lib/esm/helpers/TelemetryCollector.js +67 -0
- package/lib/esm/helpers/TelemetryCollector.js.map +1 -0
- package/lib/esm/helpers/TryGet.js.map +1 -1
- package/lib/esm/helpers/Types.js +2 -0
- package/lib/esm/helpers/Types.js.map +1 -0
- package/lib/esm/helpers/Window.js +47 -10
- package/lib/esm/helpers/Window.js.map +1 -1
- package/lib/esm/helpers/index.js +2 -0
- package/lib/esm/helpers/index.js.map +1 -1
- package/lib/esm/helpers/response/Banner.js +81 -1
- package/lib/esm/helpers/response/Banner.js.map +1 -1
- package/lib/esm/helpers/response/BuiltResponse.js.map +1 -1
- package/lib/esm/helpers/response/Carousel.js +112 -25
- package/lib/esm/helpers/response/Carousel.js.map +1 -1
- package/lib/esm/helpers/response/Clickthrough.js.map +1 -1
- package/lib/esm/helpers/response/Html.js +33 -0
- package/lib/esm/helpers/response/Html.js.map +1 -0
- package/lib/esm/helpers/response/ProductCard.js +10 -128
- package/lib/esm/helpers/response/ProductCard.js.map +1 -1
- package/lib/esm/helpers/response/Products.js +158 -0
- package/lib/esm/helpers/response/Products.js.map +1 -0
- package/lib/esm/helpers/response/Video.js +51 -1
- package/lib/esm/helpers/response/Video.js.map +1 -1
- package/lib/esm/helpers/response/index.js +56 -0
- package/lib/esm/helpers/response/index.js.map +1 -1
- package/lib/esm/index.js +2 -1
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/models/dynamic/DynamicZone.js.map +1 -1
- package/lib/esm/models/dynamic/index.js.map +1 -1
- package/lib/esm/models/index.js.map +1 -1
- package/lib/esm/models/retail/Category.js.map +1 -1
- package/lib/esm/models/retail/Configuration.js +32 -0
- package/lib/esm/models/retail/Configuration.js.map +1 -1
- package/lib/esm/models/retail/Product.js.map +1 -1
- package/lib/esm/models/retail/Recommended.js.map +1 -1
- package/lib/esm/models/retail/index.js +1 -0
- package/lib/esm/models/retail/index.js.map +1 -1
- package/lib/esm/models/rtb/BidRequest.js.map +1 -1
- package/lib/esm/models/rtb/BidResponse.js.map +1 -1
- package/lib/esm/models/rtb/NativeRequest.js.map +1 -1
- package/lib/esm/models/rtb/NativeResponse.js.map +1 -1
- package/lib/esm/models/rtb/index.js.map +1 -1
- package/lib/esm/models/tracking/Geo.js.map +1 -1
- package/lib/esm/models/tracking/index.js.map +1 -1
- package/lib/esm/models/vast/Vast.js.map +1 -1
- package/lib/esm/models/vast/index.js.map +1 -1
- package/lib/esm/services/Bidder.js +182 -9
- package/lib/esm/services/Bidder.js.map +1 -1
- package/lib/esm/services/BotFiltering.js.map +1 -1
- package/lib/esm/services/Category.js +6 -2
- package/lib/esm/services/Category.js.map +1 -1
- package/lib/esm/services/Configuration.js +176 -5
- package/lib/esm/services/Configuration.js.map +1 -1
- package/lib/esm/services/Device.js +1 -1
- package/lib/esm/services/Device.js.map +1 -1
- package/lib/esm/services/Dynamic.js +9 -7
- package/lib/esm/services/Dynamic.js.map +1 -1
- package/lib/esm/services/Geo.js +5 -1
- package/lib/esm/services/Geo.js.map +1 -1
- package/lib/esm/services/Logger.js +78 -12
- package/lib/esm/services/Logger.js.map +1 -1
- package/lib/esm/services/Memo.js +79 -13
- package/lib/esm/services/Memo.js.map +1 -1
- package/lib/esm/services/Memoization.js +3 -0
- package/lib/esm/services/Memoization.js.map +1 -1
- package/lib/esm/services/Product.js +11 -5
- package/lib/esm/services/Product.js.map +1 -1
- package/lib/esm/services/Recommender.js +40 -15
- package/lib/esm/services/Recommender.js.map +1 -1
- package/lib/esm/services/Result.js +1 -0
- package/lib/esm/services/Result.js.map +1 -1
- package/lib/esm/services/Template.js.map +1 -1
- package/lib/esm/services/Tracker.js.map +1 -1
- package/lib/esm/services/index.js.map +1 -1
- package/lib/esm/util/Functional.js.map +1 -1
- package/lib/types/Api.d.ts +42 -18
- package/lib/types/BuildInfo.d.ts +1 -1
- package/lib/types/Init.d.ts +147 -0
- package/lib/types/helpers/Handlebars.d.ts +1 -0
- package/lib/types/helpers/RequestBuilder.d.ts +9 -2
- package/lib/types/helpers/TelemetryCollector.d.ts +25 -0
- package/lib/types/helpers/Types.d.ts +1 -0
- package/lib/types/helpers/Window.d.ts +11 -1
- package/lib/types/helpers/index.d.ts +2 -0
- package/lib/types/helpers/response/Banner.d.ts +13 -0
- package/lib/types/helpers/response/Carousel.d.ts +14 -6
- package/lib/types/helpers/response/Html.d.ts +2 -0
- package/lib/types/helpers/response/Products.d.ts +8 -0
- package/lib/types/helpers/response/Video.d.ts +17 -2
- package/lib/types/helpers/response/index.d.ts +12 -0
- package/lib/types/index.d.ts +2 -1
- package/lib/types/models/retail/Category.d.ts +1 -1
- package/lib/types/models/retail/Configuration.d.ts +17 -0
- package/lib/types/models/retail/index.d.ts +1 -0
- package/lib/types/models/rtb/BidRequest.d.ts +4 -1
- package/lib/types/models/rtb/BidResponse.d.ts +1 -0
- package/lib/types/services/Bidder.d.ts +19 -3
- package/lib/types/services/Category.d.ts +9 -1
- package/lib/types/services/Configuration.d.ts +25 -2
- package/lib/types/services/Dynamic.d.ts +5 -3
- package/lib/types/services/Logger.d.ts +36 -2
- package/lib/types/services/Memo.d.ts +28 -2
- package/lib/types/services/Memoization.d.ts +3 -0
- package/lib/types/services/Recommender.d.ts +2 -2
- package/lib/types/services/Result.d.ts +1 -0
- package/package.json +48 -47
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Device.js","sourceRoot":"
|
|
1
|
+
{"version":3,"file":"Device.js","sourceRoot":"/","sources":["services/Device.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.MissingDynamicZoneError = exports.buildDynamicBidRequestRecursive = exports.buildDynamicBidRequestFromSelectedScreenSize = exports.NoDynamicScreenSizeMatchError = exports.BuildDynamicZoneRequest = exports.GetDynamicZone = void 0;
|
|
4
|
+
const Api_1 = require("../Api");
|
|
4
5
|
const Logger_1 = require("./Logger");
|
|
5
6
|
const Result_1 = require("./Result");
|
|
6
7
|
const GetDynamicZone = async (logger, config, zoneId) => {
|
|
7
8
|
const log = (0, Logger_1.Ctx)(logger)?.with('GetDynamicZone');
|
|
8
9
|
log?.info('Getting dynamic zone', zoneId);
|
|
10
|
+
if (config.settings.excludedZones?.includes(zoneId) === true) {
|
|
11
|
+
log?.info('Zone is excluded', zoneId);
|
|
12
|
+
return (0, Result_1.Err)(new Api_1.ZoneExcludedError(zoneId));
|
|
13
|
+
}
|
|
9
14
|
const dynamicZone = config?.dynamicZones?.[zoneId];
|
|
10
15
|
if (dynamicZone === undefined) {
|
|
11
16
|
return (0, Result_1.Err)(new MissingDynamicZoneError(zoneId));
|
|
@@ -64,7 +69,7 @@ exports.NoDynamicScreenSizeMatchError = NoDynamicScreenSizeMatchError;
|
|
|
64
69
|
const buildDynamicBidRequestFromSelectedScreenSize = (logger, startRequest, nativeRequest, zoneId, screenSize, category) => {
|
|
65
70
|
const log = (0, Logger_1.Ctx)(logger)?.with('buildDynamicBidRequestFromSelectedScreenSize');
|
|
66
71
|
log?.info('Building dynamic bid request', zoneId, screenSize);
|
|
67
|
-
const requestPayload = (0, exports.buildDynamicBidRequestRecursive)(log, nativeRequest, startRequest(zoneId).withSurfCategory(category ?? []), {}, screenSize.values);
|
|
72
|
+
const requestPayload = (0, exports.buildDynamicBidRequestRecursive)(log, nativeRequest, startRequest(zoneId).withSurfCategory(category ?? []).withImp(zoneId), {}, screenSize.values);
|
|
68
73
|
if (!requestPayload.ok) {
|
|
69
74
|
return requestPayload;
|
|
70
75
|
}
|
|
@@ -88,7 +93,7 @@ const buildDynamicBidRequestRecursive = (logger, nativeRequest, builder, request
|
|
|
88
93
|
log?.info('Adding banner to request');
|
|
89
94
|
const banner = head;
|
|
90
95
|
const id = crypto.randomUUID();
|
|
91
|
-
return (0, exports.buildDynamicBidRequestRecursive)(log, nativeRequest, builder.
|
|
96
|
+
return (0, exports.buildDynamicBidRequestRecursive)(log, nativeRequest, builder.andBanner(banner.width, banner.height, undefined), {
|
|
92
97
|
...requestIds,
|
|
93
98
|
[id]: head
|
|
94
99
|
}, tail);
|
|
@@ -97,7 +102,7 @@ const buildDynamicBidRequestRecursive = (logger, nativeRequest, builder, request
|
|
|
97
102
|
log?.info('Adding video to request');
|
|
98
103
|
const video = head;
|
|
99
104
|
const id = crypto.randomUUID();
|
|
100
|
-
return (0, exports.buildDynamicBidRequestRecursive)(log, nativeRequest, builder.
|
|
105
|
+
return (0, exports.buildDynamicBidRequestRecursive)(log, nativeRequest, builder.andVideo(video.width, video.height, video.minDuration ?? 0, video.maxDuration, ['video/mp4', 'video/webm'], undefined), {
|
|
101
106
|
...requestIds,
|
|
102
107
|
[id]: head
|
|
103
108
|
}, tail);
|
|
@@ -105,10 +110,7 @@ const buildDynamicBidRequestRecursive = (logger, nativeRequest, builder, request
|
|
|
105
110
|
else if (head.type === 'Carousel' || head.type === 'ProductCard') {
|
|
106
111
|
log?.info('Adding carousel to request');
|
|
107
112
|
const id = crypto.randomUUID();
|
|
108
|
-
return (0, exports.buildDynamicBidRequestRecursive)(log, nativeRequest, builder.
|
|
109
|
-
.withMetaProduct(80, false)
|
|
110
|
-
.withMetaBrand(80, false)
|
|
111
|
-
.build(), undefined, { id }), {
|
|
113
|
+
return (0, exports.buildDynamicBidRequestRecursive)(log, nativeRequest, builder.andProductCards(nativeRequest()), {
|
|
112
114
|
...requestIds,
|
|
113
115
|
[id]: head
|
|
114
116
|
}, tail);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Dynamic.js","sourceRoot":"
|
|
1
|
+
{"version":3,"file":"Dynamic.js","sourceRoot":"/","sources":["services/Dynamic.ts"],"names":[],"mappings":"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"}
|
package/lib/cjs/services/Geo.js
CHANGED
|
@@ -7,8 +7,9 @@ const SURF_GEO_SERVICE_URL = 'https://g.surfside.io/enrich';
|
|
|
7
7
|
const LOCATION_TYPE_IP = 2;
|
|
8
8
|
const IP_SERVICES_MAXMIND = 3;
|
|
9
9
|
const GetGeo = async (logger) => {
|
|
10
|
-
const log = (0, Logger_1.Ctx)(logger)?.with('
|
|
10
|
+
const log = (0, Logger_1.Ctx)(logger)?.with('Geo');
|
|
11
11
|
log?.info('Getting Geo info');
|
|
12
|
+
const geoFetch = log?.time?.('fetch geo');
|
|
12
13
|
try {
|
|
13
14
|
const response = await fetch(SURF_GEO_SERVICE_URL);
|
|
14
15
|
log?.debug('Geo Response', response);
|
|
@@ -21,6 +22,9 @@ const GetGeo = async (logger) => {
|
|
|
21
22
|
catch (err) {
|
|
22
23
|
return (0, Result_1.Err)(err);
|
|
23
24
|
}
|
|
25
|
+
finally {
|
|
26
|
+
geoFetch?.();
|
|
27
|
+
}
|
|
24
28
|
};
|
|
25
29
|
exports.GetGeo = GetGeo;
|
|
26
30
|
class GeoServiceError extends Error {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Geo.js","sourceRoot":"
|
|
1
|
+
{"version":3,"file":"Geo.js","sourceRoot":"/","sources":["services/Geo.ts"],"names":[],"mappings":";;;AACA,qCAA6C;AAC7C,qCAAqD;AAErD,MAAM,oBAAoB,GAAG,8BAA8B,CAAC;AAI5D,MAAM,gBAAgB,GAAG,CAAC,CAAC;AAC3B,MAAM,mBAAmB,GAAG,CAAC,CAAC;AAEvB,MAAM,MAAM,GAAG,KAAK,EAAE,MAAgB,EAA4B,EAAE;IACvE,MAAM,GAAG,GAAG,IAAA,YAAG,EAAC,MAAM,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IACrC,GAAG,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAC9B,MAAM,QAAQ,GAAG,GAAG,EAAE,IAAI,EAAE,CAAC,WAAW,CAAC,CAAC;IAC1C,IAAI,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,oBAAoB,CAAC,CAAC;QACnD,GAAG,EAAE,KAAK,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;QACrC,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAiB,CAAC;QACjD,IAAI,GAAG,CAAC,KAAK,KAAK,SAAS,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YACtD,OAAO,IAAA,YAAG,EAAC,IAAI,eAAe,CAAC,GAAG,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QACpD,CAAC;QACD,OAAO,IAAA,WAAE,EAAC,GAAG,CAAC,CAAC;IACnB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,OAAO,IAAA,YAAG,EAAC,GAAY,CAAC,CAAC;IAC7B,CAAC;YAAS,CAAC;QACP,QAAQ,EAAE,EAAE,CAAC;IACjB,CAAC;AACL,CAAC,CAAC;AAjBW,QAAA,MAAM,UAiBjB;AAEF,MAAa,eAAgB,SAAQ,KAAK;CAAI;AAA9C,0CAA8C;AAEvC,MAAM,gBAAgB,GAAG,CAAC,MAA2B,EAAE,UAAuB,EAAQ,EAAE,CAAC,CAAC;IAC7F,GAAG,EAAE,UAAU,CAAC,MAAM,CAAC,QAAQ;IAC/B,GAAG,EAAE,UAAU,CAAC,MAAM,CAAC,SAAS;IAChC,IAAI,EAAE,UAAU,CAAC,IAAI;IACrB,MAAM,EAAE,UAAU,CAAC,MAAM;IACzB,OAAO,EAAE,UAAU,CAAC,OAAO;IAC3B,GAAG,EAAE,UAAU,CAAC,GAAG;IACnB,IAAI,EAAE,gBAAgB;IACtB,QAAQ,EAAE,UAAU,CAAC,MAAM,CAAC,QAAQ;IACpC,SAAS,EAAE,UAAU,CAAC,SAAS;IAC/B,SAAS,EAAE,mBAAmB;CACjC,CAAC,CAAC;AAXU,QAAA,gBAAgB,oBAW1B"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.InitLogger = exports.ITelemetryCollector = void 0;
|
|
4
|
+
exports.CreateTelemetryLogger = CreateTelemetryLogger;
|
|
5
|
+
exports.Ctx = Ctx;
|
|
4
6
|
const SURF_PREFIX_RICH = '%c[SURF]';
|
|
5
7
|
const SURF_PREFIX_BASIC = '[SURF]';
|
|
6
8
|
const SEPARATOR = ' ›';
|
|
@@ -12,6 +14,21 @@ const LogColors = {
|
|
|
12
14
|
SoftGold: '#f4bd5d',
|
|
13
15
|
MagicMint: '#baf7db'
|
|
14
16
|
};
|
|
17
|
+
class ITelemetryCollector {
|
|
18
|
+
accountId;
|
|
19
|
+
siteId;
|
|
20
|
+
channelId;
|
|
21
|
+
locationId;
|
|
22
|
+
device;
|
|
23
|
+
constructor(accountId, siteId, channelId, locationId, device) {
|
|
24
|
+
this.accountId = accountId;
|
|
25
|
+
this.siteId = siteId;
|
|
26
|
+
this.channelId = channelId;
|
|
27
|
+
this.locationId = locationId;
|
|
28
|
+
this.device = device;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
exports.ITelemetryCollector = ITelemetryCollector;
|
|
15
32
|
;
|
|
16
33
|
;
|
|
17
34
|
const log = (rich, log, args, color) => {
|
|
@@ -28,17 +45,39 @@ const info = (rich, ...args) => log(rich, console.log, ['(Info)', ...args], LogC
|
|
|
28
45
|
const warn = (rich, ...args) => log(rich, console.warn, ['(Warning)', ...args], LogColors.SoftGold);
|
|
29
46
|
const debug = (rich, ...args) => log(rich, console.debug, ['(Debug)', ...args], LogColors.MagicMint);
|
|
30
47
|
const error = (rich, ...args) => log(rich, console.error, ['(Error)', ...args], LogColors.UltraRed);
|
|
31
|
-
const context = (
|
|
32
|
-
const newPrefix =
|
|
48
|
+
const context = (logger, inheritedTags, name, tags) => {
|
|
49
|
+
const newPrefix = (name ?? UNDEF) + SEPARATOR;
|
|
50
|
+
const mergedTags = inheritedTags === undefined && tags === undefined
|
|
51
|
+
? undefined
|
|
52
|
+
: { ...(inheritedTags ?? {}), ...(tags ?? {}) };
|
|
53
|
+
const collector = logger.collector;
|
|
33
54
|
const newLogger = {
|
|
34
55
|
info: logger.info.bind(undefined, newPrefix),
|
|
35
56
|
warn: logger.warn.bind(undefined, newPrefix),
|
|
36
57
|
debug: logger.debug.bind(undefined, newPrefix),
|
|
37
58
|
error: logger.error.bind(undefined, newPrefix),
|
|
38
59
|
table: console.table,
|
|
39
|
-
with: logger.with
|
|
60
|
+
with: logger.with,
|
|
61
|
+
time: collector === undefined
|
|
62
|
+
? undefined
|
|
63
|
+
: (name) => {
|
|
64
|
+
const start = performance.now();
|
|
65
|
+
const timestamp = Date.now();
|
|
66
|
+
return () => {
|
|
67
|
+
collector.record({
|
|
68
|
+
name: newLogger.prefix !== undefined
|
|
69
|
+
? newLogger.prefix + ' ' + name
|
|
70
|
+
: name,
|
|
71
|
+
durationMs: Math.floor(performance.now() - start),
|
|
72
|
+
timestamp,
|
|
73
|
+
tags: mergedTags
|
|
74
|
+
});
|
|
75
|
+
};
|
|
76
|
+
},
|
|
77
|
+
collector,
|
|
78
|
+
prefix: newPrefix
|
|
40
79
|
};
|
|
41
|
-
newLogger.with = context.bind(undefined,
|
|
80
|
+
newLogger.with = context.bind(undefined, newLogger, mergedTags);
|
|
42
81
|
return newLogger;
|
|
43
82
|
};
|
|
44
83
|
const InitLogger = (rich = true) => {
|
|
@@ -47,17 +86,46 @@ const InitLogger = (rich = true) => {
|
|
|
47
86
|
warn: warn.bind(undefined, rich),
|
|
48
87
|
debug: debug.bind(undefined, rich),
|
|
49
88
|
error: error.bind(undefined, rich),
|
|
50
|
-
table: console.table
|
|
89
|
+
table: console.table,
|
|
51
90
|
};
|
|
52
|
-
logger.with = context.bind(undefined,
|
|
91
|
+
logger.with = context.bind(undefined, logger, undefined);
|
|
53
92
|
return logger;
|
|
54
93
|
};
|
|
55
94
|
exports.InitLogger = InitLogger;
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
95
|
+
function CreateTelemetryLogger(logger, telemetryCollector) {
|
|
96
|
+
if (logger === undefined) {
|
|
97
|
+
return undefined;
|
|
98
|
+
}
|
|
99
|
+
const log = Ctx(logger);
|
|
100
|
+
const newLogger = {
|
|
101
|
+
...log,
|
|
102
|
+
time: telemetryCollector === undefined
|
|
103
|
+
? undefined
|
|
104
|
+
: (name) => {
|
|
105
|
+
const start = performance.now();
|
|
106
|
+
const timestamp = Date.now();
|
|
107
|
+
return () => {
|
|
108
|
+
telemetryCollector.record({
|
|
109
|
+
name: newLogger.prefix !== undefined
|
|
110
|
+
? newLogger.prefix + ' ' + name
|
|
111
|
+
: name,
|
|
112
|
+
durationMs: Math.floor(performance.now() - start),
|
|
113
|
+
timestamp
|
|
114
|
+
});
|
|
115
|
+
};
|
|
116
|
+
},
|
|
117
|
+
prefix: undefined,
|
|
118
|
+
collector: telemetryCollector
|
|
119
|
+
};
|
|
120
|
+
newLogger.with = context.bind(undefined, newLogger, undefined);
|
|
121
|
+
return newLogger;
|
|
122
|
+
}
|
|
123
|
+
;
|
|
124
|
+
function Ctx(logger) {
|
|
125
|
+
return logger === undefined
|
|
126
|
+
? undefined
|
|
127
|
+
: logger?.with === undefined
|
|
128
|
+
? { ...logger, with: () => Ctx(logger) }
|
|
129
|
+
: logger;
|
|
130
|
+
}
|
|
63
131
|
//# sourceMappingURL=Logger.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Logger.js","sourceRoot":"
|
|
1
|
+
{"version":3,"file":"Logger.js","sourceRoot":"/","sources":["services/Logger.ts"],"names":[],"mappings":"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"}
|
package/lib/cjs/services/Memo.js
CHANGED
|
@@ -1,36 +1,104 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.MemoizeAsync = exports.Memoize = void 0;
|
|
4
|
-
const Memoize = (fn) => {
|
|
5
|
-
const
|
|
3
|
+
exports.CacheAsync = exports.Cache = exports.MemoizeAsync = exports.Memoize = void 0;
|
|
4
|
+
const Memoize = (fn, { minutes, hours, seconds, milliseconds, cache } = {}) => {
|
|
5
|
+
const internalCache = cache ?? new Map();
|
|
6
|
+
const cacheTimeout = (minutes === undefined &&
|
|
7
|
+
hours === undefined &&
|
|
8
|
+
seconds === undefined &&
|
|
9
|
+
milliseconds === undefined)
|
|
10
|
+
? 5 * 60 * 1_000
|
|
11
|
+
: (minutes ?? 0) * 60_000 +
|
|
12
|
+
(seconds ?? 0) * 1_000 +
|
|
13
|
+
(hours ?? 0) * 3_600_000 +
|
|
14
|
+
(milliseconds ?? 0);
|
|
6
15
|
return (...args) => {
|
|
7
16
|
const key = JSON.stringify(args);
|
|
8
|
-
if (
|
|
9
|
-
|
|
17
|
+
if (internalCache.has(key)) {
|
|
18
|
+
const [last, value] = internalCache.get(key);
|
|
19
|
+
if (Date.now() - last < cacheTimeout) {
|
|
20
|
+
return value;
|
|
21
|
+
}
|
|
10
22
|
}
|
|
11
23
|
const value = fn(...args);
|
|
12
|
-
|
|
24
|
+
internalCache.set(key, [Date.now(), value]);
|
|
13
25
|
return value;
|
|
14
26
|
};
|
|
15
27
|
};
|
|
16
28
|
exports.Memoize = Memoize;
|
|
17
|
-
const MemoizeAsync = (fn) => {
|
|
18
|
-
const
|
|
29
|
+
const MemoizeAsync = (fn, { minutes, hours, seconds, milliseconds, cache } = {}) => {
|
|
30
|
+
const internalCache = cache ?? new Map();
|
|
31
|
+
const cacheTimeout = (minutes === undefined &&
|
|
32
|
+
hours === undefined &&
|
|
33
|
+
seconds === undefined &&
|
|
34
|
+
milliseconds === undefined)
|
|
35
|
+
? 5 * 60 * 1_000
|
|
36
|
+
: (minutes ?? 0) * 60_000 +
|
|
37
|
+
(seconds ?? 0) * 1_000 +
|
|
38
|
+
(hours ?? 0) * 3_600_000 +
|
|
39
|
+
(milliseconds ?? 0);
|
|
19
40
|
return (...args) => {
|
|
20
41
|
const key = JSON.stringify(args);
|
|
21
|
-
if (
|
|
22
|
-
|
|
42
|
+
if (internalCache.has(key)) {
|
|
43
|
+
const [last, value] = internalCache.get(key);
|
|
44
|
+
if (Date.now() - last < cacheTimeout) {
|
|
45
|
+
return value;
|
|
46
|
+
}
|
|
23
47
|
}
|
|
24
48
|
const promise = fn(...args);
|
|
25
|
-
|
|
49
|
+
internalCache.set(key, [Date.now(), promise]);
|
|
26
50
|
promise.catch(() => {
|
|
27
|
-
const
|
|
28
|
-
if (promise ===
|
|
29
|
-
|
|
51
|
+
const entry = internalCache.get(key);
|
|
52
|
+
if (promise === entry?.[1]) {
|
|
53
|
+
internalCache.delete(key);
|
|
30
54
|
}
|
|
31
55
|
});
|
|
32
56
|
return promise;
|
|
33
57
|
};
|
|
34
58
|
};
|
|
35
59
|
exports.MemoizeAsync = MemoizeAsync;
|
|
60
|
+
const Cache = (fn, { minutes, hours, seconds, milliseconds, cache }) => {
|
|
61
|
+
const internalCache = cache ?? [];
|
|
62
|
+
const cacheTimeout = (minutes === undefined &&
|
|
63
|
+
hours === undefined &&
|
|
64
|
+
seconds === undefined &&
|
|
65
|
+
milliseconds === undefined)
|
|
66
|
+
? 5 * 60 * 1_000
|
|
67
|
+
: (minutes ?? 0) * 60_000 +
|
|
68
|
+
(seconds ?? 0) * 1_000 +
|
|
69
|
+
(hours ?? 0) * 3_600_000 +
|
|
70
|
+
(milliseconds ?? 0);
|
|
71
|
+
return (...args) => {
|
|
72
|
+
if ((internalCache.length === 0) || ((Date.now() - internalCache[0]) > cacheTimeout)) {
|
|
73
|
+
const newValue = fn(...args);
|
|
74
|
+
internalCache[0] = Date.now();
|
|
75
|
+
internalCache[1] = newValue;
|
|
76
|
+
return newValue;
|
|
77
|
+
}
|
|
78
|
+
return internalCache[1];
|
|
79
|
+
};
|
|
80
|
+
};
|
|
81
|
+
exports.Cache = Cache;
|
|
82
|
+
const CacheAsync = (fn, { minutes, hours, seconds, milliseconds, cache }) => {
|
|
83
|
+
const internalCache = cache ?? [];
|
|
84
|
+
const cacheTimeout = (minutes === undefined &&
|
|
85
|
+
hours === undefined &&
|
|
86
|
+
seconds === undefined &&
|
|
87
|
+
milliseconds === undefined)
|
|
88
|
+
? 5 * 60 * 1_000
|
|
89
|
+
: (minutes ?? 0) * 60_000 +
|
|
90
|
+
(seconds ?? 0) * 1_000 +
|
|
91
|
+
(hours ?? 0) * 3_600_000 +
|
|
92
|
+
(milliseconds ?? 0);
|
|
93
|
+
return (...args) => {
|
|
94
|
+
if ((internalCache.length === 0) || ((Date.now() - internalCache[0]) > cacheTimeout)) {
|
|
95
|
+
const newValue = fn(...args);
|
|
96
|
+
internalCache[0] = Date.now();
|
|
97
|
+
internalCache[1] = newValue;
|
|
98
|
+
return newValue;
|
|
99
|
+
}
|
|
100
|
+
return internalCache[1];
|
|
101
|
+
};
|
|
102
|
+
};
|
|
103
|
+
exports.CacheAsync = CacheAsync;
|
|
36
104
|
//# sourceMappingURL=Memo.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Memo.js","sourceRoot":"
|
|
1
|
+
{"version":3,"file":"Memo.js","sourceRoot":"/","sources":["services/Memo.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Memoization.js","sourceRoot":"
|
|
1
|
+
{"version":3,"file":"Memoization.js","sourceRoot":"/","sources":["services/Memoization.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACI,MAAM,IAAI,GAAG,CAAqB,EAAqB,EAAqB,EAAE;IACjF,MAAM,KAAK,GAAG,IAAI,GAAG,EAAa,CAAC;IACnC,OAAO,CAAC,GAAG,IAAO,EAAK,EAAE;QACrB,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACjB,OAAO,KAAK,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC;QAC3B,CAAC;QAED,MAAM,MAAM,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;QAC3B,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QACvB,OAAO,MAAM,CAAC;IAClB,CAAC,CAAC;AACN,CAAC,CAAC;AAZW,QAAA,IAAI,QAYf"}
|
|
@@ -7,17 +7,19 @@ const filterCategories = (productData, categories, canonicalMap) => {
|
|
|
7
7
|
if (categories !== undefined && categories.length > 0) {
|
|
8
8
|
return (0, Result_1.Ok)(productData
|
|
9
9
|
.filter(p => p.ext?.category !== undefined)
|
|
10
|
-
.filter(p => canonicalMap[p.ext.category] !== undefined)
|
|
11
|
-
.filter(p => categories.includes(canonicalMap[p.ext.category])));
|
|
10
|
+
.filter(p => canonicalMap[p.ext.category.toLowerCase()] !== undefined)
|
|
11
|
+
.filter(p => categories.includes(canonicalMap[p.ext.category.toLowerCase()])));
|
|
12
12
|
}
|
|
13
13
|
return (0, Result_1.Ok)(productData);
|
|
14
14
|
};
|
|
15
15
|
const GetAllSponsoredProducts = async (logger, url, config, accountId, locationId, nativeId, categories) => {
|
|
16
|
-
const log = (0, Logger_1.Ctx)(logger)?.with('GetSponsoredProduct')
|
|
16
|
+
const log = (0, Logger_1.Ctx)(logger)?.with('GetSponsoredProduct');
|
|
17
17
|
log?.info('Getting sponsored product');
|
|
18
18
|
log?.debug('Getting sponsored product with categories', categories);
|
|
19
19
|
try {
|
|
20
|
+
const stopTimer = log?.time?.('fetch sponsored products');
|
|
20
21
|
const rawResponse = await fetch(`${url}/native/${accountId}/${locationId}/${nativeId}.json`);
|
|
22
|
+
stopTimer?.();
|
|
21
23
|
if (rawResponse.status !== 200) {
|
|
22
24
|
log?.error('product feed service returned with non-200 response', rawResponse.status);
|
|
23
25
|
return (0, Result_1.Err)(new NoNativeError(nativeId));
|
|
@@ -48,11 +50,13 @@ const GetAllSponsoredProducts = async (logger, url, config, accountId, locationI
|
|
|
48
50
|
};
|
|
49
51
|
exports.GetAllSponsoredProducts = GetAllSponsoredProducts;
|
|
50
52
|
const GetAllSponsoredBrandProducts = async (logger, url, config, accountId, locationId, nativeId, categories) => {
|
|
51
|
-
const log = (0, Logger_1.Ctx)(logger)?.with('GetSponsoredBrandProducts')
|
|
53
|
+
const log = (0, Logger_1.Ctx)(logger)?.with('GetSponsoredBrandProducts');
|
|
52
54
|
log?.info('Getting sponsored brand-level product responses');
|
|
53
55
|
log?.debug('Getting sponsored brand-level product responses with categories', categories);
|
|
54
56
|
try {
|
|
57
|
+
const stopTimer = log?.time?.('fetch sponsored brand products');
|
|
55
58
|
const rawResponse = await fetch(`${url}/native/v2/brand/${accountId}/${locationId}/${nativeId}.json`);
|
|
59
|
+
stopTimer?.();
|
|
56
60
|
if (rawResponse.status !== 200) {
|
|
57
61
|
return (0, Result_1.Err)(new NoNativeError(nativeId));
|
|
58
62
|
}
|
|
@@ -72,10 +76,12 @@ const GetAllSponsoredBrandProducts = async (logger, url, config, accountId, loca
|
|
|
72
76
|
};
|
|
73
77
|
exports.GetAllSponsoredBrandProducts = GetAllSponsoredBrandProducts;
|
|
74
78
|
const GetRecommendedProduct = async (logger, url, config, accountId, locationId, productId) => {
|
|
75
|
-
const log = (0, Logger_1.Ctx)(logger)?.with('GetRecommendedProduct')
|
|
79
|
+
const log = (0, Logger_1.Ctx)(logger)?.with('GetRecommendedProduct');
|
|
76
80
|
log?.info('Getting recommended product');
|
|
77
81
|
try {
|
|
82
|
+
const stopTimer = log?.time?.('fetch product by id');
|
|
78
83
|
const rawResponse = await fetch(`${url}/product/${accountId}/${locationId}/${productId}.json`);
|
|
84
|
+
stopTimer?.();
|
|
79
85
|
if (rawResponse.status !== 200) {
|
|
80
86
|
log?.error('product feed service returned with non-200 response', rawResponse.status);
|
|
81
87
|
return (0, Result_1.Err)(new Error('product feed service returned with non-200 response'));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Product.js","sourceRoot":"
|
|
1
|
+
{"version":3,"file":"Product.js","sourceRoot":"/","sources":["services/Product.ts"],"names":[],"mappings":"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"}
|
|
@@ -29,7 +29,9 @@ async function* GeneratePreviousPurchases(logger, productFeed, url, accountId, s
|
|
|
29
29
|
async function* generateProductRecommendation(logger, productFeed, url, accountId, siteId, locationId, userId, type, category) {
|
|
30
30
|
const log = (0, Logger_1.Ctx)(logger)?.with('generateProductRecommendation');
|
|
31
31
|
log?.debug('Generating product recommendation');
|
|
32
|
+
const stopTimer = log?.time?.('fetch product recommendations');
|
|
32
33
|
const recommendations = await fetchRecommendations(log, url, accountId, siteId, locationId, userId, type, category);
|
|
34
|
+
stopTimer?.();
|
|
33
35
|
if (!recommendations.ok) {
|
|
34
36
|
log?.error(recommendations.error);
|
|
35
37
|
return;
|
|
@@ -43,7 +45,12 @@ const fetchRecommendations = async (logger, url, accountId, siteId, locationId,
|
|
|
43
45
|
const key = `accountId=${accountId}&siteId=${siteId}&locationId=${locationId}&userId=${userId ?? 'null'}` +
|
|
44
46
|
(category !== undefined ? `&category=${category}` : '');
|
|
45
47
|
try {
|
|
46
|
-
const results = await fetch(`${url}/r/${type}?${key}&limit=100`);
|
|
48
|
+
const results = await fetch(`${url}/r/${type}${category !== undefined ? '/category' : ''}?${key}&limit=100`);
|
|
49
|
+
if (results.status === 204 && category !== undefined) {
|
|
50
|
+
/* Try without category */
|
|
51
|
+
return await fetchRecommendations(logger, url, accountId, siteId, locationId, userId, type, undefined);
|
|
52
|
+
}
|
|
53
|
+
/* Otherwise, fail */
|
|
47
54
|
if (results.status !== 200) {
|
|
48
55
|
return (0, Result_1.Err)(new NoRecommendationsError);
|
|
49
56
|
}
|
|
@@ -60,25 +67,43 @@ const fetchRecommendations = async (logger, url, accountId, siteId, locationId,
|
|
|
60
67
|
return (0, Result_1.Err)(err);
|
|
61
68
|
}
|
|
62
69
|
};
|
|
70
|
+
const chunk = (arr, n) => {
|
|
71
|
+
const chunks = [];
|
|
72
|
+
for (let i = 0; i < arr.length; i += n) {
|
|
73
|
+
chunks.push(arr.slice(i * n, i * n + n));
|
|
74
|
+
}
|
|
75
|
+
return chunks;
|
|
76
|
+
};
|
|
63
77
|
async function* generateProduct(logger, productFeed, accountId, locationId, results) {
|
|
64
78
|
const log = (0, Logger_1.Ctx)(logger)?.with('generateProduct');
|
|
65
79
|
log?.debug('generating product info');
|
|
66
|
-
for (const
|
|
67
|
-
const
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
80
|
+
for (const items of chunk(results, 5)) {
|
|
81
|
+
const promises = items.map(async (item) => {
|
|
82
|
+
const itemId = item.item_id;
|
|
83
|
+
try {
|
|
84
|
+
log?.debug('itemId', itemId);
|
|
85
|
+
const stopTimer = log?.time?.('fetch product by id');
|
|
86
|
+
const product = await productFeed(itemId);
|
|
87
|
+
if (product.ok) {
|
|
88
|
+
stopTimer?.();
|
|
89
|
+
}
|
|
90
|
+
log?.debug('product', itemId, product);
|
|
91
|
+
if (product.ok) {
|
|
92
|
+
return product.value;
|
|
93
|
+
}
|
|
94
|
+
else {
|
|
95
|
+
log?.warn('item was missing from product feed', itemId);
|
|
96
|
+
}
|
|
74
97
|
}
|
|
75
|
-
|
|
76
|
-
log?.warn('
|
|
98
|
+
catch (err) {
|
|
99
|
+
log?.warn('couldn\'t get product', err);
|
|
77
100
|
}
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
101
|
+
return undefined;
|
|
102
|
+
});
|
|
103
|
+
const chunkedResponse = await Promise.allSettled(promises);
|
|
104
|
+
yield* chunkedResponse.filter(p => p.status === 'fulfilled')
|
|
105
|
+
.map(p => p.value)
|
|
106
|
+
.filter(p => p !== undefined);
|
|
82
107
|
}
|
|
83
108
|
log?.info('no more products. Exiting');
|
|
84
109
|
}
|