quick-erd
Version:
quick and easy text-based ERD + code generator for migration, query, typescript types and orm entity
73 lines (72 loc) • 3.14 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.colors = exports.tableTextColorRegex = exports.tableBgColorRegex = exports.diagramTextColorRegex = exports.diagramBgColorRegex = exports.textColorRegex = exports.textBgColorRegex = exports.tableNameRegex_g = exports.tableNameRegex = exports.viewPositionRegex = exports.viewLineRegex = exports.zoomValueRegex = exports.zoomLineRegex = void 0;
exports.zoomToLine = zoomToLine;
exports.viewToLine = viewToLine;
exports.tableNameToRegex = tableNameToRegex;
exports.tableNameToLine = tableNameToLine;
exports.textBgColorToLine = textBgColorToLine;
exports.textColorToLine = textColorToLine;
exports.diagramBgColorToLine = diagramBgColorToLine;
exports.diagramTextColorToLine = diagramTextColorToLine;
exports.tableBgColorToLine = tableBgColorToLine;
exports.tableTextColorToLine = tableTextColorToLine;
exports.zoomLineRegex = /# zoom: [0-9.]+/;
exports.zoomValueRegex = /# zoom: ([0-9.]+)/;
function zoomToLine(zoom) {
return `# zoom: ${zoom.toFixed(3)}`;
}
exports.viewLineRegex = /# view: \([0-9-]+, [0-9-]+\)/;
exports.viewPositionRegex = /# view: \(([0-9-.]+), ([0-9-.]+)\)/;
function viewToLine(view) {
const x = view.x.toFixed(0);
const y = view.y.toFixed(0);
return `# view: (${x}, ${y})`;
}
exports.tableNameRegex = /# (\w+) \(([0-9-]+), ([0-9-]+),? ?(#[0-9a-f]+)?\)/;
exports.tableNameRegex_g = new RegExp(exports.tableNameRegex.toString().slice(1, -1), 'g');
function tableNameToRegex(name) {
return new RegExp(`# ${name} \\([0-9-]+, [0-9-]+[, #0-9a-f]*\\)`);
}
function tableNameToLine(name, position) {
const x = position.x.toFixed(0);
const y = position.y.toFixed(0);
return position.color
? `# ${name} (${x}, ${y}, ${position.color})`
: `# ${name} (${x}, ${y})`;
}
exports.textBgColorRegex = /# text-bg: (#\w+)/;
function textBgColorToLine(color) {
return `# text-bg: ${color}`;
}
exports.textColorRegex = /# text-color: (#\w+)/;
function textColorToLine(color) {
return `# text-color: ${color}`;
}
exports.diagramBgColorRegex = /# diagram-bg: (#\w+)/;
function diagramBgColorToLine(color) {
return `# diagram-bg: ${color}`;
}
exports.diagramTextColorRegex = /# diagram-text: (#\w+)/;
function diagramTextColorToLine(color) {
return `# diagram-text: ${color}`;
}
exports.tableBgColorRegex = /# table-bg: (#\w+)/;
function tableBgColorToLine(color) {
return `# table-bg: ${color}`;
}
exports.tableTextColorRegex = /# table-text: (#\w+)/;
function tableTextColorToLine(color) {
return `# table-text: ${color}`;
}
exports.colors = {
textBgColor: { regex: exports.textBgColorRegex, toLine: textBgColorToLine },
textColor: { regex: exports.textColorRegex, toLine: textColorToLine },
diagramBgColor: { regex: exports.diagramBgColorRegex, toLine: diagramBgColorToLine },
diagramTextColor: {
regex: exports.diagramTextColorRegex,
toLine: diagramTextColorToLine,
},
tableBgColor: { regex: exports.tableBgColorRegex, toLine: tableBgColorToLine },
tableTextColor: { regex: exports.tableTextColorRegex, toLine: tableTextColorToLine },
};
;