@isdk/util 0.1.1

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 (96) hide show
  1. package/README.md +6 -0
  2. package/dist/chunk-3TCMKKX2.mjs +1 -0
  3. package/dist/chunk-46TT3NZV.mjs +1 -0
  4. package/dist/chunk-7APJBRA7.mjs +1 -0
  5. package/dist/chunk-7AQU3PBW.mjs +1 -0
  6. package/dist/chunk-D3BCI5SM.mjs +1 -0
  7. package/dist/chunk-FXF2KJLF.mjs +1 -0
  8. package/dist/chunk-GGOKSJK4.mjs +1 -0
  9. package/dist/chunk-JTTOXXPG.mjs +1 -0
  10. package/dist/chunk-LOMQZH4U.mjs +292 -0
  11. package/dist/chunk-OTEAFARC.mjs +1 -0
  12. package/dist/chunk-UJZVJIGI.mjs +1 -0
  13. package/dist/config-file.d.mts +75 -0
  14. package/dist/config-file.d.ts +75 -0
  15. package/dist/config-file.js +1 -0
  16. package/dist/config-file.mjs +1 -0
  17. package/dist/config-file.test.d.mts +2 -0
  18. package/dist/config-file.test.d.ts +2 -0
  19. package/dist/config-file.test.js +292 -0
  20. package/dist/config-file.test.mjs +1 -0
  21. package/dist/front-matter.d.mts +6 -0
  22. package/dist/front-matter.d.ts +6 -0
  23. package/dist/front-matter.js +1 -0
  24. package/dist/front-matter.mjs +1 -0
  25. package/dist/front-matter.test.d.mts +2 -0
  26. package/dist/front-matter.test.d.ts +2 -0
  27. package/dist/front-matter.test.js +1 -0
  28. package/dist/front-matter.test.mjs +1 -0
  29. package/dist/get-multi-level-extname.d.mts +9 -0
  30. package/dist/get-multi-level-extname.d.ts +9 -0
  31. package/dist/get-multi-level-extname.js +1 -0
  32. package/dist/get-multi-level-extname.mjs +1 -0
  33. package/dist/glob.d.mts +28 -0
  34. package/dist/glob.d.ts +28 -0
  35. package/dist/glob.js +1 -0
  36. package/dist/glob.mjs +1 -0
  37. package/dist/glob.test.d.mts +2 -0
  38. package/dist/glob.test.d.ts +2 -0
  39. package/dist/glob.test.js +292 -0
  40. package/dist/glob.test.mjs +1 -0
  41. package/dist/include-files.d.mts +31 -0
  42. package/dist/include-files.d.ts +31 -0
  43. package/dist/include-files.js +1 -0
  44. package/dist/include-files.mjs +1 -0
  45. package/dist/include-files.test.d.mts +2 -0
  46. package/dist/include-files.test.d.ts +2 -0
  47. package/dist/include-files.test.js +292 -0
  48. package/dist/include-files.test.mjs +1 -0
  49. package/dist/index.d.mts +11 -0
  50. package/dist/index.d.ts +11 -0
  51. package/dist/index.js +1 -0
  52. package/dist/index.mjs +1 -0
  53. package/dist/is-string-in.d.mts +19 -0
  54. package/dist/is-string-in.d.ts +19 -0
  55. package/dist/is-string-in.js +1 -0
  56. package/dist/is-string-in.mjs +1 -0
  57. package/dist/magic-string.es-TUA2PMWY.mjs +1 -0
  58. package/dist/remove-leading-empty-lines.d.mts +18 -0
  59. package/dist/remove-leading-empty-lines.d.ts +18 -0
  60. package/dist/remove-leading-empty-lines.js +1 -0
  61. package/dist/remove-leading-empty-lines.mjs +1 -0
  62. package/dist/remove-leading-empty-lines.test.d.mts +2 -0
  63. package/dist/remove-leading-empty-lines.test.d.ts +2 -0
  64. package/dist/remove-leading-empty-lines.test.js +1 -0
  65. package/dist/remove-leading-empty-lines.test.mjs +1 -0
  66. package/dist/traverse-folder.d.mts +56 -0
  67. package/dist/traverse-folder.d.ts +56 -0
  68. package/dist/traverse-folder.js +1 -0
  69. package/dist/traverse-folder.mjs +1 -0
  70. package/dist/traverse-folder.test.d.mts +2 -0
  71. package/dist/traverse-folder.test.d.ts +2 -0
  72. package/dist/traverse-folder.test.js +292 -0
  73. package/dist/traverse-folder.test.mjs +1 -0
  74. package/dist/yaml.d.mts +59 -0
  75. package/dist/yaml.d.ts +59 -0
  76. package/dist/yaml.js +1 -0
  77. package/dist/yaml.mjs +1 -0
  78. package/docs/README.md +10 -0
  79. package/docs/classes/ConfigFile.md +169 -0
  80. package/docs/functions/getMultiLevelExtname.md +33 -0
  81. package/docs/functions/glob.md +56 -0
  82. package/docs/functions/isStringIn.md +43 -0
  83. package/docs/functions/normalizeIncludeFiles.md +49 -0
  84. package/docs/functions/parseFrontMatter.md +33 -0
  85. package/docs/functions/parseYaml.md +45 -0
  86. package/docs/functions/registerYamlTag.md +37 -0
  87. package/docs/functions/removeLeadingEmptyLines.md +39 -0
  88. package/docs/functions/stringifyYaml.md +45 -0
  89. package/docs/functions/traverseFolder.md +44 -0
  90. package/docs/functions/traverseFolderSync.md +44 -0
  91. package/docs/globals.md +36 -0
  92. package/docs/interfaces/IncludeFiles.md +25 -0
  93. package/docs/type-aliases/TraverseFolderHandler.md +33 -0
  94. package/docs/type-aliases/TraverseFolderSyncHandler.md +33 -0
  95. package/docs/variables/DefaultAllTextFiles.md +11 -0
  96. package/package.json +68 -0
@@ -0,0 +1,45 @@
1
+ [**@isdk/util**](../README.md)
2
+
3
+ ***
4
+
5
+ [@isdk/util](../globals.md) / stringifyYaml
6
+
7
+ # Function: stringifyYaml()
8
+
9
+ > **stringifyYaml**(`content`, `options`?): `string`
10
+
11
+ Defined in: [yaml.ts:85](https://github.com/isdk/util.js/blob/9d50730dc10248681409cd2901eedc5302b8836b/src/yaml.ts#L85)
12
+
13
+ Converts a JavaScript object into a YAML string with optional custom tags.
14
+
15
+ ## Parameters
16
+
17
+ ### content
18
+
19
+ `any`
20
+
21
+ The JavaScript object to convert to YAML.
22
+
23
+ ### options?
24
+
25
+ `DocumentOptions` & `SchemaOptions` & `ParseOptions` & `CreateNodeOptions` & `ToStringOptions`
26
+
27
+ Optional stringification options, including custom tags.
28
+
29
+ ## Returns
30
+
31
+ `string`
32
+
33
+ The YAML string representation of the input object.
34
+
35
+ ## Example
36
+
37
+ ```typescript
38
+ import { stringifyYaml } from './yaml';
39
+
40
+ const data = {
41
+ example: 'value',
42
+ };
43
+ const yamlString = stringifyYaml(data);
44
+ console.log(yamlString); // "example: value\n"
45
+ ```
@@ -0,0 +1,44 @@
1
+ [**@isdk/util**](../README.md)
2
+
3
+ ***
4
+
5
+ [@isdk/util](../globals.md) / traverseFolder
6
+
7
+ # Function: traverseFolder()
8
+
9
+ > **traverseFolder**(`directoryPath`, `fileHandler`): `Promise`\<`void`\>
10
+
11
+ Defined in: [traverse-folder.ts:38](https://github.com/isdk/util.js/blob/9d50730dc10248681409cd2901eedc5302b8836b/src/traverse-folder.ts#L38)
12
+
13
+ Traverses a folder asynchronously and applies a handler to each file or directory.
14
+
15
+ ## Parameters
16
+
17
+ ### directoryPath
18
+
19
+ `string`
20
+
21
+ The root directory to start traversal.
22
+
23
+ ### fileHandler
24
+
25
+ [`TraverseFolderHandler`](../type-aliases/TraverseFolderHandler.md)
26
+
27
+ A handler function called for each file/directory.
28
+
29
+ ## Returns
30
+
31
+ `Promise`\<`void`\>
32
+
33
+ ## Example
34
+
35
+ ```typescript
36
+ await traverseFolder('/path/to/folder', async (filePath, entry) => {
37
+ console.log(`Found: ${filePath}`);
38
+ if (entry.name === 'stopfile.txt') {
39
+ console.log('Stopping traversal...');
40
+ return true; // Stops further traversal
41
+ }
42
+ return false; // Continues traversal
43
+ });
44
+ ```
@@ -0,0 +1,44 @@
1
+ [**@isdk/util**](../README.md)
2
+
3
+ ***
4
+
5
+ [@isdk/util](../globals.md) / traverseFolderSync
6
+
7
+ # Function: traverseFolderSync()
8
+
9
+ > **traverseFolderSync**(`directoryPath`, `fileHandler`): `void`
10
+
11
+ Defined in: [traverse-folder.ts:66](https://github.com/isdk/util.js/blob/9d50730dc10248681409cd2901eedc5302b8836b/src/traverse-folder.ts#L66)
12
+
13
+ Traverses a folder synchronously and applies a handler to each file or directory.
14
+
15
+ ## Parameters
16
+
17
+ ### directoryPath
18
+
19
+ `string`
20
+
21
+ The root directory to start traversal.
22
+
23
+ ### fileHandler
24
+
25
+ [`TraverseFolderSyncHandler`](../type-aliases/TraverseFolderSyncHandler.md)
26
+
27
+ A handler function called for each file/directory.
28
+
29
+ ## Returns
30
+
31
+ `void`
32
+
33
+ ## Example
34
+
35
+ ```typescript
36
+ traverseFolderSync('/path/to/folder', (filePath, entry) => {
37
+ console.log(`Found: ${filePath}`);
38
+ if (entry.name === 'stopfile.txt') {
39
+ console.log('Stopping traversal...');
40
+ return true; // Stops further traversal
41
+ }
42
+ return false; // Continues traversal
43
+ });
44
+ ```
@@ -0,0 +1,36 @@
1
+ [**@isdk/util**](README.md)
2
+
3
+ ***
4
+
5
+ # @isdk/util
6
+
7
+ ## Classes
8
+
9
+ - [ConfigFile](classes/ConfigFile.md)
10
+
11
+ ## Interfaces
12
+
13
+ - [IncludeFiles](interfaces/IncludeFiles.md)
14
+
15
+ ## Type Aliases
16
+
17
+ - [TraverseFolderHandler](type-aliases/TraverseFolderHandler.md)
18
+ - [TraverseFolderSyncHandler](type-aliases/TraverseFolderSyncHandler.md)
19
+
20
+ ## Variables
21
+
22
+ - [DefaultAllTextFiles](variables/DefaultAllTextFiles.md)
23
+
24
+ ## Functions
25
+
26
+ - [getMultiLevelExtname](functions/getMultiLevelExtname.md)
27
+ - [glob](functions/glob.md)
28
+ - [isStringIn](functions/isStringIn.md)
29
+ - [normalizeIncludeFiles](functions/normalizeIncludeFiles.md)
30
+ - [parseFrontMatter](functions/parseFrontMatter.md)
31
+ - [parseYaml](functions/parseYaml.md)
32
+ - [registerYamlTag](functions/registerYamlTag.md)
33
+ - [removeLeadingEmptyLines](functions/removeLeadingEmptyLines.md)
34
+ - [stringifyYaml](functions/stringifyYaml.md)
35
+ - [traverseFolder](functions/traverseFolder.md)
36
+ - [traverseFolderSync](functions/traverseFolderSync.md)
@@ -0,0 +1,25 @@
1
+ [**@isdk/util**](../README.md)
2
+
3
+ ***
4
+
5
+ [@isdk/util](../globals.md) / IncludeFiles
6
+
7
+ # Interface: IncludeFiles
8
+
9
+ Defined in: [include-files.ts:6](https://github.com/isdk/util.js/blob/9d50730dc10248681409cd2901eedc5302b8836b/src/include-files.ts#L6)
10
+
11
+ ## Properties
12
+
13
+ ### exclude?
14
+
15
+ > `optional` **exclude**: `string`[]
16
+
17
+ Defined in: [include-files.ts:8](https://github.com/isdk/util.js/blob/9d50730dc10248681409cd2901eedc5302b8836b/src/include-files.ts#L8)
18
+
19
+ ***
20
+
21
+ ### include?
22
+
23
+ > `optional` **include**: `string`[]
24
+
25
+ Defined in: [include-files.ts:7](https://github.com/isdk/util.js/blob/9d50730dc10248681409cd2901eedc5302b8836b/src/include-files.ts#L7)
@@ -0,0 +1,33 @@
1
+ [**@isdk/util**](../README.md)
2
+
3
+ ***
4
+
5
+ [@isdk/util](../globals.md) / TraverseFolderHandler
6
+
7
+ # Type Alias: TraverseFolderHandler()
8
+
9
+ > **TraverseFolderHandler** = (`filePath`, `entry`) => `boolean` \| `void` \| `Promise`\<`boolean` \| `void`\>
10
+
11
+ Defined in: [traverse-folder.ts:11](https://github.com/isdk/util.js/blob/9d50730dc10248681409cd2901eedc5302b8836b/src/traverse-folder.ts#L11)
12
+
13
+ A handler function for asynchronous folder traversal.
14
+
15
+ ## Parameters
16
+
17
+ ### filePath
18
+
19
+ `string`
20
+
21
+ The full path of the file or directory.
22
+
23
+ ### entry
24
+
25
+ `Dirent`
26
+
27
+ The directory entry (file or folder).
28
+
29
+ ## Returns
30
+
31
+ `boolean` \| `void` \| `Promise`\<`boolean` \| `void`\>
32
+
33
+ Returns `true` to stop further traversal, or `false`/`void` to continue.
@@ -0,0 +1,33 @@
1
+ [**@isdk/util**](../README.md)
2
+
3
+ ***
4
+
5
+ [@isdk/util](../globals.md) / TraverseFolderSyncHandler
6
+
7
+ # Type Alias: TraverseFolderSyncHandler()
8
+
9
+ > **TraverseFolderSyncHandler** = (`filePath`, `entry`) => `boolean` \| `void`
10
+
11
+ Defined in: [traverse-folder.ts:18](https://github.com/isdk/util.js/blob/9d50730dc10248681409cd2901eedc5302b8836b/src/traverse-folder.ts#L18)
12
+
13
+ A handler function for synchronous folder traversal.
14
+
15
+ ## Parameters
16
+
17
+ ### filePath
18
+
19
+ `string`
20
+
21
+ The full path of the file or directory.
22
+
23
+ ### entry
24
+
25
+ `Dirent`
26
+
27
+ The directory entry (file or folder).
28
+
29
+ ## Returns
30
+
31
+ `boolean` \| `void`
32
+
33
+ Returns `true` to stop further traversal, or `false` to continue.
@@ -0,0 +1,11 @@
1
+ [**@isdk/util**](../README.md)
2
+
3
+ ***
4
+
5
+ [@isdk/util](../globals.md) / DefaultAllTextFiles
6
+
7
+ # Variable: DefaultAllTextFiles
8
+
9
+ > `const` **DefaultAllTextFiles**: `string`[]
10
+
11
+ Defined in: [include-files.ts:1](https://github.com/isdk/util.js/blob/9d50730dc10248681409cd2901eedc5302b8836b/src/include-files.ts#L1)
package/package.json ADDED
@@ -0,0 +1,68 @@
1
+ {
2
+ "name": "@isdk/util",
3
+ "description": "a set of utility functions",
4
+ "version": "0.1.1",
5
+ "author": "Riceball LEE @snowyu",
6
+ "bugs": "https://github.com/isdk/util.js/issues",
7
+ "dependencies": {
8
+ "@isdk/glob": "^0.1.0",
9
+ "load-config-file": "2.0.0",
10
+ "yaml": "^2.7.0"
11
+ },
12
+ "devDependencies": {
13
+ "@eslint/eslintrc": "^3.3.1",
14
+ "@eslint/js": "^9.23.0",
15
+ "@types/chai": "^5",
16
+ "@types/jest": "^29.5.14",
17
+ "@types/node": "^18",
18
+ "eslint": "^9",
19
+ "eslint-config-prettier": "^10",
20
+ "shx": "^0.3.3",
21
+ "terser": "^5.39.0",
22
+ "tsup": "^8.4.0",
23
+ "tsx": "^4.19.3",
24
+ "typedoc": "^0.28.1",
25
+ "typedoc-plugin-markdown": "^4.6.0",
26
+ "typescript": "^5.7.3",
27
+ "typescript-eslint": "^8.28.0",
28
+ "vite": "^6.2.3",
29
+ "vitest": "^3.0.9"
30
+ },
31
+ "engines": {
32
+ "node": ">=18.0.0"
33
+ },
34
+ "files": [
35
+ "docs",
36
+ "dist"
37
+ ],
38
+ "homepage": "https://github.com/isdk/util.js",
39
+ "keywords": [],
40
+ "license": "MIT",
41
+ "main": "dist/index.js",
42
+ "module": "./dist/index.mjs",
43
+ "exports": {
44
+ ".": {
45
+ "types": "./dist/index.d.ts",
46
+ "require": "./dist/index.js",
47
+ "import": "./dist/index.mjs"
48
+ }
49
+ },
50
+ "repository": "isdk/util.js",
51
+ "types": "dist/index.d.ts",
52
+ "scripts": {
53
+ "build-fast": "tsup",
54
+ "build": "pnpm run build-fast --dts-resolve --dts && pnpm run doc:md",
55
+ "clean": "rm -fr docs dist",
56
+ "doc": "typedoc --plugin none --out web",
57
+ "doc:md": "typedoc --plugin typedoc-plugin-markdown --out docs",
58
+ "style": "pnpm run format -c && pnpm run lint",
59
+ "style:fix": "pnpm run format:fix && pnpm run lint:fix",
60
+ "format": "prettier \"**/*.{ts,tsx,js,jsx,css,scss,sass,less,md}\"",
61
+ "format:fix": "pnpm run format --write",
62
+ "lint": "eslint .",
63
+ "lint:fix": "pnpm run lint --fix",
64
+ "test": "vitest run",
65
+ "release": "pnpm run clean && pnpm run build && git add -f docs && git ci -m 'docs: update API docs' && pnpm dlx commit-and-tag-version -s",
66
+ "release.alpha": "pnpm run release -- --prerelease alpha"
67
+ }
68
+ }