@empathyco/x-adapter 7.0.0-alpha.2 → 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.
Files changed (33) hide show
  1. package/dist/cjs/empathy/mappers/request/params/empathy-request-related-tags-query.mapper.js +7 -1
  2. package/dist/cjs/empathy/mappers/request/params/empathy-request-related-tags-query.mapper.js.map +1 -1
  3. package/dist/cjs/empathy/mappers/response/empathy-banner.mapper.js.map +1 -1
  4. package/dist/cjs/empathy/mappers/response/empathy-promoted.mapper.js.map +1 -1
  5. package/dist/cjs/empathy/mappers/response/empathy-redirection.mapper.js +1 -1
  6. package/dist/cjs/empathy/mappers/response/empathy-redirection.mapper.js.map +1 -1
  7. package/dist/cjs/empathy/mappers/response/empathy-tagging.mapper.js.map +1 -1
  8. package/dist/cjs/empathy/mappers/response/results/empathy-result.mapper.js +2 -2
  9. package/dist/cjs/empathy/mappers/response/results/empathy-result.mapper.js.map +1 -1
  10. package/dist/cjs/empathy/models/entities/empathy-direct.model.js.map +1 -1
  11. package/dist/cjs/types/response.types.js.map +1 -1
  12. package/dist/esm/empathy/mappers/request/params/empathy-request-related-tags-query.mapper.js +7 -1
  13. package/dist/esm/empathy/mappers/request/params/empathy-request-related-tags-query.mapper.js.map +1 -1
  14. package/dist/esm/empathy/mappers/response/empathy-banner.mapper.js.map +1 -1
  15. package/dist/esm/empathy/mappers/response/empathy-promoted.mapper.js.map +1 -1
  16. package/dist/esm/empathy/mappers/response/empathy-redirection.mapper.js +1 -1
  17. package/dist/esm/empathy/mappers/response/empathy-redirection.mapper.js.map +1 -1
  18. package/dist/esm/empathy/mappers/response/empathy-tagging.mapper.js.map +1 -1
  19. package/dist/esm/empathy/mappers/response/results/empathy-result.mapper.js +2 -2
  20. package/dist/esm/empathy/mappers/response/results/empathy-result.mapper.js.map +1 -1
  21. package/dist/esm/empathy/models/entities/empathy-direct.model.js.map +1 -1
  22. package/dist/esm/types/response.types.js.map +1 -1
  23. package/package.json +7 -7
  24. package/report/tsdoc-metadata.json +1 -1
  25. package/report/x-adapter.api.json +19 -45
  26. package/report/x-adapter.api.md +10 -11
  27. package/types/empathy/mappers/response/empathy-banner.mapper.d.ts +2 -2
  28. package/types/empathy/mappers/response/empathy-promoted.mapper.d.ts +2 -2
  29. package/types/empathy/mappers/response/empathy-redirection.mapper.d.ts +2 -2
  30. package/types/empathy/mappers/response/empathy-tagging.mapper.d.ts +3 -3
  31. package/types/empathy/mappers/response/results/empathy-result.mapper.d.ts +2 -2
  32. package/types/empathy/models/entities/empathy-direct.model.d.ts +0 -1
  33. package/types/types/response.types.d.ts +3 -3
@@ -13,7 +13,13 @@ var EmpathyRequestRelatedTagsQueryMapper = /** @class */ (function () {
13
13
  }
14
14
  EmpathyRequestRelatedTagsQueryMapper.prototype.map = function (_a, query) {
15
15
  var _b = _a.relatedTags, relatedTags = _b === void 0 ? [] : _b;
16
- return relatedTags.reduce(function (chain, rt) { return chain + " " + rt.tag; }, query).trim();
16
+ return relatedTags.reduce(function (partialQuery, _a) {
17
+ var tag = _a.tag, relatedTagQuery = _a.query;
18
+ return relatedTagQuery.startsWith(tag)
19
+ ? tag + " " + partialQuery
20
+ : partialQuery + " " + tag;
21
+ }, query)
22
+ .trim();
17
23
  };
18
24
  EmpathyRequestRelatedTagsQueryMapper = tslib_1.__decorate([
19
25
  inversify_1.injectable()
@@ -1 +1 @@
1
- {"version":3,"file":"empathy-request-related-tags-query.mapper.js","sourceRoot":"","sources":["../../../../../../src/empathy/mappers/request/params/empathy-request-related-tags-query.mapper.ts"],"names":[],"mappings":";;;;AAAA,uCAAuC;AAIvC;;;;GAIG;AAEH;IAAA;IAKA,CAAC;IAHC,kDAAG,GAAH,UAAI,EAAsC,EAAE,KAAa;YAAnD,mBAAgB,EAAhB,WAAW,mBAAG,EAAE,KAAA;QACpB,OAAO,WAAW,CAAC,MAAM,CAAC,UAAC,KAAK,EAAE,EAAE,IAAK,OAAG,KAAK,SAAI,EAAE,CAAC,GAAK,EAApB,CAAoB,EAAE,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;IAC/E,CAAC;IAJU,oCAAoC;QADhD,sBAAU,EAAE;OACA,oCAAoC,CAKhD;IAAD,2CAAC;CAAA,AALD,IAKC;AALY,oFAAoC","sourcesContent":["import { injectable } from 'inversify';\nimport { QueryableRequest } from '../../../../types';\nimport { RequestMapper } from '../../../empathy-adapter.types';\n\n/**\n * TODO https://searchbroker.atlassian.net/browse/EX-2163\n *\n * @public\n */\n@injectable()\nexport class EmpathyRequestRelatedTagsQueryMapper implements RequestMapper<QueryableRequest, string> {\n\n map({ relatedTags = [] }: QueryableRequest, query: string): string {\n return relatedTags.reduce((chain, rt) => `${chain} ${rt.tag}`, query).trim();\n }\n}\n"]}
1
+ {"version":3,"file":"empathy-request-related-tags-query.mapper.js","sourceRoot":"","sources":["../../../../../../src/empathy/mappers/request/params/empathy-request-related-tags-query.mapper.ts"],"names":[],"mappings":";;;;AAAA,uCAAuC;AAIvC;;;;GAIG;AAEH;IAAA;IAYA,CAAC;IAVC,kDAAG,GAAH,UAAI,EAAsC,EAAE,KAAa;YAAnD,mBAAgB,EAAhB,WAAW,mBAAG,EAAE,KAAA;QACpB,OAAO,WAAW,CAAC,MAAM,CACvB,UAAC,YAAY,EAAE,EAA+B;gBAA7B,GAAG,SAAA,EAAS,eAAe,WAAA;YAC1C,OAAA,eAAe,CAAC,UAAU,CAAC,GAAG,CAAC;gBAC7B,CAAC,CAAI,GAAG,SAAI,YAAc;gBAC1B,CAAC,CAAI,YAAY,SAAI,GAAK;QAF5B,CAE4B,EAC9B,KAAK,CACN;aACA,IAAI,EAAE,CAAC;IACV,CAAC;IAXU,oCAAoC;QADhD,sBAAU,EAAE;OACA,oCAAoC,CAYhD;IAAD,2CAAC;CAAA,AAZD,IAYC;AAZY,oFAAoC","sourcesContent":["import { injectable } from 'inversify';\nimport { QueryableRequest } from '../../../../types';\nimport { RequestMapper } from '../../../empathy-adapter.types';\n\n/**\n * TODO https://searchbroker.atlassian.net/browse/EX-2163\n *\n * @public\n */\n@injectable()\nexport class EmpathyRequestRelatedTagsQueryMapper implements RequestMapper<QueryableRequest, string>\n{\n map({ relatedTags = [] }: QueryableRequest, query: string): string {\n return relatedTags.reduce(\n (partialQuery, { tag, query: relatedTagQuery }) =>\n relatedTagQuery.startsWith(tag)\n ? `${tag} ${partialQuery}`\n : `${partialQuery} ${tag}`,\n query\n )\n .trim();\n }\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,uCAAoD;AACpD,mEAA+D;AAG/D,gDAA8C;AAE9C;;;;GAIG;AAEH;IAGE,6BAC0D,cAAiD;QAEzG,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,EAAa,EAAE,OAAO,CAAC;aACxE;SACF,CAAC,CAAC;IACL,CAAC;IApBU,mBAAmB;QAD/B,sBAAU,EAAE;QAKR,mBAAA,uBAAW,CAAC,8BAAY,CAAC,eAAe,CAAC,YAAY,CAAC,CAAA;;OAJ9C,mBAAmB,CAqB/B;IAAD,0BAAC;CAAA,AArBD,IAqBC;AArBY,kDAAmB","sourcesContent":["import { Banner, Tagging } 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, Tagging>;\n\n constructor(\n @multiInject(DEPENDENCIES.ResponseMappers.queryTagging) taggingMappers: ResponseMapper<string, Tagging>[]\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 Tagging, context)\n }\n });\n }\n}\n"]}
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,+BAC0D,cAAiD;QAEzG,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,EAAa,EAAE,OAAO,CAAC;aAC1E;SACF,CAAC,CAAC;IACL,CAAC;IApBU,qBAAqB;QADjC,sBAAU,EAAE;QAKR,mBAAA,uBAAW,CAAC,8BAAY,CAAC,eAAe,CAAC,YAAY,CAAC,CAAA;;OAJ9C,qBAAqB,CAqBjC;IAAD,4BAAC;CAAA,AArBD,IAqBC;AArBY,sDAAqB","sourcesContent":["import { Promoted, Tagging } 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, Tagging>;\n\n constructor(\n @multiInject(DEPENDENCIES.ResponseMappers.queryTagging) taggingMappers: ResponseMapper<string, Tagging>[]\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 Tagging, context)\n }\n });\n }\n}\n"]}
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"]}
@@ -16,8 +16,8 @@ var EmpathyRedirectionMapper = /** @class */ (function () {
16
16
  }
17
17
  EmpathyRedirectionMapper.prototype.map = function (rawDirect, redirection, context) {
18
18
  return Object.assign(redirection, {
19
+ modelName: 'Redirection',
19
20
  id: rawDirect.id,
20
- title: rawDirect.title,
21
21
  url: rawDirect.url,
22
22
  tagging: {
23
23
  click: this.mapTagging(rawDirect.trackable_url, {}, context)
@@ -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,kCAC0D,cAAiD;QAEzG,IAAI,CAAC,UAAU,GAAG,0BAAW,eAAI,cAAc,CAAC,CAAC;IACnD,CAAC;IAED,sCAAG,GAAH,UAAI,SAAwB,EAAE,WAAwB,EAAE,OAA8B;QACpF,OAAO,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE;YAChC,EAAE,EAAE,SAAS,CAAC,EAAE;YAChB,KAAK,EAAE,SAAS,CAAC,KAAK;YACtB,GAAG,EAAE,SAAS,CAAC,GAAG;YAClB,OAAO,EAAE;gBACP,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,aAAa,EAAE,EAAa,EAAE,OAAO,CAAC;aACxE;SACF,CAAC,CAAC;IACL,CAAC;IAlBU,wBAAwB;QADpC,sBAAU,EAAE;QAKR,mBAAA,uBAAW,CAAC,8BAAY,CAAC,eAAe,CAAC,YAAY,CAAC,CAAA;;OAJ9C,wBAAwB,CAmBpC;IAAD,+BAAC;CAAA,AAnBD,IAmBC;AAnBY,4DAAwB","sourcesContent":["import { Redirection, Tagging } 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, Tagging>;\n\n constructor(\n @multiInject(DEPENDENCIES.ResponseMappers.queryTagging) taggingMappers: ResponseMapper<string, Tagging>[]\n ) {\n this.mapTagging = pipeMappers(...taggingMappers);\n }\n\n map(rawDirect: EmpathyDirect, redirection: Redirection, context: ResponseMapperContext): Redirection {\n return Object.assign(redirection, {\n id: rawDirect.id,\n title: rawDirect.title,\n url: rawDirect.url,\n tagging: {\n click: this.mapTagging(rawDirect.trackable_url, {} as Tagging, context)\n }\n });\n }\n}\n"]}
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,OAAgB;QACtC,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,GAAoB,EAAE,CAAC;QACnC,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,KAAI,GAAG,CAAC,MAAM,GAAK,GAAG,CAAC,QAAW;YACvC,MAAM,QAAA;SACP,CAAC;IACJ,CAAC;IA/BU,oBAAoB;QADhC,sBAAU,EAAE;OACA,oBAAoB,CAgChC;IAAD,2BAAC;CAAA,AAhCD,IAgCC;AAhCY,oDAAoB","sourcesContent":["import { Tagging } 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, Tagging> {\n private readonly logger = Logger.child('EmpathyTaggingMapper');\n\n map(taggingUrl: string, tagging: Tagging): Tagging {\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): Dictionary<any> {\n const params: Dictionary<any> = {};\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"]}
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((rawResult.price));
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((rawResult.rating)) : null
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":"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","sourcesContent":["import { getSafePropertyChain } from '@empathyco/x-get-safe-property-chain';\nimport { Result, ResultTagging, Tagging } from '@empathyco/x-types';\nimport { inject, injectable, multiInject } from 'inversify';\nimport { EmpathyAdapterConfig, TrackingResultConfig } 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, Tagging>;\n private readonly trackingResultConfig: TrackingResultConfig;\n\n constructor(\n @inject(DEPENDENCIES.config) config: EmpathyAdapterConfig,\n @multiInject(DEPENDENCIES.ResponseMappers.Helpers.tagging) taggingMappers: ResponseMapper<string, Tagging>[],\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(rawResult: EmpathyResult, initialResultTagging: ResultTagging,\n context: ResponseMapperContext): ResultTagging {\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 Tagging, context);\n } else {\n if (process.env.NODE_ENV !== 'production') {\n this.logger.warn(`Tagging for event \"${ key }\" at path \"${ path }\" not found when mapping for feature \"${ context.feature }\"`);\n }\n }\n return resultTagging;\n }, initialResultTagging);\n }\n}\n"]}
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":"empathy-direct.model.js","sourceRoot":"","sources":["../../../../../src/empathy/models/entities/empathy-direct.model.ts"],"names":[],"mappings":"","sourcesContent":["/**\n * TODO https://searchbroker.atlassian.net/browse/EX-2163\n *\n * @public\n */\nexport interface EmpathyDirect {\n id: string;\n title: string;\n trackable_url: string;\n url: string;\n}\n"]}
1
+ {"version":3,"file":"empathy-direct.model.js","sourceRoot":"","sources":["../../../../../src/empathy/models/entities/empathy-direct.model.ts"],"names":[],"mappings":"","sourcesContent":["/**\n * TODO https://searchbroker.atlassian.net/browse/EX-2163\n *\n * @public\n */\nexport interface EmpathyDirect {\n id: string;\n trackable_url: string;\n url: string;\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 Tagging\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: Tagging;\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: Tagging;\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
+ {"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"]}
@@ -10,7 +10,13 @@ var EmpathyRequestRelatedTagsQueryMapper = /** @class */ (function () {
10
10
  }
11
11
  EmpathyRequestRelatedTagsQueryMapper.prototype.map = function (_a, query) {
12
12
  var _b = _a.relatedTags, relatedTags = _b === void 0 ? [] : _b;
13
- return relatedTags.reduce(function (chain, rt) { return chain + " " + rt.tag; }, query).trim();
13
+ return relatedTags.reduce(function (partialQuery, _a) {
14
+ var tag = _a.tag, relatedTagQuery = _a.query;
15
+ return relatedTagQuery.startsWith(tag)
16
+ ? tag + " " + partialQuery
17
+ : partialQuery + " " + tag;
18
+ }, query)
19
+ .trim();
14
20
  };
15
21
  EmpathyRequestRelatedTagsQueryMapper = __decorate([
16
22
  injectable()
@@ -1 +1 @@
1
- {"version":3,"file":"empathy-request-related-tags-query.mapper.js","sourceRoot":"","sources":["../../../../../../src/empathy/mappers/request/params/empathy-request-related-tags-query.mapper.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAIvC;;;;GAIG;AAEH;IAAA;IAKA,CAAC;IAHC,kDAAG,GAAH,UAAI,EAAsC,EAAE,KAAa;YAAnD,mBAAgB,EAAhB,WAAW,mBAAG,EAAE,KAAA;QACpB,OAAO,WAAW,CAAC,MAAM,CAAC,UAAC,KAAK,EAAE,EAAE,IAAK,OAAG,KAAK,SAAI,EAAE,CAAC,GAAK,EAApB,CAAoB,EAAE,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;IAC/E,CAAC;IAJU,oCAAoC;QADhD,UAAU,EAAE;OACA,oCAAoC,CAKhD;IAAD,2CAAC;CAAA,AALD,IAKC;SALY,oCAAoC","sourcesContent":["import { injectable } from 'inversify';\nimport { QueryableRequest } from '../../../../types';\nimport { RequestMapper } from '../../../empathy-adapter.types';\n\n/**\n * TODO https://searchbroker.atlassian.net/browse/EX-2163\n *\n * @public\n */\n@injectable()\nexport class EmpathyRequestRelatedTagsQueryMapper implements RequestMapper<QueryableRequest, string> {\n\n map({ relatedTags = [] }: QueryableRequest, query: string): string {\n return relatedTags.reduce((chain, rt) => `${chain} ${rt.tag}`, query).trim();\n }\n}\n"]}
1
+ {"version":3,"file":"empathy-request-related-tags-query.mapper.js","sourceRoot":"","sources":["../../../../../../src/empathy/mappers/request/params/empathy-request-related-tags-query.mapper.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAIvC;;;;GAIG;AAEH;IAAA;IAYA,CAAC;IAVC,kDAAG,GAAH,UAAI,EAAsC,EAAE,KAAa;YAAnD,mBAAgB,EAAhB,WAAW,mBAAG,EAAE,KAAA;QACpB,OAAO,WAAW,CAAC,MAAM,CACvB,UAAC,YAAY,EAAE,EAA+B;gBAA7B,GAAG,SAAA,EAAS,eAAe,WAAA;YAC1C,OAAA,eAAe,CAAC,UAAU,CAAC,GAAG,CAAC;gBAC7B,CAAC,CAAI,GAAG,SAAI,YAAc;gBAC1B,CAAC,CAAI,YAAY,SAAI,GAAK;QAF5B,CAE4B,EAC9B,KAAK,CACN;aACA,IAAI,EAAE,CAAC;IACV,CAAC;IAXU,oCAAoC;QADhD,UAAU,EAAE;OACA,oCAAoC,CAYhD;IAAD,2CAAC;CAAA,AAZD,IAYC;SAZY,oCAAoC","sourcesContent":["import { injectable } from 'inversify';\nimport { QueryableRequest } from '../../../../types';\nimport { RequestMapper } from '../../../empathy-adapter.types';\n\n/**\n * TODO https://searchbroker.atlassian.net/browse/EX-2163\n *\n * @public\n */\n@injectable()\nexport class EmpathyRequestRelatedTagsQueryMapper implements RequestMapper<QueryableRequest, string>\n{\n map({ relatedTags = [] }: QueryableRequest, query: string): string {\n return relatedTags.reduce(\n (partialQuery, { tag, query: relatedTagQuery }) =>\n relatedTagQuery.startsWith(tag)\n ? `${tag} ${partialQuery}`\n : `${partialQuery} ${tag}`,\n query\n )\n .trim();\n }\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,6BAC0D,cAAiD;QAEzG,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,EAAa,EAAE,OAAO,CAAC;aACxE;SACF,CAAC,CAAC;IACL,CAAC;IApBU,mBAAmB;QAD/B,UAAU,EAAE;QAKR,WAAA,WAAW,CAAC,YAAY,CAAC,eAAe,CAAC,YAAY,CAAC,CAAA;;OAJ9C,mBAAmB,CAqB/B;IAAD,0BAAC;CAAA,AArBD,IAqBC;SArBY,mBAAmB","sourcesContent":["import { Banner, Tagging } 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, Tagging>;\n\n constructor(\n @multiInject(DEPENDENCIES.ResponseMappers.queryTagging) taggingMappers: ResponseMapper<string, Tagging>[]\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 Tagging, context)\n }\n });\n }\n}\n"]}
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,+BAC0D,cAAiD;QAEzG,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,EAAa,EAAE,OAAO,CAAC;aAC1E;SACF,CAAC,CAAC;IACL,CAAC;IApBU,qBAAqB;QADjC,UAAU,EAAE;QAKR,WAAA,WAAW,CAAC,YAAY,CAAC,eAAe,CAAC,YAAY,CAAC,CAAA;;OAJ9C,qBAAqB,CAqBjC;IAAD,4BAAC;CAAA,AArBD,IAqBC;SArBY,qBAAqB","sourcesContent":["import { Promoted, Tagging } 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, Tagging>;\n\n constructor(\n @multiInject(DEPENDENCIES.ResponseMappers.queryTagging) taggingMappers: ResponseMapper<string, Tagging>[]\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 Tagging, context)\n }\n });\n }\n}\n"]}
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"]}
@@ -13,8 +13,8 @@ var EmpathyRedirectionMapper = /** @class */ (function () {
13
13
  }
14
14
  EmpathyRedirectionMapper.prototype.map = function (rawDirect, redirection, context) {
15
15
  return Object.assign(redirection, {
16
+ modelName: 'Redirection',
16
17
  id: rawDirect.id,
17
- title: rawDirect.title,
18
18
  url: rawDirect.url,
19
19
  tagging: {
20
20
  click: this.mapTagging(rawDirect.trackable_url, {}, context)
@@ -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,kCAC0D,cAAiD;QAEzG,IAAI,CAAC,UAAU,GAAG,WAAW,eAAI,cAAc,CAAC,CAAC;IACnD,CAAC;IAED,sCAAG,GAAH,UAAI,SAAwB,EAAE,WAAwB,EAAE,OAA8B;QACpF,OAAO,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE;YAChC,EAAE,EAAE,SAAS,CAAC,EAAE;YAChB,KAAK,EAAE,SAAS,CAAC,KAAK;YACtB,GAAG,EAAE,SAAS,CAAC,GAAG;YAClB,OAAO,EAAE;gBACP,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,aAAa,EAAE,EAAa,EAAE,OAAO,CAAC;aACxE;SACF,CAAC,CAAC;IACL,CAAC;IAlBU,wBAAwB;QADpC,UAAU,EAAE;QAKR,WAAA,WAAW,CAAC,YAAY,CAAC,eAAe,CAAC,YAAY,CAAC,CAAA;;OAJ9C,wBAAwB,CAmBpC;IAAD,+BAAC;CAAA,AAnBD,IAmBC;SAnBY,wBAAwB","sourcesContent":["import { Redirection, Tagging } 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, Tagging>;\n\n constructor(\n @multiInject(DEPENDENCIES.ResponseMappers.queryTagging) taggingMappers: ResponseMapper<string, Tagging>[]\n ) {\n this.mapTagging = pipeMappers(...taggingMappers);\n }\n\n map(rawDirect: EmpathyDirect, redirection: Redirection, context: ResponseMapperContext): Redirection {\n return Object.assign(redirection, {\n id: rawDirect.id,\n title: rawDirect.title,\n url: rawDirect.url,\n tagging: {\n click: this.mapTagging(rawDirect.trackable_url, {} as Tagging, context)\n }\n });\n }\n}\n"]}
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,OAAgB;QACtC,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,GAAoB,EAAE,CAAC;QACnC,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,KAAI,GAAG,CAAC,MAAM,GAAK,GAAG,CAAC,QAAW;YACvC,MAAM,QAAA;SACP,CAAC;IACJ,CAAC;IA/BU,oBAAoB;QADhC,UAAU,EAAE;OACA,oBAAoB,CAgChC;IAAD,2BAAC;CAAA,AAhCD,IAgCC;SAhCY,oBAAoB","sourcesContent":["import { Tagging } 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, Tagging> {\n private readonly logger = Logger.child('EmpathyTaggingMapper');\n\n map(taggingUrl: string, tagging: Tagging): Tagging {\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): Dictionary<any> {\n const params: Dictionary<any> = {};\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"]}
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((rawResult.price));
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((rawResult.rating)) : null
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":"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","sourcesContent":["import { getSafePropertyChain } from '@empathyco/x-get-safe-property-chain';\nimport { Result, ResultTagging, Tagging } from '@empathyco/x-types';\nimport { inject, injectable, multiInject } from 'inversify';\nimport { EmpathyAdapterConfig, TrackingResultConfig } 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, Tagging>;\n private readonly trackingResultConfig: TrackingResultConfig;\n\n constructor(\n @inject(DEPENDENCIES.config) config: EmpathyAdapterConfig,\n @multiInject(DEPENDENCIES.ResponseMappers.Helpers.tagging) taggingMappers: ResponseMapper<string, Tagging>[],\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(rawResult: EmpathyResult, initialResultTagging: ResultTagging,\n context: ResponseMapperContext): ResultTagging {\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 Tagging, context);\n } else {\n if (process.env.NODE_ENV !== 'production') {\n this.logger.warn(`Tagging for event \"${ key }\" at path \"${ path }\" not found when mapping for feature \"${ context.feature }\"`);\n }\n }\n return resultTagging;\n }, initialResultTagging);\n }\n}\n"]}
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":"empathy-direct.model.js","sourceRoot":"","sources":["../../../../../src/empathy/models/entities/empathy-direct.model.ts"],"names":[],"mappings":"","sourcesContent":["/**\n * TODO https://searchbroker.atlassian.net/browse/EX-2163\n *\n * @public\n */\nexport interface EmpathyDirect {\n id: string;\n title: string;\n trackable_url: string;\n url: string;\n}\n"]}
1
+ {"version":3,"file":"empathy-direct.model.js","sourceRoot":"","sources":["../../../../../src/empathy/models/entities/empathy-direct.model.ts"],"names":[],"mappings":"","sourcesContent":["/**\n * TODO https://searchbroker.atlassian.net/browse/EX-2163\n *\n * @public\n */\nexport interface EmpathyDirect {\n id: string;\n trackable_url: string;\n url: string;\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 Tagging\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: Tagging;\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: Tagging;\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
+ {"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.2",
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",
@@ -40,17 +40,17 @@
40
40
  "test:coverage": "jest --coverage"
41
41
  },
42
42
  "dependencies": {
43
- "@empathyco/x-deep-merge": "^1.2.2-alpha.8",
44
- "@empathyco/x-get-safe-property-chain": "^1.2.1-alpha.7",
43
+ "@empathyco/x-deep-merge": "^1.3.0-alpha.0",
44
+ "@empathyco/x-get-safe-property-chain": "^1.3.0-alpha.0",
45
45
  "@empathyco/x-logger": "^1.1.0",
46
- "@empathyco/x-storage-service": "^1.3.1-alpha.7",
47
- "@empathyco/x-types": "^10.0.0-alpha.4",
46
+ "@empathyco/x-storage-service": "^1.4.0-alpha.0",
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"
51
51
  },
52
52
  "devDependencies": {
53
- "@empathyco/x-jest-utils": "^1.3.1-alpha.7",
53
+ "@empathyco/x-jest-utils": "^1.4.0-alpha.0",
54
54
  "@microsoft/api-documenter": "~7.13.33",
55
55
  "@microsoft/api-extractor": "~7.18.4",
56
56
  "@types/jest": "~24.0.13",
@@ -62,5 +62,5 @@
62
62
  "publishConfig": {
63
63
  "access": "public"
64
64
  },
65
- "gitHead": "b98d2e2e018a45ebe20c28d276eed8340266cf75"
65
+ "gitHead": "86cecedd0d76dc5db810bba830adea137154e33d"
66
66
  }
@@ -5,7 +5,7 @@
5
5
  "toolPackages": [
6
6
  {
7
7
  "packageName": "@microsoft/api-extractor",
8
- "packageVersion": "7.18.7"
8
+ "packageVersion": "7.18.16"
9
9
  }
10
10
  ]
11
11
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "metadata": {
3
3
  "toolPackage": "@microsoft/api-extractor",
4
- "toolVersion": "7.18.7",
4
+ "toolVersion": "7.18.16",
5
5
  "schemaVersion": 1004,
6
6
  "oldestForwardsCompatibleVersion": 1001,
7
7
  "tsdocConfig": {
@@ -5761,8 +5761,8 @@
5761
5761
  },
5762
5762
  {
5763
5763
  "kind": "Reference",
5764
- "text": "Tagging",
5765
- "canonicalReference": "@empathyco/x-adapter!Tagging:interface"
5764
+ "text": "TaggingInfo",
5765
+ "canonicalReference": "@empathyco/x-adapter!TaggingInfo:interface"
5766
5766
  },
5767
5767
  {
5768
5768
  "kind": "Content",
@@ -6687,32 +6687,6 @@
6687
6687
  "endIndex": 2
6688
6688
  }
6689
6689
  },
6690
- {
6691
- "kind": "PropertySignature",
6692
- "canonicalReference": "@empathyco/x-adapter!EmpathyDirect#title:member",
6693
- "docComment": "",
6694
- "excerptTokens": [
6695
- {
6696
- "kind": "Content",
6697
- "text": "title: "
6698
- },
6699
- {
6700
- "kind": "Content",
6701
- "text": "string"
6702
- },
6703
- {
6704
- "kind": "Content",
6705
- "text": ";"
6706
- }
6707
- ],
6708
- "isOptional": false,
6709
- "releaseTag": "Public",
6710
- "name": "title",
6711
- "propertyTypeTokenRange": {
6712
- "startIndex": 1,
6713
- "endIndex": 2
6714
- }
6715
- },
6716
6690
  {
6717
6691
  "kind": "PropertySignature",
6718
6692
  "canonicalReference": "@empathyco/x-adapter!EmpathyDirect#trackable_url:member",
@@ -9189,8 +9163,8 @@
9189
9163
  },
9190
9164
  {
9191
9165
  "kind": "Reference",
9192
- "text": "Tagging",
9193
- "canonicalReference": "@empathyco/x-adapter!Tagging:interface"
9166
+ "text": "TaggingInfo",
9167
+ "canonicalReference": "@empathyco/x-adapter!TaggingInfo:interface"
9194
9168
  },
9195
9169
  {
9196
9170
  "kind": "Content",
@@ -9801,8 +9775,8 @@
9801
9775
  },
9802
9776
  {
9803
9777
  "kind": "Reference",
9804
- "text": "Tagging",
9805
- "canonicalReference": "@empathyco/x-adapter!Tagging:interface"
9778
+ "text": "TaggingInfo",
9779
+ "canonicalReference": "@empathyco/x-adapter!TaggingInfo:interface"
9806
9780
  },
9807
9781
  {
9808
9782
  "kind": "Content",
@@ -11340,8 +11314,8 @@
11340
11314
  },
11341
11315
  {
11342
11316
  "kind": "Reference",
11343
- "text": "Tagging",
11344
- "canonicalReference": "@empathyco/x-adapter!Tagging:interface"
11317
+ "text": "TaggingInfo",
11318
+ "canonicalReference": "@empathyco/x-adapter!TaggingInfo:interface"
11345
11319
  },
11346
11320
  {
11347
11321
  "kind": "Content",
@@ -13825,8 +13799,8 @@
13825
13799
  },
13826
13800
  {
13827
13801
  "kind": "Reference",
13828
- "text": "Tagging",
13829
- "canonicalReference": "@empathyco/x-adapter!Tagging:interface"
13802
+ "text": "TaggingInfo",
13803
+ "canonicalReference": "@empathyco/x-adapter!TaggingInfo:interface"
13830
13804
  },
13831
13805
  {
13832
13806
  "kind": "Content",
@@ -13855,8 +13829,8 @@
13855
13829
  },
13856
13830
  {
13857
13831
  "kind": "Reference",
13858
- "text": "Tagging",
13859
- "canonicalReference": "@empathyco/x-adapter!Tagging:interface"
13832
+ "text": "TaggingInfo",
13833
+ "canonicalReference": "@empathyco/x-adapter!TaggingInfo:interface"
13860
13834
  },
13861
13835
  {
13862
13836
  "kind": "Content",
@@ -13864,8 +13838,8 @@
13864
13838
  },
13865
13839
  {
13866
13840
  "kind": "Reference",
13867
- "text": "Tagging",
13868
- "canonicalReference": "@empathyco/x-adapter!Tagging:interface"
13841
+ "text": "TaggingInfo",
13842
+ "canonicalReference": "@empathyco/x-adapter!TaggingInfo:interface"
13869
13843
  },
13870
13844
  {
13871
13845
  "kind": "Content",
@@ -22360,8 +22334,8 @@
22360
22334
  },
22361
22335
  {
22362
22336
  "kind": "Reference",
22363
- "text": "Tagging",
22364
- "canonicalReference": "@empathyco/x-adapter!Tagging:interface"
22337
+ "text": "TaggingInfo",
22338
+ "canonicalReference": "@empathyco/x-adapter!TaggingInfo:interface"
22365
22339
  },
22366
22340
  {
22367
22341
  "kind": "Content",
@@ -23021,8 +22995,8 @@
23021
22995
  },
23022
22996
  {
23023
22997
  "kind": "Reference",
23024
- "text": "Tagging",
23025
- "canonicalReference": "@empathyco/x-adapter!Tagging:interface"
22998
+ "text": "TaggingInfo",
22999
+ "canonicalReference": "@empathyco/x-adapter!TaggingInfo:interface"
23026
23000
  },
23027
23001
  {
23028
23002
  "kind": "Content",
@@ -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 "Tagging" needs to be exported by the entry point index.d.ts
376
- constructor(taggingMappers: ResponseMapper<string, Tagging>[]);
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
  }
@@ -428,8 +428,6 @@ export interface EmpathyDirect {
428
428
  // (undocumented)
429
429
  id: string;
430
430
  // (undocumented)
431
- title: string;
432
- // (undocumented)
433
431
  trackable_url: string;
434
432
  // (undocumented)
435
433
  url: string;
@@ -588,7 +586,7 @@ export interface EmpathyPromoted {
588
586
  //
589
587
  // @public
590
588
  export class EmpathyPromotedMapper implements ResponseMapper<EmpathyPromoted, Promoted> {
591
- constructor(taggingMappers: ResponseMapper<string, Tagging>[]);
589
+ constructor(taggingMappers: ResponseMapper<string, TaggingInfo>[]);
592
590
  // (undocumented)
593
591
  map(rawPromoted: EmpathyPromoted, promoted: Promoted, context: ResponseMapperContext): Promoted;
594
592
  }
@@ -617,7 +615,7 @@ export class EmpathyQueryableRequestMapper implements RequestMapper<QueryableReq
617
615
  //
618
616
  // @public
619
617
  export class EmpathyRedirectionMapper implements ResponseMapper<EmpathyDirect, Redirection> {
620
- constructor(taggingMappers: ResponseMapper<string, Tagging>[]);
618
+ constructor(taggingMappers: ResponseMapper<string, TaggingInfo>[]);
621
619
  // (undocumented)
622
620
  map(rawDirect: EmpathyDirect, redirection: Redirection, context: ResponseMapperContext): Redirection;
623
621
  }
@@ -721,13 +719,14 @@ export interface EmpathyResult {
721
719
 
722
720
  // @public
723
721
  export class EmpathyResultMapper implements ResponseMapper<EmpathyResult, Result> {
724
- constructor(config: EmpathyAdapterConfig, taggingMappers: ResponseMapper<string, Tagging>[]);
722
+ constructor(config: EmpathyAdapterConfig, taggingMappers: ResponseMapper<string, TaggingInfo>[]);
725
723
  // (undocumented)
726
724
  map(rawResult: EmpathyResult, result: Result, context: ResponseMapperContext): Result;
727
725
  }
728
726
 
729
727
  // @public
730
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
731
730
  constructor(config: EmpathyAdapterConfig, queryTaggingMappers: ResponseMapper<string, Tagging>[]);
732
731
  // (undocumented)
733
732
  map(_rawResult: EmpathyResult, result: Result, context: ResponseMapperContext): Result;
@@ -871,9 +870,9 @@ export interface EmpathySuggestionsRequest {
871
870
  }
872
871
 
873
872
  // @public
874
- export class EmpathyTaggingMapper implements ResponseMapper<string, Tagging> {
873
+ export class EmpathyTaggingMapper implements ResponseMapper<string, TaggingInfo> {
875
874
  // (undocumented)
876
- map(taggingUrl: string, tagging: Tagging): Tagging;
875
+ map(taggingUrl: string, tagging: TaggingInfo): TaggingInfo;
877
876
  }
878
877
 
879
878
  // @public
@@ -1349,7 +1348,7 @@ export interface SearchResponse {
1349
1348
  // (undocumented)
1350
1349
  promoteds: Promoted[];
1351
1350
  // (undocumented)
1352
- queryTagging: Tagging;
1351
+ queryTagging: TaggingInfo;
1353
1352
  // (undocumented)
1354
1353
  redirections: Redirection[];
1355
1354
  // (undocumented)
@@ -1407,7 +1406,7 @@ export interface TrackableRequest {
1407
1406
  // @public
1408
1407
  export interface TrackableShowResponse {
1409
1408
  // (undocumented)
1410
- showTagging: Tagging;
1409
+ showTagging: TaggingInfo;
1411
1410
  }
1412
1411
 
1413
1412
  // @public
@@ -1,4 +1,4 @@
1
- import { Banner, Tagging } from '@empathyco/x-types';
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, Tagging>[]);
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, Tagging } from '@empathyco/x-types';
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, Tagging>[]);
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, Tagging } from '@empathyco/x-types';
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, Tagging>[]);
11
+ constructor(taggingMappers: ResponseMapper<string, TaggingInfo>[]);
12
12
  map(rawDirect: EmpathyDirect, redirection: Redirection, context: ResponseMapperContext): Redirection;
13
13
  }
@@ -1,12 +1,12 @@
1
- import { Tagging } from '@empathyco/x-types';
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, Tagging> {
8
+ export declare class EmpathyTaggingMapper implements ResponseMapper<string, TaggingInfo> {
9
9
  private readonly logger;
10
- map(taggingUrl: string, tagging: Tagging): Tagging;
10
+ map(taggingUrl: string, tagging: TaggingInfo): TaggingInfo;
11
11
  private extractUrlParameters;
12
12
  }
@@ -1,4 +1,4 @@
1
- import { Result, Tagging } from '@empathyco/x-types';
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, Tagging>[]);
14
+ constructor(config: EmpathyAdapterConfig, taggingMappers: ResponseMapper<string, TaggingInfo>[]);
15
15
  map(rawResult: EmpathyResult, result: Result, context: ResponseMapperContext): Result;
16
16
  private createResultTagging;
17
17
  }
@@ -5,7 +5,6 @@
5
5
  */
6
6
  export interface EmpathyDirect {
7
7
  id: string;
8
- title: string;
9
8
  trackable_url: string;
10
9
  url: string;
11
10
  }
@@ -1,4 +1,4 @@
1
- import { Banner, Facet, NextQuery, PartialResult, Promoted, Redirection, RelatedTag, Result, Suggestion, Tagging } from '@empathyco/x-types';
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: Tagging;
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: Tagging;
44
+ queryTagging: TaggingInfo;
45
45
  redirections: Redirection[];
46
46
  results: Result[];
47
47
  spellcheck: string;