postgrejs 2.16.0 → 2.17.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (72) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/esm/connection/bind-param.js +1 -5
  3. package/esm/connection/connection.js +16 -20
  4. package/esm/connection/cursor.js +10 -15
  5. package/esm/connection/intl-connection.js +41 -46
  6. package/esm/connection/pool.js +28 -32
  7. package/esm/connection/portal.js +27 -31
  8. package/esm/connection/prepared-statement.js +31 -35
  9. package/esm/constants.js +122 -125
  10. package/esm/data-type-map.js +71 -75
  11. package/esm/data-types/bool-type.js +7 -10
  12. package/esm/data-types/box-type.js +7 -10
  13. package/esm/data-types/bytea-type.js +9 -13
  14. package/esm/data-types/char-type.js +7 -10
  15. package/esm/data-types/circle-type.js +7 -10
  16. package/esm/data-types/date-type.js +12 -15
  17. package/esm/data-types/float4-type.js +7 -10
  18. package/esm/data-types/float8-type.js +7 -10
  19. package/esm/data-types/int2-type.js +10 -13
  20. package/esm/data-types/int2-vector-type.js +13 -16
  21. package/esm/data-types/int4-type.js +10 -13
  22. package/esm/data-types/int8-type.js +9 -12
  23. package/esm/data-types/json-type.js +9 -12
  24. package/esm/data-types/jsonb-type.js +11 -14
  25. package/esm/data-types/lseg-type.js +7 -10
  26. package/esm/data-types/numeric-type.js +8 -12
  27. package/esm/data-types/oid-type.js +15 -18
  28. package/esm/data-types/point-type.js +7 -10
  29. package/esm/data-types/time-type.js +13 -16
  30. package/esm/data-types/timestamp-type.js +12 -15
  31. package/esm/data-types/timestamptz-type.js +12 -15
  32. package/esm/data-types/uuid-type.js +7 -10
  33. package/esm/data-types/varchar-type.js +7 -10
  34. package/esm/index.js +25 -28
  35. package/esm/interfaces/command-result.js +1 -2
  36. package/esm/interfaces/data-mapping-options.js +1 -2
  37. package/esm/interfaces/data-type.js +1 -2
  38. package/esm/interfaces/database-connection-params.js +1 -2
  39. package/esm/interfaces/field-info.js +1 -2
  40. package/esm/interfaces/query-options.js +1 -2
  41. package/esm/interfaces/query-result.js +1 -2
  42. package/esm/interfaces/script-execute-options.js +1 -2
  43. package/esm/interfaces/script-result.js +1 -2
  44. package/esm/interfaces/statement-prepare-options.js +1 -2
  45. package/esm/protocol/backend.js +24 -28
  46. package/esm/protocol/buffer-reader.js +1 -5
  47. package/esm/protocol/database-error.js +1 -5
  48. package/esm/protocol/frontend.js +27 -31
  49. package/esm/protocol/pg-socket.js +48 -53
  50. package/esm/protocol/protocol.js +2 -5
  51. package/esm/protocol/sasl.js +7 -11
  52. package/esm/protocol/smart-buffer.js +5 -10
  53. package/esm/safe-event-emitter.js +2 -6
  54. package/esm/types.js +1 -2
  55. package/esm/util/array-calculatedim.js +1 -4
  56. package/esm/util/bigint-methods.js +2 -6
  57. package/esm/util/config-from-env.js +5 -8
  58. package/esm/util/connection-config.js +8 -13
  59. package/esm/util/convert-row-to-object.js +1 -4
  60. package/esm/util/decode-binaryarray.js +3 -6
  61. package/esm/util/encode-binaryarray.js +5 -8
  62. package/esm/util/escape-literal.js +1 -4
  63. package/esm/util/fast-parseint.js +1 -4
  64. package/esm/util/get-parsers.js +8 -11
  65. package/esm/util/parse-array.js +1 -4
  66. package/esm/util/parse-datetime.js +5 -8
  67. package/esm/util/parse-row.js +1 -4
  68. package/esm/util/parse-time.js +8 -12
  69. package/esm/util/stringify-arrayliteral.js +3 -6
  70. package/esm/util/stringify-for-sql.js +8 -12
  71. package/esm/util/wrap-row-description.js +6 -9
  72. package/package.json +3 -3
@@ -1,21 +1,18 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PreparedStatement = void 0;
4
- const putil_varhelpers_1 = require("putil-varhelpers");
5
- const constants_js_1 = require("../constants.js");
6
- const data_type_map_js_1 = require("../data-type-map.js");
7
- const protocol_js_1 = require("../protocol/protocol.js");
8
- const safe_event_emitter_js_1 = require("../safe-event-emitter.js");
9
- const convert_row_to_object_js_1 = require("../util/convert-row-to-object.js");
10
- const get_parsers_js_1 = require("../util/get-parsers.js");
11
- const parse_row_js_1 = require("../util/parse-row.js");
12
- const wrap_row_description_js_1 = require("../util/wrap-row-description.js");
13
- const cursor_js_1 = require("./cursor.js");
14
- const intl_connection_js_1 = require("./intl-connection.js");
15
- const portal_js_1 = require("./portal.js");
1
+ import { coerceToBoolean } from 'putil-varhelpers';
2
+ import { DEFAULT_COLUMN_FORMAT } from '../constants.js';
3
+ import { GlobalTypeMap } from '../data-type-map.js';
4
+ import { Protocol } from '../protocol/protocol.js';
5
+ import { SafeEventEmitter } from '../safe-event-emitter.js';
6
+ import { convertRowToObject } from '../util/convert-row-to-object.js';
7
+ import { getParsers } from '../util/get-parsers.js';
8
+ import { parseRow } from '../util/parse-row.js';
9
+ import { wrapRowDescription } from '../util/wrap-row-description.js';
10
+ import { Cursor } from './cursor.js';
11
+ import { getIntlConnection } from './intl-connection.js';
12
+ import { Portal } from './portal.js';
16
13
  let statementCounter = 0;
17
14
  let portalCounter = 0;
18
- class PreparedStatement extends safe_event_emitter_js_1.SafeEventEmitter {
15
+ export class PreparedStatement extends SafeEventEmitter {
19
16
  constructor(connection, sql, paramTypes) {
20
17
  super();
21
18
  this._sql = '';
@@ -28,7 +25,7 @@ class PreparedStatement extends safe_event_emitter_js_1.SafeEventEmitter {
28
25
  this._onErrorSavePoint = 'SP_' + Math.round(Math.random() * 100000000);
29
26
  }
30
27
  static async prepare(connection, sql, options) {
31
- const intoCon = (0, intl_connection_js_1.getIntlConnection)(connection);
28
+ const intoCon = getIntlConnection(connection);
32
29
  intoCon.assertConnected();
33
30
  const socket = intoCon.socket;
34
31
  const statement = new PreparedStatement(connection, sql, options?.paramTypes);
@@ -44,7 +41,7 @@ class PreparedStatement extends safe_event_emitter_js_1.SafeEventEmitter {
44
41
  socket.sendFlushMessage();
45
42
  try {
46
43
  await socket.capture(async (code, msg, done) => {
47
- if (code === protocol_js_1.Protocol.BackendMessageCode.ParseComplete)
44
+ if (code === Protocol.BackendMessageCode.ParseComplete)
48
45
  done();
49
46
  // May be Protocol.BackendMessageCode.NoticeResponse
50
47
  });
@@ -52,7 +49,7 @@ class PreparedStatement extends safe_event_emitter_js_1.SafeEventEmitter {
52
49
  finally {
53
50
  socket.sendSyncMessage();
54
51
  await socket.capture(async (code, msg, done) => {
55
- if (code === protocol_js_1.Protocol.BackendMessageCode.ReadyForQuery)
52
+ if (code === Protocol.BackendMessageCode.ReadyForQuery)
56
53
  done();
57
54
  // May be Protocol.BackendMessageCode.NoticeResponse
58
55
  });
@@ -79,7 +76,7 @@ class PreparedStatement extends safe_event_emitter_js_1.SafeEventEmitter {
79
76
  return this._paramTypes;
80
77
  }
81
78
  async execute(options = {}) {
82
- const intlCon = (0, intl_connection_js_1.getIntlConnection)(this.connection);
79
+ const intlCon = getIntlConnection(this.connection);
83
80
  const transactionCommand = this.sql.match(/^(\bBEGIN\b|\bCOMMIT\b|\bSTART\b|\bROLLBACK|SAVEPOINT|RELEASE\b)/i);
84
81
  let beginFirst = false;
85
82
  let commitLast = false;
@@ -96,7 +93,7 @@ class PreparedStatement extends safe_event_emitter_js_1.SafeEventEmitter {
96
93
  const rollbackOnError = !transactionCommand &&
97
94
  (options?.rollbackOnError != null
98
95
  ? options.rollbackOnError
99
- : (0, putil_varhelpers_1.coerceToBoolean)(intlCon.config.rollbackOnError, true));
96
+ : coerceToBoolean(intlCon.config.rollbackOnError, true));
100
97
  if (intlCon.inTransaction && rollbackOnError)
101
98
  await intlCon.execute('SAVEPOINT ' + this._onErrorSavePoint);
102
99
  try {
@@ -119,7 +116,7 @@ class PreparedStatement extends safe_event_emitter_js_1.SafeEventEmitter {
119
116
  --this._refCount;
120
117
  if (this._refCount > 0)
121
118
  return;
122
- const intoCon = (0, intl_connection_js_1.getIntlConnection)(this.connection);
119
+ const intoCon = getIntlConnection(this.connection);
123
120
  await intoCon.statementQueue.enqueue(() => this._close()).toPromise();
124
121
  }
125
122
  async cancel() {
@@ -127,7 +124,7 @@ class PreparedStatement extends safe_event_emitter_js_1.SafeEventEmitter {
127
124
  }
128
125
  async _execute(options = {}) {
129
126
  let portal;
130
- const intlCon = (0, intl_connection_js_1.getIntlConnection)(this.connection);
127
+ const intlCon = getIntlConnection(this.connection);
131
128
  intlCon.ref();
132
129
  try {
133
130
  const result = { command: undefined };
@@ -135,19 +132,19 @@ class PreparedStatement extends safe_event_emitter_js_1.SafeEventEmitter {
135
132
  const t = Date.now();
136
133
  // Create portal
137
134
  const portalName = 'P_' + ++portalCounter;
138
- portal = new portal_js_1.Portal(this, portalName);
135
+ portal = new Portal(this, portalName);
139
136
  await portal.bind(options.params, options);
140
137
  const fields = await portal.retrieveFields();
141
- const typeMap = options.typeMap || data_type_map_js_1.GlobalTypeMap;
138
+ const typeMap = options.typeMap || GlobalTypeMap;
142
139
  let parsers;
143
140
  let resultFields;
144
141
  if (fields) {
145
- parsers = (0, get_parsers_js_1.getParsers)(typeMap, fields);
146
- resultFields = (0, wrap_row_description_js_1.wrapRowDescription)(typeMap, fields, options.columnFormat || constants_js_1.DEFAULT_COLUMN_FORMAT);
142
+ parsers = getParsers(typeMap, fields);
143
+ resultFields = wrapRowDescription(typeMap, fields, options.columnFormat || DEFAULT_COLUMN_FORMAT);
147
144
  result.fields = resultFields;
148
145
  result.rowType = options.objectRows ? 'object' : 'array';
149
146
  if (options.cursor) {
150
- result.cursor = new cursor_js_1.Cursor(this, portal, resultFields, parsers, options);
147
+ result.cursor = new Cursor(this, portal, resultFields, parsers, options);
151
148
  this._refCount++;
152
149
  portal = undefined;
153
150
  return result;
@@ -165,9 +162,9 @@ class PreparedStatement extends safe_event_emitter_js_1.SafeEventEmitter {
165
162
  let row;
166
163
  for (let i = 0; i < l; i++) {
167
164
  row = rows[i];
168
- (0, parse_row_js_1.parseRow)(parsers, row, options);
165
+ parseRow(parsers, row, options);
169
166
  if (options.objectRows) {
170
- rows[i] = (0, convert_row_to_object_js_1.convertRowToObject)(resultFields, row);
167
+ rows[i] = convertRowToObject(resultFields, row);
171
168
  }
172
169
  }
173
170
  }
@@ -186,7 +183,7 @@ class PreparedStatement extends safe_event_emitter_js_1.SafeEventEmitter {
186
183
  async _close() {
187
184
  if (--this._refCount > 0)
188
185
  return;
189
- const intoCon = (0, intl_connection_js_1.getIntlConnection)(this.connection);
186
+ const intoCon = getIntlConnection(this.connection);
190
187
  intoCon.ref();
191
188
  try {
192
189
  const socket = intoCon.socket;
@@ -194,12 +191,12 @@ class PreparedStatement extends safe_event_emitter_js_1.SafeEventEmitter {
194
191
  socket.sendSyncMessage();
195
192
  await socket.capture(async (code, msg, done) => {
196
193
  switch (code) {
197
- case protocol_js_1.Protocol.BackendMessageCode.NoticeResponse:
194
+ case Protocol.BackendMessageCode.NoticeResponse:
198
195
  this.emit('notice', msg);
199
196
  break;
200
- case protocol_js_1.Protocol.BackendMessageCode.CloseComplete:
197
+ case Protocol.BackendMessageCode.CloseComplete:
201
198
  break;
202
- case protocol_js_1.Protocol.BackendMessageCode.ReadyForQuery:
199
+ case Protocol.BackendMessageCode.ReadyForQuery:
203
200
  intoCon.transactionStatus = msg.status;
204
201
  done();
205
202
  break;
@@ -217,4 +214,3 @@ class PreparedStatement extends safe_event_emitter_js_1.SafeEventEmitter {
217
214
  return this.close();
218
215
  }
219
216
  }
220
- exports.PreparedStatement = PreparedStatement;
package/esm/constants.js CHANGED
@@ -1,21 +1,18 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DataTypeNames = exports.DataTypeOIDs = exports.ConnectionState = exports.DEFAULT_COLUMN_FORMAT = exports.DataFormat = void 0;
4
- const protocol_js_1 = require("./protocol/protocol.js");
5
- var DataFormat = protocol_js_1.Protocol.DataFormat;
6
- exports.DataFormat = DataFormat;
1
+ import { Protocol } from './protocol/protocol.js';
2
+ var DataFormat = Protocol.DataFormat;
7
3
  // @ts-ignore
8
4
  Symbol.asyncDispose ?? (Symbol.asyncDispose = Symbol('Symbol.asyncDispose'));
9
- exports.DEFAULT_COLUMN_FORMAT = DataFormat.binary;
10
- var ConnectionState;
5
+ export { DataFormat };
6
+ export const DEFAULT_COLUMN_FORMAT = DataFormat.binary;
7
+ export var ConnectionState;
11
8
  (function (ConnectionState) {
12
9
  ConnectionState[ConnectionState["CLOSED"] = 0] = "CLOSED";
13
10
  ConnectionState[ConnectionState["CONNECTING"] = 1] = "CONNECTING";
14
11
  ConnectionState[ConnectionState["AUTHORIZING"] = 3] = "AUTHORIZING";
15
12
  ConnectionState[ConnectionState["READY"] = 2] = "READY";
16
13
  ConnectionState[ConnectionState["CLOSING"] = 10] = "CLOSING";
17
- })(ConnectionState || (exports.ConnectionState = ConnectionState = {}));
18
- exports.DataTypeOIDs = {
14
+ })(ConnectionState || (ConnectionState = {}));
15
+ export const DataTypeOIDs = {
19
16
  bool: 16,
20
17
  bytea: 17,
21
18
  char: 18,
@@ -132,119 +129,119 @@ exports.DataTypeOIDs = {
132
129
  _uuid: 2951,
133
130
  _jsonb: 3807,
134
131
  };
135
- exports.DataTypeNames = {
136
- [exports.DataTypeOIDs.bool]: 'bool',
137
- [exports.DataTypeOIDs.bytea]: 'bytea',
138
- [exports.DataTypeOIDs.char]: 'char',
139
- [exports.DataTypeOIDs.name]: 'name',
140
- [exports.DataTypeOIDs.int8]: 'int8',
141
- [exports.DataTypeOIDs.int2]: 'int2',
142
- [exports.DataTypeOIDs.int2vector]: 'int2vector',
143
- [exports.DataTypeOIDs.int4]: 'int4',
144
- [exports.DataTypeOIDs.regproc]: 'regproc',
145
- [exports.DataTypeOIDs.text]: 'text',
146
- [exports.DataTypeOIDs.oid]: 'oid',
147
- [exports.DataTypeOIDs.tid]: 'tid',
148
- [exports.DataTypeOIDs.xid]: 'xid',
149
- [exports.DataTypeOIDs.cid]: 'cid',
150
- [exports.DataTypeOIDs.oidvector]: 'oidvector',
151
- [exports.DataTypeOIDs.json]: 'json',
152
- [exports.DataTypeOIDs.xml]: 'xml',
153
- [exports.DataTypeOIDs.point]: 'point',
154
- [exports.DataTypeOIDs.lseg]: 'lseg',
155
- [exports.DataTypeOIDs.path]: 'path',
156
- [exports.DataTypeOIDs.box]: 'box',
157
- [exports.DataTypeOIDs.polygon]: 'polygon',
158
- [exports.DataTypeOIDs.line]: 'line',
159
- [exports.DataTypeOIDs.cidr]: 'cidr',
160
- [exports.DataTypeOIDs.float4]: 'float4',
161
- [exports.DataTypeOIDs.float8]: 'float8',
162
- [exports.DataTypeOIDs.unknown]: 'unknown',
163
- [exports.DataTypeOIDs.circle]: 'circle',
164
- [exports.DataTypeOIDs.macaddr8]: 'macaddr8',
165
- [exports.DataTypeOIDs.money]: 'money',
166
- [exports.DataTypeOIDs.macaddr]: 'macaddr',
167
- [exports.DataTypeOIDs.inet]: 'inet',
168
- [exports.DataTypeOIDs.bpchar]: 'bpchar',
169
- [exports.DataTypeOIDs.varchar]: 'varchar',
170
- [exports.DataTypeOIDs.date]: 'date',
171
- [exports.DataTypeOIDs.time]: 'time',
172
- [exports.DataTypeOIDs.timestamp]: 'timestamp',
173
- [exports.DataTypeOIDs.timestamptz]: 'timestamptz',
174
- [exports.DataTypeOIDs.interval]: 'interval',
175
- [exports.DataTypeOIDs.timetz]: 'timetz',
176
- [exports.DataTypeOIDs.bit]: 'bit',
177
- [exports.DataTypeOIDs.varbit]: 'varbit',
178
- [exports.DataTypeOIDs.numeric]: 'numeric',
179
- [exports.DataTypeOIDs.refcursor]: 'refcursor',
180
- [exports.DataTypeOIDs.regprocedure]: 'regprocedure',
181
- [exports.DataTypeOIDs.regoper]: 'regoper',
182
- [exports.DataTypeOIDs.regoperator]: 'regoperator',
183
- [exports.DataTypeOIDs.regclass]: 'regclass',
184
- [exports.DataTypeOIDs.regtype]: 'regtype',
185
- [exports.DataTypeOIDs.record]: 'record',
186
- [exports.DataTypeOIDs.cstring]: 'cstring',
187
- [exports.DataTypeOIDs.any]: 'any',
188
- [exports.DataTypeOIDs.anyarray]: 'anyarray',
189
- [exports.DataTypeOIDs.void]: 'void',
190
- [exports.DataTypeOIDs.trigger]: 'trigger',
191
- [exports.DataTypeOIDs.language_handler]: 'language_handler',
192
- [exports.DataTypeOIDs.internal]: 'internal',
193
- [exports.DataTypeOIDs.anyelement]: 'anyelement',
194
- [exports.DataTypeOIDs.anynonarray]: 'anynonarray',
195
- [exports.DataTypeOIDs.uuid]: 'uuid',
196
- [exports.DataTypeOIDs.jsonb]: 'jsonb',
197
- [exports.DataTypeOIDs.anyrange]: 'anyrange',
198
- [exports.DataTypeOIDs.int4range]: 'int4range',
199
- [exports.DataTypeOIDs.numrange]: 'numrange',
200
- [exports.DataTypeOIDs.tsrange]: 'tsrange',
201
- [exports.DataTypeOIDs.rstzrange]: 'rstzrange',
202
- [exports.DataTypeOIDs.daterange]: 'daterange',
203
- [exports.DataTypeOIDs.int8range]: 'int8range',
204
- [exports.DataTypeOIDs._xml]: '_xml',
205
- [exports.DataTypeOIDs._json]: '_json',
206
- [exports.DataTypeOIDs._xid8]: '_xid8',
207
- [exports.DataTypeOIDs._line]: '_line',
208
- [exports.DataTypeOIDs._cidr]: '_cidr',
209
- [exports.DataTypeOIDs._circle]: '_circle',
210
- [exports.DataTypeOIDs._macaddr8]: '_macaddr8',
211
- [exports.DataTypeOIDs._money]: '_money',
212
- [exports.DataTypeOIDs._bool]: '_bool',
213
- [exports.DataTypeOIDs._bytea]: '_bytea',
214
- [exports.DataTypeOIDs._char]: '_char',
215
- [exports.DataTypeOIDs._name]: '_name',
216
- [exports.DataTypeOIDs._int2]: '_int2',
217
- [exports.DataTypeOIDs._int2vector]: '_int2vector',
218
- [exports.DataTypeOIDs._int4]: '_int4',
219
- [exports.DataTypeOIDs._regproc]: '_regproc',
220
- [exports.DataTypeOIDs._text]: '_text',
221
- [exports.DataTypeOIDs._tid]: '_tid',
222
- [exports.DataTypeOIDs._xid]: '_xid',
223
- [exports.DataTypeOIDs._cid]: '_cid',
224
- [exports.DataTypeOIDs._oidvector]: '_oidvector',
225
- [exports.DataTypeOIDs._bpchar]: '_bpchar',
226
- [exports.DataTypeOIDs._varchar]: '_varchar',
227
- [exports.DataTypeOIDs._int8]: '_int8',
228
- [exports.DataTypeOIDs._point]: '_point',
229
- [exports.DataTypeOIDs._lseg]: '_lseg',
230
- [exports.DataTypeOIDs._path]: '_path',
231
- [exports.DataTypeOIDs._box]: '_box',
232
- [exports.DataTypeOIDs._float4]: '_float4',
233
- [exports.DataTypeOIDs._float8]: '_float8',
234
- [exports.DataTypeOIDs._polygon]: '_polygon',
235
- [exports.DataTypeOIDs._oid]: '_oid',
236
- [exports.DataTypeOIDs._macaddr]: '_macaddr',
237
- [exports.DataTypeOIDs._inet]: '_inet',
238
- [exports.DataTypeOIDs._timestamp]: '_timestamp',
239
- [exports.DataTypeOIDs._date]: '_date',
240
- [exports.DataTypeOIDs._time]: '_time',
241
- [exports.DataTypeOIDs._timestamptz]: '_timestamptz',
242
- [exports.DataTypeOIDs._interval]: '_interval',
243
- [exports.DataTypeOIDs._numeric]: '_numeric',
244
- [exports.DataTypeOIDs._cstring]: '_cstring',
245
- [exports.DataTypeOIDs._timetz]: '_timetz',
246
- [exports.DataTypeOIDs._bit]: '_bit',
247
- [exports.DataTypeOIDs._varbit]: '_varbit',
248
- [exports.DataTypeOIDs._uuid]: '_uuid',
249
- [exports.DataTypeOIDs._jsonb]: '_jsonb',
132
+ export const DataTypeNames = {
133
+ [DataTypeOIDs.bool]: 'bool',
134
+ [DataTypeOIDs.bytea]: 'bytea',
135
+ [DataTypeOIDs.char]: 'char',
136
+ [DataTypeOIDs.name]: 'name',
137
+ [DataTypeOIDs.int8]: 'int8',
138
+ [DataTypeOIDs.int2]: 'int2',
139
+ [DataTypeOIDs.int2vector]: 'int2vector',
140
+ [DataTypeOIDs.int4]: 'int4',
141
+ [DataTypeOIDs.regproc]: 'regproc',
142
+ [DataTypeOIDs.text]: 'text',
143
+ [DataTypeOIDs.oid]: 'oid',
144
+ [DataTypeOIDs.tid]: 'tid',
145
+ [DataTypeOIDs.xid]: 'xid',
146
+ [DataTypeOIDs.cid]: 'cid',
147
+ [DataTypeOIDs.oidvector]: 'oidvector',
148
+ [DataTypeOIDs.json]: 'json',
149
+ [DataTypeOIDs.xml]: 'xml',
150
+ [DataTypeOIDs.point]: 'point',
151
+ [DataTypeOIDs.lseg]: 'lseg',
152
+ [DataTypeOIDs.path]: 'path',
153
+ [DataTypeOIDs.box]: 'box',
154
+ [DataTypeOIDs.polygon]: 'polygon',
155
+ [DataTypeOIDs.line]: 'line',
156
+ [DataTypeOIDs.cidr]: 'cidr',
157
+ [DataTypeOIDs.float4]: 'float4',
158
+ [DataTypeOIDs.float8]: 'float8',
159
+ [DataTypeOIDs.unknown]: 'unknown',
160
+ [DataTypeOIDs.circle]: 'circle',
161
+ [DataTypeOIDs.macaddr8]: 'macaddr8',
162
+ [DataTypeOIDs.money]: 'money',
163
+ [DataTypeOIDs.macaddr]: 'macaddr',
164
+ [DataTypeOIDs.inet]: 'inet',
165
+ [DataTypeOIDs.bpchar]: 'bpchar',
166
+ [DataTypeOIDs.varchar]: 'varchar',
167
+ [DataTypeOIDs.date]: 'date',
168
+ [DataTypeOIDs.time]: 'time',
169
+ [DataTypeOIDs.timestamp]: 'timestamp',
170
+ [DataTypeOIDs.timestamptz]: 'timestamptz',
171
+ [DataTypeOIDs.interval]: 'interval',
172
+ [DataTypeOIDs.timetz]: 'timetz',
173
+ [DataTypeOIDs.bit]: 'bit',
174
+ [DataTypeOIDs.varbit]: 'varbit',
175
+ [DataTypeOIDs.numeric]: 'numeric',
176
+ [DataTypeOIDs.refcursor]: 'refcursor',
177
+ [DataTypeOIDs.regprocedure]: 'regprocedure',
178
+ [DataTypeOIDs.regoper]: 'regoper',
179
+ [DataTypeOIDs.regoperator]: 'regoperator',
180
+ [DataTypeOIDs.regclass]: 'regclass',
181
+ [DataTypeOIDs.regtype]: 'regtype',
182
+ [DataTypeOIDs.record]: 'record',
183
+ [DataTypeOIDs.cstring]: 'cstring',
184
+ [DataTypeOIDs.any]: 'any',
185
+ [DataTypeOIDs.anyarray]: 'anyarray',
186
+ [DataTypeOIDs.void]: 'void',
187
+ [DataTypeOIDs.trigger]: 'trigger',
188
+ [DataTypeOIDs.language_handler]: 'language_handler',
189
+ [DataTypeOIDs.internal]: 'internal',
190
+ [DataTypeOIDs.anyelement]: 'anyelement',
191
+ [DataTypeOIDs.anynonarray]: 'anynonarray',
192
+ [DataTypeOIDs.uuid]: 'uuid',
193
+ [DataTypeOIDs.jsonb]: 'jsonb',
194
+ [DataTypeOIDs.anyrange]: 'anyrange',
195
+ [DataTypeOIDs.int4range]: 'int4range',
196
+ [DataTypeOIDs.numrange]: 'numrange',
197
+ [DataTypeOIDs.tsrange]: 'tsrange',
198
+ [DataTypeOIDs.rstzrange]: 'rstzrange',
199
+ [DataTypeOIDs.daterange]: 'daterange',
200
+ [DataTypeOIDs.int8range]: 'int8range',
201
+ [DataTypeOIDs._xml]: '_xml',
202
+ [DataTypeOIDs._json]: '_json',
203
+ [DataTypeOIDs._xid8]: '_xid8',
204
+ [DataTypeOIDs._line]: '_line',
205
+ [DataTypeOIDs._cidr]: '_cidr',
206
+ [DataTypeOIDs._circle]: '_circle',
207
+ [DataTypeOIDs._macaddr8]: '_macaddr8',
208
+ [DataTypeOIDs._money]: '_money',
209
+ [DataTypeOIDs._bool]: '_bool',
210
+ [DataTypeOIDs._bytea]: '_bytea',
211
+ [DataTypeOIDs._char]: '_char',
212
+ [DataTypeOIDs._name]: '_name',
213
+ [DataTypeOIDs._int2]: '_int2',
214
+ [DataTypeOIDs._int2vector]: '_int2vector',
215
+ [DataTypeOIDs._int4]: '_int4',
216
+ [DataTypeOIDs._regproc]: '_regproc',
217
+ [DataTypeOIDs._text]: '_text',
218
+ [DataTypeOIDs._tid]: '_tid',
219
+ [DataTypeOIDs._xid]: '_xid',
220
+ [DataTypeOIDs._cid]: '_cid',
221
+ [DataTypeOIDs._oidvector]: '_oidvector',
222
+ [DataTypeOIDs._bpchar]: '_bpchar',
223
+ [DataTypeOIDs._varchar]: '_varchar',
224
+ [DataTypeOIDs._int8]: '_int8',
225
+ [DataTypeOIDs._point]: '_point',
226
+ [DataTypeOIDs._lseg]: '_lseg',
227
+ [DataTypeOIDs._path]: '_path',
228
+ [DataTypeOIDs._box]: '_box',
229
+ [DataTypeOIDs._float4]: '_float4',
230
+ [DataTypeOIDs._float8]: '_float8',
231
+ [DataTypeOIDs._polygon]: '_polygon',
232
+ [DataTypeOIDs._oid]: '_oid',
233
+ [DataTypeOIDs._macaddr]: '_macaddr',
234
+ [DataTypeOIDs._inet]: '_inet',
235
+ [DataTypeOIDs._timestamp]: '_timestamp',
236
+ [DataTypeOIDs._date]: '_date',
237
+ [DataTypeOIDs._time]: '_time',
238
+ [DataTypeOIDs._timestamptz]: '_timestamptz',
239
+ [DataTypeOIDs._interval]: '_interval',
240
+ [DataTypeOIDs._numeric]: '_numeric',
241
+ [DataTypeOIDs._cstring]: '_cstring',
242
+ [DataTypeOIDs._timetz]: '_timetz',
243
+ [DataTypeOIDs._bit]: '_bit',
244
+ [DataTypeOIDs._varbit]: '_varbit',
245
+ [DataTypeOIDs._uuid]: '_uuid',
246
+ [DataTypeOIDs._jsonb]: '_jsonb',
250
247
  };
@@ -1,31 +1,28 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.GlobalTypeMap = exports.DataTypeMap = void 0;
4
- const constants_js_1 = require("./constants.js");
5
- const bool_type_js_1 = require("./data-types/bool-type.js");
6
- const box_type_js_1 = require("./data-types/box-type.js");
7
- const bytea_type_js_1 = require("./data-types/bytea-type.js");
8
- const char_type_js_1 = require("./data-types/char-type.js");
9
- const circle_type_js_1 = require("./data-types/circle-type.js");
10
- const date_type_js_1 = require("./data-types/date-type.js");
11
- const float4_type_js_1 = require("./data-types/float4-type.js");
12
- const float8_type_js_1 = require("./data-types/float8-type.js");
13
- const int2_type_js_1 = require("./data-types/int2-type.js");
14
- const int2_vector_type_js_1 = require("./data-types/int2-vector-type.js");
15
- const int4_type_js_1 = require("./data-types/int4-type.js");
16
- const int8_type_js_1 = require("./data-types/int8-type.js");
17
- const json_type_js_1 = require("./data-types/json-type.js");
18
- const jsonb_type_js_1 = require("./data-types/jsonb-type.js");
19
- const lseg_type_js_1 = require("./data-types/lseg-type.js");
20
- const numeric_type_js_1 = require("./data-types/numeric-type.js");
21
- const oid_type_js_1 = require("./data-types/oid-type.js");
22
- const point_type_js_1 = require("./data-types/point-type.js");
23
- const time_type_js_1 = require("./data-types/time-type.js");
24
- const timestamp_type_js_1 = require("./data-types/timestamp-type.js");
25
- const timestamptz_type_js_1 = require("./data-types/timestamptz-type.js");
26
- const uuid_type_js_1 = require("./data-types/uuid-type.js");
27
- const varchar_type_js_1 = require("./data-types/varchar-type.js");
28
- class DataTypeMap {
1
+ import { DataTypeOIDs } from './constants.js';
2
+ import { ArrayBoolType, BoolType } from './data-types/bool-type.js';
3
+ import { ArrayBoxType, BoxType } from './data-types/box-type.js';
4
+ import { ArrayByteaType, ByteaType } from './data-types/bytea-type.js';
5
+ import { ArrayCharType, CharType } from './data-types/char-type.js';
6
+ import { ArrayCircleType, CircleType } from './data-types/circle-type.js';
7
+ import { ArrayDateType, DateType } from './data-types/date-type.js';
8
+ import { ArrayFloat4Type, Float4Type } from './data-types/float4-type.js';
9
+ import { ArrayFloat8Type, Float8Type } from './data-types/float8-type.js';
10
+ import { ArrayInt2Type, Int2Type } from './data-types/int2-type.js';
11
+ import { ArrayInt2VectorType, Int2VectorType } from './data-types/int2-vector-type.js';
12
+ import { ArrayInt4Type, Int4Type } from './data-types/int4-type.js';
13
+ import { ArrayInt8Type, Int8Type } from './data-types/int8-type.js';
14
+ import { ArrayJsonType, JsonType } from './data-types/json-type.js';
15
+ import { ArrayJsonbType, JsonbType } from './data-types/jsonb-type.js';
16
+ import { ArrayLsegType, LsegType } from './data-types/lseg-type.js';
17
+ import { ArrayNumericType, NumericType } from './data-types/numeric-type.js';
18
+ import { ArrayOidType, OidType, VectorOidType } from './data-types/oid-type.js';
19
+ import { ArrayPointType, PointType } from './data-types/point-type.js';
20
+ import { ArrayTimeType, TimeType } from './data-types/time-type.js';
21
+ import { ArrayTimestampType, TimestampType } from './data-types/timestamp-type.js';
22
+ import { ArrayTimestamptzType, TimestamptzType } from './data-types/timestamptz-type.js';
23
+ import { ArrayUuidType, UuidType } from './data-types/uuid-type.js';
24
+ import { ArrayVarcharType, VarcharType } from './data-types/varchar-type.js';
25
+ export class DataTypeMap {
29
26
  constructor(other) {
30
27
  this._itemsByOID = {};
31
28
  this._items = [];
@@ -48,7 +45,7 @@ class DataTypeMap {
48
45
  }
49
46
  determine(value) {
50
47
  if (value == null)
51
- return constants_js_1.DataTypeOIDs.unknown;
48
+ return DataTypeOIDs.unknown;
52
49
  const valueIsArray = Array.isArray(value);
53
50
  let i;
54
51
  let t;
@@ -61,59 +58,58 @@ class DataTypeMap {
61
58
  else if (!t.elementsOID && t.isType(value))
62
59
  return t.oid;
63
60
  }
64
- return constants_js_1.DataTypeOIDs.unknown;
61
+ return DataTypeOIDs.unknown;
65
62
  }
66
63
  }
67
- exports.DataTypeMap = DataTypeMap;
68
- exports.GlobalTypeMap = new DataTypeMap();
69
- exports.GlobalTypeMap.register([oid_type_js_1.OidType, oid_type_js_1.VectorOidType, oid_type_js_1.ArrayOidType]);
70
- exports.GlobalTypeMap.register([jsonb_type_js_1.JsonbType, jsonb_type_js_1.ArrayJsonbType]);
71
- exports.GlobalTypeMap.register([json_type_js_1.JsonType, json_type_js_1.ArrayJsonType]);
72
- exports.GlobalTypeMap.register([bool_type_js_1.BoolType, bool_type_js_1.ArrayBoolType]);
73
- exports.GlobalTypeMap.register([numeric_type_js_1.NumericType, numeric_type_js_1.ArrayNumericType]);
74
- exports.GlobalTypeMap.register([float4_type_js_1.Float4Type, float4_type_js_1.ArrayFloat4Type]);
75
- exports.GlobalTypeMap.register([float8_type_js_1.Float8Type, float8_type_js_1.ArrayFloat8Type]);
76
- exports.GlobalTypeMap.register([int2_type_js_1.Int2Type, int2_type_js_1.ArrayInt2Type]);
77
- exports.GlobalTypeMap.register([int4_type_js_1.Int4Type, int4_type_js_1.ArrayInt4Type]);
78
- exports.GlobalTypeMap.register([int8_type_js_1.Int8Type, int8_type_js_1.ArrayInt8Type]);
79
- exports.GlobalTypeMap.register([bytea_type_js_1.ByteaType, bytea_type_js_1.ArrayByteaType]);
80
- exports.GlobalTypeMap.register([circle_type_js_1.CircleType, circle_type_js_1.ArrayCircleType]);
81
- exports.GlobalTypeMap.register([point_type_js_1.PointType, point_type_js_1.ArrayPointType]);
82
- exports.GlobalTypeMap.register([lseg_type_js_1.LsegType, lseg_type_js_1.ArrayLsegType]);
83
- exports.GlobalTypeMap.register([box_type_js_1.BoxType, box_type_js_1.ArrayBoxType]);
84
- exports.GlobalTypeMap.register([int2_vector_type_js_1.Int2VectorType, int2_vector_type_js_1.ArrayInt2VectorType]);
85
- exports.GlobalTypeMap.register({ ...varchar_type_js_1.VarcharType, name: 'bpchar', oid: constants_js_1.DataTypeOIDs.bpchar });
86
- exports.GlobalTypeMap.register({
87
- ...varchar_type_js_1.ArrayVarcharType,
64
+ export const GlobalTypeMap = new DataTypeMap();
65
+ GlobalTypeMap.register([OidType, VectorOidType, ArrayOidType]);
66
+ GlobalTypeMap.register([JsonbType, ArrayJsonbType]);
67
+ GlobalTypeMap.register([JsonType, ArrayJsonType]);
68
+ GlobalTypeMap.register([BoolType, ArrayBoolType]);
69
+ GlobalTypeMap.register([NumericType, ArrayNumericType]);
70
+ GlobalTypeMap.register([Float4Type, ArrayFloat4Type]);
71
+ GlobalTypeMap.register([Float8Type, ArrayFloat8Type]);
72
+ GlobalTypeMap.register([Int2Type, ArrayInt2Type]);
73
+ GlobalTypeMap.register([Int4Type, ArrayInt4Type]);
74
+ GlobalTypeMap.register([Int8Type, ArrayInt8Type]);
75
+ GlobalTypeMap.register([ByteaType, ArrayByteaType]);
76
+ GlobalTypeMap.register([CircleType, ArrayCircleType]);
77
+ GlobalTypeMap.register([PointType, ArrayPointType]);
78
+ GlobalTypeMap.register([LsegType, ArrayLsegType]);
79
+ GlobalTypeMap.register([BoxType, ArrayBoxType]);
80
+ GlobalTypeMap.register([Int2VectorType, ArrayInt2VectorType]);
81
+ GlobalTypeMap.register({ ...VarcharType, name: 'bpchar', oid: DataTypeOIDs.bpchar });
82
+ GlobalTypeMap.register({
83
+ ...ArrayVarcharType,
88
84
  name: '_bpchar',
89
- oid: constants_js_1.DataTypeOIDs._bpchar,
90
- elementsOID: constants_js_1.DataTypeOIDs.bpchar,
85
+ oid: DataTypeOIDs._bpchar,
86
+ elementsOID: DataTypeOIDs.bpchar,
91
87
  });
92
- exports.GlobalTypeMap.register({ ...varchar_type_js_1.VarcharType, name: 'name', oid: constants_js_1.DataTypeOIDs.name });
93
- exports.GlobalTypeMap.register({
94
- ...varchar_type_js_1.ArrayVarcharType,
88
+ GlobalTypeMap.register({ ...VarcharType, name: 'name', oid: DataTypeOIDs.name });
89
+ GlobalTypeMap.register({
90
+ ...ArrayVarcharType,
95
91
  name: '_name',
96
- oid: constants_js_1.DataTypeOIDs._name,
97
- elementsOID: constants_js_1.DataTypeOIDs.name,
92
+ oid: DataTypeOIDs._name,
93
+ elementsOID: DataTypeOIDs.name,
98
94
  });
99
- exports.GlobalTypeMap.register({ ...varchar_type_js_1.VarcharType, name: 'text', oid: constants_js_1.DataTypeOIDs.text });
100
- exports.GlobalTypeMap.register({
101
- ...varchar_type_js_1.ArrayVarcharType,
95
+ GlobalTypeMap.register({ ...VarcharType, name: 'text', oid: DataTypeOIDs.text });
96
+ GlobalTypeMap.register({
97
+ ...ArrayVarcharType,
102
98
  name: '_text',
103
- oid: constants_js_1.DataTypeOIDs._text,
104
- elementsOID: constants_js_1.DataTypeOIDs.text,
99
+ oid: DataTypeOIDs._text,
100
+ elementsOID: DataTypeOIDs.text,
105
101
  });
106
- exports.GlobalTypeMap.register({ ...varchar_type_js_1.VarcharType, name: 'xml', oid: constants_js_1.DataTypeOIDs.xml });
107
- exports.GlobalTypeMap.register({
108
- ...varchar_type_js_1.ArrayVarcharType,
102
+ GlobalTypeMap.register({ ...VarcharType, name: 'xml', oid: DataTypeOIDs.xml });
103
+ GlobalTypeMap.register({
104
+ ...ArrayVarcharType,
109
105
  name: '_xml',
110
- oid: constants_js_1.DataTypeOIDs._xml,
111
- elementsOID: constants_js_1.DataTypeOIDs.xml,
106
+ oid: DataTypeOIDs._xml,
107
+ elementsOID: DataTypeOIDs.xml,
112
108
  });
113
- exports.GlobalTypeMap.register([varchar_type_js_1.VarcharType, varchar_type_js_1.ArrayVarcharType]);
114
- exports.GlobalTypeMap.register([uuid_type_js_1.UuidType, uuid_type_js_1.ArrayUuidType]);
115
- exports.GlobalTypeMap.register([char_type_js_1.CharType, char_type_js_1.ArrayCharType]);
116
- exports.GlobalTypeMap.register([timestamptz_type_js_1.TimestamptzType, timestamptz_type_js_1.ArrayTimestamptzType]);
117
- exports.GlobalTypeMap.register([time_type_js_1.TimeType, time_type_js_1.ArrayTimeType]);
118
- exports.GlobalTypeMap.register([date_type_js_1.DateType, date_type_js_1.ArrayDateType]);
119
- exports.GlobalTypeMap.register([timestamp_type_js_1.TimestampType, timestamp_type_js_1.ArrayTimestampType]);
109
+ GlobalTypeMap.register([VarcharType, ArrayVarcharType]);
110
+ GlobalTypeMap.register([UuidType, ArrayUuidType]);
111
+ GlobalTypeMap.register([CharType, ArrayCharType]);
112
+ GlobalTypeMap.register([TimestamptzType, ArrayTimestamptzType]);
113
+ GlobalTypeMap.register([TimeType, ArrayTimeType]);
114
+ GlobalTypeMap.register([DateType, ArrayDateType]);
115
+ GlobalTypeMap.register([TimestampType, ArrayTimestampType]);
@@ -1,10 +1,7 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ArrayBoolType = exports.BoolType = void 0;
4
- const constants_js_1 = require("../constants.js");
5
- exports.BoolType = {
1
+ import { DataTypeOIDs } from '../constants.js';
2
+ export const BoolType = {
6
3
  name: 'bool',
7
- oid: constants_js_1.DataTypeOIDs.bool,
4
+ oid: DataTypeOIDs.bool,
8
5
  jsType: 'boolean',
9
6
  parseBinary(v) {
10
7
  return !!v.readUInt8();
@@ -19,9 +16,9 @@ exports.BoolType = {
19
16
  return typeof v === 'boolean';
20
17
  },
21
18
  };
22
- exports.ArrayBoolType = {
23
- ...exports.BoolType,
19
+ export const ArrayBoolType = {
20
+ ...BoolType,
24
21
  name: '_bool',
25
- oid: constants_js_1.DataTypeOIDs._bool,
26
- elementsOID: constants_js_1.DataTypeOIDs.bool,
22
+ oid: DataTypeOIDs._bool,
23
+ elementsOID: DataTypeOIDs.bool,
27
24
  };