@nymphjs/driver-sqlite3 1.0.0-beta.81 → 1.0.0-beta.83

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.
@@ -1,12 +1,7 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const better_sqlite3_1 = __importDefault(require("better-sqlite3"));
7
- const nymph_1 = require("@nymphjs/nymph");
8
- const guid_1 = require("@nymphjs/guid");
9
- const conf_1 = require("./conf");
1
+ import SQLite3 from 'better-sqlite3';
2
+ import { NymphDriver, EntityUniqueConstraintError, InvalidParametersError, NotConfiguredError, QueryFailedError, UnableToConnectError, xor, } from '@nymphjs/nymph';
3
+ import { makeTableSuffix } from '@nymphjs/guid';
4
+ import { SQLite3DriverConfigDefaults as defaults, } from './conf/index.js';
10
5
  class InternalStore {
11
6
  link;
12
7
  linkWrite;
@@ -19,20 +14,20 @@ class InternalStore {
19
14
  /**
20
15
  * The SQLite3 Nymph database driver.
21
16
  */
22
- class SQLite3Driver extends nymph_1.NymphDriver {
17
+ export default class SQLite3Driver extends NymphDriver {
23
18
  config;
24
19
  prefix;
25
20
  // @ts-ignore: this is assigned in connect(), which is called by the constructor.
26
21
  store;
27
22
  static escape(input) {
28
23
  if (input.indexOf('\x00') !== -1) {
29
- throw new nymph_1.InvalidParametersError('SQLite3 identifiers (like entity ETYPE) cannot contain null characters.');
24
+ throw new InvalidParametersError('SQLite3 identifiers (like entity ETYPE) cannot contain null characters.');
30
25
  }
31
26
  return '"' + input.replace(/"/g, () => '""') + '"';
32
27
  }
33
28
  constructor(config, store) {
34
29
  super();
35
- this.config = { ...conf_1.SQLite3DriverConfigDefaults, ...config };
30
+ this.config = { ...defaults, ...config };
36
31
  if (this.config.filename === ':memory:') {
37
32
  this.config.explicitWrite = true;
38
33
  }
@@ -84,7 +79,7 @@ class SQLite3Driver extends nymph_1.NymphDriver {
84
79
  };
85
80
  let link;
86
81
  try {
87
- link = new better_sqlite3_1.default(filename, {
82
+ link = new SQLite3(filename, {
88
83
  readonly: !explicitWrite && !write,
89
84
  fileMustExist,
90
85
  timeout,
@@ -99,7 +94,7 @@ class SQLite3Driver extends nymph_1.NymphDriver {
99
94
  // This happens when the file doesn't exist and we attempt to open it
100
95
  // readonly.
101
96
  // First open it in write mode.
102
- const writeLink = new better_sqlite3_1.default(filename, {
97
+ const writeLink = new SQLite3(filename, {
103
98
  readonly: false,
104
99
  fileMustExist,
105
100
  timeout,
@@ -108,7 +103,7 @@ class SQLite3Driver extends nymph_1.NymphDriver {
108
103
  setOptions(writeLink);
109
104
  writeLink.close();
110
105
  // Now open in readonly.
111
- link = new better_sqlite3_1.default(filename, {
106
+ link = new SQLite3(filename, {
112
107
  readonly: true,
113
108
  fileMustExist,
114
109
  timeout,
@@ -139,11 +134,11 @@ class SQLite3Driver extends nymph_1.NymphDriver {
139
134
  this.store.connected = false;
140
135
  }
141
136
  if (filename === ':memory:') {
142
- throw new nymph_1.NotConfiguredError("It seems the config hasn't been set up correctly. Could not connect: " +
137
+ throw new NotConfiguredError("It seems the config hasn't been set up correctly. Could not connect: " +
143
138
  e?.message);
144
139
  }
145
140
  else {
146
- throw new nymph_1.UnableToConnectError('Could not connect: ' + e?.message);
141
+ throw new UnableToConnectError('Could not connect: ' + e?.message);
147
142
  }
148
143
  }
149
144
  }
@@ -242,19 +237,19 @@ class SQLite3Driver extends nymph_1.NymphDriver {
242
237
  return runQuery();
243
238
  }
244
239
  catch (e2) {
245
- throw new nymph_1.QueryFailedError('Query failed: ' + e2?.code + ' - ' + e2?.message, query);
240
+ throw new QueryFailedError('Query failed: ' + e2?.code + ' - ' + e2?.message, query);
246
241
  }
247
242
  }
248
243
  else if (errorCode === 'SQLITE_CONSTRAINT_UNIQUE' &&
249
244
  errorMsg.match(/^UNIQUE constraint failed: /)) {
250
- throw new nymph_1.EntityUniqueConstraintError(`Unique constraint violation.`);
245
+ throw new EntityUniqueConstraintError(`Unique constraint violation.`);
251
246
  }
252
247
  else {
253
- throw new nymph_1.QueryFailedError('Query failed: ' + e?.code + ' - ' + e?.message, query);
248
+ throw new QueryFailedError('Query failed: ' + e?.code + ' - ' + e?.message, query);
254
249
  }
255
250
  }
256
251
  }
257
- queryIter(query, { etypes = [], params = {}, } = {}) {
252
+ queryArray(query, { etypes = [], params = {}, } = {}) {
258
253
  return this.query(() => (this.store.linkWrite || this.store.link)
259
254
  .prepare(query)
260
255
  .iterate(params), `${query} -- ${JSON.stringify(params)}`, etypes);
@@ -267,7 +262,7 @@ class SQLite3Driver extends nymph_1.NymphDriver {
267
262
  }
268
263
  async commit(name) {
269
264
  if (name == null || typeof name !== 'string' || name.length === 0) {
270
- throw new nymph_1.InvalidParametersError('Transaction commit attempted without a name.');
265
+ throw new InvalidParametersError('Transaction commit attempted without a name.');
271
266
  }
272
267
  if (this.store.transactionsStarted === 0) {
273
268
  return true;
@@ -334,7 +329,7 @@ class SQLite3Driver extends nymph_1.NymphDriver {
334
329
  }
335
330
  async deleteUID(name) {
336
331
  if (!name) {
337
- throw new nymph_1.InvalidParametersError('Name not given for UID');
332
+ throw new InvalidParametersError('Name not given for UID');
338
333
  }
339
334
  await this.startTransaction('nymph-delete-uid');
340
335
  this.queryRun(`DELETE FROM ${SQLite3Driver.escape(`${this.prefix}uids`)} WHERE "name"=@name;`, {
@@ -370,7 +365,7 @@ class SQLite3Driver extends nymph_1.NymphDriver {
370
365
  return;
371
366
  }
372
367
  // Export UIDs.
373
- let uids = this.queryIter(`SELECT * FROM ${SQLite3Driver.escape(`${this.prefix}uids`)} ORDER BY "name";`);
368
+ let uids = this.queryArray(`SELECT * FROM ${SQLite3Driver.escape(`${this.prefix}uids`)} ORDER BY "name";`);
374
369
  for (const uid of uids) {
375
370
  if (yield { type: 'uid', content: `<${uid.name}>[${uid.cur_uid}]\n` }) {
376
371
  return;
@@ -389,7 +384,7 @@ class SQLite3Driver extends nymph_1.NymphDriver {
389
384
  return;
390
385
  }
391
386
  // Get the etypes.
392
- const tables = this.queryIter("SELECT `name` FROM `sqlite_master` WHERE `type`='table' AND `name` LIKE @prefix;", {
387
+ const tables = this.queryArray("SELECT `name` FROM `sqlite_master` WHERE `type`='table' AND `name` LIKE @prefix;", {
393
388
  params: {
394
389
  prefix: this.prefix + 'entities_' + '%',
395
390
  },
@@ -400,7 +395,7 @@ class SQLite3Driver extends nymph_1.NymphDriver {
400
395
  }
401
396
  for (const etype of etypes) {
402
397
  // Export entities.
403
- const dataIterator = this.queryIter(`SELECT e.*, d."name", d."value", json(d."json") as "json", d."string", d."number" FROM ${SQLite3Driver.escape(`${this.prefix}entities_${etype}`)} e LEFT JOIN ${SQLite3Driver.escape(`${this.prefix}data_${etype}`)} d USING ("guid") ORDER BY e."guid";`)[Symbol.iterator]();
398
+ const dataIterator = this.queryArray(`SELECT e.*, d."name", d."value", json(d."json") as "json", d."string", d."number" FROM ${SQLite3Driver.escape(`${this.prefix}entities_${etype}`)} e LEFT JOIN ${SQLite3Driver.escape(`${this.prefix}data_${etype}`)} d USING ("guid") ORDER BY e."guid";`)[Symbol.iterator]();
404
399
  let datum = dataIterator.next();
405
400
  while (!datum.done) {
406
401
  const guid = datum.value.guid;
@@ -470,7 +465,7 @@ class SQLite3Driver extends nymph_1.NymphDriver {
470
465
  }
471
466
  const guid = `param${++count.i}`;
472
467
  curQuery +=
473
- ((0, nymph_1.xor)(typeIsNot, clauseNot) ? 'NOT ' : '') +
468
+ (xor(typeIsNot, clauseNot) ? 'NOT ' : '') +
474
469
  ieTable +
475
470
  '."guid"=@' +
476
471
  guid;
@@ -485,7 +480,7 @@ class SQLite3Driver extends nymph_1.NymphDriver {
485
480
  }
486
481
  const tag = `param${++count.i}`;
487
482
  curQuery +=
488
- ((0, nymph_1.xor)(typeIsNot, clauseNot) ? 'NOT ' : '') +
483
+ (xor(typeIsNot, clauseNot) ? 'NOT ' : '') +
489
484
  ieTable +
490
485
  '."tags" LIKE @' +
491
486
  tag +
@@ -509,7 +504,7 @@ class SQLite3Driver extends nymph_1.NymphDriver {
509
504
  curQuery +=
510
505
  ieTable +
511
506
  '."guid" ' +
512
- ((0, nymph_1.xor)(typeIsNot, clauseNot) ? 'NOT ' : '') +
507
+ (xor(typeIsNot, clauseNot) ? 'NOT ' : '') +
513
508
  'IN (SELECT "guid" FROM ' +
514
509
  SQLite3Driver.escape(this.prefix + 'data_' + etype) +
515
510
  ' WHERE "name"=@' +
@@ -526,7 +521,7 @@ class SQLite3Driver extends nymph_1.NymphDriver {
526
521
  }
527
522
  if (curVar === 'cdate') {
528
523
  curQuery +=
529
- ((0, nymph_1.xor)(typeIsNot, clauseNot) ? 'NOT ' : '') +
524
+ (xor(typeIsNot, clauseNot) ? 'NOT ' : '') +
530
525
  '(' +
531
526
  ieTable +
532
527
  '."cdate" NOT NULL)';
@@ -534,7 +529,7 @@ class SQLite3Driver extends nymph_1.NymphDriver {
534
529
  }
535
530
  else if (curVar === 'mdate') {
536
531
  curQuery +=
537
- ((0, nymph_1.xor)(typeIsNot, clauseNot) ? 'NOT ' : '') +
532
+ (xor(typeIsNot, clauseNot) ? 'NOT ' : '') +
538
533
  '(' +
539
534
  ieTable +
540
535
  '."mdate" NOT NULL)';
@@ -543,7 +538,7 @@ class SQLite3Driver extends nymph_1.NymphDriver {
543
538
  else {
544
539
  const name = `param${++count.i}`;
545
540
  curQuery +=
546
- ((0, nymph_1.xor)(typeIsNot, clauseNot) ? 'NOT ' : '') +
541
+ (xor(typeIsNot, clauseNot) ? 'NOT ' : '') +
547
542
  'EXISTS (SELECT "guid" FROM ' +
548
543
  SQLite3Driver.escape(this.prefix + 'data_' + etype) +
549
544
  ' WHERE "guid"=' +
@@ -563,7 +558,7 @@ class SQLite3Driver extends nymph_1.NymphDriver {
563
558
  }
564
559
  const cdate = `param${++count.i}`;
565
560
  curQuery +=
566
- ((0, nymph_1.xor)(typeIsNot, clauseNot) ? 'NOT ' : '') +
561
+ (xor(typeIsNot, clauseNot) ? 'NOT ' : '') +
567
562
  ieTable +
568
563
  '."cdate"=@' +
569
564
  cdate;
@@ -576,7 +571,7 @@ class SQLite3Driver extends nymph_1.NymphDriver {
576
571
  }
577
572
  const mdate = `param${++count.i}`;
578
573
  curQuery +=
579
- ((0, nymph_1.xor)(typeIsNot, clauseNot) ? 'NOT ' : '') +
574
+ (xor(typeIsNot, clauseNot) ? 'NOT ' : '') +
580
575
  ieTable +
581
576
  '."mdate"=@' +
582
577
  mdate;
@@ -590,7 +585,7 @@ class SQLite3Driver extends nymph_1.NymphDriver {
590
585
  const name = `param${++count.i}`;
591
586
  const value = `param${++count.i}`;
592
587
  curQuery +=
593
- ((0, nymph_1.xor)(typeIsNot, clauseNot) ? 'NOT ' : '') +
588
+ (xor(typeIsNot, clauseNot) ? 'NOT ' : '') +
594
589
  'EXISTS (SELECT "guid" FROM ' +
595
590
  SQLite3Driver.escape(this.prefix + 'data_' + etype) +
596
591
  ' WHERE "guid"=' +
@@ -610,7 +605,7 @@ class SQLite3Driver extends nymph_1.NymphDriver {
610
605
  const name = `param${++count.i}`;
611
606
  const value = `param${++count.i}`;
612
607
  curQuery +=
613
- ((0, nymph_1.xor)(typeIsNot, clauseNot) ? 'NOT ' : '') +
608
+ (xor(typeIsNot, clauseNot) ? 'NOT ' : '') +
614
609
  'EXISTS (SELECT "guid" FROM ' +
615
610
  SQLite3Driver.escape(this.prefix + 'data_' + etype) +
616
611
  ' WHERE "guid"=' +
@@ -638,7 +633,7 @@ class SQLite3Driver extends nymph_1.NymphDriver {
638
633
  const name = `param${++count.i}`;
639
634
  const value = `param${++count.i}`;
640
635
  curQuery +=
641
- ((0, nymph_1.xor)(typeIsNot, clauseNot) ? 'NOT ' : '') +
636
+ (xor(typeIsNot, clauseNot) ? 'NOT ' : '') +
642
637
  'EXISTS (SELECT "guid" FROM ' +
643
638
  SQLite3Driver.escape(this.prefix + 'data_' + etype) +
644
639
  ' WHERE "guid"=' +
@@ -660,7 +655,7 @@ class SQLite3Driver extends nymph_1.NymphDriver {
660
655
  }
661
656
  const cdate = `param${++count.i}`;
662
657
  curQuery +=
663
- ((0, nymph_1.xor)(typeIsNot, clauseNot) ? 'NOT ' : '') +
658
+ (xor(typeIsNot, clauseNot) ? 'NOT ' : '') +
664
659
  ieTable +
665
660
  '."cdate"=@' +
666
661
  cdate;
@@ -673,7 +668,7 @@ class SQLite3Driver extends nymph_1.NymphDriver {
673
668
  }
674
669
  const mdate = `param${++count.i}`;
675
670
  curQuery +=
676
- ((0, nymph_1.xor)(typeIsNot, clauseNot) ? 'NOT ' : '') +
671
+ (xor(typeIsNot, clauseNot) ? 'NOT ' : '') +
677
672
  ieTable +
678
673
  '."mdate"=@' +
679
674
  mdate;
@@ -681,7 +676,7 @@ class SQLite3Driver extends nymph_1.NymphDriver {
681
676
  break;
682
677
  }
683
678
  else {
684
- const containTableSuffix = (0, guid_1.makeTableSuffix)();
679
+ const containTableSuffix = makeTableSuffix();
685
680
  if (curQuery) {
686
681
  curQuery += typeIsOr ? ' OR ' : ' AND ';
687
682
  }
@@ -696,7 +691,7 @@ class SQLite3Driver extends nymph_1.NymphDriver {
696
691
  const name = `param${++count.i}`;
697
692
  const value = `param${++count.i}`;
698
693
  curQuery +=
699
- ((0, nymph_1.xor)(typeIsNot, clauseNot) ? 'NOT ' : '') +
694
+ (xor(typeIsNot, clauseNot) ? 'NOT ' : '') +
700
695
  'EXISTS (SELECT "guid" FROM ' +
701
696
  SQLite3Driver.escape(this.prefix + 'data_' + etype) +
702
697
  ' d' +
@@ -722,7 +717,7 @@ class SQLite3Driver extends nymph_1.NymphDriver {
722
717
  }
723
718
  const cdate = `param${++count.i}`;
724
719
  curQuery +=
725
- ((0, nymph_1.xor)(typeIsNot, clauseNot) ? 'NOT ' : '') +
720
+ (xor(typeIsNot, clauseNot) ? 'NOT ' : '') +
726
721
  '(' +
727
722
  ieTable +
728
723
  '."cdate" REGEXP @' +
@@ -737,7 +732,7 @@ class SQLite3Driver extends nymph_1.NymphDriver {
737
732
  }
738
733
  const mdate = `param${++count.i}`;
739
734
  curQuery +=
740
- ((0, nymph_1.xor)(typeIsNot, clauseNot) ? 'NOT ' : '') +
735
+ (xor(typeIsNot, clauseNot) ? 'NOT ' : '') +
741
736
  '(' +
742
737
  ieTable +
743
738
  '."mdate" REGEXP @' +
@@ -753,7 +748,7 @@ class SQLite3Driver extends nymph_1.NymphDriver {
753
748
  const name = `param${++count.i}`;
754
749
  const value = `param${++count.i}`;
755
750
  curQuery +=
756
- ((0, nymph_1.xor)(typeIsNot, clauseNot) ? 'NOT ' : '') +
751
+ (xor(typeIsNot, clauseNot) ? 'NOT ' : '') +
757
752
  'EXISTS (SELECT "guid" FROM ' +
758
753
  SQLite3Driver.escape(this.prefix + 'data_' + etype) +
759
754
  ' WHERE "guid"=' +
@@ -775,7 +770,7 @@ class SQLite3Driver extends nymph_1.NymphDriver {
775
770
  }
776
771
  const cdate = `param${++count.i}`;
777
772
  curQuery +=
778
- ((0, nymph_1.xor)(typeIsNot, clauseNot) ? 'NOT ' : '') +
773
+ (xor(typeIsNot, clauseNot) ? 'NOT ' : '') +
779
774
  '(' +
780
775
  ieTable +
781
776
  '."cdate" REGEXP @' +
@@ -790,7 +785,7 @@ class SQLite3Driver extends nymph_1.NymphDriver {
790
785
  }
791
786
  const mdate = `param${++count.i}`;
792
787
  curQuery +=
793
- ((0, nymph_1.xor)(typeIsNot, clauseNot) ? 'NOT ' : '') +
788
+ (xor(typeIsNot, clauseNot) ? 'NOT ' : '') +
794
789
  '(' +
795
790
  ieTable +
796
791
  '."mdate" REGEXP @' +
@@ -806,7 +801,7 @@ class SQLite3Driver extends nymph_1.NymphDriver {
806
801
  const name = `param${++count.i}`;
807
802
  const value = `param${++count.i}`;
808
803
  curQuery +=
809
- ((0, nymph_1.xor)(typeIsNot, clauseNot) ? 'NOT ' : '') +
804
+ (xor(typeIsNot, clauseNot) ? 'NOT ' : '') +
810
805
  'EXISTS (SELECT "guid" FROM ' +
811
806
  SQLite3Driver.escape(this.prefix + 'data_' + etype) +
812
807
  ' WHERE "guid"=' +
@@ -828,7 +823,7 @@ class SQLite3Driver extends nymph_1.NymphDriver {
828
823
  }
829
824
  const cdate = `param${++count.i}`;
830
825
  curQuery +=
831
- ((0, nymph_1.xor)(typeIsNot, clauseNot) ? 'NOT ' : '') +
826
+ (xor(typeIsNot, clauseNot) ? 'NOT ' : '') +
832
827
  '(' +
833
828
  ieTable +
834
829
  '."cdate" LIKE @' +
@@ -843,7 +838,7 @@ class SQLite3Driver extends nymph_1.NymphDriver {
843
838
  }
844
839
  const mdate = `param${++count.i}`;
845
840
  curQuery +=
846
- ((0, nymph_1.xor)(typeIsNot, clauseNot) ? 'NOT ' : '') +
841
+ (xor(typeIsNot, clauseNot) ? 'NOT ' : '') +
847
842
  '(' +
848
843
  ieTable +
849
844
  '."mdate" LIKE @' +
@@ -859,7 +854,7 @@ class SQLite3Driver extends nymph_1.NymphDriver {
859
854
  const name = `param${++count.i}`;
860
855
  const value = `param${++count.i}`;
861
856
  curQuery +=
862
- ((0, nymph_1.xor)(typeIsNot, clauseNot) ? 'NOT ' : '') +
857
+ (xor(typeIsNot, clauseNot) ? 'NOT ' : '') +
863
858
  'EXISTS (SELECT "guid" FROM ' +
864
859
  SQLite3Driver.escape(this.prefix + 'data_' + etype) +
865
860
  ' WHERE "guid"=' +
@@ -881,7 +876,7 @@ class SQLite3Driver extends nymph_1.NymphDriver {
881
876
  }
882
877
  const cdate = `param${++count.i}`;
883
878
  curQuery +=
884
- ((0, nymph_1.xor)(typeIsNot, clauseNot) ? 'NOT ' : '') +
879
+ (xor(typeIsNot, clauseNot) ? 'NOT ' : '') +
885
880
  '(' +
886
881
  ieTable +
887
882
  '."cdate" LIKE @' +
@@ -896,7 +891,7 @@ class SQLite3Driver extends nymph_1.NymphDriver {
896
891
  }
897
892
  const mdate = `param${++count.i}`;
898
893
  curQuery +=
899
- ((0, nymph_1.xor)(typeIsNot, clauseNot) ? 'NOT ' : '') +
894
+ (xor(typeIsNot, clauseNot) ? 'NOT ' : '') +
900
895
  '(' +
901
896
  ieTable +
902
897
  '."mdate" LIKE @' +
@@ -912,7 +907,7 @@ class SQLite3Driver extends nymph_1.NymphDriver {
912
907
  const name = `param${++count.i}`;
913
908
  const value = `param${++count.i}`;
914
909
  curQuery +=
915
- ((0, nymph_1.xor)(typeIsNot, clauseNot) ? 'NOT ' : '') +
910
+ (xor(typeIsNot, clauseNot) ? 'NOT ' : '') +
916
911
  'EXISTS (SELECT "guid" FROM ' +
917
912
  SQLite3Driver.escape(this.prefix + 'data_' + etype) +
918
913
  ' WHERE "guid"=' +
@@ -934,7 +929,7 @@ class SQLite3Driver extends nymph_1.NymphDriver {
934
929
  }
935
930
  const cdate = `param${++count.i}`;
936
931
  curQuery +=
937
- ((0, nymph_1.xor)(typeIsNot, clauseNot) ? 'NOT ' : '') +
932
+ (xor(typeIsNot, clauseNot) ? 'NOT ' : '') +
938
933
  ieTable +
939
934
  '."cdate">@' +
940
935
  cdate;
@@ -947,7 +942,7 @@ class SQLite3Driver extends nymph_1.NymphDriver {
947
942
  }
948
943
  const mdate = `param${++count.i}`;
949
944
  curQuery +=
950
- ((0, nymph_1.xor)(typeIsNot, clauseNot) ? 'NOT ' : '') +
945
+ (xor(typeIsNot, clauseNot) ? 'NOT ' : '') +
951
946
  ieTable +
952
947
  '."mdate">@' +
953
948
  mdate;
@@ -961,7 +956,7 @@ class SQLite3Driver extends nymph_1.NymphDriver {
961
956
  const name = `param${++count.i}`;
962
957
  const value = `param${++count.i}`;
963
958
  curQuery +=
964
- ((0, nymph_1.xor)(typeIsNot, clauseNot) ? 'NOT ' : '') +
959
+ (xor(typeIsNot, clauseNot) ? 'NOT ' : '') +
965
960
  'EXISTS (SELECT "guid" FROM ' +
966
961
  SQLite3Driver.escape(this.prefix + 'data_' + etype) +
967
962
  ' WHERE "guid"=' +
@@ -983,7 +978,7 @@ class SQLite3Driver extends nymph_1.NymphDriver {
983
978
  }
984
979
  const cdate = `param${++count.i}`;
985
980
  curQuery +=
986
- ((0, nymph_1.xor)(typeIsNot, clauseNot) ? 'NOT ' : '') +
981
+ (xor(typeIsNot, clauseNot) ? 'NOT ' : '') +
987
982
  ieTable +
988
983
  '."cdate">=@' +
989
984
  cdate;
@@ -996,7 +991,7 @@ class SQLite3Driver extends nymph_1.NymphDriver {
996
991
  }
997
992
  const mdate = `param${++count.i}`;
998
993
  curQuery +=
999
- ((0, nymph_1.xor)(typeIsNot, clauseNot) ? 'NOT ' : '') +
994
+ (xor(typeIsNot, clauseNot) ? 'NOT ' : '') +
1000
995
  ieTable +
1001
996
  '."mdate">=@' +
1002
997
  mdate;
@@ -1010,7 +1005,7 @@ class SQLite3Driver extends nymph_1.NymphDriver {
1010
1005
  const name = `param${++count.i}`;
1011
1006
  const value = `param${++count.i}`;
1012
1007
  curQuery +=
1013
- ((0, nymph_1.xor)(typeIsNot, clauseNot) ? 'NOT ' : '') +
1008
+ (xor(typeIsNot, clauseNot) ? 'NOT ' : '') +
1014
1009
  'EXISTS (SELECT "guid" FROM ' +
1015
1010
  SQLite3Driver.escape(this.prefix + 'data_' + etype) +
1016
1011
  ' WHERE "guid"=' +
@@ -1032,7 +1027,7 @@ class SQLite3Driver extends nymph_1.NymphDriver {
1032
1027
  }
1033
1028
  const cdate = `param${++count.i}`;
1034
1029
  curQuery +=
1035
- ((0, nymph_1.xor)(typeIsNot, clauseNot) ? 'NOT ' : '') +
1030
+ (xor(typeIsNot, clauseNot) ? 'NOT ' : '') +
1036
1031
  ieTable +
1037
1032
  '."cdate"<@' +
1038
1033
  cdate;
@@ -1045,7 +1040,7 @@ class SQLite3Driver extends nymph_1.NymphDriver {
1045
1040
  }
1046
1041
  const mdate = `param${++count.i}`;
1047
1042
  curQuery +=
1048
- ((0, nymph_1.xor)(typeIsNot, clauseNot) ? 'NOT ' : '') +
1043
+ (xor(typeIsNot, clauseNot) ? 'NOT ' : '') +
1049
1044
  ieTable +
1050
1045
  '."mdate"<@' +
1051
1046
  mdate;
@@ -1059,7 +1054,7 @@ class SQLite3Driver extends nymph_1.NymphDriver {
1059
1054
  const name = `param${++count.i}`;
1060
1055
  const value = `param${++count.i}`;
1061
1056
  curQuery +=
1062
- ((0, nymph_1.xor)(typeIsNot, clauseNot) ? 'NOT ' : '') +
1057
+ (xor(typeIsNot, clauseNot) ? 'NOT ' : '') +
1063
1058
  'EXISTS (SELECT "guid" FROM ' +
1064
1059
  SQLite3Driver.escape(this.prefix + 'data_' + etype) +
1065
1060
  ' WHERE "guid"=' +
@@ -1081,7 +1076,7 @@ class SQLite3Driver extends nymph_1.NymphDriver {
1081
1076
  }
1082
1077
  const cdate = `param${++count.i}`;
1083
1078
  curQuery +=
1084
- ((0, nymph_1.xor)(typeIsNot, clauseNot) ? 'NOT ' : '') +
1079
+ (xor(typeIsNot, clauseNot) ? 'NOT ' : '') +
1085
1080
  ieTable +
1086
1081
  '."cdate"<=@' +
1087
1082
  cdate;
@@ -1094,7 +1089,7 @@ class SQLite3Driver extends nymph_1.NymphDriver {
1094
1089
  }
1095
1090
  const mdate = `param${++count.i}`;
1096
1091
  curQuery +=
1097
- ((0, nymph_1.xor)(typeIsNot, clauseNot) ? 'NOT ' : '') +
1092
+ (xor(typeIsNot, clauseNot) ? 'NOT ' : '') +
1098
1093
  ieTable +
1099
1094
  '."mdate"<=@' +
1100
1095
  mdate;
@@ -1108,7 +1103,7 @@ class SQLite3Driver extends nymph_1.NymphDriver {
1108
1103
  const name = `param${++count.i}`;
1109
1104
  const value = `param${++count.i}`;
1110
1105
  curQuery +=
1111
- ((0, nymph_1.xor)(typeIsNot, clauseNot) ? 'NOT ' : '') +
1106
+ (xor(typeIsNot, clauseNot) ? 'NOT ' : '') +
1112
1107
  'EXISTS (SELECT "guid" FROM ' +
1113
1108
  SQLite3Driver.escape(this.prefix + 'data_' + etype) +
1114
1109
  ' WHERE "guid"=' +
@@ -1140,7 +1135,7 @@ class SQLite3Driver extends nymph_1.NymphDriver {
1140
1135
  const name = `param${++count.i}`;
1141
1136
  const guid = `param${++count.i}`;
1142
1137
  curQuery +=
1143
- ((0, nymph_1.xor)(typeIsNot, clauseNot) ? 'NOT ' : '') +
1138
+ (xor(typeIsNot, clauseNot) ? 'NOT ' : '') +
1144
1139
  'EXISTS (SELECT "guid" FROM ' +
1145
1140
  SQLite3Driver.escape(this.prefix + 'references_' + etype) +
1146
1141
  ' WHERE "guid"=' +
@@ -1160,24 +1155,24 @@ class SQLite3Driver extends nymph_1.NymphDriver {
1160
1155
  curQuery += typeIsOr ? ' OR ' : ' AND ';
1161
1156
  }
1162
1157
  curQuery +=
1163
- ((0, nymph_1.xor)(typeIsNot, clauseNot) ? 'NOT ' : '') +
1158
+ (xor(typeIsNot, clauseNot) ? 'NOT ' : '') +
1164
1159
  '(' +
1165
1160
  subquery.query +
1166
1161
  ')';
1167
1162
  break;
1168
1163
  case 'qref':
1169
1164
  case '!qref':
1170
- const referenceTableSuffix = (0, guid_1.makeTableSuffix)();
1165
+ const referenceTableSuffix = makeTableSuffix();
1171
1166
  const [qrefOptions, ...qrefSelectors] = curValue[1];
1172
1167
  const QrefEntityClass = qrefOptions.class;
1173
1168
  etypes.push(QrefEntityClass.ETYPE);
1174
- const qrefQuery = this.makeEntityQuery({ ...qrefOptions, return: 'guid', class: QrefEntityClass }, qrefSelectors, QrefEntityClass.ETYPE, count, params, false, (0, guid_1.makeTableSuffix)(), etypes, 'r' + referenceTableSuffix + '."reference"');
1169
+ const qrefQuery = this.makeEntityQuery({ ...qrefOptions, return: 'guid', class: QrefEntityClass }, qrefSelectors, QrefEntityClass.ETYPE, count, params, false, makeTableSuffix(), etypes, 'r' + referenceTableSuffix + '."reference"');
1175
1170
  if (curQuery) {
1176
1171
  curQuery += typeIsOr ? ' OR ' : ' AND ';
1177
1172
  }
1178
1173
  const qrefName = `param${++count.i}`;
1179
1174
  curQuery +=
1180
- ((0, nymph_1.xor)(typeIsNot, clauseNot) ? 'NOT ' : '') +
1175
+ (xor(typeIsNot, clauseNot) ? 'NOT ' : '') +
1181
1176
  'EXISTS (SELECT "guid" FROM ' +
1182
1177
  SQLite3Driver.escape(this.prefix + 'references_' + etype) +
1183
1178
  ' r' +
@@ -1379,7 +1374,7 @@ class SQLite3Driver extends nymph_1.NymphDriver {
1379
1374
  }
1380
1375
  performQuery(options, formattedSelectors, etype) {
1381
1376
  const { query, params, etypes } = this.makeEntityQuery(options, formattedSelectors, etype);
1382
- const result = this.queryIter(query, { etypes, params })[Symbol.iterator]();
1377
+ const result = this.queryArray(query, { etypes, params })[Symbol.iterator]();
1383
1378
  return {
1384
1379
  result,
1385
1380
  };
@@ -1415,7 +1410,7 @@ class SQLite3Driver extends nymph_1.NymphDriver {
1415
1410
  }
1416
1411
  async getUID(name) {
1417
1412
  if (name == null) {
1418
- throw new nymph_1.InvalidParametersError('Name not given for UID.');
1413
+ throw new InvalidParametersError('Name not given for UID.');
1419
1414
  }
1420
1415
  const result = this.queryGet(`SELECT "cur_uid" FROM ${SQLite3Driver.escape(`${this.prefix}uids`)} WHERE "name"=@name;`, {
1421
1416
  params: {
@@ -1509,7 +1504,7 @@ class SQLite3Driver extends nymph_1.NymphDriver {
1509
1504
  });
1510
1505
  }
1511
1506
  catch (e) {
1512
- if (e instanceof nymph_1.EntityUniqueConstraintError) {
1507
+ if (e instanceof EntityUniqueConstraintError) {
1513
1508
  this.nymph.config.debugError('sqlite3', `Import entity unique constraint violation for GUID "${guid}" on etype "${etype}": "${unique}"`);
1514
1509
  }
1515
1510
  throw e;
@@ -1545,7 +1540,7 @@ class SQLite3Driver extends nymph_1.NymphDriver {
1545
1540
  }
1546
1541
  async newUID(name) {
1547
1542
  if (name == null) {
1548
- throw new nymph_1.InvalidParametersError('Name not given for UID.');
1543
+ throw new InvalidParametersError('Name not given for UID.');
1549
1544
  }
1550
1545
  await this.startTransaction('nymph-newuid');
1551
1546
  let curUid = undefined;
@@ -1585,7 +1580,7 @@ class SQLite3Driver extends nymph_1.NymphDriver {
1585
1580
  }
1586
1581
  async renameUID(oldName, newName) {
1587
1582
  if (oldName == null || newName == null) {
1588
- throw new nymph_1.InvalidParametersError('Name not given for UID.');
1583
+ throw new InvalidParametersError('Name not given for UID.');
1589
1584
  }
1590
1585
  await this.startTransaction('nymph-rename-uid');
1591
1586
  this.queryRun(`UPDATE ${SQLite3Driver.escape(`${this.prefix}uids`)} SET "name"=@newName WHERE "name"=@oldName;`, {
@@ -1599,7 +1594,7 @@ class SQLite3Driver extends nymph_1.NymphDriver {
1599
1594
  }
1600
1595
  async rollback(name) {
1601
1596
  if (name == null || typeof name !== 'string' || name.length === 0) {
1602
- throw new nymph_1.InvalidParametersError('Transaction rollback attempted without a name.');
1597
+ throw new InvalidParametersError('Transaction rollback attempted without a name.');
1603
1598
  }
1604
1599
  if (this.store.transactionsStarted === 0) {
1605
1600
  return true;
@@ -1662,7 +1657,7 @@ class SQLite3Driver extends nymph_1.NymphDriver {
1662
1657
  });
1663
1658
  }
1664
1659
  catch (e) {
1665
- if (e instanceof nymph_1.EntityUniqueConstraintError) {
1660
+ if (e instanceof EntityUniqueConstraintError) {
1666
1661
  this.nymph.config.debugError('sqlite3', `Save entity unique constraint violation for GUID "${guid}" on etype "${etype}": "${unique}"`);
1667
1662
  }
1668
1663
  throw e;
@@ -1756,7 +1751,7 @@ class SQLite3Driver extends nymph_1.NymphDriver {
1756
1751
  }
1757
1752
  async setUID(name, curUid) {
1758
1753
  if (name == null) {
1759
- throw new nymph_1.InvalidParametersError('Name not given for UID.');
1754
+ throw new InvalidParametersError('Name not given for UID.');
1760
1755
  }
1761
1756
  await this.startTransaction('nymph-set-uid');
1762
1757
  this.queryRun(`DELETE FROM ${SQLite3Driver.escape(`${this.prefix}uids`)} WHERE "name"=@name;`, {
@@ -1778,7 +1773,7 @@ class SQLite3Driver extends nymph_1.NymphDriver {
1778
1773
  }
1779
1774
  async startTransaction(name) {
1780
1775
  if (name == null || typeof name !== 'string' || name.length === 0) {
1781
- throw new nymph_1.InvalidParametersError('Transaction start attempted without a name.');
1776
+ throw new InvalidParametersError('Transaction start attempted without a name.');
1782
1777
  }
1783
1778
  if (!this.config.explicitWrite && !this.store.linkWrite) {
1784
1779
  this._connect(true);
@@ -1804,5 +1799,4 @@ class SQLite3Driver extends nymph_1.NymphDriver {
1804
1799
  return false;
1805
1800
  }
1806
1801
  }
1807
- exports.default = SQLite3Driver;
1808
1802
  //# sourceMappingURL=SQLite3Driver.js.map