@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.
Files changed (198) hide show
  1. package/dist/_virtual/_rolldown/runtime.mjs +5 -1
  2. package/dist/command/argument.d.ts +2 -2
  3. package/dist/command/create.cjs +18 -10
  4. package/dist/command/create.d.ts +3 -3
  5. package/dist/command/create.mjs +18 -10
  6. package/dist/command/error.cjs +26 -2
  7. package/dist/command/error.d.ts +9 -1
  8. package/dist/command/error.mjs +25 -1
  9. package/dist/command/exec.d.ts +4 -3
  10. package/dist/command/help.cjs +11 -9
  11. package/dist/command/help.d.ts +1 -1
  12. package/dist/command/help.mjs +10 -8
  13. package/dist/command/index.cjs +4 -0
  14. package/dist/command/index.mjs +4 -2
  15. package/dist/command/options/base.cjs +21 -13
  16. package/dist/command/options/base.d.ts +6 -0
  17. package/dist/command/options/base.mjs +20 -14
  18. package/dist/command/options/defaults/array.d.ts +6 -4
  19. package/dist/command/options/defaults/boolean.cjs +21 -7
  20. package/dist/command/options/defaults/boolean.d.ts +6 -3
  21. package/dist/command/options/defaults/boolean.mjs +20 -8
  22. package/dist/command/options/defaults/simple.d.ts +6 -4
  23. package/dist/command/types/forbiddenInvalidIdentifier.d.ts +6 -0
  24. package/dist/command/types/index.d.ts +1 -0
  25. package/dist/common/environmentVariable/index.d.ts +1 -1
  26. package/dist/common/environmentVariable/overrideEnvironmentVariables.d.ts +1 -1
  27. package/dist/common/environmentVariable/parseEnvironmentFiles.d.ts +2 -1
  28. package/dist/common/index.cjs +3 -0
  29. package/dist/common/index.d.ts +1 -0
  30. package/dist/common/index.mjs +3 -1
  31. package/dist/common/meta/getCurrentDirectoryName.cjs +10 -0
  32. package/dist/common/meta/getCurrentDirectoryName.d.ts +7 -0
  33. package/dist/common/meta/getCurrentDirectoryName.mjs +7 -0
  34. package/dist/common/meta/index.d.ts +7 -0
  35. package/dist/dataStructure/common/codec/defaults/json.cjs +12 -1
  36. package/dist/dataStructure/common/codec/defaults/json.d.ts +2 -2
  37. package/dist/dataStructure/common/codec/defaults/json.mjs +12 -1
  38. package/dist/dataStructure/common/codec/defaults/string.cjs +12 -1
  39. package/dist/dataStructure/common/codec/defaults/string.d.ts +2 -2
  40. package/dist/dataStructure/common/codec/defaults/string.mjs +12 -1
  41. package/dist/dataStructure/common/error/defaultInterpreter.cjs +3 -1
  42. package/dist/dataStructure/common/error/defaultInterpreter.d.ts +7 -2
  43. package/dist/dataStructure/common/error/defaultInterpreter.mjs +3 -1
  44. package/dist/dataStructure/constraint/{exist.cjs → fileExist.cjs} +5 -5
  45. package/dist/dataStructure/constraint/fileExist.d.ts +10 -0
  46. package/dist/dataStructure/constraint/{exist.mjs → fileExist.mjs} +4 -4
  47. package/dist/dataStructure/constraint/folderExist.cjs +19 -0
  48. package/dist/dataStructure/constraint/folderExist.d.ts +10 -0
  49. package/dist/dataStructure/constraint/folderExist.mjs +15 -0
  50. package/dist/dataStructure/constraint/index.d.ts +2 -1
  51. package/dist/dataStructure/constraint/mimeType.cjs +1 -1
  52. package/dist/dataStructure/constraint/mimeType.mjs +1 -1
  53. package/dist/dataStructure/constraint/types/constraints.d.ts +4 -2
  54. package/dist/dataStructure/fundamentalType/folder.cjs +11 -0
  55. package/dist/dataStructure/fundamentalType/folder.d.ts +8 -0
  56. package/dist/dataStructure/fundamentalType/folder.mjs +8 -0
  57. package/dist/dataStructure/fundamentalType/index.d.ts +1 -0
  58. package/dist/dataStructure/fundamentalType/types/fundamentalTypes.d.ts +2 -0
  59. package/dist/dataStructure/helper/file.d.ts +1 -1
  60. package/dist/dataStructure/helper/fileExist.cjs +7 -0
  61. package/dist/dataStructure/helper/fileExist.d.ts +2 -0
  62. package/dist/dataStructure/helper/fileExist.mjs +7 -0
  63. package/dist/dataStructure/helper/folder.cjs +10 -0
  64. package/dist/dataStructure/helper/folder.d.ts +3 -0
  65. package/dist/dataStructure/helper/folder.mjs +8 -0
  66. package/dist/dataStructure/helper/folderExist.cjs +7 -0
  67. package/dist/dataStructure/helper/folderExist.d.ts +2 -0
  68. package/dist/dataStructure/helper/folderExist.mjs +7 -0
  69. package/dist/dataStructure/helper/index.d.ts +3 -1
  70. package/dist/dataStructure/index.cjs +29 -8
  71. package/dist/dataStructure/index.mjs +19 -6
  72. package/dist/dataStructure/type/folder.cjs +14 -0
  73. package/dist/dataStructure/type/folder.d.ts +11 -0
  74. package/dist/dataStructure/type/folder.mjs +11 -0
  75. package/dist/dataStructure/type/index.d.ts +1 -0
  76. package/dist/dataStructure/type/types/types.d.ts +2 -0
  77. package/dist/file/appendFile.cjs +46 -22
  78. package/dist/file/appendFile.d.ts +37 -5
  79. package/dist/file/appendFile.mjs +36 -23
  80. package/dist/file/appendTextFile.cjs +44 -20
  81. package/dist/file/appendTextFile.d.ts +37 -5
  82. package/dist/file/appendTextFile.mjs +34 -21
  83. package/dist/file/copy.cjs +36 -14
  84. package/dist/file/copy.d.ts +37 -5
  85. package/dist/file/copy.mjs +26 -15
  86. package/dist/file/createEntryInterface.cjs +6 -3
  87. package/dist/file/createEntryInterface.d.ts +1 -1
  88. package/dist/file/createEntryInterface.mjs +4 -2
  89. package/dist/file/ensureDirectory.cjs +37 -17
  90. package/dist/file/ensureDirectory.d.ts +30 -4
  91. package/dist/file/ensureDirectory.mjs +29 -18
  92. package/dist/file/ensureFile.cjs +41 -19
  93. package/dist/file/ensureFile.d.ts +33 -4
  94. package/dist/file/ensureFile.mjs +32 -20
  95. package/dist/file/exists.cjs +28 -14
  96. package/dist/file/exists.d.ts +21 -4
  97. package/dist/file/exists.mjs +23 -15
  98. package/dist/file/fileInterface.cjs +3 -1
  99. package/dist/file/fileInterface.d.ts +10 -9
  100. package/dist/file/fileInterface.mjs +3 -2
  101. package/dist/file/folderInterface.cjs +3 -1
  102. package/dist/file/folderInterface.d.ts +9 -8
  103. package/dist/file/folderInterface.mjs +3 -2
  104. package/dist/file/index.cjs +512 -0
  105. package/dist/file/index.d.ts +0 -1
  106. package/dist/file/index.mjs +291 -35
  107. package/dist/file/link.cjs +48 -22
  108. package/dist/file/link.d.ts +40 -5
  109. package/dist/file/link.mjs +37 -23
  110. package/dist/file/linkStat.cjs +29 -15
  111. package/dist/file/linkStat.d.ts +24 -4
  112. package/dist/file/linkStat.mjs +24 -16
  113. package/dist/file/makeDirectory.cjs +45 -21
  114. package/dist/file/makeDirectory.d.ts +35 -4
  115. package/dist/file/makeDirectory.mjs +35 -22
  116. package/dist/file/makeTemporaryDirectory.cjs +33 -15
  117. package/dist/file/makeTemporaryDirectory.d.ts +25 -2
  118. package/dist/file/makeTemporaryDirectory.mjs +26 -16
  119. package/dist/file/makeTemporaryFile.cjs +37 -20
  120. package/dist/file/makeTemporaryFile.d.ts +28 -2
  121. package/dist/file/makeTemporaryFile.mjs +30 -21
  122. package/dist/file/move.cjs +49 -23
  123. package/dist/file/move.d.ts +40 -5
  124. package/dist/file/move.mjs +38 -24
  125. package/dist/file/readDirectory.cjs +33 -9
  126. package/dist/file/readDirectory.d.ts +26 -5
  127. package/dist/file/readDirectory.mjs +25 -10
  128. package/dist/file/readFile.cjs +35 -17
  129. package/dist/file/readFile.d.ts +27 -4
  130. package/dist/file/readFile.mjs +28 -18
  131. package/dist/file/readJsonFile.cjs +35 -17
  132. package/dist/file/readJsonFile.d.ts +27 -5
  133. package/dist/file/readJsonFile.mjs +28 -18
  134. package/dist/file/readLink.cjs +31 -15
  135. package/dist/file/readLink.d.ts +24 -4
  136. package/dist/file/readLink.mjs +25 -16
  137. package/dist/file/readTextFile.cjs +35 -17
  138. package/dist/file/readTextFile.d.ts +27 -4
  139. package/dist/file/readTextFile.mjs +28 -18
  140. package/dist/file/realPath.cjs +27 -13
  141. package/dist/file/realPath.d.ts +21 -4
  142. package/dist/file/realPath.mjs +22 -14
  143. package/dist/file/relocate.cjs +52 -25
  144. package/dist/file/relocate.d.ts +40 -5
  145. package/dist/file/relocate.mjs +41 -26
  146. package/dist/file/remove.cjs +45 -23
  147. package/dist/file/remove.d.ts +32 -4
  148. package/dist/file/remove.mjs +36 -24
  149. package/dist/file/rename.cjs +52 -25
  150. package/dist/file/rename.d.ts +40 -5
  151. package/dist/file/rename.mjs +41 -26
  152. package/dist/file/setMode.cjs +29 -15
  153. package/dist/file/setMode.d.ts +24 -5
  154. package/dist/file/setMode.mjs +24 -16
  155. package/dist/file/setOwner.cjs +31 -15
  156. package/dist/file/setOwner.d.ts +25 -5
  157. package/dist/file/setOwner.mjs +25 -16
  158. package/dist/file/setTime.cjs +31 -15
  159. package/dist/file/setTime.d.ts +24 -5
  160. package/dist/file/setTime.mjs +25 -16
  161. package/dist/file/stat.cjs +29 -15
  162. package/dist/file/stat.d.ts +24 -4
  163. package/dist/file/stat.mjs +24 -16
  164. package/dist/file/symlink.cjs +42 -20
  165. package/dist/file/symlink.d.ts +34 -5
  166. package/dist/file/symlink.mjs +33 -21
  167. package/dist/file/truncate.cjs +43 -21
  168. package/dist/file/truncate.d.ts +36 -4
  169. package/dist/file/truncate.mjs +34 -22
  170. package/dist/file/unknownEntryInterface.cjs +5 -1
  171. package/dist/file/unknownEntryInterface.d.ts +8 -6
  172. package/dist/file/unknownEntryInterface.mjs +4 -2
  173. package/dist/file/walkDirectory.cjs +38 -15
  174. package/dist/file/walkDirectory.d.ts +25 -4
  175. package/dist/file/walkDirectory.mjs +32 -15
  176. package/dist/file/writeFile.cjs +45 -21
  177. package/dist/file/writeFile.d.ts +37 -5
  178. package/dist/file/writeFile.mjs +35 -22
  179. package/dist/file/writeJsonFile.cjs +48 -27
  180. package/dist/file/writeJsonFile.d.ts +37 -6
  181. package/dist/file/writeJsonFile.mjs +39 -28
  182. package/dist/file/writeTextFile.cjs +45 -21
  183. package/dist/file/writeTextFile.d.ts +37 -5
  184. package/dist/file/writeTextFile.mjs +35 -22
  185. package/dist/implementor.cjs +8 -5
  186. package/dist/implementor.d.ts +4 -4
  187. package/dist/implementor.mjs +8 -5
  188. package/dist/index.cjs +2 -0
  189. package/dist/index.mjs +2 -1
  190. package/dist/override.d.ts +8 -0
  191. package/package.json +4 -4
  192. package/dist/dataStructure/constraint/exist.d.ts +0 -10
  193. package/dist/dataStructure/helper/exist.cjs +0 -7
  194. package/dist/dataStructure/helper/exist.d.ts +0 -2
  195. package/dist/dataStructure/helper/exist.mjs +0 -7
  196. package/dist/file/types/fileSystemEither.d.ts +0 -2
  197. package/dist/file/types/index.d.ts +0 -1
  198. /package/{README → README.md} +0 -0
@@ -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
- if (typeof error === "object" && error !== null && "code" in error) {
10
- if (error.code === "ENOENT") return _duplojs_lang_either.left("file-system-set-mode-not-found", error);
11
- else if (error.code === "EACCES" || error.code === "EPERM") return _duplojs_lang_either.left("file-system-set-mode-permission-denied", error);
12
- else if (error.code === "ENOTDIR") return _duplojs_lang_either.left("file-system-set-mode-not-directory", error);
13
- else if (error.code === "EROFS") return _duplojs_lang_either.left("file-system-set-mode-read-only", error);
14
- else if (error.code === "EINVAL") return _duplojs_lang_either.left("file-system-set-mode-invalid-argument", error);
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
- return _duplojs_lang_either.left("file-system-set-mode-error", error);
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
- if (error instanceof Deno.errors.NotFound) return _duplojs_lang_either.left("file-system-set-mode-not-found", error);
20
- if (error instanceof Deno.errors.PermissionDenied || error instanceof Deno.errors.NotCapable) return _duplojs_lang_either.left("file-system-set-mode-permission-denied", error);
21
- if (error instanceof Deno.errors.NotADirectory) return _duplojs_lang_either.left("file-system-set-mode-not-directory", error);
22
- if (error instanceof Deno.errors.InvalidData) return _duplojs_lang_either.left("file-system-set-mode-invalid-argument", error);
23
- return _duplojs_lang_either.left("file-system-set-mode-error", error);
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;
@@ -1,4 +1,4 @@
1
- import { FileSystemEither } from './types';
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
- export type SetModeResult = FileSystemEither<DEither.Right<"set-mode", void> | DEither.Left<"set-mode-not-found", unknown> | DEither.Left<"set-mode-permission-denied", unknown> | DEither.Left<"set-mode-not-directory", unknown> | DEither.Left<"set-mode-read-only", unknown> | DEither.Left<"set-mode-invalid-argument", unknown> | DEither.Left<"set-mode-error", unknown>>;
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: string & DPath.Path, mode: SetMode): Promise<SetModeResult>;
40
+ setMode(path: DPath.AnyPath, mode: SetMode): Promise<SetModeResult>;
22
41
  }
23
42
  }
24
- export declare function setMode(mode: SetMode): (path: string & DPath.Path) => Promise<SetModeResult>;
25
- export declare function setMode(path: string & DPath.Path, mode: SetMode): Promise<SetModeResult>;
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 {};
@@ -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
- if (typeof error === "object" && error !== null && "code" in error) {
7
- if (error.code === "ENOENT") return DEither.left("file-system-set-mode-not-found", error);
8
- else if (error.code === "EACCES" || error.code === "EPERM") return DEither.left("file-system-set-mode-permission-denied", error);
9
- else if (error.code === "ENOTDIR") return DEither.left("file-system-set-mode-not-directory", error);
10
- else if (error.code === "EROFS") return DEither.left("file-system-set-mode-read-only", error);
11
- else if (error.code === "EINVAL") return DEither.left("file-system-set-mode-invalid-argument", error);
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
- return DEither.left("file-system-set-mode-error", error);
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
- if (error instanceof Deno.errors.NotFound) return DEither.left("file-system-set-mode-not-found", error);
17
- if (error instanceof Deno.errors.PermissionDenied || error instanceof Deno.errors.NotCapable) return DEither.left("file-system-set-mode-permission-denied", error);
18
- if (error instanceof Deno.errors.NotADirectory) return DEither.left("file-system-set-mode-not-directory", error);
19
- if (error instanceof Deno.errors.InvalidData) return DEither.left("file-system-set-mode-invalid-argument", error);
20
- return DEither.left("file-system-set-mode-error", error);
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 };
@@ -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
- if (typeof error === "object" && error !== null && "code" in error) {
8
- if (error.code === "ENOENT") return _duplojs_lang_either.left("file-system-set-owner-not-found", error);
9
- else if (error.code === "EACCES" || error.code === "EPERM") return _duplojs_lang_either.left("file-system-set-owner-permission-denied", error);
10
- else if (error.code === "ENOTDIR") return _duplojs_lang_either.left("file-system-set-owner-not-directory", error);
11
- else if (error.code === "EROFS") return _duplojs_lang_either.left("file-system-set-owner-read-only", error);
12
- else if (error.code === "EINVAL") return _duplojs_lang_either.left("file-system-set-owner-invalid-argument", error);
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
- return _duplojs_lang_either.left("file-system-set-owner-error", error);
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
- if (error instanceof Deno.errors.NotFound) return _duplojs_lang_either.left("file-system-set-owner-not-found", error);
18
- if (error instanceof Deno.errors.PermissionDenied || error instanceof Deno.errors.NotCapable) return _duplojs_lang_either.left("file-system-set-owner-permission-denied", error);
19
- if (error instanceof Deno.errors.NotADirectory) return _duplojs_lang_either.left("file-system-set-owner-not-directory", error);
20
- if (error instanceof Deno.errors.InvalidData) return _duplojs_lang_either.left("file-system-set-owner-invalid-argument", error);
21
- return _duplojs_lang_either.left("file-system-set-owner-error", error);
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;
@@ -1,15 +1,35 @@
1
- import { FileSystemEither } from './types';
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
- export type SetOwnerResult = FileSystemEither<DEither.Right<"set-owner", void> | DEither.Left<"set-owner-not-found", unknown> | DEither.Left<"set-owner-permission-denied", unknown> | DEither.Left<"set-owner-not-directory", unknown> | DEither.Left<"set-owner-read-only", unknown> | DEither.Left<"set-owner-invalid-argument", unknown> | DEither.Left<"set-owner-error", unknown>>;
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: string & DPath.Path, params: SetOwnerParams): Promise<SetOwnerResult>;
30
+ setOwner(path: DPath.AnyPath, params: SetOwnerParams): Promise<SetOwnerResult>;
12
31
  }
13
32
  }
14
- export declare function setOwner(params: SetOwnerParams): (path: string & DPath.Path) => Promise<SetOwnerResult>;
15
- export declare function setOwner(path: string & DPath.Path, params: SetOwnerParams): Promise<SetOwnerResult>;
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 {};
@@ -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
- if (typeof error === "object" && error !== null && "code" in error) {
6
- if (error.code === "ENOENT") return DEither.left("file-system-set-owner-not-found", error);
7
- else if (error.code === "EACCES" || error.code === "EPERM") return DEither.left("file-system-set-owner-permission-denied", error);
8
- else if (error.code === "ENOTDIR") return DEither.left("file-system-set-owner-not-directory", error);
9
- else if (error.code === "EROFS") return DEither.left("file-system-set-owner-read-only", error);
10
- else if (error.code === "EINVAL") return DEither.left("file-system-set-owner-invalid-argument", error);
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
- return DEither.left("file-system-set-owner-error", error);
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
- if (error instanceof Deno.errors.NotFound) return DEither.left("file-system-set-owner-not-found", error);
16
- if (error instanceof Deno.errors.PermissionDenied || error instanceof Deno.errors.NotCapable) return DEither.left("file-system-set-owner-permission-denied", error);
17
- if (error instanceof Deno.errors.NotADirectory) return DEither.left("file-system-set-owner-not-directory", error);
18
- if (error instanceof Deno.errors.InvalidData) return DEither.left("file-system-set-owner-invalid-argument", error);
19
- return DEither.left("file-system-set-owner-error", error);
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 };
@@ -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
- if (typeof error === "object" && error !== null && "code" in error) {
10
- if (error.code === "ENOENT") return _duplojs_lang_either.left("file-system-set-time-not-found", error);
11
- else if (error.code === "EACCES" || error.code === "EPERM") return _duplojs_lang_either.left("file-system-set-time-permission-denied", error);
12
- else if (error.code === "ENOTDIR") return _duplojs_lang_either.left("file-system-set-time-not-directory", error);
13
- else if (error.code === "EROFS") return _duplojs_lang_either.left("file-system-set-time-read-only", error);
14
- else if (error.code === "EINVAL") return _duplojs_lang_either.left("file-system-set-time-invalid-argument", error);
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
- return _duplojs_lang_either.left("file-system-set-time-error", error);
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
- if (error instanceof Deno.errors.NotFound) return _duplojs_lang_either.left("file-system-set-time-not-found", error);
20
- if (error instanceof Deno.errors.PermissionDenied || error instanceof Deno.errors.NotCapable) return _duplojs_lang_either.left("file-system-set-time-permission-denied", error);
21
- if (error instanceof Deno.errors.NotADirectory) return _duplojs_lang_either.left("file-system-set-time-not-directory", error);
22
- if (error instanceof Deno.errors.InvalidData) return _duplojs_lang_either.left("file-system-set-time-invalid-argument", error);
23
- return _duplojs_lang_either.left("file-system-set-time-error", error);
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;
@@ -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
- export type SetTimeResult = FileSystemEither<DEither.Right<"set-time", void> | DEither.Left<"set-time-not-found", unknown> | DEither.Left<"set-time-permission-denied", unknown> | DEither.Left<"set-time-not-directory", unknown> | DEither.Left<"set-time-read-only", unknown> | DEither.Left<"set-time-invalid-argument", unknown> | DEither.Left<"set-time-error", unknown>>;
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: string & DPath.Path, params: SetTimeParams): Promise<SetTimeResult>;
31
+ setTime(path: DPath.AnyPath, params: SetTimeParams): Promise<SetTimeResult>;
13
32
  }
14
33
  }
15
- export declare function setTime(params: SetTimeParams): (path: string & DPath.Path) => Promise<SetTimeResult>;
16
- export declare function setTime(path: string & DPath.Path, params: SetTimeParams): Promise<SetTimeResult>;
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 {};
@@ -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
- if (typeof error === "object" && error !== null && "code" in error) {
7
- if (error.code === "ENOENT") return DEither.left("file-system-set-time-not-found", error);
8
- else if (error.code === "EACCES" || error.code === "EPERM") return DEither.left("file-system-set-time-permission-denied", error);
9
- else if (error.code === "ENOTDIR") return DEither.left("file-system-set-time-not-directory", error);
10
- else if (error.code === "EROFS") return DEither.left("file-system-set-time-read-only", error);
11
- else if (error.code === "EINVAL") return DEither.left("file-system-set-time-invalid-argument", error);
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
- return DEither.left("file-system-set-time-error", error);
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
- if (error instanceof Deno.errors.NotFound) return DEither.left("file-system-set-time-not-found", error);
17
- if (error instanceof Deno.errors.PermissionDenied || error instanceof Deno.errors.NotCapable) return DEither.left("file-system-set-time-permission-denied", error);
18
- if (error instanceof Deno.errors.NotADirectory) return DEither.left("file-system-set-time-not-directory", error);
19
- if (error instanceof Deno.errors.InvalidData) return DEither.left("file-system-set-time-invalid-argument", error);
20
- return DEither.left("file-system-set-time-error", error);
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 };