export class RouteDescription { path; /** * @type {RouteMethodList} */ methods; /** * @param data {RouteDescription} */ constructor(data) { for (const key of Object.keys(data)) { this[key] = data[key]; } } } export class RouteMethodList { /** * @type {RouteMethod} */ get; /** * @type {RouteMethod} */ post; /** * @type {RouteMethod} */ put; /** * @type {RouteMethod} */ delete; /** * @type {RouteMethod} */ patch; /** * @param data {RouteMethodList} */ constructor(data) { for (const key of Object.keys(data)) { this[key] = data[key]; } } } export class RouteMethod { /** * @type {Array} */ middlewares = []; /** * @type {Promise} */ method; description; exampleBody; /* * @type {Map} */ exampleHeaders = []; /** * @param data {RouteMethod} */ constructor(data) { for (const key of Object.keys(data)) { this[key] = data[key]; } } }