instrumentality 0.0.3 → 0.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/dist/base.d.ts +30 -47
- package/dist/base.d.ts.map +1 -1
- package/dist/base.js +29 -44
- package/dist/dom.d.ts +19 -28
- package/dist/dom.d.ts.map +1 -1
- package/dist/dom.js +26 -41
- package/dist/road.d.ts +218 -178
- package/dist/road.d.ts.map +1 -1
- package/dist/road.js +448 -472
- package/package.json +1 -1
- package/src/base.ts +33 -50
- package/src/dom.ts +29 -44
- package/src/road.ts +500 -525
package/dist/road.d.ts
CHANGED
|
@@ -1,37 +1,46 @@
|
|
|
1
1
|
import * as fs from "node:fs";
|
|
2
2
|
import * as cr from "node:crypto";
|
|
3
3
|
import * as bs from "./base.ts";
|
|
4
|
-
/**
|
|
5
|
-
* Subclass of {@link bs.InsErr} that represents an error thrown from this specific module of the library
|
|
6
|
-
*/
|
|
4
|
+
/** Subclass of {@link bs.InsErr} that represents an error thrown from this specific module of the library */
|
|
7
5
|
export declare class RdErr extends bs.InsErr {
|
|
8
6
|
name: string;
|
|
9
7
|
}
|
|
8
|
+
export { RdErr as RoadError };
|
|
10
9
|
/**
|
|
11
|
-
* Returns the constructor function corresponding to the file mode.
|
|
10
|
+
* Returns the constructor function corresponding to the file mode (statmode).
|
|
12
11
|
*
|
|
13
|
-
* @param
|
|
14
|
-
* @returns The constructor function corresponding to the
|
|
12
|
+
* @param statmode_ The file mode to check.
|
|
13
|
+
* @returns The constructor function corresponding to the road type (e.g., {@link File}, {@link Folder}, etc.).
|
|
15
14
|
* @throws If the file mode is unknown, throws a {@link RdErr}.
|
|
16
15
|
*/
|
|
17
|
-
export declare function resolveMode(
|
|
16
|
+
export declare function resolveMode(statmode_: number): typeof File | typeof Folder | typeof BlockDevice | typeof CharacterDevice | typeof SymbolicLink | typeof Fifo | typeof Socket;
|
|
17
|
+
/**
|
|
18
|
+
* Creates the appropriate subclass of {@link Road} based on the file mode of the specified path.
|
|
19
|
+
*
|
|
20
|
+
* @param path_ The path to follow.
|
|
21
|
+
* @returns A new instance of {@link Road}.
|
|
22
|
+
* @throws If {@link fp.lstat}/{@link fs.lstatSync} fails to retrieved the status of {@link path_}.
|
|
23
|
+
*/
|
|
24
|
+
export declare function factory(path_: string): Promise<BlockDevice | CharacterDevice | Fifo | File | Folder | Socket | SymbolicLink>;
|
|
25
|
+
/** Sync version of {@link factory}. */
|
|
26
|
+
export declare function factorySync(path_: string): BlockDevice | CharacterDevice | Fifo | File | Folder | Socket | SymbolicLink;
|
|
18
27
|
/**
|
|
19
|
-
*
|
|
28
|
+
* A map that keeps track of locked roads to prevent concurrent modifications.
|
|
29
|
+
*
|
|
30
|
+
* @key The absolute path of the road that is currently locked.
|
|
31
|
+
* @value A promise that resolves when the lock on the road is released.
|
|
20
32
|
*
|
|
21
|
-
* @
|
|
22
|
-
*
|
|
23
|
-
* @throws If the path does not exist, throws a fs {@link Error}.
|
|
33
|
+
* @remarks The map is initialized lazily when the first lock is created to minimize import-time side effects.
|
|
34
|
+
* It's generally meant for read-only purposes. It's not advised to modify this map directly if there are built-in mechanisms that do the job for you as well.
|
|
24
35
|
*/
|
|
25
|
-
export declare
|
|
26
|
-
/** Async version of {@link factorySync}. */
|
|
27
|
-
export declare function factory(lookFor: string): Promise<BlockDevice | File | Folder | SymbolicLink>;
|
|
36
|
+
export declare let lockedRoads: Map<string, Promise<void>> | null;
|
|
28
37
|
/**
|
|
29
|
-
*
|
|
38
|
+
* Road is an OOP, pointer-like representation of an entry in the local file system. It wraps around the Node.js fs module and provides a more convenient access to it.
|
|
39
|
+
* It's meant to help the user mentally model an entry and help them reason about it, as well as provide a more convenient API and guardrails for common operations.
|
|
30
40
|
*
|
|
31
|
-
* @
|
|
32
|
-
*
|
|
41
|
+
* @remarks This is by no means a one-to-one mapping of the underlying file system (after initialization).
|
|
42
|
+
* It is more like a memory representation, similar to a pointer in low-level programming languages; other processes might mess with the underlying entry. There are methods to check for consistency, but they are not guaranteed to be foolproof.
|
|
33
43
|
*/
|
|
34
|
-
export declare function lockFor(roadOrPath: Road | string): Promise<void> | undefined;
|
|
35
44
|
export declare abstract class Road {
|
|
36
45
|
/** The absolute path to the file or directory that this Road instance represents.
|
|
37
46
|
* @remarks Intentionally made protected to prevent external modification, as changing this value could lead to inconsistencies and unexpected behavior. */
|
|
@@ -39,163 +48,189 @@ export declare abstract class Road {
|
|
|
39
48
|
/** Indicates whether the file or directory represented by this Road instance can be modified.
|
|
40
49
|
* Changing this value does not affect the actual file system permissions, but rather serves as a safeguard within the application to prevent accidental modifications. */
|
|
41
50
|
mutable: boolean;
|
|
42
|
-
/**
|
|
51
|
+
/** Copy of the absolute path. */
|
|
43
52
|
get isAt(): string;
|
|
44
|
-
/**
|
|
53
|
+
/** Name of the road without the path (including extensions). */
|
|
45
54
|
get name(): string;
|
|
46
|
-
/**
|
|
55
|
+
/** The amount of path segments in the absolute path to the file or directory represented by this Road instance, minus one (i.e., the depth of the path in the file system hierarchy). */
|
|
56
|
+
get depth(): number;
|
|
57
|
+
/** Same as {@link isAt} but for compatibility with external APIs. */
|
|
47
58
|
toString(): string;
|
|
48
|
-
/** Returns the OS file type of the file or directory.
|
|
49
|
-
* Return value (OS type) and the type of this instance are not guaranteed to be the same, as the file system may have changed since this instance was created. */
|
|
50
|
-
typeSync(): typeof File | typeof Folder | typeof SymbolicLink | typeof BlockDevice;
|
|
51
|
-
/** Async version of {@link typeSync}. */
|
|
52
|
-
type(): Promise<typeof File | typeof Folder | typeof SymbolicLink | typeof BlockDevice>;
|
|
53
59
|
/**
|
|
54
|
-
*
|
|
60
|
+
* Creates a new instance of the Road class.
|
|
55
61
|
*
|
|
56
|
-
* @param
|
|
57
|
-
* @param
|
|
58
|
-
* This can be skipped for performance reasons if the type is known to be correct, but it is recommended to keep it enabled for safety.
|
|
59
|
-
* @throws If the specified path does not exist, throws a fs.{@link Error}.
|
|
60
|
-
* @throws If the type of the file or directory at the specified path does not match the type of this instance, throws a {@link RdErr}. Useful for subclasses.
|
|
61
|
-
*/
|
|
62
|
-
constructor(lookFor: string, typeCheck: boolean | 1 | 0);
|
|
63
|
-
/**
|
|
64
|
-
* Verifies that the file or directory represented by this Road instance exists, is of the same type as this instance, and (optionally) is writable.
|
|
62
|
+
* @param path_ Any path-like string that can be resolved to an absolute path. It will be resolved to an absolute path using {@link ph.resolve}.
|
|
63
|
+
* @param typeCheck_ If true, the constructor will check if the path corresponds to the expected type of road (e.g., file, folder, etc.) and throw an error if it doesn't. If false, no type checking will be performed.
|
|
65
64
|
*
|
|
66
|
-
* @
|
|
67
|
-
* @returns Result of the verification.
|
|
65
|
+
* @throws If {@link typeCheck_} is true and the path does not correspond to the expected type of road, a {@link RdErr} will be thrown.
|
|
68
66
|
*/
|
|
69
|
-
|
|
70
|
-
/** Sync version of {@link verify}. */
|
|
71
|
-
verifySync(expectMode: number, typeCheck: boolean): boolean;
|
|
67
|
+
constructor(path_: string, typeCheck_: boolean | 1 | 0);
|
|
72
68
|
/**
|
|
73
|
-
*
|
|
69
|
+
* Aquires a lock for the path represented by this Road instance, preventing concurrent modifications from this and other Road instances pointing to the same path.
|
|
74
70
|
*
|
|
75
|
-
* @
|
|
76
|
-
* @
|
|
77
|
-
|
|
78
|
-
protected initChange(): Promise<{
|
|
79
|
-
[Symbol.dispose](): void;
|
|
80
|
-
[Symbol.asyncDispose](): Promise<void>;
|
|
81
|
-
}>;
|
|
82
|
-
/**
|
|
83
|
-
* Sync version of {@link initChangeSync}.
|
|
71
|
+
* @param cb_ A callback function that will be called when the lock is released. This is used internally to manage the lock state.
|
|
72
|
+
* @returns An object with a dispose method that releases the lock when called.
|
|
73
|
+
* @throws If the road is immutable, a {@link RdErr} will be thrown.
|
|
84
74
|
*
|
|
85
|
-
* @remarks This
|
|
75
|
+
* @remarks This method MUST be used with a `using` statement to ensure that the lock is released properly. Failing to do so may result in deadlocks or other concurrency issues.
|
|
76
|
+
* Non-deterministic release is unfortunately not possible due to the nature of JavaScript's garbage collection, thus the lock must be released deterministically by the user (to which the `using` statement is a convenient way to do so).
|
|
86
77
|
*/
|
|
87
|
-
protected
|
|
88
|
-
[Symbol.dispose](): void;
|
|
89
|
-
[Symbol.asyncDispose](): Promise<void>;
|
|
90
|
-
};
|
|
78
|
+
protected lock(cb_?: () => void): Promise<AsyncDisposable & Disposable>;
|
|
91
79
|
/**
|
|
92
|
-
*
|
|
80
|
+
* Sync version of {@link lock}.
|
|
81
|
+
* @throws Also throws a {@link RdErr} if the road is currently locked by another operation as it cannot wait for the lock to be released in a synchronous context.
|
|
93
82
|
*/
|
|
94
|
-
|
|
95
|
-
|
|
83
|
+
protected lockSync(cb_?: () => void): Disposable & AsyncDisposable;
|
|
84
|
+
/** @returns An instance of {@link Folder} representing the parent directory of the current road. */
|
|
85
|
+
parent(): Folder;
|
|
96
86
|
/**
|
|
97
|
-
*
|
|
98
|
-
*
|
|
87
|
+
* An async generator that yields the ancestors of the current road, starting from its parent and moving up the directory tree until it reaches the root.
|
|
88
|
+
*
|
|
89
|
+
* @yields Each ancestor folder as a {@link Folder} instance.
|
|
99
90
|
*/
|
|
100
|
-
|
|
91
|
+
ancestorsIt(): Generator<Folder, void, unknown>;
|
|
92
|
+
/** @returns An array of {@link Folder} instances representing the ancestors of the current road. */
|
|
93
|
+
ancestors(): Folder[];
|
|
101
94
|
/**
|
|
102
|
-
*
|
|
103
|
-
*
|
|
95
|
+
* Watches the current entry for changes and resolves when the entry becomes accessible (i.e., exists and can be accessed).
|
|
96
|
+
*
|
|
97
|
+
* @param abs An {@link AbortSignal} that stops the watching process when aborted.
|
|
98
|
+
* @param expectMode The expected access mode for the entry, defaults to {@link fsc.F_OK} (existence check).
|
|
99
|
+
* @param cb_ An optional callback function that will be called with any errors encountered while checking for accessibility.
|
|
100
|
+
* @see {@link fp.access} on how the check for accessibility is performed.
|
|
101
|
+
* @see {@link fs.watch} for more information on how the watching process works.
|
|
102
|
+
* @see {@link on} for more information on how the event listener is set up.
|
|
104
103
|
*/
|
|
105
|
-
|
|
104
|
+
untilAccessible(abs: AbortSignal, expectMode?: number, cb_?: (err: unknown) => unknown): Promise<void>;
|
|
106
105
|
/**
|
|
107
|
-
*
|
|
108
|
-
*
|
|
106
|
+
* Watches the current entry for changes and resolves when the entry is changed.
|
|
107
|
+
*
|
|
108
|
+
* @param abs_ An {@link AbortSignal} that stops the watching process when aborted.
|
|
109
|
+
* @param cb_ An optional callback function that will be called when the entry is changed.
|
|
110
|
+
* @returns The return value of the callback function, or null if no callback is provided.
|
|
109
111
|
*/
|
|
110
|
-
|
|
111
|
-
/** @returns The
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
setMetaSync(meta: Record<string, unknown>, suffixID?: string): void;
|
|
120
|
-
setMeta(meta: Record<string, unknown>, suffixID?: string): Promise<void>;
|
|
121
|
-
abstract deleteSync(): void;
|
|
112
|
+
onChange<T>(abs_: AbortSignal, cb_?: () => T): Promise<NonNullable<Awaited<T>> | null>;
|
|
113
|
+
/** @returns The result of {@link fp.lstat} for the current entry. */
|
|
114
|
+
lstat(): Promise<fs.Stats>;
|
|
115
|
+
/** @returns The result of {@link fs.lstatSync} for the current entry. */
|
|
116
|
+
lstatSync(): fs.Stats;
|
|
117
|
+
/** @returns The result of {@link fp.stat} for the current entry. */
|
|
118
|
+
stat(): Promise<fs.Stats>;
|
|
119
|
+
/** @returns The result of {@link fs.statSync} for the current entry. */
|
|
120
|
+
statSync(): fs.Stats;
|
|
122
121
|
abstract delete(): Promise<void>;
|
|
123
|
-
abstract
|
|
124
|
-
abstract
|
|
125
|
-
abstract
|
|
126
|
-
abstract
|
|
127
|
-
abstract
|
|
128
|
-
abstract
|
|
129
|
-
abstract
|
|
130
|
-
abstract
|
|
122
|
+
abstract deleteSync(): void;
|
|
123
|
+
abstract moveSync(into_: Folder): void;
|
|
124
|
+
abstract move(into_: Folder): Promise<void>;
|
|
125
|
+
abstract copySync(into_: Folder): this;
|
|
126
|
+
abstract copy(into_: Folder): Promise<this>;
|
|
127
|
+
abstract renameSync(to_: string): void;
|
|
128
|
+
abstract rename(to_: string): Promise<void>;
|
|
129
|
+
abstract check(): Promise<boolean>;
|
|
130
|
+
abstract checkSync(): boolean;
|
|
131
|
+
/** Type narrowing for {@link File} (similar to `instanceof` without unnecessary runtime checks). */
|
|
132
|
+
isFile(): this is File;
|
|
133
|
+
/** Type narrowing for {@link Folder} (similar to `instanceof` without unnecessary runtime checks). */
|
|
134
|
+
isDir(): this is Folder;
|
|
135
|
+
/** Type narrowing for {@link Folder} (similar to `instanceof` without unnecessary runtime checks). */
|
|
136
|
+
isFolder(): this is Folder;
|
|
137
|
+
/** Type narrowing for {@link Folder} (similar to `instanceof` without unnecessary runtime checks). */
|
|
138
|
+
isDirectory(): this is Folder;
|
|
139
|
+
/** Type narrowing for {@link Folder} (similar to `instanceof` without unnecessary runtime checks). */
|
|
140
|
+
isDict(): this is Folder;
|
|
141
|
+
/** Type narrowing for {@link Folder} (similar to `instanceof` without unnecessary runtime checks). */
|
|
142
|
+
isDictionary(): this is Folder;
|
|
143
|
+
/** Type narrowing for {@link SymbolicLink} (similar to `instanceof` without unnecessary runtime checks). */
|
|
144
|
+
isSymlink(): this is SymbolicLink;
|
|
145
|
+
/** Type narrowing for {@link SymbolicLink} (similar to `instanceof` without unnecessary runtime checks). */
|
|
146
|
+
isSymbolicLink(): this is SymbolicLink;
|
|
147
|
+
/** Type narrowing for {@link UnusableRoad} (similar to `instanceof` without unnecessary runtime checks). */
|
|
148
|
+
isUnusable(): this is UnusableRoad;
|
|
149
|
+
/** Type narrowing for {@link BlockDevice} (similar to `instanceof` without unnecessary runtime checks). */
|
|
150
|
+
isBlockDevice(): this is BlockDevice;
|
|
151
|
+
/** Type narrowing for {@link CharacterDevice} (similar to `instanceof` without unnecessary runtime checks). */
|
|
152
|
+
isCharacterDevice(): this is CharacterDevice;
|
|
153
|
+
/** Type narrowing for {@link Fifo} (similar to `instanceof` without unnecessary runtime checks). */
|
|
154
|
+
isFifo(): this is Fifo;
|
|
155
|
+
/** Type narrowing for {@link Socket} (similar to `instanceof` without unnecessary runtime checks). */
|
|
156
|
+
isSocket(): this is Socket;
|
|
131
157
|
}
|
|
158
|
+
/** Subclass of {@link Road} that represents a file. */
|
|
132
159
|
export declare class File extends Road {
|
|
160
|
+
static create(at_: string): Promise<File>;
|
|
161
|
+
static createSync(at_: string): File;
|
|
133
162
|
get ext(): string;
|
|
134
163
|
get noExt(): string;
|
|
135
|
-
static createSync(at: string): File;
|
|
136
|
-
static create(at: string): Promise<File>;
|
|
137
|
-
readSync(): Buffer;
|
|
138
|
-
readSync(encoding: BufferEncoding, flag?: string): string;
|
|
139
164
|
read(): Promise<Buffer>;
|
|
140
|
-
read(
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
writeSync(data: Buffer | string, options?: fs.WriteFileOptions): void;
|
|
150
|
-
write(data: Buffer | string, options?: fs.WriteFileOptions): Promise<void>;
|
|
151
|
-
appendSync(data: Buffer | string, options?: fs.WriteFileOptions): void;
|
|
152
|
-
append(data: Buffer | string, options?: fs.WriteFileOptions): Promise<void>;
|
|
153
|
-
sameAs(other: File): Promise<boolean>;
|
|
154
|
-
sameAsSync(other: File): boolean;
|
|
155
|
-
deleteSync(): void;
|
|
165
|
+
read(encoding_: BufferEncoding, flag_?: string): Promise<string>;
|
|
166
|
+
readSync(): Buffer;
|
|
167
|
+
readSync(encoding_: BufferEncoding, flag_?: string): string;
|
|
168
|
+
itBuff(chunkSize_?: number, flags_?: string | number, mode_?: fs.Mode): AsyncGenerator<Buffer<ArrayBuffer>, void, unknown>;
|
|
169
|
+
itBuffSync(chunkSize_?: number, flags_?: string | number, mode_?: fs.Mode): Generator<Buffer<ArrayBuffer>, void, unknown>;
|
|
170
|
+
write(data_: Buffer | string, options_?: fs.WriteFileOptions): Promise<void>;
|
|
171
|
+
writeSync(data_: Buffer | string, options_?: fs.WriteFileOptions): void;
|
|
172
|
+
append(data_: Buffer | string, options_?: fs.WriteFileOptions): Promise<void>;
|
|
173
|
+
appendSync(data_: Buffer | string, options_?: fs.WriteFileOptions): void;
|
|
156
174
|
delete(): Promise<void>;
|
|
157
|
-
|
|
158
|
-
move(
|
|
159
|
-
|
|
160
|
-
copy(
|
|
161
|
-
|
|
162
|
-
rename(
|
|
163
|
-
|
|
164
|
-
|
|
175
|
+
deleteSync(): void;
|
|
176
|
+
move(into_: Folder): Promise<void>;
|
|
177
|
+
moveSync(into_: Folder): void;
|
|
178
|
+
copy(into_: Folder): Promise<this>;
|
|
179
|
+
copySync(into_: Folder): this;
|
|
180
|
+
rename(to_: string): Promise<void>;
|
|
181
|
+
renameSync(to_: string): void;
|
|
182
|
+
check(): Promise<boolean>;
|
|
183
|
+
checkSync(): boolean;
|
|
184
|
+
isFile(): this is File;
|
|
165
185
|
}
|
|
166
|
-
export declare function
|
|
186
|
+
export declare function computeHash(f_: File, algorithm_?: string, options_?: cr.HashOptions): Promise<Buffer>;
|
|
187
|
+
export declare function computeHash(f_: File, algorithm_?: string, options_?: cr.HashOptions, encoding_?: BufferEncoding): Promise<string>;
|
|
188
|
+
export declare function computeHashSync(f_: File, algorithm_?: string, options_?: cr.HashOptions): Buffer;
|
|
189
|
+
export declare function computeHashSync(f_: File, algorithm_?: string, options_?: cr.HashOptions, encoding_?: BufferEncoding): string;
|
|
190
|
+
export declare function streamHash(f_: File, algorithm_?: string, options_?: cr.HashOptions): Promise<Buffer>;
|
|
191
|
+
export declare function streamHash(f_: File, algorithm_?: string, options_?: cr.HashOptions, encoding_?: BufferEncoding): Promise<string>;
|
|
192
|
+
export declare function streamHashSync(f_: File, algorithm_?: string, options_?: cr.HashOptions): Buffer;
|
|
193
|
+
export declare function streamHashSync(f_: File, algorithm_?: string, options_?: cr.HashOptions, encoding_?: BufferEncoding): string;
|
|
194
|
+
export declare function itLines(f_: File, options_?: fs.ReadStreamOptions): AsyncGenerator<string, void, unknown>;
|
|
195
|
+
export declare function fileSameAs(f1_: File, f2_: File): Promise<boolean>;
|
|
196
|
+
export declare function fileSameAsSync(f1_: File, f2_: File): boolean;
|
|
167
197
|
export declare class Folder extends Road {
|
|
168
|
-
static create(
|
|
169
|
-
static createSync(
|
|
170
|
-
join(...
|
|
171
|
-
itSync(): Iterable<Road>;
|
|
172
|
-
itSync<T extends Road>(expectedType: new () => T): Iterable<T>;
|
|
198
|
+
static create(at_: string): Promise<Folder>;
|
|
199
|
+
static createSync(at_: string): Folder;
|
|
200
|
+
join(...paths_: string[]): string;
|
|
173
201
|
it(): AsyncIterable<Road>;
|
|
174
|
-
it<T extends Road>(
|
|
175
|
-
|
|
176
|
-
|
|
202
|
+
it<T extends Road>(expectedType_: new () => T): AsyncIterable<T>;
|
|
203
|
+
itSync(): Iterable<Road>;
|
|
204
|
+
itSync<T extends Road>(expectedType_: new () => T): Iterable<T>;
|
|
177
205
|
list(): Promise<Road[]>;
|
|
178
|
-
list<T extends Road>(
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
find(
|
|
182
|
-
find<T extends Road>(
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
add<T extends Road>(name: string, createable: {
|
|
206
|
+
list<T extends Road>(expectedType_: new () => T): Promise<T[]>;
|
|
207
|
+
listSync(): Road[];
|
|
208
|
+
listSync<T extends Road>(expectedType_: new () => T): T[];
|
|
209
|
+
find(name_: string): Promise<Road | null>;
|
|
210
|
+
find<T extends Road>(name_: string, expectedType_: new () => T): Promise<T | null>;
|
|
211
|
+
findSync(name_: string): Road | null;
|
|
212
|
+
findSync<T extends Road>(name_: string, expectedType_: new () => T): T | null;
|
|
213
|
+
add<T extends Road>(name_: string, createable_: {
|
|
187
214
|
create: (at: string) => Promise<T>;
|
|
188
215
|
}): Promise<T>;
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
216
|
+
addSync<T extends Road>(name_: string, createable_: {
|
|
217
|
+
createSync: (at: string) => T;
|
|
218
|
+
}): T;
|
|
219
|
+
delete(options_?: fs.RmOptions): Promise<void>;
|
|
220
|
+
deleteSync(options_?: fs.RmOptions): void;
|
|
221
|
+
move(into_: Folder): Promise<void>;
|
|
222
|
+
moveSync(into_: Folder): void;
|
|
223
|
+
copy(into_: Folder): Promise<this>;
|
|
224
|
+
copySync(into_: Folder): this;
|
|
225
|
+
rename(to_: string): Promise<void>;
|
|
226
|
+
renameSync(to_: string): void;
|
|
227
|
+
check(): Promise<boolean>;
|
|
228
|
+
checkSync(): boolean;
|
|
229
|
+
isFolder(): this is Folder;
|
|
230
|
+
isDir(): this is Folder;
|
|
231
|
+
isDirectory(): this is Folder;
|
|
232
|
+
isDict(): this is Folder;
|
|
233
|
+
isDictionary(): this is Folder;
|
|
199
234
|
}
|
|
200
235
|
export declare function sysRoot(): Folder;
|
|
201
236
|
export declare function home(): Folder;
|
|
@@ -203,59 +238,64 @@ export declare function tmp(): Folder;
|
|
|
203
238
|
export declare function here(): Folder;
|
|
204
239
|
export { Folder as Dir, Folder as Directory, Folder as Dict, Folder as Dictionary };
|
|
205
240
|
export declare class SymbolicLink extends Road {
|
|
206
|
-
static create(
|
|
207
|
-
static createSync(
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
deleteSync(): void;
|
|
241
|
+
static create(at_: string, target_: string | Road): Promise<SymbolicLink>;
|
|
242
|
+
static createSync(at_: string, target_: string | Road): SymbolicLink;
|
|
243
|
+
target(): Promise<BlockDevice | CharacterDevice | Fifo | File | Folder | Socket | SymbolicLink>;
|
|
244
|
+
targetSync(): BlockDevice | CharacterDevice | Fifo | File | Folder | Socket | SymbolicLink;
|
|
245
|
+
retarget(to_: Road): Promise<void>;
|
|
246
|
+
retargetSync(to_: Road): void;
|
|
213
247
|
delete(): Promise<void>;
|
|
214
|
-
|
|
215
|
-
move(
|
|
216
|
-
|
|
217
|
-
copy(
|
|
218
|
-
|
|
219
|
-
rename(
|
|
220
|
-
|
|
221
|
-
|
|
248
|
+
deleteSync(): void;
|
|
249
|
+
move(into_: Folder): Promise<void>;
|
|
250
|
+
moveSync(into_: Folder): void;
|
|
251
|
+
copy(into_: Folder): Promise<this>;
|
|
252
|
+
copySync(into_: Folder): this;
|
|
253
|
+
rename(to_: string): Promise<void>;
|
|
254
|
+
renameSync(to_: string): void;
|
|
255
|
+
check(): Promise<boolean>;
|
|
256
|
+
checkSync(): boolean;
|
|
257
|
+
isSymlink(): this is SymbolicLink;
|
|
258
|
+
isSymbolicLink(): this is SymbolicLink;
|
|
222
259
|
}
|
|
223
260
|
export { SymbolicLink as Symlink };
|
|
224
261
|
export declare abstract class UnusableRoad extends Road {
|
|
225
262
|
readonly mutable: boolean;
|
|
226
|
-
constructor(
|
|
263
|
+
constructor(...args_: ConstructorParameters<typeof Road>);
|
|
227
264
|
error(): never;
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
deleteSync(): never;
|
|
265
|
+
lock(): Promise<never>;
|
|
266
|
+
lockSync(): never;
|
|
231
267
|
delete(): Promise<never>;
|
|
232
|
-
|
|
268
|
+
deleteSync(): never;
|
|
233
269
|
move(): Promise<never>;
|
|
234
|
-
|
|
270
|
+
moveSync(): never;
|
|
235
271
|
copy(): Promise<never>;
|
|
236
|
-
|
|
272
|
+
copySync(): never;
|
|
237
273
|
rename(): Promise<never>;
|
|
238
|
-
|
|
239
|
-
|
|
274
|
+
renameSync(): never;
|
|
275
|
+
isUnusable(): this is UnusableRoad;
|
|
240
276
|
}
|
|
241
277
|
export declare class BlockDevice extends UnusableRoad {
|
|
278
|
+
check(): Promise<boolean>;
|
|
279
|
+
checkSync(): boolean;
|
|
280
|
+
isBlockDevice(): this is BlockDevice;
|
|
242
281
|
}
|
|
243
282
|
export declare class CharacterDevice extends UnusableRoad {
|
|
283
|
+
check(): Promise<boolean>;
|
|
284
|
+
checkSync(): boolean;
|
|
285
|
+
isCharacterDevice(): this is CharacterDevice;
|
|
244
286
|
}
|
|
245
287
|
export declare class Fifo extends UnusableRoad {
|
|
288
|
+
check(): Promise<boolean>;
|
|
289
|
+
checkSync(): boolean;
|
|
290
|
+
isFifo(): this is Fifo;
|
|
246
291
|
}
|
|
247
292
|
export declare class Socket extends UnusableRoad {
|
|
293
|
+
check(): Promise<boolean>;
|
|
294
|
+
checkSync(): boolean;
|
|
295
|
+
isSocket(): this is Socket;
|
|
248
296
|
}
|
|
249
|
-
export declare
|
|
250
|
-
export declare
|
|
251
|
-
/**
|
|
252
|
-
* Forcefully cleans up all files and folders registered for cleanup on exit.
|
|
253
|
-
*
|
|
254
|
-
* @remarks This function is not recommended to be called manually, as it will delete all files and folders registered for cleanup on exit, which may lead to data loss if called at the wrong time. This function is intended to be called automatically when the process exits.
|
|
255
|
-
*/
|
|
256
|
-
export declare function forceCleanupToDelete(): void;
|
|
257
|
-
export declare function registerToCleanup(self: Road): void;
|
|
258
|
-
export declare function Temp<T extends Road>(createable: {
|
|
297
|
+
export declare function registerToCleanup(self_: Road): void;
|
|
298
|
+
export declare function Temp<T extends Road>(createable_: {
|
|
259
299
|
createSync: (at: string) => T;
|
|
260
|
-
},
|
|
300
|
+
}, autoCleanup_: boolean): T & Disposable & AsyncDisposable;
|
|
261
301
|
//# sourceMappingURL=road.d.ts.map
|
package/dist/road.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"road.d.ts","sourceRoot":"","sources":["../src/road.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAI9B,OAAO,KAAK,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"road.d.ts","sourceRoot":"","sources":["../src/road.ts"],"names":[],"mappings":"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"}
|