@opfr/utils-lang 0.16.1 → 0.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.es.js CHANGED
@@ -22,8 +22,8 @@ const w = (e) => new Intl.NumberFormat("de-DE").format(e), h = (e, t, r = Math.r
22
22
  return e;
23
23
  }, B = (e) => e.filter((t) => t != null), R = (e, t, r) => [
24
24
  ...e,
25
- ...m(t, r)
26
- ], z = (e, t, r) => [...m(t, r), ...e], F = (e, t, r) => [...e, ...p(t, r)], m = (e, t) => t ? [e] : [], p = (e, t) => t ? e : [], M = (e) => e[h(0, e.length)], N = (e, t) => Array.from({
25
+ ...d(t, r)
26
+ ], z = (e, t, r) => [...d(t, r), ...e], F = (e, t, r) => [...e, ...p(t, r)], d = (e, t) => t ? [e] : [], p = (e, t) => t ? e : [], M = (e) => e[h(0, e.length)], N = (e, t) => Array.from({
27
27
  length: t
28
28
  }).map(() => M(e)).reduce(
29
29
  (r, n) => ({ ...r, [n]: (r[n] ?? 0) + 1 }),
@@ -65,7 +65,7 @@ const w = (e) => new Intl.NumberFormat("de-DE").format(e), h = (e, t, r = Math.r
65
65
  /"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,
66
66
  "]"
67
67
  ).replace(/(?:^|:|,)(?:\s*\[)+/g, "")
68
- ) : !1, y = /^(janvier|février|mars|avril|mai|juin|juillet|août|septembre|octobre|novembre|décembre)/i, Y = /(janv\.?|févr\.?|mars|avr\.?|mai|juin|juil\.?|août|sept\.?|oct\.?|nov\.?|déc\.?)/i, d = /(janv\.?|févr\.?|avr\.?|juil\.?|sept\.?|oct\.?|nov\.?|déc\.?|janvier|février|mars|avril|mai|juin|juillet|août|septembre|octobre|novembre|décembre)/i, c = [
68
+ ) : !1, y = /^(janvier|février|mars|avril|mai|juin|juillet|août|septembre|octobre|novembre|décembre)/i, Y = /(janv\.?|févr\.?|mars|avr\.?|mai|juin|juil\.?|août|sept\.?|oct\.?|nov\.?|déc\.?)/i, m = /(janv\.?|févr\.?|avr\.?|juil\.?|sept\.?|oct\.?|nov\.?|déc\.?|janvier|février|mars|avril|mai|juin|juillet|août|septembre|octobre|novembre|décembre)/i, c = [
69
69
  /^janv/i,
70
70
  /^févr/i,
71
71
  /^mars/i,
@@ -83,8 +83,8 @@ const w = (e) => new Intl.NumberFormat("de-DE").format(e), h = (e, t, r = Math.r
83
83
  "_"
84
84
  ),
85
85
  monthsShort: "janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.".split("_"),
86
- monthsRegex: d,
87
- monthsShortRegex: d,
86
+ monthsRegex: m,
87
+ monthsShortRegex: m,
88
88
  monthsStrictRegex: y,
89
89
  monthsShortStrictRegex: Y,
90
90
  monthsParse: c,
@@ -155,7 +155,7 @@ const ne = (e) => new Date(e).toString() !== "Invalid Date", se = (e, t) => Math
155
155
  ), oe = (e) => f(u(e).format("DD MMMM YYYY")), ie = (e) => f(u(e).format("dddd DD MMMM YYYY")), ae = (e, t, r = !0) => (r ? e.getFullYear() === t.getFullYear() : !0) && e.getMonth() === t.getMonth() && e.getDate() === t.getDate(), ue = () => u().locale("fr").subtract(1, "days").toDate(), ce = (e) => /* @__PURE__ */ new Date() > e, le = (e = /* @__PURE__ */ new Date(), t = 1) => {
156
156
  const r = t * 60 * 1e3;
157
157
  return new Date(Math.round(e.getTime() / r) * r);
158
- }, de = (e) => {
158
+ }, me = (e) => {
159
159
  const t = [], r = u.duration(e);
160
160
  if (!(!r || r.toISOString() === "P0D")) {
161
161
  if (r.years() >= 1) {
@@ -184,7 +184,7 @@ const ne = (e) => new Date(e).toString() !== "Invalid Date", se = (e, t) => Math
184
184
  }
185
185
  return t.join(", ");
186
186
  }
187
- }, l = /^([1-9][0-9]?)([hmd])$/i, me = (e) => !!e && l.test(e), fe = (e) => {
187
+ }, l = /^([1-9][0-9]*)([hmd])$/i, de = (e) => !!e && l.test(e), fe = (e) => {
188
188
  const t = l.exec(e);
189
189
  if (!t)
190
190
  return;
@@ -242,9 +242,9 @@ export {
242
242
  z as includeBeginIf,
243
243
  R as includeIf,
244
244
  p as insertArrayIf,
245
- m as insertIf,
245
+ d as insertIf,
246
246
  te as isDefined,
247
- me as isDuration,
247
+ de as isDuration,
248
248
  pe as isFunction,
249
249
  re as isJSON,
250
250
  T as isNumber,
@@ -260,7 +260,7 @@ export {
260
260
  X as pascalCase,
261
261
  M as pickFrom,
262
262
  N as pickFromNth,
263
- de as precise,
263
+ me as precise,
264
264
  h as randomBetween,
265
265
  q as range,
266
266
  je as recordToArray,
@@ -1 +1 @@
1
- (function(i,o){typeof exports=="object"&&typeof module<"u"?o(exports,require("moment")):typeof define=="function"&&define.amd?define(["exports","moment"],o):(i=typeof globalThis<"u"?globalThis:i||self,o(i.utils={},i.moment))})(this,function(i,o){"use strict";const S=e=>new Intl.NumberFormat("de-DE").format(e),h=(e,t,n=Math.random)=>Math.floor(n()*(t-e)+e),p=e=>{let t=e;const n=2147483648,r=1103515245,s=12345;return()=>(t=(r*t+s)%n,t/(n-1))},T=(e,t,n)=>Math.max(t,Math.min(e,n)),I=e=>typeof e=="number",Y=(e,t)=>e.reduce((n,r,s)=>{const a=Math.floor(s/t);return(n[a]||(n[a]=[])).push(r),n},[]),w=(e,t)=>e.reduce((n,r)=>((n[t(r)]=n[t(r)]||[]).push(r),n),{}),A=(e,t)=>e.reduce((n,r)=>n.find(([s])=>s===t(r))?n.map(([s,a])=>[s,s===t(r)?a+1:a]):[...n,[t(r),1]],[]),L=(e,t)=>[...e].sort((n,r)=>t(n)<t(r)?-1:t(n)>t(r)?1:0),O=(e,t,n=r=>r)=>e.filter(r=>t.some(s=>n(s)===n(r))),C=(e,t,n=r=>r)=>e.filter(r=>!t.some(s=>n(s)===n(r))),E=(e,t)=>[...new Set(e.map(n=>t(n)))],W=(e,t)=>e.filter((n,r,s)=>r===s.findIndex(a=>t(a)===t(n))),$=e=>{for(let t=e.length-1;t>0;t--){const n=Math.floor(Math.random()*(t+1));[e[t],e[n]]=[e[n],e[t]]}return e},P=e=>e.filter(t=>t!=null),B=(e,t,n)=>[...e,...l(t,n)],H=(e,t,n)=>[...l(t,n),...e],N=(e,t,n)=>[...e,...g(t,n)],l=(e,t)=>t?[e]:[],g=(e,t)=>t?e:[],M=e=>e[h(0,e.length)],F=(e,t)=>Array.from({length:t}).map(()=>M(e)).reduce((n,r)=>({...n,[r]:(n[r]??0)+1}),{}),R=({start:e=0,stop:t,step:n=1})=>{if(n===0)throw new RangeError("step cannot be equal to 0");if(n>0&&e>=t||n<0&&e<=t)return[];const s=[];for(let a=e;n>0?a<t:a>t;a+=n)s.push(a);return s},z=e=>Object.fromEntries(e),D=" ",_=" ",q=(e,t="")=>e.split(t).join(D),k=(e,t="")=>e.split(t).join(_),U=(e,t)=>e.length>t?e.slice(0,t-3)+"...":e,j=e=>e&&e[0].toUpperCase()+e.slice(1),d=e=>e.split(" ").map(j).join(" "),G=e=>/^\d+$/.test(e),Z=e=>e!==Math.round(e)||e<1||e===1/0||e===-1/0?null:e===1?"1er":`${e}ème`,J=e=>e.trim().replace(/\s+/gi," "),K=e=>{const t=e.split(" "),r=(s=>{let a=1/0;for(let u=0;u<s.length;u++){const c=Math.abs(s.slice(0,u+1).join(" ").length-s.slice(u+1).join(" ").length);if(c<=a)a=c;else return u-1}return a})(t);return t.length===1?[t[0]]:[t.slice(0,r+1),t.slice(r+1)].map(s=>s.join(" "))},y=e=>typeof e=="string",v=e=>{const t=e.replace(/[^a-zA-Z0-9]+(.)/g,(n,r)=>r.toUpperCase());return`${t.charAt(0).toLowerCase()}${t.slice(1)}`},V=e=>{const t=v(e);return`${t.charAt(0).toUpperCase()}${t.slice(1)}`},Q=e=>e.replace(/([a-z])([A-Z])/g,"$1-$2").replace(/[^a-zA-Z0-9]+/g,"-").toLowerCase().replace(/^-+|-+$/g,""),X=e=>e!=null,x=e=>y(e)?/^[\],:{}\s]*$/.test(e.replace(/\\["\\\/bfnrtu]/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:\s*\[)+/g,"")):!1,ee=/^(janvier|février|mars|avril|mai|juin|juillet|août|septembre|octobre|novembre|décembre)/i,te=/(janv\.?|févr\.?|mars|avr\.?|mai|juin|juil\.?|août|sept\.?|oct\.?|nov\.?|déc\.?)/i,b=/(janv\.?|févr\.?|avr\.?|juil\.?|sept\.?|oct\.?|nov\.?|déc\.?|janvier|février|mars|avril|mai|juin|juillet|août|septembre|octobre|novembre|décembre)/i,m=[/^janv/i,/^févr/i,/^mars/i,/^avr/i,/^mai/i,/^juin/i,/^juil/i,/^août/i,/^sept/i,/^oct/i,/^nov/i,/^déc/i],ne={months:"janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre".split("_"),monthsShort:"janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.".split("_"),monthsRegex:b,monthsShortRegex:b,monthsStrictRegex:ee,monthsShortStrictRegex:te,monthsParse:m,longMonthsParse:m,shortMonthsParse:m,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"di_lu_ma_me_je_ve_sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd’hui à] LT",nextDay:"[Demain à] LT",nextWeek:"dddd [à] LT",lastDay:"[Hier à] LT",lastWeek:"dddd [dernier à] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",ss:"%d secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",w:"une semaine",ww:"%d semaines",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},dayOfMonthOrdinalParse:/\d{1,2}(er|)/,ordinal:(e,t)=>{switch(t){case"D":return e+(e===1?"er":"");default:case"M":case"Q":case"DDD":case"d":return e+(e===1?"er":"e");case"w":case"W":return e+(e===1?"re":"e")}},week:{dow:1,doy:4}};o.locale("fr",ne);const re=e=>new Date(e).toString()!=="Invalid Date",ie=(e,t)=>Math.abs(Math.ceil((t.getTime()-e.getTime())/(1e3*60*60*24))),se=e=>d(o(e).format("DD MMMM YYYY")),ae=e=>d(o(e).format("dddd DD MMMM YYYY")),oe=(e,t,n=!0)=>(n?e.getFullYear()===t.getFullYear():!0)&&e.getMonth()===t.getMonth()&&e.getDate()===t.getDate(),ue=()=>o().locale("fr").subtract(1,"days").toDate(),ce=e=>new Date>e,le=(e=new Date,t=1)=>{const n=t*60*1e3;return new Date(Math.round(e.getTime()/n)*n)},de=e=>{const t=[],n=o.duration(e);if(!(!n||n.toISOString()==="P0D")){if(n.years()>=1){const r=Math.floor(n.years());t.push(r+" "+(r>1?"années":"année"))}if(n.months()>=1){const r=Math.floor(n.months());t.push(r+" mois")}if(n.days()>=1){const r=Math.floor(n.days());t.push(r+" "+(r>1?"jours":"jour"))}if(n.hours()>=1){const r=Math.floor(n.hours());t.push(r+" "+(r>1?"heures":"heure"))}if(n.minutes()>=1){const r=Math.floor(n.minutes());t.push(r+" "+(r>1?"minutes":"minute"))}if(n.seconds()>=1){const r=Math.floor(n.seconds());t.push(r+" "+(r>1?"secondes":"seconde"))}return t.join(", ")}},f=/^([1-9][0-9]?)([hmd])$/i,me=e=>!!e&&f.test(e),fe=e=>{const t=f.exec(e);if(!t)return;const[,n,r]=t,s=parseInt(n,10),a=1e3*60;if(r==="m")return a*s;if(r==="h")return a*60*s;if(r==="d")return a*60*24*s},he=e=>{const t=f.exec(e);if(!t)return null;const[,n,r]=t,s=parseInt(n,10);if(r==="m")return`${s} minute${s>1?"s":""}`;if(r==="h")return`${s} heure${s>1?"s":""}`;if(r==="d")return`${s} jour${s>1?"s":""}`},ge=e=>typeof e=="function",Me=(e,t,n)=>{const r={...e},s=Object.entries(e);for(const[a,u]of s){const c=t[a];c?r[a]=n(u,c):r[a]=u}return r},De=e=>e instanceof Object,_e=(e,t)=>t.reduce((n,r)=>({...n,[r]:e[r]}),{}),je=e=>Object.entries(e);i.TIGHT_SPACE=D,i.WIDE_SPACE=_,i.arrayToRecord=z,i.breakWords=K,i.camelcase=v,i.capitalize=j,i.capitalizeAllWords=d,i.clamp=T,i.dateDiff=ie,i.durationToMs=fe,i.ellipsis=U,i.exclude=C,i.fillWithTightSpaces=q,i.fillWithWideSpaces=k,i.filterKeys=_e,i.filterNullAndUndefined=P,i.formatDate=se,i.formatDateWithDay=ae,i.formatDuration=he,i.formatNumber=S,i.groupBy=w,i.groupByOccurrence=A,i.hasExpire=ce,i.includeArrayIf=N,i.includeBeginIf=H,i.includeIf=B,i.insertArrayIf=g,i.insertIf=l,i.isDefined=X,i.isDuration=me,i.isFunction=ge,i.isJSON=x,i.isNumber=I,i.isObject=De,i.isPositiveInteger=G,i.isString=y,i.isValidDate=re,i.kebabCase=Q,i.mergeObjects=Me,i.mutuallyInclusive=O,i.numberToOrdinal=Z,i.paginate=Y,i.pascalCase=V,i.pickFrom=M,i.pickFromNth=F,i.precise=de,i.randomBetween=h,i.range=R,i.recordToArray=je,i.roundDate=le,i.sameDay=oe,i.seededRandom=p,i.shuffle=$,i.sortBy=L,i.trim=J,i.unique=E,i.uniquePreserve=W,i.yesterday=ue,Object.defineProperty(i,Symbol.toStringTag,{value:"Module"})});
1
+ (function(i,o){typeof exports=="object"&&typeof module<"u"?o(exports,require("moment")):typeof define=="function"&&define.amd?define(["exports","moment"],o):(i=typeof globalThis<"u"?globalThis:i||self,o(i.utils={},i.moment))})(this,function(i,o){"use strict";const S=e=>new Intl.NumberFormat("de-DE").format(e),h=(e,t,n=Math.random)=>Math.floor(n()*(t-e)+e),p=e=>{let t=e;const n=2147483648,r=1103515245,s=12345;return()=>(t=(r*t+s)%n,t/(n-1))},T=(e,t,n)=>Math.max(t,Math.min(e,n)),I=e=>typeof e=="number",Y=(e,t)=>e.reduce((n,r,s)=>{const a=Math.floor(s/t);return(n[a]||(n[a]=[])).push(r),n},[]),w=(e,t)=>e.reduce((n,r)=>((n[t(r)]=n[t(r)]||[]).push(r),n),{}),A=(e,t)=>e.reduce((n,r)=>n.find(([s])=>s===t(r))?n.map(([s,a])=>[s,s===t(r)?a+1:a]):[...n,[t(r),1]],[]),L=(e,t)=>[...e].sort((n,r)=>t(n)<t(r)?-1:t(n)>t(r)?1:0),O=(e,t,n=r=>r)=>e.filter(r=>t.some(s=>n(s)===n(r))),C=(e,t,n=r=>r)=>e.filter(r=>!t.some(s=>n(s)===n(r))),E=(e,t)=>[...new Set(e.map(n=>t(n)))],W=(e,t)=>e.filter((n,r,s)=>r===s.findIndex(a=>t(a)===t(n))),$=e=>{for(let t=e.length-1;t>0;t--){const n=Math.floor(Math.random()*(t+1));[e[t],e[n]]=[e[n],e[t]]}return e},P=e=>e.filter(t=>t!=null),B=(e,t,n)=>[...e,...l(t,n)],H=(e,t,n)=>[...l(t,n),...e],N=(e,t,n)=>[...e,...g(t,n)],l=(e,t)=>t?[e]:[],g=(e,t)=>t?e:[],M=e=>e[h(0,e.length)],F=(e,t)=>Array.from({length:t}).map(()=>M(e)).reduce((n,r)=>({...n,[r]:(n[r]??0)+1}),{}),R=({start:e=0,stop:t,step:n=1})=>{if(n===0)throw new RangeError("step cannot be equal to 0");if(n>0&&e>=t||n<0&&e<=t)return[];const s=[];for(let a=e;n>0?a<t:a>t;a+=n)s.push(a);return s},z=e=>Object.fromEntries(e),D=" ",_=" ",q=(e,t="")=>e.split(t).join(D),k=(e,t="")=>e.split(t).join(_),U=(e,t)=>e.length>t?e.slice(0,t-3)+"...":e,j=e=>e&&e[0].toUpperCase()+e.slice(1),d=e=>e.split(" ").map(j).join(" "),G=e=>/^\d+$/.test(e),Z=e=>e!==Math.round(e)||e<1||e===1/0||e===-1/0?null:e===1?"1er":`${e}ème`,J=e=>e.trim().replace(/\s+/gi," "),K=e=>{const t=e.split(" "),r=(s=>{let a=1/0;for(let u=0;u<s.length;u++){const c=Math.abs(s.slice(0,u+1).join(" ").length-s.slice(u+1).join(" ").length);if(c<=a)a=c;else return u-1}return a})(t);return t.length===1?[t[0]]:[t.slice(0,r+1),t.slice(r+1)].map(s=>s.join(" "))},y=e=>typeof e=="string",v=e=>{const t=e.replace(/[^a-zA-Z0-9]+(.)/g,(n,r)=>r.toUpperCase());return`${t.charAt(0).toLowerCase()}${t.slice(1)}`},V=e=>{const t=v(e);return`${t.charAt(0).toUpperCase()}${t.slice(1)}`},Q=e=>e.replace(/([a-z])([A-Z])/g,"$1-$2").replace(/[^a-zA-Z0-9]+/g,"-").toLowerCase().replace(/^-+|-+$/g,""),X=e=>e!=null,x=e=>y(e)?/^[\],:{}\s]*$/.test(e.replace(/\\["\\\/bfnrtu]/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:\s*\[)+/g,"")):!1,ee=/^(janvier|février|mars|avril|mai|juin|juillet|août|septembre|octobre|novembre|décembre)/i,te=/(janv\.?|févr\.?|mars|avr\.?|mai|juin|juil\.?|août|sept\.?|oct\.?|nov\.?|déc\.?)/i,b=/(janv\.?|févr\.?|avr\.?|juil\.?|sept\.?|oct\.?|nov\.?|déc\.?|janvier|février|mars|avril|mai|juin|juillet|août|septembre|octobre|novembre|décembre)/i,m=[/^janv/i,/^févr/i,/^mars/i,/^avr/i,/^mai/i,/^juin/i,/^juil/i,/^août/i,/^sept/i,/^oct/i,/^nov/i,/^déc/i],ne={months:"janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre".split("_"),monthsShort:"janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.".split("_"),monthsRegex:b,monthsShortRegex:b,monthsStrictRegex:ee,monthsShortStrictRegex:te,monthsParse:m,longMonthsParse:m,shortMonthsParse:m,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"di_lu_ma_me_je_ve_sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd’hui à] LT",nextDay:"[Demain à] LT",nextWeek:"dddd [à] LT",lastDay:"[Hier à] LT",lastWeek:"dddd [dernier à] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",ss:"%d secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",w:"une semaine",ww:"%d semaines",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},dayOfMonthOrdinalParse:/\d{1,2}(er|)/,ordinal:(e,t)=>{switch(t){case"D":return e+(e===1?"er":"");default:case"M":case"Q":case"DDD":case"d":return e+(e===1?"er":"e");case"w":case"W":return e+(e===1?"re":"e")}},week:{dow:1,doy:4}};o.locale("fr",ne);const re=e=>new Date(e).toString()!=="Invalid Date",ie=(e,t)=>Math.abs(Math.ceil((t.getTime()-e.getTime())/(1e3*60*60*24))),se=e=>d(o(e).format("DD MMMM YYYY")),ae=e=>d(o(e).format("dddd DD MMMM YYYY")),oe=(e,t,n=!0)=>(n?e.getFullYear()===t.getFullYear():!0)&&e.getMonth()===t.getMonth()&&e.getDate()===t.getDate(),ue=()=>o().locale("fr").subtract(1,"days").toDate(),ce=e=>new Date>e,le=(e=new Date,t=1)=>{const n=t*60*1e3;return new Date(Math.round(e.getTime()/n)*n)},de=e=>{const t=[],n=o.duration(e);if(!(!n||n.toISOString()==="P0D")){if(n.years()>=1){const r=Math.floor(n.years());t.push(r+" "+(r>1?"années":"année"))}if(n.months()>=1){const r=Math.floor(n.months());t.push(r+" mois")}if(n.days()>=1){const r=Math.floor(n.days());t.push(r+" "+(r>1?"jours":"jour"))}if(n.hours()>=1){const r=Math.floor(n.hours());t.push(r+" "+(r>1?"heures":"heure"))}if(n.minutes()>=1){const r=Math.floor(n.minutes());t.push(r+" "+(r>1?"minutes":"minute"))}if(n.seconds()>=1){const r=Math.floor(n.seconds());t.push(r+" "+(r>1?"secondes":"seconde"))}return t.join(", ")}},f=/^([1-9][0-9]*)([hmd])$/i,me=e=>!!e&&f.test(e),fe=e=>{const t=f.exec(e);if(!t)return;const[,n,r]=t,s=parseInt(n,10),a=1e3*60;if(r==="m")return a*s;if(r==="h")return a*60*s;if(r==="d")return a*60*24*s},he=e=>{const t=f.exec(e);if(!t)return null;const[,n,r]=t,s=parseInt(n,10);if(r==="m")return`${s} minute${s>1?"s":""}`;if(r==="h")return`${s} heure${s>1?"s":""}`;if(r==="d")return`${s} jour${s>1?"s":""}`},ge=e=>typeof e=="function",Me=(e,t,n)=>{const r={...e},s=Object.entries(e);for(const[a,u]of s){const c=t[a];c?r[a]=n(u,c):r[a]=u}return r},De=e=>e instanceof Object,_e=(e,t)=>t.reduce((n,r)=>({...n,[r]:e[r]}),{}),je=e=>Object.entries(e);i.TIGHT_SPACE=D,i.WIDE_SPACE=_,i.arrayToRecord=z,i.breakWords=K,i.camelcase=v,i.capitalize=j,i.capitalizeAllWords=d,i.clamp=T,i.dateDiff=ie,i.durationToMs=fe,i.ellipsis=U,i.exclude=C,i.fillWithTightSpaces=q,i.fillWithWideSpaces=k,i.filterKeys=_e,i.filterNullAndUndefined=P,i.formatDate=se,i.formatDateWithDay=ae,i.formatDuration=he,i.formatNumber=S,i.groupBy=w,i.groupByOccurrence=A,i.hasExpire=ce,i.includeArrayIf=N,i.includeBeginIf=H,i.includeIf=B,i.insertArrayIf=g,i.insertIf=l,i.isDefined=X,i.isDuration=me,i.isFunction=ge,i.isJSON=x,i.isNumber=I,i.isObject=De,i.isPositiveInteger=G,i.isString=y,i.isValidDate=re,i.kebabCase=Q,i.mergeObjects=Me,i.mutuallyInclusive=O,i.numberToOrdinal=Z,i.paginate=Y,i.pascalCase=V,i.pickFrom=M,i.pickFromNth=F,i.precise=de,i.randomBetween=h,i.range=R,i.recordToArray=je,i.roundDate=le,i.sameDay=oe,i.seededRandom=p,i.shuffle=$,i.sortBy=L,i.trim=J,i.unique=E,i.uniquePreserve=W,i.yesterday=ue,Object.defineProperty(i,Symbol.toStringTag,{value:"Module"})});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opfr/utils-lang",
3
- "version": "0.16.1",
3
+ "version": "0.17.0",
4
4
  "private": false,
5
5
  "description": "OPFR utils-lang",
6
6
  "author": "Matthieu VEIGA",
@@ -35,5 +35,5 @@
35
35
  "node_modules",
36
36
  "dist"
37
37
  ],
38
- "gitHead": "cf13bd541391f7a5bc56418a58405672ceb00f57"
38
+ "gitHead": "ae3280dbae9ca199e2e16470b3d6c0f103c7148b"
39
39
  }