@holoscript/std 3.1.1 → 7.0.0
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/LICENSE +21 -0
- package/dist/__tests__/EconomicPrimitives.test.d.ts +2 -0
- package/dist/__tests__/EconomicTraits.test.d.ts +2 -0
- package/dist/__tests__/SimulationLabPrimitives.test.d.ts +2 -0
- package/dist/__tests__/collections.test.d.ts +2 -0
- package/dist/__tests__/events.test.d.ts +2 -0
- package/dist/__tests__/index.test.d.ts +2 -0
- package/dist/__tests__/index.test.d.ts.map +1 -0
- package/dist/__tests__/materials.test.d.ts +2 -0
- package/dist/__tests__/math.test.d.ts +2 -0
- package/dist/__tests__/physics.test.d.ts +2 -0
- package/dist/__tests__/spatial.test.d.ts +2 -0
- package/dist/__tests__/standard-library-fundamentals.test.d.ts +2 -0
- package/dist/__tests__/standard-library-fundamentals.test.d.ts.map +1 -0
- package/dist/__tests__/string-and-time-utilities.test.d.ts +2 -0
- package/dist/__tests__/string-and-time-utilities.test.d.ts.map +1 -0
- package/dist/__tests__/string-decoupled.test.d.ts +2 -0
- package/dist/__tests__/string.test.d.ts +2 -0
- package/dist/__tests__/time.test.d.ts +2 -0
- package/dist/chunk-DZHAVOCH.js +686 -0
- package/dist/chunk-DZHAVOCH.js.map +1 -0
- package/dist/chunk-P4O3WNG2.js +287 -0
- package/dist/chunk-P4O3WNG2.js.map +1 -0
- package/dist/chunk-PFX2JM4X.js +683 -0
- package/dist/chunk-PFX2JM4X.js.map +1 -0
- package/dist/chunk-PR4QN5HX.js +43 -0
- package/dist/chunk-PR4QN5HX.js.map +1 -0
- package/dist/chunk-WS6W35YC.js +443 -0
- package/dist/chunk-WS6W35YC.js.map +1 -0
- package/dist/chunk-XBA4ARST.js +9313 -0
- package/dist/chunk-XBA4ARST.js.map +1 -0
- package/dist/chunk-XJIFG7G3.js +348 -0
- package/dist/chunk-XJIFG7G3.js.map +1 -0
- package/dist/chunk-ZXVZAQCZ.js +470 -0
- package/dist/chunk-ZXVZAQCZ.js.map +1 -0
- package/dist/collections.cjs +715 -0
- package/dist/collections.cjs.map +1 -0
- package/dist/collections.d.ts +177 -0
- package/dist/collections.js +18 -0
- package/dist/collections.js.map +1 -0
- package/dist/events.d.ts +32 -0
- package/dist/fs/__tests__/file-watch-system.test.d.ts +2 -0
- package/dist/fs/__tests__/file-watch-system.test.d.ts.map +1 -0
- package/dist/fs/__tests__/path-utilities.test.d.ts +2 -0
- package/dist/fs/__tests__/path-utilities.test.d.ts.map +1 -0
- package/dist/fs/__tests__/path.test.d.ts +2 -0
- package/dist/fs/__tests__/path.test.d.ts.map +1 -0
- package/dist/fs/fs.d.ts +288 -0
- package/dist/fs/fs.d.ts.map +1 -0
- package/dist/fs/index.cjs +9338 -0
- package/dist/fs/index.cjs.map +1 -0
- package/dist/fs/index.d.ts +51 -0
- package/dist/fs/index.d.ts.map +1 -0
- package/dist/fs/index.js +204 -0
- package/dist/fs/index.js.map +1 -0
- package/dist/fs/path.d.ts +135 -0
- package/dist/fs/path.d.ts.map +1 -0
- package/dist/fs/watch.d.ts +133 -0
- package/dist/fs/watch.d.ts.map +1 -0
- package/dist/index.cjs +13326 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +102 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1275 -190
- package/dist/index.js.map +1 -0
- package/dist/materials.d.ts +50 -0
- package/dist/math.cjs +595 -0
- package/dist/math.cjs.map +1 -0
- package/dist/math.d.ts +162 -0
- package/dist/math.js +54 -0
- package/dist/math.js.map +1 -0
- package/dist/physics.d.ts +59 -0
- package/dist/spatial.d.ts +82 -0
- package/dist/string.basic.test.d.ts +5 -0
- package/dist/string.basic.test.d.ts.map +1 -0
- package/dist/string.cjs +422 -0
- package/dist/string.cjs.map +1 -0
- package/dist/string.d.ts +212 -0
- package/dist/string.d.ts.map +1 -1
- package/dist/string.js +108 -0
- package/dist/string.js.map +1 -0
- package/dist/string.test.d.ts +5 -0
- package/dist/string.test.d.ts.map +1 -0
- package/dist/time.cjs +512 -0
- package/dist/time.cjs.map +1 -0
- package/dist/time.d.ts +215 -0
- package/dist/time.js +44 -0
- package/dist/time.js.map +1 -0
- package/dist/traits/ARTraits.d.ts +14 -0
- package/dist/traits/EconomicPrimitives.cjs +335 -0
- package/dist/traits/EconomicPrimitives.cjs.map +1 -0
- package/dist/traits/EconomicPrimitives.d.ts +345 -0
- package/dist/traits/EconomicPrimitives.js +56 -0
- package/dist/traits/EconomicPrimitives.js.map +1 -0
- package/dist/traits/EconomicTraits.cjs +471 -0
- package/dist/traits/EconomicTraits.cjs.map +1 -0
- package/dist/traits/EconomicTraits.d.ts +71 -0
- package/dist/traits/EconomicTraits.js +18 -0
- package/dist/traits/EconomicTraits.js.map +1 -0
- package/dist/traits/IoTTraits.d.ts +14 -0
- package/dist/traits/SimulationLabPrimitives.d.ts +187 -0
- package/dist/traits/SimulationLabTraits.d.ts +42 -0
- package/dist/traits/VRRTraits.d.ts +150 -0
- package/dist/traits/__tests__/ARTraits.test.d.ts +2 -0
- package/dist/traits/__tests__/ARTraits.test.d.ts.map +1 -0
- package/dist/traits/__tests__/EconomicPrimitives.test.d.ts +2 -0
- package/dist/traits/__tests__/EconomicPrimitives.test.d.ts.map +1 -0
- package/dist/traits/__tests__/EconomicTraits.test.d.ts +2 -0
- package/dist/traits/__tests__/EconomicTraits.test.d.ts.map +1 -0
- package/dist/types.d.ts +202 -0
- package/dist/types.d.ts.map +1 -1
- package/error-utf8.log +6 -0
- package/error.log +0 -0
- package/package.json +35 -18
- package/src/__tests__/index.test.ts +14 -0
- package/src/__tests__/{Sprint33.test.ts → standard-library-fundamentals.test.ts} +91 -74
- package/src/__tests__/{Sprint56.test.ts → string-and-time-utilities.test.ts} +64 -64
- package/src/__tests__/string-decoupled.test.ts +6 -9
- package/src/fs/__tests__/file-watch-system.test.ts +675 -0
- package/src/fs/__tests__/path-utilities.test.ts +375 -0
- package/src/fs/__tests__/path.test.ts +287 -0
- package/src/fs/fs.ts +692 -0
- package/src/fs/index.ts +194 -0
- package/src/fs/path.ts +310 -0
- package/src/fs/watch.ts +413 -0
- package/src/index.ts +3 -1
- package/src/math.ts +1 -1
- package/src/string.basic.test.ts +1 -1
- package/src/string.test.ts +4 -4
- package/src/string.ts +32 -17
- package/src/time.ts +1 -1
- package/src/traits/ARTraits.ts +2 -2
- package/src/traits/IoTTraits.ts +2 -2
- package/src/traits/VRRTraits.ts +2 -2
- package/src/traits/__tests__/ARTraits.test.ts +8 -0
- package/src/traits/__tests__/EconomicPrimitives.test.ts +14 -0
- package/src/traits/__tests__/EconomicTraits.test.ts +16 -0
- package/src/types.ts +10 -3
- package/std_error.log +5 -0
- package/tsup.config.ts +20 -0
- package/dist/__tests__/Sprint33.test.d.ts.map +0 -1
- package/dist/__tests__/Sprint56.test.d.ts.map +0 -1
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @holoscript/fs - File System Library for HoloScript Plus
|
|
3
|
+
*
|
|
4
|
+
* Provides file I/O, directory operations, path manipulation,
|
|
5
|
+
* and file watching for HoloScript Plus programs.
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* ```hsplus
|
|
9
|
+
* import { readText, writeText, watch } from "@holoscript/fs";
|
|
10
|
+
* import { join } from "@holoscript/fs/path";
|
|
11
|
+
*
|
|
12
|
+
* async fn main() {
|
|
13
|
+
* // Read a config file
|
|
14
|
+
* let config = await readJson("config.json");
|
|
15
|
+
*
|
|
16
|
+
* // Watch for changes
|
|
17
|
+
* let watcher = watch("./src", { debounce: 100 });
|
|
18
|
+
* watcher.on("change", fn(event) {
|
|
19
|
+
* print("File changed:", event.path);
|
|
20
|
+
* });
|
|
21
|
+
* }
|
|
22
|
+
* ```
|
|
23
|
+
*/
|
|
24
|
+
export { type Encoding, type FileStats, type DirEntry, type ReadOptions, type WriteOptions, type CopyOptions, readText, readTextSync, readBytes, readBytesSync, readJson, readJsonSync, readLines, readLinesSync, writeText, writeTextSync, writeBytes, writeBytesSync, writeJson, writeJsonSync, appendText, appendTextSync, appendLine, appendLineSync, exists, existsSync, isFile, isFileSync, isDirectory, isDirectorySync, stat, statSync, mkdir, mkdirSync, ensureDir, ensureDirSync, ensureFile, ensureFileSync, remove, removeSync, copy, copySync, move, moveSync, readDir, readDirSync, listFiles, listFilesSync, listDirs, listDirsSync, walk, glob, globSync, tempDir, createTempFile, createTempDir, fileSize, fileSizeSync, dirSize, formatSize, } from './fs.js';
|
|
25
|
+
export { sep, delimiter, join, resolve, relative, normalize, isAbsolute, dirname, basename, extname, type ParsedPath, parse, format, toPosix, toWindows, parent, segments, hasExtension, changeExtension, removeExtension, addSuffix, isChildOf, commonBase, expandHome, sanitize, matchesPattern, PathBuilder, path, } from './path.js';
|
|
26
|
+
export { type WatchEventType, type WatchEvent, type WatchOptions, type WatchCallback, FileWatcher, watch, watchCallback, watchFileTypes, watchFile, watchDebounced, watchOnce, watchBatched, watchFiltered, watchEvents, watchFiles, watchDirs, } from './watch.js';
|
|
27
|
+
/**
|
|
28
|
+
* Convenience: Get current working directory
|
|
29
|
+
*/
|
|
30
|
+
export declare function cwd(): string;
|
|
31
|
+
/**
|
|
32
|
+
* Convenience: Change current working directory
|
|
33
|
+
*/
|
|
34
|
+
export declare function chdir(path: string): void;
|
|
35
|
+
/**
|
|
36
|
+
* Convenience: Get home directory
|
|
37
|
+
*/
|
|
38
|
+
export declare function homeDir(): string;
|
|
39
|
+
/**
|
|
40
|
+
* Convenience: Check if running on Windows
|
|
41
|
+
*/
|
|
42
|
+
export declare function isWindows(): boolean;
|
|
43
|
+
/**
|
|
44
|
+
* Convenience: Check if running on macOS
|
|
45
|
+
*/
|
|
46
|
+
export declare function isMacOS(): boolean;
|
|
47
|
+
/**
|
|
48
|
+
* Convenience: Check if running on Linux
|
|
49
|
+
*/
|
|
50
|
+
export declare function isLinux(): boolean;
|
|
51
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/fs/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAGH,OAAO,EAEL,KAAK,QAAQ,EACb,KAAK,SAAS,EACd,KAAK,QAAQ,EACb,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,WAAW,EAGhB,QAAQ,EACR,YAAY,EACZ,SAAS,EACT,aAAa,EACb,QAAQ,EACR,YAAY,EACZ,SAAS,EACT,aAAa,EAGb,SAAS,EACT,aAAa,EACb,UAAU,EACV,cAAc,EACd,SAAS,EACT,aAAa,EACb,UAAU,EACV,cAAc,EACd,UAAU,EACV,cAAc,EAGd,MAAM,EACN,UAAU,EACV,MAAM,EACN,UAAU,EACV,WAAW,EACX,eAAe,EACf,IAAI,EACJ,QAAQ,EACR,KAAK,EACL,SAAS,EACT,SAAS,EACT,aAAa,EACb,UAAU,EACV,cAAc,EACd,MAAM,EACN,UAAU,EACV,IAAI,EACJ,QAAQ,EACR,IAAI,EACJ,QAAQ,EAGR,OAAO,EACP,WAAW,EACX,SAAS,EACT,aAAa,EACb,QAAQ,EACR,YAAY,EACZ,IAAI,EACJ,IAAI,EACJ,QAAQ,EAGR,OAAO,EACP,cAAc,EACd,aAAa,EAGb,QAAQ,EACR,YAAY,EACZ,OAAO,EACP,UAAU,GACX,MAAM,SAAS,CAAC;AAGjB,OAAO,EACL,GAAG,EACH,SAAS,EACT,IAAI,EACJ,OAAO,EACP,QAAQ,EACR,SAAS,EACT,UAAU,EACV,OAAO,EACP,QAAQ,EACR,OAAO,EACP,KAAK,UAAU,EACf,KAAK,EACL,MAAM,EACN,OAAO,EACP,SAAS,EACT,MAAM,EACN,QAAQ,EACR,YAAY,EACZ,eAAe,EACf,eAAe,EACf,SAAS,EACT,SAAS,EACT,UAAU,EACV,UAAU,EACV,QAAQ,EACR,cAAc,EACd,WAAW,EACX,IAAI,GACL,MAAM,WAAW,CAAC;AAGnB,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,WAAW,EACX,KAAK,EACL,aAAa,EACb,cAAc,EACd,SAAS,EACT,cAAc,EACd,SAAS,EACT,YAAY,EACZ,aAAa,EACb,WAAW,EACX,UAAU,EACV,SAAS,GACV,MAAM,YAAY,CAAC;AAEpB;;GAEG;AACH,wBAAgB,GAAG,IAAI,MAAM,CAE5B;AAED;;GAEG;AACH,wBAAgB,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAExC;AAED;;GAEG;AACH,wBAAgB,OAAO,IAAI,MAAM,CAEhC;AAED;;GAEG;AACH,wBAAgB,SAAS,IAAI,OAAO,CAEnC;AAED;;GAEG;AACH,wBAAgB,OAAO,IAAI,OAAO,CAEjC;AAED;;GAEG;AACH,wBAAgB,OAAO,IAAI,OAAO,CAEjC"}
|
package/dist/fs/index.js
ADDED
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
import {
|
|
2
|
+
FileWatcher,
|
|
3
|
+
PathBuilder,
|
|
4
|
+
addSuffix,
|
|
5
|
+
appendLine,
|
|
6
|
+
appendLineSync,
|
|
7
|
+
appendText,
|
|
8
|
+
appendTextSync,
|
|
9
|
+
basename,
|
|
10
|
+
changeExtension,
|
|
11
|
+
chdir,
|
|
12
|
+
commonBase,
|
|
13
|
+
copy,
|
|
14
|
+
copySync,
|
|
15
|
+
createTempDir,
|
|
16
|
+
createTempFile,
|
|
17
|
+
cwd,
|
|
18
|
+
delimiter,
|
|
19
|
+
dirSize,
|
|
20
|
+
dirname,
|
|
21
|
+
ensureDir,
|
|
22
|
+
ensureDirSync,
|
|
23
|
+
ensureFile,
|
|
24
|
+
ensureFileSync,
|
|
25
|
+
exists,
|
|
26
|
+
existsSync,
|
|
27
|
+
expandHome,
|
|
28
|
+
extname,
|
|
29
|
+
fileSize,
|
|
30
|
+
fileSizeSync,
|
|
31
|
+
format,
|
|
32
|
+
formatSize,
|
|
33
|
+
glob,
|
|
34
|
+
globSync,
|
|
35
|
+
hasExtension,
|
|
36
|
+
homeDir,
|
|
37
|
+
isAbsolute,
|
|
38
|
+
isChildOf,
|
|
39
|
+
isDirectory,
|
|
40
|
+
isDirectorySync,
|
|
41
|
+
isFile,
|
|
42
|
+
isFileSync,
|
|
43
|
+
isLinux,
|
|
44
|
+
isMacOS,
|
|
45
|
+
isWindows,
|
|
46
|
+
join,
|
|
47
|
+
listDirs,
|
|
48
|
+
listDirsSync,
|
|
49
|
+
listFiles,
|
|
50
|
+
listFilesSync,
|
|
51
|
+
matchesPattern,
|
|
52
|
+
mkdir,
|
|
53
|
+
mkdirSync,
|
|
54
|
+
move,
|
|
55
|
+
moveSync,
|
|
56
|
+
normalize,
|
|
57
|
+
parent,
|
|
58
|
+
parse,
|
|
59
|
+
path,
|
|
60
|
+
readBytes,
|
|
61
|
+
readBytesSync,
|
|
62
|
+
readDir,
|
|
63
|
+
readDirSync,
|
|
64
|
+
readJson,
|
|
65
|
+
readJsonSync,
|
|
66
|
+
readLines,
|
|
67
|
+
readLinesSync,
|
|
68
|
+
readText,
|
|
69
|
+
readTextSync,
|
|
70
|
+
relative,
|
|
71
|
+
remove,
|
|
72
|
+
removeExtension,
|
|
73
|
+
removeSync,
|
|
74
|
+
resolve,
|
|
75
|
+
sanitize,
|
|
76
|
+
segments,
|
|
77
|
+
sep,
|
|
78
|
+
stat,
|
|
79
|
+
statSync,
|
|
80
|
+
tempDir,
|
|
81
|
+
toPosix,
|
|
82
|
+
toWindows,
|
|
83
|
+
walk,
|
|
84
|
+
watch,
|
|
85
|
+
watchBatched,
|
|
86
|
+
watchCallback,
|
|
87
|
+
watchDebounced,
|
|
88
|
+
watchDirs,
|
|
89
|
+
watchEvents,
|
|
90
|
+
watchFile,
|
|
91
|
+
watchFileTypes,
|
|
92
|
+
watchFiles,
|
|
93
|
+
watchFiltered,
|
|
94
|
+
watchOnce,
|
|
95
|
+
writeBytes,
|
|
96
|
+
writeBytesSync,
|
|
97
|
+
writeJson,
|
|
98
|
+
writeJsonSync,
|
|
99
|
+
writeText,
|
|
100
|
+
writeTextSync
|
|
101
|
+
} from "../chunk-XBA4ARST.js";
|
|
102
|
+
import "../chunk-PR4QN5HX.js";
|
|
103
|
+
export {
|
|
104
|
+
FileWatcher,
|
|
105
|
+
PathBuilder,
|
|
106
|
+
addSuffix,
|
|
107
|
+
appendLine,
|
|
108
|
+
appendLineSync,
|
|
109
|
+
appendText,
|
|
110
|
+
appendTextSync,
|
|
111
|
+
basename,
|
|
112
|
+
changeExtension,
|
|
113
|
+
chdir,
|
|
114
|
+
commonBase,
|
|
115
|
+
copy,
|
|
116
|
+
copySync,
|
|
117
|
+
createTempDir,
|
|
118
|
+
createTempFile,
|
|
119
|
+
cwd,
|
|
120
|
+
delimiter,
|
|
121
|
+
dirSize,
|
|
122
|
+
dirname,
|
|
123
|
+
ensureDir,
|
|
124
|
+
ensureDirSync,
|
|
125
|
+
ensureFile,
|
|
126
|
+
ensureFileSync,
|
|
127
|
+
exists,
|
|
128
|
+
existsSync,
|
|
129
|
+
expandHome,
|
|
130
|
+
extname,
|
|
131
|
+
fileSize,
|
|
132
|
+
fileSizeSync,
|
|
133
|
+
format,
|
|
134
|
+
formatSize,
|
|
135
|
+
glob,
|
|
136
|
+
globSync,
|
|
137
|
+
hasExtension,
|
|
138
|
+
homeDir,
|
|
139
|
+
isAbsolute,
|
|
140
|
+
isChildOf,
|
|
141
|
+
isDirectory,
|
|
142
|
+
isDirectorySync,
|
|
143
|
+
isFile,
|
|
144
|
+
isFileSync,
|
|
145
|
+
isLinux,
|
|
146
|
+
isMacOS,
|
|
147
|
+
isWindows,
|
|
148
|
+
join,
|
|
149
|
+
listDirs,
|
|
150
|
+
listDirsSync,
|
|
151
|
+
listFiles,
|
|
152
|
+
listFilesSync,
|
|
153
|
+
matchesPattern,
|
|
154
|
+
mkdir,
|
|
155
|
+
mkdirSync,
|
|
156
|
+
move,
|
|
157
|
+
moveSync,
|
|
158
|
+
normalize,
|
|
159
|
+
parent,
|
|
160
|
+
parse,
|
|
161
|
+
path,
|
|
162
|
+
readBytes,
|
|
163
|
+
readBytesSync,
|
|
164
|
+
readDir,
|
|
165
|
+
readDirSync,
|
|
166
|
+
readJson,
|
|
167
|
+
readJsonSync,
|
|
168
|
+
readLines,
|
|
169
|
+
readLinesSync,
|
|
170
|
+
readText,
|
|
171
|
+
readTextSync,
|
|
172
|
+
relative,
|
|
173
|
+
remove,
|
|
174
|
+
removeExtension,
|
|
175
|
+
removeSync,
|
|
176
|
+
resolve,
|
|
177
|
+
sanitize,
|
|
178
|
+
segments,
|
|
179
|
+
sep,
|
|
180
|
+
stat,
|
|
181
|
+
statSync,
|
|
182
|
+
tempDir,
|
|
183
|
+
toPosix,
|
|
184
|
+
toWindows,
|
|
185
|
+
walk,
|
|
186
|
+
watch,
|
|
187
|
+
watchBatched,
|
|
188
|
+
watchCallback,
|
|
189
|
+
watchDebounced,
|
|
190
|
+
watchDirs,
|
|
191
|
+
watchEvents,
|
|
192
|
+
watchFile,
|
|
193
|
+
watchFileTypes,
|
|
194
|
+
watchFiles,
|
|
195
|
+
watchFiltered,
|
|
196
|
+
watchOnce,
|
|
197
|
+
writeBytes,
|
|
198
|
+
writeBytesSync,
|
|
199
|
+
writeJson,
|
|
200
|
+
writeJsonSync,
|
|
201
|
+
writeText,
|
|
202
|
+
writeTextSync
|
|
203
|
+
};
|
|
204
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @holoscript/fs - Path Module
|
|
3
|
+
*
|
|
4
|
+
* Cross-platform path manipulation utilities for HoloScript Plus.
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Path separator for the current platform
|
|
8
|
+
*/
|
|
9
|
+
export declare const sep: "/" | "\\";
|
|
10
|
+
/**
|
|
11
|
+
* Path delimiter for environment variables
|
|
12
|
+
*/
|
|
13
|
+
export declare const delimiter: ";" | ":";
|
|
14
|
+
/**
|
|
15
|
+
* Join path segments
|
|
16
|
+
*/
|
|
17
|
+
export declare function join(...paths: string[]): string;
|
|
18
|
+
/**
|
|
19
|
+
* Resolve path segments to an absolute path
|
|
20
|
+
*/
|
|
21
|
+
export declare function resolve(...paths: string[]): string;
|
|
22
|
+
/**
|
|
23
|
+
* Get the relative path from one path to another
|
|
24
|
+
*/
|
|
25
|
+
export declare function relative(from: string, to: string): string;
|
|
26
|
+
/**
|
|
27
|
+
* Normalize a path (resolve . and .. segments)
|
|
28
|
+
*/
|
|
29
|
+
export declare function normalize(p: string): string;
|
|
30
|
+
/**
|
|
31
|
+
* Check if a path is absolute
|
|
32
|
+
*/
|
|
33
|
+
export declare function isAbsolute(p: string): boolean;
|
|
34
|
+
/**
|
|
35
|
+
* Get the directory name of a path
|
|
36
|
+
*/
|
|
37
|
+
export declare function dirname(p: string): string;
|
|
38
|
+
/**
|
|
39
|
+
* Get the base name of a path
|
|
40
|
+
*/
|
|
41
|
+
export declare function basename(p: string, ext?: string): string;
|
|
42
|
+
/**
|
|
43
|
+
* Get the extension of a path
|
|
44
|
+
*/
|
|
45
|
+
export declare function extname(p: string): string;
|
|
46
|
+
/**
|
|
47
|
+
* Parse a path into components
|
|
48
|
+
*/
|
|
49
|
+
export interface ParsedPath {
|
|
50
|
+
root: string;
|
|
51
|
+
dir: string;
|
|
52
|
+
base: string;
|
|
53
|
+
ext: string;
|
|
54
|
+
name: string;
|
|
55
|
+
}
|
|
56
|
+
export declare function parse(p: string): ParsedPath;
|
|
57
|
+
/**
|
|
58
|
+
* Format a parsed path back into a string
|
|
59
|
+
*/
|
|
60
|
+
export declare function format(pathObject: Partial<ParsedPath>): string;
|
|
61
|
+
/**
|
|
62
|
+
* Convert path to POSIX format (forward slashes)
|
|
63
|
+
*/
|
|
64
|
+
export declare function toPosix(p: string): string;
|
|
65
|
+
/**
|
|
66
|
+
* Convert path to Windows format (backslashes)
|
|
67
|
+
*/
|
|
68
|
+
export declare function toWindows(p: string): string;
|
|
69
|
+
/**
|
|
70
|
+
* Get the parent directory
|
|
71
|
+
*/
|
|
72
|
+
export declare function parent(p: string): string;
|
|
73
|
+
/**
|
|
74
|
+
* Get path segments as an array
|
|
75
|
+
*/
|
|
76
|
+
export declare function segments(p: string): string[];
|
|
77
|
+
/**
|
|
78
|
+
* Check if a path has a specific extension
|
|
79
|
+
*/
|
|
80
|
+
export declare function hasExtension(p: string, ext: string): boolean;
|
|
81
|
+
/**
|
|
82
|
+
* Change the extension of a path
|
|
83
|
+
*/
|
|
84
|
+
export declare function changeExtension(p: string, newExt: string): string;
|
|
85
|
+
/**
|
|
86
|
+
* Remove the extension from a path
|
|
87
|
+
*/
|
|
88
|
+
export declare function removeExtension(p: string): string;
|
|
89
|
+
/**
|
|
90
|
+
* Add a suffix before the extension
|
|
91
|
+
*/
|
|
92
|
+
export declare function addSuffix(p: string, suffix: string): string;
|
|
93
|
+
/**
|
|
94
|
+
* Check if a path is a child of another path
|
|
95
|
+
*/
|
|
96
|
+
export declare function isChildOf(child: string, parent: string): boolean;
|
|
97
|
+
/**
|
|
98
|
+
* Get the common base path of multiple paths
|
|
99
|
+
*/
|
|
100
|
+
export declare function commonBase(...paths: string[]): string;
|
|
101
|
+
/**
|
|
102
|
+
* Expand tilde (~) to home directory
|
|
103
|
+
*/
|
|
104
|
+
export declare function expandHome(p: string): string;
|
|
105
|
+
/**
|
|
106
|
+
* Make a path safe for use as a filename
|
|
107
|
+
*/
|
|
108
|
+
export declare function sanitize(filename: string): string;
|
|
109
|
+
/**
|
|
110
|
+
* Check if a filename matches a glob pattern
|
|
111
|
+
*/
|
|
112
|
+
export declare function matchesPattern(filename: string, pattern: string): boolean;
|
|
113
|
+
/**
|
|
114
|
+
* Path builder for fluent API
|
|
115
|
+
*/
|
|
116
|
+
export declare class PathBuilder {
|
|
117
|
+
private path;
|
|
118
|
+
constructor(base?: string);
|
|
119
|
+
static from(base: string): PathBuilder;
|
|
120
|
+
static cwd(): PathBuilder;
|
|
121
|
+
join(...segments: string[]): PathBuilder;
|
|
122
|
+
parent(): PathBuilder;
|
|
123
|
+
sibling(name: string): PathBuilder;
|
|
124
|
+
withExtension(ext: string): PathBuilder;
|
|
125
|
+
withSuffix(suffix: string): PathBuilder;
|
|
126
|
+
normalize(): PathBuilder;
|
|
127
|
+
toString(): string;
|
|
128
|
+
get value(): string;
|
|
129
|
+
get dirname(): string;
|
|
130
|
+
get basename(): string;
|
|
131
|
+
get extname(): string;
|
|
132
|
+
get name(): string;
|
|
133
|
+
}
|
|
134
|
+
export declare function path(base?: string): PathBuilder;
|
|
135
|
+
//# sourceMappingURL=path.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"path.d.ts","sourceRoot":"","sources":["../../src/fs/path.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @holoscript/fs - File Watch Module
|
|
3
|
+
*
|
|
4
|
+
* File and directory watching utilities for HoloScript Plus programs.
|
|
5
|
+
*/
|
|
6
|
+
import { EventEmitter } from 'events';
|
|
7
|
+
/**
|
|
8
|
+
* Watch event types
|
|
9
|
+
*/
|
|
10
|
+
export type WatchEventType = 'add' | 'change' | 'unlink' | 'addDir' | 'unlinkDir' | 'error' | 'ready';
|
|
11
|
+
/**
|
|
12
|
+
* Watch event
|
|
13
|
+
*/
|
|
14
|
+
export interface WatchEvent {
|
|
15
|
+
type: WatchEventType;
|
|
16
|
+
path: string;
|
|
17
|
+
stats?: {
|
|
18
|
+
size: number;
|
|
19
|
+
mtime: Date;
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Watch options
|
|
24
|
+
*/
|
|
25
|
+
export interface WatchOptions {
|
|
26
|
+
/** Glob patterns to ignore */
|
|
27
|
+
ignored?: string | string[];
|
|
28
|
+
/** Use polling instead of native events */
|
|
29
|
+
usePolling?: boolean;
|
|
30
|
+
/** Polling interval in ms */
|
|
31
|
+
interval?: number;
|
|
32
|
+
/** Emit events for initial files */
|
|
33
|
+
emitInitial?: boolean;
|
|
34
|
+
/** Follow symlinks */
|
|
35
|
+
followSymlinks?: boolean;
|
|
36
|
+
/** Watch depth */
|
|
37
|
+
depth?: number;
|
|
38
|
+
/** Persistent watch */
|
|
39
|
+
persistent?: boolean;
|
|
40
|
+
/** Debounce delay in ms */
|
|
41
|
+
debounce?: number;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Watch callback
|
|
45
|
+
*/
|
|
46
|
+
export type WatchCallback = (event: WatchEvent) => void | Promise<void>;
|
|
47
|
+
/**
|
|
48
|
+
* File watcher class
|
|
49
|
+
*/
|
|
50
|
+
export declare class FileWatcher extends EventEmitter {
|
|
51
|
+
private watcher;
|
|
52
|
+
private paths;
|
|
53
|
+
private options;
|
|
54
|
+
private debounceTimers;
|
|
55
|
+
constructor(paths: string | string[], options?: WatchOptions);
|
|
56
|
+
/**
|
|
57
|
+
* Start watching
|
|
58
|
+
*/
|
|
59
|
+
start(): this;
|
|
60
|
+
/**
|
|
61
|
+
* Stop watching
|
|
62
|
+
*/
|
|
63
|
+
stop(): Promise<void>;
|
|
64
|
+
/**
|
|
65
|
+
* Add paths to watch
|
|
66
|
+
*/
|
|
67
|
+
add(paths: string | string[]): this;
|
|
68
|
+
/**
|
|
69
|
+
* Remove paths from watch
|
|
70
|
+
*/
|
|
71
|
+
unwatch(paths: string | string[]): this;
|
|
72
|
+
/**
|
|
73
|
+
* Get watched paths
|
|
74
|
+
*/
|
|
75
|
+
getWatched(): Record<string, string[]>;
|
|
76
|
+
/**
|
|
77
|
+
* Check if watcher is ready
|
|
78
|
+
*/
|
|
79
|
+
get isReady(): boolean;
|
|
80
|
+
/**
|
|
81
|
+
* Register event handler
|
|
82
|
+
*/
|
|
83
|
+
on(event: 'add' | 'change' | 'unlink' | 'addDir' | 'unlinkDir' | 'all', listener: (event: WatchEvent) => void): this;
|
|
84
|
+
on(event: 'error', listener: (error: Error) => void): this;
|
|
85
|
+
on(event: 'ready', listener: () => void): this;
|
|
86
|
+
private handleEvent;
|
|
87
|
+
private emitEvent;
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Watch files/directories
|
|
91
|
+
*/
|
|
92
|
+
export declare function watch(paths: string | string[], options?: WatchOptions): FileWatcher;
|
|
93
|
+
/**
|
|
94
|
+
* Watch and run callback on changes
|
|
95
|
+
*/
|
|
96
|
+
export declare function watchCallback(paths: string | string[], callback: WatchCallback, options?: WatchOptions): FileWatcher;
|
|
97
|
+
/**
|
|
98
|
+
* Watch for specific file types
|
|
99
|
+
*/
|
|
100
|
+
export declare function watchFileTypes(dir: string, extensions: string[], callback: WatchCallback, options?: WatchOptions): FileWatcher;
|
|
101
|
+
/**
|
|
102
|
+
* Watch a single file
|
|
103
|
+
*/
|
|
104
|
+
export declare function watchFile(path: string, callback: WatchCallback, options?: WatchOptions): FileWatcher;
|
|
105
|
+
/**
|
|
106
|
+
* Watch and debounce - only emit after changes have stopped for a duration
|
|
107
|
+
*/
|
|
108
|
+
export declare function watchDebounced(paths: string | string[], callback: WatchCallback, debounceMs?: number, options?: WatchOptions): FileWatcher;
|
|
109
|
+
/**
|
|
110
|
+
* One-shot watch - stop after first event
|
|
111
|
+
*/
|
|
112
|
+
export declare function watchOnce(paths: string | string[], options?: WatchOptions): Promise<WatchEvent>;
|
|
113
|
+
/**
|
|
114
|
+
* Watch with batching - collect events and emit in batches
|
|
115
|
+
*/
|
|
116
|
+
export declare function watchBatched(paths: string | string[], callback: (events: WatchEvent[]) => void | Promise<void>, batchMs?: number, options?: WatchOptions): FileWatcher;
|
|
117
|
+
/**
|
|
118
|
+
* Watch with filtering
|
|
119
|
+
*/
|
|
120
|
+
export declare function watchFiltered(paths: string | string[], filter: (event: WatchEvent) => boolean, callback: WatchCallback, options?: WatchOptions): FileWatcher;
|
|
121
|
+
/**
|
|
122
|
+
* Watch only for specific event types
|
|
123
|
+
*/
|
|
124
|
+
export declare function watchEvents(paths: string | string[], eventTypes: WatchEventType[], callback: WatchCallback, options?: WatchOptions): FileWatcher;
|
|
125
|
+
/**
|
|
126
|
+
* Watch only for file changes (add, change, unlink)
|
|
127
|
+
*/
|
|
128
|
+
export declare function watchFiles(paths: string | string[], callback: WatchCallback, options?: WatchOptions): FileWatcher;
|
|
129
|
+
/**
|
|
130
|
+
* Watch only for directory changes
|
|
131
|
+
*/
|
|
132
|
+
export declare function watchDirs(paths: string | string[], callback: WatchCallback, options?: WatchOptions): FileWatcher;
|
|
133
|
+
//# sourceMappingURL=watch.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"watch.d.ts","sourceRoot":"","sources":["../../src/fs/watch.ts"],"names":[],"mappings":"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"}
|