@delofarag/base-utils 1.1.1 → 1.3.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.
Files changed (57) hide show
  1. package/dist/file-utils.d.ts +9 -10
  2. package/dist/file-utils.d.ts.map +1 -1
  3. package/dist/file-utils.js +11 -22
  4. package/dist/file-utils.js.map +1 -1
  5. package/dist/heart/cli.d.ts +7 -0
  6. package/dist/heart/cli.d.ts.map +1 -0
  7. package/dist/heart/cli.js +47 -0
  8. package/dist/heart/cli.js.map +1 -0
  9. package/dist/heart/file-utils.d.ts +12 -0
  10. package/dist/heart/file-utils.d.ts.map +1 -0
  11. package/dist/heart/file-utils.js +139 -0
  12. package/dist/heart/file-utils.js.map +1 -0
  13. package/dist/heart/load_envs.d.ts +2 -0
  14. package/dist/heart/load_envs.d.ts.map +1 -0
  15. package/dist/heart/load_envs.js +9 -0
  16. package/dist/heart/load_envs.js.map +1 -0
  17. package/dist/heart/mail.d.ts +9 -0
  18. package/dist/heart/mail.d.ts.map +1 -0
  19. package/dist/heart/mail.js +28 -0
  20. package/dist/heart/mail.js.map +1 -0
  21. package/dist/heart/pino-logger.d.ts +3 -0
  22. package/dist/heart/pino-logger.d.ts.map +1 -0
  23. package/dist/heart/pino-logger.js +19 -0
  24. package/dist/heart/pino-logger.js.map +1 -0
  25. package/dist/index.d.ts +2 -5
  26. package/dist/index.d.ts.map +1 -1
  27. package/dist/index.js +2 -5
  28. package/dist/index.js.map +1 -1
  29. package/dist/rule.d.ts +49 -0
  30. package/dist/rule.d.ts.map +1 -0
  31. package/dist/rule.js +96 -0
  32. package/dist/rule.js.map +1 -0
  33. package/dist/server/cli.d.ts +7 -0
  34. package/dist/server/cli.d.ts.map +1 -0
  35. package/dist/server/cli.js +47 -0
  36. package/dist/server/cli.js.map +1 -0
  37. package/dist/server/file-utils.d.ts +12 -0
  38. package/dist/server/file-utils.d.ts.map +1 -0
  39. package/dist/server/file-utils.js +139 -0
  40. package/dist/server/file-utils.js.map +1 -0
  41. package/dist/server/index.d.ts +5 -0
  42. package/dist/server/index.d.ts.map +1 -0
  43. package/dist/server/index.js +5 -0
  44. package/dist/server/index.js.map +1 -0
  45. package/dist/server/mail.d.ts +19 -0
  46. package/dist/server/mail.d.ts.map +1 -0
  47. package/dist/server/mail.js +45 -0
  48. package/dist/server/mail.js.map +1 -0
  49. package/dist/server/pino-logger.d.ts +3 -0
  50. package/dist/server/pino-logger.d.ts.map +1 -0
  51. package/dist/server/pino-logger.js +19 -0
  52. package/dist/server/pino-logger.js.map +1 -0
  53. package/dist/util-funcs.d.ts +10 -0
  54. package/dist/util-funcs.d.ts.map +1 -0
  55. package/dist/util-funcs.js +54 -0
  56. package/dist/util-funcs.js.map +1 -0
  57. package/package.json +14 -15
@@ -1,13 +1,12 @@
1
- export declare function create_file(file: string, content: string): Promise<boolean>;
2
- export declare function create_sub_file(pathStr: string, content: string): Promise<boolean>;
3
- export declare function read_file(file: string): Promise<string>;
4
- export declare function read_all_files_in_dir(dir: string): Promise<string[]>;
5
- export declare function read_file_lines(file: string): Promise<string[]>;
6
- export declare function add_to_file(file: string, content: string): Promise<boolean>;
7
- export declare function does_file_exist(file: string): Promise<boolean>;
8
- export declare function write_n_run(file: string, content: string, interpreter: string, is_subfile?: boolean, aus_führen?: boolean): Promise<string>;
1
+ export declare function createFile(file: string, content: string): Promise<boolean>;
2
+ export declare function createSubFile(pathStr: string, content: string): Promise<boolean>;
3
+ export declare function readFile(file: string): Promise<string>;
4
+ export declare function readAllFilesInDir(dir: string): Promise<string[]>;
5
+ export declare function readFileLines(file: string): Promise<string[]>;
6
+ export declare function addToFile(file: string, content: string): Promise<boolean>;
7
+ export declare function doesFileExist(file: string): Promise<boolean>;
8
+ export declare function write_n_run(file: string, content: string, interpreter: string, is_subfile?: boolean, ausführen?: boolean): Promise<string>;
9
9
  export declare function write_n_run_py(file: string, content: string, is_subfile?: boolean, aus_führen?: boolean): Promise<string>;
10
10
  export declare function write_n_run_js(file: string, content: string, is_subfile?: boolean, aus_führen?: boolean): Promise<string>;
11
- export declare function remove_file(file: string): Promise<boolean>;
12
- export declare function remove_empty_dir(dir: string): Promise<boolean>;
11
+ export declare function removeFile(file: string): Promise<boolean>;
13
12
  //# sourceMappingURL=file-utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"file-utils.d.ts","sourceRoot":"","sources":["../src/file-utils.ts"],"names":[],"mappings":"AAYA,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CASjF;AAED,wBAAsB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAWxF;AAED,wBAAsB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAuB7D;AAED,wBAAsB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAuB1E;AAED,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAKrE;AAED,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CASjF;AAED,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CASpE;AAGD,wBAAsB,WAAW,CAC7B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,UAAU,GAAE,OAAe,EAC3B,UAAU,GAAE,OAAe,GAC5B,OAAO,CAAC,MAAM,CAAC,CAiBjB;AAED,wBAAsB,cAAc,CAChC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,UAAU,GAAE,OAAe,EAC3B,UAAU,GAAE,OAAe,GAC5B,OAAO,CAAC,MAAM,CAAC,CAEjB;AAED,wBAAsB,cAAc,CAChC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,UAAU,GAAE,OAAe,EAC3B,UAAU,GAAE,OAAe,GAC5B,OAAO,CAAC,MAAM,CAAC,CAEjB;AAGD,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAUhE;AAED,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CASpE"}
1
+ {"version":3,"file":"file-utils.d.ts","sourceRoot":"","sources":["../src/file-utils.ts"],"names":[],"mappings":"AAYA,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAShF;AAED,wBAAsB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAWtF;AAED,wBAAsB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAuB5D;AAED,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAuBtE;AAED,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAKnE;AAED,wBAAsB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAS/E;AAED,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CASlE;AAGD,wBAAsB,WAAW,CAC7B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,UAAU,GAAE,OAAe,EAC3B,SAAS,GAAE,OAAe,GAC3B,OAAO,CAAC,MAAM,CAAC,CAiBjB;AAED,wBAAsB,cAAc,CAChC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,UAAU,GAAE,OAAe,EAC3B,UAAU,GAAE,OAAe,GAC5B,OAAO,CAAC,MAAM,CAAC,CAEjB;AAED,wBAAsB,cAAc,CAChC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,UAAU,GAAE,OAAe,EAC3B,UAAU,GAAE,OAAe,GAC5B,OAAO,CAAC,MAAM,CAAC,CAEjB;AAGD,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAU/D"}
@@ -7,7 +7,7 @@ function getProjectRoot() {
7
7
  return path.resolve(__dirname, '../../../..');
8
8
  }
9
9
  // creating and reading
10
- export async function create_file(file, content) {
10
+ export async function createFile(file, content) {
11
11
  try {
12
12
  await fs.writeFile(file, content, 'utf-8');
13
13
  console.log(`die Datei: '${file}' wurde erstellt`);
@@ -18,7 +18,7 @@ export async function create_file(file, content) {
18
18
  return false;
19
19
  }
20
20
  }
21
- export async function create_sub_file(pathStr, content) {
21
+ export async function createSubFile(pathStr, content) {
22
22
  const dir = path.dirname(pathStr);
23
23
  try {
24
24
  await fs.mkdir(dir, { recursive: true });
@@ -31,7 +31,7 @@ export async function create_sub_file(pathStr, content) {
31
31
  return false;
32
32
  }
33
33
  }
34
- export async function read_file(file) {
34
+ export async function readFile(file) {
35
35
  let filePath = path.resolve(file);
36
36
  if (!path.isAbsolute(file)) {
37
37
  const projectRoot = getProjectRoot();
@@ -53,7 +53,7 @@ export async function read_file(file) {
53
53
  console.log(`die Datei: '${filePath}' wurde ausgelesen`);
54
54
  return content;
55
55
  }
56
- export async function read_all_files_in_dir(dir) {
56
+ export async function readAllFilesInDir(dir) {
57
57
  const dirPath = path.join(getProjectRoot(), dir);
58
58
  const files = [];
59
59
  async function readDir(currentPath) {
@@ -74,13 +74,13 @@ export async function read_all_files_in_dir(dir) {
74
74
  console.log(`der ordner: ${dir} wurde vollständig ausgelesen`);
75
75
  return files;
76
76
  }
77
- export async function read_file_lines(file) {
77
+ export async function readFileLines(file) {
78
78
  const content = await fs.readFile(file, 'utf-8');
79
79
  const lines = content.split('\n');
80
80
  console.log(`die Datei: '${file}' wurde Zeile für Zeile ausgelesen und in ein array gepackt`);
81
81
  return lines;
82
82
  }
83
- export async function add_to_file(file, content) {
83
+ export async function addToFile(file, content) {
84
84
  try {
85
85
  await fs.appendFile(file, `\n${content}`, 'utf-8');
86
86
  console.log(`in Datei: '${file}' wurde Inhalt: '${content}' hinzugefügt`);
@@ -91,7 +91,7 @@ export async function add_to_file(file, content) {
91
91
  return false;
92
92
  }
93
93
  }
94
- export async function does_file_exist(file) {
94
+ export async function doesFileExist(file) {
95
95
  try {
96
96
  await fs.access(file);
97
97
  console.log(`die Datei: '${file}' exestiert`);
@@ -103,15 +103,15 @@ export async function does_file_exist(file) {
103
103
  }
104
104
  }
105
105
  // running code
106
- export async function write_n_run(file, content, interpreter, is_subfile = false, aus_führen = false) {
106
+ export async function write_n_run(file, content, interpreter, is_subfile = false, ausführen = false) {
107
107
  const filePath = path.resolve(file);
108
108
  if (is_subfile) {
109
109
  const dir = path.dirname(filePath);
110
110
  await fs.mkdir(dir, { recursive: true });
111
111
  }
112
112
  await fs.writeFile(filePath, content, 'utf-8');
113
- console.log(`der ${interpreter} Code-Datei: '${file}' wurde erstellt`);
114
- if (aus_führen) {
113
+ console.log(`die ${interpreter} Code-Datei: '${file}' wurde erstellt`);
114
+ if (ausführen) {
115
115
  await execAsync(`${interpreter} ${filePath}`);
116
116
  console.log(`die ${interpreter} Code-Datei: '${file}' wird ausgeführt`);
117
117
  }
@@ -124,7 +124,7 @@ export async function write_n_run_js(file, content, is_subfile = false, aus_füh
124
124
  return write_n_run(file, content, 'node', is_subfile, aus_führen);
125
125
  }
126
126
  // removing
127
- export async function remove_file(file) {
127
+ export async function removeFile(file) {
128
128
  try {
129
129
  await fs.unlink(file);
130
130
  console.log(`die Datei: '${file}' wurde gelöscht`);
@@ -136,15 +136,4 @@ export async function remove_file(file) {
136
136
  return false;
137
137
  }
138
138
  }
139
- export async function remove_empty_dir(dir) {
140
- try {
141
- await fs.rmdir(dir);
142
- console.log(`der leere Ordner: '${dir}' wird entfernt`);
143
- return true;
144
- }
145
- catch (e) {
146
- console.error(`Fehler beim Entfernen des leeren Ordners: '${dir}': ${e}`);
147
- return false;
148
- }
149
- }
150
139
  //# sourceMappingURL=file-utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"file-utils.js","sourceRoot":"","sources":["../src/file-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"file-utils.js","sourceRoot":"","sources":["../src/file-utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ export declare function input(prompt?: string): Promise<string>;
2
+ export declare const terminal: {
3
+ exec: (command: string) => Promise<string>;
4
+ run: (command: string) => Promise<number>;
5
+ exists: (command: string) => Promise<boolean>;
6
+ };
7
+ //# sourceMappingURL=cli.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/heart/cli.ts"],"names":[],"mappings":"AAGA,wBAAgB,KAAK,CAAC,MAAM,GAAE,MAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAY1D;AAED,eAAO,MAAM,QAAQ;oBAEY,MAAM,KAAE,OAAO,CAAC,MAAM,CAAC;mBAYxB,MAAM,KAAE,OAAO,CAAC,MAAM,CAAC;sBAYpB,MAAM,KAAE,OAAO,CAAC,OAAO,CAAC;CAQ1D,CAAA"}
@@ -0,0 +1,47 @@
1
+ import * as readline from 'readline';
2
+ import { exec, spawn } from 'child_process';
3
+ export function input(prompt = '') {
4
+ const rl = readline.createInterface({
5
+ input: process.stdin,
6
+ output: process.stdout
7
+ });
8
+ return new Promise((resolve) => {
9
+ rl.question(prompt, (answer) => {
10
+ rl.close();
11
+ resolve(answer);
12
+ });
13
+ });
14
+ }
15
+ export const terminal = {
16
+ exec: async function (command) {
17
+ return new Promise((resolve, reject) => {
18
+ exec(command, (error, stdout, stderr) => {
19
+ if (error) {
20
+ reject(stderr || error);
21
+ return;
22
+ }
23
+ resolve(stdout);
24
+ });
25
+ });
26
+ },
27
+ run: async function (command) {
28
+ return new Promise((resolve, reject) => {
29
+ const proc = spawn(command, {
30
+ shell: true,
31
+ stdio: "inherit", // live output
32
+ });
33
+ proc.on("close", code => resolve(code ?? 0));
34
+ proc.on("error", err => reject(err));
35
+ });
36
+ },
37
+ exists: async function (command) {
38
+ try {
39
+ await this.exec(`command -v ${command}`);
40
+ return true;
41
+ }
42
+ catch {
43
+ return false;
44
+ }
45
+ }
46
+ };
47
+ //# sourceMappingURL=cli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/heart/cli.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAE5C,MAAM,UAAU,KAAK,CAAC,SAAiB,EAAE;IACrC,MAAM,EAAE,GAAG,QAAQ,CAAC,eAAe,CAAC;QAChC,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,MAAM,EAAE,OAAO,CAAC,MAAM;KACzB,CAAC,CAAC;IAEH,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC3B,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE;YAC3B,EAAE,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,CAAC,MAAM,CAAC,CAAC;QACpB,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC;AAED,MAAM,CAAC,MAAM,QAAQ,GAAG;IAEpB,IAAI,EAAE,KAAK,WAAU,OAAc;QAC/B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACnC,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE;gBACtC,IAAI,KAAK,EAAE,CAAC;oBACV,MAAM,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC;oBACxB,OAAO;gBACT,CAAC;gBACD,OAAO,CAAC,MAAM,CAAC,CAAC;YAClB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACT,CAAC;IAED,GAAG,EAAE,KAAK,WAAU,OAAc;QAC9B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACnC,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,EAAE;gBAC1B,KAAK,EAAE,IAAI;gBACX,KAAK,EAAE,SAAS,EAAE,cAAc;aACjC,CAAC,CAAC;YAEH,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;YAC7C,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;IACT,CAAC;IAED,MAAM,EAAE,KAAK,WAAU,OAAc;QACjC,IAAI,CAAC;YACD,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,OAAO,EAAE,CAAC,CAAC;YACzC,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACP,CAAC;CACJ,CAAA"}
@@ -0,0 +1,12 @@
1
+ export declare function createFile(file: string, content: string): Promise<boolean>;
2
+ export declare function createSubFile(pathStr: string, content: string): Promise<boolean>;
3
+ export declare function readFile(file: string): Promise<string>;
4
+ export declare function readAllFilesInDir(dir: string): Promise<string[]>;
5
+ export declare function readFileLines(file: string): Promise<string[]>;
6
+ export declare function addToFile(file: string, content: string): Promise<boolean>;
7
+ export declare function doesFileExist(file: string): Promise<boolean>;
8
+ export declare function write_n_run(file: string, content: string, interpreter: string, is_subfile?: boolean, ausführen?: boolean): Promise<string>;
9
+ export declare function write_n_run_py(file: string, content: string, is_subfile?: boolean, aus_führen?: boolean): Promise<string>;
10
+ export declare function write_n_run_js(file: string, content: string, is_subfile?: boolean, aus_führen?: boolean): Promise<string>;
11
+ export declare function removeFile(file: string): Promise<boolean>;
12
+ //# sourceMappingURL=file-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-utils.d.ts","sourceRoot":"","sources":["../../src/heart/file-utils.ts"],"names":[],"mappings":"AAYA,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAShF;AAED,wBAAsB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAWtF;AAED,wBAAsB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAuB5D;AAED,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAuBtE;AAED,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAKnE;AAED,wBAAsB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAS/E;AAED,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CASlE;AAGD,wBAAsB,WAAW,CAC7B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,UAAU,GAAE,OAAe,EAC3B,SAAS,GAAE,OAAe,GAC3B,OAAO,CAAC,MAAM,CAAC,CAiBjB;AAED,wBAAsB,cAAc,CAChC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,UAAU,GAAE,OAAe,EAC3B,UAAU,GAAE,OAAe,GAC5B,OAAO,CAAC,MAAM,CAAC,CAEjB;AAED,wBAAsB,cAAc,CAChC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,UAAU,GAAE,OAAe,EAC3B,UAAU,GAAE,OAAe,GAC5B,OAAO,CAAC,MAAM,CAAC,CAEjB;AAGD,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAU/D"}
@@ -0,0 +1,139 @@
1
+ import * as fs from 'fs/promises';
2
+ import * as path from 'path';
3
+ import { exec } from 'child_process';
4
+ import { promisify } from 'util';
5
+ const execAsync = promisify(exec);
6
+ function getProjectRoot() {
7
+ return path.resolve(__dirname, '../../../..');
8
+ }
9
+ // creating and reading
10
+ export async function createFile(file, content) {
11
+ try {
12
+ await fs.writeFile(file, content, 'utf-8');
13
+ console.log(`die Datei: '${file}' wurde erstellt`);
14
+ return true;
15
+ }
16
+ catch (e) {
17
+ console.error(`Fehler beim Erstellen der Datei: '${file}': ${e}`);
18
+ return false;
19
+ }
20
+ }
21
+ export async function createSubFile(pathStr, content) {
22
+ const dir = path.dirname(pathStr);
23
+ try {
24
+ await fs.mkdir(dir, { recursive: true });
25
+ await fs.writeFile(pathStr, content, 'utf-8');
26
+ console.log(`der Tree: '${pathStr}' wurde erstellt`);
27
+ return true;
28
+ }
29
+ catch (e) {
30
+ console.error(`Fehler beim Erstellen der Datei: '${pathStr}': ${e}`);
31
+ return false;
32
+ }
33
+ }
34
+ export async function readFile(file) {
35
+ let filePath = path.resolve(file);
36
+ if (!path.isAbsolute(file)) {
37
+ const projectRoot = getProjectRoot();
38
+ filePath = path.join(projectRoot, file);
39
+ try {
40
+ await fs.access(filePath);
41
+ }
42
+ catch {
43
+ filePath = path.resolve(file);
44
+ }
45
+ }
46
+ try {
47
+ await fs.access(filePath);
48
+ }
49
+ catch {
50
+ throw new Error(`Datei nicht gefunden: ${file}`);
51
+ }
52
+ const content = await fs.readFile(filePath, 'utf-8');
53
+ console.log(`die Datei: '${filePath}' wurde ausgelesen`);
54
+ return content;
55
+ }
56
+ export async function readAllFilesInDir(dir) {
57
+ const dirPath = path.join(getProjectRoot(), dir);
58
+ const files = [];
59
+ async function readDir(currentPath) {
60
+ const entries = await fs.readdir(currentPath, { withFileTypes: true });
61
+ for (const entry of entries) {
62
+ const fullPath = path.join(currentPath, entry.name);
63
+ if (entry.isFile()) {
64
+ const content = await fs.readFile(fullPath, 'utf-8');
65
+ files.push(content);
66
+ console.log(`die Datei: '${fullPath}' wurde ausgelesen`);
67
+ }
68
+ else if (entry.isDirectory()) {
69
+ await readDir(fullPath);
70
+ }
71
+ }
72
+ }
73
+ await readDir(dirPath);
74
+ console.log(`der ordner: ${dir} wurde vollständig ausgelesen`);
75
+ return files;
76
+ }
77
+ export async function readFileLines(file) {
78
+ const content = await fs.readFile(file, 'utf-8');
79
+ const lines = content.split('\n');
80
+ console.log(`die Datei: '${file}' wurde Zeile für Zeile ausgelesen und in ein array gepackt`);
81
+ return lines;
82
+ }
83
+ export async function addToFile(file, content) {
84
+ try {
85
+ await fs.appendFile(file, `\n${content}`, 'utf-8');
86
+ console.log(`in Datei: '${file}' wurde Inhalt: '${content}' hinzugefügt`);
87
+ return true;
88
+ }
89
+ catch (e) {
90
+ console.error(`Fehler beim Hinzufügen des Inhalts zu der Datei: '${file}': ${e}`);
91
+ return false;
92
+ }
93
+ }
94
+ export async function doesFileExist(file) {
95
+ try {
96
+ await fs.access(file);
97
+ console.log(`die Datei: '${file}' exestiert`);
98
+ return true;
99
+ }
100
+ catch {
101
+ console.log(`die Datei: '${file}' exestiert nicht`);
102
+ return false;
103
+ }
104
+ }
105
+ // running code
106
+ export async function write_n_run(file, content, interpreter, is_subfile = false, ausführen = false) {
107
+ const filePath = path.resolve(file);
108
+ if (is_subfile) {
109
+ const dir = path.dirname(filePath);
110
+ await fs.mkdir(dir, { recursive: true });
111
+ }
112
+ await fs.writeFile(filePath, content, 'utf-8');
113
+ console.log(`die ${interpreter} Code-Datei: '${file}' wurde erstellt`);
114
+ if (ausführen) {
115
+ await execAsync(`${interpreter} ${filePath}`);
116
+ console.log(`die ${interpreter} Code-Datei: '${file}' wird ausgeführt`);
117
+ }
118
+ return filePath;
119
+ }
120
+ export async function write_n_run_py(file, content, is_subfile = false, aus_führen = false) {
121
+ return write_n_run(file, content, 'python3', is_subfile, aus_führen);
122
+ }
123
+ export async function write_n_run_js(file, content, is_subfile = false, aus_führen = false) {
124
+ return write_n_run(file, content, 'node', is_subfile, aus_führen);
125
+ }
126
+ // removing
127
+ export async function removeFile(file) {
128
+ try {
129
+ await fs.unlink(file);
130
+ console.log(`die Datei: '${file}' wurde gelöscht`);
131
+ return true;
132
+ }
133
+ catch (e) {
134
+ // Datei existiert nicht oder kann nicht gelöscht werden
135
+ console.error(`Fehler beim Löschen der Datei: '${file}': ${e}`);
136
+ return false;
137
+ }
138
+ }
139
+ //# sourceMappingURL=file-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-utils.js","sourceRoot":"","sources":["../../src/heart/file-utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export default function global_load_envs(): void;
2
+ //# sourceMappingURL=load_envs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"load_envs.d.ts","sourceRoot":"","sources":["../../src/heart/load_envs.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,OAAO,UAAU,gBAAgB,SAIvC"}
@@ -0,0 +1,9 @@
1
+ import dotenv from "dotenv";
2
+ import { resolve, dirname } from "path";
3
+ import { fileURLToPath } from "url";
4
+ export default function global_load_envs() {
5
+ const __filename = fileURLToPath(import.meta.url);
6
+ const __dirname = dirname(__filename);
7
+ dotenv.config({ path: resolve(__dirname, "../.env") });
8
+ }
9
+ //# sourceMappingURL=load_envs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"load_envs.js","sourceRoot":"","sources":["../../src/heart/load_envs.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAEpC,MAAM,CAAC,OAAO,UAAU,gBAAgB;IACpC,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IACtC,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,CAAC,CAAA;AAC1D,CAAC"}
@@ -0,0 +1,9 @@
1
+ export default function sendMailToMe({ subject, text, attachments }: {
2
+ subject: string;
3
+ text: string;
4
+ attachments?: {
5
+ filename: string;
6
+ content: string | Buffer;
7
+ }[];
8
+ }): Promise<import("nodemailer/lib/smtp-transport").SentMessageInfo>;
9
+ //# sourceMappingURL=mail.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mail.d.ts","sourceRoot":"","sources":["../../src/heart/mail.ts"],"names":[],"mappings":"AAYE,wBAA8B,YAAY,CAAC,EAAC,OAAO,EAAE,IAAI,EAAE,WAAW,EAAC,EAAE;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,EAAE,CAAA;CAAC,oEAevK"}
@@ -0,0 +1,28 @@
1
+ import nodemailer from "nodemailer";
2
+ const transporter = nodemailer.createTransport({
3
+ host: "smtp.zoho.eu",
4
+ port: 465,
5
+ secure: true,
6
+ auth: {
7
+ user: "delo@recruitvoiceai.de",
8
+ pass: process.env.MAIL_PASS
9
+ }
10
+ });
11
+ export default async function sendMailToMe({ subject, text, attachments }) {
12
+ try {
13
+ const info = await transporter.sendMail({
14
+ from: `"RecruitAI" <delo@recruitvoiceai.de>`,
15
+ to: `faragdelo@gmail.com`,
16
+ subject,
17
+ text,
18
+ attachments
19
+ });
20
+ console.log("Mail sent:", info.messageId);
21
+ return info;
22
+ }
23
+ catch (err) {
24
+ console.error("Error sending mail:", err);
25
+ throw err;
26
+ }
27
+ }
28
+ //# sourceMappingURL=mail.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mail.js","sourceRoot":"","sources":["../../src/heart/mail.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,YAAY,CAAA;AAEnC,MAAM,WAAW,GAAG,UAAU,CAAC,eAAe,CAAC;IAC3C,IAAI,EAAE,cAAc;IACpB,IAAI,EAAE,GAAG;IACT,MAAM,EAAE,IAAI;IACZ,IAAI,EAAE;QACJ,IAAI,EAAE,wBAAwB;QAC9B,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS;KAC5B;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,YAAY,CAAC,EAAC,OAAO,EAAE,IAAI,EAAE,WAAW,EAAkG;IACtK,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC;YACtC,IAAI,EAAE,sCAAsC;YAC5C,EAAE,EAAE,qBAAqB;YACzB,OAAO;YACP,IAAI;YACJ,WAAW;SACZ,CAAC,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAC1C,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,qBAAqB,EAAE,GAAG,CAAC,CAAC;QAC1C,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC"}
@@ -0,0 +1,3 @@
1
+ import pino from "pino";
2
+ export declare const logger: pino.Logger<never, boolean>;
3
+ //# sourceMappingURL=pino-logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pino-logger.d.ts","sourceRoot":"","sources":["../../src/heart/pino-logger.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AAIxB,eAAO,MAAM,MAAM,6BAeb,CAAC"}
@@ -0,0 +1,19 @@
1
+ import pino from "pino";
2
+ const isDevelopment = process.env.NODE_ENV === "development" || process.env.NODE_ENV === undefined;
3
+ export const logger = isDevelopment
4
+ ? pino({
5
+ transport: {
6
+ target: "pino-pretty",
7
+ options: {
8
+ colorize: true,
9
+ translateTime: "HH:MM:ss",
10
+ ignore: "pid,hostname",
11
+ destination: 1, // stdout
12
+ },
13
+ },
14
+ level: "debug",
15
+ })
16
+ : pino({
17
+ level: "info",
18
+ });
19
+ //# sourceMappingURL=pino-logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pino-logger.js","sourceRoot":"","sources":["../../src/heart/pino-logger.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAA;AAElG,MAAM,CAAC,MAAM,MAAM,GAAG,aAAa;IACjC,CAAC,CAAC,IAAI,CAAC;QACH,SAAS,EAAE;YACT,MAAM,EAAE,aAAa;YACrB,OAAO,EAAE;gBACP,QAAQ,EAAE,IAAI;gBACd,aAAa,EAAE,UAAU;gBACzB,MAAM,EAAE,cAAc;gBACtB,WAAW,EAAE,CAAC,EAAE,SAAS;aAC1B;SACF;QACD,KAAK,EAAE,OAAO;KACf,CAAC;IACJ,CAAC,CAAC,IAAI,CAAC;QACH,KAAK,EAAE,MAAM;KACd,CAAC,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,7 +1,4 @@
1
- export * from "./cli";
2
- export * from "./file-utils";
3
- export * from "./pino-logger";
4
- export * from "./stackLog";
5
1
  export * from "./pipe";
6
- export * from "./types";
2
+ export * from "./util-funcs";
3
+ export * from "./rule";
7
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAA;AACrB,cAAc,cAAc,CAAA;AAC5B,cAAc,eAAe,CAAA;AAC7B,cAAc,YAAY,CAAA;AAC1B,cAAc,QAAQ,CAAA;AACtB,cAAc,SAAS,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAA;AACtB,cAAc,cAAc,CAAA;AAC5B,cAAc,QAAQ,CAAA"}
package/dist/index.js CHANGED
@@ -1,7 +1,4 @@
1
- export * from "./cli";
2
- export * from "./file-utils";
3
- export * from "./pino-logger";
4
- export * from "./stackLog";
5
1
  export * from "./pipe";
6
- export * from "./types";
2
+ export * from "./util-funcs";
3
+ export * from "./rule";
7
4
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAA;AACrB,cAAc,cAAc,CAAA;AAC5B,cAAc,eAAe,CAAA;AAC7B,cAAc,YAAY,CAAA;AAC1B,cAAc,QAAQ,CAAA;AACtB,cAAc,SAAS,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAA;AACtB,cAAc,cAAc,CAAA;AAC5B,cAAc,QAAQ,CAAA"}
package/dist/rule.d.ts ADDED
@@ -0,0 +1,49 @@
1
+ /**
2
+ * WICHTIG: die "Rules" folgen dem (BASE-REGEL) OR (AUSNAHMEN) prinzip, also eher policy + ausnahme anstatt "strenge boolsche Logik",
3
+ * hier in so einer Form:(root && and1 && and2 && ...) || (or1 || or2 || ...), also wenn auch nur ein .or() rule true ergibt, ist die
4
+ * gesammte rule bei .allows(input) true.
5
+ * @example
6
+ * interface User {
7
+ name:string,
8
+ age:number,
9
+ email:`${string}@${string}.${string}`
10
+ is_admin:boolean
11
+ has_payed:boolean
12
+ tier: "free" | "pro" | "enterprise"
13
+ }
14
+
15
+ const user:User = {
16
+ name: "John Doe",
17
+ age: 20,
18
+ email: "john.doe@exampl.com",
19
+ is_admin: false,
20
+ has_payed: false,
21
+ tier: "free"
22
+ }
23
+
24
+ * const rule = Rule
25
+ .is(user => user.age > 18) //man kann hier auch mit "is<User>(user => ...)" typisieren
26
+ .and(user => !user.is_admin)
27
+ .and(user => user.has_payed)
28
+ .or(Rule
29
+ .is(user => user.tier === "free")
30
+ .and(user => !user.has_payed)
31
+ .and(user => user.age === 21))
32
+ .or(Rule
33
+ .is(user => user.name === "John Doe")
34
+ .and(user => user.age === 20)
35
+ .and(user => user.email === "john.doe@exampl.com"))
36
+
37
+ console.log(rule.allows(user)) // returned true
38
+ */
39
+ export declare class Rule<T = any> {
40
+ private root;
41
+ private and_rules;
42
+ private or_rules;
43
+ private constructor();
44
+ static is<T = any>(root: (input: T) => boolean): Rule<T>;
45
+ and(fn: (input: T) => boolean): this;
46
+ or(rule: Rule): this;
47
+ allows(input: T): boolean;
48
+ }
49
+ //# sourceMappingURL=rule.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rule.d.ts","sourceRoot":"","sources":["../src/rule.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,qBAAa,IAAI,CAAC,CAAC,GAAG,GAAG;IACrB,OAAO,CAAC,IAAI,CAAO;IACnB,OAAO,CAAC,SAAS,CAAc;IAC/B,OAAO,CAAC,QAAQ,CAAY;IAE5B,OAAO;WAGO,EAAE,CAAC,CAAC,GAAG,GAAG,EAAE,IAAI,EAAC,CAAC,KAAK,EAAC,CAAC,KAAK,OAAO;IAG5C,GAAG,CAAC,EAAE,EAAC,CAAC,KAAK,EAAC,CAAC,KAAK,OAAO;IAI3B,EAAE,CAAC,IAAI,EAAC,IAAI;IAIZ,MAAM,CAAC,KAAK,EAAC,CAAC,GAAE,OAAO;CAmBjC"}
package/dist/rule.js ADDED
@@ -0,0 +1,96 @@
1
+ /**
2
+ * WICHTIG: die "Rules" folgen dem (BASE-REGEL) OR (AUSNAHMEN) prinzip, also eher policy + ausnahme anstatt "strenge boolsche Logik",
3
+ * hier in so einer Form:(root && and1 && and2 && ...) || (or1 || or2 || ...), also wenn auch nur ein .or() rule true ergibt, ist die
4
+ * gesammte rule bei .allows(input) true.
5
+ * @example
6
+ * interface User {
7
+ name:string,
8
+ age:number,
9
+ email:`${string}@${string}.${string}`
10
+ is_admin:boolean
11
+ has_payed:boolean
12
+ tier: "free" | "pro" | "enterprise"
13
+ }
14
+
15
+ const user:User = {
16
+ name: "John Doe",
17
+ age: 20,
18
+ email: "john.doe@exampl.com",
19
+ is_admin: false,
20
+ has_payed: false,
21
+ tier: "free"
22
+ }
23
+
24
+ * const rule = Rule
25
+ .is(user => user.age > 18) //man kann hier auch mit "is<User>(user => ...)" typisieren
26
+ .and(user => !user.is_admin)
27
+ .and(user => user.has_payed)
28
+ .or(Rule
29
+ .is(user => user.tier === "free")
30
+ .and(user => !user.has_payed)
31
+ .and(user => user.age === 21))
32
+ .or(Rule
33
+ .is(user => user.name === "John Doe")
34
+ .and(user => user.age === 20)
35
+ .and(user => user.email === "john.doe@exampl.com"))
36
+
37
+ console.log(rule.allows(user)) // returned true
38
+ */
39
+ export class Rule {
40
+ root;
41
+ and_rules = [];
42
+ or_rules = [];
43
+ constructor(root) {
44
+ this.root = root;
45
+ }
46
+ static is(root) {
47
+ return new Rule(root);
48
+ }
49
+ and(fn) {
50
+ this.and_rules.push(fn);
51
+ return this;
52
+ }
53
+ or(rule) {
54
+ this.or_rules.push(rule);
55
+ return this;
56
+ }
57
+ allows(input) {
58
+ let result;
59
+ result = this.root(input);
60
+ for (const and_rule of this.and_rules) {
61
+ if (!and_rule(input)) {
62
+ result = false;
63
+ break;
64
+ }
65
+ }
66
+ for (const or_rule of this.or_rules) {
67
+ if (or_rule.allows(input)) {
68
+ result = true;
69
+ break;
70
+ }
71
+ }
72
+ return result;
73
+ }
74
+ }
75
+ const user = {
76
+ name: "John Doe",
77
+ age: 20,
78
+ email: "john.doe@example.com",
79
+ is_admin: false,
80
+ has_payed: false,
81
+ tier: "free"
82
+ };
83
+ const rule = Rule
84
+ .is(user => user.age > 18)
85
+ .and(user => !user.is_admin)
86
+ .and(user => user.has_payed)
87
+ .or(Rule
88
+ .is(user => user.tier === "free")
89
+ .and(user => !user.has_payed)
90
+ .and(user => user.age === 21))
91
+ .or(Rule
92
+ .is(user => user.name === "John Doe")
93
+ .and(user => user.age === 20)
94
+ .and(user => user.email === "john.doe@example.com"));
95
+ console.log(rule.allows(user));
96
+ //# sourceMappingURL=rule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rule.js","sourceRoot":"","sources":["../src/rule.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,MAAM,OAAO,IAAI;IACL,IAAI,CAAO;IACX,SAAS,GAAY,EAAE,CAAA;IACvB,QAAQ,GAAU,EAAE,CAAA;IAE5B,YAAoB,IAAyB;QACzC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;IACpB,CAAC;IACM,MAAM,CAAC,EAAE,CAAU,IAAyB;QAC/C,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,CAAA;IACzB,CAAC;IACM,GAAG,CAAC,EAAuB;QAC9B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACvB,OAAO,IAAI,CAAA;IACf,CAAC;IACM,EAAE,CAAC,IAAS;QACf,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACxB,OAAO,IAAI,CAAA;IACf,CAAC;IACM,MAAM,CAAC,KAAO;QACjB,IAAI,MAAM,CAAC;QACX,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAEzB,KAAI,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAC,CAAC;YAClC,IAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBAClB,MAAM,GAAG,KAAK,CAAA;gBACd,MAAK;YACT,CAAC;QACL,CAAC;QAED,KAAI,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAC,CAAC;YAChC,IAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;gBACvB,MAAM,GAAG,IAAI,CAAA;gBACb,MAAK;YACT,CAAC;QACL,CAAC;QACD,OAAO,MAAM,CAAA;IACjB,CAAC;CACJ;AAaD,MAAM,IAAI,GAAQ;IACd,IAAI,EAAE,UAAU;IAChB,GAAG,EAAE,EAAE;IACP,KAAK,EAAE,sBAAsB;IAC7B,QAAQ,EAAE,KAAK;IACf,SAAS,EAAE,KAAK;IAChB,IAAI,EAAE,MAAM;CACf,CAAA;AAED,MAAM,IAAI,GAAG,IAAI;KACZ,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;KACzB,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;KAC3B,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC;KAC3B,EAAE,CAAC,IAAI;KACH,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC;KAChC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;KAC5B,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC;KACjC,EAAE,CAAC,IAAI;KACH,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC;KACpC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC;KAC5B,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,KAAK,sBAAsB,CAAC,CAAC,CAAA;AAG5D,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAA"}
@@ -0,0 +1,7 @@
1
+ export declare function input(prompt?: string): Promise<string>;
2
+ export declare const terminal: {
3
+ exec: (command: string) => Promise<string>;
4
+ run: (command: string) => Promise<number>;
5
+ exists: (command: string) => Promise<boolean>;
6
+ };
7
+ //# sourceMappingURL=cli.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/server/cli.ts"],"names":[],"mappings":"AAGA,wBAAgB,KAAK,CAAC,MAAM,GAAE,MAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAY1D;AAED,eAAO,MAAM,QAAQ;oBAEY,MAAM,KAAE,OAAO,CAAC,MAAM,CAAC;mBAYxB,MAAM,KAAE,OAAO,CAAC,MAAM,CAAC;sBAYpB,MAAM,KAAE,OAAO,CAAC,OAAO,CAAC;CAQ1D,CAAA"}
@@ -0,0 +1,47 @@
1
+ import * as readline from 'readline';
2
+ import { exec, spawn } from 'child_process';
3
+ export function input(prompt = '') {
4
+ const rl = readline.createInterface({
5
+ input: process.stdin,
6
+ output: process.stdout
7
+ });
8
+ return new Promise((resolve) => {
9
+ rl.question(prompt, (answer) => {
10
+ rl.close();
11
+ resolve(answer);
12
+ });
13
+ });
14
+ }
15
+ export const terminal = {
16
+ exec: async function (command) {
17
+ return new Promise((resolve, reject) => {
18
+ exec(command, (error, stdout, stderr) => {
19
+ if (error) {
20
+ reject(stderr || error);
21
+ return;
22
+ }
23
+ resolve(stdout);
24
+ });
25
+ });
26
+ },
27
+ run: async function (command) {
28
+ return new Promise((resolve, reject) => {
29
+ const proc = spawn(command, {
30
+ shell: true,
31
+ stdio: "inherit", // live output
32
+ });
33
+ proc.on("close", code => resolve(code ?? 0));
34
+ proc.on("error", err => reject(err));
35
+ });
36
+ },
37
+ exists: async function (command) {
38
+ try {
39
+ await this.exec(`command -v ${command}`);
40
+ return true;
41
+ }
42
+ catch {
43
+ return false;
44
+ }
45
+ }
46
+ };
47
+ //# sourceMappingURL=cli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/server/cli.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAE5C,MAAM,UAAU,KAAK,CAAC,SAAiB,EAAE;IACrC,MAAM,EAAE,GAAG,QAAQ,CAAC,eAAe,CAAC;QAChC,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,MAAM,EAAE,OAAO,CAAC,MAAM;KACzB,CAAC,CAAC;IAEH,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC3B,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE;YAC3B,EAAE,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,CAAC,MAAM,CAAC,CAAC;QACpB,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC;AAED,MAAM,CAAC,MAAM,QAAQ,GAAG;IAEpB,IAAI,EAAE,KAAK,WAAU,OAAc;QAC/B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACnC,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE;gBACtC,IAAI,KAAK,EAAE,CAAC;oBACV,MAAM,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC;oBACxB,OAAO;gBACT,CAAC;gBACD,OAAO,CAAC,MAAM,CAAC,CAAC;YAClB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACT,CAAC;IAED,GAAG,EAAE,KAAK,WAAU,OAAc;QAC9B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACnC,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,EAAE;gBAC1B,KAAK,EAAE,IAAI;gBACX,KAAK,EAAE,SAAS,EAAE,cAAc;aACjC,CAAC,CAAC;YAEH,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;YAC7C,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;IACT,CAAC;IAED,MAAM,EAAE,KAAK,WAAU,OAAc;QACjC,IAAI,CAAC;YACD,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,OAAO,EAAE,CAAC,CAAC;YACzC,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACP,CAAC;CACJ,CAAA"}
@@ -0,0 +1,12 @@
1
+ export declare function createFile(file: string, content: string): Promise<boolean>;
2
+ export declare function createSubFile(pathStr: string, content: string): Promise<boolean>;
3
+ export declare function readFile(file: string): Promise<string>;
4
+ export declare function readAllFilesInDir(dir: string): Promise<string[]>;
5
+ export declare function readFileLines(file: string): Promise<string[]>;
6
+ export declare function addToFile(file: string, content: string): Promise<boolean>;
7
+ export declare function doesFileExist(file: string): Promise<boolean>;
8
+ export declare function write_n_run(file: string, content: string, interpreter: string, is_subfile?: boolean, ausführen?: boolean): Promise<string>;
9
+ export declare function write_n_run_py(file: string, content: string, is_subfile?: boolean, aus_führen?: boolean): Promise<string>;
10
+ export declare function write_n_run_js(file: string, content: string, is_subfile?: boolean, aus_führen?: boolean): Promise<string>;
11
+ export declare function removeFile(file: string): Promise<boolean>;
12
+ //# sourceMappingURL=file-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-utils.d.ts","sourceRoot":"","sources":["../../src/server/file-utils.ts"],"names":[],"mappings":"AAYA,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAShF;AAED,wBAAsB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAWtF;AAED,wBAAsB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAuB5D;AAED,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAuBtE;AAED,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAKnE;AAED,wBAAsB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAS/E;AAED,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CASlE;AAGD,wBAAsB,WAAW,CAC7B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,UAAU,GAAE,OAAe,EAC3B,SAAS,GAAE,OAAe,GAC3B,OAAO,CAAC,MAAM,CAAC,CAiBjB;AAED,wBAAsB,cAAc,CAChC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,UAAU,GAAE,OAAe,EAC3B,UAAU,GAAE,OAAe,GAC5B,OAAO,CAAC,MAAM,CAAC,CAEjB;AAED,wBAAsB,cAAc,CAChC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,UAAU,GAAE,OAAe,EAC3B,UAAU,GAAE,OAAe,GAC5B,OAAO,CAAC,MAAM,CAAC,CAEjB;AAGD,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAU/D"}
@@ -0,0 +1,139 @@
1
+ import * as fs from 'fs/promises';
2
+ import * as path from 'path';
3
+ import { exec } from 'child_process';
4
+ import { promisify } from 'util';
5
+ const execAsync = promisify(exec);
6
+ function getProjectRoot() {
7
+ return path.resolve(__dirname, '../../../..');
8
+ }
9
+ // creating and reading
10
+ export async function createFile(file, content) {
11
+ try {
12
+ await fs.writeFile(file, content, 'utf-8');
13
+ console.log(`die Datei: '${file}' wurde erstellt`);
14
+ return true;
15
+ }
16
+ catch (e) {
17
+ console.error(`Fehler beim Erstellen der Datei: '${file}': ${e}`);
18
+ return false;
19
+ }
20
+ }
21
+ export async function createSubFile(pathStr, content) {
22
+ const dir = path.dirname(pathStr);
23
+ try {
24
+ await fs.mkdir(dir, { recursive: true });
25
+ await fs.writeFile(pathStr, content, 'utf-8');
26
+ console.log(`der Tree: '${pathStr}' wurde erstellt`);
27
+ return true;
28
+ }
29
+ catch (e) {
30
+ console.error(`Fehler beim Erstellen der Datei: '${pathStr}': ${e}`);
31
+ return false;
32
+ }
33
+ }
34
+ export async function readFile(file) {
35
+ let filePath = path.resolve(file);
36
+ if (!path.isAbsolute(file)) {
37
+ const projectRoot = getProjectRoot();
38
+ filePath = path.join(projectRoot, file);
39
+ try {
40
+ await fs.access(filePath);
41
+ }
42
+ catch {
43
+ filePath = path.resolve(file);
44
+ }
45
+ }
46
+ try {
47
+ await fs.access(filePath);
48
+ }
49
+ catch {
50
+ throw new Error(`Datei nicht gefunden: ${file}`);
51
+ }
52
+ const content = await fs.readFile(filePath, 'utf-8');
53
+ console.log(`die Datei: '${filePath}' wurde ausgelesen`);
54
+ return content;
55
+ }
56
+ export async function readAllFilesInDir(dir) {
57
+ const dirPath = path.join(getProjectRoot(), dir);
58
+ const files = [];
59
+ async function readDir(currentPath) {
60
+ const entries = await fs.readdir(currentPath, { withFileTypes: true });
61
+ for (const entry of entries) {
62
+ const fullPath = path.join(currentPath, entry.name);
63
+ if (entry.isFile()) {
64
+ const content = await fs.readFile(fullPath, 'utf-8');
65
+ files.push(content);
66
+ console.log(`die Datei: '${fullPath}' wurde ausgelesen`);
67
+ }
68
+ else if (entry.isDirectory()) {
69
+ await readDir(fullPath);
70
+ }
71
+ }
72
+ }
73
+ await readDir(dirPath);
74
+ console.log(`der ordner: ${dir} wurde vollständig ausgelesen`);
75
+ return files;
76
+ }
77
+ export async function readFileLines(file) {
78
+ const content = await fs.readFile(file, 'utf-8');
79
+ const lines = content.split('\n');
80
+ console.log(`die Datei: '${file}' wurde Zeile für Zeile ausgelesen und in ein array gepackt`);
81
+ return lines;
82
+ }
83
+ export async function addToFile(file, content) {
84
+ try {
85
+ await fs.appendFile(file, `\n${content}`, 'utf-8');
86
+ console.log(`in Datei: '${file}' wurde Inhalt: '${content}' hinzugefügt`);
87
+ return true;
88
+ }
89
+ catch (e) {
90
+ console.error(`Fehler beim Hinzufügen des Inhalts zu der Datei: '${file}': ${e}`);
91
+ return false;
92
+ }
93
+ }
94
+ export async function doesFileExist(file) {
95
+ try {
96
+ await fs.access(file);
97
+ console.log(`die Datei: '${file}' exestiert`);
98
+ return true;
99
+ }
100
+ catch {
101
+ console.log(`die Datei: '${file}' exestiert nicht`);
102
+ return false;
103
+ }
104
+ }
105
+ // running code
106
+ export async function write_n_run(file, content, interpreter, is_subfile = false, ausführen = false) {
107
+ const filePath = path.resolve(file);
108
+ if (is_subfile) {
109
+ const dir = path.dirname(filePath);
110
+ await fs.mkdir(dir, { recursive: true });
111
+ }
112
+ await fs.writeFile(filePath, content, 'utf-8');
113
+ console.log(`die ${interpreter} Code-Datei: '${file}' wurde erstellt`);
114
+ if (ausführen) {
115
+ await execAsync(`${interpreter} ${filePath}`);
116
+ console.log(`die ${interpreter} Code-Datei: '${file}' wird ausgeführt`);
117
+ }
118
+ return filePath;
119
+ }
120
+ export async function write_n_run_py(file, content, is_subfile = false, aus_führen = false) {
121
+ return write_n_run(file, content, 'python3', is_subfile, aus_führen);
122
+ }
123
+ export async function write_n_run_js(file, content, is_subfile = false, aus_führen = false) {
124
+ return write_n_run(file, content, 'node', is_subfile, aus_führen);
125
+ }
126
+ // removing
127
+ export async function removeFile(file) {
128
+ try {
129
+ await fs.unlink(file);
130
+ console.log(`die Datei: '${file}' wurde gelöscht`);
131
+ return true;
132
+ }
133
+ catch (e) {
134
+ // Datei existiert nicht oder kann nicht gelöscht werden
135
+ console.error(`Fehler beim Löschen der Datei: '${file}': ${e}`);
136
+ return false;
137
+ }
138
+ }
139
+ //# sourceMappingURL=file-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-utils.js","sourceRoot":"","sources":["../../src/server/file-utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export * from "./cli";
2
+ export * from "./file-utils";
3
+ export * from "./pino-logger";
4
+ export * from "./mail";
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAA;AACrB,cAAc,cAAc,CAAA;AAC5B,cAAc,eAAe,CAAA;AAC7B,cAAc,QAAQ,CAAA"}
@@ -0,0 +1,5 @@
1
+ export * from "./cli";
2
+ export * from "./file-utils";
3
+ export * from "./pino-logger";
4
+ export * from "./mail";
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAA;AACrB,cAAc,cAAc,CAAA;AAC5B,cAAc,eAAe,CAAA;AAC7B,cAAc,QAAQ,CAAA"}
@@ -0,0 +1,19 @@
1
+ export declare function sendEmail({ to, from, subject, text, attachments }: {
2
+ to: string;
3
+ from: string;
4
+ subject: string;
5
+ text: string;
6
+ attachments?: {
7
+ filename: string;
8
+ content: string | Buffer;
9
+ }[];
10
+ }): Promise<import("nodemailer/lib/smtp-transport").SentMessageInfo>;
11
+ export declare function emailMe({ subject, text, attachments }: {
12
+ subject: string;
13
+ text: string;
14
+ attachments?: {
15
+ filename: string;
16
+ content: string | Buffer;
17
+ }[];
18
+ }): Promise<import("nodemailer/lib/smtp-transport").SentMessageInfo>;
19
+ //# sourceMappingURL=mail.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mail.d.ts","sourceRoot":"","sources":["../../src/server/mail.ts"],"names":[],"mappings":"AAYA,wBAAsB,SAAS,CAAC,EAAC,EAAE,EAAC,IAAI,EAAC,OAAO,EAAC,IAAI,EAAC,WAAW,EAAC,EAAE;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,EAAE,CAAA;CAAC,oEAgB5L;AAED,wBAAsB,OAAO,CAAC,EAAC,OAAO,EAAE,IAAI,EAAE,WAAW,EAAC,EAAE;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,EAAE,CAAA;CAAC,oEAexJ"}
@@ -0,0 +1,45 @@
1
+ import nodemailer from "nodemailer";
2
+ const transporter = nodemailer.createTransport({
3
+ host: "smtp.zoho.eu",
4
+ port: 465,
5
+ secure: true,
6
+ auth: {
7
+ user: "delo@recruitvoiceai.de",
8
+ pass: process.env.MAIL_PASS
9
+ }
10
+ });
11
+ export async function sendEmail({ to, from, subject, text, attachments }) {
12
+ try {
13
+ const info = await transporter.sendMail({
14
+ from,
15
+ to,
16
+ subject,
17
+ text,
18
+ attachments
19
+ });
20
+ console.log("Mail sent:", info.messageId);
21
+ return info;
22
+ }
23
+ catch (err) {
24
+ console.error("Error sending mail:", err);
25
+ throw err;
26
+ }
27
+ }
28
+ export async function emailMe({ subject, text, attachments }) {
29
+ try {
30
+ const info = await transporter.sendMail({
31
+ from: `"RecruitAI" <delo@recruitvoiceai.de>`,
32
+ to: `faragdelo@gmail.com`,
33
+ subject,
34
+ text,
35
+ attachments
36
+ });
37
+ console.log("Mail sent:", info.messageId);
38
+ return info;
39
+ }
40
+ catch (err) {
41
+ console.error("Error sending mail:", err);
42
+ throw err;
43
+ }
44
+ }
45
+ //# sourceMappingURL=mail.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mail.js","sourceRoot":"","sources":["../../src/server/mail.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,YAAY,CAAA;AAEnC,MAAM,WAAW,GAAG,UAAU,CAAC,eAAe,CAAC;IAC7C,IAAI,EAAE,cAAc;IACpB,IAAI,EAAE,GAAG;IACT,MAAM,EAAE,IAAI;IACZ,IAAI,EAAE;QACJ,IAAI,EAAE,wBAAwB;QAC9B,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS;KAC5B;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,EAAC,EAAE,EAAC,IAAI,EAAC,OAAO,EAAC,IAAI,EAAC,WAAW,EAA4H;IAC3L,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC;YACtC,IAAI;YACJ,EAAE;YACF,OAAO;YACP,IAAI;YACJ,WAAW;SACZ,CAAC,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAC1C,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,GAAG,EAAE,CAAC;QACX,OAAO,CAAC,KAAK,CAAC,qBAAqB,EAAE,GAAG,CAAC,CAAC;QAC1C,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,EAAC,OAAO,EAAE,IAAI,EAAE,WAAW,EAAkG;IACvJ,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC;YACtC,IAAI,EAAE,sCAAsC;YAC5C,EAAE,EAAE,qBAAqB;YACzB,OAAO;YACP,IAAI;YACJ,WAAW;SACZ,CAAC,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAC1C,OAAO,IAAI,CAAC;IAChB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,OAAO,CAAC,KAAK,CAAC,qBAAqB,EAAE,GAAG,CAAC,CAAC;QAC1C,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC"}
@@ -0,0 +1,3 @@
1
+ import pino from "pino";
2
+ export declare const logger: pino.Logger<never, boolean>;
3
+ //# sourceMappingURL=pino-logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pino-logger.d.ts","sourceRoot":"","sources":["../../src/server/pino-logger.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AAIxB,eAAO,MAAM,MAAM,6BAeb,CAAC"}
@@ -0,0 +1,19 @@
1
+ import pino from "pino";
2
+ const isDevelopment = process.env.NODE_ENV === "development" || process.env.NODE_ENV === undefined;
3
+ export const logger = isDevelopment
4
+ ? pino({
5
+ transport: {
6
+ target: "pino-pretty",
7
+ options: {
8
+ colorize: true,
9
+ translateTime: "HH:MM:ss",
10
+ ignore: "pid,hostname",
11
+ destination: 1, // stdout
12
+ },
13
+ },
14
+ level: "debug",
15
+ })
16
+ : pino({
17
+ level: "info",
18
+ });
19
+ //# sourceMappingURL=pino-logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pino-logger.js","sourceRoot":"","sources":["../../src/server/pino-logger.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAA;AAElG,MAAM,CAAC,MAAM,MAAM,GAAG,aAAa;IACjC,CAAC,CAAC,IAAI,CAAC;QACH,SAAS,EAAE;YACT,MAAM,EAAE,aAAa;YACrB,OAAO,EAAE;gBACP,QAAQ,EAAE,IAAI;gBACd,aAAa,EAAE,UAAU;gBACzB,MAAM,EAAE,cAAc;gBACtB,WAAW,EAAE,CAAC,EAAE,SAAS;aAC1B;SACF;QACD,KAAK,EAAE,OAAO;KACf,CAAC;IACJ,CAAC,CAAC,IAAI,CAAC;QACH,KAAK,EAAE,MAAM;KACd,CAAC,CAAC"}
@@ -0,0 +1,10 @@
1
+ export declare function enumerate<T>(arr: Iterable<T>, starting_index?: number): Generator<readonly [number, T], void, unknown>;
2
+ export declare function zip<T extends readonly Iterable<any>[]>(...iterables: T): Generator<{
3
+ [K in keyof T]: T[K] extends Iterable<infer U> ? U : never;
4
+ }>;
5
+ export declare function range(start: number, end?: number, step?: number): Generator<number, void, unknown>;
6
+ export declare function pick<T extends Record<PropertyKey, any>, const K extends readonly (keyof T)[]>(obj: T, keys: K): Pick<T, K[number]>;
7
+ export declare function omit<T extends Record<PropertyKey, any>, const K extends readonly (keyof T)[]>(obj: T, keys: K): Omit<T, K[number]>;
8
+ export declare function array<T>(iter: Iterable<T>): Array<T>;
9
+ export declare function object<T extends readonly [PropertyKey, any][]>(arr: T): Record<PropertyKey, any>;
10
+ //# sourceMappingURL=util-funcs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util-funcs.d.ts","sourceRoot":"","sources":["../src/util-funcs.ts"],"names":[],"mappings":"AAAA,wBAAiB,SAAS,CAAC,CAAC,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAC,cAAc,GAAC,MAAU,kDAKvE;AAED,wBAAiB,GAAG,CAAC,CAAC,SAAS,SAAS,QAAQ,CAAC,GAAG,CAAC,EAAE,EACnD,GAAG,SAAS,EAAE,CAAC,GACd,SAAS,CACV;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK;CAAE,CAC/D,CAUF;AAED,wBAAiB,KAAK,CAClB,KAAK,EAAE,MAAM,EACb,GAAG,CAAC,EAAE,MAAM,EACZ,IAAI,SAAI,oCASX;AAED,wBAAgB,IAAI,CAClB,CAAC,SAAS,MAAM,CAAC,WAAW,EAAE,GAAG,CAAC,EAClC,KAAK,CAAC,CAAC,SAAS,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,EAEpC,GAAG,EAAE,CAAC,EACN,IAAI,EAAE,CAAC,GACN,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAMpB;AAGD,wBAAgB,IAAI,CAClB,CAAC,SAAS,MAAM,CAAC,WAAW,EAAE,GAAG,CAAC,EAClC,KAAK,CAAC,CAAC,SAAS,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,EAEpC,GAAG,EAAE,CAAC,EACN,IAAI,EAAE,CAAC,GACN,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAMpB;AAGD,wBAAgB,KAAK,CAAC,CAAC,EAAE,IAAI,EAAC,QAAQ,CAAC,CAAC,CAAC,GAAE,KAAK,CAAC,CAAC,CAAC,CAMlD;AAED,wBAAgB,MAAM,CAAC,CAAC,SAAS,SAAS,CAAC,WAAW,EAAC,GAAG,CAAC,EAAE,EAAE,GAAG,EAAC,CAAC,4BAMnE"}
@@ -0,0 +1,54 @@
1
+ export function* enumerate(arr, starting_index = 0) {
2
+ let i = starting_index;
3
+ for (const item of arr) {
4
+ yield [i++, item];
5
+ }
6
+ }
7
+ export function* zip(...iterables) {
8
+ const iterators = iterables.map(it => it[Symbol.iterator]());
9
+ while (true) {
10
+ const results = iterators.map(it => it.next());
11
+ if (results.some(r => r.done))
12
+ return;
13
+ yield results.map(r => r.value);
14
+ }
15
+ }
16
+ export function* range(start, end, step = 1) {
17
+ if (end === undefined) {
18
+ end = start;
19
+ start = 0;
20
+ }
21
+ for (let i = start; i < end; i += step) {
22
+ yield i;
23
+ }
24
+ }
25
+ export function pick(obj, keys) {
26
+ const out = {};
27
+ for (const k of keys) {
28
+ if (k in obj)
29
+ out[k] = obj[k];
30
+ }
31
+ return out;
32
+ }
33
+ export function omit(obj, keys) {
34
+ const out = { ...obj };
35
+ for (const k of keys) {
36
+ delete out[k];
37
+ }
38
+ return out;
39
+ }
40
+ export function array(iter) {
41
+ const arr = [];
42
+ for (const item of iter) {
43
+ arr.push(item);
44
+ }
45
+ return arr;
46
+ }
47
+ export function object(arr) {
48
+ const obj = {};
49
+ for (const [k, v] of arr) {
50
+ obj[k] = v;
51
+ }
52
+ return obj;
53
+ }
54
+ //# sourceMappingURL=util-funcs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util-funcs.js","sourceRoot":"","sources":["../src/util-funcs.ts"],"names":[],"mappings":"AAAA,MAAM,SAAU,CAAC,CAAA,SAAS,CAAI,GAAgB,EAAC,iBAAwB,CAAC;IACpE,IAAI,CAAC,GAAG,cAAc,CAAA;IACtB,KAAK,MAAM,IAAI,IAAI,GAAG,EAAE,CAAC;QACvB,MAAM,CAAC,CAAC,EAAE,EAAE,IAAI,CAAU,CAAA;IAC5B,CAAC;AACL,CAAC;AAED,MAAM,SAAS,CAAC,CAAC,GAAG,CAChB,GAAG,SAAY;IAIf,MAAM,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;IAE5D,OAAO,IAAI,EAAE,CAAC;QACZ,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAA;QAE9C,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YAAE,OAAM;QAErC,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAQ,CAAA;IACxC,CAAC;AACL,CAAC;AAED,MAAM,SAAU,CAAC,CAAA,KAAK,CAClB,KAAa,EACb,GAAY,EACZ,IAAI,GAAG,CAAC;IAER,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,GAAG,GAAG,KAAK,CAAA;QACX,KAAK,GAAG,CAAC,CAAA;IACX,CAAC;IACD,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC;QACvC,MAAM,CAAC,CAAA;IACT,CAAC;AACL,CAAC;AAED,MAAM,UAAU,IAAI,CAIlB,GAAM,EACN,IAAO;IAEP,MAAM,GAAG,GAAG,EAAwB,CAAA;IACpC,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG;YAAE,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAA;IAC/B,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AAGD,MAAM,UAAU,IAAI,CAIlB,GAAM,EACN,IAAO;IAEP,MAAM,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,CAAA;IACtB,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACrB,OAAO,GAAG,CAAC,CAAC,CAAC,CAAA;IACf,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AAGD,MAAM,UAAU,KAAK,CAAI,IAAgB;IACrC,MAAM,GAAG,GAAG,EAAE,CAAA;IACd,KAAI,MAAM,IAAI,IAAI,IAAI,EAAC,CAAC;QACpB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAClB,CAAC;IACD,OAAO,GAAG,CAAA;AACd,CAAC;AAED,MAAM,UAAU,MAAM,CAAyC,GAAK;IAChE,MAAM,GAAG,GAA2B,EAAE,CAAA;IACtC,KAAI,MAAM,CAAC,CAAC,EAAC,CAAC,CAAC,IAAI,GAAG,EAAC,CAAC;QACpB,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;IACd,CAAC;IACD,OAAO,GAAG,CAAA;AACd,CAAC"}
package/package.json CHANGED
@@ -1,22 +1,21 @@
1
1
  {
2
2
  "name": "@delofarag/base-utils",
3
- "version": "1.1.1",
3
+ "version": "1.3.1",
4
4
  "type": "module",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
7
- "files": [
8
- "dist",
9
- "README.md"
10
- ],
11
- "scripts": {
12
- "build": "tsc"
7
+ "exports": {
8
+ ".": {
9
+ "types": "./dist/index.d.ts",
10
+ "default": "./dist/index.js"
11
+ },
12
+ "./server": {
13
+ "types": "./dist/server/index.d.ts",
14
+ "default": "./dist/server/index.js"
15
+ }
13
16
  },
14
- "dependencies": {
15
- "readline": "^1.3.0"
16
- },
17
- "devDependencies": {
18
- "@types/node": "^20.0.0",
19
- "typescript": "^5.0.0"
20
- }
17
+ "files": ["dist", "README.md"],
18
+ "scripts": {"build": "tsc"},
19
+ "dependencies": {"dotenv": "^17.2.3", "nodemailer": "^7.0.13", "readline": "^1.3.0"},
20
+ "devDependencies": {"@types/node": "^20.0.0", "@types/nodemailer": "^7.0.9", "typescript": "^5.0.0"}
21
21
  }
22
-