UNPKG

sql-code-generator

Version:

Generate code from your SQL schema and queries for type safety and development speed.

37 lines 1.91 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.extractTypeDefinitionFromQuerySql = void 0; const sql_strip_comments_1 = __importDefault(require("sql-strip-comments")); const TypeDefinitionOfQuery_1 = require("../../../domain/objects/TypeDefinitionOfQuery"); const extractInputVariablesFromQuerySql_1 = require("./extractInputVariablesFromQuerySql/extractInputVariablesFromQuerySql"); const extractSelectExpressionsFromQuerySql_1 = require("./extractSelectExpressionsFromQuerySql/extractSelectExpressionsFromQuerySql"); const extractTableReferencesFromQuerySql_1 = require("./extractTableReferencesFromQuerySql/extractTableReferencesFromQuerySql"); const extractTypeDefinitionFromQuerySql = ({ name, path, sql, }) => { // 0. strip out comments const strippedSql = (0, sql_strip_comments_1.default)(sql); // 1. grab the selectExpression definitions const selectExpressions = (0, extractSelectExpressionsFromQuerySql_1.extractSelectExpressionsFromQuerySql)({ sql: strippedSql, }); // 2. grab the table reference definitions const tableReferences = (0, extractTableReferencesFromQuerySql_1.extractTableReferencesFromQuerySql)({ sql: strippedSql, }); // 3. grab the input variable definitions const inputVariables = (0, extractInputVariablesFromQuerySql_1.extractInputVariablesFromQuerySql)({ sql: strippedSql, }); // 4. return the full query typedef return new TypeDefinitionOfQuery_1.TypeDefinitionOfQuery({ name, path, selectExpressions, tableReferences, inputVariables, }); }; exports.extractTypeDefinitionFromQuerySql = extractTypeDefinitionFromQuerySql; //# sourceMappingURL=extractTypeDefinitionFromQuerySql.js.map