@empathyco/x-adapter 7.0.0-alpha.5 → 7.0.0-alpha.6
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/dist/cjs/empathy/mappers/response/empathy-banner.mapper.js.map +1 -1
- package/dist/cjs/empathy/mappers/response/empathy-promoted.mapper.js.map +1 -1
- package/dist/cjs/empathy/mappers/response/empathy-redirection.mapper.js.map +1 -1
- package/dist/cjs/empathy/mappers/response/empathy-tagging.mapper.js.map +1 -1
- package/dist/cjs/empathy/mappers/response/results/empathy-result.mapper.js +2 -2
- package/dist/cjs/empathy/mappers/response/results/empathy-result.mapper.js.map +1 -1
- package/dist/cjs/types/response.types.js.map +1 -1
- package/dist/esm/empathy/mappers/response/empathy-banner.mapper.js.map +1 -1
- package/dist/esm/empathy/mappers/response/empathy-promoted.mapper.js.map +1 -1
- package/dist/esm/empathy/mappers/response/empathy-redirection.mapper.js.map +1 -1
- package/dist/esm/empathy/mappers/response/empathy-tagging.mapper.js.map +1 -1
- package/dist/esm/empathy/mappers/response/results/empathy-result.mapper.js +2 -2
- package/dist/esm/empathy/mappers/response/results/empathy-result.mapper.js.map +1 -1
- package/dist/esm/types/response.types.js.map +1 -1
- package/package.json +3 -3
- package/report/x-adapter.api.json +18 -18
- package/report/x-adapter.api.md +10 -9
- package/types/empathy/mappers/response/empathy-banner.mapper.d.ts +2 -2
- package/types/empathy/mappers/response/empathy-promoted.mapper.d.ts +2 -2
- package/types/empathy/mappers/response/empathy-redirection.mapper.d.ts +2 -2
- package/types/empathy/mappers/response/empathy-tagging.mapper.d.ts +3 -3
- package/types/empathy/mappers/response/results/empathy-result.mapper.d.ts +2 -2
- package/types/types/response.types.d.ts +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"empathy-banner.mapper.js","sourceRoot":"","sources":["../../../../../src/empathy/mappers/response/empathy-banner.mapper.ts"],"names":[],"mappings":";;;;AACA,uCAAoD;AACpD,mEAA+D;AAG/D,gDAA8C;AAE9C;;;;GAIG;AAEH;IAGE,
|
|
1
|
+
{"version":3,"file":"empathy-banner.mapper.js","sourceRoot":"","sources":["../../../../../src/empathy/mappers/response/empathy-banner.mapper.ts"],"names":[],"mappings":";;;;AACA,uCAAoD;AACpD,mEAA+D;AAG/D,gDAA8C;AAE9C;;;;GAIG;AAEH;IAGE,6BAEE,cAAqD;QAErD,IAAI,CAAC,UAAU,GAAG,0BAAW,eAAI,cAAc,CAAC,CAAC;IACnD,CAAC;IAED,iCAAG,GAAH,UAAI,SAAwB,EAAE,MAAc,EAAE,OAA8B;QAC1E,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE;YAC3B,SAAS,EAAE,QAAQ;YACnB,EAAE,EAAE,SAAS,CAAC,EAAE;YAChB,KAAK,EAAE,SAAS,CAAC,KAAK;YACtB,GAAG,EAAE,SAAS,CAAC,GAAG;YAClB,KAAK,EAAE,SAAS,CAAC,SAAS;YAC1B,OAAO,EAAE;gBACP,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,aAAa,EAAE,EAAiB,EAAE,OAAO,CAAC;aAC5E;SACF,CAAC,CAAC;IACL,CAAC;IArBU,mBAAmB;QAD/B,sBAAU,EAAE;QAKR,mBAAA,uBAAW,CAAC,8BAAY,CAAC,eAAe,CAAC,YAAY,CAAC,CAAA;;OAJ9C,mBAAmB,CAsB/B;IAAD,0BAAC;CAAA,AAtBD,IAsBC;AAtBY,kDAAmB","sourcesContent":["import { Banner, TaggingInfo } from '@empathyco/x-types';\nimport { injectable, multiInject } from 'inversify';\nimport { DEPENDENCIES } from '../../container/container.const';\nimport { MapFn, ResponseMapper, ResponseMapperContext } from '../../empathy-adapter.types';\nimport { EmpathyBanner } from '../../models/entities/empathy-banner.model';\nimport { pipeMappers } from '../pipe-mappers';\n\n/**\n * TODO https://searchbroker.atlassian.net/browse/EX-2163\n *\n * @public\n */\n@injectable()\nexport class EmpathyBannerMapper implements ResponseMapper<EmpathyBanner, Banner> {\n private readonly mapTagging: MapFn<string, TaggingInfo>;\n\n constructor(\n @multiInject(DEPENDENCIES.ResponseMappers.queryTagging)\n taggingMappers: ResponseMapper<string, TaggingInfo>[]\n ) {\n this.mapTagging = pipeMappers(...taggingMappers);\n }\n\n map(rawBanner: EmpathyBanner, banner: Banner, context: ResponseMapperContext): Banner {\n return Object.assign(banner, {\n modelName: 'Banner',\n id: rawBanner.id,\n title: rawBanner.title,\n url: rawBanner.url,\n image: rawBanner.imagename,\n tagging: {\n click: this.mapTagging(rawBanner.trackable_url, {} as TaggingInfo, context)\n }\n });\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"empathy-promoted.mapper.js","sourceRoot":"","sources":["../../../../../src/empathy/mappers/response/empathy-promoted.mapper.ts"],"names":[],"mappings":";;;;AACA,uCAAoD;AACpD,mEAA+D;AAG/D,gDAA8C;AAE9C;;;;GAIG;AAEH;IAGE,+
|
|
1
|
+
{"version":3,"file":"empathy-promoted.mapper.js","sourceRoot":"","sources":["../../../../../src/empathy/mappers/response/empathy-promoted.mapper.ts"],"names":[],"mappings":";;;;AACA,uCAAoD;AACpD,mEAA+D;AAG/D,gDAA8C;AAE9C;;;;GAIG;AAEH;IAGE,+BAEE,cAAqD;QAErD,IAAI,CAAC,UAAU,GAAG,0BAAW,eAAI,cAAc,CAAC,CAAC;IACnD,CAAC;IAED,mCAAG,GAAH,UAAI,WAA4B,EAAE,QAAkB,EAAE,OAA8B;QAClF,OAAO,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE;YAC7B,SAAS,EAAE,UAAU;YACrB,EAAE,EAAE,WAAW,CAAC,EAAE;YAClB,KAAK,EAAE,WAAW,CAAC,KAAK;YACxB,GAAG,EAAE,WAAW,CAAC,GAAG;YACpB,KAAK,EAAE,WAAW,CAAC,SAAS;YAC5B,OAAO,EAAE;gBACP,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,aAAa,EAAE,EAAiB,EAAE,OAAO,CAAC;aAC9E;SACF,CAAC,CAAC;IACL,CAAC;IArBU,qBAAqB;QADjC,sBAAU,EAAE;QAKR,mBAAA,uBAAW,CAAC,8BAAY,CAAC,eAAe,CAAC,YAAY,CAAC,CAAA;;OAJ9C,qBAAqB,CAsBjC;IAAD,4BAAC;CAAA,AAtBD,IAsBC;AAtBY,sDAAqB","sourcesContent":["import { Promoted, TaggingInfo } from '@empathyco/x-types';\nimport { injectable, multiInject } from 'inversify';\nimport { DEPENDENCIES } from '../../container/container.const';\nimport { MapFn, ResponseMapper, ResponseMapperContext } from '../../empathy-adapter.types';\nimport { EmpathyPromoted } from '../../models';\nimport { pipeMappers } from '../pipe-mappers';\n\n/**\n * TODO https://searchbroker.atlassian.net/browse/EX-2163\n *\n * @public\n */\n@injectable()\nexport class EmpathyPromotedMapper implements ResponseMapper<EmpathyPromoted, Promoted> {\n private readonly mapTagging: MapFn<string, TaggingInfo>;\n\n constructor(\n @multiInject(DEPENDENCIES.ResponseMappers.queryTagging)\n taggingMappers: ResponseMapper<string, TaggingInfo>[]\n ) {\n this.mapTagging = pipeMappers(...taggingMappers);\n }\n\n map(rawPromoted: EmpathyPromoted, promoted: Promoted, context: ResponseMapperContext): Promoted {\n return Object.assign(promoted, {\n modelName: 'Promoted',\n id: rawPromoted.id,\n title: rawPromoted.title,\n url: rawPromoted.url,\n image: rawPromoted.imagename,\n tagging: {\n click: this.mapTagging(rawPromoted.trackable_url, {} as TaggingInfo, context)\n }\n });\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"empathy-redirection.mapper.js","sourceRoot":"","sources":["../../../../../src/empathy/mappers/response/empathy-redirection.mapper.ts"],"names":[],"mappings":";;;;AACA,uCAAoD;AACpD,mEAA+D;AAG/D,gDAA8C;AAE9C;;;;GAIG;AAEH;IAGE,
|
|
1
|
+
{"version":3,"file":"empathy-redirection.mapper.js","sourceRoot":"","sources":["../../../../../src/empathy/mappers/response/empathy-redirection.mapper.ts"],"names":[],"mappings":";;;;AACA,uCAAoD;AACpD,mEAA+D;AAG/D,gDAA8C;AAE9C;;;;GAIG;AAEH;IAGE,kCAEE,cAAqD;QAErD,IAAI,CAAC,UAAU,GAAG,0BAAW,eAAI,cAAc,CAAC,CAAC;IACnD,CAAC;IAED,sCAAG,GAAH,UACE,SAAwB,EACxB,WAAwB,EACxB,OAA8B;QAE9B,OAAO,MAAM,CAAC,MAAM,CAAoC,WAAW,EAAE;YACnE,SAAS,EAAE,aAAa;YACxB,EAAE,EAAE,SAAS,CAAC,EAAE;YAChB,GAAG,EAAE,SAAS,CAAC,GAAG;YAClB,OAAO,EAAE;gBACP,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,aAAa,EAAE,EAAiB,EAAE,OAAO,CAAC;aAC5E;SACF,CAAC,CAAC;IACL,CAAC;IAvBU,wBAAwB;QADpC,sBAAU,EAAE;QAKR,mBAAA,uBAAW,CAAC,8BAAY,CAAC,eAAe,CAAC,YAAY,CAAC,CAAA;;OAJ9C,wBAAwB,CAwBpC;IAAD,+BAAC;CAAA,AAxBD,IAwBC;AAxBY,4DAAwB","sourcesContent":["import { Redirection, TaggingInfo } from '@empathyco/x-types';\nimport { injectable, multiInject } from 'inversify';\nimport { DEPENDENCIES } from '../../container/container.const';\nimport { MapFn, ResponseMapper, ResponseMapperContext } from '../../empathy-adapter.types';\nimport { EmpathyDirect } from '../../models/entities/empathy-direct.model';\nimport { pipeMappers } from '../pipe-mappers';\n\n/**\n * TODO https://searchbroker.atlassian.net/browse/EX-2163\n *\n * @public\n */\n@injectable()\nexport class EmpathyRedirectionMapper implements ResponseMapper<EmpathyDirect, Redirection> {\n private readonly mapTagging: MapFn<string, TaggingInfo>;\n\n constructor(\n @multiInject(DEPENDENCIES.ResponseMappers.queryTagging)\n taggingMappers: ResponseMapper<string, TaggingInfo>[]\n ) {\n this.mapTagging = pipeMappers(...taggingMappers);\n }\n\n map(\n rawDirect: EmpathyDirect,\n redirection: Redirection,\n context: ResponseMapperContext\n ): Redirection {\n return Object.assign<Redirection, Partial<Redirection>>(redirection, {\n modelName: 'Redirection',\n id: rawDirect.id,\n url: rawDirect.url,\n tagging: {\n click: this.mapTagging(rawDirect.trackable_url, {} as TaggingInfo, context)\n }\n });\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"empathy-tagging.mapper.js","sourceRoot":"","sources":["../../../../../src/empathy/mappers/response/empathy-tagging.mapper.ts"],"names":[],"mappings":";;;;AACA,uCAAuC;AAGvC,uCAAsC;AAEtC;;;;GAIG;AAEH;IAAA;QACmB,WAAM,GAAG,eAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;IA+BjE,CAAC;IA7BC,kCAAG,GAAH,UAAI,UAAkB,EAAE,
|
|
1
|
+
{"version":3,"file":"empathy-tagging.mapper.js","sourceRoot":"","sources":["../../../../../src/empathy/mappers/response/empathy-tagging.mapper.ts"],"names":[],"mappings":";;;;AACA,uCAAuC;AAGvC,uCAAsC;AAEtC;;;;GAIG;AAEH;IAAA;QACmB,WAAM,GAAG,eAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;IA+BjE,CAAC;IA7BC,kCAAG,GAAH,UAAI,UAAkB,EAAE,OAAoB;QAC1C,IAAI;YACI,IAAA,KAAkB,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,EAArD,GAAG,SAAA,EAAE,MAAM,YAA0C,CAAC;YAC9D,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,GAAG,KAAA,EAAE,MAAM,QAAA,EAAE,CAAC,CAAC;SACzC;QAAC,OAAO,CAAC,EAAE;YACV,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,8BAA8B,EAAE,uBAAuB,EAAE,UAAU,CAAC,CAAC;SACvF;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,mDAAoB,GAA5B,UAA6B,UAAkB;QAC7C,IAAM,MAAM,GAAe,EAAE,CAAC;QAC9B,IAAM,GAAG,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC;QAChC,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,UAAC,KAAK,EAAE,GAAG;YAClC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE;gBAC9B,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aACzB;iBAAM,IAAI,MAAM,CAAC,GAAG,CAAC,EAAE;gBACtB,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;aACpC;iBAAM;gBACL,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;aACrB;QACH,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC;QACtB,OAAO;YACL,GAAG,EAAE,KAAG,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,QAAU;YACnC,MAAM,QAAA;SACP,CAAC;IACJ,CAAC;IA/BU,oBAAoB;QADhC,sBAAU,EAAE;OACA,oBAAoB,CAgChC;IAAD,2BAAC;CAAA,AAhCD,IAgCC;AAhCY,oDAAoB","sourcesContent":["import { TaggingInfo } from '@empathyco/x-types';\nimport { injectable } from 'inversify';\nimport { Dictionary } from '../../../types';\nimport { ResponseMapper } from '../../empathy-adapter.types';\nimport { Logger } from '../../logger';\n\n/**\n * TODO https://searchbroker.atlassian.net/browse/EX-2163\n *\n * @public\n */\n@injectable()\nexport class EmpathyTaggingMapper implements ResponseMapper<string, TaggingInfo> {\n private readonly logger = Logger.child('EmpathyTaggingMapper');\n\n map(taggingUrl: string, tagging: TaggingInfo): TaggingInfo {\n try {\n const { url, params } = this.extractUrlParameters(taggingUrl);\n Object.assign(tagging, { url, params });\n } catch (e) {\n this.logger.warn('[EmpathyBrokerTaggingMapper]', 'Invalid tagging url: ', taggingUrl);\n }\n\n return tagging;\n }\n\n private extractUrlParameters(taggingUrl: string): TaggingInfo {\n const params: Dictionary = {};\n const url = new URL(taggingUrl);\n url.searchParams.forEach((value, key) => {\n if (Array.isArray(params[key])) {\n params[key].push(value);\n } else if (params[key]) {\n params[key] = [params[key], value];\n } else {\n params[key] = value;\n }\n });\n params.follow = false;\n return {\n url: `${url.origin}${url.pathname}`,\n params\n };\n }\n}\n"]}
|
|
@@ -19,7 +19,7 @@ var EmpathyResultMapper = /** @class */ (function () {
|
|
|
19
19
|
this.trackingResultConfig = config.mappings.tracking.result;
|
|
20
20
|
}
|
|
21
21
|
EmpathyResultMapper.prototype.map = function (rawResult, result, context) {
|
|
22
|
-
var value = Number.parseFloat(
|
|
22
|
+
var value = Number.parseFloat(rawResult.price);
|
|
23
23
|
var originalValue = Number.parseFloat((rawResult.originalPrice || rawResult.price));
|
|
24
24
|
var sku = rawResult.eb_sku || '';
|
|
25
25
|
return Object.assign(result, {
|
|
@@ -35,7 +35,7 @@ var EmpathyResultMapper = /** @class */ (function () {
|
|
|
35
35
|
hasDiscount: value < originalValue
|
|
36
36
|
},
|
|
37
37
|
rating: {
|
|
38
|
-
value: rawResult.rating !== undefined ? Number.parseFloat(
|
|
38
|
+
value: rawResult.rating !== undefined ? Number.parseFloat(rawResult.rating) : null
|
|
39
39
|
},
|
|
40
40
|
identifier: {
|
|
41
41
|
value: sku
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"empathy-result.mapper.js","sourceRoot":"","sources":["../../../../../../src/empathy/mappers/response/results/empathy-result.mapper.ts"],"names":[],"mappings":";;;;AAAA,kFAA4E;AAE5E,uCAA4D;
|
|
1
|
+
{"version":3,"file":"empathy-result.mapper.js","sourceRoot":"","sources":["../../../../../../src/empathy/mappers/response/results/empathy-result.mapper.ts"],"names":[],"mappings":"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","sourcesContent":["import { getSafePropertyChain } from '@empathyco/x-get-safe-property-chain';\nimport { Result, Tagging, TaggingInfo } from '@empathyco/x-types';\nimport { inject, injectable, multiInject } from 'inversify';\nimport {\n EmpathyAdapterConfig,\n TrackingResultConfig\n} from '../../../config/empathy-adapter-config.types';\nimport { DEPENDENCIES } from '../../../container/container.const';\nimport { MapFn, ResponseMapper, ResponseMapperContext } from '../../../empathy-adapter.types';\nimport { Logger } from '../../../logger';\nimport { EmpathyResult } from '../../../models';\nimport { pipeMappers } from '../../pipe-mappers';\n\n/**\n * TODO https://searchbroker.atlassian.net/browse/EX-2163\n *\n * @public\n */\n@injectable()\nexport class EmpathyResultMapper implements ResponseMapper<EmpathyResult, Result> {\n private readonly logger = Logger.child('EmpathyResultMapper');\n private readonly mapTagging: MapFn<string, TaggingInfo>;\n private readonly trackingResultConfig: TrackingResultConfig;\n\n constructor(\n @inject(DEPENDENCIES.config) config: EmpathyAdapterConfig,\n @multiInject(DEPENDENCIES.ResponseMappers.Helpers.tagging)\n taggingMappers: ResponseMapper<string, TaggingInfo>[]\n ) {\n this.mapTagging = pipeMappers(...taggingMappers);\n this.trackingResultConfig = config.mappings.tracking.result;\n }\n\n map(rawResult: EmpathyResult, result: Result, context: ResponseMapperContext): Result {\n const value = Number.parseFloat(rawResult.price as string);\n const originalValue = Number.parseFloat((rawResult.originalPrice || rawResult.price) as string);\n const sku = rawResult.eb_sku || '';\n return Object.assign<Result, Result>(result, {\n modelName: 'Result',\n type: 'default',\n id: rawResult.id,\n name: rawResult.name || '',\n url: rawResult.url,\n images: rawResult.image ? [rawResult.image] : [],\n price: {\n value,\n originalValue,\n hasDiscount: value < originalValue\n },\n rating: {\n value: rawResult.rating !== undefined ? Number.parseFloat(rawResult.rating as string) : null\n },\n identifier: {\n value: sku\n },\n tagging: this.createResultTagging(rawResult, result.tagging || {}, context),\n isWishlisted: rawResult.isWishlisted || false\n });\n }\n\n private createResultTagging(\n rawResult: EmpathyResult,\n initialResultTagging: Tagging,\n context: ResponseMapperContext\n ): Tagging {\n return Object.entries(this.trackingResultConfig).reduce((resultTagging, [key, path]) => {\n const rawTagging = getSafePropertyChain(rawResult, path);\n if (rawTagging) {\n resultTagging[key] = this.mapTagging(rawTagging, {} as TaggingInfo, context);\n } else {\n if (process.env.NODE_ENV !== 'production') {\n this.logger.warn(\n `Tagging for event \"${key}\" at path \"${path}\" not found when mapping for feature \"${context.feature}\"`\n );\n }\n }\n return resultTagging;\n }, initialResultTagging);\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"response.types.js","sourceRoot":"","sources":["../../../src/types/response.types.ts"],"names":[],"mappings":"","sourcesContent":["import {\n Banner,\n Facet,\n NextQuery,\n PartialResult,\n Promoted,\n Redirection,\n RelatedTag,\n Result,\n Suggestion,\n
|
|
1
|
+
{"version":3,"file":"response.types.js","sourceRoot":"","sources":["../../../src/types/response.types.ts"],"names":[],"mappings":"","sourcesContent":["import {\n Banner,\n Facet,\n NextQuery,\n PartialResult,\n Promoted,\n Redirection,\n RelatedTag,\n Result,\n Suggestion,\n TaggingInfo\n} from '@empathyco/x-types';\n\n/**\n * TODO https://searchbroker.atlassian.net/browse/EX-2163\n *\n * @public\n */\nexport interface RelatedTagsResponse {\n relatedTags: RelatedTag[];\n}\n\n/**\n * TODO https://searchbroker.atlassian.net/browse/EX-2163\n *\n * @public\n */\nexport interface SuggestionsResponse {\n suggestions: Suggestion[];\n}\n\n/**\n * TODO https://searchbroker.atlassian.net/browse/EX-2163\n *\n * @public\n */\nexport interface SearchByIdResponse {\n results: Result[];\n}\n\n/**\n * TODO https://searchbroker.atlassian.net/browse/EX-2163\n *\n * @public\n */\nexport interface TrackableShowResponse {\n showTagging: TaggingInfo;\n}\n\n/**\n * TODO https://searchbroker.atlassian.net/browse/EX-2163\n *\n * @public\n */\nexport interface SearchResponse {\n banners: Banner[];\n facets?: Facet[];\n partialResults: PartialResult[];\n promoteds: Promoted[];\n queryTagging: TaggingInfo;\n redirections: Redirection[];\n results: Result[];\n spellcheck: string;\n totalResults: number;\n}\n\n/**\n * TODO https://searchbroker.atlassian.net/browse/EX-2163\n *\n * @public\n */\nexport interface NextQueriesResponse {\n nextQueries: NextQuery[];\n}\n\n/**\n * TODO https://searchbroker.atlassian.net/browse/EX-2163\n *\n * @public\n */\nexport interface TopRecommendationsResponse {\n results: Result[];\n}\n\n/**\n * TODO https://searchbroker.atlassian.net/browse/EX-2163\n *\n * @public\n */\nexport interface SectionRecommendationsResponse extends TrackableShowResponse {\n results: Result[];\n}\n\n/**\n * TODO https://searchbroker.atlassian.net/browse/EX-2163\n *\n * @public\n */\nexport interface ClicksRecommendationsResponse extends TrackableShowResponse {\n results: Result[];\n totalResults: number;\n}\n\n/**\n * TODO https://searchbroker.atlassian.net/browse/EX-2163\n *\n * @public\n */\nexport interface QueriesRecommendationsResponse extends TrackableShowResponse {\n results: Result[];\n totalResults: number;\n}\n\n/**\n * TODO https://searchbroker.atlassian.net/browse/EX-2163\n *\n * @public\n */\nexport interface UserRecommendationsResponse extends TrackableShowResponse {\n results: Result[];\n totalResults: number;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"empathy-banner.mapper.js","sourceRoot":"","sources":["../../../../../src/empathy/mappers/response/empathy-banner.mapper.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAG/D,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C;;;;GAIG;AAEH;IAGE,
|
|
1
|
+
{"version":3,"file":"empathy-banner.mapper.js","sourceRoot":"","sources":["../../../../../src/empathy/mappers/response/empathy-banner.mapper.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAG/D,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C;;;;GAIG;AAEH;IAGE,6BAEE,cAAqD;QAErD,IAAI,CAAC,UAAU,GAAG,WAAW,eAAI,cAAc,CAAC,CAAC;IACnD,CAAC;IAED,iCAAG,GAAH,UAAI,SAAwB,EAAE,MAAc,EAAE,OAA8B;QAC1E,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE;YAC3B,SAAS,EAAE,QAAQ;YACnB,EAAE,EAAE,SAAS,CAAC,EAAE;YAChB,KAAK,EAAE,SAAS,CAAC,KAAK;YACtB,GAAG,EAAE,SAAS,CAAC,GAAG;YAClB,KAAK,EAAE,SAAS,CAAC,SAAS;YAC1B,OAAO,EAAE;gBACP,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,aAAa,EAAE,EAAiB,EAAE,OAAO,CAAC;aAC5E;SACF,CAAC,CAAC;IACL,CAAC;IArBU,mBAAmB;QAD/B,UAAU,EAAE;QAKR,WAAA,WAAW,CAAC,YAAY,CAAC,eAAe,CAAC,YAAY,CAAC,CAAA;;OAJ9C,mBAAmB,CAsB/B;IAAD,0BAAC;CAAA,AAtBD,IAsBC;SAtBY,mBAAmB","sourcesContent":["import { Banner, TaggingInfo } from '@empathyco/x-types';\nimport { injectable, multiInject } from 'inversify';\nimport { DEPENDENCIES } from '../../container/container.const';\nimport { MapFn, ResponseMapper, ResponseMapperContext } from '../../empathy-adapter.types';\nimport { EmpathyBanner } from '../../models/entities/empathy-banner.model';\nimport { pipeMappers } from '../pipe-mappers';\n\n/**\n * TODO https://searchbroker.atlassian.net/browse/EX-2163\n *\n * @public\n */\n@injectable()\nexport class EmpathyBannerMapper implements ResponseMapper<EmpathyBanner, Banner> {\n private readonly mapTagging: MapFn<string, TaggingInfo>;\n\n constructor(\n @multiInject(DEPENDENCIES.ResponseMappers.queryTagging)\n taggingMappers: ResponseMapper<string, TaggingInfo>[]\n ) {\n this.mapTagging = pipeMappers(...taggingMappers);\n }\n\n map(rawBanner: EmpathyBanner, banner: Banner, context: ResponseMapperContext): Banner {\n return Object.assign(banner, {\n modelName: 'Banner',\n id: rawBanner.id,\n title: rawBanner.title,\n url: rawBanner.url,\n image: rawBanner.imagename,\n tagging: {\n click: this.mapTagging(rawBanner.trackable_url, {} as TaggingInfo, context)\n }\n });\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"empathy-promoted.mapper.js","sourceRoot":"","sources":["../../../../../src/empathy/mappers/response/empathy-promoted.mapper.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAG/D,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C;;;;GAIG;AAEH;IAGE,+
|
|
1
|
+
{"version":3,"file":"empathy-promoted.mapper.js","sourceRoot":"","sources":["../../../../../src/empathy/mappers/response/empathy-promoted.mapper.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAG/D,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C;;;;GAIG;AAEH;IAGE,+BAEE,cAAqD;QAErD,IAAI,CAAC,UAAU,GAAG,WAAW,eAAI,cAAc,CAAC,CAAC;IACnD,CAAC;IAED,mCAAG,GAAH,UAAI,WAA4B,EAAE,QAAkB,EAAE,OAA8B;QAClF,OAAO,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE;YAC7B,SAAS,EAAE,UAAU;YACrB,EAAE,EAAE,WAAW,CAAC,EAAE;YAClB,KAAK,EAAE,WAAW,CAAC,KAAK;YACxB,GAAG,EAAE,WAAW,CAAC,GAAG;YACpB,KAAK,EAAE,WAAW,CAAC,SAAS;YAC5B,OAAO,EAAE;gBACP,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,aAAa,EAAE,EAAiB,EAAE,OAAO,CAAC;aAC9E;SACF,CAAC,CAAC;IACL,CAAC;IArBU,qBAAqB;QADjC,UAAU,EAAE;QAKR,WAAA,WAAW,CAAC,YAAY,CAAC,eAAe,CAAC,YAAY,CAAC,CAAA;;OAJ9C,qBAAqB,CAsBjC;IAAD,4BAAC;CAAA,AAtBD,IAsBC;SAtBY,qBAAqB","sourcesContent":["import { Promoted, TaggingInfo } from '@empathyco/x-types';\nimport { injectable, multiInject } from 'inversify';\nimport { DEPENDENCIES } from '../../container/container.const';\nimport { MapFn, ResponseMapper, ResponseMapperContext } from '../../empathy-adapter.types';\nimport { EmpathyPromoted } from '../../models';\nimport { pipeMappers } from '../pipe-mappers';\n\n/**\n * TODO https://searchbroker.atlassian.net/browse/EX-2163\n *\n * @public\n */\n@injectable()\nexport class EmpathyPromotedMapper implements ResponseMapper<EmpathyPromoted, Promoted> {\n private readonly mapTagging: MapFn<string, TaggingInfo>;\n\n constructor(\n @multiInject(DEPENDENCIES.ResponseMappers.queryTagging)\n taggingMappers: ResponseMapper<string, TaggingInfo>[]\n ) {\n this.mapTagging = pipeMappers(...taggingMappers);\n }\n\n map(rawPromoted: EmpathyPromoted, promoted: Promoted, context: ResponseMapperContext): Promoted {\n return Object.assign(promoted, {\n modelName: 'Promoted',\n id: rawPromoted.id,\n title: rawPromoted.title,\n url: rawPromoted.url,\n image: rawPromoted.imagename,\n tagging: {\n click: this.mapTagging(rawPromoted.trackable_url, {} as TaggingInfo, context)\n }\n });\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"empathy-redirection.mapper.js","sourceRoot":"","sources":["../../../../../src/empathy/mappers/response/empathy-redirection.mapper.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAG/D,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C;;;;GAIG;AAEH;IAGE,
|
|
1
|
+
{"version":3,"file":"empathy-redirection.mapper.js","sourceRoot":"","sources":["../../../../../src/empathy/mappers/response/empathy-redirection.mapper.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAG/D,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C;;;;GAIG;AAEH;IAGE,kCAEE,cAAqD;QAErD,IAAI,CAAC,UAAU,GAAG,WAAW,eAAI,cAAc,CAAC,CAAC;IACnD,CAAC;IAED,sCAAG,GAAH,UACE,SAAwB,EACxB,WAAwB,EACxB,OAA8B;QAE9B,OAAO,MAAM,CAAC,MAAM,CAAoC,WAAW,EAAE;YACnE,SAAS,EAAE,aAAa;YACxB,EAAE,EAAE,SAAS,CAAC,EAAE;YAChB,GAAG,EAAE,SAAS,CAAC,GAAG;YAClB,OAAO,EAAE;gBACP,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,aAAa,EAAE,EAAiB,EAAE,OAAO,CAAC;aAC5E;SACF,CAAC,CAAC;IACL,CAAC;IAvBU,wBAAwB;QADpC,UAAU,EAAE;QAKR,WAAA,WAAW,CAAC,YAAY,CAAC,eAAe,CAAC,YAAY,CAAC,CAAA;;OAJ9C,wBAAwB,CAwBpC;IAAD,+BAAC;CAAA,AAxBD,IAwBC;SAxBY,wBAAwB","sourcesContent":["import { Redirection, TaggingInfo } from '@empathyco/x-types';\nimport { injectable, multiInject } from 'inversify';\nimport { DEPENDENCIES } from '../../container/container.const';\nimport { MapFn, ResponseMapper, ResponseMapperContext } from '../../empathy-adapter.types';\nimport { EmpathyDirect } from '../../models/entities/empathy-direct.model';\nimport { pipeMappers } from '../pipe-mappers';\n\n/**\n * TODO https://searchbroker.atlassian.net/browse/EX-2163\n *\n * @public\n */\n@injectable()\nexport class EmpathyRedirectionMapper implements ResponseMapper<EmpathyDirect, Redirection> {\n private readonly mapTagging: MapFn<string, TaggingInfo>;\n\n constructor(\n @multiInject(DEPENDENCIES.ResponseMappers.queryTagging)\n taggingMappers: ResponseMapper<string, TaggingInfo>[]\n ) {\n this.mapTagging = pipeMappers(...taggingMappers);\n }\n\n map(\n rawDirect: EmpathyDirect,\n redirection: Redirection,\n context: ResponseMapperContext\n ): Redirection {\n return Object.assign<Redirection, Partial<Redirection>>(redirection, {\n modelName: 'Redirection',\n id: rawDirect.id,\n url: rawDirect.url,\n tagging: {\n click: this.mapTagging(rawDirect.trackable_url, {} as TaggingInfo, context)\n }\n });\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"empathy-tagging.mapper.js","sourceRoot":"","sources":["../../../../../src/empathy/mappers/response/empathy-tagging.mapper.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAGvC,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC;;;;GAIG;AAEH;IAAA;QACmB,WAAM,GAAG,MAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;IA+BjE,CAAC;IA7BC,kCAAG,GAAH,UAAI,UAAkB,EAAE,
|
|
1
|
+
{"version":3,"file":"empathy-tagging.mapper.js","sourceRoot":"","sources":["../../../../../src/empathy/mappers/response/empathy-tagging.mapper.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAGvC,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC;;;;GAIG;AAEH;IAAA;QACmB,WAAM,GAAG,MAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;IA+BjE,CAAC;IA7BC,kCAAG,GAAH,UAAI,UAAkB,EAAE,OAAoB;QAC1C,IAAI;YACI,IAAA,KAAkB,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,EAArD,GAAG,SAAA,EAAE,MAAM,YAA0C,CAAC;YAC9D,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,GAAG,KAAA,EAAE,MAAM,QAAA,EAAE,CAAC,CAAC;SACzC;QAAC,OAAO,CAAC,EAAE;YACV,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,8BAA8B,EAAE,uBAAuB,EAAE,UAAU,CAAC,CAAC;SACvF;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,mDAAoB,GAA5B,UAA6B,UAAkB;QAC7C,IAAM,MAAM,GAAe,EAAE,CAAC;QAC9B,IAAM,GAAG,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC;QAChC,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,UAAC,KAAK,EAAE,GAAG;YAClC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE;gBAC9B,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aACzB;iBAAM,IAAI,MAAM,CAAC,GAAG,CAAC,EAAE;gBACtB,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;aACpC;iBAAM;gBACL,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;aACrB;QACH,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC;QACtB,OAAO;YACL,GAAG,EAAE,KAAG,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,QAAU;YACnC,MAAM,QAAA;SACP,CAAC;IACJ,CAAC;IA/BU,oBAAoB;QADhC,UAAU,EAAE;OACA,oBAAoB,CAgChC;IAAD,2BAAC;CAAA,AAhCD,IAgCC;SAhCY,oBAAoB","sourcesContent":["import { TaggingInfo } from '@empathyco/x-types';\nimport { injectable } from 'inversify';\nimport { Dictionary } from '../../../types';\nimport { ResponseMapper } from '../../empathy-adapter.types';\nimport { Logger } from '../../logger';\n\n/**\n * TODO https://searchbroker.atlassian.net/browse/EX-2163\n *\n * @public\n */\n@injectable()\nexport class EmpathyTaggingMapper implements ResponseMapper<string, TaggingInfo> {\n private readonly logger = Logger.child('EmpathyTaggingMapper');\n\n map(taggingUrl: string, tagging: TaggingInfo): TaggingInfo {\n try {\n const { url, params } = this.extractUrlParameters(taggingUrl);\n Object.assign(tagging, { url, params });\n } catch (e) {\n this.logger.warn('[EmpathyBrokerTaggingMapper]', 'Invalid tagging url: ', taggingUrl);\n }\n\n return tagging;\n }\n\n private extractUrlParameters(taggingUrl: string): TaggingInfo {\n const params: Dictionary = {};\n const url = new URL(taggingUrl);\n url.searchParams.forEach((value, key) => {\n if (Array.isArray(params[key])) {\n params[key].push(value);\n } else if (params[key]) {\n params[key] = [params[key], value];\n } else {\n params[key] = value;\n }\n });\n params.follow = false;\n return {\n url: `${url.origin}${url.pathname}`,\n params\n };\n }\n}\n"]}
|
|
@@ -16,7 +16,7 @@ var EmpathyResultMapper = /** @class */ (function () {
|
|
|
16
16
|
this.trackingResultConfig = config.mappings.tracking.result;
|
|
17
17
|
}
|
|
18
18
|
EmpathyResultMapper.prototype.map = function (rawResult, result, context) {
|
|
19
|
-
var value = Number.parseFloat(
|
|
19
|
+
var value = Number.parseFloat(rawResult.price);
|
|
20
20
|
var originalValue = Number.parseFloat((rawResult.originalPrice || rawResult.price));
|
|
21
21
|
var sku = rawResult.eb_sku || '';
|
|
22
22
|
return Object.assign(result, {
|
|
@@ -32,7 +32,7 @@ var EmpathyResultMapper = /** @class */ (function () {
|
|
|
32
32
|
hasDiscount: value < originalValue
|
|
33
33
|
},
|
|
34
34
|
rating: {
|
|
35
|
-
value: rawResult.rating !== undefined ? Number.parseFloat(
|
|
35
|
+
value: rawResult.rating !== undefined ? Number.parseFloat(rawResult.rating) : null
|
|
36
36
|
},
|
|
37
37
|
identifier: {
|
|
38
38
|
value: sku
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"empathy-result.mapper.js","sourceRoot":"","sources":["../../../../../../src/empathy/mappers/response/results/empathy-result.mapper.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAE5E,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"empathy-result.mapper.js","sourceRoot":"","sources":["../../../../../../src/empathy/mappers/response/results/empathy-result.mapper.ts"],"names":[],"mappings":"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","sourcesContent":["import { getSafePropertyChain } from '@empathyco/x-get-safe-property-chain';\nimport { Result, Tagging, TaggingInfo } from '@empathyco/x-types';\nimport { inject, injectable, multiInject } from 'inversify';\nimport {\n EmpathyAdapterConfig,\n TrackingResultConfig\n} from '../../../config/empathy-adapter-config.types';\nimport { DEPENDENCIES } from '../../../container/container.const';\nimport { MapFn, ResponseMapper, ResponseMapperContext } from '../../../empathy-adapter.types';\nimport { Logger } from '../../../logger';\nimport { EmpathyResult } from '../../../models';\nimport { pipeMappers } from '../../pipe-mappers';\n\n/**\n * TODO https://searchbroker.atlassian.net/browse/EX-2163\n *\n * @public\n */\n@injectable()\nexport class EmpathyResultMapper implements ResponseMapper<EmpathyResult, Result> {\n private readonly logger = Logger.child('EmpathyResultMapper');\n private readonly mapTagging: MapFn<string, TaggingInfo>;\n private readonly trackingResultConfig: TrackingResultConfig;\n\n constructor(\n @inject(DEPENDENCIES.config) config: EmpathyAdapterConfig,\n @multiInject(DEPENDENCIES.ResponseMappers.Helpers.tagging)\n taggingMappers: ResponseMapper<string, TaggingInfo>[]\n ) {\n this.mapTagging = pipeMappers(...taggingMappers);\n this.trackingResultConfig = config.mappings.tracking.result;\n }\n\n map(rawResult: EmpathyResult, result: Result, context: ResponseMapperContext): Result {\n const value = Number.parseFloat(rawResult.price as string);\n const originalValue = Number.parseFloat((rawResult.originalPrice || rawResult.price) as string);\n const sku = rawResult.eb_sku || '';\n return Object.assign<Result, Result>(result, {\n modelName: 'Result',\n type: 'default',\n id: rawResult.id,\n name: rawResult.name || '',\n url: rawResult.url,\n images: rawResult.image ? [rawResult.image] : [],\n price: {\n value,\n originalValue,\n hasDiscount: value < originalValue\n },\n rating: {\n value: rawResult.rating !== undefined ? Number.parseFloat(rawResult.rating as string) : null\n },\n identifier: {\n value: sku\n },\n tagging: this.createResultTagging(rawResult, result.tagging || {}, context),\n isWishlisted: rawResult.isWishlisted || false\n });\n }\n\n private createResultTagging(\n rawResult: EmpathyResult,\n initialResultTagging: Tagging,\n context: ResponseMapperContext\n ): Tagging {\n return Object.entries(this.trackingResultConfig).reduce((resultTagging, [key, path]) => {\n const rawTagging = getSafePropertyChain(rawResult, path);\n if (rawTagging) {\n resultTagging[key] = this.mapTagging(rawTagging, {} as TaggingInfo, context);\n } else {\n if (process.env.NODE_ENV !== 'production') {\n this.logger.warn(\n `Tagging for event \"${key}\" at path \"${path}\" not found when mapping for feature \"${context.feature}\"`\n );\n }\n }\n return resultTagging;\n }, initialResultTagging);\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"response.types.js","sourceRoot":"","sources":["../../../src/types/response.types.ts"],"names":[],"mappings":"","sourcesContent":["import {\n Banner,\n Facet,\n NextQuery,\n PartialResult,\n Promoted,\n Redirection,\n RelatedTag,\n Result,\n Suggestion,\n
|
|
1
|
+
{"version":3,"file":"response.types.js","sourceRoot":"","sources":["../../../src/types/response.types.ts"],"names":[],"mappings":"","sourcesContent":["import {\n Banner,\n Facet,\n NextQuery,\n PartialResult,\n Promoted,\n Redirection,\n RelatedTag,\n Result,\n Suggestion,\n TaggingInfo\n} from '@empathyco/x-types';\n\n/**\n * TODO https://searchbroker.atlassian.net/browse/EX-2163\n *\n * @public\n */\nexport interface RelatedTagsResponse {\n relatedTags: RelatedTag[];\n}\n\n/**\n * TODO https://searchbroker.atlassian.net/browse/EX-2163\n *\n * @public\n */\nexport interface SuggestionsResponse {\n suggestions: Suggestion[];\n}\n\n/**\n * TODO https://searchbroker.atlassian.net/browse/EX-2163\n *\n * @public\n */\nexport interface SearchByIdResponse {\n results: Result[];\n}\n\n/**\n * TODO https://searchbroker.atlassian.net/browse/EX-2163\n *\n * @public\n */\nexport interface TrackableShowResponse {\n showTagging: TaggingInfo;\n}\n\n/**\n * TODO https://searchbroker.atlassian.net/browse/EX-2163\n *\n * @public\n */\nexport interface SearchResponse {\n banners: Banner[];\n facets?: Facet[];\n partialResults: PartialResult[];\n promoteds: Promoted[];\n queryTagging: TaggingInfo;\n redirections: Redirection[];\n results: Result[];\n spellcheck: string;\n totalResults: number;\n}\n\n/**\n * TODO https://searchbroker.atlassian.net/browse/EX-2163\n *\n * @public\n */\nexport interface NextQueriesResponse {\n nextQueries: NextQuery[];\n}\n\n/**\n * TODO https://searchbroker.atlassian.net/browse/EX-2163\n *\n * @public\n */\nexport interface TopRecommendationsResponse {\n results: Result[];\n}\n\n/**\n * TODO https://searchbroker.atlassian.net/browse/EX-2163\n *\n * @public\n */\nexport interface SectionRecommendationsResponse extends TrackableShowResponse {\n results: Result[];\n}\n\n/**\n * TODO https://searchbroker.atlassian.net/browse/EX-2163\n *\n * @public\n */\nexport interface ClicksRecommendationsResponse extends TrackableShowResponse {\n results: Result[];\n totalResults: number;\n}\n\n/**\n * TODO https://searchbroker.atlassian.net/browse/EX-2163\n *\n * @public\n */\nexport interface QueriesRecommendationsResponse extends TrackableShowResponse {\n results: Result[];\n totalResults: number;\n}\n\n/**\n * TODO https://searchbroker.atlassian.net/browse/EX-2163\n *\n * @public\n */\nexport interface UserRecommendationsResponse extends TrackableShowResponse {\n results: Result[];\n totalResults: number;\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@empathyco/x-adapter",
|
|
3
|
-
"version": "7.0.0-alpha.
|
|
3
|
+
"version": "7.0.0-alpha.6",
|
|
4
4
|
"description": "A search client for the Empathy search API ",
|
|
5
5
|
"author": "Empathy Systems Corporation S.L.",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
"@empathyco/x-get-safe-property-chain": "^1.3.0-alpha.0",
|
|
45
45
|
"@empathyco/x-logger": "^1.1.0",
|
|
46
46
|
"@empathyco/x-storage-service": "^1.4.0-alpha.0",
|
|
47
|
-
"@empathyco/x-types": "^10.0.0-alpha.
|
|
47
|
+
"@empathyco/x-types": "^10.0.0-alpha.11",
|
|
48
48
|
"inversify": "~5.0.1",
|
|
49
49
|
"reflect-metadata": "~0.1.13",
|
|
50
50
|
"tslib": "~2.3.0"
|
|
@@ -62,5 +62,5 @@
|
|
|
62
62
|
"publishConfig": {
|
|
63
63
|
"access": "public"
|
|
64
64
|
},
|
|
65
|
-
"gitHead": "
|
|
65
|
+
"gitHead": "86cecedd0d76dc5db810bba830adea137154e33d"
|
|
66
66
|
}
|
|
@@ -5761,8 +5761,8 @@
|
|
|
5761
5761
|
},
|
|
5762
5762
|
{
|
|
5763
5763
|
"kind": "Reference",
|
|
5764
|
-
"text": "
|
|
5765
|
-
"canonicalReference": "@empathyco/x-adapter!
|
|
5764
|
+
"text": "TaggingInfo",
|
|
5765
|
+
"canonicalReference": "@empathyco/x-adapter!TaggingInfo:interface"
|
|
5766
5766
|
},
|
|
5767
5767
|
{
|
|
5768
5768
|
"kind": "Content",
|
|
@@ -9163,8 +9163,8 @@
|
|
|
9163
9163
|
},
|
|
9164
9164
|
{
|
|
9165
9165
|
"kind": "Reference",
|
|
9166
|
-
"text": "
|
|
9167
|
-
"canonicalReference": "@empathyco/x-adapter!
|
|
9166
|
+
"text": "TaggingInfo",
|
|
9167
|
+
"canonicalReference": "@empathyco/x-adapter!TaggingInfo:interface"
|
|
9168
9168
|
},
|
|
9169
9169
|
{
|
|
9170
9170
|
"kind": "Content",
|
|
@@ -9775,8 +9775,8 @@
|
|
|
9775
9775
|
},
|
|
9776
9776
|
{
|
|
9777
9777
|
"kind": "Reference",
|
|
9778
|
-
"text": "
|
|
9779
|
-
"canonicalReference": "@empathyco/x-adapter!
|
|
9778
|
+
"text": "TaggingInfo",
|
|
9779
|
+
"canonicalReference": "@empathyco/x-adapter!TaggingInfo:interface"
|
|
9780
9780
|
},
|
|
9781
9781
|
{
|
|
9782
9782
|
"kind": "Content",
|
|
@@ -11314,8 +11314,8 @@
|
|
|
11314
11314
|
},
|
|
11315
11315
|
{
|
|
11316
11316
|
"kind": "Reference",
|
|
11317
|
-
"text": "
|
|
11318
|
-
"canonicalReference": "@empathyco/x-adapter!
|
|
11317
|
+
"text": "TaggingInfo",
|
|
11318
|
+
"canonicalReference": "@empathyco/x-adapter!TaggingInfo:interface"
|
|
11319
11319
|
},
|
|
11320
11320
|
{
|
|
11321
11321
|
"kind": "Content",
|
|
@@ -13799,8 +13799,8 @@
|
|
|
13799
13799
|
},
|
|
13800
13800
|
{
|
|
13801
13801
|
"kind": "Reference",
|
|
13802
|
-
"text": "
|
|
13803
|
-
"canonicalReference": "@empathyco/x-adapter!
|
|
13802
|
+
"text": "TaggingInfo",
|
|
13803
|
+
"canonicalReference": "@empathyco/x-adapter!TaggingInfo:interface"
|
|
13804
13804
|
},
|
|
13805
13805
|
{
|
|
13806
13806
|
"kind": "Content",
|
|
@@ -13829,8 +13829,8 @@
|
|
|
13829
13829
|
},
|
|
13830
13830
|
{
|
|
13831
13831
|
"kind": "Reference",
|
|
13832
|
-
"text": "
|
|
13833
|
-
"canonicalReference": "@empathyco/x-adapter!
|
|
13832
|
+
"text": "TaggingInfo",
|
|
13833
|
+
"canonicalReference": "@empathyco/x-adapter!TaggingInfo:interface"
|
|
13834
13834
|
},
|
|
13835
13835
|
{
|
|
13836
13836
|
"kind": "Content",
|
|
@@ -13838,8 +13838,8 @@
|
|
|
13838
13838
|
},
|
|
13839
13839
|
{
|
|
13840
13840
|
"kind": "Reference",
|
|
13841
|
-
"text": "
|
|
13842
|
-
"canonicalReference": "@empathyco/x-adapter!
|
|
13841
|
+
"text": "TaggingInfo",
|
|
13842
|
+
"canonicalReference": "@empathyco/x-adapter!TaggingInfo:interface"
|
|
13843
13843
|
},
|
|
13844
13844
|
{
|
|
13845
13845
|
"kind": "Content",
|
|
@@ -22334,8 +22334,8 @@
|
|
|
22334
22334
|
},
|
|
22335
22335
|
{
|
|
22336
22336
|
"kind": "Reference",
|
|
22337
|
-
"text": "
|
|
22338
|
-
"canonicalReference": "@empathyco/x-adapter!
|
|
22337
|
+
"text": "TaggingInfo",
|
|
22338
|
+
"canonicalReference": "@empathyco/x-adapter!TaggingInfo:interface"
|
|
22339
22339
|
},
|
|
22340
22340
|
{
|
|
22341
22341
|
"kind": "Content",
|
|
@@ -22995,8 +22995,8 @@
|
|
|
22995
22995
|
},
|
|
22996
22996
|
{
|
|
22997
22997
|
"kind": "Reference",
|
|
22998
|
-
"text": "
|
|
22999
|
-
"canonicalReference": "@empathyco/x-adapter!
|
|
22998
|
+
"text": "TaggingInfo",
|
|
22999
|
+
"canonicalReference": "@empathyco/x-adapter!TaggingInfo:interface"
|
|
23000
23000
|
},
|
|
23001
23001
|
{
|
|
23002
23002
|
"kind": "Content",
|
package/report/x-adapter.api.md
CHANGED
|
@@ -372,8 +372,8 @@ export interface EmpathyBanner {
|
|
|
372
372
|
//
|
|
373
373
|
// @public
|
|
374
374
|
export class EmpathyBannerMapper implements ResponseMapper<EmpathyBanner, Banner> {
|
|
375
|
-
// Warning: (ae-forgotten-export) The symbol "
|
|
376
|
-
constructor(taggingMappers: ResponseMapper<string,
|
|
375
|
+
// Warning: (ae-forgotten-export) The symbol "TaggingInfo" needs to be exported by the entry point index.d.ts
|
|
376
|
+
constructor(taggingMappers: ResponseMapper<string, TaggingInfo>[]);
|
|
377
377
|
// (undocumented)
|
|
378
378
|
map(rawBanner: EmpathyBanner, banner: Banner, context: ResponseMapperContext): Banner;
|
|
379
379
|
}
|
|
@@ -586,7 +586,7 @@ export interface EmpathyPromoted {
|
|
|
586
586
|
//
|
|
587
587
|
// @public
|
|
588
588
|
export class EmpathyPromotedMapper implements ResponseMapper<EmpathyPromoted, Promoted> {
|
|
589
|
-
constructor(taggingMappers: ResponseMapper<string,
|
|
589
|
+
constructor(taggingMappers: ResponseMapper<string, TaggingInfo>[]);
|
|
590
590
|
// (undocumented)
|
|
591
591
|
map(rawPromoted: EmpathyPromoted, promoted: Promoted, context: ResponseMapperContext): Promoted;
|
|
592
592
|
}
|
|
@@ -615,7 +615,7 @@ export class EmpathyQueryableRequestMapper implements RequestMapper<QueryableReq
|
|
|
615
615
|
//
|
|
616
616
|
// @public
|
|
617
617
|
export class EmpathyRedirectionMapper implements ResponseMapper<EmpathyDirect, Redirection> {
|
|
618
|
-
constructor(taggingMappers: ResponseMapper<string,
|
|
618
|
+
constructor(taggingMappers: ResponseMapper<string, TaggingInfo>[]);
|
|
619
619
|
// (undocumented)
|
|
620
620
|
map(rawDirect: EmpathyDirect, redirection: Redirection, context: ResponseMapperContext): Redirection;
|
|
621
621
|
}
|
|
@@ -719,13 +719,14 @@ export interface EmpathyResult {
|
|
|
719
719
|
|
|
720
720
|
// @public
|
|
721
721
|
export class EmpathyResultMapper implements ResponseMapper<EmpathyResult, Result> {
|
|
722
|
-
constructor(config: EmpathyAdapterConfig, taggingMappers: ResponseMapper<string,
|
|
722
|
+
constructor(config: EmpathyAdapterConfig, taggingMappers: ResponseMapper<string, TaggingInfo>[]);
|
|
723
723
|
// (undocumented)
|
|
724
724
|
map(rawResult: EmpathyResult, result: Result, context: ResponseMapperContext): Result;
|
|
725
725
|
}
|
|
726
726
|
|
|
727
727
|
// @public
|
|
728
728
|
export class EmpathyResultQueryTaggingMapper implements ResponseMapper<EmpathyResult, Result> {
|
|
729
|
+
// Warning: (ae-forgotten-export) The symbol "Tagging" needs to be exported by the entry point index.d.ts
|
|
729
730
|
constructor(config: EmpathyAdapterConfig, queryTaggingMappers: ResponseMapper<string, Tagging>[]);
|
|
730
731
|
// (undocumented)
|
|
731
732
|
map(_rawResult: EmpathyResult, result: Result, context: ResponseMapperContext): Result;
|
|
@@ -869,9 +870,9 @@ export interface EmpathySuggestionsRequest {
|
|
|
869
870
|
}
|
|
870
871
|
|
|
871
872
|
// @public
|
|
872
|
-
export class EmpathyTaggingMapper implements ResponseMapper<string,
|
|
873
|
+
export class EmpathyTaggingMapper implements ResponseMapper<string, TaggingInfo> {
|
|
873
874
|
// (undocumented)
|
|
874
|
-
map(taggingUrl: string, tagging:
|
|
875
|
+
map(taggingUrl: string, tagging: TaggingInfo): TaggingInfo;
|
|
875
876
|
}
|
|
876
877
|
|
|
877
878
|
// @public
|
|
@@ -1347,7 +1348,7 @@ export interface SearchResponse {
|
|
|
1347
1348
|
// (undocumented)
|
|
1348
1349
|
promoteds: Promoted[];
|
|
1349
1350
|
// (undocumented)
|
|
1350
|
-
queryTagging:
|
|
1351
|
+
queryTagging: TaggingInfo;
|
|
1351
1352
|
// (undocumented)
|
|
1352
1353
|
redirections: Redirection[];
|
|
1353
1354
|
// (undocumented)
|
|
@@ -1405,7 +1406,7 @@ export interface TrackableRequest {
|
|
|
1405
1406
|
// @public
|
|
1406
1407
|
export interface TrackableShowResponse {
|
|
1407
1408
|
// (undocumented)
|
|
1408
|
-
showTagging:
|
|
1409
|
+
showTagging: TaggingInfo;
|
|
1409
1410
|
}
|
|
1410
1411
|
|
|
1411
1412
|
// @public
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Banner,
|
|
1
|
+
import { Banner, TaggingInfo } from '@empathyco/x-types';
|
|
2
2
|
import { ResponseMapper, ResponseMapperContext } from '../../empathy-adapter.types';
|
|
3
3
|
import { EmpathyBanner } from '../../models/entities/empathy-banner.model';
|
|
4
4
|
/**
|
|
@@ -8,6 +8,6 @@ import { EmpathyBanner } from '../../models/entities/empathy-banner.model';
|
|
|
8
8
|
*/
|
|
9
9
|
export declare class EmpathyBannerMapper implements ResponseMapper<EmpathyBanner, Banner> {
|
|
10
10
|
private readonly mapTagging;
|
|
11
|
-
constructor(taggingMappers: ResponseMapper<string,
|
|
11
|
+
constructor(taggingMappers: ResponseMapper<string, TaggingInfo>[]);
|
|
12
12
|
map(rawBanner: EmpathyBanner, banner: Banner, context: ResponseMapperContext): Banner;
|
|
13
13
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Promoted,
|
|
1
|
+
import { Promoted, TaggingInfo } from '@empathyco/x-types';
|
|
2
2
|
import { ResponseMapper, ResponseMapperContext } from '../../empathy-adapter.types';
|
|
3
3
|
import { EmpathyPromoted } from '../../models';
|
|
4
4
|
/**
|
|
@@ -8,6 +8,6 @@ import { EmpathyPromoted } from '../../models';
|
|
|
8
8
|
*/
|
|
9
9
|
export declare class EmpathyPromotedMapper implements ResponseMapper<EmpathyPromoted, Promoted> {
|
|
10
10
|
private readonly mapTagging;
|
|
11
|
-
constructor(taggingMappers: ResponseMapper<string,
|
|
11
|
+
constructor(taggingMappers: ResponseMapper<string, TaggingInfo>[]);
|
|
12
12
|
map(rawPromoted: EmpathyPromoted, promoted: Promoted, context: ResponseMapperContext): Promoted;
|
|
13
13
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Redirection,
|
|
1
|
+
import { Redirection, TaggingInfo } from '@empathyco/x-types';
|
|
2
2
|
import { ResponseMapper, ResponseMapperContext } from '../../empathy-adapter.types';
|
|
3
3
|
import { EmpathyDirect } from '../../models/entities/empathy-direct.model';
|
|
4
4
|
/**
|
|
@@ -8,6 +8,6 @@ import { EmpathyDirect } from '../../models/entities/empathy-direct.model';
|
|
|
8
8
|
*/
|
|
9
9
|
export declare class EmpathyRedirectionMapper implements ResponseMapper<EmpathyDirect, Redirection> {
|
|
10
10
|
private readonly mapTagging;
|
|
11
|
-
constructor(taggingMappers: ResponseMapper<string,
|
|
11
|
+
constructor(taggingMappers: ResponseMapper<string, TaggingInfo>[]);
|
|
12
12
|
map(rawDirect: EmpathyDirect, redirection: Redirection, context: ResponseMapperContext): Redirection;
|
|
13
13
|
}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { TaggingInfo } from '@empathyco/x-types';
|
|
2
2
|
import { ResponseMapper } from '../../empathy-adapter.types';
|
|
3
3
|
/**
|
|
4
4
|
* TODO https://searchbroker.atlassian.net/browse/EX-2163
|
|
5
5
|
*
|
|
6
6
|
* @public
|
|
7
7
|
*/
|
|
8
|
-
export declare class EmpathyTaggingMapper implements ResponseMapper<string,
|
|
8
|
+
export declare class EmpathyTaggingMapper implements ResponseMapper<string, TaggingInfo> {
|
|
9
9
|
private readonly logger;
|
|
10
|
-
map(taggingUrl: string, tagging:
|
|
10
|
+
map(taggingUrl: string, tagging: TaggingInfo): TaggingInfo;
|
|
11
11
|
private extractUrlParameters;
|
|
12
12
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Result,
|
|
1
|
+
import { Result, TaggingInfo } from '@empathyco/x-types';
|
|
2
2
|
import { EmpathyAdapterConfig } from '../../../config/empathy-adapter-config.types';
|
|
3
3
|
import { ResponseMapper, ResponseMapperContext } from '../../../empathy-adapter.types';
|
|
4
4
|
import { EmpathyResult } from '../../../models';
|
|
@@ -11,7 +11,7 @@ export declare class EmpathyResultMapper implements ResponseMapper<EmpathyResult
|
|
|
11
11
|
private readonly logger;
|
|
12
12
|
private readonly mapTagging;
|
|
13
13
|
private readonly trackingResultConfig;
|
|
14
|
-
constructor(config: EmpathyAdapterConfig, taggingMappers: ResponseMapper<string,
|
|
14
|
+
constructor(config: EmpathyAdapterConfig, taggingMappers: ResponseMapper<string, TaggingInfo>[]);
|
|
15
15
|
map(rawResult: EmpathyResult, result: Result, context: ResponseMapperContext): Result;
|
|
16
16
|
private createResultTagging;
|
|
17
17
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Banner, Facet, NextQuery, PartialResult, Promoted, Redirection, RelatedTag, Result, Suggestion,
|
|
1
|
+
import { Banner, Facet, NextQuery, PartialResult, Promoted, Redirection, RelatedTag, Result, Suggestion, TaggingInfo } from '@empathyco/x-types';
|
|
2
2
|
/**
|
|
3
3
|
* TODO https://searchbroker.atlassian.net/browse/EX-2163
|
|
4
4
|
*
|
|
@@ -29,7 +29,7 @@ export interface SearchByIdResponse {
|
|
|
29
29
|
* @public
|
|
30
30
|
*/
|
|
31
31
|
export interface TrackableShowResponse {
|
|
32
|
-
showTagging:
|
|
32
|
+
showTagging: TaggingInfo;
|
|
33
33
|
}
|
|
34
34
|
/**
|
|
35
35
|
* TODO https://searchbroker.atlassian.net/browse/EX-2163
|
|
@@ -41,7 +41,7 @@ export interface SearchResponse {
|
|
|
41
41
|
facets?: Facet[];
|
|
42
42
|
partialResults: PartialResult[];
|
|
43
43
|
promoteds: Promoted[];
|
|
44
|
-
queryTagging:
|
|
44
|
+
queryTagging: TaggingInfo;
|
|
45
45
|
redirections: Redirection[];
|
|
46
46
|
results: Result[];
|
|
47
47
|
spellcheck: string;
|