Skip to main content
Glama

MCP Hospital Assistant

by ajay800800
result.js2.73 kB
'use strict' const types = require('pg-types') const matchRegexp = /^([A-Za-z]+)(?: (\d+))?(?: (\d+))?/ // result object returned from query // in the 'end' event and also // passed as second argument to provided callback class Result { constructor(rowMode, types) { this.command = null this.rowCount = null this.oid = null this.rows = [] this.fields = [] this._parsers = undefined this._types = types this.RowCtor = null this.rowAsArray = rowMode === 'array' if (this.rowAsArray) { this.parseRow = this._parseRowAsArray } this._prebuiltEmptyResultObject = null } // adds a command complete message addCommandComplete(msg) { let match if (msg.text) { // pure javascript match = matchRegexp.exec(msg.text) } else { // native bindings match = matchRegexp.exec(msg.command) } if (match) { this.command = match[1] if (match[3]) { // COMMAND OID ROWS this.oid = parseInt(match[2], 10) this.rowCount = parseInt(match[3], 10) } else if (match[2]) { // COMMAND ROWS this.rowCount = parseInt(match[2], 10) } } } _parseRowAsArray(rowData) { const row = new Array(rowData.length) for (let i = 0, len = rowData.length; i < len; i++) { const rawValue = rowData[i] if (rawValue !== null) { row[i] = this._parsers[i](rawValue) } else { row[i] = null } } return row } parseRow(rowData) { const row = { ...this._prebuiltEmptyResultObject } for (let i = 0, len = rowData.length; i < len; i++) { const rawValue = rowData[i] const field = this.fields[i].name if (rawValue !== null) { row[field] = this._parsers[i](rawValue) } else { row[field] = null } } return row } addRow(row) { this.rows.push(row) } addFields(fieldDescriptions) { // clears field definitions // multiple query statements in 1 action can result in multiple sets // of rowDescriptions...eg: 'select NOW(); select 1::int;' // you need to reset the fields this.fields = fieldDescriptions if (this.fields.length) { this._parsers = new Array(fieldDescriptions.length) } const row = {} for (let i = 0; i < fieldDescriptions.length; i++) { const desc = fieldDescriptions[i] row[desc.name] = null if (this._types) { this._parsers[i] = this._types.getTypeParser(desc.dataTypeID, desc.format || 'text') } else { this._parsers[i] = types.getTypeParser(desc.dataTypeID, desc.format || 'text') } } this._prebuiltEmptyResultObject = { ...row } } } module.exports = Result

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ajay800800/doc_mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server