/**
 * Minified by jsDelivr using Terser v5.39.0.
 * Original file: /npm/repoint@0.8.2/lib/index.js
 *
 * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files
 */
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.buildUrl=void 0;var _createClass=function(){function e(e,r){for(var t=0;t<r.length;t++){var o=r[t];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}return function(r,t,o){return t&&e(r.prototype,t),o&&e(r,o),r}}(),_extends=Object.assign||function(e){for(var r=1;r<arguments.length;r++){var t=arguments[r];for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o])}return e},_isomorphicFetch=require("isomorphic-fetch"),_isomorphicFetch2=_interopRequireDefault(_isomorphicFetch),_ramda=require("./ramda/ramda.repoint"),_ramda2=_interopRequireDefault(_ramda),_jqueryParam=require("jquery-param"),_jqueryParam2=_interopRequireDefault(_jqueryParam),_pluralize=require("pluralize"),_pluralize2=_interopRequireDefault(_pluralize),_helpers=require("./helpers"),_constants=require("./helpers/constants");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _toConsumableArray(e){if(Array.isArray(e)){for(var r=0,t=Array(e.length);r<e.length;r++)t[r]=e[r];return t}return Array.from(e)}function _classCallCheck(e,r){if(!(e instanceof r))throw new TypeError("Cannot call a class as a function")}var prepareHeaders=function(e,r){return"json"===e?_ramda2.default.merge({"Content-Type":"application/json"},r):_ramda2.default.merge({},r)},defaultFetchOpts={},jsonResponseHandler=function(e){return e.json()},modifyWith=function(e){return _ramda2.default.curry((function(r,t,o,a){var n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{},s=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"json",c=_ramda2.default.pick(o,a),i=(0,_helpers.missingParams)(c,o),l=o[0],m=void 0,u=void 0,d=void 0;if(0!==i.length)throw new Error('You must provide "'+i+'" in params');return 1===o.length&&l===_constants.IS_COLLECTION&&(m=a,u=t),(o.length>1||l!==_constants.IS_COLLECTION)&&(m=_ramda2.default.omit(o,a),u=(0,_helpers.urlParamsTransformer)(t,c)),d="form"===s?(0,_helpers.objectToFormData)(r.paramsTransform(m)):JSON.stringify(r.paramsTransform(m)),(0,_isomorphicFetch2.default)(""+r.host+u,_extends({},r.fetchOpts,{method:e,body:d,headers:_ramda2.default.merge(prepareHeaders(s,r.headers),n)})).then(r.beforeError).then(r.responseHandler).then((function(e){return e})).then(r.beforeSuccess)}))},commonMethods={get:_ramda2.default.curry((function(e,r,t,o){var a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{},n=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"json",s=_ramda2.default.pick(t,o),c=(0,_helpers.missingParams)(s,t),i=t[0],l=void 0,m=void 0;if(0!==c.length)throw new Error('You must provide "'+c+'" in params');1===t.length&&i===_constants.IS_COLLECTION&&(m=r,l=o),(t.length>1||i!==_constants.IS_COLLECTION)&&(m=(0,_helpers.urlParamsTransformer)(r,s),l=_ramda2.default.omit(t,o));var u=_ramda2.default.isEmpty(l)?""+e.host+m:""+e.host+m+"?"+(0,_jqueryParam2.default)(e.paramsTransform(l));return(0,_isomorphicFetch2.default)(u,_extends({},e.fetchOpts,{headers:_ramda2.default.merge(prepareHeaders(n,e.headers),a)})).then(e.beforeError).then(e.responseHandler).then((function(e){return e})).then((function(r){return e.beforeSuccess(r)}))})),post:_ramda2.default.curry((function(e,r,t,o){var a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{},n=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"json",s=_ramda2.default.pick(t,o),c=(0,_helpers.missingParams)(s,t),i=t[0],l=void 0,m=void 0,u=void 0;if(0!==c.length)throw new Error('You must provide "'+c+'" in params');return 1===t.length&&i===_constants.IS_COLLECTION&&(l=o,m=r),(t.length>1||i!==_constants.IS_COLLECTION)&&(l=_ramda2.default.omit(t,o),m=(0,_helpers.urlParamsTransformer)(r,s)),u="form"===n?(0,_helpers.objectToFormData)(e.paramsTransform(l)):JSON.stringify(e.paramsTransform(l)),(0,_isomorphicFetch2.default)(""+e.host+m,_extends({},e.fetchOpts,{method:"POST",body:u,headers:_ramda2.default.merge(prepareHeaders(n,e.headers),a)})).then(e.beforeError).then(e.responseHandler).then((function(e){return e})).then((function(r){return e.beforeSuccess(r)}))})),put:modifyWith("PUT"),patch:modifyWith("PATCH"),delete:_ramda2.default.curry((function(e,r,t,o){var a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{},n=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"json",s=_ramda2.default.pick(t,o),c=(0,_helpers.missingParams)(s,t),i=t[0],l=void 0,m=void 0;if(0!==c.length)throw new Error('You must provide "'+c+'" in params');1===t.length&&i===_constants.IS_COLLECTION&&(l=o,m=r),(t.length>1||i!==_constants.IS_COLLECTION)&&(l=_ramda2.default.omit(t,o),m=(0,_helpers.urlParamsTransformer)(r,s));var u=JSON.stringify(e.paramsTransform(l));return(0,_isomorphicFetch2.default)(""+e.host+m,_extends({},e.fetchOpts,{method:"DELETE",body:u,headers:_ramda2.default.merge(prepareHeaders(n,e.headers),a)})).then(e.beforeError).then(e.responseHandler).then((function(e){return e})).then((function(r){return e.beforeSuccess(r)}))}))},Repoint=function(){function e(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};_classCallCheck(this,e),this.config={host:r.host||"",headers:r.headers||{},paramsTransform:r.paramsTransform||_helpers.identity,beforeSuccess:r.beforeSuccess||_helpers.identity,beforeError:r.beforeError||_helpers.identity,fetchOpts:r.fetchOpts||defaultFetchOpts,responseHandler:r.responseHandler||jsonResponseHandler}}return _createClass(e,[{key:"generate",value:function(e){var r=this,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],a=t.nestUnder,n=t.namespace,s=t.singular||!1,c=void 0!==n?n+"/"+e:""+e,i=a?a.idAttributes:[],l=a?a.namespacedIdAttributes:[],m=void 0,u=void 0,d=void 0;if(!s){var h=t.idAttribute||"id";if(null!=a){var f=[].concat(_toConsumableArray(l)).reverse();m={collection:a.collectionUrl+"/:"+f[0]+"/"+c,member:a.collectionUrl+"/:"+f[0]+"/"+c+"/:"+h}}else m={collection:"/"+c,member:"/"+c+"/:"+h};u=m.collection,d=m.member;var p=""+(0,_pluralize2.default)(e,1)+(0,_helpers.capitalize)(h),_=o.reduce((function(e,t){var o=m[t.on]+"/"+t.name;return e[t.name]=commonMethods[t.method](r.config)(o)([].concat(_toConsumableArray(l),["collection"===t.on?_constants.IS_COLLECTION:h]).reduce((function(e,r){return e.concat(r)}),[])),e}),{});return _ramda2.default.merge({name:e,collectionUrl:u,memberUrl:d,idAttributes:_ramda2.default.append(h,i),namespacedIdAttributes:_ramda2.default.append(p,l),getCollection:commonMethods.get(this.config)(u)([].concat(_toConsumableArray(l),[_constants.IS_COLLECTION])),get:commonMethods.get(this.config)(d)([].concat(_toConsumableArray(l),[h])),post:commonMethods.post(this.config)(u)([].concat(_toConsumableArray(l),[_constants.IS_COLLECTION])),create:commonMethods.post(this.config)(u)([].concat(_toConsumableArray(l),[_constants.IS_COLLECTION])),put:commonMethods.put(this.config)(d)([].concat(_toConsumableArray(l),[h])),patch:commonMethods.patch(this.config)(d)([].concat(_toConsumableArray(l),[h])),update:commonMethods.patch(this.config)(d)([].concat(_toConsumableArray(l),[h])),delete:commonMethods.delete(this.config)(d)([].concat(_toConsumableArray(l),[h])),destroy:commonMethods.delete(this.config)(d)([].concat(_toConsumableArray(l),[h]))})(_)}if(null!=a){var g=[].concat(_toConsumableArray(l)).reverse();m={collection:null,member:a.collectionUrl+"/:"+g[0]+"/"+c}}else m={collection:null,member:"/"+c};return u=m.collection,d=m.member,_ramda2.default.merge({name:e,collectionUrl:u,memberUrl:d,idAttributes:[].concat(_toConsumableArray(i)),namespacedIdAttributes:[].concat(_toConsumableArray(l)),get:commonMethods.get(this.config)(d)([].concat(_toConsumableArray(l))),post:commonMethods.post(this.config)(d)([].concat(_toConsumableArray(l))),create:commonMethods.post(this.config)(d)([].concat(_toConsumableArray(l))),put:commonMethods.put(this.config)(d)([].concat(_toConsumableArray(l))),patch:commonMethods.patch(this.config)(d)([].concat(_toConsumableArray(l))),update:commonMethods.patch(this.config)(d)([].concat(_toConsumableArray(l))),delete:commonMethods.delete(this.config)(d)([].concat(_toConsumableArray(l))),destroy:commonMethods.delete(this.config)(d)([].concat(_toConsumableArray(l)))})({})}}]),e}();exports.buildUrl=_helpers.buildUrl,exports.default=Repoint;
//# sourceMappingURL=/sm/621acf25a1a96caf15d2d7ddad2d84cd8ca4034ab0a57a211dee75ee975527b8.map