diff --git a/README.md b/README.md index cfd03ee..827c213 100644 --- a/README.md +++ b/README.md @@ -24,6 +24,8 @@ yarn add @fleetbase/storefront bun add @fleetbase/storefront ``` +It is built on the core [`@fleetbase/sdk`](https://github.com/fleetbase/fleetbase-js) 2, which installs with it. Applications that use both should keep them on the same major version so they share one copy. + The package supports Node.js 22 and 24, native ECMAScript modules (ESM), CommonJS, browsers, server-side rendering, and TypeScript `node16`, `nodenext`, and `bundler` resolution. See the [compatibility policy](docs/compatibility.md) for the tested matrix. ## Quick start @@ -168,6 +170,47 @@ const orders = await customer.getOrderHistory({ limit: 20 }); SMS, Apple, Facebook, and Google login helpers remain available. Authorized requests attach `Customer-Token` per request instead of mutating shared adapter headers. +## Realtime order updates + +Realtime channels require a short-lived socket token. A signed-in customer can mint one with `customer.socketToken()` (`POST customers/socket-token`, sent with the customer's `Customer-Token`). It resolves to `{ token, expires_in, expires_at }`; the token only authorizes that customer's own channels, such as `order.{order id}` for their orders. + +```js +import { create } from 'socketcluster-client'; + +const customer = await storefront.customers.login('person@example.com', 'password'); + +// Keep the token in memory only; SocketCluster calls loadToken() before every (re)connect. +let current = null; +const remember = ({ token, expires_in }) => { + current = { token, refreshAt: Date.now() + (expires_in - 60) * 1000 }; + return token; +}; +const authEngine = { + saveToken: async (_name, token) => token, + removeToken: async () => { + const token = current?.token ?? null; + current = null; + return token; + }, + loadToken: async () => (current && Date.now() < current.refreshAt ? current.token : remember(await customer.socketToken())), +}; + +const socket = create({ hostname: 'socket.example.com', secure: true, port: 443, authEngine }); + +// Refresh about 60 seconds before the token expires. +setInterval(async () => { + if (current && Date.now() >= current.refreshAt) { + await socket.authenticate(remember(await customer.socketToken())); + } +}, 15_000); + +for await (const event of socket.subscribe(`order.${order.id}`)) { + console.log(event.event, event.data); +} +``` + +`checkout.initialize()` responses also carry a `socket_token` scoped to that checkout's `checkout.{checkout id}` channel. A server without realtime authentication configured answers `customers/socket-token` with `404`; in that case connect without a token as before. + ## Adapter replacement ```js diff --git a/dist/@storefront.min.js b/dist/@storefront.min.js index 3657d3e..1c19093 100644 --- a/dist/@storefront.min.js +++ b/dist/@storefront.min.js @@ -1,2 +1,2 @@ -!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).FleetbaseStorefront={})}(this,(function(t){"use strict";function e(t,e){this.v=t,this.k=e}function r(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){r=r.call(t)},n:function(){var t=r.next();return a=t.done,t},e:function(t){s=!0,o=t},f:function(){try{a||null==r.return||r.return()}finally{if(s)throw o}}}}function y(t,e,r){return(e=P(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function m(t){return m=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},m(t)}function w(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&O(t,e)}function b(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(t){}return(b=function(){return!!t})()}function k(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}function x(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function A(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function E(t){for(var e=1;e=0;--o){var a=this.tryEntries[o],s=a.completion;if("root"===a.tryLoc)return i("end");if(a.tryLoc<=this.prev){var u=n.call(a,"catchLoc"),c=n.call(a,"finallyLoc");if(u&&c){if(this.prev=0;--r){var i=this.tryEntries[r];if(i.tryLoc<=this.prev&&n.call(i,"finallyLoc")&&this.prev=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),j(r),v}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var i=n.arg;j(r)}return i}}throw Error("illegal catch attempt")},delegateYield:function(e,r,n){return this.delegate={iterator:D(e),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=t),v}},e}function O(t,e){return O=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},O(t,e)}function T(t,e){return n(t)||function(t,e){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var n,i,o,a,s=[],u=!0,c=!1;try{if(o=(r=r.call(t)).next,0===e){if(Object(r)!==r)return;u=!1}else for(;!(u=(n=o.call(r)).done)&&(s.push(n.value),s.length!==e);u=!0);}catch(t){c=!0,i=t}finally{try{if(!u&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw i}}return s}}(t,e)||C(t,e)||x()}function R(t){return function(t){if(Array.isArray(t))return r(t)}(t)||k(t)||C(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function P(t){var e=function(t,e){if("object"!=typeof t||!t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var n=r.call(t,e);if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t,"string");return"symbol"==typeof e?e:e+""}function j(t){return j="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},j(t)}function C(t,e){if(t){if("string"==typeof t)return r(t,e);var n={}.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?r(t,e):void 0}}function D(t){return function(){return new L(t.apply(this,arguments))}}function L(t){var r,n;function i(r,n){try{var a=t[r](n),s=a.value,u=s instanceof e;Promise.resolve(u?s.v:s).then((function(e){if(u){var n="return"===r?"return":"next";if(!s.k||e.done)return i(n,e);e=t[n](e).value}o(a.done?"return":"normal",e)}),(function(t){i("throw",t)}))}catch(t){o("throw",t)}}function o(t,e){switch(t){case"return":r.resolve({value:e,done:!0});break;case"throw":r.reject(e);break;default:r.resolve({value:e,done:!1})}(r=r.next)?i(r.key,r.arg):n=null}this._invoke=function(t,e){return new Promise((function(o,a){var s={key:t,arg:e,resolve:o,reject:a,next:null};n?n=n.next=s:(r=n=s,i(t,e))}))},"function"!=typeof t.return&&(this.return=void 0)}function F(t){var e="function"==typeof Map?new Map:void 0;return F=function(t){if(null===t||!function(t){try{return-1!==Function.toString.call(t).indexOf("[native code]")}catch(e){return"function"==typeof t}}(t))return t;if("function"!=typeof t)throw new TypeError("Super expression must either be null or a function");if(void 0!==e){if(e.has(t))return e.get(t);e.set(t,r)}function r(){return f(t,arguments,m(this).constructor)}return r.prototype=Object.create(t.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),O(r,t)},F(t)}L.prototype["function"==typeof Symbol&&Symbol.asyncIterator||"@@asyncIterator"]=function(){return this},L.prototype.next=function(t){return this._invoke("next",t)},L.prototype.throw=function(t){return this._invoke("throw",t)},L.prototype.return=function(t){return this._invoke("return",t)};var N=function(){function t(e){var r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];d(this,t),y(this,"uncountableWords",["equipment","information","rice","money","species","series","fish","sheep","moose","deer","news"]),y(this,"pluralRules",[[new RegExp("(m)an$","gi"),"$1en"],[new RegExp("(pe)rson$","gi"),"$1ople"],[new RegExp("(child)$","gi"),"$1ren"],[new RegExp("^(ox)$","gi"),"$1en"],[new RegExp("(ax|test)is$","gi"),"$1es"],[new RegExp("(octop|vir)us$","gi"),"$1i"],[new RegExp("(alias|status)$","gi"),"$1es"],[new RegExp("(bu)s$","gi"),"$1ses"],[new RegExp("(buffal|tomat|potat)o$","gi"),"$1oes"],[new RegExp("([ti])um$","gi"),"$1a"],[new RegExp("sis$","gi"),"ses"],[new RegExp("(?:([^f])fe|([lr])f)$","gi"),"$1$2ves"],[new RegExp("(hive)$","gi"),"$1s"],[new RegExp("([^aeiouy]|qu)y$","gi"),"$1ies"],[new RegExp("(x|ch|ss|sh)$","gi"),"$1es"],[new RegExp("(matr|vert|ind)ix|ex$","gi"),"$1ices"],[new RegExp("([m|l])ouse$","gi"),"$1ice"],[new RegExp("(quiz)$","gi"),"$1zes"],[new RegExp("s$","gi"),"s"],[new RegExp("$","gi"),"s"]]),y(this,"singularRules",[[new RegExp("(m)en$","gi"),"$1an"],[new RegExp("(pe)ople$","gi"),"$1rson"],[new RegExp("(child)ren$","gi"),"$1"],[new RegExp("([ti])a$","gi"),"$1um"],[new RegExp("((a)naly|(b)a|(d)iagno|(p)arenthe|(p)rogno|(s)ynop|(t)he)ses$","gi"),"$1$2sis"],[new RegExp("(hive)s$","gi"),"$1"],[new RegExp("(tive)s$","gi"),"$1"],[new RegExp("(curve)s$","gi"),"$1"],[new RegExp("([lr])ves$","gi"),"$1f"],[new RegExp("([^fo])ves$","gi"),"$1fe"],[new RegExp("([^aeiouy]|qu)ies$","gi"),"$1y"],[new RegExp("(s)eries$","gi"),"$1eries"],[new RegExp("(m)ovies$","gi"),"$1ovie"],[new RegExp("(x|ch|ss|sh)es$","gi"),"$1"],[new RegExp("([m|l])ice$","gi"),"$1ouse"],[new RegExp("(bus)es$","gi"),"$1"],[new RegExp("(o)es$","gi"),"$1"],[new RegExp("(shoe)s$","gi"),"$1"],[new RegExp("(cris|ax|test)es$","gi"),"$1is"],[new RegExp("(octop|vir)i$","gi"),"$1us"],[new RegExp("(alias|status)es$","gi"),"$1"],[new RegExp("^(ox)en","gi"),"$1"],[new RegExp("(vert|ind)ices$","gi"),"$1ex"],[new RegExp("(matr)ices$","gi"),"$1ix"],[new RegExp("(quiz)zes$","gi"),"$1"],[new RegExp("s$","gi"),""]]),y(this,"nonTitlecasedWords",["and","or","nor","a","an","the","so","but","to","of","at","by","from","into","on","onto","off","out","in","over","with","for"]),y(this,"idSuffix",new RegExp("(_ids|_id)$","g")),y(this,"underbar",new RegExp("_","g")),y(this,"spaceOrUnderbar",new RegExp("[ _]","g")),y(this,"uppercase",new RegExp("([A-Z])","g")),y(this,"underbarPrefix",new RegExp("^_")),this.str=e,this.chain=r}return g(t,[{key:"get",value:function(){return this.str}},{key:"applyRules",value:function(t,e,r,n){if(n)t=n;else if(!(r.indexOf(t.toLowerCase())>-1))for(var i=0;i1&&void 0!==arguments[1]?arguments[1]:null;return t=t||this.str,this.applyRules(t,this.pluralRules,this.uncountableWords,e)}},{key:"singularize",value:function(t,e){return t=t||this.str,this.applyRules(t,this.singularRules,this.uncountableWords,e)}},{key:"camelize",value:function(t,e){for(var r=(t=t||this.str).split("/"),n=0;n1&&void 0!==arguments[1]&&arguments[1];return t=t||this.str,t=this.underscore(this.demodulize(t))+(e?"":"_")+"id",this.str=t,!0===this.chain?this:t}},{key:"ordinalize",value:function(t){for(var e=(t=t||this.str).split(" "),r=0;r2?i-2:0),a=2;a2?r-2:0),i=2;i1?e-1:0),n=1;n2?r-2:0),i=2;i3&&void 0!==arguments[3]?arguments[3]:[];if(U(t))if(n.length<=W)t.splice.apply(t,[e,r].concat(R(n)));else{t.splice(e,r);for(var i=0;i2&&void 0!==arguments[2]?arguments[2]:0,n=t.length,i=r;i2&&void 0!==arguments[2]?arguments[2]:0,n=arguments.length>3?arguments[3]:void 0,i=t.length;return r<0&&(r+=i),K(t,n&&e!=e?function(t){return t!=t}:function(t){return t===e},r)}function Z(t,e,r){return Y(t,e,0,[r]),r}function tt(){return f(et,Array.prototype.slice.call(arguments))}var et=function(){function t(){return d(this,t),i(U(arguments[0])?l(this,t,R(arguments[0])):l(this,t,arguments))}return w(t,F(Array)),g(t,[{key:"notEmpty",get:function(){return this.length>0}},{key:"empty",get:function(){return 0===this.length}},{key:"first",get:function(){return J(this,0)}},{key:"last",get:function(){return J(this,this.length-1)}},{key:"replace",value:function(t,e){return Y(this,t,e,arguments.length>2&&void 0!==arguments[2]?arguments[2]:[]),this}},{key:"objectsAt",value:function(t){var e=this;return t.map((function(t){return J(e,t)}))}},{key:"objectAt",value:function(t){return J(this,t)}},{key:"indexOf",value:function(t,e){return V(this,t,e,!1)}},{key:"lastIndexOf",value:function(t,e){var r=this.length;(void 0===e||e>=r)&&(e=r-1),e<0&&(e+=r);for(var n=e;n>=0;n--)if(J(this,n)===t)return n;return-1}},{key:"includes",value:function(t,e){return-1!==V(this,t,e,!0)}},{key:"findBy",value:function(){return-1===(t=K(this,X.apply(void 0,arguments).bind(undefined),0))?void 0:J(this,t);var t}},{key:"findIndexBy",value:function(){return K(this,X.apply(void 0,arguments))}},{key:"isEvery",value:function(){return t=X.apply(void 0,arguments),e=t.bind(undefined),-1===K(this,(function(t,r,n){return!e(t,r,n)}),0);var t,e}},{key:"isAny",value:function(){return-1!==K(this,X.apply(void 0,arguments).bind(undefined),0)}},{key:"invoke",value:function(t){for(var e=arguments.length,r=new Array(e>1?e-1:0),n=1;n1&&void 0!==arguments[1]?arguments[1]:Q,r=[],n=new Set,i="function"==typeof e?e:function(t){return get(t,e)};return t.forEach((function(t){var e=i(t);n.has(e)||(n.add(e),r.push(t))})),r}(this,t)}},{key:"without",value:function(t){if(!this.includes(t))return this;var e=t==t?function(e){return e!==t}:function(t){return t==t};return this.filter(e)}},{key:"clear",value:function(){var t=this.length;return 0===t||this.replace(0,t,[]),this}},{key:"insertAt",value:function(t,e){return Z(this,t,e),this}},{key:"replaceAt",value:function(t,e){return this.replace(t,1,[e])}},{key:"removeAt",value:function(t,e){return function(t,e){return Y(t,e,arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,[]),t}(this,t,e)}},{key:"pushObject",value:function(t){return this.insertAt(this.length,t)}},{key:"pushObjects",value:function(t){return this.replace(this.length,0,t),this}},{key:"popObject",value:function(){var t=this.length;if(0===t)return null;var e=J(this,t-1);return this.removeAt(t-1,1),e}},{key:"shiftObject",value:function(){if(0===this.length)return null;var t=J(this,0);return this.removeAt(0),t}},{key:"unshiftObject",value:function(t){return Z(this,0,t)}},{key:"unshiftObjects",value:function(t){return this.replace(0,0,t),this}},{key:"reverseObjects",value:function(){var t=this.length;if(0===t)return this;var e=this.toArray().reverse();return this.replace(0,t,e),this}},{key:"setObjects",value:function(t){if(0===t.length)return this.clear();var e=this.length;return this.replace(0,e,t),this}},{key:"removeObject",value:function(t){for(var e=this.length||0;--e>=0;)J(this,e)===t&&this.removeAt(e);return this}},{key:"removeObjects",value:function(t){for(var e=t.length-1;e>=0;e--)this.removeObject(t[e]);return this}},{key:"addObject",value:function(t){return this.includes(t)||this.pushObject(t),this}},{key:"addObjects",value:function(t){var e=this;return t.forEach((function(t){return e.addObject(t)})),this}}])}();function rt(t){var e=null==t;if(e)return e;if("number"==typeof t.size)return!t.size;var r=j(t);if("object"===r){var n=t.size;if("number"==typeof n)return!n}if("number"==typeof t.length&&"function"!==r)return!t.length;if("object"===r){var i=t.length;if("number"==typeof i)return!i}return!1}function nt(){var t,e,r;return!("undefined"==typeof process||"object"!==j(null===(t=process)||void 0===t?void 0:t.env)&&-1===(null===(e=process.release)||void 0===e||null===(e=e.name)||void 0===e?void 0:e.search(/node|io.js/))||"undefined"!=typeof window&&"ReactNative"!==(null===(r=window)||void 0===r||null===(r=r.navigator)||void 0===r?void 0:r.product))}function it(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return nt()?I("adapter","NodeAdapter",t):I("adapter","BrowserAdapter",t)}g((function t(e){d(this,t),this.place=e,this.geometry=null==e?void 0:e.geometry,this.components=this.parseComponents(),this.attributes=this.parseProperties()}),[{key:"parse",value:function(){this.parseComponents(),this.parseProperties()}},{key:"parseComponents",value:function(){var t;return((null===(t=this.place)||void 0===t?void 0:t.address_components)||[]).reduce((function(t,e){return e.types.forEach((function(r){t[r]=e})),t}),{})}},{key:"parseProperties",value:function(){var t,e={streetNumber:this.get("street_number"),streetName:this.get("route"),coordinates:null!==(t=this.geometry)&&void 0!==t&&t.location?Object.values(this.geometry.location):[0,0],city:this.or(["locality","sublocality","sublocality_level_1","neighborhood","administrative_area_level_3","administrative_area_level_2"]),county:this.get("administrative_area_level_2"),stateShort:this.get("administrative_area_level_1",!0),stateLong:this.get("administrative_area_level_1"),countryShort:this.get("country",!0),country:this.get("country",!0),countryLong:this.get("country"),postalCode:this.get("postal_code")};return e.address=[e.streetNumber,e.streetName].filter(Boolean).join(" "),e}},{key:"all",value:function(){return this.attributes}},{key:"or",value:function(){var t,e=v(arguments.length>0&&void 0!==arguments[0]?arguments[0]:[]);try{for(e.s();!(t=e.n()).done;){var r=t.value;if(U(r)){var n=r[0],i=r[1];if(this.has(n))return this.get(n,i)}else if(this.has(r))return this.get(r)}}catch(t){e.e(t)}finally{e.f()}return null}},{key:"has",value:function(t){return t in this.components}},{key:"get",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return t in this.components?e?this.components[t].short_name:this.components[t].long_name:null}},{key:"setAttributes",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this.attributes=E(E({},this.attributes),t),this}},{key:"setAttribute",value:function(t,e){return this.attributes[t]=e,this}},{key:"getAttribute",value:function(t){return this.attributes[t]||null}}]);var ot=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;d(this,t),this.type="Point",this.coordinates=[r,e]}return g(t,[{key:"latitude",get:function(){return this.coordinates[1]}},{key:"longitude",get:function(){return this.coordinates[0]}},{key:"lat",value:function(){return this.latitude}},{key:"lng",value:function(){return this.longitude}},{key:"serialize",value:function(){return{type:"Point",coorindates:[this.lat(),this.lng()]}}},{key:"toJson",value:function(){return this.serialize()}},{key:"toString",value:function(){return"(".concat(this.latitude,", ").concat(this.longitude,")")}}],[{key:"fromGeoJson",value:function(e){var r=T(e.coordinates,2),n=r[0];return new t(r[1],n)}}])}();function at(t,e){var r=t();return Array.isArray(r)||"object"===j(r)?st(r,e):null}function st(t,e){var r,n=t,i=j(t),o="object"===i,a="function"===i,s=Array.isArray(t),u="string"===j(e)&&e.includes(".")?e.split("."):[e];if(s||o){for(var c=0;c1&&void 0!==arguments[1]?arguments[1]:[];if(t.actions=U(e)?e:[e],!U(e))return e instanceof ht&&e.extend(t),t;var r,n=v(e);try{for(n.s();!(r=n.n()).done;){var i=r.value;t.extendActions(i)}}catch(t){n.e(t)}finally{n.f()}}var ht=g((function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;d(this,t),this.actions=e,this.bind=r}),[{key:"extend",value:function(){var t=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:null)||this.bind;if(!t)return this;if(null!=this&&this.actions&&"object"===j(this.actions))for(var e in this.actions){var r=this.actions[e];ut(t,e,"function"==typeof r?r.bind(t):r)}return this}}]);function lt(t){return t instanceof dt}var dt=g((function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=arguments.length>1?arguments[1]:void 0,n=arguments.length>2?arguments[2]:void 0,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};d(this,t),this.attributes=e,this.dirtyAttributes={},this.changes={},this.isLoading=!1,this.isSaving=!1,this.isDestroying=!1,this.isReloading=!1,this.resource=n,this.options=i,this.version=i.version||"v1",this.setAdapter(r)}),[{key:"setAdapter",value:function(t){var e;return this.adapter=t,this.store=function(){return H.apply(void 0,["store","Store"].concat(Array.prototype.slice.call(arguments)))}(this.resource,t,{onAfterFetch:this.syncAttributes.bind(this),actions:null===(e=this.options)||void 0===e?void 0:e.actions}),this}},{key:"id",get:function(){return this.getAttribute("id")}},{key:"create",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=this.mergeAttributes(e);return this.setFlags(["isLoading","isSaving"]),this.store.create(r).then((function(e){return t.setFlags(["isLoading","isSaving"],!1),e}))}},{key:"update",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this.setFlags(["isLoading","isSaving"]),this.store.update(this.attributes.id,e).then((function(e){return t.setFlags(["isLoading","isSaving"],!1),e}))}},{key:"destroy",value:function(){var t=this;return this.setFlags(["isLoading","isDestroying"]),this.store.destroy(this.attributes.id).then((function(e){return t.setFlags(["isLoading","isDestroying"],!1),e}))}},{key:"reload",value:function(){var t=this;return this.setFlags(["isLoading","isReloading"]),this.store.findRecord(this.attributes.id).then((function(e){return t.reset(),e}))}},{key:"setFlags",value:function(){for(var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],r=["isLoading","isSaving","isReloading","isDestroying"],n=0;n0&&void 0!==arguments[0]?arguments[0]:{},e=this.getAttributes();return rt(this.id)?this.create(e):!0===t.onlyDirty?this.savedirty():this.update(e)}},{key:"saveDirty",value:function(){for(var t=Object.keys(this.dirtyAttributes),e={},r=0;r0}},{key:"mutate",value:function(t,e){this.attributes[t]=e}},{key:"setAttribute",value:function(t){var e,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;if(null===r&&"object"===j(t))return this.setAttributes(t);var n=null!==(e=null==this?void 0:this.attributes[t])&&void 0!==e?e:null;return ut(this.attributes,t,r),ut(this.dirtyAttributes,t,n),U(null==this?void 0:this.changes[t])||(this.changes[t]=[]),this.changes[t].push({property:t,previousValue:n,value:r,changedAt:new Date}),this}},{key:"setAttributes",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};for(var e in t)this.setAttribute(e,t[e]);return this}},{key:"getAttribute",value:function(t){var e,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=st(null!==(e=null==this?void 0:this.attributes)&&void 0!==e?e:{},t);return void 0===n?r:n}},{key:"hasAttribute",value:function(t){if(U(t)){var e,r=t,n=Object.keys(null!==(e=this.attributes)&&void 0!==e?e:{});return r.every((function(t){return n.includes(t)}))}return!(null==this||!this.attributes)&&t in this.attributes}},{key:"hasAttributes",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return this.hasAttribute(t)}},{key:"isAttributeFilled",value:function(t){var e=this;return U(t)?this.hasAttribute(t)&&t.every((function(t){return!rt(e.getAttribute(t))})):this.hasAttribute(t)&&!rt(this.getAttribute(t))}},{key:"getAttributes",value:function(t){var e={};if(null==t)return this.getAttributes(Object.keys(this.attributes));if("string"==typeof t)return this.getAttribute(Array.prototype.slice.call(arguments));if(!U(t))throw new Error("No attribute properties provided!");var r,n=v(t);try{for(n.s();!(r=n.n()).done;){var i,o,a=r.value;if("string"==typeof a){var s=this.getAttribute(a);"object"!==j(null===(i=s)||void 0===i?void 0:i.attributes)||U(null===(o=s)||void 0===o?void 0:o.attributes)||(s=s.attributes),e[a]=s}}}catch(t){n.e(t)}finally{n.f()}return e}},{key:"serialize",value:function(){return this.getAttributes()}},{key:"mergeAttributes",value:function(){var t,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=null!==(t=null==this?void 0:this.attributes)&&void 0!==t?t:{};return this.attributes=E(E({},r),e),this.attributes}},{key:"syncAttributes",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.attributes=t}}]);z("resource","Resource",dt);var ft=function(){return g((function t(e,r){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};d(this,t),this.resource=e,this.adapter=r||it(),this.namespace=q(e),this.storage=tt(),this.options=n,this.extendActions(n.actions)}),[{key:"extendActions",value:function(){return ct(this,arguments.length>0&&void 0!==arguments[0]?arguments[0]:[])}},{key:"deposit",value:function(t){return t}},{key:"serialize",value:function(t){return I("resource",M(this.resource),t,this.adapter)}},{key:"afterFetch",value:function(t){return function(t,e){if("function"==typeof t.options.onAfterFetch&&t.options.onAfterFetch(e),U(e)){var r,n=[],i=v(e);try{for(i.s();!(r=i.n()).done;){var o=r.value;n.push(t.afterFetch(o))}}catch(t){i.e(t)}finally{i.f()}return tt.apply(void 0,n)}var a=t.serialize(e);return t.deposit(a)}(this,t)}},{key:"create",value:(a=c(S().mark((function t(){var e,r,n,i=arguments;return S().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return e=i.length>0&&void 0!==i[0]?i[0]:{},r=i.length>1&&void 0!==i[1]?i[1]:{},t.next=4,this.adapter.post("".concat(this.namespace),e,r);case 4:return n=t.sent,t.abrupt("return",this.afterFetch(n));case 6:case"end":return t.stop()}}),t,this)}))),function(){return a.apply(this,arguments)})},{key:"update",value:(o=c(S().mark((function t(e){var r,n,i,o=arguments;return S().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return r=o.length>1&&void 0!==o[1]?o[1]:{},n=o.length>2&&void 0!==o[2]?o[2]:{},t.next=4,this.adapter.put("".concat(this.namespace,"/").concat(e),r,n);case 4:return i=t.sent,t.abrupt("return",this.afterFetch(i));case 6:case"end":return t.stop()}}),t,this)}))),function(t){return o.apply(this,arguments)})},{key:"findRecord",value:(i=c(S().mark((function t(e){var r,n,i=arguments;return S().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return r=i.length>1&&void 0!==i[1]?i[1]:{},t.next=3,this.adapter.get("".concat(this.namespace,"/").concat(e),{},r);case 3:return n=t.sent,t.abrupt("return",this.afterFetch(n));case 5:case"end":return t.stop()}}),t,this)}))),function(t){return i.apply(this,arguments)})},{key:"findAll",value:(n=c(S().mark((function t(){var e,r,n=arguments;return S().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return e=n.length>0&&void 0!==n[0]?n[0]:{},t.next=3,this.adapter.get("".concat(this.namespace),{},e);case 3:return r=t.sent,t.abrupt("return",this.afterFetch(r));case 5:case"end":return t.stop()}}),t,this)}))),function(){return n.apply(this,arguments)})},{key:"query",value:(r=c(S().mark((function t(){var e,r,n,i=arguments;return S().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return e=i.length>0&&void 0!==i[0]?i[0]:{},r=i.length>1&&void 0!==i[1]?i[1]:{},t.next=4,this.adapter.get("".concat(this.namespace),e,r);case 4:return n=t.sent,t.abrupt("return",this.afterFetch(n));case 6:case"end":return t.stop()}}),t,this)}))),function(){return r.apply(this,arguments)})},{key:"queryRecord",value:(e=c(S().mark((function t(){var e,r,n,i=arguments;return S().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return r=i.length>1&&void 0!==i[1]?i[1]:{},(e=i.length>0&&void 0!==i[0]?i[0]:{}).single=!0,t.next=5,this.adapter.get("".concat(this.namespace),e,r);case 5:return n=t.sent,t.abrupt("return",this.afterFetch(n));case 7:case"end":return t.stop()}}),t,this)}))),function(){return e.apply(this,arguments)})},{key:"destroy",value:(t=c(S().mark((function t(e){var r,n,i,o=arguments;return S().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return r=o.length>1&&void 0!==o[1]?o[1]:{},n=lt(e)?e.getAttribute("id"):e,t.next=4,this.adapter.delete("".concat(this.namespace,"/").concat(n),{},r);case 4:return i=t.sent,t.abrupt("return",this.afterFetch(i));case 6:case"end":return t.stop()}}),t,this)}))),function(e){return t.apply(this,arguments)})}]);var t,e,r,n,i,o,a}();z("store","Store",ft);var pt=new ht({getDistanceAndTime:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.adapter.get("".concat(this.namespace,"/").concat(t,"/distance-and-time"),e,r)},getNextActivity:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.adapter.get("".concat(this.namespace,"/").concat(t,"/next-activity"),e,r)},dispatch:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.adapter.post("".concat(this.namespace,"/").concat(t,"/dispatch"),e,r).then(this.afterFetch.bind(this))},start:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.adapter.post("".concat(this.namespace,"/").concat(t,"/start"),e,r).then(this.afterFetch.bind(this))},updateActivity:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.adapter.post("".concat(this.namespace,"/").concat(t,"/update-activity"),e,r).then(this.afterFetch.bind(this))},setDestination:function(t,e){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return lt(e)&&(e=e.id),this.adapter.post("".concat(this.namespace,"/").concat(t,"/set-destination/").concat(e),r,n).then(this.afterFetch.bind(this))},captureQrCode:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return lt(e)&&(e=e.id),this.adapter.post("".concat(this.namespace,"/").concat(t,"/capture-qr").concat(e?"/"+e:""),r,n)},captureSignature:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return lt(e)&&(e=e.id),this.adapter.post("".concat(this.namespace,"/").concat(t,"/capture-signature").concat(e?"/"+e:""),r,n)},complete:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.adapter.post("".concat(this.namespace,"/").concat(t,"/complete"),e,r).then(this.afterFetch.bind(this))},cancel:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.adapter.delete("".concat(this.namespace,"/").concat(t,"/cancel"),e,r).then(this.afterFetch.bind(this))}}),gt=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=arguments.length>1?arguments[1]:void 0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return d(this,t),l(this,t,[e,r,"order",E({actions:pt},n)])}return w(t,dt),g(t,[{key:"getDistanceAndTime",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.store.getDistanceAndTime(this.id,t,e)}},{key:"dispatch",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.store.dispatch(this.id,t,e)}},{key:"start",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.store.start(this.id,t,e)}},{key:"setDestination",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.store.setDestination(this.id,t,e,r)}},{key:"captureQrCode",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.store.captureQrCode(this.id,t,e,r)}},{key:"captureSignature",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.store.captureSignature(this.id,t,e,r)}},{key:"getNextActivity",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.store.getNextActivity(this.id,t,e)}},{key:"updateActivity",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.store.updateActivity(this.id,t,e)}},{key:"cancel",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.store.cancel(this.id,t,e)}},{key:"complete",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.store.complete(this.id,t,e)}},{key:"isDispatched",get:function(){return null!==this.getAttribute("dispatched_at")}},{key:"isNotDispatched",get:function(){return null==this.getAttribute("dispatched_at")}},{key:"isStarted",get:function(){return null!==this.getAttribute("started_at")}},{key:"isNotStarted",get:function(){return null==this.getAttribute("started_at")}},{key:"isCompleted",get:function(){return"completed"==this.getAttribute("status")}},{key:"isCanceled",get:function(){return"canceled"==this.getAttribute("status")}},{key:"isEnroute",get:function(){return"driver_enroute"==this.getAttribute("status")||"enroute"===this.getAttribute("status")}},{key:"isInProgress",get:function(){return this.isStarted&&!this.isCanceled&&!this.isCompleted}},{key:"scheduledAt",get:function(){return this.isAttributeFilled("scheduled_at")?new Date(this.getAttribute("scheduled_at")):null}},{key:"startedAt",get:function(){return this.isAttributeFilled("started_at")?new Date(this.getAttribute("started_at")):null}},{key:"dispatchedAt",get:function(){return this.isAttributeFilled("dispatched_at")?new Date(this.getAttribute("dispatched_at")):null}},{key:"status",get:function(){return this.getAttribute("status")}}])}();z("resource","Order",gt);var vt=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=arguments.length>1?arguments[1]:void 0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return d(this,t),l(this,t,[e,r,"payload",n])}return w(t,dt),g(t,[{key:"attach",value:function(t){}},{key:"entities",get:function(){var t=this;return tt(this.entities.map((function(e){return B("Entity",e,t.adapter)})))}},{key:"dropoff",get:function(){return this.dropoff?B("Place",this.dropoff,this.adapter):null}},{key:"pickup",get:function(){return this.pickup?B("Place",this.pickup,this.adapter):null}},{key:"waypoints",get:function(){var t=this;return tt(this.waypoints.map((function(e){return B("Waypoint",e,t.adapter)})))}}])}();z("resource","Payload",vt);var yt=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=arguments.length>1?arguments[1]:void 0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return d(this,t),l(this,t,[e,r,"entity",n])}return w(t,dt),g(t)}();z("resource","Entity",yt);var mt=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=arguments.length>1?arguments[1]:void 0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return d(this,t),l(this,t,[e,r,"place",n])}return w(t,dt),g(t,[{key:"latitude",get:function(){var t;return null===(t=this.getAttribute("location",new ot))||void 0===t?void 0:t.coordinates[1]}},{key:"longitude",get:function(){var t;return null===(t=this.getAttribute("location",new ot))||void 0===t?void 0:t.coordinates[0]}},{key:"coordinates",get:function(){return[this.latitude,this.longitude]}},{key:"setOwner",value:function(t){return lt(t)&&this.setAttribute("owner",t.id),"string"==typeof t&&this.setAttribute("owner",t),this}}],[{key:"fromGoogleAddress",value:function(e,r){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=T(e.getAttribute("coordinates"),2),o=i[0],a=i[1];return new t({name:null,address:e.getAttribute("address"),location:new ot(o,a),street1:e.getAttribute("address"),street2:null,city:e.getAttribute("city"),province:e.getAttribute("stateLong"),postal_code:e.getAttribute("postalCode"),neighborhood:e.get("neighborhood"),district:e.getAttribute("county"),building:e.get("building"),country:e.getAttribute("countryShort"),phone:null,security_access_code:null},r,n)}}])}();z("resource","Place",mt);var wt=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=arguments.length>1?arguments[1]:void 0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return d(this,t),l(this,t,[e,r,"waypoint",n])}return w(t,mt),g(t)}();z("resource","Waypoint",wt);var bt=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=arguments.length>1?arguments[1]:void 0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return d(this,t),l(this,t,[e,r,"tracking-status",n])}return w(t,dt),g(t)}();z("resource","TrackingStatus",bt);var kt=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=arguments.length>1?arguments[1]:void 0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return d(this,t),l(this,t,[e,r,"vehicle",n])}return w(t,dt),g(t)}();z("resource","Vehicle",kt);var xt=new ht({current:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.adapter.get("".concat(this.namespace,"/current"),t,e)}}),At=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=arguments.length>1?arguments[1]:void 0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return d(this,t),l(this,t,[e,r,"organization",E({actions:xt},n)])}return w(t,dt),g(t)}();z("resource","Organization",At);var Et=function(t,e){return U(t)?t.map((function(t){return new At(t,e)})):new At(t,e)},St=new ht({login:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(function(){return/^[+]?[\s./0-9]*[(]?[0-9]{1,4}[)]?[-\s./0-9]*$/g.test(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"")}(t))return this.adapter.post("drivers/login-with-sms",{phone:t});if(!e)throw new Error("Login requires password!");return this.adapter.post("drivers/login",E({identity:t,password:e},r)).then(this.afterFetch.bind(this))},verifyCode:function(t,e){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.adapter.post("drivers/verify-code",E({identity:t,code:e},r)).then(this.afterFetch.bind(this))},track:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.adapter.post("drivers/".concat(t,"/track"),e,r).then(this.afterFetch.bind(this))},listOrganizations:function(t){var e=this,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.adapter.get("drivers/".concat(t,"/organizations"),r,n).then((function(t){return Et(t,e.adapter)}))},switchOrganization:function(t){var e=this,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.adapter.post("drivers/".concat(t,"/switch-organization"),r,n).then((function(t){return Et(t,e.adapter)}))},currentOrganization:function(t){var e=this,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.adapter.get("drivers/".concat(t,"/current-organization"),r,n).then((function(t){return Et(t,e.adapter)}))},retrieve:function(t){return this.findRecord(t)},syncDevice:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.adapter.post("drivers/".concat(t,"/register-device"),e,r)}}),Ot=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=arguments.length>1?arguments[1]:void 0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return d(this,t),l(this,t,[e,r,"driver",E({actions:St},n)])}return w(t,dt),g(t,[{key:"token",get:function(){return this.getAttribute("token")}},{key:"isOnline",get:function(){return!0===this.getAttribute("online")}},{key:"latitude",get:function(){var t;return null===(t=this.getAttribute("location",new ot))||void 0===t?void 0:t.coordinates[1]}},{key:"longitude",get:function(){var t;return null===(t=this.getAttribute("location",new ot))||void 0===t?void 0:t.coordinates[0]}},{key:"coordinates",get:function(){return[this.latitude,this.longitude]}},{key:"track",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.store.track(this.id,t,e)}},{key:"syncDevice",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.store.syncDevice(this.id,t,e)}},{key:"listOrganizations",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.store.listOrganizations(this.id,t,e)}},{key:"switchOrganization",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.store.switchOrganization(this.id,{next:t},e)}},{key:"currentOrganization",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.store.currentOrganization(this.id,t,e)}}])}();z("resource","Driver",Ot);var Tt=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=arguments.length>1?arguments[1]:void 0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return d(this,t),l(this,t,[e,r,"vendor",n])}return w(t,dt),g(t)}();z("resource","Vendor",Tt);var Rt=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=arguments.length>1?arguments[1]:void 0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return d(this,t),l(this,t,[e,r,"contact",n])}return w(t,dt),g(t)}();z("resource","Contact",Rt);var Pt=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=arguments.length>1?arguments[1]:void 0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return d(this,t),l(this,t,[e,r,"zone",n])}return w(t,dt),g(t)}();z("resource","Zone",Pt);var jt=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=arguments.length>1?arguments[1]:void 0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return d(this,t),l(this,t,[e,r,"service-area",n])}return w(t,dt),g(t)}();z("resource","ServiceArea",jt);var Ct=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=arguments.length>1?arguments[1]:void 0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return d(this,t),l(this,t,[e,r,"service-rate",n])}return w(t,dt),g(t)}();z("resource","ServiceRate",Ct);var Dt=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=arguments.length>1?arguments[1]:void 0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return d(this,t),l(this,t,[e,r,"service-quote",n])}return w(t,dt),g(t,[{key:"fromPreliminary",value:function(){}},{key:"fromPayload",value:function(){}}])}();z("resource","ServiceQuote",Dt);var Lt=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=arguments.length>1?arguments[1]:void 0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return d(this,t),l(this,t,[e,r,"fleet",n])}return w(t,dt),g(t)}();z("resource","Fleet",Lt);var Ft=g((function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};d(this,t),this.version=e.version||"v1",this.host=e.host||null,this.namespace=e.namespace||null,this.headers=e.headers||{}}));z("adapter","Adapter",Ft);var Nt=function(){function t(e){var r;return d(this,t),(r=l(this,t,[e])).setHeaders({Authorization:"Bearer ".concat(e.publicKey),"Content-Type":"application/json","User-Agent":"@fleetbase/sdk;browser"}),r}return w(t,Ft),g(t,[{key:"setHeaders",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this.headers=E(E({},this.headers),t),this}},{key:"parseJSON",value:function(t){return new Promise((function(e,r){t.json().then((function(r){e({statusText:t.statusText,status:t.status,ok:t.ok,json:r})})).catch((function(){r(new Error("Oops! Something went wrong when handling your request."))}))}))}},{key:"request",value:function(t){var e=this,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"GET",n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return new Promise((function(o,a){fetch(i.url||"".concat(e.host,"/").concat(e.namespace,"/").concat(t),E({method:r,mode:i.mode||"cors",headers:new Headers(E(E({},e.headers||{}),i.headers||{}))},n)).then(e.parseJSON).then((function(t){if(t.ok)return o(t.json);a(new Error(t.json.errors?t.json.errors[0]:t.statusText))})).catch((function(t){a(t)}))}))}},{key:"get",value:function(t){var e,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=rt(e=r)||"string"==typeof e&&!1===/\S/.test(e)?"":new URLSearchParams(r).toString();return this.request("".concat(t).concat(i?"?".concat(i):""),"GET",{},n)}},{key:"post",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.request(t,"POST",{body:JSON.stringify(e)},r)}},{key:"put",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.request(t,"PUT",{body:JSON.stringify(e)},r)}},{key:"delete",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.request(t,"DELETE",{},e)}},{key:"patch",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.request(t,"PATCH",{body:JSON.stringify(e)},r)}}])}();function qt(t,e){return function(){return t.apply(e,arguments)}}z("adapter","BrowserAdapter",Nt);var _t,Mt=Object.prototype.toString,$t=Object.getPrototypeOf,zt=(_t=Object.create(null),function(t){var e=Mt.call(t);return _t[e]||(_t[e]=e.slice(8,-1).toLowerCase())}),Ht=function(t){return t=t.toLowerCase(),function(e){return zt(e)===t}},It=function(t){return function(e){return j(e)===t}},Bt=Array.isArray,Ut=It("undefined"),Wt=Ht("ArrayBuffer"),Yt=It("string"),Qt=It("function"),Gt=It("number"),Jt=function(t){return null!==t&&"object"===j(t)},Xt=function(t){if("object"!==zt(t))return!1;var e=$t(t);return!(null!==e&&e!==Object.prototype&&null!==Object.getPrototypeOf(e)||Symbol.toStringTag in t||Symbol.iterator in t)},Kt=Ht("Date"),Vt=Ht("File"),Zt=Ht("Blob"),te=Ht("FileList"),ee=Ht("URLSearchParams"),re=T(["ReadableStream","Request","Response","Headers"].map(Ht),4),ne=re[0],ie=re[1],oe=re[2],ae=re[3];function se(t,e){var r,n,i=(arguments.length>2&&void 0!==arguments[2]?arguments[2]:{}).allOwnKeys,o=void 0!==i&&i;if(null!=t)if("object"!==j(t)&&(t=[t]),Bt(t))for(r=0,n=t.length;r0;)if(e===(r=n[i]).toLowerCase())return r;return null}var ce,he,le,de,fe,pe="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:global,ge=function(t){return!Ut(t)&&t!==pe},ve=(ce="undefined"!=typeof Uint8Array&&$t(Uint8Array),function(t){return ce&&t instanceof ce}),ye=Ht("HTMLFormElement"),me=function(){var t=Object.prototype.hasOwnProperty;return function(e,r){return t.call(e,r)}}(),we=Ht("RegExp"),be=function(t,e){var r=Object.getOwnPropertyDescriptors(t),n={};se(r,(function(r,i){var o;!1!==(o=e(r,i,t))&&(n[i]=o||r)})),Object.defineProperties(t,n)},ke="abcdefghijklmnopqrstuvwxyz",xe="0123456789",Ae={DIGIT:xe,ALPHA:ke,ALPHA_DIGIT:ke+ke.toUpperCase()+xe},Ee=Ht("AsyncFunction"),Se=(he="function"==typeof setImmediate,le=Qt(pe.postMessage),he?setImmediate:le?(de="axios@".concat(Math.random()),fe=[],pe.addEventListener("message",(function(t){var e=t.source,r=t.data;e===pe&&r===de&&fe.length&&fe.shift()()}),!1),function(t){fe.push(t),pe.postMessage(de,"*")}):function(t){return setTimeout(t)}),Oe="undefined"!=typeof queueMicrotask?queueMicrotask.bind(pe):"undefined"!=typeof process&&process.nextTick||Se,Te={isArray:Bt,isArrayBuffer:Wt,isBuffer:function(t){return null!==t&&!Ut(t)&&null!==t.constructor&&!Ut(t.constructor)&&Qt(t.constructor.isBuffer)&&t.constructor.isBuffer(t)},isFormData:function(t){var e;return t&&("function"==typeof FormData&&t instanceof FormData||Qt(t.append)&&("formdata"===(e=zt(t))||"object"===e&&Qt(t.toString)&&"[object FormData]"===t.toString()))},isArrayBufferView:function(t){return"undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(t):t&&t.buffer&&Wt(t.buffer)},isString:Yt,isNumber:Gt,isBoolean:function(t){return!0===t||!1===t},isObject:Jt,isPlainObject:Xt,isReadableStream:ne,isRequest:ie,isResponse:oe,isHeaders:ae,isUndefined:Ut,isDate:Kt,isFile:Vt,isBlob:Zt,isRegExp:we,isFunction:Qt,isStream:function(t){return Jt(t)&&Qt(t.pipe)},isURLSearchParams:ee,isTypedArray:ve,isFileList:te,forEach:se,merge:function t(){for(var e=(ge(this)&&this||{}).caseless,r={},n=function(n,i){var o=e&&ue(r,i)||i;Xt(r[o])&&Xt(n)?r[o]=t(r[o],n):Xt(n)?r[o]=t({},n):Bt(n)?r[o]=n.slice():r[o]=n},i=0,o=arguments.length;i3&&void 0!==arguments[3]?arguments[3]:{}).allOwnKeys}),t},trim:function(t){return t.trim?t.trim():t.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")},stripBOM:function(t){return 65279===t.charCodeAt(0)&&(t=t.slice(1)),t},inherits:function(t,e,r,n){t.prototype=Object.create(e.prototype,n),t.prototype.constructor=t,Object.defineProperty(t,"super",{value:e.prototype}),r&&Object.assign(t.prototype,r)},toFlatObject:function(t,e,r,n){var i,o,a,s={};if(e=e||{},null==t)return e;do{for(o=(i=Object.getOwnPropertyNames(t)).length;o-- >0;)a=i[o],n&&!n(a,t,e)||s[a]||(e[a]=t[a],s[a]=!0);t=!1!==r&&$t(t)}while(t&&(!r||r(t,e))&&t!==Object.prototype);return e},kindOf:zt,kindOfTest:Ht,endsWith:function(t,e,r){t=String(t),(void 0===r||r>t.length)&&(r=t.length),r-=e.length;var n=t.indexOf(e,r);return-1!==n&&n===r},toArray:function(t){if(!t)return null;if(Bt(t))return t;var e=t.length;if(!Gt(e))return null;for(var r=new Array(e);e-- >0;)r[e]=t[e];return r},forEachEntry:function(t,e){for(var r,n=(t&&t[Symbol.iterator]).call(t);(r=n.next())&&!r.done;){var i=r.value;e.call(t,i[0],i[1])}},matchAll:function(t,e){for(var r,n=[];null!==(r=t.exec(e));)n.push(r);return n},isHTMLForm:ye,hasOwnProperty:me,hasOwnProp:me,reduceDescriptors:be,freezeMethods:function(t){be(t,(function(e,r){if(Qt(t)&&-1!==["arguments","caller","callee"].indexOf(r))return!1;var n=t[r];Qt(n)&&(e.enumerable=!1,"writable"in e?e.writable=!1:e.set||(e.set=function(){throw Error("Can not rewrite read-only method '"+r+"'")}))}))},toObjectSet:function(t,e){var r={},n=function(t){t.forEach((function(t){r[t]=!0}))};return Bt(t)?n(t):n(String(t).split(e)),r},toCamelCase:function(t){return t.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,(function(t,e,r){return e.toUpperCase()+r}))},noop:function(){},toFiniteNumber:function(t,e){return null!=t&&Number.isFinite(t=+t)?t:e},findKey:ue,global:pe,isContextDefined:ge,ALPHABET:Ae,generateString:function(){for(var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:16,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Ae.ALPHA_DIGIT,r="",n=e.length;t--;)r+=e[Math.random()*n|0];return r},isSpecCompliantForm:function(t){return!!(t&&Qt(t.append)&&"FormData"===t[Symbol.toStringTag]&&t[Symbol.iterator])},toJSONObject:function(t){var e=new Array(10),r=function(t,n){if(Jt(t)){if(e.indexOf(t)>=0)return;if(!("toJSON"in t)){e[n]=t;var i=Bt(t)?[]:{};return se(t,(function(t,e){var o=r(t,n+1);!Ut(o)&&(i[e]=o)})),e[n]=void 0,i}}return t};return r(t,0)},isAsyncFn:Ee,isThenable:function(t){return t&&(Jt(t)||Qt(t))&&Qt(t.then)&&Qt(t.catch)},setImmediate:Se,asap:Oe};function Re(t,e,r,n,i){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack,this.message=t,this.name="AxiosError",e&&(this.code=e),r&&(this.config=r),n&&(this.request=n),i&&(this.response=i,this.status=i.status?i.status:null)}Te.inherits(Re,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:Te.toJSONObject(this.config),code:this.code,status:this.status}}});var Pe=Re.prototype,je={};function Ce(t){return Te.isPlainObject(t)||Te.isArray(t)}function De(t){return Te.endsWith(t,"[]")?t.slice(0,-2):t}function Le(t,e,r){return t?t.concat(e).map((function(t,e){return t=De(t),!r&&e?"["+t+"]":t})).join(r?".":""):e}["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach((function(t){je[t]={value:t}})),Object.defineProperties(Re,je),Object.defineProperty(Pe,"isAxiosError",{value:!0}),Re.from=function(t,e,r,n,i,o){var a=Object.create(Pe);return Te.toFlatObject(t,a,(function(t){return t!==Error.prototype}),(function(t){return"isAxiosError"!==t})),Re.call(a,t.message,e,r,n,i),a.cause=t,a.name=t.name,o&&Object.assign(a,o),a};var Fe=Te.toFlatObject(Te,{},null,(function(t){return/^is[A-Z]/.test(t)}));function Ne(t,e,r){if(!Te.isObject(t))throw new TypeError("target must be an object");e=e||new FormData;var n=(r=Te.toFlatObject(r,{metaTokens:!0,dots:!1,indexes:!1},!1,(function(t,e){return!Te.isUndefined(e[t])}))).metaTokens,i=r.visitor||c,o=r.dots,a=r.indexes,s=(r.Blob||"undefined"!=typeof Blob&&Blob)&&Te.isSpecCompliantForm(e);if(!Te.isFunction(i))throw new TypeError("visitor must be a function");function u(t){if(null===t)return"";if(Te.isDate(t))return t.toISOString();if(!s&&Te.isBlob(t))throw new Re("Blob is not supported. Use a Buffer instead.");return Te.isArrayBuffer(t)||Te.isTypedArray(t)?s&&"function"==typeof Blob?new Blob([t]):Buffer.from(t):t}function c(t,r,i){var s=t;if(t&&!i&&"object"===j(t))if(Te.endsWith(r,"{}"))r=n?r:r.slice(0,-2),t=JSON.stringify(t);else if(Te.isArray(t)&&function(t){return Te.isArray(t)&&!t.some(Ce)}(t)||(Te.isFileList(t)||Te.endsWith(r,"[]"))&&(s=Te.toArray(t)))return r=De(r),s.forEach((function(t,n){!Te.isUndefined(t)&&null!==t&&e.append(!0===a?Le([r],n,o):null===a?r:r+"[]",u(t))})),!1;return!!Ce(t)||(e.append(Le(i,r,o),u(t)),!1)}var h=[],l=Object.assign(Fe,{defaultVisitor:c,convertValue:u,isVisitable:Ce});if(!Te.isObject(t))throw new TypeError("data must be an object");return function t(r,n){if(!Te.isUndefined(r)){if(-1!==h.indexOf(r))throw Error("Circular reference detected in "+n.join("."));h.push(r),Te.forEach(r,(function(r,o){!0===(!(Te.isUndefined(r)||null===r)&&i.call(e,r,Te.isString(o)?o.trim():o,n,l))&&t(r,n?n.concat(o):[o])})),h.pop()}}(t),e}function qe(t){var e={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(t).replace(/[!'()~]|%20|%00/g,(function(t){return e[t]}))}function _e(t,e){this._pairs=[],t&&Ne(t,this,e)}var Me=_e.prototype;function $e(t){return encodeURIComponent(t).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function ze(t,e,r){if(!e)return t;var n=r&&r.encode||$e;Te.isFunction(r)&&(r={serialize:r});var i,o=r&&r.serialize;if(i=o?o(e,r):Te.isURLSearchParams(e)?e.toString():new _e(e,r).toString(n)){var a=t.indexOf("#");-1!==a&&(t=t.slice(0,a)),t+=(-1===t.indexOf("?")?"?":"&")+i}return t}Me.append=function(t,e){this._pairs.push([t,e])},Me.toString=function(t){var e=t?function(e){return t.call(this,e,qe)}:qe;return this._pairs.map((function(t){return e(t[0])+"="+e(t[1])}),"").join("&")};var He=g((function t(){d(this,t),this.handlers=[]}),[{key:"use",value:function(t,e,r){return this.handlers.push({fulfilled:t,rejected:e,synchronous:!!r&&r.synchronous,runWhen:r?r.runWhen:null}),this.handlers.length-1}},{key:"eject",value:function(t){this.handlers[t]&&(this.handlers[t]=null)}},{key:"clear",value:function(){this.handlers&&(this.handlers=[])}},{key:"forEach",value:function(t){Te.forEach(this.handlers,(function(e){null!==e&&t(e)}))}}]),Ie={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},Be={isBrowser:!0,classes:{URLSearchParams:"undefined"!=typeof URLSearchParams?URLSearchParams:_e,FormData:"undefined"!=typeof FormData?FormData:null,Blob:"undefined"!=typeof Blob?Blob:null},protocols:["http","https","file","blob","url","data"]},Ue="undefined"!=typeof window&&"undefined"!=typeof document,We="object"===("undefined"==typeof navigator?"undefined":j(navigator))&&navigator||void 0,Ye=Ue&&(!We||["ReactNative","NativeScript","NS"].indexOf(We.product)<0),Qe="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&"function"==typeof self.importScripts,Ge=Ue&&window.location.href||"http://localhost",Je=E(E({},Object.freeze({__proto__:null,hasBrowserEnv:Ue,hasStandardBrowserEnv:Ye,hasStandardBrowserWebWorkerEnv:Qe,navigator:We,origin:Ge})),Be);function Xe(t){function e(t,r,n,i){var o=t[i++];if("__proto__"===o)return!0;var a=Number.isFinite(+o),s=i>=t.length;return o=!o&&Te.isArray(n)?n.length:o,s?(Te.hasOwnProp(n,o)?n[o]=[n[o],r]:n[o]=r,!a):(n[o]&&Te.isObject(n[o])||(n[o]=[]),e(t,r,n[o],i)&&Te.isArray(n[o])&&(n[o]=function(t){var e,r,n={},i=Object.keys(t),o=i.length;for(e=0;e-1,o=Te.isObject(t);if(o&&Te.isHTMLForm(t)&&(t=new FormData(t)),Te.isFormData(t))return i?JSON.stringify(Xe(t)):t;if(Te.isArrayBuffer(t)||Te.isBuffer(t)||Te.isStream(t)||Te.isFile(t)||Te.isBlob(t)||Te.isReadableStream(t))return t;if(Te.isArrayBufferView(t))return t.buffer;if(Te.isURLSearchParams(t))return e.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();if(o){if(n.indexOf("application/x-www-form-urlencoded")>-1)return function(t,e){return Ne(t,new Je.classes.URLSearchParams,Object.assign({visitor:function(t,e,r,n){return Je.isNode&&Te.isBuffer(t)?(this.append(e,t.toString("base64")),!1):n.defaultVisitor.apply(this,arguments)}},e))}(t,this.formSerializer).toString();if((r=Te.isFileList(t))||n.indexOf("multipart/form-data")>-1){var a=this.env&&this.env.FormData;return Ne(r?{"files[]":t}:t,a&&new a,this.formSerializer)}}return o||i?(e.setContentType("application/json",!1),function(t){if(Te.isString(t))try{return(0,JSON.parse)(t),Te.trim(t)}catch(t){if("SyntaxError"!==t.name)throw t}return(0,JSON.stringify)(t)}(t)):t}],transformResponse:[function(t){var e=this.transitional||Ke.transitional,r=e&&e.forcedJSONParsing,n="json"===this.responseType;if(Te.isResponse(t)||Te.isReadableStream(t))return t;if(t&&Te.isString(t)&&(r&&!this.responseType||n)){var i=!(e&&e.silentJSONParsing)&&n;try{return JSON.parse(t)}catch(t){if(i){if("SyntaxError"===t.name)throw Re.from(t,Re.ERR_BAD_RESPONSE,this,null,this.response);throw t}}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:Je.classes.FormData,Blob:Je.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};Te.forEach(["delete","get","head","post","put","patch"],(function(t){Ke.headers[t]={}}));var Ve=Te.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),Ze=Symbol("internals");function tr(t){return t&&String(t).trim().toLowerCase()}function er(t){return!1===t||null==t?t:Te.isArray(t)?t.map(er):String(t)}function rr(t,e,r,n,i){return Te.isFunction(n)?n.call(this,e,r):(i&&(e=r),Te.isString(e)?Te.isString(n)?-1!==e.indexOf(n):Te.isRegExp(n)?n.test(e):void 0:void 0)}var nr=g((function t(e){d(this,t),e&&this.set(e)}),[{key:"set",value:function(t,e,r){var n=this;function i(t,e,r){var i=tr(e);if(!i)throw new Error("header name must be a non-empty string");var o=Te.findKey(n,i);(!o||void 0===n[o]||!0===r||void 0===r&&!1!==n[o])&&(n[o||e]=er(t))}var o=function(t,e){return Te.forEach(t,(function(t,r){return i(t,r,e)}))};if(Te.isPlainObject(t)||t instanceof this.constructor)o(t,e);else if(Te.isString(t)&&(t=t.trim())&&!/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(t.trim()))o(function(t){var e,r,n,i={};return t&&t.split("\n").forEach((function(t){n=t.indexOf(":"),e=t.substring(0,n).trim().toLowerCase(),r=t.substring(n+1).trim(),!e||i[e]&&Ve[e]||("set-cookie"===e?i[e]?i[e].push(r):i[e]=[r]:i[e]=i[e]?i[e]+", "+r:r)})),i}(t),e);else if(Te.isHeaders(t)){var a,s=v(t.entries());try{for(s.s();!(a=s.n()).done;){var u=T(a.value,2),c=u[0];i(u[1],c,r)}}catch(t){s.e(t)}finally{s.f()}}else null!=t&&i(e,t,r);return this}},{key:"get",value:function(t,e){if(t=tr(t)){var r=Te.findKey(this,t);if(r){var n=this[r];if(!e)return n;if(!0===e)return function(t){for(var e,r=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;e=n.exec(t);)r[e[1]]=e[2];return r}(n);if(Te.isFunction(e))return e.call(this,n,r);if(Te.isRegExp(e))return e.exec(n);throw new TypeError("parser must be boolean|regexp|function")}}}},{key:"has",value:function(t,e){if(t=tr(t)){var r=Te.findKey(this,t);return!(!r||void 0===this[r]||e&&!rr(0,this[r],r,e))}return!1}},{key:"delete",value:function(t,e){var r=this,n=!1;function i(t){if(t=tr(t)){var i=Te.findKey(r,t);!i||e&&!rr(0,r[i],i,e)||(delete r[i],n=!0)}}return Te.isArray(t)?t.forEach(i):i(t),n}},{key:"clear",value:function(t){for(var e=Object.keys(this),r=e.length,n=!1;r--;){var i=e[r];t&&!rr(0,this[i],i,t,!0)||(delete this[i],n=!0)}return n}},{key:"normalize",value:function(t){var e=this,r={};return Te.forEach(this,(function(n,i){var o=Te.findKey(r,i);if(o)return e[o]=er(n),void delete e[i];var a=t?function(t){return t.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(function(t,e,r){return e.toUpperCase()+r}))}(i):String(i).trim();a!==i&&delete e[i],e[a]=er(n),r[a]=!0})),this}},{key:"concat",value:function(){for(var t,e=arguments.length,r=new Array(e),n=0;n1?r-1:0),i=1;i2&&void 0!==arguments[2]?arguments[2]:3,n=0,i=function(t,e){t=t||10;var r,n=new Array(t),i=new Array(t),o=0,a=0;return e=void 0!==e?e:1e3,function(s){var u=Date.now(),c=i[a];r||(r=u),n[o]=s,i[o]=u;for(var h=a,l=0;h!==o;)l+=n[h++],h%=t;if((o=(o+1)%t)===a&&(a=(a+1)%t),!(u-r1&&void 0!==arguments[1]?arguments[1]:Date.now();i=o,r=null,n&&(clearTimeout(n),n=null),t.apply(null,e)};return[function(){for(var t=Date.now(),e=t-i,s=arguments.length,u=new Array(s),c=0;c=o?a(u,t):(r=u,n||(n=setTimeout((function(){n=null,a(r)}),o-e)))},function(){return r&&a(r)}]}((function(r){var o=r.loaded,a=r.lengthComputable?r.total:void 0,s=o-n,u=i(s);n=o;var c=y({loaded:o,total:a,progress:a?o/a:void 0,bytes:s,rate:u||void 0,estimated:u&&a&&o<=a?(a-o)/u:void 0,event:r,lengthComputable:null!=a},e?"download":"upload",!0);t(c)}),r)},cr=function(t,e){var r=null!=t;return[function(n){return e[0]({lengthComputable:r,total:t,loaded:n})},e[1]]},hr=function(t){return function(){for(var e=arguments.length,r=new Array(e),n=0;n1?e-1:0),n=1;n1?"since :\n"+s.map(qr).join("\n"):" "+qr(s[0]):"as no adapter specified"),"ERR_NOT_SUPPORT")}return r};function $r(t){if(t.cancelToken&&t.cancelToken.throwIfRequested(),t.signal&&t.signal.aborted)throw new ar(null,t)}function zr(t){return $r(t),t.headers=nr.from(t.headers),t.data=ir.call(t,t.transformRequest),-1!==["post","put","patch"].indexOf(t.method)&&t.headers.setContentType("application/x-www-form-urlencoded",!1),Mr(t.adapter||Ke.adapter)(t).then((function(e){return $r(t),e.data=ir.call(t,t.transformResponse,e),e.headers=nr.from(e.headers),e}),(function(e){return or(e)||($r(t),e&&e.response&&(e.response.data=ir.call(t,t.transformResponse,e.response),e.response.headers=nr.from(e.response.headers))),Promise.reject(e)}))}var Hr={};["object","boolean","number","function","string","symbol"].forEach((function(t,e){Hr[t]=function(r){return j(r)===t||"a"+(e<1?"n ":" ")+t}}));var Ir={};Hr.transitional=function(t,e,r){function n(t,e){return"[Axios v1.7.9] Transitional option '"+t+"'"+e+(r?". "+r:"")}return function(r,i,o){if(!1===t)throw new Re(n(i," has been removed"+(e?" in "+e:"")),Re.ERR_DEPRECATED);return e&&!Ir[i]&&(Ir[i]=!0,console.warn(n(i," has been deprecated since v"+e+" and will be removed in the near future"))),!t||t(r,i,o)}},Hr.spelling=function(t){return function(e,r){return console.warn("".concat(r," is likely a misspelling of ").concat(t)),!0}};var Br={assertOptions:function(t,e,r){if("object"!==j(t))throw new Re("options must be an object",Re.ERR_BAD_OPTION_VALUE);for(var n=Object.keys(t),i=n.length;i-- >0;){var o=n[i],a=e[o];if(a){var s=t[o],u=void 0===s||a(s,o,t);if(!0!==u)throw new Re("option "+o+" must be "+u,Re.ERR_BAD_OPTION_VALUE)}else if(!0!==r)throw new Re("Unknown option "+o,Re.ERR_BAD_OPTION)}},validators:Hr},Ur=Br.validators,Wr=function(){return g((function t(e){d(this,t),this.defaults=e,this.interceptors={request:new He,response:new He}}),[{key:"request",value:(t=c(S().mark((function t(e,r){var n,i;return S().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,this._request(e,r);case 3:return t.abrupt("return",t.sent);case 6:if(t.prev=6,t.t0=t.catch(0),t.t0 instanceof Error){n={},Error.captureStackTrace?Error.captureStackTrace(n):n=new Error,i=n.stack?n.stack.replace(/^.+\n/,""):"";try{t.t0.stack?i&&!String(t.t0.stack).endsWith(i.replace(/^.+\n.+\n/,""))&&(t.t0.stack+="\n"+i):t.t0.stack=i}catch(t){}}throw t.t0;case 10:case"end":return t.stop()}}),t,this,[[0,6]])}))),function(e,r){return t.apply(this,arguments)})},{key:"_request",value:function(t,e){"string"==typeof t?(e=e||{}).url=t:e=t||{};var r=e=gr(this.defaults,e),n=r.transitional,i=r.paramsSerializer,o=r.headers;void 0!==n&&Br.assertOptions(n,{silentJSONParsing:Ur.transitional(Ur.boolean),forcedJSONParsing:Ur.transitional(Ur.boolean),clarifyTimeoutError:Ur.transitional(Ur.boolean)},!1),null!=i&&(Te.isFunction(i)?e.paramsSerializer={serialize:i}:Br.assertOptions(i,{encode:Ur.function,serialize:Ur.function},!0)),Br.assertOptions(e,{baseUrl:Ur.spelling("baseURL"),withXsrfToken:Ur.spelling("withXSRFToken")},!0),e.method=(e.method||this.defaults.method||"get").toLowerCase();var a=o&&Te.merge(o.common,o[e.method]);o&&Te.forEach(["delete","get","head","post","put","patch","common"],(function(t){delete o[t]})),e.headers=nr.concat(a,o);var s=[],u=!0;this.interceptors.request.forEach((function(t){"function"==typeof t.runWhen&&!1===t.runWhen(e)||(u=u&&t.synchronous,s.unshift(t.fulfilled,t.rejected))}));var c,h=[];this.interceptors.response.forEach((function(t){h.push(t.fulfilled,t.rejected)}));var l,d=0;if(!u){var f=[zr.bind(this),void 0];for(f.unshift.apply(f,s),f.push.apply(f,h),l=f.length,c=Promise.resolve(e);d0;)n._listeners[e](t);n._listeners=null}})),this.promise.then=function(t){var e,r=new Promise((function(t){n.subscribe(t),e=t})).then(t);return r.cancel=function(){n.unsubscribe(e)},r},e((function(t,e,i){n.reason||(n.reason=new ar(t,e,i),r(n.reason))}))}return g(t,[{key:"throwIfRequested",value:function(){if(this.reason)throw this.reason}},{key:"subscribe",value:function(t){this.reason?t(this.reason):this._listeners?this._listeners.push(t):this._listeners=[t]}},{key:"unsubscribe",value:function(t){if(this._listeners){var e=this._listeners.indexOf(t);-1!==e&&this._listeners.splice(e,1)}}},{key:"toAbortSignal",value:function(){var t=this,e=new AbortController,r=function(t){e.abort(t)};return this.subscribe(r),e.signal.unsubscribe=function(){return t.unsubscribe(r)},e.signal}}],[{key:"source",value:function(){var e;return{token:new t((function(t){e=t})),cancel:e}}}])}(),Qr={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(Qr).forEach((function(t){var e=T(t,2),r=e[0],n=e[1];Qr[n]=r}));var Gr=function t(e){var r=new Wr(e),n=qt(Wr.prototype.request,r);return Te.extend(n,Wr.prototype,r,{allOwnKeys:!0}),Te.extend(n,r,null,{allOwnKeys:!0}),n.create=function(r){return t(gr(e,r))},n}(Ke);Gr.Axios=Wr,Gr.CanceledError=ar,Gr.CancelToken=Yr,Gr.isCancel=or,Gr.VERSION="1.7.9",Gr.toFormData=Ne,Gr.AxiosError=Re,Gr.Cancel=Gr.CanceledError,Gr.all=function(t){return Promise.all(t)},Gr.spread=function(t){return function(e){return t.apply(null,e)}},Gr.isAxiosError=function(t){return Te.isObject(t)&&!0===t.isAxiosError},Gr.mergeConfig=gr,Gr.AxiosHeaders=nr,Gr.formToJSON=function(t){return Xe(Te.isHTMLForm(t)?new FormData(t):t)},Gr.getAdapter=Mr,Gr.HttpStatusCode=Qr,Gr.default=Gr,Gr.Axios,Gr.AxiosError,Gr.CanceledError,Gr.isCancel,Gr.CancelToken,Gr.VERSION,Gr.all,Gr.Cancel,Gr.isAxiosError,Gr.spread,Gr.toFormData,Gr.AxiosHeaders,Gr.HttpStatusCode,Gr.formToJSON,Gr.getAdapter,Gr.mergeConfig;var Jr=function(){function t(e){var r;return d(this,t),(r=l(this,t,[e])).axiosInstance=Gr.create({baseURL:"".concat(r.host,"/").concat(r.namespace),headers:{Authorization:"Bearer ".concat(e.publicKey),"Content-Type":"application/json","User-Agent":"@fleetbase/sdk;node"}}),r.axiosInstance.interceptors.response.use((function(t){return t.data}),(function(t){if(t.response){var e=t.response.data;if(U(e.errors)&&e.errors.length)throw new Error(e.errors[0]);if(e.error)throw new Error(e.error)}throw t})),r}return w(t,Ft),g(t,[{key:"setHeaders",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this.axiosInstance.defaults.headers.common=E(E({},this.axiosInstance.defaults.headers.common),t),this}},{key:"request",value:function(t,e){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.axiosInstance.request(E({method:t,url:e},r))}},{key:"get",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.request("GET",t,E({params:e},r))}},{key:"post",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.request("POST",t,E({data:e},r))}},{key:"put",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.request("PUT",t,E({data:e},r))}},{key:"delete",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.request("DELETE",t,e)}},{key:"patch",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.request("PATCH",t,E({data:e},r))}}])}();z("adapter","NodeAdapter",Jr);var Xr=function(){function t(){return d(this,t),l(this,t,arguments)}return w(t,Ft),g(t)}();z("adapter","EmberJsAdapter",Xr),function(){function t(e){var r,n,i,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(d(this,t),this.version=null!==(r=o.version)&&void 0!==r?r:"v1",this.options={version:this.version,host:null!==(n=o.host)&&void 0!==n?n:"https://api.fleetbase.io",namespace:null!==(i=o.namespace)&&void 0!==i?i:this.version,debug:a,publicKey:e},"string"!=typeof e||0===e.length)throw new Error("⚠️ Invalid public key given to Fleetbase SDK");if(!nt()&&e.toLowerCase().startsWith("$"))throw new Error("Secret key provided. You must use a public key with Fleetbase Javascript SDK!");this.adapter=o.adapter||it(this.options),this.orders=new ft("order",this.adapter).extendActions(pt),this.entities=new ft("entity",this.adapter),this.places=new ft("place",this.adapter),this.drivers=new ft("driver",this.adapter).extendActions(St),this.vehicles=new ft("vehicle",this.adapter),this.vendors=new ft("vendor",this.adapter),this.contacts=new ft("contact",this.adapter),this.serviceAreas=new ft("service-area",this.adapter),this.zones=new ft("zone",this.adapter),this.fleets=new ft("fleet",this.adapter),this.organizations=new ft("organization",this.adapter).extendActions(xt)}g(t,[{key:"setAdapter",value:function(t){this.adapter=t}},{key:"getAdapter",value:function(){return this.adapter}}],[{key:"newInstance",value:function(){return f(t,Array.prototype.slice.call(arguments))}}])}();class Kr extends ft{constructor(t,e,r={}){super(t,e,r)}extendActions(t=[]){return ct(this,t)}serialize(t){return I("resource",M(this.resource),t,this.adapter)}}function Vr(t=0,e="USD",r="symbol"){return new Intl.NumberFormat("en-US",{style:"currency",currency:e,currencyDisplay:r}).format(t)}function Zr(t){const e=null==t;if(e)return e;const r=typeof t;return"object"==typeof t&&"number"==typeof t.size?!t.size:("object"==typeof t||"string"==typeof t)&&"number"==typeof t.length&&"function"!==r&&!t.length}class tn extends dt{setAdapter(t){return this.adapter=t,this.store=new Kr(this.resource,t,{onAfterFetch:this.syncAttributes.bind(this),actions:this.options?.actions}),this}}z("resource","StorefrontResource",tn);const en=new ht({count:function(t,e={}){const r={};return t&&(r.store=t),this.adapter.get(`${this.namespace}/count`,r,e)}});class rn extends tn{constructor(t={},e,r={}){super(t,e,"review",r)}getMedia(){return this.getPhotos()}getPhotos(){return this.getAttribute("photos")??[]}getVideos(){return this.getMedia().filter((t=>"string"==typeof t?.type&&t.type.startsWith("video/")))}}z("resource","Review",rn);const nn=6048e5,on=Symbol.for("constructDateFrom");function an(t,e){return"function"==typeof t?t(e):t&&"object"==typeof t&&on in t?t[on](e):t instanceof Date?new t.constructor(e):new Date(e)}function sn(t,e){return an(e||t,t)}function un(t,e,r){const n=sn(t,r?.in);return isNaN(e)?an(r?.in||t,NaN):e?(n.setDate(n.getDate()+e),n):n}let cn={};function hn(){return cn}function ln(t,e){const r=hn(),n=e?.weekStartsOn??e?.locale?.options?.weekStartsOn??r.weekStartsOn??r.locale?.options?.weekStartsOn??0,i=sn(t,e?.in),o=i.getDay(),a=(o=o.getTime()?n+1:r.getTime()>=s.getTime()?n:n-1}function pn(t){const e=sn(t),r=new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate(),e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds()));return r.setUTCFullYear(e.getFullYear()),+t-+r}function gn(t,e){const r=sn(t,e?.in);return r.setHours(0,0,0,0),r}function vn(t,e,r){const[n,i]=function(t,...e){const r=an.bind(null,e.find((t=>"object"==typeof t)));return e.map(r)}(0,t,e),o=gn(n),a=gn(i),s=+o-pn(o),u=+a-pn(a);return Math.round((s-u)/864e5)}function yn(t){return!(!((e=t)instanceof Date||"object"==typeof e&&"[object Date]"===Object.prototype.toString.call(e))&&"number"!=typeof t||isNaN(+sn(t)));var e}const mn={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXWeeks:{one:"about 1 week",other:"about {{count}} weeks"},xWeeks:{one:"1 week",other:"{{count}} weeks"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}};function wn(t){return(e={})=>{const r=e.width?String(e.width):t.defaultWidth;return t.formats[r]||t.formats[t.defaultWidth]}}const bn={date:wn({formats:{full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},defaultWidth:"full"}),time:wn({formats:{full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},defaultWidth:"full"}),dateTime:wn({formats:{full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},defaultWidth:"full"})},kn={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"};function xn(t){return(e,r)=>{let n;if("formatting"===(r?.context?String(r.context):"standalone")&&t.formattingValues){const e=t.defaultFormattingWidth||t.defaultWidth,i=r?.width?String(r.width):e;n=t.formattingValues[i]||t.formattingValues[e]}else{const e=t.defaultWidth,i=r?.width?String(r.width):t.defaultWidth;n=t.values[i]||t.values[e]}return n[t.argumentCallback?t.argumentCallback(e):e]}}function An(t){return(e,r={})=>{const n=r.width,i=n&&t.matchPatterns[n]||t.matchPatterns[t.defaultMatchWidth],o=e.match(i);if(!o)return null;const a=o[0],s=n&&t.parsePatterns[n]||t.parsePatterns[t.defaultParseWidth],u=Array.isArray(s)?function(t,e){for(let r=0;rt.test(a))):function(t,e){for(const r in t)if(Object.prototype.hasOwnProperty.call(t,r)&&e(t[r]))return r;return}(s,(t=>t.test(a)));let c;c=t.valueCallback?t.valueCallback(u):u,c=r.valueCallback?r.valueCallback(c):c;return{value:c,rest:e.slice(a.length)}}}var En;const Sn={code:"en-US",formatDistance:(t,e,r)=>{let n;const i=mn[t];return n="string"==typeof i?i:1===e?i.one:i.other.replace("{{count}}",e.toString()),r?.addSuffix?r.comparison&&r.comparison>0?"in "+n:n+" ago":n},formatLong:bn,formatRelative:(t,e,r,n)=>kn[t],localize:{ordinalNumber:(t,e)=>{const r=Number(t),n=r%100;if(n>20||n<10)switch(n%10){case 1:return r+"st";case 2:return r+"nd";case 3:return r+"rd"}return r+"th"},era:xn({values:{narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},defaultWidth:"wide"}),quarter:xn({values:{narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},defaultWidth:"wide",argumentCallback:t=>t-1}),month:xn({values:{narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},defaultWidth:"wide"}),day:xn({values:{narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},defaultWidth:"wide"}),dayPeriod:xn({values:{narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},defaultWidth:"wide",formattingValues:{narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},defaultFormattingWidth:"wide"})},match:{ordinalNumber:(En={matchPattern:/^(\d+)(th|st|nd|rd)?/i,parsePattern:/\d+/i,valueCallback:t=>parseInt(t,10)},(t,e={})=>{const r=t.match(En.matchPattern);if(!r)return null;const n=r[0],i=t.match(En.parsePattern);if(!i)return null;let o=En.valueCallback?En.valueCallback(i[0]):i[0];return o=e.valueCallback?e.valueCallback(o):o,{value:o,rest:t.slice(n.length)}}),era:An({matchPatterns:{narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},defaultMatchWidth:"wide",parsePatterns:{any:[/^b/i,/^(a|c)/i]},defaultParseWidth:"any"}),quarter:An({matchPatterns:{narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},defaultMatchWidth:"wide",parsePatterns:{any:[/1/i,/2/i,/3/i,/4/i]},defaultParseWidth:"any",valueCallback:t=>t+1}),month:An({matchPatterns:{narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},defaultMatchWidth:"wide",parsePatterns:{narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},defaultParseWidth:"any"}),day:An({matchPatterns:{narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},defaultMatchWidth:"wide",parsePatterns:{narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},defaultParseWidth:"any"}),dayPeriod:An({matchPatterns:{narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},defaultMatchWidth:"any",parsePatterns:{any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},defaultParseWidth:"any"})},options:{weekStartsOn:0,firstWeekContainsDate:1}};function On(t,e){const r=sn(t,e?.in),n=vn(r,function(t,e){const r=sn(t,e?.in);return r.setFullYear(r.getFullYear(),0,1),r.setHours(0,0,0,0),r}(r));return n+1}function Tn(t,e){const r=sn(t,e?.in),n=+dn(r)-+function(t,e){const r=fn(t,e),n=an(t,0);return n.setFullYear(r,0,4),n.setHours(0,0,0,0),dn(n)}(r);return Math.round(n/nn)+1}function Rn(t,e){const r=sn(t,e?.in),n=r.getFullYear(),i=hn(),o=e?.firstWeekContainsDate??e?.locale?.options?.firstWeekContainsDate??i.firstWeekContainsDate??i.locale?.options?.firstWeekContainsDate??1,a=an(e?.in||t,0);a.setFullYear(n+1,0,o),a.setHours(0,0,0,0);const s=ln(a,e),u=an(e?.in||t,0);u.setFullYear(n,0,o),u.setHours(0,0,0,0);const c=ln(u,e);return+r>=+s?n+1:+r>=+c?n:n-1}function Pn(t,e){const r=sn(t,e?.in),n=+ln(r,e)-+function(t,e){const r=hn(),n=e?.firstWeekContainsDate??e?.locale?.options?.firstWeekContainsDate??r.firstWeekContainsDate??r.locale?.options?.firstWeekContainsDate??1,i=Rn(t,e),o=an(e?.in||t,0);return o.setFullYear(i,0,n),o.setHours(0,0,0,0),ln(o,e)}(r,e);return Math.round(n/nn)+1}function jn(t,e){return(t<0?"-":"")+Math.abs(t).toString().padStart(e,"0")}const Cn={y(t,e){const r=t.getFullYear(),n=r>0?r:1-r;return jn("yy"===e?n%100:n,e.length)},M(t,e){const r=t.getMonth();return"M"===e?String(r+1):jn(r+1,2)},d:(t,e)=>jn(t.getDate(),e.length),a(t,e){const r=t.getHours()/12>=1?"pm":"am";switch(e){case"a":case"aa":return r.toUpperCase();case"aaa":return r;case"aaaaa":return r[0];default:return"am"===r?"a.m.":"p.m."}},h:(t,e)=>jn(t.getHours()%12||12,e.length),H:(t,e)=>jn(t.getHours(),e.length),m:(t,e)=>jn(t.getMinutes(),e.length),s:(t,e)=>jn(t.getSeconds(),e.length),S(t,e){const r=e.length,n=t.getMilliseconds();return jn(Math.trunc(n*Math.pow(10,r-3)),e.length)}},Dn="midnight",Ln="noon",Fn="morning",Nn="afternoon",qn="evening",_n="night",Mn={G:function(t,e,r){const n=t.getFullYear()>0?1:0;switch(e){case"G":case"GG":case"GGG":return r.era(n,{width:"abbreviated"});case"GGGGG":return r.era(n,{width:"narrow"});default:return r.era(n,{width:"wide"})}},y:function(t,e,r){if("yo"===e){const e=t.getFullYear(),n=e>0?e:1-e;return r.ordinalNumber(n,{unit:"year"})}return Cn.y(t,e)},Y:function(t,e,r,n){const i=Rn(t,n),o=i>0?i:1-i;if("YY"===e){return jn(o%100,2)}return"Yo"===e?r.ordinalNumber(o,{unit:"year"}):jn(o,e.length)},R:function(t,e){return jn(fn(t),e.length)},u:function(t,e){return jn(t.getFullYear(),e.length)},Q:function(t,e,r){const n=Math.ceil((t.getMonth()+1)/3);switch(e){case"Q":return String(n);case"QQ":return jn(n,2);case"Qo":return r.ordinalNumber(n,{unit:"quarter"});case"QQQ":return r.quarter(n,{width:"abbreviated",context:"formatting"});case"QQQQQ":return r.quarter(n,{width:"narrow",context:"formatting"});default:return r.quarter(n,{width:"wide",context:"formatting"})}},q:function(t,e,r){const n=Math.ceil((t.getMonth()+1)/3);switch(e){case"q":return String(n);case"qq":return jn(n,2);case"qo":return r.ordinalNumber(n,{unit:"quarter"});case"qqq":return r.quarter(n,{width:"abbreviated",context:"standalone"});case"qqqqq":return r.quarter(n,{width:"narrow",context:"standalone"});default:return r.quarter(n,{width:"wide",context:"standalone"})}},M:function(t,e,r){const n=t.getMonth();switch(e){case"M":case"MM":return Cn.M(t,e);case"Mo":return r.ordinalNumber(n+1,{unit:"month"});case"MMM":return r.month(n,{width:"abbreviated",context:"formatting"});case"MMMMM":return r.month(n,{width:"narrow",context:"formatting"});default:return r.month(n,{width:"wide",context:"formatting"})}},L:function(t,e,r){const n=t.getMonth();switch(e){case"L":return String(n+1);case"LL":return jn(n+1,2);case"Lo":return r.ordinalNumber(n+1,{unit:"month"});case"LLL":return r.month(n,{width:"abbreviated",context:"standalone"});case"LLLLL":return r.month(n,{width:"narrow",context:"standalone"});default:return r.month(n,{width:"wide",context:"standalone"})}},w:function(t,e,r,n){const i=Pn(t,n);return"wo"===e?r.ordinalNumber(i,{unit:"week"}):jn(i,e.length)},I:function(t,e,r){const n=Tn(t);return"Io"===e?r.ordinalNumber(n,{unit:"week"}):jn(n,e.length)},d:function(t,e,r){return"do"===e?r.ordinalNumber(t.getDate(),{unit:"date"}):Cn.d(t,e)},D:function(t,e,r){const n=On(t);return"Do"===e?r.ordinalNumber(n,{unit:"dayOfYear"}):jn(n,e.length)},E:function(t,e,r){const n=t.getDay();switch(e){case"E":case"EE":case"EEE":return r.day(n,{width:"abbreviated",context:"formatting"});case"EEEEE":return r.day(n,{width:"narrow",context:"formatting"});case"EEEEEE":return r.day(n,{width:"short",context:"formatting"});default:return r.day(n,{width:"wide",context:"formatting"})}},e:function(t,e,r,n){const i=t.getDay(),o=(i-n.weekStartsOn+8)%7||7;switch(e){case"e":return String(o);case"ee":return jn(o,2);case"eo":return r.ordinalNumber(o,{unit:"day"});case"eee":return r.day(i,{width:"abbreviated",context:"formatting"});case"eeeee":return r.day(i,{width:"narrow",context:"formatting"});case"eeeeee":return r.day(i,{width:"short",context:"formatting"});default:return r.day(i,{width:"wide",context:"formatting"})}},c:function(t,e,r,n){const i=t.getDay(),o=(i-n.weekStartsOn+8)%7||7;switch(e){case"c":return String(o);case"cc":return jn(o,e.length);case"co":return r.ordinalNumber(o,{unit:"day"});case"ccc":return r.day(i,{width:"abbreviated",context:"standalone"});case"ccccc":return r.day(i,{width:"narrow",context:"standalone"});case"cccccc":return r.day(i,{width:"short",context:"standalone"});default:return r.day(i,{width:"wide",context:"standalone"})}},i:function(t,e,r){const n=t.getDay(),i=0===n?7:n;switch(e){case"i":return String(i);case"ii":return jn(i,e.length);case"io":return r.ordinalNumber(i,{unit:"day"});case"iii":return r.day(n,{width:"abbreviated",context:"formatting"});case"iiiii":return r.day(n,{width:"narrow",context:"formatting"});case"iiiiii":return r.day(n,{width:"short",context:"formatting"});default:return r.day(n,{width:"wide",context:"formatting"})}},a:function(t,e,r){const n=t.getHours()/12>=1?"pm":"am";switch(e){case"a":case"aa":return r.dayPeriod(n,{width:"abbreviated",context:"formatting"});case"aaa":return r.dayPeriod(n,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return r.dayPeriod(n,{width:"narrow",context:"formatting"});default:return r.dayPeriod(n,{width:"wide",context:"formatting"})}},b:function(t,e,r){const n=t.getHours();let i;switch(i=12===n?Ln:0===n?Dn:n/12>=1?"pm":"am",e){case"b":case"bb":return r.dayPeriod(i,{width:"abbreviated",context:"formatting"});case"bbb":return r.dayPeriod(i,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return r.dayPeriod(i,{width:"narrow",context:"formatting"});default:return r.dayPeriod(i,{width:"wide",context:"formatting"})}},B:function(t,e,r){const n=t.getHours();let i;switch(i=n>=17?qn:n>=12?Nn:n>=4?Fn:_n,e){case"B":case"BB":case"BBB":return r.dayPeriod(i,{width:"abbreviated",context:"formatting"});case"BBBBB":return r.dayPeriod(i,{width:"narrow",context:"formatting"});default:return r.dayPeriod(i,{width:"wide",context:"formatting"})}},h:function(t,e,r){if("ho"===e){let e=t.getHours()%12;return 0===e&&(e=12),r.ordinalNumber(e,{unit:"hour"})}return Cn.h(t,e)},H:function(t,e,r){return"Ho"===e?r.ordinalNumber(t.getHours(),{unit:"hour"}):Cn.H(t,e)},K:function(t,e,r){const n=t.getHours()%12;return"Ko"===e?r.ordinalNumber(n,{unit:"hour"}):jn(n,e.length)},k:function(t,e,r){let n=t.getHours();return 0===n&&(n=24),"ko"===e?r.ordinalNumber(n,{unit:"hour"}):jn(n,e.length)},m:function(t,e,r){return"mo"===e?r.ordinalNumber(t.getMinutes(),{unit:"minute"}):Cn.m(t,e)},s:function(t,e,r){return"so"===e?r.ordinalNumber(t.getSeconds(),{unit:"second"}):Cn.s(t,e)},S:function(t,e){return Cn.S(t,e)},X:function(t,e,r){const n=t.getTimezoneOffset();if(0===n)return"Z";switch(e){case"X":return zn(n);case"XXXX":case"XX":return Hn(n);default:return Hn(n,":")}},x:function(t,e,r){const n=t.getTimezoneOffset();switch(e){case"x":return zn(n);case"xxxx":case"xx":return Hn(n);default:return Hn(n,":")}},O:function(t,e,r){const n=t.getTimezoneOffset();switch(e){case"O":case"OO":case"OOO":return"GMT"+$n(n,":");default:return"GMT"+Hn(n,":")}},z:function(t,e,r){const n=t.getTimezoneOffset();switch(e){case"z":case"zz":case"zzz":return"GMT"+$n(n,":");default:return"GMT"+Hn(n,":")}},t:function(t,e,r){return jn(Math.trunc(+t/1e3),e.length)},T:function(t,e,r){return jn(+t,e.length)}};function $n(t,e=""){const r=t>0?"-":"+",n=Math.abs(t),i=Math.trunc(n/60),o=n%60;return 0===o?r+String(i):r+String(i)+e+jn(o,2)}function zn(t,e){if(t%60==0){return(t>0?"-":"+")+jn(Math.abs(t)/60,2)}return Hn(t,e)}function Hn(t,e=""){const r=t>0?"-":"+",n=Math.abs(t);return r+jn(Math.trunc(n/60),2)+e+jn(n%60,2)}const In=(t,e)=>{switch(t){case"P":return e.date({width:"short"});case"PP":return e.date({width:"medium"});case"PPP":return e.date({width:"long"});default:return e.date({width:"full"})}},Bn=(t,e)=>{switch(t){case"p":return e.time({width:"short"});case"pp":return e.time({width:"medium"});case"ppp":return e.time({width:"long"});default:return e.time({width:"full"})}},Un={p:Bn,P:(t,e)=>{const r=t.match(/(P+)(p+)?/)||[],n=r[1],i=r[2];if(!i)return In(t,e);let o;switch(n){case"P":o=e.dateTime({width:"short"});break;case"PP":o=e.dateTime({width:"medium"});break;case"PPP":o=e.dateTime({width:"long"});break;default:o=e.dateTime({width:"full"})}return o.replace("{{date}}",In(n,e)).replace("{{time}}",Bn(i,e))}},Wn=/^D+$/,Yn=/^Y+$/,Qn=["D","DD","YY","YYYY"];function Gn(t){return Wn.test(t)}function Jn(t){return Yn.test(t)}function Xn(t,e,r){const n=function(t,e,r){const n="Y"===t[0]?"years":"days of the month";return`Use \`${t.toLowerCase()}\` instead of \`${t}\` (in \`${e}\`) for formatting ${n} to the input \`${r}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`}(t,e,r);if(console.warn(n),Qn.includes(t))throw new RangeError(n)}const Kn=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,Vn=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,Zn=/^'([^]*?)'?$/,ti=/''/g,ei=/[a-zA-Z]/;function ri(t,e,r){const n=hn(),i=n.locale??Sn,o=n.firstWeekContainsDate??n.locale?.options?.firstWeekContainsDate??1,a=n.weekStartsOn??n.locale?.options?.weekStartsOn??0,s=sn(t,r?.in);if(!yn(s))throw new RangeError("Invalid time value");let u=e.match(Vn).map((t=>{const e=t[0];if("p"===e||"P"===e){return(0,Un[e])(t,i.formatLong)}return t})).join("").match(Kn).map((t=>{if("''"===t)return{isToken:!1,value:"'"};const e=t[0];if("'"===e)return{isToken:!1,value:ni(t)};if(Mn[e])return{isToken:!0,value:t};if(e.match(ei))throw new RangeError("Format string contains an unescaped latin alphabet character `"+e+"`");return{isToken:!1,value:t}}));i.localize.preprocessor&&(u=i.localize.preprocessor(s,u));const c={firstWeekContainsDate:o,weekStartsOn:a,locale:i};return u.map((r=>{if(!r.isToken)return r.value;const n=r.value;(Jn(n)||Gn(n))&&Xn(n,e,String(t));return(0,Mn[n[0]])(s,n,i.localize,c)})).join("")}function ni(t){const e=t.match(Zn);return e?e[1].replace(ti,"'"):t}class ii{subPriority=0;validate(t,e){return!0}}class oi extends ii{constructor(t,e,r,n,i){super(),this.value=t,this.validateValue=e,this.setValue=r,this.priority=n,i&&(this.subPriority=i)}validate(t,e){return this.validateValue(t,this.value,e)}set(t,e,r){return this.setValue(t,e,this.value,r)}}class ai extends ii{priority=10;subPriority=-1;constructor(t,e){super(),this.context=t||(t=>an(e,t))}set(t,e){return e.timestampIsSet?t:an(t,function(t,e){const r=function(t){return"function"==typeof t&&t.prototype?.constructor===t}(e)?new e(0):an(e,0);return r.setFullYear(t.getFullYear(),t.getMonth(),t.getDate()),r.setHours(t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()),r}(t,this.context))}}class si{run(t,e,r,n){const i=this.parse(t,e,r,n);return i?{setter:new oi(i.value,this.validate,this.set,this.priority,this.subPriority),rest:i.rest}:null}validate(t,e,r){return!0}}const ui=/^(1[0-2]|0?\d)/,ci=/^(3[0-1]|[0-2]?\d)/,hi=/^(36[0-6]|3[0-5]\d|[0-2]?\d?\d)/,li=/^(5[0-3]|[0-4]?\d)/,di=/^(2[0-3]|[0-1]?\d)/,fi=/^(2[0-4]|[0-1]?\d)/,pi=/^(1[0-1]|0?\d)/,gi=/^(1[0-2]|0?\d)/,vi=/^[0-5]?\d/,yi=/^[0-5]?\d/,mi=/^\d/,wi=/^\d{1,2}/,bi=/^\d{1,3}/,ki=/^\d{1,4}/,xi=/^-?\d+/,Ai=/^-?\d/,Ei=/^-?\d{1,2}/,Si=/^-?\d{1,3}/,Oi=/^-?\d{1,4}/,Ti=/^([+-])(\d{2})(\d{2})?|Z/,Ri=/^([+-])(\d{2})(\d{2})|Z/,Pi=/^([+-])(\d{2})(\d{2})((\d{2}))?|Z/,ji=/^([+-])(\d{2}):(\d{2})|Z/,Ci=/^([+-])(\d{2}):(\d{2})(:(\d{2}))?|Z/;function Di(t,e){return t?{value:e(t.value),rest:t.rest}:t}function Li(t,e){const r=e.match(t);return r?{value:parseInt(r[0],10),rest:e.slice(r[0].length)}:null}function Fi(t,e){const r=e.match(t);if(!r)return null;if("Z"===r[0])return{value:0,rest:e.slice(1)};return{value:("+"===r[1]?1:-1)*(36e5*(r[2]?parseInt(r[2],10):0)+6e4*(r[3]?parseInt(r[3],10):0)+1e3*(r[5]?parseInt(r[5],10):0)),rest:e.slice(r[0].length)}}function Ni(t){return Li(xi,t)}function qi(t,e){switch(t){case 1:return Li(mi,e);case 2:return Li(wi,e);case 3:return Li(bi,e);case 4:return Li(ki,e);default:return Li(new RegExp("^\\d{1,"+t+"}"),e)}}function _i(t,e){switch(t){case 1:return Li(Ai,e);case 2:return Li(Ei,e);case 3:return Li(Si,e);case 4:return Li(Oi,e);default:return Li(new RegExp("^-?\\d{1,"+t+"}"),e)}}function Mi(t){switch(t){case"morning":return 4;case"evening":return 17;case"pm":case"noon":case"afternoon":return 12;default:return 0}}function $i(t,e){const r=e>0,n=r?e:1-e;let i;if(n<=50)i=t||100;else{const e=n+50;i=t+100*Math.trunc(e/100)-(t>=e%100?100:0)}return r?i:1-i}function zi(t){return t%400==0||t%4==0&&t%100!=0}const Hi=[31,28,31,30,31,30,31,31,30,31,30,31],Ii=[31,29,31,30,31,30,31,31,30,31,30,31];function Bi(t,e,r){const n=hn(),i=r?.weekStartsOn??r?.locale?.options?.weekStartsOn??n.weekStartsOn??n.locale?.options?.weekStartsOn??0,o=sn(t,r?.in),a=o.getDay(),s=7-i;return un(o,e<0||e>6?e-(a+s)%7:((e%7+7)%7+s)%7-(a+s)%7,r)}function Ui(t,e,r){const n=sn(t,r?.in),i=function(t,e){const r=sn(t,e?.in).getDay();return 0===r?7:r}(n,r);return un(n,e-i,r)}const Wi={G:new class extends si{priority=140;parse(t,e,r){switch(e){case"G":case"GG":case"GGG":return r.era(t,{width:"abbreviated"})||r.era(t,{width:"narrow"});case"GGGGG":return r.era(t,{width:"narrow"});default:return r.era(t,{width:"wide"})||r.era(t,{width:"abbreviated"})||r.era(t,{width:"narrow"})}}set(t,e,r){return e.era=r,t.setFullYear(r,0,1),t.setHours(0,0,0,0),t}incompatibleTokens=["R","u","t","T"]},y:new class extends si{priority=130;incompatibleTokens=["Y","R","u","w","I","i","e","c","t","T"];parse(t,e,r){const n=t=>({year:t,isTwoDigitYear:"yy"===e});switch(e){case"y":return Di(qi(4,t),n);case"yo":return Di(r.ordinalNumber(t,{unit:"year"}),n);default:return Di(qi(e.length,t),n)}}validate(t,e){return e.isTwoDigitYear||e.year>0}set(t,e,r){const n=t.getFullYear();if(r.isTwoDigitYear){const e=$i(r.year,n);return t.setFullYear(e,0,1),t.setHours(0,0,0,0),t}const i="era"in e&&1!==e.era?1-r.year:r.year;return t.setFullYear(i,0,1),t.setHours(0,0,0,0),t}},Y:new class extends si{priority=130;parse(t,e,r){const n=t=>({year:t,isTwoDigitYear:"YY"===e});switch(e){case"Y":return Di(qi(4,t),n);case"Yo":return Di(r.ordinalNumber(t,{unit:"year"}),n);default:return Di(qi(e.length,t),n)}}validate(t,e){return e.isTwoDigitYear||e.year>0}set(t,e,r,n){const i=Rn(t,n);if(r.isTwoDigitYear){const e=$i(r.year,i);return t.setFullYear(e,0,n.firstWeekContainsDate),t.setHours(0,0,0,0),ln(t,n)}const o="era"in e&&1!==e.era?1-r.year:r.year;return t.setFullYear(o,0,n.firstWeekContainsDate),t.setHours(0,0,0,0),ln(t,n)}incompatibleTokens=["y","R","u","Q","q","M","L","I","d","D","i","t","T"]},R:new class extends si{priority=130;parse(t,e){return _i("R"===e?4:e.length,t)}set(t,e,r){const n=an(t,0);return n.setFullYear(r,0,4),n.setHours(0,0,0,0),dn(n)}incompatibleTokens=["G","y","Y","u","Q","q","M","L","w","d","D","e","c","t","T"]},u:new class extends si{priority=130;parse(t,e){return _i("u"===e?4:e.length,t)}set(t,e,r){return t.setFullYear(r,0,1),t.setHours(0,0,0,0),t}incompatibleTokens=["G","y","Y","R","w","I","i","e","c","t","T"]},Q:new class extends si{priority=120;parse(t,e,r){switch(e){case"Q":case"QQ":return qi(e.length,t);case"Qo":return r.ordinalNumber(t,{unit:"quarter"});case"QQQ":return r.quarter(t,{width:"abbreviated",context:"formatting"})||r.quarter(t,{width:"narrow",context:"formatting"});case"QQQQQ":return r.quarter(t,{width:"narrow",context:"formatting"});default:return r.quarter(t,{width:"wide",context:"formatting"})||r.quarter(t,{width:"abbreviated",context:"formatting"})||r.quarter(t,{width:"narrow",context:"formatting"})}}validate(t,e){return e>=1&&e<=4}set(t,e,r){return t.setMonth(3*(r-1),1),t.setHours(0,0,0,0),t}incompatibleTokens=["Y","R","q","M","L","w","I","d","D","i","e","c","t","T"]},q:new class extends si{priority=120;parse(t,e,r){switch(e){case"q":case"qq":return qi(e.length,t);case"qo":return r.ordinalNumber(t,{unit:"quarter"});case"qqq":return r.quarter(t,{width:"abbreviated",context:"standalone"})||r.quarter(t,{width:"narrow",context:"standalone"});case"qqqqq":return r.quarter(t,{width:"narrow",context:"standalone"});default:return r.quarter(t,{width:"wide",context:"standalone"})||r.quarter(t,{width:"abbreviated",context:"standalone"})||r.quarter(t,{width:"narrow",context:"standalone"})}}validate(t,e){return e>=1&&e<=4}set(t,e,r){return t.setMonth(3*(r-1),1),t.setHours(0,0,0,0),t}incompatibleTokens=["Y","R","Q","M","L","w","I","d","D","i","e","c","t","T"]},M:new class extends si{incompatibleTokens=["Y","R","q","Q","L","w","I","D","i","e","c","t","T"];priority=110;parse(t,e,r){const n=t=>t-1;switch(e){case"M":return Di(Li(ui,t),n);case"MM":return Di(qi(2,t),n);case"Mo":return Di(r.ordinalNumber(t,{unit:"month"}),n);case"MMM":return r.month(t,{width:"abbreviated",context:"formatting"})||r.month(t,{width:"narrow",context:"formatting"});case"MMMMM":return r.month(t,{width:"narrow",context:"formatting"});default:return r.month(t,{width:"wide",context:"formatting"})||r.month(t,{width:"abbreviated",context:"formatting"})||r.month(t,{width:"narrow",context:"formatting"})}}validate(t,e){return e>=0&&e<=11}set(t,e,r){return t.setMonth(r,1),t.setHours(0,0,0,0),t}},L:new class extends si{priority=110;parse(t,e,r){const n=t=>t-1;switch(e){case"L":return Di(Li(ui,t),n);case"LL":return Di(qi(2,t),n);case"Lo":return Di(r.ordinalNumber(t,{unit:"month"}),n);case"LLL":return r.month(t,{width:"abbreviated",context:"standalone"})||r.month(t,{width:"narrow",context:"standalone"});case"LLLLL":return r.month(t,{width:"narrow",context:"standalone"});default:return r.month(t,{width:"wide",context:"standalone"})||r.month(t,{width:"abbreviated",context:"standalone"})||r.month(t,{width:"narrow",context:"standalone"})}}validate(t,e){return e>=0&&e<=11}set(t,e,r){return t.setMonth(r,1),t.setHours(0,0,0,0),t}incompatibleTokens=["Y","R","q","Q","M","w","I","D","i","e","c","t","T"]},w:new class extends si{priority=100;parse(t,e,r){switch(e){case"w":return Li(li,t);case"wo":return r.ordinalNumber(t,{unit:"week"});default:return qi(e.length,t)}}validate(t,e){return e>=1&&e<=53}set(t,e,r,n){return ln(function(t,e,r){const n=sn(t,r?.in),i=Pn(n,r)-e;return n.setDate(n.getDate()-7*i),sn(n,r?.in)}(t,r,n),n)}incompatibleTokens=["y","R","u","q","Q","M","L","I","d","D","i","t","T"]},I:new class extends si{priority=100;parse(t,e,r){switch(e){case"I":return Li(li,t);case"Io":return r.ordinalNumber(t,{unit:"week"});default:return qi(e.length,t)}}validate(t,e){return e>=1&&e<=53}set(t,e,r){return dn(function(t,e,r){const n=sn(t,r?.in),i=Tn(n,r)-e;return n.setDate(n.getDate()-7*i),n}(t,r))}incompatibleTokens=["y","Y","u","q","Q","M","L","w","d","D","e","c","t","T"]},d:new class extends si{priority=90;subPriority=1;parse(t,e,r){switch(e){case"d":return Li(ci,t);case"do":return r.ordinalNumber(t,{unit:"date"});default:return qi(e.length,t)}}validate(t,e){const r=zi(t.getFullYear()),n=t.getMonth();return r?e>=1&&e<=Ii[n]:e>=1&&e<=Hi[n]}set(t,e,r){return t.setDate(r),t.setHours(0,0,0,0),t}incompatibleTokens=["Y","R","q","Q","w","I","D","i","e","c","t","T"]},D:new class extends si{priority=90;subpriority=1;parse(t,e,r){switch(e){case"D":case"DD":return Li(hi,t);case"Do":return r.ordinalNumber(t,{unit:"date"});default:return qi(e.length,t)}}validate(t,e){return zi(t.getFullYear())?e>=1&&e<=366:e>=1&&e<=365}set(t,e,r){return t.setMonth(0,r),t.setHours(0,0,0,0),t}incompatibleTokens=["Y","R","q","Q","M","L","w","I","d","E","i","e","c","t","T"]},E:new class extends si{priority=90;parse(t,e,r){switch(e){case"E":case"EE":case"EEE":return r.day(t,{width:"abbreviated",context:"formatting"})||r.day(t,{width:"short",context:"formatting"})||r.day(t,{width:"narrow",context:"formatting"});case"EEEEE":return r.day(t,{width:"narrow",context:"formatting"});case"EEEEEE":return r.day(t,{width:"short",context:"formatting"})||r.day(t,{width:"narrow",context:"formatting"});default:return r.day(t,{width:"wide",context:"formatting"})||r.day(t,{width:"abbreviated",context:"formatting"})||r.day(t,{width:"short",context:"formatting"})||r.day(t,{width:"narrow",context:"formatting"})}}validate(t,e){return e>=0&&e<=6}set(t,e,r,n){return(t=Bi(t,r,n)).setHours(0,0,0,0),t}incompatibleTokens=["D","i","e","c","t","T"]},e:new class extends si{priority=90;parse(t,e,r,n){const i=t=>{const e=7*Math.floor((t-1)/7);return(t+n.weekStartsOn+6)%7+e};switch(e){case"e":case"ee":return Di(qi(e.length,t),i);case"eo":return Di(r.ordinalNumber(t,{unit:"day"}),i);case"eee":return r.day(t,{width:"abbreviated",context:"formatting"})||r.day(t,{width:"short",context:"formatting"})||r.day(t,{width:"narrow",context:"formatting"});case"eeeee":return r.day(t,{width:"narrow",context:"formatting"});case"eeeeee":return r.day(t,{width:"short",context:"formatting"})||r.day(t,{width:"narrow",context:"formatting"});default:return r.day(t,{width:"wide",context:"formatting"})||r.day(t,{width:"abbreviated",context:"formatting"})||r.day(t,{width:"short",context:"formatting"})||r.day(t,{width:"narrow",context:"formatting"})}}validate(t,e){return e>=0&&e<=6}set(t,e,r,n){return(t=Bi(t,r,n)).setHours(0,0,0,0),t}incompatibleTokens=["y","R","u","q","Q","M","L","I","d","D","E","i","c","t","T"]},c:new class extends si{priority=90;parse(t,e,r,n){const i=t=>{const e=7*Math.floor((t-1)/7);return(t+n.weekStartsOn+6)%7+e};switch(e){case"c":case"cc":return Di(qi(e.length,t),i);case"co":return Di(r.ordinalNumber(t,{unit:"day"}),i);case"ccc":return r.day(t,{width:"abbreviated",context:"standalone"})||r.day(t,{width:"short",context:"standalone"})||r.day(t,{width:"narrow",context:"standalone"});case"ccccc":return r.day(t,{width:"narrow",context:"standalone"});case"cccccc":return r.day(t,{width:"short",context:"standalone"})||r.day(t,{width:"narrow",context:"standalone"});default:return r.day(t,{width:"wide",context:"standalone"})||r.day(t,{width:"abbreviated",context:"standalone"})||r.day(t,{width:"short",context:"standalone"})||r.day(t,{width:"narrow",context:"standalone"})}}validate(t,e){return e>=0&&e<=6}set(t,e,r,n){return(t=Bi(t,r,n)).setHours(0,0,0,0),t}incompatibleTokens=["y","R","u","q","Q","M","L","I","d","D","E","i","e","t","T"]},i:new class extends si{priority=90;parse(t,e,r){const n=t=>0===t?7:t;switch(e){case"i":case"ii":return qi(e.length,t);case"io":return r.ordinalNumber(t,{unit:"day"});case"iii":return Di(r.day(t,{width:"abbreviated",context:"formatting"})||r.day(t,{width:"short",context:"formatting"})||r.day(t,{width:"narrow",context:"formatting"}),n);case"iiiii":return Di(r.day(t,{width:"narrow",context:"formatting"}),n);case"iiiiii":return Di(r.day(t,{width:"short",context:"formatting"})||r.day(t,{width:"narrow",context:"formatting"}),n);default:return Di(r.day(t,{width:"wide",context:"formatting"})||r.day(t,{width:"abbreviated",context:"formatting"})||r.day(t,{width:"short",context:"formatting"})||r.day(t,{width:"narrow",context:"formatting"}),n)}}validate(t,e){return e>=1&&e<=7}set(t,e,r){return(t=Ui(t,r)).setHours(0,0,0,0),t}incompatibleTokens=["y","Y","u","q","Q","M","L","w","d","D","E","e","c","t","T"]},a:new class extends si{priority=80;parse(t,e,r){switch(e){case"a":case"aa":case"aaa":return r.dayPeriod(t,{width:"abbreviated",context:"formatting"})||r.dayPeriod(t,{width:"narrow",context:"formatting"});case"aaaaa":return r.dayPeriod(t,{width:"narrow",context:"formatting"});default:return r.dayPeriod(t,{width:"wide",context:"formatting"})||r.dayPeriod(t,{width:"abbreviated",context:"formatting"})||r.dayPeriod(t,{width:"narrow",context:"formatting"})}}set(t,e,r){return t.setHours(Mi(r),0,0,0),t}incompatibleTokens=["b","B","H","k","t","T"]},b:new class extends si{priority=80;parse(t,e,r){switch(e){case"b":case"bb":case"bbb":return r.dayPeriod(t,{width:"abbreviated",context:"formatting"})||r.dayPeriod(t,{width:"narrow",context:"formatting"});case"bbbbb":return r.dayPeriod(t,{width:"narrow",context:"formatting"});default:return r.dayPeriod(t,{width:"wide",context:"formatting"})||r.dayPeriod(t,{width:"abbreviated",context:"formatting"})||r.dayPeriod(t,{width:"narrow",context:"formatting"})}}set(t,e,r){return t.setHours(Mi(r),0,0,0),t}incompatibleTokens=["a","B","H","k","t","T"]},B:new class extends si{priority=80;parse(t,e,r){switch(e){case"B":case"BB":case"BBB":return r.dayPeriod(t,{width:"abbreviated",context:"formatting"})||r.dayPeriod(t,{width:"narrow",context:"formatting"});case"BBBBB":return r.dayPeriod(t,{width:"narrow",context:"formatting"});default:return r.dayPeriod(t,{width:"wide",context:"formatting"})||r.dayPeriod(t,{width:"abbreviated",context:"formatting"})||r.dayPeriod(t,{width:"narrow",context:"formatting"})}}set(t,e,r){return t.setHours(Mi(r),0,0,0),t}incompatibleTokens=["a","b","t","T"]},h:new class extends si{priority=70;parse(t,e,r){switch(e){case"h":return Li(gi,t);case"ho":return r.ordinalNumber(t,{unit:"hour"});default:return qi(e.length,t)}}validate(t,e){return e>=1&&e<=12}set(t,e,r){const n=t.getHours()>=12;return n&&r<12?t.setHours(r+12,0,0,0):n||12!==r?t.setHours(r,0,0,0):t.setHours(0,0,0,0),t}incompatibleTokens=["H","K","k","t","T"]},H:new class extends si{priority=70;parse(t,e,r){switch(e){case"H":return Li(di,t);case"Ho":return r.ordinalNumber(t,{unit:"hour"});default:return qi(e.length,t)}}validate(t,e){return e>=0&&e<=23}set(t,e,r){return t.setHours(r,0,0,0),t}incompatibleTokens=["a","b","h","K","k","t","T"]},K:new class extends si{priority=70;parse(t,e,r){switch(e){case"K":return Li(pi,t);case"Ko":return r.ordinalNumber(t,{unit:"hour"});default:return qi(e.length,t)}}validate(t,e){return e>=0&&e<=11}set(t,e,r){return t.getHours()>=12&&r<12?t.setHours(r+12,0,0,0):t.setHours(r,0,0,0),t}incompatibleTokens=["h","H","k","t","T"]},k:new class extends si{priority=70;parse(t,e,r){switch(e){case"k":return Li(fi,t);case"ko":return r.ordinalNumber(t,{unit:"hour"});default:return qi(e.length,t)}}validate(t,e){return e>=1&&e<=24}set(t,e,r){const n=r<=24?r%24:r;return t.setHours(n,0,0,0),t}incompatibleTokens=["a","b","h","H","K","t","T"]},m:new class extends si{priority=60;parse(t,e,r){switch(e){case"m":return Li(vi,t);case"mo":return r.ordinalNumber(t,{unit:"minute"});default:return qi(e.length,t)}}validate(t,e){return e>=0&&e<=59}set(t,e,r){return t.setMinutes(r,0,0),t}incompatibleTokens=["t","T"]},s:new class extends si{priority=50;parse(t,e,r){switch(e){case"s":return Li(yi,t);case"so":return r.ordinalNumber(t,{unit:"second"});default:return qi(e.length,t)}}validate(t,e){return e>=0&&e<=59}set(t,e,r){return t.setSeconds(r,0),t}incompatibleTokens=["t","T"]},S:new class extends si{priority=30;parse(t,e){return Di(qi(e.length,t),(t=>Math.trunc(t*Math.pow(10,3-e.length))))}set(t,e,r){return t.setMilliseconds(r),t}incompatibleTokens=["t","T"]},X:new class extends si{priority=10;parse(t,e){switch(e){case"X":return Fi(Ti,t);case"XX":return Fi(Ri,t);case"XXXX":return Fi(Pi,t);case"XXXXX":return Fi(Ci,t);default:return Fi(ji,t)}}set(t,e,r){return e.timestampIsSet?t:an(t,t.getTime()-pn(t)-r)}incompatibleTokens=["t","T","x"]},x:new class extends si{priority=10;parse(t,e){switch(e){case"x":return Fi(Ti,t);case"xx":return Fi(Ri,t);case"xxxx":return Fi(Pi,t);case"xxxxx":return Fi(Ci,t);default:return Fi(ji,t)}}set(t,e,r){return e.timestampIsSet?t:an(t,t.getTime()-pn(t)-r)}incompatibleTokens=["t","T","X"]},t:new class extends si{priority=40;parse(t){return Ni(t)}set(t,e,r){return[an(t,1e3*r),{timestampIsSet:!0}]}incompatibleTokens="*"},T:new class extends si{priority=20;parse(t){return Ni(t)}set(t,e,r){return[an(t,r),{timestampIsSet:!0}]}incompatibleTokens="*"}},Yi=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,Qi=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,Gi=/^'([^]*?)'?$/,Ji=/''/g,Xi=/\S/,Ki=/[a-zA-Z]/;function Vi(t,e,r,n){const i=()=>an(r,NaN),o=Object.assign({},hn()),a=o.locale??Sn,s=o.firstWeekContainsDate??o.locale?.options?.firstWeekContainsDate??1,u=o.weekStartsOn??o.locale?.options?.weekStartsOn??0;if(!e)return t?i():sn(r,n?.in);const c={firstWeekContainsDate:s,weekStartsOn:u,locale:a},h=[new ai(n?.in,r)],l=e.match(Qi).map((t=>{const e=t[0];if(e in Un){return(0,Un[e])(t,a.formatLong)}return t})).join("").match(Yi),d=[];for(let r of l){Jn(r)&&Xn(r,e,t),Gn(r)&&Xn(r,e,t);const n=r[0],o=Wi[n];if(o){const{incompatibleTokens:e}=o;if(Array.isArray(e)){const t=d.find((t=>e.includes(t.token)||t.token===n));if(t)throw new RangeError(`The format string mustn't contain \`${t.fullToken}\` and \`${r}\` at the same time`)}else if("*"===o.incompatibleTokens&&d.length>0)throw new RangeError(`The format string mustn't contain \`${r}\` and any other token at the same time`);d.push({token:n,fullToken:r});const s=o.run(t,r,a.match,c);if(!s)return i();h.push(s.setter),t=s.rest}else{if(n.match(Ki))throw new RangeError("Format string contains an unescaped latin alphabet character `"+n+"`");if("''"===r?r="'":"'"===n&&(r=r.match(Gi)[1].replace(Ji,"'")),0!==t.indexOf(r))return i();t=t.slice(r.length)}}if(t.length>0&&Xi.test(t))return i();const f=h.map((t=>t.priority)).sort(((t,e)=>e-t)).filter(((t,e,r)=>r.indexOf(t)===e)).map((t=>h.filter((e=>e.priority===t)).sort(((t,e)=>e.subPriority-t.subPriority)))).map((t=>t[0]));let p=sn(r,n?.in);if(isNaN(+p))return i();const g={};for(const t of f){if(!t.validate(p,c))return i();const e=t.set(p,g,c);Array.isArray(e)?(p=e[0],Object.assign(g,e[1])):p=e}return p}class Zi extends tn{constructor(t={},e,r={}){super(t,e,"store-hour",r)}get day(){return this.getAttribute("day")}get isClosed(){return null===this.getAttribute("start")&&null===this.getAttribute("end")}get is24Hours(){const t=this.startDateInstance,e=this.endDateInstance;if(null===t||null===e||!yn(t)||!yn(e))return!1;const r=Math.abs(t.getTime()-e.getTime());return Math.floor(r/1e3/60)/60>23}get startDateInstance(){if(!this.hasAttribute("start"))return null;const t=this.getAttribute("start");if("string"!=typeof t)return null;const e=3===t.split(":").length;return Vi(t,e?"HH:mm:ss":"HH:mm",new Date)}get endDateInstance(){if(!this.hasAttribute("end"))return null;const t=this.getAttribute("end");if("string"!=typeof t)return null;const e=3===t.split(":").length;return Vi(t,e?"HH:mm:ss":"HH:mm",new Date)}get humanReadableHoursRange(){const t=this.startDateInstance,e=this.endDateInstance;return null!==t&&null!==e&&yn(t)&&yn(e)?`${ri(t,"p")} - ${ri(e,"p")}`:`${this.getAttribute("start")} - ${this.getAttribute("end")}`}get humanReadableHours(){return this.isClosed?"Closed":this.is24Hours?"24 Hours":this.humanReadableHoursRange}create(){throw new Error("There is no create() method store location!")}update(){throw new Error("There is no update() method store location!")}destroy(){throw new Error("There is no destroy() method store location!")}reload(){throw new Error("There is no reload() method store location!")}}z("resource","StoreHour",Zi);class to extends tn{constructor(t={},e,r={}){super(t,e,"store-location",r)}get latitude(){return this.getAttribute("place.location.coordinates.1")}get longitude(){return this.getAttribute("place.location.coordinates.0")}get hours(){const t=this.getAttribute("hours",[]);return new et((t||[]).map((t=>new Zi(t,this.adapter))))}get storeData(){const t=this.getAttribute("store_data"),e=this.getAttribute("store");return t||(e&&"object"==typeof e?e:null)}get storeId(){const t=this.getAttribute("store"),e=this.storeData;return"string"==typeof t?t:e?.id||e?.public_id}get merchant(){return this.storeData?I("resource","Store",this.storeData,this.adapter):null}get isAlwaysOpen(){return this.hours.length>0&&this.hours.every((t=>t?.is24Hours))}get today(){const t=ri(new Date,"EEEE");return this.schedule[t]}get schedule(){const t={},e=["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"];for(let r=0;rnew et(t.map((t=>new rn(t,this.adapter))))))}getTags(t={}){return this.adapter.get("tags",t)}getLocations(t={}){return this.adapter.get("locations",{store:this.id,...t}).then((t=>new et(t.map((t=>(t.place&&(t.place=new mt(t.place,this.adapter)),new to(t,this.adapter)))))))}getLocation(t){return this.adapter.get(`locations/${t}`,{store:this.id}).then((t=>new to(t,this.adapter)))}getPaymentGateways(t={}){return this.adapter.get("gateways",t).then((t=>new et(t.map((t=>new eo(t,this.adapter))))))}getPaymentGateway(t){return this.adapter.get(`gateways/${t}`).then((t=>new eo(t,this.adapter)))}}z("resource","Store",ro);class no extends tn{constructor(t={},e,r={}){super(t,e,"product",r)}variants(){return this.getAttribute("variants")}addons(){return this.getAttribute("addon_categories")}images(){return this.getAttribute("images")??[]}videos(){return this.getAttribute("videos")??[]}hours(){return this.getAttribute("hours")??[]}get isOnSale(){return this.getAttribute("is_on_sale")}get isNotOnSale(){return!this.getAttribute("is_on_sale")}get formattedAmount(){const{price:t,sale_price:e,currency:r}=this.getAttributes(["price","sale_price","currency"]);return this.isOnSale?Zr(e)||Zr(r)?null:Vr(e/100,r):Zr(t)||Zr(r)?null:Vr(t/100,r)}get merchant(){const t=this.getAttribute("store");return t&&"object"==typeof t?new ro(t,this.adapter):null}getReviews(){return this.adapter.get("reviews",{store:this.id}).then((t=>new et(t.map((t=>new rn(t,this.adapter))))))}}z("resource","Product",no);class io extends tn{constructor(t={},e,r={}){super(t,e,"category",r)}getProducts(){return this.adapter.get("products",{category:this.id}).then((t=>new et(t.map((t=>new no(t,this.adapter))))))}}z("resource","Category",io);const oo=new ht({login:function(t,e=null,r={}){if(function(t=""){return/^[+]?[\s./0-9]*[(]?[0-9]{1,4}[)]?[-\s./0-9]*$/.test(t)}(t))return this.adapter.post("customers/login-with-sms",{phone:t});if(!e)throw new Error("Login requires password!");return this.adapter.post("customers/login",{identity:t,password:e,...r}).then(this.afterFetch.bind(this))},loginWithApple:function(t,e,r,n,i,o={}){return this.adapter.post("customers/login-with-apple",{appleUserId:t,identityToken:e,authorizationCode:r,email:n,name:i,...o}).then(this.afterFetch.bind(this))},loginWithFacebook:function(t,e,r,n,i={}){return this.adapter.post("customers/login-with-facebook",{facebookUserId:t,email:e,name:r,avatarUrl:n,...i}).then(this.afterFetch.bind(this))},loginWithGoogle:function(t,e,r={}){return this.adapter.post("customers/login-with-google",{idToken:t,clientId:e,...r}).then(this.afterFetch.bind(this))},verifyCode:function(t,e,r={}){return this.adapter.post("customers/verify-code",{identity:t,code:e,...r}).then(this.afterFetch.bind(this))},requestCreationCode(t,e="email"){return this.adapter.post("customers/request-creation-code",{identity:t,mode:e})},create(t,e,r={}){return this.adapter.post("customers",{identity:t,code:e,...r}).then(this.afterFetch.bind(this))},retrieve:function(t){return this.findRecord(t)}});class ao extends tn{constructor(t={},e,r={}){super(t,e,"customer",{actions:oo,...r})}setAdapter(t){return this.adapter=t,this.store=new Kr(this.resource,t,{onAfterFetch:this.syncAttributes.bind(this),actions:this.options?.actions}),this}get token(){const t=this.getAttribute("token");return"string"==typeof t?t:void 0}async syncDevice(t,e){return this.performAuthorizedRequest("customers/register-device",{token:t,platform:e},"POST")}performAuthorizedRequest(t,e={},r="GET",n={}){const i={...n,headers:{...n.headers,"Customer-Token":this.token}};return this.adapter[r.toLowerCase()](t,e,i)}async getSavedPlaces(){const t=await this.performAuthorizedRequest("customers/places");return new et(t.map((t=>new mt(t,this.adapter))))}async getOrderHistory(t={}){const e=await this.performAuthorizedRequest("customers/orders",t);return new et(e.map((t=>new gt(t,this.adapter))))}getStripeEphemeralKey(t={}){return this.performAuthorizedRequest("customers/stripe-ephemeral-key",t,"POST")}getStripeSetupIntent(t={}){return this.performAuthorizedRequest("customers/stripe-setup-intent",t,"POST")}startAccountClosure(t={},e={}){return this.performAuthorizedRequest("customers/account-closure",t,"POST",e)}confirmAccountClosure(t,e={},r={}){return this.performAuthorizedRequest("customers/confirm-account-closure",{code:t,...e},"POST",r)}requestPhoneVerification(t,e={},r={}){return this.performAuthorizedRequest("customers/request-phone-verification",{phone:t,...e},"POST",r)}verifyPhoneNumber(t,e,r={},n={}){return this.performAuthorizedRequest("customers/verify-phone-number",{code:t,phone:e,...r},"POST",n)}updateContactAlias(t={},e={}){return this.performAuthorizedRequest(`contacts/${this.id}`,t,"PUT",e).then((t=>(this.syncAttributes(t),this)))}}z("resource","Customer",ao);const{isArray:so}=Array,uo=new ht({create:void 0,findAll:void 0,query:void 0,queryRecord:void 0,add:function(t,e,r=1,n={},i={}){return this.adapter.post(`${this.namespace}/${t}/${e}`,{...n,quantity:r},i).then(this.afterFetch.bind(this))},update:function(t,e,r,n={},i={}){return this.adapter.put(`${this.namespace}/${t}/${e}`,{...n,quantity:r},i).then(this.afterFetch.bind(this))},remove:function(t,e,r={}){return this.adapter.delete(`${this.namespace}/${t}/${e}`,{},r).then(this.afterFetch.bind(this))},empty:function(t,e={}){return this.adapter.put(`${this.namespace}/${t}/empty`,{},e).then(this.afterFetch.bind(this))},retrieve:function(t=""){return this.findRecord(t)}});class co extends tn{constructor(t={},e,r={}){super(t,e,"cart",{actions:uo,...r})}add(t,e=1,r={},n={}){return t instanceof no&&(t=t.id),this.store.add(this.id,t,e,r,n)}update(t,e,r={},n={}){return this.store.update.call(this.store,this.id,t,e,r,n)}remove(t,e={}){return this.store.remove(this.id,t,e)}empty(t={}){return this.store.empty(this.id,t)}delete(){return this.destroy()}refresh(){return this.store.retrieve(this.id)}subtotal(){return this.contents().reduce(((t,e)=>t+Number(e?.subtotal||0)),0)}contents(){const t=this.getAttribute("items",[]);return so(t)?t:[]}hasProduct(t){return-1!==this.contents().findIndex((e=>e.product_id===t))}get isEmpty(){return 0===this.contents().length}get isNotEmpty(){return!this.isEmpty}}z("resource","Cart",co);class ho extends tn{constructor(t={},e,r={}){super(t,e,"network",r)}getTags(t={}){return this.adapter.get("tags",t)}async getResourceCollection(t,e,r={}){const n=await this.adapter.get(t,r);return new et(n.map((t=>new e(t,this.adapter))))}async getStores(t={}){return this.getResourceCollection("stores",ro,t)}async getStoreLocations(t={}){return this.getResourceCollection("store-locations",to,t)}async getCategories(t={}){return this.getResourceCollection("categories",io,t)}async search(t,e={}){return this.getResourceCollection("search",no,{query:t,with_store:!0,...e})}async lookupStore(t){const e=await this.adapter.get(`lookup/${t}`);return new ro(e,this.adapter)}async getReviews(t,e={}){return this.getResourceCollection("reviews",rn,{store:t,...e})}async getPaymentGateways(t={}){return this.getResourceCollection("gateways",eo,t)}}z("resource","Network",ho);class lo extends Dt{constructor(t={},e,r={}){let n=t,i=e;(t instanceof Ft||t&&"function"==typeof t.get&&"function"==typeof t.post)&&(n={},i=t),super(n,i,"service-quote",r)}setAdapter(t){return this.adapter=t,this.store=new Kr(this.resource,t,{onAfterFetch:this.syncAttributes.bind(this),actions:this.options?.actions}),this}get formattedAmount(){const{amount:t,currency:e}=this.getAttributes(["amount","currency"]);return Zr(t)||Zr(e)?null:Vr(t/100,e)}async fromCart(...t){return this.fetchServiceQuotesFromCart(...t)}async fetchServiceQuotesFromCart(t,e,r,n="storefront",i=!1){"object"==typeof t&&t?.id&&(t=t.id),"object"==typeof e&&e?.id&&(e=e.id),"object"==typeof r&&r?.id&&(r=r.id);const o=await this.adapter.get("service-quotes/from-cart",{origin:t,destination:e,cart:r,config:n,all:i});return a=o,Array.isArray(a)?new et(o.map((t=>new lo(t,this.adapter)))):new lo(o,this.adapter);var a}static async getFromCart(t,e,r,n,i="storefront",o=!1){return new lo(t).fetchServiceQuotesFromCart(e,r,n,i,o)}}z("resource","DeliveryServiceQuote",lo);class fo extends gt{constructor(t={},e,r={}){super(t,e,r)}}z("resource","Order",fo);const po=new ht({create:void 0,findAll:void 0,query:void 0,queryRecord:void 0,initialize:function(t,e,r,n,i={},o={}){return lt(t)&&(t=t.id),lt(e)&&(e=e.id),lt(r)&&(r=r.id),lt(n)&&(n=n.getAttribute("code")),this.adapter.get(`${this.namespace}/before`,{...i,customer:t,cart:e,serviceQuote:r,gateway:n},o)},captureOrder:function(t,e={},r={}){return this.adapter.post(`${this.namespace}/capture`,{token:t,...e},r).then((t=>new fo(t,this.adapter)))},createStripeSetupIntent:function(t,e={},r={}){return lt(t)&&(t=t.id),this.adapter.post(`${this.namespace}/stripe-setup-intent`,{customer:t,...e},r)},updateStripePaymentIntent:function(t,e,r,n,i={},o={}){return lt(e)&&(e=e.id),lt(r)&&(r=r.id),lt(n)&&(n=n.id),this.adapter.put(`${this.namespace}/stripe-update-payment-intent`,{paymentIntent:t,customer:e,cart:r,serviceQuote:n,...i},o)},getStatus:function(t,e,r={}){return lt(t)&&(t=t.id),this.adapter.get(`${this.namespace}/status`,{checkout:t,token:e},r)},captureQPay:function(t,e={},r={}){return lt(t)&&(t=t.id),this.adapter.post(`${this.namespace}/capture-qpay`,{checkout:t,...e},r)},captureQPayCallback:function(t,e={},r={}){return lt(t)&&(t=t.id),this.adapter.get(`${this.namespace}/capture-qpay`,{checkout:t,...e},r)}});class go extends tn{constructor(t={},e,r={}){super(t,e,"checkout",{actions:po,...r})}initialize(t,e,r,n,i={},o={}){return this.store.initialize(t,e,r,n,i,o)}captureOrder(t,e={},r={}){return this.store.captureOrder(t,e,r)}createStripeSetupIntent(t,e={},r={}){return this.store.createStripeSetupIntent(t,e,r)}updateStripePaymentIntent(t,e,r,n,i={},o={}){return this.store.updateStripePaymentIntent(t,e,r,n,i,o)}getStatus(t,e,r={}){return this.store.getStatus(t,e,r)}captureQPay(t,e={},r={}){return this.store.captureQPay(t,e,r)}captureQPayCallback(t,e={},r={}){return this.store.captureQPayCallback(t,e,r)}}z("resource","Checkout",go);class vo extends tn{constructor(t={},e,r={}){super(t,e,"food-truck",r)}}function yo(t){return lt(t)?t.id:t}z("resource","FoodTruck",vo);const mo=new ht({create:void 0,update:void 0,findAll:void 0,query:void 0,queryRecord:void 0,completePickup:function(t,e={},r={}){return this.adapter.put(`${this.namespace}/picked-up`,{order:yo(t),...e},r)},getReceipt:function(t,e={},r={}){return this.adapter.post(`${this.namespace}/receipt`,{order:yo(t),...e},r)}});class wo{version;options;adapter;products;categories;foodTrucks;reviews;customers;cart;checkout;orders;constructor(t,e={},r=!1){if(this.version=e.version||"v1",this.options={version:this.version,host:e.host||"https://api.fleetbase.io",namespace:e.namespace||`storefront/${this.version}`,publicKey:t,debug:r},!("string"==typeof(n=t)&&n.length>30&&(n.startsWith("store_")||n.startsWith("network_"))))throw new Error("⚠️ Invalid Storefront key given to Storefront SDK");var n;this.adapter=e.adapter||it(this.options),this.initializeStores()}initializeStores(){return this.products=new Kr("product",this.adapter),this.categories=new Kr("category",this.adapter),this.foodTrucks=new Kr("food-truck",this.adapter),this.reviews=new Kr("review",this.adapter).extendActions(en),this.customers=new Kr("customer",this.adapter).extendActions(oo),this.cart=new Kr("cart",this.adapter).extendActions(uo),this.checkout=new Kr("checkout",this.adapter).extendActions(po),this.orders=new Kr("order",this.adapter).extendActions(mo),this}about(t={}){return this.adapter.get("about").then((e=>t.resource?this.hydrateOwner(e):e))}getOwner(){return this.about({resource:!0})}lookup(t,e={}){return this.adapter.get(`lookup/${t}`).then((t=>e.resource?this.hydrateOwner(t):t))}lookupResource(t){return this.lookup(t,{resource:!0})}search(t,e={}){return this.adapter.get("search",{query:t,...e}).then((t=>new et(t.map((t=>new no(t,this.adapter))))))}hydrateOwner(t={}){return!0===t?.is_network?new ho(t,this.adapter):new ro(t,this.adapter)}static newInstance(...t){return new wo(...t)}setAdapter(t){return this.adapter=t,this.initializeStores()}getAdapter(){return this.adapter}}t.Cart=co,t.Category=io,t.Checkout=go,t.Customer=ao,t.DeliveryServiceQuote=lo,t.FoodTruck=vo,t.Network=ho,t.Order=fo,t.PaymentGateway=eo,t.Product=no,t.Review=rn,t.Store=ro,t.StoreHour=Zi,t.StoreLocation=to,t.default=wo,t.lookup=I,Object.defineProperty(t,"__esModule",{value:!0})})); +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).FleetbaseStorefront={})}(this,(function(t){"use strict";class e{version;host;namespace;headers;constructor(t={}){this.version=t.version??"v1",this.host=t.host??null,this.namespace=t.namespace??null,this.headers=t.headers??{}}get(t,e={},r={}){return Promise.reject(new Error("Adapter#get must be implemented."))}post(t,e={},r={}){return Promise.reject(new Error("Adapter#post must be implemented."))}put(t,e={},r={}){return Promise.reject(new Error("Adapter#put must be implemented."))}patch(t,e={},r={}){return Promise.reject(new Error("Adapter#patch must be implemented."))}delete(t,e={},r){return Promise.reject(new Error("Adapter#delete must be implemented."))}}class r extends Error{status;code;response;requestId;constructor(t,e={}){super(t,void 0===e.cause?void 0:{cause:e.cause}),this.name="FleetbaseError",this.status=e.status,this.code=e.code,this.response=e.response,this.requestId=e.requestId}}function n(t,e={}){const r=Object.entries(e);if(0===r.length)return t;const n=new URLSearchParams;for(const[t,e]of r){const r=Array.isArray(e)?e:[e];for(const e of r)null!=e&&(e instanceof Date?n.append(t,e.toISOString()):"object"==typeof e?n.append(t,JSON.stringify(e)):n.append(t,String(e)))}const s=n.toString();return s?`${t}${t.includes("?")?"&":"?"}${s}`:t}async function s(t,e){const s=t.fetch??globalThis.fetch;if("function"!=typeof s)throw new r("No Fetch API implementation is available in this environment.",{code:"FETCH_UNAVAILABLE"});const i=e.options??{},a=function(t,e,r){return r||[(t.host??"").replace(/\/$/,""),(t.namespace??"").replace(/^\/+|\/+$/g,""),e.replace(/^\//,"")].filter(Boolean).join("/")}(t,e.path,i.url),o=n(a,e.query),u=new Headers(t.headers);new Headers(i.headers).forEach(((t,e)=>u.set(e,t)));const c={...i,method:e.method,headers:u};let d;void 0!==e.data&&"GET"!==e.method&&"HEAD"!==e.method&&(c.body="string"==typeof e.data||e.data instanceof FormData||e.data instanceof URLSearchParams?e.data:JSON.stringify(e.data)),delete c.url;try{d=await s(o,c)}catch(t){throw new r("Unable to reach the Fleetbase API.",{code:"NETWORK_ERROR",cause:t})}const h=await async function(t){if(204===t.status||205===t.status)return null;const e=await t.text();if(!e)return null;try{return JSON.parse(e)}catch{return e}}(d);if(!d.ok){const t=d.headers.get("x-request-id")??void 0,e=h&&"object"==typeof h?h:void 0;throw new r(function(t,e){if(t&&"object"==typeof t){const e=t;if(Array.isArray(e.errors)&&"string"==typeof e.errors[0])return e.errors[0];if("string"==typeof e.error)return e.error;if("string"==typeof e.message)return e.message}return"string"==typeof t&&t?t:e}(h,d.statusText||`HTTP ${d.status}`),{status:d.status,code:"string"==typeof e?.code?e.code:"HTTP_ERROR",response:h,...t?{requestId:t}:{}})}return h}class i extends e{fetchConfig;constructor(t={}){const e=new Headers(t.headers);t.publicKey&&e.set("Authorization",`Bearer ${t.publicKey}`),e.has("Content-Type")||e.set("Content-Type","application/json");const r={...t,host:t.host??"",headers:a(e)};super(r),this.fetchConfig=r}setHeaders(t={}){const e=new Headers(this.headers);return new Headers(t).forEach(((t,r)=>e.set(r,t))),this.headers=a(e),this}async parseJSON(t){try{return{statusText:t.statusText,status:t.status,ok:t.ok,json:await t.json()}}catch(t){throw new Error("Oops! Something went wrong when handling your request.",{cause:t})}}request(t,e="GET",r={},n={}){const{body:i,...a}=r;return s({...this.fetchConfig,host:this.host,namespace:this.namespace??"",headers:this.headers},{path:t,method:e,data:i,options:{...a,...n}})}get(t,e={},r={}){return this.request(n(t,e),"GET",{},r.url?{...r,url:n(r.url,e)}:r)}post(t,e={},r={}){return this.request(t,"POST",{body:JSON.stringify(e)},r)}put(t,e={},r={}){return this.request(t,"PUT",{body:JSON.stringify(e)},r)}patch(t,e={},r={}){return this.request(t,"PATCH",{body:JSON.stringify(e)},r)}delete(t,e={},r){return this.request(t,"DELETE",{},r??e)}}function a(t){return Object.fromEntries(Array.from(t,(([t,e])=>[t.replace(/(^|-)[a-z]/g,(t=>t.toUpperCase())),e])))}class o extends i{constructor(t={}){const e=new Headers(t.headers);e.has("User-Agent")||e.set("User-Agent","@fleetbase/sdk;node"),super({...t,headers:e})}request(t,e,r={}){const{data:n,...i}=r;return s(this.fetchConfig,{path:e,method:t,data:n,options:i})}post(t,e={},r={}){return this.request("POST",t,{...r,data:e})}put(t,e={},r={}){return this.request("PUT",t,{...r,data:e})}patch(t,e={},r={}){return this.request("PATCH",t,{...r,data:e})}delete(t,e={},r){return this.request("DELETE",t,r??e)}}function u(t){return null==t||("function"!=typeof t&&"number"==typeof t.length?0===t.length:"number"==typeof t.size&&0===t.size)}function c(t,e){const r=Array.isArray(e)?e:e.split(".");let n=t;for(let t=0;t"__proto__"===t||"prototype"===t||"constructor"===t)))throw new TypeError("Unsafe object path.");let s=t;for(const t of n.slice(0,-1))s[t]&&"object"==typeof s[t]||Object.defineProperty(s,t,{configurable:!0,enumerable:!0,value:{},writable:!0}),s=s[t];const i=n.at(-1);return i&&Object.defineProperty(s,i,{configurable:!0,enumerable:!0,value:r,writable:!0}),r}function h(t){return Boolean(t&&"object"==typeof t&&"attributes"in t&&"object"==typeof t.attributes)}class l{type="Point";coordinates;constructor(t=0,e=0){this.coordinates=[e,t]}get latitude(){return this.coordinates[1]}get longitude(){return this.coordinates[0]}lat(){return this.latitude}lng(){return this.longitude}static fromGeoJson(t){return new l(t.coordinates[1],t.coordinates[0])}serialize(){return{type:this.type,coordinates:[...this.coordinates]}}toJson(){return this.serialize()}toString(){return`(${this.latitude}, ${this.longitude})`}}function p(t={}){return function(){const t=globalThis;return"node"===t.process?.release?.name&&!("undefined"!=typeof navigator&&"ReactNative"===navigator.product)}()?new o(t):new i(t)}function g(t,e){return t===e?0:null==t?-1:null==e?1:tr[t]===e:e=>Boolean(e[t])}class m extends Array{static get[Symbol.species](){return Array}constructor(...t){super(),Object.setPrototypeOf(this,new.target.prototype),this.push(...1===t.length&&Array.isArray(t[0])?t[0]:t)}get notEmpty(){return this.length>0}get empty(){return 0===this.length}get first(){return this[0]}get last(){return this[this.length-1]}replace(t,e,r=[]){return function(t,e,r,n=[]){t.splice(e,r,...n)}(this,t,e,r),this}objectsAt(t){return t.map((t=>this[t]))}objectAt(t){return this[t]}findBy(t,e){return this.find(f(t,e,2===arguments.length))}findIndexBy(t,e){return this.findIndex(f(t,e,2===arguments.length))}isEvery(t,e){return this.every(f(t,e,2===arguments.length))}isAny(t,e){return this.some(f(t,e,2===arguments.length))}invoke(t,...e){return this.map((r=>{const n=r[t];return"function"==typeof n?n.apply(r,e):void 0}))}toArray(){return[...this]}compact(){return w(this.filter((t=>null!=t)))}sortBy(...t){return this.sort(((e,r)=>{for(const n of t){const t=g(e[n],r[n]);if(t)return t}return 0}))}uniqBy(t){return function(t,e=t=>t){const r=new Set;return t.filter((t=>{const n="function"==typeof e?e(t):c(t,String(e));return!r.has(n)&&(r.add(n),!0)}))}(this,t)}without(t){return this.includes(t)?this.filter((e=>!Object.is(e,t))):this}clear(){return this.splice(0),this}insertAt(t,e){return this.splice(t,0,e),this}replaceAt(t,e){return this.replace(t,1,[e])}removeAt(t,e=1){return this.splice(t,e),this}pushObject(t){return this.insertAt(this.length,t)}pushObjects(t){return this.replace(this.length,0,t)}popObject(){return this.pop()??null}shiftObject(){return this.shift()??null}unshiftObject(t){return this.unshift(t),t}unshiftObjects(t){return this.replace(0,0,t)}reverseObjects(){return Array.prototype.reverse.call(this),this}setObjects(t){return this.replace(0,this.length,t)}removeObject(t){for(let e=this.length-1;e>=0;e-=1)Object.is(this[e],t)&&this.splice(e,1);return this}removeObjects(t){return t.forEach((t=>this.removeObject(t))),this}addObject(t){return this.includes(t)||this.push(t),this}addObjects(t){return t.forEach((t=>this.addObject(t))),this}}function w(...t){return new m(...t)}const y=new Set(["equipment","information","rice","money","species","series","fish","sheep","moose","deer","news"]),b=[[/(m)an$/gi,"$1en"],[/(pe)rson$/gi,"$1ople"],[/(child)$/gi,"$1ren"],[/^(ox)$/gi,"$1en"],[/(ax|test)is$/gi,"$1es"],[/(octop|vir)us$/gi,"$1i"],[/(alias|status)$/gi,"$1es"],[/(bu)s$/gi,"$1ses"],[/(buffal|tomat|potat)o$/gi,"$1oes"],[/([ti])um$/gi,"$1a"],[/sis$/gi,"ses"],[/(?:([^f])fe|([lr])f)$/gi,"$1$2ves"],[/(hive)$/gi,"$1s"],[/([^aeiouy]|qu)y$/gi,"$1ies"],[/(x|ch|ss|sh)$/gi,"$1es"],[/(matr|vert|ind)ix|ex$/gi,"$1ices"],[/([m|l])ouse$/gi,"$1ice"],[/(quiz)$/gi,"$1zes"],[/s$/gi,"s"],[/$/gi,"s"]],v=[[/(status)$/gi,"$1"],[/(m)en$/gi,"$1an"],[/(pe)ople$/gi,"$1rson"],[/(child)ren$/gi,"$1"],[/([ti])a$/gi,"$1um"],[/((a)naly|(b)a|(d)iagno|(p)arenthe|(p)rogno|(s)ynop|(t)he)ses$/gi,"$1$2sis"],[/(hive)s$/gi,"$1"],[/(tive)s$/gi,"$1"],[/(curve)s$/gi,"$1"],[/([lr])ves$/gi,"$1f"],[/([^fo])ves$/gi,"$1fe"],[/([^aeiouy]|qu)ies$/gi,"$1y"],[/(s)eries$/gi,"$1eries"],[/(m)ovies$/gi,"$1ovie"],[/(x|ch|ss|sh)es$/gi,"$1"],[/([m|l])ice$/gi,"$1ouse"],[/(bus)es$/gi,"$1"],[/(o)es$/gi,"$1"],[/(shoe)s$/gi,"$1"],[/(cris|ax|test)es$/gi,"$1is"],[/(octop|vir)i$/gi,"$1us"],[/(alias|status)es$/gi,"$1"],[/^(ox)en/gi,"$1"],[/(vert|ind)ices$/gi,"$1ex"],[/(matr)ices$/gi,"$1ix"],[/(quiz)zes$/gi,"$1"],[/s$/gi,""]],x=new Set(["and","or","nor","a","an","the","so","but","to","of","at","by","from","into","on","onto","off","out","in","over","with","for"]);class A{str;chain;constructor(t="",e=!0){this.str=null==t?"":String(t),this.chain=e}get(){return this.str}result(t){return this.str=t,this.chain?this:t}rules(t,e,r){let n=r??t;if(!r&&!y.has(t.toLowerCase())){const r=e.find((([e])=>e.test(t)));r&&(n=t.replace(r[0],r[1]))}return this.result(n)}pluralize(t=this.str,e=null){return this.rules(t,b,e)}singularize(t=this.str,e=null){return this.rules(t,v,e)}camelize(t=this.str,e=!1){const r=t.split("/").map((t=>t.split("_").map((t=>`${t.charAt(0).toUpperCase()}${t.slice(1)}`)).join(""))).join("::");return this.result(e?`${r.charAt(0).toLowerCase()}${r.slice(1)}`:r)}underscore(t=this.str){return this.result(t.split("::").map((t=>t.replace(/([A-Z])/g,"_$1").replace(/^_/,""))).join("/").toLowerCase())}humanize(t=this.str,e=!1){const r=t.toLowerCase().replace(/(_ids|_id)$/g,"").replace(/_/g," ");return this.result(e?r:`${r.charAt(0).toUpperCase()}${r.slice(1)}`)}capitalize(t=this.str){const e=t.toLowerCase();return this.result(`${e.charAt(0).toUpperCase()}${e.slice(1)}`)}dasherize(t=this.str){return this.result(t.replace(/[ _]/g,"-").toLowerCase())}normify(t=this.str,e=!1){const r=(e?k(T(t)):t.toLowerCase()).replace(/_/g," ").split(" ").map((t=>t.split("-").map((t=>x.has(t.toLowerCase())?t:P(t))).join("-"))).join(" ");return this.result(`${r.charAt(0).toUpperCase()}${r.slice(1)}`)}demodulize(t=this.str){return this.result(t.split("::").at(-1))}tableize(t=this.str){return this.result($(k(t)))}classify(t=this.str){const e=String(t).trim().replace(/[\s_-]+/g,"_");return this.result(T(S(e)))}foreignKey(t=this.str,e=!1){return this.result(`${k(D(t))}${e?"":"_"}id`)}ordinalize(t=this.str){const e=t.split(" ").map((t=>{if(!/^\d+$/.test(t))return t;const e=Number(t),r=e%100;return`${t}${r>=11&&r<=13?"th":e%10==1?"st":e%10==2?"nd":e%10==3?"rd":"th"}`})).join(" ");return this.result(e)}static invoke(t,...e){const r=new A("",!1),n=r[t];return"function"!=typeof n?null:String(n.apply(r,e))}}const $=(t,e)=>String(new A("",!1).pluralize(t,e)),S=(t,e)=>String(new A("",!1).singularize(t,e)),k=t=>String(new A("",!1).underscore(t)),T=(t,e)=>String(new A("",!1).camelize(t,e)),P=t=>String(new A("",!1).capitalize(t)),D=t=>String(new A("",!1).demodulize(t)),M=t=>String(new A("",!1).classify(t)),q={resources:{},adapters:{},stores:{},actions:{}};function O(t,e,r){const n=$(t);q[n]??={},q[n][e]=r}function E(t,e,...r){return function(t,e,...r){const n=$(t),s=q[n];if(!s)throw new Error(`Unknown type: ${S(t)}`);const i=s[e];if(!i)throw new Error(`No ${S(t)} named '${e}' registered.`);return new i(...r)}(t,M(e),...r)}class F{actions;bind;constructor(t={},e=null){this.actions=t,this.bind=e}extend(t=null){const e=t??this.bind;if(!e)return this;for(const[t,r]of Object.entries(this.actions))d(e,t,"function"==typeof r?r.bind(e):r);return this}}let C=class{resource;adapter;namespace;storage;options;constructor(t,e,r={}){this.resource=t,this.adapter=e??p(),this.namespace=$(t),this.storage=w(),this.options=r,this.extendActions(r.actions)}extendActions(t=[]){return function(t,e=[]){const r=Array.isArray(e)?e:[e];for(const e of r)e instanceof F&&e.extend(t)}(this,t),this}deposit(t){return t}serialize(t){return E("resource",M(this.resource),t,this.adapter)}afterFetch(t){return function(t,e){return t.options.onAfterFetch?.(e),Array.isArray(e)?w(e.map((e=>t.afterFetch(e)))):t.deposit(t.serialize(e))}(this,t)}async create(t={},e={}){return this.afterFetch(await this.adapter.post(this.namespace,t,e))}async update(t,e={},r={}){return this.afterFetch(await this.adapter.put(`${this.namespace}/${String(t)}`,e,r))}async findRecord(t,e={}){return this.afterFetch(await this.adapter.get(`${this.namespace}/${String(t)}`,{},e))}async findAll(t={}){return this.afterFetch(await this.adapter.get(this.namespace,{},t))}async query(t={},e={}){return this.afterFetch(await this.adapter.get(this.namespace,t,e))}async queryRecord(t={},e={}){return this.afterFetch(await this.adapter.get(this.namespace,{...t,single:!0},e))}async destroy(t,e={}){const r=h(t)&&"function"==typeof t.getAttribute?t.getAttribute("id"):t;return this.afterFetch(await this.adapter.delete(`${this.namespace}/${String(r)}`,{},e))}};function H(t){return t instanceof j}O("store","Store",C);class j{attributes;dirtyAttributes={};changes={};isLoading=!1;isSaving=!1;isDestroying=!1;isReloading=!1;resource;options;version;adapter;store;constructor(t={},e,r="resource",n={}){this.attributes=t,this.resource=r,this.options=n,this.version=n.version??"v1",this.setAdapter(e)}setAdapter(t){return this.store=new C(this.resource,t,{onAfterFetch:t=>this.syncAttributes(t),...this.options.actions?{actions:this.options.actions}:{}}),this.adapter=this.store.adapter,this}get id(){return this.getAttribute("id")}async create(t={}){this.setFlags(["isLoading","isSaving"]);try{return await this.store.create(this.mergeAttributes(t))}finally{this.setFlags(["isLoading","isSaving"],!1)}}async update(t={}){this.setFlags(["isLoading","isSaving"]);try{return await this.store.update(this.attributes.id,t)}finally{this.setFlags(["isLoading","isSaving"],!1)}}async destroy(){this.setFlags(["isLoading","isDestroying"]);try{return await this.store.destroy(this.attributes.id)}finally{this.setFlags(["isLoading","isDestroying"],!1)}}async reload(){this.setFlags(["isLoading","isReloading"]);try{return await this.store.findRecord(this.attributes.id)}finally{this.setFlags(["isLoading","isReloading"],!1)}}setFlags(t=[],e=!0){const r=["isLoading","isSaving","isReloading","isDestroying"];for(const n of t){if(!r.includes(n))throw new Error(`${String(n)} is not a valid flag!`);this[n]=e}return this}reset(){return this.dirtyAttributes={},this.changes={},this.setFlags(["isLoading","isSaving","isReloading","isDestroying"],!1),this}empty(){return this.reset(),this.attributes={},this}save(t={}){return u(this.id)?this.create(this.getAttributes()):!0===t.onlyDirty?this.saveDirty():this.update(this.getAttributes())}saveDirty(){return this.update(this.getAttributes(Object.keys(this.dirtyAttributes)))}get meta(){return this.getAttribute("meta",{})}get createdAt(){const t=this.getAttribute("created_at");return this.isAttributeFilled("created_at")?new Date(String(t)):null}get updatedAt(){const t=this.getAttribute("updated_at");return this.isAttributeFilled("updated_at")?new Date(String(t)):null}get isLoaded(){return this.hasAttributes(["created_at","id"])}get isEmpty(){return 0===Object.keys(this.attributes).length}get isNew(){return!this.id}get isSaved(){return!this.isNew&&this.isLoaded}get isDeleted(){return this.hasAttributes(["deleted","time"])}eachAttribute(t){if("function"!=typeof t)return this;for(const e of Object.keys(this.attributes))t.call(this,this.getAttribute(e),e);return this}getDirtyAttributes(){return this.dirtyAttributes}isDirty(t){return t in this.dirtyAttributes}hasDirtyAttributes(){return Object.keys(this.dirtyAttributes).length>0}mutate(t,e){d(this.attributes,t,e)}setAttribute(t,e=null){if("object"==typeof t)return this.setAttributes(t);const r=t,n=this.getAttribute(r);return d(this.attributes,r,e),r in this.dirtyAttributes||d(this.dirtyAttributes,r,n),this.changes[r]??=[],this.changes[r].push({property:r,previousValue:n,value:e,changedAt:new Date}),this}setAttributes(t={}){for(const[e,r]of Object.entries(t))this.setAttribute(e,r);return this}getAttribute(t,e=null){return c(this.attributes,t)??e}hasAttribute(t){return Array.isArray(t)?t.every((t=>t in this.attributes)):t in this.attributes}hasAttributes(t=[]){return this.hasAttribute(t)}isAttributeFilled(t){return Array.isArray(t)?this.hasAttribute(t)&&t.every((t=>!u(this.getAttribute(t)))):this.hasAttribute(t)&&!u(this.getAttribute(t))}getAttributes(t){if("string"==typeof t)return this.getAttribute(t);const e=t??Object.keys(this.attributes);return Object.fromEntries(e.filter((t=>"string"==typeof t)).map((t=>{const e=this.getAttribute(t);return[t,h(e)?e.attributes:e]})))}serialize(){return this.getAttributes()}mergeAttributes(t={}){return this.attributes={...this.attributes,...t},this.attributes}syncAttributes(t={}){t&&"object"==typeof t&&!Array.isArray(t)&&(this.attributes=t)}}function N(t,e,...r){const n=t[e];if("function"!=typeof n)throw new Error(`Store action '${e}' is not available.`);return Promise.resolve(n.apply(t,r))}function z(t){return H(t)?t.id:t}function R(t,e,r){return Array.isArray(e)?w(e.map((e=>new t(e,r)))):new t(e,r)}O("resource","Resource",j),Object.defineProperty(j.prototype,"changes",{configurable:!0,value(){return this.changes}});class L extends j{constructor(t={},e,r={}){super(t,e,"contact",r)}}class Y extends j{constructor(t={},e,r={}){super(t,e,"entity",r)}}class I extends j{constructor(t={},e,r={}){super(t,e,"fleet",r)}}class Q extends j{constructor(t={},e,r={}){super(t,e,"vendor",r)}}const W=new F({trailers(t,e={},r={}){return this.adapter.get(`${this.namespace}/${String(t)}/trailers`,e,r).then((t=>R(B,t,this.adapter)))}});class _ extends j{constructor(t={},e,r={}){super(t,e,"vehicle",{actions:W,...r})}trailers(t={},e={}){return N(this.store,"trailers",this.id,t,e)}}const G=new F({attach(t,e={},r={}){return this.adapter.post(`${this.namespace}/${String(t)}/attach`,e,r)},detach(t,e={},r={}){return this.adapter.post(`${this.namespace}/${String(t)}/detach`,e,r)},connections(t,e={},r={}){return this.adapter.get(`${this.namespace}/${String(t)}/connections`,e,r)},track(t,e={},r={}){return this.adapter.patch(`${this.namespace}/${String(t)}/track`,e,r).then((t=>this.afterFetch(t)))}});class B extends j{constructor(t={},e,r={}){super(t,e,"trailer",{actions:G,...r})}attach(t={},e={}){return N(this.store,"attach",this.id,t,e)}detach(t={},e={}){return N(this.store,"detach",this.id,t,e)}connections(t={},e={}){return N(this.store,"connections",this.id,t,e)}track(t={},e={}){return N(this.store,"track",this.id,t,e)}}const X=new F({optimize(t,e={},r={}){return this.adapter.post(`${this.namespace}/${String(t)}/optimize`,e,r).then((t=>this.afterFetch(t)))}});class U extends j{constructor(t={},e,r={}){super(t,e,"manifest",{actions:X,...r})}optimize(t={},e={}){return N(this.store,"optimize",this.id,t,e)}}const J=new F({update(t,e={},r={}){return this.adapter.patch(`${this.namespace}/${String(t)}`,e,r).then((t=>this.afterFetch(t)))}});class K extends j{constructor(t={},e,r={}){super(t,e,"manifest-stop",{actions:J,...r})}}class V extends j{constructor(t={},e,r={}){super(t,e,"fuel-report",r)}}class Z extends j{constructor(t={},e,r={}){super(t,e,"issue",r)}}const tt=new F({send(t,e={},r={}){return this.adapter.post(`${this.namespace}/${String(t)}/send`,e,r)}});class et extends j{constructor(t={},e,r={}){super(t,e,"work-order",{actions:tt,...r})}send(t={},e={}){return N(this.store,"send",this.id,t,e)}}class rt extends j{constructor(t={},e,r={}){super(t,e,"zone",r)}}class nt extends j{constructor(t={},e,r={}){super(t,e,"service-area",r)}}class st extends j{constructor(t={},e,r={}){super(t,e,"service-rate",r)}}class it extends j{constructor(t={},e,r={}){super(t,e,"tracking-status",r)}}class at extends j{constructor(t={},e,r={},n="place"){super(t,e,n,r)}static fromGoogleAddress(t,e,r={}){const n=t.getAttribute("coordinates"),s=Array.isArray(n)?Number(n[0]):0,i=Array.isArray(n)?Number(n[1]):0;return new at({name:null,address:t.getAttribute("address"),location:new l(s,i),street1:t.getAttribute("address"),street2:null,city:t.getAttribute("city"),province:t.getAttribute("stateLong"),postal_code:t.getAttribute("postalCode"),neighborhood:t.get("neighborhood"),district:t.getAttribute("county"),building:t.get("building"),country:t.getAttribute("countryShort"),phone:null,security_access_code:null},e,r)}get latitude(){return this.location.coordinates[1]}get longitude(){return this.location.coordinates[0]}get coordinates(){return[this.latitude,this.longitude]}get location(){const t=this.getAttribute("location");if(t instanceof l)return t;if(t&&"object"==typeof t&&"coordinates"in t){const e=t.coordinates;if(Array.isArray(e))return l.fromGeoJson({coordinates:[Number(e[0]),Number(e[1])]})}return new l}setOwner(t){const e=z(t);return"string"==typeof e&&this.setAttribute("owner",e),this}}class ot extends at{constructor(t={},e,r={}){super(t,e,r,"waypoint")}}class ut extends j{constructor(t={},e,r={}){super(t,e,"payload",r)}attach(t){}get entities(){const t=this.getAttribute("entities",[]);return w((Array.isArray(t)?t:[]).map((t=>new Y(t,this.adapter))))}get dropoff(){const t=this.getAttribute("dropoff");return t&&"object"==typeof t?new at(t,this.adapter):null}get pickup(){const t=this.getAttribute("pickup");return t&&"object"==typeof t?new at(t,this.adapter):null}get waypoints(){const t=this.getAttribute("waypoints",[]);return w((Array.isArray(t)?t:[]).map((t=>new ot(t,this.adapter))))}}const ct=new F({current(t={},e={}){return this.adapter.get(`${this.namespace}/current`,t,e)}});class dt extends j{constructor(t={},e,r={}){super(t,e,"organization",{actions:ct,...r})}}function ht(t,e){return Array.isArray(t)?t.map((t=>new dt(t,e))):new dt(t,e)}const lt=new F({login(t,e=null,r={}){if(function(t=""){return/^[+]?\s*[0-9()./-][\s0-9()./-]*$/.test(t)}(t))return this.adapter.post("drivers/login-with-sms",{phone:t});if(!e)throw new Error("Login requires password!");return this.adapter.post("drivers/login",{identity:t,password:e,...r}).then((t=>this.afterFetch(t)))},verifyCode(t,e,r={}){return this.adapter.post("drivers/verify-code",{identity:t,code:e,...r}).then((t=>this.afterFetch(t)))},track(t,e={},r={}){return this.adapter.post(`drivers/${String(t)}/track`,e,r).then((t=>this.afterFetch(t)))},listOrganizations(t,e={},r={}){return this.adapter.get(`drivers/${String(t)}/organizations`,e,r).then((t=>ht(t,this.adapter)))},switchOrganization(t,e={},r={}){return this.adapter.post(`drivers/${String(t)}/switch-organization`,e,r).then((t=>ht(t,this.adapter)))},currentOrganization(t,e={},r={}){return this.adapter.get(`drivers/${String(t)}/current-organization`,e,r).then((t=>ht(t,this.adapter)))},retrieve(t){return this.findRecord(t)},syncDevice(t,e={},r={}){return this.adapter.post(`drivers/${String(t)}/register-device`,e,r)},manifests(t,e={},r={}){return this.adapter.get(`drivers/${String(t)}/manifests`,e,r).then((t=>R(U,t,this.adapter)))},changePassword(t,e={},r={}){return this.adapter.post(`drivers/${String(t)}/change-password`,e,r)},forgotPassword(t={},e={}){return this.adapter.post("drivers/forgot-password",t,e)},resetPassword(t={},e={}){return this.adapter.post("drivers/reset-password",t,e)}});class pt extends j{constructor(t={},e,r={}){super(t,e,"driver",{actions:lt,...r})}get token(){return this.getAttribute("token")}get isOnline(){return!0===this.getAttribute("online")}get latitude(){return this.location.coordinates[1]}get longitude(){return this.location.coordinates[0]}get coordinates(){return[this.latitude,this.longitude]}get location(){const t=this.getAttribute("location");if(t instanceof l)return t;if(t&&"object"==typeof t&&"coordinates"in t){const e=t.coordinates;if(Array.isArray(e)&&e.length>=2&&function(t){return"symbol"!=typeof t&&Number.isFinite(Number(t))&&Math.abs(Number(t))<=180}(e[0])&&function(t){return"symbol"!=typeof t&&Number.isFinite(Number(t))&&Math.abs(Number(t))<=90}(e[1]))return l.fromGeoJson({coordinates:[Number(e[0]),Number(e[1])]})}return new l}track(t={},e={}){return N(this.store,"track",this.id,t,e)}syncDevice(t={},e={}){return N(this.store,"syncDevice",this.id,t,e)}listOrganizations(t={},e={}){return N(this.store,"listOrganizations",this.id,t,e)}switchOrganization(t,e={}){return N(this.store,"switchOrganization",this.id,{next:t},e)}currentOrganization(t={},e={}){return N(this.store,"currentOrganization",this.id,t,e)}manifests(t={},e={}){return N(this.store,"manifests",this.id,t,e)}changePassword(t={},e={}){return N(this.store,"changePassword",this.id,t,e)}}const gt=new F({getDistanceAndTime(t,e={},r={}){return this.adapter.get(`${this.namespace}/${String(t)}/distance-and-time`,e,r)},getNextActivity(t,e={},r={}){return this.adapter.get(`${this.namespace}/${String(t)}/next-activity`,e,r)},dispatch(t,e={},r={}){return this.adapter.post(`${this.namespace}/${String(t)}/dispatch`,e,r).then((t=>this.afterFetch(t)))},start(t,e={},r={}){return this.adapter.post(`${this.namespace}/${String(t)}/start`,e,r).then((t=>this.afterFetch(t)))},updateActivity(t,e={},r={}){return this.adapter.post(`${this.namespace}/${String(t)}/update-activity`,e,r).then((t=>this.afterFetch(t)))},setDestination(t,e,r={},n={}){return this.adapter.post(`${this.namespace}/${String(t)}/set-destination/${String(z(e))}`,r,n).then((t=>this.afterFetch(t)))},captureQrCode(t,e=null,r={},n={}){const s=z(e);return this.adapter.post(`${this.namespace}/${String(t)}/capture-qr${s?`/${String(s)}`:""}`,r,n)},captureSignature(t,e=null,r={},n={}){const s=z(e);return this.adapter.post(`${this.namespace}/${String(t)}/capture-signature${s?`/${String(s)}`:""}`,r,n)},complete(t,e={},r={}){return this.adapter.post(`${this.namespace}/${String(t)}/complete`,e,r).then((t=>this.afterFetch(t)))},cancel(t,e={},r={}){return this.adapter.delete(`${this.namespace}/${String(t)}/cancel`,e,r).then((t=>this.afterFetch(t)))}});let ft=class extends j{constructor(t={},e,r={}){super(t,e,"order",{actions:gt,...r})}getDistanceAndTime(t={},e={}){return N(this.store,"getDistanceAndTime",this.id,t,e)}dispatch(t={},e={}){return N(this.store,"dispatch",this.id,t,e)}start(t={},e={}){return N(this.store,"start",this.id,t,e)}setDestination(t,e={},r={}){return N(this.store,"setDestination",this.id,t,e,r)}captureQrCode(t=null,e={},r={}){return N(this.store,"captureQrCode",this.id,t,e,r)}captureSignature(t=null,e={},r={}){return N(this.store,"captureSignature",this.id,t,e,r)}getNextActivity(t={},e={}){return N(this.store,"getNextActivity",this.id,t,e)}updateActivity(t={},e={}){return N(this.store,"updateActivity",this.id,t,e)}cancel(t={},e={}){return N(this.store,"cancel",this.id,t,e)}complete(t={},e={}){return N(this.store,"complete",this.id,t,e)}get isDispatched(){return null!==this.getAttribute("dispatched_at")}get isNotDispatched(){return null===this.getAttribute("dispatched_at")}get isStarted(){return null!==this.getAttribute("started_at")}get isNotStarted(){return null===this.getAttribute("started_at")}get isCompleted(){return"completed"===this.getAttribute("status")}get isCanceled(){return"canceled"===this.getAttribute("status")}get isEnroute(){return["driver_enroute","enroute"].includes(String(this.getAttribute("status")))}get isInProgress(){return this.isStarted&&!this.isCanceled&&!this.isCompleted}get scheduledAt(){return this.dateAttribute("scheduled_at")}get startedAt(){return this.dateAttribute("started_at")}get dispatchedAt(){return this.dateAttribute("dispatched_at")}get status(){return this.getAttribute("status")}dateAttribute(t){return this.isAttributeFilled(t)?new Date(String(this.getAttribute(t))):null}};const mt=new F({fromPayload(t,e={}){return this.adapter.get(this.namespace,{payload:z(t),...e}).then((t=>this.afterFetch(t)))},fromPreliminary(t={}){return this.adapter.get(`${this.namespace}/preliminary`,t).then((t=>this.afterFetch(t)))}});class wt extends j{constructor(t={},e,r={}){super(t,e,"service-quote",{actions:mt,...r})}fromPreliminary(t={}){return N(this.store,"fromPreliminary",t)}fromPayload(t,e={}){return N(this.store,"fromPayload",t,e)}}for(const[t,e]of Object.entries({Contact:L,Driver:pt,Entity:Y,Fleet:I,FuelReport:V,Issue:Z,Manifest:U,ManifestStop:K,Order:ft,Organization:dt,Payload:ut,Place:at,ServiceArea:nt,ServiceQuote:wt,ServiceRate:st,TrackingStatus:it,Trailer:B,Vehicle:_,Vendor:Q,Waypoint:ot,WorkOrder:et,Zone:rt}))O("resource",t,e);O("adapter","Adapter",e),O("adapter","BrowserAdapter",i),O("adapter","NodeAdapter",o),O("adapter","EmberJsAdapter",class extends i{});class yt extends C{constructor(t,e,r={}){super(t,e,r)}findAll(t={}){return super.findAll(t)}query(t={},e={}){return super.query(t,e)}}function bt(t=0,e="USD",r="symbol"){return new Intl.NumberFormat("en-US",{style:"currency",currency:e,currencyDisplay:r}).format(t)}function vt(t){const e=null==t;if(e)return e;const r=typeof t;return"object"==typeof t&&"number"==typeof t.size?!t.size:("object"==typeof t||"string"==typeof t)&&"number"==typeof t.length&&"function"!==r&&!t.length}class xt extends j{get id(){return super.id}setAdapter(t){return super.setAdapter(t),this.store=new yt(this.resource,this.adapter,{onAfterFetch:this.syncAttributes.bind(this),actions:this.options?.actions}),this}update(...t){return super.update(...t)}empty(...t){return super.empty()}}O("resource","StorefrontResource",xt);const At=new F({count:function(t,e={}){const r={};return t&&(r.store=t),this.adapter.get(`${this.namespace}/count`,r,e)}});class $t extends xt{constructor(t={},e,r={}){super(t,e,"review",r)}getMedia(){return this.getPhotos()}getPhotos(){return this.getAttribute("photos")??[]}getVideos(){return this.getMedia().filter((t=>"string"==typeof t?.type&&t.type.startsWith("video/")))}}O("resource","Review",$t);const St=6048e5,kt=Symbol.for("constructDateFrom");function Tt(t,e){return"function"==typeof t?t(e):t&&"object"==typeof t&&kt in t?t[kt](e):t instanceof Date?new t.constructor(e):new Date(e)}function Pt(t,e){return Tt(e||t,t)}function Dt(t,e,r){const n=Pt(t,r?.in);return isNaN(e)?Tt(r?.in||t,NaN):e?(n.setDate(n.getDate()+e),n):n}let Mt={};function qt(){return Mt}function Ot(t,e){const r=qt(),n=e?.weekStartsOn??e?.locale?.options?.weekStartsOn??r.weekStartsOn??r.locale?.options?.weekStartsOn??0,s=Pt(t,e?.in),i=s.getDay(),a=(i=i.getTime()?n+1:r.getTime()>=o.getTime()?n:n-1}function Ct(t){const e=Pt(t),r=new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate(),e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds()));return r.setUTCFullYear(e.getFullYear()),+t-+r}function Ht(t,e){const r=Pt(t,e?.in);return r.setHours(0,0,0,0),r}function jt(t,e,r){const[n,s]=function(t,...e){const r=Tt.bind(null,e.find((t=>"object"==typeof t)));return e.map(r)}(0,t,e),i=Ht(n),a=Ht(s),o=+i-Ct(i),u=+a-Ct(a);return Math.round((o-u)/864e5)}function Nt(t){return!(!((e=t)instanceof Date||"object"==typeof e&&"[object Date]"===Object.prototype.toString.call(e))&&"number"!=typeof t||isNaN(+Pt(t)));var e}const zt={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXWeeks:{one:"about 1 week",other:"about {{count}} weeks"},xWeeks:{one:"1 week",other:"{{count}} weeks"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}};function Rt(t){return(e={})=>{const r=e.width?String(e.width):t.defaultWidth;return t.formats[r]||t.formats[t.defaultWidth]}}const Lt={date:Rt({formats:{full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},defaultWidth:"full"}),time:Rt({formats:{full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},defaultWidth:"full"}),dateTime:Rt({formats:{full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},defaultWidth:"full"})},Yt={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"};function It(t){return(e,r)=>{let n;if("formatting"===(r?.context?String(r.context):"standalone")&&t.formattingValues){const e=t.defaultFormattingWidth||t.defaultWidth,s=r?.width?String(r.width):e;n=t.formattingValues[s]||t.formattingValues[e]}else{const e=t.defaultWidth,s=r?.width?String(r.width):t.defaultWidth;n=t.values[s]||t.values[e]}return n[t.argumentCallback?t.argumentCallback(e):e]}}function Qt(t){return(e,r={})=>{const n=r.width,s=n&&t.matchPatterns[n]||t.matchPatterns[t.defaultMatchWidth],i=e.match(s);if(!i)return null;const a=i[0],o=n&&t.parsePatterns[n]||t.parsePatterns[t.defaultParseWidth],u=Array.isArray(o)?function(t,e){for(let r=0;rt.test(a))):function(t,e){for(const r in t)if(Object.prototype.hasOwnProperty.call(t,r)&&e(t[r]))return r;return}(o,(t=>t.test(a)));let c;c=t.valueCallback?t.valueCallback(u):u,c=r.valueCallback?r.valueCallback(c):c;return{value:c,rest:e.slice(a.length)}}}var Wt;const _t={code:"en-US",formatDistance:(t,e,r)=>{let n;const s=zt[t];return n="string"==typeof s?s:1===e?s.one:s.other.replace("{{count}}",e.toString()),r?.addSuffix?r.comparison&&r.comparison>0?"in "+n:n+" ago":n},formatLong:Lt,formatRelative:(t,e,r,n)=>Yt[t],localize:{ordinalNumber:(t,e)=>{const r=Number(t),n=r%100;if(n>20||n<10)switch(n%10){case 1:return r+"st";case 2:return r+"nd";case 3:return r+"rd"}return r+"th"},era:It({values:{narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},defaultWidth:"wide"}),quarter:It({values:{narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},defaultWidth:"wide",argumentCallback:t=>t-1}),month:It({values:{narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},defaultWidth:"wide"}),day:It({values:{narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},defaultWidth:"wide"}),dayPeriod:It({values:{narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},defaultWidth:"wide",formattingValues:{narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},defaultFormattingWidth:"wide"})},match:{ordinalNumber:(Wt={matchPattern:/^(\d+)(th|st|nd|rd)?/i,parsePattern:/\d+/i,valueCallback:t=>parseInt(t,10)},(t,e={})=>{const r=t.match(Wt.matchPattern);if(!r)return null;const n=r[0],s=t.match(Wt.parsePattern);if(!s)return null;let i=Wt.valueCallback?Wt.valueCallback(s[0]):s[0];return i=e.valueCallback?e.valueCallback(i):i,{value:i,rest:t.slice(n.length)}}),era:Qt({matchPatterns:{narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},defaultMatchWidth:"wide",parsePatterns:{any:[/^b/i,/^(a|c)/i]},defaultParseWidth:"any"}),quarter:Qt({matchPatterns:{narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},defaultMatchWidth:"wide",parsePatterns:{any:[/1/i,/2/i,/3/i,/4/i]},defaultParseWidth:"any",valueCallback:t=>t+1}),month:Qt({matchPatterns:{narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},defaultMatchWidth:"wide",parsePatterns:{narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},defaultParseWidth:"any"}),day:Qt({matchPatterns:{narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},defaultMatchWidth:"wide",parsePatterns:{narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},defaultParseWidth:"any"}),dayPeriod:Qt({matchPatterns:{narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},defaultMatchWidth:"any",parsePatterns:{any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},defaultParseWidth:"any"})},options:{weekStartsOn:0,firstWeekContainsDate:1}};function Gt(t,e){const r=Pt(t,e?.in),n=jt(r,function(t,e){const r=Pt(t,e?.in);return r.setFullYear(r.getFullYear(),0,1),r.setHours(0,0,0,0),r}(r));return n+1}function Bt(t,e){const r=Pt(t,e?.in),n=+Et(r)-+function(t,e){const r=Ft(t,e),n=Tt(t,0);return n.setFullYear(r,0,4),n.setHours(0,0,0,0),Et(n)}(r);return Math.round(n/St)+1}function Xt(t,e){const r=Pt(t,e?.in),n=r.getFullYear(),s=qt(),i=e?.firstWeekContainsDate??e?.locale?.options?.firstWeekContainsDate??s.firstWeekContainsDate??s.locale?.options?.firstWeekContainsDate??1,a=Tt(e?.in||t,0);a.setFullYear(n+1,0,i),a.setHours(0,0,0,0);const o=Ot(a,e),u=Tt(e?.in||t,0);u.setFullYear(n,0,i),u.setHours(0,0,0,0);const c=Ot(u,e);return+r>=+o?n+1:+r>=+c?n:n-1}function Ut(t,e){const r=Pt(t,e?.in),n=+Ot(r,e)-+function(t,e){const r=qt(),n=e?.firstWeekContainsDate??e?.locale?.options?.firstWeekContainsDate??r.firstWeekContainsDate??r.locale?.options?.firstWeekContainsDate??1,s=Xt(t,e),i=Tt(e?.in||t,0);return i.setFullYear(s,0,n),i.setHours(0,0,0,0),Ot(i,e)}(r,e);return Math.round(n/St)+1}function Jt(t,e){return(t<0?"-":"")+Math.abs(t).toString().padStart(e,"0")}const Kt={y(t,e){const r=t.getFullYear(),n=r>0?r:1-r;return Jt("yy"===e?n%100:n,e.length)},M(t,e){const r=t.getMonth();return"M"===e?String(r+1):Jt(r+1,2)},d:(t,e)=>Jt(t.getDate(),e.length),a(t,e){const r=t.getHours()/12>=1?"pm":"am";switch(e){case"a":case"aa":return r.toUpperCase();case"aaa":return r;case"aaaaa":return r[0];default:return"am"===r?"a.m.":"p.m."}},h:(t,e)=>Jt(t.getHours()%12||12,e.length),H:(t,e)=>Jt(t.getHours(),e.length),m:(t,e)=>Jt(t.getMinutes(),e.length),s:(t,e)=>Jt(t.getSeconds(),e.length),S(t,e){const r=e.length,n=t.getMilliseconds();return Jt(Math.trunc(n*Math.pow(10,r-3)),e.length)}},Vt="midnight",Zt="noon",te="morning",ee="afternoon",re="evening",ne="night",se={G:function(t,e,r){const n=t.getFullYear()>0?1:0;switch(e){case"G":case"GG":case"GGG":return r.era(n,{width:"abbreviated"});case"GGGGG":return r.era(n,{width:"narrow"});default:return r.era(n,{width:"wide"})}},y:function(t,e,r){if("yo"===e){const e=t.getFullYear(),n=e>0?e:1-e;return r.ordinalNumber(n,{unit:"year"})}return Kt.y(t,e)},Y:function(t,e,r,n){const s=Xt(t,n),i=s>0?s:1-s;if("YY"===e){return Jt(i%100,2)}return"Yo"===e?r.ordinalNumber(i,{unit:"year"}):Jt(i,e.length)},R:function(t,e){return Jt(Ft(t),e.length)},u:function(t,e){return Jt(t.getFullYear(),e.length)},Q:function(t,e,r){const n=Math.ceil((t.getMonth()+1)/3);switch(e){case"Q":return String(n);case"QQ":return Jt(n,2);case"Qo":return r.ordinalNumber(n,{unit:"quarter"});case"QQQ":return r.quarter(n,{width:"abbreviated",context:"formatting"});case"QQQQQ":return r.quarter(n,{width:"narrow",context:"formatting"});default:return r.quarter(n,{width:"wide",context:"formatting"})}},q:function(t,e,r){const n=Math.ceil((t.getMonth()+1)/3);switch(e){case"q":return String(n);case"qq":return Jt(n,2);case"qo":return r.ordinalNumber(n,{unit:"quarter"});case"qqq":return r.quarter(n,{width:"abbreviated",context:"standalone"});case"qqqqq":return r.quarter(n,{width:"narrow",context:"standalone"});default:return r.quarter(n,{width:"wide",context:"standalone"})}},M:function(t,e,r){const n=t.getMonth();switch(e){case"M":case"MM":return Kt.M(t,e);case"Mo":return r.ordinalNumber(n+1,{unit:"month"});case"MMM":return r.month(n,{width:"abbreviated",context:"formatting"});case"MMMMM":return r.month(n,{width:"narrow",context:"formatting"});default:return r.month(n,{width:"wide",context:"formatting"})}},L:function(t,e,r){const n=t.getMonth();switch(e){case"L":return String(n+1);case"LL":return Jt(n+1,2);case"Lo":return r.ordinalNumber(n+1,{unit:"month"});case"LLL":return r.month(n,{width:"abbreviated",context:"standalone"});case"LLLLL":return r.month(n,{width:"narrow",context:"standalone"});default:return r.month(n,{width:"wide",context:"standalone"})}},w:function(t,e,r,n){const s=Ut(t,n);return"wo"===e?r.ordinalNumber(s,{unit:"week"}):Jt(s,e.length)},I:function(t,e,r){const n=Bt(t);return"Io"===e?r.ordinalNumber(n,{unit:"week"}):Jt(n,e.length)},d:function(t,e,r){return"do"===e?r.ordinalNumber(t.getDate(),{unit:"date"}):Kt.d(t,e)},D:function(t,e,r){const n=Gt(t);return"Do"===e?r.ordinalNumber(n,{unit:"dayOfYear"}):Jt(n,e.length)},E:function(t,e,r){const n=t.getDay();switch(e){case"E":case"EE":case"EEE":return r.day(n,{width:"abbreviated",context:"formatting"});case"EEEEE":return r.day(n,{width:"narrow",context:"formatting"});case"EEEEEE":return r.day(n,{width:"short",context:"formatting"});default:return r.day(n,{width:"wide",context:"formatting"})}},e:function(t,e,r,n){const s=t.getDay(),i=(s-n.weekStartsOn+8)%7||7;switch(e){case"e":return String(i);case"ee":return Jt(i,2);case"eo":return r.ordinalNumber(i,{unit:"day"});case"eee":return r.day(s,{width:"abbreviated",context:"formatting"});case"eeeee":return r.day(s,{width:"narrow",context:"formatting"});case"eeeeee":return r.day(s,{width:"short",context:"formatting"});default:return r.day(s,{width:"wide",context:"formatting"})}},c:function(t,e,r,n){const s=t.getDay(),i=(s-n.weekStartsOn+8)%7||7;switch(e){case"c":return String(i);case"cc":return Jt(i,e.length);case"co":return r.ordinalNumber(i,{unit:"day"});case"ccc":return r.day(s,{width:"abbreviated",context:"standalone"});case"ccccc":return r.day(s,{width:"narrow",context:"standalone"});case"cccccc":return r.day(s,{width:"short",context:"standalone"});default:return r.day(s,{width:"wide",context:"standalone"})}},i:function(t,e,r){const n=t.getDay(),s=0===n?7:n;switch(e){case"i":return String(s);case"ii":return Jt(s,e.length);case"io":return r.ordinalNumber(s,{unit:"day"});case"iii":return r.day(n,{width:"abbreviated",context:"formatting"});case"iiiii":return r.day(n,{width:"narrow",context:"formatting"});case"iiiiii":return r.day(n,{width:"short",context:"formatting"});default:return r.day(n,{width:"wide",context:"formatting"})}},a:function(t,e,r){const n=t.getHours()/12>=1?"pm":"am";switch(e){case"a":case"aa":return r.dayPeriod(n,{width:"abbreviated",context:"formatting"});case"aaa":return r.dayPeriod(n,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return r.dayPeriod(n,{width:"narrow",context:"formatting"});default:return r.dayPeriod(n,{width:"wide",context:"formatting"})}},b:function(t,e,r){const n=t.getHours();let s;switch(s=12===n?Zt:0===n?Vt:n/12>=1?"pm":"am",e){case"b":case"bb":return r.dayPeriod(s,{width:"abbreviated",context:"formatting"});case"bbb":return r.dayPeriod(s,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return r.dayPeriod(s,{width:"narrow",context:"formatting"});default:return r.dayPeriod(s,{width:"wide",context:"formatting"})}},B:function(t,e,r){const n=t.getHours();let s;switch(s=n>=17?re:n>=12?ee:n>=4?te:ne,e){case"B":case"BB":case"BBB":return r.dayPeriod(s,{width:"abbreviated",context:"formatting"});case"BBBBB":return r.dayPeriod(s,{width:"narrow",context:"formatting"});default:return r.dayPeriod(s,{width:"wide",context:"formatting"})}},h:function(t,e,r){if("ho"===e){let e=t.getHours()%12;return 0===e&&(e=12),r.ordinalNumber(e,{unit:"hour"})}return Kt.h(t,e)},H:function(t,e,r){return"Ho"===e?r.ordinalNumber(t.getHours(),{unit:"hour"}):Kt.H(t,e)},K:function(t,e,r){const n=t.getHours()%12;return"Ko"===e?r.ordinalNumber(n,{unit:"hour"}):Jt(n,e.length)},k:function(t,e,r){let n=t.getHours();return 0===n&&(n=24),"ko"===e?r.ordinalNumber(n,{unit:"hour"}):Jt(n,e.length)},m:function(t,e,r){return"mo"===e?r.ordinalNumber(t.getMinutes(),{unit:"minute"}):Kt.m(t,e)},s:function(t,e,r){return"so"===e?r.ordinalNumber(t.getSeconds(),{unit:"second"}):Kt.s(t,e)},S:function(t,e){return Kt.S(t,e)},X:function(t,e,r){const n=t.getTimezoneOffset();if(0===n)return"Z";switch(e){case"X":return ae(n);case"XXXX":case"XX":return oe(n);default:return oe(n,":")}},x:function(t,e,r){const n=t.getTimezoneOffset();switch(e){case"x":return ae(n);case"xxxx":case"xx":return oe(n);default:return oe(n,":")}},O:function(t,e,r){const n=t.getTimezoneOffset();switch(e){case"O":case"OO":case"OOO":return"GMT"+ie(n,":");default:return"GMT"+oe(n,":")}},z:function(t,e,r){const n=t.getTimezoneOffset();switch(e){case"z":case"zz":case"zzz":return"GMT"+ie(n,":");default:return"GMT"+oe(n,":")}},t:function(t,e,r){return Jt(Math.trunc(+t/1e3),e.length)},T:function(t,e,r){return Jt(+t,e.length)}};function ie(t,e=""){const r=t>0?"-":"+",n=Math.abs(t),s=Math.trunc(n/60),i=n%60;return 0===i?r+String(s):r+String(s)+e+Jt(i,2)}function ae(t,e){if(t%60==0){return(t>0?"-":"+")+Jt(Math.abs(t)/60,2)}return oe(t,e)}function oe(t,e=""){const r=t>0?"-":"+",n=Math.abs(t);return r+Jt(Math.trunc(n/60),2)+e+Jt(n%60,2)}const ue=(t,e)=>{switch(t){case"P":return e.date({width:"short"});case"PP":return e.date({width:"medium"});case"PPP":return e.date({width:"long"});default:return e.date({width:"full"})}},ce=(t,e)=>{switch(t){case"p":return e.time({width:"short"});case"pp":return e.time({width:"medium"});case"ppp":return e.time({width:"long"});default:return e.time({width:"full"})}},de={p:ce,P:(t,e)=>{const r=t.match(/(P+)(p+)?/)||[],n=r[1],s=r[2];if(!s)return ue(t,e);let i;switch(n){case"P":i=e.dateTime({width:"short"});break;case"PP":i=e.dateTime({width:"medium"});break;case"PPP":i=e.dateTime({width:"long"});break;default:i=e.dateTime({width:"full"})}return i.replace("{{date}}",ue(n,e)).replace("{{time}}",ce(s,e))}},he=/^D+$/,le=/^Y+$/,pe=["D","DD","YY","YYYY"];function ge(t){return he.test(t)}function fe(t){return le.test(t)}function me(t,e,r){const n=function(t,e,r){const n="Y"===t[0]?"years":"days of the month";return`Use \`${t.toLowerCase()}\` instead of \`${t}\` (in \`${e}\`) for formatting ${n} to the input \`${r}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`}(t,e,r);if(console.warn(n),pe.includes(t))throw new RangeError(n)}const we=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,ye=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,be=/^'([^]*?)'?$/,ve=/''/g,xe=/[a-zA-Z]/;function Ae(t,e,r){const n=qt(),s=n.locale??_t,i=n.firstWeekContainsDate??n.locale?.options?.firstWeekContainsDate??1,a=n.weekStartsOn??n.locale?.options?.weekStartsOn??0,o=Pt(t,r?.in);if(!Nt(o))throw new RangeError("Invalid time value");let u=e.match(ye).map((t=>{const e=t[0];if("p"===e||"P"===e){return(0,de[e])(t,s.formatLong)}return t})).join("").match(we).map((t=>{if("''"===t)return{isToken:!1,value:"'"};const e=t[0];if("'"===e)return{isToken:!1,value:$e(t)};if(se[e])return{isToken:!0,value:t};if(e.match(xe))throw new RangeError("Format string contains an unescaped latin alphabet character `"+e+"`");return{isToken:!1,value:t}}));s.localize.preprocessor&&(u=s.localize.preprocessor(o,u));const c={firstWeekContainsDate:i,weekStartsOn:a,locale:s};return u.map((r=>{if(!r.isToken)return r.value;const n=r.value;(fe(n)||ge(n))&&me(n,e,String(t));return(0,se[n[0]])(o,n,s.localize,c)})).join("")}function $e(t){const e=t.match(be);return e?e[1].replace(ve,"'"):t}class Se{subPriority=0;validate(t,e){return!0}}class ke extends Se{constructor(t,e,r,n,s){super(),this.value=t,this.validateValue=e,this.setValue=r,this.priority=n,s&&(this.subPriority=s)}validate(t,e){return this.validateValue(t,this.value,e)}set(t,e,r){return this.setValue(t,e,this.value,r)}}class Te extends Se{priority=10;subPriority=-1;constructor(t,e){super(),this.context=t||(t=>Tt(e,t))}set(t,e){return e.timestampIsSet?t:Tt(t,function(t,e){const r=function(t){return"function"==typeof t&&t.prototype?.constructor===t}(e)?new e(0):Tt(e,0);return r.setFullYear(t.getFullYear(),t.getMonth(),t.getDate()),r.setHours(t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()),r}(t,this.context))}}class Pe{run(t,e,r,n){const s=this.parse(t,e,r,n);return s?{setter:new ke(s.value,this.validate,this.set,this.priority,this.subPriority),rest:s.rest}:null}validate(t,e,r){return!0}}const De=/^(1[0-2]|0?\d)/,Me=/^(3[0-1]|[0-2]?\d)/,qe=/^(36[0-6]|3[0-5]\d|[0-2]?\d?\d)/,Oe=/^(5[0-3]|[0-4]?\d)/,Ee=/^(2[0-3]|[0-1]?\d)/,Fe=/^(2[0-4]|[0-1]?\d)/,Ce=/^(1[0-1]|0?\d)/,He=/^(1[0-2]|0?\d)/,je=/^[0-5]?\d/,Ne=/^[0-5]?\d/,ze=/^\d/,Re=/^\d{1,2}/,Le=/^\d{1,3}/,Ye=/^\d{1,4}/,Ie=/^-?\d+/,Qe=/^-?\d/,We=/^-?\d{1,2}/,_e=/^-?\d{1,3}/,Ge=/^-?\d{1,4}/,Be=/^([+-])(\d{2})(\d{2})?|Z/,Xe=/^([+-])(\d{2})(\d{2})|Z/,Ue=/^([+-])(\d{2})(\d{2})((\d{2}))?|Z/,Je=/^([+-])(\d{2}):(\d{2})|Z/,Ke=/^([+-])(\d{2}):(\d{2})(:(\d{2}))?|Z/;function Ve(t,e){return t?{value:e(t.value),rest:t.rest}:t}function Ze(t,e){const r=e.match(t);return r?{value:parseInt(r[0],10),rest:e.slice(r[0].length)}:null}function tr(t,e){const r=e.match(t);if(!r)return null;if("Z"===r[0])return{value:0,rest:e.slice(1)};return{value:("+"===r[1]?1:-1)*(36e5*(r[2]?parseInt(r[2],10):0)+6e4*(r[3]?parseInt(r[3],10):0)+1e3*(r[5]?parseInt(r[5],10):0)),rest:e.slice(r[0].length)}}function er(t){return Ze(Ie,t)}function rr(t,e){switch(t){case 1:return Ze(ze,e);case 2:return Ze(Re,e);case 3:return Ze(Le,e);case 4:return Ze(Ye,e);default:return Ze(new RegExp("^\\d{1,"+t+"}"),e)}}function nr(t,e){switch(t){case 1:return Ze(Qe,e);case 2:return Ze(We,e);case 3:return Ze(_e,e);case 4:return Ze(Ge,e);default:return Ze(new RegExp("^-?\\d{1,"+t+"}"),e)}}function sr(t){switch(t){case"morning":return 4;case"evening":return 17;case"pm":case"noon":case"afternoon":return 12;default:return 0}}function ir(t,e){const r=e>0,n=r?e:1-e;let s;if(n<=50)s=t||100;else{const e=n+50;s=t+100*Math.trunc(e/100)-(t>=e%100?100:0)}return r?s:1-s}function ar(t){return t%400==0||t%4==0&&t%100!=0}const or=[31,28,31,30,31,30,31,31,30,31,30,31],ur=[31,29,31,30,31,30,31,31,30,31,30,31];function cr(t,e,r){const n=qt(),s=r?.weekStartsOn??r?.locale?.options?.weekStartsOn??n.weekStartsOn??n.locale?.options?.weekStartsOn??0,i=Pt(t,r?.in),a=i.getDay(),o=7-s;return Dt(i,e<0||e>6?e-(a+o)%7:((e%7+7)%7+o)%7-(a+o)%7,r)}function dr(t,e,r){const n=Pt(t,r?.in),s=function(t,e){const r=Pt(t,e?.in).getDay();return 0===r?7:r}(n,r);return Dt(n,e-s,r)}const hr={G:new class extends Pe{priority=140;parse(t,e,r){switch(e){case"G":case"GG":case"GGG":return r.era(t,{width:"abbreviated"})||r.era(t,{width:"narrow"});case"GGGGG":return r.era(t,{width:"narrow"});default:return r.era(t,{width:"wide"})||r.era(t,{width:"abbreviated"})||r.era(t,{width:"narrow"})}}set(t,e,r){return e.era=r,t.setFullYear(r,0,1),t.setHours(0,0,0,0),t}incompatibleTokens=["R","u","t","T"]},y:new class extends Pe{priority=130;incompatibleTokens=["Y","R","u","w","I","i","e","c","t","T"];parse(t,e,r){const n=t=>({year:t,isTwoDigitYear:"yy"===e});switch(e){case"y":return Ve(rr(4,t),n);case"yo":return Ve(r.ordinalNumber(t,{unit:"year"}),n);default:return Ve(rr(e.length,t),n)}}validate(t,e){return e.isTwoDigitYear||e.year>0}set(t,e,r){const n=t.getFullYear();if(r.isTwoDigitYear){const e=ir(r.year,n);return t.setFullYear(e,0,1),t.setHours(0,0,0,0),t}const s="era"in e&&1!==e.era?1-r.year:r.year;return t.setFullYear(s,0,1),t.setHours(0,0,0,0),t}},Y:new class extends Pe{priority=130;parse(t,e,r){const n=t=>({year:t,isTwoDigitYear:"YY"===e});switch(e){case"Y":return Ve(rr(4,t),n);case"Yo":return Ve(r.ordinalNumber(t,{unit:"year"}),n);default:return Ve(rr(e.length,t),n)}}validate(t,e){return e.isTwoDigitYear||e.year>0}set(t,e,r,n){const s=Xt(t,n);if(r.isTwoDigitYear){const e=ir(r.year,s);return t.setFullYear(e,0,n.firstWeekContainsDate),t.setHours(0,0,0,0),Ot(t,n)}const i="era"in e&&1!==e.era?1-r.year:r.year;return t.setFullYear(i,0,n.firstWeekContainsDate),t.setHours(0,0,0,0),Ot(t,n)}incompatibleTokens=["y","R","u","Q","q","M","L","I","d","D","i","t","T"]},R:new class extends Pe{priority=130;parse(t,e){return nr("R"===e?4:e.length,t)}set(t,e,r){const n=Tt(t,0);return n.setFullYear(r,0,4),n.setHours(0,0,0,0),Et(n)}incompatibleTokens=["G","y","Y","u","Q","q","M","L","w","d","D","e","c","t","T"]},u:new class extends Pe{priority=130;parse(t,e){return nr("u"===e?4:e.length,t)}set(t,e,r){return t.setFullYear(r,0,1),t.setHours(0,0,0,0),t}incompatibleTokens=["G","y","Y","R","w","I","i","e","c","t","T"]},Q:new class extends Pe{priority=120;parse(t,e,r){switch(e){case"Q":case"QQ":return rr(e.length,t);case"Qo":return r.ordinalNumber(t,{unit:"quarter"});case"QQQ":return r.quarter(t,{width:"abbreviated",context:"formatting"})||r.quarter(t,{width:"narrow",context:"formatting"});case"QQQQQ":return r.quarter(t,{width:"narrow",context:"formatting"});default:return r.quarter(t,{width:"wide",context:"formatting"})||r.quarter(t,{width:"abbreviated",context:"formatting"})||r.quarter(t,{width:"narrow",context:"formatting"})}}validate(t,e){return e>=1&&e<=4}set(t,e,r){return t.setMonth(3*(r-1),1),t.setHours(0,0,0,0),t}incompatibleTokens=["Y","R","q","M","L","w","I","d","D","i","e","c","t","T"]},q:new class extends Pe{priority=120;parse(t,e,r){switch(e){case"q":case"qq":return rr(e.length,t);case"qo":return r.ordinalNumber(t,{unit:"quarter"});case"qqq":return r.quarter(t,{width:"abbreviated",context:"standalone"})||r.quarter(t,{width:"narrow",context:"standalone"});case"qqqqq":return r.quarter(t,{width:"narrow",context:"standalone"});default:return r.quarter(t,{width:"wide",context:"standalone"})||r.quarter(t,{width:"abbreviated",context:"standalone"})||r.quarter(t,{width:"narrow",context:"standalone"})}}validate(t,e){return e>=1&&e<=4}set(t,e,r){return t.setMonth(3*(r-1),1),t.setHours(0,0,0,0),t}incompatibleTokens=["Y","R","Q","M","L","w","I","d","D","i","e","c","t","T"]},M:new class extends Pe{incompatibleTokens=["Y","R","q","Q","L","w","I","D","i","e","c","t","T"];priority=110;parse(t,e,r){const n=t=>t-1;switch(e){case"M":return Ve(Ze(De,t),n);case"MM":return Ve(rr(2,t),n);case"Mo":return Ve(r.ordinalNumber(t,{unit:"month"}),n);case"MMM":return r.month(t,{width:"abbreviated",context:"formatting"})||r.month(t,{width:"narrow",context:"formatting"});case"MMMMM":return r.month(t,{width:"narrow",context:"formatting"});default:return r.month(t,{width:"wide",context:"formatting"})||r.month(t,{width:"abbreviated",context:"formatting"})||r.month(t,{width:"narrow",context:"formatting"})}}validate(t,e){return e>=0&&e<=11}set(t,e,r){return t.setMonth(r,1),t.setHours(0,0,0,0),t}},L:new class extends Pe{priority=110;parse(t,e,r){const n=t=>t-1;switch(e){case"L":return Ve(Ze(De,t),n);case"LL":return Ve(rr(2,t),n);case"Lo":return Ve(r.ordinalNumber(t,{unit:"month"}),n);case"LLL":return r.month(t,{width:"abbreviated",context:"standalone"})||r.month(t,{width:"narrow",context:"standalone"});case"LLLLL":return r.month(t,{width:"narrow",context:"standalone"});default:return r.month(t,{width:"wide",context:"standalone"})||r.month(t,{width:"abbreviated",context:"standalone"})||r.month(t,{width:"narrow",context:"standalone"})}}validate(t,e){return e>=0&&e<=11}set(t,e,r){return t.setMonth(r,1),t.setHours(0,0,0,0),t}incompatibleTokens=["Y","R","q","Q","M","w","I","D","i","e","c","t","T"]},w:new class extends Pe{priority=100;parse(t,e,r){switch(e){case"w":return Ze(Oe,t);case"wo":return r.ordinalNumber(t,{unit:"week"});default:return rr(e.length,t)}}validate(t,e){return e>=1&&e<=53}set(t,e,r,n){return Ot(function(t,e,r){const n=Pt(t,r?.in),s=Ut(n,r)-e;return n.setDate(n.getDate()-7*s),Pt(n,r?.in)}(t,r,n),n)}incompatibleTokens=["y","R","u","q","Q","M","L","I","d","D","i","t","T"]},I:new class extends Pe{priority=100;parse(t,e,r){switch(e){case"I":return Ze(Oe,t);case"Io":return r.ordinalNumber(t,{unit:"week"});default:return rr(e.length,t)}}validate(t,e){return e>=1&&e<=53}set(t,e,r){return Et(function(t,e,r){const n=Pt(t,r?.in),s=Bt(n,r)-e;return n.setDate(n.getDate()-7*s),n}(t,r))}incompatibleTokens=["y","Y","u","q","Q","M","L","w","d","D","e","c","t","T"]},d:new class extends Pe{priority=90;subPriority=1;parse(t,e,r){switch(e){case"d":return Ze(Me,t);case"do":return r.ordinalNumber(t,{unit:"date"});default:return rr(e.length,t)}}validate(t,e){const r=ar(t.getFullYear()),n=t.getMonth();return r?e>=1&&e<=ur[n]:e>=1&&e<=or[n]}set(t,e,r){return t.setDate(r),t.setHours(0,0,0,0),t}incompatibleTokens=["Y","R","q","Q","w","I","D","i","e","c","t","T"]},D:new class extends Pe{priority=90;subpriority=1;parse(t,e,r){switch(e){case"D":case"DD":return Ze(qe,t);case"Do":return r.ordinalNumber(t,{unit:"date"});default:return rr(e.length,t)}}validate(t,e){return ar(t.getFullYear())?e>=1&&e<=366:e>=1&&e<=365}set(t,e,r){return t.setMonth(0,r),t.setHours(0,0,0,0),t}incompatibleTokens=["Y","R","q","Q","M","L","w","I","d","E","i","e","c","t","T"]},E:new class extends Pe{priority=90;parse(t,e,r){switch(e){case"E":case"EE":case"EEE":return r.day(t,{width:"abbreviated",context:"formatting"})||r.day(t,{width:"short",context:"formatting"})||r.day(t,{width:"narrow",context:"formatting"});case"EEEEE":return r.day(t,{width:"narrow",context:"formatting"});case"EEEEEE":return r.day(t,{width:"short",context:"formatting"})||r.day(t,{width:"narrow",context:"formatting"});default:return r.day(t,{width:"wide",context:"formatting"})||r.day(t,{width:"abbreviated",context:"formatting"})||r.day(t,{width:"short",context:"formatting"})||r.day(t,{width:"narrow",context:"formatting"})}}validate(t,e){return e>=0&&e<=6}set(t,e,r,n){return(t=cr(t,r,n)).setHours(0,0,0,0),t}incompatibleTokens=["D","i","e","c","t","T"]},e:new class extends Pe{priority=90;parse(t,e,r,n){const s=t=>{const e=7*Math.floor((t-1)/7);return(t+n.weekStartsOn+6)%7+e};switch(e){case"e":case"ee":return Ve(rr(e.length,t),s);case"eo":return Ve(r.ordinalNumber(t,{unit:"day"}),s);case"eee":return r.day(t,{width:"abbreviated",context:"formatting"})||r.day(t,{width:"short",context:"formatting"})||r.day(t,{width:"narrow",context:"formatting"});case"eeeee":return r.day(t,{width:"narrow",context:"formatting"});case"eeeeee":return r.day(t,{width:"short",context:"formatting"})||r.day(t,{width:"narrow",context:"formatting"});default:return r.day(t,{width:"wide",context:"formatting"})||r.day(t,{width:"abbreviated",context:"formatting"})||r.day(t,{width:"short",context:"formatting"})||r.day(t,{width:"narrow",context:"formatting"})}}validate(t,e){return e>=0&&e<=6}set(t,e,r,n){return(t=cr(t,r,n)).setHours(0,0,0,0),t}incompatibleTokens=["y","R","u","q","Q","M","L","I","d","D","E","i","c","t","T"]},c:new class extends Pe{priority=90;parse(t,e,r,n){const s=t=>{const e=7*Math.floor((t-1)/7);return(t+n.weekStartsOn+6)%7+e};switch(e){case"c":case"cc":return Ve(rr(e.length,t),s);case"co":return Ve(r.ordinalNumber(t,{unit:"day"}),s);case"ccc":return r.day(t,{width:"abbreviated",context:"standalone"})||r.day(t,{width:"short",context:"standalone"})||r.day(t,{width:"narrow",context:"standalone"});case"ccccc":return r.day(t,{width:"narrow",context:"standalone"});case"cccccc":return r.day(t,{width:"short",context:"standalone"})||r.day(t,{width:"narrow",context:"standalone"});default:return r.day(t,{width:"wide",context:"standalone"})||r.day(t,{width:"abbreviated",context:"standalone"})||r.day(t,{width:"short",context:"standalone"})||r.day(t,{width:"narrow",context:"standalone"})}}validate(t,e){return e>=0&&e<=6}set(t,e,r,n){return(t=cr(t,r,n)).setHours(0,0,0,0),t}incompatibleTokens=["y","R","u","q","Q","M","L","I","d","D","E","i","e","t","T"]},i:new class extends Pe{priority=90;parse(t,e,r){const n=t=>0===t?7:t;switch(e){case"i":case"ii":return rr(e.length,t);case"io":return r.ordinalNumber(t,{unit:"day"});case"iii":return Ve(r.day(t,{width:"abbreviated",context:"formatting"})||r.day(t,{width:"short",context:"formatting"})||r.day(t,{width:"narrow",context:"formatting"}),n);case"iiiii":return Ve(r.day(t,{width:"narrow",context:"formatting"}),n);case"iiiiii":return Ve(r.day(t,{width:"short",context:"formatting"})||r.day(t,{width:"narrow",context:"formatting"}),n);default:return Ve(r.day(t,{width:"wide",context:"formatting"})||r.day(t,{width:"abbreviated",context:"formatting"})||r.day(t,{width:"short",context:"formatting"})||r.day(t,{width:"narrow",context:"formatting"}),n)}}validate(t,e){return e>=1&&e<=7}set(t,e,r){return(t=dr(t,r)).setHours(0,0,0,0),t}incompatibleTokens=["y","Y","u","q","Q","M","L","w","d","D","E","e","c","t","T"]},a:new class extends Pe{priority=80;parse(t,e,r){switch(e){case"a":case"aa":case"aaa":return r.dayPeriod(t,{width:"abbreviated",context:"formatting"})||r.dayPeriod(t,{width:"narrow",context:"formatting"});case"aaaaa":return r.dayPeriod(t,{width:"narrow",context:"formatting"});default:return r.dayPeriod(t,{width:"wide",context:"formatting"})||r.dayPeriod(t,{width:"abbreviated",context:"formatting"})||r.dayPeriod(t,{width:"narrow",context:"formatting"})}}set(t,e,r){return t.setHours(sr(r),0,0,0),t}incompatibleTokens=["b","B","H","k","t","T"]},b:new class extends Pe{priority=80;parse(t,e,r){switch(e){case"b":case"bb":case"bbb":return r.dayPeriod(t,{width:"abbreviated",context:"formatting"})||r.dayPeriod(t,{width:"narrow",context:"formatting"});case"bbbbb":return r.dayPeriod(t,{width:"narrow",context:"formatting"});default:return r.dayPeriod(t,{width:"wide",context:"formatting"})||r.dayPeriod(t,{width:"abbreviated",context:"formatting"})||r.dayPeriod(t,{width:"narrow",context:"formatting"})}}set(t,e,r){return t.setHours(sr(r),0,0,0),t}incompatibleTokens=["a","B","H","k","t","T"]},B:new class extends Pe{priority=80;parse(t,e,r){switch(e){case"B":case"BB":case"BBB":return r.dayPeriod(t,{width:"abbreviated",context:"formatting"})||r.dayPeriod(t,{width:"narrow",context:"formatting"});case"BBBBB":return r.dayPeriod(t,{width:"narrow",context:"formatting"});default:return r.dayPeriod(t,{width:"wide",context:"formatting"})||r.dayPeriod(t,{width:"abbreviated",context:"formatting"})||r.dayPeriod(t,{width:"narrow",context:"formatting"})}}set(t,e,r){return t.setHours(sr(r),0,0,0),t}incompatibleTokens=["a","b","t","T"]},h:new class extends Pe{priority=70;parse(t,e,r){switch(e){case"h":return Ze(He,t);case"ho":return r.ordinalNumber(t,{unit:"hour"});default:return rr(e.length,t)}}validate(t,e){return e>=1&&e<=12}set(t,e,r){const n=t.getHours()>=12;return n&&r<12?t.setHours(r+12,0,0,0):n||12!==r?t.setHours(r,0,0,0):t.setHours(0,0,0,0),t}incompatibleTokens=["H","K","k","t","T"]},H:new class extends Pe{priority=70;parse(t,e,r){switch(e){case"H":return Ze(Ee,t);case"Ho":return r.ordinalNumber(t,{unit:"hour"});default:return rr(e.length,t)}}validate(t,e){return e>=0&&e<=23}set(t,e,r){return t.setHours(r,0,0,0),t}incompatibleTokens=["a","b","h","K","k","t","T"]},K:new class extends Pe{priority=70;parse(t,e,r){switch(e){case"K":return Ze(Ce,t);case"Ko":return r.ordinalNumber(t,{unit:"hour"});default:return rr(e.length,t)}}validate(t,e){return e>=0&&e<=11}set(t,e,r){return t.getHours()>=12&&r<12?t.setHours(r+12,0,0,0):t.setHours(r,0,0,0),t}incompatibleTokens=["h","H","k","t","T"]},k:new class extends Pe{priority=70;parse(t,e,r){switch(e){case"k":return Ze(Fe,t);case"ko":return r.ordinalNumber(t,{unit:"hour"});default:return rr(e.length,t)}}validate(t,e){return e>=1&&e<=24}set(t,e,r){const n=r<=24?r%24:r;return t.setHours(n,0,0,0),t}incompatibleTokens=["a","b","h","H","K","t","T"]},m:new class extends Pe{priority=60;parse(t,e,r){switch(e){case"m":return Ze(je,t);case"mo":return r.ordinalNumber(t,{unit:"minute"});default:return rr(e.length,t)}}validate(t,e){return e>=0&&e<=59}set(t,e,r){return t.setMinutes(r,0,0),t}incompatibleTokens=["t","T"]},s:new class extends Pe{priority=50;parse(t,e,r){switch(e){case"s":return Ze(Ne,t);case"so":return r.ordinalNumber(t,{unit:"second"});default:return rr(e.length,t)}}validate(t,e){return e>=0&&e<=59}set(t,e,r){return t.setSeconds(r,0),t}incompatibleTokens=["t","T"]},S:new class extends Pe{priority=30;parse(t,e){return Ve(rr(e.length,t),(t=>Math.trunc(t*Math.pow(10,3-e.length))))}set(t,e,r){return t.setMilliseconds(r),t}incompatibleTokens=["t","T"]},X:new class extends Pe{priority=10;parse(t,e){switch(e){case"X":return tr(Be,t);case"XX":return tr(Xe,t);case"XXXX":return tr(Ue,t);case"XXXXX":return tr(Ke,t);default:return tr(Je,t)}}set(t,e,r){return e.timestampIsSet?t:Tt(t,t.getTime()-Ct(t)-r)}incompatibleTokens=["t","T","x"]},x:new class extends Pe{priority=10;parse(t,e){switch(e){case"x":return tr(Be,t);case"xx":return tr(Xe,t);case"xxxx":return tr(Ue,t);case"xxxxx":return tr(Ke,t);default:return tr(Je,t)}}set(t,e,r){return e.timestampIsSet?t:Tt(t,t.getTime()-Ct(t)-r)}incompatibleTokens=["t","T","X"]},t:new class extends Pe{priority=40;parse(t){return er(t)}set(t,e,r){return[Tt(t,1e3*r),{timestampIsSet:!0}]}incompatibleTokens="*"},T:new class extends Pe{priority=20;parse(t){return er(t)}set(t,e,r){return[Tt(t,r),{timestampIsSet:!0}]}incompatibleTokens="*"}},lr=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,pr=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,gr=/^'([^]*?)'?$/,fr=/''/g,mr=/\S/,wr=/[a-zA-Z]/;function yr(t,e,r,n){const s=()=>Tt(r,NaN),i=Object.assign({},qt()),a=i.locale??_t,o=i.firstWeekContainsDate??i.locale?.options?.firstWeekContainsDate??1,u=i.weekStartsOn??i.locale?.options?.weekStartsOn??0;if(!e)return t?s():Pt(r,n?.in);const c={firstWeekContainsDate:o,weekStartsOn:u,locale:a},d=[new Te(n?.in,r)],h=e.match(pr).map((t=>{const e=t[0];if(e in de){return(0,de[e])(t,a.formatLong)}return t})).join("").match(lr),l=[];for(let r of h){fe(r)&&me(r,e,t),ge(r)&&me(r,e,t);const n=r[0],i=hr[n];if(i){const{incompatibleTokens:e}=i;if(Array.isArray(e)){const t=l.find((t=>e.includes(t.token)||t.token===n));if(t)throw new RangeError(`The format string mustn't contain \`${t.fullToken}\` and \`${r}\` at the same time`)}else if("*"===i.incompatibleTokens&&l.length>0)throw new RangeError(`The format string mustn't contain \`${r}\` and any other token at the same time`);l.push({token:n,fullToken:r});const o=i.run(t,r,a.match,c);if(!o)return s();d.push(o.setter),t=o.rest}else{if(n.match(wr))throw new RangeError("Format string contains an unescaped latin alphabet character `"+n+"`");if("''"===r?r="'":"'"===n&&(r=r.match(gr)[1].replace(fr,"'")),0!==t.indexOf(r))return s();t=t.slice(r.length)}}if(t.length>0&&mr.test(t))return s();const p=d.map((t=>t.priority)).sort(((t,e)=>e-t)).filter(((t,e,r)=>r.indexOf(t)===e)).map((t=>d.filter((e=>e.priority===t)).sort(((t,e)=>e.subPriority-t.subPriority)))).map((t=>t[0]));let g=Pt(r,n?.in);if(isNaN(+g))return s();const f={};for(const t of p){if(!t.validate(g,c))return s();const e=t.set(g,f,c);Array.isArray(e)?(g=e[0],Object.assign(f,e[1])):g=e}return g}class br extends xt{constructor(t={},e,r={}){super(t,e,"store-hour",r)}get day(){return this.getAttribute("day")}get isClosed(){return null===this.getAttribute("start")&&null===this.getAttribute("end")}get is24Hours(){const t=this.startDateInstance,e=this.endDateInstance;if(null===t||null===e||!Nt(t)||!Nt(e))return!1;const r=Math.abs(t.getTime()-e.getTime());return Math.floor(r/1e3/60)/60>23}get startDateInstance(){if(!this.hasAttribute("start"))return null;const t=this.getAttribute("start");if("string"!=typeof t)return null;const e=3===t.split(":").length;return yr(t,e?"HH:mm:ss":"HH:mm",new Date)}get endDateInstance(){if(!this.hasAttribute("end"))return null;const t=this.getAttribute("end");if("string"!=typeof t)return null;const e=3===t.split(":").length;return yr(t,e?"HH:mm:ss":"HH:mm",new Date)}get humanReadableHoursRange(){const t=this.startDateInstance,e=this.endDateInstance;return null!==t&&null!==e&&Nt(t)&&Nt(e)?`${Ae(t,"p")} - ${Ae(e,"p")}`:`${this.getAttribute("start")} - ${this.getAttribute("end")}`}get humanReadableHours(){return this.isClosed?"Closed":this.is24Hours?"24 Hours":this.humanReadableHoursRange}create(){throw new Error("There is no create() method store location!")}update(){throw new Error("There is no update() method store location!")}destroy(){throw new Error("There is no destroy() method store location!")}reload(){throw new Error("There is no reload() method store location!")}}O("resource","StoreHour",br);class vr extends xt{constructor(t={},e,r={}){super(t,e,"store-location",r)}get latitude(){return this.getAttribute("place.location.coordinates.1")}get longitude(){return this.getAttribute("place.location.coordinates.0")}get hours(){const t=this.getAttribute("hours",[]);return new m(t.map((t=>new br(t,this.adapter))))}get storeData(){const t=this.getAttribute("store_data"),e=this.getAttribute("store");return t||(e&&"object"==typeof e?e:null)}get storeId(){const t=this.getAttribute("store"),e=this.storeData;return"string"==typeof t?t:e?.id||e?.public_id}get merchant(){return this.storeData?E("resource","Store",this.storeData,this.adapter):null}get isAlwaysOpen(){return this.hours.length>0&&this.hours.every((t=>t?.is24Hours))}get today(){const t=Ae(new Date,"EEEE");return this.schedule[t]}get schedule(){const t={},e=["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"];for(let r=0;rnew m(t.map((t=>new $t(t,this.adapter))))))}getTags(t={}){return this.adapter.get("tags",t)}getLocations(t={}){return this.adapter.get("locations",{store:this.id,...t}).then((t=>new m(t.map((t=>(t.place&&(t.place=new at(t.place,this.adapter)),new vr(t,this.adapter)))))))}getLocation(t){return this.adapter.get(`locations/${t}`,{store:this.id}).then((t=>new vr(t,this.adapter)))}getPaymentGateways(t={}){return this.adapter.get("gateways",t).then((t=>new m(t.map((t=>new xr(t,this.adapter))))))}getPaymentGateway(t){return this.adapter.get(`gateways/${t}`).then((t=>new xr(t,this.adapter)))}}O("resource","Store",Ar);class $r extends xt{constructor(t={},e,r={}){super(t,e,"product",r)}variants(){return this.getAttribute("variants")}addons(){return this.getAttribute("addon_categories")}images(){return this.getAttribute("images")??[]}videos(){return this.getAttribute("videos")??[]}hours(){return this.getAttribute("hours")??[]}get isOnSale(){return this.getAttribute("is_on_sale")}get isNotOnSale(){return!this.getAttribute("is_on_sale")}get formattedAmount(){const{price:t,sale_price:e,currency:r}=this.getAttributes(["price","sale_price","currency"]);return this.isOnSale?vt(e)||vt(r)?null:bt(e/100,r):vt(t)||vt(r)?null:bt(t/100,r)}get merchant(){const t=this.getAttribute("store");return t&&"object"==typeof t?new Ar(t,this.adapter):null}getReviews(){return this.adapter.get("reviews",{store:this.id}).then((t=>new m(t.map((t=>new $t(t,this.adapter))))))}}O("resource","Product",$r);class Sr extends xt{constructor(t={},e,r={}){super(t,e,"category",r)}getProducts(){return this.adapter.get("products",{category:this.id}).then((t=>new m(t.map((t=>new $r(t,this.adapter))))))}}O("resource","Category",Sr);const kr=new F({login:function(t,e=null,r={}){if(function(t=""){return/^[+]?[\s./0-9]*[(]?[0-9]{1,4}[)]?[-\s./0-9]*$/.test(t)}(t))return this.adapter.post("customers/login-with-sms",{phone:t});if(!e)throw new Error("Login requires password!");return this.adapter.post("customers/login",{identity:t,password:e,...r}).then(this.afterFetch.bind(this))},loginWithApple:function(t,e,r,n,s,i={}){return this.adapter.post("customers/login-with-apple",{appleUserId:t,identityToken:e,authorizationCode:r,email:n,name:s,...i}).then(this.afterFetch.bind(this))},loginWithFacebook:function(t,e,r,n,s={}){return this.adapter.post("customers/login-with-facebook",{facebookUserId:t,email:e,name:r,avatarUrl:n,...s}).then(this.afterFetch.bind(this))},loginWithGoogle:function(t,e,r={}){return this.adapter.post("customers/login-with-google",{idToken:t,clientId:e,...r}).then(this.afterFetch.bind(this))},verifyCode:function(t,e,r={}){return this.adapter.post("customers/verify-code",{identity:t,code:e,...r}).then(this.afterFetch.bind(this))},requestCreationCode(t,e="email"){return this.adapter.post("customers/request-creation-code",{identity:t,mode:e})},create(t,e,r={}){return this.adapter.post("customers",{identity:t,code:e,...r}).then(this.afterFetch.bind(this))},retrieve:function(t){return this.findRecord(t)}});class Tr extends xt{constructor(t={},e,r={}){super(t,e,"customer",{actions:kr,...r})}get token(){const t=this.getAttribute("token");return"string"==typeof t?t:void 0}async syncDevice(t,e){return this.performAuthorizedRequest("customers/register-device",{token:t,platform:e},"POST")}performAuthorizedRequest(t,e={},r="GET",n={}){const s={...n,headers:{...n.headers,...this.token?{"Customer-Token":this.token}:{}}};return this.adapter[r.toLowerCase()](t,e,s)}async getSavedPlaces(){const t=await this.performAuthorizedRequest("customers/places");return new m(t.map((t=>new at(t,this.adapter))))}async getOrderHistory(t={}){const e=await this.performAuthorizedRequest("customers/orders",t);return new m(e.map((t=>new ft(t,this.adapter))))}getStripeEphemeralKey(t={}){return this.performAuthorizedRequest("customers/stripe-ephemeral-key",t,"POST")}getStripeSetupIntent(t={}){return this.performAuthorizedRequest("customers/stripe-setup-intent",t,"POST")}socketToken(t={},e={}){return this.performAuthorizedRequest("customers/socket-token",t,"POST",e)}startAccountClosure(t={},e={}){return this.performAuthorizedRequest("customers/account-closure",t,"POST",e)}confirmAccountClosure(t,e={},r={}){return this.performAuthorizedRequest("customers/confirm-account-closure",{code:t,...e},"POST",r)}requestPhoneVerification(t,e={},r={}){return this.performAuthorizedRequest("customers/request-phone-verification",{phone:t,...e},"POST",r)}verifyPhoneNumber(t,e,r={},n={}){return this.performAuthorizedRequest("customers/verify-phone-number",{code:t,phone:e,...r},"POST",n)}updateContactAlias(t={},e={}){return this.performAuthorizedRequest(`contacts/${this.id}`,t,"PUT",e).then((t=>(this.syncAttributes(t),this)))}}O("resource","Customer",Tr);const{isArray:Pr}=Array,Dr=new F({create:void 0,findAll:void 0,query:void 0,queryRecord:void 0,add:function(t,e,r=1,n={},s={}){return this.adapter.post(`${this.namespace}/${t}/${e}`,{...n,quantity:r},s).then(this.afterFetch.bind(this))},update:function(t,e,r,n={},s={}){return this.adapter.put(`${this.namespace}/${t}/${e}`,{...n,quantity:r},s).then(this.afterFetch.bind(this))},remove:function(t,e,r={}){return this.adapter.delete(`${this.namespace}/${t}/${e}`,{},r).then(this.afterFetch.bind(this))},empty:function(t,e={}){return this.adapter.put(`${this.namespace}/${t}/empty`,{},e).then(this.afterFetch.bind(this))},retrieve:function(t=""){return this.findRecord(t)}});class Mr extends xt{constructor(t={},e,r={}){super(t,e,"cart",{actions:Dr,...r})}add(t,e=1,r={},n={}){return t instanceof $r&&(t=t.id),this.store.add(this.id,t,e,r,n)}update(t,e,r={},n={}){return this.store.update.call(this.store,this.id,t,e,r,n)}remove(t,e={}){return this.store.remove(this.id,t,e)}empty(t={}){return this.store.empty(this.id,t)}delete(){return this.destroy()}refresh(){return this.store.retrieve(this.id)}subtotal(){return this.contents().reduce(((t,e)=>t+Number(e?.subtotal||0)),0)}contents(){const t=this.getAttribute("items",[]);return Pr(t)?t:[]}hasProduct(t){return-1!==this.contents().findIndex((e=>e.product_id===t))}get isEmpty(){return 0===this.contents().length}get isNotEmpty(){return!this.isEmpty}}O("resource","Cart",Mr);class qr extends xt{constructor(t={},e,r={}){super(t,e,"network",r)}getTags(t={}){return this.adapter.get("tags",t)}async getResourceCollection(t,e,r={}){const n=await this.adapter.get(t,r);return new m(n.map((t=>new e(t,this.adapter))))}async getStores(t={}){return this.getResourceCollection("stores",Ar,t)}async getStoreLocations(t={}){return this.getResourceCollection("store-locations",vr,t)}async getCategories(t={}){return this.getResourceCollection("categories",Sr,t)}async search(t,e={}){return this.getResourceCollection("search",$r,{query:t,with_store:!0,...e})}async lookupStore(t){const e=await this.adapter.get(`lookup/${t}`);return new Ar(e,this.adapter)}async getReviews(t,e={}){return this.getResourceCollection("reviews",$t,{store:t,...e})}async getPaymentGateways(t={}){return this.getResourceCollection("gateways",xr,t)}}O("resource","Network",qr);class Or extends wt{constructor(t={},r,n={}){let s=t,i=r;(t instanceof e||t&&"function"==typeof t.get&&"function"==typeof t.post)&&(s={},i=t),super(s,i,n)}get formattedAmount(){const{amount:t,currency:e}=this.getAttributes(["amount","currency"]);return vt(t)||vt(e)?null:bt(t/100,e)}async fromCart(...t){return this.fetchServiceQuotesFromCart(...t)}async fetchServiceQuotesFromCart(t,e,r,n="storefront",s=!1){"object"==typeof t&&t?.id&&(t=t.id),"object"==typeof e&&e?.id&&(e=e.id),"object"==typeof r&&r?.id&&(r=r.id);const i=await this.adapter.get("service-quotes/from-cart",{origin:t,destination:e,cart:r,config:n,all:s});return a=i,Array.isArray(a)?new m(i.map((t=>new Or(t,this.adapter)))):new Or(i,this.adapter);var a}static async getFromCart(t,e,r,n,s="storefront",i=!1){return new Or(t).fetchServiceQuotesFromCart(e,r,n,s,i)}}O("resource","DeliveryServiceQuote",Or);class Er extends ft{constructor(t={},e,r={}){super(t,e,r)}}O("resource","Order",Er);const Fr=new F({create:void 0,findAll:void 0,query:void 0,queryRecord:void 0,initialize:function(t,e,r,n,s={},i={}){return H(t)&&(t=t.id),H(e)&&(e=e.id),H(r)&&(r=r.id),H(n)&&(n=n.getAttribute("code")),this.adapter.get(`${this.namespace}/before`,{...s,customer:t,cart:e,serviceQuote:r,gateway:n},i)},captureOrder:function(t,e={},r={}){return this.adapter.post(`${this.namespace}/capture`,{token:t,...e},r).then((t=>new Er(t,this.adapter)))},createStripeSetupIntent:function(t,e={},r={}){return H(t)&&(t=t.id),this.adapter.post(`${this.namespace}/stripe-setup-intent`,{customer:t,...e},r)},updateStripePaymentIntent:function(t,e,r,n,s={},i={}){return H(e)&&(e=e.id),H(r)&&(r=r.id),H(n)&&(n=n.id),this.adapter.put(`${this.namespace}/stripe-update-payment-intent`,{paymentIntent:t,customer:e,cart:r,serviceQuote:n,...s},i)},getStatus:function(t,e,r={}){return H(t)&&(t=t.id),this.adapter.get(`${this.namespace}/status`,{checkout:t,token:e},r)},captureQPay:function(t,e={},r={}){return H(t)&&(t=t.id),this.adapter.post(`${this.namespace}/capture-qpay`,{checkout:t,...e},r)},captureQPayCallback:function(t,e={},r={}){return H(t)&&(t=t.id),this.adapter.get(`${this.namespace}/capture-qpay`,{checkout:t,...e},r)}});class Cr extends xt{constructor(t={},e,r={}){super(t,e,"checkout",{actions:Fr,...r})}initialize(t,e,r,n,s={},i={}){return this.store.initialize(t,e,r,n,s,i)}captureOrder(t,e={},r={}){return this.store.captureOrder(t,e,r)}createStripeSetupIntent(t,e={},r={}){return this.store.createStripeSetupIntent(t,e,r)}updateStripePaymentIntent(t,e,r,n,s={},i={}){return this.store.updateStripePaymentIntent(t,e,r,n,s,i)}getStatus(t,e,r={}){return this.store.getStatus(t,e,r)}captureQPay(t,e={},r={}){return this.store.captureQPay(t,e,r)}captureQPayCallback(t,e={},r={}){return this.store.captureQPayCallback(t,e,r)}}O("resource","Checkout",Cr);class Hr extends xt{constructor(t={},e,r={}){super(t,e,"food-truck",r)}}function jr(t){return H(t)?t.id:t}O("resource","FoodTruck",Hr);const Nr=new F({create:void 0,update:void 0,findAll:void 0,query:void 0,queryRecord:void 0,completePickup:function(t,e={},r={}){return this.adapter.put(`${this.namespace}/picked-up`,{order:jr(t),...e},r)},getReceipt:function(t,e={},r={}){return this.adapter.post(`${this.namespace}/receipt`,{order:jr(t),...e},r)}});class zr{version;options;adapter;products;categories;foodTrucks;reviews;customers;cart;checkout;orders;constructor(t,e={},r=!1){if(this.version=e.version||"v1",this.options={version:this.version,host:e.host||"https://api.fleetbase.io",namespace:e.namespace||`storefront/${this.version}`,publicKey:t,debug:r},!("string"==typeof(n=t)&&n.length>30&&(n.startsWith("store_")||n.startsWith("network_"))))throw new Error("⚠️ Invalid Storefront key given to Storefront SDK");var n;this.adapter=e.adapter||p(this.options),this.initializeStores()}initializeStores(){return this.products=new yt("product",this.adapter),this.categories=new yt("category",this.adapter),this.foodTrucks=new yt("food-truck",this.adapter),this.reviews=new yt("review",this.adapter).extendActions(At),this.customers=new yt("customer",this.adapter).extendActions(kr),this.cart=new yt("cart",this.adapter).extendActions(Dr),this.checkout=new yt("checkout",this.adapter).extendActions(Fr),this.orders=new yt("order",this.adapter).extendActions(Nr),this}about(t={}){return this.adapter.get("about").then((e=>t.resource?this.hydrateOwner(e):e))}getOwner(){return this.about({resource:!0})}lookup(t,e={}){return this.adapter.get(`lookup/${t}`).then((t=>e.resource?this.hydrateOwner(t):t))}lookupResource(t){return this.lookup(t,{resource:!0})}search(t,e={}){return this.adapter.get("search",{query:t,...e}).then((t=>new m(t.map((t=>new $r(t,this.adapter))))))}hydrateOwner(t={}){return!0===t?.is_network?new qr(t,this.adapter):new Ar(t,this.adapter)}static newInstance(...t){return new zr(...t)}setAdapter(t){return this.adapter=t,this.initializeStores()}getAdapter(){return this.adapter}}t.Cart=Mr,t.Category=Sr,t.Checkout=Cr,t.Customer=Tr,t.DeliveryServiceQuote=Or,t.FoodTruck=Hr,t.Network=qr,t.Order=Er,t.PaymentGateway=xr,t.Product=$r,t.Review=$t,t.Store=Ar,t.StoreHour=br,t.StoreLocation=vr,t.default=zr,t.lookup=E,Object.defineProperty(t,"__esModule",{value:!0})})); //# sourceMappingURL=@storefront.min.js.map diff --git a/dist/@storefront.min.js.map b/dist/@storefront.min.js.map index a22fcfa..bd4fcbc 100644 --- a/dist/@storefront.min.js.map +++ b/dist/@storefront.min.js.map @@ -1 +1 @@ -{"version":3,"file":"@storefront.min.js","sources":["../node_modules/.pnpm/@fleetbase+sdk@1.2.13/node_modules/@fleetbase/sdk/dist/esm/fleetbase.js","../src/store.ts","../src/utils/format-currency.ts","../src/utils/is-empty.ts","../src/resource.ts","../src/resources/review.ts","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/constants.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/constructFrom.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/toDate.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/addDays.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/_lib/defaultOptions.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/startOfWeek.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/startOfISOWeek.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/getISOWeekYear.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/_lib/getTimezoneOffsetInMilliseconds.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/startOfDay.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/differenceInCalendarDays.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/_lib/normalizeDates.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/isValid.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/isDate.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/locale/en-US/_lib/formatDistance.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/locale/_lib/buildFormatLongFn.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/locale/en-US/_lib/formatLong.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/locale/en-US/_lib/formatRelative.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/locale/_lib/buildLocalizeFn.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/locale/_lib/buildMatchFn.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/locale/_lib/buildMatchPatternFn.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/locale/en-US.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/locale/en-US/_lib/localize.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/locale/en-US/_lib/match.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/getDayOfYear.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/startOfYear.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/getISOWeek.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/startOfISOWeekYear.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/getWeekYear.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/getWeek.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/startOfWeekYear.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/_lib/addLeadingZeros.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/_lib/format/lightFormatters.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/_lib/format/formatters.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/_lib/format/longFormatters.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/_lib/protectedTokens.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/format.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/parse/_lib/Setter.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/transpose.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/parse/_lib/Parser.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/parse/_lib/constants.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/parse/_lib/utils.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/parse/_lib/parsers/DateParser.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/setDay.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/setISODay.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/getISODay.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/parse/_lib/parsers.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/parse/_lib/parsers/EraParser.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/parse/_lib/parsers/YearParser.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/parse/_lib/parsers/LocalWeekYearParser.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/parse/_lib/parsers/ISOWeekYearParser.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/parse/_lib/parsers/ExtendedYearParser.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/parse/_lib/parsers/QuarterParser.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/parse/_lib/parsers/StandAloneQuarterParser.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/parse/_lib/parsers/MonthParser.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/parse/_lib/parsers/StandAloneMonthParser.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/parse/_lib/parsers/LocalWeekParser.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/setWeek.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/parse/_lib/parsers/ISOWeekParser.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/setISOWeek.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/parse/_lib/parsers/DayOfYearParser.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/parse/_lib/parsers/DayParser.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/parse/_lib/parsers/LocalDayParser.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/parse/_lib/parsers/StandAloneLocalDayParser.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/parse/_lib/parsers/ISODayParser.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/parse/_lib/parsers/AMPMParser.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/parse/_lib/parsers/AMPMMidnightParser.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/parse/_lib/parsers/DayPeriodParser.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/parse/_lib/parsers/Hour1to12Parser.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/parse/_lib/parsers/Hour0to23Parser.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/parse/_lib/parsers/Hour0To11Parser.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/parse/_lib/parsers/Hour1To24Parser.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/parse/_lib/parsers/MinuteParser.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/parse/_lib/parsers/SecondParser.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/parse/_lib/parsers/FractionOfSecondParser.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/parse/_lib/parsers/ISOTimezoneWithZParser.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/parse/_lib/parsers/ISOTimezoneParser.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/parse/_lib/parsers/TimestampSecondsParser.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/parse/_lib/parsers/TimestampMillisecondsParser.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/parse.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/getDefaultOptions.js","../src/resources/store-hour.ts","../src/resources/store-location.ts","../src/resources/payment-gateway.ts","../src/resources/store.ts","../src/resources/product.ts","../src/resources/category.ts","../src/resources/customer.ts","../src/utils/is-phone.ts","../src/resources/cart.ts","../src/resources/network.ts","../src/resources/delivery-service-quote.ts","../src/utils/array.ts","../src/resources/order.ts","../src/resources/checkout.ts","../src/resources/food-truck.ts","../src/resources/order-actions.ts","../src/storefront.ts","../src/utils/is-key-valid.ts"],"sourcesContent":["function t(t,e){this.v=t,this.k=e}function e(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=Array(e);n=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:i}}throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}var o,a=!0,s=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return a=t.done,t},e:function(t){s=!0,o=t},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function g(t,e,n){return(e=j(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function y(t){return y=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},y(t)}function b(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function\");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,\"prototype\",{writable:!1}),e&&O(t,e)}function m(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(t){}return(m=function(){return!!t})()}function w(t){if(\"undefined\"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t[\"@@iterator\"])return Array.from(t)}function k(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}function E(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function A(t){for(var e=1;e=0;--o){var a=this.tryEntries[o],s=a.completion;if(\"root\"===a.tryLoc)return i(\"end\");if(a.tryLoc<=this.prev){var u=r.call(a,\"catchLoc\"),c=r.call(a,\"finallyLoc\");if(u&&c){if(this.prev=0;--n){var i=this.tryEntries[n];if(i.tryLoc<=this.prev&&r.call(i,\"finallyLoc\")&&this.prev=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),_(n),g}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var r=n.completion;if(\"throw\"===r.type){var i=r.arg;_(n)}return i}}throw Error(\"illegal catch attempt\")},delegateYield:function(e,n,r){return this.delegate={iterator:L(e),resultName:n,nextLoc:r},\"next\"===this.method&&(this.arg=t),g}},e}function O(t,e){return O=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},O(t,e)}function R(t,e){return n(t)||function(t,e){var n=null==t?null:\"undefined\"!=typeof Symbol&&t[Symbol.iterator]||t[\"@@iterator\"];if(null!=n){var r,i,o,a,s=[],u=!0,c=!1;try{if(o=(n=n.call(t)).next,0===e){if(Object(n)!==n)return;u=!1}else for(;!(u=(r=o.call(n)).done)&&(s.push(r.value),s.length!==e);u=!0);}catch(t){c=!0,i=t}finally{try{if(!u&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(c)throw i}}return s}}(t,e)||_(t,e)||k()}function S(t){return function(t){if(Array.isArray(t))return e(t)}(t)||w(t)||_(t)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function j(t){var e=function(t,e){if(\"object\"!=typeof t||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,e||\"default\");if(\"object\"!=typeof r)return r;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===e?String:Number)(t)}(t,\"string\");return\"symbol\"==typeof e?e:e+\"\"}function T(t){return T=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},T(t)}function _(t,n){if(t){if(\"string\"==typeof t)return e(t,n);var r={}.toString.call(t).slice(8,-1);return\"Object\"===r&&t.constructor&&(r=t.constructor.name),\"Map\"===r||\"Set\"===r?Array.from(t):\"Arguments\"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?e(t,n):void 0}}function P(t){return function(){return new L(t.apply(this,arguments))}}function L(e){var n,r;function i(n,r){try{var a=e[n](r),s=a.value,u=s instanceof t;Promise.resolve(u?s.v:s).then((function(t){if(u){var r=\"return\"===n?\"return\":\"next\";if(!s.k||t.done)return i(r,t);t=e[r](t).value}o(a.done?\"return\":\"normal\",t)}),(function(t){i(\"throw\",t)}))}catch(t){o(\"throw\",t)}}function o(t,e){switch(t){case\"return\":n.resolve({value:e,done:!0});break;case\"throw\":n.reject(e);break;default:n.resolve({value:e,done:!1})}(n=n.next)?i(n.key,n.arg):r=null}this._invoke=function(t,e){return new Promise((function(o,a){var s={key:t,arg:e,resolve:o,reject:a,next:null};r?r=r.next=s:(n=r=s,i(t,e))}))},\"function\"!=typeof e.return&&(this.return=void 0)}function C(t){var e=\"function\"==typeof Map?new Map:void 0;return C=function(t){if(null===t||!function(t){try{return-1!==Function.toString.call(t).indexOf(\"[native code]\")}catch(e){return\"function\"==typeof t}}(t))return t;if(\"function\"!=typeof t)throw new TypeError(\"Super expression must either be null or a function\");if(void 0!==e){if(e.has(t))return e.get(t);e.set(t,n)}function n(){return f(t,arguments,y(this).constructor)}return n.prototype=Object.create(t.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),O(n,t)},C(t)}L.prototype[\"function\"==typeof Symbol&&Symbol.asyncIterator||\"@@asyncIterator\"]=function(){return this},L.prototype.next=function(t){return this._invoke(\"next\",t)},L.prototype.throw=function(t){return this._invoke(\"throw\",t)},L.prototype.return=function(t){return this._invoke(\"return\",t)};var N=function(){function t(e){var n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];h(this,t),g(this,\"uncountableWords\",[\"equipment\",\"information\",\"rice\",\"money\",\"species\",\"series\",\"fish\",\"sheep\",\"moose\",\"deer\",\"news\"]),g(this,\"pluralRules\",[[new RegExp(\"(m)an$\",\"gi\"),\"$1en\"],[new RegExp(\"(pe)rson$\",\"gi\"),\"$1ople\"],[new RegExp(\"(child)$\",\"gi\"),\"$1ren\"],[new RegExp(\"^(ox)$\",\"gi\"),\"$1en\"],[new RegExp(\"(ax|test)is$\",\"gi\"),\"$1es\"],[new RegExp(\"(octop|vir)us$\",\"gi\"),\"$1i\"],[new RegExp(\"(alias|status)$\",\"gi\"),\"$1es\"],[new RegExp(\"(bu)s$\",\"gi\"),\"$1ses\"],[new RegExp(\"(buffal|tomat|potat)o$\",\"gi\"),\"$1oes\"],[new RegExp(\"([ti])um$\",\"gi\"),\"$1a\"],[new RegExp(\"sis$\",\"gi\"),\"ses\"],[new RegExp(\"(?:([^f])fe|([lr])f)$\",\"gi\"),\"$1$2ves\"],[new RegExp(\"(hive)$\",\"gi\"),\"$1s\"],[new RegExp(\"([^aeiouy]|qu)y$\",\"gi\"),\"$1ies\"],[new RegExp(\"(x|ch|ss|sh)$\",\"gi\"),\"$1es\"],[new RegExp(\"(matr|vert|ind)ix|ex$\",\"gi\"),\"$1ices\"],[new RegExp(\"([m|l])ouse$\",\"gi\"),\"$1ice\"],[new RegExp(\"(quiz)$\",\"gi\"),\"$1zes\"],[new RegExp(\"s$\",\"gi\"),\"s\"],[new RegExp(\"$\",\"gi\"),\"s\"]]),g(this,\"singularRules\",[[new RegExp(\"(m)en$\",\"gi\"),\"$1an\"],[new RegExp(\"(pe)ople$\",\"gi\"),\"$1rson\"],[new RegExp(\"(child)ren$\",\"gi\"),\"$1\"],[new RegExp(\"([ti])a$\",\"gi\"),\"$1um\"],[new RegExp(\"((a)naly|(b)a|(d)iagno|(p)arenthe|(p)rogno|(s)ynop|(t)he)ses$\",\"gi\"),\"$1$2sis\"],[new RegExp(\"(hive)s$\",\"gi\"),\"$1\"],[new RegExp(\"(tive)s$\",\"gi\"),\"$1\"],[new RegExp(\"(curve)s$\",\"gi\"),\"$1\"],[new RegExp(\"([lr])ves$\",\"gi\"),\"$1f\"],[new RegExp(\"([^fo])ves$\",\"gi\"),\"$1fe\"],[new RegExp(\"([^aeiouy]|qu)ies$\",\"gi\"),\"$1y\"],[new RegExp(\"(s)eries$\",\"gi\"),\"$1eries\"],[new RegExp(\"(m)ovies$\",\"gi\"),\"$1ovie\"],[new RegExp(\"(x|ch|ss|sh)es$\",\"gi\"),\"$1\"],[new RegExp(\"([m|l])ice$\",\"gi\"),\"$1ouse\"],[new RegExp(\"(bus)es$\",\"gi\"),\"$1\"],[new RegExp(\"(o)es$\",\"gi\"),\"$1\"],[new RegExp(\"(shoe)s$\",\"gi\"),\"$1\"],[new RegExp(\"(cris|ax|test)es$\",\"gi\"),\"$1is\"],[new RegExp(\"(octop|vir)i$\",\"gi\"),\"$1us\"],[new RegExp(\"(alias|status)es$\",\"gi\"),\"$1\"],[new RegExp(\"^(ox)en\",\"gi\"),\"$1\"],[new RegExp(\"(vert|ind)ices$\",\"gi\"),\"$1ex\"],[new RegExp(\"(matr)ices$\",\"gi\"),\"$1ix\"],[new RegExp(\"(quiz)zes$\",\"gi\"),\"$1\"],[new RegExp(\"s$\",\"gi\"),\"\"]]),g(this,\"nonTitlecasedWords\",[\"and\",\"or\",\"nor\",\"a\",\"an\",\"the\",\"so\",\"but\",\"to\",\"of\",\"at\",\"by\",\"from\",\"into\",\"on\",\"onto\",\"off\",\"out\",\"in\",\"over\",\"with\",\"for\"]),g(this,\"idSuffix\",new RegExp(\"(_ids|_id)$\",\"g\")),g(this,\"underbar\",new RegExp(\"_\",\"g\")),g(this,\"spaceOrUnderbar\",new RegExp(\"[ _]\",\"g\")),g(this,\"uppercase\",new RegExp(\"([A-Z])\",\"g\")),g(this,\"underbarPrefix\",new RegExp(\"^_\")),this.str=e,this.chain=n}return v(t,[{key:\"get\",value:function(){return this.str}},{key:\"applyRules\",value:function(t,e,n,r){if(r)t=r;else if(!(n.indexOf(t.toLowerCase())>-1))for(var i=0;i1&&void 0!==arguments[1]?arguments[1]:null;return t=t||this.str,this.applyRules(t,this.pluralRules,this.uncountableWords,e)}},{key:\"singularize\",value:function(t,e){return t=t||this.str,this.applyRules(t,this.singularRules,this.uncountableWords,e)}},{key:\"camelize\",value:function(t,e){for(var n=(t=t||this.str).split(\"/\"),r=0;r1&&void 0!==arguments[1]&&arguments[1];return t=t||this.str,t=this.underscore(this.demodulize(t))+(e?\"\":\"_\")+\"id\",this.str=t,!0===this.chain?this:t}},{key:\"ordinalize\",value:function(t){for(var e=(t=t||this.str).split(\" \"),n=0;n2?i-2:0),a=2;a2?n-2:0),i=2;i2?n-2:0),i=2;i2?n-2:0),i=2;i1?e-1:0),r=1;r3&&void 0!==arguments[3]?arguments[3]:[];if(V(t))if(r.length<=X)t.splice.apply(t,[e,n].concat(S(r)));else{t.splice(e,n);for(var i=0;i2&&void 0!==arguments[2]?arguments[2]:0,r=t.length,i=n;i2&&void 0!==arguments[2]?arguments[2]:0,r=arguments.length>3?arguments[3]:void 0,i=t.length;return n<0&&(n+=i),nt(t,r&&e!=e?function(t){return t!=t}:function(t){return t===e},n)}function it(t,e,n){return Q(t,e,0,[n]),n}function ot(){return f(at,Array.prototype.slice.call(arguments))}var at=function(){function t(){return h(this,t),r(V(arguments[0])?l(this,t,S(arguments[0])):l(this,t,arguments))}return b(t,C(Array)),v(t,[{key:\"notEmpty\",get:function(){return this.length>0}},{key:\"empty\",get:function(){return 0===this.length}},{key:\"first\",get:function(){return tt(this,0)}},{key:\"last\",get:function(){return tt(this,this.length-1)}},{key:\"replace\",value:function(t,e){return Q(this,t,e,arguments.length>2&&void 0!==arguments[2]?arguments[2]:[]),this}},{key:\"objectsAt\",value:function(t){var e=this;return t.map((function(t){return tt(e,t)}))}},{key:\"objectAt\",value:function(t){return tt(this,t)}},{key:\"indexOf\",value:function(t,e){return rt(this,t,e,!1)}},{key:\"lastIndexOf\",value:function(t,e){var n=this.length;(void 0===e||e>=n)&&(e=n-1),e<0&&(e+=n);for(var r=e;r>=0;r--)if(tt(this,r)===t)return r;return-1}},{key:\"includes\",value:function(t,e){return-1!==rt(this,t,e,!0)}},{key:\"findBy\",value:function(){return t=this,e=et.apply(void 0,arguments),-1===(r=nt(t,e.bind(n),0))?void 0:tt(t,r);var t,e,n,r}},{key:\"findIndexBy\",value:function(){return nt(this,et.apply(void 0,arguments))}},{key:\"isEvery\",value:function(){return t=this,e=et.apply(void 0,arguments),r=e.bind(n),-1===nt(t,(function(t,e,n){return!r(t,e,n)}),0);var t,e,n,r}},{key:\"isAny\",value:function(){return t=this,e=et.apply(void 0,arguments),-1!==nt(t,e.bind(n),0);var t,e,n}},{key:\"invoke\",value:function(t){for(var e=arguments.length,n=new Array(e>1?e-1:0),r=1;r1&&void 0!==arguments[1]?arguments[1]:Y,n=[],r=new Set,i=\"function\"==typeof e?e:function(t){return get(t,e)};return t.forEach((function(t){var e=i(t);r.has(e)||(r.add(e),n.push(t))})),n}(this,t)}},{key:\"without\",value:function(t){if(!this.includes(t))return this;var e=t==t?function(e){return e!==t}:function(t){return t==t};return this.filter(e)}},{key:\"clear\",value:function(){var t=this.length;return 0===t||this.replace(0,t,[]),this}},{key:\"insertAt\",value:function(t,e){return it(this,t,e),this}},{key:\"replaceAt\",value:function(t,e){return this.replace(t,1,[e])}},{key:\"removeAt\",value:function(t,e){return function(t,e){return Q(t,e,arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,[]),t}(this,t,e)}},{key:\"pushObject\",value:function(t){return this.insertAt(this.length,t)}},{key:\"pushObjects\",value:function(t){return this.replace(this.length,0,t),this}},{key:\"popObject\",value:function(){var t=this.length;if(0===t)return null;var e=tt(this,t-1);return this.removeAt(t-1,1),e}},{key:\"shiftObject\",value:function(){if(0===this.length)return null;var t=tt(this,0);return this.removeAt(0),t}},{key:\"unshiftObject\",value:function(t){return it(this,0,t)}},{key:\"unshiftObjects\",value:function(t){return this.replace(0,0,t),this}},{key:\"reverseObjects\",value:function(){var t=this.length;if(0===t)return this;var e=this.toArray().reverse();return this.replace(0,t,e),this}},{key:\"setObjects\",value:function(t){if(0===t.length)return this.clear();var e=this.length;return this.replace(0,e,t),this}},{key:\"removeObject\",value:function(t){for(var e=this.length||0;--e>=0;){tt(this,e)===t&&this.removeAt(e)}return this}},{key:\"removeObjects\",value:function(t){for(var e=t.length-1;e>=0;e--)this.removeObject(t[e]);return this}},{key:\"addObject\",value:function(t){return this.includes(t)||this.pushObject(t),this}},{key:\"addObjects\",value:function(t){var e=this;return t.forEach((function(t){return e.addObject(t)})),this}}])}();function st(t){var e=null==t;if(e)return e;if(\"number\"==typeof t.size)return!t.size;var n=T(t);if(\"object\"===n){var r=t.size;if(\"number\"==typeof r)return!r}if(\"number\"==typeof t.length&&\"function\"!==n)return!t.length;if(\"object\"===n){var i=t.length;if(\"number\"==typeof i)return!i}return!1}function ut(t){return isFinite(t)&&Math.abs(t)<=90}function ct(t){return isFinite(t)&&Math.abs(t)<=180&&Math.abs(t)>=90}function lt(){var t,e,n;return!(\"undefined\"==typeof process||\"object\"!==T(null===(t=process)||void 0===t?void 0:t.env)&&-1===(null===(e=process.release)||void 0===e||null===(e=e.name)||void 0===e?void 0:e.search(/node|io.js/))||\"undefined\"!=typeof window&&\"ReactNative\"!==(null===(n=window)||void 0===n||null===(n=n.navigator)||void 0===n?void 0:n.product))}function ht(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return lt()?W(\"adapter\",\"NodeAdapter\",t):W(\"adapter\",\"BrowserAdapter\",t)}var ft=function(){return v((function t(e){h(this,t),this.place=e,this.geometry=null==e?void 0:e.geometry,this.components=this.parseComponents(),this.attributes=this.parseProperties()}),[{key:\"parse\",value:function(){this.parseComponents(),this.parseProperties()}},{key:\"parseComponents\",value:function(){var t;return((null===(t=this.place)||void 0===t?void 0:t.address_components)||[]).reduce((function(t,e){return e.types.forEach((function(n){t[n]=e})),t}),{})}},{key:\"parseProperties\",value:function(){var t,e={streetNumber:this.get(\"street_number\"),streetName:this.get(\"route\"),coordinates:null!==(t=this.geometry)&&void 0!==t&&t.location?Object.values(this.geometry.location):[0,0],city:this.or([\"locality\",\"sublocality\",\"sublocality_level_1\",\"neighborhood\",\"administrative_area_level_3\",\"administrative_area_level_2\"]),county:this.get(\"administrative_area_level_2\"),stateShort:this.get(\"administrative_area_level_1\",!0),stateLong:this.get(\"administrative_area_level_1\"),countryShort:this.get(\"country\",!0),country:this.get(\"country\",!0),countryLong:this.get(\"country\"),postalCode:this.get(\"postal_code\")};return e.address=[e.streetNumber,e.streetName].filter(Boolean).join(\" \"),e}},{key:\"all\",value:function(){return this.attributes}},{key:\"or\",value:function(){var t,e=p(arguments.length>0&&void 0!==arguments[0]?arguments[0]:[]);try{for(e.s();!(t=e.n()).done;){var n=t.value;if(V(n)){var r=n[0],i=n[1];if(this.has(r))return this.get(r,i)}else if(this.has(n))return this.get(n)}}catch(t){e.e(t)}finally{e.f()}return null}},{key:\"has\",value:function(t){return t in this.components}},{key:\"get\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return t in this.components?e?this.components[t].short_name:this.components[t].long_name:null}},{key:\"setAttributes\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this.attributes=A(A({},this.attributes),t),this}},{key:\"setAttribute\",value:function(t,e){return this.attributes[t]=e,this}},{key:\"getAttribute\",value:function(t){return this.attributes[t]||null}}])}(),dt=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;h(this,t),this.type=\"Point\",this.coordinates=[n,e]}return v(t,[{key:\"latitude\",get:function(){return this.coordinates[1]}},{key:\"longitude\",get:function(){return this.coordinates[0]}},{key:\"lat\",value:function(){return this.latitude}},{key:\"lng\",value:function(){return this.longitude}},{key:\"serialize\",value:function(){return{type:\"Point\",coorindates:[this.lat(),this.lng()]}}},{key:\"toJson\",value:function(){return this.serialize()}},{key:\"toString\",value:function(){return\"(\".concat(this.latitude,\", \").concat(this.longitude,\")\")}}],[{key:\"fromGeoJson\",value:function(e){var n=R(e.coordinates,2),r=n[0];return new t(n[1],r)}}])}();function vt(t,e){var n=t();return Array.isArray(n)||\"object\"===T(n)?pt(n,e):null}function pt(t,e){var n,r=t,i=T(t),o=\"object\"===i,a=\"function\"===i,s=Array.isArray(t),u=\"string\"===T(e)&&e.includes(\".\")?e.split(\".\"):[e];if(s||o){for(var c=0;c1&&void 0!==arguments[1]?arguments[1]:[];if(t.actions=V(e)?e:[e],!V(e))return e instanceof mt&&e.extend(t),t;var n,r=p(e);try{for(r.s();!(n=r.n()).done;){var i=n.value;t.extendActions(i)}}catch(t){r.e(t)}finally{r.f()}}function bt(t){for(var e=arguments.length,n=new Array(e>1?e-1:0),r=1;r0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;h(this,t),this.actions=e,this.bind=n}),[{key:\"extend\",value:function(){var t=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:null)||this.bind;if(!t)return this;if(null!=this&&this.actions&&\"object\"===T(this.actions))for(var e in this.actions){var n=this.actions[e];\"function\"==typeof n?gt(t,e,n.bind(t)):gt(t,e,n)}return this}}])}();function wt(t){return t instanceof kt}var kt=function(){return v((function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0,r=arguments.length>2?arguments[2]:void 0,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};h(this,t),this.attributes=e,this.dirtyAttributes={},this.changes={},this.isLoading=!1,this.isSaving=!1,this.isDestroying=!1,this.isReloading=!1,this.resource=r,this.options=i,this.version=i.version||\"v1\",this.setAdapter(n)}),[{key:\"setAdapter\",value:function(t){var e;return this.adapter=t,this.store=M(this.resource,t,{onAfterFetch:this.syncAttributes.bind(this),actions:null===(e=this.options)||void 0===e?void 0:e.actions}),this}},{key:\"id\",get:function(){return this.getAttribute(\"id\")}},{key:\"create\",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=this.mergeAttributes(e);return this.setFlags([\"isLoading\",\"isSaving\"]),this.store.create(n).then((function(e){return t.setFlags([\"isLoading\",\"isSaving\"],!1),e}))}},{key:\"update\",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this.setFlags([\"isLoading\",\"isSaving\"]),this.store.update(this.attributes.id,e).then((function(e){return t.setFlags([\"isLoading\",\"isSaving\"],!1),e}))}},{key:\"destroy\",value:function(){var t=this;return this.setFlags([\"isLoading\",\"isDestroying\"]),this.store.destroy(this.attributes.id).then((function(e){return t.setFlags([\"isLoading\",\"isDestroying\"],!1),e}))}},{key:\"reload\",value:function(){var t=this;return this.setFlags([\"isLoading\",\"isReloading\"]),this.store.findRecord(this.attributes.id).then((function(e){return t.reset(),e}))}},{key:\"setFlags\",value:function(){for(var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=[\"isLoading\",\"isSaving\",\"isReloading\",\"isDestroying\"],r=0;r0&&void 0!==arguments[0]?arguments[0]:{},e=this.getAttributes();return st(this.id)?this.create(e):!0===t.onlyDirty?this.savedirty():this.update(e)}},{key:\"saveDirty\",value:function(){for(var t=Object.keys(this.dirtyAttributes),e={},n=0;n0}},{key:\"mutate\",value:function(t,e){this.attributes[t]=e}},{key:\"setAttribute\",value:function(t){var e,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;if(null===n&&\"object\"===T(t))return this.setAttributes(t);var r=null!==(e=null==this?void 0:this.attributes[t])&&void 0!==e?e:null;return gt(this.attributes,t,n),gt(this.dirtyAttributes,t,r),V(null==this?void 0:this.changes[t])||(this.changes[t]=[]),this.changes[t].push({property:t,previousValue:r,value:n,changedAt:new Date}),this}},{key:\"setAttributes\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};for(var e in t)this.setAttribute(e,t[e]);return this}},{key:\"getAttribute\",value:function(t){var e,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=pt(null!==(e=null==this?void 0:this.attributes)&&void 0!==e?e:{},t);return void 0===r?n:r}},{key:\"hasAttribute\",value:function(t){if(V(t)){var e,n=t,r=Object.keys(null!==(e=this.attributes)&&void 0!==e?e:{});return n.every((function(t){return r.includes(t)}))}return!(null==this||!this.attributes)&&t in this.attributes}},{key:\"hasAttributes\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return this.hasAttribute(t)}},{key:\"isAttributeFilled\",value:function(t){var e=this;return V(t)?this.hasAttribute(t)&&t.every((function(t){return!st(e.getAttribute(t))})):this.hasAttribute(t)&&!st(this.getAttribute(t))}},{key:\"getAttributes\",value:function(t){var e={};if(null==t)return this.getAttributes(Object.keys(this.attributes));if(\"string\"==typeof t)return this.getAttribute(Array.prototype.slice.call(arguments));if(!V(t))throw new Error(\"No attribute properties provided!\");var n,r=p(t);try{for(r.s();!(n=r.n()).done;){var i,o,a=n.value;if(\"string\"==typeof a){var s=this.getAttribute(a);\"object\"!==T(null===(i=s)||void 0===i?void 0:i.attributes)||V(null===(o=s)||void 0===o?void 0:o.attributes)||(s=s.attributes),e[a]=s}}}catch(t){r.e(t)}finally{r.f()}return e}},{key:\"serialize\",value:function(){return this.getAttributes()}},{key:\"mergeAttributes\",value:function(){var t,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=null!==(t=null==this?void 0:this.attributes)&&void 0!==t?t:{};return this.attributes=A(A({},n),e),this.attributes}},{key:\"syncAttributes\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.attributes=t}}])}();q(\"resource\",\"Resource\",kt);var Et=function(){return v((function t(e,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};h(this,t),this.resource=e,this.adapter=n||ht(),this.namespace=F(e),this.storage=ot(),this.options=r,this.extendActions(r.actions)}),[{key:\"extendActions\",value:function(){return yt(this,arguments.length>0&&void 0!==arguments[0]?arguments[0]:[])}},{key:\"deposit\",value:function(t){return t}},{key:\"serialize\",value:function(t){return W(\"resource\",z(this.resource),t,this.adapter)}},{key:\"afterFetch\",value:function(t){return function(t,e){if(\"function\"==typeof t.options.onAfterFetch&&t.options.onAfterFetch(e),V(e)){var n,r=[],i=p(e);try{for(i.s();!(n=i.n()).done;){var o=n.value;r.push(t.afterFetch(o))}}catch(t){i.e(t)}finally{i.f()}return ot.apply(void 0,r)}var a=t.serialize(e);return t.deposit(a)}(this,t)}},{key:\"create\",value:(a=u(x().mark((function t(){var e,n,r,i=arguments;return x().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return e=i.length>0&&void 0!==i[0]?i[0]:{},n=i.length>1&&void 0!==i[1]?i[1]:{},t.next=4,this.adapter.post(\"\".concat(this.namespace),e,n);case 4:return r=t.sent,t.abrupt(\"return\",this.afterFetch(r));case 6:case\"end\":return t.stop()}}),t,this)}))),function(){return a.apply(this,arguments)})},{key:\"update\",value:(o=u(x().mark((function t(e){var n,r,i,o=arguments;return x().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=o.length>1&&void 0!==o[1]?o[1]:{},r=o.length>2&&void 0!==o[2]?o[2]:{},t.next=4,this.adapter.put(\"\".concat(this.namespace,\"/\").concat(e),n,r);case 4:return i=t.sent,t.abrupt(\"return\",this.afterFetch(i));case 6:case\"end\":return t.stop()}}),t,this)}))),function(t){return o.apply(this,arguments)})},{key:\"findRecord\",value:(i=u(x().mark((function t(e){var n,r,i=arguments;return x().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=i.length>1&&void 0!==i[1]?i[1]:{},t.next=3,this.adapter.get(\"\".concat(this.namespace,\"/\").concat(e),{},n);case 3:return r=t.sent,t.abrupt(\"return\",this.afterFetch(r));case 5:case\"end\":return t.stop()}}),t,this)}))),function(t){return i.apply(this,arguments)})},{key:\"findAll\",value:(r=u(x().mark((function t(){var e,n,r=arguments;return x().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return e=r.length>0&&void 0!==r[0]?r[0]:{},t.next=3,this.adapter.get(\"\".concat(this.namespace),{},e);case 3:return n=t.sent,t.abrupt(\"return\",this.afterFetch(n));case 5:case\"end\":return t.stop()}}),t,this)}))),function(){return r.apply(this,arguments)})},{key:\"query\",value:(n=u(x().mark((function t(){var e,n,r,i=arguments;return x().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return e=i.length>0&&void 0!==i[0]?i[0]:{},n=i.length>1&&void 0!==i[1]?i[1]:{},t.next=4,this.adapter.get(\"\".concat(this.namespace),e,n);case 4:return r=t.sent,t.abrupt(\"return\",this.afterFetch(r));case 6:case\"end\":return t.stop()}}),t,this)}))),function(){return n.apply(this,arguments)})},{key:\"queryRecord\",value:(e=u(x().mark((function t(){var e,n,r,i=arguments;return x().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=i.length>1&&void 0!==i[1]?i[1]:{},(e=i.length>0&&void 0!==i[0]?i[0]:{}).single=!0,t.next=5,this.adapter.get(\"\".concat(this.namespace),e,n);case 5:return r=t.sent,t.abrupt(\"return\",this.afterFetch(r));case 7:case\"end\":return t.stop()}}),t,this)}))),function(){return e.apply(this,arguments)})},{key:\"destroy\",value:(t=u(x().mark((function t(e){var n,r,i,o=arguments;return x().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=o.length>1&&void 0!==o[1]?o[1]:{},r=wt(e)?e.getAttribute(\"id\"):e,t.next=4,this.adapter.delete(\"\".concat(this.namespace,\"/\").concat(r),{},n);case 4:return i=t.sent,t.abrupt(\"return\",this.afterFetch(i));case 6:case\"end\":return t.stop()}}),t,this)}))),function(e){return t.apply(this,arguments)})}]);var t,e,n,r,i,o,a}();q(\"store\",\"Store\",Et);var At=new mt({getDistanceAndTime:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.adapter.get(\"\".concat(this.namespace,\"/\").concat(t,\"/distance-and-time\"),e,n)},getNextActivity:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.adapter.get(\"\".concat(this.namespace,\"/\").concat(t,\"/next-activity\"),e,n)},dispatch:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.adapter.post(\"\".concat(this.namespace,\"/\").concat(t,\"/dispatch\"),e,n).then(this.afterFetch.bind(this))},start:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.adapter.post(\"\".concat(this.namespace,\"/\").concat(t,\"/start\"),e,n).then(this.afterFetch.bind(this))},updateActivity:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.adapter.post(\"\".concat(this.namespace,\"/\").concat(t,\"/update-activity\"),e,n).then(this.afterFetch.bind(this))},setDestination:function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return wt(e)&&(e=e.id),this.adapter.post(\"\".concat(this.namespace,\"/\").concat(t,\"/set-destination/\").concat(e),n,r).then(this.afterFetch.bind(this))},captureQrCode:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return wt(e)&&(e=e.id),this.adapter.post(\"\".concat(this.namespace,\"/\").concat(t,\"/capture-qr\").concat(e?\"/\"+e:\"\"),n,r)},captureSignature:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return wt(e)&&(e=e.id),this.adapter.post(\"\".concat(this.namespace,\"/\").concat(t,\"/capture-signature\").concat(e?\"/\"+e:\"\"),n,r)},complete:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.adapter.post(\"\".concat(this.namespace,\"/\").concat(t,\"/complete\"),e,n).then(this.afterFetch.bind(this))},cancel:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.adapter.delete(\"\".concat(this.namespace,\"/\").concat(t,\"/cancel\"),e,n).then(this.afterFetch.bind(this))}}),xt=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return h(this,t),l(this,t,[e,n,\"order\",A({actions:At},r)])}return b(t,kt),v(t,[{key:\"getDistanceAndTime\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.store.getDistanceAndTime(this.id,t,e)}},{key:\"dispatch\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.store.dispatch(this.id,t,e)}},{key:\"start\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.store.start(this.id,t,e)}},{key:\"setDestination\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.store.setDestination(this.id,t,e,n)}},{key:\"captureQrCode\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.store.captureQrCode(this.id,t,e,n)}},{key:\"captureSignature\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.store.captureSignature(this.id,t,e,n)}},{key:\"getNextActivity\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.store.getNextActivity(this.id,t,e)}},{key:\"updateActivity\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.store.updateActivity(this.id,t,e)}},{key:\"cancel\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.store.cancel(this.id,t,e)}},{key:\"complete\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.store.complete(this.id,t,e)}},{key:\"isDispatched\",get:function(){return null!==this.getAttribute(\"dispatched_at\")}},{key:\"isNotDispatched\",get:function(){return null==this.getAttribute(\"dispatched_at\")}},{key:\"isStarted\",get:function(){return null!==this.getAttribute(\"started_at\")}},{key:\"isNotStarted\",get:function(){return null==this.getAttribute(\"started_at\")}},{key:\"isCompleted\",get:function(){return\"completed\"==this.getAttribute(\"status\")}},{key:\"isCanceled\",get:function(){return\"canceled\"==this.getAttribute(\"status\")}},{key:\"isEnroute\",get:function(){return\"driver_enroute\"==this.getAttribute(\"status\")||\"enroute\"===this.getAttribute(\"status\")}},{key:\"isInProgress\",get:function(){return this.isStarted&&!this.isCanceled&&!this.isCompleted}},{key:\"scheduledAt\",get:function(){return this.isAttributeFilled(\"scheduled_at\")?new Date(this.getAttribute(\"scheduled_at\")):null}},{key:\"startedAt\",get:function(){return this.isAttributeFilled(\"started_at\")?new Date(this.getAttribute(\"started_at\")):null}},{key:\"dispatchedAt\",get:function(){return this.isAttributeFilled(\"dispatched_at\")?new Date(this.getAttribute(\"dispatched_at\")):null}},{key:\"status\",get:function(){return this.getAttribute(\"status\")}}])}();q(\"resource\",\"Order\",xt);var Ot=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return h(this,t),l(this,t,[e,n,\"payload\",r])}return b(t,kt),v(t,[{key:\"attach\",value:function(t){}},{key:\"entities\",get:function(){var t=this;return ot(this.entities.map((function(e){return G(\"Entity\",e,t.adapter)})))}},{key:\"dropoff\",get:function(){return this.dropoff?G(\"Place\",this.dropoff,this.adapter):null}},{key:\"pickup\",get:function(){return this.pickup?G(\"Place\",this.pickup,this.adapter):null}},{key:\"waypoints\",get:function(){var t=this;return ot(this.waypoints.map((function(e){return G(\"Waypoint\",e,t.adapter)})))}}])}();q(\"resource\",\"Payload\",Ot);var Rt=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return h(this,t),l(this,t,[e,n,\"entity\",r])}return b(t,kt),v(t)}();q(\"resource\",\"Entity\",Rt);var St=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return h(this,t),l(this,t,[e,n,\"place\",r])}return b(t,kt),v(t,[{key:\"latitude\",get:function(){var t;return null===(t=this.getAttribute(\"location\",new dt))||void 0===t?void 0:t.coordinates[1]}},{key:\"longitude\",get:function(){var t;return null===(t=this.getAttribute(\"location\",new dt))||void 0===t?void 0:t.coordinates[0]}},{key:\"coordinates\",get:function(){return[this.latitude,this.longitude]}},{key:\"setOwner\",value:function(t){return wt(t)&&this.setAttribute(\"owner\",t.id),\"string\"==typeof t&&this.setAttribute(\"owner\",t),this}}],[{key:\"fromGoogleAddress\",value:function(e,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=R(e.getAttribute(\"coordinates\"),2),o=i[0],a=i[1];return new t({name:null,address:e.getAttribute(\"address\"),location:new dt(o,a),street1:e.getAttribute(\"address\"),street2:null,city:e.getAttribute(\"city\"),province:e.getAttribute(\"stateLong\"),postal_code:e.getAttribute(\"postalCode\"),neighborhood:e.get(\"neighborhood\"),district:e.getAttribute(\"county\"),building:e.get(\"building\"),country:e.getAttribute(\"countryShort\"),phone:null,security_access_code:null},n,r)}}])}();q(\"resource\",\"Place\",St);var jt=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return h(this,t),l(this,t,[e,n,\"waypoint\",r])}return b(t,St),v(t)}();q(\"resource\",\"Waypoint\",jt);var Tt=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return h(this,t),l(this,t,[e,n,\"tracking-status\",r])}return b(t,kt),v(t)}();q(\"resource\",\"TrackingStatus\",Tt);var _t=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return h(this,t),l(this,t,[e,n,\"vehicle\",r])}return b(t,kt),v(t)}();q(\"resource\",\"Vehicle\",_t);var Pt=new mt({current:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.adapter.get(\"\".concat(this.namespace,\"/current\"),t,e)}}),Lt=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return h(this,t),l(this,t,[e,n,\"organization\",A({actions:Pt},r)])}return b(t,kt),v(t)}();q(\"resource\",\"Organization\",Lt);var Ct=function(t,e){return V(t)?t.map((function(t){return new Lt(t,e)})):new Lt(t,e)},Nt=new mt({login:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(function(){return/^[+]?[\\s./0-9]*[(]?[0-9]{1,4}[)]?[-\\s./0-9]*$/g.test(arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"\")}(t))return this.adapter.post(\"drivers/login-with-sms\",{phone:t});if(!e)throw new Error(\"Login requires password!\");return this.adapter.post(\"drivers/login\",A({identity:t,password:e},n)).then(this.afterFetch.bind(this))},verifyCode:function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.adapter.post(\"drivers/verify-code\",A({identity:t,code:e},n)).then(this.afterFetch.bind(this))},track:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.adapter.post(\"drivers/\".concat(t,\"/track\"),e,n).then(this.afterFetch.bind(this))},listOrganizations:function(t){var e=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.adapter.get(\"drivers/\".concat(t,\"/organizations\"),n,r).then((function(t){return Ct(t,e.adapter)}))},switchOrganization:function(t){var e=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.adapter.post(\"drivers/\".concat(t,\"/switch-organization\"),n,r).then((function(t){return Ct(t,e.adapter)}))},currentOrganization:function(t){var e=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.adapter.get(\"drivers/\".concat(t,\"/current-organization\"),n,r).then((function(t){return Ct(t,e.adapter)}))},retrieve:function(t){return this.findRecord(t)},syncDevice:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.adapter.post(\"drivers/\".concat(t,\"/register-device\"),e,n)}}),Ft=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return h(this,t),l(this,t,[e,n,\"driver\",A({actions:Nt},r)])}return b(t,kt),v(t,[{key:\"token\",get:function(){return this.getAttribute(\"token\")}},{key:\"isOnline\",get:function(){return!0===this.getAttribute(\"online\")}},{key:\"latitude\",get:function(){var t;return null===(t=this.getAttribute(\"location\",new dt))||void 0===t?void 0:t.coordinates[1]}},{key:\"longitude\",get:function(){var t;return null===(t=this.getAttribute(\"location\",new dt))||void 0===t?void 0:t.coordinates[0]}},{key:\"coordinates\",get:function(){return[this.latitude,this.longitude]}},{key:\"track\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.store.track(this.id,t,e)}},{key:\"syncDevice\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.store.syncDevice(this.id,t,e)}},{key:\"listOrganizations\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.store.listOrganizations(this.id,t,e)}},{key:\"switchOrganization\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.store.switchOrganization(this.id,{next:t},e)}},{key:\"currentOrganization\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.store.currentOrganization(this.id,t,e)}}])}();q(\"resource\",\"Driver\",Ft);var Dt=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return h(this,t),l(this,t,[e,n,\"vendor\",r])}return b(t,kt),v(t)}();q(\"resource\",\"Vendor\",Dt);var $t=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return h(this,t),l(this,t,[e,n,\"contact\",r])}return b(t,kt),v(t)}();q(\"resource\",\"Contact\",$t);var Ut=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return h(this,t),l(this,t,[e,n,\"zone\",r])}return b(t,kt),v(t)}();q(\"resource\",\"Zone\",Ut);var zt=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return h(this,t),l(this,t,[e,n,\"service-area\",r])}return b(t,kt),v(t)}();q(\"resource\",\"ServiceArea\",zt);var Bt=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return h(this,t),l(this,t,[e,n,\"service-rate\",r])}return b(t,kt),v(t)}();q(\"resource\",\"ServiceRate\",Bt);var qt=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return h(this,t),l(this,t,[e,n,\"service-quote\",r])}return b(t,kt),v(t,[{key:\"fromPreliminary\",value:function(){}},{key:\"fromPayload\",value:function(){}}])}();q(\"resource\",\"ServiceQuote\",qt);var It=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return h(this,t),l(this,t,[e,n,\"fleet\",r])}return b(t,kt),v(t)}();q(\"resource\",\"Fleet\",It);var Mt=v((function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};h(this,t),this.version=e.version||\"v1\",this.host=e.host||null,this.namespace=e.namespace||null,this.headers=e.headers||{}}));q(\"adapter\",\"Adapter\",Mt);var Ht=function(){function t(e){var n;return h(this,t),(n=l(this,t,[e])).setHeaders({Authorization:\"Bearer \".concat(e.publicKey),\"Content-Type\":\"application/json\",\"User-Agent\":\"@fleetbase/sdk;browser\"}),n}return b(t,Mt),v(t,[{key:\"setHeaders\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this.headers=A(A({},this.headers),t),this}},{key:\"parseJSON\",value:function(t){return new Promise((function(e,n){t.json().then((function(n){e({statusText:t.statusText,status:t.status,ok:t.ok,json:n})})).catch((function(){n(new Error(\"Oops! Something went wrong when handling your request.\"))}))}))}},{key:\"request\",value:function(t){var e=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"GET\",r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return new Promise((function(o,a){fetch(i.url||\"\".concat(e.host,\"/\").concat(e.namespace,\"/\").concat(t),A({method:n,mode:i.mode||\"cors\",headers:new Headers(A(A({},e.headers||{}),i.headers||{}))},r)).then(e.parseJSON).then((function(t){if(t.ok)return o(t.json);a(new Error(t.json.errors?t.json.errors[0]:t.statusText))})).catch((function(t){a(t)}))}))}},{key:\"get\",value:function(t){var e,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=st(e=n)||\"string\"==typeof e&&!1===/\\S/.test(e)?\"\":new URLSearchParams(n).toString();return this.request(\"\".concat(t).concat(i?\"?\".concat(i):\"\"),\"GET\",{},r)}},{key:\"post\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.request(t,\"POST\",{body:JSON.stringify(e)},n)}},{key:\"put\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.request(t,\"PUT\",{body:JSON.stringify(e)},n)}},{key:\"delete\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.request(t,\"DELETE\",{},e)}},{key:\"patch\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.request(t,\"PATCH\",{body:JSON.stringify(e)},n)}}])}();function Jt(t,e){return function(){return t.apply(e,arguments)}}q(\"adapter\",\"BrowserAdapter\",Ht);var Wt,Kt=Object.prototype.toString,Gt=Object.getPrototypeOf,Vt=(Wt=Object.create(null),function(t){var e=Kt.call(t);return Wt[e]||(Wt[e]=e.slice(8,-1).toLowerCase())}),Xt=function(t){return t=t.toLowerCase(),function(e){return Vt(e)===t}},Qt=function(t){return function(e){return T(e)===t}},Yt=Array.isArray,Zt=Qt(\"undefined\");var te=Xt(\"ArrayBuffer\");var ee=Qt(\"string\"),ne=Qt(\"function\"),re=Qt(\"number\"),ie=function(t){return null!==t&&\"object\"===T(t)},oe=function(t){if(\"object\"!==Vt(t))return!1;var e=Gt(t);return!(null!==e&&e!==Object.prototype&&null!==Object.getPrototypeOf(e)||Symbol.toStringTag in t||Symbol.iterator in t)},ae=Xt(\"Date\"),se=Xt(\"File\"),ue=Xt(\"Blob\"),ce=Xt(\"FileList\"),le=Xt(\"URLSearchParams\"),he=R([\"ReadableStream\",\"Request\",\"Response\",\"Headers\"].map(Xt),4),fe=he[0],de=he[1],ve=he[2],pe=he[3];function ge(t,e){var n,r,i=(arguments.length>2&&void 0!==arguments[2]?arguments[2]:{}).allOwnKeys,o=void 0!==i&&i;if(null!=t)if(\"object\"!==T(t)&&(t=[t]),Yt(t))for(n=0,r=t.length;n0;)if(e===(n=r[i]).toLowerCase())return n;return null}var be=\"undefined\"!=typeof globalThis?globalThis:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:global,me=function(t){return!Zt(t)&&t!==be};var we,ke=(we=\"undefined\"!=typeof Uint8Array&&Gt(Uint8Array),function(t){return we&&t instanceof we}),Ee=Xt(\"HTMLFormElement\"),Ae=function(){var t=Object.prototype.hasOwnProperty;return function(e,n){return t.call(e,n)}}(),xe=Xt(\"RegExp\"),Oe=function(t,e){var n=Object.getOwnPropertyDescriptors(t),r={};ge(n,(function(n,i){var o;!1!==(o=e(n,i,t))&&(r[i]=o||n)})),Object.defineProperties(t,r)},Re=\"abcdefghijklmnopqrstuvwxyz\",Se=\"0123456789\",je={DIGIT:Se,ALPHA:Re,ALPHA_DIGIT:Re+Re.toUpperCase()+Se};var Te,_e,Pe,Le,Ce=Xt(\"AsyncFunction\"),Ne=(Te=\"function\"==typeof setImmediate,_e=ne(be.postMessage),Te?setImmediate:_e?(Pe=\"axios@\".concat(Math.random()),Le=[],be.addEventListener(\"message\",(function(t){var e=t.source,n=t.data;e===be&&n===Pe&&Le.length&&Le.shift()()}),!1),function(t){Le.push(t),be.postMessage(Pe,\"*\")}):function(t){return setTimeout(t)}),Fe=\"undefined\"!=typeof queueMicrotask?queueMicrotask.bind(be):\"undefined\"!=typeof process&&process.nextTick||Ne,De={isArray:Yt,isArrayBuffer:te,isBuffer:function(t){return null!==t&&!Zt(t)&&null!==t.constructor&&!Zt(t.constructor)&&ne(t.constructor.isBuffer)&&t.constructor.isBuffer(t)},isFormData:function(t){var e;return t&&(\"function\"==typeof FormData&&t instanceof FormData||ne(t.append)&&(\"formdata\"===(e=Vt(t))||\"object\"===e&&ne(t.toString)&&\"[object FormData]\"===t.toString()))},isArrayBufferView:function(t){return\"undefined\"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(t):t&&t.buffer&&te(t.buffer)},isString:ee,isNumber:re,isBoolean:function(t){return!0===t||!1===t},isObject:ie,isPlainObject:oe,isReadableStream:fe,isRequest:de,isResponse:ve,isHeaders:pe,isUndefined:Zt,isDate:ae,isFile:se,isBlob:ue,isRegExp:xe,isFunction:ne,isStream:function(t){return ie(t)&&ne(t.pipe)},isURLSearchParams:le,isTypedArray:ke,isFileList:ce,forEach:ge,merge:function t(){for(var e=(me(this)&&this||{}).caseless,n={},r=function(r,i){var o=e&&ye(n,i)||i;oe(n[o])&&oe(r)?n[o]=t(n[o],r):oe(r)?n[o]=t({},r):Yt(r)?n[o]=r.slice():n[o]=r},i=0,o=arguments.length;i3&&void 0!==arguments[3]?arguments[3]:{}).allOwnKeys}),t},trim:function(t){return t.trim?t.trim():t.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g,\"\")},stripBOM:function(t){return 65279===t.charCodeAt(0)&&(t=t.slice(1)),t},inherits:function(t,e,n,r){t.prototype=Object.create(e.prototype,r),t.prototype.constructor=t,Object.defineProperty(t,\"super\",{value:e.prototype}),n&&Object.assign(t.prototype,n)},toFlatObject:function(t,e,n,r){var i,o,a,s={};if(e=e||{},null==t)return e;do{for(o=(i=Object.getOwnPropertyNames(t)).length;o-- >0;)a=i[o],r&&!r(a,t,e)||s[a]||(e[a]=t[a],s[a]=!0);t=!1!==n&&Gt(t)}while(t&&(!n||n(t,e))&&t!==Object.prototype);return e},kindOf:Vt,kindOfTest:Xt,endsWith:function(t,e,n){t=String(t),(void 0===n||n>t.length)&&(n=t.length),n-=e.length;var r=t.indexOf(e,n);return-1!==r&&r===n},toArray:function(t){if(!t)return null;if(Yt(t))return t;var e=t.length;if(!re(e))return null;for(var n=new Array(e);e-- >0;)n[e]=t[e];return n},forEachEntry:function(t,e){for(var n,r=(t&&t[Symbol.iterator]).call(t);(n=r.next())&&!n.done;){var i=n.value;e.call(t,i[0],i[1])}},matchAll:function(t,e){for(var n,r=[];null!==(n=t.exec(e));)r.push(n);return r},isHTMLForm:Ee,hasOwnProperty:Ae,hasOwnProp:Ae,reduceDescriptors:Oe,freezeMethods:function(t){Oe(t,(function(e,n){if(ne(t)&&-1!==[\"arguments\",\"caller\",\"callee\"].indexOf(n))return!1;var r=t[n];ne(r)&&(e.enumerable=!1,\"writable\"in e?e.writable=!1:e.set||(e.set=function(){throw Error(\"Can not rewrite read-only method '\"+n+\"'\")}))}))},toObjectSet:function(t,e){var n={},r=function(t){t.forEach((function(t){n[t]=!0}))};return Yt(t)?r(t):r(String(t).split(e)),n},toCamelCase:function(t){return t.toLowerCase().replace(/[-_\\s]([a-z\\d])(\\w*)/g,(function(t,e,n){return e.toUpperCase()+n}))},noop:function(){},toFiniteNumber:function(t,e){return null!=t&&Number.isFinite(t=+t)?t:e},findKey:ye,global:be,isContextDefined:me,ALPHABET:je,generateString:function(){for(var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:16,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:je.ALPHA_DIGIT,n=\"\",r=e.length;t--;)n+=e[Math.random()*r|0];return n},isSpecCompliantForm:function(t){return!!(t&&ne(t.append)&&\"FormData\"===t[Symbol.toStringTag]&&t[Symbol.iterator])},toJSONObject:function(t){var e=new Array(10),n=function(t,r){if(ie(t)){if(e.indexOf(t)>=0)return;if(!(\"toJSON\"in t)){e[r]=t;var i=Yt(t)?[]:{};return ge(t,(function(t,e){var o=n(t,r+1);!Zt(o)&&(i[e]=o)})),e[r]=void 0,i}}return t};return n(t,0)},isAsyncFn:Ce,isThenable:function(t){return t&&(ie(t)||ne(t))&&ne(t.then)&&ne(t.catch)},setImmediate:Ne,asap:Fe};function $e(t,e,n,r,i){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack,this.message=t,this.name=\"AxiosError\",e&&(this.code=e),n&&(this.config=n),r&&(this.request=r),i&&(this.response=i,this.status=i.status?i.status:null)}De.inherits($e,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:De.toJSONObject(this.config),code:this.code,status:this.status}}});var Ue=$e.prototype,ze={};[\"ERR_BAD_OPTION_VALUE\",\"ERR_BAD_OPTION\",\"ECONNABORTED\",\"ETIMEDOUT\",\"ERR_NETWORK\",\"ERR_FR_TOO_MANY_REDIRECTS\",\"ERR_DEPRECATED\",\"ERR_BAD_RESPONSE\",\"ERR_BAD_REQUEST\",\"ERR_CANCELED\",\"ERR_NOT_SUPPORT\",\"ERR_INVALID_URL\"].forEach((function(t){ze[t]={value:t}})),Object.defineProperties($e,ze),Object.defineProperty(Ue,\"isAxiosError\",{value:!0}),$e.from=function(t,e,n,r,i,o){var a=Object.create(Ue);return De.toFlatObject(t,a,(function(t){return t!==Error.prototype}),(function(t){return\"isAxiosError\"!==t})),$e.call(a,t.message,e,n,r,i),a.cause=t,a.name=t.name,o&&Object.assign(a,o),a};function Be(t){return De.isPlainObject(t)||De.isArray(t)}function qe(t){return De.endsWith(t,\"[]\")?t.slice(0,-2):t}function Ie(t,e,n){return t?t.concat(e).map((function(t,e){return t=qe(t),!n&&e?\"[\"+t+\"]\":t})).join(n?\".\":\"\"):e}var Me=De.toFlatObject(De,{},null,(function(t){return/^is[A-Z]/.test(t)}));function He(t,e,n){if(!De.isObject(t))throw new TypeError(\"target must be an object\");e=e||new FormData;var r=(n=De.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,(function(t,e){return!De.isUndefined(e[t])}))).metaTokens,i=n.visitor||c,o=n.dots,a=n.indexes,s=(n.Blob||\"undefined\"!=typeof Blob&&Blob)&&De.isSpecCompliantForm(e);if(!De.isFunction(i))throw new TypeError(\"visitor must be a function\");function u(t){if(null===t)return\"\";if(De.isDate(t))return t.toISOString();if(!s&&De.isBlob(t))throw new $e(\"Blob is not supported. Use a Buffer instead.\");return De.isArrayBuffer(t)||De.isTypedArray(t)?s&&\"function\"==typeof Blob?new Blob([t]):Buffer.from(t):t}function c(t,n,i){var s=t;if(t&&!i&&\"object\"===T(t))if(De.endsWith(n,\"{}\"))n=r?n:n.slice(0,-2),t=JSON.stringify(t);else if(De.isArray(t)&&function(t){return De.isArray(t)&&!t.some(Be)}(t)||(De.isFileList(t)||De.endsWith(n,\"[]\"))&&(s=De.toArray(t)))return n=qe(n),s.forEach((function(t,r){!De.isUndefined(t)&&null!==t&&e.append(!0===a?Ie([n],r,o):null===a?n:n+\"[]\",u(t))})),!1;return!!Be(t)||(e.append(Ie(i,n,o),u(t)),!1)}var l=[],h=Object.assign(Me,{defaultVisitor:c,convertValue:u,isVisitable:Be});if(!De.isObject(t))throw new TypeError(\"data must be an object\");return function t(n,r){if(!De.isUndefined(n)){if(-1!==l.indexOf(n))throw Error(\"Circular reference detected in \"+r.join(\".\"));l.push(n),De.forEach(n,(function(n,o){!0===(!(De.isUndefined(n)||null===n)&&i.call(e,n,De.isString(o)?o.trim():o,r,h))&&t(n,r?r.concat(o):[o])})),l.pop()}}(t),e}function Je(t){var e={\"!\":\"%21\",\"'\":\"%27\",\"(\":\"%28\",\")\":\"%29\",\"~\":\"%7E\",\"%20\":\"+\",\"%00\":\"\\0\"};return encodeURIComponent(t).replace(/[!'()~]|%20|%00/g,(function(t){return e[t]}))}function We(t,e){this._pairs=[],t&&He(t,this,e)}var Ke=We.prototype;function Ge(t){return encodeURIComponent(t).replace(/%3A/gi,\":\").replace(/%24/g,\"$\").replace(/%2C/gi,\",\").replace(/%20/g,\"+\").replace(/%5B/gi,\"[\").replace(/%5D/gi,\"]\")}function Ve(t,e,n){if(!e)return t;var r=n&&n.encode||Ge;De.isFunction(n)&&(n={serialize:n});var i,o=n&&n.serialize;if(i=o?o(e,n):De.isURLSearchParams(e)?e.toString():new We(e,n).toString(r)){var a=t.indexOf(\"#\");-1!==a&&(t=t.slice(0,a)),t+=(-1===t.indexOf(\"?\")?\"?\":\"&\")+i}return t}Ke.append=function(t,e){this._pairs.push([t,e])},Ke.toString=function(t){var e=t?function(e){return t.call(this,e,Je)}:Je;return this._pairs.map((function(t){return e(t[0])+\"=\"+e(t[1])}),\"\").join(\"&\")};var Xe=function(){return v((function t(){h(this,t),this.handlers=[]}),[{key:\"use\",value:function(t,e,n){return this.handlers.push({fulfilled:t,rejected:e,synchronous:!!n&&n.synchronous,runWhen:n?n.runWhen:null}),this.handlers.length-1}},{key:\"eject\",value:function(t){this.handlers[t]&&(this.handlers[t]=null)}},{key:\"clear\",value:function(){this.handlers&&(this.handlers=[])}},{key:\"forEach\",value:function(t){De.forEach(this.handlers,(function(e){null!==e&&t(e)}))}}])}(),Qe={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},Ye={isBrowser:!0,classes:{URLSearchParams:\"undefined\"!=typeof URLSearchParams?URLSearchParams:We,FormData:\"undefined\"!=typeof FormData?FormData:null,Blob:\"undefined\"!=typeof Blob?Blob:null},protocols:[\"http\",\"https\",\"file\",\"blob\",\"url\",\"data\"]},Ze=\"undefined\"!=typeof window&&\"undefined\"!=typeof document,tn=\"object\"===(\"undefined\"==typeof navigator?\"undefined\":T(navigator))&&navigator||void 0,en=Ze&&(!tn||[\"ReactNative\",\"NativeScript\",\"NS\"].indexOf(tn.product)<0),nn=\"undefined\"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&\"function\"==typeof self.importScripts,rn=Ze&&window.location.href||\"http://localhost\",on=A(A({},Object.freeze({__proto__:null,hasBrowserEnv:Ze,hasStandardBrowserEnv:en,hasStandardBrowserWebWorkerEnv:nn,navigator:tn,origin:rn})),Ye);function an(t){function e(t,n,r,i){var o=t[i++];if(\"__proto__\"===o)return!0;var a=Number.isFinite(+o),s=i>=t.length;return o=!o&&De.isArray(r)?r.length:o,s?(De.hasOwnProp(r,o)?r[o]=[r[o],n]:r[o]=n,!a):(r[o]&&De.isObject(r[o])||(r[o]=[]),e(t,n,r[o],i)&&De.isArray(r[o])&&(r[o]=function(t){var e,n,r={},i=Object.keys(t),o=i.length;for(e=0;e-1,o=De.isObject(t);if(o&&De.isHTMLForm(t)&&(t=new FormData(t)),De.isFormData(t))return i?JSON.stringify(an(t)):t;if(De.isArrayBuffer(t)||De.isBuffer(t)||De.isStream(t)||De.isFile(t)||De.isBlob(t)||De.isReadableStream(t))return t;if(De.isArrayBufferView(t))return t.buffer;if(De.isURLSearchParams(t))return e.setContentType(\"application/x-www-form-urlencoded;charset=utf-8\",!1),t.toString();if(o){if(r.indexOf(\"application/x-www-form-urlencoded\")>-1)return function(t,e){return He(t,new on.classes.URLSearchParams,Object.assign({visitor:function(t,e,n,r){return on.isNode&&De.isBuffer(t)?(this.append(e,t.toString(\"base64\")),!1):r.defaultVisitor.apply(this,arguments)}},e))}(t,this.formSerializer).toString();if((n=De.isFileList(t))||r.indexOf(\"multipart/form-data\")>-1){var a=this.env&&this.env.FormData;return He(n?{\"files[]\":t}:t,a&&new a,this.formSerializer)}}return o||i?(e.setContentType(\"application/json\",!1),function(t,e){if(De.isString(t))try{return(e||JSON.parse)(t),De.trim(t)}catch(t){if(\"SyntaxError\"!==t.name)throw t}return(0,JSON.stringify)(t)}(t)):t}],transformResponse:[function(t){var e=this.transitional||sn.transitional,n=e&&e.forcedJSONParsing,r=\"json\"===this.responseType;if(De.isResponse(t)||De.isReadableStream(t))return t;if(t&&De.isString(t)&&(n&&!this.responseType||r)){var i=!(e&&e.silentJSONParsing)&&r;try{return JSON.parse(t)}catch(t){if(i){if(\"SyntaxError\"===t.name)throw $e.from(t,$e.ERR_BAD_RESPONSE,this,null,this.response);throw t}}}return t}],timeout:0,xsrfCookieName:\"XSRF-TOKEN\",xsrfHeaderName:\"X-XSRF-TOKEN\",maxContentLength:-1,maxBodyLength:-1,env:{FormData:on.classes.FormData,Blob:on.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:\"application/json, text/plain, */*\",\"Content-Type\":void 0}}};De.forEach([\"delete\",\"get\",\"head\",\"post\",\"put\",\"patch\"],(function(t){sn.headers[t]={}}));var un=De.toObjectSet([\"age\",\"authorization\",\"content-length\",\"content-type\",\"etag\",\"expires\",\"from\",\"host\",\"if-modified-since\",\"if-unmodified-since\",\"last-modified\",\"location\",\"max-forwards\",\"proxy-authorization\",\"referer\",\"retry-after\",\"user-agent\"]),cn=Symbol(\"internals\");function ln(t){return t&&String(t).trim().toLowerCase()}function hn(t){return!1===t||null==t?t:De.isArray(t)?t.map(hn):String(t)}function fn(t,e,n,r,i){return De.isFunction(r)?r.call(this,e,n):(i&&(e=n),De.isString(e)?De.isString(r)?-1!==e.indexOf(r):De.isRegExp(r)?r.test(e):void 0:void 0)}var dn=function(){return v((function t(e){h(this,t),e&&this.set(e)}),[{key:\"set\",value:function(t,e,n){var r=this;function i(t,e,n){var i=ln(e);if(!i)throw new Error(\"header name must be a non-empty string\");var o=De.findKey(r,i);(!o||void 0===r[o]||!0===n||void 0===n&&!1!==r[o])&&(r[o||e]=hn(t))}var o=function(t,e){return De.forEach(t,(function(t,n){return i(t,n,e)}))};if(De.isPlainObject(t)||t instanceof this.constructor)o(t,e);else if(De.isString(t)&&(t=t.trim())&&!/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(t.trim()))o(function(t){var e,n,r,i={};return t&&t.split(\"\\n\").forEach((function(t){r=t.indexOf(\":\"),e=t.substring(0,r).trim().toLowerCase(),n=t.substring(r+1).trim(),!e||i[e]&&un[e]||(\"set-cookie\"===e?i[e]?i[e].push(n):i[e]=[n]:i[e]=i[e]?i[e]+\", \"+n:n)})),i}(t),e);else if(De.isHeaders(t)){var a,s=p(t.entries());try{for(s.s();!(a=s.n()).done;){var u=R(a.value,2),c=u[0];i(u[1],c,n)}}catch(t){s.e(t)}finally{s.f()}}else null!=t&&i(e,t,n);return this}},{key:\"get\",value:function(t,e){if(t=ln(t)){var n=De.findKey(this,t);if(n){var r=this[n];if(!e)return r;if(!0===e)return function(t){for(var e,n=Object.create(null),r=/([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;e=r.exec(t);)n[e[1]]=e[2];return n}(r);if(De.isFunction(e))return e.call(this,r,n);if(De.isRegExp(e))return e.exec(r);throw new TypeError(\"parser must be boolean|regexp|function\")}}}},{key:\"has\",value:function(t,e){if(t=ln(t)){var n=De.findKey(this,t);return!(!n||void 0===this[n]||e&&!fn(0,this[n],n,e))}return!1}},{key:\"delete\",value:function(t,e){var n=this,r=!1;function i(t){if(t=ln(t)){var i=De.findKey(n,t);!i||e&&!fn(0,n[i],i,e)||(delete n[i],r=!0)}}return De.isArray(t)?t.forEach(i):i(t),r}},{key:\"clear\",value:function(t){for(var e=Object.keys(this),n=e.length,r=!1;n--;){var i=e[n];t&&!fn(0,this[i],i,t,!0)||(delete this[i],r=!0)}return r}},{key:\"normalize\",value:function(t){var e=this,n={};return De.forEach(this,(function(r,i){var o=De.findKey(n,i);if(o)return e[o]=hn(r),void delete e[i];var a=t?function(t){return t.trim().toLowerCase().replace(/([a-z\\d])(\\w*)/g,(function(t,e,n){return e.toUpperCase()+n}))}(i):String(i).trim();a!==i&&delete e[i],e[a]=hn(r),n[a]=!0})),this}},{key:\"concat\",value:function(){for(var t,e=arguments.length,n=new Array(e),r=0;r1?n-1:0),i=1;i2&&void 0!==arguments[2]?arguments[2]:3,r=0,i=function(t,e){t=t||10;var n,r=new Array(t),i=new Array(t),o=0,a=0;return e=void 0!==e?e:1e3,function(s){var u=Date.now(),c=i[a];n||(n=u),r[o]=s,i[o]=u;for(var l=a,h=0;l!==o;)h+=r[l++],l%=t;if((o=(o+1)%t)===a&&(a=(a+1)%t),!(u-n1&&void 0!==arguments[1]?arguments[1]:Date.now();i=o,n=null,r&&(clearTimeout(r),r=null),t.apply(null,e)};return[function(){for(var t=Date.now(),e=t-i,s=arguments.length,u=new Array(s),c=0;c=o?a(u,t):(n=u,r||(r=setTimeout((function(){r=null,a(n)}),o-e)))},function(){return n&&a(n)}]}((function(n){var o=n.loaded,a=n.lengthComputable?n.total:void 0,s=o-r,u=i(s);r=o;var c=g({loaded:o,total:a,progress:a?o/a:void 0,bytes:s,rate:u||void 0,estimated:u&&a&&o<=a?(a-o)/u:void 0,event:n,lengthComputable:null!=a},e?\"download\":\"upload\",!0);t(c)}),n)},mn=function(t,e){var n=null!=t;return[function(r){return e[0]({lengthComputable:n,total:t,loaded:r})},e[1]]},wn=function(t){return function(){for(var e=arguments.length,n=new Array(e),r=0;r1?e-1:0),r=1;r1?\"since :\\n\"+s.map(Wn).join(\"\\n\"):\" \"+Wn(s[0]):\"as no adapter specified\"),\"ERR_NOT_SUPPORT\")}return n};function Vn(t){if(t.cancelToken&&t.cancelToken.throwIfRequested(),t.signal&&t.signal.aborted)throw new gn(null,t)}function Xn(t){return Vn(t),t.headers=dn.from(t.headers),t.data=vn.call(t,t.transformRequest),-1!==[\"post\",\"put\",\"patch\"].indexOf(t.method)&&t.headers.setContentType(\"application/x-www-form-urlencoded\",!1),Gn(t.adapter||sn.adapter)(t).then((function(e){return Vn(t),e.data=vn.call(t,t.transformResponse,e),e.headers=dn.from(e.headers),e}),(function(e){return pn(e)||(Vn(t),e&&e.response&&(e.response.data=vn.call(t,t.transformResponse,e.response),e.response.headers=dn.from(e.response.headers))),Promise.reject(e)}))}var Qn=\"1.7.9\",Yn={};[\"object\",\"boolean\",\"number\",\"function\",\"string\",\"symbol\"].forEach((function(t,e){Yn[t]=function(n){return T(n)===t||\"a\"+(e<1?\"n \":\" \")+t}}));var Zn={};Yn.transitional=function(t,e,n){function r(t,e){return\"[Axios v1.7.9] Transitional option '\"+t+\"'\"+e+(n?\". \"+n:\"\")}return function(n,i,o){if(!1===t)throw new $e(r(i,\" has been removed\"+(e?\" in \"+e:\"\")),$e.ERR_DEPRECATED);return e&&!Zn[i]&&(Zn[i]=!0,console.warn(r(i,\" has been deprecated since v\"+e+\" and will be removed in the near future\"))),!t||t(n,i,o)}},Yn.spelling=function(t){return function(e,n){return console.warn(\"\".concat(n,\" is likely a misspelling of \").concat(t)),!0}};var tr={assertOptions:function(t,e,n){if(\"object\"!==T(t))throw new $e(\"options must be an object\",$e.ERR_BAD_OPTION_VALUE);for(var r=Object.keys(t),i=r.length;i-- >0;){var o=r[i],a=e[o];if(a){var s=t[o],u=void 0===s||a(s,o,t);if(!0!==u)throw new $e(\"option \"+o+\" must be \"+u,$e.ERR_BAD_OPTION_VALUE)}else if(!0!==n)throw new $e(\"Unknown option \"+o,$e.ERR_BAD_OPTION)}},validators:Yn},er=tr.validators,nr=function(){return v((function t(e){h(this,t),this.defaults=e,this.interceptors={request:new Xe,response:new Xe}}),[{key:\"request\",value:(t=u(x().mark((function t(e,n){var r,i;return x().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,this._request(e,n);case 3:return t.abrupt(\"return\",t.sent);case 6:if(t.prev=6,t.t0=t.catch(0),t.t0 instanceof Error){r={},Error.captureStackTrace?Error.captureStackTrace(r):r=new Error,i=r.stack?r.stack.replace(/^.+\\n/,\"\"):\"\";try{t.t0.stack?i&&!String(t.t0.stack).endsWith(i.replace(/^.+\\n.+\\n/,\"\"))&&(t.t0.stack+=\"\\n\"+i):t.t0.stack=i}catch(t){}}throw t.t0;case 10:case\"end\":return t.stop()}}),t,this,[[0,6]])}))),function(e,n){return t.apply(this,arguments)})},{key:\"_request\",value:function(t,e){\"string\"==typeof t?(e=e||{}).url=t:e=t||{};var n=e=On(this.defaults,e),r=n.transitional,i=n.paramsSerializer,o=n.headers;void 0!==r&&tr.assertOptions(r,{silentJSONParsing:er.transitional(er.boolean),forcedJSONParsing:er.transitional(er.boolean),clarifyTimeoutError:er.transitional(er.boolean)},!1),null!=i&&(De.isFunction(i)?e.paramsSerializer={serialize:i}:tr.assertOptions(i,{encode:er.function,serialize:er.function},!0)),tr.assertOptions(e,{baseUrl:er.spelling(\"baseURL\"),withXsrfToken:er.spelling(\"withXSRFToken\")},!0),e.method=(e.method||this.defaults.method||\"get\").toLowerCase();var a=o&&De.merge(o.common,o[e.method]);o&&De.forEach([\"delete\",\"get\",\"head\",\"post\",\"put\",\"patch\",\"common\"],(function(t){delete o[t]})),e.headers=dn.concat(a,o);var s=[],u=!0;this.interceptors.request.forEach((function(t){\"function\"==typeof t.runWhen&&!1===t.runWhen(e)||(u=u&&t.synchronous,s.unshift(t.fulfilled,t.rejected))}));var c,l=[];this.interceptors.response.forEach((function(t){l.push(t.fulfilled,t.rejected)}));var h,f=0;if(!u){var d=[Xn.bind(this),void 0];for(d.unshift.apply(d,s),d.push.apply(d,l),h=d.length,c=Promise.resolve(e);f0;)r._listeners[e](t);r._listeners=null}})),this.promise.then=function(t){var e,n=new Promise((function(t){r.subscribe(t),e=t})).then(t);return n.cancel=function(){r.unsubscribe(e)},n},e((function(t,e,i){r.reason||(r.reason=new gn(t,e,i),n(r.reason))}))}return v(t,[{key:\"throwIfRequested\",value:function(){if(this.reason)throw this.reason}},{key:\"subscribe\",value:function(t){this.reason?t(this.reason):this._listeners?this._listeners.push(t):this._listeners=[t]}},{key:\"unsubscribe\",value:function(t){if(this._listeners){var e=this._listeners.indexOf(t);-1!==e&&this._listeners.splice(e,1)}}},{key:\"toAbortSignal\",value:function(){var t=this,e=new AbortController,n=function(t){e.abort(t)};return this.subscribe(n),e.signal.unsubscribe=function(){return t.unsubscribe(n)},e.signal}}],[{key:\"source\",value:function(){var e;return{token:new t((function(t){e=t})),cancel:e}}}])}();var ir={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(ir).forEach((function(t){var e=R(t,2),n=e[0],r=e[1];ir[r]=n}));var or=function t(e){var n=new nr(e),r=Jt(nr.prototype.request,n);return De.extend(r,nr.prototype,n,{allOwnKeys:!0}),De.extend(r,n,null,{allOwnKeys:!0}),r.create=function(n){return t(On(e,n))},r}(sn);or.Axios=nr,or.CanceledError=gn,or.CancelToken=rr,or.isCancel=pn,or.VERSION=Qn,or.toFormData=He,or.AxiosError=$e,or.Cancel=or.CanceledError,or.all=function(t){return Promise.all(t)},or.spread=function(t){return function(e){return t.apply(null,e)}},or.isAxiosError=function(t){return De.isObject(t)&&!0===t.isAxiosError},or.mergeConfig=On,or.AxiosHeaders=dn,or.formToJSON=function(t){return an(De.isHTMLForm(t)?new FormData(t):t)},or.getAdapter=Gn,or.HttpStatusCode=ir,or.default=or,or.Axios,or.AxiosError,or.CanceledError,or.isCancel,or.CancelToken,or.VERSION,or.all,or.Cancel,or.isAxiosError,or.spread,or.toFormData,or.AxiosHeaders,or.HttpStatusCode,or.formToJSON,or.getAdapter,or.mergeConfig;var ar=function(){function t(e){var n;return h(this,t),(n=l(this,t,[e])).axiosInstance=or.create({baseURL:\"\".concat(n.host,\"/\").concat(n.namespace),headers:{Authorization:\"Bearer \".concat(e.publicKey),\"Content-Type\":\"application/json\",\"User-Agent\":\"@fleetbase/sdk;node\"}}),n.axiosInstance.interceptors.response.use((function(t){return t.data}),(function(t){if(t.response){var e=t.response.data;if(V(e.errors)&&e.errors.length)throw new Error(e.errors[0]);if(e.error)throw new Error(e.error)}throw t})),n}return b(t,Mt),v(t,[{key:\"setHeaders\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this.axiosInstance.defaults.headers.common=A(A({},this.axiosInstance.defaults.headers.common),t),this}},{key:\"request\",value:function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.axiosInstance.request(A({method:t,url:e},n))}},{key:\"get\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.request(\"GET\",t,A({params:e},n))}},{key:\"post\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.request(\"POST\",t,A({data:e},n))}},{key:\"put\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.request(\"PUT\",t,A({data:e},n))}},{key:\"delete\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.request(\"DELETE\",t,e)}},{key:\"patch\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.request(\"PATCH\",t,A({data:e},n))}}])}();q(\"adapter\",\"NodeAdapter\",ar);var sr=function(){function t(){return h(this,t),l(this,t,arguments)}return b(t,Mt),v(t)}();q(\"adapter\",\"EmberJsAdapter\",sr);var ur=function(){function t(e){var n,r,i,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(h(this,t),this.version=null!==(n=o.version)&&void 0!==n?n:\"v1\",this.options={version:this.version,host:null!==(r=o.host)&&void 0!==r?r:\"https://api.fleetbase.io\",namespace:null!==(i=o.namespace)&&void 0!==i?i:this.version,debug:a,publicKey:e},\"string\"!=typeof e||0===e.length)throw new Error(\"⚠️ Invalid public key given to Fleetbase SDK\");if(!lt()&&e.toLowerCase().startsWith(\"$\"))throw new Error(\"Secret key provided. You must use a public key with Fleetbase Javascript SDK!\");this.adapter=o.adapter||ht(this.options),this.orders=new Et(\"order\",this.adapter).extendActions(At),this.entities=new Et(\"entity\",this.adapter),this.places=new Et(\"place\",this.adapter),this.drivers=new Et(\"driver\",this.adapter).extendActions(Nt),this.vehicles=new Et(\"vehicle\",this.adapter),this.vendors=new Et(\"vendor\",this.adapter),this.contacts=new Et(\"contact\",this.adapter),this.serviceAreas=new Et(\"service-area\",this.adapter),this.zones=new Et(\"zone\",this.adapter),this.fleets=new Et(\"fleet\",this.adapter),this.organizations=new Et(\"organization\",this.adapter).extendActions(Pt)}return v(t,[{key:\"setAdapter\",value:function(t){this.adapter=t}},{key:\"getAdapter\",value:function(){return this.adapter}}],[{key:\"newInstance\",value:function(){return f(t,Array.prototype.slice.call(arguments))}}])}();export{Mt as Adapter,Ht as BrowserAdapter,at as Collection,$t as Contact,Ft as Driver,sr as EmberJsAdapter,Rt as Entity,It as Fleet,ft as GoogleAddress,ar as NodeAdapter,xt as Order,Lt as Organization,Ot as Payload,St as Place,dt as Point,J as Resolver,kt as Resource,zt as ServiceArea,qt as ServiceQuote,Bt as ServiceRate,Et as Store,mt as StoreActions,Tt as TrackingStatus,_t as Vehicle,Dt as Vendor,jt as Waypoint,Ut as Zone,$ as camelize,z as classify,ot as createCollection,H as createResource,M as createStore,bt as createStoreActions,U as dasherize,ur as default,ht as detectAdapter,yt as extendStoreActions,ut as isLatitude,ct as isLongitude,lt as isNodeEnvironment,wt as isResource,W as lookup,F as pluralize,q as register,K as resolve,G as resolveResource,D as singularize};\n//# sourceMappingURL=fleetbase.js.map\n",null,null,null,null,null,"/**\n * @module constants\n * @summary Useful constants\n * @description\n * Collection of useful date constants.\n *\n * The constants could be imported from `date-fns/constants`:\n *\n * ```ts\n * import { maxTime, minTime } from \"./constants/date-fns/constants\";\n *\n * function isAllowedTime(time) {\n * return time <= maxTime && time >= minTime;\n * }\n * ```\n */\n\n/**\n * @constant\n * @name daysInWeek\n * @summary Days in 1 week.\n */\nexport const daysInWeek = 7;\n\n/**\n * @constant\n * @name daysInYear\n * @summary Days in 1 year.\n *\n * @description\n * How many days in a year.\n *\n * One years equals 365.2425 days according to the formula:\n *\n * > Leap year occurs every 4 years, except for years that are divisible by 100 and not divisible by 400.\n * > 1 mean year = (365+1/4-1/100+1/400) days = 365.2425 days\n */\nexport const daysInYear = 365.2425;\n\n/**\n * @constant\n * @name maxTime\n * @summary Maximum allowed time.\n *\n * @example\n * import { maxTime } from \"./constants/date-fns/constants\";\n *\n * const isValid = 8640000000000001 <= maxTime;\n * //=> false\n *\n * new Date(8640000000000001);\n * //=> Invalid Date\n */\nexport const maxTime = Math.pow(10, 8) * 24 * 60 * 60 * 1000;\n\n/**\n * @constant\n * @name minTime\n * @summary Minimum allowed time.\n *\n * @example\n * import { minTime } from \"./constants/date-fns/constants\";\n *\n * const isValid = -8640000000000001 >= minTime;\n * //=> false\n *\n * new Date(-8640000000000001)\n * //=> Invalid Date\n */\nexport const minTime = -maxTime;\n\n/**\n * @constant\n * @name millisecondsInWeek\n * @summary Milliseconds in 1 week.\n */\nexport const millisecondsInWeek = 604800000;\n\n/**\n * @constant\n * @name millisecondsInDay\n * @summary Milliseconds in 1 day.\n */\nexport const millisecondsInDay = 86400000;\n\n/**\n * @constant\n * @name millisecondsInMinute\n * @summary Milliseconds in 1 minute\n */\nexport const millisecondsInMinute = 60000;\n\n/**\n * @constant\n * @name millisecondsInHour\n * @summary Milliseconds in 1 hour\n */\nexport const millisecondsInHour = 3600000;\n\n/**\n * @constant\n * @name millisecondsInSecond\n * @summary Milliseconds in 1 second\n */\nexport const millisecondsInSecond = 1000;\n\n/**\n * @constant\n * @name minutesInYear\n * @summary Minutes in 1 year.\n */\nexport const minutesInYear = 525600;\n\n/**\n * @constant\n * @name minutesInMonth\n * @summary Minutes in 1 month.\n */\nexport const minutesInMonth = 43200;\n\n/**\n * @constant\n * @name minutesInDay\n * @summary Minutes in 1 day.\n */\nexport const minutesInDay = 1440;\n\n/**\n * @constant\n * @name minutesInHour\n * @summary Minutes in 1 hour.\n */\nexport const minutesInHour = 60;\n\n/**\n * @constant\n * @name monthsInQuarter\n * @summary Months in 1 quarter.\n */\nexport const monthsInQuarter = 3;\n\n/**\n * @constant\n * @name monthsInYear\n * @summary Months in 1 year.\n */\nexport const monthsInYear = 12;\n\n/**\n * @constant\n * @name quartersInYear\n * @summary Quarters in 1 year\n */\nexport const quartersInYear = 4;\n\n/**\n * @constant\n * @name secondsInHour\n * @summary Seconds in 1 hour.\n */\nexport const secondsInHour = 3600;\n\n/**\n * @constant\n * @name secondsInMinute\n * @summary Seconds in 1 minute.\n */\nexport const secondsInMinute = 60;\n\n/**\n * @constant\n * @name secondsInDay\n * @summary Seconds in 1 day.\n */\nexport const secondsInDay = secondsInHour * 24;\n\n/**\n * @constant\n * @name secondsInWeek\n * @summary Seconds in 1 week.\n */\nexport const secondsInWeek = secondsInDay * 7;\n\n/**\n * @constant\n * @name secondsInYear\n * @summary Seconds in 1 year.\n */\nexport const secondsInYear = secondsInDay * daysInYear;\n\n/**\n * @constant\n * @name secondsInMonth\n * @summary Seconds in 1 month\n */\nexport const secondsInMonth = secondsInYear / 12;\n\n/**\n * @constant\n * @name secondsInQuarter\n * @summary Seconds in 1 quarter.\n */\nexport const secondsInQuarter = secondsInMonth * 3;\n\n/**\n * @constant\n * @name constructFromSymbol\n * @summary Symbol enabling Date extensions to inherit properties from the reference date.\n *\n * The symbol is used to enable the `constructFrom` function to construct a date\n * using a reference date and a value. It allows to transfer extra properties\n * from the reference date to the new date. It's useful for extensions like\n * [`TZDate`](https://github.com/date-fns/tz) that accept a time zone as\n * a constructor argument.\n */\nexport const constructFromSymbol = Symbol.for(\"constructDateFrom\");\n","import { constructFromSymbol } from \"./constants.js\";\n\n/**\n * @name constructFrom\n * @category Generic Helpers\n * @summary Constructs a date using the reference date and the value\n *\n * @description\n * The function constructs a new date using the constructor from the reference\n * date and the given value. It helps to build generic functions that accept\n * date extensions.\n *\n * It defaults to `Date` if the passed reference date is a number or a string.\n *\n * Starting from v3.7.0, it allows to construct a date using `[Symbol.for(\"constructDateFrom\")]`\n * enabling to transfer extra properties from the reference date to the new date.\n * It's useful for extensions like [`TZDate`](https://github.com/date-fns/tz)\n * that accept a time zone as a constructor argument.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The reference date to take constructor from\n * @param value - The value to create the date\n *\n * @returns Date initialized using the given date and value\n *\n * @example\n * import { constructFrom } from \"./constructFrom/date-fns\";\n *\n * // A function that clones a date preserving the original type\n * function cloneDate(date: DateType): DateType {\n * return constructFrom(\n * date, // Use constructor from the given date\n * date.getTime() // Use the date value to create a new date\n * );\n * }\n */\nexport function constructFrom(date, value) {\n if (typeof date === \"function\") return date(value);\n\n if (date && typeof date === \"object\" && constructFromSymbol in date)\n return date[constructFromSymbol](value);\n\n if (date instanceof Date) return new date.constructor(value);\n\n return new Date(value);\n}\n\n// Fallback for modularized imports:\nexport default constructFrom;\n","import { constructFrom } from \"./constructFrom.js\";\n\n/**\n * @name toDate\n * @category Common Helpers\n * @summary Convert the given argument to an instance of Date.\n *\n * @description\n * Convert the given argument to an instance of Date.\n *\n * If the argument is an instance of Date, the function returns its clone.\n *\n * If the argument is a number, it is treated as a timestamp.\n *\n * If the argument is none of the above, the function returns Invalid Date.\n *\n * Starting from v3.7.0, it clones a date using `[Symbol.for(\"constructDateFrom\")]`\n * enabling to transfer extra properties from the reference date to the new date.\n * It's useful for extensions like [`TZDate`](https://github.com/date-fns/tz)\n * that accept a time zone as a constructor argument.\n *\n * **Note**: *all* Date arguments passed to any *date-fns* function is processed by `toDate`.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param argument - The value to convert\n *\n * @returns The parsed date in the local time zone\n *\n * @example\n * // Clone the date:\n * const result = toDate(new Date(2014, 1, 11, 11, 30, 30))\n * //=> Tue Feb 11 2014 11:30:30\n *\n * @example\n * // Convert the timestamp to date:\n * const result = toDate(1392098430000)\n * //=> Tue Feb 11 2014 11:30:30\n */\nexport function toDate(argument, context) {\n // [TODO] Get rid of `toDate` or `constructFrom`?\n return constructFrom(context || argument, argument);\n}\n\n// Fallback for modularized imports:\nexport default toDate;\n","import { constructFrom } from \"./constructFrom.js\";\nimport { toDate } from \"./toDate.js\";\n\n/**\n * The {@link addDays} function options.\n */\n\n/**\n * @name addDays\n * @category Day Helpers\n * @summary Add the specified number of days to the given date.\n *\n * @description\n * Add the specified number of days to the given date.\n *\n * **You don't need date-fns\\***:\n *\n * Temporal has a built-in `add` method on all its classes:\n *\n * - [`Temporal.Instant.prototype.add()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Temporal/Instant/add)\n * - [`Temporal.PlainDate.prototype.add()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Temporal/PlainDate/add)\n * - [`Temporal.PlainDateTime.prototype.add()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Temporal/PlainDateTime/add)\n * - [`Temporal.PlainTime.prototype.add()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Temporal/PlainTime/add)\n * - [`Temporal.PlainYearMonth.prototype.add()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Temporal/PlainYearMonth/add)\n * - [`Temporal.ZonedDateTime.prototype.add()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Temporal/ZonedDateTime/add)\n *\n * \\* **Not really**, see: https://date-fns.org/you-dont-need-date-fns\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param date - The date to be changed\n * @param amount - The amount of days to be added.\n * @param options - An object with options\n *\n * @returns The new date with the days added\n *\n * @example\n * // Add 10 days to 1 September 2014:\n * const result = addDays(new Date(2014, 8, 1), 10)\n * //=> Thu Sep 11 2014 00:00:00\n *\n * @example\n * // Using Temporal:\n * // Add 10 days to 1 September 2014:\n * Temporal.PlainDate.from(\"2014-09-01\").add({ days: 10 }).toString();\n * //=> \"2014-09-11\"\n */\nexport function addDays(date, amount, options) {\n const _date = toDate(date, options?.in);\n if (isNaN(amount)) return constructFrom(options?.in || date, NaN);\n\n // If 0 days, no-op to avoid changing times in the hour before end of DST\n if (!amount) return _date;\n\n _date.setDate(_date.getDate() + amount);\n return _date;\n}\n\n// Fallback for modularized imports:\nexport default addDays;\n","let defaultOptions = {};\n\nexport function getDefaultOptions() {\n return defaultOptions;\n}\n\nexport function setDefaultOptions(newOptions) {\n defaultOptions = newOptions;\n}\n","import { getDefaultOptions } from \"./_lib/defaultOptions.js\";\nimport { toDate } from \"./toDate.js\";\n\n/**\n * The {@link startOfWeek} function options.\n */\n\n/**\n * @name startOfWeek\n * @category Week Helpers\n * @summary Return the start of a week for the given date.\n *\n * @description\n * Return the start of a week for the given date.\n * The result will be in the local timezone.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param date - The original date\n * @param options - An object with options\n *\n * @returns The start of a week\n *\n * @example\n * // The start of a week for 2 September 2014 11:55:00:\n * const result = startOfWeek(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Sun Aug 31 2014 00:00:00\n *\n * @example\n * // If the week starts on Monday, the start of the week for 2 September 2014 11:55:00:\n * const result = startOfWeek(new Date(2014, 8, 2, 11, 55, 0), { weekStartsOn: 1 })\n * //=> Mon Sep 01 2014 00:00:00\n */\nexport function startOfWeek(date, options) {\n const defaultOptions = getDefaultOptions();\n const weekStartsOn =\n options?.weekStartsOn ??\n options?.locale?.options?.weekStartsOn ??\n defaultOptions.weekStartsOn ??\n defaultOptions.locale?.options?.weekStartsOn ??\n 0;\n\n const _date = toDate(date, options?.in);\n const day = _date.getDay();\n const diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn;\n\n _date.setDate(_date.getDate() - diff);\n _date.setHours(0, 0, 0, 0);\n return _date;\n}\n\n// Fallback for modularized imports:\nexport default startOfWeek;\n","import { startOfWeek } from \"./startOfWeek.js\";\n\n/**\n * The {@link startOfISOWeek} function options.\n */\n\n/**\n * @name startOfISOWeek\n * @category ISO Week Helpers\n * @summary Return the start of an ISO week for the given date.\n *\n * @description\n * Return the start of an ISO week for the given date.\n * The result will be in the local timezone.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param date - The original date\n * @param options - An object with options\n *\n * @returns The start of an ISO week\n *\n * @example\n * // The start of an ISO week for 2 September 2014 11:55:00:\n * const result = startOfISOWeek(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Mon Sep 01 2014 00:00:00\n */\nexport function startOfISOWeek(date, options) {\n return startOfWeek(date, { ...options, weekStartsOn: 1 });\n}\n\n// Fallback for modularized imports:\nexport default startOfISOWeek;\n","import { constructFrom } from \"./constructFrom.js\";\nimport { startOfISOWeek } from \"./startOfISOWeek.js\";\nimport { toDate } from \"./toDate.js\";\n\n/**\n * The {@link getISOWeekYear} function options.\n */\n\n/**\n * @name getISOWeekYear\n * @category ISO Week-Numbering Year Helpers\n * @summary Get the ISO week-numbering year of the given date.\n *\n * @description\n * Get the ISO week-numbering year of the given date,\n * which always starts 3 days before the year's first Thursday.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * @param date - The given date\n *\n * @returns The ISO week-numbering year\n *\n * @example\n * // Which ISO-week numbering year is 2 January 2005?\n * const result = getISOWeekYear(new Date(2005, 0, 2))\n * //=> 2004\n */\nexport function getISOWeekYear(date, options) {\n const _date = toDate(date, options?.in);\n const year = _date.getFullYear();\n\n const fourthOfJanuaryOfNextYear = constructFrom(_date, 0);\n fourthOfJanuaryOfNextYear.setFullYear(year + 1, 0, 4);\n fourthOfJanuaryOfNextYear.setHours(0, 0, 0, 0);\n const startOfNextYear = startOfISOWeek(fourthOfJanuaryOfNextYear);\n\n const fourthOfJanuaryOfThisYear = constructFrom(_date, 0);\n fourthOfJanuaryOfThisYear.setFullYear(year, 0, 4);\n fourthOfJanuaryOfThisYear.setHours(0, 0, 0, 0);\n const startOfThisYear = startOfISOWeek(fourthOfJanuaryOfThisYear);\n\n if (_date.getTime() >= startOfNextYear.getTime()) {\n return year + 1;\n } else if (_date.getTime() >= startOfThisYear.getTime()) {\n return year;\n } else {\n return year - 1;\n }\n}\n\n// Fallback for modularized imports:\nexport default getISOWeekYear;\n","import { toDate } from \"../toDate.js\";\n\n/**\n * Google Chrome as of 67.0.3396.87 introduced timezones with offset that includes seconds.\n * They usually appear for dates that denote time before the timezones were introduced\n * (e.g. for 'Europe/Prague' timezone the offset is GMT+00:57:44 before 1 October 1891\n * and GMT+01:00:00 after that date)\n *\n * Date#getTimezoneOffset returns the offset in minutes and would return 57 for the example above,\n * which would lead to incorrect calculations.\n *\n * This function returns the timezone offset in milliseconds that takes seconds in account.\n */\nexport function getTimezoneOffsetInMilliseconds(date) {\n const _date = toDate(date);\n const utcDate = new Date(\n Date.UTC(\n _date.getFullYear(),\n _date.getMonth(),\n _date.getDate(),\n _date.getHours(),\n _date.getMinutes(),\n _date.getSeconds(),\n _date.getMilliseconds(),\n ),\n );\n utcDate.setUTCFullYear(_date.getFullYear());\n return +date - +utcDate;\n}\n","import { toDate } from \"./toDate.js\";\n\n/**\n * The {@link startOfDay} function options.\n */\n\n/**\n * @name startOfDay\n * @category Day Helpers\n * @summary Return the start of a day for the given date.\n *\n * @description\n * Return the start of a day for the given date.\n * The result will be in the local timezone.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param date - The original date\n * @param options - The options\n *\n * @returns The start of a day\n *\n * @example\n * // The start of a day for 2 September 2014 11:55:00:\n * const result = startOfDay(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Tue Sep 02 2014 00:00:00\n */\nexport function startOfDay(date, options) {\n const _date = toDate(date, options?.in);\n _date.setHours(0, 0, 0, 0);\n return _date;\n}\n\n// Fallback for modularized imports:\nexport default startOfDay;\n","import { getTimezoneOffsetInMilliseconds } from \"./_lib/getTimezoneOffsetInMilliseconds.js\";\nimport { normalizeDates } from \"./_lib/normalizeDates.js\";\nimport { millisecondsInDay } from \"./constants.js\";\nimport { startOfDay } from \"./startOfDay.js\";\n\n/**\n * The {@link differenceInCalendarDays} function options.\n */\n\n/**\n * @name differenceInCalendarDays\n * @category Day Helpers\n * @summary Get the number of calendar days between the given dates.\n *\n * @description\n * Get the number of calendar days between the given dates. This means that the times are removed\n * from the dates and then the difference in days is calculated.\n *\n * @param laterDate - The later date\n * @param earlierDate - The earlier date\n * @param options - The options object\n *\n * @returns The number of calendar days\n *\n * @example\n * // How many calendar days are between\n * // 2 July 2011 23:00:00 and 2 July 2012 00:00:00?\n * const result = differenceInCalendarDays(\n * new Date(2012, 6, 2, 0, 0),\n * new Date(2011, 6, 2, 23, 0)\n * )\n * //=> 366\n * // How many calendar days are between\n * // 2 July 2011 23:59:00 and 3 July 2011 00:01:00?\n * const result = differenceInCalendarDays(\n * new Date(2011, 6, 3, 0, 1),\n * new Date(2011, 6, 2, 23, 59)\n * )\n * //=> 1\n */\nexport function differenceInCalendarDays(laterDate, earlierDate, options) {\n const [laterDate_, earlierDate_] = normalizeDates(\n options?.in,\n laterDate,\n earlierDate,\n );\n\n const laterStartOfDay = startOfDay(laterDate_);\n const earlierStartOfDay = startOfDay(earlierDate_);\n\n const laterTimestamp =\n +laterStartOfDay - getTimezoneOffsetInMilliseconds(laterStartOfDay);\n const earlierTimestamp =\n +earlierStartOfDay - getTimezoneOffsetInMilliseconds(earlierStartOfDay);\n\n // Round the number of days to the nearest integer because the number of\n // milliseconds in a day is not constant (e.g. it's different in the week of\n // the daylight saving time clock shift).\n return Math.round((laterTimestamp - earlierTimestamp) / millisecondsInDay);\n}\n\n// Fallback for modularized imports:\nexport default differenceInCalendarDays;\n","import { constructFrom } from \"../constructFrom.js\";\n\nexport function normalizeDates(context, ...dates) {\n const normalize = constructFrom.bind(\n null,\n context || dates.find((date) => typeof date === \"object\"),\n );\n return dates.map(normalize);\n}\n","import { isDate } from \"./isDate.js\";\nimport { toDate } from \"./toDate.js\";\n\n/**\n * @name isValid\n * @category Common Helpers\n * @summary Is the given date valid?\n *\n * @description\n * Returns false if argument is Invalid Date and true otherwise.\n * Argument is converted to Date using `toDate`. See [toDate](https://date-fns.org/docs/toDate)\n * Invalid Date is a Date, whose time value is NaN.\n *\n * Time value of Date: http://es5.github.io/#x15.9.1.1\n *\n * @param date - The date to check\n *\n * @returns The date is valid\n *\n * @example\n * // For the valid date:\n * const result = isValid(new Date(2014, 1, 31))\n * //=> true\n *\n * @example\n * // For the value, convertible into a date:\n * const result = isValid(1393804800000)\n * //=> true\n *\n * @example\n * // For the invalid date:\n * const result = isValid(new Date(''))\n * //=> false\n */\nexport function isValid(date) {\n return !((!isDate(date) && typeof date !== \"number\") || isNaN(+toDate(date)));\n}\n\n// Fallback for modularized imports:\nexport default isValid;\n","/**\n * @name isDate\n * @category Common Helpers\n * @summary Is the given value a date?\n *\n * @description\n * Returns true if the given value is an instance of Date. The function works for dates transferred across iframes.\n *\n * @param value - The value to check\n *\n * @returns True if the given value is a date\n *\n * @example\n * // For a valid date:\n * const result = isDate(new Date())\n * //=> true\n *\n * @example\n * // For an invalid date:\n * const result = isDate(new Date(NaN))\n * //=> true\n *\n * @example\n * // For some value:\n * const result = isDate('2014-02-31')\n * //=> false\n *\n * @example\n * // For an object:\n * const result = isDate({})\n * //=> false\n */\nexport function isDate(value) {\n return (\n value instanceof Date ||\n (typeof value === \"object\" &&\n Object.prototype.toString.call(value) === \"[object Date]\")\n );\n}\n\n// Fallback for modularized imports:\nexport default isDate;\n","const formatDistanceLocale = {\n lessThanXSeconds: {\n one: \"less than a second\",\n other: \"less than {{count}} seconds\",\n },\n\n xSeconds: {\n one: \"1 second\",\n other: \"{{count}} seconds\",\n },\n\n halfAMinute: \"half a minute\",\n\n lessThanXMinutes: {\n one: \"less than a minute\",\n other: \"less than {{count}} minutes\",\n },\n\n xMinutes: {\n one: \"1 minute\",\n other: \"{{count}} minutes\",\n },\n\n aboutXHours: {\n one: \"about 1 hour\",\n other: \"about {{count}} hours\",\n },\n\n xHours: {\n one: \"1 hour\",\n other: \"{{count}} hours\",\n },\n\n xDays: {\n one: \"1 day\",\n other: \"{{count}} days\",\n },\n\n aboutXWeeks: {\n one: \"about 1 week\",\n other: \"about {{count}} weeks\",\n },\n\n xWeeks: {\n one: \"1 week\",\n other: \"{{count}} weeks\",\n },\n\n aboutXMonths: {\n one: \"about 1 month\",\n other: \"about {{count}} months\",\n },\n\n xMonths: {\n one: \"1 month\",\n other: \"{{count}} months\",\n },\n\n aboutXYears: {\n one: \"about 1 year\",\n other: \"about {{count}} years\",\n },\n\n xYears: {\n one: \"1 year\",\n other: \"{{count}} years\",\n },\n\n overXYears: {\n one: \"over 1 year\",\n other: \"over {{count}} years\",\n },\n\n almostXYears: {\n one: \"almost 1 year\",\n other: \"almost {{count}} years\",\n },\n};\n\nexport const formatDistance = (token, count, options) => {\n let result;\n\n const tokenValue = formatDistanceLocale[token];\n if (typeof tokenValue === \"string\") {\n result = tokenValue;\n } else if (count === 1) {\n result = tokenValue.one;\n } else {\n result = tokenValue.other.replace(\"{{count}}\", count.toString());\n }\n\n if (options?.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n return \"in \" + result;\n } else {\n return result + \" ago\";\n }\n }\n\n return result;\n};\n","export function buildFormatLongFn(args) {\n return (options = {}) => {\n // TODO: Remove String()\n const width = options.width ? String(options.width) : args.defaultWidth;\n const format = args.formats[width] || args.formats[args.defaultWidth];\n return format;\n };\n}\n","import { buildFormatLongFn } from \"../../_lib/buildFormatLongFn.js\";\n\nconst dateFormats = {\n full: \"EEEE, MMMM do, y\",\n long: \"MMMM do, y\",\n medium: \"MMM d, y\",\n short: \"MM/dd/yyyy\",\n};\n\nconst timeFormats = {\n full: \"h:mm:ss a zzzz\",\n long: \"h:mm:ss a z\",\n medium: \"h:mm:ss a\",\n short: \"h:mm a\",\n};\n\nconst dateTimeFormats = {\n full: \"{{date}} 'at' {{time}}\",\n long: \"{{date}} 'at' {{time}}\",\n medium: \"{{date}}, {{time}}\",\n short: \"{{date}}, {{time}}\",\n};\n\nexport const formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: \"full\",\n }),\n\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: \"full\",\n }),\n\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: \"full\",\n }),\n};\n","const formatRelativeLocale = {\n lastWeek: \"'last' eeee 'at' p\",\n yesterday: \"'yesterday at' p\",\n today: \"'today at' p\",\n tomorrow: \"'tomorrow at' p\",\n nextWeek: \"eeee 'at' p\",\n other: \"P\",\n};\n\nexport const formatRelative = (token, _date, _baseDate, _options) =>\n formatRelativeLocale[token];\n","/**\n * The localize function argument callback which allows to convert raw value to\n * the actual type.\n *\n * @param value - The value to convert\n *\n * @returns The converted value\n */\n\n/**\n * The map of localized values for each width.\n */\n\n/**\n * The index type of the locale unit value. It types conversion of units of\n * values that don't start at 0 (i.e. quarters).\n */\n\n/**\n * Converts the unit value to the tuple of values.\n */\n\n/**\n * The tuple of localized era values. The first element represents BC,\n * the second element represents AD.\n */\n\n/**\n * The tuple of localized quarter values. The first element represents Q1.\n */\n\n/**\n * The tuple of localized day values. The first element represents Sunday.\n */\n\n/**\n * The tuple of localized month values. The first element represents January.\n */\n\nexport function buildLocalizeFn(args) {\n return (value, options) => {\n const context = options?.context ? String(options.context) : \"standalone\";\n\n let valuesArray;\n if (context === \"formatting\" && args.formattingValues) {\n const defaultWidth = args.defaultFormattingWidth || args.defaultWidth;\n const width = options?.width ? String(options.width) : defaultWidth;\n\n valuesArray =\n args.formattingValues[width] || args.formattingValues[defaultWidth];\n } else {\n const defaultWidth = args.defaultWidth;\n const width = options?.width ? String(options.width) : args.defaultWidth;\n\n valuesArray = args.values[width] || args.values[defaultWidth];\n }\n const index = args.argumentCallback ? args.argumentCallback(value) : value;\n\n // @ts-expect-error - For some reason TypeScript just don't want to match it, no matter how hard we try. I challenge you to try to remove it!\n return valuesArray[index];\n };\n}\n","export function buildMatchFn(args) {\n return (string, options = {}) => {\n const width = options.width;\n\n const matchPattern =\n (width && args.matchPatterns[width]) ||\n args.matchPatterns[args.defaultMatchWidth];\n const matchResult = string.match(matchPattern);\n\n if (!matchResult) {\n return null;\n }\n const matchedString = matchResult[0];\n\n const parsePatterns =\n (width && args.parsePatterns[width]) ||\n args.parsePatterns[args.defaultParseWidth];\n\n const key = Array.isArray(parsePatterns)\n ? findIndex(parsePatterns, (pattern) => pattern.test(matchedString))\n : // [TODO] -- I challenge you to fix the type\n findKey(parsePatterns, (pattern) => pattern.test(matchedString));\n\n let value;\n\n value = args.valueCallback ? args.valueCallback(key) : key;\n value = options.valueCallback\n ? // [TODO] -- I challenge you to fix the type\n options.valueCallback(value)\n : value;\n\n const rest = string.slice(matchedString.length);\n\n return { value, rest };\n };\n}\n\nfunction findKey(object, predicate) {\n for (const key in object) {\n if (\n Object.prototype.hasOwnProperty.call(object, key) &&\n predicate(object[key])\n ) {\n return key;\n }\n }\n return undefined;\n}\n\nfunction findIndex(array, predicate) {\n for (let key = 0; key < array.length; key++) {\n if (predicate(array[key])) {\n return key;\n }\n }\n return undefined;\n}\n","export function buildMatchPatternFn(args) {\n return (string, options = {}) => {\n const matchResult = string.match(args.matchPattern);\n if (!matchResult) return null;\n const matchedString = matchResult[0];\n\n const parseResult = string.match(args.parsePattern);\n if (!parseResult) return null;\n let value = args.valueCallback\n ? args.valueCallback(parseResult[0])\n : parseResult[0];\n\n // [TODO] I challenge you to fix the type\n value = options.valueCallback ? options.valueCallback(value) : value;\n\n const rest = string.slice(matchedString.length);\n\n return { value, rest };\n };\n}\n","import { formatDistance } from \"./en-US/_lib/formatDistance.js\";\nimport { formatLong } from \"./en-US/_lib/formatLong.js\";\nimport { formatRelative } from \"./en-US/_lib/formatRelative.js\";\nimport { localize } from \"./en-US/_lib/localize.js\";\nimport { match } from \"./en-US/_lib/match.js\";\n\n/**\n * @category Locales\n * @summary English locale (United States).\n * @language English\n * @iso-639-2 eng\n * @author Sasha Koss [@kossnocorp](https://github.com/kossnocorp)\n * @author Lesha Koss [@leshakoss](https://github.com/leshakoss)\n */\nexport const enUS = {\n code: \"en-US\",\n formatDistance: formatDistance,\n formatLong: formatLong,\n formatRelative: formatRelative,\n localize: localize,\n match: match,\n options: {\n weekStartsOn: 0 /* Sunday */,\n firstWeekContainsDate: 1,\n },\n};\n\n// Fallback for modularized imports:\nexport default enUS;\n","import { buildLocalizeFn } from \"../../_lib/buildLocalizeFn.js\";\n\nconst eraValues = {\n narrow: [\"B\", \"A\"],\n abbreviated: [\"BC\", \"AD\"],\n wide: [\"Before Christ\", \"Anno Domini\"],\n};\n\nconst quarterValues = {\n narrow: [\"1\", \"2\", \"3\", \"4\"],\n abbreviated: [\"Q1\", \"Q2\", \"Q3\", \"Q4\"],\n wide: [\"1st quarter\", \"2nd quarter\", \"3rd quarter\", \"4th quarter\"],\n};\n\n// Note: in English, the names of days of the week and months are capitalized.\n// If you are making a new locale based on this one, check if the same is true for the language you're working on.\n// Generally, formatted dates should look like they are in the middle of a sentence,\n// e.g. in Spanish language the weekdays and months should be in the lowercase.\nconst monthValues = {\n narrow: [\"J\", \"F\", \"M\", \"A\", \"M\", \"J\", \"J\", \"A\", \"S\", \"O\", \"N\", \"D\"],\n abbreviated: [\n \"Jan\",\n \"Feb\",\n \"Mar\",\n \"Apr\",\n \"May\",\n \"Jun\",\n \"Jul\",\n \"Aug\",\n \"Sep\",\n \"Oct\",\n \"Nov\",\n \"Dec\",\n ],\n\n wide: [\n \"January\",\n \"February\",\n \"March\",\n \"April\",\n \"May\",\n \"June\",\n \"July\",\n \"August\",\n \"September\",\n \"October\",\n \"November\",\n \"December\",\n ],\n};\n\nconst dayValues = {\n narrow: [\"S\", \"M\", \"T\", \"W\", \"T\", \"F\", \"S\"],\n short: [\"Su\", \"Mo\", \"Tu\", \"We\", \"Th\", \"Fr\", \"Sa\"],\n abbreviated: [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"],\n wide: [\n \"Sunday\",\n \"Monday\",\n \"Tuesday\",\n \"Wednesday\",\n \"Thursday\",\n \"Friday\",\n \"Saturday\",\n ],\n};\n\nconst dayPeriodValues = {\n narrow: {\n am: \"a\",\n pm: \"p\",\n midnight: \"mi\",\n noon: \"n\",\n morning: \"morning\",\n afternoon: \"afternoon\",\n evening: \"evening\",\n night: \"night\",\n },\n abbreviated: {\n am: \"AM\",\n pm: \"PM\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"morning\",\n afternoon: \"afternoon\",\n evening: \"evening\",\n night: \"night\",\n },\n wide: {\n am: \"a.m.\",\n pm: \"p.m.\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"morning\",\n afternoon: \"afternoon\",\n evening: \"evening\",\n night: \"night\",\n },\n};\n\nconst formattingDayPeriodValues = {\n narrow: {\n am: \"a\",\n pm: \"p\",\n midnight: \"mi\",\n noon: \"n\",\n morning: \"in the morning\",\n afternoon: \"in the afternoon\",\n evening: \"in the evening\",\n night: \"at night\",\n },\n abbreviated: {\n am: \"AM\",\n pm: \"PM\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"in the morning\",\n afternoon: \"in the afternoon\",\n evening: \"in the evening\",\n night: \"at night\",\n },\n wide: {\n am: \"a.m.\",\n pm: \"p.m.\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"in the morning\",\n afternoon: \"in the afternoon\",\n evening: \"in the evening\",\n night: \"at night\",\n },\n};\n\nconst ordinalNumber = (dirtyNumber, _options) => {\n const number = Number(dirtyNumber);\n\n // If ordinal numbers depend on context, for example,\n // if they are different for different grammatical genders,\n // use `options.unit`.\n //\n // `unit` can be 'year', 'quarter', 'month', 'week', 'date', 'dayOfYear',\n // 'day', 'hour', 'minute', 'second'.\n\n const rem100 = number % 100;\n if (rem100 > 20 || rem100 < 10) {\n switch (rem100 % 10) {\n case 1:\n return number + \"st\";\n case 2:\n return number + \"nd\";\n case 3:\n return number + \"rd\";\n }\n }\n return number + \"th\";\n};\n\nexport const localize = {\n ordinalNumber,\n\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: \"wide\",\n }),\n\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: \"wide\",\n argumentCallback: (quarter) => quarter - 1,\n }),\n\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: \"wide\",\n }),\n\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: \"wide\",\n }),\n\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: \"wide\",\n formattingValues: formattingDayPeriodValues,\n defaultFormattingWidth: \"wide\",\n }),\n};\n","import { buildMatchFn } from \"../../_lib/buildMatchFn.js\";\nimport { buildMatchPatternFn } from \"../../_lib/buildMatchPatternFn.js\";\n\nconst matchOrdinalNumberPattern = /^(\\d+)(th|st|nd|rd)?/i;\nconst parseOrdinalNumberPattern = /\\d+/i;\n\nconst matchEraPatterns = {\n narrow: /^(b|a)/i,\n abbreviated: /^(b\\.?\\s?c\\.?|b\\.?\\s?c\\.?\\s?e\\.?|a\\.?\\s?d\\.?|c\\.?\\s?e\\.?)/i,\n wide: /^(before christ|before common era|anno domini|common era)/i,\n};\nconst parseEraPatterns = {\n any: [/^b/i, /^(a|c)/i],\n};\n\nconst matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^q[1234]/i,\n wide: /^[1234](th|st|nd|rd)? quarter/i,\n};\nconst parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i],\n};\n\nconst matchMonthPatterns = {\n narrow: /^[jfmasond]/i,\n abbreviated: /^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,\n wide: /^(january|february|march|april|may|june|july|august|september|october|november|december)/i,\n};\nconst parseMonthPatterns = {\n narrow: [\n /^j/i,\n /^f/i,\n /^m/i,\n /^a/i,\n /^m/i,\n /^j/i,\n /^j/i,\n /^a/i,\n /^s/i,\n /^o/i,\n /^n/i,\n /^d/i,\n ],\n\n any: [\n /^ja/i,\n /^f/i,\n /^mar/i,\n /^ap/i,\n /^may/i,\n /^jun/i,\n /^jul/i,\n /^au/i,\n /^s/i,\n /^o/i,\n /^n/i,\n /^d/i,\n ],\n};\n\nconst matchDayPatterns = {\n narrow: /^[smtwf]/i,\n short: /^(su|mo|tu|we|th|fr|sa)/i,\n abbreviated: /^(sun|mon|tue|wed|thu|fri|sat)/i,\n wide: /^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i,\n};\nconst parseDayPatterns = {\n narrow: [/^s/i, /^m/i, /^t/i, /^w/i, /^t/i, /^f/i, /^s/i],\n any: [/^su/i, /^m/i, /^tu/i, /^w/i, /^th/i, /^f/i, /^sa/i],\n};\n\nconst matchDayPeriodPatterns = {\n narrow: /^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,\n any: /^([ap]\\.?\\s?m\\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i,\n};\nconst parseDayPeriodPatterns = {\n any: {\n am: /^a/i,\n pm: /^p/i,\n midnight: /^mi/i,\n noon: /^no/i,\n morning: /morning/i,\n afternoon: /afternoon/i,\n evening: /evening/i,\n night: /night/i,\n },\n};\n\nexport const match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: (value) => parseInt(value, 10),\n }),\n\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseEraPatterns,\n defaultParseWidth: \"any\",\n }),\n\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: \"any\",\n valueCallback: (index) => index + 1,\n }),\n\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: \"any\",\n }),\n\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseDayPatterns,\n defaultParseWidth: \"any\",\n }),\n\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: \"any\",\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: \"any\",\n }),\n};\n","import { differenceInCalendarDays } from \"./differenceInCalendarDays.js\";\nimport { startOfYear } from \"./startOfYear.js\";\nimport { toDate } from \"./toDate.js\";\n\n/**\n * The {@link getDayOfYear} function options.\n */\n\n/**\n * @name getDayOfYear\n * @category Day Helpers\n * @summary Get the day of the year of the given date.\n *\n * @description\n * Get the day of the year of the given date.\n *\n * @param date - The given date\n * @param options - The options\n *\n * @returns The day of year\n *\n * @example\n * // Which day of the year is 2 July 2014?\n * const result = getDayOfYear(new Date(2014, 6, 2))\n * //=> 183\n */\nexport function getDayOfYear(date, options) {\n const _date = toDate(date, options?.in);\n const diff = differenceInCalendarDays(_date, startOfYear(_date));\n const dayOfYear = diff + 1;\n return dayOfYear;\n}\n\n// Fallback for modularized imports:\nexport default getDayOfYear;\n","import { toDate } from \"./toDate.js\";\n\n/**\n * The {@link startOfYear} function options.\n */\n\n/**\n * @name startOfYear\n * @category Year Helpers\n * @summary Return the start of a year for the given date.\n *\n * @description\n * Return the start of a year for the given date.\n * The result will be in the local timezone.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param date - The original date\n * @param options - The options\n *\n * @returns The start of a year\n *\n * @example\n * // The start of a year for 2 September 2014 11:55:00:\n * const result = startOfYear(new Date(2014, 8, 2, 11, 55, 00))\n * //=> Wed Jan 01 2014 00:00:00\n */\nexport function startOfYear(date, options) {\n const date_ = toDate(date, options?.in);\n date_.setFullYear(date_.getFullYear(), 0, 1);\n date_.setHours(0, 0, 0, 0);\n return date_;\n}\n\n// Fallback for modularized imports:\nexport default startOfYear;\n","import { millisecondsInWeek } from \"./constants.js\";\nimport { startOfISOWeek } from \"./startOfISOWeek.js\";\nimport { startOfISOWeekYear } from \"./startOfISOWeekYear.js\";\nimport { toDate } from \"./toDate.js\";\n\n/**\n * The {@link getISOWeek} function options.\n */\n\n/**\n * @name getISOWeek\n * @category ISO Week Helpers\n * @summary Get the ISO week of the given date.\n *\n * @description\n * Get the ISO week of the given date.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * @param date - The given date\n * @param options - The options\n *\n * @returns The ISO week\n *\n * @example\n * // Which week of the ISO-week numbering year is 2 January 2005?\n * const result = getISOWeek(new Date(2005, 0, 2))\n * //=> 53\n */\nexport function getISOWeek(date, options) {\n const _date = toDate(date, options?.in);\n const diff = +startOfISOWeek(_date) - +startOfISOWeekYear(_date);\n\n // Round the number of weeks to the nearest integer because the number of\n // milliseconds in a week is not constant (e.g. it's different in the week of\n // the daylight saving time clock shift).\n return Math.round(diff / millisecondsInWeek) + 1;\n}\n\n// Fallback for modularized imports:\nexport default getISOWeek;\n","import { constructFrom } from \"./constructFrom.js\";\nimport { getISOWeekYear } from \"./getISOWeekYear.js\";\nimport { startOfISOWeek } from \"./startOfISOWeek.js\";\n\n/**\n * The {@link startOfISOWeekYear} function options.\n */\n\n/**\n * @name startOfISOWeekYear\n * @category ISO Week-Numbering Year Helpers\n * @summary Return the start of an ISO week-numbering year for the given date.\n *\n * @description\n * Return the start of an ISO week-numbering year,\n * which always starts 3 days before the year's first Thursday.\n * The result will be in the local timezone.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param date - The original date\n * @param options - An object with options\n *\n * @returns The start of an ISO week-numbering year\n *\n * @example\n * // The start of an ISO week-numbering year for 2 July 2005:\n * const result = startOfISOWeekYear(new Date(2005, 6, 2))\n * //=> Mon Jan 03 2005 00:00:00\n */\nexport function startOfISOWeekYear(date, options) {\n const year = getISOWeekYear(date, options);\n const fourthOfJanuary = constructFrom(options?.in || date, 0);\n fourthOfJanuary.setFullYear(year, 0, 4);\n fourthOfJanuary.setHours(0, 0, 0, 0);\n return startOfISOWeek(fourthOfJanuary);\n}\n\n// Fallback for modularized imports:\nexport default startOfISOWeekYear;\n","import { getDefaultOptions } from \"./_lib/defaultOptions.js\";\nimport { constructFrom } from \"./constructFrom.js\";\nimport { startOfWeek } from \"./startOfWeek.js\";\nimport { toDate } from \"./toDate.js\";\n\n/**\n * The {@link getWeekYear} function options.\n */\n\n/**\n * @name getWeekYear\n * @category Week-Numbering Year Helpers\n * @summary Get the local week-numbering year of the given date.\n *\n * @description\n * Get the local week-numbering year of the given date.\n * The exact calculation depends on the values of\n * `options.weekStartsOn` (which is the index of the first day of the week)\n * and `options.firstWeekContainsDate` (which is the day of January, which is always in\n * the first week of the week-numbering year)\n *\n * Week numbering: https://en.wikipedia.org/wiki/Week#The_ISO_week_date_system\n *\n * @param date - The given date\n * @param options - An object with options.\n *\n * @returns The local week-numbering year\n *\n * @example\n * // Which week numbering year is 26 December 2004 with the default settings?\n * const result = getWeekYear(new Date(2004, 11, 26))\n * //=> 2005\n *\n * @example\n * // Which week numbering year is 26 December 2004 if week starts on Saturday?\n * const result = getWeekYear(new Date(2004, 11, 26), { weekStartsOn: 6 })\n * //=> 2004\n *\n * @example\n * // Which week numbering year is 26 December 2004 if the first week contains 4 January?\n * const result = getWeekYear(new Date(2004, 11, 26), { firstWeekContainsDate: 4 })\n * //=> 2004\n */\nexport function getWeekYear(date, options) {\n const _date = toDate(date, options?.in);\n const year = _date.getFullYear();\n\n const defaultOptions = getDefaultOptions();\n const firstWeekContainsDate =\n options?.firstWeekContainsDate ??\n options?.locale?.options?.firstWeekContainsDate ??\n defaultOptions.firstWeekContainsDate ??\n defaultOptions.locale?.options?.firstWeekContainsDate ??\n 1;\n\n const firstWeekOfNextYear = constructFrom(options?.in || date, 0);\n firstWeekOfNextYear.setFullYear(year + 1, 0, firstWeekContainsDate);\n firstWeekOfNextYear.setHours(0, 0, 0, 0);\n const startOfNextYear = startOfWeek(firstWeekOfNextYear, options);\n\n const firstWeekOfThisYear = constructFrom(options?.in || date, 0);\n firstWeekOfThisYear.setFullYear(year, 0, firstWeekContainsDate);\n firstWeekOfThisYear.setHours(0, 0, 0, 0);\n const startOfThisYear = startOfWeek(firstWeekOfThisYear, options);\n\n if (+_date >= +startOfNextYear) {\n return year + 1;\n } else if (+_date >= +startOfThisYear) {\n return year;\n } else {\n return year - 1;\n }\n}\n\n// Fallback for modularized imports:\nexport default getWeekYear;\n","import { millisecondsInWeek } from \"./constants.js\";\nimport { startOfWeek } from \"./startOfWeek.js\";\nimport { startOfWeekYear } from \"./startOfWeekYear.js\";\nimport { toDate } from \"./toDate.js\";\n\n/**\n * The {@link getWeek} function options.\n */\n\n/**\n * @name getWeek\n * @category Week Helpers\n * @summary Get the local week index of the given date.\n *\n * @description\n * Get the local week index of the given date.\n * The exact calculation depends on the values of\n * `options.weekStartsOn` (which is the index of the first day of the week)\n * and `options.firstWeekContainsDate` (which is the day of January, which is always in\n * the first week of the week-numbering year)\n *\n * Week numbering: https://en.wikipedia.org/wiki/Week#The_ISO_week_date_system\n *\n * @param date - The given date\n * @param options - An object with options\n *\n * @returns The week\n *\n * @example\n * // Which week of the local week numbering year is 2 January 2005 with default options?\n * const result = getWeek(new Date(2005, 0, 2))\n * //=> 2\n *\n * @example\n * // Which week of the local week numbering year is 2 January 2005,\n * // if Monday is the first day of the week,\n * // and the first week of the year always contains 4 January?\n * const result = getWeek(new Date(2005, 0, 2), {\n * weekStartsOn: 1,\n * firstWeekContainsDate: 4\n * })\n * //=> 53\n */\nexport function getWeek(date, options) {\n const _date = toDate(date, options?.in);\n const diff = +startOfWeek(_date, options) - +startOfWeekYear(_date, options);\n\n // Round the number of weeks to the nearest integer because the number of\n // milliseconds in a week is not constant (e.g. it's different in the week of\n // the daylight saving time clock shift).\n return Math.round(diff / millisecondsInWeek) + 1;\n}\n\n// Fallback for modularized imports:\nexport default getWeek;\n","import { getDefaultOptions } from \"./_lib/defaultOptions.js\";\nimport { constructFrom } from \"./constructFrom.js\";\nimport { getWeekYear } from \"./getWeekYear.js\";\nimport { startOfWeek } from \"./startOfWeek.js\";\n\n/**\n * The {@link startOfWeekYear} function options.\n */\n\n/**\n * @name startOfWeekYear\n * @category Week-Numbering Year Helpers\n * @summary Return the start of a local week-numbering year for the given date.\n *\n * @description\n * Return the start of a local week-numbering year.\n * The exact calculation depends on the values of\n * `options.weekStartsOn` (which is the index of the first day of the week)\n * and `options.firstWeekContainsDate` (which is the day of January, which is always in\n * the first week of the week-numbering year)\n *\n * Week numbering: https://en.wikipedia.org/wiki/Week#The_ISO_week_date_system\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type.\n *\n * @param date - The original date\n * @param options - An object with options\n *\n * @returns The start of a week-numbering year\n *\n * @example\n * // The start of an a week-numbering year for 2 July 2005 with default settings:\n * const result = startOfWeekYear(new Date(2005, 6, 2))\n * //=> Sun Dec 26 2004 00:00:00\n *\n * @example\n * // The start of a week-numbering year for 2 July 2005\n * // if Monday is the first day of week\n * // and 4 January is always in the first week of the year:\n * const result = startOfWeekYear(new Date(2005, 6, 2), {\n * weekStartsOn: 1,\n * firstWeekContainsDate: 4\n * })\n * //=> Mon Jan 03 2005 00:00:00\n */\nexport function startOfWeekYear(date, options) {\n const defaultOptions = getDefaultOptions();\n const firstWeekContainsDate =\n options?.firstWeekContainsDate ??\n options?.locale?.options?.firstWeekContainsDate ??\n defaultOptions.firstWeekContainsDate ??\n defaultOptions.locale?.options?.firstWeekContainsDate ??\n 1;\n\n const year = getWeekYear(date, options);\n const firstWeek = constructFrom(options?.in || date, 0);\n firstWeek.setFullYear(year, 0, firstWeekContainsDate);\n firstWeek.setHours(0, 0, 0, 0);\n const _date = startOfWeek(firstWeek, options);\n return _date;\n}\n\n// Fallback for modularized imports:\nexport default startOfWeekYear;\n","export function addLeadingZeros(number, targetLength) {\n const sign = number < 0 ? \"-\" : \"\";\n const output = Math.abs(number).toString().padStart(targetLength, \"0\");\n return sign + output;\n}\n","import { addLeadingZeros } from \"../addLeadingZeros.js\";\n\n/*\n * | | Unit | | Unit |\n * |-----|--------------------------------|-----|--------------------------------|\n * | a | AM, PM | A* | |\n * | d | Day of month | D | |\n * | h | Hour [1-12] | H | Hour [0-23] |\n * | m | Minute | M | Month |\n * | s | Second | S | Fraction of second |\n * | y | Year (abs) | Y | |\n *\n * Letters marked by * are not implemented but reserved by Unicode standard.\n */\n\nexport const lightFormatters = {\n // Year\n y(date, token) {\n // From http://www.unicode.org/reports/tr35/tr35-31/tr35-dates.html#Date_Format_tokens\n // | Year | y | yy | yyy | yyyy | yyyyy |\n // |----------|-------|----|-------|-------|-------|\n // | AD 1 | 1 | 01 | 001 | 0001 | 00001 |\n // | AD 12 | 12 | 12 | 012 | 0012 | 00012 |\n // | AD 123 | 123 | 23 | 123 | 0123 | 00123 |\n // | AD 1234 | 1234 | 34 | 1234 | 1234 | 01234 |\n // | AD 12345 | 12345 | 45 | 12345 | 12345 | 12345 |\n\n const signedYear = date.getFullYear();\n // Returns 1 for 1 BC (which is year 0 in JavaScript)\n const year = signedYear > 0 ? signedYear : 1 - signedYear;\n return addLeadingZeros(token === \"yy\" ? year % 100 : year, token.length);\n },\n\n // Month\n M(date, token) {\n const month = date.getMonth();\n return token === \"M\" ? String(month + 1) : addLeadingZeros(month + 1, 2);\n },\n\n // Day of the month\n d(date, token) {\n return addLeadingZeros(date.getDate(), token.length);\n },\n\n // AM or PM\n a(date, token) {\n const dayPeriodEnumValue = date.getHours() / 12 >= 1 ? \"pm\" : \"am\";\n\n switch (token) {\n case \"a\":\n case \"aa\":\n return dayPeriodEnumValue.toUpperCase();\n case \"aaa\":\n return dayPeriodEnumValue;\n case \"aaaaa\":\n return dayPeriodEnumValue[0];\n case \"aaaa\":\n default:\n return dayPeriodEnumValue === \"am\" ? \"a.m.\" : \"p.m.\";\n }\n },\n\n // Hour [1-12]\n h(date, token) {\n return addLeadingZeros(date.getHours() % 12 || 12, token.length);\n },\n\n // Hour [0-23]\n H(date, token) {\n return addLeadingZeros(date.getHours(), token.length);\n },\n\n // Minute\n m(date, token) {\n return addLeadingZeros(date.getMinutes(), token.length);\n },\n\n // Second\n s(date, token) {\n return addLeadingZeros(date.getSeconds(), token.length);\n },\n\n // Fraction of second\n S(date, token) {\n const numberOfDigits = token.length;\n const milliseconds = date.getMilliseconds();\n const fractionalSeconds = Math.trunc(\n milliseconds * Math.pow(10, numberOfDigits - 3),\n );\n return addLeadingZeros(fractionalSeconds, token.length);\n },\n};\n","import { getDayOfYear } from \"../../getDayOfYear.js\";\nimport { getISOWeek } from \"../../getISOWeek.js\";\nimport { getISOWeekYear } from \"../../getISOWeekYear.js\";\nimport { getWeek } from \"../../getWeek.js\";\nimport { getWeekYear } from \"../../getWeekYear.js\";\n\nimport { addLeadingZeros } from \"../addLeadingZeros.js\";\nimport { lightFormatters } from \"./lightFormatters.js\";\n\nconst dayPeriodEnum = {\n am: \"am\",\n pm: \"pm\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"morning\",\n afternoon: \"afternoon\",\n evening: \"evening\",\n night: \"night\",\n};\n\n/*\n * | | Unit | | Unit |\n * |-----|--------------------------------|-----|--------------------------------|\n * | a | AM, PM | A* | Milliseconds in day |\n * | b | AM, PM, noon, midnight | B | Flexible day period |\n * | c | Stand-alone local day of week | C* | Localized hour w/ day period |\n * | d | Day of month | D | Day of year |\n * | e | Local day of week | E | Day of week |\n * | f | | F* | Day of week in month |\n * | g* | Modified Julian day | G | Era |\n * | h | Hour [1-12] | H | Hour [0-23] |\n * | i! | ISO day of week | I! | ISO week of year |\n * | j* | Localized hour w/ day period | J* | Localized hour w/o day period |\n * | k | Hour [1-24] | K | Hour [0-11] |\n * | l* | (deprecated) | L | Stand-alone month |\n * | m | Minute | M | Month |\n * | n | | N | |\n * | o! | Ordinal number modifier | O | Timezone (GMT) |\n * | p! | Long localized time | P! | Long localized date |\n * | q | Stand-alone quarter | Q | Quarter |\n * | r* | Related Gregorian year | R! | ISO week-numbering year |\n * | s | Second | S | Fraction of second |\n * | t! | Seconds timestamp | T! | Milliseconds timestamp |\n * | u | Extended year | U* | Cyclic year |\n * | v* | Timezone (generic non-locat.) | V* | Timezone (location) |\n * | w | Local week of year | W* | Week of month |\n * | x | Timezone (ISO-8601 w/o Z) | X | Timezone (ISO-8601) |\n * | y | Year (abs) | Y | Local week-numbering year |\n * | z | Timezone (specific non-locat.) | Z* | Timezone (aliases) |\n *\n * Letters marked by * are not implemented but reserved by Unicode standard.\n *\n * Letters marked by ! are non-standard, but implemented by date-fns:\n * - `o` modifies the previous token to turn it into an ordinal (see `format` docs)\n * - `i` is ISO day of week. For `i` and `ii` is returns numeric ISO week days,\n * i.e. 7 for Sunday, 1 for Monday, etc.\n * - `I` is ISO week of year, as opposed to `w` which is local week of year.\n * - `R` is ISO week-numbering year, as opposed to `Y` which is local week-numbering year.\n * `R` is supposed to be used in conjunction with `I` and `i`\n * for universal ISO week-numbering date, whereas\n * `Y` is supposed to be used in conjunction with `w` and `e`\n * for week-numbering date specific to the locale.\n * - `P` is long localized date format\n * - `p` is long localized time format\n */\n\nexport const formatters = {\n // Era\n G: function (date, token, localize) {\n const era = date.getFullYear() > 0 ? 1 : 0;\n switch (token) {\n // AD, BC\n case \"G\":\n case \"GG\":\n case \"GGG\":\n return localize.era(era, { width: \"abbreviated\" });\n // A, B\n case \"GGGGG\":\n return localize.era(era, { width: \"narrow\" });\n // Anno Domini, Before Christ\n case \"GGGG\":\n default:\n return localize.era(era, { width: \"wide\" });\n }\n },\n\n // Year\n y: function (date, token, localize) {\n // Ordinal number\n if (token === \"yo\") {\n const signedYear = date.getFullYear();\n // Returns 1 for 1 BC (which is year 0 in JavaScript)\n const year = signedYear > 0 ? signedYear : 1 - signedYear;\n return localize.ordinalNumber(year, { unit: \"year\" });\n }\n\n return lightFormatters.y(date, token);\n },\n\n // Local week-numbering year\n Y: function (date, token, localize, options) {\n const signedWeekYear = getWeekYear(date, options);\n // Returns 1 for 1 BC (which is year 0 in JavaScript)\n const weekYear = signedWeekYear > 0 ? signedWeekYear : 1 - signedWeekYear;\n\n // Two digit year\n if (token === \"YY\") {\n const twoDigitYear = weekYear % 100;\n return addLeadingZeros(twoDigitYear, 2);\n }\n\n // Ordinal number\n if (token === \"Yo\") {\n return localize.ordinalNumber(weekYear, { unit: \"year\" });\n }\n\n // Padding\n return addLeadingZeros(weekYear, token.length);\n },\n\n // ISO week-numbering year\n R: function (date, token) {\n const isoWeekYear = getISOWeekYear(date);\n\n // Padding\n return addLeadingZeros(isoWeekYear, token.length);\n },\n\n // Extended year. This is a single number designating the year of this calendar system.\n // The main difference between `y` and `u` localizers are B.C. years:\n // | Year | `y` | `u` |\n // |------|-----|-----|\n // | AC 1 | 1 | 1 |\n // | BC 1 | 1 | 0 |\n // | BC 2 | 2 | -1 |\n // Also `yy` always returns the last two digits of a year,\n // while `uu` pads single digit years to 2 characters and returns other years unchanged.\n u: function (date, token) {\n const year = date.getFullYear();\n return addLeadingZeros(year, token.length);\n },\n\n // Quarter\n Q: function (date, token, localize) {\n const quarter = Math.ceil((date.getMonth() + 1) / 3);\n switch (token) {\n // 1, 2, 3, 4\n case \"Q\":\n return String(quarter);\n // 01, 02, 03, 04\n case \"QQ\":\n return addLeadingZeros(quarter, 2);\n // 1st, 2nd, 3rd, 4th\n case \"Qo\":\n return localize.ordinalNumber(quarter, { unit: \"quarter\" });\n // Q1, Q2, Q3, Q4\n case \"QQQ\":\n return localize.quarter(quarter, {\n width: \"abbreviated\",\n context: \"formatting\",\n });\n // 1, 2, 3, 4 (narrow quarter; could be not numerical)\n case \"QQQQQ\":\n return localize.quarter(quarter, {\n width: \"narrow\",\n context: \"formatting\",\n });\n // 1st quarter, 2nd quarter, ...\n case \"QQQQ\":\n default:\n return localize.quarter(quarter, {\n width: \"wide\",\n context: \"formatting\",\n });\n }\n },\n\n // Stand-alone quarter\n q: function (date, token, localize) {\n const quarter = Math.ceil((date.getMonth() + 1) / 3);\n switch (token) {\n // 1, 2, 3, 4\n case \"q\":\n return String(quarter);\n // 01, 02, 03, 04\n case \"qq\":\n return addLeadingZeros(quarter, 2);\n // 1st, 2nd, 3rd, 4th\n case \"qo\":\n return localize.ordinalNumber(quarter, { unit: \"quarter\" });\n // Q1, Q2, Q3, Q4\n case \"qqq\":\n return localize.quarter(quarter, {\n width: \"abbreviated\",\n context: \"standalone\",\n });\n // 1, 2, 3, 4 (narrow quarter; could be not numerical)\n case \"qqqqq\":\n return localize.quarter(quarter, {\n width: \"narrow\",\n context: \"standalone\",\n });\n // 1st quarter, 2nd quarter, ...\n case \"qqqq\":\n default:\n return localize.quarter(quarter, {\n width: \"wide\",\n context: \"standalone\",\n });\n }\n },\n\n // Month\n M: function (date, token, localize) {\n const month = date.getMonth();\n switch (token) {\n case \"M\":\n case \"MM\":\n return lightFormatters.M(date, token);\n // 1st, 2nd, ..., 12th\n case \"Mo\":\n return localize.ordinalNumber(month + 1, { unit: \"month\" });\n // Jan, Feb, ..., Dec\n case \"MMM\":\n return localize.month(month, {\n width: \"abbreviated\",\n context: \"formatting\",\n });\n // J, F, ..., D\n case \"MMMMM\":\n return localize.month(month, {\n width: \"narrow\",\n context: \"formatting\",\n });\n // January, February, ..., December\n case \"MMMM\":\n default:\n return localize.month(month, { width: \"wide\", context: \"formatting\" });\n }\n },\n\n // Stand-alone month\n L: function (date, token, localize) {\n const month = date.getMonth();\n switch (token) {\n // 1, 2, ..., 12\n case \"L\":\n return String(month + 1);\n // 01, 02, ..., 12\n case \"LL\":\n return addLeadingZeros(month + 1, 2);\n // 1st, 2nd, ..., 12th\n case \"Lo\":\n return localize.ordinalNumber(month + 1, { unit: \"month\" });\n // Jan, Feb, ..., Dec\n case \"LLL\":\n return localize.month(month, {\n width: \"abbreviated\",\n context: \"standalone\",\n });\n // J, F, ..., D\n case \"LLLLL\":\n return localize.month(month, {\n width: \"narrow\",\n context: \"standalone\",\n });\n // January, February, ..., December\n case \"LLLL\":\n default:\n return localize.month(month, { width: \"wide\", context: \"standalone\" });\n }\n },\n\n // Local week of year\n w: function (date, token, localize, options) {\n const week = getWeek(date, options);\n\n if (token === \"wo\") {\n return localize.ordinalNumber(week, { unit: \"week\" });\n }\n\n return addLeadingZeros(week, token.length);\n },\n\n // ISO week of year\n I: function (date, token, localize) {\n const isoWeek = getISOWeek(date);\n\n if (token === \"Io\") {\n return localize.ordinalNumber(isoWeek, { unit: \"week\" });\n }\n\n return addLeadingZeros(isoWeek, token.length);\n },\n\n // Day of the month\n d: function (date, token, localize) {\n if (token === \"do\") {\n return localize.ordinalNumber(date.getDate(), { unit: \"date\" });\n }\n\n return lightFormatters.d(date, token);\n },\n\n // Day of year\n D: function (date, token, localize) {\n const dayOfYear = getDayOfYear(date);\n\n if (token === \"Do\") {\n return localize.ordinalNumber(dayOfYear, { unit: \"dayOfYear\" });\n }\n\n return addLeadingZeros(dayOfYear, token.length);\n },\n\n // Day of week\n E: function (date, token, localize) {\n const dayOfWeek = date.getDay();\n switch (token) {\n // Tue\n case \"E\":\n case \"EE\":\n case \"EEE\":\n return localize.day(dayOfWeek, {\n width: \"abbreviated\",\n context: \"formatting\",\n });\n // T\n case \"EEEEE\":\n return localize.day(dayOfWeek, {\n width: \"narrow\",\n context: \"formatting\",\n });\n // Tu\n case \"EEEEEE\":\n return localize.day(dayOfWeek, {\n width: \"short\",\n context: \"formatting\",\n });\n // Tuesday\n case \"EEEE\":\n default:\n return localize.day(dayOfWeek, {\n width: \"wide\",\n context: \"formatting\",\n });\n }\n },\n\n // Local day of week\n e: function (date, token, localize, options) {\n const dayOfWeek = date.getDay();\n const localDayOfWeek = (dayOfWeek - options.weekStartsOn + 8) % 7 || 7;\n switch (token) {\n // Numerical value (Nth day of week with current locale or weekStartsOn)\n case \"e\":\n return String(localDayOfWeek);\n // Padded numerical value\n case \"ee\":\n return addLeadingZeros(localDayOfWeek, 2);\n // 1st, 2nd, ..., 7th\n case \"eo\":\n return localize.ordinalNumber(localDayOfWeek, { unit: \"day\" });\n case \"eee\":\n return localize.day(dayOfWeek, {\n width: \"abbreviated\",\n context: \"formatting\",\n });\n // T\n case \"eeeee\":\n return localize.day(dayOfWeek, {\n width: \"narrow\",\n context: \"formatting\",\n });\n // Tu\n case \"eeeeee\":\n return localize.day(dayOfWeek, {\n width: \"short\",\n context: \"formatting\",\n });\n // Tuesday\n case \"eeee\":\n default:\n return localize.day(dayOfWeek, {\n width: \"wide\",\n context: \"formatting\",\n });\n }\n },\n\n // Stand-alone local day of week\n c: function (date, token, localize, options) {\n const dayOfWeek = date.getDay();\n const localDayOfWeek = (dayOfWeek - options.weekStartsOn + 8) % 7 || 7;\n switch (token) {\n // Numerical value (same as in `e`)\n case \"c\":\n return String(localDayOfWeek);\n // Padded numerical value\n case \"cc\":\n return addLeadingZeros(localDayOfWeek, token.length);\n // 1st, 2nd, ..., 7th\n case \"co\":\n return localize.ordinalNumber(localDayOfWeek, { unit: \"day\" });\n case \"ccc\":\n return localize.day(dayOfWeek, {\n width: \"abbreviated\",\n context: \"standalone\",\n });\n // T\n case \"ccccc\":\n return localize.day(dayOfWeek, {\n width: \"narrow\",\n context: \"standalone\",\n });\n // Tu\n case \"cccccc\":\n return localize.day(dayOfWeek, {\n width: \"short\",\n context: \"standalone\",\n });\n // Tuesday\n case \"cccc\":\n default:\n return localize.day(dayOfWeek, {\n width: \"wide\",\n context: \"standalone\",\n });\n }\n },\n\n // ISO day of week\n i: function (date, token, localize) {\n const dayOfWeek = date.getDay();\n const isoDayOfWeek = dayOfWeek === 0 ? 7 : dayOfWeek;\n switch (token) {\n // 2\n case \"i\":\n return String(isoDayOfWeek);\n // 02\n case \"ii\":\n return addLeadingZeros(isoDayOfWeek, token.length);\n // 2nd\n case \"io\":\n return localize.ordinalNumber(isoDayOfWeek, { unit: \"day\" });\n // Tue\n case \"iii\":\n return localize.day(dayOfWeek, {\n width: \"abbreviated\",\n context: \"formatting\",\n });\n // T\n case \"iiiii\":\n return localize.day(dayOfWeek, {\n width: \"narrow\",\n context: \"formatting\",\n });\n // Tu\n case \"iiiiii\":\n return localize.day(dayOfWeek, {\n width: \"short\",\n context: \"formatting\",\n });\n // Tuesday\n case \"iiii\":\n default:\n return localize.day(dayOfWeek, {\n width: \"wide\",\n context: \"formatting\",\n });\n }\n },\n\n // AM or PM\n a: function (date, token, localize) {\n const hours = date.getHours();\n const dayPeriodEnumValue = hours / 12 >= 1 ? \"pm\" : \"am\";\n\n switch (token) {\n case \"a\":\n case \"aa\":\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: \"abbreviated\",\n context: \"formatting\",\n });\n case \"aaa\":\n return localize\n .dayPeriod(dayPeriodEnumValue, {\n width: \"abbreviated\",\n context: \"formatting\",\n })\n .toLowerCase();\n case \"aaaaa\":\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: \"narrow\",\n context: \"formatting\",\n });\n case \"aaaa\":\n default:\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: \"wide\",\n context: \"formatting\",\n });\n }\n },\n\n // AM, PM, midnight, noon\n b: function (date, token, localize) {\n const hours = date.getHours();\n let dayPeriodEnumValue;\n if (hours === 12) {\n dayPeriodEnumValue = dayPeriodEnum.noon;\n } else if (hours === 0) {\n dayPeriodEnumValue = dayPeriodEnum.midnight;\n } else {\n dayPeriodEnumValue = hours / 12 >= 1 ? \"pm\" : \"am\";\n }\n\n switch (token) {\n case \"b\":\n case \"bb\":\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: \"abbreviated\",\n context: \"formatting\",\n });\n case \"bbb\":\n return localize\n .dayPeriod(dayPeriodEnumValue, {\n width: \"abbreviated\",\n context: \"formatting\",\n })\n .toLowerCase();\n case \"bbbbb\":\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: \"narrow\",\n context: \"formatting\",\n });\n case \"bbbb\":\n default:\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: \"wide\",\n context: \"formatting\",\n });\n }\n },\n\n // in the morning, in the afternoon, in the evening, at night\n B: function (date, token, localize) {\n const hours = date.getHours();\n let dayPeriodEnumValue;\n if (hours >= 17) {\n dayPeriodEnumValue = dayPeriodEnum.evening;\n } else if (hours >= 12) {\n dayPeriodEnumValue = dayPeriodEnum.afternoon;\n } else if (hours >= 4) {\n dayPeriodEnumValue = dayPeriodEnum.morning;\n } else {\n dayPeriodEnumValue = dayPeriodEnum.night;\n }\n\n switch (token) {\n case \"B\":\n case \"BB\":\n case \"BBB\":\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: \"abbreviated\",\n context: \"formatting\",\n });\n case \"BBBBB\":\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: \"narrow\",\n context: \"formatting\",\n });\n case \"BBBB\":\n default:\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: \"wide\",\n context: \"formatting\",\n });\n }\n },\n\n // Hour [1-12]\n h: function (date, token, localize) {\n if (token === \"ho\") {\n let hours = date.getHours() % 12;\n if (hours === 0) hours = 12;\n return localize.ordinalNumber(hours, { unit: \"hour\" });\n }\n\n return lightFormatters.h(date, token);\n },\n\n // Hour [0-23]\n H: function (date, token, localize) {\n if (token === \"Ho\") {\n return localize.ordinalNumber(date.getHours(), { unit: \"hour\" });\n }\n\n return lightFormatters.H(date, token);\n },\n\n // Hour [0-11]\n K: function (date, token, localize) {\n const hours = date.getHours() % 12;\n\n if (token === \"Ko\") {\n return localize.ordinalNumber(hours, { unit: \"hour\" });\n }\n\n return addLeadingZeros(hours, token.length);\n },\n\n // Hour [1-24]\n k: function (date, token, localize) {\n let hours = date.getHours();\n if (hours === 0) hours = 24;\n\n if (token === \"ko\") {\n return localize.ordinalNumber(hours, { unit: \"hour\" });\n }\n\n return addLeadingZeros(hours, token.length);\n },\n\n // Minute\n m: function (date, token, localize) {\n if (token === \"mo\") {\n return localize.ordinalNumber(date.getMinutes(), { unit: \"minute\" });\n }\n\n return lightFormatters.m(date, token);\n },\n\n // Second\n s: function (date, token, localize) {\n if (token === \"so\") {\n return localize.ordinalNumber(date.getSeconds(), { unit: \"second\" });\n }\n\n return lightFormatters.s(date, token);\n },\n\n // Fraction of second\n S: function (date, token) {\n return lightFormatters.S(date, token);\n },\n\n // Timezone (ISO-8601. If offset is 0, output is always `'Z'`)\n X: function (date, token, _localize) {\n const timezoneOffset = date.getTimezoneOffset();\n\n if (timezoneOffset === 0) {\n return \"Z\";\n }\n\n switch (token) {\n // Hours and optional minutes\n case \"X\":\n return formatTimezoneWithOptionalMinutes(timezoneOffset);\n\n // Hours, minutes and optional seconds without `:` delimiter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `XX`\n case \"XXXX\":\n case \"XX\": // Hours and minutes without `:` delimiter\n return formatTimezone(timezoneOffset);\n\n // Hours, minutes and optional seconds with `:` delimiter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `XXX`\n case \"XXXXX\":\n case \"XXX\": // Hours and minutes with `:` delimiter\n default:\n return formatTimezone(timezoneOffset, \":\");\n }\n },\n\n // Timezone (ISO-8601. If offset is 0, output is `'+00:00'` or equivalent)\n x: function (date, token, _localize) {\n const timezoneOffset = date.getTimezoneOffset();\n\n switch (token) {\n // Hours and optional minutes\n case \"x\":\n return formatTimezoneWithOptionalMinutes(timezoneOffset);\n\n // Hours, minutes and optional seconds without `:` delimiter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `xx`\n case \"xxxx\":\n case \"xx\": // Hours and minutes without `:` delimiter\n return formatTimezone(timezoneOffset);\n\n // Hours, minutes and optional seconds with `:` delimiter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `xxx`\n case \"xxxxx\":\n case \"xxx\": // Hours and minutes with `:` delimiter\n default:\n return formatTimezone(timezoneOffset, \":\");\n }\n },\n\n // Timezone (GMT)\n O: function (date, token, _localize) {\n const timezoneOffset = date.getTimezoneOffset();\n\n switch (token) {\n // Short\n case \"O\":\n case \"OO\":\n case \"OOO\":\n return \"GMT\" + formatTimezoneShort(timezoneOffset, \":\");\n // Long\n case \"OOOO\":\n default:\n return \"GMT\" + formatTimezone(timezoneOffset, \":\");\n }\n },\n\n // Timezone (specific non-location)\n z: function (date, token, _localize) {\n const timezoneOffset = date.getTimezoneOffset();\n\n switch (token) {\n // Short\n case \"z\":\n case \"zz\":\n case \"zzz\":\n return \"GMT\" + formatTimezoneShort(timezoneOffset, \":\");\n // Long\n case \"zzzz\":\n default:\n return \"GMT\" + formatTimezone(timezoneOffset, \":\");\n }\n },\n\n // Seconds timestamp\n t: function (date, token, _localize) {\n const timestamp = Math.trunc(+date / 1000);\n return addLeadingZeros(timestamp, token.length);\n },\n\n // Milliseconds timestamp\n T: function (date, token, _localize) {\n return addLeadingZeros(+date, token.length);\n },\n};\n\nfunction formatTimezoneShort(offset, delimiter = \"\") {\n const sign = offset > 0 ? \"-\" : \"+\";\n const absOffset = Math.abs(offset);\n const hours = Math.trunc(absOffset / 60);\n const minutes = absOffset % 60;\n if (minutes === 0) {\n return sign + String(hours);\n }\n return sign + String(hours) + delimiter + addLeadingZeros(minutes, 2);\n}\n\nfunction formatTimezoneWithOptionalMinutes(offset, delimiter) {\n if (offset % 60 === 0) {\n const sign = offset > 0 ? \"-\" : \"+\";\n return sign + addLeadingZeros(Math.abs(offset) / 60, 2);\n }\n return formatTimezone(offset, delimiter);\n}\n\nfunction formatTimezone(offset, delimiter = \"\") {\n const sign = offset > 0 ? \"-\" : \"+\";\n const absOffset = Math.abs(offset);\n const hours = addLeadingZeros(Math.trunc(absOffset / 60), 2);\n const minutes = addLeadingZeros(absOffset % 60, 2);\n return sign + hours + delimiter + minutes;\n}\n","const dateLongFormatter = (pattern, formatLong) => {\n switch (pattern) {\n case \"P\":\n return formatLong.date({ width: \"short\" });\n case \"PP\":\n return formatLong.date({ width: \"medium\" });\n case \"PPP\":\n return formatLong.date({ width: \"long\" });\n case \"PPPP\":\n default:\n return formatLong.date({ width: \"full\" });\n }\n};\n\nconst timeLongFormatter = (pattern, formatLong) => {\n switch (pattern) {\n case \"p\":\n return formatLong.time({ width: \"short\" });\n case \"pp\":\n return formatLong.time({ width: \"medium\" });\n case \"ppp\":\n return formatLong.time({ width: \"long\" });\n case \"pppp\":\n default:\n return formatLong.time({ width: \"full\" });\n }\n};\n\nconst dateTimeLongFormatter = (pattern, formatLong) => {\n const matchResult = pattern.match(/(P+)(p+)?/) || [];\n const datePattern = matchResult[1];\n const timePattern = matchResult[2];\n\n if (!timePattern) {\n return dateLongFormatter(pattern, formatLong);\n }\n\n let dateTimeFormat;\n\n switch (datePattern) {\n case \"P\":\n dateTimeFormat = formatLong.dateTime({ width: \"short\" });\n break;\n case \"PP\":\n dateTimeFormat = formatLong.dateTime({ width: \"medium\" });\n break;\n case \"PPP\":\n dateTimeFormat = formatLong.dateTime({ width: \"long\" });\n break;\n case \"PPPP\":\n default:\n dateTimeFormat = formatLong.dateTime({ width: \"full\" });\n break;\n }\n\n return dateTimeFormat\n .replace(\"{{date}}\", dateLongFormatter(datePattern, formatLong))\n .replace(\"{{time}}\", timeLongFormatter(timePattern, formatLong));\n};\n\nexport const longFormatters = {\n p: timeLongFormatter,\n P: dateTimeLongFormatter,\n};\n","const dayOfYearTokenRE = /^D+$/;\nconst weekYearTokenRE = /^Y+$/;\n\nconst throwTokens = [\"D\", \"DD\", \"YY\", \"YYYY\"];\n\nexport function isProtectedDayOfYearToken(token) {\n return dayOfYearTokenRE.test(token);\n}\n\nexport function isProtectedWeekYearToken(token) {\n return weekYearTokenRE.test(token);\n}\n\nexport function warnOrThrowProtectedError(token, format, input) {\n const _message = message(token, format, input);\n console.warn(_message);\n if (throwTokens.includes(token)) throw new RangeError(_message);\n}\n\nfunction message(token, format, input) {\n const subject = token[0] === \"Y\" ? \"years\" : \"days of the month\";\n return `Use \\`${token.toLowerCase()}\\` instead of \\`${token}\\` (in \\`${format}\\`) for formatting ${subject} to the input \\`${input}\\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`;\n}\n","import { defaultLocale } from \"./_lib/defaultLocale.js\";\nimport { getDefaultOptions } from \"./_lib/defaultOptions.js\";\nimport { formatters } from \"./_lib/format/formatters.js\";\nimport { longFormatters } from \"./_lib/format/longFormatters.js\";\nimport {\n isProtectedDayOfYearToken,\n isProtectedWeekYearToken,\n warnOrThrowProtectedError,\n} from \"./_lib/protectedTokens.js\";\nimport { isValid } from \"./isValid.js\";\nimport { toDate } from \"./toDate.js\";\n\n// Rexports of internal for libraries to use.\n// See: https://github.com/date-fns/date-fns/issues/3638#issuecomment-1877082874\nexport { formatters, longFormatters };\n\n// This RegExp consists of three parts separated by `|`:\n// - [yYQqMLwIdDecihHKkms]o matches any available ordinal number token\n// (one of the certain letters followed by `o`)\n// - (\\w)\\1* matches any sequences of the same letter\n// - '' matches two quote characters in a row\n// - '(''|[^'])+('|$) matches anything surrounded by two quote characters ('),\n// except a single quote symbol, which ends the sequence.\n// Two quote characters do not end the sequence.\n// If there is no matching single quote\n// then the sequence will continue until the end of the string.\n// - . matches any single character unmatched by previous parts of the RegExps\nconst formattingTokensRegExp =\n /[yYQqMLwIdDecihHKkms]o|(\\w)\\1*|''|'(''|[^'])+('|$)|./g;\n\n// This RegExp catches symbols escaped by quotes, and also\n// sequences of symbols P, p, and the combinations like `PPPPPPPppppp`\nconst longFormattingTokensRegExp = /P+p+|P+|p+|''|'(''|[^'])+('|$)|./g;\n\nconst escapedStringRegExp = /^'([^]*?)'?$/;\nconst doubleQuoteRegExp = /''/g;\nconst unescapedLatinCharacterRegExp = /[a-zA-Z]/;\n\nexport { format as formatDate };\n\n/**\n * The {@link format} function options.\n */\n\n/**\n * @name format\n * @alias formatDate\n * @category Common Helpers\n * @summary Format the date.\n *\n * @description\n * Return the formatted date string in the given format. The result may vary by locale.\n *\n * > ⚠️ Please note that the `format` tokens differ from Moment.js and other libraries.\n * > See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * The characters wrapped between two single quotes characters (') are escaped.\n * Two single quotes in a row, whether inside or outside a quoted sequence, represent a 'real' single quote.\n * (see the last example)\n *\n * Format of the string is based on Unicode Technical Standard #35:\n * https://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table\n * with a few additions (see note 7 below the table).\n *\n * Accepted patterns:\n * | Unit | Pattern | Result examples | Notes |\n * |---------------------------------|---------|-----------------------------------|-------|\n * | Era | G..GGG | AD, BC | |\n * | | GGGG | Anno Domini, Before Christ | 2 |\n * | | GGGGG | A, B | |\n * | Calendar year | y | 44, 1, 1900, 2017 | 5 |\n * | | yo | 44th, 1st, 0th, 17th | 5,7 |\n * | | yy | 44, 01, 00, 17 | 5 |\n * | | yyy | 044, 001, 1900, 2017 | 5 |\n * | | yyyy | 0044, 0001, 1900, 2017 | 5 |\n * | | yyyyy | ... | 3,5 |\n * | Local week-numbering year | Y | 44, 1, 1900, 2017 | 5 |\n * | | Yo | 44th, 1st, 1900th, 2017th | 5,7 |\n * | | YY | 44, 01, 00, 17 | 5,8 |\n * | | YYY | 044, 001, 1900, 2017 | 5 |\n * | | YYYY | 0044, 0001, 1900, 2017 | 5,8 |\n * | | YYYYY | ... | 3,5 |\n * | ISO week-numbering year | R | -43, 0, 1, 1900, 2017 | 5,7 |\n * | | RR | -43, 00, 01, 1900, 2017 | 5,7 |\n * | | RRR | -043, 000, 001, 1900, 2017 | 5,7 |\n * | | RRRR | -0043, 0000, 0001, 1900, 2017 | 5,7 |\n * | | RRRRR | ... | 3,5,7 |\n * | Extended year | u | -43, 0, 1, 1900, 2017 | 5 |\n * | | uu | -43, 01, 1900, 2017 | 5 |\n * | | uuu | -043, 001, 1900, 2017 | 5 |\n * | | uuuu | -0043, 0001, 1900, 2017 | 5 |\n * | | uuuuu | ... | 3,5 |\n * | Quarter (formatting) | Q | 1, 2, 3, 4 | |\n * | | Qo | 1st, 2nd, 3rd, 4th | 7 |\n * | | QQ | 01, 02, 03, 04 | |\n * | | QQQ | Q1, Q2, Q3, Q4 | |\n * | | QQQQ | 1st quarter, 2nd quarter, ... | 2 |\n * | | QQQQQ | 1, 2, 3, 4 | 4 |\n * | Quarter (stand-alone) | q | 1, 2, 3, 4 | |\n * | | qo | 1st, 2nd, 3rd, 4th | 7 |\n * | | qq | 01, 02, 03, 04 | |\n * | | qqq | Q1, Q2, Q3, Q4 | |\n * | | qqqq | 1st quarter, 2nd quarter, ... | 2 |\n * | | qqqqq | 1, 2, 3, 4 | 4 |\n * | Month (formatting) | M | 1, 2, ..., 12 | |\n * | | Mo | 1st, 2nd, ..., 12th | 7 |\n * | | MM | 01, 02, ..., 12 | |\n * | | MMM | Jan, Feb, ..., Dec | |\n * | | MMMM | January, February, ..., December | 2 |\n * | | MMMMM | J, F, ..., D | |\n * | Month (stand-alone) | L | 1, 2, ..., 12 | |\n * | | Lo | 1st, 2nd, ..., 12th | 7 |\n * | | LL | 01, 02, ..., 12 | |\n * | | LLL | Jan, Feb, ..., Dec | |\n * | | LLLL | January, February, ..., December | 2 |\n * | | LLLLL | J, F, ..., D | |\n * | Local week of year | w | 1, 2, ..., 53 | |\n * | | wo | 1st, 2nd, ..., 53th | 7 |\n * | | ww | 01, 02, ..., 53 | |\n * | ISO week of year | I | 1, 2, ..., 53 | 7 |\n * | | Io | 1st, 2nd, ..., 53th | 7 |\n * | | II | 01, 02, ..., 53 | 7 |\n * | Day of month | d | 1, 2, ..., 31 | |\n * | | do | 1st, 2nd, ..., 31st | 7 |\n * | | dd | 01, 02, ..., 31 | |\n * | Day of year | D | 1, 2, ..., 365, 366 | 9 |\n * | | Do | 1st, 2nd, ..., 365th, 366th | 7 |\n * | | DD | 01, 02, ..., 365, 366 | 9 |\n * | | DDD | 001, 002, ..., 365, 366 | |\n * | | DDDD | ... | 3 |\n * | Day of week (formatting) | E..EEE | Mon, Tue, Wed, ..., Sun | |\n * | | EEEE | Monday, Tuesday, ..., Sunday | 2 |\n * | | EEEEE | M, T, W, T, F, S, S | |\n * | | EEEEEE | Mo, Tu, We, Th, Fr, Sa, Su | |\n * | ISO day of week (formatting) | i | 1, 2, 3, ..., 7 | 7 |\n * | | io | 1st, 2nd, ..., 7th | 7 |\n * | | ii | 01, 02, ..., 07 | 7 |\n * | | iii | Mon, Tue, Wed, ..., Sun | 7 |\n * | | iiii | Monday, Tuesday, ..., Sunday | 2,7 |\n * | | iiiii | M, T, W, T, F, S, S | 7 |\n * | | iiiiii | Mo, Tu, We, Th, Fr, Sa, Su | 7 |\n * | Local day of week (formatting) | e | 2, 3, 4, ..., 1 | |\n * | | eo | 2nd, 3rd, ..., 1st | 7 |\n * | | ee | 02, 03, ..., 01 | |\n * | | eee | Mon, Tue, Wed, ..., Sun | |\n * | | eeee | Monday, Tuesday, ..., Sunday | 2 |\n * | | eeeee | M, T, W, T, F, S, S | |\n * | | eeeeee | Mo, Tu, We, Th, Fr, Sa, Su | |\n * | Local day of week (stand-alone) | c | 2, 3, 4, ..., 1 | |\n * | | co | 2nd, 3rd, ..., 1st | 7 |\n * | | cc | 02, 03, ..., 01 | |\n * | | ccc | Mon, Tue, Wed, ..., Sun | |\n * | | cccc | Monday, Tuesday, ..., Sunday | 2 |\n * | | ccccc | M, T, W, T, F, S, S | |\n * | | cccccc | Mo, Tu, We, Th, Fr, Sa, Su | |\n * | AM, PM | a..aa | AM, PM | |\n * | | aaa | am, pm | |\n * | | aaaa | a.m., p.m. | 2 |\n * | | aaaaa | a, p | |\n * | AM, PM, noon, midnight | b..bb | AM, PM, noon, midnight | |\n * | | bbb | am, pm, noon, midnight | |\n * | | bbbb | a.m., p.m., noon, midnight | 2 |\n * | | bbbbb | a, p, n, mi | |\n * | Flexible day period | B..BBB | at night, in the morning, ... | |\n * | | BBBB | at night, in the morning, ... | 2 |\n * | | BBBBB | at night, in the morning, ... | |\n * | Hour [1-12] | h | 1, 2, ..., 11, 12 | |\n * | | ho | 1st, 2nd, ..., 11th, 12th | 7 |\n * | | hh | 01, 02, ..., 11, 12 | |\n * | Hour [0-23] | H | 0, 1, 2, ..., 23 | |\n * | | Ho | 0th, 1st, 2nd, ..., 23rd | 7 |\n * | | HH | 00, 01, 02, ..., 23 | |\n * | Hour [0-11] | K | 1, 2, ..., 11, 0 | |\n * | | Ko | 1st, 2nd, ..., 11th, 0th | 7 |\n * | | KK | 01, 02, ..., 11, 00 | |\n * | Hour [1-24] | k | 24, 1, 2, ..., 23 | |\n * | | ko | 24th, 1st, 2nd, ..., 23rd | 7 |\n * | | kk | 24, 01, 02, ..., 23 | |\n * | Minute | m | 0, 1, ..., 59 | |\n * | | mo | 0th, 1st, ..., 59th | 7 |\n * | | mm | 00, 01, ..., 59 | |\n * | Second | s | 0, 1, ..., 59 | |\n * | | so | 0th, 1st, ..., 59th | 7 |\n * | | ss | 00, 01, ..., 59 | |\n * | Fraction of second | S | 0, 1, ..., 9 | |\n * | | SS | 00, 01, ..., 99 | |\n * | | SSS | 000, 001, ..., 999 | |\n * | | SSSS | ... | 3 |\n * | Timezone (ISO-8601 w/ Z) | X | -08, +0530, Z | |\n * | | XX | -0800, +0530, Z | |\n * | | XXX | -08:00, +05:30, Z | |\n * | | XXXX | -0800, +0530, Z, +123456 | 2 |\n * | | XXXXX | -08:00, +05:30, Z, +12:34:56 | |\n * | Timezone (ISO-8601 w/o Z) | x | -08, +0530, +00 | |\n * | | xx | -0800, +0530, +0000 | |\n * | | xxx | -08:00, +05:30, +00:00 | 2 |\n * | | xxxx | -0800, +0530, +0000, +123456 | |\n * | | xxxxx | -08:00, +05:30, +00:00, +12:34:56 | |\n * | Timezone (GMT) | O...OOO | GMT-8, GMT+5:30, GMT+0 | |\n * | | OOOO | GMT-08:00, GMT+05:30, GMT+00:00 | 2 |\n * | Timezone (specific non-locat.) | z...zzz | GMT-8, GMT+5:30, GMT+0 | 6 |\n * | | zzzz | GMT-08:00, GMT+05:30, GMT+00:00 | 2,6 |\n * | Seconds timestamp | t | 512969520 | 7 |\n * | | tt | ... | 3,7 |\n * | Milliseconds timestamp | T | 512969520900 | 7 |\n * | | TT | ... | 3,7 |\n * | Long localized date | P | 04/29/1453 | 7 |\n * | | PP | Apr 29, 1453 | 7 |\n * | | PPP | April 29th, 1453 | 7 |\n * | | PPPP | Friday, April 29th, 1453 | 2,7 |\n * | Long localized time | p | 12:00 AM | 7 |\n * | | pp | 12:00:00 AM | 7 |\n * | | ppp | 12:00:00 AM GMT+2 | 7 |\n * | | pppp | 12:00:00 AM GMT+02:00 | 2,7 |\n * | Combination of date and time | Pp | 04/29/1453, 12:00 AM | 7 |\n * | | PPpp | Apr 29, 1453, 12:00:00 AM | 7 |\n * | | PPPppp | April 29th, 1453 at ... | 7 |\n * | | PPPPpppp| Friday, April 29th, 1453 at ... | 2,7 |\n * Notes:\n * 1. \"Formatting\" units (e.g. formatting quarter) in the default en-US locale\n * are the same as \"stand-alone\" units, but are different in some languages.\n * \"Formatting\" units are declined according to the rules of the language\n * in the context of a date. \"Stand-alone\" units are always nominative singular:\n *\n * `format(new Date(2017, 10, 6), 'do LLLL', {locale: cs}) //=> '6. listopad'`\n *\n * `format(new Date(2017, 10, 6), 'do MMMM', {locale: cs}) //=> '6. listopadu'`\n *\n * 2. Any sequence of the identical letters is a pattern, unless it is escaped by\n * the single quote characters (see below).\n * If the sequence is longer than listed in table (e.g. `EEEEEEEEEEE`)\n * the output will be the same as default pattern for this unit, usually\n * the longest one (in case of ISO weekdays, `EEEE`). Default patterns for units\n * are marked with \"2\" in the last column of the table.\n *\n * `format(new Date(2017, 10, 6), 'MMM') //=> 'Nov'`\n *\n * `format(new Date(2017, 10, 6), 'MMMM') //=> 'November'`\n *\n * `format(new Date(2017, 10, 6), 'MMMMM') //=> 'N'`\n *\n * `format(new Date(2017, 10, 6), 'MMMMMM') //=> 'November'`\n *\n * `format(new Date(2017, 10, 6), 'MMMMMMM') //=> 'November'`\n *\n * 3. Some patterns could be unlimited length (such as `yyyyyyyy`).\n * The output will be padded with zeros to match the length of the pattern.\n *\n * `format(new Date(2017, 10, 6), 'yyyyyyyy') //=> '00002017'`\n *\n * 4. `QQQQQ` and `qqqqq` could be not strictly numerical in some locales.\n * These tokens represent the shortest form of the quarter.\n *\n * 5. The main difference between `y` and `u` patterns are B.C. years:\n *\n * | Year | `y` | `u` |\n * |------|-----|-----|\n * | AC 1 | 1 | 1 |\n * | BC 1 | 1 | 0 |\n * | BC 2 | 2 | -1 |\n *\n * Also `yy` always returns the last two digits of a year,\n * while `uu` pads single digit years to 2 characters and returns other years unchanged:\n *\n * | Year | `yy` | `uu` |\n * |------|------|------|\n * | 1 | 01 | 01 |\n * | 14 | 14 | 14 |\n * | 376 | 76 | 376 |\n * | 1453 | 53 | 1453 |\n *\n * The same difference is true for local and ISO week-numbering years (`Y` and `R`),\n * except local week-numbering years are dependent on `options.weekStartsOn`\n * and `options.firstWeekContainsDate` (compare [getISOWeekYear](https://date-fns.org/docs/getISOWeekYear)\n * and [getWeekYear](https://date-fns.org/docs/getWeekYear)).\n *\n * 6. Specific non-location timezones are currently unavailable in `date-fns`,\n * so right now these tokens fall back to GMT timezones.\n *\n * 7. These patterns are not in the Unicode Technical Standard #35:\n * - `i`: ISO day of week\n * - `I`: ISO week of year\n * - `R`: ISO week-numbering year\n * - `t`: seconds timestamp\n * - `T`: milliseconds timestamp\n * - `o`: ordinal number modifier\n * - `P`: long localized date\n * - `p`: long localized time\n *\n * 8. `YY` and `YYYY` tokens represent week-numbering years but they are often confused with years.\n * You should enable `options.useAdditionalWeekYearTokens` to use them. See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * 9. `D` and `DD` tokens represent days of the year but they are often confused with days of the month.\n * You should enable `options.useAdditionalDayOfYearTokens` to use them. See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * @param date - The original date\n * @param format - The string of tokens\n * @param options - An object with options\n *\n * @returns The formatted date string\n *\n * @throws `date` must not be Invalid Date\n * @throws `options.locale` must contain `localize` property\n * @throws `options.locale` must contain `formatLong` property\n * @throws use `yyyy` instead of `YYYY` for formatting years using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws use `yy` instead of `YY` for formatting years using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws use `d` instead of `D` for formatting days of the month using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws use `dd` instead of `DD` for formatting days of the month using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws format string contains an unescaped latin alphabet character\n *\n * @example\n * // Represent 11 February 2014 in middle-endian format:\n * const result = format(new Date(2014, 1, 11), 'MM/dd/yyyy')\n * //=> '02/11/2014'\n *\n * @example\n * // Represent 2 July 2014 in Esperanto:\n * import { eoLocale } from 'date-fns/locale/eo'\n * const result = format(new Date(2014, 6, 2), \"do 'de' MMMM yyyy\", {\n * locale: eoLocale\n * })\n * //=> '2-a de julio 2014'\n *\n * @example\n * // Escape string by single quote characters:\n * const result = format(new Date(2014, 6, 2, 15), \"h 'o''clock'\")\n * //=> \"3 o'clock\"\n */\nexport function format(date, formatStr, options) {\n const defaultOptions = getDefaultOptions();\n const locale = options?.locale ?? defaultOptions.locale ?? defaultLocale;\n\n const firstWeekContainsDate =\n options?.firstWeekContainsDate ??\n options?.locale?.options?.firstWeekContainsDate ??\n defaultOptions.firstWeekContainsDate ??\n defaultOptions.locale?.options?.firstWeekContainsDate ??\n 1;\n\n const weekStartsOn =\n options?.weekStartsOn ??\n options?.locale?.options?.weekStartsOn ??\n defaultOptions.weekStartsOn ??\n defaultOptions.locale?.options?.weekStartsOn ??\n 0;\n\n const originalDate = toDate(date, options?.in);\n\n if (!isValid(originalDate)) {\n throw new RangeError(\"Invalid time value\");\n }\n\n let parts = formatStr\n .match(longFormattingTokensRegExp)\n .map((substring) => {\n const firstCharacter = substring[0];\n if (firstCharacter === \"p\" || firstCharacter === \"P\") {\n const longFormatter = longFormatters[firstCharacter];\n return longFormatter(substring, locale.formatLong);\n }\n return substring;\n })\n .join(\"\")\n .match(formattingTokensRegExp)\n .map((substring) => {\n // Replace two single quote characters with one single quote character\n if (substring === \"''\") {\n return { isToken: false, value: \"'\" };\n }\n\n const firstCharacter = substring[0];\n if (firstCharacter === \"'\") {\n return { isToken: false, value: cleanEscapedString(substring) };\n }\n\n if (formatters[firstCharacter]) {\n return { isToken: true, value: substring };\n }\n\n if (firstCharacter.match(unescapedLatinCharacterRegExp)) {\n throw new RangeError(\n \"Format string contains an unescaped latin alphabet character `\" +\n firstCharacter +\n \"`\",\n );\n }\n\n return { isToken: false, value: substring };\n });\n\n // invoke localize preprocessor (only for french locales at the moment)\n if (locale.localize.preprocessor) {\n parts = locale.localize.preprocessor(originalDate, parts);\n }\n\n const formatterOptions = {\n firstWeekContainsDate,\n weekStartsOn,\n locale,\n };\n\n return parts\n .map((part) => {\n if (!part.isToken) return part.value;\n\n const token = part.value;\n\n if (\n (!options?.useAdditionalWeekYearTokens &&\n isProtectedWeekYearToken(token)) ||\n (!options?.useAdditionalDayOfYearTokens &&\n isProtectedDayOfYearToken(token))\n ) {\n warnOrThrowProtectedError(token, formatStr, String(date));\n }\n\n const formatter = formatters[token[0]];\n return formatter(originalDate, token, locale.localize, formatterOptions);\n })\n .join(\"\");\n}\n\nfunction cleanEscapedString(input) {\n const matched = input.match(escapedStringRegExp);\n\n if (!matched) {\n return input;\n }\n\n return matched[1].replace(doubleQuoteRegExp, \"'\");\n}\n\n// Fallback for modularized imports:\nexport default format;\n","import { constructFrom } from \"../../constructFrom.js\";\nimport { transpose } from \"../../transpose.js\";\n\nconst TIMEZONE_UNIT_PRIORITY = 10;\n\nexport class Setter {\n subPriority = 0;\n\n validate(_utcDate, _options) {\n return true;\n }\n}\n\nexport class ValueSetter extends Setter {\n constructor(\n value,\n validateValue,\n\n setValue,\n\n priority,\n subPriority,\n ) {\n super();\n this.value = value;\n this.validateValue = validateValue;\n this.setValue = setValue;\n this.priority = priority;\n if (subPriority) {\n this.subPriority = subPriority;\n }\n }\n\n validate(date, options) {\n return this.validateValue(date, this.value, options);\n }\n\n set(date, flags, options) {\n return this.setValue(date, flags, this.value, options);\n }\n}\n\nexport class DateTimezoneSetter extends Setter {\n priority = TIMEZONE_UNIT_PRIORITY;\n subPriority = -1;\n\n constructor(context, reference) {\n super();\n this.context = context || ((date) => constructFrom(reference, date));\n }\n\n set(date, flags) {\n if (flags.timestampIsSet) return date;\n return constructFrom(date, transpose(date, this.context));\n }\n}\n","import { constructFrom } from \"./constructFrom.js\";\n\n/**\n * @name transpose\n * @category Generic Helpers\n * @summary Transpose the date to the given constructor.\n *\n * @description\n * The function transposes the date to the given constructor. It helps you\n * to transpose the date in the system time zone to say `UTCDate` or any other\n * date extension.\n *\n * @typeParam InputDate - The input `Date` type derived from the passed argument.\n * @typeParam ResultDate - The result `Date` type derived from the passed constructor.\n *\n * @param date - The date to use values from\n * @param constructor - The date constructor to use\n *\n * @returns Date transposed to the given constructor\n *\n * @example\n * // Create July 10, 2022 00:00 in locale time zone\n * const date = new Date(2022, 6, 10)\n * //=> 'Sun Jul 10 2022 00:00:00 GMT+0800 (Singapore Standard Time)'\n *\n * @example\n * // Transpose the date to July 10, 2022 00:00 in UTC\n * transpose(date, UTCDate)\n * //=> 'Sun Jul 10 2022 00:00:00 GMT+0000 (Coordinated Universal Time)'\n */\nexport function transpose(date, constructor) {\n const date_ = isConstructor(constructor)\n ? new constructor(0)\n : constructFrom(constructor, 0);\n date_.setFullYear(date.getFullYear(), date.getMonth(), date.getDate());\n date_.setHours(\n date.getHours(),\n date.getMinutes(),\n date.getSeconds(),\n date.getMilliseconds(),\n );\n return date_;\n}\n\nfunction isConstructor(constructor) {\n return (\n typeof constructor === \"function\" &&\n constructor.prototype?.constructor === constructor\n );\n}\n\n// Fallback for modularized imports:\nexport default transpose;\n","import { ValueSetter } from \"./Setter.js\";\n\nexport class Parser {\n run(dateString, token, match, options) {\n const result = this.parse(dateString, token, match, options);\n if (!result) {\n return null;\n }\n\n return {\n setter: new ValueSetter(\n result.value,\n this.validate,\n this.set,\n this.priority,\n this.subPriority,\n ),\n rest: result.rest,\n };\n }\n\n validate(_utcDate, _value, _options) {\n return true;\n }\n}\n","export const numericPatterns = {\n month: /^(1[0-2]|0?\\d)/, // 0 to 12\n date: /^(3[0-1]|[0-2]?\\d)/, // 0 to 31\n dayOfYear: /^(36[0-6]|3[0-5]\\d|[0-2]?\\d?\\d)/, // 0 to 366\n week: /^(5[0-3]|[0-4]?\\d)/, // 0 to 53\n hour23h: /^(2[0-3]|[0-1]?\\d)/, // 0 to 23\n hour24h: /^(2[0-4]|[0-1]?\\d)/, // 0 to 24\n hour11h: /^(1[0-1]|0?\\d)/, // 0 to 11\n hour12h: /^(1[0-2]|0?\\d)/, // 0 to 12\n minute: /^[0-5]?\\d/, // 0 to 59\n second: /^[0-5]?\\d/, // 0 to 59\n\n singleDigit: /^\\d/, // 0 to 9\n twoDigits: /^\\d{1,2}/, // 0 to 99\n threeDigits: /^\\d{1,3}/, // 0 to 999\n fourDigits: /^\\d{1,4}/, // 0 to 9999\n\n anyDigitsSigned: /^-?\\d+/,\n singleDigitSigned: /^-?\\d/, // 0 to 9, -0 to -9\n twoDigitsSigned: /^-?\\d{1,2}/, // 0 to 99, -0 to -99\n threeDigitsSigned: /^-?\\d{1,3}/, // 0 to 999, -0 to -999\n fourDigitsSigned: /^-?\\d{1,4}/, // 0 to 9999, -0 to -9999\n};\n\nexport const timezonePatterns = {\n basicOptionalMinutes: /^([+-])(\\d{2})(\\d{2})?|Z/,\n basic: /^([+-])(\\d{2})(\\d{2})|Z/,\n basicOptionalSeconds: /^([+-])(\\d{2})(\\d{2})((\\d{2}))?|Z/,\n extended: /^([+-])(\\d{2}):(\\d{2})|Z/,\n extendedOptionalSeconds: /^([+-])(\\d{2}):(\\d{2})(:(\\d{2}))?|Z/,\n};\n","import {\n millisecondsInHour,\n millisecondsInMinute,\n millisecondsInSecond,\n} from \"../../constants.js\";\n\nimport { numericPatterns } from \"./constants.js\";\n\nexport function mapValue(parseFnResult, mapFn) {\n if (!parseFnResult) {\n return parseFnResult;\n }\n\n return {\n value: mapFn(parseFnResult.value),\n rest: parseFnResult.rest,\n };\n}\n\nexport function parseNumericPattern(pattern, dateString) {\n const matchResult = dateString.match(pattern);\n\n if (!matchResult) {\n return null;\n }\n\n return {\n value: parseInt(matchResult[0], 10),\n rest: dateString.slice(matchResult[0].length),\n };\n}\n\nexport function parseTimezonePattern(pattern, dateString) {\n const matchResult = dateString.match(pattern);\n\n if (!matchResult) {\n return null;\n }\n\n // Input is 'Z'\n if (matchResult[0] === \"Z\") {\n return {\n value: 0,\n rest: dateString.slice(1),\n };\n }\n\n const sign = matchResult[1] === \"+\" ? 1 : -1;\n const hours = matchResult[2] ? parseInt(matchResult[2], 10) : 0;\n const minutes = matchResult[3] ? parseInt(matchResult[3], 10) : 0;\n const seconds = matchResult[5] ? parseInt(matchResult[5], 10) : 0;\n\n return {\n value:\n sign *\n (hours * millisecondsInHour +\n minutes * millisecondsInMinute +\n seconds * millisecondsInSecond),\n rest: dateString.slice(matchResult[0].length),\n };\n}\n\nexport function parseAnyDigitsSigned(dateString) {\n return parseNumericPattern(numericPatterns.anyDigitsSigned, dateString);\n}\n\nexport function parseNDigits(n, dateString) {\n switch (n) {\n case 1:\n return parseNumericPattern(numericPatterns.singleDigit, dateString);\n case 2:\n return parseNumericPattern(numericPatterns.twoDigits, dateString);\n case 3:\n return parseNumericPattern(numericPatterns.threeDigits, dateString);\n case 4:\n return parseNumericPattern(numericPatterns.fourDigits, dateString);\n default:\n return parseNumericPattern(new RegExp(\"^\\\\d{1,\" + n + \"}\"), dateString);\n }\n}\n\nexport function parseNDigitsSigned(n, dateString) {\n switch (n) {\n case 1:\n return parseNumericPattern(numericPatterns.singleDigitSigned, dateString);\n case 2:\n return parseNumericPattern(numericPatterns.twoDigitsSigned, dateString);\n case 3:\n return parseNumericPattern(numericPatterns.threeDigitsSigned, dateString);\n case 4:\n return parseNumericPattern(numericPatterns.fourDigitsSigned, dateString);\n default:\n return parseNumericPattern(new RegExp(\"^-?\\\\d{1,\" + n + \"}\"), dateString);\n }\n}\n\nexport function dayPeriodEnumToHours(dayPeriod) {\n switch (dayPeriod) {\n case \"morning\":\n return 4;\n case \"evening\":\n return 17;\n case \"pm\":\n case \"noon\":\n case \"afternoon\":\n return 12;\n case \"am\":\n case \"midnight\":\n case \"night\":\n default:\n return 0;\n }\n}\n\nexport function normalizeTwoDigitYear(twoDigitYear, currentYear) {\n const isCommonEra = currentYear > 0;\n // Absolute number of the current year:\n // 1 -> 1 AC\n // 0 -> 1 BC\n // -1 -> 2 BC\n const absCurrentYear = isCommonEra ? currentYear : 1 - currentYear;\n\n let result;\n if (absCurrentYear <= 50) {\n result = twoDigitYear || 100;\n } else {\n const rangeEnd = absCurrentYear + 50;\n const rangeEndCentury = Math.trunc(rangeEnd / 100) * 100;\n const isPreviousCentury = twoDigitYear >= rangeEnd % 100;\n result = twoDigitYear + rangeEndCentury - (isPreviousCentury ? 100 : 0);\n }\n\n return isCommonEra ? result : 1 - result;\n}\n\nexport function isLeapYearIndex(year) {\n return year % 400 === 0 || (year % 4 === 0 && year % 100 !== 0);\n}\n","import { numericPatterns } from \"../constants.js\";\nimport { Parser } from \"../Parser.js\";\n\nimport {\n isLeapYearIndex,\n parseNDigits,\n parseNumericPattern,\n} from \"../utils.js\";\n\nconst DAYS_IN_MONTH = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\nconst DAYS_IN_MONTH_LEAP_YEAR = [\n 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31,\n];\n\n// Day of the month\nexport class DateParser extends Parser {\n priority = 90;\n subPriority = 1;\n\n parse(dateString, token, match) {\n switch (token) {\n case \"d\":\n return parseNumericPattern(numericPatterns.date, dateString);\n case \"do\":\n return match.ordinalNumber(dateString, { unit: \"date\" });\n default:\n return parseNDigits(token.length, dateString);\n }\n }\n\n validate(date, value) {\n const year = date.getFullYear();\n const isLeapYear = isLeapYearIndex(year);\n const month = date.getMonth();\n if (isLeapYear) {\n return value >= 1 && value <= DAYS_IN_MONTH_LEAP_YEAR[month];\n } else {\n return value >= 1 && value <= DAYS_IN_MONTH[month];\n }\n }\n\n set(date, _flags, value) {\n date.setDate(value);\n date.setHours(0, 0, 0, 0);\n return date;\n }\n\n incompatibleTokens = [\n \"Y\",\n \"R\",\n \"q\",\n \"Q\",\n \"w\",\n \"I\",\n \"D\",\n \"i\",\n \"e\",\n \"c\",\n \"t\",\n \"T\",\n ];\n}\n","import { getDefaultOptions } from \"./_lib/defaultOptions.js\";\nimport { addDays } from \"./addDays.js\";\nimport { toDate } from \"./toDate.js\";\n\n/**\n * The {@link setDay} function options.\n */\n\n/**\n * @name setDay\n * @category Weekday Helpers\n * @summary Set the day of the week to the given date.\n *\n * @description\n * Set the day of the week to the given date.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param date - The date to be changed\n * @param day - The day of the week of the new date\n * @param options - An object with options.\n *\n * @returns The new date with the day of the week set\n *\n * @example\n * // Set week day to Sunday, with the default weekStartsOn of Sunday:\n * const result = setDay(new Date(2014, 8, 1), 0)\n * //=> Sun Aug 31 2014 00:00:00\n *\n * @example\n * // Set week day to Sunday, with a weekStartsOn of Monday:\n * const result = setDay(new Date(2014, 8, 1), 0, { weekStartsOn: 1 })\n * //=> Sun Sep 07 2014 00:00:00\n */\nexport function setDay(date, day, options) {\n const defaultOptions = getDefaultOptions();\n const weekStartsOn =\n options?.weekStartsOn ??\n options?.locale?.options?.weekStartsOn ??\n defaultOptions.weekStartsOn ??\n defaultOptions.locale?.options?.weekStartsOn ??\n 0;\n\n const date_ = toDate(date, options?.in);\n const currentDay = date_.getDay();\n\n const remainder = day % 7;\n const dayIndex = (remainder + 7) % 7;\n\n const delta = 7 - weekStartsOn;\n const diff =\n day < 0 || day > 6\n ? day - ((currentDay + delta) % 7)\n : ((dayIndex + delta) % 7) - ((currentDay + delta) % 7);\n return addDays(date_, diff, options);\n}\n\n// Fallback for modularized imports:\nexport default setDay;\n","import { addDays } from \"./addDays.js\";\nimport { getISODay } from \"./getISODay.js\";\nimport { toDate } from \"./toDate.js\";\n\n/**\n * The {@link setISODay} function options.\n */\n\n/**\n * @name setISODay\n * @category Weekday Helpers\n * @summary Set the day of the ISO week to the given date.\n *\n * @description\n * Set the day of the ISO week to the given date.\n * ISO week starts with Monday.\n * 7 is the index of Sunday, 1 is the index of Monday, etc.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param date - The date to be changed\n * @param day - The day of the ISO week of the new date\n * @param options - An object with options\n *\n * @returns The new date with the day of the ISO week set\n *\n * @example\n * // Set Sunday to 1 September 2014:\n * const result = setISODay(new Date(2014, 8, 1), 7)\n * //=> Sun Sep 07 2014 00:00:00\n */\nexport function setISODay(date, day, options) {\n const date_ = toDate(date, options?.in);\n const currentDay = getISODay(date_, options);\n const diff = day - currentDay;\n return addDays(date_, diff, options);\n}\n\n// Fallback for modularized imports:\nexport default setISODay;\n","import { toDate } from \"./toDate.js\";\n\n/**\n * The {@link getISODay} function options.\n */\n\n/**\n * @name getISODay\n * @category Weekday Helpers\n * @summary Get the day of the ISO week of the given date.\n *\n * @description\n * Get the day of the ISO week of the given date,\n * which is 7 for Sunday, 1 for Monday etc.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * @param date - The given date\n * @param options - An object with options\n *\n * @returns The day of ISO week\n *\n * @example\n * // Which day of the ISO week is 26 February 2012?\n * const result = getISODay(new Date(2012, 1, 26))\n * //=> 7\n */\nexport function getISODay(date, options) {\n const day = toDate(date, options?.in).getDay();\n return day === 0 ? 7 : day;\n}\n\n// Fallback for modularized imports:\nexport default getISODay;\n","import { EraParser } from \"./parsers/EraParser.js\";\nimport { YearParser } from \"./parsers/YearParser.js\";\nimport { LocalWeekYearParser } from \"./parsers/LocalWeekYearParser.js\";\nimport { ISOWeekYearParser } from \"./parsers/ISOWeekYearParser.js\";\nimport { ExtendedYearParser } from \"./parsers/ExtendedYearParser.js\";\nimport { QuarterParser } from \"./parsers/QuarterParser.js\";\nimport { StandAloneQuarterParser } from \"./parsers/StandAloneQuarterParser.js\";\nimport { MonthParser } from \"./parsers/MonthParser.js\";\nimport { StandAloneMonthParser } from \"./parsers/StandAloneMonthParser.js\";\nimport { LocalWeekParser } from \"./parsers/LocalWeekParser.js\";\nimport { ISOWeekParser } from \"./parsers/ISOWeekParser.js\";\nimport { DateParser } from \"./parsers/DateParser.js\";\nimport { DayOfYearParser } from \"./parsers/DayOfYearParser.js\";\nimport { DayParser } from \"./parsers/DayParser.js\";\nimport { LocalDayParser } from \"./parsers/LocalDayParser.js\";\nimport { StandAloneLocalDayParser } from \"./parsers/StandAloneLocalDayParser.js\";\nimport { ISODayParser } from \"./parsers/ISODayParser.js\";\nimport { AMPMParser } from \"./parsers/AMPMParser.js\";\nimport { AMPMMidnightParser } from \"./parsers/AMPMMidnightParser.js\";\nimport { DayPeriodParser } from \"./parsers/DayPeriodParser.js\";\nimport { Hour1to12Parser } from \"./parsers/Hour1to12Parser.js\";\nimport { Hour0to23Parser } from \"./parsers/Hour0to23Parser.js\";\nimport { Hour0To11Parser } from \"./parsers/Hour0To11Parser.js\";\nimport { Hour1To24Parser } from \"./parsers/Hour1To24Parser.js\";\nimport { MinuteParser } from \"./parsers/MinuteParser.js\";\nimport { SecondParser } from \"./parsers/SecondParser.js\";\nimport { FractionOfSecondParser } from \"./parsers/FractionOfSecondParser.js\";\nimport { ISOTimezoneWithZParser } from \"./parsers/ISOTimezoneWithZParser.js\";\nimport { ISOTimezoneParser } from \"./parsers/ISOTimezoneParser.js\";\nimport { TimestampSecondsParser } from \"./parsers/TimestampSecondsParser.js\";\nimport { TimestampMillisecondsParser } from \"./parsers/TimestampMillisecondsParser.js\";\n\n/*\n * | | Unit | | Unit |\n * |-----|--------------------------------|-----|--------------------------------|\n * | a | AM, PM | A* | Milliseconds in day |\n * | b | AM, PM, noon, midnight | B | Flexible day period |\n * | c | Stand-alone local day of week | C* | Localized hour w/ day period |\n * | d | Day of month | D | Day of year |\n * | e | Local day of week | E | Day of week |\n * | f | | F* | Day of week in month |\n * | g* | Modified Julian day | G | Era |\n * | h | Hour [1-12] | H | Hour [0-23] |\n * | i! | ISO day of week | I! | ISO week of year |\n * | j* | Localized hour w/ day period | J* | Localized hour w/o day period |\n * | k | Hour [1-24] | K | Hour [0-11] |\n * | l* | (deprecated) | L | Stand-alone month |\n * | m | Minute | M | Month |\n * | n | | N | |\n * | o! | Ordinal number modifier | O* | Timezone (GMT) |\n * | p | | P | |\n * | q | Stand-alone quarter | Q | Quarter |\n * | r* | Related Gregorian year | R! | ISO week-numbering year |\n * | s | Second | S | Fraction of second |\n * | t! | Seconds timestamp | T! | Milliseconds timestamp |\n * | u | Extended year | U* | Cyclic year |\n * | v* | Timezone (generic non-locat.) | V* | Timezone (location) |\n * | w | Local week of year | W* | Week of month |\n * | x | Timezone (ISO-8601 w/o Z) | X | Timezone (ISO-8601) |\n * | y | Year (abs) | Y | Local week-numbering year |\n * | z* | Timezone (specific non-locat.) | Z* | Timezone (aliases) |\n *\n * Letters marked by * are not implemented but reserved by Unicode standard.\n *\n * Letters marked by ! are non-standard, but implemented by date-fns:\n * - `o` modifies the previous token to turn it into an ordinal (see `parse` docs)\n * - `i` is ISO day of week. For `i` and `ii` is returns numeric ISO week days,\n * i.e. 7 for Sunday, 1 for Monday, etc.\n * - `I` is ISO week of year, as opposed to `w` which is local week of year.\n * - `R` is ISO week-numbering year, as opposed to `Y` which is local week-numbering year.\n * `R` is supposed to be used in conjunction with `I` and `i`\n * for universal ISO week-numbering date, whereas\n * `Y` is supposed to be used in conjunction with `w` and `e`\n * for week-numbering date specific to the locale.\n */\nexport const parsers = {\n G: new EraParser(),\n y: new YearParser(),\n Y: new LocalWeekYearParser(),\n R: new ISOWeekYearParser(),\n u: new ExtendedYearParser(),\n Q: new QuarterParser(),\n q: new StandAloneQuarterParser(),\n M: new MonthParser(),\n L: new StandAloneMonthParser(),\n w: new LocalWeekParser(),\n I: new ISOWeekParser(),\n d: new DateParser(),\n D: new DayOfYearParser(),\n E: new DayParser(),\n e: new LocalDayParser(),\n c: new StandAloneLocalDayParser(),\n i: new ISODayParser(),\n a: new AMPMParser(),\n b: new AMPMMidnightParser(),\n B: new DayPeriodParser(),\n h: new Hour1to12Parser(),\n H: new Hour0to23Parser(),\n K: new Hour0To11Parser(),\n k: new Hour1To24Parser(),\n m: new MinuteParser(),\n s: new SecondParser(),\n S: new FractionOfSecondParser(),\n X: new ISOTimezoneWithZParser(),\n x: new ISOTimezoneParser(),\n t: new TimestampSecondsParser(),\n T: new TimestampMillisecondsParser(),\n};\n","import { Parser } from \"../Parser.js\";\n\nexport class EraParser extends Parser {\n priority = 140;\n\n parse(dateString, token, match) {\n switch (token) {\n // AD, BC\n case \"G\":\n case \"GG\":\n case \"GGG\":\n return (\n match.era(dateString, { width: \"abbreviated\" }) ||\n match.era(dateString, { width: \"narrow\" })\n );\n\n // A, B\n case \"GGGGG\":\n return match.era(dateString, { width: \"narrow\" });\n // Anno Domini, Before Christ\n case \"GGGG\":\n default:\n return (\n match.era(dateString, { width: \"wide\" }) ||\n match.era(dateString, { width: \"abbreviated\" }) ||\n match.era(dateString, { width: \"narrow\" })\n );\n }\n }\n\n set(date, flags, value) {\n flags.era = value;\n date.setFullYear(value, 0, 1);\n date.setHours(0, 0, 0, 0);\n return date;\n }\n\n incompatibleTokens = [\"R\", \"u\", \"t\", \"T\"];\n}\n","import { Parser } from \"../Parser.js\";\n\nimport { mapValue, normalizeTwoDigitYear, parseNDigits } from \"../utils.js\";\n\n// From http://www.unicode.org/reports/tr35/tr35-31/tr35-dates.html#Date_Format_Patterns\n// | Year | y | yy | yyy | yyyy | yyyyy |\n// |----------|-------|----|-------|-------|-------|\n// | AD 1 | 1 | 01 | 001 | 0001 | 00001 |\n// | AD 12 | 12 | 12 | 012 | 0012 | 00012 |\n// | AD 123 | 123 | 23 | 123 | 0123 | 00123 |\n// | AD 1234 | 1234 | 34 | 1234 | 1234 | 01234 |\n// | AD 12345 | 12345 | 45 | 12345 | 12345 | 12345 |\nexport class YearParser extends Parser {\n priority = 130;\n incompatibleTokens = [\"Y\", \"R\", \"u\", \"w\", \"I\", \"i\", \"e\", \"c\", \"t\", \"T\"];\n\n parse(dateString, token, match) {\n const valueCallback = (year) => ({\n year,\n isTwoDigitYear: token === \"yy\",\n });\n\n switch (token) {\n case \"y\":\n return mapValue(parseNDigits(4, dateString), valueCallback);\n case \"yo\":\n return mapValue(\n match.ordinalNumber(dateString, {\n unit: \"year\",\n }),\n valueCallback,\n );\n default:\n return mapValue(parseNDigits(token.length, dateString), valueCallback);\n }\n }\n\n validate(_date, value) {\n return value.isTwoDigitYear || value.year > 0;\n }\n\n set(date, flags, value) {\n const currentYear = date.getFullYear();\n\n if (value.isTwoDigitYear) {\n const normalizedTwoDigitYear = normalizeTwoDigitYear(\n value.year,\n currentYear,\n );\n date.setFullYear(normalizedTwoDigitYear, 0, 1);\n date.setHours(0, 0, 0, 0);\n return date;\n }\n\n const year =\n !(\"era\" in flags) || flags.era === 1 ? value.year : 1 - value.year;\n date.setFullYear(year, 0, 1);\n date.setHours(0, 0, 0, 0);\n return date;\n }\n}\n","import { getWeekYear } from \"../../../getWeekYear.js\";\n\nimport { startOfWeek } from \"../../../startOfWeek.js\";\nimport { Parser } from \"../Parser.js\";\n\nimport { mapValue, normalizeTwoDigitYear, parseNDigits } from \"../utils.js\";\n\n// Local week-numbering year\nexport class LocalWeekYearParser extends Parser {\n priority = 130;\n\n parse(dateString, token, match) {\n const valueCallback = (year) => ({\n year,\n isTwoDigitYear: token === \"YY\",\n });\n\n switch (token) {\n case \"Y\":\n return mapValue(parseNDigits(4, dateString), valueCallback);\n case \"Yo\":\n return mapValue(\n match.ordinalNumber(dateString, {\n unit: \"year\",\n }),\n valueCallback,\n );\n default:\n return mapValue(parseNDigits(token.length, dateString), valueCallback);\n }\n }\n\n validate(_date, value) {\n return value.isTwoDigitYear || value.year > 0;\n }\n\n set(date, flags, value, options) {\n const currentYear = getWeekYear(date, options);\n\n if (value.isTwoDigitYear) {\n const normalizedTwoDigitYear = normalizeTwoDigitYear(\n value.year,\n currentYear,\n );\n date.setFullYear(\n normalizedTwoDigitYear,\n 0,\n options.firstWeekContainsDate,\n );\n date.setHours(0, 0, 0, 0);\n return startOfWeek(date, options);\n }\n\n const year =\n !(\"era\" in flags) || flags.era === 1 ? value.year : 1 - value.year;\n date.setFullYear(year, 0, options.firstWeekContainsDate);\n date.setHours(0, 0, 0, 0);\n return startOfWeek(date, options);\n }\n\n incompatibleTokens = [\n \"y\",\n \"R\",\n \"u\",\n \"Q\",\n \"q\",\n \"M\",\n \"L\",\n \"I\",\n \"d\",\n \"D\",\n \"i\",\n \"t\",\n \"T\",\n ];\n}\n","import { startOfISOWeek } from \"../../../startOfISOWeek.js\";\nimport { constructFrom } from \"../../../constructFrom.js\";\nimport { Parser } from \"../Parser.js\";\n\nimport { parseNDigitsSigned } from \"../utils.js\";\n\n// ISO week-numbering year\nexport class ISOWeekYearParser extends Parser {\n priority = 130;\n\n parse(dateString, token) {\n if (token === \"R\") {\n return parseNDigitsSigned(4, dateString);\n }\n\n return parseNDigitsSigned(token.length, dateString);\n }\n\n set(date, _flags, value) {\n const firstWeekOfYear = constructFrom(date, 0);\n firstWeekOfYear.setFullYear(value, 0, 4);\n firstWeekOfYear.setHours(0, 0, 0, 0);\n return startOfISOWeek(firstWeekOfYear);\n }\n\n incompatibleTokens = [\n \"G\",\n \"y\",\n \"Y\",\n \"u\",\n \"Q\",\n \"q\",\n \"M\",\n \"L\",\n \"w\",\n \"d\",\n \"D\",\n \"e\",\n \"c\",\n \"t\",\n \"T\",\n ];\n}\n","import { Parser } from \"../Parser.js\";\n\nimport { parseNDigitsSigned } from \"../utils.js\";\n\nexport class ExtendedYearParser extends Parser {\n priority = 130;\n\n parse(dateString, token) {\n if (token === \"u\") {\n return parseNDigitsSigned(4, dateString);\n }\n\n return parseNDigitsSigned(token.length, dateString);\n }\n\n set(date, _flags, value) {\n date.setFullYear(value, 0, 1);\n date.setHours(0, 0, 0, 0);\n return date;\n }\n\n incompatibleTokens = [\"G\", \"y\", \"Y\", \"R\", \"w\", \"I\", \"i\", \"e\", \"c\", \"t\", \"T\"];\n}\n","import { Parser } from \"../Parser.js\";\n\nimport { parseNDigits } from \"../utils.js\";\n\nexport class QuarterParser extends Parser {\n priority = 120;\n\n parse(dateString, token, match) {\n switch (token) {\n // 1, 2, 3, 4\n case \"Q\":\n case \"QQ\": // 01, 02, 03, 04\n return parseNDigits(token.length, dateString);\n // 1st, 2nd, 3rd, 4th\n case \"Qo\":\n return match.ordinalNumber(dateString, { unit: \"quarter\" });\n // Q1, Q2, Q3, Q4\n case \"QQQ\":\n return (\n match.quarter(dateString, {\n width: \"abbreviated\",\n context: \"formatting\",\n }) ||\n match.quarter(dateString, {\n width: \"narrow\",\n context: \"formatting\",\n })\n );\n\n // 1, 2, 3, 4 (narrow quarter; could be not numerical)\n case \"QQQQQ\":\n return match.quarter(dateString, {\n width: \"narrow\",\n context: \"formatting\",\n });\n // 1st quarter, 2nd quarter, ...\n case \"QQQQ\":\n default:\n return (\n match.quarter(dateString, {\n width: \"wide\",\n context: \"formatting\",\n }) ||\n match.quarter(dateString, {\n width: \"abbreviated\",\n context: \"formatting\",\n }) ||\n match.quarter(dateString, {\n width: \"narrow\",\n context: \"formatting\",\n })\n );\n }\n }\n\n validate(_date, value) {\n return value >= 1 && value <= 4;\n }\n\n set(date, _flags, value) {\n date.setMonth((value - 1) * 3, 1);\n date.setHours(0, 0, 0, 0);\n return date;\n }\n\n incompatibleTokens = [\n \"Y\",\n \"R\",\n \"q\",\n \"M\",\n \"L\",\n \"w\",\n \"I\",\n \"d\",\n \"D\",\n \"i\",\n \"e\",\n \"c\",\n \"t\",\n \"T\",\n ];\n}\n","import { Parser } from \"../Parser.js\";\n\nimport { parseNDigits } from \"../utils.js\";\n\nexport class StandAloneQuarterParser extends Parser {\n priority = 120;\n\n parse(dateString, token, match) {\n switch (token) {\n // 1, 2, 3, 4\n case \"q\":\n case \"qq\": // 01, 02, 03, 04\n return parseNDigits(token.length, dateString);\n // 1st, 2nd, 3rd, 4th\n case \"qo\":\n return match.ordinalNumber(dateString, { unit: \"quarter\" });\n // Q1, Q2, Q3, Q4\n case \"qqq\":\n return (\n match.quarter(dateString, {\n width: \"abbreviated\",\n context: \"standalone\",\n }) ||\n match.quarter(dateString, {\n width: \"narrow\",\n context: \"standalone\",\n })\n );\n\n // 1, 2, 3, 4 (narrow quarter; could be not numerical)\n case \"qqqqq\":\n return match.quarter(dateString, {\n width: \"narrow\",\n context: \"standalone\",\n });\n // 1st quarter, 2nd quarter, ...\n case \"qqqq\":\n default:\n return (\n match.quarter(dateString, {\n width: \"wide\",\n context: \"standalone\",\n }) ||\n match.quarter(dateString, {\n width: \"abbreviated\",\n context: \"standalone\",\n }) ||\n match.quarter(dateString, {\n width: \"narrow\",\n context: \"standalone\",\n })\n );\n }\n }\n\n validate(_date, value) {\n return value >= 1 && value <= 4;\n }\n\n set(date, _flags, value) {\n date.setMonth((value - 1) * 3, 1);\n date.setHours(0, 0, 0, 0);\n return date;\n }\n\n incompatibleTokens = [\n \"Y\",\n \"R\",\n \"Q\",\n \"M\",\n \"L\",\n \"w\",\n \"I\",\n \"d\",\n \"D\",\n \"i\",\n \"e\",\n \"c\",\n \"t\",\n \"T\",\n ];\n}\n","import { numericPatterns } from \"../constants.js\";\nimport { Parser } from \"../Parser.js\";\n\nimport { mapValue, parseNDigits, parseNumericPattern } from \"../utils.js\";\n\nexport class MonthParser extends Parser {\n incompatibleTokens = [\n \"Y\",\n \"R\",\n \"q\",\n \"Q\",\n \"L\",\n \"w\",\n \"I\",\n \"D\",\n \"i\",\n \"e\",\n \"c\",\n \"t\",\n \"T\",\n ];\n\n priority = 110;\n\n parse(dateString, token, match) {\n const valueCallback = (value) => value - 1;\n\n switch (token) {\n // 1, 2, ..., 12\n case \"M\":\n return mapValue(\n parseNumericPattern(numericPatterns.month, dateString),\n valueCallback,\n );\n // 01, 02, ..., 12\n case \"MM\":\n return mapValue(parseNDigits(2, dateString), valueCallback);\n // 1st, 2nd, ..., 12th\n case \"Mo\":\n return mapValue(\n match.ordinalNumber(dateString, {\n unit: \"month\",\n }),\n valueCallback,\n );\n // Jan, Feb, ..., Dec\n case \"MMM\":\n return (\n match.month(dateString, {\n width: \"abbreviated\",\n context: \"formatting\",\n }) ||\n match.month(dateString, { width: \"narrow\", context: \"formatting\" })\n );\n\n // J, F, ..., D\n case \"MMMMM\":\n return match.month(dateString, {\n width: \"narrow\",\n context: \"formatting\",\n });\n // January, February, ..., December\n case \"MMMM\":\n default:\n return (\n match.month(dateString, { width: \"wide\", context: \"formatting\" }) ||\n match.month(dateString, {\n width: \"abbreviated\",\n context: \"formatting\",\n }) ||\n match.month(dateString, { width: \"narrow\", context: \"formatting\" })\n );\n }\n }\n\n validate(_date, value) {\n return value >= 0 && value <= 11;\n }\n\n set(date, _flags, value) {\n date.setMonth(value, 1);\n date.setHours(0, 0, 0, 0);\n return date;\n }\n}\n","import { numericPatterns } from \"../constants.js\";\nimport { Parser } from \"../Parser.js\";\n\nimport { mapValue, parseNDigits, parseNumericPattern } from \"../utils.js\";\n\nexport class StandAloneMonthParser extends Parser {\n priority = 110;\n\n parse(dateString, token, match) {\n const valueCallback = (value) => value - 1;\n\n switch (token) {\n // 1, 2, ..., 12\n case \"L\":\n return mapValue(\n parseNumericPattern(numericPatterns.month, dateString),\n valueCallback,\n );\n // 01, 02, ..., 12\n case \"LL\":\n return mapValue(parseNDigits(2, dateString), valueCallback);\n // 1st, 2nd, ..., 12th\n case \"Lo\":\n return mapValue(\n match.ordinalNumber(dateString, {\n unit: \"month\",\n }),\n valueCallback,\n );\n // Jan, Feb, ..., Dec\n case \"LLL\":\n return (\n match.month(dateString, {\n width: \"abbreviated\",\n context: \"standalone\",\n }) ||\n match.month(dateString, { width: \"narrow\", context: \"standalone\" })\n );\n\n // J, F, ..., D\n case \"LLLLL\":\n return match.month(dateString, {\n width: \"narrow\",\n context: \"standalone\",\n });\n // January, February, ..., December\n case \"LLLL\":\n default:\n return (\n match.month(dateString, { width: \"wide\", context: \"standalone\" }) ||\n match.month(dateString, {\n width: \"abbreviated\",\n context: \"standalone\",\n }) ||\n match.month(dateString, { width: \"narrow\", context: \"standalone\" })\n );\n }\n }\n\n validate(_date, value) {\n return value >= 0 && value <= 11;\n }\n\n set(date, _flags, value) {\n date.setMonth(value, 1);\n date.setHours(0, 0, 0, 0);\n return date;\n }\n\n incompatibleTokens = [\n \"Y\",\n \"R\",\n \"q\",\n \"Q\",\n \"M\",\n \"w\",\n \"I\",\n \"D\",\n \"i\",\n \"e\",\n \"c\",\n \"t\",\n \"T\",\n ];\n}\n","import { setWeek } from \"../../../setWeek.js\";\nimport { startOfWeek } from \"../../../startOfWeek.js\";\nimport { numericPatterns } from \"../constants.js\";\nimport { Parser } from \"../Parser.js\";\n\nimport { parseNDigits, parseNumericPattern } from \"../utils.js\";\n\n// Local week of year\nexport class LocalWeekParser extends Parser {\n priority = 100;\n\n parse(dateString, token, match) {\n switch (token) {\n case \"w\":\n return parseNumericPattern(numericPatterns.week, dateString);\n case \"wo\":\n return match.ordinalNumber(dateString, { unit: \"week\" });\n default:\n return parseNDigits(token.length, dateString);\n }\n }\n\n validate(_date, value) {\n return value >= 1 && value <= 53;\n }\n\n set(date, _flags, value, options) {\n return startOfWeek(setWeek(date, value, options), options);\n }\n\n incompatibleTokens = [\n \"y\",\n \"R\",\n \"u\",\n \"q\",\n \"Q\",\n \"M\",\n \"L\",\n \"I\",\n \"d\",\n \"D\",\n \"i\",\n \"t\",\n \"T\",\n ];\n}\n","import { getWeek } from \"./getWeek.js\";\nimport { toDate } from \"./toDate.js\";\n\n/**\n * The {@link setWeek} function options.\n */\n\n/**\n * @name setWeek\n * @category Week Helpers\n * @summary Set the local week to the given date.\n *\n * @description\n * Set the local week to the given date, saving the weekday number.\n * The exact calculation depends on the values of\n * `options.weekStartsOn` (which is the index of the first day of the week)\n * and `options.firstWeekContainsDate` (which is the day of January, which is always in\n * the first week of the week-numbering year)\n *\n * Week numbering: https://en.wikipedia.org/wiki/Week#The_ISO_week_date_system\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param date - The date to be changed\n * @param week - The week of the new date\n * @param options - An object with options\n *\n * @returns The new date with the local week set\n *\n * @example\n * // Set the 1st week to 2 January 2005 with default options:\n * const result = setWeek(new Date(2005, 0, 2), 1)\n * //=> Sun Dec 26 2004 00:00:00\n *\n * @example\n * // Set the 1st week to 2 January 2005,\n * // if Monday is the first day of the week,\n * // and the first week of the year always contains 4 January:\n * const result = setWeek(new Date(2005, 0, 2), 1, {\n * weekStartsOn: 1,\n * firstWeekContainsDate: 4\n * })\n * //=> Sun Jan 4 2004 00:00:00\n */\nexport function setWeek(date, week, options) {\n const date_ = toDate(date, options?.in);\n const diff = getWeek(date_, options) - week;\n date_.setDate(date_.getDate() - diff * 7);\n return toDate(date_, options?.in);\n}\n\n// Fallback for modularized imports:\nexport default setWeek;\n","import { setISOWeek } from \"../../../setISOWeek.js\";\nimport { startOfISOWeek } from \"../../../startOfISOWeek.js\";\nimport { numericPatterns } from \"../constants.js\";\nimport { Parser } from \"../Parser.js\";\n\nimport { parseNDigits, parseNumericPattern } from \"../utils.js\";\n\n// ISO week of year\nexport class ISOWeekParser extends Parser {\n priority = 100;\n\n parse(dateString, token, match) {\n switch (token) {\n case \"I\":\n return parseNumericPattern(numericPatterns.week, dateString);\n case \"Io\":\n return match.ordinalNumber(dateString, { unit: \"week\" });\n default:\n return parseNDigits(token.length, dateString);\n }\n }\n\n validate(_date, value) {\n return value >= 1 && value <= 53;\n }\n\n set(date, _flags, value) {\n return startOfISOWeek(setISOWeek(date, value));\n }\n\n incompatibleTokens = [\n \"y\",\n \"Y\",\n \"u\",\n \"q\",\n \"Q\",\n \"M\",\n \"L\",\n \"w\",\n \"d\",\n \"D\",\n \"e\",\n \"c\",\n \"t\",\n \"T\",\n ];\n}\n","import { getISOWeek } from \"./getISOWeek.js\";\nimport { toDate } from \"./toDate.js\";\n\n/**\n * The {@link setISOWeek} function options.\n */\n\n/**\n * @name setISOWeek\n * @category ISO Week Helpers\n * @summary Set the ISO week to the given date.\n *\n * @description\n * Set the ISO week to the given date, saving the weekday number.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The `Date` type of the context function.\n *\n * @param date - The date to be changed\n * @param week - The ISO week of the new date\n * @param options - An object with options\n *\n * @returns The new date with the ISO week set\n *\n * @example\n * // Set the 53rd ISO week to 7 August 2004:\n * const result = setISOWeek(new Date(2004, 7, 7), 53)\n * //=> Sat Jan 01 2005 00:00:00\n */\nexport function setISOWeek(date, week, options) {\n const _date = toDate(date, options?.in);\n const diff = getISOWeek(_date, options) - week;\n _date.setDate(_date.getDate() - diff * 7);\n return _date;\n}\n\n// Fallback for modularized imports:\nexport default setISOWeek;\n","import { numericPatterns } from \"../constants.js\";\nimport { Parser } from \"../Parser.js\";\n\nimport {\n isLeapYearIndex,\n parseNDigits,\n parseNumericPattern,\n} from \"../utils.js\";\n\nexport class DayOfYearParser extends Parser {\n priority = 90;\n\n subpriority = 1;\n\n parse(dateString, token, match) {\n switch (token) {\n case \"D\":\n case \"DD\":\n return parseNumericPattern(numericPatterns.dayOfYear, dateString);\n case \"Do\":\n return match.ordinalNumber(dateString, { unit: \"date\" });\n default:\n return parseNDigits(token.length, dateString);\n }\n }\n\n validate(date, value) {\n const year = date.getFullYear();\n const isLeapYear = isLeapYearIndex(year);\n if (isLeapYear) {\n return value >= 1 && value <= 366;\n } else {\n return value >= 1 && value <= 365;\n }\n }\n\n set(date, _flags, value) {\n date.setMonth(0, value);\n date.setHours(0, 0, 0, 0);\n return date;\n }\n\n incompatibleTokens = [\n \"Y\",\n \"R\",\n \"q\",\n \"Q\",\n \"M\",\n \"L\",\n \"w\",\n \"I\",\n \"d\",\n \"E\",\n \"i\",\n \"e\",\n \"c\",\n \"t\",\n \"T\",\n ];\n}\n","import { setDay } from \"../../../setDay.js\";\nimport { Parser } from \"../Parser.js\";\n\n// Day of week\nexport class DayParser extends Parser {\n priority = 90;\n\n parse(dateString, token, match) {\n switch (token) {\n // Tue\n case \"E\":\n case \"EE\":\n case \"EEE\":\n return (\n match.day(dateString, {\n width: \"abbreviated\",\n context: \"formatting\",\n }) ||\n match.day(dateString, { width: \"short\", context: \"formatting\" }) ||\n match.day(dateString, { width: \"narrow\", context: \"formatting\" })\n );\n\n // T\n case \"EEEEE\":\n return match.day(dateString, {\n width: \"narrow\",\n context: \"formatting\",\n });\n // Tu\n case \"EEEEEE\":\n return (\n match.day(dateString, { width: \"short\", context: \"formatting\" }) ||\n match.day(dateString, { width: \"narrow\", context: \"formatting\" })\n );\n\n // Tuesday\n case \"EEEE\":\n default:\n return (\n match.day(dateString, { width: \"wide\", context: \"formatting\" }) ||\n match.day(dateString, {\n width: \"abbreviated\",\n context: \"formatting\",\n }) ||\n match.day(dateString, { width: \"short\", context: \"formatting\" }) ||\n match.day(dateString, { width: \"narrow\", context: \"formatting\" })\n );\n }\n }\n\n validate(_date, value) {\n return value >= 0 && value <= 6;\n }\n\n set(date, _flags, value, options) {\n date = setDay(date, value, options);\n date.setHours(0, 0, 0, 0);\n return date;\n }\n\n incompatibleTokens = [\"D\", \"i\", \"e\", \"c\", \"t\", \"T\"];\n}\n","import { setDay } from \"../../../setDay.js\";\nimport { Parser } from \"../Parser.js\";\n\nimport { mapValue, parseNDigits } from \"../utils.js\";\n\n// Local day of week\nexport class LocalDayParser extends Parser {\n priority = 90;\n parse(dateString, token, match, options) {\n const valueCallback = (value) => {\n // We want here floor instead of trunc, so we get -7 for value 0 instead of 0\n const wholeWeekDays = Math.floor((value - 1) / 7) * 7;\n return ((value + options.weekStartsOn + 6) % 7) + wholeWeekDays;\n };\n\n switch (token) {\n // 3\n case \"e\":\n case \"ee\": // 03\n return mapValue(parseNDigits(token.length, dateString), valueCallback);\n // 3rd\n case \"eo\":\n return mapValue(\n match.ordinalNumber(dateString, {\n unit: \"day\",\n }),\n valueCallback,\n );\n // Tue\n case \"eee\":\n return (\n match.day(dateString, {\n width: \"abbreviated\",\n context: \"formatting\",\n }) ||\n match.day(dateString, { width: \"short\", context: \"formatting\" }) ||\n match.day(dateString, { width: \"narrow\", context: \"formatting\" })\n );\n\n // T\n case \"eeeee\":\n return match.day(dateString, {\n width: \"narrow\",\n context: \"formatting\",\n });\n // Tu\n case \"eeeeee\":\n return (\n match.day(dateString, { width: \"short\", context: \"formatting\" }) ||\n match.day(dateString, { width: \"narrow\", context: \"formatting\" })\n );\n\n // Tuesday\n case \"eeee\":\n default:\n return (\n match.day(dateString, { width: \"wide\", context: \"formatting\" }) ||\n match.day(dateString, {\n width: \"abbreviated\",\n context: \"formatting\",\n }) ||\n match.day(dateString, { width: \"short\", context: \"formatting\" }) ||\n match.day(dateString, { width: \"narrow\", context: \"formatting\" })\n );\n }\n }\n\n validate(_date, value) {\n return value >= 0 && value <= 6;\n }\n\n set(date, _flags, value, options) {\n date = setDay(date, value, options);\n date.setHours(0, 0, 0, 0);\n return date;\n }\n\n incompatibleTokens = [\n \"y\",\n \"R\",\n \"u\",\n \"q\",\n \"Q\",\n \"M\",\n \"L\",\n \"I\",\n \"d\",\n \"D\",\n \"E\",\n \"i\",\n \"c\",\n \"t\",\n \"T\",\n ];\n}\n","import { setDay } from \"../../../setDay.js\";\nimport { Parser } from \"../Parser.js\";\n\nimport { mapValue, parseNDigits } from \"../utils.js\";\n\n// Stand-alone local day of week\nexport class StandAloneLocalDayParser extends Parser {\n priority = 90;\n\n parse(dateString, token, match, options) {\n const valueCallback = (value) => {\n // We want here floor instead of trunc, so we get -7 for value 0 instead of 0\n const wholeWeekDays = Math.floor((value - 1) / 7) * 7;\n return ((value + options.weekStartsOn + 6) % 7) + wholeWeekDays;\n };\n\n switch (token) {\n // 3\n case \"c\":\n case \"cc\": // 03\n return mapValue(parseNDigits(token.length, dateString), valueCallback);\n // 3rd\n case \"co\":\n return mapValue(\n match.ordinalNumber(dateString, {\n unit: \"day\",\n }),\n valueCallback,\n );\n // Tue\n case \"ccc\":\n return (\n match.day(dateString, {\n width: \"abbreviated\",\n context: \"standalone\",\n }) ||\n match.day(dateString, { width: \"short\", context: \"standalone\" }) ||\n match.day(dateString, { width: \"narrow\", context: \"standalone\" })\n );\n\n // T\n case \"ccccc\":\n return match.day(dateString, {\n width: \"narrow\",\n context: \"standalone\",\n });\n // Tu\n case \"cccccc\":\n return (\n match.day(dateString, { width: \"short\", context: \"standalone\" }) ||\n match.day(dateString, { width: \"narrow\", context: \"standalone\" })\n );\n\n // Tuesday\n case \"cccc\":\n default:\n return (\n match.day(dateString, { width: \"wide\", context: \"standalone\" }) ||\n match.day(dateString, {\n width: \"abbreviated\",\n context: \"standalone\",\n }) ||\n match.day(dateString, { width: \"short\", context: \"standalone\" }) ||\n match.day(dateString, { width: \"narrow\", context: \"standalone\" })\n );\n }\n }\n\n validate(_date, value) {\n return value >= 0 && value <= 6;\n }\n\n set(date, _flags, value, options) {\n date = setDay(date, value, options);\n date.setHours(0, 0, 0, 0);\n return date;\n }\n\n incompatibleTokens = [\n \"y\",\n \"R\",\n \"u\",\n \"q\",\n \"Q\",\n \"M\",\n \"L\",\n \"I\",\n \"d\",\n \"D\",\n \"E\",\n \"i\",\n \"e\",\n \"t\",\n \"T\",\n ];\n}\n","import { setISODay } from \"../../../setISODay.js\";\nimport { Parser } from \"../Parser.js\";\n\nimport { mapValue, parseNDigits } from \"../utils.js\";\n\n// ISO day of week\nexport class ISODayParser extends Parser {\n priority = 90;\n\n parse(dateString, token, match) {\n const valueCallback = (value) => {\n if (value === 0) {\n return 7;\n }\n return value;\n };\n\n switch (token) {\n // 2\n case \"i\":\n case \"ii\": // 02\n return parseNDigits(token.length, dateString);\n // 2nd\n case \"io\":\n return match.ordinalNumber(dateString, { unit: \"day\" });\n // Tue\n case \"iii\":\n return mapValue(\n match.day(dateString, {\n width: \"abbreviated\",\n context: \"formatting\",\n }) ||\n match.day(dateString, {\n width: \"short\",\n context: \"formatting\",\n }) ||\n match.day(dateString, {\n width: \"narrow\",\n context: \"formatting\",\n }),\n valueCallback,\n );\n // T\n case \"iiiii\":\n return mapValue(\n match.day(dateString, {\n width: \"narrow\",\n context: \"formatting\",\n }),\n valueCallback,\n );\n // Tu\n case \"iiiiii\":\n return mapValue(\n match.day(dateString, {\n width: \"short\",\n context: \"formatting\",\n }) ||\n match.day(dateString, {\n width: \"narrow\",\n context: \"formatting\",\n }),\n valueCallback,\n );\n // Tuesday\n case \"iiii\":\n default:\n return mapValue(\n match.day(dateString, {\n width: \"wide\",\n context: \"formatting\",\n }) ||\n match.day(dateString, {\n width: \"abbreviated\",\n context: \"formatting\",\n }) ||\n match.day(dateString, {\n width: \"short\",\n context: \"formatting\",\n }) ||\n match.day(dateString, {\n width: \"narrow\",\n context: \"formatting\",\n }),\n valueCallback,\n );\n }\n }\n\n validate(_date, value) {\n return value >= 1 && value <= 7;\n }\n\n set(date, _flags, value) {\n date = setISODay(date, value);\n date.setHours(0, 0, 0, 0);\n return date;\n }\n\n incompatibleTokens = [\n \"y\",\n \"Y\",\n \"u\",\n \"q\",\n \"Q\",\n \"M\",\n \"L\",\n \"w\",\n \"d\",\n \"D\",\n \"E\",\n \"e\",\n \"c\",\n \"t\",\n \"T\",\n ];\n}\n","import { Parser } from \"../Parser.js\";\n\nimport { dayPeriodEnumToHours } from \"../utils.js\";\n\nexport class AMPMParser extends Parser {\n priority = 80;\n\n parse(dateString, token, match) {\n switch (token) {\n case \"a\":\n case \"aa\":\n case \"aaa\":\n return (\n match.dayPeriod(dateString, {\n width: \"abbreviated\",\n context: \"formatting\",\n }) ||\n match.dayPeriod(dateString, {\n width: \"narrow\",\n context: \"formatting\",\n })\n );\n\n case \"aaaaa\":\n return match.dayPeriod(dateString, {\n width: \"narrow\",\n context: \"formatting\",\n });\n case \"aaaa\":\n default:\n return (\n match.dayPeriod(dateString, {\n width: \"wide\",\n context: \"formatting\",\n }) ||\n match.dayPeriod(dateString, {\n width: \"abbreviated\",\n context: \"formatting\",\n }) ||\n match.dayPeriod(dateString, {\n width: \"narrow\",\n context: \"formatting\",\n })\n );\n }\n }\n\n set(date, _flags, value) {\n date.setHours(dayPeriodEnumToHours(value), 0, 0, 0);\n return date;\n }\n\n incompatibleTokens = [\"b\", \"B\", \"H\", \"k\", \"t\", \"T\"];\n}\n","import { Parser } from \"../Parser.js\";\n\nimport { dayPeriodEnumToHours } from \"../utils.js\";\n\nexport class AMPMMidnightParser extends Parser {\n priority = 80;\n\n parse(dateString, token, match) {\n switch (token) {\n case \"b\":\n case \"bb\":\n case \"bbb\":\n return (\n match.dayPeriod(dateString, {\n width: \"abbreviated\",\n context: \"formatting\",\n }) ||\n match.dayPeriod(dateString, {\n width: \"narrow\",\n context: \"formatting\",\n })\n );\n\n case \"bbbbb\":\n return match.dayPeriod(dateString, {\n width: \"narrow\",\n context: \"formatting\",\n });\n case \"bbbb\":\n default:\n return (\n match.dayPeriod(dateString, {\n width: \"wide\",\n context: \"formatting\",\n }) ||\n match.dayPeriod(dateString, {\n width: \"abbreviated\",\n context: \"formatting\",\n }) ||\n match.dayPeriod(dateString, {\n width: \"narrow\",\n context: \"formatting\",\n })\n );\n }\n }\n\n set(date, _flags, value) {\n date.setHours(dayPeriodEnumToHours(value), 0, 0, 0);\n return date;\n }\n\n incompatibleTokens = [\"a\", \"B\", \"H\", \"k\", \"t\", \"T\"];\n}\n","import { Parser } from \"../Parser.js\";\n\nimport { dayPeriodEnumToHours } from \"../utils.js\";\n\n// in the morning, in the afternoon, in the evening, at night\nexport class DayPeriodParser extends Parser {\n priority = 80;\n\n parse(dateString, token, match) {\n switch (token) {\n case \"B\":\n case \"BB\":\n case \"BBB\":\n return (\n match.dayPeriod(dateString, {\n width: \"abbreviated\",\n context: \"formatting\",\n }) ||\n match.dayPeriod(dateString, {\n width: \"narrow\",\n context: \"formatting\",\n })\n );\n\n case \"BBBBB\":\n return match.dayPeriod(dateString, {\n width: \"narrow\",\n context: \"formatting\",\n });\n case \"BBBB\":\n default:\n return (\n match.dayPeriod(dateString, {\n width: \"wide\",\n context: \"formatting\",\n }) ||\n match.dayPeriod(dateString, {\n width: \"abbreviated\",\n context: \"formatting\",\n }) ||\n match.dayPeriod(dateString, {\n width: \"narrow\",\n context: \"formatting\",\n })\n );\n }\n }\n\n set(date, _flags, value) {\n date.setHours(dayPeriodEnumToHours(value), 0, 0, 0);\n return date;\n }\n\n incompatibleTokens = [\"a\", \"b\", \"t\", \"T\"];\n}\n","import { numericPatterns } from \"../constants.js\";\nimport { Parser } from \"../Parser.js\";\n\nimport { parseNDigits, parseNumericPattern } from \"../utils.js\";\n\nexport class Hour1to12Parser extends Parser {\n priority = 70;\n\n parse(dateString, token, match) {\n switch (token) {\n case \"h\":\n return parseNumericPattern(numericPatterns.hour12h, dateString);\n case \"ho\":\n return match.ordinalNumber(dateString, { unit: \"hour\" });\n default:\n return parseNDigits(token.length, dateString);\n }\n }\n\n validate(_date, value) {\n return value >= 1 && value <= 12;\n }\n\n set(date, _flags, value) {\n const isPM = date.getHours() >= 12;\n if (isPM && value < 12) {\n date.setHours(value + 12, 0, 0, 0);\n } else if (!isPM && value === 12) {\n date.setHours(0, 0, 0, 0);\n } else {\n date.setHours(value, 0, 0, 0);\n }\n return date;\n }\n\n incompatibleTokens = [\"H\", \"K\", \"k\", \"t\", \"T\"];\n}\n","import { numericPatterns } from \"../constants.js\";\nimport { Parser } from \"../Parser.js\";\n\nimport { parseNDigits, parseNumericPattern } from \"../utils.js\";\n\nexport class Hour0to23Parser extends Parser {\n priority = 70;\n\n parse(dateString, token, match) {\n switch (token) {\n case \"H\":\n return parseNumericPattern(numericPatterns.hour23h, dateString);\n case \"Ho\":\n return match.ordinalNumber(dateString, { unit: \"hour\" });\n default:\n return parseNDigits(token.length, dateString);\n }\n }\n\n validate(_date, value) {\n return value >= 0 && value <= 23;\n }\n\n set(date, _flags, value) {\n date.setHours(value, 0, 0, 0);\n return date;\n }\n\n incompatibleTokens = [\"a\", \"b\", \"h\", \"K\", \"k\", \"t\", \"T\"];\n}\n","import { numericPatterns } from \"../constants.js\";\nimport { Parser } from \"../Parser.js\";\n\nimport { parseNDigits, parseNumericPattern } from \"../utils.js\";\n\nexport class Hour0To11Parser extends Parser {\n priority = 70;\n\n parse(dateString, token, match) {\n switch (token) {\n case \"K\":\n return parseNumericPattern(numericPatterns.hour11h, dateString);\n case \"Ko\":\n return match.ordinalNumber(dateString, { unit: \"hour\" });\n default:\n return parseNDigits(token.length, dateString);\n }\n }\n\n validate(_date, value) {\n return value >= 0 && value <= 11;\n }\n\n set(date, _flags, value) {\n const isPM = date.getHours() >= 12;\n if (isPM && value < 12) {\n date.setHours(value + 12, 0, 0, 0);\n } else {\n date.setHours(value, 0, 0, 0);\n }\n return date;\n }\n\n incompatibleTokens = [\"h\", \"H\", \"k\", \"t\", \"T\"];\n}\n","import { numericPatterns } from \"../constants.js\";\nimport { Parser } from \"../Parser.js\";\n\nimport { parseNDigits, parseNumericPattern } from \"../utils.js\";\n\nexport class Hour1To24Parser extends Parser {\n priority = 70;\n\n parse(dateString, token, match) {\n switch (token) {\n case \"k\":\n return parseNumericPattern(numericPatterns.hour24h, dateString);\n case \"ko\":\n return match.ordinalNumber(dateString, { unit: \"hour\" });\n default:\n return parseNDigits(token.length, dateString);\n }\n }\n\n validate(_date, value) {\n return value >= 1 && value <= 24;\n }\n\n set(date, _flags, value) {\n const hours = value <= 24 ? value % 24 : value;\n date.setHours(hours, 0, 0, 0);\n return date;\n }\n\n incompatibleTokens = [\"a\", \"b\", \"h\", \"H\", \"K\", \"t\", \"T\"];\n}\n","import { numericPatterns } from \"../constants.js\";\nimport { Parser } from \"../Parser.js\";\n\nimport { parseNDigits, parseNumericPattern } from \"../utils.js\";\n\nexport class MinuteParser extends Parser {\n priority = 60;\n\n parse(dateString, token, match) {\n switch (token) {\n case \"m\":\n return parseNumericPattern(numericPatterns.minute, dateString);\n case \"mo\":\n return match.ordinalNumber(dateString, { unit: \"minute\" });\n default:\n return parseNDigits(token.length, dateString);\n }\n }\n\n validate(_date, value) {\n return value >= 0 && value <= 59;\n }\n\n set(date, _flags, value) {\n date.setMinutes(value, 0, 0);\n return date;\n }\n\n incompatibleTokens = [\"t\", \"T\"];\n}\n","import { numericPatterns } from \"../constants.js\";\nimport { Parser } from \"../Parser.js\";\n\nimport { parseNDigits, parseNumericPattern } from \"../utils.js\";\n\nexport class SecondParser extends Parser {\n priority = 50;\n\n parse(dateString, token, match) {\n switch (token) {\n case \"s\":\n return parseNumericPattern(numericPatterns.second, dateString);\n case \"so\":\n return match.ordinalNumber(dateString, { unit: \"second\" });\n default:\n return parseNDigits(token.length, dateString);\n }\n }\n\n validate(_date, value) {\n return value >= 0 && value <= 59;\n }\n\n set(date, _flags, value) {\n date.setSeconds(value, 0);\n return date;\n }\n\n incompatibleTokens = [\"t\", \"T\"];\n}\n","import { Parser } from \"../Parser.js\";\n\nimport { mapValue, parseNDigits } from \"../utils.js\";\n\nexport class FractionOfSecondParser extends Parser {\n priority = 30;\n\n parse(dateString, token) {\n const valueCallback = (value) =>\n Math.trunc(value * Math.pow(10, -token.length + 3));\n return mapValue(parseNDigits(token.length, dateString), valueCallback);\n }\n\n set(date, _flags, value) {\n date.setMilliseconds(value);\n return date;\n }\n\n incompatibleTokens = [\"t\", \"T\"];\n}\n","import { constructFrom } from \"../../../constructFrom.js\";\nimport { getTimezoneOffsetInMilliseconds } from \"../../../_lib/getTimezoneOffsetInMilliseconds.js\";\nimport { timezonePatterns } from \"../constants.js\";\nimport { Parser } from \"../Parser.js\";\n\nimport { parseTimezonePattern } from \"../utils.js\";\n\n// Timezone (ISO-8601. +00:00 is `'Z'`)\nexport class ISOTimezoneWithZParser extends Parser {\n priority = 10;\n\n parse(dateString, token) {\n switch (token) {\n case \"X\":\n return parseTimezonePattern(\n timezonePatterns.basicOptionalMinutes,\n dateString,\n );\n case \"XX\":\n return parseTimezonePattern(timezonePatterns.basic, dateString);\n case \"XXXX\":\n return parseTimezonePattern(\n timezonePatterns.basicOptionalSeconds,\n dateString,\n );\n case \"XXXXX\":\n return parseTimezonePattern(\n timezonePatterns.extendedOptionalSeconds,\n dateString,\n );\n case \"XXX\":\n default:\n return parseTimezonePattern(timezonePatterns.extended, dateString);\n }\n }\n\n set(date, flags, value) {\n if (flags.timestampIsSet) return date;\n return constructFrom(\n date,\n date.getTime() - getTimezoneOffsetInMilliseconds(date) - value,\n );\n }\n\n incompatibleTokens = [\"t\", \"T\", \"x\"];\n}\n","import { constructFrom } from \"../../../constructFrom.js\";\nimport { getTimezoneOffsetInMilliseconds } from \"../../../_lib/getTimezoneOffsetInMilliseconds.js\";\nimport { timezonePatterns } from \"../constants.js\";\nimport { Parser } from \"../Parser.js\";\n\nimport { parseTimezonePattern } from \"../utils.js\";\n\n// Timezone (ISO-8601)\nexport class ISOTimezoneParser extends Parser {\n priority = 10;\n\n parse(dateString, token) {\n switch (token) {\n case \"x\":\n return parseTimezonePattern(\n timezonePatterns.basicOptionalMinutes,\n dateString,\n );\n case \"xx\":\n return parseTimezonePattern(timezonePatterns.basic, dateString);\n case \"xxxx\":\n return parseTimezonePattern(\n timezonePatterns.basicOptionalSeconds,\n dateString,\n );\n case \"xxxxx\":\n return parseTimezonePattern(\n timezonePatterns.extendedOptionalSeconds,\n dateString,\n );\n case \"xxx\":\n default:\n return parseTimezonePattern(timezonePatterns.extended, dateString);\n }\n }\n\n set(date, flags, value) {\n if (flags.timestampIsSet) return date;\n return constructFrom(\n date,\n date.getTime() - getTimezoneOffsetInMilliseconds(date) - value,\n );\n }\n\n incompatibleTokens = [\"t\", \"T\", \"X\"];\n}\n","import { constructFrom } from \"../../../constructFrom.js\";\nimport { Parser } from \"../Parser.js\";\n\nimport { parseAnyDigitsSigned } from \"../utils.js\";\n\nexport class TimestampSecondsParser extends Parser {\n priority = 40;\n\n parse(dateString) {\n return parseAnyDigitsSigned(dateString);\n }\n\n set(date, _flags, value) {\n return [constructFrom(date, value * 1000), { timestampIsSet: true }];\n }\n\n incompatibleTokens = \"*\";\n}\n","import { constructFrom } from \"../../../constructFrom.js\";\nimport { Parser } from \"../Parser.js\";\n\nimport { parseAnyDigitsSigned } from \"../utils.js\";\n\nexport class TimestampMillisecondsParser extends Parser {\n priority = 20;\n\n parse(dateString) {\n return parseAnyDigitsSigned(dateString);\n }\n\n set(date, _flags, value) {\n return [constructFrom(date, value), { timestampIsSet: true }];\n }\n\n incompatibleTokens = \"*\";\n}\n","import { defaultLocale } from \"./_lib/defaultLocale.js\";\nimport { longFormatters } from \"./_lib/format/longFormatters.js\";\nimport {\n isProtectedDayOfYearToken,\n isProtectedWeekYearToken,\n warnOrThrowProtectedError,\n} from \"./_lib/protectedTokens.js\";\nimport { constructFrom } from \"./constructFrom.js\";\nimport { getDefaultOptions } from \"./getDefaultOptions.js\";\nimport { toDate } from \"./toDate.js\";\n\nimport { DateTimezoneSetter } from \"./parse/_lib/Setter.js\";\nimport { parsers } from \"./parse/_lib/parsers.js\";\n\n// Rexports of internal for libraries to use.\n// See: https://github.com/date-fns/date-fns/issues/3638#issuecomment-1877082874\nexport { longFormatters, parsers };\n\n/**\n * The {@link parse} function options.\n */\n\n// This RegExp consists of three parts separated by `|`:\n// - [yYQqMLwIdDecihHKkms]o matches any available ordinal number token\n// (one of the certain letters followed by `o`)\n// - (\\w)\\1* matches any sequences of the same letter\n// - '' matches two quote characters in a row\n// - '(''|[^'])+('|$) matches anything surrounded by two quote characters ('),\n// except a single quote symbol, which ends the sequence.\n// Two quote characters do not end the sequence.\n// If there is no matching single quote\n// then the sequence will continue until the end of the string.\n// - . matches any single character unmatched by previous parts of the RegExps\nconst formattingTokensRegExp =\n /[yYQqMLwIdDecihHKkms]o|(\\w)\\1*|''|'(''|[^'])+('|$)|./g;\n\n// This RegExp catches symbols escaped by quotes, and also\n// sequences of symbols P, p, and the combinations like `PPPPPPPppppp`\nconst longFormattingTokensRegExp = /P+p+|P+|p+|''|'(''|[^'])+('|$)|./g;\n\nconst escapedStringRegExp = /^'([^]*?)'?$/;\nconst doubleQuoteRegExp = /''/g;\n\nconst notWhitespaceRegExp = /\\S/;\nconst unescapedLatinCharacterRegExp = /[a-zA-Z]/;\n\n/**\n * @name parse\n * @category Common Helpers\n * @summary Parse the date.\n *\n * @description\n * Return the date parsed from string using the given format string.\n *\n * > ⚠️ Please note that the `format` tokens differ from Moment.js and other libraries.\n * > See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * The characters in the format string wrapped between two single quotes characters (') are escaped.\n * Two single quotes in a row, whether inside or outside a quoted sequence, represent a 'real' single quote.\n *\n * Format of the format string is based on Unicode Technical Standard #35:\n * https://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table\n * with a few additions (see note 5 below the table).\n *\n * Not all tokens are compatible. Combinations that don't make sense or could lead to bugs are prohibited\n * and will throw `RangeError`. For example usage of 24-hour format token with AM/PM token will throw an exception:\n *\n * ```javascript\n * parse('23 AM', 'HH a', new Date())\n * //=> RangeError: The format string mustn't contain `HH` and `a` at the same time\n * ```\n *\n * See the compatibility table: https://docs.google.com/spreadsheets/d/e/2PACX-1vQOPU3xUhplll6dyoMmVUXHKl_8CRDs6_ueLmex3SoqwhuolkuN3O05l4rqx5h1dKX8eb46Ul-CCSrq/pubhtml?gid=0&single=true\n *\n * Accepted format string patterns:\n * | Unit |Prior| Pattern | Result examples | Notes |\n * |---------------------------------|-----|---------|-----------------------------------|-------|\n * | Era | 140 | G..GGG | AD, BC | |\n * | | | GGGG | Anno Domini, Before Christ | 2 |\n * | | | GGGGG | A, B | |\n * | Calendar year | 130 | y | 44, 1, 1900, 2017, 9999 | 4 |\n * | | | yo | 44th, 1st, 1900th, 9999999th | 4,5 |\n * | | | yy | 44, 01, 00, 17 | 4 |\n * | | | yyy | 044, 001, 123, 999 | 4 |\n * | | | yyyy | 0044, 0001, 1900, 2017 | 4 |\n * | | | yyyyy | ... | 2,4 |\n * | Local week-numbering year | 130 | Y | 44, 1, 1900, 2017, 9000 | 4 |\n * | | | Yo | 44th, 1st, 1900th, 9999999th | 4,5 |\n * | | | YY | 44, 01, 00, 17 | 4,6 |\n * | | | YYY | 044, 001, 123, 999 | 4 |\n * | | | YYYY | 0044, 0001, 1900, 2017 | 4,6 |\n * | | | YYYYY | ... | 2,4 |\n * | ISO week-numbering year | 130 | R | -43, 1, 1900, 2017, 9999, -9999 | 4,5 |\n * | | | RR | -43, 01, 00, 17 | 4,5 |\n * | | | RRR | -043, 001, 123, 999, -999 | 4,5 |\n * | | | RRRR | -0043, 0001, 2017, 9999, -9999 | 4,5 |\n * | | | RRRRR | ... | 2,4,5 |\n * | Extended year | 130 | u | -43, 1, 1900, 2017, 9999, -999 | 4 |\n * | | | uu | -43, 01, 99, -99 | 4 |\n * | | | uuu | -043, 001, 123, 999, -999 | 4 |\n * | | | uuuu | -0043, 0001, 2017, 9999, -9999 | 4 |\n * | | | uuuuu | ... | 2,4 |\n * | Quarter (formatting) | 120 | Q | 1, 2, 3, 4 | |\n * | | | Qo | 1st, 2nd, 3rd, 4th | 5 |\n * | | | QQ | 01, 02, 03, 04 | |\n * | | | QQQ | Q1, Q2, Q3, Q4 | |\n * | | | QQQQ | 1st quarter, 2nd quarter, ... | 2 |\n * | | | QQQQQ | 1, 2, 3, 4 | 4 |\n * | Quarter (stand-alone) | 120 | q | 1, 2, 3, 4 | |\n * | | | qo | 1st, 2nd, 3rd, 4th | 5 |\n * | | | qq | 01, 02, 03, 04 | |\n * | | | qqq | Q1, Q2, Q3, Q4 | |\n * | | | qqqq | 1st quarter, 2nd quarter, ... | 2 |\n * | | | qqqqq | 1, 2, 3, 4 | 3 |\n * | Month (formatting) | 110 | M | 1, 2, ..., 12 | |\n * | | | Mo | 1st, 2nd, ..., 12th | 5 |\n * | | | MM | 01, 02, ..., 12 | |\n * | | | MMM | Jan, Feb, ..., Dec | |\n * | | | MMMM | January, February, ..., December | 2 |\n * | | | MMMMM | J, F, ..., D | |\n * | Month (stand-alone) | 110 | L | 1, 2, ..., 12 | |\n * | | | Lo | 1st, 2nd, ..., 12th | 5 |\n * | | | LL | 01, 02, ..., 12 | |\n * | | | LLL | Jan, Feb, ..., Dec | |\n * | | | LLLL | January, February, ..., December | 2 |\n * | | | LLLLL | J, F, ..., D | |\n * | Local week of year | 100 | w | 1, 2, ..., 53 | |\n * | | | wo | 1st, 2nd, ..., 53th | 5 |\n * | | | ww | 01, 02, ..., 53 | |\n * | ISO week of year | 100 | I | 1, 2, ..., 53 | 5 |\n * | | | Io | 1st, 2nd, ..., 53th | 5 |\n * | | | II | 01, 02, ..., 53 | 5 |\n * | Day of month | 90 | d | 1, 2, ..., 31 | |\n * | | | do | 1st, 2nd, ..., 31st | 5 |\n * | | | dd | 01, 02, ..., 31 | |\n * | Day of year | 90 | D | 1, 2, ..., 365, 366 | 7 |\n * | | | Do | 1st, 2nd, ..., 365th, 366th | 5 |\n * | | | DD | 01, 02, ..., 365, 366 | 7 |\n * | | | DDD | 001, 002, ..., 365, 366 | |\n * | | | DDDD | ... | 2 |\n * | Day of week (formatting) | 90 | E..EEE | Mon, Tue, Wed, ..., Sun | |\n * | | | EEEE | Monday, Tuesday, ..., Sunday | 2 |\n * | | | EEEEE | M, T, W, T, F, S, S | |\n * | | | EEEEEE | Mo, Tu, We, Th, Fr, Sa, Su | |\n * | ISO day of week (formatting) | 90 | i | 1, 2, 3, ..., 7 | 5 |\n * | | | io | 1st, 2nd, ..., 7th | 5 |\n * | | | ii | 01, 02, ..., 07 | 5 |\n * | | | iii | Mon, Tue, Wed, ..., Sun | 5 |\n * | | | iiii | Monday, Tuesday, ..., Sunday | 2,5 |\n * | | | iiiii | M, T, W, T, F, S, S | 5 |\n * | | | iiiiii | Mo, Tu, We, Th, Fr, Sa, Su | 5 |\n * | Local day of week (formatting) | 90 | e | 2, 3, 4, ..., 1 | |\n * | | | eo | 2nd, 3rd, ..., 1st | 5 |\n * | | | ee | 02, 03, ..., 01 | |\n * | | | eee | Mon, Tue, Wed, ..., Sun | |\n * | | | eeee | Monday, Tuesday, ..., Sunday | 2 |\n * | | | eeeee | M, T, W, T, F, S, S | |\n * | | | eeeeee | Mo, Tu, We, Th, Fr, Sa, Su | |\n * | Local day of week (stand-alone) | 90 | c | 2, 3, 4, ..., 1 | |\n * | | | co | 2nd, 3rd, ..., 1st | 5 |\n * | | | cc | 02, 03, ..., 01 | |\n * | | | ccc | Mon, Tue, Wed, ..., Sun | |\n * | | | cccc | Monday, Tuesday, ..., Sunday | 2 |\n * | | | ccccc | M, T, W, T, F, S, S | |\n * | | | cccccc | Mo, Tu, We, Th, Fr, Sa, Su | |\n * | AM, PM | 80 | a..aaa | AM, PM | |\n * | | | aaaa | a.m., p.m. | 2 |\n * | | | aaaaa | a, p | |\n * | AM, PM, noon, midnight | 80 | b..bbb | AM, PM, noon, midnight | |\n * | | | bbbb | a.m., p.m., noon, midnight | 2 |\n * | | | bbbbb | a, p, n, mi | |\n * | Flexible day period | 80 | B..BBB | at night, in the morning, ... | |\n * | | | BBBB | at night, in the morning, ... | 2 |\n * | | | BBBBB | at night, in the morning, ... | |\n * | Hour [1-12] | 70 | h | 1, 2, ..., 11, 12 | |\n * | | | ho | 1st, 2nd, ..., 11th, 12th | 5 |\n * | | | hh | 01, 02, ..., 11, 12 | |\n * | Hour [0-23] | 70 | H | 0, 1, 2, ..., 23 | |\n * | | | Ho | 0th, 1st, 2nd, ..., 23rd | 5 |\n * | | | HH | 00, 01, 02, ..., 23 | |\n * | Hour [0-11] | 70 | K | 1, 2, ..., 11, 0 | |\n * | | | Ko | 1st, 2nd, ..., 11th, 0th | 5 |\n * | | | KK | 01, 02, ..., 11, 00 | |\n * | Hour [1-24] | 70 | k | 24, 1, 2, ..., 23 | |\n * | | | ko | 24th, 1st, 2nd, ..., 23rd | 5 |\n * | | | kk | 24, 01, 02, ..., 23 | |\n * | Minute | 60 | m | 0, 1, ..., 59 | |\n * | | | mo | 0th, 1st, ..., 59th | 5 |\n * | | | mm | 00, 01, ..., 59 | |\n * | Second | 50 | s | 0, 1, ..., 59 | |\n * | | | so | 0th, 1st, ..., 59th | 5 |\n * | | | ss | 00, 01, ..., 59 | |\n * | Seconds timestamp | 40 | t | 512969520 | |\n * | | | tt | ... | 2 |\n * | Fraction of second | 30 | S | 0, 1, ..., 9 | |\n * | | | SS | 00, 01, ..., 99 | |\n * | | | SSS | 000, 001, ..., 999 | |\n * | | | SSSS | ... | 2 |\n * | Milliseconds timestamp | 20 | T | 512969520900 | |\n * | | | TT | ... | 2 |\n * | Timezone (ISO-8601 w/ Z) | 10 | X | -08, +0530, Z | |\n * | | | XX | -0800, +0530, Z | |\n * | | | XXX | -08:00, +05:30, Z | |\n * | | | XXXX | -0800, +0530, Z, +123456 | 2 |\n * | | | XXXXX | -08:00, +05:30, Z, +12:34:56 | |\n * | Timezone (ISO-8601 w/o Z) | 10 | x | -08, +0530, +00 | |\n * | | | xx | -0800, +0530, +0000 | |\n * | | | xxx | -08:00, +05:30, +00:00 | 2 |\n * | | | xxxx | -0800, +0530, +0000, +123456 | |\n * | | | xxxxx | -08:00, +05:30, +00:00, +12:34:56 | |\n * | Long localized date | NA | P | 05/29/1453 | 5,8 |\n * | | | PP | May 29, 1453 | |\n * | | | PPP | May 29th, 1453 | |\n * | | | PPPP | Sunday, May 29th, 1453 | 2,5,8 |\n * | Long localized time | NA | p | 12:00 AM | 5,8 |\n * | | | pp | 12:00:00 AM | |\n * | Combination of date and time | NA | Pp | 05/29/1453, 12:00 AM | |\n * | | | PPpp | May 29, 1453, 12:00:00 AM | |\n * | | | PPPpp | May 29th, 1453 at ... | |\n * | | | PPPPpp | Sunday, May 29th, 1453 at ... | 2,5,8 |\n * Notes:\n * 1. \"Formatting\" units (e.g. formatting quarter) in the default en-US locale\n * are the same as \"stand-alone\" units, but are different in some languages.\n * \"Formatting\" units are declined according to the rules of the language\n * in the context of a date. \"Stand-alone\" units are always nominative singular.\n * In `format` function, they will produce different result:\n *\n * `format(new Date(2017, 10, 6), 'do LLLL', {locale: cs}) //=> '6. listopad'`\n *\n * `format(new Date(2017, 10, 6), 'do MMMM', {locale: cs}) //=> '6. listopadu'`\n *\n * `parse` will try to match both formatting and stand-alone units interchangeably.\n *\n * 2. Any sequence of the identical letters is a pattern, unless it is escaped by\n * the single quote characters (see below).\n * If the sequence is longer than listed in table:\n * - for numerical units (`yyyyyyyy`) `parse` will try to match a number\n * as wide as the sequence\n * - for text units (`MMMMMMMM`) `parse` will try to match the widest variation of the unit.\n * These variations are marked with \"2\" in the last column of the table.\n *\n * 3. `QQQQQ` and `qqqqq` could be not strictly numerical in some locales.\n * These tokens represent the shortest form of the quarter.\n *\n * 4. The main difference between `y` and `u` patterns are B.C. years:\n *\n * | Year | `y` | `u` |\n * |------|-----|-----|\n * | AC 1 | 1 | 1 |\n * | BC 1 | 1 | 0 |\n * | BC 2 | 2 | -1 |\n *\n * Also `yy` will try to guess the century of two digit year by proximity with `referenceDate`:\n *\n * `parse('50', 'yy', new Date(2018, 0, 1)) //=> Sat Jan 01 2050 00:00:00`\n *\n * `parse('75', 'yy', new Date(2018, 0, 1)) //=> Wed Jan 01 1975 00:00:00`\n *\n * while `uu` will just assign the year as is:\n *\n * `parse('50', 'uu', new Date(2018, 0, 1)) //=> Sat Jan 01 0050 00:00:00`\n *\n * `parse('75', 'uu', new Date(2018, 0, 1)) //=> Tue Jan 01 0075 00:00:00`\n *\n * The same difference is true for local and ISO week-numbering years (`Y` and `R`),\n * except local week-numbering years are dependent on `options.weekStartsOn`\n * and `options.firstWeekContainsDate` (compare [setISOWeekYear](https://date-fns.org/docs/setISOWeekYear)\n * and [setWeekYear](https://date-fns.org/docs/setWeekYear)).\n *\n * 5. These patterns are not in the Unicode Technical Standard #35:\n * - `i`: ISO day of week\n * - `I`: ISO week of year\n * - `R`: ISO week-numbering year\n * - `o`: ordinal number modifier\n * - `P`: long localized date\n * - `p`: long localized time\n *\n * 6. `YY` and `YYYY` tokens represent week-numbering years but they are often confused with years.\n * You should enable `options.useAdditionalWeekYearTokens` to use them. See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * 7. `D` and `DD` tokens represent days of the year but they are often confused with days of the month.\n * You should enable `options.useAdditionalDayOfYearTokens` to use them. See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * 8. `P+` tokens do not have a defined priority since they are merely aliases to other tokens based\n * on the given locale.\n *\n * using `en-US` locale: `P` => `MM/dd/yyyy`\n * using `en-US` locale: `p` => `hh:mm a`\n * using `pt-BR` locale: `P` => `dd/MM/yyyy`\n * using `pt-BR` locale: `p` => `HH:mm`\n *\n * Values will be assigned to the date in the descending order of its unit's priority.\n * Units of an equal priority overwrite each other in the order of appearance.\n *\n * If no values of higher priority are parsed (e.g. when parsing string 'January 1st' without a year),\n * the values will be taken from 3rd argument `referenceDate` which works as a context of parsing.\n *\n * `referenceDate` must be passed for correct work of the function.\n * If you're not sure which `referenceDate` to supply, create a new instance of Date:\n * `parse('02/11/2014', 'MM/dd/yyyy', new Date())`\n * In this case parsing will be done in the context of the current date.\n * If `referenceDate` is `Invalid Date` or a value not convertible to valid `Date`,\n * then `Invalid Date` will be returned.\n *\n * The result may vary by locale.\n *\n * If `formatString` matches with `dateString` but does not provides tokens, `referenceDate` will be returned.\n *\n * If parsing failed, `Invalid Date` will be returned.\n * Invalid Date is a Date, whose time value is NaN.\n * Time value of Date: http://es5.github.io/#x15.9.1.1\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param dateStr - The string to parse\n * @param formatStr - The string of tokens\n * @param referenceDate - defines values missing from the parsed dateString\n * @param options - An object with options.\n * see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * @returns The parsed date\n *\n * @throws `options.locale` must contain `match` property\n * @throws use `yyyy` instead of `YYYY` for formatting years using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws use `yy` instead of `YY` for formatting years using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws use `d` instead of `D` for formatting days of the month using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws use `dd` instead of `DD` for formatting days of the month using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws format string contains an unescaped latin alphabet character\n *\n * @example\n * // Parse 11 February 2014 from middle-endian format:\n * var result = parse('02/11/2014', 'MM/dd/yyyy', new Date())\n * //=> Tue Feb 11 2014 00:00:00\n *\n * @example\n * // Parse 28th of February in Esperanto locale in the context of 2010 year:\n * import eo from 'date-fns/locale/eo'\n * var result = parse('28-a de februaro', \"do 'de' MMMM\", new Date(2010, 0, 1), {\n * locale: eo\n * })\n * //=> Sun Feb 28 2010 00:00:00\n */\nexport function parse(dateStr, formatStr, referenceDate, options) {\n const invalidDate = () => constructFrom(options?.in || referenceDate, NaN);\n const defaultOptions = getDefaultOptions();\n const locale = options?.locale ?? defaultOptions.locale ?? defaultLocale;\n\n const firstWeekContainsDate =\n options?.firstWeekContainsDate ??\n options?.locale?.options?.firstWeekContainsDate ??\n defaultOptions.firstWeekContainsDate ??\n defaultOptions.locale?.options?.firstWeekContainsDate ??\n 1;\n\n const weekStartsOn =\n options?.weekStartsOn ??\n options?.locale?.options?.weekStartsOn ??\n defaultOptions.weekStartsOn ??\n defaultOptions.locale?.options?.weekStartsOn ??\n 0;\n\n if (!formatStr)\n return dateStr ? invalidDate() : toDate(referenceDate, options?.in);\n\n const subFnOptions = {\n firstWeekContainsDate,\n weekStartsOn,\n locale,\n };\n\n // If timezone isn't specified, it will try to use the context or\n // the reference date and fallback to the system time zone.\n const setters = [new DateTimezoneSetter(options?.in, referenceDate)];\n\n const tokens = formatStr\n .match(longFormattingTokensRegExp)\n .map((substring) => {\n const firstCharacter = substring[0];\n if (firstCharacter in longFormatters) {\n const longFormatter = longFormatters[firstCharacter];\n return longFormatter(substring, locale.formatLong);\n }\n return substring;\n })\n .join(\"\")\n .match(formattingTokensRegExp);\n\n const usedTokens = [];\n\n for (let token of tokens) {\n if (\n !options?.useAdditionalWeekYearTokens &&\n isProtectedWeekYearToken(token)\n ) {\n warnOrThrowProtectedError(token, formatStr, dateStr);\n }\n if (\n !options?.useAdditionalDayOfYearTokens &&\n isProtectedDayOfYearToken(token)\n ) {\n warnOrThrowProtectedError(token, formatStr, dateStr);\n }\n\n const firstCharacter = token[0];\n const parser = parsers[firstCharacter];\n if (parser) {\n const { incompatibleTokens } = parser;\n if (Array.isArray(incompatibleTokens)) {\n const incompatibleToken = usedTokens.find(\n (usedToken) =>\n incompatibleTokens.includes(usedToken.token) ||\n usedToken.token === firstCharacter,\n );\n if (incompatibleToken) {\n throw new RangeError(\n `The format string mustn't contain \\`${incompatibleToken.fullToken}\\` and \\`${token}\\` at the same time`,\n );\n }\n } else if (parser.incompatibleTokens === \"*\" && usedTokens.length > 0) {\n throw new RangeError(\n `The format string mustn't contain \\`${token}\\` and any other token at the same time`,\n );\n }\n\n usedTokens.push({ token: firstCharacter, fullToken: token });\n\n const parseResult = parser.run(\n dateStr,\n token,\n locale.match,\n subFnOptions,\n );\n\n if (!parseResult) {\n return invalidDate();\n }\n\n setters.push(parseResult.setter);\n\n dateStr = parseResult.rest;\n } else {\n if (firstCharacter.match(unescapedLatinCharacterRegExp)) {\n throw new RangeError(\n \"Format string contains an unescaped latin alphabet character `\" +\n firstCharacter +\n \"`\",\n );\n }\n\n // Replace two single quote characters with one single quote character\n if (token === \"''\") {\n token = \"'\";\n } else if (firstCharacter === \"'\") {\n token = cleanEscapedString(token);\n }\n\n // Cut token from string, or, if string doesn't match the token, return Invalid Date\n if (dateStr.indexOf(token) === 0) {\n dateStr = dateStr.slice(token.length);\n } else {\n return invalidDate();\n }\n }\n }\n\n // Check if the remaining input contains something other than whitespace\n if (dateStr.length > 0 && notWhitespaceRegExp.test(dateStr)) {\n return invalidDate();\n }\n\n const uniquePrioritySetters = setters\n .map((setter) => setter.priority)\n .sort((a, b) => b - a)\n .filter((priority, index, array) => array.indexOf(priority) === index)\n .map((priority) =>\n setters\n .filter((setter) => setter.priority === priority)\n .sort((a, b) => b.subPriority - a.subPriority),\n )\n .map((setterArray) => setterArray[0]);\n\n let date = toDate(referenceDate, options?.in);\n\n if (isNaN(+date)) return invalidDate();\n\n const flags = {};\n for (const setter of uniquePrioritySetters) {\n if (!setter.validate(date, subFnOptions)) {\n return invalidDate();\n }\n\n const result = setter.set(date, flags, subFnOptions);\n // Result is tuple (date, flags)\n if (Array.isArray(result)) {\n date = result[0];\n Object.assign(flags, result[1]);\n // Result is date\n } else {\n date = result;\n }\n }\n\n return date;\n}\n\nfunction cleanEscapedString(input) {\n return input.match(escapedStringRegExp)[1].replace(doubleQuoteRegExp, \"'\");\n}\n\n// Fallback for modularized imports:\nexport default parse;\n","import { getDefaultOptions as getInternalDefaultOptions } from \"./_lib/defaultOptions.js\";\n\n/**\n * @name getDefaultOptions\n * @category Common Helpers\n * @summary Get default options.\n * @pure false\n *\n * @description\n * Returns an object that contains defaults for\n * `options.locale`, `options.weekStartsOn` and `options.firstWeekContainsDate`\n * arguments for all functions.\n *\n * You can change these with [setDefaultOptions](https://date-fns.org/docs/setDefaultOptions).\n *\n * @returns The default options\n *\n * @example\n * const result = getDefaultOptions()\n * //=> {}\n *\n * @example\n * setDefaultOptions({ weekStarsOn: 1, firstWeekContainsDate: 4 })\n * const result = getDefaultOptions()\n * //=> { weekStarsOn: 1, firstWeekContainsDate: 4 }\n */\nexport function getDefaultOptions() {\n return Object.assign({}, getInternalDefaultOptions());\n}\n\n// Fallback for modularized imports:\nexport default getDefaultOptions;\n",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["t","e","this","v","k","length","n","r","Array","isArray","ReferenceError","i","Promise","done","value","Symbol","iterator","next","throw","return","o","asyncIterator","call","a","TypeError","Object","reject","resolve","then","s","prototype","apply","arguments","u","c","l","y","m","Reflect","construct","constructor","h","f","push","bind","O","d","enumerable","configurable","writable","defineProperty","j","key","p","_","g","setPrototypeOf","getPrototypeOf","__proto__","b","create","Boolean","valueOf","w","from","E","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","A","forEach","getOwnPropertyDescriptors","defineProperties","x","hasOwnProperty","toStringTag","P","S","type","arg","wrap","L","_invoke","R","__await","Error","method","delegate","sent","_sent","dispatchException","abrupt","resultName","nextLoc","T","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","completion","reset","isNaN","displayName","isGeneratorFunction","name","mark","awrap","AsyncIterator","async","reverse","pop","values","prev","charAt","slice","stop","rval","complete","finish","catch","delegateYield","toPrimitive","String","toString","test","C","Map","Function","indexOf","has","get","set","N","RegExp","str","chain","toLowerCase","match","replace","applyRules","pluralRules","uncountableWords","singularRules","split","toUpperCase","substring","join","uppercase","underbarPrefix","idSuffix","underbar","capitalize","spaceOrUnderbar","camelize","underscore","nonTitlecasedWords","pluralize","concat","trim","singularize","demodulize","parseInt","shift","F","invoke","D","z","B","resources","adapters","storse","actions","q","I","W","G","lookup","V","X","Q","splice","Z","Y","at","tt","objectAt","et","nt","rt","it","ot","map","sort","compare","Set","add","includes","insertAt","removeAt","toArray","clear","removeObject","pushObject","addObject","st","size","lt","process","env","release","search","window","navigator","product","ht","place","geometry","components","parseComponents","attributes","parseProperties","address_components","reduce","types","streetNumber","streetName","coordinates","location","city","or","county","stateShort","stateLong","countryShort","country","countryLong","postalCode","address","short_name","long_name","dt","latitude","longitude","coorindates","lat","lng","serialize","vt","pt","gt","yt","mt","extend","extendActions","wt","kt","dirtyAttributes","changes","isLoading","isSaving","isDestroying","isReloading","resource","options","version","setAdapter","adapter","store","M","onAfterFetch","syncAttributes","getAttribute","mergeAttributes","setFlags","update","id","destroy","findRecord","attribues","getAttributes","onlyDirty","savedirty","isAttributeFilled","Date","hasAttributes","isNew","isLoaded","setAttributes","property","previousValue","changedAt","setAttribute","every","hasAttribute","Et","namespace","storage","afterFetch","deposit","post","put","single","delete","At","getDistanceAndTime","getNextActivity","dispatch","start","updateActivity","setDestination","captureQrCode","captureSignature","cancel","xt","isStarted","isCanceled","isCompleted","Ot","entities","dropoff","pickup","waypoints","Rt","St","street1","street2","province","postal_code","neighborhood","district","building","phone","security_access_code","jt","Tt","_t","Pt","current","Lt","Ct","Nt","login","identity","password","verifyCode","code","track","listOrganizations","switchOrganization","currentOrganization","retrieve","syncDevice","Ft","Dt","$t","Ut","zt","Bt","qt","It","Mt","host","headers","Ht","setHeaders","Authorization","publicKey","json","statusText","status","ok","fetch","url","mode","Headers","parseJSON","errors","URLSearchParams","request","body","JSON","stringify","Jt","Wt","Kt","Gt","Vt","Xt","Qt","Yt","Zt","te","ee","ne","re","ie","oe","ae","se","ue","ce","le","he","fe","de","ve","pe","ge","allOwnKeys","getOwnPropertyNames","ye","we","Te","_e","Pe","Le","be","globalThis","self","global","me","ke","Uint8Array","Ee","Ae","xe","Oe","Re","Se","je","DIGIT","ALPHA","ALPHA_DIGIT","Ce","Ne","setImmediate","postMessage","Math","random","addEventListener","source","data","setTimeout","Fe","queueMicrotask","nextTick","De","isArrayBuffer","isBuffer","isFormData","FormData","append","isArrayBufferView","ArrayBuffer","isView","buffer","isString","isNumber","isBoolean","isObject","isPlainObject","isReadableStream","isRequest","isResponse","isHeaders","isUndefined","isDate","isFile","isBlob","isRegExp","isFunction","isStream","pipe","isURLSearchParams","isTypedArray","isFileList","merge","caseless","stripBOM","charCodeAt","inherits","assign","toFlatObject","kindOf","kindOfTest","endsWith","forEachEntry","matchAll","exec","isHTMLForm","hasOwnProp","reduceDescriptors","freezeMethods","toObjectSet","toCamelCase","noop","toFiniteNumber","Number","isFinite","findKey","isContextDefined","ALPHABET","generateString","isSpecCompliantForm","toJSONObject","isAsyncFn","isThenable","asap","$e","captureStackTrace","stack","message","config","response","toJSON","description","number","fileName","lineNumber","columnNumber","Ue","ze","Be","qe","Ie","cause","Me","He","metaTokens","dots","indexes","visitor","Blob","toISOString","Buffer","some","defaultVisitor","convertValue","isVisitable","Je","encodeURIComponent","We","_pairs","Ke","Ge","Ve","encode","Xe","handlers","fulfilled","rejected","synchronous","runWhen","Qe","silentJSONParsing","forcedJSONParsing","clarifyTimeoutError","Ye","isBrowser","classes","protocols","Ze","document","tn","en","nn","WorkerGlobalScope","importScripts","rn","href","on","freeze","hasBrowserEnv","hasStandardBrowserEnv","hasStandardBrowserWebWorkerEnv","origin","an","entries","sn","transitional","transformRequest","getContentType","setContentType","isNode","formSerializer","parse","transformResponse","responseType","ERR_BAD_RESPONSE","timeout","xsrfCookieName","xsrfHeaderName","maxContentLength","maxBodyLength","validateStatus","common","Accept","un","cn","ln","hn","fn","dn","accessors","vn","normalize","pn","__CANCEL__","gn","ERR_CANCELED","yn","ERR_BAD_REQUEST","floor","accessor","bn","now","round","clearTimeout","loaded","lengthComputable","total","progress","bytes","rate","estimated","event","mn","wn","kn","URL","protocol","port","userAgent","En","write","toGMTString","cookie","read","decodeURIComponent","remove","An","xn","On","baseURL","paramsSerializer","timeoutMessage","withCredentials","withXSRFToken","onUploadProgress","onDownloadProgress","decompress","beforeRedirect","transport","httpAgent","httpsAgent","cancelToken","socketPath","responseEncoding","Rn","Sn","jn","auth","params","btoa","username","unescape","Tn","XMLHttpRequest","unsubscribe","signal","removeEventListener","getAllResponseHeaders","responseText","open","onloadend","onreadystatechange","readyState","responseURL","onabort","ECONNABORTED","onerror","ERR_NETWORK","ontimeout","timeoutErrorMessage","ETIMEDOUT","setRequestHeader","upload","abort","subscribe","aborted","send","_n","AbortController","reason","Pn","byteLength","Ln","Cn","t1","getReader","Nn","ReadableStream","pull","close","enqueue","t0","highWaterMark","Fn","Request","Response","Dn","$n","TextEncoder","arrayBuffer","Un","zn","duplex","Bn","qn","stream","ERR_NOT_SUPPORT","In","Mn","getContentLength","Hn","$","U","fetchOptions","toAbortSignal","credentials","t2","Jn","http","xhr","Wn","Kn","Gn","Vn","throwIfRequested","Xn","Yn","Zn","ERR_DEPRECATED","console","warn","spelling","tr","assertOptions","ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","validators","er","nr","defaults","interceptors","_request","boolean","function","baseUrl","withXsrfToken","unshift","rr","promise","_listeners","token","ir","Continue","SwitchingProtocols","Processing","EarlyHints","Ok","Created","Accepted","NonAuthoritativeInformation","NoContent","ResetContent","PartialContent","MultiStatus","AlreadyReported","ImUsed","MultipleChoices","MovedPermanently","Found","SeeOther","NotModified","UseProxy","Unused","TemporaryRedirect","PermanentRedirect","BadRequest","Unauthorized","PaymentRequired","Forbidden","NotFound","MethodNotAllowed","NotAcceptable","ProxyAuthenticationRequired","RequestTimeout","Conflict","Gone","LengthRequired","PreconditionFailed","PayloadTooLarge","UriTooLong","UnsupportedMediaType","RangeNotSatisfiable","ExpectationFailed","ImATeapot","MisdirectedRequest","UnprocessableEntity","Locked","FailedDependency","TooEarly","UpgradeRequired","PreconditionRequired","TooManyRequests","RequestHeaderFieldsTooLarge","UnavailableForLegalReasons","InternalServerError","NotImplemented","BadGateway","ServiceUnavailable","GatewayTimeout","HttpVersionNotSupported","VariantAlsoNegotiates","InsufficientStorage","LoopDetected","NotExtended","NetworkAuthenticationRequired","Axios","CanceledError","CancelToken","isCancel","VERSION","toFormData","AxiosError","Cancel","all","spread","isAxiosError","mergeConfig","AxiosHeaders","formToJSON","getAdapter","HttpStatusCode","default","ar","axiosInstance","use","error","sr","debug","startsWith","orders","places","drivers","vehicles","vendors","contacts","serviceAreas","zones","fleets","organizations","StorefrontStore","Store","super","extendStoreActions","classify","formatCurrency","amount","currency","currencyDisplay","Intl","NumberFormat","style","format","isEmpty","obj","none","objectType","StorefrontResource","Resource","register","reviewActions","StoreActions","count","storeId","Review","getMedia","getPhotos","getVideos","media","millisecondsInWeek","constructFromSymbol","for","constructFrom","date","toDate","argument","context","addDays","_date","in","NaN","setDate","getDate","defaultOptions","getDefaultOptions","startOfWeek","weekStartsOn","locale","day","getDay","diff","setHours","startOfISOWeek","getISOWeekYear","year","getFullYear","fourthOfJanuaryOfNextYear","setFullYear","startOfNextYear","fourthOfJanuaryOfThisYear","startOfThisYear","getTime","getTimezoneOffsetInMilliseconds","utcDate","UTC","getMonth","getHours","getMinutes","getSeconds","getMilliseconds","setUTCFullYear","startOfDay","differenceInCalendarDays","laterDate","earlierDate","laterDate_","earlierDate_","dates","find","normalizeDates","laterStartOfDay","earlierStartOfDay","laterTimestamp","earlierTimestamp","isValid","formatDistanceLocale","lessThanXSeconds","one","other","xSeconds","halfAMinute","lessThanXMinutes","xMinutes","aboutXHours","xHours","xDays","aboutXWeeks","xWeeks","aboutXMonths","xMonths","aboutXYears","xYears","overXYears","almostXYears","buildFormatLongFn","args","width","defaultWidth","formats","formatLong","full","long","medium","short","time","dateTime","formatRelativeLocale","lastWeek","yesterday","today","tomorrow","nextWeek","buildLocalizeFn","valuesArray","formattingValues","defaultFormattingWidth","argumentCallback","buildMatchFn","string","matchPattern","matchPatterns","defaultMatchWidth","matchResult","matchedString","parsePatterns","defaultParseWidth","array","predicate","findIndex","pattern","object","valueCallback","rest","enUS","formatDistance","result","tokenValue","addSuffix","comparison","formatRelative","_baseDate","_options","localize","ordinalNumber","dirtyNumber","rem100","era","narrow","abbreviated","wide","quarter","month","dayPeriod","am","pm","midnight","noon","morning","afternoon","evening","night","parsePattern","parseResult","any","index","firstWeekContainsDate","getDayOfYear","date_","startOfYear","getISOWeek","fourthOfJanuary","startOfISOWeekYear","getWeekYear","firstWeekOfNextYear","firstWeekOfThisYear","getWeek","firstWeek","startOfWeekYear","addLeadingZeros","targetLength","abs","padStart","lightFormatters","signedYear","dayPeriodEnumValue","H","numberOfDigits","milliseconds","trunc","pow","dayPeriodEnum","formatters","unit","signedWeekYear","weekYear","ceil","week","isoWeek","dayOfYear","dayOfWeek","localDayOfWeek","isoDayOfWeek","hours","K","_localize","timezoneOffset","getTimezoneOffset","formatTimezoneWithOptionalMinutes","formatTimezone","formatTimezoneShort","offset","delimiter","sign","absOffset","minutes","dateLongFormatter","timeLongFormatter","longFormatters","datePattern","timePattern","dateTimeFormat","dayOfYearTokenRE","weekYearTokenRE","throwTokens","isProtectedDayOfYearToken","isProtectedWeekYearToken","warnOrThrowProtectedError","input","_message","subject","RangeError","formattingTokensRegExp","longFormattingTokensRegExp","escapedStringRegExp","doubleQuoteRegExp","unescapedLatinCharacterRegExp","formatStr","defaultLocale","originalDate","parts","firstCharacter","longFormatter","isToken","cleanEscapedString","preprocessor","formatterOptions","part","formatter","matched","Setter","subPriority","validate","_utcDate","ValueSetter","validateValue","setValue","priority","flags","DateTimezoneSetter","reference","timestampIsSet","isConstructor","transpose","Parser","run","dateString","setter","_value","numericPatterns","timezonePatterns","mapValue","parseFnResult","mapFn","parseNumericPattern","parseTimezonePattern","parseAnyDigitsSigned","parseNDigits","parseNDigitsSigned","dayPeriodEnumToHours","normalizeTwoDigitYear","twoDigitYear","currentYear","isCommonEra","absCurrentYear","rangeEnd","isLeapYearIndex","DAYS_IN_MONTH","DAYS_IN_MONTH_LEAP_YEAR","setDay","currentDay","delta","setISODay","getISODay","parsers","incompatibleTokens","isTwoDigitYear","normalizedTwoDigitYear","_flags","firstWeekOfYear","setMonth","setWeek","setISOWeek","isLeapYear","subpriority","wholeWeekDays","isPM","setMinutes","setSeconds","setMilliseconds","notWhitespaceRegExp","dateStr","referenceDate","invalidDate","getInternalDefaultOptions","subFnOptions","setters","tokens","usedTokens","parser","incompatibleToken","usedToken","fullToken","uniquePrioritySetters","setterArray","StoreHour","isClosed","is24Hours","startDateInstance","end","endDateInstance","includesSeconds","humanReadableHoursRange","humanReadableHours","reload","StoreLocation","Collection","storeData","embeddedStore","legacyStore","public_id","merchant","isAlwaysOpen","hour","schedule","PaymentGateway","isCashGateway","isStripeGateway","isQPayGateway","setCheckoutToken","getCheckoutToken","getReviews","reviews","getTags","getLocations","storeLocations","Place","getLocation","getPaymentGateways","gateways","getPaymentGateway","Product","variants","addons","images","videos","isOnSale","isNotOnSale","formattedAmount","price","sale_price","Category","getProducts","category","products","customerActions","isPhone","loginWithApple","appleUserId","identityToken","authorizationCode","email","loginWithFacebook","facebookUserId","avatarUrl","loginWithGoogle","idToken","clientId","requestCreationCode","Customer","undefined","platform","performAuthorizedRequest","endpoint","requestOptions","getSavedPlaces","getOrderHistory","Order","getStripeEphemeralKey","getStripeSetupIntent","startAccountClosure","confirmAccountClosure","requestPhoneVerification","verifyPhoneNumber","updateContactAlias","cartActions","findAll","query","queryRecord","productId","quantity","cartItemId","empty","Cart","refresh","subtotal","contents","cartItem","items","hasProduct","product_id","isNotEmpty","Network","getResourceCollection","ResourceClass","getStores","getStoreLocations","getCategories","with_store","lookupStore","DeliveryServiceQuote","ServiceQuote","finalAttributes","finalAdapter","Adapter","fromCart","fetchServiceQuotesFromCart","destination","cart","serviceQuotes","serviceQuote","getFromCart","FleetbaseOrder","checkoutActions","initialize","customer","gateway","orderOptions","isResource","captureOrder","orderJson","createStripeSetupIntent","updateStripePaymentIntent","paymentIntent","getStatus","checkout","captureQPay","captureQPayCallback","Checkout","FoodTruck","idFor","orderActions","completePickup","order","getReceipt","Storefront","categories","foodTrucks","customers","storeKey","detectAdapter","initializeStores","about","hydrateOwner","getOwner","lookupResource","is_network","newInstance"],"mappings":"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","x_google_ignoreList":[0,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86]} \ No newline at end of file +{"version":3,"file":"@storefront.min.js","sources":["../node_modules/.pnpm/@fleetbase+sdk@2.0.0/node_modules/@fleetbase/sdk/dist/index.js","../src/store.ts","../src/utils/format-currency.ts","../src/utils/is-empty.ts","../src/resource.ts","../src/resources/review.ts","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/constants.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/constructFrom.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/toDate.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/addDays.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/_lib/defaultOptions.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/startOfWeek.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/startOfISOWeek.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/getISOWeekYear.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/_lib/getTimezoneOffsetInMilliseconds.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/startOfDay.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/differenceInCalendarDays.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/_lib/normalizeDates.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/isValid.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/isDate.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/locale/en-US/_lib/formatDistance.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/locale/_lib/buildFormatLongFn.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/locale/en-US/_lib/formatLong.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/locale/en-US/_lib/formatRelative.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/locale/_lib/buildLocalizeFn.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/locale/_lib/buildMatchFn.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/locale/_lib/buildMatchPatternFn.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/locale/en-US.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/locale/en-US/_lib/localize.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/locale/en-US/_lib/match.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/getDayOfYear.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/startOfYear.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/getISOWeek.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/startOfISOWeekYear.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/getWeekYear.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/getWeek.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/startOfWeekYear.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/_lib/addLeadingZeros.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/_lib/format/lightFormatters.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/_lib/format/formatters.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/_lib/format/longFormatters.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/_lib/protectedTokens.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/format.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/parse/_lib/Setter.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/transpose.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/parse/_lib/Parser.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/parse/_lib/constants.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/parse/_lib/utils.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/parse/_lib/parsers/DateParser.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/setDay.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/setISODay.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/getISODay.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/parse/_lib/parsers.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/parse/_lib/parsers/EraParser.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/parse/_lib/parsers/YearParser.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/parse/_lib/parsers/LocalWeekYearParser.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/parse/_lib/parsers/ISOWeekYearParser.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/parse/_lib/parsers/ExtendedYearParser.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/parse/_lib/parsers/QuarterParser.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/parse/_lib/parsers/StandAloneQuarterParser.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/parse/_lib/parsers/MonthParser.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/parse/_lib/parsers/StandAloneMonthParser.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/parse/_lib/parsers/LocalWeekParser.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/setWeek.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/parse/_lib/parsers/ISOWeekParser.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/setISOWeek.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/parse/_lib/parsers/DayOfYearParser.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/parse/_lib/parsers/DayParser.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/parse/_lib/parsers/LocalDayParser.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/parse/_lib/parsers/StandAloneLocalDayParser.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/parse/_lib/parsers/ISODayParser.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/parse/_lib/parsers/AMPMParser.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/parse/_lib/parsers/AMPMMidnightParser.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/parse/_lib/parsers/DayPeriodParser.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/parse/_lib/parsers/Hour1to12Parser.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/parse/_lib/parsers/Hour0to23Parser.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/parse/_lib/parsers/Hour0To11Parser.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/parse/_lib/parsers/Hour1To24Parser.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/parse/_lib/parsers/MinuteParser.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/parse/_lib/parsers/SecondParser.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/parse/_lib/parsers/FractionOfSecondParser.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/parse/_lib/parsers/ISOTimezoneWithZParser.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/parse/_lib/parsers/ISOTimezoneParser.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/parse/_lib/parsers/TimestampSecondsParser.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/parse/_lib/parsers/TimestampMillisecondsParser.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/parse.js","../node_modules/.pnpm/date-fns@4.4.0/node_modules/date-fns/getDefaultOptions.js","../src/resources/store-hour.ts","../src/resources/store-location.ts","../src/resources/payment-gateway.ts","../src/resources/store.ts","../src/resources/product.ts","../src/resources/category.ts","../src/resources/customer.ts","../src/utils/is-phone.ts","../src/resources/cart.ts","../src/resources/network.ts","../src/resources/delivery-service-quote.ts","../src/utils/array.ts","../src/resources/order.ts","../src/resources/checkout.ts","../src/resources/food-truck.ts","../src/resources/order-actions.ts","../src/storefront.ts","../src/utils/is-key-valid.ts"],"sourcesContent":["class Adapter {\n version;\n host;\n namespace;\n headers;\n constructor(config = {}) {\n this.version = config.version ?? 'v1';\n this.host = config.host ?? null;\n this.namespace = config.namespace ?? null;\n this.headers = config.headers ?? {};\n }\n get(_path, _query = {}, _options = {}) {\n return Promise.reject(new Error('Adapter#get must be implemented.'));\n }\n post(_path, _data = {}, _options = {}) {\n return Promise.reject(new Error('Adapter#post must be implemented.'));\n }\n put(_path, _data = {}, _options = {}) {\n return Promise.reject(new Error('Adapter#put must be implemented.'));\n }\n patch(_path, _data = {}, _options = {}) {\n return Promise.reject(new Error('Adapter#patch must be implemented.'));\n }\n delete(_path, _options = {}, _legacyOptions) {\n return Promise.reject(new Error('Adapter#delete must be implemented.'));\n }\n}\n\nclass FleetbaseError extends Error {\n status;\n code;\n response;\n requestId;\n constructor(message, options = {}) {\n super(message, options.cause === undefined ? undefined : { cause: options.cause });\n this.name = 'FleetbaseError';\n this.status = options.status;\n this.code = options.code;\n this.response = options.response;\n this.requestId = options.requestId;\n }\n}\n\nfunction buildUrl(config, path, override) {\n if (override) {\n return override;\n }\n const host = (config.host ?? '').replace(/\\/$/, '');\n const namespace = (config.namespace ?? '').replace(/^\\/+|\\/+$/g, '');\n const cleanPath = path.replace(/^\\//, '');\n return [host, namespace, cleanPath].filter(Boolean).join('/');\n}\nfunction appendQuery(url, query = {}) {\n const entries = Object.entries(query);\n if (entries.length === 0) {\n return url;\n }\n const params = new URLSearchParams();\n for (const [key, rawValue] of entries) {\n const values = Array.isArray(rawValue) ? rawValue : [rawValue];\n for (const value of values) {\n if (value === null || value === undefined) {\n continue;\n }\n if (value instanceof Date) {\n params.append(key, value.toISOString());\n }\n else if (typeof value === 'object') {\n params.append(key, JSON.stringify(value));\n }\n else {\n params.append(key, String(value));\n }\n }\n }\n const serialized = params.toString();\n if (!serialized) {\n return url;\n }\n return `${url}${url.includes('?') ? '&' : '?'}${serialized}`;\n}\nfunction errorMessage(payload, fallback) {\n if (payload && typeof payload === 'object') {\n const body = payload;\n if (Array.isArray(body.errors) && typeof body.errors[0] === 'string') {\n return body.errors[0];\n }\n if (typeof body.error === 'string') {\n return body.error;\n }\n if (typeof body.message === 'string') {\n return body.message;\n }\n }\n return typeof payload === 'string' && payload ? payload : fallback;\n}\nasync function parseResponse(response) {\n if (response.status === 204 || response.status === 205) {\n return null;\n }\n const text = await response.text();\n if (!text) {\n return null;\n }\n try {\n return JSON.parse(text);\n }\n catch {\n return text;\n }\n}\nasync function requestWithFetch(config, request) {\n const fetchImplementation = config.fetch ?? globalThis.fetch;\n if (typeof fetchImplementation !== 'function') {\n throw new FleetbaseError('No Fetch API implementation is available in this environment.', { code: 'FETCH_UNAVAILABLE' });\n }\n const options = request.options ?? {};\n const baseUrl = buildUrl(config, request.path, options.url);\n const url = appendQuery(baseUrl, request.query);\n const headers = new Headers(config.headers);\n new Headers(options.headers).forEach((value, key) => headers.set(key, value));\n const init = { ...options, method: request.method, headers };\n if (request.data !== undefined && request.method !== 'GET' && request.method !== 'HEAD') {\n init.body = typeof request.data === 'string' || request.data instanceof FormData || request.data instanceof URLSearchParams ? request.data : JSON.stringify(request.data);\n }\n delete init.url;\n let response;\n try {\n response = await fetchImplementation(url, init);\n }\n catch (cause) {\n throw new FleetbaseError('Unable to reach the Fleetbase API.', { code: 'NETWORK_ERROR', cause });\n }\n const payload = await parseResponse(response);\n if (!response.ok) {\n const requestId = response.headers.get('x-request-id') ?? undefined;\n const body = payload && typeof payload === 'object' ? payload : undefined;\n throw new FleetbaseError(errorMessage(payload, response.statusText || `HTTP ${response.status}`), {\n status: response.status,\n code: typeof body?.code === 'string' ? body.code : 'HTTP_ERROR',\n response: payload,\n ...(requestId ? { requestId } : {}),\n });\n }\n return payload;\n}\n\nclass BrowserAdapter extends Adapter {\n fetchConfig;\n constructor(config = {}) {\n const headers = new Headers(config.headers);\n if (config.publicKey) {\n headers.set('Authorization', `Bearer ${config.publicKey}`);\n }\n if (!headers.has('Content-Type')) {\n headers.set('Content-Type', 'application/json');\n }\n const normalized = { ...config, host: config.host ?? '', headers: headerRecord(headers) };\n super(normalized);\n this.fetchConfig = normalized;\n }\n setHeaders(headers = {}) {\n const merged = new Headers(this.headers);\n new Headers(headers).forEach((value, key) => merged.set(key, value));\n this.headers = headerRecord(merged);\n return this;\n }\n async parseJSON(response) {\n try {\n return {\n statusText: response.statusText,\n status: response.status,\n ok: response.ok,\n json: await response.json(),\n };\n }\n catch (cause) {\n throw new Error('Oops! Something went wrong when handling your request.', { cause });\n }\n }\n /** Legacy interception point: data is a fetch envelope, not an API payload. */\n request(path, method = 'GET', data = {}, options = {}) {\n const { body, ...requestOptions } = data;\n return requestWithFetch({ ...this.fetchConfig, host: this.host, namespace: this.namespace ?? '', headers: this.headers }, { path, method, data: body, options: { ...requestOptions, ...options } });\n }\n get(path, query = {}, options = {}) {\n return this.request(appendQuery(path, query), 'GET', {}, options.url ? { ...options, url: appendQuery(options.url, query) } : options);\n }\n post(path, data = {}, options = {}) {\n return this.request(path, 'POST', { body: JSON.stringify(data) }, options);\n }\n put(path, data = {}, options = {}) {\n return this.request(path, 'PUT', { body: JSON.stringify(data) }, options);\n }\n patch(path, data = {}, options = {}) {\n return this.request(path, 'PATCH', { body: JSON.stringify(data) }, options);\n }\n delete(path, options = {}, legacyOptions) {\n return this.request(path, 'DELETE', {}, legacyOptions ?? options);\n }\n}\nfunction headerRecord(headers) {\n // Keep a spreadable bag and canonical casing so a subclass's Authorization\n // override replaces the configured credential instead of appending a second one.\n return Object.fromEntries(Array.from(headers, ([key, value]) => [key.replace(/(^|-)[a-z]/g, (part) => part.toUpperCase()), value]));\n}\n\nclass EmberJsAdapter extends BrowserAdapter {\n}\n\nclass NodeAdapter extends BrowserAdapter {\n constructor(config = {}) {\n const headers = new Headers(config.headers);\n if (!headers.has('User-Agent')) {\n headers.set('User-Agent', '@fleetbase/sdk;node');\n }\n super({ ...config, headers });\n }\n request(method, url, options = {}) {\n const { data, ...requestOptions } = options;\n return requestWithFetch(this.fetchConfig, { path: url, method, data, options: requestOptions });\n }\n post(path, data = {}, options = {}) {\n return this.request('POST', path, { ...options, data });\n }\n put(path, data = {}, options = {}) {\n return this.request('PUT', path, { ...options, data });\n }\n patch(path, data = {}, options = {}) {\n return this.request('PATCH', path, { ...options, data });\n }\n delete(path, options = {}, legacyOptions) {\n return this.request('DELETE', path, legacyOptions ?? options);\n }\n}\n\nconst isArray = Array.isArray;\nfunction isEmpty(value) {\n if (value === null || value === undefined) {\n return true;\n }\n if (typeof value !== 'function' && typeof value.length === 'number') {\n return value.length === 0;\n }\n if (typeof value.size === 'number') {\n return value.size === 0;\n }\n return false;\n}\nfunction isBlank(value) {\n return isEmpty(value) || (typeof value === 'string' && !/\\S/.test(value));\n}\nfunction isLatitude(value) {\n return typeof value !== 'symbol' && Number.isFinite(Number(value)) && Math.abs(Number(value)) <= 90;\n}\nfunction isLongitude(value) {\n return typeof value !== 'symbol' && Number.isFinite(Number(value)) && Math.abs(Number(value)) <= 180;\n}\nfunction isPhone(value = '') {\n return /^[+]?\\s*[0-9()./-][\\s0-9()./-]*$/.test(value);\n}\nfunction isEmail(value = '') {\n const at = value.indexOf('@');\n const dot = value.lastIndexOf('.');\n return !/\\s/.test(value) && at > 0 && dot > at + 1 && dot < value.length - 1;\n}\nfunction isNodeEnvironment() {\n const runtime = globalThis;\n return runtime.process?.release?.name === 'node' && !(typeof navigator !== 'undefined' && navigator.product === 'ReactNative');\n}\nfunction uuid() {\n if (typeof globalThis.crypto?.randomUUID === 'function') {\n return globalThis.crypto.randomUUID();\n }\n const segment = () => Math.floor((1 + Math.random()) * 0x10000)\n .toString(16)\n .slice(1);\n return `${segment()}${segment()}-${segment()}-4${segment().slice(1)}-a${segment().slice(1)}-${segment()}${segment()}${segment()}`;\n}\nfunction get(target, path) {\n const parts = Array.isArray(path) ? path : path.split('.');\n let current = target;\n for (let index = 0; index < parts.length; index += 1) {\n const part = parts[index];\n if (!part || current === null || current === undefined) {\n return null;\n }\n if (typeof current === 'function') {\n current = current();\n }\n if (isResourceLike(current) && part !== 'attributes') {\n current = current.attributes;\n }\n if (current === null || (typeof current !== 'object' && typeof current !== 'function') || !(part in current)) {\n return null;\n }\n current = current[part];\n }\n return typeof current === 'function' ? current() : current;\n}\nfunction set(target, path, value) {\n const parts = path.split('.').filter(Boolean);\n if (parts.some((part) => part === '__proto__' || part === 'prototype' || part === 'constructor')) {\n throw new TypeError('Unsafe object path.');\n }\n let current = target;\n for (const part of parts.slice(0, -1)) {\n if (!current[part] || typeof current[part] !== 'object') {\n Object.defineProperty(current, part, { configurable: true, enumerable: true, value: {}, writable: true });\n }\n current = current[part];\n }\n const final = parts.at(-1);\n if (final) {\n Object.defineProperty(current, final, { configurable: true, enumerable: true, value, writable: true });\n }\n return value;\n}\nfunction getProperties(target, properties = []) {\n return Object.fromEntries(properties.map((property) => [property, get(target, property)]));\n}\nfunction setProperties(target, properties = {}) {\n for (const [property, value] of Object.entries(properties)) {\n set(target, property, value);\n }\n return target;\n}\nfunction extend(target, ...sources) {\n Object.assign(target, ...sources);\n return target;\n}\nfunction isCallable(target, property) {\n return typeof target[property] === 'function';\n}\nfunction invoke(target, method) {\n const candidate = target[method];\n return typeof candidate === 'function' ? candidate.bind(target) : undefined;\n}\nfunction isResourceLike(value) {\n return Boolean(value && typeof value === 'object' && 'attributes' in value && typeof value.attributes === 'object');\n}\nclass Point {\n type = 'Point';\n coordinates;\n constructor(latitude = 0, longitude = 0) {\n this.coordinates = [longitude, latitude];\n }\n get latitude() {\n return this.coordinates[1];\n }\n get longitude() {\n return this.coordinates[0];\n }\n lat() {\n return this.latitude;\n }\n lng() {\n return this.longitude;\n }\n static fromGeoJson(json) {\n return new Point(json.coordinates[1], json.coordinates[0]);\n }\n serialize() {\n return { type: this.type, coordinates: [...this.coordinates] };\n }\n toJson() {\n return this.serialize();\n }\n toString() {\n return `(${this.latitude}, ${this.longitude})`;\n }\n}\nclass GoogleAddress {\n place;\n geometry;\n components;\n attributes;\n constructor(place) {\n this.place = place;\n this.geometry = place.geometry;\n this.components = this.parseComponents();\n this.attributes = this.parseProperties();\n }\n parse() {\n this.components = this.parseComponents();\n this.attributes = this.parseProperties();\n }\n parseComponents() {\n const result = {};\n for (const component of this.place.address_components ?? []) {\n for (const type of component.types) {\n result[type] = component;\n }\n }\n return result;\n }\n parseProperties() {\n const streetNumber = this.get('street_number');\n const streetName = this.get('route');\n return {\n streetNumber,\n streetName,\n address: [streetNumber, streetName].filter(Boolean).join(' '),\n coordinates: this.geometry?.location ? Object.values(this.geometry.location) : [0, 0],\n city: this.or(['locality', 'sublocality', 'sublocality_level_1', 'neighborhood', 'administrative_area_level_3', 'administrative_area_level_2']),\n county: this.get('administrative_area_level_2'),\n stateShort: this.get('administrative_area_level_1', true),\n stateLong: this.get('administrative_area_level_1'),\n countryShort: this.get('country', true),\n country: this.get('country', true),\n countryLong: this.get('country'),\n postalCode: this.get('postal_code'),\n };\n }\n all() {\n return this.attributes;\n }\n or(keys = []) {\n for (const key of keys) {\n const [name, short] = Array.isArray(key) ? key : [key, false];\n if (this.has(name)) {\n return this.get(name, short);\n }\n }\n return null;\n }\n has(key) {\n return key in this.components;\n }\n get(key, short = false) {\n const component = this.components[key];\n return component ? (short ? component.short_name : component.long_name) : null;\n }\n setAttributes(attributes = {}) {\n Object.assign(this.attributes, attributes);\n return this;\n }\n setAttribute(key, value) {\n this.attributes[key] = value;\n return this;\n }\n getAttribute(key) {\n return this.attributes[key] ?? null;\n }\n}\nfunction createGoogleAddress(place) {\n return new GoogleAddress(place);\n}\n\nfunction detectAdapter(config = {}) {\n return isNodeEnvironment() ? new NodeAdapter(config) : new BrowserAdapter(config);\n}\n\nfunction compare(left, right) {\n return left === right ? 0 : left == null ? -1 : right == null ? 1 : left < right ? -1 : 1;\n}\nfunction replace(array, start, deleteCount, items = []) {\n array.splice(start, deleteCount, ...items);\n}\nfunction uniqBy(array, key = (item) => item) {\n const seen = new Set();\n return array.filter((item) => {\n const value = typeof key === 'function' ? key(item) : get(item, String(key));\n if (seen.has(value)) {\n return false;\n }\n seen.add(value);\n return true;\n });\n}\nfunction isCollection(value) {\n return value instanceof Collection;\n}\nfunction objectAt(array, index) {\n return array[index];\n}\nfunction iter(key, value, hasValue = arguments.length === 2) {\n return hasValue ? (item) => item[key] === value : (item) => Boolean(item[key]);\n}\nclass Collection extends Array {\n static get [Symbol.species]() {\n return Array;\n }\n constructor(...items) {\n super();\n Object.setPrototypeOf(this, new.target.prototype);\n this.push(...(items.length === 1 && Array.isArray(items[0]) ? items[0] : items));\n }\n get notEmpty() {\n return this.length > 0;\n }\n get empty() {\n return this.length === 0;\n }\n get first() {\n return this[0];\n }\n get last() {\n return this[this.length - 1];\n }\n replace(start, deleteCount, items = []) {\n replace(this, start, deleteCount, items);\n return this;\n }\n objectsAt(indexes) {\n return indexes.map((index) => this[index]);\n }\n objectAt(index) {\n return this[index];\n }\n findBy(key, value) {\n return this.find(iter(key, value, arguments.length === 2));\n }\n findIndexBy(key, value) {\n return this.findIndex(iter(key, value, arguments.length === 2));\n }\n isEvery(key, value) {\n return this.every(iter(key, value, arguments.length === 2));\n }\n isAny(key, value) {\n return this.some(iter(key, value, arguments.length === 2));\n }\n invoke(methodName, ...args) {\n return this.map((item) => {\n const method = item[methodName];\n return typeof method === 'function' ? method.apply(item, args) : undefined;\n });\n }\n toArray() {\n return [...this];\n }\n compact() {\n return createCollection(this.filter((value) => value != null));\n }\n sortBy(...keys) {\n return this.sort((left, right) => {\n for (const key of keys) {\n const result = compare(left[key], right[key]);\n if (result)\n return result;\n }\n return 0;\n });\n }\n uniqBy(key) {\n return uniqBy(this, key);\n }\n without(value) {\n return this.includes(value) ? this.filter((item) => !Object.is(item, value)) : this;\n }\n clear() {\n this.splice(0);\n return this;\n }\n insertAt(index, item) {\n this.splice(index, 0, item);\n return this;\n }\n replaceAt(index, item) {\n return this.replace(index, 1, [item]);\n }\n removeAt(start, length = 1) {\n this.splice(start, length);\n return this;\n }\n pushObject(item) {\n return this.insertAt(this.length, item);\n }\n pushObjects(items) {\n return this.replace(this.length, 0, items);\n }\n popObject() {\n return this.pop() ?? null;\n }\n shiftObject() {\n return this.shift() ?? null;\n }\n unshiftObject(item) {\n this.unshift(item);\n return item;\n }\n unshiftObjects(items) {\n return this.replace(0, 0, items);\n }\n reverseObjects() {\n Array.prototype.reverse.call(this);\n return this;\n }\n setObjects(items) {\n return this.replace(0, this.length, items);\n }\n removeObject(item) {\n for (let index = this.length - 1; index >= 0; index -= 1) {\n if (Object.is(this[index], item))\n this.splice(index, 1);\n }\n return this;\n }\n removeObjects(items) {\n items.forEach((item) => this.removeObject(item));\n return this;\n }\n addObject(item) {\n if (!this.includes(item))\n this.push(item);\n return this;\n }\n addObjects(items) {\n items.forEach((item) => this.addObject(item));\n return this;\n }\n}\nfunction createCollection(...items) {\n return new Collection(...items);\n}\n\nconst UNCOUNTABLE = new Set(['equipment', 'information', 'rice', 'money', 'species', 'series', 'fish', 'sheep', 'moose', 'deer', 'news']);\nconst PLURAL_RULES = [\n [/(m)an$/gi, '$1en'],\n [/(pe)rson$/gi, '$1ople'],\n [/(child)$/gi, '$1ren'],\n [/^(ox)$/gi, '$1en'],\n [/(ax|test)is$/gi, '$1es'],\n [/(octop|vir)us$/gi, '$1i'],\n [/(alias|status)$/gi, '$1es'],\n [/(bu)s$/gi, '$1ses'],\n [/(buffal|tomat|potat)o$/gi, '$1oes'],\n [/([ti])um$/gi, '$1a'],\n [/sis$/gi, 'ses'],\n [/(?:([^f])fe|([lr])f)$/gi, '$1$2ves'],\n [/(hive)$/gi, '$1s'],\n [/([^aeiouy]|qu)y$/gi, '$1ies'],\n [/(x|ch|ss|sh)$/gi, '$1es'],\n [/(matr|vert|ind)ix|ex$/gi, '$1ices'],\n [/([m|l])ouse$/gi, '$1ice'],\n [/(quiz)$/gi, '$1zes'],\n [/s$/gi, 's'],\n [/$/gi, 's'],\n];\nconst SINGULAR_RULES = [\n [/(status)$/gi, '$1'],\n [/(m)en$/gi, '$1an'],\n [/(pe)ople$/gi, '$1rson'],\n [/(child)ren$/gi, '$1'],\n [/([ti])a$/gi, '$1um'],\n [/((a)naly|(b)a|(d)iagno|(p)arenthe|(p)rogno|(s)ynop|(t)he)ses$/gi, '$1$2sis'],\n [/(hive)s$/gi, '$1'],\n [/(tive)s$/gi, '$1'],\n [/(curve)s$/gi, '$1'],\n [/([lr])ves$/gi, '$1f'],\n [/([^fo])ves$/gi, '$1fe'],\n [/([^aeiouy]|qu)ies$/gi, '$1y'],\n [/(s)eries$/gi, '$1eries'],\n [/(m)ovies$/gi, '$1ovie'],\n [/(x|ch|ss|sh)es$/gi, '$1'],\n [/([m|l])ice$/gi, '$1ouse'],\n [/(bus)es$/gi, '$1'],\n [/(o)es$/gi, '$1'],\n [/(shoe)s$/gi, '$1'],\n [/(cris|ax|test)es$/gi, '$1is'],\n [/(octop|vir)i$/gi, '$1us'],\n [/(alias|status)es$/gi, '$1'],\n [/^(ox)en/gi, '$1'],\n [/(vert|ind)ices$/gi, '$1ex'],\n [/(matr)ices$/gi, '$1ix'],\n [/(quiz)zes$/gi, '$1'],\n [/s$/gi, ''],\n];\nconst NON_TITLE_CASED = new Set(['and', 'or', 'nor', 'a', 'an', 'the', 'so', 'but', 'to', 'of', 'at', 'by', 'from', 'into', 'on', 'onto', 'off', 'out', 'in', 'over', 'with', 'for']);\nclass FleetbaseString {\n str;\n chain;\n constructor(value = '', chain = true) {\n this.str = value == null ? '' : String(value);\n this.chain = chain;\n }\n get() {\n return this.str;\n }\n result(value) {\n this.str = value;\n return this.chain ? this : value;\n }\n rules(value, rules, override) {\n let result = override ?? value;\n if (!override && !UNCOUNTABLE.has(value.toLowerCase())) {\n const rule = rules.find(([pattern]) => pattern.test(value));\n if (rule) {\n result = value.replace(rule[0], rule[1]);\n }\n }\n return this.result(result);\n }\n pluralize(value = this.str, override = null) {\n return this.rules(value, PLURAL_RULES, override);\n }\n singularize(value = this.str, override = null) {\n return this.rules(value, SINGULAR_RULES, override);\n }\n camelize(value = this.str, lowFirstLetter = false) {\n const result = value\n .split('/')\n .map((segment) => segment\n .split('_')\n .map((part) => `${part.charAt(0).toUpperCase()}${part.slice(1)}`)\n .join(''))\n .join('::');\n return this.result(lowFirstLetter ? `${result.charAt(0).toLowerCase()}${result.slice(1)}` : result);\n }\n underscore(value = this.str) {\n return this.result(value\n .split('::')\n .map((part) => part.replace(/([A-Z])/g, '_$1').replace(/^_/, ''))\n .join('/')\n .toLowerCase());\n }\n humanize(value = this.str, lowFirstLetter = false) {\n const result = value\n .toLowerCase()\n .replace(/(_ids|_id)$/g, '')\n .replace(/_/g, ' ');\n return this.result(lowFirstLetter ? result : `${result.charAt(0).toUpperCase()}${result.slice(1)}`);\n }\n capitalize(value = this.str) {\n const lower = value.toLowerCase();\n return this.result(`${lower.charAt(0).toUpperCase()}${lower.slice(1)}`);\n }\n dasherize(value = this.str) {\n return this.result(value.replace(/[ _]/g, '-').toLowerCase());\n }\n normify(value = this.str, allFirstUpper = false) {\n const normalized = allFirstUpper ? underscore(camelize(value)) : value.toLowerCase();\n const words = normalized\n .replace(/_/g, ' ')\n .split(' ')\n .map((word) => word\n .split('-')\n .map((part) => (NON_TITLE_CASED.has(part.toLowerCase()) ? part : capitalize(part)))\n .join('-'));\n const result = words.join(' ');\n return this.result(`${result.charAt(0).toUpperCase()}${result.slice(1)}`);\n }\n demodulize(value = this.str) {\n return this.result(value.split('::').at(-1));\n }\n tableize(value = this.str) {\n return this.result(pluralize(underscore(value)));\n }\n classify(value = this.str) {\n const normalized = String(value)\n .trim()\n .replace(/[\\s_-]+/g, '_');\n return this.result(camelize(singularize(normalized)));\n }\n foreignKey(value = this.str, dropIdUnderscore = false) {\n return this.result(`${underscore(demodulize(value))}${dropIdUnderscore ? '' : '_'}id`);\n }\n ordinalize(value = this.str) {\n const result = value\n .split(' ')\n .map((part) => {\n if (!/^\\d+$/.test(part)) {\n return part;\n }\n const number = Number(part);\n const finalTwo = number % 100;\n const suffix = finalTwo >= 11 && finalTwo <= 13 ? 'th' : number % 10 === 1 ? 'st' : number % 10 === 2 ? 'nd' : number % 10 === 3 ? 'rd' : 'th';\n return `${part}${suffix}`;\n })\n .join(' ');\n return this.result(result);\n }\n static invoke(method, ...args) {\n const instance = new FleetbaseString('', false);\n const candidate = instance[method];\n if (typeof candidate !== 'function') {\n return null;\n }\n return String(candidate.apply(instance, args));\n }\n}\nconst pluralize = (value, override) => String(new FleetbaseString('', false).pluralize(value, override));\nconst singularize = (value, override) => String(new FleetbaseString('', false).singularize(value, override));\nconst humanize = (value, lowFirstLetter) => String(new FleetbaseString('', false).humanize(value, lowFirstLetter));\nconst underscore = (value) => String(new FleetbaseString('', false).underscore(value));\nconst camelize = (value, lowFirstLetter) => String(new FleetbaseString('', false).camelize(value, lowFirstLetter));\nconst capitalize = (value) => String(new FleetbaseString('', false).capitalize(value));\nconst dasherize = (value) => String(new FleetbaseString('', false).dasherize(value));\nconst normify = (value, allFirstUpper) => String(new FleetbaseString('', false).normify(value, allFirstUpper));\nconst demodulize = (value) => String(new FleetbaseString('', false).demodulize(value));\nconst tableize = (value) => String(new FleetbaseString('', false).tableize(value));\nconst classify = (value) => String(new FleetbaseString('', false).classify(value));\nconst foreignKey = (value, dropIdUnderscore) => String(new FleetbaseString('', false).foreignKey(value, dropIdUnderscore));\n\nconst registry = {\n resources: {},\n adapters: {},\n stores: {},\n actions: {},\n};\nfunction register(type, className, constructor) {\n const key = pluralize(type);\n registry[key] ??= {};\n registry[key][className] = constructor;\n}\nfunction create(type, className, ...params) {\n const key = pluralize(type);\n const bucket = registry[key];\n if (!bucket) {\n throw new Error(`Unknown type: ${singularize(type)}`);\n }\n const Constructor = bucket[className];\n if (!Constructor) {\n throw new Error(`No ${singularize(type)} named '${className}' registered.`);\n }\n const Factory = Constructor;\n return new Factory(...params);\n}\nfunction createStore$1(...params) {\n return create('store', 'Store', ...params);\n}\nfunction createAdapter(...params) {\n return create('adapter', 'Adapter', ...params);\n}\nfunction createResource(...params) {\n return create('resource', 'Resource', ...params);\n}\n\nclass Resolver {\n constructor(type, className, ...params) {\n return create(type, className, ...params);\n }\n lookup(type, className, ...params) {\n return create(type, className, ...params);\n }\n}\nfunction lookup(type, className, ...params) {\n return create(type, classify(className), ...params);\n}\nfunction resolve(type, className, ...params) {\n return lookup(type, className, ...params);\n}\nfunction resolveResource(className, ...params) {\n return lookup('resource', className, ...params);\n}\nfunction resolveAdapter(className, ...params) {\n return lookup('adapter', className, ...params);\n}\n\nfunction isStoreActions(value) {\n return value instanceof StoreActions;\n}\nfunction createStoreActions(name, ...params) {\n const actions = new StoreActions(...params);\n register('action', name, StoreActions);\n return actions;\n}\nclass StoreActions {\n actions;\n bind;\n constructor(actions = {}, bind = null) {\n this.actions = actions;\n this.bind = bind;\n }\n extend(binding = null) {\n const target = binding ?? this.bind;\n if (!target) {\n return this;\n }\n for (const [name, value] of Object.entries(this.actions)) {\n set(target, name, typeof value === 'function' ? value.bind(target) : value);\n }\n return this;\n }\n}\nfunction extendStoreActions(store, actions = []) {\n const list = Array.isArray(actions) ? actions : [actions];\n for (const action of list) {\n if (isStoreActions(action)) {\n action.extend(store);\n }\n }\n return store;\n}\n\nfunction afterFetch(store, json) {\n store.options.onAfterFetch?.(json);\n if (Array.isArray(json)) {\n return createCollection(json.map((item) => store.afterFetch(item)));\n }\n return store.deposit(store.serialize(json));\n}\nclass Store {\n resource;\n adapter;\n namespace;\n storage;\n options;\n constructor(resource, adapter, options = {}) {\n this.resource = resource;\n this.adapter = adapter ?? detectAdapter();\n this.namespace = pluralize(resource);\n this.storage = createCollection();\n this.options = options;\n this.extendActions(options.actions);\n }\n extendActions(actions = []) {\n extendStoreActions(this, actions);\n return this;\n }\n deposit(resourceInstance) {\n return resourceInstance;\n }\n serialize(json) {\n return lookup('resource', classify(this.resource), json, this.adapter);\n }\n afterFetch(json) {\n return afterFetch(this, json);\n }\n async create(attributes = {}, options = {}) {\n return this.afterFetch(await this.adapter.post(this.namespace, attributes, options));\n }\n async update(id, attributes = {}, options = {}) {\n return this.afterFetch(await this.adapter.put(`${this.namespace}/${String(id)}`, attributes, options));\n }\n async findRecord(id, options = {}) {\n return this.afterFetch(await this.adapter.get(`${this.namespace}/${String(id)}`, {}, options));\n }\n async findAll(options = {}) {\n return this.afterFetch(await this.adapter.get(this.namespace, {}, options));\n }\n async query(query = {}, options = {}) {\n return this.afterFetch(await this.adapter.get(this.namespace, query, options));\n }\n async queryRecord(query = {}, options = {}) {\n return this.afterFetch(await this.adapter.get(this.namespace, { ...query, single: true }, options));\n }\n async destroy(record, options = {}) {\n const id = isResourceLike(record) && typeof record.getAttribute === 'function' ? record.getAttribute('id') : record;\n return this.afterFetch(await this.adapter.delete(`${this.namespace}/${String(id)}`, {}, options));\n }\n}\nfunction createStore(...params) {\n return new Store(...params);\n}\nregister('store', 'Store', Store);\n\nfunction isResource(target) {\n return target instanceof Resource;\n}\nclass Resource {\n attributes;\n dirtyAttributes = {};\n changes = {};\n isLoading = false;\n isSaving = false;\n isDestroying = false;\n isReloading = false;\n resource;\n options;\n version;\n adapter;\n store;\n constructor(attributes = {}, adapter, resource = 'resource', options = {}) {\n this.attributes = attributes;\n this.resource = resource;\n this.options = options;\n this.version = options.version ?? 'v1';\n this.setAdapter(adapter);\n }\n setAdapter(adapter) {\n this.store = new Store(this.resource, adapter, {\n onAfterFetch: (json) => this.syncAttributes(json),\n ...(this.options.actions ? { actions: this.options.actions } : {}),\n });\n this.adapter = this.store.adapter;\n return this;\n }\n get id() {\n return this.getAttribute('id');\n }\n async create(attributes = {}) {\n this.setFlags(['isLoading', 'isSaving']);\n try {\n return await this.store.create(this.mergeAttributes(attributes));\n }\n finally {\n this.setFlags(['isLoading', 'isSaving'], false);\n }\n }\n async update(attributes = {}) {\n this.setFlags(['isLoading', 'isSaving']);\n try {\n return await this.store.update(this.attributes.id, attributes);\n }\n finally {\n this.setFlags(['isLoading', 'isSaving'], false);\n }\n }\n async destroy() {\n this.setFlags(['isLoading', 'isDestroying']);\n try {\n return await this.store.destroy(this.attributes.id);\n }\n finally {\n this.setFlags(['isLoading', 'isDestroying'], false);\n }\n }\n async reload() {\n this.setFlags(['isLoading', 'isReloading']);\n try {\n return await this.store.findRecord(this.attributes.id);\n }\n finally {\n this.setFlags(['isLoading', 'isReloading'], false);\n }\n }\n setFlags(flags = [], state = true) {\n const validFlags = ['isLoading', 'isSaving', 'isReloading', 'isDestroying'];\n for (const flag of flags) {\n if (!validFlags.includes(flag)) {\n throw new Error(`${String(flag)} is not a valid flag!`);\n }\n this[flag] = state;\n }\n return this;\n }\n reset() {\n this.dirtyAttributes = {};\n this.changes = {};\n this.setFlags(['isLoading', 'isSaving', 'isReloading', 'isDestroying'], false);\n return this;\n }\n empty() {\n this.reset();\n this.attributes = {};\n return this;\n }\n save(options = {}) {\n if (isEmpty(this.id)) {\n return this.create(this.getAttributes());\n }\n return options.onlyDirty === true ? this.saveDirty() : this.update(this.getAttributes());\n }\n saveDirty() {\n return this.update(this.getAttributes(Object.keys(this.dirtyAttributes)));\n }\n get meta() {\n return this.getAttribute('meta', {});\n }\n get createdAt() {\n const value = this.getAttribute('created_at');\n return this.isAttributeFilled('created_at') ? new Date(String(value)) : null;\n }\n get updatedAt() {\n const value = this.getAttribute('updated_at');\n return this.isAttributeFilled('updated_at') ? new Date(String(value)) : null;\n }\n get isLoaded() {\n return this.hasAttributes(['created_at', 'id']);\n }\n get isEmpty() {\n return Object.keys(this.attributes).length === 0;\n }\n get isNew() {\n return !this.id;\n }\n get isSaved() {\n return !this.isNew && this.isLoaded;\n }\n get isDeleted() {\n return this.hasAttributes(['deleted', 'time']);\n }\n eachAttribute(callback) {\n if (typeof callback !== 'function') {\n return this;\n }\n for (const property of Object.keys(this.attributes)) {\n callback.call(this, this.getAttribute(property), property);\n }\n return this;\n }\n getDirtyAttributes() {\n return this.dirtyAttributes;\n }\n isDirty(property) {\n return property in this.dirtyAttributes;\n }\n hasDirtyAttributes() {\n return Object.keys(this.dirtyAttributes).length > 0;\n }\n mutate(property, value) {\n set(this.attributes, property, value);\n }\n setAttribute(property, value = null) {\n if (typeof property === 'object') {\n return this.setAttributes(property);\n }\n const name = property;\n const previousValue = this.getAttribute(name);\n set(this.attributes, name, value);\n if (!(name in this.dirtyAttributes)) {\n set(this.dirtyAttributes, name, previousValue);\n }\n this.changes[name] ??= [];\n this.changes[name].push({ property: name, previousValue, value, changedAt: new Date() });\n return this;\n }\n setAttributes(attributes = {}) {\n for (const [property, value] of Object.entries(attributes)) {\n this.setAttribute(property, value);\n }\n return this;\n }\n getAttribute(attribute, defaultValue = null) {\n return get(this.attributes, attribute) ?? defaultValue;\n }\n hasAttribute(property) {\n if (Array.isArray(property)) {\n return property.every((name) => name in this.attributes);\n }\n return property in this.attributes;\n }\n hasAttributes(properties = []) {\n return this.hasAttribute(properties);\n }\n isAttributeFilled(property) {\n if (Array.isArray(property)) {\n return this.hasAttribute(property) && property.every((name) => !isEmpty(this.getAttribute(name)));\n }\n return this.hasAttribute(property) && !isEmpty(this.getAttribute(property));\n }\n getAttributes(properties) {\n if (typeof properties === 'string') {\n return this.getAttribute(properties);\n }\n const names = properties ?? Object.keys(this.attributes);\n return Object.fromEntries(names\n .filter((name) => typeof name === 'string')\n .map((name) => {\n const value = this.getAttribute(name);\n return [name, isResourceLike(value) ? value.attributes : value];\n }));\n }\n serialize() {\n return this.getAttributes();\n }\n mergeAttributes(attributes = {}) {\n this.attributes = { ...this.attributes, ...attributes };\n return this.attributes;\n }\n syncAttributes(json = {}) {\n if (json && typeof json === 'object' && !Array.isArray(json)) {\n this.attributes = json;\n }\n }\n}\nregister('resource', 'Resource', Resource);\nObject.defineProperty(Resource.prototype, 'changes', {\n configurable: true,\n value() {\n return this.changes;\n },\n});\n\nfunction callAction(store, name, ...args) {\n const candidate = store[name];\n if (typeof candidate !== 'function') {\n throw new Error(`Store action '${name}' is not available.`);\n }\n return Promise.resolve(candidate.apply(store, args));\n}\nfunction resourceId(value) {\n return isResource(value) ? value.id : value;\n}\nfunction serializeResources(Constructor, response, adapter) {\n if (Array.isArray(response)) {\n return createCollection(response.map((attributes) => new Constructor(attributes, adapter)));\n }\n return new Constructor(response, adapter);\n}\nclass Contact extends Resource {\n constructor(attributes = {}, adapter, options = {}) {\n super(attributes, adapter, 'contact', options);\n }\n}\nclass Entity extends Resource {\n constructor(attributes = {}, adapter, options = {}) {\n super(attributes, adapter, 'entity', options);\n }\n}\nclass Fleet extends Resource {\n constructor(attributes = {}, adapter, options = {}) {\n super(attributes, adapter, 'fleet', options);\n }\n}\nclass Vendor extends Resource {\n constructor(attributes = {}, adapter, options = {}) {\n super(attributes, adapter, 'vendor', options);\n }\n}\nconst vehicleActions = new StoreActions({\n /** `GET vehicles/{id}/trailers` — the trailers currently connected to a vehicle. */\n trailers(id, params = {}, options = {}) {\n return this.adapter.get(`${this.namespace}/${String(id)}/trailers`, params, options).then((response) => serializeResources(Trailer, response, this.adapter));\n },\n});\nclass Vehicle extends Resource {\n constructor(attributes = {}, adapter, options = {}) {\n super(attributes, adapter, 'vehicle', { actions: vehicleActions, ...options });\n }\n trailers(params = {}, options = {}) {\n return callAction(this.store, 'trailers', this.id, params, options);\n }\n}\nconst trailerActions = new StoreActions({\n /** `POST trailers/{id}/attach` — connect the trailer to a vehicle (`{ vehicle, connected_at?, source?, position? }`). */\n attach(id, params = {}, options = {}) {\n return this.adapter.post(`${this.namespace}/${String(id)}/attach`, params, options);\n },\n /** `POST trailers/{id}/detach` — disconnect the trailer from its vehicle (`{ disconnected_at?, notes? }`). */\n detach(id, params = {}, options = {}) {\n return this.adapter.post(`${this.namespace}/${String(id)}/detach`, params, options);\n },\n /** `GET trailers/{id}/connections` — the trailer's connection history. */\n connections(id, params = {}, options = {}) {\n return this.adapter.get(`${this.namespace}/${String(id)}/connections`, params, options);\n },\n /** `PATCH trailers/{id}/track` — record a position or telemetry update for the trailer. */\n track(id, params = {}, options = {}) {\n return this.adapter.patch(`${this.namespace}/${String(id)}/track`, params, options).then((response) => this.afterFetch(response));\n },\n});\nclass Trailer extends Resource {\n constructor(attributes = {}, adapter, options = {}) {\n super(attributes, adapter, 'trailer', { actions: trailerActions, ...options });\n }\n attach(params = {}, options = {}) {\n return callAction(this.store, 'attach', this.id, params, options);\n }\n detach(params = {}, options = {}) {\n return callAction(this.store, 'detach', this.id, params, options);\n }\n connections(params = {}, options = {}) {\n return callAction(this.store, 'connections', this.id, params, options);\n }\n track(params = {}, options = {}) {\n return callAction(this.store, 'track', this.id, params, options);\n }\n}\nconst manifestActions = new StoreActions({\n /** `POST manifests/{id}/optimize` — re-sequence the manifest's stops, optionally from `{ latitude, longitude }`. */\n optimize(id, params = {}, options = {}) {\n return this.adapter.post(`${this.namespace}/${String(id)}/optimize`, params, options).then((response) => this.afterFetch(response));\n },\n});\n/** A driver's route for the day. Read and run only: creating and cancelling manifests is dispatch work on the internal API. */\nclass Manifest extends Resource {\n constructor(attributes = {}, adapter, options = {}) {\n super(attributes, adapter, 'manifest', { actions: manifestActions, ...options });\n }\n optimize(params = {}, options = {}) {\n return callAction(this.store, 'optimize', this.id, params, options);\n }\n}\nconst manifestStopActions = new StoreActions({\n /** `PATCH manifest-stops/{id}` — advance a stop (`{ status: 'arrived' | 'completed' | 'skipped', meta? }`). Replaces the store's default `PUT`. */\n update(id, attributes = {}, options = {}) {\n return this.adapter.patch(`${this.namespace}/${String(id)}`, attributes, options).then((response) => this.afterFetch(response));\n },\n});\nclass ManifestStop extends Resource {\n constructor(attributes = {}, adapter, options = {}) {\n super(attributes, adapter, 'manifest-stop', { actions: manifestStopActions, ...options });\n }\n}\nclass FuelReport extends Resource {\n constructor(attributes = {}, adapter, options = {}) {\n super(attributes, adapter, 'fuel-report', options);\n }\n}\nclass Issue extends Resource {\n constructor(attributes = {}, adapter, options = {}) {\n super(attributes, adapter, 'issue', options);\n }\n}\nconst workOrderActions = new StoreActions({\n /** `POST work-orders/{id}/send` — send the work order to its assignee. */\n send(id, params = {}, options = {}) {\n return this.adapter.post(`${this.namespace}/${String(id)}/send`, params, options);\n },\n});\nclass WorkOrder extends Resource {\n constructor(attributes = {}, adapter, options = {}) {\n super(attributes, adapter, 'work-order', { actions: workOrderActions, ...options });\n }\n send(params = {}, options = {}) {\n return callAction(this.store, 'send', this.id, params, options);\n }\n}\nclass Zone extends Resource {\n constructor(attributes = {}, adapter, options = {}) {\n super(attributes, adapter, 'zone', options);\n }\n}\nclass ServiceArea extends Resource {\n constructor(attributes = {}, adapter, options = {}) {\n super(attributes, adapter, 'service-area', options);\n }\n}\nclass ServiceRate extends Resource {\n constructor(attributes = {}, adapter, options = {}) {\n super(attributes, adapter, 'service-rate', options);\n }\n}\nclass TrackingStatus extends Resource {\n constructor(attributes = {}, adapter, options = {}) {\n super(attributes, adapter, 'tracking-status', options);\n }\n}\nclass Place extends Resource {\n constructor(attributes = {}, adapter, options = {}, resource = 'place') {\n super(attributes, adapter, resource, options);\n }\n static fromGoogleAddress(googleAddress, adapter, options = {}) {\n const coordinates = googleAddress.getAttribute('coordinates');\n const latitude = Array.isArray(coordinates) ? Number(coordinates[0]) : 0;\n const longitude = Array.isArray(coordinates) ? Number(coordinates[1]) : 0;\n return new Place({\n name: null,\n address: googleAddress.getAttribute('address'),\n location: new Point(latitude, longitude),\n street1: googleAddress.getAttribute('address'),\n street2: null,\n city: googleAddress.getAttribute('city'),\n province: googleAddress.getAttribute('stateLong'),\n postal_code: googleAddress.getAttribute('postalCode'),\n neighborhood: googleAddress.get('neighborhood'),\n district: googleAddress.getAttribute('county'),\n building: googleAddress.get('building'),\n country: googleAddress.getAttribute('countryShort'),\n phone: null,\n security_access_code: null,\n }, adapter, options);\n }\n get latitude() {\n return this.location.coordinates[1];\n }\n get longitude() {\n return this.location.coordinates[0];\n }\n get coordinates() {\n return [this.latitude, this.longitude];\n }\n get location() {\n const value = this.getAttribute('location');\n if (value instanceof Point) {\n return value;\n }\n if (value && typeof value === 'object' && 'coordinates' in value) {\n const coordinates = value.coordinates;\n if (Array.isArray(coordinates)) {\n return Point.fromGeoJson({ coordinates: [Number(coordinates[0]), Number(coordinates[1])] });\n }\n }\n return new Point();\n }\n setOwner(owner) {\n const id = resourceId(owner);\n if (typeof id === 'string') {\n this.setAttribute('owner', id);\n }\n return this;\n }\n}\nclass Waypoint extends Place {\n constructor(attributes = {}, adapter, options = {}) {\n super(attributes, adapter, options, 'waypoint');\n }\n}\nclass Payload extends Resource {\n constructor(attributes = {}, adapter, options = {}) {\n super(attributes, adapter, 'payload', options);\n }\n attach(_entity) {\n }\n get entities() {\n const values = this.getAttribute('entities', []);\n return createCollection((Array.isArray(values) ? values : []).map((value) => new Entity(value, this.adapter)));\n }\n get dropoff() {\n const value = this.getAttribute('dropoff');\n return value && typeof value === 'object' ? new Place(value, this.adapter) : null;\n }\n get pickup() {\n const value = this.getAttribute('pickup');\n return value && typeof value === 'object' ? new Place(value, this.adapter) : null;\n }\n get waypoints() {\n const values = this.getAttribute('waypoints', []);\n return createCollection((Array.isArray(values) ? values : []).map((value) => new Waypoint(value, this.adapter)));\n }\n}\nconst organizationActions = new StoreActions({\n current(params = {}, options = {}) {\n return this.adapter.get(`${this.namespace}/current`, params, options);\n },\n});\nclass Organization extends Resource {\n constructor(attributes = {}, adapter, options = {}) {\n super(attributes, adapter, 'organization', { actions: organizationActions, ...options });\n }\n}\nfunction serializeOrganizations(response, adapter) {\n return Array.isArray(response) ? response.map((attributes) => new Organization(attributes, adapter)) : new Organization(response, adapter);\n}\nconst driverActions = new StoreActions({\n login(identity, password = null, attributes = {}) {\n if (isPhone(identity)) {\n return this.adapter.post('drivers/login-with-sms', { phone: identity });\n }\n if (!password) {\n throw new Error('Login requires password!');\n }\n return this.adapter.post('drivers/login', { identity, password, ...attributes }).then((response) => this.afterFetch(response));\n },\n verifyCode(identity, code, attributes = {}) {\n return this.adapter.post('drivers/verify-code', { identity, code, ...attributes }).then((response) => this.afterFetch(response));\n },\n track(id, params = {}, options = {}) {\n return this.adapter.post(`drivers/${String(id)}/track`, params, options).then((response) => this.afterFetch(response));\n },\n listOrganizations(id, params = {}, options = {}) {\n return this.adapter.get(`drivers/${String(id)}/organizations`, params, options).then((response) => serializeOrganizations(response, this.adapter));\n },\n switchOrganization(id, params = {}, options = {}) {\n return this.adapter.post(`drivers/${String(id)}/switch-organization`, params, options).then((response) => serializeOrganizations(response, this.adapter));\n },\n currentOrganization(id, params = {}, options = {}) {\n return this.adapter.get(`drivers/${String(id)}/current-organization`, params, options).then((response) => serializeOrganizations(response, this.adapter));\n },\n retrieve(id) {\n return this.findRecord(id);\n },\n syncDevice(id, params = {}, options = {}) {\n return this.adapter.post(`drivers/${String(id)}/register-device`, params, options);\n },\n /** `GET drivers/{id}/manifests` — the driver's manifests, filterable by `{ status?, on?, limit? }`. */\n manifests(id, params = {}, options = {}) {\n return this.adapter.get(`drivers/${String(id)}/manifests`, params, options).then((response) => serializeResources(Manifest, response, this.adapter));\n },\n /** `POST drivers/{id}/change-password` — requires proof of the current password. */\n changePassword(id, params = {}, options = {}) {\n return this.adapter.post(`drivers/${String(id)}/change-password`, params, options);\n },\n /** `POST drivers/forgot-password` — start a password reset for an identity. */\n forgotPassword(params = {}, options = {}) {\n return this.adapter.post('drivers/forgot-password', params, options);\n },\n /** `POST drivers/reset-password` — complete a password reset with the emailed code. */\n resetPassword(params = {}, options = {}) {\n return this.adapter.post('drivers/reset-password', params, options);\n },\n});\nclass Driver extends Resource {\n constructor(attributes = {}, adapter, options = {}) {\n super(attributes, adapter, 'driver', { actions: driverActions, ...options });\n }\n get token() {\n return this.getAttribute('token');\n }\n get isOnline() {\n return this.getAttribute('online') === true;\n }\n get latitude() {\n return this.location.coordinates[1];\n }\n get longitude() {\n return this.location.coordinates[0];\n }\n get coordinates() {\n return [this.latitude, this.longitude];\n }\n get location() {\n const value = this.getAttribute('location');\n if (value instanceof Point) {\n return value;\n }\n if (value && typeof value === 'object' && 'coordinates' in value) {\n const coordinates = value.coordinates;\n if (Array.isArray(coordinates) && coordinates.length >= 2 && isLongitude(coordinates[0]) && isLatitude(coordinates[1])) {\n return Point.fromGeoJson({ coordinates: [Number(coordinates[0]), Number(coordinates[1])] });\n }\n }\n return new Point();\n }\n track(params = {}, options = {}) {\n return callAction(this.store, 'track', this.id, params, options);\n }\n syncDevice(params = {}, options = {}) {\n return callAction(this.store, 'syncDevice', this.id, params, options);\n }\n listOrganizations(params = {}, options = {}) {\n return callAction(this.store, 'listOrganizations', this.id, params, options);\n }\n switchOrganization(organizationId, options = {}) {\n return callAction(this.store, 'switchOrganization', this.id, { next: organizationId }, options);\n }\n currentOrganization(params = {}, options = {}) {\n return callAction(this.store, 'currentOrganization', this.id, params, options);\n }\n manifests(params = {}, options = {}) {\n return callAction(this.store, 'manifests', this.id, params, options);\n }\n changePassword(params = {}, options = {}) {\n return callAction(this.store, 'changePassword', this.id, params, options);\n }\n}\nconst orderActions = new StoreActions({\n getDistanceAndTime(id, params = {}, options = {}) {\n return this.adapter.get(`${this.namespace}/${String(id)}/distance-and-time`, params, options);\n },\n getNextActivity(id, params = {}, options = {}) {\n return this.adapter.get(`${this.namespace}/${String(id)}/next-activity`, params, options);\n },\n dispatch(id, params = {}, options = {}) {\n return this.adapter.post(`${this.namespace}/${String(id)}/dispatch`, params, options).then((response) => this.afterFetch(response));\n },\n start(id, params = {}, options = {}) {\n return this.adapter.post(`${this.namespace}/${String(id)}/start`, params, options).then((response) => this.afterFetch(response));\n },\n updateActivity(id, params = {}, options = {}) {\n return this.adapter.post(`${this.namespace}/${String(id)}/update-activity`, params, options).then((response) => this.afterFetch(response));\n },\n setDestination(id, destination, params = {}, options = {}) {\n return this.adapter.post(`${this.namespace}/${String(id)}/set-destination/${String(resourceId(destination))}`, params, options).then((response) => this.afterFetch(response));\n },\n captureQrCode(id, subject = null, params = {}, options = {}) {\n const subjectId = resourceId(subject);\n return this.adapter.post(`${this.namespace}/${String(id)}/capture-qr${subjectId ? `/${String(subjectId)}` : ''}`, params, options);\n },\n captureSignature(id, subject = null, params = {}, options = {}) {\n const subjectId = resourceId(subject);\n return this.adapter.post(`${this.namespace}/${String(id)}/capture-signature${subjectId ? `/${String(subjectId)}` : ''}`, params, options);\n },\n complete(id, params = {}, options = {}) {\n return this.adapter.post(`${this.namespace}/${String(id)}/complete`, params, options).then((response) => this.afterFetch(response));\n },\n cancel(id, params = {}, options = {}) {\n return this.adapter.delete(`${this.namespace}/${String(id)}/cancel`, params, options).then((response) => this.afterFetch(response));\n },\n});\nclass Order extends Resource {\n constructor(attributes = {}, adapter, options = {}) {\n super(attributes, adapter, 'order', { actions: orderActions, ...options });\n }\n getDistanceAndTime(params = {}, options = {}) {\n return callAction(this.store, 'getDistanceAndTime', this.id, params, options);\n }\n dispatch(params = {}, options = {}) {\n return callAction(this.store, 'dispatch', this.id, params, options);\n }\n start(params = {}, options = {}) {\n return callAction(this.store, 'start', this.id, params, options);\n }\n setDestination(destination, params = {}, options = {}) {\n return callAction(this.store, 'setDestination', this.id, destination, params, options);\n }\n captureQrCode(subject = null, params = {}, options = {}) {\n return callAction(this.store, 'captureQrCode', this.id, subject, params, options);\n }\n captureSignature(subject = null, params = {}, options = {}) {\n return callAction(this.store, 'captureSignature', this.id, subject, params, options);\n }\n getNextActivity(params = {}, options = {}) {\n return callAction(this.store, 'getNextActivity', this.id, params, options);\n }\n updateActivity(params = {}, options = {}) {\n return callAction(this.store, 'updateActivity', this.id, params, options);\n }\n cancel(params = {}, options = {}) {\n return callAction(this.store, 'cancel', this.id, params, options);\n }\n complete(params = {}, options = {}) {\n return callAction(this.store, 'complete', this.id, params, options);\n }\n get isDispatched() {\n return this.getAttribute('dispatched_at') !== null;\n }\n get isNotDispatched() {\n return this.getAttribute('dispatched_at') === null;\n }\n get isStarted() {\n return this.getAttribute('started_at') !== null;\n }\n get isNotStarted() {\n return this.getAttribute('started_at') === null;\n }\n get isCompleted() {\n return this.getAttribute('status') === 'completed';\n }\n get isCanceled() {\n return this.getAttribute('status') === 'canceled';\n }\n get isEnroute() {\n return ['driver_enroute', 'enroute'].includes(String(this.getAttribute('status')));\n }\n get isInProgress() {\n return this.isStarted && !this.isCanceled && !this.isCompleted;\n }\n get scheduledAt() {\n return this.dateAttribute('scheduled_at');\n }\n get startedAt() {\n return this.dateAttribute('started_at');\n }\n get dispatchedAt() {\n return this.dateAttribute('dispatched_at');\n }\n get status() {\n return this.getAttribute('status');\n }\n dateAttribute(name) {\n return this.isAttributeFilled(name) ? new Date(String(this.getAttribute(name))) : null;\n }\n}\nconst serviceQuoteActions = new StoreActions({\n fromPayload(payload, params = {}) {\n return this.adapter.get(this.namespace, { payload: resourceId(payload), ...params }).then((response) => this.afterFetch(response));\n },\n fromPreliminary(params = {}) {\n return this.adapter.get(`${this.namespace}/preliminary`, params).then((response) => this.afterFetch(response));\n },\n});\nclass ServiceQuote extends Resource {\n constructor(attributes = {}, adapter, options = {}) {\n super(attributes, adapter, 'service-quote', { actions: serviceQuoteActions, ...options });\n }\n fromPreliminary(params = {}) {\n return callAction(this.store, 'fromPreliminary', params);\n }\n fromPayload(payload, params = {}) {\n return callAction(this.store, 'fromPayload', payload, params);\n }\n}\nfor (const [name, constructor] of Object.entries({\n Contact,\n Driver,\n Entity,\n Fleet,\n FuelReport,\n Issue,\n Manifest,\n ManifestStop,\n Order,\n Organization,\n Payload,\n Place,\n ServiceArea,\n ServiceQuote,\n ServiceRate,\n TrackingStatus,\n Trailer,\n Vehicle,\n Vendor,\n Waypoint,\n WorkOrder,\n Zone,\n})) {\n register('resource', name, constructor);\n}\n\nclass Fleetbase {\n version;\n options;\n adapter;\n orders;\n entities;\n places;\n drivers;\n vehicles;\n vendors;\n contacts;\n serviceAreas;\n serviceQuotes;\n zones;\n fleets;\n organizations;\n manifests;\n manifestStops;\n trailers;\n fuelReports;\n issues;\n workOrders;\n constructor(publicKey, config = {}, debug = false) {\n if (typeof publicKey !== 'string' || publicKey.length === 0) {\n throw new Error('⚠️ Invalid public key given to Fleetbase SDK');\n }\n if (!isNodeEnvironment() && publicKey.toLowerCase().startsWith('$')) {\n throw new Error('Secret key provided. You must use a public key with Fleetbase Javascript SDK!');\n }\n this.version = config.version ?? 'v1';\n this.options = {\n ...config,\n version: this.version,\n host: config.host ?? 'https://api.fleetbase.io',\n namespace: config.namespace ?? this.version,\n debug,\n publicKey,\n };\n this.adapter = config.adapter ?? detectAdapter(this.options);\n this.orders = new Store('order', this.adapter).extendActions(orderActions);\n this.entities = new Store('entity', this.adapter);\n this.places = new Store('place', this.adapter);\n this.drivers = new Store('driver', this.adapter).extendActions(driverActions);\n this.vehicles = new Store('vehicle', this.adapter).extendActions(vehicleActions);\n this.vendors = new Store('vendor', this.adapter);\n this.contacts = new Store('contact', this.adapter);\n this.serviceAreas = new Store('service-area', this.adapter);\n this.serviceQuotes = new Store('service-quote', this.adapter).extendActions(serviceQuoteActions);\n this.zones = new Store('zone', this.adapter);\n this.fleets = new Store('fleet', this.adapter);\n this.organizations = new Store('organization', this.adapter).extendActions(organizationActions);\n this.manifests = new Store('manifest', this.adapter).extendActions(manifestActions);\n this.manifestStops = new Store('manifest-stop', this.adapter).extendActions(manifestStopActions);\n this.trailers = new Store('trailer', this.adapter).extendActions(trailerActions);\n this.fuelReports = new Store('fuel-report', this.adapter);\n this.issues = new Store('issue', this.adapter);\n this.workOrders = new Store('work-order', this.adapter).extendActions(workOrderActions);\n }\n static newInstance(...params) {\n return new Fleetbase(...params);\n }\n setAdapter(adapter) {\n this.adapter = adapter;\n for (const store of this.stores()) {\n store.adapter = adapter;\n }\n }\n getAdapter() {\n return this.adapter;\n }\n stores() {\n return [\n this.orders,\n this.entities,\n this.places,\n this.drivers,\n this.vehicles,\n this.vendors,\n this.contacts,\n this.serviceAreas,\n this.serviceQuotes,\n this.zones,\n this.fleets,\n this.organizations,\n this.manifests,\n this.manifestStops,\n this.trailers,\n this.fuelReports,\n this.issues,\n this.workOrders,\n ];\n }\n}\n\nregister('adapter', 'Adapter', Adapter);\nregister('adapter', 'BrowserAdapter', BrowserAdapter);\nregister('adapter', 'NodeAdapter', NodeAdapter);\nregister('adapter', 'EmberJsAdapter', EmberJsAdapter);\n\nexport { Adapter, BrowserAdapter, Collection, Contact, Driver, EmberJsAdapter, Entity, Fleet, Fleetbase, FleetbaseError, FuelReport, GoogleAddress, Issue, Manifest, ManifestStop, NodeAdapter, Order, Organization, Payload, Place, Point, Resolver, Resource, ServiceArea, ServiceQuote, ServiceRate, Store, StoreActions, TrackingStatus, Trailer, Vehicle, Vendor, Waypoint, WorkOrder, Zone, afterFetch, camelize, capitalize, classify, create, createAdapter, createCollection, createGoogleAddress, createResource, createStore$1 as createStore, createStoreActions, createStore as createStoreInstance, dasherize, Fleetbase as default, demodulize, detectAdapter, driverActions, extend, extendStoreActions, foreignKey, get, getProperties, humanize, invoke, isArray, isBlank, isCallable, isCollection, isEmail, isEmpty, isLatitude, isLongitude, isNodeEnvironment, isPhone, isResource, isStoreActions, iter, lookup, manifestActions, manifestStopActions, normify, objectAt, orderActions, organizationActions, pluralize, register, registry, replace, resolve, resolveAdapter, resolveResource, serviceQuoteActions, set, setProperties, singularize, tableize, trailerActions, underscore, uniqBy, uuid, vehicleActions, workOrderActions };\n//# sourceMappingURL=index.js.map\n",null,null,null,null,null,"/**\n * @module constants\n * @summary Useful constants\n * @description\n * Collection of useful date constants.\n *\n * The constants could be imported from `date-fns/constants`:\n *\n * ```ts\n * import { maxTime, minTime } from \"./constants/date-fns/constants\";\n *\n * function isAllowedTime(time) {\n * return time <= maxTime && time >= minTime;\n * }\n * ```\n */\n\n/**\n * @constant\n * @name daysInWeek\n * @summary Days in 1 week.\n */\nexport const daysInWeek = 7;\n\n/**\n * @constant\n * @name daysInYear\n * @summary Days in 1 year.\n *\n * @description\n * How many days in a year.\n *\n * One years equals 365.2425 days according to the formula:\n *\n * > Leap year occurs every 4 years, except for years that are divisible by 100 and not divisible by 400.\n * > 1 mean year = (365+1/4-1/100+1/400) days = 365.2425 days\n */\nexport const daysInYear = 365.2425;\n\n/**\n * @constant\n * @name maxTime\n * @summary Maximum allowed time.\n *\n * @example\n * import { maxTime } from \"./constants/date-fns/constants\";\n *\n * const isValid = 8640000000000001 <= maxTime;\n * //=> false\n *\n * new Date(8640000000000001);\n * //=> Invalid Date\n */\nexport const maxTime = Math.pow(10, 8) * 24 * 60 * 60 * 1000;\n\n/**\n * @constant\n * @name minTime\n * @summary Minimum allowed time.\n *\n * @example\n * import { minTime } from \"./constants/date-fns/constants\";\n *\n * const isValid = -8640000000000001 >= minTime;\n * //=> false\n *\n * new Date(-8640000000000001)\n * //=> Invalid Date\n */\nexport const minTime = -maxTime;\n\n/**\n * @constant\n * @name millisecondsInWeek\n * @summary Milliseconds in 1 week.\n */\nexport const millisecondsInWeek = 604800000;\n\n/**\n * @constant\n * @name millisecondsInDay\n * @summary Milliseconds in 1 day.\n */\nexport const millisecondsInDay = 86400000;\n\n/**\n * @constant\n * @name millisecondsInMinute\n * @summary Milliseconds in 1 minute\n */\nexport const millisecondsInMinute = 60000;\n\n/**\n * @constant\n * @name millisecondsInHour\n * @summary Milliseconds in 1 hour\n */\nexport const millisecondsInHour = 3600000;\n\n/**\n * @constant\n * @name millisecondsInSecond\n * @summary Milliseconds in 1 second\n */\nexport const millisecondsInSecond = 1000;\n\n/**\n * @constant\n * @name minutesInYear\n * @summary Minutes in 1 year.\n */\nexport const minutesInYear = 525600;\n\n/**\n * @constant\n * @name minutesInMonth\n * @summary Minutes in 1 month.\n */\nexport const minutesInMonth = 43200;\n\n/**\n * @constant\n * @name minutesInDay\n * @summary Minutes in 1 day.\n */\nexport const minutesInDay = 1440;\n\n/**\n * @constant\n * @name minutesInHour\n * @summary Minutes in 1 hour.\n */\nexport const minutesInHour = 60;\n\n/**\n * @constant\n * @name monthsInQuarter\n * @summary Months in 1 quarter.\n */\nexport const monthsInQuarter = 3;\n\n/**\n * @constant\n * @name monthsInYear\n * @summary Months in 1 year.\n */\nexport const monthsInYear = 12;\n\n/**\n * @constant\n * @name quartersInYear\n * @summary Quarters in 1 year\n */\nexport const quartersInYear = 4;\n\n/**\n * @constant\n * @name secondsInHour\n * @summary Seconds in 1 hour.\n */\nexport const secondsInHour = 3600;\n\n/**\n * @constant\n * @name secondsInMinute\n * @summary Seconds in 1 minute.\n */\nexport const secondsInMinute = 60;\n\n/**\n * @constant\n * @name secondsInDay\n * @summary Seconds in 1 day.\n */\nexport const secondsInDay = secondsInHour * 24;\n\n/**\n * @constant\n * @name secondsInWeek\n * @summary Seconds in 1 week.\n */\nexport const secondsInWeek = secondsInDay * 7;\n\n/**\n * @constant\n * @name secondsInYear\n * @summary Seconds in 1 year.\n */\nexport const secondsInYear = secondsInDay * daysInYear;\n\n/**\n * @constant\n * @name secondsInMonth\n * @summary Seconds in 1 month\n */\nexport const secondsInMonth = secondsInYear / 12;\n\n/**\n * @constant\n * @name secondsInQuarter\n * @summary Seconds in 1 quarter.\n */\nexport const secondsInQuarter = secondsInMonth * 3;\n\n/**\n * @constant\n * @name constructFromSymbol\n * @summary Symbol enabling Date extensions to inherit properties from the reference date.\n *\n * The symbol is used to enable the `constructFrom` function to construct a date\n * using a reference date and a value. It allows to transfer extra properties\n * from the reference date to the new date. It's useful for extensions like\n * [`TZDate`](https://github.com/date-fns/tz) that accept a time zone as\n * a constructor argument.\n */\nexport const constructFromSymbol = Symbol.for(\"constructDateFrom\");\n","import { constructFromSymbol } from \"./constants.js\";\n\n/**\n * @name constructFrom\n * @category Generic Helpers\n * @summary Constructs a date using the reference date and the value\n *\n * @description\n * The function constructs a new date using the constructor from the reference\n * date and the given value. It helps to build generic functions that accept\n * date extensions.\n *\n * It defaults to `Date` if the passed reference date is a number or a string.\n *\n * Starting from v3.7.0, it allows to construct a date using `[Symbol.for(\"constructDateFrom\")]`\n * enabling to transfer extra properties from the reference date to the new date.\n * It's useful for extensions like [`TZDate`](https://github.com/date-fns/tz)\n * that accept a time zone as a constructor argument.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The reference date to take constructor from\n * @param value - The value to create the date\n *\n * @returns Date initialized using the given date and value\n *\n * @example\n * import { constructFrom } from \"./constructFrom/date-fns\";\n *\n * // A function that clones a date preserving the original type\n * function cloneDate(date: DateType): DateType {\n * return constructFrom(\n * date, // Use constructor from the given date\n * date.getTime() // Use the date value to create a new date\n * );\n * }\n */\nexport function constructFrom(date, value) {\n if (typeof date === \"function\") return date(value);\n\n if (date && typeof date === \"object\" && constructFromSymbol in date)\n return date[constructFromSymbol](value);\n\n if (date instanceof Date) return new date.constructor(value);\n\n return new Date(value);\n}\n\n// Fallback for modularized imports:\nexport default constructFrom;\n","import { constructFrom } from \"./constructFrom.js\";\n\n/**\n * @name toDate\n * @category Common Helpers\n * @summary Convert the given argument to an instance of Date.\n *\n * @description\n * Convert the given argument to an instance of Date.\n *\n * If the argument is an instance of Date, the function returns its clone.\n *\n * If the argument is a number, it is treated as a timestamp.\n *\n * If the argument is none of the above, the function returns Invalid Date.\n *\n * Starting from v3.7.0, it clones a date using `[Symbol.for(\"constructDateFrom\")]`\n * enabling to transfer extra properties from the reference date to the new date.\n * It's useful for extensions like [`TZDate`](https://github.com/date-fns/tz)\n * that accept a time zone as a constructor argument.\n *\n * **Note**: *all* Date arguments passed to any *date-fns* function is processed by `toDate`.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param argument - The value to convert\n *\n * @returns The parsed date in the local time zone\n *\n * @example\n * // Clone the date:\n * const result = toDate(new Date(2014, 1, 11, 11, 30, 30))\n * //=> Tue Feb 11 2014 11:30:30\n *\n * @example\n * // Convert the timestamp to date:\n * const result = toDate(1392098430000)\n * //=> Tue Feb 11 2014 11:30:30\n */\nexport function toDate(argument, context) {\n // [TODO] Get rid of `toDate` or `constructFrom`?\n return constructFrom(context || argument, argument);\n}\n\n// Fallback for modularized imports:\nexport default toDate;\n","import { constructFrom } from \"./constructFrom.js\";\nimport { toDate } from \"./toDate.js\";\n\n/**\n * The {@link addDays} function options.\n */\n\n/**\n * @name addDays\n * @category Day Helpers\n * @summary Add the specified number of days to the given date.\n *\n * @description\n * Add the specified number of days to the given date.\n *\n * **You don't need date-fns\\***:\n *\n * Temporal has a built-in `add` method on all its classes:\n *\n * - [`Temporal.Instant.prototype.add()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Temporal/Instant/add)\n * - [`Temporal.PlainDate.prototype.add()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Temporal/PlainDate/add)\n * - [`Temporal.PlainDateTime.prototype.add()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Temporal/PlainDateTime/add)\n * - [`Temporal.PlainTime.prototype.add()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Temporal/PlainTime/add)\n * - [`Temporal.PlainYearMonth.prototype.add()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Temporal/PlainYearMonth/add)\n * - [`Temporal.ZonedDateTime.prototype.add()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Temporal/ZonedDateTime/add)\n *\n * \\* **Not really**, see: https://date-fns.org/you-dont-need-date-fns\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param date - The date to be changed\n * @param amount - The amount of days to be added.\n * @param options - An object with options\n *\n * @returns The new date with the days added\n *\n * @example\n * // Add 10 days to 1 September 2014:\n * const result = addDays(new Date(2014, 8, 1), 10)\n * //=> Thu Sep 11 2014 00:00:00\n *\n * @example\n * // Using Temporal:\n * // Add 10 days to 1 September 2014:\n * Temporal.PlainDate.from(\"2014-09-01\").add({ days: 10 }).toString();\n * //=> \"2014-09-11\"\n */\nexport function addDays(date, amount, options) {\n const _date = toDate(date, options?.in);\n if (isNaN(amount)) return constructFrom(options?.in || date, NaN);\n\n // If 0 days, no-op to avoid changing times in the hour before end of DST\n if (!amount) return _date;\n\n _date.setDate(_date.getDate() + amount);\n return _date;\n}\n\n// Fallback for modularized imports:\nexport default addDays;\n","let defaultOptions = {};\n\nexport function getDefaultOptions() {\n return defaultOptions;\n}\n\nexport function setDefaultOptions(newOptions) {\n defaultOptions = newOptions;\n}\n","import { getDefaultOptions } from \"./_lib/defaultOptions.js\";\nimport { toDate } from \"./toDate.js\";\n\n/**\n * The {@link startOfWeek} function options.\n */\n\n/**\n * @name startOfWeek\n * @category Week Helpers\n * @summary Return the start of a week for the given date.\n *\n * @description\n * Return the start of a week for the given date.\n * The result will be in the local timezone.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param date - The original date\n * @param options - An object with options\n *\n * @returns The start of a week\n *\n * @example\n * // The start of a week for 2 September 2014 11:55:00:\n * const result = startOfWeek(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Sun Aug 31 2014 00:00:00\n *\n * @example\n * // If the week starts on Monday, the start of the week for 2 September 2014 11:55:00:\n * const result = startOfWeek(new Date(2014, 8, 2, 11, 55, 0), { weekStartsOn: 1 })\n * //=> Mon Sep 01 2014 00:00:00\n */\nexport function startOfWeek(date, options) {\n const defaultOptions = getDefaultOptions();\n const weekStartsOn =\n options?.weekStartsOn ??\n options?.locale?.options?.weekStartsOn ??\n defaultOptions.weekStartsOn ??\n defaultOptions.locale?.options?.weekStartsOn ??\n 0;\n\n const _date = toDate(date, options?.in);\n const day = _date.getDay();\n const diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn;\n\n _date.setDate(_date.getDate() - diff);\n _date.setHours(0, 0, 0, 0);\n return _date;\n}\n\n// Fallback for modularized imports:\nexport default startOfWeek;\n","import { startOfWeek } from \"./startOfWeek.js\";\n\n/**\n * The {@link startOfISOWeek} function options.\n */\n\n/**\n * @name startOfISOWeek\n * @category ISO Week Helpers\n * @summary Return the start of an ISO week for the given date.\n *\n * @description\n * Return the start of an ISO week for the given date.\n * The result will be in the local timezone.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param date - The original date\n * @param options - An object with options\n *\n * @returns The start of an ISO week\n *\n * @example\n * // The start of an ISO week for 2 September 2014 11:55:00:\n * const result = startOfISOWeek(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Mon Sep 01 2014 00:00:00\n */\nexport function startOfISOWeek(date, options) {\n return startOfWeek(date, { ...options, weekStartsOn: 1 });\n}\n\n// Fallback for modularized imports:\nexport default startOfISOWeek;\n","import { constructFrom } from \"./constructFrom.js\";\nimport { startOfISOWeek } from \"./startOfISOWeek.js\";\nimport { toDate } from \"./toDate.js\";\n\n/**\n * The {@link getISOWeekYear} function options.\n */\n\n/**\n * @name getISOWeekYear\n * @category ISO Week-Numbering Year Helpers\n * @summary Get the ISO week-numbering year of the given date.\n *\n * @description\n * Get the ISO week-numbering year of the given date,\n * which always starts 3 days before the year's first Thursday.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * @param date - The given date\n *\n * @returns The ISO week-numbering year\n *\n * @example\n * // Which ISO-week numbering year is 2 January 2005?\n * const result = getISOWeekYear(new Date(2005, 0, 2))\n * //=> 2004\n */\nexport function getISOWeekYear(date, options) {\n const _date = toDate(date, options?.in);\n const year = _date.getFullYear();\n\n const fourthOfJanuaryOfNextYear = constructFrom(_date, 0);\n fourthOfJanuaryOfNextYear.setFullYear(year + 1, 0, 4);\n fourthOfJanuaryOfNextYear.setHours(0, 0, 0, 0);\n const startOfNextYear = startOfISOWeek(fourthOfJanuaryOfNextYear);\n\n const fourthOfJanuaryOfThisYear = constructFrom(_date, 0);\n fourthOfJanuaryOfThisYear.setFullYear(year, 0, 4);\n fourthOfJanuaryOfThisYear.setHours(0, 0, 0, 0);\n const startOfThisYear = startOfISOWeek(fourthOfJanuaryOfThisYear);\n\n if (_date.getTime() >= startOfNextYear.getTime()) {\n return year + 1;\n } else if (_date.getTime() >= startOfThisYear.getTime()) {\n return year;\n } else {\n return year - 1;\n }\n}\n\n// Fallback for modularized imports:\nexport default getISOWeekYear;\n","import { toDate } from \"../toDate.js\";\n\n/**\n * Google Chrome as of 67.0.3396.87 introduced timezones with offset that includes seconds.\n * They usually appear for dates that denote time before the timezones were introduced\n * (e.g. for 'Europe/Prague' timezone the offset is GMT+00:57:44 before 1 October 1891\n * and GMT+01:00:00 after that date)\n *\n * Date#getTimezoneOffset returns the offset in minutes and would return 57 for the example above,\n * which would lead to incorrect calculations.\n *\n * This function returns the timezone offset in milliseconds that takes seconds in account.\n */\nexport function getTimezoneOffsetInMilliseconds(date) {\n const _date = toDate(date);\n const utcDate = new Date(\n Date.UTC(\n _date.getFullYear(),\n _date.getMonth(),\n _date.getDate(),\n _date.getHours(),\n _date.getMinutes(),\n _date.getSeconds(),\n _date.getMilliseconds(),\n ),\n );\n utcDate.setUTCFullYear(_date.getFullYear());\n return +date - +utcDate;\n}\n","import { toDate } from \"./toDate.js\";\n\n/**\n * The {@link startOfDay} function options.\n */\n\n/**\n * @name startOfDay\n * @category Day Helpers\n * @summary Return the start of a day for the given date.\n *\n * @description\n * Return the start of a day for the given date.\n * The result will be in the local timezone.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param date - The original date\n * @param options - The options\n *\n * @returns The start of a day\n *\n * @example\n * // The start of a day for 2 September 2014 11:55:00:\n * const result = startOfDay(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Tue Sep 02 2014 00:00:00\n */\nexport function startOfDay(date, options) {\n const _date = toDate(date, options?.in);\n _date.setHours(0, 0, 0, 0);\n return _date;\n}\n\n// Fallback for modularized imports:\nexport default startOfDay;\n","import { getTimezoneOffsetInMilliseconds } from \"./_lib/getTimezoneOffsetInMilliseconds.js\";\nimport { normalizeDates } from \"./_lib/normalizeDates.js\";\nimport { millisecondsInDay } from \"./constants.js\";\nimport { startOfDay } from \"./startOfDay.js\";\n\n/**\n * The {@link differenceInCalendarDays} function options.\n */\n\n/**\n * @name differenceInCalendarDays\n * @category Day Helpers\n * @summary Get the number of calendar days between the given dates.\n *\n * @description\n * Get the number of calendar days between the given dates. This means that the times are removed\n * from the dates and then the difference in days is calculated.\n *\n * @param laterDate - The later date\n * @param earlierDate - The earlier date\n * @param options - The options object\n *\n * @returns The number of calendar days\n *\n * @example\n * // How many calendar days are between\n * // 2 July 2011 23:00:00 and 2 July 2012 00:00:00?\n * const result = differenceInCalendarDays(\n * new Date(2012, 6, 2, 0, 0),\n * new Date(2011, 6, 2, 23, 0)\n * )\n * //=> 366\n * // How many calendar days are between\n * // 2 July 2011 23:59:00 and 3 July 2011 00:01:00?\n * const result = differenceInCalendarDays(\n * new Date(2011, 6, 3, 0, 1),\n * new Date(2011, 6, 2, 23, 59)\n * )\n * //=> 1\n */\nexport function differenceInCalendarDays(laterDate, earlierDate, options) {\n const [laterDate_, earlierDate_] = normalizeDates(\n options?.in,\n laterDate,\n earlierDate,\n );\n\n const laterStartOfDay = startOfDay(laterDate_);\n const earlierStartOfDay = startOfDay(earlierDate_);\n\n const laterTimestamp =\n +laterStartOfDay - getTimezoneOffsetInMilliseconds(laterStartOfDay);\n const earlierTimestamp =\n +earlierStartOfDay - getTimezoneOffsetInMilliseconds(earlierStartOfDay);\n\n // Round the number of days to the nearest integer because the number of\n // milliseconds in a day is not constant (e.g. it's different in the week of\n // the daylight saving time clock shift).\n return Math.round((laterTimestamp - earlierTimestamp) / millisecondsInDay);\n}\n\n// Fallback for modularized imports:\nexport default differenceInCalendarDays;\n","import { constructFrom } from \"../constructFrom.js\";\n\nexport function normalizeDates(context, ...dates) {\n const normalize = constructFrom.bind(\n null,\n context || dates.find((date) => typeof date === \"object\"),\n );\n return dates.map(normalize);\n}\n","import { isDate } from \"./isDate.js\";\nimport { toDate } from \"./toDate.js\";\n\n/**\n * @name isValid\n * @category Common Helpers\n * @summary Is the given date valid?\n *\n * @description\n * Returns false if argument is Invalid Date and true otherwise.\n * Argument is converted to Date using `toDate`. See [toDate](https://date-fns.org/docs/toDate)\n * Invalid Date is a Date, whose time value is NaN.\n *\n * Time value of Date: http://es5.github.io/#x15.9.1.1\n *\n * @param date - The date to check\n *\n * @returns The date is valid\n *\n * @example\n * // For the valid date:\n * const result = isValid(new Date(2014, 1, 31))\n * //=> true\n *\n * @example\n * // For the value, convertible into a date:\n * const result = isValid(1393804800000)\n * //=> true\n *\n * @example\n * // For the invalid date:\n * const result = isValid(new Date(''))\n * //=> false\n */\nexport function isValid(date) {\n return !((!isDate(date) && typeof date !== \"number\") || isNaN(+toDate(date)));\n}\n\n// Fallback for modularized imports:\nexport default isValid;\n","/**\n * @name isDate\n * @category Common Helpers\n * @summary Is the given value a date?\n *\n * @description\n * Returns true if the given value is an instance of Date. The function works for dates transferred across iframes.\n *\n * @param value - The value to check\n *\n * @returns True if the given value is a date\n *\n * @example\n * // For a valid date:\n * const result = isDate(new Date())\n * //=> true\n *\n * @example\n * // For an invalid date:\n * const result = isDate(new Date(NaN))\n * //=> true\n *\n * @example\n * // For some value:\n * const result = isDate('2014-02-31')\n * //=> false\n *\n * @example\n * // For an object:\n * const result = isDate({})\n * //=> false\n */\nexport function isDate(value) {\n return (\n value instanceof Date ||\n (typeof value === \"object\" &&\n Object.prototype.toString.call(value) === \"[object Date]\")\n );\n}\n\n// Fallback for modularized imports:\nexport default isDate;\n","const formatDistanceLocale = {\n lessThanXSeconds: {\n one: \"less than a second\",\n other: \"less than {{count}} seconds\",\n },\n\n xSeconds: {\n one: \"1 second\",\n other: \"{{count}} seconds\",\n },\n\n halfAMinute: \"half a minute\",\n\n lessThanXMinutes: {\n one: \"less than a minute\",\n other: \"less than {{count}} minutes\",\n },\n\n xMinutes: {\n one: \"1 minute\",\n other: \"{{count}} minutes\",\n },\n\n aboutXHours: {\n one: \"about 1 hour\",\n other: \"about {{count}} hours\",\n },\n\n xHours: {\n one: \"1 hour\",\n other: \"{{count}} hours\",\n },\n\n xDays: {\n one: \"1 day\",\n other: \"{{count}} days\",\n },\n\n aboutXWeeks: {\n one: \"about 1 week\",\n other: \"about {{count}} weeks\",\n },\n\n xWeeks: {\n one: \"1 week\",\n other: \"{{count}} weeks\",\n },\n\n aboutXMonths: {\n one: \"about 1 month\",\n other: \"about {{count}} months\",\n },\n\n xMonths: {\n one: \"1 month\",\n other: \"{{count}} months\",\n },\n\n aboutXYears: {\n one: \"about 1 year\",\n other: \"about {{count}} years\",\n },\n\n xYears: {\n one: \"1 year\",\n other: \"{{count}} years\",\n },\n\n overXYears: {\n one: \"over 1 year\",\n other: \"over {{count}} years\",\n },\n\n almostXYears: {\n one: \"almost 1 year\",\n other: \"almost {{count}} years\",\n },\n};\n\nexport const formatDistance = (token, count, options) => {\n let result;\n\n const tokenValue = formatDistanceLocale[token];\n if (typeof tokenValue === \"string\") {\n result = tokenValue;\n } else if (count === 1) {\n result = tokenValue.one;\n } else {\n result = tokenValue.other.replace(\"{{count}}\", count.toString());\n }\n\n if (options?.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n return \"in \" + result;\n } else {\n return result + \" ago\";\n }\n }\n\n return result;\n};\n","export function buildFormatLongFn(args) {\n return (options = {}) => {\n // TODO: Remove String()\n const width = options.width ? String(options.width) : args.defaultWidth;\n const format = args.formats[width] || args.formats[args.defaultWidth];\n return format;\n };\n}\n","import { buildFormatLongFn } from \"../../_lib/buildFormatLongFn.js\";\n\nconst dateFormats = {\n full: \"EEEE, MMMM do, y\",\n long: \"MMMM do, y\",\n medium: \"MMM d, y\",\n short: \"MM/dd/yyyy\",\n};\n\nconst timeFormats = {\n full: \"h:mm:ss a zzzz\",\n long: \"h:mm:ss a z\",\n medium: \"h:mm:ss a\",\n short: \"h:mm a\",\n};\n\nconst dateTimeFormats = {\n full: \"{{date}} 'at' {{time}}\",\n long: \"{{date}} 'at' {{time}}\",\n medium: \"{{date}}, {{time}}\",\n short: \"{{date}}, {{time}}\",\n};\n\nexport const formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: \"full\",\n }),\n\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: \"full\",\n }),\n\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: \"full\",\n }),\n};\n","const formatRelativeLocale = {\n lastWeek: \"'last' eeee 'at' p\",\n yesterday: \"'yesterday at' p\",\n today: \"'today at' p\",\n tomorrow: \"'tomorrow at' p\",\n nextWeek: \"eeee 'at' p\",\n other: \"P\",\n};\n\nexport const formatRelative = (token, _date, _baseDate, _options) =>\n formatRelativeLocale[token];\n","/**\n * The localize function argument callback which allows to convert raw value to\n * the actual type.\n *\n * @param value - The value to convert\n *\n * @returns The converted value\n */\n\n/**\n * The map of localized values for each width.\n */\n\n/**\n * The index type of the locale unit value. It types conversion of units of\n * values that don't start at 0 (i.e. quarters).\n */\n\n/**\n * Converts the unit value to the tuple of values.\n */\n\n/**\n * The tuple of localized era values. The first element represents BC,\n * the second element represents AD.\n */\n\n/**\n * The tuple of localized quarter values. The first element represents Q1.\n */\n\n/**\n * The tuple of localized day values. The first element represents Sunday.\n */\n\n/**\n * The tuple of localized month values. The first element represents January.\n */\n\nexport function buildLocalizeFn(args) {\n return (value, options) => {\n const context = options?.context ? String(options.context) : \"standalone\";\n\n let valuesArray;\n if (context === \"formatting\" && args.formattingValues) {\n const defaultWidth = args.defaultFormattingWidth || args.defaultWidth;\n const width = options?.width ? String(options.width) : defaultWidth;\n\n valuesArray =\n args.formattingValues[width] || args.formattingValues[defaultWidth];\n } else {\n const defaultWidth = args.defaultWidth;\n const width = options?.width ? String(options.width) : args.defaultWidth;\n\n valuesArray = args.values[width] || args.values[defaultWidth];\n }\n const index = args.argumentCallback ? args.argumentCallback(value) : value;\n\n // @ts-expect-error - For some reason TypeScript just don't want to match it, no matter how hard we try. I challenge you to try to remove it!\n return valuesArray[index];\n };\n}\n","export function buildMatchFn(args) {\n return (string, options = {}) => {\n const width = options.width;\n\n const matchPattern =\n (width && args.matchPatterns[width]) ||\n args.matchPatterns[args.defaultMatchWidth];\n const matchResult = string.match(matchPattern);\n\n if (!matchResult) {\n return null;\n }\n const matchedString = matchResult[0];\n\n const parsePatterns =\n (width && args.parsePatterns[width]) ||\n args.parsePatterns[args.defaultParseWidth];\n\n const key = Array.isArray(parsePatterns)\n ? findIndex(parsePatterns, (pattern) => pattern.test(matchedString))\n : // [TODO] -- I challenge you to fix the type\n findKey(parsePatterns, (pattern) => pattern.test(matchedString));\n\n let value;\n\n value = args.valueCallback ? args.valueCallback(key) : key;\n value = options.valueCallback\n ? // [TODO] -- I challenge you to fix the type\n options.valueCallback(value)\n : value;\n\n const rest = string.slice(matchedString.length);\n\n return { value, rest };\n };\n}\n\nfunction findKey(object, predicate) {\n for (const key in object) {\n if (\n Object.prototype.hasOwnProperty.call(object, key) &&\n predicate(object[key])\n ) {\n return key;\n }\n }\n return undefined;\n}\n\nfunction findIndex(array, predicate) {\n for (let key = 0; key < array.length; key++) {\n if (predicate(array[key])) {\n return key;\n }\n }\n return undefined;\n}\n","export function buildMatchPatternFn(args) {\n return (string, options = {}) => {\n const matchResult = string.match(args.matchPattern);\n if (!matchResult) return null;\n const matchedString = matchResult[0];\n\n const parseResult = string.match(args.parsePattern);\n if (!parseResult) return null;\n let value = args.valueCallback\n ? args.valueCallback(parseResult[0])\n : parseResult[0];\n\n // [TODO] I challenge you to fix the type\n value = options.valueCallback ? options.valueCallback(value) : value;\n\n const rest = string.slice(matchedString.length);\n\n return { value, rest };\n };\n}\n","import { formatDistance } from \"./en-US/_lib/formatDistance.js\";\nimport { formatLong } from \"./en-US/_lib/formatLong.js\";\nimport { formatRelative } from \"./en-US/_lib/formatRelative.js\";\nimport { localize } from \"./en-US/_lib/localize.js\";\nimport { match } from \"./en-US/_lib/match.js\";\n\n/**\n * @category Locales\n * @summary English locale (United States).\n * @language English\n * @iso-639-2 eng\n * @author Sasha Koss [@kossnocorp](https://github.com/kossnocorp)\n * @author Lesha Koss [@leshakoss](https://github.com/leshakoss)\n */\nexport const enUS = {\n code: \"en-US\",\n formatDistance: formatDistance,\n formatLong: formatLong,\n formatRelative: formatRelative,\n localize: localize,\n match: match,\n options: {\n weekStartsOn: 0 /* Sunday */,\n firstWeekContainsDate: 1,\n },\n};\n\n// Fallback for modularized imports:\nexport default enUS;\n","import { buildLocalizeFn } from \"../../_lib/buildLocalizeFn.js\";\n\nconst eraValues = {\n narrow: [\"B\", \"A\"],\n abbreviated: [\"BC\", \"AD\"],\n wide: [\"Before Christ\", \"Anno Domini\"],\n};\n\nconst quarterValues = {\n narrow: [\"1\", \"2\", \"3\", \"4\"],\n abbreviated: [\"Q1\", \"Q2\", \"Q3\", \"Q4\"],\n wide: [\"1st quarter\", \"2nd quarter\", \"3rd quarter\", \"4th quarter\"],\n};\n\n// Note: in English, the names of days of the week and months are capitalized.\n// If you are making a new locale based on this one, check if the same is true for the language you're working on.\n// Generally, formatted dates should look like they are in the middle of a sentence,\n// e.g. in Spanish language the weekdays and months should be in the lowercase.\nconst monthValues = {\n narrow: [\"J\", \"F\", \"M\", \"A\", \"M\", \"J\", \"J\", \"A\", \"S\", \"O\", \"N\", \"D\"],\n abbreviated: [\n \"Jan\",\n \"Feb\",\n \"Mar\",\n \"Apr\",\n \"May\",\n \"Jun\",\n \"Jul\",\n \"Aug\",\n \"Sep\",\n \"Oct\",\n \"Nov\",\n \"Dec\",\n ],\n\n wide: [\n \"January\",\n \"February\",\n \"March\",\n \"April\",\n \"May\",\n \"June\",\n \"July\",\n \"August\",\n \"September\",\n \"October\",\n \"November\",\n \"December\",\n ],\n};\n\nconst dayValues = {\n narrow: [\"S\", \"M\", \"T\", \"W\", \"T\", \"F\", \"S\"],\n short: [\"Su\", \"Mo\", \"Tu\", \"We\", \"Th\", \"Fr\", \"Sa\"],\n abbreviated: [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"],\n wide: [\n \"Sunday\",\n \"Monday\",\n \"Tuesday\",\n \"Wednesday\",\n \"Thursday\",\n \"Friday\",\n \"Saturday\",\n ],\n};\n\nconst dayPeriodValues = {\n narrow: {\n am: \"a\",\n pm: \"p\",\n midnight: \"mi\",\n noon: \"n\",\n morning: \"morning\",\n afternoon: \"afternoon\",\n evening: \"evening\",\n night: \"night\",\n },\n abbreviated: {\n am: \"AM\",\n pm: \"PM\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"morning\",\n afternoon: \"afternoon\",\n evening: \"evening\",\n night: \"night\",\n },\n wide: {\n am: \"a.m.\",\n pm: \"p.m.\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"morning\",\n afternoon: \"afternoon\",\n evening: \"evening\",\n night: \"night\",\n },\n};\n\nconst formattingDayPeriodValues = {\n narrow: {\n am: \"a\",\n pm: \"p\",\n midnight: \"mi\",\n noon: \"n\",\n morning: \"in the morning\",\n afternoon: \"in the afternoon\",\n evening: \"in the evening\",\n night: \"at night\",\n },\n abbreviated: {\n am: \"AM\",\n pm: \"PM\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"in the morning\",\n afternoon: \"in the afternoon\",\n evening: \"in the evening\",\n night: \"at night\",\n },\n wide: {\n am: \"a.m.\",\n pm: \"p.m.\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"in the morning\",\n afternoon: \"in the afternoon\",\n evening: \"in the evening\",\n night: \"at night\",\n },\n};\n\nconst ordinalNumber = (dirtyNumber, _options) => {\n const number = Number(dirtyNumber);\n\n // If ordinal numbers depend on context, for example,\n // if they are different for different grammatical genders,\n // use `options.unit`.\n //\n // `unit` can be 'year', 'quarter', 'month', 'week', 'date', 'dayOfYear',\n // 'day', 'hour', 'minute', 'second'.\n\n const rem100 = number % 100;\n if (rem100 > 20 || rem100 < 10) {\n switch (rem100 % 10) {\n case 1:\n return number + \"st\";\n case 2:\n return number + \"nd\";\n case 3:\n return number + \"rd\";\n }\n }\n return number + \"th\";\n};\n\nexport const localize = {\n ordinalNumber,\n\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: \"wide\",\n }),\n\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: \"wide\",\n argumentCallback: (quarter) => quarter - 1,\n }),\n\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: \"wide\",\n }),\n\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: \"wide\",\n }),\n\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: \"wide\",\n formattingValues: formattingDayPeriodValues,\n defaultFormattingWidth: \"wide\",\n }),\n};\n","import { buildMatchFn } from \"../../_lib/buildMatchFn.js\";\nimport { buildMatchPatternFn } from \"../../_lib/buildMatchPatternFn.js\";\n\nconst matchOrdinalNumberPattern = /^(\\d+)(th|st|nd|rd)?/i;\nconst parseOrdinalNumberPattern = /\\d+/i;\n\nconst matchEraPatterns = {\n narrow: /^(b|a)/i,\n abbreviated: /^(b\\.?\\s?c\\.?|b\\.?\\s?c\\.?\\s?e\\.?|a\\.?\\s?d\\.?|c\\.?\\s?e\\.?)/i,\n wide: /^(before christ|before common era|anno domini|common era)/i,\n};\nconst parseEraPatterns = {\n any: [/^b/i, /^(a|c)/i],\n};\n\nconst matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^q[1234]/i,\n wide: /^[1234](th|st|nd|rd)? quarter/i,\n};\nconst parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i],\n};\n\nconst matchMonthPatterns = {\n narrow: /^[jfmasond]/i,\n abbreviated: /^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,\n wide: /^(january|february|march|april|may|june|july|august|september|october|november|december)/i,\n};\nconst parseMonthPatterns = {\n narrow: [\n /^j/i,\n /^f/i,\n /^m/i,\n /^a/i,\n /^m/i,\n /^j/i,\n /^j/i,\n /^a/i,\n /^s/i,\n /^o/i,\n /^n/i,\n /^d/i,\n ],\n\n any: [\n /^ja/i,\n /^f/i,\n /^mar/i,\n /^ap/i,\n /^may/i,\n /^jun/i,\n /^jul/i,\n /^au/i,\n /^s/i,\n /^o/i,\n /^n/i,\n /^d/i,\n ],\n};\n\nconst matchDayPatterns = {\n narrow: /^[smtwf]/i,\n short: /^(su|mo|tu|we|th|fr|sa)/i,\n abbreviated: /^(sun|mon|tue|wed|thu|fri|sat)/i,\n wide: /^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i,\n};\nconst parseDayPatterns = {\n narrow: [/^s/i, /^m/i, /^t/i, /^w/i, /^t/i, /^f/i, /^s/i],\n any: [/^su/i, /^m/i, /^tu/i, /^w/i, /^th/i, /^f/i, /^sa/i],\n};\n\nconst matchDayPeriodPatterns = {\n narrow: /^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,\n any: /^([ap]\\.?\\s?m\\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i,\n};\nconst parseDayPeriodPatterns = {\n any: {\n am: /^a/i,\n pm: /^p/i,\n midnight: /^mi/i,\n noon: /^no/i,\n morning: /morning/i,\n afternoon: /afternoon/i,\n evening: /evening/i,\n night: /night/i,\n },\n};\n\nexport const match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: (value) => parseInt(value, 10),\n }),\n\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseEraPatterns,\n defaultParseWidth: \"any\",\n }),\n\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: \"any\",\n valueCallback: (index) => index + 1,\n }),\n\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: \"any\",\n }),\n\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseDayPatterns,\n defaultParseWidth: \"any\",\n }),\n\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: \"any\",\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: \"any\",\n }),\n};\n","import { differenceInCalendarDays } from \"./differenceInCalendarDays.js\";\nimport { startOfYear } from \"./startOfYear.js\";\nimport { toDate } from \"./toDate.js\";\n\n/**\n * The {@link getDayOfYear} function options.\n */\n\n/**\n * @name getDayOfYear\n * @category Day Helpers\n * @summary Get the day of the year of the given date.\n *\n * @description\n * Get the day of the year of the given date.\n *\n * @param date - The given date\n * @param options - The options\n *\n * @returns The day of year\n *\n * @example\n * // Which day of the year is 2 July 2014?\n * const result = getDayOfYear(new Date(2014, 6, 2))\n * //=> 183\n */\nexport function getDayOfYear(date, options) {\n const _date = toDate(date, options?.in);\n const diff = differenceInCalendarDays(_date, startOfYear(_date));\n const dayOfYear = diff + 1;\n return dayOfYear;\n}\n\n// Fallback for modularized imports:\nexport default getDayOfYear;\n","import { toDate } from \"./toDate.js\";\n\n/**\n * The {@link startOfYear} function options.\n */\n\n/**\n * @name startOfYear\n * @category Year Helpers\n * @summary Return the start of a year for the given date.\n *\n * @description\n * Return the start of a year for the given date.\n * The result will be in the local timezone.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param date - The original date\n * @param options - The options\n *\n * @returns The start of a year\n *\n * @example\n * // The start of a year for 2 September 2014 11:55:00:\n * const result = startOfYear(new Date(2014, 8, 2, 11, 55, 00))\n * //=> Wed Jan 01 2014 00:00:00\n */\nexport function startOfYear(date, options) {\n const date_ = toDate(date, options?.in);\n date_.setFullYear(date_.getFullYear(), 0, 1);\n date_.setHours(0, 0, 0, 0);\n return date_;\n}\n\n// Fallback for modularized imports:\nexport default startOfYear;\n","import { millisecondsInWeek } from \"./constants.js\";\nimport { startOfISOWeek } from \"./startOfISOWeek.js\";\nimport { startOfISOWeekYear } from \"./startOfISOWeekYear.js\";\nimport { toDate } from \"./toDate.js\";\n\n/**\n * The {@link getISOWeek} function options.\n */\n\n/**\n * @name getISOWeek\n * @category ISO Week Helpers\n * @summary Get the ISO week of the given date.\n *\n * @description\n * Get the ISO week of the given date.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * @param date - The given date\n * @param options - The options\n *\n * @returns The ISO week\n *\n * @example\n * // Which week of the ISO-week numbering year is 2 January 2005?\n * const result = getISOWeek(new Date(2005, 0, 2))\n * //=> 53\n */\nexport function getISOWeek(date, options) {\n const _date = toDate(date, options?.in);\n const diff = +startOfISOWeek(_date) - +startOfISOWeekYear(_date);\n\n // Round the number of weeks to the nearest integer because the number of\n // milliseconds in a week is not constant (e.g. it's different in the week of\n // the daylight saving time clock shift).\n return Math.round(diff / millisecondsInWeek) + 1;\n}\n\n// Fallback for modularized imports:\nexport default getISOWeek;\n","import { constructFrom } from \"./constructFrom.js\";\nimport { getISOWeekYear } from \"./getISOWeekYear.js\";\nimport { startOfISOWeek } from \"./startOfISOWeek.js\";\n\n/**\n * The {@link startOfISOWeekYear} function options.\n */\n\n/**\n * @name startOfISOWeekYear\n * @category ISO Week-Numbering Year Helpers\n * @summary Return the start of an ISO week-numbering year for the given date.\n *\n * @description\n * Return the start of an ISO week-numbering year,\n * which always starts 3 days before the year's first Thursday.\n * The result will be in the local timezone.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param date - The original date\n * @param options - An object with options\n *\n * @returns The start of an ISO week-numbering year\n *\n * @example\n * // The start of an ISO week-numbering year for 2 July 2005:\n * const result = startOfISOWeekYear(new Date(2005, 6, 2))\n * //=> Mon Jan 03 2005 00:00:00\n */\nexport function startOfISOWeekYear(date, options) {\n const year = getISOWeekYear(date, options);\n const fourthOfJanuary = constructFrom(options?.in || date, 0);\n fourthOfJanuary.setFullYear(year, 0, 4);\n fourthOfJanuary.setHours(0, 0, 0, 0);\n return startOfISOWeek(fourthOfJanuary);\n}\n\n// Fallback for modularized imports:\nexport default startOfISOWeekYear;\n","import { getDefaultOptions } from \"./_lib/defaultOptions.js\";\nimport { constructFrom } from \"./constructFrom.js\";\nimport { startOfWeek } from \"./startOfWeek.js\";\nimport { toDate } from \"./toDate.js\";\n\n/**\n * The {@link getWeekYear} function options.\n */\n\n/**\n * @name getWeekYear\n * @category Week-Numbering Year Helpers\n * @summary Get the local week-numbering year of the given date.\n *\n * @description\n * Get the local week-numbering year of the given date.\n * The exact calculation depends on the values of\n * `options.weekStartsOn` (which is the index of the first day of the week)\n * and `options.firstWeekContainsDate` (which is the day of January, which is always in\n * the first week of the week-numbering year)\n *\n * Week numbering: https://en.wikipedia.org/wiki/Week#The_ISO_week_date_system\n *\n * @param date - The given date\n * @param options - An object with options.\n *\n * @returns The local week-numbering year\n *\n * @example\n * // Which week numbering year is 26 December 2004 with the default settings?\n * const result = getWeekYear(new Date(2004, 11, 26))\n * //=> 2005\n *\n * @example\n * // Which week numbering year is 26 December 2004 if week starts on Saturday?\n * const result = getWeekYear(new Date(2004, 11, 26), { weekStartsOn: 6 })\n * //=> 2004\n *\n * @example\n * // Which week numbering year is 26 December 2004 if the first week contains 4 January?\n * const result = getWeekYear(new Date(2004, 11, 26), { firstWeekContainsDate: 4 })\n * //=> 2004\n */\nexport function getWeekYear(date, options) {\n const _date = toDate(date, options?.in);\n const year = _date.getFullYear();\n\n const defaultOptions = getDefaultOptions();\n const firstWeekContainsDate =\n options?.firstWeekContainsDate ??\n options?.locale?.options?.firstWeekContainsDate ??\n defaultOptions.firstWeekContainsDate ??\n defaultOptions.locale?.options?.firstWeekContainsDate ??\n 1;\n\n const firstWeekOfNextYear = constructFrom(options?.in || date, 0);\n firstWeekOfNextYear.setFullYear(year + 1, 0, firstWeekContainsDate);\n firstWeekOfNextYear.setHours(0, 0, 0, 0);\n const startOfNextYear = startOfWeek(firstWeekOfNextYear, options);\n\n const firstWeekOfThisYear = constructFrom(options?.in || date, 0);\n firstWeekOfThisYear.setFullYear(year, 0, firstWeekContainsDate);\n firstWeekOfThisYear.setHours(0, 0, 0, 0);\n const startOfThisYear = startOfWeek(firstWeekOfThisYear, options);\n\n if (+_date >= +startOfNextYear) {\n return year + 1;\n } else if (+_date >= +startOfThisYear) {\n return year;\n } else {\n return year - 1;\n }\n}\n\n// Fallback for modularized imports:\nexport default getWeekYear;\n","import { millisecondsInWeek } from \"./constants.js\";\nimport { startOfWeek } from \"./startOfWeek.js\";\nimport { startOfWeekYear } from \"./startOfWeekYear.js\";\nimport { toDate } from \"./toDate.js\";\n\n/**\n * The {@link getWeek} function options.\n */\n\n/**\n * @name getWeek\n * @category Week Helpers\n * @summary Get the local week index of the given date.\n *\n * @description\n * Get the local week index of the given date.\n * The exact calculation depends on the values of\n * `options.weekStartsOn` (which is the index of the first day of the week)\n * and `options.firstWeekContainsDate` (which is the day of January, which is always in\n * the first week of the week-numbering year)\n *\n * Week numbering: https://en.wikipedia.org/wiki/Week#The_ISO_week_date_system\n *\n * @param date - The given date\n * @param options - An object with options\n *\n * @returns The week\n *\n * @example\n * // Which week of the local week numbering year is 2 January 2005 with default options?\n * const result = getWeek(new Date(2005, 0, 2))\n * //=> 2\n *\n * @example\n * // Which week of the local week numbering year is 2 January 2005,\n * // if Monday is the first day of the week,\n * // and the first week of the year always contains 4 January?\n * const result = getWeek(new Date(2005, 0, 2), {\n * weekStartsOn: 1,\n * firstWeekContainsDate: 4\n * })\n * //=> 53\n */\nexport function getWeek(date, options) {\n const _date = toDate(date, options?.in);\n const diff = +startOfWeek(_date, options) - +startOfWeekYear(_date, options);\n\n // Round the number of weeks to the nearest integer because the number of\n // milliseconds in a week is not constant (e.g. it's different in the week of\n // the daylight saving time clock shift).\n return Math.round(diff / millisecondsInWeek) + 1;\n}\n\n// Fallback for modularized imports:\nexport default getWeek;\n","import { getDefaultOptions } from \"./_lib/defaultOptions.js\";\nimport { constructFrom } from \"./constructFrom.js\";\nimport { getWeekYear } from \"./getWeekYear.js\";\nimport { startOfWeek } from \"./startOfWeek.js\";\n\n/**\n * The {@link startOfWeekYear} function options.\n */\n\n/**\n * @name startOfWeekYear\n * @category Week-Numbering Year Helpers\n * @summary Return the start of a local week-numbering year for the given date.\n *\n * @description\n * Return the start of a local week-numbering year.\n * The exact calculation depends on the values of\n * `options.weekStartsOn` (which is the index of the first day of the week)\n * and `options.firstWeekContainsDate` (which is the day of January, which is always in\n * the first week of the week-numbering year)\n *\n * Week numbering: https://en.wikipedia.org/wiki/Week#The_ISO_week_date_system\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type.\n *\n * @param date - The original date\n * @param options - An object with options\n *\n * @returns The start of a week-numbering year\n *\n * @example\n * // The start of an a week-numbering year for 2 July 2005 with default settings:\n * const result = startOfWeekYear(new Date(2005, 6, 2))\n * //=> Sun Dec 26 2004 00:00:00\n *\n * @example\n * // The start of a week-numbering year for 2 July 2005\n * // if Monday is the first day of week\n * // and 4 January is always in the first week of the year:\n * const result = startOfWeekYear(new Date(2005, 6, 2), {\n * weekStartsOn: 1,\n * firstWeekContainsDate: 4\n * })\n * //=> Mon Jan 03 2005 00:00:00\n */\nexport function startOfWeekYear(date, options) {\n const defaultOptions = getDefaultOptions();\n const firstWeekContainsDate =\n options?.firstWeekContainsDate ??\n options?.locale?.options?.firstWeekContainsDate ??\n defaultOptions.firstWeekContainsDate ??\n defaultOptions.locale?.options?.firstWeekContainsDate ??\n 1;\n\n const year = getWeekYear(date, options);\n const firstWeek = constructFrom(options?.in || date, 0);\n firstWeek.setFullYear(year, 0, firstWeekContainsDate);\n firstWeek.setHours(0, 0, 0, 0);\n const _date = startOfWeek(firstWeek, options);\n return _date;\n}\n\n// Fallback for modularized imports:\nexport default startOfWeekYear;\n","export function addLeadingZeros(number, targetLength) {\n const sign = number < 0 ? \"-\" : \"\";\n const output = Math.abs(number).toString().padStart(targetLength, \"0\");\n return sign + output;\n}\n","import { addLeadingZeros } from \"../addLeadingZeros.js\";\n\n/*\n * | | Unit | | Unit |\n * |-----|--------------------------------|-----|--------------------------------|\n * | a | AM, PM | A* | |\n * | d | Day of month | D | |\n * | h | Hour [1-12] | H | Hour [0-23] |\n * | m | Minute | M | Month |\n * | s | Second | S | Fraction of second |\n * | y | Year (abs) | Y | |\n *\n * Letters marked by * are not implemented but reserved by Unicode standard.\n */\n\nexport const lightFormatters = {\n // Year\n y(date, token) {\n // From http://www.unicode.org/reports/tr35/tr35-31/tr35-dates.html#Date_Format_tokens\n // | Year | y | yy | yyy | yyyy | yyyyy |\n // |----------|-------|----|-------|-------|-------|\n // | AD 1 | 1 | 01 | 001 | 0001 | 00001 |\n // | AD 12 | 12 | 12 | 012 | 0012 | 00012 |\n // | AD 123 | 123 | 23 | 123 | 0123 | 00123 |\n // | AD 1234 | 1234 | 34 | 1234 | 1234 | 01234 |\n // | AD 12345 | 12345 | 45 | 12345 | 12345 | 12345 |\n\n const signedYear = date.getFullYear();\n // Returns 1 for 1 BC (which is year 0 in JavaScript)\n const year = signedYear > 0 ? signedYear : 1 - signedYear;\n return addLeadingZeros(token === \"yy\" ? year % 100 : year, token.length);\n },\n\n // Month\n M(date, token) {\n const month = date.getMonth();\n return token === \"M\" ? String(month + 1) : addLeadingZeros(month + 1, 2);\n },\n\n // Day of the month\n d(date, token) {\n return addLeadingZeros(date.getDate(), token.length);\n },\n\n // AM or PM\n a(date, token) {\n const dayPeriodEnumValue = date.getHours() / 12 >= 1 ? \"pm\" : \"am\";\n\n switch (token) {\n case \"a\":\n case \"aa\":\n return dayPeriodEnumValue.toUpperCase();\n case \"aaa\":\n return dayPeriodEnumValue;\n case \"aaaaa\":\n return dayPeriodEnumValue[0];\n case \"aaaa\":\n default:\n return dayPeriodEnumValue === \"am\" ? \"a.m.\" : \"p.m.\";\n }\n },\n\n // Hour [1-12]\n h(date, token) {\n return addLeadingZeros(date.getHours() % 12 || 12, token.length);\n },\n\n // Hour [0-23]\n H(date, token) {\n return addLeadingZeros(date.getHours(), token.length);\n },\n\n // Minute\n m(date, token) {\n return addLeadingZeros(date.getMinutes(), token.length);\n },\n\n // Second\n s(date, token) {\n return addLeadingZeros(date.getSeconds(), token.length);\n },\n\n // Fraction of second\n S(date, token) {\n const numberOfDigits = token.length;\n const milliseconds = date.getMilliseconds();\n const fractionalSeconds = Math.trunc(\n milliseconds * Math.pow(10, numberOfDigits - 3),\n );\n return addLeadingZeros(fractionalSeconds, token.length);\n },\n};\n","import { getDayOfYear } from \"../../getDayOfYear.js\";\nimport { getISOWeek } from \"../../getISOWeek.js\";\nimport { getISOWeekYear } from \"../../getISOWeekYear.js\";\nimport { getWeek } from \"../../getWeek.js\";\nimport { getWeekYear } from \"../../getWeekYear.js\";\n\nimport { addLeadingZeros } from \"../addLeadingZeros.js\";\nimport { lightFormatters } from \"./lightFormatters.js\";\n\nconst dayPeriodEnum = {\n am: \"am\",\n pm: \"pm\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"morning\",\n afternoon: \"afternoon\",\n evening: \"evening\",\n night: \"night\",\n};\n\n/*\n * | | Unit | | Unit |\n * |-----|--------------------------------|-----|--------------------------------|\n * | a | AM, PM | A* | Milliseconds in day |\n * | b | AM, PM, noon, midnight | B | Flexible day period |\n * | c | Stand-alone local day of week | C* | Localized hour w/ day period |\n * | d | Day of month | D | Day of year |\n * | e | Local day of week | E | Day of week |\n * | f | | F* | Day of week in month |\n * | g* | Modified Julian day | G | Era |\n * | h | Hour [1-12] | H | Hour [0-23] |\n * | i! | ISO day of week | I! | ISO week of year |\n * | j* | Localized hour w/ day period | J* | Localized hour w/o day period |\n * | k | Hour [1-24] | K | Hour [0-11] |\n * | l* | (deprecated) | L | Stand-alone month |\n * | m | Minute | M | Month |\n * | n | | N | |\n * | o! | Ordinal number modifier | O | Timezone (GMT) |\n * | p! | Long localized time | P! | Long localized date |\n * | q | Stand-alone quarter | Q | Quarter |\n * | r* | Related Gregorian year | R! | ISO week-numbering year |\n * | s | Second | S | Fraction of second |\n * | t! | Seconds timestamp | T! | Milliseconds timestamp |\n * | u | Extended year | U* | Cyclic year |\n * | v* | Timezone (generic non-locat.) | V* | Timezone (location) |\n * | w | Local week of year | W* | Week of month |\n * | x | Timezone (ISO-8601 w/o Z) | X | Timezone (ISO-8601) |\n * | y | Year (abs) | Y | Local week-numbering year |\n * | z | Timezone (specific non-locat.) | Z* | Timezone (aliases) |\n *\n * Letters marked by * are not implemented but reserved by Unicode standard.\n *\n * Letters marked by ! are non-standard, but implemented by date-fns:\n * - `o` modifies the previous token to turn it into an ordinal (see `format` docs)\n * - `i` is ISO day of week. For `i` and `ii` is returns numeric ISO week days,\n * i.e. 7 for Sunday, 1 for Monday, etc.\n * - `I` is ISO week of year, as opposed to `w` which is local week of year.\n * - `R` is ISO week-numbering year, as opposed to `Y` which is local week-numbering year.\n * `R` is supposed to be used in conjunction with `I` and `i`\n * for universal ISO week-numbering date, whereas\n * `Y` is supposed to be used in conjunction with `w` and `e`\n * for week-numbering date specific to the locale.\n * - `P` is long localized date format\n * - `p` is long localized time format\n */\n\nexport const formatters = {\n // Era\n G: function (date, token, localize) {\n const era = date.getFullYear() > 0 ? 1 : 0;\n switch (token) {\n // AD, BC\n case \"G\":\n case \"GG\":\n case \"GGG\":\n return localize.era(era, { width: \"abbreviated\" });\n // A, B\n case \"GGGGG\":\n return localize.era(era, { width: \"narrow\" });\n // Anno Domini, Before Christ\n case \"GGGG\":\n default:\n return localize.era(era, { width: \"wide\" });\n }\n },\n\n // Year\n y: function (date, token, localize) {\n // Ordinal number\n if (token === \"yo\") {\n const signedYear = date.getFullYear();\n // Returns 1 for 1 BC (which is year 0 in JavaScript)\n const year = signedYear > 0 ? signedYear : 1 - signedYear;\n return localize.ordinalNumber(year, { unit: \"year\" });\n }\n\n return lightFormatters.y(date, token);\n },\n\n // Local week-numbering year\n Y: function (date, token, localize, options) {\n const signedWeekYear = getWeekYear(date, options);\n // Returns 1 for 1 BC (which is year 0 in JavaScript)\n const weekYear = signedWeekYear > 0 ? signedWeekYear : 1 - signedWeekYear;\n\n // Two digit year\n if (token === \"YY\") {\n const twoDigitYear = weekYear % 100;\n return addLeadingZeros(twoDigitYear, 2);\n }\n\n // Ordinal number\n if (token === \"Yo\") {\n return localize.ordinalNumber(weekYear, { unit: \"year\" });\n }\n\n // Padding\n return addLeadingZeros(weekYear, token.length);\n },\n\n // ISO week-numbering year\n R: function (date, token) {\n const isoWeekYear = getISOWeekYear(date);\n\n // Padding\n return addLeadingZeros(isoWeekYear, token.length);\n },\n\n // Extended year. This is a single number designating the year of this calendar system.\n // The main difference between `y` and `u` localizers are B.C. years:\n // | Year | `y` | `u` |\n // |------|-----|-----|\n // | AC 1 | 1 | 1 |\n // | BC 1 | 1 | 0 |\n // | BC 2 | 2 | -1 |\n // Also `yy` always returns the last two digits of a year,\n // while `uu` pads single digit years to 2 characters and returns other years unchanged.\n u: function (date, token) {\n const year = date.getFullYear();\n return addLeadingZeros(year, token.length);\n },\n\n // Quarter\n Q: function (date, token, localize) {\n const quarter = Math.ceil((date.getMonth() + 1) / 3);\n switch (token) {\n // 1, 2, 3, 4\n case \"Q\":\n return String(quarter);\n // 01, 02, 03, 04\n case \"QQ\":\n return addLeadingZeros(quarter, 2);\n // 1st, 2nd, 3rd, 4th\n case \"Qo\":\n return localize.ordinalNumber(quarter, { unit: \"quarter\" });\n // Q1, Q2, Q3, Q4\n case \"QQQ\":\n return localize.quarter(quarter, {\n width: \"abbreviated\",\n context: \"formatting\",\n });\n // 1, 2, 3, 4 (narrow quarter; could be not numerical)\n case \"QQQQQ\":\n return localize.quarter(quarter, {\n width: \"narrow\",\n context: \"formatting\",\n });\n // 1st quarter, 2nd quarter, ...\n case \"QQQQ\":\n default:\n return localize.quarter(quarter, {\n width: \"wide\",\n context: \"formatting\",\n });\n }\n },\n\n // Stand-alone quarter\n q: function (date, token, localize) {\n const quarter = Math.ceil((date.getMonth() + 1) / 3);\n switch (token) {\n // 1, 2, 3, 4\n case \"q\":\n return String(quarter);\n // 01, 02, 03, 04\n case \"qq\":\n return addLeadingZeros(quarter, 2);\n // 1st, 2nd, 3rd, 4th\n case \"qo\":\n return localize.ordinalNumber(quarter, { unit: \"quarter\" });\n // Q1, Q2, Q3, Q4\n case \"qqq\":\n return localize.quarter(quarter, {\n width: \"abbreviated\",\n context: \"standalone\",\n });\n // 1, 2, 3, 4 (narrow quarter; could be not numerical)\n case \"qqqqq\":\n return localize.quarter(quarter, {\n width: \"narrow\",\n context: \"standalone\",\n });\n // 1st quarter, 2nd quarter, ...\n case \"qqqq\":\n default:\n return localize.quarter(quarter, {\n width: \"wide\",\n context: \"standalone\",\n });\n }\n },\n\n // Month\n M: function (date, token, localize) {\n const month = date.getMonth();\n switch (token) {\n case \"M\":\n case \"MM\":\n return lightFormatters.M(date, token);\n // 1st, 2nd, ..., 12th\n case \"Mo\":\n return localize.ordinalNumber(month + 1, { unit: \"month\" });\n // Jan, Feb, ..., Dec\n case \"MMM\":\n return localize.month(month, {\n width: \"abbreviated\",\n context: \"formatting\",\n });\n // J, F, ..., D\n case \"MMMMM\":\n return localize.month(month, {\n width: \"narrow\",\n context: \"formatting\",\n });\n // January, February, ..., December\n case \"MMMM\":\n default:\n return localize.month(month, { width: \"wide\", context: \"formatting\" });\n }\n },\n\n // Stand-alone month\n L: function (date, token, localize) {\n const month = date.getMonth();\n switch (token) {\n // 1, 2, ..., 12\n case \"L\":\n return String(month + 1);\n // 01, 02, ..., 12\n case \"LL\":\n return addLeadingZeros(month + 1, 2);\n // 1st, 2nd, ..., 12th\n case \"Lo\":\n return localize.ordinalNumber(month + 1, { unit: \"month\" });\n // Jan, Feb, ..., Dec\n case \"LLL\":\n return localize.month(month, {\n width: \"abbreviated\",\n context: \"standalone\",\n });\n // J, F, ..., D\n case \"LLLLL\":\n return localize.month(month, {\n width: \"narrow\",\n context: \"standalone\",\n });\n // January, February, ..., December\n case \"LLLL\":\n default:\n return localize.month(month, { width: \"wide\", context: \"standalone\" });\n }\n },\n\n // Local week of year\n w: function (date, token, localize, options) {\n const week = getWeek(date, options);\n\n if (token === \"wo\") {\n return localize.ordinalNumber(week, { unit: \"week\" });\n }\n\n return addLeadingZeros(week, token.length);\n },\n\n // ISO week of year\n I: function (date, token, localize) {\n const isoWeek = getISOWeek(date);\n\n if (token === \"Io\") {\n return localize.ordinalNumber(isoWeek, { unit: \"week\" });\n }\n\n return addLeadingZeros(isoWeek, token.length);\n },\n\n // Day of the month\n d: function (date, token, localize) {\n if (token === \"do\") {\n return localize.ordinalNumber(date.getDate(), { unit: \"date\" });\n }\n\n return lightFormatters.d(date, token);\n },\n\n // Day of year\n D: function (date, token, localize) {\n const dayOfYear = getDayOfYear(date);\n\n if (token === \"Do\") {\n return localize.ordinalNumber(dayOfYear, { unit: \"dayOfYear\" });\n }\n\n return addLeadingZeros(dayOfYear, token.length);\n },\n\n // Day of week\n E: function (date, token, localize) {\n const dayOfWeek = date.getDay();\n switch (token) {\n // Tue\n case \"E\":\n case \"EE\":\n case \"EEE\":\n return localize.day(dayOfWeek, {\n width: \"abbreviated\",\n context: \"formatting\",\n });\n // T\n case \"EEEEE\":\n return localize.day(dayOfWeek, {\n width: \"narrow\",\n context: \"formatting\",\n });\n // Tu\n case \"EEEEEE\":\n return localize.day(dayOfWeek, {\n width: \"short\",\n context: \"formatting\",\n });\n // Tuesday\n case \"EEEE\":\n default:\n return localize.day(dayOfWeek, {\n width: \"wide\",\n context: \"formatting\",\n });\n }\n },\n\n // Local day of week\n e: function (date, token, localize, options) {\n const dayOfWeek = date.getDay();\n const localDayOfWeek = (dayOfWeek - options.weekStartsOn + 8) % 7 || 7;\n switch (token) {\n // Numerical value (Nth day of week with current locale or weekStartsOn)\n case \"e\":\n return String(localDayOfWeek);\n // Padded numerical value\n case \"ee\":\n return addLeadingZeros(localDayOfWeek, 2);\n // 1st, 2nd, ..., 7th\n case \"eo\":\n return localize.ordinalNumber(localDayOfWeek, { unit: \"day\" });\n case \"eee\":\n return localize.day(dayOfWeek, {\n width: \"abbreviated\",\n context: \"formatting\",\n });\n // T\n case \"eeeee\":\n return localize.day(dayOfWeek, {\n width: \"narrow\",\n context: \"formatting\",\n });\n // Tu\n case \"eeeeee\":\n return localize.day(dayOfWeek, {\n width: \"short\",\n context: \"formatting\",\n });\n // Tuesday\n case \"eeee\":\n default:\n return localize.day(dayOfWeek, {\n width: \"wide\",\n context: \"formatting\",\n });\n }\n },\n\n // Stand-alone local day of week\n c: function (date, token, localize, options) {\n const dayOfWeek = date.getDay();\n const localDayOfWeek = (dayOfWeek - options.weekStartsOn + 8) % 7 || 7;\n switch (token) {\n // Numerical value (same as in `e`)\n case \"c\":\n return String(localDayOfWeek);\n // Padded numerical value\n case \"cc\":\n return addLeadingZeros(localDayOfWeek, token.length);\n // 1st, 2nd, ..., 7th\n case \"co\":\n return localize.ordinalNumber(localDayOfWeek, { unit: \"day\" });\n case \"ccc\":\n return localize.day(dayOfWeek, {\n width: \"abbreviated\",\n context: \"standalone\",\n });\n // T\n case \"ccccc\":\n return localize.day(dayOfWeek, {\n width: \"narrow\",\n context: \"standalone\",\n });\n // Tu\n case \"cccccc\":\n return localize.day(dayOfWeek, {\n width: \"short\",\n context: \"standalone\",\n });\n // Tuesday\n case \"cccc\":\n default:\n return localize.day(dayOfWeek, {\n width: \"wide\",\n context: \"standalone\",\n });\n }\n },\n\n // ISO day of week\n i: function (date, token, localize) {\n const dayOfWeek = date.getDay();\n const isoDayOfWeek = dayOfWeek === 0 ? 7 : dayOfWeek;\n switch (token) {\n // 2\n case \"i\":\n return String(isoDayOfWeek);\n // 02\n case \"ii\":\n return addLeadingZeros(isoDayOfWeek, token.length);\n // 2nd\n case \"io\":\n return localize.ordinalNumber(isoDayOfWeek, { unit: \"day\" });\n // Tue\n case \"iii\":\n return localize.day(dayOfWeek, {\n width: \"abbreviated\",\n context: \"formatting\",\n });\n // T\n case \"iiiii\":\n return localize.day(dayOfWeek, {\n width: \"narrow\",\n context: \"formatting\",\n });\n // Tu\n case \"iiiiii\":\n return localize.day(dayOfWeek, {\n width: \"short\",\n context: \"formatting\",\n });\n // Tuesday\n case \"iiii\":\n default:\n return localize.day(dayOfWeek, {\n width: \"wide\",\n context: \"formatting\",\n });\n }\n },\n\n // AM or PM\n a: function (date, token, localize) {\n const hours = date.getHours();\n const dayPeriodEnumValue = hours / 12 >= 1 ? \"pm\" : \"am\";\n\n switch (token) {\n case \"a\":\n case \"aa\":\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: \"abbreviated\",\n context: \"formatting\",\n });\n case \"aaa\":\n return localize\n .dayPeriod(dayPeriodEnumValue, {\n width: \"abbreviated\",\n context: \"formatting\",\n })\n .toLowerCase();\n case \"aaaaa\":\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: \"narrow\",\n context: \"formatting\",\n });\n case \"aaaa\":\n default:\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: \"wide\",\n context: \"formatting\",\n });\n }\n },\n\n // AM, PM, midnight, noon\n b: function (date, token, localize) {\n const hours = date.getHours();\n let dayPeriodEnumValue;\n if (hours === 12) {\n dayPeriodEnumValue = dayPeriodEnum.noon;\n } else if (hours === 0) {\n dayPeriodEnumValue = dayPeriodEnum.midnight;\n } else {\n dayPeriodEnumValue = hours / 12 >= 1 ? \"pm\" : \"am\";\n }\n\n switch (token) {\n case \"b\":\n case \"bb\":\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: \"abbreviated\",\n context: \"formatting\",\n });\n case \"bbb\":\n return localize\n .dayPeriod(dayPeriodEnumValue, {\n width: \"abbreviated\",\n context: \"formatting\",\n })\n .toLowerCase();\n case \"bbbbb\":\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: \"narrow\",\n context: \"formatting\",\n });\n case \"bbbb\":\n default:\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: \"wide\",\n context: \"formatting\",\n });\n }\n },\n\n // in the morning, in the afternoon, in the evening, at night\n B: function (date, token, localize) {\n const hours = date.getHours();\n let dayPeriodEnumValue;\n if (hours >= 17) {\n dayPeriodEnumValue = dayPeriodEnum.evening;\n } else if (hours >= 12) {\n dayPeriodEnumValue = dayPeriodEnum.afternoon;\n } else if (hours >= 4) {\n dayPeriodEnumValue = dayPeriodEnum.morning;\n } else {\n dayPeriodEnumValue = dayPeriodEnum.night;\n }\n\n switch (token) {\n case \"B\":\n case \"BB\":\n case \"BBB\":\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: \"abbreviated\",\n context: \"formatting\",\n });\n case \"BBBBB\":\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: \"narrow\",\n context: \"formatting\",\n });\n case \"BBBB\":\n default:\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: \"wide\",\n context: \"formatting\",\n });\n }\n },\n\n // Hour [1-12]\n h: function (date, token, localize) {\n if (token === \"ho\") {\n let hours = date.getHours() % 12;\n if (hours === 0) hours = 12;\n return localize.ordinalNumber(hours, { unit: \"hour\" });\n }\n\n return lightFormatters.h(date, token);\n },\n\n // Hour [0-23]\n H: function (date, token, localize) {\n if (token === \"Ho\") {\n return localize.ordinalNumber(date.getHours(), { unit: \"hour\" });\n }\n\n return lightFormatters.H(date, token);\n },\n\n // Hour [0-11]\n K: function (date, token, localize) {\n const hours = date.getHours() % 12;\n\n if (token === \"Ko\") {\n return localize.ordinalNumber(hours, { unit: \"hour\" });\n }\n\n return addLeadingZeros(hours, token.length);\n },\n\n // Hour [1-24]\n k: function (date, token, localize) {\n let hours = date.getHours();\n if (hours === 0) hours = 24;\n\n if (token === \"ko\") {\n return localize.ordinalNumber(hours, { unit: \"hour\" });\n }\n\n return addLeadingZeros(hours, token.length);\n },\n\n // Minute\n m: function (date, token, localize) {\n if (token === \"mo\") {\n return localize.ordinalNumber(date.getMinutes(), { unit: \"minute\" });\n }\n\n return lightFormatters.m(date, token);\n },\n\n // Second\n s: function (date, token, localize) {\n if (token === \"so\") {\n return localize.ordinalNumber(date.getSeconds(), { unit: \"second\" });\n }\n\n return lightFormatters.s(date, token);\n },\n\n // Fraction of second\n S: function (date, token) {\n return lightFormatters.S(date, token);\n },\n\n // Timezone (ISO-8601. If offset is 0, output is always `'Z'`)\n X: function (date, token, _localize) {\n const timezoneOffset = date.getTimezoneOffset();\n\n if (timezoneOffset === 0) {\n return \"Z\";\n }\n\n switch (token) {\n // Hours and optional minutes\n case \"X\":\n return formatTimezoneWithOptionalMinutes(timezoneOffset);\n\n // Hours, minutes and optional seconds without `:` delimiter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `XX`\n case \"XXXX\":\n case \"XX\": // Hours and minutes without `:` delimiter\n return formatTimezone(timezoneOffset);\n\n // Hours, minutes and optional seconds with `:` delimiter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `XXX`\n case \"XXXXX\":\n case \"XXX\": // Hours and minutes with `:` delimiter\n default:\n return formatTimezone(timezoneOffset, \":\");\n }\n },\n\n // Timezone (ISO-8601. If offset is 0, output is `'+00:00'` or equivalent)\n x: function (date, token, _localize) {\n const timezoneOffset = date.getTimezoneOffset();\n\n switch (token) {\n // Hours and optional minutes\n case \"x\":\n return formatTimezoneWithOptionalMinutes(timezoneOffset);\n\n // Hours, minutes and optional seconds without `:` delimiter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `xx`\n case \"xxxx\":\n case \"xx\": // Hours and minutes without `:` delimiter\n return formatTimezone(timezoneOffset);\n\n // Hours, minutes and optional seconds with `:` delimiter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `xxx`\n case \"xxxxx\":\n case \"xxx\": // Hours and minutes with `:` delimiter\n default:\n return formatTimezone(timezoneOffset, \":\");\n }\n },\n\n // Timezone (GMT)\n O: function (date, token, _localize) {\n const timezoneOffset = date.getTimezoneOffset();\n\n switch (token) {\n // Short\n case \"O\":\n case \"OO\":\n case \"OOO\":\n return \"GMT\" + formatTimezoneShort(timezoneOffset, \":\");\n // Long\n case \"OOOO\":\n default:\n return \"GMT\" + formatTimezone(timezoneOffset, \":\");\n }\n },\n\n // Timezone (specific non-location)\n z: function (date, token, _localize) {\n const timezoneOffset = date.getTimezoneOffset();\n\n switch (token) {\n // Short\n case \"z\":\n case \"zz\":\n case \"zzz\":\n return \"GMT\" + formatTimezoneShort(timezoneOffset, \":\");\n // Long\n case \"zzzz\":\n default:\n return \"GMT\" + formatTimezone(timezoneOffset, \":\");\n }\n },\n\n // Seconds timestamp\n t: function (date, token, _localize) {\n const timestamp = Math.trunc(+date / 1000);\n return addLeadingZeros(timestamp, token.length);\n },\n\n // Milliseconds timestamp\n T: function (date, token, _localize) {\n return addLeadingZeros(+date, token.length);\n },\n};\n\nfunction formatTimezoneShort(offset, delimiter = \"\") {\n const sign = offset > 0 ? \"-\" : \"+\";\n const absOffset = Math.abs(offset);\n const hours = Math.trunc(absOffset / 60);\n const minutes = absOffset % 60;\n if (minutes === 0) {\n return sign + String(hours);\n }\n return sign + String(hours) + delimiter + addLeadingZeros(minutes, 2);\n}\n\nfunction formatTimezoneWithOptionalMinutes(offset, delimiter) {\n if (offset % 60 === 0) {\n const sign = offset > 0 ? \"-\" : \"+\";\n return sign + addLeadingZeros(Math.abs(offset) / 60, 2);\n }\n return formatTimezone(offset, delimiter);\n}\n\nfunction formatTimezone(offset, delimiter = \"\") {\n const sign = offset > 0 ? \"-\" : \"+\";\n const absOffset = Math.abs(offset);\n const hours = addLeadingZeros(Math.trunc(absOffset / 60), 2);\n const minutes = addLeadingZeros(absOffset % 60, 2);\n return sign + hours + delimiter + minutes;\n}\n","const dateLongFormatter = (pattern, formatLong) => {\n switch (pattern) {\n case \"P\":\n return formatLong.date({ width: \"short\" });\n case \"PP\":\n return formatLong.date({ width: \"medium\" });\n case \"PPP\":\n return formatLong.date({ width: \"long\" });\n case \"PPPP\":\n default:\n return formatLong.date({ width: \"full\" });\n }\n};\n\nconst timeLongFormatter = (pattern, formatLong) => {\n switch (pattern) {\n case \"p\":\n return formatLong.time({ width: \"short\" });\n case \"pp\":\n return formatLong.time({ width: \"medium\" });\n case \"ppp\":\n return formatLong.time({ width: \"long\" });\n case \"pppp\":\n default:\n return formatLong.time({ width: \"full\" });\n }\n};\n\nconst dateTimeLongFormatter = (pattern, formatLong) => {\n const matchResult = pattern.match(/(P+)(p+)?/) || [];\n const datePattern = matchResult[1];\n const timePattern = matchResult[2];\n\n if (!timePattern) {\n return dateLongFormatter(pattern, formatLong);\n }\n\n let dateTimeFormat;\n\n switch (datePattern) {\n case \"P\":\n dateTimeFormat = formatLong.dateTime({ width: \"short\" });\n break;\n case \"PP\":\n dateTimeFormat = formatLong.dateTime({ width: \"medium\" });\n break;\n case \"PPP\":\n dateTimeFormat = formatLong.dateTime({ width: \"long\" });\n break;\n case \"PPPP\":\n default:\n dateTimeFormat = formatLong.dateTime({ width: \"full\" });\n break;\n }\n\n return dateTimeFormat\n .replace(\"{{date}}\", dateLongFormatter(datePattern, formatLong))\n .replace(\"{{time}}\", timeLongFormatter(timePattern, formatLong));\n};\n\nexport const longFormatters = {\n p: timeLongFormatter,\n P: dateTimeLongFormatter,\n};\n","const dayOfYearTokenRE = /^D+$/;\nconst weekYearTokenRE = /^Y+$/;\n\nconst throwTokens = [\"D\", \"DD\", \"YY\", \"YYYY\"];\n\nexport function isProtectedDayOfYearToken(token) {\n return dayOfYearTokenRE.test(token);\n}\n\nexport function isProtectedWeekYearToken(token) {\n return weekYearTokenRE.test(token);\n}\n\nexport function warnOrThrowProtectedError(token, format, input) {\n const _message = message(token, format, input);\n console.warn(_message);\n if (throwTokens.includes(token)) throw new RangeError(_message);\n}\n\nfunction message(token, format, input) {\n const subject = token[0] === \"Y\" ? \"years\" : \"days of the month\";\n return `Use \\`${token.toLowerCase()}\\` instead of \\`${token}\\` (in \\`${format}\\`) for formatting ${subject} to the input \\`${input}\\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`;\n}\n","import { defaultLocale } from \"./_lib/defaultLocale.js\";\nimport { getDefaultOptions } from \"./_lib/defaultOptions.js\";\nimport { formatters } from \"./_lib/format/formatters.js\";\nimport { longFormatters } from \"./_lib/format/longFormatters.js\";\nimport {\n isProtectedDayOfYearToken,\n isProtectedWeekYearToken,\n warnOrThrowProtectedError,\n} from \"./_lib/protectedTokens.js\";\nimport { isValid } from \"./isValid.js\";\nimport { toDate } from \"./toDate.js\";\n\n// Rexports of internal for libraries to use.\n// See: https://github.com/date-fns/date-fns/issues/3638#issuecomment-1877082874\nexport { formatters, longFormatters };\n\n// This RegExp consists of three parts separated by `|`:\n// - [yYQqMLwIdDecihHKkms]o matches any available ordinal number token\n// (one of the certain letters followed by `o`)\n// - (\\w)\\1* matches any sequences of the same letter\n// - '' matches two quote characters in a row\n// - '(''|[^'])+('|$) matches anything surrounded by two quote characters ('),\n// except a single quote symbol, which ends the sequence.\n// Two quote characters do not end the sequence.\n// If there is no matching single quote\n// then the sequence will continue until the end of the string.\n// - . matches any single character unmatched by previous parts of the RegExps\nconst formattingTokensRegExp =\n /[yYQqMLwIdDecihHKkms]o|(\\w)\\1*|''|'(''|[^'])+('|$)|./g;\n\n// This RegExp catches symbols escaped by quotes, and also\n// sequences of symbols P, p, and the combinations like `PPPPPPPppppp`\nconst longFormattingTokensRegExp = /P+p+|P+|p+|''|'(''|[^'])+('|$)|./g;\n\nconst escapedStringRegExp = /^'([^]*?)'?$/;\nconst doubleQuoteRegExp = /''/g;\nconst unescapedLatinCharacterRegExp = /[a-zA-Z]/;\n\nexport { format as formatDate };\n\n/**\n * The {@link format} function options.\n */\n\n/**\n * @name format\n * @alias formatDate\n * @category Common Helpers\n * @summary Format the date.\n *\n * @description\n * Return the formatted date string in the given format. The result may vary by locale.\n *\n * > ⚠️ Please note that the `format` tokens differ from Moment.js and other libraries.\n * > See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * The characters wrapped between two single quotes characters (') are escaped.\n * Two single quotes in a row, whether inside or outside a quoted sequence, represent a 'real' single quote.\n * (see the last example)\n *\n * Format of the string is based on Unicode Technical Standard #35:\n * https://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table\n * with a few additions (see note 7 below the table).\n *\n * Accepted patterns:\n * | Unit | Pattern | Result examples | Notes |\n * |---------------------------------|---------|-----------------------------------|-------|\n * | Era | G..GGG | AD, BC | |\n * | | GGGG | Anno Domini, Before Christ | 2 |\n * | | GGGGG | A, B | |\n * | Calendar year | y | 44, 1, 1900, 2017 | 5 |\n * | | yo | 44th, 1st, 0th, 17th | 5,7 |\n * | | yy | 44, 01, 00, 17 | 5 |\n * | | yyy | 044, 001, 1900, 2017 | 5 |\n * | | yyyy | 0044, 0001, 1900, 2017 | 5 |\n * | | yyyyy | ... | 3,5 |\n * | Local week-numbering year | Y | 44, 1, 1900, 2017 | 5 |\n * | | Yo | 44th, 1st, 1900th, 2017th | 5,7 |\n * | | YY | 44, 01, 00, 17 | 5,8 |\n * | | YYY | 044, 001, 1900, 2017 | 5 |\n * | | YYYY | 0044, 0001, 1900, 2017 | 5,8 |\n * | | YYYYY | ... | 3,5 |\n * | ISO week-numbering year | R | -43, 0, 1, 1900, 2017 | 5,7 |\n * | | RR | -43, 00, 01, 1900, 2017 | 5,7 |\n * | | RRR | -043, 000, 001, 1900, 2017 | 5,7 |\n * | | RRRR | -0043, 0000, 0001, 1900, 2017 | 5,7 |\n * | | RRRRR | ... | 3,5,7 |\n * | Extended year | u | -43, 0, 1, 1900, 2017 | 5 |\n * | | uu | -43, 01, 1900, 2017 | 5 |\n * | | uuu | -043, 001, 1900, 2017 | 5 |\n * | | uuuu | -0043, 0001, 1900, 2017 | 5 |\n * | | uuuuu | ... | 3,5 |\n * | Quarter (formatting) | Q | 1, 2, 3, 4 | |\n * | | Qo | 1st, 2nd, 3rd, 4th | 7 |\n * | | QQ | 01, 02, 03, 04 | |\n * | | QQQ | Q1, Q2, Q3, Q4 | |\n * | | QQQQ | 1st quarter, 2nd quarter, ... | 2 |\n * | | QQQQQ | 1, 2, 3, 4 | 4 |\n * | Quarter (stand-alone) | q | 1, 2, 3, 4 | |\n * | | qo | 1st, 2nd, 3rd, 4th | 7 |\n * | | qq | 01, 02, 03, 04 | |\n * | | qqq | Q1, Q2, Q3, Q4 | |\n * | | qqqq | 1st quarter, 2nd quarter, ... | 2 |\n * | | qqqqq | 1, 2, 3, 4 | 4 |\n * | Month (formatting) | M | 1, 2, ..., 12 | |\n * | | Mo | 1st, 2nd, ..., 12th | 7 |\n * | | MM | 01, 02, ..., 12 | |\n * | | MMM | Jan, Feb, ..., Dec | |\n * | | MMMM | January, February, ..., December | 2 |\n * | | MMMMM | J, F, ..., D | |\n * | Month (stand-alone) | L | 1, 2, ..., 12 | |\n * | | Lo | 1st, 2nd, ..., 12th | 7 |\n * | | LL | 01, 02, ..., 12 | |\n * | | LLL | Jan, Feb, ..., Dec | |\n * | | LLLL | January, February, ..., December | 2 |\n * | | LLLLL | J, F, ..., D | |\n * | Local week of year | w | 1, 2, ..., 53 | |\n * | | wo | 1st, 2nd, ..., 53th | 7 |\n * | | ww | 01, 02, ..., 53 | |\n * | ISO week of year | I | 1, 2, ..., 53 | 7 |\n * | | Io | 1st, 2nd, ..., 53th | 7 |\n * | | II | 01, 02, ..., 53 | 7 |\n * | Day of month | d | 1, 2, ..., 31 | |\n * | | do | 1st, 2nd, ..., 31st | 7 |\n * | | dd | 01, 02, ..., 31 | |\n * | Day of year | D | 1, 2, ..., 365, 366 | 9 |\n * | | Do | 1st, 2nd, ..., 365th, 366th | 7 |\n * | | DD | 01, 02, ..., 365, 366 | 9 |\n * | | DDD | 001, 002, ..., 365, 366 | |\n * | | DDDD | ... | 3 |\n * | Day of week (formatting) | E..EEE | Mon, Tue, Wed, ..., Sun | |\n * | | EEEE | Monday, Tuesday, ..., Sunday | 2 |\n * | | EEEEE | M, T, W, T, F, S, S | |\n * | | EEEEEE | Mo, Tu, We, Th, Fr, Sa, Su | |\n * | ISO day of week (formatting) | i | 1, 2, 3, ..., 7 | 7 |\n * | | io | 1st, 2nd, ..., 7th | 7 |\n * | | ii | 01, 02, ..., 07 | 7 |\n * | | iii | Mon, Tue, Wed, ..., Sun | 7 |\n * | | iiii | Monday, Tuesday, ..., Sunday | 2,7 |\n * | | iiiii | M, T, W, T, F, S, S | 7 |\n * | | iiiiii | Mo, Tu, We, Th, Fr, Sa, Su | 7 |\n * | Local day of week (formatting) | e | 2, 3, 4, ..., 1 | |\n * | | eo | 2nd, 3rd, ..., 1st | 7 |\n * | | ee | 02, 03, ..., 01 | |\n * | | eee | Mon, Tue, Wed, ..., Sun | |\n * | | eeee | Monday, Tuesday, ..., Sunday | 2 |\n * | | eeeee | M, T, W, T, F, S, S | |\n * | | eeeeee | Mo, Tu, We, Th, Fr, Sa, Su | |\n * | Local day of week (stand-alone) | c | 2, 3, 4, ..., 1 | |\n * | | co | 2nd, 3rd, ..., 1st | 7 |\n * | | cc | 02, 03, ..., 01 | |\n * | | ccc | Mon, Tue, Wed, ..., Sun | |\n * | | cccc | Monday, Tuesday, ..., Sunday | 2 |\n * | | ccccc | M, T, W, T, F, S, S | |\n * | | cccccc | Mo, Tu, We, Th, Fr, Sa, Su | |\n * | AM, PM | a..aa | AM, PM | |\n * | | aaa | am, pm | |\n * | | aaaa | a.m., p.m. | 2 |\n * | | aaaaa | a, p | |\n * | AM, PM, noon, midnight | b..bb | AM, PM, noon, midnight | |\n * | | bbb | am, pm, noon, midnight | |\n * | | bbbb | a.m., p.m., noon, midnight | 2 |\n * | | bbbbb | a, p, n, mi | |\n * | Flexible day period | B..BBB | at night, in the morning, ... | |\n * | | BBBB | at night, in the morning, ... | 2 |\n * | | BBBBB | at night, in the morning, ... | |\n * | Hour [1-12] | h | 1, 2, ..., 11, 12 | |\n * | | ho | 1st, 2nd, ..., 11th, 12th | 7 |\n * | | hh | 01, 02, ..., 11, 12 | |\n * | Hour [0-23] | H | 0, 1, 2, ..., 23 | |\n * | | Ho | 0th, 1st, 2nd, ..., 23rd | 7 |\n * | | HH | 00, 01, 02, ..., 23 | |\n * | Hour [0-11] | K | 1, 2, ..., 11, 0 | |\n * | | Ko | 1st, 2nd, ..., 11th, 0th | 7 |\n * | | KK | 01, 02, ..., 11, 00 | |\n * | Hour [1-24] | k | 24, 1, 2, ..., 23 | |\n * | | ko | 24th, 1st, 2nd, ..., 23rd | 7 |\n * | | kk | 24, 01, 02, ..., 23 | |\n * | Minute | m | 0, 1, ..., 59 | |\n * | | mo | 0th, 1st, ..., 59th | 7 |\n * | | mm | 00, 01, ..., 59 | |\n * | Second | s | 0, 1, ..., 59 | |\n * | | so | 0th, 1st, ..., 59th | 7 |\n * | | ss | 00, 01, ..., 59 | |\n * | Fraction of second | S | 0, 1, ..., 9 | |\n * | | SS | 00, 01, ..., 99 | |\n * | | SSS | 000, 001, ..., 999 | |\n * | | SSSS | ... | 3 |\n * | Timezone (ISO-8601 w/ Z) | X | -08, +0530, Z | |\n * | | XX | -0800, +0530, Z | |\n * | | XXX | -08:00, +05:30, Z | |\n * | | XXXX | -0800, +0530, Z, +123456 | 2 |\n * | | XXXXX | -08:00, +05:30, Z, +12:34:56 | |\n * | Timezone (ISO-8601 w/o Z) | x | -08, +0530, +00 | |\n * | | xx | -0800, +0530, +0000 | |\n * | | xxx | -08:00, +05:30, +00:00 | 2 |\n * | | xxxx | -0800, +0530, +0000, +123456 | |\n * | | xxxxx | -08:00, +05:30, +00:00, +12:34:56 | |\n * | Timezone (GMT) | O...OOO | GMT-8, GMT+5:30, GMT+0 | |\n * | | OOOO | GMT-08:00, GMT+05:30, GMT+00:00 | 2 |\n * | Timezone (specific non-locat.) | z...zzz | GMT-8, GMT+5:30, GMT+0 | 6 |\n * | | zzzz | GMT-08:00, GMT+05:30, GMT+00:00 | 2,6 |\n * | Seconds timestamp | t | 512969520 | 7 |\n * | | tt | ... | 3,7 |\n * | Milliseconds timestamp | T | 512969520900 | 7 |\n * | | TT | ... | 3,7 |\n * | Long localized date | P | 04/29/1453 | 7 |\n * | | PP | Apr 29, 1453 | 7 |\n * | | PPP | April 29th, 1453 | 7 |\n * | | PPPP | Friday, April 29th, 1453 | 2,7 |\n * | Long localized time | p | 12:00 AM | 7 |\n * | | pp | 12:00:00 AM | 7 |\n * | | ppp | 12:00:00 AM GMT+2 | 7 |\n * | | pppp | 12:00:00 AM GMT+02:00 | 2,7 |\n * | Combination of date and time | Pp | 04/29/1453, 12:00 AM | 7 |\n * | | PPpp | Apr 29, 1453, 12:00:00 AM | 7 |\n * | | PPPppp | April 29th, 1453 at ... | 7 |\n * | | PPPPpppp| Friday, April 29th, 1453 at ... | 2,7 |\n * Notes:\n * 1. \"Formatting\" units (e.g. formatting quarter) in the default en-US locale\n * are the same as \"stand-alone\" units, but are different in some languages.\n * \"Formatting\" units are declined according to the rules of the language\n * in the context of a date. \"Stand-alone\" units are always nominative singular:\n *\n * `format(new Date(2017, 10, 6), 'do LLLL', {locale: cs}) //=> '6. listopad'`\n *\n * `format(new Date(2017, 10, 6), 'do MMMM', {locale: cs}) //=> '6. listopadu'`\n *\n * 2. Any sequence of the identical letters is a pattern, unless it is escaped by\n * the single quote characters (see below).\n * If the sequence is longer than listed in table (e.g. `EEEEEEEEEEE`)\n * the output will be the same as default pattern for this unit, usually\n * the longest one (in case of ISO weekdays, `EEEE`). Default patterns for units\n * are marked with \"2\" in the last column of the table.\n *\n * `format(new Date(2017, 10, 6), 'MMM') //=> 'Nov'`\n *\n * `format(new Date(2017, 10, 6), 'MMMM') //=> 'November'`\n *\n * `format(new Date(2017, 10, 6), 'MMMMM') //=> 'N'`\n *\n * `format(new Date(2017, 10, 6), 'MMMMMM') //=> 'November'`\n *\n * `format(new Date(2017, 10, 6), 'MMMMMMM') //=> 'November'`\n *\n * 3. Some patterns could be unlimited length (such as `yyyyyyyy`).\n * The output will be padded with zeros to match the length of the pattern.\n *\n * `format(new Date(2017, 10, 6), 'yyyyyyyy') //=> '00002017'`\n *\n * 4. `QQQQQ` and `qqqqq` could be not strictly numerical in some locales.\n * These tokens represent the shortest form of the quarter.\n *\n * 5. The main difference between `y` and `u` patterns are B.C. years:\n *\n * | Year | `y` | `u` |\n * |------|-----|-----|\n * | AC 1 | 1 | 1 |\n * | BC 1 | 1 | 0 |\n * | BC 2 | 2 | -1 |\n *\n * Also `yy` always returns the last two digits of a year,\n * while `uu` pads single digit years to 2 characters and returns other years unchanged:\n *\n * | Year | `yy` | `uu` |\n * |------|------|------|\n * | 1 | 01 | 01 |\n * | 14 | 14 | 14 |\n * | 376 | 76 | 376 |\n * | 1453 | 53 | 1453 |\n *\n * The same difference is true for local and ISO week-numbering years (`Y` and `R`),\n * except local week-numbering years are dependent on `options.weekStartsOn`\n * and `options.firstWeekContainsDate` (compare [getISOWeekYear](https://date-fns.org/docs/getISOWeekYear)\n * and [getWeekYear](https://date-fns.org/docs/getWeekYear)).\n *\n * 6. Specific non-location timezones are currently unavailable in `date-fns`,\n * so right now these tokens fall back to GMT timezones.\n *\n * 7. These patterns are not in the Unicode Technical Standard #35:\n * - `i`: ISO day of week\n * - `I`: ISO week of year\n * - `R`: ISO week-numbering year\n * - `t`: seconds timestamp\n * - `T`: milliseconds timestamp\n * - `o`: ordinal number modifier\n * - `P`: long localized date\n * - `p`: long localized time\n *\n * 8. `YY` and `YYYY` tokens represent week-numbering years but they are often confused with years.\n * You should enable `options.useAdditionalWeekYearTokens` to use them. See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * 9. `D` and `DD` tokens represent days of the year but they are often confused with days of the month.\n * You should enable `options.useAdditionalDayOfYearTokens` to use them. See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * @param date - The original date\n * @param format - The string of tokens\n * @param options - An object with options\n *\n * @returns The formatted date string\n *\n * @throws `date` must not be Invalid Date\n * @throws `options.locale` must contain `localize` property\n * @throws `options.locale` must contain `formatLong` property\n * @throws use `yyyy` instead of `YYYY` for formatting years using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws use `yy` instead of `YY` for formatting years using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws use `d` instead of `D` for formatting days of the month using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws use `dd` instead of `DD` for formatting days of the month using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws format string contains an unescaped latin alphabet character\n *\n * @example\n * // Represent 11 February 2014 in middle-endian format:\n * const result = format(new Date(2014, 1, 11), 'MM/dd/yyyy')\n * //=> '02/11/2014'\n *\n * @example\n * // Represent 2 July 2014 in Esperanto:\n * import { eoLocale } from 'date-fns/locale/eo'\n * const result = format(new Date(2014, 6, 2), \"do 'de' MMMM yyyy\", {\n * locale: eoLocale\n * })\n * //=> '2-a de julio 2014'\n *\n * @example\n * // Escape string by single quote characters:\n * const result = format(new Date(2014, 6, 2, 15), \"h 'o''clock'\")\n * //=> \"3 o'clock\"\n */\nexport function format(date, formatStr, options) {\n const defaultOptions = getDefaultOptions();\n const locale = options?.locale ?? defaultOptions.locale ?? defaultLocale;\n\n const firstWeekContainsDate =\n options?.firstWeekContainsDate ??\n options?.locale?.options?.firstWeekContainsDate ??\n defaultOptions.firstWeekContainsDate ??\n defaultOptions.locale?.options?.firstWeekContainsDate ??\n 1;\n\n const weekStartsOn =\n options?.weekStartsOn ??\n options?.locale?.options?.weekStartsOn ??\n defaultOptions.weekStartsOn ??\n defaultOptions.locale?.options?.weekStartsOn ??\n 0;\n\n const originalDate = toDate(date, options?.in);\n\n if (!isValid(originalDate)) {\n throw new RangeError(\"Invalid time value\");\n }\n\n let parts = formatStr\n .match(longFormattingTokensRegExp)\n .map((substring) => {\n const firstCharacter = substring[0];\n if (firstCharacter === \"p\" || firstCharacter === \"P\") {\n const longFormatter = longFormatters[firstCharacter];\n return longFormatter(substring, locale.formatLong);\n }\n return substring;\n })\n .join(\"\")\n .match(formattingTokensRegExp)\n .map((substring) => {\n // Replace two single quote characters with one single quote character\n if (substring === \"''\") {\n return { isToken: false, value: \"'\" };\n }\n\n const firstCharacter = substring[0];\n if (firstCharacter === \"'\") {\n return { isToken: false, value: cleanEscapedString(substring) };\n }\n\n if (formatters[firstCharacter]) {\n return { isToken: true, value: substring };\n }\n\n if (firstCharacter.match(unescapedLatinCharacterRegExp)) {\n throw new RangeError(\n \"Format string contains an unescaped latin alphabet character `\" +\n firstCharacter +\n \"`\",\n );\n }\n\n return { isToken: false, value: substring };\n });\n\n // invoke localize preprocessor (only for french locales at the moment)\n if (locale.localize.preprocessor) {\n parts = locale.localize.preprocessor(originalDate, parts);\n }\n\n const formatterOptions = {\n firstWeekContainsDate,\n weekStartsOn,\n locale,\n };\n\n return parts\n .map((part) => {\n if (!part.isToken) return part.value;\n\n const token = part.value;\n\n if (\n (!options?.useAdditionalWeekYearTokens &&\n isProtectedWeekYearToken(token)) ||\n (!options?.useAdditionalDayOfYearTokens &&\n isProtectedDayOfYearToken(token))\n ) {\n warnOrThrowProtectedError(token, formatStr, String(date));\n }\n\n const formatter = formatters[token[0]];\n return formatter(originalDate, token, locale.localize, formatterOptions);\n })\n .join(\"\");\n}\n\nfunction cleanEscapedString(input) {\n const matched = input.match(escapedStringRegExp);\n\n if (!matched) {\n return input;\n }\n\n return matched[1].replace(doubleQuoteRegExp, \"'\");\n}\n\n// Fallback for modularized imports:\nexport default format;\n","import { constructFrom } from \"../../constructFrom.js\";\nimport { transpose } from \"../../transpose.js\";\n\nconst TIMEZONE_UNIT_PRIORITY = 10;\n\nexport class Setter {\n subPriority = 0;\n\n validate(_utcDate, _options) {\n return true;\n }\n}\n\nexport class ValueSetter extends Setter {\n constructor(\n value,\n validateValue,\n\n setValue,\n\n priority,\n subPriority,\n ) {\n super();\n this.value = value;\n this.validateValue = validateValue;\n this.setValue = setValue;\n this.priority = priority;\n if (subPriority) {\n this.subPriority = subPriority;\n }\n }\n\n validate(date, options) {\n return this.validateValue(date, this.value, options);\n }\n\n set(date, flags, options) {\n return this.setValue(date, flags, this.value, options);\n }\n}\n\nexport class DateTimezoneSetter extends Setter {\n priority = TIMEZONE_UNIT_PRIORITY;\n subPriority = -1;\n\n constructor(context, reference) {\n super();\n this.context = context || ((date) => constructFrom(reference, date));\n }\n\n set(date, flags) {\n if (flags.timestampIsSet) return date;\n return constructFrom(date, transpose(date, this.context));\n }\n}\n","import { constructFrom } from \"./constructFrom.js\";\n\n/**\n * @name transpose\n * @category Generic Helpers\n * @summary Transpose the date to the given constructor.\n *\n * @description\n * The function transposes the date to the given constructor. It helps you\n * to transpose the date in the system time zone to say `UTCDate` or any other\n * date extension.\n *\n * @typeParam InputDate - The input `Date` type derived from the passed argument.\n * @typeParam ResultDate - The result `Date` type derived from the passed constructor.\n *\n * @param date - The date to use values from\n * @param constructor - The date constructor to use\n *\n * @returns Date transposed to the given constructor\n *\n * @example\n * // Create July 10, 2022 00:00 in locale time zone\n * const date = new Date(2022, 6, 10)\n * //=> 'Sun Jul 10 2022 00:00:00 GMT+0800 (Singapore Standard Time)'\n *\n * @example\n * // Transpose the date to July 10, 2022 00:00 in UTC\n * transpose(date, UTCDate)\n * //=> 'Sun Jul 10 2022 00:00:00 GMT+0000 (Coordinated Universal Time)'\n */\nexport function transpose(date, constructor) {\n const date_ = isConstructor(constructor)\n ? new constructor(0)\n : constructFrom(constructor, 0);\n date_.setFullYear(date.getFullYear(), date.getMonth(), date.getDate());\n date_.setHours(\n date.getHours(),\n date.getMinutes(),\n date.getSeconds(),\n date.getMilliseconds(),\n );\n return date_;\n}\n\nfunction isConstructor(constructor) {\n return (\n typeof constructor === \"function\" &&\n constructor.prototype?.constructor === constructor\n );\n}\n\n// Fallback for modularized imports:\nexport default transpose;\n","import { ValueSetter } from \"./Setter.js\";\n\nexport class Parser {\n run(dateString, token, match, options) {\n const result = this.parse(dateString, token, match, options);\n if (!result) {\n return null;\n }\n\n return {\n setter: new ValueSetter(\n result.value,\n this.validate,\n this.set,\n this.priority,\n this.subPriority,\n ),\n rest: result.rest,\n };\n }\n\n validate(_utcDate, _value, _options) {\n return true;\n }\n}\n","export const numericPatterns = {\n month: /^(1[0-2]|0?\\d)/, // 0 to 12\n date: /^(3[0-1]|[0-2]?\\d)/, // 0 to 31\n dayOfYear: /^(36[0-6]|3[0-5]\\d|[0-2]?\\d?\\d)/, // 0 to 366\n week: /^(5[0-3]|[0-4]?\\d)/, // 0 to 53\n hour23h: /^(2[0-3]|[0-1]?\\d)/, // 0 to 23\n hour24h: /^(2[0-4]|[0-1]?\\d)/, // 0 to 24\n hour11h: /^(1[0-1]|0?\\d)/, // 0 to 11\n hour12h: /^(1[0-2]|0?\\d)/, // 0 to 12\n minute: /^[0-5]?\\d/, // 0 to 59\n second: /^[0-5]?\\d/, // 0 to 59\n\n singleDigit: /^\\d/, // 0 to 9\n twoDigits: /^\\d{1,2}/, // 0 to 99\n threeDigits: /^\\d{1,3}/, // 0 to 999\n fourDigits: /^\\d{1,4}/, // 0 to 9999\n\n anyDigitsSigned: /^-?\\d+/,\n singleDigitSigned: /^-?\\d/, // 0 to 9, -0 to -9\n twoDigitsSigned: /^-?\\d{1,2}/, // 0 to 99, -0 to -99\n threeDigitsSigned: /^-?\\d{1,3}/, // 0 to 999, -0 to -999\n fourDigitsSigned: /^-?\\d{1,4}/, // 0 to 9999, -0 to -9999\n};\n\nexport const timezonePatterns = {\n basicOptionalMinutes: /^([+-])(\\d{2})(\\d{2})?|Z/,\n basic: /^([+-])(\\d{2})(\\d{2})|Z/,\n basicOptionalSeconds: /^([+-])(\\d{2})(\\d{2})((\\d{2}))?|Z/,\n extended: /^([+-])(\\d{2}):(\\d{2})|Z/,\n extendedOptionalSeconds: /^([+-])(\\d{2}):(\\d{2})(:(\\d{2}))?|Z/,\n};\n","import {\n millisecondsInHour,\n millisecondsInMinute,\n millisecondsInSecond,\n} from \"../../constants.js\";\n\nimport { numericPatterns } from \"./constants.js\";\n\nexport function mapValue(parseFnResult, mapFn) {\n if (!parseFnResult) {\n return parseFnResult;\n }\n\n return {\n value: mapFn(parseFnResult.value),\n rest: parseFnResult.rest,\n };\n}\n\nexport function parseNumericPattern(pattern, dateString) {\n const matchResult = dateString.match(pattern);\n\n if (!matchResult) {\n return null;\n }\n\n return {\n value: parseInt(matchResult[0], 10),\n rest: dateString.slice(matchResult[0].length),\n };\n}\n\nexport function parseTimezonePattern(pattern, dateString) {\n const matchResult = dateString.match(pattern);\n\n if (!matchResult) {\n return null;\n }\n\n // Input is 'Z'\n if (matchResult[0] === \"Z\") {\n return {\n value: 0,\n rest: dateString.slice(1),\n };\n }\n\n const sign = matchResult[1] === \"+\" ? 1 : -1;\n const hours = matchResult[2] ? parseInt(matchResult[2], 10) : 0;\n const minutes = matchResult[3] ? parseInt(matchResult[3], 10) : 0;\n const seconds = matchResult[5] ? parseInt(matchResult[5], 10) : 0;\n\n return {\n value:\n sign *\n (hours * millisecondsInHour +\n minutes * millisecondsInMinute +\n seconds * millisecondsInSecond),\n rest: dateString.slice(matchResult[0].length),\n };\n}\n\nexport function parseAnyDigitsSigned(dateString) {\n return parseNumericPattern(numericPatterns.anyDigitsSigned, dateString);\n}\n\nexport function parseNDigits(n, dateString) {\n switch (n) {\n case 1:\n return parseNumericPattern(numericPatterns.singleDigit, dateString);\n case 2:\n return parseNumericPattern(numericPatterns.twoDigits, dateString);\n case 3:\n return parseNumericPattern(numericPatterns.threeDigits, dateString);\n case 4:\n return parseNumericPattern(numericPatterns.fourDigits, dateString);\n default:\n return parseNumericPattern(new RegExp(\"^\\\\d{1,\" + n + \"}\"), dateString);\n }\n}\n\nexport function parseNDigitsSigned(n, dateString) {\n switch (n) {\n case 1:\n return parseNumericPattern(numericPatterns.singleDigitSigned, dateString);\n case 2:\n return parseNumericPattern(numericPatterns.twoDigitsSigned, dateString);\n case 3:\n return parseNumericPattern(numericPatterns.threeDigitsSigned, dateString);\n case 4:\n return parseNumericPattern(numericPatterns.fourDigitsSigned, dateString);\n default:\n return parseNumericPattern(new RegExp(\"^-?\\\\d{1,\" + n + \"}\"), dateString);\n }\n}\n\nexport function dayPeriodEnumToHours(dayPeriod) {\n switch (dayPeriod) {\n case \"morning\":\n return 4;\n case \"evening\":\n return 17;\n case \"pm\":\n case \"noon\":\n case \"afternoon\":\n return 12;\n case \"am\":\n case \"midnight\":\n case \"night\":\n default:\n return 0;\n }\n}\n\nexport function normalizeTwoDigitYear(twoDigitYear, currentYear) {\n const isCommonEra = currentYear > 0;\n // Absolute number of the current year:\n // 1 -> 1 AC\n // 0 -> 1 BC\n // -1 -> 2 BC\n const absCurrentYear = isCommonEra ? currentYear : 1 - currentYear;\n\n let result;\n if (absCurrentYear <= 50) {\n result = twoDigitYear || 100;\n } else {\n const rangeEnd = absCurrentYear + 50;\n const rangeEndCentury = Math.trunc(rangeEnd / 100) * 100;\n const isPreviousCentury = twoDigitYear >= rangeEnd % 100;\n result = twoDigitYear + rangeEndCentury - (isPreviousCentury ? 100 : 0);\n }\n\n return isCommonEra ? result : 1 - result;\n}\n\nexport function isLeapYearIndex(year) {\n return year % 400 === 0 || (year % 4 === 0 && year % 100 !== 0);\n}\n","import { numericPatterns } from \"../constants.js\";\nimport { Parser } from \"../Parser.js\";\n\nimport {\n isLeapYearIndex,\n parseNDigits,\n parseNumericPattern,\n} from \"../utils.js\";\n\nconst DAYS_IN_MONTH = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\nconst DAYS_IN_MONTH_LEAP_YEAR = [\n 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31,\n];\n\n// Day of the month\nexport class DateParser extends Parser {\n priority = 90;\n subPriority = 1;\n\n parse(dateString, token, match) {\n switch (token) {\n case \"d\":\n return parseNumericPattern(numericPatterns.date, dateString);\n case \"do\":\n return match.ordinalNumber(dateString, { unit: \"date\" });\n default:\n return parseNDigits(token.length, dateString);\n }\n }\n\n validate(date, value) {\n const year = date.getFullYear();\n const isLeapYear = isLeapYearIndex(year);\n const month = date.getMonth();\n if (isLeapYear) {\n return value >= 1 && value <= DAYS_IN_MONTH_LEAP_YEAR[month];\n } else {\n return value >= 1 && value <= DAYS_IN_MONTH[month];\n }\n }\n\n set(date, _flags, value) {\n date.setDate(value);\n date.setHours(0, 0, 0, 0);\n return date;\n }\n\n incompatibleTokens = [\n \"Y\",\n \"R\",\n \"q\",\n \"Q\",\n \"w\",\n \"I\",\n \"D\",\n \"i\",\n \"e\",\n \"c\",\n \"t\",\n \"T\",\n ];\n}\n","import { getDefaultOptions } from \"./_lib/defaultOptions.js\";\nimport { addDays } from \"./addDays.js\";\nimport { toDate } from \"./toDate.js\";\n\n/**\n * The {@link setDay} function options.\n */\n\n/**\n * @name setDay\n * @category Weekday Helpers\n * @summary Set the day of the week to the given date.\n *\n * @description\n * Set the day of the week to the given date.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param date - The date to be changed\n * @param day - The day of the week of the new date\n * @param options - An object with options.\n *\n * @returns The new date with the day of the week set\n *\n * @example\n * // Set week day to Sunday, with the default weekStartsOn of Sunday:\n * const result = setDay(new Date(2014, 8, 1), 0)\n * //=> Sun Aug 31 2014 00:00:00\n *\n * @example\n * // Set week day to Sunday, with a weekStartsOn of Monday:\n * const result = setDay(new Date(2014, 8, 1), 0, { weekStartsOn: 1 })\n * //=> Sun Sep 07 2014 00:00:00\n */\nexport function setDay(date, day, options) {\n const defaultOptions = getDefaultOptions();\n const weekStartsOn =\n options?.weekStartsOn ??\n options?.locale?.options?.weekStartsOn ??\n defaultOptions.weekStartsOn ??\n defaultOptions.locale?.options?.weekStartsOn ??\n 0;\n\n const date_ = toDate(date, options?.in);\n const currentDay = date_.getDay();\n\n const remainder = day % 7;\n const dayIndex = (remainder + 7) % 7;\n\n const delta = 7 - weekStartsOn;\n const diff =\n day < 0 || day > 6\n ? day - ((currentDay + delta) % 7)\n : ((dayIndex + delta) % 7) - ((currentDay + delta) % 7);\n return addDays(date_, diff, options);\n}\n\n// Fallback for modularized imports:\nexport default setDay;\n","import { addDays } from \"./addDays.js\";\nimport { getISODay } from \"./getISODay.js\";\nimport { toDate } from \"./toDate.js\";\n\n/**\n * The {@link setISODay} function options.\n */\n\n/**\n * @name setISODay\n * @category Weekday Helpers\n * @summary Set the day of the ISO week to the given date.\n *\n * @description\n * Set the day of the ISO week to the given date.\n * ISO week starts with Monday.\n * 7 is the index of Sunday, 1 is the index of Monday, etc.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param date - The date to be changed\n * @param day - The day of the ISO week of the new date\n * @param options - An object with options\n *\n * @returns The new date with the day of the ISO week set\n *\n * @example\n * // Set Sunday to 1 September 2014:\n * const result = setISODay(new Date(2014, 8, 1), 7)\n * //=> Sun Sep 07 2014 00:00:00\n */\nexport function setISODay(date, day, options) {\n const date_ = toDate(date, options?.in);\n const currentDay = getISODay(date_, options);\n const diff = day - currentDay;\n return addDays(date_, diff, options);\n}\n\n// Fallback for modularized imports:\nexport default setISODay;\n","import { toDate } from \"./toDate.js\";\n\n/**\n * The {@link getISODay} function options.\n */\n\n/**\n * @name getISODay\n * @category Weekday Helpers\n * @summary Get the day of the ISO week of the given date.\n *\n * @description\n * Get the day of the ISO week of the given date,\n * which is 7 for Sunday, 1 for Monday etc.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * @param date - The given date\n * @param options - An object with options\n *\n * @returns The day of ISO week\n *\n * @example\n * // Which day of the ISO week is 26 February 2012?\n * const result = getISODay(new Date(2012, 1, 26))\n * //=> 7\n */\nexport function getISODay(date, options) {\n const day = toDate(date, options?.in).getDay();\n return day === 0 ? 7 : day;\n}\n\n// Fallback for modularized imports:\nexport default getISODay;\n","import { EraParser } from \"./parsers/EraParser.js\";\nimport { YearParser } from \"./parsers/YearParser.js\";\nimport { LocalWeekYearParser } from \"./parsers/LocalWeekYearParser.js\";\nimport { ISOWeekYearParser } from \"./parsers/ISOWeekYearParser.js\";\nimport { ExtendedYearParser } from \"./parsers/ExtendedYearParser.js\";\nimport { QuarterParser } from \"./parsers/QuarterParser.js\";\nimport { StandAloneQuarterParser } from \"./parsers/StandAloneQuarterParser.js\";\nimport { MonthParser } from \"./parsers/MonthParser.js\";\nimport { StandAloneMonthParser } from \"./parsers/StandAloneMonthParser.js\";\nimport { LocalWeekParser } from \"./parsers/LocalWeekParser.js\";\nimport { ISOWeekParser } from \"./parsers/ISOWeekParser.js\";\nimport { DateParser } from \"./parsers/DateParser.js\";\nimport { DayOfYearParser } from \"./parsers/DayOfYearParser.js\";\nimport { DayParser } from \"./parsers/DayParser.js\";\nimport { LocalDayParser } from \"./parsers/LocalDayParser.js\";\nimport { StandAloneLocalDayParser } from \"./parsers/StandAloneLocalDayParser.js\";\nimport { ISODayParser } from \"./parsers/ISODayParser.js\";\nimport { AMPMParser } from \"./parsers/AMPMParser.js\";\nimport { AMPMMidnightParser } from \"./parsers/AMPMMidnightParser.js\";\nimport { DayPeriodParser } from \"./parsers/DayPeriodParser.js\";\nimport { Hour1to12Parser } from \"./parsers/Hour1to12Parser.js\";\nimport { Hour0to23Parser } from \"./parsers/Hour0to23Parser.js\";\nimport { Hour0To11Parser } from \"./parsers/Hour0To11Parser.js\";\nimport { Hour1To24Parser } from \"./parsers/Hour1To24Parser.js\";\nimport { MinuteParser } from \"./parsers/MinuteParser.js\";\nimport { SecondParser } from \"./parsers/SecondParser.js\";\nimport { FractionOfSecondParser } from \"./parsers/FractionOfSecondParser.js\";\nimport { ISOTimezoneWithZParser } from \"./parsers/ISOTimezoneWithZParser.js\";\nimport { ISOTimezoneParser } from \"./parsers/ISOTimezoneParser.js\";\nimport { TimestampSecondsParser } from \"./parsers/TimestampSecondsParser.js\";\nimport { TimestampMillisecondsParser } from \"./parsers/TimestampMillisecondsParser.js\";\n\n/*\n * | | Unit | | Unit |\n * |-----|--------------------------------|-----|--------------------------------|\n * | a | AM, PM | A* | Milliseconds in day |\n * | b | AM, PM, noon, midnight | B | Flexible day period |\n * | c | Stand-alone local day of week | C* | Localized hour w/ day period |\n * | d | Day of month | D | Day of year |\n * | e | Local day of week | E | Day of week |\n * | f | | F* | Day of week in month |\n * | g* | Modified Julian day | G | Era |\n * | h | Hour [1-12] | H | Hour [0-23] |\n * | i! | ISO day of week | I! | ISO week of year |\n * | j* | Localized hour w/ day period | J* | Localized hour w/o day period |\n * | k | Hour [1-24] | K | Hour [0-11] |\n * | l* | (deprecated) | L | Stand-alone month |\n * | m | Minute | M | Month |\n * | n | | N | |\n * | o! | Ordinal number modifier | O* | Timezone (GMT) |\n * | p | | P | |\n * | q | Stand-alone quarter | Q | Quarter |\n * | r* | Related Gregorian year | R! | ISO week-numbering year |\n * | s | Second | S | Fraction of second |\n * | t! | Seconds timestamp | T! | Milliseconds timestamp |\n * | u | Extended year | U* | Cyclic year |\n * | v* | Timezone (generic non-locat.) | V* | Timezone (location) |\n * | w | Local week of year | W* | Week of month |\n * | x | Timezone (ISO-8601 w/o Z) | X | Timezone (ISO-8601) |\n * | y | Year (abs) | Y | Local week-numbering year |\n * | z* | Timezone (specific non-locat.) | Z* | Timezone (aliases) |\n *\n * Letters marked by * are not implemented but reserved by Unicode standard.\n *\n * Letters marked by ! are non-standard, but implemented by date-fns:\n * - `o` modifies the previous token to turn it into an ordinal (see `parse` docs)\n * - `i` is ISO day of week. For `i` and `ii` is returns numeric ISO week days,\n * i.e. 7 for Sunday, 1 for Monday, etc.\n * - `I` is ISO week of year, as opposed to `w` which is local week of year.\n * - `R` is ISO week-numbering year, as opposed to `Y` which is local week-numbering year.\n * `R` is supposed to be used in conjunction with `I` and `i`\n * for universal ISO week-numbering date, whereas\n * `Y` is supposed to be used in conjunction with `w` and `e`\n * for week-numbering date specific to the locale.\n */\nexport const parsers = {\n G: new EraParser(),\n y: new YearParser(),\n Y: new LocalWeekYearParser(),\n R: new ISOWeekYearParser(),\n u: new ExtendedYearParser(),\n Q: new QuarterParser(),\n q: new StandAloneQuarterParser(),\n M: new MonthParser(),\n L: new StandAloneMonthParser(),\n w: new LocalWeekParser(),\n I: new ISOWeekParser(),\n d: new DateParser(),\n D: new DayOfYearParser(),\n E: new DayParser(),\n e: new LocalDayParser(),\n c: new StandAloneLocalDayParser(),\n i: new ISODayParser(),\n a: new AMPMParser(),\n b: new AMPMMidnightParser(),\n B: new DayPeriodParser(),\n h: new Hour1to12Parser(),\n H: new Hour0to23Parser(),\n K: new Hour0To11Parser(),\n k: new Hour1To24Parser(),\n m: new MinuteParser(),\n s: new SecondParser(),\n S: new FractionOfSecondParser(),\n X: new ISOTimezoneWithZParser(),\n x: new ISOTimezoneParser(),\n t: new TimestampSecondsParser(),\n T: new TimestampMillisecondsParser(),\n};\n","import { Parser } from \"../Parser.js\";\n\nexport class EraParser extends Parser {\n priority = 140;\n\n parse(dateString, token, match) {\n switch (token) {\n // AD, BC\n case \"G\":\n case \"GG\":\n case \"GGG\":\n return (\n match.era(dateString, { width: \"abbreviated\" }) ||\n match.era(dateString, { width: \"narrow\" })\n );\n\n // A, B\n case \"GGGGG\":\n return match.era(dateString, { width: \"narrow\" });\n // Anno Domini, Before Christ\n case \"GGGG\":\n default:\n return (\n match.era(dateString, { width: \"wide\" }) ||\n match.era(dateString, { width: \"abbreviated\" }) ||\n match.era(dateString, { width: \"narrow\" })\n );\n }\n }\n\n set(date, flags, value) {\n flags.era = value;\n date.setFullYear(value, 0, 1);\n date.setHours(0, 0, 0, 0);\n return date;\n }\n\n incompatibleTokens = [\"R\", \"u\", \"t\", \"T\"];\n}\n","import { Parser } from \"../Parser.js\";\n\nimport { mapValue, normalizeTwoDigitYear, parseNDigits } from \"../utils.js\";\n\n// From http://www.unicode.org/reports/tr35/tr35-31/tr35-dates.html#Date_Format_Patterns\n// | Year | y | yy | yyy | yyyy | yyyyy |\n// |----------|-------|----|-------|-------|-------|\n// | AD 1 | 1 | 01 | 001 | 0001 | 00001 |\n// | AD 12 | 12 | 12 | 012 | 0012 | 00012 |\n// | AD 123 | 123 | 23 | 123 | 0123 | 00123 |\n// | AD 1234 | 1234 | 34 | 1234 | 1234 | 01234 |\n// | AD 12345 | 12345 | 45 | 12345 | 12345 | 12345 |\nexport class YearParser extends Parser {\n priority = 130;\n incompatibleTokens = [\"Y\", \"R\", \"u\", \"w\", \"I\", \"i\", \"e\", \"c\", \"t\", \"T\"];\n\n parse(dateString, token, match) {\n const valueCallback = (year) => ({\n year,\n isTwoDigitYear: token === \"yy\",\n });\n\n switch (token) {\n case \"y\":\n return mapValue(parseNDigits(4, dateString), valueCallback);\n case \"yo\":\n return mapValue(\n match.ordinalNumber(dateString, {\n unit: \"year\",\n }),\n valueCallback,\n );\n default:\n return mapValue(parseNDigits(token.length, dateString), valueCallback);\n }\n }\n\n validate(_date, value) {\n return value.isTwoDigitYear || value.year > 0;\n }\n\n set(date, flags, value) {\n const currentYear = date.getFullYear();\n\n if (value.isTwoDigitYear) {\n const normalizedTwoDigitYear = normalizeTwoDigitYear(\n value.year,\n currentYear,\n );\n date.setFullYear(normalizedTwoDigitYear, 0, 1);\n date.setHours(0, 0, 0, 0);\n return date;\n }\n\n const year =\n !(\"era\" in flags) || flags.era === 1 ? value.year : 1 - value.year;\n date.setFullYear(year, 0, 1);\n date.setHours(0, 0, 0, 0);\n return date;\n }\n}\n","import { getWeekYear } from \"../../../getWeekYear.js\";\n\nimport { startOfWeek } from \"../../../startOfWeek.js\";\nimport { Parser } from \"../Parser.js\";\n\nimport { mapValue, normalizeTwoDigitYear, parseNDigits } from \"../utils.js\";\n\n// Local week-numbering year\nexport class LocalWeekYearParser extends Parser {\n priority = 130;\n\n parse(dateString, token, match) {\n const valueCallback = (year) => ({\n year,\n isTwoDigitYear: token === \"YY\",\n });\n\n switch (token) {\n case \"Y\":\n return mapValue(parseNDigits(4, dateString), valueCallback);\n case \"Yo\":\n return mapValue(\n match.ordinalNumber(dateString, {\n unit: \"year\",\n }),\n valueCallback,\n );\n default:\n return mapValue(parseNDigits(token.length, dateString), valueCallback);\n }\n }\n\n validate(_date, value) {\n return value.isTwoDigitYear || value.year > 0;\n }\n\n set(date, flags, value, options) {\n const currentYear = getWeekYear(date, options);\n\n if (value.isTwoDigitYear) {\n const normalizedTwoDigitYear = normalizeTwoDigitYear(\n value.year,\n currentYear,\n );\n date.setFullYear(\n normalizedTwoDigitYear,\n 0,\n options.firstWeekContainsDate,\n );\n date.setHours(0, 0, 0, 0);\n return startOfWeek(date, options);\n }\n\n const year =\n !(\"era\" in flags) || flags.era === 1 ? value.year : 1 - value.year;\n date.setFullYear(year, 0, options.firstWeekContainsDate);\n date.setHours(0, 0, 0, 0);\n return startOfWeek(date, options);\n }\n\n incompatibleTokens = [\n \"y\",\n \"R\",\n \"u\",\n \"Q\",\n \"q\",\n \"M\",\n \"L\",\n \"I\",\n \"d\",\n \"D\",\n \"i\",\n \"t\",\n \"T\",\n ];\n}\n","import { startOfISOWeek } from \"../../../startOfISOWeek.js\";\nimport { constructFrom } from \"../../../constructFrom.js\";\nimport { Parser } from \"../Parser.js\";\n\nimport { parseNDigitsSigned } from \"../utils.js\";\n\n// ISO week-numbering year\nexport class ISOWeekYearParser extends Parser {\n priority = 130;\n\n parse(dateString, token) {\n if (token === \"R\") {\n return parseNDigitsSigned(4, dateString);\n }\n\n return parseNDigitsSigned(token.length, dateString);\n }\n\n set(date, _flags, value) {\n const firstWeekOfYear = constructFrom(date, 0);\n firstWeekOfYear.setFullYear(value, 0, 4);\n firstWeekOfYear.setHours(0, 0, 0, 0);\n return startOfISOWeek(firstWeekOfYear);\n }\n\n incompatibleTokens = [\n \"G\",\n \"y\",\n \"Y\",\n \"u\",\n \"Q\",\n \"q\",\n \"M\",\n \"L\",\n \"w\",\n \"d\",\n \"D\",\n \"e\",\n \"c\",\n \"t\",\n \"T\",\n ];\n}\n","import { Parser } from \"../Parser.js\";\n\nimport { parseNDigitsSigned } from \"../utils.js\";\n\nexport class ExtendedYearParser extends Parser {\n priority = 130;\n\n parse(dateString, token) {\n if (token === \"u\") {\n return parseNDigitsSigned(4, dateString);\n }\n\n return parseNDigitsSigned(token.length, dateString);\n }\n\n set(date, _flags, value) {\n date.setFullYear(value, 0, 1);\n date.setHours(0, 0, 0, 0);\n return date;\n }\n\n incompatibleTokens = [\"G\", \"y\", \"Y\", \"R\", \"w\", \"I\", \"i\", \"e\", \"c\", \"t\", \"T\"];\n}\n","import { Parser } from \"../Parser.js\";\n\nimport { parseNDigits } from \"../utils.js\";\n\nexport class QuarterParser extends Parser {\n priority = 120;\n\n parse(dateString, token, match) {\n switch (token) {\n // 1, 2, 3, 4\n case \"Q\":\n case \"QQ\": // 01, 02, 03, 04\n return parseNDigits(token.length, dateString);\n // 1st, 2nd, 3rd, 4th\n case \"Qo\":\n return match.ordinalNumber(dateString, { unit: \"quarter\" });\n // Q1, Q2, Q3, Q4\n case \"QQQ\":\n return (\n match.quarter(dateString, {\n width: \"abbreviated\",\n context: \"formatting\",\n }) ||\n match.quarter(dateString, {\n width: \"narrow\",\n context: \"formatting\",\n })\n );\n\n // 1, 2, 3, 4 (narrow quarter; could be not numerical)\n case \"QQQQQ\":\n return match.quarter(dateString, {\n width: \"narrow\",\n context: \"formatting\",\n });\n // 1st quarter, 2nd quarter, ...\n case \"QQQQ\":\n default:\n return (\n match.quarter(dateString, {\n width: \"wide\",\n context: \"formatting\",\n }) ||\n match.quarter(dateString, {\n width: \"abbreviated\",\n context: \"formatting\",\n }) ||\n match.quarter(dateString, {\n width: \"narrow\",\n context: \"formatting\",\n })\n );\n }\n }\n\n validate(_date, value) {\n return value >= 1 && value <= 4;\n }\n\n set(date, _flags, value) {\n date.setMonth((value - 1) * 3, 1);\n date.setHours(0, 0, 0, 0);\n return date;\n }\n\n incompatibleTokens = [\n \"Y\",\n \"R\",\n \"q\",\n \"M\",\n \"L\",\n \"w\",\n \"I\",\n \"d\",\n \"D\",\n \"i\",\n \"e\",\n \"c\",\n \"t\",\n \"T\",\n ];\n}\n","import { Parser } from \"../Parser.js\";\n\nimport { parseNDigits } from \"../utils.js\";\n\nexport class StandAloneQuarterParser extends Parser {\n priority = 120;\n\n parse(dateString, token, match) {\n switch (token) {\n // 1, 2, 3, 4\n case \"q\":\n case \"qq\": // 01, 02, 03, 04\n return parseNDigits(token.length, dateString);\n // 1st, 2nd, 3rd, 4th\n case \"qo\":\n return match.ordinalNumber(dateString, { unit: \"quarter\" });\n // Q1, Q2, Q3, Q4\n case \"qqq\":\n return (\n match.quarter(dateString, {\n width: \"abbreviated\",\n context: \"standalone\",\n }) ||\n match.quarter(dateString, {\n width: \"narrow\",\n context: \"standalone\",\n })\n );\n\n // 1, 2, 3, 4 (narrow quarter; could be not numerical)\n case \"qqqqq\":\n return match.quarter(dateString, {\n width: \"narrow\",\n context: \"standalone\",\n });\n // 1st quarter, 2nd quarter, ...\n case \"qqqq\":\n default:\n return (\n match.quarter(dateString, {\n width: \"wide\",\n context: \"standalone\",\n }) ||\n match.quarter(dateString, {\n width: \"abbreviated\",\n context: \"standalone\",\n }) ||\n match.quarter(dateString, {\n width: \"narrow\",\n context: \"standalone\",\n })\n );\n }\n }\n\n validate(_date, value) {\n return value >= 1 && value <= 4;\n }\n\n set(date, _flags, value) {\n date.setMonth((value - 1) * 3, 1);\n date.setHours(0, 0, 0, 0);\n return date;\n }\n\n incompatibleTokens = [\n \"Y\",\n \"R\",\n \"Q\",\n \"M\",\n \"L\",\n \"w\",\n \"I\",\n \"d\",\n \"D\",\n \"i\",\n \"e\",\n \"c\",\n \"t\",\n \"T\",\n ];\n}\n","import { numericPatterns } from \"../constants.js\";\nimport { Parser } from \"../Parser.js\";\n\nimport { mapValue, parseNDigits, parseNumericPattern } from \"../utils.js\";\n\nexport class MonthParser extends Parser {\n incompatibleTokens = [\n \"Y\",\n \"R\",\n \"q\",\n \"Q\",\n \"L\",\n \"w\",\n \"I\",\n \"D\",\n \"i\",\n \"e\",\n \"c\",\n \"t\",\n \"T\",\n ];\n\n priority = 110;\n\n parse(dateString, token, match) {\n const valueCallback = (value) => value - 1;\n\n switch (token) {\n // 1, 2, ..., 12\n case \"M\":\n return mapValue(\n parseNumericPattern(numericPatterns.month, dateString),\n valueCallback,\n );\n // 01, 02, ..., 12\n case \"MM\":\n return mapValue(parseNDigits(2, dateString), valueCallback);\n // 1st, 2nd, ..., 12th\n case \"Mo\":\n return mapValue(\n match.ordinalNumber(dateString, {\n unit: \"month\",\n }),\n valueCallback,\n );\n // Jan, Feb, ..., Dec\n case \"MMM\":\n return (\n match.month(dateString, {\n width: \"abbreviated\",\n context: \"formatting\",\n }) ||\n match.month(dateString, { width: \"narrow\", context: \"formatting\" })\n );\n\n // J, F, ..., D\n case \"MMMMM\":\n return match.month(dateString, {\n width: \"narrow\",\n context: \"formatting\",\n });\n // January, February, ..., December\n case \"MMMM\":\n default:\n return (\n match.month(dateString, { width: \"wide\", context: \"formatting\" }) ||\n match.month(dateString, {\n width: \"abbreviated\",\n context: \"formatting\",\n }) ||\n match.month(dateString, { width: \"narrow\", context: \"formatting\" })\n );\n }\n }\n\n validate(_date, value) {\n return value >= 0 && value <= 11;\n }\n\n set(date, _flags, value) {\n date.setMonth(value, 1);\n date.setHours(0, 0, 0, 0);\n return date;\n }\n}\n","import { numericPatterns } from \"../constants.js\";\nimport { Parser } from \"../Parser.js\";\n\nimport { mapValue, parseNDigits, parseNumericPattern } from \"../utils.js\";\n\nexport class StandAloneMonthParser extends Parser {\n priority = 110;\n\n parse(dateString, token, match) {\n const valueCallback = (value) => value - 1;\n\n switch (token) {\n // 1, 2, ..., 12\n case \"L\":\n return mapValue(\n parseNumericPattern(numericPatterns.month, dateString),\n valueCallback,\n );\n // 01, 02, ..., 12\n case \"LL\":\n return mapValue(parseNDigits(2, dateString), valueCallback);\n // 1st, 2nd, ..., 12th\n case \"Lo\":\n return mapValue(\n match.ordinalNumber(dateString, {\n unit: \"month\",\n }),\n valueCallback,\n );\n // Jan, Feb, ..., Dec\n case \"LLL\":\n return (\n match.month(dateString, {\n width: \"abbreviated\",\n context: \"standalone\",\n }) ||\n match.month(dateString, { width: \"narrow\", context: \"standalone\" })\n );\n\n // J, F, ..., D\n case \"LLLLL\":\n return match.month(dateString, {\n width: \"narrow\",\n context: \"standalone\",\n });\n // January, February, ..., December\n case \"LLLL\":\n default:\n return (\n match.month(dateString, { width: \"wide\", context: \"standalone\" }) ||\n match.month(dateString, {\n width: \"abbreviated\",\n context: \"standalone\",\n }) ||\n match.month(dateString, { width: \"narrow\", context: \"standalone\" })\n );\n }\n }\n\n validate(_date, value) {\n return value >= 0 && value <= 11;\n }\n\n set(date, _flags, value) {\n date.setMonth(value, 1);\n date.setHours(0, 0, 0, 0);\n return date;\n }\n\n incompatibleTokens = [\n \"Y\",\n \"R\",\n \"q\",\n \"Q\",\n \"M\",\n \"w\",\n \"I\",\n \"D\",\n \"i\",\n \"e\",\n \"c\",\n \"t\",\n \"T\",\n ];\n}\n","import { setWeek } from \"../../../setWeek.js\";\nimport { startOfWeek } from \"../../../startOfWeek.js\";\nimport { numericPatterns } from \"../constants.js\";\nimport { Parser } from \"../Parser.js\";\n\nimport { parseNDigits, parseNumericPattern } from \"../utils.js\";\n\n// Local week of year\nexport class LocalWeekParser extends Parser {\n priority = 100;\n\n parse(dateString, token, match) {\n switch (token) {\n case \"w\":\n return parseNumericPattern(numericPatterns.week, dateString);\n case \"wo\":\n return match.ordinalNumber(dateString, { unit: \"week\" });\n default:\n return parseNDigits(token.length, dateString);\n }\n }\n\n validate(_date, value) {\n return value >= 1 && value <= 53;\n }\n\n set(date, _flags, value, options) {\n return startOfWeek(setWeek(date, value, options), options);\n }\n\n incompatibleTokens = [\n \"y\",\n \"R\",\n \"u\",\n \"q\",\n \"Q\",\n \"M\",\n \"L\",\n \"I\",\n \"d\",\n \"D\",\n \"i\",\n \"t\",\n \"T\",\n ];\n}\n","import { getWeek } from \"./getWeek.js\";\nimport { toDate } from \"./toDate.js\";\n\n/**\n * The {@link setWeek} function options.\n */\n\n/**\n * @name setWeek\n * @category Week Helpers\n * @summary Set the local week to the given date.\n *\n * @description\n * Set the local week to the given date, saving the weekday number.\n * The exact calculation depends on the values of\n * `options.weekStartsOn` (which is the index of the first day of the week)\n * and `options.firstWeekContainsDate` (which is the day of January, which is always in\n * the first week of the week-numbering year)\n *\n * Week numbering: https://en.wikipedia.org/wiki/Week#The_ISO_week_date_system\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param date - The date to be changed\n * @param week - The week of the new date\n * @param options - An object with options\n *\n * @returns The new date with the local week set\n *\n * @example\n * // Set the 1st week to 2 January 2005 with default options:\n * const result = setWeek(new Date(2005, 0, 2), 1)\n * //=> Sun Dec 26 2004 00:00:00\n *\n * @example\n * // Set the 1st week to 2 January 2005,\n * // if Monday is the first day of the week,\n * // and the first week of the year always contains 4 January:\n * const result = setWeek(new Date(2005, 0, 2), 1, {\n * weekStartsOn: 1,\n * firstWeekContainsDate: 4\n * })\n * //=> Sun Jan 4 2004 00:00:00\n */\nexport function setWeek(date, week, options) {\n const date_ = toDate(date, options?.in);\n const diff = getWeek(date_, options) - week;\n date_.setDate(date_.getDate() - diff * 7);\n return toDate(date_, options?.in);\n}\n\n// Fallback for modularized imports:\nexport default setWeek;\n","import { setISOWeek } from \"../../../setISOWeek.js\";\nimport { startOfISOWeek } from \"../../../startOfISOWeek.js\";\nimport { numericPatterns } from \"../constants.js\";\nimport { Parser } from \"../Parser.js\";\n\nimport { parseNDigits, parseNumericPattern } from \"../utils.js\";\n\n// ISO week of year\nexport class ISOWeekParser extends Parser {\n priority = 100;\n\n parse(dateString, token, match) {\n switch (token) {\n case \"I\":\n return parseNumericPattern(numericPatterns.week, dateString);\n case \"Io\":\n return match.ordinalNumber(dateString, { unit: \"week\" });\n default:\n return parseNDigits(token.length, dateString);\n }\n }\n\n validate(_date, value) {\n return value >= 1 && value <= 53;\n }\n\n set(date, _flags, value) {\n return startOfISOWeek(setISOWeek(date, value));\n }\n\n incompatibleTokens = [\n \"y\",\n \"Y\",\n \"u\",\n \"q\",\n \"Q\",\n \"M\",\n \"L\",\n \"w\",\n \"d\",\n \"D\",\n \"e\",\n \"c\",\n \"t\",\n \"T\",\n ];\n}\n","import { getISOWeek } from \"./getISOWeek.js\";\nimport { toDate } from \"./toDate.js\";\n\n/**\n * The {@link setISOWeek} function options.\n */\n\n/**\n * @name setISOWeek\n * @category ISO Week Helpers\n * @summary Set the ISO week to the given date.\n *\n * @description\n * Set the ISO week to the given date, saving the weekday number.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The `Date` type of the context function.\n *\n * @param date - The date to be changed\n * @param week - The ISO week of the new date\n * @param options - An object with options\n *\n * @returns The new date with the ISO week set\n *\n * @example\n * // Set the 53rd ISO week to 7 August 2004:\n * const result = setISOWeek(new Date(2004, 7, 7), 53)\n * //=> Sat Jan 01 2005 00:00:00\n */\nexport function setISOWeek(date, week, options) {\n const _date = toDate(date, options?.in);\n const diff = getISOWeek(_date, options) - week;\n _date.setDate(_date.getDate() - diff * 7);\n return _date;\n}\n\n// Fallback for modularized imports:\nexport default setISOWeek;\n","import { numericPatterns } from \"../constants.js\";\nimport { Parser } from \"../Parser.js\";\n\nimport {\n isLeapYearIndex,\n parseNDigits,\n parseNumericPattern,\n} from \"../utils.js\";\n\nexport class DayOfYearParser extends Parser {\n priority = 90;\n\n subpriority = 1;\n\n parse(dateString, token, match) {\n switch (token) {\n case \"D\":\n case \"DD\":\n return parseNumericPattern(numericPatterns.dayOfYear, dateString);\n case \"Do\":\n return match.ordinalNumber(dateString, { unit: \"date\" });\n default:\n return parseNDigits(token.length, dateString);\n }\n }\n\n validate(date, value) {\n const year = date.getFullYear();\n const isLeapYear = isLeapYearIndex(year);\n if (isLeapYear) {\n return value >= 1 && value <= 366;\n } else {\n return value >= 1 && value <= 365;\n }\n }\n\n set(date, _flags, value) {\n date.setMonth(0, value);\n date.setHours(0, 0, 0, 0);\n return date;\n }\n\n incompatibleTokens = [\n \"Y\",\n \"R\",\n \"q\",\n \"Q\",\n \"M\",\n \"L\",\n \"w\",\n \"I\",\n \"d\",\n \"E\",\n \"i\",\n \"e\",\n \"c\",\n \"t\",\n \"T\",\n ];\n}\n","import { setDay } from \"../../../setDay.js\";\nimport { Parser } from \"../Parser.js\";\n\n// Day of week\nexport class DayParser extends Parser {\n priority = 90;\n\n parse(dateString, token, match) {\n switch (token) {\n // Tue\n case \"E\":\n case \"EE\":\n case \"EEE\":\n return (\n match.day(dateString, {\n width: \"abbreviated\",\n context: \"formatting\",\n }) ||\n match.day(dateString, { width: \"short\", context: \"formatting\" }) ||\n match.day(dateString, { width: \"narrow\", context: \"formatting\" })\n );\n\n // T\n case \"EEEEE\":\n return match.day(dateString, {\n width: \"narrow\",\n context: \"formatting\",\n });\n // Tu\n case \"EEEEEE\":\n return (\n match.day(dateString, { width: \"short\", context: \"formatting\" }) ||\n match.day(dateString, { width: \"narrow\", context: \"formatting\" })\n );\n\n // Tuesday\n case \"EEEE\":\n default:\n return (\n match.day(dateString, { width: \"wide\", context: \"formatting\" }) ||\n match.day(dateString, {\n width: \"abbreviated\",\n context: \"formatting\",\n }) ||\n match.day(dateString, { width: \"short\", context: \"formatting\" }) ||\n match.day(dateString, { width: \"narrow\", context: \"formatting\" })\n );\n }\n }\n\n validate(_date, value) {\n return value >= 0 && value <= 6;\n }\n\n set(date, _flags, value, options) {\n date = setDay(date, value, options);\n date.setHours(0, 0, 0, 0);\n return date;\n }\n\n incompatibleTokens = [\"D\", \"i\", \"e\", \"c\", \"t\", \"T\"];\n}\n","import { setDay } from \"../../../setDay.js\";\nimport { Parser } from \"../Parser.js\";\n\nimport { mapValue, parseNDigits } from \"../utils.js\";\n\n// Local day of week\nexport class LocalDayParser extends Parser {\n priority = 90;\n parse(dateString, token, match, options) {\n const valueCallback = (value) => {\n // We want here floor instead of trunc, so we get -7 for value 0 instead of 0\n const wholeWeekDays = Math.floor((value - 1) / 7) * 7;\n return ((value + options.weekStartsOn + 6) % 7) + wholeWeekDays;\n };\n\n switch (token) {\n // 3\n case \"e\":\n case \"ee\": // 03\n return mapValue(parseNDigits(token.length, dateString), valueCallback);\n // 3rd\n case \"eo\":\n return mapValue(\n match.ordinalNumber(dateString, {\n unit: \"day\",\n }),\n valueCallback,\n );\n // Tue\n case \"eee\":\n return (\n match.day(dateString, {\n width: \"abbreviated\",\n context: \"formatting\",\n }) ||\n match.day(dateString, { width: \"short\", context: \"formatting\" }) ||\n match.day(dateString, { width: \"narrow\", context: \"formatting\" })\n );\n\n // T\n case \"eeeee\":\n return match.day(dateString, {\n width: \"narrow\",\n context: \"formatting\",\n });\n // Tu\n case \"eeeeee\":\n return (\n match.day(dateString, { width: \"short\", context: \"formatting\" }) ||\n match.day(dateString, { width: \"narrow\", context: \"formatting\" })\n );\n\n // Tuesday\n case \"eeee\":\n default:\n return (\n match.day(dateString, { width: \"wide\", context: \"formatting\" }) ||\n match.day(dateString, {\n width: \"abbreviated\",\n context: \"formatting\",\n }) ||\n match.day(dateString, { width: \"short\", context: \"formatting\" }) ||\n match.day(dateString, { width: \"narrow\", context: \"formatting\" })\n );\n }\n }\n\n validate(_date, value) {\n return value >= 0 && value <= 6;\n }\n\n set(date, _flags, value, options) {\n date = setDay(date, value, options);\n date.setHours(0, 0, 0, 0);\n return date;\n }\n\n incompatibleTokens = [\n \"y\",\n \"R\",\n \"u\",\n \"q\",\n \"Q\",\n \"M\",\n \"L\",\n \"I\",\n \"d\",\n \"D\",\n \"E\",\n \"i\",\n \"c\",\n \"t\",\n \"T\",\n ];\n}\n","import { setDay } from \"../../../setDay.js\";\nimport { Parser } from \"../Parser.js\";\n\nimport { mapValue, parseNDigits } from \"../utils.js\";\n\n// Stand-alone local day of week\nexport class StandAloneLocalDayParser extends Parser {\n priority = 90;\n\n parse(dateString, token, match, options) {\n const valueCallback = (value) => {\n // We want here floor instead of trunc, so we get -7 for value 0 instead of 0\n const wholeWeekDays = Math.floor((value - 1) / 7) * 7;\n return ((value + options.weekStartsOn + 6) % 7) + wholeWeekDays;\n };\n\n switch (token) {\n // 3\n case \"c\":\n case \"cc\": // 03\n return mapValue(parseNDigits(token.length, dateString), valueCallback);\n // 3rd\n case \"co\":\n return mapValue(\n match.ordinalNumber(dateString, {\n unit: \"day\",\n }),\n valueCallback,\n );\n // Tue\n case \"ccc\":\n return (\n match.day(dateString, {\n width: \"abbreviated\",\n context: \"standalone\",\n }) ||\n match.day(dateString, { width: \"short\", context: \"standalone\" }) ||\n match.day(dateString, { width: \"narrow\", context: \"standalone\" })\n );\n\n // T\n case \"ccccc\":\n return match.day(dateString, {\n width: \"narrow\",\n context: \"standalone\",\n });\n // Tu\n case \"cccccc\":\n return (\n match.day(dateString, { width: \"short\", context: \"standalone\" }) ||\n match.day(dateString, { width: \"narrow\", context: \"standalone\" })\n );\n\n // Tuesday\n case \"cccc\":\n default:\n return (\n match.day(dateString, { width: \"wide\", context: \"standalone\" }) ||\n match.day(dateString, {\n width: \"abbreviated\",\n context: \"standalone\",\n }) ||\n match.day(dateString, { width: \"short\", context: \"standalone\" }) ||\n match.day(dateString, { width: \"narrow\", context: \"standalone\" })\n );\n }\n }\n\n validate(_date, value) {\n return value >= 0 && value <= 6;\n }\n\n set(date, _flags, value, options) {\n date = setDay(date, value, options);\n date.setHours(0, 0, 0, 0);\n return date;\n }\n\n incompatibleTokens = [\n \"y\",\n \"R\",\n \"u\",\n \"q\",\n \"Q\",\n \"M\",\n \"L\",\n \"I\",\n \"d\",\n \"D\",\n \"E\",\n \"i\",\n \"e\",\n \"t\",\n \"T\",\n ];\n}\n","import { setISODay } from \"../../../setISODay.js\";\nimport { Parser } from \"../Parser.js\";\n\nimport { mapValue, parseNDigits } from \"../utils.js\";\n\n// ISO day of week\nexport class ISODayParser extends Parser {\n priority = 90;\n\n parse(dateString, token, match) {\n const valueCallback = (value) => {\n if (value === 0) {\n return 7;\n }\n return value;\n };\n\n switch (token) {\n // 2\n case \"i\":\n case \"ii\": // 02\n return parseNDigits(token.length, dateString);\n // 2nd\n case \"io\":\n return match.ordinalNumber(dateString, { unit: \"day\" });\n // Tue\n case \"iii\":\n return mapValue(\n match.day(dateString, {\n width: \"abbreviated\",\n context: \"formatting\",\n }) ||\n match.day(dateString, {\n width: \"short\",\n context: \"formatting\",\n }) ||\n match.day(dateString, {\n width: \"narrow\",\n context: \"formatting\",\n }),\n valueCallback,\n );\n // T\n case \"iiiii\":\n return mapValue(\n match.day(dateString, {\n width: \"narrow\",\n context: \"formatting\",\n }),\n valueCallback,\n );\n // Tu\n case \"iiiiii\":\n return mapValue(\n match.day(dateString, {\n width: \"short\",\n context: \"formatting\",\n }) ||\n match.day(dateString, {\n width: \"narrow\",\n context: \"formatting\",\n }),\n valueCallback,\n );\n // Tuesday\n case \"iiii\":\n default:\n return mapValue(\n match.day(dateString, {\n width: \"wide\",\n context: \"formatting\",\n }) ||\n match.day(dateString, {\n width: \"abbreviated\",\n context: \"formatting\",\n }) ||\n match.day(dateString, {\n width: \"short\",\n context: \"formatting\",\n }) ||\n match.day(dateString, {\n width: \"narrow\",\n context: \"formatting\",\n }),\n valueCallback,\n );\n }\n }\n\n validate(_date, value) {\n return value >= 1 && value <= 7;\n }\n\n set(date, _flags, value) {\n date = setISODay(date, value);\n date.setHours(0, 0, 0, 0);\n return date;\n }\n\n incompatibleTokens = [\n \"y\",\n \"Y\",\n \"u\",\n \"q\",\n \"Q\",\n \"M\",\n \"L\",\n \"w\",\n \"d\",\n \"D\",\n \"E\",\n \"e\",\n \"c\",\n \"t\",\n \"T\",\n ];\n}\n","import { Parser } from \"../Parser.js\";\n\nimport { dayPeriodEnumToHours } from \"../utils.js\";\n\nexport class AMPMParser extends Parser {\n priority = 80;\n\n parse(dateString, token, match) {\n switch (token) {\n case \"a\":\n case \"aa\":\n case \"aaa\":\n return (\n match.dayPeriod(dateString, {\n width: \"abbreviated\",\n context: \"formatting\",\n }) ||\n match.dayPeriod(dateString, {\n width: \"narrow\",\n context: \"formatting\",\n })\n );\n\n case \"aaaaa\":\n return match.dayPeriod(dateString, {\n width: \"narrow\",\n context: \"formatting\",\n });\n case \"aaaa\":\n default:\n return (\n match.dayPeriod(dateString, {\n width: \"wide\",\n context: \"formatting\",\n }) ||\n match.dayPeriod(dateString, {\n width: \"abbreviated\",\n context: \"formatting\",\n }) ||\n match.dayPeriod(dateString, {\n width: \"narrow\",\n context: \"formatting\",\n })\n );\n }\n }\n\n set(date, _flags, value) {\n date.setHours(dayPeriodEnumToHours(value), 0, 0, 0);\n return date;\n }\n\n incompatibleTokens = [\"b\", \"B\", \"H\", \"k\", \"t\", \"T\"];\n}\n","import { Parser } from \"../Parser.js\";\n\nimport { dayPeriodEnumToHours } from \"../utils.js\";\n\nexport class AMPMMidnightParser extends Parser {\n priority = 80;\n\n parse(dateString, token, match) {\n switch (token) {\n case \"b\":\n case \"bb\":\n case \"bbb\":\n return (\n match.dayPeriod(dateString, {\n width: \"abbreviated\",\n context: \"formatting\",\n }) ||\n match.dayPeriod(dateString, {\n width: \"narrow\",\n context: \"formatting\",\n })\n );\n\n case \"bbbbb\":\n return match.dayPeriod(dateString, {\n width: \"narrow\",\n context: \"formatting\",\n });\n case \"bbbb\":\n default:\n return (\n match.dayPeriod(dateString, {\n width: \"wide\",\n context: \"formatting\",\n }) ||\n match.dayPeriod(dateString, {\n width: \"abbreviated\",\n context: \"formatting\",\n }) ||\n match.dayPeriod(dateString, {\n width: \"narrow\",\n context: \"formatting\",\n })\n );\n }\n }\n\n set(date, _flags, value) {\n date.setHours(dayPeriodEnumToHours(value), 0, 0, 0);\n return date;\n }\n\n incompatibleTokens = [\"a\", \"B\", \"H\", \"k\", \"t\", \"T\"];\n}\n","import { Parser } from \"../Parser.js\";\n\nimport { dayPeriodEnumToHours } from \"../utils.js\";\n\n// in the morning, in the afternoon, in the evening, at night\nexport class DayPeriodParser extends Parser {\n priority = 80;\n\n parse(dateString, token, match) {\n switch (token) {\n case \"B\":\n case \"BB\":\n case \"BBB\":\n return (\n match.dayPeriod(dateString, {\n width: \"abbreviated\",\n context: \"formatting\",\n }) ||\n match.dayPeriod(dateString, {\n width: \"narrow\",\n context: \"formatting\",\n })\n );\n\n case \"BBBBB\":\n return match.dayPeriod(dateString, {\n width: \"narrow\",\n context: \"formatting\",\n });\n case \"BBBB\":\n default:\n return (\n match.dayPeriod(dateString, {\n width: \"wide\",\n context: \"formatting\",\n }) ||\n match.dayPeriod(dateString, {\n width: \"abbreviated\",\n context: \"formatting\",\n }) ||\n match.dayPeriod(dateString, {\n width: \"narrow\",\n context: \"formatting\",\n })\n );\n }\n }\n\n set(date, _flags, value) {\n date.setHours(dayPeriodEnumToHours(value), 0, 0, 0);\n return date;\n }\n\n incompatibleTokens = [\"a\", \"b\", \"t\", \"T\"];\n}\n","import { numericPatterns } from \"../constants.js\";\nimport { Parser } from \"../Parser.js\";\n\nimport { parseNDigits, parseNumericPattern } from \"../utils.js\";\n\nexport class Hour1to12Parser extends Parser {\n priority = 70;\n\n parse(dateString, token, match) {\n switch (token) {\n case \"h\":\n return parseNumericPattern(numericPatterns.hour12h, dateString);\n case \"ho\":\n return match.ordinalNumber(dateString, { unit: \"hour\" });\n default:\n return parseNDigits(token.length, dateString);\n }\n }\n\n validate(_date, value) {\n return value >= 1 && value <= 12;\n }\n\n set(date, _flags, value) {\n const isPM = date.getHours() >= 12;\n if (isPM && value < 12) {\n date.setHours(value + 12, 0, 0, 0);\n } else if (!isPM && value === 12) {\n date.setHours(0, 0, 0, 0);\n } else {\n date.setHours(value, 0, 0, 0);\n }\n return date;\n }\n\n incompatibleTokens = [\"H\", \"K\", \"k\", \"t\", \"T\"];\n}\n","import { numericPatterns } from \"../constants.js\";\nimport { Parser } from \"../Parser.js\";\n\nimport { parseNDigits, parseNumericPattern } from \"../utils.js\";\n\nexport class Hour0to23Parser extends Parser {\n priority = 70;\n\n parse(dateString, token, match) {\n switch (token) {\n case \"H\":\n return parseNumericPattern(numericPatterns.hour23h, dateString);\n case \"Ho\":\n return match.ordinalNumber(dateString, { unit: \"hour\" });\n default:\n return parseNDigits(token.length, dateString);\n }\n }\n\n validate(_date, value) {\n return value >= 0 && value <= 23;\n }\n\n set(date, _flags, value) {\n date.setHours(value, 0, 0, 0);\n return date;\n }\n\n incompatibleTokens = [\"a\", \"b\", \"h\", \"K\", \"k\", \"t\", \"T\"];\n}\n","import { numericPatterns } from \"../constants.js\";\nimport { Parser } from \"../Parser.js\";\n\nimport { parseNDigits, parseNumericPattern } from \"../utils.js\";\n\nexport class Hour0To11Parser extends Parser {\n priority = 70;\n\n parse(dateString, token, match) {\n switch (token) {\n case \"K\":\n return parseNumericPattern(numericPatterns.hour11h, dateString);\n case \"Ko\":\n return match.ordinalNumber(dateString, { unit: \"hour\" });\n default:\n return parseNDigits(token.length, dateString);\n }\n }\n\n validate(_date, value) {\n return value >= 0 && value <= 11;\n }\n\n set(date, _flags, value) {\n const isPM = date.getHours() >= 12;\n if (isPM && value < 12) {\n date.setHours(value + 12, 0, 0, 0);\n } else {\n date.setHours(value, 0, 0, 0);\n }\n return date;\n }\n\n incompatibleTokens = [\"h\", \"H\", \"k\", \"t\", \"T\"];\n}\n","import { numericPatterns } from \"../constants.js\";\nimport { Parser } from \"../Parser.js\";\n\nimport { parseNDigits, parseNumericPattern } from \"../utils.js\";\n\nexport class Hour1To24Parser extends Parser {\n priority = 70;\n\n parse(dateString, token, match) {\n switch (token) {\n case \"k\":\n return parseNumericPattern(numericPatterns.hour24h, dateString);\n case \"ko\":\n return match.ordinalNumber(dateString, { unit: \"hour\" });\n default:\n return parseNDigits(token.length, dateString);\n }\n }\n\n validate(_date, value) {\n return value >= 1 && value <= 24;\n }\n\n set(date, _flags, value) {\n const hours = value <= 24 ? value % 24 : value;\n date.setHours(hours, 0, 0, 0);\n return date;\n }\n\n incompatibleTokens = [\"a\", \"b\", \"h\", \"H\", \"K\", \"t\", \"T\"];\n}\n","import { numericPatterns } from \"../constants.js\";\nimport { Parser } from \"../Parser.js\";\n\nimport { parseNDigits, parseNumericPattern } from \"../utils.js\";\n\nexport class MinuteParser extends Parser {\n priority = 60;\n\n parse(dateString, token, match) {\n switch (token) {\n case \"m\":\n return parseNumericPattern(numericPatterns.minute, dateString);\n case \"mo\":\n return match.ordinalNumber(dateString, { unit: \"minute\" });\n default:\n return parseNDigits(token.length, dateString);\n }\n }\n\n validate(_date, value) {\n return value >= 0 && value <= 59;\n }\n\n set(date, _flags, value) {\n date.setMinutes(value, 0, 0);\n return date;\n }\n\n incompatibleTokens = [\"t\", \"T\"];\n}\n","import { numericPatterns } from \"../constants.js\";\nimport { Parser } from \"../Parser.js\";\n\nimport { parseNDigits, parseNumericPattern } from \"../utils.js\";\n\nexport class SecondParser extends Parser {\n priority = 50;\n\n parse(dateString, token, match) {\n switch (token) {\n case \"s\":\n return parseNumericPattern(numericPatterns.second, dateString);\n case \"so\":\n return match.ordinalNumber(dateString, { unit: \"second\" });\n default:\n return parseNDigits(token.length, dateString);\n }\n }\n\n validate(_date, value) {\n return value >= 0 && value <= 59;\n }\n\n set(date, _flags, value) {\n date.setSeconds(value, 0);\n return date;\n }\n\n incompatibleTokens = [\"t\", \"T\"];\n}\n","import { Parser } from \"../Parser.js\";\n\nimport { mapValue, parseNDigits } from \"../utils.js\";\n\nexport class FractionOfSecondParser extends Parser {\n priority = 30;\n\n parse(dateString, token) {\n const valueCallback = (value) =>\n Math.trunc(value * Math.pow(10, -token.length + 3));\n return mapValue(parseNDigits(token.length, dateString), valueCallback);\n }\n\n set(date, _flags, value) {\n date.setMilliseconds(value);\n return date;\n }\n\n incompatibleTokens = [\"t\", \"T\"];\n}\n","import { constructFrom } from \"../../../constructFrom.js\";\nimport { getTimezoneOffsetInMilliseconds } from \"../../../_lib/getTimezoneOffsetInMilliseconds.js\";\nimport { timezonePatterns } from \"../constants.js\";\nimport { Parser } from \"../Parser.js\";\n\nimport { parseTimezonePattern } from \"../utils.js\";\n\n// Timezone (ISO-8601. +00:00 is `'Z'`)\nexport class ISOTimezoneWithZParser extends Parser {\n priority = 10;\n\n parse(dateString, token) {\n switch (token) {\n case \"X\":\n return parseTimezonePattern(\n timezonePatterns.basicOptionalMinutes,\n dateString,\n );\n case \"XX\":\n return parseTimezonePattern(timezonePatterns.basic, dateString);\n case \"XXXX\":\n return parseTimezonePattern(\n timezonePatterns.basicOptionalSeconds,\n dateString,\n );\n case \"XXXXX\":\n return parseTimezonePattern(\n timezonePatterns.extendedOptionalSeconds,\n dateString,\n );\n case \"XXX\":\n default:\n return parseTimezonePattern(timezonePatterns.extended, dateString);\n }\n }\n\n set(date, flags, value) {\n if (flags.timestampIsSet) return date;\n return constructFrom(\n date,\n date.getTime() - getTimezoneOffsetInMilliseconds(date) - value,\n );\n }\n\n incompatibleTokens = [\"t\", \"T\", \"x\"];\n}\n","import { constructFrom } from \"../../../constructFrom.js\";\nimport { getTimezoneOffsetInMilliseconds } from \"../../../_lib/getTimezoneOffsetInMilliseconds.js\";\nimport { timezonePatterns } from \"../constants.js\";\nimport { Parser } from \"../Parser.js\";\n\nimport { parseTimezonePattern } from \"../utils.js\";\n\n// Timezone (ISO-8601)\nexport class ISOTimezoneParser extends Parser {\n priority = 10;\n\n parse(dateString, token) {\n switch (token) {\n case \"x\":\n return parseTimezonePattern(\n timezonePatterns.basicOptionalMinutes,\n dateString,\n );\n case \"xx\":\n return parseTimezonePattern(timezonePatterns.basic, dateString);\n case \"xxxx\":\n return parseTimezonePattern(\n timezonePatterns.basicOptionalSeconds,\n dateString,\n );\n case \"xxxxx\":\n return parseTimezonePattern(\n timezonePatterns.extendedOptionalSeconds,\n dateString,\n );\n case \"xxx\":\n default:\n return parseTimezonePattern(timezonePatterns.extended, dateString);\n }\n }\n\n set(date, flags, value) {\n if (flags.timestampIsSet) return date;\n return constructFrom(\n date,\n date.getTime() - getTimezoneOffsetInMilliseconds(date) - value,\n );\n }\n\n incompatibleTokens = [\"t\", \"T\", \"X\"];\n}\n","import { constructFrom } from \"../../../constructFrom.js\";\nimport { Parser } from \"../Parser.js\";\n\nimport { parseAnyDigitsSigned } from \"../utils.js\";\n\nexport class TimestampSecondsParser extends Parser {\n priority = 40;\n\n parse(dateString) {\n return parseAnyDigitsSigned(dateString);\n }\n\n set(date, _flags, value) {\n return [constructFrom(date, value * 1000), { timestampIsSet: true }];\n }\n\n incompatibleTokens = \"*\";\n}\n","import { constructFrom } from \"../../../constructFrom.js\";\nimport { Parser } from \"../Parser.js\";\n\nimport { parseAnyDigitsSigned } from \"../utils.js\";\n\nexport class TimestampMillisecondsParser extends Parser {\n priority = 20;\n\n parse(dateString) {\n return parseAnyDigitsSigned(dateString);\n }\n\n set(date, _flags, value) {\n return [constructFrom(date, value), { timestampIsSet: true }];\n }\n\n incompatibleTokens = \"*\";\n}\n","import { defaultLocale } from \"./_lib/defaultLocale.js\";\nimport { longFormatters } from \"./_lib/format/longFormatters.js\";\nimport {\n isProtectedDayOfYearToken,\n isProtectedWeekYearToken,\n warnOrThrowProtectedError,\n} from \"./_lib/protectedTokens.js\";\nimport { constructFrom } from \"./constructFrom.js\";\nimport { getDefaultOptions } from \"./getDefaultOptions.js\";\nimport { toDate } from \"./toDate.js\";\n\nimport { DateTimezoneSetter } from \"./parse/_lib/Setter.js\";\nimport { parsers } from \"./parse/_lib/parsers.js\";\n\n// Rexports of internal for libraries to use.\n// See: https://github.com/date-fns/date-fns/issues/3638#issuecomment-1877082874\nexport { longFormatters, parsers };\n\n/**\n * The {@link parse} function options.\n */\n\n// This RegExp consists of three parts separated by `|`:\n// - [yYQqMLwIdDecihHKkms]o matches any available ordinal number token\n// (one of the certain letters followed by `o`)\n// - (\\w)\\1* matches any sequences of the same letter\n// - '' matches two quote characters in a row\n// - '(''|[^'])+('|$) matches anything surrounded by two quote characters ('),\n// except a single quote symbol, which ends the sequence.\n// Two quote characters do not end the sequence.\n// If there is no matching single quote\n// then the sequence will continue until the end of the string.\n// - . matches any single character unmatched by previous parts of the RegExps\nconst formattingTokensRegExp =\n /[yYQqMLwIdDecihHKkms]o|(\\w)\\1*|''|'(''|[^'])+('|$)|./g;\n\n// This RegExp catches symbols escaped by quotes, and also\n// sequences of symbols P, p, and the combinations like `PPPPPPPppppp`\nconst longFormattingTokensRegExp = /P+p+|P+|p+|''|'(''|[^'])+('|$)|./g;\n\nconst escapedStringRegExp = /^'([^]*?)'?$/;\nconst doubleQuoteRegExp = /''/g;\n\nconst notWhitespaceRegExp = /\\S/;\nconst unescapedLatinCharacterRegExp = /[a-zA-Z]/;\n\n/**\n * @name parse\n * @category Common Helpers\n * @summary Parse the date.\n *\n * @description\n * Return the date parsed from string using the given format string.\n *\n * > ⚠️ Please note that the `format` tokens differ from Moment.js and other libraries.\n * > See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * The characters in the format string wrapped between two single quotes characters (') are escaped.\n * Two single quotes in a row, whether inside or outside a quoted sequence, represent a 'real' single quote.\n *\n * Format of the format string is based on Unicode Technical Standard #35:\n * https://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table\n * with a few additions (see note 5 below the table).\n *\n * Not all tokens are compatible. Combinations that don't make sense or could lead to bugs are prohibited\n * and will throw `RangeError`. For example usage of 24-hour format token with AM/PM token will throw an exception:\n *\n * ```javascript\n * parse('23 AM', 'HH a', new Date())\n * //=> RangeError: The format string mustn't contain `HH` and `a` at the same time\n * ```\n *\n * See the compatibility table: https://docs.google.com/spreadsheets/d/e/2PACX-1vQOPU3xUhplll6dyoMmVUXHKl_8CRDs6_ueLmex3SoqwhuolkuN3O05l4rqx5h1dKX8eb46Ul-CCSrq/pubhtml?gid=0&single=true\n *\n * Accepted format string patterns:\n * | Unit |Prior| Pattern | Result examples | Notes |\n * |---------------------------------|-----|---------|-----------------------------------|-------|\n * | Era | 140 | G..GGG | AD, BC | |\n * | | | GGGG | Anno Domini, Before Christ | 2 |\n * | | | GGGGG | A, B | |\n * | Calendar year | 130 | y | 44, 1, 1900, 2017, 9999 | 4 |\n * | | | yo | 44th, 1st, 1900th, 9999999th | 4,5 |\n * | | | yy | 44, 01, 00, 17 | 4 |\n * | | | yyy | 044, 001, 123, 999 | 4 |\n * | | | yyyy | 0044, 0001, 1900, 2017 | 4 |\n * | | | yyyyy | ... | 2,4 |\n * | Local week-numbering year | 130 | Y | 44, 1, 1900, 2017, 9000 | 4 |\n * | | | Yo | 44th, 1st, 1900th, 9999999th | 4,5 |\n * | | | YY | 44, 01, 00, 17 | 4,6 |\n * | | | YYY | 044, 001, 123, 999 | 4 |\n * | | | YYYY | 0044, 0001, 1900, 2017 | 4,6 |\n * | | | YYYYY | ... | 2,4 |\n * | ISO week-numbering year | 130 | R | -43, 1, 1900, 2017, 9999, -9999 | 4,5 |\n * | | | RR | -43, 01, 00, 17 | 4,5 |\n * | | | RRR | -043, 001, 123, 999, -999 | 4,5 |\n * | | | RRRR | -0043, 0001, 2017, 9999, -9999 | 4,5 |\n * | | | RRRRR | ... | 2,4,5 |\n * | Extended year | 130 | u | -43, 1, 1900, 2017, 9999, -999 | 4 |\n * | | | uu | -43, 01, 99, -99 | 4 |\n * | | | uuu | -043, 001, 123, 999, -999 | 4 |\n * | | | uuuu | -0043, 0001, 2017, 9999, -9999 | 4 |\n * | | | uuuuu | ... | 2,4 |\n * | Quarter (formatting) | 120 | Q | 1, 2, 3, 4 | |\n * | | | Qo | 1st, 2nd, 3rd, 4th | 5 |\n * | | | QQ | 01, 02, 03, 04 | |\n * | | | QQQ | Q1, Q2, Q3, Q4 | |\n * | | | QQQQ | 1st quarter, 2nd quarter, ... | 2 |\n * | | | QQQQQ | 1, 2, 3, 4 | 4 |\n * | Quarter (stand-alone) | 120 | q | 1, 2, 3, 4 | |\n * | | | qo | 1st, 2nd, 3rd, 4th | 5 |\n * | | | qq | 01, 02, 03, 04 | |\n * | | | qqq | Q1, Q2, Q3, Q4 | |\n * | | | qqqq | 1st quarter, 2nd quarter, ... | 2 |\n * | | | qqqqq | 1, 2, 3, 4 | 3 |\n * | Month (formatting) | 110 | M | 1, 2, ..., 12 | |\n * | | | Mo | 1st, 2nd, ..., 12th | 5 |\n * | | | MM | 01, 02, ..., 12 | |\n * | | | MMM | Jan, Feb, ..., Dec | |\n * | | | MMMM | January, February, ..., December | 2 |\n * | | | MMMMM | J, F, ..., D | |\n * | Month (stand-alone) | 110 | L | 1, 2, ..., 12 | |\n * | | | Lo | 1st, 2nd, ..., 12th | 5 |\n * | | | LL | 01, 02, ..., 12 | |\n * | | | LLL | Jan, Feb, ..., Dec | |\n * | | | LLLL | January, February, ..., December | 2 |\n * | | | LLLLL | J, F, ..., D | |\n * | Local week of year | 100 | w | 1, 2, ..., 53 | |\n * | | | wo | 1st, 2nd, ..., 53th | 5 |\n * | | | ww | 01, 02, ..., 53 | |\n * | ISO week of year | 100 | I | 1, 2, ..., 53 | 5 |\n * | | | Io | 1st, 2nd, ..., 53th | 5 |\n * | | | II | 01, 02, ..., 53 | 5 |\n * | Day of month | 90 | d | 1, 2, ..., 31 | |\n * | | | do | 1st, 2nd, ..., 31st | 5 |\n * | | | dd | 01, 02, ..., 31 | |\n * | Day of year | 90 | D | 1, 2, ..., 365, 366 | 7 |\n * | | | Do | 1st, 2nd, ..., 365th, 366th | 5 |\n * | | | DD | 01, 02, ..., 365, 366 | 7 |\n * | | | DDD | 001, 002, ..., 365, 366 | |\n * | | | DDDD | ... | 2 |\n * | Day of week (formatting) | 90 | E..EEE | Mon, Tue, Wed, ..., Sun | |\n * | | | EEEE | Monday, Tuesday, ..., Sunday | 2 |\n * | | | EEEEE | M, T, W, T, F, S, S | |\n * | | | EEEEEE | Mo, Tu, We, Th, Fr, Sa, Su | |\n * | ISO day of week (formatting) | 90 | i | 1, 2, 3, ..., 7 | 5 |\n * | | | io | 1st, 2nd, ..., 7th | 5 |\n * | | | ii | 01, 02, ..., 07 | 5 |\n * | | | iii | Mon, Tue, Wed, ..., Sun | 5 |\n * | | | iiii | Monday, Tuesday, ..., Sunday | 2,5 |\n * | | | iiiii | M, T, W, T, F, S, S | 5 |\n * | | | iiiiii | Mo, Tu, We, Th, Fr, Sa, Su | 5 |\n * | Local day of week (formatting) | 90 | e | 2, 3, 4, ..., 1 | |\n * | | | eo | 2nd, 3rd, ..., 1st | 5 |\n * | | | ee | 02, 03, ..., 01 | |\n * | | | eee | Mon, Tue, Wed, ..., Sun | |\n * | | | eeee | Monday, Tuesday, ..., Sunday | 2 |\n * | | | eeeee | M, T, W, T, F, S, S | |\n * | | | eeeeee | Mo, Tu, We, Th, Fr, Sa, Su | |\n * | Local day of week (stand-alone) | 90 | c | 2, 3, 4, ..., 1 | |\n * | | | co | 2nd, 3rd, ..., 1st | 5 |\n * | | | cc | 02, 03, ..., 01 | |\n * | | | ccc | Mon, Tue, Wed, ..., Sun | |\n * | | | cccc | Monday, Tuesday, ..., Sunday | 2 |\n * | | | ccccc | M, T, W, T, F, S, S | |\n * | | | cccccc | Mo, Tu, We, Th, Fr, Sa, Su | |\n * | AM, PM | 80 | a..aaa | AM, PM | |\n * | | | aaaa | a.m., p.m. | 2 |\n * | | | aaaaa | a, p | |\n * | AM, PM, noon, midnight | 80 | b..bbb | AM, PM, noon, midnight | |\n * | | | bbbb | a.m., p.m., noon, midnight | 2 |\n * | | | bbbbb | a, p, n, mi | |\n * | Flexible day period | 80 | B..BBB | at night, in the morning, ... | |\n * | | | BBBB | at night, in the morning, ... | 2 |\n * | | | BBBBB | at night, in the morning, ... | |\n * | Hour [1-12] | 70 | h | 1, 2, ..., 11, 12 | |\n * | | | ho | 1st, 2nd, ..., 11th, 12th | 5 |\n * | | | hh | 01, 02, ..., 11, 12 | |\n * | Hour [0-23] | 70 | H | 0, 1, 2, ..., 23 | |\n * | | | Ho | 0th, 1st, 2nd, ..., 23rd | 5 |\n * | | | HH | 00, 01, 02, ..., 23 | |\n * | Hour [0-11] | 70 | K | 1, 2, ..., 11, 0 | |\n * | | | Ko | 1st, 2nd, ..., 11th, 0th | 5 |\n * | | | KK | 01, 02, ..., 11, 00 | |\n * | Hour [1-24] | 70 | k | 24, 1, 2, ..., 23 | |\n * | | | ko | 24th, 1st, 2nd, ..., 23rd | 5 |\n * | | | kk | 24, 01, 02, ..., 23 | |\n * | Minute | 60 | m | 0, 1, ..., 59 | |\n * | | | mo | 0th, 1st, ..., 59th | 5 |\n * | | | mm | 00, 01, ..., 59 | |\n * | Second | 50 | s | 0, 1, ..., 59 | |\n * | | | so | 0th, 1st, ..., 59th | 5 |\n * | | | ss | 00, 01, ..., 59 | |\n * | Seconds timestamp | 40 | t | 512969520 | |\n * | | | tt | ... | 2 |\n * | Fraction of second | 30 | S | 0, 1, ..., 9 | |\n * | | | SS | 00, 01, ..., 99 | |\n * | | | SSS | 000, 001, ..., 999 | |\n * | | | SSSS | ... | 2 |\n * | Milliseconds timestamp | 20 | T | 512969520900 | |\n * | | | TT | ... | 2 |\n * | Timezone (ISO-8601 w/ Z) | 10 | X | -08, +0530, Z | |\n * | | | XX | -0800, +0530, Z | |\n * | | | XXX | -08:00, +05:30, Z | |\n * | | | XXXX | -0800, +0530, Z, +123456 | 2 |\n * | | | XXXXX | -08:00, +05:30, Z, +12:34:56 | |\n * | Timezone (ISO-8601 w/o Z) | 10 | x | -08, +0530, +00 | |\n * | | | xx | -0800, +0530, +0000 | |\n * | | | xxx | -08:00, +05:30, +00:00 | 2 |\n * | | | xxxx | -0800, +0530, +0000, +123456 | |\n * | | | xxxxx | -08:00, +05:30, +00:00, +12:34:56 | |\n * | Long localized date | NA | P | 05/29/1453 | 5,8 |\n * | | | PP | May 29, 1453 | |\n * | | | PPP | May 29th, 1453 | |\n * | | | PPPP | Sunday, May 29th, 1453 | 2,5,8 |\n * | Long localized time | NA | p | 12:00 AM | 5,8 |\n * | | | pp | 12:00:00 AM | |\n * | Combination of date and time | NA | Pp | 05/29/1453, 12:00 AM | |\n * | | | PPpp | May 29, 1453, 12:00:00 AM | |\n * | | | PPPpp | May 29th, 1453 at ... | |\n * | | | PPPPpp | Sunday, May 29th, 1453 at ... | 2,5,8 |\n * Notes:\n * 1. \"Formatting\" units (e.g. formatting quarter) in the default en-US locale\n * are the same as \"stand-alone\" units, but are different in some languages.\n * \"Formatting\" units are declined according to the rules of the language\n * in the context of a date. \"Stand-alone\" units are always nominative singular.\n * In `format` function, they will produce different result:\n *\n * `format(new Date(2017, 10, 6), 'do LLLL', {locale: cs}) //=> '6. listopad'`\n *\n * `format(new Date(2017, 10, 6), 'do MMMM', {locale: cs}) //=> '6. listopadu'`\n *\n * `parse` will try to match both formatting and stand-alone units interchangeably.\n *\n * 2. Any sequence of the identical letters is a pattern, unless it is escaped by\n * the single quote characters (see below).\n * If the sequence is longer than listed in table:\n * - for numerical units (`yyyyyyyy`) `parse` will try to match a number\n * as wide as the sequence\n * - for text units (`MMMMMMMM`) `parse` will try to match the widest variation of the unit.\n * These variations are marked with \"2\" in the last column of the table.\n *\n * 3. `QQQQQ` and `qqqqq` could be not strictly numerical in some locales.\n * These tokens represent the shortest form of the quarter.\n *\n * 4. The main difference between `y` and `u` patterns are B.C. years:\n *\n * | Year | `y` | `u` |\n * |------|-----|-----|\n * | AC 1 | 1 | 1 |\n * | BC 1 | 1 | 0 |\n * | BC 2 | 2 | -1 |\n *\n * Also `yy` will try to guess the century of two digit year by proximity with `referenceDate`:\n *\n * `parse('50', 'yy', new Date(2018, 0, 1)) //=> Sat Jan 01 2050 00:00:00`\n *\n * `parse('75', 'yy', new Date(2018, 0, 1)) //=> Wed Jan 01 1975 00:00:00`\n *\n * while `uu` will just assign the year as is:\n *\n * `parse('50', 'uu', new Date(2018, 0, 1)) //=> Sat Jan 01 0050 00:00:00`\n *\n * `parse('75', 'uu', new Date(2018, 0, 1)) //=> Tue Jan 01 0075 00:00:00`\n *\n * The same difference is true for local and ISO week-numbering years (`Y` and `R`),\n * except local week-numbering years are dependent on `options.weekStartsOn`\n * and `options.firstWeekContainsDate` (compare [setISOWeekYear](https://date-fns.org/docs/setISOWeekYear)\n * and [setWeekYear](https://date-fns.org/docs/setWeekYear)).\n *\n * 5. These patterns are not in the Unicode Technical Standard #35:\n * - `i`: ISO day of week\n * - `I`: ISO week of year\n * - `R`: ISO week-numbering year\n * - `o`: ordinal number modifier\n * - `P`: long localized date\n * - `p`: long localized time\n *\n * 6. `YY` and `YYYY` tokens represent week-numbering years but they are often confused with years.\n * You should enable `options.useAdditionalWeekYearTokens` to use them. See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * 7. `D` and `DD` tokens represent days of the year but they are often confused with days of the month.\n * You should enable `options.useAdditionalDayOfYearTokens` to use them. See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * 8. `P+` tokens do not have a defined priority since they are merely aliases to other tokens based\n * on the given locale.\n *\n * using `en-US` locale: `P` => `MM/dd/yyyy`\n * using `en-US` locale: `p` => `hh:mm a`\n * using `pt-BR` locale: `P` => `dd/MM/yyyy`\n * using `pt-BR` locale: `p` => `HH:mm`\n *\n * Values will be assigned to the date in the descending order of its unit's priority.\n * Units of an equal priority overwrite each other in the order of appearance.\n *\n * If no values of higher priority are parsed (e.g. when parsing string 'January 1st' without a year),\n * the values will be taken from 3rd argument `referenceDate` which works as a context of parsing.\n *\n * `referenceDate` must be passed for correct work of the function.\n * If you're not sure which `referenceDate` to supply, create a new instance of Date:\n * `parse('02/11/2014', 'MM/dd/yyyy', new Date())`\n * In this case parsing will be done in the context of the current date.\n * If `referenceDate` is `Invalid Date` or a value not convertible to valid `Date`,\n * then `Invalid Date` will be returned.\n *\n * The result may vary by locale.\n *\n * If `formatString` matches with `dateString` but does not provides tokens, `referenceDate` will be returned.\n *\n * If parsing failed, `Invalid Date` will be returned.\n * Invalid Date is a Date, whose time value is NaN.\n * Time value of Date: http://es5.github.io/#x15.9.1.1\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param dateStr - The string to parse\n * @param formatStr - The string of tokens\n * @param referenceDate - defines values missing from the parsed dateString\n * @param options - An object with options.\n * see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * @returns The parsed date\n *\n * @throws `options.locale` must contain `match` property\n * @throws use `yyyy` instead of `YYYY` for formatting years using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws use `yy` instead of `YY` for formatting years using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws use `d` instead of `D` for formatting days of the month using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws use `dd` instead of `DD` for formatting days of the month using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws format string contains an unescaped latin alphabet character\n *\n * @example\n * // Parse 11 February 2014 from middle-endian format:\n * var result = parse('02/11/2014', 'MM/dd/yyyy', new Date())\n * //=> Tue Feb 11 2014 00:00:00\n *\n * @example\n * // Parse 28th of February in Esperanto locale in the context of 2010 year:\n * import eo from 'date-fns/locale/eo'\n * var result = parse('28-a de februaro', \"do 'de' MMMM\", new Date(2010, 0, 1), {\n * locale: eo\n * })\n * //=> Sun Feb 28 2010 00:00:00\n */\nexport function parse(dateStr, formatStr, referenceDate, options) {\n const invalidDate = () => constructFrom(options?.in || referenceDate, NaN);\n const defaultOptions = getDefaultOptions();\n const locale = options?.locale ?? defaultOptions.locale ?? defaultLocale;\n\n const firstWeekContainsDate =\n options?.firstWeekContainsDate ??\n options?.locale?.options?.firstWeekContainsDate ??\n defaultOptions.firstWeekContainsDate ??\n defaultOptions.locale?.options?.firstWeekContainsDate ??\n 1;\n\n const weekStartsOn =\n options?.weekStartsOn ??\n options?.locale?.options?.weekStartsOn ??\n defaultOptions.weekStartsOn ??\n defaultOptions.locale?.options?.weekStartsOn ??\n 0;\n\n if (!formatStr)\n return dateStr ? invalidDate() : toDate(referenceDate, options?.in);\n\n const subFnOptions = {\n firstWeekContainsDate,\n weekStartsOn,\n locale,\n };\n\n // If timezone isn't specified, it will try to use the context or\n // the reference date and fallback to the system time zone.\n const setters = [new DateTimezoneSetter(options?.in, referenceDate)];\n\n const tokens = formatStr\n .match(longFormattingTokensRegExp)\n .map((substring) => {\n const firstCharacter = substring[0];\n if (firstCharacter in longFormatters) {\n const longFormatter = longFormatters[firstCharacter];\n return longFormatter(substring, locale.formatLong);\n }\n return substring;\n })\n .join(\"\")\n .match(formattingTokensRegExp);\n\n const usedTokens = [];\n\n for (let token of tokens) {\n if (\n !options?.useAdditionalWeekYearTokens &&\n isProtectedWeekYearToken(token)\n ) {\n warnOrThrowProtectedError(token, formatStr, dateStr);\n }\n if (\n !options?.useAdditionalDayOfYearTokens &&\n isProtectedDayOfYearToken(token)\n ) {\n warnOrThrowProtectedError(token, formatStr, dateStr);\n }\n\n const firstCharacter = token[0];\n const parser = parsers[firstCharacter];\n if (parser) {\n const { incompatibleTokens } = parser;\n if (Array.isArray(incompatibleTokens)) {\n const incompatibleToken = usedTokens.find(\n (usedToken) =>\n incompatibleTokens.includes(usedToken.token) ||\n usedToken.token === firstCharacter,\n );\n if (incompatibleToken) {\n throw new RangeError(\n `The format string mustn't contain \\`${incompatibleToken.fullToken}\\` and \\`${token}\\` at the same time`,\n );\n }\n } else if (parser.incompatibleTokens === \"*\" && usedTokens.length > 0) {\n throw new RangeError(\n `The format string mustn't contain \\`${token}\\` and any other token at the same time`,\n );\n }\n\n usedTokens.push({ token: firstCharacter, fullToken: token });\n\n const parseResult = parser.run(\n dateStr,\n token,\n locale.match,\n subFnOptions,\n );\n\n if (!parseResult) {\n return invalidDate();\n }\n\n setters.push(parseResult.setter);\n\n dateStr = parseResult.rest;\n } else {\n if (firstCharacter.match(unescapedLatinCharacterRegExp)) {\n throw new RangeError(\n \"Format string contains an unescaped latin alphabet character `\" +\n firstCharacter +\n \"`\",\n );\n }\n\n // Replace two single quote characters with one single quote character\n if (token === \"''\") {\n token = \"'\";\n } else if (firstCharacter === \"'\") {\n token = cleanEscapedString(token);\n }\n\n // Cut token from string, or, if string doesn't match the token, return Invalid Date\n if (dateStr.indexOf(token) === 0) {\n dateStr = dateStr.slice(token.length);\n } else {\n return invalidDate();\n }\n }\n }\n\n // Check if the remaining input contains something other than whitespace\n if (dateStr.length > 0 && notWhitespaceRegExp.test(dateStr)) {\n return invalidDate();\n }\n\n const uniquePrioritySetters = setters\n .map((setter) => setter.priority)\n .sort((a, b) => b - a)\n .filter((priority, index, array) => array.indexOf(priority) === index)\n .map((priority) =>\n setters\n .filter((setter) => setter.priority === priority)\n .sort((a, b) => b.subPriority - a.subPriority),\n )\n .map((setterArray) => setterArray[0]);\n\n let date = toDate(referenceDate, options?.in);\n\n if (isNaN(+date)) return invalidDate();\n\n const flags = {};\n for (const setter of uniquePrioritySetters) {\n if (!setter.validate(date, subFnOptions)) {\n return invalidDate();\n }\n\n const result = setter.set(date, flags, subFnOptions);\n // Result is tuple (date, flags)\n if (Array.isArray(result)) {\n date = result[0];\n Object.assign(flags, result[1]);\n // Result is date\n } else {\n date = result;\n }\n }\n\n return date;\n}\n\nfunction cleanEscapedString(input) {\n return input.match(escapedStringRegExp)[1].replace(doubleQuoteRegExp, \"'\");\n}\n\n// Fallback for modularized imports:\nexport default parse;\n","import { getDefaultOptions as getInternalDefaultOptions } from \"./_lib/defaultOptions.js\";\n\n/**\n * @name getDefaultOptions\n * @category Common Helpers\n * @summary Get default options.\n * @pure false\n *\n * @description\n * Returns an object that contains defaults for\n * `options.locale`, `options.weekStartsOn` and `options.firstWeekContainsDate`\n * arguments for all functions.\n *\n * You can change these with [setDefaultOptions](https://date-fns.org/docs/setDefaultOptions).\n *\n * @returns The default options\n *\n * @example\n * const result = getDefaultOptions()\n * //=> {}\n *\n * @example\n * setDefaultOptions({ weekStarsOn: 1, firstWeekContainsDate: 4 })\n * const result = getDefaultOptions()\n * //=> { weekStarsOn: 1, firstWeekContainsDate: 4 }\n */\nexport function getDefaultOptions() {\n return Object.assign({}, getInternalDefaultOptions());\n}\n\n// Fallback for modularized imports:\nexport default getDefaultOptions;\n",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["Adapter","version","host","namespace","headers","constructor","config","this","get","_path","_query","_options","Promise","reject","Error","post","_data","put","patch","_legacyOptions","FleetbaseError","status","code","response","requestId","message","options","super","undefined","cause","name","appendQuery","url","query","entries","Object","length","params","URLSearchParams","key","rawValue","values","Array","isArray","value","Date","append","toISOString","JSON","stringify","String","serialized","toString","includes","async","requestWithFetch","request","fetchImplementation","fetch","globalThis","baseUrl","path","override","replace","filter","Boolean","join","buildUrl","Headers","forEach","set","init","method","data","body","FormData","payload","text","parse","parseResponse","ok","fallback","errors","error","errorMessage","statusText","BrowserAdapter","fetchConfig","publicKey","has","normalized","headerRecord","setHeaders","merged","parseJSON","json","requestOptions","legacyOptions","fromEntries","from","part","toUpperCase","NodeAdapter","isEmpty","size","target","parts","split","current","index","isResourceLike","attributes","some","TypeError","slice","defineProperty","configurable","enumerable","writable","final","at","Point","type","coordinates","latitude","longitude","lat","lng","fromGeoJson","serialize","toJson","detectAdapter","runtime","process","release","navigator","product","isNodeEnvironment","compare","left","right","iter","hasValue","arguments","item","Collection","Symbol","species","items","setPrototypeOf","prototype","push","notEmpty","empty","first","last","start","deleteCount","array","splice","objectsAt","indexes","map","objectAt","findBy","find","findIndexBy","findIndex","isEvery","every","isAny","invoke","methodName","args","apply","toArray","compact","createCollection","sortBy","keys","sort","result","uniqBy","seen","Set","add","without","is","clear","insertAt","replaceAt","removeAt","pushObject","pushObjects","popObject","pop","shiftObject","shift","unshiftObject","unshift","unshiftObjects","reverseObjects","reverse","call","setObjects","removeObject","removeObjects","addObject","addObjects","UNCOUNTABLE","PLURAL_RULES","SINGULAR_RULES","NON_TITLE_CASED","FleetbaseString","str","chain","rules","toLowerCase","rule","pattern","test","pluralize","singularize","camelize","lowFirstLetter","segment","charAt","underscore","humanize","capitalize","lower","dasherize","normify","allFirstUpper","word","demodulize","tableize","classify","trim","foreignKey","dropIdUnderscore","ordinalize","number","Number","finalTwo","instance","candidate","registry","resources","adapters","stores","actions","register","className","lookup","bucket","Constructor","create","StoreActions","bind","extend","binding","Store$1","resource","adapter","storage","extendActions","store","list","action","extendStoreActions","deposit","resourceInstance","afterFetch","onAfterFetch","update","id","findRecord","findAll","queryRecord","single","destroy","record","getAttribute","delete","isResource","Resource","Store","dirtyAttributes","changes","isLoading","isSaving","isDestroying","isReloading","setAdapter","syncAttributes","setFlags","mergeAttributes","reload","flags","state","validFlags","flag","reset","save","getAttributes","onlyDirty","saveDirty","meta","createdAt","isAttributeFilled","updatedAt","isLoaded","hasAttributes","isNew","isSaved","isDeleted","eachAttribute","callback","property","getDirtyAttributes","isDirty","hasDirtyAttributes","mutate","setAttribute","setAttributes","previousValue","changedAt","attribute","defaultValue","hasAttribute","properties","names","callAction","resolve","resourceId","serializeResources","Contact","Entity","Fleet","Vendor","vehicleActions","trailers","then","Trailer","Vehicle","trailerActions","attach","detach","connections","track","manifestActions","optimize","Manifest","manifestStopActions","ManifestStop","FuelReport","Issue","workOrderActions","send","WorkOrder","Zone","ServiceArea","ServiceRate","TrackingStatus","Place","fromGoogleAddress","googleAddress","address","location","street1","street2","city","province","postal_code","neighborhood","district","building","country","phone","security_access_code","setOwner","owner","Waypoint","Payload","_entity","entities","dropoff","pickup","waypoints","organizationActions","Organization","serializeOrganizations","driverActions","login","identity","password","isPhone","verifyCode","listOrganizations","switchOrganization","currentOrganization","retrieve","syncDevice","manifests","changePassword","forgotPassword","resetPassword","Driver","token","isOnline","isFinite","Math","abs","isLongitude","isLatitude","organizationId","next","orderActions","getDistanceAndTime","getNextActivity","dispatch","updateActivity","setDestination","destination","captureQrCode","subject","subjectId","captureSignature","complete","cancel","isDispatched","isNotDispatched","isStarted","isNotStarted","isCompleted","isCanceled","isEnroute","isInProgress","scheduledAt","dateAttribute","startedAt","dispatchedAt","serviceQuoteActions","fromPayload","fromPreliminary","ServiceQuote","Order","StorefrontStore","formatCurrency","amount","currency","currencyDisplay","Intl","NumberFormat","style","format","obj","none","objectType","StorefrontResource","_args","reviewActions","count","storeId","Review","getMedia","getPhotos","getVideos","media","startsWith","millisecondsInWeek","constructFromSymbol","for","constructFrom","date","toDate","argument","context","addDays","_date","in","isNaN","NaN","setDate","getDate","defaultOptions","getDefaultOptions","startOfWeek","weekStartsOn","locale","day","getDay","diff","setHours","startOfISOWeek","getISOWeekYear","year","getFullYear","fourthOfJanuaryOfNextYear","setFullYear","startOfNextYear","fourthOfJanuaryOfThisYear","startOfThisYear","getTime","getTimezoneOffsetInMilliseconds","utcDate","UTC","getMonth","getHours","getMinutes","getSeconds","getMilliseconds","setUTCFullYear","startOfDay","differenceInCalendarDays","laterDate","earlierDate","laterDate_","earlierDate_","dates","normalize","normalizeDates","laterStartOfDay","earlierStartOfDay","laterTimestamp","earlierTimestamp","round","isValid","formatDistanceLocale","lessThanXSeconds","one","other","xSeconds","halfAMinute","lessThanXMinutes","xMinutes","aboutXHours","xHours","xDays","aboutXWeeks","xWeeks","aboutXMonths","xMonths","aboutXYears","xYears","overXYears","almostXYears","buildFormatLongFn","width","defaultWidth","formats","formatLong","full","long","medium","short","time","dateTime","formatRelativeLocale","lastWeek","yesterday","today","tomorrow","nextWeek","buildLocalizeFn","valuesArray","formattingValues","defaultFormattingWidth","argumentCallback","buildMatchFn","string","matchPattern","matchPatterns","defaultMatchWidth","matchResult","match","matchedString","parsePatterns","defaultParseWidth","predicate","object","hasOwnProperty","findKey","valueCallback","rest","enUS","formatDistance","tokenValue","addSuffix","comparison","formatRelative","_baseDate","localize","ordinalNumber","dirtyNumber","rem100","era","narrow","abbreviated","wide","quarter","month","dayPeriod","am","pm","midnight","noon","morning","afternoon","evening","night","parsePattern","parseInt","parseResult","any","firstWeekContainsDate","getDayOfYear","date_","startOfYear","getISOWeek","fourthOfJanuary","startOfISOWeekYear","getWeekYear","firstWeekOfNextYear","firstWeekOfThisYear","getWeek","firstWeek","startOfWeekYear","addLeadingZeros","targetLength","padStart","lightFormatters","y","signedYear","M","d","a","dayPeriodEnumValue","h","H","m","s","S","numberOfDigits","milliseconds","trunc","pow","dayPeriodEnum","formatters","G","unit","Y","signedWeekYear","weekYear","R","u","Q","ceil","q","L","w","week","I","isoWeek","D","dayOfYear","E","dayOfWeek","e","localDayOfWeek","c","i","isoDayOfWeek","b","hours","B","K","k","X","_localize","timezoneOffset","getTimezoneOffset","formatTimezoneWithOptionalMinutes","formatTimezone","x","O","formatTimezoneShort","z","t","T","offset","delimiter","sign","absOffset","minutes","dateLongFormatter","timeLongFormatter","longFormatters","p","P","datePattern","timePattern","dateTimeFormat","dayOfYearTokenRE","weekYearTokenRE","throwTokens","isProtectedDayOfYearToken","isProtectedWeekYearToken","warnOrThrowProtectedError","input","_message","console","warn","RangeError","formattingTokensRegExp","longFormattingTokensRegExp","escapedStringRegExp","doubleQuoteRegExp","unescapedLatinCharacterRegExp","formatStr","defaultLocale","originalDate","substring","firstCharacter","longFormatter","isToken","cleanEscapedString","preprocessor","formatterOptions","formatter","matched","Setter","subPriority","validate","_utcDate","ValueSetter","validateValue","setValue","priority","DateTimezoneSetter","reference","timestampIsSet","isConstructor","transpose","Parser","run","dateString","setter","_value","numericPatterns","timezonePatterns","mapValue","parseFnResult","mapFn","parseNumericPattern","parseTimezonePattern","parseAnyDigitsSigned","parseNDigits","n","RegExp","parseNDigitsSigned","dayPeriodEnumToHours","normalizeTwoDigitYear","twoDigitYear","currentYear","isCommonEra","absCurrentYear","rangeEnd","isLeapYearIndex","DAYS_IN_MONTH","DAYS_IN_MONTH_LEAP_YEAR","setDay","currentDay","delta","setISODay","getISODay","parsers","incompatibleTokens","isTwoDigitYear","normalizedTwoDigitYear","_flags","firstWeekOfYear","setMonth","setWeek","setISOWeek","isLeapYear","subpriority","wholeWeekDays","floor","isPM","setMinutes","setSeconds","setMilliseconds","notWhitespaceRegExp","dateStr","referenceDate","invalidDate","assign","getInternalDefaultOptions","subFnOptions","setters","tokens","usedTokens","parser","incompatibleToken","usedToken","fullToken","indexOf","uniquePrioritySetters","setterArray","StoreHour","isClosed","is24Hours","startDateInstance","end","endDateInstance","includesSeconds","humanReadableHoursRange","humanReadableHours","StoreLocation","storeData","embeddedStore","legacyStore","public_id","merchant","isAlwaysOpen","hour","schedule","PaymentGateway","isCashGateway","isStripeGateway","isQPayGateway","setCheckoutToken","getCheckoutToken","getReviews","reviews","getTags","getLocations","storeLocations","place","getLocation","getPaymentGateways","gateways","getPaymentGateway","Product","variants","addons","images","videos","isOnSale","isNotOnSale","formattedAmount","price","sale_price","Category","getProducts","category","products","customerActions","loginWithApple","appleUserId","identityToken","authorizationCode","email","loginWithFacebook","facebookUserId","avatarUrl","loginWithGoogle","idToken","clientId","requestCreationCode","mode","Customer","platform","performAuthorizedRequest","endpoint","getSavedPlaces","places","getOrderHistory","orders","getStripeEphemeralKey","getStripeSetupIntent","socketToken","startAccountClosure","confirmAccountClosure","requestPhoneVerification","verifyPhoneNumber","updateContactAlias","cartActions","productId","quantity","cartItemId","remove","Cart","refresh","subtotal","contents","reduce","cartItem","hasProduct","product_id","isNotEmpty","Network","getResourceCollection","ResourceClass","getStores","getStoreLocations","getCategories","search","with_store","lookupStore","DeliveryServiceQuote","finalAttributes","finalAdapter","fromCart","fetchServiceQuotesFromCart","origin","cart","all","serviceQuotes","serviceQuote","getFromCart","FleetbaseOrder","checkoutActions","initialize","customer","gateway","orderOptions","captureOrder","orderJson","createStripeSetupIntent","updateStripePaymentIntent","paymentIntent","getStatus","checkout","captureQPay","captureQPayCallback","Checkout","FoodTruck","idFor","completePickup","order","getReceipt","Storefront","categories","foodTrucks","customers","storeKey","debug","initializeStores","about","hydrateOwner","getOwner","lookupResource","is_network","newInstance","getAdapter"],"mappings":"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","x_google_ignoreList":[0,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86]} \ No newline at end of file diff --git a/dist/cjs/storefront.cjs b/dist/cjs/storefront.cjs index cb74dac..32585e5 100644 --- a/dist/cjs/storefront.cjs +++ b/dist/cjs/storefront.cjs @@ -2,20 +2,24 @@ Object.defineProperty(exports, '__esModule', { value: true }); +var sdk = require('@fleetbase/sdk'); require('countries-list'); var dateFns = require('date-fns'); -function t(t,e){this.v=t,this.k=e;}function e(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=Array(e);n=t.length?{done:true}:{done:false,value:t[r++]}},e:function(t){throw t},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=true,s=false;return {s:function(){n=n.call(t);},n:function(){var t=n.next();return a=t.done,t},e:function(t){s=true,o=t;},f:function(){try{a||null==n.return||n.return();}finally{if(s)throw o}}}}function g(t,e,n){return (e=j(e))in t?Object.defineProperty(t,e,{value:n,enumerable:true,configurable:true,writable:true}):t[e]=n,t}function y(t){return y=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},y(t)}function b(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:true,configurable:true}}),Object.defineProperty(t,"prototype",{writable:false}),e&&O(t,e);}function m(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})));}catch(t){}return (m=function(){return !!t})()}function w(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}function k(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function E(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r);}return n}function A(t){for(var e=1;e=0;--o){var a=this.tryEntries[o],s=a.completion;if("root"===a.tryLoc)return i("end");if(a.tryLoc<=this.prev){var u=r.call(a,"catchLoc"),c=r.call(a,"finallyLoc");if(u&&c){if(this.prev=0;--n){var i=this.tryEntries[n];if(i.tryLoc<=this.prev&&r.call(i,"finallyLoc")&&this.prev=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),_(n),g}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var r=n.completion;if("throw"===r.type){var i=r.arg;_(n);}return i}}throw Error("illegal catch attempt")},delegateYield:function(e,n,r){return this.delegate={iterator:L(e),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=t),g}},e}function O(t,e){return O=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},O(t,e)}function R(t,e){return n(t)||function(t,e){var n=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=n){var r,i,o,a,s=[],u=true,c=false;try{if(o=(n=n.call(t)).next,0===e){if(Object(n)!==n)return;u=!1;}else for(;!(u=(r=o.call(n)).done)&&(s.push(r.value),s.length!==e);u=!0);}catch(t){c=true,i=t;}finally{try{if(!u&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(c)throw i}}return s}}(t,e)||_(t,e)||k()}function S(t){return function(t){if(Array.isArray(t))return e(t)}(t)||w(t)||_(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function j(t){var e=function(t,e){if("object"!=typeof t||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,e);if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return ("string"===e?String:Number)(t)}(t,"string");return "symbol"==typeof e?e:e+""}function T(t){return T="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},T(t)}function _(t,n){if(t){if("string"==typeof t)return e(t,n);var r={}.toString.call(t).slice(8,-1);return "Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?e(t,n):void 0}}function P(t){return function(){return new L(t.apply(this,arguments))}}function L(e){var n,r;function i(n,r){try{var a=e[n](r),s=a.value,u=s instanceof t;Promise.resolve(u?s.v:s).then((function(t){if(u){var r="return"===n?"return":"next";if(!s.k||t.done)return i(r,t);t=e[r](t).value;}o(a.done?"return":"normal",t);}),(function(t){i("throw",t);}));}catch(t){o("throw",t);}}function o(t,e){switch(t){case "return":n.resolve({value:e,done:true});break;case "throw":n.reject(e);break;default:n.resolve({value:e,done:false});}(n=n.next)?i(n.key,n.arg):r=null;}this._invoke=function(t,e){return new Promise((function(o,a){var s={key:t,arg:e,resolve:o,reject:a,next:null};r?r=r.next=s:(n=r=s,i(t,e));}))},"function"!=typeof e.return&&(this.return=void 0);}function C(t){var e="function"==typeof Map?new Map:void 0;return C=function(t){if(null===t||!function(t){try{return -1!==Function.toString.call(t).indexOf("[native code]")}catch(e){return "function"==typeof t}}(t))return t;if("function"!=typeof t)throw new TypeError("Super expression must either be null or a function");if(void 0!==e){if(e.has(t))return e.get(t);e.set(t,n);}function n(){return f(t,arguments,y(this).constructor)}return n.prototype=Object.create(t.prototype,{constructor:{value:n,enumerable:false,writable:true,configurable:true}}),O(n,t)},C(t)}L.prototype["function"==typeof Symbol&&Symbol.asyncIterator||"@@asyncIterator"]=function(){return this},L.prototype.next=function(t){return this._invoke("next",t)},L.prototype.throw=function(t){return this._invoke("throw",t)},L.prototype.return=function(t){return this._invoke("return",t)};var N=function(){function t(e){var n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];h(this,t),g(this,"uncountableWords",["equipment","information","rice","money","species","series","fish","sheep","moose","deer","news"]),g(this,"pluralRules",[[new RegExp("(m)an$","gi"),"$1en"],[new RegExp("(pe)rson$","gi"),"$1ople"],[new RegExp("(child)$","gi"),"$1ren"],[new RegExp("^(ox)$","gi"),"$1en"],[new RegExp("(ax|test)is$","gi"),"$1es"],[new RegExp("(octop|vir)us$","gi"),"$1i"],[new RegExp("(alias|status)$","gi"),"$1es"],[new RegExp("(bu)s$","gi"),"$1ses"],[new RegExp("(buffal|tomat|potat)o$","gi"),"$1oes"],[new RegExp("([ti])um$","gi"),"$1a"],[new RegExp("sis$","gi"),"ses"],[new RegExp("(?:([^f])fe|([lr])f)$","gi"),"$1$2ves"],[new RegExp("(hive)$","gi"),"$1s"],[new RegExp("([^aeiouy]|qu)y$","gi"),"$1ies"],[new RegExp("(x|ch|ss|sh)$","gi"),"$1es"],[new RegExp("(matr|vert|ind)ix|ex$","gi"),"$1ices"],[new RegExp("([m|l])ouse$","gi"),"$1ice"],[new RegExp("(quiz)$","gi"),"$1zes"],[new RegExp("s$","gi"),"s"],[new RegExp("$","gi"),"s"]]),g(this,"singularRules",[[new RegExp("(m)en$","gi"),"$1an"],[new RegExp("(pe)ople$","gi"),"$1rson"],[new RegExp("(child)ren$","gi"),"$1"],[new RegExp("([ti])a$","gi"),"$1um"],[new RegExp("((a)naly|(b)a|(d)iagno|(p)arenthe|(p)rogno|(s)ynop|(t)he)ses$","gi"),"$1$2sis"],[new RegExp("(hive)s$","gi"),"$1"],[new RegExp("(tive)s$","gi"),"$1"],[new RegExp("(curve)s$","gi"),"$1"],[new RegExp("([lr])ves$","gi"),"$1f"],[new RegExp("([^fo])ves$","gi"),"$1fe"],[new RegExp("([^aeiouy]|qu)ies$","gi"),"$1y"],[new RegExp("(s)eries$","gi"),"$1eries"],[new RegExp("(m)ovies$","gi"),"$1ovie"],[new RegExp("(x|ch|ss|sh)es$","gi"),"$1"],[new RegExp("([m|l])ice$","gi"),"$1ouse"],[new RegExp("(bus)es$","gi"),"$1"],[new RegExp("(o)es$","gi"),"$1"],[new RegExp("(shoe)s$","gi"),"$1"],[new RegExp("(cris|ax|test)es$","gi"),"$1is"],[new RegExp("(octop|vir)i$","gi"),"$1us"],[new RegExp("(alias|status)es$","gi"),"$1"],[new RegExp("^(ox)en","gi"),"$1"],[new RegExp("(vert|ind)ices$","gi"),"$1ex"],[new RegExp("(matr)ices$","gi"),"$1ix"],[new RegExp("(quiz)zes$","gi"),"$1"],[new RegExp("s$","gi"),""]]),g(this,"nonTitlecasedWords",["and","or","nor","a","an","the","so","but","to","of","at","by","from","into","on","onto","off","out","in","over","with","for"]),g(this,"idSuffix",new RegExp("(_ids|_id)$","g")),g(this,"underbar",new RegExp("_","g")),g(this,"spaceOrUnderbar",new RegExp("[ _]","g")),g(this,"uppercase",new RegExp("([A-Z])","g")),g(this,"underbarPrefix",new RegExp("^_")),this.str=e,this.chain=n;}return v(t,[{key:"get",value:function(){return this.str}},{key:"applyRules",value:function(t,e,n,r){if(r)t=r;else if(!(n.indexOf(t.toLowerCase())>-1))for(var i=0;i1&&void 0!==arguments[1]?arguments[1]:null;return t=t||this.str,this.applyRules(t,this.pluralRules,this.uncountableWords,e)}},{key:"singularize",value:function(t,e){return t=t||this.str,this.applyRules(t,this.singularRules,this.uncountableWords,e)}},{key:"camelize",value:function(t,e){for(var n=(t=t||this.str).split("/"),r=0;r1&&void 0!==arguments[1]&&arguments[1];return t=t||this.str,t=this.underscore(this.demodulize(t))+(e?"":"_")+"id",this.str=t,true===this.chain?this:t}},{key:"ordinalize",value:function(t){for(var e=(t=t||this.str).split(" "),n=0;n2?i-2:0),a=2;a2?n-2:0),i=2;i2?n-2:0),i=2;i1?e-1:0),r=1;r3&&void 0!==arguments[3]?arguments[3]:[];if(V(t))if(r.length<=X)t.splice.apply(t,[e,n].concat(S(r)));else {t.splice(e,n);for(var i=0;i2&&void 0!==arguments[2]?arguments[2]:0,r=t.length,i=n;i2&&void 0!==arguments[2]?arguments[2]:0,r=arguments.length>3?arguments[3]:void 0,i=t.length;return n<0&&(n+=i),nt(t,r&&e!=e?function(t){return t!=t}:function(t){return t===e},n)}function it(t,e,n){return Q(t,e,0,[n]),n}function ot(){return f(at,Array.prototype.slice.call(arguments))}var at=function(){function t(){return h(this,t),r(V(arguments[0])?l(this,t,S(arguments[0])):l(this,t,arguments))}return b(t,C(Array)),v(t,[{key:"notEmpty",get:function(){return this.length>0}},{key:"empty",get:function(){return 0===this.length}},{key:"first",get:function(){return tt(this,0)}},{key:"last",get:function(){return tt(this,this.length-1)}},{key:"replace",value:function(t,e){return Q(this,t,e,arguments.length>2&&void 0!==arguments[2]?arguments[2]:[]),this}},{key:"objectsAt",value:function(t){var e=this;return t.map((function(t){return tt(e,t)}))}},{key:"objectAt",value:function(t){return tt(this,t)}},{key:"indexOf",value:function(t,e){return rt(this,t,e,false)}},{key:"lastIndexOf",value:function(t,e){var n=this.length;(void 0===e||e>=n)&&(e=n-1),e<0&&(e+=n);for(var r=e;r>=0;r--)if(tt(this,r)===t)return r;return -1}},{key:"includes",value:function(t,e){return -1!==rt(this,t,e,true)}},{key:"findBy",value:function(){return t=this,e=et.apply(void 0,arguments),-1===(r=nt(t,e.bind(n),0))?void 0:tt(t,r);var t,e,n,r;}},{key:"findIndexBy",value:function(){return nt(this,et.apply(void 0,arguments))}},{key:"isEvery",value:function(){return t=this,e=et.apply(void 0,arguments),r=e.bind(n),-1===nt(t,(function(t,e,n){return !r(t,e,n)}),0);var t,e,n,r;}},{key:"isAny",value:function(){return t=this,e=et.apply(void 0,arguments),-1!==nt(t,e.bind(n),0);var t,e,n;}},{key:"invoke",value:function(t){for(var e=arguments.length,n=new Array(e>1?e-1:0),r=1;r1&&void 0!==arguments[1]?arguments[1]:Y,n=[],r=new Set,i="function"==typeof e?e:function(t){return get(t,e)};return t.forEach((function(t){var e=i(t);r.has(e)||(r.add(e),n.push(t));})),n}(this,t)}},{key:"without",value:function(t){if(!this.includes(t))return this;var e=t==t?function(e){return e!==t}:function(t){return t==t};return this.filter(e)}},{key:"clear",value:function(){var t=this.length;return 0===t||this.replace(0,t,[]),this}},{key:"insertAt",value:function(t,e){return it(this,t,e),this}},{key:"replaceAt",value:function(t,e){return this.replace(t,1,[e])}},{key:"removeAt",value:function(t,e){return function(t,e){return Q(t,e,arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,[]),t}(this,t,e)}},{key:"pushObject",value:function(t){return this.insertAt(this.length,t)}},{key:"pushObjects",value:function(t){return this.replace(this.length,0,t),this}},{key:"popObject",value:function(){var t=this.length;if(0===t)return null;var e=tt(this,t-1);return this.removeAt(t-1,1),e}},{key:"shiftObject",value:function(){if(0===this.length)return null;var t=tt(this,0);return this.removeAt(0),t}},{key:"unshiftObject",value:function(t){return it(this,0,t)}},{key:"unshiftObjects",value:function(t){return this.replace(0,0,t),this}},{key:"reverseObjects",value:function(){var t=this.length;if(0===t)return this;var e=this.toArray().reverse();return this.replace(0,t,e),this}},{key:"setObjects",value:function(t){if(0===t.length)return this.clear();var e=this.length;return this.replace(0,e,t),this}},{key:"removeObject",value:function(t){for(var e=this.length||0;--e>=0;){tt(this,e)===t&&this.removeAt(e);}return this}},{key:"removeObjects",value:function(t){for(var e=t.length-1;e>=0;e--)this.removeObject(t[e]);return this}},{key:"addObject",value:function(t){return this.includes(t)||this.pushObject(t),this}},{key:"addObjects",value:function(t){var e=this;return t.forEach((function(t){return e.addObject(t)})),this}}])}();function st(t){var e=null==t;if(e)return e;if("number"==typeof t.size)return !t.size;var n=T(t);if("object"===n){var r=t.size;if("number"==typeof r)return !r}if("number"==typeof t.length&&"function"!==n)return !t.length;if("object"===n){var i=t.length;if("number"==typeof i)return !i}return false}function lt(){var t,e,n;return !("undefined"==typeof process||"object"!==T(null===(t=process)||void 0===t?void 0:t.env)&&-1===(null===(e=process.release)||void 0===e||null===(e=e.name)||void 0===e?void 0:e.search(/node|io.js/))||"undefined"!=typeof window&&"ReactNative"!==(null===(n=window)||void 0===n||null===(n=n.navigator)||void 0===n?void 0:n.product))}function ht(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return lt()?W("adapter","NodeAdapter",t):W("adapter","BrowserAdapter",t)}(function(){return v((function t(e){h(this,t),this.place=e,this.geometry=null==e?void 0:e.geometry,this.components=this.parseComponents(),this.attributes=this.parseProperties();}),[{key:"parse",value:function(){this.parseComponents(),this.parseProperties();}},{key:"parseComponents",value:function(){var t;return ((null===(t=this.place)||void 0===t?void 0:t.address_components)||[]).reduce((function(t,e){return e.types.forEach((function(n){t[n]=e;})),t}),{})}},{key:"parseProperties",value:function(){var t,e={streetNumber:this.get("street_number"),streetName:this.get("route"),coordinates:null!==(t=this.geometry)&&void 0!==t&&t.location?Object.values(this.geometry.location):[0,0],city:this.or(["locality","sublocality","sublocality_level_1","neighborhood","administrative_area_level_3","administrative_area_level_2"]),county:this.get("administrative_area_level_2"),stateShort:this.get("administrative_area_level_1",true),stateLong:this.get("administrative_area_level_1"),countryShort:this.get("country",true),country:this.get("country",true),countryLong:this.get("country"),postalCode:this.get("postal_code")};return e.address=[e.streetNumber,e.streetName].filter(Boolean).join(" "),e}},{key:"all",value:function(){return this.attributes}},{key:"or",value:function(){var t,e=p(arguments.length>0&&void 0!==arguments[0]?arguments[0]:[]);try{for(e.s();!(t=e.n()).done;){var n=t.value;if(V(n)){var r=n[0],i=n[1];if(this.has(r))return this.get(r,i)}else if(this.has(n))return this.get(n)}}catch(t){e.e(t);}finally{e.f();}return null}},{key:"has",value:function(t){return t in this.components}},{key:"get",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return t in this.components?e?this.components[t].short_name:this.components[t].long_name:null}},{key:"setAttributes",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this.attributes=A(A({},this.attributes),t),this}},{key:"setAttribute",value:function(t,e){return this.attributes[t]=e,this}},{key:"getAttribute",value:function(t){return this.attributes[t]||null}}])})();var dt=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;h(this,t),this.type="Point",this.coordinates=[n,e];}return v(t,[{key:"latitude",get:function(){return this.coordinates[1]}},{key:"longitude",get:function(){return this.coordinates[0]}},{key:"lat",value:function(){return this.latitude}},{key:"lng",value:function(){return this.longitude}},{key:"serialize",value:function(){return {type:"Point",coorindates:[this.lat(),this.lng()]}}},{key:"toJson",value:function(){return this.serialize()}},{key:"toString",value:function(){return "(".concat(this.latitude,", ").concat(this.longitude,")")}}],[{key:"fromGeoJson",value:function(e){var n=R(e.coordinates,2),r=n[0];return new t(n[1],r)}}])}();function vt(t,e){var n=t();return Array.isArray(n)||"object"===T(n)?pt(n,e):null}function pt(t,e){var n,r=t,i=T(t),o="object"===i,a="function"===i,s=Array.isArray(t),u="string"===T(e)&&e.includes(".")?e.split("."):[e];if(s||o){for(var c=0;c1&&void 0!==arguments[1]?arguments[1]:[];if(t.actions=V(e)?e:[e],!V(e))return e instanceof mt&&e.extend(t),t;var n,r=p(e);try{for(r.s();!(n=r.n()).done;){var i=n.value;t.extendActions(i);}}catch(t){r.e(t);}finally{r.f();}}var mt=function(){return v((function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;h(this,t),this.actions=e,this.bind=n;}),[{key:"extend",value:function(){var t=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:null)||this.bind;if(!t)return this;if(null!=this&&this.actions&&"object"===T(this.actions))for(var e in this.actions){var n=this.actions[e];"function"==typeof n?gt(t,e,n.bind(t)):gt(t,e,n);}return this}}])}();function wt(t){return t instanceof kt}var kt=function(){return v((function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0,r=arguments.length>2?arguments[2]:void 0,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};h(this,t),this.attributes=e,this.dirtyAttributes={},this.changes={},this.isLoading=false,this.isSaving=false,this.isDestroying=false,this.isReloading=false,this.resource=r,this.options=i,this.version=i.version||"v1",this.setAdapter(n);}),[{key:"setAdapter",value:function(t){var e;return this.adapter=t,this.store=M(this.resource,t,{onAfterFetch:this.syncAttributes.bind(this),actions:null===(e=this.options)||void 0===e?void 0:e.actions}),this}},{key:"id",get:function(){return this.getAttribute("id")}},{key:"create",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=this.mergeAttributes(e);return this.setFlags(["isLoading","isSaving"]),this.store.create(n).then((function(e){return t.setFlags(["isLoading","isSaving"],false),e}))}},{key:"update",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this.setFlags(["isLoading","isSaving"]),this.store.update(this.attributes.id,e).then((function(e){return t.setFlags(["isLoading","isSaving"],false),e}))}},{key:"destroy",value:function(){var t=this;return this.setFlags(["isLoading","isDestroying"]),this.store.destroy(this.attributes.id).then((function(e){return t.setFlags(["isLoading","isDestroying"],false),e}))}},{key:"reload",value:function(){var t=this;return this.setFlags(["isLoading","isReloading"]),this.store.findRecord(this.attributes.id).then((function(e){return t.reset(),e}))}},{key:"setFlags",value:function(){for(var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=["isLoading","isSaving","isReloading","isDestroying"],r=0;r0&&void 0!==arguments[0]?arguments[0]:{},e=this.getAttributes();return st(this.id)?this.create(e):true===t.onlyDirty?this.savedirty():this.update(e)}},{key:"saveDirty",value:function(){for(var t=Object.keys(this.dirtyAttributes),e={},n=0;n0}},{key:"mutate",value:function(t,e){this.attributes[t]=e;}},{key:"setAttribute",value:function(t){var e,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;if(null===n&&"object"===T(t))return this.setAttributes(t);var r=null!==(e=null==this?void 0:this.attributes[t])&&void 0!==e?e:null;return gt(this.attributes,t,n),gt(this.dirtyAttributes,t,r),V(null==this?void 0:this.changes[t])||(this.changes[t]=[]),this.changes[t].push({property:t,previousValue:r,value:n,changedAt:new Date}),this}},{key:"setAttributes",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};for(var e in t)this.setAttribute(e,t[e]);return this}},{key:"getAttribute",value:function(t){var e,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=pt(null!==(e=null==this?void 0:this.attributes)&&void 0!==e?e:{},t);return void 0===r?n:r}},{key:"hasAttribute",value:function(t){if(V(t)){var e,n=t,r=Object.keys(null!==(e=this.attributes)&&void 0!==e?e:{});return n.every((function(t){return r.includes(t)}))}return !(null==this||!this.attributes)&&t in this.attributes}},{key:"hasAttributes",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return this.hasAttribute(t)}},{key:"isAttributeFilled",value:function(t){var e=this;return V(t)?this.hasAttribute(t)&&t.every((function(t){return !st(e.getAttribute(t))})):this.hasAttribute(t)&&!st(this.getAttribute(t))}},{key:"getAttributes",value:function(t){var e={};if(null==t)return this.getAttributes(Object.keys(this.attributes));if("string"==typeof t)return this.getAttribute(Array.prototype.slice.call(arguments));if(!V(t))throw new Error("No attribute properties provided!");var n,r=p(t);try{for(r.s();!(n=r.n()).done;){var i,o,a=n.value;if("string"==typeof a){var s=this.getAttribute(a);"object"!==T(null===(i=s)||void 0===i?void 0:i.attributes)||V(null===(o=s)||void 0===o?void 0:o.attributes)||(s=s.attributes),e[a]=s;}}}catch(t){r.e(t);}finally{r.f();}return e}},{key:"serialize",value:function(){return this.getAttributes()}},{key:"mergeAttributes",value:function(){var t,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=null!==(t=null==this?void 0:this.attributes)&&void 0!==t?t:{};return this.attributes=A(A({},n),e),this.attributes}},{key:"syncAttributes",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.attributes=t;}}])}();q("resource","Resource",kt);var Et=function(){return v((function t(e,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};h(this,t),this.resource=e,this.adapter=n||ht(),this.namespace=F(e),this.storage=ot(),this.options=r,this.extendActions(r.actions);}),[{key:"extendActions",value:function(){return yt(this,arguments.length>0&&void 0!==arguments[0]?arguments[0]:[])}},{key:"deposit",value:function(t){return t}},{key:"serialize",value:function(t){return W("resource",z(this.resource),t,this.adapter)}},{key:"afterFetch",value:function(t){return function(t,e){if("function"==typeof t.options.onAfterFetch&&t.options.onAfterFetch(e),V(e)){var n,r=[],i=p(e);try{for(i.s();!(n=i.n()).done;){var o=n.value;r.push(t.afterFetch(o));}}catch(t){i.e(t);}finally{i.f();}return ot.apply(void 0,r)}var a=t.serialize(e);return t.deposit(a)}(this,t)}},{key:"create",value:(a=u(x().mark((function t(){var e,n,r,i=arguments;return x().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return e=i.length>0&&void 0!==i[0]?i[0]:{},n=i.length>1&&void 0!==i[1]?i[1]:{},t.next=4,this.adapter.post("".concat(this.namespace),e,n);case 4:return r=t.sent,t.abrupt("return",this.afterFetch(r));case 6:case "end":return t.stop()}}),t,this)}))),function(){return a.apply(this,arguments)})},{key:"update",value:(o=u(x().mark((function t(e){var n,r,i,o=arguments;return x().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=o.length>1&&void 0!==o[1]?o[1]:{},r=o.length>2&&void 0!==o[2]?o[2]:{},t.next=4,this.adapter.put("".concat(this.namespace,"/").concat(e),n,r);case 4:return i=t.sent,t.abrupt("return",this.afterFetch(i));case 6:case "end":return t.stop()}}),t,this)}))),function(t){return o.apply(this,arguments)})},{key:"findRecord",value:(i=u(x().mark((function t(e){var n,r,i=arguments;return x().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=i.length>1&&void 0!==i[1]?i[1]:{},t.next=3,this.adapter.get("".concat(this.namespace,"/").concat(e),{},n);case 3:return r=t.sent,t.abrupt("return",this.afterFetch(r));case 5:case "end":return t.stop()}}),t,this)}))),function(t){return i.apply(this,arguments)})},{key:"findAll",value:(r=u(x().mark((function t(){var e,n,r=arguments;return x().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return e=r.length>0&&void 0!==r[0]?r[0]:{},t.next=3,this.adapter.get("".concat(this.namespace),{},e);case 3:return n=t.sent,t.abrupt("return",this.afterFetch(n));case 5:case "end":return t.stop()}}),t,this)}))),function(){return r.apply(this,arguments)})},{key:"query",value:(n=u(x().mark((function t(){var e,n,r,i=arguments;return x().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return e=i.length>0&&void 0!==i[0]?i[0]:{},n=i.length>1&&void 0!==i[1]?i[1]:{},t.next=4,this.adapter.get("".concat(this.namespace),e,n);case 4:return r=t.sent,t.abrupt("return",this.afterFetch(r));case 6:case "end":return t.stop()}}),t,this)}))),function(){return n.apply(this,arguments)})},{key:"queryRecord",value:(e=u(x().mark((function t(){var e,n,r,i=arguments;return x().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=i.length>1&&void 0!==i[1]?i[1]:{},(e=i.length>0&&void 0!==i[0]?i[0]:{}).single=true,t.next=5,this.adapter.get("".concat(this.namespace),e,n);case 5:return r=t.sent,t.abrupt("return",this.afterFetch(r));case 7:case "end":return t.stop()}}),t,this)}))),function(){return e.apply(this,arguments)})},{key:"destroy",value:(t=u(x().mark((function t(e){var n,r,i,o=arguments;return x().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=o.length>1&&void 0!==o[1]?o[1]:{},r=wt(e)?e.getAttribute("id"):e,t.next=4,this.adapter.delete("".concat(this.namespace,"/").concat(r),{},n);case 4:return i=t.sent,t.abrupt("return",this.afterFetch(i));case 6:case "end":return t.stop()}}),t,this)}))),function(e){return t.apply(this,arguments)})}]);var t,e,n,r,i,o,a;}();q("store","Store",Et);var At=new mt({getDistanceAndTime:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.adapter.get("".concat(this.namespace,"/").concat(t,"/distance-and-time"),e,n)},getNextActivity:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.adapter.get("".concat(this.namespace,"/").concat(t,"/next-activity"),e,n)},dispatch:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.adapter.post("".concat(this.namespace,"/").concat(t,"/dispatch"),e,n).then(this.afterFetch.bind(this))},start:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.adapter.post("".concat(this.namespace,"/").concat(t,"/start"),e,n).then(this.afterFetch.bind(this))},updateActivity:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.adapter.post("".concat(this.namespace,"/").concat(t,"/update-activity"),e,n).then(this.afterFetch.bind(this))},setDestination:function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return wt(e)&&(e=e.id),this.adapter.post("".concat(this.namespace,"/").concat(t,"/set-destination/").concat(e),n,r).then(this.afterFetch.bind(this))},captureQrCode:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return wt(e)&&(e=e.id),this.adapter.post("".concat(this.namespace,"/").concat(t,"/capture-qr").concat(e?"/"+e:""),n,r)},captureSignature:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return wt(e)&&(e=e.id),this.adapter.post("".concat(this.namespace,"/").concat(t,"/capture-signature").concat(e?"/"+e:""),n,r)},complete:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.adapter.post("".concat(this.namespace,"/").concat(t,"/complete"),e,n).then(this.afterFetch.bind(this))},cancel:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.adapter.delete("".concat(this.namespace,"/").concat(t,"/cancel"),e,n).then(this.afterFetch.bind(this))}}),xt=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return h(this,t),l(this,t,[e,n,"order",A({actions:At},r)])}return b(t,kt),v(t,[{key:"getDistanceAndTime",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.store.getDistanceAndTime(this.id,t,e)}},{key:"dispatch",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.store.dispatch(this.id,t,e)}},{key:"start",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.store.start(this.id,t,e)}},{key:"setDestination",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.store.setDestination(this.id,t,e,n)}},{key:"captureQrCode",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.store.captureQrCode(this.id,t,e,n)}},{key:"captureSignature",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.store.captureSignature(this.id,t,e,n)}},{key:"getNextActivity",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.store.getNextActivity(this.id,t,e)}},{key:"updateActivity",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.store.updateActivity(this.id,t,e)}},{key:"cancel",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.store.cancel(this.id,t,e)}},{key:"complete",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.store.complete(this.id,t,e)}},{key:"isDispatched",get:function(){return null!==this.getAttribute("dispatched_at")}},{key:"isNotDispatched",get:function(){return null==this.getAttribute("dispatched_at")}},{key:"isStarted",get:function(){return null!==this.getAttribute("started_at")}},{key:"isNotStarted",get:function(){return null==this.getAttribute("started_at")}},{key:"isCompleted",get:function(){return "completed"==this.getAttribute("status")}},{key:"isCanceled",get:function(){return "canceled"==this.getAttribute("status")}},{key:"isEnroute",get:function(){return "driver_enroute"==this.getAttribute("status")||"enroute"===this.getAttribute("status")}},{key:"isInProgress",get:function(){return this.isStarted&&!this.isCanceled&&!this.isCompleted}},{key:"scheduledAt",get:function(){return this.isAttributeFilled("scheduled_at")?new Date(this.getAttribute("scheduled_at")):null}},{key:"startedAt",get:function(){return this.isAttributeFilled("started_at")?new Date(this.getAttribute("started_at")):null}},{key:"dispatchedAt",get:function(){return this.isAttributeFilled("dispatched_at")?new Date(this.getAttribute("dispatched_at")):null}},{key:"status",get:function(){return this.getAttribute("status")}}])}();q("resource","Order",xt);var Ot=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return h(this,t),l(this,t,[e,n,"payload",r])}return b(t,kt),v(t,[{key:"attach",value:function(t){}},{key:"entities",get:function(){var t=this;return ot(this.entities.map((function(e){return G("Entity",e,t.adapter)})))}},{key:"dropoff",get:function(){return this.dropoff?G("Place",this.dropoff,this.adapter):null}},{key:"pickup",get:function(){return this.pickup?G("Place",this.pickup,this.adapter):null}},{key:"waypoints",get:function(){var t=this;return ot(this.waypoints.map((function(e){return G("Waypoint",e,t.adapter)})))}}])}();q("resource","Payload",Ot);var Rt=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return h(this,t),l(this,t,[e,n,"entity",r])}return b(t,kt),v(t)}();q("resource","Entity",Rt);var St=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return h(this,t),l(this,t,[e,n,"place",r])}return b(t,kt),v(t,[{key:"latitude",get:function(){var t;return null===(t=this.getAttribute("location",new dt))||void 0===t?void 0:t.coordinates[1]}},{key:"longitude",get:function(){var t;return null===(t=this.getAttribute("location",new dt))||void 0===t?void 0:t.coordinates[0]}},{key:"coordinates",get:function(){return [this.latitude,this.longitude]}},{key:"setOwner",value:function(t){return wt(t)&&this.setAttribute("owner",t.id),"string"==typeof t&&this.setAttribute("owner",t),this}}],[{key:"fromGoogleAddress",value:function(e,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=R(e.getAttribute("coordinates"),2),o=i[0],a=i[1];return new t({name:null,address:e.getAttribute("address"),location:new dt(o,a),street1:e.getAttribute("address"),street2:null,city:e.getAttribute("city"),province:e.getAttribute("stateLong"),postal_code:e.getAttribute("postalCode"),neighborhood:e.get("neighborhood"),district:e.getAttribute("county"),building:e.get("building"),country:e.getAttribute("countryShort"),phone:null,security_access_code:null},n,r)}}])}();q("resource","Place",St);var jt=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return h(this,t),l(this,t,[e,n,"waypoint",r])}return b(t,St),v(t)}();q("resource","Waypoint",jt);var Tt=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return h(this,t),l(this,t,[e,n,"tracking-status",r])}return b(t,kt),v(t)}();q("resource","TrackingStatus",Tt);var _t=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return h(this,t),l(this,t,[e,n,"vehicle",r])}return b(t,kt),v(t)}();q("resource","Vehicle",_t);var Pt=new mt({current:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.adapter.get("".concat(this.namespace,"/current"),t,e)}}),Lt=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return h(this,t),l(this,t,[e,n,"organization",A({actions:Pt},r)])}return b(t,kt),v(t)}();q("resource","Organization",Lt);var Ct=function(t,e){return V(t)?t.map((function(t){return new Lt(t,e)})):new Lt(t,e)},Nt=new mt({login:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(function(){return /^[+]?[\s./0-9]*[(]?[0-9]{1,4}[)]?[-\s./0-9]*$/g.test(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"")}(t))return this.adapter.post("drivers/login-with-sms",{phone:t});if(!e)throw new Error("Login requires password!");return this.adapter.post("drivers/login",A({identity:t,password:e},n)).then(this.afterFetch.bind(this))},verifyCode:function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.adapter.post("drivers/verify-code",A({identity:t,code:e},n)).then(this.afterFetch.bind(this))},track:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.adapter.post("drivers/".concat(t,"/track"),e,n).then(this.afterFetch.bind(this))},listOrganizations:function(t){var e=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.adapter.get("drivers/".concat(t,"/organizations"),n,r).then((function(t){return Ct(t,e.adapter)}))},switchOrganization:function(t){var e=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.adapter.post("drivers/".concat(t,"/switch-organization"),n,r).then((function(t){return Ct(t,e.adapter)}))},currentOrganization:function(t){var e=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.adapter.get("drivers/".concat(t,"/current-organization"),n,r).then((function(t){return Ct(t,e.adapter)}))},retrieve:function(t){return this.findRecord(t)},syncDevice:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.adapter.post("drivers/".concat(t,"/register-device"),e,n)}}),Ft=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return h(this,t),l(this,t,[e,n,"driver",A({actions:Nt},r)])}return b(t,kt),v(t,[{key:"token",get:function(){return this.getAttribute("token")}},{key:"isOnline",get:function(){return true===this.getAttribute("online")}},{key:"latitude",get:function(){var t;return null===(t=this.getAttribute("location",new dt))||void 0===t?void 0:t.coordinates[1]}},{key:"longitude",get:function(){var t;return null===(t=this.getAttribute("location",new dt))||void 0===t?void 0:t.coordinates[0]}},{key:"coordinates",get:function(){return [this.latitude,this.longitude]}},{key:"track",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.store.track(this.id,t,e)}},{key:"syncDevice",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.store.syncDevice(this.id,t,e)}},{key:"listOrganizations",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.store.listOrganizations(this.id,t,e)}},{key:"switchOrganization",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.store.switchOrganization(this.id,{next:t},e)}},{key:"currentOrganization",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.store.currentOrganization(this.id,t,e)}}])}();q("resource","Driver",Ft);var Dt=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return h(this,t),l(this,t,[e,n,"vendor",r])}return b(t,kt),v(t)}();q("resource","Vendor",Dt);var $t=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return h(this,t),l(this,t,[e,n,"contact",r])}return b(t,kt),v(t)}();q("resource","Contact",$t);var Ut=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return h(this,t),l(this,t,[e,n,"zone",r])}return b(t,kt),v(t)}();q("resource","Zone",Ut);var zt=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return h(this,t),l(this,t,[e,n,"service-area",r])}return b(t,kt),v(t)}();q("resource","ServiceArea",zt);var Bt=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return h(this,t),l(this,t,[e,n,"service-rate",r])}return b(t,kt),v(t)}();q("resource","ServiceRate",Bt);var qt=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return h(this,t),l(this,t,[e,n,"service-quote",r])}return b(t,kt),v(t,[{key:"fromPreliminary",value:function(){}},{key:"fromPayload",value:function(){}}])}();q("resource","ServiceQuote",qt);var It=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return h(this,t),l(this,t,[e,n,"fleet",r])}return b(t,kt),v(t)}();q("resource","Fleet",It);var Mt=v((function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};h(this,t),this.version=e.version||"v1",this.host=e.host||null,this.namespace=e.namespace||null,this.headers=e.headers||{};}));q("adapter","Adapter",Mt);var Ht=function(){function t(e){var n;return h(this,t),(n=l(this,t,[e])).setHeaders({Authorization:"Bearer ".concat(e.publicKey),"Content-Type":"application/json","User-Agent":"@fleetbase/sdk;browser"}),n}return b(t,Mt),v(t,[{key:"setHeaders",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this.headers=A(A({},this.headers),t),this}},{key:"parseJSON",value:function(t){return new Promise((function(e,n){t.json().then((function(n){e({statusText:t.statusText,status:t.status,ok:t.ok,json:n});})).catch((function(){n(new Error("Oops! Something went wrong when handling your request."));}));}))}},{key:"request",value:function(t){var e=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"GET",r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return new Promise((function(o,a){fetch(i.url||"".concat(e.host,"/").concat(e.namespace,"/").concat(t),A({method:n,mode:i.mode||"cors",headers:new Headers(A(A({},e.headers||{}),i.headers||{}))},r)).then(e.parseJSON).then((function(t){if(t.ok)return o(t.json);a(new Error(t.json.errors?t.json.errors[0]:t.statusText));})).catch((function(t){a(t);}));}))}},{key:"get",value:function(t){var e,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=st(e=n)||"string"==typeof e&&false===/\S/.test(e)?"":new URLSearchParams(n).toString();return this.request("".concat(t).concat(i?"?".concat(i):""),"GET",{},r)}},{key:"post",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.request(t,"POST",{body:JSON.stringify(e)},n)}},{key:"put",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.request(t,"PUT",{body:JSON.stringify(e)},n)}},{key:"delete",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.request(t,"DELETE",{},e)}},{key:"patch",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.request(t,"PATCH",{body:JSON.stringify(e)},n)}}])}();function Jt(t,e){return function(){return t.apply(e,arguments)}}q("adapter","BrowserAdapter",Ht);var Wt,Kt=Object.prototype.toString,Gt=Object.getPrototypeOf,Vt=(Wt=Object.create(null),function(t){var e=Kt.call(t);return Wt[e]||(Wt[e]=e.slice(8,-1).toLowerCase())}),Xt=function(t){return t=t.toLowerCase(),function(e){return Vt(e)===t}},Qt=function(t){return function(e){return T(e)===t}},Yt=Array.isArray,Zt=Qt("undefined");var te=Xt("ArrayBuffer");var ee=Qt("string"),ne=Qt("function"),re=Qt("number"),ie=function(t){return null!==t&&"object"===T(t)},oe=function(t){if("object"!==Vt(t))return false;var e=Gt(t);return !(null!==e&&e!==Object.prototype&&null!==Object.getPrototypeOf(e)||Symbol.toStringTag in t||Symbol.iterator in t)},ae=Xt("Date"),se=Xt("File"),ue=Xt("Blob"),ce=Xt("FileList"),le=Xt("URLSearchParams"),he=R(["ReadableStream","Request","Response","Headers"].map(Xt),4),fe=he[0],de=he[1],ve=he[2],pe=he[3];function ge(t,e){var n,r,i=(arguments.length>2&&void 0!==arguments[2]?arguments[2]:{}).allOwnKeys,o=void 0!==i&&i;if(null!=t)if("object"!==T(t)&&(t=[t]),Yt(t))for(n=0,r=t.length;n0;)if(e===(n=r[i]).toLowerCase())return n;return null}var be="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:global,me=function(t){return !Zt(t)&&t!==be};var we,ke=(we="undefined"!=typeof Uint8Array&&Gt(Uint8Array),function(t){return we&&t instanceof we}),Ee=Xt("HTMLFormElement"),Ae=function(){var t=Object.prototype.hasOwnProperty;return function(e,n){return t.call(e,n)}}(),xe=Xt("RegExp"),Oe=function(t,e){var n=Object.getOwnPropertyDescriptors(t),r={};ge(n,(function(n,i){var o;false!==(o=e(n,i,t))&&(r[i]=o||n);})),Object.defineProperties(t,r);},Re="abcdefghijklmnopqrstuvwxyz",Se="0123456789",je={DIGIT:Se,ALPHA:Re,ALPHA_DIGIT:Re+Re.toUpperCase()+Se};var Te,_e,Pe,Le,Ce=Xt("AsyncFunction"),Ne=(Te="function"==typeof setImmediate,_e=ne(be.postMessage),Te?setImmediate:_e?(Pe="axios@".concat(Math.random()),Le=[],be.addEventListener("message",(function(t){var e=t.source,n=t.data;e===be&&n===Pe&&Le.length&&Le.shift()();}),false),function(t){Le.push(t),be.postMessage(Pe,"*");}):function(t){return setTimeout(t)}),Fe="undefined"!=typeof queueMicrotask?queueMicrotask.bind(be):"undefined"!=typeof process&&process.nextTick||Ne,De={isArray:Yt,isArrayBuffer:te,isBuffer:function(t){return null!==t&&!Zt(t)&&null!==t.constructor&&!Zt(t.constructor)&&ne(t.constructor.isBuffer)&&t.constructor.isBuffer(t)},isFormData:function(t){var e;return t&&("function"==typeof FormData&&t instanceof FormData||ne(t.append)&&("formdata"===(e=Vt(t))||"object"===e&&ne(t.toString)&&"[object FormData]"===t.toString()))},isArrayBufferView:function(t){return "undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(t):t&&t.buffer&&te(t.buffer)},isString:ee,isNumber:re,isBoolean:function(t){return true===t||false===t},isObject:ie,isPlainObject:oe,isReadableStream:fe,isRequest:de,isResponse:ve,isHeaders:pe,isUndefined:Zt,isDate:ae,isFile:se,isBlob:ue,isRegExp:xe,isFunction:ne,isStream:function(t){return ie(t)&&ne(t.pipe)},isURLSearchParams:le,isTypedArray:ke,isFileList:ce,forEach:ge,merge:function t(){for(var e=(me(this)&&this||{}).caseless,n={},r=function(r,i){var o=e&&ye(n,i)||i;oe(n[o])&&oe(r)?n[o]=t(n[o],r):oe(r)?n[o]=t({},r):Yt(r)?n[o]=r.slice():n[o]=r;},i=0,o=arguments.length;i3&&void 0!==arguments[3]?arguments[3]:{}).allOwnKeys}),t},trim:function(t){return t.trim?t.trim():t.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")},stripBOM:function(t){return 65279===t.charCodeAt(0)&&(t=t.slice(1)),t},inherits:function(t,e,n,r){t.prototype=Object.create(e.prototype,r),t.prototype.constructor=t,Object.defineProperty(t,"super",{value:e.prototype}),n&&Object.assign(t.prototype,n);},toFlatObject:function(t,e,n,r){var i,o,a,s={};if(e=e||{},null==t)return e;do{for(o=(i=Object.getOwnPropertyNames(t)).length;o-- >0;)a=i[o],r&&!r(a,t,e)||s[a]||(e[a]=t[a],s[a]=true);t=false!==n&&Gt(t);}while(t&&(!n||n(t,e))&&t!==Object.prototype);return e},kindOf:Vt,kindOfTest:Xt,endsWith:function(t,e,n){t=String(t),(void 0===n||n>t.length)&&(n=t.length),n-=e.length;var r=t.indexOf(e,n);return -1!==r&&r===n},toArray:function(t){if(!t)return null;if(Yt(t))return t;var e=t.length;if(!re(e))return null;for(var n=new Array(e);e-- >0;)n[e]=t[e];return n},forEachEntry:function(t,e){for(var n,r=(t&&t[Symbol.iterator]).call(t);(n=r.next())&&!n.done;){var i=n.value;e.call(t,i[0],i[1]);}},matchAll:function(t,e){for(var n,r=[];null!==(n=t.exec(e));)r.push(n);return r},isHTMLForm:Ee,hasOwnProperty:Ae,hasOwnProp:Ae,reduceDescriptors:Oe,freezeMethods:function(t){Oe(t,(function(e,n){if(ne(t)&&-1!==["arguments","caller","callee"].indexOf(n))return false;var r=t[n];ne(r)&&(e.enumerable=false,"writable"in e?e.writable=false:e.set||(e.set=function(){throw Error("Can not rewrite read-only method '"+n+"'")}));}));},toObjectSet:function(t,e){var n={},r=function(t){t.forEach((function(t){n[t]=true;}));};return Yt(t)?r(t):r(String(t).split(e)),n},toCamelCase:function(t){return t.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,(function(t,e,n){return e.toUpperCase()+n}))},noop:function(){},toFiniteNumber:function(t,e){return null!=t&&Number.isFinite(t=+t)?t:e},findKey:ye,global:be,isContextDefined:me,ALPHABET:je,generateString:function(){for(var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:16,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:je.ALPHA_DIGIT,n="",r=e.length;t--;)n+=e[Math.random()*r|0];return n},isSpecCompliantForm:function(t){return !!(t&&ne(t.append)&&"FormData"===t[Symbol.toStringTag]&&t[Symbol.iterator])},toJSONObject:function(t){var e=new Array(10),n=function(t,r){if(ie(t)){if(e.indexOf(t)>=0)return;if(!("toJSON"in t)){e[r]=t;var i=Yt(t)?[]:{};return ge(t,(function(t,e){var o=n(t,r+1);!Zt(o)&&(i[e]=o);})),e[r]=void 0,i}}return t};return n(t,0)},isAsyncFn:Ce,isThenable:function(t){return t&&(ie(t)||ne(t))&&ne(t.then)&&ne(t.catch)},setImmediate:Ne,asap:Fe};function $e(t,e,n,r,i){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack,this.message=t,this.name="AxiosError",e&&(this.code=e),n&&(this.config=n),r&&(this.request=r),i&&(this.response=i,this.status=i.status?i.status:null);}De.inherits($e,Error,{toJSON:function(){return {message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:De.toJSONObject(this.config),code:this.code,status:this.status}}});var Ue=$e.prototype,ze={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach((function(t){ze[t]={value:t};})),Object.defineProperties($e,ze),Object.defineProperty(Ue,"isAxiosError",{value:true}),$e.from=function(t,e,n,r,i,o){var a=Object.create(Ue);return De.toFlatObject(t,a,(function(t){return t!==Error.prototype}),(function(t){return "isAxiosError"!==t})),$e.call(a,t.message,e,n,r,i),a.cause=t,a.name=t.name,o&&Object.assign(a,o),a};function Be(t){return De.isPlainObject(t)||De.isArray(t)}function qe(t){return De.endsWith(t,"[]")?t.slice(0,-2):t}function Ie(t,e,n){return t?t.concat(e).map((function(t,e){return t=qe(t),!n&&e?"["+t+"]":t})).join(n?".":""):e}var Me=De.toFlatObject(De,{},null,(function(t){return /^is[A-Z]/.test(t)}));function He(t,e,n){if(!De.isObject(t))throw new TypeError("target must be an object");e=e||new FormData;var r=(n=De.toFlatObject(n,{metaTokens:true,dots:false,indexes:false},false,(function(t,e){return !De.isUndefined(e[t])}))).metaTokens,i=n.visitor||c,o=n.dots,a=n.indexes,s=(n.Blob||"undefined"!=typeof Blob&&Blob)&&De.isSpecCompliantForm(e);if(!De.isFunction(i))throw new TypeError("visitor must be a function");function u(t){if(null===t)return "";if(De.isDate(t))return t.toISOString();if(!s&&De.isBlob(t))throw new $e("Blob is not supported. Use a Buffer instead.");return De.isArrayBuffer(t)||De.isTypedArray(t)?s&&"function"==typeof Blob?new Blob([t]):Buffer.from(t):t}function c(t,n,i){var s=t;if(t&&!i&&"object"===T(t))if(De.endsWith(n,"{}"))n=r?n:n.slice(0,-2),t=JSON.stringify(t);else if(De.isArray(t)&&function(t){return De.isArray(t)&&!t.some(Be)}(t)||(De.isFileList(t)||De.endsWith(n,"[]"))&&(s=De.toArray(t)))return n=qe(n),s.forEach((function(t,r){!De.isUndefined(t)&&null!==t&&e.append(true===a?Ie([n],r,o):null===a?n:n+"[]",u(t));})),false;return !!Be(t)||(e.append(Ie(i,n,o),u(t)),false)}var l=[],h=Object.assign(Me,{defaultVisitor:c,convertValue:u,isVisitable:Be});if(!De.isObject(t))throw new TypeError("data must be an object");return function t(n,r){if(!De.isUndefined(n)){if(-1!==l.indexOf(n))throw Error("Circular reference detected in "+r.join("."));l.push(n),De.forEach(n,(function(n,o){ true===(!(De.isUndefined(n)||null===n)&&i.call(e,n,De.isString(o)?o.trim():o,r,h))&&t(n,r?r.concat(o):[o]);})),l.pop();}}(t),e}function Je(t){var e={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(t).replace(/[!'()~]|%20|%00/g,(function(t){return e[t]}))}function We(t,e){this._pairs=[],t&&He(t,this,e);}var Ke=We.prototype;function Ge(t){return encodeURIComponent(t).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function Ve(t,e,n){if(!e)return t;var r=n&&n.encode||Ge;De.isFunction(n)&&(n={serialize:n});var i,o=n&&n.serialize;if(i=o?o(e,n):De.isURLSearchParams(e)?e.toString():new We(e,n).toString(r)){var a=t.indexOf("#");-1!==a&&(t=t.slice(0,a)),t+=(-1===t.indexOf("?")?"?":"&")+i;}return t}Ke.append=function(t,e){this._pairs.push([t,e]);},Ke.toString=function(t){var e=t?function(e){return t.call(this,e,Je)}:Je;return this._pairs.map((function(t){return e(t[0])+"="+e(t[1])}),"").join("&")};var Xe=function(){return v((function t(){h(this,t),this.handlers=[];}),[{key:"use",value:function(t,e,n){return this.handlers.push({fulfilled:t,rejected:e,synchronous:!!n&&n.synchronous,runWhen:n?n.runWhen:null}),this.handlers.length-1}},{key:"eject",value:function(t){this.handlers[t]&&(this.handlers[t]=null);}},{key:"clear",value:function(){this.handlers&&(this.handlers=[]);}},{key:"forEach",value:function(t){De.forEach(this.handlers,(function(e){null!==e&&t(e);}));}}])}(),Qe={silentJSONParsing:true,forcedJSONParsing:true,clarifyTimeoutError:false},Ye={isBrowser:true,classes:{URLSearchParams:"undefined"!=typeof URLSearchParams?URLSearchParams:We,FormData:"undefined"!=typeof FormData?FormData:null,Blob:"undefined"!=typeof Blob?Blob:null},protocols:["http","https","file","blob","url","data"]},Ze="undefined"!=typeof window&&"undefined"!=typeof document,tn="object"===("undefined"==typeof navigator?"undefined":T(navigator))&&navigator||void 0,en=Ze&&(!tn||["ReactNative","NativeScript","NS"].indexOf(tn.product)<0),nn="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&"function"==typeof self.importScripts,rn=Ze&&window.location.href||"http://localhost",on=A(A({},Object.freeze({__proto__:null,hasBrowserEnv:Ze,hasStandardBrowserEnv:en,hasStandardBrowserWebWorkerEnv:nn,navigator:tn,origin:rn})),Ye);function an(t){function e(t,n,r,i){var o=t[i++];if("__proto__"===o)return true;var a=Number.isFinite(+o),s=i>=t.length;return o=!o&&De.isArray(r)?r.length:o,s?(De.hasOwnProp(r,o)?r[o]=[r[o],n]:r[o]=n,!a):(r[o]&&De.isObject(r[o])||(r[o]=[]),e(t,n,r[o],i)&&De.isArray(r[o])&&(r[o]=function(t){var e,n,r={},i=Object.keys(t),o=i.length;for(e=0;e-1,o=De.isObject(t);if(o&&De.isHTMLForm(t)&&(t=new FormData(t)),De.isFormData(t))return i?JSON.stringify(an(t)):t;if(De.isArrayBuffer(t)||De.isBuffer(t)||De.isStream(t)||De.isFile(t)||De.isBlob(t)||De.isReadableStream(t))return t;if(De.isArrayBufferView(t))return t.buffer;if(De.isURLSearchParams(t))return e.setContentType("application/x-www-form-urlencoded;charset=utf-8",false),t.toString();if(o){if(r.indexOf("application/x-www-form-urlencoded")>-1)return function(t,e){return He(t,new on.classes.URLSearchParams,Object.assign({visitor:function(t,e,n,r){return on.isNode&&De.isBuffer(t)?(this.append(e,t.toString("base64")),false):r.defaultVisitor.apply(this,arguments)}},e))}(t,this.formSerializer).toString();if((n=De.isFileList(t))||r.indexOf("multipart/form-data")>-1){var a=this.env&&this.env.FormData;return He(n?{"files[]":t}:t,a&&new a,this.formSerializer)}}return o||i?(e.setContentType("application/json",false),function(t,e){if(De.isString(t))try{return (e||JSON.parse)(t),De.trim(t)}catch(t){if("SyntaxError"!==t.name)throw t}return (0, JSON.stringify)(t)}(t)):t}],transformResponse:[function(t){var e=this.transitional||sn.transitional,n=e&&e.forcedJSONParsing,r="json"===this.responseType;if(De.isResponse(t)||De.isReadableStream(t))return t;if(t&&De.isString(t)&&(n&&!this.responseType||r)){var i=!(e&&e.silentJSONParsing)&&r;try{return JSON.parse(t)}catch(t){if(i){if("SyntaxError"===t.name)throw $e.from(t,$e.ERR_BAD_RESPONSE,this,null,this.response);throw t}}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:on.classes.FormData,Blob:on.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};De.forEach(["delete","get","head","post","put","patch"],(function(t){sn.headers[t]={};}));var un=De.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),cn=Symbol("internals");function ln(t){return t&&String(t).trim().toLowerCase()}function hn(t){return false===t||null==t?t:De.isArray(t)?t.map(hn):String(t)}function fn(t,e,n,r,i){return De.isFunction(r)?r.call(this,e,n):(i&&(e=n),De.isString(e)?De.isString(r)?-1!==e.indexOf(r):De.isRegExp(r)?r.test(e):void 0:void 0)}var dn=function(){return v((function t(e){h(this,t),e&&this.set(e);}),[{key:"set",value:function(t,e,n){var r=this;function i(t,e,n){var i=ln(e);if(!i)throw new Error("header name must be a non-empty string");var o=De.findKey(r,i);(!o||void 0===r[o]||true===n||void 0===n&&false!==r[o])&&(r[o||e]=hn(t));}var o=function(t,e){return De.forEach(t,(function(t,n){return i(t,n,e)}))};if(De.isPlainObject(t)||t instanceof this.constructor)o(t,e);else if(De.isString(t)&&(t=t.trim())&&!/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(t.trim()))o(function(t){var e,n,r,i={};return t&&t.split("\n").forEach((function(t){r=t.indexOf(":"),e=t.substring(0,r).trim().toLowerCase(),n=t.substring(r+1).trim(),!e||i[e]&&un[e]||("set-cookie"===e?i[e]?i[e].push(n):i[e]=[n]:i[e]=i[e]?i[e]+", "+n:n);})),i}(t),e);else if(De.isHeaders(t)){var a,s=p(t.entries());try{for(s.s();!(a=s.n()).done;){var u=R(a.value,2),c=u[0];i(u[1],c,n);}}catch(t){s.e(t);}finally{s.f();}}else null!=t&&i(e,t,n);return this}},{key:"get",value:function(t,e){if(t=ln(t)){var n=De.findKey(this,t);if(n){var r=this[n];if(!e)return r;if(true===e)return function(t){for(var e,n=Object.create(null),r=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;e=r.exec(t);)n[e[1]]=e[2];return n}(r);if(De.isFunction(e))return e.call(this,r,n);if(De.isRegExp(e))return e.exec(r);throw new TypeError("parser must be boolean|regexp|function")}}}},{key:"has",value:function(t,e){if(t=ln(t)){var n=De.findKey(this,t);return !(!n||void 0===this[n]||e&&!fn(0,this[n],n,e))}return false}},{key:"delete",value:function(t,e){var n=this,r=false;function i(t){if(t=ln(t)){var i=De.findKey(n,t);!i||e&&!fn(0,n[i],i,e)||(delete n[i],r=true);}}return De.isArray(t)?t.forEach(i):i(t),r}},{key:"clear",value:function(t){for(var e=Object.keys(this),n=e.length,r=false;n--;){var i=e[n];t&&!fn(0,this[i],i,t,true)||(delete this[i],r=true);}return r}},{key:"normalize",value:function(t){var e=this,n={};return De.forEach(this,(function(r,i){var o=De.findKey(n,i);if(o)return e[o]=hn(r),void delete e[i];var a=t?function(t){return t.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(function(t,e,n){return e.toUpperCase()+n}))}(i):String(i).trim();a!==i&&delete e[i],e[a]=hn(r),n[a]=true;})),this}},{key:"concat",value:function(){for(var t,e=arguments.length,n=new Array(e),r=0;r1?n-1:0),i=1;i2&&void 0!==arguments[2]?arguments[2]:3,r=0,i=function(t,e){t=t||10;var n,r=new Array(t),i=new Array(t),o=0,a=0;return e=void 0!==e?e:1e3,function(s){var u=Date.now(),c=i[a];n||(n=u),r[o]=s,i[o]=u;for(var l=a,h=0;l!==o;)h+=r[l++],l%=t;if((o=(o+1)%t)===a&&(a=(a+1)%t),!(u-n1&&void 0!==arguments[1]?arguments[1]:Date.now();i=o,n=null,r&&(clearTimeout(r),r=null),t.apply(null,e);};return [function(){for(var t=Date.now(),e=t-i,s=arguments.length,u=new Array(s),c=0;c=o?a(u,t):(n=u,r||(r=setTimeout((function(){r=null,a(n);}),o-e)));},function(){return n&&a(n)}]}((function(n){var o=n.loaded,a=n.lengthComputable?n.total:void 0,s=o-r,u=i(s);r=o;var c=g({loaded:o,total:a,progress:a?o/a:void 0,bytes:s,rate:u||void 0,estimated:u&&a&&o<=a?(a-o)/u:void 0,event:n,lengthComputable:null!=a},e?"download":"upload",true);t(c);}),n)},mn=function(t,e){var n=null!=t;return [function(r){return e[0]({lengthComputable:n,total:t,loaded:r})},e[1]]},wn=function(t){return function(){for(var e=arguments.length,n=new Array(e),r=0;r1?e-1:0),r=1;r1?"since :\n"+s.map(Wn).join("\n"):" "+Wn(s[0]):"as no adapter specified"),"ERR_NOT_SUPPORT")}return n};function Vn(t){if(t.cancelToken&&t.cancelToken.throwIfRequested(),t.signal&&t.signal.aborted)throw new gn(null,t)}function Xn(t){return Vn(t),t.headers=dn.from(t.headers),t.data=vn.call(t,t.transformRequest),-1!==["post","put","patch"].indexOf(t.method)&&t.headers.setContentType("application/x-www-form-urlencoded",false),Gn(t.adapter||sn.adapter)(t).then((function(e){return Vn(t),e.data=vn.call(t,t.transformResponse,e),e.headers=dn.from(e.headers),e}),(function(e){return pn(e)||(Vn(t),e&&e.response&&(e.response.data=vn.call(t,t.transformResponse,e.response),e.response.headers=dn.from(e.response.headers))),Promise.reject(e)}))}var Qn="1.7.9",Yn={};["object","boolean","number","function","string","symbol"].forEach((function(t,e){Yn[t]=function(n){return T(n)===t||"a"+(e<1?"n ":" ")+t};}));var Zn={};Yn.transitional=function(t,e,n){function r(t,e){return "[Axios v1.7.9] Transitional option '"+t+"'"+e+(n?". "+n:"")}return function(n,i,o){if(false===t)throw new $e(r(i," has been removed"+(e?" in "+e:"")),$e.ERR_DEPRECATED);return e&&!Zn[i]&&(Zn[i]=true,console.warn(r(i," has been deprecated since v"+e+" and will be removed in the near future"))),!t||t(n,i,o)}},Yn.spelling=function(t){return function(e,n){return console.warn("".concat(n," is likely a misspelling of ").concat(t)),true}};var tr={assertOptions:function(t,e,n){if("object"!==T(t))throw new $e("options must be an object",$e.ERR_BAD_OPTION_VALUE);for(var r=Object.keys(t),i=r.length;i-- >0;){var o=r[i],a=e[o];if(a){var s=t[o],u=void 0===s||a(s,o,t);if(true!==u)throw new $e("option "+o+" must be "+u,$e.ERR_BAD_OPTION_VALUE)}else if(true!==n)throw new $e("Unknown option "+o,$e.ERR_BAD_OPTION)}},validators:Yn},er=tr.validators,nr=function(){return v((function t(e){h(this,t),this.defaults=e,this.interceptors={request:new Xe,response:new Xe};}),[{key:"request",value:(t=u(x().mark((function t(e,n){var r,i;return x().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,this._request(e,n);case 3:return t.abrupt("return",t.sent);case 6:if(t.prev=6,t.t0=t.catch(0),t.t0 instanceof Error){r={},Error.captureStackTrace?Error.captureStackTrace(r):r=new Error,i=r.stack?r.stack.replace(/^.+\n/,""):"";try{t.t0.stack?i&&!String(t.t0.stack).endsWith(i.replace(/^.+\n.+\n/,""))&&(t.t0.stack+="\n"+i):t.t0.stack=i;}catch(t){}}throw t.t0;case 10:case "end":return t.stop()}}),t,this,[[0,6]])}))),function(e,n){return t.apply(this,arguments)})},{key:"_request",value:function(t,e){"string"==typeof t?(e=e||{}).url=t:e=t||{};var n=e=On(this.defaults,e),r=n.transitional,i=n.paramsSerializer,o=n.headers;void 0!==r&&tr.assertOptions(r,{silentJSONParsing:er.transitional(er.boolean),forcedJSONParsing:er.transitional(er.boolean),clarifyTimeoutError:er.transitional(er.boolean)},false),null!=i&&(De.isFunction(i)?e.paramsSerializer={serialize:i}:tr.assertOptions(i,{encode:er.function,serialize:er.function},true)),tr.assertOptions(e,{baseUrl:er.spelling("baseURL"),withXsrfToken:er.spelling("withXSRFToken")},true),e.method=(e.method||this.defaults.method||"get").toLowerCase();var a=o&&De.merge(o.common,o[e.method]);o&&De.forEach(["delete","get","head","post","put","patch","common"],(function(t){delete o[t];})),e.headers=dn.concat(a,o);var s=[],u=true;this.interceptors.request.forEach((function(t){"function"==typeof t.runWhen&&false===t.runWhen(e)||(u=u&&t.synchronous,s.unshift(t.fulfilled,t.rejected));}));var c,l=[];this.interceptors.response.forEach((function(t){l.push(t.fulfilled,t.rejected);}));var h,f=0;if(!u){var d=[Xn.bind(this),void 0];for(d.unshift.apply(d,s),d.push.apply(d,l),h=d.length,c=Promise.resolve(e);f0;)r._listeners[e](t);r._listeners=null;}})),this.promise.then=function(t){var e,n=new Promise((function(t){r.subscribe(t),e=t;})).then(t);return n.cancel=function(){r.unsubscribe(e);},n},e((function(t,e,i){r.reason||(r.reason=new gn(t,e,i),n(r.reason));}));}return v(t,[{key:"throwIfRequested",value:function(){if(this.reason)throw this.reason}},{key:"subscribe",value:function(t){this.reason?t(this.reason):this._listeners?this._listeners.push(t):this._listeners=[t];}},{key:"unsubscribe",value:function(t){if(this._listeners){var e=this._listeners.indexOf(t);-1!==e&&this._listeners.splice(e,1);}}},{key:"toAbortSignal",value:function(){var t=this,e=new AbortController,n=function(t){e.abort(t);};return this.subscribe(n),e.signal.unsubscribe=function(){return t.unsubscribe(n)},e.signal}}],[{key:"source",value:function(){var e;return {token:new t((function(t){e=t;})),cancel:e}}}])}();var ir={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(ir).forEach((function(t){var e=R(t,2),n=e[0],r=e[1];ir[r]=n;}));var or=function t(e){var n=new nr(e),r=Jt(nr.prototype.request,n);return De.extend(r,nr.prototype,n,{allOwnKeys:true}),De.extend(r,n,null,{allOwnKeys:true}),r.create=function(n){return t(On(e,n))},r}(sn);or.Axios=nr,or.CanceledError=gn,or.CancelToken=rr,or.isCancel=pn,or.VERSION=Qn,or.toFormData=He,or.AxiosError=$e,or.Cancel=or.CanceledError,or.all=function(t){return Promise.all(t)},or.spread=function(t){return function(e){return t.apply(null,e)}},or.isAxiosError=function(t){return De.isObject(t)&&true===t.isAxiosError},or.mergeConfig=On,or.AxiosHeaders=dn,or.formToJSON=function(t){return an(De.isHTMLForm(t)?new FormData(t):t)},or.getAdapter=Gn,or.HttpStatusCode=ir,or.default=or,or.Axios,or.AxiosError,or.CanceledError,or.isCancel,or.CancelToken,or.VERSION,or.all,or.Cancel,or.isAxiosError,or.spread,or.toFormData,or.AxiosHeaders,or.HttpStatusCode,or.formToJSON,or.getAdapter,or.mergeConfig;var ar=function(){function t(e){var n;return h(this,t),(n=l(this,t,[e])).axiosInstance=or.create({baseURL:"".concat(n.host,"/").concat(n.namespace),headers:{Authorization:"Bearer ".concat(e.publicKey),"Content-Type":"application/json","User-Agent":"@fleetbase/sdk;node"}}),n.axiosInstance.interceptors.response.use((function(t){return t.data}),(function(t){if(t.response){var e=t.response.data;if(V(e.errors)&&e.errors.length)throw new Error(e.errors[0]);if(e.error)throw new Error(e.error)}throw t})),n}return b(t,Mt),v(t,[{key:"setHeaders",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this.axiosInstance.defaults.headers.common=A(A({},this.axiosInstance.defaults.headers.common),t),this}},{key:"request",value:function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.axiosInstance.request(A({method:t,url:e},n))}},{key:"get",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.request("GET",t,A({params:e},n))}},{key:"post",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.request("POST",t,A({data:e},n))}},{key:"put",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.request("PUT",t,A({data:e},n))}},{key:"delete",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.request("DELETE",t,e)}},{key:"patch",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.request("PATCH",t,A({data:e},n))}}])}();q("adapter","NodeAdapter",ar);var sr=function(){function t(){return h(this,t),l(this,t,arguments)}return b(t,Mt),v(t)}();q("adapter","EmberJsAdapter",sr);(function(){function t(e){var n,r,i,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(h(this,t),this.version=null!==(n=o.version)&&void 0!==n?n:"v1",this.options={version:this.version,host:null!==(r=o.host)&&void 0!==r?r:"https://api.fleetbase.io",namespace:null!==(i=o.namespace)&&void 0!==i?i:this.version,debug:a,publicKey:e},"string"!=typeof e||0===e.length)throw new Error("⚠️ Invalid public key given to Fleetbase SDK");if(!lt()&&e.toLowerCase().startsWith("$"))throw new Error("Secret key provided. You must use a public key with Fleetbase Javascript SDK!");this.adapter=o.adapter||ht(this.options),this.orders=new Et("order",this.adapter).extendActions(At),this.entities=new Et("entity",this.adapter),this.places=new Et("place",this.adapter),this.drivers=new Et("driver",this.adapter).extendActions(Nt),this.vehicles=new Et("vehicle",this.adapter),this.vendors=new Et("vendor",this.adapter),this.contacts=new Et("contact",this.adapter),this.serviceAreas=new Et("service-area",this.adapter),this.zones=new Et("zone",this.adapter),this.fleets=new Et("fleet",this.adapter),this.organizations=new Et("organization",this.adapter).extendActions(Pt);}return v(t,[{key:"setAdapter",value:function(t){this.adapter=t;}},{key:"getAdapter",value:function(){return this.adapter}}],[{key:"newInstance",value:function(){return f(t,Array.prototype.slice.call(arguments))}}])})(); - -class StorefrontStore extends Et { +/** + * A Storefront API store. The core SDK store already serializes JSON into registered + * resources and extends itself with actions; this keeps Storefront's public class name + * and its contract that listing endpoints resolve to collections. + */ +class StorefrontStore extends sdk.Store { constructor(resource, adapter, options = {}) { super(resource, adapter, options); } - extendActions(actions = []) { - return yt(this, actions); + findAll(options = {}) { + return super.findAll(options); } - serialize(json) { - return W('resource', z(this.resource), json, this.adapter); + query(query = {}, options = {}) { + return super.query(query, options); } } @@ -54,25 +58,37 @@ function isArray$1(value) { return Array.isArray(value); } -class StorefrontResource extends kt { +class StorefrontResource extends sdk.Resource { + /** Storefront ids are public ids such as `cart_x7y8`. */ + get id() { + return super.id; + } /** * Set a new adapter to the resource instance, this will update the Store instance * - * @param {import('@fleetbase/sdk').Adapter} adapter + * @param {import('@fleetbase/sdk').AdapterLike} adapter * @return {this} */ setAdapter(adapter) { - this.adapter = adapter; - this.store = new StorefrontStore(this.resource, adapter, { + super.setAdapter(adapter); + this.store = new StorefrontStore(this.resource, this.adapter, { onAfterFetch: this.syncAttributes.bind(this), actions: this.options?.actions, }); return this; } + // Storefront resources reuse these names for their own API calls, e.g. a cart's + // update(cartItemId, quantity) and empty(), so their signatures are left open here. + update(...args) { + return super.update(...args); + } + empty(..._args) { + return super.empty(); + } } -q('resource', 'StorefrontResource', StorefrontResource); +sdk.register('resource', 'StorefrontResource', StorefrontResource); -const reviewActions = new mt({ +const reviewActions = new sdk.StoreActions({ count: function (storeId, options = {}) { const params = {}; if (storeId) { @@ -95,7 +111,7 @@ class Review extends StorefrontResource { return this.getMedia().filter((media) => typeof media?.type === 'string' && media.type.startsWith('video/')); } } -q('resource', 'Review', Review); +sdk.register('resource', 'Review', Review); class StoreHour extends StorefrontResource { constructor(attributes = {}, adapter, options = {}) { @@ -175,7 +191,7 @@ class StoreHour extends StorefrontResource { throw new Error('There is no reload() method store location!'); } } -q('resource', 'StoreHour', StoreHour); +sdk.register('resource', 'StoreHour', StoreHour); class StoreLocation extends StorefrontResource { constructor(attributes = {}, adapter, options = {}) { @@ -188,8 +204,9 @@ class StoreLocation extends StorefrontResource { return this.getAttribute('place.location.coordinates.0'); } get hours() { + // The SDK returns the default when hours are null or missing. const hours = this.getAttribute('hours', []); - return new at((hours || []).map((attributes) => new StoreHour(attributes, this.adapter))); + return new sdk.Collection(hours.map((attributes) => new StoreHour(attributes, this.adapter))); } /** Raw embedded merchant payload, normalized across API response versions. */ get storeData() { @@ -205,7 +222,7 @@ class StoreLocation extends StorefrontResource { } /** Typed embedded merchant when requested with `with_store`. */ get merchant() { - return this.storeData ? W('resource', 'Store', this.storeData, this.adapter) : null; + return this.storeData ? sdk.lookup('resource', 'Store', this.storeData, this.adapter) : null; } get isAlwaysOpen() { return this.hours.length > 0 && this.hours.every((hour) => hour?.is24Hours); @@ -219,7 +236,7 @@ class StoreLocation extends StorefrontResource { const week = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']; for (let i = 0; i < week.length; i++) { const day = week[i]; - schedule[day] = new at(); + schedule[day] = new sdk.Collection(); } for (let i = 0; i < this.hours.length; i++) { const hour = this.hours.objectAt(i); @@ -242,7 +259,7 @@ class StoreLocation extends StorefrontResource { throw new Error('There is no destroy() method store location!'); } } -q('resource', 'StoreLocation', StoreLocation); +sdk.register('resource', 'StoreLocation', StoreLocation); class PaymentGateway extends StorefrontResource { token; @@ -291,7 +308,7 @@ class PaymentGateway extends StorefrontResource { throw new Error('There is no reload() method for payment gateways!'); } } -q('resource', 'PaymentGateway', PaymentGateway); +sdk.register('resource', 'PaymentGateway', PaymentGateway); class Store extends StorefrontResource { constructor(attributes = {}, adapter, options = {}) { @@ -299,7 +316,7 @@ class Store extends StorefrontResource { } getReviews(params = {}) { return this.adapter.get('reviews', { store: this.id, ...params }).then((reviews) => { - return new at(reviews.map((attributes) => new Review(attributes, this.adapter))); + return new sdk.Collection(reviews.map((attributes) => new Review(attributes, this.adapter))); }); } getTags(params = {}) { @@ -307,9 +324,9 @@ class Store extends StorefrontResource { } getLocations(params = {}) { return this.adapter.get('locations', { store: this.id, ...params }).then((storeLocations) => { - return new at(storeLocations.map((attributes) => { + return new sdk.Collection(storeLocations.map((attributes) => { if (attributes.place) { - attributes.place = new St(attributes.place, this.adapter); + attributes.place = new sdk.Place(attributes.place, this.adapter); } return new StoreLocation(attributes, this.adapter); })); @@ -322,7 +339,7 @@ class Store extends StorefrontResource { } getPaymentGateways(params = {}) { return this.adapter.get('gateways', params).then((gateways) => { - return new at(gateways.map((attributes) => { + return new sdk.Collection(gateways.map((attributes) => { return new PaymentGateway(attributes, this.adapter); })); }); @@ -333,7 +350,7 @@ class Store extends StorefrontResource { }); } } -q('resource', 'Store', Store); +sdk.register('resource', 'Store', Store); class Product extends StorefrontResource { constructor(attributes = {}, adapter, options = {}) { @@ -346,13 +363,13 @@ class Product extends StorefrontResource { return this.getAttribute('addon_categories'); } images() { - return this.getAttribute('images') ?? []; + return (this.getAttribute('images') ?? []); } videos() { - return this.getAttribute('videos') ?? []; + return (this.getAttribute('videos') ?? []); } hours() { - return this.getAttribute('hours') ?? []; + return (this.getAttribute('hours') ?? []); } get isOnSale() { return this.getAttribute('is_on_sale'); @@ -379,11 +396,11 @@ class Product extends StorefrontResource { } getReviews() { return this.adapter.get('reviews', { store: this.id }).then((reviews) => { - return new at(reviews.map((attributes) => new Review(attributes, this.adapter))); + return new sdk.Collection(reviews.map((attributes) => new Review(attributes, this.adapter))); }); } } -q('resource', 'Product', Product); +sdk.register('resource', 'Product', Product); class Category extends StorefrontResource { constructor(attributes = {}, adapter, options = {}) { @@ -391,13 +408,13 @@ class Category extends StorefrontResource { } getProducts() { return this.adapter.get('products', { category: this.id }).then((products) => { - return new at(products.map((attributes) => new Product(attributes, this.adapter))); + return new sdk.Collection(products.map((attributes) => new Product(attributes, this.adapter))); }); } } -q('resource', 'Category', Category); +sdk.register('resource', 'Category', Category); -const customerActions = new mt({ +const customerActions = new sdk.StoreActions({ // const { error } = await storefront.customers.login('+1 111-1111'); login: function (identity, password = null, attributes = {}) { // handle phone number authentication @@ -444,20 +461,6 @@ class Customer extends StorefrontResource { ...options, }); } - /** - * Set a new adapter to the resource instance, this will update the Store instance - * - * @param {import('@fleetbase/sdk').Adapter} adapter - * @return {this} - */ - setAdapter(adapter) { - this.adapter = adapter; - this.store = new StorefrontStore(this.resource, adapter, { - onAfterFetch: this.syncAttributes.bind(this), - actions: this.options?.actions, - }); - return this; - } get token() { const token = this.getAttribute('token'); return typeof token === 'string' ? token : undefined; @@ -468,9 +471,10 @@ class Customer extends StorefrontResource { performAuthorizedRequest(endpoint, params = {}, method = 'GET', options = {}) { const requestOptions = { ...options, + // Signed out there is no token; send no header rather than "undefined". headers: { ...options.headers, - 'Customer-Token': this.token, + ...(this.token ? { 'Customer-Token': this.token } : {}), }, }; const adapter = this.adapter; @@ -478,11 +482,11 @@ class Customer extends StorefrontResource { } async getSavedPlaces() { const places = await this.performAuthorizedRequest('customers/places'); - return new at(places.map((attributes) => new St(attributes, this.adapter))); + return new sdk.Collection(places.map((attributes) => new sdk.Place(attributes, this.adapter))); } async getOrderHistory(params = {}) { const orders = await this.performAuthorizedRequest('customers/orders', params); - return new at(orders.map((attributes) => new xt(attributes, this.adapter))); + return new sdk.Collection(orders.map((attributes) => new sdk.Order(attributes, this.adapter))); } getStripeEphemeralKey(params = {}) { return this.performAuthorizedRequest('customers/stripe-ephemeral-key', params, 'POST'); @@ -490,6 +494,14 @@ class Customer extends StorefrontResource { getStripeSetupIntent(params = {}) { return this.performAuthorizedRequest('customers/stripe-setup-intent', params, 'POST'); } + /** + * Mint a short-lived realtime (socket) token for this customer: `POST customers/socket-token`. + * The token lets the customer subscribe to their own channels, such as their orders. + * Refresh it about 60 seconds before `expires_in` elapses. + */ + socketToken(params = {}, options = {}) { + return this.performAuthorizedRequest('customers/socket-token', params, 'POST', options); + } startAccountClosure(params = {}, options = {}) { return this.performAuthorizedRequest('customers/account-closure', params, 'POST', options); } @@ -509,10 +521,10 @@ class Customer extends StorefrontResource { }); } } -q('resource', 'Customer', Customer); +sdk.register('resource', 'Customer', Customer); const { isArray } = Array; -const cartActions = new mt({ +const cartActions = new sdk.StoreActions({ create: undefined, findAll: undefined, query: undefined, @@ -576,7 +588,7 @@ class Cart extends StorefrontResource { return !this.isEmpty; } } -q('resource', 'Cart', Cart); +sdk.register('resource', 'Cart', Cart); class Network extends StorefrontResource { constructor(attributes = {}, adapter, options = {}) { @@ -587,7 +599,7 @@ class Network extends StorefrontResource { } async getResourceCollection(endpoint, ResourceClass, params = {}) { const resources = await this.adapter.get(endpoint, params); - return new at(resources.map((attributes) => new ResourceClass(attributes, this.adapter))); + return new sdk.Collection(resources.map((attributes) => new ResourceClass(attributes, this.adapter))); } async getStores(params = {}) { return this.getResourceCollection('stores', Store, params); @@ -612,33 +624,19 @@ class Network extends StorefrontResource { return this.getResourceCollection('gateways', PaymentGateway, params); } } -q('resource', 'Network', Network); +sdk.register('resource', 'Network', Network); -class DeliveryServiceQuote extends qt { +class DeliveryServiceQuote extends sdk.ServiceQuote { constructor(attributes = {}, adapter, options = {}) { let finalAttributes = attributes; let finalAdapter = adapter; // If `attributes` is actually an Adapter, adjust the arguments accordingly. - if (attributes instanceof Mt || (attributes && typeof attributes.get === 'function' && typeof attributes.post === 'function')) { + if (attributes instanceof sdk.Adapter || (attributes && typeof attributes.get === 'function' && typeof attributes.post === 'function')) { finalAttributes = {}; finalAdapter = attributes; } // Call `super()` exactly once with the resolved arguments. - super(finalAttributes, finalAdapter, 'service-quote', options); - } - /** - * Set a new adapter to the resource instance, this will update the Store instance - * - * @param {Adapter} adapter - * @return {this} - */ - setAdapter(adapter) { - this.adapter = adapter; - this.store = new StorefrontStore(this.resource, adapter, { - onAfterFetch: this.syncAttributes.bind(this), - actions: this.options?.actions, - }); - return this; + super(finalAttributes, finalAdapter, options); } get formattedAmount() { const { amount, currency } = this.getAttributes(['amount', 'currency']); @@ -668,7 +666,7 @@ class DeliveryServiceQuote extends qt { all, }); if (isArray$1(serviceQuotes)) { - return new at(serviceQuotes.map((serviceQuote) => new DeliveryServiceQuote(serviceQuote, this.adapter))); + return new sdk.Collection(serviceQuotes.map((serviceQuote) => new DeliveryServiceQuote(serviceQuote, this.adapter))); } return new DeliveryServiceQuote(serviceQuotes, this.adapter); } @@ -677,31 +675,31 @@ class DeliveryServiceQuote extends qt { return quote.fetchServiceQuotesFromCart(origin, destination, cart, config, all); } } -q('resource', 'DeliveryServiceQuote', DeliveryServiceQuote); +sdk.register('resource', 'DeliveryServiceQuote', DeliveryServiceQuote); -class Order extends xt { +class Order extends sdk.Order { constructor(attributes = {}, adapter, options = {}) { super(attributes, adapter, options); } } -q('resource', 'Order', Order); +sdk.register('resource', 'Order', Order); -const checkoutActions = new mt({ +const checkoutActions = new sdk.StoreActions({ create: undefined, findAll: undefined, query: undefined, queryRecord: undefined, initialize: function (customer, cart, serviceQuote, gateway, orderOptions = {}, options = {}) { - if (wt(customer)) { + if (sdk.isResource(customer)) { customer = customer.id; } - if (wt(cart)) { + if (sdk.isResource(cart)) { cart = cart.id; } - if (wt(serviceQuote)) { + if (sdk.isResource(serviceQuote)) { serviceQuote = serviceQuote.id; } - if (wt(gateway)) { + if (sdk.isResource(gateway)) { gateway = gateway.getAttribute('code'); } return this.adapter.get(`${this.namespace}/before`, { ...orderOptions, customer, cart, serviceQuote, gateway }, options); @@ -710,37 +708,37 @@ const checkoutActions = new mt({ return this.adapter.post(`${this.namespace}/capture`, { token, ...params }, options).then((orderJson) => new Order(orderJson, this.adapter)); }, createStripeSetupIntent: function (customer, params = {}, options = {}) { - if (wt(customer)) { + if (sdk.isResource(customer)) { customer = customer.id; } return this.adapter.post(`${this.namespace}/stripe-setup-intent`, { customer, ...params }, options); }, updateStripePaymentIntent: function (paymentIntent, customer, cart, serviceQuote, orderOptions = {}, options = {}) { - if (wt(customer)) { + if (sdk.isResource(customer)) { customer = customer.id; } - if (wt(cart)) { + if (sdk.isResource(cart)) { cart = cart.id; } - if (wt(serviceQuote)) { + if (sdk.isResource(serviceQuote)) { serviceQuote = serviceQuote.id; } return this.adapter.put(`${this.namespace}/stripe-update-payment-intent`, { paymentIntent, customer, cart, serviceQuote, ...orderOptions }, options); }, getStatus: function (checkout, token, options = {}) { - if (wt(checkout)) { + if (sdk.isResource(checkout)) { checkout = checkout.id; } return this.adapter.get(`${this.namespace}/status`, { checkout, token }, options); }, captureQPay: function (checkout, params = {}, options = {}) { - if (wt(checkout)) { + if (sdk.isResource(checkout)) { checkout = checkout.id; } return this.adapter.post(`${this.namespace}/capture-qpay`, { checkout, ...params }, options); }, captureQPayCallback: function (checkout, params = {}, options = {}) { - if (wt(checkout)) { + if (sdk.isResource(checkout)) { checkout = checkout.id; } return this.adapter.get(`${this.namespace}/capture-qpay`, { checkout, ...params }, options); @@ -772,19 +770,19 @@ class Checkout extends StorefrontResource { return this.store.captureQPayCallback(checkout, params, options); } } -q('resource', 'Checkout', Checkout); +sdk.register('resource', 'Checkout', Checkout); class FoodTruck extends StorefrontResource { constructor(attributes = {}, adapter, options = {}) { super(attributes, adapter, 'food-truck', options); } } -q('resource', 'FoodTruck', FoodTruck); +sdk.register('resource', 'FoodTruck', FoodTruck); function idFor(value) { - return wt(value) ? value.id : value; + return sdk.isResource(value) ? value.id : value; } -const orderActions = new mt({ +const orderActions = new sdk.StoreActions({ create: undefined, update: undefined, findAll: undefined, @@ -835,7 +833,7 @@ class Storefront { if (!isKeyValid(storeKey)) { throw new Error('⚠️ Invalid Storefront key given to Storefront SDK'); } - this.adapter = config.adapter || ht(this.options); + this.adapter = (config.adapter || sdk.detectAdapter(this.options)); this.initializeStores(); } initializeStores() { @@ -888,7 +886,7 @@ class Storefront { */ search(query, options = {}) { return this.adapter.get('search', { query, ...options }).then((products) => { - return new at(products.map((product) => new Product(product, this.adapter))); + return new sdk.Collection(products.map((product) => new Product(product, this.adapter))); }); } hydrateOwner(attributes = {}) { @@ -909,6 +907,10 @@ class Storefront { } } +Object.defineProperty(exports, "lookup", { + enumerable: true, + get: function () { return sdk.lookup; } +}); exports.Cart = Cart; exports.Category = Category; exports.Checkout = Checkout; @@ -924,7 +926,6 @@ exports.Store = Store; exports.StoreHour = StoreHour; exports.StoreLocation = StoreLocation; exports.default = Storefront; -exports.lookup = W; //# sourceMappingURL=storefront.cjs.map module.exports = Object.assign(exports.default, exports); diff --git a/dist/cjs/storefront.cjs.map b/dist/cjs/storefront.cjs.map index 0c36440..dbfa112 100644 --- a/dist/cjs/storefront.cjs.map +++ b/dist/cjs/storefront.cjs.map @@ -1 +1 @@ -{"version":3,"file":"storefront.cjs","sources":["../../node_modules/.pnpm/@fleetbase+sdk@1.2.13/node_modules/@fleetbase/sdk/dist/esm/fleetbase.js","../../src/store.ts","../../src/utils/is-phone.ts","../../src/utils/format-currency.ts","../../src/utils/is-key-valid.ts","../../src/utils/is-empty.ts","../../src/utils/array.ts","../../src/resource.ts","../../src/resources/review.ts","../../src/resources/store-hour.ts","../../src/resources/store-location.ts","../../src/resources/payment-gateway.ts","../../src/resources/store.ts","../../src/resources/product.ts","../../src/resources/category.ts","../../src/resources/customer.ts","../../src/resources/cart.ts","../../src/resources/network.ts","../../src/resources/delivery-service-quote.ts","../../src/resources/order.ts","../../src/resources/checkout.ts","../../src/resources/food-truck.ts","../../src/resources/order-actions.ts","../../src/storefront.ts"],"sourcesContent":["function t(t,e){this.v=t,this.k=e}function e(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=Array(e);n=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:i}}throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}var o,a=!0,s=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return a=t.done,t},e:function(t){s=!0,o=t},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function g(t,e,n){return(e=j(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function y(t){return y=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},y(t)}function b(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function\");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,\"prototype\",{writable:!1}),e&&O(t,e)}function m(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(t){}return(m=function(){return!!t})()}function w(t){if(\"undefined\"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t[\"@@iterator\"])return Array.from(t)}function k(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}function E(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function A(t){for(var e=1;e=0;--o){var a=this.tryEntries[o],s=a.completion;if(\"root\"===a.tryLoc)return i(\"end\");if(a.tryLoc<=this.prev){var u=r.call(a,\"catchLoc\"),c=r.call(a,\"finallyLoc\");if(u&&c){if(this.prev=0;--n){var i=this.tryEntries[n];if(i.tryLoc<=this.prev&&r.call(i,\"finallyLoc\")&&this.prev=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),_(n),g}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var r=n.completion;if(\"throw\"===r.type){var i=r.arg;_(n)}return i}}throw Error(\"illegal catch attempt\")},delegateYield:function(e,n,r){return this.delegate={iterator:L(e),resultName:n,nextLoc:r},\"next\"===this.method&&(this.arg=t),g}},e}function O(t,e){return O=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},O(t,e)}function R(t,e){return n(t)||function(t,e){var n=null==t?null:\"undefined\"!=typeof Symbol&&t[Symbol.iterator]||t[\"@@iterator\"];if(null!=n){var r,i,o,a,s=[],u=!0,c=!1;try{if(o=(n=n.call(t)).next,0===e){if(Object(n)!==n)return;u=!1}else for(;!(u=(r=o.call(n)).done)&&(s.push(r.value),s.length!==e);u=!0);}catch(t){c=!0,i=t}finally{try{if(!u&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(c)throw i}}return s}}(t,e)||_(t,e)||k()}function S(t){return function(t){if(Array.isArray(t))return e(t)}(t)||w(t)||_(t)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function j(t){var e=function(t,e){if(\"object\"!=typeof t||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,e||\"default\");if(\"object\"!=typeof r)return r;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===e?String:Number)(t)}(t,\"string\");return\"symbol\"==typeof e?e:e+\"\"}function T(t){return T=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},T(t)}function _(t,n){if(t){if(\"string\"==typeof t)return e(t,n);var r={}.toString.call(t).slice(8,-1);return\"Object\"===r&&t.constructor&&(r=t.constructor.name),\"Map\"===r||\"Set\"===r?Array.from(t):\"Arguments\"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?e(t,n):void 0}}function P(t){return function(){return new L(t.apply(this,arguments))}}function L(e){var n,r;function i(n,r){try{var a=e[n](r),s=a.value,u=s instanceof t;Promise.resolve(u?s.v:s).then((function(t){if(u){var r=\"return\"===n?\"return\":\"next\";if(!s.k||t.done)return i(r,t);t=e[r](t).value}o(a.done?\"return\":\"normal\",t)}),(function(t){i(\"throw\",t)}))}catch(t){o(\"throw\",t)}}function o(t,e){switch(t){case\"return\":n.resolve({value:e,done:!0});break;case\"throw\":n.reject(e);break;default:n.resolve({value:e,done:!1})}(n=n.next)?i(n.key,n.arg):r=null}this._invoke=function(t,e){return new Promise((function(o,a){var s={key:t,arg:e,resolve:o,reject:a,next:null};r?r=r.next=s:(n=r=s,i(t,e))}))},\"function\"!=typeof e.return&&(this.return=void 0)}function C(t){var e=\"function\"==typeof Map?new Map:void 0;return C=function(t){if(null===t||!function(t){try{return-1!==Function.toString.call(t).indexOf(\"[native code]\")}catch(e){return\"function\"==typeof t}}(t))return t;if(\"function\"!=typeof t)throw new TypeError(\"Super expression must either be null or a function\");if(void 0!==e){if(e.has(t))return e.get(t);e.set(t,n)}function n(){return f(t,arguments,y(this).constructor)}return n.prototype=Object.create(t.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),O(n,t)},C(t)}L.prototype[\"function\"==typeof Symbol&&Symbol.asyncIterator||\"@@asyncIterator\"]=function(){return this},L.prototype.next=function(t){return this._invoke(\"next\",t)},L.prototype.throw=function(t){return this._invoke(\"throw\",t)},L.prototype.return=function(t){return this._invoke(\"return\",t)};var N=function(){function t(e){var n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];h(this,t),g(this,\"uncountableWords\",[\"equipment\",\"information\",\"rice\",\"money\",\"species\",\"series\",\"fish\",\"sheep\",\"moose\",\"deer\",\"news\"]),g(this,\"pluralRules\",[[new RegExp(\"(m)an$\",\"gi\"),\"$1en\"],[new RegExp(\"(pe)rson$\",\"gi\"),\"$1ople\"],[new RegExp(\"(child)$\",\"gi\"),\"$1ren\"],[new RegExp(\"^(ox)$\",\"gi\"),\"$1en\"],[new RegExp(\"(ax|test)is$\",\"gi\"),\"$1es\"],[new RegExp(\"(octop|vir)us$\",\"gi\"),\"$1i\"],[new RegExp(\"(alias|status)$\",\"gi\"),\"$1es\"],[new RegExp(\"(bu)s$\",\"gi\"),\"$1ses\"],[new RegExp(\"(buffal|tomat|potat)o$\",\"gi\"),\"$1oes\"],[new RegExp(\"([ti])um$\",\"gi\"),\"$1a\"],[new RegExp(\"sis$\",\"gi\"),\"ses\"],[new RegExp(\"(?:([^f])fe|([lr])f)$\",\"gi\"),\"$1$2ves\"],[new RegExp(\"(hive)$\",\"gi\"),\"$1s\"],[new RegExp(\"([^aeiouy]|qu)y$\",\"gi\"),\"$1ies\"],[new RegExp(\"(x|ch|ss|sh)$\",\"gi\"),\"$1es\"],[new RegExp(\"(matr|vert|ind)ix|ex$\",\"gi\"),\"$1ices\"],[new RegExp(\"([m|l])ouse$\",\"gi\"),\"$1ice\"],[new RegExp(\"(quiz)$\",\"gi\"),\"$1zes\"],[new RegExp(\"s$\",\"gi\"),\"s\"],[new RegExp(\"$\",\"gi\"),\"s\"]]),g(this,\"singularRules\",[[new RegExp(\"(m)en$\",\"gi\"),\"$1an\"],[new RegExp(\"(pe)ople$\",\"gi\"),\"$1rson\"],[new RegExp(\"(child)ren$\",\"gi\"),\"$1\"],[new RegExp(\"([ti])a$\",\"gi\"),\"$1um\"],[new RegExp(\"((a)naly|(b)a|(d)iagno|(p)arenthe|(p)rogno|(s)ynop|(t)he)ses$\",\"gi\"),\"$1$2sis\"],[new RegExp(\"(hive)s$\",\"gi\"),\"$1\"],[new RegExp(\"(tive)s$\",\"gi\"),\"$1\"],[new RegExp(\"(curve)s$\",\"gi\"),\"$1\"],[new RegExp(\"([lr])ves$\",\"gi\"),\"$1f\"],[new RegExp(\"([^fo])ves$\",\"gi\"),\"$1fe\"],[new RegExp(\"([^aeiouy]|qu)ies$\",\"gi\"),\"$1y\"],[new RegExp(\"(s)eries$\",\"gi\"),\"$1eries\"],[new RegExp(\"(m)ovies$\",\"gi\"),\"$1ovie\"],[new RegExp(\"(x|ch|ss|sh)es$\",\"gi\"),\"$1\"],[new RegExp(\"([m|l])ice$\",\"gi\"),\"$1ouse\"],[new RegExp(\"(bus)es$\",\"gi\"),\"$1\"],[new RegExp(\"(o)es$\",\"gi\"),\"$1\"],[new RegExp(\"(shoe)s$\",\"gi\"),\"$1\"],[new RegExp(\"(cris|ax|test)es$\",\"gi\"),\"$1is\"],[new RegExp(\"(octop|vir)i$\",\"gi\"),\"$1us\"],[new RegExp(\"(alias|status)es$\",\"gi\"),\"$1\"],[new RegExp(\"^(ox)en\",\"gi\"),\"$1\"],[new RegExp(\"(vert|ind)ices$\",\"gi\"),\"$1ex\"],[new RegExp(\"(matr)ices$\",\"gi\"),\"$1ix\"],[new RegExp(\"(quiz)zes$\",\"gi\"),\"$1\"],[new RegExp(\"s$\",\"gi\"),\"\"]]),g(this,\"nonTitlecasedWords\",[\"and\",\"or\",\"nor\",\"a\",\"an\",\"the\",\"so\",\"but\",\"to\",\"of\",\"at\",\"by\",\"from\",\"into\",\"on\",\"onto\",\"off\",\"out\",\"in\",\"over\",\"with\",\"for\"]),g(this,\"idSuffix\",new RegExp(\"(_ids|_id)$\",\"g\")),g(this,\"underbar\",new RegExp(\"_\",\"g\")),g(this,\"spaceOrUnderbar\",new RegExp(\"[ _]\",\"g\")),g(this,\"uppercase\",new RegExp(\"([A-Z])\",\"g\")),g(this,\"underbarPrefix\",new RegExp(\"^_\")),this.str=e,this.chain=n}return v(t,[{key:\"get\",value:function(){return this.str}},{key:\"applyRules\",value:function(t,e,n,r){if(r)t=r;else if(!(n.indexOf(t.toLowerCase())>-1))for(var i=0;i1&&void 0!==arguments[1]?arguments[1]:null;return t=t||this.str,this.applyRules(t,this.pluralRules,this.uncountableWords,e)}},{key:\"singularize\",value:function(t,e){return t=t||this.str,this.applyRules(t,this.singularRules,this.uncountableWords,e)}},{key:\"camelize\",value:function(t,e){for(var n=(t=t||this.str).split(\"/\"),r=0;r1&&void 0!==arguments[1]&&arguments[1];return t=t||this.str,t=this.underscore(this.demodulize(t))+(e?\"\":\"_\")+\"id\",this.str=t,!0===this.chain?this:t}},{key:\"ordinalize\",value:function(t){for(var e=(t=t||this.str).split(\" \"),n=0;n2?i-2:0),a=2;a2?n-2:0),i=2;i2?n-2:0),i=2;i2?n-2:0),i=2;i1?e-1:0),r=1;r3&&void 0!==arguments[3]?arguments[3]:[];if(V(t))if(r.length<=X)t.splice.apply(t,[e,n].concat(S(r)));else{t.splice(e,n);for(var i=0;i2&&void 0!==arguments[2]?arguments[2]:0,r=t.length,i=n;i2&&void 0!==arguments[2]?arguments[2]:0,r=arguments.length>3?arguments[3]:void 0,i=t.length;return n<0&&(n+=i),nt(t,r&&e!=e?function(t){return t!=t}:function(t){return t===e},n)}function it(t,e,n){return Q(t,e,0,[n]),n}function ot(){return f(at,Array.prototype.slice.call(arguments))}var at=function(){function t(){return h(this,t),r(V(arguments[0])?l(this,t,S(arguments[0])):l(this,t,arguments))}return b(t,C(Array)),v(t,[{key:\"notEmpty\",get:function(){return this.length>0}},{key:\"empty\",get:function(){return 0===this.length}},{key:\"first\",get:function(){return tt(this,0)}},{key:\"last\",get:function(){return tt(this,this.length-1)}},{key:\"replace\",value:function(t,e){return Q(this,t,e,arguments.length>2&&void 0!==arguments[2]?arguments[2]:[]),this}},{key:\"objectsAt\",value:function(t){var e=this;return t.map((function(t){return tt(e,t)}))}},{key:\"objectAt\",value:function(t){return tt(this,t)}},{key:\"indexOf\",value:function(t,e){return rt(this,t,e,!1)}},{key:\"lastIndexOf\",value:function(t,e){var n=this.length;(void 0===e||e>=n)&&(e=n-1),e<0&&(e+=n);for(var r=e;r>=0;r--)if(tt(this,r)===t)return r;return-1}},{key:\"includes\",value:function(t,e){return-1!==rt(this,t,e,!0)}},{key:\"findBy\",value:function(){return t=this,e=et.apply(void 0,arguments),-1===(r=nt(t,e.bind(n),0))?void 0:tt(t,r);var t,e,n,r}},{key:\"findIndexBy\",value:function(){return nt(this,et.apply(void 0,arguments))}},{key:\"isEvery\",value:function(){return t=this,e=et.apply(void 0,arguments),r=e.bind(n),-1===nt(t,(function(t,e,n){return!r(t,e,n)}),0);var t,e,n,r}},{key:\"isAny\",value:function(){return t=this,e=et.apply(void 0,arguments),-1!==nt(t,e.bind(n),0);var t,e,n}},{key:\"invoke\",value:function(t){for(var e=arguments.length,n=new Array(e>1?e-1:0),r=1;r1&&void 0!==arguments[1]?arguments[1]:Y,n=[],r=new Set,i=\"function\"==typeof e?e:function(t){return get(t,e)};return t.forEach((function(t){var e=i(t);r.has(e)||(r.add(e),n.push(t))})),n}(this,t)}},{key:\"without\",value:function(t){if(!this.includes(t))return this;var e=t==t?function(e){return e!==t}:function(t){return t==t};return this.filter(e)}},{key:\"clear\",value:function(){var t=this.length;return 0===t||this.replace(0,t,[]),this}},{key:\"insertAt\",value:function(t,e){return it(this,t,e),this}},{key:\"replaceAt\",value:function(t,e){return this.replace(t,1,[e])}},{key:\"removeAt\",value:function(t,e){return function(t,e){return Q(t,e,arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,[]),t}(this,t,e)}},{key:\"pushObject\",value:function(t){return this.insertAt(this.length,t)}},{key:\"pushObjects\",value:function(t){return this.replace(this.length,0,t),this}},{key:\"popObject\",value:function(){var t=this.length;if(0===t)return null;var e=tt(this,t-1);return this.removeAt(t-1,1),e}},{key:\"shiftObject\",value:function(){if(0===this.length)return null;var t=tt(this,0);return this.removeAt(0),t}},{key:\"unshiftObject\",value:function(t){return it(this,0,t)}},{key:\"unshiftObjects\",value:function(t){return this.replace(0,0,t),this}},{key:\"reverseObjects\",value:function(){var t=this.length;if(0===t)return this;var e=this.toArray().reverse();return this.replace(0,t,e),this}},{key:\"setObjects\",value:function(t){if(0===t.length)return this.clear();var e=this.length;return this.replace(0,e,t),this}},{key:\"removeObject\",value:function(t){for(var e=this.length||0;--e>=0;){tt(this,e)===t&&this.removeAt(e)}return this}},{key:\"removeObjects\",value:function(t){for(var e=t.length-1;e>=0;e--)this.removeObject(t[e]);return this}},{key:\"addObject\",value:function(t){return this.includes(t)||this.pushObject(t),this}},{key:\"addObjects\",value:function(t){var e=this;return t.forEach((function(t){return e.addObject(t)})),this}}])}();function st(t){var e=null==t;if(e)return e;if(\"number\"==typeof t.size)return!t.size;var n=T(t);if(\"object\"===n){var r=t.size;if(\"number\"==typeof r)return!r}if(\"number\"==typeof t.length&&\"function\"!==n)return!t.length;if(\"object\"===n){var i=t.length;if(\"number\"==typeof i)return!i}return!1}function ut(t){return isFinite(t)&&Math.abs(t)<=90}function ct(t){return isFinite(t)&&Math.abs(t)<=180&&Math.abs(t)>=90}function lt(){var t,e,n;return!(\"undefined\"==typeof process||\"object\"!==T(null===(t=process)||void 0===t?void 0:t.env)&&-1===(null===(e=process.release)||void 0===e||null===(e=e.name)||void 0===e?void 0:e.search(/node|io.js/))||\"undefined\"!=typeof window&&\"ReactNative\"!==(null===(n=window)||void 0===n||null===(n=n.navigator)||void 0===n?void 0:n.product))}function ht(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return lt()?W(\"adapter\",\"NodeAdapter\",t):W(\"adapter\",\"BrowserAdapter\",t)}var ft=function(){return v((function t(e){h(this,t),this.place=e,this.geometry=null==e?void 0:e.geometry,this.components=this.parseComponents(),this.attributes=this.parseProperties()}),[{key:\"parse\",value:function(){this.parseComponents(),this.parseProperties()}},{key:\"parseComponents\",value:function(){var t;return((null===(t=this.place)||void 0===t?void 0:t.address_components)||[]).reduce((function(t,e){return e.types.forEach((function(n){t[n]=e})),t}),{})}},{key:\"parseProperties\",value:function(){var t,e={streetNumber:this.get(\"street_number\"),streetName:this.get(\"route\"),coordinates:null!==(t=this.geometry)&&void 0!==t&&t.location?Object.values(this.geometry.location):[0,0],city:this.or([\"locality\",\"sublocality\",\"sublocality_level_1\",\"neighborhood\",\"administrative_area_level_3\",\"administrative_area_level_2\"]),county:this.get(\"administrative_area_level_2\"),stateShort:this.get(\"administrative_area_level_1\",!0),stateLong:this.get(\"administrative_area_level_1\"),countryShort:this.get(\"country\",!0),country:this.get(\"country\",!0),countryLong:this.get(\"country\"),postalCode:this.get(\"postal_code\")};return e.address=[e.streetNumber,e.streetName].filter(Boolean).join(\" \"),e}},{key:\"all\",value:function(){return this.attributes}},{key:\"or\",value:function(){var t,e=p(arguments.length>0&&void 0!==arguments[0]?arguments[0]:[]);try{for(e.s();!(t=e.n()).done;){var n=t.value;if(V(n)){var r=n[0],i=n[1];if(this.has(r))return this.get(r,i)}else if(this.has(n))return this.get(n)}}catch(t){e.e(t)}finally{e.f()}return null}},{key:\"has\",value:function(t){return t in this.components}},{key:\"get\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return t in this.components?e?this.components[t].short_name:this.components[t].long_name:null}},{key:\"setAttributes\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this.attributes=A(A({},this.attributes),t),this}},{key:\"setAttribute\",value:function(t,e){return this.attributes[t]=e,this}},{key:\"getAttribute\",value:function(t){return this.attributes[t]||null}}])}(),dt=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;h(this,t),this.type=\"Point\",this.coordinates=[n,e]}return v(t,[{key:\"latitude\",get:function(){return this.coordinates[1]}},{key:\"longitude\",get:function(){return this.coordinates[0]}},{key:\"lat\",value:function(){return this.latitude}},{key:\"lng\",value:function(){return this.longitude}},{key:\"serialize\",value:function(){return{type:\"Point\",coorindates:[this.lat(),this.lng()]}}},{key:\"toJson\",value:function(){return this.serialize()}},{key:\"toString\",value:function(){return\"(\".concat(this.latitude,\", \").concat(this.longitude,\")\")}}],[{key:\"fromGeoJson\",value:function(e){var n=R(e.coordinates,2),r=n[0];return new t(n[1],r)}}])}();function vt(t,e){var n=t();return Array.isArray(n)||\"object\"===T(n)?pt(n,e):null}function pt(t,e){var n,r=t,i=T(t),o=\"object\"===i,a=\"function\"===i,s=Array.isArray(t),u=\"string\"===T(e)&&e.includes(\".\")?e.split(\".\"):[e];if(s||o){for(var c=0;c1&&void 0!==arguments[1]?arguments[1]:[];if(t.actions=V(e)?e:[e],!V(e))return e instanceof mt&&e.extend(t),t;var n,r=p(e);try{for(r.s();!(n=r.n()).done;){var i=n.value;t.extendActions(i)}}catch(t){r.e(t)}finally{r.f()}}function bt(t){for(var e=arguments.length,n=new Array(e>1?e-1:0),r=1;r0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;h(this,t),this.actions=e,this.bind=n}),[{key:\"extend\",value:function(){var t=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:null)||this.bind;if(!t)return this;if(null!=this&&this.actions&&\"object\"===T(this.actions))for(var e in this.actions){var n=this.actions[e];\"function\"==typeof n?gt(t,e,n.bind(t)):gt(t,e,n)}return this}}])}();function wt(t){return t instanceof kt}var kt=function(){return v((function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0,r=arguments.length>2?arguments[2]:void 0,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};h(this,t),this.attributes=e,this.dirtyAttributes={},this.changes={},this.isLoading=!1,this.isSaving=!1,this.isDestroying=!1,this.isReloading=!1,this.resource=r,this.options=i,this.version=i.version||\"v1\",this.setAdapter(n)}),[{key:\"setAdapter\",value:function(t){var e;return this.adapter=t,this.store=M(this.resource,t,{onAfterFetch:this.syncAttributes.bind(this),actions:null===(e=this.options)||void 0===e?void 0:e.actions}),this}},{key:\"id\",get:function(){return this.getAttribute(\"id\")}},{key:\"create\",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=this.mergeAttributes(e);return this.setFlags([\"isLoading\",\"isSaving\"]),this.store.create(n).then((function(e){return t.setFlags([\"isLoading\",\"isSaving\"],!1),e}))}},{key:\"update\",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this.setFlags([\"isLoading\",\"isSaving\"]),this.store.update(this.attributes.id,e).then((function(e){return t.setFlags([\"isLoading\",\"isSaving\"],!1),e}))}},{key:\"destroy\",value:function(){var t=this;return this.setFlags([\"isLoading\",\"isDestroying\"]),this.store.destroy(this.attributes.id).then((function(e){return t.setFlags([\"isLoading\",\"isDestroying\"],!1),e}))}},{key:\"reload\",value:function(){var t=this;return this.setFlags([\"isLoading\",\"isReloading\"]),this.store.findRecord(this.attributes.id).then((function(e){return t.reset(),e}))}},{key:\"setFlags\",value:function(){for(var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=[\"isLoading\",\"isSaving\",\"isReloading\",\"isDestroying\"],r=0;r0&&void 0!==arguments[0]?arguments[0]:{},e=this.getAttributes();return st(this.id)?this.create(e):!0===t.onlyDirty?this.savedirty():this.update(e)}},{key:\"saveDirty\",value:function(){for(var t=Object.keys(this.dirtyAttributes),e={},n=0;n0}},{key:\"mutate\",value:function(t,e){this.attributes[t]=e}},{key:\"setAttribute\",value:function(t){var e,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;if(null===n&&\"object\"===T(t))return this.setAttributes(t);var r=null!==(e=null==this?void 0:this.attributes[t])&&void 0!==e?e:null;return gt(this.attributes,t,n),gt(this.dirtyAttributes,t,r),V(null==this?void 0:this.changes[t])||(this.changes[t]=[]),this.changes[t].push({property:t,previousValue:r,value:n,changedAt:new Date}),this}},{key:\"setAttributes\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};for(var e in t)this.setAttribute(e,t[e]);return this}},{key:\"getAttribute\",value:function(t){var e,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=pt(null!==(e=null==this?void 0:this.attributes)&&void 0!==e?e:{},t);return void 0===r?n:r}},{key:\"hasAttribute\",value:function(t){if(V(t)){var e,n=t,r=Object.keys(null!==(e=this.attributes)&&void 0!==e?e:{});return n.every((function(t){return r.includes(t)}))}return!(null==this||!this.attributes)&&t in this.attributes}},{key:\"hasAttributes\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return this.hasAttribute(t)}},{key:\"isAttributeFilled\",value:function(t){var e=this;return V(t)?this.hasAttribute(t)&&t.every((function(t){return!st(e.getAttribute(t))})):this.hasAttribute(t)&&!st(this.getAttribute(t))}},{key:\"getAttributes\",value:function(t){var e={};if(null==t)return this.getAttributes(Object.keys(this.attributes));if(\"string\"==typeof t)return this.getAttribute(Array.prototype.slice.call(arguments));if(!V(t))throw new Error(\"No attribute properties provided!\");var n,r=p(t);try{for(r.s();!(n=r.n()).done;){var i,o,a=n.value;if(\"string\"==typeof a){var s=this.getAttribute(a);\"object\"!==T(null===(i=s)||void 0===i?void 0:i.attributes)||V(null===(o=s)||void 0===o?void 0:o.attributes)||(s=s.attributes),e[a]=s}}}catch(t){r.e(t)}finally{r.f()}return e}},{key:\"serialize\",value:function(){return this.getAttributes()}},{key:\"mergeAttributes\",value:function(){var t,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=null!==(t=null==this?void 0:this.attributes)&&void 0!==t?t:{};return this.attributes=A(A({},n),e),this.attributes}},{key:\"syncAttributes\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.attributes=t}}])}();q(\"resource\",\"Resource\",kt);var Et=function(){return v((function t(e,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};h(this,t),this.resource=e,this.adapter=n||ht(),this.namespace=F(e),this.storage=ot(),this.options=r,this.extendActions(r.actions)}),[{key:\"extendActions\",value:function(){return yt(this,arguments.length>0&&void 0!==arguments[0]?arguments[0]:[])}},{key:\"deposit\",value:function(t){return t}},{key:\"serialize\",value:function(t){return W(\"resource\",z(this.resource),t,this.adapter)}},{key:\"afterFetch\",value:function(t){return function(t,e){if(\"function\"==typeof t.options.onAfterFetch&&t.options.onAfterFetch(e),V(e)){var n,r=[],i=p(e);try{for(i.s();!(n=i.n()).done;){var o=n.value;r.push(t.afterFetch(o))}}catch(t){i.e(t)}finally{i.f()}return ot.apply(void 0,r)}var a=t.serialize(e);return t.deposit(a)}(this,t)}},{key:\"create\",value:(a=u(x().mark((function t(){var e,n,r,i=arguments;return x().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return e=i.length>0&&void 0!==i[0]?i[0]:{},n=i.length>1&&void 0!==i[1]?i[1]:{},t.next=4,this.adapter.post(\"\".concat(this.namespace),e,n);case 4:return r=t.sent,t.abrupt(\"return\",this.afterFetch(r));case 6:case\"end\":return t.stop()}}),t,this)}))),function(){return a.apply(this,arguments)})},{key:\"update\",value:(o=u(x().mark((function t(e){var n,r,i,o=arguments;return x().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=o.length>1&&void 0!==o[1]?o[1]:{},r=o.length>2&&void 0!==o[2]?o[2]:{},t.next=4,this.adapter.put(\"\".concat(this.namespace,\"/\").concat(e),n,r);case 4:return i=t.sent,t.abrupt(\"return\",this.afterFetch(i));case 6:case\"end\":return t.stop()}}),t,this)}))),function(t){return o.apply(this,arguments)})},{key:\"findRecord\",value:(i=u(x().mark((function t(e){var n,r,i=arguments;return x().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=i.length>1&&void 0!==i[1]?i[1]:{},t.next=3,this.adapter.get(\"\".concat(this.namespace,\"/\").concat(e),{},n);case 3:return r=t.sent,t.abrupt(\"return\",this.afterFetch(r));case 5:case\"end\":return t.stop()}}),t,this)}))),function(t){return i.apply(this,arguments)})},{key:\"findAll\",value:(r=u(x().mark((function t(){var e,n,r=arguments;return x().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return e=r.length>0&&void 0!==r[0]?r[0]:{},t.next=3,this.adapter.get(\"\".concat(this.namespace),{},e);case 3:return n=t.sent,t.abrupt(\"return\",this.afterFetch(n));case 5:case\"end\":return t.stop()}}),t,this)}))),function(){return r.apply(this,arguments)})},{key:\"query\",value:(n=u(x().mark((function t(){var e,n,r,i=arguments;return x().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return e=i.length>0&&void 0!==i[0]?i[0]:{},n=i.length>1&&void 0!==i[1]?i[1]:{},t.next=4,this.adapter.get(\"\".concat(this.namespace),e,n);case 4:return r=t.sent,t.abrupt(\"return\",this.afterFetch(r));case 6:case\"end\":return t.stop()}}),t,this)}))),function(){return n.apply(this,arguments)})},{key:\"queryRecord\",value:(e=u(x().mark((function t(){var e,n,r,i=arguments;return x().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=i.length>1&&void 0!==i[1]?i[1]:{},(e=i.length>0&&void 0!==i[0]?i[0]:{}).single=!0,t.next=5,this.adapter.get(\"\".concat(this.namespace),e,n);case 5:return r=t.sent,t.abrupt(\"return\",this.afterFetch(r));case 7:case\"end\":return t.stop()}}),t,this)}))),function(){return e.apply(this,arguments)})},{key:\"destroy\",value:(t=u(x().mark((function t(e){var n,r,i,o=arguments;return x().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=o.length>1&&void 0!==o[1]?o[1]:{},r=wt(e)?e.getAttribute(\"id\"):e,t.next=4,this.adapter.delete(\"\".concat(this.namespace,\"/\").concat(r),{},n);case 4:return i=t.sent,t.abrupt(\"return\",this.afterFetch(i));case 6:case\"end\":return t.stop()}}),t,this)}))),function(e){return t.apply(this,arguments)})}]);var t,e,n,r,i,o,a}();q(\"store\",\"Store\",Et);var At=new mt({getDistanceAndTime:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.adapter.get(\"\".concat(this.namespace,\"/\").concat(t,\"/distance-and-time\"),e,n)},getNextActivity:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.adapter.get(\"\".concat(this.namespace,\"/\").concat(t,\"/next-activity\"),e,n)},dispatch:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.adapter.post(\"\".concat(this.namespace,\"/\").concat(t,\"/dispatch\"),e,n).then(this.afterFetch.bind(this))},start:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.adapter.post(\"\".concat(this.namespace,\"/\").concat(t,\"/start\"),e,n).then(this.afterFetch.bind(this))},updateActivity:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.adapter.post(\"\".concat(this.namespace,\"/\").concat(t,\"/update-activity\"),e,n).then(this.afterFetch.bind(this))},setDestination:function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return wt(e)&&(e=e.id),this.adapter.post(\"\".concat(this.namespace,\"/\").concat(t,\"/set-destination/\").concat(e),n,r).then(this.afterFetch.bind(this))},captureQrCode:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return wt(e)&&(e=e.id),this.adapter.post(\"\".concat(this.namespace,\"/\").concat(t,\"/capture-qr\").concat(e?\"/\"+e:\"\"),n,r)},captureSignature:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return wt(e)&&(e=e.id),this.adapter.post(\"\".concat(this.namespace,\"/\").concat(t,\"/capture-signature\").concat(e?\"/\"+e:\"\"),n,r)},complete:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.adapter.post(\"\".concat(this.namespace,\"/\").concat(t,\"/complete\"),e,n).then(this.afterFetch.bind(this))},cancel:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.adapter.delete(\"\".concat(this.namespace,\"/\").concat(t,\"/cancel\"),e,n).then(this.afterFetch.bind(this))}}),xt=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return h(this,t),l(this,t,[e,n,\"order\",A({actions:At},r)])}return b(t,kt),v(t,[{key:\"getDistanceAndTime\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.store.getDistanceAndTime(this.id,t,e)}},{key:\"dispatch\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.store.dispatch(this.id,t,e)}},{key:\"start\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.store.start(this.id,t,e)}},{key:\"setDestination\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.store.setDestination(this.id,t,e,n)}},{key:\"captureQrCode\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.store.captureQrCode(this.id,t,e,n)}},{key:\"captureSignature\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.store.captureSignature(this.id,t,e,n)}},{key:\"getNextActivity\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.store.getNextActivity(this.id,t,e)}},{key:\"updateActivity\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.store.updateActivity(this.id,t,e)}},{key:\"cancel\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.store.cancel(this.id,t,e)}},{key:\"complete\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.store.complete(this.id,t,e)}},{key:\"isDispatched\",get:function(){return null!==this.getAttribute(\"dispatched_at\")}},{key:\"isNotDispatched\",get:function(){return null==this.getAttribute(\"dispatched_at\")}},{key:\"isStarted\",get:function(){return null!==this.getAttribute(\"started_at\")}},{key:\"isNotStarted\",get:function(){return null==this.getAttribute(\"started_at\")}},{key:\"isCompleted\",get:function(){return\"completed\"==this.getAttribute(\"status\")}},{key:\"isCanceled\",get:function(){return\"canceled\"==this.getAttribute(\"status\")}},{key:\"isEnroute\",get:function(){return\"driver_enroute\"==this.getAttribute(\"status\")||\"enroute\"===this.getAttribute(\"status\")}},{key:\"isInProgress\",get:function(){return this.isStarted&&!this.isCanceled&&!this.isCompleted}},{key:\"scheduledAt\",get:function(){return this.isAttributeFilled(\"scheduled_at\")?new Date(this.getAttribute(\"scheduled_at\")):null}},{key:\"startedAt\",get:function(){return this.isAttributeFilled(\"started_at\")?new Date(this.getAttribute(\"started_at\")):null}},{key:\"dispatchedAt\",get:function(){return this.isAttributeFilled(\"dispatched_at\")?new Date(this.getAttribute(\"dispatched_at\")):null}},{key:\"status\",get:function(){return this.getAttribute(\"status\")}}])}();q(\"resource\",\"Order\",xt);var Ot=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return h(this,t),l(this,t,[e,n,\"payload\",r])}return b(t,kt),v(t,[{key:\"attach\",value:function(t){}},{key:\"entities\",get:function(){var t=this;return ot(this.entities.map((function(e){return G(\"Entity\",e,t.adapter)})))}},{key:\"dropoff\",get:function(){return this.dropoff?G(\"Place\",this.dropoff,this.adapter):null}},{key:\"pickup\",get:function(){return this.pickup?G(\"Place\",this.pickup,this.adapter):null}},{key:\"waypoints\",get:function(){var t=this;return ot(this.waypoints.map((function(e){return G(\"Waypoint\",e,t.adapter)})))}}])}();q(\"resource\",\"Payload\",Ot);var Rt=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return h(this,t),l(this,t,[e,n,\"entity\",r])}return b(t,kt),v(t)}();q(\"resource\",\"Entity\",Rt);var St=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return h(this,t),l(this,t,[e,n,\"place\",r])}return b(t,kt),v(t,[{key:\"latitude\",get:function(){var t;return null===(t=this.getAttribute(\"location\",new dt))||void 0===t?void 0:t.coordinates[1]}},{key:\"longitude\",get:function(){var t;return null===(t=this.getAttribute(\"location\",new dt))||void 0===t?void 0:t.coordinates[0]}},{key:\"coordinates\",get:function(){return[this.latitude,this.longitude]}},{key:\"setOwner\",value:function(t){return wt(t)&&this.setAttribute(\"owner\",t.id),\"string\"==typeof t&&this.setAttribute(\"owner\",t),this}}],[{key:\"fromGoogleAddress\",value:function(e,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=R(e.getAttribute(\"coordinates\"),2),o=i[0],a=i[1];return new t({name:null,address:e.getAttribute(\"address\"),location:new dt(o,a),street1:e.getAttribute(\"address\"),street2:null,city:e.getAttribute(\"city\"),province:e.getAttribute(\"stateLong\"),postal_code:e.getAttribute(\"postalCode\"),neighborhood:e.get(\"neighborhood\"),district:e.getAttribute(\"county\"),building:e.get(\"building\"),country:e.getAttribute(\"countryShort\"),phone:null,security_access_code:null},n,r)}}])}();q(\"resource\",\"Place\",St);var jt=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return h(this,t),l(this,t,[e,n,\"waypoint\",r])}return b(t,St),v(t)}();q(\"resource\",\"Waypoint\",jt);var Tt=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return h(this,t),l(this,t,[e,n,\"tracking-status\",r])}return b(t,kt),v(t)}();q(\"resource\",\"TrackingStatus\",Tt);var _t=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return h(this,t),l(this,t,[e,n,\"vehicle\",r])}return b(t,kt),v(t)}();q(\"resource\",\"Vehicle\",_t);var Pt=new mt({current:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.adapter.get(\"\".concat(this.namespace,\"/current\"),t,e)}}),Lt=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return h(this,t),l(this,t,[e,n,\"organization\",A({actions:Pt},r)])}return b(t,kt),v(t)}();q(\"resource\",\"Organization\",Lt);var Ct=function(t,e){return V(t)?t.map((function(t){return new Lt(t,e)})):new Lt(t,e)},Nt=new mt({login:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(function(){return/^[+]?[\\s./0-9]*[(]?[0-9]{1,4}[)]?[-\\s./0-9]*$/g.test(arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"\")}(t))return this.adapter.post(\"drivers/login-with-sms\",{phone:t});if(!e)throw new Error(\"Login requires password!\");return this.adapter.post(\"drivers/login\",A({identity:t,password:e},n)).then(this.afterFetch.bind(this))},verifyCode:function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.adapter.post(\"drivers/verify-code\",A({identity:t,code:e},n)).then(this.afterFetch.bind(this))},track:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.adapter.post(\"drivers/\".concat(t,\"/track\"),e,n).then(this.afterFetch.bind(this))},listOrganizations:function(t){var e=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.adapter.get(\"drivers/\".concat(t,\"/organizations\"),n,r).then((function(t){return Ct(t,e.adapter)}))},switchOrganization:function(t){var e=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.adapter.post(\"drivers/\".concat(t,\"/switch-organization\"),n,r).then((function(t){return Ct(t,e.adapter)}))},currentOrganization:function(t){var e=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.adapter.get(\"drivers/\".concat(t,\"/current-organization\"),n,r).then((function(t){return Ct(t,e.adapter)}))},retrieve:function(t){return this.findRecord(t)},syncDevice:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.adapter.post(\"drivers/\".concat(t,\"/register-device\"),e,n)}}),Ft=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return h(this,t),l(this,t,[e,n,\"driver\",A({actions:Nt},r)])}return b(t,kt),v(t,[{key:\"token\",get:function(){return this.getAttribute(\"token\")}},{key:\"isOnline\",get:function(){return!0===this.getAttribute(\"online\")}},{key:\"latitude\",get:function(){var t;return null===(t=this.getAttribute(\"location\",new dt))||void 0===t?void 0:t.coordinates[1]}},{key:\"longitude\",get:function(){var t;return null===(t=this.getAttribute(\"location\",new dt))||void 0===t?void 0:t.coordinates[0]}},{key:\"coordinates\",get:function(){return[this.latitude,this.longitude]}},{key:\"track\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.store.track(this.id,t,e)}},{key:\"syncDevice\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.store.syncDevice(this.id,t,e)}},{key:\"listOrganizations\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.store.listOrganizations(this.id,t,e)}},{key:\"switchOrganization\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.store.switchOrganization(this.id,{next:t},e)}},{key:\"currentOrganization\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.store.currentOrganization(this.id,t,e)}}])}();q(\"resource\",\"Driver\",Ft);var Dt=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return h(this,t),l(this,t,[e,n,\"vendor\",r])}return b(t,kt),v(t)}();q(\"resource\",\"Vendor\",Dt);var $t=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return h(this,t),l(this,t,[e,n,\"contact\",r])}return b(t,kt),v(t)}();q(\"resource\",\"Contact\",$t);var Ut=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return h(this,t),l(this,t,[e,n,\"zone\",r])}return b(t,kt),v(t)}();q(\"resource\",\"Zone\",Ut);var zt=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return h(this,t),l(this,t,[e,n,\"service-area\",r])}return b(t,kt),v(t)}();q(\"resource\",\"ServiceArea\",zt);var Bt=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return h(this,t),l(this,t,[e,n,\"service-rate\",r])}return b(t,kt),v(t)}();q(\"resource\",\"ServiceRate\",Bt);var qt=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return h(this,t),l(this,t,[e,n,\"service-quote\",r])}return b(t,kt),v(t,[{key:\"fromPreliminary\",value:function(){}},{key:\"fromPayload\",value:function(){}}])}();q(\"resource\",\"ServiceQuote\",qt);var It=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return h(this,t),l(this,t,[e,n,\"fleet\",r])}return b(t,kt),v(t)}();q(\"resource\",\"Fleet\",It);var Mt=v((function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};h(this,t),this.version=e.version||\"v1\",this.host=e.host||null,this.namespace=e.namespace||null,this.headers=e.headers||{}}));q(\"adapter\",\"Adapter\",Mt);var Ht=function(){function t(e){var n;return h(this,t),(n=l(this,t,[e])).setHeaders({Authorization:\"Bearer \".concat(e.publicKey),\"Content-Type\":\"application/json\",\"User-Agent\":\"@fleetbase/sdk;browser\"}),n}return b(t,Mt),v(t,[{key:\"setHeaders\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this.headers=A(A({},this.headers),t),this}},{key:\"parseJSON\",value:function(t){return new Promise((function(e,n){t.json().then((function(n){e({statusText:t.statusText,status:t.status,ok:t.ok,json:n})})).catch((function(){n(new Error(\"Oops! Something went wrong when handling your request.\"))}))}))}},{key:\"request\",value:function(t){var e=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"GET\",r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return new Promise((function(o,a){fetch(i.url||\"\".concat(e.host,\"/\").concat(e.namespace,\"/\").concat(t),A({method:n,mode:i.mode||\"cors\",headers:new Headers(A(A({},e.headers||{}),i.headers||{}))},r)).then(e.parseJSON).then((function(t){if(t.ok)return o(t.json);a(new Error(t.json.errors?t.json.errors[0]:t.statusText))})).catch((function(t){a(t)}))}))}},{key:\"get\",value:function(t){var e,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=st(e=n)||\"string\"==typeof e&&!1===/\\S/.test(e)?\"\":new URLSearchParams(n).toString();return this.request(\"\".concat(t).concat(i?\"?\".concat(i):\"\"),\"GET\",{},r)}},{key:\"post\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.request(t,\"POST\",{body:JSON.stringify(e)},n)}},{key:\"put\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.request(t,\"PUT\",{body:JSON.stringify(e)},n)}},{key:\"delete\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.request(t,\"DELETE\",{},e)}},{key:\"patch\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.request(t,\"PATCH\",{body:JSON.stringify(e)},n)}}])}();function Jt(t,e){return function(){return t.apply(e,arguments)}}q(\"adapter\",\"BrowserAdapter\",Ht);var Wt,Kt=Object.prototype.toString,Gt=Object.getPrototypeOf,Vt=(Wt=Object.create(null),function(t){var e=Kt.call(t);return Wt[e]||(Wt[e]=e.slice(8,-1).toLowerCase())}),Xt=function(t){return t=t.toLowerCase(),function(e){return Vt(e)===t}},Qt=function(t){return function(e){return T(e)===t}},Yt=Array.isArray,Zt=Qt(\"undefined\");var te=Xt(\"ArrayBuffer\");var ee=Qt(\"string\"),ne=Qt(\"function\"),re=Qt(\"number\"),ie=function(t){return null!==t&&\"object\"===T(t)},oe=function(t){if(\"object\"!==Vt(t))return!1;var e=Gt(t);return!(null!==e&&e!==Object.prototype&&null!==Object.getPrototypeOf(e)||Symbol.toStringTag in t||Symbol.iterator in t)},ae=Xt(\"Date\"),se=Xt(\"File\"),ue=Xt(\"Blob\"),ce=Xt(\"FileList\"),le=Xt(\"URLSearchParams\"),he=R([\"ReadableStream\",\"Request\",\"Response\",\"Headers\"].map(Xt),4),fe=he[0],de=he[1],ve=he[2],pe=he[3];function ge(t,e){var n,r,i=(arguments.length>2&&void 0!==arguments[2]?arguments[2]:{}).allOwnKeys,o=void 0!==i&&i;if(null!=t)if(\"object\"!==T(t)&&(t=[t]),Yt(t))for(n=0,r=t.length;n0;)if(e===(n=r[i]).toLowerCase())return n;return null}var be=\"undefined\"!=typeof globalThis?globalThis:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:global,me=function(t){return!Zt(t)&&t!==be};var we,ke=(we=\"undefined\"!=typeof Uint8Array&&Gt(Uint8Array),function(t){return we&&t instanceof we}),Ee=Xt(\"HTMLFormElement\"),Ae=function(){var t=Object.prototype.hasOwnProperty;return function(e,n){return t.call(e,n)}}(),xe=Xt(\"RegExp\"),Oe=function(t,e){var n=Object.getOwnPropertyDescriptors(t),r={};ge(n,(function(n,i){var o;!1!==(o=e(n,i,t))&&(r[i]=o||n)})),Object.defineProperties(t,r)},Re=\"abcdefghijklmnopqrstuvwxyz\",Se=\"0123456789\",je={DIGIT:Se,ALPHA:Re,ALPHA_DIGIT:Re+Re.toUpperCase()+Se};var Te,_e,Pe,Le,Ce=Xt(\"AsyncFunction\"),Ne=(Te=\"function\"==typeof setImmediate,_e=ne(be.postMessage),Te?setImmediate:_e?(Pe=\"axios@\".concat(Math.random()),Le=[],be.addEventListener(\"message\",(function(t){var e=t.source,n=t.data;e===be&&n===Pe&&Le.length&&Le.shift()()}),!1),function(t){Le.push(t),be.postMessage(Pe,\"*\")}):function(t){return setTimeout(t)}),Fe=\"undefined\"!=typeof queueMicrotask?queueMicrotask.bind(be):\"undefined\"!=typeof process&&process.nextTick||Ne,De={isArray:Yt,isArrayBuffer:te,isBuffer:function(t){return null!==t&&!Zt(t)&&null!==t.constructor&&!Zt(t.constructor)&&ne(t.constructor.isBuffer)&&t.constructor.isBuffer(t)},isFormData:function(t){var e;return t&&(\"function\"==typeof FormData&&t instanceof FormData||ne(t.append)&&(\"formdata\"===(e=Vt(t))||\"object\"===e&&ne(t.toString)&&\"[object FormData]\"===t.toString()))},isArrayBufferView:function(t){return\"undefined\"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(t):t&&t.buffer&&te(t.buffer)},isString:ee,isNumber:re,isBoolean:function(t){return!0===t||!1===t},isObject:ie,isPlainObject:oe,isReadableStream:fe,isRequest:de,isResponse:ve,isHeaders:pe,isUndefined:Zt,isDate:ae,isFile:se,isBlob:ue,isRegExp:xe,isFunction:ne,isStream:function(t){return ie(t)&&ne(t.pipe)},isURLSearchParams:le,isTypedArray:ke,isFileList:ce,forEach:ge,merge:function t(){for(var e=(me(this)&&this||{}).caseless,n={},r=function(r,i){var o=e&&ye(n,i)||i;oe(n[o])&&oe(r)?n[o]=t(n[o],r):oe(r)?n[o]=t({},r):Yt(r)?n[o]=r.slice():n[o]=r},i=0,o=arguments.length;i3&&void 0!==arguments[3]?arguments[3]:{}).allOwnKeys}),t},trim:function(t){return t.trim?t.trim():t.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g,\"\")},stripBOM:function(t){return 65279===t.charCodeAt(0)&&(t=t.slice(1)),t},inherits:function(t,e,n,r){t.prototype=Object.create(e.prototype,r),t.prototype.constructor=t,Object.defineProperty(t,\"super\",{value:e.prototype}),n&&Object.assign(t.prototype,n)},toFlatObject:function(t,e,n,r){var i,o,a,s={};if(e=e||{},null==t)return e;do{for(o=(i=Object.getOwnPropertyNames(t)).length;o-- >0;)a=i[o],r&&!r(a,t,e)||s[a]||(e[a]=t[a],s[a]=!0);t=!1!==n&&Gt(t)}while(t&&(!n||n(t,e))&&t!==Object.prototype);return e},kindOf:Vt,kindOfTest:Xt,endsWith:function(t,e,n){t=String(t),(void 0===n||n>t.length)&&(n=t.length),n-=e.length;var r=t.indexOf(e,n);return-1!==r&&r===n},toArray:function(t){if(!t)return null;if(Yt(t))return t;var e=t.length;if(!re(e))return null;for(var n=new Array(e);e-- >0;)n[e]=t[e];return n},forEachEntry:function(t,e){for(var n,r=(t&&t[Symbol.iterator]).call(t);(n=r.next())&&!n.done;){var i=n.value;e.call(t,i[0],i[1])}},matchAll:function(t,e){for(var n,r=[];null!==(n=t.exec(e));)r.push(n);return r},isHTMLForm:Ee,hasOwnProperty:Ae,hasOwnProp:Ae,reduceDescriptors:Oe,freezeMethods:function(t){Oe(t,(function(e,n){if(ne(t)&&-1!==[\"arguments\",\"caller\",\"callee\"].indexOf(n))return!1;var r=t[n];ne(r)&&(e.enumerable=!1,\"writable\"in e?e.writable=!1:e.set||(e.set=function(){throw Error(\"Can not rewrite read-only method '\"+n+\"'\")}))}))},toObjectSet:function(t,e){var n={},r=function(t){t.forEach((function(t){n[t]=!0}))};return Yt(t)?r(t):r(String(t).split(e)),n},toCamelCase:function(t){return t.toLowerCase().replace(/[-_\\s]([a-z\\d])(\\w*)/g,(function(t,e,n){return e.toUpperCase()+n}))},noop:function(){},toFiniteNumber:function(t,e){return null!=t&&Number.isFinite(t=+t)?t:e},findKey:ye,global:be,isContextDefined:me,ALPHABET:je,generateString:function(){for(var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:16,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:je.ALPHA_DIGIT,n=\"\",r=e.length;t--;)n+=e[Math.random()*r|0];return n},isSpecCompliantForm:function(t){return!!(t&&ne(t.append)&&\"FormData\"===t[Symbol.toStringTag]&&t[Symbol.iterator])},toJSONObject:function(t){var e=new Array(10),n=function(t,r){if(ie(t)){if(e.indexOf(t)>=0)return;if(!(\"toJSON\"in t)){e[r]=t;var i=Yt(t)?[]:{};return ge(t,(function(t,e){var o=n(t,r+1);!Zt(o)&&(i[e]=o)})),e[r]=void 0,i}}return t};return n(t,0)},isAsyncFn:Ce,isThenable:function(t){return t&&(ie(t)||ne(t))&&ne(t.then)&&ne(t.catch)},setImmediate:Ne,asap:Fe};function $e(t,e,n,r,i){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack,this.message=t,this.name=\"AxiosError\",e&&(this.code=e),n&&(this.config=n),r&&(this.request=r),i&&(this.response=i,this.status=i.status?i.status:null)}De.inherits($e,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:De.toJSONObject(this.config),code:this.code,status:this.status}}});var Ue=$e.prototype,ze={};[\"ERR_BAD_OPTION_VALUE\",\"ERR_BAD_OPTION\",\"ECONNABORTED\",\"ETIMEDOUT\",\"ERR_NETWORK\",\"ERR_FR_TOO_MANY_REDIRECTS\",\"ERR_DEPRECATED\",\"ERR_BAD_RESPONSE\",\"ERR_BAD_REQUEST\",\"ERR_CANCELED\",\"ERR_NOT_SUPPORT\",\"ERR_INVALID_URL\"].forEach((function(t){ze[t]={value:t}})),Object.defineProperties($e,ze),Object.defineProperty(Ue,\"isAxiosError\",{value:!0}),$e.from=function(t,e,n,r,i,o){var a=Object.create(Ue);return De.toFlatObject(t,a,(function(t){return t!==Error.prototype}),(function(t){return\"isAxiosError\"!==t})),$e.call(a,t.message,e,n,r,i),a.cause=t,a.name=t.name,o&&Object.assign(a,o),a};function Be(t){return De.isPlainObject(t)||De.isArray(t)}function qe(t){return De.endsWith(t,\"[]\")?t.slice(0,-2):t}function Ie(t,e,n){return t?t.concat(e).map((function(t,e){return t=qe(t),!n&&e?\"[\"+t+\"]\":t})).join(n?\".\":\"\"):e}var Me=De.toFlatObject(De,{},null,(function(t){return/^is[A-Z]/.test(t)}));function He(t,e,n){if(!De.isObject(t))throw new TypeError(\"target must be an object\");e=e||new FormData;var r=(n=De.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,(function(t,e){return!De.isUndefined(e[t])}))).metaTokens,i=n.visitor||c,o=n.dots,a=n.indexes,s=(n.Blob||\"undefined\"!=typeof Blob&&Blob)&&De.isSpecCompliantForm(e);if(!De.isFunction(i))throw new TypeError(\"visitor must be a function\");function u(t){if(null===t)return\"\";if(De.isDate(t))return t.toISOString();if(!s&&De.isBlob(t))throw new $e(\"Blob is not supported. Use a Buffer instead.\");return De.isArrayBuffer(t)||De.isTypedArray(t)?s&&\"function\"==typeof Blob?new Blob([t]):Buffer.from(t):t}function c(t,n,i){var s=t;if(t&&!i&&\"object\"===T(t))if(De.endsWith(n,\"{}\"))n=r?n:n.slice(0,-2),t=JSON.stringify(t);else if(De.isArray(t)&&function(t){return De.isArray(t)&&!t.some(Be)}(t)||(De.isFileList(t)||De.endsWith(n,\"[]\"))&&(s=De.toArray(t)))return n=qe(n),s.forEach((function(t,r){!De.isUndefined(t)&&null!==t&&e.append(!0===a?Ie([n],r,o):null===a?n:n+\"[]\",u(t))})),!1;return!!Be(t)||(e.append(Ie(i,n,o),u(t)),!1)}var l=[],h=Object.assign(Me,{defaultVisitor:c,convertValue:u,isVisitable:Be});if(!De.isObject(t))throw new TypeError(\"data must be an object\");return function t(n,r){if(!De.isUndefined(n)){if(-1!==l.indexOf(n))throw Error(\"Circular reference detected in \"+r.join(\".\"));l.push(n),De.forEach(n,(function(n,o){!0===(!(De.isUndefined(n)||null===n)&&i.call(e,n,De.isString(o)?o.trim():o,r,h))&&t(n,r?r.concat(o):[o])})),l.pop()}}(t),e}function Je(t){var e={\"!\":\"%21\",\"'\":\"%27\",\"(\":\"%28\",\")\":\"%29\",\"~\":\"%7E\",\"%20\":\"+\",\"%00\":\"\\0\"};return encodeURIComponent(t).replace(/[!'()~]|%20|%00/g,(function(t){return e[t]}))}function We(t,e){this._pairs=[],t&&He(t,this,e)}var Ke=We.prototype;function Ge(t){return encodeURIComponent(t).replace(/%3A/gi,\":\").replace(/%24/g,\"$\").replace(/%2C/gi,\",\").replace(/%20/g,\"+\").replace(/%5B/gi,\"[\").replace(/%5D/gi,\"]\")}function Ve(t,e,n){if(!e)return t;var r=n&&n.encode||Ge;De.isFunction(n)&&(n={serialize:n});var i,o=n&&n.serialize;if(i=o?o(e,n):De.isURLSearchParams(e)?e.toString():new We(e,n).toString(r)){var a=t.indexOf(\"#\");-1!==a&&(t=t.slice(0,a)),t+=(-1===t.indexOf(\"?\")?\"?\":\"&\")+i}return t}Ke.append=function(t,e){this._pairs.push([t,e])},Ke.toString=function(t){var e=t?function(e){return t.call(this,e,Je)}:Je;return this._pairs.map((function(t){return e(t[0])+\"=\"+e(t[1])}),\"\").join(\"&\")};var Xe=function(){return v((function t(){h(this,t),this.handlers=[]}),[{key:\"use\",value:function(t,e,n){return this.handlers.push({fulfilled:t,rejected:e,synchronous:!!n&&n.synchronous,runWhen:n?n.runWhen:null}),this.handlers.length-1}},{key:\"eject\",value:function(t){this.handlers[t]&&(this.handlers[t]=null)}},{key:\"clear\",value:function(){this.handlers&&(this.handlers=[])}},{key:\"forEach\",value:function(t){De.forEach(this.handlers,(function(e){null!==e&&t(e)}))}}])}(),Qe={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},Ye={isBrowser:!0,classes:{URLSearchParams:\"undefined\"!=typeof URLSearchParams?URLSearchParams:We,FormData:\"undefined\"!=typeof FormData?FormData:null,Blob:\"undefined\"!=typeof Blob?Blob:null},protocols:[\"http\",\"https\",\"file\",\"blob\",\"url\",\"data\"]},Ze=\"undefined\"!=typeof window&&\"undefined\"!=typeof document,tn=\"object\"===(\"undefined\"==typeof navigator?\"undefined\":T(navigator))&&navigator||void 0,en=Ze&&(!tn||[\"ReactNative\",\"NativeScript\",\"NS\"].indexOf(tn.product)<0),nn=\"undefined\"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&\"function\"==typeof self.importScripts,rn=Ze&&window.location.href||\"http://localhost\",on=A(A({},Object.freeze({__proto__:null,hasBrowserEnv:Ze,hasStandardBrowserEnv:en,hasStandardBrowserWebWorkerEnv:nn,navigator:tn,origin:rn})),Ye);function an(t){function e(t,n,r,i){var o=t[i++];if(\"__proto__\"===o)return!0;var a=Number.isFinite(+o),s=i>=t.length;return o=!o&&De.isArray(r)?r.length:o,s?(De.hasOwnProp(r,o)?r[o]=[r[o],n]:r[o]=n,!a):(r[o]&&De.isObject(r[o])||(r[o]=[]),e(t,n,r[o],i)&&De.isArray(r[o])&&(r[o]=function(t){var e,n,r={},i=Object.keys(t),o=i.length;for(e=0;e-1,o=De.isObject(t);if(o&&De.isHTMLForm(t)&&(t=new FormData(t)),De.isFormData(t))return i?JSON.stringify(an(t)):t;if(De.isArrayBuffer(t)||De.isBuffer(t)||De.isStream(t)||De.isFile(t)||De.isBlob(t)||De.isReadableStream(t))return t;if(De.isArrayBufferView(t))return t.buffer;if(De.isURLSearchParams(t))return e.setContentType(\"application/x-www-form-urlencoded;charset=utf-8\",!1),t.toString();if(o){if(r.indexOf(\"application/x-www-form-urlencoded\")>-1)return function(t,e){return He(t,new on.classes.URLSearchParams,Object.assign({visitor:function(t,e,n,r){return on.isNode&&De.isBuffer(t)?(this.append(e,t.toString(\"base64\")),!1):r.defaultVisitor.apply(this,arguments)}},e))}(t,this.formSerializer).toString();if((n=De.isFileList(t))||r.indexOf(\"multipart/form-data\")>-1){var a=this.env&&this.env.FormData;return He(n?{\"files[]\":t}:t,a&&new a,this.formSerializer)}}return o||i?(e.setContentType(\"application/json\",!1),function(t,e){if(De.isString(t))try{return(e||JSON.parse)(t),De.trim(t)}catch(t){if(\"SyntaxError\"!==t.name)throw t}return(0,JSON.stringify)(t)}(t)):t}],transformResponse:[function(t){var e=this.transitional||sn.transitional,n=e&&e.forcedJSONParsing,r=\"json\"===this.responseType;if(De.isResponse(t)||De.isReadableStream(t))return t;if(t&&De.isString(t)&&(n&&!this.responseType||r)){var i=!(e&&e.silentJSONParsing)&&r;try{return JSON.parse(t)}catch(t){if(i){if(\"SyntaxError\"===t.name)throw $e.from(t,$e.ERR_BAD_RESPONSE,this,null,this.response);throw t}}}return t}],timeout:0,xsrfCookieName:\"XSRF-TOKEN\",xsrfHeaderName:\"X-XSRF-TOKEN\",maxContentLength:-1,maxBodyLength:-1,env:{FormData:on.classes.FormData,Blob:on.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:\"application/json, text/plain, */*\",\"Content-Type\":void 0}}};De.forEach([\"delete\",\"get\",\"head\",\"post\",\"put\",\"patch\"],(function(t){sn.headers[t]={}}));var un=De.toObjectSet([\"age\",\"authorization\",\"content-length\",\"content-type\",\"etag\",\"expires\",\"from\",\"host\",\"if-modified-since\",\"if-unmodified-since\",\"last-modified\",\"location\",\"max-forwards\",\"proxy-authorization\",\"referer\",\"retry-after\",\"user-agent\"]),cn=Symbol(\"internals\");function ln(t){return t&&String(t).trim().toLowerCase()}function hn(t){return!1===t||null==t?t:De.isArray(t)?t.map(hn):String(t)}function fn(t,e,n,r,i){return De.isFunction(r)?r.call(this,e,n):(i&&(e=n),De.isString(e)?De.isString(r)?-1!==e.indexOf(r):De.isRegExp(r)?r.test(e):void 0:void 0)}var dn=function(){return v((function t(e){h(this,t),e&&this.set(e)}),[{key:\"set\",value:function(t,e,n){var r=this;function i(t,e,n){var i=ln(e);if(!i)throw new Error(\"header name must be a non-empty string\");var o=De.findKey(r,i);(!o||void 0===r[o]||!0===n||void 0===n&&!1!==r[o])&&(r[o||e]=hn(t))}var o=function(t,e){return De.forEach(t,(function(t,n){return i(t,n,e)}))};if(De.isPlainObject(t)||t instanceof this.constructor)o(t,e);else if(De.isString(t)&&(t=t.trim())&&!/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(t.trim()))o(function(t){var e,n,r,i={};return t&&t.split(\"\\n\").forEach((function(t){r=t.indexOf(\":\"),e=t.substring(0,r).trim().toLowerCase(),n=t.substring(r+1).trim(),!e||i[e]&&un[e]||(\"set-cookie\"===e?i[e]?i[e].push(n):i[e]=[n]:i[e]=i[e]?i[e]+\", \"+n:n)})),i}(t),e);else if(De.isHeaders(t)){var a,s=p(t.entries());try{for(s.s();!(a=s.n()).done;){var u=R(a.value,2),c=u[0];i(u[1],c,n)}}catch(t){s.e(t)}finally{s.f()}}else null!=t&&i(e,t,n);return this}},{key:\"get\",value:function(t,e){if(t=ln(t)){var n=De.findKey(this,t);if(n){var r=this[n];if(!e)return r;if(!0===e)return function(t){for(var e,n=Object.create(null),r=/([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;e=r.exec(t);)n[e[1]]=e[2];return n}(r);if(De.isFunction(e))return e.call(this,r,n);if(De.isRegExp(e))return e.exec(r);throw new TypeError(\"parser must be boolean|regexp|function\")}}}},{key:\"has\",value:function(t,e){if(t=ln(t)){var n=De.findKey(this,t);return!(!n||void 0===this[n]||e&&!fn(0,this[n],n,e))}return!1}},{key:\"delete\",value:function(t,e){var n=this,r=!1;function i(t){if(t=ln(t)){var i=De.findKey(n,t);!i||e&&!fn(0,n[i],i,e)||(delete n[i],r=!0)}}return De.isArray(t)?t.forEach(i):i(t),r}},{key:\"clear\",value:function(t){for(var e=Object.keys(this),n=e.length,r=!1;n--;){var i=e[n];t&&!fn(0,this[i],i,t,!0)||(delete this[i],r=!0)}return r}},{key:\"normalize\",value:function(t){var e=this,n={};return De.forEach(this,(function(r,i){var o=De.findKey(n,i);if(o)return e[o]=hn(r),void delete e[i];var a=t?function(t){return t.trim().toLowerCase().replace(/([a-z\\d])(\\w*)/g,(function(t,e,n){return e.toUpperCase()+n}))}(i):String(i).trim();a!==i&&delete e[i],e[a]=hn(r),n[a]=!0})),this}},{key:\"concat\",value:function(){for(var t,e=arguments.length,n=new Array(e),r=0;r1?n-1:0),i=1;i2&&void 0!==arguments[2]?arguments[2]:3,r=0,i=function(t,e){t=t||10;var n,r=new Array(t),i=new Array(t),o=0,a=0;return e=void 0!==e?e:1e3,function(s){var u=Date.now(),c=i[a];n||(n=u),r[o]=s,i[o]=u;for(var l=a,h=0;l!==o;)h+=r[l++],l%=t;if((o=(o+1)%t)===a&&(a=(a+1)%t),!(u-n1&&void 0!==arguments[1]?arguments[1]:Date.now();i=o,n=null,r&&(clearTimeout(r),r=null),t.apply(null,e)};return[function(){for(var t=Date.now(),e=t-i,s=arguments.length,u=new Array(s),c=0;c=o?a(u,t):(n=u,r||(r=setTimeout((function(){r=null,a(n)}),o-e)))},function(){return n&&a(n)}]}((function(n){var o=n.loaded,a=n.lengthComputable?n.total:void 0,s=o-r,u=i(s);r=o;var c=g({loaded:o,total:a,progress:a?o/a:void 0,bytes:s,rate:u||void 0,estimated:u&&a&&o<=a?(a-o)/u:void 0,event:n,lengthComputable:null!=a},e?\"download\":\"upload\",!0);t(c)}),n)},mn=function(t,e){var n=null!=t;return[function(r){return e[0]({lengthComputable:n,total:t,loaded:r})},e[1]]},wn=function(t){return function(){for(var e=arguments.length,n=new Array(e),r=0;r1?e-1:0),r=1;r1?\"since :\\n\"+s.map(Wn).join(\"\\n\"):\" \"+Wn(s[0]):\"as no adapter specified\"),\"ERR_NOT_SUPPORT\")}return n};function Vn(t){if(t.cancelToken&&t.cancelToken.throwIfRequested(),t.signal&&t.signal.aborted)throw new gn(null,t)}function Xn(t){return Vn(t),t.headers=dn.from(t.headers),t.data=vn.call(t,t.transformRequest),-1!==[\"post\",\"put\",\"patch\"].indexOf(t.method)&&t.headers.setContentType(\"application/x-www-form-urlencoded\",!1),Gn(t.adapter||sn.adapter)(t).then((function(e){return Vn(t),e.data=vn.call(t,t.transformResponse,e),e.headers=dn.from(e.headers),e}),(function(e){return pn(e)||(Vn(t),e&&e.response&&(e.response.data=vn.call(t,t.transformResponse,e.response),e.response.headers=dn.from(e.response.headers))),Promise.reject(e)}))}var Qn=\"1.7.9\",Yn={};[\"object\",\"boolean\",\"number\",\"function\",\"string\",\"symbol\"].forEach((function(t,e){Yn[t]=function(n){return T(n)===t||\"a\"+(e<1?\"n \":\" \")+t}}));var Zn={};Yn.transitional=function(t,e,n){function r(t,e){return\"[Axios v1.7.9] Transitional option '\"+t+\"'\"+e+(n?\". \"+n:\"\")}return function(n,i,o){if(!1===t)throw new $e(r(i,\" has been removed\"+(e?\" in \"+e:\"\")),$e.ERR_DEPRECATED);return e&&!Zn[i]&&(Zn[i]=!0,console.warn(r(i,\" has been deprecated since v\"+e+\" and will be removed in the near future\"))),!t||t(n,i,o)}},Yn.spelling=function(t){return function(e,n){return console.warn(\"\".concat(n,\" is likely a misspelling of \").concat(t)),!0}};var tr={assertOptions:function(t,e,n){if(\"object\"!==T(t))throw new $e(\"options must be an object\",$e.ERR_BAD_OPTION_VALUE);for(var r=Object.keys(t),i=r.length;i-- >0;){var o=r[i],a=e[o];if(a){var s=t[o],u=void 0===s||a(s,o,t);if(!0!==u)throw new $e(\"option \"+o+\" must be \"+u,$e.ERR_BAD_OPTION_VALUE)}else if(!0!==n)throw new $e(\"Unknown option \"+o,$e.ERR_BAD_OPTION)}},validators:Yn},er=tr.validators,nr=function(){return v((function t(e){h(this,t),this.defaults=e,this.interceptors={request:new Xe,response:new Xe}}),[{key:\"request\",value:(t=u(x().mark((function t(e,n){var r,i;return x().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,this._request(e,n);case 3:return t.abrupt(\"return\",t.sent);case 6:if(t.prev=6,t.t0=t.catch(0),t.t0 instanceof Error){r={},Error.captureStackTrace?Error.captureStackTrace(r):r=new Error,i=r.stack?r.stack.replace(/^.+\\n/,\"\"):\"\";try{t.t0.stack?i&&!String(t.t0.stack).endsWith(i.replace(/^.+\\n.+\\n/,\"\"))&&(t.t0.stack+=\"\\n\"+i):t.t0.stack=i}catch(t){}}throw t.t0;case 10:case\"end\":return t.stop()}}),t,this,[[0,6]])}))),function(e,n){return t.apply(this,arguments)})},{key:\"_request\",value:function(t,e){\"string\"==typeof t?(e=e||{}).url=t:e=t||{};var n=e=On(this.defaults,e),r=n.transitional,i=n.paramsSerializer,o=n.headers;void 0!==r&&tr.assertOptions(r,{silentJSONParsing:er.transitional(er.boolean),forcedJSONParsing:er.transitional(er.boolean),clarifyTimeoutError:er.transitional(er.boolean)},!1),null!=i&&(De.isFunction(i)?e.paramsSerializer={serialize:i}:tr.assertOptions(i,{encode:er.function,serialize:er.function},!0)),tr.assertOptions(e,{baseUrl:er.spelling(\"baseURL\"),withXsrfToken:er.spelling(\"withXSRFToken\")},!0),e.method=(e.method||this.defaults.method||\"get\").toLowerCase();var a=o&&De.merge(o.common,o[e.method]);o&&De.forEach([\"delete\",\"get\",\"head\",\"post\",\"put\",\"patch\",\"common\"],(function(t){delete o[t]})),e.headers=dn.concat(a,o);var s=[],u=!0;this.interceptors.request.forEach((function(t){\"function\"==typeof t.runWhen&&!1===t.runWhen(e)||(u=u&&t.synchronous,s.unshift(t.fulfilled,t.rejected))}));var c,l=[];this.interceptors.response.forEach((function(t){l.push(t.fulfilled,t.rejected)}));var h,f=0;if(!u){var d=[Xn.bind(this),void 0];for(d.unshift.apply(d,s),d.push.apply(d,l),h=d.length,c=Promise.resolve(e);f0;)r._listeners[e](t);r._listeners=null}})),this.promise.then=function(t){var e,n=new Promise((function(t){r.subscribe(t),e=t})).then(t);return n.cancel=function(){r.unsubscribe(e)},n},e((function(t,e,i){r.reason||(r.reason=new gn(t,e,i),n(r.reason))}))}return v(t,[{key:\"throwIfRequested\",value:function(){if(this.reason)throw this.reason}},{key:\"subscribe\",value:function(t){this.reason?t(this.reason):this._listeners?this._listeners.push(t):this._listeners=[t]}},{key:\"unsubscribe\",value:function(t){if(this._listeners){var e=this._listeners.indexOf(t);-1!==e&&this._listeners.splice(e,1)}}},{key:\"toAbortSignal\",value:function(){var t=this,e=new AbortController,n=function(t){e.abort(t)};return this.subscribe(n),e.signal.unsubscribe=function(){return t.unsubscribe(n)},e.signal}}],[{key:\"source\",value:function(){var e;return{token:new t((function(t){e=t})),cancel:e}}}])}();var ir={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(ir).forEach((function(t){var e=R(t,2),n=e[0],r=e[1];ir[r]=n}));var or=function t(e){var n=new nr(e),r=Jt(nr.prototype.request,n);return De.extend(r,nr.prototype,n,{allOwnKeys:!0}),De.extend(r,n,null,{allOwnKeys:!0}),r.create=function(n){return t(On(e,n))},r}(sn);or.Axios=nr,or.CanceledError=gn,or.CancelToken=rr,or.isCancel=pn,or.VERSION=Qn,or.toFormData=He,or.AxiosError=$e,or.Cancel=or.CanceledError,or.all=function(t){return Promise.all(t)},or.spread=function(t){return function(e){return t.apply(null,e)}},or.isAxiosError=function(t){return De.isObject(t)&&!0===t.isAxiosError},or.mergeConfig=On,or.AxiosHeaders=dn,or.formToJSON=function(t){return an(De.isHTMLForm(t)?new FormData(t):t)},or.getAdapter=Gn,or.HttpStatusCode=ir,or.default=or,or.Axios,or.AxiosError,or.CanceledError,or.isCancel,or.CancelToken,or.VERSION,or.all,or.Cancel,or.isAxiosError,or.spread,or.toFormData,or.AxiosHeaders,or.HttpStatusCode,or.formToJSON,or.getAdapter,or.mergeConfig;var ar=function(){function t(e){var n;return h(this,t),(n=l(this,t,[e])).axiosInstance=or.create({baseURL:\"\".concat(n.host,\"/\").concat(n.namespace),headers:{Authorization:\"Bearer \".concat(e.publicKey),\"Content-Type\":\"application/json\",\"User-Agent\":\"@fleetbase/sdk;node\"}}),n.axiosInstance.interceptors.response.use((function(t){return t.data}),(function(t){if(t.response){var e=t.response.data;if(V(e.errors)&&e.errors.length)throw new Error(e.errors[0]);if(e.error)throw new Error(e.error)}throw t})),n}return b(t,Mt),v(t,[{key:\"setHeaders\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this.axiosInstance.defaults.headers.common=A(A({},this.axiosInstance.defaults.headers.common),t),this}},{key:\"request\",value:function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.axiosInstance.request(A({method:t,url:e},n))}},{key:\"get\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.request(\"GET\",t,A({params:e},n))}},{key:\"post\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.request(\"POST\",t,A({data:e},n))}},{key:\"put\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.request(\"PUT\",t,A({data:e},n))}},{key:\"delete\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.request(\"DELETE\",t,e)}},{key:\"patch\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.request(\"PATCH\",t,A({data:e},n))}}])}();q(\"adapter\",\"NodeAdapter\",ar);var sr=function(){function t(){return h(this,t),l(this,t,arguments)}return b(t,Mt),v(t)}();q(\"adapter\",\"EmberJsAdapter\",sr);var ur=function(){function t(e){var n,r,i,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(h(this,t),this.version=null!==(n=o.version)&&void 0!==n?n:\"v1\",this.options={version:this.version,host:null!==(r=o.host)&&void 0!==r?r:\"https://api.fleetbase.io\",namespace:null!==(i=o.namespace)&&void 0!==i?i:this.version,debug:a,publicKey:e},\"string\"!=typeof e||0===e.length)throw new Error(\"⚠️ Invalid public key given to Fleetbase SDK\");if(!lt()&&e.toLowerCase().startsWith(\"$\"))throw new Error(\"Secret key provided. You must use a public key with Fleetbase Javascript SDK!\");this.adapter=o.adapter||ht(this.options),this.orders=new Et(\"order\",this.adapter).extendActions(At),this.entities=new Et(\"entity\",this.adapter),this.places=new Et(\"place\",this.adapter),this.drivers=new Et(\"driver\",this.adapter).extendActions(Nt),this.vehicles=new Et(\"vehicle\",this.adapter),this.vendors=new Et(\"vendor\",this.adapter),this.contacts=new Et(\"contact\",this.adapter),this.serviceAreas=new Et(\"service-area\",this.adapter),this.zones=new Et(\"zone\",this.adapter),this.fleets=new Et(\"fleet\",this.adapter),this.organizations=new Et(\"organization\",this.adapter).extendActions(Pt)}return v(t,[{key:\"setAdapter\",value:function(t){this.adapter=t}},{key:\"getAdapter\",value:function(){return this.adapter}}],[{key:\"newInstance\",value:function(){return f(t,Array.prototype.slice.call(arguments))}}])}();export{Mt as Adapter,Ht as BrowserAdapter,at as Collection,$t as Contact,Ft as Driver,sr as EmberJsAdapter,Rt as Entity,It as Fleet,ft as GoogleAddress,ar as NodeAdapter,xt as Order,Lt as Organization,Ot as Payload,St as Place,dt as Point,J as Resolver,kt as Resource,zt as ServiceArea,qt as ServiceQuote,Bt as ServiceRate,Et as Store,mt as StoreActions,Tt as TrackingStatus,_t as Vehicle,Dt as Vendor,jt as Waypoint,Ut as Zone,$ as camelize,z as classify,ot as createCollection,H as createResource,M as createStore,bt as createStoreActions,U as dasherize,ur as default,ht as detectAdapter,yt as extendStoreActions,ut as isLatitude,ct as isLongitude,lt as isNodeEnvironment,wt as isResource,W as lookup,F as pluralize,q as register,K as resolve,G as resolveResource,D as singularize};\n//# sourceMappingURL=fleetbase.js.map\n",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["Store","extendStoreActions","lookup","classify","isArray","Resource","register","StoreActions","isValid","parse","format","Collection","Place","Order","ServiceQuote","Adapter","FleetbaseOrder","isResource","detectAdapter"],"mappings":"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,CAAC,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC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CAAC,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,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C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAA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","x_google_ignoreList":[0]} \ No newline at end of file +{"version":3,"file":"storefront.cjs","sources":["../../src/store.ts","../../src/utils/is-phone.ts","../../src/utils/format-currency.ts","../../src/utils/is-key-valid.ts","../../src/utils/is-empty.ts","../../src/utils/array.ts","../../src/resource.ts","../../src/resources/review.ts","../../src/resources/store-hour.ts","../../src/resources/store-location.ts","../../src/resources/payment-gateway.ts","../../src/resources/store.ts","../../src/resources/product.ts","../../src/resources/category.ts","../../src/resources/customer.ts","../../src/resources/cart.ts","../../src/resources/network.ts","../../src/resources/delivery-service-quote.ts","../../src/resources/order.ts","../../src/resources/checkout.ts","../../src/resources/food-truck.ts","../../src/resources/order-actions.ts","../../src/storefront.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["Store","isArray","Resource","register","StoreActions","isValid","parse","format","Collection","lookup","Place","Order","ServiceQuote","Adapter","FleetbaseOrder","isResource","detectAdapter"],"mappings":"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"} \ No newline at end of file diff --git a/dist/esm/storefront.js b/dist/esm/storefront.js index e072401..17b0e9e 100644 --- a/dist/esm/storefront.js +++ b/dist/esm/storefront.js @@ -1,17 +1,22 @@ +import { Store as Store$1, register, Resource, StoreActions, Collection, lookup, Place, Order as Order$1, ServiceQuote, Adapter, isResource, detectAdapter } from '@fleetbase/sdk'; +export { lookup } from '@fleetbase/sdk'; import 'countries-list'; import { isValid, parse, format } from 'date-fns'; -function t(t,e){this.v=t,this.k=e;}function e(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=Array(e);n=t.length?{done:true}:{done:false,value:t[r++]}},e:function(t){throw t},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=true,s=false;return {s:function(){n=n.call(t);},n:function(){var t=n.next();return a=t.done,t},e:function(t){s=true,o=t;},f:function(){try{a||null==n.return||n.return();}finally{if(s)throw o}}}}function g(t,e,n){return (e=j(e))in t?Object.defineProperty(t,e,{value:n,enumerable:true,configurable:true,writable:true}):t[e]=n,t}function y(t){return y=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},y(t)}function b(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:true,configurable:true}}),Object.defineProperty(t,"prototype",{writable:false}),e&&O(t,e);}function m(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})));}catch(t){}return (m=function(){return !!t})()}function w(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}function k(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function E(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r);}return n}function A(t){for(var e=1;e=0;--o){var a=this.tryEntries[o],s=a.completion;if("root"===a.tryLoc)return i("end");if(a.tryLoc<=this.prev){var u=r.call(a,"catchLoc"),c=r.call(a,"finallyLoc");if(u&&c){if(this.prev=0;--n){var i=this.tryEntries[n];if(i.tryLoc<=this.prev&&r.call(i,"finallyLoc")&&this.prev=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),_(n),g}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var r=n.completion;if("throw"===r.type){var i=r.arg;_(n);}return i}}throw Error("illegal catch attempt")},delegateYield:function(e,n,r){return this.delegate={iterator:L(e),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=t),g}},e}function O(t,e){return O=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},O(t,e)}function R(t,e){return n(t)||function(t,e){var n=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=n){var r,i,o,a,s=[],u=true,c=false;try{if(o=(n=n.call(t)).next,0===e){if(Object(n)!==n)return;u=!1;}else for(;!(u=(r=o.call(n)).done)&&(s.push(r.value),s.length!==e);u=!0);}catch(t){c=true,i=t;}finally{try{if(!u&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(c)throw i}}return s}}(t,e)||_(t,e)||k()}function S(t){return function(t){if(Array.isArray(t))return e(t)}(t)||w(t)||_(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function j(t){var e=function(t,e){if("object"!=typeof t||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,e);if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return ("string"===e?String:Number)(t)}(t,"string");return "symbol"==typeof e?e:e+""}function T(t){return T="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},T(t)}function _(t,n){if(t){if("string"==typeof t)return e(t,n);var r={}.toString.call(t).slice(8,-1);return "Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?e(t,n):void 0}}function P(t){return function(){return new L(t.apply(this,arguments))}}function L(e){var n,r;function i(n,r){try{var a=e[n](r),s=a.value,u=s instanceof t;Promise.resolve(u?s.v:s).then((function(t){if(u){var r="return"===n?"return":"next";if(!s.k||t.done)return i(r,t);t=e[r](t).value;}o(a.done?"return":"normal",t);}),(function(t){i("throw",t);}));}catch(t){o("throw",t);}}function o(t,e){switch(t){case "return":n.resolve({value:e,done:true});break;case "throw":n.reject(e);break;default:n.resolve({value:e,done:false});}(n=n.next)?i(n.key,n.arg):r=null;}this._invoke=function(t,e){return new Promise((function(o,a){var s={key:t,arg:e,resolve:o,reject:a,next:null};r?r=r.next=s:(n=r=s,i(t,e));}))},"function"!=typeof e.return&&(this.return=void 0);}function C(t){var e="function"==typeof Map?new Map:void 0;return C=function(t){if(null===t||!function(t){try{return -1!==Function.toString.call(t).indexOf("[native code]")}catch(e){return "function"==typeof t}}(t))return t;if("function"!=typeof t)throw new TypeError("Super expression must either be null or a function");if(void 0!==e){if(e.has(t))return e.get(t);e.set(t,n);}function n(){return f(t,arguments,y(this).constructor)}return n.prototype=Object.create(t.prototype,{constructor:{value:n,enumerable:false,writable:true,configurable:true}}),O(n,t)},C(t)}L.prototype["function"==typeof Symbol&&Symbol.asyncIterator||"@@asyncIterator"]=function(){return this},L.prototype.next=function(t){return this._invoke("next",t)},L.prototype.throw=function(t){return this._invoke("throw",t)},L.prototype.return=function(t){return this._invoke("return",t)};var N=function(){function t(e){var n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];h(this,t),g(this,"uncountableWords",["equipment","information","rice","money","species","series","fish","sheep","moose","deer","news"]),g(this,"pluralRules",[[new RegExp("(m)an$","gi"),"$1en"],[new RegExp("(pe)rson$","gi"),"$1ople"],[new RegExp("(child)$","gi"),"$1ren"],[new RegExp("^(ox)$","gi"),"$1en"],[new RegExp("(ax|test)is$","gi"),"$1es"],[new RegExp("(octop|vir)us$","gi"),"$1i"],[new RegExp("(alias|status)$","gi"),"$1es"],[new RegExp("(bu)s$","gi"),"$1ses"],[new RegExp("(buffal|tomat|potat)o$","gi"),"$1oes"],[new RegExp("([ti])um$","gi"),"$1a"],[new RegExp("sis$","gi"),"ses"],[new RegExp("(?:([^f])fe|([lr])f)$","gi"),"$1$2ves"],[new RegExp("(hive)$","gi"),"$1s"],[new RegExp("([^aeiouy]|qu)y$","gi"),"$1ies"],[new RegExp("(x|ch|ss|sh)$","gi"),"$1es"],[new RegExp("(matr|vert|ind)ix|ex$","gi"),"$1ices"],[new RegExp("([m|l])ouse$","gi"),"$1ice"],[new RegExp("(quiz)$","gi"),"$1zes"],[new RegExp("s$","gi"),"s"],[new RegExp("$","gi"),"s"]]),g(this,"singularRules",[[new RegExp("(m)en$","gi"),"$1an"],[new RegExp("(pe)ople$","gi"),"$1rson"],[new RegExp("(child)ren$","gi"),"$1"],[new RegExp("([ti])a$","gi"),"$1um"],[new RegExp("((a)naly|(b)a|(d)iagno|(p)arenthe|(p)rogno|(s)ynop|(t)he)ses$","gi"),"$1$2sis"],[new RegExp("(hive)s$","gi"),"$1"],[new RegExp("(tive)s$","gi"),"$1"],[new RegExp("(curve)s$","gi"),"$1"],[new RegExp("([lr])ves$","gi"),"$1f"],[new RegExp("([^fo])ves$","gi"),"$1fe"],[new RegExp("([^aeiouy]|qu)ies$","gi"),"$1y"],[new RegExp("(s)eries$","gi"),"$1eries"],[new RegExp("(m)ovies$","gi"),"$1ovie"],[new RegExp("(x|ch|ss|sh)es$","gi"),"$1"],[new RegExp("([m|l])ice$","gi"),"$1ouse"],[new RegExp("(bus)es$","gi"),"$1"],[new RegExp("(o)es$","gi"),"$1"],[new RegExp("(shoe)s$","gi"),"$1"],[new RegExp("(cris|ax|test)es$","gi"),"$1is"],[new RegExp("(octop|vir)i$","gi"),"$1us"],[new RegExp("(alias|status)es$","gi"),"$1"],[new RegExp("^(ox)en","gi"),"$1"],[new RegExp("(vert|ind)ices$","gi"),"$1ex"],[new RegExp("(matr)ices$","gi"),"$1ix"],[new RegExp("(quiz)zes$","gi"),"$1"],[new RegExp("s$","gi"),""]]),g(this,"nonTitlecasedWords",["and","or","nor","a","an","the","so","but","to","of","at","by","from","into","on","onto","off","out","in","over","with","for"]),g(this,"idSuffix",new RegExp("(_ids|_id)$","g")),g(this,"underbar",new RegExp("_","g")),g(this,"spaceOrUnderbar",new RegExp("[ _]","g")),g(this,"uppercase",new RegExp("([A-Z])","g")),g(this,"underbarPrefix",new RegExp("^_")),this.str=e,this.chain=n;}return v(t,[{key:"get",value:function(){return this.str}},{key:"applyRules",value:function(t,e,n,r){if(r)t=r;else if(!(n.indexOf(t.toLowerCase())>-1))for(var i=0;i1&&void 0!==arguments[1]?arguments[1]:null;return t=t||this.str,this.applyRules(t,this.pluralRules,this.uncountableWords,e)}},{key:"singularize",value:function(t,e){return t=t||this.str,this.applyRules(t,this.singularRules,this.uncountableWords,e)}},{key:"camelize",value:function(t,e){for(var n=(t=t||this.str).split("/"),r=0;r1&&void 0!==arguments[1]&&arguments[1];return t=t||this.str,t=this.underscore(this.demodulize(t))+(e?"":"_")+"id",this.str=t,true===this.chain?this:t}},{key:"ordinalize",value:function(t){for(var e=(t=t||this.str).split(" "),n=0;n2?i-2:0),a=2;a2?n-2:0),i=2;i2?n-2:0),i=2;i1?e-1:0),r=1;r3&&void 0!==arguments[3]?arguments[3]:[];if(V(t))if(r.length<=X)t.splice.apply(t,[e,n].concat(S(r)));else {t.splice(e,n);for(var i=0;i2&&void 0!==arguments[2]?arguments[2]:0,r=t.length,i=n;i2&&void 0!==arguments[2]?arguments[2]:0,r=arguments.length>3?arguments[3]:void 0,i=t.length;return n<0&&(n+=i),nt(t,r&&e!=e?function(t){return t!=t}:function(t){return t===e},n)}function it(t,e,n){return Q(t,e,0,[n]),n}function ot(){return f(at,Array.prototype.slice.call(arguments))}var at=function(){function t(){return h(this,t),r(V(arguments[0])?l(this,t,S(arguments[0])):l(this,t,arguments))}return b(t,C(Array)),v(t,[{key:"notEmpty",get:function(){return this.length>0}},{key:"empty",get:function(){return 0===this.length}},{key:"first",get:function(){return tt(this,0)}},{key:"last",get:function(){return tt(this,this.length-1)}},{key:"replace",value:function(t,e){return Q(this,t,e,arguments.length>2&&void 0!==arguments[2]?arguments[2]:[]),this}},{key:"objectsAt",value:function(t){var e=this;return t.map((function(t){return tt(e,t)}))}},{key:"objectAt",value:function(t){return tt(this,t)}},{key:"indexOf",value:function(t,e){return rt(this,t,e,false)}},{key:"lastIndexOf",value:function(t,e){var n=this.length;(void 0===e||e>=n)&&(e=n-1),e<0&&(e+=n);for(var r=e;r>=0;r--)if(tt(this,r)===t)return r;return -1}},{key:"includes",value:function(t,e){return -1!==rt(this,t,e,true)}},{key:"findBy",value:function(){return t=this,e=et.apply(void 0,arguments),-1===(r=nt(t,e.bind(n),0))?void 0:tt(t,r);var t,e,n,r;}},{key:"findIndexBy",value:function(){return nt(this,et.apply(void 0,arguments))}},{key:"isEvery",value:function(){return t=this,e=et.apply(void 0,arguments),r=e.bind(n),-1===nt(t,(function(t,e,n){return !r(t,e,n)}),0);var t,e,n,r;}},{key:"isAny",value:function(){return t=this,e=et.apply(void 0,arguments),-1!==nt(t,e.bind(n),0);var t,e,n;}},{key:"invoke",value:function(t){for(var e=arguments.length,n=new Array(e>1?e-1:0),r=1;r1&&void 0!==arguments[1]?arguments[1]:Y,n=[],r=new Set,i="function"==typeof e?e:function(t){return get(t,e)};return t.forEach((function(t){var e=i(t);r.has(e)||(r.add(e),n.push(t));})),n}(this,t)}},{key:"without",value:function(t){if(!this.includes(t))return this;var e=t==t?function(e){return e!==t}:function(t){return t==t};return this.filter(e)}},{key:"clear",value:function(){var t=this.length;return 0===t||this.replace(0,t,[]),this}},{key:"insertAt",value:function(t,e){return it(this,t,e),this}},{key:"replaceAt",value:function(t,e){return this.replace(t,1,[e])}},{key:"removeAt",value:function(t,e){return function(t,e){return Q(t,e,arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,[]),t}(this,t,e)}},{key:"pushObject",value:function(t){return this.insertAt(this.length,t)}},{key:"pushObjects",value:function(t){return this.replace(this.length,0,t),this}},{key:"popObject",value:function(){var t=this.length;if(0===t)return null;var e=tt(this,t-1);return this.removeAt(t-1,1),e}},{key:"shiftObject",value:function(){if(0===this.length)return null;var t=tt(this,0);return this.removeAt(0),t}},{key:"unshiftObject",value:function(t){return it(this,0,t)}},{key:"unshiftObjects",value:function(t){return this.replace(0,0,t),this}},{key:"reverseObjects",value:function(){var t=this.length;if(0===t)return this;var e=this.toArray().reverse();return this.replace(0,t,e),this}},{key:"setObjects",value:function(t){if(0===t.length)return this.clear();var e=this.length;return this.replace(0,e,t),this}},{key:"removeObject",value:function(t){for(var e=this.length||0;--e>=0;){tt(this,e)===t&&this.removeAt(e);}return this}},{key:"removeObjects",value:function(t){for(var e=t.length-1;e>=0;e--)this.removeObject(t[e]);return this}},{key:"addObject",value:function(t){return this.includes(t)||this.pushObject(t),this}},{key:"addObjects",value:function(t){var e=this;return t.forEach((function(t){return e.addObject(t)})),this}}])}();function st(t){var e=null==t;if(e)return e;if("number"==typeof t.size)return !t.size;var n=T(t);if("object"===n){var r=t.size;if("number"==typeof r)return !r}if("number"==typeof t.length&&"function"!==n)return !t.length;if("object"===n){var i=t.length;if("number"==typeof i)return !i}return false}function lt(){var t,e,n;return !("undefined"==typeof process||"object"!==T(null===(t=process)||void 0===t?void 0:t.env)&&-1===(null===(e=process.release)||void 0===e||null===(e=e.name)||void 0===e?void 0:e.search(/node|io.js/))||"undefined"!=typeof window&&"ReactNative"!==(null===(n=window)||void 0===n||null===(n=n.navigator)||void 0===n?void 0:n.product))}function ht(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return lt()?W("adapter","NodeAdapter",t):W("adapter","BrowserAdapter",t)}(function(){return v((function t(e){h(this,t),this.place=e,this.geometry=null==e?void 0:e.geometry,this.components=this.parseComponents(),this.attributes=this.parseProperties();}),[{key:"parse",value:function(){this.parseComponents(),this.parseProperties();}},{key:"parseComponents",value:function(){var t;return ((null===(t=this.place)||void 0===t?void 0:t.address_components)||[]).reduce((function(t,e){return e.types.forEach((function(n){t[n]=e;})),t}),{})}},{key:"parseProperties",value:function(){var t,e={streetNumber:this.get("street_number"),streetName:this.get("route"),coordinates:null!==(t=this.geometry)&&void 0!==t&&t.location?Object.values(this.geometry.location):[0,0],city:this.or(["locality","sublocality","sublocality_level_1","neighborhood","administrative_area_level_3","administrative_area_level_2"]),county:this.get("administrative_area_level_2"),stateShort:this.get("administrative_area_level_1",true),stateLong:this.get("administrative_area_level_1"),countryShort:this.get("country",true),country:this.get("country",true),countryLong:this.get("country"),postalCode:this.get("postal_code")};return e.address=[e.streetNumber,e.streetName].filter(Boolean).join(" "),e}},{key:"all",value:function(){return this.attributes}},{key:"or",value:function(){var t,e=p(arguments.length>0&&void 0!==arguments[0]?arguments[0]:[]);try{for(e.s();!(t=e.n()).done;){var n=t.value;if(V(n)){var r=n[0],i=n[1];if(this.has(r))return this.get(r,i)}else if(this.has(n))return this.get(n)}}catch(t){e.e(t);}finally{e.f();}return null}},{key:"has",value:function(t){return t in this.components}},{key:"get",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return t in this.components?e?this.components[t].short_name:this.components[t].long_name:null}},{key:"setAttributes",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this.attributes=A(A({},this.attributes),t),this}},{key:"setAttribute",value:function(t,e){return this.attributes[t]=e,this}},{key:"getAttribute",value:function(t){return this.attributes[t]||null}}])})();var dt=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;h(this,t),this.type="Point",this.coordinates=[n,e];}return v(t,[{key:"latitude",get:function(){return this.coordinates[1]}},{key:"longitude",get:function(){return this.coordinates[0]}},{key:"lat",value:function(){return this.latitude}},{key:"lng",value:function(){return this.longitude}},{key:"serialize",value:function(){return {type:"Point",coorindates:[this.lat(),this.lng()]}}},{key:"toJson",value:function(){return this.serialize()}},{key:"toString",value:function(){return "(".concat(this.latitude,", ").concat(this.longitude,")")}}],[{key:"fromGeoJson",value:function(e){var n=R(e.coordinates,2),r=n[0];return new t(n[1],r)}}])}();function vt(t,e){var n=t();return Array.isArray(n)||"object"===T(n)?pt(n,e):null}function pt(t,e){var n,r=t,i=T(t),o="object"===i,a="function"===i,s=Array.isArray(t),u="string"===T(e)&&e.includes(".")?e.split("."):[e];if(s||o){for(var c=0;c1&&void 0!==arguments[1]?arguments[1]:[];if(t.actions=V(e)?e:[e],!V(e))return e instanceof mt&&e.extend(t),t;var n,r=p(e);try{for(r.s();!(n=r.n()).done;){var i=n.value;t.extendActions(i);}}catch(t){r.e(t);}finally{r.f();}}var mt=function(){return v((function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;h(this,t),this.actions=e,this.bind=n;}),[{key:"extend",value:function(){var t=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:null)||this.bind;if(!t)return this;if(null!=this&&this.actions&&"object"===T(this.actions))for(var e in this.actions){var n=this.actions[e];"function"==typeof n?gt(t,e,n.bind(t)):gt(t,e,n);}return this}}])}();function wt(t){return t instanceof kt}var kt=function(){return v((function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0,r=arguments.length>2?arguments[2]:void 0,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};h(this,t),this.attributes=e,this.dirtyAttributes={},this.changes={},this.isLoading=false,this.isSaving=false,this.isDestroying=false,this.isReloading=false,this.resource=r,this.options=i,this.version=i.version||"v1",this.setAdapter(n);}),[{key:"setAdapter",value:function(t){var e;return this.adapter=t,this.store=M(this.resource,t,{onAfterFetch:this.syncAttributes.bind(this),actions:null===(e=this.options)||void 0===e?void 0:e.actions}),this}},{key:"id",get:function(){return this.getAttribute("id")}},{key:"create",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=this.mergeAttributes(e);return this.setFlags(["isLoading","isSaving"]),this.store.create(n).then((function(e){return t.setFlags(["isLoading","isSaving"],false),e}))}},{key:"update",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this.setFlags(["isLoading","isSaving"]),this.store.update(this.attributes.id,e).then((function(e){return t.setFlags(["isLoading","isSaving"],false),e}))}},{key:"destroy",value:function(){var t=this;return this.setFlags(["isLoading","isDestroying"]),this.store.destroy(this.attributes.id).then((function(e){return t.setFlags(["isLoading","isDestroying"],false),e}))}},{key:"reload",value:function(){var t=this;return this.setFlags(["isLoading","isReloading"]),this.store.findRecord(this.attributes.id).then((function(e){return t.reset(),e}))}},{key:"setFlags",value:function(){for(var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=["isLoading","isSaving","isReloading","isDestroying"],r=0;r0&&void 0!==arguments[0]?arguments[0]:{},e=this.getAttributes();return st(this.id)?this.create(e):true===t.onlyDirty?this.savedirty():this.update(e)}},{key:"saveDirty",value:function(){for(var t=Object.keys(this.dirtyAttributes),e={},n=0;n0}},{key:"mutate",value:function(t,e){this.attributes[t]=e;}},{key:"setAttribute",value:function(t){var e,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;if(null===n&&"object"===T(t))return this.setAttributes(t);var r=null!==(e=null==this?void 0:this.attributes[t])&&void 0!==e?e:null;return gt(this.attributes,t,n),gt(this.dirtyAttributes,t,r),V(null==this?void 0:this.changes[t])||(this.changes[t]=[]),this.changes[t].push({property:t,previousValue:r,value:n,changedAt:new Date}),this}},{key:"setAttributes",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};for(var e in t)this.setAttribute(e,t[e]);return this}},{key:"getAttribute",value:function(t){var e,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=pt(null!==(e=null==this?void 0:this.attributes)&&void 0!==e?e:{},t);return void 0===r?n:r}},{key:"hasAttribute",value:function(t){if(V(t)){var e,n=t,r=Object.keys(null!==(e=this.attributes)&&void 0!==e?e:{});return n.every((function(t){return r.includes(t)}))}return !(null==this||!this.attributes)&&t in this.attributes}},{key:"hasAttributes",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return this.hasAttribute(t)}},{key:"isAttributeFilled",value:function(t){var e=this;return V(t)?this.hasAttribute(t)&&t.every((function(t){return !st(e.getAttribute(t))})):this.hasAttribute(t)&&!st(this.getAttribute(t))}},{key:"getAttributes",value:function(t){var e={};if(null==t)return this.getAttributes(Object.keys(this.attributes));if("string"==typeof t)return this.getAttribute(Array.prototype.slice.call(arguments));if(!V(t))throw new Error("No attribute properties provided!");var n,r=p(t);try{for(r.s();!(n=r.n()).done;){var i,o,a=n.value;if("string"==typeof a){var s=this.getAttribute(a);"object"!==T(null===(i=s)||void 0===i?void 0:i.attributes)||V(null===(o=s)||void 0===o?void 0:o.attributes)||(s=s.attributes),e[a]=s;}}}catch(t){r.e(t);}finally{r.f();}return e}},{key:"serialize",value:function(){return this.getAttributes()}},{key:"mergeAttributes",value:function(){var t,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=null!==(t=null==this?void 0:this.attributes)&&void 0!==t?t:{};return this.attributes=A(A({},n),e),this.attributes}},{key:"syncAttributes",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.attributes=t;}}])}();q("resource","Resource",kt);var Et=function(){return v((function t(e,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};h(this,t),this.resource=e,this.adapter=n||ht(),this.namespace=F(e),this.storage=ot(),this.options=r,this.extendActions(r.actions);}),[{key:"extendActions",value:function(){return yt(this,arguments.length>0&&void 0!==arguments[0]?arguments[0]:[])}},{key:"deposit",value:function(t){return t}},{key:"serialize",value:function(t){return W("resource",z(this.resource),t,this.adapter)}},{key:"afterFetch",value:function(t){return function(t,e){if("function"==typeof t.options.onAfterFetch&&t.options.onAfterFetch(e),V(e)){var n,r=[],i=p(e);try{for(i.s();!(n=i.n()).done;){var o=n.value;r.push(t.afterFetch(o));}}catch(t){i.e(t);}finally{i.f();}return ot.apply(void 0,r)}var a=t.serialize(e);return t.deposit(a)}(this,t)}},{key:"create",value:(a=u(x().mark((function t(){var e,n,r,i=arguments;return x().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return e=i.length>0&&void 0!==i[0]?i[0]:{},n=i.length>1&&void 0!==i[1]?i[1]:{},t.next=4,this.adapter.post("".concat(this.namespace),e,n);case 4:return r=t.sent,t.abrupt("return",this.afterFetch(r));case 6:case "end":return t.stop()}}),t,this)}))),function(){return a.apply(this,arguments)})},{key:"update",value:(o=u(x().mark((function t(e){var n,r,i,o=arguments;return x().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=o.length>1&&void 0!==o[1]?o[1]:{},r=o.length>2&&void 0!==o[2]?o[2]:{},t.next=4,this.adapter.put("".concat(this.namespace,"/").concat(e),n,r);case 4:return i=t.sent,t.abrupt("return",this.afterFetch(i));case 6:case "end":return t.stop()}}),t,this)}))),function(t){return o.apply(this,arguments)})},{key:"findRecord",value:(i=u(x().mark((function t(e){var n,r,i=arguments;return x().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=i.length>1&&void 0!==i[1]?i[1]:{},t.next=3,this.adapter.get("".concat(this.namespace,"/").concat(e),{},n);case 3:return r=t.sent,t.abrupt("return",this.afterFetch(r));case 5:case "end":return t.stop()}}),t,this)}))),function(t){return i.apply(this,arguments)})},{key:"findAll",value:(r=u(x().mark((function t(){var e,n,r=arguments;return x().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return e=r.length>0&&void 0!==r[0]?r[0]:{},t.next=3,this.adapter.get("".concat(this.namespace),{},e);case 3:return n=t.sent,t.abrupt("return",this.afterFetch(n));case 5:case "end":return t.stop()}}),t,this)}))),function(){return r.apply(this,arguments)})},{key:"query",value:(n=u(x().mark((function t(){var e,n,r,i=arguments;return x().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return e=i.length>0&&void 0!==i[0]?i[0]:{},n=i.length>1&&void 0!==i[1]?i[1]:{},t.next=4,this.adapter.get("".concat(this.namespace),e,n);case 4:return r=t.sent,t.abrupt("return",this.afterFetch(r));case 6:case "end":return t.stop()}}),t,this)}))),function(){return n.apply(this,arguments)})},{key:"queryRecord",value:(e=u(x().mark((function t(){var e,n,r,i=arguments;return x().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=i.length>1&&void 0!==i[1]?i[1]:{},(e=i.length>0&&void 0!==i[0]?i[0]:{}).single=true,t.next=5,this.adapter.get("".concat(this.namespace),e,n);case 5:return r=t.sent,t.abrupt("return",this.afterFetch(r));case 7:case "end":return t.stop()}}),t,this)}))),function(){return e.apply(this,arguments)})},{key:"destroy",value:(t=u(x().mark((function t(e){var n,r,i,o=arguments;return x().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=o.length>1&&void 0!==o[1]?o[1]:{},r=wt(e)?e.getAttribute("id"):e,t.next=4,this.adapter.delete("".concat(this.namespace,"/").concat(r),{},n);case 4:return i=t.sent,t.abrupt("return",this.afterFetch(i));case 6:case "end":return t.stop()}}),t,this)}))),function(e){return t.apply(this,arguments)})}]);var t,e,n,r,i,o,a;}();q("store","Store",Et);var At=new mt({getDistanceAndTime:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.adapter.get("".concat(this.namespace,"/").concat(t,"/distance-and-time"),e,n)},getNextActivity:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.adapter.get("".concat(this.namespace,"/").concat(t,"/next-activity"),e,n)},dispatch:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.adapter.post("".concat(this.namespace,"/").concat(t,"/dispatch"),e,n).then(this.afterFetch.bind(this))},start:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.adapter.post("".concat(this.namespace,"/").concat(t,"/start"),e,n).then(this.afterFetch.bind(this))},updateActivity:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.adapter.post("".concat(this.namespace,"/").concat(t,"/update-activity"),e,n).then(this.afterFetch.bind(this))},setDestination:function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return wt(e)&&(e=e.id),this.adapter.post("".concat(this.namespace,"/").concat(t,"/set-destination/").concat(e),n,r).then(this.afterFetch.bind(this))},captureQrCode:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return wt(e)&&(e=e.id),this.adapter.post("".concat(this.namespace,"/").concat(t,"/capture-qr").concat(e?"/"+e:""),n,r)},captureSignature:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return wt(e)&&(e=e.id),this.adapter.post("".concat(this.namespace,"/").concat(t,"/capture-signature").concat(e?"/"+e:""),n,r)},complete:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.adapter.post("".concat(this.namespace,"/").concat(t,"/complete"),e,n).then(this.afterFetch.bind(this))},cancel:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.adapter.delete("".concat(this.namespace,"/").concat(t,"/cancel"),e,n).then(this.afterFetch.bind(this))}}),xt=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return h(this,t),l(this,t,[e,n,"order",A({actions:At},r)])}return b(t,kt),v(t,[{key:"getDistanceAndTime",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.store.getDistanceAndTime(this.id,t,e)}},{key:"dispatch",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.store.dispatch(this.id,t,e)}},{key:"start",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.store.start(this.id,t,e)}},{key:"setDestination",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.store.setDestination(this.id,t,e,n)}},{key:"captureQrCode",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.store.captureQrCode(this.id,t,e,n)}},{key:"captureSignature",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.store.captureSignature(this.id,t,e,n)}},{key:"getNextActivity",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.store.getNextActivity(this.id,t,e)}},{key:"updateActivity",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.store.updateActivity(this.id,t,e)}},{key:"cancel",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.store.cancel(this.id,t,e)}},{key:"complete",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.store.complete(this.id,t,e)}},{key:"isDispatched",get:function(){return null!==this.getAttribute("dispatched_at")}},{key:"isNotDispatched",get:function(){return null==this.getAttribute("dispatched_at")}},{key:"isStarted",get:function(){return null!==this.getAttribute("started_at")}},{key:"isNotStarted",get:function(){return null==this.getAttribute("started_at")}},{key:"isCompleted",get:function(){return "completed"==this.getAttribute("status")}},{key:"isCanceled",get:function(){return "canceled"==this.getAttribute("status")}},{key:"isEnroute",get:function(){return "driver_enroute"==this.getAttribute("status")||"enroute"===this.getAttribute("status")}},{key:"isInProgress",get:function(){return this.isStarted&&!this.isCanceled&&!this.isCompleted}},{key:"scheduledAt",get:function(){return this.isAttributeFilled("scheduled_at")?new Date(this.getAttribute("scheduled_at")):null}},{key:"startedAt",get:function(){return this.isAttributeFilled("started_at")?new Date(this.getAttribute("started_at")):null}},{key:"dispatchedAt",get:function(){return this.isAttributeFilled("dispatched_at")?new Date(this.getAttribute("dispatched_at")):null}},{key:"status",get:function(){return this.getAttribute("status")}}])}();q("resource","Order",xt);var Ot=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return h(this,t),l(this,t,[e,n,"payload",r])}return b(t,kt),v(t,[{key:"attach",value:function(t){}},{key:"entities",get:function(){var t=this;return ot(this.entities.map((function(e){return G("Entity",e,t.adapter)})))}},{key:"dropoff",get:function(){return this.dropoff?G("Place",this.dropoff,this.adapter):null}},{key:"pickup",get:function(){return this.pickup?G("Place",this.pickup,this.adapter):null}},{key:"waypoints",get:function(){var t=this;return ot(this.waypoints.map((function(e){return G("Waypoint",e,t.adapter)})))}}])}();q("resource","Payload",Ot);var Rt=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return h(this,t),l(this,t,[e,n,"entity",r])}return b(t,kt),v(t)}();q("resource","Entity",Rt);var St=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return h(this,t),l(this,t,[e,n,"place",r])}return b(t,kt),v(t,[{key:"latitude",get:function(){var t;return null===(t=this.getAttribute("location",new dt))||void 0===t?void 0:t.coordinates[1]}},{key:"longitude",get:function(){var t;return null===(t=this.getAttribute("location",new dt))||void 0===t?void 0:t.coordinates[0]}},{key:"coordinates",get:function(){return [this.latitude,this.longitude]}},{key:"setOwner",value:function(t){return wt(t)&&this.setAttribute("owner",t.id),"string"==typeof t&&this.setAttribute("owner",t),this}}],[{key:"fromGoogleAddress",value:function(e,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=R(e.getAttribute("coordinates"),2),o=i[0],a=i[1];return new t({name:null,address:e.getAttribute("address"),location:new dt(o,a),street1:e.getAttribute("address"),street2:null,city:e.getAttribute("city"),province:e.getAttribute("stateLong"),postal_code:e.getAttribute("postalCode"),neighborhood:e.get("neighborhood"),district:e.getAttribute("county"),building:e.get("building"),country:e.getAttribute("countryShort"),phone:null,security_access_code:null},n,r)}}])}();q("resource","Place",St);var jt=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return h(this,t),l(this,t,[e,n,"waypoint",r])}return b(t,St),v(t)}();q("resource","Waypoint",jt);var Tt=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return h(this,t),l(this,t,[e,n,"tracking-status",r])}return b(t,kt),v(t)}();q("resource","TrackingStatus",Tt);var _t=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return h(this,t),l(this,t,[e,n,"vehicle",r])}return b(t,kt),v(t)}();q("resource","Vehicle",_t);var Pt=new mt({current:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.adapter.get("".concat(this.namespace,"/current"),t,e)}}),Lt=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return h(this,t),l(this,t,[e,n,"organization",A({actions:Pt},r)])}return b(t,kt),v(t)}();q("resource","Organization",Lt);var Ct=function(t,e){return V(t)?t.map((function(t){return new Lt(t,e)})):new Lt(t,e)},Nt=new mt({login:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(function(){return /^[+]?[\s./0-9]*[(]?[0-9]{1,4}[)]?[-\s./0-9]*$/g.test(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"")}(t))return this.adapter.post("drivers/login-with-sms",{phone:t});if(!e)throw new Error("Login requires password!");return this.adapter.post("drivers/login",A({identity:t,password:e},n)).then(this.afterFetch.bind(this))},verifyCode:function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.adapter.post("drivers/verify-code",A({identity:t,code:e},n)).then(this.afterFetch.bind(this))},track:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.adapter.post("drivers/".concat(t,"/track"),e,n).then(this.afterFetch.bind(this))},listOrganizations:function(t){var e=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.adapter.get("drivers/".concat(t,"/organizations"),n,r).then((function(t){return Ct(t,e.adapter)}))},switchOrganization:function(t){var e=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.adapter.post("drivers/".concat(t,"/switch-organization"),n,r).then((function(t){return Ct(t,e.adapter)}))},currentOrganization:function(t){var e=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.adapter.get("drivers/".concat(t,"/current-organization"),n,r).then((function(t){return Ct(t,e.adapter)}))},retrieve:function(t){return this.findRecord(t)},syncDevice:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.adapter.post("drivers/".concat(t,"/register-device"),e,n)}}),Ft=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return h(this,t),l(this,t,[e,n,"driver",A({actions:Nt},r)])}return b(t,kt),v(t,[{key:"token",get:function(){return this.getAttribute("token")}},{key:"isOnline",get:function(){return true===this.getAttribute("online")}},{key:"latitude",get:function(){var t;return null===(t=this.getAttribute("location",new dt))||void 0===t?void 0:t.coordinates[1]}},{key:"longitude",get:function(){var t;return null===(t=this.getAttribute("location",new dt))||void 0===t?void 0:t.coordinates[0]}},{key:"coordinates",get:function(){return [this.latitude,this.longitude]}},{key:"track",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.store.track(this.id,t,e)}},{key:"syncDevice",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.store.syncDevice(this.id,t,e)}},{key:"listOrganizations",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.store.listOrganizations(this.id,t,e)}},{key:"switchOrganization",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.store.switchOrganization(this.id,{next:t},e)}},{key:"currentOrganization",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.store.currentOrganization(this.id,t,e)}}])}();q("resource","Driver",Ft);var Dt=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return h(this,t),l(this,t,[e,n,"vendor",r])}return b(t,kt),v(t)}();q("resource","Vendor",Dt);var $t=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return h(this,t),l(this,t,[e,n,"contact",r])}return b(t,kt),v(t)}();q("resource","Contact",$t);var Ut=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return h(this,t),l(this,t,[e,n,"zone",r])}return b(t,kt),v(t)}();q("resource","Zone",Ut);var zt=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return h(this,t),l(this,t,[e,n,"service-area",r])}return b(t,kt),v(t)}();q("resource","ServiceArea",zt);var Bt=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return h(this,t),l(this,t,[e,n,"service-rate",r])}return b(t,kt),v(t)}();q("resource","ServiceRate",Bt);var qt=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return h(this,t),l(this,t,[e,n,"service-quote",r])}return b(t,kt),v(t,[{key:"fromPreliminary",value:function(){}},{key:"fromPayload",value:function(){}}])}();q("resource","ServiceQuote",qt);var It=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return h(this,t),l(this,t,[e,n,"fleet",r])}return b(t,kt),v(t)}();q("resource","Fleet",It);var Mt=v((function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};h(this,t),this.version=e.version||"v1",this.host=e.host||null,this.namespace=e.namespace||null,this.headers=e.headers||{};}));q("adapter","Adapter",Mt);var Ht=function(){function t(e){var n;return h(this,t),(n=l(this,t,[e])).setHeaders({Authorization:"Bearer ".concat(e.publicKey),"Content-Type":"application/json","User-Agent":"@fleetbase/sdk;browser"}),n}return b(t,Mt),v(t,[{key:"setHeaders",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this.headers=A(A({},this.headers),t),this}},{key:"parseJSON",value:function(t){return new Promise((function(e,n){t.json().then((function(n){e({statusText:t.statusText,status:t.status,ok:t.ok,json:n});})).catch((function(){n(new Error("Oops! Something went wrong when handling your request."));}));}))}},{key:"request",value:function(t){var e=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"GET",r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return new Promise((function(o,a){fetch(i.url||"".concat(e.host,"/").concat(e.namespace,"/").concat(t),A({method:n,mode:i.mode||"cors",headers:new Headers(A(A({},e.headers||{}),i.headers||{}))},r)).then(e.parseJSON).then((function(t){if(t.ok)return o(t.json);a(new Error(t.json.errors?t.json.errors[0]:t.statusText));})).catch((function(t){a(t);}));}))}},{key:"get",value:function(t){var e,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=st(e=n)||"string"==typeof e&&false===/\S/.test(e)?"":new URLSearchParams(n).toString();return this.request("".concat(t).concat(i?"?".concat(i):""),"GET",{},r)}},{key:"post",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.request(t,"POST",{body:JSON.stringify(e)},n)}},{key:"put",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.request(t,"PUT",{body:JSON.stringify(e)},n)}},{key:"delete",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.request(t,"DELETE",{},e)}},{key:"patch",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.request(t,"PATCH",{body:JSON.stringify(e)},n)}}])}();function Jt(t,e){return function(){return t.apply(e,arguments)}}q("adapter","BrowserAdapter",Ht);var Wt,Kt=Object.prototype.toString,Gt=Object.getPrototypeOf,Vt=(Wt=Object.create(null),function(t){var e=Kt.call(t);return Wt[e]||(Wt[e]=e.slice(8,-1).toLowerCase())}),Xt=function(t){return t=t.toLowerCase(),function(e){return Vt(e)===t}},Qt=function(t){return function(e){return T(e)===t}},Yt=Array.isArray,Zt=Qt("undefined");var te=Xt("ArrayBuffer");var ee=Qt("string"),ne=Qt("function"),re=Qt("number"),ie=function(t){return null!==t&&"object"===T(t)},oe=function(t){if("object"!==Vt(t))return false;var e=Gt(t);return !(null!==e&&e!==Object.prototype&&null!==Object.getPrototypeOf(e)||Symbol.toStringTag in t||Symbol.iterator in t)},ae=Xt("Date"),se=Xt("File"),ue=Xt("Blob"),ce=Xt("FileList"),le=Xt("URLSearchParams"),he=R(["ReadableStream","Request","Response","Headers"].map(Xt),4),fe=he[0],de=he[1],ve=he[2],pe=he[3];function ge(t,e){var n,r,i=(arguments.length>2&&void 0!==arguments[2]?arguments[2]:{}).allOwnKeys,o=void 0!==i&&i;if(null!=t)if("object"!==T(t)&&(t=[t]),Yt(t))for(n=0,r=t.length;n0;)if(e===(n=r[i]).toLowerCase())return n;return null}var be="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:global,me=function(t){return !Zt(t)&&t!==be};var we,ke=(we="undefined"!=typeof Uint8Array&&Gt(Uint8Array),function(t){return we&&t instanceof we}),Ee=Xt("HTMLFormElement"),Ae=function(){var t=Object.prototype.hasOwnProperty;return function(e,n){return t.call(e,n)}}(),xe=Xt("RegExp"),Oe=function(t,e){var n=Object.getOwnPropertyDescriptors(t),r={};ge(n,(function(n,i){var o;false!==(o=e(n,i,t))&&(r[i]=o||n);})),Object.defineProperties(t,r);},Re="abcdefghijklmnopqrstuvwxyz",Se="0123456789",je={DIGIT:Se,ALPHA:Re,ALPHA_DIGIT:Re+Re.toUpperCase()+Se};var Te,_e,Pe,Le,Ce=Xt("AsyncFunction"),Ne=(Te="function"==typeof setImmediate,_e=ne(be.postMessage),Te?setImmediate:_e?(Pe="axios@".concat(Math.random()),Le=[],be.addEventListener("message",(function(t){var e=t.source,n=t.data;e===be&&n===Pe&&Le.length&&Le.shift()();}),false),function(t){Le.push(t),be.postMessage(Pe,"*");}):function(t){return setTimeout(t)}),Fe="undefined"!=typeof queueMicrotask?queueMicrotask.bind(be):"undefined"!=typeof process&&process.nextTick||Ne,De={isArray:Yt,isArrayBuffer:te,isBuffer:function(t){return null!==t&&!Zt(t)&&null!==t.constructor&&!Zt(t.constructor)&&ne(t.constructor.isBuffer)&&t.constructor.isBuffer(t)},isFormData:function(t){var e;return t&&("function"==typeof FormData&&t instanceof FormData||ne(t.append)&&("formdata"===(e=Vt(t))||"object"===e&&ne(t.toString)&&"[object FormData]"===t.toString()))},isArrayBufferView:function(t){return "undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(t):t&&t.buffer&&te(t.buffer)},isString:ee,isNumber:re,isBoolean:function(t){return true===t||false===t},isObject:ie,isPlainObject:oe,isReadableStream:fe,isRequest:de,isResponse:ve,isHeaders:pe,isUndefined:Zt,isDate:ae,isFile:se,isBlob:ue,isRegExp:xe,isFunction:ne,isStream:function(t){return ie(t)&&ne(t.pipe)},isURLSearchParams:le,isTypedArray:ke,isFileList:ce,forEach:ge,merge:function t(){for(var e=(me(this)&&this||{}).caseless,n={},r=function(r,i){var o=e&&ye(n,i)||i;oe(n[o])&&oe(r)?n[o]=t(n[o],r):oe(r)?n[o]=t({},r):Yt(r)?n[o]=r.slice():n[o]=r;},i=0,o=arguments.length;i3&&void 0!==arguments[3]?arguments[3]:{}).allOwnKeys}),t},trim:function(t){return t.trim?t.trim():t.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")},stripBOM:function(t){return 65279===t.charCodeAt(0)&&(t=t.slice(1)),t},inherits:function(t,e,n,r){t.prototype=Object.create(e.prototype,r),t.prototype.constructor=t,Object.defineProperty(t,"super",{value:e.prototype}),n&&Object.assign(t.prototype,n);},toFlatObject:function(t,e,n,r){var i,o,a,s={};if(e=e||{},null==t)return e;do{for(o=(i=Object.getOwnPropertyNames(t)).length;o-- >0;)a=i[o],r&&!r(a,t,e)||s[a]||(e[a]=t[a],s[a]=true);t=false!==n&&Gt(t);}while(t&&(!n||n(t,e))&&t!==Object.prototype);return e},kindOf:Vt,kindOfTest:Xt,endsWith:function(t,e,n){t=String(t),(void 0===n||n>t.length)&&(n=t.length),n-=e.length;var r=t.indexOf(e,n);return -1!==r&&r===n},toArray:function(t){if(!t)return null;if(Yt(t))return t;var e=t.length;if(!re(e))return null;for(var n=new Array(e);e-- >0;)n[e]=t[e];return n},forEachEntry:function(t,e){for(var n,r=(t&&t[Symbol.iterator]).call(t);(n=r.next())&&!n.done;){var i=n.value;e.call(t,i[0],i[1]);}},matchAll:function(t,e){for(var n,r=[];null!==(n=t.exec(e));)r.push(n);return r},isHTMLForm:Ee,hasOwnProperty:Ae,hasOwnProp:Ae,reduceDescriptors:Oe,freezeMethods:function(t){Oe(t,(function(e,n){if(ne(t)&&-1!==["arguments","caller","callee"].indexOf(n))return false;var r=t[n];ne(r)&&(e.enumerable=false,"writable"in e?e.writable=false:e.set||(e.set=function(){throw Error("Can not rewrite read-only method '"+n+"'")}));}));},toObjectSet:function(t,e){var n={},r=function(t){t.forEach((function(t){n[t]=true;}));};return Yt(t)?r(t):r(String(t).split(e)),n},toCamelCase:function(t){return t.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,(function(t,e,n){return e.toUpperCase()+n}))},noop:function(){},toFiniteNumber:function(t,e){return null!=t&&Number.isFinite(t=+t)?t:e},findKey:ye,global:be,isContextDefined:me,ALPHABET:je,generateString:function(){for(var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:16,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:je.ALPHA_DIGIT,n="",r=e.length;t--;)n+=e[Math.random()*r|0];return n},isSpecCompliantForm:function(t){return !!(t&&ne(t.append)&&"FormData"===t[Symbol.toStringTag]&&t[Symbol.iterator])},toJSONObject:function(t){var e=new Array(10),n=function(t,r){if(ie(t)){if(e.indexOf(t)>=0)return;if(!("toJSON"in t)){e[r]=t;var i=Yt(t)?[]:{};return ge(t,(function(t,e){var o=n(t,r+1);!Zt(o)&&(i[e]=o);})),e[r]=void 0,i}}return t};return n(t,0)},isAsyncFn:Ce,isThenable:function(t){return t&&(ie(t)||ne(t))&&ne(t.then)&&ne(t.catch)},setImmediate:Ne,asap:Fe};function $e(t,e,n,r,i){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack,this.message=t,this.name="AxiosError",e&&(this.code=e),n&&(this.config=n),r&&(this.request=r),i&&(this.response=i,this.status=i.status?i.status:null);}De.inherits($e,Error,{toJSON:function(){return {message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:De.toJSONObject(this.config),code:this.code,status:this.status}}});var Ue=$e.prototype,ze={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach((function(t){ze[t]={value:t};})),Object.defineProperties($e,ze),Object.defineProperty(Ue,"isAxiosError",{value:true}),$e.from=function(t,e,n,r,i,o){var a=Object.create(Ue);return De.toFlatObject(t,a,(function(t){return t!==Error.prototype}),(function(t){return "isAxiosError"!==t})),$e.call(a,t.message,e,n,r,i),a.cause=t,a.name=t.name,o&&Object.assign(a,o),a};function Be(t){return De.isPlainObject(t)||De.isArray(t)}function qe(t){return De.endsWith(t,"[]")?t.slice(0,-2):t}function Ie(t,e,n){return t?t.concat(e).map((function(t,e){return t=qe(t),!n&&e?"["+t+"]":t})).join(n?".":""):e}var Me=De.toFlatObject(De,{},null,(function(t){return /^is[A-Z]/.test(t)}));function He(t,e,n){if(!De.isObject(t))throw new TypeError("target must be an object");e=e||new FormData;var r=(n=De.toFlatObject(n,{metaTokens:true,dots:false,indexes:false},false,(function(t,e){return !De.isUndefined(e[t])}))).metaTokens,i=n.visitor||c,o=n.dots,a=n.indexes,s=(n.Blob||"undefined"!=typeof Blob&&Blob)&&De.isSpecCompliantForm(e);if(!De.isFunction(i))throw new TypeError("visitor must be a function");function u(t){if(null===t)return "";if(De.isDate(t))return t.toISOString();if(!s&&De.isBlob(t))throw new $e("Blob is not supported. Use a Buffer instead.");return De.isArrayBuffer(t)||De.isTypedArray(t)?s&&"function"==typeof Blob?new Blob([t]):Buffer.from(t):t}function c(t,n,i){var s=t;if(t&&!i&&"object"===T(t))if(De.endsWith(n,"{}"))n=r?n:n.slice(0,-2),t=JSON.stringify(t);else if(De.isArray(t)&&function(t){return De.isArray(t)&&!t.some(Be)}(t)||(De.isFileList(t)||De.endsWith(n,"[]"))&&(s=De.toArray(t)))return n=qe(n),s.forEach((function(t,r){!De.isUndefined(t)&&null!==t&&e.append(true===a?Ie([n],r,o):null===a?n:n+"[]",u(t));})),false;return !!Be(t)||(e.append(Ie(i,n,o),u(t)),false)}var l=[],h=Object.assign(Me,{defaultVisitor:c,convertValue:u,isVisitable:Be});if(!De.isObject(t))throw new TypeError("data must be an object");return function t(n,r){if(!De.isUndefined(n)){if(-1!==l.indexOf(n))throw Error("Circular reference detected in "+r.join("."));l.push(n),De.forEach(n,(function(n,o){ true===(!(De.isUndefined(n)||null===n)&&i.call(e,n,De.isString(o)?o.trim():o,r,h))&&t(n,r?r.concat(o):[o]);})),l.pop();}}(t),e}function Je(t){var e={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(t).replace(/[!'()~]|%20|%00/g,(function(t){return e[t]}))}function We(t,e){this._pairs=[],t&&He(t,this,e);}var Ke=We.prototype;function Ge(t){return encodeURIComponent(t).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function Ve(t,e,n){if(!e)return t;var r=n&&n.encode||Ge;De.isFunction(n)&&(n={serialize:n});var i,o=n&&n.serialize;if(i=o?o(e,n):De.isURLSearchParams(e)?e.toString():new We(e,n).toString(r)){var a=t.indexOf("#");-1!==a&&(t=t.slice(0,a)),t+=(-1===t.indexOf("?")?"?":"&")+i;}return t}Ke.append=function(t,e){this._pairs.push([t,e]);},Ke.toString=function(t){var e=t?function(e){return t.call(this,e,Je)}:Je;return this._pairs.map((function(t){return e(t[0])+"="+e(t[1])}),"").join("&")};var Xe=function(){return v((function t(){h(this,t),this.handlers=[];}),[{key:"use",value:function(t,e,n){return this.handlers.push({fulfilled:t,rejected:e,synchronous:!!n&&n.synchronous,runWhen:n?n.runWhen:null}),this.handlers.length-1}},{key:"eject",value:function(t){this.handlers[t]&&(this.handlers[t]=null);}},{key:"clear",value:function(){this.handlers&&(this.handlers=[]);}},{key:"forEach",value:function(t){De.forEach(this.handlers,(function(e){null!==e&&t(e);}));}}])}(),Qe={silentJSONParsing:true,forcedJSONParsing:true,clarifyTimeoutError:false},Ye={isBrowser:true,classes:{URLSearchParams:"undefined"!=typeof URLSearchParams?URLSearchParams:We,FormData:"undefined"!=typeof FormData?FormData:null,Blob:"undefined"!=typeof Blob?Blob:null},protocols:["http","https","file","blob","url","data"]},Ze="undefined"!=typeof window&&"undefined"!=typeof document,tn="object"===("undefined"==typeof navigator?"undefined":T(navigator))&&navigator||void 0,en=Ze&&(!tn||["ReactNative","NativeScript","NS"].indexOf(tn.product)<0),nn="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&"function"==typeof self.importScripts,rn=Ze&&window.location.href||"http://localhost",on=A(A({},Object.freeze({__proto__:null,hasBrowserEnv:Ze,hasStandardBrowserEnv:en,hasStandardBrowserWebWorkerEnv:nn,navigator:tn,origin:rn})),Ye);function an(t){function e(t,n,r,i){var o=t[i++];if("__proto__"===o)return true;var a=Number.isFinite(+o),s=i>=t.length;return o=!o&&De.isArray(r)?r.length:o,s?(De.hasOwnProp(r,o)?r[o]=[r[o],n]:r[o]=n,!a):(r[o]&&De.isObject(r[o])||(r[o]=[]),e(t,n,r[o],i)&&De.isArray(r[o])&&(r[o]=function(t){var e,n,r={},i=Object.keys(t),o=i.length;for(e=0;e-1,o=De.isObject(t);if(o&&De.isHTMLForm(t)&&(t=new FormData(t)),De.isFormData(t))return i?JSON.stringify(an(t)):t;if(De.isArrayBuffer(t)||De.isBuffer(t)||De.isStream(t)||De.isFile(t)||De.isBlob(t)||De.isReadableStream(t))return t;if(De.isArrayBufferView(t))return t.buffer;if(De.isURLSearchParams(t))return e.setContentType("application/x-www-form-urlencoded;charset=utf-8",false),t.toString();if(o){if(r.indexOf("application/x-www-form-urlencoded")>-1)return function(t,e){return He(t,new on.classes.URLSearchParams,Object.assign({visitor:function(t,e,n,r){return on.isNode&&De.isBuffer(t)?(this.append(e,t.toString("base64")),false):r.defaultVisitor.apply(this,arguments)}},e))}(t,this.formSerializer).toString();if((n=De.isFileList(t))||r.indexOf("multipart/form-data")>-1){var a=this.env&&this.env.FormData;return He(n?{"files[]":t}:t,a&&new a,this.formSerializer)}}return o||i?(e.setContentType("application/json",false),function(t,e){if(De.isString(t))try{return (e||JSON.parse)(t),De.trim(t)}catch(t){if("SyntaxError"!==t.name)throw t}return (0, JSON.stringify)(t)}(t)):t}],transformResponse:[function(t){var e=this.transitional||sn.transitional,n=e&&e.forcedJSONParsing,r="json"===this.responseType;if(De.isResponse(t)||De.isReadableStream(t))return t;if(t&&De.isString(t)&&(n&&!this.responseType||r)){var i=!(e&&e.silentJSONParsing)&&r;try{return JSON.parse(t)}catch(t){if(i){if("SyntaxError"===t.name)throw $e.from(t,$e.ERR_BAD_RESPONSE,this,null,this.response);throw t}}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:on.classes.FormData,Blob:on.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};De.forEach(["delete","get","head","post","put","patch"],(function(t){sn.headers[t]={};}));var un=De.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),cn=Symbol("internals");function ln(t){return t&&String(t).trim().toLowerCase()}function hn(t){return false===t||null==t?t:De.isArray(t)?t.map(hn):String(t)}function fn(t,e,n,r,i){return De.isFunction(r)?r.call(this,e,n):(i&&(e=n),De.isString(e)?De.isString(r)?-1!==e.indexOf(r):De.isRegExp(r)?r.test(e):void 0:void 0)}var dn=function(){return v((function t(e){h(this,t),e&&this.set(e);}),[{key:"set",value:function(t,e,n){var r=this;function i(t,e,n){var i=ln(e);if(!i)throw new Error("header name must be a non-empty string");var o=De.findKey(r,i);(!o||void 0===r[o]||true===n||void 0===n&&false!==r[o])&&(r[o||e]=hn(t));}var o=function(t,e){return De.forEach(t,(function(t,n){return i(t,n,e)}))};if(De.isPlainObject(t)||t instanceof this.constructor)o(t,e);else if(De.isString(t)&&(t=t.trim())&&!/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(t.trim()))o(function(t){var e,n,r,i={};return t&&t.split("\n").forEach((function(t){r=t.indexOf(":"),e=t.substring(0,r).trim().toLowerCase(),n=t.substring(r+1).trim(),!e||i[e]&&un[e]||("set-cookie"===e?i[e]?i[e].push(n):i[e]=[n]:i[e]=i[e]?i[e]+", "+n:n);})),i}(t),e);else if(De.isHeaders(t)){var a,s=p(t.entries());try{for(s.s();!(a=s.n()).done;){var u=R(a.value,2),c=u[0];i(u[1],c,n);}}catch(t){s.e(t);}finally{s.f();}}else null!=t&&i(e,t,n);return this}},{key:"get",value:function(t,e){if(t=ln(t)){var n=De.findKey(this,t);if(n){var r=this[n];if(!e)return r;if(true===e)return function(t){for(var e,n=Object.create(null),r=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;e=r.exec(t);)n[e[1]]=e[2];return n}(r);if(De.isFunction(e))return e.call(this,r,n);if(De.isRegExp(e))return e.exec(r);throw new TypeError("parser must be boolean|regexp|function")}}}},{key:"has",value:function(t,e){if(t=ln(t)){var n=De.findKey(this,t);return !(!n||void 0===this[n]||e&&!fn(0,this[n],n,e))}return false}},{key:"delete",value:function(t,e){var n=this,r=false;function i(t){if(t=ln(t)){var i=De.findKey(n,t);!i||e&&!fn(0,n[i],i,e)||(delete n[i],r=true);}}return De.isArray(t)?t.forEach(i):i(t),r}},{key:"clear",value:function(t){for(var e=Object.keys(this),n=e.length,r=false;n--;){var i=e[n];t&&!fn(0,this[i],i,t,true)||(delete this[i],r=true);}return r}},{key:"normalize",value:function(t){var e=this,n={};return De.forEach(this,(function(r,i){var o=De.findKey(n,i);if(o)return e[o]=hn(r),void delete e[i];var a=t?function(t){return t.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(function(t,e,n){return e.toUpperCase()+n}))}(i):String(i).trim();a!==i&&delete e[i],e[a]=hn(r),n[a]=true;})),this}},{key:"concat",value:function(){for(var t,e=arguments.length,n=new Array(e),r=0;r1?n-1:0),i=1;i2&&void 0!==arguments[2]?arguments[2]:3,r=0,i=function(t,e){t=t||10;var n,r=new Array(t),i=new Array(t),o=0,a=0;return e=void 0!==e?e:1e3,function(s){var u=Date.now(),c=i[a];n||(n=u),r[o]=s,i[o]=u;for(var l=a,h=0;l!==o;)h+=r[l++],l%=t;if((o=(o+1)%t)===a&&(a=(a+1)%t),!(u-n1&&void 0!==arguments[1]?arguments[1]:Date.now();i=o,n=null,r&&(clearTimeout(r),r=null),t.apply(null,e);};return [function(){for(var t=Date.now(),e=t-i,s=arguments.length,u=new Array(s),c=0;c=o?a(u,t):(n=u,r||(r=setTimeout((function(){r=null,a(n);}),o-e)));},function(){return n&&a(n)}]}((function(n){var o=n.loaded,a=n.lengthComputable?n.total:void 0,s=o-r,u=i(s);r=o;var c=g({loaded:o,total:a,progress:a?o/a:void 0,bytes:s,rate:u||void 0,estimated:u&&a&&o<=a?(a-o)/u:void 0,event:n,lengthComputable:null!=a},e?"download":"upload",true);t(c);}),n)},mn=function(t,e){var n=null!=t;return [function(r){return e[0]({lengthComputable:n,total:t,loaded:r})},e[1]]},wn=function(t){return function(){for(var e=arguments.length,n=new Array(e),r=0;r1?e-1:0),r=1;r1?"since :\n"+s.map(Wn).join("\n"):" "+Wn(s[0]):"as no adapter specified"),"ERR_NOT_SUPPORT")}return n};function Vn(t){if(t.cancelToken&&t.cancelToken.throwIfRequested(),t.signal&&t.signal.aborted)throw new gn(null,t)}function Xn(t){return Vn(t),t.headers=dn.from(t.headers),t.data=vn.call(t,t.transformRequest),-1!==["post","put","patch"].indexOf(t.method)&&t.headers.setContentType("application/x-www-form-urlencoded",false),Gn(t.adapter||sn.adapter)(t).then((function(e){return Vn(t),e.data=vn.call(t,t.transformResponse,e),e.headers=dn.from(e.headers),e}),(function(e){return pn(e)||(Vn(t),e&&e.response&&(e.response.data=vn.call(t,t.transformResponse,e.response),e.response.headers=dn.from(e.response.headers))),Promise.reject(e)}))}var Qn="1.7.9",Yn={};["object","boolean","number","function","string","symbol"].forEach((function(t,e){Yn[t]=function(n){return T(n)===t||"a"+(e<1?"n ":" ")+t};}));var Zn={};Yn.transitional=function(t,e,n){function r(t,e){return "[Axios v1.7.9] Transitional option '"+t+"'"+e+(n?". "+n:"")}return function(n,i,o){if(false===t)throw new $e(r(i," has been removed"+(e?" in "+e:"")),$e.ERR_DEPRECATED);return e&&!Zn[i]&&(Zn[i]=true,console.warn(r(i," has been deprecated since v"+e+" and will be removed in the near future"))),!t||t(n,i,o)}},Yn.spelling=function(t){return function(e,n){return console.warn("".concat(n," is likely a misspelling of ").concat(t)),true}};var tr={assertOptions:function(t,e,n){if("object"!==T(t))throw new $e("options must be an object",$e.ERR_BAD_OPTION_VALUE);for(var r=Object.keys(t),i=r.length;i-- >0;){var o=r[i],a=e[o];if(a){var s=t[o],u=void 0===s||a(s,o,t);if(true!==u)throw new $e("option "+o+" must be "+u,$e.ERR_BAD_OPTION_VALUE)}else if(true!==n)throw new $e("Unknown option "+o,$e.ERR_BAD_OPTION)}},validators:Yn},er=tr.validators,nr=function(){return v((function t(e){h(this,t),this.defaults=e,this.interceptors={request:new Xe,response:new Xe};}),[{key:"request",value:(t=u(x().mark((function t(e,n){var r,i;return x().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,this._request(e,n);case 3:return t.abrupt("return",t.sent);case 6:if(t.prev=6,t.t0=t.catch(0),t.t0 instanceof Error){r={},Error.captureStackTrace?Error.captureStackTrace(r):r=new Error,i=r.stack?r.stack.replace(/^.+\n/,""):"";try{t.t0.stack?i&&!String(t.t0.stack).endsWith(i.replace(/^.+\n.+\n/,""))&&(t.t0.stack+="\n"+i):t.t0.stack=i;}catch(t){}}throw t.t0;case 10:case "end":return t.stop()}}),t,this,[[0,6]])}))),function(e,n){return t.apply(this,arguments)})},{key:"_request",value:function(t,e){"string"==typeof t?(e=e||{}).url=t:e=t||{};var n=e=On(this.defaults,e),r=n.transitional,i=n.paramsSerializer,o=n.headers;void 0!==r&&tr.assertOptions(r,{silentJSONParsing:er.transitional(er.boolean),forcedJSONParsing:er.transitional(er.boolean),clarifyTimeoutError:er.transitional(er.boolean)},false),null!=i&&(De.isFunction(i)?e.paramsSerializer={serialize:i}:tr.assertOptions(i,{encode:er.function,serialize:er.function},true)),tr.assertOptions(e,{baseUrl:er.spelling("baseURL"),withXsrfToken:er.spelling("withXSRFToken")},true),e.method=(e.method||this.defaults.method||"get").toLowerCase();var a=o&&De.merge(o.common,o[e.method]);o&&De.forEach(["delete","get","head","post","put","patch","common"],(function(t){delete o[t];})),e.headers=dn.concat(a,o);var s=[],u=true;this.interceptors.request.forEach((function(t){"function"==typeof t.runWhen&&false===t.runWhen(e)||(u=u&&t.synchronous,s.unshift(t.fulfilled,t.rejected));}));var c,l=[];this.interceptors.response.forEach((function(t){l.push(t.fulfilled,t.rejected);}));var h,f=0;if(!u){var d=[Xn.bind(this),void 0];for(d.unshift.apply(d,s),d.push.apply(d,l),h=d.length,c=Promise.resolve(e);f0;)r._listeners[e](t);r._listeners=null;}})),this.promise.then=function(t){var e,n=new Promise((function(t){r.subscribe(t),e=t;})).then(t);return n.cancel=function(){r.unsubscribe(e);},n},e((function(t,e,i){r.reason||(r.reason=new gn(t,e,i),n(r.reason));}));}return v(t,[{key:"throwIfRequested",value:function(){if(this.reason)throw this.reason}},{key:"subscribe",value:function(t){this.reason?t(this.reason):this._listeners?this._listeners.push(t):this._listeners=[t];}},{key:"unsubscribe",value:function(t){if(this._listeners){var e=this._listeners.indexOf(t);-1!==e&&this._listeners.splice(e,1);}}},{key:"toAbortSignal",value:function(){var t=this,e=new AbortController,n=function(t){e.abort(t);};return this.subscribe(n),e.signal.unsubscribe=function(){return t.unsubscribe(n)},e.signal}}],[{key:"source",value:function(){var e;return {token:new t((function(t){e=t;})),cancel:e}}}])}();var ir={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(ir).forEach((function(t){var e=R(t,2),n=e[0],r=e[1];ir[r]=n;}));var or=function t(e){var n=new nr(e),r=Jt(nr.prototype.request,n);return De.extend(r,nr.prototype,n,{allOwnKeys:true}),De.extend(r,n,null,{allOwnKeys:true}),r.create=function(n){return t(On(e,n))},r}(sn);or.Axios=nr,or.CanceledError=gn,or.CancelToken=rr,or.isCancel=pn,or.VERSION=Qn,or.toFormData=He,or.AxiosError=$e,or.Cancel=or.CanceledError,or.all=function(t){return Promise.all(t)},or.spread=function(t){return function(e){return t.apply(null,e)}},or.isAxiosError=function(t){return De.isObject(t)&&true===t.isAxiosError},or.mergeConfig=On,or.AxiosHeaders=dn,or.formToJSON=function(t){return an(De.isHTMLForm(t)?new FormData(t):t)},or.getAdapter=Gn,or.HttpStatusCode=ir,or.default=or,or.Axios,or.AxiosError,or.CanceledError,or.isCancel,or.CancelToken,or.VERSION,or.all,or.Cancel,or.isAxiosError,or.spread,or.toFormData,or.AxiosHeaders,or.HttpStatusCode,or.formToJSON,or.getAdapter,or.mergeConfig;var ar=function(){function t(e){var n;return h(this,t),(n=l(this,t,[e])).axiosInstance=or.create({baseURL:"".concat(n.host,"/").concat(n.namespace),headers:{Authorization:"Bearer ".concat(e.publicKey),"Content-Type":"application/json","User-Agent":"@fleetbase/sdk;node"}}),n.axiosInstance.interceptors.response.use((function(t){return t.data}),(function(t){if(t.response){var e=t.response.data;if(V(e.errors)&&e.errors.length)throw new Error(e.errors[0]);if(e.error)throw new Error(e.error)}throw t})),n}return b(t,Mt),v(t,[{key:"setHeaders",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this.axiosInstance.defaults.headers.common=A(A({},this.axiosInstance.defaults.headers.common),t),this}},{key:"request",value:function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.axiosInstance.request(A({method:t,url:e},n))}},{key:"get",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.request("GET",t,A({params:e},n))}},{key:"post",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.request("POST",t,A({data:e},n))}},{key:"put",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.request("PUT",t,A({data:e},n))}},{key:"delete",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.request("DELETE",t,e)}},{key:"patch",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.request("PATCH",t,A({data:e},n))}}])}();q("adapter","NodeAdapter",ar);var sr=function(){function t(){return h(this,t),l(this,t,arguments)}return b(t,Mt),v(t)}();q("adapter","EmberJsAdapter",sr);(function(){function t(e){var n,r,i,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(h(this,t),this.version=null!==(n=o.version)&&void 0!==n?n:"v1",this.options={version:this.version,host:null!==(r=o.host)&&void 0!==r?r:"https://api.fleetbase.io",namespace:null!==(i=o.namespace)&&void 0!==i?i:this.version,debug:a,publicKey:e},"string"!=typeof e||0===e.length)throw new Error("⚠️ Invalid public key given to Fleetbase SDK");if(!lt()&&e.toLowerCase().startsWith("$"))throw new Error("Secret key provided. You must use a public key with Fleetbase Javascript SDK!");this.adapter=o.adapter||ht(this.options),this.orders=new Et("order",this.adapter).extendActions(At),this.entities=new Et("entity",this.adapter),this.places=new Et("place",this.adapter),this.drivers=new Et("driver",this.adapter).extendActions(Nt),this.vehicles=new Et("vehicle",this.adapter),this.vendors=new Et("vendor",this.adapter),this.contacts=new Et("contact",this.adapter),this.serviceAreas=new Et("service-area",this.adapter),this.zones=new Et("zone",this.adapter),this.fleets=new Et("fleet",this.adapter),this.organizations=new Et("organization",this.adapter).extendActions(Pt);}return v(t,[{key:"setAdapter",value:function(t){this.adapter=t;}},{key:"getAdapter",value:function(){return this.adapter}}],[{key:"newInstance",value:function(){return f(t,Array.prototype.slice.call(arguments))}}])})(); - -class StorefrontStore extends Et { +/** + * A Storefront API store. The core SDK store already serializes JSON into registered + * resources and extends itself with actions; this keeps Storefront's public class name + * and its contract that listing endpoints resolve to collections. + */ +class StorefrontStore extends Store$1 { constructor(resource, adapter, options = {}) { super(resource, adapter, options); } - extendActions(actions = []) { - return yt(this, actions); + findAll(options = {}) { + return super.findAll(options); } - serialize(json) { - return W('resource', z(this.resource), json, this.adapter); + query(query = {}, options = {}) { + return super.query(query, options); } } @@ -50,25 +55,37 @@ function isArray$1(value) { return Array.isArray(value); } -class StorefrontResource extends kt { +class StorefrontResource extends Resource { + /** Storefront ids are public ids such as `cart_x7y8`. */ + get id() { + return super.id; + } /** * Set a new adapter to the resource instance, this will update the Store instance * - * @param {import('@fleetbase/sdk').Adapter} adapter + * @param {import('@fleetbase/sdk').AdapterLike} adapter * @return {this} */ setAdapter(adapter) { - this.adapter = adapter; - this.store = new StorefrontStore(this.resource, adapter, { + super.setAdapter(adapter); + this.store = new StorefrontStore(this.resource, this.adapter, { onAfterFetch: this.syncAttributes.bind(this), actions: this.options?.actions, }); return this; } + // Storefront resources reuse these names for their own API calls, e.g. a cart's + // update(cartItemId, quantity) and empty(), so their signatures are left open here. + update(...args) { + return super.update(...args); + } + empty(..._args) { + return super.empty(); + } } -q('resource', 'StorefrontResource', StorefrontResource); +register('resource', 'StorefrontResource', StorefrontResource); -const reviewActions = new mt({ +const reviewActions = new StoreActions({ count: function (storeId, options = {}) { const params = {}; if (storeId) { @@ -91,7 +108,7 @@ class Review extends StorefrontResource { return this.getMedia().filter((media) => typeof media?.type === 'string' && media.type.startsWith('video/')); } } -q('resource', 'Review', Review); +register('resource', 'Review', Review); class StoreHour extends StorefrontResource { constructor(attributes = {}, adapter, options = {}) { @@ -171,7 +188,7 @@ class StoreHour extends StorefrontResource { throw new Error('There is no reload() method store location!'); } } -q('resource', 'StoreHour', StoreHour); +register('resource', 'StoreHour', StoreHour); class StoreLocation extends StorefrontResource { constructor(attributes = {}, adapter, options = {}) { @@ -184,8 +201,9 @@ class StoreLocation extends StorefrontResource { return this.getAttribute('place.location.coordinates.0'); } get hours() { + // The SDK returns the default when hours are null or missing. const hours = this.getAttribute('hours', []); - return new at((hours || []).map((attributes) => new StoreHour(attributes, this.adapter))); + return new Collection(hours.map((attributes) => new StoreHour(attributes, this.adapter))); } /** Raw embedded merchant payload, normalized across API response versions. */ get storeData() { @@ -201,7 +219,7 @@ class StoreLocation extends StorefrontResource { } /** Typed embedded merchant when requested with `with_store`. */ get merchant() { - return this.storeData ? W('resource', 'Store', this.storeData, this.adapter) : null; + return this.storeData ? lookup('resource', 'Store', this.storeData, this.adapter) : null; } get isAlwaysOpen() { return this.hours.length > 0 && this.hours.every((hour) => hour?.is24Hours); @@ -215,7 +233,7 @@ class StoreLocation extends StorefrontResource { const week = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']; for (let i = 0; i < week.length; i++) { const day = week[i]; - schedule[day] = new at(); + schedule[day] = new Collection(); } for (let i = 0; i < this.hours.length; i++) { const hour = this.hours.objectAt(i); @@ -238,7 +256,7 @@ class StoreLocation extends StorefrontResource { throw new Error('There is no destroy() method store location!'); } } -q('resource', 'StoreLocation', StoreLocation); +register('resource', 'StoreLocation', StoreLocation); class PaymentGateway extends StorefrontResource { token; @@ -287,7 +305,7 @@ class PaymentGateway extends StorefrontResource { throw new Error('There is no reload() method for payment gateways!'); } } -q('resource', 'PaymentGateway', PaymentGateway); +register('resource', 'PaymentGateway', PaymentGateway); class Store extends StorefrontResource { constructor(attributes = {}, adapter, options = {}) { @@ -295,7 +313,7 @@ class Store extends StorefrontResource { } getReviews(params = {}) { return this.adapter.get('reviews', { store: this.id, ...params }).then((reviews) => { - return new at(reviews.map((attributes) => new Review(attributes, this.adapter))); + return new Collection(reviews.map((attributes) => new Review(attributes, this.adapter))); }); } getTags(params = {}) { @@ -303,9 +321,9 @@ class Store extends StorefrontResource { } getLocations(params = {}) { return this.adapter.get('locations', { store: this.id, ...params }).then((storeLocations) => { - return new at(storeLocations.map((attributes) => { + return new Collection(storeLocations.map((attributes) => { if (attributes.place) { - attributes.place = new St(attributes.place, this.adapter); + attributes.place = new Place(attributes.place, this.adapter); } return new StoreLocation(attributes, this.adapter); })); @@ -318,7 +336,7 @@ class Store extends StorefrontResource { } getPaymentGateways(params = {}) { return this.adapter.get('gateways', params).then((gateways) => { - return new at(gateways.map((attributes) => { + return new Collection(gateways.map((attributes) => { return new PaymentGateway(attributes, this.adapter); })); }); @@ -329,7 +347,7 @@ class Store extends StorefrontResource { }); } } -q('resource', 'Store', Store); +register('resource', 'Store', Store); class Product extends StorefrontResource { constructor(attributes = {}, adapter, options = {}) { @@ -342,13 +360,13 @@ class Product extends StorefrontResource { return this.getAttribute('addon_categories'); } images() { - return this.getAttribute('images') ?? []; + return (this.getAttribute('images') ?? []); } videos() { - return this.getAttribute('videos') ?? []; + return (this.getAttribute('videos') ?? []); } hours() { - return this.getAttribute('hours') ?? []; + return (this.getAttribute('hours') ?? []); } get isOnSale() { return this.getAttribute('is_on_sale'); @@ -375,11 +393,11 @@ class Product extends StorefrontResource { } getReviews() { return this.adapter.get('reviews', { store: this.id }).then((reviews) => { - return new at(reviews.map((attributes) => new Review(attributes, this.adapter))); + return new Collection(reviews.map((attributes) => new Review(attributes, this.adapter))); }); } } -q('resource', 'Product', Product); +register('resource', 'Product', Product); class Category extends StorefrontResource { constructor(attributes = {}, adapter, options = {}) { @@ -387,13 +405,13 @@ class Category extends StorefrontResource { } getProducts() { return this.adapter.get('products', { category: this.id }).then((products) => { - return new at(products.map((attributes) => new Product(attributes, this.adapter))); + return new Collection(products.map((attributes) => new Product(attributes, this.adapter))); }); } } -q('resource', 'Category', Category); +register('resource', 'Category', Category); -const customerActions = new mt({ +const customerActions = new StoreActions({ // const { error } = await storefront.customers.login('+1 111-1111'); login: function (identity, password = null, attributes = {}) { // handle phone number authentication @@ -440,20 +458,6 @@ class Customer extends StorefrontResource { ...options, }); } - /** - * Set a new adapter to the resource instance, this will update the Store instance - * - * @param {import('@fleetbase/sdk').Adapter} adapter - * @return {this} - */ - setAdapter(adapter) { - this.adapter = adapter; - this.store = new StorefrontStore(this.resource, adapter, { - onAfterFetch: this.syncAttributes.bind(this), - actions: this.options?.actions, - }); - return this; - } get token() { const token = this.getAttribute('token'); return typeof token === 'string' ? token : undefined; @@ -464,9 +468,10 @@ class Customer extends StorefrontResource { performAuthorizedRequest(endpoint, params = {}, method = 'GET', options = {}) { const requestOptions = { ...options, + // Signed out there is no token; send no header rather than "undefined". headers: { ...options.headers, - 'Customer-Token': this.token, + ...(this.token ? { 'Customer-Token': this.token } : {}), }, }; const adapter = this.adapter; @@ -474,11 +479,11 @@ class Customer extends StorefrontResource { } async getSavedPlaces() { const places = await this.performAuthorizedRequest('customers/places'); - return new at(places.map((attributes) => new St(attributes, this.adapter))); + return new Collection(places.map((attributes) => new Place(attributes, this.adapter))); } async getOrderHistory(params = {}) { const orders = await this.performAuthorizedRequest('customers/orders', params); - return new at(orders.map((attributes) => new xt(attributes, this.adapter))); + return new Collection(orders.map((attributes) => new Order$1(attributes, this.adapter))); } getStripeEphemeralKey(params = {}) { return this.performAuthorizedRequest('customers/stripe-ephemeral-key', params, 'POST'); @@ -486,6 +491,14 @@ class Customer extends StorefrontResource { getStripeSetupIntent(params = {}) { return this.performAuthorizedRequest('customers/stripe-setup-intent', params, 'POST'); } + /** + * Mint a short-lived realtime (socket) token for this customer: `POST customers/socket-token`. + * The token lets the customer subscribe to their own channels, such as their orders. + * Refresh it about 60 seconds before `expires_in` elapses. + */ + socketToken(params = {}, options = {}) { + return this.performAuthorizedRequest('customers/socket-token', params, 'POST', options); + } startAccountClosure(params = {}, options = {}) { return this.performAuthorizedRequest('customers/account-closure', params, 'POST', options); } @@ -505,10 +518,10 @@ class Customer extends StorefrontResource { }); } } -q('resource', 'Customer', Customer); +register('resource', 'Customer', Customer); const { isArray } = Array; -const cartActions = new mt({ +const cartActions = new StoreActions({ create: undefined, findAll: undefined, query: undefined, @@ -572,7 +585,7 @@ class Cart extends StorefrontResource { return !this.isEmpty; } } -q('resource', 'Cart', Cart); +register('resource', 'Cart', Cart); class Network extends StorefrontResource { constructor(attributes = {}, adapter, options = {}) { @@ -583,7 +596,7 @@ class Network extends StorefrontResource { } async getResourceCollection(endpoint, ResourceClass, params = {}) { const resources = await this.adapter.get(endpoint, params); - return new at(resources.map((attributes) => new ResourceClass(attributes, this.adapter))); + return new Collection(resources.map((attributes) => new ResourceClass(attributes, this.adapter))); } async getStores(params = {}) { return this.getResourceCollection('stores', Store, params); @@ -608,33 +621,19 @@ class Network extends StorefrontResource { return this.getResourceCollection('gateways', PaymentGateway, params); } } -q('resource', 'Network', Network); +register('resource', 'Network', Network); -class DeliveryServiceQuote extends qt { +class DeliveryServiceQuote extends ServiceQuote { constructor(attributes = {}, adapter, options = {}) { let finalAttributes = attributes; let finalAdapter = adapter; // If `attributes` is actually an Adapter, adjust the arguments accordingly. - if (attributes instanceof Mt || (attributes && typeof attributes.get === 'function' && typeof attributes.post === 'function')) { + if (attributes instanceof Adapter || (attributes && typeof attributes.get === 'function' && typeof attributes.post === 'function')) { finalAttributes = {}; finalAdapter = attributes; } // Call `super()` exactly once with the resolved arguments. - super(finalAttributes, finalAdapter, 'service-quote', options); - } - /** - * Set a new adapter to the resource instance, this will update the Store instance - * - * @param {Adapter} adapter - * @return {this} - */ - setAdapter(adapter) { - this.adapter = adapter; - this.store = new StorefrontStore(this.resource, adapter, { - onAfterFetch: this.syncAttributes.bind(this), - actions: this.options?.actions, - }); - return this; + super(finalAttributes, finalAdapter, options); } get formattedAmount() { const { amount, currency } = this.getAttributes(['amount', 'currency']); @@ -664,7 +663,7 @@ class DeliveryServiceQuote extends qt { all, }); if (isArray$1(serviceQuotes)) { - return new at(serviceQuotes.map((serviceQuote) => new DeliveryServiceQuote(serviceQuote, this.adapter))); + return new Collection(serviceQuotes.map((serviceQuote) => new DeliveryServiceQuote(serviceQuote, this.adapter))); } return new DeliveryServiceQuote(serviceQuotes, this.adapter); } @@ -673,31 +672,31 @@ class DeliveryServiceQuote extends qt { return quote.fetchServiceQuotesFromCart(origin, destination, cart, config, all); } } -q('resource', 'DeliveryServiceQuote', DeliveryServiceQuote); +register('resource', 'DeliveryServiceQuote', DeliveryServiceQuote); -class Order extends xt { +class Order extends Order$1 { constructor(attributes = {}, adapter, options = {}) { super(attributes, adapter, options); } } -q('resource', 'Order', Order); +register('resource', 'Order', Order); -const checkoutActions = new mt({ +const checkoutActions = new StoreActions({ create: undefined, findAll: undefined, query: undefined, queryRecord: undefined, initialize: function (customer, cart, serviceQuote, gateway, orderOptions = {}, options = {}) { - if (wt(customer)) { + if (isResource(customer)) { customer = customer.id; } - if (wt(cart)) { + if (isResource(cart)) { cart = cart.id; } - if (wt(serviceQuote)) { + if (isResource(serviceQuote)) { serviceQuote = serviceQuote.id; } - if (wt(gateway)) { + if (isResource(gateway)) { gateway = gateway.getAttribute('code'); } return this.adapter.get(`${this.namespace}/before`, { ...orderOptions, customer, cart, serviceQuote, gateway }, options); @@ -706,37 +705,37 @@ const checkoutActions = new mt({ return this.adapter.post(`${this.namespace}/capture`, { token, ...params }, options).then((orderJson) => new Order(orderJson, this.adapter)); }, createStripeSetupIntent: function (customer, params = {}, options = {}) { - if (wt(customer)) { + if (isResource(customer)) { customer = customer.id; } return this.adapter.post(`${this.namespace}/stripe-setup-intent`, { customer, ...params }, options); }, updateStripePaymentIntent: function (paymentIntent, customer, cart, serviceQuote, orderOptions = {}, options = {}) { - if (wt(customer)) { + if (isResource(customer)) { customer = customer.id; } - if (wt(cart)) { + if (isResource(cart)) { cart = cart.id; } - if (wt(serviceQuote)) { + if (isResource(serviceQuote)) { serviceQuote = serviceQuote.id; } return this.adapter.put(`${this.namespace}/stripe-update-payment-intent`, { paymentIntent, customer, cart, serviceQuote, ...orderOptions }, options); }, getStatus: function (checkout, token, options = {}) { - if (wt(checkout)) { + if (isResource(checkout)) { checkout = checkout.id; } return this.adapter.get(`${this.namespace}/status`, { checkout, token }, options); }, captureQPay: function (checkout, params = {}, options = {}) { - if (wt(checkout)) { + if (isResource(checkout)) { checkout = checkout.id; } return this.adapter.post(`${this.namespace}/capture-qpay`, { checkout, ...params }, options); }, captureQPayCallback: function (checkout, params = {}, options = {}) { - if (wt(checkout)) { + if (isResource(checkout)) { checkout = checkout.id; } return this.adapter.get(`${this.namespace}/capture-qpay`, { checkout, ...params }, options); @@ -768,19 +767,19 @@ class Checkout extends StorefrontResource { return this.store.captureQPayCallback(checkout, params, options); } } -q('resource', 'Checkout', Checkout); +register('resource', 'Checkout', Checkout); class FoodTruck extends StorefrontResource { constructor(attributes = {}, adapter, options = {}) { super(attributes, adapter, 'food-truck', options); } } -q('resource', 'FoodTruck', FoodTruck); +register('resource', 'FoodTruck', FoodTruck); function idFor(value) { - return wt(value) ? value.id : value; + return isResource(value) ? value.id : value; } -const orderActions = new mt({ +const orderActions = new StoreActions({ create: undefined, update: undefined, findAll: undefined, @@ -831,7 +830,7 @@ class Storefront { if (!isKeyValid(storeKey)) { throw new Error('⚠️ Invalid Storefront key given to Storefront SDK'); } - this.adapter = config.adapter || ht(this.options); + this.adapter = (config.adapter || detectAdapter(this.options)); this.initializeStores(); } initializeStores() { @@ -884,7 +883,7 @@ class Storefront { */ search(query, options = {}) { return this.adapter.get('search', { query, ...options }).then((products) => { - return new at(products.map((product) => new Product(product, this.adapter))); + return new Collection(products.map((product) => new Product(product, this.adapter))); }); } hydrateOwner(attributes = {}) { @@ -905,5 +904,5 @@ class Storefront { } } -export { Cart, Category, Checkout, Customer, DeliveryServiceQuote, FoodTruck, Network, Order, PaymentGateway, Product, Review, Store, StoreHour, StoreLocation, Storefront as default, W as lookup }; +export { Cart, Category, Checkout, Customer, DeliveryServiceQuote, FoodTruck, Network, Order, PaymentGateway, Product, Review, Store, StoreHour, StoreLocation, Storefront as default }; //# sourceMappingURL=storefront.js.map diff --git a/dist/esm/storefront.js.map b/dist/esm/storefront.js.map index 8f642a8..3db3be5 100644 --- a/dist/esm/storefront.js.map +++ b/dist/esm/storefront.js.map @@ -1 +1 @@ -{"version":3,"file":"storefront.js","sources":["../../node_modules/.pnpm/@fleetbase+sdk@1.2.13/node_modules/@fleetbase/sdk/dist/esm/fleetbase.js","../../src/store.ts","../../src/utils/is-phone.ts","../../src/utils/format-currency.ts","../../src/utils/is-key-valid.ts","../../src/utils/is-empty.ts","../../src/utils/array.ts","../../src/resource.ts","../../src/resources/review.ts","../../src/resources/store-hour.ts","../../src/resources/store-location.ts","../../src/resources/payment-gateway.ts","../../src/resources/store.ts","../../src/resources/product.ts","../../src/resources/category.ts","../../src/resources/customer.ts","../../src/resources/cart.ts","../../src/resources/network.ts","../../src/resources/delivery-service-quote.ts","../../src/resources/order.ts","../../src/resources/checkout.ts","../../src/resources/food-truck.ts","../../src/resources/order-actions.ts","../../src/storefront.ts"],"sourcesContent":["function t(t,e){this.v=t,this.k=e}function e(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=Array(e);n=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:i}}throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}var o,a=!0,s=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return a=t.done,t},e:function(t){s=!0,o=t},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function g(t,e,n){return(e=j(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function y(t){return y=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},y(t)}function b(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function\");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,\"prototype\",{writable:!1}),e&&O(t,e)}function m(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(t){}return(m=function(){return!!t})()}function w(t){if(\"undefined\"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t[\"@@iterator\"])return Array.from(t)}function k(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}function E(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function A(t){for(var e=1;e=0;--o){var a=this.tryEntries[o],s=a.completion;if(\"root\"===a.tryLoc)return i(\"end\");if(a.tryLoc<=this.prev){var u=r.call(a,\"catchLoc\"),c=r.call(a,\"finallyLoc\");if(u&&c){if(this.prev=0;--n){var i=this.tryEntries[n];if(i.tryLoc<=this.prev&&r.call(i,\"finallyLoc\")&&this.prev=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),_(n),g}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var r=n.completion;if(\"throw\"===r.type){var i=r.arg;_(n)}return i}}throw Error(\"illegal catch attempt\")},delegateYield:function(e,n,r){return this.delegate={iterator:L(e),resultName:n,nextLoc:r},\"next\"===this.method&&(this.arg=t),g}},e}function O(t,e){return O=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},O(t,e)}function R(t,e){return n(t)||function(t,e){var n=null==t?null:\"undefined\"!=typeof Symbol&&t[Symbol.iterator]||t[\"@@iterator\"];if(null!=n){var r,i,o,a,s=[],u=!0,c=!1;try{if(o=(n=n.call(t)).next,0===e){if(Object(n)!==n)return;u=!1}else for(;!(u=(r=o.call(n)).done)&&(s.push(r.value),s.length!==e);u=!0);}catch(t){c=!0,i=t}finally{try{if(!u&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(c)throw i}}return s}}(t,e)||_(t,e)||k()}function S(t){return function(t){if(Array.isArray(t))return e(t)}(t)||w(t)||_(t)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function j(t){var e=function(t,e){if(\"object\"!=typeof t||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,e||\"default\");if(\"object\"!=typeof r)return r;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===e?String:Number)(t)}(t,\"string\");return\"symbol\"==typeof e?e:e+\"\"}function T(t){return T=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},T(t)}function _(t,n){if(t){if(\"string\"==typeof t)return e(t,n);var r={}.toString.call(t).slice(8,-1);return\"Object\"===r&&t.constructor&&(r=t.constructor.name),\"Map\"===r||\"Set\"===r?Array.from(t):\"Arguments\"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?e(t,n):void 0}}function P(t){return function(){return new L(t.apply(this,arguments))}}function L(e){var n,r;function i(n,r){try{var a=e[n](r),s=a.value,u=s instanceof t;Promise.resolve(u?s.v:s).then((function(t){if(u){var r=\"return\"===n?\"return\":\"next\";if(!s.k||t.done)return i(r,t);t=e[r](t).value}o(a.done?\"return\":\"normal\",t)}),(function(t){i(\"throw\",t)}))}catch(t){o(\"throw\",t)}}function o(t,e){switch(t){case\"return\":n.resolve({value:e,done:!0});break;case\"throw\":n.reject(e);break;default:n.resolve({value:e,done:!1})}(n=n.next)?i(n.key,n.arg):r=null}this._invoke=function(t,e){return new Promise((function(o,a){var s={key:t,arg:e,resolve:o,reject:a,next:null};r?r=r.next=s:(n=r=s,i(t,e))}))},\"function\"!=typeof e.return&&(this.return=void 0)}function C(t){var e=\"function\"==typeof Map?new Map:void 0;return C=function(t){if(null===t||!function(t){try{return-1!==Function.toString.call(t).indexOf(\"[native code]\")}catch(e){return\"function\"==typeof t}}(t))return t;if(\"function\"!=typeof t)throw new TypeError(\"Super expression must either be null or a function\");if(void 0!==e){if(e.has(t))return e.get(t);e.set(t,n)}function n(){return f(t,arguments,y(this).constructor)}return n.prototype=Object.create(t.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),O(n,t)},C(t)}L.prototype[\"function\"==typeof Symbol&&Symbol.asyncIterator||\"@@asyncIterator\"]=function(){return this},L.prototype.next=function(t){return this._invoke(\"next\",t)},L.prototype.throw=function(t){return this._invoke(\"throw\",t)},L.prototype.return=function(t){return this._invoke(\"return\",t)};var N=function(){function t(e){var n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];h(this,t),g(this,\"uncountableWords\",[\"equipment\",\"information\",\"rice\",\"money\",\"species\",\"series\",\"fish\",\"sheep\",\"moose\",\"deer\",\"news\"]),g(this,\"pluralRules\",[[new RegExp(\"(m)an$\",\"gi\"),\"$1en\"],[new RegExp(\"(pe)rson$\",\"gi\"),\"$1ople\"],[new RegExp(\"(child)$\",\"gi\"),\"$1ren\"],[new RegExp(\"^(ox)$\",\"gi\"),\"$1en\"],[new RegExp(\"(ax|test)is$\",\"gi\"),\"$1es\"],[new RegExp(\"(octop|vir)us$\",\"gi\"),\"$1i\"],[new RegExp(\"(alias|status)$\",\"gi\"),\"$1es\"],[new RegExp(\"(bu)s$\",\"gi\"),\"$1ses\"],[new RegExp(\"(buffal|tomat|potat)o$\",\"gi\"),\"$1oes\"],[new RegExp(\"([ti])um$\",\"gi\"),\"$1a\"],[new RegExp(\"sis$\",\"gi\"),\"ses\"],[new RegExp(\"(?:([^f])fe|([lr])f)$\",\"gi\"),\"$1$2ves\"],[new RegExp(\"(hive)$\",\"gi\"),\"$1s\"],[new RegExp(\"([^aeiouy]|qu)y$\",\"gi\"),\"$1ies\"],[new RegExp(\"(x|ch|ss|sh)$\",\"gi\"),\"$1es\"],[new RegExp(\"(matr|vert|ind)ix|ex$\",\"gi\"),\"$1ices\"],[new RegExp(\"([m|l])ouse$\",\"gi\"),\"$1ice\"],[new RegExp(\"(quiz)$\",\"gi\"),\"$1zes\"],[new RegExp(\"s$\",\"gi\"),\"s\"],[new RegExp(\"$\",\"gi\"),\"s\"]]),g(this,\"singularRules\",[[new RegExp(\"(m)en$\",\"gi\"),\"$1an\"],[new RegExp(\"(pe)ople$\",\"gi\"),\"$1rson\"],[new RegExp(\"(child)ren$\",\"gi\"),\"$1\"],[new RegExp(\"([ti])a$\",\"gi\"),\"$1um\"],[new RegExp(\"((a)naly|(b)a|(d)iagno|(p)arenthe|(p)rogno|(s)ynop|(t)he)ses$\",\"gi\"),\"$1$2sis\"],[new RegExp(\"(hive)s$\",\"gi\"),\"$1\"],[new RegExp(\"(tive)s$\",\"gi\"),\"$1\"],[new RegExp(\"(curve)s$\",\"gi\"),\"$1\"],[new RegExp(\"([lr])ves$\",\"gi\"),\"$1f\"],[new RegExp(\"([^fo])ves$\",\"gi\"),\"$1fe\"],[new RegExp(\"([^aeiouy]|qu)ies$\",\"gi\"),\"$1y\"],[new RegExp(\"(s)eries$\",\"gi\"),\"$1eries\"],[new RegExp(\"(m)ovies$\",\"gi\"),\"$1ovie\"],[new RegExp(\"(x|ch|ss|sh)es$\",\"gi\"),\"$1\"],[new RegExp(\"([m|l])ice$\",\"gi\"),\"$1ouse\"],[new RegExp(\"(bus)es$\",\"gi\"),\"$1\"],[new RegExp(\"(o)es$\",\"gi\"),\"$1\"],[new RegExp(\"(shoe)s$\",\"gi\"),\"$1\"],[new RegExp(\"(cris|ax|test)es$\",\"gi\"),\"$1is\"],[new RegExp(\"(octop|vir)i$\",\"gi\"),\"$1us\"],[new RegExp(\"(alias|status)es$\",\"gi\"),\"$1\"],[new RegExp(\"^(ox)en\",\"gi\"),\"$1\"],[new RegExp(\"(vert|ind)ices$\",\"gi\"),\"$1ex\"],[new RegExp(\"(matr)ices$\",\"gi\"),\"$1ix\"],[new RegExp(\"(quiz)zes$\",\"gi\"),\"$1\"],[new RegExp(\"s$\",\"gi\"),\"\"]]),g(this,\"nonTitlecasedWords\",[\"and\",\"or\",\"nor\",\"a\",\"an\",\"the\",\"so\",\"but\",\"to\",\"of\",\"at\",\"by\",\"from\",\"into\",\"on\",\"onto\",\"off\",\"out\",\"in\",\"over\",\"with\",\"for\"]),g(this,\"idSuffix\",new RegExp(\"(_ids|_id)$\",\"g\")),g(this,\"underbar\",new RegExp(\"_\",\"g\")),g(this,\"spaceOrUnderbar\",new RegExp(\"[ _]\",\"g\")),g(this,\"uppercase\",new RegExp(\"([A-Z])\",\"g\")),g(this,\"underbarPrefix\",new RegExp(\"^_\")),this.str=e,this.chain=n}return v(t,[{key:\"get\",value:function(){return this.str}},{key:\"applyRules\",value:function(t,e,n,r){if(r)t=r;else if(!(n.indexOf(t.toLowerCase())>-1))for(var i=0;i1&&void 0!==arguments[1]?arguments[1]:null;return t=t||this.str,this.applyRules(t,this.pluralRules,this.uncountableWords,e)}},{key:\"singularize\",value:function(t,e){return t=t||this.str,this.applyRules(t,this.singularRules,this.uncountableWords,e)}},{key:\"camelize\",value:function(t,e){for(var n=(t=t||this.str).split(\"/\"),r=0;r1&&void 0!==arguments[1]&&arguments[1];return t=t||this.str,t=this.underscore(this.demodulize(t))+(e?\"\":\"_\")+\"id\",this.str=t,!0===this.chain?this:t}},{key:\"ordinalize\",value:function(t){for(var e=(t=t||this.str).split(\" \"),n=0;n2?i-2:0),a=2;a2?n-2:0),i=2;i2?n-2:0),i=2;i2?n-2:0),i=2;i1?e-1:0),r=1;r3&&void 0!==arguments[3]?arguments[3]:[];if(V(t))if(r.length<=X)t.splice.apply(t,[e,n].concat(S(r)));else{t.splice(e,n);for(var i=0;i2&&void 0!==arguments[2]?arguments[2]:0,r=t.length,i=n;i2&&void 0!==arguments[2]?arguments[2]:0,r=arguments.length>3?arguments[3]:void 0,i=t.length;return n<0&&(n+=i),nt(t,r&&e!=e?function(t){return t!=t}:function(t){return t===e},n)}function it(t,e,n){return Q(t,e,0,[n]),n}function ot(){return f(at,Array.prototype.slice.call(arguments))}var at=function(){function t(){return h(this,t),r(V(arguments[0])?l(this,t,S(arguments[0])):l(this,t,arguments))}return b(t,C(Array)),v(t,[{key:\"notEmpty\",get:function(){return this.length>0}},{key:\"empty\",get:function(){return 0===this.length}},{key:\"first\",get:function(){return tt(this,0)}},{key:\"last\",get:function(){return tt(this,this.length-1)}},{key:\"replace\",value:function(t,e){return Q(this,t,e,arguments.length>2&&void 0!==arguments[2]?arguments[2]:[]),this}},{key:\"objectsAt\",value:function(t){var e=this;return t.map((function(t){return tt(e,t)}))}},{key:\"objectAt\",value:function(t){return tt(this,t)}},{key:\"indexOf\",value:function(t,e){return rt(this,t,e,!1)}},{key:\"lastIndexOf\",value:function(t,e){var n=this.length;(void 0===e||e>=n)&&(e=n-1),e<0&&(e+=n);for(var r=e;r>=0;r--)if(tt(this,r)===t)return r;return-1}},{key:\"includes\",value:function(t,e){return-1!==rt(this,t,e,!0)}},{key:\"findBy\",value:function(){return t=this,e=et.apply(void 0,arguments),-1===(r=nt(t,e.bind(n),0))?void 0:tt(t,r);var t,e,n,r}},{key:\"findIndexBy\",value:function(){return nt(this,et.apply(void 0,arguments))}},{key:\"isEvery\",value:function(){return t=this,e=et.apply(void 0,arguments),r=e.bind(n),-1===nt(t,(function(t,e,n){return!r(t,e,n)}),0);var t,e,n,r}},{key:\"isAny\",value:function(){return t=this,e=et.apply(void 0,arguments),-1!==nt(t,e.bind(n),0);var t,e,n}},{key:\"invoke\",value:function(t){for(var e=arguments.length,n=new Array(e>1?e-1:0),r=1;r1&&void 0!==arguments[1]?arguments[1]:Y,n=[],r=new Set,i=\"function\"==typeof e?e:function(t){return get(t,e)};return t.forEach((function(t){var e=i(t);r.has(e)||(r.add(e),n.push(t))})),n}(this,t)}},{key:\"without\",value:function(t){if(!this.includes(t))return this;var e=t==t?function(e){return e!==t}:function(t){return t==t};return this.filter(e)}},{key:\"clear\",value:function(){var t=this.length;return 0===t||this.replace(0,t,[]),this}},{key:\"insertAt\",value:function(t,e){return it(this,t,e),this}},{key:\"replaceAt\",value:function(t,e){return this.replace(t,1,[e])}},{key:\"removeAt\",value:function(t,e){return function(t,e){return Q(t,e,arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,[]),t}(this,t,e)}},{key:\"pushObject\",value:function(t){return this.insertAt(this.length,t)}},{key:\"pushObjects\",value:function(t){return this.replace(this.length,0,t),this}},{key:\"popObject\",value:function(){var t=this.length;if(0===t)return null;var e=tt(this,t-1);return this.removeAt(t-1,1),e}},{key:\"shiftObject\",value:function(){if(0===this.length)return null;var t=tt(this,0);return this.removeAt(0),t}},{key:\"unshiftObject\",value:function(t){return it(this,0,t)}},{key:\"unshiftObjects\",value:function(t){return this.replace(0,0,t),this}},{key:\"reverseObjects\",value:function(){var t=this.length;if(0===t)return this;var e=this.toArray().reverse();return this.replace(0,t,e),this}},{key:\"setObjects\",value:function(t){if(0===t.length)return this.clear();var e=this.length;return this.replace(0,e,t),this}},{key:\"removeObject\",value:function(t){for(var e=this.length||0;--e>=0;){tt(this,e)===t&&this.removeAt(e)}return this}},{key:\"removeObjects\",value:function(t){for(var e=t.length-1;e>=0;e--)this.removeObject(t[e]);return this}},{key:\"addObject\",value:function(t){return this.includes(t)||this.pushObject(t),this}},{key:\"addObjects\",value:function(t){var e=this;return t.forEach((function(t){return e.addObject(t)})),this}}])}();function st(t){var e=null==t;if(e)return e;if(\"number\"==typeof t.size)return!t.size;var n=T(t);if(\"object\"===n){var r=t.size;if(\"number\"==typeof r)return!r}if(\"number\"==typeof t.length&&\"function\"!==n)return!t.length;if(\"object\"===n){var i=t.length;if(\"number\"==typeof i)return!i}return!1}function ut(t){return isFinite(t)&&Math.abs(t)<=90}function ct(t){return isFinite(t)&&Math.abs(t)<=180&&Math.abs(t)>=90}function lt(){var t,e,n;return!(\"undefined\"==typeof process||\"object\"!==T(null===(t=process)||void 0===t?void 0:t.env)&&-1===(null===(e=process.release)||void 0===e||null===(e=e.name)||void 0===e?void 0:e.search(/node|io.js/))||\"undefined\"!=typeof window&&\"ReactNative\"!==(null===(n=window)||void 0===n||null===(n=n.navigator)||void 0===n?void 0:n.product))}function ht(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return lt()?W(\"adapter\",\"NodeAdapter\",t):W(\"adapter\",\"BrowserAdapter\",t)}var ft=function(){return v((function t(e){h(this,t),this.place=e,this.geometry=null==e?void 0:e.geometry,this.components=this.parseComponents(),this.attributes=this.parseProperties()}),[{key:\"parse\",value:function(){this.parseComponents(),this.parseProperties()}},{key:\"parseComponents\",value:function(){var t;return((null===(t=this.place)||void 0===t?void 0:t.address_components)||[]).reduce((function(t,e){return e.types.forEach((function(n){t[n]=e})),t}),{})}},{key:\"parseProperties\",value:function(){var t,e={streetNumber:this.get(\"street_number\"),streetName:this.get(\"route\"),coordinates:null!==(t=this.geometry)&&void 0!==t&&t.location?Object.values(this.geometry.location):[0,0],city:this.or([\"locality\",\"sublocality\",\"sublocality_level_1\",\"neighborhood\",\"administrative_area_level_3\",\"administrative_area_level_2\"]),county:this.get(\"administrative_area_level_2\"),stateShort:this.get(\"administrative_area_level_1\",!0),stateLong:this.get(\"administrative_area_level_1\"),countryShort:this.get(\"country\",!0),country:this.get(\"country\",!0),countryLong:this.get(\"country\"),postalCode:this.get(\"postal_code\")};return e.address=[e.streetNumber,e.streetName].filter(Boolean).join(\" \"),e}},{key:\"all\",value:function(){return this.attributes}},{key:\"or\",value:function(){var t,e=p(arguments.length>0&&void 0!==arguments[0]?arguments[0]:[]);try{for(e.s();!(t=e.n()).done;){var n=t.value;if(V(n)){var r=n[0],i=n[1];if(this.has(r))return this.get(r,i)}else if(this.has(n))return this.get(n)}}catch(t){e.e(t)}finally{e.f()}return null}},{key:\"has\",value:function(t){return t in this.components}},{key:\"get\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return t in this.components?e?this.components[t].short_name:this.components[t].long_name:null}},{key:\"setAttributes\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this.attributes=A(A({},this.attributes),t),this}},{key:\"setAttribute\",value:function(t,e){return this.attributes[t]=e,this}},{key:\"getAttribute\",value:function(t){return this.attributes[t]||null}}])}(),dt=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;h(this,t),this.type=\"Point\",this.coordinates=[n,e]}return v(t,[{key:\"latitude\",get:function(){return this.coordinates[1]}},{key:\"longitude\",get:function(){return this.coordinates[0]}},{key:\"lat\",value:function(){return this.latitude}},{key:\"lng\",value:function(){return this.longitude}},{key:\"serialize\",value:function(){return{type:\"Point\",coorindates:[this.lat(),this.lng()]}}},{key:\"toJson\",value:function(){return this.serialize()}},{key:\"toString\",value:function(){return\"(\".concat(this.latitude,\", \").concat(this.longitude,\")\")}}],[{key:\"fromGeoJson\",value:function(e){var n=R(e.coordinates,2),r=n[0];return new t(n[1],r)}}])}();function vt(t,e){var n=t();return Array.isArray(n)||\"object\"===T(n)?pt(n,e):null}function pt(t,e){var n,r=t,i=T(t),o=\"object\"===i,a=\"function\"===i,s=Array.isArray(t),u=\"string\"===T(e)&&e.includes(\".\")?e.split(\".\"):[e];if(s||o){for(var c=0;c1&&void 0!==arguments[1]?arguments[1]:[];if(t.actions=V(e)?e:[e],!V(e))return e instanceof mt&&e.extend(t),t;var n,r=p(e);try{for(r.s();!(n=r.n()).done;){var i=n.value;t.extendActions(i)}}catch(t){r.e(t)}finally{r.f()}}function bt(t){for(var e=arguments.length,n=new Array(e>1?e-1:0),r=1;r0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;h(this,t),this.actions=e,this.bind=n}),[{key:\"extend\",value:function(){var t=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:null)||this.bind;if(!t)return this;if(null!=this&&this.actions&&\"object\"===T(this.actions))for(var e in this.actions){var n=this.actions[e];\"function\"==typeof n?gt(t,e,n.bind(t)):gt(t,e,n)}return this}}])}();function wt(t){return t instanceof kt}var kt=function(){return v((function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0,r=arguments.length>2?arguments[2]:void 0,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};h(this,t),this.attributes=e,this.dirtyAttributes={},this.changes={},this.isLoading=!1,this.isSaving=!1,this.isDestroying=!1,this.isReloading=!1,this.resource=r,this.options=i,this.version=i.version||\"v1\",this.setAdapter(n)}),[{key:\"setAdapter\",value:function(t){var e;return this.adapter=t,this.store=M(this.resource,t,{onAfterFetch:this.syncAttributes.bind(this),actions:null===(e=this.options)||void 0===e?void 0:e.actions}),this}},{key:\"id\",get:function(){return this.getAttribute(\"id\")}},{key:\"create\",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=this.mergeAttributes(e);return this.setFlags([\"isLoading\",\"isSaving\"]),this.store.create(n).then((function(e){return t.setFlags([\"isLoading\",\"isSaving\"],!1),e}))}},{key:\"update\",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this.setFlags([\"isLoading\",\"isSaving\"]),this.store.update(this.attributes.id,e).then((function(e){return t.setFlags([\"isLoading\",\"isSaving\"],!1),e}))}},{key:\"destroy\",value:function(){var t=this;return this.setFlags([\"isLoading\",\"isDestroying\"]),this.store.destroy(this.attributes.id).then((function(e){return t.setFlags([\"isLoading\",\"isDestroying\"],!1),e}))}},{key:\"reload\",value:function(){var t=this;return this.setFlags([\"isLoading\",\"isReloading\"]),this.store.findRecord(this.attributes.id).then((function(e){return t.reset(),e}))}},{key:\"setFlags\",value:function(){for(var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=[\"isLoading\",\"isSaving\",\"isReloading\",\"isDestroying\"],r=0;r0&&void 0!==arguments[0]?arguments[0]:{},e=this.getAttributes();return st(this.id)?this.create(e):!0===t.onlyDirty?this.savedirty():this.update(e)}},{key:\"saveDirty\",value:function(){for(var t=Object.keys(this.dirtyAttributes),e={},n=0;n0}},{key:\"mutate\",value:function(t,e){this.attributes[t]=e}},{key:\"setAttribute\",value:function(t){var e,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;if(null===n&&\"object\"===T(t))return this.setAttributes(t);var r=null!==(e=null==this?void 0:this.attributes[t])&&void 0!==e?e:null;return gt(this.attributes,t,n),gt(this.dirtyAttributes,t,r),V(null==this?void 0:this.changes[t])||(this.changes[t]=[]),this.changes[t].push({property:t,previousValue:r,value:n,changedAt:new Date}),this}},{key:\"setAttributes\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};for(var e in t)this.setAttribute(e,t[e]);return this}},{key:\"getAttribute\",value:function(t){var e,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=pt(null!==(e=null==this?void 0:this.attributes)&&void 0!==e?e:{},t);return void 0===r?n:r}},{key:\"hasAttribute\",value:function(t){if(V(t)){var e,n=t,r=Object.keys(null!==(e=this.attributes)&&void 0!==e?e:{});return n.every((function(t){return r.includes(t)}))}return!(null==this||!this.attributes)&&t in this.attributes}},{key:\"hasAttributes\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return this.hasAttribute(t)}},{key:\"isAttributeFilled\",value:function(t){var e=this;return V(t)?this.hasAttribute(t)&&t.every((function(t){return!st(e.getAttribute(t))})):this.hasAttribute(t)&&!st(this.getAttribute(t))}},{key:\"getAttributes\",value:function(t){var e={};if(null==t)return this.getAttributes(Object.keys(this.attributes));if(\"string\"==typeof t)return this.getAttribute(Array.prototype.slice.call(arguments));if(!V(t))throw new Error(\"No attribute properties provided!\");var n,r=p(t);try{for(r.s();!(n=r.n()).done;){var i,o,a=n.value;if(\"string\"==typeof a){var s=this.getAttribute(a);\"object\"!==T(null===(i=s)||void 0===i?void 0:i.attributes)||V(null===(o=s)||void 0===o?void 0:o.attributes)||(s=s.attributes),e[a]=s}}}catch(t){r.e(t)}finally{r.f()}return e}},{key:\"serialize\",value:function(){return this.getAttributes()}},{key:\"mergeAttributes\",value:function(){var t,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=null!==(t=null==this?void 0:this.attributes)&&void 0!==t?t:{};return this.attributes=A(A({},n),e),this.attributes}},{key:\"syncAttributes\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.attributes=t}}])}();q(\"resource\",\"Resource\",kt);var Et=function(){return v((function t(e,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};h(this,t),this.resource=e,this.adapter=n||ht(),this.namespace=F(e),this.storage=ot(),this.options=r,this.extendActions(r.actions)}),[{key:\"extendActions\",value:function(){return yt(this,arguments.length>0&&void 0!==arguments[0]?arguments[0]:[])}},{key:\"deposit\",value:function(t){return t}},{key:\"serialize\",value:function(t){return W(\"resource\",z(this.resource),t,this.adapter)}},{key:\"afterFetch\",value:function(t){return function(t,e){if(\"function\"==typeof t.options.onAfterFetch&&t.options.onAfterFetch(e),V(e)){var n,r=[],i=p(e);try{for(i.s();!(n=i.n()).done;){var o=n.value;r.push(t.afterFetch(o))}}catch(t){i.e(t)}finally{i.f()}return ot.apply(void 0,r)}var a=t.serialize(e);return t.deposit(a)}(this,t)}},{key:\"create\",value:(a=u(x().mark((function t(){var e,n,r,i=arguments;return x().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return e=i.length>0&&void 0!==i[0]?i[0]:{},n=i.length>1&&void 0!==i[1]?i[1]:{},t.next=4,this.adapter.post(\"\".concat(this.namespace),e,n);case 4:return r=t.sent,t.abrupt(\"return\",this.afterFetch(r));case 6:case\"end\":return t.stop()}}),t,this)}))),function(){return a.apply(this,arguments)})},{key:\"update\",value:(o=u(x().mark((function t(e){var n,r,i,o=arguments;return x().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=o.length>1&&void 0!==o[1]?o[1]:{},r=o.length>2&&void 0!==o[2]?o[2]:{},t.next=4,this.adapter.put(\"\".concat(this.namespace,\"/\").concat(e),n,r);case 4:return i=t.sent,t.abrupt(\"return\",this.afterFetch(i));case 6:case\"end\":return t.stop()}}),t,this)}))),function(t){return o.apply(this,arguments)})},{key:\"findRecord\",value:(i=u(x().mark((function t(e){var n,r,i=arguments;return x().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=i.length>1&&void 0!==i[1]?i[1]:{},t.next=3,this.adapter.get(\"\".concat(this.namespace,\"/\").concat(e),{},n);case 3:return r=t.sent,t.abrupt(\"return\",this.afterFetch(r));case 5:case\"end\":return t.stop()}}),t,this)}))),function(t){return i.apply(this,arguments)})},{key:\"findAll\",value:(r=u(x().mark((function t(){var e,n,r=arguments;return x().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return e=r.length>0&&void 0!==r[0]?r[0]:{},t.next=3,this.adapter.get(\"\".concat(this.namespace),{},e);case 3:return n=t.sent,t.abrupt(\"return\",this.afterFetch(n));case 5:case\"end\":return t.stop()}}),t,this)}))),function(){return r.apply(this,arguments)})},{key:\"query\",value:(n=u(x().mark((function t(){var e,n,r,i=arguments;return x().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return e=i.length>0&&void 0!==i[0]?i[0]:{},n=i.length>1&&void 0!==i[1]?i[1]:{},t.next=4,this.adapter.get(\"\".concat(this.namespace),e,n);case 4:return r=t.sent,t.abrupt(\"return\",this.afterFetch(r));case 6:case\"end\":return t.stop()}}),t,this)}))),function(){return n.apply(this,arguments)})},{key:\"queryRecord\",value:(e=u(x().mark((function t(){var e,n,r,i=arguments;return x().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=i.length>1&&void 0!==i[1]?i[1]:{},(e=i.length>0&&void 0!==i[0]?i[0]:{}).single=!0,t.next=5,this.adapter.get(\"\".concat(this.namespace),e,n);case 5:return r=t.sent,t.abrupt(\"return\",this.afterFetch(r));case 7:case\"end\":return t.stop()}}),t,this)}))),function(){return e.apply(this,arguments)})},{key:\"destroy\",value:(t=u(x().mark((function t(e){var n,r,i,o=arguments;return x().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=o.length>1&&void 0!==o[1]?o[1]:{},r=wt(e)?e.getAttribute(\"id\"):e,t.next=4,this.adapter.delete(\"\".concat(this.namespace,\"/\").concat(r),{},n);case 4:return i=t.sent,t.abrupt(\"return\",this.afterFetch(i));case 6:case\"end\":return t.stop()}}),t,this)}))),function(e){return t.apply(this,arguments)})}]);var t,e,n,r,i,o,a}();q(\"store\",\"Store\",Et);var At=new mt({getDistanceAndTime:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.adapter.get(\"\".concat(this.namespace,\"/\").concat(t,\"/distance-and-time\"),e,n)},getNextActivity:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.adapter.get(\"\".concat(this.namespace,\"/\").concat(t,\"/next-activity\"),e,n)},dispatch:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.adapter.post(\"\".concat(this.namespace,\"/\").concat(t,\"/dispatch\"),e,n).then(this.afterFetch.bind(this))},start:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.adapter.post(\"\".concat(this.namespace,\"/\").concat(t,\"/start\"),e,n).then(this.afterFetch.bind(this))},updateActivity:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.adapter.post(\"\".concat(this.namespace,\"/\").concat(t,\"/update-activity\"),e,n).then(this.afterFetch.bind(this))},setDestination:function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return wt(e)&&(e=e.id),this.adapter.post(\"\".concat(this.namespace,\"/\").concat(t,\"/set-destination/\").concat(e),n,r).then(this.afterFetch.bind(this))},captureQrCode:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return wt(e)&&(e=e.id),this.adapter.post(\"\".concat(this.namespace,\"/\").concat(t,\"/capture-qr\").concat(e?\"/\"+e:\"\"),n,r)},captureSignature:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return wt(e)&&(e=e.id),this.adapter.post(\"\".concat(this.namespace,\"/\").concat(t,\"/capture-signature\").concat(e?\"/\"+e:\"\"),n,r)},complete:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.adapter.post(\"\".concat(this.namespace,\"/\").concat(t,\"/complete\"),e,n).then(this.afterFetch.bind(this))},cancel:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.adapter.delete(\"\".concat(this.namespace,\"/\").concat(t,\"/cancel\"),e,n).then(this.afterFetch.bind(this))}}),xt=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return h(this,t),l(this,t,[e,n,\"order\",A({actions:At},r)])}return b(t,kt),v(t,[{key:\"getDistanceAndTime\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.store.getDistanceAndTime(this.id,t,e)}},{key:\"dispatch\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.store.dispatch(this.id,t,e)}},{key:\"start\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.store.start(this.id,t,e)}},{key:\"setDestination\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.store.setDestination(this.id,t,e,n)}},{key:\"captureQrCode\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.store.captureQrCode(this.id,t,e,n)}},{key:\"captureSignature\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.store.captureSignature(this.id,t,e,n)}},{key:\"getNextActivity\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.store.getNextActivity(this.id,t,e)}},{key:\"updateActivity\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.store.updateActivity(this.id,t,e)}},{key:\"cancel\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.store.cancel(this.id,t,e)}},{key:\"complete\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.store.complete(this.id,t,e)}},{key:\"isDispatched\",get:function(){return null!==this.getAttribute(\"dispatched_at\")}},{key:\"isNotDispatched\",get:function(){return null==this.getAttribute(\"dispatched_at\")}},{key:\"isStarted\",get:function(){return null!==this.getAttribute(\"started_at\")}},{key:\"isNotStarted\",get:function(){return null==this.getAttribute(\"started_at\")}},{key:\"isCompleted\",get:function(){return\"completed\"==this.getAttribute(\"status\")}},{key:\"isCanceled\",get:function(){return\"canceled\"==this.getAttribute(\"status\")}},{key:\"isEnroute\",get:function(){return\"driver_enroute\"==this.getAttribute(\"status\")||\"enroute\"===this.getAttribute(\"status\")}},{key:\"isInProgress\",get:function(){return this.isStarted&&!this.isCanceled&&!this.isCompleted}},{key:\"scheduledAt\",get:function(){return this.isAttributeFilled(\"scheduled_at\")?new Date(this.getAttribute(\"scheduled_at\")):null}},{key:\"startedAt\",get:function(){return this.isAttributeFilled(\"started_at\")?new Date(this.getAttribute(\"started_at\")):null}},{key:\"dispatchedAt\",get:function(){return this.isAttributeFilled(\"dispatched_at\")?new Date(this.getAttribute(\"dispatched_at\")):null}},{key:\"status\",get:function(){return this.getAttribute(\"status\")}}])}();q(\"resource\",\"Order\",xt);var Ot=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return h(this,t),l(this,t,[e,n,\"payload\",r])}return b(t,kt),v(t,[{key:\"attach\",value:function(t){}},{key:\"entities\",get:function(){var t=this;return ot(this.entities.map((function(e){return G(\"Entity\",e,t.adapter)})))}},{key:\"dropoff\",get:function(){return this.dropoff?G(\"Place\",this.dropoff,this.adapter):null}},{key:\"pickup\",get:function(){return this.pickup?G(\"Place\",this.pickup,this.adapter):null}},{key:\"waypoints\",get:function(){var t=this;return ot(this.waypoints.map((function(e){return G(\"Waypoint\",e,t.adapter)})))}}])}();q(\"resource\",\"Payload\",Ot);var Rt=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return h(this,t),l(this,t,[e,n,\"entity\",r])}return b(t,kt),v(t)}();q(\"resource\",\"Entity\",Rt);var St=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return h(this,t),l(this,t,[e,n,\"place\",r])}return b(t,kt),v(t,[{key:\"latitude\",get:function(){var t;return null===(t=this.getAttribute(\"location\",new dt))||void 0===t?void 0:t.coordinates[1]}},{key:\"longitude\",get:function(){var t;return null===(t=this.getAttribute(\"location\",new dt))||void 0===t?void 0:t.coordinates[0]}},{key:\"coordinates\",get:function(){return[this.latitude,this.longitude]}},{key:\"setOwner\",value:function(t){return wt(t)&&this.setAttribute(\"owner\",t.id),\"string\"==typeof t&&this.setAttribute(\"owner\",t),this}}],[{key:\"fromGoogleAddress\",value:function(e,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=R(e.getAttribute(\"coordinates\"),2),o=i[0],a=i[1];return new t({name:null,address:e.getAttribute(\"address\"),location:new dt(o,a),street1:e.getAttribute(\"address\"),street2:null,city:e.getAttribute(\"city\"),province:e.getAttribute(\"stateLong\"),postal_code:e.getAttribute(\"postalCode\"),neighborhood:e.get(\"neighborhood\"),district:e.getAttribute(\"county\"),building:e.get(\"building\"),country:e.getAttribute(\"countryShort\"),phone:null,security_access_code:null},n,r)}}])}();q(\"resource\",\"Place\",St);var jt=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return h(this,t),l(this,t,[e,n,\"waypoint\",r])}return b(t,St),v(t)}();q(\"resource\",\"Waypoint\",jt);var Tt=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return h(this,t),l(this,t,[e,n,\"tracking-status\",r])}return b(t,kt),v(t)}();q(\"resource\",\"TrackingStatus\",Tt);var _t=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return h(this,t),l(this,t,[e,n,\"vehicle\",r])}return b(t,kt),v(t)}();q(\"resource\",\"Vehicle\",_t);var Pt=new mt({current:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.adapter.get(\"\".concat(this.namespace,\"/current\"),t,e)}}),Lt=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return h(this,t),l(this,t,[e,n,\"organization\",A({actions:Pt},r)])}return b(t,kt),v(t)}();q(\"resource\",\"Organization\",Lt);var Ct=function(t,e){return V(t)?t.map((function(t){return new Lt(t,e)})):new Lt(t,e)},Nt=new mt({login:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(function(){return/^[+]?[\\s./0-9]*[(]?[0-9]{1,4}[)]?[-\\s./0-9]*$/g.test(arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"\")}(t))return this.adapter.post(\"drivers/login-with-sms\",{phone:t});if(!e)throw new Error(\"Login requires password!\");return this.adapter.post(\"drivers/login\",A({identity:t,password:e},n)).then(this.afterFetch.bind(this))},verifyCode:function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.adapter.post(\"drivers/verify-code\",A({identity:t,code:e},n)).then(this.afterFetch.bind(this))},track:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.adapter.post(\"drivers/\".concat(t,\"/track\"),e,n).then(this.afterFetch.bind(this))},listOrganizations:function(t){var e=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.adapter.get(\"drivers/\".concat(t,\"/organizations\"),n,r).then((function(t){return Ct(t,e.adapter)}))},switchOrganization:function(t){var e=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.adapter.post(\"drivers/\".concat(t,\"/switch-organization\"),n,r).then((function(t){return Ct(t,e.adapter)}))},currentOrganization:function(t){var e=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.adapter.get(\"drivers/\".concat(t,\"/current-organization\"),n,r).then((function(t){return Ct(t,e.adapter)}))},retrieve:function(t){return this.findRecord(t)},syncDevice:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.adapter.post(\"drivers/\".concat(t,\"/register-device\"),e,n)}}),Ft=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return h(this,t),l(this,t,[e,n,\"driver\",A({actions:Nt},r)])}return b(t,kt),v(t,[{key:\"token\",get:function(){return this.getAttribute(\"token\")}},{key:\"isOnline\",get:function(){return!0===this.getAttribute(\"online\")}},{key:\"latitude\",get:function(){var t;return null===(t=this.getAttribute(\"location\",new dt))||void 0===t?void 0:t.coordinates[1]}},{key:\"longitude\",get:function(){var t;return null===(t=this.getAttribute(\"location\",new dt))||void 0===t?void 0:t.coordinates[0]}},{key:\"coordinates\",get:function(){return[this.latitude,this.longitude]}},{key:\"track\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.store.track(this.id,t,e)}},{key:\"syncDevice\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.store.syncDevice(this.id,t,e)}},{key:\"listOrganizations\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.store.listOrganizations(this.id,t,e)}},{key:\"switchOrganization\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.store.switchOrganization(this.id,{next:t},e)}},{key:\"currentOrganization\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.store.currentOrganization(this.id,t,e)}}])}();q(\"resource\",\"Driver\",Ft);var Dt=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return h(this,t),l(this,t,[e,n,\"vendor\",r])}return b(t,kt),v(t)}();q(\"resource\",\"Vendor\",Dt);var $t=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return h(this,t),l(this,t,[e,n,\"contact\",r])}return b(t,kt),v(t)}();q(\"resource\",\"Contact\",$t);var Ut=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return h(this,t),l(this,t,[e,n,\"zone\",r])}return b(t,kt),v(t)}();q(\"resource\",\"Zone\",Ut);var zt=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return h(this,t),l(this,t,[e,n,\"service-area\",r])}return b(t,kt),v(t)}();q(\"resource\",\"ServiceArea\",zt);var Bt=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return h(this,t),l(this,t,[e,n,\"service-rate\",r])}return b(t,kt),v(t)}();q(\"resource\",\"ServiceRate\",Bt);var qt=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return h(this,t),l(this,t,[e,n,\"service-quote\",r])}return b(t,kt),v(t,[{key:\"fromPreliminary\",value:function(){}},{key:\"fromPayload\",value:function(){}}])}();q(\"resource\",\"ServiceQuote\",qt);var It=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return h(this,t),l(this,t,[e,n,\"fleet\",r])}return b(t,kt),v(t)}();q(\"resource\",\"Fleet\",It);var Mt=v((function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};h(this,t),this.version=e.version||\"v1\",this.host=e.host||null,this.namespace=e.namespace||null,this.headers=e.headers||{}}));q(\"adapter\",\"Adapter\",Mt);var Ht=function(){function t(e){var n;return h(this,t),(n=l(this,t,[e])).setHeaders({Authorization:\"Bearer \".concat(e.publicKey),\"Content-Type\":\"application/json\",\"User-Agent\":\"@fleetbase/sdk;browser\"}),n}return b(t,Mt),v(t,[{key:\"setHeaders\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this.headers=A(A({},this.headers),t),this}},{key:\"parseJSON\",value:function(t){return new Promise((function(e,n){t.json().then((function(n){e({statusText:t.statusText,status:t.status,ok:t.ok,json:n})})).catch((function(){n(new Error(\"Oops! Something went wrong when handling your request.\"))}))}))}},{key:\"request\",value:function(t){var e=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"GET\",r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return new Promise((function(o,a){fetch(i.url||\"\".concat(e.host,\"/\").concat(e.namespace,\"/\").concat(t),A({method:n,mode:i.mode||\"cors\",headers:new Headers(A(A({},e.headers||{}),i.headers||{}))},r)).then(e.parseJSON).then((function(t){if(t.ok)return o(t.json);a(new Error(t.json.errors?t.json.errors[0]:t.statusText))})).catch((function(t){a(t)}))}))}},{key:\"get\",value:function(t){var e,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=st(e=n)||\"string\"==typeof e&&!1===/\\S/.test(e)?\"\":new URLSearchParams(n).toString();return this.request(\"\".concat(t).concat(i?\"?\".concat(i):\"\"),\"GET\",{},r)}},{key:\"post\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.request(t,\"POST\",{body:JSON.stringify(e)},n)}},{key:\"put\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.request(t,\"PUT\",{body:JSON.stringify(e)},n)}},{key:\"delete\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.request(t,\"DELETE\",{},e)}},{key:\"patch\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.request(t,\"PATCH\",{body:JSON.stringify(e)},n)}}])}();function Jt(t,e){return function(){return t.apply(e,arguments)}}q(\"adapter\",\"BrowserAdapter\",Ht);var Wt,Kt=Object.prototype.toString,Gt=Object.getPrototypeOf,Vt=(Wt=Object.create(null),function(t){var e=Kt.call(t);return Wt[e]||(Wt[e]=e.slice(8,-1).toLowerCase())}),Xt=function(t){return t=t.toLowerCase(),function(e){return Vt(e)===t}},Qt=function(t){return function(e){return T(e)===t}},Yt=Array.isArray,Zt=Qt(\"undefined\");var te=Xt(\"ArrayBuffer\");var ee=Qt(\"string\"),ne=Qt(\"function\"),re=Qt(\"number\"),ie=function(t){return null!==t&&\"object\"===T(t)},oe=function(t){if(\"object\"!==Vt(t))return!1;var e=Gt(t);return!(null!==e&&e!==Object.prototype&&null!==Object.getPrototypeOf(e)||Symbol.toStringTag in t||Symbol.iterator in t)},ae=Xt(\"Date\"),se=Xt(\"File\"),ue=Xt(\"Blob\"),ce=Xt(\"FileList\"),le=Xt(\"URLSearchParams\"),he=R([\"ReadableStream\",\"Request\",\"Response\",\"Headers\"].map(Xt),4),fe=he[0],de=he[1],ve=he[2],pe=he[3];function ge(t,e){var n,r,i=(arguments.length>2&&void 0!==arguments[2]?arguments[2]:{}).allOwnKeys,o=void 0!==i&&i;if(null!=t)if(\"object\"!==T(t)&&(t=[t]),Yt(t))for(n=0,r=t.length;n0;)if(e===(n=r[i]).toLowerCase())return n;return null}var be=\"undefined\"!=typeof globalThis?globalThis:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:global,me=function(t){return!Zt(t)&&t!==be};var we,ke=(we=\"undefined\"!=typeof Uint8Array&&Gt(Uint8Array),function(t){return we&&t instanceof we}),Ee=Xt(\"HTMLFormElement\"),Ae=function(){var t=Object.prototype.hasOwnProperty;return function(e,n){return t.call(e,n)}}(),xe=Xt(\"RegExp\"),Oe=function(t,e){var n=Object.getOwnPropertyDescriptors(t),r={};ge(n,(function(n,i){var o;!1!==(o=e(n,i,t))&&(r[i]=o||n)})),Object.defineProperties(t,r)},Re=\"abcdefghijklmnopqrstuvwxyz\",Se=\"0123456789\",je={DIGIT:Se,ALPHA:Re,ALPHA_DIGIT:Re+Re.toUpperCase()+Se};var Te,_e,Pe,Le,Ce=Xt(\"AsyncFunction\"),Ne=(Te=\"function\"==typeof setImmediate,_e=ne(be.postMessage),Te?setImmediate:_e?(Pe=\"axios@\".concat(Math.random()),Le=[],be.addEventListener(\"message\",(function(t){var e=t.source,n=t.data;e===be&&n===Pe&&Le.length&&Le.shift()()}),!1),function(t){Le.push(t),be.postMessage(Pe,\"*\")}):function(t){return setTimeout(t)}),Fe=\"undefined\"!=typeof queueMicrotask?queueMicrotask.bind(be):\"undefined\"!=typeof process&&process.nextTick||Ne,De={isArray:Yt,isArrayBuffer:te,isBuffer:function(t){return null!==t&&!Zt(t)&&null!==t.constructor&&!Zt(t.constructor)&&ne(t.constructor.isBuffer)&&t.constructor.isBuffer(t)},isFormData:function(t){var e;return t&&(\"function\"==typeof FormData&&t instanceof FormData||ne(t.append)&&(\"formdata\"===(e=Vt(t))||\"object\"===e&&ne(t.toString)&&\"[object FormData]\"===t.toString()))},isArrayBufferView:function(t){return\"undefined\"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(t):t&&t.buffer&&te(t.buffer)},isString:ee,isNumber:re,isBoolean:function(t){return!0===t||!1===t},isObject:ie,isPlainObject:oe,isReadableStream:fe,isRequest:de,isResponse:ve,isHeaders:pe,isUndefined:Zt,isDate:ae,isFile:se,isBlob:ue,isRegExp:xe,isFunction:ne,isStream:function(t){return ie(t)&&ne(t.pipe)},isURLSearchParams:le,isTypedArray:ke,isFileList:ce,forEach:ge,merge:function t(){for(var e=(me(this)&&this||{}).caseless,n={},r=function(r,i){var o=e&&ye(n,i)||i;oe(n[o])&&oe(r)?n[o]=t(n[o],r):oe(r)?n[o]=t({},r):Yt(r)?n[o]=r.slice():n[o]=r},i=0,o=arguments.length;i3&&void 0!==arguments[3]?arguments[3]:{}).allOwnKeys}),t},trim:function(t){return t.trim?t.trim():t.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g,\"\")},stripBOM:function(t){return 65279===t.charCodeAt(0)&&(t=t.slice(1)),t},inherits:function(t,e,n,r){t.prototype=Object.create(e.prototype,r),t.prototype.constructor=t,Object.defineProperty(t,\"super\",{value:e.prototype}),n&&Object.assign(t.prototype,n)},toFlatObject:function(t,e,n,r){var i,o,a,s={};if(e=e||{},null==t)return e;do{for(o=(i=Object.getOwnPropertyNames(t)).length;o-- >0;)a=i[o],r&&!r(a,t,e)||s[a]||(e[a]=t[a],s[a]=!0);t=!1!==n&&Gt(t)}while(t&&(!n||n(t,e))&&t!==Object.prototype);return e},kindOf:Vt,kindOfTest:Xt,endsWith:function(t,e,n){t=String(t),(void 0===n||n>t.length)&&(n=t.length),n-=e.length;var r=t.indexOf(e,n);return-1!==r&&r===n},toArray:function(t){if(!t)return null;if(Yt(t))return t;var e=t.length;if(!re(e))return null;for(var n=new Array(e);e-- >0;)n[e]=t[e];return n},forEachEntry:function(t,e){for(var n,r=(t&&t[Symbol.iterator]).call(t);(n=r.next())&&!n.done;){var i=n.value;e.call(t,i[0],i[1])}},matchAll:function(t,e){for(var n,r=[];null!==(n=t.exec(e));)r.push(n);return r},isHTMLForm:Ee,hasOwnProperty:Ae,hasOwnProp:Ae,reduceDescriptors:Oe,freezeMethods:function(t){Oe(t,(function(e,n){if(ne(t)&&-1!==[\"arguments\",\"caller\",\"callee\"].indexOf(n))return!1;var r=t[n];ne(r)&&(e.enumerable=!1,\"writable\"in e?e.writable=!1:e.set||(e.set=function(){throw Error(\"Can not rewrite read-only method '\"+n+\"'\")}))}))},toObjectSet:function(t,e){var n={},r=function(t){t.forEach((function(t){n[t]=!0}))};return Yt(t)?r(t):r(String(t).split(e)),n},toCamelCase:function(t){return t.toLowerCase().replace(/[-_\\s]([a-z\\d])(\\w*)/g,(function(t,e,n){return e.toUpperCase()+n}))},noop:function(){},toFiniteNumber:function(t,e){return null!=t&&Number.isFinite(t=+t)?t:e},findKey:ye,global:be,isContextDefined:me,ALPHABET:je,generateString:function(){for(var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:16,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:je.ALPHA_DIGIT,n=\"\",r=e.length;t--;)n+=e[Math.random()*r|0];return n},isSpecCompliantForm:function(t){return!!(t&&ne(t.append)&&\"FormData\"===t[Symbol.toStringTag]&&t[Symbol.iterator])},toJSONObject:function(t){var e=new Array(10),n=function(t,r){if(ie(t)){if(e.indexOf(t)>=0)return;if(!(\"toJSON\"in t)){e[r]=t;var i=Yt(t)?[]:{};return ge(t,(function(t,e){var o=n(t,r+1);!Zt(o)&&(i[e]=o)})),e[r]=void 0,i}}return t};return n(t,0)},isAsyncFn:Ce,isThenable:function(t){return t&&(ie(t)||ne(t))&&ne(t.then)&&ne(t.catch)},setImmediate:Ne,asap:Fe};function $e(t,e,n,r,i){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack,this.message=t,this.name=\"AxiosError\",e&&(this.code=e),n&&(this.config=n),r&&(this.request=r),i&&(this.response=i,this.status=i.status?i.status:null)}De.inherits($e,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:De.toJSONObject(this.config),code:this.code,status:this.status}}});var Ue=$e.prototype,ze={};[\"ERR_BAD_OPTION_VALUE\",\"ERR_BAD_OPTION\",\"ECONNABORTED\",\"ETIMEDOUT\",\"ERR_NETWORK\",\"ERR_FR_TOO_MANY_REDIRECTS\",\"ERR_DEPRECATED\",\"ERR_BAD_RESPONSE\",\"ERR_BAD_REQUEST\",\"ERR_CANCELED\",\"ERR_NOT_SUPPORT\",\"ERR_INVALID_URL\"].forEach((function(t){ze[t]={value:t}})),Object.defineProperties($e,ze),Object.defineProperty(Ue,\"isAxiosError\",{value:!0}),$e.from=function(t,e,n,r,i,o){var a=Object.create(Ue);return De.toFlatObject(t,a,(function(t){return t!==Error.prototype}),(function(t){return\"isAxiosError\"!==t})),$e.call(a,t.message,e,n,r,i),a.cause=t,a.name=t.name,o&&Object.assign(a,o),a};function Be(t){return De.isPlainObject(t)||De.isArray(t)}function qe(t){return De.endsWith(t,\"[]\")?t.slice(0,-2):t}function Ie(t,e,n){return t?t.concat(e).map((function(t,e){return t=qe(t),!n&&e?\"[\"+t+\"]\":t})).join(n?\".\":\"\"):e}var Me=De.toFlatObject(De,{},null,(function(t){return/^is[A-Z]/.test(t)}));function He(t,e,n){if(!De.isObject(t))throw new TypeError(\"target must be an object\");e=e||new FormData;var r=(n=De.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,(function(t,e){return!De.isUndefined(e[t])}))).metaTokens,i=n.visitor||c,o=n.dots,a=n.indexes,s=(n.Blob||\"undefined\"!=typeof Blob&&Blob)&&De.isSpecCompliantForm(e);if(!De.isFunction(i))throw new TypeError(\"visitor must be a function\");function u(t){if(null===t)return\"\";if(De.isDate(t))return t.toISOString();if(!s&&De.isBlob(t))throw new $e(\"Blob is not supported. Use a Buffer instead.\");return De.isArrayBuffer(t)||De.isTypedArray(t)?s&&\"function\"==typeof Blob?new Blob([t]):Buffer.from(t):t}function c(t,n,i){var s=t;if(t&&!i&&\"object\"===T(t))if(De.endsWith(n,\"{}\"))n=r?n:n.slice(0,-2),t=JSON.stringify(t);else if(De.isArray(t)&&function(t){return De.isArray(t)&&!t.some(Be)}(t)||(De.isFileList(t)||De.endsWith(n,\"[]\"))&&(s=De.toArray(t)))return n=qe(n),s.forEach((function(t,r){!De.isUndefined(t)&&null!==t&&e.append(!0===a?Ie([n],r,o):null===a?n:n+\"[]\",u(t))})),!1;return!!Be(t)||(e.append(Ie(i,n,o),u(t)),!1)}var l=[],h=Object.assign(Me,{defaultVisitor:c,convertValue:u,isVisitable:Be});if(!De.isObject(t))throw new TypeError(\"data must be an object\");return function t(n,r){if(!De.isUndefined(n)){if(-1!==l.indexOf(n))throw Error(\"Circular reference detected in \"+r.join(\".\"));l.push(n),De.forEach(n,(function(n,o){!0===(!(De.isUndefined(n)||null===n)&&i.call(e,n,De.isString(o)?o.trim():o,r,h))&&t(n,r?r.concat(o):[o])})),l.pop()}}(t),e}function Je(t){var e={\"!\":\"%21\",\"'\":\"%27\",\"(\":\"%28\",\")\":\"%29\",\"~\":\"%7E\",\"%20\":\"+\",\"%00\":\"\\0\"};return encodeURIComponent(t).replace(/[!'()~]|%20|%00/g,(function(t){return e[t]}))}function We(t,e){this._pairs=[],t&&He(t,this,e)}var Ke=We.prototype;function Ge(t){return encodeURIComponent(t).replace(/%3A/gi,\":\").replace(/%24/g,\"$\").replace(/%2C/gi,\",\").replace(/%20/g,\"+\").replace(/%5B/gi,\"[\").replace(/%5D/gi,\"]\")}function Ve(t,e,n){if(!e)return t;var r=n&&n.encode||Ge;De.isFunction(n)&&(n={serialize:n});var i,o=n&&n.serialize;if(i=o?o(e,n):De.isURLSearchParams(e)?e.toString():new We(e,n).toString(r)){var a=t.indexOf(\"#\");-1!==a&&(t=t.slice(0,a)),t+=(-1===t.indexOf(\"?\")?\"?\":\"&\")+i}return t}Ke.append=function(t,e){this._pairs.push([t,e])},Ke.toString=function(t){var e=t?function(e){return t.call(this,e,Je)}:Je;return this._pairs.map((function(t){return e(t[0])+\"=\"+e(t[1])}),\"\").join(\"&\")};var Xe=function(){return v((function t(){h(this,t),this.handlers=[]}),[{key:\"use\",value:function(t,e,n){return this.handlers.push({fulfilled:t,rejected:e,synchronous:!!n&&n.synchronous,runWhen:n?n.runWhen:null}),this.handlers.length-1}},{key:\"eject\",value:function(t){this.handlers[t]&&(this.handlers[t]=null)}},{key:\"clear\",value:function(){this.handlers&&(this.handlers=[])}},{key:\"forEach\",value:function(t){De.forEach(this.handlers,(function(e){null!==e&&t(e)}))}}])}(),Qe={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},Ye={isBrowser:!0,classes:{URLSearchParams:\"undefined\"!=typeof URLSearchParams?URLSearchParams:We,FormData:\"undefined\"!=typeof FormData?FormData:null,Blob:\"undefined\"!=typeof Blob?Blob:null},protocols:[\"http\",\"https\",\"file\",\"blob\",\"url\",\"data\"]},Ze=\"undefined\"!=typeof window&&\"undefined\"!=typeof document,tn=\"object\"===(\"undefined\"==typeof navigator?\"undefined\":T(navigator))&&navigator||void 0,en=Ze&&(!tn||[\"ReactNative\",\"NativeScript\",\"NS\"].indexOf(tn.product)<0),nn=\"undefined\"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&\"function\"==typeof self.importScripts,rn=Ze&&window.location.href||\"http://localhost\",on=A(A({},Object.freeze({__proto__:null,hasBrowserEnv:Ze,hasStandardBrowserEnv:en,hasStandardBrowserWebWorkerEnv:nn,navigator:tn,origin:rn})),Ye);function an(t){function e(t,n,r,i){var o=t[i++];if(\"__proto__\"===o)return!0;var a=Number.isFinite(+o),s=i>=t.length;return o=!o&&De.isArray(r)?r.length:o,s?(De.hasOwnProp(r,o)?r[o]=[r[o],n]:r[o]=n,!a):(r[o]&&De.isObject(r[o])||(r[o]=[]),e(t,n,r[o],i)&&De.isArray(r[o])&&(r[o]=function(t){var e,n,r={},i=Object.keys(t),o=i.length;for(e=0;e-1,o=De.isObject(t);if(o&&De.isHTMLForm(t)&&(t=new FormData(t)),De.isFormData(t))return i?JSON.stringify(an(t)):t;if(De.isArrayBuffer(t)||De.isBuffer(t)||De.isStream(t)||De.isFile(t)||De.isBlob(t)||De.isReadableStream(t))return t;if(De.isArrayBufferView(t))return t.buffer;if(De.isURLSearchParams(t))return e.setContentType(\"application/x-www-form-urlencoded;charset=utf-8\",!1),t.toString();if(o){if(r.indexOf(\"application/x-www-form-urlencoded\")>-1)return function(t,e){return He(t,new on.classes.URLSearchParams,Object.assign({visitor:function(t,e,n,r){return on.isNode&&De.isBuffer(t)?(this.append(e,t.toString(\"base64\")),!1):r.defaultVisitor.apply(this,arguments)}},e))}(t,this.formSerializer).toString();if((n=De.isFileList(t))||r.indexOf(\"multipart/form-data\")>-1){var a=this.env&&this.env.FormData;return He(n?{\"files[]\":t}:t,a&&new a,this.formSerializer)}}return o||i?(e.setContentType(\"application/json\",!1),function(t,e){if(De.isString(t))try{return(e||JSON.parse)(t),De.trim(t)}catch(t){if(\"SyntaxError\"!==t.name)throw t}return(0,JSON.stringify)(t)}(t)):t}],transformResponse:[function(t){var e=this.transitional||sn.transitional,n=e&&e.forcedJSONParsing,r=\"json\"===this.responseType;if(De.isResponse(t)||De.isReadableStream(t))return t;if(t&&De.isString(t)&&(n&&!this.responseType||r)){var i=!(e&&e.silentJSONParsing)&&r;try{return JSON.parse(t)}catch(t){if(i){if(\"SyntaxError\"===t.name)throw $e.from(t,$e.ERR_BAD_RESPONSE,this,null,this.response);throw t}}}return t}],timeout:0,xsrfCookieName:\"XSRF-TOKEN\",xsrfHeaderName:\"X-XSRF-TOKEN\",maxContentLength:-1,maxBodyLength:-1,env:{FormData:on.classes.FormData,Blob:on.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:\"application/json, text/plain, */*\",\"Content-Type\":void 0}}};De.forEach([\"delete\",\"get\",\"head\",\"post\",\"put\",\"patch\"],(function(t){sn.headers[t]={}}));var un=De.toObjectSet([\"age\",\"authorization\",\"content-length\",\"content-type\",\"etag\",\"expires\",\"from\",\"host\",\"if-modified-since\",\"if-unmodified-since\",\"last-modified\",\"location\",\"max-forwards\",\"proxy-authorization\",\"referer\",\"retry-after\",\"user-agent\"]),cn=Symbol(\"internals\");function ln(t){return t&&String(t).trim().toLowerCase()}function hn(t){return!1===t||null==t?t:De.isArray(t)?t.map(hn):String(t)}function fn(t,e,n,r,i){return De.isFunction(r)?r.call(this,e,n):(i&&(e=n),De.isString(e)?De.isString(r)?-1!==e.indexOf(r):De.isRegExp(r)?r.test(e):void 0:void 0)}var dn=function(){return v((function t(e){h(this,t),e&&this.set(e)}),[{key:\"set\",value:function(t,e,n){var r=this;function i(t,e,n){var i=ln(e);if(!i)throw new Error(\"header name must be a non-empty string\");var o=De.findKey(r,i);(!o||void 0===r[o]||!0===n||void 0===n&&!1!==r[o])&&(r[o||e]=hn(t))}var o=function(t,e){return De.forEach(t,(function(t,n){return i(t,n,e)}))};if(De.isPlainObject(t)||t instanceof this.constructor)o(t,e);else if(De.isString(t)&&(t=t.trim())&&!/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(t.trim()))o(function(t){var e,n,r,i={};return t&&t.split(\"\\n\").forEach((function(t){r=t.indexOf(\":\"),e=t.substring(0,r).trim().toLowerCase(),n=t.substring(r+1).trim(),!e||i[e]&&un[e]||(\"set-cookie\"===e?i[e]?i[e].push(n):i[e]=[n]:i[e]=i[e]?i[e]+\", \"+n:n)})),i}(t),e);else if(De.isHeaders(t)){var a,s=p(t.entries());try{for(s.s();!(a=s.n()).done;){var u=R(a.value,2),c=u[0];i(u[1],c,n)}}catch(t){s.e(t)}finally{s.f()}}else null!=t&&i(e,t,n);return this}},{key:\"get\",value:function(t,e){if(t=ln(t)){var n=De.findKey(this,t);if(n){var r=this[n];if(!e)return r;if(!0===e)return function(t){for(var e,n=Object.create(null),r=/([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;e=r.exec(t);)n[e[1]]=e[2];return n}(r);if(De.isFunction(e))return e.call(this,r,n);if(De.isRegExp(e))return e.exec(r);throw new TypeError(\"parser must be boolean|regexp|function\")}}}},{key:\"has\",value:function(t,e){if(t=ln(t)){var n=De.findKey(this,t);return!(!n||void 0===this[n]||e&&!fn(0,this[n],n,e))}return!1}},{key:\"delete\",value:function(t,e){var n=this,r=!1;function i(t){if(t=ln(t)){var i=De.findKey(n,t);!i||e&&!fn(0,n[i],i,e)||(delete n[i],r=!0)}}return De.isArray(t)?t.forEach(i):i(t),r}},{key:\"clear\",value:function(t){for(var e=Object.keys(this),n=e.length,r=!1;n--;){var i=e[n];t&&!fn(0,this[i],i,t,!0)||(delete this[i],r=!0)}return r}},{key:\"normalize\",value:function(t){var e=this,n={};return De.forEach(this,(function(r,i){var o=De.findKey(n,i);if(o)return e[o]=hn(r),void delete e[i];var a=t?function(t){return t.trim().toLowerCase().replace(/([a-z\\d])(\\w*)/g,(function(t,e,n){return e.toUpperCase()+n}))}(i):String(i).trim();a!==i&&delete e[i],e[a]=hn(r),n[a]=!0})),this}},{key:\"concat\",value:function(){for(var t,e=arguments.length,n=new Array(e),r=0;r1?n-1:0),i=1;i2&&void 0!==arguments[2]?arguments[2]:3,r=0,i=function(t,e){t=t||10;var n,r=new Array(t),i=new Array(t),o=0,a=0;return e=void 0!==e?e:1e3,function(s){var u=Date.now(),c=i[a];n||(n=u),r[o]=s,i[o]=u;for(var l=a,h=0;l!==o;)h+=r[l++],l%=t;if((o=(o+1)%t)===a&&(a=(a+1)%t),!(u-n1&&void 0!==arguments[1]?arguments[1]:Date.now();i=o,n=null,r&&(clearTimeout(r),r=null),t.apply(null,e)};return[function(){for(var t=Date.now(),e=t-i,s=arguments.length,u=new Array(s),c=0;c=o?a(u,t):(n=u,r||(r=setTimeout((function(){r=null,a(n)}),o-e)))},function(){return n&&a(n)}]}((function(n){var o=n.loaded,a=n.lengthComputable?n.total:void 0,s=o-r,u=i(s);r=o;var c=g({loaded:o,total:a,progress:a?o/a:void 0,bytes:s,rate:u||void 0,estimated:u&&a&&o<=a?(a-o)/u:void 0,event:n,lengthComputable:null!=a},e?\"download\":\"upload\",!0);t(c)}),n)},mn=function(t,e){var n=null!=t;return[function(r){return e[0]({lengthComputable:n,total:t,loaded:r})},e[1]]},wn=function(t){return function(){for(var e=arguments.length,n=new Array(e),r=0;r1?e-1:0),r=1;r1?\"since :\\n\"+s.map(Wn).join(\"\\n\"):\" \"+Wn(s[0]):\"as no adapter specified\"),\"ERR_NOT_SUPPORT\")}return n};function Vn(t){if(t.cancelToken&&t.cancelToken.throwIfRequested(),t.signal&&t.signal.aborted)throw new gn(null,t)}function Xn(t){return Vn(t),t.headers=dn.from(t.headers),t.data=vn.call(t,t.transformRequest),-1!==[\"post\",\"put\",\"patch\"].indexOf(t.method)&&t.headers.setContentType(\"application/x-www-form-urlencoded\",!1),Gn(t.adapter||sn.adapter)(t).then((function(e){return Vn(t),e.data=vn.call(t,t.transformResponse,e),e.headers=dn.from(e.headers),e}),(function(e){return pn(e)||(Vn(t),e&&e.response&&(e.response.data=vn.call(t,t.transformResponse,e.response),e.response.headers=dn.from(e.response.headers))),Promise.reject(e)}))}var Qn=\"1.7.9\",Yn={};[\"object\",\"boolean\",\"number\",\"function\",\"string\",\"symbol\"].forEach((function(t,e){Yn[t]=function(n){return T(n)===t||\"a\"+(e<1?\"n \":\" \")+t}}));var Zn={};Yn.transitional=function(t,e,n){function r(t,e){return\"[Axios v1.7.9] Transitional option '\"+t+\"'\"+e+(n?\". \"+n:\"\")}return function(n,i,o){if(!1===t)throw new $e(r(i,\" has been removed\"+(e?\" in \"+e:\"\")),$e.ERR_DEPRECATED);return e&&!Zn[i]&&(Zn[i]=!0,console.warn(r(i,\" has been deprecated since v\"+e+\" and will be removed in the near future\"))),!t||t(n,i,o)}},Yn.spelling=function(t){return function(e,n){return console.warn(\"\".concat(n,\" is likely a misspelling of \").concat(t)),!0}};var tr={assertOptions:function(t,e,n){if(\"object\"!==T(t))throw new $e(\"options must be an object\",$e.ERR_BAD_OPTION_VALUE);for(var r=Object.keys(t),i=r.length;i-- >0;){var o=r[i],a=e[o];if(a){var s=t[o],u=void 0===s||a(s,o,t);if(!0!==u)throw new $e(\"option \"+o+\" must be \"+u,$e.ERR_BAD_OPTION_VALUE)}else if(!0!==n)throw new $e(\"Unknown option \"+o,$e.ERR_BAD_OPTION)}},validators:Yn},er=tr.validators,nr=function(){return v((function t(e){h(this,t),this.defaults=e,this.interceptors={request:new Xe,response:new Xe}}),[{key:\"request\",value:(t=u(x().mark((function t(e,n){var r,i;return x().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,this._request(e,n);case 3:return t.abrupt(\"return\",t.sent);case 6:if(t.prev=6,t.t0=t.catch(0),t.t0 instanceof Error){r={},Error.captureStackTrace?Error.captureStackTrace(r):r=new Error,i=r.stack?r.stack.replace(/^.+\\n/,\"\"):\"\";try{t.t0.stack?i&&!String(t.t0.stack).endsWith(i.replace(/^.+\\n.+\\n/,\"\"))&&(t.t0.stack+=\"\\n\"+i):t.t0.stack=i}catch(t){}}throw t.t0;case 10:case\"end\":return t.stop()}}),t,this,[[0,6]])}))),function(e,n){return t.apply(this,arguments)})},{key:\"_request\",value:function(t,e){\"string\"==typeof t?(e=e||{}).url=t:e=t||{};var n=e=On(this.defaults,e),r=n.transitional,i=n.paramsSerializer,o=n.headers;void 0!==r&&tr.assertOptions(r,{silentJSONParsing:er.transitional(er.boolean),forcedJSONParsing:er.transitional(er.boolean),clarifyTimeoutError:er.transitional(er.boolean)},!1),null!=i&&(De.isFunction(i)?e.paramsSerializer={serialize:i}:tr.assertOptions(i,{encode:er.function,serialize:er.function},!0)),tr.assertOptions(e,{baseUrl:er.spelling(\"baseURL\"),withXsrfToken:er.spelling(\"withXSRFToken\")},!0),e.method=(e.method||this.defaults.method||\"get\").toLowerCase();var a=o&&De.merge(o.common,o[e.method]);o&&De.forEach([\"delete\",\"get\",\"head\",\"post\",\"put\",\"patch\",\"common\"],(function(t){delete o[t]})),e.headers=dn.concat(a,o);var s=[],u=!0;this.interceptors.request.forEach((function(t){\"function\"==typeof t.runWhen&&!1===t.runWhen(e)||(u=u&&t.synchronous,s.unshift(t.fulfilled,t.rejected))}));var c,l=[];this.interceptors.response.forEach((function(t){l.push(t.fulfilled,t.rejected)}));var h,f=0;if(!u){var d=[Xn.bind(this),void 0];for(d.unshift.apply(d,s),d.push.apply(d,l),h=d.length,c=Promise.resolve(e);f0;)r._listeners[e](t);r._listeners=null}})),this.promise.then=function(t){var e,n=new Promise((function(t){r.subscribe(t),e=t})).then(t);return n.cancel=function(){r.unsubscribe(e)},n},e((function(t,e,i){r.reason||(r.reason=new gn(t,e,i),n(r.reason))}))}return v(t,[{key:\"throwIfRequested\",value:function(){if(this.reason)throw this.reason}},{key:\"subscribe\",value:function(t){this.reason?t(this.reason):this._listeners?this._listeners.push(t):this._listeners=[t]}},{key:\"unsubscribe\",value:function(t){if(this._listeners){var e=this._listeners.indexOf(t);-1!==e&&this._listeners.splice(e,1)}}},{key:\"toAbortSignal\",value:function(){var t=this,e=new AbortController,n=function(t){e.abort(t)};return this.subscribe(n),e.signal.unsubscribe=function(){return t.unsubscribe(n)},e.signal}}],[{key:\"source\",value:function(){var e;return{token:new t((function(t){e=t})),cancel:e}}}])}();var ir={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(ir).forEach((function(t){var e=R(t,2),n=e[0],r=e[1];ir[r]=n}));var or=function t(e){var n=new nr(e),r=Jt(nr.prototype.request,n);return De.extend(r,nr.prototype,n,{allOwnKeys:!0}),De.extend(r,n,null,{allOwnKeys:!0}),r.create=function(n){return t(On(e,n))},r}(sn);or.Axios=nr,or.CanceledError=gn,or.CancelToken=rr,or.isCancel=pn,or.VERSION=Qn,or.toFormData=He,or.AxiosError=$e,or.Cancel=or.CanceledError,or.all=function(t){return Promise.all(t)},or.spread=function(t){return function(e){return t.apply(null,e)}},or.isAxiosError=function(t){return De.isObject(t)&&!0===t.isAxiosError},or.mergeConfig=On,or.AxiosHeaders=dn,or.formToJSON=function(t){return an(De.isHTMLForm(t)?new FormData(t):t)},or.getAdapter=Gn,or.HttpStatusCode=ir,or.default=or,or.Axios,or.AxiosError,or.CanceledError,or.isCancel,or.CancelToken,or.VERSION,or.all,or.Cancel,or.isAxiosError,or.spread,or.toFormData,or.AxiosHeaders,or.HttpStatusCode,or.formToJSON,or.getAdapter,or.mergeConfig;var ar=function(){function t(e){var n;return h(this,t),(n=l(this,t,[e])).axiosInstance=or.create({baseURL:\"\".concat(n.host,\"/\").concat(n.namespace),headers:{Authorization:\"Bearer \".concat(e.publicKey),\"Content-Type\":\"application/json\",\"User-Agent\":\"@fleetbase/sdk;node\"}}),n.axiosInstance.interceptors.response.use((function(t){return t.data}),(function(t){if(t.response){var e=t.response.data;if(V(e.errors)&&e.errors.length)throw new Error(e.errors[0]);if(e.error)throw new Error(e.error)}throw t})),n}return b(t,Mt),v(t,[{key:\"setHeaders\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this.axiosInstance.defaults.headers.common=A(A({},this.axiosInstance.defaults.headers.common),t),this}},{key:\"request\",value:function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.axiosInstance.request(A({method:t,url:e},n))}},{key:\"get\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.request(\"GET\",t,A({params:e},n))}},{key:\"post\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.request(\"POST\",t,A({data:e},n))}},{key:\"put\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.request(\"PUT\",t,A({data:e},n))}},{key:\"delete\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.request(\"DELETE\",t,e)}},{key:\"patch\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.request(\"PATCH\",t,A({data:e},n))}}])}();q(\"adapter\",\"NodeAdapter\",ar);var sr=function(){function t(){return h(this,t),l(this,t,arguments)}return b(t,Mt),v(t)}();q(\"adapter\",\"EmberJsAdapter\",sr);var ur=function(){function t(e){var n,r,i,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(h(this,t),this.version=null!==(n=o.version)&&void 0!==n?n:\"v1\",this.options={version:this.version,host:null!==(r=o.host)&&void 0!==r?r:\"https://api.fleetbase.io\",namespace:null!==(i=o.namespace)&&void 0!==i?i:this.version,debug:a,publicKey:e},\"string\"!=typeof e||0===e.length)throw new Error(\"⚠️ Invalid public key given to Fleetbase SDK\");if(!lt()&&e.toLowerCase().startsWith(\"$\"))throw new Error(\"Secret key provided. You must use a public key with Fleetbase Javascript SDK!\");this.adapter=o.adapter||ht(this.options),this.orders=new Et(\"order\",this.adapter).extendActions(At),this.entities=new Et(\"entity\",this.adapter),this.places=new Et(\"place\",this.adapter),this.drivers=new Et(\"driver\",this.adapter).extendActions(Nt),this.vehicles=new Et(\"vehicle\",this.adapter),this.vendors=new Et(\"vendor\",this.adapter),this.contacts=new Et(\"contact\",this.adapter),this.serviceAreas=new Et(\"service-area\",this.adapter),this.zones=new Et(\"zone\",this.adapter),this.fleets=new Et(\"fleet\",this.adapter),this.organizations=new Et(\"organization\",this.adapter).extendActions(Pt)}return v(t,[{key:\"setAdapter\",value:function(t){this.adapter=t}},{key:\"getAdapter\",value:function(){return this.adapter}}],[{key:\"newInstance\",value:function(){return f(t,Array.prototype.slice.call(arguments))}}])}();export{Mt as Adapter,Ht as BrowserAdapter,at as Collection,$t as Contact,Ft as Driver,sr as EmberJsAdapter,Rt as Entity,It as Fleet,ft as GoogleAddress,ar as NodeAdapter,xt as Order,Lt as Organization,Ot as Payload,St as Place,dt as Point,J as Resolver,kt as Resource,zt as ServiceArea,qt as ServiceQuote,Bt as ServiceRate,Et as Store,mt as StoreActions,Tt as TrackingStatus,_t as Vehicle,Dt as Vendor,jt as Waypoint,Ut as Zone,$ as camelize,z as classify,ot as createCollection,H as createResource,M as createStore,bt as createStoreActions,U as dasherize,ur as default,ht as detectAdapter,yt as extendStoreActions,ut as isLatitude,ct as isLongitude,lt as isNodeEnvironment,wt as isResource,W as lookup,F as pluralize,q as register,K as resolve,G as resolveResource,D as singularize};\n//# sourceMappingURL=fleetbase.js.map\n",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["Store","extendStoreActions","lookup","classify","isArray","Resource","register","StoreActions","Collection","Place","Order","ServiceQuote","Adapter","FleetbaseOrder","isResource","detectAdapter"],"mappings":"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C,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAA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,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC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AC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CA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","x_google_ignoreList":[0]} \ No newline at end of file +{"version":3,"file":"storefront.js","sources":["../../src/store.ts","../../src/utils/is-phone.ts","../../src/utils/format-currency.ts","../../src/utils/is-key-valid.ts","../../src/utils/is-empty.ts","../../src/utils/array.ts","../../src/resource.ts","../../src/resources/review.ts","../../src/resources/store-hour.ts","../../src/resources/store-location.ts","../../src/resources/payment-gateway.ts","../../src/resources/store.ts","../../src/resources/product.ts","../../src/resources/category.ts","../../src/resources/customer.ts","../../src/resources/cart.ts","../../src/resources/network.ts","../../src/resources/delivery-service-quote.ts","../../src/resources/order.ts","../../src/resources/checkout.ts","../../src/resources/food-truck.ts","../../src/resources/order-actions.ts","../../src/storefront.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["Store","isArray","Resource","Order","FleetbaseOrder"],"mappings":"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"} \ No newline at end of file diff --git a/docs/api-contract.md b/docs/api-contract.md index ede700e..9f8febd 100644 --- a/docs/api-contract.md +++ b/docs/api-contract.md @@ -49,7 +49,7 @@ The executable wire assertions are in `tests/actions.test.js`; the frozen JavaSc ## Customer routes -The static customer-store actions cover creation, email/password login, SMS login, verification codes, and Apple/Facebook/Google login. A hydrated `Customer` supplies request-scoped `Customer-Token` authentication for device registration, places, orders, Stripe helpers, account closure, phone verification, and the compatibility `contacts/{id}` update alias. +The static customer-store actions cover creation, email/password login, SMS login, verification codes, and Apple/Facebook/Google login. A hydrated `Customer` supplies request-scoped `Customer-Token` authentication for device registration, places, orders, realtime socket tokens (`POST customers/socket-token` via `customer.socketToken()`), Stripe helpers, account closure, phone verification, and the compatibility `contacts/{id}` update alias. The SDK deliberately passes the token in each request's options instead of mutating adapter-global headers. This preserves the server contract while preventing one customer session from leaking into another request. @@ -59,5 +59,5 @@ The SDK deliberately passes the token in each request's options instead of mutat - `src/cart-store` and `src/customer-store` were unreachable duplicate implementations. The historical package had an `exports` map containing only `"."`, so these paths were not supported deep imports. They were removed after their active action-based replacements reached parity. - `Product.getReviews()` continues sending the product identifier in the legacy `store` parameter. The server route accepts the request and changing it silently could break consumers; any corrected product-review query should be introduced as a separately reviewed API. - Customer-authorized requests retain the existing public method and header name but now use request-local options rather than adapter-global mutation. -- The package-local `@fleetbase/sdk` declaration shim exists because upstream `@fleetbase/sdk@1.2.13` ships no TypeScript declarations. The shim is strict, contains no public `any`, and is verified by Node16, NodeNext, and Bundler resolution fixtures. -- ESM and CommonJS temporarily bundle the build-time-only `@fleetbase/sdk`. Its current ESM target is reported as having no exports by webpack, while its `.js` CommonJS target sits inside a `type: module` package and fails clean CommonJS consumers when externalized. The vulnerable upstream dependency graph is therefore not installed in consuming applications; patched build-time overrides are compiled into the verified artifacts. Vite, webpack, Next.js, and clean CommonJS fixtures prevent removing this boundary before upstream publishes standards-compliant entries. `countries-list` and `date-fns` remain externalized from the module builds. +- The core SDK, `@fleetbase/sdk` 2, is a regular dependency. It ships its own declarations, ESM and CommonJS entries, and a Fetch transport with no dependencies, so the ESM and CommonJS builds import it instead of bundling a copy. An application that also uses the core SDK shares that copy, so resources, adapters, and `instanceof` checks are the same objects on both sides. Only the self-contained browser bundle inlines it. `countries-list` and `date-fns` stay external as before. +- Listing endpoints (`findAll`, `query`) keep resolving to collections in Storefront's types, although the core SDK types them as a single record or a collection. diff --git a/package.json b/package.json index 903eaad..586d0ef 100644 --- a/package.json +++ b/package.json @@ -93,6 +93,7 @@ "prepack": "pnpm run build" }, "dependencies": { + "@fleetbase/sdk": "^2.0.0", "countries-list": "^3.4.1", "date-fns": "^4.4.0" }, @@ -103,7 +104,6 @@ "@rollup/plugin-node-resolve": "^16.0.3", "@rollup/plugin-terser": "^1.0.0", "@rollup/plugin-typescript": "^12.3.0", - "@fleetbase/sdk": "1.2.13", "@stryker-mutator/core": "10.0.0", "@stryker-mutator/vitest-runner": "10.0.0", "@vitest/coverage-v8": "^4.0.0", @@ -125,10 +125,6 @@ }, "pnpm": { "overrides": { - "@babel/runtime": "7.28.4", - "axios": "1.20.0", - "follow-redirects": "1.16.0", - "form-data": "4.0.6", "qs": "6.16.0" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c622f7c..b8f00fb 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -5,15 +5,14 @@ settings: excludeLinksFromLockfile: false overrides: - '@babel/runtime': 7.28.4 - axios: 1.20.0 - follow-redirects: 1.16.0 - form-data: 4.0.6 qs: 6.16.0 importers: .: dependencies: + '@fleetbase/sdk': + specifier: ^2.0.0 + version: 2.0.0 countries-list: specifier: ^3.4.1 version: 3.4.1 @@ -27,9 +26,6 @@ importers: '@eslint/js': specifier: ^10.0.1 version: 10.0.1(eslint@10.9.1) - '@fleetbase/sdk': - specifier: 1.2.13 - version: 1.2.13 '@rollup/plugin-commonjs': specifier: ^29.0.3 version: 29.0.3(rollup@4.63.1) @@ -296,10 +292,6 @@ packages: peerDependencies: '@babel/core': ^8.0.0 - '@babel/runtime@7.28.4': - resolution: { integrity: sha512-Q/N6JNWvIvPnLDvjlE1OUBLPQHH6l3CltCEsHIujp45zQUSSh8K+gHnaEX45yAT1nyngnINhvWtzN+Nb9D8RAQ== } - engines: { node: '>=6.9.0' } - '@babel/template@8.0.0': resolution: { integrity: sha512-eAD0QW/AlbamBbw0FeGiwasbCVPq5ncW0HNVyLP3B9czqLyh4gvw+5JTSNt6le9+ziAU7mqDZsKTHf3jTb4chQ== } engines: { node: ^22.18.0 || >=24.11.0 } @@ -373,8 +365,9 @@ packages: resolution: { integrity: sha512-+CNAzxglkrpNf/kKywqQfk74QjtceuOE7Qm+AF8miRvPF/wmmK5+OJOgVh3AVTT3RP2mH3+FOaxlE5v72owk0A== } engines: { node: ^20.19.0 || ^22.13.0 || >=24 } - '@fleetbase/sdk@1.2.13': - resolution: { integrity: sha512-PeOKCBMp5FEQsf+ms9NlXAAZsRI7MJikBDfN3s6iLcy85RsqIJTQH+uam1Fldj6SuUvOPhdcRkkdoDvgt4ZMPQ== } + '@fleetbase/sdk@2.0.0': + resolution: { integrity: sha512-m0UT/xbfV3M7OiMcPpet5nLHTSgRM692b345LbbZrmb3/i8zV7Gd6mMDHjG8kMvc30O6MFFKOx1UvZz1rzcnCg== } + engines: { node: '>=20.19.4' } '@humanfs/core@0.19.1': resolution: { integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA== } @@ -1273,10 +1266,6 @@ packages: engines: { node: '>=0.4.0' } hasBin: true - agent-base@6.0.2: - resolution: { integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== } - engines: { node: '>= 6.0.0' } - ajv-formats@2.1.1: resolution: { integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA== } peerDependencies: @@ -1329,12 +1318,6 @@ packages: ast-v8-to-istanbul@1.0.5: resolution: { integrity: sha512-UPAgKJFSEGMWSDr3LX4tqnAb4f7KGT8O40Tyx8wbYmmZ/yn58lNCm8h3svs3eXgiGd5AXxz8NDOvXWvicq+rJA== } - asynckit@0.4.0: - resolution: { integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== } - - axios@1.20.0: - resolution: { integrity: sha512-r8aOh8j9cGKpgQAqpzrUHnSIc6a59Y3Xf/cv8sy1DrHCkZHzQGEuoq1tARk6qSyDdtQGSDgpb9kFlruzPvrgwg== } - balanced-match@4.0.4: resolution: { integrity: sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA== } engines: { node: 18 || 20 || >=22 } @@ -1423,10 +1406,6 @@ packages: color-name@1.1.4: resolution: { integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== } - combined-stream@1.0.8: - resolution: { integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== } - engines: { node: '>= 0.8' } - commander@10.0.1: resolution: { integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug== } engines: { node: '>=14' } @@ -1479,10 +1458,6 @@ packages: resolution: { integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A== } engines: { node: '>=0.10.0' } - delayed-stream@1.0.0: - resolution: { integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== } - engines: { node: '>=0.4.0' } - des.js@1.1.0: resolution: { integrity: sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg== } @@ -1541,10 +1516,6 @@ packages: resolution: { integrity: sha512-HWcBoN6NileqtSydK2FqHbS/LoDd2pqrnQHLyJzBj4kOp/ky2MWMN694xOfkK8/SnUsW2DH7EfyVlydKCsm1Zw== } engines: { node: '>= 0.4' } - es-set-tostringtag@2.1.0: - resolution: { integrity: sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA== } - engines: { node: '>= 0.4' } - escalade@3.2.0: resolution: { integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA== } engines: { node: '>=6' } @@ -1681,19 +1652,6 @@ packages: flatted@3.3.2: resolution: { integrity: sha512-AiwGJM8YcNOaobumgtng+6NHuOqC3A7MixFeDafM3X9cIUM+xUXoS5Vfgf+OihAYe20fxqNM9yPBXJzRtZ/4eA== } - follow-redirects@1.16.0: - resolution: { integrity: sha512-y5rN/uOsadFT/JfYwhxRS5R7Qce+g3zG97+JrtFZlC9klX/W5hD7iiLzScI4nZqUS7DNUdhPgw4xI8W2LuXlUw== } - engines: { node: '>=4.0' } - peerDependencies: - debug: '*' - peerDependenciesMeta: - debug: - optional: true - - form-data@4.0.6: - resolution: { integrity: sha512-vKatAh4SlVfgbv+YtmhiRjhEMJsYpsG1Y2rMQtR+SVSbytsSD1YGzDIcrAJmdFec88u/+VoGmxnl+80gL1tRCQ== } - engines: { node: '>= 6' } - fsevents@2.3.3: resolution: { integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== } engines: { node: ^8.16.0 || ^10.6.0 || >=11.0.0 } @@ -1745,10 +1703,6 @@ packages: resolution: { integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ== } engines: { node: '>= 0.4' } - has-tostringtag@1.0.2: - resolution: { integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw== } - engines: { node: '>= 0.4' } - hasown@2.0.2: resolution: { integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ== } engines: { node: '>= 0.4' } @@ -1763,10 +1717,6 @@ packages: html-escaper@2.0.2: resolution: { integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== } - https-proxy-agent@5.0.1: - resolution: { integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA== } - engines: { node: '>= 6' } - human-signals@8.0.1: resolution: { integrity: sha512-eKCa6bwnJhvxj14kZk5NCPc6Hb6BdsU9DZcOnmQKSnO1VKrfV0zCvtttPZUsBvjmNDn8rpcJfpwSYnHBjc95MQ== } engines: { node: '>=18.18.0' } @@ -2025,18 +1975,10 @@ packages: merge-stream@2.0.0: resolution: { integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== } - mime-db@1.52.0: - resolution: { integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== } - engines: { node: '>= 0.6' } - mime-db@1.54.0: resolution: { integrity: sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ== } engines: { node: '>= 0.6' } - mime-types@2.1.35: - resolution: { integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== } - engines: { node: '>= 0.6' } - minimalistic-assert@1.0.1: resolution: { integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== } @@ -2268,10 +2210,6 @@ packages: resolution: { integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== } engines: { node: '>=0.4.0' } - proxy-from-env@2.1.0: - resolution: { integrity: sha512-cJ+oHTW1VAEa8cJslgmUZrc+sjRKgAKl3Zyse6+PV38hZe/V6Z14TbCuXcan9F9ghlz4QrFr2c92TNF82UkYHA== } - engines: { node: '>=10' } - publint@0.3.24: resolution: { integrity: sha512-9zS56KrKBoqi5Qt8h92uMP8TTM9AYZSgnmCo4u2priMqkOZvQnTsziZ2p5LJ2ywbYkAjoCDp2jda9u4cgFefIw== } engines: { node: '>=18' } @@ -2990,8 +2928,6 @@ snapshots: '@babel/plugin-transform-modules-commonjs': 8.0.1(@babel/core@8.0.1) '@babel/plugin-transform-typescript': 8.0.1(@babel/core@8.0.1) - '@babel/runtime@7.28.4': {} - '@babel/template@8.0.0': dependencies: '@babel/code-frame': 8.0.0 @@ -3066,13 +3002,7 @@ snapshots: '@eslint/core': 1.2.1 levn: 0.4.1 - '@fleetbase/sdk@1.2.13': - dependencies: - '@babel/runtime': 7.28.4 - axios: 1.20.0 - transitivePeerDependencies: - - debug - - supports-color + '@fleetbase/sdk@2.0.0': {} '@humanfs/core@0.19.1': {} @@ -3862,12 +3792,6 @@ snapshots: acorn@8.18.0: {} - agent-base@6.0.2: - dependencies: - debug: 4.4.3 - transitivePeerDependencies: - - supports-color - ajv-formats@2.1.1(ajv@8.20.0): optionalDependencies: ajv: 8.20.0 @@ -3918,18 +3842,6 @@ snapshots: estree-walker: 3.0.3 js-tokens: 10.0.0 - asynckit@0.4.0: {} - - axios@1.20.0: - dependencies: - follow-redirects: 1.16.0 - form-data: 4.0.6 - https-proxy-agent: 5.0.1 - proxy-from-env: 2.1.0 - transitivePeerDependencies: - - debug - - supports-color - balanced-match@4.0.4: {} baseline-browser-mapping@2.11.20: {} @@ -4014,10 +3926,6 @@ snapshots: color-name@1.1.4: {} - combined-stream@1.0.8: - dependencies: - delayed-stream: 1.0.0 - commander@10.0.1: {} commander@14.0.3: {} @@ -4050,8 +3958,6 @@ snapshots: deepmerge@4.3.1: {} - delayed-stream@1.0.0: {} - des.js@1.1.0: dependencies: inherits: 2.0.4 @@ -4096,13 +4002,6 @@ snapshots: dependencies: es-errors: 1.3.0 - es-set-tostringtag@2.1.0: - dependencies: - es-errors: 1.3.0 - get-intrinsic: 1.3.0 - has-tostringtag: 1.0.2 - hasown: 2.0.4 - escalade@3.2.0: {} escape-string-regexp@4.0.0: {} @@ -4251,16 +4150,6 @@ snapshots: flatted@3.3.2: {} - follow-redirects@1.16.0: {} - - form-data@4.0.6: - dependencies: - asynckit: 0.4.0 - combined-stream: 1.0.8 - es-set-tostringtag: 2.1.0 - hasown: 2.0.4 - mime-types: 2.1.35 - fsevents@2.3.3: optional: true @@ -4307,10 +4196,6 @@ snapshots: has-symbols@1.1.0: {} - has-tostringtag@1.0.2: - dependencies: - has-symbols: 1.1.0 - hasown@2.0.2: dependencies: function-bind: 1.1.2 @@ -4323,13 +4208,6 @@ snapshots: html-escaper@2.0.2: {} - https-proxy-agent@5.0.1: - dependencies: - agent-base: 6.0.2 - debug: 4.4.3 - transitivePeerDependencies: - - supports-color - human-signals@8.0.1: {} iconv-lite@0.7.3: @@ -4534,14 +4412,8 @@ snapshots: merge-stream@2.0.0: {} - mime-db@1.52.0: {} - mime-db@1.54.0: {} - mime-types@2.1.35: - dependencies: - mime-db: 1.52.0 - minimalistic-assert@1.0.1: {} minimatch@10.2.6: @@ -4712,8 +4584,6 @@ snapshots: progress@2.0.3: {} - proxy-from-env@2.1.0: {} - publint@0.3.24: dependencies: '@publint/pack': 0.1.7 diff --git a/rollup.config.js b/rollup.config.js index eebfa5f..6c435d4 100644 --- a/rollup.config.js +++ b/rollup.config.js @@ -30,9 +30,9 @@ const shared = { export default [ { ...shared, - // Keep @fleetbase/sdk internal until its package exports resolve - // consistently in webpack and CommonJS clean-room consumers. - external: ['countries-list', 'date-fns'], + // The core SDK is a real dependency, shared with the application; only the + // standalone browser bundle below inlines it. + external: ['@fleetbase/sdk', 'countries-list', 'date-fns'], plugins: [resolve, commonjs(), compileTypeScript()], output: { file: 'dist/esm/storefront.js', @@ -43,7 +43,7 @@ export default [ }, { ...shared, - external: ['countries-list', 'date-fns'], + external: ['@fleetbase/sdk', 'countries-list', 'date-fns'], plugins: [resolve, commonjs(), compileTypeScript(), callableCommonJsDefault], output: { file: 'dist/cjs/storefront.cjs', diff --git a/scripts/create-cjs-types.mjs b/scripts/create-cjs-types.mjs index ddaa90d..00c9cdc 100644 --- a/scripts/create-cjs-types.mjs +++ b/scripts/create-cjs-types.mjs @@ -1,16 +1,8 @@ -import { copyFile, readFile, writeFile } from 'node:fs/promises'; +import { writeFile } from 'node:fs/promises'; -const storefrontTypes = new URL('../types/storefront.d.ts', import.meta.url); -const fleetbaseTypes = new URL('../types/fleetbase-sdk.d.ts', import.meta.url); -const sourceFleetbaseTypes = new URL('../types-internal/fleetbase-sdk.d.ts', import.meta.url); -const reference = "import './fleetbase-sdk.js';\n"; -const declarations = await readFile(storefrontTypes, 'utf8'); - -await copyFile(sourceFleetbaseTypes, fleetbaseTypes); -await writeFile(storefrontTypes, declarations.startsWith(reference) ? declarations : `${reference}${declarations}`); await writeFile( new URL('../types/storefront.d.cts', import.meta.url), - `${reference}type StorefrontModule = typeof import('./storefront.js', { with: { 'resolution-mode': 'import' } });\n` + + `type StorefrontModule = typeof import('./storefront.js', { with: { 'resolution-mode': 'import' } });\n` + `declare const Storefront: StorefrontModule['default'] & StorefrontModule & { default: StorefrontModule['default'] };\n` + `export = Storefront;\n` ); diff --git a/src/resource.ts b/src/resource.ts index aa39aa0..ff7c883 100644 --- a/src/resource.ts +++ b/src/resource.ts @@ -1,24 +1,45 @@ -import { Adapter, Resource, register } from '@fleetbase/sdk'; +import { Resource, register } from '@fleetbase/sdk'; +import type { AdapterLike } from '@fleetbase/sdk'; import StorefrontStore from './store.js'; +import type { StorefrontAdapter } from './types.js'; + +/** A store whose Storefront actions (cart.add, customer.login, ...) are callable. */ +export type ActionStore = StorefrontStore & Record Promise>; export default class StorefrontResource extends Resource { - declare store: StorefrontStore & Record unknown>; + declare store: ActionStore; + declare adapter: StorefrontAdapter; + + /** Storefront ids are public ids such as `cart_x7y8`. */ + override get id(): string { + return super.id as string; + } /** * Set a new adapter to the resource instance, this will update the Store instance * - * @param {import('@fleetbase/sdk').Adapter} adapter + * @param {import('@fleetbase/sdk').AdapterLike} adapter * @return {this} */ - setAdapter(adapter: Adapter) { - this.adapter = adapter; - this.store = new StorefrontStore(this.resource, adapter, { + override setAdapter(adapter?: AdapterLike | null) { + super.setAdapter(adapter); + this.store = new StorefrontStore(this.resource, this.adapter, { onAfterFetch: this.syncAttributes.bind(this), actions: this.options?.actions, - }) as StorefrontStore & Record unknown>; + }) as ActionStore; return this; } + + // Storefront resources reuse these names for their own API calls, e.g. a cart's + // update(cartItemId, quantity) and empty(), so their signatures are left open here. + override update(...args: any[]): Promise { + return super.update(...args); + } + + override empty(..._args: any[]): any { + return super.empty(); + } } register('resource', 'StorefrontResource', StorefrontResource); diff --git a/src/resources/cart.ts b/src/resources/cart.ts index 734cda5..12c8746 100644 --- a/src/resources/cart.ts +++ b/src/resources/cart.ts @@ -1,6 +1,6 @@ import Resource from '../resource.js'; import Product from './product.js'; -import { Adapter, StoreActions, register } from '@fleetbase/sdk'; +import { type AdapterLike, StoreActions, register } from '@fleetbase/sdk'; import type { Attributes, RequestOptions } from '../types.js'; import type StorefrontStore from '../store.js'; @@ -34,7 +34,7 @@ export const cartActions = new StoreActions({ }); export default class Cart extends Resource { - constructor(attributes: Attributes = {}, adapter?: Adapter, options: Attributes = {}) { + constructor(attributes: Attributes = {}, adapter?: AdapterLike, options: Attributes = {}) { super(attributes, adapter, 'cart', { actions: cartActions, ...options }); } diff --git a/src/resources/category.ts b/src/resources/category.ts index ed51f7a..e575bc3 100644 --- a/src/resources/category.ts +++ b/src/resources/category.ts @@ -1,10 +1,10 @@ import Resource from '../resource.js'; import Product from './product.js'; -import { Adapter, Collection, register } from '@fleetbase/sdk'; +import { type AdapterLike, Collection, register } from '@fleetbase/sdk'; import type { Attributes } from '../types.js'; export default class Category extends Resource { - constructor(attributes: Attributes = {}, adapter?: Adapter, options: Attributes = {}) { + constructor(attributes: Attributes = {}, adapter?: AdapterLike, options: Attributes = {}) { super(attributes, adapter, 'category', options); } diff --git a/src/resources/checkout.ts b/src/resources/checkout.ts index e1cdc23..b212228 100644 --- a/src/resources/checkout.ts +++ b/src/resources/checkout.ts @@ -1,6 +1,6 @@ import Resource from '../resource.js'; import Order from './order.js'; -import { Adapter, StoreActions, isResource, register } from '@fleetbase/sdk'; +import { type AdapterLike, StoreActions, isResource, register } from '@fleetbase/sdk'; import type { Attributes, RequestOptions, ResourceIdentifier } from '../types.js'; import type StorefrontStore from '../store.js'; @@ -20,19 +20,19 @@ export const checkoutActions = new StoreActions({ options: RequestOptions = {} ) { if (isResource(customer)) { - customer = customer.id; + customer = customer.id as string; } if (isResource(cart)) { - cart = cart.id; + cart = cart.id as string; } if (isResource(serviceQuote)) { - serviceQuote = serviceQuote.id; + serviceQuote = serviceQuote.id as string; } if (isResource(gateway)) { - gateway = gateway.getAttribute('code'); + gateway = gateway.getAttribute('code') as string; } return this.adapter.get(`${this.namespace}/before`, { ...orderOptions, customer, cart, serviceQuote, gateway }, options); @@ -44,7 +44,7 @@ export const checkoutActions = new StoreActions({ createStripeSetupIntent: function (this: StorefrontStore, customer: ResourceIdentifier, params: Attributes = {}, options: RequestOptions = {}) { if (isResource(customer)) { - customer = customer.id; + customer = customer.id as string; } return this.adapter.post(`${this.namespace}/stripe-setup-intent`, { customer, ...params }, options); @@ -60,15 +60,15 @@ export const checkoutActions = new StoreActions({ options: RequestOptions = {} ) { if (isResource(customer)) { - customer = customer.id; + customer = customer.id as string; } if (isResource(cart)) { - cart = cart.id; + cart = cart.id as string; } if (isResource(serviceQuote)) { - serviceQuote = serviceQuote.id; + serviceQuote = serviceQuote.id as string; } return this.adapter.put(`${this.namespace}/stripe-update-payment-intent`, { paymentIntent, customer, cart, serviceQuote, ...orderOptions }, options); @@ -76,7 +76,7 @@ export const checkoutActions = new StoreActions({ getStatus: function (this: StorefrontStore, checkout: ResourceIdentifier, token: string, options: RequestOptions = {}) { if (isResource(checkout)) { - checkout = checkout.id; + checkout = checkout.id as string; } return this.adapter.get(`${this.namespace}/status`, { checkout, token }, options); @@ -84,7 +84,7 @@ export const checkoutActions = new StoreActions({ captureQPay: function (this: StorefrontStore, checkout: ResourceIdentifier, params: Attributes = {}, options: RequestOptions = {}) { if (isResource(checkout)) { - checkout = checkout.id; + checkout = checkout.id as string; } return this.adapter.post(`${this.namespace}/capture-qpay`, { checkout, ...params }, options); @@ -92,7 +92,7 @@ export const checkoutActions = new StoreActions({ captureQPayCallback: function (this: StorefrontStore, checkout: ResourceIdentifier, params: Attributes = {}, options: RequestOptions = {}) { if (isResource(checkout)) { - checkout = checkout.id; + checkout = checkout.id as string; } return this.adapter.get(`${this.namespace}/capture-qpay`, { checkout, ...params }, options); @@ -100,7 +100,7 @@ export const checkoutActions = new StoreActions({ }); export default class Checkout extends Resource { - constructor(attributes: Attributes = {}, adapter?: Adapter, options: Attributes = {}) { + constructor(attributes: Attributes = {}, adapter?: AdapterLike, options: Attributes = {}) { super(attributes, adapter, 'checkout', { actions: checkoutActions, ...options }); } diff --git a/src/resources/customer.ts b/src/resources/customer.ts index 17b74fd..83371a2 100644 --- a/src/resources/customer.ts +++ b/src/resources/customer.ts @@ -1,8 +1,8 @@ import Resource from '../resource.js'; import StorefrontStore from '../store.js'; -import { Adapter, Collection, Order, Place, StoreActions, register } from '@fleetbase/sdk'; +import { type AdapterLike, Collection, Order, Place, StoreActions, register } from '@fleetbase/sdk'; import { isPhone } from '../utils/is-phone.js'; -import type { Attributes, RequestOptions } from '../types.js'; +import type { Attributes, RequestOptions, SocketTokenResponse } from '../types.js'; export const customerActions = new StoreActions({ // const { error } = await storefront.customers.login('+1 111-1111'); @@ -55,29 +55,13 @@ export const customerActions = new StoreActions({ }); export default class Customer extends Resource { - constructor(attributes: Attributes = {}, adapter?: Adapter, options: Attributes = {}) { + constructor(attributes: Attributes = {}, adapter?: AdapterLike, options: Attributes = {}) { super(attributes, adapter, 'customer', { actions: customerActions, ...options, }); } - /** - * Set a new adapter to the resource instance, this will update the Store instance - * - * @param {import('@fleetbase/sdk').Adapter} adapter - * @return {this} - */ - setAdapter(adapter: Adapter) { - this.adapter = adapter; - this.store = new StorefrontStore(this.resource, adapter, { - onAfterFetch: this.syncAttributes.bind(this), - actions: this.options?.actions, - }) as StorefrontStore & Record unknown>; - - return this; - } - get token(): string | undefined { const token = this.getAttribute('token'); return typeof token === 'string' ? token : undefined; @@ -90,9 +74,10 @@ export default class Customer extends Resource { performAuthorizedRequest(endpoint: string, params: Attributes = {}, method = 'GET', options: RequestOptions = {}): Promise { const requestOptions: RequestOptions = { ...options, + // Signed out there is no token; send no header rather than "undefined". headers: { ...options.headers, - 'Customer-Token': this.token, + ...(this.token ? { 'Customer-Token': this.token } : {}), }, }; @@ -118,6 +103,15 @@ export default class Customer extends Resource { return this.performAuthorizedRequest('customers/stripe-setup-intent', params, 'POST'); } + /** + * Mint a short-lived realtime (socket) token for this customer: `POST customers/socket-token`. + * The token lets the customer subscribe to their own channels, such as their orders. + * Refresh it about 60 seconds before `expires_in` elapses. + */ + socketToken(params: Attributes = {}, options: RequestOptions = {}): Promise { + return this.performAuthorizedRequest('customers/socket-token', params, 'POST', options); + } + startAccountClosure(params: Attributes = {}, options: RequestOptions = {}) { return this.performAuthorizedRequest('customers/account-closure', params, 'POST', options); } diff --git a/src/resources/delivery-service-quote.ts b/src/resources/delivery-service-quote.ts index 29d5cde..22944b7 100644 --- a/src/resources/delivery-service-quote.ts +++ b/src/resources/delivery-service-quote.ts @@ -1,37 +1,20 @@ -import StorefrontStore from '../store.js'; -import { Adapter, Collection, ServiceQuote, register } from '@fleetbase/sdk'; +import { Adapter, type AdapterLike, Collection, ServiceQuote, register } from '@fleetbase/sdk'; import { formatCurrency, isEmpty, isArray } from '../utils/index.js'; -import type { Attributes, ResolvableIdentifier } from '../types.js'; +import type { Attributes, ResolvableIdentifier, StorefrontAdapter } from '../types.js'; export default class DeliveryServiceQuote extends ServiceQuote { - constructor(attributes: Attributes | Adapter = {}, adapter?: Adapter, options: Attributes = {}) { + constructor(attributes: Attributes | AdapterLike = {}, adapter?: AdapterLike, options: Attributes = {}) { let finalAttributes: Attributes = attributes as Attributes; - let finalAdapter: Adapter | undefined = adapter; + let finalAdapter: AdapterLike | undefined = adapter; // If `attributes` is actually an Adapter, adjust the arguments accordingly. if (attributes instanceof Adapter || (attributes && typeof attributes.get === 'function' && typeof attributes.post === 'function')) { finalAttributes = {}; - finalAdapter = attributes as Adapter; + finalAdapter = attributes as AdapterLike; } // Call `super()` exactly once with the resolved arguments. - super(finalAttributes, finalAdapter, 'service-quote', options); - } - - /** - * Set a new adapter to the resource instance, this will update the Store instance - * - * @param {Adapter} adapter - * @return {this} - */ - setAdapter(adapter: Adapter) { - this.adapter = adapter; - this.store = new StorefrontStore(this.resource, adapter, { - onAfterFetch: this.syncAttributes.bind(this), - actions: this.options?.actions, - }); - - return this; + super(finalAttributes, finalAdapter, options); } get formattedAmount() { @@ -61,7 +44,7 @@ export default class DeliveryServiceQuote extends ServiceQuote { cart = cart.id; } - const serviceQuotes = await this.adapter.get('service-quotes/from-cart', { + const serviceQuotes = await (this.adapter as StorefrontAdapter).get('service-quotes/from-cart', { origin, destination, cart, @@ -70,13 +53,13 @@ export default class DeliveryServiceQuote extends ServiceQuote { }); if (isArray(serviceQuotes)) { - return new Collection(serviceQuotes.map((serviceQuote: Attributes) => new DeliveryServiceQuote(serviceQuote, this.adapter))); + return new Collection(serviceQuotes.map((serviceQuote: Attributes) => new DeliveryServiceQuote(serviceQuote, this.adapter))); } return new DeliveryServiceQuote(serviceQuotes, this.adapter); } - static async getFromCart(adapter: Adapter, origin: ResolvableIdentifier, destination: ResolvableIdentifier, cart: ResolvableIdentifier, config = 'storefront', all = false) { + static async getFromCart(adapter: AdapterLike, origin: ResolvableIdentifier, destination: ResolvableIdentifier, cart: ResolvableIdentifier, config = 'storefront', all = false) { const quote = new DeliveryServiceQuote(adapter); return quote.fetchServiceQuotesFromCart(origin, destination, cart, config, all); } diff --git a/src/resources/food-truck.ts b/src/resources/food-truck.ts index aa897a7..3e64921 100644 --- a/src/resources/food-truck.ts +++ b/src/resources/food-truck.ts @@ -1,9 +1,9 @@ import Resource from '../resource.js'; -import { Adapter, register } from '@fleetbase/sdk'; +import { type AdapterLike, register } from '@fleetbase/sdk'; import type { Attributes } from '../types.js'; export default class FoodTruck extends Resource { - constructor(attributes: Attributes = {}, adapter?: Adapter, options: Attributes = {}) { + constructor(attributes: Attributes = {}, adapter?: AdapterLike, options: Attributes = {}) { super(attributes, adapter, 'food-truck', options); } } diff --git a/src/resources/network.ts b/src/resources/network.ts index e41b583..ebf49bc 100644 --- a/src/resources/network.ts +++ b/src/resources/network.ts @@ -5,11 +5,11 @@ import Product from './product.js'; import Review from './review.js'; import Store from './store.js'; import StoreLocation from './store-location.js'; -import { Adapter, Collection, register } from '@fleetbase/sdk'; +import { type AdapterLike, Collection, register } from '@fleetbase/sdk'; import type { Attributes, ResourceConstructor } from '../types.js'; export default class Network extends Resource { - constructor(attributes: Attributes = {}, adapter?: Adapter, options: Attributes = {}) { + constructor(attributes: Attributes = {}, adapter?: AdapterLike, options: Attributes = {}) { super(attributes, adapter, 'network', options); } @@ -19,7 +19,7 @@ export default class Network extends Resource { async getResourceCollection(endpoint: string, ResourceClass: ResourceConstructor, params: Attributes = {}): Promise> { const resources = await this.adapter.get(endpoint, params); - return new Collection(resources.map((attributes: Attributes) => new ResourceClass(attributes, this.adapter))); + return new Collection(resources.map((attributes: Attributes) => new ResourceClass(attributes, this.adapter))); } async getStores(params: Attributes = {}) { diff --git a/src/resources/order.ts b/src/resources/order.ts index 0459b38..7a8807b 100644 --- a/src/resources/order.ts +++ b/src/resources/order.ts @@ -1,8 +1,8 @@ -import { Adapter, Order as FleetbaseOrder, register } from '@fleetbase/sdk'; +import { type AdapterLike, Order as FleetbaseOrder, register } from '@fleetbase/sdk'; import type { Attributes } from '../types.js'; export default class Order extends FleetbaseOrder { - constructor(attributes: Attributes = {}, adapter?: Adapter, options: Attributes = {}) { + constructor(attributes: Attributes = {}, adapter?: AdapterLike, options: Attributes = {}) { super(attributes, adapter, options); } } diff --git a/src/resources/payment-gateway.ts b/src/resources/payment-gateway.ts index 12c563f..26d72d8 100644 --- a/src/resources/payment-gateway.ts +++ b/src/resources/payment-gateway.ts @@ -1,11 +1,11 @@ import Resource from '../resource.js'; -import { Adapter, register } from '@fleetbase/sdk'; +import { type AdapterLike, register } from '@fleetbase/sdk'; import type { Attributes } from '../types.js'; export default class PaymentGateway extends Resource { private token?: string; - constructor(attributes: Attributes = {}, adapter?: Adapter, options: Attributes = {}) { + constructor(attributes: Attributes = {}, adapter?: AdapterLike, options: Attributes = {}) { super(attributes, adapter, 'payment-gateway', options); } @@ -38,27 +38,27 @@ export default class PaymentGateway extends Resource { } // remove default resource methods - findRecord() { + findRecord(): never { throw new Error('There is no findRecord() method for payment gateways!'); } // remove default resource methods - create() { + override create(): never { throw new Error('There is no create() method for payment gateways!'); } // remove default resource methods - update() { + override update(): never { throw new Error('There is no update() method for payment gateways!'); } // remove default resource methods - destroy() { + override destroy(): never { throw new Error('There is no destroy() method for payment gateways!'); } // remove default resource methods - reload() { + override reload(): never { throw new Error('There is no reload() method for payment gateways!'); } } diff --git a/src/resources/product.ts b/src/resources/product.ts index ef47ba7..718ca17 100644 --- a/src/resources/product.ts +++ b/src/resources/product.ts @@ -1,12 +1,12 @@ import Resource from '../resource.js'; import Review from './review.js'; import { formatCurrency, isEmpty } from '../utils/index.js'; -import { Adapter, Collection, register } from '@fleetbase/sdk'; +import { type AdapterLike, Collection, register } from '@fleetbase/sdk'; import Store from './store.js'; import type { Attributes } from '../types.js'; export default class Product extends Resource { - constructor(attributes: Attributes = {}, adapter?: Adapter, options: Attributes = {}) { + constructor(attributes: Attributes = {}, adapter?: AdapterLike, options: Attributes = {}) { super(attributes, adapter, 'product', options); } @@ -19,15 +19,15 @@ export default class Product extends Resource { } images(): unknown[] { - return this.getAttribute('images') ?? []; + return (this.getAttribute('images') ?? []) as unknown[]; } videos(): unknown[] { - return this.getAttribute('videos') ?? []; + return (this.getAttribute('videos') ?? []) as unknown[]; } hours(): unknown[] { - return this.getAttribute('hours') ?? []; + return (this.getAttribute('hours') ?? []) as unknown[]; } get isOnSale(): boolean { @@ -68,7 +68,7 @@ export default class Product extends Resource { getReviews(): Promise> { return this.adapter.get('reviews', { store: this.id }).then((reviews) => { - return new Collection(reviews.map((attributes: Attributes) => new Review(attributes, this.adapter))); + return new Collection(reviews.map((attributes: Attributes) => new Review(attributes, this.adapter))); }); } } diff --git a/src/resources/review.ts b/src/resources/review.ts index ce33fde..675ac6d 100644 --- a/src/resources/review.ts +++ b/src/resources/review.ts @@ -1,5 +1,5 @@ import Resource from '../resource.js'; -import { Adapter, StoreActions, register } from '@fleetbase/sdk'; +import { type AdapterLike, StoreActions, register } from '@fleetbase/sdk'; import type { Attributes, RequestOptions } from '../types.js'; import type StorefrontStore from '../store.js'; @@ -16,7 +16,7 @@ export const reviewActions = new StoreActions({ }); export default class Review extends Resource { - constructor(attributes: Attributes = {}, adapter?: Adapter, options: Attributes = {}) { + constructor(attributes: Attributes = {}, adapter?: AdapterLike, options: Attributes = {}) { super(attributes, adapter, 'review', options); } diff --git a/src/resources/store-hour.ts b/src/resources/store-hour.ts index 1e499d6..f1ba98d 100644 --- a/src/resources/store-hour.ts +++ b/src/resources/store-hour.ts @@ -1,10 +1,10 @@ import Resource from '../resource.js'; import { format, parse, isValid } from 'date-fns'; -import { Adapter, register } from '@fleetbase/sdk'; +import { type AdapterLike, register } from '@fleetbase/sdk'; import type { Attributes } from '../types.js'; export default class StoreHour extends Resource { - constructor(attributes: Attributes = {}, adapter?: Adapter, options: Attributes = {}) { + constructor(attributes: Attributes = {}, adapter?: AdapterLike, options: Attributes = {}) { super(attributes, adapter, 'store-hour', options); } @@ -84,22 +84,22 @@ export default class StoreHour extends Resource { } // remove default resource methods - create() { + override create(): never { throw new Error('There is no create() method store location!'); } // remove default resource methods - update() { + override update(): never { throw new Error('There is no update() method store location!'); } // remove default resource methods - destroy() { + override destroy(): never { throw new Error('There is no destroy() method store location!'); } // remove default resource methods - reload() { + override reload(): never { throw new Error('There is no reload() method store location!'); } } diff --git a/src/resources/store-location.ts b/src/resources/store-location.ts index e32122f..cad53ec 100644 --- a/src/resources/store-location.ts +++ b/src/resources/store-location.ts @@ -1,11 +1,11 @@ import Resource from '../resource.js'; import StoreHour from './store-hour.js'; -import { Adapter, Collection, lookup, register } from '@fleetbase/sdk'; +import { type AdapterLike, Collection, lookup, register } from '@fleetbase/sdk'; import { format } from 'date-fns'; import type { Attributes } from '../types.js'; export default class StoreLocation extends Resource { - constructor(attributes: Attributes = {}, adapter?: Adapter, options: Attributes = {}) { + constructor(attributes: Attributes = {}, adapter?: AdapterLike, options: Attributes = {}) { super(attributes, adapter, 'store-location', options); } @@ -18,8 +18,9 @@ export default class StoreLocation extends Resource { } get hours(): Collection { - const hours = this.getAttribute('hours', []); - return new Collection((hours || []).map((attributes) => new StoreHour(attributes, this.adapter))); + // The SDK returns the default when hours are null or missing. + const hours = this.getAttribute('hours', []) as Attributes[]; + return new Collection(hours.map((attributes) => new StoreHour(attributes, this.adapter))); } /** Raw embedded merchant payload, normalized across API response versions. */ @@ -75,17 +76,17 @@ export default class StoreLocation extends Resource { } // remove default resource methods - create() { + override create(): never { throw new Error('There is no create() method store location!'); } // remove default resource methods - update() { + override update(): never { throw new Error('There is no update() method store location!'); } // remove default resource methods - destroy() { + override destroy(): never { throw new Error('There is no destroy() method store location!'); } } diff --git a/src/resources/store.ts b/src/resources/store.ts index dec465c..bc96e47 100644 --- a/src/resources/store.ts +++ b/src/resources/store.ts @@ -2,11 +2,11 @@ import Resource from '../resource.js'; import StoreLocation from './store-location.js'; import PaymentGateway from './payment-gateway.js'; import Review from './review.js'; -import { Adapter, Collection, Place, register } from '@fleetbase/sdk'; +import { type AdapterLike, Collection, Place, register } from '@fleetbase/sdk'; import type { Attributes } from '../types.js'; export default class Store extends Resource { - constructor(attributes: Attributes = {}, adapter?: Adapter, options: Attributes = {}) { + constructor(attributes: Attributes = {}, adapter?: AdapterLike, options: Attributes = {}) { super(attributes, adapter, 'store', options); } diff --git a/src/store.ts b/src/store.ts index 2e00cb1..7198a72 100644 --- a/src/store.ts +++ b/src/store.ts @@ -1,17 +1,24 @@ -import { Store, StoreActions, classify, extendStoreActions, lookup } from '@fleetbase/sdk'; -import type { Adapter } from '@fleetbase/sdk'; -import type { Attributes } from './types.js'; +import { Store } from '@fleetbase/sdk'; +import type { AdapterLike, Collection } from '@fleetbase/sdk'; +import type { Attributes, StorefrontAdapter } from './types.js'; -export default class StorefrontStore extends Store { - constructor(resource: string, adapter: Adapter, options: Attributes = {}) { +/** + * A Storefront API store. The core SDK store already serializes JSON into registered + * resources and extends itself with actions; this keeps Storefront's public class name + * and its contract that listing endpoints resolve to collections. + */ +export default class StorefrontStore extends Store { + declare adapter: StorefrontAdapter; + + constructor(resource: string, adapter?: AdapterLike | null, options: Attributes = {}) { super(resource, adapter, options); } - extendActions(actions: StoreActions | Array = []) { - return extendStoreActions(this, actions); + override findAll(options = {}): Promise> { + return super.findAll(options) as Promise>; } - serialize(json: Attributes): T { - return lookup('resource', classify(this.resource), json, this.adapter); + override query(query: Attributes = {}, options = {}): Promise> { + return super.query(query, options) as Promise>; } } diff --git a/src/storefront.ts b/src/storefront.ts index 4fcad79..65a9e60 100644 --- a/src/storefront.ts +++ b/src/storefront.ts @@ -7,8 +7,8 @@ import { checkoutActions } from './resources/checkout.js'; import { reviewActions } from './resources/review.js'; import { orderActions } from './resources/order-actions.js'; import { Collection, lookup, detectAdapter } from '@fleetbase/sdk'; -import type { Adapter } from '@fleetbase/sdk'; -import type { Attributes, RequestOptions, ResourceIdentifier, StorefrontConfig } from './types.js'; +import type { AdapterLike } from '@fleetbase/sdk'; +import type { Attributes, RequestOptions, ResourceIdentifier, StorefrontAdapter, StorefrontConfig } from './types.js'; export interface ReviewStoreActions { count(storeId?: string, options?: RequestOptions): Promise; @@ -76,7 +76,7 @@ export type OrderStore = StorefrontStore & OrderStoreActions; export default class Storefront { version: string; options: Attributes; - adapter: Adapter; + adapter: StorefrontAdapter; products!: StorefrontStore; categories!: StorefrontStore; foodTrucks!: StorefrontStore; @@ -108,7 +108,7 @@ export default class Storefront { throw new Error('⚠️ Invalid Storefront key given to Storefront SDK'); } - this.adapter = config.adapter || detectAdapter(this.options); + this.adapter = (config.adapter || detectAdapter(this.options)) as StorefrontAdapter; this.initializeStores(); } @@ -169,7 +169,7 @@ export default class Storefront { */ search(query: string, options: Attributes = {}): Promise> { return this.adapter.get('search', { query, ...options }).then((products) => { - return new Collection(products.map((product: Attributes) => new Product(product, this.adapter))); + return new Collection(products.map((product: Attributes) => new Product(product, this.adapter))); }); } @@ -185,8 +185,8 @@ export default class Storefront { return new Storefront(...args); } - setAdapter(adapter: Adapter) { - this.adapter = adapter; + setAdapter(adapter: AdapterLike) { + this.adapter = adapter as StorefrontAdapter; return this.initializeStores(); } @@ -197,3 +197,4 @@ export default class Storefront { } export { Product, Category, Customer, Cart, Store, StoreLocation, StoreHour, DeliveryServiceQuote, Checkout, PaymentGateway, Review, Network, FoodTruck, Order, lookup }; +export type { SocketTokenResponse } from './types.js'; diff --git a/src/types.ts b/src/types.ts index 022d556..d2a79dd 100644 --- a/src/types.ts +++ b/src/types.ts @@ -1,20 +1,42 @@ -import type { Adapter, Resource } from '@fleetbase/sdk'; +import type { AdapterLike, Resource } from '@fleetbase/sdk'; +import type { RequestOptions as SdkRequestOptions } from '@fleetbase/sdk'; export type Attributes = Record; -export interface RequestOptions extends Record { - headers?: Record; +/** Request options passed through to the core SDK adapter. */ +export interface RequestOptions extends SdkRequestOptions { + headers?: Record; + [option: string]: unknown; +} + +/** The core SDK adapter, with responses typed by the caller. */ +export interface StorefrontAdapter extends AdapterLike { + get(path: string, query?: Attributes, options?: RequestOptions): Promise; + post(path: string, data?: unknown, options?: RequestOptions): Promise; + put(path: string, data?: unknown, options?: RequestOptions): Promise; + patch(path: string, data?: unknown, options?: RequestOptions): Promise; + delete(path: string, options?: RequestOptions, legacyOptions?: RequestOptions): Promise; } export interface StorefrontConfig { version?: string; host?: string; namespace?: string; - adapter?: Adapter; + adapter?: AdapterLike; } export type ResourceIdentifier = string | Resource; export type ResolvableIdentifier = string | { id?: string } | null | undefined; -export type ResourceConstructor = new (attributes?: Attributes, adapter?: Adapter, options?: Attributes) => T; +export type ResourceConstructor = new (attributes?: Attributes, adapter?: AdapterLike, options?: Attributes) => T; + +/** Response of `customer.socketToken()` (`POST customers/socket-token`). */ +export interface SocketTokenResponse { + /** Short-lived realtime token; pass it to `socket.authenticate(token)`. */ + token: string; + /** Lifetime in seconds. Refresh about 60 seconds before it elapses. */ + expires_in: number; + /** Expiry as an ISO 8601 timestamp. */ + expires_at: string; +} diff --git a/tests/actions.test.js b/tests/actions.test.js index 5335bb2..5bfde5c 100644 --- a/tests/actions.test.js +++ b/tests/actions.test.js @@ -85,6 +85,7 @@ describe('store action wire contracts', () => { 'customers/orders': [{ id: 'order_1' }], 'customers/stripe-ephemeral-key': { key: 'ephemeral' }, 'customers/stripe-setup-intent': { secret: 'setup' }, + 'customers/socket-token': { token: 'jwt', expires_in: 900, expires_at: '2026-01-01T00:15:00.000Z' }, 'customers/account-closure': { started: true }, 'customers/confirm-account-closure': { confirmed: true }, 'customers/request-phone-verification': { sent: true }, @@ -98,6 +99,8 @@ describe('store action wire contracts', () => { expect((await customer.getOrderHistory({ limit: 5 }))[0]).toBeInstanceOf(FleetbaseOrder); await expect(customer.getStripeEphemeralKey({ version: '2026' })).resolves.toEqual({ key: 'ephemeral' }); await expect(customer.getStripeSetupIntent()).resolves.toEqual({ secret: 'setup' }); + await expect(customer.socketToken()).resolves.toEqual({ token: 'jwt', expires_in: 900, expires_at: '2026-01-01T00:15:00.000Z' }); + expect(adapter.calls).toContainEqual(expect.objectContaining({ method: 'post', endpoint: 'customers/socket-token', params: {} })); await expect(customer.startAccountClosure({ reason: 'unused' }, { timeout: 2 })).resolves.toEqual({ started: true }); await expect(customer.confirmAccountClosure('1234', { reason: 'unused' })).resolves.toEqual({ confirmed: true }); await expect(customer.requestPhoneVerification('+12025550100', { locale: 'en' })).resolves.toEqual({ sent: true }); diff --git a/tests/contracts/public-api.snapshot.json b/tests/contracts/public-api.snapshot.json index 71ece9f..58befff 100644 --- a/tests/contracts/public-api.snapshot.json +++ b/tests/contracts/public-api.snapshot.json @@ -43,14 +43,14 @@ "getStripeSetupIntent", "performAuthorizedRequest", "requestPhoneVerification", - "setAdapter", + "socketToken", "startAccountClosure", "syncDevice", "token", "updateContactAlias", "verifyPhoneNumber" ], - "DeliveryServiceQuote": ["constructor", "fetchServiceQuotesFromCart", "formattedAmount", "fromCart", "setAdapter"], + "DeliveryServiceQuote": ["constructor", "fetchServiceQuotesFromCart", "formattedAmount", "fromCart"], "FoodTruck": ["constructor"], "Network": ["constructor", "getCategories", "getPaymentGateways", "getResourceCollection", "getReviews", "getStoreLocations", "getStores", "getTags", "lookupStore", "search"], "Order": ["constructor"], diff --git a/tests/resources.test.js b/tests/resources.test.js index fb08b62..6b6bf70 100644 --- a/tests/resources.test.js +++ b/tests/resources.test.js @@ -9,7 +9,7 @@ describe('resource and store contracts', () => { it('serializes registered resources and rebuilds stores when adapters change', () => { const adapter = new FakeAdapter(); const store = new StorefrontStore('product', adapter); - expect(store.extendActions()).toBeUndefined(); + expect(store.extendActions()).toBe(store); expect(store.serialize({ id: 'product_1' })).toBeInstanceOf(Product); const resource = new StorefrontResource({ id: 'custom_1' }, adapter, 'storefront-resource'); @@ -19,6 +19,19 @@ describe('resource and store contracts', () => { expect(resource.store.adapter).toBe(nextAdapter); }); + it('keeps the core resource update and empty for resources that do not replace them', async () => { + const adapter = new FakeAdapter({ 'put:storefront-resources/custom_1': { id: 'custom_1', name: 'Renamed' } }); + const resource = new StorefrontResource({ id: 'custom_1', name: 'Original' }, adapter, 'storefront-resource'); + + await resource.update({ name: 'Renamed' }); + expect(adapter.calls[0]).toMatchObject({ method: 'put', endpoint: 'storefront-resources/custom_1', params: { name: 'Renamed' } }); + expect(resource.getAttribute('name')).toBe('Renamed'); + + expect(resource.empty()).toBe(resource); + expect(resource.getAttribute('name')).toBeNull(); + expect(new StoreLocation({}, adapter).hours).toHaveLength(0); + }); + it('implements cart actions, coercion, totals, and empty states', async () => { const adapter = new FakeAdapter({ 'post:carts/cart_1/product_1': { id: 'cart_1', items: [] }, diff --git a/tsconfig.json b/tsconfig.json index 50fd853..e0413d9 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -7,11 +7,7 @@ "moduleResolution": "NodeNext", "target": "ES2022", "lib": ["ES2022", "DOM"], - "skipLibCheck": false, - "baseUrl": ".", - "paths": { - "@fleetbase/sdk": ["types-internal/fleetbase-sdk.d.ts"] - } + "skipLibCheck": false }, - "include": ["src/**/*.ts", "types-internal/**/*.d.ts"] + "include": ["src/**/*.ts"] } diff --git a/types-internal/fleetbase-sdk.d.ts b/types-internal/fleetbase-sdk.d.ts deleted file mode 100644 index 4b1b76b..0000000 --- a/types-internal/fleetbase-sdk.d.ts +++ /dev/null @@ -1,71 +0,0 @@ -declare module '@fleetbase/sdk' { - export class Adapter { - constructor(config?: Record); - get(endpoint: string, params?: unknown, options?: unknown): Promise; - post(endpoint: string, params?: unknown, options?: unknown): Promise; - put(endpoint: string, params?: unknown, options?: unknown): Promise; - patch(endpoint: string, params?: unknown, options?: unknown): Promise; - delete(endpoint: string, params?: unknown, options?: unknown): Promise; - setHeaders(headers: Record): this; - } - - export class Collection extends Array { - constructor(items?: T[]); - get first(): T | undefined; - get last(): T | undefined; - objectAt(index: number): T | undefined; - pushObject(value: T): this; - } - - export class Store { - constructor(resource: string, adapter: Adapter, options?: Record); - resource: string; - adapter: Adapter; - namespace: string; - options: Record; - afterFetch(json: unknown): T; - create(attributes?: Record, options?: Record): Promise; - update(id: string | number, attributes?: Record, options?: Record): Promise; - findRecord(id: string | number, options?: Record): Promise; - findAll(options?: Record): Promise>; - query(query?: Record, options?: Record): Promise>; - queryRecord(query?: Record, options?: Record): Promise; - destroy(record: string | number | Resource, options?: Record): Promise; - } - - export class StoreActions { - constructor(actions?: Record, bind?: unknown); - } - - export class Resource { - constructor(attributes?: Record, adapter?: Adapter, resource?: string, options?: Record); - adapter: Adapter; - store: Store; - resource: string; - options: Record; - get id(): string; - getAttribute(attribute: string, defaultValue?: T): T; - getAttributes(attributes: string[]): Record; - hasAttribute(attribute: string): boolean; - syncAttributes(attributes: Record): this; - serialize(): Record; - destroy(options?: Record): unknown; - } - - export class Order extends Resource { - constructor(attributes?: Record, adapter?: Adapter, options?: Record); - } - export class Place extends Resource { - constructor(attributes?: Record, adapter?: Adapter, options?: Record); - } - export class ServiceQuote extends Resource { - constructor(attributes?: Record, adapter?: Adapter, resource?: string, options?: Record); - } - - export function classify(value: string): string; - export function detectAdapter(options?: Record): Adapter; - export function extendStoreActions(store: T, actions?: StoreActions | undefined[]): T; - export function isResource(value: unknown): value is Resource; - export function lookup(type: string, className: string, ...args: unknown[]): T; - export function register(type: string, className: string, value: unknown): void; -} diff --git a/types/fleetbase-sdk.d.ts b/types/fleetbase-sdk.d.ts deleted file mode 100644 index 4b1b76b..0000000 --- a/types/fleetbase-sdk.d.ts +++ /dev/null @@ -1,71 +0,0 @@ -declare module '@fleetbase/sdk' { - export class Adapter { - constructor(config?: Record); - get(endpoint: string, params?: unknown, options?: unknown): Promise; - post(endpoint: string, params?: unknown, options?: unknown): Promise; - put(endpoint: string, params?: unknown, options?: unknown): Promise; - patch(endpoint: string, params?: unknown, options?: unknown): Promise; - delete(endpoint: string, params?: unknown, options?: unknown): Promise; - setHeaders(headers: Record): this; - } - - export class Collection extends Array { - constructor(items?: T[]); - get first(): T | undefined; - get last(): T | undefined; - objectAt(index: number): T | undefined; - pushObject(value: T): this; - } - - export class Store { - constructor(resource: string, adapter: Adapter, options?: Record); - resource: string; - adapter: Adapter; - namespace: string; - options: Record; - afterFetch(json: unknown): T; - create(attributes?: Record, options?: Record): Promise; - update(id: string | number, attributes?: Record, options?: Record): Promise; - findRecord(id: string | number, options?: Record): Promise; - findAll(options?: Record): Promise>; - query(query?: Record, options?: Record): Promise>; - queryRecord(query?: Record, options?: Record): Promise; - destroy(record: string | number | Resource, options?: Record): Promise; - } - - export class StoreActions { - constructor(actions?: Record, bind?: unknown); - } - - export class Resource { - constructor(attributes?: Record, adapter?: Adapter, resource?: string, options?: Record); - adapter: Adapter; - store: Store; - resource: string; - options: Record; - get id(): string; - getAttribute(attribute: string, defaultValue?: T): T; - getAttributes(attributes: string[]): Record; - hasAttribute(attribute: string): boolean; - syncAttributes(attributes: Record): this; - serialize(): Record; - destroy(options?: Record): unknown; - } - - export class Order extends Resource { - constructor(attributes?: Record, adapter?: Adapter, options?: Record); - } - export class Place extends Resource { - constructor(attributes?: Record, adapter?: Adapter, options?: Record); - } - export class ServiceQuote extends Resource { - constructor(attributes?: Record, adapter?: Adapter, resource?: string, options?: Record); - } - - export function classify(value: string): string; - export function detectAdapter(options?: Record): Adapter; - export function extendStoreActions(store: T, actions?: StoreActions | undefined[]): T; - export function isResource(value: unknown): value is Resource; - export function lookup(type: string, className: string, ...args: unknown[]): T; - export function register(type: string, className: string, value: unknown): void; -} diff --git a/types/resource.d.ts b/types/resource.d.ts index 828d871..d5efe20 100644 --- a/types/resource.d.ts +++ b/types/resource.d.ts @@ -1,12 +1,21 @@ -import { Adapter, Resource } from '@fleetbase/sdk'; +import { Resource } from '@fleetbase/sdk'; +import type { AdapterLike } from '@fleetbase/sdk'; import StorefrontStore from './store.js'; +import type { StorefrontAdapter } from './types.js'; +/** A store whose Storefront actions (cart.add, customer.login, ...) are callable. */ +export type ActionStore = StorefrontStore & Record Promise>; export default class StorefrontResource extends Resource { - store: StorefrontStore & Record unknown>; + store: ActionStore; + adapter: StorefrontAdapter; + /** Storefront ids are public ids such as `cart_x7y8`. */ + get id(): string; /** * Set a new adapter to the resource instance, this will update the Store instance * - * @param {import('@fleetbase/sdk').Adapter} adapter + * @param {import('@fleetbase/sdk').AdapterLike} adapter * @return {this} */ - setAdapter(adapter: Adapter): this; + setAdapter(adapter?: AdapterLike | null): this; + update(...args: any[]): Promise; + empty(..._args: any[]): any; } diff --git a/types/resources/cart.d.ts b/types/resources/cart.d.ts index e2accf6..57d9707 100644 --- a/types/resources/cart.d.ts +++ b/types/resources/cart.d.ts @@ -1,10 +1,10 @@ import Resource from '../resource.js'; import Product from './product.js'; -import { Adapter, StoreActions } from '@fleetbase/sdk'; +import { type AdapterLike, StoreActions } from '@fleetbase/sdk'; import type { Attributes, RequestOptions } from '../types.js'; export declare const cartActions: StoreActions; export default class Cart extends Resource { - constructor(attributes?: Attributes, adapter?: Adapter, options?: Attributes); + constructor(attributes?: Attributes, adapter?: AdapterLike, options?: Attributes); add(productId: string | Product, quantity?: number, data?: Attributes, options?: RequestOptions): Promise; update(cartItemId: string, quantity: number, data?: Attributes, options?: RequestOptions): Promise; remove(cartItemId: string, options?: RequestOptions): Promise; diff --git a/types/resources/category.d.ts b/types/resources/category.d.ts index b8aeb24..ceccf80 100644 --- a/types/resources/category.d.ts +++ b/types/resources/category.d.ts @@ -1,8 +1,8 @@ import Resource from '../resource.js'; import Product from './product.js'; -import { Adapter, Collection } from '@fleetbase/sdk'; +import { type AdapterLike, Collection } from '@fleetbase/sdk'; import type { Attributes } from '../types.js'; export default class Category extends Resource { - constructor(attributes?: Attributes, adapter?: Adapter, options?: Attributes); - getProducts(): Promise>; + constructor(attributes?: Attributes, adapter?: AdapterLike, options?: Attributes); + getProducts(): Promise>; } diff --git a/types/resources/checkout.d.ts b/types/resources/checkout.d.ts index f735756..4a1c8c1 100644 --- a/types/resources/checkout.d.ts +++ b/types/resources/checkout.d.ts @@ -1,10 +1,10 @@ import Resource from '../resource.js'; import Order from './order.js'; -import { Adapter, StoreActions } from '@fleetbase/sdk'; +import { type AdapterLike, StoreActions } from '@fleetbase/sdk'; import type { Attributes, RequestOptions, ResourceIdentifier } from '../types.js'; export declare const checkoutActions: StoreActions; export default class Checkout extends Resource { - constructor(attributes?: Attributes, adapter?: Adapter, options?: Attributes); + constructor(attributes?: Attributes, adapter?: AdapterLike, options?: Attributes); initialize( customer: ResourceIdentifier, cart: ResourceIdentifier, diff --git a/types/resources/customer.d.ts b/types/resources/customer.d.ts index 26ad2e9..1555f6b 100644 --- a/types/resources/customer.d.ts +++ b/types/resources/customer.d.ts @@ -1,23 +1,22 @@ import Resource from '../resource.js'; -import { Adapter, Collection, Order, Place, StoreActions } from '@fleetbase/sdk'; -import type { Attributes, RequestOptions } from '../types.js'; +import { type AdapterLike, Collection, Order, Place, StoreActions } from '@fleetbase/sdk'; +import type { Attributes, RequestOptions, SocketTokenResponse } from '../types.js'; export declare const customerActions: StoreActions; export default class Customer extends Resource { - constructor(attributes?: Attributes, adapter?: Adapter, options?: Attributes); - /** - * Set a new adapter to the resource instance, this will update the Store instance - * - * @param {import('@fleetbase/sdk').Adapter} adapter - * @return {this} - */ - setAdapter(adapter: Adapter): this; + constructor(attributes?: Attributes, adapter?: AdapterLike, options?: Attributes); get token(): string | undefined; syncDevice(token: string, platform: string): Promise; performAuthorizedRequest(endpoint: string, params?: Attributes, method?: string, options?: RequestOptions): Promise; - getSavedPlaces(): Promise>; - getOrderHistory(params?: Attributes): Promise>; + getSavedPlaces(): Promise>; + getOrderHistory(params?: Attributes): Promise>; getStripeEphemeralKey(params?: Attributes): Promise; getStripeSetupIntent(params?: Attributes): Promise; + /** + * Mint a short-lived realtime (socket) token for this customer: `POST customers/socket-token`. + * The token lets the customer subscribe to their own channels, such as their orders. + * Refresh it about 60 seconds before `expires_in` elapses. + */ + socketToken(params?: Attributes, options?: RequestOptions): Promise; startAccountClosure(params?: Attributes, options?: RequestOptions): Promise; confirmAccountClosure(code: string, params?: Attributes, options?: RequestOptions): Promise; requestPhoneVerification(phone: string, params?: Attributes, options?: RequestOptions): Promise; diff --git a/types/resources/delivery-service-quote.d.ts b/types/resources/delivery-service-quote.d.ts index 956cb8e..b640f95 100644 --- a/types/resources/delivery-service-quote.d.ts +++ b/types/resources/delivery-service-quote.d.ts @@ -1,14 +1,7 @@ -import { Adapter, Collection, ServiceQuote } from '@fleetbase/sdk'; +import { type AdapterLike, Collection, ServiceQuote } from '@fleetbase/sdk'; import type { Attributes, ResolvableIdentifier } from '../types.js'; export default class DeliveryServiceQuote extends ServiceQuote { - constructor(attributes?: Attributes | Adapter, adapter?: Adapter, options?: Attributes); - /** - * Set a new adapter to the resource instance, this will update the Store instance - * - * @param {Adapter} adapter - * @return {this} - */ - setAdapter(adapter: Adapter): this; + constructor(attributes?: Attributes | AdapterLike, adapter?: AdapterLike, options?: Attributes); get formattedAmount(): string | null; fromCart(...args: Parameters): Promise>; fetchServiceQuotesFromCart( @@ -19,7 +12,7 @@ export default class DeliveryServiceQuote extends ServiceQuote { all?: boolean ): Promise>; static getFromCart( - adapter: Adapter, + adapter: AdapterLike, origin: ResolvableIdentifier, destination: ResolvableIdentifier, cart: ResolvableIdentifier, diff --git a/types/resources/food-truck.d.ts b/types/resources/food-truck.d.ts index 54ca7b9..86f682a 100644 --- a/types/resources/food-truck.d.ts +++ b/types/resources/food-truck.d.ts @@ -1,6 +1,6 @@ import Resource from '../resource.js'; -import { Adapter } from '@fleetbase/sdk'; +import { type AdapterLike } from '@fleetbase/sdk'; import type { Attributes } from '../types.js'; export default class FoodTruck extends Resource { - constructor(attributes?: Attributes, adapter?: Adapter, options?: Attributes); + constructor(attributes?: Attributes, adapter?: AdapterLike, options?: Attributes); } diff --git a/types/resources/network.d.ts b/types/resources/network.d.ts index 23a55cf..bff31a9 100644 --- a/types/resources/network.d.ts +++ b/types/resources/network.d.ts @@ -5,10 +5,10 @@ import Product from './product.js'; import Review from './review.js'; import Store from './store.js'; import StoreLocation from './store-location.js'; -import { Adapter, Collection } from '@fleetbase/sdk'; +import { type AdapterLike, Collection } from '@fleetbase/sdk'; import type { Attributes, ResourceConstructor } from '../types.js'; export default class Network extends Resource { - constructor(attributes?: Attributes, adapter?: Adapter, options?: Attributes); + constructor(attributes?: Attributes, adapter?: AdapterLike, options?: Attributes); getTags(params?: Attributes): Promise; getResourceCollection(endpoint: string, ResourceClass: ResourceConstructor, params?: Attributes): Promise>; getStores(params?: Attributes): Promise>; diff --git a/types/resources/order.d.ts b/types/resources/order.d.ts index 2fedfa5..54b8269 100644 --- a/types/resources/order.d.ts +++ b/types/resources/order.d.ts @@ -1,5 +1,5 @@ -import { Adapter, Order as FleetbaseOrder } from '@fleetbase/sdk'; +import { type AdapterLike, Order as FleetbaseOrder } from '@fleetbase/sdk'; import type { Attributes } from '../types.js'; export default class Order extends FleetbaseOrder { - constructor(attributes?: Attributes, adapter?: Adapter, options?: Attributes); + constructor(attributes?: Attributes, adapter?: AdapterLike, options?: Attributes); } diff --git a/types/resources/payment-gateway.d.ts b/types/resources/payment-gateway.d.ts index 1ad1b1d..c2252e0 100644 --- a/types/resources/payment-gateway.d.ts +++ b/types/resources/payment-gateway.d.ts @@ -1,9 +1,9 @@ import Resource from '../resource.js'; -import { Adapter } from '@fleetbase/sdk'; +import { type AdapterLike } from '@fleetbase/sdk'; import type { Attributes } from '../types.js'; export default class PaymentGateway extends Resource { private token?; - constructor(attributes?: Attributes, adapter?: Adapter, options?: Attributes); + constructor(attributes?: Attributes, adapter?: AdapterLike, options?: Attributes); get type(): string | undefined; get code(): string | undefined; get isCashGateway(): boolean; @@ -11,9 +11,9 @@ export default class PaymentGateway extends Resource { get isQPayGateway(): boolean; setCheckoutToken(token: string): void; getCheckoutToken(): string | undefined; - findRecord(): void; - create(): void; - update(): void; - destroy(): void; - reload(): void; + findRecord(): never; + create(): never; + update(): never; + destroy(): never; + reload(): never; } diff --git a/types/resources/product.d.ts b/types/resources/product.d.ts index 9d74928..92c4f24 100644 --- a/types/resources/product.d.ts +++ b/types/resources/product.d.ts @@ -1,10 +1,10 @@ import Resource from '../resource.js'; import Review from './review.js'; -import { Adapter, Collection } from '@fleetbase/sdk'; +import { type AdapterLike, Collection } from '@fleetbase/sdk'; import Store from './store.js'; import type { Attributes } from '../types.js'; export default class Product extends Resource { - constructor(attributes?: Attributes, adapter?: Adapter, options?: Attributes); + constructor(attributes?: Attributes, adapter?: AdapterLike, options?: Attributes); variants(): unknown; addons(): unknown; images(): unknown[]; diff --git a/types/resources/review.d.ts b/types/resources/review.d.ts index 38d6e34..f349d21 100644 --- a/types/resources/review.d.ts +++ b/types/resources/review.d.ts @@ -1,9 +1,9 @@ import Resource from '../resource.js'; -import { Adapter, StoreActions } from '@fleetbase/sdk'; +import { type AdapterLike, StoreActions } from '@fleetbase/sdk'; import type { Attributes } from '../types.js'; export declare const reviewActions: StoreActions; export default class Review extends Resource { - constructor(attributes?: Attributes, adapter?: Adapter, options?: Attributes); + constructor(attributes?: Attributes, adapter?: AdapterLike, options?: Attributes); getMedia(): Attributes[]; getPhotos(): Attributes[]; getVideos(): Attributes[]; diff --git a/types/resources/store-hour.d.ts b/types/resources/store-hour.d.ts index 5efa413..9bae060 100644 --- a/types/resources/store-hour.d.ts +++ b/types/resources/store-hour.d.ts @@ -1,8 +1,8 @@ import Resource from '../resource.js'; -import { Adapter } from '@fleetbase/sdk'; +import { type AdapterLike } from '@fleetbase/sdk'; import type { Attributes } from '../types.js'; export default class StoreHour extends Resource { - constructor(attributes?: Attributes, adapter?: Adapter, options?: Attributes); + constructor(attributes?: Attributes, adapter?: AdapterLike, options?: Attributes); get day(): string; get isClosed(): boolean; get is24Hours(): boolean; @@ -10,8 +10,8 @@ export default class StoreHour extends Resource { get endDateInstance(): Date | null; get humanReadableHoursRange(): string; get humanReadableHours(): string; - create(): void; - update(): void; - destroy(): void; - reload(): void; + create(): never; + update(): never; + destroy(): never; + reload(): never; } diff --git a/types/resources/store-location.d.ts b/types/resources/store-location.d.ts index 6d3f76d..4bf9584 100644 --- a/types/resources/store-location.d.ts +++ b/types/resources/store-location.d.ts @@ -1,9 +1,9 @@ import Resource from '../resource.js'; import StoreHour from './store-hour.js'; -import { Adapter, Collection } from '@fleetbase/sdk'; +import { type AdapterLike, Collection } from '@fleetbase/sdk'; import type { Attributes } from '../types.js'; export default class StoreLocation extends Resource { - constructor(attributes?: Attributes, adapter?: Adapter, options?: Attributes); + constructor(attributes?: Attributes, adapter?: AdapterLike, options?: Attributes); get latitude(): number | undefined; get longitude(): number | undefined; get hours(): Collection; @@ -16,7 +16,7 @@ export default class StoreLocation extends Resource { get isAlwaysOpen(): boolean; get today(): Collection; get schedule(): Record>; - create(): void; - update(): void; - destroy(): void; + create(): never; + update(): never; + destroy(): never; } diff --git a/types/resources/store.d.ts b/types/resources/store.d.ts index a36b70d..fbb77a0 100644 --- a/types/resources/store.d.ts +++ b/types/resources/store.d.ts @@ -2,14 +2,14 @@ import Resource from '../resource.js'; import StoreLocation from './store-location.js'; import PaymentGateway from './payment-gateway.js'; import Review from './review.js'; -import { Adapter, Collection } from '@fleetbase/sdk'; +import { type AdapterLike, Collection } from '@fleetbase/sdk'; import type { Attributes } from '../types.js'; export default class Store extends Resource { - constructor(attributes?: Attributes, adapter?: Adapter, options?: Attributes); - getReviews(params?: Attributes): Promise>; + constructor(attributes?: Attributes, adapter?: AdapterLike, options?: Attributes); + getReviews(params?: Attributes): Promise>; getTags(params?: Attributes): Promise; - getLocations(params?: Attributes): Promise>; + getLocations(params?: Attributes): Promise>; getLocation(id: string): Promise; - getPaymentGateways(params?: Attributes): Promise>; + getPaymentGateways(params?: Attributes): Promise>; getPaymentGateway(id: string): Promise; } diff --git a/types/store.d.ts b/types/store.d.ts index 66a158e..3c8b65b 100644 --- a/types/store.d.ts +++ b/types/store.d.ts @@ -1,8 +1,14 @@ -import { Store, StoreActions } from '@fleetbase/sdk'; -import type { Adapter } from '@fleetbase/sdk'; -import type { Attributes } from './types.js'; -export default class StorefrontStore extends Store { - constructor(resource: string, adapter: Adapter, options?: Attributes); - extendActions(actions?: StoreActions | Array): this; - serialize(json: Attributes): T; +import { Store } from '@fleetbase/sdk'; +import type { AdapterLike, Collection } from '@fleetbase/sdk'; +import type { Attributes, StorefrontAdapter } from './types.js'; +/** + * A Storefront API store. The core SDK store already serializes JSON into registered + * resources and extends itself with actions; this keeps Storefront's public class name + * and its contract that listing endpoints resolve to collections. + */ +export default class StorefrontStore extends Store { + adapter: StorefrontAdapter; + constructor(resource: string, adapter?: AdapterLike | null, options?: Attributes); + findAll(options?: {}): Promise>; + query(query?: Attributes, options?: {}): Promise>; } diff --git a/types/storefront.d.cts b/types/storefront.d.cts index 2d92eca..c237dc5 100644 --- a/types/storefront.d.cts +++ b/types/storefront.d.cts @@ -1,4 +1,3 @@ -import './fleetbase-sdk.js'; type StorefrontModule = typeof import('./storefront.js', { with: { 'resolution-mode': 'import' } }); declare const Storefront: StorefrontModule['default'] & StorefrontModule & { default: StorefrontModule['default'] }; export = Storefront; diff --git a/types/storefront.d.ts b/types/storefront.d.ts index 092400d..31550d5 100644 --- a/types/storefront.d.ts +++ b/types/storefront.d.ts @@ -1,9 +1,8 @@ -import './fleetbase-sdk.js'; import StorefrontStore from './store.js'; import { Product, Category, Customer, Cart, Store, StoreLocation, StoreHour, DeliveryServiceQuote, Checkout, PaymentGateway, Review, Network, FoodTruck, Order } from './resources.js'; import { Collection, lookup } from '@fleetbase/sdk'; -import type { Adapter } from '@fleetbase/sdk'; -import type { Attributes, RequestOptions, ResourceIdentifier, StorefrontConfig } from './types.js'; +import type { AdapterLike } from '@fleetbase/sdk'; +import type { Attributes, RequestOptions, ResourceIdentifier, StorefrontAdapter, StorefrontConfig } from './types.js'; export interface ReviewStoreActions { count(storeId?: string, options?: RequestOptions): Promise; } @@ -64,7 +63,7 @@ export type OrderStore = StorefrontStore & OrderStoreActions; export default class Storefront { version: string; options: Attributes; - adapter: Adapter; + adapter: StorefrontAdapter; products: StorefrontStore; categories: StorefrontStore; foodTrucks: StorefrontStore; @@ -120,7 +119,8 @@ export default class Storefront { search(query: string, options?: Attributes): Promise>; hydrateOwner(attributes?: Attributes): Store | Network; static newInstance(...args: ConstructorParameters): Storefront; - setAdapter(adapter: Adapter): this; - getAdapter(): Adapter; + setAdapter(adapter: AdapterLike): this; + getAdapter(): StorefrontAdapter; } export { Product, Category, Customer, Cart, Store, StoreLocation, StoreHour, DeliveryServiceQuote, Checkout, PaymentGateway, Review, Network, FoodTruck, Order, lookup }; +export type { SocketTokenResponse } from './types.js'; diff --git a/types/types.d.ts b/types/types.d.ts index aad5dff..64a22a1 100644 --- a/types/types.d.ts +++ b/types/types.d.ts @@ -1,13 +1,24 @@ -import type { Adapter, Resource } from '@fleetbase/sdk'; +import type { AdapterLike, Resource } from '@fleetbase/sdk'; +import type { RequestOptions as SdkRequestOptions } from '@fleetbase/sdk'; export type Attributes = Record; -export interface RequestOptions extends Record { - headers?: Record; +/** Request options passed through to the core SDK adapter. */ +export interface RequestOptions extends SdkRequestOptions { + headers?: Record; + [option: string]: unknown; +} +/** The core SDK adapter, with responses typed by the caller. */ +export interface StorefrontAdapter extends AdapterLike { + get(path: string, query?: Attributes, options?: RequestOptions): Promise; + post(path: string, data?: unknown, options?: RequestOptions): Promise; + put(path: string, data?: unknown, options?: RequestOptions): Promise; + patch(path: string, data?: unknown, options?: RequestOptions): Promise; + delete(path: string, options?: RequestOptions, legacyOptions?: RequestOptions): Promise; } export interface StorefrontConfig { version?: string; host?: string; namespace?: string; - adapter?: Adapter; + adapter?: AdapterLike; } export type ResourceIdentifier = string | Resource; export type ResolvableIdentifier = @@ -17,4 +28,13 @@ export type ResolvableIdentifier = } | null | undefined; -export type ResourceConstructor = new (attributes?: Attributes, adapter?: Adapter, options?: Attributes) => T; +export type ResourceConstructor = new (attributes?: Attributes, adapter?: AdapterLike, options?: Attributes) => T; +/** Response of `customer.socketToken()` (`POST customers/socket-token`). */ +export interface SocketTokenResponse { + /** Short-lived realtime token; pass it to `socket.authenticate(token)`. */ + token: string; + /** Lifetime in seconds. Refresh about 60 seconds before it elapses. */ + expires_in: number; + /** Expiry as an ISO 8601 timestamp. */ + expires_at: string; +}