uranio 0.1.19 → 0.1.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.uranio/.infisical.json +5 -0
- package/.uranio/package.json +10 -2
- package/.uranio/src/{atom.ts → atom/mongodb.ts} +36 -32
- package/.uranio/src/atom/mysql.ts +112 -0
- package/.uranio/src/client/mongodb.ts +40 -0
- package/.uranio/src/client/mysql.ts +71 -0
- package/.uranio/src/client.ts +30 -27
- package/.uranio/src/index.ts +6 -3
- package/.uranio/src/run.ts +7 -0
- package/.uranio/src/sql/full_query.ts +328 -0
- package/.uranio/src/sql/index.ts +13 -0
- package/.uranio/src/sql/param_query.ts +245 -0
- package/.uranio/src/types/atom.ts +28 -0
- package/.uranio/src/types/index.ts +33 -0
- package/.uranio/src/types/sql.ts +34 -0
- package/.uranio/src/{query.ts → types/where.ts} +10 -7
- package/.uranio/tests/client.mysql.test.ts +130 -0
- package/.uranio/tests/sql.full.test.ts +185 -0
- package/.uranio/tests/sql.param.test.ts +108 -0
- package/dist/bin.js +0 -0
- package/package.json +2 -1
- package/src/cli/generate/index.ts +71 -12
- package/.uranio/src/types.ts +0 -25
- package/.uranio/src/uranio-client.ts +0 -25
package/.uranio/package.json
CHANGED
|
@@ -3,12 +3,17 @@
|
|
|
3
3
|
"main": "dist/index.js",
|
|
4
4
|
"scripts": {
|
|
5
5
|
"build": "yarn tsc -b",
|
|
6
|
-
"dev": "yarn tsc -w"
|
|
6
|
+
"dev": "yarn tsc -w",
|
|
7
|
+
"dev:base": "infisical run --env=dev -- node -r source-map-support/register -r dotenv/config ./dist/run.js",
|
|
8
|
+
"dev:run": "infisical run --env=dev -- yarn tsc-watch --onSuccess \"yarn dev:base\"",
|
|
9
|
+
"dev:test": "infisical run --env=dev -- node --import tsx --test --test-reporter spec --watch ./tests/*.test.ts",
|
|
10
|
+
"test": "infisical run --env=dev -- node --no-warnings --import tsx --test --test-reporter spec tests/**/*test.ts"
|
|
7
11
|
},
|
|
8
12
|
"devDependencies": {
|
|
9
13
|
"@types/node": "^20.9.0",
|
|
10
14
|
"@typescript-eslint/eslint-plugin": "^5.59.1",
|
|
11
15
|
"@typescript-eslint/parser": "^5.59.1",
|
|
16
|
+
"dotenv": "^16.3.1",
|
|
12
17
|
"eslint": "^8.39.0",
|
|
13
18
|
"eslint-config-prettier": "^8.8.0",
|
|
14
19
|
"eslint-plugin-import": "^2.27.5",
|
|
@@ -16,10 +21,13 @@
|
|
|
16
21
|
"eslint-plugin-json": "^3.1.0",
|
|
17
22
|
"eslint-plugin-node": "^11.1.0",
|
|
18
23
|
"eslint-plugin-promise": "^6.1.1",
|
|
24
|
+
"prettier": "^3.1.1",
|
|
25
|
+
"source-map-support": "^0.5.21",
|
|
19
26
|
"tsc-watch": "^6.0.0",
|
|
27
|
+
"tsx": "^4.7.0",
|
|
20
28
|
"typescript": "^5.2.2"
|
|
21
29
|
},
|
|
22
30
|
"dependencies": {
|
|
23
|
-
"uranio": "0.1.
|
|
31
|
+
"uranio": "0.1.21"
|
|
24
32
|
}
|
|
25
33
|
}
|
|
@@ -1,24 +1,28 @@
|
|
|
1
1
|
/**
|
|
2
2
|
*
|
|
3
|
-
* Atom client module
|
|
3
|
+
* MongoDB Atom client module
|
|
4
4
|
*
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
import mongodb, {ObjectId} from 'mongodb';
|
|
8
8
|
|
|
9
|
-
import
|
|
9
|
+
import * as t from '../types/index';
|
|
10
10
|
|
|
11
|
-
export class
|
|
11
|
+
// export class MongoDBAtomClient<S extends atom> implements AtomClient<S> {
|
|
12
|
+
export class MongoDBAtomClient<S extends t.mongodb_atom> {
|
|
12
13
|
|
|
13
14
|
public collection: mongodb.Collection<S>;
|
|
14
15
|
|
|
15
|
-
constructor(
|
|
16
|
+
constructor(
|
|
17
|
+
private db: mongodb.Db,
|
|
18
|
+
public name: string
|
|
19
|
+
) {
|
|
16
20
|
this.collection = this.db.collection<S>(name);
|
|
17
21
|
}
|
|
18
22
|
|
|
19
|
-
public async
|
|
20
|
-
|
|
21
|
-
let item = await this.collection.findOne<S>(
|
|
23
|
+
public async get_atom(where: t.Where<S>): Promise<S | null> {
|
|
24
|
+
where = _instance_object_id(where);
|
|
25
|
+
let item = await this.collection.findOne<S>(where as mongodb.Filter<S>);
|
|
22
26
|
if (!item) {
|
|
23
27
|
return null;
|
|
24
28
|
}
|
|
@@ -26,10 +30,10 @@ export class AtomClient<S extends atom> {
|
|
|
26
30
|
return item;
|
|
27
31
|
}
|
|
28
32
|
|
|
29
|
-
public async
|
|
30
|
-
|
|
33
|
+
public async get_atoms(where: t.Where<S>): Promise<S[]> {
|
|
34
|
+
where = _instance_object_id(where);
|
|
31
35
|
let items = await this.collection
|
|
32
|
-
.find<S>(
|
|
36
|
+
.find<S>(where as mongodb.Filter<S>)
|
|
33
37
|
.toArray();
|
|
34
38
|
for (let item of items) {
|
|
35
39
|
item = _string_id(item) as S;
|
|
@@ -37,7 +41,7 @@ export class AtomClient<S extends atom> {
|
|
|
37
41
|
return items;
|
|
38
42
|
}
|
|
39
43
|
|
|
40
|
-
public async
|
|
44
|
+
public async put_atom(shape: t.Shape<S>): Promise<mongodb.InsertOneResult> {
|
|
41
45
|
shape = _remove_id(shape as Partial<S>);
|
|
42
46
|
const respone_insert = await this.collection.insertOne(
|
|
43
47
|
shape as mongodb.OptionalUnlessRequiredId<S>
|
|
@@ -45,7 +49,7 @@ export class AtomClient<S extends atom> {
|
|
|
45
49
|
return respone_insert;
|
|
46
50
|
}
|
|
47
51
|
|
|
48
|
-
public async
|
|
52
|
+
public async put_atoms(atoms: t.Shape<S>[]): Promise<mongodb.InsertManyResult> {
|
|
49
53
|
const atoms_no_ids: mongodb.OptionalUnlessRequiredId<S>[] = [];
|
|
50
54
|
for (const atom of atoms) {
|
|
51
55
|
const atom_no_id = _remove_id(
|
|
@@ -57,44 +61,44 @@ export class AtomClient<S extends atom> {
|
|
|
57
61
|
return items;
|
|
58
62
|
}
|
|
59
63
|
|
|
60
|
-
public async
|
|
61
|
-
|
|
64
|
+
public async update_atom(
|
|
65
|
+
where: t.Where<S>,
|
|
62
66
|
atom: Partial<S>
|
|
63
67
|
): Promise<mongodb.UpdateResult> {
|
|
64
|
-
|
|
68
|
+
where = _instance_object_id(where);
|
|
65
69
|
atom = _remove_id(atom) as Partial<S>;
|
|
66
70
|
const response_update = await this.collection.updateOne(
|
|
67
|
-
|
|
71
|
+
where as mongodb.Filter<S>,
|
|
68
72
|
{$set: atom}
|
|
69
73
|
);
|
|
70
74
|
return response_update;
|
|
71
75
|
}
|
|
72
76
|
|
|
73
|
-
public async
|
|
74
|
-
|
|
77
|
+
public async update_atoms(
|
|
78
|
+
where: t.Where<S>,
|
|
75
79
|
atom: Partial<S>
|
|
76
80
|
): Promise<mongodb.UpdateResult> {
|
|
77
|
-
|
|
81
|
+
where = _instance_object_id(where);
|
|
78
82
|
atom = _remove_id(atom) as Partial<S>;
|
|
79
83
|
const response_update = await this.collection.updateMany(
|
|
80
|
-
|
|
84
|
+
where as mongodb.Filter<S>,
|
|
81
85
|
{$set: atom}
|
|
82
86
|
);
|
|
83
87
|
return response_update;
|
|
84
88
|
}
|
|
85
89
|
|
|
86
|
-
public async
|
|
87
|
-
|
|
90
|
+
public async delete_atom(where: t.Where<S>): Promise<mongodb.DeleteResult> {
|
|
91
|
+
where = _instance_object_id(where);
|
|
88
92
|
const response_delete = await this.collection.deleteOne(
|
|
89
|
-
|
|
93
|
+
where as mongodb.Filter<S>
|
|
90
94
|
);
|
|
91
95
|
return response_delete;
|
|
92
96
|
}
|
|
93
97
|
|
|
94
|
-
public async
|
|
95
|
-
|
|
98
|
+
public async delete_atoms(where: t.Where<S>): Promise<mongodb.DeleteResult> {
|
|
99
|
+
where = _instance_object_id(where);
|
|
96
100
|
const response_delete = await this.collection.deleteMany(
|
|
97
|
-
|
|
101
|
+
where as mongodb.Filter<S>
|
|
98
102
|
);
|
|
99
103
|
return response_delete;
|
|
100
104
|
}
|
|
@@ -114,19 +118,19 @@ function _string_id<T extends unknown>(item: T): StringId<T> {
|
|
|
114
118
|
return item as StringId<T>;
|
|
115
119
|
}
|
|
116
120
|
|
|
117
|
-
function _remove_id<A extends
|
|
121
|
+
function _remove_id<A extends t.mongodb_atom>(atom: Partial<A>): t.Shape<A> {
|
|
118
122
|
delete (atom as any)._id;
|
|
119
|
-
return atom as Shape<A>;
|
|
123
|
+
return atom as t.Shape<A>;
|
|
120
124
|
}
|
|
121
125
|
|
|
122
|
-
function _instance_object_id<A extends
|
|
123
|
-
for (let [key, value] of Object.entries(
|
|
126
|
+
function _instance_object_id<A extends t.mongodb_atom>(where: t.Where<A>): t.Where<A> {
|
|
127
|
+
for (let [key, value] of Object.entries(where)) {
|
|
124
128
|
if (key === '_id' && typeof value === 'string') {
|
|
125
|
-
|
|
129
|
+
where['_id'] = new ObjectId(value) as any;
|
|
126
130
|
}
|
|
127
131
|
if (value && typeof value === 'object') {
|
|
128
132
|
value = _instance_object_id(value);
|
|
129
133
|
}
|
|
130
134
|
}
|
|
131
|
-
return
|
|
135
|
+
return where;
|
|
132
136
|
}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
/**
|
|
2
|
+
*
|
|
3
|
+
* MySQL Atom client module
|
|
4
|
+
*
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
// import mysql from 'mysql2/promise';
|
|
8
|
+
|
|
9
|
+
// import {log} from './log/index';
|
|
10
|
+
|
|
11
|
+
import {MySQLClient} from '../client/mysql';
|
|
12
|
+
|
|
13
|
+
import * as sql from '../sql/index';
|
|
14
|
+
import * as t from '../types/index';
|
|
15
|
+
|
|
16
|
+
// export class MySQLAtomClient<S extends t.atom> implements t.AtomClient<S> {
|
|
17
|
+
|
|
18
|
+
export class MySQLAtomClient<S extends t.mysql_atom> {
|
|
19
|
+
|
|
20
|
+
constructor(
|
|
21
|
+
public client: MySQLClient,
|
|
22
|
+
public name: string
|
|
23
|
+
) {}
|
|
24
|
+
|
|
25
|
+
public async get_atom(where: t.Where<S>): Promise<S | null> {
|
|
26
|
+
const {query, map} = sql.param.compose_select({
|
|
27
|
+
table: this.name,
|
|
28
|
+
where,
|
|
29
|
+
limit: 'LIMIT 1',
|
|
30
|
+
});
|
|
31
|
+
const [rows] = await this.client.exe(query, map);
|
|
32
|
+
if (Array.isArray(rows) && rows[0]) {
|
|
33
|
+
return rows[0] as S;
|
|
34
|
+
}
|
|
35
|
+
return null;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
public async get_atoms({
|
|
39
|
+
where,
|
|
40
|
+
order,
|
|
41
|
+
limit,
|
|
42
|
+
}: {
|
|
43
|
+
where?: t.Where<S>;
|
|
44
|
+
order?: t.OrderBy;
|
|
45
|
+
limit?: string;
|
|
46
|
+
}): Promise<S[]> {
|
|
47
|
+
const {query, map} = sql.param.compose_select({
|
|
48
|
+
table: this.name,
|
|
49
|
+
where,
|
|
50
|
+
order,
|
|
51
|
+
limit,
|
|
52
|
+
});
|
|
53
|
+
const [rows] = await this.client.exe(query, map);
|
|
54
|
+
if (Array.isArray(rows)) {
|
|
55
|
+
return rows as S[];
|
|
56
|
+
}
|
|
57
|
+
return [];
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
public async put_atom(shape: Partial<S>): Promise<any> {
|
|
61
|
+
const columns:(keyof S)[] = [];
|
|
62
|
+
for(const [key, _] of Object.entries(shape)){
|
|
63
|
+
columns.push(key as keyof S);
|
|
64
|
+
}
|
|
65
|
+
const {query, query_records} = sql.param.compose_insert({
|
|
66
|
+
table: this.name,
|
|
67
|
+
columns,
|
|
68
|
+
records: [shape]
|
|
69
|
+
});
|
|
70
|
+
const response = await this.client.exe(query, query_records);
|
|
71
|
+
return response;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
public async put_atoms(shapes: Partial<S>[]): Promise<any> {
|
|
75
|
+
const columns:(keyof S)[] = [];
|
|
76
|
+
if(!Array.isArray(shapes) || shapes.length < 1 || !shapes[0]){
|
|
77
|
+
return null;
|
|
78
|
+
}
|
|
79
|
+
for(const [key, _] of Object.entries(shapes[0])){
|
|
80
|
+
columns.push(key as keyof S);
|
|
81
|
+
}
|
|
82
|
+
const {query, query_records} = sql.param.compose_insert({
|
|
83
|
+
table: this.name,
|
|
84
|
+
columns,
|
|
85
|
+
records: shapes
|
|
86
|
+
});
|
|
87
|
+
const response = await this.client.exe(query, query_records);
|
|
88
|
+
return response;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
public async update_atoms(
|
|
92
|
+
atom: Partial<S>,
|
|
93
|
+
where?: t.Where<S>,
|
|
94
|
+
): Promise<any> {
|
|
95
|
+
const {query, map} = sql.param.compose_update({
|
|
96
|
+
table: this.name,
|
|
97
|
+
where,
|
|
98
|
+
update: atom
|
|
99
|
+
});
|
|
100
|
+
const response = await this.client.exe(query, map);
|
|
101
|
+
return response;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
public async delete_atoms(where: t.Where<S>): Promise<any> {
|
|
105
|
+
const {query, map} = sql.param.compose_delete({
|
|
106
|
+
table: this.name,
|
|
107
|
+
where,
|
|
108
|
+
});
|
|
109
|
+
const response = await this.client.exe(query, map);
|
|
110
|
+
return response;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
*
|
|
3
|
+
* MongoDB Client module
|
|
4
|
+
*
|
|
5
|
+
* @packageDocumentation
|
|
6
|
+
*
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
import mongodb, {MongoClient, ServerApiVersion} from 'mongodb';
|
|
10
|
+
import {log} from '../log/index';
|
|
11
|
+
|
|
12
|
+
export type MongoDBClientParams = {
|
|
13
|
+
uri: string;
|
|
14
|
+
db_name: string;
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
export class MongoDBClient{
|
|
18
|
+
protected client: mongodb.MongoClient;
|
|
19
|
+
protected db: mongodb.Db;
|
|
20
|
+
constructor(params: MongoDBClientParams) {
|
|
21
|
+
this.client = new MongoClient(params.uri, {
|
|
22
|
+
serverApi: {
|
|
23
|
+
version: ServerApiVersion.v1,
|
|
24
|
+
strict: true,
|
|
25
|
+
deprecationErrors: true,
|
|
26
|
+
},
|
|
27
|
+
});
|
|
28
|
+
this.db = this.client.db(params.db_name);
|
|
29
|
+
}
|
|
30
|
+
public async connect() {
|
|
31
|
+
log.trace('Connecting...');
|
|
32
|
+
await this.client.connect();
|
|
33
|
+
log.trace('Connected.');
|
|
34
|
+
}
|
|
35
|
+
public async disconnect() {
|
|
36
|
+
log.trace('Disconnecting...');
|
|
37
|
+
await this.client.close();
|
|
38
|
+
log.trace('Disconnected.');
|
|
39
|
+
}
|
|
40
|
+
}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/**
|
|
2
|
+
*
|
|
3
|
+
* MySQL Client module
|
|
4
|
+
*
|
|
5
|
+
* @packageDocumentation
|
|
6
|
+
*
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
import mysql from 'mysql2/promise';
|
|
10
|
+
import {log} from '../log/index';
|
|
11
|
+
|
|
12
|
+
export type MySQLClientParams = {
|
|
13
|
+
uri: string;
|
|
14
|
+
use_pool?: boolean;
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
export class MySQLClient {
|
|
18
|
+
public pool?: mysql.Pool;
|
|
19
|
+
public main_connection: mysql.Connection | undefined;
|
|
20
|
+
protected uri: string;
|
|
21
|
+
constructor(params: MySQLClientParams) {
|
|
22
|
+
this.uri = params.uri;
|
|
23
|
+
if (params.use_pool === true) {
|
|
24
|
+
this.pool = mysql.createPool({
|
|
25
|
+
uri: params.uri,
|
|
26
|
+
namedPlaceholders: true,
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
public async exe(sql: string, values?: any) {
|
|
31
|
+
const with_values =
|
|
32
|
+
typeof values !== 'undefined'
|
|
33
|
+
? ` with values [${Object.entries(values)}]`
|
|
34
|
+
: '';
|
|
35
|
+
log.trace(`Excuting query '${sql}'${with_values}...`);
|
|
36
|
+
if (this.pool) {
|
|
37
|
+
return await this._execute_from_pool_connection(sql, values);
|
|
38
|
+
}
|
|
39
|
+
if (!this.main_connection) {
|
|
40
|
+
await this.connect();
|
|
41
|
+
}
|
|
42
|
+
const [rows, fields] = await this.main_connection!.execute(sql, values);
|
|
43
|
+
return [rows, fields];
|
|
44
|
+
}
|
|
45
|
+
public async connect() {
|
|
46
|
+
log.trace(`Connecting to MySQL database...`);
|
|
47
|
+
this.main_connection = await mysql.createConnection({
|
|
48
|
+
uri: this.uri,
|
|
49
|
+
namedPlaceholders: true,
|
|
50
|
+
});
|
|
51
|
+
log.debug(`Connected to MySQL database`);
|
|
52
|
+
}
|
|
53
|
+
public async disconnect() {
|
|
54
|
+
log.trace(`Disconnecting from MySQL database...`);
|
|
55
|
+
await this.main_connection?.end();
|
|
56
|
+
log.debug(`Disconnected from MySQL database`);
|
|
57
|
+
}
|
|
58
|
+
private async _execute_from_pool_connection(sql: string, values?: any) {
|
|
59
|
+
if (!this.pool) {
|
|
60
|
+
throw new Error(`Pool was not initialized`);
|
|
61
|
+
}
|
|
62
|
+
log.trace(`Retrieving pool connection...`);
|
|
63
|
+
const pool_connection = await this.pool.getConnection();
|
|
64
|
+
log.trace(`[${pool_connection.threadId}] Retrieved pool connection`);
|
|
65
|
+
const [rows, fields] = await pool_connection.execute(sql, values);
|
|
66
|
+
log.trace(`Releasing pool connection...`);
|
|
67
|
+
pool_connection.release();
|
|
68
|
+
log.trace(`[${pool_connection.threadId}] Released pool connection`);
|
|
69
|
+
return [rows, fields];
|
|
70
|
+
}
|
|
71
|
+
}
|
package/.uranio/src/client.ts
CHANGED
|
@@ -1,40 +1,43 @@
|
|
|
1
1
|
/**
|
|
2
2
|
*
|
|
3
|
-
*
|
|
3
|
+
* UranioClient module
|
|
4
4
|
*
|
|
5
5
|
* @packageDocumentation
|
|
6
6
|
*
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
|
-
import
|
|
10
|
-
import {
|
|
9
|
+
import {MongoDBClient, MongoDBClientParams} from './client/mongodb';
|
|
10
|
+
import {MySQLClient, MySQLClientParams} from './client/mysql';
|
|
11
11
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
12
|
+
import {MongoDBAtomClient} from './atom/mongodb';
|
|
13
|
+
import {MySQLAtomClient} from './atom/mysql';
|
|
14
|
+
|
|
15
|
+
import * as t from './types/index';
|
|
16
|
+
|
|
17
|
+
type MongoPippo = {
|
|
18
|
+
_id: t.primary<string>;
|
|
19
|
+
age: number;
|
|
20
|
+
name: string;
|
|
15
21
|
};
|
|
16
22
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
this.db = this.client.db(params.db_name);
|
|
29
|
-
}
|
|
30
|
-
public async connect() {
|
|
31
|
-
log.trace('Connecting...');
|
|
32
|
-
await this.client.connect();
|
|
33
|
-
log.trace('Connected.');
|
|
23
|
+
type MySQLPippo = {
|
|
24
|
+
id: t.primary<number>;
|
|
25
|
+
age: number;
|
|
26
|
+
name: string;
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
export class UranioMongoDBClient extends MongoDBClient {
|
|
30
|
+
public pippo: MongoDBAtomClient<MongoPippo>;
|
|
31
|
+
constructor(params: MongoDBClientParams) {
|
|
32
|
+
super(params);
|
|
33
|
+
this.pippo = new MongoDBAtomClient<MongoPippo>(this.db, 'pippo');
|
|
34
34
|
}
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
export class UranioMySQLClient extends MySQLClient {
|
|
38
|
+
public pippo: MySQLAtomClient<MySQLPippo>;
|
|
39
|
+
constructor(params: MySQLClientParams) {
|
|
40
|
+
super(params);
|
|
41
|
+
this.pippo = new MySQLAtomClient<MySQLPippo>(this, 'pippo');
|
|
39
42
|
}
|
|
40
43
|
}
|
package/.uranio/src/index.ts
CHANGED
|
@@ -6,7 +6,10 @@
|
|
|
6
6
|
*
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
|
-
export * from './types';
|
|
9
|
+
export * from './types/index';
|
|
10
10
|
|
|
11
|
-
import {
|
|
12
|
-
export {
|
|
11
|
+
import {UranioMongoDBClient as MongoDBClient} from './client';
|
|
12
|
+
export {MongoDBClient};
|
|
13
|
+
|
|
14
|
+
import {UranioMySQLClient as MySQLClient} from './client';
|
|
15
|
+
export {MySQLClient};
|