From 8aa9d933cb57e8c8b523b2eaea295032b69d8864 Mon Sep 17 00:00:00 2001 From: Travis CI Date: Thu, 24 Dec 2015 14:21:33 +0000 Subject: [PATCH] Travis CI - [ci skip] - automatic dist folder --- dist/kuzzle.js | 139 ++++++++++++++++++++------------------------ dist/kuzzle.min.js | 4 +- dist/kuzzle.min.map | 2 +- 3 files changed, 67 insertions(+), 78 deletions(-) diff --git a/dist/kuzzle.js b/dist/kuzzle.js index e341b1a7e..dd6d3f921 100644 --- a/dist/kuzzle.js +++ b/dist/kuzzle.js @@ -4,74 +4,53 @@ // Copyright (c) 2010-2012 Robert Kieffer // MIT License - http://opensource.org/licenses/mit-license.php -/*global window, require, define */ -(function(_window) { - 'use strict'; +(function() { + var _global = this; // Unique ID creation requires a high quality random # generator. We feature // detect to determine the best RNG source, normalizing to a function that // returns 128-bits of randomness, since that's what's usually required - var _rng, _mathRNG, _nodeRNG, _whatwgRNG, _previousRoot; - - function setupBrowser() { - // Allow for MSIE11 msCrypto - var _crypto = _window.crypto || _window.msCrypto; - - if (!_rng && _crypto && _crypto.getRandomValues) { - // WHATWG crypto-based RNG - http://wiki.whatwg.org/wiki/Crypto - // - // Moderately fast, high quality - try { - var _rnds8 = new Uint8Array(16); - _whatwgRNG = _rng = function whatwgRNG() { - _crypto.getRandomValues(_rnds8); - return _rnds8; - }; - _rng(); - } catch(e) {} - } - - if (!_rng) { - // Math.random()-based (RNG) - // - // If all else fails, use Math.random(). It's fast, but is of unspecified - // quality. - var _rnds = new Array(16); - _mathRNG = _rng = function() { - for (var i = 0, r; i < 16; i++) { - if ((i & 0x03) === 0) { r = Math.random() * 0x100000000; } - _rnds[i] = r >>> ((i & 0x03) << 3) & 0xff; - } + var _rng; - return _rnds; - }; - if ('undefined' !== typeof console && console.warn) { - console.warn("[SECURITY] node-uuid: crypto not usable, falling back to insecure Math.random()"); - } - } + // Node.js crypto-based RNG - http://nodejs.org/docs/v0.6.2/api/crypto.html + // + // Moderately fast, high quality + if (typeof(_global.require) == 'function') { + try { + var _rb = _global.require('crypto').randomBytes; + _rng = _rb && function() {return _rb(16);}; + } catch(e) {} } - function setupNode() { - // Node.js crypto-based RNG - http://nodejs.org/docs/v0.6.2/api/crypto.html + if (!_rng && _global.crypto && crypto.getRandomValues) { + // WHATWG crypto-based RNG - http://wiki.whatwg.org/wiki/Crypto // // Moderately fast, high quality - if ('function' === typeof require) { - try { - var _rb = require('crypto').randomBytes; - _nodeRNG = _rng = _rb && function() {return _rb(16);}; - _rng(); - } catch(e) {} - } + var _rnds8 = new Uint8Array(16); + _rng = function whatwgRNG() { + crypto.getRandomValues(_rnds8); + return _rnds8; + }; } - if (_window) { - setupBrowser(); - } else { - setupNode(); + if (!_rng) { + // Math.random()-based (RNG) + // + // If all else fails, use Math.random(). It's fast, but is of unspecified + // quality. + var _rnds = new Array(16); + _rng = function() { + for (var i = 0, r; i < 16; i++) { + if ((i & 0x03) === 0) r = Math.random() * 0x100000000; + _rnds[i] = r >>> ((i & 0x03) << 3) & 0xff; + } + + return _rnds; + }; } // Buffer class to use - var BufferClass = ('function' === typeof Buffer) ? Buffer : Array; + var BufferClass = typeof(_global.Buffer) == 'function' ? _global.Buffer : Array; // Maps for number <-> hex string conversion var _byteToHex = []; @@ -140,17 +119,17 @@ options = options || {}; - var clockseq = (options.clockseq != null) ? options.clockseq : _clockseq; + var clockseq = options.clockseq != null ? options.clockseq : _clockseq; // UUID timestamps are 100 nano-second units since the Gregorian epoch, // (1582-10-15 00:00). JSNumbers aren't precise enough for this, so // time is handled internally as 'msecs' (integer milliseconds) and 'nsecs' // (100-nanoseconds offset from msecs) since unix epoch, 1970-01-01 00:00. - var msecs = (options.msecs != null) ? options.msecs : new Date().getTime(); + var msecs = options.msecs != null ? options.msecs : new Date().getTime(); // Per 4.2.1.2, use count of uuid's generated during the current clock // cycle to simulate higher resolution clock - var nsecs = (options.nsecs != null) ? options.nsecs : _lastNSecs + 1; + var nsecs = options.nsecs != null ? options.nsecs : _lastNSecs + 1; // Time since last uuid creation (in msecs) var dt = (msecs - _lastMSecs) + (nsecs - _lastNSecs)/10000; @@ -216,8 +195,8 @@ // Deprecated - 'format' argument, as supported in v1.2 var i = buf && offset || 0; - if (typeof(options) === 'string') { - buf = (options === 'binary') ? new BufferClass(16) : null; + if (typeof(options) == 'string') { + buf = options == 'binary' ? new BufferClass(16) : null; options = null; } options = options || {}; @@ -245,32 +224,28 @@ uuid.parse = parse; uuid.unparse = unparse; uuid.BufferClass = BufferClass; - uuid._rng = _rng; - uuid._mathRNG = _mathRNG; - uuid._nodeRNG = _nodeRNG; - uuid._whatwgRNG = _whatwgRNG; - if (('undefined' !== typeof module) && module.exports) { + if (typeof(module) != 'undefined' && module.exports) { // Publish as node.js module module.exports = uuid; - } else if (typeof define === 'function' && define.amd) { + } else if (typeof define === 'function' && define.amd) { // Publish as AMD module define(function() {return uuid;}); - + } else { // Publish as global (in browsers) - _previousRoot = _window.uuid; + var _previousRoot = _global.uuid; // **`noConflict()` - (browser only) to reset global 'uuid' var** uuid.noConflict = function() { - _window.uuid = _previousRoot; + _global.uuid = _previousRoot; return uuid; }; - _window.uuid = uuid; + _global.uuid = uuid; } -})('undefined' !== typeof window ? window : null); +}).call(this); },{}],2:[function(require,module,exports){ var @@ -288,15 +263,16 @@ var /** * Kuzzle object constructor. * @param url - URL to the Kuzzle instance + * @param index - Database index * @param [options] - Connection options * @param {responseCallback} [cb] - Handles connection response * @constructor */ -module.exports = Kuzzle = function (url, options, cb) { +module.exports = Kuzzle = function (url, index, options, cb) { var self = this; if (!(this instanceof Kuzzle)) { - return new Kuzzle(url, options, cb); + return new Kuzzle(url, index, options, cb); } if (!cb && typeof options === 'function') { @@ -305,7 +281,11 @@ module.exports = Kuzzle = function (url, options, cb) { } if (!url || url === '') { - throw new Error('URL to Kuzzle can\'t be empty'); + throw new Error('URL argument missing'); + } + + if (!index || index === '') { + throw new Error('Index argument missing'); } Object.defineProperties(this, { @@ -369,7 +349,7 @@ module.exports = Kuzzle = function (url, options, cb) { enumerable: true }, index: { - value: (options && typeof options.index === 'string') ? options.index : 'mainindex', + value: index, enumerable: true }, reconnectionDelay: { @@ -1822,7 +1802,15 @@ KuzzleDataMapping.prototype.refresh = function (options, cb) { return cb ? cb(err) : false; } - self.mapping = res.mainindex.mappings[self.collection].properties; + if (res[self.kuzzle.index]) { + if (res[self.kuzzle.index].mappings[self.collection]) { + self.mapping = res[self.kuzzle.index].mappings[self.collection].properties; + } else { + return cb ? cb(new Error('No mapping found for collection ' + self.collection)) : false; + } + } else { + return cb ? cb(new Error('No mapping found for index ' + self.kuzzle.index)) : false; + } if (cb) { cb(null, self); @@ -1839,6 +1827,7 @@ KuzzleDataMapping.prototype.refresh = function (options, cb) { * Changes made by this function won’t be applied until you call the apply method * * @param {string} field - Name of the field from which the mapping is to be added or updated + * @param {object} mapping - corresponding field mapping * @returns {KuzzleDataMapping} */ KuzzleDataMapping.prototype.set = function (field, mapping) { diff --git a/dist/kuzzle.min.js b/dist/kuzzle.min.js index 8e75b6416..1808cddff 100644 --- a/dist/kuzzle.min.js +++ b/dist/kuzzle.min.js @@ -1,3 +1,3 @@ -// Official Javascript SDK for Kuzzle v1.1.1 - License: Apache-2.0 -!function a(b,c,d){function e(g,h){if(!c[g]){if(!b[g]){var i="function"==typeof require&&require;if(!h&&i)return i(g,!0);if(f)return f(g,!0);var j=new Error("Cannot find module '"+g+"'");throw j.code="MODULE_NOT_FOUND",j}var k=c[g]={exports:{}};b[g][0].call(k.exports,function(a){var c=b[g][1][a];return e(c?c:a)},k,k.exports,a,b,c,d)}return c[g].exports}for(var f="function"==typeof require&&require,g=0;gb;b++)0===(3&b)&&(a=4294967296*Math.random()),e[b]=a>>>((3&b)<<3)&255;return e},"undefined"!=typeof console&&console.warn&&console.warn("[SECURITY] node-uuid: crypto not usable, falling back to insecure Math.random()")}}function e(){if("function"==typeof a)try{var b=a("crypto").randomBytes;l=j=b&&function(){return b(16)},j()}catch(c){}}function f(a,b,c){var d=b&&c||0,e=0;for(b=b||[],a.toLowerCase().replace(/[0-9a-f]{2}/g,function(a){16>e&&(b[d+e++]=q[a])});16>e;)b[d+e++]=0;return b}function g(a,b){var c=b||0,d=p;return d[a[c++]]+d[a[c++]]+d[a[c++]]+d[a[c++]]+"-"+d[a[c++]]+d[a[c++]]+"-"+d[a[c++]]+d[a[c++]]+"-"+d[a[c++]]+d[a[c++]]+"-"+d[a[c++]]+d[a[c++]]+d[a[c++]]+d[a[c++]]+d[a[c++]]+d[a[c++]]}function h(a,b,c){var d=b&&c||0,e=b||[];a=a||{};var f=null!=a.clockseq?a.clockseq:u,h=null!=a.msecs?a.msecs:(new Date).getTime(),i=null!=a.nsecs?a.nsecs:w+1,j=h-v+(i-w)/1e4;if(0>j&&null==a.clockseq&&(f=f+1&16383),(0>j||h>v)&&null==a.nsecs&&(i=0),i>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");v=h,w=i,u=f,h+=122192928e5;var k=(1e4*(268435455&h)+i)%4294967296;e[d++]=k>>>24&255,e[d++]=k>>>16&255,e[d++]=k>>>8&255,e[d++]=255&k;var l=h/4294967296*1e4&268435455;e[d++]=l>>>8&255,e[d++]=255&l,e[d++]=l>>>24&15|16,e[d++]=l>>>16&255,e[d++]=f>>>8|128,e[d++]=255&f;for(var m=a.node||t,n=0;6>n;n++)e[d+n]=m[n];return b?b:g(e)}function i(a,b,c){var d=b&&c||0;"string"==typeof a&&(b="binary"===a?new o(16):null,a=null),a=a||{};var e=a.random||(a.rng||j)();if(e[6]=15&e[6]|64,e[8]=63&e[8]|128,b)for(var f=0;16>f;f++)b[d+f]=e[f];return b||g(e)}var j,k,l,m,n;c?d():e();for(var o="function"==typeof Buffer?Buffer:Array,p=[],q={},r=0;256>r;r++)p[r]=(r+256).toString(16).substr(1),q[p[r]]=r;var s=j(),t=[1|s[0],s[1],s[2],s[3],s[4],s[5]],u=16383&(s[6]<<8|s[7]),v=0,w=0,x=i;x.v1=h,x.v4=i,x.parse=f,x.unparse=g,x.BufferClass=o,x._rng=j,x._mathRNG=k,x._nodeRNG=l,x._whatwgRNG=m,"undefined"!=typeof b&&b.exports?b.exports=x:"function"==typeof define&&define.amd?define(function(){return x}):(n=c.uuid,x.noConflict=function(){return c.uuid=n,x},c.uuid=x)}("undefined"!=typeof window?window:null)},{}],2:[function(a,b,c){function d(){var a=this,b=Date.now(),c=-1;a.queueTTL>0&&(a.offlineQueue.forEach(function(d,e){d.ts0&&a.offlineQueue.length>a.queueMaxSize&&a.offlineQueue.splice(0,a.offlineQueue.length-a.queueMaxSize)}function e(a,b){var c=Date.now(),d=this;b&&d.socket.once(a.requestId,function(a){b(a.error,a.result)}),d.socket.emit("kuzzle",a),d.requestHistory[a.requestId]=c,Object.keys(d.requestHistory).forEach(function(a){d.requestHistory[a]0?(e.call(a,a.offlineQueue[0].query,a.offlineQueue[0].cb),a.offlineQueue.shift(),setTimeout(function(){f.call(a)},Math.max(0,a.replayInterval))):a.queuing=!1}var g=a("node-uuid"),h=a("./kuzzleDataCollection");b.exports=Kuzzle=function(b,c,d){var e=this;if(!(this instanceof Kuzzle))return new Kuzzle(b,c,d);if(d||"function"!=typeof c||(d=c,c=null),!b||""===b)throw new Error("URL to Kuzzle can't be empty");return Object.defineProperties(this,{collections:{value:{},writable:!0},connectCB:{value:d},eventListeners:{value:{connected:[],error:[],disconnected:[],reconnected:[]}},io:{value:null,writable:!0},queuing:{value:!1,writable:!0},requestHistory:{value:{},writable:!0},socket:{value:null,writable:!0},state:{value:"initializing",writable:!0},subscriptions:{value:{pending:{}},writable:!0},autoReconnect:{value:c&&"boolean"==typeof c.autoReconnect?c.autoReconnect:!0,enumerable:!0},index:{value:c&&"string"==typeof c.index?c.index:"mainindex",enumerable:!0},reconnectionDelay:{value:c&&"number"==typeof c.reconnectionDelay?c.reconnectionDelay:1e3,enumerable:!0},url:{value:b,enumerable:!0},autoQueue:{value:!1,enumerable:!0,writable:!0},autoReplay:{value:!1,enumerable:!0,writable:!0},autoResubscribe:{value:!0,enumerable:!0,writable:!0},headers:{value:{},enumerable:!0,writable:!0},metadata:{value:{},enumerable:!0,writable:!0},offlineQueue:{value:[],enumerable:!0,writable:!0},queueFilter:{value:null,enumerable:!0,writable:!0},queueMaxSize:{value:500,enumerable:!0,writable:!0},queueTTL:{value:12e4,enumerable:!0,writable:!0},replayInterval:{value:10,enumerable:!0,writable:!0}}),"undefined"!=typeof window&&window.io?this.io=window.io:this.io=a("socket.io-client"),c&&(Object.keys(c).forEach(function(a){e.hasOwnProperty(a)&&Object.getOwnPropertyDescriptor(e,a).writable&&(e[a]=c[a])}),"auto"===c.offlineMode&&this.autoReconnect&&(this.autoQueue=this.autoReplay=this.autoResubscribe=!0)),Object.defineProperty(this,"isValid",{value:function(){if("loggedOff"===this.state)throw new Error("This Kuzzle object has been invalidated. Did you try to access it after a logout call?")}}),Object.defineProperty(this,"addHeaders",{value:function(a,b){return Object.keys(b).forEach(function(c){a[c]||(a[c]=b[c])}),a}}),Object.defineProperty(this,"callbackRequired",{value:function(a,b){if(!b||"function"!=typeof b)throw new Error(a+": a callback argument is required for read queries")}}),c&&c.connect&&"auto"!==c.connect?this.state="ready":this.connect(),this.bluebird?this.bluebird.promisifyAll(this,{suffix:"Promise",filter:function(a,b,c,d){var e=["getAllStatistics","getStatistics","listCollections","now","query"];return d&&-1!==e.indexOf(a)}}):this},Kuzzle.prototype.connect=function(){var a=this;return-1===["initializing","ready","loggedOff","error","offline"].indexOf(this.state)?(a.connectCB&&a.connectCB(null,a),a):(a.state="connecting",a.socket=a.io(a.url,{reconnection:a.autoReconnect,reconnectionDelay:a.reconnectionDelay,"force new connection":!0}),a.socket.once("connect",function(){a.state="connected",Object.keys(a.subscriptions).forEach(function(b){Object.keys(a.subscriptions[b]).forEach(function(c){var d=a.subscriptions[b][c];d.renew(d.callback)})}),f.call(a),a.eventListeners.connected.forEach(function(a){a.fn()}),a.connectCB&&a.connectCB(null,a)}),a.socket.on("connect_error",function(b){a.state="error",a.eventListeners.error.forEach(function(a){a.fn()}),a.connectCB&&a.connectCB(b)}),a.socket.on("disconnect",function(){a.state="offline",a.autoReconnect||a.logout(),a.autoQueue&&(a.queuing=!0),a.eventListeners.disconnected.forEach(function(a){a.fn()})}),a.socket.on("reconnect",function(){a.state="connected",a.autoResubscribe&&Object.keys(a.subscriptions).forEach(function(b){Object.keys(a.subscriptions[b]).forEach(function(c){var d=a.subscriptions[b][c];d.renew(d.callback)})}),a.autoReplay&&(d.call(a),f.call(a)),a.eventListeners.reconnected.forEach(function(a){a.fn()})}),this)},Kuzzle.prototype.addListener=function(a,b){var c,d=Object.keys(this.eventListeners),e=typeof b;if(this.isValid(),-1===d.indexOf(a))throw new Error("["+a+"] is not a known event. Known events: "+d.toString());if("function"!==e)throw new Error("Invalid listener type: expected a function, got a "+e);return c=g.v1(),this.eventListeners[a].push({id:c,fn:b}),c},Kuzzle.prototype.getAllStatistics=function(a,b){return b||"function"!=typeof a||(b=a,a=null),this.callbackRequired("Kuzzle.getAllStatistics",b),this.query(null,"admin","getAllStats",{},a,function(a,c){return a?b(a):void b(null,c.statistics)}),this},Kuzzle.prototype.getStatistics=function(a,b,c){var d;return c||(1===arguments.length?(c=arguments[0],b=null,a=null):(c=arguments[1],"object"==typeof arguments[0]?(b=arguments[0],a=null):(a=arguments[0],b=null))),d=function(b,d){return b?c(b):void(a?c(null,d.statistics):c(null,[d.statistics]))},this.callbackRequired("Kuzzle.getStatistics",c),a?this.query(null,"admin","getStats",{body:{startTime:a}},b,d):this.query(null,"admin","getLastStats",{},b,d),this},Kuzzle.prototype.dataCollectionFactory=function(a,b){return this.isValid(),this.collections[a]||(this.collections[a]=new h(this,a,b)),this.collections[a]},Kuzzle.prototype.flushQueue=function(){return this.offlineQueue=[],this},Kuzzle.prototype.listCollections=function(a,b){var c="all";return b||"function"!=typeof a||(b=a,a=null),this.callbackRequired("Kuzzle.listCollections",b),a&&a.type&&(c=a.type),this.query(null,"read","listCollections",{body:{type:c}},a,function(a,c){return a?b(a):b(null,c.collections)}),this},Kuzzle.prototype.logout=function(){var a;this.state="loggedOff",this.socket.close(),this.socket=null;for(a in this.collections)this.collections.hasOwnProperty(a)&&delete this.collections[a]},Kuzzle.prototype.now=function(a,b){return b||"function"!=typeof a||(b=a,a=null),this.callbackRequired("Kuzzle.now",b),this.query(null,"read","now",{},a,function(a,c){return a?b(a):void b(null,c.now)}),this},Kuzzle.prototype.query=function(a,b,c,f,h,i){var j,k={action:c,controller:b,index:this.index,metadata:this.metadata},l=this;if(this.isValid(),i||"function"!=typeof h||(i=h,h=null),h&&(h.metadata&&Object.keys(h.metadata).forEach(function(a){k.metadata[a]=h.metadata[a]}),h.queuable===!1&&"offline"===l.state))return l;f.metadata&&Object.keys(f.metadata).forEach(function(a){k.metadata[a]=f.metadata[a]});for(j in f)"metadata"!==j&&f.hasOwnProperty(j)&&(k[j]=f[j]);return k=l.addHeaders(k,this.headers),a&&(k.collection=a),k.requestId||(k.requestId=g.v4()),"connected"===l.state||h&&h.queuable===!1?e.call(this,k,i):(l.queuing||-1!==["initializing","connecting"].indexOf(l.state))&&(d.call(this,k,i),l.queueFilter?l.queueFilter(k)&&l.offlineQueue.push({ts:Date.now(),query:k,cb:i}):l.offlineQueue.push({ts:Date.now(),query:k,cb:i})),l},Kuzzle.prototype.removeAllListeners=function(a){var b=Object.keys(this.eventListeners),c=this;if(a){if(-1===b.indexOf(a))throw new Error("["+a+"] is not a known event. Known events: "+b.toString());this.eventListeners[a]=[]}else b.forEach(function(a){c.eventListeners[a]=[]})},Kuzzle.prototype.removeListener=function(a,b){var c=Object.keys(this.eventListeners),d=this;if(-1===c.indexOf(a))throw new Error("["+a+"] is not a known event. Known events: "+c.toString());this.eventListeners[a].forEach(function(c,e){c.id===b&&d.eventListeners[a].splice(e,1)})},Kuzzle.prototype.replayQueue=function(){return"offline"===this.state||this.autoReplay||(d.call(this),f.call(this)),this},Kuzzle.prototype.setHeaders=function(a,b){var c=this;if("object"!=typeof a||Array.isArray(a))throw new Error("Expected a content object, received a "+typeof a);return b?c.headers=a:Object.keys(a).forEach(function(b){c.headers[b]=a[b]}),c},Kuzzle.prototype.startQueuing=function(){return"offline"!==this.state||this.autoQueue||(this.queuing=!0),this},Kuzzle.prototype.stopQueuing=function(){return"offline"!==this.state||this.autoQueue||(this.queuing=!1),this}},{"./kuzzleDataCollection":3,"node-uuid":1,"socket.io-client":void 0}],3:[function(a,b,c){function d(a,b){return Object.defineProperties(this,{collection:{value:b,enumerable:!0},kuzzle:{value:a,enumerable:!0},headers:{value:JSON.parse(JSON.stringify(a.headers)),enumerable:!0,writable:!0}}),this.kuzzle.bluebird?this.kuzzle.bluebird.promisifyAll(this,{suffix:"Promise",filter:function(a,b,c,d){var e=["publishMessage","setHeaders","subscribe"];return d&&-1===e.indexOf(a)}}):this}var e=a("./kuzzleDocument"),f=a("./kuzzleDataMapping"),g=a("./kuzzleRoom");d.prototype.advancedSearch=function(a,b,c){var d,e=this;return c||"function"!=typeof b||(c=b,b=null),e.kuzzle.callbackRequired("KuzzleDataCollection.advancedSearch",c),d=e.kuzzle.addHeaders({body:a},this.headers),e.kuzzle.query(this.collection,"read","search",d,b,function(a,b){var d=[];return a?c(a):(b.hits.hits.forEach(function(a){d.push(e.documentFactory(a._id,a))}),void c(null,{total:b.hits.total,documents:d}))}),this},d.prototype.count=function(a,b,c){var d;return c||"function"!=typeof b||(c=b,b=null),this.kuzzle.callbackRequired("KuzzleDataCollection.count",c),d=this.kuzzle.addHeaders({body:a},this.headers),this.kuzzle.query(this.collection,"read","count",d,b,function(a,b){return a?c(a):void c(null,b.count)}),this},d.prototype.create=function(a,b){var c={};return b||"function"!=typeof a||(b=a,a=null),c=this.kuzzle.addHeaders(c,this.headers),this.kuzzle.query(this.collection,"write","createCollection",c,a,b),this},d.prototype.createDocument=function(a,b,c,d){var f=this,g={},h="create";return a&&"string"!=typeof a&&(d=c,c=b,b=a,a=null),d||"function"!=typeof c||(d=c,c=null),b instanceof e?g=b.toJSON():g.body=b,c&&(h=c.updateIfExist?"createOrUpdate":"create"),a&&(g._id=a),g.persist=!0,g=f.kuzzle.addHeaders(g,f.headers),d?f.kuzzle.query(this.collection,"write",h,g,c,function(a,b){return a?d(a):void d(null,f.documentFactory(b._id,b))}):this.kuzzle.query(this.collection,"write",h,g,c),this},d.prototype["delete"]=function(a,b){var c={};return b||"function"!=typeof a||(b=a,a=null),c=this.kuzzle.addHeaders(c,this.headers),this.kuzzle.query(this.collection,"admin","deleteCollection",c,a,b),this},d.prototype.deleteDocument=function(a,b,c){var d,e={};return"string"==typeof a?(e._id=a,d="delete"):(e.body=a,d="deleteByQuery"),c||"function"!=typeof b||(c=b,b=null),e=this.kuzzle.addHeaders(e,this.headers),c?this.kuzzle.query(this.collection,"write",d,e,b,function(a,b){return a?c(a):void("delete"===d?c(null,[e._id]):c(null,b.ids))}):this.kuzzle.query(this.collection,"write",d,e,b),this},d.prototype.fetchDocument=function(a,b,c){var d={_id:a},e=this;return c||"function"!=typeof b||(c=b,b=null),e.kuzzle.callbackRequired("KuzzleDataCollection.fetch",c),d=e.kuzzle.addHeaders(d,this.headers),e.kuzzle.query(this.collection,"read","get",d,b,function(a,b){return a?c(a):void c(null,e.documentFactory(b._id,b))}),this},d.prototype.fetchAllDocuments=function(a,b){return b||"function"!=typeof a||(b=a,a=null),this.kuzzle.callbackRequired("KuzzleDataCollection.fetchAll",b),this.advancedSearch({},a,b),this},d.prototype.getMapping=function(a,b){var c;return b||"function"!=typeof a||(b=a,a=null),this.kuzzle.callbackRequired("KuzzleDataCollection.getMapping",b),c=new f(this),c.refresh(a,b),this},d.prototype.publishMessage=function(a,b){var c={};return a instanceof e?c=a.toJSON():c.body=a,c.persist=!1,c=this.kuzzle.addHeaders(c,this.headers),this.kuzzle.query(this.collection,"write","publish",c,b),this},d.prototype.putMapping=function(a,b,c){var d;return c||"function"!=typeof b||(c=b,b=null),d=new f(this,a),d.apply(b,c),this},d.prototype.replaceDocument=function(a,b,c,d){var e=this,f={_id:a,body:b};return d||"function"!=typeof c||(d=c,c=null),f=e.kuzzle.addHeaders(f,this.headers),d?e.kuzzle.query(this.collection,"write","createOrUpdate",f,c,function(a,b){return a?d(a):void d(null,e.documentFactory(b._id,b))}):e.kuzzle.query(this.collection,"write","createOrUpdate",f,c),this},d.prototype.subscribe=function(a,b,c){var d;return c||"function"!=typeof b||(c=b,b=null),this.kuzzle.callbackRequired("KuzzleDataCollection.subscribe",c),d=new g(this,b),d.renew(a,c)},d.prototype.truncate=function(a,b){var c={};return b||"function"!=typeof a||(b=a,a=null),c=this.kuzzle.addHeaders(c,this.headers),this.kuzzle.query(this.collection,"admin","truncateCollection",c,a,b),this},d.prototype.updateDocument=function(a,b,c,d){var f={_id:a,body:b},g=this;return d||"function"!=typeof c||(d=c,c=null),f=g.kuzzle.addHeaders(f,this.headers),d?g.kuzzle.query(this.collection,"write","update",f,c,function(a,b){var c;return a?d(a):(c=new e(g,b._id),void d(null,c))}):g.kuzzle.query(this.collection,"write","update",f,c),g},d.prototype.documentFactory=function(a,b){var c=b._source?new e(this,a,b._source):new e(this,a,b);return c},d.prototype.roomFactory=function(a){return new g(this,a)},d.prototype.dataMappingFactory=function(a){return new f(this,a)},d.prototype.setHeaders=function(a,b){return this.kuzzle.setHeaders.call(this,a,b),this},b.exports=d},{"./kuzzleDataMapping":4,"./kuzzleDocument":5,"./kuzzleRoom":6}],4:[function(a,b,c){function d(a,b){return Object.defineProperties(this,{collection:{value:a.collection,eunmerable:!0},kuzzle:{value:a.kuzzle,enumerable:!0},headers:{value:JSON.parse(JSON.stringify(a.headers)),enumerable:!0,writable:!0},mapping:{value:b||{},enumerable:!0,writable:!0}}),this.kuzzle.bluebird?this.kuzzle.bluebird.promisifyAll(this,{suffix:"Promise",filter:function(a,b,c,d){var e=["set","setHeaders"];return d&&-1===e.indexOf(a)}}):this}d.prototype.apply=function(a,b){var c=this,d=this.kuzzle.addHeaders({body:{properties:this.mapping}},this.headers);return b||"function"!=typeof a||(b=a,a=null),c.kuzzle.query(this.collection,"admin","putMapping",d,a,function(a,d){return a?b?b(a):!1:(c.mapping=d._source.properties,void(b&&b(null,c)))}),this},d.prototype.refresh=function(a,b){var c=this,d=this.kuzzle.addHeaders({},this.headers);return b||"function"!=typeof a||(b=a,a=null),this.kuzzle.query(this.collection,"admin","getMapping",d,a,function(a,d){return a?b?b(a):!1:(c.mapping=d.mainindex.mappings[c.collection].properties,void(b&&b(null,c)))}),this},d.prototype.set=function(a,b){return this.mapping[a]=b,this},d.prototype.setHeaders=function(a,b){return this.kuzzle.setHeaders.call(this,a,b),this},b.exports=d},{}],5:[function(a,b,c){function d(a,b,c){return Object.defineProperties(this,{queue:{value:[],writable:!0},refreshing:{value:!1,writable:!0},collection:{value:a.collection,enumerable:!0},dataCollection:{value:a,enumerable:!0},kuzzle:{value:a.kuzzle,enumerable:!0},id:{value:void 0,enumerable:!0,writable:!0},content:{value:{},writable:!0,enumerable:!0},headers:{value:JSON.parse(JSON.stringify(a.headers)),enumerable:!0,writable:!0},version:{value:void 0,enumerable:!0,writable:!0}}),!c&&b&&"object"==typeof b&&(c=b,b=null),c&&(c._version&&(this.version=c._version,delete c._version),this.setContent(c,!0)),b&&(Object.defineProperty(this,"id",{value:b,enumerable:!0}),c||this.refresh()),this.kuzzle.bluebird?this.kuzzle.bluebird.promisifyAll(this,{suffix:"Promise",filter:function(a,b,c,d){var e=["delete","refresh","save"];return d&&-1!==e.indexOf(a)}}):this}function e(){for(var a;this.queue.length>0;)a=this.queue.shift(),this[a.action].apply(this,a.args)}d.prototype.toJSON=function(){var a={};return this.id&&(a._id=this.id),a.body=this.content,a._version=this.version,a=this.kuzzle.addHeaders(a,this.headers)},d.prototype.toString=function(){return JSON.stringify(this.toJSON())},d.prototype["delete"]=function(a,b){var c=this;if(b||"function"!=typeof a||(b=a,a=null),this.refreshing)return this.queue.push({action:"delete",args:[a,b]}),this;if(!this.id)throw new Error("KuzzleDocument.delete: cannot delete a document without a document ID");return b?this.kuzzle.query(this.collection,"write","delete",this.toJSON(),a,function(a){return a?b(a):void b(null,c)}):this.kuzzle.query(this.collection,"write","delete",this.toJSON(),a),this},d.prototype.refresh=function(a,b){var c=this;if(b||"function"!=typeof a||(b=a,a=null),this.refreshing)return this.queue.push({action:"refresh",args:[a,b]}),this;if(!c.id)throw new Error("KuzzleDocument.refresh: cannot retrieve a document if no ID has been provided");return c.refreshing=!0,c.kuzzle.query(c.collection,"read","get",{_id:c.id},a,function(a,d){return a?(c.refreshing=!1,c.queue=[],b?b(a):!1):(c.version=d._version,c.content=d._source,b&&b(null,c),c.refreshing=!1,void e.call(c))}),this},d.prototype.save=function(a,b){var c=this.toJSON(),d=this;return a&&void 0===b&&"function"==typeof a&&(b=a,a=null),d.refreshing?(d.queue.push({action:"save",args:[a,b]}),d):(c.persist=!0,d.kuzzle.query(this.collection,"write","createOrUpdate",c,a,function(a,c){return a?b?b(a):!1:(d.id=c._id,d.version=c._version,void(b&&b(null,d)))}),d)},d.prototype.publish=function(a){var b=this.toJSON();return this.refreshing?(this.queue.push({action:"publish",args:[a]}),this):(b.persist=!1,this.kuzzle.query(this.collection,"write","publish",b,a),this)},d.prototype.setContent=function(a,b){var c=this;return this.refreshing?(this.queue.push({action:"setContent",args:[a,b]}),this):(b?this.content=a:Object.keys(a).forEach(function(b){c.content[b]=a[b]}),this)},d.prototype.subscribe=function(a,b){var c;if(a&&!b&&"function"==typeof a&&(b=a,a=null),this.kuzzle.callbackRequired("KuzzleDocument.subscribe",b),!this.id)throw new Error("KuzzleDocument.subscribe: cannot subscribe to a document if no ID has been provided");return c={ids:{values:[this.id]}},this.dataCollection.subscribe(c,a,b)},d.prototype.setHeaders=function(a,b){return this.kuzzle.setHeaders.call(this,a,b),this},b.exports=d},{}],6:[function(a,b,c){function d(a,b){return Object.defineProperties(this,{callback:{value:null,writable:!0},channel:{value:null,writable:!0},id:{value:g.v4()},notifier:{value:null,writable:!0},queue:{value:[],writable:!0},scope:{value:b&&b.scope?b.scope:"all"},state:{value:b&&b.state?b.state:"done"},subscribing:{value:!1,writable:!0},users:{value:b&&b.users?b.users:"none"},collection:{value:a.collection,enumerable:!0},kuzzle:{value:a.kuzzle,enumerable:!0},filters:{value:null,enumerable:!0,writable:!0},headers:{value:JSON.parse(JSON.stringify(a.headers)),enumerable:!0,writable:!0},metadata:{value:b&&b.metadata?b.metadata:{},enumerable:!0,writable:!0},roomId:{value:null,enumerable:!0,writable:!0},subscribeToSelf:{value:b&&"boolean"==typeof b.subscribeToSelf?b.subscribeToSelf:!0,enumerable:!0,writable:!0}}),this.kuzzle.bluebird?this.kuzzle.bluebird.promisifyAll(this,{suffix:"Promise",filter:function(a,b,c,d){var e=["count"];return d&&-1!==e.indexOf(a)}}):this}function e(a){return a.error?this.callback(a.error):void(this.kuzzle.requestHistory[a.result.requestId]?(this.subscribeToSelf&&this.callback(null,a.result),delete this.kuzzle.requestHistory[a.result.requestId]):this.callback(null,a.result))}function f(){for(var a;this.queue.length>0;)a=this.queue.shift(),this[a.action].apply(this,a.args)}var g=a("node-uuid");d.prototype.count=function(a){var b;return this.kuzzle.callbackRequired("KuzzleRoom.count",a),b=this.kuzzle.addHeaders({body:{roomId:this.roomId}},this.headers),this.subscribing?(this.queue.push({action:"count",args:[a]}),this):(this.kuzzle.query(this.collection,"subscribe","count",b,function(b,c){return b?a(b):void a(null,c.count)}),this)},d.prototype.renew=function(a,b){var c={scope:this.scope,state:this.state,users:this.users},d=this;return!b&&a&&"function"==typeof a&&(b=a,a=null),this.subscribing?(this.queue.push({action:"renew",args:[a,b]}),this):(this.kuzzle.callbackRequired("KuzzleRoom.renew",b),this.unsubscribe(),this.roomId=null,this.subscribing=!0,this.callback=b,this.kuzzle.subscriptions.pending[d.id]=d,a&&(this.filters=a),c.body=this.filters,c=this.kuzzle.addHeaders(c,this.headers),d.kuzzle.query(this.collection,"subscribe","on",c,{metadata:this.metadata},function(a,b){if(delete d.kuzzle.subscriptions.pending[d.id],d.subscribing=!1,a)throw d.queue=[],new Error("Error during Kuzzle subscription: "+a.message);d.roomId=b.roomId,d.channel=b.channel,d.kuzzle.subscriptions[d.roomId]||(d.kuzzle.subscriptions[d.roomId]={}),d.kuzzle.subscriptions[d.roomId][d.id]=d,d.notifier=e.bind(d),d.kuzzle.socket.on(d.channel,d.notifier),f.call(d)}),this)},d.prototype.unsubscribe=function(){var a,b=this,c=b.roomId;return b.subscribing?(b.queue.push({action:"unsubscribe",args:[]}),b):(c&&(b.kuzzle.socket.off(b.channel,this.notifier),1===Object.keys(b.kuzzle.subscriptions[c]).length?(delete b.kuzzle.subscriptions[c],0===Object.keys(b.kuzzle.subscriptions.pending).length?b.kuzzle.query(this.collection,"subscribe","off",{body:{roomId:c}}):a=setInterval(function(){0===Object.keys(b.kuzzle.subscriptions.pending).length&&(b.kuzzle.subscriptions[c]||b.kuzzle.query(b.collection,"subscribe","off",{body:{roomId:c}}),clearInterval(a))},100)):delete b.kuzzle.subscriptions[c][b.id],b.roomId=null),b)},d.prototype.setHeaders=function(a,b){return this.kuzzle.setHeaders.call(this,a,b),this},b.exports=d},{"node-uuid":1}]},{},[2]); +// Official Javascript SDK for Kuzzle v1.2.0 - License: Apache-2.0 +!function a(b,c,d){function e(g,h){if(!c[g]){if(!b[g]){var i="function"==typeof require&&require;if(!h&&i)return i(g,!0);if(f)return f(g,!0);var j=new Error("Cannot find module '"+g+"'");throw j.code="MODULE_NOT_FOUND",j}var k=c[g]={exports:{}};b[g][0].call(k.exports,function(a){var c=b[g][1][a];return e(c?c:a)},k,k.exports,a,b,c,d)}return c[g].exports}for(var f="function"==typeof require&&require,g=0;ge&&(b[d+e++]=n[a])});16>e;)b[d+e++]=0;return b}function c(a,b){var c=b||0,d=m;return d[a[c++]]+d[a[c++]]+d[a[c++]]+d[a[c++]]+"-"+d[a[c++]]+d[a[c++]]+"-"+d[a[c++]]+d[a[c++]]+"-"+d[a[c++]]+d[a[c++]]+"-"+d[a[c++]]+d[a[c++]]+d[a[c++]]+d[a[c++]]+d[a[c++]]+d[a[c++]]}function d(a,b,d){var e=b&&d||0,f=b||[];a=a||{};var g=null!=a.clockseq?a.clockseq:r,h=null!=a.msecs?a.msecs:(new Date).getTime(),i=null!=a.nsecs?a.nsecs:t+1,j=h-s+(i-t)/1e4;if(0>j&&null==a.clockseq&&(g=g+1&16383),(0>j||h>s)&&null==a.nsecs&&(i=0),i>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");s=h,t=i,r=g,h+=122192928e5;var k=(1e4*(268435455&h)+i)%4294967296;f[e++]=k>>>24&255,f[e++]=k>>>16&255,f[e++]=k>>>8&255,f[e++]=255&k;var l=h/4294967296*1e4&268435455;f[e++]=l>>>8&255,f[e++]=255&l,f[e++]=l>>>24&15|16,f[e++]=l>>>16&255,f[e++]=g>>>8|128,f[e++]=255&g;for(var m=a.node||q,n=0;6>n;n++)f[e+n]=m[n];return b?b:c(f)}function e(a,b,d){var e=b&&d||0;"string"==typeof a&&(b="binary"==a?new l(16):null,a=null),a=a||{};var g=a.random||(a.rng||f)();if(g[6]=15&g[6]|64,g[8]=63&g[8]|128,b)for(var h=0;16>h;h++)b[e+h]=g[h];return b||c(g)}var f,g=this;if("function"==typeof g.require)try{var h=g.require("crypto").randomBytes;f=h&&function(){return h(16)}}catch(i){}if(!f&&g.crypto&&crypto.getRandomValues){var j=new Uint8Array(16);f=function(){return crypto.getRandomValues(j),j}}if(!f){var k=new Array(16);f=function(){for(var a,b=0;16>b;b++)0===(3&b)&&(a=4294967296*Math.random()),k[b]=a>>>((3&b)<<3)&255;return k}}for(var l="function"==typeof g.Buffer?g.Buffer:Array,m=[],n={},o=0;256>o;o++)m[o]=(o+256).toString(16).substr(1),n[m[o]]=o;var p=f(),q=[1|p[0],p[1],p[2],p[3],p[4],p[5]],r=16383&(p[6]<<8|p[7]),s=0,t=0,u=e;if(u.v1=d,u.v4=e,u.parse=a,u.unparse=c,u.BufferClass=l,"undefined"!=typeof b&&b.exports)b.exports=u;else if("function"==typeof define&&define.amd)define(function(){return u});else{var v=g.uuid;u.noConflict=function(){return g.uuid=v,u},g.uuid=u}}).call(this)},{}],2:[function(a,b,c){function d(){var a=this,b=Date.now(),c=-1;a.queueTTL>0&&(a.offlineQueue.forEach(function(d,e){d.ts0&&a.offlineQueue.length>a.queueMaxSize&&a.offlineQueue.splice(0,a.offlineQueue.length-a.queueMaxSize)}function e(a,b){var c=Date.now(),d=this;b&&d.socket.once(a.requestId,function(a){b(a.error,a.result)}),d.socket.emit("kuzzle",a),d.requestHistory[a.requestId]=c,Object.keys(d.requestHistory).forEach(function(a){d.requestHistory[a]0?(e.call(a,a.offlineQueue[0].query,a.offlineQueue[0].cb),a.offlineQueue.shift(),setTimeout(function(){f.call(a)},Math.max(0,a.replayInterval))):a.queuing=!1}var g=a("node-uuid"),h=a("./kuzzleDataCollection");b.exports=Kuzzle=function(b,c,d,e){var f=this;if(!(this instanceof Kuzzle))return new Kuzzle(b,c,d,e);if(e||"function"!=typeof d||(e=d,d=null),!b||""===b)throw new Error("URL argument missing");if(!c||""===c)throw new Error("Index argument missing");return Object.defineProperties(this,{collections:{value:{},writable:!0},connectCB:{value:e},eventListeners:{value:{connected:[],error:[],disconnected:[],reconnected:[]}},io:{value:null,writable:!0},queuing:{value:!1,writable:!0},requestHistory:{value:{},writable:!0},socket:{value:null,writable:!0},state:{value:"initializing",writable:!0},subscriptions:{value:{pending:{}},writable:!0},autoReconnect:{value:d&&"boolean"==typeof d.autoReconnect?d.autoReconnect:!0,enumerable:!0},index:{value:c,enumerable:!0},reconnectionDelay:{value:d&&"number"==typeof d.reconnectionDelay?d.reconnectionDelay:1e3,enumerable:!0},url:{value:b,enumerable:!0},autoQueue:{value:!1,enumerable:!0,writable:!0},autoReplay:{value:!1,enumerable:!0,writable:!0},autoResubscribe:{value:!0,enumerable:!0,writable:!0},headers:{value:{},enumerable:!0,writable:!0},metadata:{value:{},enumerable:!0,writable:!0},offlineQueue:{value:[],enumerable:!0,writable:!0},queueFilter:{value:null,enumerable:!0,writable:!0},queueMaxSize:{value:500,enumerable:!0,writable:!0},queueTTL:{value:12e4,enumerable:!0,writable:!0},replayInterval:{value:10,enumerable:!0,writable:!0}}),"undefined"!=typeof window&&window.io?this.io=window.io:this.io=a("socket.io-client"),d&&(Object.keys(d).forEach(function(a){f.hasOwnProperty(a)&&Object.getOwnPropertyDescriptor(f,a).writable&&(f[a]=d[a])}),"auto"===d.offlineMode&&this.autoReconnect&&(this.autoQueue=this.autoReplay=this.autoResubscribe=!0)),Object.defineProperty(this,"isValid",{value:function(){if("loggedOff"===this.state)throw new Error("This Kuzzle object has been invalidated. Did you try to access it after a logout call?")}}),Object.defineProperty(this,"addHeaders",{value:function(a,b){return Object.keys(b).forEach(function(c){a[c]||(a[c]=b[c])}),a}}),Object.defineProperty(this,"callbackRequired",{value:function(a,b){if(!b||"function"!=typeof b)throw new Error(a+": a callback argument is required for read queries")}}),d&&d.connect&&"auto"!==d.connect?this.state="ready":this.connect(),this.bluebird?this.bluebird.promisifyAll(this,{suffix:"Promise",filter:function(a,b,c,d){var e=["getAllStatistics","getStatistics","listCollections","now","query"];return d&&-1!==e.indexOf(a)}}):this},Kuzzle.prototype.connect=function(){var a=this;return-1===["initializing","ready","loggedOff","error","offline"].indexOf(this.state)?(a.connectCB&&a.connectCB(null,a),a):(a.state="connecting",a.socket=a.io(a.url,{reconnection:a.autoReconnect,reconnectionDelay:a.reconnectionDelay,"force new connection":!0}),a.socket.once("connect",function(){a.state="connected",Object.keys(a.subscriptions).forEach(function(b){Object.keys(a.subscriptions[b]).forEach(function(c){var d=a.subscriptions[b][c];d.renew(d.callback)})}),f.call(a),a.eventListeners.connected.forEach(function(a){a.fn()}),a.connectCB&&a.connectCB(null,a)}),a.socket.on("connect_error",function(b){a.state="error",a.eventListeners.error.forEach(function(a){a.fn()}),a.connectCB&&a.connectCB(b)}),a.socket.on("disconnect",function(){a.state="offline",a.autoReconnect||a.logout(),a.autoQueue&&(a.queuing=!0),a.eventListeners.disconnected.forEach(function(a){a.fn()})}),a.socket.on("reconnect",function(){a.state="connected",a.autoResubscribe&&Object.keys(a.subscriptions).forEach(function(b){Object.keys(a.subscriptions[b]).forEach(function(c){var d=a.subscriptions[b][c];d.renew(d.callback)})}),a.autoReplay&&(d.call(a),f.call(a)),a.eventListeners.reconnected.forEach(function(a){a.fn()})}),this)},Kuzzle.prototype.addListener=function(a,b){var c,d=Object.keys(this.eventListeners),e=typeof b;if(this.isValid(),-1===d.indexOf(a))throw new Error("["+a+"] is not a known event. Known events: "+d.toString());if("function"!==e)throw new Error("Invalid listener type: expected a function, got a "+e);return c=g.v1(),this.eventListeners[a].push({id:c,fn:b}),c},Kuzzle.prototype.getAllStatistics=function(a,b){return b||"function"!=typeof a||(b=a,a=null),this.callbackRequired("Kuzzle.getAllStatistics",b),this.query(null,"admin","getAllStats",{},a,function(a,c){return a?b(a):void b(null,c.statistics)}),this},Kuzzle.prototype.getStatistics=function(a,b,c){var d;return c||(1===arguments.length?(c=arguments[0],b=null,a=null):(c=arguments[1],"object"==typeof arguments[0]?(b=arguments[0],a=null):(a=arguments[0],b=null))),d=function(b,d){return b?c(b):void(a?c(null,d.statistics):c(null,[d.statistics]))},this.callbackRequired("Kuzzle.getStatistics",c),a?this.query(null,"admin","getStats",{body:{startTime:a}},b,d):this.query(null,"admin","getLastStats",{},b,d),this},Kuzzle.prototype.dataCollectionFactory=function(a,b){return this.isValid(),this.collections[a]||(this.collections[a]=new h(this,a,b)),this.collections[a]},Kuzzle.prototype.flushQueue=function(){return this.offlineQueue=[],this},Kuzzle.prototype.listCollections=function(a,b){var c="all";return b||"function"!=typeof a||(b=a,a=null),this.callbackRequired("Kuzzle.listCollections",b),a&&a.type&&(c=a.type),this.query(null,"read","listCollections",{body:{type:c}},a,function(a,c){return a?b(a):b(null,c.collections)}),this},Kuzzle.prototype.logout=function(){var a;this.state="loggedOff",this.socket.close(),this.socket=null;for(a in this.collections)this.collections.hasOwnProperty(a)&&delete this.collections[a]},Kuzzle.prototype.now=function(a,b){return b||"function"!=typeof a||(b=a,a=null),this.callbackRequired("Kuzzle.now",b),this.query(null,"read","now",{},a,function(a,c){return a?b(a):void b(null,c.now)}),this},Kuzzle.prototype.query=function(a,b,c,f,h,i){var j,k={action:c,controller:b,index:this.index,metadata:this.metadata},l=this;if(this.isValid(),i||"function"!=typeof h||(i=h,h=null),h&&(h.metadata&&Object.keys(h.metadata).forEach(function(a){k.metadata[a]=h.metadata[a]}),h.queuable===!1&&"offline"===l.state))return l;f.metadata&&Object.keys(f.metadata).forEach(function(a){k.metadata[a]=f.metadata[a]});for(j in f)"metadata"!==j&&f.hasOwnProperty(j)&&(k[j]=f[j]);return k=l.addHeaders(k,this.headers),a&&(k.collection=a),k.requestId||(k.requestId=g.v4()),"connected"===l.state||h&&h.queuable===!1?e.call(this,k,i):(l.queuing||-1!==["initializing","connecting"].indexOf(l.state))&&(d.call(this,k,i),l.queueFilter?l.queueFilter(k)&&l.offlineQueue.push({ts:Date.now(),query:k,cb:i}):l.offlineQueue.push({ts:Date.now(),query:k,cb:i})),l},Kuzzle.prototype.removeAllListeners=function(a){var b=Object.keys(this.eventListeners),c=this;if(a){if(-1===b.indexOf(a))throw new Error("["+a+"] is not a known event. Known events: "+b.toString());this.eventListeners[a]=[]}else b.forEach(function(a){c.eventListeners[a]=[]})},Kuzzle.prototype.removeListener=function(a,b){var c=Object.keys(this.eventListeners),d=this;if(-1===c.indexOf(a))throw new Error("["+a+"] is not a known event. Known events: "+c.toString());this.eventListeners[a].forEach(function(c,e){c.id===b&&d.eventListeners[a].splice(e,1)})},Kuzzle.prototype.replayQueue=function(){return"offline"===this.state||this.autoReplay||(d.call(this),f.call(this)),this},Kuzzle.prototype.setHeaders=function(a,b){var c=this;if("object"!=typeof a||Array.isArray(a))throw new Error("Expected a content object, received a "+typeof a);return b?c.headers=a:Object.keys(a).forEach(function(b){c.headers[b]=a[b]}),c},Kuzzle.prototype.startQueuing=function(){return"offline"!==this.state||this.autoQueue||(this.queuing=!0),this},Kuzzle.prototype.stopQueuing=function(){return"offline"!==this.state||this.autoQueue||(this.queuing=!1),this}},{"./kuzzleDataCollection":3,"node-uuid":1,"socket.io-client":void 0}],3:[function(a,b,c){function d(a,b){return Object.defineProperties(this,{collection:{value:b,enumerable:!0},kuzzle:{value:a,enumerable:!0},headers:{value:JSON.parse(JSON.stringify(a.headers)),enumerable:!0,writable:!0}}),this.kuzzle.bluebird?this.kuzzle.bluebird.promisifyAll(this,{suffix:"Promise",filter:function(a,b,c,d){var e=["publishMessage","setHeaders","subscribe"];return d&&-1===e.indexOf(a)}}):this}var e=a("./kuzzleDocument"),f=a("./kuzzleDataMapping"),g=a("./kuzzleRoom");d.prototype.advancedSearch=function(a,b,c){var d,e=this;return c||"function"!=typeof b||(c=b,b=null),e.kuzzle.callbackRequired("KuzzleDataCollection.advancedSearch",c),d=e.kuzzle.addHeaders({body:a},this.headers),e.kuzzle.query(this.collection,"read","search",d,b,function(a,b){var d=[];return a?c(a):(b.hits.hits.forEach(function(a){d.push(e.documentFactory(a._id,a))}),void c(null,{total:b.hits.total,documents:d}))}),this},d.prototype.count=function(a,b,c){var d;return c||"function"!=typeof b||(c=b,b=null),this.kuzzle.callbackRequired("KuzzleDataCollection.count",c),d=this.kuzzle.addHeaders({body:a},this.headers),this.kuzzle.query(this.collection,"read","count",d,b,function(a,b){return a?c(a):void c(null,b.count)}),this},d.prototype.create=function(a,b){var c={};return b||"function"!=typeof a||(b=a,a=null),c=this.kuzzle.addHeaders(c,this.headers),this.kuzzle.query(this.collection,"write","createCollection",c,a,b),this},d.prototype.createDocument=function(a,b,c,d){var f=this,g={},h="create";return a&&"string"!=typeof a&&(d=c,c=b,b=a,a=null),d||"function"!=typeof c||(d=c,c=null),b instanceof e?g=b.toJSON():g.body=b,c&&(h=c.updateIfExist?"createOrUpdate":"create"),a&&(g._id=a),g.persist=!0,g=f.kuzzle.addHeaders(g,f.headers),d?f.kuzzle.query(this.collection,"write",h,g,c,function(a,b){return a?d(a):void d(null,f.documentFactory(b._id,b))}):this.kuzzle.query(this.collection,"write",h,g,c),this},d.prototype["delete"]=function(a,b){var c={};return b||"function"!=typeof a||(b=a,a=null),c=this.kuzzle.addHeaders(c,this.headers),this.kuzzle.query(this.collection,"admin","deleteCollection",c,a,b),this},d.prototype.deleteDocument=function(a,b,c){var d,e={};return"string"==typeof a?(e._id=a,d="delete"):(e.body=a,d="deleteByQuery"),c||"function"!=typeof b||(c=b,b=null),e=this.kuzzle.addHeaders(e,this.headers),c?this.kuzzle.query(this.collection,"write",d,e,b,function(a,b){return a?c(a):void("delete"===d?c(null,[e._id]):c(null,b.ids))}):this.kuzzle.query(this.collection,"write",d,e,b),this},d.prototype.fetchDocument=function(a,b,c){var d={_id:a},e=this;return c||"function"!=typeof b||(c=b,b=null),e.kuzzle.callbackRequired("KuzzleDataCollection.fetch",c),d=e.kuzzle.addHeaders(d,this.headers),e.kuzzle.query(this.collection,"read","get",d,b,function(a,b){return a?c(a):void c(null,e.documentFactory(b._id,b))}),this},d.prototype.fetchAllDocuments=function(a,b){return b||"function"!=typeof a||(b=a,a=null),this.kuzzle.callbackRequired("KuzzleDataCollection.fetchAll",b),this.advancedSearch({},a,b),this},d.prototype.getMapping=function(a,b){var c;return b||"function"!=typeof a||(b=a,a=null),this.kuzzle.callbackRequired("KuzzleDataCollection.getMapping",b),c=new f(this),c.refresh(a,b),this},d.prototype.publishMessage=function(a,b){var c={};return a instanceof e?c=a.toJSON():c.body=a,c.persist=!1,c=this.kuzzle.addHeaders(c,this.headers),this.kuzzle.query(this.collection,"write","publish",c,b),this},d.prototype.putMapping=function(a,b,c){var d;return c||"function"!=typeof b||(c=b,b=null),d=new f(this,a),d.apply(b,c),this},d.prototype.replaceDocument=function(a,b,c,d){var e=this,f={_id:a,body:b};return d||"function"!=typeof c||(d=c,c=null),f=e.kuzzle.addHeaders(f,this.headers),d?e.kuzzle.query(this.collection,"write","createOrUpdate",f,c,function(a,b){return a?d(a):void d(null,e.documentFactory(b._id,b))}):e.kuzzle.query(this.collection,"write","createOrUpdate",f,c),this},d.prototype.subscribe=function(a,b,c){var d;return c||"function"!=typeof b||(c=b,b=null),this.kuzzle.callbackRequired("KuzzleDataCollection.subscribe",c),d=new g(this,b),d.renew(a,c)},d.prototype.truncate=function(a,b){var c={};return b||"function"!=typeof a||(b=a,a=null),c=this.kuzzle.addHeaders(c,this.headers),this.kuzzle.query(this.collection,"admin","truncateCollection",c,a,b),this},d.prototype.updateDocument=function(a,b,c,d){var f={_id:a,body:b},g=this;return d||"function"!=typeof c||(d=c,c=null),f=g.kuzzle.addHeaders(f,this.headers),d?g.kuzzle.query(this.collection,"write","update",f,c,function(a,b){var c;return a?d(a):(c=new e(g,b._id),void d(null,c))}):g.kuzzle.query(this.collection,"write","update",f,c),g},d.prototype.documentFactory=function(a,b){var c=b._source?new e(this,a,b._source):new e(this,a,b);return c},d.prototype.roomFactory=function(a){return new g(this,a)},d.prototype.dataMappingFactory=function(a){return new f(this,a)},d.prototype.setHeaders=function(a,b){return this.kuzzle.setHeaders.call(this,a,b),this},b.exports=d},{"./kuzzleDataMapping":4,"./kuzzleDocument":5,"./kuzzleRoom":6}],4:[function(a,b,c){function d(a,b){return Object.defineProperties(this,{collection:{value:a.collection,eunmerable:!0},kuzzle:{value:a.kuzzle,enumerable:!0},headers:{value:JSON.parse(JSON.stringify(a.headers)),enumerable:!0,writable:!0},mapping:{value:b||{},enumerable:!0,writable:!0}}),this.kuzzle.bluebird?this.kuzzle.bluebird.promisifyAll(this,{suffix:"Promise",filter:function(a,b,c,d){var e=["set","setHeaders"];return d&&-1===e.indexOf(a)}}):this}d.prototype.apply=function(a,b){var c=this,d=this.kuzzle.addHeaders({body:{properties:this.mapping}},this.headers);return b||"function"!=typeof a||(b=a,a=null),c.kuzzle.query(this.collection,"admin","putMapping",d,a,function(a,d){return a?b?b(a):!1:(c.mapping=d._source.properties,void(b&&b(null,c)))}),this},d.prototype.refresh=function(a,b){var c=this,d=this.kuzzle.addHeaders({},this.headers);return b||"function"!=typeof a||(b=a,a=null),this.kuzzle.query(this.collection,"admin","getMapping",d,a,function(a,d){return a?b?b(a):!1:d[c.kuzzle.index]?d[c.kuzzle.index].mappings[c.collection]?(c.mapping=d[c.kuzzle.index].mappings[c.collection].properties,void(b&&b(null,c))):b?b(new Error("No mapping found for collection "+c.collection)):!1:b?b(new Error("No mapping found for index "+c.kuzzle.index)):!1}),this},d.prototype.set=function(a,b){return this.mapping[a]=b,this},d.prototype.setHeaders=function(a,b){return this.kuzzle.setHeaders.call(this,a,b),this},b.exports=d},{}],5:[function(a,b,c){function d(a,b,c){return Object.defineProperties(this,{queue:{value:[],writable:!0},refreshing:{value:!1,writable:!0},collection:{value:a.collection,enumerable:!0},dataCollection:{value:a,enumerable:!0},kuzzle:{value:a.kuzzle,enumerable:!0},id:{value:void 0,enumerable:!0,writable:!0},content:{value:{},writable:!0,enumerable:!0},headers:{value:JSON.parse(JSON.stringify(a.headers)),enumerable:!0,writable:!0},version:{value:void 0,enumerable:!0,writable:!0}}),!c&&b&&"object"==typeof b&&(c=b,b=null),c&&(c._version&&(this.version=c._version,delete c._version),this.setContent(c,!0)),b&&(Object.defineProperty(this,"id",{value:b,enumerable:!0}),c||this.refresh()),this.kuzzle.bluebird?this.kuzzle.bluebird.promisifyAll(this,{suffix:"Promise",filter:function(a,b,c,d){var e=["delete","refresh","save"];return d&&-1!==e.indexOf(a)}}):this}function e(){for(var a;this.queue.length>0;)a=this.queue.shift(),this[a.action].apply(this,a.args)}d.prototype.toJSON=function(){var a={};return this.id&&(a._id=this.id),a.body=this.content,a._version=this.version,a=this.kuzzle.addHeaders(a,this.headers)},d.prototype.toString=function(){return JSON.stringify(this.toJSON())},d.prototype["delete"]=function(a,b){var c=this;if(b||"function"!=typeof a||(b=a,a=null),this.refreshing)return this.queue.push({action:"delete",args:[a,b]}),this;if(!this.id)throw new Error("KuzzleDocument.delete: cannot delete a document without a document ID");return b?this.kuzzle.query(this.collection,"write","delete",this.toJSON(),a,function(a){return a?b(a):void b(null,c)}):this.kuzzle.query(this.collection,"write","delete",this.toJSON(),a),this},d.prototype.refresh=function(a,b){var c=this;if(b||"function"!=typeof a||(b=a,a=null),this.refreshing)return this.queue.push({action:"refresh",args:[a,b]}),this;if(!c.id)throw new Error("KuzzleDocument.refresh: cannot retrieve a document if no ID has been provided");return c.refreshing=!0,c.kuzzle.query(c.collection,"read","get",{_id:c.id},a,function(a,d){return a?(c.refreshing=!1,c.queue=[],b?b(a):!1):(c.version=d._version,c.content=d._source,b&&b(null,c),c.refreshing=!1,void e.call(c))}),this},d.prototype.save=function(a,b){var c=this.toJSON(),d=this;return a&&void 0===b&&"function"==typeof a&&(b=a,a=null),d.refreshing?(d.queue.push({action:"save",args:[a,b]}),d):(c.persist=!0,d.kuzzle.query(this.collection,"write","createOrUpdate",c,a,function(a,c){return a?b?b(a):!1:(d.id=c._id,d.version=c._version,void(b&&b(null,d)))}),d)},d.prototype.publish=function(a){var b=this.toJSON();return this.refreshing?(this.queue.push({action:"publish",args:[a]}),this):(b.persist=!1,this.kuzzle.query(this.collection,"write","publish",b,a),this)},d.prototype.setContent=function(a,b){var c=this;return this.refreshing?(this.queue.push({action:"setContent",args:[a,b]}),this):(b?this.content=a:Object.keys(a).forEach(function(b){c.content[b]=a[b]}),this)},d.prototype.subscribe=function(a,b){var c;if(a&&!b&&"function"==typeof a&&(b=a,a=null),this.kuzzle.callbackRequired("KuzzleDocument.subscribe",b),!this.id)throw new Error("KuzzleDocument.subscribe: cannot subscribe to a document if no ID has been provided");return c={ids:{values:[this.id]}},this.dataCollection.subscribe(c,a,b)},d.prototype.setHeaders=function(a,b){return this.kuzzle.setHeaders.call(this,a,b),this},b.exports=d},{}],6:[function(a,b,c){function d(a,b){return Object.defineProperties(this,{callback:{value:null,writable:!0},channel:{value:null,writable:!0},id:{value:g.v4()},notifier:{value:null,writable:!0},queue:{value:[],writable:!0},scope:{value:b&&b.scope?b.scope:"all"},state:{value:b&&b.state?b.state:"done"},subscribing:{value:!1,writable:!0},users:{value:b&&b.users?b.users:"none"},collection:{value:a.collection,enumerable:!0},kuzzle:{value:a.kuzzle,enumerable:!0},filters:{value:null,enumerable:!0,writable:!0},headers:{value:JSON.parse(JSON.stringify(a.headers)),enumerable:!0,writable:!0},metadata:{value:b&&b.metadata?b.metadata:{},enumerable:!0,writable:!0},roomId:{value:null,enumerable:!0,writable:!0},subscribeToSelf:{value:b&&"boolean"==typeof b.subscribeToSelf?b.subscribeToSelf:!0,enumerable:!0,writable:!0}}),this.kuzzle.bluebird?this.kuzzle.bluebird.promisifyAll(this,{suffix:"Promise",filter:function(a,b,c,d){var e=["count"];return d&&-1!==e.indexOf(a)}}):this}function e(a){return a.error?this.callback(a.error):void(this.kuzzle.requestHistory[a.result.requestId]?(this.subscribeToSelf&&this.callback(null,a.result),delete this.kuzzle.requestHistory[a.result.requestId]):this.callback(null,a.result))}function f(){for(var a;this.queue.length>0;)a=this.queue.shift(),this[a.action].apply(this,a.args)}var g=a("node-uuid");d.prototype.count=function(a){var b;return this.kuzzle.callbackRequired("KuzzleRoom.count",a),b=this.kuzzle.addHeaders({body:{roomId:this.roomId}},this.headers),this.subscribing?(this.queue.push({action:"count",args:[a]}),this):(this.kuzzle.query(this.collection,"subscribe","count",b,function(b,c){return b?a(b):void a(null,c.count)}),this)},d.prototype.renew=function(a,b){var c={scope:this.scope,state:this.state,users:this.users},d=this;return!b&&a&&"function"==typeof a&&(b=a,a=null),this.subscribing?(this.queue.push({action:"renew",args:[a,b]}),this):(this.kuzzle.callbackRequired("KuzzleRoom.renew",b),this.unsubscribe(),this.roomId=null,this.subscribing=!0,this.callback=b,this.kuzzle.subscriptions.pending[d.id]=d,a&&(this.filters=a),c.body=this.filters,c=this.kuzzle.addHeaders(c,this.headers),d.kuzzle.query(this.collection,"subscribe","on",c,{metadata:this.metadata},function(a,b){if(delete d.kuzzle.subscriptions.pending[d.id],d.subscribing=!1,a)throw d.queue=[],new Error("Error during Kuzzle subscription: "+a.message);d.roomId=b.roomId,d.channel=b.channel,d.kuzzle.subscriptions[d.roomId]||(d.kuzzle.subscriptions[d.roomId]={}),d.kuzzle.subscriptions[d.roomId][d.id]=d,d.notifier=e.bind(d),d.kuzzle.socket.on(d.channel,d.notifier),f.call(d)}),this)},d.prototype.unsubscribe=function(){var a,b=this,c=b.roomId;return b.subscribing?(b.queue.push({action:"unsubscribe",args:[]}),b):(c&&(b.kuzzle.socket.off(b.channel,this.notifier),1===Object.keys(b.kuzzle.subscriptions[c]).length?(delete b.kuzzle.subscriptions[c],0===Object.keys(b.kuzzle.subscriptions.pending).length?b.kuzzle.query(this.collection,"subscribe","off",{body:{roomId:c}}):a=setInterval(function(){0===Object.keys(b.kuzzle.subscriptions.pending).length&&(b.kuzzle.subscriptions[c]||b.kuzzle.query(b.collection,"subscribe","off",{body:{roomId:c}}),clearInterval(a))},100)):delete b.kuzzle.subscriptions[c][b.id],b.roomId=null),b)},d.prototype.setHeaders=function(a,b){return this.kuzzle.setHeaders.call(this,a,b),this},b.exports=d},{"node-uuid":1}]},{},[2]); //# sourceMappingURL=kuzzle.min.map \ No newline at end of file diff --git a/dist/kuzzle.min.map b/dist/kuzzle.min.map index 3e94c9c10..375c21df7 100644 --- a/dist/kuzzle.min.map +++ b/dist/kuzzle.min.map @@ -1 +1 @@ -{"version":3,"sources":["kuzzle.js"],"names":["e","t","n","r","s","o","u","a","require","i","f","Error","code","l","exports","call","length",1,"module","_window","setupBrowser","_crypto","crypto","msCrypto","_rng","getRandomValues","_rnds8","Uint8Array","_whatwgRNG","_rnds","Array","_mathRNG","Math","random","console","warn","setupNode","_rb","randomBytes","_nodeRNG","parse","buf","offset","ii","toLowerCase","replace","oct","_hexToByte","unparse","bth","_byteToHex","v1","options","b","clockseq","_clockseq","msecs","Date","getTime","nsecs","_lastNSecs","dt","_lastMSecs","tl","tmh","node","_nodeId","v4","BufferClass","rnds","rng","_previousRoot","Buffer","toString","substr","_seedBytes","uuid","define","amd","noConflict","window",2,"cleanQueue","self","this","now","lastDocumentIndex","queueTTL","offlineQueue","forEach","query","index","ts","splice","queueMaxSize","emitRequest","request","cb","socket","once","requestId","response","error","result","emit","requestHistory","Object","keys","key","dequeue","shift","setTimeout","max","replayInterval","queuing","KuzzleDataCollection","Kuzzle","url","defineProperties","collections","value","writable","connectCB","eventListeners","connected","disconnected","reconnected","io","state","subscriptions","pending","autoReconnect","enumerable","reconnectionDelay","autoQueue","autoReplay","autoResubscribe","headers","metadata","queueFilter","opt","hasOwnProperty","getOwnPropertyDescriptor","offlineMode","defineProperty","header","errorMessagePrefix","callback","connect","bluebird","promisifyAll","suffix","filter","name","func","target","passes","whitelist","indexOf","prototype","reconnection","force new connection","roomId","subscriptionId","subscription","renew","listener","fn","on","logout","addListener","event","listenerId","knownEvents","listenerType","isValid","push","id","getAllStatistics","callbackRequired","err","res","statistics","getStatistics","timestamp","queryCB","arguments","body","startTime","dataCollectionFactory","collection","flushQueue","listCollections","collectionType","type","close","controller","action","attr","object","meta","queuable","addHeaders","removeAllListeners","eventName","removeListener","replayQueue","setHeaders","content","isArray","startQueuing","stopQueuing","./kuzzleDataCollection","node-uuid","socket.io-client","undefined",3,"kuzzle","JSON","stringify","blacklist","KuzzleDocument","KuzzleDataMapping","KuzzleRoom","advancedSearch","filters","documents","hits","doc","documentFactory","_id","total","count","create","data","createDocument","document","toJSON","updateIfExist","persist","deleteDocument","arg","ids","fetchDocument","documentId","fetchAllDocuments","getMapping","kuzzleMapping","refresh","publishMessage","putMapping","mapping","dataMapping","apply","replaceDocument","subscribe","room","truncate","updateDocument","_source","roomFactory","dataMappingFactory","./kuzzleDataMapping","./kuzzleDocument","./kuzzleRoom",4,"kuzzleDataCollection","eunmerable","properties","mainindex","mappings","set","field",5,"queue","refreshing","dataCollection","version","_version","setContent","element","args","save","publish","values",6,"channel","notifier","scope","subscribing","users","subscribeToSelf","notificationCallback","subscribeQuery","unsubscribe","message","bind","interval","off","setInterval","clearInterval"],"mappings":"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","file":"kuzzle.min.js"} \ No newline at end of file +{"version":3,"sources":["kuzzle.js"],"names":["e","t","n","r","s","o","u","a","require","i","f","Error","code","l","exports","call","length",1,"module","parse","buf","offset","ii","toLowerCase","replace","oct","_hexToByte","unparse","bth","_byteToHex","v1","options","b","clockseq","_clockseq","msecs","Date","getTime","nsecs","_lastNSecs","dt","_lastMSecs","tl","tmh","node","_nodeId","v4","BufferClass","rnds","random","rng","_rng","_global","this","_rb","randomBytes","crypto","getRandomValues","_rnds8","Uint8Array","_rnds","Array","Math","Buffer","toString","substr","_seedBytes","uuid","define","amd","_previousRoot","noConflict",2,"cleanQueue","self","now","lastDocumentIndex","queueTTL","offlineQueue","forEach","query","index","ts","splice","queueMaxSize","emitRequest","request","cb","socket","once","requestId","response","error","result","emit","requestHistory","Object","keys","key","dequeue","shift","setTimeout","max","replayInterval","queuing","KuzzleDataCollection","Kuzzle","url","defineProperties","collections","value","writable","connectCB","eventListeners","connected","disconnected","reconnected","io","state","subscriptions","pending","autoReconnect","enumerable","reconnectionDelay","autoQueue","autoReplay","autoResubscribe","headers","metadata","queueFilter","window","opt","hasOwnProperty","getOwnPropertyDescriptor","offlineMode","defineProperty","header","errorMessagePrefix","callback","connect","bluebird","promisifyAll","suffix","filter","name","func","target","passes","whitelist","indexOf","prototype","reconnection","force new connection","roomId","subscriptionId","subscription","renew","listener","fn","on","logout","addListener","event","listenerId","knownEvents","listenerType","isValid","push","id","getAllStatistics","callbackRequired","err","res","statistics","getStatistics","timestamp","queryCB","arguments","body","startTime","dataCollectionFactory","collection","flushQueue","listCollections","collectionType","type","close","controller","action","attr","object","meta","queuable","addHeaders","removeAllListeners","eventName","removeListener","replayQueue","setHeaders","content","isArray","startQueuing","stopQueuing","./kuzzleDataCollection","node-uuid","socket.io-client","undefined",3,"kuzzle","JSON","stringify","blacklist","KuzzleDocument","KuzzleDataMapping","KuzzleRoom","advancedSearch","filters","documents","hits","doc","documentFactory","_id","total","count","create","data","createDocument","document","toJSON","updateIfExist","persist","deleteDocument","arg","ids","fetchDocument","documentId","fetchAllDocuments","getMapping","kuzzleMapping","refresh","publishMessage","putMapping","mapping","dataMapping","apply","replaceDocument","subscribe","room","truncate","updateDocument","_source","roomFactory","dataMappingFactory","./kuzzleDataMapping","./kuzzleDocument","./kuzzleRoom",4,"kuzzleDataCollection","eunmerable","properties","mappings","set","field",5,"queue","refreshing","dataCollection","version","_version","setContent","element","args","save","publish","values",6,"channel","notifier","scope","subscribing","users","subscribeToSelf","notificationCallback","subscribeQuery","unsubscribe","message","bind","interval","off","setInterval","clearInterval"],"mappings":"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","file":"kuzzle.min.js"} \ No newline at end of file