@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.
Files changed (23) hide show
  1. package/dist/cjs/empathy/mappers/response/empathy-banner.mapper.js.map +1 -1
  2. package/dist/cjs/empathy/mappers/response/empathy-promoted.mapper.js.map +1 -1
  3. package/dist/cjs/empathy/mappers/response/empathy-redirection.mapper.js.map +1 -1
  4. package/dist/cjs/empathy/mappers/response/empathy-tagging.mapper.js.map +1 -1
  5. package/dist/cjs/empathy/mappers/response/results/empathy-result.mapper.js +2 -2
  6. package/dist/cjs/empathy/mappers/response/results/empathy-result.mapper.js.map +1 -1
  7. package/dist/cjs/types/response.types.js.map +1 -1
  8. package/dist/esm/empathy/mappers/response/empathy-banner.mapper.js.map +1 -1
  9. package/dist/esm/empathy/mappers/response/empathy-promoted.mapper.js.map +1 -1
  10. package/dist/esm/empathy/mappers/response/empathy-redirection.mapper.js.map +1 -1
  11. package/dist/esm/empathy/mappers/response/empathy-tagging.mapper.js.map +1 -1
  12. package/dist/esm/empathy/mappers/response/results/empathy-result.mapper.js +2 -2
  13. package/dist/esm/empathy/mappers/response/results/empathy-result.mapper.js.map +1 -1
  14. package/dist/esm/types/response.types.js.map +1 -1
  15. package/package.json +3 -3
  16. package/report/x-adapter.api.json +18 -18
  17. package/report/x-adapter.api.md +10 -9
  18. package/types/empathy/mappers/response/empathy-banner.mapper.d.ts +2 -2
  19. package/types/empathy/mappers/response/empathy-promoted.mapper.d.ts +2 -2
  20. package/types/empathy/mappers/response/empathy-redirection.mapper.d.ts +2 -2
  21. package/types/empathy/mappers/response/empathy-tagging.mapper.d.ts +3 -3
  22. package/types/empathy/mappers/response/results/empathy-result.mapper.d.ts +2 -2
  23. 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,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"]}
@@ -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,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,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, Partial<Redirection>>(redirection, {\n modelName: 'Redirection',\n id: rawDirect.id,\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":"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"]}
@@ -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"]}
@@ -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,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,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, Partial<Redirection>>(redirection, {\n modelName: 'Redirection',\n id: rawDirect.id,\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":"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.5",
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.10",
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": "1576727b2de0db70fc04932518830683cc58ba74"
65
+ "gitHead": "86cecedd0d76dc5db810bba830adea137154e33d"
66
66
  }
@@ -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",
@@ -9163,8 +9163,8 @@
9163
9163
  },
9164
9164
  {
9165
9165
  "kind": "Reference",
9166
- "text": "Tagging",
9167
- "canonicalReference": "@empathyco/x-adapter!Tagging:interface"
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": "Tagging",
9779
- "canonicalReference": "@empathyco/x-adapter!Tagging:interface"
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": "Tagging",
11318
- "canonicalReference": "@empathyco/x-adapter!Tagging:interface"
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": "Tagging",
13803
- "canonicalReference": "@empathyco/x-adapter!Tagging:interface"
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": "Tagging",
13833
- "canonicalReference": "@empathyco/x-adapter!Tagging:interface"
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": "Tagging",
13842
- "canonicalReference": "@empathyco/x-adapter!Tagging:interface"
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": "Tagging",
22338
- "canonicalReference": "@empathyco/x-adapter!Tagging:interface"
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": "Tagging",
22999
- "canonicalReference": "@empathyco/x-adapter!Tagging:interface"
22998
+ "text": "TaggingInfo",
22999
+ "canonicalReference": "@empathyco/x-adapter!TaggingInfo:interface"
23000
23000
  },
23001
23001
  {
23002
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
  }
@@ -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, Tagging>[]);
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, Tagging>[]);
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, Tagging>[]);
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, Tagging> {
873
+ export class EmpathyTaggingMapper implements ResponseMapper<string, TaggingInfo> {
873
874
  // (undocumented)
874
- map(taggingUrl: string, tagging: Tagging): 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: Tagging;
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: Tagging;
1409
+ showTagging: TaggingInfo;
1409
1410
  }
1410
1411
 
1411
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
  }
@@ -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;