typof 1.0.2 → 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 -23
- package/dist/main.d.mts +1 -2
- package/dist/main.d.ts +1 -2
- package/dist/main.js +1 -4
- package/dist/main.mjs +1 -3
- package/package.json +9 -3
package/README.md
CHANGED
|
@@ -40,13 +40,13 @@
|
|
|
40
40
|
|
|
41
41
|
## About
|
|
42
42
|
|
|
43
|
-
|
|
43
|
+
Infer types.
|
|
44
44
|
|
|
45
45
|
## Features
|
|
46
46
|
|
|
47
|
-
-
|
|
48
|
-
-
|
|
49
|
-
-
|
|
47
|
+
- Infers multiple types
|
|
48
|
+
- Infers integer and float types
|
|
49
|
+
- Infers the type from a string
|
|
50
50
|
- There are simple type converters
|
|
51
51
|
|
|
52
52
|
## Installation
|
|
@@ -83,7 +83,6 @@ typof
|
|
|
83
83
|
├── string(value)
|
|
84
84
|
├── number(value)
|
|
85
85
|
├── integer(value)
|
|
86
|
-
├── float(value)
|
|
87
86
|
├── boolean(value)
|
|
88
87
|
├── object(value)
|
|
89
88
|
├── array(value)
|
|
@@ -104,7 +103,7 @@ import { typof } from 'typof';
|
|
|
104
103
|
|
|
105
104
|
`typof(value)`
|
|
106
105
|
|
|
107
|
-
|
|
106
|
+
Infers types.
|
|
108
107
|
|
|
109
108
|
> | Parameter | Default | Description |
|
|
110
109
|
> | --------- | ------- | ----------------------------------- |
|
|
@@ -115,36 +114,173 @@ Extract the valid types.
|
|
|
115
114
|
> Example:
|
|
116
115
|
>
|
|
117
116
|
> ```typescript
|
|
118
|
-
> typof('test'); // [
|
|
117
|
+
> typof('test'); // [ "string" ]
|
|
119
118
|
>
|
|
120
|
-
> typof('0'); // [
|
|
121
|
-
> typof(0); // [
|
|
119
|
+
> typof('0'); // [ "string", "number", "integer" ]
|
|
120
|
+
> typof(0); // [ "number", "integer" ]
|
|
122
121
|
>
|
|
123
|
-
> typof('0.5'); // [
|
|
124
|
-
> typof(0.5); // [
|
|
122
|
+
> typof('0.5'); // [ "string", "number", "float" ]
|
|
123
|
+
> typof(0.5); // [ "number", "float" ]
|
|
125
124
|
>
|
|
126
|
-
> typof('true'); // [
|
|
127
|
-
> typof(true); // [
|
|
125
|
+
> typof('true'); // [ "string", "boolean" ]
|
|
126
|
+
> typof(true); // [ "boolean" ]
|
|
128
127
|
>
|
|
129
|
-
> typof('{"key": "value"}'); // [
|
|
130
|
-
> typof({ key: 'value' }); // [
|
|
128
|
+
> typof('{"key": "value"}'); // [ "string", "object" ]
|
|
129
|
+
> typof({ key: 'value' }); // [ "object" ]
|
|
131
130
|
>
|
|
132
|
-
> typof('["test"]'); // [
|
|
133
|
-
> typof(['test']); // [
|
|
131
|
+
> typof('["test"]'); // [ "string", "array" ]
|
|
132
|
+
> typof(['test']); // [ "array" ]
|
|
134
133
|
>
|
|
135
|
-
> typof('2025-01-01'); // [
|
|
136
|
-
> typof(new Date('2025-01-01')); // [
|
|
134
|
+
> typof('2025-01-01'); // [ "string", "date" ]
|
|
135
|
+
> typof(new Date('2025-01-01')); // [ "object", "date" ]
|
|
137
136
|
>
|
|
138
|
-
> typof('null'); // [
|
|
139
|
-
> typof(null); // [
|
|
137
|
+
> typof('null'); // [ "string", "null" ]
|
|
138
|
+
> typof(null); // [ "null" ]
|
|
140
139
|
>
|
|
141
|
-
> typof('undefined'); // [
|
|
142
|
-
> typof(undefined); // [
|
|
140
|
+
> typof('undefined'); // [ "string", "undefined" ]
|
|
141
|
+
> typof(undefined); // [ "undefined" ]
|
|
143
142
|
>
|
|
144
143
|
> // Tests are as follows. (Is this an integer?)
|
|
145
144
|
> if (typof(0).includes('integer')) console.log('This is an integer!');
|
|
146
145
|
> ```
|
|
147
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
|
+
|
|
148
284
|
### Types
|
|
149
285
|
|
|
150
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,
|
|
@@ -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
|
@@ -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
|
}
|