@opfr/utils-lang 1.0.1 → 1.0.3

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.
Files changed (46) hide show
  1. package/dist/array.d.ts +1 -0
  2. package/dist/array.d.ts.map +1 -0
  3. package/dist/array.js +84 -0
  4. package/dist/array.js.map +1 -0
  5. package/dist/common.d.ts +1 -0
  6. package/dist/common.d.ts.map +1 -0
  7. package/dist/common.js +14 -0
  8. package/dist/common.js.map +1 -0
  9. package/dist/date.d.ts +1 -0
  10. package/dist/date.d.ts.map +1 -0
  11. package/dist/date.js +63 -0
  12. package/dist/date.js.map +1 -0
  13. package/dist/duration.d.ts +1 -0
  14. package/dist/duration.d.ts.map +1 -0
  15. package/dist/duration.js +34 -0
  16. package/dist/duration.js.map +1 -0
  17. package/dist/function.d.ts +1 -0
  18. package/dist/function.d.ts.map +1 -0
  19. package/dist/function.js +5 -0
  20. package/dist/function.js.map +1 -0
  21. package/dist/generics.d.ts +1 -0
  22. package/dist/generics.d.ts.map +1 -0
  23. package/dist/generics.js +2 -0
  24. package/dist/generics.js.map +1 -0
  25. package/dist/index.d.ts +1 -0
  26. package/dist/index.d.ts.map +1 -0
  27. package/dist/index.js +9 -0
  28. package/dist/index.js.map +1 -0
  29. package/dist/locales/fr.d.ts +1 -0
  30. package/dist/locales/fr.d.ts.map +1 -0
  31. package/dist/locales/fr.js +85 -0
  32. package/dist/locales/fr.js.map +1 -0
  33. package/dist/number.d.ts +1 -0
  34. package/dist/number.d.ts.map +1 -0
  35. package/dist/number.js +23 -0
  36. package/dist/number.js.map +1 -0
  37. package/dist/object.d.ts +2 -1
  38. package/dist/object.d.ts.map +1 -0
  39. package/dist/object.js +25 -0
  40. package/dist/object.js.map +1 -0
  41. package/dist/string.d.ts +1 -0
  42. package/dist/string.d.ts.map +1 -0
  43. package/dist/string.js +71 -0
  44. package/dist/string.js.map +1 -0
  45. package/package.json +3 -3
  46. /package/dist/{index.umd.cjs → index.umd.js} +0 -0
package/dist/array.d.ts CHANGED
@@ -22,3 +22,4 @@ 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
+ //# sourceMappingURL=array.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"array.d.ts","sourceRoot":"","sources":["../src/array.ts"],"names":[],"mappings":"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"}
package/dist/array.js ADDED
@@ -0,0 +1,84 @@
1
+ import { randomBetween } from './number';
2
+ export const paginate = (array, pageSize) => {
3
+ return array.reduce((acc, val, i) => {
4
+ const idx = Math.floor(i / pageSize);
5
+ const page = acc[idx] || (acc[idx] = []);
6
+ page.push(val);
7
+ return acc;
8
+ }, []);
9
+ };
10
+ export const groupBy = (array, key) => {
11
+ return array.reduce((acc, v) => {
12
+ (acc[key(v)] = acc[key(v)] || []).push(v);
13
+ return acc;
14
+ }, {});
15
+ };
16
+ export const groupByOccurrence = (array, key) => {
17
+ return array.reduce((acc, v) => {
18
+ if (acc.find(([item]) => item === key(v))) {
19
+ return acc.map(([item, quantity]) => [
20
+ item,
21
+ item === key(v) ? quantity + 1 : quantity,
22
+ ]);
23
+ }
24
+ return [...acc, [key(v), 1]];
25
+ }, []);
26
+ };
27
+ export const sortBy = (array, key) => {
28
+ return [...array].sort((a, b) => {
29
+ if (key(a) < key(b))
30
+ return -1;
31
+ if (key(a) > key(b))
32
+ return 1;
33
+ return 0;
34
+ });
35
+ };
36
+ export const mutuallyInclusive = (array1, array2, key = i => i) => {
37
+ return array1.filter(e => array2.some(f => key(f) === key(e)));
38
+ };
39
+ export const exclude = (array, exclude, key = i => i) => {
40
+ return array.filter(e => !exclude.some(f => key(f) === key(e)));
41
+ };
42
+ export const unique = (array, key) => {
43
+ return [...new Set(array.map(e => key(e)))];
44
+ };
45
+ export const uniquePreserve = (array, key) => {
46
+ return array.filter((value, index, self) => index === self.findIndex(t => key(t) === key(value)));
47
+ };
48
+ export const shuffle = (array) => {
49
+ for (let i = array.length - 1; i > 0; i--) {
50
+ const j = Math.floor(Math.random() * (i + 1));
51
+ [array[i], array[j]] = [array[j], array[i]];
52
+ }
53
+ return array;
54
+ };
55
+ export const filterNullAndUndefined = (array) => array.filter((e) => e !== null && e !== undefined);
56
+ export const includeIf = (array, element, include) => [
57
+ ...array,
58
+ ...insertIf(element, include),
59
+ ];
60
+ export const includeBeginIf = (array, element, include) => [...insertIf(element, include), ...array];
61
+ export const includeArrayIf = (array, elements, include) => [...array, ...insertArrayIf(elements, include)];
62
+ export const insertIf = (element, include) => include ? [element] : [];
63
+ export const insertArrayIf = (elements, include) => include ? elements : [];
64
+ export const pickFrom = (array) => array[randomBetween(0, array.length)];
65
+ export const pickFromNth = (array, n) => Array.from({
66
+ length: n,
67
+ })
68
+ .map(() => pickFrom(array))
69
+ .reduce((acc, e) => ({ ...acc, [e]: (acc[e] ?? 0) + 1 }), {});
70
+ export const range = ({ start = 0, stop, step = 1 }) => {
71
+ if (step === 0) {
72
+ throw new RangeError('step cannot be equal to 0');
73
+ }
74
+ const isEmpty = (step > 0 && start >= stop) || (step < 0 && start <= stop);
75
+ if (isEmpty)
76
+ return [];
77
+ const result = [];
78
+ for (let i = start; step > 0 ? i < stop : i > stop; i += step) {
79
+ result.push(i);
80
+ }
81
+ return result;
82
+ };
83
+ export const arrayToRecord = (array) => Object.fromEntries(array);
84
+ //# sourceMappingURL=array.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"array.js","sourceRoot":"","sources":["../src/array.ts"],"names":[],"mappings":"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"}
package/dist/common.d.ts CHANGED
@@ -1,2 +1,3 @@
1
1
  export declare const isDefined: <T>(value: T) => value is NonNullable<T>;
2
2
  export declare const isJSON: (json: unknown) => boolean;
3
+ //# sourceMappingURL=common.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../src/common.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,SAAS,GAAI,CAAC,EAAE,OAAO,CAAC,KAAG,KAAK,IAAI,WAAW,CAAC,CAAC,CAE7D,CAAC;AAEF,eAAO,MAAM,MAAM,GAAI,MAAM,OAAO,KAAG,OAatC,CAAC"}
package/dist/common.js ADDED
@@ -0,0 +1,14 @@
1
+ import { isString } from './string';
2
+ export const isDefined = (value) => {
3
+ return value !== undefined && value !== null;
4
+ };
5
+ export const isJSON = (json) => {
6
+ if (!isString(json)) {
7
+ return false;
8
+ }
9
+ return /^[\],:{}\s]*$/.test(json
10
+ .replace(/\\["\\\/bfnrtu]/g, '@')
11
+ .replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, ']')
12
+ .replace(/(?:^|:|,)(?:\s*\[)+/g, ''));
13
+ };
14
+ //# sourceMappingURL=common.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../src/common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEpC,MAAM,CAAC,MAAM,SAAS,GAAG,CAAI,KAAQ,EAA2B,EAAE;IAChE,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,CAAC;AAC/C,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,IAAa,EAAW,EAAE;IAC/C,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACpB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,eAAe,CAAC,IAAI,CACzB,IAAI;SACD,OAAO,CAAC,kBAAkB,EAAE,GAAG,CAAC;SAChC,OAAO,CACN,kEAAkE,EAClE,GAAG,CACJ;SACA,OAAO,CAAC,sBAAsB,EAAE,EAAE,CAAC,CACvC,CAAC;AACJ,CAAC,CAAC"}
package/dist/date.d.ts CHANGED
@@ -7,3 +7,4 @@ export declare const yesterday: () => Date;
7
7
  export declare const hasExpire: (date: Date) => boolean;
8
8
  export declare const roundDate: (date?: Date, minutes?: number) => Date;
9
9
  export declare const precise: (timestamp: number) => string | undefined;
10
+ //# sourceMappingURL=date.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date.d.ts","sourceRoot":"","sources":["../src/date.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,WAAW,GAAI,MAAM,IAAI,GAAG,MAAM,YAE9C,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI,OAAO,IAAI,EAAE,OAAO,IAAI,WAIhD,CAAC;AACF,eAAO,MAAM,UAAU,GAAI,MAAM,IAAI,WAEpC,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,MAAM,IAAI,WAE3C,CAAC;AACF,eAAO,MAAM,OAAO,GAAI,IAAI,IAAI,EAAE,IAAI,IAAI,EAAE,cAAa,OAAc,YAMtE,CAAC;AAEF,eAAO,MAAM,SAAS,YAErB,CAAC;AAEF,eAAO,MAAM,SAAS,GAAI,MAAM,IAAI,YAEnC,CAAC;AAEF,eAAO,MAAM,SAAS,GAAI,WAAiB,EAAE,gBAAW,SAGvD,CAAC;AAEF,eAAO,MAAM,OAAO,GAAI,WAAW,MAAM,uBAqCxC,CAAC"}
package/dist/date.js ADDED
@@ -0,0 +1,63 @@
1
+ import moment from 'moment';
2
+ import fr from './locales/fr';
3
+ import { capitalizeAllWords } from './string';
4
+ moment.locale('fr', fr);
5
+ export const isValidDate = (date) => {
6
+ return new Date(date).toString() !== 'Invalid Date';
7
+ };
8
+ export const dateDiff = (date1, date2) => {
9
+ return Math.abs(Math.ceil((date2.getTime() - date1.getTime()) / (1000 * 60 * 60 * 24)));
10
+ };
11
+ export const formatDate = (date) => {
12
+ return capitalizeAllWords(moment(date).format('DD MMMM YYYY'));
13
+ };
14
+ export const formatDateWithDay = (date) => {
15
+ return capitalizeAllWords(moment(date).format('dddd DD MMMM YYYY'));
16
+ };
17
+ export const sameDay = (d1, d2, compareYear = true) => {
18
+ return ((compareYear ? d1.getFullYear() === d2.getFullYear() : true) &&
19
+ d1.getMonth() === d2.getMonth() &&
20
+ d1.getDate() === d2.getDate());
21
+ };
22
+ export const yesterday = () => {
23
+ return moment().locale('fr').subtract(1, 'days').toDate();
24
+ };
25
+ export const hasExpire = (date) => {
26
+ return new Date() > date;
27
+ };
28
+ export const roundDate = (date = new Date(), minutes = 1) => {
29
+ const ms = minutes * 60 * 1000;
30
+ return new Date(Math.round(date.getTime() / ms) * ms);
31
+ };
32
+ export const precise = (timestamp) => {
33
+ const parts = [];
34
+ const duration = moment.duration(timestamp);
35
+ if (!duration || duration.toISOString() === 'P0D')
36
+ return;
37
+ if (duration.years() >= 1) {
38
+ const years = Math.floor(duration.years());
39
+ parts.push(years + ' ' + (years > 1 ? 'années' : 'année'));
40
+ }
41
+ if (duration.months() >= 1) {
42
+ const months = Math.floor(duration.months());
43
+ parts.push(months + ' mois');
44
+ }
45
+ if (duration.days() >= 1) {
46
+ const days = Math.floor(duration.days());
47
+ parts.push(days + ' ' + (days > 1 ? 'jours' : 'jour'));
48
+ }
49
+ if (duration.hours() >= 1) {
50
+ const hours = Math.floor(duration.hours());
51
+ parts.push(hours + ' ' + (hours > 1 ? 'heures' : 'heure'));
52
+ }
53
+ if (duration.minutes() >= 1) {
54
+ const minutes = Math.floor(duration.minutes());
55
+ parts.push(minutes + ' ' + (minutes > 1 ? 'minutes' : 'minute'));
56
+ }
57
+ if (duration.seconds() >= 1) {
58
+ const seconds = Math.floor(duration.seconds());
59
+ parts.push(seconds + ' ' + (seconds > 1 ? 'secondes' : 'seconde'));
60
+ }
61
+ return parts.join(', ');
62
+ };
63
+ //# sourceMappingURL=date.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date.js","sourceRoot":"","sources":["../src/date.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
1
  export declare const isDuration: (str: string | null) => boolean;
2
2
  export declare const durationToMs: (str: string) => number | undefined;
3
3
  export declare const formatDuration: (str: string) => string | null | undefined;
4
+ //# sourceMappingURL=duration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"duration.d.ts","sourceRoot":"","sources":["../src/duration.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,UAAU,GAAI,KAAK,MAAM,GAAG,IAAI,KAAG,OAE/C,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,KAAK,MAAM,uBAavC,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,KAAK,MAAM,8BAYzC,CAAC"}
@@ -0,0 +1,34 @@
1
+ const REGEXP = /^([1-9][0-9]*)([hmd])$/i;
2
+ export const isDuration = (str) => {
3
+ return !!str && REGEXP.test(str);
4
+ };
5
+ export const durationToMs = (str) => {
6
+ const result = REGEXP.exec(str);
7
+ if (!result) {
8
+ return;
9
+ }
10
+ const [, time, scale] = result;
11
+ const nb = parseInt(time, 10);
12
+ const min = 1000 * 60;
13
+ if (scale === 'm')
14
+ return min * nb;
15
+ if (scale === 'h')
16
+ return min * 60 * nb;
17
+ if (scale === 'd')
18
+ return min * 60 * 24 * nb;
19
+ };
20
+ export const formatDuration = (str) => {
21
+ const result = REGEXP.exec(str);
22
+ if (!result) {
23
+ return null;
24
+ }
25
+ const [, time, scale] = result;
26
+ const nb = parseInt(time, 10);
27
+ if (scale === 'm')
28
+ return `${nb} minute${nb > 1 ? 's' : ''}`;
29
+ if (scale === 'h')
30
+ return `${nb} heure${nb > 1 ? 's' : ''}`;
31
+ if (scale === 'd')
32
+ return `${nb} jour${nb > 1 ? 's' : ''}`;
33
+ };
34
+ //# sourceMappingURL=duration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"duration.js","sourceRoot":"","sources":["../src/duration.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,GAAG,yBAAyB,CAAC;AAEzC,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,GAAkB,EAAW,EAAE;IACxD,OAAO,CAAC,CAAC,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACnC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,GAAW,EAAE,EAAE;IAC1C,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAEhC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO;IACT,CAAC;IACD,MAAM,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,GAAG,MAAM,CAAC;IAC/B,MAAM,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAC9B,MAAM,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC;IAEtB,IAAI,KAAK,KAAK,GAAG;QAAE,OAAO,GAAG,GAAG,EAAE,CAAC;IACnC,IAAI,KAAK,KAAK,GAAG;QAAE,OAAO,GAAG,GAAG,EAAE,GAAG,EAAE,CAAC;IACxC,IAAI,KAAK,KAAK,GAAG;QAAE,OAAO,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;AAC/C,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,GAAW,EAAE,EAAE;IAC5C,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAEhC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,GAAG,MAAM,CAAC;IAC/B,MAAM,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAE9B,IAAI,KAAK,KAAK,GAAG;QAAE,OAAO,GAAG,EAAE,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IAC7D,IAAI,KAAK,KAAK,GAAG;QAAE,OAAO,GAAG,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IAC5D,IAAI,KAAK,KAAK,GAAG;QAAE,OAAO,GAAG,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AAC7D,CAAC,CAAC"}
@@ -1 +1,2 @@
1
1
  export declare const isFunction: (fn: unknown) => fn is Function;
2
+ //# sourceMappingURL=function.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"function.d.ts","sourceRoot":"","sources":["../src/function.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,UAAU,GAAI,IAAI,OAAO,KAAG,EAAE,IAAI,QAE9C,CAAC"}
@@ -0,0 +1,5 @@
1
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-function-type
2
+ export const isFunction = (fn) => {
3
+ return typeof fn === 'function';
4
+ };
5
+ //# sourceMappingURL=function.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"function.js","sourceRoot":"","sources":["../src/function.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,EAAW,EAAkB,EAAE;IACxD,OAAO,OAAO,EAAE,KAAK,UAAU,CAAC;AAClC,CAAC,CAAC"}
@@ -1,3 +1,4 @@
1
1
  export type NonNullableProperty<T extends object, K extends keyof T> = Omit<T, K> & {
2
2
  [P in K]-?: NonNullable<T[P]>;
3
3
  };
4
+ //# sourceMappingURL=generics.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generics.d.ts","sourceRoot":"","sources":["../src/generics.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,mBAAmB,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,CAAC,IAAI,IAAI,CACzE,CAAC,EACD,CAAC,CACF,GAAG;KACD,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAC9B,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=generics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generics.js","sourceRoot":"","sources":["../src/generics.ts"],"names":[],"mappings":""}
package/dist/index.d.ts CHANGED
@@ -7,3 +7,4 @@ export * from './string';
7
7
  export * from './function';
8
8
  export * from './object';
9
9
  export type * from './generics';
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,mBAAmB,YAAY,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,9 @@
1
+ export * from './array';
2
+ export * from './common';
3
+ export * from './date';
4
+ export * from './duration';
5
+ export * from './number';
6
+ export * from './string';
7
+ export * from './function';
8
+ export * from './object';
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC"}
@@ -54,3 +54,4 @@ declare const fr: {
54
54
  };
55
55
  };
56
56
  export default fr;
57
+ //# sourceMappingURL=fr.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fr.d.ts","sourceRoot":"","sources":["../../src/locales/fr.ts"],"names":[],"mappings":"AAqBA,QAAA,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aAqEA,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM;;;;;CAK5B,CAAC;AAEF,eAAe,EAAE,CAAC"}
@@ -0,0 +1,85 @@
1
+ const monthsStrictRegex = /^(janvier|février|mars|avril|mai|juin|juillet|août|septembre|octobre|novembre|décembre)/i, monthsShortStrictRegex = /(janv\.?|févr\.?|mars|avr\.?|mai|juin|juil\.?|août|sept\.?|oct\.?|nov\.?|déc\.?)/i, monthsRegex = /(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, monthsParse = [
2
+ /^janv/i,
3
+ /^févr/i,
4
+ /^mars/i,
5
+ /^avr/i,
6
+ /^mai/i,
7
+ /^juin/i,
8
+ /^juil/i,
9
+ /^août/i,
10
+ /^sept/i,
11
+ /^oct/i,
12
+ /^nov/i,
13
+ /^déc/i,
14
+ ];
15
+ const fr = {
16
+ months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'),
17
+ monthsShort: 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'),
18
+ monthsRegex,
19
+ monthsShortRegex: monthsRegex,
20
+ monthsStrictRegex,
21
+ monthsShortStrictRegex,
22
+ monthsParse,
23
+ longMonthsParse: monthsParse,
24
+ shortMonthsParse: monthsParse,
25
+ weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),
26
+ weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),
27
+ weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'),
28
+ weekdaysParseExact: true,
29
+ longDateFormat: {
30
+ LT: 'HH:mm',
31
+ LTS: 'HH:mm:ss',
32
+ L: 'DD/MM/YYYY',
33
+ LL: 'D MMMM YYYY',
34
+ LLL: 'D MMMM YYYY HH:mm',
35
+ LLLL: 'dddd D MMMM YYYY HH:mm',
36
+ },
37
+ calendar: {
38
+ sameDay: '[Aujourd’hui à] LT',
39
+ nextDay: '[Demain à] LT',
40
+ nextWeek: 'dddd [à] LT',
41
+ lastDay: '[Hier à] LT',
42
+ lastWeek: 'dddd [dernier à] LT',
43
+ sameElse: 'L',
44
+ },
45
+ relativeTime: {
46
+ future: 'dans %s',
47
+ past: 'il y a %s',
48
+ s: 'quelques secondes',
49
+ ss: '%d secondes',
50
+ m: 'une minute',
51
+ mm: '%d minutes',
52
+ h: 'une heure',
53
+ hh: '%d heures',
54
+ d: 'un jour',
55
+ dd: '%d jours',
56
+ w: 'une semaine',
57
+ ww: '%d semaines',
58
+ M: 'un mois',
59
+ MM: '%d mois',
60
+ y: 'un an',
61
+ yy: '%d ans',
62
+ },
63
+ dayOfMonthOrdinalParse: /\d{1,2}(er|)/,
64
+ ordinal: ((number, period) => {
65
+ switch (period) {
66
+ case 'D':
67
+ return number + (number === 1 ? 'er' : '');
68
+ default:
69
+ case 'M':
70
+ case 'Q':
71
+ case 'DDD':
72
+ case 'd':
73
+ return number + (number === 1 ? 'er' : 'e');
74
+ case 'w':
75
+ case 'W':
76
+ return number + (number === 1 ? 're' : 'e');
77
+ }
78
+ }),
79
+ week: {
80
+ dow: 1,
81
+ doy: 4,
82
+ },
83
+ };
84
+ export default fr;
85
+ //# sourceMappingURL=fr.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fr.js","sourceRoot":"","sources":["../../src/locales/fr.ts"],"names":[],"mappings":"AAAA,MAAM,iBAAiB,GACnB,0FAA0F,EAC5F,sBAAsB,GACpB,mFAAmF,EACrF,WAAW,GACT,qJAAqJ,EACvJ,WAAW,GAAG;IACZ,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;CACR,CAAC;AAEJ,MAAM,EAAE,GAAG;IACT,MAAM,EACJ,sFAAsF,CAAC,KAAK,CAC1F,GAAG,CACJ;IACH,WAAW,EACT,gEAAgE,CAAC,KAAK,CAAC,GAAG,CAAC;IAC7E,WAAW;IACX,gBAAgB,EAAE,WAAW;IAC7B,iBAAiB;IACjB,sBAAsB;IACtB,WAAW;IACX,eAAe,EAAE,WAAW;IAC5B,gBAAgB,EAAE,WAAW;IAC7B,QAAQ,EAAE,qDAAqD,CAAC,KAAK,CAAC,GAAG,CAAC;IAC1E,aAAa,EAAE,oCAAoC,CAAC,KAAK,CAAC,GAAG,CAAC;IAC9D,WAAW,EAAE,sBAAsB,CAAC,KAAK,CAAC,GAAG,CAAC;IAC9C,kBAAkB,EAAE,IAAI;IACxB,cAAc,EAAE;QACd,EAAE,EAAE,OAAO;QACX,GAAG,EAAE,UAAU;QACf,CAAC,EAAE,YAAY;QACf,EAAE,EAAE,aAAa;QACjB,GAAG,EAAE,mBAAmB;QACxB,IAAI,EAAE,wBAAwB;KAC/B;IACD,QAAQ,EAAE;QACR,OAAO,EAAE,oBAAoB;QAC7B,OAAO,EAAE,eAAe;QACxB,QAAQ,EAAE,aAAa;QACvB,OAAO,EAAE,aAAa;QACtB,QAAQ,EAAE,qBAAqB;QAC/B,QAAQ,EAAE,GAAG;KACd;IACD,YAAY,EAAE;QACZ,MAAM,EAAE,SAAS;QACjB,IAAI,EAAE,WAAW;QACjB,CAAC,EAAE,mBAAmB;QACtB,EAAE,EAAE,aAAa;QACjB,CAAC,EAAE,YAAY;QACf,EAAE,EAAE,YAAY;QAChB,CAAC,EAAE,WAAW;QACd,EAAE,EAAE,WAAW;QACf,CAAC,EAAE,SAAS;QACZ,EAAE,EAAE,UAAU;QACd,CAAC,EAAE,aAAa;QAChB,EAAE,EAAE,aAAa;QACjB,CAAC,EAAE,SAAS;QACZ,EAAE,EAAE,SAAS;QACb,CAAC,EAAE,OAAO;QACV,EAAE,EAAE,QAAQ;KACb;IACD,sBAAsB,EAAE,cAAc;IACtC,OAAO,EAAE,CAAC,CAAC,MAAc,EAAE,MAAc,EAAE,EAAE;QAC3C,QAAQ,MAAM,EAAE,CAAC;YACf,KAAK,GAAG;gBACN,OAAO,MAAM,GAAG,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAE7C,QAAQ;YACR,KAAK,GAAG,CAAC;YACT,KAAK,GAAG,CAAC;YACT,KAAK,KAAK,CAAC;YACX,KAAK,GAAG;gBACN,OAAO,MAAM,GAAG,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YAE9C,KAAK,GAAG,CAAC;YACT,KAAK,GAAG;gBACN,OAAO,MAAM,GAAG,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAChD,CAAC;IACH,CAAC,CAA0B;IAC3B,IAAI,EAAE;QACJ,GAAG,EAAE,CAAC;QACN,GAAG,EAAE,CAAC;KACP;CACF,CAAC;AAEF,eAAe,EAAE,CAAC"}
package/dist/number.d.ts CHANGED
@@ -3,3 +3,4 @@ export declare const randomBetween: <T extends number = number>(min: number, max
3
3
  export declare const seededRandom: (seed: number) => () => number;
4
4
  export declare const clamp: (number: number, min: number, max: number) => number;
5
5
  export declare const isNumber: (number: unknown) => number is number;
6
+ //# sourceMappingURL=number.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"number.d.ts","sourceRoot":"","sources":["../src/number.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY,GAAI,IAAI,MAAM,WAEtC,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,CAAC,SAAS,MAAM,GAAG,MAAM,EACrD,KAAK,MAAM,EACX,KAAK,MAAM,EACX,WAAU,MAAM,MAAoB,KACnC,CAEF,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,MAAM,MAAM,iBAUxC,CAAC;AAEF,eAAO,MAAM,KAAK,GAAI,QAAQ,MAAM,EAAE,KAAK,MAAM,EAAE,KAAK,MAAM,WAE7D,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI,QAAQ,OAAO,KAAG,MAAM,IAAI,MAEpD,CAAC"}
package/dist/number.js ADDED
@@ -0,0 +1,23 @@
1
+ export const formatNumber = (nb) => {
2
+ return new Intl.NumberFormat('de-DE').format(nb);
3
+ };
4
+ export const randomBetween = (min, max, randomFn = Math.random) => {
5
+ return Math.floor(randomFn() * (max - min) + min);
6
+ };
7
+ export const seededRandom = (seed) => {
8
+ let _seed = seed;
9
+ const m = 0x80000000;
10
+ const a = 1103515245;
11
+ const c = 12345;
12
+ return () => {
13
+ _seed = (a * _seed + c) % m;
14
+ return _seed / (m - 1);
15
+ };
16
+ };
17
+ export const clamp = (number, min, max) => {
18
+ return Math.max(min, Math.min(number, max));
19
+ };
20
+ export const isNumber = (number) => {
21
+ return typeof number === 'number';
22
+ };
23
+ //# sourceMappingURL=number.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"number.js","sourceRoot":"","sources":["../src/number.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,EAAU,EAAE,EAAE;IACzC,OAAO,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AACnD,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,CAC3B,GAAW,EACX,GAAW,EACX,WAAyB,IAAI,CAAC,MAAM,EACjC,EAAE;IACL,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,CAAM,CAAC;AACzD,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,IAAY,EAAE,EAAE;IAC3C,IAAI,KAAK,GAAG,IAAI,CAAC;IACjB,MAAM,CAAC,GAAG,UAAU,CAAC;IACrB,MAAM,CAAC,GAAG,UAAU,CAAC;IACrB,MAAM,CAAC,GAAG,KAAK,CAAC;IAEhB,OAAO,GAAG,EAAE;QACV,KAAK,GAAG,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;QAC5B,OAAO,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACzB,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,MAAc,EAAE,GAAW,EAAE,GAAW,EAAE,EAAE;IAChE,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;AAC9C,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,MAAe,EAAoB,EAAE;IAC5D,OAAO,OAAO,MAAM,KAAK,QAAQ,CAAC;AACpC,CAAC,CAAC"}
package/dist/object.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  export declare const mergeObjects: <TKey extends string, TValue>(obj1: { [key in TKey]: TValue; }, obj2: Partial<{ [key in TKey]: TValue; }>, mergeFn: (v1: TValue, v2: TValue) => TValue) => { [key in TKey]: TValue; };
2
- export declare const isObject: (obj: unknown) => obj is Object;
2
+ export declare const isObject: (obj: unknown) => obj is object;
3
3
  export declare const filterKeys: <T, K extends keyof T>(data: T, keys: K[]) => Pick<T, K>;
4
4
  export declare const recordToArray: <TKey extends string, TValue>(record: Partial<Record<TKey, TValue>>) => [TKey, TValue][];
5
+ //# sourceMappingURL=object.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"object.d.ts","sourceRoot":"","sources":["../src/object.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY,GAAI,IAAI,SAAS,MAAM,EAAE,MAAM,EACtD,MAAM,GAAG,GAAG,IAAI,IAAI,GAAG,MAAM,GAAE,EAC/B,MAAM,OAAO,CAAC,GAAG,GAAG,IAAI,IAAI,GAAG,MAAM,GAAE,CAAC,EACxC,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,KAAK,MAAM,KAC1C,GAAG,GAAG,IAAI,IAAI,GAAG,MAAM,GAczB,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI,KAAK,OAAO,KAAG,GAAG,IAAI,MAE9C,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,EAC7C,MAAM,CAAC,EACP,MAAM,CAAC,EAAE,KACR,IAAI,CAAC,CAAC,EAAE,CAAC,CAQX,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,IAAI,SAAS,MAAM,EAAE,MAAM,EACvD,QAAQ,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,KACpC,CAAC,IAAI,EAAE,MAAM,CAAC,EAAgD,CAAC"}
package/dist/object.js ADDED
@@ -0,0 +1,25 @@
1
+ export const mergeObjects = (obj1, obj2, mergeFn) => {
2
+ const result = { ...obj1 };
3
+ const entriesObj1 = Object.entries(obj1);
4
+ for (const [key, value] of entriesObj1) {
5
+ const v2 = obj2[key];
6
+ if (v2) {
7
+ result[key] = mergeFn(value, v2);
8
+ }
9
+ else {
10
+ result[key] = value;
11
+ }
12
+ }
13
+ return result;
14
+ };
15
+ export const isObject = (obj) => {
16
+ return obj instanceof Object;
17
+ };
18
+ export const filterKeys = (data, keys) => {
19
+ return keys.reduce((acc, key) => ({
20
+ ...acc,
21
+ [key]: data[key],
22
+ }), {});
23
+ };
24
+ export const recordToArray = (record) => Object.entries(record);
25
+ //# sourceMappingURL=object.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"object.js","sourceRoot":"","sources":["../src/object.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,YAAY,GAAG,CAC1B,IAA+B,EAC/B,IAAwC,EACxC,OAA2C,EAChB,EAAE;IAC7B,MAAM,MAAM,GAAG,EAAE,GAAG,IAAI,EAAE,CAAC;IAC3B,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAqB,CAAC;IAE7D,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,WAAW,EAAE,CAAC;QACvC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;QAErB,IAAI,EAAE,EAAE,CAAC;YACP,MAAM,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACnC,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACtB,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,GAAY,EAAiB,EAAE;IACtD,OAAO,GAAG,YAAY,MAAM,CAAC;AAC/B,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG,CACxB,IAAO,EACP,IAAS,EACG,EAAE;IACd,OAAO,IAAI,CAAC,MAAM,CAChB,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;QACb,GAAG,GAAG;QACN,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC;KACjB,CAAC,EACF,EAAgB,CACjB,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,CAC3B,MAAqC,EACnB,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAqB,CAAC"}
package/dist/string.d.ts CHANGED
@@ -13,3 +13,4 @@ export declare const isString: (str: unknown) => str is string;
13
13
  export declare const camelcase: (str: string) => string;
14
14
  export declare const pascalCase: (str: string) => string;
15
15
  export declare const kebabCase: (str: string) => string;
16
+ //# sourceMappingURL=string.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"string.d.ts","sourceRoot":"","sources":["../src/string.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW,QAA4B,CAAC;AACrD,eAAO,MAAM,UAAU,QAA4B,CAAC;AAEpD,eAAO,MAAM,mBAAmB,GAAI,KAAK,MAAM,EAAE,YAAW,MAAW,WAEtE,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAI,KAAK,MAAM,EAAE,YAAW,MAAW,WAErE,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI,KAAK,MAAM,EAAE,OAAO,MAAM,WAGlD,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,CAAC,SAAS,MAAM,EAAE,KAAK,CAAC,KAAG,UAAU,CAAC,CAAC,CAEjE,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAI,KAAK,MAAM,WAE7C,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,KAAK,MAAM,YAE5C,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,IAAI,MAAM,kBAKzC,CAAC;AAEF,eAAO,MAAM,IAAI,GAAI,KAAK,MAAM,KAAG,MAElC,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,KAAK,MAAM,KAAG,MAAM,EAsB9C,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI,KAAK,OAAO,KAAG,GAAG,IAAI,MAE9C,CAAC;AAEF,eAAO,MAAM,SAAS,GAAI,KAAK,MAAM,KAAG,MAKvC,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,KAAK,MAAM,KAAG,MAGxC,CAAC;AAEF,eAAO,MAAM,SAAS,GAAI,KAAK,MAAM,WAMpC,CAAC"}
package/dist/string.js ADDED
@@ -0,0 +1,71 @@
1
+ export const TIGHT_SPACE = String.fromCharCode(8202);
2
+ export const WIDE_SPACE = String.fromCharCode(8201);
3
+ export const fillWithTightSpaces = (str, separator = '') => {
4
+ return str.split(separator).join(TIGHT_SPACE);
5
+ };
6
+ export const fillWithWideSpaces = (str, separator = '') => {
7
+ return str.split(separator).join(WIDE_SPACE);
8
+ };
9
+ export const ellipsis = (str, limit) => {
10
+ if (str.length > limit)
11
+ return str.slice(0, limit - 3) + '...';
12
+ return str;
13
+ };
14
+ export const capitalize = (str) => {
15
+ return (str && str[0].toUpperCase() + str.slice(1));
16
+ };
17
+ export const capitalizeAllWords = (str) => {
18
+ return str.split(' ').map(capitalize).join(' ');
19
+ };
20
+ export const isPositiveInteger = (str) => {
21
+ return /^\d+$/.test(str);
22
+ };
23
+ export const numberToOrdinal = (nb) => {
24
+ if (nb !== Math.round(nb) || nb < 1 || nb === Infinity || nb === -Infinity) {
25
+ return null;
26
+ }
27
+ return nb === 1 ? '1er' : `${nb}ème`;
28
+ };
29
+ export const trim = (str) => {
30
+ return str.trim().replace(/\s+/gi, ' ');
31
+ };
32
+ export const breakWords = (str) => {
33
+ const words = str.split(' ');
34
+ const splitByBetterSize = (words) => {
35
+ let bestDiff = Infinity;
36
+ for (let i = 0; i < words.length; i++) {
37
+ const diff = Math.abs(words.slice(0, i + 1).join(' ').length -
38
+ words.slice(i + 1).join(' ').length);
39
+ if (diff <= bestDiff)
40
+ bestDiff = diff;
41
+ else
42
+ return i - 1;
43
+ }
44
+ return bestDiff;
45
+ };
46
+ const bestSplit = splitByBetterSize(words);
47
+ if (words.length === 1)
48
+ return [words[0]];
49
+ return [words.slice(0, bestSplit + 1), words.slice(bestSplit + 1)].map(v => v.join(' '));
50
+ };
51
+ export const isString = (str) => {
52
+ return typeof str === 'string';
53
+ };
54
+ export const camelcase = (str) => {
55
+ return str
56
+ .toLowerCase()
57
+ .replace(/[^a-zA-Z0-9]+(.)/g, (_, chr) => chr.toUpperCase())
58
+ .replace(/^[A-Z]/, chr => chr.toLowerCase());
59
+ };
60
+ export const pascalCase = (str) => {
61
+ const camelCased = camelcase(str);
62
+ return `${camelCased.charAt(0).toUpperCase()}${camelCased.slice(1)}`;
63
+ };
64
+ export const kebabCase = (str) => {
65
+ return str
66
+ .replace(/([a-z])([A-Z])/g, '$1-$2')
67
+ .replace(/[^a-zA-Z0-9]+/g, '-')
68
+ .toLowerCase()
69
+ .replace(/^-+|-+$/g, '');
70
+ };
71
+ //# sourceMappingURL=string.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"string.js","sourceRoot":"","sources":["../src/string.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "@opfr/utils-lang",
3
- "version": "1.0.1",
3
+ "version": "1.0.3",
4
4
  "private": false,
5
5
  "description": "OPFR utils-lang",
6
6
  "author": "Matthieu VEIGA",
7
7
  "type": "module",
8
8
  "scripts": {
9
9
  "prepublish": "npm run build",
10
- "build": " vite build && tsc -b",
10
+ "build": " vite build && tsc",
11
11
  "test": "vitest",
12
12
  "test:ci": "vitest run",
13
13
  "coverage": "vitest run --coverage"
@@ -32,5 +32,5 @@
32
32
  "node_modules",
33
33
  "dist"
34
34
  ],
35
- "gitHead": "dd1f758862242dd55d92fc3faff5ce7d00584fe6"
35
+ "gitHead": "9018e130536944bf95cd5e0ccceb85594c739a89"
36
36
  }
File without changes