jz-toolkit 1.0.1 → 1.0.2

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
@@ -25,31 +25,31 @@ npm install jzlib
25
25
  ### 完整导入
26
26
 
27
27
  ```typescript
28
- import * as _ from 'jzlib';
28
+ import * as _ from "jzlib";
29
29
 
30
- _.chunk([1, 2, 3, 4, 5], 2); // [[1, 2], [3, 4], [5]]
31
- _.capitalize('hello'); // 'Hello'
30
+ _.chunk([1, 2, 3, 4, 5], 2); // [[1, 2], [3, 4], [5]]
31
+ _.capitalize("hello"); // 'Hello'
32
32
  ```
33
33
 
34
34
  ### 按需导入
35
35
 
36
36
  ```typescript
37
- import { chunk, capitalize } from 'jzlib';
37
+ import { chunk, capitalize } from "jzlib";
38
38
 
39
- chunk([1, 2, 3, 4, 5], 2); // [[1, 2], [3, 4], [5]]
40
- capitalize('hello'); // 'Hello'
39
+ chunk([1, 2, 3, 4, 5], 2); // [[1, 2], [3, 4], [5]]
40
+ capitalize("hello"); // 'Hello'
41
41
  ```
42
42
 
43
43
  ### 模块导入
44
44
 
45
45
  ```typescript
46
- import * as array from 'jzlib/array';
47
- import * as object from 'jzlib/object';
48
- import * as string from 'jzlib/string';
46
+ import * as array from "jzlib/array";
47
+ import * as object from "jzlib/object";
48
+ import * as string from "jzlib/string";
49
49
 
50
50
  array.chunk([1, 2, 3, 4], 2);
51
- object.pick({ a: 1, b: 2 }, ['a']);
52
- string.capitalize('world');
51
+ object.pick({ a: 1, b: 2 }, ["a"]);
52
+ string.capitalize("world");
53
53
  ```
54
54
 
55
55
  ## 📚 API 文档
@@ -57,6 +57,7 @@ string.capitalize('world');
57
57
  ### 数组 (Array)
58
58
 
59
59
  #### `chunk(array, size)`
60
+
60
61
  将数组分成指定大小的块。
61
62
 
62
63
  ```typescript
@@ -65,52 +66,58 @@ chunk([1, 2, 3, 4, 5], 2);
65
66
  ```
66
67
 
67
68
  #### `compact(array)`
69
+
68
70
  移除数组中的虚值。
69
71
 
70
72
  ```typescript
71
- compact([0, 1, false, 2, '', 3, undefined, 4, null, NaN]);
73
+ compact([0, 1, false, 2, "", 3, undefined, 4, null, NaN]);
72
74
  // => [1, 2, 3, 4]
73
75
  ```
74
76
 
75
77
  ### 对象 (Object)
76
78
 
77
79
  #### `pick(obj, keys)`
80
+
78
81
  从对象中选择指定的属性。
79
82
 
80
83
  ```typescript
81
- pick({ a: 1, b: 2, c: 3 }, ['a', 'c']);
84
+ pick({ a: 1, b: 2, c: 3 }, ["a", "c"]);
82
85
  // => { a: 1, c: 3 }
83
86
  ```
84
87
 
85
88
  #### `omit(obj, keys)`
89
+
86
90
  从对象中排除指定的属性。
87
91
 
88
92
  ```typescript
89
- omit({ a: 1, b: 2, c: 3 }, ['b']);
93
+ omit({ a: 1, b: 2, c: 3 }, ["b"]);
90
94
  // => { a: 1, c: 3 }
91
95
  ```
92
96
 
93
97
  ### 字符串 (String)
94
98
 
95
99
  #### `capitalize(str)`
100
+
96
101
  将字符串首字母转为大写。
97
102
 
98
103
  ```typescript
99
- capitalize('hello');
104
+ capitalize("hello");
100
105
  // => 'Hello'
101
106
  ```
102
107
 
103
108
  #### `camelCase(str)`
109
+
104
110
  将字符串转换为驼峰式命名法。
105
111
 
106
112
  ```typescript
107
- camelCase('hello-world');
113
+ camelCase("hello-world");
108
114
  // => 'helloWorld'
109
115
  ```
110
116
 
111
117
  ### 工具函数 (Utility)
112
118
 
113
119
  #### 类型检查
120
+
114
121
  - `isString(value)` - 检查是否为字符串
115
122
  - `isNumber(value)` - 检查是否为数字
116
123
  - `isBoolean(value)` - 检查是否为布尔值
@@ -126,49 +133,61 @@ camelCase('hello-world');
126
133
  - `isNullOrUndefined(value)` - 检查是否为 null 或 undefined
127
134
 
128
135
  #### `isEmpty(value)`
136
+
129
137
  检查值是否为空。
130
138
 
131
139
  ```typescript
132
- isEmpty([]); // => true
133
- isEmpty({}); // => true
134
- isEmpty(''); // => true
135
- isEmpty(null); // => true
136
- isEmpty('hello'); // => false
140
+ isEmpty([]); // => true
141
+ isEmpty({}); // => true
142
+ isEmpty(""); // => true
143
+ isEmpty(null); // => true
144
+ isEmpty("hello"); // => false
137
145
  ```
138
146
 
147
+ ### mapToArray
148
+
149
+ mapToArray(new Map<string, number>([["a", 1], ["b", 2], ["c", 3]])) // => [1, 2, 3]
150
+
139
151
  ## 开发
140
152
 
141
153
  ### 安装依赖
154
+
142
155
  ```bash
143
156
  npm install
144
157
  ```
145
158
 
146
159
  ### 构建
160
+
147
161
  ```bash
148
162
  npm run build
149
163
  ```
150
164
 
151
165
  ### 开发模式(监视文件变化)
166
+
152
167
  ```bash
153
168
  npm run dev
154
169
  ```
155
170
 
156
171
  ### 运行测试
172
+
157
173
  ```bash
158
174
  npm test
159
175
  ```
160
176
 
161
177
  ### 查看测试覆盖率
178
+
162
179
  ```bash
163
180
  npm run test:coverage
164
181
  ```
165
182
 
166
183
  ### 代码格式化
184
+
167
185
  ```bash
168
186
  npm run format
169
187
  ```
170
188
 
171
189
  ### Linting
190
+
172
191
  ```bash
173
192
  npm run lint
174
193
  ```
@@ -0,0 +1,2 @@
1
+ export * from "./mapToArray";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/mapToArray/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC"}
@@ -0,0 +1 @@
1
+ export * from "./mapToArray";
@@ -0,0 +1,10 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,14 @@
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
+ }
@@ -0,0 +1,2 @@
1
+ export * from "./mapToArray";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mapToArray/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC"}
@@ -0,0 +1,17 @@
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);
@@ -0,0 +1,10 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,18 @@
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;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "jz-toolkit",
3
- "version": "1.0.1",
4
- "description": "一个轻量级的、类似 Lodash 的 JavaScript 工具库",
3
+ "version": "1.0.2",
4
+ "description": "一个轻量级的JavaScript/TypeScript 工具库",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
7
7
  "module": "dist/esm/index.js",