@duplojs/server 0.1.0-beta.2 → 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/setMode.cjs
CHANGED
|
@@ -5,22 +5,32 @@ _duplojs_lang_common = require_runtime.__toESM(_duplojs_lang_common, 1);
|
|
|
5
5
|
let _duplojs_lang_either = require("@duplojs/lang/either");
|
|
6
6
|
_duplojs_lang_either = require_runtime.__toESM(_duplojs_lang_either, 1);
|
|
7
7
|
//#region scripts/file/setMode.ts
|
|
8
|
+
var SetModeErrorNotFound = class extends _duplojs_lang_common.DuploJSError.parentClass("file-system-set-mode-not-found", Error) {};
|
|
9
|
+
var SetModeErrorPermissionDenied = class extends _duplojs_lang_common.DuploJSError.parentClass("file-system-set-mode-permission-denied", Error) {};
|
|
10
|
+
var SetModeErrorNotDirectory = class extends _duplojs_lang_common.DuploJSError.parentClass("file-system-set-mode-not-directory", Error) {};
|
|
11
|
+
var SetModeErrorReadOnly = class extends _duplojs_lang_common.DuploJSError.parentClass("file-system-set-mode-read-only", Error) {};
|
|
12
|
+
var SetModeErrorInvalidArgument = class extends _duplojs_lang_common.DuploJSError.parentClass("file-system-set-mode-invalid-argument", Error) {};
|
|
13
|
+
var SetModeError = class extends _duplojs_lang_common.DuploJSError.parentClass("file-system-set-mode-error", Error) {};
|
|
8
14
|
function handleNodeSetModeError(error) {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
else if (error.code === "
|
|
13
|
-
else if (error.code === "
|
|
14
|
-
else if (error.code === "
|
|
15
|
+
let setModeError = void 0;
|
|
16
|
+
if ("code" in error) {
|
|
17
|
+
if (error.code === "ENOENT") setModeError = new SetModeErrorNotFound(error);
|
|
18
|
+
else if (error.code === "EACCES" || error.code === "EPERM") setModeError = new SetModeErrorPermissionDenied(error);
|
|
19
|
+
else if (error.code === "ENOTDIR") setModeError = new SetModeErrorNotDirectory(error);
|
|
20
|
+
else if (error.code === "EROFS") setModeError = new SetModeErrorReadOnly(error);
|
|
21
|
+
else if (error.code === "EINVAL") setModeError = new SetModeErrorInvalidArgument(error);
|
|
15
22
|
}
|
|
16
|
-
|
|
23
|
+
if (setModeError === void 0) setModeError = new SetModeError(error);
|
|
24
|
+
return _duplojs_lang_either.left("file-system-set-mode-error", setModeError);
|
|
17
25
|
}
|
|
18
26
|
function handleDenoSetModeError(error) {
|
|
19
|
-
|
|
20
|
-
if (error instanceof Deno.errors.
|
|
21
|
-
if (error instanceof Deno.errors.
|
|
22
|
-
if (error instanceof Deno.errors.
|
|
23
|
-
|
|
27
|
+
let setModeError = void 0;
|
|
28
|
+
if (error instanceof Deno.errors.NotFound) setModeError = new SetModeErrorNotFound(error);
|
|
29
|
+
else if (error instanceof Deno.errors.PermissionDenied || error instanceof Deno.errors.NotCapable) setModeError = new SetModeErrorPermissionDenied(error);
|
|
30
|
+
else if (error instanceof Deno.errors.NotADirectory) setModeError = new SetModeErrorNotDirectory(error);
|
|
31
|
+
else if (error instanceof Deno.errors.InvalidData) setModeError = new SetModeErrorInvalidArgument(error);
|
|
32
|
+
if (setModeError === void 0) setModeError = new SetModeError(error);
|
|
33
|
+
return _duplojs_lang_either.left("file-system-set-mode-error", setModeError);
|
|
24
34
|
}
|
|
25
35
|
function calculatePermissions(permissions) {
|
|
26
36
|
if (!permissions) return 0;
|
|
@@ -35,9 +45,7 @@ function toMode(mode) {
|
|
|
35
45
|
return special * 512 + user * 64 + group * 8 + other;
|
|
36
46
|
}
|
|
37
47
|
const setModeImplementation = require_implementor.implementFunction("setMode", {
|
|
38
|
-
NODE: async (path, mode) =>
|
|
39
|
-
return (await require_implementor.nodeFileSystem.value).chmod(path, toMode(mode)).then(() => _duplojs_lang_either.right("file-system-set-mode")).catch(handleNodeSetModeError);
|
|
40
|
-
},
|
|
48
|
+
NODE: async (path, mode) => require_implementor.nodeFileSystem.value.chmod(path, toMode(mode)).then(() => _duplojs_lang_either.right("file-system-set-mode")).catch(handleNodeSetModeError),
|
|
41
49
|
DENO: (path, mode) => Deno.chmod(path, toMode(mode)).then(() => _duplojs_lang_either.right("file-system-set-mode")).catch(handleDenoSetModeError)
|
|
42
50
|
});
|
|
43
51
|
function setMode(...args) {
|
package/dist/file/setMode.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
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 Permissions {
|
|
@@ -15,7 +15,26 @@ interface ModeObject {
|
|
|
15
15
|
sticky?: boolean;
|
|
16
16
|
}
|
|
17
17
|
type SetMode = ModeObject | number;
|
|
18
|
-
|
|
18
|
+
declare const SetModeErrorNotFound_base: abstract new (error: Error) => DCommon.DuploJSError<"file-system-set-mode-not-found", Error> & import('@duplojs/lang/kind').Kind<import('@duplojs/lang/kind').Handler<import('@duplojs/lang/kind').Definition<"@DuplojsLangCommon/duplojs-error-file-system-set-mode-not-found", unknown>>, unknown>;
|
|
19
|
+
declare class SetModeErrorNotFound extends SetModeErrorNotFound_base {
|
|
20
|
+
}
|
|
21
|
+
declare const SetModeErrorPermissionDenied_base: abstract new (error: Error) => DCommon.DuploJSError<"file-system-set-mode-permission-denied", Error> & import('@duplojs/lang/kind').Kind<import('@duplojs/lang/kind').Handler<import('@duplojs/lang/kind').Definition<"@DuplojsLangCommon/duplojs-error-file-system-set-mode-permission-denied", unknown>>, unknown>;
|
|
22
|
+
declare class SetModeErrorPermissionDenied extends SetModeErrorPermissionDenied_base {
|
|
23
|
+
}
|
|
24
|
+
declare const SetModeErrorNotDirectory_base: abstract new (error: Error) => DCommon.DuploJSError<"file-system-set-mode-not-directory", Error> & import('@duplojs/lang/kind').Kind<import('@duplojs/lang/kind').Handler<import('@duplojs/lang/kind').Definition<"@DuplojsLangCommon/duplojs-error-file-system-set-mode-not-directory", unknown>>, unknown>;
|
|
25
|
+
declare class SetModeErrorNotDirectory extends SetModeErrorNotDirectory_base {
|
|
26
|
+
}
|
|
27
|
+
declare const SetModeErrorReadOnly_base: abstract new (error: Error) => DCommon.DuploJSError<"file-system-set-mode-read-only", Error> & import('@duplojs/lang/kind').Kind<import('@duplojs/lang/kind').Handler<import('@duplojs/lang/kind').Definition<"@DuplojsLangCommon/duplojs-error-file-system-set-mode-read-only", unknown>>, unknown>;
|
|
28
|
+
declare class SetModeErrorReadOnly extends SetModeErrorReadOnly_base {
|
|
29
|
+
}
|
|
30
|
+
declare const SetModeErrorInvalidArgument_base: abstract new (error: Error) => DCommon.DuploJSError<"file-system-set-mode-invalid-argument", Error> & import('@duplojs/lang/kind').Kind<import('@duplojs/lang/kind').Handler<import('@duplojs/lang/kind').Definition<"@DuplojsLangCommon/duplojs-error-file-system-set-mode-invalid-argument", unknown>>, unknown>;
|
|
31
|
+
declare class SetModeErrorInvalidArgument extends SetModeErrorInvalidArgument_base {
|
|
32
|
+
}
|
|
33
|
+
declare const SetModeError_base: abstract new (error: Error) => DCommon.DuploJSError<"file-system-set-mode-error", Error> & import('@duplojs/lang/kind').Kind<import('@duplojs/lang/kind').Handler<import('@duplojs/lang/kind').Definition<"@DuplojsLangCommon/duplojs-error-file-system-set-mode-error", unknown>>, unknown>;
|
|
34
|
+
declare class SetModeError extends SetModeError_base {
|
|
35
|
+
}
|
|
36
|
+
export type SetModeErrors = (SetModeErrorNotFound | SetModeErrorPermissionDenied | SetModeErrorNotDirectory | SetModeErrorReadOnly | SetModeErrorInvalidArgument | SetModeError);
|
|
37
|
+
export type SetModeResult = (DEither.Right<"file-system-set-mode", void> | DEither.Left<"file-system-set-mode-error", SetModeErrors>);
|
|
19
38
|
declare module '../implementor' {
|
|
20
39
|
interface ServerFunction {
|
|
21
40
|
setMode(path: string & DPath.Path, mode: SetMode): Promise<SetModeResult>;
|
package/dist/file/setMode.mjs
CHANGED
|
@@ -2,22 +2,32 @@ import { implementFunction, nodeFileSystem } from "../implementor.mjs";
|
|
|
2
2
|
import * as DCommon from "@duplojs/lang/common";
|
|
3
3
|
import * as DEither from "@duplojs/lang/either";
|
|
4
4
|
//#region scripts/file/setMode.ts
|
|
5
|
+
var SetModeErrorNotFound = class extends DCommon.DuploJSError.parentClass("file-system-set-mode-not-found", Error) {};
|
|
6
|
+
var SetModeErrorPermissionDenied = class extends DCommon.DuploJSError.parentClass("file-system-set-mode-permission-denied", Error) {};
|
|
7
|
+
var SetModeErrorNotDirectory = class extends DCommon.DuploJSError.parentClass("file-system-set-mode-not-directory", Error) {};
|
|
8
|
+
var SetModeErrorReadOnly = class extends DCommon.DuploJSError.parentClass("file-system-set-mode-read-only", Error) {};
|
|
9
|
+
var SetModeErrorInvalidArgument = class extends DCommon.DuploJSError.parentClass("file-system-set-mode-invalid-argument", Error) {};
|
|
10
|
+
var SetModeError = class extends DCommon.DuploJSError.parentClass("file-system-set-mode-error", Error) {};
|
|
5
11
|
function handleNodeSetModeError(error) {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
else if (error.code === "
|
|
10
|
-
else if (error.code === "
|
|
11
|
-
else if (error.code === "
|
|
12
|
+
let setModeError = void 0;
|
|
13
|
+
if ("code" in error) {
|
|
14
|
+
if (error.code === "ENOENT") setModeError = new SetModeErrorNotFound(error);
|
|
15
|
+
else if (error.code === "EACCES" || error.code === "EPERM") setModeError = new SetModeErrorPermissionDenied(error);
|
|
16
|
+
else if (error.code === "ENOTDIR") setModeError = new SetModeErrorNotDirectory(error);
|
|
17
|
+
else if (error.code === "EROFS") setModeError = new SetModeErrorReadOnly(error);
|
|
18
|
+
else if (error.code === "EINVAL") setModeError = new SetModeErrorInvalidArgument(error);
|
|
12
19
|
}
|
|
13
|
-
|
|
20
|
+
if (setModeError === void 0) setModeError = new SetModeError(error);
|
|
21
|
+
return DEither.left("file-system-set-mode-error", setModeError);
|
|
14
22
|
}
|
|
15
23
|
function handleDenoSetModeError(error) {
|
|
16
|
-
|
|
17
|
-
if (error instanceof Deno.errors.
|
|
18
|
-
if (error instanceof Deno.errors.
|
|
19
|
-
if (error instanceof Deno.errors.
|
|
20
|
-
|
|
24
|
+
let setModeError = void 0;
|
|
25
|
+
if (error instanceof Deno.errors.NotFound) setModeError = new SetModeErrorNotFound(error);
|
|
26
|
+
else if (error instanceof Deno.errors.PermissionDenied || error instanceof Deno.errors.NotCapable) setModeError = new SetModeErrorPermissionDenied(error);
|
|
27
|
+
else if (error instanceof Deno.errors.NotADirectory) setModeError = new SetModeErrorNotDirectory(error);
|
|
28
|
+
else if (error instanceof Deno.errors.InvalidData) setModeError = new SetModeErrorInvalidArgument(error);
|
|
29
|
+
if (setModeError === void 0) setModeError = new SetModeError(error);
|
|
30
|
+
return DEither.left("file-system-set-mode-error", setModeError);
|
|
21
31
|
}
|
|
22
32
|
function calculatePermissions(permissions) {
|
|
23
33
|
if (!permissions) return 0;
|
|
@@ -32,9 +42,7 @@ function toMode(mode) {
|
|
|
32
42
|
return special * 512 + user * 64 + group * 8 + other;
|
|
33
43
|
}
|
|
34
44
|
const setModeImplementation = implementFunction("setMode", {
|
|
35
|
-
NODE: async (path, mode) =>
|
|
36
|
-
return (await nodeFileSystem.value).chmod(path, toMode(mode)).then(() => DEither.right("file-system-set-mode")).catch(handleNodeSetModeError);
|
|
37
|
-
},
|
|
45
|
+
NODE: async (path, mode) => nodeFileSystem.value.chmod(path, toMode(mode)).then(() => DEither.right("file-system-set-mode")).catch(handleNodeSetModeError),
|
|
38
46
|
DENO: (path, mode) => Deno.chmod(path, toMode(mode)).then(() => DEither.right("file-system-set-mode")).catch(handleDenoSetModeError)
|
|
39
47
|
});
|
|
40
48
|
function setMode(...args) {
|
package/dist/file/setOwner.cjs
CHANGED
|
@@ -1,29 +1,39 @@
|
|
|
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/setOwner.ts
|
|
8
|
+
var SetOwnerErrorNotFound = class extends _duplojs_lang_common.DuploJSError.parentClass("file-system-set-owner-not-found", Error) {};
|
|
9
|
+
var SetOwnerErrorPermissionDenied = class extends _duplojs_lang_common.DuploJSError.parentClass("file-system-set-owner-permission-denied", Error) {};
|
|
10
|
+
var SetOwnerErrorNotDirectory = class extends _duplojs_lang_common.DuploJSError.parentClass("file-system-set-owner-not-directory", Error) {};
|
|
11
|
+
var SetOwnerErrorReadOnly = class extends _duplojs_lang_common.DuploJSError.parentClass("file-system-set-owner-read-only", Error) {};
|
|
12
|
+
var SetOwnerErrorInvalidArgument = class extends _duplojs_lang_common.DuploJSError.parentClass("file-system-set-owner-invalid-argument", Error) {};
|
|
13
|
+
var SetOwnerError = class extends _duplojs_lang_common.DuploJSError.parentClass("file-system-set-owner-error", Error) {};
|
|
6
14
|
function handleNodeSetOwnerError(error) {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
else if (error.code === "
|
|
11
|
-
else if (error.code === "
|
|
12
|
-
else if (error.code === "
|
|
15
|
+
let setOwnerError = void 0;
|
|
16
|
+
if ("code" in error) {
|
|
17
|
+
if (error.code === "ENOENT") setOwnerError = new SetOwnerErrorNotFound(error);
|
|
18
|
+
else if (error.code === "EACCES" || error.code === "EPERM") setOwnerError = new SetOwnerErrorPermissionDenied(error);
|
|
19
|
+
else if (error.code === "ENOTDIR") setOwnerError = new SetOwnerErrorNotDirectory(error);
|
|
20
|
+
else if (error.code === "EROFS") setOwnerError = new SetOwnerErrorReadOnly(error);
|
|
21
|
+
else if (error.code === "EINVAL") setOwnerError = new SetOwnerErrorInvalidArgument(error);
|
|
13
22
|
}
|
|
14
|
-
|
|
23
|
+
if (setOwnerError === void 0) setOwnerError = new SetOwnerError(error);
|
|
24
|
+
return _duplojs_lang_either.left("file-system-set-owner-error", setOwnerError);
|
|
15
25
|
}
|
|
16
26
|
function handleDenoSetOwnerError(error) {
|
|
17
|
-
|
|
18
|
-
if (error instanceof Deno.errors.
|
|
19
|
-
if (error instanceof Deno.errors.
|
|
20
|
-
if (error instanceof Deno.errors.
|
|
21
|
-
|
|
27
|
+
let setOwnerError = void 0;
|
|
28
|
+
if (error instanceof Deno.errors.NotFound) setOwnerError = new SetOwnerErrorNotFound(error);
|
|
29
|
+
else if (error instanceof Deno.errors.PermissionDenied || error instanceof Deno.errors.NotCapable) setOwnerError = new SetOwnerErrorPermissionDenied(error);
|
|
30
|
+
else if (error instanceof Deno.errors.NotADirectory) setOwnerError = new SetOwnerErrorNotDirectory(error);
|
|
31
|
+
else if (error instanceof Deno.errors.InvalidData) setOwnerError = new SetOwnerErrorInvalidArgument(error);
|
|
32
|
+
if (setOwnerError === void 0) setOwnerError = new SetOwnerError(error);
|
|
33
|
+
return _duplojs_lang_either.left("file-system-set-owner-error", setOwnerError);
|
|
22
34
|
}
|
|
23
35
|
const setOwnerImplementation = require_implementor.implementFunction("setOwner", {
|
|
24
|
-
NODE: async (path, { userId, groupId }) =>
|
|
25
|
-
return (await require_implementor.nodeFileSystem.value).chown(path, userId, groupId).then(() => _duplojs_lang_either.right("file-system-set-owner")).catch(handleNodeSetOwnerError);
|
|
26
|
-
},
|
|
36
|
+
NODE: async (path, { userId, groupId }) => require_implementor.nodeFileSystem.value.chown(path, userId, groupId).then(() => _duplojs_lang_either.right("file-system-set-owner")).catch(handleNodeSetOwnerError),
|
|
27
37
|
DENO: (path, { userId, groupId }) => Deno.chown(path, userId, groupId).then(() => _duplojs_lang_either.right("file-system-set-owner")).catch(handleDenoSetOwnerError)
|
|
28
38
|
});
|
|
29
39
|
function setOwner(...args) {
|
package/dist/file/setOwner.d.ts
CHANGED
|
@@ -1,11 +1,30 @@
|
|
|
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
|
export interface SetOwnerParams {
|
|
5
5
|
userId: number;
|
|
6
6
|
groupId: number;
|
|
7
7
|
}
|
|
8
|
-
|
|
8
|
+
declare const SetOwnerErrorNotFound_base: abstract new (error: Error) => DCommon.DuploJSError<"file-system-set-owner-not-found", Error> & import('@duplojs/lang/kind').Kind<import('@duplojs/lang/kind').Handler<import('@duplojs/lang/kind').Definition<"@DuplojsLangCommon/duplojs-error-file-system-set-owner-not-found", unknown>>, unknown>;
|
|
9
|
+
declare class SetOwnerErrorNotFound extends SetOwnerErrorNotFound_base {
|
|
10
|
+
}
|
|
11
|
+
declare const SetOwnerErrorPermissionDenied_base: abstract new (error: Error) => DCommon.DuploJSError<"file-system-set-owner-permission-denied", Error> & import('@duplojs/lang/kind').Kind<import('@duplojs/lang/kind').Handler<import('@duplojs/lang/kind').Definition<"@DuplojsLangCommon/duplojs-error-file-system-set-owner-permission-denied", unknown>>, unknown>;
|
|
12
|
+
declare class SetOwnerErrorPermissionDenied extends SetOwnerErrorPermissionDenied_base {
|
|
13
|
+
}
|
|
14
|
+
declare const SetOwnerErrorNotDirectory_base: abstract new (error: Error) => DCommon.DuploJSError<"file-system-set-owner-not-directory", Error> & import('@duplojs/lang/kind').Kind<import('@duplojs/lang/kind').Handler<import('@duplojs/lang/kind').Definition<"@DuplojsLangCommon/duplojs-error-file-system-set-owner-not-directory", unknown>>, unknown>;
|
|
15
|
+
declare class SetOwnerErrorNotDirectory extends SetOwnerErrorNotDirectory_base {
|
|
16
|
+
}
|
|
17
|
+
declare const SetOwnerErrorReadOnly_base: abstract new (error: Error) => DCommon.DuploJSError<"file-system-set-owner-read-only", Error> & import('@duplojs/lang/kind').Kind<import('@duplojs/lang/kind').Handler<import('@duplojs/lang/kind').Definition<"@DuplojsLangCommon/duplojs-error-file-system-set-owner-read-only", unknown>>, unknown>;
|
|
18
|
+
declare class SetOwnerErrorReadOnly extends SetOwnerErrorReadOnly_base {
|
|
19
|
+
}
|
|
20
|
+
declare const SetOwnerErrorInvalidArgument_base: abstract new (error: Error) => DCommon.DuploJSError<"file-system-set-owner-invalid-argument", Error> & import('@duplojs/lang/kind').Kind<import('@duplojs/lang/kind').Handler<import('@duplojs/lang/kind').Definition<"@DuplojsLangCommon/duplojs-error-file-system-set-owner-invalid-argument", unknown>>, unknown>;
|
|
21
|
+
declare class SetOwnerErrorInvalidArgument extends SetOwnerErrorInvalidArgument_base {
|
|
22
|
+
}
|
|
23
|
+
declare const SetOwnerError_base: abstract new (error: Error) => DCommon.DuploJSError<"file-system-set-owner-error", Error> & import('@duplojs/lang/kind').Kind<import('@duplojs/lang/kind').Handler<import('@duplojs/lang/kind').Definition<"@DuplojsLangCommon/duplojs-error-file-system-set-owner-error", unknown>>, unknown>;
|
|
24
|
+
declare class SetOwnerError extends SetOwnerError_base {
|
|
25
|
+
}
|
|
26
|
+
export type SetOwnerErrors = (SetOwnerErrorNotFound | SetOwnerErrorPermissionDenied | SetOwnerErrorNotDirectory | SetOwnerErrorReadOnly | SetOwnerErrorInvalidArgument | SetOwnerError);
|
|
27
|
+
export type SetOwnerResult = (DEither.Right<"file-system-set-owner", void> | DEither.Left<"file-system-set-owner-error", SetOwnerErrors>);
|
|
9
28
|
declare module '../implementor' {
|
|
10
29
|
interface ServerFunction {
|
|
11
30
|
setOwner(path: string & DPath.Path, params: SetOwnerParams): Promise<SetOwnerResult>;
|
|
@@ -13,3 +32,4 @@ declare module '../implementor' {
|
|
|
13
32
|
}
|
|
14
33
|
export declare function setOwner(params: SetOwnerParams): (path: string & DPath.Path) => Promise<SetOwnerResult>;
|
|
15
34
|
export declare function setOwner(path: string & DPath.Path, params: SetOwnerParams): Promise<SetOwnerResult>;
|
|
35
|
+
export {};
|
package/dist/file/setOwner.mjs
CHANGED
|
@@ -1,27 +1,36 @@
|
|
|
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/setOwner.ts
|
|
5
|
+
var SetOwnerErrorNotFound = class extends DCommon.DuploJSError.parentClass("file-system-set-owner-not-found", Error) {};
|
|
6
|
+
var SetOwnerErrorPermissionDenied = class extends DCommon.DuploJSError.parentClass("file-system-set-owner-permission-denied", Error) {};
|
|
7
|
+
var SetOwnerErrorNotDirectory = class extends DCommon.DuploJSError.parentClass("file-system-set-owner-not-directory", Error) {};
|
|
8
|
+
var SetOwnerErrorReadOnly = class extends DCommon.DuploJSError.parentClass("file-system-set-owner-read-only", Error) {};
|
|
9
|
+
var SetOwnerErrorInvalidArgument = class extends DCommon.DuploJSError.parentClass("file-system-set-owner-invalid-argument", Error) {};
|
|
10
|
+
var SetOwnerError = class extends DCommon.DuploJSError.parentClass("file-system-set-owner-error", Error) {};
|
|
4
11
|
function handleNodeSetOwnerError(error) {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
else if (error.code === "
|
|
9
|
-
else if (error.code === "
|
|
10
|
-
else if (error.code === "
|
|
12
|
+
let setOwnerError = void 0;
|
|
13
|
+
if ("code" in error) {
|
|
14
|
+
if (error.code === "ENOENT") setOwnerError = new SetOwnerErrorNotFound(error);
|
|
15
|
+
else if (error.code === "EACCES" || error.code === "EPERM") setOwnerError = new SetOwnerErrorPermissionDenied(error);
|
|
16
|
+
else if (error.code === "ENOTDIR") setOwnerError = new SetOwnerErrorNotDirectory(error);
|
|
17
|
+
else if (error.code === "EROFS") setOwnerError = new SetOwnerErrorReadOnly(error);
|
|
18
|
+
else if (error.code === "EINVAL") setOwnerError = new SetOwnerErrorInvalidArgument(error);
|
|
11
19
|
}
|
|
12
|
-
|
|
20
|
+
if (setOwnerError === void 0) setOwnerError = new SetOwnerError(error);
|
|
21
|
+
return DEither.left("file-system-set-owner-error", setOwnerError);
|
|
13
22
|
}
|
|
14
23
|
function handleDenoSetOwnerError(error) {
|
|
15
|
-
|
|
16
|
-
if (error instanceof Deno.errors.
|
|
17
|
-
if (error instanceof Deno.errors.
|
|
18
|
-
if (error instanceof Deno.errors.
|
|
19
|
-
|
|
24
|
+
let setOwnerError = void 0;
|
|
25
|
+
if (error instanceof Deno.errors.NotFound) setOwnerError = new SetOwnerErrorNotFound(error);
|
|
26
|
+
else if (error instanceof Deno.errors.PermissionDenied || error instanceof Deno.errors.NotCapable) setOwnerError = new SetOwnerErrorPermissionDenied(error);
|
|
27
|
+
else if (error instanceof Deno.errors.NotADirectory) setOwnerError = new SetOwnerErrorNotDirectory(error);
|
|
28
|
+
else if (error instanceof Deno.errors.InvalidData) setOwnerError = new SetOwnerErrorInvalidArgument(error);
|
|
29
|
+
if (setOwnerError === void 0) setOwnerError = new SetOwnerError(error);
|
|
30
|
+
return DEither.left("file-system-set-owner-error", setOwnerError);
|
|
20
31
|
}
|
|
21
32
|
const setOwnerImplementation = implementFunction("setOwner", {
|
|
22
|
-
NODE: async (path, { userId, groupId }) =>
|
|
23
|
-
return (await nodeFileSystem.value).chown(path, userId, groupId).then(() => DEither.right("file-system-set-owner")).catch(handleNodeSetOwnerError);
|
|
24
|
-
},
|
|
33
|
+
NODE: async (path, { userId, groupId }) => nodeFileSystem.value.chown(path, userId, groupId).then(() => DEither.right("file-system-set-owner")).catch(handleNodeSetOwnerError),
|
|
25
34
|
DENO: (path, { userId, groupId }) => Deno.chown(path, userId, groupId).then(() => DEither.right("file-system-set-owner")).catch(handleDenoSetOwnerError)
|
|
26
35
|
});
|
|
27
36
|
function setOwner(...args) {
|
package/dist/file/setTime.cjs
CHANGED
|
@@ -1,31 +1,41 @@
|
|
|
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_chrono = require("@duplojs/lang/chrono");
|
|
6
8
|
_duplojs_lang_chrono = require_runtime.__toESM(_duplojs_lang_chrono, 1);
|
|
7
9
|
//#region scripts/file/setTime.ts
|
|
10
|
+
var SetTimeErrorNotFound = class extends _duplojs_lang_common.DuploJSError.parentClass("file-system-set-time-not-found", Error) {};
|
|
11
|
+
var SetTimeErrorPermissionDenied = class extends _duplojs_lang_common.DuploJSError.parentClass("file-system-set-time-permission-denied", Error) {};
|
|
12
|
+
var SetTimeErrorNotDirectory = class extends _duplojs_lang_common.DuploJSError.parentClass("file-system-set-time-not-directory", Error) {};
|
|
13
|
+
var SetTimeErrorReadOnly = class extends _duplojs_lang_common.DuploJSError.parentClass("file-system-set-time-read-only", Error) {};
|
|
14
|
+
var SetTimeErrorInvalidArgument = class extends _duplojs_lang_common.DuploJSError.parentClass("file-system-set-time-invalid-argument", Error) {};
|
|
15
|
+
var SetTimeError = class extends _duplojs_lang_common.DuploJSError.parentClass("file-system-set-time-error", Error) {};
|
|
8
16
|
function handleNodeSetTimeError(error) {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
else if (error.code === "
|
|
13
|
-
else if (error.code === "
|
|
14
|
-
else if (error.code === "
|
|
17
|
+
let setTimeError = void 0;
|
|
18
|
+
if ("code" in error) {
|
|
19
|
+
if (error.code === "ENOENT") setTimeError = new SetTimeErrorNotFound(error);
|
|
20
|
+
else if (error.code === "EACCES" || error.code === "EPERM") setTimeError = new SetTimeErrorPermissionDenied(error);
|
|
21
|
+
else if (error.code === "ENOTDIR") setTimeError = new SetTimeErrorNotDirectory(error);
|
|
22
|
+
else if (error.code === "EROFS") setTimeError = new SetTimeErrorReadOnly(error);
|
|
23
|
+
else if (error.code === "EINVAL") setTimeError = new SetTimeErrorInvalidArgument(error);
|
|
15
24
|
}
|
|
16
|
-
|
|
25
|
+
if (setTimeError === void 0) setTimeError = new SetTimeError(error);
|
|
26
|
+
return _duplojs_lang_either.left("file-system-set-time-error", setTimeError);
|
|
17
27
|
}
|
|
18
28
|
function handleDenoSetTimeError(error) {
|
|
19
|
-
|
|
20
|
-
if (error instanceof Deno.errors.
|
|
21
|
-
if (error instanceof Deno.errors.
|
|
22
|
-
if (error instanceof Deno.errors.
|
|
23
|
-
|
|
29
|
+
let setTimeError = void 0;
|
|
30
|
+
if (error instanceof Deno.errors.NotFound) setTimeError = new SetTimeErrorNotFound(error);
|
|
31
|
+
else if (error instanceof Deno.errors.PermissionDenied || error instanceof Deno.errors.NotCapable) setTimeError = new SetTimeErrorPermissionDenied(error);
|
|
32
|
+
else if (error instanceof Deno.errors.NotADirectory) setTimeError = new SetTimeErrorNotDirectory(error);
|
|
33
|
+
else if (error instanceof Deno.errors.InvalidData) setTimeError = new SetTimeErrorInvalidArgument(error);
|
|
34
|
+
if (setTimeError === void 0) setTimeError = new SetTimeError(error);
|
|
35
|
+
return _duplojs_lang_either.left("file-system-set-time-error", setTimeError);
|
|
24
36
|
}
|
|
25
37
|
const setTimeImplementation = require_implementor.implementFunction("setTime", {
|
|
26
|
-
NODE: async (path, { accessTime, modifiedTime }) =>
|
|
27
|
-
return (await require_implementor.nodeFileSystem.value).utimes(path, _duplojs_lang_chrono.toTimestamp(accessTime), _duplojs_lang_chrono.toTimestamp(modifiedTime)).then(() => _duplojs_lang_either.right("file-system-set-time")).catch(handleNodeSetTimeError);
|
|
28
|
-
},
|
|
38
|
+
NODE: async (path, { accessTime, modifiedTime }) => require_implementor.nodeFileSystem.value.utimes(path, _duplojs_lang_chrono.toTimestamp(accessTime), _duplojs_lang_chrono.toTimestamp(modifiedTime)).then(() => _duplojs_lang_either.right("file-system-set-time")).catch(handleNodeSetTimeError),
|
|
29
39
|
DENO: (path, { accessTime, modifiedTime }) => Deno.utime(path, _duplojs_lang_chrono.toTimestamp(accessTime), _duplojs_lang_chrono.toTimestamp(modifiedTime)).then(() => _duplojs_lang_either.right("file-system-set-time")).catch(handleDenoSetTimeError)
|
|
30
40
|
});
|
|
31
41
|
function setTime(...args) {
|
package/dist/file/setTime.d.ts
CHANGED
|
@@ -1,12 +1,31 @@
|
|
|
1
|
-
import { FileSystemEither } from './types';
|
|
2
1
|
import * as DEither from "@duplojs/lang/either";
|
|
3
2
|
import * as DChrono from "@duplojs/lang/chrono";
|
|
4
3
|
import type * as DPath from "@duplojs/lang/path";
|
|
4
|
+
import * as DCommon from "@duplojs/lang/common";
|
|
5
5
|
interface SetTimeParams {
|
|
6
6
|
accessTime: DChrono.TheDate;
|
|
7
7
|
modifiedTime: DChrono.TheDate;
|
|
8
8
|
}
|
|
9
|
-
|
|
9
|
+
declare const SetTimeErrorNotFound_base: abstract new (error: Error) => DCommon.DuploJSError<"file-system-set-time-not-found", Error> & import('@duplojs/lang/kind').Kind<import('@duplojs/lang/kind').Handler<import('@duplojs/lang/kind').Definition<"@DuplojsLangCommon/duplojs-error-file-system-set-time-not-found", unknown>>, unknown>;
|
|
10
|
+
declare class SetTimeErrorNotFound extends SetTimeErrorNotFound_base {
|
|
11
|
+
}
|
|
12
|
+
declare const SetTimeErrorPermissionDenied_base: abstract new (error: Error) => DCommon.DuploJSError<"file-system-set-time-permission-denied", Error> & import('@duplojs/lang/kind').Kind<import('@duplojs/lang/kind').Handler<import('@duplojs/lang/kind').Definition<"@DuplojsLangCommon/duplojs-error-file-system-set-time-permission-denied", unknown>>, unknown>;
|
|
13
|
+
declare class SetTimeErrorPermissionDenied extends SetTimeErrorPermissionDenied_base {
|
|
14
|
+
}
|
|
15
|
+
declare const SetTimeErrorNotDirectory_base: abstract new (error: Error) => DCommon.DuploJSError<"file-system-set-time-not-directory", Error> & import('@duplojs/lang/kind').Kind<import('@duplojs/lang/kind').Handler<import('@duplojs/lang/kind').Definition<"@DuplojsLangCommon/duplojs-error-file-system-set-time-not-directory", unknown>>, unknown>;
|
|
16
|
+
declare class SetTimeErrorNotDirectory extends SetTimeErrorNotDirectory_base {
|
|
17
|
+
}
|
|
18
|
+
declare const SetTimeErrorReadOnly_base: abstract new (error: Error) => DCommon.DuploJSError<"file-system-set-time-read-only", Error> & import('@duplojs/lang/kind').Kind<import('@duplojs/lang/kind').Handler<import('@duplojs/lang/kind').Definition<"@DuplojsLangCommon/duplojs-error-file-system-set-time-read-only", unknown>>, unknown>;
|
|
19
|
+
declare class SetTimeErrorReadOnly extends SetTimeErrorReadOnly_base {
|
|
20
|
+
}
|
|
21
|
+
declare const SetTimeErrorInvalidArgument_base: abstract new (error: Error) => DCommon.DuploJSError<"file-system-set-time-invalid-argument", Error> & import('@duplojs/lang/kind').Kind<import('@duplojs/lang/kind').Handler<import('@duplojs/lang/kind').Definition<"@DuplojsLangCommon/duplojs-error-file-system-set-time-invalid-argument", unknown>>, unknown>;
|
|
22
|
+
declare class SetTimeErrorInvalidArgument extends SetTimeErrorInvalidArgument_base {
|
|
23
|
+
}
|
|
24
|
+
declare const SetTimeError_base: abstract new (error: Error) => DCommon.DuploJSError<"file-system-set-time-error", Error> & import('@duplojs/lang/kind').Kind<import('@duplojs/lang/kind').Handler<import('@duplojs/lang/kind').Definition<"@DuplojsLangCommon/duplojs-error-file-system-set-time-error", unknown>>, unknown>;
|
|
25
|
+
declare class SetTimeError extends SetTimeError_base {
|
|
26
|
+
}
|
|
27
|
+
export type SetTimeErrors = (SetTimeErrorNotFound | SetTimeErrorPermissionDenied | SetTimeErrorNotDirectory | SetTimeErrorReadOnly | SetTimeErrorInvalidArgument | SetTimeError);
|
|
28
|
+
export type SetTimeResult = (DEither.Right<"file-system-set-time", void> | DEither.Left<"file-system-set-time-error", SetTimeErrors>);
|
|
10
29
|
declare module '../implementor' {
|
|
11
30
|
interface ServerFunction {
|
|
12
31
|
setTime(path: string & DPath.Path, params: SetTimeParams): Promise<SetTimeResult>;
|
package/dist/file/setTime.mjs
CHANGED
|
@@ -1,28 +1,37 @@
|
|
|
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 DChrono from "@duplojs/lang/chrono";
|
|
4
5
|
//#region scripts/file/setTime.ts
|
|
6
|
+
var SetTimeErrorNotFound = class extends DCommon.DuploJSError.parentClass("file-system-set-time-not-found", Error) {};
|
|
7
|
+
var SetTimeErrorPermissionDenied = class extends DCommon.DuploJSError.parentClass("file-system-set-time-permission-denied", Error) {};
|
|
8
|
+
var SetTimeErrorNotDirectory = class extends DCommon.DuploJSError.parentClass("file-system-set-time-not-directory", Error) {};
|
|
9
|
+
var SetTimeErrorReadOnly = class extends DCommon.DuploJSError.parentClass("file-system-set-time-read-only", Error) {};
|
|
10
|
+
var SetTimeErrorInvalidArgument = class extends DCommon.DuploJSError.parentClass("file-system-set-time-invalid-argument", Error) {};
|
|
11
|
+
var SetTimeError = class extends DCommon.DuploJSError.parentClass("file-system-set-time-error", Error) {};
|
|
5
12
|
function handleNodeSetTimeError(error) {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
else if (error.code === "
|
|
10
|
-
else if (error.code === "
|
|
11
|
-
else if (error.code === "
|
|
13
|
+
let setTimeError = void 0;
|
|
14
|
+
if ("code" in error) {
|
|
15
|
+
if (error.code === "ENOENT") setTimeError = new SetTimeErrorNotFound(error);
|
|
16
|
+
else if (error.code === "EACCES" || error.code === "EPERM") setTimeError = new SetTimeErrorPermissionDenied(error);
|
|
17
|
+
else if (error.code === "ENOTDIR") setTimeError = new SetTimeErrorNotDirectory(error);
|
|
18
|
+
else if (error.code === "EROFS") setTimeError = new SetTimeErrorReadOnly(error);
|
|
19
|
+
else if (error.code === "EINVAL") setTimeError = new SetTimeErrorInvalidArgument(error);
|
|
12
20
|
}
|
|
13
|
-
|
|
21
|
+
if (setTimeError === void 0) setTimeError = new SetTimeError(error);
|
|
22
|
+
return DEither.left("file-system-set-time-error", setTimeError);
|
|
14
23
|
}
|
|
15
24
|
function handleDenoSetTimeError(error) {
|
|
16
|
-
|
|
17
|
-
if (error instanceof Deno.errors.
|
|
18
|
-
if (error instanceof Deno.errors.
|
|
19
|
-
if (error instanceof Deno.errors.
|
|
20
|
-
|
|
25
|
+
let setTimeError = void 0;
|
|
26
|
+
if (error instanceof Deno.errors.NotFound) setTimeError = new SetTimeErrorNotFound(error);
|
|
27
|
+
else if (error instanceof Deno.errors.PermissionDenied || error instanceof Deno.errors.NotCapable) setTimeError = new SetTimeErrorPermissionDenied(error);
|
|
28
|
+
else if (error instanceof Deno.errors.NotADirectory) setTimeError = new SetTimeErrorNotDirectory(error);
|
|
29
|
+
else if (error instanceof Deno.errors.InvalidData) setTimeError = new SetTimeErrorInvalidArgument(error);
|
|
30
|
+
if (setTimeError === void 0) setTimeError = new SetTimeError(error);
|
|
31
|
+
return DEither.left("file-system-set-time-error", setTimeError);
|
|
21
32
|
}
|
|
22
33
|
const setTimeImplementation = implementFunction("setTime", {
|
|
23
|
-
NODE: async (path, { accessTime, modifiedTime }) =>
|
|
24
|
-
return (await nodeFileSystem.value).utimes(path, DChrono.toTimestamp(accessTime), DChrono.toTimestamp(modifiedTime)).then(() => DEither.right("file-system-set-time")).catch(handleNodeSetTimeError);
|
|
25
|
-
},
|
|
34
|
+
NODE: async (path, { accessTime, modifiedTime }) => nodeFileSystem.value.utimes(path, DChrono.toTimestamp(accessTime), DChrono.toTimestamp(modifiedTime)).then(() => DEither.right("file-system-set-time")).catch(handleNodeSetTimeError),
|
|
26
35
|
DENO: (path, { accessTime, modifiedTime }) => Deno.utime(path, DChrono.toTimestamp(accessTime), DChrono.toTimestamp(modifiedTime)).then(() => DEither.right("file-system-set-time")).catch(handleDenoSetTimeError)
|
|
27
36
|
});
|
|
28
37
|
function setTime(...args) {
|
package/dist/file/stat.cjs
CHANGED
|
@@ -7,22 +7,32 @@ _duplojs_lang_either = require_runtime.__toESM(_duplojs_lang_either, 1);
|
|
|
7
7
|
let _duplojs_lang_chrono = require("@duplojs/lang/chrono");
|
|
8
8
|
_duplojs_lang_chrono = require_runtime.__toESM(_duplojs_lang_chrono, 1);
|
|
9
9
|
//#region scripts/file/stat.ts
|
|
10
|
+
var StatErrorNotFound = class extends _duplojs_lang_common.DuploJSError.parentClass("file-system-stat-not-found", Error) {};
|
|
11
|
+
var StatErrorPermissionDenied = class extends _duplojs_lang_common.DuploJSError.parentClass("file-system-stat-permission-denied", Error) {};
|
|
12
|
+
var StatErrorNotDirectory = class extends _duplojs_lang_common.DuploJSError.parentClass("file-system-stat-not-directory", Error) {};
|
|
13
|
+
var StatErrorTooManyOpenFiles = class extends _duplojs_lang_common.DuploJSError.parentClass("file-system-stat-too-many-open-files", Error) {};
|
|
14
|
+
var StatErrorBusy = class extends _duplojs_lang_common.DuploJSError.parentClass("file-system-stat-busy", Error) {};
|
|
15
|
+
var StatError = class extends _duplojs_lang_common.DuploJSError.parentClass("file-system-stat-error", Error) {};
|
|
10
16
|
function handleNodeStatError(error) {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
else if (error.code === "
|
|
15
|
-
else if (error.code === "
|
|
16
|
-
else if (error.code === "
|
|
17
|
+
let statError = void 0;
|
|
18
|
+
if ("code" in error) {
|
|
19
|
+
if (error.code === "ENOENT") statError = new StatErrorNotFound(error);
|
|
20
|
+
else if (error.code === "EACCES" || error.code === "EPERM") statError = new StatErrorPermissionDenied(error);
|
|
21
|
+
else if (error.code === "ENOTDIR") statError = new StatErrorNotDirectory(error);
|
|
22
|
+
else if (error.code === "EMFILE" || error.code === "ENFILE") statError = new StatErrorTooManyOpenFiles(error);
|
|
23
|
+
else if (error.code === "EBUSY") statError = new StatErrorBusy(error);
|
|
17
24
|
}
|
|
18
|
-
|
|
25
|
+
if (statError === void 0) statError = new StatError(error);
|
|
26
|
+
return _duplojs_lang_either.left("file-system-stat-error", statError);
|
|
19
27
|
}
|
|
20
28
|
function handleDenoStatError(error) {
|
|
21
|
-
|
|
22
|
-
if (error instanceof Deno.errors.
|
|
23
|
-
if (error instanceof Deno.errors.
|
|
24
|
-
if (error instanceof Deno.errors.
|
|
25
|
-
|
|
29
|
+
let statError = void 0;
|
|
30
|
+
if (error instanceof Deno.errors.NotFound) statError = new StatErrorNotFound(error);
|
|
31
|
+
else if (error instanceof Deno.errors.PermissionDenied || error instanceof Deno.errors.NotCapable) statError = new StatErrorPermissionDenied(error);
|
|
32
|
+
else if (error instanceof Deno.errors.NotADirectory) statError = new StatErrorNotDirectory(error);
|
|
33
|
+
else if (error instanceof Deno.errors.Busy) statError = new StatErrorBusy(error);
|
|
34
|
+
if (statError === void 0) statError = new StatError(error);
|
|
35
|
+
return _duplojs_lang_either.left("file-system-stat-error", statError);
|
|
26
36
|
}
|
|
27
37
|
function createStatInfoWithFsSource(source) {
|
|
28
38
|
return {
|
|
@@ -75,9 +85,7 @@ function createStatInfoWithDeno(source) {
|
|
|
75
85
|
};
|
|
76
86
|
}
|
|
77
87
|
const stat = require_implementor.implementFunction("stat", {
|
|
78
|
-
NODE: async (path) =>
|
|
79
|
-
return (await require_implementor.nodeFileSystem.value).stat(path).then(_duplojs_lang_common.innerPipe(createStatInfoWithFsSource, (value) => _duplojs_lang_either.right("file-system-stat", value))).catch(handleNodeStatError);
|
|
80
|
-
},
|
|
88
|
+
NODE: async (path) => require_implementor.nodeFileSystem.value.stat(path).then(_duplojs_lang_common.innerPipe(createStatInfoWithFsSource, (value) => _duplojs_lang_either.right("file-system-stat", value))).catch(handleNodeStatError),
|
|
81
89
|
DENO: (path) => Deno.stat(path).then(_duplojs_lang_common.innerPipe(createStatInfoWithDeno, (value) => _duplojs_lang_either.right("file-system-stat", value))).catch(handleDenoStatError),
|
|
82
90
|
BUN: (path) => Bun.file(path).stat().then(_duplojs_lang_common.innerPipe(createStatInfoWithFsSource, (value) => _duplojs_lang_either.right("file-system-stat", value))).catch(handleNodeStatError)
|
|
83
91
|
});
|
package/dist/file/stat.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import * as DCommon from "@duplojs/lang/common";
|
|
2
2
|
import type * as DPath from "@duplojs/lang/path";
|
|
3
3
|
import * as DEither from "@duplojs/lang/either";
|
|
4
4
|
import * as DChrono from "@duplojs/lang/chrono";
|
|
@@ -33,10 +33,30 @@ export interface StatInfo {
|
|
|
33
33
|
isFifo: boolean | null;
|
|
34
34
|
isSocket: boolean | null;
|
|
35
35
|
}
|
|
36
|
-
|
|
36
|
+
declare const StatErrorNotFound_base: abstract new (error: Error) => DCommon.DuploJSError<"file-system-stat-not-found", Error> & import('@duplojs/lang/kind').Kind<import('@duplojs/lang/kind').Handler<import('@duplojs/lang/kind').Definition<"@DuplojsLangCommon/duplojs-error-file-system-stat-not-found", unknown>>, unknown>;
|
|
37
|
+
declare class StatErrorNotFound extends StatErrorNotFound_base {
|
|
38
|
+
}
|
|
39
|
+
declare const StatErrorPermissionDenied_base: abstract new (error: Error) => DCommon.DuploJSError<"file-system-stat-permission-denied", Error> & import('@duplojs/lang/kind').Kind<import('@duplojs/lang/kind').Handler<import('@duplojs/lang/kind').Definition<"@DuplojsLangCommon/duplojs-error-file-system-stat-permission-denied", unknown>>, unknown>;
|
|
40
|
+
declare class StatErrorPermissionDenied extends StatErrorPermissionDenied_base {
|
|
41
|
+
}
|
|
42
|
+
declare const StatErrorNotDirectory_base: abstract new (error: Error) => DCommon.DuploJSError<"file-system-stat-not-directory", Error> & import('@duplojs/lang/kind').Kind<import('@duplojs/lang/kind').Handler<import('@duplojs/lang/kind').Definition<"@DuplojsLangCommon/duplojs-error-file-system-stat-not-directory", unknown>>, unknown>;
|
|
43
|
+
declare class StatErrorNotDirectory extends StatErrorNotDirectory_base {
|
|
44
|
+
}
|
|
45
|
+
declare const StatErrorTooManyOpenFiles_base: abstract new (error: Error) => DCommon.DuploJSError<"file-system-stat-too-many-open-files", Error> & import('@duplojs/lang/kind').Kind<import('@duplojs/lang/kind').Handler<import('@duplojs/lang/kind').Definition<"@DuplojsLangCommon/duplojs-error-file-system-stat-too-many-open-files", unknown>>, unknown>;
|
|
46
|
+
declare class StatErrorTooManyOpenFiles extends StatErrorTooManyOpenFiles_base {
|
|
47
|
+
}
|
|
48
|
+
declare const StatErrorBusy_base: abstract new (error: Error) => DCommon.DuploJSError<"file-system-stat-busy", Error> & import('@duplojs/lang/kind').Kind<import('@duplojs/lang/kind').Handler<import('@duplojs/lang/kind').Definition<"@DuplojsLangCommon/duplojs-error-file-system-stat-busy", unknown>>, unknown>;
|
|
49
|
+
declare class StatErrorBusy extends StatErrorBusy_base {
|
|
50
|
+
}
|
|
51
|
+
declare const StatError_base: abstract new (error: Error) => DCommon.DuploJSError<"file-system-stat-error", Error> & import('@duplojs/lang/kind').Kind<import('@duplojs/lang/kind').Handler<import('@duplojs/lang/kind').Definition<"@DuplojsLangCommon/duplojs-error-file-system-stat-error", unknown>>, unknown>;
|
|
52
|
+
declare class StatError extends StatError_base {
|
|
53
|
+
}
|
|
54
|
+
export type StatErrors = (StatErrorNotFound | StatErrorPermissionDenied | StatErrorNotDirectory | StatErrorTooManyOpenFiles | StatErrorBusy | StatError);
|
|
55
|
+
export type StatResult = (DEither.Right<"file-system-stat", StatInfo> | DEither.Left<"file-system-stat-error", StatErrors>);
|
|
37
56
|
declare module '../implementor' {
|
|
38
57
|
interface ServerFunction {
|
|
39
58
|
stat(path: string & DPath.Path): Promise<StatResult>;
|
|
40
59
|
}
|
|
41
60
|
}
|
|
42
61
|
export declare const stat: (path: string & DPath.Path) => Promise<StatResult>;
|
|
62
|
+
export {};
|