@fnndsc/salsa 3.21.2 → 4.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.
@@ -42,7 +42,9 @@ export declare function files_path_isDirectory(targetPath: string): Promise<bool
42
42
  * @param pathStr - The ChRIS path for the new file.
43
43
  * @returns A Promise resolving to true on success, false on failure.
44
44
  */
45
- export declare function files_create(content: string | Buffer | Blob, pathStr: string): Promise<boolean>;
45
+ export declare function files_create(content: string | Buffer | Blob, pathStr: string, options?: {
46
+ folderClear?: boolean;
47
+ }): Promise<boolean>;
46
48
  /**
47
49
  * Creates a new empty file at the specified path (like Unix touch).
48
50
  * Optionally creates the file with specified content.
@@ -59,7 +61,9 @@ export declare function files_touch(target: string, content?: string | Buffer |
59
61
  * @param destPath - The full path to the destination file (including filename).
60
62
  * @returns A Promise resolving to true on success, false on failure.
61
63
  */
62
- export declare function files_copy(srcPath: string, destPath: string): Promise<boolean>;
64
+ export declare function files_copy(srcPath: string, destPath: string, options?: {
65
+ folderClear?: boolean;
66
+ }): Promise<boolean>;
63
67
  /**
64
68
  * Moves a file or directory by updating its path on the server.
65
69
  *
@@ -80,13 +84,52 @@ export declare function files_move(srcPath: string, destPath: string): Promise<b
80
84
  * @returns Promise<boolean> success.
81
85
  */
82
86
  export declare function files_uploadPath(localPath: string, remotePath: string): Promise<boolean>;
87
+ /** What holds a CUBE path: folders, files and links may each hold the same one. */
88
+ export type PathHolder = 'dir' | 'file' | 'link';
89
+ /**
90
+ * Every kind of entry that holds a path, from its parent's three listings.
91
+ *
92
+ * CUBE lets a folder and a file share one path, and that is a hazard: a
93
+ * folder made over a file, then deleted, takes the file's record with it
94
+ * and every listing of the parent fails (CUBE #732, mise #462). Writers ask
95
+ * this first and refuse a path something else holds.
96
+ *
97
+ * @param target - The absolute CUBE path.
98
+ * @returns The kinds holding it (none, one, or more than one), or Err when
99
+ * the parent could not be read (the reason stacked): a probe that cannot
100
+ * answer counts the path as taken.
101
+ */
102
+ export declare function pathHolders_find(target: string): Promise<Result<PathHolder[]>>;
103
+ /** The first thing holding a folder path or one of its parents, walking up. */
104
+ export interface FolderPathHolder {
105
+ /** The path held. */
106
+ path: string;
107
+ /** What holds it. */
108
+ holder: PathHolder;
109
+ /** Whether that path is the folder asked about, not a parent of it. */
110
+ atTarget: boolean;
111
+ }
112
+ /**
113
+ * What already holds a folder path, or the nearest parent of it that is
114
+ * held: a folder there ends the walk, as does a file or a link, which no
115
+ * folder may be made over or under (CUBE would make one anyway, and
116
+ * deleting it later takes the file's record with it, CUBE #732).
117
+ *
118
+ * @param folderPath - The folder's absolute path.
119
+ * @returns The first holder walking up, null when nothing up to the root
120
+ * holds any of it, or Err when a parent could not be read (stacked).
121
+ */
122
+ export declare function folderPath_holder(folderPath: string): Promise<Result<FolderPathHolder | null>>;
83
123
  /**
84
124
  * Creates a new folder (directory) at the specified ChRIS path.
85
125
  *
86
126
  * @param folderPath - The full ChRIS path for the new folder.
127
+ * @param options - `cleared` when the caller has already found no file or link holding the path or a parent of it.
87
128
  * @returns A Promise resolving to true on success, false on failure.
88
129
  */
89
- export declare function files_mkdir(folderPath: string): Promise<boolean>;
130
+ export declare function files_mkdir(folderPath: string, options?: {
131
+ cleared?: boolean;
132
+ }): Promise<boolean>;
90
133
  /**
91
134
  * Interface for file sharing options.
92
135
  */
@@ -46,6 +46,8 @@ exports.files_touch = files_touch;
46
46
  exports.files_copy = files_copy;
47
47
  exports.files_move = files_move;
48
48
  exports.files_uploadPath = files_uploadPath;
49
+ exports.pathHolders_find = pathHolders_find;
50
+ exports.folderPath_holder = folderPath_holder;
49
51
  exports.files_mkdir = files_mkdir;
50
52
  exports.files_getGroup = files_getGroup;
51
53
  exports.files_list = files_list;
@@ -59,6 +61,7 @@ exports.files_share = files_share;
59
61
  exports.fileContent_get = fileContent_get;
60
62
  exports.fileContent_getBinary = fileContent_getBinary;
61
63
  exports.fileContent_getBinaryStream = fileContent_getBinaryStream;
64
+ const fond_1 = require("@fnndsc/fond");
62
65
  const path = __importStar(require("path"));
63
66
  const cumin_1 = require("@fnndsc/cumin");
64
67
  const pipeline_content_1 = require("./pipeline_content");
@@ -119,6 +122,21 @@ async function files_copyRecursively(srcPath, destPath) {
119
122
  const items = await files_listRecursive(srcPath);
120
123
  let successCount = 0;
121
124
  let failCount = 0;
125
+ // The folders each target folder holds, listed once: a file is never
126
+ // copied onto a folder's name, and a large copy pays one listing per
127
+ // folder rather than one per file.
128
+ const foldersIn = new Map();
129
+ const folders_of = async (folder) => {
130
+ const known = foldersIn.get(folder);
131
+ if (known !== undefined)
132
+ return known;
133
+ const outcome = await files_listOutcome({ limit: 1000, offset: 0 }, 'dirs', folder);
134
+ const names = new Set(outcome.kind === 'listing'
135
+ ? (outcome.data.tableData ?? []).map((row) => path.posix.basename(String(row.path ?? row.fname ?? '')))
136
+ : []);
137
+ foldersIn.set(folder, names);
138
+ return names;
139
+ };
122
140
  for (const item of items) {
123
141
  // Normalize item.path to ensure it has a leading slash
124
142
  const normalizedItemPath = item.path.startsWith('/') ? item.path : '/' + item.path;
@@ -132,12 +150,18 @@ async function files_copyRecursively(srcPath, destPath) {
132
150
  failCount++;
133
151
  }
134
152
  else {
153
+ (await folders_of(path.posix.dirname(targetPath))).add(path.posix.basename(targetPath));
135
154
  successCount++;
136
155
  }
137
156
  }
138
157
  else if (item.type === 'file') {
139
158
  (0, cumin_1.runtimeOutput_data)(` Copying file: ${path.posix.basename(normalizedItemPath)}\n`);
140
- const copied = await files_copy(normalizedItemPath, targetPath);
159
+ if ((await folders_of(path.posix.dirname(targetPath))).has(path.posix.basename(targetPath))) {
160
+ (0, cumin_1.runtimeOutput_err)(` Warning: a folder already holds ${targetPath}; the file is not copied over it\n`);
161
+ failCount++;
162
+ continue;
163
+ }
164
+ const copied = await files_copy(normalizedItemPath, targetPath, { folderClear: true });
141
165
  if (!copied) {
142
166
  (0, cumin_1.runtimeOutput_err)(` Warning: Failed to copy file ${normalizedItemPath}\n`);
143
167
  failCount++;
@@ -213,7 +237,19 @@ async function files_path_isDirectory(targetPath) {
213
237
  * @param pathStr - The ChRIS path for the new file.
214
238
  * @returns A Promise resolving to true on success, false on failure.
215
239
  */
216
- async function files_create(content, pathStr) {
240
+ async function files_create(content, pathStr, options = {}) {
241
+ // A file is never written over a folder: CUBE would keep both, and
242
+ // removing either later damages the other (CUBE #732). A caller that has
243
+ // already checked the folder's names says so, and is not asked again.
244
+ if (options.folderClear !== true) {
245
+ const holders = await pathHolders_find(pathStr);
246
+ if (!holders.ok)
247
+ return false;
248
+ if (holders.value.includes('dir')) {
249
+ cumin_1.errorStack.stack_push('error', `Is a directory: a folder already holds ${pathStr}`);
250
+ return false;
251
+ }
252
+ }
217
253
  try {
218
254
  let uploadContent;
219
255
  if (typeof content === 'string') {
@@ -259,7 +295,7 @@ async function files_touch(target, content) {
259
295
  cumin_1.errorStack.stack_push("error", `touch: ${target}: a projected file takes text (--withContents)`);
260
296
  return false;
261
297
  }
262
- return vfsDispatcher.write(target, content);
298
+ return (0, fond_1.vfsOutcome_toResult)(await vfsDispatcher.write(target, content), 'write', target).ok;
263
299
  }
264
300
  // CUBE's upload does not replace: uploading over a path that already holds
265
301
  // a file leaves the OLD content in place and still reports success, so a
@@ -292,7 +328,7 @@ async function files_touch(target, content) {
292
328
  * @param destPath - The full path to the destination file (including filename).
293
329
  * @returns A Promise resolving to true on success, false on failure.
294
330
  */
295
- async function files_copy(srcPath, destPath) {
331
+ async function files_copy(srcPath, destPath, options = {}) {
296
332
  try {
297
333
  // 1. Resolve source file to get ID (needed for download)
298
334
  const fileIdResult = await fileId_resolve(srcPath);
@@ -308,7 +344,7 @@ async function files_copy(srcPath, destPath) {
308
344
  }
309
345
  // 3. Upload to destination
310
346
  // files_create handles Blob/Buffer conversion and path splitting
311
- const uploadSuccess = await files_create(content, destPath);
347
+ const uploadSuccess = await files_create(content, destPath, options);
312
348
  if (!uploadSuccess) {
313
349
  const lastError = cumin_1.errorStack.stack_pop();
314
350
  if (lastError) {
@@ -342,6 +378,16 @@ async function files_move(srcPath, destPath) {
342
378
  const finalDest = (destIsDir || destLooksDir)
343
379
  ? path.posix.join(destPath, path.posix.basename(srcPath))
344
380
  : destPath;
381
+ // Nothing is moved onto a path something already holds: CUBE has no
382
+ // overwrite, and a folder and a file sharing one path damage each other
383
+ // when either is removed (CUBE #732).
384
+ const holders = await pathHolders_find(finalDest);
385
+ if (!holders.ok)
386
+ return false;
387
+ if (holders.value.length > 0) {
388
+ cumin_1.errorStack.stack_push('error', `Destination exists: ${finalDest} — mise cannot overwrite a ${holders.value[0]}; remove it first`);
389
+ return false;
390
+ }
345
391
  if (srcIsDir) {
346
392
  const moveResult = await cumin_1.chrisIO.folder_moveByPath(srcPath, finalDest);
347
393
  return moveResult.ok && moveResult.value;
@@ -369,13 +415,107 @@ async function files_move(srcPath, destPath) {
369
415
  async function files_uploadPath(localPath, remotePath) {
370
416
  return await cumin_1.chrisIO.uploadLocalPath(localPath, remotePath);
371
417
  }
418
+ /**
419
+ * Every kind of entry that holds a path, from its parent's three listings.
420
+ *
421
+ * CUBE lets a folder and a file share one path, and that is a hazard: a
422
+ * folder made over a file, then deleted, takes the file's record with it
423
+ * and every listing of the parent fails (CUBE #732, mise #462). Writers ask
424
+ * this first and refuse a path something else holds.
425
+ *
426
+ * @param target - The absolute CUBE path.
427
+ * @returns The kinds holding it (none, one, or more than one), or Err when
428
+ * the parent could not be read (the reason stacked): a probe that cannot
429
+ * answer counts the path as taken.
430
+ */
431
+ async function pathHolders_find(target) {
432
+ const clean = target.length > 1 && target.endsWith('/') ? target.slice(0, -1) : target;
433
+ if (clean === '/' || clean === '')
434
+ return (0, cumin_1.Ok)(['dir']);
435
+ const parent = path.posix.dirname(clean);
436
+ const name = path.posix.basename(clean);
437
+ const holders = [];
438
+ const kinds = [['dirs', 'dir'], ['files', 'file'], ['links', 'link']];
439
+ for (const [asset, kind] of kinds) {
440
+ const mark = cumin_1.errorStack.checkpoint_mark();
441
+ const outcome = await files_listOutcome({ limit: 1000, offset: 0 }, asset, parent);
442
+ if (outcome.kind === 'refused') {
443
+ cumin_1.errorStack.stack_push('error', `Cannot check ${clean}: ${outcome.error.message}`);
444
+ return (0, cumin_1.Err)();
445
+ }
446
+ // A parent that is not there holds nothing: an answer, so what the
447
+ // lookup said on the way is not left to fail the command.
448
+ if (outcome.kind === 'missing')
449
+ cumin_1.errorStack.checkpoint_drain(mark);
450
+ if (outcome.kind !== 'listing')
451
+ continue;
452
+ // A folder row names itself by `path`; a file or link row by `fname`
453
+ // (a link's ends in `.chrislink`, and its `path` is where it points).
454
+ const held = (outcome.data.tableData ?? []).some((row) => {
455
+ const raw = String((kind === 'dir' ? row.path : row.fname) ?? '');
456
+ const entry = path.posix.basename(raw).replace(/\.chrislink$/, '');
457
+ return entry === name;
458
+ });
459
+ if (held)
460
+ holders.push(kind);
461
+ }
462
+ return (0, cumin_1.Ok)(holders);
463
+ }
464
+ /**
465
+ * What already holds a folder path, or the nearest parent of it that is
466
+ * held: a folder there ends the walk, as does a file or a link, which no
467
+ * folder may be made over or under (CUBE would make one anyway, and
468
+ * deleting it later takes the file's record with it, CUBE #732).
469
+ *
470
+ * @param folderPath - The folder's absolute path.
471
+ * @returns The first holder walking up, null when nothing up to the root
472
+ * holds any of it, or Err when a parent could not be read (stacked).
473
+ */
474
+ async function folderPath_holder(folderPath) {
475
+ const target = folderPath.length > 1 && folderPath.endsWith('/') ? folderPath.slice(0, -1) : folderPath;
476
+ let at = target;
477
+ while (at !== '/' && at !== '') {
478
+ const holders = await pathHolders_find(at);
479
+ if (!holders.ok)
480
+ return (0, cumin_1.Err)();
481
+ if (holders.value.length > 0) {
482
+ const holder = holders.value.includes('dir') ? 'dir' : holders.value[0];
483
+ return (0, cumin_1.Ok)({ path: at, holder, atTarget: at === target });
484
+ }
485
+ at = path.posix.dirname(at);
486
+ }
487
+ return (0, cumin_1.Ok)(null);
488
+ }
489
+ /**
490
+ * Whether a folder may be made at a path: no file or link holds it or any
491
+ * parent of it. Says why not on the error stack.
492
+ *
493
+ * @param folderPath - The folder's absolute path.
494
+ * @returns True when it may.
495
+ */
496
+ async function folderPath_clear(folderPath) {
497
+ const first = await folderPath_holder(folderPath);
498
+ if (!first.ok)
499
+ return false;
500
+ if (first.value === null || first.value.holder === 'dir')
501
+ return true;
502
+ cumin_1.errorStack.stack_push('error', first.value.atTarget
503
+ ? `File exists: a ${first.value.holder} already holds ${first.value.path}`
504
+ : `Not a directory: a ${first.value.holder} holds ${first.value.path}`);
505
+ return false;
506
+ }
372
507
  /**
373
508
  * Creates a new folder (directory) at the specified ChRIS path.
374
509
  *
375
510
  * @param folderPath - The full ChRIS path for the new folder.
511
+ * @param options - `cleared` when the caller has already found no file or link holding the path or a parent of it.
376
512
  * @returns A Promise resolving to true on success, false on failure.
377
513
  */
378
- async function files_mkdir(folderPath) {
514
+ async function files_mkdir(folderPath, options = {}) {
515
+ // A folder is never made over a file: deleting it later would take the
516
+ // file's record with it (CUBE #732). A caller that has looked already says so.
517
+ if (options.cleared !== true && !(await folderPath_clear(folderPath)))
518
+ return false;
379
519
  const result = await cumin_1.chrisIO.folder_create(folderPath);
380
520
  if (!result.ok) {
381
521
  return false;
@@ -594,7 +734,7 @@ async function files_share(fileId, options) {
594
734
  async function fileContent_get(filePath) {
595
735
  const provider = dispatcher_js_1.vfsDispatcher.provider_get(filePath);
596
736
  if (provider && provider.prefix !== '') {
597
- return dispatcher_js_1.vfsDispatcher.read(filePath);
737
+ return (0, fond_1.vfsOutcome_toResult)(await dispatcher_js_1.vfsDispatcher.read(filePath), 'read', filePath);
598
738
  }
599
739
  if (filePath.startsWith('/PIPELINES/')) {
600
740
  return (0, pipeline_content_1.fileContent_getPipeline)(filePath);
@@ -616,7 +756,7 @@ async function fileContent_get(filePath) {
616
756
  async function fileContent_getBinary(filePath) {
617
757
  const provider = dispatcher_js_1.vfsDispatcher.provider_get(filePath);
618
758
  if (provider && provider.prefix !== '') {
619
- return dispatcher_js_1.vfsDispatcher.readBinary(filePath);
759
+ return (0, fond_1.vfsOutcome_toResult)(await dispatcher_js_1.vfsDispatcher.readBinary(filePath), 'readBinary', filePath);
620
760
  }
621
761
  if (filePath.startsWith('/PIPELINES/')) {
622
762
  return (0, pipeline_content_1.fileContent_getPipelineBinary)(filePath);
@@ -637,12 +777,8 @@ async function fileContent_getBinary(filePath) {
637
777
  async function fileContent_getBinaryStream(filePath) {
638
778
  const provider = dispatcher_js_1.vfsDispatcher.provider_get(filePath);
639
779
  if (provider && provider.prefix !== '') {
640
- return dispatcher_js_1.vfsDispatcher.readBinary(filePath).then((res) => {
641
- if (res.ok) {
642
- return (0, cumin_1.Ok)({ stream: res.value, size: res.value.length });
643
- }
644
- return (0, cumin_1.Err)();
645
- });
780
+ const res = (0, fond_1.vfsOutcome_toResult)(await dispatcher_js_1.vfsDispatcher.readBinary(filePath), 'readBinary', filePath);
781
+ return res.ok ? (0, cumin_1.Ok)({ stream: res.value, size: res.value.length }) : (0, cumin_1.Err)();
646
782
  }
647
783
  if (filePath.startsWith('/PIPELINES/')) {
648
784
  return (0, pipeline_content_1.fileContent_getPipelineBinary)(filePath).then((res) => {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/files/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/files/index.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,7 @@
9
9
  *
10
10
  * @module
11
11
  */
12
+ import { type VfsOutcome } from '@fnndsc/fond';
12
13
  import { Result } from '@fnndsc/cumin';
13
14
  import { VFSProvider, VFSItem, CpOptions } from '../provider.js';
14
15
  /**
@@ -28,17 +29,21 @@ export declare class EtcVfsProvider implements VFSProvider {
28
29
  sort?: 'name' | 'size' | 'date' | 'owner';
29
30
  reverse?: boolean;
30
31
  }): Promise<Result<VFSItem[]>>;
32
+ /** @inheritdoc */
33
+ cp(_src: string, _dest: string, _options: CpOptions): Promise<VfsOutcome>;
31
34
  /**
32
35
  * Read is not supported for /etc as a directory — individual files via read().
33
36
  */
34
- cp(_src: string, _dest: string, _options: CpOptions): Promise<boolean>;
37
+ private copy_run;
38
+ /** @inheritdoc */
39
+ read(path: string): Promise<VfsOutcome<string>>;
35
40
  /**
36
41
  * Reads a virtual /etc file and returns its content as a string.
37
42
  *
38
43
  * @param path - Absolute path like /etc/compute.yaml.
39
44
  * @returns File content string or Err.
40
45
  */
41
- read(path: string): Promise<Result<string>>;
46
+ private text_read;
42
47
  private computeYaml_render;
43
48
  /**
44
49
  * Renders CUBE groups and their usernames in POSIX `/etc/group` form.
@@ -12,6 +12,7 @@
12
12
  */
13
13
  Object.defineProperty(exports, "__esModule", { value: true });
14
14
  exports.EtcVfsProvider = void 0;
15
+ const fond_1 = require("@fnndsc/fond");
15
16
  const cumin_1 = require("@fnndsc/cumin");
16
17
  const cumin_2 = require("@fnndsc/cumin");
17
18
  const membershipRevision_js_1 = require("../../groups/membershipRevision.js");
@@ -47,20 +48,28 @@ class EtcVfsProvider {
47
48
  }));
48
49
  return (0, cumin_1.Ok)(items);
49
50
  }
51
+ /** @inheritdoc */
52
+ async cp(_src, _dest, _options) {
53
+ return (0, fond_1.vfsOutcome_ofBoolean)(await this.copy_run(_src, _dest, _options), 'EROFS');
54
+ }
50
55
  /**
51
56
  * Read is not supported for /etc as a directory — individual files via read().
52
57
  */
53
- async cp(_src, _dest, _options) {
58
+ async copy_run(_src, _dest, _options) {
54
59
  cumin_1.errorStack.stack_push('error', 'cp: /etc is a read-only virtual directory');
55
60
  return false;
56
61
  }
62
+ /** @inheritdoc */
63
+ async read(path) {
64
+ return (0, fond_1.vfsOutcome_ofResult)(await this.text_read(path), 'ENOENT');
65
+ }
57
66
  /**
58
67
  * Reads a virtual /etc file and returns its content as a string.
59
68
  *
60
69
  * @param path - Absolute path like /etc/compute.yaml.
61
70
  * @returns File content string or Err.
62
71
  */
63
- async read(path) {
72
+ async text_read(path) {
64
73
  const filename = path.split('/').pop() ?? '';
65
74
  switch (filename) {
66
75
  case 'compute.yaml':
@@ -1 +1 @@
1
- {"version":3,"file":"etc.js","sourceRoot":"","sources":["../../../src/vfs/providers/etc.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"etc.js","sourceRoot":"","sources":["../../../src/vfs/providers/etc.ts"],"names":[],"mappings":"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"}
@@ -5,12 +5,14 @@
5
5
  *
6
6
  * @module
7
7
  */
8
+ import { type VfsOutcome } from '@fnndsc/fond';
8
9
  import { Result } from "@fnndsc/cumin";
9
10
  import { VFSProvider, VFSItem, CpOptions } from "../provider.js";
10
11
  /**
11
12
  * Shape of raw file browser items returned by the ChRIS API.
12
13
  */
13
14
  interface ChrisFileOrDirRaw {
15
+ id?: number | string;
14
16
  path?: string;
15
17
  fname?: string;
16
18
  fsize?: number;
@@ -42,6 +44,65 @@ export declare class NativeVfsProvider implements VFSProvider {
42
44
  sort?: "name" | "size" | "date" | "owner";
43
45
  reverse?: boolean;
44
46
  }): Promise<Result<VFSItem[]>>;
47
+ /** @inheritdoc */
48
+ cp(src: string, dest: string, options: CpOptions): Promise<VfsOutcome>;
49
+ /**
50
+ * What a path is in its parent folder: a folder, a file or a link, and its
51
+ * id, found the way CUBE can be asked (its parent's three listings).
52
+ *
53
+ * @param target - The absolute path.
54
+ * @returns The entry, null when the parent does not hold it, or Err when
55
+ * the parent could not be read (its reason stacked).
56
+ */
57
+ private entry_find;
58
+ /**
59
+ * Everything holding a path in its parent folder. CUBE lets a folder and a
60
+ * file share one path, so there can be more than one; a disk never has.
61
+ *
62
+ * @param target - The absolute path.
63
+ * @returns Each holder (folders first), or Err when the parent could not
64
+ * be read (its reason stacked).
65
+ */
66
+ private entries_find;
67
+ /**
68
+ * The one thing a removal may act on, or why it may not: ENOENT when
69
+ * nothing holds the path, and a refusal when a folder and a file share
70
+ * it, since CUBE's delete of either damages the other's record and every
71
+ * listing of the parent fails after (CUBE #732).
72
+ *
73
+ * @param target - The path to remove.
74
+ * @returns The single holder, or the failure.
75
+ */
76
+ private removable_find;
77
+ /**
78
+ * Why an operation on a path failed, once it has: ENOENT when the path
79
+ * is not there, the given errno for what is, EIO when its parent could
80
+ * not be read. The store's own words, when it gave any, are the reason
81
+ * for ENOENT and EIO; for anything else the errno's own words stand.
82
+ *
83
+ * @param target - The path.
84
+ * @param whenThere - The errno when the path is there (`EISDIR` for a read of a folder).
85
+ * @returns The failure.
86
+ */
87
+ private failure_classify;
88
+ /** @inheritdoc */
89
+ read(target: string): Promise<VfsOutcome<string>>;
90
+ /** @inheritdoc */
91
+ readBinary(target: string): Promise<VfsOutcome<Buffer>>;
92
+ /** @inheritdoc */
93
+ write(target: string, content: string | Buffer): Promise<VfsOutcome>;
94
+ /** @inheritdoc */
95
+ mkdir(target: string): Promise<VfsOutcome>;
96
+ /** @inheritdoc */
97
+ mkdirTree(target: string): Promise<VfsOutcome>;
98
+ /** @inheritdoc */
99
+ rmdir(target: string): Promise<VfsOutcome>;
100
+ /** @inheritdoc */
101
+ rename(src: string, dest: string): Promise<VfsOutcome>;
102
+ /** @inheritdoc */
103
+ rm(target: string): Promise<VfsOutcome>;
104
+ /** @inheritdoc */
105
+ rmTree(target: string): Promise<VfsOutcome>;
45
106
  /**
46
107
  * Copies native files or folders using Salsa's files_copy algorithms.
47
108
  *
@@ -49,6 +110,6 @@ export declare class NativeVfsProvider implements VFSProvider {
49
110
  * @param dest - Destination absolute path.
50
111
  * @param options - Copy options.
51
112
  */
52
- cp(src: string, dest: string, options: CpOptions): Promise<boolean>;
113
+ private copy_run;
53
114
  }
54
115
  export {};