uranio 0.1.40 → 0.1.41

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.40"
31
+ "uranio": "0.1.41"
32
32
  }
33
33
  }
@@ -126,8 +126,8 @@ async function _update_dot_uranio(params) {
126
126
  }
127
127
  index_1.log.trace(`Generating client...`);
128
128
  const client_text = params.database === t.DATABASE.MYSQL
129
- ? _generate_mysql_uranio_client_module_text(uranio_extended_interfaces)
130
- : _generate_mongodb_uranio_client_module_text(uranio_extended_interfaces);
129
+ ? _generate_mysql_uranio_client_module_text(uranio_extended_interfaces, params.naming_convention)
130
+ : _generate_mongodb_uranio_client_module_text(uranio_extended_interfaces, params.naming_convention);
131
131
  const uranio_client_path = `${dot_uranio_src_path}/client.ts`;
132
132
  fs_1.default.writeFileSync(uranio_client_path, client_text);
133
133
  index_1.log.debug(`Generated client`);
@@ -259,7 +259,7 @@ function _generate_mysql_uranio_index_module_text() {
259
259
  text += `\n`;
260
260
  return text;
261
261
  }
262
- function _generate_mongodb_uranio_client_module_text(interfaces) {
262
+ function _generate_mongodb_uranio_client_module_text(interfaces, naming_convention) {
263
263
  let text = '';
264
264
  text += `/**\n`;
265
265
  text += ` *\n`;
@@ -274,11 +274,11 @@ function _generate_mongodb_uranio_client_module_text(interfaces) {
274
274
  text += `import {mongodb_atom} from './types/atom';\n`;
275
275
  text += `\n`;
276
276
  text += _generate_mongodb_interface_definitions(interfaces);
277
- text += _generate_mongodb_client(interfaces);
277
+ text += _generate_mongodb_client(interfaces, naming_convention);
278
278
  text += `\n`;
279
279
  return text;
280
280
  }
281
- function _generate_mysql_uranio_client_module_text(interfaces) {
281
+ function _generate_mysql_uranio_client_module_text(interfaces, naming_convention) {
282
282
  let text = '';
283
283
  text += `/**\n`;
284
284
  text += ` *\n`;
@@ -293,28 +293,28 @@ function _generate_mysql_uranio_client_module_text(interfaces) {
293
293
  text += `import {mysql_atom} from './types/atom';\n`;
294
294
  text += `\n`;
295
295
  text += _generate_mysql_interface_definitions(interfaces);
296
- text += _generate_mysql_client(interfaces);
296
+ text += _generate_mysql_client(interfaces, naming_convention);
297
297
  text += `\n`;
298
298
  return text;
299
299
  }
300
- function _generate_mongodb_client(interfaces) {
300
+ function _generate_mongodb_client(interfaces, naming_convention) {
301
301
  let text = '';
302
302
  text += `export class UranioMongoDBClient extends MongoDBClient{\n`;
303
- text += _generate_mongodb_client_attributes(interfaces);
303
+ text += _generate_mongodb_client_attributes(interfaces, naming_convention);
304
304
  text += ` constructor(params: MongoDBClientParams) {\n`;
305
305
  text += ` super(params);\n`;
306
- text += _generate_mongodb_client_initialization(interfaces);
306
+ text += _generate_mongodb_client_initialization(interfaces, naming_convention);
307
307
  text += ` }\n`;
308
308
  text += `}\n`;
309
309
  return text;
310
310
  }
311
- function _generate_mysql_client(interfaces) {
311
+ function _generate_mysql_client(interfaces, naming_convention) {
312
312
  let text = '';
313
313
  text += `export class UranioMySQLClient extends MySQLClient{\n`;
314
- text += _generate_mysql_client_attributes(interfaces);
314
+ text += _generate_mysql_client_attributes(interfaces, naming_convention);
315
315
  text += ` constructor(params: MySQLClientParams) {\n`;
316
316
  text += ` super(params);\n`;
317
- text += _generate_mysql_client_initialization(interfaces);
317
+ text += _generate_mysql_client_initialization(interfaces, naming_convention);
318
318
  text += ` }\n`;
319
319
  text += `}\n`;
320
320
  return text;
@@ -346,20 +346,6 @@ function _generate_mysql_interface_definitions(interfaces) {
346
346
  continue;
347
347
  }
348
348
  for (const [prop_name, prop] of Object.entries(inter.properties)) {
349
- // if (prop.primitive === 'object' && prop.properties?.['___uranio']) {
350
- // if (prop.properties['___uranio'].original === "__uranio: 'primary';") {
351
- // const original = prop.original;
352
- // const match = original.match(/<([^>]+)>/);
353
- // if (match && match[1]) {
354
- // text += ` ${prop_name}: ${match[1]};\n`;
355
- // continue;
356
- // }
357
- // throw new exception.UranioCLIException(
358
- // `Cannot resolve uranio.primary for attribute ${prop_name}`
359
- // );
360
- // }
361
- // continue;
362
- // }
363
349
  text += ` ${prop_name}: ${prop.primitive};\n`;
364
350
  }
365
351
  text += `}\n`;
@@ -367,49 +353,81 @@ function _generate_mysql_interface_definitions(interfaces) {
367
353
  }
368
354
  return text;
369
355
  }
370
- function _generate_mongodb_client_attributes(interfaces) {
356
+ function _generate_mongodb_client_attributes(interfaces, naming_convention) {
371
357
  let text = '';
372
358
  for (const [name, _inter] of Object.entries(interfaces)) {
373
- let lc = _first_letter_lowercase(name);
359
+ let lc = _process_collection_name(name, naming_convention);
374
360
  text += ` public ${lc}: MongoDBAtomClient<${name}>;\n`;
375
361
  }
376
362
  return text;
377
363
  }
378
- function _generate_mongodb_client_initialization(interfaces) {
364
+ function _generate_mongodb_client_initialization(interfaces, naming_convention) {
379
365
  let text = '';
380
366
  for (const [name, _inter] of Object.entries(interfaces)) {
381
- let lc = _first_letter_lowercase(name);
367
+ let lc = _process_collection_name(name, naming_convention);
382
368
  // Different from MySQL since it pass `this.db` instead of `this`
383
369
  text += ` this.${lc} = new MongoDBAtomClient<${name}>(this.db, '${lc}');\n`;
384
370
  }
385
371
  return text;
386
372
  }
387
- function _generate_mysql_client_attributes(interfaces) {
373
+ function _generate_mysql_client_attributes(interfaces, naming_convention) {
388
374
  let text = '';
389
375
  for (const [name, _inter] of Object.entries(interfaces)) {
390
- let lc = _first_letter_lowercase(name);
376
+ let lc = _process_collection_name(name, naming_convention);
391
377
  text += ` public ${lc}: MySQLAtomClient<${name}>;\n`;
392
378
  }
393
379
  return text;
394
380
  }
395
- function _generate_mysql_client_initialization(interfaces) {
381
+ function _generate_mysql_client_initialization(interfaces, naming_convention) {
396
382
  let text = '';
397
383
  for (const [name, _inter] of Object.entries(interfaces)) {
398
- let lc = _first_letter_lowercase(name);
384
+ let lc = _process_collection_name(name, naming_convention);
399
385
  // Different from Mongo since it pass `this` instead of `this.db`
400
386
  text += ` this.${lc} = new MySQLAtomClient<${name}>(this, '${lc}');\n`;
401
387
  }
402
388
  return text;
403
389
  }
404
- function _first_letter_lowercase(str) {
405
- if (typeof str !== 'string' || str.length === 0) {
406
- return str;
390
+ function _process_collection_name(input, naming_convention) {
391
+ switch (naming_convention) {
392
+ case 'camelCase': {
393
+ return _pascal_to_camel(input);
394
+ }
395
+ case 'snake_case': {
396
+ return _pascal_to_snake(input);
397
+ }
398
+ default: {
399
+ return input;
400
+ }
407
401
  }
408
- return str.charAt(0).toLowerCase() + str.slice(1);
409
402
  }
410
403
  function _debug_interfaces(uranio_extended_interfaces) {
411
404
  for (let [key, _value] of Object.entries(uranio_extended_interfaces)) {
412
405
  index_1.log.info(`Processing Interface: ${key}`);
413
406
  }
414
407
  }
408
+ function _pascal_to_snake(input) {
409
+ if (!input || !input[0] || typeof input !== 'string') {
410
+ return input;
411
+ }
412
+ const result = [input[0].toLowerCase()];
413
+ for (let i = 1; i < input.length; i++) {
414
+ const char = input[i];
415
+ if (!char) {
416
+ continue;
417
+ }
418
+ if (char.toUpperCase() === char) {
419
+ result.push('_', char.toLowerCase());
420
+ }
421
+ else {
422
+ result.push(char);
423
+ }
424
+ }
425
+ return result.join('');
426
+ }
427
+ function _pascal_to_camel(input) {
428
+ if (!input || !input[0] || typeof input !== 'string') {
429
+ return input;
430
+ }
431
+ return input[0].toLowerCase() + input.slice(1);
432
+ }
415
433
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/generate/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,4CAAoB;AACpB,8CAAsB;AACtB,wDAAgC;AAChC,wCAAiC;AACjC,sDAAwC;AACxC,wDAA0C;AAC1C,4CAA8B;AAEvB,KAAK,UAAU,QAAQ,CAAC,IAAiB;IAC9C,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IAC3B,MAAM,MAAM,GAAG,wBAAwB,CAAC,IAAI,CAAC,CAAC;IAC9C,WAAG,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IACpB,WAAG,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAClC,MAAM,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAC/B,MAAM,kBAAkB,CAAC,MAAM,CAAC,CAAC;IACjC,MAAM,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAChC,WAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IACnB,WAAG,CAAC,OAAO,CAAC,sCAAsC,CAAC,CAAC;AACtD,CAAC;AAVD,4BAUC;AAED,SAAS,wBAAwB,CAAC,IAAiB;IACjD,MAAM,SAAS,GAAG,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAClD,MAAM,aAAa,GAAG,4BAA4B,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IACpE,MAAM,WAAW,GAAG,MAAM,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;IACvD,IAAI,iBAAiB,GAAG,WAAW,CAAC,iBAAiB,CAAC;IACtD,IAAG,CAAC,iBAAiB,EAAC,CAAC;QACrB,iBAAiB,GAAG,gCAAgC,CAAC,IAAI,CAAC,CAAC;IAC7D,CAAC;IACD,IAAI,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC;IACpC,IAAG,CAAC,QAAQ,EAAC,CAAC;QACZ,QAAQ,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;IACD,OAAO;QACL,QAAQ;QACR,iBAAiB;QACjB,IAAI,EAAE,SAAS;QACf,aAAa;KACd,CAAC;AACJ,CAAC;AAED,SAAS,4BAA4B,CACnC,SAAiB,EACjB,IAAiB;;IAEjB,IAAI,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,MAAA,IAAI,CAAC,KAAK,0CAAG,eAAe,CAAC,CAAC,EAAE,CAAC;QACpE,OAAO,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IACrC,CAAC;IACD,OAAO,GAAG,SAAS,gBAAgB,CAAC;AACtC,CAAC;AAED,SAAS,uBAAuB,CAAC,IAAiB;;IAChD,IAAI,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,MAAA,IAAI,CAAC,KAAK,0CAAG,UAAU,CAAC,CAAC,EAAE,CAAC;QAC/D,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAClC,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;QAC3B,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,OAAO,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC;AAC5B,CAAC;AAED,SAAS,gCAAgC,CAAC,IAAiB;;IACzD,IAAI,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,MAAA,IAAI,CAAC,KAAK,0CAAG,mBAAmB,CAAC,CAAC,EAAE,CAAC;QACxE,MAAM,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAC1D,MAAM,CAAC,wBAAwB,CAAC,iBAAiB,CAAC,CAAC;QACnD,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IACD,OAAO,CAAC,CAAC,iBAAiB,CAAC,UAAU,CAAC;AACxC,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAC,MAAwB;IACtD,WAAG,CAAC,OAAO,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;IACzC,MAAM,QAAQ,GAAG,GAAG,MAAM,CAAC,IAAI,8BAA8B,CAAC;IAC9D,MAAM,gBAAgB,GAAG,GAAG,MAAM,CAAC,IAAI,uBAAuB,CAAC;IAC/D,WAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IACnB,MAAM,aAAG,CAAC,KAAK,CAAC,UAAU,gBAAgB,EAAE,CAAC,CAAC;IAC9C,MAAM,aAAG,CAAC,KAAK,CAAC,UAAU,QAAQ,IAAI,gBAAgB,EAAE,CAAC,CAAC;IAC1D,WAAG,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IACpB,WAAG,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;AAC3C,CAAC;AAED,KAAK,UAAU,kBAAkB,CAAC,MAAwB;IACxD,WAAG,CAAC,OAAO,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;IACjD,MAAM,mBAAmB,GAAG,GAAG,MAAM,CAAC,IAAI,2BAA2B,CAAC;IACtE,MAAM,0BAA0B,GAAG,+BAA+B,CAAC,MAAM,CAAC,CAAC;IAE3E,IAAG,MAAM,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC,MAAM,GAAG,CAAC,EAAC,CAAC;QACxD,WAAG,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QACnC,OAAO;IACT,CAAC;IAED,WAAG,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAClC,MAAM,WAAW,GACf,MAAM,CAAC,QAAQ,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAK;QAClC,CAAC,CAAC,yCAAyC,CAAC,0BAA0B,CAAC;QACvE,CAAC,CAAC,2CAA2C,CAAC,0BAA0B,CAAC,CAAC;IAE9E,MAAM,kBAAkB,GAAG,GAAG,mBAAmB,YAAY,CAAC;IAC9D,YAAE,CAAC,aAAa,CAAC,kBAAkB,EAAE,WAAW,CAAC,CAAC;IAClD,WAAG,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;IAE9B,WAAG,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;IACjC,MAAM,UAAU,GACd,MAAM,CAAC,QAAQ,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAK;QAClC,CAAC,CAAC,wCAAwC,EAAE;QAC5C,CAAC,CAAC,0CAA0C,EAAE,CAAC;IAEnD,MAAM,iBAAiB,GAAG,GAAG,mBAAmB,WAAW,CAAC;IAC5D,YAAE,CAAC,aAAa,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC;IAChD,WAAG,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;IAE7B,WAAG,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;IACjC,MAAM,UAAU,GACd,MAAM,CAAC,QAAQ,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAK;QAClC,CAAC,CAAC,wCAAwC,EAAE;QAC5C,CAAC,CAAC,0CAA0C,EAAE,CAAC;IAEnD,MAAM,iBAAiB,GAAG,GAAG,mBAAmB,iBAAiB,CAAC;IAClE,YAAE,CAAC,aAAa,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC;IAChD,WAAG,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;IAE7B,WAAG,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;AACxC,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,MAAwB;IACvD,WAAG,CAAC,OAAO,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;IACpD,MAAM,+BAA+B,GAAG,GAAG,MAAM,CAAC,IAAI,qCAAqC,CAAC;IAC5F,4EAA4E;IAC5E,MAAM,aAAG,CAAC,KAAK,CAAC,qBAAqB,+BAA+B,EAAE,CAAC,CAAC;IACxE,WAAG,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;AAC3C,CAAC;AAED,SAAS,sBAAsB,CAAC,MAAwB;IACtD,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;QAC7C,OAAO,MAAM,CAAC,aAAa,CAAC;IAC9B,CAAC;IACD,OAAO,GAAG,MAAM,CAAC,IAAI,gBAAgB,CAAC;AACxC,CAAC;AAED,SAAS,+BAA+B,CAAC,MAAwB;IAC/D,MAAM,aAAa,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAC;IACrD,MAAM,OAAO,GAAG,kBAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAC7C,sBAAsB;IACtB,MAAM,0BAA0B,GAAwB,EAAE,CAAC;IAC3D,KAAK,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAC7D,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;QACrC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,UAAU,IAAI,CAAC,OAAO,EAAE,CAAC;YAC5B,SAAS;QACX,CAAC;QACD,IAAI,aAAa,CAAC;QAClB,KAAK,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YACnD,IAAI,GAAG,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;gBAC5B,aAAa,GAAG,GAAG,CAAC,MAAM,CAAC;gBAC3B,MAAM;YACR,CAAC;QACH,CAAC;QACD,MAAM,eAAe,GAAG,GAAG,aAAa,OAAO,CAAC;QAChD,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;YACvD,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;gBAC/D,SAAS;YACX,CAAC;YACD,IAAI,IAAI,IAAI,0BAA0B,EAAE,CAAC;gBACvC,WAAG,CAAC,IAAI,CACN,+BAA+B,IAAI,iCAAiC,CACrE,CAAC;YACJ,CAAC;YACD,0BAA0B,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;QAC3C,CAAC;IACH,CAAC;IACD,yCAAyC;IACzC,iBAAiB,CAAC,0BAA0B,CAAC,CAAC;IAC9C,OAAO,0BAA0B,CAAC;AACpC,CAAC;AAED,SAAS,0CAA0C;IACjD,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,IAAI,IAAI,OAAO,CAAC;IAChB,IAAI,IAAI,MAAM,CAAC;IACf,IAAI,IAAI,2DAA2D,CAAC;IACpE,IAAI,IAAI,MAAM,CAAC;IACf,IAAI,IAAI,yBAAyB,CAAC;IAClC,IAAI,IAAI,MAAM,CAAC;IACf,IAAI,IAAI,OAAO,CAAC;IAChB,IAAI,IAAI,IAAI,CAAC;IACb,IAAI,IAAI,gDAAgD,CAAC;IACzD,IAAI,IAAI,mCAAmC,CAAC;IAC5C,IAAI,IAAI,2BAA2B,CAAC;IACpC,IAAI,IAAI,IAAI,CAAC;IACb,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,wCAAwC;IAC/C,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,IAAI,IAAI,OAAO,CAAC;IAChB,IAAI,IAAI,MAAM,CAAC;IACf,IAAI,IAAI,2DAA2D,CAAC;IACpE,IAAI,IAAI,MAAM,CAAC;IACf,IAAI,IAAI,yBAAyB,CAAC;IAClC,IAAI,IAAI,MAAM,CAAC;IACf,IAAI,IAAI,OAAO,CAAC;IAChB,IAAI,IAAI,IAAI,CAAC;IACb,IAAI,IAAI,8CAA8C,CAAC;IACvD,IAAI,IAAI,mCAAmC,CAAC;IAC5C,IAAI,IAAI,2BAA2B,CAAC;IACpC,IAAI,IAAI,IAAI,CAAC;IACb,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,0CAA0C;IACjD,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,IAAI,IAAI,OAAO,CAAC;IAChB,IAAI,IAAI,MAAM,CAAC;IACf,IAAI,IAAI,2DAA2D,CAAC;IACpE,IAAI,IAAI,MAAM,CAAC;IACf,IAAI,IAAI,mBAAmB,CAAC;IAC5B,IAAI,IAAI,MAAM,CAAC;IACf,IAAI,IAAI,OAAO,CAAC;IAChB,IAAI,IAAI,IAAI,CAAC;IACb,IAAI,IAAI,kCAAkC,CAAC;IAC3C,IAAI,IAAI,IAAI,CAAC;IACb,IAAI,IAAI,kEAAkE,CAAC;IAC3E,IAAI,IAAI,yBAAyB,CAAC;IAClC,IAAI,IAAI,IAAI,CAAC;IACb,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,wCAAwC;IAC/C,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,IAAI,IAAI,OAAO,CAAC;IAChB,IAAI,IAAI,MAAM,CAAC;IACf,IAAI,IAAI,2DAA2D,CAAC;IACpE,IAAI,IAAI,MAAM,CAAC;IACf,IAAI,IAAI,mBAAmB,CAAC;IAC5B,IAAI,IAAI,MAAM,CAAC;IACf,IAAI,IAAI,OAAO,CAAC;IAChB,IAAI,IAAI,IAAI,CAAC;IACb,IAAI,IAAI,kCAAkC,CAAC;IAC3C,IAAI,IAAI,IAAI,CAAC;IACb,IAAI,IAAI,8DAA8D,CAAC;IACvE,IAAI,IAAI,uBAAuB,CAAC;IAChC,IAAI,IAAI,IAAI,CAAC;IACb,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,2CAA2C,CAClD,UAA+B;IAE/B,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,IAAI,IAAI,OAAO,CAAC;IAChB,IAAI,IAAI,MAAM,CAAC;IACf,IAAI,IAAI,2DAA2D,CAAC;IACpE,IAAI,IAAI,MAAM,CAAC;IACf,IAAI,IAAI,kCAAkC,CAAC;IAC3C,IAAI,IAAI,MAAM,CAAC;IACf,IAAI,IAAI,OAAO,CAAC;IAChB,IAAI,IAAI,IAAI,CAAC;IACb,IAAI,IAAI,wEAAwE,CAAC;IACjF,IAAI,IAAI,qDAAqD,CAAC;IAC9D,IAAI,IAAI,8CAA8C,CAAC;IACvD,IAAI,IAAI,IAAI,CAAC;IACb,IAAI,IAAI,uCAAuC,CAAC,UAAU,CAAC,CAAC;IAC5D,IAAI,IAAI,wBAAwB,CAAC,UAAU,CAAC,CAAC;IAC7C,IAAI,IAAI,IAAI,CAAC;IACb,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,yCAAyC,CAChD,UAA+B;IAE/B,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,IAAI,IAAI,OAAO,CAAC;IAChB,IAAI,IAAI,MAAM,CAAC;IACf,IAAI,IAAI,2DAA2D,CAAC;IACpE,IAAI,IAAI,MAAM,CAAC;IACf,IAAI,IAAI,gCAAgC,CAAC;IACzC,IAAI,IAAI,MAAM,CAAC;IACf,IAAI,IAAI,OAAO,CAAC;IAChB,IAAI,IAAI,IAAI,CAAC;IACb,IAAI,IAAI,kEAAkE,CAAC;IAC3E,IAAI,IAAI,iDAAiD,CAAC;IAC1D,IAAI,IAAI,4CAA4C,CAAC;IACrD,IAAI,IAAI,IAAI,CAAC;IACb,IAAI,IAAI,qCAAqC,CAAC,UAAU,CAAC,CAAC;IAC1D,IAAI,IAAI,sBAAsB,CAAC,UAAU,CAAC,CAAC;IAC3C,IAAI,IAAI,IAAI,CAAC;IACb,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,wBAAwB,CAAC,UAA+B;IAC/D,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,IAAI,IAAI,2DAA2D,CAAC;IACpE,IAAI,IAAI,mCAAmC,CAAC,UAAU,CAAC,CAAC;IACxD,IAAI,IAAI,gDAAgD,CAAC;IACzD,IAAI,IAAI,sBAAsB,CAAC;IAC/B,IAAI,IAAI,uCAAuC,CAAC,UAAU,CAAC,CAAC;IAC5D,IAAI,IAAI,OAAO,CAAC;IAChB,IAAI,IAAI,KAAK,CAAC;IACd,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,sBAAsB,CAAC,UAA+B;IAC7D,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,IAAI,IAAI,uDAAuD,CAAC;IAChE,IAAI,IAAI,iCAAiC,CAAC,UAAU,CAAC,CAAC;IACtD,IAAI,IAAI,8CAA8C,CAAC;IACvD,IAAI,IAAI,sBAAsB,CAAC;IAC/B,IAAI,IAAI,qCAAqC,CAAC,UAAU,CAAC,CAAC;IAC1D,IAAI,IAAI,OAAO,CAAC;IAChB,IAAI,IAAI,KAAK,CAAC;IACd,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,uCAAuC,CAC9C,UAA+B;IAE/B,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QACvD,IAAI,IAAI,aAAa,IAAI,2BAA2B,CAAC;QACrD,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;YACtB,IAAI,IAAI,KAAK,CAAC;YACd,IAAI,IAAI,IAAI,CAAC;YACb,SAAS;QACX,CAAC;QACD,KAAK,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;YACjE,IAAI,IAAI,KAAK,SAAS,KAAK,IAAI,CAAC,SAAS,KAAK,CAAC;QACjD,CAAC;QACD,IAAI,IAAI,KAAK,CAAC;QACd,IAAI,IAAI,IAAI,CAAC;IACf,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,qCAAqC,CAC5C,UAA+B;IAE/B,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QACvD,IAAI,IAAI,aAAa,IAAI,yBAAyB,CAAC;QACnD,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;YACtB,IAAI,IAAI,KAAK,CAAC;YACd,IAAI,IAAI,IAAI,CAAC;YACb,SAAS;QACX,CAAC;QACD,KAAK,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;YACjE,uEAAuE;YACvE,4EAA4E;YAC5E,sCAAsC;YACtC,iDAAiD;YACjD,+BAA+B;YAC/B,kDAAkD;YAClD,kBAAkB;YAClB,QAAQ;YACR,8CAA8C;YAC9C,mEAAmE;YACnE,SAAS;YACT,MAAM;YACN,cAAc;YACd,IAAI;YACJ,IAAI,IAAI,KAAK,SAAS,KAAK,IAAI,CAAC,SAAS,KAAK,CAAC;QACjD,CAAC;QACD,IAAI,IAAI,KAAK,CAAC;QACd,IAAI,IAAI,IAAI,CAAC;IACf,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,mCAAmC,CAAC,UAA+B;IAC1E,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QACxD,IAAI,EAAE,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,IAAI,YAAY,EAAE,uBAAuB,IAAI,MAAM,CAAC;IAC1D,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,uCAAuC,CAC9C,UAA+B;IAE/B,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QACxD,IAAI,EAAE,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAC;QACvC,iEAAiE;QACjE,IAAI,IAAI,YAAY,EAAE,4BAA4B,IAAI,eAAe,EAAE,OAAO,CAAC;IACjF,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,iCAAiC,CAAC,UAA+B;IACxE,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QACxD,IAAI,EAAE,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,IAAI,YAAY,EAAE,qBAAqB,IAAI,MAAM,CAAC;IACxD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,qCAAqC,CAC5C,UAA+B;IAE/B,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QACxD,IAAI,EAAE,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAC;QACvC,iEAAiE;QACjE,IAAI,IAAI,YAAY,EAAE,0BAA0B,IAAI,YAAY,EAAE,OAAO,CAAC;IAC5E,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,uBAAuB,CAAC,GAAW;IAC1C,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChD,OAAO,GAAG,CAAC;IACb,CAAC;IACD,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACpD,CAAC;AAED,SAAS,iBAAiB,CAAC,0BAA+C;IACxE,KAAK,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,0BAA0B,CAAC,EAAE,CAAC;QACrE,WAAG,CAAC,IAAI,CAAC,yBAAyB,GAAG,EAAE,CAAC,CAAC;IAC3C,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/generate/index.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@
6
6
  *
7
7
  * - ask for the following data:
8
8
  * - type of database: 'mongodb' | 'mysql'
9
- * - type of naming convention: 'snake_case' | 'camelCase' | 'same'
9
+ * - type of naming convention: 'snake_case' | 'camelCase' | 'PascalCase'
10
10
  *
11
11
  * - create a yaml file in the root directory of the project with the selected
12
12
  * data.
@@ -7,7 +7,7 @@
7
7
  *
8
8
  * - ask for the following data:
9
9
  * - type of database: 'mongodb' | 'mysql'
10
- * - type of naming convention: 'snake_case' | 'camelCase' | 'same'
10
+ * - type of naming convention: 'snake_case' | 'camelCase' | 'PascalCase'
11
11
  *
12
12
  * - create a yaml file in the root directory of the project with the selected
13
13
  * data.
@@ -35,7 +35,7 @@ export type Arguments = {
35
35
  export declare const NAMING_CONVENTION: {
36
36
  readonly SNAKE_CASE: "snake_case";
37
37
  readonly CAMEL_CASE: "camelCase";
38
- readonly SAME: "same";
38
+ readonly PASCAL: "PascalCase";
39
39
  };
40
40
  export type NamingConvention = ObjectValue<typeof NAMING_CONVENTION>;
41
41
  export type InitParams = {
package/dist/cli/types.js CHANGED
@@ -27,6 +27,6 @@ exports.COMMAND = {
27
27
  exports.NAMING_CONVENTION = {
28
28
  SNAKE_CASE: 'snake_case',
29
29
  CAMEL_CASE: 'camelCase',
30
- SAME: 'same',
30
+ PASCAL: 'PascalCase',
31
31
  };
32
32
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/cli/types.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAIU,QAAA,IAAI,GAAG;IAClB,QAAQ,EAAE,UAAU;IACpB,gBAAgB,EAAE,mBAAmB;IACrC,IAAI,EAAE,MAAM;IACZ,aAAa,EAAE,eAAe;IAC9B,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;CACV,CAAC;AAQE,QAAA,QAAQ,GAAG;IACtB,OAAO,EAAE,SAAS;IAClB,KAAK,EAAE,OAAO;CACN,CAAC;AAIE,QAAA,OAAO,GAAG;IACrB,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,UAAU;IACpB,OAAO,EAAE,SAAS;CACV,CAAC;AASE,QAAA,iBAAiB,GAAG;IAC/B,UAAU,EAAE,YAAY;IACxB,UAAU,EAAE,WAAW;IACvB,IAAI,EAAE,MAAM;CACJ,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/cli/types.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAIU,QAAA,IAAI,GAAG;IAClB,QAAQ,EAAE,UAAU;IACpB,gBAAgB,EAAE,mBAAmB;IACrC,IAAI,EAAE,MAAM;IACZ,aAAa,EAAE,eAAe;IAC9B,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;CACV,CAAC;AAQE,QAAA,QAAQ,GAAG;IACtB,OAAO,EAAE,SAAS;IAClB,KAAK,EAAE,OAAO;CACN,CAAC;AAIE,QAAA,OAAO,GAAG;IACrB,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,UAAU;IACpB,OAAO,EAAE,SAAS;CACV,CAAC;AASE,QAAA,iBAAiB,GAAG;IAC/B,UAAU,EAAE,YAAY;IACxB,UAAU,EAAE,WAAW;IACvB,MAAM,EAAE,YAAY;CACZ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "uranio",
3
- "version": "0.1.40",
3
+ "version": "0.1.41",
4
4
  "description": "Uranio is a type-safe ODM for MongoDB",
5
5
  "main": "dist/index.js",
6
6
  "repository": {
@@ -40,11 +40,11 @@ function _resolve_generate_params(args: t.Arguments): t.GenerateParams {
40
40
  const tsconfig_path = _resolve_param_tsconfig_path(root_path, args);
41
41
  const yaml_params = common.read_yaml_params(root_path);
42
42
  let naming_convention = yaml_params.naming_convention;
43
- if(!naming_convention){
43
+ if (!naming_convention) {
44
44
  naming_convention = _resolve_param_naming_convention(args);
45
45
  }
46
46
  let database = yaml_params.database;
47
- if(!database){
47
+ if (!database) {
48
48
  database = _resolve_param_database(args);
49
49
  }
50
50
  return {
@@ -74,7 +74,9 @@ function _resolve_param_database(args: t.Arguments): t.Database {
74
74
  return t.DATABASE.MONGODB;
75
75
  }
76
76
 
77
- function _resolve_param_naming_convention(args: t.Arguments): t.NamingConvention {
77
+ function _resolve_param_naming_convention(
78
+ args: t.Arguments
79
+ ): t.NamingConvention {
78
80
  if (args.flags && utils.valid.string(args.flags?.['naming-convention'])) {
79
81
  const naming_convention = args.flags['naming-convention'];
80
82
  common.assert_naming_convention(naming_convention);
@@ -99,7 +101,7 @@ async function _update_dot_uranio(params: t.GenerateParams) {
99
101
  const dot_uranio_src_path = `${params.root}/node_modules/.uranio/src`;
100
102
  const uranio_extended_interfaces = _get_uranio_extended_interfaces(params);
101
103
 
102
- if(Object.entries(uranio_extended_interfaces).length < 1){
104
+ if (Object.entries(uranio_extended_interfaces).length < 1) {
103
105
  log.info(`No interface was found`);
104
106
  return;
105
107
  }
@@ -107,8 +109,14 @@ async function _update_dot_uranio(params: t.GenerateParams) {
107
109
  log.trace(`Generating client...`);
108
110
  const client_text =
109
111
  params.database === t.DATABASE.MYSQL
110
- ? _generate_mysql_uranio_client_module_text(uranio_extended_interfaces)
111
- : _generate_mongodb_uranio_client_module_text(uranio_extended_interfaces);
112
+ ? _generate_mysql_uranio_client_module_text(
113
+ uranio_extended_interfaces,
114
+ params.naming_convention
115
+ )
116
+ : _generate_mongodb_uranio_client_module_text(
117
+ uranio_extended_interfaces,
118
+ params.naming_convention
119
+ );
112
120
 
113
121
  const uranio_client_path = `${dot_uranio_src_path}/client.ts`;
114
122
  fs.writeFileSync(uranio_client_path, client_text);
@@ -259,7 +267,8 @@ function _generate_mysql_uranio_index_module_text() {
259
267
  }
260
268
 
261
269
  function _generate_mongodb_uranio_client_module_text(
262
- interfaces: plutonio.Interfaces
270
+ interfaces: plutonio.Interfaces,
271
+ naming_convention: t.NamingConvention
263
272
  ) {
264
273
  let text = '';
265
274
  text += `/**\n`;
@@ -275,13 +284,14 @@ function _generate_mongodb_uranio_client_module_text(
275
284
  text += `import {mongodb_atom} from './types/atom';\n`;
276
285
  text += `\n`;
277
286
  text += _generate_mongodb_interface_definitions(interfaces);
278
- text += _generate_mongodb_client(interfaces);
287
+ text += _generate_mongodb_client(interfaces, naming_convention);
279
288
  text += `\n`;
280
289
  return text;
281
290
  }
282
291
 
283
292
  function _generate_mysql_uranio_client_module_text(
284
- interfaces: plutonio.Interfaces
293
+ interfaces: plutonio.Interfaces,
294
+ naming_convention: t.NamingConvention
285
295
  ) {
286
296
  let text = '';
287
297
  text += `/**\n`;
@@ -297,30 +307,39 @@ function _generate_mysql_uranio_client_module_text(
297
307
  text += `import {mysql_atom} from './types/atom';\n`;
298
308
  text += `\n`;
299
309
  text += _generate_mysql_interface_definitions(interfaces);
300
- text += _generate_mysql_client(interfaces);
310
+ text += _generate_mysql_client(interfaces, naming_convention);
301
311
  text += `\n`;
302
312
  return text;
303
313
  }
304
314
 
305
- function _generate_mongodb_client(interfaces: plutonio.Interfaces) {
315
+ function _generate_mongodb_client(
316
+ interfaces: plutonio.Interfaces,
317
+ naming_convention: t.NamingConvention
318
+ ) {
306
319
  let text = '';
307
320
  text += `export class UranioMongoDBClient extends MongoDBClient{\n`;
308
- text += _generate_mongodb_client_attributes(interfaces);
321
+ text += _generate_mongodb_client_attributes(interfaces, naming_convention);
309
322
  text += ` constructor(params: MongoDBClientParams) {\n`;
310
323
  text += ` super(params);\n`;
311
- text += _generate_mongodb_client_initialization(interfaces);
324
+ text += _generate_mongodb_client_initialization(
325
+ interfaces,
326
+ naming_convention
327
+ );
312
328
  text += ` }\n`;
313
329
  text += `}\n`;
314
330
  return text;
315
331
  }
316
332
 
317
- function _generate_mysql_client(interfaces: plutonio.Interfaces) {
333
+ function _generate_mysql_client(
334
+ interfaces: plutonio.Interfaces,
335
+ naming_convention: t.NamingConvention
336
+ ) {
318
337
  let text = '';
319
338
  text += `export class UranioMySQLClient extends MySQLClient{\n`;
320
- text += _generate_mysql_client_attributes(interfaces);
339
+ text += _generate_mysql_client_attributes(interfaces, naming_convention);
321
340
  text += ` constructor(params: MySQLClientParams) {\n`;
322
341
  text += ` super(params);\n`;
323
- text += _generate_mysql_client_initialization(interfaces);
342
+ text += _generate_mysql_client_initialization(interfaces, naming_convention);
324
343
  text += ` }\n`;
325
344
  text += `}\n`;
326
345
  return text;
@@ -358,20 +377,6 @@ function _generate_mysql_interface_definitions(
358
377
  continue;
359
378
  }
360
379
  for (const [prop_name, prop] of Object.entries(inter.properties)) {
361
- // if (prop.primitive === 'object' && prop.properties?.['___uranio']) {
362
- // if (prop.properties['___uranio'].original === "__uranio: 'primary';") {
363
- // const original = prop.original;
364
- // const match = original.match(/<([^>]+)>/);
365
- // if (match && match[1]) {
366
- // text += ` ${prop_name}: ${match[1]};\n`;
367
- // continue;
368
- // }
369
- // throw new exception.UranioCLIException(
370
- // `Cannot resolve uranio.primary for attribute ${prop_name}`
371
- // );
372
- // }
373
- // continue;
374
- // }
375
380
  text += ` ${prop_name}: ${prop.primitive};\n`;
376
381
  }
377
382
  text += `}\n`;
@@ -380,53 +385,71 @@ function _generate_mysql_interface_definitions(
380
385
  return text;
381
386
  }
382
387
 
383
- function _generate_mongodb_client_attributes(interfaces: plutonio.Interfaces) {
388
+ function _generate_mongodb_client_attributes(
389
+ interfaces: plutonio.Interfaces,
390
+ naming_convention: t.NamingConvention
391
+ ) {
384
392
  let text = '';
385
393
  for (const [name, _inter] of Object.entries(interfaces)) {
386
- let lc = _first_letter_lowercase(name);
394
+ let lc = _process_collection_name(name, naming_convention);
387
395
  text += ` public ${lc}: MongoDBAtomClient<${name}>;\n`;
388
396
  }
389
397
  return text;
390
398
  }
391
399
 
392
400
  function _generate_mongodb_client_initialization(
393
- interfaces: plutonio.Interfaces
401
+ interfaces: plutonio.Interfaces,
402
+ naming_convention: t.NamingConvention
394
403
  ) {
395
404
  let text = '';
396
405
  for (const [name, _inter] of Object.entries(interfaces)) {
397
- let lc = _first_letter_lowercase(name);
406
+ let lc = _process_collection_name(name, naming_convention);
398
407
  // Different from MySQL since it pass `this.db` instead of `this`
399
408
  text += ` this.${lc} = new MongoDBAtomClient<${name}>(this.db, '${lc}');\n`;
400
409
  }
401
410
  return text;
402
411
  }
403
412
 
404
- function _generate_mysql_client_attributes(interfaces: plutonio.Interfaces) {
413
+ function _generate_mysql_client_attributes(
414
+ interfaces: plutonio.Interfaces,
415
+ naming_convention: t.NamingConvention
416
+ ) {
405
417
  let text = '';
406
418
  for (const [name, _inter] of Object.entries(interfaces)) {
407
- let lc = _first_letter_lowercase(name);
419
+ let lc = _process_collection_name(name, naming_convention);
408
420
  text += ` public ${lc}: MySQLAtomClient<${name}>;\n`;
409
421
  }
410
422
  return text;
411
423
  }
412
424
 
413
425
  function _generate_mysql_client_initialization(
414
- interfaces: plutonio.Interfaces
426
+ interfaces: plutonio.Interfaces,
427
+ naming_convention: t.NamingConvention
415
428
  ) {
416
429
  let text = '';
417
430
  for (const [name, _inter] of Object.entries(interfaces)) {
418
- let lc = _first_letter_lowercase(name);
431
+ let lc = _process_collection_name(name, naming_convention);
419
432
  // Different from Mongo since it pass `this` instead of `this.db`
420
433
  text += ` this.${lc} = new MySQLAtomClient<${name}>(this, '${lc}');\n`;
421
434
  }
422
435
  return text;
423
436
  }
424
437
 
425
- function _first_letter_lowercase(str: string): string {
426
- if (typeof str !== 'string' || str.length === 0) {
427
- return str;
438
+ function _process_collection_name(
439
+ input: string,
440
+ naming_convention: t.NamingConvention
441
+ ): string {
442
+ switch (naming_convention) {
443
+ case 'camelCase': {
444
+ return _pascal_to_camel(input);
445
+ }
446
+ case 'snake_case': {
447
+ return _pascal_to_snake(input);
448
+ }
449
+ default: {
450
+ return input;
451
+ }
428
452
  }
429
- return str.charAt(0).toLowerCase() + str.slice(1);
430
453
  }
431
454
 
432
455
  function _debug_interfaces(uranio_extended_interfaces: plutonio.Interfaces) {
@@ -434,3 +457,30 @@ function _debug_interfaces(uranio_extended_interfaces: plutonio.Interfaces) {
434
457
  log.info(`Processing Interface: ${key}`);
435
458
  }
436
459
  }
460
+
461
+ function _pascal_to_snake(input: string): string {
462
+ if (!input || !input[0] || typeof input !== 'string') {
463
+ return input;
464
+ }
465
+ const result: string[] = [input[0].toLowerCase()];
466
+ for (let i = 1; i < input.length; i++) {
467
+ const char = input[i];
468
+ if (!char) {
469
+ continue;
470
+ }
471
+ if (char.toUpperCase() === char) {
472
+ result.push('_', char.toLowerCase());
473
+ } else {
474
+ result.push(char);
475
+ }
476
+ }
477
+
478
+ return result.join('');
479
+ }
480
+
481
+ function _pascal_to_camel(input: string): string {
482
+ if (!input || !input[0] || typeof input !== 'string') {
483
+ return input;
484
+ }
485
+ return input[0].toLowerCase() + input.slice(1);
486
+ }
@@ -6,7 +6,7 @@
6
6
  *
7
7
  * - ask for the following data:
8
8
  * - type of database: 'mongodb' | 'mysql'
9
- * - type of naming convention: 'snake_case' | 'camelCase' | 'same'
9
+ * - type of naming convention: 'snake_case' | 'camelCase' | 'PascalCase'
10
10
  *
11
11
  * - create a yaml file in the root directory of the project with the selected
12
12
  * data.
package/src/cli/types.ts CHANGED
@@ -45,7 +45,7 @@ export type Arguments = {
45
45
  export const NAMING_CONVENTION = {
46
46
  SNAKE_CASE: 'snake_case',
47
47
  CAMEL_CASE: 'camelCase',
48
- SAME: 'same',
48
+ PASCAL: 'PascalCase',
49
49
  } as const;
50
50
 
51
51
  export type NamingConvention = ObjectValue<typeof NAMING_CONVENTION>;