es-toolkit 1.18.0-dev.591 → 1.18.0-dev.593

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.
@@ -153,6 +153,7 @@ export { isWeakSet } from './predicate/isWeakSet.mjs';
153
153
  export { conforms } from './predicate/conforms.mjs';
154
154
  export { conformsTo } from './predicate/conformsTo.mjs';
155
155
  export { isInteger } from './predicate/isInteger.mjs';
156
+ export { isSafeInteger } from './predicate/isSafeInteger.mjs';
156
157
  export { camelCase } from './string/camelCase.mjs';
157
158
  export { kebabCase } from './string/kebabCase.mjs';
158
159
  export { snakeCase } from './string/snakeCase.mjs';
@@ -153,6 +153,7 @@ export { isWeakSet } from './predicate/isWeakSet.js';
153
153
  export { conforms } from './predicate/conforms.js';
154
154
  export { conformsTo } from './predicate/conformsTo.js';
155
155
  export { isInteger } from './predicate/isInteger.js';
156
+ export { isSafeInteger } from './predicate/isSafeInteger.js';
156
157
  export { camelCase } from './string/camelCase.js';
157
158
  export { kebabCase } from './string/kebabCase.js';
158
159
  export { snakeCase } from './string/snakeCase.js';
@@ -1032,6 +1032,10 @@ function isInteger(value) {
1032
1032
  return Number.isInteger(value);
1033
1033
  }
1034
1034
 
1035
+ function isSafeInteger(value) {
1036
+ return Number.isSafeInteger(value);
1037
+ }
1038
+
1035
1039
  function normalizeForCase(str) {
1036
1040
  if (typeof str === 'object') {
1037
1041
  str = str.toString();
@@ -1358,6 +1362,7 @@ exports.isMatch = isMatch;
1358
1362
  exports.isObject = isObject;
1359
1363
  exports.isPlainObject = isPlainObject;
1360
1364
  exports.isRegExp = isRegExp;
1365
+ exports.isSafeInteger = isSafeInteger;
1361
1366
  exports.isString = isString;
1362
1367
  exports.isSymbol = isSymbol;
1363
1368
  exports.isTypedArray = isTypedArray;
@@ -153,6 +153,7 @@ export { isWeakSet } from './predicate/isWeakSet.mjs';
153
153
  export { conforms } from './predicate/conforms.mjs';
154
154
  export { conformsTo } from './predicate/conformsTo.mjs';
155
155
  export { isInteger } from './predicate/isInteger.mjs';
156
+ export { isSafeInteger } from './predicate/isSafeInteger.mjs';
156
157
  export { camelCase } from './string/camelCase.mjs';
157
158
  export { kebabCase } from './string/kebabCase.mjs';
158
159
  export { snakeCase } from './string/snakeCase.mjs';
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Checks if `value` is a safe integer (between -(2^53 – 1) and (2^53 – 1), inclusive).
3
+ *
4
+ * A safe integer is an integer that can be precisely represented as a `number` in JavaScript,
5
+ * without any other integer being rounded to it.
6
+ *
7
+ * This function can also serve as a type predicate in TypeScript, narrowing the type of the argument to `number`.
8
+ *
9
+ * @param {unknown} value - The value to check
10
+ * @returns {boolean} `true` if `value` is an integer and between the safe values, otherwise `false`
11
+ *
12
+ * @example
13
+ * isSafeInteger(3); // Returns: true
14
+ * isSafeInteger(Number.MIN_SAFE_INTEGER - 1); // Returns: false
15
+ * isSafeInteger(1n); // Returns: false
16
+ * isSafeInteger('1'); // Returns: false
17
+ */
18
+ declare function isSafeInteger(value?: unknown): value is number;
19
+
20
+ export { isSafeInteger };
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Checks if `value` is a safe integer (between -(2^53 – 1) and (2^53 – 1), inclusive).
3
+ *
4
+ * A safe integer is an integer that can be precisely represented as a `number` in JavaScript,
5
+ * without any other integer being rounded to it.
6
+ *
7
+ * This function can also serve as a type predicate in TypeScript, narrowing the type of the argument to `number`.
8
+ *
9
+ * @param {unknown} value - The value to check
10
+ * @returns {boolean} `true` if `value` is an integer and between the safe values, otherwise `false`
11
+ *
12
+ * @example
13
+ * isSafeInteger(3); // Returns: true
14
+ * isSafeInteger(Number.MIN_SAFE_INTEGER - 1); // Returns: false
15
+ * isSafeInteger(1n); // Returns: false
16
+ * isSafeInteger('1'); // Returns: false
17
+ */
18
+ declare function isSafeInteger(value?: unknown): value is number;
19
+
20
+ export { isSafeInteger };
@@ -0,0 +1,5 @@
1
+ function isSafeInteger(value) {
2
+ return Number.isSafeInteger(value);
3
+ }
4
+
5
+ export { isSafeInteger };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "es-toolkit",
3
3
  "description": "A state-of-the-art, high-performance JavaScript utility library with a small bundle size and strong type annotations.",
4
- "version": "1.18.0-dev.591+1f336b04",
4
+ "version": "1.18.0-dev.593+0375c66a",
5
5
  "homepage": "https://es-toolkit.slash.page",
6
6
  "bugs": "https://github.com/toss/es-toolkit/issues",
7
7
  "repository": {