vortez 5.0.2 → 6.0.0-dev.1
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/build/Template/Template.d.ts +0 -5
- package/build/Template/Template.js +5 -5
- package/build/Template/Template.js.map +1 -1
- package/build/Vortez.d.ts +2 -2
- package/build/Vortez.js +2 -2
- package/build/Vortez.js.map +1 -1
- package/build/beta/Mail.d.ts +2 -8
- package/build/beta/Mail.js +7 -2
- package/build/beta/Mail.js.map +1 -1
- package/build/server/Cookie.d.ts +9 -5
- package/build/server/Cookie.js +28 -24
- package/build/server/Cookie.js.map +1 -1
- package/build/server/LoggerManager.d.ts +1 -1
- package/build/server/LoggerManager.js +5 -5
- package/build/server/LoggerManager.js.map +1 -1
- package/build/server/Response.js +11 -11
- package/build/server/Response.js.map +1 -1
- package/build/server/Server.js +4 -4
- package/build/server/Server.js.map +1 -1
- package/build/server/ServerDebug.d.ts +1 -1
- package/build/server/ServerDebug.js +1 -1
- package/build/server/ServerDebug.js.map +1 -1
- package/build/server/config/Config.d.ts +7 -7
- package/build/server/config/Config.js +4 -3
- package/build/server/config/Config.js.map +1 -1
- package/build/server/config/Loader.js +5 -5
- package/build/server/config/Loader.js.map +1 -1
- package/build/server/router/HttpRule.d.ts +2 -2
- package/build/server/router/HttpRule.js +1 -1
- package/build/server/router/HttpRule.js.map +1 -1
- package/build/server/router/Router.d.ts +1 -1
- package/build/server/router/Router.js +5 -5
- package/build/server/router/Router.js.map +1 -1
- package/build/server/router/Rule.d.ts +1 -1
- package/build/server/router/WsRule.d.ts +2 -2
- package/build/server/router/WsRule.js +2 -2
- package/build/server/router/WsRule.js.map +1 -1
- package/build/server/router/algorithm/Algorithm.d.ts +1 -1
- package/build/server/router/algorithm/Algorithm.js +2 -2
- package/build/server/router/algorithm/Algorithm.js.map +1 -1
- package/build/server/router/algorithm/FIFO.d.ts +1 -1
- package/build/server/router/algorithm/FIFO.js +2 -2
- package/build/server/router/algorithm/FIFO.js.map +1 -1
- package/build/server/router/algorithm/Tree.d.ts +1 -1
- package/build/server/router/algorithm/Tree.js.map +1 -1
- package/build/server/router/middleware/Middleware.d.ts +5 -5
- package/build/server/router/middleware/WsMiddleware.d.ts +4 -4
- package/build/server/router/middleware/WsMiddleware.js +24 -23
- package/build/server/router/middleware/WsMiddleware.js.map +1 -1
- package/build/server/security/PathSecurity.js +5 -5
- package/build/server/security/PathSecurity.js.map +1 -1
- package/build/server/websocket/Codec.d.ts +128 -0
- package/build/server/websocket/Codec.js +192 -0
- package/build/server/websocket/Codec.js.map +1 -0
- package/build/server/websocket/Websocket.d.ts +38 -84
- package/build/server/websocket/Websocket.js +41 -221
- package/build/server/websocket/Websocket.js.map +1 -1
- package/build/server/websocket/WebsocketBase.d.ts +130 -0
- package/build/server/websocket/WebsocketBase.js +272 -0
- package/build/server/websocket/WebsocketBase.js.map +1 -0
- package/build/server/websocket/WebsocketCSInit.d.ts +57 -0
- package/build/server/websocket/WebsocketCSInit.js +95 -0
- package/build/server/websocket/WebsocketCSInit.js.map +1 -0
- package/build/server/websocket/WebsocketSSInit.d.ts +24 -0
- package/build/server/websocket/WebsocketSSInit.js +46 -0
- package/build/server/websocket/WebsocketSSInit.js.map +1 -0
- package/build/server/websocket/frame/Frame.d.ts +31 -0
- package/build/server/websocket/frame/Frame.js +45 -0
- package/build/server/websocket/frame/Frame.js.map +1 -0
- package/build/server/websocket/frame/Header.d.ts +31 -0
- package/build/server/websocket/frame/Header.js +31 -0
- package/build/server/websocket/frame/Header.js.map +1 -0
- package/build/server/websocket/frame/HeaderParser.d.ts +58 -0
- package/build/server/websocket/frame/HeaderParser.js +109 -0
- package/build/server/websocket/frame/HeaderParser.js.map +1 -0
- package/build/server/websocket/handshake/CSHandshaker.d.ts +46 -0
- package/build/server/websocket/handshake/CSHandshaker.js +122 -0
- package/build/server/websocket/handshake/CSHandshaker.js.map +1 -0
- package/build/server/websocket/handshake/SSHandshaker.d.ts +57 -0
- package/build/server/websocket/handshake/SSHandshaker.js +113 -0
- package/build/server/websocket/handshake/SSHandshaker.js.map +1 -0
- package/build/server/websocket/messageAssembler/Message.d.ts +21 -0
- package/build/server/websocket/messageAssembler/Message.js +20 -0
- package/build/server/websocket/messageAssembler/Message.js.map +1 -0
- package/build/server/websocket/messageAssembler/MessageAssembler.d.ts +25 -0
- package/build/server/websocket/messageAssembler/MessageAssembler.js +47 -0
- package/build/server/websocket/messageAssembler/MessageAssembler.js.map +1 -0
- package/changes.md +28 -0
- package/package.json +6 -1
- package/build/logger/Debug.d.ts +0 -174
- package/build/logger/Debug.js +0 -295
- package/build/logger/Debug.js.map +0 -1
- package/build/logger/Logger.d.ts +0 -38
- package/build/logger/Logger.js +0 -48
- package/build/logger/Logger.js.map +0 -1
- package/build/server/websocket/Chunk.d.ts +0 -36
- package/build/server/websocket/Chunk.js +0 -81
- package/build/server/websocket/Chunk.js.map +0 -1
- package/build/utilities/ConsoleUI.d.ts +0 -89
- package/build/utilities/ConsoleUI.js +0 -142
- package/build/utilities/ConsoleUI.js.map +0 -1
- package/build/utilities/DebugUI.d.ts +0 -66
- package/build/utilities/DebugUI.js +0 -98
- package/build/utilities/DebugUI.js.map +0 -1
- package/build/utilities/Encoding.d.ts +0 -22
- package/build/utilities/Encoding.js +0 -26
- package/build/utilities/Encoding.js.map +0 -1
- package/build/utilities/Env.d.ts +0 -81
- package/build/utilities/Env.js +0 -140
- package/build/utilities/Env.js.map +0 -1
- package/build/utilities/File.d.ts +0 -10
- package/build/utilities/File.js +0 -19
- package/build/utilities/File.js.map +0 -1
- package/build/utilities/Flatten.d.ts +0 -73
- package/build/utilities/Flatten.js +0 -76
- package/build/utilities/Flatten.js.map +0 -1
- package/build/utilities/Object.d.ts +0 -16
- package/build/utilities/Object.js +0 -48
- package/build/utilities/Object.js.map +0 -1
- package/build/utilities/Path.d.ts +0 -44
- package/build/utilities/Path.js +0 -69
- package/build/utilities/Path.js.map +0 -1
- package/build/utilities/Time.d.ts +0 -21
- package/build/utilities/Time.js +0 -25
- package/build/utilities/Time.js.map +0 -1
- package/build/utilities/Utilities.d.ts +0 -118
- package/build/utilities/Utilities.js +0 -112
- package/build/utilities/Utilities.js.map +0 -1
- package/build/utilities/schema/Introspection.d.ts +0 -24
- package/build/utilities/schema/Introspection.js +0 -87
- package/build/utilities/schema/Introspection.js.map +0 -1
- package/build/utilities/schema/JSONSchema.d.ts +0 -68
- package/build/utilities/schema/JSONSchema.js +0 -13
- package/build/utilities/schema/JSONSchema.js.map +0 -1
- package/build/utilities/schema/Schema.d.ts +0 -253
- package/build/utilities/schema/Schema.js +0 -241
- package/build/utilities/schema/Schema.js.map +0 -1
- package/build/utilities/schema/SchemaError.d.ts +0 -10
- package/build/utilities/schema/SchemaError.js +0 -13
- package/build/utilities/schema/SchemaError.js.map +0 -1
- package/build/utilities/schema/Validator.d.ts +0 -94
- package/build/utilities/schema/Validator.js +0 -246
- package/build/utilities/schema/Validator.js.map +0 -1
package/build/utilities/Env.d.ts
DELETED
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
export declare class Env {
|
|
2
|
-
/**
|
|
3
|
-
* Gets all current environment variables.
|
|
4
|
-
* @returns An object containing key-value pairs of environment variables.
|
|
5
|
-
*/
|
|
6
|
-
static get data(): Env.EnvList;
|
|
7
|
-
/**
|
|
8
|
-
* Load the environment variables from the given path.
|
|
9
|
-
* @param path - The path to the environment variables file.
|
|
10
|
-
* @param options - Options to load the environment variables.
|
|
11
|
-
* @returns A promise that resolves with the loaded environment variables as an object.
|
|
12
|
-
* @throws Error if the environment variables file does not exist and cannot be created.
|
|
13
|
-
* @throws Error if the environment variables file is not readable.
|
|
14
|
-
*/
|
|
15
|
-
static load(path: string, options?: Env.LoadOptions): Promise<Env.EnvList>;
|
|
16
|
-
/**
|
|
17
|
-
* Load the environment variables from the given path synchronously.
|
|
18
|
-
* @param path - The path to the environment variables file.
|
|
19
|
-
* @param options - Options to load the environment variables.
|
|
20
|
-
* @returns The loaded environment variables as an object.
|
|
21
|
-
* @throws Error if the environment variables file does not exist and cannot be created.
|
|
22
|
-
* @throws Error if the environment variables file is not readable.
|
|
23
|
-
*/
|
|
24
|
-
static loadSync(path: string, options?: Env.LoadOptions): Env.EnvList;
|
|
25
|
-
/**
|
|
26
|
-
* Extract the environment variables from the given content.
|
|
27
|
-
* @param content - The content to extract the environment variables from.
|
|
28
|
-
* @param defaultEnv - An optional object of default environment variables to include if not present in the content.
|
|
29
|
-
* @returns An object containing the extracted environment variables merged with defaults.
|
|
30
|
-
*/
|
|
31
|
-
private static extractEnv;
|
|
32
|
-
/**
|
|
33
|
-
* Get the value of an environment variable.
|
|
34
|
-
* @param key - The key of the environment variable to get.
|
|
35
|
-
* @param options - Options to get the environment variable.
|
|
36
|
-
* @param options.default - The default value to return if the environment variable is not set.
|
|
37
|
-
* @param options.warning - If `true`, a warning will be logged if the environment variable is not set.
|
|
38
|
-
* @returns The value of the environment variable or undefined if not set.
|
|
39
|
-
*/
|
|
40
|
-
static get(key: string, options: Env.getOptionsGranted): string;
|
|
41
|
-
static get(key: string, options: Env.getOptions): string | undefined;
|
|
42
|
-
/**
|
|
43
|
-
* Set an environment variable.
|
|
44
|
-
* @param key - The key of the environment variable to set.
|
|
45
|
-
* @param value - The value to set for the environment variable.
|
|
46
|
-
*/
|
|
47
|
-
static set(key: string, value: string): void;
|
|
48
|
-
/**
|
|
49
|
-
* Sets multiple environment variables from an object.
|
|
50
|
-
* @param env - An object containing key-value pairs of environment variables to set.
|
|
51
|
-
*/
|
|
52
|
-
static setMany(env: Env.EnvList): void;
|
|
53
|
-
/**
|
|
54
|
-
* Delete an environment variable.
|
|
55
|
-
* @param key - The key of the environment variable to delete.
|
|
56
|
-
*/
|
|
57
|
-
static delete(key: string): void;
|
|
58
|
-
/**
|
|
59
|
-
* Convert an EnvList to a .env-formatted string.
|
|
60
|
-
* @param env - The environment variables object.
|
|
61
|
-
* @returns A string in .env format.
|
|
62
|
-
*/
|
|
63
|
-
static toEnv(env: Env.EnvList): string;
|
|
64
|
-
}
|
|
65
|
-
export declare namespace Env {
|
|
66
|
-
interface EnvList {
|
|
67
|
-
[key: string]: string | undefined;
|
|
68
|
-
}
|
|
69
|
-
interface LoadOptions {
|
|
70
|
-
setEnv?: boolean;
|
|
71
|
-
defaultEnv?: EnvList;
|
|
72
|
-
}
|
|
73
|
-
interface getOptions {
|
|
74
|
-
default?: string;
|
|
75
|
-
warning?: boolean;
|
|
76
|
-
}
|
|
77
|
-
type getOptionsGranted = getOptions & {
|
|
78
|
-
default: string;
|
|
79
|
-
};
|
|
80
|
-
}
|
|
81
|
-
export default Env;
|
package/build/utilities/Env.js
DELETED
|
@@ -1,140 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @author NetFeez <netfeez.dev@gmail.com>
|
|
3
|
-
* @description Provides utilities for environment variable management, including loading from .env files, getting and setting environment variables, and converting objects to .env format. This is useful for managing configuration in a flexible way that can be easily integrated into different environments.
|
|
4
|
-
* @license Apache-2.0
|
|
5
|
-
*/
|
|
6
|
-
import FS, { promises as FSP } from "fs";
|
|
7
|
-
import PATH from "path";
|
|
8
|
-
import Debug from "../logger/Debug.js";
|
|
9
|
-
import File from './File.js';
|
|
10
|
-
export class Env {
|
|
11
|
-
/**
|
|
12
|
-
* Gets all current environment variables.
|
|
13
|
-
* @returns An object containing key-value pairs of environment variables.
|
|
14
|
-
*/
|
|
15
|
-
static get data() { return process.env; }
|
|
16
|
-
/**
|
|
17
|
-
* Load the environment variables from the given path.
|
|
18
|
-
* @param path - The path to the environment variables file.
|
|
19
|
-
* @param options - Options to load the environment variables.
|
|
20
|
-
* @returns A promise that resolves with the loaded environment variables as an object.
|
|
21
|
-
* @throws Error if the environment variables file does not exist and cannot be created.
|
|
22
|
-
* @throws Error if the environment variables file is not readable.
|
|
23
|
-
*/
|
|
24
|
-
static async load(path, options = {}) {
|
|
25
|
-
Debug.log(`loading environment variables from &C6[${path}]`);
|
|
26
|
-
const defaultEnv = options.defaultEnv ?? {};
|
|
27
|
-
const setEnv = options.setEnv ?? true;
|
|
28
|
-
if (!await File.exists(path)) {
|
|
29
|
-
try {
|
|
30
|
-
Debug.log(`environment variables file &C6[${path}]&R does not exist, creating it`);
|
|
31
|
-
await FSP.mkdir(PATH.dirname(path), { recursive: true });
|
|
32
|
-
const env = this.toEnv(defaultEnv);
|
|
33
|
-
await FSP.writeFile(path, env, 'utf-8');
|
|
34
|
-
Debug.log(`environment variables file &C6[${path}]&R &C2was created successfully`);
|
|
35
|
-
}
|
|
36
|
-
catch (error) {
|
|
37
|
-
Debug.log(`environment variables file &C6[${path}]&R &C1could not be created`);
|
|
38
|
-
throw error;
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
const env = await FSP.readFile(path, 'utf-8');
|
|
42
|
-
const result = this.extractEnv(env, defaultEnv);
|
|
43
|
-
if (setEnv)
|
|
44
|
-
this.setMany(result);
|
|
45
|
-
Debug.log(`environment variables loaded from &C6[${path}]`);
|
|
46
|
-
return result;
|
|
47
|
-
}
|
|
48
|
-
/**
|
|
49
|
-
* Load the environment variables from the given path synchronously.
|
|
50
|
-
* @param path - The path to the environment variables file.
|
|
51
|
-
* @param options - Options to load the environment variables.
|
|
52
|
-
* @returns The loaded environment variables as an object.
|
|
53
|
-
* @throws Error if the environment variables file does not exist and cannot be created.
|
|
54
|
-
* @throws Error if the environment variables file is not readable.
|
|
55
|
-
*/
|
|
56
|
-
static loadSync(path, options = {}) {
|
|
57
|
-
Debug.log(`loading environment variables from &C6[${path}]`);
|
|
58
|
-
const defaultEnv = options.defaultEnv ?? {};
|
|
59
|
-
const setEnv = options.setEnv ?? true;
|
|
60
|
-
if (!FS.existsSync(path)) {
|
|
61
|
-
FS.mkdirSync(PATH.dirname(path), { recursive: true });
|
|
62
|
-
const env = this.toEnv(defaultEnv);
|
|
63
|
-
FS.writeFileSync(path, env, 'utf-8');
|
|
64
|
-
Debug.log(`environment variables file &C6[${path}]&R does not exist, creating it`);
|
|
65
|
-
}
|
|
66
|
-
const env = FS.readFileSync(path, 'utf-8');
|
|
67
|
-
const result = this.extractEnv(env, defaultEnv);
|
|
68
|
-
if (setEnv)
|
|
69
|
-
this.setMany(result);
|
|
70
|
-
Debug.log(`environment variables loaded from &C6[${path}]`);
|
|
71
|
-
return result;
|
|
72
|
-
}
|
|
73
|
-
/**
|
|
74
|
-
* Extract the environment variables from the given content.
|
|
75
|
-
* @param content - The content to extract the environment variables from.
|
|
76
|
-
* @param defaultEnv - An optional object of default environment variables to include if not present in the content.
|
|
77
|
-
* @returns An object containing the extracted environment variables merged with defaults.
|
|
78
|
-
*/
|
|
79
|
-
static extractEnv(content, defaultEnv = {}) {
|
|
80
|
-
const lines = content.split('\n');
|
|
81
|
-
const result = { ...defaultEnv };
|
|
82
|
-
for (const line of lines) {
|
|
83
|
-
const trimmedLine = line.trim();
|
|
84
|
-
if (!trimmedLine || trimmedLine.startsWith('#'))
|
|
85
|
-
continue;
|
|
86
|
-
const index = trimmedLine.indexOf('=');
|
|
87
|
-
if (index === -1)
|
|
88
|
-
continue;
|
|
89
|
-
const key = trimmedLine.substring(0, index).trim();
|
|
90
|
-
const value = trimmedLine.substring(index + 1).trim();
|
|
91
|
-
if (!key)
|
|
92
|
-
continue;
|
|
93
|
-
result[key] = value;
|
|
94
|
-
}
|
|
95
|
-
return result;
|
|
96
|
-
}
|
|
97
|
-
static get(key, options = {}) {
|
|
98
|
-
const value = process.env[key];
|
|
99
|
-
if (value)
|
|
100
|
-
return value;
|
|
101
|
-
const { default: defaultVal, warning = false } = options;
|
|
102
|
-
if (warning)
|
|
103
|
-
Debug.log(`&B3[warn]:&R &C6${key} &C3is not defined${defaultVal ? `, &C2using: &C6${defaultVal}` : ''}`);
|
|
104
|
-
return defaultVal;
|
|
105
|
-
}
|
|
106
|
-
/**
|
|
107
|
-
* Set an environment variable.
|
|
108
|
-
* @param key - The key of the environment variable to set.
|
|
109
|
-
* @param value - The value to set for the environment variable.
|
|
110
|
-
*/
|
|
111
|
-
static set(key, value) {
|
|
112
|
-
process.env[key] = value;
|
|
113
|
-
}
|
|
114
|
-
/**
|
|
115
|
-
* Sets multiple environment variables from an object.
|
|
116
|
-
* @param env - An object containing key-value pairs of environment variables to set.
|
|
117
|
-
*/
|
|
118
|
-
static setMany(env) {
|
|
119
|
-
for (const key in env)
|
|
120
|
-
process.env[key] = env[key] ?? '';
|
|
121
|
-
}
|
|
122
|
-
/**
|
|
123
|
-
* Delete an environment variable.
|
|
124
|
-
* @param key - The key of the environment variable to delete.
|
|
125
|
-
*/
|
|
126
|
-
static delete(key) {
|
|
127
|
-
delete process.env[key];
|
|
128
|
-
}
|
|
129
|
-
/**
|
|
130
|
-
* Convert an EnvList to a .env-formatted string.
|
|
131
|
-
* @param env - The environment variables object.
|
|
132
|
-
* @returns A string in .env format.
|
|
133
|
-
*/
|
|
134
|
-
static toEnv(env) {
|
|
135
|
-
const filtered = Object.entries(env).filter(([key, value]) => typeof key === 'string' && typeof value === 'string');
|
|
136
|
-
return filtered.map(([key, value]) => `${key}=${value}`).join('\n');
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
export default Env;
|
|
140
|
-
//# sourceMappingURL=Env.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Env.js","sourceRoot":"","sources":["../../src/utilities/Env.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
export declare class File {
|
|
2
|
-
/**
|
|
3
|
-
* Checks if a file exists asynchronously.
|
|
4
|
-
* @param path - The path to the file.
|
|
5
|
-
* @returns A promise that resolves to true if the file exists, false otherwise.
|
|
6
|
-
*/
|
|
7
|
-
static exists(path: string): Promise<boolean>;
|
|
8
|
-
}
|
|
9
|
-
export declare namespace File { }
|
|
10
|
-
export default File;
|
package/build/utilities/File.js
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @author NetFeez <netfeez.dev@gmail.com>
|
|
3
|
-
* @description Provides utilities for file operations, such as checking if a file exists.
|
|
4
|
-
* This is useful for performing asynchronous file checks in a way that integrates well with modern JavaScript practices.
|
|
5
|
-
* @license Apache-2.0
|
|
6
|
-
*/
|
|
7
|
-
import { promises as FSP } from 'fs';
|
|
8
|
-
export class File {
|
|
9
|
-
/**
|
|
10
|
-
* Checks if a file exists asynchronously.
|
|
11
|
-
* @param path - The path to the file.
|
|
12
|
-
* @returns A promise that resolves to true if the file exists, false otherwise.
|
|
13
|
-
*/
|
|
14
|
-
static async exists(path) {
|
|
15
|
-
return FSP.access(path).then(() => true).catch(() => false);
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
export default File;
|
|
19
|
-
//# sourceMappingURL=File.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"File.js","sourceRoot":"","sources":["../../src/utilities/File.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,QAAQ,IAAI,GAAG,EAAE,MAAM,IAAI,CAAC;AAErC,MAAM,OAAO,IAAI;IACb;;;;OAIG;IACI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAY;QACnC,OAAO,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;IAChE,CAAC;CACJ;AAGD,eAAe,IAAI,CAAC"}
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @author NetFeez <netfeez.dev@gmail.com>
|
|
3
|
-
* @description Provides flatten/unflatten helpers with strong TypeScript typing.
|
|
4
|
-
* @license Apache-2.0
|
|
5
|
-
*/
|
|
6
|
-
export declare class Flatten {
|
|
7
|
-
/**
|
|
8
|
-
* Flattens a nested plain-object into dot-notation keys.
|
|
9
|
-
* Non-plain objects (Date, RegExp, Map, Set, etc.) are treated as leaf values.
|
|
10
|
-
* @param object - The object to flatten.
|
|
11
|
-
* @param depth - The maximum depth to flatten (default is 10).
|
|
12
|
-
* @returns A new object with flattened keys.
|
|
13
|
-
*/
|
|
14
|
-
static object<T extends Flatten.Document, D extends number = 10>(object: T, depth?: D): Flatten.Object<T, D>;
|
|
15
|
-
/**
|
|
16
|
-
* Unflattens a flattened object back into its original nested structure.
|
|
17
|
-
* @param obj - The flattened object to unflatten.
|
|
18
|
-
* @returns A new object with the original nested structure.
|
|
19
|
-
*/
|
|
20
|
-
static unObject<Result extends any = any>(obj: Flatten.Document): Result;
|
|
21
|
-
/**
|
|
22
|
-
* Core recursive function to flatten an object. It handles the actual flattening logic, while the public `object` method provides type safety and a cleaner interface.
|
|
23
|
-
* @param object - The object to flatten.
|
|
24
|
-
* @param depth - The remaining depth to flatten.
|
|
25
|
-
* @param prefix - The current key prefix for nested keys.
|
|
26
|
-
* @returns A flattened object with dot-notation keys.
|
|
27
|
-
*/
|
|
28
|
-
private static flattenCore;
|
|
29
|
-
/**
|
|
30
|
-
* Checks if a value is a plain object (i.e., an object created by the Object constructor or with a null prototype). This is used to determine whether to flatten a value or treat it as a leaf.
|
|
31
|
-
* @param value - The value to check.
|
|
32
|
-
* @returns True if the value is a plain object, false otherwise.
|
|
33
|
-
*/
|
|
34
|
-
private static isPlainObject;
|
|
35
|
-
}
|
|
36
|
-
export declare namespace Flatten {
|
|
37
|
-
export type Document = {
|
|
38
|
-
[key: string]: any;
|
|
39
|
-
};
|
|
40
|
-
type Prettify<T> = {
|
|
41
|
-
[K in keyof T]: T[K];
|
|
42
|
-
} & {};
|
|
43
|
-
type Primitive = string | number | boolean | bigint | symbol | null | undefined;
|
|
44
|
-
type Builtin = Primitive | Date | RegExp | Function | Error | Promise<any> | Map<any, any> | Set<any> | WeakMap<any, any> | WeakSet<any>;
|
|
45
|
-
type IsLeaf<T> = T extends Builtin ? true : T extends readonly any[] ? true : false;
|
|
46
|
-
type UndefinedToPartial<T extends object> = {
|
|
47
|
-
[K in keyof T as undefined extends T[K] ? never : K]: T[K];
|
|
48
|
-
} & {
|
|
49
|
-
[K in keyof T as undefined extends T[K] ? K : never]?: Exclude<T[K], undefined>;
|
|
50
|
-
};
|
|
51
|
-
type UnionToIntersection<U extends object> = ((U extends any ? (arg: U) => void : never) extends (arg: infer I) => void ? I extends object ? {
|
|
52
|
-
[K in keyof I]: I[K] extends object ? UnionToIntersection<I[K]> : I[K];
|
|
53
|
-
} : I : never);
|
|
54
|
-
type DepthTuple<Depth extends number, Current extends 1[] = []> = (number extends Depth ? [1, 1, 1, 1, 1] : Current['length'] extends Depth ? Current : DepthTuple<Depth, [1, ...Current]>);
|
|
55
|
-
type NextDepth<D extends 1[]> = D extends [1, ...infer R extends 1[]] ? R : [];
|
|
56
|
-
type Join<Prefix extends string, Key extends string> = Prefix extends '' ? Key : `${Prefix}.${Key}`;
|
|
57
|
-
type ResourceKeys<T extends Document, D extends 1[] = DepthTuple<5>, Prefix extends string = ''> = {
|
|
58
|
-
[K in Extract<keyof T, string>]-?: (Exclude<T[K], undefined> extends infer U ? IsLeaf<U> extends true ? Join<Prefix, K> : U extends Document ? D extends [] ? Join<Prefix, K> : ResourceKeys<U, NextDepth<D>, Join<Prefix, K>> : Join<Prefix, K> : never);
|
|
59
|
-
}[Extract<keyof T, string>];
|
|
60
|
-
type RecurseObject<T extends Document, Keys extends string> = (Keys extends `${infer K}.${infer Rest}` ? K extends keyof T ? Extract<Exclude<T[K], undefined>, Document> extends infer Nested ? [Nested] extends [never] ? never : (RecurseObject<Nested & Document, Rest> | (undefined extends T[K] ? undefined : never) | (null extends T[K] ? undefined : never)) : never : never : undefined extends T ? Keys extends keyof Exclude<T, undefined> ? Exclude<T, undefined>[Keys] | undefined : never : Keys extends keyof T ? T[Keys] : never);
|
|
61
|
-
export type Object<T extends Document, depth extends number = 5> = Prettify<UndefinedToPartial<{
|
|
62
|
-
[P in ResourceKeys<T, DepthTuple<depth>>]: RecurseObject<T, P>;
|
|
63
|
-
}>>;
|
|
64
|
-
type Split<S extends string, Delimiter extends string> = (S extends `${infer T}${Delimiter}${infer U}` ? [T, ...Split<U, Delimiter>] : [S]);
|
|
65
|
-
type BuildNestedObject<Path extends string[], Value> = (Path extends [infer Head extends string, ...infer Tail extends string[]] ? UndefinedToPartial<{
|
|
66
|
-
[K in Head]: BuildNestedObject<Tail, Value>;
|
|
67
|
-
}> : Value);
|
|
68
|
-
export type UnObject<T extends Document> = Prettify<UnionToIntersection<UndefinedToPartial<({
|
|
69
|
-
[K in keyof T]-?: BuildNestedObject<Split<Extract<K, string>, '.'>, T[K]>;
|
|
70
|
-
}[keyof T])>>>;
|
|
71
|
-
export {};
|
|
72
|
-
}
|
|
73
|
-
export default Flatten;
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @author NetFeez <netfeez.dev@gmail.com>
|
|
3
|
-
* @description Provides flatten/unflatten helpers with strong TypeScript typing.
|
|
4
|
-
* @license Apache-2.0
|
|
5
|
-
*/
|
|
6
|
-
export class Flatten {
|
|
7
|
-
/**
|
|
8
|
-
* Flattens a nested plain-object into dot-notation keys.
|
|
9
|
-
* Non-plain objects (Date, RegExp, Map, Set, etc.) are treated as leaf values.
|
|
10
|
-
* @param object - The object to flatten.
|
|
11
|
-
* @param depth - The maximum depth to flatten (default is 10).
|
|
12
|
-
* @returns A new object with flattened keys.
|
|
13
|
-
*/
|
|
14
|
-
static object(object, depth = 10) {
|
|
15
|
-
return this.flattenCore(object, depth);
|
|
16
|
-
}
|
|
17
|
-
/**
|
|
18
|
-
* Unflattens a flattened object back into its original nested structure.
|
|
19
|
-
* @param obj - The flattened object to unflatten.
|
|
20
|
-
* @returns A new object with the original nested structure.
|
|
21
|
-
*/
|
|
22
|
-
static unObject(obj) {
|
|
23
|
-
const result = {};
|
|
24
|
-
for (const key in obj) {
|
|
25
|
-
const value = obj[key];
|
|
26
|
-
const [first, ...rest] = key.split('.');
|
|
27
|
-
if (rest.length === 0)
|
|
28
|
-
result[first] = value;
|
|
29
|
-
else {
|
|
30
|
-
const last = rest.pop();
|
|
31
|
-
const subObj = result[first] ?? {};
|
|
32
|
-
let current = subObj;
|
|
33
|
-
rest.forEach((k) => {
|
|
34
|
-
current = current[k] ?? (current[k] = {});
|
|
35
|
-
});
|
|
36
|
-
current[last] = value;
|
|
37
|
-
result[first] = subObj;
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
return result;
|
|
41
|
-
}
|
|
42
|
-
/**
|
|
43
|
-
* Core recursive function to flatten an object. It handles the actual flattening logic, while the public `object` method provides type safety and a cleaner interface.
|
|
44
|
-
* @param object - The object to flatten.
|
|
45
|
-
* @param depth - The remaining depth to flatten.
|
|
46
|
-
* @param prefix - The current key prefix for nested keys.
|
|
47
|
-
* @returns A flattened object with dot-notation keys.
|
|
48
|
-
*/
|
|
49
|
-
static flattenCore(object, depth = 10, prefix = '') {
|
|
50
|
-
const result = {};
|
|
51
|
-
for (const key in object) {
|
|
52
|
-
const newKey = prefix ? `${prefix}.${key}` : key;
|
|
53
|
-
const value = object[key];
|
|
54
|
-
if (depth > 0 && this.isPlainObject(value)) {
|
|
55
|
-
Object.assign(result, this.flattenCore(value, depth - 1, newKey));
|
|
56
|
-
}
|
|
57
|
-
else {
|
|
58
|
-
result[newKey] = value;
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
return result;
|
|
62
|
-
}
|
|
63
|
-
/**
|
|
64
|
-
* Checks if a value is a plain object (i.e., an object created by the Object constructor or with a null prototype). This is used to determine whether to flatten a value or treat it as a leaf.
|
|
65
|
-
* @param value - The value to check.
|
|
66
|
-
* @returns True if the value is a plain object, false otherwise.
|
|
67
|
-
*/
|
|
68
|
-
static isPlainObject(value) {
|
|
69
|
-
if (value == null || typeof value !== 'object' || Array.isArray(value))
|
|
70
|
-
return false;
|
|
71
|
-
const proto = Object.getPrototypeOf(value);
|
|
72
|
-
return proto === Object.prototype || proto === null;
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
export default Flatten;
|
|
76
|
-
//# sourceMappingURL=Flatten.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Flatten.js","sourceRoot":"","sources":["../../src/utilities/Flatten.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,OAAO,OAAO;IAChB;;;;;;OAMG;IACI,MAAM,CAAC,MAAM,CAChB,MAAS,EACT,QAAW,EAAO;QAElB,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,KAAK,CAAyB,CAAC;IACnE,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,QAAQ,CAA2B,GAAqB;QAClE,MAAM,MAAM,GAAQ,EAAE,CAAC;QACvB,KAAK,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;YACpB,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;YACvB,MAAM,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACxC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;gBAAE,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;iBACxC,CAAC;gBACF,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAY,CAAC;gBAClC,MAAM,MAAM,GAAQ,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;gBACxC,IAAI,OAAO,GAAQ,MAAM,CAAC;gBAC1B,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;oBACf,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;gBAC9C,CAAC,CAAC,CAAC;gBACH,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;gBACtB,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC;YAC3B,CAAC;QACL,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IACD;;;;;;OAMG;IACK,MAAM,CAAC,WAAW,CAAC,MAAwB,EAAE,QAAgB,EAAE,EAAE,SAAiB,EAAE;QACxF,MAAM,MAAM,GAAqB,EAAE,CAAC;QACpC,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;YACvB,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;YACjD,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;YAC1B,IAAI,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;gBACzC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;YACtE,CAAC;iBAAM,CAAC;gBACJ,MAAM,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC;YAC3B,CAAC;QACL,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IACD;;;;OAIG;IACK,MAAM,CAAC,aAAa,CAAC,KAAc;QACvC,IAAI,KAAK,IAAI,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QACrF,MAAM,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAC3C,OAAO,KAAK,KAAK,MAAM,CAAC,SAAS,IAAI,KAAK,KAAK,IAAI,CAAC;IACxD,CAAC;CACJ;AAsGD,eAAe,OAAO,CAAC"}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @author NetFeez <netfeez.dev@gmail.com>
|
|
3
|
-
* @description Provides utilities for deep object comparison and manipulation, such as checking for deep equality between objects. This is useful for comparing complex data structures in a way that goes beyond simple reference checks.
|
|
4
|
-
* @license Apache-2.0
|
|
5
|
-
*/
|
|
6
|
-
export declare class Object {
|
|
7
|
-
/**
|
|
8
|
-
* Compares two objects recursively for deep equality.
|
|
9
|
-
* @param obj1 - The first object to compare.
|
|
10
|
-
* @param obj2 - The second object to compare.
|
|
11
|
-
* @returns true if the objects are deeply equal, false otherwise.
|
|
12
|
-
*/
|
|
13
|
-
static deepEqual(obj1: any, obj2: any): boolean;
|
|
14
|
-
}
|
|
15
|
-
export declare namespace Object { }
|
|
16
|
-
export default Object;
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @author NetFeez <netfeez.dev@gmail.com>
|
|
3
|
-
* @description Provides utilities for deep object comparison and manipulation, such as checking for deep equality between objects. This is useful for comparing complex data structures in a way that goes beyond simple reference checks.
|
|
4
|
-
* @license Apache-2.0
|
|
5
|
-
*/
|
|
6
|
-
export class Object {
|
|
7
|
-
/**
|
|
8
|
-
* Compares two objects recursively for deep equality.
|
|
9
|
-
* @param obj1 - The first object to compare.
|
|
10
|
-
* @param obj2 - The second object to compare.
|
|
11
|
-
* @returns true if the objects are deeply equal, false otherwise.
|
|
12
|
-
*/
|
|
13
|
-
static deepEqual(obj1, obj2) {
|
|
14
|
-
if (obj1 === obj2)
|
|
15
|
-
return true;
|
|
16
|
-
if (typeof obj1 !== typeof obj2 ||
|
|
17
|
-
obj1 === null || obj2 === null)
|
|
18
|
-
return false;
|
|
19
|
-
const isArray1 = Array.isArray(obj1);
|
|
20
|
-
const isArray2 = Array.isArray(obj2);
|
|
21
|
-
if (isArray1 || isArray2) {
|
|
22
|
-
if (!isArray1 || !isArray2)
|
|
23
|
-
return false;
|
|
24
|
-
if (obj1.length !== obj2.length)
|
|
25
|
-
return false;
|
|
26
|
-
for (let i = 0; i < obj1.length; i++) {
|
|
27
|
-
const hasIndex1 = i in obj1;
|
|
28
|
-
const hasIndex2 = i in obj2;
|
|
29
|
-
if (hasIndex1 !== hasIndex2)
|
|
30
|
-
return false;
|
|
31
|
-
if (hasIndex1 && !this.deepEqual(obj1[i], obj2[i]))
|
|
32
|
-
return false;
|
|
33
|
-
}
|
|
34
|
-
return true;
|
|
35
|
-
}
|
|
36
|
-
const keys1 = globalThis.Object.keys(obj1);
|
|
37
|
-
const keys2 = globalThis.Object.keys(obj2);
|
|
38
|
-
if (keys1.length !== keys2.length)
|
|
39
|
-
return false;
|
|
40
|
-
for (const key of keys1)
|
|
41
|
-
if (!keys2.includes(key) ||
|
|
42
|
-
!this.deepEqual(obj1[key], obj2[key]))
|
|
43
|
-
return false;
|
|
44
|
-
return true;
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
export default Object;
|
|
48
|
-
//# sourceMappingURL=Object.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Object.js","sourceRoot":"","sources":["../../src/utilities/Object.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,OAAO,MAAM;IACf;;;;;OAKG;IACI,MAAM,CAAC,SAAS,CAAC,IAAS,EAAE,IAAS;QACxC,IAAI,IAAI,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QAC/B,IACI,OAAO,IAAI,KAAK,OAAO,IAAI;YAC3B,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI;YAChC,OAAO,KAAK,CAAC;QAEf,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACrC,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAErC,IAAI,QAAQ,IAAI,QAAQ,EAAE,CAAC;YACvB,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ;gBAAE,OAAO,KAAK,CAAC;YACzC,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM;gBAAE,OAAO,KAAK,CAAC;YAE9C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACnC,MAAM,SAAS,GAAG,CAAC,IAAI,IAAI,CAAC;gBAC5B,MAAM,SAAS,GAAG,CAAC,IAAI,IAAI,CAAC;gBAE5B,IAAI,SAAS,KAAK,SAAS;oBAAE,OAAO,KAAK,CAAC;gBAC1C,IAAI,SAAS,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;oBAAE,OAAO,KAAK,CAAC;YACrE,CAAC;YAED,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3C,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM;YAAE,OAAO,KAAK,CAAC;QAChD,KAAK,MAAM,GAAG,IAAI,KAAK;YAAE,IACrB,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC;gBACpB,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;gBACvC,OAAO,KAAK,CAAC;QACf,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AAGD,eAAe,MAAM,CAAC"}
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
export declare class Path {
|
|
2
|
-
/** The directory where the Vortez module is located. */
|
|
3
|
-
static readonly moduleDir: string;
|
|
4
|
-
/** The directory where the user is running the server from. */
|
|
5
|
-
static readonly rootDir: string;
|
|
6
|
-
/**
|
|
7
|
-
* Normalizes a file path by replacing multiple slashes with a single separator and ensuring consistent use of separators.
|
|
8
|
-
* @param path - The file path to normalize.
|
|
9
|
-
* @return The normalized file path.
|
|
10
|
-
*/
|
|
11
|
-
static normalize(path: string): string;
|
|
12
|
-
/**
|
|
13
|
-
* Resolves an absolute path from the root of the user project.
|
|
14
|
-
* @param paths - The path to resolve.
|
|
15
|
-
* @return The resolved path.
|
|
16
|
-
*/
|
|
17
|
-
static root(...paths: string[]): string;
|
|
18
|
-
/**
|
|
19
|
-
* Resolves an absolute path from the root of Vortez (internal).
|
|
20
|
-
* @param paths - The path to resolve.
|
|
21
|
-
* @return The resolved path.
|
|
22
|
-
*/
|
|
23
|
-
static module(...paths: string[]): string;
|
|
24
|
-
/**
|
|
25
|
-
* Returns the directory name of a path, similar to `PATH.dirname`, but ensures the path is normalized first.
|
|
26
|
-
* @param path - The path to get the directory name of.
|
|
27
|
-
* @return The directory name of the path.
|
|
28
|
-
*/
|
|
29
|
-
static dirname(path: string): string;
|
|
30
|
-
/**
|
|
31
|
-
* Joins multiple path segments into a single path, ensuring that the result is normalized.
|
|
32
|
-
* @param paths - The path segments to join.
|
|
33
|
-
* @return The joined path.
|
|
34
|
-
*/
|
|
35
|
-
static join(...paths: string[]): string;
|
|
36
|
-
/**
|
|
37
|
-
* Resolves an absolute path from the root of the user project.
|
|
38
|
-
* @param paths - The path to resolve.
|
|
39
|
-
* @return The resolved path.
|
|
40
|
-
*/
|
|
41
|
-
static resolve(...paths: string[]): string;
|
|
42
|
-
}
|
|
43
|
-
export declare namespace Path { }
|
|
44
|
-
export default Path;
|
package/build/utilities/Path.js
DELETED
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @author NetFeez <netfeez.dev@gmail.com>
|
|
3
|
-
* @description Provides utilities for handling file paths, including normalization and resolution of paths relative to the module and user project.
|
|
4
|
-
* @license Apache-2.0
|
|
5
|
-
*/
|
|
6
|
-
import PATH from 'path';
|
|
7
|
-
import URL from 'url';
|
|
8
|
-
export class Path {
|
|
9
|
-
/** The directory where the Vortez module is located. */
|
|
10
|
-
static moduleDir = PATH.dirname(PATH.dirname(PATH.dirname(URL.fileURLToPath(import.meta.url))));
|
|
11
|
-
/** The directory where the user is running the server from. */
|
|
12
|
-
static rootDir = process.cwd();
|
|
13
|
-
/**
|
|
14
|
-
* Normalizes a file path by replacing multiple slashes with a single separator and ensuring consistent use of separators.
|
|
15
|
-
* @param path - The file path to normalize.
|
|
16
|
-
* @return The normalized file path.
|
|
17
|
-
*/
|
|
18
|
-
static normalize(path) {
|
|
19
|
-
path = path.replace(/[\\/]+/g, PATH.sep);
|
|
20
|
-
return path;
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* Resolves an absolute path from the root of the user project.
|
|
24
|
-
* @param paths - The path to resolve.
|
|
25
|
-
* @return The resolved path.
|
|
26
|
-
*/
|
|
27
|
-
static root(...paths) {
|
|
28
|
-
paths = paths.map(path => this.normalize(path));
|
|
29
|
-
return PATH.join(this.rootDir, ...paths);
|
|
30
|
-
}
|
|
31
|
-
/**
|
|
32
|
-
* Resolves an absolute path from the root of Vortez (internal).
|
|
33
|
-
* @param paths - The path to resolve.
|
|
34
|
-
* @return The resolved path.
|
|
35
|
-
*/
|
|
36
|
-
static module(...paths) {
|
|
37
|
-
paths = paths.map(path => this.normalize(path));
|
|
38
|
-
return PATH.join(this.moduleDir, ...paths);
|
|
39
|
-
}
|
|
40
|
-
/**
|
|
41
|
-
* Returns the directory name of a path, similar to `PATH.dirname`, but ensures the path is normalized first.
|
|
42
|
-
* @param path - The path to get the directory name of.
|
|
43
|
-
* @return The directory name of the path.
|
|
44
|
-
*/
|
|
45
|
-
static dirname(path) {
|
|
46
|
-
path = this.normalize(path);
|
|
47
|
-
return PATH.dirname(path);
|
|
48
|
-
}
|
|
49
|
-
/**
|
|
50
|
-
* Joins multiple path segments into a single path, ensuring that the result is normalized.
|
|
51
|
-
* @param paths - The path segments to join.
|
|
52
|
-
* @return The joined path.
|
|
53
|
-
*/
|
|
54
|
-
static join(...paths) {
|
|
55
|
-
paths = paths.map(path => this.normalize(path));
|
|
56
|
-
return PATH.join(...paths);
|
|
57
|
-
}
|
|
58
|
-
/**
|
|
59
|
-
* Resolves an absolute path from the root of the user project.
|
|
60
|
-
* @param paths - The path to resolve.
|
|
61
|
-
* @return The resolved path.
|
|
62
|
-
*/
|
|
63
|
-
static resolve(...paths) {
|
|
64
|
-
paths = paths.map(path => this.normalize(path));
|
|
65
|
-
return PATH.resolve(...paths);
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
export default Path;
|
|
69
|
-
//# sourceMappingURL=Path.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Path.js","sourceRoot":"","sources":["../../src/utilities/Path.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,GAAG,MAAM,KAAK,CAAC;AAEtB,MAAM,OAAO,IAAI;IACb,wDAAwD;IACjD,MAAM,CAAU,SAAS,GAAW,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACxH,+DAA+D;IACxD,MAAM,CAAU,OAAO,GAAW,OAAO,CAAC,GAAG,EAAE,CAAC;IAEvD;;;;OAIG;IACI,MAAM,CAAC,SAAS,CAAC,IAAY;QAChC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QACzC,OAAO,IAAI,CAAC;IAChB,CAAC;IACD;;;;OAIG;IACI,MAAM,CAAC,IAAI,CAAC,GAAG,KAAe;QACjC,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;QAChD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC,CAAC;IAC7C,CAAC;IACD;;;;OAIG;IACI,MAAM,CAAC,MAAM,CAAC,GAAG,KAAe;QACnC,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;QAChD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,KAAK,CAAC,CAAC;IAC/C,CAAC;IACD;;;;OAIG;IACI,MAAM,CAAC,OAAO,CAAC,IAAY;QAC9B,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC5B,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IACD;;;;OAIG;IACI,MAAM,CAAC,IAAI,CAAC,GAAG,KAAe;QACjC,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;QAChD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC;IAC/B,CAAC;IACD;;;;OAIG;IACI,MAAM,CAAC,OAAO,CAAC,GAAG,KAAe;QACpC,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;QAChD,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC;IAClC,CAAC;;AAGL,eAAe,IAAI,CAAC"}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @author NetFeez <netfeez.dev@gmail.com>
|
|
3
|
-
* @description Provides time-related utilities, such as sleep functions for delaying execution.
|
|
4
|
-
* @license Apache-2.0
|
|
5
|
-
*/
|
|
6
|
-
export declare class Time {
|
|
7
|
-
/**
|
|
8
|
-
* Converts a timestamp in milliseconds to seconds.
|
|
9
|
-
* @param timestamp - The timestamp in milliseconds to convert.
|
|
10
|
-
* @returns The equivalent timestamp in seconds.
|
|
11
|
-
*/
|
|
12
|
-
static timestampToSecond(timestamp: number): number;
|
|
13
|
-
/**
|
|
14
|
-
* Pauses execution for a specified duration.
|
|
15
|
-
* @param ms - The number of milliseconds to sleep.
|
|
16
|
-
* @returns A promise that resolves after the given time.
|
|
17
|
-
*/
|
|
18
|
-
static sleep(ms: number): Promise<void>;
|
|
19
|
-
}
|
|
20
|
-
export declare namespace Time { }
|
|
21
|
-
export default Time;
|