is-kit 1.1.6 → 1.1.7

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
@@ -120,13 +120,30 @@ When validating complex shapes, reach for `struct` — and friends like `arrayOf
120
120
 
121
121
  Built-in primitives: `isString`, `isNumber` (finite), `isBoolean`, `isBigInt`, `isSymbol`, `isUndefined`, `isNull` — and a preset `isPrimitive` for any primitive.
122
122
 
123
+ Numeric helpers are included for common cases: `isInteger`, `isSafeInteger`, `isPositive`, `isNegative`.
124
+
123
125
  ```ts
124
- import { isPrimitive, isNumber } from 'is-kit';
126
+ import {
127
+ isPrimitive,
128
+ isNumber,
129
+ isInteger,
130
+ isSafeInteger,
131
+ isPositive,
132
+ isNegative,
133
+ } from 'is-kit';
125
134
 
135
+ // Any primitive
126
136
  isPrimitive('x'); // true
127
137
  isPrimitive(123); // true
128
138
  isPrimitive(NaN); // true (use isNumber for finite only)
129
139
  isPrimitive({}); // false
140
+
141
+ // Numeric helpers
142
+ isNumber(10); // true
143
+ isInteger(42); // true
144
+ isSafeInteger(2 ** 53); // false
145
+ isPositive(0); // false
146
+ isNegative(-0); // false
130
147
  ```
131
148
 
132
149
  ## Core Ideas
package/dist/index.d.mts CHANGED
@@ -188,6 +188,35 @@ declare const isFiniteNumber: Refine<number, number>;
188
188
  * @returns Predicate narrowing to finite `number`.
189
189
  */
190
190
  declare const isNumber: Predicate<number>;
191
+ /**
192
+ * Checks whether a value is an integer number.
193
+ *
194
+ * Equivalent to `Number.isInteger(value)`.
195
+ * @returns Predicate narrowing to integer `number`.
196
+ */
197
+ declare const isInteger: Predicate<number>;
198
+ /**
199
+ * Checks whether a value is a safe integer.
200
+ *
201
+ * Equivalent to `Number.isSafeInteger(value)`.
202
+ * @returns Predicate narrowing to safe-integer `number`.
203
+ */
204
+ declare const isSafeInteger: Predicate<number>;
205
+ /**
206
+ * Checks whether a value is a positive finite number (> 0).
207
+ *
208
+ * Uses `isNumber` internally to exclude NaN and ±Infinity.
209
+ * @returns Predicate narrowing to positive `number`.
210
+ */
211
+ declare const isPositive: Predicate<number>;
212
+ /**
213
+ * Checks whether a value is a negative finite number (< 0).
214
+ *
215
+ * Uses `isNumber` internally to exclude NaN and ±Infinity.
216
+ * Note: `-0` is not considered negative (consistent with `< 0`).
217
+ * @returns Predicate narrowing to negative `number`.
218
+ */
219
+ declare const isNegative: Predicate<number>;
191
220
  /**
192
221
  * Checks whether a value is a boolean.
193
222
  *
@@ -425,4 +454,4 @@ declare function narrowKeyTo<A, K extends keyof A>(guard: Guard<A>, key: K): <co
425
454
  */
426
455
  declare const toBooleanPredicates: (guards: readonly Guard<unknown>[]) => ReadonlyArray<(value: unknown) => boolean>;
427
456
 
428
- export { type ChainResult, type Guard, type GuardedOf, type GuardedWithin, type InferSchema, type OutOfGuards, type ParseResult, type Predicate, type Primitive, type Refine, type RefineChain, type Refinement, type Schema, and, andAll, arrayOf, define, equals, equalsBy, equalsKey, guardIn, isArray, isArrayBuffer, isAsyncIterable, isBigInt, isBlob, isBoolean, isDataView, isDate, isError, isFiniteNumber, isFunction, isIterable, isMap, isNull, isNumber, isNumberPrimitive, isObject, isPlainObject, isPrimitive, isPromiseLike, isRegExp, isSet, isString, isSymbol, isTypedArray, isURL, isUndefined, isWeakMap, isWeakSet, narrowKeyTo, nonNull, not, nullable, nullish, oneOf, oneOfValues, optional, or, predicateToRefine, recordOf, required, safeParse, safeParseWith, struct, toBooleanPredicates, tupleOf };
457
+ export { type ChainResult, type Guard, type GuardedOf, type GuardedWithin, type InferSchema, type OutOfGuards, type ParseResult, type Predicate, type Primitive, type Refine, type RefineChain, type Refinement, type Schema, and, andAll, arrayOf, define, equals, equalsBy, equalsKey, guardIn, isArray, isArrayBuffer, isAsyncIterable, isBigInt, isBlob, isBoolean, isDataView, isDate, isError, isFiniteNumber, isFunction, isInteger, isIterable, isMap, isNegative, isNull, isNumber, isNumberPrimitive, isObject, isPlainObject, isPositive, isPrimitive, isPromiseLike, isRegExp, isSafeInteger, isSet, isString, isSymbol, isTypedArray, isURL, isUndefined, isWeakMap, isWeakSet, narrowKeyTo, nonNull, not, nullable, nullish, oneOf, oneOfValues, optional, or, predicateToRefine, recordOf, required, safeParse, safeParseWith, struct, toBooleanPredicates, tupleOf };
package/dist/index.d.ts CHANGED
@@ -188,6 +188,35 @@ declare const isFiniteNumber: Refine<number, number>;
188
188
  * @returns Predicate narrowing to finite `number`.
189
189
  */
190
190
  declare const isNumber: Predicate<number>;
191
+ /**
192
+ * Checks whether a value is an integer number.
193
+ *
194
+ * Equivalent to `Number.isInteger(value)`.
195
+ * @returns Predicate narrowing to integer `number`.
196
+ */
197
+ declare const isInteger: Predicate<number>;
198
+ /**
199
+ * Checks whether a value is a safe integer.
200
+ *
201
+ * Equivalent to `Number.isSafeInteger(value)`.
202
+ * @returns Predicate narrowing to safe-integer `number`.
203
+ */
204
+ declare const isSafeInteger: Predicate<number>;
205
+ /**
206
+ * Checks whether a value is a positive finite number (> 0).
207
+ *
208
+ * Uses `isNumber` internally to exclude NaN and ±Infinity.
209
+ * @returns Predicate narrowing to positive `number`.
210
+ */
211
+ declare const isPositive: Predicate<number>;
212
+ /**
213
+ * Checks whether a value is a negative finite number (< 0).
214
+ *
215
+ * Uses `isNumber` internally to exclude NaN and ±Infinity.
216
+ * Note: `-0` is not considered negative (consistent with `< 0`).
217
+ * @returns Predicate narrowing to negative `number`.
218
+ */
219
+ declare const isNegative: Predicate<number>;
191
220
  /**
192
221
  * Checks whether a value is a boolean.
193
222
  *
@@ -425,4 +454,4 @@ declare function narrowKeyTo<A, K extends keyof A>(guard: Guard<A>, key: K): <co
425
454
  */
426
455
  declare const toBooleanPredicates: (guards: readonly Guard<unknown>[]) => ReadonlyArray<(value: unknown) => boolean>;
427
456
 
428
- export { type ChainResult, type Guard, type GuardedOf, type GuardedWithin, type InferSchema, type OutOfGuards, type ParseResult, type Predicate, type Primitive, type Refine, type RefineChain, type Refinement, type Schema, and, andAll, arrayOf, define, equals, equalsBy, equalsKey, guardIn, isArray, isArrayBuffer, isAsyncIterable, isBigInt, isBlob, isBoolean, isDataView, isDate, isError, isFiniteNumber, isFunction, isIterable, isMap, isNull, isNumber, isNumberPrimitive, isObject, isPlainObject, isPrimitive, isPromiseLike, isRegExp, isSet, isString, isSymbol, isTypedArray, isURL, isUndefined, isWeakMap, isWeakSet, narrowKeyTo, nonNull, not, nullable, nullish, oneOf, oneOfValues, optional, or, predicateToRefine, recordOf, required, safeParse, safeParseWith, struct, toBooleanPredicates, tupleOf };
457
+ export { type ChainResult, type Guard, type GuardedOf, type GuardedWithin, type InferSchema, type OutOfGuards, type ParseResult, type Predicate, type Primitive, type Refine, type RefineChain, type Refinement, type Schema, and, andAll, arrayOf, define, equals, equalsBy, equalsKey, guardIn, isArray, isArrayBuffer, isAsyncIterable, isBigInt, isBlob, isBoolean, isDataView, isDate, isError, isFiniteNumber, isFunction, isInteger, isIterable, isMap, isNegative, isNull, isNumber, isNumberPrimitive, isObject, isPlainObject, isPositive, isPrimitive, isPromiseLike, isRegExp, isSafeInteger, isSet, isString, isSymbol, isTypedArray, isURL, isUndefined, isWeakMap, isWeakSet, narrowKeyTo, nonNull, not, nullable, nullish, oneOf, oneOfValues, optional, or, predicateToRefine, recordOf, required, safeParse, safeParseWith, struct, toBooleanPredicates, tupleOf };
package/dist/index.js CHANGED
@@ -39,16 +39,20 @@ __export(index_exports, {
39
39
  isError: () => isError,
40
40
  isFiniteNumber: () => isFiniteNumber,
41
41
  isFunction: () => isFunction,
42
+ isInteger: () => isInteger,
42
43
  isIterable: () => isIterable,
43
44
  isMap: () => isMap,
45
+ isNegative: () => isNegative,
44
46
  isNull: () => isNull,
45
47
  isNumber: () => isNumber,
46
48
  isNumberPrimitive: () => isNumberPrimitive,
47
49
  isObject: () => isObject,
48
50
  isPlainObject: () => isPlainObject,
51
+ isPositive: () => isPositive,
49
52
  isPrimitive: () => isPrimitive,
50
53
  isPromiseLike: () => isPromiseLike,
51
54
  isRegExp: () => isRegExp,
55
+ isSafeInteger: () => isSafeInteger,
52
56
  isSet: () => isSet,
53
57
  isString: () => isString,
54
58
  isSymbol: () => isSymbol,
@@ -234,6 +238,16 @@ var isNumberPrimitive = define(
234
238
  );
235
239
  var isFiniteNumber = predicateToRefine(Number.isFinite);
236
240
  var isNumber = and(isNumberPrimitive, isFiniteNumber);
241
+ var isInteger = define(Number.isInteger);
242
+ var isSafeInteger = define(Number.isSafeInteger);
243
+ var isPositive = and(
244
+ isNumber,
245
+ predicateToRefine((n) => n > 0)
246
+ );
247
+ var isNegative = and(
248
+ isNumber,
249
+ predicateToRefine((n) => n < 0)
250
+ );
237
251
  var isBoolean = define((value) => typeof value === "boolean");
238
252
  var isBigInt = define((value) => typeof value === "bigint");
239
253
  var isSymbol = define((value) => typeof value === "symbol");
@@ -374,16 +388,20 @@ function narrowKeyTo(guard, key) {
374
388
  isError,
375
389
  isFiniteNumber,
376
390
  isFunction,
391
+ isInteger,
377
392
  isIterable,
378
393
  isMap,
394
+ isNegative,
379
395
  isNull,
380
396
  isNumber,
381
397
  isNumberPrimitive,
382
398
  isObject,
383
399
  isPlainObject,
400
+ isPositive,
384
401
  isPrimitive,
385
402
  isPromiseLike,
386
403
  isRegExp,
404
+ isSafeInteger,
387
405
  isSet,
388
406
  isString,
389
407
  isSymbol,
package/dist/index.mjs CHANGED
@@ -155,6 +155,16 @@ var isNumberPrimitive = define(
155
155
  );
156
156
  var isFiniteNumber = predicateToRefine(Number.isFinite);
157
157
  var isNumber = and(isNumberPrimitive, isFiniteNumber);
158
+ var isInteger = define(Number.isInteger);
159
+ var isSafeInteger = define(Number.isSafeInteger);
160
+ var isPositive = and(
161
+ isNumber,
162
+ predicateToRefine((n) => n > 0)
163
+ );
164
+ var isNegative = and(
165
+ isNumber,
166
+ predicateToRefine((n) => n < 0)
167
+ );
158
168
  var isBoolean = define((value) => typeof value === "boolean");
159
169
  var isBigInt = define((value) => typeof value === "bigint");
160
170
  var isSymbol = define((value) => typeof value === "symbol");
@@ -294,16 +304,20 @@ export {
294
304
  isError,
295
305
  isFiniteNumber,
296
306
  isFunction,
307
+ isInteger,
297
308
  isIterable,
298
309
  isMap,
310
+ isNegative,
299
311
  isNull,
300
312
  isNumber,
301
313
  isNumberPrimitive,
302
314
  isObject,
303
315
  isPlainObject,
316
+ isPositive,
304
317
  isPrimitive,
305
318
  isPromiseLike,
306
319
  isRegExp,
320
+ isSafeInteger,
307
321
  isSet,
308
322
  isString,
309
323
  isSymbol,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "is-kit",
3
- "version": "1.1.6",
3
+ "version": "1.1.7",
4
4
  "description": "Make 'isXXX' easier. Let's make your code type safe and more readable!",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.mjs",