js-utils-kit 0.3.3 → 0.4.0

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,26 +1,30 @@
1
1
  <div align="center">
2
2
 
3
- [![img](https://capsule-render.vercel.app/api?type=waving&height=300&color=gradient&text=Js%20Utils%20Kit&section=footer&desc=Modular%20JavaScript%20utilities%20with%20type%20support%20for%20strings,%20objects,%20arrays,%20and%20more&descAlign=49&descAlignY=72&animation=fadeIn&textBg=false)](https://github.com/TenEplaysOfficial/js-utils-kit)
3
+ <!-- [![img](https://capsule-render.vercel.app/api?type=waving&height=300&color=gradient&text=Js%20Utils%20Kit&section=footer&desc=Modular%20JavaScript%20utilities%20with%20type%20support%20for%20strings,%20objects,%20arrays,%20and%20more&descAlign=49&descAlignY=72&animation=fadeIn&textBg=false)](https://github.com/TenEplaysOfficial/js-utils-kit) -->
4
+
5
+ # Js Utils Kit
6
+
7
+ _Modular JavaScript utilities with type support for strings, objects, arrays and more_
4
8
 
5
9
  [![Build](https://github.com/teneplaysofficial/js-utils-kit/actions/workflows/publish.yml/badge.svg)](https://github.com/TenEplaysOfficial/js-utils-kit)
10
+ [![Test](https://github.com/teneplaysofficial/js-utils-kit/actions/workflows/test.yml/badge.svg)](https://github.com/TenEplaysOfficial/js-utils-kit)
6
11
  [![npm version](https://img.shields.io/npm/v/js-utils-kit.svg)](https://www.npmjs.com/package/js-utils-kit)
7
12
  [![JSR](https://jsr.io/badges/@tene/js-utils-kit)](https://jsr.io/@tene/js-utils-kit)
8
13
  [![JSR Score](https://jsr.io/badges/@tene/js-utils-kit/score)](https://jsr.io/@tene/js-utils-kit)
9
14
  [![License](https://img.shields.io/github/license/TenEplaysOfficial/js-utils-kit.svg)](https://github.com/TenEplaysOfficial/js-utils-kit/blob/main/LICENSE)
10
- [![Bundle size](https://img.shields.io/bundlephobia/minzip/js-utils-kit)](https://bundlephobia.com/package/js-utils-kit)
11
- [![GitHub stars](https://img.shields.io/github/stars/TenEplaysOfficial/js-utils-kit)](https://github.com/TenEplaysOfficial/js-utils-kit/stargazers)
15
+ [![GitHub stars](https://img.shields.io/github/stars/TenEplaysOfficial/js-utils-kit?style=flat)](https://github.com/TenEplaysOfficial/js-utils-kit/stargazers)
12
16
  [![Issues](https://img.shields.io/github/issues/TenEplaysOfficial/js-utils-kit)](https://github.com/TenEplaysOfficial/js-utils-kit/issues)
13
17
  [![PRs](https://img.shields.io/github/issues-pr/TenEplaysOfficial/js-utils-kit)](https://github.com/TenEplaysOfficial/js-utils-kit/pulls)
14
18
  [![Last Commit](https://img.shields.io/github/last-commit/TenEplaysOfficial/js-utils-kit)](https://github.com/TenEplaysOfficial/js-utils-kit/commits)
15
- [![Discussions](https://img.shields.io/github/discussions/TenEplaysOfficial/js-utils-kit)](https://github.com/TenEplaysOfficial/js-utils-kit/discussions)
16
19
  [![Downloads](https://img.shields.io/npm/dm/js-utils-kit)](https://www.npmjs.com/package/js-utils-kit)
17
- [![GitHub repo size](https://img.shields.io/github/repo-size/TenEplaysOfficial/js-utils-kit)](https://github.com/TenEplaysOfficial/js-utils-kit)
18
20
  [![Type Support](https://img.shields.io/badge/type-support-blue)](https://github.com/TenEplaysOfficial/js-utils-kit)
19
21
  [![Sponsor](https://img.shields.io/badge/funding-sponsor-yellow)](https://github.com/sponsors/TenEplaysOfficial)
20
22
  [![Follow @teneplays on X](https://img.shields.io/badge/follow-@teneplays-fff?logo=x)](https://x.com/teneplays)
21
23
 
22
24
  </div>
23
25
 
26
+ ## Overview
27
+
24
28
  **JS Utils Kit** is a compact and reliable library of essential JavaScript utility functions. It includes helpers for arrays, objects, numbers, promises, type checking, and more. Designed for performance and modularity, it integrates easily into JavaScript and TypeScript projects with minimal impact on bundle size.
25
29
 
26
30
  > Streamline your code with battle-tested, tree-shakable utilities.
package/dist/index.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";var e=require("./array/index.cjs"),r=require("./char/index.cjs"),s=require("./env/index.cjs"),t=require("./file/index.cjs"),i=require("./number/index.cjs"),o=require("./object/index.cjs"),a=require("./string/index.cjs"),p=require("./validate-BKQ-HFTd.js");require("fs"),require("path"),require("events"),require("constants"),require("stream"),require("util"),require("assert"),require("buffer"),require("node:url"),require("node:path"),require("node:fs"),require("node:fs/promises"),require("node:events"),require("node:stream"),require("node:string_decoder"),require("zlib"),exports.array=e.default,exports.all=r.all,exports.char=r.default,exports.digits=r.digits,exports.lowercase=r.lowercase,exports.uppercase=r.uppercase,Object.defineProperty(exports,"Environment",{enumerable:!0,get:function(){return s.Environment}}),exports.env=s.default,exports.getRunTimeEnvironment=s.getRunTimeEnvironment,exports.isBrowser=s.isBrowser,exports.isDev=s.isDev,exports.isNode=s.isNode,exports.isProd=s.isProd,exports.isTest=s.isTest,exports.createArchive=t.createArchive,exports.file=t.default,exports.clamp=i.clamp,exports.isEven=i.isEven,exports.isOdd=i.isOdd,exports.number=i.default,exports.randomFloat=i.randomFloat,exports.randomInt=i.randomInt,exports.isEmptyObject=o.isEmptyObject,exports.isNonEmptyObject=o.isNonEmptyObject,exports.isObject=o.isObject,exports.mergeObj=o.mergeObj,exports.object=o.default,exports.capitalize=a.capitalize,exports.containsWhitespace=a.containsWhitespace,exports.endsWithPunctuation=a.endsWithPunctuation,exports.isAlphabetic=a.isAlphabetic,exports.isCamelCase=a.isCamelCase,exports.isEmail=a.isEmail,exports.isKebabCase=a.isKebabCase,exports.isLowerCase=a.isLowerCase,exports.isNonEmptyString=a.isNonEmptyString,exports.isNumericString=a.isNumericString,exports.isPascalCase=a.isPascalCase,exports.isSnakeCase=a.isSnakeCase,exports.isString=a.isString,exports.isURL=a.isURL,exports.isUpperCase=a.isUpperCase,exports.padLeft=a.padLeft,exports.padRight=a.padRight,exports.repeatString=a.repeatString,exports.startsWithUppercase=a.startsWithUppercase,exports.string=a.default,exports.trim=a.trim,exports.truncate=a.truncate,exports.isArray=p.isArray,exports.isDefined=p.isDefined,exports.isUndefinedOrNull=p.isUndefinedOrNull;
1
+ "use strict";var e=require("./array/index.cjs"),r=require("./char/index.cjs"),s=require("./env/index.cjs"),t=require("./file/index.cjs"),i=require("./number/index.cjs"),o=require("./object/index.cjs"),a=require("./string/index.cjs"),p=require("./validate-BKQ-HFTd.js");require("fs"),require("path"),require("events"),require("constants"),require("stream"),require("util"),require("assert"),require("buffer"),require("node:url"),require("node:path"),require("node:fs"),require("node:fs/promises"),require("node:events"),require("node:stream"),require("node:string_decoder"),require("zlib"),exports.array=e.default,exports.all=r.all,exports.char=r.default,exports.digits=r.digits,exports.lowercase=r.lowercase,exports.uppercase=r.uppercase,Object.defineProperty(exports,"Environment",{enumerable:!0,get:function(){return s.Environment}}),exports.env=s.default,exports.getRunTimeEnvironment=s.getRunTimeEnvironment,exports.isBrowser=s.isBrowser,exports.isDev=s.isDev,exports.isNode=s.isNode,exports.isProd=s.isProd,exports.isTest=s.isTest,exports.createArchive=t.createArchive,exports.file=t.default,exports.clamp=i.clamp,exports.getMilliseconds=i.getMilliseconds,exports.isEven=i.isEven,exports.isOdd=i.isOdd,exports.number=i.default,exports.randomFloat=i.randomFloat,exports.randomInt=i.randomInt,exports.isEmptyObject=o.isEmptyObject,exports.isNonEmptyObject=o.isNonEmptyObject,exports.isObject=o.isObject,exports.mergeObj=o.mergeObj,exports.object=o.default,exports.capitalize=a.capitalize,exports.containsWhitespace=a.containsWhitespace,exports.endsWithPunctuation=a.endsWithPunctuation,exports.isAlphabetic=a.isAlphabetic,exports.isCamelCase=a.isCamelCase,exports.isEmail=a.isEmail,exports.isKebabCase=a.isKebabCase,exports.isLowerCase=a.isLowerCase,exports.isNonEmptyString=a.isNonEmptyString,exports.isNumericString=a.isNumericString,exports.isPascalCase=a.isPascalCase,exports.isSnakeCase=a.isSnakeCase,exports.isString=a.isString,exports.isURL=a.isURL,exports.isUpperCase=a.isUpperCase,exports.padLeft=a.padLeft,exports.padRight=a.padRight,exports.repeatString=a.repeatString,exports.startsWithUppercase=a.startsWithUppercase,exports.string=a.default,exports.trim=a.trim,exports.truncate=a.truncate,exports.isArray=p.isArray,exports.isDefined=p.isDefined,exports.isUndefinedOrNull=p.isUndefinedOrNull;
package/dist/index.d.ts CHANGED
@@ -2,7 +2,7 @@ export { default as array, isArray } from './array/index.js';
2
2
  export { all, default as char, digits, lowercase, uppercase } from './char/index.js';
3
3
  export { Environment, default as env, getRunTimeEnvironment, isBrowser, isDev, isNode, isProd, isTest } from './env/index.js';
4
4
  export { ArchiveFormat, CreateArchiveOptions, createArchive, default as file } from './file/index.js';
5
- export { clamp, isEven, isOdd, default as number, randomFloat, randomInt } from './number/index.js';
5
+ export { Hour, MinuteOrSecond, clamp, getMilliseconds, isEven, isOdd, default as number, randomFloat, randomInt } from './number/index.js';
6
6
  export { isEmptyObject, isNonEmptyObject, isObject, mergeObj, default as object } from './object/index.js';
7
7
  export { Trim, capitalize, containsWhitespace, endsWithPunctuation, isAlphabetic, isCamelCase, isEmail, isKebabCase, isLowerCase, isNonEmptyString, isNumericString, isPascalCase, isSnakeCase, isString, isURL, isUpperCase, padLeft, padRight, repeatString, startsWithUppercase, default as string, trim, truncate } from './string/index.js';
8
8
  export { ArchiverOptions } from 'archiver';
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- export{default as array}from"./array/index.js";export{all,default as char,digits,lowercase,uppercase}from"./char/index.js";export{Environment,default as env,getRunTimeEnvironment,isBrowser,isDev,isNode,isProd,isTest}from"./env/index.js";export{createArchive,default as file}from"./file/index.js";export{clamp,isEven,isOdd,default as number,randomFloat,randomInt}from"./number/index.js";export{isEmptyObject,isNonEmptyObject,isObject,mergeObj,default as object}from"./object/index.js";export{capitalize,containsWhitespace,endsWithPunctuation,isAlphabetic,isCamelCase,isEmail,isKebabCase,isLowerCase,isNonEmptyString,isNumericString,isPascalCase,isSnakeCase,isString,isURL,isUpperCase,padLeft,padRight,repeatString,startsWithUppercase,default as string,trim,truncate}from"./string/index.js";export{i as isArray,a as isDefined,b as isUndefinedOrNull}from"./validate-D9J7otjc.js";import"fs";import"path";import"events";import"constants";import"stream";import"util";import"assert";import"buffer";import"node:url";import"node:path";import"node:fs";import"node:fs/promises";import"node:events";import"node:stream";import"node:string_decoder";import"zlib";
1
+ export{default as array}from"./array/index.js";export{all,default as char,digits,lowercase,uppercase}from"./char/index.js";export{Environment,default as env,getRunTimeEnvironment,isBrowser,isDev,isNode,isProd,isTest}from"./env/index.js";export{createArchive,default as file}from"./file/index.js";export{clamp,getMilliseconds,isEven,isOdd,default as number,randomFloat,randomInt}from"./number/index.js";export{isEmptyObject,isNonEmptyObject,isObject,mergeObj,default as object}from"./object/index.js";export{capitalize,containsWhitespace,endsWithPunctuation,isAlphabetic,isCamelCase,isEmail,isKebabCase,isLowerCase,isNonEmptyString,isNumericString,isPascalCase,isSnakeCase,isString,isURL,isUpperCase,padLeft,padRight,repeatString,startsWithUppercase,default as string,trim,truncate}from"./string/index.js";export{i as isArray,a as isDefined,b as isUndefinedOrNull}from"./validate-D9J7otjc.js";import"fs";import"path";import"events";import"constants";import"stream";import"util";import"assert";import"buffer";import"node:url";import"node:path";import"node:fs";import"node:fs/promises";import"node:events";import"node:stream";import"node:string_decoder";import"zlib";
@@ -1 +1 @@
1
- "use strict";function t(t,r,n){return Math.min(Math.max(t,r),n)}function r(t){return t%2==0}function n(t){return t%2!=0}function o(t,r){return Math.floor(Math.random()*(r-t+1))+t}function e(t,r){return Math.random()*(r-t)+t}Object.defineProperty(exports,"__esModule",{value:!0});var a={clamp:t,isEven:r,isOdd:n,randomInt:o,randomFloat:e};exports.clamp=t,exports.default=a,exports.isEven=r,exports.isOdd=n,exports.randomFloat=e,exports.randomInt=o;
1
+ "use strict";function t(t,e,n){return Math.min(Math.max(t,e),n)}function e(t){return t%2==0}function n(t){return t%2!=0}function r(t,e){return Math.floor(Math.random()*(e-t+1))+t}function o(t,e){return Math.random()*(e-t)+t}function s(t=0,e=0,n=0,r=0){if([t,e,n,r].some(t=>t<0))throw new Error("All time values must be non-negative numbers.");return 1e3*(24*t*60*60+60*e*60+60*n+r)}Object.defineProperty(exports,"__esModule",{value:!0});var a={clamp:t,isEven:e,isOdd:n,randomInt:r,randomFloat:o,getMilliseconds:s};exports.clamp=t,exports.default=a,exports.getMilliseconds=s,exports.isEven=e,exports.isOdd=n,exports.randomFloat=o,exports.randomInt=r;
@@ -63,12 +63,54 @@ declare function randomInt(min: number, max: number): number;
63
63
  */
64
64
  declare function randomFloat(min: number, max: number): number;
65
65
 
66
+ /**
67
+ * Represents an hour value in a 24-hour format.
68
+ *
69
+ * @remarks
70
+ * - Valid range is `0–23`.
71
+ * - Used in {@link getMilliseconds}.
72
+ */
73
+ type Hour = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23;
74
+ /**
75
+ * Represents a minute or second value in time.
76
+ *
77
+ * @remarks
78
+ * - Valid range is `0–59`.
79
+ * - Used in {@link getMilliseconds}.
80
+ */
81
+ type MinuteOrSecond = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59;
82
+ /**
83
+ * Converts a time duration (days, hours, minutes, seconds) into total milliseconds.
84
+ *
85
+ * @returns The equivalent duration in milliseconds.
86
+ *
87
+ * @throws Will throw an error if any parameter is negative.
88
+ *
89
+ * @example
90
+ * ```ts
91
+ * getMilliseconds(1); // 86400000 (1 day)
92
+ * getMilliseconds(0, 1); // 3600000 (1 hour)
93
+ * getMilliseconds(0, 0, 30, 15); // 1815000 (30 minutes 15 seconds)
94
+ * ```
95
+ */
96
+ declare function getMilliseconds(
97
+ /** Number of days. */
98
+ days?: number,
99
+ /** Hour of the day (`0–23`). */
100
+ hours?: Hour,
101
+ /** Minute value (`0–59`). */
102
+ minutes?: MinuteOrSecond,
103
+ /** Second value (`0–59`). */
104
+ seconds?: MinuteOrSecond): number;
105
+
66
106
  declare const _default: {
67
107
  clamp: typeof clamp;
68
108
  isEven: typeof isEven;
69
109
  isOdd: typeof isOdd;
70
110
  randomInt: typeof randomInt;
71
111
  randomFloat: typeof randomFloat;
112
+ getMilliseconds: typeof getMilliseconds;
72
113
  };
73
114
 
74
- export { clamp, _default as default, isEven, isOdd, randomFloat, randomInt };
115
+ export { clamp, _default as default, getMilliseconds, isEven, isOdd, randomFloat, randomInt };
116
+ export type { Hour, MinuteOrSecond };
@@ -1 +1 @@
1
- function n(n,t,r){return Math.min(Math.max(n,t),r)}function t(n){return n%2==0}function r(n){return n%2!=0}function a(n,t){return Math.floor(Math.random()*(t-n+1))+n}function o(n,t){return Math.random()*(t-n)+n}var u={clamp:n,isEven:t,isOdd:r,randomInt:a,randomFloat:o};export{n as clamp,u as default,t as isEven,r as isOdd,o as randomFloat,a as randomInt};
1
+ function n(n,t,r){return Math.min(Math.max(n,t),r)}function t(n){return n%2==0}function r(n){return n%2!=0}function e(n,t){return Math.floor(Math.random()*(t-n+1))+n}function o(n,t){return Math.random()*(t-n)+n}function a(n=0,t=0,r=0,e=0){if([n,t,r,e].some(n=>n<0))throw new Error("All time values must be non-negative numbers.");return 1e3*(24*n*60*60+60*t*60+60*r+e)}var u={clamp:n,isEven:t,isOdd:r,randomInt:e,randomFloat:o,getMilliseconds:a};export{n as clamp,u as default,a as getMilliseconds,t as isEven,r as isOdd,o as randomFloat,e as randomInt};
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "js-utils-kit",
3
3
  "displayName": "JS Utils Kit",
4
- "version": "0.3.3",
4
+ "version": "0.4.0",
5
5
  "description": "Essential JavaScript helpers",
6
6
  "license": "MIT",
7
7
  "private": false,