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 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
- Extract the valid types.
43
+ Infer types.
46
44
 
47
45
  ## Features
48
46
 
49
- - Extract multiple types
50
- - Extracts integer and float types
51
- - It infers the type from a string
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
- Extract the valid types.
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'); // [ 'string' ]
117
+ > typof('test'); // [ "string" ]
121
118
  >
122
- > typof('0'); // [ 'string', 'number', 'integer' ]
123
- > typof(0); // [ 'number', 'integer' ]
119
+ > typof('0'); // [ "string", "number", "integer" ]
120
+ > typof(0); // [ "number", "integer" ]
124
121
  >
125
- > typof('0.5'); // [ 'string', 'number', 'float' ]
126
- > typof(0.5); // [ 'number', 'float' ]
122
+ > typof('0.5'); // [ "string", "number", "float" ]
123
+ > typof(0.5); // [ "number", "float" ]
127
124
  >
128
- > typof('true'); // [ 'string', 'boolean' ]
129
- > typof(true); // [ 'boolean' ]
125
+ > typof('true'); // [ "string", "boolean" ]
126
+ > typof(true); // [ "boolean" ]
130
127
  >
131
- > typof('{"key": "value"}'); // [ 'string', 'object' ]
132
- > typof({ key: 'value' }); // [ 'object' ]
128
+ > typof('{"key": "value"}'); // [ "string", "object" ]
129
+ > typof({ key: 'value' }); // [ "object" ]
133
130
  >
134
- > typof('["test"]'); // [ 'string', 'array' ]
135
- > typof(['test']); // [ 'array' ]
131
+ > typof('["test"]'); // [ "string", "array" ]
132
+ > typof(['test']); // [ "array" ]
136
133
  >
137
- > typof('2025-01-01'); // [ 'string', 'date' ]
138
- > typof(new Date('2025-01-01')); // [ 'object', 'date' ]
134
+ > typof('2025-01-01'); // [ "string", "date" ]
135
+ > typof(new Date('2025-01-01')); // [ "object", "date" ]
139
136
  >
140
- > typof('null'); // [ 'string, 'null' ]
141
- > typof(null); // [ 'null' ]
137
+ > typof('null'); // [ "string", "null" ]
138
+ > typof(null); // [ "null" ]
142
139
  >
143
- > typof('undefined'); // [ 'string, 'undefined' ]
144
- > typof(undefined); // [ '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, float, integer, number, object, string, typof };
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, float, integer, number, object, string, typof };
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") ? Number.parseInt(string(value)) : NaN;
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") ? Number.parseInt(string(value)) : NaN;
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.1",
4
- "description": "Extract the valid types.",
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
  }