UNPKG

@deposits/utils

Version:

A collection of utility functions that we have found ourselves reuse across our frontend, kept in one place and documented.

2 lines (1 loc) 3.91 kB
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("luxon")):"function"==typeof define&&define.amd?define(["exports","luxon"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).DepositsUtils={},t.luxon)}(this,(function(t,e){"use strict";var r=function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return(t=t.trim()).charAt(0).toUpperCase()+(e?t.slice(1).toLowerCase():t.slice(1))};function n(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r<e;r++)n[r]=t[r];return n}function o(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var n,o,i,a,l=[],y=!0,d=!1;try{if(i=(r=r.call(t)).next,0===e);else for(;!(y=(n=i.call(r)).done)&&(l.push(n.value),l.length!==e);y=!0);}catch(t){d=!0,o=t}finally{try{if(!y&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(d)throw o}}return l}}(t,e)||function(t,e){if(t){if("string"==typeof t)return n(t,e);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)?n(t,e):void 0}}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}t.capitalize=r,t.displayDate=function(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"LLL dd, yyyy",n=arguments.length>2?arguments[2]:void 0;if(!t)return"-";var o,i=["dd-MM-yyyy","MM-dd-yyyy","yyyy-MM-dd","dd/MM/yyyy","MM/dd/yyyy","yyyy/MM/dd","dd/MM/yyyy"],a=function(){var r=e.DateTime.fromJSDate(t,{zone:"utc"});if(r.isValid)return r;for(var n=0,o=i;n<o.length;n++){var a=o[n],l=e.DateTime.fromFormat(t,a,{zone:"utc"});if(l.isValid)return l}if((r=e.DateTime.fromISO(t)).isValid)return r;throw new Error("Invalid date")};try{return n?((o=e.DateTime.fromFormat(t,n,{zone:"utc"})).isValid||(o=a()),o.setZone("utc").toFormat(r)):(o=a()).setZone("utc").toFormat(r)}catch(t){if("Invalid date"===t.message)return"-";throw t}},t.mask=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"*",r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:4,n=t.trim();if(n.includes("@")){var i=o(n.split("@"),2),a=i[0],l=i[1];return a.length>1?"".concat(a[0]).concat(e.repeat(a.length-1),"@").concat(l):n}return n.length>r?"".concat(e.repeat(n.length-r)).concat(n.slice(-r)):n},t.numberFormat=function(t,e){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:".",n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:",";t=(t+"").replace(/[^0-9+\-Ee.,]/g,"");var o=isFinite(+t)?+t:0,i=isFinite(+e)?Math.abs(e):0,a=void 0===n?",":n,l=void 0===r?".":r,y="";return y=(i?function(t,e){var r=Math.pow(10,e);return""+Math.round(t*r)/r}(o,i):""+Math.round(o)).split("."),y[0].length>3&&(y[0]=y[0].replace(/\B(?=(?:\d{3})+(?!\d))/g,a)),(y[1]||"").length<i&&(y[1]=y[1]||"",y[1]+=new Array(i-y[1].length+1).join("0")),y.join(l)},t.parseDate=function(t,r){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"utc";if(!t)return e.DateTime.now().setZone(n).toJSDate();if(r){var o=e.DateTime.fromFormat(t,r,{zone:"utc"}).setZone(n);if(o.isValid)return o.toJSDate();throw new Error("Invalid date")}for(var i=0,a=["dd-MM-yyyy","MM-dd-yyyy","yyyy-MM-dd","dd/MM/yyyy","MM/dd/yyyy","yyyy/MM/dd","dd/MM/yyyy"];i<a.length;i++){var l=a[i],y=e.DateTime.fromFormat(t,l,{zone:"utc"}).setZone(n);if(y.isValid)return y.toJSDate()}throw new Error("Invalid date")},t.sentenceCase=function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return(t=t.trim()).split(" ").map((function(t){return r(t,e)})).join(" ")},t.sentencify=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"_";return t.split(e).join(" ")}}));