@duplojs/server 0.1.0-beta.1 → 0.1.0-beta.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (178) hide show
  1. package/dist/_virtual/_rolldown/runtime.mjs +5 -1
  2. package/dist/command/create.cjs +11 -9
  3. package/dist/command/create.mjs +11 -9
  4. package/dist/command/error.cjs +2 -2
  5. package/dist/command/error.mjs +1 -1
  6. package/dist/command/help.cjs +11 -9
  7. package/dist/command/help.mjs +10 -8
  8. package/dist/common/environmentVariable/parseEnvironmentFiles.d.ts +2 -1
  9. package/dist/common/index.cjs +3 -0
  10. package/dist/common/index.d.ts +1 -0
  11. package/dist/common/index.mjs +3 -1
  12. package/dist/common/meta/getCurrentDirectoryName.cjs +10 -0
  13. package/dist/common/meta/getCurrentDirectoryName.d.ts +7 -0
  14. package/dist/common/meta/getCurrentDirectoryName.mjs +7 -0
  15. package/dist/common/meta/index.d.ts +7 -0
  16. package/dist/dataStructure/common/codec/defaults/json.cjs +12 -1
  17. package/dist/dataStructure/common/codec/defaults/json.d.ts +2 -2
  18. package/dist/dataStructure/common/codec/defaults/json.mjs +12 -1
  19. package/dist/dataStructure/common/codec/defaults/string.cjs +12 -1
  20. package/dist/dataStructure/common/codec/defaults/string.d.ts +2 -2
  21. package/dist/dataStructure/common/codec/defaults/string.mjs +12 -1
  22. package/dist/dataStructure/common/error/defaultInterpreter.cjs +3 -1
  23. package/dist/dataStructure/common/error/defaultInterpreter.d.ts +7 -2
  24. package/dist/dataStructure/common/error/defaultInterpreter.mjs +3 -1
  25. package/dist/dataStructure/constraint/{exist.cjs → fileExist.cjs} +5 -5
  26. package/dist/dataStructure/constraint/fileExist.d.ts +10 -0
  27. package/dist/dataStructure/constraint/{exist.mjs → fileExist.mjs} +4 -4
  28. package/dist/dataStructure/constraint/folderExist.cjs +19 -0
  29. package/dist/dataStructure/constraint/folderExist.d.ts +10 -0
  30. package/dist/dataStructure/constraint/folderExist.mjs +15 -0
  31. package/dist/dataStructure/constraint/index.d.ts +2 -1
  32. package/dist/dataStructure/constraint/mimeType.cjs +1 -1
  33. package/dist/dataStructure/constraint/mimeType.mjs +1 -1
  34. package/dist/dataStructure/constraint/types/constraints.d.ts +4 -2
  35. package/dist/dataStructure/fundamentalType/folder.cjs +11 -0
  36. package/dist/dataStructure/fundamentalType/folder.d.ts +8 -0
  37. package/dist/dataStructure/fundamentalType/folder.mjs +8 -0
  38. package/dist/dataStructure/fundamentalType/index.d.ts +1 -0
  39. package/dist/dataStructure/fundamentalType/types/fundamentalTypes.d.ts +2 -0
  40. package/dist/dataStructure/helper/file.d.ts +1 -1
  41. package/dist/dataStructure/helper/fileExist.cjs +7 -0
  42. package/dist/dataStructure/helper/fileExist.d.ts +2 -0
  43. package/dist/dataStructure/helper/fileExist.mjs +7 -0
  44. package/dist/dataStructure/helper/folder.cjs +10 -0
  45. package/dist/dataStructure/helper/folder.d.ts +3 -0
  46. package/dist/dataStructure/helper/folder.mjs +8 -0
  47. package/dist/dataStructure/helper/folderExist.cjs +7 -0
  48. package/dist/dataStructure/helper/folderExist.d.ts +2 -0
  49. package/dist/dataStructure/helper/folderExist.mjs +7 -0
  50. package/dist/dataStructure/helper/index.d.ts +3 -1
  51. package/dist/dataStructure/index.cjs +29 -8
  52. package/dist/dataStructure/index.mjs +19 -6
  53. package/dist/dataStructure/type/folder.cjs +14 -0
  54. package/dist/dataStructure/type/folder.d.ts +11 -0
  55. package/dist/dataStructure/type/folder.mjs +11 -0
  56. package/dist/dataStructure/type/index.d.ts +1 -0
  57. package/dist/dataStructure/type/types/types.d.ts +2 -0
  58. package/dist/file/appendFile.cjs +36 -22
  59. package/dist/file/appendFile.d.ts +34 -2
  60. package/dist/file/appendFile.mjs +35 -22
  61. package/dist/file/appendTextFile.cjs +34 -20
  62. package/dist/file/appendTextFile.d.ts +34 -2
  63. package/dist/file/appendTextFile.mjs +33 -20
  64. package/dist/file/copy.cjs +26 -14
  65. package/dist/file/copy.d.ts +34 -2
  66. package/dist/file/copy.mjs +25 -14
  67. package/dist/file/createEntryInterface.cjs +2 -2
  68. package/dist/file/createEntryInterface.d.ts +1 -1
  69. package/dist/file/createEntryInterface.mjs +1 -1
  70. package/dist/file/ensureDirectory.cjs +29 -17
  71. package/dist/file/ensureDirectory.d.ts +28 -2
  72. package/dist/file/ensureDirectory.mjs +28 -17
  73. package/dist/file/ensureFile.cjs +32 -19
  74. package/dist/file/ensureFile.d.ts +31 -2
  75. package/dist/file/ensureFile.mjs +31 -19
  76. package/dist/file/exists.cjs +23 -14
  77. package/dist/file/exists.d.ts +19 -2
  78. package/dist/file/exists.mjs +22 -14
  79. package/dist/file/fileInterface.cjs +2 -0
  80. package/dist/file/fileInterface.d.ts +8 -6
  81. package/dist/file/fileInterface.mjs +2 -1
  82. package/dist/file/folderInterface.cjs +2 -0
  83. package/dist/file/folderInterface.d.ts +7 -5
  84. package/dist/file/folderInterface.mjs +2 -1
  85. package/dist/file/index.cjs +6 -0
  86. package/dist/file/index.d.ts +0 -1
  87. package/dist/file/index.mjs +7 -4
  88. package/dist/file/link.cjs +37 -22
  89. package/dist/file/link.d.ts +37 -2
  90. package/dist/file/link.mjs +36 -22
  91. package/dist/file/linkStat.cjs +23 -15
  92. package/dist/file/linkStat.d.ts +22 -2
  93. package/dist/file/linkStat.mjs +23 -15
  94. package/dist/file/makeDirectory.cjs +35 -21
  95. package/dist/file/makeDirectory.d.ts +33 -2
  96. package/dist/file/makeDirectory.mjs +34 -21
  97. package/dist/file/makeTemporaryDirectory.cjs +26 -15
  98. package/dist/file/makeTemporaryDirectory.d.ts +25 -2
  99. package/dist/file/makeTemporaryDirectory.mjs +25 -15
  100. package/dist/file/makeTemporaryFile.cjs +29 -20
  101. package/dist/file/makeTemporaryFile.d.ts +28 -2
  102. package/dist/file/makeTemporaryFile.mjs +29 -20
  103. package/dist/file/move.cjs +38 -23
  104. package/dist/file/move.d.ts +37 -2
  105. package/dist/file/move.mjs +37 -23
  106. package/dist/file/readDirectory.cjs +27 -9
  107. package/dist/file/readDirectory.d.ts +26 -5
  108. package/dist/file/readDirectory.mjs +24 -9
  109. package/dist/file/readFile.cjs +28 -17
  110. package/dist/file/readFile.d.ts +25 -2
  111. package/dist/file/readFile.mjs +27 -17
  112. package/dist/file/readJsonFile.cjs +28 -17
  113. package/dist/file/readJsonFile.d.ts +25 -3
  114. package/dist/file/readJsonFile.mjs +27 -17
  115. package/dist/file/readLink.cjs +25 -15
  116. package/dist/file/readLink.d.ts +22 -2
  117. package/dist/file/readLink.mjs +24 -15
  118. package/dist/file/readTextFile.cjs +28 -17
  119. package/dist/file/readTextFile.d.ts +25 -2
  120. package/dist/file/readTextFile.mjs +27 -17
  121. package/dist/file/realPath.cjs +22 -13
  122. package/dist/file/realPath.d.ts +19 -2
  123. package/dist/file/realPath.mjs +21 -13
  124. package/dist/file/relocate.cjs +41 -25
  125. package/dist/file/relocate.d.ts +37 -2
  126. package/dist/file/relocate.mjs +40 -25
  127. package/dist/file/remove.cjs +36 -23
  128. package/dist/file/remove.d.ts +30 -2
  129. package/dist/file/remove.mjs +35 -23
  130. package/dist/file/rename.cjs +41 -25
  131. package/dist/file/rename.d.ts +37 -2
  132. package/dist/file/rename.mjs +40 -25
  133. package/dist/file/setMode.cjs +23 -15
  134. package/dist/file/setMode.d.ts +21 -2
  135. package/dist/file/setMode.mjs +23 -15
  136. package/dist/file/setOwner.cjs +25 -15
  137. package/dist/file/setOwner.d.ts +22 -2
  138. package/dist/file/setOwner.mjs +24 -15
  139. package/dist/file/setTime.cjs +25 -15
  140. package/dist/file/setTime.d.ts +21 -2
  141. package/dist/file/setTime.mjs +24 -15
  142. package/dist/file/stat.cjs +23 -15
  143. package/dist/file/stat.d.ts +22 -2
  144. package/dist/file/stat.mjs +23 -15
  145. package/dist/file/symlink.cjs +33 -20
  146. package/dist/file/symlink.d.ts +31 -2
  147. package/dist/file/symlink.mjs +32 -20
  148. package/dist/file/truncate.cjs +33 -21
  149. package/dist/file/truncate.d.ts +34 -2
  150. package/dist/file/truncate.mjs +33 -21
  151. package/dist/file/unknownEntryInterface.cjs +2 -0
  152. package/dist/file/unknownEntryInterface.d.ts +7 -5
  153. package/dist/file/unknownEntryInterface.mjs +2 -1
  154. package/dist/file/walkDirectory.cjs +28 -15
  155. package/dist/file/walkDirectory.d.ts +23 -2
  156. package/dist/file/walkDirectory.mjs +27 -14
  157. package/dist/file/writeFile.cjs +35 -21
  158. package/dist/file/writeFile.d.ts +34 -2
  159. package/dist/file/writeFile.mjs +34 -21
  160. package/dist/file/writeJsonFile.cjs +38 -27
  161. package/dist/file/writeJsonFile.d.ts +36 -5
  162. package/dist/file/writeJsonFile.mjs +38 -27
  163. package/dist/file/writeTextFile.cjs +35 -21
  164. package/dist/file/writeTextFile.d.ts +34 -2
  165. package/dist/file/writeTextFile.mjs +34 -21
  166. package/dist/implementor.cjs +8 -5
  167. package/dist/implementor.d.ts +4 -4
  168. package/dist/implementor.mjs +8 -5
  169. package/dist/index.cjs +2 -0
  170. package/dist/index.mjs +2 -1
  171. package/package.json +4 -4
  172. package/dist/dataStructure/constraint/exist.d.ts +0 -10
  173. package/dist/dataStructure/helper/exist.cjs +0 -7
  174. package/dist/dataStructure/helper/exist.d.ts +0 -2
  175. package/dist/dataStructure/helper/exist.mjs +0 -7
  176. package/dist/file/types/fileSystemEither.d.ts +0 -2
  177. package/dist/file/types/index.d.ts +0 -1
  178. /package/{README → README.md} +0 -0
@@ -1,33 +1,46 @@
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/makeDirectory.ts
5
+ var MakeDirectoryErrorNotFound = class extends DCommon.DuploJSError.parentClass("file-system-make-directory-not-found", Error) {};
6
+ var MakeDirectoryErrorPermissionDenied = class extends DCommon.DuploJSError.parentClass("file-system-make-directory-permission-denied", Error) {};
7
+ var MakeDirectoryErrorAlreadyExists = class extends DCommon.DuploJSError.parentClass("file-system-make-directory-already-exists", Error) {};
8
+ var MakeDirectoryErrorNotDirectory = class extends DCommon.DuploJSError.parentClass("file-system-make-directory-not-directory", Error) {};
9
+ var MakeDirectoryErrorNoSpace = class extends DCommon.DuploJSError.parentClass("file-system-make-directory-no-space", Error) {};
10
+ var MakeDirectoryErrorReadOnly = class extends DCommon.DuploJSError.parentClass("file-system-make-directory-read-only", Error) {};
11
+ var MakeDirectoryErrorInvalidArgument = class extends DCommon.DuploJSError.parentClass("file-system-make-directory-invalid-argument", Error) {};
12
+ var MakeDirectoryErrorTooManyOpenFiles = class extends DCommon.DuploJSError.parentClass("file-system-make-directory-too-many-open-files", Error) {};
13
+ var MakeDirectoryErrorBusy = class extends DCommon.DuploJSError.parentClass("file-system-make-directory-busy", Error) {};
14
+ var MakeDirectoryError = class extends DCommon.DuploJSError.parentClass("file-system-make-directory-error", Error) {};
4
15
  function handleNodeMakeDirectoryError(error) {
5
- if (typeof error === "object" && error !== null && "code" in error) {
6
- if (error.code === "ENOENT") return DEither.left("file-system-make-directory-not-found", error);
7
- else if (error.code === "EACCES" || error.code === "EPERM") return DEither.left("file-system-make-directory-permission-denied", error);
8
- else if (error.code === "EEXIST") return DEither.left("file-system-make-directory-already-exists", error);
9
- else if (error.code === "ENOTDIR") return DEither.left("file-system-make-directory-not-directory", error);
10
- else if (error.code === "ENOSPC") return DEither.left("file-system-make-directory-no-space", error);
11
- else if (error.code === "EROFS") return DEither.left("file-system-make-directory-read-only", error);
12
- else if (error.code === "EINVAL") return DEither.left("file-system-make-directory-invalid-argument", error);
13
- else if (error.code === "EMFILE" || error.code === "ENFILE") return DEither.left("file-system-make-directory-too-many-open-files", error);
14
- else if (error.code === "EBUSY") return DEither.left("file-system-make-directory-busy", error);
16
+ let makeDirectoryError = void 0;
17
+ if ("code" in error) {
18
+ if (error.code === "ENOENT") makeDirectoryError = new MakeDirectoryErrorNotFound(error);
19
+ else if (error.code === "EACCES" || error.code === "EPERM") makeDirectoryError = new MakeDirectoryErrorPermissionDenied(error);
20
+ else if (error.code === "EEXIST") makeDirectoryError = new MakeDirectoryErrorAlreadyExists(error);
21
+ else if (error.code === "ENOTDIR") makeDirectoryError = new MakeDirectoryErrorNotDirectory(error);
22
+ else if (error.code === "ENOSPC") makeDirectoryError = new MakeDirectoryErrorNoSpace(error);
23
+ else if (error.code === "EROFS") makeDirectoryError = new MakeDirectoryErrorReadOnly(error);
24
+ else if (error.code === "EINVAL") makeDirectoryError = new MakeDirectoryErrorInvalidArgument(error);
25
+ else if (error.code === "EMFILE" || error.code === "ENFILE") makeDirectoryError = new MakeDirectoryErrorTooManyOpenFiles(error);
26
+ else if (error.code === "EBUSY") makeDirectoryError = new MakeDirectoryErrorBusy(error);
15
27
  }
16
- return DEither.left("file-system-make-directory-error", error);
28
+ if (makeDirectoryError === void 0) makeDirectoryError = new MakeDirectoryError(error);
29
+ return DEither.left("file-system-make-directory-error", makeDirectoryError);
17
30
  }
18
31
  function handleDenoMakeDirectoryError(error) {
19
- if (error instanceof Deno.errors.NotFound) return DEither.left("file-system-make-directory-not-found", error);
20
- if (error instanceof Deno.errors.PermissionDenied || error instanceof Deno.errors.NotCapable) return DEither.left("file-system-make-directory-permission-denied", error);
21
- if (error instanceof Deno.errors.AlreadyExists) return DEither.left("file-system-make-directory-already-exists", error);
22
- if (error instanceof Deno.errors.NotADirectory) return DEither.left("file-system-make-directory-not-directory", error);
23
- if (error instanceof Deno.errors.InvalidData) return DEither.left("file-system-make-directory-invalid-argument", error);
24
- if (error instanceof Deno.errors.Busy) return DEither.left("file-system-make-directory-busy", error);
25
- return DEither.left("file-system-make-directory-error", error);
32
+ let makeDirectoryError = void 0;
33
+ if (error instanceof Deno.errors.NotFound) makeDirectoryError = new MakeDirectoryErrorNotFound(error);
34
+ else if (error instanceof Deno.errors.PermissionDenied || error instanceof Deno.errors.NotCapable) makeDirectoryError = new MakeDirectoryErrorPermissionDenied(error);
35
+ else if (error instanceof Deno.errors.AlreadyExists) makeDirectoryError = new MakeDirectoryErrorAlreadyExists(error);
36
+ else if (error instanceof Deno.errors.NotADirectory) makeDirectoryError = new MakeDirectoryErrorNotDirectory(error);
37
+ else if (error instanceof Deno.errors.InvalidData) makeDirectoryError = new MakeDirectoryErrorInvalidArgument(error);
38
+ else if (error instanceof Deno.errors.Busy) makeDirectoryError = new MakeDirectoryErrorBusy(error);
39
+ if (makeDirectoryError === void 0) makeDirectoryError = new MakeDirectoryError(error);
40
+ return DEither.left("file-system-make-directory-error", makeDirectoryError);
26
41
  }
27
42
  const makeDirectory = implementFunction("makeDirectory", {
28
- NODE: async (path, params) => {
29
- return (await nodeFileSystem.value).mkdir(path, { recursive: params?.recursive }).then(() => DEither.right("file-system-make-directory")).catch(handleNodeMakeDirectoryError);
30
- },
43
+ NODE: async (path, params) => nodeFileSystem.value.mkdir(path, { recursive: params?.recursive }).then(() => DEither.right("file-system-make-directory")).catch(handleNodeMakeDirectoryError),
31
44
  DENO: (path, params) => Deno.mkdir(path, { recursive: params?.recursive }).then(() => DEither.right("file-system-make-directory")).catch(handleDenoMakeDirectoryError)
32
45
  });
33
46
  //#endregion
@@ -1,29 +1,40 @@
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/makeTemporaryDirectory.ts
8
+ var MakeTemporaryDirectoryErrorPermissionDenied = class extends _duplojs_lang_common.DuploJSError.parentClass("file-system-make-temporary-directory-permission-denied", Error) {};
9
+ var MakeTemporaryDirectoryErrorNotDirectory = class extends _duplojs_lang_common.DuploJSError.parentClass("file-system-make-temporary-directory-not-directory", Error) {};
10
+ var MakeTemporaryDirectoryErrorNoSpace = class extends _duplojs_lang_common.DuploJSError.parentClass("file-system-make-temporary-directory-no-space", Error) {};
11
+ var MakeTemporaryDirectoryErrorReadOnly = class extends _duplojs_lang_common.DuploJSError.parentClass("file-system-make-temporary-directory-read-only", Error) {};
12
+ var MakeTemporaryDirectoryErrorInvalidArgument = class extends _duplojs_lang_common.DuploJSError.parentClass("file-system-make-temporary-directory-invalid-argument", Error) {};
13
+ var MakeTemporaryDirectoryErrorTooManyOpenFiles = class extends _duplojs_lang_common.DuploJSError.parentClass("file-system-make-temporary-directory-too-many-open-files", Error) {};
14
+ var MakeTemporaryDirectoryError = class extends _duplojs_lang_common.DuploJSError.parentClass("file-system-make-temporary-directory-error", Error) {};
6
15
  function handleNodeMakeTemporaryDirectoryError(error) {
7
- if (typeof error === "object" && error !== null && "code" in error) {
8
- if (error.code === "EACCES" || error.code === "EPERM") return _duplojs_lang_either.left("file-system-make-temporary-directory-permission-denied", error);
9
- else if (error.code === "ENOTDIR") return _duplojs_lang_either.left("file-system-make-temporary-directory-not-directory", error);
10
- else if (error.code === "ENOSPC") return _duplojs_lang_either.left("file-system-make-temporary-directory-no-space", error);
11
- else if (error.code === "EROFS") return _duplojs_lang_either.left("file-system-make-temporary-directory-read-only", error);
12
- else if (error.code === "EINVAL") return _duplojs_lang_either.left("file-system-make-temporary-directory-invalid-argument", error);
13
- else if (error.code === "EMFILE" || error.code === "ENFILE") return _duplojs_lang_either.left("file-system-make-temporary-directory-too-many-open-files", error);
16
+ let makeTemporaryDirectoryError = void 0;
17
+ if ("code" in error) {
18
+ if (error.code === "EACCES" || error.code === "EPERM") makeTemporaryDirectoryError = new MakeTemporaryDirectoryErrorPermissionDenied(error);
19
+ else if (error.code === "ENOTDIR") makeTemporaryDirectoryError = new MakeTemporaryDirectoryErrorNotDirectory(error);
20
+ else if (error.code === "ENOSPC") makeTemporaryDirectoryError = new MakeTemporaryDirectoryErrorNoSpace(error);
21
+ else if (error.code === "EROFS") makeTemporaryDirectoryError = new MakeTemporaryDirectoryErrorReadOnly(error);
22
+ else if (error.code === "EINVAL") makeTemporaryDirectoryError = new MakeTemporaryDirectoryErrorInvalidArgument(error);
23
+ else if (error.code === "EMFILE" || error.code === "ENFILE") makeTemporaryDirectoryError = new MakeTemporaryDirectoryErrorTooManyOpenFiles(error);
14
24
  }
15
- return _duplojs_lang_either.left("file-system-make-temporary-directory-error", error);
25
+ if (makeTemporaryDirectoryError === void 0) makeTemporaryDirectoryError = new MakeTemporaryDirectoryError(error);
26
+ return _duplojs_lang_either.left("file-system-make-temporary-directory-error", makeTemporaryDirectoryError);
16
27
  }
17
28
  function handleDenoMakeTemporaryDirectoryError(error) {
18
- if (error instanceof Deno.errors.PermissionDenied || error instanceof Deno.errors.NotCapable) return _duplojs_lang_either.left("file-system-make-temporary-directory-permission-denied", error);
19
- if (error instanceof Deno.errors.NotADirectory) return _duplojs_lang_either.left("file-system-make-temporary-directory-not-directory", error);
20
- if (error instanceof Deno.errors.InvalidData) return _duplojs_lang_either.left("file-system-make-temporary-directory-invalid-argument", error);
21
- return _duplojs_lang_either.left("file-system-make-temporary-directory-error", error);
29
+ let makeTemporaryDirectoryError = void 0;
30
+ if (error instanceof Deno.errors.PermissionDenied || error instanceof Deno.errors.NotCapable) makeTemporaryDirectoryError = new MakeTemporaryDirectoryErrorPermissionDenied(error);
31
+ else if (error instanceof Deno.errors.NotADirectory) makeTemporaryDirectoryError = new MakeTemporaryDirectoryErrorNotDirectory(error);
32
+ else if (error instanceof Deno.errors.InvalidData) makeTemporaryDirectoryError = new MakeTemporaryDirectoryErrorInvalidArgument(error);
33
+ if (makeTemporaryDirectoryError === void 0) makeTemporaryDirectoryError = new MakeTemporaryDirectoryError(error);
34
+ return _duplojs_lang_either.left("file-system-make-temporary-directory-error", makeTemporaryDirectoryError);
22
35
  }
23
36
  const makeTemporaryDirectory = require_implementor.implementFunction("makeTemporaryDirectory", {
24
- NODE: async (prefix) => {
25
- return (await require_implementor.nodeFileSystem.value).mkdtemp(prefix).then((value) => _duplojs_lang_either.right("file-system-make-temporary-directory", value)).catch(handleNodeMakeTemporaryDirectoryError);
26
- },
37
+ NODE: async (prefix) => require_implementor.nodeFileSystem.value.mkdtemp(prefix).then((value) => _duplojs_lang_either.right("file-system-make-temporary-directory", value)).catch(handleNodeMakeTemporaryDirectoryError),
27
38
  DENO: (prefix) => Deno.makeTempDir({ prefix }).then((value) => _duplojs_lang_either.right("file-system-make-temporary-directory", value)).catch(handleDenoMakeTemporaryDirectoryError)
28
39
  });
29
40
  //#endregion
@@ -1,9 +1,32 @@
1
- import { FileSystemEither } from './types';
2
1
  import * as DEither from "@duplojs/lang/either";
3
- export type MakeTemporaryDirectoryResult = FileSystemEither<DEither.Right<"make-temporary-directory", string> | DEither.Left<"make-temporary-directory-permission-denied", unknown> | DEither.Left<"make-temporary-directory-not-directory", unknown> | DEither.Left<"make-temporary-directory-no-space", unknown> | DEither.Left<"make-temporary-directory-read-only", unknown> | DEither.Left<"make-temporary-directory-invalid-argument", unknown> | DEither.Left<"make-temporary-directory-too-many-open-files", unknown> | DEither.Left<"make-temporary-directory-error", unknown>>;
2
+ import * as DCommon from "@duplojs/lang/common";
3
+ declare const MakeTemporaryDirectoryErrorPermissionDenied_base: abstract new (error: Error) => DCommon.DuploJSError<"file-system-make-temporary-directory-permission-denied", Error> & import('@duplojs/lang/kind').Kind<import('@duplojs/lang/kind').Handler<import('@duplojs/lang/kind').Definition<"@DuplojsLangCommon/duplojs-error-file-system-make-temporary-directory-permission-denied", unknown>>, unknown>;
4
+ declare class MakeTemporaryDirectoryErrorPermissionDenied extends MakeTemporaryDirectoryErrorPermissionDenied_base {
5
+ }
6
+ declare const MakeTemporaryDirectoryErrorNotDirectory_base: abstract new (error: Error) => DCommon.DuploJSError<"file-system-make-temporary-directory-not-directory", Error> & import('@duplojs/lang/kind').Kind<import('@duplojs/lang/kind').Handler<import('@duplojs/lang/kind').Definition<"@DuplojsLangCommon/duplojs-error-file-system-make-temporary-directory-not-directory", unknown>>, unknown>;
7
+ declare class MakeTemporaryDirectoryErrorNotDirectory extends MakeTemporaryDirectoryErrorNotDirectory_base {
8
+ }
9
+ declare const MakeTemporaryDirectoryErrorNoSpace_base: abstract new (error: Error) => DCommon.DuploJSError<"file-system-make-temporary-directory-no-space", Error> & import('@duplojs/lang/kind').Kind<import('@duplojs/lang/kind').Handler<import('@duplojs/lang/kind').Definition<"@DuplojsLangCommon/duplojs-error-file-system-make-temporary-directory-no-space", unknown>>, unknown>;
10
+ declare class MakeTemporaryDirectoryErrorNoSpace extends MakeTemporaryDirectoryErrorNoSpace_base {
11
+ }
12
+ declare const MakeTemporaryDirectoryErrorReadOnly_base: abstract new (error: Error) => DCommon.DuploJSError<"file-system-make-temporary-directory-read-only", Error> & import('@duplojs/lang/kind').Kind<import('@duplojs/lang/kind').Handler<import('@duplojs/lang/kind').Definition<"@DuplojsLangCommon/duplojs-error-file-system-make-temporary-directory-read-only", unknown>>, unknown>;
13
+ declare class MakeTemporaryDirectoryErrorReadOnly extends MakeTemporaryDirectoryErrorReadOnly_base {
14
+ }
15
+ declare const MakeTemporaryDirectoryErrorInvalidArgument_base: abstract new (error: Error) => DCommon.DuploJSError<"file-system-make-temporary-directory-invalid-argument", Error> & import('@duplojs/lang/kind').Kind<import('@duplojs/lang/kind').Handler<import('@duplojs/lang/kind').Definition<"@DuplojsLangCommon/duplojs-error-file-system-make-temporary-directory-invalid-argument", unknown>>, unknown>;
16
+ declare class MakeTemporaryDirectoryErrorInvalidArgument extends MakeTemporaryDirectoryErrorInvalidArgument_base {
17
+ }
18
+ declare const MakeTemporaryDirectoryErrorTooManyOpenFiles_base: abstract new (error: Error) => DCommon.DuploJSError<"file-system-make-temporary-directory-too-many-open-files", Error> & import('@duplojs/lang/kind').Kind<import('@duplojs/lang/kind').Handler<import('@duplojs/lang/kind').Definition<"@DuplojsLangCommon/duplojs-error-file-system-make-temporary-directory-too-many-open-files", unknown>>, unknown>;
19
+ declare class MakeTemporaryDirectoryErrorTooManyOpenFiles extends MakeTemporaryDirectoryErrorTooManyOpenFiles_base {
20
+ }
21
+ declare const MakeTemporaryDirectoryError_base: abstract new (error: Error) => DCommon.DuploJSError<"file-system-make-temporary-directory-error", Error> & import('@duplojs/lang/kind').Kind<import('@duplojs/lang/kind').Handler<import('@duplojs/lang/kind').Definition<"@DuplojsLangCommon/duplojs-error-file-system-make-temporary-directory-error", unknown>>, unknown>;
22
+ declare class MakeTemporaryDirectoryError extends MakeTemporaryDirectoryError_base {
23
+ }
24
+ export type MakeTemporaryDirectoryErrors = (MakeTemporaryDirectoryErrorPermissionDenied | MakeTemporaryDirectoryErrorNotDirectory | MakeTemporaryDirectoryErrorNoSpace | MakeTemporaryDirectoryErrorReadOnly | MakeTemporaryDirectoryErrorInvalidArgument | MakeTemporaryDirectoryErrorTooManyOpenFiles | MakeTemporaryDirectoryError);
25
+ export type MakeTemporaryDirectoryResult = (DEither.Right<"file-system-make-temporary-directory", string> | DEither.Left<"file-system-make-temporary-directory-error", MakeTemporaryDirectoryErrors>);
4
26
  declare module '../implementor' {
5
27
  interface ServerFunction {
6
28
  makeTemporaryDirectory(prefix: string): Promise<MakeTemporaryDirectoryResult>;
7
29
  }
8
30
  }
9
31
  export declare const makeTemporaryDirectory: (prefix: string) => Promise<MakeTemporaryDirectoryResult>;
32
+ export {};
@@ -1,27 +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
  //#region scripts/file/makeTemporaryDirectory.ts
5
+ var MakeTemporaryDirectoryErrorPermissionDenied = class extends DCommon.DuploJSError.parentClass("file-system-make-temporary-directory-permission-denied", Error) {};
6
+ var MakeTemporaryDirectoryErrorNotDirectory = class extends DCommon.DuploJSError.parentClass("file-system-make-temporary-directory-not-directory", Error) {};
7
+ var MakeTemporaryDirectoryErrorNoSpace = class extends DCommon.DuploJSError.parentClass("file-system-make-temporary-directory-no-space", Error) {};
8
+ var MakeTemporaryDirectoryErrorReadOnly = class extends DCommon.DuploJSError.parentClass("file-system-make-temporary-directory-read-only", Error) {};
9
+ var MakeTemporaryDirectoryErrorInvalidArgument = class extends DCommon.DuploJSError.parentClass("file-system-make-temporary-directory-invalid-argument", Error) {};
10
+ var MakeTemporaryDirectoryErrorTooManyOpenFiles = class extends DCommon.DuploJSError.parentClass("file-system-make-temporary-directory-too-many-open-files", Error) {};
11
+ var MakeTemporaryDirectoryError = class extends DCommon.DuploJSError.parentClass("file-system-make-temporary-directory-error", Error) {};
4
12
  function handleNodeMakeTemporaryDirectoryError(error) {
5
- if (typeof error === "object" && error !== null && "code" in error) {
6
- if (error.code === "EACCES" || error.code === "EPERM") return DEither.left("file-system-make-temporary-directory-permission-denied", error);
7
- else if (error.code === "ENOTDIR") return DEither.left("file-system-make-temporary-directory-not-directory", error);
8
- else if (error.code === "ENOSPC") return DEither.left("file-system-make-temporary-directory-no-space", error);
9
- else if (error.code === "EROFS") return DEither.left("file-system-make-temporary-directory-read-only", error);
10
- else if (error.code === "EINVAL") return DEither.left("file-system-make-temporary-directory-invalid-argument", error);
11
- else if (error.code === "EMFILE" || error.code === "ENFILE") return DEither.left("file-system-make-temporary-directory-too-many-open-files", error);
13
+ let makeTemporaryDirectoryError = void 0;
14
+ if ("code" in error) {
15
+ if (error.code === "EACCES" || error.code === "EPERM") makeTemporaryDirectoryError = new MakeTemporaryDirectoryErrorPermissionDenied(error);
16
+ else if (error.code === "ENOTDIR") makeTemporaryDirectoryError = new MakeTemporaryDirectoryErrorNotDirectory(error);
17
+ else if (error.code === "ENOSPC") makeTemporaryDirectoryError = new MakeTemporaryDirectoryErrorNoSpace(error);
18
+ else if (error.code === "EROFS") makeTemporaryDirectoryError = new MakeTemporaryDirectoryErrorReadOnly(error);
19
+ else if (error.code === "EINVAL") makeTemporaryDirectoryError = new MakeTemporaryDirectoryErrorInvalidArgument(error);
20
+ else if (error.code === "EMFILE" || error.code === "ENFILE") makeTemporaryDirectoryError = new MakeTemporaryDirectoryErrorTooManyOpenFiles(error);
12
21
  }
13
- return DEither.left("file-system-make-temporary-directory-error", error);
22
+ if (makeTemporaryDirectoryError === void 0) makeTemporaryDirectoryError = new MakeTemporaryDirectoryError(error);
23
+ return DEither.left("file-system-make-temporary-directory-error", makeTemporaryDirectoryError);
14
24
  }
15
25
  function handleDenoMakeTemporaryDirectoryError(error) {
16
- if (error instanceof Deno.errors.PermissionDenied || error instanceof Deno.errors.NotCapable) return DEither.left("file-system-make-temporary-directory-permission-denied", error);
17
- if (error instanceof Deno.errors.NotADirectory) return DEither.left("file-system-make-temporary-directory-not-directory", error);
18
- if (error instanceof Deno.errors.InvalidData) return DEither.left("file-system-make-temporary-directory-invalid-argument", error);
19
- return DEither.left("file-system-make-temporary-directory-error", error);
26
+ let makeTemporaryDirectoryError = void 0;
27
+ if (error instanceof Deno.errors.PermissionDenied || error instanceof Deno.errors.NotCapable) makeTemporaryDirectoryError = new MakeTemporaryDirectoryErrorPermissionDenied(error);
28
+ else if (error instanceof Deno.errors.NotADirectory) makeTemporaryDirectoryError = new MakeTemporaryDirectoryErrorNotDirectory(error);
29
+ else if (error instanceof Deno.errors.InvalidData) makeTemporaryDirectoryError = new MakeTemporaryDirectoryErrorInvalidArgument(error);
30
+ if (makeTemporaryDirectoryError === void 0) makeTemporaryDirectoryError = new MakeTemporaryDirectoryError(error);
31
+ return DEither.left("file-system-make-temporary-directory-error", makeTemporaryDirectoryError);
20
32
  }
21
33
  const makeTemporaryDirectory = implementFunction("makeTemporaryDirectory", {
22
- NODE: async (prefix) => {
23
- return (await nodeFileSystem.value).mkdtemp(prefix).then((value) => DEither.right("file-system-make-temporary-directory", value)).catch(handleNodeMakeTemporaryDirectoryError);
24
- },
34
+ NODE: async (prefix) => nodeFileSystem.value.mkdtemp(prefix).then((value) => DEither.right("file-system-make-temporary-directory", value)).catch(handleNodeMakeTemporaryDirectoryError),
25
35
  DENO: (prefix) => Deno.makeTempDir({ prefix }).then((value) => DEither.right("file-system-make-temporary-directory", value)).catch(handleDenoMakeTemporaryDirectoryError)
26
36
  });
27
37
  //#endregion
@@ -7,34 +7,43 @@ _duplojs_lang_either = require_runtime.__toESM(_duplojs_lang_either, 1);
7
7
  let _duplojs_lang_path = require("@duplojs/lang/path");
8
8
  _duplojs_lang_path = require_runtime.__toESM(_duplojs_lang_path, 1);
9
9
  //#region scripts/file/makeTemporaryFile.ts
10
+ var MakeTemporaryFileErrorPermissionDenied = class extends _duplojs_lang_common.DuploJSError.parentClass("file-system-make-temporary-file-permission-denied", Error) {};
11
+ var MakeTemporaryFileErrorAlreadyExists = class extends _duplojs_lang_common.DuploJSError.parentClass("file-system-make-temporary-file-already-exists", Error) {};
12
+ var MakeTemporaryFileErrorNotDirectory = class extends _duplojs_lang_common.DuploJSError.parentClass("file-system-make-temporary-file-not-directory", Error) {};
13
+ var MakeTemporaryFileErrorNoSpace = class extends _duplojs_lang_common.DuploJSError.parentClass("file-system-make-temporary-file-no-space", Error) {};
14
+ var MakeTemporaryFileErrorReadOnly = class extends _duplojs_lang_common.DuploJSError.parentClass("file-system-make-temporary-file-read-only", Error) {};
15
+ var MakeTemporaryFileErrorInvalidArgument = class extends _duplojs_lang_common.DuploJSError.parentClass("file-system-make-temporary-file-invalid-argument", Error) {};
16
+ var MakeTemporaryFileErrorTooManyOpenFiles = class extends _duplojs_lang_common.DuploJSError.parentClass("file-system-make-temporary-file-too-many-open-files", Error) {};
17
+ var MakeTemporaryFileError = class extends _duplojs_lang_common.DuploJSError.parentClass("file-system-make-temporary-file-error", Error) {};
10
18
  function handleNodeMakeTemporaryFileError(error) {
11
- if (typeof error === "object" && error !== null && "code" in error) {
12
- if (error.code === "EACCES" || error.code === "EPERM") return _duplojs_lang_either.left("file-system-make-temporary-file-permission-denied", error);
13
- else if (error.code === "EEXIST") return _duplojs_lang_either.left("file-system-make-temporary-file-already-exists", error);
14
- else if (error.code === "ENOTDIR") return _duplojs_lang_either.left("file-system-make-temporary-file-not-directory", error);
15
- else if (error.code === "ENOSPC") return _duplojs_lang_either.left("file-system-make-temporary-file-no-space", error);
16
- else if (error.code === "EROFS") return _duplojs_lang_either.left("file-system-make-temporary-file-read-only", error);
17
- else if (error.code === "EINVAL") return _duplojs_lang_either.left("file-system-make-temporary-file-invalid-argument", error);
18
- else if (error.code === "EMFILE" || error.code === "ENFILE") return _duplojs_lang_either.left("file-system-make-temporary-file-too-many-open-files", error);
19
+ let makeTemporaryFileError = void 0;
20
+ if ("code" in error) {
21
+ if (error.code === "EACCES" || error.code === "EPERM") makeTemporaryFileError = new MakeTemporaryFileErrorPermissionDenied(error);
22
+ else if (error.code === "EEXIST") makeTemporaryFileError = new MakeTemporaryFileErrorAlreadyExists(error);
23
+ else if (error.code === "ENOTDIR") makeTemporaryFileError = new MakeTemporaryFileErrorNotDirectory(error);
24
+ else if (error.code === "ENOSPC") makeTemporaryFileError = new MakeTemporaryFileErrorNoSpace(error);
25
+ else if (error.code === "EROFS") makeTemporaryFileError = new MakeTemporaryFileErrorReadOnly(error);
26
+ else if (error.code === "EINVAL") makeTemporaryFileError = new MakeTemporaryFileErrorInvalidArgument(error);
27
+ else if (error.code === "EMFILE" || error.code === "ENFILE") makeTemporaryFileError = new MakeTemporaryFileErrorTooManyOpenFiles(error);
19
28
  }
20
- return _duplojs_lang_either.left("file-system-make-temporary-file-error", error);
29
+ if (makeTemporaryFileError === void 0) makeTemporaryFileError = new MakeTemporaryFileError(error);
30
+ return _duplojs_lang_either.left("file-system-make-temporary-file-error", makeTemporaryFileError);
21
31
  }
22
32
  function handleDenoMakeTemporaryFileError(error) {
23
- if (error instanceof Deno.errors.PermissionDenied || error instanceof Deno.errors.NotCapable) return _duplojs_lang_either.left("file-system-make-temporary-file-permission-denied", error);
24
- if (error instanceof Deno.errors.AlreadyExists) return _duplojs_lang_either.left("file-system-make-temporary-file-already-exists", error);
25
- if (error instanceof Deno.errors.NotADirectory) return _duplojs_lang_either.left("file-system-make-temporary-file-not-directory", error);
26
- if (error instanceof Deno.errors.InvalidData) return _duplojs_lang_either.left("file-system-make-temporary-file-invalid-argument", error);
27
- return _duplojs_lang_either.left("file-system-make-temporary-file-error", error);
33
+ let makeTemporaryFileError = void 0;
34
+ if (error instanceof Deno.errors.PermissionDenied || error instanceof Deno.errors.NotCapable) makeTemporaryFileError = new MakeTemporaryFileErrorPermissionDenied(error);
35
+ else if (error instanceof Deno.errors.AlreadyExists) makeTemporaryFileError = new MakeTemporaryFileErrorAlreadyExists(error);
36
+ else if (error instanceof Deno.errors.NotADirectory) makeTemporaryFileError = new MakeTemporaryFileErrorNotDirectory(error);
37
+ else if (error instanceof Deno.errors.InvalidData) makeTemporaryFileError = new MakeTemporaryFileErrorInvalidArgument(error);
38
+ if (makeTemporaryFileError === void 0) makeTemporaryFileError = new MakeTemporaryFileError(error);
39
+ return _duplojs_lang_either.left("file-system-make-temporary-file-error", makeTemporaryFileError);
28
40
  }
29
41
  const makeTemporaryFile = require_implementor.implementFunction("makeTemporaryFile", {
30
42
  NODE: async (prefix, suffix) => {
31
- const fs = await require_implementor.nodeFileSystem.value;
32
- const os = await require_implementor.nodeOs.value;
33
- const crypto = await require_implementor.nodeCrypto.value;
34
- const tempPath = _duplojs_lang_common.forwardAsserts(os.tmpdir(), _duplojs_lang_path.is);
35
- const fileName = _duplojs_lang_common.forwardAsserts(`${prefix}${crypto.randomUUID()}${suffix ?? ""}`, _duplojs_lang_path.isSegment);
43
+ const tempPath = _duplojs_lang_common.forwardAsserts(require_implementor.nodeOs.value.tmpdir(), _duplojs_lang_path.is);
44
+ const fileName = _duplojs_lang_common.forwardAsserts(`${prefix}${require_implementor.nodeCrypto.value.randomUUID()}${suffix ?? ""}`, _duplojs_lang_path.isSegment);
36
45
  const fileTemporaryPath = _duplojs_lang_path.resolveRelative([tempPath, fileName]);
37
- return fs.open(fileTemporaryPath, "wx").then((fh) => fh.close()).then(() => _duplojs_lang_either.right("file-system-make-temporary-file", fileTemporaryPath)).catch(handleNodeMakeTemporaryFileError);
46
+ return require_implementor.nodeFileSystem.value.open(fileTemporaryPath, "wx").then((fh) => fh.close()).then(() => _duplojs_lang_either.right("file-system-make-temporary-file", fileTemporaryPath)).catch(handleNodeMakeTemporaryFileError);
38
47
  },
39
48
  DENO: (prefix, suffix) => Deno.makeTempFile({
40
49
  prefix,
@@ -1,10 +1,36 @@
1
- import { FileSystemEither } from './types';
1
+ import * as DCommon from "@duplojs/lang/common";
2
2
  import * as DPath from "@duplojs/lang/path";
3
3
  import * as DEither from "@duplojs/lang/either";
4
- export type MakeTemporaryFileResult = FileSystemEither<DEither.Right<"make-temporary-file", string> | DEither.Left<"make-temporary-file-permission-denied", unknown> | DEither.Left<"make-temporary-file-already-exists", unknown> | DEither.Left<"make-temporary-file-not-directory", unknown> | DEither.Left<"make-temporary-file-no-space", unknown> | DEither.Left<"make-temporary-file-read-only", unknown> | DEither.Left<"make-temporary-file-invalid-argument", unknown> | DEither.Left<"make-temporary-file-too-many-open-files", unknown> | DEither.Left<"make-temporary-file-error", unknown>>;
4
+ declare const MakeTemporaryFileErrorPermissionDenied_base: abstract new (error: Error) => DCommon.DuploJSError<"file-system-make-temporary-file-permission-denied", Error> & import('@duplojs/lang/kind').Kind<import('@duplojs/lang/kind').Handler<import('@duplojs/lang/kind').Definition<"@DuplojsLangCommon/duplojs-error-file-system-make-temporary-file-permission-denied", unknown>>, unknown>;
5
+ declare class MakeTemporaryFileErrorPermissionDenied extends MakeTemporaryFileErrorPermissionDenied_base {
6
+ }
7
+ declare const MakeTemporaryFileErrorAlreadyExists_base: abstract new (error: Error) => DCommon.DuploJSError<"file-system-make-temporary-file-already-exists", Error> & import('@duplojs/lang/kind').Kind<import('@duplojs/lang/kind').Handler<import('@duplojs/lang/kind').Definition<"@DuplojsLangCommon/duplojs-error-file-system-make-temporary-file-already-exists", unknown>>, unknown>;
8
+ declare class MakeTemporaryFileErrorAlreadyExists extends MakeTemporaryFileErrorAlreadyExists_base {
9
+ }
10
+ declare const MakeTemporaryFileErrorNotDirectory_base: abstract new (error: Error) => DCommon.DuploJSError<"file-system-make-temporary-file-not-directory", Error> & import('@duplojs/lang/kind').Kind<import('@duplojs/lang/kind').Handler<import('@duplojs/lang/kind').Definition<"@DuplojsLangCommon/duplojs-error-file-system-make-temporary-file-not-directory", unknown>>, unknown>;
11
+ declare class MakeTemporaryFileErrorNotDirectory extends MakeTemporaryFileErrorNotDirectory_base {
12
+ }
13
+ declare const MakeTemporaryFileErrorNoSpace_base: abstract new (error: Error) => DCommon.DuploJSError<"file-system-make-temporary-file-no-space", Error> & import('@duplojs/lang/kind').Kind<import('@duplojs/lang/kind').Handler<import('@duplojs/lang/kind').Definition<"@DuplojsLangCommon/duplojs-error-file-system-make-temporary-file-no-space", unknown>>, unknown>;
14
+ declare class MakeTemporaryFileErrorNoSpace extends MakeTemporaryFileErrorNoSpace_base {
15
+ }
16
+ declare const MakeTemporaryFileErrorReadOnly_base: abstract new (error: Error) => DCommon.DuploJSError<"file-system-make-temporary-file-read-only", Error> & import('@duplojs/lang/kind').Kind<import('@duplojs/lang/kind').Handler<import('@duplojs/lang/kind').Definition<"@DuplojsLangCommon/duplojs-error-file-system-make-temporary-file-read-only", unknown>>, unknown>;
17
+ declare class MakeTemporaryFileErrorReadOnly extends MakeTemporaryFileErrorReadOnly_base {
18
+ }
19
+ declare const MakeTemporaryFileErrorInvalidArgument_base: abstract new (error: Error) => DCommon.DuploJSError<"file-system-make-temporary-file-invalid-argument", Error> & import('@duplojs/lang/kind').Kind<import('@duplojs/lang/kind').Handler<import('@duplojs/lang/kind').Definition<"@DuplojsLangCommon/duplojs-error-file-system-make-temporary-file-invalid-argument", unknown>>, unknown>;
20
+ declare class MakeTemporaryFileErrorInvalidArgument extends MakeTemporaryFileErrorInvalidArgument_base {
21
+ }
22
+ declare const MakeTemporaryFileErrorTooManyOpenFiles_base: abstract new (error: Error) => DCommon.DuploJSError<"file-system-make-temporary-file-too-many-open-files", Error> & import('@duplojs/lang/kind').Kind<import('@duplojs/lang/kind').Handler<import('@duplojs/lang/kind').Definition<"@DuplojsLangCommon/duplojs-error-file-system-make-temporary-file-too-many-open-files", unknown>>, unknown>;
23
+ declare class MakeTemporaryFileErrorTooManyOpenFiles extends MakeTemporaryFileErrorTooManyOpenFiles_base {
24
+ }
25
+ declare const MakeTemporaryFileError_base: abstract new (error: Error) => DCommon.DuploJSError<"file-system-make-temporary-file-error", Error> & import('@duplojs/lang/kind').Kind<import('@duplojs/lang/kind').Handler<import('@duplojs/lang/kind').Definition<"@DuplojsLangCommon/duplojs-error-file-system-make-temporary-file-error", unknown>>, unknown>;
26
+ declare class MakeTemporaryFileError extends MakeTemporaryFileError_base {
27
+ }
28
+ export type MakeTemporaryFileErrors = (MakeTemporaryFileErrorPermissionDenied | MakeTemporaryFileErrorAlreadyExists | MakeTemporaryFileErrorNotDirectory | MakeTemporaryFileErrorNoSpace | MakeTemporaryFileErrorReadOnly | MakeTemporaryFileErrorInvalidArgument | MakeTemporaryFileErrorTooManyOpenFiles | MakeTemporaryFileError);
29
+ export type MakeTemporaryFileResult = (DEither.Right<"file-system-make-temporary-file", string> | DEither.Left<"file-system-make-temporary-file-error", MakeTemporaryFileErrors>);
5
30
  declare module '../implementor' {
6
31
  interface ServerFunction {
7
32
  makeTemporaryFile(prefix: string & DPath.Segment, suffix?: string & DPath.Segment): Promise<MakeTemporaryFileResult>;
8
33
  }
9
34
  }
10
35
  export declare const makeTemporaryFile: (prefix: string & DPath.Segment, suffix?: string & DPath.Segment) => Promise<MakeTemporaryFileResult>;
36
+ export {};
@@ -3,34 +3,43 @@ import * as DCommon from "@duplojs/lang/common";
3
3
  import * as DEither from "@duplojs/lang/either";
4
4
  import * as DPath from "@duplojs/lang/path";
5
5
  //#region scripts/file/makeTemporaryFile.ts
6
+ var MakeTemporaryFileErrorPermissionDenied = class extends DCommon.DuploJSError.parentClass("file-system-make-temporary-file-permission-denied", Error) {};
7
+ var MakeTemporaryFileErrorAlreadyExists = class extends DCommon.DuploJSError.parentClass("file-system-make-temporary-file-already-exists", Error) {};
8
+ var MakeTemporaryFileErrorNotDirectory = class extends DCommon.DuploJSError.parentClass("file-system-make-temporary-file-not-directory", Error) {};
9
+ var MakeTemporaryFileErrorNoSpace = class extends DCommon.DuploJSError.parentClass("file-system-make-temporary-file-no-space", Error) {};
10
+ var MakeTemporaryFileErrorReadOnly = class extends DCommon.DuploJSError.parentClass("file-system-make-temporary-file-read-only", Error) {};
11
+ var MakeTemporaryFileErrorInvalidArgument = class extends DCommon.DuploJSError.parentClass("file-system-make-temporary-file-invalid-argument", Error) {};
12
+ var MakeTemporaryFileErrorTooManyOpenFiles = class extends DCommon.DuploJSError.parentClass("file-system-make-temporary-file-too-many-open-files", Error) {};
13
+ var MakeTemporaryFileError = class extends DCommon.DuploJSError.parentClass("file-system-make-temporary-file-error", Error) {};
6
14
  function handleNodeMakeTemporaryFileError(error) {
7
- if (typeof error === "object" && error !== null && "code" in error) {
8
- if (error.code === "EACCES" || error.code === "EPERM") return DEither.left("file-system-make-temporary-file-permission-denied", error);
9
- else if (error.code === "EEXIST") return DEither.left("file-system-make-temporary-file-already-exists", error);
10
- else if (error.code === "ENOTDIR") return DEither.left("file-system-make-temporary-file-not-directory", error);
11
- else if (error.code === "ENOSPC") return DEither.left("file-system-make-temporary-file-no-space", error);
12
- else if (error.code === "EROFS") return DEither.left("file-system-make-temporary-file-read-only", error);
13
- else if (error.code === "EINVAL") return DEither.left("file-system-make-temporary-file-invalid-argument", error);
14
- else if (error.code === "EMFILE" || error.code === "ENFILE") return DEither.left("file-system-make-temporary-file-too-many-open-files", error);
15
+ let makeTemporaryFileError = void 0;
16
+ if ("code" in error) {
17
+ if (error.code === "EACCES" || error.code === "EPERM") makeTemporaryFileError = new MakeTemporaryFileErrorPermissionDenied(error);
18
+ else if (error.code === "EEXIST") makeTemporaryFileError = new MakeTemporaryFileErrorAlreadyExists(error);
19
+ else if (error.code === "ENOTDIR") makeTemporaryFileError = new MakeTemporaryFileErrorNotDirectory(error);
20
+ else if (error.code === "ENOSPC") makeTemporaryFileError = new MakeTemporaryFileErrorNoSpace(error);
21
+ else if (error.code === "EROFS") makeTemporaryFileError = new MakeTemporaryFileErrorReadOnly(error);
22
+ else if (error.code === "EINVAL") makeTemporaryFileError = new MakeTemporaryFileErrorInvalidArgument(error);
23
+ else if (error.code === "EMFILE" || error.code === "ENFILE") makeTemporaryFileError = new MakeTemporaryFileErrorTooManyOpenFiles(error);
15
24
  }
16
- return DEither.left("file-system-make-temporary-file-error", error);
25
+ if (makeTemporaryFileError === void 0) makeTemporaryFileError = new MakeTemporaryFileError(error);
26
+ return DEither.left("file-system-make-temporary-file-error", makeTemporaryFileError);
17
27
  }
18
28
  function handleDenoMakeTemporaryFileError(error) {
19
- if (error instanceof Deno.errors.PermissionDenied || error instanceof Deno.errors.NotCapable) return DEither.left("file-system-make-temporary-file-permission-denied", error);
20
- if (error instanceof Deno.errors.AlreadyExists) return DEither.left("file-system-make-temporary-file-already-exists", error);
21
- if (error instanceof Deno.errors.NotADirectory) return DEither.left("file-system-make-temporary-file-not-directory", error);
22
- if (error instanceof Deno.errors.InvalidData) return DEither.left("file-system-make-temporary-file-invalid-argument", error);
23
- return DEither.left("file-system-make-temporary-file-error", error);
29
+ let makeTemporaryFileError = void 0;
30
+ if (error instanceof Deno.errors.PermissionDenied || error instanceof Deno.errors.NotCapable) makeTemporaryFileError = new MakeTemporaryFileErrorPermissionDenied(error);
31
+ else if (error instanceof Deno.errors.AlreadyExists) makeTemporaryFileError = new MakeTemporaryFileErrorAlreadyExists(error);
32
+ else if (error instanceof Deno.errors.NotADirectory) makeTemporaryFileError = new MakeTemporaryFileErrorNotDirectory(error);
33
+ else if (error instanceof Deno.errors.InvalidData) makeTemporaryFileError = new MakeTemporaryFileErrorInvalidArgument(error);
34
+ if (makeTemporaryFileError === void 0) makeTemporaryFileError = new MakeTemporaryFileError(error);
35
+ return DEither.left("file-system-make-temporary-file-error", makeTemporaryFileError);
24
36
  }
25
37
  const makeTemporaryFile = implementFunction("makeTemporaryFile", {
26
38
  NODE: async (prefix, suffix) => {
27
- const fs = await nodeFileSystem.value;
28
- const os = await nodeOs.value;
29
- const crypto = await nodeCrypto.value;
30
- const tempPath = DCommon.forwardAsserts(os.tmpdir(), DPath.is);
31
- const fileName = DCommon.forwardAsserts(`${prefix}${crypto.randomUUID()}${suffix ?? ""}`, DPath.isSegment);
39
+ const tempPath = DCommon.forwardAsserts(nodeOs.value.tmpdir(), DPath.is);
40
+ const fileName = DCommon.forwardAsserts(`${prefix}${nodeCrypto.value.randomUUID()}${suffix ?? ""}`, DPath.isSegment);
32
41
  const fileTemporaryPath = DPath.resolveRelative([tempPath, fileName]);
33
- return fs.open(fileTemporaryPath, "wx").then((fh) => fh.close()).then(() => DEither.right("file-system-make-temporary-file", fileTemporaryPath)).catch(handleNodeMakeTemporaryFileError);
42
+ return nodeFileSystem.value.open(fileTemporaryPath, "wx").then((fh) => fh.close()).then(() => DEither.right("file-system-make-temporary-file", fileTemporaryPath)).catch(handleNodeMakeTemporaryFileError);
34
43
  },
35
44
  DENO: (prefix, suffix) => Deno.makeTempFile({
36
45
  prefix,
@@ -1,37 +1,52 @@
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/move.ts
8
+ var MoveErrorNotFound = class extends _duplojs_lang_common.DuploJSError.parentClass("file-system-move-not-found", Error) {};
9
+ var MoveErrorPermissionDenied = class extends _duplojs_lang_common.DuploJSError.parentClass("file-system-move-permission-denied", Error) {};
10
+ var MoveErrorAlreadyExists = class extends _duplojs_lang_common.DuploJSError.parentClass("file-system-move-already-exists", Error) {};
11
+ var MoveErrorIsDirectory = class extends _duplojs_lang_common.DuploJSError.parentClass("file-system-move-is-directory", Error) {};
12
+ var MoveErrorNotDirectory = class extends _duplojs_lang_common.DuploJSError.parentClass("file-system-move-not-directory", Error) {};
13
+ var MoveErrorDirectoryNotEmpty = class extends _duplojs_lang_common.DuploJSError.parentClass("file-system-move-directory-not-empty", Error) {};
14
+ var MoveErrorReadOnly = class extends _duplojs_lang_common.DuploJSError.parentClass("file-system-move-read-only", Error) {};
15
+ var MoveErrorInvalidArgument = class extends _duplojs_lang_common.DuploJSError.parentClass("file-system-move-invalid-argument", Error) {};
16
+ var MoveErrorBusy = class extends _duplojs_lang_common.DuploJSError.parentClass("file-system-move-busy", Error) {};
17
+ var MoveErrorCrossDevice = class extends _duplojs_lang_common.DuploJSError.parentClass("file-system-move-cross-device", Error) {};
18
+ var MoveError = class extends _duplojs_lang_common.DuploJSError.parentClass("file-system-move-error", Error) {};
6
19
  function handleNodeMoveError(error) {
7
- if (typeof error === "object" && error !== null && "code" in error) {
8
- if (error.code === "ENOENT") return _duplojs_lang_either.left("file-system-move-not-found", error);
9
- else if (error.code === "EACCES" || error.code === "EPERM") return _duplojs_lang_either.left("file-system-move-permission-denied", error);
10
- else if (error.code === "EEXIST") return _duplojs_lang_either.left("file-system-move-already-exists", error);
11
- else if (error.code === "EISDIR") return _duplojs_lang_either.left("file-system-move-is-directory", error);
12
- else if (error.code === "ENOTDIR") return _duplojs_lang_either.left("file-system-move-not-directory", error);
13
- else if (error.code === "ENOTEMPTY") return _duplojs_lang_either.left("file-system-move-directory-not-empty", error);
14
- else if (error.code === "EROFS") return _duplojs_lang_either.left("file-system-move-read-only", error);
15
- else if (error.code === "EINVAL") return _duplojs_lang_either.left("file-system-move-invalid-argument", error);
16
- else if (error.code === "EBUSY") return _duplojs_lang_either.left("file-system-move-busy", error);
17
- else if (error.code === "EXDEV") return _duplojs_lang_either.left("file-system-move-cross-device", error);
20
+ let moveError = void 0;
21
+ if ("code" in error) {
22
+ if (error.code === "ENOENT") moveError = new MoveErrorNotFound(error);
23
+ else if (error.code === "EACCES" || error.code === "EPERM") moveError = new MoveErrorPermissionDenied(error);
24
+ else if (error.code === "EEXIST") moveError = new MoveErrorAlreadyExists(error);
25
+ else if (error.code === "EISDIR") moveError = new MoveErrorIsDirectory(error);
26
+ else if (error.code === "ENOTDIR") moveError = new MoveErrorNotDirectory(error);
27
+ else if (error.code === "ENOTEMPTY") moveError = new MoveErrorDirectoryNotEmpty(error);
28
+ else if (error.code === "EROFS") moveError = new MoveErrorReadOnly(error);
29
+ else if (error.code === "EINVAL") moveError = new MoveErrorInvalidArgument(error);
30
+ else if (error.code === "EBUSY") moveError = new MoveErrorBusy(error);
31
+ else if (error.code === "EXDEV") moveError = new MoveErrorCrossDevice(error);
18
32
  }
19
- return _duplojs_lang_either.left("file-system-move-error", error);
33
+ if (moveError === void 0) moveError = new MoveError(error);
34
+ return _duplojs_lang_either.left("file-system-move-error", moveError);
20
35
  }
21
36
  function handleDenoMoveError(error) {
22
- if (error instanceof Deno.errors.NotFound) return _duplojs_lang_either.left("file-system-move-not-found", error);
23
- if (error instanceof Deno.errors.PermissionDenied || error instanceof Deno.errors.NotCapable) return _duplojs_lang_either.left("file-system-move-permission-denied", error);
24
- if (error instanceof Deno.errors.AlreadyExists) return _duplojs_lang_either.left("file-system-move-already-exists", error);
25
- if (error instanceof Deno.errors.IsADirectory) return _duplojs_lang_either.left("file-system-move-is-directory", error);
26
- if (error instanceof Deno.errors.NotADirectory) return _duplojs_lang_either.left("file-system-move-not-directory", error);
27
- if (error instanceof Deno.errors.InvalidData) return _duplojs_lang_either.left("file-system-move-invalid-argument", error);
28
- if (error instanceof Deno.errors.Busy) return _duplojs_lang_either.left("file-system-move-busy", error);
29
- return _duplojs_lang_either.left("file-system-move-error", error);
37
+ let moveError = void 0;
38
+ if (error instanceof Deno.errors.NotFound) moveError = new MoveErrorNotFound(error);
39
+ else if (error instanceof Deno.errors.PermissionDenied || error instanceof Deno.errors.NotCapable) moveError = new MoveErrorPermissionDenied(error);
40
+ else if (error instanceof Deno.errors.AlreadyExists) moveError = new MoveErrorAlreadyExists(error);
41
+ else if (error instanceof Deno.errors.IsADirectory) moveError = new MoveErrorIsDirectory(error);
42
+ else if (error instanceof Deno.errors.NotADirectory) moveError = new MoveErrorNotDirectory(error);
43
+ else if (error instanceof Deno.errors.InvalidData) moveError = new MoveErrorInvalidArgument(error);
44
+ else if (error instanceof Deno.errors.Busy) moveError = new MoveErrorBusy(error);
45
+ if (moveError === void 0) moveError = new MoveError(error);
46
+ return _duplojs_lang_either.left("file-system-move-error", moveError);
30
47
  }
31
48
  const moveImplementation = require_implementor.implementFunction("move", {
32
- NODE: async (fromPath, toPath) => {
33
- return (await require_implementor.nodeFileSystem.value).rename(fromPath, toPath).then(() => _duplojs_lang_either.right("file-system-move")).catch(handleNodeMoveError);
34
- },
49
+ NODE: async (fromPath, toPath) => require_implementor.nodeFileSystem.value.rename(fromPath, toPath).then(() => _duplojs_lang_either.right("file-system-move")).catch(handleNodeMoveError),
35
50
  DENO: (fromPath, toPath) => Deno.rename(fromPath, toPath).then(() => _duplojs_lang_either.right("file-system-move")).catch(handleDenoMoveError)
36
51
  });
37
52
  function move(...args) {
@@ -1,7 +1,41 @@
1
- import { FileSystemEither } from './types';
2
1
  import type * as DPath from "@duplojs/lang/path";
3
2
  import * as DEither from "@duplojs/lang/either";
4
- export type MoveResult = FileSystemEither<DEither.Right<"move", void> | DEither.Left<"move-not-found", unknown> | DEither.Left<"move-permission-denied", unknown> | DEither.Left<"move-already-exists", unknown> | DEither.Left<"move-is-directory", unknown> | DEither.Left<"move-not-directory", unknown> | DEither.Left<"move-directory-not-empty", unknown> | DEither.Left<"move-read-only", unknown> | DEither.Left<"move-invalid-argument", unknown> | DEither.Left<"move-busy", unknown> | DEither.Left<"move-cross-device", unknown> | DEither.Left<"move-error", unknown>>;
3
+ import * as DCommon from "@duplojs/lang/common";
4
+ declare const MoveErrorNotFound_base: abstract new (error: Error) => DCommon.DuploJSError<"file-system-move-not-found", Error> & import('@duplojs/lang/kind').Kind<import('@duplojs/lang/kind').Handler<import('@duplojs/lang/kind').Definition<"@DuplojsLangCommon/duplojs-error-file-system-move-not-found", unknown>>, unknown>;
5
+ declare class MoveErrorNotFound extends MoveErrorNotFound_base {
6
+ }
7
+ declare const MoveErrorPermissionDenied_base: abstract new (error: Error) => DCommon.DuploJSError<"file-system-move-permission-denied", Error> & import('@duplojs/lang/kind').Kind<import('@duplojs/lang/kind').Handler<import('@duplojs/lang/kind').Definition<"@DuplojsLangCommon/duplojs-error-file-system-move-permission-denied", unknown>>, unknown>;
8
+ declare class MoveErrorPermissionDenied extends MoveErrorPermissionDenied_base {
9
+ }
10
+ declare const MoveErrorAlreadyExists_base: abstract new (error: Error) => DCommon.DuploJSError<"file-system-move-already-exists", Error> & import('@duplojs/lang/kind').Kind<import('@duplojs/lang/kind').Handler<import('@duplojs/lang/kind').Definition<"@DuplojsLangCommon/duplojs-error-file-system-move-already-exists", unknown>>, unknown>;
11
+ declare class MoveErrorAlreadyExists extends MoveErrorAlreadyExists_base {
12
+ }
13
+ declare const MoveErrorIsDirectory_base: abstract new (error: Error) => DCommon.DuploJSError<"file-system-move-is-directory", Error> & import('@duplojs/lang/kind').Kind<import('@duplojs/lang/kind').Handler<import('@duplojs/lang/kind').Definition<"@DuplojsLangCommon/duplojs-error-file-system-move-is-directory", unknown>>, unknown>;
14
+ declare class MoveErrorIsDirectory extends MoveErrorIsDirectory_base {
15
+ }
16
+ declare const MoveErrorNotDirectory_base: abstract new (error: Error) => DCommon.DuploJSError<"file-system-move-not-directory", Error> & import('@duplojs/lang/kind').Kind<import('@duplojs/lang/kind').Handler<import('@duplojs/lang/kind').Definition<"@DuplojsLangCommon/duplojs-error-file-system-move-not-directory", unknown>>, unknown>;
17
+ declare class MoveErrorNotDirectory extends MoveErrorNotDirectory_base {
18
+ }
19
+ declare const MoveErrorDirectoryNotEmpty_base: abstract new (error: Error) => DCommon.DuploJSError<"file-system-move-directory-not-empty", Error> & import('@duplojs/lang/kind').Kind<import('@duplojs/lang/kind').Handler<import('@duplojs/lang/kind').Definition<"@DuplojsLangCommon/duplojs-error-file-system-move-directory-not-empty", unknown>>, unknown>;
20
+ declare class MoveErrorDirectoryNotEmpty extends MoveErrorDirectoryNotEmpty_base {
21
+ }
22
+ declare const MoveErrorReadOnly_base: abstract new (error: Error) => DCommon.DuploJSError<"file-system-move-read-only", Error> & import('@duplojs/lang/kind').Kind<import('@duplojs/lang/kind').Handler<import('@duplojs/lang/kind').Definition<"@DuplojsLangCommon/duplojs-error-file-system-move-read-only", unknown>>, unknown>;
23
+ declare class MoveErrorReadOnly extends MoveErrorReadOnly_base {
24
+ }
25
+ declare const MoveErrorInvalidArgument_base: abstract new (error: Error) => DCommon.DuploJSError<"file-system-move-invalid-argument", Error> & import('@duplojs/lang/kind').Kind<import('@duplojs/lang/kind').Handler<import('@duplojs/lang/kind').Definition<"@DuplojsLangCommon/duplojs-error-file-system-move-invalid-argument", unknown>>, unknown>;
26
+ declare class MoveErrorInvalidArgument extends MoveErrorInvalidArgument_base {
27
+ }
28
+ declare const MoveErrorBusy_base: abstract new (error: Error) => DCommon.DuploJSError<"file-system-move-busy", Error> & import('@duplojs/lang/kind').Kind<import('@duplojs/lang/kind').Handler<import('@duplojs/lang/kind').Definition<"@DuplojsLangCommon/duplojs-error-file-system-move-busy", unknown>>, unknown>;
29
+ declare class MoveErrorBusy extends MoveErrorBusy_base {
30
+ }
31
+ declare const MoveErrorCrossDevice_base: abstract new (error: Error) => DCommon.DuploJSError<"file-system-move-cross-device", Error> & import('@duplojs/lang/kind').Kind<import('@duplojs/lang/kind').Handler<import('@duplojs/lang/kind').Definition<"@DuplojsLangCommon/duplojs-error-file-system-move-cross-device", unknown>>, unknown>;
32
+ declare class MoveErrorCrossDevice extends MoveErrorCrossDevice_base {
33
+ }
34
+ declare const MoveError_base: abstract new (error: Error) => DCommon.DuploJSError<"file-system-move-error", Error> & import('@duplojs/lang/kind').Kind<import('@duplojs/lang/kind').Handler<import('@duplojs/lang/kind').Definition<"@DuplojsLangCommon/duplojs-error-file-system-move-error", unknown>>, unknown>;
35
+ declare class MoveError extends MoveError_base {
36
+ }
37
+ export type MoveErrors = (MoveErrorNotFound | MoveErrorPermissionDenied | MoveErrorAlreadyExists | MoveErrorIsDirectory | MoveErrorNotDirectory | MoveErrorDirectoryNotEmpty | MoveErrorReadOnly | MoveErrorInvalidArgument | MoveErrorBusy | MoveErrorCrossDevice | MoveError);
38
+ export type MoveResult = (DEither.Right<"file-system-move", void> | DEither.Left<"file-system-move-error", MoveErrors>);
5
39
  declare module '../implementor' {
6
40
  interface ServerFunction {
7
41
  move(fromPath: string & DPath.Path, toPath: string & DPath.Path): Promise<MoveResult>;
@@ -9,3 +43,4 @@ declare module '../implementor' {
9
43
  }
10
44
  export declare function move(toPath: string & DPath.Path): (fromPath: string & DPath.Path) => Promise<MoveResult>;
11
45
  export declare function move(fromPath: string & DPath.Path, toPath: string & DPath.Path): Promise<MoveResult>;
46
+ export {};