@isdk/util 0.3.7 → 0.3.9

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 (65) hide show
  1. package/dist/index.d.mts +85 -31
  2. package/dist/index.d.ts +85 -31
  3. package/dist/index.js +1 -1
  4. package/dist/index.mjs +1 -1
  5. package/docs/classes/BinarySemaphore.md +25 -25
  6. package/docs/classes/ConfigFile.md +6 -6
  7. package/docs/classes/Deque.md +13 -13
  8. package/docs/classes/IntSet.md +12 -12
  9. package/docs/classes/Semaphore.md +26 -26
  10. package/docs/classes/SignalGate.md +9 -9
  11. package/docs/functions/RateLimit.md +1 -1
  12. package/docs/functions/arrayHasAll.md +1 -1
  13. package/docs/functions/extNameLevel.md +1 -1
  14. package/docs/functions/extractCodeBlock.md +22 -62
  15. package/docs/functions/extractTopLevelCodeBlocks.md +37 -0
  16. package/docs/functions/filenameReservedRegex.md +1 -1
  17. package/docs/functions/findPort.md +13 -5
  18. package/docs/functions/getMultiLevelExtname.md +1 -1
  19. package/docs/functions/glob.md +1 -1
  20. package/docs/functions/isStringIn.md +1 -1
  21. package/docs/functions/isValidFilename.md +1 -1
  22. package/docs/functions/isValidFilepath.md +1 -1
  23. package/docs/functions/normalizeIncludeFiles.md +1 -1
  24. package/docs/functions/omitDeepBy.md +1 -1
  25. package/docs/functions/omitEmptyDeep.md +1 -1
  26. package/docs/functions/parseCodeBlockSelector.md +34 -0
  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 +1 -1
  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/globals.md +5 -0
  43. package/docs/interfaces/BinarySemaphoreAcquireOptions.md +2 -2
  44. package/docs/interfaces/BinarySemaphoreOptions.md +5 -5
  45. package/docs/interfaces/BinarySemaphoreReleaseOptions.md +2 -2
  46. package/docs/interfaces/BinarySemaphoreReleaserFunc.md +3 -3
  47. package/docs/interfaces/CodeBlockSelectorPart.md +36 -0
  48. package/docs/interfaces/CodeString.md +3 -3
  49. package/docs/interfaces/ExtractCodeBlockOptions.md +27 -6
  50. package/docs/interfaces/FindPortOptions.md +25 -0
  51. package/docs/interfaces/IncludeFiles.md +3 -3
  52. package/docs/interfaces/LoadConfigFileOptions.md +3 -3
  53. package/docs/interfaces/SanitizeFilenameOptions.md +3 -3
  54. package/docs/interfaces/SemaphoreOptions.md +7 -7
  55. package/docs/interfaces/SemaphoreTaskItem.md +5 -5
  56. package/docs/type-aliases/CodeBlockCombinator.md +18 -0
  57. package/docs/type-aliases/SemaphoreIsReadyFuncType.md +1 -1
  58. package/docs/type-aliases/StringifyFunc.md +1 -1
  59. package/docs/type-aliases/TraverseFolderHandler.md +1 -1
  60. package/docs/type-aliases/TraverseFolderSyncHandler.md +1 -1
  61. package/docs/variables/DefaultAllTextFiles.md +1 -1
  62. package/docs/variables/DefaultAsyncSemaphoreCapacity.md +1 -1
  63. package/docs/variables/FilenameReservedRegex.md +1 -1
  64. package/docs/variables/WindowsReservedNameRegex.md +1 -1
  65. package/package.json +1 -1
@@ -0,0 +1,34 @@
1
+ [**@isdk/util**](../README.md)
2
+
3
+ ***
4
+
5
+ [@isdk/util](../globals.md) / parseCodeBlockSelector
6
+
7
+ # Function: parseCodeBlockSelector()
8
+
9
+ > **parseCodeBlockSelector**(`lang?`): [`CodeBlockSelectorPart`](../interfaces/CodeBlockSelectorPart.md)[]
10
+
11
+ Defined in: [src/extract-code-block.ts:160](https://github.com/isdk/util.js/blob/30c54a8a455a9593000448de2a45f94a197d73de/src/extract-code-block.ts#L160)
12
+
13
+ Parses a selector string into an array of structured [CodeBlockSelectorPart](../interfaces/CodeBlockSelectorPart.md) objects.
14
+
15
+ ## Parameters
16
+
17
+ ### lang?
18
+
19
+ `string`
20
+
21
+ The selector string.
22
+
23
+ ## Returns
24
+
25
+ [`CodeBlockSelectorPart`](../interfaces/CodeBlockSelectorPart.md)[]
26
+
27
+ An array of parsed selector parts.
28
+
29
+ ## Example
30
+
31
+ ```ts
32
+ parseCodeBlockSelector('md > ts');
33
+ // => [{combinator: ' ', lang: 'md'}, {combinator: '>', lang: 'ts'}]
34
+ ```
@@ -8,7 +8,7 @@
8
8
 
9
9
  > **parseFrontMatter**(`value`, `delimiter?`): `object`
10
10
 
11
- Defined in: [src/front-matter.ts:6](https://github.com/isdk/util.js/blob/20d48780d60e0a0a6f6a696a3efdfa46d4cb3b1e/src/front-matter.ts#L6)
11
+ Defined in: [src/front-matter.ts:6](https://github.com/isdk/util.js/blob/30c54a8a455a9593000448de2a45f94a197d73de/src/front-matter.ts#L6)
12
12
 
13
13
  ## Parameters
14
14
 
@@ -8,7 +8,7 @@
8
8
 
9
9
  > **parseYaml**(`content`, `options?`): `any`
10
10
 
11
- Defined in: [src/yaml.ts:66](https://github.com/isdk/util.js/blob/20d48780d60e0a0a6f6a696a3efdfa46d4cb3b1e/src/yaml.ts#L66)
11
+ Defined in: [src/yaml.ts:66](https://github.com/isdk/util.js/blob/30c54a8a455a9593000448de2a45f94a197d73de/src/yaml.ts#L66)
12
12
 
13
13
  Parses a YAML string into a JavaScript object with optional custom tags.
14
14
 
@@ -8,7 +8,7 @@
8
8
 
9
9
  > **reControlCharsRegex**(): `RegExp`
10
10
 
11
- Defined in: [src/filename.ts:52](https://github.com/isdk/util.js/blob/20d48780d60e0a0a6f6a696a3efdfa46d4cb3b1e/src/filename.ts#L52)
11
+ Defined in: [src/filename.ts:52](https://github.com/isdk/util.js/blob/30c54a8a455a9593000448de2a45f94a197d73de/src/filename.ts#L52)
12
12
 
13
13
  Returns a new regular expression instance for control characters in a filename with the 'g' flag.
14
14
 
@@ -8,7 +8,7 @@
8
8
 
9
9
  > **registerYamlTag**(`tags`): `void`
10
10
 
11
- Defined in: [src/yaml.ts:34](https://github.com/isdk/util.js/blob/20d48780d60e0a0a6f6a696a3efdfa46d4cb3b1e/src/yaml.ts#L34)
11
+ Defined in: [src/yaml.ts:34](https://github.com/isdk/util.js/blob/30c54a8a455a9593000448de2a45f94a197d73de/src/yaml.ts#L34)
12
12
 
13
13
  Registers custom YAML tags to be used in parsing and stringifying YAML content.
14
14
 
@@ -8,7 +8,7 @@
8
8
 
9
9
  > **removeLeadingEmptyLines**(`text`): `string`
10
10
 
11
- Defined in: [src/remove-leading-empty-lines.ts:16](https://github.com/isdk/util.js/blob/20d48780d60e0a0a6f6a696a3efdfa46d4cb3b1e/src/remove-leading-empty-lines.ts#L16)
11
+ Defined in: [src/remove-leading-empty-lines.ts:16](https://github.com/isdk/util.js/blob/30c54a8a455a9593000448de2a45f94a197d73de/src/remove-leading-empty-lines.ts#L16)
12
12
 
13
13
  Removes all leading empty lines or "#" comments line from the given string.
14
14
 
@@ -8,7 +8,7 @@
8
8
 
9
9
  > **sanitizeFilename**(`filename`, `options?`): `string`
10
10
 
11
- Defined in: [src/filename.ts:110](https://github.com/isdk/util.js/blob/20d48780d60e0a0a6f6a696a3efdfa46d4cb3b1e/src/filename.ts#L110)
11
+ Defined in: [src/filename.ts:110](https://github.com/isdk/util.js/blob/30c54a8a455a9593000448de2a45f94a197d73de/src/filename.ts#L110)
12
12
 
13
13
  Sanitizes a given filename by replacing invalid characters with a specified replacement character or a default.
14
14
 
@@ -8,7 +8,7 @@
8
8
 
9
9
  > **sanitizeFilepath**(`filepath`, `options?`): `string`
10
10
 
11
- Defined in: [src/filename.ts:178](https://github.com/isdk/util.js/blob/20d48780d60e0a0a6f6a696a3efdfa46d4cb3b1e/src/filename.ts#L178)
11
+ Defined in: [src/filename.ts:178](https://github.com/isdk/util.js/blob/30c54a8a455a9593000448de2a45f94a197d73de/src/filename.ts#L178)
12
12
 
13
13
  Sanitizes each part of a file path and reassembles it, ensuring the path is valid according to provided options.
14
14
 
@@ -8,7 +8,7 @@
8
8
 
9
9
  > **sleep**(`ms`): `Promise`\<`void`\>
10
10
 
11
- Defined in: [src/sleep.ts:12](https://github.com/isdk/util.js/blob/20d48780d60e0a0a6f6a696a3efdfa46d4cb3b1e/src/sleep.ts#L12)
11
+ Defined in: [src/sleep.ts:12](https://github.com/isdk/util.js/blob/30c54a8a455a9593000448de2a45f94a197d73de/src/sleep.ts#L12)
12
12
 
13
13
  Suspends execution for a specified number of milliseconds
14
14
 
@@ -8,7 +8,7 @@
8
8
 
9
9
  > **stringifyYaml**(`content`, `options?`): `string`
10
10
 
11
- Defined in: [src/yaml.ts:103](https://github.com/isdk/util.js/blob/20d48780d60e0a0a6f6a696a3efdfa46d4cb3b1e/src/yaml.ts#L103)
11
+ Defined in: [src/yaml.ts:103](https://github.com/isdk/util.js/blob/30c54a8a455a9593000448de2a45f94a197d73de/src/yaml.ts#L103)
12
12
 
13
13
  Converts a JavaScript object into a YAML string with optional custom tags.
14
14
 
@@ -8,7 +8,7 @@
8
8
 
9
9
  > **toCamelCase**(`str`): `string`
10
10
 
11
- Defined in: [src/to-camel-case.ts:17](https://github.com/isdk/util.js/blob/20d48780d60e0a0a6f6a696a3efdfa46d4cb3b1e/src/to-camel-case.ts#L17)
11
+ Defined in: [src/to-camel-case.ts:17](https://github.com/isdk/util.js/blob/30c54a8a455a9593000448de2a45f94a197d73de/src/to-camel-case.ts#L17)
12
12
 
13
13
  Converts a string to camelCase.
14
14
 
@@ -8,7 +8,7 @@
8
8
 
9
9
  > **toCapitalCase**(`str`): `string`
10
10
 
11
- Defined in: [src/to-capital-case.ts:17](https://github.com/isdk/util.js/blob/20d48780d60e0a0a6f6a696a3efdfa46d4cb3b1e/src/to-capital-case.ts#L17)
11
+ Defined in: [src/to-capital-case.ts:17](https://github.com/isdk/util.js/blob/30c54a8a455a9593000448de2a45f94a197d73de/src/to-capital-case.ts#L17)
12
12
 
13
13
  Converts a string to capital case, where the first letter of each word is capitalized
14
14
  and the rest are in lowercase. Words are separated by spaces, hyphens, or underscores.
@@ -8,7 +8,7 @@
8
8
 
9
9
  > **toPascalCase**(`str`): `string`
10
10
 
11
- Defined in: [src/to-pascal-case.ts:16](https://github.com/isdk/util.js/blob/20d48780d60e0a0a6f6a696a3efdfa46d4cb3b1e/src/to-pascal-case.ts#L16)
11
+ Defined in: [src/to-pascal-case.ts:16](https://github.com/isdk/util.js/blob/30c54a8a455a9593000448de2a45f94a197d73de/src/to-pascal-case.ts#L16)
12
12
 
13
13
  Converts a string to PascalCase.
14
14
 
@@ -8,7 +8,7 @@
8
8
 
9
9
  > **traverseFolder**(`directoryPath`, `fileHandler`): `Promise`\<`void`\>
10
10
 
11
- Defined in: [src/traverse-folder.ts:44](https://github.com/isdk/util.js/blob/20d48780d60e0a0a6f6a696a3efdfa46d4cb3b1e/src/traverse-folder.ts#L44)
11
+ Defined in: [src/traverse-folder.ts:44](https://github.com/isdk/util.js/blob/30c54a8a455a9593000448de2a45f94a197d73de/src/traverse-folder.ts#L44)
12
12
 
13
13
  Traverses a folder asynchronously and applies a handler to each file or directory.
14
14
 
@@ -8,7 +8,7 @@
8
8
 
9
9
  > **traverseFolderSync**(`directoryPath`, `fileHandler`): `void`
10
10
 
11
- Defined in: [src/traverse-folder.ts:89](https://github.com/isdk/util.js/blob/20d48780d60e0a0a6f6a696a3efdfa46d4cb3b1e/src/traverse-folder.ts#L89)
11
+ Defined in: [src/traverse-folder.ts:89](https://github.com/isdk/util.js/blob/30c54a8a455a9593000448de2a45f94a197d73de/src/traverse-folder.ts#L89)
12
12
 
13
13
  Traverses a folder synchronously and applies a handler to each file or directory.
14
14
 
@@ -8,7 +8,7 @@
8
8
 
9
9
  > **yieldExec**(): `Promise`\<`void`\>
10
10
 
11
- Defined in: [src/sleep.ts:28](https://github.com/isdk/util.js/blob/20d48780d60e0a0a6f6a696a3efdfa46d4cb3b1e/src/sleep.ts#L28)
11
+ Defined in: [src/sleep.ts:28](https://github.com/isdk/util.js/blob/30c54a8a455a9593000448de2a45f94a197d73de/src/sleep.ts#L28)
12
12
 
13
13
  Yields execution control to the event loop, allowing pending I/O operations
14
14
  and scheduled tasks to run before continuing.
package/docs/globals.md CHANGED
@@ -19,8 +19,10 @@
19
19
  - [BinarySemaphoreOptions](interfaces/BinarySemaphoreOptions.md)
20
20
  - [BinarySemaphoreReleaseOptions](interfaces/BinarySemaphoreReleaseOptions.md)
21
21
  - [BinarySemaphoreReleaserFunc](interfaces/BinarySemaphoreReleaserFunc.md)
22
+ - [CodeBlockSelectorPart](interfaces/CodeBlockSelectorPart.md)
22
23
  - [CodeString](interfaces/CodeString.md)
23
24
  - [ExtractCodeBlockOptions](interfaces/ExtractCodeBlockOptions.md)
25
+ - [FindPortOptions](interfaces/FindPortOptions.md)
24
26
  - [IncludeFiles](interfaces/IncludeFiles.md)
25
27
  - [LoadConfigFileOptions](interfaces/LoadConfigFileOptions.md)
26
28
  - [SanitizeFilenameOptions](interfaces/SanitizeFilenameOptions.md)
@@ -29,6 +31,7 @@
29
31
 
30
32
  ## Type Aliases
31
33
 
34
+ - [CodeBlockCombinator](type-aliases/CodeBlockCombinator.md)
32
35
  - [SemaphoreIsReadyFuncType](type-aliases/SemaphoreIsReadyFuncType.md)
33
36
  - [StringifyFunc](type-aliases/StringifyFunc.md)
34
37
  - [TraverseFolderHandler](type-aliases/TraverseFolderHandler.md)
@@ -46,6 +49,7 @@
46
49
  - [arrayHasAll](functions/arrayHasAll.md)
47
50
  - [extNameLevel](functions/extNameLevel.md)
48
51
  - [extractCodeBlock](functions/extractCodeBlock.md)
52
+ - [extractTopLevelCodeBlocks](functions/extractTopLevelCodeBlocks.md)
49
53
  - [filenameReservedRegex](functions/filenameReservedRegex.md)
50
54
  - [findPort](functions/findPort.md)
51
55
  - [getMultiLevelExtname](functions/getMultiLevelExtname.md)
@@ -56,6 +60,7 @@
56
60
  - [normalizeIncludeFiles](functions/normalizeIncludeFiles.md)
57
61
  - [omitDeepBy](functions/omitDeepBy.md)
58
62
  - [omitEmptyDeep](functions/omitEmptyDeep.md)
63
+ - [parseCodeBlockSelector](functions/parseCodeBlockSelector.md)
59
64
  - [parseFrontMatter](functions/parseFrontMatter.md)
60
65
  - [parseYaml](functions/parseYaml.md)
61
66
  - [RateLimit](functions/RateLimit.md)
@@ -6,7 +6,7 @@
6
6
 
7
7
  # Interface: BinarySemaphoreAcquireOptions
8
8
 
9
- Defined in: [src/async-semaphore.ts:28](https://github.com/isdk/util.js/blob/20d48780d60e0a0a6f6a696a3efdfa46d4cb3b1e/src/async-semaphore.ts#L28)
9
+ Defined in: [src/async-semaphore.ts:28](https://github.com/isdk/util.js/blob/30c54a8a455a9593000448de2a45f94a197d73de/src/async-semaphore.ts#L28)
10
10
 
11
11
  ## Extended by
12
12
 
@@ -22,4 +22,4 @@ Defined in: [src/async-semaphore.ts:28](https://github.com/isdk/util.js/blob/20d
22
22
 
23
23
  > `optional` **signal**: `AbortSignal`
24
24
 
25
- Defined in: [src/async-semaphore.ts:29](https://github.com/isdk/util.js/blob/20d48780d60e0a0a6f6a696a3efdfa46d4cb3b1e/src/async-semaphore.ts#L29)
25
+ Defined in: [src/async-semaphore.ts:29](https://github.com/isdk/util.js/blob/30c54a8a455a9593000448de2a45f94a197d73de/src/async-semaphore.ts#L29)
@@ -6,7 +6,7 @@
6
6
 
7
7
  # Interface: BinarySemaphoreOptions
8
8
 
9
- Defined in: [src/async-semaphore.ts:21](https://github.com/isdk/util.js/blob/20d48780d60e0a0a6f6a696a3efdfa46d4cb3b1e/src/async-semaphore.ts#L21)
9
+ Defined in: [src/async-semaphore.ts:21](https://github.com/isdk/util.js/blob/30c54a8a455a9593000448de2a45f94a197d73de/src/async-semaphore.ts#L21)
10
10
 
11
11
  ## Extended by
12
12
 
@@ -18,7 +18,7 @@ Defined in: [src/async-semaphore.ts:21](https://github.com/isdk/util.js/blob/20d
18
18
 
19
19
  > `optional` **capacity**: `number`
20
20
 
21
- Defined in: [src/async-semaphore.ts:25](https://github.com/isdk/util.js/blob/20d48780d60e0a0a6f6a696a3efdfa46d4cb3b1e/src/async-semaphore.ts#L25)
21
+ Defined in: [src/async-semaphore.ts:25](https://github.com/isdk/util.js/blob/30c54a8a455a9593000448de2a45f94a197d73de/src/async-semaphore.ts#L25)
22
22
 
23
23
  ***
24
24
 
@@ -26,7 +26,7 @@ Defined in: [src/async-semaphore.ts:25](https://github.com/isdk/util.js/blob/20d
26
26
 
27
27
  > `optional` **initFn**: () => `any`
28
28
 
29
- Defined in: [src/async-semaphore.ts:22](https://github.com/isdk/util.js/blob/20d48780d60e0a0a6f6a696a3efdfa46d4cb3b1e/src/async-semaphore.ts#L22)
29
+ Defined in: [src/async-semaphore.ts:22](https://github.com/isdk/util.js/blob/30c54a8a455a9593000448de2a45f94a197d73de/src/async-semaphore.ts#L22)
30
30
 
31
31
  #### Returns
32
32
 
@@ -38,7 +38,7 @@ Defined in: [src/async-semaphore.ts:22](https://github.com/isdk/util.js/blob/20d
38
38
 
39
39
  > `optional` **pauseFn**: () => `void`
40
40
 
41
- Defined in: [src/async-semaphore.ts:23](https://github.com/isdk/util.js/blob/20d48780d60e0a0a6f6a696a3efdfa46d4cb3b1e/src/async-semaphore.ts#L23)
41
+ Defined in: [src/async-semaphore.ts:23](https://github.com/isdk/util.js/blob/30c54a8a455a9593000448de2a45f94a197d73de/src/async-semaphore.ts#L23)
42
42
 
43
43
  #### Returns
44
44
 
@@ -50,7 +50,7 @@ Defined in: [src/async-semaphore.ts:23](https://github.com/isdk/util.js/blob/20d
50
50
 
51
51
  > `optional` **resumeFn**: () => `void`
52
52
 
53
- Defined in: [src/async-semaphore.ts:24](https://github.com/isdk/util.js/blob/20d48780d60e0a0a6f6a696a3efdfa46d4cb3b1e/src/async-semaphore.ts#L24)
53
+ Defined in: [src/async-semaphore.ts:24](https://github.com/isdk/util.js/blob/30c54a8a455a9593000448de2a45f94a197d73de/src/async-semaphore.ts#L24)
54
54
 
55
55
  #### Returns
56
56
 
@@ -6,7 +6,7 @@
6
6
 
7
7
  # Interface: BinarySemaphoreReleaseOptions
8
8
 
9
- Defined in: [src/async-semaphore.ts:33](https://github.com/isdk/util.js/blob/20d48780d60e0a0a6f6a696a3efdfa46d4cb3b1e/src/async-semaphore.ts#L33)
9
+ Defined in: [src/async-semaphore.ts:33](https://github.com/isdk/util.js/blob/30c54a8a455a9593000448de2a45f94a197d73de/src/async-semaphore.ts#L33)
10
10
 
11
11
  ## Extended by
12
12
 
@@ -22,4 +22,4 @@ Defined in: [src/async-semaphore.ts:33](https://github.com/isdk/util.js/blob/20d
22
22
 
23
23
  > `optional` **token**: `any`
24
24
 
25
- Defined in: [src/async-semaphore.ts:34](https://github.com/isdk/util.js/blob/20d48780d60e0a0a6f6a696a3efdfa46d4cb3b1e/src/async-semaphore.ts#L34)
25
+ Defined in: [src/async-semaphore.ts:34](https://github.com/isdk/util.js/blob/30c54a8a455a9593000448de2a45f94a197d73de/src/async-semaphore.ts#L34)
@@ -6,7 +6,7 @@
6
6
 
7
7
  # Interface: BinarySemaphoreReleaserFunc()
8
8
 
9
- Defined in: [src/async-semaphore.ts:38](https://github.com/isdk/util.js/blob/20d48780d60e0a0a6f6a696a3efdfa46d4cb3b1e/src/async-semaphore.ts#L38)
9
+ Defined in: [src/async-semaphore.ts:38](https://github.com/isdk/util.js/blob/30c54a8a455a9593000448de2a45f94a197d73de/src/async-semaphore.ts#L38)
10
10
 
11
11
  ## Extends
12
12
 
@@ -14,7 +14,7 @@ Defined in: [src/async-semaphore.ts:38](https://github.com/isdk/util.js/blob/20d
14
14
 
15
15
  > **BinarySemaphoreReleaserFunc**(): `void`
16
16
 
17
- Defined in: [src/async-semaphore.ts:39](https://github.com/isdk/util.js/blob/20d48780d60e0a0a6f6a696a3efdfa46d4cb3b1e/src/async-semaphore.ts#L39)
17
+ Defined in: [src/async-semaphore.ts:39](https://github.com/isdk/util.js/blob/30c54a8a455a9593000448de2a45f94a197d73de/src/async-semaphore.ts#L39)
18
18
 
19
19
  ## Returns
20
20
 
@@ -30,7 +30,7 @@ Defined in: [src/async-semaphore.ts:39](https://github.com/isdk/util.js/blob/20d
30
30
 
31
31
  > `optional` **token**: `any`
32
32
 
33
- Defined in: [src/async-semaphore.ts:34](https://github.com/isdk/util.js/blob/20d48780d60e0a0a6f6a696a3efdfa46d4cb3b1e/src/async-semaphore.ts#L34)
33
+ Defined in: [src/async-semaphore.ts:34](https://github.com/isdk/util.js/blob/30c54a8a455a9593000448de2a45f94a197d73de/src/async-semaphore.ts#L34)
34
34
 
35
35
  #### Inherited from
36
36
 
@@ -0,0 +1,36 @@
1
+ [**@isdk/util**](../README.md)
2
+
3
+ ***
4
+
5
+ [@isdk/util](../globals.md) / CodeBlockSelectorPart
6
+
7
+ # Interface: CodeBlockSelectorPart
8
+
9
+ Defined in: [src/extract-code-block.ts:38](https://github.com/isdk/util.js/blob/30c54a8a455a9593000448de2a45f94a197d73de/src/extract-code-block.ts#L38)
10
+
11
+ Represents a single segment in a code block selector path.
12
+
13
+ A path like `md > ts` is parsed into two parts:
14
+ 1. `{ combinator: ' ', lang: 'md' }`
15
+ 2. `{ combinator: '>', lang: 'ts' }`
16
+
17
+ ## Properties
18
+
19
+ ### combinator
20
+
21
+ > **combinator**: [`CodeBlockCombinator`](../type-aliases/CodeBlockCombinator.md)
22
+
23
+ Defined in: [src/extract-code-block.ts:43](https://github.com/isdk/util.js/blob/30c54a8a455a9593000448de2a45f94a197d73de/src/extract-code-block.ts#L43)
24
+
25
+ The relationship to the previous segment in the path.
26
+ For the first segment, ' ' usually implies a search in the root context.
27
+
28
+ ***
29
+
30
+ ### lang
31
+
32
+ > **lang**: `string`
33
+
34
+ Defined in: [src/extract-code-block.ts:47](https://github.com/isdk/util.js/blob/30c54a8a455a9593000448de2a45f94a197d73de/src/extract-code-block.ts#L47)
35
+
36
+ The target language identifier or alias to match.
@@ -6,7 +6,7 @@
6
6
 
7
7
  # Interface: CodeString
8
8
 
9
- Defined in: [src/extract-code-block.ts:9](https://github.com/isdk/util.js/blob/20d48780d60e0a0a6f6a696a3efdfa46d4cb3b1e/src/extract-code-block.ts#L9)
9
+ Defined in: [src/extract-code-block.ts:9](https://github.com/isdk/util.js/blob/30c54a8a455a9593000448de2a45f94a197d73de/src/extract-code-block.ts#L9)
10
10
 
11
11
  An extension of the built-in `String` type that carries metadata about
12
12
  the extracted code block.
@@ -29,7 +29,7 @@ in the markdown fence.
29
29
 
30
30
  > `optional` **lang**: `string`
31
31
 
32
- Defined in: [src/extract-code-block.ts:14](https://github.com/isdk/util.js/blob/20d48780d60e0a0a6f6a696a3efdfa46d4cb3b1e/src/extract-code-block.ts#L14)
32
+ Defined in: [src/extract-code-block.ts:14](https://github.com/isdk/util.js/blob/30c54a8a455a9593000448de2a45f94a197d73de/src/extract-code-block.ts#L14)
33
33
 
34
34
  The programming language identifier of the code block (e.g., 'ts', 'js').
35
35
  It is normalized to lowercase.
@@ -54,7 +54,7 @@ Returns the length of a String object.
54
54
 
55
55
  > `optional` **meta**: `string`
56
56
 
57
- Defined in: [src/extract-code-block.ts:18](https://github.com/isdk/util.js/blob/20d48780d60e0a0a6f6a696a3efdfa46d4cb3b1e/src/extract-code-block.ts#L18)
57
+ Defined in: [src/extract-code-block.ts:18](https://github.com/isdk/util.js/blob/30c54a8a455a9593000448de2a45f94a197d73de/src/extract-code-block.ts#L18)
58
58
 
59
59
  Any additional metadata provided after the language identifier on the fence line.
60
60
 
@@ -6,7 +6,7 @@
6
6
 
7
7
  # Interface: ExtractCodeBlockOptions
8
8
 
9
- Defined in: [src/extract-code-block.ts:24](https://github.com/isdk/util.js/blob/20d48780d60e0a0a6f6a696a3efdfa46d4cb3b1e/src/extract-code-block.ts#L24)
9
+ Defined in: [src/extract-code-block.ts:53](https://github.com/isdk/util.js/blob/30c54a8a455a9593000448de2a45f94a197d73de/src/extract-code-block.ts#L53)
10
10
 
11
11
  Options for extracting code blocks.
12
12
 
@@ -16,7 +16,7 @@ Options for extracting code blocks.
16
16
 
17
17
  > `optional` **all**: `boolean`
18
18
 
19
- Defined in: [src/extract-code-block.ts:38](https://github.com/isdk/util.js/blob/20d48780d60e0a0a6f6a696a3efdfa46d4cb3b1e/src/extract-code-block.ts#L38)
19
+ Defined in: [src/extract-code-block.ts:71](https://github.com/isdk/util.js/blob/30c54a8a455a9593000448de2a45f94a197d73de/src/extract-code-block.ts#L71)
20
20
 
21
21
  Optional. If true, returns an array of all matching code blocks.
22
22
 
@@ -26,9 +26,9 @@ Optional. If true, returns an array of all matching code blocks.
26
26
 
27
27
  > `optional` **index**: `number`
28
28
 
29
- Defined in: [src/extract-code-block.ts:34](https://github.com/isdk/util.js/blob/20d48780d60e0a0a6f6a696a3efdfa46d4cb3b1e/src/extract-code-block.ts#L34)
29
+ Defined in: [src/extract-code-block.ts:67](https://github.com/isdk/util.js/blob/30c54a8a455a9593000448de2a45f94a197d73de/src/extract-code-block.ts#L67)
30
30
 
31
- Optional. The 0-based index of the code block to extract.
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.
33
33
  Defaults to -1.
34
34
 
@@ -38,6 +38,27 @@ Defaults to -1.
38
38
 
39
39
  > `optional` **lang**: `string`
40
40
 
41
- Defined in: [src/extract-code-block.ts:28](https://github.com/isdk/util.js/blob/20d48780d60e0a0a6f6a696a3efdfa46d4cb3b1e/src/extract-code-block.ts#L28)
41
+ Defined in: [src/extract-code-block.ts:61](https://github.com/isdk/util.js/blob/30c54a8a455a9593000448de2a45f94a197d73de/src/extract-code-block.ts#L61)
42
42
 
43
- Optional. The expected language identifier (case-insensitive).
43
+ Optional. The expected language identifier or a CSS-like selector path.
44
+ Supports aliases (e.g., 'js' for 'javascript').
45
+
46
+ #### Examples
47
+
48
+ ```ts
49
+ 'ts' - Find the last TypeScript block.
50
+ ```
51
+
52
+ ```ts
53
+ 'md > ts' - Find ts blocks inside md blocks.
54
+ ```
55
+
56
+ ***
57
+
58
+ ### langMap?
59
+
60
+ > `optional` **langMap**: `Record`\<`string`, `string`\>
61
+
62
+ Defined in: [src/extract-code-block.ts:75](https://github.com/isdk/util.js/blob/30c54a8a455a9593000448de2a45f94a197d73de/src/extract-code-block.ts#L75)
63
+
64
+ Optional. A map of language aliases to their normalized names.
@@ -0,0 +1,25 @@
1
+ [**@isdk/util**](../README.md)
2
+
3
+ ***
4
+
5
+ [@isdk/util](../globals.md) / FindPortOptions
6
+
7
+ # Interface: FindPortOptions
8
+
9
+ Defined in: [src/find-port.ts:3](https://github.com/isdk/util.js/blob/30c54a8a455a9593000448de2a45f94a197d73de/src/find-port.ts#L3)
10
+
11
+ ## Properties
12
+
13
+ ### host?
14
+
15
+ > `optional` **host**: `string`
16
+
17
+ Defined in: [src/find-port.ts:5](https://github.com/isdk/util.js/blob/30c54a8a455a9593000448de2a45f94a197d73de/src/find-port.ts#L5)
18
+
19
+ ***
20
+
21
+ ### retryCount?
22
+
23
+ > `optional` **retryCount**: `number`
24
+
25
+ Defined in: [src/find-port.ts:4](https://github.com/isdk/util.js/blob/30c54a8a455a9593000448de2a45f94a197d73de/src/find-port.ts#L4)
@@ -6,7 +6,7 @@
6
6
 
7
7
  # Interface: IncludeFiles
8
8
 
9
- Defined in: [src/include-files.ts:6](https://github.com/isdk/util.js/blob/20d48780d60e0a0a6f6a696a3efdfa46d4cb3b1e/src/include-files.ts#L6)
9
+ Defined in: [src/include-files.ts:6](https://github.com/isdk/util.js/blob/30c54a8a455a9593000448de2a45f94a197d73de/src/include-files.ts#L6)
10
10
 
11
11
  ## Properties
12
12
 
@@ -14,7 +14,7 @@ Defined in: [src/include-files.ts:6](https://github.com/isdk/util.js/blob/20d487
14
14
 
15
15
  > `optional` **exclude**: `string`[]
16
16
 
17
- Defined in: [src/include-files.ts:8](https://github.com/isdk/util.js/blob/20d48780d60e0a0a6f6a696a3efdfa46d4cb3b1e/src/include-files.ts#L8)
17
+ Defined in: [src/include-files.ts:8](https://github.com/isdk/util.js/blob/30c54a8a455a9593000448de2a45f94a197d73de/src/include-files.ts#L8)
18
18
 
19
19
  ***
20
20
 
@@ -22,4 +22,4 @@ Defined in: [src/include-files.ts:8](https://github.com/isdk/util.js/blob/20d487
22
22
 
23
23
  > `optional` **include**: `string`[]
24
24
 
25
- Defined in: [src/include-files.ts:7](https://github.com/isdk/util.js/blob/20d48780d60e0a0a6f6a696a3efdfa46d4cb3b1e/src/include-files.ts#L7)
25
+ Defined in: [src/include-files.ts:7](https://github.com/isdk/util.js/blob/30c54a8a455a9593000448de2a45f94a197d73de/src/include-files.ts#L7)
@@ -6,7 +6,7 @@
6
6
 
7
7
  # Interface: LoadConfigFileOptions
8
8
 
9
- Defined in: [src/config-file.ts:20](https://github.com/isdk/util.js/blob/20d48780d60e0a0a6f6a696a3efdfa46d4cb3b1e/src/config-file.ts#L20)
9
+ Defined in: [src/config-file.ts:20](https://github.com/isdk/util.js/blob/30c54a8a455a9593000448de2a45f94a197d73de/src/config-file.ts#L20)
10
10
 
11
11
  ## Properties
12
12
 
@@ -14,7 +14,7 @@ Defined in: [src/config-file.ts:20](https://github.com/isdk/util.js/blob/20d4878
14
14
 
15
15
  > `optional` **externalFile**: `string`
16
16
 
17
- Defined in: [src/config-file.ts:22](https://github.com/isdk/util.js/blob/20d48780d60e0a0a6f6a696a3efdfa46d4cb3b1e/src/config-file.ts#L22)
17
+ Defined in: [src/config-file.ts:22](https://github.com/isdk/util.js/blob/30c54a8a455a9593000448de2a45f94a197d73de/src/config-file.ts#L22)
18
18
 
19
19
  ***
20
20
 
@@ -22,4 +22,4 @@ Defined in: [src/config-file.ts:22](https://github.com/isdk/util.js/blob/20d4878
22
22
 
23
23
  > `optional` **extLevel**: `number`
24
24
 
25
- Defined in: [src/config-file.ts:21](https://github.com/isdk/util.js/blob/20d48780d60e0a0a6f6a696a3efdfa46d4cb3b1e/src/config-file.ts#L21)
25
+ Defined in: [src/config-file.ts:21](https://github.com/isdk/util.js/blob/30c54a8a455a9593000448de2a45f94a197d73de/src/config-file.ts#L21)
@@ -6,7 +6,7 @@
6
6
 
7
7
  # Interface: SanitizeFilenameOptions
8
8
 
9
- Defined in: [src/filename.ts:96](https://github.com/isdk/util.js/blob/20d48780d60e0a0a6f6a696a3efdfa46d4cb3b1e/src/filename.ts#L96)
9
+ Defined in: [src/filename.ts:96](https://github.com/isdk/util.js/blob/30c54a8a455a9593000448de2a45f94a197d73de/src/filename.ts#L96)
10
10
 
11
11
  ## Properties
12
12
 
@@ -14,7 +14,7 @@ Defined in: [src/filename.ts:96](https://github.com/isdk/util.js/blob/20d48780d6
14
14
 
15
15
  > `optional` **maxLength**: `number`
16
16
 
17
- Defined in: [src/filename.ts:98](https://github.com/isdk/util.js/blob/20d48780d60e0a0a6f6a696a3efdfa46d4cb3b1e/src/filename.ts#L98)
17
+ Defined in: [src/filename.ts:98](https://github.com/isdk/util.js/blob/30c54a8a455a9593000448de2a45f94a197d73de/src/filename.ts#L98)
18
18
 
19
19
  ***
20
20
 
@@ -22,4 +22,4 @@ Defined in: [src/filename.ts:98](https://github.com/isdk/util.js/blob/20d48780d6
22
22
 
23
23
  > `optional` **replacement**: `string`
24
24
 
25
- Defined in: [src/filename.ts:97](https://github.com/isdk/util.js/blob/20d48780d60e0a0a6f6a696a3efdfa46d4cb3b1e/src/filename.ts#L97)
25
+ Defined in: [src/filename.ts:97](https://github.com/isdk/util.js/blob/30c54a8a455a9593000448de2a45f94a197d73de/src/filename.ts#L97)
@@ -6,7 +6,7 @@
6
6
 
7
7
  # Interface: SemaphoreOptions
8
8
 
9
- Defined in: [src/async-semaphore.ts:42](https://github.com/isdk/util.js/blob/20d48780d60e0a0a6f6a696a3efdfa46d4cb3b1e/src/async-semaphore.ts#L42)
9
+ Defined in: [src/async-semaphore.ts:42](https://github.com/isdk/util.js/blob/30c54a8a455a9593000448de2a45f94a197d73de/src/async-semaphore.ts#L42)
10
10
 
11
11
  ## Extends
12
12
 
@@ -18,7 +18,7 @@ Defined in: [src/async-semaphore.ts:42](https://github.com/isdk/util.js/blob/20d
18
18
 
19
19
  > `optional` **capacity**: `number`
20
20
 
21
- Defined in: [src/async-semaphore.ts:25](https://github.com/isdk/util.js/blob/20d48780d60e0a0a6f6a696a3efdfa46d4cb3b1e/src/async-semaphore.ts#L25)
21
+ Defined in: [src/async-semaphore.ts:25](https://github.com/isdk/util.js/blob/30c54a8a455a9593000448de2a45f94a197d73de/src/async-semaphore.ts#L25)
22
22
 
23
23
  #### Inherited from
24
24
 
@@ -30,7 +30,7 @@ Defined in: [src/async-semaphore.ts:25](https://github.com/isdk/util.js/blob/20d
30
30
 
31
31
  > `optional` **initFn**: () => `any`
32
32
 
33
- Defined in: [src/async-semaphore.ts:22](https://github.com/isdk/util.js/blob/20d48780d60e0a0a6f6a696a3efdfa46d4cb3b1e/src/async-semaphore.ts#L22)
33
+ Defined in: [src/async-semaphore.ts:22](https://github.com/isdk/util.js/blob/30c54a8a455a9593000448de2a45f94a197d73de/src/async-semaphore.ts#L22)
34
34
 
35
35
  #### Returns
36
36
 
@@ -46,7 +46,7 @@ Defined in: [src/async-semaphore.ts:22](https://github.com/isdk/util.js/blob/20d
46
46
 
47
47
  > `optional` **isReadyFn**: [`SemaphoreIsReadyFuncType`](../type-aliases/SemaphoreIsReadyFuncType.md)
48
48
 
49
- Defined in: [src/async-semaphore.ts:44](https://github.com/isdk/util.js/blob/20d48780d60e0a0a6f6a696a3efdfa46d4cb3b1e/src/async-semaphore.ts#L44)
49
+ Defined in: [src/async-semaphore.ts:44](https://github.com/isdk/util.js/blob/30c54a8a455a9593000448de2a45f94a197d73de/src/async-semaphore.ts#L44)
50
50
 
51
51
  ***
52
52
 
@@ -54,7 +54,7 @@ Defined in: [src/async-semaphore.ts:44](https://github.com/isdk/util.js/blob/20d
54
54
 
55
55
  > `optional` **maxConcurrency**: `number`
56
56
 
57
- Defined in: [src/async-semaphore.ts:43](https://github.com/isdk/util.js/blob/20d48780d60e0a0a6f6a696a3efdfa46d4cb3b1e/src/async-semaphore.ts#L43)
57
+ Defined in: [src/async-semaphore.ts:43](https://github.com/isdk/util.js/blob/30c54a8a455a9593000448de2a45f94a197d73de/src/async-semaphore.ts#L43)
58
58
 
59
59
  ***
60
60
 
@@ -62,7 +62,7 @@ Defined in: [src/async-semaphore.ts:43](https://github.com/isdk/util.js/blob/20d
62
62
 
63
63
  > `optional` **pauseFn**: () => `void`
64
64
 
65
- Defined in: [src/async-semaphore.ts:23](https://github.com/isdk/util.js/blob/20d48780d60e0a0a6f6a696a3efdfa46d4cb3b1e/src/async-semaphore.ts#L23)
65
+ Defined in: [src/async-semaphore.ts:23](https://github.com/isdk/util.js/blob/30c54a8a455a9593000448de2a45f94a197d73de/src/async-semaphore.ts#L23)
66
66
 
67
67
  #### Returns
68
68
 
@@ -78,7 +78,7 @@ Defined in: [src/async-semaphore.ts:23](https://github.com/isdk/util.js/blob/20d
78
78
 
79
79
  > `optional` **resumeFn**: () => `void`
80
80
 
81
- Defined in: [src/async-semaphore.ts:24](https://github.com/isdk/util.js/blob/20d48780d60e0a0a6f6a696a3efdfa46d4cb3b1e/src/async-semaphore.ts#L24)
81
+ Defined in: [src/async-semaphore.ts:24](https://github.com/isdk/util.js/blob/30c54a8a455a9593000448de2a45f94a197d73de/src/async-semaphore.ts#L24)
82
82
 
83
83
  #### Returns
84
84