sqlite-executor 4.0.9 → 4.0.10
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.
- package/dist/cjs/index.cjs +96 -36
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/esm/index.mjs +96 -36
- package/dist/esm/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/cjs/index.cjs
CHANGED
|
@@ -225,6 +225,43 @@ function createRowStreamParser(onRow) {
|
|
|
225
225
|
index++;
|
|
226
226
|
continue;
|
|
227
227
|
}
|
|
228
|
+
if (-1 !== elementEnd) {
|
|
229
|
+
if (isWhitespaceCode(code)) {
|
|
230
|
+
index++;
|
|
231
|
+
continue;
|
|
232
|
+
}
|
|
233
|
+
if (code === CHAR_COMMA || code === CHAR_CLOSE_BRACKET) {
|
|
234
|
+
onRow(buffer.slice(elementStart, elementEnd));
|
|
235
|
+
consumed = index + 1;
|
|
236
|
+
elementStart = -1;
|
|
237
|
+
elementEnd = -1;
|
|
238
|
+
nesting = 0;
|
|
239
|
+
if (code === CHAR_CLOSE_BRACKET) {
|
|
240
|
+
this.finished = true;
|
|
241
|
+
this.buffer = "";
|
|
242
|
+
this.started = false;
|
|
243
|
+
this.inString = false;
|
|
244
|
+
this.escaped = false;
|
|
245
|
+
this.elementStart = -1;
|
|
246
|
+
this.elementEnd = -1;
|
|
247
|
+
this.nesting = 0;
|
|
248
|
+
this._consumed = 0;
|
|
249
|
+
this.readPos = 0;
|
|
250
|
+
return buffer.slice(consumed);
|
|
251
|
+
}
|
|
252
|
+
index = consumed;
|
|
253
|
+
if (consumed > 65536) {
|
|
254
|
+
buffer = buffer.slice(consumed);
|
|
255
|
+
this.buffer = buffer;
|
|
256
|
+
this._consumed = 0;
|
|
257
|
+
index = 0;
|
|
258
|
+
consumed = 0;
|
|
259
|
+
}
|
|
260
|
+
continue;
|
|
261
|
+
}
|
|
262
|
+
index++;
|
|
263
|
+
continue;
|
|
264
|
+
}
|
|
228
265
|
if (code === CHAR_QUOTE) {
|
|
229
266
|
inString = true;
|
|
230
267
|
index++;
|
|
@@ -239,42 +276,6 @@ function createRowStreamParser(onRow) {
|
|
|
239
276
|
nesting--;
|
|
240
277
|
if (0 === nesting) elementEnd = index + 1;
|
|
241
278
|
}
|
|
242
|
-
if (-1 !== elementEnd) {
|
|
243
|
-
var lookAhead = index + 1;
|
|
244
|
-
while(lookAhead < buffer.length && isWhitespaceCode(buffer.charCodeAt(lookAhead)))lookAhead++;
|
|
245
|
-
if (lookAhead < buffer.length) {
|
|
246
|
-
var delimiter = buffer.charCodeAt(lookAhead);
|
|
247
|
-
if (delimiter === CHAR_COMMA || delimiter === CHAR_CLOSE_BRACKET) {
|
|
248
|
-
onRow(buffer.slice(elementStart, elementEnd));
|
|
249
|
-
consumed = lookAhead + 1;
|
|
250
|
-
elementStart = -1;
|
|
251
|
-
elementEnd = -1;
|
|
252
|
-
nesting = 0;
|
|
253
|
-
if (delimiter === CHAR_CLOSE_BRACKET) {
|
|
254
|
-
this.finished = true;
|
|
255
|
-
this.buffer = "";
|
|
256
|
-
this.started = false;
|
|
257
|
-
this.inString = false;
|
|
258
|
-
this.escaped = false;
|
|
259
|
-
this.elementStart = -1;
|
|
260
|
-
this.elementEnd = -1;
|
|
261
|
-
this.nesting = 0;
|
|
262
|
-
this._consumed = 0;
|
|
263
|
-
this.readPos = 0;
|
|
264
|
-
return buffer.slice(consumed);
|
|
265
|
-
}
|
|
266
|
-
index = consumed;
|
|
267
|
-
if (consumed > 65536) {
|
|
268
|
-
buffer = buffer.slice(consumed);
|
|
269
|
-
this.buffer = buffer;
|
|
270
|
-
this._consumed = 0;
|
|
271
|
-
index = 0;
|
|
272
|
-
consumed = 0;
|
|
273
|
-
}
|
|
274
|
-
continue;
|
|
275
|
-
}
|
|
276
|
-
}
|
|
277
|
-
}
|
|
278
279
|
index++;
|
|
279
280
|
}
|
|
280
281
|
this.started = started;
|
|
@@ -2302,6 +2303,7 @@ function createFinalizeScheduler(param) {
|
|
|
2302
2303
|
var scheduled = false;
|
|
2303
2304
|
var immediate = null;
|
|
2304
2305
|
var cancelled = false;
|
|
2306
|
+
var delayedZeroRowQueries = new WeakSet();
|
|
2305
2307
|
var cancel = function() {
|
|
2306
2308
|
cancelled = true;
|
|
2307
2309
|
if (immediate) {
|
|
@@ -2317,8 +2319,66 @@ function createFinalizeScheduler(param) {
|
|
|
2317
2319
|
immediate = setImmediate(function() {
|
|
2318
2320
|
immediate = null;
|
|
2319
2321
|
if (cancelled) return;
|
|
2322
|
+
var delayedTasks = [];
|
|
2323
|
+
var hasQueryRows = Array.from(pendingFinalizeTasks).some(function(task) {
|
|
2324
|
+
return "query" === task.kind && task.rows.length > 0;
|
|
2325
|
+
});
|
|
2326
|
+
if (!(null == pendingStderr ? void 0 : pendingStderr.length) && hasQueryRows) {
|
|
2327
|
+
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
|
|
2328
|
+
try {
|
|
2329
|
+
for(var _iterator = pendingFinalizeTasks[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
|
|
2330
|
+
var task = _step.value;
|
|
2331
|
+
if ("query" === task.kind && 0 === task.rows.length && !task.stderrText && !task.consumerError && !delayedZeroRowQueries.has(task)) {
|
|
2332
|
+
delayedZeroRowQueries.add(task);
|
|
2333
|
+
delayedTasks.push(task);
|
|
2334
|
+
}
|
|
2335
|
+
}
|
|
2336
|
+
} catch (err) {
|
|
2337
|
+
_didIteratorError = true;
|
|
2338
|
+
_iteratorError = err;
|
|
2339
|
+
} finally{
|
|
2340
|
+
try {
|
|
2341
|
+
if (!_iteratorNormalCompletion && null != _iterator["return"]) _iterator["return"]();
|
|
2342
|
+
} finally{
|
|
2343
|
+
if (_didIteratorError) throw _iteratorError;
|
|
2344
|
+
}
|
|
2345
|
+
}
|
|
2346
|
+
var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;
|
|
2347
|
+
try {
|
|
2348
|
+
for(var _iterator1 = delayedTasks[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true){
|
|
2349
|
+
var task1 = _step1.value;
|
|
2350
|
+
pendingFinalizeTasks["delete"](task1);
|
|
2351
|
+
}
|
|
2352
|
+
} catch (err) {
|
|
2353
|
+
_didIteratorError1 = true;
|
|
2354
|
+
_iteratorError1 = err;
|
|
2355
|
+
} finally{
|
|
2356
|
+
try {
|
|
2357
|
+
if (!_iteratorNormalCompletion1 && null != _iterator1["return"]) _iterator1["return"]();
|
|
2358
|
+
} finally{
|
|
2359
|
+
if (_didIteratorError1) throw _iteratorError1;
|
|
2360
|
+
}
|
|
2361
|
+
}
|
|
2362
|
+
}
|
|
2320
2363
|
finalizePendingTasks(pendingFinalizeTasks, settle, pumpQueue, pendingStderr, inflight);
|
|
2364
|
+
var _iteratorNormalCompletion2 = true, _didIteratorError2 = false, _iteratorError2 = void 0;
|
|
2365
|
+
try {
|
|
2366
|
+
for(var _iterator2 = delayedTasks[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true){
|
|
2367
|
+
var task2 = _step2.value;
|
|
2368
|
+
pendingFinalizeTasks.add(task2);
|
|
2369
|
+
}
|
|
2370
|
+
} catch (err) {
|
|
2371
|
+
_didIteratorError2 = true;
|
|
2372
|
+
_iteratorError2 = err;
|
|
2373
|
+
} finally{
|
|
2374
|
+
try {
|
|
2375
|
+
if (!_iteratorNormalCompletion2 && null != _iterator2["return"]) _iterator2["return"]();
|
|
2376
|
+
} finally{
|
|
2377
|
+
if (_didIteratorError2) throw _iteratorError2;
|
|
2378
|
+
}
|
|
2379
|
+
}
|
|
2321
2380
|
scheduled = false;
|
|
2381
|
+
if (delayedTasks.length > 0) check();
|
|
2322
2382
|
});
|
|
2323
2383
|
};
|
|
2324
2384
|
check.cancel = cancel;
|