UNPKG

@yext/answers-search-ui

Version:

Javascript Search Programming Interface

1 lines 621 kB
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).ANSWERS=t()}(this,(function(){"use strict";function e(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function t(e,t,n){return t=l(t),function(e,t){if(t&&("object"==typeof t||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,h()?Reflect.construct(t,n||[],l(e).constructor):t.apply(e,n))}function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function r(e,t,n){if(h())return Reflect.construct.apply(null,arguments);var r=[null];r.push.apply(r,t);var i=new(e.bind.apply(e,r));return n&&g(i,n.prototype),i}function i(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,b(r.key),r)}}function o(e,t,n){return t&&i(e.prototype,t),n&&i(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function a(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=w(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function s(e,t,n){return(t=b(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function c(){return(c="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,t,n){var r=m(e,t);if(r){var i=Object.getOwnPropertyDescriptor(r,t);return i.get?i.get.call(arguments.length<3?e:n):i.value}}).apply(null,arguments)}function l(e){return(l=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function u(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&g(e,t)}function h(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(h=function(){return!!e})()}function d(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function f(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?d(Object(n),!0).forEach((function(t){s(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):d(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function p(e,t){if(null==e)return{};var n,r,i=function(e,t){if(null==e)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.includes(r))continue;n[r]=e[r]}return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)n=o[r],t.includes(n)||{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function g(e,t){return(g=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function v(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,i,o,a,s=[],c=!0,l=!1;try{if(o=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=o.call(n)).done)&&(s.push(r.value),s.length!==t);c=!0);}catch(e){l=!0,i=e}finally{try{if(!c&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(l)throw i}}return s}}(e,t)||w(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function m(e,t){for(;!{}.hasOwnProperty.call(e,t)&&null!==(e=l(e)););return e}function y(e,t,n,r){var i=c(l(1&r?e.prototype:e),t,n);return 2&r&&"function"==typeof i?function(e){return i.apply(n,e)}:i}function _(t){return function(t){if(Array.isArray(t))return e(t)}(t)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(t)||w(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function b(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}function k(e){return(k="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function w(t,n){if(t){if("string"==typeof t)return e(t,n);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?e(t,n):void 0}}function C(e){var t="function"==typeof Map?new Map:void 0;return(C=function(e){if(null===e||!function(e){try{return-1!==Function.toString.call(e).indexOf("[native code]")}catch(t){return"function"==typeof e}}(e))return e;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,n)}function n(){return r(e,arguments,l(this).constructor)}return n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),g(n,e)})(e)}var S="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function x(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function A(e,t){return e(t={exports:{}},t.exports),t.exports}var E=A((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.SearchCore=void 0;t.SearchCore=class{constructor(e,t,n,r){this.searchService=e,this.questionSubmissionService=t,this.autoCompleteService=n,this.generativeDirectAnswerService=r}universalSearch(e){return this.searchService.universalSearch(e)}verticalSearch(e){return this.searchService.verticalSearch(e)}submitQuestion(e){return this.questionSubmissionService.submitQuestion(e)}universalAutocomplete(e){return this.autoCompleteService.universalAutocomplete(e)}verticalAutocomplete(e){return this.autoCompleteService.verticalAutocomplete(e)}filterSearch(e){return this.autoCompleteService.filterSearch(e)}generativeDirectAnswer(e){return this.generativeDirectAnswerService.generateAnswer(e)}}}));x(E),E.SearchCore;var O=A((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.DirectAnswerType=void 0,function(e){e.FeaturedSnippet="FEATURED_SNIPPET",e.FieldValue="FIELD_VALUE"}(t.DirectAnswerType||(t.DirectAnswerType={}))}));x(O),O.DirectAnswerType;var M=A((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.Source=void 0,function(e){e.KnowledgeManager="KNOWLEDGE_MANAGER",e.Google="GOOGLE_CSE",e.Custom="CUSTOM_SEARCHER",e.DocumentVertical="DOCUMENT_VERTICAL",e.FunctionVertical="FUNCTION_VERTICAL"}(t.Source||(t.Source={}))}));x(M),M.Source;var T=A((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.ResultsFactory=void 0;t.ResultsFactory=class{static create(e,t){return e?e.map((e,n)=>{const r=n+1;switch(t){case M.Source.KnowledgeManager:return this.fromKnowledgeManager(e,r);case M.Source.Google:return this.fromGoogleCustomSearchEngine(e,r);case M.Source.DocumentVertical:return this.fromDocumentVertical(e,r);case M.Source.FunctionVertical:return this.fromFunctionVertical(e,r);default:return this.fromCustomSource(e,r)}}):[]}static fromKnowledgeManager(e,t){var n;const r=null!==(n=e.data)&&void 0!==n?n:e;return{rawData:r,source:M.Source.KnowledgeManager,index:t,name:r.name,description:r.description,link:r.website,id:r.id,distance:e.distance,distanceFromFilter:e.distanceFromFilter,highlightedFields:e.highlightedFields,entityType:r.type}}static fromDocumentVertical(e,t){var n;const r=null!==(n=e.data)&&void 0!==n?n:e;return{rawData:r,source:M.Source.DocumentVertical,name:r.name,description:r.description,link:r.website,id:r.id,index:t,segment:e.segment,document:e.document,documents:e.documents}}static fromGoogleCustomSearchEngine(e,t){var n;const r=null!==(n=e.data)&&void 0!==n?n:e;return{rawData:r,source:M.Source.Google,index:t,name:r.htmlTitle.replace(/(<([^>]+)>)/gi,""),description:r.htmlSnippet,link:r.link}}static fromCustomSource(e,t){return this.fromCustomDataHelper(e,t,M.Source.Custom)}static fromFunctionVertical(e,t){return this.fromCustomDataHelper(e,t,M.Source.FunctionVertical)}static fromCustomDataHelper(e,t,n){var r;const i=null!==(r=e.data)&&void 0!==r?r:e;return{rawData:i,source:n,index:t,name:i.name,description:i.description,link:i.website,id:i.id}}static fromDirectAnswer(e){var t;const n=null!==(t=e.fieldValues)&&void 0!==t?t:{};return{rawData:n,source:M.Source.KnowledgeManager,name:n.name,description:n.description,link:e.website,id:e.id,entityType:e.type}}}}));x(T),T.ResultsFactory;var L=A((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.BuiltInFieldType=void 0,function(e){e.URL="url",e.ComplexURL="complex_url",e.IOSAppURL="ios_app_url",e.AndroidAppURL="android_app_url",e.FacebookURL="facebook_url",e.Email="email",e.InstagramHandle="instagram_handle",e.TwitterHandle="twitter_handle",e.Phone="phone",e.Address="address",e.Hours="hours",e.Decimal="decimal",e.Integer="integer",e.SingleLineText="single_line_text",e.RichText="rich_text",e.MultiLineText="multi_line_text",e.RichText_v2="rich_text_v2",e.Html="html",e.Markdown="markdown"}(t.BuiltInFieldType||(t.BuiltInFieldType={}))}));x(L),L.BuiltInFieldType;var F=A((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.createDirectAnswer=void 0;const n=[L.BuiltInFieldType.MultiLineText,L.BuiltInFieldType.RichText,L.BuiltInFieldType.RichText_v2,L.BuiltInFieldType.Markdown,L.BuiltInFieldType.Html];t.createDirectAnswer=function(e){const t=(null==e?void 0:e.type)===O.DirectAnswerType.FieldValue,r=(null==e?void 0:e.type)===O.DirectAnswerType.FeaturedSnippet,i={value:e.answer.value,relatedResult:T.ResultsFactory.fromDirectAnswer(e.relatedItem.data),verticalKey:e.relatedItem.verticalConfigId,fieldType:Object.values(L.BuiltInFieldType).includes(e.answer.fieldType)?e.answer.fieldType:"unknown"};if(t)return Object.assign(Object.assign({type:O.DirectAnswerType.FieldValue},i),{entityName:e.answer.entityName,fieldName:e.answer.fieldName,fieldApiName:e.answer.fieldApiName});if(r){const t=i.fieldType;return n.includes(t)?Object.assign(Object.assign({type:O.DirectAnswerType.FeaturedSnippet},i),{snippet:e.answer.snippet}):void console.warn("Unexpected fieldType for featured snippet direct answer: "+t)}throw new Error("The Search API returned an unknown direct answer type: "+(null==e?void 0:e.type))}}));x(F),F.createDirectAnswer;var I=A((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.Matcher=void 0,function(e){e.Equals="$eq",e.NotEquals="!$eq",e.LessThan="$lt",e.LessThanOrEqualTo="$le",e.GreaterThan="$gt",e.GreaterThanOrEqualTo="$ge",e.Near="$near",e.Between="$between"}(t.Matcher||(t.Matcher={}))}));x(I),I.Matcher;var R=A((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.createFieldValueFilter=void 0,t.createFieldValueFilter=function(e){const t=Object.keys(e)[0],n=Object.keys(e[t])[0];let r;return r=n===I.Matcher.Between?function(e){const t={};return Object.keys(e).forEach(n=>{n===I.Matcher.GreaterThan||n===I.Matcher.GreaterThanOrEqualTo?t.start={matcher:n,value:e[n]}:n!==I.Matcher.LessThan&&n!==I.Matcher.LessThanOrEqualTo||(t.end={matcher:n,value:e[n]})}),t}(e[t][n]):e[t][n],{fieldId:t,matcher:n,value:r}}}));x(R),R.createFieldValueFilter;var j=A((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.createFacets=void 0,t.createFacets=function(e){return e?e.map(e=>{return{fieldId:e.fieldId,displayName:e.displayName,options:(t=e.options,t.map(e=>{const t=(0,R.createFieldValueFilter)(e.filter);return{displayName:e.displayName,count:e.count,selected:e.selected,matcher:t.matcher,value:t.value}}))};var t}):[]}}));x(j),j.createFacets;var P=A((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.createLocationBias=void 0,t.createLocationBias=function(e){return{latitude:e.latitude,longitude:e.longitude,displayName:e.locationDisplayName,method:e.accuracy}}}));x(P),P.createLocationBias;var N=A((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.createSpellCheck=void 0,t.createSpellCheck=function(e){return{originalQuery:e.originalQuery,correctedQuery:e.correctedQuery.value,type:e.type,matchedSubstrings:e.correctedQuery.matchedSubstrings}}}));x(N),N.createSpellCheck;var D=A((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.createAppliedQueryFilter=void 0,t.createAppliedQueryFilter=function(e){return Object.assign({displayKey:e.displayKey,displayValue:e.displayValue,filter:(0,R.createFieldValueFilter)(e.filter),type:e.type},e.details&&{details:e.details})}}));x(D),D.createAppliedQueryFilter;var B=A((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.createVerticalResults=void 0,t.createVerticalResults=function(e){return{appliedQueryFilters:e.appliedQueryFilters?e.appliedQueryFilters.map(D.createAppliedQueryFilter):[],queryDurationMillis:e.queryDurationMillis,results:T.ResultsFactory.create(e.results,e.source),resultsCount:e.resultsCount,source:e.source,verticalKey:e.verticalConfigId}}}));x(B),B.createVerticalResults;var q=A((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.createVerticalSearchResponse=void 0,t.createVerticalSearchResponse=function e(t){var n,r,i;return{verticalResults:(0,B.createVerticalResults)(t.response),queryId:t.response.queryId,directAnswer:t.response.directAnswer&&(0,F.createDirectAnswer)(t.response.directAnswer),searchIntents:t.response.searchIntents,facets:(0,j.createFacets)(t.response.facets),spellCheck:t.response.spellCheck&&(0,N.createSpellCheck)(t.response.spellCheck),locationBias:t.response.locationBias&&(0,P.createLocationBias)(t.response.locationBias),allResultsForVertical:t.response.allResultsForVertical&&e({response:t.response.allResultsForVertical}),alternativeVerticals:null===(r=null===(n=t.response.alternativeVerticals)||void 0===n?void 0:n.modules)||void 0===r?void 0:r.map(B.createVerticalResults),uuid:null===(i=t.meta)||void 0===i?void 0:i.uuid,queryRulesActionsData:t.response.queryRulesActionsData}}}));x(q),q.createVerticalSearchResponse;var U=A((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.Environment=void 0,function(e){e.PROD="prod",e.SANDBOX="sbx"}(t.Environment||(t.Environment={}))}));x(U),U.Environment;var V=A((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.CloudRegion=void 0,function(e){e.US="us",e.EU="eu"}(t.CloudRegion||(t.CloudRegion={}))}));x(V),V.CloudRegion;var z=A((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.CloudChoice=void 0,function(e){e.GLOBAL_MULTI="GLOBAL-MULTI",e.GLOBAL_GCP="GLOBAL-GCP"}(t.CloudChoice||(t.CloudChoice={}))}));x(z),z.CloudChoice;var H=A((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.SandboxEndpoints=t.EndpointsFactory=t.defaultApiVersion=void 0,t.defaultApiVersion=20220511;class n{constructor(e){this.environment=(null==e?void 0:e.environment)||U.Environment.PROD,this.cloudRegion=(null==e?void 0:e.cloudRegion)||V.CloudRegion.US,this.cloudChoice=(null==e?void 0:e.cloudChoice)||z.CloudChoice.GLOBAL_MULTI}getDomain(){switch(this.cloudChoice){case z.CloudChoice.GLOBAL_GCP:return`https://${this.environment}-cdn-gcp.${this.cloudRegion}.yextapis.com`;case z.CloudChoice.GLOBAL_MULTI:default:return`https://${this.environment}-cdn.${this.cloudRegion}.yextapis.com`}}getCachedDomain(){switch(this.cloudChoice){case z.CloudChoice.GLOBAL_GCP:return`https://${this.environment}-cdn-cached-gcp.${this.cloudRegion}.yextapis.com`;case z.CloudChoice.GLOBAL_MULTI:default:return`https://${this.environment}-cdn-cached.${this.cloudRegion}.yextapis.com`}}getEndpoints(){return{universalSearch:this.getDomain()+"/v2/accounts/me/search/query",verticalSearch:this.getDomain()+"/v2/accounts/me/search/vertical/query",questionSubmission:this.getDomain()+"/v2/accounts/me/createQuestion",status:"https://answersstatus.pagescdn.com",universalAutocomplete:this.getCachedDomain()+"/v2/accounts/me/search/autocomplete",verticalAutocomplete:this.getCachedDomain()+"/v2/accounts/me/search/vertical/autocomplete",filterSearch:this.getDomain()+"/v2/accounts/me/search/filtersearch",generativeDirectAnswer:this.getDomain()+"/v2/accounts/me/search/generateAnswer"}}}t.EndpointsFactory=n,t.SandboxEndpoints=new n({environment:U.Environment.SANDBOX,cloudRegion:V.CloudRegion.US,cloudChoice:z.CloudChoice.GLOBAL_MULTI}).getEndpoints()}));x(H),H.SandboxEndpoints,H.EndpointsFactory,H.defaultApiVersion;var K=A((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.QuerySource=void 0,function(e){e.Standard="STANDARD",e.Overlay="OVERLAY",e.Autocomplete="AUTOCOMPLETE"}(t.QuerySource||(t.QuerySource={}))}));x(K),K.QuerySource;var G=A((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.createFailedVertical=void 0,t.createFailedVertical=function(e){return{verticalKey:e.verticalConfigId,errorType:e.errorType,queryDurationMillis:e.queryDurationMillis,details:e.details}}}));x(G),G.createFailedVertical;var Z=A((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.createUniversalSearchResponse=void 0,t.createUniversalSearchResponse=function(e){var t;return{verticalResults:Array.isArray(e.response.modules)?e.response.modules.map(B.createVerticalResults):[],queryId:e.response.queryId,directAnswer:e.response.directAnswer&&(0,F.createDirectAnswer)(e.response.directAnswer),searchIntents:e.response.searchIntents,spellCheck:e.response.spellCheck&&(0,N.createSpellCheck)(e.response.spellCheck),locationBias:e.response.locationBias&&(0,P.createLocationBias)(e.response.locationBias),uuid:e.meta.uuid,queryRulesActionsData:e.response.queryRulesActionsData,failedVerticals:null===(t=e.response.failedVerticals)||void 0===t?void 0:t.map(G.createFailedVertical)}}}));x(Z),Z.createUniversalSearchResponse;var Q=A((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.isNumberRangeValue=void 0,t.isNumberRangeValue=function(e){return"object"==typeof e&&!!e&&("start"in e||"end"in e)}}));x(Q),Q.isNumberRangeValue;var W=A((function(e,t){function n(e){let t={};return(0,Q.isNumberRangeValue)(e.value)?(e.value.start&&(t[e.value.start.matcher]=e.value.start.value),e.value.end&&(t[e.value.end.matcher]=e.value.end.value)):t={[e.matcher]:e.value},{[e.fieldId]:t}}Object.defineProperty(t,"__esModule",{value:!0}),t.shapeFieldValueFilterForApi=t.serializeStaticFilters=void 0,t.serializeStaticFilters=function(e){if("fieldValue"!==e.kind){const t=function e(t,r){const i=[];for(const t of r)if("fieldValue"!==t.kind){const n=e(t.combinator,t.filters);n&&i.push(n)}else i.push(n(t));return 0===i.length?void 0:1===i.length?i[0]:{[t]:i}}(e.combinator,e.filters);return t&&JSON.stringify(t)}return JSON.stringify(n(e))},t.shapeFieldValueFilterForApi=n}));x(W),W.shapeFieldValueFilterForApi,W.serializeStaticFilters;var $=A((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.serializeFacets=void 0,t.serializeFacets=function(e){return JSON.stringify(e.reduce((e,t)=>{const n=t.fieldId,r=function(e,t){return e.map(e=>(0,W.shapeFieldValueFilterForApi)(Object.assign(Object.assign({},e),{fieldId:t})))}(t.options,n);return e[n]=r,e},{}))}}));x($),$.serializeFacets;var Y,J="@yext/search-core",X="Typescript Networking Library for the Yext Search API",ee="./dist/commonjs/src/index.js",te="./dist/esm/src/index.js",ne="./dist/bundle.d.ts",re=["networking","search api","search","browser","nodejs","typescript","commonjs","es6","yext"],ie=["dist","legacy","lib","src","THIRD-PARTY-NOTICES"],oe={node:">=12"},ae={test:"npm run lint && jest",lint:"eslint . --max-warnings=0","tsc-cjs":"tsc -p tsconfig.cjs.json","tsc-esm":"tsc -p tsconfig.esm.json",tsc:"npm run tsc-cjs && npm run tsc-esm","build-legacy-bundle":"npx webpack",build:"rm -rf dist/** && npm run tsc && npm run build-legacy-bundle && npm run api-extractor && npm run generate-docs","build-ci":"npm run tsc-cjs && npm run api-extractor && npm run generate-docs",dev:"npm run tsc-esm -- --watch",prepublishOnly:"npm run build","api-extractor":"api-extractor run --local --verbose","generate-docs":"api-documenter markdown --input-folder temp --output-folder docs && rm -rf temp && npm run generate-notices","generate-notices":"generate-license-file --input package.json --output THIRD-PARTY-NOTICES --overwrite"},se={type:"git",url:"https://github.com/yext/search-core.git"},ce={url:"https://github.com/yext/search-core/issues"},le="https://github.com/yext/search-core#readme",ue={"@babel/core":"^7.12.3","@babel/plugin-transform-runtime":"^7.23.2","@babel/preset-env":"^7.23.2","@babel/preset-typescript":"^7.12.1","@microsoft/api-documenter":"^7.13.76","@microsoft/api-extractor":"^7.19.2","@types/jest":"^28.1.1","@typescript-eslint/eslint-plugin":"^5.16.0","@typescript-eslint/parser":"^5.16.0","@yext/eslint-config-slapshot":"^0.4.0","@yext/eslint-plugin-export-star":"^1.0.2","babel-jest":"^28.1.0","babel-loader":"^8.3.0",eslint:"^8.11.0","eslint-config-react-app":"^7.0.1","eslint-plugin-tsdoc":"^0.2.14","generate-license-file":"^1.3.0",jest:"^28.1.0","jest-environment-jsdom":"^28.1.0","ts-loader":"^8.4.0",typescript:"^4.0.3",webpack:"^5.90.0","webpack-cli":"^4.4.0"},he={"@babel/runtime-corejs3":"^7.12.5","cross-fetch":"^3.1.5"},de={bail:0,collectCoverage:!0,collectCoverageFrom:["src/**","!src/models/**/*.ts"],verbose:!0,moduleFileExtensions:["js","ts"],moduleDirectories:["node_modules","<rootDir>"],testEnvironment:"jsdom",testPathIgnorePatterns:["./tests/mocks/*"],testMatch:["<rootDir>/tests/**/*.[jt]s"]},fe={name:J,version:"2.6.0",description:X,main:ee,module:te,types:ne,sideEffects:!1,keywords:re,files:ie,engines:oe,scripts:ae,repository:se,author:"slapshot@yext.com",license:"BSD-3-Clause",bugs:ce,homepage:le,devDependencies:ue,dependencies:he,jest:de},pe=(Y=Object.freeze({__proto__:null,name:J,version:"2.6.0",description:X,main:ee,module:te,types:ne,sideEffects:!1,keywords:re,files:ie,engines:oe,scripts:ae,repository:se,author:"slapshot@yext.com",license:"BSD-3-Clause",bugs:ce,homepage:le,devDependencies:ue,dependencies:he,jest:de,default:fe}))&&Y.default||Y,ge=A((function(e,t){var n=S&&S.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.getClientSdk=void 0;const r=n(pe),{version:i}=r.default;t.getClientSdk=function(e){var t;const n={ANSWERS_CORE:i};if(!e)return n;const r=null!==(t=e["Client-SDK"])&&void 0!==t?t:{};return Object.entries(r).reduce((e,[t,n])=>n?Object.assign(Object.assign({},e),{[t]:n}):e,n)}}));x(ge),ge.getClientSdk;var ve=A((function(e,t){var n=S&&S.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{c(r.next(e))}catch(e){o(e)}}function s(e){try{c(r.throw(e))}catch(e){o(e)}}function c(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}c((r=r.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.SearchServiceImpl=void 0;t.SearchServiceImpl=class{constructor(e,t,n){this.config=e,this.httpService=t,this.apiResponseValidator=n,this.universalSearchEndpoint=e.endpoints.universalSearch,this.verticalSearchEndpoint=e.endpoints.verticalSearch}universalSearch(e){var t,r,i,o;return n(this,void 0,void 0,(function*(){const n=Object.assign(Object.assign(Object.assign({input:e.query,experienceKey:this.config.experienceKey},"apiKey"in this.config&&{api_key:this.config.apiKey}),{v:H.defaultApiVersion,version:this.config.experienceVersion,limit:JSON.stringify(e.limit),location:this.stringifyLatLong(e.location),locale:this.config.locale,skipSpellCheck:e.skipSpellCheck,session_id:e.sessionId,sessionTrackingEnabled:e.sessionTrackingEnabled,queryTrigger:e.queryTrigger,context:JSON.stringify(e.context),referrerPageUrl:e.referrerPageUrl,source:e.querySource||K.QuerySource.Standard,visitorId:null===(t=this.config.visitor)||void 0===t?void 0:t.id,visitorIdMethod:null===(r=this.config.visitor)||void 0===r?void 0:r.idMethod,restrictVerticals:null===(i=e.restrictVerticals)||void 0===i?void 0:i.join(",")}),null===(o=this.config)||void 0===o?void 0:o.additionalQueryParams),a="token"in this.config?yield this.httpService.get(this.universalSearchEndpoint,n,(0,ge.getClientSdk)(e.additionalHttpHeaders),this.config.token):yield this.httpService.get(this.universalSearchEndpoint,n,(0,ge.getClientSdk)(e.additionalHttpHeaders)),s=this.apiResponseValidator.validate(a);return s instanceof Error?Promise.reject(s):(0,Z.createUniversalSearchResponse)(a)}))}verticalSearch(e){var t,r,i,o;return n(this,void 0,void 0,(function*(){const n=Object.assign(Object.assign(Object.assign({experienceKey:this.config.experienceKey},"apiKey"in this.config&&{api_key:this.config.apiKey}),{v:H.defaultApiVersion,version:this.config.experienceVersion,locale:this.config.locale,input:e.query,location:this.stringifyLatLong(e.location),verticalKey:e.verticalKey,filters:e.staticFilter&&(0,W.serializeStaticFilters)(e.staticFilter),limit:e.limit,offset:e.offset,retrieveFacets:e.retrieveFacets,facetFilters:e.facets&&(0,$.serializeFacets)(e.facets),skipSpellCheck:e.skipSpellCheck,queryTrigger:e.queryTrigger,session_id:e.sessionId,sessionTrackingEnabled:e.sessionTrackingEnabled,sortBys:JSON.stringify(e.sortBys||[]),context:JSON.stringify(e.context),referrerPageUrl:e.referrerPageUrl,source:e.querySource||K.QuerySource.Standard,locationRadius:null===(t=e.locationRadius)||void 0===t?void 0:t.toString(),queryId:e.queryId,visitorId:null===(r=this.config.visitor)||void 0===r?void 0:r.id,visitorIdMethod:null===(i=this.config.visitor)||void 0===i?void 0:i.idMethod}),null===(o=this.config)||void 0===o?void 0:o.additionalQueryParams),a="token"in this.config?yield this.httpService.get(this.verticalSearchEndpoint,n,(0,ge.getClientSdk)(e.additionalHttpHeaders),this.config.token):yield this.httpService.get(this.verticalSearchEndpoint,n,(0,ge.getClientSdk)(e.additionalHttpHeaders)),s=this.apiResponseValidator.validate(a);return s instanceof Error?Promise.reject(s):(0,q.createVerticalSearchResponse)(a)}))}stringifyLatLong(e){if(e)return`${e.latitude},${e.longitude}`}}}));x(ve),ve.SearchServiceImpl;var me=A((function(e,t){var n=S&&S.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{c(r.next(e))}catch(e){o(e)}}function s(e){try{c(r.throw(e))}catch(e){o(e)}}function c(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}c((r=r.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.QuestionSubmissionServiceImpl=void 0;t.QuestionSubmissionServiceImpl=class{constructor(e,t,n){this.config=e,this.httpService=t,this.apiResponseValidator=n,this.endpoint=this.config.endpoints.questionSubmission}submitQuestion(e){var t;return n(this,void 0,void 0,(function*(){const n=Object.assign(Object.assign(Object.assign({v:H.defaultApiVersion},"apiKey"in this.config&&{api_key:this.config.apiKey}),{sessionTrackingEnabled:e.sessionTrackingEnabled}),null===(t=this.config)||void 0===t?void 0:t.additionalQueryParams),r={email:e.email,entityId:e.entityId,name:e.name,questionDescription:e.questionDescription,questionLanguage:this.config.locale,questionText:e.questionText,site:"FIRSTPARTY"},i="token"in this.config?yield this.httpService.post(this.endpoint,n,r,(0,ge.getClientSdk)(e.additionalHttpHeaders),this.config.token):yield this.httpService.post(this.endpoint,n,r,(0,ge.getClientSdk)(e.additionalHttpHeaders)),o=this.apiResponseValidator.validate(i);return o instanceof Error?Promise.reject(o):{uuid:i.meta.uuid}}))}}}));x(me),me.QuestionSubmissionServiceImpl;var ye=A((function(e,t){var n="undefined"!=typeof globalThis&&globalThis||"undefined"!=typeof self&&self||void 0!==S&&S,r=function(){function e(){this.fetch=!1,this.DOMException=n.DOMException}return e.prototype=n,new e}();!function(e){!function(t){var n=void 0!==e&&e||"undefined"!=typeof self&&self||void 0!==S&&S||{},r="URLSearchParams"in n,i="Symbol"in n&&"iterator"in Symbol,o="FileReader"in n&&"Blob"in n&&function(){try{return new Blob,!0}catch(e){return!1}}(),a="FormData"in n,s="ArrayBuffer"in n;if(s)var c=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],l=ArrayBuffer.isView||function(e){return e&&c.indexOf(Object.prototype.toString.call(e))>-1};function u(e){if("string"!=typeof e&&(e=String(e)),/[^a-z0-9\-#$%&'*+.^_`|~!]/i.test(e)||""===e)throw new TypeError('Invalid character in header field name: "'+e+'"');return e.toLowerCase()}function h(e){return"string"!=typeof e&&(e=String(e)),e}function d(e){var t={next:function(){var t=e.shift();return{done:void 0===t,value:t}}};return i&&(t[Symbol.iterator]=function(){return t}),t}function f(e){this.map={},e instanceof f?e.forEach((function(e,t){this.append(t,e)}),this):Array.isArray(e)?e.forEach((function(e){if(2!=e.length)throw new TypeError("Headers constructor: expected name/value pair to be length 2, found"+e.length);this.append(e[0],e[1])}),this):e&&Object.getOwnPropertyNames(e).forEach((function(t){this.append(t,e[t])}),this)}function p(e){if(!e._noBody)return e.bodyUsed?Promise.reject(new TypeError("Already read")):void(e.bodyUsed=!0)}function g(e){return new Promise((function(t,n){e.onload=function(){t(e.result)},e.onerror=function(){n(e.error)}}))}function v(e){var t=new FileReader,n=g(t);return t.readAsArrayBuffer(e),n}function m(e){if(e.slice)return e.slice(0);var t=new Uint8Array(e.byteLength);return t.set(new Uint8Array(e)),t.buffer}function y(){return this.bodyUsed=!1,this._initBody=function(e){var t;this.bodyUsed=this.bodyUsed,this._bodyInit=e,e?"string"==typeof e?this._bodyText=e:o&&Blob.prototype.isPrototypeOf(e)?this._bodyBlob=e:a&&FormData.prototype.isPrototypeOf(e)?this._bodyFormData=e:r&&URLSearchParams.prototype.isPrototypeOf(e)?this._bodyText=e.toString():s&&o&&((t=e)&&DataView.prototype.isPrototypeOf(t))?(this._bodyArrayBuffer=m(e.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):s&&(ArrayBuffer.prototype.isPrototypeOf(e)||l(e))?this._bodyArrayBuffer=m(e):this._bodyText=e=Object.prototype.toString.call(e):(this._noBody=!0,this._bodyText=""),this.headers.get("content-type")||("string"==typeof e?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):r&&URLSearchParams.prototype.isPrototypeOf(e)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},o&&(this.blob=function(){var e=p(this);if(e)return e;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error("could not read FormData body as blob");return Promise.resolve(new Blob([this._bodyText]))}),this.arrayBuffer=function(){if(this._bodyArrayBuffer){var e=p(this);return e||(ArrayBuffer.isView(this._bodyArrayBuffer)?Promise.resolve(this._bodyArrayBuffer.buffer.slice(this._bodyArrayBuffer.byteOffset,this._bodyArrayBuffer.byteOffset+this._bodyArrayBuffer.byteLength)):Promise.resolve(this._bodyArrayBuffer))}if(o)return this.blob().then(v);throw new Error("could not read as ArrayBuffer")},this.text=function(){var e,t,n,r,i,o=p(this);if(o)return o;if(this._bodyBlob)return e=this._bodyBlob,t=new FileReader,n=g(t),r=/charset=([A-Za-z0-9_-]+)/.exec(e.type),i=r?r[1]:"utf-8",t.readAsText(e,i),n;if(this._bodyArrayBuffer)return Promise.resolve(function(e){for(var t=new Uint8Array(e),n=new Array(t.length),r=0;r<t.length;r++)n[r]=String.fromCharCode(t[r]);return n.join("")}(this._bodyArrayBuffer));if(this._bodyFormData)throw new Error("could not read FormData body as text");return Promise.resolve(this._bodyText)},a&&(this.formData=function(){return this.text().then(k)}),this.json=function(){return this.text().then(JSON.parse)},this}f.prototype.append=function(e,t){e=u(e),t=h(t);var n=this.map[e];this.map[e]=n?n+", "+t:t},f.prototype.delete=function(e){delete this.map[u(e)]},f.prototype.get=function(e){return e=u(e),this.has(e)?this.map[e]:null},f.prototype.has=function(e){return this.map.hasOwnProperty(u(e))},f.prototype.set=function(e,t){this.map[u(e)]=h(t)},f.prototype.forEach=function(e,t){for(var n in this.map)this.map.hasOwnProperty(n)&&e.call(t,this.map[n],n,this)},f.prototype.keys=function(){var e=[];return this.forEach((function(t,n){e.push(n)})),d(e)},f.prototype.values=function(){var e=[];return this.forEach((function(t){e.push(t)})),d(e)},f.prototype.entries=function(){var e=[];return this.forEach((function(t,n){e.push([n,t])})),d(e)},i&&(f.prototype[Symbol.iterator]=f.prototype.entries);var _=["CONNECT","DELETE","GET","HEAD","OPTIONS","PATCH","POST","PUT","TRACE"];function b(e,t){if(!(this instanceof b))throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.');var r,i,o=(t=t||{}).body;if(e instanceof b){if(e.bodyUsed)throw new TypeError("Already read");this.url=e.url,this.credentials=e.credentials,t.headers||(this.headers=new f(e.headers)),this.method=e.method,this.mode=e.mode,this.signal=e.signal,o||null==e._bodyInit||(o=e._bodyInit,e.bodyUsed=!0)}else this.url=String(e);if(this.credentials=t.credentials||this.credentials||"same-origin",!t.headers&&this.headers||(this.headers=new f(t.headers)),this.method=(r=t.method||this.method||"GET",i=r.toUpperCase(),_.indexOf(i)>-1?i:r),this.mode=t.mode||this.mode||null,this.signal=t.signal||this.signal||function(){if("AbortController"in n)return(new AbortController).signal}(),this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&o)throw new TypeError("Body not allowed for GET or HEAD requests");if(this._initBody(o),!("GET"!==this.method&&"HEAD"!==this.method||"no-store"!==t.cache&&"no-cache"!==t.cache)){var a=/([?&])_=[^&]*/;if(a.test(this.url))this.url=this.url.replace(a,"$1_="+(new Date).getTime());else{this.url+=(/\?/.test(this.url)?"&":"?")+"_="+(new Date).getTime()}}}function k(e){var t=new FormData;return e.trim().split("&").forEach((function(e){if(e){var n=e.split("="),r=n.shift().replace(/\+/g," "),i=n.join("=").replace(/\+/g," ");t.append(decodeURIComponent(r),decodeURIComponent(i))}})),t}function w(e,t){if(!(this instanceof w))throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.');if(t||(t={}),this.type="default",this.status=void 0===t.status?200:t.status,this.status<200||this.status>599)throw new RangeError("Failed to construct 'Response': The status provided (0) is outside the range [200, 599].");this.ok=this.status>=200&&this.status<300,this.statusText=void 0===t.statusText?"":""+t.statusText,this.headers=new f(t.headers),this.url=t.url||"",this._initBody(e)}b.prototype.clone=function(){return new b(this,{body:this._bodyInit})},y.call(b.prototype),y.call(w.prototype),w.prototype.clone=function(){return new w(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new f(this.headers),url:this.url})},w.error=function(){var e=new w(null,{status:200,statusText:""});return e.ok=!1,e.status=0,e.type="error",e};var C=[301,302,303,307,308];w.redirect=function(e,t){if(-1===C.indexOf(t))throw new RangeError("Invalid status code");return new w(null,{status:t,headers:{location:e}})},t.DOMException=n.DOMException;try{new t.DOMException}catch(e){t.DOMException=function(e,t){this.message=e,this.name=t;var n=Error(e);this.stack=n.stack},t.DOMException.prototype=Object.create(Error.prototype),t.DOMException.prototype.constructor=t.DOMException}function x(e,r){return new Promise((function(i,a){var c=new b(e,r);if(c.signal&&c.signal.aborted)return a(new t.DOMException("Aborted","AbortError"));var l=new XMLHttpRequest;function d(){l.abort()}if(l.onload=function(){var e,t,n={statusText:l.statusText,headers:(e=l.getAllResponseHeaders()||"",t=new f,e.replace(/\r?\n[\t ]+/g," ").split("\r").map((function(e){return 0===e.indexOf("\n")?e.substr(1,e.length):e})).forEach((function(e){var n=e.split(":"),r=n.shift().trim();if(r){var i=n.join(":").trim();try{t.append(r,i)}catch(e){console.warn("Response "+e.message)}}})),t)};0===c.url.indexOf("file://")&&(l.status<200||l.status>599)?n.status=200:n.status=l.status,n.url="responseURL"in l?l.responseURL:n.headers.get("X-Request-URL");var r="response"in l?l.response:l.responseText;setTimeout((function(){i(new w(r,n))}),0)},l.onerror=function(){setTimeout((function(){a(new TypeError("Network request failed"))}),0)},l.ontimeout=function(){setTimeout((function(){a(new TypeError("Network request timed out"))}),0)},l.onabort=function(){setTimeout((function(){a(new t.DOMException("Aborted","AbortError"))}),0)},l.open(c.method,function(e){try{return""===e&&n.location.href?n.location.href:e}catch(t){return e}}(c.url),!0),"include"===c.credentials?l.withCredentials=!0:"omit"===c.credentials&&(l.withCredentials=!1),"responseType"in l&&(o?l.responseType="blob":s&&(l.responseType="arraybuffer")),r&&"object"==typeof r.headers&&!(r.headers instanceof f||n.Headers&&r.headers instanceof n.Headers)){var p=[];Object.getOwnPropertyNames(r.headers).forEach((function(e){p.push(u(e)),l.setRequestHeader(e,h(r.headers[e]))})),c.headers.forEach((function(e,t){-1===p.indexOf(t)&&l.setRequestHeader(t,e)}))}else c.headers.forEach((function(e,t){l.setRequestHeader(t,e)}));c.signal&&(c.signal.addEventListener("abort",d),l.onreadystatechange=function(){4===l.readyState&&c.signal.removeEventListener("abort",d)}),l.send(void 0===c._bodyInit?null:c._bodyInit)}))}x.polyfill=!0,n.fetch||(n.fetch=x,n.Headers=f,n.Request=b,n.Response=w),t.Headers=f,t.Request=b,t.Response=w,t.fetch=x,Object.defineProperty(t,"__esModule",{value:!0})}({})}(r),r.fetch.ponyfill=!0,delete r.fetch.polyfill;var i=n.fetch?n:r;(t=i.fetch).default=i.fetch,t.fetch=i.fetch,t.Headers=i.Headers,t.Request=i.Request,t.Response=i.Response,e.exports=t}));x(ye);var _e=ye.fetch;ye.Headers,ye.Request,ye.Response;var be=A((function(e,t){function n(e){return Object.keys(e).forEach(t=>{void 0!==e[t]&&null!==e[t]||delete e[t]}),e}Object.defineProperty(t,"__esModule",{value:!0}),t.sanitizeQueryParams=t.addParamsToURL=void 0,t.addParamsToURL=function(e,t){const r=new URL(e),i=new URLSearchParams(r.search.substring(1)),o=n(t);for(const e in o)i.append(e,o[e].toString());let a=r.origin+r.pathname;const s=i.toString();return s&&(a+="?"+s),a},t.sanitizeQueryParams=n}));x(be),be.sanitizeQueryParams,be.addParamsToURL;var ke=A((function(e,t){var n=S&&S.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.HttpServiceImpl=void 0;const r=n(ye);var i;!function(e){e.GET="get",e.POST="post"}(i||(i={}));function o(e,t,n){const i=(0,be.addParamsToURL)(e,t);return"undefined"!=typeof window&&window.fetch?window.fetch(i,n):(0,r.default)(i,n)}function a(e){return Object.keys(e).reduce((t,n)=>{const r=`${n}=${e[n]}`;return t?`${t}, ${r}`:r},"")}t.HttpServiceImpl=class{get(e,t,n,r){return o(e,t,{method:i.GET,mode:"cors",credentials:"include",headers:Object.assign({"Client-SDK":a(n)},r&&{Authorization:"Bearer "+r})}).then(e=>e.json())}post(e,t,n,r,s){const c=(0,be.sanitizeQueryParams)(n);return o(e,t,Object.assign(Object.assign({method:i.POST,body:JSON.stringify(c),mode:"cors"},s&&{credentials:"include"}),{headers:Object.assign({"Client-SDK":a(r),"Content-Type":"application/json"},s&&{Authorization:"Bearer "+s})})).then(e=>e.json())}}}));x(ke),ke.HttpServiceImpl;var we=A((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.SearchError=void 0;class n extends Error{constructor(e,t,r){super(e),this.message=e,this.code=t,this.type=r,Object.setPrototypeOf(this,n.prototype)}}t.SearchError=n}));x(we),we.SearchError;var Ce=A((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.createAutocompleteResult=void 0,t.createAutocompleteResult=function(e){var t;const n=e.relatedItem?T.ResultsFactory.create([e.relatedItem],M.Source.KnowledgeManager)[0]:e.relatedItem;return{filter:e.filter&&(0,R.createFieldValueFilter)(e.filter),key:e.key,matchedSubstrings:e.matchedSubstrings||[],value:e.value,relatedItem:n,verticalKeys:e.verticalKeys,inputIntents:null!==(t=e.queryIntents)&&void 0!==t?t:[]}}}));x(Ce),Ce.createAutocompleteResult;var Se=A((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.createFilterSearchResponse=t.createAutocompleteResponse=void 0,t.createAutocompleteResponse=function(e){var t,n;if(!e.response)throw new Error("The autocomplete data does not contain a response property");if(!Object.keys(e.response).length)throw new Error("The autocomplete response is empty");const r=e.response,i=r.results.map(Ce.createAutocompleteResult),o=null!==(n=null===(t=r.input)||void 0===t?void 0:t.queryIntents)&&void 0!==n?n:[];return{results:i,queryId:r.queryId,inputIntents:o||[],uuid:e.meta.uuid}},t.createFilterSearchResponse=function(e){if(!e.response)throw new Error("The autocomplete data does not contain a response property");if(!Object.keys(e.response).length)throw new Error("The autocomplete response is empty");const t=e.response;if(t.failedVerticals&&0!=t.failedVerticals.length){const e=t.failedVerticals[0];throw new we.SearchError(e.details.description,e.details.responseCode,e.errorType)}return{sections:t.sections.map(e=>({label:e.label,results:e.results.map(Ce.createAutocompleteResult)})),queryId:t.queryId,businessId:t.businessId,uuid:e.meta.uuid}}}));x(Se),Se.createFilterSearchResponse,Se.createAutocompleteResponse;var xe=A((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.serializeExcludedFields=t.serializeSearchParameterFields=void 0,t.serializeSearchParameterFields=function(e){return e.map(({fieldApiName:e,entityType:t,fetchEntities:n})=>({fieldId:e,entityTypeId:t,shouldFetchEntities:n}))},t.serializeExcludedFields=function(e){return null==e?void 0:e.map(({fieldId:e,matcher:t,value:n})=>({[e]:{[t]:n}}))}}));x(xe),xe.serializeExcludedFields,xe.serializeSearchParameterFields;var Ae=A((function(e,t){var n=S&&S.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{c(r.next(e))}catch(e){o(e)}}function s(e){try{c(r.throw(e))}catch(e){o(e)}}function c(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}c((r=r.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.AutocompleteServiceImpl=void 0;t.AutocompleteServiceImpl=class{constructor(e,t,n){this.config=e,this.httpService=t,this.apiResponseValidator=n,this.universalEndpoint=this.config.endpoints.universalAutocomplete,this.verticalEndpoint=this.config.endpoints.verticalAutocomplete,this.filterEndpoint=this.config.endpoints.filterSearch}universalAutocomplete(e){var t,r,i;return n(this,void 0,void 0,(function*(){const n=Object.assign(Object.assign(Object.assign({input:e.input,experienceKey:this.config.experienceKey},"apiKey"in this.config&&{api_key:this.config.apiKey}),{v:H.defaultApiVersion,version:this.config.experienceVersion,locale:this.config.locale,sessionTrackingEnabled:e.sessionTrackingEnabled,visitorId:null===(t=this.config.visitor)||void 0===t?void 0:t.id,visitorIdMethod:null===(r=this.config.visitor)||void 0===r?void 0:r.idMethod}),null===(i=this.config)||void 0===i?void 0:i.additionalQueryParams),o="token"in this.config?yield this.httpService.get(this.universalEndpoint,n,(0,ge.getClientSdk)(e.additionalHttpHeaders),this.config.token):yield this.httpService.get(this.universalEndpoint,n,(0,ge.getClientSdk)(e.additionalHttpHeaders)),a=this.apiResponseValidator.validate(o);return a instanceof Error?Promise.reject(a):(0,Se.createAutocompleteResponse)(o)}))}verticalAutocomplete(e){var t,r,i;return n(this,void 0,void 0,(function*(){const n=Object.assign(Object.assign(Object.assign({input:e.input,experienceKey:this.config.experienceKey},"apiKey"in this.config&&{api_key:this.config.apiKey}),{v:H.defaultApiVersion,version:this.config.experienceVersion,locale:this.config.locale,verticalKey:e.verticalKey,sessionTrackingEnabled:e.sessionTrackingEnabled,visitorId:null===(t=this.config.visitor)||void 0===t?void 0:t.id,visitorIdMethod:null===(r=this.config.visitor)||void 0===r?void 0:r.idMethod}),null===(i=this.config)||void 0===i?void 0:i.additionalQueryParams),o="token"in this.config?yield this.httpService.get(this.verticalEndpoint,n,(0,ge.getClientSdk)(e.additionalHttpHeaders),this.config.token):yield this.httpService.get(this.verticalEndpoint,n,(0,ge.getClientSdk)(e.additionalHttpHeaders)),a=this.apiResponseValidator.validate(o);return a instanceof Error?Promise.reject(a):(0,Se.createAutocompleteResponse)(o)}))}filterSearch(e){var t,r,i;return n(this,void 0,void 0,(function*(){const n={sectioned:e.sectioned,fields:(0,xe.serializeSearchParameterFields)(e.fields)},o=Object.assign(Object.assign(Object.assign({input:e.input,experienceKey:this.config.experienceKey},"apiKey"in this.config&&{api_key:this.config.apiKey}),{v:H.defaultApiVersion,version:this.config.experienceVersion,locale:this.config.locale,search_parameters:JSON.stringify(n),verticalKey:e.verticalKey,sessionTrackingEnabled:e.sessionTrackingEnabled,visitorId:null===(t=this.config.visitor)||void 0===t?void 0:t.id,visitorIdMethod:null===(r=this.config.visitor)||void 0===r?void 0:r.idMethod,excluded:JSON.stringify((0,xe.serializeExcludedFields)(e.excluded))}),null===(i=this.config)||void 0===i?void 0:i.additionalQueryParams),a="token"in this.config?yield this.httpService.get(this.filterEndpoint,o,(0,ge.getClientSdk)(e.additionalHttpHeaders),this.config.token):yield this.httpService.get(this.filterEndpoint,o,(0,ge.getClientSdk)(e.additionalHttpHeaders)),s=this.apiResponseValidator.validate(a);return s instanceof Error?Promise.reject(s):(0,Se.createFilterSearchResponse)(a)}))}}}));x(Ae),Ae.AutocompleteServiceImpl;var Ee=A((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.ApiResponseValidator=void 0;t.ApiResponseValidator=class{validate(e){return[this.validateResponseProp,this.validateMetaProp,this.checkForApiErrors].map(t=>t(e)).find(e=>e)}validateResponseProp(e){if(!e.response)return new we.SearchError("Malformed Search API response: missing response property.")}validateMetaProp(e){if(!e.meta)return new we.SearchError("Malformed Search API response: missing meta property.")}checkForApiErrors(e){var t,n;if((null===(n=null===(t=e.meta)||void 0===t?void 0:t.errors)||void 0===n?void 0:n.length)>=1){const t=e.meta.errors[0];return new we.SearchError(t.message,t.code,t.type)}}}}));x(Ee),Ee.ApiResponseValidator;var Oe=A((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.createGenerativeDirectAnswerResponse=void 0,t.createGenerativeDirectAnswerResponse=function(e){return{directAnswer:e.response.directAnswer,resultStatus:e.response.resultStatus,citations:e.response.citations}}}));x(Oe),Oe.createGenerativeDirectAnswerResponse;var Me=A((function(e,t){var n=S&&S.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{c(r.next(e))}catch(e){o(e)}}function s(e){try{c(r.throw(e))}catch(e){o(e)}}function c(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}c((r=r.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.GenerativeDirectAnswerServiceImpl=void 0;t.GenerativeDirectAnswerServiceImpl=class{constructor(e,t,n){this.config=e,this.httpService=t,this.apiResponseValidator=n,this.endpoint=this.config.endpoints.generativeDirectAnswer}generateAnswer(e){var t,r,i;return n(this,void 0,void 0,(function*(){const n=Object.assign(Object.assign(Object.assign({experienceKey:this.config.experienceKey},"apiKey"in this.config&&{api_key:this.config.apiKey}),{v:H.defaultApiVersion,version:this.config.experienceVersion,locale:this.config.locale,visitorId:null===(t=this.config.visitor)||void 0===t?void 0:t.id,visitorIdMethod:null===(r=this.config.visitor)||void 0===r?void 0:r.idMethod}),null===(i=this.config)||void 0===i?void 0:i.additionalQueryParams);let o={};1===e.results.length?o=e.results[0]:e.results.length>1&&(o={verticals:e.results});const a={searchId:e.searchId,searchTerm:e.searchTerm,results:o},s="token"in this.config?yield this.httpService.post(this.endpoint,n,a,(0,ge.getClientSdk)(e.additionalHttpHeaders),this.config.token):yield this.httpService.post(this.endpoint,n,a,(0,ge.getClientSdk)(e.additionalHttpHeaders)),c=this.apiResponseValidator.validate(s);return c instanceof Error?Promise.reject(c):(0,Oe.createGenerativeDirectAnswerResponse)(s)}))}}}));x(Me),Me.GenerativeDirectAnswerServiceImpl;var Te=A((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.provideCore=void 0,t.provideCore=function(e){if("apiKey"in e&&"token"in e)throw new E