hades-cli
Version:
Hades CLI developer tool
137 lines (136 loc) • 5.57 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.cliterConfig = void 0;
const faker = require("faker");
const dayjs = require("dayjs");
exports.cliterConfig = {
configYamlVersion: '1.0.0',
lockJsonVersion: '1.0.0',
timestampFields: ['created_at', 'updated_at', 'deleted_at'],
deletedAtField: ['deleted_at'],
sqlTypesEquivalenceJavascriptTypes: {
'varchar': 'string',
'password': 'string',
'char': 'string',
'text': 'string',
'enum': 'string',
'int': 'number',
'int.unsigned': 'number',
'smallint': 'number',
'smallint.unsigned': 'number',
'decimal': 'number',
'float': 'number',
'boolean': 'boolean',
'json': 'any',
'id': 'string',
'timestamp': 'string',
'manyToMany': 'string[]'
},
sqlTypesEquivalenceApiTypes: {
'varchar': 'String',
'password': 'String',
'char': 'String',
'text': 'String',
'enum': 'String',
'int': 'Number',
'int.unsigned': 'Number',
'smallint': 'Number',
'smallint.unsigned': 'Number',
'decimal': 'Number',
'float': 'Number',
'boolean': 'Boolean',
'json': 'Object',
'id': 'String',
'timestamp': 'String',
'manyToMany': '[String]'
},
sqlTypesEquivalenceQraphqlTypes: {
'varchar': 'GraphQLString',
'password': 'GraphQLString',
'char': 'GraphQLString',
'text': 'GraphQLString',
'enum': 'GraphQLString',
'int': 'GraphQLInt',
'int.unsigned': 'GraphQLInt',
'smallint': 'GraphQLInt',
'smallint.unsigned': 'GraphQLInt',
'decimal': 'GraphQLFloat',
'float': 'GraphQLFloat',
'boolean': 'GraphQLBoolean',
'json': 'JSON',
'id': 'ID',
'timestamp': 'GraphQLTimestamp',
'manyToMany': '[ID]'
},
sqlTypesEquivalenceSequelizeTypes: {
'varchar': (length) => `DataTypes.STRING(${length === null || length === void 0 ? void 0 : length.toString()})`,
'password': (length) => `DataTypes.STRING(${length === null || length === void 0 ? void 0 : length.toString()})`,
'char': (length) => `DataTypes.CHAR(${length === null || length === void 0 ? void 0 : length.toString()})`,
'text': (length) => 'DataTypes.TEXT',
'enum': (values) => `DataTypes.ENUM(${values})`,
'int': (length) => 'DataTypes.INTEGER',
'int.unsigned': (length) => 'DataTypes.INTEGER.UNSIGNED',
'smallint': (length) => 'DataTypes.SMALLINT',
'smallint.unsigned': (length) => 'DataTypes.SMALLINT.UNSIGNED',
'decimal': (decimals) => `DataTypes.DECIMAL(${decimals.join()})`,
'float': (length) => 'DataTypes.FLOAT',
'boolean': (length) => 'DataTypes.BOOLEAN',
'json': (length) => 'DataTypes.JSON',
'id': (length) => 'DataTypes.UUID',
'timestamp': (length) => 'DataTypes.DATE',
},
defaultTypeLength: {
'varchar': 255,
'password': 255,
'char': 127,
'int': 10,
'int.unsigned': 10,
'smallint': 6,
'smallint.unsigned': 6,
},
fakerRelation: {
'varchar': (length) => faker.random.alphaNumeric(length),
'password': (length) => faker.random.alphaNumeric(length),
'char': (length) => faker.random.alphaNumeric(length),
'text': (length) => faker.lorem.paragraph(),
'enum': (length) => faker.lorem.paragraph(),
'int': (length) => Math.floor(+(1 + '0'.repeat(length - 1)) + Math.random() * +(9 + '0'.repeat(length - 1))),
'int.unsigned': (length) => Math.floor(+(1 + '0'.repeat(length - 1)) + Math.random() * +(9 + '0'.repeat(length - 1))),
'smallint': (length) => Math.floor(+(1 + '0'.repeat(length - 1)) + Math.random() * +(9 + '0'.repeat(length - 1))),
'smallint.unsigned': (length) => Math.floor(+(1 + '0'.repeat(length - 1)) + Math.random() * +(9 + '0'.repeat(length - 1))),
'float': (length) => !!length ? Math.floor(+(1 + '0'.repeat(length - 1)) + Math.random() * +(9 + '0'.repeat(length - 1))) : faker.datatype.float(),
'decimal': (length) => !!length ? Math.floor(+(1 + '0'.repeat(length - 1)) + Math.random() * +(9 + '0'.repeat(length - 1))) : faker.datatype.float(),
'boolean': (length) => faker.datatype.boolean(),
'json': (length) => '{ "foo" : "bar" }',
'id': (length) => faker.datatype.uuid(),
'timestamp': (length) => dayjs(faker.date.recent()).format('YYYY-MM-DD HH:mm:ss'),
},
quotationTypes: {
'varchar': true,
'password': true,
'char': true,
'text': true,
'enum': true,
'int': false,
'int.unsigned': false,
'smallint': false,
'smallint.unsigned': false,
'decimal': false,
'float': false,
'boolean': false,
'json': false,
'id': true,
'timestamp': true,
},
fileTags: {
'ignoredFile': '8ca93fe73cc6e48cde17e74342122d3b86210ff5',
'ignoredGraphQLFile': '03b1aa4e5de61b13327591869a4c96d5f82de70c', // # ignored file (for GraphQL)
},
compareActions: {
'deleteOrigin': 'Delete origin file and load next',
'selectFile': 'Select file to compare',
'finish': 'Finish comparison',
},
skipDirectories: ['node_modules', 'dist', 'coverage', 'cliter'],
avoidOverwritingFilesIfExist: ['module/index.ts', 'framework/__bounded_context_name__.module.ts']
};