@stamhoofd/utility 1.1.15 → 2.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.
Files changed (74) hide show
  1. package/LICENSE +661 -0
  2. package/dist/index.d.ts +6 -1
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +6 -1
  5. package/dist/index.js.map +1 -1
  6. package/dist/src/Colors.d.ts +39 -0
  7. package/dist/src/Colors.d.ts.map +1 -0
  8. package/dist/src/Colors.js +240 -0
  9. package/dist/src/Colors.js.map +1 -0
  10. package/dist/src/DataValidator.d.ts +4 -0
  11. package/dist/src/DataValidator.d.ts.map +1 -0
  12. package/dist/src/DataValidator.js +20 -0
  13. package/dist/src/DataValidator.js.map +1 -0
  14. package/dist/src/Formatter.d.ts +52 -6
  15. package/dist/src/Formatter.d.ts.map +1 -1
  16. package/dist/src/Formatter.js +218 -16
  17. package/dist/src/Formatter.js.map +1 -1
  18. package/dist/src/GoogleTranslateHelper.d.ts +5 -0
  19. package/dist/src/GoogleTranslateHelper.d.ts.map +1 -0
  20. package/dist/src/GoogleTranslateHelper.js +22 -0
  21. package/dist/src/GoogleTranslateHelper.js.map +1 -0
  22. package/dist/src/Sleep.d.ts +2 -0
  23. package/dist/src/Sleep.d.ts.map +1 -0
  24. package/dist/src/Sleep.js +8 -0
  25. package/dist/src/Sleep.js.map +1 -0
  26. package/dist/src/Sorter.d.ts +19 -7
  27. package/dist/src/Sorter.d.ts.map +1 -1
  28. package/dist/src/Sorter.js +37 -0
  29. package/dist/src/Sorter.js.map +1 -1
  30. package/dist/src/StringCompare.d.ts +16 -1
  31. package/dist/src/StringCompare.d.ts.map +1 -1
  32. package/dist/src/StringCompare.js +43 -1
  33. package/dist/src/StringCompare.js.map +1 -1
  34. package/dist/src/Throttle.d.ts +2 -0
  35. package/dist/src/Throttle.d.ts.map +1 -0
  36. package/dist/src/Throttle.js +24 -0
  37. package/dist/src/Throttle.js.map +1 -0
  38. package/esm/dist/index.d.ts +6 -1
  39. package/esm/dist/index.d.ts.map +1 -1
  40. package/esm/dist/index.js +6 -1
  41. package/esm/dist/index.js.map +1 -1
  42. package/esm/dist/src/Colors.d.ts +39 -0
  43. package/esm/dist/src/Colors.d.ts.map +1 -0
  44. package/esm/dist/src/Colors.js +236 -0
  45. package/esm/dist/src/Colors.js.map +1 -0
  46. package/esm/dist/src/DataValidator.d.ts +4 -0
  47. package/esm/dist/src/DataValidator.d.ts.map +1 -0
  48. package/esm/dist/src/DataValidator.js +16 -0
  49. package/esm/dist/src/DataValidator.js.map +1 -0
  50. package/esm/dist/src/Formatter.d.ts +52 -6
  51. package/esm/dist/src/Formatter.d.ts.map +1 -1
  52. package/esm/dist/src/Formatter.js +218 -16
  53. package/esm/dist/src/Formatter.js.map +1 -1
  54. package/esm/dist/src/GoogleTranslateHelper.d.ts +5 -0
  55. package/esm/dist/src/GoogleTranslateHelper.d.ts.map +1 -0
  56. package/esm/dist/src/GoogleTranslateHelper.js +18 -0
  57. package/esm/dist/src/GoogleTranslateHelper.js.map +1 -0
  58. package/esm/dist/src/Sleep.d.ts +2 -0
  59. package/esm/dist/src/Sleep.d.ts.map +1 -0
  60. package/esm/dist/src/Sleep.js +4 -0
  61. package/esm/dist/src/Sleep.js.map +1 -0
  62. package/esm/dist/src/Sorter.d.ts +19 -7
  63. package/esm/dist/src/Sorter.d.ts.map +1 -1
  64. package/esm/dist/src/Sorter.js +37 -0
  65. package/esm/dist/src/Sorter.js.map +1 -1
  66. package/esm/dist/src/StringCompare.d.ts +16 -1
  67. package/esm/dist/src/StringCompare.d.ts.map +1 -1
  68. package/esm/dist/src/StringCompare.js +43 -1
  69. package/esm/dist/src/StringCompare.js.map +1 -1
  70. package/esm/dist/src/Throttle.d.ts +2 -0
  71. package/esm/dist/src/Throttle.d.ts.map +1 -0
  72. package/esm/dist/src/Throttle.js +20 -0
  73. package/esm/dist/src/Throttle.js.map +1 -0
  74. package/package.json +4 -19
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.throttle = void 0;
4
+ const throttle = (func, limit) => {
5
+ let lastFunc;
6
+ let lastRan;
7
+ return function () {
8
+ const context = this;
9
+ // eslint-disable-next-line prefer-rest-params
10
+ const args = arguments;
11
+ if (lastRan) {
12
+ clearTimeout(lastFunc);
13
+ }
14
+ lastRan = Date.now();
15
+ lastFunc = setTimeout(function () {
16
+ if (Date.now() - lastRan >= limit) {
17
+ func.apply(context, args);
18
+ lastRan = Date.now();
19
+ }
20
+ }, limit - (Date.now() - lastRan));
21
+ };
22
+ };
23
+ exports.throttle = throttle;
24
+ //# sourceMappingURL=Throttle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Throttle.js","sourceRoot":"","sources":["../../src/Throttle.ts"],"names":[],"mappings":";;;AAAO,MAAM,QAAQ,GAAG,CAAC,IAAS,EAAE,KAAU,EAAE,EAAE;IAC9C,IAAI,QAAa,CAAC;IAClB,IAAI,OAAY,CAAC;IACjB,OAAO;QACH,MAAM,OAAO,GAAG,IAAI,CAAC;QACrB,8CAA8C;QAC9C,MAAM,IAAI,GAAG,SAAS,CAAC;QACvB,IAAI,OAAO,EAAE,CAAC;YACV,YAAY,CAAC,QAAQ,CAAC,CAAC;QAC3B,CAAC;QACD,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAErB,QAAQ,GAAG,UAAU,CAAC;YAClB,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,IAAI,KAAK,EAAE,CAAC;gBAChC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;gBAC1B,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACzB,CAAC;QACL,CAAC,EAAE,KAAK,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC;IACvC,CAAC,CAAC;AACN,CAAC,CAAC;AAnBW,QAAA,QAAQ,YAmBnB"}
@@ -1,4 +1,9 @@
1
+ export * from "./src/Colors";
2
+ export * from "./src/DataValidator";
1
3
  export * from "./src/Formatter";
2
- export * from "./src/StringCompare";
4
+ export * from "./src/GoogleTranslateHelper";
5
+ export * from "./src/Sleep";
3
6
  export * from "./src/Sorter";
7
+ export * from "./src/StringCompare";
8
+ export * from "./src/Throttle";
4
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAA;AAC/B,cAAc,qBAAqB,CAAA;AACnC,cAAc,cAAc,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,qBAAqB,CAAA;AACnC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,6BAA6B,CAAA;AAC3C,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,qBAAqB,CAAA;AACnC,cAAc,gBAAgB,CAAA"}
package/esm/dist/index.js CHANGED
@@ -1,4 +1,9 @@
1
+ export * from "./src/Colors";
2
+ export * from "./src/DataValidator";
1
3
  export * from "./src/Formatter";
2
- export * from "./src/StringCompare";
4
+ export * from "./src/GoogleTranslateHelper";
5
+ export * from "./src/Sleep";
3
6
  export * from "./src/Sorter";
7
+ export * from "./src/StringCompare";
8
+ export * from "./src/Throttle";
4
9
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAA;AAC/B,cAAc,qBAAqB,CAAA;AACnC,cAAc,cAAc,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,qBAAqB,CAAA;AACnC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,6BAA6B,CAAA;AAC3C,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,qBAAqB,CAAA;AACnC,cAAc,gBAAgB,CAAA"}
@@ -0,0 +1,39 @@
1
+ type RGB = {
2
+ r: number;
3
+ g: number;
4
+ b: number;
5
+ };
6
+ type HSL = {
7
+ h: number;
8
+ s: number;
9
+ l: number;
10
+ };
11
+ type anyColor = string | RGB | HSL;
12
+ export declare class Colors {
13
+ static hexToHSL(hex: string): HSL;
14
+ /**
15
+ *
16
+ * @param h degree
17
+ * @param s percentage
18
+ * @param l percentage
19
+ */
20
+ static HSLToRGB(h: number, s: number, l: number): {
21
+ r: number;
22
+ g: number;
23
+ b: number;
24
+ };
25
+ static hslToHex(color: HSL): string;
26
+ static hexToRGB(hex: string): RGB;
27
+ static getContrastRatio(foreground: RGB, background: RGB): number;
28
+ static getRelativeLuminance(c: RGB): number;
29
+ static anyColorToRGB(color: anyColor): RGB;
30
+ static getContrastColor(color: anyColor): string;
31
+ static linearize(val: any): number;
32
+ static clampLuminance(luminance: any): any;
33
+ static getLuminance(color: RGB): any;
34
+ static getContrast(background: RGB, foreground: RGB): number;
35
+ static scaleContrast(contrast: number): number;
36
+ static getAPCAContrast(background: RGB, foreground: RGB): number;
37
+ }
38
+ export {};
39
+ //# sourceMappingURL=Colors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Colors.d.ts","sourceRoot":"","sources":["../../../src/Colors.ts"],"names":[],"mappings":"AACA,KAAK,GAAG,GAAG;IACP,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACb,CAAA;AAED,KAAK,GAAG,GAAG;IAEP,CAAC,EAAE,MAAM,CAAC;IAGV,CAAC,EAAE,MAAM,CAAC;IAGV,CAAC,EAAE,MAAM,CAAC;CACb,CAAA;AAED,KAAK,QAAQ,GAAG,MAAM,GAAC,GAAG,GAAC,GAAG,CAAC;AAE/B,qBAAa,MAAM;IACf,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG;IAsCjC;;;;;OAKG;IACH,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM;;;;;IAmC/C,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,GAAG,MAAM;IAYnC,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG;IAoBjC,MAAM,CAAC,gBAAgB,CAAC,UAAU,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG;IAQxD,MAAM,CAAC,oBAAoB,CAAC,CAAC,EAAE,GAAG;IA0BlC,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,QAAQ,GAAG,GAAG;IAY1C,MAAM,CAAC,gBAAgB,CAAC,KAAK,EAAE,QAAQ,GAAG,MAAM;IAyBhD,MAAM,CAAC,SAAS,CAAC,GAAG,KAAA;IAIpB,MAAM,CAAC,cAAc,CAAE,SAAS,KAAA;IAWhC,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,GAAG;IAQ9B,MAAM,CAAC,WAAW,CAAC,UAAU,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG;IAsBnD,MAAM,CAAC,aAAa,CAAC,QAAQ,EAAE,MAAM;IA2BrC,MAAM,CAAC,eAAe,CAAC,UAAU,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG;CAK1D"}
@@ -0,0 +1,236 @@
1
+ export class Colors {
2
+ static hexToHSL(hex) {
3
+ const result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex);
4
+ if (!result) {
5
+ if (STAMHOOFD.environment === "development") {
6
+ console.error(`Invalid hex color: ${hex}`);
7
+ }
8
+ return {
9
+ h: 0,
10
+ s: 0,
11
+ l: 0
12
+ };
13
+ }
14
+ let r = parseInt(result[1], 16);
15
+ let g = parseInt(result[2], 16);
16
+ let b = parseInt(result[3], 16);
17
+ r /= 255, g /= 255, b /= 255;
18
+ const max = Math.max(r, g, b), min = Math.min(r, g, b);
19
+ let h, s, l = (max + min) / 2;
20
+ if (max == min) {
21
+ h = s = 0; // achromatic
22
+ }
23
+ else {
24
+ const d = max - min;
25
+ s = l > 0.5 ? d / (2 - max - min) : d / (max + min);
26
+ switch (max) {
27
+ case r:
28
+ h = (g - b) / d + (g < b ? 6 : 0);
29
+ break;
30
+ case g:
31
+ h = (b - r) / d + 2;
32
+ break;
33
+ case b:
34
+ h = (r - g) / d + 4;
35
+ break;
36
+ }
37
+ h /= 6;
38
+ }
39
+ return {
40
+ h: h * 360,
41
+ s: s * 100,
42
+ l: l * 100
43
+ };
44
+ }
45
+ /**
46
+ *
47
+ * @param h degree
48
+ * @param s percentage
49
+ * @param l percentage
50
+ */
51
+ static HSLToRGB(h, s, l) {
52
+ // Must be fractions of 1
53
+ s /= 100;
54
+ l /= 100;
55
+ const c = (1 - Math.abs(2 * l - 1)) * s, x = c * (1 - Math.abs((h / 60) % 2 - 1)), m = l - c / 2;
56
+ let r = 0, g = 0, b = 0;
57
+ if (0 <= h && h < 60) {
58
+ r = c;
59
+ g = x;
60
+ b = 0;
61
+ }
62
+ else if (60 <= h && h < 120) {
63
+ r = x;
64
+ g = c;
65
+ b = 0;
66
+ }
67
+ else if (120 <= h && h < 180) {
68
+ r = 0;
69
+ g = c;
70
+ b = x;
71
+ }
72
+ else if (180 <= h && h < 240) {
73
+ r = 0;
74
+ g = x;
75
+ b = c;
76
+ }
77
+ else if (240 <= h && h < 300) {
78
+ r = x;
79
+ g = 0;
80
+ b = c;
81
+ }
82
+ else if (300 <= h && h < 360) {
83
+ r = c;
84
+ g = 0;
85
+ b = x;
86
+ }
87
+ r = Math.round((r + m) * 255);
88
+ g = Math.round((g + m) * 255);
89
+ b = Math.round((b + m) * 255);
90
+ return {
91
+ r, g, b
92
+ };
93
+ }
94
+ static hslToHex(color) {
95
+ let { h, s, l } = color;
96
+ l /= 100;
97
+ const a = s * Math.min(l, 1 - l) / 100;
98
+ const f = n => {
99
+ const k = (n + h / 30) % 12;
100
+ const color = l - a * Math.max(Math.min(k - 3, 9 - k, 1), -1);
101
+ return Math.round(255 * color).toString(16).padStart(2, '0'); // convert to Hex and prefix "0" if needed
102
+ };
103
+ return `#${f(0)}${f(8)}${f(4)}`;
104
+ }
105
+ static hexToRGB(hex) {
106
+ if (hex.startsWith("#")) {
107
+ hex = hex.substring(1);
108
+ }
109
+ if (hex.length != 6) {
110
+ throw "Only six-digit hex colors are allowed.";
111
+ }
112
+ const aRgbHex = hex.match(/.{1,2}/g);
113
+ if (!aRgbHex || aRgbHex.length !== 3) {
114
+ throw "Invalid hex color";
115
+ }
116
+ return {
117
+ r: parseInt(aRgbHex[0], 16),
118
+ g: parseInt(aRgbHex[1], 16),
119
+ b: parseInt(aRgbHex[2], 16)
120
+ };
121
+ }
122
+ static getContrastRatio(foreground, background) {
123
+ const L1 = this.getRelativeLuminance(background);
124
+ const L2 = this.getRelativeLuminance(foreground);
125
+ // https://www.w3.org/TR/2008/REC-WCAG20-20081211/#contrast-ratiodef
126
+ return (Math.max(L1, L2) + 0.05) / (Math.min(L1, L2) + 0.05);
127
+ }
128
+ static getRelativeLuminance(c) {
129
+ const color = {
130
+ r: c.r / 255,
131
+ g: c.g / 255,
132
+ b: c.b / 255
133
+ };
134
+ // https://www.w3.org/TR/2008/REC-WCAG20-20081211/#relativeluminancedef
135
+ const R = color.r <= 0.03928
136
+ ? color.r / 12.92
137
+ : Math.pow((color.r + 0.055) / 1.055, 2.4);
138
+ const G = color.g <= 0.03928
139
+ ? color.g / 12.92
140
+ : Math.pow((color.g + 0.055) / 1.055, 2.4);
141
+ const B = color.b <= 0.03928
142
+ ? color.b / 12.92
143
+ : Math.pow((color.b + 0.055) / 1.055, 2.4);
144
+ const L = 0.2126 * R + 0.7152 * G + 0.0722 * B;
145
+ return L;
146
+ }
147
+ static anyColorToRGB(color) {
148
+ if (typeof color === "string") {
149
+ return this.hexToRGB(color);
150
+ }
151
+ if ("r" in color) {
152
+ return color;
153
+ }
154
+ return this.HSLToRGB(color.h, color.s, color.l);
155
+ }
156
+ static getContrastColor(color) {
157
+ try {
158
+ const rgb = this.anyColorToRGB(color);
159
+ const blackContrast = this.getAPCAContrast(rgb, { r: 0, g: 0, b: 0 });
160
+ const whiteContrast = this.getAPCAContrast(rgb, { r: 255, g: 255, b: 255 });
161
+ return blackContrast > whiteContrast ? "#000" : "#fff";
162
+ }
163
+ catch (e) {
164
+ console.error(e);
165
+ return "#fff";
166
+ }
167
+ }
168
+ // https://github.com/Myndex/SAPC-APCA#the-plain-english-steps-are
169
+ // Example:
170
+ // const contrast = getAPCAContrast("rgb(255, 255, 255)", "rgb(136, 136, 136)");
171
+ // This returns `66.89346308821438` (66.893%)
172
+ // SAPC-APCA README says:
173
+ // > #888 vs #fff • 66.89346308821438
174
+ // 80% means 7:1 in WCAG 2.0
175
+ // 60% means 4.5:1 in WCAG 2.0
176
+ // Web UI: https://hail2u.net/pub/test/702.html
177
+ static linearize(val) {
178
+ return (val / 255.0) ** 2.4;
179
+ }
180
+ static clampLuminance(luminance) {
181
+ const blkThrs = 0.022;
182
+ const blkClmp = 1.414;
183
+ if (luminance > blkThrs) {
184
+ return luminance;
185
+ }
186
+ return Math.abs(blkThrs - luminance) ** blkClmp + luminance;
187
+ }
188
+ static getLuminance(color) {
189
+ const y = 0.2126729 * this.linearize(color.r) +
190
+ 0.7151522 * this.linearize(color.g) +
191
+ 0.072175 * this.linearize(color.b);
192
+ return this.clampLuminance(y);
193
+ }
194
+ static getContrast(background, foreground) {
195
+ const deltaYmin = 0.0005;
196
+ const scale = 1.14;
197
+ const backgroundLuminance = this.getLuminance(background);
198
+ const foregroundLuminance = this.getLuminance(foreground);
199
+ if (Math.abs(backgroundLuminance - foregroundLuminance) < deltaYmin) {
200
+ return 0.0;
201
+ }
202
+ if (backgroundLuminance > foregroundLuminance) {
203
+ return (backgroundLuminance ** 0.56 - foregroundLuminance ** 0.57) * scale;
204
+ }
205
+ if (backgroundLuminance < foregroundLuminance) {
206
+ return (backgroundLuminance ** 0.65 - foregroundLuminance ** 0.62) * scale;
207
+ }
208
+ return 0.0;
209
+ }
210
+ static scaleContrast(contrast) {
211
+ const loClip = 0.001;
212
+ const loConThresh = 0.035991;
213
+ const loConFactor = 27.7847239587675;
214
+ const loConOffset = 0.027;
215
+ const absContrast = Math.abs(contrast);
216
+ if (absContrast < loClip) {
217
+ return 0.0;
218
+ }
219
+ if (absContrast <= loConThresh) {
220
+ return contrast - contrast * loConFactor * loConOffset;
221
+ }
222
+ if (contrast > loConThresh) {
223
+ return contrast - loConOffset;
224
+ }
225
+ if (contrast < -loConThresh) {
226
+ return contrast + loConOffset;
227
+ }
228
+ return 0.0;
229
+ }
230
+ static getAPCAContrast(background, foreground) {
231
+ const contrast = this.getContrast(background, foreground);
232
+ const scaledContrast = this.scaleContrast(contrast);
233
+ return Math.abs(scaledContrast * 100);
234
+ }
235
+ }
236
+ //# sourceMappingURL=Colors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Colors.js","sourceRoot":"","sources":["../../../src/Colors.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export declare class DataValidator {
2
+ static isEmailValid(str: string): boolean;
3
+ }
4
+ //# sourceMappingURL=DataValidator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DataValidator.d.ts","sourceRoot":"","sources":["../../../src/DataValidator.ts"],"names":[],"mappings":"AACA,qBAAa,aAAa;IACtB,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM;CAgBlC"}
@@ -0,0 +1,16 @@
1
+ export class DataValidator {
2
+ static isEmailValid(str) {
3
+ const blockList = ["gmail.be", "gmail.nl", "hotmail.c", "hotmail.co", "gmail.co", "gmail.c", "gmail.co", "gmal.com", "glail.com", "gmail.col", "gamil.com", "gmail.con", "icloud.be"];
4
+ const regex = /^[a-zA-Z0-9.!#$%&*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+$/;
5
+ if (!regex.test(str)) {
6
+ return false;
7
+ }
8
+ for (const l of blockList) {
9
+ if (str.endsWith("@" + l)) {
10
+ return false;
11
+ }
12
+ }
13
+ return true;
14
+ }
15
+ }
16
+ //# sourceMappingURL=DataValidator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DataValidator.js","sourceRoot":"","sources":["../../../src/DataValidator.ts"],"names":[],"mappings":"AACA,MAAM,OAAO,aAAa;IACtB,MAAM,CAAC,YAAY,CAAC,GAAW;QAC3B,MAAM,SAAS,GAAG,CAAC,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,CAAC,CAAA;QACrL,MAAM,KAAK,GAAG,qIAAqI,CAAC;QAEpJ,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACnB,OAAO,KAAK,CAAA;QAChB,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;YACxB,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,GAAC,CAAC,CAAC,EAAE,CAAC;gBACtB,OAAO,KAAK,CAAA;YAChB,CAAC;QACL,CAAC;QAED,OAAO,IAAI,CAAA;IACf,CAAC;CACJ"}
@@ -1,17 +1,43 @@
1
+ import { DateTime } from "luxon";
1
2
  export declare class Formatter {
3
+ static timezone: string;
4
+ static removeAccents(name: string): string;
5
+ static emailSenderName(name: string): string;
2
6
  static slug(name: string): string;
7
+ static slugEmail(name: string): string;
8
+ static fileSlug(name: string): string;
9
+ static removeDuplicateSpaces(name: string): string;
3
10
  /**
4
11
  * 1 = january
5
12
  */
6
- static month(index: number): string;
13
+ static month(index: number | Date): string;
14
+ static weekDay(date: Date): string;
7
15
  /**
8
- * 1 januari (2020). Year only in different year
16
+ * 1 januari (2020). Year only in different year if withYear is null (default)
9
17
  */
10
- static date(date: Date): string;
18
+ static date(date: Date, withYear?: boolean | null): string;
19
+ /**
20
+ * januari 2020
21
+ */
22
+ static dateWithoutDay(date: Date, options?: {
23
+ timezone?: string;
24
+ }): string;
25
+ /**
26
+ * 2020
27
+ */
28
+ static year(date: Date): number;
29
+ /**
30
+ * maandag, 1 januari (2020). Year only in different year
31
+ */
32
+ static dateWithDay(date: Date): string;
33
+ /**
34
+ * maandag, 1 januari (2020) om XX:XX. Year only in different year
35
+ */
36
+ static dateTimeWithDay(date: Date): string;
11
37
  /**
12
38
  * 01/01/2020
13
39
  */
14
- static dateNumber(date: Date): string;
40
+ static dateNumber(date: Date, withYear?: boolean): string;
15
41
  /**
16
42
  * 2020-01-31
17
43
  */
@@ -20,13 +46,33 @@ export declare class Formatter {
20
46
  * 12:00
21
47
  */
22
48
  static time(date: Date): string;
49
+ static luxon(date?: Date): DateTime;
50
+ /**
51
+ * 12:00
52
+ */
53
+ static timeIso(date: Date): string;
54
+ static uniqueArray<T>(array: T[]): T[];
23
55
  /**
24
56
  * 1 januari (2020) om 12:00. Year only in different year
25
57
  */
26
- static dateTime(date: Date): string;
27
- static price(value: number): string;
58
+ static dateTime(date: Date, hideZero?: boolean): string;
59
+ static integer(value: number): string;
60
+ static percentage(value: number): string;
61
+ static price(value: number, removeZeroDecimals?: boolean): string;
62
+ static priceChange(value: number): string;
28
63
  static capitalizeFirstLetter(string: string): string;
64
+ static capitalizeWords(string: string): string;
29
65
  static fileSize(bytes: number): string;
66
+ static minutesPadded(minutes: number): string;
30
67
  static minutes(minutes: number): string;
68
+ static escapeHtml(unsafe: string): string;
69
+ static joinLast(array: (string | number)[], separator: string | undefined, lastSeparator: string | undefined): string;
70
+ static ordinalNumber(number: number): string;
71
+ static pluralText(num: number, singular: string, plural: string): string;
72
+ static groupNamesByFamily(names: {
73
+ firstName: string;
74
+ lastName: string;
75
+ }[]): string;
76
+ static firstLetters(str: string, maxLength: number): string;
31
77
  }
32
78
  //# sourceMappingURL=Formatter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Formatter.d.ts","sourceRoot":"","sources":["../../../src/Formatter.ts"],"names":[],"mappings":"AAOA,qBAAa,SAAS;IAClB,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAKjC;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAOnC;;OAEG;IACH,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM;IAM9B;;MAEE;IACH,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM;IAKrC;;OAEG;IACH,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM;IAKlC;;OAEG;IACH,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM;IAI/B;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM;IAInC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IASnC,MAAM,CAAC,qBAAqB,CAAC,MAAM,EAAE,MAAM;IAI3C,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM;IAgB7B,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;CAK1C"}
1
+ {"version":3,"file":"Formatter.d.ts","sourceRoot":"","sources":["../../../src/Formatter.ts"],"names":[],"mappings":"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"}