@opfr/utils-lang 1.0.2 → 1.0.4
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 +1 -0
- package/dist/array.d.ts.map +1 -0
- package/dist/array.js +84 -0
- package/dist/array.js.map +1 -0
- package/dist/common.d.ts +1 -0
- package/dist/common.d.ts.map +1 -0
- package/dist/common.js +14 -0
- package/dist/common.js.map +1 -0
- package/dist/date.d.ts +1 -0
- package/dist/date.d.ts.map +1 -0
- package/dist/date.js +63 -0
- package/dist/date.js.map +1 -0
- package/dist/duration.d.ts +1 -0
- package/dist/duration.d.ts.map +1 -0
- package/dist/duration.js +34 -0
- package/dist/duration.js.map +1 -0
- package/dist/function.d.ts +1 -0
- package/dist/function.d.ts.map +1 -0
- package/dist/function.js +5 -0
- package/dist/function.js.map +1 -0
- package/dist/generics.d.ts +1 -0
- package/dist/generics.d.ts.map +1 -0
- package/dist/generics.js +2 -0
- package/dist/generics.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +9 -0
- package/dist/index.js.map +1 -0
- package/dist/locales/fr.d.ts +1 -0
- package/dist/locales/fr.d.ts.map +1 -0
- package/dist/locales/fr.js +85 -0
- package/dist/locales/fr.js.map +1 -0
- package/dist/number.d.ts +1 -0
- package/dist/number.d.ts.map +1 -0
- package/dist/number.js +23 -0
- package/dist/number.js.map +1 -0
- package/dist/object.d.ts +1 -0
- package/dist/object.d.ts.map +1 -0
- package/dist/object.js +25 -0
- package/dist/object.js.map +1 -0
- package/dist/string.d.ts +1 -0
- package/dist/string.d.ts.map +1 -0
- package/dist/string.js +71 -0
- package/dist/string.js.map +1 -0
- package/package.json +9 -6
- /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
|
@@ -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
|
package/dist/date.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"date.js","sourceRoot":"","sources":["../src/date.ts"],"names":[],"mappings":"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"}
|
package/dist/duration.d.ts
CHANGED
|
@@ -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"}
|
package/dist/duration.js
ADDED
|
@@ -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"}
|
package/dist/function.d.ts
CHANGED
|
@@ -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"}
|
package/dist/function.js
ADDED
|
@@ -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"}
|
package/dist/generics.d.ts
CHANGED
|
@@ -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"}
|
package/dist/generics.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generics.js","sourceRoot":"","sources":["../src/generics.ts"],"names":[],"mappings":""}
|
package/dist/index.d.ts
CHANGED
|
@@ -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 @@
|
|
|
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"}
|
package/dist/locales/fr.d.ts
CHANGED
|
@@ -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
|
@@ -2,3 +2,4 @@ export declare const mergeObjects: <TKey extends string, TValue>(obj1: { [key in
|
|
|
2
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.
|
|
3
|
+
"version": "1.0.4",
|
|
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
|
|
10
|
+
"build": " vite build && tsc",
|
|
11
11
|
"test": "vitest",
|
|
12
12
|
"test:ci": "vitest run",
|
|
13
13
|
"coverage": "vitest run --coverage"
|
|
@@ -15,14 +15,17 @@
|
|
|
15
15
|
"devDependencies": {
|
|
16
16
|
"moment": "2.30.1"
|
|
17
17
|
},
|
|
18
|
-
"
|
|
19
|
-
|
|
18
|
+
"peerDependencies": {
|
|
19
|
+
"moment": "2.x"
|
|
20
|
+
},
|
|
21
|
+
"main": "./dist/index.umd.js",
|
|
22
|
+
"module": "./dist/index.es.js",
|
|
20
23
|
"types": "./dist/index.d.ts",
|
|
21
24
|
"exports": {
|
|
22
25
|
".": {
|
|
23
26
|
"types": "./dist/index.d.ts",
|
|
24
27
|
"import": "./dist/index.es.js",
|
|
25
|
-
"require": "./dist/index.umd.
|
|
28
|
+
"require": "./dist/index.umd.js"
|
|
26
29
|
}
|
|
27
30
|
},
|
|
28
31
|
"files": [
|
|
@@ -32,5 +35,5 @@
|
|
|
32
35
|
"node_modules",
|
|
33
36
|
"dist"
|
|
34
37
|
],
|
|
35
|
-
"gitHead": "
|
|
38
|
+
"gitHead": "b2c67f55689c83d3eae70c866cd678b4ac05f108"
|
|
36
39
|
}
|
|
File without changes
|