uranio 0.1.26 → 0.1.28

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.
@@ -28,6 +28,6 @@
28
28
  "typescript": "^5.2.2"
29
29
  },
30
30
  "dependencies": {
31
- "uranio": "0.1.26"
31
+ "uranio": "0.1.28"
32
32
  }
33
33
  }
@@ -6,11 +6,10 @@
6
6
 
7
7
  import mongodb, {ObjectId} from 'mongodb';
8
8
 
9
- import * as t from '../types/index';
10
-
11
- // export class MongoDBAtomClient<S extends atom> implements AtomClient<S> {
12
- export class MongoDBAtomClient<S extends t.mongodb_atom> {
9
+ import * as atom_types from '../types/atom';
10
+ import * as where_types from '../types/where';
13
11
 
12
+ export class MongoDBAtomClient<S extends atom_types.mongodb_atom> {
14
13
  public collection: mongodb.Collection<S>;
15
14
 
16
15
  constructor(
@@ -20,7 +19,7 @@ export class MongoDBAtomClient<S extends t.mongodb_atom> {
20
19
  this.collection = this.db.collection<S>(name);
21
20
  }
22
21
 
23
- public async get_atom(where: t.Where<S>): Promise<S | null> {
22
+ public async get_atom(where: where_types.Where<S>): Promise<S | null> {
24
23
  where = _instance_object_id(where);
25
24
  let item = await this.collection.findOne<S>(where as mongodb.Filter<S>);
26
25
  if (!item) {
@@ -30,7 +29,7 @@ export class MongoDBAtomClient<S extends t.mongodb_atom> {
30
29
  return item;
31
30
  }
32
31
 
33
- public async get_atoms(where: t.Where<S>): Promise<S[]> {
32
+ public async get_atoms(where: where_types.Where<S>): Promise<S[]> {
34
33
  where = _instance_object_id(where);
35
34
  let items = await this.collection
36
35
  .find<S>(where as mongodb.Filter<S>)
@@ -41,7 +40,9 @@ export class MongoDBAtomClient<S extends t.mongodb_atom> {
41
40
  return items;
42
41
  }
43
42
 
44
- public async put_atom(shape: t.Shape<S>): Promise<mongodb.InsertOneResult> {
43
+ public async put_atom(
44
+ shape: atom_types.Shape<S>
45
+ ): Promise<mongodb.InsertOneResult> {
45
46
  shape = _remove_id(shape as Partial<S>);
46
47
  const respone_insert = await this.collection.insertOne(
47
48
  shape as mongodb.OptionalUnlessRequiredId<S>
@@ -49,7 +50,9 @@ export class MongoDBAtomClient<S extends t.mongodb_atom> {
49
50
  return respone_insert;
50
51
  }
51
52
 
52
- public async put_atoms(atoms: t.Shape<S>[]): Promise<mongodb.InsertManyResult> {
53
+ public async put_atoms(
54
+ atoms: atom_types.Shape<S>[]
55
+ ): Promise<mongodb.InsertManyResult> {
53
56
  const atoms_no_ids: mongodb.OptionalUnlessRequiredId<S>[] = [];
54
57
  for (const atom of atoms) {
55
58
  const atom_no_id = _remove_id(
@@ -62,7 +65,7 @@ export class MongoDBAtomClient<S extends t.mongodb_atom> {
62
65
  }
63
66
 
64
67
  public async update_atom(
65
- where: t.Where<S>,
68
+ where: where_types.Where<S>,
66
69
  atom: Partial<S>
67
70
  ): Promise<mongodb.UpdateResult> {
68
71
  where = _instance_object_id(where);
@@ -75,7 +78,7 @@ export class MongoDBAtomClient<S extends t.mongodb_atom> {
75
78
  }
76
79
 
77
80
  public async update_atoms(
78
- where: t.Where<S>,
81
+ where: where_types.Where<S>,
79
82
  atom: Partial<S>
80
83
  ): Promise<mongodb.UpdateResult> {
81
84
  where = _instance_object_id(where);
@@ -87,7 +90,9 @@ export class MongoDBAtomClient<S extends t.mongodb_atom> {
87
90
  return response_update;
88
91
  }
89
92
 
90
- public async delete_atom(where: t.Where<S>): Promise<mongodb.DeleteResult> {
93
+ public async delete_atom(
94
+ where: where_types.Where<S>
95
+ ): Promise<mongodb.DeleteResult> {
91
96
  where = _instance_object_id(where);
92
97
  const response_delete = await this.collection.deleteOne(
93
98
  where as mongodb.Filter<S>
@@ -95,7 +100,9 @@ export class MongoDBAtomClient<S extends t.mongodb_atom> {
95
100
  return response_delete;
96
101
  }
97
102
 
98
- public async delete_atoms(where: t.Where<S>): Promise<mongodb.DeleteResult> {
103
+ public async delete_atoms(
104
+ where: where_types.Where<S>
105
+ ): Promise<mongodb.DeleteResult> {
99
106
  where = _instance_object_id(where);
100
107
  const response_delete = await this.collection.deleteMany(
101
108
  where as mongodb.Filter<S>
@@ -118,12 +125,16 @@ function _string_id<T extends unknown>(item: T): StringId<T> {
118
125
  return item as StringId<T>;
119
126
  }
120
127
 
121
- function _remove_id<A extends t.mongodb_atom>(atom: Partial<A>): t.Shape<A> {
128
+ function _remove_id<A extends atom_types.mongodb_atom>(
129
+ atom: Partial<A>
130
+ ): atom_types.Shape<A> {
122
131
  delete (atom as any)._id;
123
- return atom as t.Shape<A>;
132
+ return atom as atom_types.Shape<A>;
124
133
  }
125
134
 
126
- function _instance_object_id<A extends t.mongodb_atom>(where: t.Where<A>): t.Where<A> {
135
+ function _instance_object_id<A extends atom_types.mongodb_atom>(
136
+ where: where_types.Where<A>
137
+ ): where_types.Where<A> {
127
138
  for (let [key, value] of Object.entries(where)) {
128
139
  if (key === '_id' && typeof value === 'string') {
129
140
  where['_id'] = new ObjectId(value) as any;
@@ -4,25 +4,22 @@
4
4
  *
5
5
  */
6
6
 
7
- // import mysql from 'mysql2/promise';
8
-
9
- // import {log} from './log/index';
10
7
 
11
8
  import {MySQLClient} from '../client/mysql';
12
-
13
9
  import * as sql from '../sql/index';
14
- import * as t from '../types/index';
15
10
 
16
- // export class MySQLAtomClient<S extends t.atom> implements t.AtomClient<S> {
11
+ import * as atom_types from '../types/atom';
12
+ import * as where_types from '../types/where';
13
+ import * as sql_types from '../types/sql';
17
14
 
18
- export class MySQLAtomClient<S extends t.mysql_atom> {
15
+ export class MySQLAtomClient<S extends atom_types.mysql_atom> {
19
16
 
20
17
  constructor(
21
18
  public client: MySQLClient,
22
19
  public name: string
23
20
  ) {}
24
21
 
25
- public async get_atom(where: t.Where<S>): Promise<S | null> {
22
+ public async get_atom(where: where_types.Where<S>): Promise<S | null> {
26
23
  const {query, map} = sql.param.compose_select({
27
24
  table: this.name,
28
25
  where,
@@ -40,8 +37,8 @@ export class MySQLAtomClient<S extends t.mysql_atom> {
40
37
  order,
41
38
  limit,
42
39
  }: {
43
- where?: t.Where<S>;
44
- order?: t.OrderBy;
40
+ where?: where_types.Where<S>;
41
+ order?: sql_types.OrderBy;
45
42
  limit?: string;
46
43
  }): Promise<S[]> {
47
44
  const {query, map} = sql.param.compose_select({
@@ -90,7 +87,7 @@ export class MySQLAtomClient<S extends t.mysql_atom> {
90
87
 
91
88
  public async update_atoms(
92
89
  atom: Partial<S>,
93
- where?: t.Where<S>,
90
+ where?: where_types.Where<S>,
94
91
  ): Promise<any> {
95
92
  const {query, map} = sql.param.compose_update({
96
93
  table: this.name,
@@ -101,7 +98,7 @@ export class MySQLAtomClient<S extends t.mysql_atom> {
101
98
  return response;
102
99
  }
103
100
 
104
- public async delete_atoms(where: t.Where<S>): Promise<any> {
101
+ public async delete_atoms(where: where_types.Where<S>): Promise<any> {
105
102
  const {query, map} = sql.param.compose_delete({
106
103
  table: this.name,
107
104
  where,
@@ -1,14 +1,16 @@
1
1
  /**
2
2
  *
3
- * JS Object to SQL expanded query converter module
3
+ * JS Object to sql_types expanded query converter module
4
4
  *
5
5
  * @packageDocumentation
6
6
  *
7
7
  */
8
8
 
9
- import * as t from '../types/index';
9
+ import * as atom_types from '../types/atom';
10
+ import * as where_types from '../types/where';
11
+ import * as sql_types from '../types/sql';
10
12
 
11
- export function compose_select<S extends t.atom>({
13
+ export function compose_select<S extends atom_types.atom>({
12
14
  projection = ['*'],
13
15
  table,
14
16
  where,
@@ -17,8 +19,8 @@ export function compose_select<S extends t.atom>({
17
19
  }: {
18
20
  projection?: string[];
19
21
  table: string;
20
- where?: t.Where<S>;
21
- order?: t.OrderBy;
22
+ where?: where_types.Where<S>;
23
+ order?: sql_types.OrderBy;
22
24
  limit?: string;
23
25
  }) {
24
26
  let query_string = 'SELECT';
@@ -32,14 +34,14 @@ export function compose_select<S extends t.atom>({
32
34
  return query_string;
33
35
  }
34
36
 
35
- export function compose_update<S extends t.atom>({
37
+ export function compose_update<S extends atom_types.atom>({
36
38
  table,
37
39
  update,
38
40
  where,
39
41
  }: {
40
42
  table: string;
41
43
  update: Partial<S>;
42
- where?: t.Where<S>;
44
+ where?: where_types.Where<S>;
43
45
  }) {
44
46
  let query_string = 'UPDATE';
45
47
  query_string += ` \`${table}\``;
@@ -49,12 +51,12 @@ export function compose_update<S extends t.atom>({
49
51
  return query_string;
50
52
  }
51
53
 
52
- export function compose_delete<S extends t.atom>({
54
+ export function compose_delete<S extends atom_types.atom>({
53
55
  table,
54
56
  where,
55
57
  }: {
56
58
  table: string;
57
- where?: t.Where<S>;
59
+ where?: where_types.Where<S>;
58
60
  }) {
59
61
  let query_string = 'DELETE';
60
62
  query_string += ` FROM \`${table}\``;
@@ -62,7 +64,7 @@ export function compose_delete<S extends t.atom>({
62
64
  return query_string;
63
65
  }
64
66
 
65
- export function compose_insert<S extends t.atom>({
67
+ export function compose_insert<S extends atom_types.atom>({
66
68
  table,
67
69
  columns,
68
70
  records,
@@ -78,7 +80,7 @@ export function compose_insert<S extends t.atom>({
78
80
  return query_string;
79
81
  }
80
82
 
81
- function _resolve_where<S extends t.atom>(where?: t.Where<S>): string {
83
+ function _resolve_where<S extends atom_types.atom>(where?: where_types.Where<S>): string {
82
84
  if (
83
85
  !where ||
84
86
  typeof where !== 'object' ||
@@ -87,14 +89,14 @@ function _resolve_where<S extends t.atom>(where?: t.Where<S>): string {
87
89
  return '';
88
90
  }
89
91
  const where_parts: string[] = [];
90
- // console.log(`t.Where param: ${JSON.stringify(where)}`);
92
+ // console.log(`where_types.Where param: ${JSON.stringify(where)}`);
91
93
  for (const [key, value] of Object.entries(where)) {
92
94
  // console.log(`Key: ${key}, Value: ${JSON.stringify(value)}`);
93
- if (t.root_operators.includes(key as t.RootOperator)) {
95
+ if (sql_types.root_operators.includes(key as sql_types.RootOperator)) {
94
96
  // console.log(`Key is in root operators`);
95
97
  if (!Array.isArray(value)) {
96
98
  throw new Error(
97
- `Invalid t.Where. Root operator '${key}' must have an Array as value`
99
+ `Invalid Where. Root operator '${key}' must have an Array as value`
98
100
  );
99
101
  }
100
102
  const queries = value.map((el) => _resolve_where(el));
@@ -119,7 +121,7 @@ function _resolve_where<S extends t.atom>(where?: t.Where<S>): string {
119
121
  throw new Error(`Invalid root operator`);
120
122
  }
121
123
  }
122
- // console.log(`t.Where parts: ${where_parts}`);
124
+ // console.log(`where_types.Where parts: ${where_parts}`);
123
125
  const final_where = where_parts.join(` AND `);
124
126
  return final_where;
125
127
  }
@@ -140,7 +142,7 @@ function _resolve_where<S extends t.atom>(where?: t.Where<S>): string {
140
142
  throw new Error(`Cannot compare to empty object value`);
141
143
  }
142
144
  let query_string = '';
143
- query_string += '' + _resolve_filter(key, value as t.Operator);
145
+ query_string += '' + _resolve_filter(key, value as sql_types.Operator);
144
146
  where_parts.push(query_string);
145
147
  continue;
146
148
  }
@@ -152,11 +154,11 @@ function _resolve_where<S extends t.atom>(where?: t.Where<S>): string {
152
154
  return final_where;
153
155
  }
154
156
 
155
- function _resolve_columns<S extends t.atom>(columns: (keyof S)[]): string {
157
+ function _resolve_columns<S extends atom_types.atom>(columns: (keyof S)[]): string {
156
158
  return ' (' + columns.map((el) => '`' + String(el) + '`').join(', ') + ')';
157
159
  }
158
160
 
159
- function _resolve_records<S extends t.atom>(
161
+ function _resolve_records<S extends atom_types.atom>(
160
162
  columns: (keyof S)[],
161
163
  records: Partial<S>[]
162
164
  ): string {
@@ -173,7 +175,7 @@ function _resolve_records<S extends t.atom>(
173
175
  return ` VALUES ${full_records}`;
174
176
  }
175
177
 
176
- function _resolve_update<S extends t.atom>(update: Partial<S>): string {
178
+ function _resolve_update<S extends atom_types.atom>(update: Partial<S>): string {
177
179
  const update_parts: string[] = [];
178
180
  for (const [key, value] of Object.entries(update)) {
179
181
  update_parts.push(`${key} = ${_format_value(value)}`);
@@ -181,7 +183,7 @@ function _resolve_update<S extends t.atom>(update: Partial<S>): string {
181
183
  return ' ' + update_parts.join(', ');
182
184
  }
183
185
 
184
- function _resolve_order(order?: t.OrderBy): string {
186
+ function _resolve_order(order?: sql_types.OrderBy): string {
185
187
  if (
186
188
  !order ||
187
189
  typeof order !== 'object' ||
@@ -213,7 +215,7 @@ function _resolve_limit(limit?: string): string {
213
215
  return ` LIMIT ${limit}`;
214
216
  }
215
217
 
216
- function _resolve_filter(column: string, operator: t.Operator) {
218
+ function _resolve_filter(column: string, operator: sql_types.Operator) {
217
219
  let filter_strings: string[] = [];
218
220
  for (let [key, value] of Object.entries(operator)) {
219
221
  switch (key) {
@@ -324,5 +326,5 @@ function _format_value(value: unknown): string {
324
326
  // if (sql_type.includes(type as SQLType)) {
325
327
  // return;
326
328
  // }
327
- // throw new Error(`Invalid SQL type`);
329
+ // throw new Error(`Invalid sql_types type`);
328
330
  // }
@@ -8,11 +8,13 @@
8
8
 
9
9
  // import crypto from 'crypto';
10
10
 
11
- import * as t from '../types/index';
12
-
13
11
  import * as full from './full_query';
14
12
 
15
- export function compose_select<S extends t.atom>({
13
+ import * as atom_types from '../types/atom';
14
+ import * as where_types from '../types/where';
15
+ import * as sql_types from '../types/sql';
16
+
17
+ export function compose_select<S extends atom_types.atom>({
16
18
  projection = ['*'],
17
19
  table,
18
20
  where,
@@ -21,8 +23,8 @@ export function compose_select<S extends t.atom>({
21
23
  }: {
22
24
  projection?: string[];
23
25
  table: string;
24
- where?: t.Where<S>;
25
- order?: t.OrderBy;
26
+ where?: where_types.Where<S>;
27
+ order?: sql_types.OrderBy;
26
28
  limit?: string;
27
29
  }) {
28
30
  // console.log(projection, table, JSON.stringify(where), order, limit);
@@ -39,14 +41,14 @@ export function compose_select<S extends t.atom>({
39
41
  return {query: param_query, map};
40
42
  }
41
43
 
42
- export function compose_update<S extends t.atom>({
44
+ export function compose_update<S extends atom_types.atom>({
43
45
  table,
44
46
  update,
45
47
  where,
46
48
  }: {
47
49
  table: string;
48
50
  update: Partial<S>;
49
- where?: t.Where<S>;
51
+ where?: where_types.Where<S>;
50
52
  }) {
51
53
  const full_query = full.compose_update({
52
54
  table,
@@ -63,12 +65,12 @@ export function compose_update<S extends t.atom>({
63
65
  return {query: param_query, map};
64
66
  }
65
67
 
66
- export function compose_delete<S extends t.atom>({
68
+ export function compose_delete<S extends atom_types.atom>({
67
69
  table,
68
70
  where,
69
71
  }: {
70
72
  table: string;
71
- where?: t.Where<S>;
73
+ where?: where_types.Where<S>;
72
74
  }) {
73
75
  const full_query = full.compose_delete({
74
76
  table,
@@ -80,7 +82,7 @@ export function compose_delete<S extends t.atom>({
80
82
  return {query: param_query, map};
81
83
  }
82
84
 
83
- export function compose_insert<S extends t.atom>({
85
+ export function compose_insert<S extends atom_types.atom>({
84
86
  table,
85
87
  columns,
86
88
  records,
@@ -115,7 +117,7 @@ function _generate_unique_consecutive_id():string{
115
117
  // return 'x' + digested.substring(0, 3) + _generate_random_string(4);
116
118
  // }
117
119
 
118
- function _generate_value_map_from_update<S extends t.atom>(
120
+ function _generate_value_map_from_update<S extends atom_types.atom>(
119
121
  update: Partial<S>
120
122
  ): Map<string, any> {
121
123
  const value_map = new Map<string, any>();
@@ -126,8 +128,8 @@ function _generate_value_map_from_update<S extends t.atom>(
126
128
  return value_map;
127
129
  }
128
130
 
129
- function _generate_value_map_from_query<S extends t.atom>(
130
- where?: t.Where<S>
131
+ function _generate_value_map_from_query<S extends atom_types.atom>(
132
+ where?: where_types.Where<S>
131
133
  ): Map<string, any> {
132
134
  const value_map = new Map<string, any>();
133
135
  if (!where) {
@@ -135,7 +137,7 @@ function _generate_value_map_from_query<S extends t.atom>(
135
137
  }
136
138
  for (const [key, value] of Object.entries(where)) {
137
139
  // key is a root operator: $and, $or, ...
138
- if (t.root_operators.includes(key as t.RootOperator)) {
140
+ if (sql_types.root_operators.includes(key as sql_types.RootOperator)) {
139
141
  // console.log(`Key is in Root Operator: [${key}]`);
140
142
  if (!Array.isArray(value)) {
141
143
  throw new Error(
@@ -164,7 +166,7 @@ function _generate_value_map_from_query<S extends t.atom>(
164
166
  }
165
167
  const filter_map = _generate_map_from_filter(
166
168
  // key,
167
- value as Record<t.FilterOperator, string>
169
+ value as Record<sql_types.FilterOperator, string>
168
170
  );
169
171
  for (const [_k, v] of filter_map) {
170
172
  const id = _generate_unique_consecutive_id();
@@ -181,7 +183,7 @@ function _generate_value_map_from_query<S extends t.atom>(
181
183
 
182
184
  function _generate_map_from_filter(
183
185
  // key: string,
184
- filter: Record<t.FilterOperator, string>
186
+ filter: Record<sql_types.FilterOperator, string>
185
187
  ): Map<string, any> {
186
188
  const filter_map = new Map<string, any>();
187
189
  for (const [_operator, v] of Object.entries(filter)) {
@@ -6,6 +6,26 @@
6
6
  *
7
7
  */
8
8
 
9
+ export interface atom {}
10
+
11
+ export type unique<T> = T & {__uranio: 'unique'};
12
+
13
+ export type primary<T> = T & {__uranio: 'primary'};
14
+
15
+ export interface mysql_atom extends atom {}
16
+
17
+ export interface mongodb_atom extends atom {
18
+ _id: primary<string>;
19
+ }
20
+
21
+ type PrimaryAttribute<A extends atom> = {
22
+ [K in keyof A]: A[K] extends {__uranio: 'primary'} ? K : never;
23
+ }[keyof A];
24
+
25
+ export type Shape<A extends atom> = Omit<A, PrimaryAttribute<A>>;
26
+
27
+ // export type Shape<A extends atom> = Omit<A, '_id'>;
28
+
9
29
  // import {atom, Where, Shape, OrderBy} from './index';
10
30
 
11
31
  // export interface AtomClient<S extends atom> {
@@ -6,28 +6,6 @@
6
6
  *
7
7
  */
8
8
 
9
- export * from './where';
10
-
11
- // export * from './atom';
12
-
13
- export * from './sql';
14
-
15
- export interface atom {}
16
-
17
- export interface mysql_atom extends atom {}
18
-
19
- export interface mongodb_atom extends atom {
20
- _id: primary<string>;
21
- }
22
-
23
- export type unique<T> = T & {__uranio: 'unique'};
24
-
25
- // export type Shape<A extends atom> = Omit<A, '_id'>;
26
-
27
- export type primary<T> = T & {__uranio: 'primary'};
28
-
29
- type PrimaryAttribute<A extends atom> = {
30
- [K in keyof A]: A[K] extends {__uranio: 'primary'} ? K : never;
31
- }[keyof A];
32
-
33
- export type Shape<A extends atom> = Omit<A, PrimaryAttribute<A>>;
9
+ import {mysql_atom as atom} from './atom';
10
+ import {primary} from './atom';
11
+ export {atom, primary};
@@ -311,6 +311,7 @@ function _generate_mongodb_client_initialization(interfaces) {
311
311
  let text = '';
312
312
  for (const [name, _inter] of Object.entries(interfaces)) {
313
313
  let lc = _first_letter_lowercase(name);
314
+ // Different from MySQL since it pass `this.db` instead of `this`
314
315
  text += ` this.${lc} = new MongoDBAtomClient<${name}>(this.db, '${lc}');\n`;
315
316
  }
316
317
  return text;
@@ -327,7 +328,8 @@ function _generate_mysql_client_initialization(interfaces) {
327
328
  let text = '';
328
329
  for (const [name, _inter] of Object.entries(interfaces)) {
329
330
  let lc = _first_letter_lowercase(name);
330
- text += ` this.${lc} = new MySQLAtomClient<${name}>(this.db, '${lc}');\n`;
331
+ // Different from Mongo since it pass `this` instead of `this.db`
332
+ text += ` this.${lc} = new MySQLAtomClient<${name}>(this, '${lc}');\n`;
331
333
  }
332
334
  return text;
333
335
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/generate/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/generate/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "uranio",
3
- "version": "0.1.26",
3
+ "version": "0.1.28",
4
4
  "description": "Uranio is a type-safe ODM for MongoDB",
5
5
  "main": "dist/index.js",
6
6
  "repository": {
@@ -95,6 +95,7 @@ async function _copy_dot_uranio(params: GenerateParams) {
95
95
 
96
96
  async function _update_dot_uranio(params: GenerateParams) {
97
97
  log.spinner.text(`Updating dot uranio files...`);
98
+ const dot_uranio_src_path = `${params.root}/node_modules/.uranio/src`;
98
99
  const uranio_extended_interfaces = _get_uranio_extended_interfaces(params);
99
100
 
100
101
  log.trace(`Generating client...`);
@@ -103,7 +104,7 @@ async function _update_dot_uranio(params: GenerateParams) {
103
104
  ? _generate_mysql_uranio_client_module_text(uranio_extended_interfaces)
104
105
  : _generate_mongodb_uranio_client_module_text(uranio_extended_interfaces);
105
106
 
106
- const uranio_client_path = `${params.root}/node_modules/.uranio/src/client.ts`;
107
+ const uranio_client_path = `${dot_uranio_src_path}/client.ts`
107
108
  fs.writeFileSync(uranio_client_path, client_text);
108
109
  log.debug(`Generated client`);
109
110
 
@@ -113,10 +114,20 @@ async function _update_dot_uranio(params: GenerateParams) {
113
114
  ? _generate_mysql_uranio_index_module_text()
114
115
  : _generate_mongodb_uranio_index_module_text();
115
116
 
116
- const uranio_index_path = `${params.root}/node_modules/.uranio/src/index.ts`;
117
+ const uranio_index_path = `${dot_uranio_src_path}/index.ts`;
117
118
  fs.writeFileSync(uranio_index_path, index_text);
118
119
  log.debug(`Generated index`);
119
120
 
121
+ log.trace(`Generating types...`);
122
+ const types_text =
123
+ params.database === t.DATABASE.MYSQL
124
+ ? _generate_mysql_uranio_types_module_text()
125
+ : _generate_mongodb_uranio_types_module_text();
126
+
127
+ const uranio_types_path = `${dot_uranio_src_path}/types/index.ts`;
128
+ fs.writeFileSync(uranio_types_path, types_text);
129
+ log.debug(`Generated types`);
130
+
120
131
  log.debug(`Updated dot uranio files`);
121
132
  }
122
133
 
@@ -170,6 +181,43 @@ function _get_uranio_extended_interfaces(params: GenerateParams) {
170
181
  return uranio_extended_interfaces;
171
182
  }
172
183
 
184
+ function _generate_mongodb_uranio_types_module_text(){
185
+ let text = '';
186
+ text += `/**\n`;
187
+ text += ` *\n`;
188
+ text += ` * [Auto-generated module by "uranio generate" command]\n`;
189
+ text += ` *\n`;
190
+ text += ` * Types index module\n`;
191
+ text += ` *\n`;
192
+ text += ` */\n`;
193
+ text += `\n`;
194
+ text += `export * from './types/index';\n`;
195
+ text += `\n`;
196
+ text += `import {mongodb as atom} from './atom';\n`;
197
+ text += `import {primary} from './atom';\n`;
198
+ text += `export {atom, primary};\n`;
199
+ text += `\n`;
200
+ return text;
201
+
202
+ }
203
+
204
+ function _generate_mysql_uranio_types_module_text(){
205
+ let text = '';
206
+ text += `/**\n`;
207
+ text += ` *\n`;
208
+ text += ` * [Auto-generated module by "uranio generate" command]\n`;
209
+ text += ` *\n`;
210
+ text += ` * Types index module\n`;
211
+ text += ` *\n`;
212
+ text += ` */\n`;
213
+ text += `\n`;
214
+ text += `import {mysql_atom as atom} from './atom';\n`;
215
+ text += `import {primary} from './atom';\n`;
216
+ text += `export {atom, primary};\n`;
217
+ text += `\n`;
218
+ return text;
219
+ }
220
+
173
221
  function _generate_mongodb_uranio_index_module_text(){
174
222
  let text = '';
175
223
  text += `/**\n`;
@@ -329,6 +377,7 @@ function _generate_mongodb_client_initialization(
329
377
  let text = '';
330
378
  for (const [name, _inter] of Object.entries(interfaces)) {
331
379
  let lc = _first_letter_lowercase(name);
380
+ // Different from MySQL since it pass `this.db` instead of `this`
332
381
  text += ` this.${lc} = new MongoDBAtomClient<${name}>(this.db, '${lc}');\n`;
333
382
  }
334
383
  return text;
@@ -349,7 +398,8 @@ function _generate_mysql_client_initialization(
349
398
  let text = '';
350
399
  for (const [name, _inter] of Object.entries(interfaces)) {
351
400
  let lc = _first_letter_lowercase(name);
352
- text += ` this.${lc} = new MySQLAtomClient<${name}>(this.db, '${lc}');\n`;
401
+ // Different from Mongo since it pass `this` instead of `this.db`
402
+ text += ` this.${lc} = new MySQLAtomClient<${name}>(this, '${lc}');\n`;
353
403
  }
354
404
  return text;
355
405
  }