uranio 0.1.21 → 0.1.23
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/package.json +1 -1
- package/dist/cli/args/index.js +1 -0
- package/dist/cli/args/index.js.map +1 -1
- package/dist/cli/generate/index.d.ts +10 -0
- package/dist/cli/generate/index.js +126 -18
- package/dist/cli/generate/index.js.map +1 -1
- package/dist/cli/types.d.ts +6 -0
- package/dist/cli/types.js +6 -1
- package/dist/cli/types.js.map +1 -1
- package/package.json +1 -1
- package/src/cli/args/index.ts +1 -0
- package/src/cli/generate/index.ts +85 -13
- package/src/cli/types.ts +8 -0
package/.uranio/package.json
CHANGED
package/dist/cli/args/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/args/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/args/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,16 @@
|
|
|
2
2
|
*
|
|
3
3
|
* Generate index module
|
|
4
4
|
*
|
|
5
|
+
* `generate` command do the following:
|
|
6
|
+
*
|
|
7
|
+
* - copy the directory `.uranio` from its root directory into the
|
|
8
|
+
* `node_modules` of the project where the command is run.
|
|
9
|
+
*
|
|
10
|
+
* - After parsing the types with `plutonio` it updates the copied typescript
|
|
11
|
+
* files.
|
|
12
|
+
*
|
|
13
|
+
* - It then build the updated `.uranio` files as a typescript project.
|
|
14
|
+
*
|
|
5
15
|
* @packageDocumentation
|
|
6
16
|
*/
|
|
7
17
|
import * as t from '../types';
|
|
@@ -3,6 +3,16 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Generate index module
|
|
5
5
|
*
|
|
6
|
+
* `generate` command do the following:
|
|
7
|
+
*
|
|
8
|
+
* - copy the directory `.uranio` from its root directory into the
|
|
9
|
+
* `node_modules` of the project where the command is run.
|
|
10
|
+
*
|
|
11
|
+
* - After parsing the types with `plutonio` it updates the copied typescript
|
|
12
|
+
* files.
|
|
13
|
+
*
|
|
14
|
+
* - It then build the updated `.uranio` files as a typescript project.
|
|
15
|
+
*
|
|
6
16
|
* @packageDocumentation
|
|
7
17
|
*/
|
|
8
18
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
@@ -39,6 +49,7 @@ const plutonio_1 = __importDefault(require("plutonio"));
|
|
|
39
49
|
const index_1 = require("../log/index");
|
|
40
50
|
const utils = __importStar(require("../utils/index"));
|
|
41
51
|
const common = __importStar(require("../common/index"));
|
|
52
|
+
const t = __importStar(require("../types"));
|
|
42
53
|
async function generate(args) {
|
|
43
54
|
var _a;
|
|
44
55
|
const debug = ((_a = args.flags) === null || _a === void 0 ? void 0 : _a.verbose) === true;
|
|
@@ -56,7 +67,9 @@ exports.generate = generate;
|
|
|
56
67
|
function _resolve_generate_params(args) {
|
|
57
68
|
const root_path = common.resolve_param_root(args);
|
|
58
69
|
const tsconfig_path = _resolve_param_tsconfig_path(root_path, args);
|
|
70
|
+
const database = _resolve_param_database(args);
|
|
59
71
|
return {
|
|
72
|
+
database,
|
|
60
73
|
root: root_path,
|
|
61
74
|
tsconfig_path,
|
|
62
75
|
};
|
|
@@ -68,6 +81,20 @@ function _resolve_param_tsconfig_path(root_path, args) {
|
|
|
68
81
|
}
|
|
69
82
|
return `${root_path}/tsconfig.json`;
|
|
70
83
|
}
|
|
84
|
+
function _resolve_param_database(args) {
|
|
85
|
+
var _a;
|
|
86
|
+
if (args.flags && utils.valid.string((_a = args.flags) === null || _a === void 0 ? void 0 : _a['database'])) {
|
|
87
|
+
const db = args.flags['database'];
|
|
88
|
+
_assert_database(db);
|
|
89
|
+
return db;
|
|
90
|
+
}
|
|
91
|
+
return t.DATABASE.MONGODB;
|
|
92
|
+
}
|
|
93
|
+
function _assert_database(db) {
|
|
94
|
+
if (!Object.keys(t.DATABASE).includes(db)) {
|
|
95
|
+
throw new Error(`Invalid database flag value. Possible value are [${t.DATABASE}]`);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
71
98
|
async function _copy_dot_uranio(params) {
|
|
72
99
|
index_1.log.spinner.text(`Coping dot uranio...`);
|
|
73
100
|
const dot_path = `${params.root}/node_modules/uranio/.uranio`;
|
|
@@ -81,8 +108,10 @@ async function _copy_dot_uranio(params) {
|
|
|
81
108
|
async function _update_dot_uranio(params) {
|
|
82
109
|
index_1.log.spinner.text(`Updating dot uranio files...`);
|
|
83
110
|
const uranio_extended_interfaces = _get_uranio_extended_interfaces(params);
|
|
84
|
-
const text =
|
|
85
|
-
|
|
111
|
+
const text = params.database === t.DATABASE.MYSQL
|
|
112
|
+
? _generate_mysql_uranio_client_module_text(uranio_extended_interfaces)
|
|
113
|
+
: _generate_mongodb_uranio_client_module_text(uranio_extended_interfaces);
|
|
114
|
+
const uranio_client_path = `${params.root}/node_modules/.uranio/src/client.ts`;
|
|
86
115
|
fs_1.default.writeFileSync(uranio_client_path, text);
|
|
87
116
|
index_1.log.debug(`Updated dot uranio files`);
|
|
88
117
|
}
|
|
@@ -128,36 +157,77 @@ function _get_uranio_extended_interfaces(params) {
|
|
|
128
157
|
}
|
|
129
158
|
}
|
|
130
159
|
// log.trace(uranio_extended_interfaces);
|
|
160
|
+
_debug_interfaces(uranio_extended_interfaces);
|
|
131
161
|
return uranio_extended_interfaces;
|
|
132
162
|
}
|
|
133
|
-
function
|
|
163
|
+
function _generate_mongodb_uranio_client_module_text(interfaces) {
|
|
134
164
|
let text = '';
|
|
135
165
|
text += `/**\n`;
|
|
136
166
|
text += ` *\n`;
|
|
137
167
|
text += ` * [Auto-generated module by "uranio generate" command]\n`;
|
|
138
168
|
text += ` *\n`;
|
|
139
|
-
text += ` *
|
|
169
|
+
text += ` * Uranio MongoDBClient module\n`;
|
|
140
170
|
text += ` *\n`;
|
|
141
171
|
text += ` */\n`;
|
|
142
172
|
text += `\n`;
|
|
143
|
-
text += `import {
|
|
144
|
-
text += `import {
|
|
145
|
-
text += `import
|
|
173
|
+
text += `import {MongoDBClient, MongoDBClientParams} from './client/mongodb';`;
|
|
174
|
+
text += `import {MongoDBAtomClient} from './atom/mongodb';`;
|
|
175
|
+
text += `import * as t from './types/index';`;
|
|
176
|
+
text += `\n`;
|
|
177
|
+
text += _generate_mongodb_interface_definitions(interfaces);
|
|
178
|
+
text += _generate_mongodb_client(interfaces);
|
|
146
179
|
text += `\n`;
|
|
147
|
-
text
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
text
|
|
180
|
+
return text;
|
|
181
|
+
}
|
|
182
|
+
function _generate_mysql_uranio_client_module_text(interfaces) {
|
|
183
|
+
let text = '';
|
|
184
|
+
text += `/**\n`;
|
|
185
|
+
text += ` *\n`;
|
|
186
|
+
text += ` * [Auto-generated module by "uranio generate" command]\n`;
|
|
187
|
+
text += ` *\n`;
|
|
188
|
+
text += ` * Uranio MySQLClient module\n`;
|
|
189
|
+
text += ` *\n`;
|
|
190
|
+
text += ` */\n`;
|
|
191
|
+
text += `\n`;
|
|
192
|
+
text += `import {MongoDBClient, MongoDBClientParams} from './client/mongodb';`;
|
|
193
|
+
text += `import {MySQLClient, MySQLClientParams} from './client/mysql';`;
|
|
194
|
+
text += `\n`;
|
|
195
|
+
text += `import {MongoDBAtomClient} from './atom/mongodb';`;
|
|
196
|
+
text += `import {MySQLAtomClient} from './atom/mysql';`;
|
|
197
|
+
text += `\n`;
|
|
198
|
+
text += `import * as t from './types/index';`;
|
|
199
|
+
text += `\n`;
|
|
200
|
+
text += _generate_mysql_interface_definitions(interfaces);
|
|
201
|
+
text += _generate_mysql_client(interfaces);
|
|
202
|
+
text += `\n`;
|
|
203
|
+
return text;
|
|
204
|
+
}
|
|
205
|
+
function _generate_mongodb_client(interfaces) {
|
|
206
|
+
let text = '';
|
|
207
|
+
text += `export class UranioMongoDBClient extends MongoDBClient{\n`;
|
|
208
|
+
text += _generate_mongodb_client_attributes(interfaces);
|
|
209
|
+
text += ` constructor(params: MongoDBClientParams) {\n`;
|
|
210
|
+
text += ` super(params);\n`;
|
|
211
|
+
text += _generate_mongodb_client_initialization(interfaces);
|
|
212
|
+
text += ` }\n`;
|
|
213
|
+
text += `}\n`;
|
|
214
|
+
return text;
|
|
215
|
+
}
|
|
216
|
+
function _generate_mysql_client(interfaces) {
|
|
217
|
+
let text = '';
|
|
218
|
+
text += `export class UranioMySQLClient extends MySQLClient{\n`;
|
|
219
|
+
text += _generate_mysql_client_attributes(interfaces);
|
|
220
|
+
text += ` constructor(params: MySQLClientParams) {\n`;
|
|
151
221
|
text += ` super(params);\n`;
|
|
152
|
-
text +=
|
|
222
|
+
text += _generate_mysql_client_initialization(interfaces);
|
|
153
223
|
text += ` }\n`;
|
|
154
224
|
text += `}\n`;
|
|
155
225
|
return text;
|
|
156
226
|
}
|
|
157
|
-
function
|
|
227
|
+
function _generate_mongodb_interface_definitions(interfaces) {
|
|
158
228
|
let text = '';
|
|
159
229
|
for (const [name, inter] of Object.entries(interfaces)) {
|
|
160
|
-
text += `interface ${name} extends
|
|
230
|
+
text += `interface ${name} extends t.mongodb_atom {\n`;
|
|
161
231
|
if (!inter.properties) {
|
|
162
232
|
text += `}\n`;
|
|
163
233
|
text += `\n`;
|
|
@@ -171,19 +241,52 @@ function _generate_interface_definitions(interfaces) {
|
|
|
171
241
|
}
|
|
172
242
|
return text;
|
|
173
243
|
}
|
|
174
|
-
function
|
|
244
|
+
function _generate_mysql_interface_definitions(interfaces) {
|
|
245
|
+
let text = '';
|
|
246
|
+
for (const [name, inter] of Object.entries(interfaces)) {
|
|
247
|
+
text += `interface ${name} extends t.mysql_atom {\n`;
|
|
248
|
+
if (!inter.properties) {
|
|
249
|
+
text += `}\n`;
|
|
250
|
+
text += `\n`;
|
|
251
|
+
continue;
|
|
252
|
+
}
|
|
253
|
+
for (const [prop_name, prop] of Object.entries(inter.properties)) {
|
|
254
|
+
text += ` ${prop_name}: ${prop.primitive};\n`;
|
|
255
|
+
}
|
|
256
|
+
text += `}\n`;
|
|
257
|
+
text += `\n`;
|
|
258
|
+
}
|
|
259
|
+
return text;
|
|
260
|
+
}
|
|
261
|
+
function _generate_mongodb_client_attributes(interfaces) {
|
|
262
|
+
let text = '';
|
|
263
|
+
for (const [name, _inter] of Object.entries(interfaces)) {
|
|
264
|
+
let lc = _first_letter_lowercase(name);
|
|
265
|
+
text += ` public ${lc}: MongoDBAtomClient<${name}>;\n`;
|
|
266
|
+
}
|
|
267
|
+
return text;
|
|
268
|
+
}
|
|
269
|
+
function _generate_mongodb_client_initialization(interfaces) {
|
|
175
270
|
let text = '';
|
|
176
271
|
for (const [name, _inter] of Object.entries(interfaces)) {
|
|
177
272
|
let lc = _first_letter_lowercase(name);
|
|
178
|
-
text += `
|
|
273
|
+
text += ` this.${lc} = new MongoDBAtomClient<${name}>(this.db, '${lc}');\n`;
|
|
179
274
|
}
|
|
180
275
|
return text;
|
|
181
276
|
}
|
|
182
|
-
function
|
|
277
|
+
function _generate_mysql_client_attributes(interfaces) {
|
|
183
278
|
let text = '';
|
|
184
279
|
for (const [name, _inter] of Object.entries(interfaces)) {
|
|
185
280
|
let lc = _first_letter_lowercase(name);
|
|
186
|
-
text += `
|
|
281
|
+
text += ` public ${lc}: MySQLAtomClient<${name}>;\n`;
|
|
282
|
+
}
|
|
283
|
+
return text;
|
|
284
|
+
}
|
|
285
|
+
function _generate_mysql_client_initialization(interfaces) {
|
|
286
|
+
let text = '';
|
|
287
|
+
for (const [name, _inter] of Object.entries(interfaces)) {
|
|
288
|
+
let lc = _first_letter_lowercase(name);
|
|
289
|
+
text += ` this.${lc} = new MySQLAtomClient<${name}>(this.db, '${lc}');\n`;
|
|
187
290
|
}
|
|
188
291
|
return text;
|
|
189
292
|
}
|
|
@@ -193,4 +296,9 @@ function _first_letter_lowercase(str) {
|
|
|
193
296
|
}
|
|
194
297
|
return str.charAt(0).toLowerCase() + str.slice(1);
|
|
195
298
|
}
|
|
299
|
+
function _debug_interfaces(uranio_extended_interfaces) {
|
|
300
|
+
for (let [key, _value] of Object.entries(uranio_extended_interfaces)) {
|
|
301
|
+
index_1.log.info(`Processing Interface: ${key}`);
|
|
302
|
+
}
|
|
303
|
+
}
|
|
196
304
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/generate/index.ts"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/generate/index.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/types.d.ts
CHANGED
|
@@ -5,12 +5,18 @@
|
|
|
5
5
|
* @packageDocumentation
|
|
6
6
|
*/
|
|
7
7
|
type ObjectValue<T> = T[keyof T];
|
|
8
|
+
export declare const DATABASE: {
|
|
9
|
+
readonly MONGODB: "mongodb";
|
|
10
|
+
readonly MYSQL: "mysql";
|
|
11
|
+
};
|
|
12
|
+
export type Database = ObjectValue<typeof DATABASE>;
|
|
8
13
|
export declare const COMMAND: {
|
|
9
14
|
readonly GENERATE: "generate";
|
|
10
15
|
readonly VERSION: "version";
|
|
11
16
|
};
|
|
12
17
|
export type Command = ObjectValue<typeof COMMAND>;
|
|
13
18
|
export declare const FLAG: {
|
|
19
|
+
readonly DATABASE: "database";
|
|
14
20
|
readonly ROOT: "root";
|
|
15
21
|
readonly TSCONFIG_PATH: "tsconfig-path";
|
|
16
22
|
readonly VERBOSE: "verbose";
|
package/dist/cli/types.js
CHANGED
|
@@ -6,12 +6,17 @@
|
|
|
6
6
|
* @packageDocumentation
|
|
7
7
|
*/
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
-
exports.FLAG = exports.COMMAND = void 0;
|
|
9
|
+
exports.FLAG = exports.COMMAND = exports.DATABASE = void 0;
|
|
10
|
+
exports.DATABASE = {
|
|
11
|
+
MONGODB: 'mongodb',
|
|
12
|
+
MYSQL: 'mysql',
|
|
13
|
+
};
|
|
10
14
|
exports.COMMAND = {
|
|
11
15
|
GENERATE: 'generate',
|
|
12
16
|
VERSION: 'version',
|
|
13
17
|
};
|
|
14
18
|
exports.FLAG = {
|
|
19
|
+
DATABASE: 'database',
|
|
15
20
|
ROOT: 'root',
|
|
16
21
|
TSCONFIG_PATH: 'tsconfig-path',
|
|
17
22
|
VERBOSE: 'verbose',
|
package/dist/cli/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/cli/types.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAIU,QAAA,OAAO,GAAG;IACrB,QAAQ,EAAE,UAAU;IACpB,OAAO,EAAE,SAAS;CACV,CAAC;AAIE,QAAA,IAAI,GAAG;IAClB,IAAI,EAAE,MAAM;IACZ,aAAa,EAAE,eAAe;IAC9B,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;CACV,CAAC"}
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/cli/types.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAIU,QAAA,QAAQ,GAAG;IACtB,OAAO,EAAE,SAAS;IAClB,KAAK,EAAE,OAAO;CACN,CAAC;AAIE,QAAA,OAAO,GAAG;IACrB,QAAQ,EAAE,UAAU;IACpB,OAAO,EAAE,SAAS;CACV,CAAC;AAIE,QAAA,IAAI,GAAG;IAClB,QAAQ,EAAE,UAAU;IACpB,IAAI,EAAE,MAAM;IACZ,aAAa,EAAE,eAAe;IAC9B,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;CACV,CAAC"}
|
package/package.json
CHANGED
package/src/cli/args/index.ts
CHANGED
|
@@ -25,6 +25,7 @@ import * as t from '../types';
|
|
|
25
25
|
|
|
26
26
|
type GenerateParams = {
|
|
27
27
|
root: string;
|
|
28
|
+
database: t.Database;
|
|
28
29
|
tsconfig_path?: string;
|
|
29
30
|
};
|
|
30
31
|
|
|
@@ -44,7 +45,9 @@ export async function generate(args: t.Arguments) {
|
|
|
44
45
|
function _resolve_generate_params(args: t.Arguments): GenerateParams {
|
|
45
46
|
const root_path = common.resolve_param_root(args);
|
|
46
47
|
const tsconfig_path = _resolve_param_tsconfig_path(root_path, args);
|
|
48
|
+
const database = _resolve_param_database(args);
|
|
47
49
|
return {
|
|
50
|
+
database,
|
|
48
51
|
root: root_path,
|
|
49
52
|
tsconfig_path,
|
|
50
53
|
};
|
|
@@ -60,6 +63,23 @@ function _resolve_param_tsconfig_path(
|
|
|
60
63
|
return `${root_path}/tsconfig.json`;
|
|
61
64
|
}
|
|
62
65
|
|
|
66
|
+
function _resolve_param_database(args: t.Arguments): t.Database {
|
|
67
|
+
if (args.flags && utils.valid.string(args.flags?.['database'])) {
|
|
68
|
+
const db = args.flags['database'];
|
|
69
|
+
_assert_database(db);
|
|
70
|
+
return db;
|
|
71
|
+
}
|
|
72
|
+
return t.DATABASE.MONGODB;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
function _assert_database(db: unknown): asserts db is t.Database {
|
|
76
|
+
if (!Object.keys(t.DATABASE).includes(db as string)) {
|
|
77
|
+
throw new Error(
|
|
78
|
+
`Invalid database flag value. Possible value are [${t.DATABASE}]`
|
|
79
|
+
);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
|
|
63
83
|
async function _copy_dot_uranio(params: GenerateParams) {
|
|
64
84
|
log.spinner.text(`Coping dot uranio...`);
|
|
65
85
|
const dot_path = `${params.root}/node_modules/uranio/.uranio`;
|
|
@@ -74,7 +94,10 @@ async function _copy_dot_uranio(params: GenerateParams) {
|
|
|
74
94
|
async function _update_dot_uranio(params: GenerateParams) {
|
|
75
95
|
log.spinner.text(`Updating dot uranio files...`);
|
|
76
96
|
const uranio_extended_interfaces = _get_uranio_extended_interfaces(params);
|
|
77
|
-
const text =
|
|
97
|
+
const text =
|
|
98
|
+
params.database === t.DATABASE.MYSQL
|
|
99
|
+
? _generate_mysql_uranio_client_module_text(uranio_extended_interfaces)
|
|
100
|
+
: _generate_mongodb_uranio_client_module_text(uranio_extended_interfaces);
|
|
78
101
|
const uranio_client_path = `${params.root}/node_modules/.uranio/src/client.ts`;
|
|
79
102
|
fs.writeFileSync(uranio_client_path, text);
|
|
80
103
|
log.debug(`Updated dot uranio files`);
|
|
@@ -130,13 +153,37 @@ function _get_uranio_extended_interfaces(params: GenerateParams) {
|
|
|
130
153
|
return uranio_extended_interfaces;
|
|
131
154
|
}
|
|
132
155
|
|
|
133
|
-
function
|
|
156
|
+
function _generate_mongodb_uranio_client_module_text(
|
|
157
|
+
interfaces: plutonio.Interfaces
|
|
158
|
+
) {
|
|
159
|
+
let text = '';
|
|
160
|
+
text += `/**\n`;
|
|
161
|
+
text += ` *\n`;
|
|
162
|
+
text += ` * [Auto-generated module by "uranio generate" command]\n`;
|
|
163
|
+
text += ` *\n`;
|
|
164
|
+
text += ` * Uranio MongoDBClient module\n`;
|
|
165
|
+
text += ` *\n`;
|
|
166
|
+
text += ` */\n`;
|
|
167
|
+
text += `\n`;
|
|
168
|
+
text += `import {MongoDBClient, MongoDBClientParams} from './client/mongodb';`;
|
|
169
|
+
text += `import {MongoDBAtomClient} from './atom/mongodb';`;
|
|
170
|
+
text += `import * as t from './types/index';`;
|
|
171
|
+
text += `\n`;
|
|
172
|
+
text += _generate_mongodb_interface_definitions(interfaces);
|
|
173
|
+
text += _generate_mongodb_client(interfaces);
|
|
174
|
+
text += `\n`;
|
|
175
|
+
return text;
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
function _generate_mysql_uranio_client_module_text(
|
|
179
|
+
interfaces: plutonio.Interfaces
|
|
180
|
+
) {
|
|
134
181
|
let text = '';
|
|
135
182
|
text += `/**\n`;
|
|
136
183
|
text += ` *\n`;
|
|
137
184
|
text += ` * [Auto-generated module by "uranio generate" command]\n`;
|
|
138
185
|
text += ` *\n`;
|
|
139
|
-
text += ` *
|
|
186
|
+
text += ` * Uranio MySQLClient module\n`;
|
|
140
187
|
text += ` *\n`;
|
|
141
188
|
text += ` */\n`;
|
|
142
189
|
text += `\n`;
|
|
@@ -148,14 +195,13 @@ function _generate_uranio_client_module_text(interfaces: plutonio.Interfaces) {
|
|
|
148
195
|
text += `\n`;
|
|
149
196
|
text += `import * as t from './types/index';`;
|
|
150
197
|
text += `\n`;
|
|
151
|
-
text +=
|
|
152
|
-
text += _generate_mongodb_client(interfaces);
|
|
198
|
+
text += _generate_mysql_interface_definitions(interfaces);
|
|
153
199
|
text += _generate_mysql_client(interfaces);
|
|
154
200
|
text += `\n`;
|
|
155
201
|
return text;
|
|
156
202
|
}
|
|
157
203
|
|
|
158
|
-
function _generate_mongodb_client(interfaces: plutonio.Interfaces){
|
|
204
|
+
function _generate_mongodb_client(interfaces: plutonio.Interfaces) {
|
|
159
205
|
let text = '';
|
|
160
206
|
text += `export class UranioMongoDBClient extends MongoDBClient{\n`;
|
|
161
207
|
text += _generate_mongodb_client_attributes(interfaces);
|
|
@@ -167,7 +213,7 @@ function _generate_mongodb_client(interfaces: plutonio.Interfaces){
|
|
|
167
213
|
return text;
|
|
168
214
|
}
|
|
169
215
|
|
|
170
|
-
function _generate_mysql_client(interfaces: plutonio.Interfaces){
|
|
216
|
+
function _generate_mysql_client(interfaces: plutonio.Interfaces) {
|
|
171
217
|
let text = '';
|
|
172
218
|
text += `export class UranioMySQLClient extends MySQLClient{\n`;
|
|
173
219
|
text += _generate_mysql_client_attributes(interfaces);
|
|
@@ -179,10 +225,32 @@ function _generate_mysql_client(interfaces: plutonio.Interfaces){
|
|
|
179
225
|
return text;
|
|
180
226
|
}
|
|
181
227
|
|
|
182
|
-
function
|
|
228
|
+
function _generate_mongodb_interface_definitions(
|
|
229
|
+
interfaces: plutonio.Interfaces
|
|
230
|
+
) {
|
|
231
|
+
let text = '';
|
|
232
|
+
for (const [name, inter] of Object.entries(interfaces)) {
|
|
233
|
+
text += `interface ${name} extends t.mongodb_atom {\n`;
|
|
234
|
+
if (!inter.properties) {
|
|
235
|
+
text += `}\n`;
|
|
236
|
+
text += `\n`;
|
|
237
|
+
continue;
|
|
238
|
+
}
|
|
239
|
+
for (const [prop_name, prop] of Object.entries(inter.properties)) {
|
|
240
|
+
text += ` ${prop_name}: ${prop.primitive};\n`;
|
|
241
|
+
}
|
|
242
|
+
text += `}\n`;
|
|
243
|
+
text += `\n`;
|
|
244
|
+
}
|
|
245
|
+
return text;
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
function _generate_mysql_interface_definitions(
|
|
249
|
+
interfaces: plutonio.Interfaces
|
|
250
|
+
) {
|
|
183
251
|
let text = '';
|
|
184
252
|
for (const [name, inter] of Object.entries(interfaces)) {
|
|
185
|
-
text += `interface ${name} extends
|
|
253
|
+
text += `interface ${name} extends t.mysql_atom {\n`;
|
|
186
254
|
if (!inter.properties) {
|
|
187
255
|
text += `}\n`;
|
|
188
256
|
text += `\n`;
|
|
@@ -206,7 +274,9 @@ function _generate_mongodb_client_attributes(interfaces: plutonio.Interfaces) {
|
|
|
206
274
|
return text;
|
|
207
275
|
}
|
|
208
276
|
|
|
209
|
-
function _generate_mongodb_client_initialization(
|
|
277
|
+
function _generate_mongodb_client_initialization(
|
|
278
|
+
interfaces: plutonio.Interfaces
|
|
279
|
+
) {
|
|
210
280
|
let text = '';
|
|
211
281
|
for (const [name, _inter] of Object.entries(interfaces)) {
|
|
212
282
|
let lc = _first_letter_lowercase(name);
|
|
@@ -224,7 +294,9 @@ function _generate_mysql_client_attributes(interfaces: plutonio.Interfaces) {
|
|
|
224
294
|
return text;
|
|
225
295
|
}
|
|
226
296
|
|
|
227
|
-
function _generate_mysql_client_initialization(
|
|
297
|
+
function _generate_mysql_client_initialization(
|
|
298
|
+
interfaces: plutonio.Interfaces
|
|
299
|
+
) {
|
|
228
300
|
let text = '';
|
|
229
301
|
for (const [name, _inter] of Object.entries(interfaces)) {
|
|
230
302
|
let lc = _first_letter_lowercase(name);
|
|
@@ -240,8 +312,8 @@ function _first_letter_lowercase(str: string): string {
|
|
|
240
312
|
return str.charAt(0).toLowerCase() + str.slice(1);
|
|
241
313
|
}
|
|
242
314
|
|
|
243
|
-
function _debug_interfaces(uranio_extended_interfaces: plutonio.Interfaces){
|
|
244
|
-
for(let [key, _value] of Object.entries(uranio_extended_interfaces)){
|
|
315
|
+
function _debug_interfaces(uranio_extended_interfaces: plutonio.Interfaces) {
|
|
316
|
+
for (let [key, _value] of Object.entries(uranio_extended_interfaces)) {
|
|
245
317
|
log.info(`Processing Interface: ${key}`);
|
|
246
318
|
}
|
|
247
319
|
}
|
package/src/cli/types.ts
CHANGED
|
@@ -7,6 +7,13 @@
|
|
|
7
7
|
|
|
8
8
|
type ObjectValue<T> = T[keyof T];
|
|
9
9
|
|
|
10
|
+
export const DATABASE = {
|
|
11
|
+
MONGODB: 'mongodb',
|
|
12
|
+
MYSQL: 'mysql',
|
|
13
|
+
} as const;
|
|
14
|
+
|
|
15
|
+
export type Database = ObjectValue<typeof DATABASE>;
|
|
16
|
+
|
|
10
17
|
export const COMMAND = {
|
|
11
18
|
GENERATE: 'generate',
|
|
12
19
|
VERSION: 'version',
|
|
@@ -15,6 +22,7 @@ export const COMMAND = {
|
|
|
15
22
|
export type Command = ObjectValue<typeof COMMAND>;
|
|
16
23
|
|
|
17
24
|
export const FLAG = {
|
|
25
|
+
DATABASE: 'database',
|
|
18
26
|
ROOT: 'root',
|
|
19
27
|
TSCONFIG_PATH: 'tsconfig-path',
|
|
20
28
|
VERBOSE: 'verbose',
|