js-utils-kit 0.0.0 → 0.2.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/LICENSE CHANGED
@@ -1,21 +1,21 @@
1
- MIT License
2
-
3
- Copyright (c) 2025 Sriman
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
1
+ MIT License
2
+
3
+ Copyright (c) 2025 Sriman
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
21
  SOFTWARE.
package/README.md CHANGED
@@ -1,3 +1,153 @@
1
- # JS Utils Kit
2
-
3
- A compact library of essential JavaScript utility functions—such as array operations, object helpers, Promise utilities, and type checks. Designed to be lightweight, dependable, and effortlessly integrated into JS or TS projects, it has minimal bundle impact and works seamlessly with modern bundlers.
1
+ <div align="center">
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)
4
+
5
+ [![npm version](https://img.shields.io/npm/v/js-utils-kit.svg?style=for-the-badge)](https://www.npmjs.com/package/js-utils-kit)
6
+ [![License](https://img.shields.io/github/license/TenEplaysOfficial/js-utils-kit.svg?style=for-the-badge)](https://github.com/TenEplaysOfficial/js-utils-kit/blob/main/LICENSE)
7
+ [![Bundle size](https://img.shields.io/bundlephobia/minzip/js-utils-kit?style=for-the-badge)](https://bundlephobia.com/package/js-utils-kit)
8
+ [![Build](https://img.shields.io/github/actions/workflow/status/TenEplaysOfficial/js-utils-kit/weekly-release.yml?label=Build&style=for-the-badge)](https://github.com/TenEplaysOfficial/js-utils-kit)
9
+ [![GitHub stars](https://img.shields.io/github/stars/TenEplaysOfficial/js-utils-kit?style=for-the-badge)](https://github.com/TenEplaysOfficial/js-utils-kit/stargazers)
10
+ [![Issues](https://img.shields.io/github/issues/TenEplaysOfficial/js-utils-kit?style=for-the-badge)](https://github.com/TenEplaysOfficial/js-utils-kit/issues)
11
+ [![PRs](https://img.shields.io/github/issues-pr/TenEplaysOfficial/js-utils-kit?style=for-the-badge)](https://github.com/TenEplaysOfficial/js-utils-kit/pulls)
12
+ [![Last Commit](https://img.shields.io/github/last-commit/TenEplaysOfficial/js-utils-kit?style=for-the-badge)](https://github.com/TenEplaysOfficial/js-utils-kit/commits)
13
+ [![Discussions](https://img.shields.io/github/discussions/TenEplaysOfficial/js-utils-kit?style=for-the-badge)](https://github.com/TenEplaysOfficial/js-utils-kit/discussions)
14
+ [![Downloads](https://img.shields.io/npm/dm/js-utils-kit?style=for-the-badge)](https://www.npmjs.com/package/js-utils-kit)
15
+ [![GitHub repo size](https://img.shields.io/github/repo-size/TenEplaysOfficial/js-utils-kit?style=for-the-badge)](https://github.com/TenEplaysOfficial/js-utils-kit)
16
+ [![Type Support](https://img.shields.io/badge/type-support-blue?style=for-the-badge)](https://github.com/TenEplaysOfficial/js-utils-kit)
17
+ [![Sponsor](https://img.shields.io/badge/funding-sponsor-yellow?style=for-the-badge)](https://github.com/sponsors/TenEplaysOfficial)
18
+ [![Follow @teneplays on X](https://img.shields.io/badge/follow-@teneplays-fff?logo=x&style=for-the-badge)](https://x.com/teneplays)
19
+
20
+ </div>
21
+
22
+ **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.
23
+
24
+ > Streamline your code with battle-tested, tree-shakable utilities.
25
+
26
+ This package includes utilities designed for both browser and Node.js environments, clearly organized and optimized for cross-platform compatibility.
27
+
28
+ ## Installation
29
+
30
+ ```sh
31
+ yarn add js-utils-kit
32
+ # or
33
+ npm install js-utils-kit
34
+ ```
35
+
36
+ ## Usage
37
+
38
+ `js-utils-kit` offers a modular structure for utilities across different categories like `number`, `string`, `array`, `object`, `env`, and more. You can use full or scoped imports depending on your preference and project setup.
39
+
40
+ ### Recommended Import
41
+
42
+ Import only what you need by utility category:
43
+
44
+ ```ts
45
+ import number from 'js-utils-kit/number';
46
+ import string from 'js-utils-kit/string';
47
+ import array from 'js-utils-kit/array';
48
+ import object from 'js-utils-kit/object';
49
+ import env from 'js-utils-kit/env';
50
+
51
+ console.log(number.clamp(150, 0, 100)); // 100
52
+ console.log(string.capitalize('hello world')); // 'Hello World'
53
+ console.log(array.unique([1, 2, 2, 3])); // [1, 2, 3]
54
+ console.log(object.isEmpty({})); // true
55
+ console.log(env.isBrowser()); // true/false
56
+ ```
57
+
58
+ ### Full Import (All utils in one namespace)
59
+
60
+ ```ts
61
+ import * as kit from 'js-utils-kit';
62
+
63
+ console.log(kit.number.clamp(150, 0, 100)); // 100
64
+ console.log(kit.string.capitalize('hello')); // 'Hello'
65
+ console.log(kit.array.unique([1, 1, 2])); // [1, 2]
66
+ console.log(kit.object.isEmpty({})); // true
67
+ console.log(kit.env.isNode()); // true/false
68
+ ```
69
+
70
+ ### Named Imports
71
+
72
+ ```ts
73
+ import { number, string, env } from 'js-utils-kit';
74
+
75
+ console.log(number.clamp(42, 0, 100)); // 42
76
+ console.log(string.capitalize('js-utils-kit')); // 'Js-utils-kit'
77
+ console.log(env.isDev()); // true/false
78
+ ```
79
+
80
+ ### CommonJS Usage
81
+
82
+ ```js
83
+ const { number, string, array, object, env } = require('js-utils-kit');
84
+
85
+ console.log(number.clamp(150, 0, 100)); // 100
86
+ console.log(string.capitalize('hello world')); // 'Hello World'
87
+ console.log(array.unique([1, 2, 2, 3])); // [1, 2, 3]
88
+ console.log(object.isEmpty({})); // true
89
+ console.log(env.isBrowser()); // true/false
90
+ ```
91
+
92
+ ## Features
93
+
94
+ - Organized by category (e.g., `number`, `string`, `file`, etc.)
95
+ - Fully typed with TypeScript
96
+ - Thoroughly tested with Jest
97
+ - Tree-shakable and supports both ESM and CJS
98
+ - CLI-ready tools for file and system operations
99
+
100
+ ## Documentation
101
+
102
+ Full documentation available at [GitHub Pages](https://teneplaysofficial.github.io/js-utils-kit/)
103
+
104
+ ## Requirements
105
+
106
+ - Node.js: Version `18.0.0` or higher
107
+ - Yarn (or npm as an alternative)
108
+ - TypeScript (optional, for TypeScript projects or development)
109
+ - Browsers: Modern browsers for browser-based usage
110
+
111
+ ## Contributing
112
+
113
+ We welcome contributions whether it's fixing bugs, adding utilities, improving docs, or writing tests. See [CONTRIBUTING.md](./CONTRIBUTING.md) for guidelines and join our [GitHub Discussions](https://github.com/TenEplaysOfficial/js-utils-kit/discussions) to share ideas or propose features.
114
+
115
+ ## FAQ
116
+
117
+ <details>
118
+ <summary>Does it work in browsers?</summary>
119
+
120
+ Yes, **JS Utils Kit** is compatible with modern browsers and Node.js.
121
+
122
+ </details>
123
+
124
+ <details>
125
+ <summary>Do I need TypeScript?</summary>
126
+
127
+ No, the library works in plain JavaScript, but TypeScript users benefit from full type definitions and editor support.
128
+
129
+ </details>
130
+
131
+ <details>
132
+ <summary>How do I report a bug?</summary>
133
+
134
+ Open an issue on [GitHub](https://github.com/TenEplaysOfficial/js-utils-kit/issues) or join the [Discussions](https://github.com/TenEplaysOfficial/js-utils-kit/discussions) to ask questions or share feedback.
135
+
136
+ </details>
137
+
138
+ <details>
139
+ <summary>How can I optimize bundle size?</summary>
140
+
141
+ Import only what you need:
142
+
143
+ ```ts
144
+ import { clamp } from 'js-utils-kit/number';
145
+ ```
146
+
147
+ This enables tree-shaking for smaller, optimized bundles.
148
+
149
+ </details>
150
+
151
+ ## License
152
+
153
+ Released under the [MIT License](LICENSE)
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});const r=()=>Array.from({length:26},(r,e)=>String.fromCharCode(97+e)),e=()=>Array.from({length:26},(r,e)=>String.fromCharCode(65+e)),o=()=>Array.from({length:10},(r,e)=>String.fromCharCode(48+e)),t=()=>[...r(),...e(),...o()];var s={lowercase:r,uppercase:e,digits:o,all:t};exports.all=t,exports.default=s,exports.digits=o,exports.lowercase=r,exports.uppercase=e;
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Generates an array of lowercase ASCII alphabet characters (a–z).
3
+ *
4
+ * @returns {string[]} An array containing 'a' to 'z'.
5
+ * @example
6
+ * lowercase(); // ['a', 'b', ..., 'z']
7
+ */
8
+ declare const lowercase: () => string[];
9
+ /**
10
+ * Generates an array of uppercase ASCII alphabet characters (A–Z).
11
+ *
12
+ * @returns {string[]} An array containing 'A' to 'Z'.
13
+ * @example
14
+ * uppercase(); // ['A', 'B', ..., 'Z']
15
+ */
16
+ declare const uppercase: () => string[];
17
+ /**
18
+ * Generates an array of ASCII digit characters (0–9).
19
+ *
20
+ * @returns {string[]} An array containing '0' to '9'.
21
+ * @example
22
+ * digits(); // ['0', '1', ..., '9']
23
+ */
24
+ declare const digits: () => string[];
25
+ /**
26
+ * Combines lowercase, uppercase, and digit characters into a single array.
27
+ *
28
+ * @returns {string[]} An array containing 'a'–'z', 'A'–'Z', and '0'–'9'.
29
+ * @example
30
+ * all(); // ['a', ..., 'z', 'A', ..., 'Z', '0', ..., '9']
31
+ */
32
+ declare const all: () => string[];
33
+
34
+ declare const _default: {
35
+ lowercase: () => string[];
36
+ uppercase: () => string[];
37
+ digits: () => string[];
38
+ all: () => string[];
39
+ };
40
+
41
+ export { all, _default as default, digits, lowercase, uppercase };
@@ -0,0 +1 @@
1
+ const r=()=>Array.from({length:26},(r,a)=>String.fromCharCode(97+a)),a=()=>Array.from({length:26},(r,a)=>String.fromCharCode(65+a)),e=()=>Array.from({length:10},(r,a)=>String.fromCharCode(48+a)),o=()=>[...r(),...a(),...e()];var t={lowercase:r,uppercase:a,digits:e,all:o};export{o as all,t as default,e as digits,r as lowercase,a as uppercase};