UNPKG

@meilisearch/instant-meilisearch

Version:
3 lines (2 loc) 13.9 kB
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t=require("meilisearch"),e=function(){return e=Object.assign||function(t){for(var e,r=1,n=arguments.length;r<n;r++)for(var i in e=arguments[r])Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i]);return t},e.apply(this,arguments)};function r(t,e,r,n){return new(r||(r=Promise))((function(i,a){function o(t){try{c(n.next(t))}catch(t){a(t)}}function u(t){try{c(n.throw(t))}catch(t){a(t)}}function c(t){var e;t.done?i(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(o,u)}c((n=n.apply(t,e||[])).next())}))}function n(t,e){var r,n,i,a,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:u(0),throw:u(1),return:u(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function u(u){return function(c){return function(u){if(r)throw new TypeError("Generator is already executing.");for(;a&&(a=0,u[0]&&(o=0)),o;)try{if(r=1,n&&(i=2&u[0]?n.return:u[0]?n.throw||((i=n.return)&&i.call(n),0):n.next)&&!(i=i.call(n,u[1])).done)return i;switch(n=0,i&&(u=[2&u[0],i.value]),u[0]){case 0:case 1:i=u;break;case 4:return o.label++,{value:u[1],done:!1};case 5:o.label++,n=u[1],u=[0];continue;case 7:u=o.ops.pop(),o.trys.pop();continue;default:if(!(i=o.trys,(i=i.length>0&&i[i.length-1])||6!==u[0]&&2!==u[0])){o=0;continue}if(3===u[0]&&(!i||u[1]>i[0]&&u[1]<i[3])){o.label=u[1];break}if(6===u[0]&&o.label<i[1]){o.label=i[1],i=u;break}if(i&&o.label<i[2]){o.label=i[2],o.ops.push(u);break}i[2]&&o.ops.pop(),o.trys.pop();continue}u=e.call(t,o)}catch(t){u=[6,t],n=0}finally{r=i=0}if(5&u[0])throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}([u,c])}}}function i(t){return"object"==typeof t&&!Array.isArray(t)&&null!==t}"function"==typeof SuppressedError&&SuppressedError;var a=/([\\"])/g;function o(t){return t.replace(a,"\\$1")}function u(t){var e=o(t),r=e.indexOf(":"),n=e.slice(0,r),i=e.slice(r+1);return'"'.concat(n,'"="').concat(i,'"')}function c(t){var e=function(){var e=t.match(/^([^<!>:=]*)([<!>:=]+)(.*)$/);if(e){var r=e.slice(1),n=r[0],i=r[1],a=r[2],o=(i.match(/^([<!>]?=|<|>|:){1}(.*)/)||["",""]).slice(1);return[n,o[0],o[1]+a]}return[t,"",""]}(),r=e[0],n=e[1],i=e[2],a=o(r);return'"'.concat(a.trim(),'"').concat(":"===n?" ":n).concat(i.trim())}function s(t,e){return"string"==typeof e?t(e):e.map((function(e){return"string"==typeof e?t(e):e.map((function(e){return t(e)}))}))}function l(t){return"string"==typeof t?[t]:t}function d(t,e,r){return function(t,e,r){var n=l(e),i=l(r),a=[];return void 0!==t&&a.push(t),void 0!==n&&a.push.apply(a,n),void 0!==i&&a.push.apply(a,i),a}(t,void 0!==e?s(c,e):e,void 0!==r?s(u,r):r)}function f(t){var e=t.query,r=t.indexUid,n=t.facets,i=t.attributesToSnippet,a=t.snippetEllipsisText,o=t.filters,u=t.numericFilters,c=t.facetFilters,s=t.attributesToRetrieve,l=t.attributesToHighlight,f=t.highlightPreTag,h=t.highlightPostTag,g=t.placeholderSearch,p=t.pagination,v=t.sort,y=t.restrictSearchableAttributes,m=t.meiliSearchParams,b={indexUid:r},P=d(o,u,c);return{getParams:function(){return b},addQuery:function(){b.q=e},addFacets:function(){var t=n;void 0!==t&&(b.facets="string"==typeof t?[t]:t)},addAttributesToCrop:function(){var t,e=null!==(t=null==m?void 0:m.attributesToCrop)&&void 0!==t?t:i;void 0!==e&&(b.attributesToCrop=e)},addCropLength:function(){var t=null==m?void 0:m.cropLength;void 0!==t&&(b.cropLength=t)},addCropMarker:function(){var t,e=null!==(t=null==m?void 0:m.cropMarker)&&void 0!==t?t:a;void 0!==e&&(b.cropMarker=e)},addFilters:function(){P.length&&(b.filter=P)},addAttributesToRetrieve:function(){var t,e=null!==(t=null==m?void 0:m.attributesToRetrieve)&&void 0!==t?t:s;void 0!==e&&(b.attributesToRetrieve=e)},addAttributesToHighlight:function(){var t,e;b.attributesToHighlight=null!==(e=null!==(t=null==m?void 0:m.attributesToHighlight)&&void 0!==t?t:l)&&void 0!==e?e:["*"]},addPreTag:function(){var t,e;b.highlightPreTag=null!==(e=null!==(t=null==m?void 0:m.highlightPreTag)&&void 0!==t?t:f)&&void 0!==e?e:"__ais-highlight__"},addPostTag:function(){var t,e;b.highlightPostTag=null!==(e=null!==(t=null==m?void 0:m.highlightPostTag)&&void 0!==t?t:h)&&void 0!==e?e:"__/ais-highlight__"},addPagination:function(){var t=function(t,e,r){return!!(r||e||t&&0!==t.length)}(P,e,g);if(p.finite){var r=function(t,e){var r=t.page,n=t.hitsPerPage;return e?{hitsPerPage:n,page:r+1}:{hitsPerPage:0,page:r+1}}(p,t),n=r.hitsPerPage,i=r.page;b.hitsPerPage=n,b.page=i}else{var a=function(t,e){var r=t.page,n=t.hitsPerPage;return e?{limit:n+1,offset:r*n}:{limit:0,offset:0}}(p,t),o=a.limit,u=a.offset;b.limit=o,b.offset=u}},addSort:function(){(null==v?void 0:v.length)&&(b.sort=Array.isArray(v)?v:[v])},addGeoSearchFilter:function(){var e=function(t){var e,r,n,i=t.insideBoundingBox,a=t.aroundLatLng,o=t.aroundRadius,u=t.minimumAroundRadius;if(a){var c=a.split(",").map((function(t){return Number.parseFloat(t).toFixed(5)}));e=[g=c[0],p=c[1]]}if(null==o&&null==u||("all"===o?console.warn("instant-meilisearch is not compatible with the `all` value on the aroundRadius parameter"):r=null!=o?o:u),i&&"string"==typeof i){var s=i.split(",").map((function(t){return parseFloat(t)})),l=s[0],d=s[1],f=s[2],h=s[3];n="_geoBoundingBox([".concat(l,", ").concat(d,"], [").concat(f,", ").concat(h,"])")}else if(null!=e&&null!=r){var g=e[0],p=e[1];n="_geoRadius(".concat(g,", ").concat(p,", ").concat(r,")")}return n}({insideBoundingBox:t.insideBoundingBox,aroundLatLng:t.aroundLatLng,aroundRadius:t.aroundRadius,minimumAroundRadius:t.minimumAroundRadius});void 0!==e&&(Array.isArray(b.filter)?b.filter.unshift(e):b.filter=[e])},addShowMatchesPosition:function(){var t=null==m?void 0:m.showMatchesPosition;void 0!==t&&(b.showMatchesPosition=t)},addMatchingStrategy:function(){var t=null==m?void 0:m.matchingStrategy;void 0!==t&&(b.matchingStrategy=t)},addShowRankingScore:function(){var t=null==m?void 0:m.showRankingScore;void 0!==t&&(b.showRankingScore=t)},addAttributesToSearchOn:function(){var t=void 0!==(null==m?void 0:m.attributesToSearchOn)?m.attributesToSearchOn:y;void 0!==t&&(b.attributesToSearchOn=t)},addHybridSearch:function(){var t=null==m?void 0:m.hybrid;void 0!==t&&(b.hybrid=t)}}}function h(t){var e=f(t);return e.addQuery(),e.addFacets(),e.addAttributesToCrop(),e.addCropLength(),e.addCropMarker(),e.addFilters(),e.addAttributesToRetrieve(),e.addAttributesToHighlight(),e.addPreTag(),e.addPostTag(),e.addPagination(),e.addSort(),e.addGeoSearchFilter(),e.addShowMatchesPosition(),e.addMatchingStrategy(),e.addShowRankingScore(),e.addAttributesToSearchOn(),e.addHybridSearch(),e.getParams()}function g(t){return"string"==typeof t?t:void 0===t?JSON.stringify(null):JSON.stringify(t)}function p(t){return Array.isArray(t)?t.map((function(t){return p(t)})):i(t)?Object.keys(t).reduce((function(e,r){return e[r]=p(t[r]),e}),{}):{value:g(t)}}function v(t){if(!t)return{};var e=p(t);return{_highlightResult:e,_snippetResult:e}}function y(t,e){var r=t.hits,n=t.pagination.hitsPerPage,i=e.finitePagination,a=e.primaryKey;!i&&r.length>n&&r.splice(r.length-1,1);var o=r.map((function(t){if(Object.keys(t).length>0){var e=t._formatted;t._matchesPosition;var r=function(t,e){var r={};for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&e.indexOf(n)<0&&(r[n]=t[n]);if(null!=t&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(n=Object.getOwnPropertySymbols(t);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(t,n[i])&&(r[n[i]]=t[n[i]])}return r}(t,["_formatted","_matchesPosition"]),n=Object.assign(r,v(e));return a&&(n.objectID=t[a]),n}return t}));return o=function(t){for(var e,r=0;r<t.length;r++){var n="".concat(r+1e6*Math.random());t[r]._geo&&(t[r]._geoloc=t[r]._geo,t[r].objectID=n),(null===(e=t[r]._formatted)||void 0===e?void 0:e._geo)&&(t[r]._formatted._geoloc=t[r]._formatted._geo,t[r]._formatted.objectID=n)}return t}(o),o}function m(t){return Object.keys(t).reduce((function(r,n){return r[n]=e(e({},t[n]),{avg:0,sum:0}),r}),{})}function b(t,e,r){var n=t.map((function(t){return function(t,e,r){var n=t.processingTimeMs,i=t.query,a=t.indexUid,o=t.facetDistribution,u=void 0===o?{}:o,c=t.facetStats,s=void 0===c?{}:c,l=Object.keys(u),d=function(t,e){var r=e.hitsPerPage,n=e.page,i=function(t,e){if(null!=t.totalPages)return t.totalPages;if(0===e)return 0;var r=t.limit,n=void 0===r?20:r,i=t.offset;return(void 0===i?0:i)/e+1+(t.hits.length>=n?1:0)}(t,r);return{page:n,nbPages:i,hitsPerPage:r}}(t,t.pagination),f=d.hitsPerPage,h=d.page,g=d.nbPages,p=y(t,r),v=function(t){var e=t.hitsPerPage,r=void 0===e?0:e,n=t.totalPages,i=void 0===n?0:n,a=t.estimatedTotalHits,o=t.totalHits;return null!=a?a:null!=o?o:r*i}(t),b=function(t,e,r,n){return t?function(t,e,r){for(var n=function(t){return t?"string"==typeof t?[t]:t:[]}(t),i={},a=0,o=n;a<o.length;a++){var u=o[a];for(var c in e[u])i[u]||(i[u]=r[u]||{}),i[u][c]?i[u][c]=r[u][c]:i[u][c]=0}return i}(e,r,n=n||{}):n}(r.keepZeroFacets,l,e,u);return{index:a,hitsPerPage:f,page:h,facets:b,nbPages:g,nbHits:v,processingTimeMS:n,query:i,hits:p,params:"",exhaustiveNbHits:!1,facets_stats:m(s)}}(t,e[t.indexUid],r)}));return{results:n}}function P(t){if(!t)return[];for(var e,r=/[^:]+:(?:asc|desc)/g,n=[];null!==(e=r.exec(t));)n.push(e[0]);return n.map((function(t){return t.replace(/^,+|,+$/,"")}))}function S(t,e,r){return{hitsPerPage:void 0===e?20:e,page:r||0,finite:!!t}}function x(t){var e=t.indexOf(":");return-1===e?{indexUid:t,sortBy:""}:{indexUid:t.substring(0,e),sortBy:t.substring(e+1)}}function T(t,r){var n=t.query,i=t.indexName,a=t.params,o=x(i),u=o.indexUid,c=o.sortBy,s=S(r.finitePagination,null==a?void 0:a.hitsPerPage,null==a?void 0:a.page);return e(e(e(e({},r),{query:n}),a),{sort:P(c),indexUid:u,pagination:s,placeholderSearch:!1!==r.placeholderSearch,keepZeroFacets:!!r.keepZeroFacets})}function w(t){void 0===t&&(t={});var e=t;return{getEntry:function(t){if(e[t])try{return JSON.parse(e[t])}catch(t){return}},formatKey:function(t){return t.reduce((function(t,e){return t+JSON.stringify(e)}),"")},setEntry:function(t,r){e[t]=JSON.stringify(r)},clearCache:function(){e={}}}}function O(t){var r=f(e(e({},t),{placeholderSearch:!0,query:""}));return r.addFacets(),r.addPagination(),r.getParams()}function _(t,e,i){return r(this,void 0,void 0,(function(){var r,a,o,u,c,s;return n(this,(function(n){switch(n.label){case 0:return l="indexUid",d=[],r=function(t){return!d.includes(t[l])&&(d.push(t[l]),!0)},a=e.filter(r).filter((function(t){var e=t.indexUid;return!Object.keys(i).includes(e)})),0===a.length?[2,i]:[4,t.multiSearch(a,[])];case 1:for(o=n.sent(),u=0,c=o;u<c.length;u++)s=c[u],i[s.indexUid]=s.facetDistribution||{};return[2,i]}var l,d}))}))}exports.instantMeiliSearch=function(a,o,u){void 0===o&&(o=""),void 0===u&&(u={}),function(t,e,r){var n=r.requestConfig,a=r.httpClient;if("string"!=typeof t)throw new TypeError("Provided hostUrl value (1st parameter) is not a string, expected string");if("string"!=typeof e&&"function"!=typeof e)throw new TypeError("Provided apiKey value (2nd parameter) is not a string or a function, expected string or function");if(void 0!==n&&!i(n))throw new TypeError("Provided requestConfig should be an object");if(a&&"function"!=typeof a)throw new TypeError("Provided custom httpClient should be a function")}(a,o,u);var c={host:a,apiKey:o=function(t){if("function"==typeof t){var e=t();if("string"!=typeof e)throw new TypeError("Provided apiKey function (2nd parameter) did not return a string, expected string");return e}return t}(o),clientAgents:function(t){void 0===t&&(t=[]);var e="Meilisearch instant-meilisearch (v".concat("0.16.0",")");return t.concat(e)}(u.clientAgents)};void 0!==u.httpClient&&(c.httpClient=u.httpClient),void 0!==u.requestConfig&&(c.requestConfig=u.requestConfig);var s,l,d,f=new t.MeiliSearch(c),g=w(),p=(s=f,l=g,{multiSearch:function(t,i){return r(this,void 0,void 0,(function(){var r,a,o,u;return n(this,(function(n){switch(n.label){case 0:return r=l.formatKey([t]),(a=l.getEntry(r))?[2,a]:[4,s.multiSearch({queries:t})];case 1:return o=n.sent(),u=o.results.map((function(t,r){return e(e({},t),{pagination:i[r]||{}})})),l.setEntry(r,u),[2,u]}}))}))}}),v={},y=(d=u,e(e({},{placeholderSearch:!0,keepZeroFacets:!1,clientAgents:[],finitePagination:!1}),d));return{setMeiliSearchParams:function(t){var r=u.meiliSearchParams;u.meiliSearchParams=void 0===r?t:e(e({},r),t)},searchClient:{clearCache:function(){return g.clearCache()},search:function(t){return r(this,void 0,void 0,(function(){var r,i,a,o,c,s,l,d,f,g,m;return n(this,(function(n){switch(n.label){case 0:for(n.trys.push([0,3,,4]),r=[],i=[],a=[],o=0,c=t;o<c.length;o++)s=c[o],l=T(s,u),d=h(l),r.push(d),f=O(l),a.push(f),i.push(l.pagination);return[4,_(p,a,v)];case 1:return v=n.sent(),[4,p.multiSearch(r,i)];case 2:return g=n.sent(),v=function(t,r){for(var n=0,i=r;n<i.length;n++){var a=i[n];t[a.indexUid]=e(e({},a.facetDistribution||{}),t[a.indexUid]||{})}return t}(v,g),[2,b(g,v,y)];case 3:throw m=n.sent(),console.error(m),new Error(m);case 4:return[2]}}))}))},searchForFacetValues:function(t){return r(this,void 0,void 0,(function(){var r,i,a,o,c,s,l,d,g,p;return n(this,(function(n){switch(n.label){case 0:r=[],i=0,a=t,n.label=1;case 1:return i<a.length?(o=a[i],c=function(t,r){var n=x(t.indexName),i=n.indexUid,a=n.sortBy,o=t.params,u=S(r.finitePagination,null==o?void 0:o.hitsPerPage,null==o?void 0:o.page);return e(e(e({},r),o),{sort:P(a),indexUid:i,pagination:u,placeholderSearch:!1!==r.placeholderSearch,keepZeroFacets:!!r.keepZeroFacets})}(o,u),s=h(c),delete(l=e(e({},s),{facetQuery:o.params.facetQuery,facetName:o.params.facetName})).indexUid,[4,f.index(c.indexUid).searchForFacetValues(l)]):[3,4];case 2:d=n.sent(),g=d.facetHits.map((function(t){return e(e({},t),{highlighted:t.value})})),p={facetHits:g,exhaustiveFacetsCount:!1,processingTimeMS:d.processingTimeMs},r.push(p),n.label=3;case 3:return i++,[3,1];case 4:return[2,r]}}))}))}}}}; //# sourceMappingURL=instant-meilisearch.cjs.min.js.map