libpiggy
Version:
Use a PostgreSQL database like a JSON document store.
55 lines (42 loc) • 1.29 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _asyncToGenerator2 = require('babel-runtime/helpers/asyncToGenerator');
var _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2);
var _createClient = require('./create-client');
var _createClient2 = _interopRequireDefault(_createClient);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
const getTableColumns = (() => {
var _ref = (0, _asyncToGenerator3.default)(function* ({ client, table, options }, globals) {
let clientCreated = false;
try {
if (!client) {
client = yield (0, _createClient2.default)(options, globals);
clientCreated = true;
}
const text = `
SELECT *
FROM information_schema.columns
WHERE table_schema = 'public'
AND table_name = "${table}"
`;
const results = yield client.query({ text });
return {
client,
results,
columns: results.rows
};
} catch (error) {
throw error;
} finally {
if (clientCreated) {
client.close();
}
}
});
return function getTableColumns(_x, _x2) {
return _ref.apply(this, arguments);
};
})();
exports.default = getTableColumns;