123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- var textParsers = require('./lib/textParsers');
- var binaryParsers = require('./lib/binaryParsers');
- var arrayParser = require('./lib/arrayParser');
- var builtinTypes = require('./lib/builtins');
- exports.getTypeParser = getTypeParser;
- exports.setTypeParser = setTypeParser;
- exports.arrayParser = arrayParser;
- exports.builtins = builtinTypes;
- var typeParsers = {
- text: {},
- binary: {}
- };
- //the empty parse function
- function noParse (val) {
- return String(val);
- };
- //returns a function used to convert a specific type (specified by
- //oid) into a result javascript type
- //note: the oid can be obtained via the following sql query:
- //SELECT oid FROM pg_type WHERE typname = 'TYPE_NAME_HERE';
- function getTypeParser (oid, format) {
- format = format || 'text';
- if (!typeParsers[format]) {
- return noParse;
- }
- return typeParsers[format][oid] || noParse;
- };
- function setTypeParser (oid, format, parseFn) {
- if(typeof format == 'function') {
- parseFn = format;
- format = 'text';
- }
- typeParsers[format][oid] = parseFn;
- };
- textParsers.init(function(oid, converter) {
- typeParsers.text[oid] = converter;
- });
- binaryParsers.init(function(oid, converter) {
- typeParsers.binary[oid] = converter;
- });
|