decoders 2.0.4 → 2.1.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/CHANGELOG.md +10 -0
- package/README.md +4 -2
- package/lib/numbers.d.ts +2 -2
- package/lib/numbers.js +10 -6
- package/lib/numbers.js.flow +8 -10
- package/lib/numbers.mjs +10 -6
- package/lib/strings.d.ts +0 -2
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,13 @@
|
|
|
1
|
+
## v2.1.0
|
|
2
|
+
|
|
3
|
+
- Officially drop Node 12 and 14 support (they may still work)
|
|
4
|
+
- Fix unintentional inclusion of `lib.dom.d.ts` in TypeScript
|
|
5
|
+
|
|
6
|
+
## v2.0.5
|
|
7
|
+
|
|
8
|
+
- The returned value for `positiveInteger(-0)` is now `0`, not `-0`
|
|
9
|
+
- The returned value for `positiveNumber(-0)` is now `0`, not `-0`
|
|
10
|
+
|
|
1
11
|
## v2.0.4
|
|
2
12
|
|
|
3
13
|
- Fix a bug in the `url` decoder, which could incorrectly reject URLs with a `/` in the
|
package/README.md
CHANGED
|
@@ -134,5 +134,7 @@ const user = userDecoder.verify(externalData);
|
|
|
134
134
|
<div id="uuidv4"></div>
|
|
135
135
|
|
|
136
136
|
Documentation can be found on [https://decoders.cc](https://decoders.cc).
|
|
137
|
-
|
|
138
|
-
|
|
137
|
+
|
|
138
|
+
## Building your own decoders
|
|
139
|
+
|
|
140
|
+
There is a dedicated page in the docs that explains how to [build your own decoders](https://decoders.cc/building-your-own.html) — it’s fun!
|
package/lib/numbers.d.ts
CHANGED
|
@@ -21,11 +21,11 @@ export const number: Decoder<number>;
|
|
|
21
21
|
export const integer: Decoder<number>;
|
|
22
22
|
|
|
23
23
|
/**
|
|
24
|
-
* Accepts only positive finite numbers.
|
|
24
|
+
* Accepts only non-negative (zero or positive) finite numbers.
|
|
25
25
|
*/
|
|
26
26
|
export const positiveNumber: Decoder<number>;
|
|
27
27
|
|
|
28
28
|
/**
|
|
29
|
-
* Accepts only positive finite whole numbers.
|
|
29
|
+
* Accepts only non-negative (zero or positive) finite whole numbers.
|
|
30
30
|
*/
|
|
31
31
|
export const positiveInteger: Decoder<number>;
|
package/lib/numbers.js
CHANGED
|
@@ -19,12 +19,16 @@ var integer = number.refine(function (n) {
|
|
|
19
19
|
}, 'Number must be an integer')
|
|
20
20
|
|
|
21
21
|
exports.integer = integer
|
|
22
|
-
var positiveNumber = number
|
|
23
|
-
|
|
24
|
-
|
|
22
|
+
var positiveNumber = number
|
|
23
|
+
.refine(function (n) {
|
|
24
|
+
return n >= 0
|
|
25
|
+
}, 'Number must be positive')
|
|
26
|
+
.transform(Math.abs)
|
|
25
27
|
|
|
26
28
|
exports.positiveNumber = positiveNumber
|
|
27
|
-
var positiveInteger = integer
|
|
28
|
-
|
|
29
|
-
|
|
29
|
+
var positiveInteger = integer
|
|
30
|
+
.refine(function (n) {
|
|
31
|
+
return n >= 0
|
|
32
|
+
}, 'Number must be positive')
|
|
33
|
+
.transform(Math.abs)
|
|
30
34
|
exports.positiveInteger = positiveInteger
|
package/lib/numbers.js.flow
CHANGED
|
@@ -32,17 +32,15 @@ export const integer: Decoder<number> = number.refine(
|
|
|
32
32
|
);
|
|
33
33
|
|
|
34
34
|
/**
|
|
35
|
-
* Accepts only positive finite numbers.
|
|
35
|
+
* Accepts only non-negative (zero or positive) finite numbers.
|
|
36
36
|
*/
|
|
37
|
-
export const positiveNumber: Decoder<number> = number
|
|
38
|
-
(n) => n >= 0,
|
|
39
|
-
|
|
40
|
-
);
|
|
37
|
+
export const positiveNumber: Decoder<number> = number
|
|
38
|
+
.refine((n) => n >= 0, 'Number must be positive')
|
|
39
|
+
.transform(Math.abs); // Just here to handle the -0 case
|
|
41
40
|
|
|
42
41
|
/**
|
|
43
|
-
* Accepts only positive finite whole numbers.
|
|
42
|
+
* Accepts only non-negative (zero or positive) finite whole numbers.
|
|
44
43
|
*/
|
|
45
|
-
export const positiveInteger: Decoder<number> = integer
|
|
46
|
-
(n) => n >= 0,
|
|
47
|
-
|
|
48
|
-
);
|
|
44
|
+
export const positiveInteger: Decoder<number> = integer
|
|
45
|
+
.refine((n) => n >= 0, 'Number must be positive')
|
|
46
|
+
.transform(Math.abs); // Just here to handle the -0 case
|
package/lib/numbers.mjs
CHANGED
|
@@ -12,10 +12,14 @@ export var integer = number.refine(function (n) {
|
|
|
12
12
|
return Number.isInteger(n)
|
|
13
13
|
}, 'Number must be an integer')
|
|
14
14
|
|
|
15
|
-
export var positiveNumber = number
|
|
16
|
-
|
|
17
|
-
|
|
15
|
+
export var positiveNumber = number
|
|
16
|
+
.refine(function (n) {
|
|
17
|
+
return n >= 0
|
|
18
|
+
}, 'Number must be positive')
|
|
19
|
+
.transform(Math.abs)
|
|
18
20
|
|
|
19
|
-
export var positiveInteger = integer
|
|
20
|
-
|
|
21
|
-
|
|
21
|
+
export var positiveInteger = integer
|
|
22
|
+
.refine(function (n) {
|
|
23
|
+
return n >= 0
|
|
24
|
+
}, 'Number must be positive')
|
|
25
|
+
.transform(Math.abs)
|
package/lib/strings.d.ts
CHANGED