@duffel/api 4.22.0 → 4.23.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";var t=require("node-fetch"),s=require("url");function e(t,s){var e={};for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&s.indexOf(i)<0&&(e[i]=t[i]);if(null!=t&&"function"==typeof Object.getOwnPropertySymbols){var h=0;for(i=Object.getOwnPropertySymbols(t);h<i.length;h++)s.indexOf(i[h])<0&&Object.prototype.propertyIsEnumerable.call(t,i[h])&&(e[i[h]]=t[i[h]])}return e}function i(t,s,e,i){return new(e||(e=Promise))(function(h,r){function a(t){try{o(i.next(t))}catch(t){r(t)}}function n(t){try{o(i.throw(t))}catch(t){r(t)}}function o(t){var s;t.done?h(t.value):(s=t.value,s instanceof e?s:new e(function(t){t(s)})).then(a,n)}o((i=i.apply(t,s||[])).next())})}function h(t){return this instanceof h?(this.v=t,this):new h(t)}function r(t,s,e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var i,r=e.apply(t,s||[]),a=[];return i=Object.create(("function"==typeof AsyncIterator?AsyncIterator:Object).prototype),n("next"),n("throw"),n("return",function(t){return function(s){return Promise.resolve(s).then(t,c)}}),i[Symbol.asyncIterator]=function(){return this},i;function n(t,s){r[t]&&(i[t]=function(s){return new Promise(function(e,i){a.push([t,s,e,i])>1||o(t,s)})},s&&(i[t]=s(i[t])))}function o(t,s){try{(e=r[t](s)).value instanceof h?Promise.resolve(e.value.v).then(u,c):d(a[0][2],e)}catch(t){d(a[0][3],t)}var e}function u(t){o("next",t)}function c(t){o("throw",t)}function d(t,s){t(s),a.shift(),a.length&&o(a[0][0],a[0][1])}}!function(){const t={npm_package_version:"4.21.6"};try{if(process)return process.env=Object.assign({},process.env),void Object.assign(process.env,t)}catch(t){}globalThis.process={env:t}}(),"function"==typeof SuppressedError&&SuppressedError;class a{constructor(t){this.request=t=>i(this,[t],void 0,function*({method:t,path:s,data:e,params:i}){return this.client.request({method:t,path:s,data:e,params:i})}),this.paginatedRequest=({path:t,params:s})=>this.client.paginatedRequest({path:t,params:s}),this.client=t}}class n extends a{constructor(t){super(t),this.get=t=>i(this,void 0,void 0,function*(){return this.request({method:"GET",path:`${this.path}/${t}`})}),this.confirm=t=>i(this,void 0,void 0,function*(){return this.request({method:"POST",path:`${this.path}/${t}/actions/confirm`})}),this.create=t=>i(this,void 0,void 0,function*(){return this.request({method:"POST",path:this.path,data:t})}),this.path="payments/payment_intents"}}class o extends a{constructor(t){super(t),this.update=(t,s)=>i(this,void 0,void 0,function*(){return this.request({method:"PATCH",path:`${this.path}/${t}`,data:{action_taken:s}})}),this.accept=t=>i(this,void 0,void 0,function*(){return this.request({method:"POST",path:`${this.path}/${t}/actions/accept`})}),this.list=t=>i(this,void 0,void 0,function*(){return this.request({method:"GET",path:this.path,params:{order_id:t}})}),this.path="air/airline_initiated_changes"}}class u extends a{constructor(t){super(t),this.get=t=>i(this,void 0,void 0,function*(){return this.request({method:"GET",path:`${this.path}/${t}`})}),this.create=t=>i(this,void 0,void 0,function*(){const{supplier_timeout:s}=t,i=e(t,["supplier_timeout"]);return this.request({method:"POST",path:`${this.path}/`,data:i,params:Object.assign({},null!=s&&{supplier_timeout:s})})}),this.path="air/batch_offer_requests"}}class c extends a{constructor(t){super(t),this.get=t=>i(this,void 0,void 0,function*(){return this.request({method:"GET",path:`${this.path}/${t}`})}),this.list=t=>this.request({method:"GET",path:this.path,params:t}),this.listWithGenerator=()=>this.paginatedRequest({path:this.path}),this.create=t=>i(this,void 0,void 0,function*(){const{return_offers:s,supplier_timeout:i}=t,h=e(t,["return_offers","supplier_timeout"]);return this.request({method:"POST",path:`${this.path}/`,data:h,params:Object.assign(Object.assign({},null!=s&&{return_offers:s}),null!=i&&{supplier_timeout:i})})}),this.path="air/offer_requests"}}class d extends a{constructor(t){super(t),this.get=(t,s)=>i(this,void 0,void 0,function*(){return this.request({method:"GET",path:`${this.path}/${t}`,params:s})}),this.list=t=>{var{offer_request_id:s}=t,i=e(t,["offer_request_id"]);return this.request({method:"GET",path:this.path,params:Object.assign(Object.assign({},i),{offer_request_id:s})})},this.listWithGenerator=t=>{var{offer_request_id:s}=t,i=e(t,["offer_request_id"]);return this.paginatedRequest({path:this.path,params:Object.assign(Object.assign({},i),{offer_request_id:s})})},this.update=(t,s,e)=>i(this,void 0,void 0,function*(){return this.request(Object.assign({method:"PATCH",path:`${this.path}/${t}/passengers/${s}`},e&&{data:e}))}),this.getPriced=(t,s)=>i(this,void 0,void 0,function*(){return this.request({method:"POST",path:`${this.path}/${t}/actions/price`,data:s})}),this.path="air/offers"}}class p extends a{constructor(t){super(t),this.get=t=>i(this,void 0,void 0,function*(){return this.request({method:"GET",path:`${this.path}/${t}`})}),this.list=t=>this.request({method:"GET",path:this.path,params:t}),this.listWithGenerator=t=>this.paginatedRequest({path:this.path,params:t}),this.create=t=>i(this,void 0,void 0,function*(){return this.request({method:"POST",path:this.path,data:t})}),this.confirm=t=>i(this,void 0,void 0,function*(){return this.request({method:"POST",path:`${this.path}/${t}/actions/confirm`})}),this.path="air/order_cancellations"}}class l extends a{constructor(t){super(t),this.get=t=>i(this,void 0,void 0,function*(){return this.request({method:"GET",path:`${this.path}/${t}`})}),this.list=t=>i(this,void 0,void 0,function*(){return this.request({method:"GET",path:this.path,params:t})}),this.listWithGenerator=t=>this.paginatedRequest({path:"air/orders",params:t}),this.create=t=>i(this,void 0,void 0,function*(){return this.request({method:"POST",path:this.path,data:t})}),this.update=(t,s)=>i(this,void 0,void 0,function*(){return this.request({method:"PATCH",path:`${this.path}/${t}`,data:{options:s}})}),this.getAvailableServices=t=>i(this,void 0,void 0,function*(){return this.request({method:"GET",path:`${this.path}/${t}/available_services`})}),this.addServices=(t,s)=>i(this,void 0,void 0,function*(){return this.request({method:"POST",path:`${this.path}/${t}/services`,data:s})}),this.path="air/orders"}}class f extends a{constructor(t){super(t),this.get=t=>i(this,void 0,void 0,function*(){return this.request({method:"GET",path:`${this.path}/${t}`})}),this.create=t=>i(this,void 0,void 0,function*(){return this.request({method:"POST",path:this.path,data:t})}),this.path="air/order_change_requests"}}class v extends a{constructor(t){super(t),this.get=t=>i(this,void 0,void 0,function*(){return this.request({method:"GET",path:`${this.path}/${t}`})}),this.list=t=>this.request({method:"GET",path:this.path,params:t}),this.listWithGenerator=()=>this.paginatedRequest({path:this.path}),this.path="air/order_change_offers"}}class m extends a{constructor(t){super(t),this.create=t=>i(this,void 0,void 0,function*(){return this.request({method:"POST",path:this.path,data:t})}),this.get=t=>i(this,void 0,void 0,function*(){return this.request({method:"GET",path:`${this.path}/${t}`})}),this.confirm=(t,s)=>i(this,void 0,void 0,function*(){return this.request({method:"POST",path:`${this.path}/${t}/actions/confirm`,data:s})}),this.path="air/order_changes"}}class q extends a{constructor(t){super(t),this.create=t=>i(this,void 0,void 0,function*(){return this.request({method:"POST",path:this.path,data:t})}),this.path="air/payments"}}class g extends a{constructor(t){super(t),this.get=(t,s)=>i(this,void 0,void 0,function*(){return this.request({method:"GET",path:`${this.path}/${t}`,params:s})}),this.create=t=>i(this,void 0,void 0,function*(){const{supplier_timeout:s}=t,i=e(t,["supplier_timeout"]);return this.request({method:"POST",path:`${this.path}/`,data:i,params:Object.assign({},null!=s&&{supplier_timeout:s})})}),this.getFaresById=(t,s)=>i(this,void 0,void 0,function*(){return this.request({method:"GET",path:`${this.path}/${t}/fares`,params:s})}),this.path="air/partial_offer_requests"}}class $ extends a{constructor(t){super(t),this.get=t=>i(this,void 0,void 0,function*(){return this.request({method:"GET",path:`${this.path}`,params:t})}),this.path="air/seat_maps"}}let T=class extends Error{constructor({meta:t,errors:s,headers:e}){super(),this.meta=t,this.errors=s,this.headers=e}};class y{constructor({token:e,basePath:h,apiVersion:r,debug:a,source:n}){this.request=e=>i(this,[e],void 0,function*({method:e,path:i,data:h,params:r,compress:a=!0}){var n,o;let u,c;const d=new s.URL(i,this.basePath),p={"User-Agent":[`Duffel/${this.apiVersion}`,`duffel_api_javascript/${process.env.npm_package_version}`,this.source?`source/${this.source}`:""].join(" ").trim(),Accept:"application/json","Accept-Encoding":"gzip","Content-Type":"application/json","Duffel-Version":this.apiVersion,Authorization:`Bearer ${this.token}`};if(r){const t=new s.URLSearchParams;Object.entries(r).sort().filter(t=>null!==t[0]).forEach(([s,e])=>{Array.isArray(e)?e.forEach(e=>t.append(s,e.toString())):t.append(s,e.toString())}),d.search=t.toString()}h&&(u=JSON.stringify({data:Object.assign({},h)})),(null===(n=this.debug)||void 0===n?void 0:n.verbose)&&(console.info("Endpoint: ",d.href),console.info("Method: ",e),h&&console.info("Body Parameters: ",h),r&&console.info("Query Parameters: ",r));const l=yield t(d.href,{method:e,headers:p,body:u,compress:a});(null===(o=this.debug)||void 0===o?void 0:o.verbose)&&l.headers.get("x-request-id")&&console.info("Request ID: ",l.headers.get("x-request-id"));const f=l.headers.get("content-type");if(c=f&&f.includes("json")?yield l.json():yield l.text(),!l.ok||"errors"in c&&c.errors)throw new T(Object.assign(Object.assign({},c),{status:l.status,headers:l.headers}));return Object.assign(Object.assign({},c),{status:l.status,headers:l.headers})}),this.token=e,this.basePath=h||"https://api.duffel.com",this.apiVersion=r||"v2",this.debug=a,this.source=n}paginatedRequest(t){return r(this,arguments,function*({path:t,params:s}){let e=yield h(this.request({method:"GET",path:t,params:s}));for(const t of e.data)yield yield h({data:t,status:e.status});for(;e.meta&&"after"in e.meta&&e.meta.after;){e=yield h(this.request({method:"GET",path:t,params:Object.assign(Object.assign({},s),{limit:e.meta.limit,after:e.meta.after})}));for(const t of e.data)yield yield h({data:t,status:e.status})}})}}class O extends a{constructor(t){super(t),this.get=t=>i(this,void 0,void 0,function*(){return this.request({method:"GET",path:`${this.path}/${t}`})}),this.list=t=>this.request({method:"GET",path:this.path,params:t}),this.listWithGenerator=()=>this.paginatedRequest({path:this.path}),this.path="air/aircraft"}}class _ extends a{constructor(t){super(t),this.get=t=>i(this,void 0,void 0,function*(){return this.request({method:"GET",path:`${this.path}/${t}`})}),this.list=t=>this.request({method:"GET",path:this.path,params:t}),this.listWithGenerator=()=>this.paginatedRequest({path:this.path}),this.path="air/airlines"}}class b extends a{constructor(t){super(t),this.get=t=>i(this,void 0,void 0,function*(){return this.request({method:"GET",path:`${this.path}/${t}`})}),this.list=t=>this.request({method:"GET",path:this.path,params:t}),this.listWithGenerator=()=>this.paginatedRequest({path:this.path}),this.path="air/airports"}}class E extends a{constructor(t){super(t),this.list=t=>i(this,void 0,void 0,function*(){return this.request({method:"GET",path:`${this.path}`,params:t})}),this.path="places/suggestions"}}class w extends a{constructor(t){super(t),this.get=t=>i(this,void 0,void 0,function*(){return this.request({method:"GET",path:`${this.path}/${t}`})}),this.create=t=>i(this,void 0,void 0,function*(){return this.request({method:"POST",path:this.path,data:t})}),this.path="payments/refunds"}}class G extends a{constructor(t){super(t),this.create=t=>i(this,void 0,void 0,function*(){return this.request({method:"POST",path:this.path,data:t})}),this.path="links/sessions"}}class P extends a{constructor(t){super(t),this.redeliver=t=>i(this,void 0,void 0,function*(){return this.request({method:"POST",path:`${this.path}/events/${t}/actions/redeliver`})}),this.ping=t=>i(this,void 0,void 0,function*(){return this.request({method:"POST",path:`${this.path}/${t}/actions/ping`})}),this.get=t=>i(this,void 0,void 0,function*(){return this.request({method:"GET",path:`${this.path}/events/${t}`})}),this.listDeliveries=t=>i(this,void 0,void 0,function*(){var s=e(t,[]);return this.request({method:"GET",path:`${this.path}/deliveries`,params:Object.assign({},s)})}),this.delete=t=>i(this,void 0,void 0,function*(){return this.request({method:"DELETE",path:`${this.path}/${t}`})}),this.update=(t,s)=>i(this,[t,s],void 0,function*(t,{active:s,events:e,url:i}){return this.request({method:"PATCH",path:`${this.path}/${t}`,data:{active:s,events:e,url:i}})}),this.list=t=>i(this,void 0,void 0,function*(){var s=e(t,[]);return this.request({method:"GET",path:this.path,params:Object.assign({},s)})}),this.create=t=>i(this,[t],void 0,function*({events:t,url:s}){return this.request({method:"POST",path:this.path,data:{events:t,url:s}})}),this.path="air/webhooks"}}class S extends a{constructor(t){super(t),this.suggestions=(t,s)=>i(this,void 0,void 0,function*(){return this.request({method:"POST",path:`${this.path}/suggestions`,data:{query:t,location:s}})}),this.reviews=(t,s)=>i(this,void 0,void 0,function*(){return this.request({method:"GET",path:`${this.path}/${t}/reviews`,params:s})}),this.get=t=>i(this,void 0,void 0,function*(){return this.request({method:"GET",path:`${this.path}/${t}`})}),this.list=t=>this.request({method:"GET",path:this.path,params:t}),this.listWithGenerator=t=>this.paginatedRequest({path:this.path,params:t}),this.path="stays/accommodation"}}class x extends a{constructor(t){super(t),this.get=t=>i(this,void 0,void 0,function*(){return this.request({method:"GET",path:`${this.path}/${t}`})}),this.list=()=>i(this,void 0,void 0,function*(){return this.request({method:"GET",path:this.path})}),this.path="stays/brands"}}class j extends a{constructor(t){super(t),this.list=()=>i(this,void 0,void 0,function*(){return this.request({method:"GET",path:this.path})}),this.path="stays/loyalty_programmes"}}let R=class extends a{constructor(t){super(t),this.create=t=>i(this,void 0,void 0,function*(){return this.request({method:"POST",path:this.path,data:t})}),this.get=t=>i(this,void 0,void 0,function*(){return this.request({method:"GET",path:`${this.path}/${t}`})}),this.list=t=>i(this,void 0,void 0,function*(){return this.request({method:"GET",path:this.path,params:t})}),this.listWithGenerator=t=>this.paginatedRequest({path:this.path,params:t}),this.cancel=t=>i(this,void 0,void 0,function*(){return this.request({method:"POST",path:`${this.path}/${t}/actions/cancel`})}),this.path="stays/bookings"}},A=class extends a{constructor(t){super(t),this.get=t=>i(this,void 0,void 0,function*(){return this.request({method:"GET",path:`${this.path}/${t}`})}),this.create=t=>i(this,void 0,void 0,function*(){return this.request({method:"POST",path:this.path,data:{rate_id:t}})}),this.path="stays/quotes"}};class k extends a{constructor(t){super(t),this.fetchAllRates=t=>i(this,void 0,void 0,function*(){return this.request({method:"POST",path:`${this.path}/${t}/actions/fetch_all_rates`})}),this.path="stays/search_results"}}class C extends a{constructor(t){super(t),this.search=t=>i(this,void 0,void 0,function*(){return this.request({method:"POST",path:`${this.path}/search`,data:t})}),this.path="stays",this.accommodation=new S(t),this.brands=new x(t),this.loyaltyProgrammes=new j(t),this.searchResults=new k(t),this.quotes=new A(t),this.bookings=new R(t)}}class I extends a{constructor(t){super(t),this.create=t=>i(this,void 0,void 0,function*(){return this.request({method:"POST",path:this.path,data:t})}),this.get=t=>i(this,void 0,void 0,function*(){return this.request({method:"GET",path:`${this.path}/${t}`})}),this.cancel=t=>i(this,void 0,void 0,function*(){return this.request({method:"POST",path:`${this.path}/${t}/actions/cancel`})}),this.path="cars/bookings"}}class W extends a{constructor(t){super(t),this.create=t=>i(this,void 0,void 0,function*(){return this.request({method:"POST",path:this.path,data:{rate_id:t}})}),this.path="cars/quotes"}}class D extends a{constructor(t){super(t),this.search=t=>i(this,void 0,void 0,function*(){return this.request({method:"POST",path:`${this.path}/search`,data:t})}),this.path="cars",this.bookings=new I(t),this.quotes=new W(t)}}class U extends a{constructor(t){super(t),this.create=t=>i(this,void 0,void 0,function*(){return this.request({method:"POST",path:this.path,data:t})}),this.path="payments/cards"}}class H extends a{constructor(t){super(t),this.create=t=>i(this,void 0,void 0,function*(){return this.request({method:"POST",path:this.path,data:t})}),this.path="payments/three_d_secure_sessions"}}class V extends a{constructor(t){super(t),this.create=t=>i(this,void 0,void 0,function*(){return this.request({method:"POST",path:this.path,data:t})}),this.get=t=>i(this,void 0,void 0,function*(){return this.request({method:"GET",path:`${this.path}/${t}`})}),this.update=(t,s)=>i(this,void 0,void 0,function*(){return this.request({method:"PUT",path:`${this.path}/${t}`,data:s})}),this.list=t=>i(this,void 0,void 0,function*(){return this.request({method:"GET",path:this.path,params:t})}),this.path="identity/customer/users"}}class L extends a{constructor(t){super(t),this.list=t=>i(this,void 0,void 0,function*(){return this.request({method:"GET",path:this.path,params:t})}),this.create=t=>i(this,void 0,void 0,function*(){return this.request({method:"POST",path:this.path,data:t})}),this.delete=t=>i(this,void 0,void 0,function*(){return this.request({method:"DELETE",path:`${this.path}/${t}`})}),this.get=t=>i(this,void 0,void 0,function*(){return this.request({method:"GET",path:`${this.path}/${t}`})}),this.update=(t,s)=>i(this,void 0,void 0,function*(){return this.request({method:"PATCH",path:`${this.path}/${t}`,data:s})}),this.path="identity/customer/user_groups"}}class B extends a{constructor(t){super(t),this.create=(...t)=>i(this,[...t],void 0,function*(t={}){return this.request({method:"POST",path:this.path,data:t})}),this.path="identity/component_client_keys"}}class z extends a{constructor(t){super(t),this.path="identity",this.customerUsers=new V(t),this.customerUserGroups=new L(t),this.componentClientKeys=new B(t)}}function M(t){if(!Array.isArray(t)||0===t.length)return!1;for(const s of t)for(const t of s.cabins)for(const s of t.rows)for(const t of s.sections)for(const s of t.elements)if("seat"===s.type&&s.available_services.length>0)return!0;return!1}const F=T,J=function(t,s){return t&&Array.isArray(t.available_services)&&t.available_services.some(t=>t.maximum_quantity>0)||M(s)},K=M;exports.Duffel=class{constructor(t){this.client=new y(t),this.aircraft=new O(this.client),this.airlines=new _(this.client),this.airports=new b(this.client),this.airlineInitiatedChanges=new o(this.client),this.links=new G(this.client),this.batchOfferRequests=new u(this.client),this.offerRequests=new c(this.client),this.offers=new d(this.client),this.orders=new l(this.client),this.orderChangeRequests=new f(this.client),this.orderChangeOffers=new v(this.client),this.orderChanges=new m(this.client),this.orderCancellations=new p(this.client),this.payments=new q(this.client),this.seatMaps=new $(this.client),this.paymentIntents=new n(this.client),this.partialOfferRequests=new g(this.client),this.suggestions=new E(this.client),this.refunds=new w(this.client),this.webhooks=new P(this.client),this.stays=new C(this.client),this.cars=new D(this.client),this.three_d_secure_sessions=new H(this.client),this.identity=new z(this.client),this.cardsClient=new y(Object.assign(Object.assign({},t),{basePath:"https://api.duffel.cards"})),this.cards=new U(this.cardsClient)}},exports.DuffelError=F,exports.hasAvailableSeatService=K,exports.hasService=J;
1
+ "use strict";var t=require("node-fetch"),s=require("url");function e(t,s){var e={};for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&s.indexOf(i)<0&&(e[i]=t[i]);if(null!=t&&"function"==typeof Object.getOwnPropertySymbols){var h=0;for(i=Object.getOwnPropertySymbols(t);h<i.length;h++)s.indexOf(i[h])<0&&Object.prototype.propertyIsEnumerable.call(t,i[h])&&(e[i[h]]=t[i[h]])}return e}function i(t,s,e,i){return new(e||(e=Promise))(function(h,r){function a(t){try{o(i.next(t))}catch(t){r(t)}}function n(t){try{o(i.throw(t))}catch(t){r(t)}}function o(t){var s;t.done?h(t.value):(s=t.value,s instanceof e?s:new e(function(t){t(s)})).then(a,n)}o((i=i.apply(t,s||[])).next())})}function h(t){return this instanceof h?(this.v=t,this):new h(t)}function r(t,s,e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var i,r=e.apply(t,s||[]),a=[];return i=Object.create(("function"==typeof AsyncIterator?AsyncIterator:Object).prototype),n("next"),n("throw"),n("return",function(t){return function(s){return Promise.resolve(s).then(t,c)}}),i[Symbol.asyncIterator]=function(){return this},i;function n(t,s){r[t]&&(i[t]=function(s){return new Promise(function(e,i){a.push([t,s,e,i])>1||o(t,s)})},s&&(i[t]=s(i[t])))}function o(t,s){try{(e=r[t](s)).value instanceof h?Promise.resolve(e.value.v).then(u,c):d(a[0][2],e)}catch(t){d(a[0][3],t)}var e}function u(t){o("next",t)}function c(t){o("throw",t)}function d(t,s){t(s),a.shift(),a.length&&o(a[0][0],a[0][1])}}!function(){const t={npm_package_version:"4.22.1"};try{if(process)return process.env=Object.assign({},process.env),void Object.assign(process.env,t)}catch(t){}globalThis.process={env:t}}(),"function"==typeof SuppressedError&&SuppressedError;class a{constructor(t){this.request=t=>i(this,[t],void 0,function*({method:t,path:s,data:e,params:i}){return this.client.request({method:t,path:s,data:e,params:i})}),this.paginatedRequest=({path:t,params:s})=>this.client.paginatedRequest({path:t,params:s}),this.client=t}}class n extends a{constructor(t){super(t),this.get=t=>i(this,void 0,void 0,function*(){return this.request({method:"GET",path:`${this.path}/${t}`})}),this.confirm=t=>i(this,void 0,void 0,function*(){return this.request({method:"POST",path:`${this.path}/${t}/actions/confirm`})}),this.create=t=>i(this,void 0,void 0,function*(){return this.request({method:"POST",path:this.path,data:t})}),this.path="payments/payment_intents"}}class o extends a{constructor(t){super(t),this.update=(t,s)=>i(this,void 0,void 0,function*(){return this.request({method:"PATCH",path:`${this.path}/${t}`,data:{action_taken:s}})}),this.accept=t=>i(this,void 0,void 0,function*(){return this.request({method:"POST",path:`${this.path}/${t}/actions/accept`})}),this.list=t=>i(this,void 0,void 0,function*(){return this.request({method:"GET",path:this.path,params:{order_id:t}})}),this.path="air/airline_initiated_changes"}}class u extends a{constructor(t){super(t),this.get=t=>i(this,void 0,void 0,function*(){return this.request({method:"GET",path:`${this.path}/${t}`})}),this.create=t=>i(this,void 0,void 0,function*(){const{supplier_timeout:s}=t,i=e(t,["supplier_timeout"]);return this.request({method:"POST",path:`${this.path}/`,data:i,params:Object.assign({},null!=s&&{supplier_timeout:s})})}),this.path="air/batch_offer_requests"}}class c extends a{constructor(t){super(t),this.get=t=>i(this,void 0,void 0,function*(){return this.request({method:"GET",path:`${this.path}/${t}`})}),this.list=t=>this.request({method:"GET",path:this.path,params:t}),this.listWithGenerator=()=>this.paginatedRequest({path:this.path}),this.create=t=>i(this,void 0,void 0,function*(){const{return_offers:s,supplier_timeout:i}=t,h=e(t,["return_offers","supplier_timeout"]);return this.request({method:"POST",path:`${this.path}/`,data:h,params:Object.assign(Object.assign({},null!=s&&{return_offers:s}),null!=i&&{supplier_timeout:i})})}),this.path="air/offer_requests"}}class d extends a{constructor(t){super(t),this.get=(t,s)=>i(this,void 0,void 0,function*(){return this.request({method:"GET",path:`${this.path}/${t}`,params:s})}),this.list=t=>{var{offer_request_id:s}=t,i=e(t,["offer_request_id"]);return this.request({method:"GET",path:this.path,params:Object.assign(Object.assign({},i),{offer_request_id:s})})},this.listWithGenerator=t=>{var{offer_request_id:s}=t,i=e(t,["offer_request_id"]);return this.paginatedRequest({path:this.path,params:Object.assign(Object.assign({},i),{offer_request_id:s})})},this.update=(t,s,e)=>i(this,void 0,void 0,function*(){return this.request(Object.assign({method:"PATCH",path:`${this.path}/${t}/passengers/${s}`},e&&{data:e}))}),this.getPriced=(t,s)=>i(this,void 0,void 0,function*(){return this.request({method:"POST",path:`${this.path}/${t}/actions/price`,data:s})}),this.upsellFares=t=>i(this,void 0,void 0,function*(){return this.request({method:"POST",path:`${this.path}/${t}/upsell`})}),this.path="air/offers"}}class p extends a{constructor(t){super(t),this.get=t=>i(this,void 0,void 0,function*(){return this.request({method:"GET",path:`${this.path}/${t}`})}),this.list=t=>this.request({method:"GET",path:this.path,params:t}),this.listWithGenerator=t=>this.paginatedRequest({path:this.path,params:t}),this.create=t=>i(this,void 0,void 0,function*(){return this.request({method:"POST",path:this.path,data:t})}),this.confirm=t=>i(this,void 0,void 0,function*(){return this.request({method:"POST",path:`${this.path}/${t}/actions/confirm`})}),this.path="air/order_cancellations"}}class l extends a{constructor(t){super(t),this.get=t=>i(this,void 0,void 0,function*(){return this.request({method:"GET",path:`${this.path}/${t}`})}),this.list=t=>i(this,void 0,void 0,function*(){return this.request({method:"GET",path:this.path,params:t})}),this.listWithGenerator=t=>this.paginatedRequest({path:"air/orders",params:t}),this.create=t=>i(this,void 0,void 0,function*(){return this.request({method:"POST",path:this.path,data:t})}),this.update=(t,s)=>i(this,void 0,void 0,function*(){return this.request({method:"PATCH",path:`${this.path}/${t}`,data:{options:s}})}),this.getAvailableServices=t=>i(this,void 0,void 0,function*(){return this.request({method:"GET",path:`${this.path}/${t}/available_services`})}),this.addServices=(t,s)=>i(this,void 0,void 0,function*(){return this.request({method:"POST",path:`${this.path}/${t}/services`,data:s})}),this.path="air/orders"}}class v extends a{constructor(t){super(t),this.get=t=>i(this,void 0,void 0,function*(){return this.request({method:"GET",path:`${this.path}/${t}`})}),this.create=t=>i(this,void 0,void 0,function*(){return this.request({method:"POST",path:this.path,data:t})}),this.path="air/order_change_requests"}}class f extends a{constructor(t){super(t),this.get=t=>i(this,void 0,void 0,function*(){return this.request({method:"GET",path:`${this.path}/${t}`})}),this.list=t=>this.request({method:"GET",path:this.path,params:t}),this.listWithGenerator=()=>this.paginatedRequest({path:this.path}),this.path="air/order_change_offers"}}class m extends a{constructor(t){super(t),this.create=t=>i(this,void 0,void 0,function*(){return this.request({method:"POST",path:this.path,data:t})}),this.get=t=>i(this,void 0,void 0,function*(){return this.request({method:"GET",path:`${this.path}/${t}`})}),this.confirm=(t,s)=>i(this,void 0,void 0,function*(){return this.request({method:"POST",path:`${this.path}/${t}/actions/confirm`,data:s})}),this.path="air/order_changes"}}class q extends a{constructor(t){super(t),this.create=t=>i(this,void 0,void 0,function*(){return this.request({method:"POST",path:this.path,data:t})}),this.path="air/payments"}}class g extends a{constructor(t){super(t),this.get=(t,s)=>i(this,void 0,void 0,function*(){return this.request({method:"GET",path:`${this.path}/${t}`,params:s})}),this.create=t=>i(this,void 0,void 0,function*(){const{supplier_timeout:s}=t,i=e(t,["supplier_timeout"]);return this.request({method:"POST",path:`${this.path}/`,data:i,params:Object.assign({},null!=s&&{supplier_timeout:s})})}),this.getFaresById=(t,s)=>i(this,void 0,void 0,function*(){return this.request({method:"GET",path:`${this.path}/${t}/fares`,params:s})}),this.path="air/partial_offer_requests"}}class $ extends a{constructor(t){super(t),this.get=t=>i(this,void 0,void 0,function*(){return this.request({method:"GET",path:`${this.path}`,params:t})}),this.path="air/seat_maps"}}let T=class extends Error{constructor({meta:t,errors:s,headers:e}){super(),this.meta=t,this.errors=s,this.headers=e}};class y{constructor({token:e,basePath:h,apiVersion:r,debug:a,source:n}){this.request=e=>i(this,[e],void 0,function*({method:e,path:i,data:h,params:r,compress:a=!0}){var n,o;let u,c;const d=new s.URL(i,this.basePath),p={"User-Agent":[`Duffel/${this.apiVersion}`,`duffel_api_javascript/${process.env.npm_package_version}`,this.source?`source/${this.source}`:""].join(" ").trim(),Accept:"application/json","Accept-Encoding":"gzip","Content-Type":"application/json","Duffel-Version":this.apiVersion,Authorization:`Bearer ${this.token}`};if(r){const t=new s.URLSearchParams;Object.entries(r).sort().filter(t=>null!==t[0]).forEach(([s,e])=>{Array.isArray(e)?e.forEach(e=>t.append(s,e.toString())):t.append(s,e.toString())}),d.search=t.toString()}h&&(u=JSON.stringify({data:Object.assign({},h)})),(null===(n=this.debug)||void 0===n?void 0:n.verbose)&&(console.info("Endpoint: ",d.href),console.info("Method: ",e),h&&console.info("Body Parameters: ",h),r&&console.info("Query Parameters: ",r));const l=yield t(d.href,{method:e,headers:p,body:u,compress:a});(null===(o=this.debug)||void 0===o?void 0:o.verbose)&&l.headers.get("x-request-id")&&console.info("Request ID: ",l.headers.get("x-request-id"));const v=l.headers.get("content-type");if(c=v&&v.includes("json")?yield l.json():yield l.text(),!l.ok||"errors"in c&&c.errors)throw new T(Object.assign(Object.assign({},c),{status:l.status,headers:l.headers}));return Object.assign(Object.assign({},c),{status:l.status,headers:l.headers})}),this.token=e,this.basePath=h||"https://api.duffel.com",this.apiVersion=r||"v2",this.debug=a,this.source=n}paginatedRequest(t){return r(this,arguments,function*({path:t,params:s}){let e=yield h(this.request({method:"GET",path:t,params:s}));for(const t of e.data)yield yield h({data:t,status:e.status});for(;e.meta&&"after"in e.meta&&e.meta.after;){e=yield h(this.request({method:"GET",path:t,params:Object.assign(Object.assign({},s),{limit:e.meta.limit,after:e.meta.after})}));for(const t of e.data)yield yield h({data:t,status:e.status})}})}}class O extends a{constructor(t){super(t),this.get=t=>i(this,void 0,void 0,function*(){return this.request({method:"GET",path:`${this.path}/${t}`})}),this.list=t=>this.request({method:"GET",path:this.path,params:t}),this.listWithGenerator=()=>this.paginatedRequest({path:this.path}),this.path="air/aircraft"}}class _ extends a{constructor(t){super(t),this.get=t=>i(this,void 0,void 0,function*(){return this.request({method:"GET",path:`${this.path}/${t}`})}),this.list=t=>this.request({method:"GET",path:this.path,params:t}),this.listWithGenerator=()=>this.paginatedRequest({path:this.path}),this.path="air/airlines"}}class b extends a{constructor(t){super(t),this.get=t=>i(this,void 0,void 0,function*(){return this.request({method:"GET",path:`${this.path}/${t}`})}),this.list=t=>this.request({method:"GET",path:this.path,params:t}),this.listWithGenerator=()=>this.paginatedRequest({path:this.path}),this.path="air/airports"}}class E extends a{constructor(t){super(t),this.list=t=>i(this,void 0,void 0,function*(){return this.request({method:"GET",path:`${this.path}`,params:t})}),this.path="places/suggestions"}}class w extends a{constructor(t){super(t),this.get=t=>i(this,void 0,void 0,function*(){return this.request({method:"GET",path:`${this.path}/${t}`})}),this.create=t=>i(this,void 0,void 0,function*(){return this.request({method:"POST",path:this.path,data:t})}),this.path="payments/refunds"}}class P extends a{constructor(t){super(t),this.create=t=>i(this,void 0,void 0,function*(){return this.request({method:"POST",path:this.path,data:t})}),this.path="links/sessions"}}class G extends a{constructor(t){super(t),this.redeliver=t=>i(this,void 0,void 0,function*(){return this.request({method:"POST",path:`${this.path}/events/${t}/actions/redeliver`})}),this.ping=t=>i(this,void 0,void 0,function*(){return this.request({method:"POST",path:`${this.path}/${t}/actions/ping`})}),this.get=t=>i(this,void 0,void 0,function*(){return this.request({method:"GET",path:`${this.path}/events/${t}`})}),this.listDeliveries=t=>i(this,void 0,void 0,function*(){var s=e(t,[]);return this.request({method:"GET",path:`${this.path}/deliveries`,params:Object.assign({},s)})}),this.delete=t=>i(this,void 0,void 0,function*(){return this.request({method:"DELETE",path:`${this.path}/${t}`})}),this.update=(t,s)=>i(this,[t,s],void 0,function*(t,{active:s,events:e,url:i}){return this.request({method:"PATCH",path:`${this.path}/${t}`,data:{active:s,events:e,url:i}})}),this.list=t=>i(this,void 0,void 0,function*(){var s=e(t,[]);return this.request({method:"GET",path:this.path,params:Object.assign({},s)})}),this.create=t=>i(this,[t],void 0,function*({events:t,url:s}){return this.request({method:"POST",path:this.path,data:{events:t,url:s}})}),this.path="air/webhooks"}}class S extends a{constructor(t){super(t),this.suggestions=(t,s)=>i(this,void 0,void 0,function*(){return this.request({method:"POST",path:`${this.path}/suggestions`,data:{query:t,location:s}})}),this.reviews=(t,s)=>i(this,void 0,void 0,function*(){return this.request({method:"GET",path:`${this.path}/${t}/reviews`,params:s})}),this.get=t=>i(this,void 0,void 0,function*(){return this.request({method:"GET",path:`${this.path}/${t}`})}),this.list=t=>this.request({method:"GET",path:this.path,params:t}),this.listWithGenerator=t=>this.paginatedRequest({path:this.path,params:t}),this.path="stays/accommodation"}}class x extends a{constructor(t){super(t),this.get=t=>i(this,void 0,void 0,function*(){return this.request({method:"GET",path:`${this.path}/${t}`})}),this.list=()=>i(this,void 0,void 0,function*(){return this.request({method:"GET",path:this.path})}),this.path="stays/brands"}}class j extends a{constructor(t){super(t),this.list=()=>i(this,void 0,void 0,function*(){return this.request({method:"GET",path:this.path})}),this.path="stays/loyalty_programmes"}}let R=class extends a{constructor(t){super(t),this.create=t=>i(this,void 0,void 0,function*(){return this.request({method:"POST",path:this.path,data:t})}),this.get=t=>i(this,void 0,void 0,function*(){return this.request({method:"GET",path:`${this.path}/${t}`})}),this.list=t=>i(this,void 0,void 0,function*(){return this.request({method:"GET",path:this.path,params:t})}),this.listWithGenerator=t=>this.paginatedRequest({path:this.path,params:t}),this.cancel=t=>i(this,void 0,void 0,function*(){return this.request({method:"POST",path:`${this.path}/${t}/actions/cancel`})}),this.path="stays/bookings"}},A=class extends a{constructor(t){super(t),this.get=t=>i(this,void 0,void 0,function*(){return this.request({method:"GET",path:`${this.path}/${t}`})}),this.create=t=>i(this,void 0,void 0,function*(){return this.request({method:"POST",path:this.path,data:{rate_id:t}})}),this.path="stays/quotes"}};class k extends a{constructor(t){super(t),this.fetchAllRates=t=>i(this,void 0,void 0,function*(){return this.request({method:"POST",path:`${this.path}/${t}/actions/fetch_all_rates`})}),this.path="stays/search_results"}}class C extends a{constructor(t){super(t),this.search=t=>i(this,void 0,void 0,function*(){return this.request({method:"POST",path:`${this.path}/search`,data:t})}),this.path="stays",this.accommodation=new S(t),this.brands=new x(t),this.loyaltyProgrammes=new j(t),this.searchResults=new k(t),this.quotes=new A(t),this.bookings=new R(t)}}class I extends a{constructor(t){super(t),this.create=t=>i(this,void 0,void 0,function*(){return this.request({method:"POST",path:this.path,data:t})}),this.get=t=>i(this,void 0,void 0,function*(){return this.request({method:"GET",path:`${this.path}/${t}`})}),this.cancel=t=>i(this,void 0,void 0,function*(){return this.request({method:"POST",path:`${this.path}/${t}/actions/cancel`})}),this.path="cars/bookings"}}class W extends a{constructor(t){super(t),this.create=t=>i(this,void 0,void 0,function*(){return this.request({method:"POST",path:this.path,data:{rate_id:t}})}),this.path="cars/quotes"}}class D extends a{constructor(t){super(t),this.search=t=>i(this,void 0,void 0,function*(){return this.request({method:"POST",path:`${this.path}/search`,data:t})}),this.path="cars",this.bookings=new I(t),this.quotes=new W(t)}}class U extends a{constructor(t){super(t),this.create=t=>i(this,void 0,void 0,function*(){return this.request({method:"POST",path:this.path,data:t})}),this.path="payments/cards"}}class H extends a{constructor(t){super(t),this.create=t=>i(this,void 0,void 0,function*(){return this.request({method:"POST",path:this.path,data:t})}),this.path="payments/three_d_secure_sessions"}}class V extends a{constructor(t){super(t),this.create=t=>i(this,void 0,void 0,function*(){return this.request({method:"POST",path:this.path,data:t})}),this.get=t=>i(this,void 0,void 0,function*(){return this.request({method:"GET",path:`${this.path}/${t}`})}),this.update=(t,s)=>i(this,void 0,void 0,function*(){return this.request({method:"PUT",path:`${this.path}/${t}`,data:s})}),this.list=t=>i(this,void 0,void 0,function*(){return this.request({method:"GET",path:this.path,params:t})}),this.path="identity/customer/users"}}class L extends a{constructor(t){super(t),this.list=t=>i(this,void 0,void 0,function*(){return this.request({method:"GET",path:this.path,params:t})}),this.create=t=>i(this,void 0,void 0,function*(){return this.request({method:"POST",path:this.path,data:t})}),this.delete=t=>i(this,void 0,void 0,function*(){return this.request({method:"DELETE",path:`${this.path}/${t}`})}),this.get=t=>i(this,void 0,void 0,function*(){return this.request({method:"GET",path:`${this.path}/${t}`})}),this.update=(t,s)=>i(this,void 0,void 0,function*(){return this.request({method:"PATCH",path:`${this.path}/${t}`,data:s})}),this.path="identity/customer/user_groups"}}class B extends a{constructor(t){super(t),this.create=(...t)=>i(this,[...t],void 0,function*(t={}){return this.request({method:"POST",path:this.path,data:t})}),this.path="identity/component_client_keys"}}class z extends a{constructor(t){super(t),this.path="identity",this.customerUsers=new V(t),this.customerUserGroups=new L(t),this.componentClientKeys=new B(t)}}function F(t){if(!Array.isArray(t)||0===t.length)return!1;for(const s of t)for(const t of s.cabins)for(const s of t.rows)for(const t of s.sections)for(const s of t.elements)if("seat"===s.type&&s.available_services.length>0)return!0;return!1}const M=T,J=function(t,s){return t&&Array.isArray(t.available_services)&&t.available_services.some(t=>t.maximum_quantity>0)||F(s)},K=F;exports.Duffel=class{constructor(t){this.client=new y(t),this.aircraft=new O(this.client),this.airlines=new _(this.client),this.airports=new b(this.client),this.airlineInitiatedChanges=new o(this.client),this.links=new P(this.client),this.batchOfferRequests=new u(this.client),this.offerRequests=new c(this.client),this.offers=new d(this.client),this.orders=new l(this.client),this.orderChangeRequests=new v(this.client),this.orderChangeOffers=new f(this.client),this.orderChanges=new m(this.client),this.orderCancellations=new p(this.client),this.payments=new q(this.client),this.seatMaps=new $(this.client),this.paymentIntents=new n(this.client),this.partialOfferRequests=new g(this.client),this.suggestions=new E(this.client),this.refunds=new w(this.client),this.webhooks=new G(this.client),this.stays=new C(this.client),this.cars=new D(this.client),this.three_d_secure_sessions=new H(this.client),this.identity=new z(this.client),this.cardsClient=new y(Object.assign(Object.assign({},t),{basePath:"https://api.duffel.cards"})),this.cards=new U(this.cardsClient)}},exports.DuffelError=M,exports.hasAvailableSeatService=K,exports.hasService=J;
2
2
  //# sourceMappingURL=index.js.map