kinto-client
Advanced tools
Comparing version 0.2.2 to 0.2.3
@@ -11,3 +11,3 @@ (function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.KintoApi = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){ | ||
},{}],4:[function(require,module,exports){ | ||
"use strict";function _interopRequireWildcard(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t["default"]=e,t}function _toConsumableArray(e){if(Array.isArray(e)){for(var t=0,r=Array(e.length);t<e.length;t++)r[t]=e[t];return r}return Array.from(e)}function callWithOptions(e,t,r){var n=void 0;return n=t.length===e.length+1&&"object"===_typeof(t[t.length-1])?t.slice(0,t.length-1).concat(_extends({},r,t[t.length-1])):t.concat(r),e.apply(void 0,_toConsumableArray(n))}function createBatch(){var e=arguments.length<=0||void 0===arguments[0]?{}:arguments[0],t=_extends({safe:!1,headers:{},bucket:"default"},e),r=t.safe,n=t.bucket,s=t.headers,o={requests:[]},a=function(e){o[e]=function(){for(var t={safe:r,bucket:n,headers:s},a=arguments.length,u=Array(a),i=0;a>i;i++)u[i]=arguments[i];var l=callWithOptions(requests[e],u,t);o.requests.push(_extends({},l,{headers:_extends({},s,l.headers)}))}};for(var u in requests)a(u);return o}function aggregate(){var e=arguments.length<=0||void 0===arguments[0]?[]:arguments[0],t=arguments.length<=1||void 0===arguments[1]?[]:arguments[1];if(e.length!==t.length)throw new Error("Responses length should match requests one.");var r={errors:[],published:[],conflicts:[],skipped:[]};return e.reduce(function(e,r,n){var s=r.status;return s>=200&&400>s?e.published.push(r.body):404===s?e.skipped.push(r.body):412===s?e.conflicts.push({type:"outgoing",local:t[n].body,remote:r.body.details&&r.body.details.existing||null}):e.errors.push({path:r.path,sent:t[n],error:r.body}),e},r)}var _extends=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol?"symbol":typeof e};Object.defineProperty(exports,"__esModule",{value:!0}),exports.createBatch=createBatch,exports.aggregate=aggregate;var _requests=require("./requests"),requests=_interopRequireWildcard(_requests); | ||
"use strict";function _interopRequireWildcard(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t["default"]=e,t}function _toConsumableArray(e){if(Array.isArray(e)){for(var t=0,r=Array(e.length);t<e.length;t++)r[t]=e[t];return r}return Array.from(e)}function callWithOptions(e,t,r){var n=void 0;return n=t.length===e.length+1&&"object"===_typeof(t[t.length-1])?t.slice(0,t.length-1).concat(_extends({},r,t[t.length-1])):t.concat(r),e.apply(void 0,_toConsumableArray(n))}function createBatch(){var e=arguments.length<=0||void 0===arguments[0]?{}:arguments[0],t=_extends({safe:!1,headers:{},bucket:"default"},e),r=t.safe,n=t.bucket,s=t.headers,o={requests:[]},a=function(e){o[e]=function(){for(var t={safe:r,bucket:n,headers:s},a=arguments.length,u=Array(a),i=0;a>i;i++)u[i]=arguments[i];var l=callWithOptions(requests[e],u,t);o.requests.push(_extends({},l,{headers:_extends({},s,l.headers)}))}};for(var u in requests)a(u);return o}function aggregate(){var e=arguments.length<=0||void 0===arguments[0]?[]:arguments[0],t=arguments.length<=1||void 0===arguments[1]?[]:arguments[1];if(e.length!==t.length)throw new Error("Responses length should match requests one.");var r={errors:[],published:[],conflicts:[],skipped:[]};return e.reduce(function(e,r,n){var s=r.status;return s>=200&&400>s?e.published.push(r.body):404===s?e.skipped.push(r.body):412===s?e.conflicts.push({type:"outgoing",local:t[n].body,remote:r.body.details&&r.body.details.existing||null}):e.errors.push({path:r.path,sent:t[n],error:r.body}),e},r)}Object.defineProperty(exports,"__esModule",{value:!0});var _extends=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol?"symbol":typeof e};exports.createBatch=createBatch,exports.aggregate=aggregate;var _requests=require("./requests"),requests=_interopRequireWildcard(_requests); | ||
@@ -21,9 +21,9 @@ },{"./requests":9}],5:[function(require,module,exports){ | ||
},{}],7:[function(require,module,exports){ | ||
"use strict";function _interopRequireDefault(e){return e&&e.__esModule?e:{"default":e}}function _classCallCheck(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var _createClass=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}();Object.defineProperty(exports,"__esModule",{value:!0});var _errors=require("./errors.js"),_errors2=_interopRequireDefault(_errors),HTTP=function(){function e(t){var r=arguments.length<=1||void 0===arguments[1]?{}:arguments[1];if(_classCallCheck(this,e),!t)throw new Error("No events handler provided");this.events=t,r=Object.assign({},e.defaultOptions,r),this.requestMode=r.requestMode,this.timeout=r.timeout}return _createClass(e,null,[{key:"DEFAULT_REQUEST_HEADERS",get:function(){return{Accept:"application/json","Content-Type":"application/json"}}},{key:"defaultOptions",get:function(){return{timeout:5e3,requestMode:"cors"}}}]),_createClass(e,[{key:"request",value:function(t){var r=this,n=arguments.length<=1||void 0===arguments[1]?{headers:{}}:arguments[1],o=void 0,a=void 0,s=void 0,i=void 0,u=void 0,c=void 0;return n.headers=Object.assign({},e.DEFAULT_REQUEST_HEADERS,n.headers),n.mode=this.requestMode,new Promise(function(e,o){u=setTimeout(function(){c=!0,o(new Error("Request timeout."))},r.timeout),fetch(t,n).then(function(t){c||(clearTimeout(u),e(t))})["catch"](function(e){c||(clearTimeout(u),o(e))})}).then(function(e){return o=e,i=e.headers,a=e.status,s=e.statusText,r._checkForDeprecationHeader(i),r._checkForBackoffHeader(a,i),e.text()}).then(function(e){return 0===e.length?null:JSON.parse(e)})["catch"](function(e){var t=new Error("HTTP "+(a||0)+"; "+e);throw t.response=o,t.stack=e.stack,t}).then(function(e){if(e&&a>=400){var t="HTTP "+a+"; ";e.errno&&e.errno in _errors2["default"]?(t+=_errors2["default"][e.errno],e.message&&(t+=": "+e.message)):t+=s||"";var r=new Error(t.trim());throw r.response=o,r.data=e,r}return{status:a,json:e,headers:i}})}},{key:"_checkForDeprecationHeader",value:function(e){var t=e.get("Alert");if(t){var r=void 0;try{r=JSON.parse(t)}catch(n){return void console.warn("Unable to parse Alert header message",t)}console.warn(r.message,r.url),this.events.emit("deprecated",r)}}},{key:"_checkForBackoffHeader",value:function(e,t){var r=void 0,n=parseInt(t.get("Backoff"),10);r=n>0?(new Date).getTime()+1e3*n:0,this.events.emit("backoff",r)}}]),e}();exports["default"]=HTTP; | ||
"use strict";function _interopRequireDefault(e){return e&&e.__esModule?e:{"default":e}}function _classCallCheck(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),_errors=require("./errors.js"),_errors2=_interopRequireDefault(_errors),HTTP=function(){function e(t){var r=arguments.length<=1||void 0===arguments[1]?{}:arguments[1];if(_classCallCheck(this,e),!t)throw new Error("No events handler provided");this.events=t,r=Object.assign({},e.defaultOptions,r),this.requestMode=r.requestMode,this.timeout=r.timeout}return _createClass(e,null,[{key:"DEFAULT_REQUEST_HEADERS",get:function(){return{Accept:"application/json","Content-Type":"application/json"}}},{key:"defaultOptions",get:function(){return{timeout:5e3,requestMode:"cors"}}}]),_createClass(e,[{key:"request",value:function(t){var r=this,n=arguments.length<=1||void 0===arguments[1]?{headers:{}}:arguments[1],o=void 0,a=void 0,s=void 0,i=void 0,u=void 0,c=void 0;return n.headers=Object.assign({},e.DEFAULT_REQUEST_HEADERS,n.headers),n.mode=this.requestMode,new Promise(function(e,o){u=setTimeout(function(){c=!0,o(new Error("Request timeout."))},r.timeout),fetch(t,n).then(function(t){c||(clearTimeout(u),e(t))})["catch"](function(e){c||(clearTimeout(u),o(e))})}).then(function(e){return o=e,i=e.headers,a=e.status,s=e.statusText,r._checkForDeprecationHeader(i),r._checkForBackoffHeader(a,i),e.text()}).then(function(e){return 0===e.length?null:JSON.parse(e)})["catch"](function(e){var t=new Error("HTTP "+(a||0)+"; "+e);throw t.response=o,t.stack=e.stack,t}).then(function(e){if(e&&a>=400){var t="HTTP "+a+"; ";e.errno&&e.errno in _errors2["default"]?(t+=_errors2["default"][e.errno],e.message&&(t+=": "+e.message)):t+=s||"";var r=new Error(t.trim());throw r.response=o,r.data=e,r}return{status:a,json:e,headers:i}})}},{key:"_checkForDeprecationHeader",value:function(e){var t=e.get("Alert");if(t){var r=void 0;try{r=JSON.parse(t)}catch(n){return void console.warn("Unable to parse Alert header message",t)}console.warn(r.message,r.url),this.events.emit("deprecated",r)}}},{key:"_checkForBackoffHeader",value:function(e,t){var r=void 0,n=parseInt(t.get("Backoff"),10);r=n>0?(new Date).getTime()+1e3*n:0,this.events.emit("backoff",r)}}]),e}();exports["default"]=HTTP; | ||
},{"./errors.js":6}],8:[function(require,module,exports){ | ||
"use strict";function _interopRequireWildcard(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t["default"]=e,t}function _interopRequireDefault(e){return e&&e.__esModule?e:{"default":e}}function _classCallCheck(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var _extends=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},_createClass=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}();Object.defineProperty(exports,"__esModule",{value:!0}),exports.SUPPORTED_PROTOCOL_VERSION=void 0,require("isomorphic-fetch");var _events=require("events"),_utils=require("./utils.js"),_http=require("./http.js"),_http2=_interopRequireDefault(_http),_endpoint=require("./endpoint"),_endpoint2=_interopRequireDefault(_endpoint),_requests=require("./requests"),requests=_interopRequireWildcard(_requests),_batch=require("./batch"),SUPPORTED_PROTOCOL_VERSION=exports.SUPPORTED_PROTOCOL_VERSION="v1",KintoApi=function(){function e(t){var r=arguments.length<=1||void 0===arguments[1]?{}:arguments[1];if(_classCallCheck(this,e),"string"!=typeof t||!t.length)throw new Error("Invalid remote URL: "+t);"/"===t[t.length-1]&&(t=t.slice(0,-1)),this._backoffReleaseTime=null,this.remote=t,this.defaultBucket=r.bucket||"default",this.optionHeaders=r.headers||{},this.serverSettings=null,this.events=r.events||new _events.EventEmitter,this.http=new _http2["default"](this.events,{requestMode:r.requestMode}),this._registerHTTPEvents()}return _createClass(e,[{key:"_registerHTTPEvents",value:function(){var e=this;this.events.on("backoff",function(t){e._backoffReleaseTime=t})}},{key:"fetchServerSettings",value:function(){var e=this;return this.serverSettings?Promise.resolve(this.serverSettings):this.execute({path:(0,_endpoint2["default"])("root")}).then(function(t){return e.serverSettings=t.json.settings,e.serverSettings})}},{key:"fetchChangesSince",value:function(e,t){var r=this,n=arguments.length<=2||void 0===arguments[2]?{lastModified:null,headers:{}}:arguments[2],s=(0,_endpoint2["default"])("records",e,t),i="",u=_extends({},this.optionHeaders,n.headers);return n.lastModified&&(i="?_since="+n.lastModified,u["If-None-Match"]=(0,_utils.quote)(n.lastModified)),this.fetchServerSettings().then(function(e){return r.execute({path:s+i,headers:u})}).then(function(e){if(304===e.status)return{lastModified:n.lastModified,changes:[]};var t=e.headers.get("ETag");t=t?parseInt((0,_utils.unquote)(t),10):n.lastModified;var r=e.json.data,s=n.lastModified,i=t>n.lastModified,u=r?0===r.length:!0;if(s&&i&&u)throw Error("Server has been flushed.");return{lastModified:t,changes:r}})}},{key:"_batchRequests",value:function(e){var t=this,r=arguments.length<=1||void 0===arguments[1]?{}:arguments[1],n=_extends({},this.optionHeaders,r.headers);return e.length?this.fetchServerSettings().then(function(s){var i=s.batch_max_requests;if(i&&e.length>i){var u=(0,_utils.partition)(e,i);return(0,_utils.pMap)(u,function(e){return t._batchRequests(e,r)})}return t.execute({path:(0,_endpoint2["default"])("batch"),method:"POST",headers:n,body:{defaults:{headers:n},requests:e}}).then(function(e){return e.json.responses})}):Promise.resolve([])}},{key:"batch",value:function t(e){var r=arguments.length<=1||void 0===arguments[1]?{}:arguments[1],n=_extends({safe:!1,bucket:this.defaultBucket,headers:{}},r),s=n.safe,i=n.bucket,u=n.headers,t=(0,_batch.createBatch)({safe:s,bucket:i,headers:_extends({},this.optionHeaders,u)});return e(t),this._batchRequests(t.requests,r).then(function(e){return r.aggregate?(0,_batch.aggregate)(e,t.requests):e})}},{key:"execute",value:function(e){return this.http.request(this.remote+e.path,_extends({},e,{body:JSON.stringify(e.body)}))}},{key:"createBucket",value:function(e){var t=arguments.length<=1||void 0===arguments[1]?{}:arguments[1];return this.execute(requests.createBucket(e,_extends({headers:_extends({},this.optionHeaders,t.headers)},t))).then(function(e){return e.json})}},{key:"createCollection",value:function(){var e=arguments.length<=0||void 0===arguments[0]?{}:arguments[0],t={bucket:this.defaultBucket,headers:{}},r=t.bucket,n=t.headers;return this.execute(requests.createCollection(_extends({bucket:r,headers:_extends({},this.optionHeaders,n)},e))).then(function(e){return e.json})}},{key:"getRecords",value:function(e){var t=arguments.length<=1||void 0===arguments[1]?{}:arguments[1],r=_extends({bucket:this.defaultBucket,sort:"-last_modified",headers:{}},t),n=r.bucket,s=r.sort,i=r.headers,u=(0,_endpoint2["default"])("records",n,e),a="?_sort="+s;return this.execute({path:u+a,headers:_extends({},this.optionHeaders,i)}).then(function(e){return e.json})}},{key:"createRecord",value:function(e,t){var r=arguments.length<=2||void 0===arguments[2]?{}:arguments[2],n=_extends({bucket:this.defaultBucket,headers:{}},r),s=n.bucket,i=n.headers;return this.execute(requests.createRecord(e,t,_extends({bucket:s,headers:_extends({},this.optionHeaders,i)},r))).then(function(e){return e.json})}},{key:"updateRecord",value:function(e,t){var r=arguments.length<=2||void 0===arguments[2]?{}:arguments[2],n=_extends({bucket:this.defaultBucket,headers:{}},r),s=n.bucket,i=n.headers;return this.execute(requests.updateRecord(e,t,_extends({bucket:s,headers:_extends({},this.optionHeaders,i)},r))).then(function(e){return e.json})}},{key:"remote",get:function(){return this._remote},set:function(e){var t=void 0;try{t=e.match(/\/(v\d+)\/?$/)[1]}catch(r){throw new Error("The remote URL must contain the version: "+e)}if(t!==SUPPORTED_PROTOCOL_VERSION)throw new Error("Unsupported protocol version: "+t);this._remote=e,this._version=t}},{key:"version",get:function(){return this._version}},{key:"backoff",get:function(){var e=(new Date).getTime();return this._backoffReleaseTime&&e<this._backoffReleaseTime?this._backoffReleaseTime-e:0}}]),e}();exports["default"]=KintoApi; | ||
"use strict";function _interopRequireWildcard(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t["default"]=e,t}function _interopRequireDefault(e){return e&&e.__esModule?e:{"default":e}}function _classCallCheck(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(exports,"__esModule",{value:!0}),exports.SUPPORTED_PROTOCOL_VERSION=void 0;var _extends=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},_createClass=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}();require("isomorphic-fetch");var _events=require("events"),_utils=require("./utils.js"),_http=require("./http.js"),_http2=_interopRequireDefault(_http),_endpoint=require("./endpoint"),_endpoint2=_interopRequireDefault(_endpoint),_requests=require("./requests"),requests=_interopRequireWildcard(_requests),_batch=require("./batch"),SUPPORTED_PROTOCOL_VERSION=exports.SUPPORTED_PROTOCOL_VERSION="v1",KintoApi=function(){function e(t){var r=arguments.length<=1||void 0===arguments[1]?{}:arguments[1];if(_classCallCheck(this,e),"string"!=typeof t||!t.length)throw new Error("Invalid remote URL: "+t);"/"===t[t.length-1]&&(t=t.slice(0,-1)),this._backoffReleaseTime=null,this.remote=t,this.defaultBucket=r.bucket||"default",this.defaultSafe=!!r.safe,this.optionHeaders=r.headers||{},this.serverSettings=null,this.events=r.events||new _events.EventEmitter,this.http=new _http2["default"](this.events,{requestMode:r.requestMode}),this._registerHTTPEvents()}return _createClass(e,[{key:"_registerHTTPEvents",value:function(){var e=this;this.events.on("backoff",function(t){e._backoffReleaseTime=t})}},{key:"_getRequestOptions",value:function(){var e=arguments.length<=0||void 0===arguments[0]?{}:arguments[0];return _extends({safe:this.defaultSafe,bucket:this.defaultBucket},e,{headers:_extends({},this.optionHeaders,e.headers)})}},{key:"fetchServerSettings",value:function(){var e=this;return this.serverSettings?Promise.resolve(this.serverSettings):this.execute({path:(0,_endpoint2["default"])("root")}).then(function(t){return e.serverSettings=t.json.settings,e.serverSettings})}},{key:"fetchChangesSince",value:function(e,t){var r=this,n=arguments.length<=2||void 0===arguments[2]?{lastModified:null,headers:{}}:arguments[2],s=(0,_endpoint2["default"])("records",e,t),i="",u=_extends({},this.optionHeaders,n.headers);return n.lastModified&&(i="?_since="+n.lastModified,u["If-None-Match"]=(0,_utils.quote)(n.lastModified)),this.fetchServerSettings().then(function(e){return r.execute({path:s+i,headers:u})}).then(function(e){if(304===e.status)return{lastModified:n.lastModified,changes:[]};var t=e.headers.get("ETag");t=t?parseInt((0,_utils.unquote)(t),10):n.lastModified;var r=e.json.data,s=n.lastModified,i=t>n.lastModified,u=r?0===r.length:!0;if(s&&i&&u)throw Error("Server has been flushed.");return{lastModified:t,changes:r}})}},{key:"_batchRequests",value:function(e){var t=this,r=arguments.length<=1||void 0===arguments[1]?{}:arguments[1],n=_extends({},this.optionHeaders,r.headers);return e.length?this.fetchServerSettings().then(function(s){var i=s.batch_max_requests;if(i&&e.length>i){var u=(0,_utils.partition)(e,i);return(0,_utils.pMap)(u,function(e){return t._batchRequests(e,r)})}return t.execute({path:(0,_endpoint2["default"])("batch"),method:"POST",headers:n,body:{defaults:{headers:n},requests:e}}).then(function(e){return e.json.responses})}):Promise.resolve([])}},{key:"batch",value:function t(e){var r=arguments.length<=1||void 0===arguments[1]?{}:arguments[1],t=(0,_batch.createBatch)(this._getRequestOptions(r));return e(t),this._batchRequests(t.requests,r).then(function(e){return r.aggregate?(0,_batch.aggregate)(e,t.requests):e})}},{key:"execute",value:function(e){return this.http.request(this.remote+e.path,_extends({},e,{body:JSON.stringify(e.body)}))}},{key:"createBucket",value:function(e){var t=arguments.length<=1||void 0===arguments[1]?{}:arguments[1],r=this._getRequestOptions(t);return this.execute(requests.createBucket(e,r)).then(function(e){return e.json})}},{key:"createCollection",value:function(){var e=arguments.length<=0||void 0===arguments[0]?{}:arguments[0],t=this._getRequestOptions(e);return this.execute(requests.createCollection(t)).then(function(e){return e.json})}},{key:"getCollection",value:function(e){var t=arguments.length<=1||void 0===arguments[1]?{}:arguments[1],r=_extends({bucket:this.defaultBucket,headers:{}},t),n=r.bucket,s=r.headers;return this.execute({path:(0,_endpoint2["default"])("collection",n,e),bucket:n,headers:_extends({},this.optionHeaders,s)}).then(function(e){return e.json})}},{key:"getRecords",value:function(e){var t=arguments.length<=1||void 0===arguments[1]?{}:arguments[1],r=_extends({bucket:this.defaultBucket,sort:"-last_modified",headers:{}},t),n=r.bucket,s=r.sort,i=r.headers,u=(0,_endpoint2["default"])("records",n,e),a="?_sort="+s;return this.execute({path:u+a,headers:_extends({},this.optionHeaders,i)}).then(function(e){return e.json})}},{key:"createRecord",value:function(e,t){var r=arguments.length<=2||void 0===arguments[2]?{}:arguments[2],n=this._getRequestOptions(r);return this.execute(requests.createRecord(e,t,n)).then(function(e){return e.json})}},{key:"updateRecord",value:function(e,t){var r=arguments.length<=2||void 0===arguments[2]?{}:arguments[2],n=this._getRequestOptions(r);return this.execute(requests.updateRecord(e,t,n)).then(function(e){return e.json})}},{key:"remote",get:function(){return this._remote},set:function(e){var t=void 0;try{t=e.match(/\/(v\d+)\/?$/)[1]}catch(r){throw new Error("The remote URL must contain the version: "+e)}if(t!==SUPPORTED_PROTOCOL_VERSION)throw new Error("Unsupported protocol version: "+t);this._remote=e,this._version=t}},{key:"version",get:function(){return this._version}},{key:"backoff",get:function(){var e=(new Date).getTime();return this._backoffReleaseTime&&e<this._backoffReleaseTime?this._backoffReleaseTime-e:0}}]),e}();exports["default"]=KintoApi; | ||
},{"./batch":4,"./endpoint":5,"./http.js":7,"./requests":9,"./utils.js":10,"events":1,"isomorphic-fetch":2}],9:[function(require,module,exports){ | ||
"use strict";function _interopRequireDefault(e){return e&&e.__esModule?e:{"default":e}}function getLastModified(e){return e.body&&"data"in e.body&&e.body.data.last_modified}function handleCacheHeaders(e,r){if(!e)return r;var t={},a=getLastModified(r);return a?t["If-Match"]=(0,_utils.quote)(a):t["If-None-Match"]="*",_extends({},r,{headers:_extends({},r.headers,t)})}function createBucket(e){var r=arguments.length<=1||void 0===arguments[1]?{}:arguments[1];if(!e)throw new Error("A bucket name is required.");var t=_extends({safe:!1,headers:{},permissions:{}},r),a=t.headers,s=t.permissions,n=t.safe;return handleCacheHeaders(n,{method:"PUT",path:(0,_endpoint2["default"])("bucket",e),headers:a,body:{permissions:s}})}function createCollection(){var e=arguments.length<=0||void 0===arguments[0]?{}:arguments[0],r=_extends({safe:!1,headers:{},permissions:{},bucket:"default",data:{}},e),t=r.bucket,a=r.headers,s=r.permissions,n=r.data,d=r.safe,o=r.id,i=e.id?(0,_endpoint2["default"])("collection",t,o):(0,_endpoint2["default"])("collections",t);return handleCacheHeaders(d,{method:e.id?"PUT":"POST",path:i,headers:a,body:{data:n,permissions:s}})}function createRecord(e,r){var t=arguments.length<=2||void 0===arguments[2]?{}:arguments[2];if(!e)throw new Error("A collection name is required.");var a=_extends({safe:!1,headers:{},bucket:"default",permissions:{}},t),s=a.bucket,n=a.headers,d=a.permissions,o=a.safe;return handleCacheHeaders(o,{method:"POST",path:(0,_endpoint2["default"])("records",s,e),headers:n,body:{data:r,permissions:d}})}function updateRecord(e,r){var t=arguments.length<=2||void 0===arguments[2]?{}:arguments[2];if(!e)throw new Error("A collection name is required.");var a=_extends({safe:!1,headers:{},bucket:"default",permissions:{}},t),s=a.bucket,n=a.headers,d=a.permissions,o=a.safe;if(!r.id)throw new Error("A record id is required.");return handleCacheHeaders(o,{method:"PUT",path:(0,_endpoint2["default"])("record",s,e,r.id),headers:n,body:{data:r,permissions:d}})}var _extends=Object.assign||function(e){for(var r=1;r<arguments.length;r++){var t=arguments[r];for(var a in t)Object.prototype.hasOwnProperty.call(t,a)&&(e[a]=t[a])}return e};Object.defineProperty(exports,"__esModule",{value:!0}),exports.createBucket=createBucket,exports.createCollection=createCollection,exports.createRecord=createRecord,exports.updateRecord=updateRecord;var _endpoint=require("./endpoint"),_endpoint2=_interopRequireDefault(_endpoint),_utils=require("./utils.js"); | ||
"use strict";function _interopRequireDefault(e){return e&&e.__esModule?e:{"default":e}}function getLastModified(e){return e.body&&"data"in e.body&&e.body.data.last_modified}function handleCacheHeaders(e,r){if(!e)return r;var t={},a=getLastModified(r);return a?t["If-Match"]=(0,_utils.quote)(a):t["If-None-Match"]="*",_extends({},r,{headers:_extends({},r.headers,t)})}function createBucket(e){var r=arguments.length<=1||void 0===arguments[1]?{}:arguments[1];if(!e)throw new Error("A bucket name is required.");var t=_extends({safe:!1,headers:{},permissions:{}},r),a=t.headers,s=t.permissions,n=t.safe;return handleCacheHeaders(n,{method:"PUT",path:(0,_endpoint2["default"])("bucket",e),headers:a,body:{permissions:s}})}function createCollection(){var e=arguments.length<=0||void 0===arguments[0]?{}:arguments[0],r=_extends({safe:!1,headers:{},permissions:{},bucket:"default",data:{}},e),t=r.bucket,a=r.headers,s=r.permissions,n=r.data,d=r.safe,o=r.id,i=e.id?(0,_endpoint2["default"])("collection",t,o):(0,_endpoint2["default"])("collections",t);return handleCacheHeaders(d,{method:e.id?"PUT":"POST",path:i,headers:a,body:{data:n,permissions:s}})}function createRecord(e,r){var t=arguments.length<=2||void 0===arguments[2]?{}:arguments[2];if(!e)throw new Error("A collection name is required.");var a=_extends({safe:!1,headers:{},bucket:"default",permissions:{}},t),s=a.bucket,n=a.headers,d=a.permissions,o=a.safe;return handleCacheHeaders(o,{method:"POST",path:(0,_endpoint2["default"])("records",s,e),headers:n,body:{data:r,permissions:d}})}function updateRecord(e,r){var t=arguments.length<=2||void 0===arguments[2]?{}:arguments[2];if(!e)throw new Error("A collection name is required.");var a=_extends({safe:!1,headers:{},bucket:"default",permissions:{}},t),s=a.bucket,n=a.headers,d=a.permissions,o=a.safe;if(!r.id)throw new Error("A record id is required.");return handleCacheHeaders(o,{method:"PUT",path:(0,_endpoint2["default"])("record",s,e,r.id),headers:n,body:{data:r,permissions:d}})}Object.defineProperty(exports,"__esModule",{value:!0});var _extends=Object.assign||function(e){for(var r=1;r<arguments.length;r++){var t=arguments[r];for(var a in t)Object.prototype.hasOwnProperty.call(t,a)&&(e[a]=t[a])}return e};exports.createBucket=createBucket,exports.createCollection=createCollection,exports.createRecord=createRecord,exports.updateRecord=updateRecord;var _endpoint=require("./endpoint"),_endpoint2=_interopRequireDefault(_endpoint),_utils=require("./utils.js"); | ||
@@ -30,0 +30,0 @@ },{"./endpoint":5,"./utils.js":10}],10:[function(require,module,exports){ |
@@ -7,3 +7,3 @@ (function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.KintoApi = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){ | ||
},{}],3:[function(require,module,exports){ | ||
"use strict";function _interopRequireWildcard(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t["default"]=e,t}function _toConsumableArray(e){if(Array.isArray(e)){for(var t=0,r=Array(e.length);t<e.length;t++)r[t]=e[t];return r}return Array.from(e)}function callWithOptions(e,t,r){var n=void 0;return n=t.length===e.length+1&&"object"===_typeof(t[t.length-1])?t.slice(0,t.length-1).concat(_extends({},r,t[t.length-1])):t.concat(r),e.apply(void 0,_toConsumableArray(n))}function createBatch(){var e=arguments.length<=0||void 0===arguments[0]?{}:arguments[0],t=_extends({safe:!1,headers:{},bucket:"default"},e),r=t.safe,n=t.bucket,s=t.headers,o={requests:[]},a=function(e){o[e]=function(){for(var t={safe:r,bucket:n,headers:s},a=arguments.length,u=Array(a),i=0;a>i;i++)u[i]=arguments[i];var l=callWithOptions(requests[e],u,t);o.requests.push(_extends({},l,{headers:_extends({},s,l.headers)}))}};for(var u in requests)a(u);return o}function aggregate(){var e=arguments.length<=0||void 0===arguments[0]?[]:arguments[0],t=arguments.length<=1||void 0===arguments[1]?[]:arguments[1];if(e.length!==t.length)throw new Error("Responses length should match requests one.");var r={errors:[],published:[],conflicts:[],skipped:[]};return e.reduce(function(e,r,n){var s=r.status;return s>=200&&400>s?e.published.push(r.body):404===s?e.skipped.push(r.body):412===s?e.conflicts.push({type:"outgoing",local:t[n].body,remote:r.body.details&&r.body.details.existing||null}):e.errors.push({path:r.path,sent:t[n],error:r.body}),e},r)}var _extends=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol?"symbol":typeof e};Object.defineProperty(exports,"__esModule",{value:!0}),exports.createBatch=createBatch,exports.aggregate=aggregate;var _requests=require("./requests"),requests=_interopRequireWildcard(_requests); | ||
"use strict";function _interopRequireWildcard(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t["default"]=e,t}function _toConsumableArray(e){if(Array.isArray(e)){for(var t=0,r=Array(e.length);t<e.length;t++)r[t]=e[t];return r}return Array.from(e)}function callWithOptions(e,t,r){var n=void 0;return n=t.length===e.length+1&&"object"===_typeof(t[t.length-1])?t.slice(0,t.length-1).concat(_extends({},r,t[t.length-1])):t.concat(r),e.apply(void 0,_toConsumableArray(n))}function createBatch(){var e=arguments.length<=0||void 0===arguments[0]?{}:arguments[0],t=_extends({safe:!1,headers:{},bucket:"default"},e),r=t.safe,n=t.bucket,s=t.headers,o={requests:[]},a=function(e){o[e]=function(){for(var t={safe:r,bucket:n,headers:s},a=arguments.length,u=Array(a),i=0;a>i;i++)u[i]=arguments[i];var l=callWithOptions(requests[e],u,t);o.requests.push(_extends({},l,{headers:_extends({},s,l.headers)}))}};for(var u in requests)a(u);return o}function aggregate(){var e=arguments.length<=0||void 0===arguments[0]?[]:arguments[0],t=arguments.length<=1||void 0===arguments[1]?[]:arguments[1];if(e.length!==t.length)throw new Error("Responses length should match requests one.");var r={errors:[],published:[],conflicts:[],skipped:[]};return e.reduce(function(e,r,n){var s=r.status;return s>=200&&400>s?e.published.push(r.body):404===s?e.skipped.push(r.body):412===s?e.conflicts.push({type:"outgoing",local:t[n].body,remote:r.body.details&&r.body.details.existing||null}):e.errors.push({path:r.path,sent:t[n],error:r.body}),e},r)}Object.defineProperty(exports,"__esModule",{value:!0});var _extends=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol?"symbol":typeof e};exports.createBatch=createBatch,exports.aggregate=aggregate;var _requests=require("./requests"),requests=_interopRequireWildcard(_requests); | ||
@@ -17,9 +17,9 @@ },{"./requests":8}],4:[function(require,module,exports){ | ||
},{}],6:[function(require,module,exports){ | ||
"use strict";function _interopRequireDefault(e){return e&&e.__esModule?e:{"default":e}}function _classCallCheck(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var _createClass=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}();Object.defineProperty(exports,"__esModule",{value:!0});var _errors=require("./errors.js"),_errors2=_interopRequireDefault(_errors),HTTP=function(){function e(t){var r=arguments.length<=1||void 0===arguments[1]?{}:arguments[1];if(_classCallCheck(this,e),!t)throw new Error("No events handler provided");this.events=t,r=Object.assign({},e.defaultOptions,r),this.requestMode=r.requestMode,this.timeout=r.timeout}return _createClass(e,null,[{key:"DEFAULT_REQUEST_HEADERS",get:function(){return{Accept:"application/json","Content-Type":"application/json"}}},{key:"defaultOptions",get:function(){return{timeout:5e3,requestMode:"cors"}}}]),_createClass(e,[{key:"request",value:function(t){var r=this,n=arguments.length<=1||void 0===arguments[1]?{headers:{}}:arguments[1],o=void 0,a=void 0,s=void 0,i=void 0,u=void 0,c=void 0;return n.headers=Object.assign({},e.DEFAULT_REQUEST_HEADERS,n.headers),n.mode=this.requestMode,new Promise(function(e,o){u=setTimeout(function(){c=!0,o(new Error("Request timeout."))},r.timeout),fetch(t,n).then(function(t){c||(clearTimeout(u),e(t))})["catch"](function(e){c||(clearTimeout(u),o(e))})}).then(function(e){return o=e,i=e.headers,a=e.status,s=e.statusText,r._checkForDeprecationHeader(i),r._checkForBackoffHeader(a,i),e.text()}).then(function(e){return 0===e.length?null:JSON.parse(e)})["catch"](function(e){var t=new Error("HTTP "+(a||0)+"; "+e);throw t.response=o,t.stack=e.stack,t}).then(function(e){if(e&&a>=400){var t="HTTP "+a+"; ";e.errno&&e.errno in _errors2["default"]?(t+=_errors2["default"][e.errno],e.message&&(t+=": "+e.message)):t+=s||"";var r=new Error(t.trim());throw r.response=o,r.data=e,r}return{status:a,json:e,headers:i}})}},{key:"_checkForDeprecationHeader",value:function(e){var t=e.get("Alert");if(t){var r=void 0;try{r=JSON.parse(t)}catch(n){return void console.warn("Unable to parse Alert header message",t)}console.warn(r.message,r.url),this.events.emit("deprecated",r)}}},{key:"_checkForBackoffHeader",value:function(e,t){var r=void 0,n=parseInt(t.get("Backoff"),10);r=n>0?(new Date).getTime()+1e3*n:0,this.events.emit("backoff",r)}}]),e}();exports["default"]=HTTP; | ||
"use strict";function _interopRequireDefault(e){return e&&e.__esModule?e:{"default":e}}function _classCallCheck(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),_errors=require("./errors.js"),_errors2=_interopRequireDefault(_errors),HTTP=function(){function e(t){var r=arguments.length<=1||void 0===arguments[1]?{}:arguments[1];if(_classCallCheck(this,e),!t)throw new Error("No events handler provided");this.events=t,r=Object.assign({},e.defaultOptions,r),this.requestMode=r.requestMode,this.timeout=r.timeout}return _createClass(e,null,[{key:"DEFAULT_REQUEST_HEADERS",get:function(){return{Accept:"application/json","Content-Type":"application/json"}}},{key:"defaultOptions",get:function(){return{timeout:5e3,requestMode:"cors"}}}]),_createClass(e,[{key:"request",value:function(t){var r=this,n=arguments.length<=1||void 0===arguments[1]?{headers:{}}:arguments[1],o=void 0,a=void 0,s=void 0,i=void 0,u=void 0,c=void 0;return n.headers=Object.assign({},e.DEFAULT_REQUEST_HEADERS,n.headers),n.mode=this.requestMode,new Promise(function(e,o){u=setTimeout(function(){c=!0,o(new Error("Request timeout."))},r.timeout),fetch(t,n).then(function(t){c||(clearTimeout(u),e(t))})["catch"](function(e){c||(clearTimeout(u),o(e))})}).then(function(e){return o=e,i=e.headers,a=e.status,s=e.statusText,r._checkForDeprecationHeader(i),r._checkForBackoffHeader(a,i),e.text()}).then(function(e){return 0===e.length?null:JSON.parse(e)})["catch"](function(e){var t=new Error("HTTP "+(a||0)+"; "+e);throw t.response=o,t.stack=e.stack,t}).then(function(e){if(e&&a>=400){var t="HTTP "+a+"; ";e.errno&&e.errno in _errors2["default"]?(t+=_errors2["default"][e.errno],e.message&&(t+=": "+e.message)):t+=s||"";var r=new Error(t.trim());throw r.response=o,r.data=e,r}return{status:a,json:e,headers:i}})}},{key:"_checkForDeprecationHeader",value:function(e){var t=e.get("Alert");if(t){var r=void 0;try{r=JSON.parse(t)}catch(n){return void console.warn("Unable to parse Alert header message",t)}console.warn(r.message,r.url),this.events.emit("deprecated",r)}}},{key:"_checkForBackoffHeader",value:function(e,t){var r=void 0,n=parseInt(t.get("Backoff"),10);r=n>0?(new Date).getTime()+1e3*n:0,this.events.emit("backoff",r)}}]),e}();exports["default"]=HTTP; | ||
},{"./errors.js":5}],7:[function(require,module,exports){ | ||
"use strict";function _interopRequireWildcard(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t["default"]=e,t}function _interopRequireDefault(e){return e&&e.__esModule?e:{"default":e}}function _classCallCheck(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var _extends=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},_createClass=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}();Object.defineProperty(exports,"__esModule",{value:!0}),exports.SUPPORTED_PROTOCOL_VERSION=void 0,require("isomorphic-fetch");var _events=require("events"),_utils=require("./utils.js"),_http=require("./http.js"),_http2=_interopRequireDefault(_http),_endpoint=require("./endpoint"),_endpoint2=_interopRequireDefault(_endpoint),_requests=require("./requests"),requests=_interopRequireWildcard(_requests),_batch=require("./batch"),SUPPORTED_PROTOCOL_VERSION=exports.SUPPORTED_PROTOCOL_VERSION="v1",KintoApi=function(){function e(t){var r=arguments.length<=1||void 0===arguments[1]?{}:arguments[1];if(_classCallCheck(this,e),"string"!=typeof t||!t.length)throw new Error("Invalid remote URL: "+t);"/"===t[t.length-1]&&(t=t.slice(0,-1)),this._backoffReleaseTime=null,this.remote=t,this.defaultBucket=r.bucket||"default",this.optionHeaders=r.headers||{},this.serverSettings=null,this.events=r.events||new _events.EventEmitter,this.http=new _http2["default"](this.events,{requestMode:r.requestMode}),this._registerHTTPEvents()}return _createClass(e,[{key:"_registerHTTPEvents",value:function(){var e=this;this.events.on("backoff",function(t){e._backoffReleaseTime=t})}},{key:"fetchServerSettings",value:function(){var e=this;return this.serverSettings?Promise.resolve(this.serverSettings):this.execute({path:(0,_endpoint2["default"])("root")}).then(function(t){return e.serverSettings=t.json.settings,e.serverSettings})}},{key:"fetchChangesSince",value:function(e,t){var r=this,n=arguments.length<=2||void 0===arguments[2]?{lastModified:null,headers:{}}:arguments[2],s=(0,_endpoint2["default"])("records",e,t),i="",u=_extends({},this.optionHeaders,n.headers);return n.lastModified&&(i="?_since="+n.lastModified,u["If-None-Match"]=(0,_utils.quote)(n.lastModified)),this.fetchServerSettings().then(function(e){return r.execute({path:s+i,headers:u})}).then(function(e){if(304===e.status)return{lastModified:n.lastModified,changes:[]};var t=e.headers.get("ETag");t=t?parseInt((0,_utils.unquote)(t),10):n.lastModified;var r=e.json.data,s=n.lastModified,i=t>n.lastModified,u=r?0===r.length:!0;if(s&&i&&u)throw Error("Server has been flushed.");return{lastModified:t,changes:r}})}},{key:"_batchRequests",value:function(e){var t=this,r=arguments.length<=1||void 0===arguments[1]?{}:arguments[1],n=_extends({},this.optionHeaders,r.headers);return e.length?this.fetchServerSettings().then(function(s){var i=s.batch_max_requests;if(i&&e.length>i){var u=(0,_utils.partition)(e,i);return(0,_utils.pMap)(u,function(e){return t._batchRequests(e,r)})}return t.execute({path:(0,_endpoint2["default"])("batch"),method:"POST",headers:n,body:{defaults:{headers:n},requests:e}}).then(function(e){return e.json.responses})}):Promise.resolve([])}},{key:"batch",value:function t(e){var r=arguments.length<=1||void 0===arguments[1]?{}:arguments[1],n=_extends({safe:!1,bucket:this.defaultBucket,headers:{}},r),s=n.safe,i=n.bucket,u=n.headers,t=(0,_batch.createBatch)({safe:s,bucket:i,headers:_extends({},this.optionHeaders,u)});return e(t),this._batchRequests(t.requests,r).then(function(e){return r.aggregate?(0,_batch.aggregate)(e,t.requests):e})}},{key:"execute",value:function(e){return this.http.request(this.remote+e.path,_extends({},e,{body:JSON.stringify(e.body)}))}},{key:"createBucket",value:function(e){var t=arguments.length<=1||void 0===arguments[1]?{}:arguments[1];return this.execute(requests.createBucket(e,_extends({headers:_extends({},this.optionHeaders,t.headers)},t))).then(function(e){return e.json})}},{key:"createCollection",value:function(){var e=arguments.length<=0||void 0===arguments[0]?{}:arguments[0],t={bucket:this.defaultBucket,headers:{}},r=t.bucket,n=t.headers;return this.execute(requests.createCollection(_extends({bucket:r,headers:_extends({},this.optionHeaders,n)},e))).then(function(e){return e.json})}},{key:"getRecords",value:function(e){var t=arguments.length<=1||void 0===arguments[1]?{}:arguments[1],r=_extends({bucket:this.defaultBucket,sort:"-last_modified",headers:{}},t),n=r.bucket,s=r.sort,i=r.headers,u=(0,_endpoint2["default"])("records",n,e),a="?_sort="+s;return this.execute({path:u+a,headers:_extends({},this.optionHeaders,i)}).then(function(e){return e.json})}},{key:"createRecord",value:function(e,t){var r=arguments.length<=2||void 0===arguments[2]?{}:arguments[2],n=_extends({bucket:this.defaultBucket,headers:{}},r),s=n.bucket,i=n.headers;return this.execute(requests.createRecord(e,t,_extends({bucket:s,headers:_extends({},this.optionHeaders,i)},r))).then(function(e){return e.json})}},{key:"updateRecord",value:function(e,t){var r=arguments.length<=2||void 0===arguments[2]?{}:arguments[2],n=_extends({bucket:this.defaultBucket,headers:{}},r),s=n.bucket,i=n.headers;return this.execute(requests.updateRecord(e,t,_extends({bucket:s,headers:_extends({},this.optionHeaders,i)},r))).then(function(e){return e.json})}},{key:"remote",get:function(){return this._remote},set:function(e){var t=void 0;try{t=e.match(/\/(v\d+)\/?$/)[1]}catch(r){throw new Error("The remote URL must contain the version: "+e)}if(t!==SUPPORTED_PROTOCOL_VERSION)throw new Error("Unsupported protocol version: "+t);this._remote=e,this._version=t}},{key:"version",get:function(){return this._version}},{key:"backoff",get:function(){var e=(new Date).getTime();return this._backoffReleaseTime&&e<this._backoffReleaseTime?this._backoffReleaseTime-e:0}}]),e}();exports["default"]=KintoApi; | ||
"use strict";function _interopRequireWildcard(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t["default"]=e,t}function _interopRequireDefault(e){return e&&e.__esModule?e:{"default":e}}function _classCallCheck(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(exports,"__esModule",{value:!0}),exports.SUPPORTED_PROTOCOL_VERSION=void 0;var _extends=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},_createClass=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}();require("isomorphic-fetch");var _events=require("events"),_utils=require("./utils.js"),_http=require("./http.js"),_http2=_interopRequireDefault(_http),_endpoint=require("./endpoint"),_endpoint2=_interopRequireDefault(_endpoint),_requests=require("./requests"),requests=_interopRequireWildcard(_requests),_batch=require("./batch"),SUPPORTED_PROTOCOL_VERSION=exports.SUPPORTED_PROTOCOL_VERSION="v1",KintoApi=function(){function e(t){var r=arguments.length<=1||void 0===arguments[1]?{}:arguments[1];if(_classCallCheck(this,e),"string"!=typeof t||!t.length)throw new Error("Invalid remote URL: "+t);"/"===t[t.length-1]&&(t=t.slice(0,-1)),this._backoffReleaseTime=null,this.remote=t,this.defaultBucket=r.bucket||"default",this.defaultSafe=!!r.safe,this.optionHeaders=r.headers||{},this.serverSettings=null,this.events=r.events||new _events.EventEmitter,this.http=new _http2["default"](this.events,{requestMode:r.requestMode}),this._registerHTTPEvents()}return _createClass(e,[{key:"_registerHTTPEvents",value:function(){var e=this;this.events.on("backoff",function(t){e._backoffReleaseTime=t})}},{key:"_getRequestOptions",value:function(){var e=arguments.length<=0||void 0===arguments[0]?{}:arguments[0];return _extends({safe:this.defaultSafe,bucket:this.defaultBucket},e,{headers:_extends({},this.optionHeaders,e.headers)})}},{key:"fetchServerSettings",value:function(){var e=this;return this.serverSettings?Promise.resolve(this.serverSettings):this.execute({path:(0,_endpoint2["default"])("root")}).then(function(t){return e.serverSettings=t.json.settings,e.serverSettings})}},{key:"fetchChangesSince",value:function(e,t){var r=this,n=arguments.length<=2||void 0===arguments[2]?{lastModified:null,headers:{}}:arguments[2],s=(0,_endpoint2["default"])("records",e,t),i="",u=_extends({},this.optionHeaders,n.headers);return n.lastModified&&(i="?_since="+n.lastModified,u["If-None-Match"]=(0,_utils.quote)(n.lastModified)),this.fetchServerSettings().then(function(e){return r.execute({path:s+i,headers:u})}).then(function(e){if(304===e.status)return{lastModified:n.lastModified,changes:[]};var t=e.headers.get("ETag");t=t?parseInt((0,_utils.unquote)(t),10):n.lastModified;var r=e.json.data,s=n.lastModified,i=t>n.lastModified,u=r?0===r.length:!0;if(s&&i&&u)throw Error("Server has been flushed.");return{lastModified:t,changes:r}})}},{key:"_batchRequests",value:function(e){var t=this,r=arguments.length<=1||void 0===arguments[1]?{}:arguments[1],n=_extends({},this.optionHeaders,r.headers);return e.length?this.fetchServerSettings().then(function(s){var i=s.batch_max_requests;if(i&&e.length>i){var u=(0,_utils.partition)(e,i);return(0,_utils.pMap)(u,function(e){return t._batchRequests(e,r)})}return t.execute({path:(0,_endpoint2["default"])("batch"),method:"POST",headers:n,body:{defaults:{headers:n},requests:e}}).then(function(e){return e.json.responses})}):Promise.resolve([])}},{key:"batch",value:function t(e){var r=arguments.length<=1||void 0===arguments[1]?{}:arguments[1],t=(0,_batch.createBatch)(this._getRequestOptions(r));return e(t),this._batchRequests(t.requests,r).then(function(e){return r.aggregate?(0,_batch.aggregate)(e,t.requests):e})}},{key:"execute",value:function(e){return this.http.request(this.remote+e.path,_extends({},e,{body:JSON.stringify(e.body)}))}},{key:"createBucket",value:function(e){var t=arguments.length<=1||void 0===arguments[1]?{}:arguments[1],r=this._getRequestOptions(t);return this.execute(requests.createBucket(e,r)).then(function(e){return e.json})}},{key:"createCollection",value:function(){var e=arguments.length<=0||void 0===arguments[0]?{}:arguments[0],t=this._getRequestOptions(e);return this.execute(requests.createCollection(t)).then(function(e){return e.json})}},{key:"getCollection",value:function(e){var t=arguments.length<=1||void 0===arguments[1]?{}:arguments[1],r=_extends({bucket:this.defaultBucket,headers:{}},t),n=r.bucket,s=r.headers;return this.execute({path:(0,_endpoint2["default"])("collection",n,e),bucket:n,headers:_extends({},this.optionHeaders,s)}).then(function(e){return e.json})}},{key:"getRecords",value:function(e){var t=arguments.length<=1||void 0===arguments[1]?{}:arguments[1],r=_extends({bucket:this.defaultBucket,sort:"-last_modified",headers:{}},t),n=r.bucket,s=r.sort,i=r.headers,u=(0,_endpoint2["default"])("records",n,e),a="?_sort="+s;return this.execute({path:u+a,headers:_extends({},this.optionHeaders,i)}).then(function(e){return e.json})}},{key:"createRecord",value:function(e,t){var r=arguments.length<=2||void 0===arguments[2]?{}:arguments[2],n=this._getRequestOptions(r);return this.execute(requests.createRecord(e,t,n)).then(function(e){return e.json})}},{key:"updateRecord",value:function(e,t){var r=arguments.length<=2||void 0===arguments[2]?{}:arguments[2],n=this._getRequestOptions(r);return this.execute(requests.updateRecord(e,t,n)).then(function(e){return e.json})}},{key:"remote",get:function(){return this._remote},set:function(e){var t=void 0;try{t=e.match(/\/(v\d+)\/?$/)[1]}catch(r){throw new Error("The remote URL must contain the version: "+e)}if(t!==SUPPORTED_PROTOCOL_VERSION)throw new Error("Unsupported protocol version: "+t);this._remote=e,this._version=t}},{key:"version",get:function(){return this._version}},{key:"backoff",get:function(){var e=(new Date).getTime();return this._backoffReleaseTime&&e<this._backoffReleaseTime?this._backoffReleaseTime-e:0}}]),e}();exports["default"]=KintoApi; | ||
},{"./batch":3,"./endpoint":4,"./http.js":6,"./requests":8,"./utils.js":9,"events":2,"isomorphic-fetch":1}],8:[function(require,module,exports){ | ||
"use strict";function _interopRequireDefault(e){return e&&e.__esModule?e:{"default":e}}function getLastModified(e){return e.body&&"data"in e.body&&e.body.data.last_modified}function handleCacheHeaders(e,r){if(!e)return r;var t={},a=getLastModified(r);return a?t["If-Match"]=(0,_utils.quote)(a):t["If-None-Match"]="*",_extends({},r,{headers:_extends({},r.headers,t)})}function createBucket(e){var r=arguments.length<=1||void 0===arguments[1]?{}:arguments[1];if(!e)throw new Error("A bucket name is required.");var t=_extends({safe:!1,headers:{},permissions:{}},r),a=t.headers,s=t.permissions,n=t.safe;return handleCacheHeaders(n,{method:"PUT",path:(0,_endpoint2["default"])("bucket",e),headers:a,body:{permissions:s}})}function createCollection(){var e=arguments.length<=0||void 0===arguments[0]?{}:arguments[0],r=_extends({safe:!1,headers:{},permissions:{},bucket:"default",data:{}},e),t=r.bucket,a=r.headers,s=r.permissions,n=r.data,d=r.safe,o=r.id,i=e.id?(0,_endpoint2["default"])("collection",t,o):(0,_endpoint2["default"])("collections",t);return handleCacheHeaders(d,{method:e.id?"PUT":"POST",path:i,headers:a,body:{data:n,permissions:s}})}function createRecord(e,r){var t=arguments.length<=2||void 0===arguments[2]?{}:arguments[2];if(!e)throw new Error("A collection name is required.");var a=_extends({safe:!1,headers:{},bucket:"default",permissions:{}},t),s=a.bucket,n=a.headers,d=a.permissions,o=a.safe;return handleCacheHeaders(o,{method:"POST",path:(0,_endpoint2["default"])("records",s,e),headers:n,body:{data:r,permissions:d}})}function updateRecord(e,r){var t=arguments.length<=2||void 0===arguments[2]?{}:arguments[2];if(!e)throw new Error("A collection name is required.");var a=_extends({safe:!1,headers:{},bucket:"default",permissions:{}},t),s=a.bucket,n=a.headers,d=a.permissions,o=a.safe;if(!r.id)throw new Error("A record id is required.");return handleCacheHeaders(o,{method:"PUT",path:(0,_endpoint2["default"])("record",s,e,r.id),headers:n,body:{data:r,permissions:d}})}var _extends=Object.assign||function(e){for(var r=1;r<arguments.length;r++){var t=arguments[r];for(var a in t)Object.prototype.hasOwnProperty.call(t,a)&&(e[a]=t[a])}return e};Object.defineProperty(exports,"__esModule",{value:!0}),exports.createBucket=createBucket,exports.createCollection=createCollection,exports.createRecord=createRecord,exports.updateRecord=updateRecord;var _endpoint=require("./endpoint"),_endpoint2=_interopRequireDefault(_endpoint),_utils=require("./utils.js"); | ||
"use strict";function _interopRequireDefault(e){return e&&e.__esModule?e:{"default":e}}function getLastModified(e){return e.body&&"data"in e.body&&e.body.data.last_modified}function handleCacheHeaders(e,r){if(!e)return r;var t={},a=getLastModified(r);return a?t["If-Match"]=(0,_utils.quote)(a):t["If-None-Match"]="*",_extends({},r,{headers:_extends({},r.headers,t)})}function createBucket(e){var r=arguments.length<=1||void 0===arguments[1]?{}:arguments[1];if(!e)throw new Error("A bucket name is required.");var t=_extends({safe:!1,headers:{},permissions:{}},r),a=t.headers,s=t.permissions,n=t.safe;return handleCacheHeaders(n,{method:"PUT",path:(0,_endpoint2["default"])("bucket",e),headers:a,body:{permissions:s}})}function createCollection(){var e=arguments.length<=0||void 0===arguments[0]?{}:arguments[0],r=_extends({safe:!1,headers:{},permissions:{},bucket:"default",data:{}},e),t=r.bucket,a=r.headers,s=r.permissions,n=r.data,d=r.safe,o=r.id,i=e.id?(0,_endpoint2["default"])("collection",t,o):(0,_endpoint2["default"])("collections",t);return handleCacheHeaders(d,{method:e.id?"PUT":"POST",path:i,headers:a,body:{data:n,permissions:s}})}function createRecord(e,r){var t=arguments.length<=2||void 0===arguments[2]?{}:arguments[2];if(!e)throw new Error("A collection name is required.");var a=_extends({safe:!1,headers:{},bucket:"default",permissions:{}},t),s=a.bucket,n=a.headers,d=a.permissions,o=a.safe;return handleCacheHeaders(o,{method:"POST",path:(0,_endpoint2["default"])("records",s,e),headers:n,body:{data:r,permissions:d}})}function updateRecord(e,r){var t=arguments.length<=2||void 0===arguments[2]?{}:arguments[2];if(!e)throw new Error("A collection name is required.");var a=_extends({safe:!1,headers:{},bucket:"default",permissions:{}},t),s=a.bucket,n=a.headers,d=a.permissions,o=a.safe;if(!r.id)throw new Error("A record id is required.");return handleCacheHeaders(o,{method:"PUT",path:(0,_endpoint2["default"])("record",s,e,r.id),headers:n,body:{data:r,permissions:d}})}Object.defineProperty(exports,"__esModule",{value:!0});var _extends=Object.assign||function(e){for(var r=1;r<arguments.length;r++){var t=arguments[r];for(var a in t)Object.prototype.hasOwnProperty.call(t,a)&&(e[a]=t[a])}return e};exports.createBucket=createBucket,exports.createCollection=createCollection,exports.createRecord=createRecord,exports.updateRecord=updateRecord;var _endpoint=require("./endpoint"),_endpoint2=_interopRequireDefault(_endpoint),_utils=require("./utils.js"); | ||
@@ -26,0 +26,0 @@ },{"./endpoint":4,"./utils.js":9}],9:[function(require,module,exports){ |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; | ||
@@ -7,5 +11,2 @@ | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
exports.createBatch = createBatch; | ||
@@ -12,0 +13,0 @@ exports.aggregate = aggregate; |
"use strict"; | ||
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); | ||
Object.defineProperty(exports, "__esModule", { | ||
@@ -9,2 +7,4 @@ value: true | ||
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); | ||
var _errors = require("./errors.js"); | ||
@@ -110,2 +110,3 @@ | ||
_createClass(HTTP, [{ | ||
@@ -112,0 +113,0 @@ key: "request", |
134
lib/index.js
"use strict"; | ||
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; | ||
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); | ||
Object.defineProperty(exports, "__esModule", { | ||
@@ -12,2 +8,6 @@ value: true | ||
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; | ||
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); | ||
require("isomorphic-fetch"); | ||
@@ -57,2 +57,4 @@ | ||
* - {Object} headers The key-value headers to pass to each request. | ||
* - {Boolean} safe Adds concurrency headers to every requests | ||
* (default: `false`). | ||
* - {String} requestMode The HTTP request mode (from ES6 fetch spec). | ||
@@ -78,2 +80,3 @@ * | ||
this.defaultBucket = options.bucket || "default"; | ||
this.defaultSafe = !!options.safe; | ||
@@ -112,7 +115,10 @@ // public properties | ||
_createClass(KintoApi, [{ | ||
key: "_registerHTTPEvents", | ||
/** | ||
* Registers HTTP events. | ||
* @private | ||
*/ | ||
@@ -128,2 +134,27 @@ value: function _registerHTTPEvents() { | ||
/** | ||
* Generates a request options object, deeply merging the client configured | ||
* defaults with the ones provided as argument. | ||
* | ||
* Note: Headers won't be overriden but merged with instance default ones. | ||
* | ||
* @private | ||
* @param {Object} options The request options. | ||
* @return {Object} | ||
*/ | ||
}, { | ||
key: "_getRequestOptions", | ||
value: function _getRequestOptions() { | ||
var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0]; | ||
return _extends({ | ||
safe: this.defaultSafe, | ||
bucket: this.defaultBucket | ||
}, options, { | ||
// Note: headers should never be overriden but extended | ||
headers: _extends({}, this.optionHeaders, options.headers) | ||
}); | ||
} | ||
/** | ||
* Retrieves Kinto server settings. | ||
@@ -207,3 +238,3 @@ * | ||
* @param {Object} options The options object. | ||
* @return {Promise} | ||
* @return {Promise<{Object}, Error>} | ||
*/ | ||
@@ -258,3 +289,3 @@ | ||
* @param {Object} options The options object. | ||
* @return {Promise} | ||
* @return {Promise<{Object}, Error>} | ||
*/ | ||
@@ -267,17 +298,3 @@ | ||
var _safe$bucket$headers$ = _extends({ | ||
safe: false, | ||
bucket: this.defaultBucket, | ||
headers: {} | ||
}, options); | ||
var safe = _safe$bucket$headers$.safe; | ||
var bucket = _safe$bucket$headers$.bucket; | ||
var headers = _safe$bucket$headers$.headers; | ||
var batch = (0, _batch.createBatch)({ | ||
safe: safe, | ||
bucket: bucket, | ||
headers: _extends({}, this.optionHeaders, headers) | ||
}); | ||
var batch = (0, _batch.createBatch)(this._getRequestOptions(options)); | ||
fn(batch); | ||
@@ -315,3 +332,3 @@ return this._batchRequests(batch.requests, options).then(function (responses) { | ||
* @param {Object} options The options object. | ||
* @return {Object} | ||
* @return {Promise<{Object}, Error>} | ||
*/ | ||
@@ -324,5 +341,4 @@ | ||
return this.execute(requests.createBucket(bucketName, _extends({ | ||
headers: _extends({}, this.optionHeaders, options.headers) | ||
}, options))).then(function (res) { | ||
var reqOptions = this._getRequestOptions(options); | ||
return this.execute(requests.createBucket(bucketName, reqOptions)).then(function (res) { | ||
return res.json; | ||
@@ -341,3 +357,3 @@ }); | ||
* @param {Object} options The options object. | ||
* @return {Object} | ||
* @return {Promise<{Object}, Error>} | ||
*/ | ||
@@ -349,13 +365,35 @@ | ||
var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0]; | ||
var _bucket$headers = { | ||
var reqOptions = this._getRequestOptions(options); | ||
return this.execute(requests.createCollection(reqOptions)).then(function (res) { | ||
return res.json; | ||
}); | ||
} | ||
/** | ||
* Retrieves information for a given collection. | ||
* | ||
* @param {String} id The collection name. | ||
* @param {Object} options The options object. | ||
* @return {Promise<{Object}, Error>} | ||
*/ | ||
}, { | ||
key: "getCollection", | ||
value: function getCollection(id) { | ||
var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1]; | ||
var _bucket$headers$optio = _extends({ | ||
bucket: this.defaultBucket, | ||
headers: {} | ||
}; | ||
var bucket = _bucket$headers.bucket; | ||
var headers = _bucket$headers.headers; | ||
}, options); | ||
return this.execute(requests.createCollection(_extends({ | ||
var bucket = _bucket$headers$optio.bucket; | ||
var headers = _bucket$headers$optio.headers; | ||
return this.execute({ | ||
path: (0, _endpoint2.default)("collection", bucket, id), | ||
bucket: bucket, | ||
headers: _extends({}, this.optionHeaders, headers) | ||
}, options))).then(function (res) { | ||
}).then(function (res) { | ||
return res.json; | ||
@@ -414,3 +452,3 @@ }); | ||
* @param {Object} options The options object. | ||
* @return {Object} | ||
* @return {Promise<{Object}, Error>} | ||
*/ | ||
@@ -423,14 +461,4 @@ | ||
var _bucket$headers$optio = _extends({ | ||
bucket: this.defaultBucket, | ||
headers: {} | ||
}, options); | ||
var bucket = _bucket$headers$optio.bucket; | ||
var headers = _bucket$headers$optio.headers; | ||
return this.execute(requests.createRecord(collName, record, _extends({ | ||
bucket: bucket, | ||
headers: _extends({}, this.optionHeaders, headers) | ||
}, options))).then(function (res) { | ||
var reqOptions = this._getRequestOptions(options); | ||
return this.execute(requests.createRecord(collName, record, reqOptions)).then(function (res) { | ||
return res.json; | ||
@@ -446,3 +474,3 @@ }); | ||
* @param {Object} options The options object. | ||
* @return {Object} | ||
* @return {Promise<{Object}, Error>} | ||
*/ | ||
@@ -455,14 +483,4 @@ | ||
var _bucket$headers$optio2 = _extends({ | ||
bucket: this.defaultBucket, | ||
headers: {} | ||
}, options); | ||
var bucket = _bucket$headers$optio2.bucket; | ||
var headers = _bucket$headers$optio2.headers; | ||
return this.execute(requests.updateRecord(collName, record, _extends({ | ||
bucket: bucket, | ||
headers: _extends({}, this.optionHeaders, headers) | ||
}, options))).then(function (res) { | ||
var reqOptions = this._getRequestOptions(options); | ||
return this.execute(requests.updateRecord(collName, record, reqOptions)).then(function (res) { | ||
return res.json; | ||
@@ -469,0 +487,0 @@ }); |
"use strict"; | ||
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; | ||
exports.createBucket = createBucket; | ||
@@ -47,2 +48,4 @@ exports.createCollection = createCollection; | ||
} | ||
// Note that we simply ignore any "bucket" option passed here, as the one | ||
// we're interested in is the one provided as a required argument. | ||
@@ -49,0 +52,0 @@ var _safe$headers$permiss = _extends({ |
{ | ||
"name": "kinto-client", | ||
"version": "0.2.2", | ||
"version": "0.2.3", | ||
"description": "JavaScript HTTP client for the Kinto API.", | ||
"main": "lib/index.js", | ||
"scripts": { | ||
"build": "babel -d lib/ src/", | ||
"build": "./node_modules/babel-cli/bin/babel.js -d lib/ src/", | ||
"dist": "mkdir -p dist && rm -f dist/*.* && npm run dist-dev && npm run dist-prod && npm run dist-noshim", | ||
"dist-dev": "browserify -s KintoApi -d -e src/index.js -o dist/kinto-client.js -t [ babelify --sourceMapRelative . ]", | ||
"dist-noshim": "browserify -s KintoApi -g uglifyify --ignore isomorphic-fetch --ignore babel-polyfill -e src/index.js -o dist/kinto-client.noshim.js -t [ babelify --sourceMapRelative . ]", | ||
"dist-prod": "browserify -s KintoApi -g uglifyify -e src/index.js -o dist/kinto-client.min.js -t [ babelify --sourceMapRelative . ]", | ||
"dist-dev": "./node_modules/browserify/bin/cmd.js -s KintoApi -d -e src/index.js -o dist/kinto-client.js -t [ babelify --sourceMapRelative . ]", | ||
"dist-noshim": "./node_modules/browserify/bin/cmd.js -s KintoApi -g uglifyify --ignore isomorphic-fetch --ignore babel-polyfill -e src/index.js -o dist/kinto-client.noshim.js -t [ babelify --sourceMapRelative . ]", | ||
"dist-prod": "./node_modules/browserify/bin/cmd.js -s KintoApi -g uglifyify -e src/index.js -o dist/kinto-client.min.js -t [ babelify --sourceMapRelative . ]", | ||
"report-coverage": "npm run test-cover && ./node_modules/coveralls/bin/coveralls.js < ./coverage/lcov.info", | ||
@@ -40,3 +40,2 @@ "tdd": "babel-node node_modules/.bin/_mocha --watch 'test/**/*_test.js'", | ||
"devDependencies": { | ||
"babel": "^6.3.26", | ||
"babel-cli": "^6.4.5", | ||
@@ -43,0 +42,0 @@ "babel-core": "^6.3.26", |
Sorry, the diff of this file is too big to display
New author
Supply chain riskA new npm collaborator published a version of the package for the first time. New collaborators are usually benign additions to a project, but do indicate a change to the security surface area of a package.
Found 1 instance in 1 package
236846
23
19
3196
5