kuzzle-sdk 7.8.2 → 7.8.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/kuzzle.js +1 -1
- package/dist/kuzzle.js.LICENSE.txt +1 -1
- package/package.json +17 -17
- package/src/Kuzzle.d.ts +24 -4
- package/src/Kuzzle.js +56 -28
- package/src/KuzzleError.d.ts +30 -1
- package/src/KuzzleError.js +10 -1
- package/src/controllers/Auth.d.ts +5 -1
- package/src/controllers/Document.d.ts +7 -184
- package/src/controllers/Security.js +4 -4
- package/src/core/Observer.d.ts +44 -3
- package/src/core/Observer.js +100 -20
- package/src/core/searchResult/RealtimeDocument.d.ts +1 -1
- package/src/core/searchResult/RealtimeDocument.js +2 -2
- package/src/core/security/Profile.d.ts +5 -3
- package/src/core/security/Profile.js +7 -1
- package/src/protocols/abstract/Base.d.ts +3 -2
- package/src/protocols/abstract/Base.js +4 -1
- package/src/protocols/abstract/Realtime.d.ts +1 -2
- package/src/protocols/abstract/Realtime.js +1 -4
- package/src/types/index.d.ts +2 -0
- package/src/types/index.js +2 -0
- package/src/types/mRequests.d.ts +38 -0
- package/src/types/mRequests.js +3 -0
- package/src/types/mResponses.d.ts +88 -0
- package/src/types/mResponses.js +3 -0
- package/src/utils/Deprecation.d.ts +1 -1
- package/src/utils/Deprecation.js +2 -2
- package/src/utils/debug.js +33 -0
package/dist/kuzzle.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
/*! For license information please see kuzzle.js.LICENSE.txt */
|
|
2
|
-
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.KuzzleSDK=t():e.KuzzleSDK=t()}(self,(function(){return e={1045:function(e,t,r){"use strict";var s=this&&this.__createBinding||(Object.create?function(e,t,r,s){void 0===s&&(s=r),Object.defineProperty(e,s,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,s){void 0===s&&(s=r),e[s]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||s(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(6371),t),i(r(1076),t),i(r(147),t),i(r(4898),t),i(r(2140),t),i(r(3026),t),i(r(7885),t),i(r(896),t),i(r(1183),t),i(r(4545),t),i(r(6159),t),i(r(8496),t),i(r(3044),t),i(r(9235),t),i(r(5914),t),i(r(8285),t),i(r(7146),t),i(r(8779),t),i(r(8429),t)},6371:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Kuzzle=void 0;const s=r(4898),i=r(9235),o=r(4134),n=r(8285),u=r(7146),l=r(8779),c=r(8429),a=r(1994),d=r(7127),h=r(3318),_=r(8733),p=r(4957),m=r(8964),b=r(8349),f=["connected","discarded","disconnected","loginAttempt","logoutAttempt","networkError","offlineQueuePush","offlineQueuePop","queryError","reAuthenticated","reconnected","reconnectionError","tokenExpired"];class y extends s.KuzzleEventEmitter{constructor(e,t={}){if(super(),this.authenticator=null,null==e)throw new Error('"protocol" argument missing');for(let t=0,r=["addListener","isReady","query"];t<r.length;t++){const s=r[t];if("function"!=typeof e[s])throw new Error(`Protocol instance must implement a "${s}" method`)}if(this.protocol=e,this._protectedEvents={connected:{},error:{},disconnected:{},reconnected:{},tokenExpired:{},loginAttempt:{}},this.autoResubscribe="boolean"!=typeof t.autoResubscribe||t.autoResubscribe,this.eventTimeout="number"==typeof t.eventTimeout?t.eventTimeout:200,this.sdkVersion="7.8.2",this.sdkName=`js@${this.sdkVersion}`,this.volatile="object"==typeof t.volatile?t.volatile:{},this._cookieAuthentication="boolean"==typeof t.cookieAuth&&t.cookieAuth,this._cookieAuthentication){let e,t,r;this.protocol.enableCookieSupport(),this.protocol.addListener("websocketRenewalStart",(()=>{e=this.autoQueue,t=this.autoReplay,r=this.autoResubscribe,this.autoQueue=!0,this.autoReplay=!0,this.autoResubscribe=!0})),this.protocol.addListener("websocketRenewalDone",(()=>{this.autoQueue=e,this.autoReplay=t,this.autoResubscribe=r}))}if(this.deprecationHandler=new _.Deprecation("boolean"!=typeof t.deprecationWarning||t.deprecationWarning),this._cookieAuthentication&&"undefined"==typeof XMLHttpRequest)throw new Error("Support for cookie authentication with cookieAuth option is not supported outside a browser");return this.useController(i.AuthController,"auth"),this.useController(o.BulkController,"bulk"),this.useController(n.CollectionController,"collection"),this.useController(u.DocumentController,"document"),this.useController(l.IndexController,"index"),this.useController(h.MemoryStorageController,"ms"),this.useController(c.RealtimeController,"realtime"),this.useController(d.SecurityController,"security"),this.useController(a.ServerController,"server"),this._offlineQueue=[],this._autoQueue="boolean"==typeof t.autoQueue&&t.autoQueue,this._autoReplay="boolean"==typeof t.autoReplay&&t.autoReplay,this._offlineQueueLoader="function"==typeof t.offlineQueueLoader?t.offlineQueueLoader:null,this._queueFilter="function"==typeof t.queueFilter?t.queueFilter:null,this._queueMaxSize="number"==typeof t.queueMaxSize?t.queueMaxSize:500,this._queueTTL="number"==typeof t.queueTTL?t.queueTTL:12e4,this._replayInterval="number"==typeof t.replayInterval?t.replayInterval:10,this._requestTimeout="number"==typeof t.requestTimeout?t.requestTimeout:-1,this._tokenExpiredInterval="number"==typeof t.tokenExpiredInterval?t.tokenExpiredInterval:1e3,"auto"===t.offlineMode&&(this._autoQueue=!0,this._autoReplay=!0),this._queuing=!1,this._lastTokenExpired=null,this._reconnectInProgress=!1,this._loggedIn=!1,this.on("loginAttempt",(async e=>{if(e.success)this._loggedIn=!0;else try{const e=await this.auth.checkToken();this._loggedIn=e.valid}catch{this._loggedIn=!1}})),this.on("logoutAttempt",(e=>{e.success&&(this._loggedIn=!1)})),this.on("connected",(async()=>{try{const{valid:e}=await this.auth.checkToken();this._loggedIn=e}catch{this._loggedIn=!1}})),(0,m.proxify)(this,{seal:!0,name:"kuzzle",exposeApi:!0})}get authenticated(){return this.auth.authenticationToken&&!this.auth.authenticationToken.expired}get autoQueue(){return this._autoQueue}set autoQueue(e){this._checkPropertyType("_autoQueue","boolean",e),this._autoQueue=e}get autoReconnect(){return this.protocol.autoReconnect}set autoReconnect(e){this._checkPropertyType("autoReconnect","boolean",e),this.protocol.autoReconnect=e}get autoReplay(){return this._autoReplay}set autoReplay(e){this._checkPropertyType("_autoReplay","boolean",e),this._autoReplay=e}get cookieAuthentication(){return this._cookieAuthentication}get connected(){return this.protocol.connected}get host(){return this.protocol.host}get jwt(){return this.auth.authenticationToken?this.auth.authenticationToken.encodedJwt:null}set jwt(e){this.auth.authenticationToken=e,this._loggedIn=!!e}get offlineQueue(){return this._offlineQueue}get offlineQueueLoader(){return this._offlineQueueLoader}set offlineQueueLoader(e){this._checkPropertyType("_offlineQueueLoader","function",e),this._offlineQueueLoader=e}get port(){return this.protocol.port}get queueFilter(){return this._queueFilter}set queueFilter(e){this._checkPropertyType("_queueFilter","function",e),this._queueFilter=e}get queueMaxSize(){return this._queueMaxSize}set queueMaxSize(e){this._checkPropertyType("_queueMaxSize","number",e),this._queueMaxSize=e}get queueTTL(){return this._queueTTL}set queueTTL(e){this._checkPropertyType("_queueTTL","number",e),this._queueTTL=e}get reconnectionDelay(){return this.protocol.reconnectionDelay}get replayInterval(){return this._replayInterval}set replayInterval(e){this._checkPropertyType("_replayInterval","number",e),this._replayInterval=e}get requestTimeout(){return this._requestTimeout}set requestTimeout(e){this._checkPropertyType("_requestTimeout","number",e),this._requestTimeout=e}get sslConnection(){return this.protocol.sslConnection}get tokenExpiredInterval(){return this._tokenExpiredInterval}set tokenExpiredInterval(e){this._checkPropertyType("_tokenExpiredInterval","number",e),this._tokenExpiredInterval=e}emit(e,...t){const r=Date.now(),s=this._protectedEvents[e];if(s){if(s.lastEmitted&&s.lastEmitted>r-this.eventTimeout)return!1;s.lastEmitted=r}return this._superEmit(e,...t)}_superEmit(e,...t){return super.emit(e,...t)}connect(){return this.protocol.isReady()?Promise.resolve():(this.autoQueue&&this.startQueuing(),this.protocol.addListener("queryError",(({error:e,request:t})=>{this.emit("queryError",{error:e,request:t})})),this.protocol.addListener("tokenExpired",(()=>this.tokenExpired())),this.protocol.addListener("connect",(()=>{this.autoQueue&&this.stopQueuing(),this.autoReplay&&this.playQueue(),this.emit("connected")})),this.protocol.addListener("networkError",(e=>{this.autoQueue&&this.startQueuing(),this.emit("networkError",e)})),this.protocol.addListener("disconnect",(e=>{this.emit("disconnected",e)})),this.protocol.addListener("reconnect",this._reconnect.bind(this)),this.protocol.addListener("discarded",(e=>this.emit("discarded",e))),this.protocol.addListener("websocketRenewalStart",(()=>{this._reconnectInProgress=!0})),this.protocol.addListener("websocketRenewalDone",(()=>{this._reconnectInProgress=!1})),this.protocol.connect())}async _reconnect(){if(!this._reconnectInProgress){if(this.autoQueue&&this.stopQueuing(),this._loggedIn&&!await this.tryReAuthenticate())return this._loggedIn=!1,void this.disconnect();this.autoReplay&&this.playQueue(),this.emit("reconnected")}}async tryReAuthenticate(){this._reconnectInProgress=!0;try{const{valid:e}=await this.auth.checkToken();return!!e||(this.authenticator?(await this.authenticate(),!0):(this.emit("reconnectionError",{error:new Error('Could not re-authenticate: "authenticator" property is not set.')}),!1))}catch(e){return this.emit("reconnectionError",{error:new Error(`Failed to authenticate the SDK after reconnection: ${e}`)}),!1}finally{this._reconnectInProgress=!1}}async authenticate(){if("function"!=typeof this.authenticator)throw new Error('The "authenticator" property must be a function.');await this.authenticator();const{valid:e}=await this.auth.checkToken();if(this._loggedIn=e,!e)throw new Error('The "authenticator" function failed to authenticate the SDK.')}addListener(e,t){if(-1===f.indexOf(e))throw new Error(`[${e}] is not a known event. Known events: ${f.toString()}`);return this._superAddListener(e,t)}_superAddListener(e,t){return super.addListener(e,t)}flushQueue(){return this._offlineQueue=[],this}disconnect(){this._loggedIn=!1,this.protocol.close()}query(e={},t={}){if("object"!=typeof e||Array.isArray(e))throw new Error(`Kuzzle.query: Invalid request: ${JSON.stringify(e)}`);if("object"!=typeof t||Array.isArray(t))throw new Error(`Kuzzle.query: Invalid "options" argument: ${JSON.stringify(t)}`);const r=JSON.parse(JSON.stringify(e)),s=JSON.parse(JSON.stringify(t));r.requestId||(r.requestId=(0,p.uuidv4)());let i=!0;s&&!1===s.queuable&&(i=!1),this.queueFilter&&(i=i&&this.queueFilter(r));const o="number"==typeof s.timeout?s.timeout:this._requestTimeout;for(let e=0,t=Object.entries(s);e<t.length;e++){const[s,i]=t[e];["queuable","timeout"].includes(s)||(r[s]=i)}if(void 0===r.refresh&&void 0!==s.refresh&&(r.refresh=s.refresh),void 0===r.retryOnConflict&&void 0!==s.retryOnConflict&&(r.retryOnConflict=s.retryOnConflict),r.volatile){if("object"!=typeof r.volatile||Array.isArray(r.volatile))throw new Error(`Kuzzle.query: Invalid volatile argument received: ${JSON.stringify(r.volatile)}`)}else r.volatile=this.volatile;for(let e=0,t=Object.keys(this.volatile);e<t.length;e++){const s=t[e];void 0===r.volatile[s]&&(r.volatile[s]=this.volatile[s])}return r.volatile.sdkInstanceId=r.volatile.sdkInstanceId||this.protocol.id,r.volatile.sdkName=r.volatile.sdkName||this.sdkName,this.auth.authenticateRequest(r),this._queuing?i?(this._cleanQueue(),this.emit("offlineQueuePush",{request:r}),new Promise(((e,t)=>{this.offlineQueue.push({resolve:e,reject:t,request:r,ts:Date.now(),timeout:o})}))):(this.emit("discarded",{request:r}),Promise.reject(new Error(`Unable to execute request: not connected to a Kuzzle server.\nDiscarded request: ${JSON.stringify(r)}`))):this._timeoutRequest(o,r,s).then((e=>this.deprecationHandler.logDeprecation(e)))}startQueuing(){return this._queuing=!0,this}stopQueuing(){return this._queuing=!1,this}playQueue(){return this.protocol.isReady()&&(this._cleanQueue(),this._dequeue()),this}async tokenExpired(){if(this._reconnectInProgress)return;if(this._loggedIn&&await this.tryReAuthenticate())return void this.emit("reAuthenticated");const e=Date.now();e-this._lastTokenExpired<this.tokenExpiredInterval||(this._lastTokenExpired=e,this.jwt=null,this.emit("tokenExpired"))}useController(e,t){if(!(t&&t.length>0))throw new Error("You must provide a valid accessor.");if(this.__proxy__?this.__proxy__.hasProp(t):this[t])throw new Error(`There is already a controller with the accessor '${t}'. Please use another one.`);const r=new e(this);if(!(r.name&&r.name.length>0))throw new Error("Controllers must have a name.");if(r.kuzzle!==this)throw new Error("You must pass the Kuzzle SDK instance to the parent constructor.");return this.__proxy__&&this.__proxy__.registerProp(t),this[t]=r,this}_checkPropertyType(e,t,r){if("array"===t?!Array.isArray(r):typeof r!==t)throw new Error(`Expected ${e} to be a ${t}, ${typeof r} received`)}_cleanQueue(){const e=Date.now();let t=-1;this.queueTTL>0&&(this.offlineQueue.forEach(((r,s)=>{r.ts<e-this.queueTTL&&(t=s)})),-1!==t&&this.offlineQueue.splice(0,t+1).forEach((e=>{this.emit("offlineQueuePop",e.request),e.reject(new Error("Query aborted: queued time exceeded the queueTTL option value"))}))),this.queueMaxSize>0&&this.offlineQueue.length>this.queueMaxSize&&this.offlineQueue.splice(0,this.offlineQueue.length-this.queueMaxSize).forEach((e=>{this.emit("offlineQueuePop",e.request),e.reject(new Error("Query aborted: too many queued requests (see the queueMaxSize option)"))}))}_dequeue(){const e={},t=()=>{this.offlineQueue.length>0&&(this._timeoutRequest(this.offlineQueue[0].timeout,this.offlineQueue[0].request).then(this.offlineQueue[0].resolve).catch(this.offlineQueue[0].reject),this.emit("offlineQueuePop",this.offlineQueue.shift().request),setTimeout((()=>{t()}),Math.max(0,this.replayInterval)))};if(this.offlineQueueLoader){if("function"!=typeof this.offlineQueueLoader)throw new Error("Invalid value for offlineQueueLoader property. Expected: function. Got: "+typeof this.offlineQueueLoader);return Promise.resolve().then((()=>this.offlineQueueLoader())).then((r=>{if(!Array.isArray(r))throw new Error("Invalid value returned by the offlineQueueLoader function. Expected: array. Got: "+typeof r);this._offlineQueue=r.concat(this.offlineQueue).filter((t=>{if(!t.request||void 0===t.request.requestId||!t.request.action||!t.request.controller)throw new Error("Invalid offline queue request. One or more missing properties: requestId, action, controller.");return!Object.prototype.hasOwnProperty.call(e,t.request.requestId)&&(e[t.request.requestId]=!0)})),t()}))}t()}_timeoutRequest(e,t,r={}){if(-1===e)return this.protocol.query(t,r);const s=new Promise(((r,s)=>{setTimeout((()=>{s(new b.RequestTimeoutError(t,e))}),e)}));return Promise.race([s,this.protocol.query(t,r)])}}t.Kuzzle=y},4528:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.KuzzleError=void 0;const s=r(4843);class i extends Error{constructor(e,t,r){super(e.message),this.status=e.status,this.id=e.id,this.code=e.code,e.errors&&(this.errors=e.errors,this.count=e.count),e.stack?(this.kuzzleStack=e.stack,this.stack=e.stack+"\n",this.stack+=" |\n",this.stack+=" |\n",this.stack+=` ${r}\n`,this.stack+=" |\n",this.stack+=" |\n"):this.stack=`KuzzleError: ${e.message}\n`,this.stack+=t.split("\n").map(s.hilightUserCode).slice(1).join("\n")}}t.KuzzleError=i},8349:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.RequestTimeoutError=void 0;class r extends Error{constructor(e,t){super(`Request timed out after ${t} ms`),this.request=e,this.delay=t}}t.RequestTimeoutError=r},9235:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AuthController=void 0;const s=r(9665),i=r(5914),o=r(3987);class n extends i.BaseController{constructor(e){super(e,"auth"),this._authenticationToken=null,this.kuzzle.on("tokenExpired",(()=>{this._authenticationToken=null}))}get authenticationToken(){return this._authenticationToken}set authenticationToken(e){if(null==e)this._authenticationToken=null;else{if("string"!=typeof e)throw new Error(`Invalid token argument: ${e}`);this._authenticationToken=new s.Jwt(e)}}authenticateRequest(e){this.kuzzle.cookieAuthentication||this.authenticationToken&&("auth"!==e.controller||"checkToken"!==e.action&&"login"!==e.action)&&(e.jwt=this.authenticationToken.encodedJwt)}createApiKey(e,t={}){const r={action:"createApiKey",_id:t._id,expiresIn:t.expiresIn,refresh:t.refresh,body:{description:e}};return this.query(r,t).then((e=>e.result))}checkRights(e,t={}){const r={body:e,action:"checkRights"};return this.query(r,t).then((e=>e.result.allowed))}deleteApiKey(e,t={}){const r={action:"deleteApiKey",_id:e,refresh:t.refresh};return this.query(r,t).then((()=>null))}searchApiKeys(e={},t={}){const r={action:"searchApiKeys",from:t.from,size:t.size,lang:t.lang,body:e};return this.query(r,t).then((e=>e.result))}checkToken(e,t={}){let r=!1;return void 0===e&&(r=this.kuzzle.cookieAuthentication,!r&&this.authenticationToken&&(e=this.authenticationToken.encodedJwt)),this.query({action:"checkToken",body:{token:e},cookieAuth:r},{queuable:!1,...t}).then((e=>e.result))}createMyCredentials(e,t,r={}){return this.query({strategy:e,action:"createMyCredentials",body:t},r).then((e=>e.result))}credentialsExist(e,t={}){return this.query({strategy:e,action:"credentialsExist"},t).then((e=>e.result))}deleteMyCredentials(e,t={}){return this.query({strategy:e,action:"deleteMyCredentials"},t).then((e=>e.result.acknowledged))}getCurrentUser(e={}){return this.query({action:"getCurrentUser"},e).then((e=>new o.User(this.kuzzle,e.result._id,e.result._source)))}getMyCredentials(e,t={}){return this.query({strategy:e,action:"getMyCredentials"},t).then((e=>e.result))}getMyRights(e={}){return this.query({action:"getMyRights"},e).then((e=>e.result.hits))}getStrategies(e={}){return this.query({action:"getStrategies"},e).then((e=>e.result))}login(e,t,r){const i={strategy:e,expiresIn:r,body:t,action:"login",cookieAuth:this.kuzzle.cookieAuthentication};return this.query(i,{queuable:!1,verb:"POST",timeout:-1}).then((e=>{if(!this.kuzzle.cookieAuthentication)return this._authenticationToken=new s.Jwt(e.result.jwt),this.kuzzle.emit("loginAttempt",{success:!0}),e.result.jwt;if(e.result.jwt){const e=new Error("Kuzzle support for cookie authentication is disabled or not supported");throw this.kuzzle.emit("loginAttempt",{success:!1,error:e.message}),e}this.kuzzle.emit("loginAttempt",{success:!0})})).catch((e=>{throw this.kuzzle.emit("loginAttempt",{success:!1,error:e.message}),e}))}logout(){return this.query({action:"logout",cookieAuth:this.kuzzle.cookieAuthentication},{queuable:!1,timeout:-1}).then((()=>{this._authenticationToken=null,this.kuzzle.emit("logoutAttempt",{success:!0})}))}updateMyCredentials(e,t,r={}){return this.query({strategy:e,body:t,action:"updateMyCredentials"},r).then((e=>e.result))}updateSelf(e,t={}){return this.query({body:e,action:"updateSelf"},t).then((e=>new o.User(this.kuzzle,e.result._id,e.result._source)))}validateMyCredentials(e,t,r={}){return this.query({strategy:e,body:t,action:"validateMyCredentials"},r).then((e=>e.result))}refreshToken(e={}){const t={action:"refreshToken",expiresIn:e.expiresIn,cookieAuth:this.kuzzle.cookieAuthentication};return this.query(t,e).then((e=>(this.kuzzle.cookieAuthentication||(this._authenticationToken=new s.Jwt(e.result.jwt)),e.result)))}}t.AuthController=n},5914:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BaseController=void 0,t.BaseController=class{constructor(e,t){Reflect.defineProperty(this,"_kuzzle",{value:e}),this._name=t}get kuzzle(){return this._kuzzle}get name(){return this._name}query(e={},t={}){return e.controller=e.controller||this.name,this._kuzzle.query(e,t)}}},4134:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BulkController=void 0;const s=r(5914);class i extends s.BaseController{constructor(e){super(e,"bulk")}deleteByQuery(e,t,r={},s={}){const i={index:e,collection:t,body:r,action:"deleteByQuery"};return this.query(i,s).then((e=>e.result.deleted))}import(e,t,r,s={}){return this.query({index:e,collection:t,action:"import",body:{bulkData:r}},s).then((e=>e.result))}updateByQuery(e,t,r,s,i={}){const o={index:e,collection:t,body:{query:r,changes:s},action:"updateByQuery"};return this.query(o,i).then((e=>e.result.updated))}write(e,t,r,s,i={}){return this.query({index:e,collection:t,_id:s,action:"write",body:r,notify:i.notify},i).then((e=>e.result))}mWrite(e,t,r,s={}){return this.query({index:e,collection:t,action:"mWrite",body:{documents:r},notify:s.notify},s).then((e=>e.result))}}t.BulkController=i},8285:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CollectionController=void 0;const s=r(5914),i=r(1183);class o extends s.BaseController{constructor(e){super(e,"collection")}create(e,t,r,s={}){const i={index:e,collection:t,body:r,action:"create"};return this.query(i,s).then((()=>{}))}deleteSpecifications(e,t,r={}){const s={index:e,collection:t,action:"deleteSpecifications"};return this.query(s,r).then((()=>{}))}exists(e,t,r={}){return this.query({index:e,collection:t,action:"exists"},r).then((e=>e.result))}refresh(e,t,r={}){return this.query({index:e,collection:t,action:"refresh"},r).then((()=>{}))}getMapping(e,t,r={}){const s={index:e,collection:t,action:"getMapping",includeKuzzleMeta:r.includeKuzzleMeta||!1};return this.query(s,r).then((e=>e.result))}getSpecifications(e,t,r={}){return this.query({index:e,collection:t,action:"getSpecifications"},r).then((e=>e.result))}list(e,t={}){const r={index:e,action:"list",size:t.size||0,from:t.from};return this.query(r,t).then((e=>e.result))}searchSpecifications(e={},t={}){const r={body:e,action:"searchSpecifications"};for(let e=0,s=["from","size","scroll"];e<s.length;e++){const i=s[e];r[i]=t[i]}return this.query(r,t).then((e=>new i.SpecificationsSearchResult(this.kuzzle,r,t,e.result)))}truncate(e,t,r={}){const s={index:e,collection:t,action:"truncate"};return this.query(s,r).then((()=>{}))}update(e,t,r,s={}){return this.query({index:e,collection:t,body:r,action:"update"},s).then((()=>{}))}updateMapping(e,t,r,s={}){return this.query({index:e,collection:t,body:r,action:"updateMapping"},s).then((e=>e.result))}updateSpecifications(e,t,r,s={}){return this.query({index:e,collection:t,body:r,action:"updateSpecifications"},s).then((e=>e.result))}validateSpecifications(e,t,r,s={}){return this.query({index:e,collection:t,body:r,action:"validateSpecifications"},s).then((e=>e.result))}delete(e,t,r={}){const s={index:e,collection:t,action:"delete"};return this.query(s,r).then((()=>{}))}}t.CollectionController=o},7146:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DocumentController=void 0;const s=r(5914),i=r(3026);class o extends s.BaseController{constructor(e){super(e,"document")}count(e,t,r,s={}){const i={index:e,collection:t,body:r,action:"count"};return this.query(i,s).then((e=>e.result.count))}create(e,t,r,s=null,i={}){const o={index:e,collection:t,_id:s,body:r,action:"create",silent:i.silent};return this.query(o,i).then((e=>e.result))}createOrReplace(e,t,r,s,i={}){const o={index:e,collection:t,_id:r,body:s,action:"createOrReplace",silent:i.silent};return this.query(o,i).then((e=>e.result))}delete(e,t,r,s={}){const i={index:e,collection:t,_id:r,action:"delete",silent:s.silent};return this.query(i,s).then((e=>e.result._id))}deleteByQuery(e,t,r={},s={}){const i={index:e,collection:t,body:r,action:"deleteByQuery",lang:s.lang,silent:s.silent};return this.query(i,s).then((e=>e.result.ids))}deleteFields(e,t,r,s,i={}){const o={index:e,collection:t,_id:r,body:{fields:s},action:"deleteFields",silent:i.silent,source:i.source};return this.query(o,i).then((e=>e.result))}exists(e,t,r,s={}){const i={index:e,collection:t,_id:r,action:"exists"};return this.query(i,s).then((e=>e.result))}get(e,t,r,s={}){const i={index:e,collection:t,_id:r,action:"get"};return this.query(i,s).then((e=>e.result))}mCreate(e,t,r,s={}){const i={index:e,collection:t,body:{documents:r},action:"mCreate",silent:s.silent,strict:s.strict};return this.query(i,s).then((e=>e.result))}mCreateOrReplace(e,t,r,s={}){const i={index:e,collection:t,body:{documents:r},action:"mCreateOrReplace",silent:s.silent,strict:s.strict};return this.query(i,s).then((e=>e.result))}mDelete(e,t,r,s={}){const i={index:e,collection:t,body:{ids:r},action:"mDelete",silent:s.silent,strict:s.strict};return this.query(i,s).then((e=>e.result))}mGet(e,t,r,s={}){const i={index:e,collection:t,action:"mGet",body:{ids:r}};return this.query(i,s).then((e=>e.result))}mReplace(e,t,r,s={}){const i={index:e,collection:t,body:{documents:r},action:"mReplace",silent:s.silent,strict:s.strict};return this.query(i,s).then((e=>e.result))}mUpdate(e,t,r,s={}){const i={index:e,collection:t,body:{documents:r},action:"mUpdate",silent:s.silent,strict:s.strict};return this.query(i,s).then((e=>e.result))}mUpsert(e,t,r,s={}){const i={index:e,collection:t,body:{documents:r},action:"mUpsert",silent:s.silent,strict:s.strict};return this.query(i,s).then((e=>e.result))}replace(e,t,r,s,i={}){const o={index:e,collection:t,_id:r,body:s,action:"replace",silent:i.silent};return this.query(o,i).then((e=>e.result))}search(e,t,r={},s={}){return this._search(e,t,r,s).then((({response:e,request:t,opts:r})=>new i.DocumentSearchResult(this.kuzzle,t,r,e.result)))}_search(e,t,r={},s={}){const i={index:e,collection:t,body:null,action:"search"};"http"===this.kuzzle.protocol.name&&s.verb&&"get"===s.verb.toLowerCase()?i.searchBody=r:i.body=r;for(let e=0,t=["from","size","scroll","lang"];e<t.length;e++){const r=t[e];i[r]=s[r]}const o={verb:s.verb||"POST",...s};return this.query(i,o).then((e=>({response:e,request:i,opts:o})))}update(e,t,r,s,i={}){const o={index:e,collection:t,_id:r,body:s,action:"update",retryOnConflict:i.retryOnConflict,source:i.source,silent:i.silent};return this.query(o,i).then((e=>e.result))}updateByQuery(e,t,r,s,i={}){const o={index:e,collection:t,body:{query:r,changes:s},action:"updateByQuery",source:i.source,lang:i.lang,silent:i.silent};return this.query(o,i).then((e=>e.result))}upsert(e,t,r,s,i={}){const o={index:e,collection:t,_id:r,body:{changes:s,default:i.default},action:"upsert",source:i.source,silent:i.silent};return this.query(o,i).then((e=>e.result))}validate(e,t,r,s={}){return this.query({index:e,collection:t,body:r,action:"validate"},s).then((e=>e.result))}}t.DocumentController=o},8779:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IndexController=void 0;const s=r(5914);class i extends s.BaseController{constructor(e){super(e,"index")}create(e,t={}){const r={index:e,action:"create"};return this.query(r,t).then((()=>{}))}delete(e,t={}){const r={index:e,action:"delete"};return this.query(r,t).then((()=>{}))}exists(e,t={}){return this.query({index:e,action:"exists"},t).then((e=>e.result))}list(e={}){return this.query({action:"list"},e).then((e=>e.result.indexes))}mDelete(e,t={}){const r={action:"mDelete",body:{indexes:e}};return this.query(r,t).then((e=>e.result.deleted))}stats(e={}){return this.query({action:"stats"},e).then((e=>e.result))}}t.IndexController=i},3318:(e,t,r)=>{const{BaseController:s}=r(5914),i={getter:!0,required:["_id"]},o={getter:!0,required:["_id","field"]},n={getter:!0,required:["keys"]},u={getter:!0,required:["_id","member"]},l={getter:!0,required:["_id","cursor"],opts:["match","count"],mapResults:E},c={getter:!0,required:["_id","start","stop"],opts:f,mapResults:T},a={getter:!0,required:["_id","min","max"],opts:f,mapResults:T},d={required:["_id"]},h={required:["_id","value"]},_={append:h,bitcount:{getter:!0,required:["_id"],opts:["start","end"]},bitop:{required:["_id","operation","keys"]},bitpos:{getter:!0,required:["_id","bit"],opts:["start","end"]},dbsize:{getter:!0},decr:d,decrby:h,del:{required:["keys"]},exists:n,expire:{required:["_id","seconds"],mapResults:Boolean},expireat:{required:["_id","timestamp"],mapResults:Boolean},flushdb:{mapResults:g},geoadd:{required:["_id","points"]},geodist:{getter:!0,required:["_id","member1","member2"],opts:["unit"],mapResults:parseFloat},geohash:{getter:!0,required:["_id","members"]},geopos:{getter:!0,required:["_id","members"],mapResults:function(e){return e.map((e=>e.map(parseFloat)))}},georadius:{getter:!0,required:["_id","lon","lat","distance","unit"],opts:b,mapResults:y},georadiusbymember:{getter:!0,required:["_id","member","distance","unit"],opts:b,mapResults:y},get:i,getbit:{getter:!0,required:["_id","offset"]},getrange:{getter:!0,required:["_id","start","end"]},getset:h,hdel:{required:["_id","fields"]},hexists:{getter:!0,required:["_id","field"],mapResults:Boolean},hget:o,hgetall:{getter:!0,required:["_id"]},hincrby:{required:["_id","field","value"]},hincrbyfloat:{required:["_id","field","value"],mapResults:parseFloat},hkeys:i,hlen:i,hmget:{getter:!0,required:["_id","fields"]},hmset:{required:["_id","entries"],mapResults:g},hscan:l,hset:{required:["_id","field","value"],mapResults:Boolean},hsetnx:{required:["_id","field","value"],mapResults:Boolean},hstrlen:o,hvals:i,incr:d,incrby:h,incrbyfloat:{required:["_id","value"],mapResults:parseFloat},keys:{getter:!0,required:["pattern"]},lindex:{getter:!0,required:["_id","idx"]},linsert:{required:["_id","position","pivot","value"]},llen:i,lpop:d,lpush:{required:["_id","values"]},lpushx:h,lrange:{getter:!0,required:["_id","start","stop"]},lrem:{required:["_id","count","value"]},lset:{required:["_id","index","value"],mapResults:g},ltrim:{required:["_id","start","stop"],mapResults:g},mexecute:{required:["actions"]},mget:n,mset:{required:["entries"],mapResults:g},msetnx:{required:["entries"],mapResults:Boolean},object:{getter:!0,required:["_id","subcommand"]},persist:{required:["_id"],mapResults:Boolean},pexpire:{required:["_id","milliseconds"],mapResults:Boolean},pexpireat:{required:["_id","timestamp"],mapResults:Boolean},pfadd:{required:["_id","elements"],mapResults:Boolean},pfcount:n,pfmerge:{required:["_id","sources"],mapResults:g},ping:{getter:!0},psetex:{required:["_id","value","milliseconds"],mapResults:g},pttl:i,randomkey:{getter:!0},rename:{required:["_id","newkey"],mapResults:g},renamenx:{required:["_id","newkey"],mapResults:Boolean},rpop:d,rpoplpush:{required:["source","destination"]},rpush:{required:["_id","values"]},rpushx:h,sadd:{required:["_id","members"]},scan:{getter:!0,required:["cursor"],opts:["match","count"],mapResults:E},scard:i,sdiff:{getter:!0,required:["_id","keys"]},sdiffstore:{required:["_id","keys","destination"]},set:{required:["_id","value"],opts:["ex","px","nx","xx"],mapResults:g},setex:{required:["_id","value","seconds"],mapResults:g},setnx:{required:["_id","value"],mapResults:Boolean},sinter:n,sinterstore:{required:["destination","keys"]},sismember:{getter:!0,required:["_id","member"],mapResults:Boolean},smembers:i,smove:{required:["_id","destination","member"],mapResults:Boolean},sort:{required:["_id"],opts:["alpha","by","direction","get","limit"]},spop:{required:["_id"],opts:["count"],mapResults:v},srandmember:{getter:!0,required:["_id"],opts:["count"],mapResults:v},srem:{required:["_id","members"]},sscan:l,strlen:i,sunion:n,sunionstore:{required:["destination","keys"]},time:{getter:!0,mapResults:function(e){return e.map((e=>parseInt(e)))}},touch:{required:["keys"]},ttl:i,type:i,zadd:{required:["_id","elements"],opts:["nx","xx","ch","incr"]},zcard:i,zcount:{getter:!0,required:["_id","min","max"]},zincrby:{required:["_id","member","value"]},zinterstore:{required:["_id","keys"],opts:["weights","aggregate"]},zlexcount:{getter:!0,required:["_id","min","max"]},zrange:c,zrangebylex:{getter:!0,required:["_id","min","max"],opts:["limit"]},zrevrangebylex:{getter:!0,required:["_id","min","max"],opts:["limit"]},zrangebyscore:a,zrank:u,zrem:{required:["_id","members"]},zremrangebylex:{required:["_id","min","max"]},zremrangebyrank:{required:["_id","start","stop"]},zremrangebyscore:{required:["_id","min","max"]},zrevrange:c,zrevrangebyscore:a,zrevrank:u,zscan:l,zscore:{getter:!0,required:["_id","member"],mapResults:parseFloat},zunionstore:{required:["_id","keys"],opts:["weights","aggregate"]}};class p extends s{constructor(e){super(e,"ms")}}for(let e=0,t=Object.keys(_);e<t.length;e++){const r=t[e];p.prototype[r]=function(...e){const t=_[r],s={action:r},i={};t.getter||(s.body={});for(let i=0,o=t.required||[];i<o.length;i++){const n=o[i],u=e.shift();if(void 0===u)throw new Error(`ms.${r}: missing parameter ${n}`);m(s,t.getter,n,u)}if(e.length>1)throw new Error(`ms.${r}: too many parameters provided`);if(e.length){if("object"!=typeof e[0]||Array.isArray(e[0]))throw new Error(`ms.${r}: invalid optional paramater (expected an object`);if(Object.assign(i,e[0]),Array.isArray(t.opts))for(let e=0,r=t.opts;e<r.length;e++){const o=r[e];null!=i[o]&&m(s,t.getter,o,i[o])}}return"function"==typeof t.opts&&t.opts(s,i),this.query(s,i).then((e=>t.mapResults?t.mapResults(e.result):e.result))}}function m(e,t,r,s){t||"_id"===r?e[r]=s:e.body[r]=s}function b(e,t){const r=[];Object.keys(t).filter((function(e){return t[e]&&-1!==["withcoord","withdist","count","sort"].indexOf(e)})).forEach((function(e){"withcoord"===e||"withdist"===e?r.push(e):"count"!==e&&"sort"!==e||("count"===e&&r.push("count"),r.push(t[e]))})),r.length>0&&(e.options=r)}function f(e,t){e.options=["withscores"],t.limit&&(e.limit=t.limit)}function y(e){return Array.isArray(e[0])?e.map((function(e){const t={name:e.shift()};for(let r=0;r<e.length;r++){const s=e[r];Array.isArray(s)?t.coordinates=s.map(parseFloat):t.distance=parseFloat(s)}return t})):e.map((function(e){return{name:e}}))}function v(e){return Array.isArray(e)?e:[e]}function g(){}function T(e){const t=[];for(let r=0;r<e.length;r+=2)t.push({member:e[r],score:parseFloat(e[r+1])});return t}function E(e){return{cursor:e[0],values:e[1]}}e.exports={MemoryStorageController:p}},8429:function(e,t,r){"use strict";var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.RealtimeController=t.UserOption=t.ScopeOption=void 0;const i=r(5914),o=s(r(8100));var n,u;(u=t.ScopeOption||(t.ScopeOption={})).all="all",u.in="in",u.out="out",u.none="none",(n=t.UserOption||(t.UserOption={})).all="all",n.in="in",n.out="out",n.none="none";class l extends i.BaseController{constructor(e){super(e,"realtime"),this._subscriptions=new Map,this._subscriptionsOff=new Map,this.kuzzle.on("tokenExpired",(()=>this.removeSubscriptions())),this.kuzzle.on("disconnected",(()=>this.saveSubscriptions())),this.kuzzle.on("networkError",(()=>this.saveSubscriptions())),this.kuzzle.on("reconnected",(()=>this.resubscribe())),this.kuzzle.on("reAuthenticated",(()=>{this.saveSubscriptions(),this.resubscribe()}))}count(e,t={}){return this.query({action:"count",body:{roomId:e}},t).then((e=>e.result.count))}publish(e,t,r,s={}){const i={index:e,collection:t,body:r,action:"publish",_id:s._id};return this.query(i,s).then((e=>e.result.published))}subscribe(e,t,r,s,i={}){const n=new o.default(this,e,t,r,s,i);return n.subscribe().then((()=>(this._subscriptions.has(n.id)||this._subscriptions.set(n.id,[]),this._subscriptions.get(n.id).push(n),n.id)))}unsubscribe(e,t={}){const r={action:"unsubscribe",body:{roomId:e}};return this.query(r,t).then((()=>{const t=this._subscriptions.get(e);if(t){for(let e=0;e<t.length;e++)t[e].removeListeners();this._subscriptions.delete(e)}}))}saveSubscriptions(){this._subscriptions.forEach(((e,t)=>{for(let r=0;r<e.length;r++){const s=e[r];s.removeListeners(),s.autoResubscribe&&(this._subscriptionsOff.has(t)||this._subscriptionsOff.set(t,[]),this._subscriptionsOff.get(t).push(s))}this._subscriptions.delete(t)}))}resubscribe(){this._subscriptionsOff.forEach(((e,t)=>{for(let r=0;r<e.length;r++){const s=e[r];this._subscriptions.has(t)||this._subscriptions.set(t,[]),this._subscriptions.get(t).push(s),s.subscribe().catch((()=>this.kuzzle.emit("discarded",{request:s.request})))}this._subscriptionsOff.delete(t)}))}removeSubscriptions(){this._subscriptions.forEach((e=>{for(let t=0;t<e.length;t++)e[t].removeListeners()})),this._subscriptions=new Map,this._subscriptionsOff=new Map}}t.RealtimeController=l},7127:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SecurityController=void 0;const s=r(5914),i=r(3955),o=r(896),n=r(4103),u=r(7885),l=r(3987),c=r(4545);class a extends s.BaseController{constructor(e){super(e,"security")}createApiKey(e,t,r={}){const s={userId:e,action:"createApiKey",_id:r._id,expiresIn:r.expiresIn,refresh:r.refresh,body:{description:t}};return this.query(s,r).then((e=>e.result))}checkRights(e,t,r){const s={userId:e,body:t,action:"checkRights"};return this.query(s,r).then((e=>e.result.allowed))}deleteApiKey(e,t,r={}){const s={userId:e,action:"deleteApiKey",_id:t,refresh:r.refresh};return this.query(s,r)}searchApiKeys(e,t={},r={}){const s={userId:e,action:"searchApiKeys",from:r.from,size:r.size,lang:r.lang,body:t};return this.query(s,r).then((e=>e.result))}createCredentials(e,t,r,s={}){return this.query({_id:t,strategy:e,body:r,action:"createCredentials"},s).then((e=>e.result))}createFirstAdmin(e,t,r={}){const s={_id:e,body:t,action:"createFirstAdmin",reset:r.reset};return this.query(s,r).then((e=>new l.User(this.kuzzle,e.result._id,e.result._source)))}createOrReplaceProfile(e,t,r={}){const s={_id:e,body:t,action:"createOrReplaceProfile"};return this.query(s,r).then((e=>new n.Profile(this.kuzzle,e.result._id,e.result._source)))}createOrReplaceRole(e,t,r={}){const s={_id:e,body:t,action:"createOrReplaceRole",force:!!r.force||null};return this.query(s,r).then((e=>new i.Role(this.kuzzle,e.result._id,e.result._source.controllers)))}createProfile(e,t,r={}){const s={_id:e,body:t,action:"createProfile"};return this.query(s,r).then((e=>new n.Profile(this.kuzzle,e.result._id,e.result._source)))}createRestrictedUser(e,t=null,r={}){e.content||(e.content={});const s={_id:t,body:e,action:"createRestrictedUser"};return this.query(s,r).then((e=>new l.User(this.kuzzle,e.result._id,e.result._source)))}createRole(e,t,r={}){const s={_id:e,body:t,action:"createRole",force:!!r.force||null};return this.query(s,r).then((e=>new i.Role(this.kuzzle,e.result._id,e.result._source.controllers)))}createUser(e,t,r={}){const s={_id:e,body:t,action:"createUser"};return this.query(s,r).then((e=>new l.User(this.kuzzle,e.result._id,e.result._source)))}deleteCredentials(e,t,r={}){const s={strategy:e,_id:t,action:"deleteCredentials"};return this.query(s,r).then((e=>e.result))}deleteProfile(e,t={}){const r={_id:e,action:"deleteProfile"};return this.query(r,t).then((e=>e.result))}deleteRole(e,t={}){const r={_id:e,action:"deleteRole"};return this.query(r,t).then((e=>e.result))}deleteUser(e,t={}){const r={_id:e,action:"deleteUser"};return this.query(r,t).then((e=>e.result))}getAllCredentialFields(e={}){return this.query({action:"getAllCredentialFields"},e).then((e=>e.result))}getCredentialFields(e,t={}){return this.query({strategy:e,action:"getCredentialFields"},t).then((e=>e.result))}getCredentials(e,t,r={}){return this.query({strategy:e,_id:t,action:"getCredentials"},r).then((e=>e.result))}getCredentialsById(e,t,r={}){return this.query({strategy:e,_id:t,action:"getCredentialsById"},r).then((e=>e.result))}getProfile(e,t={}){return this.query({_id:e,action:"getProfile"},t).then((e=>new n.Profile(this.kuzzle,e.result._id,e.result._source)))}getProfileMapping(e={}){return this.query({action:"getProfileMapping"},e).then((e=>e.result))}getProfileRights(e,t={}){return this.query({_id:e,action:"getProfileRights"},t).then((e=>e.result.hits))}getRole(e,t={}){return this.query({_id:e,action:"getRole"},t).then((e=>new i.Role(this.kuzzle,e.result._id,e.result._source.controllers)))}getRoleMapping(e={}){return this.query({action:"getRoleMapping"},e).then((e=>e.result))}getUser(e,t={}){return this.query({_id:e,action:"getUser"},t).then((e=>new l.User(this.kuzzle,e.result._id,e.result._source)))}getUserMapping(e={}){return this.query({action:"getUserMapping"},e).then((e=>e.result))}getUserRights(e,t={}){return this.query({_id:e,action:"getUserRights"},t).then((e=>e.result.hits))}getUserStrategies(e,t={}){return this.query({_id:e,action:"getUserStrategies"},t).then((e=>e.result.strategies))}hasCredentials(e,t,r={}){return this.query({strategy:e,_id:t,action:"hasCredentials"},r).then((e=>e.result))}mDeleteProfiles(e,t={}){const r={action:"mDeleteProfiles",body:{ids:e}};return this.query(r,t).then((e=>e.result))}mDeleteRoles(e,t={}){const r={action:"mDeleteRoles",body:{ids:e}};return this.query(r,t).then((e=>e.result))}mDeleteUsers(e,t={}){const r={action:"mDeleteUsers",body:{ids:e}};return this.query(r,t).then((e=>e.result))}mGetProfiles(e,t={}){return this.query({action:"mGetProfiles",body:{ids:e}},t).then((e=>e.result.hits.map((e=>new n.Profile(this.kuzzle,e._id,e._source)))))}mGetUsers(e,t={}){const r={action:"mGetUsers",body:{ids:e}};return this.query(r,t).then((e=>e.result.hits.map((e=>new l.User(this.kuzzle,e._id,e._source)))))}mGetRoles(e,t={}){return this.query({action:"mGetRoles",body:{ids:e}},t).then((e=>e.result.hits.map((e=>new i.Role(this.kuzzle,e._id,e._source.controllers)))))}refresh(e){return this.query({collection:e,action:"refresh"})}replaceUser(e,t,r={}){const s={_id:e,body:t,action:"replaceUser"};return this.query(s,r).then((e=>new l.User(this.kuzzle,e.result._id,e.result._source)))}searchProfiles(e,t={}){const r={body:e,action:"searchProfiles"};for(let e=0,s=["from","size","scroll"];e<s.length;e++){const i=s[e];r[i]=t[i]}return this.query(r,t).then((e=>new u.ProfileSearchResult(this.kuzzle,r,t,e.result)))}searchRoles(e,t={}){const r={body:e,action:"searchRoles"};for(let e=0,s=["from","size"];e<s.length;e++){const i=s[e];r[i]=t[i]}return this.query(r,t).then((e=>new o.RoleSearchResult(this.kuzzle,r,t,e.result)))}searchUsers(e,t={}){const r={body:e,action:"searchUsers"};for(let e=0,s=["from","size","scroll","lang"];e<s.length;e++){const i=s[e];r[i]=t[i]}return this.query(r,t).then((e=>new c.UserSearchResult(this.kuzzle,r,t,e.result)))}updateCredentials(e,t,r,s={}){return this.query({strategy:e,_id:t,body:r,action:"updateCredentials"},s).then((e=>e.result))}updateProfile(e,t,r={}){const s={_id:e,body:t,action:"updateProfile"};return this.query(s,r).then((e=>new n.Profile(this.kuzzle,e.result._id,e.result._source)))}updateProfileMapping(e,t={}){return this.query({body:e,action:"updateProfileMapping"},t).then((e=>e.result))}updateRole(e,t,r={}){const s={_id:e,body:t,action:"updateRole",force:!!r.force||null};return this.query(s,r).then((e=>new i.Role(this.kuzzle,e.result._id,e.result._source.controllers)))}updateRoleMapping(e,t={}){return this.query({body:e,action:"updateRoleMapping"},t).then((e=>e.result))}updateUser(e,t,r={}){const s={_id:e,body:t,action:"updateUser"};return this.query(s,r).then((e=>new l.User(this.kuzzle,e.result._id,e.result._source)))}updateUserMapping(e,t={}){return this.query({body:e,action:"updateUserMapping"},t).then((e=>e.result))}validateCredentials(e,t,r,s={}){return this.query({_id:t,strategy:e,body:r,action:"validateCredentials"},s).then((e=>e.result))}}t.SecurityController=a},1994:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ServerController=void 0;const s=r(5914);class i extends s.BaseController{constructor(e){super(e,"server")}adminExists(e){return this.query({action:"adminExists"},e).then((e=>e.result.exists))}getAllStats(e){return this.query({action:"getAllStats"},e).then((e=>e.result))}getConfig(e){return this.query({action:"getConfig"},e).then((e=>e.result))}getLastStats(e){return this.query({action:"getLastStats"},e).then((e=>e.result))}getStats(e,t,r){return this.query({action:"getStats",startTime:e,stopTime:t},r).then((e=>e.result))}info(e){return this.query({action:"info"},e).then((e=>e.result))}now(e){return this.query({action:"now"},e).then((e=>e.result.now))}}t.ServerController=i},9665:e=>{"use strict";e.exports={Jwt:class{constructor(e){this._encodedJwt=e,this._userId=null,this._expiresAt=null,this._decode()}get encodedJwt(){return this._encodedJwt}get userId(){return this._userId}get expiresAt(){return this._expiresAt}get expired(){return Math.round(Date.now()/1e3)>this.expiresAt}_decode(){const e=this._encodedJwt.split(".")[1];if(!e)throw new Error("Invalid JWT format");let t;try{t=JSON.parse((e=>{const t=e.replace(/=+$/,"");let r="";if(t.length%4==1)throw new Error("Malformed base64 string.");for(let e,s=0,i=0,o=0;e=t.charAt(o++);~e&&(i=s%4?64*i+e:e,s++%4)?r+=String.fromCharCode(255&i>>(-2*s&6)):0)e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(e);return r})(e))}catch(e){throw new Error("Invalid JSON payload for JWT")}this._userId=t._id,this._expiresAt=t.exp}}}},4898:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.KuzzleEventEmitter=void 0;class r{constructor(e,t=!1){this.fn=e,this.once=t}}class s{constructor(){this._events=new Map}_exists(e,t){return Boolean(e.find((e=>e.fn===t)))}listeners(e){return this._events.has(e)?this._events.get(e).map((e=>e.fn)):[]}addListener(e,t,s=!1){if(!e||!t)return this;const i=typeof t;if("function"!==i)throw new Error(`Invalid listener type: expected a function, got a ${i}`);return this._events.has(e)||this._events.set(e,[]),this._exists(this._events.get(e),t)||this._events.get(e).push(new r(t,s)),this}on(e,t){return this.addListener(e,t)}prependListener(e,t,s=!1){if(!e||!t)return this;if(this._events.has(e)||this._events.set(e,[]),!this._exists(this._events.get(e),t)){const i=[new r(t,s)].concat(this._events.get(e));this._events.set(e,i)}return this}addOnceListener(e,t){return this.addListener(e,t,!0)}once(e,t){return this.addOnceListener(e,t)}prependOnceListener(e,t){return this.prependListener(e,t,!0)}removeListener(e,t){const r=this._events.get(e);if(!r||!r.length)return this;const s=r.findIndex((e=>e.fn===t));return-1!==s&&r.splice(s,1),0===r.length&&this._events.delete(e),this}removeAllListeners(e){return e?this._events.delete(e):this._events=new Map,this}emit(e,...t){const r=this._events.get(e);if(void 0===r)return!1;const s=[];for(let e=0;e<r.length;e++){const i=r[e];i.fn(...t),i.once&&s.push(i.fn)}for(let t=0;t<s.length;t++){const r=s[t];this.removeListener(e,r)}return!0}eventNames(){return Array.from(this._events.keys())}listenerCount(e){return this._events.has(e)&&this._events.get(e).length||0}}t.KuzzleEventEmitter=s,e.exports={KuzzleEventEmitter:s}},6159:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Observer=void 0;const s=r(8496),i=r(1742);class o extends Set{constructor(){super(...arguments),this.roomId=null}get ids(){return Array.from(this.values())}get filters(){return{ids:{values:Array.from(this.values())}}}}function n(e,t,r){return`${e}:${t}:${r}`}function u(e,t){return`${e}:${t}`}t.Observer=class{constructor(e){this.documentsByCollection=new Map,this.documents=new Map,Reflect.defineProperty(this,"sdk",{value:e})}stop(e,t,r){return e&&t&&r?this.disposeDocuments(e,t,r):e&&t?this.disposeCollection(e,t):e?Promise.reject(new Error('Missing "collection" argument"')):this.disposeAll()}disposeDocuments(e,t,r){const s=this.documentsByCollection.get(u(e,t));for(let i=0;i<r.length;i++){const o=r[i];this.documents.delete(n(e,t,o._id)),s.delete(o._id)}return 0===s.size&&this.documentsByCollection.delete(u(e,t)),this.resubscribe(e,t)}disposeCollection(e,t){const r=this.documentsByCollection.get(u(e,t));for(let s=0,i=r.ids;s<i.length;s++){const r=i[s];this.documents.delete(n(e,t,r))}return this.documentsByCollection.delete(u(e,t)),this.sdk.realtime.unsubscribe(r.roomId)}disposeAll(){const e=[];for(let t=0,r=this.documentsByCollection.values();t<r.length;t++){const s=r[t];s.roomId&&e.push(this.sdk.realtime.unsubscribe(s.roomId))}return this.documentsByCollection.clear(),this.documents.clear(),Promise.all(e).then((()=>{}))}get(e,t,r,s={}){return this.sdk.document.get(e,t,r,s).then((r=>this.observe(e,t,r)))}mGet(e,t,r,s={}){const i=[];let o;return this.sdk.document.mGet(e,t,r,s).then((({successes:r,errors:s})=>{o=s;for(let s=0;s<r.length;s++){const o=r[s];i.push(this.addDocument(e,t,o))}return this.resubscribe(e,t)})).then((()=>({successes:i,errors:o})))}search(e,t,r={},s={}){return this.sdk.document._search(e,t,r,s).then((({response:e,request:t,opts:r})=>new i.RealtimeDocumentSearchResult(this.sdk,t,r,e.result,this).start()))}observe(e,t,r){const s=this.addDocument(e,t,r);return this.resubscribe(e,t).then((()=>s))}addDocument(e,t,r){const i=new s.RealtimeDocument(r),l=u(e,t);return this.documentsByCollection.has(l)||this.documentsByCollection.set(l,new o),this.documentsByCollection.get(l).add(r._id),this.documents.set(n(e,t,r._id),i),i}resubscribe(e,t){const r=this.documentsByCollection.get(u(e,t));return r?0===r.size?r.roomId?this.sdk.realtime.unsubscribe(r.roomId):Promise.resolve():this.sdk.realtime.subscribe(e,t,r.filters,this.notificationHandler.bind(this)).then((e=>{const t=r.roomId;if(r.roomId=e,t)return this.sdk.realtime.unsubscribe(t)})):Promise.resolve()}notificationHandler(e){const{index:t,collection:r,result:s}=e,i=n(t,r,s._id),o=this.documents.get(i);if("delete"!==e.event)return"write"===e.event&&Object.assign(o._source,s._source),Promise.resolve();o.deleted=!0,this.documents.delete(n(t,r,o._id));const l=this.documentsByCollection.get(u(t,r));return l.delete(s._id),0===l.size&&this.documentsByCollection.delete(u(t,r)),this.resubscribe(t,r)}}},8496:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.RealtimeDocument=void 0,t.RealtimeDocument=class{constructor({_id:e,_source:t}){this._id=e,this._source=t,this.deleted=!1}}},8100:e=>{"use strict";e.exports=class{constructor(e,t,r,s,i,o={}){Reflect.defineProperty(this,"_kuzzle",{value:e.kuzzle}),this.controller=e,this.index=t,this.collection=r,this.callback=i,this.options=o,this.id=null,this.channel=null,this.request={index:t,collection:r,body:s,controller:"realtime",action:"subscribe",state:this.options.state,scope:this.options.scope,users:this.options.users,volatile:this.options.volatile},this.autoResubscribe="boolean"==typeof o.autoResubscribe?o.autoResubscribe:this.kuzzle.autoResubscribe,this.subscribeToSelf="boolean"!=typeof o.subscribeToSelf||o.subscribeToSelf,this._channelListener=this._channelListener.bind(this)}get kuzzle(){return this._kuzzle}subscribe(){return this.kuzzle.query(this.request,this.options).then((e=>(this.id=e.result.roomId,this.channel=e.result.channel,this.kuzzle.protocol.on(this.channel,this._channelListener),e)))}removeListeners(){this.channel&&this.kuzzle.protocol.removeListener(this.channel,this._channelListener)}_channelListener(e){if("TokenExpired"===e.type)return this.kuzzle.tokenExpired();const t=e.volatile&&e.volatile.sdkInstanceId===this.kuzzle.protocol.id;!this.subscribeToSelf&&t||this.callback(e)}}},3026:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DocumentSearchResult=void 0;const s=r(2140);class i extends s.SearchResultBase{constructor(e,t,r,s){super(e,t,r,s),this._searchAction="search",this._scrollAction="scroll"}}t.DocumentSearchResult=i,e.exports={DocumentSearchResult:i}},7885:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ProfileSearchResult=void 0;const s=r(4103),i=r(2140);class o extends i.SearchResultBase{constructor(e,t,r,i){super(e,t,r,i),this._searchAction="searchProfiles",this._scrollAction="scrollProfiles",this.hits=i.hits.map((e=>new s.Profile(this._kuzzle,e._id,e._source)))}next(){return super.next().then((e=>e?(e.hits=e._result.hits.map((t=>new s.Profile(e._kuzzle,t._id,t._source))),e):null))}}t.ProfileSearchResult=o},1742:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.RealtimeDocumentSearchResult=void 0;const s=r(2140);class i extends s.SearchResultBase{constructor(e,t,r,s,i){super(e,t,r,s),this._searchAction="search",this._scrollAction="scroll",Reflect.defineProperty(this,"observer",{value:i})}start(){const{index:e,collection:t}=this._request,r=[];for(let s=0,i=this.hits;s<i.length;s++){const o=i[s];r.push(this.observer.addDocument(e,t,o))}return this.hits=r,this.observer.resubscribe(e,t).then((()=>this))}next(){return super.next()}_buildNextSearchResult(e){return new i(this._kuzzle,this._request,this._options,e,this.observer).fetched+=this.fetched,this.start()}}t.RealtimeDocumentSearchResult=i},896:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.RoleSearchResult=void 0;const s=r(3955),i=r(2140);class o extends i.SearchResultBase{constructor(e,t,r,i){super(e,t,r,i),this._searchAction="searchRoles",this._scrollAction=null,this.hits=this._result.hits.map((e=>new s.Role(this._kuzzle,e._id,e._source.controllers)))}next(){return this._request.scroll||this._request.sort?Promise.reject(new Error("only from/size params are allowed for role search")):super.next().then((e=>e?(e.hits=e._result.hits.map((t=>new s.Role(e._kuzzle,t._id,t._source.controllers))),e):null))}}t.RoleSearchResult=o},2140:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SearchResultBase=void 0,t.SearchResultBase=class{constructor(e,t={},r={},s={}){Reflect.defineProperty(this,"_kuzzle",{value:e}),Reflect.defineProperty(this,"_request",{value:t}),Reflect.defineProperty(this,"_options",{value:r}),Reflect.defineProperty(this,"_result",{value:s}),Reflect.defineProperty(this,"_controller",{value:t.controller,writable:!0}),Reflect.defineProperty(this,"_searchAction",{value:"search",writable:!0}),Reflect.defineProperty(this,"_scrollAction",{value:"scroll",writable:!0}),this.aggregations=s.aggregations,this.hits=s.hits||[],this.fetched=this.hits.length,this.total=s.total||0,this.suggest=s.suggest}next(){if(this.fetched>=this.total)return Promise.resolve(null);if(this._request.scroll)return this._kuzzle.query({controller:this._request.controller,action:this._scrollAction,scroll:this._request.scroll,scrollId:this._result.scrollId}).then((({result:e})=>this._buildNextSearchResult(e)));if(this._request.size&&this._request.body.sort){const e={...this._request,action:this._searchAction},t=this._result.hits[this._result.hits.length-1];if(!t)return Promise.reject(new Error('Unable to retrieve all results from search: the sort combination must identify one item only. Add document "_id" to the sort.'));let r;if(e.body.search_after=[],r="string"==typeof this._request.body.sort?[this._request.body.sort]:Array.isArray(this._request.body.sort)?this._request.body.sort:Object.keys(this._request.body.sort),0===r.length)return Promise.reject(new Error("Unable to retrieve next results from search: sort param is empty"));for(let s=0,i=r;s<i.length;s++){const r=i[s],o="string"==typeof r?r:Object.keys(r)[0],n="_id"===o?t._id:this._get(t._source,o.split("."));e.body.search_after.push(n)}return this._kuzzle.query(e,this._options).then((({result:e})=>this._buildNextSearchResult(e)))}return this._request.size?this._request.from>=this._result.total?Promise.resolve(null):this._kuzzle.query({...this._request,action:this._searchAction,from:this.fetched},this._options).then((({result:e})=>this._buildNextSearchResult(e))):Promise.reject(new Error("Unable to retrieve next results from search: missing scrollId, from/sort, or from/size params"))}_get(e,t){if(!e)return e;if(1===t.length)return e[t[0]];const r=t.shift();return this._get(e[r],t)}_buildNextSearchResult(e){const t=new(0,this.constructor)(this._kuzzle,this._request,this._options,e);return t.fetched+=this.fetched,t}}},1183:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SpecificationsSearchResult=void 0;const s=r(2140);class i extends s.SearchResultBase{constructor(e,t,r,s){super(e,t,r,s),this._controller="collection",this._searchAction="searchSpecifications",this._scrollAction="scrollSpecifications"}}t.SpecificationsSearchResult=i},4545:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.UserSearchResult=void 0;const s=r(2140),i=r(3987);class o extends s.SearchResultBase{constructor(e,t,r,s){super(e,t,r,s),this._searchAction="searchUsers",this._scrollAction="scrollUsers",this.hits=this._result.hits.map((e=>new i.User(this._kuzzle,e._id,e._source)))}next(){return super.next().then((e=>e?(e.hits=e._result.hits.map((t=>new i.User(e._kuzzle,t._id,t._source))),e):null))}}t.UserSearchResult=o},4103:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Profile=void 0,t.Profile=class{constructor(e,t=null,r=null){Reflect.defineProperty(this,"_kuzzle",{value:e}),this._id=t,this.rateLimit=r&&r.rateLimit?r.rateLimit:0,this.policies=r&&r.policies?r.policies:[]}get kuzzle(){return this._kuzzle}getRoles(e={}){return this.policies&&0!==this.policies.length?this.kuzzle.security.mGetRoles(this.policies.map((e=>e.roleId)),e):Promise.resolve([])}serialize(){return{_id:this._id,rateLimit:this.rateLimit,policies:this.policies}}}},3955:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Role=void 0;class r{constructor(e,t=null,r={}){Reflect.defineProperty(this,"_kuzzle",{value:e}),this._id=t,this.controllers=r}get kuzzle(){return this._kuzzle}serialize(){return{_id:this._id,controllers:this.controllers}}}t.Role=r,e.exports={Role:r}},3987:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.User=void 0;class r{constructor(e,t=null,r={}){Reflect.defineProperty(this,"_kuzzle",{value:e}),Reflect.defineProperty(this,"content",{enumerable:!0,get(){return this._source}}),this._id=t,this._source=r}get kuzzle(){return this._kuzzle}get profileIds(){return this._source.profileIds||[]}getProfiles(){return this.profileIds&&0!==this.profileIds.length?this.kuzzle.security.mGetProfiles(this.profileIds):Promise.resolve([])}serialize(){return{_id:this._id,_source:this._source}}}t.User=r,e.exports={User:r}},4169:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.NETWORK_ERROR=t.USER_CONNECTION_CLOSED=t.WEBSOCKET_AUTH_RENEWAL=void 0,t.WEBSOCKET_AUTH_RENEWAL="websocket/auth-renewal",t.USER_CONNECTION_CLOSED="user/connection-closed",t.NETWORK_ERROR="network/error"},6900:function(e,t,r){"use strict";var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=s(r(1873)),o=r(147);class n extends o.KuzzleAbstractProtocol{constructor(e,t={}){if(super(e,t,"http"),"string"!=typeof e||""===e)throw new Error("host is required");this._routes={},this._timeout=t.timeout||0,this._customRoutes=t.customRoutes||{},this._defaultHeaders=t.headers||{};for(let e=0,t=Object.keys(this._customRoutes);e<t.length;e++){const r=t[e],s=this._customRoutes[r];for(let e=0,t=Object.keys(s);e<t.length;e++){const i=t[e],o=s[i];if(!("string"==typeof o.url&&o.url.length>0))throw new Error(`Incorrect URL for custom route ${r}:${i}.`);if(!("string"==typeof o.verb&&o.verb.length>0))throw new Error(`Incorrect VERB for custom route ${r}:${i}.`)}}}get http(){return this.routes}get routes(){return this._routes}get protocol(){return this.ssl?"https":"http"}get connected(){return!0}get timeout(){return this._timeout}set timeout(e){this._timeout=e}connect(){if("ready"===this.state)return Promise.resolve();const e={method:"GET",path:"/_publicApi",payload:{headers:this._defaultHeaders}};return this._sendHttpRequest(e).then((({result:e,error:t})=>{if(t){if(401===t.status||403===t.status)return this._warn('"server:publicApi" route is restricted for anonymous user.'),this._warn("This route is used by the HTTP protocol to build API URLs."),this._warn("Fallback to static routes, some API routes may be unavailable as well as plugin custom routes"),void(this._routes=i.default);if(404===t.status){const e={method:"GET",path:"/",payload:{headers:this._defaultHeaders}};return this._sendHttpRequest(e).then((({result:e,error:t})=>{if(t){if(401!==t.status&&403!==t.status)throw t;this._warn('"server:info" route is restricted for anonymous user.'),this._warn("This route is used by the HTTP protocol to build API URLs."),this._warn('If you want to expose your API routes without disclosing server information you can use "server:publicApi" (available in Kuzzle 1.9.0).'),this._warn("Fallback to static routes, some API routes may be unavailable as well as plugin custom routes"),this._routes=i.default}else this._routes=this._constructRoutes(e.serverInfo.kuzzle.api.routes)}))}throw t}this._routes=this._constructRoutes(e)})).then((()=>{this._routes=Object.assign(this._routes,this._customRoutes),this.clientConnected()})).catch((e=>{const t=new Error(`Unable to connect to kuzzle server at ${this.host}:${this.port}`);throw t.internal=e,this.emit("networkError",t),e}))}enableCookieSupport(){if("undefined"==typeof XMLHttpRequest)throw new Error("Support for cookie cannot be enabled outside of a browser");super.enableCookieSupport()}formatRequest(e,t={}){const r=this.routes[e.controller]&&this.routes[e.controller][e.action];if(!r){const t=new Error(`No URL found for "${e.controller}:${e.action}".`);return void this.emit(e.requestId,{status:400,error:t})}const s=t.verb||r.verb,i={action:void 0,body:void 0,collection:void 0,controller:void 0,headers:{"Content-Type":"application/json",...this._defaultHeaders},index:void 0,meta:void 0,requestId:void 0},o={};for(let t=0,r=Object.keys(e);t<r.length;t++){const n=r[t],u=e[n];"body"===n?"GET"===s?Object.assign(o,u):i.body=JSON.stringify(u):"jwt"===n?i.headers.authorization="Bearer "+u:"volatile"===n?i.headers["x-kuzzle-volatile"]=JSON.stringify(u):Object.prototype.hasOwnProperty.call(i,n)?i[n]=u:null!=u&&(o[n]=u)}const n=/\/:([^/]*)/;let u=r.url,l=n.exec(u);for(;l;){if(!e[l[1]]){const e=new Error(`Missing URL param "${l[1]}" in "${l.input}"`);return void this.emit(i.requestId,{status:400,error:e})}u=u.replace(n,`/${encodeURIComponent(e[l[1]])}`),delete o[l[1]],l=n.exec(u)}const c=[];for(let e=0,t=Object.keys(o);e<t.length;e++){const r=t[e];let s=o[r];const i=encodeURIComponent(r);Array.isArray(s)?c.push(`${i}=${encodeURIComponent(s.join())}`):"boolean"==typeof s?!0===s&&c.push(i):(s="object"==typeof s?JSON.stringify(s):s,c.push(`${i}=${encodeURIComponent(s)}`))}return c.length>0&&(u+="?"+c.join("&")),{method:s,path:u,payload:i}}send(e,t={}){const r=this.formatRequest(e,t);r&&this._sendHttpRequest(r).then((e=>this.emit(r.payload.requestId,e))).catch((e=>this.emit(r.payload.requestId,{error:e})))}_sendHttpRequest({method:e,path:t,payload:s}){if("undefined"==typeof XMLHttpRequest){const i=r(Object(function(){var e=new Error("Cannot find module 'min-req-promise'");throw e.code="MODULE_NOT_FOUND",e}()));"/"!==t[0]&&(t=`/${t}`);const o=`${this.protocol}://${this.host}:${this.port}${t}`,n=s&&s.headers||{};return n["Content-Length"]=Buffer.byteLength(s&&s.body||""),i.request(o,e,{body:s&&s.body,headers:n,timeout:this._timeout}).then((e=>{if(431===e.statusCode)throw new Error("Request query string is too large. Try to use the method with the POST verb instead.");return JSON.parse(e.body)}))}return new Promise(((r,i)=>{const o=new XMLHttpRequest,n=`${this.protocol}://${this.host}:${this.port}${t}`;o.timeout=this._timeout,o.onreadystatechange=()=>{4===o.readyState&&0===o.status&&i(new Error("Cannot connect to host. Is the host online?"))},o.open(e,n),o.withCredentials=this.cookieSupport;for(let e=0,t=Object.entries(s&&s.headers||{});e<t.length;e++){const[r,s]=t[e];o.setRequestHeader(r,s)}o.onload=()=>{try{const e=JSON.parse(o.responseText);r(e)}catch(e){i(e)}},o.send(s&&s.body)}))}_constructRoutes(e){const t=Object.keys(e).map((t=>[t,e[t]])).reduce(((e,[t,r])=>{e[t]={};for(let s=0,i=Object.keys(r);s<i.length;s++){const o=i[s],{http:n}=r[o];n&&1===n.length?e[t][o]=n[0]:n&&n.length>1&&(e[t][o]="document"===t&&"search"===o?u(n):l(n))}return e}),{});for(let e=0,r=Object.keys(this._customRoutes);e<r.length;e++){const s=r[e];t[s]=this._customRoutes[s]}return t}_warn(e){console.warn(e)}}function u(e){return"POST"===e[0].verb?e[0]:e[1]}function l(e){let t=e[0],r=e[0],s=e[0].url.length,i=!0;for(let o=0;o<e.length;o++){const n=e[o];n.url.length!==s&&(i=!1),n.url.length<s&&(t=n,s=n.url.length),"GET"===n.verb&&(r=n)}return i?r:t}t.default=n},7380:function(e,t,r){"use strict";var s=this&&this.__createBinding||(Object.create?function(e,t,r,s){void 0===s&&(s=r),Object.defineProperty(e,s,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,s){void 0===s&&(s=r),e[s]=t[r]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&s(t,e,r);return i(t,e),t},n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const u=r(4528),l=r(3189),c=n(r(6900)),a=o(r(4169));class d extends l.BaseProtocolRealtime{constructor(e,t={}){if(super(e,t,"ws"),"string"!=typeof e||""===e)throw new Error("host is required");if("undefined"!=typeof WebSocket)this.WebSocketClient=WebSocket,this.options=null;else if(this.WebSocketClient=r(Object(function(){var e=new Error("Cannot find module 'ws'");throw e.code="MODULE_NOT_FOUND",e}())),this.options={perMessageDeflate:!1,headers:t.headers||null},null!==this.options.headers&&(Array.isArray(this.options.headers)||"object"!=typeof this.options.headers))throw new Error('Invalid "headers" option: expected an object');this._pingInterval="number"==typeof t.pingInterval?t.pingInterval:2e3,this.client=null,this.lasturl=null}_connect(){return new Promise(((e,t)=>{const r=`${this.ssl?"wss":"ws"}://${this.host}:${this.port}`;super.connect(),r!==this.lasturl&&(this.wasConnected=!1,this.lasturl=r),this.client=new this.WebSocketClient(r,this.options),"undefined"!=typeof WebSocket?this.ping=()=>{this.client.send('{"p":1}')}:(this.ping=()=>{this.client.ping()},this.client.on("pong",(()=>{this.waitForPong=!1}))),this.client.onopen=()=>(this.clientConnected(),this.setupPingPong(),e()),this.client.onclose=(e,t)=>{let r,s=t;if("number"==typeof e?r=e:(r=e.code,e.reason&&(s=e.reason)),1e3===r)this.clientDisconnected(a.USER_CONNECTION_CLOSED);else if(this.wasConnected){const e=new Error(s);e.status=r,this.clientNetworkError(e)}},this.client.onerror=e=>{let r=e;if(e instanceof Error||(r=!e||"undefined"!=typeof Event&&e instanceof Event?new Error("Connection error"):new Error(e.message||e)),this.clientNetworkError(r),[this.client.CLOSING,this.client.CLOSED].indexOf(this.client.readyState)>-1)return t(r)},this.client.onmessage=e=>{const t=JSON.parse(e.data||e);if(t&&t.p&&2===t.p&&1===Object.keys(t).length)this.waitForPong=!1;else{if("TokenExpired"===t.type)this.emit("tokenExpired");else if(t.room)this.emit(t.room,t);else{this.emit("discarded",t);const e=new u.KuzzleError(t.error,(new Error).stack,this.constructor.name);this.emit("queryError",{error:e,request:t})}this.waitForPong=!1}}}))}connect(){return this.cookieSupport?this._httpProtocol.connect().then((()=>this._connect())):this._connect()}enableCookieSupport(){if("undefined"==typeof XMLHttpRequest)throw new Error("Support for cookie cannot be enabled outside of a browser");super.enableCookieSupport(),this._httpProtocol=new c.default(this.host,{port:this.port,ssl:this.ssl}),this._httpProtocol.enableCookieSupport()}send(e,t={}){if(!this.client||this.client.readyState!==this.client.OPEN)return;if(!this.cookieSupport||"auth"!==e.controller||"login"!==e.action&&"logout"!==e.action&&"refreshToken"!==e.action)return void this.client.send(JSON.stringify(e));const r=this._httpProtocol.formatRequest(e,t);r&&(this.emit("websocketRenewalStart"),this.client&&(this.client.onclose=void 0,this.client.close(1e3)),this.client=null,this.clientDisconnected(a.WEBSOCKET_AUTH_RENEWAL),this._httpProtocol._sendHttpRequest(r).then((e=>this.connect().then((()=>{this.emit(r.payload.requestId,e),this.emit("websocketRenewalDone")})))).catch((e=>{this.emit(r.payload.requestId,{error:e}),this.emit("websocketRenewalDone")})))}clientDisconnected(e){clearInterval(this.pingIntervalId),this.pingIntervalId=null,super.clientDisconnected(e)}clientNetworkError(e){clearInterval(this.pingIntervalId),this.pingIntervalId=null,super.clientNetworkError(e)}close(){this.state="offline",this.wasConnected=!1,this.client&&this.client.close(1e3),this.removeAllListeners(),this.client=null,this.stopRetryingToConnect=!0,clearInterval(this.pingIntervalId),this.pingIntervalId=null,super.close()}setupPingPong(){clearInterval(this.pingIntervalId),this.waitForPong=!1,this.pingIntervalId=setInterval((()=>{if(this.client&&this.client.readyState===this.client.OPEN&&!this.waitForPong)return this.ping(),void(this.waitForPong=!0);if(this.waitForPong){const e=new Error("Kuzzle does'nt respond to ping. Connection lost.");e.status=503,clearInterval(this.pingIntervalId),this.client.onclose=void 0,this.client.close(1e3),this.waitForPong=!1,this.clientNetworkError(e)}}),this._pingInterval)}}t.default=d},147:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.KuzzleAbstractProtocol=void 0;const s=r(4528),i=r(4957),o=r(4898),n=r(3041);class u extends o.KuzzleEventEmitter{constructor(e,t={},r){super(),this._pendingRequests=new Map,this._host=e,this._name=r;const s=parseInt(t.port,10);if(this._port=isNaN(s)?7512:s,void 0!==t.ssl&&void 0!==t.sslConnection)throw new Error('Both "ssl" and "sslConnection" options are set. Use only "ssl".');"boolean"==typeof t.ssl?this._ssl=t.ssl:"boolean"==typeof t.sslConnection?this._ssl=t.sslConnection:this._ssl=443===s||7443===s,this.id=(0,i.uuidv4)(),this.state="offline",this._cookieSupport=!1,Object.keys(t).forEach((e=>{Object.prototype.hasOwnProperty.call(this,e)&&Object.getOwnPropertyDescriptor(this,e).writable&&(this[e]=t[e])}))}get host(){return this._host}get name(){return this._name}get port(){return this._port}get ssl(){return this._ssl}get connected(){return"connected"===this.state}get cookieSupport(){return this._cookieSupport}get pendingRequests(){return this._pendingRequests}enableCookieSupport(){this._cookieSupport=!0}clientConnected(e,t){this.state=e||"ready",this.emit(t?"reconnect":"connect")}close(){this.state="offline",this.clear()}query(e,t){if(!this.isReady())return this.emit("discarded",e),Promise.reject(new Error(`Unable to execute request: not connected to a Kuzzle server.\nDiscarded request: ${JSON.stringify(e)}`));const r=Error().stack,i=new n.PendingRequest(e);return this._pendingRequests.set(e.requestId,i),this.once(e.requestId,(t=>{if(this._pendingRequests.delete(e.requestId),t.error){let o;if(t.error.status)o=new s.KuzzleError(t.error,r,this.constructor.name);else{const e=r.split("\n");e[0]="",t.error.stack+="\n"+e.join("\n"),o=t.error}return this.emit("queryError",{error:o,request:e}),"logout"!==e.action&&"security.token.invalid"===o.id&&this.emit("tokenExpired"),i.reject(o)}i.resolve(t)})),this.send(e,t),i.promise}isReady(){return"ready"===this.state}clear(){const e=new Error("Network error: request was sent but no response has been received");for(let t=0,r=this._pendingRequests.values();t<r.length;t++){const s=r[t];s.reject(e),this.removeAllListeners(s.request.requestId),this.emit("discarded",s.request)}this._pendingRequests.clear()}}t.KuzzleAbstractProtocol=u},3041:e=>{"use strict";e.exports={PendingRequest:class{constructor(e){this._resolve=null,this._reject=null,this.request=e,this.promise=new Promise(((e,t)=>{this._resolve=e,this._reject=t}))}resolve(...e){this._resolve(...e)}reject(e){this._reject(e)}}}},3189:function(e,t,r){"use strict";var s=this&&this.__createBinding||(Object.create?function(e,t,r,s){void 0===s&&(s=r),Object.defineProperty(e,s,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,s){void 0===s&&(s=r),e[s]=t[r]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&s(t,e,r);return i(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.BaseProtocolRealtime=void 0;const n=r(147),u=o(r(4169));class l extends n.KuzzleAbstractProtocol{constructor(e,t={},r){super(e,t,r),this._autoReconnect="boolean"!=typeof t.autoReconnect||t.autoReconnect,this._reconnectionDelay="number"==typeof t.reconnectionDelay?t.reconnectionDelay:1e3,this.wasConnected=!1,this.stopRetryingToConnect=!1,this.retrying=!1}get autoReconnect(){return this._autoReconnect}get reconnectionDelay(){return this._reconnectionDelay}connect(){return this.state="connecting",Promise.resolve()}clientConnected(){super.clientConnected("connected",this.wasConnected),this.state="connected",this.wasConnected=!0,this.stopRetryingToConnect=!1}clientDisconnected(e){this.clear(),this.emit("disconnect",{origin:e})}clientNetworkError(e){this.isReady()&&this.emit("disconnect",{origin:u.NETWORK_ERROR}),this.state="offline",this.clear();const t=new Error(`Unable to connect to kuzzle server at ${this.host}:${this.port}: ${e.message} (ws status=${e.status})`);if(this.emit("networkError",t),this.autoReconnect&&!this.retrying&&!this.stopRetryingToConnect){if(this.retrying=!0,"object"==typeof window&&"object"==typeof window.navigator&&!1===window.navigator.onLine)return void window.addEventListener("online",(()=>{this.retrying=!1,this.connect().catch((e=>this.clientNetworkError(e)))}),{once:!0});setTimeout((()=>{this.retrying=!1,this.connect().catch((e=>this.clientNetworkError(e)))}),this.reconnectionDelay)}}isReady(){return"connected"===this.state}}t.BaseProtocolRealtime=l},1076:function(e,t,r){"use strict";var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.Http=t.WebSocket=void 0;var i=r(7380);Object.defineProperty(t,"WebSocket",{enumerable:!0,get:function(){return s(i).default}});var o=r(6900);Object.defineProperty(t,"Http",{enumerable:!0,get:function(){return s(o).default}})},3405:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},1977:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},8694:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Document=void 0,t.Document=class{}},9468:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},8811:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},6253:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},6687:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},3209:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},4296:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},3044:function(e,t,r){"use strict";var s=this&&this.__createBinding||(Object.create?function(e,t,r,s){void 0===s&&(s=r),Object.defineProperty(e,s,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,s){void 0===s&&(s=r),e[s]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||s(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(3405),t),i(r(8694),t),i(r(9468),t),i(r(8811),t),i(r(6253),t),i(r(6687),t),i(r(3209),t),i(r(4296),t),i(r(1977),t)},8733:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Deprecation=void 0,t.Deprecation=class{constructor(e){this._deprecationWarning=!1}logDeprecation(e){if(this._deprecationWarning&&e.deprecations&&e.deprecations.length)for(let t=0,r=e.deprecations;t<r.length;t++){const e=r[t];console.warn(e.message)}return e}}},8964:e=>{const t=e=>{if(!e)return[];const s=Object.getOwnPropertyNames(e.prototype||e),i=Object.getPrototypeOf(e);return r([...s,...t(i)])},r=e=>[...new Set(e)];e.exports={proxify:(e,r={})=>{if(!e||"object"!=typeof e&&"function"!=typeof e)throw Error("proxify only applies on non-null object");const s=(e=>Object.assign({},{name:"object",seal:!0,sealGet:!1,deprecated:[],warnDeprecationOnce:!0,exposeApi:!1,apiNamespace:"__proxy__"},e))(r),i=new Set(["inspect"]),o=new Set(s.deprecated),n=new Set,u=e=>{const t=`${s.name}.${e}`;s.warnDeprecationOnce&&n.has(t)||(n.add(t),console.warn(`Warning: ${t} is deprecated`))};return s.exposeApi&&(e[s.apiNamespace]={registerProp:e=>i.add(e),unregisterProp:e=>i.delete(e),hasProp:e=>i.has(e)}),[...Object.getOwnPropertyNames(e),...t(e)].forEach((e=>i.add(e))),new Proxy(e,{get:(e,t)=>{if(s.sealGet&&!i.has(t))throw new Error(`${s.name}.${t} is not defined`);return o.has(t)&&u(t),e[t]},set:(e,t,r)=>{if(s.seal&&!i.has(t))throw new Error(`Cannot set a value to the undefined '${t}' property in '${s.name}'`);return o.has(t)&&u(t),e[t]=r,!0}})}}},4843:e=>{"use strict";e.exports={hilightUserCode:function(e){return e.includes(" at ")?e.includes("sdk-javascript/src/")||-1===e.indexOf("at /")&&"/"!==e.charAt(e.indexOf("(")+1)||e.includes("node_modules")?" "+e:">"+e:e}}},4957:e=>{const t=e=>e?(e^16*Math.random()>>e/4).toString(16):([1e7]+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g,t);e.exports={uuidv4:t}},1873:e=>{"use strict";e.exports=JSON.parse('{"auth":{"login":{"verb":"POST","url":"/_login/:strategy"},"logout":{"url":"/_logout","verb":"POST"},"getCurrentUser":{"url":"/users/_me","verb":"GET"},"getMyRights":{"url":"/users/_me/_rights","verb":"GET"},"checkToken":{"url":"/_checkToken","verb":"POST"},"updateSelf":{"url":"/_updateSelf","verb":"PUT"},"getStrategies":{"url":"/strategies","verb":"GET"},"createMyCredentials":{"url":"/credentials/:strategy/_me/_create","verb":"POST"},"updateMyCredentials":{"url":"/credentials/:strategy/_me/_update","verb":"PUT"},"credentialsExist":{"url":"/credentials/:strategy/_me/_exists","verb":"GET"},"validateMyCredentials":{"url":"/credentials/:strategy/_me/_validate","verb":"POST"},"deleteMyCredentials":{"url":"/credentials/:strategy/_me","verb":"DELETE"},"getMyCredentials":{"url":"/credentials/:strategy/_me","verb":"GET"},"refreshToken":{"url":"/_refreshToken","verb":"POST"}},"bulk":{"deleteByQuery":{"url":"/:index/:collection/_bulk/_query","verb":"DELETE"},"import":{"verb":"POST","url":"/:index/:collection/_bulk"},"write":{"verb":"POST","url":"/:index/:collection/_write"},"mWrite":{"verb":"POST","url":"/:index/:collection/_mWrite"},"updateByQuery":{"url":"/:index/:collection/_bulk/_query","verb":"PATCH"}},"document":{"create":{"verb":"POST","url":"/:index/:collection/_create"},"scroll":{"url":"/_scroll/:scrollId","verb":"GET"},"exists":{"url":"/:index/:collection/:_id/_exists","verb":"GET"},"get":{"url":"/:index/:collection/:_id","verb":"GET"},"mGet":{"url":"/:index/:collection/_mGet","verb":"POST"},"count":{"url":"/:index/:collection/_count","verb":"POST"},"mCreate":{"url":"/:index/:collection/_mCreate","verb":"POST"},"createOrReplace":{"url":"/:index/:collection/:_id","verb":"PUT"},"mCreateOrReplace":{"url":"/:index/:collection/_mCreateOrReplace","verb":"PUT"},"update":{"url":"/:index/:collection/:_id/_update","verb":"PUT"},"updateByQuery":{"url":"/:index/:collection/_query","verb":"PUT"},"mUpdate":{"url":"/:index/:collection/_mUpdate","verb":"PUT"},"mUpsert":{"url":"/:index/:collection/_mUpsert","verb":"POST"},"replace":{"url":"/:index/:collection/:_id/_replace","verb":"PUT"},"mReplace":{"url":"/:index/:collection/_mReplace","verb":"PUT"},"delete":{"url":"/:index/:collection/:_id","verb":"DELETE"},"mDelete":{"url":"/:index/:collection/_mDelete","verb":"DELETE"},"deleteByQuery":{"url":"/:index/:collection/_query","verb":"DELETE"},"validate":{"url":"/:index/:collection/_validate","verb":"POST"},"search":{"url":"/:index/:collection/_search","verb":"GET"}},"security":{"createFirstAdmin":{"verb":"POST","url":"/_createFirstAdmin"},"createRestrictedUser":{"verb":"POST","url":"/users/_createRestricted"},"createUser":{"verb":"POST","url":"/users/_create"},"getRoleMapping":{"url":"/roles/_mapping","verb":"GET"},"updateRoleMapping":{"url":"/roles/_mapping","verb":"PUT"},"getProfileMapping":{"url":"/profiles/_mapping","verb":"GET"},"updateProfileMapping":{"url":"/profiles/_mapping","verb":"PUT"},"getUserMapping":{"url":"/users/_mapping","verb":"GET"},"updateUserMapping":{"url":"/users/_mapping","verb":"PUT"},"getRole":{"url":"/roles/:_id","verb":"GET"},"mGetRoles":{"url":"/roles/_mGet","verb":"POST"},"searchRoles":{"url":"/roles/_search","verb":"POST"},"createOrReplaceRole":{"url":"/roles/:_id","verb":"PUT"},"createRole":{"url":"/roles/:_id/_create","verb":"POST"},"deleteRole":{"url":"/roles/:_id","verb":"DELETE"},"getProfile":{"url":"/profiles/:_id","verb":"GET"},"mGetProfiles":{"url":"/profiles/_mGet","verb":"POST"},"createOrReplaceProfile":{"url":"/profiles/:_id","verb":"PUT"},"createProfile":{"url":"/profiles/:_id/_create","verb":"POST"},"deleteProfile":{"url":"/profiles/:_id","verb":"DELETE"},"searchProfiles":{"url":"/profiles/_search","verb":"POST"},"getUser":{"url":"/users/:_id","verb":"GET"},"getProfileRights":{"url":"/profiles/:_id/_rights","verb":"GET"},"getUserRights":{"url":"/users/:_id/_rights","verb":"GET"},"getUserStrategies":{"url":"/users/:_id/_strategies","verb":"GET"},"searchUsers":{"url":"/users/_search","verb":"POST"},"deleteUser":{"url":"/users/:_id","verb":"DELETE"},"updateUser":{"url":"/users/:_id/_update","verb":"PUT"},"replaceUser":{"url":"/users/:_id/_replace","verb":"PUT"},"updateProfile":{"url":"/profiles/:_id/_update","verb":"PUT"},"updateRole":{"url":"/roles/:_id/_update","verb":"PUT"},"mDeleteProfiles":{"url":"/profiles/_mDelete","verb":"POST"},"mDeleteRoles":{"url":"/roles/_mDelete","verb":"POST"},"mDeleteUsers":{"url":"/users/_mDelete","verb":"POST"},"scrollUsers":{"url":"/users/_scroll/:scrollId","verb":"GET"},"scrollProfiles":{"url":"/profiles/_scroll/:scrollId","verb":"GET"},"createCredentials":{"url":"/credentials/:strategy/:_id/_create","verb":"POST"},"updateCredentials":{"url":"/credentials/:strategy/:_id/_update","verb":"PUT"},"hasCredentials":{"url":"/credentials/:strategy/:_id/_exists","verb":"GET"},"validateCredentials":{"url":"/credentials/:strategy/:_id/_validate","verb":"POST"},"deleteCredentials":{"url":"/credentials/:strategy/:_id","verb":"DELETE"},"getCredentials":{"url":"/credentials/:strategy/:_id","verb":"GET"},"getCredentialsById":{"url":"/credentials/:strategy/:_id/_byId","verb":"GET"},"getCredentialFields":{"url":"/credentials/:strategy/_fields","verb":"GET"},"getAllCredentialFields":{"url":"/credentials/_fields","verb":"GET"}},"collection":{"update":{"url":"/:index/:collection/","verb":"POST"},"updateMapping":{"url":"/:index/:collection/_mapping","verb":"PUT"},"getMapping":{"url":"/:index/:collection/_mapping","verb":"GET"},"getSpecifications":{"url":"/:index/:collection/_specifications","verb":"GET"},"searchSpecifications":{"url":"/validations/_search","verb":"POST"},"scrollSpecifications":{"url":"/validations/_scroll/:scrollId","verb":"GET"},"updateSpecifications":{"url":"/:index/:collection/_specifications","verb":"PUT"},"deleteSpecifications":{"url":"/:index/:collection/_specifications","verb":"DELETE"},"validateSpecifications":{"url":"/:index/:collection/_validateSpecifications","verb":"POST"},"truncate":{"url":"/:index/:collection/_truncate","verb":"DELETE"},"list":{"url":"/:index/_list","verb":"GET"},"exists":{"url":"/:index/:collection/_exists","verb":"GET"},"create":{"url":"/:index/:collection","verb":"PUT"}},"index":{"mDelete":{"url":"/_mdelete","verb":"DELETE"},"create":{"url":"/:index/_create","verb":"POST"},"delete":{"url":"/:index","verb":"DELETE"},"refresh":{"url":"/:index/_refresh","verb":"POST"},"list":{"url":"/_list","verb":"GET"},"refreshInternal":{"url":"/_refreshInternal","verb":"POST"},"getAutoRefresh":{"url":"/:index/_autoRefresh","verb":"GET"},"setAutoRefresh":{"url":"/:index/_autoRefresh","verb":"POST"},"exists":{"url":"/:index/_exists","verb":"GET"}},"ms":{"append":{"url":"/ms/_append/:_id","verb":"POST"},"bitcount":{"url":"/ms/_bitcount/:_id","verb":"GET"},"bitop":{"url":"/ms/_bitop/:_id","verb":"POST"},"bitpos":{"url":"/ms/_bitpos/:_id","verb":"GET"},"dbsize":{"url":"/ms/_dbsize","verb":"GET"},"decrby":{"url":"/ms/_decrby/:_id","verb":"POST"},"del":{"url":"/ms","verb":"DELETE"},"expire":{"url":"/ms/_expire/:_id","verb":"POST"},"expireat":{"url":"/ms/_expireat/:_id","verb":"POST"},"flushdb":{"url":"/ms/_flushdb","verb":"POST"},"geoadd":{"url":"/ms/_geoadd/:_id","verb":"POST"},"geodist":{"url":"/ms/_geodist/:_id/:member1/:member2","verb":"GET"},"geohash":{"url":"/ms/_geohash/:_id","verb":"GET"},"georadius":{"url":"/ms/_georadius/:_id","verb":"GET"},"georadiusbymember":{"url":"/ms/_georadiusbymember/:_id","verb":"GET"},"getbit":{"url":"/ms/_getbit/:_id","verb":"GET"},"getrange":{"url":"/ms/_getrange/:_id","verb":"GET"},"hdel":{"url":"/ms/_hdel/:_id","verb":"DELETE"},"hmget":{"url":"/ms/_hmget/:_id","verb":"GET"},"hexists":{"url":"/ms/_hexists/:_id/:field","verb":"GET"},"hincrby":{"url":"/ms/_hincrby/:_id","verb":"POST"},"hmset":{"url":"/ms/_hmset/:_id","verb":"POST"},"hset":{"url":"/ms/_hset/:_id","verb":"POST"},"hstrlen":{"url":"/ms/_hstrlen/:_id/:field","verb":"GET"},"keys":{"url":"/ms/_keys/:pattern","verb":"GET"},"lindex":{"url":"/ms/_lindex/:_id/:idx","verb":"GET"},"linsert":{"url":"/ms/_linsert/:_id","verb":"POST"},"lpush":{"url":"/ms/_lpush/:_id","verb":"POST"},"lrange":{"url":"/ms/_lrange/:_id","verb":"GET"},"lrem":{"url":"/ms/_lrem/:_id","verb":"DELETE"},"lset":{"url":"/ms/_lset/:_id","verb":"POST"},"ltrim":{"url":"/ms/_ltrim/:_id","verb":"POST"},"mexecute":{"url":"/ms/_mexecute","verb":"POST"},"mget":{"url":"/ms/_mget","verb":"GET"},"mset":{"url":"/ms/_mset","verb":"POST"},"object":{"url":"/ms/_object/:_id","verb":"GET"},"pexpire":{"url":"/ms/_pexpire/:_id","verb":"POST"},"pexpireat":{"url":"/ms/_pexpireat/:_id","verb":"POST"},"pfadd":{"url":"/ms/_pfadd/:_id","verb":"POST"},"pfmerge":{"url":"/ms/_pfmerge/:_id","verb":"POST"},"ping":{"url":"/ms/_ping","verb":"GET"},"psetex":{"url":"/ms/_psetex/:_id","verb":"POST"},"randomkey":{"url":"/ms/_randomkey","verb":"GET"},"rename":{"url":"/ms/_rename/:_id","verb":"POST"},"renamenx":{"url":"/ms/_renamenx/:_id","verb":"POST"},"rpoplpush":{"url":"/ms/_rpoplpush","verb":"POST"},"sadd":{"url":"/ms/_sadd/:_id","verb":"POST"},"scan":{"url":"/ms/_scan","verb":"GET"},"sdiff":{"url":"/ms/_sdiff/:_id","verb":"GET"},"sdiffstore":{"url":"/ms/_sdiffstore/:_id","verb":"POST"},"set":{"url":"/ms/_set/:_id","verb":"POST"},"setex":{"url":"/ms/_setex/:_id","verb":"POST"},"setnx":{"url":"/ms/_setnx/:_id","verb":"POST"},"sinterstore":{"url":"/ms/_sinterstore","verb":"POST"},"sismember":{"url":"/ms/_sismember/:_id/:member","verb":"GET"},"smove":{"url":"/ms/_smove/:_id","verb":"POST"},"sort":{"url":"/ms/_sort/:_id","verb":"POST"},"spop":{"url":"/ms/_spop/:_id","verb":"POST"},"srandmember":{"url":"/ms/_srandmember/:_id","verb":"GET"},"srem":{"url":"/ms/_srem/:_id","verb":"DELETE"},"sscan":{"url":"/ms/_sscan/:_id","verb":"GET"},"sunion":{"url":"/ms/_sunion","verb":"GET"},"sunionstore":{"url":"/ms/_sunionstore","verb":"POST"},"time":{"url":"/ms/_time","verb":"GET"},"touch":{"url":"/ms/_touch","verb":"POST"},"zadd":{"url":"/ms/_zadd/:_id","verb":"POST"},"zcount":{"url":"/ms/_zcount/:_id","verb":"GET"},"zincrby":{"url":"/ms/_zincrby/:_id","verb":"POST"},"zinterstore":{"url":"/ms/_zinterstore/:_id","verb":"POST"},"zlexcount":{"url":"/ms/_zlexcount/:_id","verb":"GET"},"zrange":{"url":"/ms/_zrange/:_id","verb":"GET"},"zrangebylex":{"url":"/ms/_zrangebylex/:_id","verb":"GET"},"zrangebyscore":{"url":"/ms/_zrangebyscore/:_id","verb":"GET"},"zrem":{"url":"/ms/_zrem/:_id","verb":"DELETE"},"zremrangebylex":{"url":"/ms/_zremrangebylex/:_id","verb":"DELETE"},"zremrangebyrank":{"url":"/ms/_zremrangebyrank/:_id","verb":"DELETE"},"zremrangebyscore":{"url":"/ms/_zremrangebyscore/:_id","verb":"DELETE"},"zrevrangebylex":{"url":"/ms/_zrevrangebylex/:_id","verb":"GET"},"zrevrangebyscore":{"url":"/ms/_zrevrangebyscore/:_id","verb":"GET"},"zrevrank":{"url":"/ms/_zrevrank/:_id/:member","verb":"GET"},"zunionstore":{"url":"/ms/_zunionstore/:_id","verb":"POST"},"zcard":{"url":"/ms/_zcard/:_id","verb":"GET"},"type":{"url":"/ms/_type/:_id","verb":"GET"},"ttl":{"url":"/ms/_ttl/:_id","verb":"GET"},"strlen":{"url":"/ms/_strlen/:_id","verb":"GET"},"smembers":{"url":"/ms/_smembers/:_id","verb":"GET"},"scard":{"url":"/ms/_scard/:_id","verb":"GET"},"rpop":{"url":"/ms/_rpop/:_id","verb":"POST"},"pttl":{"url":"/ms/_pttl/:_id","verb":"GET"},"persist":{"url":"/ms/_persist/:_id","verb":"POST"},"lpop":{"url":"/ms/_lpop/:_id","verb":"POST"},"llen":{"url":"/ms/_llen/:_id","verb":"GET"},"incr":{"url":"/ms/_incr/:_id","verb":"POST"},"hvals":{"url":"/ms/_hvals/:_id","verb":"GET"},"hlen":{"url":"/ms/_hlen/:_id","verb":"GET"},"hkeys":{"url":"/ms/_hkeys/:_id","verb":"GET"},"hgetall":{"url":"/ms/_hgetall/:_id","verb":"GET"},"get":{"url":"/ms/:_id","verb":"GET"},"decr":{"url":"/ms/_decr/:_id","verb":"POST"},"rpushx":{"url":"/ms/_rpushx/:_id","verb":"POST"},"lpushx":{"url":"/ms/_lpushx/:_id","verb":"POST"},"getset":{"url":"/ms/_getset/:_id","verb":"POST"},"sinter":{"url":"/ms/_sinter","verb":"GET"},"pfcount":{"url":"/ms/_pfcount","verb":"GET"},"incrbyfloat":{"url":"/ms/_incrbyfloat/:_id","verb":"POST"},"incrby":{"url":"/ms/_incrby/:_id","verb":"POST"},"geopos":{"url":"/ms/_geopos/:_id","verb":"GET"},"hget":{"url":"/ms/_hget/:_id/:field","verb":"GET"},"hsetnx":{"url":"/ms/_hsetnx/:_id","verb":"POST"},"msetnx":{"url":"/ms/_msetnx","verb":"POST"},"rpush":{"url":"/ms/_rpush/:_id","verb":"POST"},"hincrbyfloat":{"url":"/ms/_hincrbyfloat/:_id","verb":"POST"},"zrevrange":{"url":"/ms/_zrevrange/:_id","verb":"GET"},"zrank":{"url":"/ms/_zrank/:_id/:member","verb":"GET"},"zscore":{"url":"/ms/_zscore/:_id/:member","verb":"GET"},"zscan":{"url":"/ms/_zscan/:_id","verb":"GET"},"hscan":{"url":"/ms/_hscan/:_id","verb":"GET"},"exists":{"url":"/ms/_exists","verb":"GET"}},"memoryStorage":{"append":{"url":"/ms/_append/:_id","verb":"POST"},"bitcount":{"url":"/ms/_bitcount/:_id","verb":"GET"},"bitop":{"url":"/ms/_bitop/:_id","verb":"POST"},"bitpos":{"url":"/ms/_bitpos/:_id","verb":"GET"},"dbsize":{"url":"/ms/_dbsize","verb":"GET"},"decrby":{"url":"/ms/_decrby/:_id","verb":"POST"},"del":{"url":"/ms","verb":"DELETE"},"expire":{"url":"/ms/_expire/:_id","verb":"POST"},"expireat":{"url":"/ms/_expireat/:_id","verb":"POST"},"flushdb":{"url":"/ms/_flushdb","verb":"POST"},"geoadd":{"url":"/ms/_geoadd/:_id","verb":"POST"},"geodist":{"url":"/ms/_geodist/:_id/:member1/:member2","verb":"GET"},"geohash":{"url":"/ms/_geohash/:_id","verb":"GET"},"georadius":{"url":"/ms/_georadius/:_id","verb":"GET"},"georadiusbymember":{"url":"/ms/_georadiusbymember/:_id","verb":"GET"},"getbit":{"url":"/ms/_getbit/:_id","verb":"GET"},"getrange":{"url":"/ms/_getrange/:_id","verb":"GET"},"hdel":{"url":"/ms/_hdel/:_id","verb":"DELETE"},"hmget":{"url":"/ms/_hmget/:_id","verb":"GET"},"hexists":{"url":"/ms/_hexists/:_id/:field","verb":"GET"},"hincrby":{"url":"/ms/_hincrby/:_id","verb":"POST"},"hmset":{"url":"/ms/_hmset/:_id","verb":"POST"},"hset":{"url":"/ms/_hset/:_id","verb":"POST"},"hstrlen":{"url":"/ms/_hstrlen/:_id/:field","verb":"GET"},"keys":{"url":"/ms/_keys/:pattern","verb":"GET"},"lindex":{"url":"/ms/_lindex/:_id/:idx","verb":"GET"},"linsert":{"url":"/ms/_linsert/:_id","verb":"POST"},"lpush":{"url":"/ms/_lpush/:_id","verb":"POST"},"lrange":{"url":"/ms/_lrange/:_id","verb":"GET"},"lrem":{"url":"/ms/_lrem/:_id","verb":"DELETE"},"lset":{"url":"/ms/_lset/:_id","verb":"POST"},"ltrim":{"url":"/ms/_ltrim/:_id","verb":"POST"},"mget":{"url":"/ms/_mget","verb":"GET"},"mset":{"url":"/ms/_mset","verb":"POST"},"object":{"url":"/ms/_object/:_id","verb":"GET"},"pexpire":{"url":"/ms/_pexpire/:_id","verb":"POST"},"pexpireat":{"url":"/ms/_pexpireat/:_id","verb":"POST"},"pfadd":{"url":"/ms/_pfadd/:_id","verb":"POST"},"pfmerge":{"url":"/ms/_pfmerge/:_id","verb":"POST"},"ping":{"url":"/ms/_ping","verb":"GET"},"psetex":{"url":"/ms/_psetex/:_id","verb":"POST"},"randomkey":{"url":"/ms/_randomkey","verb":"GET"},"rename":{"url":"/ms/_rename/:_id","verb":"POST"},"renamenx":{"url":"/ms/_renamenx/:_id","verb":"POST"},"rpoplpush":{"url":"/ms/_rpoplpush","verb":"POST"},"sadd":{"url":"/ms/_sadd/:_id","verb":"POST"},"scan":{"url":"/ms/_scan","verb":"GET"},"sdiff":{"url":"/ms/_sdiff/:_id","verb":"GET"},"sdiffstore":{"url":"/ms/_sdiffstore/:_id","verb":"POST"},"set":{"url":"/ms/_set/:_id","verb":"POST"},"setex":{"url":"/ms/_setex/:_id","verb":"POST"},"setnx":{"url":"/ms/_setnx/:_id","verb":"POST"},"sinterstore":{"url":"/ms/_sinterstore","verb":"POST"},"sismember":{"url":"/ms/_sismember/:_id/:member","verb":"GET"},"smove":{"url":"/ms/_smove/:_id","verb":"POST"},"sort":{"url":"/ms/_sort/:_id","verb":"POST"},"spop":{"url":"/ms/_spop/:_id","verb":"POST"},"srandmember":{"url":"/ms/_srandmember/:_id","verb":"GET"},"srem":{"url":"/ms/_srem/:_id","verb":"DELETE"},"sscan":{"url":"/ms/_sscan/:_id","verb":"GET"},"sunion":{"url":"/ms/_sunion","verb":"GET"},"sunionstore":{"url":"/ms/_sunionstore","verb":"POST"},"time":{"url":"/ms/_time","verb":"GET"},"touch":{"url":"/ms/_touch","verb":"POST"},"zadd":{"url":"/ms/_zadd/:_id","verb":"POST"},"zcount":{"url":"/ms/_zcount/:_id","verb":"GET"},"zincrby":{"url":"/ms/_zincrby/:_id","verb":"POST"},"zinterstore":{"url":"/ms/_zinterstore/:_id","verb":"POST"},"zlexcount":{"url":"/ms/_zlexcount/:_id","verb":"GET"},"zrange":{"url":"/ms/_zrange/:_id","verb":"GET"},"zrangebylex":{"url":"/ms/_zrangebylex/:_id","verb":"GET"},"zrangebyscore":{"url":"/ms/_zrangebyscore/:_id","verb":"GET"},"zrem":{"url":"/ms/_zrem/:_id","verb":"DELETE"},"zremrangebylex":{"url":"/ms/_zremrangebylex/:_id","verb":"DELETE"},"zremrangebyrank":{"url":"/ms/_zremrangebyrank/:_id","verb":"DELETE"},"zremrangebyscore":{"url":"/ms/_zremrangebyscore/:_id","verb":"DELETE"},"zrevrangebylex":{"url":"/ms/_zrevrangebylex/:_id","verb":"GET"},"zrevrangebyscore":{"url":"/ms/_zrevrangebyscore/:_id","verb":"GET"},"zrevrank":{"url":"/ms/_zrevrank/:_id/:member","verb":"GET"},"zunionstore":{"url":"/ms/_zunionstore/:_id","verb":"POST"},"zcard":{"url":"/ms/_zcard/:_id","verb":"GET"},"type":{"url":"/ms/_type/:_id","verb":"GET"},"ttl":{"url":"/ms/_ttl/:_id","verb":"GET"},"strlen":{"url":"/ms/_strlen/:_id","verb":"GET"},"smembers":{"url":"/ms/_smembers/:_id","verb":"GET"},"scard":{"url":"/ms/_scard/:_id","verb":"GET"},"rpop":{"url":"/ms/_rpop/:_id","verb":"POST"},"pttl":{"url":"/ms/_pttl/:_id","verb":"GET"},"persist":{"url":"/ms/_persist/:_id","verb":"POST"},"lpop":{"url":"/ms/_lpop/:_id","verb":"POST"},"llen":{"url":"/ms/_llen/:_id","verb":"GET"},"incr":{"url":"/ms/_incr/:_id","verb":"POST"},"hvals":{"url":"/ms/_hvals/:_id","verb":"GET"},"hlen":{"url":"/ms/_hlen/:_id","verb":"GET"},"hkeys":{"url":"/ms/_hkeys/:_id","verb":"GET"},"hgetall":{"url":"/ms/_hgetall/:_id","verb":"GET"},"get":{"url":"/ms/:_id","verb":"GET"},"decr":{"url":"/ms/_decr/:_id","verb":"POST"},"rpushx":{"url":"/ms/_rpushx/:_id","verb":"POST"},"lpushx":{"url":"/ms/_lpushx/:_id","verb":"POST"},"getset":{"url":"/ms/_getset/:_id","verb":"POST"},"sinter":{"url":"/ms/_sinter","verb":"GET"},"pfcount":{"url":"/ms/_pfcount","verb":"GET"},"incrbyfloat":{"url":"/ms/_incrbyfloat/:_id","verb":"POST"},"incrby":{"url":"/ms/_incrby/:_id","verb":"POST"},"geopos":{"url":"/ms/_geopos/:_id","verb":"GET"},"hget":{"url":"/ms/_hget/:_id/:field","verb":"GET"},"hsetnx":{"url":"/ms/_hsetnx/:_id","verb":"POST"},"msetnx":{"url":"/ms/_msetnx","verb":"POST"},"rpush":{"url":"/ms/_rpush/:_id","verb":"POST"},"hincrbyfloat":{"url":"/ms/_hincrbyfloat/:_id","verb":"POST"},"zrevrange":{"url":"/ms/_zrevrange/:_id","verb":"GET"},"zrank":{"url":"/ms/_zrank/:_id/:member","verb":"GET"},"zscore":{"url":"/ms/_zscore/:_id/:member","verb":"GET"},"zscan":{"url":"/ms/_zscan/:_id","verb":"GET"},"hscan":{"url":"/ms/_hscan/:_id","verb":"GET"},"exists":{"url":"/ms/_exists","verb":"GET"}},"realtime":{"list":{"url":"/_listSubscriptions","verb":"GET"},"publish":{"url":"/:index/:collection/_publish","verb":"POST"}},"server":{"getStats":{"url":"/_getStats","verb":"GET"},"getLastStats":{"url":"/_getLastStats","verb":"GET"},"getAllStats":{"url":"/_getAllStats","verb":"GET"},"getConfig":{"url":"/_getConfig","verb":"GET"},"adminExists":{"url":"/_adminExists","verb":"GET"},"now":{"url":"/_now","verb":"GET"},"healthCheck":{"url":"/_healthCheck","verb":"GET"},"info":{"url":"/","verb":"GET"}},"admin":{"resetKuzzleData":{"url":"/admin/_resetKuzzleData/","verb":"POST"},"resetCache":{"url":"/admin/_resetCache","verb":"POST"},"resetSecurity":{"url":"/admin/_resetSecurity/","verb":"POST"},"resetDatabase":{"url":"/admin/_resetDatabase/","verb":"POST"},"dump":{"url":"/admin/_dump","verb":"POST"},"shutdown":{"url":"/admin/_shutdown/","verb":"POST"},"loadFixtures":{"url":"/admin/_loadFixtures/","verb":"POST"},"loadMappings":{"url":"/admin/_loadMappings/","verb":"POST"},"loadSecurities":{"url":"/admin/_loadSecurities/","verb":"POST"}}}')}},t={},function r(s){var i=t[s];if(void 0!==i)return i.exports;var o=t[s]={exports:{}};return e[s].call(o.exports,o,o.exports,r),o.exports}(1045);var e,t}));
|
|
2
|
+
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.KuzzleSDK=t():e.KuzzleSDK=t()}(self,(function(){return e={1045:function(e,t,r){"use strict";var s=this&&this.__createBinding||(Object.create?function(e,t,r,s){void 0===s&&(s=r),Object.defineProperty(e,s,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,s){void 0===s&&(s=r),e[s]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||s(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(6371),t),i(r(1076),t),i(r(147),t),i(r(4898),t),i(r(2140),t),i(r(3026),t),i(r(7885),t),i(r(896),t),i(r(1183),t),i(r(4545),t),i(r(6159),t),i(r(8496),t),i(r(3044),t),i(r(9235),t),i(r(5914),t),i(r(8285),t),i(r(7146),t),i(r(8779),t),i(r(8429),t)},6371:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Kuzzle=void 0;const s=r(4898),i=r(9235),o=r(4134),n=r(8285),l=r(7146),u=r(8779),c=r(8429),a=r(1994),d=r(7127),h=r(3318),_=r(8733),p=r(4957),m=r(8964),b=r(4219),v=r(8349);class g extends s.KuzzleEventEmitter{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(super(),this.authenticator=null,this.events=["connected","discarded","disconnected","loginAttempt","logoutAttempt","networkError","offlineQueuePush","offlineQueuePop","queryError","reAuthenticated","reconnected","reconnectionError","tokenExpired"],null==e)throw new Error('"protocol" argument missing');for(let t=0,r=["addListener","isReady","query"];t<r.length;t++){const s=r[t];if("function"!=typeof e[s])throw new Error(`Protocol instance must implement a "${s}" method`)}if(this.protocol=e,this._protectedEvents={connected:{},error:{},disconnected:{},reconnected:{},tokenExpired:{},loginAttempt:{}},this.autoResubscribe="boolean"!=typeof t.autoResubscribe||t.autoResubscribe,this.eventTimeout="number"==typeof t.eventTimeout?t.eventTimeout:200,this.sdkVersion="7.8.3",this.sdkName=`js@${this.sdkVersion}`,this.volatile="object"==typeof t.volatile?t.volatile:{},this._cookieAuthentication="boolean"==typeof t.cookieAuth&&t.cookieAuth,this._cookieAuthentication){let e,t,r;this.protocol.enableCookieSupport(),this.protocol.addListener("websocketRenewalStart",(()=>{e=this.autoQueue,t=this.autoReplay,r=this.autoResubscribe,this.autoQueue=!0,this.autoReplay=!0,this.autoResubscribe=!0})),this.protocol.addListener("websocketRenewalDone",(()=>{this.autoQueue=e,this.autoReplay=t,this.autoResubscribe=r}))}if(this.deprecationHandler=new _.Deprecation("boolean"!=typeof t.deprecationWarning||t.deprecationWarning),this._cookieAuthentication&&"undefined"==typeof XMLHttpRequest)throw new Error("Support for cookie authentication with cookieAuth option is not supported outside a browser");return this.useController(i.AuthController,"auth"),this.useController(o.BulkController,"bulk"),this.useController(n.CollectionController,"collection"),this.useController(l.DocumentController,"document"),this.useController(u.IndexController,"index"),this.useController(h.MemoryStorageController,"ms"),this.useController(c.RealtimeController,"realtime"),this.useController(d.SecurityController,"security"),this.useController(a.ServerController,"server"),this._offlineQueue=[],this._autoQueue="boolean"==typeof t.autoQueue&&t.autoQueue,this._autoReplay="boolean"==typeof t.autoReplay&&t.autoReplay,this._offlineQueueLoader="function"==typeof t.offlineQueueLoader?t.offlineQueueLoader:null,this._queueFilter="function"==typeof t.queueFilter?t.queueFilter:null,this._queueMaxSize="number"==typeof t.queueMaxSize?t.queueMaxSize:500,this._queueTTL="number"==typeof t.queueTTL?t.queueTTL:12e4,this._replayInterval="number"==typeof t.replayInterval?t.replayInterval:10,this._requestTimeout="number"==typeof t.requestTimeout?t.requestTimeout:-1,this._tokenExpiredInterval="number"==typeof t.tokenExpiredInterval?t.tokenExpiredInterval:1e3,"auto"===t.offlineMode&&(this._autoQueue=!0,this._autoReplay=!0),this._queuing=!1,this._lastTokenExpired=null,this._reconnectInProgress=!1,this._loggedIn=!1,this.on("loginAttempt",(async e=>{if(e.success)this._loggedIn=!0;else try{this._loggedIn=await this.isAuthenticated()}catch{this._loggedIn=!1}})),this.on("logoutAttempt",(e=>{e.success&&(this._loggedIn=!1)})),this.on("connected",(async()=>{try{this._loggedIn=await this.isAuthenticated()}catch{this._loggedIn=!1}})),(0,m.proxify)(this,{seal:!0,name:"kuzzle",exposeApi:!0})}get authenticated(){return Boolean(this.auth.authenticationToken&&!this.auth.authenticationToken.expired)}get autoQueue(){return this._autoQueue}set autoQueue(e){this._checkPropertyType("_autoQueue","boolean",e),this._autoQueue=e}get autoReconnect(){return this.protocol.autoReconnect}set autoReconnect(e){this._checkPropertyType("autoReconnect","boolean",e),this.protocol.autoReconnect=e}get autoReplay(){return this._autoReplay}set autoReplay(e){this._checkPropertyType("_autoReplay","boolean",e),this._autoReplay=e}get cookieAuthentication(){return this._cookieAuthentication}get connected(){return this.protocol.connected}get host(){return this.protocol.host}get jwt(){return this.auth.authenticationToken?this.auth.authenticationToken.encodedJwt:null}set jwt(e){this.auth.authenticationToken=e,this._loggedIn=!!e}get offlineQueue(){return this._offlineQueue}get offlineQueueLoader(){return this._offlineQueueLoader}set offlineQueueLoader(e){this._checkPropertyType("_offlineQueueLoader","function",e),this._offlineQueueLoader=e}get port(){return this.protocol.port}get queueFilter(){return this._queueFilter}set queueFilter(e){this._checkPropertyType("_queueFilter","function",e),this._queueFilter=e}get queueMaxSize(){return this._queueMaxSize}set queueMaxSize(e){this._checkPropertyType("_queueMaxSize","number",e),this._queueMaxSize=e}get queueTTL(){return this._queueTTL}set queueTTL(e){this._checkPropertyType("_queueTTL","number",e),this._queueTTL=e}get reconnectionDelay(){return this.protocol.reconnectionDelay}get replayInterval(){return this._replayInterval}set replayInterval(e){this._checkPropertyType("_replayInterval","number",e),this._replayInterval=e}get requestTimeout(){return this._requestTimeout}set requestTimeout(e){this._checkPropertyType("_requestTimeout","number",e),this._requestTimeout=e}get sslConnection(){return this.protocol.sslConnection}get tokenExpiredInterval(){return this._tokenExpiredInterval}set tokenExpiredInterval(e){this._checkPropertyType("_tokenExpiredInterval","number",e),this._tokenExpiredInterval=e}emit(e){const t=Date.now(),r=this._protectedEvents[e];if(r){if(r.lastEmitted&&r.lastEmitted>t-this.eventTimeout)return!1;r.lastEmitted=t}for(var s=arguments.length,i=new Array(s>1?s-1:0),o=1;o<s;o++)i[o-1]=arguments[o];return this._superEmit(e,...i)}_superEmit(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),s=1;s<t;s++)r[s-1]=arguments[s];return super.emit(e,...r)}connect(){return this.protocol.isReady()?Promise.resolve():(this.autoQueue&&this.startQueuing(),this.protocol.addListener("queryError",(e=>{let{error:t,request:r}=e;this.emit("queryError",{error:t,request:r})})),this.protocol.addListener("tokenExpired",(()=>this.tokenExpired())),this.protocol.addListener("connect",(()=>{this.autoQueue&&this.stopQueuing(),this.autoReplay&&this.playQueue(),this.emit("connected")})),this.protocol.addListener("networkError",(e=>{this.autoQueue&&this.startQueuing(),this.emit("networkError",e)})),this.protocol.addListener("disconnect",(e=>{this.emit("disconnected",e)})),this.protocol.addListener("reconnect",this._reconnect.bind(this)),this.protocol.addListener("discarded",(e=>this.emit("discarded",e))),this.protocol.addListener("websocketRenewalStart",(()=>{this._reconnectInProgress=!0})),this.protocol.addListener("websocketRenewalDone",(()=>{this._reconnectInProgress=!1})),this.protocol.connect())}async _reconnect(){if(!this._reconnectInProgress){if(this.autoQueue&&this.stopQueuing(),this._loggedIn&&!await this.tryReAuthenticate())return this._loggedIn=!1,void this.disconnect();this.autoReplay&&this.playQueue(),this.emit("reconnected")}}async tryReAuthenticate(){this._reconnectInProgress=!0;try{return!!await this.isAuthenticated()||(this.authenticator?(await this.authenticate(),!0):(this.emit("reconnectionError",{error:new Error('Could not re-authenticate: "authenticator" property is not set.')}),!1))}catch(e){return this.emit("reconnectionError",{error:new Error(`Failed to authenticate the SDK after reconnection: ${e}`)}),!1}finally{this._reconnectInProgress=!1}}async authenticate(){if("function"!=typeof this.authenticator)throw new Error('The "authenticator" property must be a function.');await this.authenticator();const e=await this.isAuthenticated();if(this._loggedIn=e,!e)throw new Error('The "authenticator" function failed to authenticate the SDK.')}async isAuthenticated(){const{valid:e,kuid:t}=await this.auth.checkToken();return e&&"-1"!==t}addListener(e,t){if(-1===this.events.indexOf(e))throw new Error(`[${e}] is not a known event. Known events: ${this.events.join(", ")}`);return this._superAddListener(e,t)}_superAddListener(e,t){return super.addListener(e,t)}flushQueue(){return this._offlineQueue=[],this}disconnect(){this._loggedIn=!1,this.protocol.close()}query(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if("object"!=typeof e||Array.isArray(e))throw new Error(`Kuzzle.query: Invalid request: ${JSON.stringify(e)}`);if("object"!=typeof t||Array.isArray(t))throw new Error(`Kuzzle.query: Invalid "options" argument: ${JSON.stringify(t)}`);const r=JSON.parse(JSON.stringify(e)),s=JSON.parse(JSON.stringify(t));r.requestId||(r.requestId=(0,p.uuidv4)());let i=!0;s&&!1===s.queuable&&(i=!1),this.queueFilter&&(i=i&&this.queueFilter(r));const o="number"==typeof s.timeout?s.timeout:this._requestTimeout;for(let e=0,t=Object.entries(s);e<t.length;e++){const[s,i]=t[e];["queuable","timeout"].includes(s)||(r[s]=i)}if(void 0===r.refresh&&void 0!==s.refresh&&(r.refresh=s.refresh),void 0===r.retryOnConflict&&void 0!==s.retryOnConflict&&(r.retryOnConflict=s.retryOnConflict),r.volatile){if("object"!=typeof r.volatile||Array.isArray(r.volatile))throw new Error(`Kuzzle.query: Invalid volatile argument received: ${JSON.stringify(r.volatile)}`)}else r.volatile=this.volatile;for(let e=0,t=Object.keys(this.volatile);e<t.length;e++){const s=t[e];void 0===r.volatile[s]&&(r.volatile[s]=this.volatile[s])}return r.volatile.sdkInstanceId=r.volatile.sdkInstanceId||this.protocol.id,r.volatile.sdkName=r.volatile.sdkName||this.sdkName,this.auth.authenticateRequest(r),this._queuing?i?(this._cleanQueue(),this.emit("offlineQueuePush",{request:r}),new Promise(((e,t)=>{this.offlineQueue.push({resolve:e,reject:t,request:r,ts:Date.now(),timeout:o})}))):(this.emit("discarded",{request:r}),Promise.reject(new Error(`Unable to execute request: not connected to a Kuzzle server.\nDiscarded request: ${JSON.stringify(r)}`))):this._timeoutRequest(o,r,s).then((e=>((0,b.debug)("RESPONSE",e),this.deprecationHandler.logDeprecation(e))))}startQueuing(){return this._queuing=!0,this}stopQueuing(){return this._queuing=!1,this}playQueue(){return this.protocol.isReady()&&(this._cleanQueue(),this._dequeue()),this}async tokenExpired(){if(this._reconnectInProgress)return;if(this._loggedIn&&await this.tryReAuthenticate())return void this.emit("reAuthenticated");const e=Date.now();e-this._lastTokenExpired<this.tokenExpiredInterval||(this._lastTokenExpired=e,this.jwt=null,this.emit("tokenExpired"))}useController(e,t){if(!(t&&t.length>0))throw new Error("You must provide a valid accessor.");if(this.__proxy__?this.__proxy__.hasProp(t):this[t])throw new Error(`There is already a controller with the accessor '${t}'. Please use another one.`);const r=new e(this);if(!(r.name&&r.name.length>0))throw new Error("Controllers must have a name.");if(r.kuzzle!==this)throw new Error("You must pass the Kuzzle SDK instance to the parent constructor.");return this.__proxy__&&this.__proxy__.registerProp(t),this[t]=r,this}_checkPropertyType(e,t,r){if("array"===t?!Array.isArray(r):typeof r!==t)throw new Error(`Expected ${e} to be a ${t}, ${typeof r} received`)}_cleanQueue(){const e=Date.now();let t=-1;this.queueTTL>0&&(this.offlineQueue.forEach(((r,s)=>{r.ts<e-this.queueTTL&&(t=s)})),-1!==t&&this.offlineQueue.splice(0,t+1).forEach((e=>{this.emit("offlineQueuePop",e.request),e.reject(new Error("Query aborted: queued time exceeded the queueTTL option value"))}))),this.queueMaxSize>0&&this.offlineQueue.length>this.queueMaxSize&&this.offlineQueue.splice(0,this.offlineQueue.length-this.queueMaxSize).forEach((e=>{this.emit("offlineQueuePop",e.request),e.reject(new Error("Query aborted: too many queued requests (see the queueMaxSize option)"))}))}_dequeue(){const e={},t=()=>{this.offlineQueue.length>0&&(this._timeoutRequest(this.offlineQueue[0].timeout,this.offlineQueue[0].request).then(this.offlineQueue[0].resolve).catch(this.offlineQueue[0].reject),this.emit("offlineQueuePop",this.offlineQueue.shift().request),setTimeout((()=>{t()}),Math.max(0,this.replayInterval)))};if(this.offlineQueueLoader){if("function"!=typeof this.offlineQueueLoader)throw new Error("Invalid value for offlineQueueLoader property. Expected: function. Got: "+typeof this.offlineQueueLoader);return Promise.resolve().then((()=>this.offlineQueueLoader())).then((r=>{if(!Array.isArray(r))throw new Error("Invalid value returned by the offlineQueueLoader function. Expected: array. Got: "+typeof r);this._offlineQueue=r.concat(this.offlineQueue).filter((t=>{if(!t.request||void 0===t.request.requestId||!t.request.action||!t.request.controller)throw new Error("Invalid offline queue request. One or more missing properties: requestId, action, controller.");return!Object.prototype.hasOwnProperty.call(e,t.request.requestId)&&(e[t.request.requestId]=!0)})),t()}))}t()}_timeoutRequest(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if((0,b.debug)("REQUEST",t),-1===e)return this.protocol.query(t,r);const s=new Promise(((r,s)=>{setTimeout((()=>{s(new v.RequestTimeoutError(t,e))}),e)}));return Promise.race([s,this.protocol.query(t,r)])}}t.Kuzzle=g},4528:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.KuzzleError=void 0;const s=r(4843);class i extends Error{constructor(e,t,r,i){super(e.message),this.status=e.status,this.id=e.id,this.code=e.code,i&&(this.controller=i.controller,this.collection=i.collection,this.action=i.action,this.index=i.index,this.volatile=i.volatile,this.requestId=i.requestId,this._id=i._id),e.errors&&(this.errors=e.errors,this.count=e.count),e.stack?(this.kuzzleStack=e.stack,this.stack=e.stack+"\n",this.stack+=" |\n",this.stack+=" |\n",this.stack+=` ${r}\n`,this.stack+=" |\n",this.stack+=" |\n"):this.stack=`KuzzleError: ${e.message}\n`,this.stack+=t.split("\n").map(s.hilightUserCode).slice(1).join("\n")}}t.KuzzleError=i},8349:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.RequestTimeoutError=void 0;class r extends Error{constructor(e,t){super(`Request timed out after ${t} ms`),this.request=e,this.delay=t}}t.RequestTimeoutError=r},9235:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AuthController=void 0;const s=r(9665),i=r(5914),o=r(3987);class n extends i.BaseController{constructor(e){super(e,"auth"),this._authenticationToken=null,this.kuzzle.on("tokenExpired",(()=>{this._authenticationToken=null}))}get authenticationToken(){return this._authenticationToken}set authenticationToken(e){if(null==e)this._authenticationToken=null;else{if("string"!=typeof e)throw new Error(`Invalid token argument: ${e}`);this._authenticationToken=new s.Jwt(e)}}authenticateRequest(e){this.kuzzle.cookieAuthentication||this.authenticationToken&&("auth"!==e.controller||"checkToken"!==e.action&&"login"!==e.action)&&(e.jwt=this.authenticationToken.encodedJwt)}createApiKey(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const r={action:"createApiKey",_id:t._id,expiresIn:t.expiresIn,refresh:t.refresh,body:{description:e}};return this.query(r,t).then((e=>e.result))}checkRights(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const r={body:e,action:"checkRights"};return this.query(r,t).then((e=>e.result.allowed))}deleteApiKey(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const r={action:"deleteApiKey",_id:e,refresh:t.refresh};return this.query(r,t).then((()=>null))}searchApiKeys(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const r={action:"searchApiKeys",from:t.from,size:t.size,lang:t.lang,body:e};return this.query(r,t).then((e=>e.result))}checkToken(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=!1;return void 0===e&&(r=this.kuzzle.cookieAuthentication,!r&&this.authenticationToken&&(e=this.authenticationToken.encodedJwt)),this.query({action:"checkToken",body:{token:e},cookieAuth:r},{queuable:!1,...t}).then((e=>e.result))}createMyCredentials(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.query({strategy:e,action:"createMyCredentials",body:t},r).then((e=>e.result))}credentialsExist(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.query({strategy:e,action:"credentialsExist"},t).then((e=>e.result))}deleteMyCredentials(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.query({strategy:e,action:"deleteMyCredentials"},t).then((e=>e.result.acknowledged))}getCurrentUser(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this.query({action:"getCurrentUser"},e).then((e=>new o.User(this.kuzzle,e.result._id,e.result._source)))}getMyCredentials(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.query({strategy:e,action:"getMyCredentials"},t).then((e=>e.result))}getMyRights(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this.query({action:"getMyRights"},e).then((e=>e.result.hits))}getStrategies(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this.query({action:"getStrategies"},e).then((e=>e.result))}login(e,t,r){const i={strategy:e,expiresIn:r,body:t,action:"login",cookieAuth:this.kuzzle.cookieAuthentication};return this.query(i,{queuable:!1,verb:"POST",timeout:-1}).then((e=>{if(!this.kuzzle.cookieAuthentication)return this._authenticationToken=new s.Jwt(e.result.jwt),this.kuzzle.emit("loginAttempt",{success:!0}),e.result.jwt;if(e.result.jwt){const e=new Error("Kuzzle support for cookie authentication is disabled or not supported");throw this.kuzzle.emit("loginAttempt",{success:!1,error:e.message}),e}this.kuzzle.emit("loginAttempt",{success:!0})})).catch((e=>{throw this.kuzzle.emit("loginAttempt",{success:!1,error:e.message}),e}))}logout(){return this.query({action:"logout",cookieAuth:this.kuzzle.cookieAuthentication},{queuable:!1,timeout:-1}).then((()=>{this._authenticationToken=null,this.kuzzle.emit("logoutAttempt",{success:!0})}))}updateMyCredentials(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.query({strategy:e,body:t,action:"updateMyCredentials"},r).then((e=>e.result))}updateSelf(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.query({body:e,action:"updateSelf"},t).then((e=>new o.User(this.kuzzle,e.result._id,e.result._source)))}validateMyCredentials(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.query({strategy:e,body:t,action:"validateMyCredentials"},r).then((e=>e.result))}refreshToken(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const t={action:"refreshToken",expiresIn:e.expiresIn,cookieAuth:this.kuzzle.cookieAuthentication};return this.query(t,e).then((e=>(this.kuzzle.cookieAuthentication||(this._authenticationToken=new s.Jwt(e.result.jwt)),e.result)))}}t.AuthController=n},5914:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BaseController=void 0,t.BaseController=class{constructor(e,t){Reflect.defineProperty(this,"_kuzzle",{value:e}),this._name=t}get kuzzle(){return this._kuzzle}get name(){return this._name}query(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.controller=e.controller||this.name,this._kuzzle.query(e,t)}}},4134:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BulkController=void 0;const s=r(5914);class i extends s.BaseController{constructor(e){super(e,"bulk")}deleteByQuery(e,t){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};const s={index:e,collection:t,body:arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},action:"deleteByQuery"};return this.query(s,r).then((e=>e.result.deleted))}import(e,t,r){let s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return this.query({index:e,collection:t,action:"import",body:{bulkData:r}},s).then((e=>e.result))}updateByQuery(e,t,r,s){let i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{};const o={index:e,collection:t,body:{query:r,changes:s},action:"updateByQuery"};return this.query(o,i).then((e=>e.result.updated))}write(e,t,r,s){let i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{};return this.query({index:e,collection:t,_id:s,action:"write",body:r,notify:i.notify},i).then((e=>e.result))}mWrite(e,t,r){let s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return this.query({index:e,collection:t,action:"mWrite",body:{documents:r},notify:s.notify},s).then((e=>e.result))}}t.BulkController=i},8285:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CollectionController=void 0;const s=r(5914),i=r(1183);class o extends s.BaseController{constructor(e){super(e,"collection")}create(e,t,r){let s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};const i={index:e,collection:t,body:r,action:"create"};return this.query(i,s).then((()=>{}))}deleteSpecifications(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const s={index:e,collection:t,action:"deleteSpecifications"};return this.query(s,r).then((()=>{}))}exists(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.query({index:e,collection:t,action:"exists"},r).then((e=>e.result))}refresh(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.query({index:e,collection:t,action:"refresh"},r).then((()=>{}))}getMapping(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const s={index:e,collection:t,action:"getMapping",includeKuzzleMeta:r.includeKuzzleMeta||!1};return this.query(s,r).then((e=>e.result))}getSpecifications(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.query({index:e,collection:t,action:"getSpecifications"},r).then((e=>e.result))}list(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const r={index:e,action:"list",size:t.size||0,from:t.from};return this.query(r,t).then((e=>e.result))}searchSpecifications(){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const t={body:arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},action:"searchSpecifications"};for(let r=0,s=["from","size","scroll"];r<s.length;r++){const i=s[r];t[i]=e[i]}return this.query(t,e).then((r=>new i.SpecificationsSearchResult(this.kuzzle,t,e,r.result)))}truncate(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const s={index:e,collection:t,action:"truncate"};return this.query(s,r).then((()=>{}))}update(e,t,r){let s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return this.query({index:e,collection:t,body:r,action:"update"},s).then((()=>{}))}updateMapping(e,t,r){let s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return this.query({index:e,collection:t,body:r,action:"updateMapping"},s).then((e=>e.result))}updateSpecifications(e,t,r){let s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return this.query({index:e,collection:t,body:r,action:"updateSpecifications"},s).then((e=>e.result))}validateSpecifications(e,t,r){let s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return this.query({index:e,collection:t,body:r,action:"validateSpecifications"},s).then((e=>e.result))}delete(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const s={index:e,collection:t,action:"delete"};return this.query(s,r).then((()=>{}))}}t.CollectionController=o},7146:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DocumentController=void 0;const s=r(5914),i=r(3026);class o extends s.BaseController{constructor(e){super(e,"document")}count(e,t,r){let s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};const i={index:e,collection:t,body:r,action:"count"};return this.query(i,s).then((e=>e.result.count))}create(e,t,r){let s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{};const i={index:e,collection:t,_id:arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,body:r,action:"create",silent:s.silent};return this.query(i,s).then((e=>e.result))}createOrReplace(e,t,r,s){let i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{};const o={index:e,collection:t,_id:r,body:s,action:"createOrReplace",silent:i.silent};return this.query(o,i).then((e=>e.result))}delete(e,t,r){let s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};const i={index:e,collection:t,_id:r,action:"delete",silent:s.silent};return this.query(i,s).then((e=>e.result._id))}deleteByQuery(e,t){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};const s={index:e,collection:t,body:arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},action:"deleteByQuery",lang:r.lang,silent:r.silent};return this.query(s,r).then((e=>e.result.ids))}deleteFields(e,t,r,s){let i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{};const o={index:e,collection:t,_id:r,body:{fields:s},action:"deleteFields",silent:i.silent,source:i.source};return this.query(o,i).then((e=>e.result))}exists(e,t,r){let s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};const i={index:e,collection:t,_id:r,action:"exists"};return this.query(i,s).then((e=>e.result))}get(e,t,r){let s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};const i={index:e,collection:t,_id:r,action:"get"};return this.query(i,s).then((e=>e.result))}mCreate(e,t,r){let s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};const i={index:e,collection:t,body:{documents:r},action:"mCreate",silent:s.silent,strict:s.strict};return this.query(i,s).then((e=>e.result))}mCreateOrReplace(e,t,r){let s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};const i={index:e,collection:t,body:{documents:r},action:"mCreateOrReplace",silent:s.silent,strict:s.strict};return this.query(i,s).then((e=>e.result))}mDelete(e,t,r){let s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};const i={index:e,collection:t,body:{ids:r},action:"mDelete",silent:s.silent,strict:s.strict};return this.query(i,s).then((e=>e.result))}mGet(e,t,r){let s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};const i={index:e,collection:t,action:"mGet",body:{ids:r}};return this.query(i,s).then((e=>e.result))}mReplace(e,t,r){let s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};const i={index:e,collection:t,body:{documents:r},action:"mReplace",silent:s.silent,strict:s.strict};return this.query(i,s).then((e=>e.result))}mUpdate(e,t,r){let s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};const i={index:e,collection:t,body:{documents:r},action:"mUpdate",silent:s.silent,strict:s.strict};return this.query(i,s).then((e=>e.result))}mUpsert(e,t,r){let s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};const i={index:e,collection:t,body:{documents:r},action:"mUpsert",silent:s.silent,strict:s.strict};return this.query(i,s).then((e=>e.result))}replace(e,t,r,s){let i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{};const o={index:e,collection:t,_id:r,body:s,action:"replace",silent:i.silent};return this.query(o,i).then((e=>e.result))}search(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return this._search(e,t,r,s).then((e=>{let{response:t,request:r,opts:s}=e;return new i.DocumentSearchResult(this.kuzzle,r,s,t.result)}))}_search(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};const i={index:e,collection:t,body:null,action:"search"};"http"===this.kuzzle.protocol.name&&s.verb&&"get"===s.verb.toLowerCase()?i.searchBody=r:i.body=r;for(let e=0,t=["from","size","scroll","lang"];e<t.length;e++){const r=t[e];i[r]=s[r]}const o={verb:s.verb||"POST",...s};return this.query(i,o).then((e=>({response:e,request:i,opts:o})))}update(e,t,r,s){let i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{};const o={index:e,collection:t,_id:r,body:s,action:"update",retryOnConflict:i.retryOnConflict,source:i.source,silent:i.silent};return this.query(o,i).then((e=>e.result))}updateByQuery(e,t,r,s){let i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{};const o={index:e,collection:t,body:{query:r,changes:s},action:"updateByQuery",source:i.source,lang:i.lang,silent:i.silent};return this.query(o,i).then((e=>e.result))}upsert(e,t,r,s){let i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{};const o={index:e,collection:t,_id:r,body:{changes:s,default:i.default},action:"upsert",source:i.source,silent:i.silent};return this.query(o,i).then((e=>e.result))}validate(e,t,r){let s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return this.query({index:e,collection:t,body:r,action:"validate"},s).then((e=>e.result))}}t.DocumentController=o},8779:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IndexController=void 0;const s=r(5914);class i extends s.BaseController{constructor(e){super(e,"index")}create(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const r={index:e,action:"create"};return this.query(r,t).then((()=>{}))}delete(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const r={index:e,action:"delete"};return this.query(r,t).then((()=>{}))}exists(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.query({index:e,action:"exists"},t).then((e=>e.result))}list(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this.query({action:"list"},e).then((e=>e.result.indexes))}mDelete(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const r={action:"mDelete",body:{indexes:e}};return this.query(r,t).then((e=>e.result.deleted))}stats(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this.query({action:"stats"},e).then((e=>e.result))}}t.IndexController=i},3318:(e,t,r)=>{const{BaseController:s}=r(5914),i={getter:!0,required:["_id"]},o={getter:!0,required:["_id","field"]},n={getter:!0,required:["keys"]},l={getter:!0,required:["_id","member"]},u={getter:!0,required:["_id","cursor"],opts:["match","count"],mapResults:E},c={getter:!0,required:["_id","start","stop"],opts:v,mapResults:T},a={getter:!0,required:["_id","min","max"],opts:v,mapResults:T},d={required:["_id"]},h={required:["_id","value"]},_={append:h,bitcount:{getter:!0,required:["_id"],opts:["start","end"]},bitop:{required:["_id","operation","keys"]},bitpos:{getter:!0,required:["_id","bit"],opts:["start","end"]},dbsize:{getter:!0},decr:d,decrby:h,del:{required:["keys"]},exists:n,expire:{required:["_id","seconds"],mapResults:Boolean},expireat:{required:["_id","timestamp"],mapResults:Boolean},flushdb:{mapResults:y},geoadd:{required:["_id","points"]},geodist:{getter:!0,required:["_id","member1","member2"],opts:["unit"],mapResults:parseFloat},geohash:{getter:!0,required:["_id","members"]},geopos:{getter:!0,required:["_id","members"],mapResults:function(e){return e.map((e=>e.map(parseFloat)))}},georadius:{getter:!0,required:["_id","lon","lat","distance","unit"],opts:b,mapResults:g},georadiusbymember:{getter:!0,required:["_id","member","distance","unit"],opts:b,mapResults:g},get:i,getbit:{getter:!0,required:["_id","offset"]},getrange:{getter:!0,required:["_id","start","end"]},getset:h,hdel:{required:["_id","fields"]},hexists:{getter:!0,required:["_id","field"],mapResults:Boolean},hget:o,hgetall:{getter:!0,required:["_id"]},hincrby:{required:["_id","field","value"]},hincrbyfloat:{required:["_id","field","value"],mapResults:parseFloat},hkeys:i,hlen:i,hmget:{getter:!0,required:["_id","fields"]},hmset:{required:["_id","entries"],mapResults:y},hscan:u,hset:{required:["_id","field","value"],mapResults:Boolean},hsetnx:{required:["_id","field","value"],mapResults:Boolean},hstrlen:o,hvals:i,incr:d,incrby:h,incrbyfloat:{required:["_id","value"],mapResults:parseFloat},keys:{getter:!0,required:["pattern"]},lindex:{getter:!0,required:["_id","idx"]},linsert:{required:["_id","position","pivot","value"]},llen:i,lpop:d,lpush:{required:["_id","values"]},lpushx:h,lrange:{getter:!0,required:["_id","start","stop"]},lrem:{required:["_id","count","value"]},lset:{required:["_id","index","value"],mapResults:y},ltrim:{required:["_id","start","stop"],mapResults:y},mexecute:{required:["actions"]},mget:n,mset:{required:["entries"],mapResults:y},msetnx:{required:["entries"],mapResults:Boolean},object:{getter:!0,required:["_id","subcommand"]},persist:{required:["_id"],mapResults:Boolean},pexpire:{required:["_id","milliseconds"],mapResults:Boolean},pexpireat:{required:["_id","timestamp"],mapResults:Boolean},pfadd:{required:["_id","elements"],mapResults:Boolean},pfcount:n,pfmerge:{required:["_id","sources"],mapResults:y},ping:{getter:!0},psetex:{required:["_id","value","milliseconds"],mapResults:y},pttl:i,randomkey:{getter:!0},rename:{required:["_id","newkey"],mapResults:y},renamenx:{required:["_id","newkey"],mapResults:Boolean},rpop:d,rpoplpush:{required:["source","destination"]},rpush:{required:["_id","values"]},rpushx:h,sadd:{required:["_id","members"]},scan:{getter:!0,required:["cursor"],opts:["match","count"],mapResults:E},scard:i,sdiff:{getter:!0,required:["_id","keys"]},sdiffstore:{required:["_id","keys","destination"]},set:{required:["_id","value"],opts:["ex","px","nx","xx"],mapResults:y},setex:{required:["_id","value","seconds"],mapResults:y},setnx:{required:["_id","value"],mapResults:Boolean},sinter:n,sinterstore:{required:["destination","keys"]},sismember:{getter:!0,required:["_id","member"],mapResults:Boolean},smembers:i,smove:{required:["_id","destination","member"],mapResults:Boolean},sort:{required:["_id"],opts:["alpha","by","direction","get","limit"]},spop:{required:["_id"],opts:["count"],mapResults:f},srandmember:{getter:!0,required:["_id"],opts:["count"],mapResults:f},srem:{required:["_id","members"]},sscan:u,strlen:i,sunion:n,sunionstore:{required:["destination","keys"]},time:{getter:!0,mapResults:function(e){return e.map((e=>parseInt(e)))}},touch:{required:["keys"]},ttl:i,type:i,zadd:{required:["_id","elements"],opts:["nx","xx","ch","incr"]},zcard:i,zcount:{getter:!0,required:["_id","min","max"]},zincrby:{required:["_id","member","value"]},zinterstore:{required:["_id","keys"],opts:["weights","aggregate"]},zlexcount:{getter:!0,required:["_id","min","max"]},zrange:c,zrangebylex:{getter:!0,required:["_id","min","max"],opts:["limit"]},zrevrangebylex:{getter:!0,required:["_id","min","max"],opts:["limit"]},zrangebyscore:a,zrank:l,zrem:{required:["_id","members"]},zremrangebylex:{required:["_id","min","max"]},zremrangebyrank:{required:["_id","start","stop"]},zremrangebyscore:{required:["_id","min","max"]},zrevrange:c,zrevrangebyscore:a,zrevrank:l,zscan:u,zscore:{getter:!0,required:["_id","member"],mapResults:parseFloat},zunionstore:{required:["_id","keys"],opts:["weights","aggregate"]}};class p extends s{constructor(e){super(e,"ms")}}for(let e=0,t=Object.keys(_);e<t.length;e++){const r=t[e];p.prototype[r]=function(){const e=_[r],t={action:r},s={};e.getter||(t.body={});for(var i=arguments.length,o=new Array(i),n=0;n<i;n++)o[n]=arguments[n];for(let s=0,i=e.required||[];s<i.length;s++){const n=i[s],l=o.shift();if(void 0===l)throw new Error(`ms.${r}: missing parameter ${n}`);m(t,e.getter,n,l)}if(o.length>1)throw new Error(`ms.${r}: too many parameters provided`);if(o.length){if("object"!=typeof o[0]||Array.isArray(o[0]))throw new Error(`ms.${r}: invalid optional paramater (expected an object`);if(Object.assign(s,o[0]),Array.isArray(e.opts))for(let r=0,i=e.opts;r<i.length;r++){const o=i[r];null!==s[o]&&void 0!==s[o]&&m(t,e.getter,o,s[o])}}return"function"==typeof e.opts&&e.opts(t,s),this.query(t,s).then((t=>e.mapResults?e.mapResults(t.result):t.result))}}function m(e,t,r,s){t||"_id"===r?e[r]=s:e.body[r]=s}function b(e,t){const r=[];Object.keys(t).filter((function(e){return t[e]&&-1!==["withcoord","withdist","count","sort"].indexOf(e)})).forEach((function(e){"withcoord"===e||"withdist"===e?r.push(e):"count"!==e&&"sort"!==e||("count"===e&&r.push("count"),r.push(t[e]))})),r.length>0&&(e.options=r)}function v(e,t){e.options=["withscores"],t.limit&&(e.limit=t.limit)}function g(e){return Array.isArray(e[0])?e.map((function(e){const t={name:e.shift()};for(let r=0;r<e.length;r++){const s=e[r];Array.isArray(s)?t.coordinates=s.map(parseFloat):t.distance=parseFloat(s)}return t})):e.map((function(e){return{name:e}}))}function f(e){return Array.isArray(e)?e:[e]}function y(){}function T(e){const t=[];for(let r=0;r<e.length;r+=2)t.push({member:e[r],score:parseFloat(e[r+1])});return t}function E(e){return{cursor:e[0],values:e[1]}}e.exports={MemoryStorageController:p}},8429:function(e,t,r){"use strict";var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.RealtimeController=t.UserOption=t.ScopeOption=void 0;const i=r(5914),o=s(r(8100));var n,l;(l=t.ScopeOption||(t.ScopeOption={})).all="all",l.in="in",l.out="out",l.none="none",(n=t.UserOption||(t.UserOption={})).all="all",n.in="in",n.out="out",n.none="none";class u extends i.BaseController{constructor(e){super(e,"realtime"),this._subscriptions=new Map,this._subscriptionsOff=new Map,this.kuzzle.on("tokenExpired",(()=>this.removeSubscriptions())),this.kuzzle.on("disconnected",(()=>this.saveSubscriptions())),this.kuzzle.on("networkError",(()=>this.saveSubscriptions())),this.kuzzle.on("reconnected",(()=>this.resubscribe())),this.kuzzle.on("reAuthenticated",(()=>{this.saveSubscriptions(),this.resubscribe()}))}count(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.query({action:"count",body:{roomId:e}},t).then((e=>e.result.count))}publish(e,t,r){let s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};const i={index:e,collection:t,body:r,action:"publish",_id:s._id};return this.query(i,s).then((e=>e.result.published))}subscribe(e,t,r,s){let i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{};const n=new o.default(this,e,t,r,s,i);return n.subscribe().then((()=>(this._subscriptions.has(n.id)||this._subscriptions.set(n.id,[]),this._subscriptions.get(n.id).push(n),n.id)))}unsubscribe(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const r={action:"unsubscribe",body:{roomId:e}};return this.query(r,t).then((()=>{const t=this._subscriptions.get(e);if(t){for(let e=0;e<t.length;e++)t[e].removeListeners();this._subscriptions.delete(e)}}))}saveSubscriptions(){this._subscriptions.forEach(((e,t)=>{for(let r=0;r<e.length;r++){const s=e[r];s.removeListeners(),s.autoResubscribe&&(this._subscriptionsOff.has(t)||this._subscriptionsOff.set(t,[]),this._subscriptionsOff.get(t).push(s))}this._subscriptions.delete(t)}))}resubscribe(){this._subscriptionsOff.forEach(((e,t)=>{for(let r=0;r<e.length;r++){const s=e[r];this._subscriptions.has(t)||this._subscriptions.set(t,[]),this._subscriptions.get(t).push(s),s.subscribe().catch((()=>this.kuzzle.emit("discarded",{request:s.request})))}this._subscriptionsOff.delete(t)}))}removeSubscriptions(){this._subscriptions.forEach((e=>{for(let t=0;t<e.length;t++)e[t].removeListeners()})),this._subscriptions=new Map,this._subscriptionsOff=new Map}}t.RealtimeController=u},7127:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SecurityController=void 0;const s=r(5914),i=r(3955),o=r(896),n=r(4103),l=r(7885),u=r(3987),c=r(4545);class a extends s.BaseController{constructor(e){super(e,"security")}createApiKey(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const s={userId:e,action:"createApiKey",_id:r._id,expiresIn:r.expiresIn,refresh:r.refresh,body:{description:t}};return this.query(s,r).then((e=>e.result))}checkRights(e,t,r){const s={userId:e,body:t,action:"checkRights"};return this.query(s,r).then((e=>e.result.allowed))}deleteApiKey(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const s={userId:e,action:"deleteApiKey",_id:t,refresh:r.refresh};return this.query(s,r)}searchApiKeys(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const s={userId:e,action:"searchApiKeys",from:r.from,size:r.size,lang:r.lang,body:t};return this.query(s,r).then((e=>e.result))}createCredentials(e,t,r){let s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return this.query({_id:t,strategy:e,body:r,action:"createCredentials"},s).then((e=>e.result))}createFirstAdmin(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const s={_id:e,body:t,action:"createFirstAdmin",reset:r.reset};return this.query(s,r).then((e=>new u.User(this.kuzzle,e.result._id,e.result._source)))}createOrReplaceProfile(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const s={_id:e,body:t,action:"createOrReplaceProfile"};return this.query(s,r).then((e=>new n.Profile(this.kuzzle,e.result._id,e.result._source)))}createOrReplaceRole(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const s={_id:e,body:t,action:"createOrReplaceRole",force:!!r.force||null};return this.query(s,r).then((e=>new i.Role(this.kuzzle,e.result._id,e.result._source.controllers)))}createProfile(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const s={_id:e,body:t,action:"createProfile"};return this.query(s,r).then((e=>new n.Profile(this.kuzzle,e.result._id,e.result._source)))}createRestrictedUser(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};e.content||(e.content={});const s={_id:t,body:e,action:"createRestrictedUser"};return this.query(s,r).then((e=>new u.User(this.kuzzle,e.result._id,e.result._source)))}createRole(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const s={_id:e,body:t,action:"createRole",force:!!r.force||null};return this.query(s,r).then((e=>new i.Role(this.kuzzle,e.result._id,e.result._source.controllers)))}createUser(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const s={_id:e,body:t,action:"createUser"};return this.query(s,r).then((e=>new u.User(this.kuzzle,e.result._id,e.result._source)))}deleteCredentials(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const s={strategy:e,_id:t,action:"deleteCredentials"};return this.query(s,r).then((e=>e.result))}deleteProfile(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const r={_id:e,action:"deleteProfile"};return this.query(r,t).then((e=>e.result))}deleteRole(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const r={_id:e,action:"deleteRole"};return this.query(r,t).then((e=>e.result))}deleteUser(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const r={_id:e,action:"deleteUser"};return this.query(r,t).then((e=>e.result))}getAllCredentialFields(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this.query({action:"getAllCredentialFields"},e).then((e=>e.result))}getCredentialFields(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.query({strategy:e,action:"getCredentialFields"},t).then((e=>e.result))}getCredentials(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.query({strategy:e,_id:t,action:"getCredentials"},r).then((e=>e.result))}getCredentialsById(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.query({strategy:e,_id:t,action:"getCredentialsById"},r).then((e=>e.result))}getProfile(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.query({_id:e,action:"getProfile"},t).then((e=>new n.Profile(this.kuzzle,e.result._id,e.result._source)))}getProfileMapping(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this.query({action:"getProfileMapping"},e).then((e=>e.result))}getProfileRights(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.query({_id:e,action:"getProfileRights"},t).then((e=>e.result.hits))}getRole(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.query({_id:e,action:"getRole"},t).then((e=>new i.Role(this.kuzzle,e.result._id,e.result._source.controllers)))}getRoleMapping(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this.query({action:"getRoleMapping"},e).then((e=>e.result))}getUser(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.query({_id:e,action:"getUser"},t).then((e=>new u.User(this.kuzzle,e.result._id,e.result._source)))}getUserMapping(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this.query({action:"getUserMapping"},e).then((e=>e.result))}getUserRights(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.query({_id:e,action:"getUserRights"},t).then((e=>e.result.hits))}getUserStrategies(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.query({_id:e,action:"getUserStrategies"},t).then((e=>e.result.strategies))}hasCredentials(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.query({strategy:e,_id:t,action:"hasCredentials"},r).then((e=>e.result))}mDeleteProfiles(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const r={action:"mDeleteProfiles",body:{ids:e}};return this.query(r,t).then((e=>e.result))}mDeleteRoles(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const r={action:"mDeleteRoles",body:{ids:e}};return this.query(r,t).then((e=>e.result))}mDeleteUsers(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const r={action:"mDeleteUsers",body:{ids:e}};return this.query(r,t).then((e=>e.result))}mGetProfiles(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.query({action:"mGetProfiles",body:{ids:e}},t).then((e=>e.result.hits.map((e=>new n.Profile(this.kuzzle,e._id,e._source)))))}mGetUsers(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const r={action:"mGetUsers",body:{ids:e}};return this.query(r,t).then((e=>e.result.hits.map((e=>new u.User(this.kuzzle,e._id,e._source)))))}mGetRoles(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.query({action:"mGetRoles",body:{ids:e}},t).then((e=>e.result.hits.map((e=>new i.Role(this.kuzzle,e._id,e._source.controllers)))))}refresh(e){return this.query({collection:e,action:"refresh"})}replaceUser(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const s={_id:e,body:t,action:"replaceUser"};return this.query(s,r).then((e=>new u.User(this.kuzzle,e.result._id,e.result._source)))}searchProfiles(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const r={body:e,action:"searchProfiles"};for(let e=0,s=Object.entries(t);e<s.length;e++){const[t,i]=s[e];r[t]=i}return this.query(r,t).then((e=>new l.ProfileSearchResult(this.kuzzle,r,t,e.result)))}searchRoles(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const r={body:e,action:"searchRoles"};for(let e=0,s=Object.entries(t);e<s.length;e++){const[t,i]=s[e];r[t]=i}return this.query(r,t).then((e=>new o.RoleSearchResult(this.kuzzle,r,t,e.result)))}searchUsers(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const r={body:e,action:"searchUsers"};for(let e=0,s=["from","size","scroll","lang"];e<s.length;e++){const i=s[e];r[i]=t[i]}return this.query(r,t).then((e=>new c.UserSearchResult(this.kuzzle,r,t,e.result)))}updateCredentials(e,t,r){let s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return this.query({strategy:e,_id:t,body:r,action:"updateCredentials"},s).then((e=>e.result))}updateProfile(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const s={_id:e,body:t,action:"updateProfile"};return this.query(s,r).then((e=>new n.Profile(this.kuzzle,e.result._id,e.result._source)))}updateProfileMapping(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.query({body:e,action:"updateProfileMapping"},t).then((e=>e.result))}updateRole(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const s={_id:e,body:t,action:"updateRole",force:!!r.force||null};return this.query(s,r).then((e=>new i.Role(this.kuzzle,e.result._id,e.result._source.controllers)))}updateRoleMapping(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.query({body:e,action:"updateRoleMapping"},t).then((e=>e.result))}updateUser(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const s={_id:e,body:t,action:"updateUser"};return this.query(s,r).then((e=>new u.User(this.kuzzle,e.result._id,e.result._source)))}updateUserMapping(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.query({body:e,action:"updateUserMapping"},t).then((e=>e.result))}validateCredentials(e,t,r){let s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return this.query({_id:t,strategy:e,body:r,action:"validateCredentials"},s).then((e=>e.result))}}t.SecurityController=a},1994:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ServerController=void 0;const s=r(5914);class i extends s.BaseController{constructor(e){super(e,"server")}adminExists(e){return this.query({action:"adminExists"},e).then((e=>e.result.exists))}getAllStats(e){return this.query({action:"getAllStats"},e).then((e=>e.result))}getConfig(e){return this.query({action:"getConfig"},e).then((e=>e.result))}getLastStats(e){return this.query({action:"getLastStats"},e).then((e=>e.result))}getStats(e,t,r){return this.query({action:"getStats",startTime:e,stopTime:t},r).then((e=>e.result))}info(e){return this.query({action:"info"},e).then((e=>e.result))}now(e){return this.query({action:"now"},e).then((e=>e.result.now))}}t.ServerController=i},9665:e=>{"use strict";e.exports={Jwt:class{constructor(e){this._encodedJwt=e,this._userId=null,this._expiresAt=null,this._decode()}get encodedJwt(){return this._encodedJwt}get userId(){return this._userId}get expiresAt(){return this._expiresAt}get expired(){return Math.round(Date.now()/1e3)>this.expiresAt}_decode(){const e=this._encodedJwt.split(".")[1];if(!e)throw new Error("Invalid JWT format");let t;try{t=JSON.parse((e=>{const t=e.replace(/=+$/,"");let r="";if(t.length%4==1)throw new Error("Malformed base64 string.");for(let e,s=0,i=0,o=0;e=t.charAt(o++);~e&&(i=s%4?64*i+e:e,s++%4)?r+=String.fromCharCode(255&i>>(-2*s&6)):0)e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(e);return r})(e))}catch(e){throw new Error("Invalid JSON payload for JWT")}this._userId=t._id,this._expiresAt=t.exp}}}},4898:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.KuzzleEventEmitter=void 0;class r{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.fn=e,this.once=t}}class s{constructor(){this._events=new Map}_exists(e,t){return Boolean(e.find((e=>e.fn===t)))}listeners(e){return this._events.has(e)?this._events.get(e).map((e=>e.fn)):[]}addListener(e,t){let s=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(!e||!t)return this;const i=typeof t;if("function"!==i)throw new Error(`Invalid listener type: expected a function, got a ${i}`);return this._events.has(e)||this._events.set(e,[]),this._exists(this._events.get(e),t)||this._events.get(e).push(new r(t,s)),this}on(e,t){return this.addListener(e,t)}prependListener(e,t){let s=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(!e||!t)return this;if(this._events.has(e)||this._events.set(e,[]),!this._exists(this._events.get(e),t)){const i=[new r(t,s)].concat(this._events.get(e));this._events.set(e,i)}return this}addOnceListener(e,t){return this.addListener(e,t,!0)}once(e,t){return this.addOnceListener(e,t)}prependOnceListener(e,t){return this.prependListener(e,t,!0)}removeListener(e,t){const r=this._events.get(e);if(!r||!r.length)return this;const s=r.findIndex((e=>e.fn===t));return-1!==s&&r.splice(s,1),0===r.length&&this._events.delete(e),this}removeAllListeners(e){return e?this._events.delete(e):this._events=new Map,this}emit(e){const t=this._events.get(e);if(void 0===t)return!1;const r=[];for(var s=arguments.length,i=new Array(s>1?s-1:0),o=1;o<s;o++)i[o-1]=arguments[o];for(let e=0;e<t.length;e++){const s=t[e];s.fn(...i),s.once&&r.push(s.fn)}for(let t=0;t<r.length;t++){const s=r[t];this.removeListener(e,s)}return!0}eventNames(){return Array.from(this._events.keys())}listenerCount(e){return this._events.has(e)&&this._events.get(e).length||0}}t.KuzzleEventEmitter=s,e.exports={KuzzleEventEmitter:s}},6159:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Observer=void 0;const s=r(8496),i=r(1742);class o extends Set{constructor(e,t){super(),this.roomId=null,this.index=e,this.collection=t}get ids(){return Array.from(this.values())}get filters(){return{ids:{values:Array.from(this.values())}}}}function n(e,t,r){return`${e}:${t}:${r}`}function l(e,t){return`${e}:${t}`}t.Observer=class{constructor(e,t){this.documentsByCollection=new Map,this.documents=new Map,this.options={pullingDelay:5e3},Reflect.defineProperty(this,"sdk",{value:e}),this.options={...this.options,...t},this.mode="http"===this.sdk.protocol.name?"pulling":"realtime"}stop(e,t,r){return e&&t&&r?this.disposeDocuments(e,t,r):e&&t?this.disposeCollection(e,t):e?Promise.reject(new Error('Missing "collection" argument"')):this.disposeAll()}disposeDocuments(e,t,r){const s=this.documentsByCollection.get(l(e,t));for(let i=0;i<r.length;i++){const o=r[i];this.documents.delete(n(e,t,o._id)),s.delete(o._id)}return 0===s.size&&this.documentsByCollection.delete(l(e,t)),this.watchCollection(e,t)}disposeCollection(e,t){const r=this.documentsByCollection.get(l(e,t));for(let s=0,i=r.ids;s<i.length;s++){const r=i[s];this.documents.delete(n(e,t,r))}return this.documentsByCollection.delete(l(e,t)),"realtime"===this.mode?this.sdk.realtime.unsubscribe(r.roomId):(this.clearPullingTimer(),Promise.resolve())}disposeAll(){const e=[];for(let t=0,r=this.documentsByCollection.values();t<r.length;t++){const s=r[t];s.roomId&&e.push(this.sdk.realtime.unsubscribe(s.roomId))}return"pulling"===this.mode&&e.push(this.clearPullingTimer()),this.documentsByCollection.clear(),this.documents.clear(),Promise.all(e).then((()=>{}))}get(e,t,r){let s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return this.sdk.document.get(e,t,r,s).then((r=>this.observe(e,t,r)))}mGet(e,t,r){let s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};const i=[];let o;return this.sdk.document.mGet(e,t,r,s).then((r=>{let{successes:s,errors:n}=r;o=n;for(let r=0;r<s.length;r++){const o=s[r];i.push(this.addDocument(e,t,o))}return this.watchCollection(e,t)})).then((()=>({successes:i,errors:o})))}search(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return this.sdk.document._search(e,t,r,s).then((e=>{let{response:t,request:r,opts:s}=e;return new i.RealtimeDocumentSearchResult(this.sdk,r,s,t.result,this).start()}))}observe(e,t,r){const s=this.addDocument(e,t,r);return this.watchCollection(e,t).then((()=>s))}addDocument(e,t,r){const i=new s.RealtimeDocument(r),u=l(e,t);return this.documentsByCollection.has(u)||this.documentsByCollection.set(u,new o(e,t)),this.documentsByCollection.get(u).add(r._id),this.documents.set(n(e,t,r._id),i),i}watchCollection(e,t){return"realtime"===this.mode?this.resubscribe(e,t):(this.restartPulling(),Promise.resolve())}restartPulling(){this.clearPullingTimer(),0!==this.documentsByCollection.size&&(this.pullingTimer=setInterval(this.pullingHandler.bind(this),this.options.pullingDelay))}pullingHandler(){const e=[];for(let t=0,r=this.documentsByCollection.values();t<r.length;t++){const s=r[t],i=this.sdk.document.mGet(s.index,s.collection,s.ids).then((e=>{let{successes:t,errors:r}=e;for(let e=0;e<t.length;e++){const r=t[e],i=n(s.index,s.collection,r._id),o=this.documents.get(i);Object.assign(o._source,r._source)}for(let e=0;e<r.length;e++){const t=r[e],i=n(s.index,s.collection,t);this.documents.get(i).deleted=!0,this.documents.delete(i),s.delete(t),0===s.size&&this.documentsByCollection.delete(l(s.index,s.collection))}})).catch((()=>{}));e.push(i)}return Promise.all(e).then((()=>{}))}clearPullingTimer(){this.pullingTimer&&clearInterval(this.pullingTimer)}resubscribe(e,t){const r=this.documentsByCollection.get(l(e,t));return r?0===r.size?r.roomId?this.sdk.realtime.unsubscribe(r.roomId):Promise.resolve():this.sdk.realtime.subscribe(e,t,r.filters,this.notificationHandler.bind(this)).then((e=>{const t=r.roomId;if(r.roomId=e,t)return this.sdk.realtime.unsubscribe(t)})):Promise.resolve()}notificationHandler(e){const{index:t,collection:r,result:s}=e,i=n(t,r,s._id),o=this.documents.get(i);if("delete"!==e.event)return"write"===e.event&&Object.assign(o._source,s._source),Promise.resolve();o.deleted=!0,this.documents.delete(n(t,r,o._id));const u=this.documentsByCollection.get(l(t,r));return u.delete(s._id),0===u.size&&this.documentsByCollection.delete(l(t,r)),this.resubscribe(t,r)}}},8496:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.RealtimeDocument=void 0,t.RealtimeDocument=class{constructor(e){let{_id:t,_source:r}=e;this._id=t,this._source=r,this.deleted=!1}}},8100:e=>{"use strict";e.exports=class{constructor(e,t,r,s,i){let o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{};Reflect.defineProperty(this,"_kuzzle",{value:e.kuzzle}),this.controller=e,this.index=t,this.collection=r,this.callback=i,this.options=o,this.id=null,this.channel=null,this.request={index:t,collection:r,body:s,controller:"realtime",action:"subscribe",state:this.options.state,scope:this.options.scope,users:this.options.users,volatile:this.options.volatile},this.autoResubscribe="boolean"==typeof o.autoResubscribe?o.autoResubscribe:this.kuzzle.autoResubscribe,this.subscribeToSelf="boolean"!=typeof o.subscribeToSelf||o.subscribeToSelf,this._channelListener=this._channelListener.bind(this)}get kuzzle(){return this._kuzzle}subscribe(){return this.kuzzle.query(this.request,this.options).then((e=>(this.id=e.result.roomId,this.channel=e.result.channel,this.kuzzle.protocol.on(this.channel,this._channelListener),e)))}removeListeners(){this.channel&&this.kuzzle.protocol.removeListener(this.channel,this._channelListener)}_channelListener(e){if("TokenExpired"===e.type)return this.kuzzle.tokenExpired();const t=e.volatile&&e.volatile.sdkInstanceId===this.kuzzle.protocol.id;!this.subscribeToSelf&&t||this.callback(e)}}},3026:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DocumentSearchResult=void 0;const s=r(2140);class i extends s.SearchResultBase{constructor(e,t,r,s){super(e,t,r,s),this._searchAction="search",this._scrollAction="scroll"}}t.DocumentSearchResult=i,e.exports={DocumentSearchResult:i}},7885:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ProfileSearchResult=void 0;const s=r(4103),i=r(2140);class o extends i.SearchResultBase{constructor(e,t,r,i){super(e,t,r,i),this._searchAction="searchProfiles",this._scrollAction="scrollProfiles",this.hits=i.hits.map((e=>new s.Profile(this._kuzzle,e._id,e._source)))}next(){return super.next().then((e=>e?(e.hits=e._result.hits.map((t=>new s.Profile(e._kuzzle,t._id,t._source))),e):null))}}t.ProfileSearchResult=o},1742:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.RealtimeDocumentSearchResult=void 0;const s=r(2140);class i extends s.SearchResultBase{constructor(e,t,r,s,i){super(e,t,r,s),this._searchAction="search",this._scrollAction="scroll",Reflect.defineProperty(this,"observer",{value:i})}start(){const{index:e,collection:t}=this._request,r=[];for(let s=0,i=this.hits;s<i.length;s++){const o=i[s];r.push(this.observer.addDocument(e,t,o))}return this.hits=r,this.observer.watchCollection(e,t).then((()=>this))}next(){return super.next()}_buildNextSearchResult(e){const t=new i(this._kuzzle,this._request,this._options,e,this.observer);return t.fetched+=this.fetched,t.start()}}t.RealtimeDocumentSearchResult=i},896:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.RoleSearchResult=void 0;const s=r(3955),i=r(2140);class o extends i.SearchResultBase{constructor(e,t,r,i){super(e,t,r,i),this._searchAction="searchRoles",this._scrollAction=null,this.hits=this._result.hits.map((e=>new s.Role(this._kuzzle,e._id,e._source.controllers)))}next(){return this._request.scroll||this._request.sort?Promise.reject(new Error("only from/size params are allowed for role search")):super.next().then((e=>e?(e.hits=e._result.hits.map((t=>new s.Role(e._kuzzle,t._id,t._source.controllers))),e):null))}}t.RoleSearchResult=o},2140:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SearchResultBase=void 0,t.SearchResultBase=class{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};Reflect.defineProperty(this,"_kuzzle",{value:e}),Reflect.defineProperty(this,"_request",{value:t}),Reflect.defineProperty(this,"_options",{value:r}),Reflect.defineProperty(this,"_result",{value:s}),Reflect.defineProperty(this,"_controller",{value:t.controller,writable:!0}),Reflect.defineProperty(this,"_searchAction",{value:"search",writable:!0}),Reflect.defineProperty(this,"_scrollAction",{value:"scroll",writable:!0}),this.aggregations=s.aggregations,this.hits=s.hits||[],this.fetched=this.hits.length,this.total=s.total||0,this.suggest=s.suggest}next(){if(this.fetched>=this.total)return Promise.resolve(null);if(this._request.scroll)return this._kuzzle.query({controller:this._request.controller,action:this._scrollAction,scroll:this._request.scroll,scrollId:this._result.scrollId}).then((e=>{let{result:t}=e;return this._buildNextSearchResult(t)}));if(this._request.size&&this._request.body.sort){const e={...this._request,action:this._searchAction},t=this._result.hits[this._result.hits.length-1];if(!t)return Promise.reject(new Error('Unable to retrieve all results from search: the sort combination must identify one item only. Add document "_id" to the sort.'));let r;if(e.body.search_after=[],r="string"==typeof this._request.body.sort?[this._request.body.sort]:Array.isArray(this._request.body.sort)?this._request.body.sort:Object.keys(this._request.body.sort),0===r.length)return Promise.reject(new Error("Unable to retrieve next results from search: sort param is empty"));for(let s=0,i=r;s<i.length;s++){const r=i[s],o="string"==typeof r?r:Object.keys(r)[0],n="_id"===o?t._id:this._get(t._source,o.split("."));e.body.search_after.push(n)}return this._kuzzle.query(e,this._options).then((e=>{let{result:t}=e;return this._buildNextSearchResult(t)}))}return this._request.size?this._request.from>=this._result.total?Promise.resolve(null):this._kuzzle.query({...this._request,action:this._searchAction,from:this.fetched},this._options).then((e=>{let{result:t}=e;return this._buildNextSearchResult(t)})):Promise.reject(new Error("Unable to retrieve next results from search: missing scrollId, from/sort, or from/size params"))}_get(e,t){if(!e)return e;if(1===t.length)return e[t[0]];const r=t.shift();return this._get(e[r],t)}_buildNextSearchResult(e){const t=new(0,this.constructor)(this._kuzzle,this._request,this._options,e);return t.fetched+=this.fetched,t}}},1183:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SpecificationsSearchResult=void 0;const s=r(2140);class i extends s.SearchResultBase{constructor(e,t,r,s){super(e,t,r,s),this._controller="collection",this._searchAction="searchSpecifications",this._scrollAction="scrollSpecifications"}}t.SpecificationsSearchResult=i},4545:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.UserSearchResult=void 0;const s=r(2140),i=r(3987);class o extends s.SearchResultBase{constructor(e,t,r,s){super(e,t,r,s),this._searchAction="searchUsers",this._scrollAction="scrollUsers",this.hits=this._result.hits.map((e=>new i.User(this._kuzzle,e._id,e._source)))}next(){return super.next().then((e=>e?(e.hits=e._result.hits.map((t=>new i.User(e._kuzzle,t._id,t._source))),e):null))}}t.UserSearchResult=o},4103:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Profile=void 0,t.Profile=class{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};Reflect.defineProperty(this,"_kuzzle",{value:e}),this._id=t,this.rateLimit=r&&r.rateLimit?r.rateLimit:0,this.policies=r&&r.policies?r.policies:[];for(let e=0,t=Object.entries(r);e<t.length;e++){const[r,s]=t[e];this[r]||(this[r]=s)}}get kuzzle(){return this._kuzzle}getRoles(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this.policies&&0!==this.policies.length?this.kuzzle.security.mGetRoles(this.policies.map((e=>e.roleId)),e):Promise.resolve([])}serialize(){return{_id:this._id,rateLimit:this.rateLimit,policies:this.policies}}}},3955:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Role=void 0;class r{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};Reflect.defineProperty(this,"_kuzzle",{value:e}),this._id=t,this.controllers=r}get kuzzle(){return this._kuzzle}serialize(){return{_id:this._id,controllers:this.controllers}}}t.Role=r,e.exports={Role:r}},3987:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.User=void 0;class r{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};Reflect.defineProperty(this,"_kuzzle",{value:e}),Reflect.defineProperty(this,"content",{enumerable:!0,get(){return this._source}}),this._id=t,this._source=r}get kuzzle(){return this._kuzzle}get profileIds(){return this._source.profileIds||[]}getProfiles(){return this.profileIds&&0!==this.profileIds.length?this.kuzzle.security.mGetProfiles(this.profileIds):Promise.resolve([])}serialize(){return{_id:this._id,_source:this._source}}}t.User=r,e.exports={User:r}},4169:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.NETWORK_ERROR=t.USER_CONNECTION_CLOSED=t.WEBSOCKET_AUTH_RENEWAL=void 0,t.WEBSOCKET_AUTH_RENEWAL="websocket/auth-renewal",t.USER_CONNECTION_CLOSED="user/connection-closed",t.NETWORK_ERROR="network/error"},6900:function(e,t,r){"use strict";var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=s(r(1873)),o=r(147);class n extends o.KuzzleAbstractProtocol{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(super(e,t,"http"),"string"!=typeof e||""===e)throw new Error("host is required");this._routes={},this._timeout=t.timeout||0,this._customRoutes=t.customRoutes||{},this._defaultHeaders=t.headers||{};for(let e=0,t=Object.keys(this._customRoutes);e<t.length;e++){const r=t[e],s=this._customRoutes[r];for(let e=0,t=Object.keys(s);e<t.length;e++){const i=t[e],o=s[i];if(!("string"==typeof o.url&&o.url.length>0))throw new Error(`Incorrect URL for custom route ${r}:${i}.`);if(!("string"==typeof o.verb&&o.verb.length>0))throw new Error(`Incorrect VERB for custom route ${r}:${i}.`)}}}get http(){return this.routes}get routes(){return this._routes}get protocol(){return this.ssl?"https":"http"}get connected(){return!0}get timeout(){return this._timeout}set timeout(e){this._timeout=e}connect(){if("ready"===this.state)return Promise.resolve();const e={method:"GET",path:"/_publicApi",payload:{headers:this._defaultHeaders}};return this._sendHttpRequest(e).then((e=>{let{result:t,error:r}=e;if(r){if(401===r.status||403===r.status)return this._warn('"server:publicApi" route is restricted for anonymous user.'),this._warn("This route is used by the HTTP protocol to build API URLs."),this._warn("Fallback to static routes, some API routes may be unavailable as well as plugin custom routes"),void(this._routes=i.default);if(404===r.status){const e={method:"GET",path:"/",payload:{headers:this._defaultHeaders}};return this._sendHttpRequest(e).then((e=>{let{result:t,error:r}=e;if(r){if(401!==r.status&&403!==r.status)throw r;this._warn('"server:info" route is restricted for anonymous user.'),this._warn("This route is used by the HTTP protocol to build API URLs."),this._warn('If you want to expose your API routes without disclosing server information you can use "server:publicApi" (available in Kuzzle 1.9.0).'),this._warn("Fallback to static routes, some API routes may be unavailable as well as plugin custom routes"),this._routes=i.default}else this._routes=this._constructRoutes(t.serverInfo.kuzzle.api.routes)}))}throw r}this._routes=this._constructRoutes(t)})).then((()=>{this._routes=Object.assign(this._routes,this._customRoutes),this.clientConnected()})).catch((e=>{const t=new Error(`Unable to connect to kuzzle server at ${this.host}:${this.port}`);throw t.internal=e,this.emit("networkError",t),e}))}enableCookieSupport(){if("undefined"==typeof XMLHttpRequest)throw new Error("Support for cookie cannot be enabled outside of a browser");super.enableCookieSupport()}formatRequest(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const r=this.routes[e.controller]&&this.routes[e.controller][e.action];if(!r){const t=new Error(`No URL found for "${e.controller}:${e.action}".`);return void this.emit(e.requestId,{status:400,error:t})}const s=t.verb||r.verb,i={action:void 0,body:void 0,collection:void 0,controller:void 0,headers:{"Content-Type":"application/json",...this._defaultHeaders},index:void 0,meta:void 0,requestId:void 0},o={};for(let t=0,r=Object.keys(e);t<r.length;t++){const n=r[t],l=e[n];"body"===n?"GET"===s?Object.assign(o,l):i.body=JSON.stringify(l):"jwt"===n?i.headers.authorization="Bearer "+l:"volatile"===n?i.headers["x-kuzzle-volatile"]=JSON.stringify(l):Object.prototype.hasOwnProperty.call(i,n)?i[n]=l:null!=l&&(o[n]=l)}const n=/\/:([^/]*)/;let l=r.url,u=n.exec(l);for(;u;){if(!e[u[1]]){const e=new Error(`Missing URL param "${u[1]}" in "${u.input}"`);return void this.emit(i.requestId,{status:400,error:e})}l=l.replace(n,`/${encodeURIComponent(e[u[1]])}`),delete o[u[1]],u=n.exec(l)}const c=[];for(let e=0,t=Object.keys(o);e<t.length;e++){const r=t[e];let s=o[r];const i=encodeURIComponent(r);Array.isArray(s)?c.push(`${i}=${encodeURIComponent(s.join())}`):"boolean"==typeof s?!0===s&&c.push(i):(s="object"==typeof s?JSON.stringify(s):s,c.push(`${i}=${encodeURIComponent(s)}`))}return c.length>0&&(l+="?"+c.join("&")),{method:s,path:l,payload:i}}send(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const r=this.formatRequest(e,t);r&&this._sendHttpRequest(r).then((e=>this.emit(r.payload.requestId,e))).catch((e=>this.emit(r.payload.requestId,{error:e})))}_sendHttpRequest(e){let{method:t,path:s,payload:i}=e;if("undefined"==typeof XMLHttpRequest){const e=r(Object(function(){var e=new Error("Cannot find module 'min-req-promise'");throw e.code="MODULE_NOT_FOUND",e}()));"/"!==s[0]&&(s=`/${s}`);const o=`${this.protocol}://${this.host}:${this.port}${s}`,n=i&&i.headers||{};return n["Content-Length"]=Buffer.byteLength(i&&i.body||""),e.request(o,t,{body:i&&i.body,headers:n,timeout:this._timeout}).then((e=>{if(431===e.statusCode)throw new Error("Request query string is too large. Try to use the method with the POST verb instead.");return JSON.parse(e.body)}))}return new Promise(((e,r)=>{const o=new XMLHttpRequest,n=`${this.protocol}://${this.host}:${this.port}${s}`;o.timeout=this._timeout,o.onreadystatechange=()=>{4===o.readyState&&0===o.status&&r(new Error("Cannot connect to host. Is the host online?"))},o.open(t,n),o.withCredentials=this.cookieSupport;for(let e=0,t=Object.entries(i&&i.headers||{});e<t.length;e++){const[r,s]=t[e];o.setRequestHeader(r,s)}o.onload=()=>{try{const t=JSON.parse(o.responseText);e(t)}catch(e){r(e)}},o.send(i&&i.body)}))}_constructRoutes(e){const t=Object.keys(e).map((t=>[t,e[t]])).reduce(((e,t)=>{let[r,s]=t;e[r]={};for(let t=0,i=Object.keys(s);t<i.length;t++){const o=i[t],{http:n}=s[o];n&&1===n.length?e[r][o]=n[0]:n&&n.length>1&&(e[r][o]="document"===r&&"search"===o?l(n):u(n))}return e}),{});for(let e=0,r=Object.keys(this._customRoutes);e<r.length;e++){const s=r[e];t[s]=this._customRoutes[s]}return t}_warn(e){console.warn(e)}}function l(e){return"POST"===e[0].verb?e[0]:e[1]}function u(e){let t=e[0],r=e[0],s=e[0].url.length,i=!0;for(let o=0;o<e.length;o++){const n=e[o];n.url.length!==s&&(i=!1),n.url.length<s&&(t=n,s=n.url.length),"GET"===n.verb&&(r=n)}return i?r:t}t.default=n},7380:function(e,t,r){"use strict";var s=this&&this.__createBinding||(Object.create?function(e,t,r,s){void 0===s&&(s=r),Object.defineProperty(e,s,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,s){void 0===s&&(s=r),e[s]=t[r]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&s(t,e,r);return i(t,e),t},n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const l=r(4528),u=r(3189),c=n(r(6900)),a=o(r(4169));class d extends u.BaseProtocolRealtime{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(super(e,t,"ws"),"string"!=typeof e||""===e)throw new Error("host is required");if("undefined"!=typeof WebSocket)this.WebSocketClient=WebSocket,this.options=null;else if(this.WebSocketClient=r(Object(function(){var e=new Error("Cannot find module 'ws'");throw e.code="MODULE_NOT_FOUND",e}())),this.options={perMessageDeflate:!1,headers:t.headers||null},null!==this.options.headers&&(Array.isArray(this.options.headers)||"object"!=typeof this.options.headers))throw new Error('Invalid "headers" option: expected an object');this._pingInterval="number"==typeof t.pingInterval?t.pingInterval:2e3,this.client=null,this.lasturl=null}_connect(){return new Promise(((e,t)=>{const r=`${this.ssl?"wss":"ws"}://${this.host}:${this.port}`;super.connect(),r!==this.lasturl&&(this.wasConnected=!1,this.lasturl=r),this.client=new this.WebSocketClient(r,this.options),"undefined"!=typeof WebSocket?this.ping=()=>{this.client.send('{"p":1}')}:(this.ping=()=>{this.client.ping()},this.client.on("pong",(()=>{this.waitForPong=!1}))),this.client.onopen=()=>(this.clientConnected(),this.setupPingPong(),e()),this.client.onclose=(e,t)=>{let r,s=t;if("number"==typeof e?r=e:(r=e.code,e.reason&&(s=e.reason)),1e3===r)this.clientDisconnected(a.USER_CONNECTION_CLOSED);else if(this.wasConnected){const e=new Error(s);e.status=r,this.clientNetworkError(e)}},this.client.onerror=e=>{let r=e;if(e instanceof Error||(r=!e||"undefined"!=typeof Event&&e instanceof Event?new Error("Connection error"):new Error(e.message||e)),this.clientNetworkError(r),[this.client.CLOSING,this.client.CLOSED].indexOf(this.client.readyState)>-1)return t(r)},this.client.onmessage=e=>{const t=JSON.parse(e.data||e);if(t&&t.p&&2===t.p&&1===Object.keys(t).length)this.waitForPong=!1;else{if("TokenExpired"===t.type)this.emit("tokenExpired");else if(t.room)this.emit(t.room,t);else{this.emit("discarded",t);const e=new l.KuzzleError(t.error,(new Error).stack,this.constructor.name);this.emit("queryError",{error:e,request:t})}this.waitForPong=!1}}}))}connect(){return this.cookieSupport?this._httpProtocol.connect().then((()=>this._connect())):this._connect()}enableCookieSupport(){if("undefined"==typeof XMLHttpRequest)throw new Error("Support for cookie cannot be enabled outside of a browser");super.enableCookieSupport(),this._httpProtocol=new c.default(this.host,{port:this.port,ssl:this.ssl}),this._httpProtocol.enableCookieSupport()}send(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!this.client||this.client.readyState!==this.client.OPEN)return;if(!this.cookieSupport||"auth"!==e.controller||"login"!==e.action&&"logout"!==e.action&&"refreshToken"!==e.action)return void this.client.send(JSON.stringify(e));const r=this._httpProtocol.formatRequest(e,t);r&&(this.emit("websocketRenewalStart"),this.client&&(this.client.onclose=void 0,this.client.close(1e3)),this.client=null,this.clientDisconnected(a.WEBSOCKET_AUTH_RENEWAL),this._httpProtocol._sendHttpRequest(r).then((e=>this.connect().then((()=>{this.emit(r.payload.requestId,e),this.emit("websocketRenewalDone")})))).catch((e=>{this.emit(r.payload.requestId,{error:e}),this.emit("websocketRenewalDone")})))}clientDisconnected(e){clearInterval(this.pingIntervalId),this.pingIntervalId=null,super.clientDisconnected(e)}clientNetworkError(e){clearInterval(this.pingIntervalId),this.pingIntervalId=null,super.clientNetworkError(e)}close(){this.state="offline",this.wasConnected=!1,this.client&&this.client.close(1e3),this.removeAllListeners(),this.client=null,this.stopRetryingToConnect=!0,clearInterval(this.pingIntervalId),this.pingIntervalId=null,super.close()}setupPingPong(){clearInterval(this.pingIntervalId),this.waitForPong=!1,this.pingIntervalId=setInterval((()=>{if(this.client&&this.client.readyState===this.client.OPEN&&!this.waitForPong)return this.ping(),void(this.waitForPong=!0);if(this.waitForPong){const e=new Error("Kuzzle does'nt respond to ping. Connection lost.");e.status=503,clearInterval(this.pingIntervalId),this.client.onclose=void 0,this.client.close(1e3),this.waitForPong=!1,this.clientNetworkError(e)}}),this._pingInterval)}}t.default=d},147:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.KuzzleAbstractProtocol=void 0;const s=r(4528),i=r(4957),o=r(4898),n=r(3041);class l extends o.KuzzleEventEmitter{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0;super(),this._pendingRequests=new Map,this._host=e,this._name=r;const s=parseInt(t.port,10);if(this._port=isNaN(s)?7512:s,void 0!==t.ssl&&void 0!==t.sslConnection)throw new Error('Both "ssl" and "sslConnection" options are set. Use only "ssl".');"boolean"==typeof t.ssl?this._ssl=t.ssl:"boolean"==typeof t.sslConnection?this._ssl=t.sslConnection:this._ssl=443===s||7443===s,this.id=(0,i.uuidv4)(),this.state="offline",this._cookieSupport=!1,Object.keys(t).forEach((e=>{Object.prototype.hasOwnProperty.call(this,e)&&Object.getOwnPropertyDescriptor(this,e).writable&&(this[e]=t[e])}))}get sslConnection(){return this._ssl}get host(){return this._host}get name(){return this._name}get port(){return this._port}get ssl(){return this._ssl}get connected(){return"connected"===this.state}get cookieSupport(){return this._cookieSupport}get pendingRequests(){return this._pendingRequests}enableCookieSupport(){this._cookieSupport=!0}clientConnected(e,t){this.state=e||"ready",this.emit(t?"reconnect":"connect")}close(){this.state="offline",this.clear()}query(e,t){if(!this.isReady())return this.emit("discarded",e),Promise.reject(new Error(`Unable to execute request: not connected to a Kuzzle server.\nDiscarded request: ${JSON.stringify(e)}`));const r=Error().stack,i=new n.PendingRequest(e);return this._pendingRequests.set(e.requestId,i),this.once(e.requestId,(t=>{if(this._pendingRequests.delete(e.requestId),t.error){let o;if(t.error.status)o=new s.KuzzleError(t.error,r,this.constructor.name,e);else{const e=r.split("\n");e[0]="",t.error.stack+="\n"+e.join("\n"),o=t.error}return this.emit("queryError",{error:o,request:e}),"logout"!==e.action&&"security.token.invalid"===o.id&&this.emit("tokenExpired"),i.reject(o)}i.resolve(t)})),this.send(e,t),i.promise}isReady(){return"ready"===this.state}clear(){const e=new Error("Network error: request was sent but no response has been received");for(let t=0,r=this._pendingRequests.values();t<r.length;t++){const s=r[t];s.reject(e),this.removeAllListeners(s.request.requestId),this.emit("discarded",s.request)}this._pendingRequests.clear()}}t.KuzzleAbstractProtocol=l},3041:e=>{"use strict";e.exports={PendingRequest:class{constructor(e){this._resolve=null,this._reject=null,this.request=e,this.promise=new Promise(((e,t)=>{this._resolve=e,this._reject=t}))}resolve(){this._resolve(...arguments)}reject(e){this._reject(e)}}}},3189:function(e,t,r){"use strict";var s=this&&this.__createBinding||(Object.create?function(e,t,r,s){void 0===s&&(s=r),Object.defineProperty(e,s,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,s){void 0===s&&(s=r),e[s]=t[r]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&s(t,e,r);return i(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.BaseProtocolRealtime=void 0;const n=r(147),l=o(r(4169));class u extends n.KuzzleAbstractProtocol{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};super(e,t,arguments.length>2?arguments[2]:void 0),this.autoReconnect="boolean"!=typeof t.autoReconnect||t.autoReconnect,this._reconnectionDelay="number"==typeof t.reconnectionDelay?t.reconnectionDelay:1e3,this.wasConnected=!1,this.stopRetryingToConnect=!1,this.retrying=!1}get reconnectionDelay(){return this._reconnectionDelay}connect(){return this.state="connecting",Promise.resolve()}clientConnected(){super.clientConnected("connected",this.wasConnected),this.state="connected",this.wasConnected=!0,this.stopRetryingToConnect=!1}clientDisconnected(e){this.clear(),this.emit("disconnect",{origin:e})}clientNetworkError(e){this.isReady()&&this.emit("disconnect",{origin:l.NETWORK_ERROR}),this.state="offline",this.clear();const t=new Error(`Unable to connect to kuzzle server at ${this.host}:${this.port}: ${e.message} (ws status=${e.status})`);if(this.emit("networkError",t),this.autoReconnect&&!this.retrying&&!this.stopRetryingToConnect){if(this.retrying=!0,"object"==typeof window&&"object"==typeof window.navigator&&!1===window.navigator.onLine)return void window.addEventListener("online",(()=>{this.retrying=!1,this.connect().catch((e=>this.clientNetworkError(e)))}),{once:!0});setTimeout((()=>{this.retrying=!1,this.connect().catch((e=>this.clientNetworkError(e)))}),this.reconnectionDelay)}}isReady(){return"connected"===this.state}}t.BaseProtocolRealtime=u},1076:function(e,t,r){"use strict";var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.Http=t.WebSocket=void 0;var i=r(7380);Object.defineProperty(t,"WebSocket",{enumerable:!0,get:function(){return s(i).default}});var o=r(6900);Object.defineProperty(t,"Http",{enumerable:!0,get:function(){return s(o).default}})},3405:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},1977:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},8694:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Document=void 0,t.Document=class{}},9468:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},8811:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},6253:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},6687:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},3209:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},4296:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},3044:function(e,t,r){"use strict";var s=this&&this.__createBinding||(Object.create?function(e,t,r,s){void 0===s&&(s=r),Object.defineProperty(e,s,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,s){void 0===s&&(s=r),e[s]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||s(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),i(r(3405),t),i(r(8694),t),i(r(9468),t),i(r(8811),t),i(r(6253),t),i(r(6687),t),i(r(3209),t),i(r(4296),t),i(r(1977),t),i(r(6231),t),i(r(2690),t)},6231:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},2690:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},8733:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Deprecation=void 0,t.Deprecation=class{constructor(e){this.deprecationWarning=!1}logDeprecation(e){if(this.deprecationWarning&&e.deprecations&&e.deprecations.length)for(let t=0,r=e.deprecations;t<r.length;t++){const e=r[t];console.warn(e.message)}return e}}},4219:e=>{e.exports={debug:function(e,t){("undefined"==typeof window?(process.env.DEBUG||"").includes("kuzzle-sdk"):null!==new URL(window.location).searchParams.get("debugKuzzleSdk"))&&(console.log(e),t&&console.log(JSON.stringify(t)))}}},8964:e=>{const t=e=>Object.assign({},{name:"object",seal:!0,sealGet:!1,deprecated:[],warnDeprecationOnce:!0,exposeApi:!1,apiNamespace:"__proxy__"},e),r=e=>{if(!e)return[];const t=Object.getOwnPropertyNames(e.prototype||e),i=Object.getPrototypeOf(e);return s([...t,...r(i)])},s=e=>[...new Set(e)];e.exports={proxify:function(e){let s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!e||"object"!=typeof e&&"function"!=typeof e)throw Error("proxify only applies on non-null object");const i=t(s),o=new Set(["inspect"]),n=new Set(i.deprecated),l=new Set,u=e=>{const t=`${i.name}.${e}`;i.warnDeprecationOnce&&l.has(t)||(l.add(t),console.warn(`Warning: ${t} is deprecated`))};i.exposeApi&&(e[i.apiNamespace]={registerProp:e=>o.add(e),unregisterProp:e=>o.delete(e),hasProp:e=>o.has(e)}),[...Object.getOwnPropertyNames(e),...r(e)].forEach((e=>o.add(e)));const c={get:(e,t)=>{if(i.sealGet&&!o.has(t))throw new Error(`${i.name}.${t} is not defined`);return n.has(t)&&u(t),e[t]},set:(e,t,r)=>{if(i.seal&&!o.has(t))throw new Error(`Cannot set a value to the undefined '${t}' property in '${i.name}'`);return n.has(t)&&u(t),e[t]=r,!0}};return new Proxy(e,c)}}},4843:e=>{"use strict";e.exports={hilightUserCode:function(e){return e.includes(" at ")?e.includes("sdk-javascript/src/")||-1===e.indexOf("at /")&&"/"!==e.charAt(e.indexOf("(")+1)||e.includes("node_modules")?" "+e:">"+e:e}}},4957:e=>{const t=e=>e?(e^16*Math.random()>>e/4).toString(16):([1e7]+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g,t);e.exports={uuidv4:t}},1873:e=>{"use strict";e.exports=JSON.parse('{"auth":{"login":{"verb":"POST","url":"/_login/:strategy"},"logout":{"url":"/_logout","verb":"POST"},"getCurrentUser":{"url":"/users/_me","verb":"GET"},"getMyRights":{"url":"/users/_me/_rights","verb":"GET"},"checkToken":{"url":"/_checkToken","verb":"POST"},"updateSelf":{"url":"/_updateSelf","verb":"PUT"},"getStrategies":{"url":"/strategies","verb":"GET"},"createMyCredentials":{"url":"/credentials/:strategy/_me/_create","verb":"POST"},"updateMyCredentials":{"url":"/credentials/:strategy/_me/_update","verb":"PUT"},"credentialsExist":{"url":"/credentials/:strategy/_me/_exists","verb":"GET"},"validateMyCredentials":{"url":"/credentials/:strategy/_me/_validate","verb":"POST"},"deleteMyCredentials":{"url":"/credentials/:strategy/_me","verb":"DELETE"},"getMyCredentials":{"url":"/credentials/:strategy/_me","verb":"GET"},"refreshToken":{"url":"/_refreshToken","verb":"POST"}},"bulk":{"deleteByQuery":{"url":"/:index/:collection/_bulk/_query","verb":"DELETE"},"import":{"verb":"POST","url":"/:index/:collection/_bulk"},"write":{"verb":"POST","url":"/:index/:collection/_write"},"mWrite":{"verb":"POST","url":"/:index/:collection/_mWrite"},"updateByQuery":{"url":"/:index/:collection/_bulk/_query","verb":"PATCH"}},"document":{"create":{"verb":"POST","url":"/:index/:collection/_create"},"scroll":{"url":"/_scroll/:scrollId","verb":"GET"},"exists":{"url":"/:index/:collection/:_id/_exists","verb":"GET"},"get":{"url":"/:index/:collection/:_id","verb":"GET"},"mGet":{"url":"/:index/:collection/_mGet","verb":"POST"},"count":{"url":"/:index/:collection/_count","verb":"POST"},"mCreate":{"url":"/:index/:collection/_mCreate","verb":"POST"},"createOrReplace":{"url":"/:index/:collection/:_id","verb":"PUT"},"mCreateOrReplace":{"url":"/:index/:collection/_mCreateOrReplace","verb":"PUT"},"update":{"url":"/:index/:collection/:_id/_update","verb":"PUT"},"updateByQuery":{"url":"/:index/:collection/_query","verb":"PUT"},"mUpdate":{"url":"/:index/:collection/_mUpdate","verb":"PUT"},"mUpsert":{"url":"/:index/:collection/_mUpsert","verb":"POST"},"replace":{"url":"/:index/:collection/:_id/_replace","verb":"PUT"},"mReplace":{"url":"/:index/:collection/_mReplace","verb":"PUT"},"delete":{"url":"/:index/:collection/:_id","verb":"DELETE"},"mDelete":{"url":"/:index/:collection/_mDelete","verb":"DELETE"},"deleteByQuery":{"url":"/:index/:collection/_query","verb":"DELETE"},"validate":{"url":"/:index/:collection/_validate","verb":"POST"},"search":{"url":"/:index/:collection/_search","verb":"GET"}},"security":{"createFirstAdmin":{"verb":"POST","url":"/_createFirstAdmin"},"createRestrictedUser":{"verb":"POST","url":"/users/_createRestricted"},"createUser":{"verb":"POST","url":"/users/_create"},"getRoleMapping":{"url":"/roles/_mapping","verb":"GET"},"updateRoleMapping":{"url":"/roles/_mapping","verb":"PUT"},"getProfileMapping":{"url":"/profiles/_mapping","verb":"GET"},"updateProfileMapping":{"url":"/profiles/_mapping","verb":"PUT"},"getUserMapping":{"url":"/users/_mapping","verb":"GET"},"updateUserMapping":{"url":"/users/_mapping","verb":"PUT"},"getRole":{"url":"/roles/:_id","verb":"GET"},"mGetRoles":{"url":"/roles/_mGet","verb":"POST"},"searchRoles":{"url":"/roles/_search","verb":"POST"},"createOrReplaceRole":{"url":"/roles/:_id","verb":"PUT"},"createRole":{"url":"/roles/:_id/_create","verb":"POST"},"deleteRole":{"url":"/roles/:_id","verb":"DELETE"},"getProfile":{"url":"/profiles/:_id","verb":"GET"},"mGetProfiles":{"url":"/profiles/_mGet","verb":"POST"},"createOrReplaceProfile":{"url":"/profiles/:_id","verb":"PUT"},"createProfile":{"url":"/profiles/:_id/_create","verb":"POST"},"deleteProfile":{"url":"/profiles/:_id","verb":"DELETE"},"searchProfiles":{"url":"/profiles/_search","verb":"POST"},"getUser":{"url":"/users/:_id","verb":"GET"},"getProfileRights":{"url":"/profiles/:_id/_rights","verb":"GET"},"getUserRights":{"url":"/users/:_id/_rights","verb":"GET"},"getUserStrategies":{"url":"/users/:_id/_strategies","verb":"GET"},"searchUsers":{"url":"/users/_search","verb":"POST"},"deleteUser":{"url":"/users/:_id","verb":"DELETE"},"updateUser":{"url":"/users/:_id/_update","verb":"PUT"},"replaceUser":{"url":"/users/:_id/_replace","verb":"PUT"},"updateProfile":{"url":"/profiles/:_id/_update","verb":"PUT"},"updateRole":{"url":"/roles/:_id/_update","verb":"PUT"},"mDeleteProfiles":{"url":"/profiles/_mDelete","verb":"POST"},"mDeleteRoles":{"url":"/roles/_mDelete","verb":"POST"},"mDeleteUsers":{"url":"/users/_mDelete","verb":"POST"},"scrollUsers":{"url":"/users/_scroll/:scrollId","verb":"GET"},"scrollProfiles":{"url":"/profiles/_scroll/:scrollId","verb":"GET"},"createCredentials":{"url":"/credentials/:strategy/:_id/_create","verb":"POST"},"updateCredentials":{"url":"/credentials/:strategy/:_id/_update","verb":"PUT"},"hasCredentials":{"url":"/credentials/:strategy/:_id/_exists","verb":"GET"},"validateCredentials":{"url":"/credentials/:strategy/:_id/_validate","verb":"POST"},"deleteCredentials":{"url":"/credentials/:strategy/:_id","verb":"DELETE"},"getCredentials":{"url":"/credentials/:strategy/:_id","verb":"GET"},"getCredentialsById":{"url":"/credentials/:strategy/:_id/_byId","verb":"GET"},"getCredentialFields":{"url":"/credentials/:strategy/_fields","verb":"GET"},"getAllCredentialFields":{"url":"/credentials/_fields","verb":"GET"}},"collection":{"update":{"url":"/:index/:collection/","verb":"POST"},"updateMapping":{"url":"/:index/:collection/_mapping","verb":"PUT"},"getMapping":{"url":"/:index/:collection/_mapping","verb":"GET"},"getSpecifications":{"url":"/:index/:collection/_specifications","verb":"GET"},"searchSpecifications":{"url":"/validations/_search","verb":"POST"},"scrollSpecifications":{"url":"/validations/_scroll/:scrollId","verb":"GET"},"updateSpecifications":{"url":"/:index/:collection/_specifications","verb":"PUT"},"deleteSpecifications":{"url":"/:index/:collection/_specifications","verb":"DELETE"},"validateSpecifications":{"url":"/:index/:collection/_validateSpecifications","verb":"POST"},"truncate":{"url":"/:index/:collection/_truncate","verb":"DELETE"},"list":{"url":"/:index/_list","verb":"GET"},"exists":{"url":"/:index/:collection/_exists","verb":"GET"},"create":{"url":"/:index/:collection","verb":"PUT"}},"index":{"mDelete":{"url":"/_mdelete","verb":"DELETE"},"create":{"url":"/:index/_create","verb":"POST"},"delete":{"url":"/:index","verb":"DELETE"},"refresh":{"url":"/:index/_refresh","verb":"POST"},"list":{"url":"/_list","verb":"GET"},"refreshInternal":{"url":"/_refreshInternal","verb":"POST"},"getAutoRefresh":{"url":"/:index/_autoRefresh","verb":"GET"},"setAutoRefresh":{"url":"/:index/_autoRefresh","verb":"POST"},"exists":{"url":"/:index/_exists","verb":"GET"}},"ms":{"append":{"url":"/ms/_append/:_id","verb":"POST"},"bitcount":{"url":"/ms/_bitcount/:_id","verb":"GET"},"bitop":{"url":"/ms/_bitop/:_id","verb":"POST"},"bitpos":{"url":"/ms/_bitpos/:_id","verb":"GET"},"dbsize":{"url":"/ms/_dbsize","verb":"GET"},"decrby":{"url":"/ms/_decrby/:_id","verb":"POST"},"del":{"url":"/ms","verb":"DELETE"},"expire":{"url":"/ms/_expire/:_id","verb":"POST"},"expireat":{"url":"/ms/_expireat/:_id","verb":"POST"},"flushdb":{"url":"/ms/_flushdb","verb":"POST"},"geoadd":{"url":"/ms/_geoadd/:_id","verb":"POST"},"geodist":{"url":"/ms/_geodist/:_id/:member1/:member2","verb":"GET"},"geohash":{"url":"/ms/_geohash/:_id","verb":"GET"},"georadius":{"url":"/ms/_georadius/:_id","verb":"GET"},"georadiusbymember":{"url":"/ms/_georadiusbymember/:_id","verb":"GET"},"getbit":{"url":"/ms/_getbit/:_id","verb":"GET"},"getrange":{"url":"/ms/_getrange/:_id","verb":"GET"},"hdel":{"url":"/ms/_hdel/:_id","verb":"DELETE"},"hmget":{"url":"/ms/_hmget/:_id","verb":"GET"},"hexists":{"url":"/ms/_hexists/:_id/:field","verb":"GET"},"hincrby":{"url":"/ms/_hincrby/:_id","verb":"POST"},"hmset":{"url":"/ms/_hmset/:_id","verb":"POST"},"hset":{"url":"/ms/_hset/:_id","verb":"POST"},"hstrlen":{"url":"/ms/_hstrlen/:_id/:field","verb":"GET"},"keys":{"url":"/ms/_keys/:pattern","verb":"GET"},"lindex":{"url":"/ms/_lindex/:_id/:idx","verb":"GET"},"linsert":{"url":"/ms/_linsert/:_id","verb":"POST"},"lpush":{"url":"/ms/_lpush/:_id","verb":"POST"},"lrange":{"url":"/ms/_lrange/:_id","verb":"GET"},"lrem":{"url":"/ms/_lrem/:_id","verb":"DELETE"},"lset":{"url":"/ms/_lset/:_id","verb":"POST"},"ltrim":{"url":"/ms/_ltrim/:_id","verb":"POST"},"mexecute":{"url":"/ms/_mexecute","verb":"POST"},"mget":{"url":"/ms/_mget","verb":"GET"},"mset":{"url":"/ms/_mset","verb":"POST"},"object":{"url":"/ms/_object/:_id","verb":"GET"},"pexpire":{"url":"/ms/_pexpire/:_id","verb":"POST"},"pexpireat":{"url":"/ms/_pexpireat/:_id","verb":"POST"},"pfadd":{"url":"/ms/_pfadd/:_id","verb":"POST"},"pfmerge":{"url":"/ms/_pfmerge/:_id","verb":"POST"},"ping":{"url":"/ms/_ping","verb":"GET"},"psetex":{"url":"/ms/_psetex/:_id","verb":"POST"},"randomkey":{"url":"/ms/_randomkey","verb":"GET"},"rename":{"url":"/ms/_rename/:_id","verb":"POST"},"renamenx":{"url":"/ms/_renamenx/:_id","verb":"POST"},"rpoplpush":{"url":"/ms/_rpoplpush","verb":"POST"},"sadd":{"url":"/ms/_sadd/:_id","verb":"POST"},"scan":{"url":"/ms/_scan","verb":"GET"},"sdiff":{"url":"/ms/_sdiff/:_id","verb":"GET"},"sdiffstore":{"url":"/ms/_sdiffstore/:_id","verb":"POST"},"set":{"url":"/ms/_set/:_id","verb":"POST"},"setex":{"url":"/ms/_setex/:_id","verb":"POST"},"setnx":{"url":"/ms/_setnx/:_id","verb":"POST"},"sinterstore":{"url":"/ms/_sinterstore","verb":"POST"},"sismember":{"url":"/ms/_sismember/:_id/:member","verb":"GET"},"smove":{"url":"/ms/_smove/:_id","verb":"POST"},"sort":{"url":"/ms/_sort/:_id","verb":"POST"},"spop":{"url":"/ms/_spop/:_id","verb":"POST"},"srandmember":{"url":"/ms/_srandmember/:_id","verb":"GET"},"srem":{"url":"/ms/_srem/:_id","verb":"DELETE"},"sscan":{"url":"/ms/_sscan/:_id","verb":"GET"},"sunion":{"url":"/ms/_sunion","verb":"GET"},"sunionstore":{"url":"/ms/_sunionstore","verb":"POST"},"time":{"url":"/ms/_time","verb":"GET"},"touch":{"url":"/ms/_touch","verb":"POST"},"zadd":{"url":"/ms/_zadd/:_id","verb":"POST"},"zcount":{"url":"/ms/_zcount/:_id","verb":"GET"},"zincrby":{"url":"/ms/_zincrby/:_id","verb":"POST"},"zinterstore":{"url":"/ms/_zinterstore/:_id","verb":"POST"},"zlexcount":{"url":"/ms/_zlexcount/:_id","verb":"GET"},"zrange":{"url":"/ms/_zrange/:_id","verb":"GET"},"zrangebylex":{"url":"/ms/_zrangebylex/:_id","verb":"GET"},"zrangebyscore":{"url":"/ms/_zrangebyscore/:_id","verb":"GET"},"zrem":{"url":"/ms/_zrem/:_id","verb":"DELETE"},"zremrangebylex":{"url":"/ms/_zremrangebylex/:_id","verb":"DELETE"},"zremrangebyrank":{"url":"/ms/_zremrangebyrank/:_id","verb":"DELETE"},"zremrangebyscore":{"url":"/ms/_zremrangebyscore/:_id","verb":"DELETE"},"zrevrangebylex":{"url":"/ms/_zrevrangebylex/:_id","verb":"GET"},"zrevrangebyscore":{"url":"/ms/_zrevrangebyscore/:_id","verb":"GET"},"zrevrank":{"url":"/ms/_zrevrank/:_id/:member","verb":"GET"},"zunionstore":{"url":"/ms/_zunionstore/:_id","verb":"POST"},"zcard":{"url":"/ms/_zcard/:_id","verb":"GET"},"type":{"url":"/ms/_type/:_id","verb":"GET"},"ttl":{"url":"/ms/_ttl/:_id","verb":"GET"},"strlen":{"url":"/ms/_strlen/:_id","verb":"GET"},"smembers":{"url":"/ms/_smembers/:_id","verb":"GET"},"scard":{"url":"/ms/_scard/:_id","verb":"GET"},"rpop":{"url":"/ms/_rpop/:_id","verb":"POST"},"pttl":{"url":"/ms/_pttl/:_id","verb":"GET"},"persist":{"url":"/ms/_persist/:_id","verb":"POST"},"lpop":{"url":"/ms/_lpop/:_id","verb":"POST"},"llen":{"url":"/ms/_llen/:_id","verb":"GET"},"incr":{"url":"/ms/_incr/:_id","verb":"POST"},"hvals":{"url":"/ms/_hvals/:_id","verb":"GET"},"hlen":{"url":"/ms/_hlen/:_id","verb":"GET"},"hkeys":{"url":"/ms/_hkeys/:_id","verb":"GET"},"hgetall":{"url":"/ms/_hgetall/:_id","verb":"GET"},"get":{"url":"/ms/:_id","verb":"GET"},"decr":{"url":"/ms/_decr/:_id","verb":"POST"},"rpushx":{"url":"/ms/_rpushx/:_id","verb":"POST"},"lpushx":{"url":"/ms/_lpushx/:_id","verb":"POST"},"getset":{"url":"/ms/_getset/:_id","verb":"POST"},"sinter":{"url":"/ms/_sinter","verb":"GET"},"pfcount":{"url":"/ms/_pfcount","verb":"GET"},"incrbyfloat":{"url":"/ms/_incrbyfloat/:_id","verb":"POST"},"incrby":{"url":"/ms/_incrby/:_id","verb":"POST"},"geopos":{"url":"/ms/_geopos/:_id","verb":"GET"},"hget":{"url":"/ms/_hget/:_id/:field","verb":"GET"},"hsetnx":{"url":"/ms/_hsetnx/:_id","verb":"POST"},"msetnx":{"url":"/ms/_msetnx","verb":"POST"},"rpush":{"url":"/ms/_rpush/:_id","verb":"POST"},"hincrbyfloat":{"url":"/ms/_hincrbyfloat/:_id","verb":"POST"},"zrevrange":{"url":"/ms/_zrevrange/:_id","verb":"GET"},"zrank":{"url":"/ms/_zrank/:_id/:member","verb":"GET"},"zscore":{"url":"/ms/_zscore/:_id/:member","verb":"GET"},"zscan":{"url":"/ms/_zscan/:_id","verb":"GET"},"hscan":{"url":"/ms/_hscan/:_id","verb":"GET"},"exists":{"url":"/ms/_exists","verb":"GET"}},"memoryStorage":{"append":{"url":"/ms/_append/:_id","verb":"POST"},"bitcount":{"url":"/ms/_bitcount/:_id","verb":"GET"},"bitop":{"url":"/ms/_bitop/:_id","verb":"POST"},"bitpos":{"url":"/ms/_bitpos/:_id","verb":"GET"},"dbsize":{"url":"/ms/_dbsize","verb":"GET"},"decrby":{"url":"/ms/_decrby/:_id","verb":"POST"},"del":{"url":"/ms","verb":"DELETE"},"expire":{"url":"/ms/_expire/:_id","verb":"POST"},"expireat":{"url":"/ms/_expireat/:_id","verb":"POST"},"flushdb":{"url":"/ms/_flushdb","verb":"POST"},"geoadd":{"url":"/ms/_geoadd/:_id","verb":"POST"},"geodist":{"url":"/ms/_geodist/:_id/:member1/:member2","verb":"GET"},"geohash":{"url":"/ms/_geohash/:_id","verb":"GET"},"georadius":{"url":"/ms/_georadius/:_id","verb":"GET"},"georadiusbymember":{"url":"/ms/_georadiusbymember/:_id","verb":"GET"},"getbit":{"url":"/ms/_getbit/:_id","verb":"GET"},"getrange":{"url":"/ms/_getrange/:_id","verb":"GET"},"hdel":{"url":"/ms/_hdel/:_id","verb":"DELETE"},"hmget":{"url":"/ms/_hmget/:_id","verb":"GET"},"hexists":{"url":"/ms/_hexists/:_id/:field","verb":"GET"},"hincrby":{"url":"/ms/_hincrby/:_id","verb":"POST"},"hmset":{"url":"/ms/_hmset/:_id","verb":"POST"},"hset":{"url":"/ms/_hset/:_id","verb":"POST"},"hstrlen":{"url":"/ms/_hstrlen/:_id/:field","verb":"GET"},"keys":{"url":"/ms/_keys/:pattern","verb":"GET"},"lindex":{"url":"/ms/_lindex/:_id/:idx","verb":"GET"},"linsert":{"url":"/ms/_linsert/:_id","verb":"POST"},"lpush":{"url":"/ms/_lpush/:_id","verb":"POST"},"lrange":{"url":"/ms/_lrange/:_id","verb":"GET"},"lrem":{"url":"/ms/_lrem/:_id","verb":"DELETE"},"lset":{"url":"/ms/_lset/:_id","verb":"POST"},"ltrim":{"url":"/ms/_ltrim/:_id","verb":"POST"},"mget":{"url":"/ms/_mget","verb":"GET"},"mset":{"url":"/ms/_mset","verb":"POST"},"object":{"url":"/ms/_object/:_id","verb":"GET"},"pexpire":{"url":"/ms/_pexpire/:_id","verb":"POST"},"pexpireat":{"url":"/ms/_pexpireat/:_id","verb":"POST"},"pfadd":{"url":"/ms/_pfadd/:_id","verb":"POST"},"pfmerge":{"url":"/ms/_pfmerge/:_id","verb":"POST"},"ping":{"url":"/ms/_ping","verb":"GET"},"psetex":{"url":"/ms/_psetex/:_id","verb":"POST"},"randomkey":{"url":"/ms/_randomkey","verb":"GET"},"rename":{"url":"/ms/_rename/:_id","verb":"POST"},"renamenx":{"url":"/ms/_renamenx/:_id","verb":"POST"},"rpoplpush":{"url":"/ms/_rpoplpush","verb":"POST"},"sadd":{"url":"/ms/_sadd/:_id","verb":"POST"},"scan":{"url":"/ms/_scan","verb":"GET"},"sdiff":{"url":"/ms/_sdiff/:_id","verb":"GET"},"sdiffstore":{"url":"/ms/_sdiffstore/:_id","verb":"POST"},"set":{"url":"/ms/_set/:_id","verb":"POST"},"setex":{"url":"/ms/_setex/:_id","verb":"POST"},"setnx":{"url":"/ms/_setnx/:_id","verb":"POST"},"sinterstore":{"url":"/ms/_sinterstore","verb":"POST"},"sismember":{"url":"/ms/_sismember/:_id/:member","verb":"GET"},"smove":{"url":"/ms/_smove/:_id","verb":"POST"},"sort":{"url":"/ms/_sort/:_id","verb":"POST"},"spop":{"url":"/ms/_spop/:_id","verb":"POST"},"srandmember":{"url":"/ms/_srandmember/:_id","verb":"GET"},"srem":{"url":"/ms/_srem/:_id","verb":"DELETE"},"sscan":{"url":"/ms/_sscan/:_id","verb":"GET"},"sunion":{"url":"/ms/_sunion","verb":"GET"},"sunionstore":{"url":"/ms/_sunionstore","verb":"POST"},"time":{"url":"/ms/_time","verb":"GET"},"touch":{"url":"/ms/_touch","verb":"POST"},"zadd":{"url":"/ms/_zadd/:_id","verb":"POST"},"zcount":{"url":"/ms/_zcount/:_id","verb":"GET"},"zincrby":{"url":"/ms/_zincrby/:_id","verb":"POST"},"zinterstore":{"url":"/ms/_zinterstore/:_id","verb":"POST"},"zlexcount":{"url":"/ms/_zlexcount/:_id","verb":"GET"},"zrange":{"url":"/ms/_zrange/:_id","verb":"GET"},"zrangebylex":{"url":"/ms/_zrangebylex/:_id","verb":"GET"},"zrangebyscore":{"url":"/ms/_zrangebyscore/:_id","verb":"GET"},"zrem":{"url":"/ms/_zrem/:_id","verb":"DELETE"},"zremrangebylex":{"url":"/ms/_zremrangebylex/:_id","verb":"DELETE"},"zremrangebyrank":{"url":"/ms/_zremrangebyrank/:_id","verb":"DELETE"},"zremrangebyscore":{"url":"/ms/_zremrangebyscore/:_id","verb":"DELETE"},"zrevrangebylex":{"url":"/ms/_zrevrangebylex/:_id","verb":"GET"},"zrevrangebyscore":{"url":"/ms/_zrevrangebyscore/:_id","verb":"GET"},"zrevrank":{"url":"/ms/_zrevrank/:_id/:member","verb":"GET"},"zunionstore":{"url":"/ms/_zunionstore/:_id","verb":"POST"},"zcard":{"url":"/ms/_zcard/:_id","verb":"GET"},"type":{"url":"/ms/_type/:_id","verb":"GET"},"ttl":{"url":"/ms/_ttl/:_id","verb":"GET"},"strlen":{"url":"/ms/_strlen/:_id","verb":"GET"},"smembers":{"url":"/ms/_smembers/:_id","verb":"GET"},"scard":{"url":"/ms/_scard/:_id","verb":"GET"},"rpop":{"url":"/ms/_rpop/:_id","verb":"POST"},"pttl":{"url":"/ms/_pttl/:_id","verb":"GET"},"persist":{"url":"/ms/_persist/:_id","verb":"POST"},"lpop":{"url":"/ms/_lpop/:_id","verb":"POST"},"llen":{"url":"/ms/_llen/:_id","verb":"GET"},"incr":{"url":"/ms/_incr/:_id","verb":"POST"},"hvals":{"url":"/ms/_hvals/:_id","verb":"GET"},"hlen":{"url":"/ms/_hlen/:_id","verb":"GET"},"hkeys":{"url":"/ms/_hkeys/:_id","verb":"GET"},"hgetall":{"url":"/ms/_hgetall/:_id","verb":"GET"},"get":{"url":"/ms/:_id","verb":"GET"},"decr":{"url":"/ms/_decr/:_id","verb":"POST"},"rpushx":{"url":"/ms/_rpushx/:_id","verb":"POST"},"lpushx":{"url":"/ms/_lpushx/:_id","verb":"POST"},"getset":{"url":"/ms/_getset/:_id","verb":"POST"},"sinter":{"url":"/ms/_sinter","verb":"GET"},"pfcount":{"url":"/ms/_pfcount","verb":"GET"},"incrbyfloat":{"url":"/ms/_incrbyfloat/:_id","verb":"POST"},"incrby":{"url":"/ms/_incrby/:_id","verb":"POST"},"geopos":{"url":"/ms/_geopos/:_id","verb":"GET"},"hget":{"url":"/ms/_hget/:_id/:field","verb":"GET"},"hsetnx":{"url":"/ms/_hsetnx/:_id","verb":"POST"},"msetnx":{"url":"/ms/_msetnx","verb":"POST"},"rpush":{"url":"/ms/_rpush/:_id","verb":"POST"},"hincrbyfloat":{"url":"/ms/_hincrbyfloat/:_id","verb":"POST"},"zrevrange":{"url":"/ms/_zrevrange/:_id","verb":"GET"},"zrank":{"url":"/ms/_zrank/:_id/:member","verb":"GET"},"zscore":{"url":"/ms/_zscore/:_id/:member","verb":"GET"},"zscan":{"url":"/ms/_zscan/:_id","verb":"GET"},"hscan":{"url":"/ms/_hscan/:_id","verb":"GET"},"exists":{"url":"/ms/_exists","verb":"GET"}},"realtime":{"list":{"url":"/_listSubscriptions","verb":"GET"},"publish":{"url":"/:index/:collection/_publish","verb":"POST"}},"server":{"getStats":{"url":"/_getStats","verb":"GET"},"getLastStats":{"url":"/_getLastStats","verb":"GET"},"getAllStats":{"url":"/_getAllStats","verb":"GET"},"getConfig":{"url":"/_getConfig","verb":"GET"},"adminExists":{"url":"/_adminExists","verb":"GET"},"now":{"url":"/_now","verb":"GET"},"healthCheck":{"url":"/_healthCheck","verb":"GET"},"info":{"url":"/","verb":"GET"}},"admin":{"resetKuzzleData":{"url":"/admin/_resetKuzzleData/","verb":"POST"},"resetCache":{"url":"/admin/_resetCache","verb":"POST"},"resetSecurity":{"url":"/admin/_resetSecurity/","verb":"POST"},"resetDatabase":{"url":"/admin/_resetDatabase/","verb":"POST"},"dump":{"url":"/admin/_dump","verb":"POST"},"shutdown":{"url":"/admin/_shutdown/","verb":"POST"},"loadFixtures":{"url":"/admin/_loadFixtures/","verb":"POST"},"loadMappings":{"url":"/admin/_loadMappings/","verb":"POST"},"loadSecurities":{"url":"/admin/_loadSecurities/","verb":"POST"}}}')}},t={},function r(s){var i=t[s];if(void 0!==i)return i.exports;var o=t[s]={exports:{}};return e[s].call(o.exports,o,o.exports,r),o.exports}(1045);var e,t}));
|
|
3
3
|
//# sourceMappingURL=kuzzle.js.map
|