typof 1.0.1 → 1.0.3
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 +159 -25
- package/dist/main.d.mts +1 -2
- package/dist/main.d.ts +1 -2
- package/dist/main.js +7 -10
- package/dist/main.mjs +7 -9
- package/package.json +9 -3
package/README.md
CHANGED
|
@@ -8,8 +8,6 @@
|
|
|
8
8
|
[Function]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function
|
|
9
9
|
[Promise]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise
|
|
10
10
|
[Void]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Undefined
|
|
11
|
-
[ReadOptionsDefault]: https://github.com/fabiospampinato/atomically/blob/master/src/constants.ts#L15
|
|
12
|
-
[WriteOptionsDefault]: https://github.com/fabiospampinato/atomically/blob/master/src/constants.ts#L17
|
|
13
11
|
[Types]: ./src/types/Types.type.ts
|
|
14
12
|
|
|
15
13
|
<div align="center">
|
|
@@ -42,13 +40,13 @@
|
|
|
42
40
|
|
|
43
41
|
## About
|
|
44
42
|
|
|
45
|
-
|
|
43
|
+
Infer types.
|
|
46
44
|
|
|
47
45
|
## Features
|
|
48
46
|
|
|
49
|
-
-
|
|
50
|
-
-
|
|
51
|
-
-
|
|
47
|
+
- Infers multiple types
|
|
48
|
+
- Infers integer and float types
|
|
49
|
+
- Infers the type from a string
|
|
52
50
|
- There are simple type converters
|
|
53
51
|
|
|
54
52
|
## Installation
|
|
@@ -85,7 +83,6 @@ typof
|
|
|
85
83
|
├── string(value)
|
|
86
84
|
├── number(value)
|
|
87
85
|
├── integer(value)
|
|
88
|
-
├── float(value)
|
|
89
86
|
├── boolean(value)
|
|
90
87
|
├── object(value)
|
|
91
88
|
├── array(value)
|
|
@@ -106,7 +103,7 @@ import { typof } from 'typof';
|
|
|
106
103
|
|
|
107
104
|
`typof(value)`
|
|
108
105
|
|
|
109
|
-
|
|
106
|
+
Infers types.
|
|
110
107
|
|
|
111
108
|
> | Parameter | Default | Description |
|
|
112
109
|
> | --------- | ------- | ----------------------------------- |
|
|
@@ -117,36 +114,173 @@ Extract the valid types.
|
|
|
117
114
|
> Example:
|
|
118
115
|
>
|
|
119
116
|
> ```typescript
|
|
120
|
-
> typof('test'); // [
|
|
117
|
+
> typof('test'); // [ "string" ]
|
|
121
118
|
>
|
|
122
|
-
> typof('0'); // [
|
|
123
|
-
> typof(0); // [
|
|
119
|
+
> typof('0'); // [ "string", "number", "integer" ]
|
|
120
|
+
> typof(0); // [ "number", "integer" ]
|
|
124
121
|
>
|
|
125
|
-
> typof('0.5'); // [
|
|
126
|
-
> typof(0.5); // [
|
|
122
|
+
> typof('0.5'); // [ "string", "number", "float" ]
|
|
123
|
+
> typof(0.5); // [ "number", "float" ]
|
|
127
124
|
>
|
|
128
|
-
> typof('true'); // [
|
|
129
|
-
> typof(true); // [
|
|
125
|
+
> typof('true'); // [ "string", "boolean" ]
|
|
126
|
+
> typof(true); // [ "boolean" ]
|
|
130
127
|
>
|
|
131
|
-
> typof('{"key": "value"}'); // [
|
|
132
|
-
> typof({ key: 'value' }); // [
|
|
128
|
+
> typof('{"key": "value"}'); // [ "string", "object" ]
|
|
129
|
+
> typof({ key: 'value' }); // [ "object" ]
|
|
133
130
|
>
|
|
134
|
-
> typof('["test"]'); // [
|
|
135
|
-
> typof(['test']); // [
|
|
131
|
+
> typof('["test"]'); // [ "string", "array" ]
|
|
132
|
+
> typof(['test']); // [ "array" ]
|
|
136
133
|
>
|
|
137
|
-
> typof('2025-01-01'); // [
|
|
138
|
-
> typof(new Date('2025-01-01')); // [
|
|
134
|
+
> typof('2025-01-01'); // [ "string", "date" ]
|
|
135
|
+
> typof(new Date('2025-01-01')); // [ "object", "date" ]
|
|
139
136
|
>
|
|
140
|
-
> typof('null'); // [
|
|
141
|
-
> typof(null); // [
|
|
137
|
+
> typof('null'); // [ "string", "null" ]
|
|
138
|
+
> typof(null); // [ "null" ]
|
|
142
139
|
>
|
|
143
|
-
> typof('undefined'); // [
|
|
144
|
-
> typof(undefined); // [
|
|
140
|
+
> typof('undefined'); // [ "string", "undefined" ]
|
|
141
|
+
> typof(undefined); // [ "undefined" ]
|
|
145
142
|
>
|
|
146
143
|
> // Tests are as follows. (Is this an integer?)
|
|
147
144
|
> if (typof(0).includes('integer')) console.log('This is an integer!');
|
|
148
145
|
> ```
|
|
149
146
|
|
|
147
|
+
<br/>
|
|
148
|
+
|
|
149
|
+
`string(value)`
|
|
150
|
+
|
|
151
|
+
Convert to string.
|
|
152
|
+
|
|
153
|
+
> | Parameter | Default | Description |
|
|
154
|
+
> | --------- | ------- | ----------------------------- |
|
|
155
|
+
> | value | | Unknown<br/>Value to convert. |
|
|
156
|
+
>
|
|
157
|
+
> returns [String]
|
|
158
|
+
>
|
|
159
|
+
> Example:
|
|
160
|
+
>
|
|
161
|
+
> ```typescript
|
|
162
|
+
> string(0.5); // "0.5"
|
|
163
|
+
> string(true); // "true"
|
|
164
|
+
> string({ key: 'value' }); // '{"key":"value"}'
|
|
165
|
+
> string(['test']); // '["test"]'
|
|
166
|
+
> string(new Date('2025-01-01')); // "2025-01-01T00:00:00.000Z"
|
|
167
|
+
> string(null); // "null"
|
|
168
|
+
> string(undefined); // "undefined"
|
|
169
|
+
> ```
|
|
170
|
+
|
|
171
|
+
<br/>
|
|
172
|
+
|
|
173
|
+
`number(value)`
|
|
174
|
+
|
|
175
|
+
Convert to number.
|
|
176
|
+
|
|
177
|
+
> | Parameter | Default | Description |
|
|
178
|
+
> | --------- | ------- | ----------------------------- |
|
|
179
|
+
> | value | | Unknown<br/>Value to convert. |
|
|
180
|
+
>
|
|
181
|
+
> returns [Number]
|
|
182
|
+
>
|
|
183
|
+
> Example:
|
|
184
|
+
>
|
|
185
|
+
> ```typescript
|
|
186
|
+
> number('0.5'); // 0.5
|
|
187
|
+
> ```
|
|
188
|
+
|
|
189
|
+
<br/>
|
|
190
|
+
|
|
191
|
+
`integer(value)`
|
|
192
|
+
|
|
193
|
+
Convert to integer.
|
|
194
|
+
|
|
195
|
+
> | Parameter | Default | Description |
|
|
196
|
+
> | --------- | ------- | ----------------------------- |
|
|
197
|
+
> | value | | Unknown<br/>Value to convert. |
|
|
198
|
+
>
|
|
199
|
+
> returns [Number]
|
|
200
|
+
>
|
|
201
|
+
> Example:
|
|
202
|
+
>
|
|
203
|
+
> ```typescript
|
|
204
|
+
> integer('0.5'); // 0
|
|
205
|
+
> integer(0.5); // 0
|
|
206
|
+
> ```
|
|
207
|
+
|
|
208
|
+
<br/>
|
|
209
|
+
|
|
210
|
+
`boolean(value)`
|
|
211
|
+
|
|
212
|
+
Convert to boolean.
|
|
213
|
+
|
|
214
|
+
> | Parameter | Default | Description |
|
|
215
|
+
> | --------- | ------- | ----------------------------- |
|
|
216
|
+
> | value | | Unknown<br/>Value to convert. |
|
|
217
|
+
>
|
|
218
|
+
> returns [Boolean] | Value
|
|
219
|
+
>
|
|
220
|
+
> Example:
|
|
221
|
+
>
|
|
222
|
+
> ```typescript
|
|
223
|
+
> boolean('true'); // true
|
|
224
|
+
> boolean(true); // true
|
|
225
|
+
> boolean('test'); // "test"
|
|
226
|
+
> ```
|
|
227
|
+
|
|
228
|
+
<br/>
|
|
229
|
+
|
|
230
|
+
`object(value)`
|
|
231
|
+
|
|
232
|
+
Convert to object.
|
|
233
|
+
|
|
234
|
+
> | Parameter | Default | Description |
|
|
235
|
+
> | --------- | ------- | ----------------------------- |
|
|
236
|
+
> | value | | Unknown<br/>Value to convert. |
|
|
237
|
+
>
|
|
238
|
+
> returns [Object] | Value
|
|
239
|
+
>
|
|
240
|
+
> Example:
|
|
241
|
+
>
|
|
242
|
+
> ```typescript
|
|
243
|
+
> object('{"key":"value"}'); // { key: "value" }
|
|
244
|
+
> object('["test"]'); // '["test"]'
|
|
245
|
+
> ```
|
|
246
|
+
|
|
247
|
+
<br/>
|
|
248
|
+
|
|
249
|
+
`array(value)`
|
|
250
|
+
|
|
251
|
+
Convert to array.
|
|
252
|
+
|
|
253
|
+
> | Parameter | Default | Description |
|
|
254
|
+
> | --------- | ------- | ----------------------------- |
|
|
255
|
+
> | value | | Unknown<br/>Value to convert. |
|
|
256
|
+
>
|
|
257
|
+
> returns [Array] | Value
|
|
258
|
+
>
|
|
259
|
+
> Example:
|
|
260
|
+
>
|
|
261
|
+
> ```typescript
|
|
262
|
+
> array('["test"]'); // [ "test" ]
|
|
263
|
+
> array('{"key":"value"}'); // '{"key":"value"}'
|
|
264
|
+
> ```
|
|
265
|
+
|
|
266
|
+
<br/>
|
|
267
|
+
|
|
268
|
+
`date(value)`
|
|
269
|
+
|
|
270
|
+
Convert to date.
|
|
271
|
+
|
|
272
|
+
> | Parameter | Default | Description |
|
|
273
|
+
> | --------- | ------- | ----------------------------- |
|
|
274
|
+
> | value | | Unknown<br/>Value to convert. |
|
|
275
|
+
>
|
|
276
|
+
> returns [Array] | Value
|
|
277
|
+
>
|
|
278
|
+
> Example:
|
|
279
|
+
>
|
|
280
|
+
> ```typescript
|
|
281
|
+
> date('2025-01-01'); // 2025-01-01T00:00:00.000Z
|
|
282
|
+
> ```
|
|
283
|
+
|
|
150
284
|
### Types
|
|
151
285
|
|
|
152
286
|
| Type |
|
package/dist/main.d.mts
CHANGED
|
@@ -4,10 +4,9 @@ declare const typof: (value: unknown) => Types[];
|
|
|
4
4
|
declare const string: (value: unknown) => string;
|
|
5
5
|
declare const number: (value: unknown) => number;
|
|
6
6
|
declare const integer: (value: unknown) => number;
|
|
7
|
-
declare const float: (value: unknown) => number;
|
|
8
7
|
declare const boolean: <Value>(value: Value) => boolean | Value;
|
|
9
8
|
declare const object: <Value>(value: Value) => object | Value;
|
|
10
9
|
declare const array: <Value>(value: Value) => unknown[] | Value;
|
|
11
10
|
declare const date: (value: unknown) => Date;
|
|
12
11
|
|
|
13
|
-
export { type Types, array, boolean, date,
|
|
12
|
+
export { type Types, array, boolean, date, integer, number, object, string, typof };
|
package/dist/main.d.ts
CHANGED
|
@@ -4,10 +4,9 @@ declare const typof: (value: unknown) => Types[];
|
|
|
4
4
|
declare const string: (value: unknown) => string;
|
|
5
5
|
declare const number: (value: unknown) => number;
|
|
6
6
|
declare const integer: (value: unknown) => number;
|
|
7
|
-
declare const float: (value: unknown) => number;
|
|
8
7
|
declare const boolean: <Value>(value: Value) => boolean | Value;
|
|
9
8
|
declare const object: <Value>(value: Value) => object | Value;
|
|
10
9
|
declare const array: <Value>(value: Value) => unknown[] | Value;
|
|
11
10
|
declare const date: (value: unknown) => Date;
|
|
12
11
|
|
|
13
|
-
export { type Types, array, boolean, date,
|
|
12
|
+
export { type Types, array, boolean, date, integer, number, object, string, typof };
|
package/dist/main.js
CHANGED
|
@@ -23,7 +23,6 @@ __export(main_exports, {
|
|
|
23
23
|
array: () => array,
|
|
24
24
|
boolean: () => boolean,
|
|
25
25
|
date: () => date,
|
|
26
|
-
float: () => float,
|
|
27
26
|
integer: () => integer,
|
|
28
27
|
number: () => number,
|
|
29
28
|
object: () => object,
|
|
@@ -32,6 +31,12 @@ __export(main_exports, {
|
|
|
32
31
|
});
|
|
33
32
|
module.exports = __toCommonJS(main_exports);
|
|
34
33
|
|
|
34
|
+
// src/utils/isISODate.util.ts
|
|
35
|
+
var isISODate = (value) => {
|
|
36
|
+
if (!/^\d{4}-\d{2}-\d{2}.*$/.test(value)) return false;
|
|
37
|
+
return !Number.isNaN(new Date(value).getTime());
|
|
38
|
+
};
|
|
39
|
+
|
|
35
40
|
// src/utils/isObject.util.ts
|
|
36
41
|
var isObject = (value) => {
|
|
37
42
|
if (typeof value === "object" && value !== null) return true;
|
|
@@ -46,12 +51,6 @@ var isObject = (value) => {
|
|
|
46
51
|
return false;
|
|
47
52
|
};
|
|
48
53
|
|
|
49
|
-
// src/utils/isISODate.util.ts
|
|
50
|
-
var isISODate = (value) => {
|
|
51
|
-
if (!/^\d{4}-\d{2}-\d{2}.*$/.test(value)) return false;
|
|
52
|
-
return !Number.isNaN(new Date(value).getTime());
|
|
53
|
-
};
|
|
54
|
-
|
|
55
54
|
// src/utils/Typof.util.ts
|
|
56
55
|
var typof = (value) => {
|
|
57
56
|
const types = [];
|
|
@@ -104,9 +103,8 @@ var number = (value) => {
|
|
|
104
103
|
return typof(value).includes("number") ? Number(value) : NaN;
|
|
105
104
|
};
|
|
106
105
|
var integer = (value) => {
|
|
107
|
-
return typof(value).includes("number") ?
|
|
106
|
+
return typof(value).includes("number") ? Math.trunc(Number(value)) : NaN;
|
|
108
107
|
};
|
|
109
|
-
var float = number;
|
|
110
108
|
var boolean = (value) => {
|
|
111
109
|
if (typof(value).includes("boolean") && typof(value).includes("string")) {
|
|
112
110
|
if (value === "true") {
|
|
@@ -134,7 +132,6 @@ var date = (value) => {
|
|
|
134
132
|
array,
|
|
135
133
|
boolean,
|
|
136
134
|
date,
|
|
137
|
-
float,
|
|
138
135
|
integer,
|
|
139
136
|
number,
|
|
140
137
|
object,
|
package/dist/main.mjs
CHANGED
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
// src/utils/isISODate.util.ts
|
|
2
|
+
var isISODate = (value) => {
|
|
3
|
+
if (!/^\d{4}-\d{2}-\d{2}.*$/.test(value)) return false;
|
|
4
|
+
return !Number.isNaN(new Date(value).getTime());
|
|
5
|
+
};
|
|
6
|
+
|
|
1
7
|
// src/utils/isObject.util.ts
|
|
2
8
|
var isObject = (value) => {
|
|
3
9
|
if (typeof value === "object" && value !== null) return true;
|
|
@@ -12,12 +18,6 @@ var isObject = (value) => {
|
|
|
12
18
|
return false;
|
|
13
19
|
};
|
|
14
20
|
|
|
15
|
-
// src/utils/isISODate.util.ts
|
|
16
|
-
var isISODate = (value) => {
|
|
17
|
-
if (!/^\d{4}-\d{2}-\d{2}.*$/.test(value)) return false;
|
|
18
|
-
return !Number.isNaN(new Date(value).getTime());
|
|
19
|
-
};
|
|
20
|
-
|
|
21
21
|
// src/utils/Typof.util.ts
|
|
22
22
|
var typof = (value) => {
|
|
23
23
|
const types = [];
|
|
@@ -70,9 +70,8 @@ var number = (value) => {
|
|
|
70
70
|
return typof(value).includes("number") ? Number(value) : NaN;
|
|
71
71
|
};
|
|
72
72
|
var integer = (value) => {
|
|
73
|
-
return typof(value).includes("number") ?
|
|
73
|
+
return typof(value).includes("number") ? Math.trunc(Number(value)) : NaN;
|
|
74
74
|
};
|
|
75
|
-
var float = number;
|
|
76
75
|
var boolean = (value) => {
|
|
77
76
|
if (typof(value).includes("boolean") && typof(value).includes("string")) {
|
|
78
77
|
if (value === "true") {
|
|
@@ -99,7 +98,6 @@ export {
|
|
|
99
98
|
array,
|
|
100
99
|
boolean,
|
|
101
100
|
date,
|
|
102
|
-
float,
|
|
103
101
|
integer,
|
|
104
102
|
number,
|
|
105
103
|
object,
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "typof",
|
|
3
|
-
"version": "1.0.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "1.0.3",
|
|
4
|
+
"description": "Infer types.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"homepage": "https://github.com/keift/typof",
|
|
7
7
|
"bugs": "https://github.com/keift/typof/issues",
|
|
@@ -29,7 +29,13 @@
|
|
|
29
29
|
"keywords": [
|
|
30
30
|
"type",
|
|
31
31
|
"typeof",
|
|
32
|
+
"string",
|
|
33
|
+
"number",
|
|
32
34
|
"integer",
|
|
33
|
-
"float"
|
|
35
|
+
"float",
|
|
36
|
+
"boolean",
|
|
37
|
+
"object",
|
|
38
|
+
"array",
|
|
39
|
+
"date"
|
|
34
40
|
]
|
|
35
41
|
}
|