query-weaver 0.0.0

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.
@@ -0,0 +1,1359 @@
1
+ 'use strict';
2
+
3
+ var pgescape = require('pg-escape');
4
+
5
+ function _iterableToArrayLimit(arr, i) {
6
+ var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"];
7
+ if (null != _i) {
8
+ var _s,
9
+ _e,
10
+ _x,
11
+ _r,
12
+ _arr = [],
13
+ _n = !0,
14
+ _d = !1;
15
+ try {
16
+ if (_x = (_i = _i.call(arr)).next, 0 === i) {
17
+ if (Object(_i) !== _i) return;
18
+ _n = !1;
19
+ } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0);
20
+ } catch (err) {
21
+ _d = !0, _e = err;
22
+ } finally {
23
+ try {
24
+ if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return;
25
+ } finally {
26
+ if (_d) throw _e;
27
+ }
28
+ }
29
+ return _arr;
30
+ }
31
+ }
32
+ function ownKeys(object, enumerableOnly) {
33
+ var keys = Object.keys(object);
34
+ if (Object.getOwnPropertySymbols) {
35
+ var symbols = Object.getOwnPropertySymbols(object);
36
+ enumerableOnly && (symbols = symbols.filter(function (sym) {
37
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
38
+ })), keys.push.apply(keys, symbols);
39
+ }
40
+ return keys;
41
+ }
42
+ function _objectSpread2(target) {
43
+ for (var i = 1; i < arguments.length; i++) {
44
+ var source = null != arguments[i] ? arguments[i] : {};
45
+ i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {
46
+ _defineProperty(target, key, source[key]);
47
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {
48
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
49
+ });
50
+ }
51
+ return target;
52
+ }
53
+ function _regeneratorRuntime() {
54
+ _regeneratorRuntime = function () {
55
+ return exports;
56
+ };
57
+ var exports = {},
58
+ Op = Object.prototype,
59
+ hasOwn = Op.hasOwnProperty,
60
+ defineProperty = Object.defineProperty || function (obj, key, desc) {
61
+ obj[key] = desc.value;
62
+ },
63
+ $Symbol = "function" == typeof Symbol ? Symbol : {},
64
+ iteratorSymbol = $Symbol.iterator || "@@iterator",
65
+ asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator",
66
+ toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag";
67
+ function define(obj, key, value) {
68
+ return Object.defineProperty(obj, key, {
69
+ value: value,
70
+ enumerable: !0,
71
+ configurable: !0,
72
+ writable: !0
73
+ }), obj[key];
74
+ }
75
+ try {
76
+ define({}, "");
77
+ } catch (err) {
78
+ define = function (obj, key, value) {
79
+ return obj[key] = value;
80
+ };
81
+ }
82
+ function wrap(innerFn, outerFn, self, tryLocsList) {
83
+ var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator,
84
+ generator = Object.create(protoGenerator.prototype),
85
+ context = new Context(tryLocsList || []);
86
+ return defineProperty(generator, "_invoke", {
87
+ value: makeInvokeMethod(innerFn, self, context)
88
+ }), generator;
89
+ }
90
+ function tryCatch(fn, obj, arg) {
91
+ try {
92
+ return {
93
+ type: "normal",
94
+ arg: fn.call(obj, arg)
95
+ };
96
+ } catch (err) {
97
+ return {
98
+ type: "throw",
99
+ arg: err
100
+ };
101
+ }
102
+ }
103
+ exports.wrap = wrap;
104
+ var ContinueSentinel = {};
105
+ function Generator() {}
106
+ function GeneratorFunction() {}
107
+ function GeneratorFunctionPrototype() {}
108
+ var IteratorPrototype = {};
109
+ define(IteratorPrototype, iteratorSymbol, function () {
110
+ return this;
111
+ });
112
+ var getProto = Object.getPrototypeOf,
113
+ NativeIteratorPrototype = getProto && getProto(getProto(values([])));
114
+ NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype);
115
+ var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype);
116
+ function defineIteratorMethods(prototype) {
117
+ ["next", "throw", "return"].forEach(function (method) {
118
+ define(prototype, method, function (arg) {
119
+ return this._invoke(method, arg);
120
+ });
121
+ });
122
+ }
123
+ function AsyncIterator(generator, PromiseImpl) {
124
+ function invoke(method, arg, resolve, reject) {
125
+ var record = tryCatch(generator[method], generator, arg);
126
+ if ("throw" !== record.type) {
127
+ var result = record.arg,
128
+ value = result.value;
129
+ return value && "object" == typeof value && hasOwn.call(value, "__await") ? PromiseImpl.resolve(value.__await).then(function (value) {
130
+ invoke("next", value, resolve, reject);
131
+ }, function (err) {
132
+ invoke("throw", err, resolve, reject);
133
+ }) : PromiseImpl.resolve(value).then(function (unwrapped) {
134
+ result.value = unwrapped, resolve(result);
135
+ }, function (error) {
136
+ return invoke("throw", error, resolve, reject);
137
+ });
138
+ }
139
+ reject(record.arg);
140
+ }
141
+ var previousPromise;
142
+ defineProperty(this, "_invoke", {
143
+ value: function (method, arg) {
144
+ function callInvokeWithMethodAndArg() {
145
+ return new PromiseImpl(function (resolve, reject) {
146
+ invoke(method, arg, resolve, reject);
147
+ });
148
+ }
149
+ return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();
150
+ }
151
+ });
152
+ }
153
+ function makeInvokeMethod(innerFn, self, context) {
154
+ var state = "suspendedStart";
155
+ return function (method, arg) {
156
+ if ("executing" === state) throw new Error("Generator is already running");
157
+ if ("completed" === state) {
158
+ if ("throw" === method) throw arg;
159
+ return doneResult();
160
+ }
161
+ for (context.method = method, context.arg = arg;;) {
162
+ var delegate = context.delegate;
163
+ if (delegate) {
164
+ var delegateResult = maybeInvokeDelegate(delegate, context);
165
+ if (delegateResult) {
166
+ if (delegateResult === ContinueSentinel) continue;
167
+ return delegateResult;
168
+ }
169
+ }
170
+ if ("next" === context.method) context.sent = context._sent = context.arg;else if ("throw" === context.method) {
171
+ if ("suspendedStart" === state) throw state = "completed", context.arg;
172
+ context.dispatchException(context.arg);
173
+ } else "return" === context.method && context.abrupt("return", context.arg);
174
+ state = "executing";
175
+ var record = tryCatch(innerFn, self, context);
176
+ if ("normal" === record.type) {
177
+ if (state = context.done ? "completed" : "suspendedYield", record.arg === ContinueSentinel) continue;
178
+ return {
179
+ value: record.arg,
180
+ done: context.done
181
+ };
182
+ }
183
+ "throw" === record.type && (state = "completed", context.method = "throw", context.arg = record.arg);
184
+ }
185
+ };
186
+ }
187
+ function maybeInvokeDelegate(delegate, context) {
188
+ var methodName = context.method,
189
+ method = delegate.iterator[methodName];
190
+ if (undefined === method) return context.delegate = null, "throw" === methodName && delegate.iterator.return && (context.method = "return", context.arg = undefined, maybeInvokeDelegate(delegate, context), "throw" === context.method) || "return" !== methodName && (context.method = "throw", context.arg = new TypeError("The iterator does not provide a '" + methodName + "' method")), ContinueSentinel;
191
+ var record = tryCatch(method, delegate.iterator, context.arg);
192
+ if ("throw" === record.type) return context.method = "throw", context.arg = record.arg, context.delegate = null, ContinueSentinel;
193
+ var info = record.arg;
194
+ return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, "return" !== context.method && (context.method = "next", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = "throw", context.arg = new TypeError("iterator result is not an object"), context.delegate = null, ContinueSentinel);
195
+ }
196
+ function pushTryEntry(locs) {
197
+ var entry = {
198
+ tryLoc: locs[0]
199
+ };
200
+ 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry);
201
+ }
202
+ function resetTryEntry(entry) {
203
+ var record = entry.completion || {};
204
+ record.type = "normal", delete record.arg, entry.completion = record;
205
+ }
206
+ function Context(tryLocsList) {
207
+ this.tryEntries = [{
208
+ tryLoc: "root"
209
+ }], tryLocsList.forEach(pushTryEntry, this), this.reset(!0);
210
+ }
211
+ function values(iterable) {
212
+ if (iterable) {
213
+ var iteratorMethod = iterable[iteratorSymbol];
214
+ if (iteratorMethod) return iteratorMethod.call(iterable);
215
+ if ("function" == typeof iterable.next) return iterable;
216
+ if (!isNaN(iterable.length)) {
217
+ var i = -1,
218
+ next = function next() {
219
+ for (; ++i < iterable.length;) if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next;
220
+ return next.value = undefined, next.done = !0, next;
221
+ };
222
+ return next.next = next;
223
+ }
224
+ }
225
+ return {
226
+ next: doneResult
227
+ };
228
+ }
229
+ function doneResult() {
230
+ return {
231
+ value: undefined,
232
+ done: !0
233
+ };
234
+ }
235
+ return GeneratorFunction.prototype = GeneratorFunctionPrototype, defineProperty(Gp, "constructor", {
236
+ value: GeneratorFunctionPrototype,
237
+ configurable: !0
238
+ }), defineProperty(GeneratorFunctionPrototype, "constructor", {
239
+ value: GeneratorFunction,
240
+ configurable: !0
241
+ }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, "GeneratorFunction"), exports.isGeneratorFunction = function (genFun) {
242
+ var ctor = "function" == typeof genFun && genFun.constructor;
243
+ return !!ctor && (ctor === GeneratorFunction || "GeneratorFunction" === (ctor.displayName || ctor.name));
244
+ }, exports.mark = function (genFun) {
245
+ return Object.setPrototypeOf ? Object.setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, "GeneratorFunction")), genFun.prototype = Object.create(Gp), genFun;
246
+ }, exports.awrap = function (arg) {
247
+ return {
248
+ __await: arg
249
+ };
250
+ }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () {
251
+ return this;
252
+ }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) {
253
+ void 0 === PromiseImpl && (PromiseImpl = Promise);
254
+ var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl);
255
+ return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) {
256
+ return result.done ? result.value : iter.next();
257
+ });
258
+ }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, "Generator"), define(Gp, iteratorSymbol, function () {
259
+ return this;
260
+ }), define(Gp, "toString", function () {
261
+ return "[object Generator]";
262
+ }), exports.keys = function (val) {
263
+ var object = Object(val),
264
+ keys = [];
265
+ for (var key in object) keys.push(key);
266
+ return keys.reverse(), function next() {
267
+ for (; keys.length;) {
268
+ var key = keys.pop();
269
+ if (key in object) return next.value = key, next.done = !1, next;
270
+ }
271
+ return next.done = !0, next;
272
+ };
273
+ }, exports.values = values, Context.prototype = {
274
+ constructor: Context,
275
+ reset: function (skipTempReset) {
276
+ if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = "next", this.arg = undefined, this.tryEntries.forEach(resetTryEntry), !skipTempReset) for (var name in this) "t" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+name.slice(1)) && (this[name] = undefined);
277
+ },
278
+ stop: function () {
279
+ this.done = !0;
280
+ var rootRecord = this.tryEntries[0].completion;
281
+ if ("throw" === rootRecord.type) throw rootRecord.arg;
282
+ return this.rval;
283
+ },
284
+ dispatchException: function (exception) {
285
+ if (this.done) throw exception;
286
+ var context = this;
287
+ function handle(loc, caught) {
288
+ return record.type = "throw", record.arg = exception, context.next = loc, caught && (context.method = "next", context.arg = undefined), !!caught;
289
+ }
290
+ for (var i = this.tryEntries.length - 1; i >= 0; --i) {
291
+ var entry = this.tryEntries[i],
292
+ record = entry.completion;
293
+ if ("root" === entry.tryLoc) return handle("end");
294
+ if (entry.tryLoc <= this.prev) {
295
+ var hasCatch = hasOwn.call(entry, "catchLoc"),
296
+ hasFinally = hasOwn.call(entry, "finallyLoc");
297
+ if (hasCatch && hasFinally) {
298
+ if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0);
299
+ if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc);
300
+ } else if (hasCatch) {
301
+ if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0);
302
+ } else {
303
+ if (!hasFinally) throw new Error("try statement without catch or finally");
304
+ if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc);
305
+ }
306
+ }
307
+ }
308
+ },
309
+ abrupt: function (type, arg) {
310
+ for (var i = this.tryEntries.length - 1; i >= 0; --i) {
311
+ var entry = this.tryEntries[i];
312
+ if (entry.tryLoc <= this.prev && hasOwn.call(entry, "finallyLoc") && this.prev < entry.finallyLoc) {
313
+ var finallyEntry = entry;
314
+ break;
315
+ }
316
+ }
317
+ finallyEntry && ("break" === type || "continue" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null);
318
+ var record = finallyEntry ? finallyEntry.completion : {};
319
+ return record.type = type, record.arg = arg, finallyEntry ? (this.method = "next", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record);
320
+ },
321
+ complete: function (record, afterLoc) {
322
+ if ("throw" === record.type) throw record.arg;
323
+ return "break" === record.type || "continue" === record.type ? this.next = record.arg : "return" === record.type ? (this.rval = this.arg = record.arg, this.method = "return", this.next = "end") : "normal" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel;
324
+ },
325
+ finish: function (finallyLoc) {
326
+ for (var i = this.tryEntries.length - 1; i >= 0; --i) {
327
+ var entry = this.tryEntries[i];
328
+ if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel;
329
+ }
330
+ },
331
+ catch: function (tryLoc) {
332
+ for (var i = this.tryEntries.length - 1; i >= 0; --i) {
333
+ var entry = this.tryEntries[i];
334
+ if (entry.tryLoc === tryLoc) {
335
+ var record = entry.completion;
336
+ if ("throw" === record.type) {
337
+ var thrown = record.arg;
338
+ resetTryEntry(entry);
339
+ }
340
+ return thrown;
341
+ }
342
+ }
343
+ throw new Error("illegal catch attempt");
344
+ },
345
+ delegateYield: function (iterable, resultName, nextLoc) {
346
+ return this.delegate = {
347
+ iterator: values(iterable),
348
+ resultName: resultName,
349
+ nextLoc: nextLoc
350
+ }, "next" === this.method && (this.arg = undefined), ContinueSentinel;
351
+ }
352
+ }, exports;
353
+ }
354
+ function _typeof(obj) {
355
+ "@babel/helpers - typeof";
356
+
357
+ return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) {
358
+ return typeof obj;
359
+ } : function (obj) {
360
+ return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
361
+ }, _typeof(obj);
362
+ }
363
+ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
364
+ try {
365
+ var info = gen[key](arg);
366
+ var value = info.value;
367
+ } catch (error) {
368
+ reject(error);
369
+ return;
370
+ }
371
+ if (info.done) {
372
+ resolve(value);
373
+ } else {
374
+ Promise.resolve(value).then(_next, _throw);
375
+ }
376
+ }
377
+ function _asyncToGenerator(fn) {
378
+ return function () {
379
+ var self = this,
380
+ args = arguments;
381
+ return new Promise(function (resolve, reject) {
382
+ var gen = fn.apply(self, args);
383
+ function _next(value) {
384
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
385
+ }
386
+ function _throw(err) {
387
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
388
+ }
389
+ _next(undefined);
390
+ });
391
+ };
392
+ }
393
+ function _classCallCheck(instance, Constructor) {
394
+ if (!(instance instanceof Constructor)) {
395
+ throw new TypeError("Cannot call a class as a function");
396
+ }
397
+ }
398
+ function _defineProperties(target, props) {
399
+ for (var i = 0; i < props.length; i++) {
400
+ var descriptor = props[i];
401
+ descriptor.enumerable = descriptor.enumerable || false;
402
+ descriptor.configurable = true;
403
+ if ("value" in descriptor) descriptor.writable = true;
404
+ Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor);
405
+ }
406
+ }
407
+ function _createClass(Constructor, protoProps, staticProps) {
408
+ if (protoProps) _defineProperties(Constructor.prototype, protoProps);
409
+ if (staticProps) _defineProperties(Constructor, staticProps);
410
+ Object.defineProperty(Constructor, "prototype", {
411
+ writable: false
412
+ });
413
+ return Constructor;
414
+ }
415
+ function _defineProperty(obj, key, value) {
416
+ key = _toPropertyKey(key);
417
+ if (key in obj) {
418
+ Object.defineProperty(obj, key, {
419
+ value: value,
420
+ enumerable: true,
421
+ configurable: true,
422
+ writable: true
423
+ });
424
+ } else {
425
+ obj[key] = value;
426
+ }
427
+ return obj;
428
+ }
429
+ function _inherits(subClass, superClass) {
430
+ if (typeof superClass !== "function" && superClass !== null) {
431
+ throw new TypeError("Super expression must either be null or a function");
432
+ }
433
+ subClass.prototype = Object.create(superClass && superClass.prototype, {
434
+ constructor: {
435
+ value: subClass,
436
+ writable: true,
437
+ configurable: true
438
+ }
439
+ });
440
+ Object.defineProperty(subClass, "prototype", {
441
+ writable: false
442
+ });
443
+ if (superClass) _setPrototypeOf(subClass, superClass);
444
+ }
445
+ function _getPrototypeOf(o) {
446
+ _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {
447
+ return o.__proto__ || Object.getPrototypeOf(o);
448
+ };
449
+ return _getPrototypeOf(o);
450
+ }
451
+ function _setPrototypeOf(o, p) {
452
+ _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {
453
+ o.__proto__ = p;
454
+ return o;
455
+ };
456
+ return _setPrototypeOf(o, p);
457
+ }
458
+ function _isNativeReflectConstruct() {
459
+ if (typeof Reflect === "undefined" || !Reflect.construct) return false;
460
+ if (Reflect.construct.sham) return false;
461
+ if (typeof Proxy === "function") return true;
462
+ try {
463
+ Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));
464
+ return true;
465
+ } catch (e) {
466
+ return false;
467
+ }
468
+ }
469
+ function _assertThisInitialized(self) {
470
+ if (self === void 0) {
471
+ throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
472
+ }
473
+ return self;
474
+ }
475
+ function _possibleConstructorReturn(self, call) {
476
+ if (call && (typeof call === "object" || typeof call === "function")) {
477
+ return call;
478
+ } else if (call !== void 0) {
479
+ throw new TypeError("Derived constructors may only return object or undefined");
480
+ }
481
+ return _assertThisInitialized(self);
482
+ }
483
+ function _createSuper(Derived) {
484
+ var hasNativeReflectConstruct = _isNativeReflectConstruct();
485
+ return function _createSuperInternal() {
486
+ var Super = _getPrototypeOf(Derived),
487
+ result;
488
+ if (hasNativeReflectConstruct) {
489
+ var NewTarget = _getPrototypeOf(this).constructor;
490
+ result = Reflect.construct(Super, arguments, NewTarget);
491
+ } else {
492
+ result = Super.apply(this, arguments);
493
+ }
494
+ return _possibleConstructorReturn(this, result);
495
+ };
496
+ }
497
+ function _taggedTemplateLiteral(strings, raw) {
498
+ if (!raw) {
499
+ raw = strings.slice(0);
500
+ }
501
+ return Object.freeze(Object.defineProperties(strings, {
502
+ raw: {
503
+ value: Object.freeze(raw)
504
+ }
505
+ }));
506
+ }
507
+ function _slicedToArray(arr, i) {
508
+ return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
509
+ }
510
+ function _toArray(arr) {
511
+ return _arrayWithHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableRest();
512
+ }
513
+ function _toConsumableArray(arr) {
514
+ return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
515
+ }
516
+ function _arrayWithoutHoles(arr) {
517
+ if (Array.isArray(arr)) return _arrayLikeToArray(arr);
518
+ }
519
+ function _arrayWithHoles(arr) {
520
+ if (Array.isArray(arr)) return arr;
521
+ }
522
+ function _iterableToArray(iter) {
523
+ if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
524
+ }
525
+ function _unsupportedIterableToArray(o, minLen) {
526
+ if (!o) return;
527
+ if (typeof o === "string") return _arrayLikeToArray(o, minLen);
528
+ var n = Object.prototype.toString.call(o).slice(8, -1);
529
+ if (n === "Object" && o.constructor) n = o.constructor.name;
530
+ if (n === "Map" || n === "Set") return Array.from(o);
531
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
532
+ }
533
+ function _arrayLikeToArray(arr, len) {
534
+ if (len == null || len > arr.length) len = arr.length;
535
+ for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
536
+ return arr2;
537
+ }
538
+ function _nonIterableSpread() {
539
+ throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
540
+ }
541
+ function _nonIterableRest() {
542
+ throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
543
+ }
544
+ function _toPrimitive(input, hint) {
545
+ if (typeof input !== "object" || input === null) return input;
546
+ var prim = input[Symbol.toPrimitive];
547
+ if (prim !== undefined) {
548
+ var res = prim.call(input, hint || "default");
549
+ if (typeof res !== "object") return res;
550
+ throw new TypeError("@@toPrimitive must return a primitive value.");
551
+ }
552
+ return (hint === "string" ? String : Number)(input);
553
+ }
554
+ function _toPropertyKey(arg) {
555
+ var key = _toPrimitive(arg, "string");
556
+ return typeof key === "symbol" ? key : String(key);
557
+ }
558
+
559
+ /******************************************************************************
560
+ Copyright (c) Microsoft Corporation.
561
+
562
+ Permission to use, copy, modify, and/or distribute this software for any
563
+ purpose with or without fee is hereby granted.
564
+
565
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
566
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
567
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
568
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
569
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
570
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
571
+ PERFORMANCE OF THIS SOFTWARE.
572
+ ***************************************************************************** */
573
+ function __classPrivateFieldGet(receiver, state, kind, f) {
574
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
575
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
576
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
577
+ }
578
+ function __classPrivateFieldSet(receiver, state, value, kind, f) {
579
+ if (kind === "m") throw new TypeError("Private method is not writable");
580
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
581
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
582
+ return kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value), value;
583
+ }
584
+
585
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10;
586
+ var _QueryFragmentValue_value, _QueryFragmentIdent_ident, _QueryFragmentRawString_string, _QueryFragments_list, _QueryFragments_opts;
587
+ function pgIdent(s) {
588
+ // '.' is a special for us
589
+ return s.split('.').map(function (x) {
590
+ return pgescape.ident(x);
591
+ }).join('.');
592
+ }
593
+ // fallback function for when the EscapeFunction is not specified
594
+ function pgString(s) {
595
+ if (s === null) return 'NULL';
596
+ if (typeof s === 'boolean') return s ? 'true' : 'false';
597
+ if (Array.isArray(s)) return 'ARRAY[' + s.map(pgString).join(',') + ']';
598
+ if (_typeof(s) === 'object') return pgescape.literal(JSON.stringify(s));
599
+ return pgescape.literal(String(s));
600
+ }
601
+ var QueryFragmentBase = /*#__PURE__*/function () {
602
+ function QueryFragmentBase() {
603
+ _classCallCheck(this, QueryFragmentBase);
604
+ // XXX: entries for defineProperties
605
+ this.text = '';
606
+ this.values = [];
607
+ this.embed = '';
608
+ Object.defineProperties(this, {
609
+ text: {
610
+ enumerable: true,
611
+ get: function get() {
612
+ return this.compiled.text;
613
+ }
614
+ },
615
+ values: {
616
+ enumerable: true,
617
+ get: function get() {
618
+ return this.compiled.values;
619
+ }
620
+ },
621
+ embed: {
622
+ enumerable: true,
623
+ get: function get() {
624
+ return this.compiled.embed;
625
+ }
626
+ }
627
+ });
628
+ }
629
+ _createClass(QueryFragmentBase, [{
630
+ key: "compiled",
631
+ get: function get() {
632
+ var values = [];
633
+ var text = this.toString({
634
+ valueFn: function valueFn(x) {
635
+ values.push(x);
636
+ return '$' + values.length;
637
+ }
638
+ });
639
+ var embed = this.toString();
640
+ return {
641
+ text: text,
642
+ values: values,
643
+ embed: embed
644
+ };
645
+ }
646
+ }]);
647
+ return QueryFragmentBase;
648
+ }();
649
+ var QueryFragmentValue = /*#__PURE__*/function (_QueryFragmentBase) {
650
+ _inherits(QueryFragmentValue, _QueryFragmentBase);
651
+ var _super = _createSuper(QueryFragmentValue);
652
+ function QueryFragmentValue(value) {
653
+ var _this;
654
+ _classCallCheck(this, QueryFragmentValue);
655
+ _this = _super.call(this);
656
+ _QueryFragmentValue_value.set(_assertThisInitialized(_this), void 0);
657
+ __classPrivateFieldSet(_assertThisInitialized(_this), _QueryFragmentValue_value, value, "f");
658
+ return _this;
659
+ }
660
+ _createClass(QueryFragmentValue, [{
661
+ key: "toString",
662
+ value: function toString(opts) {
663
+ var _opts$valueFn;
664
+ return ((_opts$valueFn = opts === null || opts === void 0 ? void 0 : opts.valueFn) !== null && _opts$valueFn !== void 0 ? _opts$valueFn : pgString)(__classPrivateFieldGet(this, _QueryFragmentValue_value, "f"));
665
+ }
666
+ }]);
667
+ return QueryFragmentValue;
668
+ }(QueryFragmentBase);
669
+ _QueryFragmentValue_value = new WeakMap();
670
+ var QueryFragmentIdent = /*#__PURE__*/function (_QueryFragmentBase2) {
671
+ _inherits(QueryFragmentIdent, _QueryFragmentBase2);
672
+ var _super2 = _createSuper(QueryFragmentIdent);
673
+ function QueryFragmentIdent(ident) {
674
+ var _this2;
675
+ _classCallCheck(this, QueryFragmentIdent);
676
+ _this2 = _super2.call(this);
677
+ _QueryFragmentIdent_ident.set(_assertThisInitialized(_this2), void 0);
678
+ __classPrivateFieldSet(_assertThisInitialized(_this2), _QueryFragmentIdent_ident, ident, "f");
679
+ return _this2;
680
+ }
681
+ _createClass(QueryFragmentIdent, [{
682
+ key: "toString",
683
+ value: function toString(opts) {
684
+ var _opts$identFn;
685
+ return ((_opts$identFn = opts === null || opts === void 0 ? void 0 : opts.identFn) !== null && _opts$identFn !== void 0 ? _opts$identFn : pgIdent)(__classPrivateFieldGet(this, _QueryFragmentIdent_ident, "f"));
686
+ }
687
+ }]);
688
+ return QueryFragmentIdent;
689
+ }(QueryFragmentBase);
690
+ _QueryFragmentIdent_ident = new WeakMap();
691
+ // we exploits String constructor
692
+ var QueryFragmentRawString = /*#__PURE__*/function (_QueryFragmentBase3) {
693
+ _inherits(QueryFragmentRawString, _QueryFragmentBase3);
694
+ var _super3 = _createSuper(QueryFragmentRawString);
695
+ function QueryFragmentRawString(s) {
696
+ var _this3;
697
+ _classCallCheck(this, QueryFragmentRawString);
698
+ _this3 = _super3.call(this);
699
+ _QueryFragmentRawString_string.set(_assertThisInitialized(_this3), void 0);
700
+ __classPrivateFieldSet(_assertThisInitialized(_this3), _QueryFragmentRawString_string, s, "f");
701
+ return _this3;
702
+ }
703
+ _createClass(QueryFragmentRawString, [{
704
+ key: "toString",
705
+ value: function toString(_) {
706
+ return __classPrivateFieldGet(this, _QueryFragmentRawString_string, "f");
707
+ }
708
+ }]);
709
+ return QueryFragmentRawString;
710
+ }(QueryFragmentBase);
711
+ _QueryFragmentRawString_string = new WeakMap();
712
+ function isQueryFragment(x) {
713
+ return x instanceof QueryFragmentBase;
714
+ }
715
+ function sewTextsAndValues(texts, values) {
716
+ var hook = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : function (x) {
717
+ return x;
718
+ };
719
+ if (texts.length - 1 !== values.length) throw new Error("Invalid call of the function");
720
+ return texts.flatMap(function (text, idx) {
721
+ return idx ? [hook(values[idx - 1]), new QueryFragmentRawString(text)] : [new QueryFragmentRawString(text)];
722
+ });
723
+ }
724
+ var value = function value(x) {
725
+ if (isQueryFragment(x)) return x; // assume it's already wrapped
726
+ return new QueryFragmentValue(x);
727
+ };
728
+ var isTemplateStringsArray = function isTemplateStringsArray(x) {
729
+ return _typeof(x) === 'object' && x !== null && 'raw' in x;
730
+ };
731
+ var QueryFragments = /*#__PURE__*/function (_QueryFragmentBase4) {
732
+ _inherits(QueryFragments, _QueryFragmentBase4);
733
+ var _super4 = _createSuper(QueryFragments);
734
+ function QueryFragments() {
735
+ var _this4;
736
+ _classCallCheck(this, QueryFragments);
737
+ _this4 = _super4.call(this);
738
+ _QueryFragments_list.set(_assertThisInitialized(_this4), []);
739
+ _QueryFragments_opts.set(_assertThisInitialized(_this4), void 0);
740
+ __classPrivateFieldSet(_assertThisInitialized(_this4), _QueryFragments_opts, {
741
+ prefix: '',
742
+ glue: '',
743
+ suffix: '',
744
+ empty: '',
745
+ makeFragmentFn: value,
746
+ wrapperFn: function wrapperFn(x) {
747
+ return x;
748
+ }
749
+ }, "f");
750
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
751
+ args[_key] = arguments[_key];
752
+ }
753
+ if (isTemplateStringsArray(args[0])) {
754
+ var texts = args[0],
755
+ values = args[1],
756
+ opts = args[2];
757
+ __classPrivateFieldSet(_assertThisInitialized(_this4), _QueryFragments_opts, _objectSpread2(_objectSpread2({}, __classPrivateFieldGet(_assertThisInitialized(_this4), _QueryFragments_opts, "f")), opts), "f");
758
+ __classPrivateFieldSet(_assertThisInitialized(_this4), _QueryFragments_list, sewTextsAndValues(texts, values, __classPrivateFieldGet(_assertThisInitialized(_this4), _QueryFragments_opts, "f").makeFragmentFn), "f");
759
+ } else if (Array.isArray(args[0])) {
760
+ var _values = args[0],
761
+ _opts = args[1];
762
+ __classPrivateFieldSet(_assertThisInitialized(_this4), _QueryFragments_opts, _objectSpread2(_objectSpread2({}, __classPrivateFieldGet(_assertThisInitialized(_this4), _QueryFragments_opts, "f")), _opts), "f");
763
+ __classPrivateFieldSet(_assertThisInitialized(_this4), _QueryFragments_list, _values.map(function (v) {
764
+ return __classPrivateFieldGet(_assertThisInitialized(_this4), _QueryFragments_opts, "f").makeFragmentFn(v);
765
+ }), "f");
766
+ } else {
767
+ var _opts2 = args[0];
768
+ __classPrivateFieldSet(_assertThisInitialized(_this4), _QueryFragments_opts, _objectSpread2(_objectSpread2({}, __classPrivateFieldGet(_assertThisInitialized(_this4), _QueryFragments_opts, "f")), _opts2), "f");
769
+ }
770
+ return _this4;
771
+ }
772
+ _createClass(QueryFragments, [{
773
+ key: "setSewingPattern",
774
+ value: function setSewingPattern() {
775
+ var prefix = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
776
+ var glue = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
777
+ var suffix = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';
778
+ var empty = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '';
779
+ __classPrivateFieldSet(this, _QueryFragments_opts, _objectSpread2(_objectSpread2({}, __classPrivateFieldGet(this, _QueryFragments_opts, "f")), {}, {
780
+ prefix: prefix,
781
+ glue: glue,
782
+ suffix: suffix,
783
+ empty: empty
784
+ }), "f");
785
+ return this;
786
+ }
787
+ }, {
788
+ key: "push",
789
+ value: function push() {
790
+ for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
791
+ args[_key2] = arguments[_key2];
792
+ }
793
+ __classPrivateFieldGet(this, _QueryFragments_list, "f").push.apply(__classPrivateFieldGet(this, _QueryFragments_list, "f"), args.flatMap(function (v) {
794
+ return typeof v === 'undefined' ? [] : [typeof v === 'string' ? raw(v) : v];
795
+ }));
796
+ return this;
797
+ }
798
+ // alias
799
+ }, {
800
+ key: "append",
801
+ value: function append() {
802
+ return this.push.apply(this, arguments);
803
+ }
804
+ }, {
805
+ key: "join",
806
+ value: function join() {
807
+ var glue = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
808
+ __classPrivateFieldGet(this, _QueryFragments_opts, "f").glue = glue;
809
+ return this;
810
+ }
811
+ }, {
812
+ key: "toString",
813
+ value: function toString(opts) {
814
+ if (__classPrivateFieldGet(this, _QueryFragments_list, "f").length === 0) return __classPrivateFieldGet(this, _QueryFragments_opts, "f").empty;
815
+ return __classPrivateFieldGet(this, _QueryFragments_opts, "f").prefix + __classPrivateFieldGet(this, _QueryFragments_opts, "f").wrapperFn(__classPrivateFieldGet(this, _QueryFragments_list, "f").map(function (x) {
816
+ return x.toString(opts);
817
+ }).join(__classPrivateFieldGet(this, _QueryFragments_opts, "f").glue), opts) + __classPrivateFieldGet(this, _QueryFragments_opts, "f").suffix;
818
+ }
819
+ }]);
820
+ return QueryFragments;
821
+ }(QueryFragmentBase);
822
+ _QueryFragments_list = new WeakMap(), _QueryFragments_opts = new WeakMap();
823
+ function sql(texts) {
824
+ for (var _len3 = arguments.length, args = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {
825
+ args[_key3 - 1] = arguments[_key3];
826
+ }
827
+ if (typeof texts === 'string') return new QueryFragments([new QueryFragmentRawString(texts)].concat(args));
828
+ return new QueryFragments(texts, args);
829
+ }
830
+ var raw = sql; // just an alias
831
+ var ident = function ident(name) {
832
+ return new QueryFragmentIdent(name);
833
+ };
834
+ function json() {
835
+ for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {
836
+ args[_key4] = arguments[_key4];
837
+ }
838
+ if (isTemplateStringsArray(args[0])) {
839
+ var texts = args[0],
840
+ values = args.slice(1);
841
+ return new QueryFragments(texts, values, {
842
+ wrapperFn: function wrapperFn(x, opts) {
843
+ var _opts$valueFn2, _opts$valueFn3;
844
+ return (_opts$valueFn2 = opts === null || opts === void 0 ? void 0 : (_opts$valueFn3 = opts.valueFn) === null || _opts$valueFn3 === void 0 ? void 0 : _opts$valueFn3.call(opts, x)) !== null && _opts$valueFn2 !== void 0 ? _opts$valueFn2 : x;
845
+ },
846
+ makeFragmentFn: function makeFragmentFn(x) {
847
+ return raw(JSON.stringify(x));
848
+ } // no escape
849
+ });
850
+ }
851
+
852
+ var obj = args[0];
853
+ if (isQueryFragment(obj)) return obj; // assume it's already wrapped
854
+ return sql(_templateObject || (_templateObject = _taggedTemplateLiteral(["", ""])), JSON.stringify(obj));
855
+ }
856
+ function buildClauses() {
857
+ var clauses = new QueryFragments();
858
+ var parse = function parse(val) {
859
+ if (val === undefined) return;
860
+ if (val === null) return;
861
+ if (typeof val === 'string') {
862
+ clauses.push(raw(val));
863
+ return;
864
+ }
865
+ if (isQueryFragment(val)) {
866
+ clauses.push(val);
867
+ return;
868
+ }
869
+ if (Array.isArray(val)) {
870
+ val.forEach(parse);
871
+ return;
872
+ }
873
+ if (_typeof(val) === 'object') {
874
+ for (var key in val) {
875
+ if (val[key] === undefined) continue;
876
+ if (isQueryFragment(val[key])) {
877
+ clauses.push(sql(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["", " ", ""])), ident(key), val[key]));
878
+ continue;
879
+ }
880
+ if (val[key] === null) {
881
+ clauses.push(sql(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["", " IS NULL"])), ident(key)));
882
+ continue;
883
+ }
884
+ if (Array.isArray(val[key])) {
885
+ clauses.push(sql(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["", " = ANY (", ")"])), ident(key), val[key]));
886
+ continue;
887
+ }
888
+ // それ以外
889
+ clauses.push(sql(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["", " = ", ""])), ident(key), val[key]));
890
+ }
891
+ }
892
+ };
893
+ for (var _len5 = arguments.length, args = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {
894
+ args[_key5] = arguments[_key5];
895
+ }
896
+ parse(args);
897
+ return clauses;
898
+ }
899
+ function OR() {
900
+ for (var _len6 = arguments.length, fv = new Array(_len6), _key6 = 0; _key6 < _len6; _key6++) {
901
+ fv[_key6] = arguments[_key6];
902
+ }
903
+ return buildClauses(fv).setSewingPattern('((', ') OR (', '))', 'false');
904
+ }
905
+ function AND() {
906
+ for (var _len7 = arguments.length, fv = new Array(_len7), _key7 = 0; _key7 < _len7; _key7++) {
907
+ fv[_key7] = arguments[_key7];
908
+ }
909
+ return buildClauses(fv).setSewingPattern('((', ') AND (', '))', 'true');
910
+ }
911
+ function WHERE() {
912
+ for (var _len8 = arguments.length, fv = new Array(_len8), _key8 = 0; _key8 < _len8; _key8++) {
913
+ fv[_key8] = arguments[_key8];
914
+ }
915
+ return buildClauses(fv).setSewingPattern('WHERE ((', ') AND (', '))', '');
916
+ }
917
+ function WHERE_OR() {
918
+ for (var _len9 = arguments.length, fv = new Array(_len9), _key9 = 0; _key9 < _len9; _key9++) {
919
+ fv[_key9] = arguments[_key9];
920
+ }
921
+ return buildClauses(fv).setSewingPattern('WHERE ((', ') OR (', '))', '');
922
+ }
923
+ function buildValues(args) {
924
+ if (args.length === 0) throw new Error("Invalid call of the function");
925
+ var sig = args[0].length;
926
+ if (args.some(function (arg) {
927
+ return arg.length !== sig;
928
+ })) {
929
+ throw new Error("buildValues array must all be the same length");
930
+ }
931
+ var values = new QueryFragments(args.map(function (v) {
932
+ return new QueryFragments(v.map(value)).join(', ');
933
+ })).setSewingPattern('(', '), (', ')');
934
+ return sql(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["VALUES ", ""])), values);
935
+ }
936
+ function buildInsert(table, fvs) {
937
+ if (!Array.isArray(fvs)) fvs = [fvs];
938
+ if (fvs.length == 0) throw new Error("Invalid call of the function");
939
+ var ks = Object.keys(fvs[0]);
940
+ var sig = ks.join();
941
+ if (fvs.some(function (fv) {
942
+ return Object.keys(fv).join() !== sig;
943
+ })) {
944
+ throw new Error("buildInsert: All objects must have the same key");
945
+ }
946
+ var keys = new QueryFragments(ks.map(ident)).join(', ');
947
+ var values = buildValues(fvs.map(Object.values));
948
+ return sql(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral(["INSERT INTO ", " (", ") ", ""])), ident(table), keys, values);
949
+ }
950
+ function buildUpdate(table, fv, where) {
951
+ var pairs = new QueryFragments();
952
+ for (var k in fv) {
953
+ var val = fv[k];
954
+ if (val === undefined) continue;
955
+ pairs.push(sql(_templateObject8 || (_templateObject8 = _taggedTemplateLiteral(["", " = ", ""])), ident(k), val));
956
+ }
957
+ return sql(_templateObject9 || (_templateObject9 = _taggedTemplateLiteral(["UPDATE ", " SET ", " ", ""])), ident(table), pairs.join(', '), WHERE(where));
958
+ }
959
+ function buildDelete(table, where) {
960
+ return sql(_templateObject10 || (_templateObject10 = _taggedTemplateLiteral(["DELETE FROM ", " ", ""])), ident(table), WHERE(where));
961
+ }
962
+ // aliases
963
+ var or = OR;
964
+ var and = AND;
965
+ var where = WHERE;
966
+ var WHERE_AND = WHERE;
967
+ var where_and = WHERE;
968
+ var where_or = WHERE_OR;
969
+ // expose via `sql`
970
+ sql.raw = raw;
971
+ sql.ident = ident;
972
+ sql.json = json;
973
+ sql.WHERE = WHERE;
974
+ sql.WHERE_AND = WHERE_AND;
975
+ sql.WHERE_OR = WHERE_OR;
976
+ sql.AND = AND;
977
+ sql.OR = OR;
978
+ sql.where = where;
979
+ sql.where_and = where_and;
980
+ sql.where_or = where_or;
981
+ sql.and = and;
982
+ sql.or = or;
983
+ sql.insert = buildInsert;
984
+ sql.update = buildUpdate;
985
+ sql["delete"] = buildDelete;
986
+ sql.values = buildValues;
987
+
988
+ var _QueryHelper_instances, _QueryHelper_db, _QueryHelper_opts, _QueryHelper_parseQueryTemplateArgs, _QueryHelper_query;
989
+ var isQueryTemplateArgs = function isQueryTemplateArgs(args) {
990
+ if (!Array.isArray(args)) return false;
991
+ if (_typeof(args === null || args === void 0 ? void 0 : args[0]) !== 'object' || args[0] === null || !('raw' in args[0])) return false;
992
+ if (!Array.isArray(args[0])) return false;
993
+ var _args = _toArray(args),
994
+ texts = _args[0],
995
+ values = _args.slice(1);
996
+ return texts.length - 1 === values.length;
997
+ };
998
+ /**
999
+ * Query Helper
1000
+ */
1001
+ var QueryHelper = /*#__PURE__*/function () {
1002
+ function QueryHelper(db) {
1003
+ var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
1004
+ _classCallCheck(this, QueryHelper);
1005
+ _QueryHelper_instances.add(this);
1006
+ _QueryHelper_db.set(this, void 0);
1007
+ _QueryHelper_opts.set(this, void 0);
1008
+ __classPrivateFieldSet(this, _QueryHelper_db, db, "f");
1009
+ __classPrivateFieldSet(this, _QueryHelper_opts, opts, "f");
1010
+ }
1011
+ // ==================================================================================================
1012
+ // query executors
1013
+ _createClass(QueryHelper, [{
1014
+ key: "insert",
1015
+ value: function () {
1016
+ var _insert = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(table, fv, followingSql) {
1017
+ var query;
1018
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
1019
+ while (1) switch (_context.prev = _context.next) {
1020
+ case 0:
1021
+ query = buildInsert(table, fv);
1022
+ if (followingSql) query.push('\n').push(followingSql);
1023
+ _context.next = 4;
1024
+ return __classPrivateFieldGet(this, _QueryHelper_instances, "m", _QueryHelper_query).call(this, [query]);
1025
+ case 4:
1026
+ return _context.abrupt("return", _context.sent);
1027
+ case 5:
1028
+ case "end":
1029
+ return _context.stop();
1030
+ }
1031
+ }, _callee, this);
1032
+ }));
1033
+ function insert(_x, _x2, _x3) {
1034
+ return _insert.apply(this, arguments);
1035
+ }
1036
+ return insert;
1037
+ }()
1038
+ }, {
1039
+ key: "update",
1040
+ value: function () {
1041
+ var _update = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(table, fv, where, followingSql) {
1042
+ var query;
1043
+ return _regeneratorRuntime().wrap(function _callee2$(_context2) {
1044
+ while (1) switch (_context2.prev = _context2.next) {
1045
+ case 0:
1046
+ query = buildUpdate(table, fv, where);
1047
+ if (followingSql) query.push('\n').push(followingSql);
1048
+ _context2.next = 4;
1049
+ return __classPrivateFieldGet(this, _QueryHelper_instances, "m", _QueryHelper_query).call(this, [query]);
1050
+ case 4:
1051
+ return _context2.abrupt("return", _context2.sent);
1052
+ case 5:
1053
+ case "end":
1054
+ return _context2.stop();
1055
+ }
1056
+ }, _callee2, this);
1057
+ }));
1058
+ function update(_x4, _x5, _x6, _x7) {
1059
+ return _update.apply(this, arguments);
1060
+ }
1061
+ return update;
1062
+ }()
1063
+ }, {
1064
+ key: "delete",
1065
+ value: function () {
1066
+ var _delete2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(table, where, followingSql) {
1067
+ var query;
1068
+ return _regeneratorRuntime().wrap(function _callee3$(_context3) {
1069
+ while (1) switch (_context3.prev = _context3.next) {
1070
+ case 0:
1071
+ query = buildDelete(table, where);
1072
+ if (followingSql) query.push('\n').push(followingSql);
1073
+ _context3.next = 4;
1074
+ return __classPrivateFieldGet(this, _QueryHelper_instances, "m", _QueryHelper_query).call(this, [query]);
1075
+ case 4:
1076
+ return _context3.abrupt("return", _context3.sent);
1077
+ case 5:
1078
+ case "end":
1079
+ return _context3.stop();
1080
+ }
1081
+ }, _callee3, this);
1082
+ }));
1083
+ function _delete(_x8, _x9, _x10) {
1084
+ return _delete2.apply(this, arguments);
1085
+ }
1086
+ return _delete;
1087
+ }()
1088
+ }, {
1089
+ key: "query",
1090
+ value: function () {
1091
+ var _query = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4() {
1092
+ var _len,
1093
+ args,
1094
+ _key,
1095
+ _args5 = arguments;
1096
+ return _regeneratorRuntime().wrap(function _callee4$(_context4) {
1097
+ while (1) switch (_context4.prev = _context4.next) {
1098
+ case 0:
1099
+ for (_len = _args5.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
1100
+ args[_key] = _args5[_key];
1101
+ }
1102
+ return _context4.abrupt("return", __classPrivateFieldGet(this, _QueryHelper_instances, "m", _QueryHelper_query).call(this, args));
1103
+ case 2:
1104
+ case "end":
1105
+ return _context4.stop();
1106
+ }
1107
+ }, _callee4, this);
1108
+ }));
1109
+ function query() {
1110
+ return _query.apply(this, arguments);
1111
+ }
1112
+ return query;
1113
+ }()
1114
+ }, {
1115
+ key: "getRows",
1116
+ value: function () {
1117
+ var _getRows = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5() {
1118
+ var _len2,
1119
+ args,
1120
+ _key2,
1121
+ _args6 = arguments;
1122
+ return _regeneratorRuntime().wrap(function _callee5$(_context5) {
1123
+ while (1) switch (_context5.prev = _context5.next) {
1124
+ case 0:
1125
+ for (_len2 = _args6.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
1126
+ args[_key2] = _args6[_key2];
1127
+ }
1128
+ return _context5.abrupt("return", __classPrivateFieldGet(this, _QueryHelper_instances, "m", _QueryHelper_query).call(this, args).then(function (x) {
1129
+ return x.rows;
1130
+ }));
1131
+ case 2:
1132
+ case "end":
1133
+ return _context5.stop();
1134
+ }
1135
+ }, _callee5, this);
1136
+ }));
1137
+ function getRows() {
1138
+ return _getRows.apply(this, arguments);
1139
+ }
1140
+ return getRows;
1141
+ }()
1142
+ }, {
1143
+ key: "getRow",
1144
+ value: function () {
1145
+ var _getRow = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee6() {
1146
+ var _len3,
1147
+ args,
1148
+ _key3,
1149
+ _args7 = arguments;
1150
+ return _regeneratorRuntime().wrap(function _callee6$(_context6) {
1151
+ while (1) switch (_context6.prev = _context6.next) {
1152
+ case 0:
1153
+ for (_len3 = _args7.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
1154
+ args[_key3] = _args7[_key3];
1155
+ }
1156
+ return _context6.abrupt("return", __classPrivateFieldGet(this, _QueryHelper_instances, "m", _QueryHelper_query).call(this, args).then(function (x) {
1157
+ var _x$rows;
1158
+ return (_x$rows = x.rows) === null || _x$rows === void 0 ? void 0 : _x$rows[0];
1159
+ }));
1160
+ case 2:
1161
+ case "end":
1162
+ return _context6.stop();
1163
+ }
1164
+ }, _callee6, this);
1165
+ }));
1166
+ function getRow() {
1167
+ return _getRow.apply(this, arguments);
1168
+ }
1169
+ return getRow;
1170
+ }()
1171
+ }, {
1172
+ key: "getOne",
1173
+ value: function () {
1174
+ var _getOne = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee7() {
1175
+ var _len4,
1176
+ args,
1177
+ _key4,
1178
+ _args8 = arguments;
1179
+ return _regeneratorRuntime().wrap(function _callee7$(_context7) {
1180
+ while (1) switch (_context7.prev = _context7.next) {
1181
+ case 0:
1182
+ for (_len4 = _args8.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {
1183
+ args[_key4] = _args8[_key4];
1184
+ }
1185
+ return _context7.abrupt("return", __classPrivateFieldGet(this, _QueryHelper_instances, "m", _QueryHelper_query).call(this, args).then(function (x) {
1186
+ var _Object$values, _x$rows2;
1187
+ return (_Object$values = Object.values((_x$rows2 = x.rows) === null || _x$rows2 === void 0 ? void 0 : _x$rows2[0])) === null || _Object$values === void 0 ? void 0 : _Object$values[0];
1188
+ }));
1189
+ case 2:
1190
+ case "end":
1191
+ return _context7.stop();
1192
+ }
1193
+ }, _callee7, this);
1194
+ }));
1195
+ function getOne() {
1196
+ return _getOne.apply(this, arguments);
1197
+ }
1198
+ return getOne;
1199
+ }()
1200
+ }, {
1201
+ key: "getCount",
1202
+ value: function () {
1203
+ var _getCount = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee8() {
1204
+ var _len5,
1205
+ args,
1206
+ _key5,
1207
+ _args9 = arguments;
1208
+ return _regeneratorRuntime().wrap(function _callee8$(_context8) {
1209
+ while (1) switch (_context8.prev = _context8.next) {
1210
+ case 0:
1211
+ for (_len5 = _args9.length, args = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {
1212
+ args[_key5] = _args9[_key5];
1213
+ }
1214
+ return _context8.abrupt("return", __classPrivateFieldGet(this, _QueryHelper_instances, "m", _QueryHelper_query).call(this, args).then(function (x) {
1215
+ return x.rowCount;
1216
+ }));
1217
+ case 2:
1218
+ case "end":
1219
+ return _context8.stop();
1220
+ }
1221
+ }, _callee8, this);
1222
+ }));
1223
+ function getCount() {
1224
+ return _getCount.apply(this, arguments);
1225
+ }
1226
+ return getCount;
1227
+ }()
1228
+ }, {
1229
+ key: "exec",
1230
+ value: function () {
1231
+ var _exec = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee9() {
1232
+ var _len6,
1233
+ args,
1234
+ _key6,
1235
+ _args10 = arguments;
1236
+ return _regeneratorRuntime().wrap(function _callee9$(_context9) {
1237
+ while (1) switch (_context9.prev = _context9.next) {
1238
+ case 0:
1239
+ for (_len6 = _args10.length, args = new Array(_len6), _key6 = 0; _key6 < _len6; _key6++) {
1240
+ args[_key6] = _args10[_key6];
1241
+ }
1242
+ return _context9.abrupt("return", __classPrivateFieldGet(this, _QueryHelper_instances, "m", _QueryHelper_query).call(this, args).then(function (x) {
1243
+ return x.rowCount;
1244
+ }));
1245
+ case 2:
1246
+ case "end":
1247
+ return _context9.stop();
1248
+ }
1249
+ }, _callee9, this);
1250
+ }));
1251
+ function exec() {
1252
+ return _exec.apply(this, arguments);
1253
+ }
1254
+ return exec;
1255
+ }()
1256
+ }]);
1257
+ return QueryHelper;
1258
+ }();
1259
+ _QueryHelper_db = new WeakMap(), _QueryHelper_opts = new WeakMap(), _QueryHelper_instances = new WeakSet(), _QueryHelper_parseQueryTemplateArgs = function _QueryHelper_parseQueryTemplateArgs(args) {
1260
+ if (isQueryTemplateArgs(args)) {
1261
+ var _args11 = _toArray(args),
1262
+ texts = _args11[0],
1263
+ _values = _args11.slice(1);
1264
+ return sql.apply(void 0, [texts].concat(_toConsumableArray(_values)));
1265
+ }
1266
+ var _args12 = _slicedToArray(args, 2),
1267
+ query = _args12[0],
1268
+ values = _args12[1];
1269
+ if (_typeof(query) === 'object' && query && 'text' in query) {
1270
+ return query;
1271
+ }
1272
+ return {
1273
+ text: query,
1274
+ values: values !== null && values !== void 0 ? values : []
1275
+ };
1276
+ }, _QueryHelper_query = /*#__PURE__*/function () {
1277
+ var _QueryHelper_query2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee10(args) {
1278
+ var _classPrivateFieldGe,
1279
+ _classPrivateFieldGe$,
1280
+ _this = this,
1281
+ _classPrivateFieldGe4,
1282
+ _classPrivateFieldGe5;
1283
+ var query, result;
1284
+ return _regeneratorRuntime().wrap(function _callee10$(_context10) {
1285
+ while (1) switch (_context10.prev = _context10.next) {
1286
+ case 0:
1287
+ query = __classPrivateFieldGet(this, _QueryHelper_instances, "m", _QueryHelper_parseQueryTemplateArgs).call(this, args);
1288
+ (_classPrivateFieldGe = __classPrivateFieldGet(this, _QueryHelper_opts, "f")) === null || _classPrivateFieldGe === void 0 ? void 0 : (_classPrivateFieldGe$ = _classPrivateFieldGe.beforeQuery) === null || _classPrivateFieldGe$ === void 0 ? void 0 : _classPrivateFieldGe$.call(_classPrivateFieldGe, query);
1289
+ _context10.next = 4;
1290
+ return __classPrivateFieldGet(this, _QueryHelper_db, "f").query(query)["catch"](function (e) {
1291
+ var _classPrivateFieldGe2, _classPrivateFieldGe3;
1292
+ (_classPrivateFieldGe2 = __classPrivateFieldGet(_this, _QueryHelper_opts, "f")) === null || _classPrivateFieldGe2 === void 0 ? void 0 : (_classPrivateFieldGe3 = _classPrivateFieldGe2.onError) === null || _classPrivateFieldGe3 === void 0 ? void 0 : _classPrivateFieldGe3.call(_classPrivateFieldGe2, query, e);
1293
+ throw e;
1294
+ });
1295
+ case 4:
1296
+ result = _context10.sent;
1297
+ (_classPrivateFieldGe4 = __classPrivateFieldGet(this, _QueryHelper_opts, "f")) === null || _classPrivateFieldGe4 === void 0 ? void 0 : (_classPrivateFieldGe5 = _classPrivateFieldGe4.afterQuery) === null || _classPrivateFieldGe5 === void 0 ? void 0 : _classPrivateFieldGe5.call(_classPrivateFieldGe4, _objectSpread2(_objectSpread2({}, query), {}, {
1298
+ result: result
1299
+ }));
1300
+ return _context10.abrupt("return", result);
1301
+ case 7:
1302
+ case "end":
1303
+ return _context10.stop();
1304
+ }
1305
+ }, _callee10, this);
1306
+ }));
1307
+ function _QueryHelper_query(_x11) {
1308
+ return _QueryHelper_query2.apply(this, arguments);
1309
+ }
1310
+ return _QueryHelper_query;
1311
+ }();
1312
+ /**
1313
+ * Returns a proxy object that overrides the queryable instance `db` by Query Helper utilities
1314
+ * @param db - Queryable object to be wrapped
1315
+ */
1316
+ function useQueryHelper(db, opts) {
1317
+ var qh = new QueryHelper(db, opts);
1318
+ return new Proxy(db, {
1319
+ get: function get(db, key, receiver) {
1320
+ var target = key in qh ? qh : key in db ? db : undefined;
1321
+ var value = target && Reflect.get(target, key);
1322
+ if (value && value instanceof Function) {
1323
+ return function () {
1324
+ for (var _len7 = arguments.length, args = new Array(_len7), _key7 = 0; _key7 < _len7; _key7++) {
1325
+ args[_key7] = arguments[_key7];
1326
+ }
1327
+ return value.apply(this === receiver ? target : this, args);
1328
+ };
1329
+ }
1330
+ return value;
1331
+ }
1332
+ });
1333
+ }
1334
+
1335
+ exports.AND = AND;
1336
+ exports.OR = OR;
1337
+ exports.QueryHelper = QueryHelper;
1338
+ exports.WHERE = WHERE;
1339
+ exports.WHERE_AND = WHERE_AND;
1340
+ exports.WHERE_OR = WHERE_OR;
1341
+ exports.and = and;
1342
+ exports.buildClauses = buildClauses;
1343
+ exports.buildDelete = buildDelete;
1344
+ exports.buildInsert = buildInsert;
1345
+ exports.buildUpdate = buildUpdate;
1346
+ exports.buildValues = buildValues;
1347
+ exports.ident = ident;
1348
+ exports.isQueryFragment = isQueryFragment;
1349
+ exports.json = json;
1350
+ exports.or = or;
1351
+ exports.pgIdent = pgIdent;
1352
+ exports.pgString = pgString;
1353
+ exports.raw = raw;
1354
+ exports.sql = sql;
1355
+ exports.useQueryHelper = useQueryHelper;
1356
+ exports.where = where;
1357
+ exports.where_and = where_and;
1358
+ exports.where_or = where_or;
1359
+ //# sourceMappingURL=index.js.map