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

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 +96 -43
  7. package/dist/command/error.d.ts +9 -1
  8. package/dist/command/error.mjs +95 -42
  9. package/dist/command/exec.d.ts +4 -3
  10. package/dist/command/help.cjs +28 -35
  11. package/dist/command/help.d.ts +1 -1
  12. package/dist/command/help.mjs +27 -34
  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
@@ -1,6 +1,8 @@
1
1
  import { TheFile } from '../file';
2
+ import { TheFolder } from '../folder';
2
3
  declare module "@duplojs/lang/dataStructure" {
3
4
  interface FundamentalTypesStore {
4
5
  serverFile: TheFile;
6
+ serverFolder: TheFolder;
5
7
  }
6
8
  }
@@ -1,3 +1,3 @@
1
1
  import * as DDataStructure from "@duplojs/lang/dataStructure";
2
2
  import type * as DSFile from '../../file';
3
- export declare function file<const GenericConstraints extends readonly DDataStructure.Constraint<DSFile.FileInterface>[] = readonly []>(constraints?: GenericConstraints): NoInfer<DDataStructure.TypeStructure<DSFile.FileInterface, readonly [...GenericConstraints]>>;
3
+ export declare function file<const GenericConstraints extends readonly DDataStructure.Constraint<DSFile.FileInterface>[] = readonly []>(constraints?: GenericConstraints): NoInfer<DDataStructure.TypeStructure<DSFile.FileInterface<import('@duplojs/lang/path').AnyPath>, readonly [...GenericConstraints]>>;
@@ -0,0 +1,7 @@
1
+ const require_fileExist = require("../constraint/fileExist.cjs");
2
+ //#region scripts/dataStructure/helper/fileExist.ts
3
+ function fileExist() {
4
+ return require_fileExist.FileExistConstraint();
5
+ }
6
+ //#endregion
7
+ exports.fileExist = fileExist;
@@ -0,0 +1,2 @@
1
+ import { FileExistConstraint } from '../constraint';
2
+ export declare function fileExist(): FileExistConstraint;
@@ -0,0 +1,7 @@
1
+ import { FileExistConstraint } from "../constraint/fileExist.mjs";
2
+ //#region scripts/dataStructure/helper/fileExist.ts
3
+ function fileExist() {
4
+ return FileExistConstraint();
5
+ }
6
+ //#endregion
7
+ export { fileExist };
@@ -0,0 +1,10 @@
1
+ const require_runtime = require("../../_virtual/_rolldown/runtime.cjs");
2
+ const require_folder = require("../type/folder.cjs");
3
+ let _duplojs_lang_dataStructure = require("@duplojs/lang/dataStructure");
4
+ _duplojs_lang_dataStructure = require_runtime.__toESM(_duplojs_lang_dataStructure, 1);
5
+ //#region scripts/dataStructure/helper/folder.ts
6
+ function folder(constraints = []) {
7
+ return _duplojs_lang_dataStructure.TypeStructure(require_folder.FolderType(), constraints);
8
+ }
9
+ //#endregion
10
+ exports.folder = folder;
@@ -0,0 +1,3 @@
1
+ import * as DDataStructure from "@duplojs/lang/dataStructure";
2
+ import type * as DSFile from '../../file';
3
+ export declare function folder<const GenericConstraints extends readonly DDataStructure.Constraint<DSFile.FolderInterface>[] = readonly []>(constraints?: GenericConstraints): NoInfer<DDataStructure.TypeStructure<DSFile.FolderInterface<import('@duplojs/lang/path').AnyPath>, readonly [...GenericConstraints]>>;
@@ -0,0 +1,8 @@
1
+ import { FolderType } from "../type/folder.mjs";
2
+ import * as DDataStructure from "@duplojs/lang/dataStructure";
3
+ //#region scripts/dataStructure/helper/folder.ts
4
+ function folder(constraints = []) {
5
+ return DDataStructure.TypeStructure(FolderType(), constraints);
6
+ }
7
+ //#endregion
8
+ export { folder };
@@ -0,0 +1,7 @@
1
+ const require_folderExist = require("../constraint/folderExist.cjs");
2
+ //#region scripts/dataStructure/helper/folderExist.ts
3
+ function folderExist() {
4
+ return require_folderExist.FolderExistConstraint();
5
+ }
6
+ //#endregion
7
+ exports.folderExist = folderExist;
@@ -0,0 +1,2 @@
1
+ import { FolderExistConstraint } from '../constraint';
2
+ export declare function folderExist(): FolderExistConstraint;
@@ -0,0 +1,7 @@
1
+ import { FolderExistConstraint } from "../constraint/folderExist.mjs";
2
+ //#region scripts/dataStructure/helper/folderExist.ts
3
+ function folderExist() {
4
+ return FolderExistConstraint();
5
+ }
6
+ //#endregion
7
+ export { folderExist };
@@ -1,4 +1,6 @@
1
- export * from './exist';
1
+ export * from './fileExist';
2
2
  export * from './file';
3
+ export * from './folder';
4
+ export * from './folderExist';
3
5
  export * from './mimeType';
4
6
  export * from './size';
@@ -1,45 +1,61 @@
1
1
  const require_runtime = require("../_virtual/_rolldown/runtime.cjs");
2
2
  const require_kind = require("./kind.cjs");
3
3
  const require_file = require("./fundamentalType/file.cjs");
4
+ const require_folder = require("./fundamentalType/folder.cjs");
4
5
  const require_json = require("./common/codec/defaults/json.cjs");
5
6
  const require_string = require("./common/codec/defaults/string.cjs");
6
7
  const require_defaultInterpreter = require("./common/error/defaultInterpreter.cjs");
7
- const require_exist = require("./constraint/exist.cjs");
8
+ const require_fileExist = require("./constraint/fileExist.cjs");
9
+ const require_folderExist = require("./constraint/folderExist.cjs");
8
10
  const require_mimeType = require("./constraint/mimeType.cjs");
9
11
  const require_size = require("./constraint/size.cjs");
10
- const require_exist$1 = require("./helper/exist.cjs");
12
+ const require_fileExist$1 = require("./helper/fileExist.cjs");
11
13
  const require_file$1 = require("./type/file.cjs");
14
+ const require_folder$1 = require("./type/folder.cjs");
12
15
  const require_file$2 = require("./helper/file.cjs");
16
+ const require_folder$2 = require("./helper/folder.cjs");
17
+ const require_folderExist$1 = require("./helper/folderExist.cjs");
13
18
  const require_mimeType$1 = require("./helper/mimeType.cjs");
14
19
  const require_size$1 = require("./helper/size.cjs");
15
20
  //#region scripts/dataStructure/index.ts
16
21
  var dataStructure_exports = /* @__PURE__ */ require_runtime.__exportAll({
17
- ExistConstraint: () => require_exist.ExistConstraint,
22
+ FileExistConstraint: () => require_fileExist.FileExistConstraint,
18
23
  FileType: () => require_file$1.FileType,
24
+ FolderExistConstraint: () => require_folderExist.FolderExistConstraint,
25
+ FolderType: () => require_folder$1.FolderType,
19
26
  MimeTypeConstraint: () => require_mimeType.MimeTypeConstraint,
20
27
  SizeConstraint: () => require_size.SizeConstraint,
21
28
  TheFile: () => require_file.TheFile,
29
+ TheFolder: () => require_folder.TheFolder,
22
30
  codecsJson: () => require_json.codecsJson,
23
31
  codecsString: () => require_string.codecsString,
24
32
  createKind: () => require_kind.createKind,
25
33
  defaultErrorInterpreterCodecDictionary: () => require_defaultInterpreter.defaultErrorInterpreterCodecDictionary,
26
34
  defaultErrorInterpreterDataStructureDictionary: () => require_defaultInterpreter.defaultErrorInterpreterDataStructureDictionary,
27
- exist: () => require_exist$1.exist,
28
- existConstraintKind: () => require_exist.existConstraintKind,
29
35
  file: () => require_file$2.file,
36
+ fileExist: () => require_fileExist$1.fileExist,
37
+ fileExistConstraintKind: () => require_fileExist.fileExistConstraintKind,
30
38
  fileFundamentalTypeKind: () => require_file.fileFundamentalTypeKind,
31
39
  fileTypeKind: () => require_file$1.fileTypeKind,
40
+ folder: () => require_folder$2.folder,
41
+ folderExist: () => require_folderExist$1.folderExist,
42
+ folderExistConstraintKind: () => require_folderExist.folderExistConstraintKind,
43
+ folderFundamentalTypeKind: () => require_folder.folderFundamentalTypeKind,
44
+ folderTypeKind: () => require_folder$1.folderTypeKind,
32
45
  mimeType: () => require_mimeType$1.mimeType,
33
46
  mimeTypeConstraintKind: () => require_mimeType.mimeTypeConstraintKind,
34
47
  size: () => require_size$1.size,
35
48
  sizeConstraintKind: () => require_size.sizeConstraintKind
36
49
  });
37
50
  //#endregion
38
- exports.ExistConstraint = require_exist.ExistConstraint;
51
+ exports.FileExistConstraint = require_fileExist.FileExistConstraint;
39
52
  exports.FileType = require_file$1.FileType;
53
+ exports.FolderExistConstraint = require_folderExist.FolderExistConstraint;
54
+ exports.FolderType = require_folder$1.FolderType;
40
55
  exports.MimeTypeConstraint = require_mimeType.MimeTypeConstraint;
41
56
  exports.SizeConstraint = require_size.SizeConstraint;
42
57
  exports.TheFile = require_file.TheFile;
58
+ exports.TheFolder = require_folder.TheFolder;
43
59
  exports.codecsJson = require_json.codecsJson;
44
60
  exports.codecsString = require_string.codecsString;
45
61
  exports.createKind = require_kind.createKind;
@@ -51,11 +67,16 @@ Object.defineProperty(exports, "dataStructure_exports", {
51
67
  });
52
68
  exports.defaultErrorInterpreterCodecDictionary = require_defaultInterpreter.defaultErrorInterpreterCodecDictionary;
53
69
  exports.defaultErrorInterpreterDataStructureDictionary = require_defaultInterpreter.defaultErrorInterpreterDataStructureDictionary;
54
- exports.exist = require_exist$1.exist;
55
- exports.existConstraintKind = require_exist.existConstraintKind;
56
70
  exports.file = require_file$2.file;
71
+ exports.fileExist = require_fileExist$1.fileExist;
72
+ exports.fileExistConstraintKind = require_fileExist.fileExistConstraintKind;
57
73
  exports.fileFundamentalTypeKind = require_file.fileFundamentalTypeKind;
58
74
  exports.fileTypeKind = require_file$1.fileTypeKind;
75
+ exports.folder = require_folder$2.folder;
76
+ exports.folderExist = require_folderExist$1.folderExist;
77
+ exports.folderExistConstraintKind = require_folderExist.folderExistConstraintKind;
78
+ exports.folderFundamentalTypeKind = require_folder.folderFundamentalTypeKind;
79
+ exports.folderTypeKind = require_folder$1.folderTypeKind;
59
80
  exports.mimeType = require_mimeType$1.mimeType;
60
81
  exports.mimeTypeConstraintKind = require_mimeType.mimeTypeConstraintKind;
61
82
  exports.size = require_size$1.size;
@@ -1,38 +1,51 @@
1
1
  import { __exportAll } from "../_virtual/_rolldown/runtime.mjs";
2
2
  import { createKind } from "./kind.mjs";
3
3
  import { TheFile, fileFundamentalTypeKind } from "./fundamentalType/file.mjs";
4
+ import { TheFolder, folderFundamentalTypeKind } from "./fundamentalType/folder.mjs";
4
5
  import { codecsJson } from "./common/codec/defaults/json.mjs";
5
6
  import { codecsString } from "./common/codec/defaults/string.mjs";
6
7
  import { defaultErrorInterpreterCodecDictionary, defaultErrorInterpreterDataStructureDictionary } from "./common/error/defaultInterpreter.mjs";
7
- import { ExistConstraint, existConstraintKind } from "./constraint/exist.mjs";
8
+ import { FileExistConstraint, fileExistConstraintKind } from "./constraint/fileExist.mjs";
9
+ import { FolderExistConstraint, folderExistConstraintKind } from "./constraint/folderExist.mjs";
8
10
  import { MimeTypeConstraint, mimeTypeConstraintKind } from "./constraint/mimeType.mjs";
9
11
  import { SizeConstraint, sizeConstraintKind } from "./constraint/size.mjs";
10
- import { exist } from "./helper/exist.mjs";
12
+ import { fileExist } from "./helper/fileExist.mjs";
11
13
  import { FileType, fileTypeKind } from "./type/file.mjs";
14
+ import { FolderType, folderTypeKind } from "./type/folder.mjs";
12
15
  import { file } from "./helper/file.mjs";
16
+ import { folder } from "./helper/folder.mjs";
17
+ import { folderExist } from "./helper/folderExist.mjs";
13
18
  import { mimeType } from "./helper/mimeType.mjs";
14
19
  import { size } from "./helper/size.mjs";
15
20
  //#region scripts/dataStructure/index.ts
16
21
  var dataStructure_exports = /* @__PURE__ */ __exportAll({
17
- ExistConstraint: () => ExistConstraint,
22
+ FileExistConstraint: () => FileExistConstraint,
18
23
  FileType: () => FileType,
24
+ FolderExistConstraint: () => FolderExistConstraint,
25
+ FolderType: () => FolderType,
19
26
  MimeTypeConstraint: () => MimeTypeConstraint,
20
27
  SizeConstraint: () => SizeConstraint,
21
28
  TheFile: () => TheFile,
29
+ TheFolder: () => TheFolder,
22
30
  codecsJson: () => codecsJson,
23
31
  codecsString: () => codecsString,
24
32
  createKind: () => createKind,
25
33
  defaultErrorInterpreterCodecDictionary: () => defaultErrorInterpreterCodecDictionary,
26
34
  defaultErrorInterpreterDataStructureDictionary: () => defaultErrorInterpreterDataStructureDictionary,
27
- exist: () => exist,
28
- existConstraintKind: () => existConstraintKind,
29
35
  file: () => file,
36
+ fileExist: () => fileExist,
37
+ fileExistConstraintKind: () => fileExistConstraintKind,
30
38
  fileFundamentalTypeKind: () => fileFundamentalTypeKind,
31
39
  fileTypeKind: () => fileTypeKind,
40
+ folder: () => folder,
41
+ folderExist: () => folderExist,
42
+ folderExistConstraintKind: () => folderExistConstraintKind,
43
+ folderFundamentalTypeKind: () => folderFundamentalTypeKind,
44
+ folderTypeKind: () => folderTypeKind,
32
45
  mimeType: () => mimeType,
33
46
  mimeTypeConstraintKind: () => mimeTypeConstraintKind,
34
47
  size: () => size,
35
48
  sizeConstraintKind: () => sizeConstraintKind
36
49
  });
37
50
  //#endregion
38
- export { ExistConstraint, FileType, MimeTypeConstraint, SizeConstraint, TheFile, codecsJson, codecsString, createKind, dataStructure_exports, defaultErrorInterpreterCodecDictionary, defaultErrorInterpreterDataStructureDictionary, exist, existConstraintKind, file, fileFundamentalTypeKind, fileTypeKind, mimeType, mimeTypeConstraintKind, size, sizeConstraintKind };
51
+ export { FileExistConstraint, FileType, FolderExistConstraint, FolderType, MimeTypeConstraint, SizeConstraint, TheFile, TheFolder, codecsJson, codecsString, createKind, dataStructure_exports, defaultErrorInterpreterCodecDictionary, defaultErrorInterpreterDataStructureDictionary, file, fileExist, fileExistConstraintKind, fileFundamentalTypeKind, fileTypeKind, folder, folderExist, folderExistConstraintKind, folderFundamentalTypeKind, folderTypeKind, mimeType, mimeTypeConstraintKind, size, sizeConstraintKind };
@@ -0,0 +1,14 @@
1
+ const require_runtime = require("../../_virtual/_rolldown/runtime.cjs");
2
+ const require_kind = require("../kind.cjs");
3
+ const require_folder = require("../fundamentalType/folder.cjs");
4
+ let _duplojs_lang_dataStructure = require("@duplojs/lang/dataStructure");
5
+ _duplojs_lang_dataStructure = require_runtime.__toESM(_duplojs_lang_dataStructure, 1);
6
+ //#region scripts/dataStructure/type/folder.ts
7
+ const folderTypeKind = require_kind.createKind("folder-type");
8
+ const FolderType = _duplojs_lang_dataStructure.createType(require_folder.TheFolder, folderTypeKind, ({ init }) => () => init({}, {
9
+ executeCheck: () => _duplojs_lang_dataStructure.SuccessSymbol,
10
+ isAsynchronous: () => false
11
+ }));
12
+ //#endregion
13
+ exports.FolderType = FolderType;
14
+ exports.folderTypeKind = folderTypeKind;
@@ -0,0 +1,11 @@
1
+ import type * as DCommon from "@duplojs/lang/common";
2
+ import type * as DKind from "@duplojs/lang/kind";
3
+ import * as DDataStructure from "@duplojs/lang/dataStructure";
4
+ import type * as DSFile from '../../file';
5
+ import * as FundamentalType from "../fundamentalType";
6
+ export declare const folderTypeKind: DKind.Handler<DKind.Definition<"@DuplojsServerDataStructure/folder-type", unknown>>;
7
+ export interface FolderTypeDefinition extends DDataStructure.TypeDefinition {
8
+ }
9
+ export interface FolderType extends DCommon.UnionToIntersection<DDataStructure.Type<FundamentalType.TheFolder, DSFile.FolderInterface, FolderTypeDefinition> & DKind.Kind<typeof folderTypeKind>> {
10
+ }
11
+ export declare const FolderType: () => FolderType;
@@ -0,0 +1,11 @@
1
+ import { createKind } from "../kind.mjs";
2
+ import { TheFolder } from "../fundamentalType/folder.mjs";
3
+ import * as DDataStructure from "@duplojs/lang/dataStructure";
4
+ //#region scripts/dataStructure/type/folder.ts
5
+ const folderTypeKind = createKind("folder-type");
6
+ const FolderType = DDataStructure.createType(TheFolder, folderTypeKind, ({ init }) => () => init({}, {
7
+ executeCheck: () => DDataStructure.SuccessSymbol,
8
+ isAsynchronous: () => false
9
+ }));
10
+ //#endregion
11
+ export { FolderType, folderTypeKind };
@@ -1,2 +1,3 @@
1
1
  export * from './file';
2
+ export * from './folder';
2
3
  export type * from './types';
@@ -1,6 +1,8 @@
1
1
  import { FileType } from '../file';
2
+ import { FolderType } from '../folder';
2
3
  declare module "@duplojs/lang/dataStructure" {
3
4
  interface TypesStore {
4
5
  serverFile: FileType;
6
+ serverFolder: FolderType;
5
7
  }
6
8
  }
@@ -1,35 +1,49 @@
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/appendFile.ts
8
+ var AppendFileErrorNotFound = class extends _duplojs_lang_common.DuploJSError.parentClass("file-system-append-file-not-found", Error) {};
9
+ var AppendFileErrorPermissionDenied = class extends _duplojs_lang_common.DuploJSError.parentClass("file-system-append-file-permission-denied", Error) {};
10
+ var AppendFileErrorIsDirectory = class extends _duplojs_lang_common.DuploJSError.parentClass("file-system-append-file-is-directory", Error) {};
11
+ var AppendFileErrorNotDirectory = class extends _duplojs_lang_common.DuploJSError.parentClass("file-system-append-file-not-directory", Error) {};
12
+ var AppendFileErrorNoSpace = class extends _duplojs_lang_common.DuploJSError.parentClass("file-system-append-file-no-space", Error) {};
13
+ var AppendFileErrorReadOnly = class extends _duplojs_lang_common.DuploJSError.parentClass("file-system-append-file-read-only", Error) {};
14
+ var AppendFileErrorInvalidArgument = class extends _duplojs_lang_common.DuploJSError.parentClass("file-system-append-file-invalid-argument", Error) {};
15
+ var AppendFileErrorTooManyOpenFiles = class extends _duplojs_lang_common.DuploJSError.parentClass("file-system-append-file-too-many-open-files", Error) {};
16
+ var AppendFileErrorBusy = class extends _duplojs_lang_common.DuploJSError.parentClass("file-system-append-file-busy", Error) {};
17
+ var AppendFileError = class extends _duplojs_lang_common.DuploJSError.parentClass("file-system-append-file-error", Error) {};
6
18
  function handleNodeAppendFileError(error) {
7
- if (typeof error === "object" && error !== null && "code" in error) {
8
- if (error.code === "ENOENT") return _duplojs_lang_either.left("file-system-append-file-not-found", error);
9
- else if (error.code === "EACCES" || error.code === "EPERM") return _duplojs_lang_either.left("file-system-append-file-permission-denied", error);
10
- else if (error.code === "EISDIR") return _duplojs_lang_either.left("file-system-append-file-is-directory", error);
11
- else if (error.code === "ENOTDIR") return _duplojs_lang_either.left("file-system-append-file-not-directory", error);
12
- else if (error.code === "ENOSPC") return _duplojs_lang_either.left("file-system-append-file-no-space", error);
13
- else if (error.code === "EROFS") return _duplojs_lang_either.left("file-system-append-file-read-only", error);
14
- else if (error.code === "EINVAL") return _duplojs_lang_either.left("file-system-append-file-invalid-argument", error);
15
- else if (error.code === "EMFILE" || error.code === "ENFILE") return _duplojs_lang_either.left("file-system-append-file-too-many-open-files", error);
16
- else if (error.code === "EBUSY") return _duplojs_lang_either.left("file-system-append-file-busy", error);
17
- }
18
- return _duplojs_lang_either.left("file-system-append-file-error", error);
19
+ let appendFileError = void 0;
20
+ if ("code" in error) {
21
+ if (error.code === "ENOENT") appendFileError = new AppendFileErrorNotFound(error);
22
+ else if (error.code === "EACCES" || error.code === "EPERM") appendFileError = new AppendFileErrorPermissionDenied(error);
23
+ else if (error.code === "EISDIR") appendFileError = new AppendFileErrorIsDirectory(error);
24
+ else if (error.code === "ENOTDIR") appendFileError = new AppendFileErrorNotDirectory(error);
25
+ else if (error.code === "ENOSPC") appendFileError = new AppendFileErrorNoSpace(error);
26
+ else if (error.code === "EROFS") appendFileError = new AppendFileErrorReadOnly(error);
27
+ else if (error.code === "EINVAL") appendFileError = new AppendFileErrorInvalidArgument(error);
28
+ else if (error.code === "EMFILE" || error.code === "ENFILE") appendFileError = new AppendFileErrorTooManyOpenFiles(error);
29
+ else if (error.code === "EBUSY") appendFileError = new AppendFileErrorBusy(error);
30
+ else appendFileError = new AppendFileError(error);
31
+ } else appendFileError = new AppendFileError(error);
32
+ return _duplojs_lang_either.left("file-system-append-file-error", appendFileError);
19
33
  }
20
34
  function handleDenoAppendFileError(error) {
21
- if (error instanceof Deno.errors.NotFound) return _duplojs_lang_either.left("file-system-append-file-not-found", error);
22
- if (error instanceof Deno.errors.PermissionDenied || error instanceof Deno.errors.NotCapable) return _duplojs_lang_either.left("file-system-append-file-permission-denied", error);
23
- if (error instanceof Deno.errors.IsADirectory) return _duplojs_lang_either.left("file-system-append-file-is-directory", error);
24
- if (error instanceof Deno.errors.NotADirectory) return _duplojs_lang_either.left("file-system-append-file-not-directory", error);
25
- if (error instanceof Deno.errors.InvalidData) return _duplojs_lang_either.left("file-system-append-file-invalid-argument", error);
26
- if (error instanceof Deno.errors.Busy) return _duplojs_lang_either.left("file-system-append-file-busy", error);
27
- return _duplojs_lang_either.left("file-system-append-file-error", error);
35
+ let appendFileError = void 0;
36
+ if (error instanceof Deno.errors.NotFound) appendFileError = new AppendFileErrorNotFound(error);
37
+ else if (error instanceof Deno.errors.PermissionDenied || error instanceof Deno.errors.NotCapable) appendFileError = new AppendFileErrorPermissionDenied(error);
38
+ else if (error instanceof Deno.errors.IsADirectory) appendFileError = new AppendFileErrorIsDirectory(error);
39
+ else if (error instanceof Deno.errors.NotADirectory) appendFileError = new AppendFileErrorNotDirectory(error);
40
+ else if (error instanceof Deno.errors.InvalidData) appendFileError = new AppendFileErrorInvalidArgument(error);
41
+ else if (error instanceof Deno.errors.Busy) appendFileError = new AppendFileErrorBusy(error);
42
+ else appendFileError = new AppendFileError(error);
43
+ return _duplojs_lang_either.left("file-system-append-file-error", appendFileError);
28
44
  }
29
45
  const appendFileImplementation = require_implementor.implementFunction("appendFile", {
30
- NODE: async (path, data) => {
31
- return (await require_implementor.nodeFileSystem.value).appendFile(path, data).then(() => _duplojs_lang_either.right("file-system-append-file")).catch(handleNodeAppendFileError);
32
- },
46
+ NODE: async (path, data) => require_implementor.nodeFileSystem.value.appendFile(path, data).then(() => _duplojs_lang_either.right("file-system-append-file")).catch(handleNodeAppendFileError),
33
47
  DENO: (path, data) => Deno.writeFile(path, data, { append: true }).then(() => _duplojs_lang_either.right("file-system-append-file")).catch(handleDenoAppendFileError)
34
48
  });
35
49
  function appendFile(...args) {
@@ -40,4 +54,14 @@ function appendFile(...args) {
40
54
  return appendFileImplementation(...args);
41
55
  }
42
56
  //#endregion
57
+ exports.AppendFileError = AppendFileError;
58
+ exports.AppendFileErrorBusy = AppendFileErrorBusy;
59
+ exports.AppendFileErrorInvalidArgument = AppendFileErrorInvalidArgument;
60
+ exports.AppendFileErrorIsDirectory = AppendFileErrorIsDirectory;
61
+ exports.AppendFileErrorNoSpace = AppendFileErrorNoSpace;
62
+ exports.AppendFileErrorNotDirectory = AppendFileErrorNotDirectory;
63
+ exports.AppendFileErrorNotFound = AppendFileErrorNotFound;
64
+ exports.AppendFileErrorPermissionDenied = AppendFileErrorPermissionDenied;
65
+ exports.AppendFileErrorReadOnly = AppendFileErrorReadOnly;
66
+ exports.AppendFileErrorTooManyOpenFiles = AppendFileErrorTooManyOpenFiles;
43
67
  exports.appendFile = appendFile;
@@ -1,11 +1,43 @@
1
- import { FileSystemEither } from './types';
2
1
  import * as DEither from "@duplojs/lang/either";
3
2
  import type * as DPath from "@duplojs/lang/path";
4
- export type AppendFileResult = FileSystemEither<DEither.Right<"append-file", void> | DEither.Left<"append-file-not-found", unknown> | DEither.Left<"append-file-permission-denied", unknown> | DEither.Left<"append-file-is-directory", unknown> | DEither.Left<"append-file-not-directory", unknown> | DEither.Left<"append-file-no-space", unknown> | DEither.Left<"append-file-read-only", unknown> | DEither.Left<"append-file-invalid-argument", unknown> | DEither.Left<"append-file-too-many-open-files", unknown> | DEither.Left<"append-file-busy", unknown> | DEither.Left<"append-file-error", unknown>>;
3
+ import * as DCommon from "@duplojs/lang/common";
4
+ declare const AppendFileErrorNotFound_base: abstract new (error: Error) => DCommon.DuploJSError<"file-system-append-file-not-found", Error> & import('@duplojs/lang/kind').Kind<import('@duplojs/lang/kind').Handler<import('@duplojs/lang/kind').Definition<"@DuplojsLangCommon/duplojs-error-file-system-append-file-not-found", unknown>>, unknown>;
5
+ export declare class AppendFileErrorNotFound extends AppendFileErrorNotFound_base {
6
+ }
7
+ declare const AppendFileErrorPermissionDenied_base: abstract new (error: Error) => DCommon.DuploJSError<"file-system-append-file-permission-denied", Error> & import('@duplojs/lang/kind').Kind<import('@duplojs/lang/kind').Handler<import('@duplojs/lang/kind').Definition<"@DuplojsLangCommon/duplojs-error-file-system-append-file-permission-denied", unknown>>, unknown>;
8
+ export declare class AppendFileErrorPermissionDenied extends AppendFileErrorPermissionDenied_base {
9
+ }
10
+ declare const AppendFileErrorIsDirectory_base: abstract new (error: Error) => DCommon.DuploJSError<"file-system-append-file-is-directory", Error> & import('@duplojs/lang/kind').Kind<import('@duplojs/lang/kind').Handler<import('@duplojs/lang/kind').Definition<"@DuplojsLangCommon/duplojs-error-file-system-append-file-is-directory", unknown>>, unknown>;
11
+ export declare class AppendFileErrorIsDirectory extends AppendFileErrorIsDirectory_base {
12
+ }
13
+ declare const AppendFileErrorNotDirectory_base: abstract new (error: Error) => DCommon.DuploJSError<"file-system-append-file-not-directory", Error> & import('@duplojs/lang/kind').Kind<import('@duplojs/lang/kind').Handler<import('@duplojs/lang/kind').Definition<"@DuplojsLangCommon/duplojs-error-file-system-append-file-not-directory", unknown>>, unknown>;
14
+ export declare class AppendFileErrorNotDirectory extends AppendFileErrorNotDirectory_base {
15
+ }
16
+ declare const AppendFileErrorNoSpace_base: abstract new (error: Error) => DCommon.DuploJSError<"file-system-append-file-no-space", Error> & import('@duplojs/lang/kind').Kind<import('@duplojs/lang/kind').Handler<import('@duplojs/lang/kind').Definition<"@DuplojsLangCommon/duplojs-error-file-system-append-file-no-space", unknown>>, unknown>;
17
+ export declare class AppendFileErrorNoSpace extends AppendFileErrorNoSpace_base {
18
+ }
19
+ declare const AppendFileErrorReadOnly_base: abstract new (error: Error) => DCommon.DuploJSError<"file-system-append-file-read-only", Error> & import('@duplojs/lang/kind').Kind<import('@duplojs/lang/kind').Handler<import('@duplojs/lang/kind').Definition<"@DuplojsLangCommon/duplojs-error-file-system-append-file-read-only", unknown>>, unknown>;
20
+ export declare class AppendFileErrorReadOnly extends AppendFileErrorReadOnly_base {
21
+ }
22
+ declare const AppendFileErrorInvalidArgument_base: abstract new (error: Error) => DCommon.DuploJSError<"file-system-append-file-invalid-argument", Error> & import('@duplojs/lang/kind').Kind<import('@duplojs/lang/kind').Handler<import('@duplojs/lang/kind').Definition<"@DuplojsLangCommon/duplojs-error-file-system-append-file-invalid-argument", unknown>>, unknown>;
23
+ export declare class AppendFileErrorInvalidArgument extends AppendFileErrorInvalidArgument_base {
24
+ }
25
+ declare const AppendFileErrorTooManyOpenFiles_base: abstract new (error: Error) => DCommon.DuploJSError<"file-system-append-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-append-file-too-many-open-files", unknown>>, unknown>;
26
+ export declare class AppendFileErrorTooManyOpenFiles extends AppendFileErrorTooManyOpenFiles_base {
27
+ }
28
+ declare const AppendFileErrorBusy_base: abstract new (error: Error) => DCommon.DuploJSError<"file-system-append-file-busy", Error> & import('@duplojs/lang/kind').Kind<import('@duplojs/lang/kind').Handler<import('@duplojs/lang/kind').Definition<"@DuplojsLangCommon/duplojs-error-file-system-append-file-busy", unknown>>, unknown>;
29
+ export declare class AppendFileErrorBusy extends AppendFileErrorBusy_base {
30
+ }
31
+ declare const AppendFileError_base: abstract new (error: Error) => DCommon.DuploJSError<"file-system-append-file-error", Error> & import('@duplojs/lang/kind').Kind<import('@duplojs/lang/kind').Handler<import('@duplojs/lang/kind').Definition<"@DuplojsLangCommon/duplojs-error-file-system-append-file-error", unknown>>, unknown>;
32
+ export declare class AppendFileError extends AppendFileError_base {
33
+ }
34
+ export type AppendFileErrors = (AppendFileErrorNotFound | AppendFileErrorPermissionDenied | AppendFileErrorIsDirectory | AppendFileErrorNotDirectory | AppendFileErrorNoSpace | AppendFileErrorReadOnly | AppendFileErrorInvalidArgument | AppendFileErrorTooManyOpenFiles | AppendFileErrorBusy | AppendFileError);
35
+ export type AppendFileResult = (DEither.Right<"file-system-append-file", void> | DEither.Left<"file-system-append-file-error", AppendFileErrors>);
5
36
  declare module '../implementor' {
6
37
  interface ServerFunction {
7
- appendFile(path: string & DPath.Path, data: Uint8Array): Promise<AppendFileResult>;
38
+ appendFile(path: DPath.AnyPath, data: Uint8Array): Promise<AppendFileResult>;
8
39
  }
9
40
  }
10
- export declare function appendFile(data: Uint8Array): (path: string & DPath.Path) => Promise<AppendFileResult>;
11
- export declare function appendFile(path: string & DPath.Path, data: Uint8Array): Promise<AppendFileResult>;
41
+ export declare function appendFile(data: Uint8Array): (path: DPath.AnyPath) => Promise<AppendFileResult>;
42
+ export declare function appendFile(path: DPath.AnyPath, data: Uint8Array): Promise<AppendFileResult>;
43
+ export {};
@@ -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/appendFile.ts
5
+ var AppendFileErrorNotFound = class extends DCommon.DuploJSError.parentClass("file-system-append-file-not-found", Error) {};
6
+ var AppendFileErrorPermissionDenied = class extends DCommon.DuploJSError.parentClass("file-system-append-file-permission-denied", Error) {};
7
+ var AppendFileErrorIsDirectory = class extends DCommon.DuploJSError.parentClass("file-system-append-file-is-directory", Error) {};
8
+ var AppendFileErrorNotDirectory = class extends DCommon.DuploJSError.parentClass("file-system-append-file-not-directory", Error) {};
9
+ var AppendFileErrorNoSpace = class extends DCommon.DuploJSError.parentClass("file-system-append-file-no-space", Error) {};
10
+ var AppendFileErrorReadOnly = class extends DCommon.DuploJSError.parentClass("file-system-append-file-read-only", Error) {};
11
+ var AppendFileErrorInvalidArgument = class extends DCommon.DuploJSError.parentClass("file-system-append-file-invalid-argument", Error) {};
12
+ var AppendFileErrorTooManyOpenFiles = class extends DCommon.DuploJSError.parentClass("file-system-append-file-too-many-open-files", Error) {};
13
+ var AppendFileErrorBusy = class extends DCommon.DuploJSError.parentClass("file-system-append-file-busy", Error) {};
14
+ var AppendFileError = class extends DCommon.DuploJSError.parentClass("file-system-append-file-error", Error) {};
4
15
  function handleNodeAppendFileError(error) {
5
- if (typeof error === "object" && error !== null && "code" in error) {
6
- if (error.code === "ENOENT") return DEither.left("file-system-append-file-not-found", error);
7
- else if (error.code === "EACCES" || error.code === "EPERM") return DEither.left("file-system-append-file-permission-denied", error);
8
- else if (error.code === "EISDIR") return DEither.left("file-system-append-file-is-directory", error);
9
- else if (error.code === "ENOTDIR") return DEither.left("file-system-append-file-not-directory", error);
10
- else if (error.code === "ENOSPC") return DEither.left("file-system-append-file-no-space", error);
11
- else if (error.code === "EROFS") return DEither.left("file-system-append-file-read-only", error);
12
- else if (error.code === "EINVAL") return DEither.left("file-system-append-file-invalid-argument", error);
13
- else if (error.code === "EMFILE" || error.code === "ENFILE") return DEither.left("file-system-append-file-too-many-open-files", error);
14
- else if (error.code === "EBUSY") return DEither.left("file-system-append-file-busy", error);
15
- }
16
- return DEither.left("file-system-append-file-error", error);
16
+ let appendFileError = void 0;
17
+ if ("code" in error) {
18
+ if (error.code === "ENOENT") appendFileError = new AppendFileErrorNotFound(error);
19
+ else if (error.code === "EACCES" || error.code === "EPERM") appendFileError = new AppendFileErrorPermissionDenied(error);
20
+ else if (error.code === "EISDIR") appendFileError = new AppendFileErrorIsDirectory(error);
21
+ else if (error.code === "ENOTDIR") appendFileError = new AppendFileErrorNotDirectory(error);
22
+ else if (error.code === "ENOSPC") appendFileError = new AppendFileErrorNoSpace(error);
23
+ else if (error.code === "EROFS") appendFileError = new AppendFileErrorReadOnly(error);
24
+ else if (error.code === "EINVAL") appendFileError = new AppendFileErrorInvalidArgument(error);
25
+ else if (error.code === "EMFILE" || error.code === "ENFILE") appendFileError = new AppendFileErrorTooManyOpenFiles(error);
26
+ else if (error.code === "EBUSY") appendFileError = new AppendFileErrorBusy(error);
27
+ else appendFileError = new AppendFileError(error);
28
+ } else appendFileError = new AppendFileError(error);
29
+ return DEither.left("file-system-append-file-error", appendFileError);
17
30
  }
18
31
  function handleDenoAppendFileError(error) {
19
- if (error instanceof Deno.errors.NotFound) return DEither.left("file-system-append-file-not-found", error);
20
- if (error instanceof Deno.errors.PermissionDenied || error instanceof Deno.errors.NotCapable) return DEither.left("file-system-append-file-permission-denied", error);
21
- if (error instanceof Deno.errors.IsADirectory) return DEither.left("file-system-append-file-is-directory", error);
22
- if (error instanceof Deno.errors.NotADirectory) return DEither.left("file-system-append-file-not-directory", error);
23
- if (error instanceof Deno.errors.InvalidData) return DEither.left("file-system-append-file-invalid-argument", error);
24
- if (error instanceof Deno.errors.Busy) return DEither.left("file-system-append-file-busy", error);
25
- return DEither.left("file-system-append-file-error", error);
32
+ let appendFileError = void 0;
33
+ if (error instanceof Deno.errors.NotFound) appendFileError = new AppendFileErrorNotFound(error);
34
+ else if (error instanceof Deno.errors.PermissionDenied || error instanceof Deno.errors.NotCapable) appendFileError = new AppendFileErrorPermissionDenied(error);
35
+ else if (error instanceof Deno.errors.IsADirectory) appendFileError = new AppendFileErrorIsDirectory(error);
36
+ else if (error instanceof Deno.errors.NotADirectory) appendFileError = new AppendFileErrorNotDirectory(error);
37
+ else if (error instanceof Deno.errors.InvalidData) appendFileError = new AppendFileErrorInvalidArgument(error);
38
+ else if (error instanceof Deno.errors.Busy) appendFileError = new AppendFileErrorBusy(error);
39
+ else appendFileError = new AppendFileError(error);
40
+ return DEither.left("file-system-append-file-error", appendFileError);
26
41
  }
27
42
  const appendFileImplementation = implementFunction("appendFile", {
28
- NODE: async (path, data) => {
29
- return (await nodeFileSystem.value).appendFile(path, data).then(() => DEither.right("file-system-append-file")).catch(handleNodeAppendFileError);
30
- },
43
+ NODE: async (path, data) => nodeFileSystem.value.appendFile(path, data).then(() => DEither.right("file-system-append-file")).catch(handleNodeAppendFileError),
31
44
  DENO: (path, data) => Deno.writeFile(path, data, { append: true }).then(() => DEither.right("file-system-append-file")).catch(handleDenoAppendFileError)
32
45
  });
33
46
  function appendFile(...args) {
@@ -38,4 +51,4 @@ function appendFile(...args) {
38
51
  return appendFileImplementation(...args);
39
52
  }
40
53
  //#endregion
41
- export { appendFile };
54
+ export { AppendFileError, AppendFileErrorBusy, AppendFileErrorInvalidArgument, AppendFileErrorIsDirectory, AppendFileErrorNoSpace, AppendFileErrorNotDirectory, AppendFileErrorNotFound, AppendFileErrorPermissionDenied, AppendFileErrorReadOnly, AppendFileErrorTooManyOpenFiles, appendFile };