@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.
- package/dist/Colors.d.ts.map +1 -0
- package/dist/Colors.js.map +1 -0
- package/dist/DataValidator.d.ts.map +1 -0
- package/{esm/dist/src → dist}/DataValidator.js +5 -5
- package/dist/DataValidator.js.map +1 -0
- package/dist/FiscalDocumentYearHelper.d.ts.map +1 -0
- package/{esm/dist/src → dist}/FiscalDocumentYearHelper.js +19 -19
- package/dist/FiscalDocumentYearHelper.js.map +1 -0
- package/{esm/dist/src → dist}/Formatter.d.ts +4 -0
- package/dist/Formatter.d.ts.map +1 -0
- package/{esm/dist/src → dist}/Formatter.js +45 -37
- package/dist/Formatter.js.map +1 -0
- package/dist/GoogleTranslateHelper.d.ts.map +1 -0
- package/dist/GoogleTranslateHelper.js.map +1 -0
- package/dist/STMath.d.ts.map +1 -0
- package/dist/STMath.js.map +1 -0
- package/dist/Sleep.d.ts.map +1 -0
- package/dist/Sleep.js.map +1 -0
- package/dist/Sorter.d.ts.map +1 -0
- package/dist/Sorter.js.map +1 -0
- package/dist/StringCompare.d.ts.map +1 -0
- package/dist/StringCompare.js.map +1 -0
- package/dist/Throttle.d.ts.map +1 -0
- package/dist/Throttle.js.map +1 -0
- package/dist/deepFreeze.d.ts.map +1 -0
- package/dist/deepFreeze.js.map +1 -0
- package/dist/index.d.ts +11 -11
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +11 -14
- package/dist/index.js.map +1 -1
- package/package.json +17 -10
- package/dist/src/Colors.d.ts.map +0 -1
- package/dist/src/Colors.js +0 -242
- package/dist/src/Colors.js.map +0 -1
- package/dist/src/DataValidator.d.ts.map +0 -1
- package/dist/src/DataValidator.js +0 -163
- package/dist/src/DataValidator.js.map +0 -1
- package/dist/src/FiscalDocumentYearHelper.d.ts.map +0 -1
- package/dist/src/FiscalDocumentYearHelper.js +0 -61
- package/dist/src/FiscalDocumentYearHelper.js.map +0 -1
- package/dist/src/Formatter.d.ts +0 -112
- package/dist/src/Formatter.d.ts.map +0 -1
- package/dist/src/Formatter.js +0 -497
- package/dist/src/Formatter.js.map +0 -1
- package/dist/src/GoogleTranslateHelper.d.ts.map +0 -1
- package/dist/src/GoogleTranslateHelper.js +0 -22
- package/dist/src/GoogleTranslateHelper.js.map +0 -1
- package/dist/src/STMath.d.ts.map +0 -1
- package/dist/src/STMath.js +0 -13
- package/dist/src/STMath.js.map +0 -1
- package/dist/src/Sleep.d.ts.map +0 -1
- package/dist/src/Sleep.js +0 -7
- package/dist/src/Sleep.js.map +0 -1
- package/dist/src/Sorter.d.ts.map +0 -1
- package/dist/src/Sorter.js +0 -105
- package/dist/src/Sorter.js.map +0 -1
- package/dist/src/StringCompare.d.ts.map +0 -1
- package/dist/src/StringCompare.js +0 -73
- package/dist/src/StringCompare.js.map +0 -1
- package/dist/src/StringCompare.test.d.ts +0 -2
- package/dist/src/StringCompare.test.d.ts.map +0 -1
- package/dist/src/StringCompare.test.js +0 -30
- package/dist/src/StringCompare.test.js.map +0 -1
- package/dist/src/Throttle.d.ts.map +0 -1
- package/dist/src/Throttle.js +0 -27
- package/dist/src/Throttle.js.map +0 -1
- package/dist/src/deepFreeze.d.ts.map +0 -1
- package/dist/src/deepFreeze.js +0 -33
- package/dist/src/deepFreeze.js.map +0 -1
- package/dist/tsconfig.tsbuildinfo +0 -1
- package/esm/dist/index.d.ts +0 -12
- package/esm/dist/index.d.ts.map +0 -1
- package/esm/dist/index.js +0 -12
- package/esm/dist/index.js.map +0 -1
- package/esm/dist/src/Colors.d.ts +0 -39
- package/esm/dist/src/Colors.d.ts.map +0 -1
- package/esm/dist/src/Colors.js.map +0 -1
- package/esm/dist/src/DataValidator.d.ts +0 -24
- package/esm/dist/src/DataValidator.d.ts.map +0 -1
- package/esm/dist/src/DataValidator.js.map +0 -1
- package/esm/dist/src/FiscalDocumentYearHelper.d.ts +0 -40
- package/esm/dist/src/FiscalDocumentYearHelper.d.ts.map +0 -1
- package/esm/dist/src/FiscalDocumentYearHelper.js.map +0 -1
- package/esm/dist/src/Formatter.d.ts.map +0 -1
- package/esm/dist/src/Formatter.js.map +0 -1
- package/esm/dist/src/GoogleTranslateHelper.d.ts +0 -5
- package/esm/dist/src/GoogleTranslateHelper.d.ts.map +0 -1
- package/esm/dist/src/GoogleTranslateHelper.js.map +0 -1
- package/esm/dist/src/STMath.d.ts +0 -7
- package/esm/dist/src/STMath.d.ts.map +0 -1
- package/esm/dist/src/STMath.js.map +0 -1
- package/esm/dist/src/Sleep.d.ts +0 -2
- package/esm/dist/src/Sleep.d.ts.map +0 -1
- package/esm/dist/src/Sleep.js.map +0 -1
- package/esm/dist/src/Sorter.d.ts +0 -29
- package/esm/dist/src/Sorter.d.ts.map +0 -1
- package/esm/dist/src/Sorter.js.map +0 -1
- package/esm/dist/src/StringCompare.d.ts +0 -23
- package/esm/dist/src/StringCompare.d.ts.map +0 -1
- package/esm/dist/src/StringCompare.js.map +0 -1
- package/esm/dist/src/StringCompare.test.d.ts +0 -2
- package/esm/dist/src/StringCompare.test.d.ts.map +0 -1
- package/esm/dist/src/StringCompare.test.js +0 -28
- package/esm/dist/src/StringCompare.test.js.map +0 -1
- package/esm/dist/src/Throttle.d.ts +0 -5
- package/esm/dist/src/Throttle.d.ts.map +0 -1
- package/esm/dist/src/Throttle.js.map +0 -1
- package/esm/dist/src/deepFreeze.d.ts +0 -2
- package/esm/dist/src/deepFreeze.d.ts.map +0 -1
- package/esm/dist/src/deepFreeze.js.map +0 -1
- package/esm/dist/tsconfig.tsbuildinfo +0 -1
- package/esm/package.json +0 -3
- /package/dist/{src/Colors.d.ts → Colors.d.ts} +0 -0
- /package/{esm/dist/src → dist}/Colors.js +0 -0
- /package/dist/{src/DataValidator.d.ts → DataValidator.d.ts} +0 -0
- /package/dist/{src/FiscalDocumentYearHelper.d.ts → FiscalDocumentYearHelper.d.ts} +0 -0
- /package/dist/{src/GoogleTranslateHelper.d.ts → GoogleTranslateHelper.d.ts} +0 -0
- /package/{esm/dist/src → dist}/GoogleTranslateHelper.js +0 -0
- /package/dist/{src/STMath.d.ts → STMath.d.ts} +0 -0
- /package/{esm/dist/src → dist}/STMath.js +0 -0
- /package/dist/{src/Sleep.d.ts → Sleep.d.ts} +0 -0
- /package/{esm/dist/src → dist}/Sleep.js +0 -0
- /package/dist/{src/Sorter.d.ts → Sorter.d.ts} +0 -0
- /package/{esm/dist/src → dist}/Sorter.js +0 -0
- /package/dist/{src/StringCompare.d.ts → StringCompare.d.ts} +0 -0
- /package/{esm/dist/src → dist}/StringCompare.js +0 -0
- /package/dist/{src/Throttle.d.ts → Throttle.d.ts} +0 -0
- /package/{esm/dist/src → dist}/Throttle.js +0 -0
- /package/dist/{src/deepFreeze.d.ts → deepFreeze.d.ts} +0 -0
- /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.
|
|
4
|
-
"
|
|
5
|
-
"module": "./esm/dist/index.js",
|
|
3
|
+
"version": "2.120.0",
|
|
4
|
+
"type": "module",
|
|
6
5
|
"types": "./dist/index.d.ts",
|
|
7
|
-
"
|
|
8
|
-
"
|
|
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
|
-
"
|
|
12
|
-
"esm/package.json"
|
|
17
|
+
"package.json"
|
|
13
18
|
],
|
|
19
|
+
"license": "UNLICENCED",
|
|
20
|
+
"sideEffects": false,
|
|
14
21
|
"scripts": {
|
|
15
|
-
"build": "
|
|
16
|
-
"test": "
|
|
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": "
|
|
29
|
+
"gitHead": "f38f79c15ce16b0c8c14743ff3eb61feda5a18d4"
|
|
23
30
|
}
|
package/dist/src/Colors.d.ts.map
DELETED
|
@@ -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"}
|
package/dist/src/Colors.js
DELETED
|
@@ -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
|
package/dist/src/Colors.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Colors.js","sourceRoot":"","sources":["../../src/Colors.ts"],"names":[],"mappings":"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"}
|
|
@@ -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":"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"}
|
|
@@ -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"}
|
package/dist/src/Formatter.d.ts
DELETED
|
@@ -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
|