@duplojs/server 0.1.0-beta.1 → 0.1.0-beta.3
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/dist/_virtual/_rolldown/runtime.mjs +5 -1
- package/dist/command/create.cjs +11 -9
- package/dist/command/create.mjs +11 -9
- package/dist/command/error.cjs +2 -2
- package/dist/command/error.mjs +1 -1
- package/dist/command/help.cjs +11 -9
- package/dist/command/help.mjs +10 -8
- package/dist/common/environmentVariable/parseEnvironmentFiles.d.ts +2 -1
- package/dist/common/index.cjs +3 -0
- package/dist/common/index.d.ts +1 -0
- package/dist/common/index.mjs +3 -1
- package/dist/common/meta/getCurrentDirectoryName.cjs +10 -0
- package/dist/common/meta/getCurrentDirectoryName.d.ts +7 -0
- package/dist/common/meta/getCurrentDirectoryName.mjs +7 -0
- package/dist/common/meta/index.d.ts +7 -0
- package/dist/dataStructure/common/codec/defaults/json.cjs +12 -1
- package/dist/dataStructure/common/codec/defaults/json.d.ts +2 -2
- package/dist/dataStructure/common/codec/defaults/json.mjs +12 -1
- package/dist/dataStructure/common/codec/defaults/string.cjs +12 -1
- package/dist/dataStructure/common/codec/defaults/string.d.ts +2 -2
- package/dist/dataStructure/common/codec/defaults/string.mjs +12 -1
- package/dist/dataStructure/common/error/defaultInterpreter.cjs +3 -1
- package/dist/dataStructure/common/error/defaultInterpreter.d.ts +7 -2
- package/dist/dataStructure/common/error/defaultInterpreter.mjs +3 -1
- package/dist/dataStructure/constraint/{exist.cjs → fileExist.cjs} +5 -5
- package/dist/dataStructure/constraint/fileExist.d.ts +10 -0
- package/dist/dataStructure/constraint/{exist.mjs → fileExist.mjs} +4 -4
- package/dist/dataStructure/constraint/folderExist.cjs +19 -0
- package/dist/dataStructure/constraint/folderExist.d.ts +10 -0
- package/dist/dataStructure/constraint/folderExist.mjs +15 -0
- package/dist/dataStructure/constraint/index.d.ts +2 -1
- package/dist/dataStructure/constraint/mimeType.cjs +1 -1
- package/dist/dataStructure/constraint/mimeType.mjs +1 -1
- package/dist/dataStructure/constraint/types/constraints.d.ts +4 -2
- package/dist/dataStructure/fundamentalType/folder.cjs +11 -0
- package/dist/dataStructure/fundamentalType/folder.d.ts +8 -0
- package/dist/dataStructure/fundamentalType/folder.mjs +8 -0
- package/dist/dataStructure/fundamentalType/index.d.ts +1 -0
- package/dist/dataStructure/fundamentalType/types/fundamentalTypes.d.ts +2 -0
- package/dist/dataStructure/helper/file.d.ts +1 -1
- package/dist/dataStructure/helper/fileExist.cjs +7 -0
- package/dist/dataStructure/helper/fileExist.d.ts +2 -0
- package/dist/dataStructure/helper/fileExist.mjs +7 -0
- package/dist/dataStructure/helper/folder.cjs +10 -0
- package/dist/dataStructure/helper/folder.d.ts +3 -0
- package/dist/dataStructure/helper/folder.mjs +8 -0
- package/dist/dataStructure/helper/folderExist.cjs +7 -0
- package/dist/dataStructure/helper/folderExist.d.ts +2 -0
- package/dist/dataStructure/helper/folderExist.mjs +7 -0
- package/dist/dataStructure/helper/index.d.ts +3 -1
- package/dist/dataStructure/index.cjs +29 -8
- package/dist/dataStructure/index.mjs +19 -6
- package/dist/dataStructure/type/folder.cjs +14 -0
- package/dist/dataStructure/type/folder.d.ts +11 -0
- package/dist/dataStructure/type/folder.mjs +11 -0
- package/dist/dataStructure/type/index.d.ts +1 -0
- package/dist/dataStructure/type/types/types.d.ts +2 -0
- package/dist/file/appendFile.cjs +36 -22
- package/dist/file/appendFile.d.ts +34 -2
- package/dist/file/appendFile.mjs +35 -22
- package/dist/file/appendTextFile.cjs +34 -20
- package/dist/file/appendTextFile.d.ts +34 -2
- package/dist/file/appendTextFile.mjs +33 -20
- package/dist/file/copy.cjs +26 -14
- package/dist/file/copy.d.ts +34 -2
- package/dist/file/copy.mjs +25 -14
- package/dist/file/createEntryInterface.cjs +2 -2
- package/dist/file/createEntryInterface.d.ts +1 -1
- package/dist/file/createEntryInterface.mjs +1 -1
- package/dist/file/ensureDirectory.cjs +29 -17
- package/dist/file/ensureDirectory.d.ts +28 -2
- package/dist/file/ensureDirectory.mjs +28 -17
- package/dist/file/ensureFile.cjs +32 -19
- package/dist/file/ensureFile.d.ts +31 -2
- package/dist/file/ensureFile.mjs +31 -19
- package/dist/file/exists.cjs +23 -14
- package/dist/file/exists.d.ts +19 -2
- package/dist/file/exists.mjs +22 -14
- package/dist/file/fileInterface.cjs +2 -0
- package/dist/file/fileInterface.d.ts +8 -6
- package/dist/file/fileInterface.mjs +2 -1
- package/dist/file/folderInterface.cjs +2 -0
- package/dist/file/folderInterface.d.ts +7 -5
- package/dist/file/folderInterface.mjs +2 -1
- package/dist/file/index.cjs +6 -0
- package/dist/file/index.d.ts +0 -1
- package/dist/file/index.mjs +7 -4
- package/dist/file/link.cjs +37 -22
- package/dist/file/link.d.ts +37 -2
- package/dist/file/link.mjs +36 -22
- package/dist/file/linkStat.cjs +23 -15
- package/dist/file/linkStat.d.ts +22 -2
- package/dist/file/linkStat.mjs +23 -15
- package/dist/file/makeDirectory.cjs +35 -21
- package/dist/file/makeDirectory.d.ts +33 -2
- package/dist/file/makeDirectory.mjs +34 -21
- package/dist/file/makeTemporaryDirectory.cjs +26 -15
- package/dist/file/makeTemporaryDirectory.d.ts +25 -2
- package/dist/file/makeTemporaryDirectory.mjs +25 -15
- package/dist/file/makeTemporaryFile.cjs +29 -20
- package/dist/file/makeTemporaryFile.d.ts +28 -2
- package/dist/file/makeTemporaryFile.mjs +29 -20
- package/dist/file/move.cjs +38 -23
- package/dist/file/move.d.ts +37 -2
- package/dist/file/move.mjs +37 -23
- package/dist/file/readDirectory.cjs +27 -9
- package/dist/file/readDirectory.d.ts +26 -5
- package/dist/file/readDirectory.mjs +24 -9
- package/dist/file/readFile.cjs +28 -17
- package/dist/file/readFile.d.ts +25 -2
- package/dist/file/readFile.mjs +27 -17
- package/dist/file/readJsonFile.cjs +28 -17
- package/dist/file/readJsonFile.d.ts +25 -3
- package/dist/file/readJsonFile.mjs +27 -17
- package/dist/file/readLink.cjs +25 -15
- package/dist/file/readLink.d.ts +22 -2
- package/dist/file/readLink.mjs +24 -15
- package/dist/file/readTextFile.cjs +28 -17
- package/dist/file/readTextFile.d.ts +25 -2
- package/dist/file/readTextFile.mjs +27 -17
- package/dist/file/realPath.cjs +22 -13
- package/dist/file/realPath.d.ts +19 -2
- package/dist/file/realPath.mjs +21 -13
- package/dist/file/relocate.cjs +41 -25
- package/dist/file/relocate.d.ts +37 -2
- package/dist/file/relocate.mjs +40 -25
- package/dist/file/remove.cjs +36 -23
- package/dist/file/remove.d.ts +30 -2
- package/dist/file/remove.mjs +35 -23
- package/dist/file/rename.cjs +41 -25
- package/dist/file/rename.d.ts +37 -2
- package/dist/file/rename.mjs +40 -25
- package/dist/file/setMode.cjs +23 -15
- package/dist/file/setMode.d.ts +21 -2
- package/dist/file/setMode.mjs +23 -15
- package/dist/file/setOwner.cjs +25 -15
- package/dist/file/setOwner.d.ts +22 -2
- package/dist/file/setOwner.mjs +24 -15
- package/dist/file/setTime.cjs +25 -15
- package/dist/file/setTime.d.ts +21 -2
- package/dist/file/setTime.mjs +24 -15
- package/dist/file/stat.cjs +23 -15
- package/dist/file/stat.d.ts +22 -2
- package/dist/file/stat.mjs +23 -15
- package/dist/file/symlink.cjs +33 -20
- package/dist/file/symlink.d.ts +31 -2
- package/dist/file/symlink.mjs +32 -20
- package/dist/file/truncate.cjs +33 -21
- package/dist/file/truncate.d.ts +34 -2
- package/dist/file/truncate.mjs +33 -21
- package/dist/file/unknownEntryInterface.cjs +2 -0
- package/dist/file/unknownEntryInterface.d.ts +7 -5
- package/dist/file/unknownEntryInterface.mjs +2 -1
- package/dist/file/walkDirectory.cjs +28 -15
- package/dist/file/walkDirectory.d.ts +23 -2
- package/dist/file/walkDirectory.mjs +27 -14
- package/dist/file/writeFile.cjs +35 -21
- package/dist/file/writeFile.d.ts +34 -2
- package/dist/file/writeFile.mjs +34 -21
- package/dist/file/writeJsonFile.cjs +38 -27
- package/dist/file/writeJsonFile.d.ts +36 -5
- package/dist/file/writeJsonFile.mjs +38 -27
- package/dist/file/writeTextFile.cjs +35 -21
- package/dist/file/writeTextFile.d.ts +34 -2
- package/dist/file/writeTextFile.mjs +34 -21
- package/dist/implementor.cjs +8 -5
- package/dist/implementor.d.ts +4 -4
- package/dist/implementor.mjs +8 -5
- package/dist/index.cjs +2 -0
- package/dist/index.mjs +2 -1
- package/package.json +4 -4
- package/dist/dataStructure/constraint/exist.d.ts +0 -10
- package/dist/dataStructure/helper/exist.cjs +0 -7
- package/dist/dataStructure/helper/exist.d.ts +0 -2
- package/dist/dataStructure/helper/exist.mjs +0 -7
- package/dist/file/types/fileSystemEither.d.ts +0 -2
- package/dist/file/types/index.d.ts +0 -1
- /package/{README → README.md} +0 -0
package/dist/file/relocate.d.ts
CHANGED
|
@@ -1,7 +1,41 @@
|
|
|
1
|
-
import { FileSystemEither } from './types';
|
|
2
1
|
import * as DPath from "@duplojs/lang/path";
|
|
3
2
|
import * as DEither from "@duplojs/lang/either";
|
|
4
|
-
|
|
3
|
+
import * as DCommon from "@duplojs/lang/common";
|
|
4
|
+
declare const RelocateErrorNotFound_base: abstract new (error: Error) => DCommon.DuploJSError<"file-system-relocate-not-found", Error> & import('@duplojs/lang/kind').Kind<import('@duplojs/lang/kind').Handler<import('@duplojs/lang/kind').Definition<"@DuplojsLangCommon/duplojs-error-file-system-relocate-not-found", unknown>>, unknown>;
|
|
5
|
+
declare class RelocateErrorNotFound extends RelocateErrorNotFound_base {
|
|
6
|
+
}
|
|
7
|
+
declare const RelocateErrorPermissionDenied_base: abstract new (error: Error) => DCommon.DuploJSError<"file-system-relocate-permission-denied", Error> & import('@duplojs/lang/kind').Kind<import('@duplojs/lang/kind').Handler<import('@duplojs/lang/kind').Definition<"@DuplojsLangCommon/duplojs-error-file-system-relocate-permission-denied", unknown>>, unknown>;
|
|
8
|
+
declare class RelocateErrorPermissionDenied extends RelocateErrorPermissionDenied_base {
|
|
9
|
+
}
|
|
10
|
+
declare const RelocateErrorAlreadyExists_base: abstract new (error: Error) => DCommon.DuploJSError<"file-system-relocate-already-exists", Error> & import('@duplojs/lang/kind').Kind<import('@duplojs/lang/kind').Handler<import('@duplojs/lang/kind').Definition<"@DuplojsLangCommon/duplojs-error-file-system-relocate-already-exists", unknown>>, unknown>;
|
|
11
|
+
declare class RelocateErrorAlreadyExists extends RelocateErrorAlreadyExists_base {
|
|
12
|
+
}
|
|
13
|
+
declare const RelocateErrorIsDirectory_base: abstract new (error: Error) => DCommon.DuploJSError<"file-system-relocate-is-directory", Error> & import('@duplojs/lang/kind').Kind<import('@duplojs/lang/kind').Handler<import('@duplojs/lang/kind').Definition<"@DuplojsLangCommon/duplojs-error-file-system-relocate-is-directory", unknown>>, unknown>;
|
|
14
|
+
declare class RelocateErrorIsDirectory extends RelocateErrorIsDirectory_base {
|
|
15
|
+
}
|
|
16
|
+
declare const RelocateErrorNotDirectory_base: abstract new (error: Error) => DCommon.DuploJSError<"file-system-relocate-not-directory", Error> & import('@duplojs/lang/kind').Kind<import('@duplojs/lang/kind').Handler<import('@duplojs/lang/kind').Definition<"@DuplojsLangCommon/duplojs-error-file-system-relocate-not-directory", unknown>>, unknown>;
|
|
17
|
+
declare class RelocateErrorNotDirectory extends RelocateErrorNotDirectory_base {
|
|
18
|
+
}
|
|
19
|
+
declare const RelocateErrorDirectoryNotEmpty_base: abstract new (error: Error) => DCommon.DuploJSError<"file-system-relocate-directory-not-empty", Error> & import('@duplojs/lang/kind').Kind<import('@duplojs/lang/kind').Handler<import('@duplojs/lang/kind').Definition<"@DuplojsLangCommon/duplojs-error-file-system-relocate-directory-not-empty", unknown>>, unknown>;
|
|
20
|
+
declare class RelocateErrorDirectoryNotEmpty extends RelocateErrorDirectoryNotEmpty_base {
|
|
21
|
+
}
|
|
22
|
+
declare const RelocateErrorReadOnly_base: abstract new (error: Error) => DCommon.DuploJSError<"file-system-relocate-read-only", Error> & import('@duplojs/lang/kind').Kind<import('@duplojs/lang/kind').Handler<import('@duplojs/lang/kind').Definition<"@DuplojsLangCommon/duplojs-error-file-system-relocate-read-only", unknown>>, unknown>;
|
|
23
|
+
declare class RelocateErrorReadOnly extends RelocateErrorReadOnly_base {
|
|
24
|
+
}
|
|
25
|
+
declare const RelocateErrorInvalidArgument_base: abstract new (error: Error) => DCommon.DuploJSError<"file-system-relocate-invalid-argument", Error> & import('@duplojs/lang/kind').Kind<import('@duplojs/lang/kind').Handler<import('@duplojs/lang/kind').Definition<"@DuplojsLangCommon/duplojs-error-file-system-relocate-invalid-argument", unknown>>, unknown>;
|
|
26
|
+
declare class RelocateErrorInvalidArgument extends RelocateErrorInvalidArgument_base {
|
|
27
|
+
}
|
|
28
|
+
declare const RelocateErrorBusy_base: abstract new (error: Error) => DCommon.DuploJSError<"file-system-relocate-busy", Error> & import('@duplojs/lang/kind').Kind<import('@duplojs/lang/kind').Handler<import('@duplojs/lang/kind').Definition<"@DuplojsLangCommon/duplojs-error-file-system-relocate-busy", unknown>>, unknown>;
|
|
29
|
+
declare class RelocateErrorBusy extends RelocateErrorBusy_base {
|
|
30
|
+
}
|
|
31
|
+
declare const RelocateErrorCrossDevice_base: abstract new (error: Error) => DCommon.DuploJSError<"file-system-relocate-cross-device", Error> & import('@duplojs/lang/kind').Kind<import('@duplojs/lang/kind').Handler<import('@duplojs/lang/kind').Definition<"@DuplojsLangCommon/duplojs-error-file-system-relocate-cross-device", unknown>>, unknown>;
|
|
32
|
+
declare class RelocateErrorCrossDevice extends RelocateErrorCrossDevice_base {
|
|
33
|
+
}
|
|
34
|
+
declare const RelocateError_base: abstract new (error: Error) => DCommon.DuploJSError<"file-system-relocate-error", Error> & import('@duplojs/lang/kind').Kind<import('@duplojs/lang/kind').Handler<import('@duplojs/lang/kind').Definition<"@DuplojsLangCommon/duplojs-error-file-system-relocate-error", unknown>>, unknown>;
|
|
35
|
+
declare class RelocateError extends RelocateError_base {
|
|
36
|
+
}
|
|
37
|
+
export type RelocateErrors = (RelocateErrorNotFound | RelocateErrorPermissionDenied | RelocateErrorAlreadyExists | RelocateErrorIsDirectory | RelocateErrorNotDirectory | RelocateErrorDirectoryNotEmpty | RelocateErrorReadOnly | RelocateErrorInvalidArgument | RelocateErrorBusy | RelocateErrorCrossDevice | RelocateError);
|
|
38
|
+
export type RelocateResult = (DEither.Right<"file-system-relocate", string & DPath.Path> | DEither.Left<"file-system-relocate-error", RelocateErrors>);
|
|
5
39
|
declare module '../implementor' {
|
|
6
40
|
interface ServerFunction {
|
|
7
41
|
relocate(fromPath: string & DPath.Path, toPath: string & DPath.Path): Promise<RelocateResult>;
|
|
@@ -9,3 +43,4 @@ declare module '../implementor' {
|
|
|
9
43
|
}
|
|
10
44
|
export declare function relocate(toPath: string & DPath.Path): (fromPath: string & DPath.Path) => Promise<RelocateResult>;
|
|
11
45
|
export declare function relocate(fromPath: string & DPath.Path, toPath: string & DPath.Path): Promise<RelocateResult>;
|
|
46
|
+
export {};
|
package/dist/file/relocate.mjs
CHANGED
|
@@ -1,43 +1,58 @@
|
|
|
1
1
|
import { implementFunction, nodeFileSystem } from "../implementor.mjs";
|
|
2
|
+
import * as DCommon from "@duplojs/lang/common";
|
|
2
3
|
import * as DEither from "@duplojs/lang/either";
|
|
3
4
|
import * as DPath from "@duplojs/lang/path";
|
|
4
5
|
//#region scripts/file/relocate.ts
|
|
6
|
+
var RelocateErrorNotFound = class extends DCommon.DuploJSError.parentClass("file-system-relocate-not-found", Error) {};
|
|
7
|
+
var RelocateErrorPermissionDenied = class extends DCommon.DuploJSError.parentClass("file-system-relocate-permission-denied", Error) {};
|
|
8
|
+
var RelocateErrorAlreadyExists = class extends DCommon.DuploJSError.parentClass("file-system-relocate-already-exists", Error) {};
|
|
9
|
+
var RelocateErrorIsDirectory = class extends DCommon.DuploJSError.parentClass("file-system-relocate-is-directory", Error) {};
|
|
10
|
+
var RelocateErrorNotDirectory = class extends DCommon.DuploJSError.parentClass("file-system-relocate-not-directory", Error) {};
|
|
11
|
+
var RelocateErrorDirectoryNotEmpty = class extends DCommon.DuploJSError.parentClass("file-system-relocate-directory-not-empty", Error) {};
|
|
12
|
+
var RelocateErrorReadOnly = class extends DCommon.DuploJSError.parentClass("file-system-relocate-read-only", Error) {};
|
|
13
|
+
var RelocateErrorInvalidArgument = class extends DCommon.DuploJSError.parentClass("file-system-relocate-invalid-argument", Error) {};
|
|
14
|
+
var RelocateErrorBusy = class extends DCommon.DuploJSError.parentClass("file-system-relocate-busy", Error) {};
|
|
15
|
+
var RelocateErrorCrossDevice = class extends DCommon.DuploJSError.parentClass("file-system-relocate-cross-device", Error) {};
|
|
16
|
+
var RelocateError = class extends DCommon.DuploJSError.parentClass("file-system-relocate-error", Error) {};
|
|
5
17
|
function handleNodeRelocateError(error) {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
else if (error.code === "
|
|
10
|
-
else if (error.code === "
|
|
11
|
-
else if (error.code === "
|
|
12
|
-
else if (error.code === "
|
|
13
|
-
else if (error.code === "
|
|
14
|
-
else if (error.code === "
|
|
15
|
-
else if (error.code === "
|
|
16
|
-
else if (error.code === "
|
|
18
|
+
let relocateError = void 0;
|
|
19
|
+
if ("code" in error) {
|
|
20
|
+
if (error.code === "ENOENT") relocateError = new RelocateErrorNotFound(error);
|
|
21
|
+
else if (error.code === "EACCES" || error.code === "EPERM") relocateError = new RelocateErrorPermissionDenied(error);
|
|
22
|
+
else if (error.code === "EEXIST") relocateError = new RelocateErrorAlreadyExists(error);
|
|
23
|
+
else if (error.code === "EISDIR") relocateError = new RelocateErrorIsDirectory(error);
|
|
24
|
+
else if (error.code === "ENOTDIR") relocateError = new RelocateErrorNotDirectory(error);
|
|
25
|
+
else if (error.code === "ENOTEMPTY") relocateError = new RelocateErrorDirectoryNotEmpty(error);
|
|
26
|
+
else if (error.code === "EROFS") relocateError = new RelocateErrorReadOnly(error);
|
|
27
|
+
else if (error.code === "EINVAL") relocateError = new RelocateErrorInvalidArgument(error);
|
|
28
|
+
else if (error.code === "EBUSY") relocateError = new RelocateErrorBusy(error);
|
|
29
|
+
else if (error.code === "EXDEV") relocateError = new RelocateErrorCrossDevice(error);
|
|
17
30
|
}
|
|
18
|
-
|
|
31
|
+
if (relocateError === void 0) relocateError = new RelocateError(error);
|
|
32
|
+
return DEither.left("file-system-relocate-error", relocateError);
|
|
19
33
|
}
|
|
20
34
|
function handleDenoRelocateError(error) {
|
|
21
|
-
|
|
22
|
-
if (error instanceof Deno.errors.
|
|
23
|
-
if (error instanceof Deno.errors.
|
|
24
|
-
if (error instanceof Deno.errors.
|
|
25
|
-
if (error instanceof Deno.errors.
|
|
26
|
-
if (error instanceof Deno.errors.
|
|
27
|
-
if (error instanceof Deno.errors.
|
|
28
|
-
|
|
35
|
+
let relocateError = void 0;
|
|
36
|
+
if (error instanceof Deno.errors.NotFound) relocateError = new RelocateErrorNotFound(error);
|
|
37
|
+
else if (error instanceof Deno.errors.PermissionDenied || error instanceof Deno.errors.NotCapable) relocateError = new RelocateErrorPermissionDenied(error);
|
|
38
|
+
else if (error instanceof Deno.errors.AlreadyExists) relocateError = new RelocateErrorAlreadyExists(error);
|
|
39
|
+
else if (error instanceof Deno.errors.IsADirectory) relocateError = new RelocateErrorIsDirectory(error);
|
|
40
|
+
else if (error instanceof Deno.errors.NotADirectory) relocateError = new RelocateErrorNotDirectory(error);
|
|
41
|
+
else if (error instanceof Deno.errors.InvalidData) relocateError = new RelocateErrorInvalidArgument(error);
|
|
42
|
+
else if (error instanceof Deno.errors.Busy) relocateError = new RelocateErrorBusy(error);
|
|
43
|
+
if (relocateError === void 0) relocateError = new RelocateError(error);
|
|
44
|
+
return DEither.left("file-system-relocate-error", relocateError);
|
|
29
45
|
}
|
|
30
46
|
const relocateImplementation = implementFunction("relocate", {
|
|
31
47
|
NODE: async (fromPath, newParentPath) => {
|
|
32
|
-
const fs = await nodeFileSystem.value;
|
|
33
48
|
const baseName = DPath.getBaseName(fromPath);
|
|
34
|
-
if (!baseName) return DEither.left("file-system-relocate-
|
|
49
|
+
if (!baseName) return DEither.left("file-system-relocate-error", new RelocateErrorInvalidArgument(/* @__PURE__ */ new Error(`Invalid base name ${fromPath}`)));
|
|
35
50
|
const newPath = DPath.resolveRelative([newParentPath, baseName]);
|
|
36
|
-
return
|
|
51
|
+
return nodeFileSystem.value.rename(fromPath, newPath).then(() => DEither.right("file-system-relocate", newPath)).catch(handleNodeRelocateError);
|
|
37
52
|
},
|
|
38
|
-
DENO: (fromPath, newParentPath) => {
|
|
53
|
+
DENO: async (fromPath, newParentPath) => {
|
|
39
54
|
const baseName = DPath.getBaseName(fromPath);
|
|
40
|
-
if (!baseName) return Promise.resolve(DEither.left("file-system-relocate-
|
|
55
|
+
if (!baseName) return Promise.resolve(DEither.left("file-system-relocate-error", new RelocateErrorInvalidArgument(/* @__PURE__ */ new Error(`Invalid base name ${fromPath}`))));
|
|
41
56
|
const newPath = DPath.resolveRelative([newParentPath, baseName]);
|
|
42
57
|
return Deno.rename(fromPath, newPath).then(() => DEither.right("file-system-relocate", newPath)).catch(handleDenoRelocateError);
|
|
43
58
|
}
|
package/dist/file/remove.cjs
CHANGED
|
@@ -1,37 +1,50 @@
|
|
|
1
1
|
const require_runtime = require("../_virtual/_rolldown/runtime.cjs");
|
|
2
2
|
const require_implementor = require("../implementor.cjs");
|
|
3
|
+
let _duplojs_lang_common = require("@duplojs/lang/common");
|
|
4
|
+
_duplojs_lang_common = require_runtime.__toESM(_duplojs_lang_common, 1);
|
|
3
5
|
let _duplojs_lang_either = require("@duplojs/lang/either");
|
|
4
6
|
_duplojs_lang_either = require_runtime.__toESM(_duplojs_lang_either, 1);
|
|
5
7
|
//#region scripts/file/remove.ts
|
|
8
|
+
var RemoveErrorNotFound = class extends _duplojs_lang_common.DuploJSError.parentClass("file-system-remove-not-found", Error) {};
|
|
9
|
+
var RemoveErrorPermissionDenied = class extends _duplojs_lang_common.DuploJSError.parentClass("file-system-remove-permission-denied", Error) {};
|
|
10
|
+
var RemoveErrorIsDirectory = class extends _duplojs_lang_common.DuploJSError.parentClass("file-system-remove-is-directory", Error) {};
|
|
11
|
+
var RemoveErrorNotDirectory = class extends _duplojs_lang_common.DuploJSError.parentClass("file-system-remove-not-directory", Error) {};
|
|
12
|
+
var RemoveErrorDirectoryNotEmpty = class extends _duplojs_lang_common.DuploJSError.parentClass("file-system-remove-directory-not-empty", Error) {};
|
|
13
|
+
var RemoveErrorReadOnly = class extends _duplojs_lang_common.DuploJSError.parentClass("file-system-remove-read-only", Error) {};
|
|
14
|
+
var RemoveErrorInvalidArgument = class extends _duplojs_lang_common.DuploJSError.parentClass("file-system-remove-invalid-argument", Error) {};
|
|
15
|
+
var RemoveErrorBusy = class extends _duplojs_lang_common.DuploJSError.parentClass("file-system-remove-busy", Error) {};
|
|
16
|
+
var RemoveError = class extends _duplojs_lang_common.DuploJSError.parentClass("file-system-remove-error", Error) {};
|
|
6
17
|
function handleNodeRemoveError(error) {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
else if (error.code === "
|
|
11
|
-
else if (error.code === "
|
|
12
|
-
else if (error.code === "
|
|
13
|
-
else if (error.code === "
|
|
14
|
-
else if (error.code === "
|
|
15
|
-
else if (error.code === "
|
|
18
|
+
let removeError = void 0;
|
|
19
|
+
if ("code" in error) {
|
|
20
|
+
if (error.code === "ENOENT") removeError = new RemoveErrorNotFound(error);
|
|
21
|
+
else if (error.code === "EACCES" || error.code === "EPERM") removeError = new RemoveErrorPermissionDenied(error);
|
|
22
|
+
else if (error.code === "EISDIR") removeError = new RemoveErrorIsDirectory(error);
|
|
23
|
+
else if (error.code === "ENOTDIR") removeError = new RemoveErrorNotDirectory(error);
|
|
24
|
+
else if (error.code === "ENOTEMPTY") removeError = new RemoveErrorDirectoryNotEmpty(error);
|
|
25
|
+
else if (error.code === "EROFS") removeError = new RemoveErrorReadOnly(error);
|
|
26
|
+
else if (error.code === "EINVAL") removeError = new RemoveErrorInvalidArgument(error);
|
|
27
|
+
else if (error.code === "EBUSY") removeError = new RemoveErrorBusy(error);
|
|
16
28
|
}
|
|
17
|
-
|
|
29
|
+
if (removeError === void 0) removeError = new RemoveError(error);
|
|
30
|
+
return _duplojs_lang_either.left("file-system-remove-error", removeError);
|
|
18
31
|
}
|
|
19
32
|
function handleDenoRemoveError(error) {
|
|
20
|
-
|
|
21
|
-
if (error instanceof Deno.errors.
|
|
22
|
-
if (error instanceof Deno.errors.
|
|
23
|
-
if (error instanceof Deno.errors.
|
|
24
|
-
if (error instanceof Deno.errors.
|
|
25
|
-
if (error instanceof Deno.errors.
|
|
26
|
-
|
|
33
|
+
let removeError = void 0;
|
|
34
|
+
if (error instanceof Deno.errors.NotFound) removeError = new RemoveErrorNotFound(error);
|
|
35
|
+
else if (error instanceof Deno.errors.PermissionDenied || error instanceof Deno.errors.NotCapable) removeError = new RemoveErrorPermissionDenied(error);
|
|
36
|
+
else if (error instanceof Deno.errors.IsADirectory) removeError = new RemoveErrorIsDirectory(error);
|
|
37
|
+
else if (error instanceof Deno.errors.NotADirectory) removeError = new RemoveErrorNotDirectory(error);
|
|
38
|
+
else if (error instanceof Deno.errors.InvalidData) removeError = new RemoveErrorInvalidArgument(error);
|
|
39
|
+
else if (error instanceof Deno.errors.Busy) removeError = new RemoveErrorBusy(error);
|
|
40
|
+
if (removeError === void 0) removeError = new RemoveError(error);
|
|
41
|
+
return _duplojs_lang_either.left("file-system-remove-error", removeError);
|
|
27
42
|
}
|
|
28
43
|
const remove = require_implementor.implementFunction("remove", {
|
|
29
|
-
NODE: async (path, params) => {
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
}).then(() => _duplojs_lang_either.right("file-system-remove")).catch(handleNodeRemoveError);
|
|
34
|
-
},
|
|
44
|
+
NODE: async (path, params) => require_implementor.nodeFileSystem.value.rm(path, {
|
|
45
|
+
recursive: params?.recursive ?? false,
|
|
46
|
+
force: true
|
|
47
|
+
}).then(() => _duplojs_lang_either.right("file-system-remove")).catch(handleNodeRemoveError),
|
|
35
48
|
DENO: (path, params) => Deno.remove(path, { recursive: params?.recursive }).then(() => _duplojs_lang_either.right("file-system-remove")).catch(handleDenoRemoveError)
|
|
36
49
|
});
|
|
37
50
|
//#endregion
|
package/dist/file/remove.d.ts
CHANGED
|
@@ -1,10 +1,38 @@
|
|
|
1
|
-
import
|
|
1
|
+
import * as DCommon from "@duplojs/lang/common";
|
|
2
2
|
import * as DEither from "@duplojs/lang/either";
|
|
3
3
|
import type * as DPath from "@duplojs/lang/path";
|
|
4
4
|
interface RemoveDirectoryParams {
|
|
5
5
|
recursive?: boolean;
|
|
6
6
|
}
|
|
7
|
-
|
|
7
|
+
declare const RemoveErrorNotFound_base: abstract new (error: Error) => DCommon.DuploJSError<"file-system-remove-not-found", Error> & import('@duplojs/lang/kind').Kind<import('@duplojs/lang/kind').Handler<import('@duplojs/lang/kind').Definition<"@DuplojsLangCommon/duplojs-error-file-system-remove-not-found", unknown>>, unknown>;
|
|
8
|
+
declare class RemoveErrorNotFound extends RemoveErrorNotFound_base {
|
|
9
|
+
}
|
|
10
|
+
declare const RemoveErrorPermissionDenied_base: abstract new (error: Error) => DCommon.DuploJSError<"file-system-remove-permission-denied", Error> & import('@duplojs/lang/kind').Kind<import('@duplojs/lang/kind').Handler<import('@duplojs/lang/kind').Definition<"@DuplojsLangCommon/duplojs-error-file-system-remove-permission-denied", unknown>>, unknown>;
|
|
11
|
+
declare class RemoveErrorPermissionDenied extends RemoveErrorPermissionDenied_base {
|
|
12
|
+
}
|
|
13
|
+
declare const RemoveErrorIsDirectory_base: abstract new (error: Error) => DCommon.DuploJSError<"file-system-remove-is-directory", Error> & import('@duplojs/lang/kind').Kind<import('@duplojs/lang/kind').Handler<import('@duplojs/lang/kind').Definition<"@DuplojsLangCommon/duplojs-error-file-system-remove-is-directory", unknown>>, unknown>;
|
|
14
|
+
declare class RemoveErrorIsDirectory extends RemoveErrorIsDirectory_base {
|
|
15
|
+
}
|
|
16
|
+
declare const RemoveErrorNotDirectory_base: abstract new (error: Error) => DCommon.DuploJSError<"file-system-remove-not-directory", Error> & import('@duplojs/lang/kind').Kind<import('@duplojs/lang/kind').Handler<import('@duplojs/lang/kind').Definition<"@DuplojsLangCommon/duplojs-error-file-system-remove-not-directory", unknown>>, unknown>;
|
|
17
|
+
declare class RemoveErrorNotDirectory extends RemoveErrorNotDirectory_base {
|
|
18
|
+
}
|
|
19
|
+
declare const RemoveErrorDirectoryNotEmpty_base: abstract new (error: Error) => DCommon.DuploJSError<"file-system-remove-directory-not-empty", Error> & import('@duplojs/lang/kind').Kind<import('@duplojs/lang/kind').Handler<import('@duplojs/lang/kind').Definition<"@DuplojsLangCommon/duplojs-error-file-system-remove-directory-not-empty", unknown>>, unknown>;
|
|
20
|
+
declare class RemoveErrorDirectoryNotEmpty extends RemoveErrorDirectoryNotEmpty_base {
|
|
21
|
+
}
|
|
22
|
+
declare const RemoveErrorReadOnly_base: abstract new (error: Error) => DCommon.DuploJSError<"file-system-remove-read-only", Error> & import('@duplojs/lang/kind').Kind<import('@duplojs/lang/kind').Handler<import('@duplojs/lang/kind').Definition<"@DuplojsLangCommon/duplojs-error-file-system-remove-read-only", unknown>>, unknown>;
|
|
23
|
+
declare class RemoveErrorReadOnly extends RemoveErrorReadOnly_base {
|
|
24
|
+
}
|
|
25
|
+
declare const RemoveErrorInvalidArgument_base: abstract new (error: Error) => DCommon.DuploJSError<"file-system-remove-invalid-argument", Error> & import('@duplojs/lang/kind').Kind<import('@duplojs/lang/kind').Handler<import('@duplojs/lang/kind').Definition<"@DuplojsLangCommon/duplojs-error-file-system-remove-invalid-argument", unknown>>, unknown>;
|
|
26
|
+
declare class RemoveErrorInvalidArgument extends RemoveErrorInvalidArgument_base {
|
|
27
|
+
}
|
|
28
|
+
declare const RemoveErrorBusy_base: abstract new (error: Error) => DCommon.DuploJSError<"file-system-remove-busy", Error> & import('@duplojs/lang/kind').Kind<import('@duplojs/lang/kind').Handler<import('@duplojs/lang/kind').Definition<"@DuplojsLangCommon/duplojs-error-file-system-remove-busy", unknown>>, unknown>;
|
|
29
|
+
declare class RemoveErrorBusy extends RemoveErrorBusy_base {
|
|
30
|
+
}
|
|
31
|
+
declare const RemoveError_base: abstract new (error: Error) => DCommon.DuploJSError<"file-system-remove-error", Error> & import('@duplojs/lang/kind').Kind<import('@duplojs/lang/kind').Handler<import('@duplojs/lang/kind').Definition<"@DuplojsLangCommon/duplojs-error-file-system-remove-error", unknown>>, unknown>;
|
|
32
|
+
declare class RemoveError extends RemoveError_base {
|
|
33
|
+
}
|
|
34
|
+
export type RemoveErrors = (RemoveErrorNotFound | RemoveErrorPermissionDenied | RemoveErrorIsDirectory | RemoveErrorNotDirectory | RemoveErrorDirectoryNotEmpty | RemoveErrorReadOnly | RemoveErrorInvalidArgument | RemoveErrorBusy | RemoveError);
|
|
35
|
+
export type RemoveResult = (DEither.Right<"file-system-remove", void> | DEither.Left<"file-system-remove-error", RemoveErrors>);
|
|
8
36
|
declare module '../implementor' {
|
|
9
37
|
interface ServerFunction {
|
|
10
38
|
remove(path: string & DPath.Path, params?: RemoveDirectoryParams): Promise<RemoveResult>;
|
package/dist/file/remove.mjs
CHANGED
|
@@ -1,35 +1,47 @@
|
|
|
1
1
|
import { implementFunction, nodeFileSystem } from "../implementor.mjs";
|
|
2
|
+
import * as DCommon from "@duplojs/lang/common";
|
|
2
3
|
import * as DEither from "@duplojs/lang/either";
|
|
3
4
|
//#region scripts/file/remove.ts
|
|
5
|
+
var RemoveErrorNotFound = class extends DCommon.DuploJSError.parentClass("file-system-remove-not-found", Error) {};
|
|
6
|
+
var RemoveErrorPermissionDenied = class extends DCommon.DuploJSError.parentClass("file-system-remove-permission-denied", Error) {};
|
|
7
|
+
var RemoveErrorIsDirectory = class extends DCommon.DuploJSError.parentClass("file-system-remove-is-directory", Error) {};
|
|
8
|
+
var RemoveErrorNotDirectory = class extends DCommon.DuploJSError.parentClass("file-system-remove-not-directory", Error) {};
|
|
9
|
+
var RemoveErrorDirectoryNotEmpty = class extends DCommon.DuploJSError.parentClass("file-system-remove-directory-not-empty", Error) {};
|
|
10
|
+
var RemoveErrorReadOnly = class extends DCommon.DuploJSError.parentClass("file-system-remove-read-only", Error) {};
|
|
11
|
+
var RemoveErrorInvalidArgument = class extends DCommon.DuploJSError.parentClass("file-system-remove-invalid-argument", Error) {};
|
|
12
|
+
var RemoveErrorBusy = class extends DCommon.DuploJSError.parentClass("file-system-remove-busy", Error) {};
|
|
13
|
+
var RemoveError = class extends DCommon.DuploJSError.parentClass("file-system-remove-error", Error) {};
|
|
4
14
|
function handleNodeRemoveError(error) {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
else if (error.code === "
|
|
9
|
-
else if (error.code === "
|
|
10
|
-
else if (error.code === "
|
|
11
|
-
else if (error.code === "
|
|
12
|
-
else if (error.code === "
|
|
13
|
-
else if (error.code === "
|
|
15
|
+
let removeError = void 0;
|
|
16
|
+
if ("code" in error) {
|
|
17
|
+
if (error.code === "ENOENT") removeError = new RemoveErrorNotFound(error);
|
|
18
|
+
else if (error.code === "EACCES" || error.code === "EPERM") removeError = new RemoveErrorPermissionDenied(error);
|
|
19
|
+
else if (error.code === "EISDIR") removeError = new RemoveErrorIsDirectory(error);
|
|
20
|
+
else if (error.code === "ENOTDIR") removeError = new RemoveErrorNotDirectory(error);
|
|
21
|
+
else if (error.code === "ENOTEMPTY") removeError = new RemoveErrorDirectoryNotEmpty(error);
|
|
22
|
+
else if (error.code === "EROFS") removeError = new RemoveErrorReadOnly(error);
|
|
23
|
+
else if (error.code === "EINVAL") removeError = new RemoveErrorInvalidArgument(error);
|
|
24
|
+
else if (error.code === "EBUSY") removeError = new RemoveErrorBusy(error);
|
|
14
25
|
}
|
|
15
|
-
|
|
26
|
+
if (removeError === void 0) removeError = new RemoveError(error);
|
|
27
|
+
return DEither.left("file-system-remove-error", removeError);
|
|
16
28
|
}
|
|
17
29
|
function handleDenoRemoveError(error) {
|
|
18
|
-
|
|
19
|
-
if (error instanceof Deno.errors.
|
|
20
|
-
if (error instanceof Deno.errors.
|
|
21
|
-
if (error instanceof Deno.errors.
|
|
22
|
-
if (error instanceof Deno.errors.
|
|
23
|
-
if (error instanceof Deno.errors.
|
|
24
|
-
|
|
30
|
+
let removeError = void 0;
|
|
31
|
+
if (error instanceof Deno.errors.NotFound) removeError = new RemoveErrorNotFound(error);
|
|
32
|
+
else if (error instanceof Deno.errors.PermissionDenied || error instanceof Deno.errors.NotCapable) removeError = new RemoveErrorPermissionDenied(error);
|
|
33
|
+
else if (error instanceof Deno.errors.IsADirectory) removeError = new RemoveErrorIsDirectory(error);
|
|
34
|
+
else if (error instanceof Deno.errors.NotADirectory) removeError = new RemoveErrorNotDirectory(error);
|
|
35
|
+
else if (error instanceof Deno.errors.InvalidData) removeError = new RemoveErrorInvalidArgument(error);
|
|
36
|
+
else if (error instanceof Deno.errors.Busy) removeError = new RemoveErrorBusy(error);
|
|
37
|
+
if (removeError === void 0) removeError = new RemoveError(error);
|
|
38
|
+
return DEither.left("file-system-remove-error", removeError);
|
|
25
39
|
}
|
|
26
40
|
const remove = implementFunction("remove", {
|
|
27
|
-
NODE: async (path, params) => {
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
}).then(() => DEither.right("file-system-remove")).catch(handleNodeRemoveError);
|
|
32
|
-
},
|
|
41
|
+
NODE: async (path, params) => nodeFileSystem.value.rm(path, {
|
|
42
|
+
recursive: params?.recursive ?? false,
|
|
43
|
+
force: true
|
|
44
|
+
}).then(() => DEither.right("file-system-remove")).catch(handleNodeRemoveError),
|
|
33
45
|
DENO: (path, params) => Deno.remove(path, { recursive: params?.recursive }).then(() => DEither.right("file-system-remove")).catch(handleDenoRemoveError)
|
|
34
46
|
});
|
|
35
47
|
//#endregion
|
package/dist/file/rename.cjs
CHANGED
|
@@ -1,46 +1,62 @@
|
|
|
1
1
|
const require_runtime = require("../_virtual/_rolldown/runtime.cjs");
|
|
2
2
|
const require_implementor = require("../implementor.cjs");
|
|
3
|
+
let _duplojs_lang_common = require("@duplojs/lang/common");
|
|
4
|
+
_duplojs_lang_common = require_runtime.__toESM(_duplojs_lang_common, 1);
|
|
3
5
|
let _duplojs_lang_either = require("@duplojs/lang/either");
|
|
4
6
|
_duplojs_lang_either = require_runtime.__toESM(_duplojs_lang_either, 1);
|
|
5
7
|
let _duplojs_lang_path = require("@duplojs/lang/path");
|
|
6
8
|
_duplojs_lang_path = require_runtime.__toESM(_duplojs_lang_path, 1);
|
|
7
9
|
//#region scripts/file/rename.ts
|
|
10
|
+
var RenameErrorNotFound = class extends _duplojs_lang_common.DuploJSError.parentClass("file-system-rename-not-found", Error) {};
|
|
11
|
+
var RenameErrorPermissionDenied = class extends _duplojs_lang_common.DuploJSError.parentClass("file-system-rename-permission-denied", Error) {};
|
|
12
|
+
var RenameErrorAlreadyExists = class extends _duplojs_lang_common.DuploJSError.parentClass("file-system-rename-already-exists", Error) {};
|
|
13
|
+
var RenameErrorIsDirectory = class extends _duplojs_lang_common.DuploJSError.parentClass("file-system-rename-is-directory", Error) {};
|
|
14
|
+
var RenameErrorNotDirectory = class extends _duplojs_lang_common.DuploJSError.parentClass("file-system-rename-not-directory", Error) {};
|
|
15
|
+
var RenameErrorDirectoryNotEmpty = class extends _duplojs_lang_common.DuploJSError.parentClass("file-system-rename-directory-not-empty", Error) {};
|
|
16
|
+
var RenameErrorReadOnly = class extends _duplojs_lang_common.DuploJSError.parentClass("file-system-rename-read-only", Error) {};
|
|
17
|
+
var RenameErrorInvalidArgument = class extends _duplojs_lang_common.DuploJSError.parentClass("file-system-rename-invalid-argument", Error) {};
|
|
18
|
+
var RenameErrorBusy = class extends _duplojs_lang_common.DuploJSError.parentClass("file-system-rename-busy", Error) {};
|
|
19
|
+
var RenameErrorCrossDevice = class extends _duplojs_lang_common.DuploJSError.parentClass("file-system-rename-cross-device", Error) {};
|
|
20
|
+
var RenameError = class extends _duplojs_lang_common.DuploJSError.parentClass("file-system-rename-error", Error) {};
|
|
8
21
|
function handleNodeRenameError(error) {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
else if (error.code === "
|
|
13
|
-
else if (error.code === "
|
|
14
|
-
else if (error.code === "
|
|
15
|
-
else if (error.code === "
|
|
16
|
-
else if (error.code === "
|
|
17
|
-
else if (error.code === "
|
|
18
|
-
else if (error.code === "
|
|
19
|
-
else if (error.code === "
|
|
22
|
+
let renameError = void 0;
|
|
23
|
+
if ("code" in error) {
|
|
24
|
+
if (error.code === "ENOENT") renameError = new RenameErrorNotFound(error);
|
|
25
|
+
else if (error.code === "EACCES" || error.code === "EPERM") renameError = new RenameErrorPermissionDenied(error);
|
|
26
|
+
else if (error.code === "EEXIST") renameError = new RenameErrorAlreadyExists(error);
|
|
27
|
+
else if (error.code === "EISDIR") renameError = new RenameErrorIsDirectory(error);
|
|
28
|
+
else if (error.code === "ENOTDIR") renameError = new RenameErrorNotDirectory(error);
|
|
29
|
+
else if (error.code === "ENOTEMPTY") renameError = new RenameErrorDirectoryNotEmpty(error);
|
|
30
|
+
else if (error.code === "EROFS") renameError = new RenameErrorReadOnly(error);
|
|
31
|
+
else if (error.code === "EINVAL") renameError = new RenameErrorInvalidArgument(error);
|
|
32
|
+
else if (error.code === "EBUSY") renameError = new RenameErrorBusy(error);
|
|
33
|
+
else if (error.code === "EXDEV") renameError = new RenameErrorCrossDevice(error);
|
|
20
34
|
}
|
|
21
|
-
|
|
35
|
+
if (renameError === void 0) renameError = new RenameError(error);
|
|
36
|
+
return _duplojs_lang_either.left("file-system-rename-error", renameError);
|
|
22
37
|
}
|
|
23
38
|
function handleDenoRenameError(error) {
|
|
24
|
-
|
|
25
|
-
if (error instanceof Deno.errors.
|
|
26
|
-
if (error instanceof Deno.errors.
|
|
27
|
-
if (error instanceof Deno.errors.
|
|
28
|
-
if (error instanceof Deno.errors.
|
|
29
|
-
if (error instanceof Deno.errors.
|
|
30
|
-
if (error instanceof Deno.errors.
|
|
31
|
-
|
|
39
|
+
let renameError = void 0;
|
|
40
|
+
if (error instanceof Deno.errors.NotFound) renameError = new RenameErrorNotFound(error);
|
|
41
|
+
else if (error instanceof Deno.errors.PermissionDenied || error instanceof Deno.errors.NotCapable) renameError = new RenameErrorPermissionDenied(error);
|
|
42
|
+
else if (error instanceof Deno.errors.AlreadyExists) renameError = new RenameErrorAlreadyExists(error);
|
|
43
|
+
else if (error instanceof Deno.errors.IsADirectory) renameError = new RenameErrorIsDirectory(error);
|
|
44
|
+
else if (error instanceof Deno.errors.NotADirectory) renameError = new RenameErrorNotDirectory(error);
|
|
45
|
+
else if (error instanceof Deno.errors.InvalidData) renameError = new RenameErrorInvalidArgument(error);
|
|
46
|
+
else if (error instanceof Deno.errors.Busy) renameError = new RenameErrorBusy(error);
|
|
47
|
+
if (renameError === void 0) renameError = new RenameError(error);
|
|
48
|
+
return _duplojs_lang_either.left("file-system-rename-error", renameError);
|
|
32
49
|
}
|
|
33
50
|
const renameImplementation = require_implementor.implementFunction("rename", {
|
|
34
51
|
NODE: async (path, newName) => {
|
|
35
|
-
const fs = await require_implementor.nodeFileSystem.value;
|
|
36
52
|
const parentPath = _duplojs_lang_path.getParentFolderPath(path);
|
|
37
|
-
if (!parentPath) return _duplojs_lang_either.left("file-system-rename-
|
|
53
|
+
if (!parentPath) return _duplojs_lang_either.left("file-system-rename-error", new RenameErrorInvalidArgument(/* @__PURE__ */ new Error(`Invalid parent path ${path}.`)));
|
|
38
54
|
const newPath = _duplojs_lang_path.resolveRelative([parentPath, newName]);
|
|
39
|
-
return
|
|
55
|
+
return require_implementor.nodeFileSystem.value.rename(path, newPath).then(() => _duplojs_lang_either.right("file-system-rename", newPath)).catch(handleNodeRenameError);
|
|
40
56
|
},
|
|
41
|
-
DENO: (path, newName) => {
|
|
57
|
+
DENO: async (path, newName) => {
|
|
42
58
|
const parentPath = _duplojs_lang_path.getParentFolderPath(path);
|
|
43
|
-
if (!parentPath) return Promise.resolve(_duplojs_lang_either.left("file-system-rename-
|
|
59
|
+
if (!parentPath) return Promise.resolve(_duplojs_lang_either.left("file-system-rename-error", new RenameErrorInvalidArgument(/* @__PURE__ */ new Error(`Invalid parent path ${path}.`))));
|
|
44
60
|
const newPath = _duplojs_lang_path.resolveRelative([parentPath, newName]);
|
|
45
61
|
return Deno.rename(path, newPath).then(() => _duplojs_lang_either.right("file-system-rename", newPath)).catch(handleDenoRenameError);
|
|
46
62
|
}
|
package/dist/file/rename.d.ts
CHANGED
|
@@ -1,7 +1,41 @@
|
|
|
1
|
-
import { FileSystemEither } from './types';
|
|
2
1
|
import * as DPath from "@duplojs/lang/path";
|
|
3
2
|
import * as DEither from "@duplojs/lang/either";
|
|
4
|
-
|
|
3
|
+
import * as DCommon from "@duplojs/lang/common";
|
|
4
|
+
declare const RenameErrorNotFound_base: abstract new (error: Error) => DCommon.DuploJSError<"file-system-rename-not-found", Error> & import('@duplojs/lang/kind').Kind<import('@duplojs/lang/kind').Handler<import('@duplojs/lang/kind').Definition<"@DuplojsLangCommon/duplojs-error-file-system-rename-not-found", unknown>>, unknown>;
|
|
5
|
+
declare class RenameErrorNotFound extends RenameErrorNotFound_base {
|
|
6
|
+
}
|
|
7
|
+
declare const RenameErrorPermissionDenied_base: abstract new (error: Error) => DCommon.DuploJSError<"file-system-rename-permission-denied", Error> & import('@duplojs/lang/kind').Kind<import('@duplojs/lang/kind').Handler<import('@duplojs/lang/kind').Definition<"@DuplojsLangCommon/duplojs-error-file-system-rename-permission-denied", unknown>>, unknown>;
|
|
8
|
+
declare class RenameErrorPermissionDenied extends RenameErrorPermissionDenied_base {
|
|
9
|
+
}
|
|
10
|
+
declare const RenameErrorAlreadyExists_base: abstract new (error: Error) => DCommon.DuploJSError<"file-system-rename-already-exists", Error> & import('@duplojs/lang/kind').Kind<import('@duplojs/lang/kind').Handler<import('@duplojs/lang/kind').Definition<"@DuplojsLangCommon/duplojs-error-file-system-rename-already-exists", unknown>>, unknown>;
|
|
11
|
+
declare class RenameErrorAlreadyExists extends RenameErrorAlreadyExists_base {
|
|
12
|
+
}
|
|
13
|
+
declare const RenameErrorIsDirectory_base: abstract new (error: Error) => DCommon.DuploJSError<"file-system-rename-is-directory", Error> & import('@duplojs/lang/kind').Kind<import('@duplojs/lang/kind').Handler<import('@duplojs/lang/kind').Definition<"@DuplojsLangCommon/duplojs-error-file-system-rename-is-directory", unknown>>, unknown>;
|
|
14
|
+
declare class RenameErrorIsDirectory extends RenameErrorIsDirectory_base {
|
|
15
|
+
}
|
|
16
|
+
declare const RenameErrorNotDirectory_base: abstract new (error: Error) => DCommon.DuploJSError<"file-system-rename-not-directory", Error> & import('@duplojs/lang/kind').Kind<import('@duplojs/lang/kind').Handler<import('@duplojs/lang/kind').Definition<"@DuplojsLangCommon/duplojs-error-file-system-rename-not-directory", unknown>>, unknown>;
|
|
17
|
+
declare class RenameErrorNotDirectory extends RenameErrorNotDirectory_base {
|
|
18
|
+
}
|
|
19
|
+
declare const RenameErrorDirectoryNotEmpty_base: abstract new (error: Error) => DCommon.DuploJSError<"file-system-rename-directory-not-empty", Error> & import('@duplojs/lang/kind').Kind<import('@duplojs/lang/kind').Handler<import('@duplojs/lang/kind').Definition<"@DuplojsLangCommon/duplojs-error-file-system-rename-directory-not-empty", unknown>>, unknown>;
|
|
20
|
+
declare class RenameErrorDirectoryNotEmpty extends RenameErrorDirectoryNotEmpty_base {
|
|
21
|
+
}
|
|
22
|
+
declare const RenameErrorReadOnly_base: abstract new (error: Error) => DCommon.DuploJSError<"file-system-rename-read-only", Error> & import('@duplojs/lang/kind').Kind<import('@duplojs/lang/kind').Handler<import('@duplojs/lang/kind').Definition<"@DuplojsLangCommon/duplojs-error-file-system-rename-read-only", unknown>>, unknown>;
|
|
23
|
+
declare class RenameErrorReadOnly extends RenameErrorReadOnly_base {
|
|
24
|
+
}
|
|
25
|
+
declare const RenameErrorInvalidArgument_base: abstract new (error: Error) => DCommon.DuploJSError<"file-system-rename-invalid-argument", Error> & import('@duplojs/lang/kind').Kind<import('@duplojs/lang/kind').Handler<import('@duplojs/lang/kind').Definition<"@DuplojsLangCommon/duplojs-error-file-system-rename-invalid-argument", unknown>>, unknown>;
|
|
26
|
+
declare class RenameErrorInvalidArgument extends RenameErrorInvalidArgument_base {
|
|
27
|
+
}
|
|
28
|
+
declare const RenameErrorBusy_base: abstract new (error: Error) => DCommon.DuploJSError<"file-system-rename-busy", Error> & import('@duplojs/lang/kind').Kind<import('@duplojs/lang/kind').Handler<import('@duplojs/lang/kind').Definition<"@DuplojsLangCommon/duplojs-error-file-system-rename-busy", unknown>>, unknown>;
|
|
29
|
+
declare class RenameErrorBusy extends RenameErrorBusy_base {
|
|
30
|
+
}
|
|
31
|
+
declare const RenameErrorCrossDevice_base: abstract new (error: Error) => DCommon.DuploJSError<"file-system-rename-cross-device", Error> & import('@duplojs/lang/kind').Kind<import('@duplojs/lang/kind').Handler<import('@duplojs/lang/kind').Definition<"@DuplojsLangCommon/duplojs-error-file-system-rename-cross-device", unknown>>, unknown>;
|
|
32
|
+
declare class RenameErrorCrossDevice extends RenameErrorCrossDevice_base {
|
|
33
|
+
}
|
|
34
|
+
declare const RenameError_base: abstract new (error: Error) => DCommon.DuploJSError<"file-system-rename-error", Error> & import('@duplojs/lang/kind').Kind<import('@duplojs/lang/kind').Handler<import('@duplojs/lang/kind').Definition<"@DuplojsLangCommon/duplojs-error-file-system-rename-error", unknown>>, unknown>;
|
|
35
|
+
declare class RenameError extends RenameError_base {
|
|
36
|
+
}
|
|
37
|
+
export type RenameErrors = (RenameErrorNotFound | RenameErrorPermissionDenied | RenameErrorAlreadyExists | RenameErrorIsDirectory | RenameErrorNotDirectory | RenameErrorDirectoryNotEmpty | RenameErrorReadOnly | RenameErrorInvalidArgument | RenameErrorBusy | RenameErrorCrossDevice | RenameError);
|
|
38
|
+
export type RenameResult = (DEither.Right<"file-system-rename", string & DPath.Path> | DEither.Left<"file-system-rename-error", RenameErrors>);
|
|
5
39
|
declare module '../implementor' {
|
|
6
40
|
interface ServerFunction {
|
|
7
41
|
rename(path: string & DPath.Path, newName: string & DPath.Segment): Promise<RenameResult>;
|
|
@@ -9,3 +43,4 @@ declare module '../implementor' {
|
|
|
9
43
|
}
|
|
10
44
|
export declare function rename(newName: string & DPath.Segment): (path: string & DPath.Path) => Promise<RenameResult>;
|
|
11
45
|
export declare function rename(path: string & DPath.Path, newName: string & DPath.Segment): Promise<RenameResult>;
|
|
46
|
+
export {};
|
package/dist/file/rename.mjs
CHANGED
|
@@ -1,43 +1,58 @@
|
|
|
1
1
|
import { implementFunction, nodeFileSystem } from "../implementor.mjs";
|
|
2
|
+
import * as DCommon from "@duplojs/lang/common";
|
|
2
3
|
import * as DEither from "@duplojs/lang/either";
|
|
3
4
|
import * as DPath from "@duplojs/lang/path";
|
|
4
5
|
//#region scripts/file/rename.ts
|
|
6
|
+
var RenameErrorNotFound = class extends DCommon.DuploJSError.parentClass("file-system-rename-not-found", Error) {};
|
|
7
|
+
var RenameErrorPermissionDenied = class extends DCommon.DuploJSError.parentClass("file-system-rename-permission-denied", Error) {};
|
|
8
|
+
var RenameErrorAlreadyExists = class extends DCommon.DuploJSError.parentClass("file-system-rename-already-exists", Error) {};
|
|
9
|
+
var RenameErrorIsDirectory = class extends DCommon.DuploJSError.parentClass("file-system-rename-is-directory", Error) {};
|
|
10
|
+
var RenameErrorNotDirectory = class extends DCommon.DuploJSError.parentClass("file-system-rename-not-directory", Error) {};
|
|
11
|
+
var RenameErrorDirectoryNotEmpty = class extends DCommon.DuploJSError.parentClass("file-system-rename-directory-not-empty", Error) {};
|
|
12
|
+
var RenameErrorReadOnly = class extends DCommon.DuploJSError.parentClass("file-system-rename-read-only", Error) {};
|
|
13
|
+
var RenameErrorInvalidArgument = class extends DCommon.DuploJSError.parentClass("file-system-rename-invalid-argument", Error) {};
|
|
14
|
+
var RenameErrorBusy = class extends DCommon.DuploJSError.parentClass("file-system-rename-busy", Error) {};
|
|
15
|
+
var RenameErrorCrossDevice = class extends DCommon.DuploJSError.parentClass("file-system-rename-cross-device", Error) {};
|
|
16
|
+
var RenameError = class extends DCommon.DuploJSError.parentClass("file-system-rename-error", Error) {};
|
|
5
17
|
function handleNodeRenameError(error) {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
else if (error.code === "
|
|
10
|
-
else if (error.code === "
|
|
11
|
-
else if (error.code === "
|
|
12
|
-
else if (error.code === "
|
|
13
|
-
else if (error.code === "
|
|
14
|
-
else if (error.code === "
|
|
15
|
-
else if (error.code === "
|
|
16
|
-
else if (error.code === "
|
|
18
|
+
let renameError = void 0;
|
|
19
|
+
if ("code" in error) {
|
|
20
|
+
if (error.code === "ENOENT") renameError = new RenameErrorNotFound(error);
|
|
21
|
+
else if (error.code === "EACCES" || error.code === "EPERM") renameError = new RenameErrorPermissionDenied(error);
|
|
22
|
+
else if (error.code === "EEXIST") renameError = new RenameErrorAlreadyExists(error);
|
|
23
|
+
else if (error.code === "EISDIR") renameError = new RenameErrorIsDirectory(error);
|
|
24
|
+
else if (error.code === "ENOTDIR") renameError = new RenameErrorNotDirectory(error);
|
|
25
|
+
else if (error.code === "ENOTEMPTY") renameError = new RenameErrorDirectoryNotEmpty(error);
|
|
26
|
+
else if (error.code === "EROFS") renameError = new RenameErrorReadOnly(error);
|
|
27
|
+
else if (error.code === "EINVAL") renameError = new RenameErrorInvalidArgument(error);
|
|
28
|
+
else if (error.code === "EBUSY") renameError = new RenameErrorBusy(error);
|
|
29
|
+
else if (error.code === "EXDEV") renameError = new RenameErrorCrossDevice(error);
|
|
17
30
|
}
|
|
18
|
-
|
|
31
|
+
if (renameError === void 0) renameError = new RenameError(error);
|
|
32
|
+
return DEither.left("file-system-rename-error", renameError);
|
|
19
33
|
}
|
|
20
34
|
function handleDenoRenameError(error) {
|
|
21
|
-
|
|
22
|
-
if (error instanceof Deno.errors.
|
|
23
|
-
if (error instanceof Deno.errors.
|
|
24
|
-
if (error instanceof Deno.errors.
|
|
25
|
-
if (error instanceof Deno.errors.
|
|
26
|
-
if (error instanceof Deno.errors.
|
|
27
|
-
if (error instanceof Deno.errors.
|
|
28
|
-
|
|
35
|
+
let renameError = void 0;
|
|
36
|
+
if (error instanceof Deno.errors.NotFound) renameError = new RenameErrorNotFound(error);
|
|
37
|
+
else if (error instanceof Deno.errors.PermissionDenied || error instanceof Deno.errors.NotCapable) renameError = new RenameErrorPermissionDenied(error);
|
|
38
|
+
else if (error instanceof Deno.errors.AlreadyExists) renameError = new RenameErrorAlreadyExists(error);
|
|
39
|
+
else if (error instanceof Deno.errors.IsADirectory) renameError = new RenameErrorIsDirectory(error);
|
|
40
|
+
else if (error instanceof Deno.errors.NotADirectory) renameError = new RenameErrorNotDirectory(error);
|
|
41
|
+
else if (error instanceof Deno.errors.InvalidData) renameError = new RenameErrorInvalidArgument(error);
|
|
42
|
+
else if (error instanceof Deno.errors.Busy) renameError = new RenameErrorBusy(error);
|
|
43
|
+
if (renameError === void 0) renameError = new RenameError(error);
|
|
44
|
+
return DEither.left("file-system-rename-error", renameError);
|
|
29
45
|
}
|
|
30
46
|
const renameImplementation = implementFunction("rename", {
|
|
31
47
|
NODE: async (path, newName) => {
|
|
32
|
-
const fs = await nodeFileSystem.value;
|
|
33
48
|
const parentPath = DPath.getParentFolderPath(path);
|
|
34
|
-
if (!parentPath) return DEither.left("file-system-rename-
|
|
49
|
+
if (!parentPath) return DEither.left("file-system-rename-error", new RenameErrorInvalidArgument(/* @__PURE__ */ new Error(`Invalid parent path ${path}.`)));
|
|
35
50
|
const newPath = DPath.resolveRelative([parentPath, newName]);
|
|
36
|
-
return
|
|
51
|
+
return nodeFileSystem.value.rename(path, newPath).then(() => DEither.right("file-system-rename", newPath)).catch(handleNodeRenameError);
|
|
37
52
|
},
|
|
38
|
-
DENO: (path, newName) => {
|
|
53
|
+
DENO: async (path, newName) => {
|
|
39
54
|
const parentPath = DPath.getParentFolderPath(path);
|
|
40
|
-
if (!parentPath) return Promise.resolve(DEither.left("file-system-rename-
|
|
55
|
+
if (!parentPath) return Promise.resolve(DEither.left("file-system-rename-error", new RenameErrorInvalidArgument(/* @__PURE__ */ new Error(`Invalid parent path ${path}.`))));
|
|
41
56
|
const newPath = DPath.resolveRelative([parentPath, newName]);
|
|
42
57
|
return Deno.rename(path, newPath).then(() => DEither.right("file-system-rename", newPath)).catch(handleDenoRenameError);
|
|
43
58
|
}
|