UNPKG

@veecode-platform/safira-cli

Version:

Generate a microservice project from your spec.

32 lines (31 loc) 1.43 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.JavaInterfaceObject = void 0; const string_utils_1 = require("../../utils/string-utils"); class JavaInterfaceObject { constructor(classString) { this._classString = string_utils_1.StringUtils.removeComments(classString).replace(/ +/gm, " "); } get annotations() { return (this._classString.match(JavaInterfaceObject._annotationRegex) || []).map(annotation => annotation.trim()); } get extends() { return this._classString.match(JavaInterfaceObject._extendRegex[0].toString().replace(/ +/g, "").split(",")) || []; } get imports() { return (this._classString.match(JavaInterfaceObject._importRegex) || []).map(val => val.replace(/ +/, "")); } get methods() { const match = this._classString.match(JavaInterfaceObject._methodRegex); console.log(`match: ${match}`); return (match || []).map(val => val.replace(/\r?\n|\r/g, "")); } toString() { return this._classString; } } exports.JavaInterfaceObject = JavaInterfaceObject; JavaInterfaceObject._annotationRegex = /@([A-Z])\w+/g; JavaInterfaceObject._methodRegex = /(public|protected|private|static|\s) +[\s\w,<>[\]]+\s+(\w+) *\([^)]*\) *({?|[^;])*(?=;)/gm; JavaInterfaceObject._importRegex = /(?<=import)(.*?)(?=;)/gm; JavaInterfaceObject._extendRegex = /(?<=extends)(.*?)(?={)/gm;