uranio 0.1.53 → 0.1.55

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.53"
31
+ "uranio": "0.1.55"
32
32
  }
33
33
  }
package/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  ![uranio logo](./img/uranio_logo_1440x220.png)
4
4
 
5
- Uranio is the lighest Typescript Object Document Mapper (ODM) for MongoDB and
5
+ Uranio is the lightest Typescript Object Document Mapper (ODM) for MongoDB and
6
6
  Object Relational Mapping (ORM) for MySQL.\
7
7
  It creates a client for querying collections/tabls in a database by just parsing
8
8
  the types in a repository.
@@ -20,7 +20,7 @@ yarn add uranio
20
20
 
21
21
  Run:
22
22
  ```bash
23
- uranio generate -d mondodb
23
+ uranio generate -d mongodb
24
24
  // or
25
25
  uranio generate -d mysql
26
26
  ```
@@ -50,13 +50,13 @@ import uranio from 'uranio';
50
50
  const uri = process.env.MONGO_DATABASE_URI || '';
51
51
  const db_name = process.env.MONGO_DATABASE_NAME || '';
52
52
 
53
- const urn = uranio.Client({uri, db_name});
53
+ const urn = uranio.MongoDBClient({uri, db_name});
54
54
 
55
55
  // Get all products
56
- const products = await urn.products.get_items({});
56
+ const products = await urn.products.get_atoms({});
57
57
 
58
58
  // Create a product
59
- await urn.products.put_item({
59
+ await urn.products.put_atom({
60
60
  title: 'Uranio mug',
61
61
  description: 'A radioactive mug for your coding breakfast',
62
62
  price: 4.99
@@ -141,8 +141,8 @@ async function _update_dot_uranio(params) {
141
141
  index_1.log.debug(`Generated index`);
142
142
  index_1.log.trace(`Generating types...`);
143
143
  const types_text = params.database === t.DATABASE.MYSQL
144
- ? _generate_mysql_uranio_types_module_text()
145
- : _generate_mongodb_uranio_types_module_text();
144
+ ? _generate_mysql_uranio_types_module_text(uranio_extended_interfaces, params.naming_convention)
145
+ : _generate_mongodb_uranio_types_module_text(uranio_extended_interfaces, params.naming_convention);
146
146
  const uranio_types_path = `${dot_uranio_src_path}/types/index.ts`;
147
147
  fs_1.default.writeFileSync(uranio_types_path, types_text);
148
148
  index_1.log.debug(`Generated types`);
@@ -194,7 +194,7 @@ function _get_uranio_extended_interfaces(params) {
194
194
  _debug_interfaces(uranio_extended_interfaces);
195
195
  return uranio_extended_interfaces;
196
196
  }
197
- function _generate_mongodb_uranio_types_module_text() {
197
+ function _generate_mongodb_uranio_types_module_text(interfaces, naming_convention) {
198
198
  let text = '';
199
199
  text += `/**\n`;
200
200
  text += ` *\n`;
@@ -207,9 +207,11 @@ function _generate_mongodb_uranio_types_module_text() {
207
207
  text += `import {mongodb_atom as atom, mongodb_id} from './atom';\n`;
208
208
  text += `export {atom, mongodb_id};\n`;
209
209
  text += `\n`;
210
+ text += _generate_atom_name_type(interfaces, naming_convention);
211
+ text += `\n`;
210
212
  return text;
211
213
  }
212
- function _generate_mysql_uranio_types_module_text() {
214
+ function _generate_mysql_uranio_types_module_text(interfaces, naming_convention) {
213
215
  let text = '';
214
216
  text += `/**\n`;
215
217
  text += ` *\n`;
@@ -222,6 +224,8 @@ function _generate_mysql_uranio_types_module_text() {
222
224
  text += `import {mysql_atom as atom} from './atom';\n`;
223
225
  text += `export {atom};\n`;
224
226
  text += `\n`;
227
+ text += _generate_atom_name_type(interfaces, naming_convention);
228
+ text += `\n`;
225
229
  return text;
226
230
  }
227
231
  function _generate_mongodb_uranio_index_module_text() {
@@ -296,6 +300,18 @@ function _generate_mysql_uranio_client_module_text(interfaces, naming_convention
296
300
  text += `\n`;
297
301
  return text;
298
302
  }
303
+ function _generate_atom_name_type(interfaces, naming_convention) {
304
+ let text = '';
305
+ text += `type ObjectValue<T> = T[keyof T];\n\n`;
306
+ text += `export const ATOM_NAME = {\n`;
307
+ for (const [name, _inter] of Object.entries(interfaces)) {
308
+ let lc = _process_collection_name(name, naming_convention);
309
+ text += ` ${lc.toUpperCase()}: '${lc}',\n`;
310
+ }
311
+ text += `} as const;\n\n`;
312
+ text += `export type AtomName = ObjectValue<typeof ATOM_NAME>;\n`;
313
+ return text;
314
+ }
299
315
  function _generate_mongodb_client(interfaces, naming_convention) {
300
316
  let text = '';
301
317
  text += `export class UranioMongoDBClient extends MongoDBClient{\n`;
@@ -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.53",
3
+ "version": "0.1.55",
4
4
  "description": "Uranio is a type-safe ODM for MongoDB",
5
5
  "main": "dist/index.js",
6
6
  "repository": {
@@ -61,7 +61,7 @@
61
61
  "inquirer": "^8.0.0",
62
62
  "mongodb": "^6.3.0",
63
63
  "mysql2": "^3.7.0",
64
- "plutonio": "^0.6.1",
64
+ "plutonio": "^0.6.3",
65
65
  "r4y": "^0.6.0",
66
66
  "yaml": "^2.3.4"
67
67
  }
@@ -136,8 +136,14 @@ async function _update_dot_uranio(params: t.GenerateParams) {
136
136
  log.trace(`Generating types...`);
137
137
  const types_text =
138
138
  params.database === t.DATABASE.MYSQL
139
- ? _generate_mysql_uranio_types_module_text()
140
- : _generate_mongodb_uranio_types_module_text();
139
+ ? _generate_mysql_uranio_types_module_text(
140
+ uranio_extended_interfaces,
141
+ params.naming_convention
142
+ )
143
+ : _generate_mongodb_uranio_types_module_text(
144
+ uranio_extended_interfaces,
145
+ params.naming_convention
146
+ );
141
147
 
142
148
  const uranio_types_path = `${dot_uranio_src_path}/types/index.ts`;
143
149
  fs.writeFileSync(uranio_types_path, types_text);
@@ -197,7 +203,10 @@ function _get_uranio_extended_interfaces(params: t.GenerateParams) {
197
203
  return uranio_extended_interfaces;
198
204
  }
199
205
 
200
- function _generate_mongodb_uranio_types_module_text() {
206
+ function _generate_mongodb_uranio_types_module_text(
207
+ interfaces: plutonio.Interfaces,
208
+ naming_convention: t.NamingConvention
209
+ ) {
201
210
  let text = '';
202
211
  text += `/**\n`;
203
212
  text += ` *\n`;
@@ -210,10 +219,15 @@ function _generate_mongodb_uranio_types_module_text() {
210
219
  text += `import {mongodb_atom as atom, mongodb_id} from './atom';\n`;
211
220
  text += `export {atom, mongodb_id};\n`;
212
221
  text += `\n`;
222
+ text += _generate_atom_name_type(interfaces, naming_convention);
223
+ text += `\n`;
213
224
  return text;
214
225
  }
215
226
 
216
- function _generate_mysql_uranio_types_module_text() {
227
+ function _generate_mysql_uranio_types_module_text(
228
+ interfaces: plutonio.Interfaces,
229
+ naming_convention: t.NamingConvention
230
+ ) {
217
231
  let text = '';
218
232
  text += `/**\n`;
219
233
  text += ` *\n`;
@@ -226,6 +240,8 @@ function _generate_mysql_uranio_types_module_text() {
226
240
  text += `import {mysql_atom as atom} from './atom';\n`;
227
241
  text += `export {atom};\n`;
228
242
  text += `\n`;
243
+ text += _generate_atom_name_type(interfaces, naming_convention);
244
+ text += `\n`;
229
245
  return text;
230
246
  }
231
247
 
@@ -311,6 +327,22 @@ function _generate_mysql_uranio_client_module_text(
311
327
  return text;
312
328
  }
313
329
 
330
+ function _generate_atom_name_type(
331
+ interfaces: plutonio.Interfaces,
332
+ naming_convention: t.NamingConvention
333
+ ) {
334
+ let text = '';
335
+ text += `type ObjectValue<T> = T[keyof T];\n\n`;
336
+ text += `export const ATOM_NAME = {\n`;
337
+ for (const [name, _inter] of Object.entries(interfaces)) {
338
+ let lc = _process_collection_name(name, naming_convention);
339
+ text += ` ${lc.toUpperCase()}: '${lc}',\n`;
340
+ }
341
+ text += `} as const;\n\n`;
342
+ text += `export type AtomName = ObjectValue<typeof ATOM_NAME>;\n`;
343
+ return text;
344
+ }
345
+
314
346
  function _generate_mongodb_client(
315
347
  interfaces: plutonio.Interfaces,
316
348
  naming_convention: t.NamingConvention
@@ -345,9 +377,9 @@ function _generate_mysql_client(
345
377
  }
346
378
 
347
379
  function _resolve_primitve(prop: plutonio.TypeAttributes): string {
348
- switch(prop.primitive){
380
+ switch (prop.primitive) {
349
381
  case plutonio.PRIMITIVE.UNRESOLVED: {
350
- if(prop.original.indexOf('.mongodb_id') !== -1){
382
+ if (prop.original.indexOf('.mongodb_id') !== -1) {
351
383
  return 'atom_types.mongodb_id';
352
384
  }
353
385
  return 'unknown';
@@ -359,7 +391,7 @@ function _resolve_primitve(prop: plutonio.TypeAttributes): string {
359
391
  return 'Date';
360
392
  }
361
393
  case plutonio.PRIMITIVE.ARRAY: {
362
- if(!prop.item){
394
+ if (!prop.item) {
363
395
  return 'any[]';
364
396
  }
365
397
  const primitive_item = _resolve_primitve(prop.item);
@@ -371,29 +403,29 @@ function _resolve_primitve(prop: plutonio.TypeAttributes): string {
371
403
  case plutonio.PRIMITIVE.NUMBER:
372
404
  case plutonio.PRIMITIVE.OBJECT:
373
405
  case plutonio.PRIMITIVE.STRING:
374
- case plutonio.PRIMITIVE.UNDEFINED:{
406
+ case plutonio.PRIMITIVE.UNDEFINED: {
375
407
  return prop.primitive;
376
408
  }
377
409
  default: {
378
410
  throw new exception.UranioCLIException(
379
411
  `Invalid Plutonio primitive. Evaluating '${prop.primitive}'`
380
- )
412
+ );
381
413
  }
382
414
  }
383
415
  }
384
416
 
385
- function _resolve_primitive_enum(prop: plutonio.TypeAttributes): string{
386
- const primitives:(string | number)[] = [];
387
- if(!prop.values){
417
+ function _resolve_primitive_enum(prop: plutonio.TypeAttributes): string {
418
+ const primitives: (string | number)[] = [];
419
+ if (!prop.values) {
388
420
  return 'unknown';
389
421
  }
390
- for(const value of prop.values){
391
- switch(typeof value){
392
- case 'string':{
422
+ for (const value of prop.values) {
423
+ switch (typeof value) {
424
+ case 'string': {
393
425
  primitives.push(`"${value}"`);
394
426
  break;
395
427
  }
396
- case 'number':{
428
+ case 'number': {
397
429
  primitives.push(value);
398
430
  break;
399
431
  }