@duplojs/server 0.1.0-beta.2 → 0.1.0-beta.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_virtual/_rolldown/runtime.mjs +5 -1
- package/dist/command/argument.d.ts +2 -2
- package/dist/command/create.cjs +18 -10
- package/dist/command/create.d.ts +3 -3
- package/dist/command/create.mjs +18 -10
- package/dist/command/error.cjs +26 -2
- package/dist/command/error.d.ts +9 -1
- package/dist/command/error.mjs +25 -1
- package/dist/command/exec.d.ts +4 -3
- package/dist/command/help.cjs +11 -9
- package/dist/command/help.d.ts +1 -1
- package/dist/command/help.mjs +10 -8
- package/dist/command/index.cjs +4 -0
- package/dist/command/index.mjs +4 -2
- package/dist/command/options/base.cjs +21 -13
- package/dist/command/options/base.d.ts +6 -0
- package/dist/command/options/base.mjs +20 -14
- package/dist/command/options/defaults/array.d.ts +6 -4
- package/dist/command/options/defaults/boolean.cjs +21 -7
- package/dist/command/options/defaults/boolean.d.ts +6 -3
- package/dist/command/options/defaults/boolean.mjs +20 -8
- package/dist/command/options/defaults/simple.d.ts +6 -4
- package/dist/command/types/forbiddenInvalidIdentifier.d.ts +6 -0
- package/dist/command/types/index.d.ts +1 -0
- package/dist/common/environmentVariable/index.d.ts +1 -1
- package/dist/common/environmentVariable/overrideEnvironmentVariables.d.ts +1 -1
- 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 +46 -22
- package/dist/file/appendFile.d.ts +37 -5
- package/dist/file/appendFile.mjs +36 -23
- package/dist/file/appendTextFile.cjs +44 -20
- package/dist/file/appendTextFile.d.ts +37 -5
- package/dist/file/appendTextFile.mjs +34 -21
- package/dist/file/copy.cjs +36 -14
- package/dist/file/copy.d.ts +37 -5
- package/dist/file/copy.mjs +26 -15
- package/dist/file/createEntryInterface.cjs +6 -3
- package/dist/file/createEntryInterface.d.ts +1 -1
- package/dist/file/createEntryInterface.mjs +4 -2
- package/dist/file/ensureDirectory.cjs +37 -17
- package/dist/file/ensureDirectory.d.ts +30 -4
- package/dist/file/ensureDirectory.mjs +29 -18
- package/dist/file/ensureFile.cjs +41 -19
- package/dist/file/ensureFile.d.ts +33 -4
- package/dist/file/ensureFile.mjs +32 -20
- package/dist/file/exists.cjs +28 -14
- package/dist/file/exists.d.ts +21 -4
- package/dist/file/exists.mjs +23 -15
- package/dist/file/fileInterface.cjs +3 -1
- package/dist/file/fileInterface.d.ts +10 -9
- package/dist/file/fileInterface.mjs +3 -2
- package/dist/file/folderInterface.cjs +3 -1
- package/dist/file/folderInterface.d.ts +9 -8
- package/dist/file/folderInterface.mjs +3 -2
- package/dist/file/index.cjs +512 -0
- package/dist/file/index.d.ts +0 -1
- package/dist/file/index.mjs +291 -35
- package/dist/file/link.cjs +48 -22
- package/dist/file/link.d.ts +40 -5
- package/dist/file/link.mjs +37 -23
- package/dist/file/linkStat.cjs +29 -15
- package/dist/file/linkStat.d.ts +24 -4
- package/dist/file/linkStat.mjs +24 -16
- package/dist/file/makeDirectory.cjs +45 -21
- package/dist/file/makeDirectory.d.ts +35 -4
- package/dist/file/makeDirectory.mjs +35 -22
- package/dist/file/makeTemporaryDirectory.cjs +33 -15
- package/dist/file/makeTemporaryDirectory.d.ts +25 -2
- package/dist/file/makeTemporaryDirectory.mjs +26 -16
- package/dist/file/makeTemporaryFile.cjs +37 -20
- package/dist/file/makeTemporaryFile.d.ts +28 -2
- package/dist/file/makeTemporaryFile.mjs +30 -21
- package/dist/file/move.cjs +49 -23
- package/dist/file/move.d.ts +40 -5
- package/dist/file/move.mjs +38 -24
- package/dist/file/readDirectory.cjs +33 -9
- package/dist/file/readDirectory.d.ts +26 -5
- package/dist/file/readDirectory.mjs +25 -10
- package/dist/file/readFile.cjs +35 -17
- package/dist/file/readFile.d.ts +27 -4
- package/dist/file/readFile.mjs +28 -18
- package/dist/file/readJsonFile.cjs +35 -17
- package/dist/file/readJsonFile.d.ts +27 -5
- package/dist/file/readJsonFile.mjs +28 -18
- package/dist/file/readLink.cjs +31 -15
- package/dist/file/readLink.d.ts +24 -4
- package/dist/file/readLink.mjs +25 -16
- package/dist/file/readTextFile.cjs +35 -17
- package/dist/file/readTextFile.d.ts +27 -4
- package/dist/file/readTextFile.mjs +28 -18
- package/dist/file/realPath.cjs +27 -13
- package/dist/file/realPath.d.ts +21 -4
- package/dist/file/realPath.mjs +22 -14
- package/dist/file/relocate.cjs +52 -25
- package/dist/file/relocate.d.ts +40 -5
- package/dist/file/relocate.mjs +41 -26
- package/dist/file/remove.cjs +45 -23
- package/dist/file/remove.d.ts +32 -4
- package/dist/file/remove.mjs +36 -24
- package/dist/file/rename.cjs +52 -25
- package/dist/file/rename.d.ts +40 -5
- package/dist/file/rename.mjs +41 -26
- package/dist/file/setMode.cjs +29 -15
- package/dist/file/setMode.d.ts +24 -5
- package/dist/file/setMode.mjs +24 -16
- package/dist/file/setOwner.cjs +31 -15
- package/dist/file/setOwner.d.ts +25 -5
- package/dist/file/setOwner.mjs +25 -16
- package/dist/file/setTime.cjs +31 -15
- package/dist/file/setTime.d.ts +24 -5
- package/dist/file/setTime.mjs +25 -16
- package/dist/file/stat.cjs +29 -15
- package/dist/file/stat.d.ts +24 -4
- package/dist/file/stat.mjs +24 -16
- package/dist/file/symlink.cjs +42 -20
- package/dist/file/symlink.d.ts +34 -5
- package/dist/file/symlink.mjs +33 -21
- package/dist/file/truncate.cjs +43 -21
- package/dist/file/truncate.d.ts +36 -4
- package/dist/file/truncate.mjs +34 -22
- package/dist/file/unknownEntryInterface.cjs +5 -1
- package/dist/file/unknownEntryInterface.d.ts +8 -6
- package/dist/file/unknownEntryInterface.mjs +4 -2
- package/dist/file/walkDirectory.cjs +38 -15
- package/dist/file/walkDirectory.d.ts +25 -4
- package/dist/file/walkDirectory.mjs +32 -15
- package/dist/file/writeFile.cjs +45 -21
- package/dist/file/writeFile.d.ts +37 -5
- package/dist/file/writeFile.mjs +35 -22
- package/dist/file/writeJsonFile.cjs +48 -27
- package/dist/file/writeJsonFile.d.ts +37 -6
- package/dist/file/writeJsonFile.mjs +39 -28
- package/dist/file/writeTextFile.cjs +45 -21
- package/dist/file/writeTextFile.d.ts +37 -5
- package/dist/file/writeTextFile.mjs +35 -22
- 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/dist/override.d.ts +8 -0
- 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) {
|
|
@@ -48,4 +56,10 @@ function setMode(...args) {
|
|
|
48
56
|
return setModeImplementation(...args);
|
|
49
57
|
}
|
|
50
58
|
//#endregion
|
|
59
|
+
exports.SetModeError = SetModeError;
|
|
60
|
+
exports.SetModeErrorInvalidArgument = SetModeErrorInvalidArgument;
|
|
61
|
+
exports.SetModeErrorNotDirectory = SetModeErrorNotDirectory;
|
|
62
|
+
exports.SetModeErrorNotFound = SetModeErrorNotFound;
|
|
63
|
+
exports.SetModeErrorPermissionDenied = SetModeErrorPermissionDenied;
|
|
64
|
+
exports.SetModeErrorReadOnly = SetModeErrorReadOnly;
|
|
51
65
|
exports.setMode = setMode;
|
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,12 +15,31 @@ 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
|
+
export 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
|
+
export 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
|
+
export 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
|
+
export 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
|
+
export 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
|
+
export 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
|
-
setMode(path:
|
|
40
|
+
setMode(path: DPath.AnyPath, mode: SetMode): Promise<SetModeResult>;
|
|
22
41
|
}
|
|
23
42
|
}
|
|
24
|
-
export declare function setMode(mode: SetMode): (path:
|
|
25
|
-
export declare function setMode(path:
|
|
43
|
+
export declare function setMode(mode: SetMode): (path: DPath.AnyPath) => Promise<SetModeResult>;
|
|
44
|
+
export declare function setMode(path: DPath.AnyPath, mode: SetMode): Promise<SetModeResult>;
|
|
26
45
|
export {};
|
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) {
|
|
@@ -45,4 +53,4 @@ function setMode(...args) {
|
|
|
45
53
|
return setModeImplementation(...args);
|
|
46
54
|
}
|
|
47
55
|
//#endregion
|
|
48
|
-
export { setMode };
|
|
56
|
+
export { SetModeError, SetModeErrorInvalidArgument, SetModeErrorNotDirectory, SetModeErrorNotFound, SetModeErrorPermissionDenied, SetModeErrorReadOnly, setMode };
|
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) {
|
|
@@ -34,4 +44,10 @@ function setOwner(...args) {
|
|
|
34
44
|
return setOwnerImplementation(...args);
|
|
35
45
|
}
|
|
36
46
|
//#endregion
|
|
47
|
+
exports.SetOwnerError = SetOwnerError;
|
|
48
|
+
exports.SetOwnerErrorInvalidArgument = SetOwnerErrorInvalidArgument;
|
|
49
|
+
exports.SetOwnerErrorNotDirectory = SetOwnerErrorNotDirectory;
|
|
50
|
+
exports.SetOwnerErrorNotFound = SetOwnerErrorNotFound;
|
|
51
|
+
exports.SetOwnerErrorPermissionDenied = SetOwnerErrorPermissionDenied;
|
|
52
|
+
exports.SetOwnerErrorReadOnly = SetOwnerErrorReadOnly;
|
|
37
53
|
exports.setOwner = setOwner;
|
package/dist/file/setOwner.d.ts
CHANGED
|
@@ -1,15 +1,35 @@
|
|
|
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
|
+
export 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
|
+
export 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
|
+
export 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
|
+
export 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
|
+
export 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
|
+
export 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
|
-
setOwner(path:
|
|
30
|
+
setOwner(path: DPath.AnyPath, params: SetOwnerParams): Promise<SetOwnerResult>;
|
|
12
31
|
}
|
|
13
32
|
}
|
|
14
|
-
export declare function setOwner(params: SetOwnerParams): (path:
|
|
15
|
-
export declare function setOwner(path:
|
|
33
|
+
export declare function setOwner(params: SetOwnerParams): (path: DPath.AnyPath) => Promise<SetOwnerResult>;
|
|
34
|
+
export declare function setOwner(path: DPath.AnyPath, 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) {
|
|
@@ -32,4 +41,4 @@ function setOwner(...args) {
|
|
|
32
41
|
return setOwnerImplementation(...args);
|
|
33
42
|
}
|
|
34
43
|
//#endregion
|
|
35
|
-
export { setOwner };
|
|
44
|
+
export { SetOwnerError, SetOwnerErrorInvalidArgument, SetOwnerErrorNotDirectory, SetOwnerErrorNotFound, SetOwnerErrorPermissionDenied, SetOwnerErrorReadOnly, setOwner };
|
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) {
|
|
@@ -36,4 +46,10 @@ function setTime(...args) {
|
|
|
36
46
|
return setTimeImplementation(...args);
|
|
37
47
|
}
|
|
38
48
|
//#endregion
|
|
49
|
+
exports.SetTimeError = SetTimeError;
|
|
50
|
+
exports.SetTimeErrorInvalidArgument = SetTimeErrorInvalidArgument;
|
|
51
|
+
exports.SetTimeErrorNotDirectory = SetTimeErrorNotDirectory;
|
|
52
|
+
exports.SetTimeErrorNotFound = SetTimeErrorNotFound;
|
|
53
|
+
exports.SetTimeErrorPermissionDenied = SetTimeErrorPermissionDenied;
|
|
54
|
+
exports.SetTimeErrorReadOnly = SetTimeErrorReadOnly;
|
|
39
55
|
exports.setTime = setTime;
|
package/dist/file/setTime.d.ts
CHANGED
|
@@ -1,17 +1,36 @@
|
|
|
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
|
+
export 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
|
+
export 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
|
+
export 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
|
+
export 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
|
+
export 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
|
+
export 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
|
-
setTime(path:
|
|
31
|
+
setTime(path: DPath.AnyPath, params: SetTimeParams): Promise<SetTimeResult>;
|
|
13
32
|
}
|
|
14
33
|
}
|
|
15
|
-
export declare function setTime(params: SetTimeParams): (path:
|
|
16
|
-
export declare function setTime(path:
|
|
34
|
+
export declare function setTime(params: SetTimeParams): (path: DPath.AnyPath) => Promise<SetTimeResult>;
|
|
35
|
+
export declare function setTime(path: DPath.AnyPath, params: SetTimeParams): Promise<SetTimeResult>;
|
|
17
36
|
export {};
|
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) {
|
|
@@ -33,4 +42,4 @@ function setTime(...args) {
|
|
|
33
42
|
return setTimeImplementation(...args);
|
|
34
43
|
}
|
|
35
44
|
//#endregion
|
|
36
|
-
export { setTime };
|
|
45
|
+
export { SetTimeError, SetTimeErrorInvalidArgument, SetTimeErrorNotDirectory, SetTimeErrorNotFound, SetTimeErrorPermissionDenied, SetTimeErrorReadOnly, setTime };
|