@opfr/utils-lang 1.0.6 → 1.1.1

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/array.d.ts CHANGED
@@ -22,4 +22,6 @@ export type RangeParams = {
22
22
  };
23
23
  export declare const range: ({ start, stop, step }: RangeParams) => number[];
24
24
  export declare const arrayToRecord: <TKey extends string | number, TValue>(array: [TKey, TValue][]) => Record<TKey, TValue>;
25
+ export declare const pickByOdds: <T>(items: Record<number, T[]>) => T;
26
+ export declare const pickNthByOdds: <TObject extends object, TKey extends string | number>(quantity: number, items: TObject[], compareFn: (item: TObject) => TKey, oddFn: (item: TObject) => number) => TObject[];
25
27
  //# sourceMappingURL=array.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"array.d.ts","sourceRoot":"","sources":["../src/array.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"array.d.ts","sourceRoot":"","sources":["../src/array.ts"],"names":[],"mappings":"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"}
package/dist/array.js CHANGED
@@ -81,4 +81,34 @@ export const range = ({ start = 0, stop, step = 1 }) => {
81
81
  return result;
82
82
  };
83
83
  export const arrayToRecord = (array) => Object.fromEntries(array);
84
+ export const pickByOdds = (items) => {
85
+ const random = Math.random();
86
+ let sum = 0;
87
+ const oddSum = Object.keys(items)
88
+ .map(key => parseFloat(key))
89
+ .reduce((acc, e) => acc + e, 0);
90
+ if (oddSum !== 1) {
91
+ throw RangeError('pickByOdds - Sum of all odds (keys) must be equal to 1');
92
+ }
93
+ for (const [key, value] of Object.entries(items)) {
94
+ const ornamentOdd = parseFloat(key);
95
+ if (random >= sum + ornamentOdd) {
96
+ sum += ornamentOdd;
97
+ continue;
98
+ }
99
+ if (value.length === 0) {
100
+ continue;
101
+ }
102
+ return value[randomBetween(0, value.length)];
103
+ }
104
+ throw Error('pickByOdds - All odds array were empty');
105
+ };
106
+ export const pickNthByOdds = (quantity, items, compareFn, oddFn) => {
107
+ const pickedItems = [];
108
+ while (pickedItems.length < quantity) {
109
+ const filteredItems = exclude(items, pickedItems, compareFn);
110
+ pickedItems.push(pickByOdds(groupBy(filteredItems, item => oddFn(item))));
111
+ }
112
+ return pickedItems;
113
+ };
84
114
  //# sourceMappingURL=array.js.map
package/dist/array.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"array.js","sourceRoot":"","sources":["../src/array.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"array.js","sourceRoot":"","sources":["../src/array.ts"],"names":[],"mappings":"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"}
package/dist/index.es.js CHANGED
@@ -1,31 +1,31 @@
1
- import u from "moment";
2
- const S = (e) => new Intl.NumberFormat("de-DE").format(e), h = (e, t, r = Math.random) => Math.floor(r() * (t - e) + e), L = (e) => {
1
+ import c from "moment";
2
+ const O = (e) => new Intl.NumberFormat("de-DE").format(e), m = (e, t, r = Math.random) => Math.floor(r() * (t - e) + e), T = (e) => {
3
3
  let t = e;
4
4
  const r = 2147483648, n = 1103515245, s = 12345;
5
5
  return () => (t = (n * t + s) % r, t / (r - 1));
6
- }, I = (e, t, r) => Math.max(t, Math.min(e, r)), T = (e) => typeof e == "number", x = (e, t) => e.reduce((r, n, s) => {
6
+ }, E = (e, t, r) => Math.max(t, Math.min(e, r)), x = (e) => typeof e == "number", A = (e, t) => e.reduce((r, n, s) => {
7
7
  const o = Math.floor(s / t);
8
8
  return (r[o] || (r[o] = [])).push(n), r;
9
- }, []), C = (e, t) => e.reduce(
9
+ }, []), p = (e, t) => e.reduce(
10
10
  (r, n) => ((r[t(n)] = r[t(n)] || []).push(n), r),
11
11
  {}
12
- ), $ = (e, t) => e.reduce((r, n) => r.find(([s]) => s === t(n)) ? r.map(([s, o]) => [
12
+ ), C = (e, t) => e.reduce((r, n) => r.find(([s]) => s === t(n)) ? r.map(([s, o]) => [
13
13
  s,
14
14
  s === t(n) ? o + 1 : o
15
- ]) : [...r, [t(n), 1]], []), A = (e, t) => [...e].sort((r, n) => t(r) < t(n) ? -1 : t(r) > t(n) ? 1 : 0), E = (e, t, r = (n) => n) => e.filter((n) => t.some((s) => r(s) === r(n))), O = (e, t, r = (n) => n) => e.filter((n) => !t.some((s) => r(s) === r(n))), P = (e, t) => [...new Set(e.map((r) => t(r)))], H = (e, t) => e.filter(
15
+ ]) : [...r, [t(n), 1]], []), $ = (e, t) => [...e].sort((r, n) => t(r) < t(n) ? -1 : t(r) > t(n) ? 1 : 0), B = (e, t, r = (n) => n) => e.filter((n) => t.some((s) => r(s) === r(n))), g = (e, t, r = (n) => n) => e.filter((n) => !t.some((s) => r(s) === r(n))), P = (e, t) => [...new Set(e.map((r) => t(r)))], k = (e, t) => e.filter(
16
16
  (r, n, s) => n === s.findIndex((o) => t(o) === t(r))
17
- ), W = (e) => {
17
+ ), H = (e) => {
18
18
  for (let t = e.length - 1; t > 0; t--) {
19
19
  const r = Math.floor(Math.random() * (t + 1));
20
20
  [e[t], e[r]] = [e[r], e[t]];
21
21
  }
22
22
  return e;
23
- }, B = (e) => e.filter((t) => t != null), R = (e, t, r) => [
23
+ }, W = (e) => e.filter((t) => t != null), F = (e, t, r) => [
24
24
  ...e,
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({
25
+ ...f(t, r)
26
+ ], R = (e, t, r) => [...f(t, r), ...e], z = (e, t, r) => [...e, ...M(t, r)], f = (e, t) => t ? [e] : [], M = (e, t) => t ? e : [], _ = (e) => e[m(0, e.length)], N = (e, t) => Array.from({
27
27
  length: t
28
- }).map(() => M(e)).reduce(
28
+ }).map(() => _(e)).reduce(
29
29
  (r, n) => ({ ...r, [n]: (r[n] ?? 0) + 1 }),
30
30
  {}
31
31
  ), q = ({ start: e = 0, stop: t, step: r = 1 }) => {
@@ -36,7 +36,29 @@ const S = (e) => new Intl.NumberFormat("de-DE").format(e), h = (e, t, r = Math.r
36
36
  for (let o = e; r > 0 ? o < t : o > t; o += r)
37
37
  s.push(o);
38
38
  return s;
39
- }, U = (e) => Object.fromEntries(e), _ = " ", g = " ", Z = (e, t = "") => e.split(t).join(_), k = (e, t = "") => e.split(t).join(g), G = (e, t) => e.length > t ? e.slice(0, t - 3) + "..." : e, j = (e) => e && e[0].toUpperCase() + e.slice(1), f = (e) => e.split(" ").map(j).join(" "), J = (e) => /^\d+$/.test(e), K = (e) => e !== Math.round(e) || e < 1 || e === 1 / 0 || e === -1 / 0 ? null : e === 1 ? "1er" : `${e}ème`, Q = (e) => e.trim().replace(/\s+/gi, " "), V = (e) => {
39
+ }, U = (e) => Object.fromEntries(e), j = (e) => {
40
+ const t = Math.random();
41
+ let r = 0;
42
+ if (Object.keys(e).map((s) => parseFloat(s)).reduce((s, o) => s + o, 0) !== 1)
43
+ throw RangeError("pickByOdds - Sum of all odds (keys) must be equal to 1");
44
+ for (const [s, o] of Object.entries(e)) {
45
+ const i = parseFloat(s);
46
+ if (t >= r + i) {
47
+ r += i;
48
+ continue;
49
+ }
50
+ if (o.length !== 0)
51
+ return o[m(0, o.length)];
52
+ }
53
+ throw Error("pickByOdds - All odds array were empty");
54
+ }, Z = (e, t, r, n) => {
55
+ const s = [];
56
+ for (; s.length < e; ) {
57
+ const o = g(t, s, r);
58
+ s.push(j(p(o, (i) => n(i))));
59
+ }
60
+ return s;
61
+ }, D = " ", y = " ", G = (e, t = "") => e.split(t).join(D), J = (e, t = "") => e.split(t).join(y), K = (e, t) => e.length > t ? e.slice(0, t - 3) + "..." : e, v = (e) => e && e[0].toUpperCase() + e.slice(1), h = (e) => e.split(" ").map(v).join(" "), Q = (e) => /^\d+$/.test(e), V = (e) => e !== Math.round(e) || e < 1 || e === 1 / 0 || e === -1 / 0 ? null : e === 1 ? "1er" : `${e}ème`, X = (e) => e.trim().replace(/\s+/gi, " "), ee = (e) => {
40
62
  const t = e.split(" "), n = ((s) => {
41
63
  let o = 1 / 0;
42
64
  for (let i = 0; i < s.length; i++) {
@@ -51,15 +73,15 @@ const S = (e) => new Intl.NumberFormat("de-DE").format(e), h = (e, t, r = Math.r
51
73
  return t.length === 1 ? [t[0]] : [t.slice(0, n + 1), t.slice(n + 1)].map(
52
74
  (s) => s.join(" ")
53
75
  );
54
- }, D = (e) => typeof e == "string", v = (e) => e.toLowerCase().replace(/[^a-zA-Z0-9]+(.)/g, (t, r) => r.toUpperCase()).replace(/^[A-Z]/, (t) => t.toLowerCase()), X = (e) => {
55
- const t = v(e);
76
+ }, b = (e) => typeof e == "string", w = (e) => e.toLowerCase().replace(/[^a-zA-Z0-9]+(.)/g, (t, r) => r.toUpperCase()).replace(/^[A-Z]/, (t) => t.toLowerCase()), te = (e) => {
77
+ const t = w(e);
56
78
  return `${t.charAt(0).toUpperCase()}${t.slice(1)}`;
57
- }, ee = (e) => e.replace(/([a-z])([A-Z])/g, "$1-$2").replace(/[^a-zA-Z0-9]+/g, "-").toLowerCase().replace(/^-+|-+$/g, ""), te = (e) => e != null, re = (e) => D(e) ? /^[\],:{}\s]*$/.test(
79
+ }, re = (e) => e.replace(/([a-z])([A-Z])/g, "$1-$2").replace(/[^a-zA-Z0-9]+/g, "-").toLowerCase().replace(/^-+|-+$/g, ""), ne = (e) => e != null, se = (e) => b(e) ? /^[\],:{}\s]*$/.test(
58
80
  e.replace(/\\["\\\/bfnrtu]/g, "@").replace(
59
81
  /"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,
60
82
  "]"
61
83
  ).replace(/(?:^|:|,)(?:\s*\[)+/g, "")
62
- ) : !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 = [
84
+ ) : !1, Y = /^(janvier|février|mars|avril|mai|juin|juillet|août|septembre|octobre|novembre|décembre)/i, S = /(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, u = [
63
85
  /^janv/i,
64
86
  /^févr/i,
65
87
  /^mars/i,
@@ -72,18 +94,18 @@ const S = (e) => new Intl.NumberFormat("de-DE").format(e), h = (e, t, r = Math.r
72
94
  /^oct/i,
73
95
  /^nov/i,
74
96
  /^déc/i
75
- ], b = {
97
+ ], L = {
76
98
  months: "janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre".split(
77
99
  "_"
78
100
  ),
79
101
  monthsShort: "janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.".split("_"),
80
- monthsRegex: m,
81
- monthsShortRegex: m,
82
- monthsStrictRegex: y,
83
- monthsShortStrictRegex: Y,
84
- monthsParse: c,
85
- longMonthsParse: c,
86
- shortMonthsParse: c,
102
+ monthsRegex: d,
103
+ monthsShortRegex: d,
104
+ monthsStrictRegex: Y,
105
+ monthsShortStrictRegex: S,
106
+ monthsParse: u,
107
+ longMonthsParse: u,
108
+ shortMonthsParse: u,
87
109
  weekdays: "dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),
88
110
  weekdaysShort: "dim._lun._mar._mer._jeu._ven._sam.".split("_"),
89
111
  weekdaysMin: "di_lu_ma_me_je_ve_sa".split("_"),
@@ -143,14 +165,14 @@ const S = (e) => new Intl.NumberFormat("de-DE").format(e), h = (e, t, r = Math.r
143
165
  doy: 4
144
166
  }
145
167
  };
146
- u.locale("fr", b);
147
- const ne = (e) => new Date(e).toString() !== "Invalid Date", se = (e, t) => Math.abs(
168
+ c.locale("fr", L);
169
+ const oe = (e) => new Date(e).toString() !== "Invalid Date", ie = (e, t) => Math.abs(
148
170
  Math.ceil((t.getTime() - e.getTime()) / (1e3 * 60 * 60 * 24))
149
- ), 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) => {
171
+ ), ae = (e) => h(c(e).format("DD MMMM YYYY")), ce = (e) => h(c(e).format("dddd DD MMMM YYYY")), ue = (e, t, r = !0) => (r ? e.getFullYear() === t.getFullYear() : !0) && e.getMonth() === t.getMonth() && e.getDate() === t.getDate(), le = () => c().locale("fr").subtract(1, "days").toDate(), de = (e) => /* @__PURE__ */ new Date() > e, me = (e = /* @__PURE__ */ new Date(), t = 1) => {
150
172
  const r = t * 60 * 1e3;
151
173
  return new Date(Math.round(e.getTime() / r) * r);
152
- }, me = (e) => {
153
- const t = [], r = u.duration(e);
174
+ }, fe = (e) => {
175
+ const t = [], r = c.duration(e);
154
176
  if (!(!r || r.toISOString() === "P0D")) {
155
177
  if (r.years() >= 1) {
156
178
  const n = Math.floor(r.years());
@@ -178,7 +200,7 @@ const ne = (e) => new Date(e).toString() !== "Invalid Date", se = (e, t) => Math
178
200
  }
179
201
  return t.join(", ");
180
202
  }
181
- }, l = /^([1-9][0-9]*)([hmd])$/i, de = (e) => !!e && l.test(e), fe = (e) => {
203
+ }, l = /^([1-9][0-9]*)([hmd])$/i, he = (e) => !!e && l.test(e), pe = (e) => {
182
204
  const t = l.exec(e);
183
205
  if (!t)
184
206
  return;
@@ -186,7 +208,7 @@ const ne = (e) => new Date(e).toString() !== "Invalid Date", se = (e, t) => Math
186
208
  if (n === "m") return o * s;
187
209
  if (n === "h") return o * 60 * s;
188
210
  if (n === "d") return o * 60 * 24 * s;
189
- }, he = (e) => {
211
+ }, ge = (e) => {
190
212
  const t = l.exec(e);
191
213
  if (!t)
192
214
  return null;
@@ -194,77 +216,79 @@ const ne = (e) => new Date(e).toString() !== "Invalid Date", se = (e, t) => Math
194
216
  if (n === "m") return `${s} minute${s > 1 ? "s" : ""}`;
195
217
  if (n === "h") return `${s} heure${s > 1 ? "s" : ""}`;
196
218
  if (n === "d") return `${s} jour${s > 1 ? "s" : ""}`;
197
- }, pe = (e) => typeof e == "function", Me = (e, t, r) => {
219
+ }, Me = (e) => typeof e == "function", _e = (e, t, r) => {
198
220
  const n = { ...e }, s = Object.entries(e);
199
221
  for (const [o, i] of s) {
200
222
  const a = t[o];
201
223
  a ? n[o] = r(i, a) : n[o] = i;
202
224
  }
203
225
  return n;
204
- }, _e = (e) => e instanceof Object, ge = (e, t) => t.reduce(
226
+ }, je = (e) => e instanceof Object, De = (e, t) => t.reduce(
205
227
  (r, n) => ({
206
228
  ...r,
207
229
  [n]: e[n]
208
230
  }),
209
231
  {}
210
- ), je = (e) => Object.entries(e);
232
+ ), ye = (e) => Object.entries(e);
211
233
  export {
212
- _ as TIGHT_SPACE,
213
- g as WIDE_SPACE,
234
+ D as TIGHT_SPACE,
235
+ y as WIDE_SPACE,
214
236
  U as arrayToRecord,
215
- V as breakWords,
216
- v as camelcase,
217
- j as capitalize,
218
- f as capitalizeAllWords,
219
- I as clamp,
220
- se as dateDiff,
221
- fe as durationToMs,
222
- G as ellipsis,
223
- O as exclude,
224
- Z as fillWithTightSpaces,
225
- k as fillWithWideSpaces,
226
- ge as filterKeys,
227
- B as filterNullAndUndefined,
228
- oe as formatDate,
229
- ie as formatDateWithDay,
230
- he as formatDuration,
231
- S as formatNumber,
232
- C as groupBy,
233
- $ as groupByOccurrence,
234
- ce as hasExpire,
235
- F as includeArrayIf,
236
- z as includeBeginIf,
237
- R as includeIf,
238
- p as insertArrayIf,
239
- d as insertIf,
240
- te as isDefined,
241
- de as isDuration,
242
- pe as isFunction,
243
- re as isJSON,
244
- T as isNumber,
245
- _e as isObject,
246
- J as isPositiveInteger,
247
- D as isString,
248
- ne as isValidDate,
249
- ee as kebabCase,
250
- Me as mergeObjects,
251
- E as mutuallyInclusive,
252
- K as numberToOrdinal,
253
- x as paginate,
254
- X as pascalCase,
255
- M as pickFrom,
237
+ ee as breakWords,
238
+ w as camelcase,
239
+ v as capitalize,
240
+ h as capitalizeAllWords,
241
+ E as clamp,
242
+ ie as dateDiff,
243
+ pe as durationToMs,
244
+ K as ellipsis,
245
+ g as exclude,
246
+ G as fillWithTightSpaces,
247
+ J as fillWithWideSpaces,
248
+ De as filterKeys,
249
+ W as filterNullAndUndefined,
250
+ ae as formatDate,
251
+ ce as formatDateWithDay,
252
+ ge as formatDuration,
253
+ O as formatNumber,
254
+ p as groupBy,
255
+ C as groupByOccurrence,
256
+ de as hasExpire,
257
+ z as includeArrayIf,
258
+ R as includeBeginIf,
259
+ F as includeIf,
260
+ M as insertArrayIf,
261
+ f as insertIf,
262
+ ne as isDefined,
263
+ he as isDuration,
264
+ Me as isFunction,
265
+ se as isJSON,
266
+ x as isNumber,
267
+ je as isObject,
268
+ Q as isPositiveInteger,
269
+ b as isString,
270
+ oe as isValidDate,
271
+ re as kebabCase,
272
+ _e as mergeObjects,
273
+ B as mutuallyInclusive,
274
+ V as numberToOrdinal,
275
+ A as paginate,
276
+ te as pascalCase,
277
+ j as pickByOdds,
278
+ _ as pickFrom,
256
279
  N as pickFromNth,
257
- me as precise,
258
- h as randomBetween,
280
+ Z as pickNthByOdds,
281
+ fe as precise,
282
+ m as randomBetween,
259
283
  q as range,
260
- je as recordToArray,
261
- le as roundDate,
262
- ae as sameDay,
263
- L as seededRandom,
264
- W as shuffle,
265
- A as sortBy,
266
- Q as trim,
284
+ ye as recordToArray,
285
+ me as roundDate,
286
+ ue as sameDay,
287
+ T as seededRandom,
288
+ H as shuffle,
289
+ $ as sortBy,
290
+ X as trim,
267
291
  P as unique,
268
- H as uniquePreserve,
269
- ue as yesterday
292
+ k as uniquePreserve,
293
+ le as yesterday
270
294
  };
package/dist/index.umd.js CHANGED
@@ -1 +1 @@
1
- (function(r,o){typeof exports=="object"&&typeof module<"u"?o(exports,require("moment")):typeof define=="function"&&define.amd?define(["exports","moment"],o):(r=typeof globalThis<"u"?globalThis:r||self,o(r["utils-lang"]={},r.moment))})(this,(function(r,o){"use strict";const v=e=>new Intl.NumberFormat("de-DE").format(e),h=(e,t,n=Math.random)=>Math.floor(n()*(t-e)+e),S=e=>{let t=e;const n=2147483648,i=1103515245,s=12345;return()=>(t=(i*t+s)%n,t/(n-1))},b=(e,t,n)=>Math.max(t,Math.min(e,n)),T=e=>typeof e=="number",p=(e,t)=>e.reduce((n,i,s)=>{const a=Math.floor(s/t);return(n[a]||(n[a]=[])).push(i),n},[]),I=(e,t)=>e.reduce((n,i)=>((n[t(i)]=n[t(i)]||[]).push(i),n),{}),Y=(e,t)=>e.reduce((n,i)=>n.find(([s])=>s===t(i))?n.map(([s,a])=>[s,s===t(i)?a+1:a]):[...n,[t(i),1]],[]),A=(e,t)=>[...e].sort((n,i)=>t(n)<t(i)?-1:t(n)>t(i)?1:0),E=(e,t,n=i=>i)=>e.filter(i=>t.some(s=>n(s)===n(i))),w=(e,t,n=i=>i)=>e.filter(i=>!t.some(s=>n(s)===n(i))),C=(e,t)=>[...new Set(e.map(n=>t(n)))],L=(e,t)=>e.filter((n,i,s)=>i===s.findIndex(a=>t(a)===t(n))),P=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},O=e=>e.filter(t=>t!=null),W=(e,t,n)=>[...e,...l(t,n)],$=(e,t,n)=>[...l(t,n),...e],B=(e,t,n)=>[...e,...g(t,n)],l=(e,t)=>t?[e]:[],g=(e,t)=>t?e:[],_=e=>e[h(0,e.length)],H=(e,t)=>Array.from({length:t}).map(()=>_(e)).reduce((n,i)=>({...n,[i]:(n[i]??0)+1}),{}),N=({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},F=e=>Object.fromEntries(e),R=(e,t="")=>e.split(t).join(" "),z=(e,t="")=>e.split(t).join(" "),q=(e,t)=>e.length>t?e.slice(0,t-3)+"...":e,D=e=>e&&e[0].toUpperCase()+e.slice(1),d=e=>e.split(" ").map(D).join(" "),k=e=>/^\d+$/.test(e),G=e=>e!==Math.round(e)||e<1||e===1/0||e===-1/0?null:e===1?"1er":`${e}ème`,U=e=>e.trim().replace(/\s+/gi," "),Z=e=>{const t=e.split(" "),i=(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,i+1),t.slice(i+1)].map(s=>s.join(" "))},M=e=>typeof e=="string",j=e=>e.toLowerCase().replace(/[^a-zA-Z0-9]+(.)/g,(t,n)=>n.toUpperCase()).replace(/^[A-Z]/,t=>t.toLowerCase()),J=e=>{const t=j(e);return`${t.charAt(0).toUpperCase()}${t.slice(1)}`},K=e=>e.replace(/([a-z])([A-Z])/g,"$1-$2").replace(/[^a-zA-Z0-9]+/g,"-").toLowerCase().replace(/^-+|-+$/g,""),V=e=>e!=null,Q=e=>M(e)?/^[\],:{}\s]*$/.test(e.replace(/\\["\\\/bfnrtu]/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:\s*\[)+/g,"")):!1,X=/^(janvier|février|mars|avril|mai|juin|juillet|août|septembre|octobre|novembre|décembre)/i,x=/(janv\.?|févr\.?|mars|avr\.?|mai|juin|juil\.?|août|sept\.?|oct\.?|nov\.?|déc\.?)/i,y=/(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],ee={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:y,monthsShortRegex:y,monthsStrictRegex:X,monthsShortStrictRegex:x,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",ee);const te=e=>new Date(e).toString()!=="Invalid Date",ne=(e,t)=>Math.abs(Math.ceil((t.getTime()-e.getTime())/(1e3*60*60*24))),re=e=>d(o(e).format("DD MMMM YYYY")),ie=e=>d(o(e).format("dddd DD MMMM YYYY")),se=(e,t,n=!0)=>(n?e.getFullYear()===t.getFullYear():!0)&&e.getMonth()===t.getMonth()&&e.getDate()===t.getDate(),ae=()=>o().locale("fr").subtract(1,"days").toDate(),oe=e=>new Date>e,ue=(e=new Date,t=1)=>{const n=t*60*1e3;return new Date(Math.round(e.getTime()/n)*n)},ce=e=>{const t=[],n=o.duration(e);if(!(!n||n.toISOString()==="P0D")){if(n.years()>=1){const i=Math.floor(n.years());t.push(i+" "+(i>1?"années":"année"))}if(n.months()>=1){const i=Math.floor(n.months());t.push(i+" mois")}if(n.days()>=1){const i=Math.floor(n.days());t.push(i+" "+(i>1?"jours":"jour"))}if(n.hours()>=1){const i=Math.floor(n.hours());t.push(i+" "+(i>1?"heures":"heure"))}if(n.minutes()>=1){const i=Math.floor(n.minutes());t.push(i+" "+(i>1?"minutes":"minute"))}if(n.seconds()>=1){const i=Math.floor(n.seconds());t.push(i+" "+(i>1?"secondes":"seconde"))}return t.join(", ")}},f=/^([1-9][0-9]*)([hmd])$/i,le=e=>!!e&&f.test(e),de=e=>{const t=f.exec(e);if(!t)return;const[,n,i]=t,s=parseInt(n,10),a=1e3*60;if(i==="m")return a*s;if(i==="h")return a*60*s;if(i==="d")return a*60*24*s},me=e=>{const t=f.exec(e);if(!t)return null;const[,n,i]=t,s=parseInt(n,10);if(i==="m")return`${s} minute${s>1?"s":""}`;if(i==="h")return`${s} heure${s>1?"s":""}`;if(i==="d")return`${s} jour${s>1?"s":""}`},fe=e=>typeof e=="function",he=(e,t,n)=>{const i={...e},s=Object.entries(e);for(const[a,u]of s){const c=t[a];c?i[a]=n(u,c):i[a]=u}return i},ge=e=>e instanceof Object,_e=(e,t)=>t.reduce((n,i)=>({...n,[i]:e[i]}),{}),De=e=>Object.entries(e);r.TIGHT_SPACE=" ",r.WIDE_SPACE=" ",r.arrayToRecord=F,r.breakWords=Z,r.camelcase=j,r.capitalize=D,r.capitalizeAllWords=d,r.clamp=b,r.dateDiff=ne,r.durationToMs=de,r.ellipsis=q,r.exclude=w,r.fillWithTightSpaces=R,r.fillWithWideSpaces=z,r.filterKeys=_e,r.filterNullAndUndefined=O,r.formatDate=re,r.formatDateWithDay=ie,r.formatDuration=me,r.formatNumber=v,r.groupBy=I,r.groupByOccurrence=Y,r.hasExpire=oe,r.includeArrayIf=B,r.includeBeginIf=$,r.includeIf=W,r.insertArrayIf=g,r.insertIf=l,r.isDefined=V,r.isDuration=le,r.isFunction=fe,r.isJSON=Q,r.isNumber=T,r.isObject=ge,r.isPositiveInteger=k,r.isString=M,r.isValidDate=te,r.kebabCase=K,r.mergeObjects=he,r.mutuallyInclusive=E,r.numberToOrdinal=G,r.paginate=p,r.pascalCase=J,r.pickFrom=_,r.pickFromNth=H,r.precise=ce,r.randomBetween=h,r.range=N,r.recordToArray=De,r.roundDate=ue,r.sameDay=se,r.seededRandom=S,r.shuffle=P,r.sortBy=A,r.trim=U,r.unique=C,r.uniquePreserve=L,r.yesterday=ae,Object.defineProperty(r,Symbol.toStringTag,{value:"Module"})}));
1
+ (function(r,u){typeof exports=="object"&&typeof module<"u"?u(exports,require("moment")):typeof define=="function"&&define.amd?define(["exports","moment"],u):(r=typeof globalThis<"u"?globalThis:r||self,u(r["utils-lang"]={},r.moment))})(this,(function(r,u){"use strict";const b=e=>new Intl.NumberFormat("de-DE").format(e),l=(e,t,n=Math.random)=>Math.floor(n()*(t-e)+e),I=e=>{let t=e;const n=2147483648,i=1103515245,s=12345;return()=>(t=(i*t+s)%n,t/(n-1))},T=(e,t,n)=>Math.max(t,Math.min(e,n)),O=e=>typeof e=="number",w=(e,t)=>e.reduce((n,i,s)=>{const o=Math.floor(s/t);return(n[o]||(n[o]=[])).push(i),n},[]),g=(e,t)=>e.reduce((n,i)=>((n[t(i)]=n[t(i)]||[]).push(i),n),{}),A=(e,t)=>e.reduce((n,i)=>n.find(([s])=>s===t(i))?n.map(([s,o])=>[s,s===t(i)?o+1:o]):[...n,[t(i),1]],[]),E=(e,t)=>[...e].sort((n,i)=>t(n)<t(i)?-1:t(n)>t(i)?1:0),Y=(e,t,n=i=>i)=>e.filter(i=>t.some(s=>n(s)===n(i))),y=(e,t,n=i=>i)=>e.filter(i=>!t.some(s=>n(s)===n(i))),C=(e,t)=>[...new Set(e.map(n=>t(n)))],L=(e,t)=>e.filter((n,i,s)=>i===s.findIndex(o=>t(o)===t(n))),B=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),W=(e,t,n)=>[...e,...d(t,n)],k=(e,t,n)=>[...d(t,n),...e],$=(e,t,n)=>[...e,..._(t,n)],d=(e,t)=>t?[e]:[],_=(e,t)=>t?e:[],M=e=>e[l(0,e.length)],H=(e,t)=>Array.from({length:t}).map(()=>M(e)).reduce((n,i)=>({...n,[i]:(n[i]??0)+1}),{}),N=({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 o=e;n>0?o<t:o>t;o+=n)s.push(o);return s},F=e=>Object.fromEntries(e),D=e=>{const t=Math.random();let n=0;if(Object.keys(e).map(s=>parseFloat(s)).reduce((s,o)=>s+o,0)!==1)throw RangeError("pickByOdds - Sum of all odds (keys) must be equal to 1");for(const[s,o]of Object.entries(e)){const a=parseFloat(s);if(t>=n+a){n+=a;continue}if(o.length!==0)return o[l(0,o.length)]}throw Error("pickByOdds - All odds array were empty")},R=(e,t,n,i)=>{const s=[];for(;s.length<e;){const o=y(t,s,n);s.push(D(g(o,a=>i(a))))}return s},z=(e,t="")=>e.split(t).join(" "),q=(e,t="")=>e.split(t).join(" "),G=(e,t)=>e.length>t?e.slice(0,t-3)+"...":e,j=e=>e&&e[0].toUpperCase()+e.slice(1),m=e=>e.split(" ").map(j).join(" "),U=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(" "),i=(s=>{let o=1/0;for(let a=0;a<s.length;a++){const c=Math.abs(s.slice(0,a+1).join(" ").length-s.slice(a+1).join(" ").length);if(c<=o)o=c;else return a-1}return o})(t);return t.length===1?[t[0]]:[t.slice(0,i+1),t.slice(i+1)].map(s=>s.join(" "))},p=e=>typeof e=="string",v=e=>e.toLowerCase().replace(/[^a-zA-Z0-9]+(.)/g,(t,n)=>n.toUpperCase()).replace(/^[A-Z]/,t=>t.toLowerCase()),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=>p(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,S=/(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,f=[/^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:S,monthsShortRegex:S,monthsStrictRegex:ee,monthsShortStrictRegex:te,monthsParse:f,longMonthsParse:f,shortMonthsParse:f,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}};u.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=>m(u(e).format("DD MMMM YYYY")),oe=e=>m(u(e).format("dddd DD MMMM YYYY")),ae=(e,t,n=!0)=>(n?e.getFullYear()===t.getFullYear():!0)&&e.getMonth()===t.getMonth()&&e.getDate()===t.getDate(),ue=()=>u().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=u.duration(e);if(!(!n||n.toISOString()==="P0D")){if(n.years()>=1){const i=Math.floor(n.years());t.push(i+" "+(i>1?"années":"année"))}if(n.months()>=1){const i=Math.floor(n.months());t.push(i+" mois")}if(n.days()>=1){const i=Math.floor(n.days());t.push(i+" "+(i>1?"jours":"jour"))}if(n.hours()>=1){const i=Math.floor(n.hours());t.push(i+" "+(i>1?"heures":"heure"))}if(n.minutes()>=1){const i=Math.floor(n.minutes());t.push(i+" "+(i>1?"minutes":"minute"))}if(n.seconds()>=1){const i=Math.floor(n.seconds());t.push(i+" "+(i>1?"secondes":"seconde"))}return t.join(", ")}},h=/^([1-9][0-9]*)([hmd])$/i,me=e=>!!e&&h.test(e),fe=e=>{const t=h.exec(e);if(!t)return;const[,n,i]=t,s=parseInt(n,10),o=1e3*60;if(i==="m")return o*s;if(i==="h")return o*60*s;if(i==="d")return o*60*24*s},he=e=>{const t=h.exec(e);if(!t)return null;const[,n,i]=t,s=parseInt(n,10);if(i==="m")return`${s} minute${s>1?"s":""}`;if(i==="h")return`${s} heure${s>1?"s":""}`;if(i==="d")return`${s} jour${s>1?"s":""}`},ge=e=>typeof e=="function",ye=(e,t,n)=>{const i={...e},s=Object.entries(e);for(const[o,a]of s){const c=t[o];c?i[o]=n(a,c):i[o]=a}return i},_e=e=>e instanceof Object,Me=(e,t)=>t.reduce((n,i)=>({...n,[i]:e[i]}),{}),De=e=>Object.entries(e);r.TIGHT_SPACE=" ",r.WIDE_SPACE=" ",r.arrayToRecord=F,r.breakWords=K,r.camelcase=v,r.capitalize=j,r.capitalizeAllWords=m,r.clamp=T,r.dateDiff=ie,r.durationToMs=fe,r.ellipsis=G,r.exclude=y,r.fillWithTightSpaces=z,r.fillWithWideSpaces=q,r.filterKeys=Me,r.filterNullAndUndefined=P,r.formatDate=se,r.formatDateWithDay=oe,r.formatDuration=he,r.formatNumber=b,r.groupBy=g,r.groupByOccurrence=A,r.hasExpire=ce,r.includeArrayIf=$,r.includeBeginIf=k,r.includeIf=W,r.insertArrayIf=_,r.insertIf=d,r.isDefined=X,r.isDuration=me,r.isFunction=ge,r.isJSON=x,r.isNumber=O,r.isObject=_e,r.isPositiveInteger=U,r.isString=p,r.isValidDate=re,r.kebabCase=Q,r.mergeObjects=ye,r.mutuallyInclusive=Y,r.numberToOrdinal=Z,r.paginate=w,r.pascalCase=V,r.pickByOdds=D,r.pickFrom=M,r.pickFromNth=H,r.pickNthByOdds=R,r.precise=de,r.randomBetween=l,r.range=N,r.recordToArray=De,r.roundDate=le,r.sameDay=ae,r.seededRandom=I,r.shuffle=B,r.sortBy=E,r.trim=J,r.unique=C,r.uniquePreserve=L,r.yesterday=ue,Object.defineProperty(r,Symbol.toStringTag,{value:"Module"})}));
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@opfr/utils-lang",
3
- "version": "1.0.6",
3
+ "version": "1.1.1",
4
4
  "private": false,
5
5
  "description": "OPFR utils-lang",
6
6
  "author": "Matthieu VEIGA",
7
7
  "scripts": {
8
8
  "prepublish": "npm run build",
9
- "build": " vite build && tsc",
9
+ "build": "vite build && tsc -p tsconfig.build.json",
10
10
  "test": "vitest",
11
11
  "test:ci": "vitest run",
12
12
  "coverage": "vitest run --coverage"
@@ -34,5 +34,5 @@
34
34
  "node_modules",
35
35
  "dist"
36
36
  ],
37
- "gitHead": "75dbcbad2caf14d68a456b9bf8a847f62659a8b3"
37
+ "gitHead": "9c023c6e109febcb794bd1cd695baa44d4d00111"
38
38
  }