@delofarag/base-utils 1.1.0 → 1.3.0

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.
@@ -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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"}
package/dist/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
- export { input } from "./cli";
1
+ export * from "./cli";
2
2
  export * from "./file-utils";
3
3
  export * from "./pino-logger";
4
- export * from "./stackLog";
5
4
  export * from "./pipe";
6
5
  export * from "./types";
6
+ export * from "./util-funcs";
7
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAC7B,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,OAAO,CAAA;AACrB,cAAc,cAAc,CAAA;AAC5B,cAAc,eAAe,CAAA;AAC7B,cAAc,QAAQ,CAAA;AACtB,cAAc,SAAS,CAAA;AACvB,cAAc,cAAc,CAAA"}
package/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
- export { input } from "./cli";
1
+ export * from "./cli";
2
2
  export * from "./file-utils";
3
3
  export * from "./pino-logger";
4
- export * from "./stackLog";
5
4
  export * from "./pipe";
6
5
  export * from "./types";
6
+ export * from "./util-funcs";
7
7
  //# 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,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAC7B,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,OAAO,CAAA;AACrB,cAAc,cAAc,CAAA;AAC5B,cAAc,eAAe,CAAA;AAC7B,cAAc,QAAQ,CAAA;AACtB,cAAc,SAAS,CAAA;AACvB,cAAc,cAAc,CAAA"}
package/dist/rule.d.ts ADDED
@@ -0,0 +1,47 @@
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@example.com",
19
+ is_admin: false,
20
+ has_payed: false,
21
+ tier: "free"
22
+ }
23
+
24
+ * const rule = Rule
25
+ .from(user => user.age > 18)
26
+ .and(user => !user.is_admin)
27
+ .and(user => user.has_payed)
28
+ .or(Rule.from(user => user.tier === "free")
29
+ .and(user => !user.has_payed)
30
+ .and(user => user.age === 21))
31
+ .or(Rule.from(user => user.name === "John Doe")
32
+ .and(user => user.age === 20)
33
+ .and(user => user.email === "john.doe@example.com"))
34
+
35
+ console.log(rule.allows(user)) // returned true
36
+ */
37
+ export declare class Rule {
38
+ private root;
39
+ private and_rules;
40
+ private or_rules;
41
+ private constructor();
42
+ static from(root: (input: any) => boolean): Rule;
43
+ and(fn: (input: any) => boolean): this;
44
+ or(rule: Rule): this;
45
+ allows(input: any): boolean;
46
+ }
47
+ //# sourceMappingURL=rule.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rule.d.ts","sourceRoot":"","sources":["../src/rule.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,qBAAa,IAAI;IACb,OAAO,CAAC,IAAI,CAAO;IACnB,OAAO,CAAC,SAAS,CAAc;IAC/B,OAAO,CAAC,QAAQ,CAAY;IAE5B,OAAO;WAGO,IAAI,CAAC,IAAI,EAAC,CAAC,KAAK,EAAC,GAAG,KAAK,OAAO;IAGvC,GAAG,CAAC,EAAE,EAAC,CAAC,KAAK,EAAC,GAAG,KAAK,OAAO;IAI7B,EAAE,CAAC,IAAI,EAAC,IAAI;IAIZ,MAAM,CAAC,KAAK,EAAC,GAAG,GAAE,OAAO;CAmBnC"}
package/dist/rule.js ADDED
@@ -0,0 +1,92 @@
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@example.com",
19
+ is_admin: false,
20
+ has_payed: false,
21
+ tier: "free"
22
+ }
23
+
24
+ * const rule = Rule
25
+ .from(user => user.age > 18)
26
+ .and(user => !user.is_admin)
27
+ .and(user => user.has_payed)
28
+ .or(Rule.from(user => user.tier === "free")
29
+ .and(user => !user.has_payed)
30
+ .and(user => user.age === 21))
31
+ .or(Rule.from(user => user.name === "John Doe")
32
+ .and(user => user.age === 20)
33
+ .and(user => user.email === "john.doe@example.com"))
34
+
35
+ console.log(rule.allows(user)) // returned true
36
+ */
37
+ export class Rule {
38
+ root;
39
+ and_rules = [];
40
+ or_rules = [];
41
+ constructor(root) {
42
+ this.root = root;
43
+ }
44
+ static from(root) {
45
+ return new Rule(root);
46
+ }
47
+ and(fn) {
48
+ this.and_rules.push(fn);
49
+ return this;
50
+ }
51
+ or(rule) {
52
+ this.or_rules.push(rule);
53
+ return this;
54
+ }
55
+ allows(input) {
56
+ let result;
57
+ result = this.root(input);
58
+ for (const and_rule of this.and_rules) {
59
+ if (!and_rule(input)) {
60
+ result = false;
61
+ break;
62
+ }
63
+ }
64
+ for (const or_rule of this.or_rules) {
65
+ if (or_rule.allows(input)) {
66
+ result = true;
67
+ break;
68
+ }
69
+ }
70
+ return result;
71
+ }
72
+ }
73
+ const user = {
74
+ name: "John Doe",
75
+ age: 20,
76
+ email: "john.doe@example.com",
77
+ is_admin: false,
78
+ has_payed: false,
79
+ tier: "free"
80
+ };
81
+ const rule = Rule
82
+ .from(user => user.age > 18)
83
+ .and(user => !user.is_admin)
84
+ .and(user => user.has_payed)
85
+ .or(Rule.from(user => user.tier === "free")
86
+ .and(user => !user.has_payed)
87
+ .and(user => user.age === 21))
88
+ .or(Rule.from(user => user.name === "John Doe")
89
+ .and(user => user.age === 20)
90
+ .and(user => user.email === "john.doe@example.com"));
91
+ console.log(rule.allows(user));
92
+ //# sourceMappingURL=rule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rule.js","sourceRoot":"","sources":["../src/rule.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,MAAM,OAAO,IAAI;IACL,IAAI,CAAO;IACX,SAAS,GAAY,EAAE,CAAA;IACvB,QAAQ,GAAU,EAAE,CAAA;IAE5B,YAAoB,IAA2B;QAC3C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;IACpB,CAAC;IACM,MAAM,CAAC,IAAI,CAAC,IAA2B;QAC1C,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,CAAA;IACzB,CAAC;IACM,GAAG,CAAC,EAAyB;QAChC,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,KAAS;QACnB,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,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;KAC3B,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,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC;KACtC,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,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC;KAC1C,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;AAE5D,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAA"}
@@ -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,6 +1,6 @@
1
1
  {
2
2
  "name": "@delofarag/base-utils",
3
- "version": "1.1.0",
3
+ "version": "1.3.0",
4
4
  "type": "module",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -8,15 +8,14 @@
8
8
  "dist",
9
9
  "README.md"
10
10
  ],
11
- "scripts": {
12
- "build": "tsc"
13
- },
14
11
  "dependencies": {
15
12
  "readline": "^1.3.0"
16
13
  },
17
14
  "devDependencies": {
18
15
  "@types/node": "^20.0.0",
19
16
  "typescript": "^5.0.0"
17
+ },
18
+ "scripts": {
19
+ "build": "tsc"
20
20
  }
21
- }
22
-
21
+ }