uranio 0.1.38 → 0.1.40

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.38"
31
+ "uranio": "0.1.40"
32
32
  }
33
33
  }
@@ -9,35 +9,14 @@
9
9
  import {MongoDBClient, MongoDBClientParams} from './client/mongodb';
10
10
  import {MySQLClient, MySQLClientParams} from './client/mysql';
11
11
 
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;
21
- };
22
-
23
- type MySQLPippo = {
24
- id: t.primary<number>;
25
- age: number;
26
- name: string;
27
- };
28
-
29
12
  export class UranioMongoDBClient extends MongoDBClient {
30
- public pippo: MongoDBAtomClient<MongoPippo>;
31
13
  constructor(params: MongoDBClientParams) {
32
14
  super(params);
33
- this.pippo = new MongoDBAtomClient<MongoPippo>(this.db, 'pippo');
34
15
  }
35
16
  }
36
17
 
37
18
  export class UranioMySQLClient extends MySQLClient {
38
- public pippo: MySQLAtomClient<MySQLPippo>;
39
19
  constructor(params: MySQLClientParams) {
40
20
  super(params);
41
- this.pippo = new MySQLAtomClient<MySQLPippo>(this, 'pippo');
42
21
  }
43
22
  }
@@ -4,8 +4,7 @@
4
4
  *
5
5
  */
6
6
 
7
- // import {atom, primary} from './index';
8
- import {atom} from './index';
7
+ import {atom} from './atom';
9
8
 
10
9
  export type Where<A extends atom> = {
11
10
  [P in keyof A]?: Condition<A[P]>;
package/comm ADDED
File without changes
package/dist/bin.js CHANGED
@@ -43,6 +43,10 @@ _handle_exception_wrapper(index_2.default.resolve_args, args)().then(async (reso
43
43
  }
44
44
  async function _run_command(args) {
45
45
  switch (args.command) {
46
+ case 'init': {
47
+ await index_2.default.init(args);
48
+ break;
49
+ }
46
50
  case 'generate': {
47
51
  await index_2.default.generate(args);
48
52
  break;
package/dist/bin.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,8CAAsB;AACtB,2CAAoC;AACpC,iEAAmD;AACnD,wDAA8B;AAE9B,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAEnC,yBAAyB,CAAC,eAAG,CAAC,YAAY,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,CACtD,KAAK,EAAE,kBAAkB,EAAE,EAAE;IAC3B,KAAK,UAAU,cAAc,CAAC,IAAmB;;QAC/C,IAAI,CAAA,MAAA,IAAI,CAAC,KAAK,0CAAE,OAAO,MAAK,IAAI,EAAE,CAAC;YACjC,WAAG,CAAC,MAAM,CAAC,SAAS,GAAG,aAAG,CAAC,SAAS,CAAC,KAAK,CAAC;YAC3C,OAAO;QACT,CAAC;QACD,WAAG,CAAC,MAAM,CAAC,SAAS,GAAG,aAAG,CAAC,SAAS,CAAC,IAAI,CAAC;IAC5C,CAAC;IACD,KAAK,UAAU,YAAY,CAAC,IAAmB;QAC7C,QAAQ,IAAI,CAAC,OAAO,EAAE,CAAC;YACrB,KAAK,UAAU,CAAC,CAAC,CAAC;gBAChB,MAAM,eAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBACzB,MAAM;YACR,CAAC;YACD,OAAO,CAAC,CAAC,CAAC;gBACR,MAAM,eAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBACxB,MAAM;YACR,CAAC;QACH,CAAC;IACH,CAAC;IACD,MAAM,yBAAyB,CAAC,cAAc,EAAE,kBAAkB,CAAC,EAAE,CAAC;IACtE,MAAM,yBAAyB,CAAC,YAAY,EAAE,kBAAkB,CAAC,EAAE,CAAC;AACtE,CAAC,CACF,CAAC;AAEF,SAAS,yBAAyB,CAAC,EAAyB,EAAE,GAAG,IAAS;IACxE,OAAO,KAAK,IAAI,EAAE;QAChB,IAAI,CAAC;YACH,OAAO,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;QAC3B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IACE,GAAG,YAAY,SAAS,CAAC,kBAAkB;gBAC3C,GAAG,CAAC,MAAM,KAAK,oBAAoB,EACnC,CAAC;gBACD,WAAG,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBACvB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YACD,MAAM,GAAG,CAAA;QACX,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,8CAAsB;AACtB,2CAAoC;AACpC,iEAAmD;AACnD,wDAA8B;AAE9B,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAEnC,yBAAyB,CAAC,eAAG,CAAC,YAAY,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,CACtD,KAAK,EAAE,kBAAkB,EAAE,EAAE;IAC3B,KAAK,UAAU,cAAc,CAAC,IAAmB;;QAC/C,IAAI,CAAA,MAAA,IAAI,CAAC,KAAK,0CAAE,OAAO,MAAK,IAAI,EAAE,CAAC;YACjC,WAAG,CAAC,MAAM,CAAC,SAAS,GAAG,aAAG,CAAC,SAAS,CAAC,KAAK,CAAC;YAC3C,OAAO;QACT,CAAC;QACD,WAAG,CAAC,MAAM,CAAC,SAAS,GAAG,aAAG,CAAC,SAAS,CAAC,IAAI,CAAC;IAC5C,CAAC;IACD,KAAK,UAAU,YAAY,CAAC,IAAmB;QAC7C,QAAQ,IAAI,CAAC,OAAO,EAAE,CAAC;YACrB,KAAK,MAAM,CAAC,CAAC,CAAC;gBACZ,MAAM,eAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACrB,MAAM;YACR,CAAC;YACD,KAAK,UAAU,CAAC,CAAC,CAAC;gBAChB,MAAM,eAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBACzB,MAAM;YACR,CAAC;YACD,OAAO,CAAC,CAAC,CAAC;gBACR,MAAM,eAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBACxB,MAAM;YACR,CAAC;QACH,CAAC;IACH,CAAC;IACD,MAAM,yBAAyB,CAAC,cAAc,EAAE,kBAAkB,CAAC,EAAE,CAAC;IACtE,MAAM,yBAAyB,CAAC,YAAY,EAAE,kBAAkB,CAAC,EAAE,CAAC;AACtE,CAAC,CACF,CAAC;AAEF,SAAS,yBAAyB,CAAC,EAAyB,EAAE,GAAG,IAAS;IACxE,OAAO,KAAK,IAAI,EAAE;QAChB,IAAI,CAAC;YACH,OAAO,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;QAC3B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IACE,GAAG,YAAY,SAAS,CAAC,kBAAkB;gBAC3C,GAAG,CAAC,MAAM,KAAK,oBAAoB,EACnC,CAAC;gBACD,WAAG,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBACvB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YACD,MAAM,GAAG,CAAA;QACX,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
@@ -41,6 +41,7 @@ const flag_shorts = {
41
41
  };
42
42
  const flag_types = {
43
43
  'database': 'string',
44
+ 'naming-convention': 'string',
44
45
  'root': 'string',
45
46
  'tsconfig-path': 'string',
46
47
  'verbose': 'boolean',
@@ -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":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,8DAAgD;AAChD,sDAAwC;AACxC,4CAA8B;AAM9B,MAAM,WAAW,GAAe;IAC9B,CAAC,EAAE,UAAU;IACb,CAAC,EAAE,MAAM;IACT,CAAC,EAAE,eAAe;IAClB,CAAC,EAAE,SAAS;CACb,CAAC;AAQF,MAAM,UAAU,GAAc;IAC5B,UAAU,EAAE,QAAQ;IACpB,mBAAmB,EAAE,QAAQ;IAC7B,MAAM,EAAE,QAAQ;IAChB,eAAe,EAAE,QAAQ;IACzB,SAAS,EAAE,SAAS;IACpB,SAAS,EAAE,SAAS;CACrB,CAAC;AAEF,SAAgB,YAAY,CAAC,IAAc;IACzC,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACpE,eAAe,CAAC,OAAO,CAAC,CAAC;IACzB,MAAM,KAAK,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IACnC,OAAO;QACL,OAAO;QACP,KAAK;KACN,CAAC;AACJ,CAAC;AARD,oCAQC;AAED,SAAS,eAAe,CAAC,OAAiB;IACxC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO;IACT,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,OAAc,CAAC,EAAE,CAAC;QACvD,MAAM,IAAI,SAAS,CAAC,kBAAkB,CACpC,4CAA4C,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CACvE,IAAI,CACL,GAAG,CACL,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,IAAc;;IACpC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,8BAA8B;IAC9B,8CAA8C;IAC9C,gGAAgG;IAChG,IAAI;IACJ,MAAM,KAAK,GAAQ,EAAE,CAAC;IACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAA,MAAA,IAAI,CAAC,CAAC,CAAC,0CAAG,CAAC,CAAC,MAAK,GAAG,EAAE,CAAC;YACpC,SAAS;QACX,CAAC;QACD,MAAM,kBAAkB,GAAG,2BAA2B,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAChE,MAAM,SAAS,GAAG,kBAAkB,CAAC,kBAAkB,CAAC,CAAC;QACzD,IAAI,UAAU,CAAC;QACf,QAAQ,SAAS,EAAE,CAAC;YAClB,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACd,MAAM,UAAU,GAAG,EAAE,CAAC,CAAC;gBACvB,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;gBAC9B,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;oBACpC,MAAM,IAAI,SAAS,CAAC,kBAAkB,CACpC,+BAA+B,IAAI,CAAC,CAAC,CAAC,mBAAmB,CAC1D,CAAC;gBACJ,CAAC;gBACD,MAAM;YACR,CAAC;YACD,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACd,MAAM,UAAU,GAAG,EAAE,CAAC,CAAC;gBACvB,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;gBAC9B,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;oBACpC,MAAM,IAAI,SAAS,CAAC,kBAAkB,CACpC,+BAA+B,IAAI,CAAC,CAAC,CAAC,mBAAmB,CAC1D,CAAC;gBACJ,CAAC;gBACD,MAAM;YACR,CAAC;YACD,KAAK,SAAS,CAAC,CAAC,CAAC;gBACf,UAAU,GAAG,IAAI,CAAC;gBAClB,MAAM;YACR,CAAC;YACD,OAAO,CAAC,CAAC,CAAC;gBACR,MAAM,IAAI,SAAS,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,CAAC;YAC7D,CAAC;QACH,CAAC;QACD,KAAK,CAAC,kBAAkB,CAAC,GAAG,UAAU,CAAC;IACzC,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,2BAA2B,CAAC,IAAa;IAChD,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,SAAS,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC;IACxD,CAAC;IACD,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IACjD,IAAI,YAAY,IAAI,WAAW,EAAE,CAAC;QAChC,OAAO,WAAW,CAAC,YAAY,CAAW,CAAC;IAC7C,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,YAAmB,CAAC,EAAE,CAAC;QACxD,OAAO,YAAsB,CAAC;IAChC,CAAC;IACD,MAAM,IAAI,SAAS,CAAC,kBAAkB,CACpC,oCAAoC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE;UACzD,gBAAgB,IAAI,GAAG,CAC1B,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAY;IACtC,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
@@ -5,4 +5,9 @@
5
5
  * @packageDocumentation
6
6
  */
7
7
  import * as t from '../types';
8
+ export declare function read_yaml_params(root_path: string): t.YamlParams;
9
+ export declare function set_verbosity(args: t.Arguments): void;
8
10
  export declare function resolve_param_root(args: t.Arguments): string;
11
+ export declare function assert_database(db: unknown): asserts db is t.Database;
12
+ export declare function assert_naming_convention(naming_convention: unknown): asserts naming_convention is t.NamingConvention;
13
+ export declare function _assert_yaml_params(params: unknown): asserts params is t.YamlParams;
@@ -32,9 +32,32 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
32
32
  return (mod && mod.__esModule) ? mod : { "default": mod };
33
33
  };
34
34
  Object.defineProperty(exports, "__esModule", { value: true });
35
- exports.resolve_param_root = void 0;
35
+ exports._assert_yaml_params = exports.assert_naming_convention = exports.assert_database = exports.resolve_param_root = exports.set_verbosity = exports.read_yaml_params = void 0;
36
+ const fs_1 = __importDefault(require("fs"));
37
+ const yaml_1 = __importDefault(require("yaml"));
36
38
  const app_root_path_1 = __importDefault(require("app-root-path"));
39
+ const r4y_1 = __importDefault(require("r4y"));
40
+ const index_1 = require("../log/index");
37
41
  const utils = __importStar(require("../utils/index"));
42
+ const exception = __importStar(require("../exception/index"));
43
+ const t = __importStar(require("../types"));
44
+ function read_yaml_params(root_path) {
45
+ const yaml_path = `${root_path}/uranio.yml`;
46
+ if (!fs_1.default.existsSync(yaml_path)) {
47
+ throw new exception.UranioCLIException(`Missing uranio.yml file. Run 'uranio init' in order to create one`);
48
+ }
49
+ const data = fs_1.default.readFileSync(yaml_path, 'utf-8');
50
+ const yaml_params = yaml_1.default.parse(data);
51
+ _assert_yaml_params(yaml_params);
52
+ return yaml_params;
53
+ }
54
+ exports.read_yaml_params = read_yaml_params;
55
+ function set_verbosity(args) {
56
+ var _a;
57
+ const debug = ((_a = args.flags) === null || _a === void 0 ? void 0 : _a.verbose) === true;
58
+ r4y_1.default.config.set({ debug, spinner: index_1.log.spinner });
59
+ }
60
+ exports.set_verbosity = set_verbosity;
38
61
  function resolve_param_root(args) {
39
62
  var _a;
40
63
  if (args.flags && utils.valid.string((_a = args.flags) === null || _a === void 0 ? void 0 : _a['root'])) {
@@ -44,4 +67,42 @@ function resolve_param_root(args) {
44
67
  return root_path;
45
68
  }
46
69
  exports.resolve_param_root = resolve_param_root;
70
+ function assert_database(db) {
71
+ if (!Object.values(t.DATABASE).includes(db)) {
72
+ throw new exception.UranioCLIException(`Invalid database flag value. Possible value are` +
73
+ ` [${Object.values(t.DATABASE)}]. Evaluating '${db}'`);
74
+ }
75
+ }
76
+ exports.assert_database = assert_database;
77
+ function assert_naming_convention(naming_convention) {
78
+ if (!Object.values(t.NAMING_CONVENTION).includes(naming_convention)) {
79
+ throw new exception.UranioCLIException(`Invalid database flag value. Possible value are` +
80
+ ` [${Object.values(t.NAMING_CONVENTION)}]. Evaluating '${naming_convention}'`);
81
+ }
82
+ }
83
+ exports.assert_naming_convention = assert_naming_convention;
84
+ const yaml_params_keys = [
85
+ 'database',
86
+ 'naming_convention',
87
+ ];
88
+ const yaml_params_values = {
89
+ database: Object.values(t.DATABASE),
90
+ naming_convention: Object.values(t.NAMING_CONVENTION),
91
+ };
92
+ function _assert_yaml_params(params) {
93
+ if (!params || typeof params !== 'object') {
94
+ throw new exception.UranioCLIException(`Invalid Yaml Params. Cannot read uranio.yml`);
95
+ }
96
+ for (let [key, value] of Object.entries(params)) {
97
+ if (!yaml_params_keys.includes(key)) {
98
+ throw new exception.UranioCLIException(`Invalid Yaml Params key. Only the following are allowed:` +
99
+ ` [${yaml_params_keys}]. Evaluating '${key}'`);
100
+ }
101
+ if (!yaml_params_values[key].includes(value)) {
102
+ throw new exception.UranioCLIException(`Invalid Yaml Param value for key '${key}'. Only the following are` +
103
+ ` allowed: [${yaml_params_values[key]}]. Evaluating '${value}'`);
104
+ }
105
+ }
106
+ }
107
+ exports._assert_yaml_params = _assert_yaml_params;
47
108
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/common/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,kEAAiC;AACjC,sDAAwC;AAGxC,SAAgB,kBAAkB,CAAC,IAAiB;;IAClD,IAAI,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,MAAA,IAAI,CAAC,KAAK,0CAAG,MAAM,CAAC,CAAC,EAAE,CAAC;QAC3D,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;IACD,MAAM,SAAS,GAAG,uBAAI,CAAC,QAAQ,EAAE,CAAC;IAClC,OAAO,SAAS,CAAC;AACnB,CAAC;AAND,gDAMC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/common/index.ts"],"names":[],"mappings":"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"}
@@ -48,13 +48,10 @@ const r4y_1 = __importDefault(require("r4y"));
48
48
  const plutonio_1 = __importDefault(require("plutonio"));
49
49
  const index_1 = require("../log/index");
50
50
  const utils = __importStar(require("../utils/index"));
51
- const exception = __importStar(require("../exception/index"));
52
51
  const common = __importStar(require("../common/index"));
53
52
  const t = __importStar(require("../types"));
54
53
  async function generate(args) {
55
- var _a;
56
- const debug = ((_a = args.flags) === null || _a === void 0 ? void 0 : _a.verbose) === true;
57
- r4y_1.default.config.set({ debug, spinner: index_1.log.spinner });
54
+ common.set_verbosity(args);
58
55
  const params = _resolve_generate_params(args);
59
56
  index_1.log.spinner.start();
60
57
  index_1.log.spinner.text(`Generating...`);
@@ -68,9 +65,18 @@ exports.generate = generate;
68
65
  function _resolve_generate_params(args) {
69
66
  const root_path = common.resolve_param_root(args);
70
67
  const tsconfig_path = _resolve_param_tsconfig_path(root_path, args);
71
- const database = _resolve_param_database(args);
68
+ const yaml_params = common.read_yaml_params(root_path);
69
+ let naming_convention = yaml_params.naming_convention;
70
+ if (!naming_convention) {
71
+ naming_convention = _resolve_param_naming_convention(args);
72
+ }
73
+ let database = yaml_params.database;
74
+ if (!database) {
75
+ database = _resolve_param_database(args);
76
+ }
72
77
  return {
73
78
  database,
79
+ naming_convention,
74
80
  root: root_path,
75
81
  tsconfig_path,
76
82
  };
@@ -86,16 +92,19 @@ function _resolve_param_database(args) {
86
92
  var _a;
87
93
  if (args.flags && utils.valid.string((_a = args.flags) === null || _a === void 0 ? void 0 : _a['database'])) {
88
94
  const db = args.flags['database'];
89
- _assert_database(db);
95
+ common.assert_database(db);
90
96
  return db;
91
97
  }
92
98
  return t.DATABASE.MONGODB;
93
99
  }
94
- function _assert_database(db) {
95
- if (!Object.values(t.DATABASE).includes(db)) {
96
- throw new exception.UranioCLIException(`Invalid database flag value. Possible value are` +
97
- ` [${Object.values(t.DATABASE)}]. Evaluating '${db}'`);
100
+ function _resolve_param_naming_convention(args) {
101
+ var _a;
102
+ if (args.flags && utils.valid.string((_a = args.flags) === null || _a === void 0 ? void 0 : _a['naming-convention'])) {
103
+ const naming_convention = args.flags['naming-convention'];
104
+ common.assert_naming_convention(naming_convention);
105
+ return naming_convention;
98
106
  }
107
+ return t.NAMING_CONVENTION.CAMEL_CASE;
99
108
  }
100
109
  async function _copy_dot_uranio(params) {
101
110
  index_1.log.spinner.text(`Coping dot uranio...`);
@@ -194,8 +203,6 @@ function _generate_mongodb_uranio_types_module_text() {
194
203
  text += ` *\n`;
195
204
  text += ` */\n`;
196
205
  text += `\n`;
197
- text += `export * from './types/index';\n`;
198
- text += `\n`;
199
206
  text += `import {mongodb_atom as atom} from './atom';\n`;
200
207
  text += `import {primary} from './atom';\n`;
201
208
  text += `export {atom, primary};\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":";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"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ *
3
+ * Init index module
4
+ *
5
+ * `init` command do the following:
6
+ *
7
+ * - ask for the following data:
8
+ * - type of database: 'mongodb' | 'mysql'
9
+ * - type of naming convention: 'snake_case' | 'camelCase' | 'same'
10
+ *
11
+ * - create a yaml file in the root directory of the project with the selected
12
+ * data.
13
+ *
14
+ * @packageDocumentation
15
+ */
16
+ import * as t from '../types';
17
+ export declare function init(args: t.Arguments): Promise<void>;
@@ -0,0 +1,128 @@
1
+ "use strict";
2
+ /**
3
+ *
4
+ * Init index module
5
+ *
6
+ * `init` command do the following:
7
+ *
8
+ * - ask for the following data:
9
+ * - type of database: 'mongodb' | 'mysql'
10
+ * - type of naming convention: 'snake_case' | 'camelCase' | 'same'
11
+ *
12
+ * - create a yaml file in the root directory of the project with the selected
13
+ * data.
14
+ *
15
+ * @packageDocumentation
16
+ */
17
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
18
+ if (k2 === undefined) k2 = k;
19
+ var desc = Object.getOwnPropertyDescriptor(m, k);
20
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
21
+ desc = { enumerable: true, get: function() { return m[k]; } };
22
+ }
23
+ Object.defineProperty(o, k2, desc);
24
+ }) : (function(o, m, k, k2) {
25
+ if (k2 === undefined) k2 = k;
26
+ o[k2] = m[k];
27
+ }));
28
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
29
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
30
+ }) : function(o, v) {
31
+ o["default"] = v;
32
+ });
33
+ var __importStar = (this && this.__importStar) || function (mod) {
34
+ if (mod && mod.__esModule) return mod;
35
+ var result = {};
36
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
37
+ __setModuleDefault(result, mod);
38
+ return result;
39
+ };
40
+ var __importDefault = (this && this.__importDefault) || function (mod) {
41
+ return (mod && mod.__esModule) ? mod : { "default": mod };
42
+ };
43
+ Object.defineProperty(exports, "__esModule", { value: true });
44
+ exports.init = void 0;
45
+ const fs_1 = __importDefault(require("fs"));
46
+ const yaml_1 = __importDefault(require("yaml"));
47
+ const inquirer_1 = __importDefault(require("inquirer"));
48
+ const index_1 = require("../log/index");
49
+ const utils = __importStar(require("../utils/index"));
50
+ const common = __importStar(require("../common/index"));
51
+ const t = __importStar(require("../types"));
52
+ async function init(args) {
53
+ common.set_verbosity(args);
54
+ const params = await _resolve_init_params(args);
55
+ index_1.log.spinner.start();
56
+ index_1.log.spinner.text(`Initializing...`);
57
+ await _create_init_yaml(params);
58
+ index_1.log.spinner.stop();
59
+ index_1.log.success(`Uranio successfully initialized`);
60
+ }
61
+ exports.init = init;
62
+ async function _create_init_yaml(params) {
63
+ index_1.log.spinner.text(`Creating uranio.yml...`);
64
+ const yaml_params = utils.object.deep_clone(params);
65
+ delete yaml_params.root;
66
+ const yaml_string = yaml_1.default.stringify(yaml_params);
67
+ const destination_path = `${params.root}/uranio.yml`;
68
+ fs_1.default.writeFileSync(destination_path, yaml_string);
69
+ index_1.log.spinner.stop();
70
+ index_1.log.debug(`Copied dot uranio directory`);
71
+ }
72
+ async function _resolve_init_params(args) {
73
+ const root = common.resolve_param_root(args);
74
+ let database = _resolve_param_database(args);
75
+ if (!database) {
76
+ database = await _ask_for_database();
77
+ }
78
+ let naming_convention = _resolve_param_naming_convention(args);
79
+ if (!naming_convention) {
80
+ naming_convention = await _ask_for_naming_convention();
81
+ }
82
+ return {
83
+ database,
84
+ naming_convention,
85
+ root
86
+ };
87
+ }
88
+ async function _ask_for_database() {
89
+ const response = await inquirer_1.default.prompt({
90
+ type: 'list',
91
+ name: 'database',
92
+ message: 'Which database do you want to use?',
93
+ choices: Object.values(t.DATABASE),
94
+ });
95
+ const database = response.database;
96
+ common.assert_database(database);
97
+ return database;
98
+ }
99
+ async function _ask_for_naming_convention() {
100
+ const response = await inquirer_1.default.prompt({
101
+ type: 'list',
102
+ name: 'naming_convention',
103
+ message: 'Which naming convention do you want to use?',
104
+ choices: Object.values(t.NAMING_CONVENTION),
105
+ });
106
+ const naming_convention = response.naming_convention;
107
+ common.assert_naming_convention(naming_convention);
108
+ return naming_convention;
109
+ }
110
+ function _resolve_param_database(args) {
111
+ var _a;
112
+ if (args.flags && utils.valid.string((_a = args.flags) === null || _a === void 0 ? void 0 : _a['database'])) {
113
+ const db = args.flags['database'];
114
+ common.assert_database(db);
115
+ return db;
116
+ }
117
+ return null;
118
+ }
119
+ function _resolve_param_naming_convention(args) {
120
+ var _a;
121
+ if (args.flags && utils.valid.string((_a = args.flags) === null || _a === void 0 ? void 0 : _a['naming-convention'])) {
122
+ const naming_convention = args.flags['naming-convention'];
123
+ common.assert_naming_convention(naming_convention);
124
+ return naming_convention;
125
+ }
126
+ return null;
127
+ }
128
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/init/index.ts"],"names":[],"mappings":"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"}
@@ -6,5 +6,6 @@
6
6
  */
7
7
  export * from './args/index';
8
8
  export * from './generate/index';
9
+ export * from './init/index';
9
10
  export * from './types';
10
11
  export * from './version/index';
package/dist/cli/main.js CHANGED
@@ -22,6 +22,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
22
22
  Object.defineProperty(exports, "__esModule", { value: true });
23
23
  __exportStar(require("./args/index"), exports);
24
24
  __exportStar(require("./generate/index"), exports);
25
+ __exportStar(require("./init/index"), exports);
25
26
  __exportStar(require("./types"), exports);
26
27
  __exportStar(require("./version/index"), exports);
27
28
  //# sourceMappingURL=main.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/cli/main.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;AAEH,+CAA6B;AAE7B,mDAAiC;AAEjC,0CAAwB;AAExB,kDAAgC"}
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/cli/main.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;AAEH,+CAA6B;AAE7B,mDAAiC;AAEjC,+CAA6B;AAE7B,0CAAwB;AAExB,kDAAgC"}
@@ -5,18 +5,9 @@
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>;
13
- export declare const COMMAND: {
14
- readonly GENERATE: "generate";
15
- readonly VERSION: "version";
16
- };
17
- export type Command = ObjectValue<typeof COMMAND>;
18
8
  export declare const FLAG: {
19
9
  readonly DATABASE: "database";
10
+ readonly NAMING_CONVETION: "naming-convention";
20
11
  readonly ROOT: "root";
21
12
  readonly TSCONFIG_PATH: "tsconfig-path";
22
13
  readonly VERBOSE: "verbose";
@@ -26,8 +17,40 @@ export type Flag = ObjectValue<typeof FLAG>;
26
17
  export type Flags = {
27
18
  [k in Flag]: string | number | boolean;
28
19
  };
20
+ export declare const DATABASE: {
21
+ readonly MONGODB: "mongodb";
22
+ readonly MYSQL: "mysql";
23
+ };
24
+ export type Database = ObjectValue<typeof DATABASE>;
25
+ export declare const COMMAND: {
26
+ readonly INIT: "init";
27
+ readonly GENERATE: "generate";
28
+ readonly VERSION: "version";
29
+ };
30
+ export type Command = ObjectValue<typeof COMMAND>;
29
31
  export type Arguments = {
30
32
  command?: Command;
31
33
  flags?: Flags;
32
34
  };
35
+ export declare const NAMING_CONVENTION: {
36
+ readonly SNAKE_CASE: "snake_case";
37
+ readonly CAMEL_CASE: "camelCase";
38
+ readonly SAME: "same";
39
+ };
40
+ export type NamingConvention = ObjectValue<typeof NAMING_CONVENTION>;
41
+ export type InitParams = {
42
+ database: Database;
43
+ naming_convention: NamingConvention;
44
+ root: string;
45
+ };
46
+ export type GenerateParams = {
47
+ database: Database;
48
+ naming_convention: NamingConvention;
49
+ root: string;
50
+ tsconfig_path?: string;
51
+ };
52
+ export type YamlParams = {
53
+ database: Database;
54
+ naming_convention: NamingConvention;
55
+ };
33
56
  export {};
package/dist/cli/types.js CHANGED
@@ -6,20 +6,27 @@
6
6
  * @packageDocumentation
7
7
  */
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.FLAG = exports.COMMAND = exports.DATABASE = void 0;
9
+ exports.NAMING_CONVENTION = exports.COMMAND = exports.DATABASE = exports.FLAG = void 0;
10
+ exports.FLAG = {
11
+ DATABASE: 'database',
12
+ NAMING_CONVETION: 'naming-convention',
13
+ ROOT: 'root',
14
+ TSCONFIG_PATH: 'tsconfig-path',
15
+ VERBOSE: 'verbose',
16
+ VERSION: 'version',
17
+ };
10
18
  exports.DATABASE = {
11
19
  MONGODB: 'mongodb',
12
20
  MYSQL: 'mysql',
13
21
  };
14
22
  exports.COMMAND = {
23
+ INIT: 'init',
15
24
  GENERATE: 'generate',
16
25
  VERSION: 'version',
17
26
  };
18
- exports.FLAG = {
19
- DATABASE: 'database',
20
- ROOT: 'root',
21
- TSCONFIG_PATH: 'tsconfig-path',
22
- VERBOSE: 'verbose',
23
- VERSION: 'version',
27
+ exports.NAMING_CONVENTION = {
28
+ SNAKE_CASE: 'snake_case',
29
+ CAMEL_CASE: 'camelCase',
30
+ SAME: 'same',
24
31
  };
25
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,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"}
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"}
@@ -6,3 +6,5 @@
6
6
  */
7
7
  import * as valid from './valid';
8
8
  export { valid };
9
+ import * as object from './object';
10
+ export { object };
@@ -29,7 +29,9 @@ var __importStar = (this && this.__importStar) || function (mod) {
29
29
  return result;
30
30
  };
31
31
  Object.defineProperty(exports, "__esModule", { value: true });
32
- exports.valid = void 0;
32
+ exports.object = exports.valid = void 0;
33
33
  const valid = __importStar(require("./valid"));
34
34
  exports.valid = valid;
35
+ const object = __importStar(require("./object"));
36
+ exports.object = object;
35
37
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/utils/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,+CAAiC;AACzB,sBAAK"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/utils/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,+CAAiC;AACzB,sBAAK;AAEb,iDAAmC;AAC3B,wBAAM"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ *
3
+ * Utils object module
4
+ *
5
+ * @packageDocumentation
6
+ *
7
+ */
8
+ export type NoUndefinedProperties<T> = {
9
+ [P in keyof T]: NonNullable<T[P]>;
10
+ };
11
+ export declare function no_undefined<T extends object>(obj: T): NoUndefinedProperties<T>;
12
+ export declare function deep_clone<T>(obj: T): T;
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ /**
3
+ *
4
+ * Utils object module
5
+ *
6
+ * @packageDocumentation
7
+ *
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.deep_clone = exports.no_undefined = void 0;
11
+ function no_undefined(obj) {
12
+ return JSON.parse(JSON.stringify(obj));
13
+ }
14
+ exports.no_undefined = no_undefined;
15
+ function deep_clone(obj) {
16
+ if (!obj || typeof obj !== 'object') {
17
+ return obj;
18
+ }
19
+ return JSON.parse(JSON.stringify(obj));
20
+ }
21
+ exports.deep_clone = deep_clone;
22
+ //# sourceMappingURL=object.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"object.js","sourceRoot":"","sources":["../../../src/cli/utils/object.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAMH,SAAgB,YAAY,CAC1B,GAAM;IAEN,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;AACzC,CAAC;AAJD,oCAIC;AAED,SAAgB,UAAU,CAAI,GAAM;IAClC,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QACpC,OAAO,GAAG,CAAC;IACb,CAAC;IACD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;AACzC,CAAC;AALD,gCAKC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "uranio",
3
- "version": "0.1.38",
3
+ "version": "0.1.40",
4
4
  "description": "Uranio is a type-safe ODM for MongoDB",
5
5
  "main": "dist/index.js",
6
6
  "repository": {
@@ -24,10 +24,12 @@
24
24
  "build": "yarn tsc -b",
25
25
  "dev": "yarn tsc -w",
26
26
  "dev:base": "node ./dist/index.js",
27
- "dev:bin": "node ./dist/bin.js generate --root ~/repos/uranio/builder",
27
+ "dev:bin:generate": "node ./dist/bin.js generate --root ~/repos/uranio/builder",
28
+ "dev:bin:init": "node ./dist/bin.js init",
28
29
  "dev:bin:verbose": "node ./dist/bin.js generate -v -d mysql --root ~/repos/avk-47/core",
29
30
  "dev:bin:version": "node ./dist/bin.js --root ~/repos/uranio/builder",
30
- "dev:run": "yarn tsc-watch --onSuccess \"yarn dev:bin\"",
31
+ "dev:run:generate": "yarn tsc-watch --onSuccess \"yarn dev:bin:generate\"",
32
+ "dev:run:init": "yarn tsc-watch --onSuccess \"yarn dev:bin:init\"",
31
33
  "dev:run:verbose": "yarn tsc-watch --onSuccess \"yarn dev:bin:verbose\"",
32
34
  "dev:run:version": "yarn tsc-watch --onSuccess \"yarn dev:bin:version\"",
33
35
  "push:patch": "bash ./scripts/version.sh patch",
@@ -36,6 +38,7 @@
36
38
  "upgrade:plutonio": "yarn remove plutonio && yarn add plutonio"
37
39
  },
38
40
  "devDependencies": {
41
+ "@types/inquirer": "^9.0.7",
39
42
  "@types/node": "^20.9.0",
40
43
  "@typescript-eslint/eslint-plugin": "^5.59.1",
41
44
  "@typescript-eslint/parser": "^5.59.1",
@@ -55,9 +58,11 @@
55
58
  "dependencies": {
56
59
  "app-root-path": "^3.1.0",
57
60
  "i0n": "^0.8.1",
61
+ "inquirer": "^8.0.0",
58
62
  "mongodb": "^6.3.0",
59
63
  "mysql2": "^3.7.0",
60
64
  "plutonio": "^0.5.2",
61
- "r4y": "^0.6.0"
65
+ "r4y": "^0.6.0",
66
+ "yaml": "^2.3.4"
62
67
  }
63
68
  }
package/src/bin.ts CHANGED
@@ -18,6 +18,10 @@ _handle_exception_wrapper(cli.resolve_args, args)().then(
18
18
  }
19
19
  async function _run_command(args: cli.Arguments) {
20
20
  switch (args.command) {
21
+ case 'init': {
22
+ await cli.init(args);
23
+ break;
24
+ }
21
25
  case 'generate': {
22
26
  await cli.generate(args);
23
27
  break;
@@ -28,6 +28,7 @@ type FlagTypes = {
28
28
 
29
29
  const flag_types: FlagTypes = {
30
30
  'database': 'string',
31
+ 'naming-convention': 'string',
31
32
  'root': 'string',
32
33
  'tsconfig-path': 'string',
33
34
  'verbose': 'boolean',
@@ -5,10 +5,33 @@
5
5
  * @packageDocumentation
6
6
  */
7
7
 
8
+ import fs from 'fs';
9
+ import yaml from 'yaml';
8
10
  import root from 'app-root-path';
11
+ import ray from 'r4y';
12
+ import {log} from '../log/index';
9
13
  import * as utils from '../utils/index';
14
+ import * as exception from '../exception/index';
10
15
  import * as t from '../types';
11
16
 
17
+ export function read_yaml_params(root_path: string): t.YamlParams {
18
+ const yaml_path = `${root_path}/uranio.yml`;
19
+ if (!fs.existsSync(yaml_path)) {
20
+ throw new exception.UranioCLIException(
21
+ `Missing uranio.yml file. Run 'uranio init' in order to create one`
22
+ );
23
+ }
24
+ const data = fs.readFileSync(yaml_path, 'utf-8');
25
+ const yaml_params = yaml.parse(data);
26
+ _assert_yaml_params(yaml_params);
27
+ return yaml_params;
28
+ }
29
+
30
+ export function set_verbosity(args: t.Arguments) {
31
+ const debug = args.flags?.verbose === true;
32
+ ray.config.set({debug, spinner: log.spinner});
33
+ }
34
+
12
35
  export function resolve_param_root(args: t.Arguments): string {
13
36
  if (args.flags && utils.valid.string(args.flags?.['root'])) {
14
37
  return args.flags['root'];
@@ -17,3 +40,58 @@ export function resolve_param_root(args: t.Arguments): string {
17
40
  return root_path;
18
41
  }
19
42
 
43
+ export function assert_database(db: unknown): asserts db is t.Database {
44
+ if (!Object.values(t.DATABASE).includes(db as any)) {
45
+ throw new exception.UranioCLIException(
46
+ `Invalid database flag value. Possible value are` +
47
+ ` [${Object.values(t.DATABASE)}]. Evaluating '${db}'`
48
+ );
49
+ }
50
+ }
51
+
52
+ export function assert_naming_convention(
53
+ naming_convention: unknown
54
+ ): asserts naming_convention is t.NamingConvention {
55
+ if (!Object.values(t.NAMING_CONVENTION).includes(naming_convention as any)) {
56
+ throw new exception.UranioCLIException(
57
+ `Invalid database flag value. Possible value are` +
58
+ ` [${Object.values(
59
+ t.NAMING_CONVENTION
60
+ )}]. Evaluating '${naming_convention}'`
61
+ );
62
+ }
63
+ }
64
+
65
+ const yaml_params_keys: (keyof t.YamlParams)[] = [
66
+ 'database',
67
+ 'naming_convention',
68
+ ];
69
+ const yaml_params_values = {
70
+ database: Object.values(t.DATABASE),
71
+ naming_convention: Object.values(t.NAMING_CONVENTION),
72
+ };
73
+ export function _assert_yaml_params(
74
+ params: unknown
75
+ ): asserts params is t.YamlParams {
76
+ if (!params || typeof params !== 'object') {
77
+ throw new exception.UranioCLIException(
78
+ `Invalid Yaml Params. Cannot read uranio.yml`
79
+ );
80
+ }
81
+ for (let [key, value] of Object.entries(params)) {
82
+ if (!yaml_params_keys.includes(key as any)) {
83
+ throw new exception.UranioCLIException(
84
+ `Invalid Yaml Params key. Only the following are allowed:` +
85
+ ` [${yaml_params_keys}]. Evaluating '${key}'`
86
+ );
87
+ }
88
+ if (!(yaml_params_values as any)[key].includes(value)) {
89
+ throw new exception.UranioCLIException(
90
+ `Invalid Yaml Param value for key '${key}'. Only the following are` +
91
+ ` allowed: [${
92
+ (yaml_params_values as any)[key]
93
+ }]. Evaluating '${value}'`
94
+ );
95
+ }
96
+ }
97
+ }
@@ -20,19 +20,11 @@ import ray from 'r4y';
20
20
  import plutonio from 'plutonio';
21
21
  import {log} from '../log/index';
22
22
  import * as utils from '../utils/index';
23
- import * as exception from '../exception/index';
24
23
  import * as common from '../common/index';
25
24
  import * as t from '../types';
26
25
 
27
- type GenerateParams = {
28
- root: string;
29
- database: t.Database;
30
- tsconfig_path?: string;
31
- };
32
-
33
26
  export async function generate(args: t.Arguments) {
34
- const debug = args.flags?.verbose === true;
35
- ray.config.set({debug, spinner: log.spinner});
27
+ common.set_verbosity(args);
36
28
  const params = _resolve_generate_params(args);
37
29
  log.spinner.start();
38
30
  log.spinner.text(`Generating...`);
@@ -43,12 +35,21 @@ export async function generate(args: t.Arguments) {
43
35
  log.success(`Uranio successfully generated client`);
44
36
  }
45
37
 
46
- function _resolve_generate_params(args: t.Arguments): GenerateParams {
38
+ function _resolve_generate_params(args: t.Arguments): t.GenerateParams {
47
39
  const root_path = common.resolve_param_root(args);
48
40
  const tsconfig_path = _resolve_param_tsconfig_path(root_path, args);
49
- const database = _resolve_param_database(args);
41
+ const yaml_params = common.read_yaml_params(root_path);
42
+ let naming_convention = yaml_params.naming_convention;
43
+ if(!naming_convention){
44
+ naming_convention = _resolve_param_naming_convention(args);
45
+ }
46
+ let database = yaml_params.database;
47
+ if(!database){
48
+ database = _resolve_param_database(args);
49
+ }
50
50
  return {
51
51
  database,
52
+ naming_convention,
52
53
  root: root_path,
53
54
  tsconfig_path,
54
55
  };
@@ -67,22 +68,22 @@ function _resolve_param_tsconfig_path(
67
68
  function _resolve_param_database(args: t.Arguments): t.Database {
68
69
  if (args.flags && utils.valid.string(args.flags?.['database'])) {
69
70
  const db = args.flags['database'];
70
- _assert_database(db);
71
+ common.assert_database(db);
71
72
  return db;
72
73
  }
73
74
  return t.DATABASE.MONGODB;
74
75
  }
75
76
 
76
- function _assert_database(db: unknown): asserts db is t.Database {
77
- if (!Object.values(t.DATABASE).includes(db as any)) {
78
- throw new exception.UranioCLIException(
79
- `Invalid database flag value. Possible value are` +
80
- ` [${Object.values(t.DATABASE)}]. Evaluating '${db}'`
81
- );
77
+ function _resolve_param_naming_convention(args: t.Arguments): t.NamingConvention {
78
+ if (args.flags && utils.valid.string(args.flags?.['naming-convention'])) {
79
+ const naming_convention = args.flags['naming-convention'];
80
+ common.assert_naming_convention(naming_convention);
81
+ return naming_convention;
82
82
  }
83
+ return t.NAMING_CONVENTION.CAMEL_CASE;
83
84
  }
84
85
 
85
- async function _copy_dot_uranio(params: GenerateParams) {
86
+ async function _copy_dot_uranio(params: t.GenerateParams) {
86
87
  log.spinner.text(`Coping dot uranio...`);
87
88
  const dot_path = `${params.root}/node_modules/uranio/.uranio`;
88
89
  const destination_path = `${params.root}/node_modules/.uranio`;
@@ -93,7 +94,7 @@ async function _copy_dot_uranio(params: GenerateParams) {
93
94
  log.debug(`Copied dot uranio directory`);
94
95
  }
95
96
 
96
- async function _update_dot_uranio(params: GenerateParams) {
97
+ async function _update_dot_uranio(params: t.GenerateParams) {
97
98
  log.spinner.text(`Updating dot uranio files...`);
98
99
  const dot_uranio_src_path = `${params.root}/node_modules/.uranio/src`;
99
100
  const uranio_extended_interfaces = _get_uranio_extended_interfaces(params);
@@ -136,7 +137,7 @@ async function _update_dot_uranio(params: GenerateParams) {
136
137
  log.debug(`Updated dot uranio files`);
137
138
  }
138
139
 
139
- async function _build_dot_uranio(params: GenerateParams) {
140
+ async function _build_dot_uranio(params: t.GenerateParams) {
140
141
  log.spinner.text(`Transpiling dot uranio files...`);
141
142
  const copied_dot_uranio_tsconfig_path = `${params.root}/node_modules/.uranio/tsconfig.json`;
142
143
  // await ray.spawn(`yarn tsc --project ${copied_dot_uranio_tsconfig_path}`);
@@ -144,14 +145,14 @@ async function _build_dot_uranio(params: GenerateParams) {
144
145
  log.debug(`Transpiled dot uranio files`);
145
146
  }
146
147
 
147
- function _resolve_tsconfig_path(params: GenerateParams) {
148
+ function _resolve_tsconfig_path(params: t.GenerateParams) {
148
149
  if (utils.valid.string(params.tsconfig_path)) {
149
150
  return params.tsconfig_path;
150
151
  }
151
152
  return `${params.root}/tsconfig.json`;
152
153
  }
153
154
 
154
- function _get_uranio_extended_interfaces(params: GenerateParams) {
155
+ function _get_uranio_extended_interfaces(params: t.GenerateParams) {
155
156
  const tsconfig_path = _resolve_tsconfig_path(params);
156
157
  const scanned = plutonio.scan(tsconfig_path);
157
158
  // log.trace(scanned);
@@ -197,8 +198,6 @@ function _generate_mongodb_uranio_types_module_text() {
197
198
  text += ` *\n`;
198
199
  text += ` */\n`;
199
200
  text += `\n`;
200
- text += `export * from './types/index';\n`;
201
- text += `\n`;
202
201
  text += `import {mongodb_atom as atom} from './atom';\n`;
203
202
  text += `import {primary} from './atom';\n`;
204
203
  text += `export {atom, primary};\n`;
@@ -0,0 +1,105 @@
1
+ /**
2
+ *
3
+ * Init index module
4
+ *
5
+ * `init` command do the following:
6
+ *
7
+ * - ask for the following data:
8
+ * - type of database: 'mongodb' | 'mysql'
9
+ * - type of naming convention: 'snake_case' | 'camelCase' | 'same'
10
+ *
11
+ * - create a yaml file in the root directory of the project with the selected
12
+ * data.
13
+ *
14
+ * @packageDocumentation
15
+ */
16
+
17
+ import fs from 'fs';
18
+ import yaml from 'yaml';
19
+ import inquirer from 'inquirer';
20
+ import {log} from '../log/index';
21
+ import * as utils from '../utils/index';
22
+ import * as common from '../common/index';
23
+ import * as t from '../types';
24
+
25
+ export async function init(args: t.Arguments) {
26
+ common.set_verbosity(args);
27
+ const params = await _resolve_init_params(args);
28
+ log.spinner.start();
29
+ log.spinner.text(`Initializing...`);
30
+ await _create_init_yaml(params);
31
+ log.spinner.stop();
32
+ log.success(`Uranio successfully initialized`);
33
+ }
34
+
35
+ async function _create_init_yaml(params: t.InitParams): Promise<void>{
36
+ log.spinner.text(`Creating uranio.yml...`);
37
+ const yaml_params = utils.object.deep_clone(params) as any;
38
+ delete yaml_params.root;
39
+ const yaml_string = yaml.stringify(yaml_params);
40
+ const destination_path = `${params.root}/uranio.yml`;
41
+ fs.writeFileSync(destination_path, yaml_string);
42
+ log.spinner.stop();
43
+ log.debug(`Copied dot uranio directory`);
44
+ }
45
+
46
+ async function _resolve_init_params(args: t.Arguments): Promise<t.InitParams> {
47
+ const root = common.resolve_param_root(args);
48
+ let database = _resolve_param_database(args);
49
+ if (!database) {
50
+ database = await _ask_for_database();
51
+ }
52
+ let naming_convention = _resolve_param_naming_convention(args);
53
+ if (!naming_convention) {
54
+ naming_convention = await _ask_for_naming_convention();
55
+ }
56
+ return {
57
+ database,
58
+ naming_convention,
59
+ root
60
+ };
61
+ }
62
+
63
+ async function _ask_for_database(): Promise<t.Database> {
64
+ const response = await inquirer.prompt({
65
+ type: 'list',
66
+ name: 'database',
67
+ message: 'Which database do you want to use?',
68
+ choices: Object.values(t.DATABASE),
69
+ });
70
+ const database = response.database;
71
+ common.assert_database(database);
72
+ return database;
73
+ }
74
+
75
+ async function _ask_for_naming_convention(): Promise<t.NamingConvention>{
76
+ const response = await inquirer.prompt({
77
+ type: 'list',
78
+ name: 'naming_convention',
79
+ message: 'Which naming convention do you want to use?',
80
+ choices: Object.values(t.NAMING_CONVENTION),
81
+ });
82
+ const naming_convention = response.naming_convention;
83
+ common.assert_naming_convention(naming_convention);
84
+ return naming_convention;
85
+ }
86
+
87
+ function _resolve_param_database(args: t.Arguments): t.Database | null {
88
+ if (args.flags && utils.valid.string(args.flags?.['database'])) {
89
+ const db = args.flags['database'];
90
+ common.assert_database(db);
91
+ return db;
92
+ }
93
+ return null;
94
+ }
95
+
96
+ function _resolve_param_naming_convention(
97
+ args: t.Arguments
98
+ ): t.NamingConvention | null {
99
+ if (args.flags && utils.valid.string(args.flags?.['naming-convention'])) {
100
+ const naming_convention = args.flags['naming-convention'];
101
+ common.assert_naming_convention(naming_convention);
102
+ return naming_convention;
103
+ }
104
+ return null;
105
+ }
package/src/cli/main.ts CHANGED
@@ -9,6 +9,8 @@ export * from './args/index';
9
9
 
10
10
  export * from './generate/index';
11
11
 
12
+ export * from './init/index';
13
+
12
14
  export * from './types';
13
15
 
14
16
  export * from './version/index';
package/src/cli/types.ts CHANGED
@@ -7,6 +7,21 @@
7
7
 
8
8
  type ObjectValue<T> = T[keyof T];
9
9
 
10
+ export const FLAG = {
11
+ DATABASE: 'database',
12
+ NAMING_CONVETION: 'naming-convention',
13
+ ROOT: 'root',
14
+ TSCONFIG_PATH: 'tsconfig-path',
15
+ VERBOSE: 'verbose',
16
+ VERSION: 'version',
17
+ } as const;
18
+
19
+ export type Flag = ObjectValue<typeof FLAG>;
20
+
21
+ export type Flags = {
22
+ [k in Flag]: string | number | boolean
23
+ }
24
+
10
25
  export const DATABASE = {
11
26
  MONGODB: 'mongodb',
12
27
  MYSQL: 'mysql',
@@ -15,28 +30,40 @@ export const DATABASE = {
15
30
  export type Database = ObjectValue<typeof DATABASE>;
16
31
 
17
32
  export const COMMAND = {
33
+ INIT: 'init',
18
34
  GENERATE: 'generate',
19
35
  VERSION: 'version',
20
36
  } as const;
21
37
 
22
38
  export type Command = ObjectValue<typeof COMMAND>;
23
39
 
24
- export const FLAG = {
25
- DATABASE: 'database',
26
- ROOT: 'root',
27
- TSCONFIG_PATH: 'tsconfig-path',
28
- VERBOSE: 'verbose',
29
- VERSION: 'version',
40
+ export type Arguments = {
41
+ command?: Command;
42
+ flags?: Flags
43
+ };
44
+
45
+ export const NAMING_CONVENTION = {
46
+ SNAKE_CASE: 'snake_case',
47
+ CAMEL_CASE: 'camelCase',
48
+ SAME: 'same',
30
49
  } as const;
31
50
 
32
- export type Flag = ObjectValue<typeof FLAG>;
51
+ export type NamingConvention = ObjectValue<typeof NAMING_CONVENTION>;
33
52
 
34
- export type Flags = {
35
- [k in Flag]: string | number | boolean
36
- }
53
+ export type InitParams = {
54
+ database: Database;
55
+ naming_convention: NamingConvention;
56
+ root: string
57
+ };
37
58
 
38
- export type Arguments = {
39
- command?: Command;
40
- flags?: Flags
59
+ export type GenerateParams = {
60
+ database: Database;
61
+ naming_convention: NamingConvention;
62
+ root: string;
63
+ tsconfig_path?: string;
41
64
  };
42
65
 
66
+ export type YamlParams = {
67
+ database: Database;
68
+ naming_convention: NamingConvention;
69
+ }
@@ -7,3 +7,6 @@
7
7
 
8
8
  import * as valid from './valid';
9
9
  export {valid};
10
+
11
+ import * as object from './object';
12
+ export {object};
@@ -0,0 +1,24 @@
1
+ /**
2
+ *
3
+ * Utils object module
4
+ *
5
+ * @packageDocumentation
6
+ *
7
+ */
8
+
9
+ export type NoUndefinedProperties<T> = {
10
+ [P in keyof T]: NonNullable<T[P]>;
11
+ };
12
+
13
+ export function no_undefined<T extends object>(
14
+ obj: T
15
+ ): NoUndefinedProperties<T> {
16
+ return JSON.parse(JSON.stringify(obj));
17
+ }
18
+
19
+ export function deep_clone<T>(obj: T): T {
20
+ if (!obj || typeof obj !== 'object') {
21
+ return obj;
22
+ }
23
+ return JSON.parse(JSON.stringify(obj));
24
+ }
package/uranio.yml ADDED
@@ -0,0 +1,2 @@
1
+ database: mongodb
2
+ naming_convention: snake_case