@stamhoofd/utility 2.118.1 → 2.120.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (130) hide show
  1. package/dist/Colors.d.ts.map +1 -0
  2. package/dist/Colors.js.map +1 -0
  3. package/dist/DataValidator.d.ts.map +1 -0
  4. package/{esm/dist/src → dist}/DataValidator.js +5 -5
  5. package/dist/DataValidator.js.map +1 -0
  6. package/dist/FiscalDocumentYearHelper.d.ts.map +1 -0
  7. package/{esm/dist/src → dist}/FiscalDocumentYearHelper.js +19 -19
  8. package/dist/FiscalDocumentYearHelper.js.map +1 -0
  9. package/{esm/dist/src → dist}/Formatter.d.ts +4 -0
  10. package/dist/Formatter.d.ts.map +1 -0
  11. package/{esm/dist/src → dist}/Formatter.js +45 -37
  12. package/dist/Formatter.js.map +1 -0
  13. package/dist/GoogleTranslateHelper.d.ts.map +1 -0
  14. package/dist/GoogleTranslateHelper.js.map +1 -0
  15. package/dist/STMath.d.ts.map +1 -0
  16. package/dist/STMath.js.map +1 -0
  17. package/dist/Sleep.d.ts.map +1 -0
  18. package/dist/Sleep.js.map +1 -0
  19. package/dist/Sorter.d.ts.map +1 -0
  20. package/dist/Sorter.js.map +1 -0
  21. package/dist/StringCompare.d.ts.map +1 -0
  22. package/dist/StringCompare.js.map +1 -0
  23. package/dist/Throttle.d.ts.map +1 -0
  24. package/dist/Throttle.js.map +1 -0
  25. package/dist/deepFreeze.d.ts.map +1 -0
  26. package/dist/deepFreeze.js.map +1 -0
  27. package/dist/index.d.ts +11 -11
  28. package/dist/index.d.ts.map +1 -1
  29. package/dist/index.js +11 -14
  30. package/dist/index.js.map +1 -1
  31. package/package.json +17 -10
  32. package/dist/src/Colors.d.ts.map +0 -1
  33. package/dist/src/Colors.js +0 -242
  34. package/dist/src/Colors.js.map +0 -1
  35. package/dist/src/DataValidator.d.ts.map +0 -1
  36. package/dist/src/DataValidator.js +0 -163
  37. package/dist/src/DataValidator.js.map +0 -1
  38. package/dist/src/FiscalDocumentYearHelper.d.ts.map +0 -1
  39. package/dist/src/FiscalDocumentYearHelper.js +0 -61
  40. package/dist/src/FiscalDocumentYearHelper.js.map +0 -1
  41. package/dist/src/Formatter.d.ts +0 -112
  42. package/dist/src/Formatter.d.ts.map +0 -1
  43. package/dist/src/Formatter.js +0 -497
  44. package/dist/src/Formatter.js.map +0 -1
  45. package/dist/src/GoogleTranslateHelper.d.ts.map +0 -1
  46. package/dist/src/GoogleTranslateHelper.js +0 -22
  47. package/dist/src/GoogleTranslateHelper.js.map +0 -1
  48. package/dist/src/STMath.d.ts.map +0 -1
  49. package/dist/src/STMath.js +0 -13
  50. package/dist/src/STMath.js.map +0 -1
  51. package/dist/src/Sleep.d.ts.map +0 -1
  52. package/dist/src/Sleep.js +0 -7
  53. package/dist/src/Sleep.js.map +0 -1
  54. package/dist/src/Sorter.d.ts.map +0 -1
  55. package/dist/src/Sorter.js +0 -105
  56. package/dist/src/Sorter.js.map +0 -1
  57. package/dist/src/StringCompare.d.ts.map +0 -1
  58. package/dist/src/StringCompare.js +0 -73
  59. package/dist/src/StringCompare.js.map +0 -1
  60. package/dist/src/StringCompare.test.d.ts +0 -2
  61. package/dist/src/StringCompare.test.d.ts.map +0 -1
  62. package/dist/src/StringCompare.test.js +0 -30
  63. package/dist/src/StringCompare.test.js.map +0 -1
  64. package/dist/src/Throttle.d.ts.map +0 -1
  65. package/dist/src/Throttle.js +0 -27
  66. package/dist/src/Throttle.js.map +0 -1
  67. package/dist/src/deepFreeze.d.ts.map +0 -1
  68. package/dist/src/deepFreeze.js +0 -33
  69. package/dist/src/deepFreeze.js.map +0 -1
  70. package/dist/tsconfig.tsbuildinfo +0 -1
  71. package/esm/dist/index.d.ts +0 -12
  72. package/esm/dist/index.d.ts.map +0 -1
  73. package/esm/dist/index.js +0 -12
  74. package/esm/dist/index.js.map +0 -1
  75. package/esm/dist/src/Colors.d.ts +0 -39
  76. package/esm/dist/src/Colors.d.ts.map +0 -1
  77. package/esm/dist/src/Colors.js.map +0 -1
  78. package/esm/dist/src/DataValidator.d.ts +0 -24
  79. package/esm/dist/src/DataValidator.d.ts.map +0 -1
  80. package/esm/dist/src/DataValidator.js.map +0 -1
  81. package/esm/dist/src/FiscalDocumentYearHelper.d.ts +0 -40
  82. package/esm/dist/src/FiscalDocumentYearHelper.d.ts.map +0 -1
  83. package/esm/dist/src/FiscalDocumentYearHelper.js.map +0 -1
  84. package/esm/dist/src/Formatter.d.ts.map +0 -1
  85. package/esm/dist/src/Formatter.js.map +0 -1
  86. package/esm/dist/src/GoogleTranslateHelper.d.ts +0 -5
  87. package/esm/dist/src/GoogleTranslateHelper.d.ts.map +0 -1
  88. package/esm/dist/src/GoogleTranslateHelper.js.map +0 -1
  89. package/esm/dist/src/STMath.d.ts +0 -7
  90. package/esm/dist/src/STMath.d.ts.map +0 -1
  91. package/esm/dist/src/STMath.js.map +0 -1
  92. package/esm/dist/src/Sleep.d.ts +0 -2
  93. package/esm/dist/src/Sleep.d.ts.map +0 -1
  94. package/esm/dist/src/Sleep.js.map +0 -1
  95. package/esm/dist/src/Sorter.d.ts +0 -29
  96. package/esm/dist/src/Sorter.d.ts.map +0 -1
  97. package/esm/dist/src/Sorter.js.map +0 -1
  98. package/esm/dist/src/StringCompare.d.ts +0 -23
  99. package/esm/dist/src/StringCompare.d.ts.map +0 -1
  100. package/esm/dist/src/StringCompare.js.map +0 -1
  101. package/esm/dist/src/StringCompare.test.d.ts +0 -2
  102. package/esm/dist/src/StringCompare.test.d.ts.map +0 -1
  103. package/esm/dist/src/StringCompare.test.js +0 -28
  104. package/esm/dist/src/StringCompare.test.js.map +0 -1
  105. package/esm/dist/src/Throttle.d.ts +0 -5
  106. package/esm/dist/src/Throttle.d.ts.map +0 -1
  107. package/esm/dist/src/Throttle.js.map +0 -1
  108. package/esm/dist/src/deepFreeze.d.ts +0 -2
  109. package/esm/dist/src/deepFreeze.d.ts.map +0 -1
  110. package/esm/dist/src/deepFreeze.js.map +0 -1
  111. package/esm/dist/tsconfig.tsbuildinfo +0 -1
  112. package/esm/package.json +0 -3
  113. /package/dist/{src/Colors.d.ts → Colors.d.ts} +0 -0
  114. /package/{esm/dist/src → dist}/Colors.js +0 -0
  115. /package/dist/{src/DataValidator.d.ts → DataValidator.d.ts} +0 -0
  116. /package/dist/{src/FiscalDocumentYearHelper.d.ts → FiscalDocumentYearHelper.d.ts} +0 -0
  117. /package/dist/{src/GoogleTranslateHelper.d.ts → GoogleTranslateHelper.d.ts} +0 -0
  118. /package/{esm/dist/src → dist}/GoogleTranslateHelper.js +0 -0
  119. /package/dist/{src/STMath.d.ts → STMath.d.ts} +0 -0
  120. /package/{esm/dist/src → dist}/STMath.js +0 -0
  121. /package/dist/{src/Sleep.d.ts → Sleep.d.ts} +0 -0
  122. /package/{esm/dist/src → dist}/Sleep.js +0 -0
  123. /package/dist/{src/Sorter.d.ts → Sorter.d.ts} +0 -0
  124. /package/{esm/dist/src → dist}/Sorter.js +0 -0
  125. /package/dist/{src/StringCompare.d.ts → StringCompare.d.ts} +0 -0
  126. /package/{esm/dist/src → dist}/StringCompare.js +0 -0
  127. /package/dist/{src/Throttle.d.ts → Throttle.d.ts} +0 -0
  128. /package/{esm/dist/src → dist}/Throttle.js +0 -0
  129. /package/dist/{src/deepFreeze.d.ts → deepFreeze.d.ts} +0 -0
  130. /package/{esm/dist/src → dist}/deepFreeze.js +0 -0
package/package.json CHANGED
@@ -1,23 +1,30 @@
1
1
  {
2
2
  "name": "@stamhoofd/utility",
3
- "version": "2.118.1",
4
- "main": "./dist/index.js",
5
- "module": "./esm/dist/index.js",
3
+ "version": "2.120.0",
4
+ "type": "module",
6
5
  "types": "./dist/index.d.ts",
7
- "license": "UNLICENCED",
8
- "sideEffects": false,
6
+ "module": "./dist/index.js",
7
+ "main": "./dist/index.js",
8
+ "exports": {
9
+ ".": {
10
+ "types": "./dist/index.d.ts",
11
+ "import": "./dist/index.js",
12
+ "require": "./dist/index.js"
13
+ }
14
+ },
9
15
  "files": [
10
16
  "dist",
11
- "esm/dist",
12
- "esm/package.json"
17
+ "package.json"
13
18
  ],
19
+ "license": "UNLICENCED",
20
+ "sideEffects": false,
14
21
  "scripts": {
15
- "build": " tsc -b . esm",
16
- "test": "jest",
22
+ "build": "tsc --build tsconfig.build.json",
23
+ "test": "vitest",
17
24
  "lint": "eslint ."
18
25
  },
19
26
  "publishConfig": {
20
27
  "access": "public"
21
28
  },
22
- "gitHead": "7461e7ca17f68233be8a8acf1943f2d7882244fd"
29
+ "gitHead": "f38f79c15ce16b0c8c14743ff3eb61feda5a18d4"
23
30
  }
@@ -1 +0,0 @@
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,CAAC;AAEF,KAAK,GAAG,GAAG;IAEP,CAAC,EAAE,MAAM,CAAC;IAGV,CAAC,EAAE,MAAM,CAAC;IAGV,CAAC,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,KAAK,QAAQ,GAAG,MAAM,GAAG,GAAG,GAAG,GAAG,CAAC;AAEnC,qBAAa,MAAM;IACf,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG;IA+CjC;;;;;OAKG;IACH,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM;;;;;IAoD/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;IA0BhD,MAAM,CAAC,SAAS,CAAC,GAAG,KAAA;IAIpB,MAAM,CAAC,cAAc,CAAC,SAAS,KAAA;IAW/B,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"}
@@ -1,242 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Colors = void 0;
4
- class Colors {
5
- static hexToHSL(hex) {
6
- const result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex);
7
- if (!result) {
8
- if (STAMHOOFD.environment === 'development') {
9
- console.error(`Invalid hex color: ${hex}`);
10
- }
11
- return {
12
- h: 0,
13
- s: 0,
14
- l: 0,
15
- };
16
- }
17
- let r = parseInt(result[1], 16);
18
- let g = parseInt(result[2], 16);
19
- let b = parseInt(result[3], 16);
20
- r /= 255;
21
- g /= 255;
22
- b /= 255;
23
- const max = Math.max(r, g, b), min = Math.min(r, g, b);
24
- let h, s, l = (max + min) / 2;
25
- if (max === min) {
26
- h = s = 0; // achromatic
27
- }
28
- else {
29
- const d = max - min;
30
- s = l > 0.5 ? d / (2 - max - min) : d / (max + min);
31
- switch (max) {
32
- case r:
33
- h = (g - b) / d + (g < b ? 6 : 0);
34
- break;
35
- case g:
36
- h = (b - r) / d + 2;
37
- break;
38
- case b:
39
- h = (r - g) / d + 4;
40
- break;
41
- }
42
- h /= 6;
43
- }
44
- return {
45
- h: h * 360,
46
- s: s * 100,
47
- l: l * 100,
48
- };
49
- }
50
- /**
51
- *
52
- * @param h degree
53
- * @param s percentage
54
- * @param l percentage
55
- */
56
- static HSLToRGB(h, s, l) {
57
- // Must be fractions of 1
58
- s /= 100;
59
- l /= 100;
60
- const c = (1 - Math.abs(2 * l - 1)) * s, x = c * (1 - Math.abs((h / 60) % 2 - 1)), m = l - c / 2;
61
- let r = 0, g = 0, b = 0;
62
- if (0 <= h && h < 60) {
63
- r = c;
64
- g = x;
65
- b = 0;
66
- }
67
- else if (60 <= h && h < 120) {
68
- r = x;
69
- g = c;
70
- b = 0;
71
- }
72
- else if (120 <= h && h < 180) {
73
- r = 0;
74
- g = c;
75
- b = x;
76
- }
77
- else if (180 <= h && h < 240) {
78
- r = 0;
79
- g = x;
80
- b = c;
81
- }
82
- else if (240 <= h && h < 300) {
83
- r = x;
84
- g = 0;
85
- b = c;
86
- }
87
- else if (300 <= h && h < 360) {
88
- r = c;
89
- g = 0;
90
- b = x;
91
- }
92
- r = Math.round((r + m) * 255);
93
- g = Math.round((g + m) * 255);
94
- b = Math.round((b + m) * 255);
95
- return {
96
- r, g, b,
97
- };
98
- }
99
- static hslToHex(color) {
100
- let { h, s, l } = color;
101
- l /= 100;
102
- const a = s * Math.min(l, 1 - l) / 100;
103
- const f = (n) => {
104
- const k = (n + h / 30) % 12;
105
- const color = l - a * Math.max(Math.min(k - 3, 9 - k, 1), -1);
106
- return Math.round(255 * color).toString(16).padStart(2, '0'); // convert to Hex and prefix "0" if needed
107
- };
108
- return `#${f(0)}${f(8)}${f(4)}`;
109
- }
110
- static hexToRGB(hex) {
111
- if (hex.startsWith('#')) {
112
- hex = hex.substring(1);
113
- }
114
- if (hex.length !== 6) {
115
- throw new Error('Only six-digit hex colors are allowed.');
116
- }
117
- const aRgbHex = hex.match(/.{1,2}/g);
118
- if (!aRgbHex || aRgbHex.length !== 3) {
119
- throw new Error('Invalid hex color');
120
- }
121
- return {
122
- r: parseInt(aRgbHex[0], 16),
123
- g: parseInt(aRgbHex[1], 16),
124
- b: parseInt(aRgbHex[2], 16),
125
- };
126
- }
127
- static getContrastRatio(foreground, background) {
128
- const L1 = this.getRelativeLuminance(background);
129
- const L2 = this.getRelativeLuminance(foreground);
130
- // https://www.w3.org/TR/2008/REC-WCAG20-20081211/#contrast-ratiodef
131
- return (Math.max(L1, L2) + 0.05) / (Math.min(L1, L2) + 0.05);
132
- }
133
- static getRelativeLuminance(c) {
134
- const color = {
135
- r: c.r / 255,
136
- g: c.g / 255,
137
- b: c.b / 255,
138
- };
139
- // https://www.w3.org/TR/2008/REC-WCAG20-20081211/#relativeluminancedef
140
- const R = color.r <= 0.03928
141
- ? color.r / 12.92
142
- : Math.pow((color.r + 0.055) / 1.055, 2.4);
143
- const G = color.g <= 0.03928
144
- ? color.g / 12.92
145
- : Math.pow((color.g + 0.055) / 1.055, 2.4);
146
- const B = color.b <= 0.03928
147
- ? color.b / 12.92
148
- : Math.pow((color.b + 0.055) / 1.055, 2.4);
149
- const L = 0.2126 * R + 0.7152 * G + 0.0722 * B;
150
- return L;
151
- }
152
- static anyColorToRGB(color) {
153
- if (typeof color === 'string') {
154
- return this.hexToRGB(color);
155
- }
156
- if ('r' in color) {
157
- return color;
158
- }
159
- return this.HSLToRGB(color.h, color.s, color.l);
160
- }
161
- static getContrastColor(color) {
162
- try {
163
- const rgb = this.anyColorToRGB(color);
164
- const blackContrast = this.getAPCAContrast(rgb, { r: 0, g: 0, b: 0 });
165
- const whiteContrast = this.getAPCAContrast(rgb, { r: 255, g: 255, b: 255 });
166
- return blackContrast > whiteContrast ? '#000' : '#fff';
167
- }
168
- catch (e) {
169
- console.error(e);
170
- return '#fff';
171
- }
172
- }
173
- // https://github.com/Myndex/SAPC-APCA#the-plain-english-steps-are
174
- // Example:
175
- // const contrast = getAPCAContrast("rgb(255, 255, 255)", "rgb(136, 136, 136)");
176
- // This returns `66.89346308821438` (66.893%)
177
- // SAPC-APCA README says:
178
- // > #888 vs #fff • 66.89346308821438
179
- // 80% means 7:1 in WCAG 2.0
180
- // 60% means 4.5:1 in WCAG 2.0
181
- // Web UI: https://hail2u.net/pub/test/702.html
182
- static linearize(val) {
183
- return (val / 255.0) ** 2.4;
184
- }
185
- static clampLuminance(luminance) {
186
- const blkThrs = 0.022;
187
- const blkClmp = 1.414;
188
- if (luminance > blkThrs) {
189
- return luminance;
190
- }
191
- return Math.abs(blkThrs - luminance) ** blkClmp + luminance;
192
- }
193
- static getLuminance(color) {
194
- const y = 0.2126729 * this.linearize(color.r)
195
- + 0.7151522 * this.linearize(color.g)
196
- + 0.072175 * this.linearize(color.b);
197
- return this.clampLuminance(y);
198
- }
199
- static getContrast(background, foreground) {
200
- const deltaYmin = 0.0005;
201
- const scale = 1.14;
202
- const backgroundLuminance = this.getLuminance(background);
203
- const foregroundLuminance = this.getLuminance(foreground);
204
- if (Math.abs(backgroundLuminance - foregroundLuminance) < deltaYmin) {
205
- return 0.0;
206
- }
207
- if (backgroundLuminance > foregroundLuminance) {
208
- return (backgroundLuminance ** 0.56 - foregroundLuminance ** 0.57) * scale;
209
- }
210
- if (backgroundLuminance < foregroundLuminance) {
211
- return (backgroundLuminance ** 0.65 - foregroundLuminance ** 0.62) * scale;
212
- }
213
- return 0.0;
214
- }
215
- static scaleContrast(contrast) {
216
- const loClip = 0.001;
217
- const loConThresh = 0.035991;
218
- const loConFactor = 27.7847239587675;
219
- const loConOffset = 0.027;
220
- const absContrast = Math.abs(contrast);
221
- if (absContrast < loClip) {
222
- return 0.0;
223
- }
224
- if (absContrast <= loConThresh) {
225
- return contrast - contrast * loConFactor * loConOffset;
226
- }
227
- if (contrast > loConThresh) {
228
- return contrast - loConOffset;
229
- }
230
- if (contrast < -loConThresh) {
231
- return contrast + loConOffset;
232
- }
233
- return 0.0;
234
- }
235
- static getAPCAContrast(background, foreground) {
236
- const contrast = this.getContrast(background, foreground);
237
- const scaledContrast = this.scaleContrast(contrast);
238
- return Math.abs(scaledContrast * 100);
239
- }
240
- }
241
- exports.Colors = Colors;
242
- //# sourceMappingURL=Colors.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Colors.js","sourceRoot":"","sources":["../../src/Colors.ts"],"names":[],"mappings":";;;AAoBA,MAAa,MAAM;IACf,MAAM,CAAC,QAAQ,CAAC,GAAW;QACvB,MAAM,MAAM,GAAG,2CAA2C,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACrE,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,IAAI,SAAS,CAAC,WAAW,KAAK,aAAa,EAAE,CAAC;gBAC1C,OAAO,CAAC,KAAK,CAAC,sBAAsB,GAAG,EAAE,CAAC,CAAC;YAC/C,CAAC;YACD,OAAO;gBACH,CAAC,EAAE,CAAC;gBACJ,CAAC,EAAE,CAAC;gBACJ,CAAC,EAAE,CAAC;aACP,CAAC;QACN,CAAC;QAED,IAAI,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAChC,IAAI,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAChC,IAAI,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAChC,CAAC,IAAI,GAAG,CAAC;QACT,CAAC,IAAI,GAAG,CAAC;QACT,CAAC,IAAI,GAAG,CAAC;QACT,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACvD,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;QAC9B,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;YACd,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,aAAa;QAC5B,CAAC;aACI,CAAC;YACF,MAAM,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC;YACpB,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;YACpD,QAAQ,GAAG,EAAE,CAAC;gBACV,KAAK,CAAC;oBACF,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBAClC,MAAM;gBACV,KAAK,CAAC;oBACF,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;oBACpB,MAAM;gBACV,KAAK,CAAC;oBACF,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;oBACpB,MAAM;YACd,CAAC;YACD,CAAC,IAAI,CAAC,CAAC;QACX,CAAC;QACD,OAAO;YACH,CAAC,EAAE,CAAC,GAAG,GAAG;YACV,CAAC,EAAE,CAAC,GAAG,GAAG;YACV,CAAC,EAAE,CAAC,GAAG,GAAG;SACb,CAAC;IACN,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,QAAQ,CAAC,CAAS,EAAE,CAAS,EAAE,CAAS;QAC3C,yBAAyB;QACzB,CAAC,IAAI,GAAG,CAAC;QACT,CAAC,IAAI,GAAG,CAAC;QAET,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EACnC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EACxC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAElB,IAAI,CAAC,GAAG,CAAC,EACL,CAAC,GAAG,CAAC,EACL,CAAC,GAAG,CAAC,CAAC;QAEV,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;YACnB,CAAC,GAAG,CAAC,CAAC;YACN,CAAC,GAAG,CAAC,CAAC;YACN,CAAC,GAAG,CAAC,CAAC;QACV,CAAC;aACI,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;YAC1B,CAAC,GAAG,CAAC,CAAC;YACN,CAAC,GAAG,CAAC,CAAC;YACN,CAAC,GAAG,CAAC,CAAC;QACV,CAAC;aACI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;YAC3B,CAAC,GAAG,CAAC,CAAC;YACN,CAAC,GAAG,CAAC,CAAC;YACN,CAAC,GAAG,CAAC,CAAC;QACV,CAAC;aACI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;YAC3B,CAAC,GAAG,CAAC,CAAC;YACN,CAAC,GAAG,CAAC,CAAC;YACN,CAAC,GAAG,CAAC,CAAC;QACV,CAAC;aACI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;YAC3B,CAAC,GAAG,CAAC,CAAC;YACN,CAAC,GAAG,CAAC,CAAC;YACN,CAAC,GAAG,CAAC,CAAC;QACV,CAAC;aACI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;YAC3B,CAAC,GAAG,CAAC,CAAC;YACN,CAAC,GAAG,CAAC,CAAC;YACN,CAAC,GAAG,CAAC,CAAC;QACV,CAAC;QACD,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;QAC9B,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;QAC9B,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;QAE9B,OAAO;YACH,CAAC,EAAE,CAAC,EAAE,CAAC;SACV,CAAC;IACN,CAAC;IAED,MAAM,CAAC,QAAQ,CAAC,KAAU;QACtB,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,KAAK,CAAC;QACxB,CAAC,IAAI,GAAG,CAAC;QACT,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC;QACvC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE;YACZ,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC;YAC5B,MAAM,KAAK,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAC9D,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,KAAK,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,0CAA0C;QAC5G,CAAC,CAAC;QACF,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACpC,CAAC;IAED,MAAM,CAAC,QAAQ,CAAC,GAAW;QACvB,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACtB,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAC3B,CAAC;QAED,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;QAC9D,CAAC;QAED,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACrC,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;QACzC,CAAC;QACD,OAAO;YACH,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YAC3B,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YAC3B,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;SAC9B,CAAC;IACN,CAAC;IAED,MAAM,CAAC,gBAAgB,CAAC,UAAe,EAAE,UAAe;QACpD,MAAM,EAAE,GAAG,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC;QACjD,MAAM,EAAE,GAAG,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC;QAEjD,oEAAoE;QACpE,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;IACjE,CAAC;IAED,MAAM,CAAC,oBAAoB,CAAC,CAAM;QAC9B,MAAM,KAAK,GAAG;YACV,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG;YACZ,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG;YACZ,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG;SACf,CAAC;QAEF,uEAAuE;QACvE,MAAM,CAAC,GACL,KAAK,CAAC,CAAC,IAAI,OAAO;YAChB,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK;YACjB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,KAAK,EAAE,GAAG,CAAC,CAAC;QAC/C,MAAM,CAAC,GACL,KAAK,CAAC,CAAC,IAAI,OAAO;YAChB,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK;YACjB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,KAAK,EAAE,GAAG,CAAC,CAAC;QAC/C,MAAM,CAAC,GACL,KAAK,CAAC,CAAC,IAAI,OAAO;YAChB,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK;YACjB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,KAAK,EAAE,GAAG,CAAC,CAAC;QAE/C,MAAM,CAAC,GAAG,MAAM,GAAG,CAAC,GAAG,MAAM,GAAG,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC;QAE/C,OAAO,CAAC,CAAC;IACb,CAAC;IAED,MAAM,CAAC,aAAa,CAAC,KAAe;QAChC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC5B,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC;QAED,IAAI,GAAG,IAAI,KAAK,EAAE,CAAC;YACf,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IACpD,CAAC;IAED,MAAM,CAAC,gBAAgB,CAAC,KAAe;QACnC,IAAI,CAAC;YACD,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YACtC,MAAM,aAAa,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YACtE,MAAM,aAAa,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;YAE5E,OAAO,aAAa,GAAG,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;QAC3D,CAAC;QACD,OAAO,CAAC,EAAE,CAAC;YACP,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACjB,OAAO,MAAM,CAAC;QAClB,CAAC;IACL,CAAC;IAED,kEAAkE;IAElE,WAAW;IACX,gFAAgF;IAChF,6CAA6C;IAC7C,yBAAyB;IACzB,sCAAsC;IACtC,4BAA4B;IAC5B,8BAA8B;IAE9B,+CAA+C;IAE/C,MAAM,CAAC,SAAS,CAAC,GAAG;QAChB,OAAO,CAAC,GAAG,GAAG,KAAK,CAAC,IAAI,GAAG,CAAC;IAChC,CAAC;IAED,MAAM,CAAC,cAAc,CAAC,SAAS;QAC3B,MAAM,OAAO,GAAG,KAAK,CAAC;QACtB,MAAM,OAAO,GAAG,KAAK,CAAC;QAEtB,IAAI,SAAS,GAAG,OAAO,EAAE,CAAC;YACtB,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,SAAS,CAAC,IAAI,OAAO,GAAG,SAAS,CAAC;IAChE,CAAC;IAED,MAAM,CAAC,YAAY,CAAC,KAAU;QAC1B,MAAM,CAAC,GACD,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;cAC/B,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;cACnC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC7C,OAAO,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;IAClC,CAAC;IAED,MAAM,CAAC,WAAW,CAAC,UAAe,EAAE,UAAe;QAC/C,MAAM,SAAS,GAAG,MAAM,CAAC;QACzB,MAAM,KAAK,GAAG,IAAI,CAAC;QAEnB,MAAM,mBAAmB,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;QAC1D,MAAM,mBAAmB,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;QAE1D,IAAI,IAAI,CAAC,GAAG,CAAC,mBAAmB,GAAG,mBAAmB,CAAC,GAAG,SAAS,EAAE,CAAC;YAClE,OAAO,GAAG,CAAC;QACf,CAAC;QAED,IAAI,mBAAmB,GAAG,mBAAmB,EAAE,CAAC;YAC5C,OAAO,CAAC,mBAAmB,IAAI,IAAI,GAAG,mBAAmB,IAAI,IAAI,CAAC,GAAG,KAAK,CAAC;QAC/E,CAAC;QAED,IAAI,mBAAmB,GAAG,mBAAmB,EAAE,CAAC;YAC5C,OAAO,CAAC,mBAAmB,IAAI,IAAI,GAAG,mBAAmB,IAAI,IAAI,CAAC,GAAG,KAAK,CAAC;QAC/E,CAAC;QAED,OAAO,GAAG,CAAC;IACf,CAAC;IAED,MAAM,CAAC,aAAa,CAAC,QAAgB;QACjC,MAAM,MAAM,GAAG,KAAK,CAAC;QACrB,MAAM,WAAW,GAAG,QAAQ,CAAC;QAC7B,MAAM,WAAW,GAAG,gBAAgB,CAAC;QACrC,MAAM,WAAW,GAAG,KAAK,CAAC;QAE1B,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAEvC,IAAI,WAAW,GAAG,MAAM,EAAE,CAAC;YACvB,OAAO,GAAG,CAAC;QACf,CAAC;QAED,IAAI,WAAW,IAAI,WAAW,EAAE,CAAC;YAC7B,OAAO,QAAQ,GAAG,QAAQ,GAAG,WAAW,GAAG,WAAW,CAAC;QAC3D,CAAC;QAED,IAAI,QAAQ,GAAG,WAAW,EAAE,CAAC;YACzB,OAAO,QAAQ,GAAG,WAAW,CAAC;QAClC,CAAC;QAED,IAAI,QAAQ,GAAG,CAAC,WAAW,EAAE,CAAC;YAC1B,OAAO,QAAQ,GAAG,WAAW,CAAC;QAClC,CAAC;QAED,OAAO,GAAG,CAAC;IACf,CAAC;IAED,MAAM,CAAC,eAAe,CAAC,UAAe,EAAE,UAAe;QACnD,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QAC1D,MAAM,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QACpD,OAAO,IAAI,CAAC,GAAG,CAAC,cAAc,GAAG,GAAG,CAAC,CAAC;IAC1C,CAAC;CACJ;AA/RD,wBA+RC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"DataValidator.d.ts","sourceRoot":"","sources":["../../src/DataValidator.ts"],"names":[],"mappings":"AAGA,qBAAa,aAAa;IACtB,MAAM,CAAC,QAAQ,CAAC,mBAAmB,SAAiB;IAEpD,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM;IAmD/B,MAAM,CAAC,mBAAmB,CAAC,GAAG,EAAE,MAAM;IAItC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO;IAO5B,MAAM,CAAC,0BAA0B,CAAC,GAAG,EAAE,MAAM;IAU7C,MAAM,CAAC,kBAAkB,CAAC,IAAI,EAAE,MAAM;IActC,MAAM,CAAC,2BAA2B,CAAC,IAAI,EAAE,MAAM;IAuB/C,MAAM,CAAC,8BAA8B,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,GAAG,IAAI;IAazE,MAAM,CAAC,0BAA0B,CAAC,IAAI,EAAE,MAAM;IAI9C,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM;IAI9B,MAAM,CAAC,iBAAiB,CAAC,IAAI,EAAE,MAAM;IAIrC,MAAM,CAAC,6BAA6B;yBAEX,MAAM;2BAGJ,MAAM;;IAMjC,MAAM,CAAC,sCAAsC;yBAEpB,MAAM;2BAGJ,MAAM;;IAMjC,MAAM,CAAC,2BAA2B,CAAC,IAAI,EAAE,MAAM;IAgB/C,MAAM,CAAC,6BAA6B,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM;CAS3D"}
@@ -1,163 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DataValidator = void 0;
4
- const Formatter_js_1 = require("./Formatter.js");
5
- const StringCompare_js_1 = require("./StringCompare.js");
6
- class DataValidator {
7
- static isEmailValid(str) {
8
- const blockList = [
9
- 'gmail.be',
10
- 'gmail.nl',
11
- 'icloud.be',
12
- ];
13
- 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])?)+$/;
14
- if (!regex.test(str)) {
15
- return false;
16
- }
17
- for (const l of blockList) {
18
- if (str.endsWith('@' + l)) {
19
- return false;
20
- }
21
- }
22
- const domain = str.split('@')[1];
23
- if (domain.length > 255) {
24
- return false;
25
- }
26
- const typo = ['gmail.com', 'hotmail.com', 'hotmail.fr', 'hotmail.be', 'yahoo.com', 'live.com', 'outlook.com', 'icloud.com', 'skynet.be', 'telenet.be', 'proximus.be', 'scarlet.be', 'vodafone.be', 'orange.be'];
27
- let foundInvalid = false;
28
- for (const t of typo) {
29
- if (domain === t) {
30
- return true;
31
- }
32
- if (StringCompare_js_1.StringCompare.typoCount(domain, t) === 1) {
33
- foundInvalid = true;
34
- }
35
- }
36
- if (domain === 'mail.com') {
37
- // Exception for typo on gmail.com
38
- return true;
39
- }
40
- if (foundInvalid) {
41
- return false;
42
- }
43
- const tld = domain.split('.').pop();
44
- if (!tld || tld.length < 2) {
45
- return false;
46
- }
47
- return true;
48
- }
49
- static isUitpasNumberValid(str) {
50
- return this.UITPAS_NUMBER_REGEX.test(str);
51
- }
52
- static isUuid(value) {
53
- if (typeof value !== 'string') {
54
- return false;
55
- }
56
- return value.length === 36 && value[8] === '-' && value[13] === '-' && value[18] === '-' && value[23] === '-';
57
- }
58
- static isUitpasNumberKansenTarief(str) {
59
- const isValid = this.isUitpasNumberValid(str);
60
- if (!isValid) {
61
- return false;
62
- }
63
- const char = str[str.length - 2];
64
- return char === '1';
65
- }
66
- static formatUitpasNumber(text) {
67
- const trimmed = this.cleanUitpasNumber(text);
68
- // XXXX XXX XXX XXX
69
- return Formatter_js_1.Formatter.injectPattern(trimmed, [
70
- { length: 4 },
71
- ' ',
72
- { length: 3 },
73
- ' ',
74
- { length: 3 },
75
- ' ',
76
- { length: 3 },
77
- ]);
78
- }
79
- static verifyBelgianNationalNumber(text) {
80
- const trimmed = text.replace(/[^0-9]+/g, ''); // keep A-Z for validation
81
- if (trimmed.length !== 11) {
82
- return false;
83
- }
84
- const toCheck = parseInt(trimmed.substring(0, trimmed.length - 2));
85
- const checksum = parseInt(trimmed.substring(trimmed.length - 2));
86
- // we calculate the expected checksum. again
87
- const realChecksum = 97 - (toCheck % 97); // Dates before 2000
88
- const realChecksum2 = 97 - ((2000000000 + toCheck) % 97); // Dates after 2000
89
- if (STAMHOOFD.environment === 'development') {
90
- return true;
91
- }
92
- if (checksum === realChecksum || checksum === realChecksum2) {
93
- // Check birth day via doesMatchBelgianNationalNumber
94
- return true;
95
- }
96
- return false;
97
- }
98
- static doesMatchBelgianNationalNumber(text, birthDay) {
99
- if (!birthDay) {
100
- return true;
101
- }
102
- // Check if year, month and day matches
103
- const generated = this.generateBelgianNationalNumber(birthDay);
104
- if (this.formatBelgianNationalNumber(text).startsWith(generated)) {
105
- return true;
106
- }
107
- return false;
108
- }
109
- static cleanBelgianNationalNumber(text) {
110
- return text.replace(/[^0-9]+/g, '');
111
- }
112
- static cleanPhone(text) {
113
- return text.replace(/[^+0-9]+/g, '');
114
- }
115
- static cleanUitpasNumber(text) {
116
- return text.replace(/[^0-9]+/g, '');
117
- }
118
- static getUitpasNumberInputFormatter() {
119
- return {
120
- cleaner: (value) => {
121
- return this.cleanUitpasNumber(value);
122
- },
123
- formatter: (value) => {
124
- return this.formatUitpasNumber(value);
125
- },
126
- };
127
- }
128
- static getBelgianNationalNumberInputFormatter() {
129
- return {
130
- cleaner: (value) => {
131
- return this.cleanBelgianNationalNumber(value);
132
- },
133
- formatter: (value) => {
134
- return this.formatBelgianNationalNumber(value);
135
- },
136
- };
137
- }
138
- static formatBelgianNationalNumber(text) {
139
- const trimmed = this.cleanBelgianNationalNumber(text);
140
- // JJ.MM.DD-XXX.XX
141
- return Formatter_js_1.Formatter.injectPattern(trimmed, [
142
- { length: 2 },
143
- '.',
144
- { length: 2 },
145
- '.',
146
- { length: 2 },
147
- '-',
148
- { length: 3 },
149
- '.',
150
- { length: 2 },
151
- ]);
152
- }
153
- static generateBelgianNationalNumber(date) {
154
- // JJ.MM.DD-
155
- const year = Formatter_js_1.Formatter.year(date).toFixed();
156
- const month = Formatter_js_1.Formatter.monthNumber(date).toFixed();
157
- const day = Formatter_js_1.Formatter.day(date);
158
- return year.substring(2) + '.' + month.padStart(2, '0') + '.' + day.padStart(2, '0') + '-';
159
- }
160
- }
161
- exports.DataValidator = DataValidator;
162
- DataValidator.UITPAS_NUMBER_REGEX = /^\d{10,13}$/;
163
- //# sourceMappingURL=DataValidator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DataValidator.js","sourceRoot":"","sources":["../../src/DataValidator.ts"],"names":[],"mappings":";;;AAAA,iDAA2C;AAC3C,yDAAmD;AAEnD,MAAa,aAAa;IAGtB,MAAM,CAAC,YAAY,CAAC,GAAW;QAC3B,MAAM,SAAS,GAAG;YACd,UAAU;YACV,UAAU;YACV,WAAW;SACd,CAAC;QACF,MAAM,KAAK,GAAG,qIAAqI,CAAC;QAEpJ,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACnB,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;YACxB,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC;gBACxB,OAAO,KAAK,CAAC;YACjB,CAAC;QACL,CAAC;QAED,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACjC,IAAI,MAAM,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;YACtB,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,MAAM,IAAI,GAAG,CAAC,WAAW,EAAE,aAAa,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,aAAa,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC;QAChN,IAAI,YAAY,GAAG,KAAK,CAAC;QACzB,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;YACnB,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC;gBACf,OAAO,IAAI,CAAC;YAChB,CAAC;YACD,IAAI,gCAAa,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC3C,YAAY,GAAG,IAAI,CAAC;YACxB,CAAC;QACL,CAAC;QAED,IAAI,MAAM,KAAK,UAAU,EAAE,CAAC;YACxB,kCAAkC;YAClC,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,IAAI,YAAY,EAAE,CAAC;YACf,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;QACpC,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,mBAAmB,CAAC,GAAW;QAClC,OAAO,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC9C,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,KAAc;QACxB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC5B,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,OAAO,KAAK,CAAC,MAAM,KAAK,EAAE,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,EAAE,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,EAAE,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,EAAE,CAAC,KAAK,GAAG,CAAC;IAClH,CAAC;IAED,MAAM,CAAC,0BAA0B,CAAC,GAAW;QACzC,MAAM,OAAO,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;QAC9C,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACjC,OAAO,IAAI,KAAK,GAAG,CAAC;IACxB,CAAC;IAED,MAAM,CAAC,kBAAkB,CAAC,IAAY;QAClC,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAC7C,mBAAmB;QACnB,OAAO,wBAAS,CAAC,aAAa,CAAC,OAAO,EAAE;YACpC,EAAE,MAAM,EAAE,CAAC,EAAE;YACb,GAAG;YACH,EAAE,MAAM,EAAE,CAAC,EAAE;YACb,GAAG;YACH,EAAE,MAAM,EAAE,CAAC,EAAE;YACb,GAAG;YACH,EAAE,MAAM,EAAE,CAAC,EAAE;SAChB,CAAC,CAAC;IACP,CAAC;IAED,MAAM,CAAC,2BAA2B,CAAC,IAAY;QAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC,0BAA0B;QACxE,IAAI,OAAO,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;YACxB,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;QACnE,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;QAEjE,4CAA4C;QAC5C,MAAM,YAAY,GAAG,EAAE,GAAG,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC,CAAC,oBAAoB;QAC9D,MAAM,aAAa,GAAG,EAAE,GAAG,CAAC,CAAC,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,mBAAmB;QAE7E,IAAI,SAAS,CAAC,WAAW,KAAK,aAAa,EAAE,CAAC;YAC1C,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,IAAI,QAAQ,KAAK,YAAY,IAAI,QAAQ,KAAK,aAAa,EAAE,CAAC;YAC1D,qDAAqD;YACrD,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,MAAM,CAAC,8BAA8B,CAAC,IAAY,EAAE,QAAqB;QACrE,IAAI,CAAC,QAAQ,EAAE,CAAC;YACZ,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,uCAAuC;QACvC,MAAM,SAAS,GAAG,IAAI,CAAC,6BAA6B,CAAC,QAAQ,CAAC,CAAC;QAC/D,IAAI,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC/D,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,MAAM,CAAC,0BAA0B,CAAC,IAAY;QAC1C,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IACxC,CAAC;IAED,MAAM,CAAC,UAAU,CAAC,IAAY;QAC1B,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IACzC,CAAC;IAED,MAAM,CAAC,iBAAiB,CAAC,IAAY;QACjC,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IACxC,CAAC;IAED,MAAM,CAAC,6BAA6B;QAChC,OAAO;YACH,OAAO,EAAE,CAAC,KAAa,EAAE,EAAE;gBACvB,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;YACzC,CAAC;YACD,SAAS,EAAE,CAAC,KAAa,EAAE,EAAE;gBACzB,OAAO,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;YAC1C,CAAC;SACJ,CAAC;IACN,CAAC;IAED,MAAM,CAAC,sCAAsC;QACzC,OAAO;YACH,OAAO,EAAE,CAAC,KAAa,EAAE,EAAE;gBACvB,OAAO,IAAI,CAAC,0BAA0B,CAAC,KAAK,CAAC,CAAC;YAClD,CAAC;YACD,SAAS,EAAE,CAAC,KAAa,EAAE,EAAE;gBACzB,OAAO,IAAI,CAAC,2BAA2B,CAAC,KAAK,CAAC,CAAC;YACnD,CAAC;SACJ,CAAC;IACN,CAAC;IAED,MAAM,CAAC,2BAA2B,CAAC,IAAY;QAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,CAAC;QACtD,kBAAkB;QAClB,OAAO,wBAAS,CAAC,aAAa,CAAC,OAAO,EAAE;YACpC,EAAE,MAAM,EAAE,CAAC,EAAE;YACb,GAAG;YACH,EAAE,MAAM,EAAE,CAAC,EAAE;YACb,GAAG;YACH,EAAE,MAAM,EAAE,CAAC,EAAE;YACb,GAAG;YACH,EAAE,MAAM,EAAE,CAAC,EAAE;YACb,GAAG;YACH,EAAE,MAAM,EAAE,CAAC,EAAE;SAChB,CAAC,CAAC;IACP,CAAC;IAED,MAAM,CAAC,6BAA6B,CAAC,IAAU;QAC3C,YAAY;QAEZ,MAAM,IAAI,GAAG,wBAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;QAC5C,MAAM,KAAK,GAAG,wBAAS,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;QACpD,MAAM,GAAG,GAAG,wBAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAEhC,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,CAAC;IAC/F,CAAC;;AAvLL,sCAwLC;AAvLmB,iCAAmB,GAAG,aAAa,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"FiscalDocumentYearHelper.d.ts","sourceRoot":"","sources":["../../src/FiscalDocumentYearHelper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEjC,qBAAa,wBAAwB;IACjC;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,GAAG,CACY;IAEhC;;MAEE;IACF,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAE/B;IAET;;OAEG;IACH,QAAQ,CAAC,IAAI,SAAiB;IAE9B;;OAEG;IACH,QAAQ,CAAC,KAAK,SAAkB;IAEhC;;OAEG;IACH,IAAI,qCAAqC,IAAI,OAAO,CAEnD;IAED;;OAEG;IACH,yBAAyB,CAAC,YAAY,EAAE,MAAM,GAAG,QAAQ;IAKzD;;OAEG;IACH,0BAA0B,CAAC,YAAY,EAAE,MAAM,GAAG,QAAQ;IAI1D;;OAEG;IACH,4BAA4B,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO;IAM3D;;OAEG;IACH,eAAe,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO;CAIjD"}
@@ -1,61 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.FiscalDocumentYearHelper = void 0;
4
- const luxon_1 = require("luxon");
5
- class FiscalDocumentYearHelper {
6
- constructor() {
7
- /**
8
- * Current DateTime in Belgium
9
- */
10
- this.now = luxon_1.DateTime.now()
11
- .setZone('Europe/Brussels');
12
- /**
13
- * Allow to create fiscal document for current year if current month is after this month
14
- */
15
- this.allowCreationAfterMonth = 10;
16
- /**
17
- * Current year in Belgium
18
- */
19
- this.year = this.now.year;
20
- /**
21
- * Current month in Belgium (1-12)
22
- */
23
- this.month = this.now.month;
24
- }
25
- /**
26
- * Returns if a fiscal document for this year can be created.
27
- */
28
- get canCreateFiscalDocumentForCurrentYear() {
29
- return this.month > this.allowCreationAfterMonth;
30
- }
31
- /**
32
- * Max publish date is before 1 march of next year.
33
- */
34
- getPublishDeadlineForYear(calendarYear) {
35
- // max publish date is before 1 march of next year
36
- return luxon_1.DateTime.fromObject({ year: calendarYear + 1, month: 3, day: 1, hour: 0, minute: 0, second: 0, millisecond: 0 }, { zone: 'Europe/Brussels' });
37
- }
38
- /**
39
- * Should at the very very last date download Belcotax by 1st of july
40
- */
41
- getAbsoluteDeadlineForYear(calendarYear) {
42
- return luxon_1.DateTime.fromObject({ year: calendarYear + 1, month: 7, day: 1, hour: 0, minute: 0, second: 0, millisecond: 0 }, { zone: 'Europe/Brussels' });
43
- }
44
- /**
45
- * Check if the fiscal document XML can be downloaded. It can be downloaded if the fiscal document was created after the max publish date or if now is before the max publish date.
46
- */
47
- canDownloadFiscalDocumentXML(calendarYear) {
48
- const deadline = this.getAbsoluteDeadlineForYear(calendarYear).toJSDate();
49
- // if created after max publish date or if now is before max publish date
50
- return new Date().getTime() < deadline.getTime();
51
- }
52
- /**
53
- * Check if the fiscal document XML can be downloaded. It can be downloaded if the fiscal document was created after the max publish date or if now is before the max publish date.
54
- */
55
- isAfterDeadline(calendarYear) {
56
- const deadline = this.getPublishDeadlineForYear(calendarYear).toJSDate();
57
- return new Date().getTime() >= deadline.getTime();
58
- }
59
- }
60
- exports.FiscalDocumentYearHelper = FiscalDocumentYearHelper;
61
- //# sourceMappingURL=FiscalDocumentYearHelper.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FiscalDocumentYearHelper.js","sourceRoot":"","sources":["../../src/FiscalDocumentYearHelper.ts"],"names":[],"mappings":";;;AAAA,iCAAiC;AAEjC,MAAa,wBAAwB;IAArC;QACI;;WAEG;QACc,QAAG,GAAG,gBAAQ,CAAC,GAAG,EAAE;aAChC,OAAO,CAAC,iBAAiB,CAAC,CAAC;QAEhC;;UAEE;QACe,4BAAuB,GAElC,EAAE,CAAC;QAET;;WAEG;QACM,SAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;QAE9B;;WAEG;QACM,UAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;IAwCpC,CAAC;IAtCG;;OAEG;IACH,IAAI,qCAAqC;QACrC,OAAO,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,uBAAuB,CAAC;IACrD,CAAC;IAED;;OAEG;IACH,yBAAyB,CAAC,YAAoB;QAC1C,kDAAkD;QAClD,OAAO,gBAAQ,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,YAAY,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAC;IACzJ,CAAC;IAED;;OAEG;IACH,0BAA0B,CAAC,YAAoB;QAC3C,OAAO,gBAAQ,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,YAAY,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAC;IACzJ,CAAC;IAED;;OAEG;IACH,4BAA4B,CAAC,YAAoB;QAC7C,MAAM,QAAQ,GAAG,IAAI,CAAC,0BAA0B,CAAC,YAAY,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC1E,yEAAyE;QACzE,OAAO,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC;IACrD,CAAC;IAED;;OAEG;IACH,eAAe,CAAC,YAAoB;QAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,yBAAyB,CAAC,YAAY,CAAC,CAAC,QAAQ,EAAE,CAAC;QACzE,OAAO,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;IACtD,CAAC;CACJ;AA9DD,4DA8DC"}
@@ -1,112 +0,0 @@
1
- import { DateTime } from 'luxon';
2
- export declare class Formatter {
3
- static timezone: string;
4
- static removeAccents(name: StringLike): string;
5
- static emailSenderName(name: StringLike): string;
6
- static iban(ibanRaw: string): string;
7
- static slug(name: StringLike): string;
8
- static slugEmail(name: StringLike): string;
9
- static fileSlug(name: StringLike): string;
10
- static sepaPaymentSlug(name: string): string;
11
- static removeDuplicateSpaces(name: StringLike): string;
12
- static spaceString(str: string, spaceLength?: number, spaceChar?: string): string;
13
- static stringToNumber(str: string, maxInt?: number): number;
14
- /**
15
- * 1 = january
16
- */
17
- static month(index: number | Date): string;
18
- /**
19
- * 1-31
20
- */
21
- static day(date: Date): string;
22
- static weekDay(date: Date): string;
23
- /**
24
- * 1 januari (2020). Year only in different year and in the future, if withYear is null (default)
25
- */
26
- static date(date: Date, withYear?: boolean | null): string;
27
- /**
28
- * 5 = 5 dagen
29
- * 7 = 1 week
30
- * 8 = 8 dagen
31
- * ...
32
- */
33
- static days(days: number): string;
34
- static relativeTime(date: Date, options?: {
35
- days?: boolean;
36
- hours?: boolean;
37
- }): string;
38
- /**
39
- * januari 2020
40
- */
41
- static dateWithoutDay(date: Date, options?: {
42
- timezone?: string;
43
- }): string;
44
- /**
45
- * 2020
46
- */
47
- static year(date: Date): number;
48
- static monthNumber(date: Date): number;
49
- /**
50
- * maandag, 1 januari (2020). Year only in different year
51
- */
52
- static dateWithDay(date: Date, withYear?: boolean | null): string;
53
- /**
54
- * maandag, 1 januari (2020) om XX:XX. Year only in different year
55
- */
56
- static dateTimeWithDay(date: Date, hideZero?: boolean, withYear?: boolean | null): string;
57
- /**
58
- * 01/01/2020
59
- */
60
- static dateNumber(date: Date, withYear?: boolean): string;
61
- /**
62
- * 2020-01-31
63
- */
64
- static dateIso(date: Date): string;
65
- /**
66
- * 2020-01-31 00:00:00
67
- */
68
- static dateTimeIso(date: Date, timezone?: string): string;
69
- static startDate(startDate: Date, includeDay?: boolean, withYear?: boolean | null, includeTime?: boolean | null): string;
70
- static endDate(endDate: Date, includeDay?: boolean, withYear?: boolean | null, includeTime?: boolean | null): string;
71
- static dateRange(startDate: Date, endDate: Date, join?: string, includeTime?: boolean | null): string;
72
- /**
73
- * 12:00
74
- */
75
- static time(date: Date, timeZone?: string): string;
76
- static luxon(date?: Date): DateTime;
77
- /**
78
- * 12:00
79
- */
80
- static timeIso(date: Date): string;
81
- static uniqueArray<T>(array: T[], removeNullOrUndefined?: true): NonNullable<T>[];
82
- static uniqueArray<T>(array: T[], removeNullOrUndefined: false): T[];
83
- /**
84
- * 1 januari (2020) om 12:00. Year only in different year
85
- */
86
- static dateTime(date: Date, hideZero?: boolean, withYear?: boolean | null): string;
87
- static integer(value: number): string;
88
- static float(value: number): string;
89
- static percentage(value: number): string;
90
- static price(value: number, removeZeroDecimals?: boolean): string;
91
- static priceChange(value: number): string;
92
- static capitalizeFirstLetter(string: StringLike): string;
93
- static capitalizeWords(string: StringLike): string;
94
- static fileSize(bytes: number): string;
95
- static minutesPadded(minutes: number): string;
96
- static timeIndex(minutes: number): string;
97
- static minutes(minutes: number): string;
98
- static escapeHtml(unsafe: string): string;
99
- static escapeRegex(string: string): string;
100
- static joinLast(array: (string | number)[], separator: string | undefined, lastSeparator: string | undefined): string;
101
- static ordinalNumber(number: number): string;
102
- static pluralText(num: number, singular: StringLike, plural: StringLike): string;
103
- static groupNamesByFamily(names: {
104
- firstName: string;
105
- lastName: string;
106
- }[]): string;
107
- static firstLetters(str: StringLike, maxLength: number): string;
108
- static injectPattern(value: string, parts: (string | {
109
- length: number;
110
- })[]): string;
111
- }
112
- //# sourceMappingURL=Formatter.d.ts.map