typof 1.0.3 → 1.0.5

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
@@ -1,13 +1,16 @@
1
1
  [String]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String
2
2
  [Number]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number
3
3
  [Boolean]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean
4
- [Date]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date
5
4
  [Object]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object
6
- [Array]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array
5
+ [Date]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date
7
6
  [Buffer]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer
8
- [Function]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function
9
7
  [Promise]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise
10
8
  [Void]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Undefined
9
+ [Null]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/null
10
+ [Undefined]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Undefined
11
+
12
+ <!---->
13
+
11
14
  [Types]: ./src/types/Types.type.ts
12
15
 
13
16
  <div align="center">
@@ -54,19 +57,19 @@ Infer types.
54
57
  You can install it as follows.
55
58
 
56
59
  ```shell
57
- // NPM
60
+ # NPM
58
61
  npm add typof
59
62
 
60
- // PNPM
63
+ # PNPM
61
64
  pnpm add typof
62
65
 
63
- // Yarn
66
+ # Yarn
64
67
  yarn add typof
65
68
 
66
- // Bun
69
+ # Bun
67
70
  bun add typof
68
71
 
69
- // Deno
72
+ # Deno
70
73
  deno add typof
71
74
  ```
72
75
 
@@ -77,7 +80,7 @@ deno add typof
77
80
  Briefly as follows.
78
81
 
79
82
  ```typescript
80
- typof
83
+ Typof
81
84
 
82
85
  ├── typof(value)
83
86
  ├── string(value)
@@ -87,6 +90,8 @@ typof
87
90
  ├── object(value)
88
91
  ├── array(value)
89
92
  ├── date(value)
93
+ ├── _null(value)
94
+ ├── _undefined(value)
90
95
 
91
96
  └── type Types
92
97
  ```
@@ -105,9 +110,9 @@ import { typof } from 'typof';
105
110
 
106
111
  Infers types.
107
112
 
108
- > | Parameter | Default | Description |
109
- > | --------- | ------- | ----------------------------------- |
110
- > | value | | Unknown<br/>Value to extract types. |
113
+ > | Parameter | Type | Default | Description |
114
+ > | --------- | ------- | ------- | --------------------- |
115
+ > | value | Unknown | | Value to infer types. |
111
116
  >
112
117
  > returns [Types]\[]
113
118
  >
@@ -141,7 +146,10 @@ Infers types.
141
146
  > typof(undefined); // [ "undefined" ]
142
147
  >
143
148
  > // Tests are as follows. (Is this an integer?)
144
- > if (typof(0).includes('integer')) console.log('This is an integer!');
149
+ > if (typof(0).includes('integer')) console.log('This is an integer.');
150
+ >
151
+ > // Index zero always ensures reliable type checking. As the index increases, species depth also increases.
152
+ > if (typof('0')[0] === 'string') console.log('This is a string.');
145
153
  > ```
146
154
 
147
155
  <br/>
@@ -150,9 +158,9 @@ Infers types.
150
158
 
151
159
  Convert to string.
152
160
 
153
- > | Parameter | Default | Description |
154
- > | --------- | ------- | ----------------------------- |
155
- > | value | | Unknown<br/>Value to convert. |
161
+ > | Parameter | Type | Default | Description |
162
+ > | --------- | ------- | ------- | ----------------- |
163
+ > | value | Unknown | | Value to convert. |
156
164
  >
157
165
  > returns [String]
158
166
  >
@@ -174,9 +182,9 @@ Convert to string.
174
182
 
175
183
  Convert to number.
176
184
 
177
- > | Parameter | Default | Description |
178
- > | --------- | ------- | ----------------------------- |
179
- > | value | | Unknown<br/>Value to convert. |
185
+ > | Parameter | Type | Default | Description |
186
+ > | --------- | ------- | ------- | ----------------- |
187
+ > | value | Unknown | | Value to convert. |
180
188
  >
181
189
  > returns [Number]
182
190
  >
@@ -192,9 +200,9 @@ Convert to number.
192
200
 
193
201
  Convert to integer.
194
202
 
195
- > | Parameter | Default | Description |
196
- > | --------- | ------- | ----------------------------- |
197
- > | value | | Unknown<br/>Value to convert. |
203
+ > | Parameter | Type | Default | Description |
204
+ > | --------- | ------- | ------- | ----------------- |
205
+ > | value | Unknown | | Value to convert. |
198
206
  >
199
207
  > returns [Number]
200
208
  >
@@ -211,9 +219,9 @@ Convert to integer.
211
219
 
212
220
  Convert to boolean.
213
221
 
214
- > | Parameter | Default | Description |
215
- > | --------- | ------- | ----------------------------- |
216
- > | value | | Unknown<br/>Value to convert. |
222
+ > | Parameter | Type | Default | Description |
223
+ > | --------- | ------- | ------- | ----------------- |
224
+ > | value | Unknown | | Value to convert. |
217
225
  >
218
226
  > returns [Boolean] | Value
219
227
  >
@@ -231,9 +239,9 @@ Convert to boolean.
231
239
 
232
240
  Convert to object.
233
241
 
234
- > | Parameter | Default | Description |
235
- > | --------- | ------- | ----------------------------- |
236
- > | value | | Unknown<br/>Value to convert. |
242
+ > | Parameter | Type | Default | Description |
243
+ > | --------- | ------- | ------- | ----------------- |
244
+ > | value | Unknown | | Value to convert. |
237
245
  >
238
246
  > returns [Object] | Value
239
247
  >
@@ -250,11 +258,11 @@ Convert to object.
250
258
 
251
259
  Convert to array.
252
260
 
253
- > | Parameter | Default | Description |
254
- > | --------- | ------- | ----------------------------- |
255
- > | value | | Unknown<br/>Value to convert. |
261
+ > | Parameter | Type | Default | Description |
262
+ > | --------- | ------- | ------- | ----------------- |
263
+ > | value | Unknown | | Value to convert. |
256
264
  >
257
- > returns [Array] | Value
265
+ > returns Unknown\[] | Value
258
266
  >
259
267
  > Example:
260
268
  >
@@ -269,16 +277,57 @@ Convert to array.
269
277
 
270
278
  Convert to date.
271
279
 
272
- > | Parameter | Default | Description |
273
- > | --------- | ------- | ----------------------------- |
274
- > | value | | Unknown<br/>Value to convert. |
280
+ > | Parameter | Type | Default | Description |
281
+ > | --------- | ------- | ------- | ----------------- |
282
+ > | value | Unknown | | Value to convert. |
275
283
  >
276
- > returns [Array] | Value
284
+ > returns [Date] | Value
277
285
  >
278
286
  > Example:
279
287
  >
280
288
  > ```typescript
281
289
  > date('2025-01-01'); // 2025-01-01T00:00:00.000Z
290
+ > date('test'); // "test"
291
+ > ```
292
+
293
+ <br/>
294
+
295
+ `_null(value)`
296
+
297
+ Convert to null.
298
+
299
+ > | Parameter | Type | Default | Description |
300
+ > | --------- | ------- | ------- | ----------------- |
301
+ > | value | Unknown | | Value to convert. |
302
+ >
303
+ > returns [Null] | Value
304
+ >
305
+ > Example:
306
+ >
307
+ > ```typescript
308
+ > _null('null'); // null
309
+ > _null(null); // null
310
+ > _null('test'); // "test"
311
+ > ```
312
+
313
+ <br/>
314
+
315
+ `_undefined(value)`
316
+
317
+ Convert to undefined.
318
+
319
+ > | Parameter | Type | Default | Description |
320
+ > | --------- | ------- | ------- | ----------------- |
321
+ > | value | Unknown | | Value to convert. |
322
+ >
323
+ > returns [Undefined] | Value
324
+ >
325
+ > Example:
326
+ >
327
+ > ```typescript
328
+ > _undefined('undefined'); // undefined
329
+ > _undefined(undefined); // undefined
330
+ > _undefined('test'); // "test"
282
331
  > ```
283
332
 
284
333
  ### Types
package/dist/main.d.mts CHANGED
@@ -7,6 +7,8 @@ declare const integer: (value: unknown) => number;
7
7
  declare const boolean: <Value>(value: Value) => boolean | Value;
8
8
  declare const object: <Value>(value: Value) => object | Value;
9
9
  declare const array: <Value>(value: Value) => unknown[] | Value;
10
- declare const date: (value: unknown) => Date;
10
+ declare const date: <Value>(value: Value) => Date | Value;
11
+ declare const _null: <Value>(value: Value) => null | Value;
12
+ declare const _undefined: <Value>(value: Value) => undefined | Value;
11
13
 
12
- export { type Types, array, boolean, date, integer, number, object, string, typof };
14
+ export { type Types, _null, _undefined, array, boolean, date, integer, number, object, string, typof };
package/dist/main.d.ts CHANGED
@@ -7,6 +7,8 @@ declare const integer: (value: unknown) => number;
7
7
  declare const boolean: <Value>(value: Value) => boolean | Value;
8
8
  declare const object: <Value>(value: Value) => object | Value;
9
9
  declare const array: <Value>(value: Value) => unknown[] | Value;
10
- declare const date: (value: unknown) => Date;
10
+ declare const date: <Value>(value: Value) => Date | Value;
11
+ declare const _null: <Value>(value: Value) => null | Value;
12
+ declare const _undefined: <Value>(value: Value) => undefined | Value;
11
13
 
12
- export { type Types, array, boolean, date, integer, number, object, string, typof };
14
+ export { type Types, _null, _undefined, array, boolean, date, integer, number, object, string, typof };
package/dist/main.js CHANGED
@@ -20,6 +20,8 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
20
20
  // src/main.ts
21
21
  var main_exports = {};
22
22
  __export(main_exports, {
23
+ _null: () => _null,
24
+ _undefined: () => _undefined,
23
25
  array: () => array,
24
26
  boolean: () => boolean,
25
27
  date: () => date,
@@ -91,9 +93,7 @@ var typof = (value) => {
91
93
  types.push("array");
92
94
  } else if (value === null) {
93
95
  types.push("null");
94
- } else if (value === void 0) {
95
- types.push("undefined");
96
- }
96
+ } else if (value === void 0) types.push("undefined");
97
97
  return types;
98
98
  };
99
99
  var string = (value) => {
@@ -125,10 +125,20 @@ var array = (value) => {
125
125
  } else return value;
126
126
  };
127
127
  var date = (value) => {
128
- return new Date(value);
128
+ if (typof(value).includes("date")) {
129
+ return new Date(value);
130
+ } else return value;
131
+ };
132
+ var _null = (value) => {
133
+ return typof(value).includes("null") ? null : value;
134
+ };
135
+ var _undefined = (value) => {
136
+ return typof(value).includes("undefined") ? void 0 : value;
129
137
  };
130
138
  // Annotate the CommonJS export names for ESM import in node:
131
139
  0 && (module.exports = {
140
+ _null,
141
+ _undefined,
132
142
  array,
133
143
  boolean,
134
144
  date,
package/dist/main.mjs CHANGED
@@ -58,9 +58,7 @@ var typof = (value) => {
58
58
  types.push("array");
59
59
  } else if (value === null) {
60
60
  types.push("null");
61
- } else if (value === void 0) {
62
- types.push("undefined");
63
- }
61
+ } else if (value === void 0) types.push("undefined");
64
62
  return types;
65
63
  };
66
64
  var string = (value) => {
@@ -92,9 +90,19 @@ var array = (value) => {
92
90
  } else return value;
93
91
  };
94
92
  var date = (value) => {
95
- return new Date(value);
93
+ if (typof(value).includes("date")) {
94
+ return new Date(value);
95
+ } else return value;
96
+ };
97
+ var _null = (value) => {
98
+ return typof(value).includes("null") ? null : value;
99
+ };
100
+ var _undefined = (value) => {
101
+ return typof(value).includes("undefined") ? void 0 : value;
96
102
  };
97
103
  export {
104
+ _null,
105
+ _undefined,
98
106
  array,
99
107
  boolean,
100
108
  date,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "typof",
3
- "version": "1.0.3",
3
+ "version": "1.0.5",
4
4
  "description": "Infer types.",
5
5
  "license": "MIT",
6
6
  "homepage": "https://github.com/keift/typof",