@isdk/util 0.3.9 → 0.3.10

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.
Files changed (64) hide show
  1. package/dist/index.d.mts +247 -142
  2. package/dist/index.d.ts +247 -142
  3. package/dist/index.js +1 -1
  4. package/dist/index.mjs +1 -1
  5. package/docs/classes/BinarySemaphore.md +145 -64
  6. package/docs/classes/ConfigFile.md +8 -8
  7. package/docs/classes/Deque.md +109 -105
  8. package/docs/classes/IntSet.md +12 -12
  9. package/docs/classes/Semaphore.md +149 -77
  10. package/docs/classes/SignalGate.md +11 -11
  11. package/docs/functions/RateLimit.md +30 -7
  12. package/docs/functions/arrayHasAll.md +1 -1
  13. package/docs/functions/extNameLevel.md +1 -1
  14. package/docs/functions/extractCodeBlock.md +3 -3
  15. package/docs/functions/extractTopLevelCodeBlocks.md +1 -1
  16. package/docs/functions/filenameReservedRegex.md +1 -1
  17. package/docs/functions/findPort.md +5 -5
  18. package/docs/functions/getMultiLevelExtname.md +1 -1
  19. package/docs/functions/glob.md +1 -1
  20. package/docs/functions/isStringIn.md +3 -3
  21. package/docs/functions/isValidFilename.md +1 -1
  22. package/docs/functions/isValidFilepath.md +1 -1
  23. package/docs/functions/normalizeIncludeFiles.md +3 -3
  24. package/docs/functions/omitDeepBy.md +1 -1
  25. package/docs/functions/omitEmptyDeep.md +1 -1
  26. package/docs/functions/parseCodeBlockSelector.md +2 -2
  27. package/docs/functions/parseFrontMatter.md +1 -1
  28. package/docs/functions/parseYaml.md +1 -1
  29. package/docs/functions/reControlCharsRegex.md +1 -1
  30. package/docs/functions/registerYamlTag.md +3 -3
  31. package/docs/functions/removeLeadingEmptyLines.md +1 -1
  32. package/docs/functions/sanitizeFilename.md +1 -1
  33. package/docs/functions/sanitizeFilepath.md +1 -1
  34. package/docs/functions/sleep.md +1 -1
  35. package/docs/functions/stringifyYaml.md +1 -1
  36. package/docs/functions/toCamelCase.md +1 -1
  37. package/docs/functions/toCapitalCase.md +1 -1
  38. package/docs/functions/toPascalCase.md +1 -1
  39. package/docs/functions/traverseFolder.md +1 -1
  40. package/docs/functions/traverseFolderSync.md +1 -1
  41. package/docs/functions/yieldExec.md +1 -1
  42. package/docs/interfaces/BinarySemaphoreAcquireOptions.md +11 -4
  43. package/docs/interfaces/BinarySemaphoreOptions.md +29 -12
  44. package/docs/interfaces/BinarySemaphoreReleaseOptions.md +10 -4
  45. package/docs/interfaces/BinarySemaphoreReleaserFunc.md +14 -5
  46. package/docs/interfaces/CodeBlockSelectorPart.md +4 -4
  47. package/docs/interfaces/CodeString.md +89 -89
  48. package/docs/interfaces/ExtractCodeBlockOptions.md +9 -9
  49. package/docs/interfaces/FindPortOptions.md +5 -5
  50. package/docs/interfaces/IncludeFiles.md +5 -5
  51. package/docs/interfaces/LoadConfigFileOptions.md +5 -5
  52. package/docs/interfaces/SanitizeFilenameOptions.md +5 -5
  53. package/docs/interfaces/SemaphoreOptions.md +39 -16
  54. package/docs/interfaces/SemaphoreTaskItem.md +23 -10
  55. package/docs/type-aliases/CodeBlockCombinator.md +1 -1
  56. package/docs/type-aliases/SemaphoreIsReadyFuncType.md +5 -2
  57. package/docs/type-aliases/StringifyFunc.md +2 -2
  58. package/docs/type-aliases/TraverseFolderHandler.md +2 -2
  59. package/docs/type-aliases/TraverseFolderSyncHandler.md +2 -2
  60. package/docs/variables/DefaultAllTextFiles.md +1 -1
  61. package/docs/variables/DefaultAsyncSemaphoreCapacity.md +4 -1
  62. package/docs/variables/FilenameReservedRegex.md +1 -1
  63. package/docs/variables/WindowsReservedNameRegex.md +1 -1
  64. package/package.json +20 -17
@@ -6,7 +6,7 @@
6
6
 
7
7
  # Interface: ExtractCodeBlockOptions
8
8
 
9
- Defined in: [src/extract-code-block.ts:53](https://github.com/isdk/util.js/blob/30c54a8a455a9593000448de2a45f94a197d73de/src/extract-code-block.ts#L53)
9
+ Defined in: [src/extract-code-block.ts:53](https://github.com/isdk/util.js/blob/c98bd1bf94d1b1dc8d01c6b9a6fc50b4beec5c62/src/extract-code-block.ts#L53)
10
10
 
11
11
  Options for extracting code blocks.
12
12
 
@@ -14,9 +14,9 @@ Options for extracting code blocks.
14
14
 
15
15
  ### all?
16
16
 
17
- > `optional` **all**: `boolean`
17
+ > `optional` **all?**: `boolean`
18
18
 
19
- Defined in: [src/extract-code-block.ts:71](https://github.com/isdk/util.js/blob/30c54a8a455a9593000448de2a45f94a197d73de/src/extract-code-block.ts#L71)
19
+ Defined in: [src/extract-code-block.ts:71](https://github.com/isdk/util.js/blob/c98bd1bf94d1b1dc8d01c6b9a6fc50b4beec5c62/src/extract-code-block.ts#L71)
20
20
 
21
21
  Optional. If true, returns an array of all matching code blocks.
22
22
 
@@ -24,9 +24,9 @@ Optional. If true, returns an array of all matching code blocks.
24
24
 
25
25
  ### index?
26
26
 
27
- > `optional` **index**: `number`
27
+ > `optional` **index?**: `number`
28
28
 
29
- Defined in: [src/extract-code-block.ts:67](https://github.com/isdk/util.js/blob/30c54a8a455a9593000448de2a45f94a197d73de/src/extract-code-block.ts#L67)
29
+ Defined in: [src/extract-code-block.ts:67](https://github.com/isdk/util.js/blob/c98bd1bf94d1b1dc8d01c6b9a6fc50b4beec5c62/src/extract-code-block.ts#L67)
30
30
 
31
31
  Optional. The 0-based index of the code block to extract from the final result set.
32
32
  Supports negative indexing: -1 means the last one, -2 means the second to last, etc.
@@ -36,9 +36,9 @@ Defaults to -1.
36
36
 
37
37
  ### lang?
38
38
 
39
- > `optional` **lang**: `string`
39
+ > `optional` **lang?**: `string` \| `string`[]
40
40
 
41
- Defined in: [src/extract-code-block.ts:61](https://github.com/isdk/util.js/blob/30c54a8a455a9593000448de2a45f94a197d73de/src/extract-code-block.ts#L61)
41
+ Defined in: [src/extract-code-block.ts:61](https://github.com/isdk/util.js/blob/c98bd1bf94d1b1dc8d01c6b9a6fc50b4beec5c62/src/extract-code-block.ts#L61)
42
42
 
43
43
  Optional. The expected language identifier or a CSS-like selector path.
44
44
  Supports aliases (e.g., 'js' for 'javascript').
@@ -57,8 +57,8 @@ Supports aliases (e.g., 'js' for 'javascript').
57
57
 
58
58
  ### langMap?
59
59
 
60
- > `optional` **langMap**: `Record`\<`string`, `string`\>
60
+ > `optional` **langMap?**: `Record`\<`string`, `string`\>
61
61
 
62
- Defined in: [src/extract-code-block.ts:75](https://github.com/isdk/util.js/blob/30c54a8a455a9593000448de2a45f94a197d73de/src/extract-code-block.ts#L75)
62
+ Defined in: [src/extract-code-block.ts:75](https://github.com/isdk/util.js/blob/c98bd1bf94d1b1dc8d01c6b9a6fc50b4beec5c62/src/extract-code-block.ts#L75)
63
63
 
64
64
  Optional. A map of language aliases to their normalized names.
@@ -6,20 +6,20 @@
6
6
 
7
7
  # Interface: FindPortOptions
8
8
 
9
- Defined in: [src/find-port.ts:3](https://github.com/isdk/util.js/blob/30c54a8a455a9593000448de2a45f94a197d73de/src/find-port.ts#L3)
9
+ Defined in: [src/find-port.ts:3](https://github.com/isdk/util.js/blob/c98bd1bf94d1b1dc8d01c6b9a6fc50b4beec5c62/src/find-port.ts#L3)
10
10
 
11
11
  ## Properties
12
12
 
13
13
  ### host?
14
14
 
15
- > `optional` **host**: `string`
15
+ > `optional` **host?**: `string`
16
16
 
17
- Defined in: [src/find-port.ts:5](https://github.com/isdk/util.js/blob/30c54a8a455a9593000448de2a45f94a197d73de/src/find-port.ts#L5)
17
+ Defined in: [src/find-port.ts:5](https://github.com/isdk/util.js/blob/c98bd1bf94d1b1dc8d01c6b9a6fc50b4beec5c62/src/find-port.ts#L5)
18
18
 
19
19
  ***
20
20
 
21
21
  ### retryCount?
22
22
 
23
- > `optional` **retryCount**: `number`
23
+ > `optional` **retryCount?**: `number`
24
24
 
25
- Defined in: [src/find-port.ts:4](https://github.com/isdk/util.js/blob/30c54a8a455a9593000448de2a45f94a197d73de/src/find-port.ts#L4)
25
+ Defined in: [src/find-port.ts:4](https://github.com/isdk/util.js/blob/c98bd1bf94d1b1dc8d01c6b9a6fc50b4beec5c62/src/find-port.ts#L4)
@@ -6,20 +6,20 @@
6
6
 
7
7
  # Interface: IncludeFiles
8
8
 
9
- Defined in: [src/include-files.ts:6](https://github.com/isdk/util.js/blob/30c54a8a455a9593000448de2a45f94a197d73de/src/include-files.ts#L6)
9
+ Defined in: [src/include-files.ts:6](https://github.com/isdk/util.js/blob/c98bd1bf94d1b1dc8d01c6b9a6fc50b4beec5c62/src/include-files.ts#L6)
10
10
 
11
11
  ## Properties
12
12
 
13
13
  ### exclude?
14
14
 
15
- > `optional` **exclude**: `string`[]
15
+ > `optional` **exclude?**: `string`[]
16
16
 
17
- Defined in: [src/include-files.ts:8](https://github.com/isdk/util.js/blob/30c54a8a455a9593000448de2a45f94a197d73de/src/include-files.ts#L8)
17
+ Defined in: [src/include-files.ts:8](https://github.com/isdk/util.js/blob/c98bd1bf94d1b1dc8d01c6b9a6fc50b4beec5c62/src/include-files.ts#L8)
18
18
 
19
19
  ***
20
20
 
21
21
  ### include?
22
22
 
23
- > `optional` **include**: `string`[]
23
+ > `optional` **include?**: `string`[]
24
24
 
25
- Defined in: [src/include-files.ts:7](https://github.com/isdk/util.js/blob/30c54a8a455a9593000448de2a45f94a197d73de/src/include-files.ts#L7)
25
+ Defined in: [src/include-files.ts:7](https://github.com/isdk/util.js/blob/c98bd1bf94d1b1dc8d01c6b9a6fc50b4beec5c62/src/include-files.ts#L7)
@@ -6,20 +6,20 @@
6
6
 
7
7
  # Interface: LoadConfigFileOptions
8
8
 
9
- Defined in: [src/config-file.ts:20](https://github.com/isdk/util.js/blob/30c54a8a455a9593000448de2a45f94a197d73de/src/config-file.ts#L20)
9
+ Defined in: [src/config-file.ts:20](https://github.com/isdk/util.js/blob/c98bd1bf94d1b1dc8d01c6b9a6fc50b4beec5c62/src/config-file.ts#L20)
10
10
 
11
11
  ## Properties
12
12
 
13
13
  ### externalFile?
14
14
 
15
- > `optional` **externalFile**: `string`
15
+ > `optional` **externalFile?**: `string`
16
16
 
17
- Defined in: [src/config-file.ts:22](https://github.com/isdk/util.js/blob/30c54a8a455a9593000448de2a45f94a197d73de/src/config-file.ts#L22)
17
+ Defined in: [src/config-file.ts:22](https://github.com/isdk/util.js/blob/c98bd1bf94d1b1dc8d01c6b9a6fc50b4beec5c62/src/config-file.ts#L22)
18
18
 
19
19
  ***
20
20
 
21
21
  ### extLevel?
22
22
 
23
- > `optional` **extLevel**: `number`
23
+ > `optional` **extLevel?**: `number`
24
24
 
25
- Defined in: [src/config-file.ts:21](https://github.com/isdk/util.js/blob/30c54a8a455a9593000448de2a45f94a197d73de/src/config-file.ts#L21)
25
+ Defined in: [src/config-file.ts:21](https://github.com/isdk/util.js/blob/c98bd1bf94d1b1dc8d01c6b9a6fc50b4beec5c62/src/config-file.ts#L21)
@@ -6,20 +6,20 @@
6
6
 
7
7
  # Interface: SanitizeFilenameOptions
8
8
 
9
- Defined in: [src/filename.ts:96](https://github.com/isdk/util.js/blob/30c54a8a455a9593000448de2a45f94a197d73de/src/filename.ts#L96)
9
+ Defined in: [src/filename.ts:96](https://github.com/isdk/util.js/blob/c98bd1bf94d1b1dc8d01c6b9a6fc50b4beec5c62/src/filename.ts#L96)
10
10
 
11
11
  ## Properties
12
12
 
13
13
  ### maxLength?
14
14
 
15
- > `optional` **maxLength**: `number`
15
+ > `optional` **maxLength?**: `number`
16
16
 
17
- Defined in: [src/filename.ts:98](https://github.com/isdk/util.js/blob/30c54a8a455a9593000448de2a45f94a197d73de/src/filename.ts#L98)
17
+ Defined in: [src/filename.ts:98](https://github.com/isdk/util.js/blob/c98bd1bf94d1b1dc8d01c6b9a6fc50b4beec5c62/src/filename.ts#L98)
18
18
 
19
19
  ***
20
20
 
21
21
  ### replacement?
22
22
 
23
- > `optional` **replacement**: `string`
23
+ > `optional` **replacement?**: `string`
24
24
 
25
- Defined in: [src/filename.ts:97](https://github.com/isdk/util.js/blob/30c54a8a455a9593000448de2a45f94a197d73de/src/filename.ts#L97)
25
+ Defined in: [src/filename.ts:97](https://github.com/isdk/util.js/blob/c98bd1bf94d1b1dc8d01c6b9a6fc50b4beec5c62/src/filename.ts#L97)
@@ -6,7 +6,9 @@
6
6
 
7
7
  # Interface: SemaphoreOptions
8
8
 
9
- Defined in: [src/async-semaphore.ts:42](https://github.com/isdk/util.js/blob/30c54a8a455a9593000448de2a45f94a197d73de/src/async-semaphore.ts#L42)
9
+ Defined in: [src/async-semaphore.ts:110](https://github.com/isdk/util.js/blob/c98bd1bf94d1b1dc8d01c6b9a6fc50b4beec5c62/src/async-semaphore.ts#L110)
10
+
11
+ 通用信号量的配置选项,继承自二进制信号量选项。
10
12
 
11
13
  ## Extends
12
14
 
@@ -16,9 +18,12 @@ Defined in: [src/async-semaphore.ts:42](https://github.com/isdk/util.js/blob/30c
16
18
 
17
19
  ### capacity?
18
20
 
19
- > `optional` **capacity**: `number`
21
+ > `optional` **capacity?**: `number`
22
+
23
+ Defined in: [src/async-semaphore.ts:64](https://github.com/isdk/util.js/blob/c98bd1bf94d1b1dc8d01c6b9a6fc50b4beec5c62/src/async-semaphore.ts#L64)
20
24
 
21
- Defined in: [src/async-semaphore.ts:25](https://github.com/isdk/util.js/blob/30c54a8a455a9593000448de2a45f94a197d73de/src/async-semaphore.ts#L25)
25
+ 内部等待队列的初始预分配容量。
26
+ 适用于高性能场景,开发者可以根据并发规模预估此值以减少动态扩容。
22
27
 
23
28
  #### Inherited from
24
29
 
@@ -26,11 +31,15 @@ Defined in: [src/async-semaphore.ts:25](https://github.com/isdk/util.js/blob/30c
26
31
 
27
32
  ***
28
33
 
29
- ### initFn()?
34
+ ### initFn?
30
35
 
31
- > `optional` **initFn**: () => `any`
36
+ > `optional` **initFn?**: () => `any`
32
37
 
33
- Defined in: [src/async-semaphore.ts:22](https://github.com/isdk/util.js/blob/30c54a8a455a9593000448de2a45f94a197d73de/src/async-semaphore.ts#L22)
38
+ Defined in: [src/async-semaphore.ts:47](https://github.com/isdk/util.js/blob/c98bd1bf94d1b1dc8d01c6b9a6fc50b4beec5c62/src/async-semaphore.ts#L47)
39
+
40
+ 用于初始化令牌的函数。
41
+ 当信号量释放且没有等待任务时,如果未提供令牌,将调用此函数生成新令牌。
42
+ 默认为 `() => '1'`。
34
43
 
35
44
  #### Returns
36
45
 
@@ -44,25 +53,35 @@ Defined in: [src/async-semaphore.ts:22](https://github.com/isdk/util.js/blob/30c
44
53
 
45
54
  ### isReadyFn?
46
55
 
47
- > `optional` **isReadyFn**: [`SemaphoreIsReadyFuncType`](../type-aliases/SemaphoreIsReadyFuncType.md)
56
+ > `optional` **isReadyFn?**: [`SemaphoreIsReadyFuncType`](../type-aliases/SemaphoreIsReadyFuncType.md)
57
+
58
+ Defined in: [src/async-semaphore.ts:120](https://github.com/isdk/util.js/blob/c98bd1bf94d1b1dc8d01c6b9a6fc50b4beec5c62/src/async-semaphore.ts#L120)
48
59
 
49
- Defined in: [src/async-semaphore.ts:44](https://github.com/isdk/util.js/blob/30c54a8a455a9593000448de2a45f94a197d73de/src/async-semaphore.ts#L44)
60
+ 可选的就绪检查函数。
61
+ 在尝试获取令牌前调用,如果返回 false(或解析为 false 的 Promise),则无法立即获取。
50
62
 
51
63
  ***
52
64
 
53
65
  ### maxConcurrency?
54
66
 
55
- > `optional` **maxConcurrency**: `number`
67
+ > `optional` **maxConcurrency?**: `number`
56
68
 
57
- Defined in: [src/async-semaphore.ts:43](https://github.com/isdk/util.js/blob/30c54a8a455a9593000448de2a45f94a197d73de/src/async-semaphore.ts#L43)
69
+ Defined in: [src/async-semaphore.ts:115](https://github.com/isdk/util.js/blob/c98bd1bf94d1b1dc8d01c6b9a6fc50b4beec5c62/src/async-semaphore.ts#L115)
70
+
71
+ 最大并发数。
72
+ 指定允许同时获取信号量的最大调用方数量。
58
73
 
59
74
  ***
60
75
 
61
- ### pauseFn()?
76
+ ### pauseFn?
77
+
78
+ > `optional` **pauseFn?**: () => `void`
62
79
 
63
- > `optional` **pauseFn**: () => `void`
80
+ Defined in: [src/async-semaphore.ts:53](https://github.com/isdk/util.js/blob/c98bd1bf94d1b1dc8d01c6b9a6fc50b4beec5c62/src/async-semaphore.ts#L53)
64
81
 
65
- Defined in: [src/async-semaphore.ts:23](https://github.com/isdk/util.js/blob/30c54a8a455a9593000448de2a45f94a197d73de/src/async-semaphore.ts#L23)
82
+ 可选的暂停函数。
83
+ 当等待队列开始积压(第一个任务进入队列)时调用,用于通知上游停止发送数据,
84
+ 以避免产生过多的等待 Promise 导致内存溢出。
66
85
 
67
86
  #### Returns
68
87
 
@@ -74,11 +93,15 @@ Defined in: [src/async-semaphore.ts:23](https://github.com/isdk/util.js/blob/30c
74
93
 
75
94
  ***
76
95
 
77
- ### resumeFn()?
96
+ ### resumeFn?
97
+
98
+ > `optional` **resumeFn?**: () => `void`
78
99
 
79
- > `optional` **resumeFn**: () => `void`
100
+ Defined in: [src/async-semaphore.ts:59](https://github.com/isdk/util.js/blob/c98bd1bf94d1b1dc8d01c6b9a6fc50b4beec5c62/src/async-semaphore.ts#L59)
80
101
 
81
- Defined in: [src/async-semaphore.ts:24](https://github.com/isdk/util.js/blob/30c54a8a455a9593000448de2a45f94a197d73de/src/async-semaphore.ts#L24)
102
+ 可选的恢复函数。
103
+ 当信号量有空闲槽位且之前已调用过 `pauseFn` 时调用。
104
+ 如果定义了 `pauseFn`,则必须同时定义此函数。
82
105
 
83
106
  #### Returns
84
107
 
@@ -6,7 +6,9 @@
6
6
 
7
7
  # Interface: SemaphoreTaskItem
8
8
 
9
- Defined in: [src/async-semaphore.ts:52](https://github.com/isdk/util.js/blob/30c54a8a455a9593000448de2a45f94a197d73de/src/async-semaphore.ts#L52)
9
+ Defined in: [src/async-semaphore.ts:126](https://github.com/isdk/util.js/blob/c98bd1bf94d1b1dc8d01c6b9a6fc50b4beec5c62/src/async-semaphore.ts#L126)
10
+
11
+ 内部等待任务项的结构定义。
10
12
 
11
13
  ## Extends
12
14
 
@@ -14,15 +16,19 @@ Defined in: [src/async-semaphore.ts:52](https://github.com/isdk/util.js/blob/30c
14
16
 
15
17
  ## Indexable
16
18
 
17
- \[`n`: `string`\]: `any`
19
+ > \[`n`: `string`\]: `any`
20
+
21
+ 允许扩展其他自定义选项。
18
22
 
19
23
  ## Properties
20
24
 
21
- ### reject()
25
+ ### reject
22
26
 
23
27
  > **reject**: (`reason?`) => `void`
24
28
 
25
- Defined in: [src/async-semaphore.ts:54](https://github.com/isdk/util.js/blob/30c54a8a455a9593000448de2a45f94a197d73de/src/async-semaphore.ts#L54)
29
+ Defined in: [src/async-semaphore.ts:134](https://github.com/isdk/util.js/blob/c98bd1bf94d1b1dc8d01c6b9a6fc50b4beec5c62/src/async-semaphore.ts#L134)
30
+
31
+ 当获取失败(如被中止)时调用的拒绝函数。
26
32
 
27
33
  #### Parameters
28
34
 
@@ -36,11 +42,13 @@ Defined in: [src/async-semaphore.ts:54](https://github.com/isdk/util.js/blob/30c
36
42
 
37
43
  ***
38
44
 
39
- ### resolve()
45
+ ### resolve
40
46
 
41
47
  > **resolve**: (`value`) => `void`
42
48
 
43
- Defined in: [src/async-semaphore.ts:53](https://github.com/isdk/util.js/blob/30c54a8a455a9593000448de2a45f94a197d73de/src/async-semaphore.ts#L53)
49
+ Defined in: [src/async-semaphore.ts:130](https://github.com/isdk/util.js/blob/c98bd1bf94d1b1dc8d01c6b9a6fc50b4beec5c62/src/async-semaphore.ts#L130)
50
+
51
+ 当获取成功时调用的解析函数,接收释放函数作为参数。
44
52
 
45
53
  #### Parameters
46
54
 
@@ -56,9 +64,12 @@ Defined in: [src/async-semaphore.ts:53](https://github.com/isdk/util.js/blob/30c
56
64
 
57
65
  ### signal?
58
66
 
59
- > `optional` **signal**: `AbortSignal`
67
+ > `optional` **signal?**: `AbortSignal`
68
+
69
+ Defined in: [src/async-semaphore.ts:75](https://github.com/isdk/util.js/blob/c98bd1bf94d1b1dc8d01c6b9a6fc50b4beec5c62/src/async-semaphore.ts#L75)
60
70
 
61
- Defined in: [src/async-semaphore.ts:29](https://github.com/isdk/util.js/blob/30c54a8a455a9593000448de2a45f94a197d73de/src/async-semaphore.ts#L29)
71
+ 可选的 AbortSignal,用于取消获取操作。
72
+ 如果在获取到令牌前信号被中止,`acquire` 返回的 Promise 将被拒绝并抛出 `AbortError`。
62
73
 
63
74
  #### Inherited from
64
75
 
@@ -68,6 +79,8 @@ Defined in: [src/async-semaphore.ts:29](https://github.com/isdk/util.js/blob/30c
68
79
 
69
80
  ### token?
70
81
 
71
- > `optional` **token**: `any`
82
+ > `optional` **token?**: `any`
83
+
84
+ Defined in: [src/async-semaphore.ts:138](https://github.com/isdk/util.js/blob/c98bd1bf94d1b1dc8d01c6b9a6fc50b4beec5c62/src/async-semaphore.ts#L138)
72
85
 
73
- Defined in: [src/async-semaphore.ts:55](https://github.com/isdk/util.js/blob/30c54a8a455a9593000448de2a45f94a197d73de/src/async-semaphore.ts#L55)
86
+ 与此任务关联的令牌。
@@ -8,7 +8,7 @@
8
8
 
9
9
  > **CodeBlockCombinator** = `">"` \| `" "` \| `"+"` \| `"~"`
10
10
 
11
- Defined in: [src/extract-code-block.ts:29](https://github.com/isdk/util.js/blob/30c54a8a455a9593000448de2a45f94a197d73de/src/extract-code-block.ts#L29)
11
+ Defined in: [src/extract-code-block.ts:29](https://github.com/isdk/util.js/blob/c98bd1bf94d1b1dc8d01c6b9a6fc50b4beec5c62/src/extract-code-block.ts#L29)
12
12
 
13
13
  Supported combinators for code block selectors.
14
14
 
@@ -4,11 +4,14 @@
4
4
 
5
5
  [@isdk/util](../globals.md) / SemaphoreIsReadyFuncType
6
6
 
7
- # Type Alias: SemaphoreIsReadyFuncType()
7
+ # Type Alias: SemaphoreIsReadyFuncType
8
8
 
9
9
  > **SemaphoreIsReadyFuncType** = () => `Promise`\<`boolean`\> \| `boolean`
10
10
 
11
- Defined in: [src/async-semaphore.ts:11](https://github.com/isdk/util.js/blob/30c54a8a455a9593000448de2a45f94a197d73de/src/async-semaphore.ts#L11)
11
+ Defined in: [src/async-semaphore.ts:19](https://github.com/isdk/util.js/blob/c98bd1bf94d1b1dc8d01c6b9a6fc50b4beec5c62/src/async-semaphore.ts#L19)
12
+
13
+ 就绪检查函数的类型定义。
14
+ 可以是同步或异步函数。返回 `true` 表示信号量已准备好接受新请求。
12
15
 
13
16
  ## Returns
14
17
 
@@ -4,11 +4,11 @@
4
4
 
5
5
  [@isdk/util](../globals.md) / StringifyFunc
6
6
 
7
- # Type Alias: StringifyFunc()
7
+ # Type Alias: StringifyFunc
8
8
 
9
9
  > **StringifyFunc** = (`content`) => `string`
10
10
 
11
- Defined in: [src/config-file.ts:18](https://github.com/isdk/util.js/blob/30c54a8a455a9593000448de2a45f94a197d73de/src/config-file.ts#L18)
11
+ Defined in: [src/config-file.ts:18](https://github.com/isdk/util.js/blob/c98bd1bf94d1b1dc8d01c6b9a6fc50b4beec5c62/src/config-file.ts#L18)
12
12
 
13
13
  ## Parameters
14
14
 
@@ -4,11 +4,11 @@
4
4
 
5
5
  [@isdk/util](../globals.md) / TraverseFolderHandler
6
6
 
7
- # Type Alias: TraverseFolderHandler()
7
+ # Type Alias: TraverseFolderHandler
8
8
 
9
9
  > **TraverseFolderHandler** = (`filePath`, `entry`) => `boolean` \| `void` \| `Promise`\<`boolean` \| `void`\>
10
10
 
11
- Defined in: [src/traverse-folder.ts:11](https://github.com/isdk/util.js/blob/30c54a8a455a9593000448de2a45f94a197d73de/src/traverse-folder.ts#L11)
11
+ Defined in: [src/traverse-folder.ts:11](https://github.com/isdk/util.js/blob/c98bd1bf94d1b1dc8d01c6b9a6fc50b4beec5c62/src/traverse-folder.ts#L11)
12
12
 
13
13
  A handler function for asynchronous folder traversal.
14
14
 
@@ -4,11 +4,11 @@
4
4
 
5
5
  [@isdk/util](../globals.md) / TraverseFolderSyncHandler
6
6
 
7
- # Type Alias: TraverseFolderSyncHandler()
7
+ # Type Alias: TraverseFolderSyncHandler
8
8
 
9
9
  > **TraverseFolderSyncHandler** = (`filePath`, `entry`) => `boolean` \| `void`
10
10
 
11
- Defined in: [src/traverse-folder.ts:21](https://github.com/isdk/util.js/blob/30c54a8a455a9593000448de2a45f94a197d73de/src/traverse-folder.ts#L21)
11
+ Defined in: [src/traverse-folder.ts:21](https://github.com/isdk/util.js/blob/c98bd1bf94d1b1dc8d01c6b9a6fc50b4beec5c62/src/traverse-folder.ts#L21)
12
12
 
13
13
  A handler function for synchronous folder traversal.
14
14
 
@@ -8,4 +8,4 @@
8
8
 
9
9
  > `const` **DefaultAllTextFiles**: `string`[]
10
10
 
11
- Defined in: [src/include-files.ts:1](https://github.com/isdk/util.js/blob/30c54a8a455a9593000448de2a45f94a197d73de/src/include-files.ts#L1)
11
+ Defined in: [src/include-files.ts:1](https://github.com/isdk/util.js/blob/c98bd1bf94d1b1dc8d01c6b9a6fc50b4beec5c62/src/include-files.ts#L1)
@@ -8,4 +8,7 @@
8
8
 
9
9
  > `const` **DefaultAsyncSemaphoreCapacity**: `32` = `32`
10
10
 
11
- Defined in: [src/async-semaphore.ts:9](https://github.com/isdk/util.js/blob/30c54a8a455a9593000448de2a45f94a197d73de/src/async-semaphore.ts#L9)
11
+ Defined in: [src/async-semaphore.ts:13](https://github.com/isdk/util.js/blob/c98bd1bf94d1b1dc8d01c6b9a6fc50b4beec5c62/src/async-semaphore.ts#L13)
12
+
13
+ 信号量内部等待队列的默认预分配容量。
14
+ 当选项中未指定容量时使用此值。
@@ -8,7 +8,7 @@
8
8
 
9
9
  > `const` **FilenameReservedRegex**: `RegExp`
10
10
 
11
- Defined in: [src/filename.ts:9](https://github.com/isdk/util.js/blob/30c54a8a455a9593000448de2a45f94a197d73de/src/filename.ts#L9)
11
+ Defined in: [src/filename.ts:9](https://github.com/isdk/util.js/blob/c98bd1bf94d1b1dc8d01c6b9a6fc50b4beec5c62/src/filename.ts#L9)
12
12
 
13
13
  Regular expression pattern for reserved characters in a filename.
14
14
  do not use /g global option here: when the regex is executed multiple times, it will always begin where it left off last time.
@@ -8,6 +8,6 @@
8
8
 
9
9
  > `const` **WindowsReservedNameRegex**: `RegExp`
10
10
 
11
- Defined in: [src/filename.ts:14](https://github.com/isdk/util.js/blob/30c54a8a455a9593000448de2a45f94a197d73de/src/filename.ts#L14)
11
+ Defined in: [src/filename.ts:14](https://github.com/isdk/util.js/blob/c98bd1bf94d1b1dc8d01c6b9a6fc50b4beec5c62/src/filename.ts#L14)
12
12
 
13
13
  Regular expression pattern for reserved names on Windows systems.
package/package.json CHANGED
@@ -1,38 +1,38 @@
1
1
  {
2
2
  "name": "@isdk/util",
3
3
  "description": "a set of utility functions",
4
- "version": "0.3.9",
4
+ "version": "0.3.10",
5
5
  "author": "Riceball LEE @snowyu",
6
6
  "bugs": "https://github.com/isdk/util.js/issues",
7
7
  "dependencies": {
8
- "@isdk/common-error": "^0.2.0",
8
+ "@isdk/common-error": "^0.2.2",
9
9
  "@isdk/glob": "^0.1.1",
10
- "events-ex": "^2.1.1",
10
+ "events-ex": "^2.3.1",
11
11
  "load-config-file": "^2.1.0",
12
- "lodash-es": "^4.17.23",
13
- "util-ex": "^2.5.1",
14
- "yaml": "^2.8.2"
12
+ "lodash-es": "^4.18.1",
13
+ "util-ex": "^2.6.0",
14
+ "yaml": "^2.9.0"
15
15
  },
16
16
  "devDependencies": {
17
- "@eslint/eslintrc": "^3.3.3",
17
+ "@eslint/eslintrc": "^3.3.5",
18
18
  "@eslint/js": "^10.0.1",
19
19
  "@types/chai": "^5",
20
20
  "@types/jest": "^30.0.0",
21
21
  "@types/lodash-es": "^4.17.12",
22
- "@types/node": "^25",
22
+ "@types/node": "^26",
23
23
  "eslint": "^10",
24
24
  "eslint-config-prettier": "^10",
25
- "prettier": "^3.8.1",
25
+ "prettier": "^3.8.4",
26
26
  "shx": "^0.4.0",
27
- "terser": "^5.46.0",
27
+ "terser": "^5.48.0",
28
28
  "tsup": "^8.5.1",
29
- "tsx": "^4.21.0",
30
- "typedoc": "^0.28.16",
31
- "typedoc-plugin-markdown": "^4.10.0",
29
+ "tsx": "^4.22.4",
30
+ "typedoc": "^0.28.19",
31
+ "typedoc-plugin-markdown": "^4.12.0",
32
32
  "typescript": "^5.7.3",
33
- "typescript-eslint": "^8.55.0",
34
- "vite": "^7.3.1",
35
- "vitest": "^4.0.18"
33
+ "typescript-eslint": "^8.62.0",
34
+ "vite": "^8.1.0",
35
+ "vitest": "^4.1.9"
36
36
  },
37
37
  "engines": {
38
38
  "node": ">=18.0.0"
@@ -53,7 +53,10 @@
53
53
  "import": "./dist/index.mjs"
54
54
  }
55
55
  },
56
- "repository": "isdk/util.js",
56
+ "repository": {
57
+ "type": "git",
58
+ "url": "isdk/util.js"
59
+ },
57
60
  "types": "dist/index.d.ts",
58
61
  "scripts": {
59
62
  "build-fast": "tsup",