@duplojs/server 0.1.0-beta.2 → 0.1.0-beta.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_virtual/_rolldown/runtime.mjs +5 -1
- package/dist/command/argument.d.ts +2 -2
- package/dist/command/create.cjs +18 -10
- package/dist/command/create.d.ts +3 -3
- package/dist/command/create.mjs +18 -10
- package/dist/command/error.cjs +26 -2
- package/dist/command/error.d.ts +9 -1
- package/dist/command/error.mjs +25 -1
- package/dist/command/exec.d.ts +4 -3
- package/dist/command/help.cjs +11 -9
- package/dist/command/help.d.ts +1 -1
- package/dist/command/help.mjs +10 -8
- package/dist/command/index.cjs +4 -0
- package/dist/command/index.mjs +4 -2
- package/dist/command/options/base.cjs +21 -13
- package/dist/command/options/base.d.ts +6 -0
- package/dist/command/options/base.mjs +20 -14
- package/dist/command/options/defaults/array.d.ts +6 -4
- package/dist/command/options/defaults/boolean.cjs +21 -7
- package/dist/command/options/defaults/boolean.d.ts +6 -3
- package/dist/command/options/defaults/boolean.mjs +20 -8
- package/dist/command/options/defaults/simple.d.ts +6 -4
- package/dist/command/types/forbiddenInvalidIdentifier.d.ts +6 -0
- package/dist/command/types/index.d.ts +1 -0
- package/dist/common/environmentVariable/index.d.ts +1 -1
- package/dist/common/environmentVariable/overrideEnvironmentVariables.d.ts +1 -1
- package/dist/common/environmentVariable/parseEnvironmentFiles.d.ts +2 -1
- package/dist/common/index.cjs +3 -0
- package/dist/common/index.d.ts +1 -0
- package/dist/common/index.mjs +3 -1
- package/dist/common/meta/getCurrentDirectoryName.cjs +10 -0
- package/dist/common/meta/getCurrentDirectoryName.d.ts +7 -0
- package/dist/common/meta/getCurrentDirectoryName.mjs +7 -0
- package/dist/common/meta/index.d.ts +7 -0
- package/dist/dataStructure/common/codec/defaults/json.cjs +12 -1
- package/dist/dataStructure/common/codec/defaults/json.d.ts +2 -2
- package/dist/dataStructure/common/codec/defaults/json.mjs +12 -1
- package/dist/dataStructure/common/codec/defaults/string.cjs +12 -1
- package/dist/dataStructure/common/codec/defaults/string.d.ts +2 -2
- package/dist/dataStructure/common/codec/defaults/string.mjs +12 -1
- package/dist/dataStructure/common/error/defaultInterpreter.cjs +3 -1
- package/dist/dataStructure/common/error/defaultInterpreter.d.ts +7 -2
- package/dist/dataStructure/common/error/defaultInterpreter.mjs +3 -1
- package/dist/dataStructure/constraint/{exist.cjs → fileExist.cjs} +5 -5
- package/dist/dataStructure/constraint/fileExist.d.ts +10 -0
- package/dist/dataStructure/constraint/{exist.mjs → fileExist.mjs} +4 -4
- package/dist/dataStructure/constraint/folderExist.cjs +19 -0
- package/dist/dataStructure/constraint/folderExist.d.ts +10 -0
- package/dist/dataStructure/constraint/folderExist.mjs +15 -0
- package/dist/dataStructure/constraint/index.d.ts +2 -1
- package/dist/dataStructure/constraint/mimeType.cjs +1 -1
- package/dist/dataStructure/constraint/mimeType.mjs +1 -1
- package/dist/dataStructure/constraint/types/constraints.d.ts +4 -2
- package/dist/dataStructure/fundamentalType/folder.cjs +11 -0
- package/dist/dataStructure/fundamentalType/folder.d.ts +8 -0
- package/dist/dataStructure/fundamentalType/folder.mjs +8 -0
- package/dist/dataStructure/fundamentalType/index.d.ts +1 -0
- package/dist/dataStructure/fundamentalType/types/fundamentalTypes.d.ts +2 -0
- package/dist/dataStructure/helper/file.d.ts +1 -1
- package/dist/dataStructure/helper/fileExist.cjs +7 -0
- package/dist/dataStructure/helper/fileExist.d.ts +2 -0
- package/dist/dataStructure/helper/fileExist.mjs +7 -0
- package/dist/dataStructure/helper/folder.cjs +10 -0
- package/dist/dataStructure/helper/folder.d.ts +3 -0
- package/dist/dataStructure/helper/folder.mjs +8 -0
- package/dist/dataStructure/helper/folderExist.cjs +7 -0
- package/dist/dataStructure/helper/folderExist.d.ts +2 -0
- package/dist/dataStructure/helper/folderExist.mjs +7 -0
- package/dist/dataStructure/helper/index.d.ts +3 -1
- package/dist/dataStructure/index.cjs +29 -8
- package/dist/dataStructure/index.mjs +19 -6
- package/dist/dataStructure/type/folder.cjs +14 -0
- package/dist/dataStructure/type/folder.d.ts +11 -0
- package/dist/dataStructure/type/folder.mjs +11 -0
- package/dist/dataStructure/type/index.d.ts +1 -0
- package/dist/dataStructure/type/types/types.d.ts +2 -0
- package/dist/file/appendFile.cjs +46 -22
- package/dist/file/appendFile.d.ts +37 -5
- package/dist/file/appendFile.mjs +36 -23
- package/dist/file/appendTextFile.cjs +44 -20
- package/dist/file/appendTextFile.d.ts +37 -5
- package/dist/file/appendTextFile.mjs +34 -21
- package/dist/file/copy.cjs +36 -14
- package/dist/file/copy.d.ts +37 -5
- package/dist/file/copy.mjs +26 -15
- package/dist/file/createEntryInterface.cjs +6 -3
- package/dist/file/createEntryInterface.d.ts +1 -1
- package/dist/file/createEntryInterface.mjs +4 -2
- package/dist/file/ensureDirectory.cjs +37 -17
- package/dist/file/ensureDirectory.d.ts +30 -4
- package/dist/file/ensureDirectory.mjs +29 -18
- package/dist/file/ensureFile.cjs +41 -19
- package/dist/file/ensureFile.d.ts +33 -4
- package/dist/file/ensureFile.mjs +32 -20
- package/dist/file/exists.cjs +28 -14
- package/dist/file/exists.d.ts +21 -4
- package/dist/file/exists.mjs +23 -15
- package/dist/file/fileInterface.cjs +3 -1
- package/dist/file/fileInterface.d.ts +10 -9
- package/dist/file/fileInterface.mjs +3 -2
- package/dist/file/folderInterface.cjs +3 -1
- package/dist/file/folderInterface.d.ts +9 -8
- package/dist/file/folderInterface.mjs +3 -2
- package/dist/file/index.cjs +512 -0
- package/dist/file/index.d.ts +0 -1
- package/dist/file/index.mjs +291 -35
- package/dist/file/link.cjs +48 -22
- package/dist/file/link.d.ts +40 -5
- package/dist/file/link.mjs +37 -23
- package/dist/file/linkStat.cjs +29 -15
- package/dist/file/linkStat.d.ts +24 -4
- package/dist/file/linkStat.mjs +24 -16
- package/dist/file/makeDirectory.cjs +45 -21
- package/dist/file/makeDirectory.d.ts +35 -4
- package/dist/file/makeDirectory.mjs +35 -22
- package/dist/file/makeTemporaryDirectory.cjs +33 -15
- package/dist/file/makeTemporaryDirectory.d.ts +25 -2
- package/dist/file/makeTemporaryDirectory.mjs +26 -16
- package/dist/file/makeTemporaryFile.cjs +37 -20
- package/dist/file/makeTemporaryFile.d.ts +28 -2
- package/dist/file/makeTemporaryFile.mjs +30 -21
- package/dist/file/move.cjs +49 -23
- package/dist/file/move.d.ts +40 -5
- package/dist/file/move.mjs +38 -24
- package/dist/file/readDirectory.cjs +33 -9
- package/dist/file/readDirectory.d.ts +26 -5
- package/dist/file/readDirectory.mjs +25 -10
- package/dist/file/readFile.cjs +35 -17
- package/dist/file/readFile.d.ts +27 -4
- package/dist/file/readFile.mjs +28 -18
- package/dist/file/readJsonFile.cjs +35 -17
- package/dist/file/readJsonFile.d.ts +27 -5
- package/dist/file/readJsonFile.mjs +28 -18
- package/dist/file/readLink.cjs +31 -15
- package/dist/file/readLink.d.ts +24 -4
- package/dist/file/readLink.mjs +25 -16
- package/dist/file/readTextFile.cjs +35 -17
- package/dist/file/readTextFile.d.ts +27 -4
- package/dist/file/readTextFile.mjs +28 -18
- package/dist/file/realPath.cjs +27 -13
- package/dist/file/realPath.d.ts +21 -4
- package/dist/file/realPath.mjs +22 -14
- package/dist/file/relocate.cjs +52 -25
- package/dist/file/relocate.d.ts +40 -5
- package/dist/file/relocate.mjs +41 -26
- package/dist/file/remove.cjs +45 -23
- package/dist/file/remove.d.ts +32 -4
- package/dist/file/remove.mjs +36 -24
- package/dist/file/rename.cjs +52 -25
- package/dist/file/rename.d.ts +40 -5
- package/dist/file/rename.mjs +41 -26
- package/dist/file/setMode.cjs +29 -15
- package/dist/file/setMode.d.ts +24 -5
- package/dist/file/setMode.mjs +24 -16
- package/dist/file/setOwner.cjs +31 -15
- package/dist/file/setOwner.d.ts +25 -5
- package/dist/file/setOwner.mjs +25 -16
- package/dist/file/setTime.cjs +31 -15
- package/dist/file/setTime.d.ts +24 -5
- package/dist/file/setTime.mjs +25 -16
- package/dist/file/stat.cjs +29 -15
- package/dist/file/stat.d.ts +24 -4
- package/dist/file/stat.mjs +24 -16
- package/dist/file/symlink.cjs +42 -20
- package/dist/file/symlink.d.ts +34 -5
- package/dist/file/symlink.mjs +33 -21
- package/dist/file/truncate.cjs +43 -21
- package/dist/file/truncate.d.ts +36 -4
- package/dist/file/truncate.mjs +34 -22
- package/dist/file/unknownEntryInterface.cjs +5 -1
- package/dist/file/unknownEntryInterface.d.ts +8 -6
- package/dist/file/unknownEntryInterface.mjs +4 -2
- package/dist/file/walkDirectory.cjs +38 -15
- package/dist/file/walkDirectory.d.ts +25 -4
- package/dist/file/walkDirectory.mjs +32 -15
- package/dist/file/writeFile.cjs +45 -21
- package/dist/file/writeFile.d.ts +37 -5
- package/dist/file/writeFile.mjs +35 -22
- package/dist/file/writeJsonFile.cjs +48 -27
- package/dist/file/writeJsonFile.d.ts +37 -6
- package/dist/file/writeJsonFile.mjs +39 -28
- package/dist/file/writeTextFile.cjs +45 -21
- package/dist/file/writeTextFile.d.ts +37 -5
- package/dist/file/writeTextFile.mjs +35 -22
- package/dist/implementor.cjs +8 -5
- package/dist/implementor.d.ts +4 -4
- package/dist/implementor.mjs +8 -5
- package/dist/index.cjs +2 -0
- package/dist/index.mjs +2 -1
- package/dist/override.d.ts +8 -0
- package/package.json +4 -4
- package/dist/dataStructure/constraint/exist.d.ts +0 -10
- package/dist/dataStructure/helper/exist.cjs +0 -7
- package/dist/dataStructure/helper/exist.d.ts +0 -2
- package/dist/dataStructure/helper/exist.mjs +0 -7
- package/dist/file/types/fileSystemEither.d.ts +0 -2
- package/dist/file/types/index.d.ts +0 -1
- /package/{README → README.md} +0 -0
|
@@ -1,18 +1,33 @@
|
|
|
1
1
|
import { implementFunction, nodeFileSystem } from "../implementor.mjs";
|
|
2
|
+
import { getCurrentWorkDirectoryOrThrow } from "../common/getCurrentWorkDirectoryOrThrow.mjs";
|
|
3
|
+
import * as DCommon from "@duplojs/lang/common";
|
|
2
4
|
import * as DEither from "@duplojs/lang/either";
|
|
5
|
+
import * as DPath from "@duplojs/lang/path";
|
|
6
|
+
import * as DArray from "@duplojs/lang/array";
|
|
3
7
|
//#region scripts/file/readDirectory.ts
|
|
8
|
+
var ReadDirectoryErrorNotFound = class extends DCommon.DuploJSError.parentClass("file-system-read-directory-not-found", Error) {};
|
|
9
|
+
var ReadDirectoryErrorPermissionDenied = class extends DCommon.DuploJSError.parentClass("file-system-read-directory-permission-denied", Error) {};
|
|
10
|
+
var ReadDirectoryErrorNotDirectory = class extends DCommon.DuploJSError.parentClass("file-system-read-directory-not-directory", Error) {};
|
|
11
|
+
var ReadDirectoryErrorTooManyOpenFiles = class extends DCommon.DuploJSError.parentClass("file-system-read-directory-too-many-open-files", Error) {};
|
|
12
|
+
var ReadDirectoryErrorBusy = class extends DCommon.DuploJSError.parentClass("file-system-read-directory-busy", Error) {};
|
|
13
|
+
var ReadDirectoryError = class extends DCommon.DuploJSError.parentClass("file-system-read-directory-error", Error) {};
|
|
4
14
|
function handleNodeReadDirectoryError(error) {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
else if (error.code === "
|
|
9
|
-
else if (error.code === "
|
|
10
|
-
else if (error.code === "
|
|
15
|
+
let readDirectoryError = void 0;
|
|
16
|
+
if ("code" in error) {
|
|
17
|
+
if (error.code === "ENOENT") readDirectoryError = new ReadDirectoryErrorNotFound(error);
|
|
18
|
+
else if (error.code === "EACCES" || error.code === "EPERM") readDirectoryError = new ReadDirectoryErrorPermissionDenied(error);
|
|
19
|
+
else if (error.code === "ENOTDIR") readDirectoryError = new ReadDirectoryErrorNotDirectory(error);
|
|
20
|
+
else if (error.code === "EMFILE" || error.code === "ENFILE") readDirectoryError = new ReadDirectoryErrorTooManyOpenFiles(error);
|
|
21
|
+
else if (error.code === "EBUSY") readDirectoryError = new ReadDirectoryErrorBusy(error);
|
|
11
22
|
}
|
|
12
|
-
|
|
23
|
+
if (readDirectoryError === void 0) readDirectoryError = new ReadDirectoryError(error);
|
|
24
|
+
return DEither.left("file-system-read-directory-error", readDirectoryError);
|
|
13
25
|
}
|
|
14
|
-
const readDirectory = implementFunction("readDirectory", { NODE:
|
|
15
|
-
return (
|
|
26
|
+
const readDirectory = implementFunction("readDirectory", { NODE: (path, params) => {
|
|
27
|
+
return (params?.absolute ? nodeFileSystem.value.readdir(path, {
|
|
28
|
+
recursive: params.recursive,
|
|
29
|
+
withFileTypes: true
|
|
30
|
+
}).then((value) => DArray.map(value, ({ name, parentPath }) => DPath.resolveFrom(getCurrentWorkDirectoryOrThrow(), [DPath.normalize(`${parentPath}/${name}`)]))) : nodeFileSystem.value.readdir(path, { recursive: params?.recursive }).then((value) => DArray.map(value, (subPath) => DPath.normalize(subPath)))).then(DCommon.innerPipe((paths) => params?.matcher ? DArray.filter(paths, params.matcher) : paths, (value) => DEither.right("file-system-read-directory", value))).catch(handleNodeReadDirectoryError);
|
|
16
31
|
} });
|
|
17
32
|
//#endregion
|
|
18
|
-
export { readDirectory };
|
|
33
|
+
export { ReadDirectoryError, ReadDirectoryErrorBusy, ReadDirectoryErrorNotDirectory, ReadDirectoryErrorNotFound, ReadDirectoryErrorPermissionDenied, ReadDirectoryErrorTooManyOpenFiles, readDirectory };
|
package/dist/file/readFile.cjs
CHANGED
|
@@ -1,33 +1,51 @@
|
|
|
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/readFile.ts
|
|
8
|
+
var ReadFileErrorNotFound = class extends _duplojs_lang_common.DuploJSError.parentClass("file-system-read-file-not-found", Error) {};
|
|
9
|
+
var ReadFileErrorPermissionDenied = class extends _duplojs_lang_common.DuploJSError.parentClass("file-system-read-file-permission-denied", Error) {};
|
|
10
|
+
var ReadFileErrorIsDirectory = class extends _duplojs_lang_common.DuploJSError.parentClass("file-system-read-file-is-directory", Error) {};
|
|
11
|
+
var ReadFileErrorNotDirectory = class extends _duplojs_lang_common.DuploJSError.parentClass("file-system-read-file-not-directory", Error) {};
|
|
12
|
+
var ReadFileErrorTooManyOpenFiles = class extends _duplojs_lang_common.DuploJSError.parentClass("file-system-read-file-too-many-open-files", Error) {};
|
|
13
|
+
var ReadFileErrorBusy = class extends _duplojs_lang_common.DuploJSError.parentClass("file-system-read-file-busy", Error) {};
|
|
14
|
+
var ReadFileError = class extends _duplojs_lang_common.DuploJSError.parentClass("file-system-read-file-error", Error) {};
|
|
6
15
|
function handleNodeReadFileError(error) {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
else if (error.code === "
|
|
11
|
-
else if (error.code === "
|
|
12
|
-
else if (error.code === "
|
|
13
|
-
else if (error.code === "
|
|
16
|
+
let readFileError = void 0;
|
|
17
|
+
if ("code" in error) {
|
|
18
|
+
if (error.code === "ENOENT") readFileError = new ReadFileErrorNotFound(error);
|
|
19
|
+
else if (error.code === "EACCES" || error.code === "EPERM") readFileError = new ReadFileErrorPermissionDenied(error);
|
|
20
|
+
else if (error.code === "EISDIR") readFileError = new ReadFileErrorIsDirectory(error);
|
|
21
|
+
else if (error.code === "ENOTDIR") readFileError = new ReadFileErrorNotDirectory(error);
|
|
22
|
+
else if (error.code === "EMFILE" || error.code === "ENFILE") readFileError = new ReadFileErrorTooManyOpenFiles(error);
|
|
23
|
+
else if (error.code === "EBUSY") readFileError = new ReadFileErrorBusy(error);
|
|
14
24
|
}
|
|
15
|
-
|
|
25
|
+
if (readFileError === void 0) readFileError = new ReadFileError(error);
|
|
26
|
+
return _duplojs_lang_either.left("file-system-read-file-error", readFileError);
|
|
16
27
|
}
|
|
17
28
|
function handleDenoReadFileError(error) {
|
|
18
|
-
|
|
19
|
-
if (error instanceof Deno.errors.
|
|
20
|
-
if (error instanceof Deno.errors.
|
|
21
|
-
if (error instanceof Deno.errors.
|
|
22
|
-
if (error instanceof Deno.errors.
|
|
23
|
-
|
|
29
|
+
let readFileError = void 0;
|
|
30
|
+
if (error instanceof Deno.errors.NotFound) readFileError = new ReadFileErrorNotFound(error);
|
|
31
|
+
else if (error instanceof Deno.errors.PermissionDenied || error instanceof Deno.errors.NotCapable) readFileError = new ReadFileErrorPermissionDenied(error);
|
|
32
|
+
else if (error instanceof Deno.errors.IsADirectory) readFileError = new ReadFileErrorIsDirectory(error);
|
|
33
|
+
else if (error instanceof Deno.errors.NotADirectory) readFileError = new ReadFileErrorNotDirectory(error);
|
|
34
|
+
else if (error instanceof Deno.errors.Busy) readFileError = new ReadFileErrorBusy(error);
|
|
35
|
+
if (readFileError === void 0) readFileError = new ReadFileError(error);
|
|
36
|
+
return _duplojs_lang_either.left("file-system-read-file-error", readFileError);
|
|
24
37
|
}
|
|
25
38
|
const readFile = require_implementor.implementFunction("readFile", {
|
|
26
|
-
NODE: async (path) =>
|
|
27
|
-
return (await require_implementor.nodeFileSystem.value).readFile(path).then((value) => _duplojs_lang_either.right("file-system-read-file", value)).catch(handleNodeReadFileError);
|
|
28
|
-
},
|
|
39
|
+
NODE: async (path) => require_implementor.nodeFileSystem.value.readFile(path).then((value) => _duplojs_lang_either.right("file-system-read-file", value)).catch(handleNodeReadFileError),
|
|
29
40
|
DENO: (path) => Deno.readFile(path).then((value) => _duplojs_lang_either.right("file-system-read-file", value)).catch(handleDenoReadFileError),
|
|
30
41
|
BUN: (path) => Bun.file(path).bytes().then((value) => _duplojs_lang_either.right("file-system-read-file", value)).catch(handleNodeReadFileError)
|
|
31
42
|
});
|
|
32
43
|
//#endregion
|
|
44
|
+
exports.ReadFileError = ReadFileError;
|
|
45
|
+
exports.ReadFileErrorBusy = ReadFileErrorBusy;
|
|
46
|
+
exports.ReadFileErrorIsDirectory = ReadFileErrorIsDirectory;
|
|
47
|
+
exports.ReadFileErrorNotDirectory = ReadFileErrorNotDirectory;
|
|
48
|
+
exports.ReadFileErrorNotFound = ReadFileErrorNotFound;
|
|
49
|
+
exports.ReadFileErrorPermissionDenied = ReadFileErrorPermissionDenied;
|
|
50
|
+
exports.ReadFileErrorTooManyOpenFiles = ReadFileErrorTooManyOpenFiles;
|
|
33
51
|
exports.readFile = readFile;
|
package/dist/file/readFile.d.ts
CHANGED
|
@@ -1,10 +1,33 @@
|
|
|
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
|
-
|
|
3
|
+
import * as DCommon from "@duplojs/lang/common";
|
|
4
|
+
declare const ReadFileErrorNotFound_base: abstract new (error: Error) => DCommon.DuploJSError<"file-system-read-file-not-found", Error> & import('@duplojs/lang/kind').Kind<import('@duplojs/lang/kind').Handler<import('@duplojs/lang/kind').Definition<"@DuplojsLangCommon/duplojs-error-file-system-read-file-not-found", unknown>>, unknown>;
|
|
5
|
+
export declare class ReadFileErrorNotFound extends ReadFileErrorNotFound_base {
|
|
6
|
+
}
|
|
7
|
+
declare const ReadFileErrorPermissionDenied_base: abstract new (error: Error) => DCommon.DuploJSError<"file-system-read-file-permission-denied", Error> & import('@duplojs/lang/kind').Kind<import('@duplojs/lang/kind').Handler<import('@duplojs/lang/kind').Definition<"@DuplojsLangCommon/duplojs-error-file-system-read-file-permission-denied", unknown>>, unknown>;
|
|
8
|
+
export declare class ReadFileErrorPermissionDenied extends ReadFileErrorPermissionDenied_base {
|
|
9
|
+
}
|
|
10
|
+
declare const ReadFileErrorIsDirectory_base: abstract new (error: Error) => DCommon.DuploJSError<"file-system-read-file-is-directory", Error> & import('@duplojs/lang/kind').Kind<import('@duplojs/lang/kind').Handler<import('@duplojs/lang/kind').Definition<"@DuplojsLangCommon/duplojs-error-file-system-read-file-is-directory", unknown>>, unknown>;
|
|
11
|
+
export declare class ReadFileErrorIsDirectory extends ReadFileErrorIsDirectory_base {
|
|
12
|
+
}
|
|
13
|
+
declare const ReadFileErrorNotDirectory_base: abstract new (error: Error) => DCommon.DuploJSError<"file-system-read-file-not-directory", Error> & import('@duplojs/lang/kind').Kind<import('@duplojs/lang/kind').Handler<import('@duplojs/lang/kind').Definition<"@DuplojsLangCommon/duplojs-error-file-system-read-file-not-directory", unknown>>, unknown>;
|
|
14
|
+
export declare class ReadFileErrorNotDirectory extends ReadFileErrorNotDirectory_base {
|
|
15
|
+
}
|
|
16
|
+
declare const ReadFileErrorTooManyOpenFiles_base: abstract new (error: Error) => DCommon.DuploJSError<"file-system-read-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-read-file-too-many-open-files", unknown>>, unknown>;
|
|
17
|
+
export declare class ReadFileErrorTooManyOpenFiles extends ReadFileErrorTooManyOpenFiles_base {
|
|
18
|
+
}
|
|
19
|
+
declare const ReadFileErrorBusy_base: abstract new (error: Error) => DCommon.DuploJSError<"file-system-read-file-busy", Error> & import('@duplojs/lang/kind').Kind<import('@duplojs/lang/kind').Handler<import('@duplojs/lang/kind').Definition<"@DuplojsLangCommon/duplojs-error-file-system-read-file-busy", unknown>>, unknown>;
|
|
20
|
+
export declare class ReadFileErrorBusy extends ReadFileErrorBusy_base {
|
|
21
|
+
}
|
|
22
|
+
declare const ReadFileError_base: abstract new (error: Error) => DCommon.DuploJSError<"file-system-read-file-error", Error> & import('@duplojs/lang/kind').Kind<import('@duplojs/lang/kind').Handler<import('@duplojs/lang/kind').Definition<"@DuplojsLangCommon/duplojs-error-file-system-read-file-error", unknown>>, unknown>;
|
|
23
|
+
export declare class ReadFileError extends ReadFileError_base {
|
|
24
|
+
}
|
|
25
|
+
export type ReadFileErrors = (ReadFileErrorNotFound | ReadFileErrorPermissionDenied | ReadFileErrorIsDirectory | ReadFileErrorNotDirectory | ReadFileErrorTooManyOpenFiles | ReadFileErrorBusy | ReadFileError);
|
|
26
|
+
export type ReadFileResult = (DEither.Right<"file-system-read-file", Uint8Array> | DEither.Left<"file-system-read-file-error", ReadFileErrors>);
|
|
5
27
|
declare module '../implementor' {
|
|
6
28
|
interface ServerFunction {
|
|
7
|
-
readFile(path:
|
|
29
|
+
readFile(path: DPath.AnyPath): Promise<ReadFileResult>;
|
|
8
30
|
}
|
|
9
31
|
}
|
|
10
|
-
export declare const readFile: (path:
|
|
32
|
+
export declare const readFile: (path: DPath.AnyPath) => Promise<ReadFileResult>;
|
|
33
|
+
export {};
|
package/dist/file/readFile.mjs
CHANGED
|
@@ -1,31 +1,41 @@
|
|
|
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/readFile.ts
|
|
5
|
+
var ReadFileErrorNotFound = class extends DCommon.DuploJSError.parentClass("file-system-read-file-not-found", Error) {};
|
|
6
|
+
var ReadFileErrorPermissionDenied = class extends DCommon.DuploJSError.parentClass("file-system-read-file-permission-denied", Error) {};
|
|
7
|
+
var ReadFileErrorIsDirectory = class extends DCommon.DuploJSError.parentClass("file-system-read-file-is-directory", Error) {};
|
|
8
|
+
var ReadFileErrorNotDirectory = class extends DCommon.DuploJSError.parentClass("file-system-read-file-not-directory", Error) {};
|
|
9
|
+
var ReadFileErrorTooManyOpenFiles = class extends DCommon.DuploJSError.parentClass("file-system-read-file-too-many-open-files", Error) {};
|
|
10
|
+
var ReadFileErrorBusy = class extends DCommon.DuploJSError.parentClass("file-system-read-file-busy", Error) {};
|
|
11
|
+
var ReadFileError = class extends DCommon.DuploJSError.parentClass("file-system-read-file-error", Error) {};
|
|
4
12
|
function handleNodeReadFileError(error) {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
else if (error.code === "
|
|
9
|
-
else if (error.code === "
|
|
10
|
-
else if (error.code === "
|
|
11
|
-
else if (error.code === "
|
|
13
|
+
let readFileError = void 0;
|
|
14
|
+
if ("code" in error) {
|
|
15
|
+
if (error.code === "ENOENT") readFileError = new ReadFileErrorNotFound(error);
|
|
16
|
+
else if (error.code === "EACCES" || error.code === "EPERM") readFileError = new ReadFileErrorPermissionDenied(error);
|
|
17
|
+
else if (error.code === "EISDIR") readFileError = new ReadFileErrorIsDirectory(error);
|
|
18
|
+
else if (error.code === "ENOTDIR") readFileError = new ReadFileErrorNotDirectory(error);
|
|
19
|
+
else if (error.code === "EMFILE" || error.code === "ENFILE") readFileError = new ReadFileErrorTooManyOpenFiles(error);
|
|
20
|
+
else if (error.code === "EBUSY") readFileError = new ReadFileErrorBusy(error);
|
|
12
21
|
}
|
|
13
|
-
|
|
22
|
+
if (readFileError === void 0) readFileError = new ReadFileError(error);
|
|
23
|
+
return DEither.left("file-system-read-file-error", readFileError);
|
|
14
24
|
}
|
|
15
25
|
function handleDenoReadFileError(error) {
|
|
16
|
-
|
|
17
|
-
if (error instanceof Deno.errors.
|
|
18
|
-
if (error instanceof Deno.errors.
|
|
19
|
-
if (error instanceof Deno.errors.
|
|
20
|
-
if (error instanceof Deno.errors.
|
|
21
|
-
|
|
26
|
+
let readFileError = void 0;
|
|
27
|
+
if (error instanceof Deno.errors.NotFound) readFileError = new ReadFileErrorNotFound(error);
|
|
28
|
+
else if (error instanceof Deno.errors.PermissionDenied || error instanceof Deno.errors.NotCapable) readFileError = new ReadFileErrorPermissionDenied(error);
|
|
29
|
+
else if (error instanceof Deno.errors.IsADirectory) readFileError = new ReadFileErrorIsDirectory(error);
|
|
30
|
+
else if (error instanceof Deno.errors.NotADirectory) readFileError = new ReadFileErrorNotDirectory(error);
|
|
31
|
+
else if (error instanceof Deno.errors.Busy) readFileError = new ReadFileErrorBusy(error);
|
|
32
|
+
if (readFileError === void 0) readFileError = new ReadFileError(error);
|
|
33
|
+
return DEither.left("file-system-read-file-error", readFileError);
|
|
22
34
|
}
|
|
23
35
|
const readFile = implementFunction("readFile", {
|
|
24
|
-
NODE: async (path) =>
|
|
25
|
-
return (await nodeFileSystem.value).readFile(path).then((value) => DEither.right("file-system-read-file", value)).catch(handleNodeReadFileError);
|
|
26
|
-
},
|
|
36
|
+
NODE: async (path) => nodeFileSystem.value.readFile(path).then((value) => DEither.right("file-system-read-file", value)).catch(handleNodeReadFileError),
|
|
27
37
|
DENO: (path) => Deno.readFile(path).then((value) => DEither.right("file-system-read-file", value)).catch(handleDenoReadFileError),
|
|
28
38
|
BUN: (path) => Bun.file(path).bytes().then((value) => DEither.right("file-system-read-file", value)).catch(handleNodeReadFileError)
|
|
29
39
|
});
|
|
30
40
|
//#endregion
|
|
31
|
-
export { readFile };
|
|
41
|
+
export { ReadFileError, ReadFileErrorBusy, ReadFileErrorIsDirectory, ReadFileErrorNotDirectory, ReadFileErrorNotFound, ReadFileErrorPermissionDenied, ReadFileErrorTooManyOpenFiles, readFile };
|
|
@@ -1,33 +1,51 @@
|
|
|
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/readJsonFile.ts
|
|
8
|
+
var ReadJsonFileErrorNotFound = class extends _duplojs_lang_common.DuploJSError.parentClass("file-system-read-json-file-not-found", Error) {};
|
|
9
|
+
var ReadJsonFileErrorPermissionDenied = class extends _duplojs_lang_common.DuploJSError.parentClass("file-system-read-json-file-permission-denied", Error) {};
|
|
10
|
+
var ReadJsonFileErrorIsDirectory = class extends _duplojs_lang_common.DuploJSError.parentClass("file-system-read-json-file-is-directory", Error) {};
|
|
11
|
+
var ReadJsonFileErrorNotDirectory = class extends _duplojs_lang_common.DuploJSError.parentClass("file-system-read-json-file-not-directory", Error) {};
|
|
12
|
+
var ReadJsonFileErrorTooManyOpenFiles = class extends _duplojs_lang_common.DuploJSError.parentClass("file-system-read-json-file-too-many-open-files", Error) {};
|
|
13
|
+
var ReadJsonFileErrorBusy = class extends _duplojs_lang_common.DuploJSError.parentClass("file-system-read-json-file-busy", Error) {};
|
|
14
|
+
var ReadJsonFileError = class extends _duplojs_lang_common.DuploJSError.parentClass("file-system-read-json-file-error", Error) {};
|
|
6
15
|
function handleNodeReadJsonFileError(error) {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
else if (error.code === "
|
|
11
|
-
else if (error.code === "
|
|
12
|
-
else if (error.code === "
|
|
13
|
-
else if (error.code === "
|
|
16
|
+
let readJsonFileError = void 0;
|
|
17
|
+
if ("code" in error) {
|
|
18
|
+
if (error.code === "ENOENT") readJsonFileError = new ReadJsonFileErrorNotFound(error);
|
|
19
|
+
else if (error.code === "EACCES" || error.code === "EPERM") readJsonFileError = new ReadJsonFileErrorPermissionDenied(error);
|
|
20
|
+
else if (error.code === "EISDIR") readJsonFileError = new ReadJsonFileErrorIsDirectory(error);
|
|
21
|
+
else if (error.code === "ENOTDIR") readJsonFileError = new ReadJsonFileErrorNotDirectory(error);
|
|
22
|
+
else if (error.code === "EMFILE" || error.code === "ENFILE") readJsonFileError = new ReadJsonFileErrorTooManyOpenFiles(error);
|
|
23
|
+
else if (error.code === "EBUSY") readJsonFileError = new ReadJsonFileErrorBusy(error);
|
|
14
24
|
}
|
|
15
|
-
|
|
25
|
+
if (readJsonFileError === void 0) readJsonFileError = new ReadJsonFileError(error);
|
|
26
|
+
return _duplojs_lang_either.left("file-system-read-json-file-error", readJsonFileError);
|
|
16
27
|
}
|
|
17
28
|
function handleDenoReadJsonFileError(error) {
|
|
18
|
-
|
|
19
|
-
if (error instanceof Deno.errors.
|
|
20
|
-
if (error instanceof Deno.errors.
|
|
21
|
-
if (error instanceof Deno.errors.
|
|
22
|
-
if (error instanceof Deno.errors.
|
|
23
|
-
|
|
29
|
+
let readJsonFileError = void 0;
|
|
30
|
+
if (error instanceof Deno.errors.NotFound) readJsonFileError = new ReadJsonFileErrorNotFound(error);
|
|
31
|
+
else if (error instanceof Deno.errors.PermissionDenied || error instanceof Deno.errors.NotCapable) readJsonFileError = new ReadJsonFileErrorPermissionDenied(error);
|
|
32
|
+
else if (error instanceof Deno.errors.IsADirectory) readJsonFileError = new ReadJsonFileErrorIsDirectory(error);
|
|
33
|
+
else if (error instanceof Deno.errors.NotADirectory) readJsonFileError = new ReadJsonFileErrorNotDirectory(error);
|
|
34
|
+
else if (error instanceof Deno.errors.Busy) readJsonFileError = new ReadJsonFileErrorBusy(error);
|
|
35
|
+
if (readJsonFileError === void 0) readJsonFileError = new ReadJsonFileError(error);
|
|
36
|
+
return _duplojs_lang_either.left("file-system-read-json-file-error", readJsonFileError);
|
|
24
37
|
}
|
|
25
38
|
const readJsonFile = require_implementor.implementFunction("readJsonFile", {
|
|
26
|
-
NODE: async (path) => {
|
|
27
|
-
return (await require_implementor.nodeFileSystem.value).readFile(path, { encoding: "utf-8" }).then(JSON.parse).then((value) => _duplojs_lang_either.right("file-system-read-json-file", value)).catch(handleNodeReadJsonFileError);
|
|
28
|
-
},
|
|
39
|
+
NODE: async (path) => require_implementor.nodeFileSystem.value.readFile(path, { encoding: "utf-8" }).then(JSON.parse).then((value) => _duplojs_lang_either.right("file-system-read-json-file", value)).catch(handleNodeReadJsonFileError),
|
|
29
40
|
DENO: (path) => Deno.readTextFile(path).then(JSON.parse).then((value) => _duplojs_lang_either.right("file-system-read-json-file", value)).catch(handleDenoReadJsonFileError),
|
|
30
41
|
BUN: (path) => Bun.file(path).text().then(JSON.parse).then((value) => _duplojs_lang_either.right("file-system-read-json-file", value)).catch(handleNodeReadJsonFileError)
|
|
31
42
|
});
|
|
32
43
|
//#endregion
|
|
44
|
+
exports.ReadJsonFileError = ReadJsonFileError;
|
|
45
|
+
exports.ReadJsonFileErrorBusy = ReadJsonFileErrorBusy;
|
|
46
|
+
exports.ReadJsonFileErrorIsDirectory = ReadJsonFileErrorIsDirectory;
|
|
47
|
+
exports.ReadJsonFileErrorNotDirectory = ReadJsonFileErrorNotDirectory;
|
|
48
|
+
exports.ReadJsonFileErrorNotFound = ReadJsonFileErrorNotFound;
|
|
49
|
+
exports.ReadJsonFileErrorPermissionDenied = ReadJsonFileErrorPermissionDenied;
|
|
50
|
+
exports.ReadJsonFileErrorTooManyOpenFiles = ReadJsonFileErrorTooManyOpenFiles;
|
|
33
51
|
exports.readJsonFile = readJsonFile;
|
|
@@ -1,11 +1,33 @@
|
|
|
1
|
-
import
|
|
2
|
-
import type * as DCommon from "@duplojs/lang/common";
|
|
1
|
+
import * as DCommon from "@duplojs/lang/common";
|
|
3
2
|
import * as DEither from "@duplojs/lang/either";
|
|
4
3
|
import type * as DPath from "@duplojs/lang/path";
|
|
5
|
-
|
|
4
|
+
declare const ReadJsonFileErrorNotFound_base: abstract new (error: Error) => DCommon.DuploJSError<"file-system-read-json-file-not-found", Error> & import('@duplojs/lang/kind').Kind<import('@duplojs/lang/kind').Handler<import('@duplojs/lang/kind').Definition<"@DuplojsLangCommon/duplojs-error-file-system-read-json-file-not-found", unknown>>, unknown>;
|
|
5
|
+
export declare class ReadJsonFileErrorNotFound extends ReadJsonFileErrorNotFound_base {
|
|
6
|
+
}
|
|
7
|
+
declare const ReadJsonFileErrorPermissionDenied_base: abstract new (error: Error) => DCommon.DuploJSError<"file-system-read-json-file-permission-denied", Error> & import('@duplojs/lang/kind').Kind<import('@duplojs/lang/kind').Handler<import('@duplojs/lang/kind').Definition<"@DuplojsLangCommon/duplojs-error-file-system-read-json-file-permission-denied", unknown>>, unknown>;
|
|
8
|
+
export declare class ReadJsonFileErrorPermissionDenied extends ReadJsonFileErrorPermissionDenied_base {
|
|
9
|
+
}
|
|
10
|
+
declare const ReadJsonFileErrorIsDirectory_base: abstract new (error: Error) => DCommon.DuploJSError<"file-system-read-json-file-is-directory", Error> & import('@duplojs/lang/kind').Kind<import('@duplojs/lang/kind').Handler<import('@duplojs/lang/kind').Definition<"@DuplojsLangCommon/duplojs-error-file-system-read-json-file-is-directory", unknown>>, unknown>;
|
|
11
|
+
export declare class ReadJsonFileErrorIsDirectory extends ReadJsonFileErrorIsDirectory_base {
|
|
12
|
+
}
|
|
13
|
+
declare const ReadJsonFileErrorNotDirectory_base: abstract new (error: Error) => DCommon.DuploJSError<"file-system-read-json-file-not-directory", Error> & import('@duplojs/lang/kind').Kind<import('@duplojs/lang/kind').Handler<import('@duplojs/lang/kind').Definition<"@DuplojsLangCommon/duplojs-error-file-system-read-json-file-not-directory", unknown>>, unknown>;
|
|
14
|
+
export declare class ReadJsonFileErrorNotDirectory extends ReadJsonFileErrorNotDirectory_base {
|
|
15
|
+
}
|
|
16
|
+
declare const ReadJsonFileErrorTooManyOpenFiles_base: abstract new (error: Error) => DCommon.DuploJSError<"file-system-read-json-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-read-json-file-too-many-open-files", unknown>>, unknown>;
|
|
17
|
+
export declare class ReadJsonFileErrorTooManyOpenFiles extends ReadJsonFileErrorTooManyOpenFiles_base {
|
|
18
|
+
}
|
|
19
|
+
declare const ReadJsonFileErrorBusy_base: abstract new (error: Error) => DCommon.DuploJSError<"file-system-read-json-file-busy", Error> & import('@duplojs/lang/kind').Kind<import('@duplojs/lang/kind').Handler<import('@duplojs/lang/kind').Definition<"@DuplojsLangCommon/duplojs-error-file-system-read-json-file-busy", unknown>>, unknown>;
|
|
20
|
+
export declare class ReadJsonFileErrorBusy extends ReadJsonFileErrorBusy_base {
|
|
21
|
+
}
|
|
22
|
+
declare const ReadJsonFileError_base: abstract new (error: Error) => DCommon.DuploJSError<"file-system-read-json-file-error", Error> & import('@duplojs/lang/kind').Kind<import('@duplojs/lang/kind').Handler<import('@duplojs/lang/kind').Definition<"@DuplojsLangCommon/duplojs-error-file-system-read-json-file-error", unknown>>, unknown>;
|
|
23
|
+
export declare class ReadJsonFileError extends ReadJsonFileError_base {
|
|
24
|
+
}
|
|
25
|
+
export type ReadJsonFileErrors = (ReadJsonFileErrorNotFound | ReadJsonFileErrorPermissionDenied | ReadJsonFileErrorIsDirectory | ReadJsonFileErrorNotDirectory | ReadJsonFileErrorTooManyOpenFiles | ReadJsonFileErrorBusy | ReadJsonFileError);
|
|
26
|
+
export type ReadJsonFileResult = (DEither.Right<"file-system-read-json-file", DCommon.Json> | DEither.Left<"file-system-read-json-file-error", ReadJsonFileErrors>);
|
|
6
27
|
declare module '../implementor' {
|
|
7
28
|
interface ServerFunction {
|
|
8
|
-
readJsonFile(path:
|
|
29
|
+
readJsonFile(path: DPath.AnyPath): Promise<ReadJsonFileResult>;
|
|
9
30
|
}
|
|
10
31
|
}
|
|
11
|
-
export declare const readJsonFile: (path:
|
|
32
|
+
export declare const readJsonFile: (path: DPath.AnyPath) => Promise<ReadJsonFileResult>;
|
|
33
|
+
export {};
|
|
@@ -1,31 +1,41 @@
|
|
|
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/readJsonFile.ts
|
|
5
|
+
var ReadJsonFileErrorNotFound = class extends DCommon.DuploJSError.parentClass("file-system-read-json-file-not-found", Error) {};
|
|
6
|
+
var ReadJsonFileErrorPermissionDenied = class extends DCommon.DuploJSError.parentClass("file-system-read-json-file-permission-denied", Error) {};
|
|
7
|
+
var ReadJsonFileErrorIsDirectory = class extends DCommon.DuploJSError.parentClass("file-system-read-json-file-is-directory", Error) {};
|
|
8
|
+
var ReadJsonFileErrorNotDirectory = class extends DCommon.DuploJSError.parentClass("file-system-read-json-file-not-directory", Error) {};
|
|
9
|
+
var ReadJsonFileErrorTooManyOpenFiles = class extends DCommon.DuploJSError.parentClass("file-system-read-json-file-too-many-open-files", Error) {};
|
|
10
|
+
var ReadJsonFileErrorBusy = class extends DCommon.DuploJSError.parentClass("file-system-read-json-file-busy", Error) {};
|
|
11
|
+
var ReadJsonFileError = class extends DCommon.DuploJSError.parentClass("file-system-read-json-file-error", Error) {};
|
|
4
12
|
function handleNodeReadJsonFileError(error) {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
else if (error.code === "
|
|
9
|
-
else if (error.code === "
|
|
10
|
-
else if (error.code === "
|
|
11
|
-
else if (error.code === "
|
|
13
|
+
let readJsonFileError = void 0;
|
|
14
|
+
if ("code" in error) {
|
|
15
|
+
if (error.code === "ENOENT") readJsonFileError = new ReadJsonFileErrorNotFound(error);
|
|
16
|
+
else if (error.code === "EACCES" || error.code === "EPERM") readJsonFileError = new ReadJsonFileErrorPermissionDenied(error);
|
|
17
|
+
else if (error.code === "EISDIR") readJsonFileError = new ReadJsonFileErrorIsDirectory(error);
|
|
18
|
+
else if (error.code === "ENOTDIR") readJsonFileError = new ReadJsonFileErrorNotDirectory(error);
|
|
19
|
+
else if (error.code === "EMFILE" || error.code === "ENFILE") readJsonFileError = new ReadJsonFileErrorTooManyOpenFiles(error);
|
|
20
|
+
else if (error.code === "EBUSY") readJsonFileError = new ReadJsonFileErrorBusy(error);
|
|
12
21
|
}
|
|
13
|
-
|
|
22
|
+
if (readJsonFileError === void 0) readJsonFileError = new ReadJsonFileError(error);
|
|
23
|
+
return DEither.left("file-system-read-json-file-error", readJsonFileError);
|
|
14
24
|
}
|
|
15
25
|
function handleDenoReadJsonFileError(error) {
|
|
16
|
-
|
|
17
|
-
if (error instanceof Deno.errors.
|
|
18
|
-
if (error instanceof Deno.errors.
|
|
19
|
-
if (error instanceof Deno.errors.
|
|
20
|
-
if (error instanceof Deno.errors.
|
|
21
|
-
|
|
26
|
+
let readJsonFileError = void 0;
|
|
27
|
+
if (error instanceof Deno.errors.NotFound) readJsonFileError = new ReadJsonFileErrorNotFound(error);
|
|
28
|
+
else if (error instanceof Deno.errors.PermissionDenied || error instanceof Deno.errors.NotCapable) readJsonFileError = new ReadJsonFileErrorPermissionDenied(error);
|
|
29
|
+
else if (error instanceof Deno.errors.IsADirectory) readJsonFileError = new ReadJsonFileErrorIsDirectory(error);
|
|
30
|
+
else if (error instanceof Deno.errors.NotADirectory) readJsonFileError = new ReadJsonFileErrorNotDirectory(error);
|
|
31
|
+
else if (error instanceof Deno.errors.Busy) readJsonFileError = new ReadJsonFileErrorBusy(error);
|
|
32
|
+
if (readJsonFileError === void 0) readJsonFileError = new ReadJsonFileError(error);
|
|
33
|
+
return DEither.left("file-system-read-json-file-error", readJsonFileError);
|
|
22
34
|
}
|
|
23
35
|
const readJsonFile = implementFunction("readJsonFile", {
|
|
24
|
-
NODE: async (path) => {
|
|
25
|
-
return (await nodeFileSystem.value).readFile(path, { encoding: "utf-8" }).then(JSON.parse).then((value) => DEither.right("file-system-read-json-file", value)).catch(handleNodeReadJsonFileError);
|
|
26
|
-
},
|
|
36
|
+
NODE: async (path) => nodeFileSystem.value.readFile(path, { encoding: "utf-8" }).then(JSON.parse).then((value) => DEither.right("file-system-read-json-file", value)).catch(handleNodeReadJsonFileError),
|
|
27
37
|
DENO: (path) => Deno.readTextFile(path).then(JSON.parse).then((value) => DEither.right("file-system-read-json-file", value)).catch(handleDenoReadJsonFileError),
|
|
28
38
|
BUN: (path) => Bun.file(path).text().then(JSON.parse).then((value) => DEither.right("file-system-read-json-file", value)).catch(handleNodeReadJsonFileError)
|
|
29
39
|
});
|
|
30
40
|
//#endregion
|
|
31
|
-
export { readJsonFile };
|
|
41
|
+
export { ReadJsonFileError, ReadJsonFileErrorBusy, ReadJsonFileErrorIsDirectory, ReadJsonFileErrorNotDirectory, ReadJsonFileErrorNotFound, ReadJsonFileErrorPermissionDenied, ReadJsonFileErrorTooManyOpenFiles, readJsonFile };
|
package/dist/file/readLink.cjs
CHANGED
|
@@ -1,30 +1,46 @@
|
|
|
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/readLink.ts
|
|
8
|
+
var ReadLinkErrorNotFound = class extends _duplojs_lang_common.DuploJSError.parentClass("file-system-read-link-not-found", Error) {};
|
|
9
|
+
var ReadLinkErrorPermissionDenied = class extends _duplojs_lang_common.DuploJSError.parentClass("file-system-read-link-permission-denied", Error) {};
|
|
10
|
+
var ReadLinkErrorInvalidArgument = class extends _duplojs_lang_common.DuploJSError.parentClass("file-system-read-link-invalid-argument", Error) {};
|
|
11
|
+
var ReadLinkErrorNotDirectory = class extends _duplojs_lang_common.DuploJSError.parentClass("file-system-read-link-not-directory", Error) {};
|
|
12
|
+
var ReadLinkErrorTooManyOpenFiles = class extends _duplojs_lang_common.DuploJSError.parentClass("file-system-read-link-too-many-open-files", Error) {};
|
|
13
|
+
var ReadLinkError = class extends _duplojs_lang_common.DuploJSError.parentClass("file-system-read-link-error", Error) {};
|
|
6
14
|
function handleNodeReadLinkError(error) {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
else if (error.code === "
|
|
11
|
-
else if (error.code === "
|
|
12
|
-
else if (error.code === "
|
|
15
|
+
let readLinkError = void 0;
|
|
16
|
+
if ("code" in error) {
|
|
17
|
+
if (error.code === "ENOENT") readLinkError = new ReadLinkErrorNotFound(error);
|
|
18
|
+
else if (error.code === "EACCES" || error.code === "EPERM") readLinkError = new ReadLinkErrorPermissionDenied(error);
|
|
19
|
+
else if (error.code === "EINVAL") readLinkError = new ReadLinkErrorInvalidArgument(error);
|
|
20
|
+
else if (error.code === "ENOTDIR") readLinkError = new ReadLinkErrorNotDirectory(error);
|
|
21
|
+
else if (error.code === "EMFILE" || error.code === "ENFILE") readLinkError = new ReadLinkErrorTooManyOpenFiles(error);
|
|
13
22
|
}
|
|
14
|
-
|
|
23
|
+
if (readLinkError === void 0) readLinkError = new ReadLinkError(error);
|
|
24
|
+
return _duplojs_lang_either.left("file-system-read-link-error", readLinkError);
|
|
15
25
|
}
|
|
16
26
|
function handleDenoReadLinkError(error) {
|
|
17
|
-
|
|
18
|
-
if (error instanceof Deno.errors.
|
|
19
|
-
if (error instanceof Deno.errors.
|
|
20
|
-
if (error instanceof Deno.errors.
|
|
21
|
-
|
|
27
|
+
let readLinkError = void 0;
|
|
28
|
+
if (error instanceof Deno.errors.NotFound) readLinkError = new ReadLinkErrorNotFound(error);
|
|
29
|
+
else if (error instanceof Deno.errors.PermissionDenied || error instanceof Deno.errors.NotCapable) readLinkError = new ReadLinkErrorPermissionDenied(error);
|
|
30
|
+
else if (error instanceof Deno.errors.InvalidData) readLinkError = new ReadLinkErrorInvalidArgument(error);
|
|
31
|
+
else if (error instanceof Deno.errors.NotADirectory) readLinkError = new ReadLinkErrorNotDirectory(error);
|
|
32
|
+
if (readLinkError === void 0) readLinkError = new ReadLinkError(error);
|
|
33
|
+
return _duplojs_lang_either.left("file-system-read-link-error", readLinkError);
|
|
22
34
|
}
|
|
23
35
|
const readLink = require_implementor.implementFunction("readLink", {
|
|
24
|
-
NODE: async (path) => {
|
|
25
|
-
return (await require_implementor.nodeFileSystem.value).readlink(path, { encoding: "utf-8" }).then((value) => _duplojs_lang_either.right("file-system-read-link", value)).catch(handleNodeReadLinkError);
|
|
26
|
-
},
|
|
36
|
+
NODE: async (path) => require_implementor.nodeFileSystem.value.readlink(path, { encoding: "utf-8" }).then((value) => _duplojs_lang_either.right("file-system-read-link", value)).catch(handleNodeReadLinkError),
|
|
27
37
|
DENO: (path) => Deno.readLink(path).then((value) => _duplojs_lang_either.right("file-system-read-link", value)).catch(handleDenoReadLinkError)
|
|
28
38
|
});
|
|
29
39
|
//#endregion
|
|
40
|
+
exports.ReadLinkError = ReadLinkError;
|
|
41
|
+
exports.ReadLinkErrorInvalidArgument = ReadLinkErrorInvalidArgument;
|
|
42
|
+
exports.ReadLinkErrorNotDirectory = ReadLinkErrorNotDirectory;
|
|
43
|
+
exports.ReadLinkErrorNotFound = ReadLinkErrorNotFound;
|
|
44
|
+
exports.ReadLinkErrorPermissionDenied = ReadLinkErrorPermissionDenied;
|
|
45
|
+
exports.ReadLinkErrorTooManyOpenFiles = ReadLinkErrorTooManyOpenFiles;
|
|
30
46
|
exports.readLink = readLink;
|
package/dist/file/readLink.d.ts
CHANGED
|
@@ -1,10 +1,30 @@
|
|
|
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
|
-
|
|
3
|
+
import * as DCommon from "@duplojs/lang/common";
|
|
4
|
+
declare const ReadLinkErrorNotFound_base: abstract new (error: Error) => DCommon.DuploJSError<"file-system-read-link-not-found", Error> & import('@duplojs/lang/kind').Kind<import('@duplojs/lang/kind').Handler<import('@duplojs/lang/kind').Definition<"@DuplojsLangCommon/duplojs-error-file-system-read-link-not-found", unknown>>, unknown>;
|
|
5
|
+
export declare class ReadLinkErrorNotFound extends ReadLinkErrorNotFound_base {
|
|
6
|
+
}
|
|
7
|
+
declare const ReadLinkErrorPermissionDenied_base: abstract new (error: Error) => DCommon.DuploJSError<"file-system-read-link-permission-denied", Error> & import('@duplojs/lang/kind').Kind<import('@duplojs/lang/kind').Handler<import('@duplojs/lang/kind').Definition<"@DuplojsLangCommon/duplojs-error-file-system-read-link-permission-denied", unknown>>, unknown>;
|
|
8
|
+
export declare class ReadLinkErrorPermissionDenied extends ReadLinkErrorPermissionDenied_base {
|
|
9
|
+
}
|
|
10
|
+
declare const ReadLinkErrorInvalidArgument_base: abstract new (error: Error) => DCommon.DuploJSError<"file-system-read-link-invalid-argument", Error> & import('@duplojs/lang/kind').Kind<import('@duplojs/lang/kind').Handler<import('@duplojs/lang/kind').Definition<"@DuplojsLangCommon/duplojs-error-file-system-read-link-invalid-argument", unknown>>, unknown>;
|
|
11
|
+
export declare class ReadLinkErrorInvalidArgument extends ReadLinkErrorInvalidArgument_base {
|
|
12
|
+
}
|
|
13
|
+
declare const ReadLinkErrorNotDirectory_base: abstract new (error: Error) => DCommon.DuploJSError<"file-system-read-link-not-directory", Error> & import('@duplojs/lang/kind').Kind<import('@duplojs/lang/kind').Handler<import('@duplojs/lang/kind').Definition<"@DuplojsLangCommon/duplojs-error-file-system-read-link-not-directory", unknown>>, unknown>;
|
|
14
|
+
export declare class ReadLinkErrorNotDirectory extends ReadLinkErrorNotDirectory_base {
|
|
15
|
+
}
|
|
16
|
+
declare const ReadLinkErrorTooManyOpenFiles_base: abstract new (error: Error) => DCommon.DuploJSError<"file-system-read-link-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-read-link-too-many-open-files", unknown>>, unknown>;
|
|
17
|
+
export declare class ReadLinkErrorTooManyOpenFiles extends ReadLinkErrorTooManyOpenFiles_base {
|
|
18
|
+
}
|
|
19
|
+
declare const ReadLinkError_base: abstract new (error: Error) => DCommon.DuploJSError<"file-system-read-link-error", Error> & import('@duplojs/lang/kind').Kind<import('@duplojs/lang/kind').Handler<import('@duplojs/lang/kind').Definition<"@DuplojsLangCommon/duplojs-error-file-system-read-link-error", unknown>>, unknown>;
|
|
20
|
+
export declare class ReadLinkError extends ReadLinkError_base {
|
|
21
|
+
}
|
|
22
|
+
export type ReadLinkErrors = (ReadLinkErrorNotFound | ReadLinkErrorPermissionDenied | ReadLinkErrorInvalidArgument | ReadLinkErrorNotDirectory | ReadLinkErrorTooManyOpenFiles | ReadLinkError);
|
|
23
|
+
export type ReadLinkResult = (DEither.Right<"file-system-read-link", string> | DEither.Left<"file-system-read-link-error", ReadLinkErrors>);
|
|
5
24
|
declare module '../implementor' {
|
|
6
25
|
interface ServerFunction {
|
|
7
|
-
readLink(path:
|
|
26
|
+
readLink(path: DPath.AnyPath): Promise<ReadLinkResult>;
|
|
8
27
|
}
|
|
9
28
|
}
|
|
10
|
-
export declare const readLink: (path:
|
|
29
|
+
export declare const readLink: (path: DPath.AnyPath) => Promise<ReadLinkResult>;
|
|
30
|
+
export {};
|
package/dist/file/readLink.mjs
CHANGED
|
@@ -1,28 +1,37 @@
|
|
|
1
1
|
import { implementFunction, nodeFileSystem } from "../implementor.mjs";
|
|
2
|
+
import * as DCommon from "@duplojs/lang/common";
|
|
2
3
|
import * as DEither from "@duplojs/lang/either";
|
|
3
4
|
//#region scripts/file/readLink.ts
|
|
5
|
+
var ReadLinkErrorNotFound = class extends DCommon.DuploJSError.parentClass("file-system-read-link-not-found", Error) {};
|
|
6
|
+
var ReadLinkErrorPermissionDenied = class extends DCommon.DuploJSError.parentClass("file-system-read-link-permission-denied", Error) {};
|
|
7
|
+
var ReadLinkErrorInvalidArgument = class extends DCommon.DuploJSError.parentClass("file-system-read-link-invalid-argument", Error) {};
|
|
8
|
+
var ReadLinkErrorNotDirectory = class extends DCommon.DuploJSError.parentClass("file-system-read-link-not-directory", Error) {};
|
|
9
|
+
var ReadLinkErrorTooManyOpenFiles = class extends DCommon.DuploJSError.parentClass("file-system-read-link-too-many-open-files", Error) {};
|
|
10
|
+
var ReadLinkError = class extends DCommon.DuploJSError.parentClass("file-system-read-link-error", Error) {};
|
|
4
11
|
function handleNodeReadLinkError(error) {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
else if (error.code === "
|
|
9
|
-
else if (error.code === "
|
|
10
|
-
else if (error.code === "
|
|
12
|
+
let readLinkError = void 0;
|
|
13
|
+
if ("code" in error) {
|
|
14
|
+
if (error.code === "ENOENT") readLinkError = new ReadLinkErrorNotFound(error);
|
|
15
|
+
else if (error.code === "EACCES" || error.code === "EPERM") readLinkError = new ReadLinkErrorPermissionDenied(error);
|
|
16
|
+
else if (error.code === "EINVAL") readLinkError = new ReadLinkErrorInvalidArgument(error);
|
|
17
|
+
else if (error.code === "ENOTDIR") readLinkError = new ReadLinkErrorNotDirectory(error);
|
|
18
|
+
else if (error.code === "EMFILE" || error.code === "ENFILE") readLinkError = new ReadLinkErrorTooManyOpenFiles(error);
|
|
11
19
|
}
|
|
12
|
-
|
|
20
|
+
if (readLinkError === void 0) readLinkError = new ReadLinkError(error);
|
|
21
|
+
return DEither.left("file-system-read-link-error", readLinkError);
|
|
13
22
|
}
|
|
14
23
|
function handleDenoReadLinkError(error) {
|
|
15
|
-
|
|
16
|
-
if (error instanceof Deno.errors.
|
|
17
|
-
if (error instanceof Deno.errors.
|
|
18
|
-
if (error instanceof Deno.errors.
|
|
19
|
-
|
|
24
|
+
let readLinkError = void 0;
|
|
25
|
+
if (error instanceof Deno.errors.NotFound) readLinkError = new ReadLinkErrorNotFound(error);
|
|
26
|
+
else if (error instanceof Deno.errors.PermissionDenied || error instanceof Deno.errors.NotCapable) readLinkError = new ReadLinkErrorPermissionDenied(error);
|
|
27
|
+
else if (error instanceof Deno.errors.InvalidData) readLinkError = new ReadLinkErrorInvalidArgument(error);
|
|
28
|
+
else if (error instanceof Deno.errors.NotADirectory) readLinkError = new ReadLinkErrorNotDirectory(error);
|
|
29
|
+
if (readLinkError === void 0) readLinkError = new ReadLinkError(error);
|
|
30
|
+
return DEither.left("file-system-read-link-error", readLinkError);
|
|
20
31
|
}
|
|
21
32
|
const readLink = implementFunction("readLink", {
|
|
22
|
-
NODE: async (path) => {
|
|
23
|
-
return (await nodeFileSystem.value).readlink(path, { encoding: "utf-8" }).then((value) => DEither.right("file-system-read-link", value)).catch(handleNodeReadLinkError);
|
|
24
|
-
},
|
|
33
|
+
NODE: async (path) => nodeFileSystem.value.readlink(path, { encoding: "utf-8" }).then((value) => DEither.right("file-system-read-link", value)).catch(handleNodeReadLinkError),
|
|
25
34
|
DENO: (path) => Deno.readLink(path).then((value) => DEither.right("file-system-read-link", value)).catch(handleDenoReadLinkError)
|
|
26
35
|
});
|
|
27
36
|
//#endregion
|
|
28
|
-
export { readLink };
|
|
37
|
+
export { ReadLinkError, ReadLinkErrorInvalidArgument, ReadLinkErrorNotDirectory, ReadLinkErrorNotFound, ReadLinkErrorPermissionDenied, ReadLinkErrorTooManyOpenFiles, readLink };
|