@rickosborne/guard 2025.2.16 → 2025.2.26
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/README.md +32 -0
- package/is-int.cjs +13 -0
- package/is-int.cjs.map +1 -1
- package/is-int.d.ts +4 -0
- package/is-int.d.ts.map +1 -1
- package/is-int.mjs +13 -0
- package/is-int.mjs.map +1 -1
- package/package.json +7 -7
package/README.md
CHANGED
|
@@ -330,6 +330,22 @@ isDefined: <T>(obj: T) => obj is NonNullable<T>
|
|
|
330
330
|
Guard to filter out null or undefined values.
|
|
331
331
|
|
|
332
332
|
|
|
333
|
+
#### isDigit
|
|
334
|
+
|
|
335
|
+
<a id="api-isdigit"></a>
|
|
336
|
+
|
|
337
|
+
```typescript
|
|
338
|
+
isDigit: (value: unknown) => value is Digit
|
|
339
|
+
```
|
|
340
|
+
|
|
341
|
+
#### isHexDigit
|
|
342
|
+
|
|
343
|
+
<a id="api-ishexdigit"></a>
|
|
344
|
+
|
|
345
|
+
```typescript
|
|
346
|
+
isHexDigit: (value: unknown) => value is HexDigit
|
|
347
|
+
```
|
|
348
|
+
|
|
333
349
|
#### isInt
|
|
334
350
|
|
|
335
351
|
<a id="api-isint"></a>
|
|
@@ -560,6 +576,22 @@ A problem encountered while attempting to validate a value against a type guard/
|
|
|
560
576
|
|
|
561
577
|
### TypeAliases
|
|
562
578
|
|
|
579
|
+
#### Digit
|
|
580
|
+
|
|
581
|
+
<a id="api-digit"></a>
|
|
582
|
+
|
|
583
|
+
```typescript
|
|
584
|
+
type Digit = "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9";
|
|
585
|
+
```
|
|
586
|
+
|
|
587
|
+
#### HexDigit
|
|
588
|
+
|
|
589
|
+
<a id="api-hexdigit"></a>
|
|
590
|
+
|
|
591
|
+
```typescript
|
|
592
|
+
type HexDigit = Digit | "A" | "B" | "C" | "D" | "E" | "F" | "a" | "b" | "c" | "d" | "e" | "f";
|
|
593
|
+
```
|
|
594
|
+
|
|
563
595
|
#### MessageOrError
|
|
564
596
|
|
|
565
597
|
<a id="api-messageorerror"></a>
|
package/is-int.cjs
CHANGED
|
@@ -21,6 +21,8 @@ var is_int_exports = {};
|
|
|
21
21
|
__export(is_int_exports, {
|
|
22
22
|
assertInt: () => assertInt,
|
|
23
23
|
expectInt: () => expectInt,
|
|
24
|
+
isDigit: () => isDigit,
|
|
25
|
+
isHexDigit: () => isHexDigit,
|
|
24
26
|
isInt: () => isInt,
|
|
25
27
|
maybeInt: () => maybeInt
|
|
26
28
|
});
|
|
@@ -50,4 +52,15 @@ const maybeInt = /* @__PURE__ */ __name((text) => {
|
|
|
50
52
|
}
|
|
51
53
|
return void 0;
|
|
52
54
|
}, "maybeInt");
|
|
55
|
+
const isDigit = /* @__PURE__ */ __name((value) => typeof value === "string" && value.length === 1 && "0".localeCompare(value) <= 0 && "9".localeCompare(value) >= 0, "isDigit");
|
|
56
|
+
const isHexDigit = /* @__PURE__ */ __name((value) => {
|
|
57
|
+
if (typeof value !== "string" || value.length !== 1) {
|
|
58
|
+
return false;
|
|
59
|
+
}
|
|
60
|
+
if (isDigit(value)) {
|
|
61
|
+
return true;
|
|
62
|
+
}
|
|
63
|
+
const lower = value.toLocaleLowerCase();
|
|
64
|
+
return "a".localeCompare(lower) <= 0 && "f".localeCompare(lower) >= 0;
|
|
65
|
+
}, "isHexDigit");
|
|
53
66
|
//# sourceMappingURL=is-int.cjs.map
|
package/is-int.cjs.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/packages/guard/is-int.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,gCAAwC;AAMjC,MAAM,QAAQ,wBAAC,QAAgC,OAAO,QAAQ,YAAY,CAAC,MAAM,GAAG,KAAK,KAAK,MAAM,GAAG,MAAM,OAAO,QAAQ,YAAY,QAAQ,WAAlI;AAKd,SAAS,UAAU,OAAgB,gBAAyD;AAClG,MAAI,CAAC,MAAM,KAAK,GAAG;AAClB,cAAM,mDAAwB,gBAAgB,SAAS;AAAA,EACxD;AACD;AAJgB;AAST,MAAM,YAAY,wBACxB,KACA,mBACY;AACZ,YAAU,KAAK,cAAc;AAC7B,SAAO;AACR,GANyB;AAalB,MAAM,WAAW,wBACvB,SACwB;AACxB,MAAI,OAAO;AACX,MAAI,QAAQ,KAAK,KAAK;AAEtB,MAAI,KAAK,WAAW,GAAG,GAAG;AACzB,WAAO;AACP,YAAQ,MAAM,UAAU,CAAC;AAAA,EAC1B;AACA,UAAQ,MACN,QAAQ,uBAAuB,EAAE,EACjC,QAAQ,gBAAgB,GAAG,EAC3B,QAAQ,0BAA0B,CAAC,MAAM,WAAmB,OAAO,QAAQ,YAAY,EAAE,CAAC,EAC1F,QAAQ,0BAA0B,CAAC,MAAM,WAAmB,OAAO,QAAQ,YAAY,EAAE,CAAC,EAC1F,QAAQ,2BAA2B,CAAC,MAAM,WAAmB,OAAO,QAAQ,YAAY,EAAE,CAAC,EAC3F,QAAQ,sBAAsB,CAAC,MAAM,WAAmB,OAAO,QAAQ,YAAY,EAAE,CAAC;AAExF,MAAI,sBAAsB,KAAK,KAAK,GAAG;AACtC,WAAO,SAAS,OAAO,EAAE,IAAI;AAAA,EAC9B;AACA,SAAO;AACR,GAtBwB;",
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,gCAAwC;AAMjC,MAAM,QAAQ,wBAAC,QAAgC,OAAO,QAAQ,YAAY,CAAC,MAAM,GAAG,KAAK,KAAK,MAAM,GAAG,MAAM,OAAO,QAAQ,YAAY,QAAQ,WAAlI;AAKd,SAAS,UAAU,OAAgB,gBAAyD;AAClG,MAAI,CAAC,MAAM,KAAK,GAAG;AAClB,cAAM,mDAAwB,gBAAgB,SAAS;AAAA,EACxD;AACD;AAJgB;AAST,MAAM,YAAY,wBACxB,KACA,mBACY;AACZ,YAAU,KAAK,cAAc;AAC7B,SAAO;AACR,GANyB;AAalB,MAAM,WAAW,wBACvB,SACwB;AACxB,MAAI,OAAO;AACX,MAAI,QAAQ,KAAK,KAAK;AAEtB,MAAI,KAAK,WAAW,GAAG,GAAG;AACzB,WAAO;AACP,YAAQ,MAAM,UAAU,CAAC;AAAA,EAC1B;AACA,UAAQ,MACN,QAAQ,uBAAuB,EAAE,EACjC,QAAQ,gBAAgB,GAAG,EAC3B,QAAQ,0BAA0B,CAAC,MAAM,WAAmB,OAAO,QAAQ,YAAY,EAAE,CAAC,EAC1F,QAAQ,0BAA0B,CAAC,MAAM,WAAmB,OAAO,QAAQ,YAAY,EAAE,CAAC,EAC1F,QAAQ,2BAA2B,CAAC,MAAM,WAAmB,OAAO,QAAQ,YAAY,EAAE,CAAC,EAC3F,QAAQ,sBAAsB,CAAC,MAAM,WAAmB,OAAO,QAAQ,YAAY,EAAE,CAAC;AAExF,MAAI,sBAAsB,KAAK,KAAK,GAAG;AACtC,WAAO,SAAS,OAAO,EAAE,IAAI;AAAA,EAC9B;AACA,SAAO;AACR,GAtBwB;AA0BjB,MAAM,UAAU,wBAAC,UAAmC,OAAO,UAAU,YAAY,MAAM,WAAW,KAAK,IAAI,cAAc,KAAK,KAAK,KAAK,IAAI,cAAc,KAAK,KAAK,GAApJ;AAIhB,MAAM,aAAa,wBAAC,UAAsC;AAChE,MAAI,OAAO,UAAU,YAAY,MAAM,WAAW,GAAG;AACpD,WAAO;AAAA,EACR;AACA,MAAI,QAAQ,KAAK,GAAG;AACnB,WAAO;AAAA,EACR;AACA,QAAM,QAAQ,MAAM,kBAAkB;AACtC,SAAO,IAAI,cAAc,KAAK,KAAK,KAAK,IAAI,cAAc,KAAK,KAAK;AACrE,GAT0B;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
package/is-int.d.ts
CHANGED
|
@@ -18,4 +18,8 @@ export declare const expectInt: (obj: unknown, messageOrError: MessageOrError) =
|
|
|
18
18
|
* for details on how this is probably very wrong in many countries.
|
|
19
19
|
*/
|
|
20
20
|
export declare const maybeInt: (text: string) => number | undefined;
|
|
21
|
+
export type Digit = "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9";
|
|
22
|
+
export declare const isDigit: (value: unknown) => value is Digit;
|
|
23
|
+
export type HexDigit = Digit | "A" | "B" | "C" | "D" | "E" | "F" | "a" | "b" | "c" | "d" | "e" | "f";
|
|
24
|
+
export declare const isHexDigit: (value: unknown) => value is HexDigit;
|
|
21
25
|
//# sourceMappingURL=is-int.d.ts.map
|
package/is-int.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"is-int.d.ts","sourceRoot":"","sources":["../../../src/packages/guard/is-int.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAG9D;;;GAGG;AACH,eAAO,MAAM,KAAK,QAAS,OAAO,KAAG,GAAG,IAAI,MAAoH,CAAC;AAEjK;;GAEG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,cAAc,GAAG,OAAO,CAAC,KAAK,IAAI,MAAM,CAIjG;AAED;;GAEG;AACH,eAAO,MAAM,SAAS,QAChB,OAAO,kBACI,cAAc,KAC5B,MAGF,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,QAAQ,SACd,MAAM,KACV,MAAM,GAAG,SAoBX,CAAC"}
|
|
1
|
+
{"version":3,"file":"is-int.d.ts","sourceRoot":"","sources":["../../../src/packages/guard/is-int.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAG9D;;;GAGG;AACH,eAAO,MAAM,KAAK,QAAS,OAAO,KAAG,GAAG,IAAI,MAAoH,CAAC;AAEjK;;GAEG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,cAAc,GAAG,OAAO,CAAC,KAAK,IAAI,MAAM,CAIjG;AAED;;GAEG;AACH,eAAO,MAAM,SAAS,QAChB,OAAO,kBACI,cAAc,KAC5B,MAGF,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,QAAQ,SACd,MAAM,KACV,MAAM,GAAG,SAoBX,CAAC;AAEF,MAAM,MAAM,KAAK,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;AAE9E,eAAO,MAAM,OAAO,UAAW,OAAO,KAAG,KAAK,IAAI,KAA0H,CAAC;AAE7K,MAAM,MAAM,QAAQ,GAAG,KAAK,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;AAErG,eAAO,MAAM,UAAU,UAAW,OAAO,KAAG,KAAK,IAAI,QASpD,CAAC"}
|
package/is-int.mjs
CHANGED
|
@@ -25,9 +25,22 @@ const maybeInt = /* @__PURE__ */ __name((text) => {
|
|
|
25
25
|
}
|
|
26
26
|
return void 0;
|
|
27
27
|
}, "maybeInt");
|
|
28
|
+
const isDigit = /* @__PURE__ */ __name((value) => typeof value === "string" && value.length === 1 && "0".localeCompare(value) <= 0 && "9".localeCompare(value) >= 0, "isDigit");
|
|
29
|
+
const isHexDigit = /* @__PURE__ */ __name((value) => {
|
|
30
|
+
if (typeof value !== "string" || value.length !== 1) {
|
|
31
|
+
return false;
|
|
32
|
+
}
|
|
33
|
+
if (isDigit(value)) {
|
|
34
|
+
return true;
|
|
35
|
+
}
|
|
36
|
+
const lower = value.toLocaleLowerCase();
|
|
37
|
+
return "a".localeCompare(lower) <= 0 && "f".localeCompare(lower) >= 0;
|
|
38
|
+
}, "isHexDigit");
|
|
28
39
|
export {
|
|
29
40
|
assertInt,
|
|
30
41
|
expectInt,
|
|
42
|
+
isDigit,
|
|
43
|
+
isHexDigit,
|
|
31
44
|
isInt,
|
|
32
45
|
maybeInt
|
|
33
46
|
};
|
package/is-int.mjs.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/packages/guard/is-int.ts"],
|
|
4
|
-
"mappings": ";;AACA,SAAS,+BAA+B;AAMjC,MAAM,QAAQ,wBAAC,QAAgC,OAAO,QAAQ,YAAY,CAAC,MAAM,GAAG,KAAK,KAAK,MAAM,GAAG,MAAM,OAAO,QAAQ,YAAY,QAAQ,WAAlI;AAKd,SAAS,UAAU,OAAgB,gBAAyD;AAClG,MAAI,CAAC,MAAM,KAAK,GAAG;AAClB,UAAM,wBAAwB,gBAAgB,SAAS;AAAA,EACxD;AACD;AAJgB;AAST,MAAM,YAAY,wBACxB,KACA,mBACY;AACZ,YAAU,KAAK,cAAc;AAC7B,SAAO;AACR,GANyB;AAalB,MAAM,WAAW,wBACvB,SACwB;AACxB,MAAI,OAAO;AACX,MAAI,QAAQ,KAAK,KAAK;AAEtB,MAAI,KAAK,WAAW,GAAG,GAAG;AACzB,WAAO;AACP,YAAQ,MAAM,UAAU,CAAC;AAAA,EAC1B;AACA,UAAQ,MACN,QAAQ,uBAAuB,EAAE,EACjC,QAAQ,gBAAgB,GAAG,EAC3B,QAAQ,0BAA0B,CAAC,MAAM,WAAmB,OAAO,QAAQ,YAAY,EAAE,CAAC,EAC1F,QAAQ,0BAA0B,CAAC,MAAM,WAAmB,OAAO,QAAQ,YAAY,EAAE,CAAC,EAC1F,QAAQ,2BAA2B,CAAC,MAAM,WAAmB,OAAO,QAAQ,YAAY,EAAE,CAAC,EAC3F,QAAQ,sBAAsB,CAAC,MAAM,WAAmB,OAAO,QAAQ,YAAY,EAAE,CAAC;AAExF,MAAI,sBAAsB,KAAK,KAAK,GAAG;AACtC,WAAO,SAAS,OAAO,EAAE,IAAI;AAAA,EAC9B;AACA,SAAO;AACR,GAtBwB;",
|
|
4
|
+
"mappings": ";;AACA,SAAS,+BAA+B;AAMjC,MAAM,QAAQ,wBAAC,QAAgC,OAAO,QAAQ,YAAY,CAAC,MAAM,GAAG,KAAK,KAAK,MAAM,GAAG,MAAM,OAAO,QAAQ,YAAY,QAAQ,WAAlI;AAKd,SAAS,UAAU,OAAgB,gBAAyD;AAClG,MAAI,CAAC,MAAM,KAAK,GAAG;AAClB,UAAM,wBAAwB,gBAAgB,SAAS;AAAA,EACxD;AACD;AAJgB;AAST,MAAM,YAAY,wBACxB,KACA,mBACY;AACZ,YAAU,KAAK,cAAc;AAC7B,SAAO;AACR,GANyB;AAalB,MAAM,WAAW,wBACvB,SACwB;AACxB,MAAI,OAAO;AACX,MAAI,QAAQ,KAAK,KAAK;AAEtB,MAAI,KAAK,WAAW,GAAG,GAAG;AACzB,WAAO;AACP,YAAQ,MAAM,UAAU,CAAC;AAAA,EAC1B;AACA,UAAQ,MACN,QAAQ,uBAAuB,EAAE,EACjC,QAAQ,gBAAgB,GAAG,EAC3B,QAAQ,0BAA0B,CAAC,MAAM,WAAmB,OAAO,QAAQ,YAAY,EAAE,CAAC,EAC1F,QAAQ,0BAA0B,CAAC,MAAM,WAAmB,OAAO,QAAQ,YAAY,EAAE,CAAC,EAC1F,QAAQ,2BAA2B,CAAC,MAAM,WAAmB,OAAO,QAAQ,YAAY,EAAE,CAAC,EAC3F,QAAQ,sBAAsB,CAAC,MAAM,WAAmB,OAAO,QAAQ,YAAY,EAAE,CAAC;AAExF,MAAI,sBAAsB,KAAK,KAAK,GAAG;AACtC,WAAO,SAAS,OAAO,EAAE,IAAI;AAAA,EAC9B;AACA,SAAO;AACR,GAtBwB;AA0BjB,MAAM,UAAU,wBAAC,UAAmC,OAAO,UAAU,YAAY,MAAM,WAAW,KAAK,IAAI,cAAc,KAAK,KAAK,KAAK,IAAI,cAAc,KAAK,KAAK,GAApJ;AAIhB,MAAM,aAAa,wBAAC,UAAsC;AAChE,MAAI,OAAO,UAAU,YAAY,MAAM,WAAW,GAAG;AACpD,WAAO;AAAA,EACR;AACA,MAAI,QAAQ,KAAK,GAAG;AACnB,WAAO;AAAA,EACR;AACA,QAAM,QAAQ,MAAM,kBAAkB;AACtC,SAAO,IAAI,cAAc,KAAK,KAAK,KAAK,IAAI,cAAc,KAAK,KAAK;AACrE,GAT0B;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
package/package.json
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"url": "https://rickosborne.org"
|
|
5
5
|
},
|
|
6
6
|
"dependencies": {
|
|
7
|
-
"@rickosborne/typical": "2025.2.
|
|
7
|
+
"@rickosborne/typical": "2025.2.26"
|
|
8
8
|
},
|
|
9
9
|
"description": "Rick Osborne's collection of type guards.",
|
|
10
10
|
"engines": {
|
|
@@ -134,12 +134,12 @@
|
|
|
134
134
|
},
|
|
135
135
|
"git": {
|
|
136
136
|
"authorName": "Rick Osborne",
|
|
137
|
-
"commitDateISO": "2025-02-
|
|
138
|
-
"commitHash": "
|
|
139
|
-
"commitLink": "https://github.com/rickosborne/es-js-ts/commits/
|
|
140
|
-
"parentHash": "
|
|
137
|
+
"commitDateISO": "2025-02-26T16:44:58.000Z",
|
|
138
|
+
"commitHash": "d98c37cf1a65966fc3205af01aff807c5f2a36f4",
|
|
139
|
+
"commitLink": "https://github.com/rickosborne/es-js-ts/commits/d98c37cf1a65966fc3205af01aff807c5f2a36f4",
|
|
140
|
+
"parentHash": "0b10f561d72550dc94e78372e2e42110279a54f0",
|
|
141
141
|
"signingKeyId": "8e61c433fe39d4a4679ce1d5b873fb3c48464f3c",
|
|
142
|
-
"tag": "v2025.2.
|
|
142
|
+
"tag": "v2025.2.26"
|
|
143
143
|
},
|
|
144
144
|
"homepage": "https://github.com/rickosborne/es-js-ts",
|
|
145
145
|
"keywords": [
|
|
@@ -163,5 +163,5 @@
|
|
|
163
163
|
},
|
|
164
164
|
"types": "./index.d.ts",
|
|
165
165
|
"typings": "./index.d.ts",
|
|
166
|
-
"version": "2025.2.
|
|
166
|
+
"version": "2025.2.26"
|
|
167
167
|
}
|