jz-toolkit 1.0.2 → 1.0.4

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,4 +1,4 @@
1
- # jz-toolkit
1
+ # jzlib
2
2
 
3
3
  🚀 一个轻量级、功能丰富的 JavaScript/TypeScript 工具库,类似 Lodash,但更小更快。
4
4
 
@@ -14,6 +14,19 @@
14
14
 
15
15
  📚 **良好文档** - 每个函数都有详细的文档和示例
16
16
 
17
+
18
+ ## 文档查阅
19
+ ## JZ Toolkit 文档
20
+
21
+ 基于 VitePress 构建的工具库文档站点。
22
+
23
+
24
+
25
+ 大家可以访问 http://172.81.245.148:8098/api/utils.html 查看文档。
26
+
27
+
28
+
29
+
17
30
  ## 安装
18
31
 
19
32
  ```bash
@@ -25,31 +38,31 @@ npm install jzlib
25
38
  ### 完整导入
26
39
 
27
40
  ```typescript
28
- import * as _ from "jzlib";
41
+ import * as _ from 'jzlib';
29
42
 
30
- _.chunk([1, 2, 3, 4, 5], 2); // [[1, 2], [3, 4], [5]]
31
- _.capitalize("hello"); // 'Hello'
43
+ _.chunk([1, 2, 3, 4, 5], 2); // [[1, 2], [3, 4], [5]]
44
+ _.capitalize('hello'); // 'Hello'
32
45
  ```
33
46
 
34
47
  ### 按需导入
35
48
 
36
49
  ```typescript
37
- import { chunk, capitalize } from "jzlib";
50
+ import { chunk, capitalize } from 'jzlib';
38
51
 
39
- chunk([1, 2, 3, 4, 5], 2); // [[1, 2], [3, 4], [5]]
40
- capitalize("hello"); // 'Hello'
52
+ chunk([1, 2, 3, 4, 5], 2); // [[1, 2], [3, 4], [5]]
53
+ capitalize('hello'); // 'Hello'
41
54
  ```
42
55
 
43
56
  ### 模块导入
44
57
 
45
58
  ```typescript
46
- import * as array from "jzlib/array";
47
- import * as object from "jzlib/object";
48
- import * as string from "jzlib/string";
59
+ import * as array from 'jzlib/array';
60
+ import * as object from 'jzlib/object';
61
+ import * as string from 'jzlib/string';
49
62
 
50
63
  array.chunk([1, 2, 3, 4], 2);
51
- object.pick({ a: 1, b: 2 }, ["a"]);
52
- string.capitalize("world");
64
+ object.pick({ a: 1, b: 2 }, ['a']);
65
+ string.capitalize('world');
53
66
  ```
54
67
 
55
68
  ## 📚 API 文档
@@ -57,7 +70,6 @@ string.capitalize("world");
57
70
  ### 数组 (Array)
58
71
 
59
72
  #### `chunk(array, size)`
60
-
61
73
  将数组分成指定大小的块。
62
74
 
63
75
  ```typescript
@@ -66,58 +78,52 @@ chunk([1, 2, 3, 4, 5], 2);
66
78
  ```
67
79
 
68
80
  #### `compact(array)`
69
-
70
81
  移除数组中的虚值。
71
82
 
72
83
  ```typescript
73
- compact([0, 1, false, 2, "", 3, undefined, 4, null, NaN]);
84
+ compact([0, 1, false, 2, '', 3, undefined, 4, null, NaN]);
74
85
  // => [1, 2, 3, 4]
75
86
  ```
76
87
 
77
88
  ### 对象 (Object)
78
89
 
79
90
  #### `pick(obj, keys)`
80
-
81
91
  从对象中选择指定的属性。
82
92
 
83
93
  ```typescript
84
- pick({ a: 1, b: 2, c: 3 }, ["a", "c"]);
94
+ pick({ a: 1, b: 2, c: 3 }, ['a', 'c']);
85
95
  // => { a: 1, c: 3 }
86
96
  ```
87
97
 
88
98
  #### `omit(obj, keys)`
89
-
90
99
  从对象中排除指定的属性。
91
100
 
92
101
  ```typescript
93
- omit({ a: 1, b: 2, c: 3 }, ["b"]);
102
+ omit({ a: 1, b: 2, c: 3 }, ['b']);
94
103
  // => { a: 1, c: 3 }
95
104
  ```
96
105
 
97
106
  ### 字符串 (String)
98
107
 
99
108
  #### `capitalize(str)`
100
-
101
109
  将字符串首字母转为大写。
102
110
 
103
111
  ```typescript
104
- capitalize("hello");
112
+ capitalize('hello');
105
113
  // => 'Hello'
106
114
  ```
107
115
 
108
116
  #### `camelCase(str)`
109
-
110
117
  将字符串转换为驼峰式命名法。
111
118
 
112
119
  ```typescript
113
- camelCase("hello-world");
120
+ camelCase('hello-world');
114
121
  // => 'helloWorld'
115
122
  ```
116
123
 
117
124
  ### 工具函数 (Utility)
118
125
 
119
126
  #### 类型检查
120
-
121
127
  - `isString(value)` - 检查是否为字符串
122
128
  - `isNumber(value)` - 检查是否为数字
123
129
  - `isBoolean(value)` - 检查是否为布尔值
@@ -133,61 +139,49 @@ camelCase("hello-world");
133
139
  - `isNullOrUndefined(value)` - 检查是否为 null 或 undefined
134
140
 
135
141
  #### `isEmpty(value)`
136
-
137
142
  检查值是否为空。
138
143
 
139
144
  ```typescript
140
- isEmpty([]); // => true
141
- isEmpty({}); // => true
142
- isEmpty(""); // => true
143
- isEmpty(null); // => true
144
- isEmpty("hello"); // => false
145
+ isEmpty([]); // => true
146
+ isEmpty({}); // => true
147
+ isEmpty(''); // => true
148
+ isEmpty(null); // => true
149
+ isEmpty('hello'); // => false
145
150
  ```
146
151
 
147
- ### mapToArray
148
-
149
- mapToArray(new Map<string, number>([["a", 1], ["b", 2], ["c", 3]])) // => [1, 2, 3]
150
-
151
152
  ## 开发
152
153
 
153
154
  ### 安装依赖
154
-
155
155
  ```bash
156
156
  npm install
157
157
  ```
158
158
 
159
159
  ### 构建
160
-
161
160
  ```bash
162
161
  npm run build
163
162
  ```
164
163
 
165
164
  ### 开发模式(监视文件变化)
166
-
167
165
  ```bash
168
166
  npm run dev
169
167
  ```
170
168
 
171
169
  ### 运行测试
172
-
173
170
  ```bash
174
171
  npm test
175
172
  ```
176
173
 
177
174
  ### 查看测试覆盖率
178
-
179
175
  ```bash
180
176
  npm run test:coverage
181
177
  ```
182
178
 
183
179
  ### 代码格式化
184
-
185
180
  ```bash
186
181
  npm run format
187
182
  ```
188
183
 
189
184
  ### Linting
190
-
191
185
  ```bash
192
186
  npm run lint
193
187
  ```
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.chunk = void 0;
3
+ exports.chunk = chunk;
4
4
  /**
5
5
  * 将数组分成指定大小的块
6
6
  * @param array 输入数组
@@ -21,4 +21,3 @@ function chunk(array, size) {
21
21
  }
22
22
  return result;
23
23
  }
24
- exports.chunk = chunk;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.compact = void 0;
3
+ exports.compact = compact;
4
4
  /**
5
5
  * 移除数组中的虚值(false、null、0、""、undefined 和 NaN)
6
6
  * @param array 输入数组
@@ -13,4 +13,3 @@ exports.compact = void 0;
13
13
  function compact(array) {
14
14
  return array.filter((item) => Boolean(item));
15
15
  }
16
- exports.compact = compact;
package/dist/index.js CHANGED
@@ -22,13 +22,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
22
22
  var __exportStar = (this && this.__exportStar) || function(m, exports) {
23
23
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
24
24
  };
25
- var __importStar = (this && this.__importStar) || function (mod) {
26
- if (mod && mod.__esModule) return mod;
27
- var result = {};
28
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
29
- __setModuleDefault(result, mod);
30
- return result;
31
- };
25
+ var __importStar = (this && this.__importStar) || (function () {
26
+ var ownKeys = function(o) {
27
+ ownKeys = Object.getOwnPropertyNames || function (o) {
28
+ var ar = [];
29
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
30
+ return ar;
31
+ };
32
+ return ownKeys(o);
33
+ };
34
+ return function (mod) {
35
+ if (mod && mod.__esModule) return mod;
36
+ var result = {};
37
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
38
+ __setModuleDefault(result, mod);
39
+ return result;
40
+ };
41
+ })();
32
42
  Object.defineProperty(exports, "__esModule", { value: true });
33
43
  exports.isEmpty = exports.isSet = exports.isMap = exports.isRegExp = exports.isDate = exports.isFunction = exports.isObject = exports.isArray = exports.isNullOrUndefined = exports.isUndefined = exports.isNull = exports.isBoolean = exports.isNumber = exports.isString = exports.camelCase = exports.capitalize = exports.omit = exports.pick = exports.compact = exports.chunk = exports.utility = exports.string = exports.object = exports.array = void 0;
34
44
  // 类型导出
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.omit = void 0;
3
+ exports.omit = omit;
4
4
  /**
5
5
  * 从对象中排除指定的属性
6
6
  * @param obj 源对象
@@ -22,4 +22,3 @@ function omit(obj, keys) {
22
22
  }
23
23
  return result;
24
24
  }
25
- exports.omit = omit;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.pick = void 0;
3
+ exports.pick = pick;
4
4
  /**
5
5
  * 从对象中选择指定的属性
6
6
  * @param obj 源对象
@@ -20,4 +20,3 @@ function pick(obj, keys) {
20
20
  }
21
21
  return result;
22
22
  }
23
- exports.pick = pick;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.camelCase = void 0;
3
+ exports.camelCase = camelCase;
4
4
  /**
5
5
  * 将字符串转换为驼峰式命名法
6
6
  * @param str 输入字符串
@@ -18,4 +18,3 @@ function camelCase(str) {
18
18
  .replace(/[-_\s]+(.)?/g, (_, char) => (char ? char.toUpperCase() : ''))
19
19
  .replace(/^(.)/, (char) => char.toLowerCase());
20
20
  }
21
- exports.camelCase = camelCase;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.capitalize = void 0;
3
+ exports.capitalize = capitalize;
4
4
  /**
5
5
  * 将字符串首字母转为大写
6
6
  * @param str 输入字符串
@@ -15,4 +15,3 @@ function capitalize(str) {
15
15
  }
16
16
  return str.charAt(0).toUpperCase() + str.slice(1);
17
17
  }
18
- exports.capitalize = capitalize;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isEmpty = void 0;
3
+ exports.isEmpty = isEmpty;
4
4
  /**
5
5
  * 检查值是否为空
6
6
  * @param value 要检查的值
@@ -27,4 +27,3 @@ function isEmpty(value) {
27
27
  }
28
28
  return false;
29
29
  }
30
- exports.isEmpty = isEmpty;
@@ -3,56 +3,55 @@
3
3
  * 检查值是否为指定类型
4
4
  */
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.isSet = exports.isMap = exports.isRegExp = exports.isDate = exports.isFunction = exports.isObject = exports.isArray = exports.isNullOrUndefined = exports.isUndefined = exports.isNull = exports.isBoolean = exports.isNumber = exports.isString = void 0;
6
+ exports.isString = isString;
7
+ exports.isNumber = isNumber;
8
+ exports.isBoolean = isBoolean;
9
+ exports.isNull = isNull;
10
+ exports.isUndefined = isUndefined;
11
+ exports.isNullOrUndefined = isNullOrUndefined;
12
+ exports.isArray = isArray;
13
+ exports.isObject = isObject;
14
+ exports.isFunction = isFunction;
15
+ exports.isDate = isDate;
16
+ exports.isRegExp = isRegExp;
17
+ exports.isMap = isMap;
18
+ exports.isSet = isSet;
7
19
  function isString(value) {
8
20
  return typeof value === 'string';
9
21
  }
10
- exports.isString = isString;
11
22
  function isNumber(value) {
12
23
  return typeof value === 'number' && !Number.isNaN(value);
13
24
  }
14
- exports.isNumber = isNumber;
15
25
  function isBoolean(value) {
16
26
  return typeof value === 'boolean';
17
27
  }
18
- exports.isBoolean = isBoolean;
19
28
  function isNull(value) {
20
29
  return value === null;
21
30
  }
22
- exports.isNull = isNull;
23
31
  function isUndefined(value) {
24
32
  return value === undefined;
25
33
  }
26
- exports.isUndefined = isUndefined;
27
34
  function isNullOrUndefined(value) {
28
35
  return value === null || value === undefined;
29
36
  }
30
- exports.isNullOrUndefined = isNullOrUndefined;
31
37
  function isArray(value) {
32
38
  return Array.isArray(value);
33
39
  }
34
- exports.isArray = isArray;
35
40
  function isObject(value) {
36
41
  return value !== null && typeof value === 'object' && !Array.isArray(value);
37
42
  }
38
- exports.isObject = isObject;
39
43
  function isFunction(value) {
40
44
  return typeof value === 'function';
41
45
  }
42
- exports.isFunction = isFunction;
43
46
  function isDate(value) {
44
47
  return value instanceof Date;
45
48
  }
46
- exports.isDate = isDate;
47
49
  function isRegExp(value) {
48
50
  return value instanceof RegExp;
49
51
  }
50
- exports.isRegExp = isRegExp;
51
52
  function isMap(value) {
52
53
  return value instanceof Map;
53
54
  }
54
- exports.isMap = isMap;
55
55
  function isSet(value) {
56
56
  return value instanceof Set;
57
57
  }
58
- exports.isSet = isSet;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "jz-toolkit",
3
- "version": "1.0.2",
4
- "description": "一个轻量级的JavaScript/TypeScript 工具库",
3
+ "version": "1.0.4",
4
+ "description": "一个轻量级的、类似 Lodash 的 JavaScript 工具库",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
7
7
  "module": "dist/esm/index.js",
@@ -1,2 +0,0 @@
1
- export * from "./mapToArray";
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/mapToArray/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC"}
@@ -1 +0,0 @@
1
- export * from "./mapToArray";
@@ -1,10 +0,0 @@
1
- /**
2
- * 将 Map 转换为数组
3
- * @param map 输入 Map
4
- * @returns 转换后的数组
5
- *
6
- * @example
7
- * mapToArray(new Map<string, number>([["a", 1], ["b", 2], ["c", 3]])) // => [1, 2, 3]
8
- */
9
- export declare function mapToArray<T>(map: Map<string, T>): T[];
10
- //# sourceMappingURL=mapToArray.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mapToArray.d.ts","sourceRoot":"","sources":["../../../src/mapToArray/mapToArray.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAKtD"}
@@ -1,14 +0,0 @@
1
- /**
2
- * 将 Map 转换为数组
3
- * @param map 输入 Map
4
- * @returns 转换后的数组
5
- *
6
- * @example
7
- * mapToArray(new Map<string, number>([["a", 1], ["b", 2], ["c", 3]])) // => [1, 2, 3]
8
- */
9
- export function mapToArray(map) {
10
- if (map.size === 0) {
11
- return [];
12
- }
13
- return Array.from(map.values());
14
- }
@@ -1,2 +0,0 @@
1
- export * from "./mapToArray";
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mapToArray/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC"}
@@ -1,17 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./mapToArray"), exports);
@@ -1,10 +0,0 @@
1
- /**
2
- * 将 Map 转换为数组
3
- * @param map 输入 Map
4
- * @returns 转换后的数组
5
- *
6
- * @example
7
- * mapToArray(new Map<string, number>([["a", 1], ["b", 2], ["c", 3]])) // => [1, 2, 3]
8
- */
9
- export declare function mapToArray<T>(map: Map<string, T>): T[];
10
- //# sourceMappingURL=mapToArray.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mapToArray.d.ts","sourceRoot":"","sources":["../../src/mapToArray/mapToArray.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAKtD"}
@@ -1,18 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.mapToArray = void 0;
4
- /**
5
- * 将 Map 转换为数组
6
- * @param map 输入 Map
7
- * @returns 转换后的数组
8
- *
9
- * @example
10
- * mapToArray(new Map<string, number>([["a", 1], ["b", 2], ["c", 3]])) // => [1, 2, 3]
11
- */
12
- function mapToArray(map) {
13
- if (map.size === 0) {
14
- return [];
15
- }
16
- return Array.from(map.values());
17
- }
18
- exports.mapToArray = mapToArray;