@duplojs/server 0.1.0-beta.2 → 0.1.0-beta.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_virtual/_rolldown/runtime.mjs +5 -1
- package/dist/command/create.cjs +11 -9
- package/dist/command/create.mjs +11 -9
- package/dist/command/error.cjs +2 -2
- package/dist/command/error.mjs +1 -1
- package/dist/command/help.cjs +11 -9
- package/dist/command/help.mjs +10 -8
- 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 +36 -22
- package/dist/file/appendFile.d.ts +34 -2
- package/dist/file/appendFile.mjs +35 -22
- package/dist/file/appendTextFile.cjs +34 -20
- package/dist/file/appendTextFile.d.ts +34 -2
- package/dist/file/appendTextFile.mjs +33 -20
- package/dist/file/copy.cjs +26 -14
- package/dist/file/copy.d.ts +34 -2
- package/dist/file/copy.mjs +25 -14
- package/dist/file/createEntryInterface.cjs +2 -2
- package/dist/file/createEntryInterface.d.ts +1 -1
- package/dist/file/createEntryInterface.mjs +1 -1
- package/dist/file/ensureDirectory.cjs +29 -17
- package/dist/file/ensureDirectory.d.ts +28 -2
- package/dist/file/ensureDirectory.mjs +28 -17
- package/dist/file/ensureFile.cjs +32 -19
- package/dist/file/ensureFile.d.ts +31 -2
- package/dist/file/ensureFile.mjs +31 -19
- package/dist/file/exists.cjs +23 -14
- package/dist/file/exists.d.ts +19 -2
- package/dist/file/exists.mjs +22 -14
- package/dist/file/fileInterface.cjs +2 -0
- package/dist/file/fileInterface.d.ts +8 -6
- package/dist/file/fileInterface.mjs +2 -1
- package/dist/file/folderInterface.cjs +2 -0
- package/dist/file/folderInterface.d.ts +7 -5
- package/dist/file/folderInterface.mjs +2 -1
- package/dist/file/index.cjs +6 -0
- package/dist/file/index.d.ts +0 -1
- package/dist/file/index.mjs +7 -4
- package/dist/file/link.cjs +37 -22
- package/dist/file/link.d.ts +37 -2
- package/dist/file/link.mjs +36 -22
- package/dist/file/linkStat.cjs +23 -15
- package/dist/file/linkStat.d.ts +22 -2
- package/dist/file/linkStat.mjs +23 -15
- package/dist/file/makeDirectory.cjs +35 -21
- package/dist/file/makeDirectory.d.ts +33 -2
- package/dist/file/makeDirectory.mjs +34 -21
- package/dist/file/makeTemporaryDirectory.cjs +26 -15
- package/dist/file/makeTemporaryDirectory.d.ts +25 -2
- package/dist/file/makeTemporaryDirectory.mjs +25 -15
- package/dist/file/makeTemporaryFile.cjs +29 -20
- package/dist/file/makeTemporaryFile.d.ts +28 -2
- package/dist/file/makeTemporaryFile.mjs +29 -20
- package/dist/file/move.cjs +38 -23
- package/dist/file/move.d.ts +37 -2
- package/dist/file/move.mjs +37 -23
- package/dist/file/readDirectory.cjs +27 -9
- package/dist/file/readDirectory.d.ts +26 -5
- package/dist/file/readDirectory.mjs +24 -9
- package/dist/file/readFile.cjs +28 -17
- package/dist/file/readFile.d.ts +25 -2
- package/dist/file/readFile.mjs +27 -17
- package/dist/file/readJsonFile.cjs +28 -17
- package/dist/file/readJsonFile.d.ts +25 -3
- package/dist/file/readJsonFile.mjs +27 -17
- package/dist/file/readLink.cjs +25 -15
- package/dist/file/readLink.d.ts +22 -2
- package/dist/file/readLink.mjs +24 -15
- package/dist/file/readTextFile.cjs +28 -17
- package/dist/file/readTextFile.d.ts +25 -2
- package/dist/file/readTextFile.mjs +27 -17
- package/dist/file/realPath.cjs +22 -13
- package/dist/file/realPath.d.ts +19 -2
- package/dist/file/realPath.mjs +21 -13
- package/dist/file/relocate.cjs +41 -25
- package/dist/file/relocate.d.ts +37 -2
- package/dist/file/relocate.mjs +40 -25
- package/dist/file/remove.cjs +36 -23
- package/dist/file/remove.d.ts +30 -2
- package/dist/file/remove.mjs +35 -23
- package/dist/file/rename.cjs +41 -25
- package/dist/file/rename.d.ts +37 -2
- package/dist/file/rename.mjs +40 -25
- package/dist/file/setMode.cjs +23 -15
- package/dist/file/setMode.d.ts +21 -2
- package/dist/file/setMode.mjs +23 -15
- package/dist/file/setOwner.cjs +25 -15
- package/dist/file/setOwner.d.ts +22 -2
- package/dist/file/setOwner.mjs +24 -15
- package/dist/file/setTime.cjs +25 -15
- package/dist/file/setTime.d.ts +21 -2
- package/dist/file/setTime.mjs +24 -15
- package/dist/file/stat.cjs +23 -15
- package/dist/file/stat.d.ts +22 -2
- package/dist/file/stat.mjs +23 -15
- package/dist/file/symlink.cjs +33 -20
- package/dist/file/symlink.d.ts +31 -2
- package/dist/file/symlink.mjs +32 -20
- package/dist/file/truncate.cjs +33 -21
- package/dist/file/truncate.d.ts +34 -2
- package/dist/file/truncate.mjs +33 -21
- package/dist/file/unknownEntryInterface.cjs +2 -0
- package/dist/file/unknownEntryInterface.d.ts +7 -5
- package/dist/file/unknownEntryInterface.mjs +2 -1
- package/dist/file/walkDirectory.cjs +28 -15
- package/dist/file/walkDirectory.d.ts +23 -2
- package/dist/file/walkDirectory.mjs +27 -14
- package/dist/file/writeFile.cjs +35 -21
- package/dist/file/writeFile.d.ts +34 -2
- package/dist/file/writeFile.mjs +34 -21
- package/dist/file/writeJsonFile.cjs +38 -27
- package/dist/file/writeJsonFile.d.ts +36 -5
- package/dist/file/writeJsonFile.mjs +38 -27
- package/dist/file/writeTextFile.cjs +35 -21
- package/dist/file/writeTextFile.d.ts +34 -2
- package/dist/file/writeTextFile.mjs +34 -21
- 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/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,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/writeTextFile.ts
|
|
8
|
+
var WriteTextFileErrorNotFound = class extends _duplojs_lang_common.DuploJSError.parentClass("file-system-write-text-file-not-found", Error) {};
|
|
9
|
+
var WriteTextFileErrorPermissionDenied = class extends _duplojs_lang_common.DuploJSError.parentClass("file-system-write-text-file-permission-denied", Error) {};
|
|
10
|
+
var WriteTextFileErrorIsDirectory = class extends _duplojs_lang_common.DuploJSError.parentClass("file-system-write-text-file-is-directory", Error) {};
|
|
11
|
+
var WriteTextFileErrorNotDirectory = class extends _duplojs_lang_common.DuploJSError.parentClass("file-system-write-text-file-not-directory", Error) {};
|
|
12
|
+
var WriteTextFileErrorNoSpace = class extends _duplojs_lang_common.DuploJSError.parentClass("file-system-write-text-file-no-space", Error) {};
|
|
13
|
+
var WriteTextFileErrorReadOnly = class extends _duplojs_lang_common.DuploJSError.parentClass("file-system-write-text-file-read-only", Error) {};
|
|
14
|
+
var WriteTextFileErrorInvalidArgument = class extends _duplojs_lang_common.DuploJSError.parentClass("file-system-write-text-file-invalid-argument", Error) {};
|
|
15
|
+
var WriteTextFileErrorTooManyOpenFiles = class extends _duplojs_lang_common.DuploJSError.parentClass("file-system-write-text-file-too-many-open-files", Error) {};
|
|
16
|
+
var WriteTextFileErrorBusy = class extends _duplojs_lang_common.DuploJSError.parentClass("file-system-write-text-file-busy", Error) {};
|
|
17
|
+
var WriteTextFileError = class extends _duplojs_lang_common.DuploJSError.parentClass("file-system-write-text-file-error", Error) {};
|
|
6
18
|
function handleNodeWriteTextFileError(error) {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
else if (error.code === "
|
|
11
|
-
else if (error.code === "
|
|
12
|
-
else if (error.code === "
|
|
13
|
-
else if (error.code === "
|
|
14
|
-
else if (error.code === "
|
|
15
|
-
else if (error.code === "
|
|
16
|
-
else if (error.code === "
|
|
19
|
+
let writeTextFileError = void 0;
|
|
20
|
+
if ("code" in error) {
|
|
21
|
+
if (error.code === "ENOENT") writeTextFileError = new WriteTextFileErrorNotFound(error);
|
|
22
|
+
else if (error.code === "EACCES" || error.code === "EPERM") writeTextFileError = new WriteTextFileErrorPermissionDenied(error);
|
|
23
|
+
else if (error.code === "EISDIR") writeTextFileError = new WriteTextFileErrorIsDirectory(error);
|
|
24
|
+
else if (error.code === "ENOTDIR") writeTextFileError = new WriteTextFileErrorNotDirectory(error);
|
|
25
|
+
else if (error.code === "ENOSPC") writeTextFileError = new WriteTextFileErrorNoSpace(error);
|
|
26
|
+
else if (error.code === "EROFS") writeTextFileError = new WriteTextFileErrorReadOnly(error);
|
|
27
|
+
else if (error.code === "EINVAL") writeTextFileError = new WriteTextFileErrorInvalidArgument(error);
|
|
28
|
+
else if (error.code === "EMFILE" || error.code === "ENFILE") writeTextFileError = new WriteTextFileErrorTooManyOpenFiles(error);
|
|
29
|
+
else if (error.code === "EBUSY") writeTextFileError = new WriteTextFileErrorBusy(error);
|
|
17
30
|
}
|
|
18
|
-
|
|
31
|
+
if (writeTextFileError === void 0) writeTextFileError = new WriteTextFileError(error);
|
|
32
|
+
return _duplojs_lang_either.left("file-system-write-text-file-error", writeTextFileError);
|
|
19
33
|
}
|
|
20
34
|
function handleDenoWriteTextFileError(error) {
|
|
21
|
-
|
|
22
|
-
if (error instanceof Deno.errors.
|
|
23
|
-
if (error instanceof Deno.errors.
|
|
24
|
-
if (error instanceof Deno.errors.
|
|
25
|
-
if (error instanceof Deno.errors.
|
|
26
|
-
if (error instanceof Deno.errors.
|
|
27
|
-
|
|
35
|
+
let writeTextFileError = void 0;
|
|
36
|
+
if (error instanceof Deno.errors.NotFound) writeTextFileError = new WriteTextFileErrorNotFound(error);
|
|
37
|
+
else if (error instanceof Deno.errors.PermissionDenied || error instanceof Deno.errors.NotCapable) writeTextFileError = new WriteTextFileErrorPermissionDenied(error);
|
|
38
|
+
else if (error instanceof Deno.errors.IsADirectory) writeTextFileError = new WriteTextFileErrorIsDirectory(error);
|
|
39
|
+
else if (error instanceof Deno.errors.NotADirectory) writeTextFileError = new WriteTextFileErrorNotDirectory(error);
|
|
40
|
+
else if (error instanceof Deno.errors.InvalidData) writeTextFileError = new WriteTextFileErrorInvalidArgument(error);
|
|
41
|
+
else if (error instanceof Deno.errors.Busy) writeTextFileError = new WriteTextFileErrorBusy(error);
|
|
42
|
+
if (writeTextFileError === void 0) writeTextFileError = new WriteTextFileError(error);
|
|
43
|
+
return _duplojs_lang_either.left("file-system-write-text-file-error", writeTextFileError);
|
|
28
44
|
}
|
|
29
45
|
const writeTextFileImplementation = require_implementor.implementFunction("writeTextFile", {
|
|
30
|
-
NODE: async (path, data) => {
|
|
31
|
-
return (await require_implementor.nodeFileSystem.value).writeFile(path, data, { encoding: "utf-8" }).then(() => _duplojs_lang_either.right("file-system-write-text-file")).catch(handleNodeWriteTextFileError);
|
|
32
|
-
},
|
|
46
|
+
NODE: async (path, data) => require_implementor.nodeFileSystem.value.writeFile(path, data, { encoding: "utf-8" }).then(() => _duplojs_lang_either.right("file-system-write-text-file")).catch(handleNodeWriteTextFileError),
|
|
33
47
|
DENO: (path, data) => Deno.writeTextFile(path, data).then(() => _duplojs_lang_either.right("file-system-write-text-file")).catch(handleDenoWriteTextFileError),
|
|
34
48
|
BUN: (path, data) => Bun.file(path).write(data).then(() => _duplojs_lang_either.right("file-system-write-text-file")).catch(handleNodeWriteTextFileError)
|
|
35
49
|
});
|
|
@@ -1,7 +1,38 @@
|
|
|
1
|
-
import
|
|
1
|
+
import * as DCommon from "@duplojs/lang/common";
|
|
2
2
|
import * as DEither from "@duplojs/lang/either";
|
|
3
3
|
import type * as DPath from "@duplojs/lang/path";
|
|
4
|
-
|
|
4
|
+
declare const WriteTextFileErrorNotFound_base: abstract new (error: Error) => DCommon.DuploJSError<"file-system-write-text-file-not-found", Error> & import('@duplojs/lang/kind').Kind<import('@duplojs/lang/kind').Handler<import('@duplojs/lang/kind').Definition<"@DuplojsLangCommon/duplojs-error-file-system-write-text-file-not-found", unknown>>, unknown>;
|
|
5
|
+
declare class WriteTextFileErrorNotFound extends WriteTextFileErrorNotFound_base {
|
|
6
|
+
}
|
|
7
|
+
declare const WriteTextFileErrorPermissionDenied_base: abstract new (error: Error) => DCommon.DuploJSError<"file-system-write-text-file-permission-denied", Error> & import('@duplojs/lang/kind').Kind<import('@duplojs/lang/kind').Handler<import('@duplojs/lang/kind').Definition<"@DuplojsLangCommon/duplojs-error-file-system-write-text-file-permission-denied", unknown>>, unknown>;
|
|
8
|
+
declare class WriteTextFileErrorPermissionDenied extends WriteTextFileErrorPermissionDenied_base {
|
|
9
|
+
}
|
|
10
|
+
declare const WriteTextFileErrorIsDirectory_base: abstract new (error: Error) => DCommon.DuploJSError<"file-system-write-text-file-is-directory", Error> & import('@duplojs/lang/kind').Kind<import('@duplojs/lang/kind').Handler<import('@duplojs/lang/kind').Definition<"@DuplojsLangCommon/duplojs-error-file-system-write-text-file-is-directory", unknown>>, unknown>;
|
|
11
|
+
declare class WriteTextFileErrorIsDirectory extends WriteTextFileErrorIsDirectory_base {
|
|
12
|
+
}
|
|
13
|
+
declare const WriteTextFileErrorNotDirectory_base: abstract new (error: Error) => DCommon.DuploJSError<"file-system-write-text-file-not-directory", Error> & import('@duplojs/lang/kind').Kind<import('@duplojs/lang/kind').Handler<import('@duplojs/lang/kind').Definition<"@DuplojsLangCommon/duplojs-error-file-system-write-text-file-not-directory", unknown>>, unknown>;
|
|
14
|
+
declare class WriteTextFileErrorNotDirectory extends WriteTextFileErrorNotDirectory_base {
|
|
15
|
+
}
|
|
16
|
+
declare const WriteTextFileErrorNoSpace_base: abstract new (error: Error) => DCommon.DuploJSError<"file-system-write-text-file-no-space", Error> & import('@duplojs/lang/kind').Kind<import('@duplojs/lang/kind').Handler<import('@duplojs/lang/kind').Definition<"@DuplojsLangCommon/duplojs-error-file-system-write-text-file-no-space", unknown>>, unknown>;
|
|
17
|
+
declare class WriteTextFileErrorNoSpace extends WriteTextFileErrorNoSpace_base {
|
|
18
|
+
}
|
|
19
|
+
declare const WriteTextFileErrorReadOnly_base: abstract new (error: Error) => DCommon.DuploJSError<"file-system-write-text-file-read-only", Error> & import('@duplojs/lang/kind').Kind<import('@duplojs/lang/kind').Handler<import('@duplojs/lang/kind').Definition<"@DuplojsLangCommon/duplojs-error-file-system-write-text-file-read-only", unknown>>, unknown>;
|
|
20
|
+
declare class WriteTextFileErrorReadOnly extends WriteTextFileErrorReadOnly_base {
|
|
21
|
+
}
|
|
22
|
+
declare const WriteTextFileErrorInvalidArgument_base: abstract new (error: Error) => DCommon.DuploJSError<"file-system-write-text-file-invalid-argument", Error> & import('@duplojs/lang/kind').Kind<import('@duplojs/lang/kind').Handler<import('@duplojs/lang/kind').Definition<"@DuplojsLangCommon/duplojs-error-file-system-write-text-file-invalid-argument", unknown>>, unknown>;
|
|
23
|
+
declare class WriteTextFileErrorInvalidArgument extends WriteTextFileErrorInvalidArgument_base {
|
|
24
|
+
}
|
|
25
|
+
declare const WriteTextFileErrorTooManyOpenFiles_base: abstract new (error: Error) => DCommon.DuploJSError<"file-system-write-text-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-write-text-file-too-many-open-files", unknown>>, unknown>;
|
|
26
|
+
declare class WriteTextFileErrorTooManyOpenFiles extends WriteTextFileErrorTooManyOpenFiles_base {
|
|
27
|
+
}
|
|
28
|
+
declare const WriteTextFileErrorBusy_base: abstract new (error: Error) => DCommon.DuploJSError<"file-system-write-text-file-busy", Error> & import('@duplojs/lang/kind').Kind<import('@duplojs/lang/kind').Handler<import('@duplojs/lang/kind').Definition<"@DuplojsLangCommon/duplojs-error-file-system-write-text-file-busy", unknown>>, unknown>;
|
|
29
|
+
declare class WriteTextFileErrorBusy extends WriteTextFileErrorBusy_base {
|
|
30
|
+
}
|
|
31
|
+
declare const WriteTextFileError_base: abstract new (error: Error) => DCommon.DuploJSError<"file-system-write-text-file-error", Error> & import('@duplojs/lang/kind').Kind<import('@duplojs/lang/kind').Handler<import('@duplojs/lang/kind').Definition<"@DuplojsLangCommon/duplojs-error-file-system-write-text-file-error", unknown>>, unknown>;
|
|
32
|
+
declare class WriteTextFileError extends WriteTextFileError_base {
|
|
33
|
+
}
|
|
34
|
+
export type WriteTextFileErrors = (WriteTextFileErrorNotFound | WriteTextFileErrorPermissionDenied | WriteTextFileErrorIsDirectory | WriteTextFileErrorNotDirectory | WriteTextFileErrorNoSpace | WriteTextFileErrorReadOnly | WriteTextFileErrorInvalidArgument | WriteTextFileErrorTooManyOpenFiles | WriteTextFileErrorBusy | WriteTextFileError);
|
|
35
|
+
export type WriteTextFileResult = (DEither.Right<"file-system-write-text-file", void> | DEither.Left<"file-system-write-text-file-error", WriteTextFileErrors>);
|
|
5
36
|
declare module '../implementor' {
|
|
6
37
|
interface ServerFunction {
|
|
7
38
|
writeTextFile(path: string & DPath.Path, data: string): Promise<WriteTextFileResult>;
|
|
@@ -9,3 +40,4 @@ declare module '../implementor' {
|
|
|
9
40
|
}
|
|
10
41
|
export declare function writeTextFile(data: string): (path: string & DPath.Path) => Promise<WriteTextFileResult>;
|
|
11
42
|
export declare function writeTextFile(path: string & DPath.Path, data: string): Promise<WriteTextFileResult>;
|
|
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/writeTextFile.ts
|
|
5
|
+
var WriteTextFileErrorNotFound = class extends DCommon.DuploJSError.parentClass("file-system-write-text-file-not-found", Error) {};
|
|
6
|
+
var WriteTextFileErrorPermissionDenied = class extends DCommon.DuploJSError.parentClass("file-system-write-text-file-permission-denied", Error) {};
|
|
7
|
+
var WriteTextFileErrorIsDirectory = class extends DCommon.DuploJSError.parentClass("file-system-write-text-file-is-directory", Error) {};
|
|
8
|
+
var WriteTextFileErrorNotDirectory = class extends DCommon.DuploJSError.parentClass("file-system-write-text-file-not-directory", Error) {};
|
|
9
|
+
var WriteTextFileErrorNoSpace = class extends DCommon.DuploJSError.parentClass("file-system-write-text-file-no-space", Error) {};
|
|
10
|
+
var WriteTextFileErrorReadOnly = class extends DCommon.DuploJSError.parentClass("file-system-write-text-file-read-only", Error) {};
|
|
11
|
+
var WriteTextFileErrorInvalidArgument = class extends DCommon.DuploJSError.parentClass("file-system-write-text-file-invalid-argument", Error) {};
|
|
12
|
+
var WriteTextFileErrorTooManyOpenFiles = class extends DCommon.DuploJSError.parentClass("file-system-write-text-file-too-many-open-files", Error) {};
|
|
13
|
+
var WriteTextFileErrorBusy = class extends DCommon.DuploJSError.parentClass("file-system-write-text-file-busy", Error) {};
|
|
14
|
+
var WriteTextFileError = class extends DCommon.DuploJSError.parentClass("file-system-write-text-file-error", Error) {};
|
|
4
15
|
function handleNodeWriteTextFileError(error) {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
else if (error.code === "
|
|
9
|
-
else if (error.code === "
|
|
10
|
-
else if (error.code === "
|
|
11
|
-
else if (error.code === "
|
|
12
|
-
else if (error.code === "
|
|
13
|
-
else if (error.code === "
|
|
14
|
-
else if (error.code === "
|
|
16
|
+
let writeTextFileError = void 0;
|
|
17
|
+
if ("code" in error) {
|
|
18
|
+
if (error.code === "ENOENT") writeTextFileError = new WriteTextFileErrorNotFound(error);
|
|
19
|
+
else if (error.code === "EACCES" || error.code === "EPERM") writeTextFileError = new WriteTextFileErrorPermissionDenied(error);
|
|
20
|
+
else if (error.code === "EISDIR") writeTextFileError = new WriteTextFileErrorIsDirectory(error);
|
|
21
|
+
else if (error.code === "ENOTDIR") writeTextFileError = new WriteTextFileErrorNotDirectory(error);
|
|
22
|
+
else if (error.code === "ENOSPC") writeTextFileError = new WriteTextFileErrorNoSpace(error);
|
|
23
|
+
else if (error.code === "EROFS") writeTextFileError = new WriteTextFileErrorReadOnly(error);
|
|
24
|
+
else if (error.code === "EINVAL") writeTextFileError = new WriteTextFileErrorInvalidArgument(error);
|
|
25
|
+
else if (error.code === "EMFILE" || error.code === "ENFILE") writeTextFileError = new WriteTextFileErrorTooManyOpenFiles(error);
|
|
26
|
+
else if (error.code === "EBUSY") writeTextFileError = new WriteTextFileErrorBusy(error);
|
|
15
27
|
}
|
|
16
|
-
|
|
28
|
+
if (writeTextFileError === void 0) writeTextFileError = new WriteTextFileError(error);
|
|
29
|
+
return DEither.left("file-system-write-text-file-error", writeTextFileError);
|
|
17
30
|
}
|
|
18
31
|
function handleDenoWriteTextFileError(error) {
|
|
19
|
-
|
|
20
|
-
if (error instanceof Deno.errors.
|
|
21
|
-
if (error instanceof Deno.errors.
|
|
22
|
-
if (error instanceof Deno.errors.
|
|
23
|
-
if (error instanceof Deno.errors.
|
|
24
|
-
if (error instanceof Deno.errors.
|
|
25
|
-
|
|
32
|
+
let writeTextFileError = void 0;
|
|
33
|
+
if (error instanceof Deno.errors.NotFound) writeTextFileError = new WriteTextFileErrorNotFound(error);
|
|
34
|
+
else if (error instanceof Deno.errors.PermissionDenied || error instanceof Deno.errors.NotCapable) writeTextFileError = new WriteTextFileErrorPermissionDenied(error);
|
|
35
|
+
else if (error instanceof Deno.errors.IsADirectory) writeTextFileError = new WriteTextFileErrorIsDirectory(error);
|
|
36
|
+
else if (error instanceof Deno.errors.NotADirectory) writeTextFileError = new WriteTextFileErrorNotDirectory(error);
|
|
37
|
+
else if (error instanceof Deno.errors.InvalidData) writeTextFileError = new WriteTextFileErrorInvalidArgument(error);
|
|
38
|
+
else if (error instanceof Deno.errors.Busy) writeTextFileError = new WriteTextFileErrorBusy(error);
|
|
39
|
+
if (writeTextFileError === void 0) writeTextFileError = new WriteTextFileError(error);
|
|
40
|
+
return DEither.left("file-system-write-text-file-error", writeTextFileError);
|
|
26
41
|
}
|
|
27
42
|
const writeTextFileImplementation = implementFunction("writeTextFile", {
|
|
28
|
-
NODE: async (path, data) => {
|
|
29
|
-
return (await nodeFileSystem.value).writeFile(path, data, { encoding: "utf-8" }).then(() => DEither.right("file-system-write-text-file")).catch(handleNodeWriteTextFileError);
|
|
30
|
-
},
|
|
43
|
+
NODE: async (path, data) => nodeFileSystem.value.writeFile(path, data, { encoding: "utf-8" }).then(() => DEither.right("file-system-write-text-file")).catch(handleNodeWriteTextFileError),
|
|
31
44
|
DENO: (path, data) => Deno.writeTextFile(path, data).then(() => DEither.right("file-system-write-text-file")).catch(handleDenoWriteTextFileError),
|
|
32
45
|
BUN: (path, data) => Bun.file(path).write(data).then(() => DEither.right("file-system-write-text-file")).catch(handleNodeWriteTextFileError)
|
|
33
46
|
});
|
package/dist/implementor.cjs
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
const require_runtime = require("./_virtual/_rolldown/runtime.cjs");
|
|
2
2
|
let _duplojs_lang_common = require("@duplojs/lang/common");
|
|
3
3
|
_duplojs_lang_common = require_runtime.__toESM(_duplojs_lang_common, 1);
|
|
4
|
+
let _duplojs_lang_pattern = require("@duplojs/lang/pattern");
|
|
5
|
+
_duplojs_lang_pattern = require_runtime.__toESM(_duplojs_lang_pattern, 1);
|
|
4
6
|
_duplojs_lang_common.createEnum([
|
|
5
7
|
"BUN",
|
|
6
8
|
"DENO",
|
|
@@ -8,12 +10,12 @@ _duplojs_lang_common.createEnum([
|
|
|
8
10
|
"TEST"
|
|
9
11
|
]);
|
|
10
12
|
const SymbolEnvironmentStore = Symbol("environmentStore");
|
|
11
|
-
const environmentStoreHandler = _duplojs_lang_common.createGlobalStore(SymbolEnvironmentStore, (() => {
|
|
13
|
+
const environmentStoreHandler = _duplojs_lang_common.createGlobalStore(SymbolEnvironmentStore, _duplojs_lang_common.justExec(() => {
|
|
12
14
|
if (typeof Deno !== "undefined") return "DENO";
|
|
13
15
|
if (typeof Bun !== "undefined") return "BUN";
|
|
14
16
|
if (typeof process !== "undefined" && process.versions?.node) return "NODE";
|
|
15
17
|
return "NODE";
|
|
16
|
-
})
|
|
18
|
+
}));
|
|
17
19
|
function setEnvironment(environment) {
|
|
18
20
|
environmentStoreHandler.set(environment);
|
|
19
21
|
}
|
|
@@ -47,9 +49,10 @@ function implementFunction(functionName, theFunctions) {
|
|
|
47
49
|
};
|
|
48
50
|
return (...args) => environmentFunctions[environmentStoreHandler.value](...args);
|
|
49
51
|
}
|
|
50
|
-
const
|
|
51
|
-
const
|
|
52
|
-
const
|
|
52
|
+
const requireModule = _duplojs_lang_common.memo(() => _duplojs_lang_pattern.matchWithStringOtherwise(environmentStoreHandler.value, { BUN: () => require }, () => process.getBuiltinModule));
|
|
53
|
+
const nodeFileSystem = _duplojs_lang_common.memo(() => requireModule.value("node:fs/promises"));
|
|
54
|
+
const nodeCrypto = _duplojs_lang_common.memo(() => requireModule.value("node:crypto"));
|
|
55
|
+
const nodeOs = _duplojs_lang_common.memo(() => requireModule.value("node:os"));
|
|
53
56
|
//#endregion
|
|
54
57
|
Object.defineProperty(exports, "TESTImplementation", {
|
|
55
58
|
enumerable: true,
|
package/dist/implementor.d.ts
CHANGED
|
@@ -7,7 +7,7 @@ export declare const SupportedEnvironment: {
|
|
|
7
7
|
NODE: "NODE";
|
|
8
8
|
TEST: "TEST";
|
|
9
9
|
toTuple: () => readonly ["BUN", "DENO", "NODE", "TEST"];
|
|
10
|
-
has: (value:
|
|
10
|
+
has: <GenericValue extends string>(value: GenericValue) => value is GenericValue & ("BUN" | "DENO" | "NODE" | "TEST");
|
|
11
11
|
contract: <GenericContractValue extends string = "BUN" | "DENO" | "NODE" | "TEST">(...args: (Exclude<"BUN", GenericContractValue> | Exclude<"DENO", GenericContractValue> | Exclude<"NODE", GenericContractValue> | Exclude<"TEST", GenericContractValue> extends infer InferredMissingValue extends string ? DCommon.IsNever<InferredMissingValue> extends true ? unknown : DCommon.ComputedTypeError<`Enum contract is missing value "${InferredMissingValue}".`> : never) & (Exclude<GenericContractValue, "BUN" | "DENO" | "NODE" | "TEST"> extends infer InferredUnknownValue extends string ? DCommon.IsNever<InferredUnknownValue> extends true ? unknown : DCommon.ComputedTypeError<`Enum contract contains unknown value "${InferredUnknownValue}".`> : never) extends infer InferredRequirement ? DCommon.IsEqual<InferredRequirement, unknown> extends true ? [] : [] & InferredRequirement : never) => /*elided*/ any;
|
|
12
12
|
};
|
|
13
13
|
export type SupportedEnvironment = DCommon.GetEnumValue<typeof SupportedEnvironment>;
|
|
@@ -29,7 +29,7 @@ export declare function implementFunction<GenericFunctionName extends keyof Serv
|
|
|
29
29
|
BUN?: ServerFunction[GenericFunctionName];
|
|
30
30
|
DENO?: ServerFunction[GenericFunctionName];
|
|
31
31
|
}): ServerFunction[GenericFunctionName];
|
|
32
|
-
export declare const nodeFileSystem: DCommon.
|
|
33
|
-
export declare const nodeCrypto: DCommon.
|
|
34
|
-
export declare const nodeOs: DCommon.
|
|
32
|
+
export declare const nodeFileSystem: DCommon.Memoized<typeof import("node:fs/promises")>;
|
|
33
|
+
export declare const nodeCrypto: DCommon.Memoized<typeof import("node:crypto")>;
|
|
34
|
+
export declare const nodeOs: DCommon.Memoized<typeof import("node:os")>;
|
|
35
35
|
export {};
|
package/dist/implementor.mjs
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
+
import { __require } from "./_virtual/_rolldown/runtime.mjs";
|
|
1
2
|
import * as DCommon from "@duplojs/lang/common";
|
|
3
|
+
import * as DPattern from "@duplojs/lang/pattern";
|
|
2
4
|
DCommon.createEnum([
|
|
3
5
|
"BUN",
|
|
4
6
|
"DENO",
|
|
@@ -6,12 +8,12 @@ DCommon.createEnum([
|
|
|
6
8
|
"TEST"
|
|
7
9
|
]);
|
|
8
10
|
const SymbolEnvironmentStore = Symbol("environmentStore");
|
|
9
|
-
const environmentStoreHandler = DCommon.createGlobalStore(SymbolEnvironmentStore, (() => {
|
|
11
|
+
const environmentStoreHandler = DCommon.createGlobalStore(SymbolEnvironmentStore, DCommon.justExec(() => {
|
|
10
12
|
if (typeof Deno !== "undefined") return "DENO";
|
|
11
13
|
if (typeof Bun !== "undefined") return "BUN";
|
|
12
14
|
if (typeof process !== "undefined" && process.versions?.node) return "NODE";
|
|
13
15
|
return "NODE";
|
|
14
|
-
})
|
|
16
|
+
}));
|
|
15
17
|
function setEnvironment(environment) {
|
|
16
18
|
environmentStoreHandler.set(environment);
|
|
17
19
|
}
|
|
@@ -45,8 +47,9 @@ function implementFunction(functionName, theFunctions) {
|
|
|
45
47
|
};
|
|
46
48
|
return (...args) => environmentFunctions[environmentStoreHandler.value](...args);
|
|
47
49
|
}
|
|
48
|
-
const
|
|
49
|
-
const
|
|
50
|
-
const
|
|
50
|
+
const requireModule = DCommon.memo(() => DPattern.matchWithStringOtherwise(environmentStoreHandler.value, { BUN: () => __require }, () => process.getBuiltinModule));
|
|
51
|
+
const nodeFileSystem = DCommon.memo(() => requireModule.value("node:fs/promises"));
|
|
52
|
+
const nodeCrypto = DCommon.memo(() => requireModule.value("node:crypto"));
|
|
53
|
+
const nodeOs = DCommon.memo(() => requireModule.value("node:os"));
|
|
51
54
|
//#endregion
|
|
52
55
|
export { TESTImplementation, implementFunction, nodeCrypto, nodeFileSystem, nodeOs, setEnvironment };
|
package/dist/index.cjs
CHANGED
|
@@ -10,6 +10,7 @@ const require_index$2 = require("./common/environmentVariable/index.cjs");
|
|
|
10
10
|
const require_environmentVariableOrThrow = require("./common/environmentVariableOrThrow.cjs");
|
|
11
11
|
const require_exitProcess = require("./common/exitProcess.cjs");
|
|
12
12
|
const require_getProcessArguments = require("./common/getProcessArguments.cjs");
|
|
13
|
+
const require_getCurrentDirectoryName = require("./common/meta/getCurrentDirectoryName.cjs");
|
|
13
14
|
const require_index$3 = require("./common/index.cjs");
|
|
14
15
|
const require_index$4 = require("./command/index.cjs");
|
|
15
16
|
Object.defineProperty(exports, "DSCommand", {
|
|
@@ -66,6 +67,7 @@ Object.defineProperty(exports, "TESTImplementation", {
|
|
|
66
67
|
exports.environmentVariable = require_index$2.environmentVariable;
|
|
67
68
|
exports.environmentVariableOrThrow = require_environmentVariableOrThrow.environmentVariableOrThrow;
|
|
68
69
|
exports.exitProcess = require_exitProcess.exitProcess;
|
|
70
|
+
exports.getCurrentDirectoryName = require_getCurrentDirectoryName.getCurrentDirectoryName;
|
|
69
71
|
exports.getCurrentWorkDirectory = require_getCurrentWorkDirectory.getCurrentWorkDirectory;
|
|
70
72
|
exports.getCurrentWorkDirectoryOrThrow = require_getCurrentWorkDirectoryOrThrow.getCurrentWorkDirectoryOrThrow;
|
|
71
73
|
exports.getProcessArguments = require_getProcessArguments.getProcessArguments;
|
package/dist/index.mjs
CHANGED
|
@@ -9,6 +9,7 @@ import { environmentVariable } from "./common/environmentVariable/index.mjs";
|
|
|
9
9
|
import { EnvironmentVariableError, environmentVariableOrThrow } from "./common/environmentVariableOrThrow.mjs";
|
|
10
10
|
import { exitProcess } from "./common/exitProcess.mjs";
|
|
11
11
|
import { getProcessArguments } from "./common/getProcessArguments.mjs";
|
|
12
|
+
import { getCurrentDirectoryName } from "./common/meta/getCurrentDirectoryName.mjs";
|
|
12
13
|
import { common_exports } from "./common/index.mjs";
|
|
13
14
|
import { command_exports } from "./command/index.mjs";
|
|
14
|
-
export { command_exports as DSCommand, common_exports as DSCommon, dataStructure_exports as DSDataStructure, file_exports as DSFile, EnvironmentVariableError, GetCurrentWorkDirectoryError, command_exports as SC, dataStructure_exports as SDS, file_exports as SF, SetCurrentWorkingDirectoryError, TESTImplementation, environmentVariable, environmentVariableOrThrow, exitProcess, getCurrentWorkDirectory, getCurrentWorkDirectoryOrThrow, getProcessArguments, setCurrentWorkingDirectory, setCurrentWorkingDirectoryOrThrow, setEnvironment };
|
|
15
|
+
export { command_exports as DSCommand, common_exports as DSCommon, dataStructure_exports as DSDataStructure, file_exports as DSFile, EnvironmentVariableError, GetCurrentWorkDirectoryError, command_exports as SC, dataStructure_exports as SDS, file_exports as SF, SetCurrentWorkingDirectoryError, TESTImplementation, environmentVariable, environmentVariableOrThrow, exitProcess, getCurrentDirectoryName, getCurrentWorkDirectory, getCurrentWorkDirectoryOrThrow, getProcessArguments, setCurrentWorkingDirectory, setCurrentWorkingDirectoryOrThrow, setEnvironment };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@duplojs/server",
|
|
3
|
-
"version": "0.1.0-beta.
|
|
3
|
+
"version": "0.1.0-beta.3",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "DuploJS",
|
|
@@ -47,10 +47,10 @@
|
|
|
47
47
|
}
|
|
48
48
|
},
|
|
49
49
|
"peerDependencies": {
|
|
50
|
-
"@duplojs/lang": "0.1.0-beta.
|
|
50
|
+
"@duplojs/lang": "0.1.0-beta.3"
|
|
51
51
|
},
|
|
52
52
|
"devDependencies": {
|
|
53
|
-
"@duplojs/code-config": "0.1.0-beta.
|
|
53
|
+
"@duplojs/code-config": "0.1.0-beta.3",
|
|
54
54
|
"@types/bun": "1.4.1",
|
|
55
55
|
"@types/deno": "2.7.0",
|
|
56
56
|
"@types/node": "24.13.3",
|
|
@@ -59,7 +59,7 @@
|
|
|
59
59
|
},
|
|
60
60
|
"files": [
|
|
61
61
|
"dist",
|
|
62
|
-
"README"
|
|
62
|
+
"README.md"
|
|
63
63
|
],
|
|
64
64
|
"keywords": [
|
|
65
65
|
"duplojs",
|
|
@@ -1,10 +0,0 @@
|
|
|
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
|
-
export declare const existConstraintKind: DKind.Handler<DKind.Definition<"@DuplojsServerDataStructure/exist-constraint", unknown>>;
|
|
6
|
-
export interface ExistConstraintDefinition extends DDataStructure.ConstraintDefinition {
|
|
7
|
-
}
|
|
8
|
-
export interface ExistConstraint extends DCommon.UnionToIntersection<DDataStructure.Constraint<DSFile.FileInterface, DSFile.FileInterface, ExistConstraintDefinition> & DKind.Kind<typeof existConstraintKind>> {
|
|
9
|
-
}
|
|
10
|
-
export declare const ExistConstraint: () => ExistConstraint;
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import type * as DEither from "@duplojs/lang/either";
|
|
2
|
-
export type FileSystemEither<GenericEither extends DEither.Left | DEither.Right> = GenericEither extends DEither.Left<infer GenericInformation, infer GenericValue> ? DEither.Left<`file-system-${GenericInformation}`, GenericValue> : GenericEither extends DEither.Right<infer GenericInformation, infer GenericValue> ? DEither.Right<`file-system-${GenericInformation}`, GenericValue> : never;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export type * from './fileSystemEither';
|
/package/{README → README.md}
RENAMED
|
File without changes
|