Skip to content

Commit 3002d5c

Browse files
committed
Auto-fix pg-cursor
1 parent a8471aa commit 3002d5c

File tree

8 files changed

+554
-554
lines changed

8 files changed

+554
-554
lines changed

packages/pg-cursor/index.js

+107-107
Original file line numberDiff line numberDiff line change
@@ -1,218 +1,218 @@
1-
'use strict'
2-
const Result = require('pg/lib/result.js')
3-
const prepare = require('pg/lib/utils.js').prepareValue
4-
const EventEmitter = require('events').EventEmitter
5-
const util = require('util')
1+
'use strict';
2+
const Result = require('pg/lib/result.js');
3+
const prepare = require('pg/lib/utils.js').prepareValue;
4+
const EventEmitter = require('events').EventEmitter;
5+
const util = require('util');
66

7-
let nextUniqueID = 1 // concept borrowed from org.postgresql.core.v3.QueryExecutorImpl
7+
let nextUniqueID = 1; // concept borrowed from org.postgresql.core.v3.QueryExecutorImpl
88

99
function Cursor(text, values, config) {
10-
EventEmitter.call(this)
11-
12-
this._conf = config || {}
13-
this.text = text
14-
this.values = values ? values.map(prepare) : null
15-
this.connection = null
16-
this._queue = []
17-
this.state = 'initialized'
18-
this._result = new Result(this._conf.rowMode, this._conf.types)
19-
this._cb = null
20-
this._rows = null
21-
this._portal = null
22-
this._ifNoData = this._ifNoData.bind(this)
23-
this._rowDescription = this._rowDescription.bind(this)
10+
EventEmitter.call(this);
11+
12+
this._conf = config || {};
13+
this.text = text;
14+
this.values = values ? values.map(prepare) : null;
15+
this.connection = null;
16+
this._queue = [];
17+
this.state = 'initialized';
18+
this._result = new Result(this._conf.rowMode, this._conf.types);
19+
this._cb = null;
20+
this._rows = null;
21+
this._portal = null;
22+
this._ifNoData = this._ifNoData.bind(this);
23+
this._rowDescription = this._rowDescription.bind(this);
2424
}
2525

26-
util.inherits(Cursor, EventEmitter)
26+
util.inherits(Cursor, EventEmitter);
2727

2828
Cursor.prototype._ifNoData = function () {
29-
this.state = 'idle'
30-
this._shiftQueue()
31-
}
29+
this.state = 'idle';
30+
this._shiftQueue();
31+
};
3232

3333
Cursor.prototype._rowDescription = function () {
3434
if (this.connection) {
35-
this.connection.removeListener('noData', this._ifNoData)
35+
this.connection.removeListener('noData', this._ifNoData);
3636
}
37-
}
37+
};
3838

3939
Cursor.prototype.submit = function (connection) {
40-
this.connection = connection
41-
this._portal = 'C_' + nextUniqueID++
40+
this.connection = connection;
41+
this._portal = 'C_' + nextUniqueID++;
4242

43-
const con = connection
43+
const con = connection;
4444

4545
con.parse(
4646
{
47-
text: this.text
47+
text: this.text,
4848
},
4949
true
50-
)
50+
);
5151

5252
con.bind(
5353
{
5454
portal: this._portal,
55-
values: this.values
55+
values: this.values,
5656
},
5757
true
58-
)
58+
);
5959

6060
con.describe(
6161
{
6262
type: 'P',
63-
name: this._portal // AWS Redshift requires a portal name
63+
name: this._portal, // AWS Redshift requires a portal name
6464
},
6565
true
66-
)
66+
);
6767

68-
con.flush()
68+
con.flush();
6969

7070
if (this._conf.types) {
71-
this._result._getTypeParser = this._conf.types.getTypeParser
71+
this._result._getTypeParser = this._conf.types.getTypeParser;
7272
}
7373

74-
con.once('noData', this._ifNoData)
75-
con.once('rowDescription', this._rowDescription)
76-
}
74+
con.once('noData', this._ifNoData);
75+
con.once('rowDescription', this._rowDescription);
76+
};
7777

7878
Cursor.prototype._shiftQueue = function () {
7979
if (this._queue.length) {
80-
this._getRows.apply(this, this._queue.shift())
80+
this._getRows.apply(this, this._queue.shift());
8181
}
82-
}
82+
};
8383

8484
Cursor.prototype._closePortal = function () {
8585
// because we opened a named portal to stream results
8686
// we need to close the same named portal. Leaving a named portal
8787
// open can lock tables for modification if inside a transaction.
8888
// see https://github.com/brianc/node-pg-cursor/issues/56
89-
this.connection.close({ type: 'P', name: this._portal })
90-
this.connection.sync()
91-
}
89+
this.connection.close({ type: 'P', name: this._portal });
90+
this.connection.sync();
91+
};
9292

9393
Cursor.prototype.handleRowDescription = function (msg) {
94-
this._result.addFields(msg.fields)
95-
this.state = 'idle'
96-
this._shiftQueue()
97-
}
94+
this._result.addFields(msg.fields);
95+
this.state = 'idle';
96+
this._shiftQueue();
97+
};
9898

9999
Cursor.prototype.handleDataRow = function (msg) {
100-
const row = this._result.parseRow(msg.fields)
101-
this.emit('row', row, this._result)
102-
this._rows.push(row)
103-
}
100+
const row = this._result.parseRow(msg.fields);
101+
this.emit('row', row, this._result);
102+
this._rows.push(row);
103+
};
104104

105105
Cursor.prototype._sendRows = function () {
106-
this.state = 'idle'
106+
this.state = 'idle';
107107
setImmediate(() => {
108-
const cb = this._cb
108+
const cb = this._cb;
109109
// remove callback before calling it
110110
// because likely a new one will be added
111111
// within the call to this callback
112-
this._cb = null
112+
this._cb = null;
113113
if (cb) {
114-
this._result.rows = this._rows
115-
cb(null, this._rows, this._result)
114+
this._result.rows = this._rows;
115+
cb(null, this._rows, this._result);
116116
}
117-
this._rows = []
118-
})
119-
}
117+
this._rows = [];
118+
});
119+
};
120120

121121
Cursor.prototype.handleCommandComplete = function (msg) {
122-
this._result.addCommandComplete(msg)
123-
this._closePortal()
124-
}
122+
this._result.addCommandComplete(msg);
123+
this._closePortal();
124+
};
125125

126126
Cursor.prototype.handlePortalSuspended = function () {
127-
this._sendRows()
128-
}
127+
this._sendRows();
128+
};
129129

130130
Cursor.prototype.handleReadyForQuery = function () {
131-
this._sendRows()
132-
this.state = 'done'
133-
this.emit('end', this._result)
134-
}
131+
this._sendRows();
132+
this.state = 'done';
133+
this.emit('end', this._result);
134+
};
135135

136136
Cursor.prototype.handleEmptyQuery = function () {
137-
this.connection.sync()
138-
}
137+
this.connection.sync();
138+
};
139139

140140
Cursor.prototype.handleError = function (msg) {
141-
this.connection.removeListener('noData', this._ifNoData)
142-
this.connection.removeListener('rowDescription', this._rowDescription)
143-
this.state = 'error'
144-
this._error = msg
141+
this.connection.removeListener('noData', this._ifNoData);
142+
this.connection.removeListener('rowDescription', this._rowDescription);
143+
this.state = 'error';
144+
this._error = msg;
145145
// satisfy any waiting callback
146146
if (this._cb) {
147-
this._cb(msg)
147+
this._cb(msg);
148148
}
149149
// dispatch error to all waiting callbacks
150150
for (let i = 0; i < this._queue.length; i++) {
151-
this._queue.pop()[1](msg)
151+
this._queue.pop()[1](msg);
152152
}
153153

154154
if (this.listenerCount('error') > 0) {
155155
// only dispatch error events if we have a listener
156-
this.emit('error', msg)
156+
this.emit('error', msg);
157157
}
158158
// call sync to keep this connection from hanging
159-
this.connection.sync()
160-
}
159+
this.connection.sync();
160+
};
161161

162162
Cursor.prototype._getRows = function (rows, cb) {
163-
this.state = 'busy'
164-
this._cb = cb
165-
this._rows = []
163+
this.state = 'busy';
164+
this._cb = cb;
165+
this._rows = [];
166166
const msg = {
167167
portal: this._portal,
168-
rows: rows
169-
}
170-
this.connection.execute(msg, true)
171-
this.connection.flush()
172-
}
168+
rows: rows,
169+
};
170+
this.connection.execute(msg, true);
171+
this.connection.flush();
172+
};
173173

174174
// users really shouldn't be calling 'end' here and terminating a connection to postgres
175175
// via the low level connection.end api
176176
Cursor.prototype.end = util.deprecate(function (cb) {
177177
if (this.state !== 'initialized') {
178-
this.connection.sync()
178+
this.connection.sync();
179179
}
180-
this.connection.once('end', cb)
181-
this.connection.end()
182-
}, 'Cursor.end is deprecated. Call end on the client itself to end a connection to the database.')
180+
this.connection.once('end', cb);
181+
this.connection.end();
182+
}, 'Cursor.end is deprecated. Call end on the client itself to end a connection to the database.');
183183

184184
Cursor.prototype.close = function (cb) {
185185
if (!this.connection || this.state === 'done') {
186186
if (cb) {
187-
return setImmediate(cb)
187+
return setImmediate(cb);
188188
} else {
189-
return
189+
return;
190190
}
191191
}
192-
this._closePortal()
193-
this.state = 'done'
192+
this._closePortal();
193+
this.state = 'done';
194194
if (cb) {
195195
this.connection.once('readyForQuery', function () {
196-
cb()
197-
})
196+
cb();
197+
});
198198
}
199-
}
199+
};
200200

201201
Cursor.prototype.read = function (rows, cb) {
202202
if (this.state === 'idle') {
203-
return this._getRows(rows, cb)
203+
return this._getRows(rows, cb);
204204
}
205205
if (this.state === 'busy' || this.state === 'initialized') {
206-
return this._queue.push([rows, cb])
206+
return this._queue.push([rows, cb]);
207207
}
208208
if (this.state === 'error') {
209-
return setImmediate(() => cb(this._error))
209+
return setImmediate(() => cb(this._error));
210210
}
211211
if (this.state === 'done') {
212-
return setImmediate(() => cb(null, []))
212+
return setImmediate(() => cb(null, []));
213213
} else {
214-
throw new Error('Unknown state: ' + this.state)
214+
throw new Error('Unknown state: ' + this.state);
215215
}
216-
}
216+
};
217217

218-
module.exports = Cursor
218+
module.exports = Cursor;

0 commit comments

Comments
 (0)