@surfside/ads-core 2.0.15 → 2.0.16
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/lib/cjs/Api.js +18 -11
- package/lib/cjs/Api.js.map +1 -1
- package/lib/cjs/BuildInfo.js +1 -1
- package/lib/cjs/helpers/Handlebars.js +97 -39
- package/lib/cjs/helpers/Handlebars.js.map +1 -1
- package/lib/cjs/helpers/response/Clickthrough.js +4 -1
- package/lib/cjs/helpers/response/Clickthrough.js.map +1 -1
- package/lib/cjs/services/BotFiltering.js +43 -0
- package/lib/cjs/services/BotFiltering.js.map +1 -0
- package/lib/cjs/services/Configuration.js +17 -7
- package/lib/cjs/services/Configuration.js.map +1 -1
- package/lib/cjs/services/Template.js +2 -2
- package/lib/cjs/services/Template.js.map +1 -1
- package/lib/esm/Api.js +19 -12
- package/lib/esm/Api.js.map +1 -1
- package/lib/esm/BuildInfo.js +1 -1
- package/lib/esm/helpers/Handlebars.js +92 -36
- package/lib/esm/helpers/Handlebars.js.map +1 -1
- package/lib/esm/helpers/response/Clickthrough.js +4 -1
- package/lib/esm/helpers/response/Clickthrough.js.map +1 -1
- package/lib/esm/services/BotFiltering.js +38 -0
- package/lib/esm/services/BotFiltering.js.map +1 -0
- package/lib/esm/services/Template.js +2 -2
- package/lib/esm/services/Template.js.map +1 -1
- package/lib/types/helpers/Handlebars.d.ts +23 -3
- package/lib/types/services/BotFiltering.d.ts +3 -0
- package/package.json +1 -1
package/lib/cjs/Api.js
CHANGED
|
@@ -13,6 +13,7 @@ const Window_1 = require("./helpers/Window");
|
|
|
13
13
|
const Template_1 = require("./services/Template");
|
|
14
14
|
const Dynamic_1 = require("./services/Dynamic");
|
|
15
15
|
const Category_1 = require("./services/Category");
|
|
16
|
+
const BotFiltering_1 = require("./services/BotFiltering");
|
|
16
17
|
exports.PROD_BIDDER = '//bid.surfside.io/rtb/bids/surfside';
|
|
17
18
|
exports.PROD_CONFIGURATION_SERVICE = '//r.surfside.io';
|
|
18
19
|
exports.PROD_SPONSORED_PRODUCT_FEED = '//creative.surfside.io';
|
|
@@ -62,6 +63,12 @@ async function InitSurfAdsCoreInternal(internalApiDto) {
|
|
|
62
63
|
});
|
|
63
64
|
const startNative = helpers_1.StartNative.bind(undefined, logger);
|
|
64
65
|
const defaultNative = helpers_1.DefaultNative.bind(undefined, logger);
|
|
66
|
+
const ua = navigator.userAgent;
|
|
67
|
+
const requestBidsFiltered = (0, BotFiltering_1.FilterBots)(logger, ua, requestBids, async (request) => (0, services_1.Err)(new services_1.NoBidsError(request)));
|
|
68
|
+
const getRecommendedProductFiltered = (0, BotFiltering_1.FilterBots)(logger, ua, getRecommendedProduct, async () => (0, services_1.Err)(new services_1.NoRecommendationsError()));
|
|
69
|
+
const generateTopProductsFiltered = (0, BotFiltering_1.FilterBotsAsyncGenerator)(logger, ua, generateTopProducts);
|
|
70
|
+
const generateForYouFiltered = (0, BotFiltering_1.FilterBotsAsyncGenerator)(logger, ua, generateForYou);
|
|
71
|
+
const generatePreviousPurchasesFiltered = (0, BotFiltering_1.FilterBotsAsyncGenerator)(logger, ua, generatePreviousPurchases);
|
|
65
72
|
return (0, services_1.Ok)({
|
|
66
73
|
logger,
|
|
67
74
|
getDevice,
|
|
@@ -72,31 +79,31 @@ async function InitSurfAdsCoreInternal(internalApiDto) {
|
|
|
72
79
|
getConfiguration,
|
|
73
80
|
generateCategories,
|
|
74
81
|
handlebars,
|
|
75
|
-
requestBids,
|
|
82
|
+
requestBids: requestBidsFiltered,
|
|
76
83
|
startRequest,
|
|
77
84
|
startNative,
|
|
78
85
|
defaultNative,
|
|
79
86
|
getAllSponsoredProducts,
|
|
80
|
-
getRecommendedProduct,
|
|
81
|
-
generateTopProducts,
|
|
82
|
-
generateForYou,
|
|
83
|
-
generatePreviousPurchases,
|
|
87
|
+
getRecommendedProduct: getRecommendedProductFiltered,
|
|
88
|
+
generateTopProducts: generateTopProductsFiltered,
|
|
89
|
+
generateForYou: generateForYouFiltered,
|
|
90
|
+
generatePreviousPurchases: generatePreviousPurchasesFiltered,
|
|
84
91
|
buildAllSponsoredProductCardResponses,
|
|
85
92
|
generateSponsoredProductCardResponse,
|
|
86
93
|
evaluateProductCardTemplate,
|
|
87
94
|
evaluateClickthroughTemplate,
|
|
88
|
-
buildSponsoredCarousel: Carousel_1.BuildSponsoredCarousel.bind(undefined, logger,
|
|
89
|
-
buildSponsoredCarouselFromInitialBid: Carousel_1.BuildSponsoredCarouselFromInitialBid.bind(undefined, logger,
|
|
90
|
-
buildHybridCarouselFromInitialBid: Carousel_1.BuildHybridCarouselFromInitialBid.bind(undefined, logger, evaluateClickthroughTemplate,
|
|
91
|
-
buildRecommendedCarousel: Carousel_1.BuildRecommendedCarousel.bind(undefined, logger, evaluateClickthroughTemplate,
|
|
92
|
-
buildHybridCarousel: Carousel_1.BuildHybridCarousel.bind(undefined, logger, evaluateClickthroughTemplate,
|
|
95
|
+
buildSponsoredCarousel: Carousel_1.BuildSponsoredCarousel.bind(undefined, logger, requestBidsFiltered, generateSponsoredProductCardResponse),
|
|
96
|
+
buildSponsoredCarouselFromInitialBid: Carousel_1.BuildSponsoredCarouselFromInitialBid.bind(undefined, logger, requestBidsFiltered, generateSponsoredProductCardResponse),
|
|
97
|
+
buildHybridCarouselFromInitialBid: Carousel_1.BuildHybridCarouselFromInitialBid.bind(undefined, logger, evaluateClickthroughTemplate, requestBidsFiltered, generateSponsoredProductCardResponse, generateTopProductsFiltered, generatePreviousPurchasesFiltered, generateForYouFiltered, userId),
|
|
98
|
+
buildRecommendedCarousel: Carousel_1.BuildRecommendedCarousel.bind(undefined, logger, evaluateClickthroughTemplate, generateTopProductsFiltered, generatePreviousPurchasesFiltered, generateForYouFiltered, userId),
|
|
99
|
+
buildHybridCarousel: Carousel_1.BuildHybridCarousel.bind(undefined, logger, evaluateClickthroughTemplate, requestBidsFiltered, generateSponsoredProductCardResponse, generateTopProductsFiltered, generatePreviousPurchasesFiltered, generateForYouFiltered, userId),
|
|
93
100
|
getDynamicZone,
|
|
94
101
|
buildDynamicZoneRequest: Dynamic_1.BuildDynamicZoneRequest.bind(undefined, logger, startRequest, defaultNative, screenInfo)
|
|
95
102
|
});
|
|
96
103
|
}
|
|
97
104
|
const InitSurfAdsCoreServices = async (logger, bidderServiceUrl, configurationServiceUrl, productFeedUrl, recommendedProductFeedUrl, recommenderServiceUrl, dynamicZoneServiceUrl, windowInfo, screenInfo, navigator, mobile, ip, geoProviderToken, accountId, siteId, channelId, locationId, userId) => {
|
|
98
105
|
const handlebars = runtime_1.default.create();
|
|
99
|
-
const helpers = (0, helpers_1.GetHelpers)();
|
|
106
|
+
const helpers = (0, helpers_1.GetHelpers)(windowInfo);
|
|
100
107
|
const log = (0, services_1.Ctx)(logger)?.with('HandlebarInit');
|
|
101
108
|
log?.info('Initializing handlebars helpers');
|
|
102
109
|
for (const name in helpers) {
|
package/lib/cjs/Api.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Api.js","sourceRoot":"src/","sources":["Api.ts"],"names":[],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"Api.js","sourceRoot":"src/","sources":["Api.ts"],"names":[],"mappings":";;;;;;AAoOA,0DA2LC;AA9ZD,yCA6BoB;AACpB,uCAYmB;AACnB,iEAA4C;AAC5C,0DAWqC;AACrC,6CAAiD;AACjD,kDAK6B;AAC7B,gDAK4B;AAC5B,kDAAoF;AACpF,0DAA+E;AAElE,QAAA,WAAW,GAAG,qCAAqC,CAAC;AACpD,QAAA,0BAA0B,GAAG,iBAAiB,CAAC;AAC/C,QAAA,2BAA2B,GAAG,wBAAwB,CAAC;AACvD,QAAA,6BAA6B,GAAG,wBAAwB,CAAC;AACzD,QAAA,wBAAwB,GAAG,iBAAiB,CAAC;AAC7C,QAAA,yBAAyB,GAAG,kBAAkB,CAAC;AAE5D,MAAM,GAAG,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,QAAQ,GAAG,GAAG,CAAC;AA8I5C;;;;;GAKG;AACI,KAAK,UAAU,uBAAuB,CAAC,cA6B7C;IACG,MAAM,EACF,SAAS,EAAE,MAAM,EACjB,SAAS,EACT,EAAE,EACF,MAAM,EACN,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,SAAS,EACT,MAAM,EACN,MAAM,EACN,SAAS,EACT,UAAU,EACV,MAAM,EACN,UAAU,EACV,UAAU,EACV,UAAU,EACV,WAAW,EACX,uBAAuB,EACvB,qBAAqB,EACrB,mBAAmB,EACnB,cAAc,EACd,yBAAyB,EACzB,cAAc,EACd,qCAAqC,EACrC,oCAAoC,EACpC,2BAA2B,EAC3B,4BAA4B,GAC/B,GAAG,cAAc,CAAC;IAEnB,MAAM,MAAM,GAAG,SAAS,CAAC,UAAU,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IACxD,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;IAE/C,MAAM,aAAa,GAAG,MAAM,gBAAgB,EAAE,CAAC;IAC/C,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,CAAC;QACpB,OAAO,IAAA,cAAG,EAAC,IAAI,yBAAyB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;IACjE,CAAC;IAED,MAAM,iBAAiB,GAAG,sBAAY,CAAC,IAAI,CAAC,SAAS,EACjD,MAAM,EACN,SAAS,EACT,MAAM,EACN,SAAS,EACT,UAAU,EACV,IAAA,mBAAQ,EAAC,MAAM,CAAC,EAChB,IAAA,mBAAQ,EAAC,GAAG,CAAC,EACb,MAAM,EACN,kBAAkB,CACrB,CAAC;IAEF,MAAM,YAAY,GAAG,CAAC,MAAc,EAAE,EAAW,EAAE,EAAE,CAAC,iBAAiB,CAAC,MAAM,EAAE,EAAE,CAAC;SAC9E,OAAO,CAAC;QACL,MAAM,EAAE,UAAU,CAAC,IAAI;QACvB,IAAI,EAAE,UAAU,CAAC,IAAI;QACrB,EAAE,EAAE,MAAM;QACV,MAAM,EAAE,UAAU,CAAC,IAAI;QACvB,SAAS,EAAE;YACP,MAAM,EAAE,UAAU,CAAC,IAAI;SAC1B;KACJ,CAAC;SACD,QAAQ,CAAC;QACN,IAAI,EAAE,UAAU,CAAC,IAAI;QACrB,EAAE,EAAE,MAAM;QACV,OAAO,EAAE,EAAE;QACX,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1B,IAAI,EAAE,UAAU,CAAC,IAAI;QACrB,MAAM,EAAE,UAAU,CAAC,IAAI;QACvB,SAAS,EAAE;YACP,EAAE,EAAE,MAAM;YACV,IAAI,EAAE,UAAU,CAAC,IAAI;YACrB,MAAM,EAAE,UAAU,CAAC,IAAI;SAC1B;QACD,GAAG,EAAE,EAAE;QACP,MAAM,EAAE,UAAU,CAAC,MAAM;KAC5B,CAAC,CAAC;IAEP,MAAM,WAAW,GAAG,qBAAW,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IACxD,MAAM,aAAa,GAAG,uBAAa,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAE5D,MAAM,EAAE,GAAG,SAAS,CAAC,SAAS,CAAC;IAE/B,MAAM,mBAAmB,GAAG,IAAA,yBAAU,EAAC,MAAM,EAAE,EAAE,EAAE,WAAW,EAAE,KAAK,EAAC,OAAO,EAAC,EAAE,CAAC,IAAA,cAAG,EAAC,IAAI,sBAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAChH,MAAM,6BAA6B,GAAG,IAAA,yBAAU,EAC5C,MAAM,EACN,EAAE,EACF,qBAAqB,EACrB,KAAK,IAAI,EAAE,CAAC,IAAA,cAAG,EAAC,IAAI,iCAAsB,EAAE,CAAC,CAChD,CAAC;IAEF,MAAM,2BAA2B,GAAG,IAAA,uCAAwB,EAAC,MAAM,EAAE,EAAE,EAAE,mBAAmB,CAAC,CAAC;IAC9F,MAAM,sBAAsB,GAAG,IAAA,uCAAwB,EAAC,MAAM,EAAE,EAAE,EAAE,cAAc,CAAC,CAAC;IACpF,MAAM,iCAAiC,GAAG,IAAA,uCAAwB,EAAC,MAAM,EAAE,EAAE,EAAE,yBAAyB,CAAC,CAAC;IAE1G,OAAO,IAAA,aAAE,EAAC;QACN,MAAM;QACN,SAAS;QACT,MAAM,EAAE,IAAA,mBAAQ,EAAC,MAAM,CAAC;QACxB,MAAM;QACN,GAAG,EAAE,IAAA,mBAAQ,EAAC,GAAG,CAAC;QAClB,aAAa,EAAE,aAAa,CAAC,KAAK;QAClC,gBAAgB;QAChB,kBAAkB;QAClB,UAAU;QACV,WAAW,EAAE,mBAAmB;QAChC,YAAY;QACZ,WAAW;QACX,aAAa;QACb,uBAAuB;QACvB,qBAAqB,EAAE,6BAA6B;QACpD,mBAAmB,EAAE,2BAA2B;QAChD,cAAc,EAAE,sBAAsB;QACtC,yBAAyB,EAAE,iCAAiC;QAC5D,qCAAqC;QACrC,oCAAoC;QACpC,2BAA2B;QAC3B,4BAA4B;QAC5B,sBAAsB,EAAE,iCAAsB,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,EACjE,mBAAmB,EACnB,oCAAoC,CACvC;QACD,oCAAoC,EAAE,+CAAoC,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,EAC7F,mBAAmB,EACnB,oCAAoC,CACvC;QACD,iCAAiC,EAAE,4CAAiC,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,EACvF,4BAA4B,EAC5B,mBAAmB,EACnB,oCAAoC,EACpC,2BAA2B,EAC3B,iCAAiC,EACjC,sBAAsB,EACtB,MAAM,CACT;QACD,wBAAwB,EAAE,mCAAwB,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,EACrE,4BAA4B,EAC5B,2BAA2B,EAC3B,iCAAiC,EACjC,sBAAsB,EACtB,MAAM,CACT;QACD,mBAAmB,EAAE,8BAAmB,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,EAC3D,4BAA4B,EAC5B,mBAAmB,EACnB,oCAAoC,EACpC,2BAA2B,EAC3B,iCAAiC,EACjC,sBAAsB,EACtB,MAAM,CAET;QACD,cAAc;QACd,uBAAuB,EAAE,iCAAuB,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,EACnE,YAAY,EACZ,aAAa,EACb,UAAU,CACb;KACJ,CAAC,CAAC;AACP,CAAC;AAEM,MAAM,uBAAuB,GAAG,KAAK,EACxC,MAA2B,EAC3B,gBAAwB,EACxB,uBAA+B,EAC/B,cAAsB,EACtB,yBAAiC,EACjC,qBAA6B,EAC7B,qBAA6B,EAC7B,UAAyC,EACzC,UAAmB,EACnB,SAAqB,EACrB,MAAe,EACf,EAAsB,EACtB,gBAAoC,EACpC,SAAiB,EACjB,MAAc,EACd,SAAiB,EACjB,UAAkB,EAClB,MAA0B,EACD,EAAE;IAC3B,MAAM,UAAU,GAAG,iBAAU,CAAC,MAAM,EAAE,CAAC;IACvC,MAAM,OAAO,GAAG,IAAA,oBAAU,EAAC,UAAU,CAAC,CAAC;IACvC,MAAM,GAAG,GAAG,IAAA,cAAG,EAAC,MAAM,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;IAC/C,GAAG,EAAE,IAAI,CAAC,iCAAiC,CAAC,CAAC;IAC7C,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,OAAO,CAAC,IAA+B,CAAC,CAAC;QACxD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACvB,GAAG,EAAE,IAAI,CAAC,UAAU,MAAM,wBAAwB,CAAC,CAAC;YACpD,SAAS;QACb,CAAC;QACD,GAAG,EAAE,KAAK,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;QACpC,UAAU,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC5C,CAAC;IACD,MAAM,oBAAoB,GAAG,2BAAgB,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,EAChE,uBAAuB,EACvB,UAAU,EACV,OAAO,EACP,SAAS,EACT,MAAM,CACT,CAAC;IAEF,MAAM,aAAa,GAAG,MAAM,oBAAoB,EAAE,CAAC;IACnD,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,CAAC;QACpB,OAAO,aAAa,CAAC;IACzB,CAAC;IAED,MAAM,sBAAsB,GAAG,gCAAqB,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,EACvE,yBAAyB,EACzB,aAAa,CAAC,KAAK,EACnB,SAAS,EACT,UAAU,CACb,CAAC;IAEF,MAAM,eAAe,GAAG,CAAC,kBAA4B,EAAE,EAAE,CAAC,IAAA,6BAAkB,EACxE,MAAM,EACN,kBAAkB,EAClB,UAAU,CAAC,IAAI,EACf,aAAa,CAAC,KAAK,CAAC,QAAQ,CAC/B,CAAC;IAEF,MAAM,uBAAuB,GAAG,kCAAuB,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,EAC1E,cAAc,EAAE,aAAa,CAAC,KAAK,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;IAChE,MAAM,4BAA4B,GAAG,uCAA4B,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,EACpF,cAAc,EAAE,aAAa,CAAC,KAAK,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;IAEhE,MAAM,2BAA2B,GAAG,8CAAoC,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,EAC3F,uBAAuB,EACvB,4BAA4B,EAC5B,UAAU,EACV,aAAa,CAAC,KAAK,CACtB,CAAC;IAEF,MAAM,4BAA4B,GAAG,iDAAsC,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,EAC9F,UAAU,EACV,aAAa,CAAC,KAAK,CACtB,CAAC;IAEF,MAAM,2BAA2B,GAAG,gDAAqC,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,EAC5F,UAAU,EACV,aAAa,CAAC,KAAK,CACtB,CAAC;IAEF,OAAO,MAAM,uBAAuB,CAAC;QACjC,MAAM;QACN,WAAW,EAAE,sBAAW,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,EAC3C,gBAAgB,EAChB,SAAS,EACT,MAAM,EACN,UAAU,EACV,SAAS,CACZ;QACD,gBAAgB,EAAE,oBAAoB;QACtC,kBAAkB,EAAE,eAAe;QACnC,MAAM,EAAE,iBAAM,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC;QACtC,SAAS,EAAE,oBAAS,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC;QAC5C,uBAAuB;QACvB,qBAAqB,EAAE,gCAAqB,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,EAC/D,yBAAyB,EACzB,aAAa,CAAC,KAAK,EACnB,SAAS,EACT,UAAU,CACb;QACD,mBAAmB,EAAE,8BAAmB,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,EAC3D,sBAAsB,EACtB,qBAAqB,EACrB,SAAS,EACT,MAAM,EACN,UAAU,CACb;QACD,cAAc,EAAE,yBAAc,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,EACjD,sBAAsB,EACtB,qBAAqB,EACrB,SAAS,EACT,MAAM,EACN,UAAU,EACV,MAAM,IAAI,WAAW,CACxB;QACD,yBAAyB,EAAE,oCAAyB,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,EACvE,sBAAsB,EACtB,qBAAqB,EACrB,SAAS,EACT,MAAM,EACN,UAAU,EACV,MAAM,IAAI,WAAW,CACxB;QACD,qCAAqC,EAAE,+CAAqC,CAAC,IAAI,CAAC,SAAS,EACvF,MAAM,EACN,uBAAuB,EACvB,4BAA4B,EAC5B,UAAU,EACV,aAAa,CAAC,KAAK,CACtB;QACD,oCAAoC,EAAE,2BAA2B;QACjE,2BAA2B;QAC3B,4BAA4B;QAC5B,UAAU;QACV,UAAU;QACV,UAAU;QACV,SAAS;QACT,MAAM;QACN,EAAE;QACF,gBAAgB;QAChB,SAAS;QACT,MAAM;QACN,SAAS;QACT,UAAU;QACV,MAAM;QACN,cAAc,EAAE,wBAAc,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,aAAa,CAAC,KAAK,CAAC;KAC9E,CAAC,CAAC;AACP,CAAC,CAAC;AArJW,QAAA,uBAAuB,2BAqJlC;AAEF,qCAAqC;AACrC,qBAAqB;AACd,MAAM,kBAAkB,GAAG,KAAK,EACnC,UAAyC,EACzC,MAAe,EACf,SAAqB,EACrB,MAAe,EACf,EAAU,EACV,gBAAwB,EACxB,SAAiB,EACjB,MAAc,EACd,SAAiB,EACjB,UAAkB,EAClB,MAA0B,EAC1B,MAAgB,EACS,EAAE,CAAC,IAAA,+BAAuB,EACnD,MAAM,EACN,GAAG,CAAC,mBAAW,CAAC,EAChB,GAAG,CAAC,kCAA0B,CAAC,EAC/B,GAAG,CAAC,mCAA2B,CAAC,EAChC,GAAG,CAAC,qCAA6B,CAAC,EAClC,GAAG,CAAC,gCAAwB,CAAC,EAC7B,GAAG,CAAC,iCAAyB,CAAC,EAC9B,UAAU,EACV,MAAM,EACN,SAAS,EACT,MAAM,EACN,EAAE,EACF,gBAAgB,EAChB,SAAS,EACT,MAAM,EACN,SAAS,EACT,UAAU,EACV,MAAM,CACT,CAAC;AAhCW,QAAA,kBAAkB,sBAgC7B;AAEF,6BAA6B;AACtB,MAAM,eAAe,GAAG,KAAK,EAChC,SAAiB,EACjB,SAAiB,EACjB,MAAc,EACd,UAAkB,EAClB,MAA0B,EAC1B,MAAgB,EACS,EAAE;IAC3B,sBAAsB;IACtB,MAAM,UAAU,GAAG,IAAA,sBAAa,GAAE,CAAC;IACnC,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC;QACjB,OAAO,UAAU,CAAC;IACtB,CAAC;IACD,OAAO,IAAA,+BAAuB,EAC1B,MAAM,EACN,GAAG,CAAC,mBAAW,CAAC,EAChB,GAAG,CAAC,kCAA0B,CAAC,EAC/B,GAAG,CAAC,mCAA2B,CAAC,EAChC,GAAG,CAAC,qCAA6B,CAAC,EAClC,GAAG,CAAC,gCAAwB,CAAC,EAC7B,GAAG,CAAC,iCAAyB,CAAC,EAC9B,UAAU,CAAC,KAAK,EAChB;QACI,KAAK,EAAE,MAAM,CAAC,UAAU;QACxB,MAAM,EAAE,MAAM,CAAC,WAAW;KAC7B,EACD,MAAM,CAAC,SAAS,EAChB,QAAQ,EAAE,EACV,SAAS,EACT,SAAS,EACT,SAAS,EACT,MAAM,EACN,SAAS,EACT,UAAU,EACV,MAAM,CACT,CAAC;AACN,CAAC,CAAC;AApCW,QAAA,eAAe,mBAoC1B;AAEF,MAAa,yBAA0B,SAAQ,KAAK;IAChD,YAAY,SAAiB,EAAE,MAAc;QACzC,KAAK,CACD,6BAA6B;YAC7B,kBAAkB,SAAS,IAAI;YAC/B,eAAe,MAAM,IAAI;YACzB,wEAAwE;YACxE,2CAA2C;YAC3C,qDAAqD,SAAS,IAAI,MAAM,EAAE,CAC7E,CAAC;IACN,CAAC;CACJ;AAXD,8DAWC;AAAA,CAAC;AAEF,MAAa,gBAAiB,SAAQ,KAAK;IACvC;QACI,KAAK,CACD,+FAA+F;YAC/F,qGAAqG;YACrG,uFAAuF;YACvF,2BAA2B;YAC3B,yDAAyD;YACzD,uDAAuD;YACvD,4DAA4D;YAC5D,2DAA2D;YAC3D,uDAAuD;YACvD,eAAe;YACf,2CAA2C;YAC3C,4BAA4B;YAC5B,8DAA8D;YAC9D,2BAA2B;YAC3B,oBAAoB;YACpB,iBAAiB;YACjB,oBAAoB;YACpB,qBAAqB;YACrB,iBAAiB;YACjB,kCAAkC;YAClC,gBAAgB;YAChB,OAAO,CACV,CAAC;IACN,CAAC;CACJ;AA3BD,4CA2BC;AAED,MAAM,QAAQ,GAAG,GAAG,EAAE,CAAC,OAAO,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC"}
|
package/lib/cjs/BuildInfo.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.SurfsideAdsCoreVersionInfo = void 0;
|
|
4
|
-
exports.SurfsideAdsCoreVersionInfo = { buildBranch: 'staging', buildHash: '
|
|
4
|
+
exports.SurfsideAdsCoreVersionInfo = { buildBranch: 'staging', buildHash: 'd67c159', buildVer: '2.0.16' };
|
|
5
5
|
//# sourceMappingURL=BuildInfo.js.map
|
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.GetHelpers = void 0;
|
|
3
|
+
exports.GetHelpers = exports.search = exports.path = void 0;
|
|
4
4
|
exports.slug = slug;
|
|
5
5
|
exports.lower = lower;
|
|
6
6
|
exports.upper = upper;
|
|
7
|
-
exports.
|
|
7
|
+
exports.money = money;
|
|
8
8
|
exports.sed = sed;
|
|
9
9
|
exports.replace = replace;
|
|
10
|
-
exports.search = search;
|
|
11
10
|
exports.coalesce = coalesce;
|
|
12
11
|
exports.join = join;
|
|
13
12
|
exports.uri = uri;
|
|
@@ -15,6 +14,7 @@ exports.eq = eq;
|
|
|
15
14
|
exports.or = or;
|
|
16
15
|
exports.and = and;
|
|
17
16
|
exports.isIn = isIn;
|
|
17
|
+
exports.global = global;
|
|
18
18
|
exports.array = array;
|
|
19
19
|
const DEFAULT_MAX_SLUG = 5;
|
|
20
20
|
/**
|
|
@@ -45,14 +45,14 @@ function slug(name, options) {
|
|
|
45
45
|
const hyphenate = options.hash.hyphenate !== undefined
|
|
46
46
|
? new RegExp(options.hash.hyphenate, 'ig')
|
|
47
47
|
: /[\s_\-,]/ig;
|
|
48
|
+
const separator = options.hash.separator ?? '-';
|
|
48
49
|
const drop = options.hash.drop !== undefined
|
|
49
50
|
? new RegExp(options.hash.drop, 'ig')
|
|
50
|
-
:
|
|
51
|
+
: new RegExp(`[^A-Za-z0-9${separator}]`, 'ig');
|
|
51
52
|
const dropBefore = options.hash.dropBefore !== undefined
|
|
52
53
|
? new RegExp(options.hash.dropBefore)
|
|
53
54
|
: undefined;
|
|
54
55
|
const maxSlug = options.hash.length ?? DEFAULT_MAX_SLUG;
|
|
55
|
-
const separator = options.hash.separator ?? '-';
|
|
56
56
|
if (dropBefore !== undefined) {
|
|
57
57
|
name = name.replace(dropBefore, '');
|
|
58
58
|
}
|
|
@@ -89,15 +89,43 @@ function upper(name) {
|
|
|
89
89
|
* @param position The position of the path component to return, 1-indexed
|
|
90
90
|
* @returns The path component at the specified position
|
|
91
91
|
*/
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
92
|
+
const path = (pathname) => (position, options) => {
|
|
93
|
+
try {
|
|
94
|
+
const actualPath = options.hash.url !== undefined
|
|
95
|
+
? (new URL(options.hash.url)).pathname
|
|
96
|
+
: pathname;
|
|
97
|
+
console.log('Using Path', actualPath, position);
|
|
98
|
+
if (position === 0 || position === undefined || position === null) {
|
|
99
|
+
return '';
|
|
100
|
+
}
|
|
101
|
+
const paths = actualPath.split('/');
|
|
102
|
+
if (paths.length <= position) {
|
|
103
|
+
return '';
|
|
104
|
+
}
|
|
105
|
+
return paths[position];
|
|
95
106
|
}
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
107
|
+
catch {
|
|
108
|
+
return undefined;
|
|
109
|
+
}
|
|
110
|
+
};
|
|
111
|
+
exports.path = path;
|
|
112
|
+
function padLeft(value, length, char) {
|
|
113
|
+
if (value.length >= length) {
|
|
114
|
+
return value;
|
|
115
|
+
}
|
|
116
|
+
for (let i = 0; i < length - value.length; i++) {
|
|
117
|
+
value = char + value;
|
|
99
118
|
}
|
|
100
|
-
return
|
|
119
|
+
return value;
|
|
120
|
+
}
|
|
121
|
+
function money(value, options) {
|
|
122
|
+
const num = Number(value);
|
|
123
|
+
const cents = Math.floor((num * 100) % 100);
|
|
124
|
+
const dollars = Math.floor(num);
|
|
125
|
+
if (options.hash.cents !== true && cents === 0) {
|
|
126
|
+
return String(num);
|
|
127
|
+
}
|
|
128
|
+
return dollars + "." + padLeft(String(cents), 2, "0");
|
|
101
129
|
}
|
|
102
130
|
/**
|
|
103
131
|
* A general-purpose string replacement tool - meant to behave like the Unix sed tool. Accepts a regex for
|
|
@@ -182,17 +210,25 @@ function sedCommand(input, char, groups, transform) {
|
|
|
182
210
|
* @param name The name of the query parameter to return
|
|
183
211
|
* @returns The value of the query parameter, or an empty string if the parameter is not found
|
|
184
212
|
*/
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
213
|
+
const search = (search) => (name, options) => {
|
|
214
|
+
try {
|
|
215
|
+
const actualSearch = options.hash.url !== undefined
|
|
216
|
+
? (new URL(options.hash.url)).search
|
|
217
|
+
: search;
|
|
218
|
+
if (name?.length === undefined || name.length === 0) {
|
|
219
|
+
return '';
|
|
220
|
+
}
|
|
221
|
+
if (actualSearch.length === 0) {
|
|
222
|
+
return '';
|
|
223
|
+
}
|
|
224
|
+
const params = new URLSearchParams(actualSearch);
|
|
225
|
+
return params.get(name) ?? '';
|
|
188
226
|
}
|
|
189
|
-
|
|
190
|
-
if (search.length === 0) {
|
|
227
|
+
catch {
|
|
191
228
|
return '';
|
|
192
229
|
}
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
}
|
|
230
|
+
};
|
|
231
|
+
exports.search = search;
|
|
196
232
|
/**
|
|
197
233
|
* Returns the first truthy argument, or an empty string if all arguments are falsy. Returns false for empty strings
|
|
198
234
|
* For example, {{coalesce false (eq "b" "d") c}} will return "c", because false is falsy, "b" is not equal to "d",
|
|
@@ -285,6 +321,23 @@ function isIn(a, b) {
|
|
|
285
321
|
}
|
|
286
322
|
return b.includes(a);
|
|
287
323
|
}
|
|
324
|
+
/**
|
|
325
|
+
* Grabs a variable off of the global window object. {{global "foo" "bar"}} will return `window.foo.bar`.
|
|
326
|
+
* If any part of the path is undefined, this returns undefined with no exceptions
|
|
327
|
+
* @returns The global variable
|
|
328
|
+
*/
|
|
329
|
+
function global(...args) {
|
|
330
|
+
let obj = window;
|
|
331
|
+
const paths = [...args];
|
|
332
|
+
while (paths.length > 0 && obj !== undefined) {
|
|
333
|
+
const path = paths.shift();
|
|
334
|
+
if (path === undefined || typeof path !== 'string') {
|
|
335
|
+
break;
|
|
336
|
+
}
|
|
337
|
+
obj = obj[path];
|
|
338
|
+
}
|
|
339
|
+
return obj;
|
|
340
|
+
}
|
|
288
341
|
/**
|
|
289
342
|
* Returns an array of the passed arguments. Useful with the "in" helper
|
|
290
343
|
* @group TemplateHelpers
|
|
@@ -293,24 +346,29 @@ function isIn(a, b) {
|
|
|
293
346
|
function array(...args) {
|
|
294
347
|
return Array.from(args).slice(0, -1);
|
|
295
348
|
}
|
|
296
|
-
const GetHelpers = () =>
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
349
|
+
const GetHelpers = (windowInfo) => {
|
|
350
|
+
return {
|
|
351
|
+
slug,
|
|
352
|
+
lower,
|
|
353
|
+
upper,
|
|
354
|
+
path: (0, exports.path)(windowInfo.path),
|
|
355
|
+
sed,
|
|
356
|
+
global,
|
|
357
|
+
replace,
|
|
358
|
+
search: (0, exports.search)(windowInfo.search),
|
|
359
|
+
coalesce,
|
|
360
|
+
join,
|
|
361
|
+
get_first: coalesce,
|
|
362
|
+
uri,
|
|
363
|
+
eq,
|
|
364
|
+
equals: eq,
|
|
365
|
+
or,
|
|
366
|
+
and,
|
|
367
|
+
isIn,
|
|
368
|
+
array,
|
|
369
|
+
money,
|
|
370
|
+
// brand
|
|
371
|
+
};
|
|
372
|
+
};
|
|
315
373
|
exports.GetHelpers = GetHelpers;
|
|
316
374
|
//# sourceMappingURL=Handlebars.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Handlebars.js","sourceRoot":"src/","sources":["helpers/Handlebars.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"Handlebars.js","sourceRoot":"src/","sources":["helpers/Handlebars.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,7 +13,10 @@ const BuildClickthroughUrl = (logger, windowInfo, configuration, product) => {
|
|
|
13
13
|
window: windowInfo,
|
|
14
14
|
publisher: configuration,
|
|
15
15
|
...product
|
|
16
|
-
})
|
|
16
|
+
})
|
|
17
|
+
.split('\n')
|
|
18
|
+
.map(c => c.trim())
|
|
19
|
+
.join(''));
|
|
17
20
|
}
|
|
18
21
|
catch (e) {
|
|
19
22
|
log?.error('Failed to execute clickthrough URL template', product, configuration, windowInfo);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Clickthrough.js","sourceRoot":"src/","sources":["helpers/response/Clickthrough.ts"],"names":[],"mappings":";;;AAKA,6CAAyE;AAElE,MAAM,oBAAoB,GAAG,CAChC,MAA2B,EAC3B,UAAyC,EACzC,aAA8C,EAC9C,OAA4B,EACd,EAAE;IAChB,MAAM,GAAG,GAAG,IAAA,cAAG,EAAC,MAAM,CAAC,EAAE,IAAI,CAAC,sBAAsB,CAAC,CAAC;IACtD,GAAG,EAAE,IAAI,CAAC,2BAA2B,CAAC,CAAC;IACvC,GAAG,EAAE,KAAK,CACN,UAAU,EACV,OAAO,EACP,aAAa,CAChB,CAAC;IACF,IAAI,CAAC;QACD,OAAO,IAAA,aAAE,EAAC,aAAa,CAAC,SAAS,CAAC,uBAAuB,CAAC;YACtD,OAAO;YACP,OAAO,EAAE,OAAO;YAChB,MAAM,EAAE,UAAU;YAClB,SAAS,EAAE,aAAa;YACxB,GAAG,OAAO;SACb,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"Clickthrough.js","sourceRoot":"src/","sources":["helpers/response/Clickthrough.ts"],"names":[],"mappings":";;;AAKA,6CAAyE;AAElE,MAAM,oBAAoB,GAAG,CAChC,MAA2B,EAC3B,UAAyC,EACzC,aAA8C,EAC9C,OAA4B,EACd,EAAE;IAChB,MAAM,GAAG,GAAG,IAAA,cAAG,EAAC,MAAM,CAAC,EAAE,IAAI,CAAC,sBAAsB,CAAC,CAAC;IACtD,GAAG,EAAE,IAAI,CAAC,2BAA2B,CAAC,CAAC;IACvC,GAAG,EAAE,KAAK,CACN,UAAU,EACV,OAAO,EACP,aAAa,CAChB,CAAC;IACF,IAAI,CAAC;QACD,OAAO,IAAA,aAAE,EAAC,aAAa,CAAC,SAAS,CAAC,uBAAuB,CAAC;YACtD,OAAO;YACP,OAAO,EAAE,OAAO;YAChB,MAAM,EAAE,UAAU;YAClB,SAAS,EAAE,aAAa;YACxB,GAAG,OAAO;SACb,CAAC;aACG,KAAK,CAAC,IAAI,CAAC;aACX,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;aAClB,IAAI,CAAC,EAAE,CAAC,CACZ,CAAC;IACN,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACT,GAAG,EAAE,KAAK,CAAC,6CAA6C,EAAE,OAAO,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC;QAC9F,OAAO,IAAA,cAAG,EAAC,CAAU,CAAC,CAAC;IAC3B,CAAC;AACL,CAAC,CAAC;AA7BW,QAAA,oBAAoB,wBA6B/B"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FilterBotsAsyncGenerator = exports.FilterBots = void 0;
|
|
4
|
+
const Logger_1 = require("./Logger");
|
|
5
|
+
const userAgents = new RegExp("(Googlebot|AdsBot-Google|AdsBot-Google-Mobile|AhrefsBot|Google-InspectionTool" +
|
|
6
|
+
"|SiteAuditBot|Storebot-Google|amazonproductbot|PetalBot|Quantcastbot|YelpBot" +
|
|
7
|
+
"|YandexRenderResourcesBot|bingbot|DuckDuckBot|DuckAssistBot|ClaudeBot|BitSightBot" +
|
|
8
|
+
"|Ai2Bot-Dolma|SEBot-WA|FullStoryBot|Thinkbot|SeekportBot|Pinterestbot|Monsidobot" +
|
|
9
|
+
"|Taboolabot|VirusTotalBot|HanaleiBot|SiteCheckerBotCrawler|eventseekerBot" +
|
|
10
|
+
"|Cocolyzebot|IndeedBot|Clearscopebot|quillbot|proximic|meta-externalagent" +
|
|
11
|
+
"|BrightEdge|SnapchatAds|YisouSpider|360Spider|Screaming Frog SEO Spider" +
|
|
12
|
+
"|tracking-quality-spider|YaDirectFetcher|AudioEyeMonitoringBot|Acunetix-Deepscan" +
|
|
13
|
+
"|vuln_scan_by_trustedsite_com_halo_security|adsbot-crawler)", "ig");
|
|
14
|
+
const FilterBots = (logger, userAgent, fn, fallback) => {
|
|
15
|
+
const log = (0, Logger_1.Ctx)(logger)?.with('FilterBots');
|
|
16
|
+
log?.info('Binding to bot filter');
|
|
17
|
+
return (...args) => {
|
|
18
|
+
log?.info('Checking if bot');
|
|
19
|
+
if (userAgents.exec(userAgent) !== null) {
|
|
20
|
+
log?.debug('Not calling function. User is bot');
|
|
21
|
+
return fallback(...args);
|
|
22
|
+
}
|
|
23
|
+
log?.debug('Returning actual function. User is not bot');
|
|
24
|
+
return fn(...args);
|
|
25
|
+
};
|
|
26
|
+
};
|
|
27
|
+
exports.FilterBots = FilterBots;
|
|
28
|
+
const FilterBotsAsyncGenerator = (logger, userAgent, fn) => {
|
|
29
|
+
const log = (0, Logger_1.Ctx)(logger)?.with('FilterBotsAsyncGenerator');
|
|
30
|
+
log?.info('Binding to generator bot filter');
|
|
31
|
+
return async function* (...args) {
|
|
32
|
+
if (userAgents.exec(userAgent) !== null) {
|
|
33
|
+
log?.debug('Not calling generator. User is bot');
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
log?.debug('Yielding original function. User is not bot');
|
|
38
|
+
yield* fn(...args);
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
};
|
|
42
|
+
exports.FilterBotsAsyncGenerator = FilterBotsAsyncGenerator;
|
|
43
|
+
//# sourceMappingURL=BotFiltering.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BotFiltering.js","sourceRoot":"src/","sources":["services/BotFiltering.ts"],"names":[],"mappings":";;;AAAA,qCAAwC;AAExC,MAAM,UAAU,GAAG,IAAI,MAAM,CACzB,+EAA+E;IAC/E,8EAA8E;IAC9E,mFAAmF;IACnF,kFAAkF;IAClF,2EAA2E;IAC3E,2EAA2E;IAC3E,yEAAyE;IACzE,kFAAkF;IAClF,6DAA6D,EAAE,IAAI,CACtE,CAAC;AAEK,MAAM,UAAU,GAAG,CACtB,MAA2B,EAC3B,SAAiB,EACjB,EAA+B,EAC/B,QAAqC,EACvC,EAAE;IACA,MAAM,GAAG,GAAG,IAAA,YAAG,EAAC,MAAM,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IAC5C,GAAG,EAAE,IAAI,CAAC,uBAAuB,CAAC,CAAC;IACnC,OAAO,CAAC,GAAG,IAAW,EAAE,EAAE;QACtB,GAAG,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC7B,IAAG,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE,CAAC;YACrC,GAAG,EAAE,KAAK,CAAC,mCAAmC,CAAC,CAAC;YAChD,OAAO,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAC;QAC7B,CAAC;QACD,GAAG,EAAE,KAAK,CAAC,4CAA4C,CAAC,CAAC;QACzD,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;IACvB,CAAC,CAAA;AACL,CAAC,CAAA;AAjBY,QAAA,UAAU,cAiBtB;AAEM,MAAM,wBAAwB,GAAG,CACpC,MAA2B,EAC3B,SAAiB,EACjB,EAA+C,EACjD,EAAE;IACA,MAAM,GAAG,GAAG,IAAA,YAAG,EAAC,MAAM,CAAC,EAAE,IAAI,CAAC,0BAA0B,CAAC,CAAC;IAC1D,GAAG,EAAE,IAAI,CAAC,iCAAiC,CAAC,CAAC;IAC7C,OAAO,KAAK,SAAS,CAAC,EAAC,GAAG,IAAW;QACjC,IAAG,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE,CAAC;YACrC,GAAG,EAAE,KAAK,CAAC,oCAAoC,CAAC,CAAC;YACjD,OAAO;QACX,CAAC;aACI,CAAC;YACF,GAAG,EAAE,KAAK,CAAC,6CAA6C,CAAC,CAAC;YAC1D,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;QACvB,CAAC;IACL,CAAC,CAAA;AACL,CAAC,CAAA;AAjBY,QAAA,wBAAwB,4BAiBpC"}
|
|
@@ -15,13 +15,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
|
|
|
15
15
|
}) : function(o, v) {
|
|
16
16
|
o["default"] = v;
|
|
17
17
|
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
};
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
25
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
36
|
exports.GetConfiguration = void 0;
|
|
27
37
|
const _1 = require(".");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Configuration.js","sourceRoot":"src/","sources":["services/Configuration.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Configuration.js","sourceRoot":"src/","sources":["services/Configuration.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,12 +10,12 @@ const EvaluateHandlebarsProductCardTemplate = (logger, windowInfo, publisher, pr
|
|
|
10
10
|
const renderedClickthrough = clickthrough ?? (0, Result_1.GetValueOrThrow)((0, exports.EvaluateHandlebarsClickthroughTemplate)(log, windowInfo, publisher, product));
|
|
11
11
|
log?.debug('Got clickthrough URL', renderedClickthrough);
|
|
12
12
|
return (0, Result_1.Ok)(publisher.templates.productCardTemplate({
|
|
13
|
-
...product,
|
|
14
13
|
product,
|
|
15
14
|
window: windowInfo,
|
|
16
15
|
publisher,
|
|
17
16
|
catalog: product,
|
|
18
|
-
clickthrough: renderedClickthrough
|
|
17
|
+
clickthrough: renderedClickthrough,
|
|
18
|
+
...product
|
|
19
19
|
}));
|
|
20
20
|
}
|
|
21
21
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Template.js","sourceRoot":"src/","sources":["services/Template.ts"],"names":[],"mappings":";;;AAKA,qCAA6C;AAC7C,qCAAiE;AAW1D,MAAM,qCAAqC,GAAG,CAAC,MAA2B,EAC7E,UAAyC,EACzC,SAA0C,EAC1C,OAA4B,EAC5B,YAAqB,EACP,EAAE;IAChB,MAAM,GAAG,GAAG,IAAA,YAAG,EAAC,MAAM,CAAC,EAAE,IAAI,CAAC,uCAAuC,CAAC,CAAC;IACvE,GAAG,EAAE,IAAI,CAAC,6CAA6C,EAAE,OAAO,CAAC,CAAC;IAElE,IAAI,CAAC;QACD,MAAM,oBAAoB,GAAG,YAAY,IAAI,IAAA,wBAAe,EACxD,IAAA,8CAAsC,EAAC,GAAG,EACtC,UAAU,EACV,SAAS,EACT,OAAO,CACV,CACJ,CAAC;QACF,GAAG,EAAE,KAAK,CAAC,sBAAsB,EAAE,oBAAoB,CAAC,CAAC;QAEzD,OAAO,IAAA,WAAE,EAAC,SAAS,CAAC,SAAS,CAAC,mBAAmB,CAAC;YAC9C,
|
|
1
|
+
{"version":3,"file":"Template.js","sourceRoot":"src/","sources":["services/Template.ts"],"names":[],"mappings":";;;AAKA,qCAA6C;AAC7C,qCAAiE;AAW1D,MAAM,qCAAqC,GAAG,CAAC,MAA2B,EAC7E,UAAyC,EACzC,SAA0C,EAC1C,OAA4B,EAC5B,YAAqB,EACP,EAAE;IAChB,MAAM,GAAG,GAAG,IAAA,YAAG,EAAC,MAAM,CAAC,EAAE,IAAI,CAAC,uCAAuC,CAAC,CAAC;IACvE,GAAG,EAAE,IAAI,CAAC,6CAA6C,EAAE,OAAO,CAAC,CAAC;IAElE,IAAI,CAAC;QACD,MAAM,oBAAoB,GAAG,YAAY,IAAI,IAAA,wBAAe,EACxD,IAAA,8CAAsC,EAAC,GAAG,EACtC,UAAU,EACV,SAAS,EACT,OAAO,CACV,CACJ,CAAC;QACF,GAAG,EAAE,KAAK,CAAC,sBAAsB,EAAE,oBAAoB,CAAC,CAAC;QAEzD,OAAO,IAAA,WAAE,EAAC,SAAS,CAAC,SAAS,CAAC,mBAAmB,CAAC;YAC9C,OAAO;YACP,MAAM,EAAE,UAAU;YAClB,SAAS;YACT,OAAO,EAAE,OAAO;YAChB,YAAY,EAAE,oBAAoB;YAClC,GAAG,OAAO;SACb,CAAC,CAAC,CAAC;IACR,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,IAAA,YAAG,EAAC,KAAc,CAAC,CAAC;IAC/B,CAAC;AACL,CAAC,CAAC;AA9BW,QAAA,qCAAqC,yCA8BhD;AAEK,MAAM,sCAAsC,GAAG,CAAC,MAA2B,EAC9E,UAAyC,EACzC,SAA0C,EAC1C,OAA4B,EACd,EAAE;IAChB,MAAM,GAAG,GAAG,IAAA,YAAG,EAAC,MAAM,CAAC,EAAE,IAAI,CAAC,wCAAwC,CAAC,CAAC;IACxE,GAAG,EAAE,IAAI,CAAC,iDAAiD,EAAE,OAAO,CAAC,CAAC;IACtE,IAAI,CAAC;QACD,OAAO,IAAA,WAAE,EAAC,SAAS,CAAC,SAAS,CAAC,uBAAuB,CAAC;YAClD,OAAO;YACP,OAAO,EAAE,OAAO;YAChB,MAAM,EAAE,UAAU;YAClB,SAAS;YACT,GAAG,OAAO;SACb,CAAC,CAAC,CAAC;IACR,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,IAAA,YAAG,EAAC,KAAc,CAAC,CAAC;IAC/B,CAAC;AACL,CAAC,CAAC;AAlBW,QAAA,sCAAsC,0CAkBjD"}
|
package/lib/esm/Api.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Err, GetValue, Ok, RequestBids, GetConfiguration, GetGeo, GetDevice, GetRecommendedProduct, GenerateTopProducts, GenerateForYou, GeneratePreviousPurchases, GetAllSponsoredProducts, GetAllSponsoredBrandProducts, Ctx, } from './services';
|
|
1
|
+
import { Err, GetValue, Ok, RequestBids, GetConfiguration, GetGeo, GetDevice, GetRecommendedProduct, GenerateTopProducts, GenerateForYou, GeneratePreviousPurchases, GetAllSponsoredProducts, GetAllSponsoredBrandProducts, Ctx, NoBidsError, NoRecommendationsError, } from './services';
|
|
2
2
|
import { BuildAllSponsoredProductCardResponses, DefaultNative, GenerateSponsoredProductCardResponse, GetHelpers, StartNative, StartRequest } from './helpers';
|
|
3
3
|
import Handlebars from 'handlebars/runtime';
|
|
4
4
|
import { BuildHybridCarousel, BuildHybridCarouselFromInitialBid, BuildRecommendedCarousel, BuildSponsoredCarousel, BuildSponsoredCarouselFromInitialBid } from './helpers/response/Carousel';
|
|
@@ -6,6 +6,7 @@ import { GetWindowInfo } from './helpers/Window';
|
|
|
6
6
|
import { EvaluateHandlebarsClickthroughTemplate, EvaluateHandlebarsProductCardTemplate } from './services/Template';
|
|
7
7
|
import { BuildDynamicZoneRequest, GetDynamicZone } from './services/Dynamic';
|
|
8
8
|
import { GenerateCategories } from './services/Category';
|
|
9
|
+
import { FilterBots, FilterBotsAsyncGenerator } from './services/BotFiltering';
|
|
9
10
|
export const PROD_BIDDER = '//bid.surfside.io/rtb/bids/surfside';
|
|
10
11
|
export const PROD_CONFIGURATION_SERVICE = '//r.surfside.io';
|
|
11
12
|
export const PROD_SPONSORED_PRODUCT_FEED = '//creative.surfside.io';
|
|
@@ -55,6 +56,12 @@ export async function InitSurfAdsCoreInternal(internalApiDto) {
|
|
|
55
56
|
});
|
|
56
57
|
const startNative = StartNative.bind(undefined, logger);
|
|
57
58
|
const defaultNative = DefaultNative.bind(undefined, logger);
|
|
59
|
+
const ua = navigator.userAgent;
|
|
60
|
+
const requestBidsFiltered = FilterBots(logger, ua, requestBids, async (request) => Err(new NoBidsError(request)));
|
|
61
|
+
const getRecommendedProductFiltered = FilterBots(logger, ua, getRecommendedProduct, async () => Err(new NoRecommendationsError()));
|
|
62
|
+
const generateTopProductsFiltered = FilterBotsAsyncGenerator(logger, ua, generateTopProducts);
|
|
63
|
+
const generateForYouFiltered = FilterBotsAsyncGenerator(logger, ua, generateForYou);
|
|
64
|
+
const generatePreviousPurchasesFiltered = FilterBotsAsyncGenerator(logger, ua, generatePreviousPurchases);
|
|
58
65
|
return Ok({
|
|
59
66
|
logger,
|
|
60
67
|
getDevice,
|
|
@@ -65,31 +72,31 @@ export async function InitSurfAdsCoreInternal(internalApiDto) {
|
|
|
65
72
|
getConfiguration,
|
|
66
73
|
generateCategories,
|
|
67
74
|
handlebars,
|
|
68
|
-
requestBids,
|
|
75
|
+
requestBids: requestBidsFiltered,
|
|
69
76
|
startRequest,
|
|
70
77
|
startNative,
|
|
71
78
|
defaultNative,
|
|
72
79
|
getAllSponsoredProducts,
|
|
73
|
-
getRecommendedProduct,
|
|
74
|
-
generateTopProducts,
|
|
75
|
-
generateForYou,
|
|
76
|
-
generatePreviousPurchases,
|
|
80
|
+
getRecommendedProduct: getRecommendedProductFiltered,
|
|
81
|
+
generateTopProducts: generateTopProductsFiltered,
|
|
82
|
+
generateForYou: generateForYouFiltered,
|
|
83
|
+
generatePreviousPurchases: generatePreviousPurchasesFiltered,
|
|
77
84
|
buildAllSponsoredProductCardResponses,
|
|
78
85
|
generateSponsoredProductCardResponse,
|
|
79
86
|
evaluateProductCardTemplate,
|
|
80
87
|
evaluateClickthroughTemplate,
|
|
81
|
-
buildSponsoredCarousel: BuildSponsoredCarousel.bind(undefined, logger,
|
|
82
|
-
buildSponsoredCarouselFromInitialBid: BuildSponsoredCarouselFromInitialBid.bind(undefined, logger,
|
|
83
|
-
buildHybridCarouselFromInitialBid: BuildHybridCarouselFromInitialBid.bind(undefined, logger, evaluateClickthroughTemplate,
|
|
84
|
-
buildRecommendedCarousel: BuildRecommendedCarousel.bind(undefined, logger, evaluateClickthroughTemplate,
|
|
85
|
-
buildHybridCarousel: BuildHybridCarousel.bind(undefined, logger, evaluateClickthroughTemplate,
|
|
88
|
+
buildSponsoredCarousel: BuildSponsoredCarousel.bind(undefined, logger, requestBidsFiltered, generateSponsoredProductCardResponse),
|
|
89
|
+
buildSponsoredCarouselFromInitialBid: BuildSponsoredCarouselFromInitialBid.bind(undefined, logger, requestBidsFiltered, generateSponsoredProductCardResponse),
|
|
90
|
+
buildHybridCarouselFromInitialBid: BuildHybridCarouselFromInitialBid.bind(undefined, logger, evaluateClickthroughTemplate, requestBidsFiltered, generateSponsoredProductCardResponse, generateTopProductsFiltered, generatePreviousPurchasesFiltered, generateForYouFiltered, userId),
|
|
91
|
+
buildRecommendedCarousel: BuildRecommendedCarousel.bind(undefined, logger, evaluateClickthroughTemplate, generateTopProductsFiltered, generatePreviousPurchasesFiltered, generateForYouFiltered, userId),
|
|
92
|
+
buildHybridCarousel: BuildHybridCarousel.bind(undefined, logger, evaluateClickthroughTemplate, requestBidsFiltered, generateSponsoredProductCardResponse, generateTopProductsFiltered, generatePreviousPurchasesFiltered, generateForYouFiltered, userId),
|
|
86
93
|
getDynamicZone,
|
|
87
94
|
buildDynamicZoneRequest: BuildDynamicZoneRequest.bind(undefined, logger, startRequest, defaultNative, screenInfo)
|
|
88
95
|
});
|
|
89
96
|
}
|
|
90
97
|
export const InitSurfAdsCoreServices = async (logger, bidderServiceUrl, configurationServiceUrl, productFeedUrl, recommendedProductFeedUrl, recommenderServiceUrl, dynamicZoneServiceUrl, windowInfo, screenInfo, navigator, mobile, ip, geoProviderToken, accountId, siteId, channelId, locationId, userId) => {
|
|
91
98
|
const handlebars = Handlebars.create();
|
|
92
|
-
const helpers = GetHelpers();
|
|
99
|
+
const helpers = GetHelpers(windowInfo);
|
|
93
100
|
const log = Ctx(logger)?.with('HandlebarInit');
|
|
94
101
|
log?.info('Initializing handlebars helpers');
|
|
95
102
|
for (const name in helpers) {
|
package/lib/esm/Api.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Api.js","sourceRoot":"src/","sources":["Api.ts"],"names":[],"mappings":"AACA,OAAO,EAEH,GAAG,EAGH,QAAQ,EACR,EAAE,EASF,WAAW,EACX,gBAAgB,EAChB,MAAM,EACN,SAAS,EACT,qBAAqB,EACrB,mBAAmB,EACnB,cAAc,EACd,yBAAyB,EAEzB,uBAAuB,EACvB,4BAA4B,EAC5B,GAAG,
|
|
1
|
+
{"version":3,"file":"Api.js","sourceRoot":"src/","sources":["Api.ts"],"names":[],"mappings":"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"}
|
package/lib/esm/BuildInfo.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const SurfsideAdsCoreVersionInfo = { buildBranch: 'staging', buildHash: '
|
|
1
|
+
export const SurfsideAdsCoreVersionInfo = { buildBranch: 'staging', buildHash: 'd67c159', buildVer: '2.0.16' };
|
|
2
2
|
//# sourceMappingURL=BuildInfo.js.map
|
|
@@ -27,14 +27,14 @@ export function slug(name, options) {
|
|
|
27
27
|
const hyphenate = options.hash.hyphenate !== undefined
|
|
28
28
|
? new RegExp(options.hash.hyphenate, 'ig')
|
|
29
29
|
: /[\s_\-,]/ig;
|
|
30
|
+
const separator = options.hash.separator ?? '-';
|
|
30
31
|
const drop = options.hash.drop !== undefined
|
|
31
32
|
? new RegExp(options.hash.drop, 'ig')
|
|
32
|
-
:
|
|
33
|
+
: new RegExp(`[^A-Za-z0-9${separator}]`, 'ig');
|
|
33
34
|
const dropBefore = options.hash.dropBefore !== undefined
|
|
34
35
|
? new RegExp(options.hash.dropBefore)
|
|
35
36
|
: undefined;
|
|
36
37
|
const maxSlug = options.hash.length ?? DEFAULT_MAX_SLUG;
|
|
37
|
-
const separator = options.hash.separator ?? '-';
|
|
38
38
|
if (dropBefore !== undefined) {
|
|
39
39
|
name = name.replace(dropBefore, '');
|
|
40
40
|
}
|
|
@@ -71,15 +71,42 @@ export function upper(name) {
|
|
|
71
71
|
* @param position The position of the path component to return, 1-indexed
|
|
72
72
|
* @returns The path component at the specified position
|
|
73
73
|
*/
|
|
74
|
-
export
|
|
75
|
-
|
|
76
|
-
|
|
74
|
+
export const path = (pathname) => (position, options) => {
|
|
75
|
+
try {
|
|
76
|
+
const actualPath = options.hash.url !== undefined
|
|
77
|
+
? (new URL(options.hash.url)).pathname
|
|
78
|
+
: pathname;
|
|
79
|
+
console.log('Using Path', actualPath, position);
|
|
80
|
+
if (position === 0 || position === undefined || position === null) {
|
|
81
|
+
return '';
|
|
82
|
+
}
|
|
83
|
+
const paths = actualPath.split('/');
|
|
84
|
+
if (paths.length <= position) {
|
|
85
|
+
return '';
|
|
86
|
+
}
|
|
87
|
+
return paths[position];
|
|
77
88
|
}
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
89
|
+
catch {
|
|
90
|
+
return undefined;
|
|
91
|
+
}
|
|
92
|
+
};
|
|
93
|
+
function padLeft(value, length, char) {
|
|
94
|
+
if (value.length >= length) {
|
|
95
|
+
return value;
|
|
96
|
+
}
|
|
97
|
+
for (let i = 0; i < length - value.length; i++) {
|
|
98
|
+
value = char + value;
|
|
99
|
+
}
|
|
100
|
+
return value;
|
|
101
|
+
}
|
|
102
|
+
export function money(value, options) {
|
|
103
|
+
const num = Number(value);
|
|
104
|
+
const cents = Math.floor((num * 100) % 100);
|
|
105
|
+
const dollars = Math.floor(num);
|
|
106
|
+
if (options.hash.cents !== true && cents === 0) {
|
|
107
|
+
return String(num);
|
|
81
108
|
}
|
|
82
|
-
return
|
|
109
|
+
return dollars + "." + padLeft(String(cents), 2, "0");
|
|
83
110
|
}
|
|
84
111
|
/**
|
|
85
112
|
* A general-purpose string replacement tool - meant to behave like the Unix sed tool. Accepts a regex for
|
|
@@ -164,17 +191,24 @@ function sedCommand(input, char, groups, transform) {
|
|
|
164
191
|
* @param name The name of the query parameter to return
|
|
165
192
|
* @returns The value of the query parameter, or an empty string if the parameter is not found
|
|
166
193
|
*/
|
|
167
|
-
export
|
|
168
|
-
|
|
169
|
-
|
|
194
|
+
export const search = (search) => (name, options) => {
|
|
195
|
+
try {
|
|
196
|
+
const actualSearch = options.hash.url !== undefined
|
|
197
|
+
? (new URL(options.hash.url)).search
|
|
198
|
+
: search;
|
|
199
|
+
if (name?.length === undefined || name.length === 0) {
|
|
200
|
+
return '';
|
|
201
|
+
}
|
|
202
|
+
if (actualSearch.length === 0) {
|
|
203
|
+
return '';
|
|
204
|
+
}
|
|
205
|
+
const params = new URLSearchParams(actualSearch);
|
|
206
|
+
return params.get(name) ?? '';
|
|
170
207
|
}
|
|
171
|
-
|
|
172
|
-
if (search.length === 0) {
|
|
208
|
+
catch {
|
|
173
209
|
return '';
|
|
174
210
|
}
|
|
175
|
-
|
|
176
|
-
return params.get(name) ?? '';
|
|
177
|
-
}
|
|
211
|
+
};
|
|
178
212
|
/**
|
|
179
213
|
* Returns the first truthy argument, or an empty string if all arguments are falsy. Returns false for empty strings
|
|
180
214
|
* For example, {{coalesce false (eq "b" "d") c}} will return "c", because false is falsy, "b" is not equal to "d",
|
|
@@ -267,6 +301,23 @@ export function isIn(a, b) {
|
|
|
267
301
|
}
|
|
268
302
|
return b.includes(a);
|
|
269
303
|
}
|
|
304
|
+
/**
|
|
305
|
+
* Grabs a variable off of the global window object. {{global "foo" "bar"}} will return `window.foo.bar`.
|
|
306
|
+
* If any part of the path is undefined, this returns undefined with no exceptions
|
|
307
|
+
* @returns The global variable
|
|
308
|
+
*/
|
|
309
|
+
export function global(...args) {
|
|
310
|
+
let obj = window;
|
|
311
|
+
const paths = [...args];
|
|
312
|
+
while (paths.length > 0 && obj !== undefined) {
|
|
313
|
+
const path = paths.shift();
|
|
314
|
+
if (path === undefined || typeof path !== 'string') {
|
|
315
|
+
break;
|
|
316
|
+
}
|
|
317
|
+
obj = obj[path];
|
|
318
|
+
}
|
|
319
|
+
return obj;
|
|
320
|
+
}
|
|
270
321
|
/**
|
|
271
322
|
* Returns an array of the passed arguments. Useful with the "in" helper
|
|
272
323
|
* @group TemplateHelpers
|
|
@@ -275,23 +326,28 @@ export function isIn(a, b) {
|
|
|
275
326
|
export function array(...args) {
|
|
276
327
|
return Array.from(args).slice(0, -1);
|
|
277
328
|
}
|
|
278
|
-
export const GetHelpers = () =>
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
329
|
+
export const GetHelpers = (windowInfo) => {
|
|
330
|
+
return {
|
|
331
|
+
slug,
|
|
332
|
+
lower,
|
|
333
|
+
upper,
|
|
334
|
+
path: path(windowInfo.path),
|
|
335
|
+
sed,
|
|
336
|
+
global,
|
|
337
|
+
replace,
|
|
338
|
+
search: search(windowInfo.search),
|
|
339
|
+
coalesce,
|
|
340
|
+
join,
|
|
341
|
+
get_first: coalesce,
|
|
342
|
+
uri,
|
|
343
|
+
eq,
|
|
344
|
+
equals: eq,
|
|
345
|
+
or,
|
|
346
|
+
and,
|
|
347
|
+
isIn,
|
|
348
|
+
array,
|
|
349
|
+
money,
|
|
350
|
+
// brand
|
|
351
|
+
};
|
|
352
|
+
};
|
|
297
353
|
//# sourceMappingURL=Handlebars.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Handlebars.js","sourceRoot":"src/","sources":["helpers/Handlebars.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Handlebars.js","sourceRoot":"src/","sources":["helpers/Handlebars.ts"],"names":[],"mappings":"AAGA,MAAM,gBAAgB,GAAW,CAAC,CAAC;AAEnC;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,IAAI,CAChB,IAAY,EACZ,OAQC;IAED,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,QAAQ,EAAE,CAAC;QACpE,OAAO,EAAE,CAAC;IACd,CAAC;IAED,MAAM,SAAS,GAAW,OAAO,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS;QAC1D,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC;QAC1C,CAAC,CAAC,YAAY,CAAC;IACnB,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,SAAS,IAAI,GAAG,CAAC;IAEhD,MAAM,IAAI,GAAW,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS;QAChD,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC;QACrC,CAAC,CAAC,IAAI,MAAM,CAAC,cAAc,SAAS,GAAG,EAAE,IAAI,CAAC,CAAC;IAEnD,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,UAAU,KAAK,SAAS;QACpD,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC;QACrC,CAAC,CAAC,SAAS,CAAC;IAEhB,MAAM,OAAO,GAAW,OAAO,CAAC,IAAI,CAAC,MAAM,IAAI,gBAAgB,CAAC;IAEhE,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC3B,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IACxC,CAAC;IACD,OAAO,IAAI;SACN,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC;SAC7B,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;SACjB,WAAW,EAAE;SACb,KAAK,CAAC,SAAS,CAAC;SAChB,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC;SACjB,IAAI,CAAC,SAAS,CAAC,CAAC;AACzB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,KAAK,CAAC,IAAY;IAC9B,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,QAAQ,EAAE,CAAC;QACpE,OAAO,EAAE,CAAC;IACd,CAAC;IACD,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;AAC9B,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,IAAY;IAC9B,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,QAAQ,EAAE,CAAC;QACpE,OAAO,EAAE,CAAC;IACd,CAAC;IACD,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;AAC9B,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,QAAgB,EAAE,EAAE,CAAC,CACtC,QAAgB,EAChB,OAIC,EACiB,EAAE;IACpB,IAAI,CAAC;QACD,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,SAAS;YAC7C,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ;YACtC,CAAC,CAAC,QAAQ,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;QAChD,IAAI,QAAQ,KAAK,CAAC,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YAChE,OAAO,EAAE,CAAC;QACd,CAAC;QACD,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACpC,IAAI,KAAK,CAAC,MAAM,IAAI,QAAQ,EAAE,CAAC;YAC3B,OAAO,EAAE,CAAC;QACd,CAAC;QACD,OAAO,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC3B,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,SAAS,CAAC;IACrB,CAAC;AACL,CAAC,CAAC;AAEF,SAAS,OAAO,CAAC,KAAa,EAAE,MAAc,EAAE,IAAY;IACxD,IAAG,KAAK,CAAC,MAAM,IAAI,MAAM,EAAE,CAAC;QACxB,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,KAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5C,KAAK,GAAG,IAAI,GAAG,KAAK,CAAC;IACzB,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,KAAsB,EAAE,OAI7C;IACG,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC1B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;IAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAEhC,IAAG,OAAO,CAAC,IAAI,CAAC,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;QAC5C,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;IACvB,CAAC;IAED,OAAO,OAAO,GAAG,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;AAC1D,CAAC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,GAAG,CAAC,KAAa,EAAE,WAAmB,EAAE,WAAmB;IACvE,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE;QACtD,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC;QACf,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAa,CAAC,CAAC,yBAAyB;QACxE,IAAI,MAAM,GAAuB,WAAW,CAAC;QAE7C,wCAAwC;QACxC,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAErF,4CAA4C;QAC5C,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,CACnD,CAAC,MAAM,CAAC,UAAU,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAC/C,CAAC;QAEF,MAAM,GAAG,UAAU,CAAC,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,WAAW,EAAE,CAAC,CAAC;QACpE,MAAM,GAAG,UAAU,CAAC,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,WAAW,EAAE,CAAC,CAAC;QACpE,MAAM,GAAG,UAAU,CAAC,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAE1D,OAAO,MAAM,IAAI,EAAE,CAAC;IACxB,CAAC,CAAC,CAAC;AACP,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,OAAO,CAAC,KAAa,EAAE,MAAc,EAAE,WAAmB,EAAE,MAAe,IAAI;IAC3F,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxC,OAAO,EAAE,CAAC;IACd,CAAC;IACD,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,SAAS,IAAI,WAAW,KAAK,IAAI,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC/F,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,IAAI,GAAG,EAAE,CAAC;QACN,OAAO,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACjD,CAAC;IACD,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;AAC9C,CAAC;AAED,SAAS,UAAU,CACf,KAAyB,EACzB,IAAY,EACZ,MAAgB,EAChB,SAA4D;IAE5D,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACtB,OAAO,SAAS,CAAC;IACrB,CAAC;IACD,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,IAAI,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,CACzE,SAAS,CAAC,MAAM,CAAC,UAAU,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAChD,CAAC;AACN,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,MAAc,EAAE,EAAE,CAAC,CACtC,IAAY,EACZ,OAIC,EACK,EAAE;IACR,IAAI,CAAC;QACD,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,SAAS;YAC/C,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM;YACpC,CAAC,CAAC,MAAM,CAAC;QACb,IAAI,IAAI,EAAE,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAClD,OAAO,EAAE,CAAC;QACd,CAAC;QACD,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,OAAO,EAAE,CAAC;QACd,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,YAAY,CAAC,CAAC;QACjD,OAAO,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IAClC,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,EAAE,CAAC;IACd,CAAC;AACL,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,UAAU,QAAQ,CAAC,GAAG,IAAW;IACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,EAAE,IAAI,GAAG,KAAK,KAAK,EAAE,CAAC;YACnE,OAAO,GAAG,CAAC;QACf,CAAC;IACL,CAAC;IACD,OAAO,EAAE,CAAC;AACd,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,IAAI,CAAC,GAAG,IAAW;IAC/B,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAClD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,yCAAyC;IAChF,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,SAAmB,IAAI,GAAG,CAAC;IAC1D,OAAO,KAAK;SACP,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,EAAE,CAAC,CAAC,kCAAkC;SACjG,IAAI,CAAC,SAAS,CAAC,CAAC;AACzB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,GAAG,CAAC,SAAiB;IACjC,IAAI,SAAS,EAAE,MAAM,KAAK,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5D,OAAO,EAAE,CAAC;IACd,CAAC;IACD,MAAM,OAAO,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;IAC9C,OAAO,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AAC3C,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,EAAE,CAAC,CAAM,EAAE,CAAM;IAC7B,OAAO,CAAC,KAAK,CAAC,CAAC;AACnB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,EAAE,CAAC,CAAM,EAAE,CAAM;IAC7B,OAAO,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;AACpC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,GAAG,CAAC,CAAM,EAAE,CAAM;IAC9B,OAAO,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;AACpC,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,IAAI,CAAC,CAAM,EAAE,CAAQ;IACjC,IAAI,CAAC,EAAE,MAAM,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5C,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;AACzB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,MAAM,CAAC,GAAG,IAAW;IACjC,IAAI,GAAG,GAAG,MAAM,CAAC;IACjB,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,CAAa,CAAC;IACpC,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QAC3C,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;QAC3B,IAAI,IAAI,KAAK,SAAS,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YACjD,MAAM;QACV,CAAC;QACD,GAAG,GAAI,GAAW,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IACD,OAAO,GAAG,CAAC;AACf,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,KAAK,CAAC,GAAG,IAAW;IAChC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AACzC,CAAC;AAcD,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,UAAyC,EAAqB,EAAE;IACvF,OAAO;QACH,IAAI;QACJ,KAAK;QACL,KAAK;QACL,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAC3B,GAAG;QACH,MAAM;QACN,OAAO;QACP,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC;QACjC,QAAQ;QACR,IAAI;QACJ,SAAS,EAAE,QAAQ;QACnB,GAAG;QACH,EAAE;QACF,MAAM,EAAE,EAAE;QACV,EAAE;QACF,GAAG;QACH,IAAI;QACJ,KAAK;QACL,KAAK;QACL,QAAQ;KACX,CAAC;AACN,CAAC,CAAC"}
|
|
@@ -10,7 +10,10 @@ export const BuildClickthroughUrl = (logger, windowInfo, configuration, product)
|
|
|
10
10
|
window: windowInfo,
|
|
11
11
|
publisher: configuration,
|
|
12
12
|
...product
|
|
13
|
-
})
|
|
13
|
+
})
|
|
14
|
+
.split('\n')
|
|
15
|
+
.map(c => c.trim())
|
|
16
|
+
.join(''));
|
|
14
17
|
}
|
|
15
18
|
catch (e) {
|
|
16
19
|
log?.error('Failed to execute clickthrough URL template', product, configuration, windowInfo);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Clickthrough.js","sourceRoot":"src/","sources":["helpers/response/Clickthrough.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,GAAG,EAAE,GAAG,EAAgB,EAAE,EAAe,MAAM,gBAAgB,CAAC;AAEzE,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAChC,MAA2B,EAC3B,UAAyC,EACzC,aAA8C,EAC9C,OAA4B,EACd,EAAE;IAChB,MAAM,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,sBAAsB,CAAC,CAAC;IACtD,GAAG,EAAE,IAAI,CAAC,2BAA2B,CAAC,CAAC;IACvC,GAAG,EAAE,KAAK,CACN,UAAU,EACV,OAAO,EACP,aAAa,CAChB,CAAC;IACF,IAAI,CAAC;QACD,OAAO,EAAE,CAAC,aAAa,CAAC,SAAS,CAAC,uBAAuB,CAAC;YACtD,OAAO;YACP,OAAO,EAAE,OAAO;YAChB,MAAM,EAAE,UAAU;YAClB,SAAS,EAAE,aAAa;YACxB,GAAG,OAAO;SACb,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"Clickthrough.js","sourceRoot":"src/","sources":["helpers/response/Clickthrough.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,GAAG,EAAE,GAAG,EAAgB,EAAE,EAAe,MAAM,gBAAgB,CAAC;AAEzE,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAChC,MAA2B,EAC3B,UAAyC,EACzC,aAA8C,EAC9C,OAA4B,EACd,EAAE;IAChB,MAAM,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,sBAAsB,CAAC,CAAC;IACtD,GAAG,EAAE,IAAI,CAAC,2BAA2B,CAAC,CAAC;IACvC,GAAG,EAAE,KAAK,CACN,UAAU,EACV,OAAO,EACP,aAAa,CAChB,CAAC;IACF,IAAI,CAAC;QACD,OAAO,EAAE,CAAC,aAAa,CAAC,SAAS,CAAC,uBAAuB,CAAC;YACtD,OAAO;YACP,OAAO,EAAE,OAAO;YAChB,MAAM,EAAE,UAAU;YAClB,SAAS,EAAE,aAAa;YACxB,GAAG,OAAO;SACb,CAAC;aACG,KAAK,CAAC,IAAI,CAAC;aACX,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;aAClB,IAAI,CAAC,EAAE,CAAC,CACZ,CAAC;IACN,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACT,GAAG,EAAE,KAAK,CAAC,6CAA6C,EAAE,OAAO,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC;QAC9F,OAAO,GAAG,CAAC,CAAU,CAAC,CAAC;IAC3B,CAAC;AACL,CAAC,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { Ctx } from './Logger';
|
|
2
|
+
const userAgents = new RegExp("(Googlebot|AdsBot-Google|AdsBot-Google-Mobile|AhrefsBot|Google-InspectionTool" +
|
|
3
|
+
"|SiteAuditBot|Storebot-Google|amazonproductbot|PetalBot|Quantcastbot|YelpBot" +
|
|
4
|
+
"|YandexRenderResourcesBot|bingbot|DuckDuckBot|DuckAssistBot|ClaudeBot|BitSightBot" +
|
|
5
|
+
"|Ai2Bot-Dolma|SEBot-WA|FullStoryBot|Thinkbot|SeekportBot|Pinterestbot|Monsidobot" +
|
|
6
|
+
"|Taboolabot|VirusTotalBot|HanaleiBot|SiteCheckerBotCrawler|eventseekerBot" +
|
|
7
|
+
"|Cocolyzebot|IndeedBot|Clearscopebot|quillbot|proximic|meta-externalagent" +
|
|
8
|
+
"|BrightEdge|SnapchatAds|YisouSpider|360Spider|Screaming Frog SEO Spider" +
|
|
9
|
+
"|tracking-quality-spider|YaDirectFetcher|AudioEyeMonitoringBot|Acunetix-Deepscan" +
|
|
10
|
+
"|vuln_scan_by_trustedsite_com_halo_security|adsbot-crawler)", "ig");
|
|
11
|
+
export const FilterBots = (logger, userAgent, fn, fallback) => {
|
|
12
|
+
const log = Ctx(logger)?.with('FilterBots');
|
|
13
|
+
log?.info('Binding to bot filter');
|
|
14
|
+
return (...args) => {
|
|
15
|
+
log?.info('Checking if bot');
|
|
16
|
+
if (userAgents.exec(userAgent) !== null) {
|
|
17
|
+
log?.debug('Not calling function. User is bot');
|
|
18
|
+
return fallback(...args);
|
|
19
|
+
}
|
|
20
|
+
log?.debug('Returning actual function. User is not bot');
|
|
21
|
+
return fn(...args);
|
|
22
|
+
};
|
|
23
|
+
};
|
|
24
|
+
export const FilterBotsAsyncGenerator = (logger, userAgent, fn) => {
|
|
25
|
+
const log = Ctx(logger)?.with('FilterBotsAsyncGenerator');
|
|
26
|
+
log?.info('Binding to generator bot filter');
|
|
27
|
+
return async function* (...args) {
|
|
28
|
+
if (userAgents.exec(userAgent) !== null) {
|
|
29
|
+
log?.debug('Not calling generator. User is bot');
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
log?.debug('Yielding original function. User is not bot');
|
|
34
|
+
yield* fn(...args);
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
};
|
|
38
|
+
//# sourceMappingURL=BotFiltering.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BotFiltering.js","sourceRoot":"src/","sources":["services/BotFiltering.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAW,MAAM,UAAU,CAAC;AAExC,MAAM,UAAU,GAAG,IAAI,MAAM,CACzB,+EAA+E;IAC/E,8EAA8E;IAC9E,mFAAmF;IACnF,kFAAkF;IAClF,2EAA2E;IAC3E,2EAA2E;IAC3E,yEAAyE;IACzE,kFAAkF;IAClF,6DAA6D,EAAE,IAAI,CACtE,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG,CACtB,MAA2B,EAC3B,SAAiB,EACjB,EAA+B,EAC/B,QAAqC,EACvC,EAAE;IACA,MAAM,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IAC5C,GAAG,EAAE,IAAI,CAAC,uBAAuB,CAAC,CAAC;IACnC,OAAO,CAAC,GAAG,IAAW,EAAE,EAAE;QACtB,GAAG,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC7B,IAAG,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE,CAAC;YACrC,GAAG,EAAE,KAAK,CAAC,mCAAmC,CAAC,CAAC;YAChD,OAAO,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAC;QAC7B,CAAC;QACD,GAAG,EAAE,KAAK,CAAC,4CAA4C,CAAC,CAAC;QACzD,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;IACvB,CAAC,CAAA;AACL,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,wBAAwB,GAAG,CACpC,MAA2B,EAC3B,SAAiB,EACjB,EAA+C,EACjD,EAAE;IACA,MAAM,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,0BAA0B,CAAC,CAAC;IAC1D,GAAG,EAAE,IAAI,CAAC,iCAAiC,CAAC,CAAC;IAC7C,OAAO,KAAK,SAAS,CAAC,EAAC,GAAG,IAAW;QACjC,IAAG,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE,CAAC;YACrC,GAAG,EAAE,KAAK,CAAC,oCAAoC,CAAC,CAAC;YACjD,OAAO;QACX,CAAC;aACI,CAAC;YACF,GAAG,EAAE,KAAK,CAAC,6CAA6C,CAAC,CAAC;YAC1D,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;QACvB,CAAC;IACL,CAAC,CAAA;AACL,CAAC,CAAA"}
|
|
@@ -7,12 +7,12 @@ export const EvaluateHandlebarsProductCardTemplate = (logger, windowInfo, publis
|
|
|
7
7
|
const renderedClickthrough = clickthrough ?? GetValueOrThrow(EvaluateHandlebarsClickthroughTemplate(log, windowInfo, publisher, product));
|
|
8
8
|
log?.debug('Got clickthrough URL', renderedClickthrough);
|
|
9
9
|
return Ok(publisher.templates.productCardTemplate({
|
|
10
|
-
...product,
|
|
11
10
|
product,
|
|
12
11
|
window: windowInfo,
|
|
13
12
|
publisher,
|
|
14
13
|
catalog: product,
|
|
15
|
-
clickthrough: renderedClickthrough
|
|
14
|
+
clickthrough: renderedClickthrough,
|
|
15
|
+
...product
|
|
16
16
|
}));
|
|
17
17
|
}
|
|
18
18
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Template.js","sourceRoot":"src/","sources":["services/Template.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,GAAG,EAAgB,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,GAAG,EAAE,eAAe,EAAE,EAAE,EAAe,MAAM,UAAU,CAAC;AAWjE,MAAM,CAAC,MAAM,qCAAqC,GAAG,CAAC,MAA2B,EAC7E,UAAyC,EACzC,SAA0C,EAC1C,OAA4B,EAC5B,YAAqB,EACP,EAAE;IAChB,MAAM,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,uCAAuC,CAAC,CAAC;IACvE,GAAG,EAAE,IAAI,CAAC,6CAA6C,EAAE,OAAO,CAAC,CAAC;IAElE,IAAI,CAAC;QACD,MAAM,oBAAoB,GAAG,YAAY,IAAI,eAAe,CACxD,sCAAsC,CAAC,GAAG,EACtC,UAAU,EACV,SAAS,EACT,OAAO,CACV,CACJ,CAAC;QACF,GAAG,EAAE,KAAK,CAAC,sBAAsB,EAAE,oBAAoB,CAAC,CAAC;QAEzD,OAAO,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,mBAAmB,CAAC;YAC9C,
|
|
1
|
+
{"version":3,"file":"Template.js","sourceRoot":"src/","sources":["services/Template.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,GAAG,EAAgB,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,GAAG,EAAE,eAAe,EAAE,EAAE,EAAe,MAAM,UAAU,CAAC;AAWjE,MAAM,CAAC,MAAM,qCAAqC,GAAG,CAAC,MAA2B,EAC7E,UAAyC,EACzC,SAA0C,EAC1C,OAA4B,EAC5B,YAAqB,EACP,EAAE;IAChB,MAAM,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,uCAAuC,CAAC,CAAC;IACvE,GAAG,EAAE,IAAI,CAAC,6CAA6C,EAAE,OAAO,CAAC,CAAC;IAElE,IAAI,CAAC;QACD,MAAM,oBAAoB,GAAG,YAAY,IAAI,eAAe,CACxD,sCAAsC,CAAC,GAAG,EACtC,UAAU,EACV,SAAS,EACT,OAAO,CACV,CACJ,CAAC;QACF,GAAG,EAAE,KAAK,CAAC,sBAAsB,EAAE,oBAAoB,CAAC,CAAC;QAEzD,OAAO,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,mBAAmB,CAAC;YAC9C,OAAO;YACP,MAAM,EAAE,UAAU;YAClB,SAAS;YACT,OAAO,EAAE,OAAO;YAChB,YAAY,EAAE,oBAAoB;YAClC,GAAG,OAAO;SACb,CAAC,CAAC,CAAC;IACR,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,GAAG,CAAC,KAAc,CAAC,CAAC;IAC/B,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,sCAAsC,GAAG,CAAC,MAA2B,EAC9E,UAAyC,EACzC,SAA0C,EAC1C,OAA4B,EACd,EAAE;IAChB,MAAM,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,wCAAwC,CAAC,CAAC;IACxE,GAAG,EAAE,IAAI,CAAC,iDAAiD,EAAE,OAAO,CAAC,CAAC;IACtE,IAAI,CAAC;QACD,OAAO,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,uBAAuB,CAAC;YAClD,OAAO;YACP,OAAO,EAAE,OAAO;YAChB,MAAM,EAAE,UAAU;YAClB,SAAS;YACT,GAAG,OAAO;SACb,CAAC,CAAC,CAAC;IACR,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,GAAG,CAAC,KAAc,CAAC,CAAC;IAC/B,CAAC;AACL,CAAC,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { type HelperDelegate } from 'handlebars';
|
|
2
|
+
import { type INativeTemplateDelegateWindow } from '../models';
|
|
2
3
|
/**
|
|
3
4
|
* Converts the passed string to a slug with the specified options. By default, the slug is hyphenated and only
|
|
4
5
|
* contains alphanumeric characters. You can pass a different hyphenation regex and a different drop regex to
|
|
@@ -44,7 +45,16 @@ export declare function upper(name: string): string;
|
|
|
44
45
|
* @param position The position of the path component to return, 1-indexed
|
|
45
46
|
* @returns The path component at the specified position
|
|
46
47
|
*/
|
|
47
|
-
export declare
|
|
48
|
+
export declare const path: (pathname: string) => (position: number, options: {
|
|
49
|
+
hash: {
|
|
50
|
+
url?: string;
|
|
51
|
+
};
|
|
52
|
+
}) => string | undefined;
|
|
53
|
+
export declare function money(value: number | string, options: {
|
|
54
|
+
hash: {
|
|
55
|
+
cents?: boolean;
|
|
56
|
+
};
|
|
57
|
+
}): string;
|
|
48
58
|
/**
|
|
49
59
|
* A general-purpose string replacement tool - meant to behave like the Unix sed tool. Accepts a regex for
|
|
50
60
|
* search, and a replacement string. for example, if the input string is "hello world" and the search is
|
|
@@ -97,7 +107,11 @@ export declare function replace(input: string, search: string, replacement: stri
|
|
|
97
107
|
* @param name The name of the query parameter to return
|
|
98
108
|
* @returns The value of the query parameter, or an empty string if the parameter is not found
|
|
99
109
|
*/
|
|
100
|
-
export declare
|
|
110
|
+
export declare const search: (search: string) => (name: string, options: {
|
|
111
|
+
hash: {
|
|
112
|
+
url?: string;
|
|
113
|
+
};
|
|
114
|
+
}) => string;
|
|
101
115
|
/**
|
|
102
116
|
* Returns the first truthy argument, or an empty string if all arguments are falsy. Returns false for empty strings
|
|
103
117
|
* For example, {{coalesce false (eq "b" "d") c}} will return "c", because false is falsy, "b" is not equal to "d",
|
|
@@ -158,6 +172,12 @@ export declare function and(a: any, b: any): boolean;
|
|
|
158
172
|
* @returns True if the value is in the array, false otherwise
|
|
159
173
|
*/
|
|
160
174
|
export declare function isIn(a: any, b: any[]): boolean;
|
|
175
|
+
/**
|
|
176
|
+
* Grabs a variable off of the global window object. {{global "foo" "bar"}} will return `window.foo.bar`.
|
|
177
|
+
* If any part of the path is undefined, this returns undefined with no exceptions
|
|
178
|
+
* @returns The global variable
|
|
179
|
+
*/
|
|
180
|
+
export declare function global(...args: any[]): any;
|
|
161
181
|
/**
|
|
162
182
|
* Returns an array of the passed arguments. Useful with the "in" helper
|
|
163
183
|
* @group TemplateHelpers
|
|
@@ -165,4 +185,4 @@ export declare function isIn(a: any, b: any[]): boolean;
|
|
|
165
185
|
*/
|
|
166
186
|
export declare function array(...args: any[]): any[];
|
|
167
187
|
export type HandlebarsHelpers = Record<string, HelperDelegate>;
|
|
168
|
-
export declare const GetHelpers: () => HandlebarsHelpers;
|
|
188
|
+
export declare const GetHelpers: (windowInfo: INativeTemplateDelegateWindow) => HandlebarsHelpers;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { ILogger } from './Logger';
|
|
2
|
+
export declare const FilterBots: <TArgs extends readonly unknown[], TReturn>(logger: ILogger | undefined, userAgent: string, fn: (...args: TArgs) => TReturn, fallback: (...args: TArgs) => TReturn) => (...args: TArgs) => TReturn;
|
|
3
|
+
export declare const FilterBotsAsyncGenerator: <TArgs extends readonly unknown[], TReturn>(logger: ILogger | undefined, userAgent: string, fn: (...args: TArgs) => AsyncGenerator<TReturn>) => (...args: TArgs) => AsyncGenerator<Awaited<TReturn>, void, any>;
|