@based/schema 2.0.0 → 2.2.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 (107) hide show
  1. package/dist/display/dateString copy.d.ts +3 -0
  2. package/dist/display/dateString copy.js +127 -0
  3. package/dist/display/dateString copy.js.map +1 -0
  4. package/dist/display/dateString.d.ts +3 -0
  5. package/dist/display/dateString.js +127 -0
  6. package/dist/display/dateString.js.map +1 -0
  7. package/dist/display/display.d.ts +1 -0
  8. package/dist/display/display.js +8 -0
  9. package/dist/display/display.js.map +1 -0
  10. package/dist/display/index.d.ts +2 -0
  11. package/dist/display/index.js +26 -0
  12. package/dist/display/index.js.map +1 -0
  13. package/dist/display/number copy.d.ts +3 -0
  14. package/dist/display/number copy.js +81 -0
  15. package/dist/display/number copy.js.map +1 -0
  16. package/dist/display/number.d.ts +3 -0
  17. package/dist/display/number.js +89 -0
  18. package/dist/display/number.js.map +1 -0
  19. package/dist/display/string.d.ts +3 -0
  20. package/dist/display/string.js +23 -0
  21. package/dist/display/string.js.map +1 -0
  22. package/dist/display/timestamp.d.ts +3 -0
  23. package/dist/display/timestamp.js +127 -0
  24. package/dist/display/timestamp.js.map +1 -0
  25. package/dist/display.d.ts +2 -0
  26. package/dist/display.js +8 -0
  27. package/dist/display.js.map +1 -0
  28. package/dist/error.d.ts +0 -1
  29. package/dist/error.js +1 -1
  30. package/dist/error.js.map +1 -1
  31. package/dist/index.d.ts +1 -1
  32. package/dist/index.js +1 -0
  33. package/dist/index.js.map +1 -1
  34. package/dist/languages.d.ts +0 -1
  35. package/dist/set/fields/array.d.ts +0 -1
  36. package/dist/set/fields/index.d.ts +0 -1
  37. package/dist/set/fields/number.d.ts +0 -1
  38. package/dist/set/fields/object.d.ts +0 -1
  39. package/dist/set/fields/references.d.ts +0 -1
  40. package/dist/set/fields/set.d.ts +0 -1
  41. package/dist/set/fields/string.d.ts +0 -1
  42. package/dist/set/index.d.ts +0 -1
  43. package/dist/set/isValidId.d.ts +0 -1
  44. package/dist/set/types.d.ts +0 -1
  45. package/dist/types.d.ts +15 -5
  46. package/dist/types.js +19 -1
  47. package/dist/types.js.map +1 -1
  48. package/dist/updateSchema.d.ts +0 -1
  49. package/dist/validateSchema.d.ts +0 -1
  50. package/dist/walker/args.d.ts +0 -1
  51. package/dist/walker/index.d.ts +0 -1
  52. package/dist/walker/parse.d.ts +0 -1
  53. package/dist/walker/types.d.ts +0 -1
  54. package/dist/walker/types.js +1 -1
  55. package/dist/walker/types.js.map +1 -1
  56. package/package.json +4 -3
  57. package/dist/error.d.ts.map +0 -1
  58. package/dist/index.d.ts.map +0 -1
  59. package/dist/languages.d.ts.map +0 -1
  60. package/dist/set/fields/array.d.ts.map +0 -1
  61. package/dist/set/fields/index.d.ts.map +0 -1
  62. package/dist/set/fields/number.d.ts.map +0 -1
  63. package/dist/set/fields/object.d.ts.map +0 -1
  64. package/dist/set/fields/references.d.ts.map +0 -1
  65. package/dist/set/fields/set.d.ts.map +0 -1
  66. package/dist/set/fields/string.d.ts.map +0 -1
  67. package/dist/set/index.d.ts.map +0 -1
  68. package/dist/set/isValidId.d.ts.map +0 -1
  69. package/dist/set/types.d.ts.map +0 -1
  70. package/dist/types.d.ts.map +0 -1
  71. package/dist/updateSchema.d.ts.map +0 -1
  72. package/dist/validateSchema.d.ts.map +0 -1
  73. package/dist/walker/args.d.ts.map +0 -1
  74. package/dist/walker/index.d.ts.map +0 -1
  75. package/dist/walker/parse.d.ts.map +0 -1
  76. package/dist/walker/types.d.ts.map +0 -1
  77. package/src/error.ts +0 -19
  78. package/src/index.ts +0 -7
  79. package/src/languages.ts +0 -188
  80. package/src/set/fields/array.ts +0 -155
  81. package/src/set/fields/index.ts +0 -70
  82. package/src/set/fields/number.ts +0 -144
  83. package/src/set/fields/object.ts +0 -31
  84. package/src/set/fields/references.ts +0 -140
  85. package/src/set/fields/set.ts +0 -63
  86. package/src/set/fields/string.ts +0 -291
  87. package/src/set/index.ts +0 -186
  88. package/src/set/isValidId.ts +0 -23
  89. package/src/set/types.ts +0 -0
  90. package/src/types.ts +0 -365
  91. package/src/updateSchema.ts +0 -18
  92. package/src/validateSchema.ts +0 -64
  93. package/src/walker/args.ts +0 -209
  94. package/src/walker/index.ts +0 -48
  95. package/src/walker/parse.ts +0 -233
  96. package/src/walker/types.ts +0 -81
  97. package/test/array.ts +0 -388
  98. package/test/number.ts +0 -435
  99. package/test/reference.ts +0 -219
  100. package/test/rest.ts +0 -185
  101. package/test/set.ts +0 -104
  102. package/test/string.ts +0 -118
  103. package/test/text.ts +0 -348
  104. package/test/utils/index.ts +0 -23
  105. package/test/validateSchema.ts +0 -41
  106. package/test/walker.ts +0 -319
  107. package/tsconfig.json +0 -9
@@ -0,0 +1,3 @@
1
+ export type DateFormat = 'date' | 'date-time' | 'date-time-text' | 'human' | 'time' | 'time-precise';
2
+ declare const _default: (nr: number | string, format?: DateFormat) => string | number;
3
+ export default _default;
@@ -0,0 +1,127 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const addZero = (d) => {
4
+ const s = d + '';
5
+ if (s.length === 1) {
6
+ return '0' + s;
7
+ }
8
+ return s;
9
+ };
10
+ exports.default = (nr, format) => {
11
+ if (!format) {
12
+ return nr;
13
+ }
14
+ if (typeof nr === 'number') {
15
+ const thenDate = new Date(nr);
16
+ if (format === 'date') {
17
+ return (thenDate.getDate() +
18
+ '/' +
19
+ (thenDate.getMonth() + 1) +
20
+ '/' +
21
+ thenDate.getFullYear());
22
+ }
23
+ else if (format === 'time') {
24
+ return thenDate.getHours() + ':' + addZero(thenDate.getMinutes());
25
+ }
26
+ else if (format === 'time-precise') {
27
+ return (thenDate.getHours() +
28
+ ':' +
29
+ addZero(thenDate.getMinutes()) +
30
+ ':' +
31
+ addZero(thenDate.getSeconds()));
32
+ }
33
+ else if (format === 'date-time-text') {
34
+ return `${thenDate.toLocaleDateString('default', {
35
+ day: 'numeric',
36
+ month: 'long',
37
+ year: 'numeric',
38
+ })}, ${thenDate.toLocaleTimeString()}`;
39
+ }
40
+ else if (format === 'date-time') {
41
+ return (thenDate.getHours() +
42
+ ':' +
43
+ addZero(thenDate.getMinutes()) +
44
+ ' ' +
45
+ thenDate.getDate() +
46
+ '/' +
47
+ (thenDate.getMonth() + 1) +
48
+ '/' +
49
+ thenDate.getFullYear());
50
+ }
51
+ else if (format === 'human') {
52
+ const nowDate = new Date();
53
+ if (nowDate.getTime() > thenDate.getTime()) {
54
+ var secondsSince = Math.floor((nowDate.getTime() - thenDate.getTime()) / 1000);
55
+ var interval = secondsSince / 31536000; // seconds in a year
56
+ if (interval > 1) {
57
+ const x = Math.floor(interval);
58
+ return `${x} ${x > 1 ? 'years' : 'year'} ago`;
59
+ }
60
+ interval = secondsSince / 2592000; // seconds in a month
61
+ if (interval > 1) {
62
+ const x = Math.floor(interval);
63
+ return `${x} ${x > 1 ? 'months' : 'month'} ago`;
64
+ }
65
+ interval = secondsSince / 86400; // seconds in a day
66
+ if (interval > 1) {
67
+ const x = Math.floor(interval);
68
+ return `${x} ${x > 1 ? 'days' : 'day'} ago`;
69
+ }
70
+ interval = secondsSince / 3600; // seconds in an hour
71
+ if (interval > 1) {
72
+ const x = Math.floor(interval);
73
+ return `${x} ${x > 1 ? 'hours' : 'hour'} ago`;
74
+ }
75
+ interval = secondsSince / 60; // seconds in a minute :)
76
+ if (interval > 1) {
77
+ const x = Math.floor(interval);
78
+ return `${x} ${x > 1 ? 'minutes' : 'minute'} ago`;
79
+ }
80
+ if (secondsSince > 10) {
81
+ const x = Math.floor(secondsSince);
82
+ return `${x} ${x > 1 ? 'seconds' : 'second'} ago`;
83
+ }
84
+ return 'Now';
85
+ }
86
+ else {
87
+ // in the future
88
+ var secondsSince = Math.floor((thenDate.getTime() - nowDate.getTime()) / 1000);
89
+ var interval = secondsSince / 31536000; // seconds in a year
90
+ if (interval > 1) {
91
+ const x = Math.floor(interval);
92
+ return `${x} ${x > 1 ? 'years' : 'year'} from now`;
93
+ }
94
+ interval = secondsSince / 2592000; // seconds in a month
95
+ if (interval > 1) {
96
+ const x = Math.floor(interval);
97
+ return `${x} ${x > 1 ? 'months' : 'month'} from now`;
98
+ }
99
+ interval = secondsSince / 86400; // seconds in a day
100
+ if (interval > 1) {
101
+ const x = Math.floor(interval);
102
+ return `${x} ${x > 1 ? 'days' : 'day'} from now`;
103
+ }
104
+ interval = secondsSince / 3600; // seconds in an hour
105
+ if (interval > 1) {
106
+ const x = Math.floor(interval);
107
+ return `${x} ${x > 1 ? 'hours' : 'hour'} from now`;
108
+ }
109
+ interval = secondsSince / 60; // seconds in a minute :)
110
+ if (interval > 1) {
111
+ const x = Math.floor(interval);
112
+ return `${x} ${x > 1 ? 'minutes' : 'minute'} from now`;
113
+ }
114
+ if (secondsSince > 10) {
115
+ const x = Math.floor(secondsSince);
116
+ return `${x} ${x > 1 ? 'seconds' : 'second'} from now`;
117
+ }
118
+ return 'Now';
119
+ }
120
+ }
121
+ return String(nr);
122
+ }
123
+ else {
124
+ return nr;
125
+ }
126
+ };
127
+ //# sourceMappingURL=dateString%20copy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dateString copy.js","sourceRoot":"","sources":["../../src/display/dateString copy.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export type DateFormat = 'date' | 'date-time' | 'date-time-text' | 'human' | 'time' | 'time-precise';
2
+ declare const _default: (nr: number | string, format?: DateFormat) => string | number;
3
+ export default _default;
@@ -0,0 +1,127 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const addZero = (d) => {
4
+ const s = d + '';
5
+ if (s.length === 1) {
6
+ return '0' + s;
7
+ }
8
+ return s;
9
+ };
10
+ exports.default = (nr, format) => {
11
+ if (!format) {
12
+ return nr;
13
+ }
14
+ if (typeof nr === 'number') {
15
+ const thenDate = new Date(nr);
16
+ if (format === 'date') {
17
+ return (thenDate.getDate() +
18
+ '/' +
19
+ (thenDate.getMonth() + 1) +
20
+ '/' +
21
+ thenDate.getFullYear());
22
+ }
23
+ else if (format === 'time') {
24
+ return thenDate.getHours() + ':' + addZero(thenDate.getMinutes());
25
+ }
26
+ else if (format === 'time-precise') {
27
+ return (thenDate.getHours() +
28
+ ':' +
29
+ addZero(thenDate.getMinutes()) +
30
+ ':' +
31
+ addZero(thenDate.getSeconds()));
32
+ }
33
+ else if (format === 'date-time-text') {
34
+ return `${thenDate.toLocaleDateString('default', {
35
+ day: 'numeric',
36
+ month: 'long',
37
+ year: 'numeric',
38
+ })}, ${thenDate.toLocaleTimeString()}`;
39
+ }
40
+ else if (format === 'date-time') {
41
+ return (thenDate.getHours() +
42
+ ':' +
43
+ addZero(thenDate.getMinutes()) +
44
+ ' ' +
45
+ thenDate.getDate() +
46
+ '/' +
47
+ (thenDate.getMonth() + 1) +
48
+ '/' +
49
+ thenDate.getFullYear());
50
+ }
51
+ else if (format === 'human') {
52
+ const nowDate = new Date();
53
+ if (nowDate.getTime() > thenDate.getTime()) {
54
+ var secondsSince = Math.floor((nowDate.getTime() - thenDate.getTime()) / 1000);
55
+ var interval = secondsSince / 31536000; // seconds in a year
56
+ if (interval > 1) {
57
+ const x = Math.floor(interval);
58
+ return `${x} ${x > 1 ? 'years' : 'year'} ago`;
59
+ }
60
+ interval = secondsSince / 2592000; // seconds in a month
61
+ if (interval > 1) {
62
+ const x = Math.floor(interval);
63
+ return `${x} ${x > 1 ? 'months' : 'month'} ago`;
64
+ }
65
+ interval = secondsSince / 86400; // seconds in a day
66
+ if (interval > 1) {
67
+ const x = Math.floor(interval);
68
+ return `${x} ${x > 1 ? 'days' : 'day'} ago`;
69
+ }
70
+ interval = secondsSince / 3600; // seconds in an hour
71
+ if (interval > 1) {
72
+ const x = Math.floor(interval);
73
+ return `${x} ${x > 1 ? 'hours' : 'hour'} ago`;
74
+ }
75
+ interval = secondsSince / 60; // seconds in a minute :)
76
+ if (interval > 1) {
77
+ const x = Math.floor(interval);
78
+ return `${x} ${x > 1 ? 'minutes' : 'minute'} ago`;
79
+ }
80
+ if (secondsSince > 10) {
81
+ const x = Math.floor(secondsSince);
82
+ return `${x} ${x > 1 ? 'seconds' : 'second'} ago`;
83
+ }
84
+ return 'Now';
85
+ }
86
+ else {
87
+ // in the future
88
+ var secondsSince = Math.floor((thenDate.getTime() - nowDate.getTime()) / 1000);
89
+ var interval = secondsSince / 31536000; // seconds in a year
90
+ if (interval > 1) {
91
+ const x = Math.floor(interval);
92
+ return `${x} ${x > 1 ? 'years' : 'year'} from now`;
93
+ }
94
+ interval = secondsSince / 2592000; // seconds in a month
95
+ if (interval > 1) {
96
+ const x = Math.floor(interval);
97
+ return `${x} ${x > 1 ? 'months' : 'month'} from now`;
98
+ }
99
+ interval = secondsSince / 86400; // seconds in a day
100
+ if (interval > 1) {
101
+ const x = Math.floor(interval);
102
+ return `${x} ${x > 1 ? 'days' : 'day'} from now`;
103
+ }
104
+ interval = secondsSince / 3600; // seconds in an hour
105
+ if (interval > 1) {
106
+ const x = Math.floor(interval);
107
+ return `${x} ${x > 1 ? 'hours' : 'hour'} from now`;
108
+ }
109
+ interval = secondsSince / 60; // seconds in a minute :)
110
+ if (interval > 1) {
111
+ const x = Math.floor(interval);
112
+ return `${x} ${x > 1 ? 'minutes' : 'minute'} from now`;
113
+ }
114
+ if (secondsSince > 10) {
115
+ const x = Math.floor(secondsSince);
116
+ return `${x} ${x > 1 ? 'seconds' : 'second'} from now`;
117
+ }
118
+ return 'Now';
119
+ }
120
+ }
121
+ return String(nr);
122
+ }
123
+ else {
124
+ return nr;
125
+ }
126
+ };
127
+ //# sourceMappingURL=dateString.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dateString.js","sourceRoot":"","sources":["../../src/display/dateString.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare const display: (value: string | number | void, field: BasedSchemaField) => string | number | void;
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.display = void 0;
4
+ const display = (value, field) => {
5
+ return '';
6
+ };
7
+ exports.display = display;
8
+ //# sourceMappingURL=display.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"display.js","sourceRoot":"","sources":["../../src/display/display.ts"],"names":[],"mappings":";;;AAEO,MAAM,OAAO,GAAG,CACrB,KAA6B,EAC7B,KAAuB,EACC,EAAE;IAC1B,OAAO,EAAE,CAAA;AACX,CAAC,CAAA;AALY,QAAA,OAAO,WAKnB"}
@@ -0,0 +1,2 @@
1
+ import { BasedSchemaField } from '../types';
2
+ export declare const display: (value: string | number | void, field: BasedSchemaField) => string | number | void;
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.display = void 0;
7
+ const timestamp_1 = __importDefault(require("./timestamp"));
8
+ const number_1 = __importDefault(require("./number"));
9
+ const string_1 = __importDefault(require("./string"));
10
+ const display = (value, field) => {
11
+ if (field.type === 'timestamp' && typeof value === 'number') {
12
+ // @ts-ignore
13
+ return (0, timestamp_1.default)(value, field.display);
14
+ }
15
+ if (field.type === 'number' && typeof value === 'number') {
16
+ // @ts-ignore
17
+ return (0, number_1.default)(value, field.display);
18
+ }
19
+ if (field.type === 'string' && typeof value === 'string') {
20
+ // @ts-ignore
21
+ return (0, string_1.default)(value, field.display);
22
+ }
23
+ return value;
24
+ };
25
+ exports.display = display;
26
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/display/index.ts"],"names":[],"mappings":";;;;;;AACA,4DAA0C;AAC1C,sDAAoC;AACpC,sDAAoC;AAE7B,MAAM,OAAO,GAAG,CACrB,KAA6B,EAC7B,KAAuB,EACC,EAAE;IAC1B,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC3D,aAAa;QACb,OAAO,IAAA,mBAAgB,EAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,CAAA;KAC9C;IAED,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QACxD,aAAa;QACb,OAAO,IAAA,gBAAa,EAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,CAAA;KAC3C;IAED,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QACxD,aAAa;QACb,OAAO,IAAA,gBAAa,EAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,CAAA;KAC3C;IAED,OAAO,KAAK,CAAA;AACd,CAAC,CAAA;AApBY,QAAA,OAAO,WAoBnB"}
@@ -0,0 +1,3 @@
1
+ export type NumberFormat = 'short' | 'human' | 'ratio' | 'bytes' | 'euro' | 'dollar' | 'pound' | `round-${number}`;
2
+ declare const parseNumber: (nr: number | string, format?: NumberFormat) => string | number;
3
+ export default parseNumber;
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const parseNumber = (nr, format) => {
4
+ if (!format) {
5
+ return nr;
6
+ }
7
+ if (typeof nr === 'number') {
8
+ if (format === 'euro' || format === 'dollar' || format === 'pound') {
9
+ const p = String(parseNumber(nr, 'short'));
10
+ const fraction = format === 'euro' ? ',' : '.';
11
+ const [s, f] = p.split('.');
12
+ return `${format === 'euro'
13
+ ? '€'
14
+ : format === 'pound'
15
+ ? '£'
16
+ : format === 'dollar'
17
+ ? '$'
18
+ : ''}${s}${f ? `${fraction}${f}` : ''}`;
19
+ }
20
+ else if (format.startsWith('round-')) {
21
+ const [, fixed] = format.split('round-');
22
+ const n = Number(fixed);
23
+ if (!n) {
24
+ return `${nr.toFixed()}`;
25
+ }
26
+ return `${nr.toFixed(n)}`;
27
+ }
28
+ else if (format === 'bytes') {
29
+ const kb = nr / 1024;
30
+ const mb = kb / 1024;
31
+ const gb = mb / 1024;
32
+ if (gb >= 1) {
33
+ return `${gb.toFixed(2)} gb`;
34
+ }
35
+ else if (mb >= 1) {
36
+ return `${mb.toFixed(2)} mb`;
37
+ }
38
+ else if (kb >= 1) {
39
+ return `${kb.toFixed(2)} kb`;
40
+ }
41
+ else {
42
+ return `${nr} ${nr === 1 ? 'byte' : 'bytes'}`;
43
+ }
44
+ }
45
+ else if (format === 'ratio') {
46
+ return `${Math.round(nr * 10000) / 100}%`;
47
+ }
48
+ else if (format === 'short') {
49
+ if (nr >= 1e6) {
50
+ nr = nr / 1e6;
51
+ nr = nr.toFixed(1);
52
+ if (nr[nr.length - 1] === '0') {
53
+ nr = nr.slice(0, -2);
54
+ }
55
+ return nr + 'm';
56
+ }
57
+ else if (nr >= 1e3) {
58
+ nr = nr / 1e3;
59
+ nr = nr.toFixed(1);
60
+ if (nr[nr.length - 1] === '0') {
61
+ nr = nr.slice(0, -2);
62
+ }
63
+ return nr + 'k';
64
+ }
65
+ nr = nr.toFixed(2);
66
+ if (nr[nr.length - 1] === '0') {
67
+ nr = nr.slice(0, -3);
68
+ }
69
+ return String(nr);
70
+ }
71
+ else if (format === 'human') {
72
+ return nr.toFixed(2);
73
+ }
74
+ return String(nr);
75
+ }
76
+ else {
77
+ return nr;
78
+ }
79
+ };
80
+ exports.default = parseNumber;
81
+ //# sourceMappingURL=number%20copy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"number copy.js","sourceRoot":"","sources":["../../src/display/number copy.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export type NumberFormat = 'short' | 'human' | 'ratio' | 'bytes' | 'euro' | 'dollar' | 'pound' | `round-${number}`;
2
+ declare const parseNumber: (nr: number | string, format?: NumberFormat) => string | number;
3
+ export default parseNumber;
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const parseNumber = (nr, format) => {
4
+ if (!format) {
5
+ return nr;
6
+ }
7
+ if (typeof nr === 'number') {
8
+ if (format === 'euro' || format === 'dollar' || format === 'pound') {
9
+ const p = String(parseNumber(nr, 'short'));
10
+ const fraction = format === 'euro' ? ',' : '.';
11
+ const [s, f] = p.split('.');
12
+ return `${format === 'euro'
13
+ ? '€'
14
+ : format === 'pound'
15
+ ? '£'
16
+ : format === 'dollar'
17
+ ? '$'
18
+ : ''}${s}${f ? `${fraction}${f}` : ''}`;
19
+ }
20
+ else if (format.startsWith('round-')) {
21
+ const [, fixed] = format.split('round-');
22
+ const n = Number(fixed);
23
+ if (!n) {
24
+ return `${nr.toFixed()}`;
25
+ }
26
+ return `${nr.toFixed(n)}`;
27
+ }
28
+ else if (format === 'bytes') {
29
+ const kb = nr / 1024;
30
+ const mb = kb / 1024;
31
+ const gb = mb / 1024;
32
+ if (gb >= 1) {
33
+ return `${gb.toFixed(2)} gb`;
34
+ }
35
+ else if (mb >= 1) {
36
+ return `${mb.toFixed(2)} mb`;
37
+ }
38
+ else if (kb >= 1) {
39
+ return `${kb.toFixed(2)} kb`;
40
+ }
41
+ else {
42
+ return `${nr} ${nr === 1 ? 'byte' : 'bytes'}`;
43
+ }
44
+ }
45
+ else if (format === 'ratio') {
46
+ return `${Math.round(nr * 10000) / 100}%`;
47
+ }
48
+ else if (format === 'short') {
49
+ if (nr >= 10e9) {
50
+ nr = nr / 1e9;
51
+ nr = nr.toFixed(1);
52
+ if (nr[nr.length - 1] === '0') {
53
+ nr = nr.slice(0, -2);
54
+ }
55
+ return nr + 'b';
56
+ }
57
+ else if (nr >= 10e6) {
58
+ nr = nr / 1e6;
59
+ nr = nr.toFixed(1);
60
+ if (nr[nr.length - 1] === '0') {
61
+ nr = nr.slice(0, -2);
62
+ }
63
+ return nr + 'm';
64
+ }
65
+ else if (nr >= 10e3) {
66
+ nr = nr / 1e3;
67
+ nr = nr.toFixed(1);
68
+ if (nr[nr.length - 1] === '0') {
69
+ nr = nr.slice(0, -2);
70
+ }
71
+ return nr + 'k';
72
+ }
73
+ nr = nr.toFixed(2);
74
+ if (nr[nr.length - 1] === '0') {
75
+ nr = nr.slice(0, -3);
76
+ }
77
+ return String(nr);
78
+ }
79
+ else if (format === 'human') {
80
+ return nr.toFixed(2);
81
+ }
82
+ return String(nr);
83
+ }
84
+ else {
85
+ return nr;
86
+ }
87
+ };
88
+ exports.default = parseNumber;
89
+ //# sourceMappingURL=number.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"number.js","sourceRoot":"","sources":["../../src/display/number.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export type StringFormat = 'lowercase' | 'uppercase' | 'capitalize';
2
+ declare const parseString: (value?: string, format?: StringFormat) => string;
3
+ export default parseString;
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const parseString = (value, format) => {
4
+ if (!format) {
5
+ return value;
6
+ }
7
+ if (!value) {
8
+ return value;
9
+ }
10
+ if (format === 'lowercase') {
11
+ return value.toLowerCase();
12
+ }
13
+ if (format === 'uppercase') {
14
+ return value.toUpperCase();
15
+ }
16
+ if (format === 'capitalize') {
17
+ const a = value[0];
18
+ return a.toUpperCase() + (value ? value.slice(1) : '');
19
+ }
20
+ return value;
21
+ };
22
+ exports.default = parseString;
23
+ //# sourceMappingURL=string.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"string.js","sourceRoot":"","sources":["../../src/display/string.ts"],"names":[],"mappings":";;AAEA,MAAM,WAAW,GAAG,CAAC,KAAc,EAAE,MAAqB,EAAU,EAAE;IACpE,IAAI,CAAC,MAAM,EAAE;QACX,OAAO,KAAK,CAAA;KACb;IAED,IAAI,CAAC,KAAK,EAAE;QACV,OAAO,KAAK,CAAA;KACb;IAED,IAAI,MAAM,KAAK,WAAW,EAAE;QAC1B,OAAO,KAAK,CAAC,WAAW,EAAE,CAAA;KAC3B;IAED,IAAI,MAAM,KAAK,WAAW,EAAE;QAC1B,OAAO,KAAK,CAAC,WAAW,EAAE,CAAA;KAC3B;IAED,IAAI,MAAM,KAAK,YAAY,EAAE;QAC3B,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;QAClB,OAAO,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;KACvD;IAED,OAAO,KAAK,CAAA;AACd,CAAC,CAAA;AAED,kBAAe,WAAW,CAAA"}
@@ -0,0 +1,3 @@
1
+ export type DateFormat = 'date' | 'date-time' | 'date-time-text' | 'human' | 'time' | 'time-precise';
2
+ declare const _default: (nr: number | string, format?: DateFormat) => string | number;
3
+ export default _default;