UNPKG

asciidoctor-liquibase

Version:

Asciidoctor.js extension to render liquibase changesets as entity relationship diagram

59 lines (55 loc) 2.4 kB
// *** WARNING: DO NOT MODIFY *** This is a generated JavaScript source code! // // Generated by LF-ET 2.2.1 (230826a), https://www.lohrfink.de/lfet // From decision table // "/opt/data/github/asciidoctor/asciidoctor-liquibase/lfet/extractor/addPrimaryKey.lfet" // 10.09.2023 22:30 // // Changes to this code resulting from refactorings can be synchronised // with LF-ET using the function "Scrapbook Import". // // Prolog Decision Table ----> const { stringify } = require('../utils') function addPrimaryKey (element, currentFile, processModel, logger, vfs) { // Prolog Decision Table <---- // Condition B01/01: definition is based on ... format / yaml / yaml definition if (currentFile.endsWith('yaml')) { // Rule R01 ----> // Trace ----> logger.info(`addPrimaryKey - 20230910.223007 - 1 / 3 - ${currentFile} - ${stringify(processModel)}`) // Trace <---- // Action A01/01: extract ... / yaml / extract table on yaml definition const tableName = element.addPrimaryKey.tableName const columnName = element.addPrimaryKey.columnNames processModel.tables.get(tableName).columns.get(columnName).primaryKey = true // Rule R01 <---- // Condition B01/02: definition is based on ... format / xml / xml definition } else if (currentFile.endsWith('xml')) { // Rule R02 ----> // Trace ----> logger.info(`addPrimaryKey - 20230910.223007 - 2 / 3 - ${currentFile} - ${stringify(processModel)}`) // Trace <---- // Action A01/02: extract ... / xml / extract on xml definition const table = processModel.tables.get(element.$.tableName) const columnNames = element.$.columnNames table.columns.get(columnNames).primaryKey = true // Rule R02 <---- } else { // Rule R03 ----> // Trace ----> logger.info(`addPrimaryKey - 20230910.223007 - 3 / 3 - ${currentFile} - ${stringify(processModel)}`) // Trace <---- // Action A02/01: error / X / execute action logger.error(`addPrimaryKey - 20230910.223007 - Format for ${currentFile} is not supported.`) // Rule R03 <---- } // Epilog Decision Table ----> } module.exports = { extract: (element, currentFile, processModel, logger, vfs) => { return addPrimaryKey(element, currentFile, processModel, logger, vfs) } } // Epilog Decision Table <---- // End of generated JavaScript source code // Generated by LF-ET 2.2.1 (230826a), https://www.lohrfink.de/lfet