UNPKG

typescript-mysql-model

Version:

{ "version": "1.3.0", "name": "typescript-mysql-model", "description": "", "main": "index.js", "types": "index.d.ts", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "repository": { "type": "git", "url": "

29 lines (28 loc) 1.08 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const changeCase = require("change-case"); const fs = require("fs"); class QlEnumBuilder { static render(enums, tableName, outputDir) { const intro = `import { GraphQLEnumType } from "graphql";`; if (!enums.length) { return; } const strExports = enums.map(e => this.createEnum(e.field, e.options)).join("\n\n"); const output = `${intro}\n\n${strExports}\n`; const path = outputDir + "/" + changeCase.paramCase(tableName) + "-ql-enums.generated"; fs.writeFileSync(path, output); } static createEnum(column, values) { const rows = values.map(v => `${v}: { value: "${v}" }`); return `const ${changeCase.camel(column)} = new GraphQLEnumType({ name: "${changeCase.constantCase(column)}", values: { ${rows.join(",\n\t\t")} } }); export { ${changeCase.camel(column)} as ${changeCase.pascal(column)}Enum };`; } } exports.QlEnumBuilder = QlEnumBuilder; //# sourceMappingURL=ql-enum-builder.js.map