node-firebird-driver 2.3.0 → 3.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.
Files changed (42) hide show
  1. package/dist/lib/impl/attachment.d.ts +14 -3
  2. package/dist/lib/impl/attachment.js +112 -138
  3. package/dist/lib/impl/attachment.js.map +1 -1
  4. package/dist/lib/impl/blob.d.ts +3 -1
  5. package/dist/lib/impl/blob.js +11 -25
  6. package/dist/lib/impl/blob.js.map +1 -1
  7. package/dist/lib/impl/client.d.ts +1 -0
  8. package/dist/lib/impl/client.js +24 -36
  9. package/dist/lib/impl/client.js.map +1 -1
  10. package/dist/lib/impl/events.d.ts +1 -0
  11. package/dist/lib/impl/events.js +9 -18
  12. package/dist/lib/impl/events.js.map +1 -1
  13. package/dist/lib/impl/fb-util.d.ts +34 -5
  14. package/dist/lib/impl/fb-util.js +82 -42
  15. package/dist/lib/impl/fb-util.js.map +1 -1
  16. package/dist/lib/impl/index.js +5 -1
  17. package/dist/lib/impl/index.js.map +1 -1
  18. package/dist/lib/impl/resultset.d.ts +1 -0
  19. package/dist/lib/impl/resultset.js +33 -46
  20. package/dist/lib/impl/resultset.js.map +1 -1
  21. package/dist/lib/impl/statement.d.ts +6 -0
  22. package/dist/lib/impl/statement.js +47 -57
  23. package/dist/lib/impl/statement.js.map +1 -1
  24. package/dist/lib/impl/transaction.d.ts +1 -0
  25. package/dist/lib/impl/transaction.js +20 -34
  26. package/dist/lib/impl/transaction.js.map +1 -1
  27. package/dist/lib/index.d.ts +57 -3
  28. package/dist/lib/index.js +4 -0
  29. package/dist/lib/index.js.map +1 -1
  30. package/dist/test/tests.js +385 -301
  31. package/dist/test/tests.js.map +1 -1
  32. package/package.json +3 -3
  33. package/src/lib/impl/attachment.ts +32 -9
  34. package/src/lib/impl/blob.ts +6 -1
  35. package/src/lib/impl/client.ts +5 -1
  36. package/src/lib/impl/events.ts +5 -1
  37. package/src/lib/impl/fb-util.ts +55 -0
  38. package/src/lib/impl/resultset.ts +5 -1
  39. package/src/lib/impl/statement.ts +21 -4
  40. package/src/lib/impl/transaction.ts +5 -1
  41. package/src/lib/index.ts +77 -3
  42. package/src/test/tests.ts +123 -3
@@ -4,7 +4,7 @@ import { AbstractResultSet } from './resultset';
4
4
  import { AbstractStatement } from './statement';
5
5
  import { AbstractTransaction } from './transaction';
6
6
  import { AbstractEvents } from './events';
7
- import { Attachment, Blob, ExecuteOptions, ExecuteQueryOptions, Events, FetchOptions, PrepareOptions, TransactionOptions } from '..';
7
+ import { Attachment, Blob, CreateBlobOptions, ExecuteOptions, ExecuteQueryOptions, Events, FetchOptions, PrepareOptions, TransactionOptions } from '..';
8
8
  /** AbstractAttachment implementation. */
9
9
  export declare abstract class AbstractAttachment implements Attachment {
10
10
  client?: AbstractClient | undefined;
@@ -36,6 +36,16 @@ export declare abstract class AbstractAttachment implements Attachment {
36
36
  executeOptions?: ExecuteOptions;
37
37
  }): Promise<void>;
38
38
  /** Executes a statement that returns a single record. */
39
+ executeSingleton(transaction: AbstractTransaction, sqlStmt: string, parameters?: Array<any>, options?: {
40
+ prepareOptions?: PrepareOptions;
41
+ executeOptions?: ExecuteOptions;
42
+ }): Promise<Array<any>>;
43
+ /** Executes a statement that returns a single record in object form. */
44
+ executeSingletonAsObject<T extends object>(transaction: AbstractTransaction, sqlStmt: string, parameters?: any[], options?: {
45
+ prepareOptions?: PrepareOptions;
46
+ executeOptions?: ExecuteOptions;
47
+ }): Promise<T>;
48
+ /** Executes a statement that returns a single record. */
39
49
  executeReturning(transaction: AbstractTransaction, sqlStmt: string, parameters?: Array<any>, options?: {
40
50
  prepareOptions?: PrepareOptions;
41
51
  executeOptions?: ExecuteOptions;
@@ -51,18 +61,19 @@ export declare abstract class AbstractAttachment implements Attachment {
51
61
  executeOptions?: ExecuteQueryOptions;
52
62
  }): Promise<AbstractResultSet>;
53
63
  queueEvents(names: string[], callBack: (counters: [string, number][]) => Promise<void>): Promise<Events>;
54
- createBlob(transaction: AbstractTransaction): Promise<AbstractBlobStream>;
64
+ createBlob(transaction: AbstractTransaction, options?: CreateBlobOptions): Promise<AbstractBlobStream>;
55
65
  openBlob(transaction: AbstractTransaction, blob: Blob): Promise<AbstractBlobStream>;
56
66
  /** Starts a new transaction. */
57
67
  startTransaction(options?: TransactionOptions): Promise<AbstractTransaction>;
58
68
  /** Prepares a query. */
59
69
  prepare(transaction: AbstractTransaction, sqlStmt: string, options?: PrepareOptions): Promise<AbstractStatement>;
70
+ get isValid(): boolean;
60
71
  private check;
61
72
  private preDispose;
62
73
  private postDispose;
63
74
  protected abstract internalDisconnect(): Promise<void>;
64
75
  protected abstract internalDropDatabase(): Promise<void>;
65
- protected abstract internalCreateBlob(transaction: AbstractTransaction): Promise<AbstractBlobStream>;
76
+ protected abstract internalCreateBlob(transaction: AbstractTransaction, options?: CreateBlobOptions): Promise<AbstractBlobStream>;
66
77
  protected abstract internalOpenBlob(transaction: AbstractTransaction, blob: Blob): Promise<AbstractBlobStream>;
67
78
  protected abstract internalPrepare(transaction: AbstractTransaction, sqlStmt: string, options?: PrepareOptions): Promise<AbstractStatement>;
68
79
  protected abstract internalStartTransaction(options?: TransactionOptions): Promise<AbstractTransaction>;
@@ -1,13 +1,4 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
2
  Object.defineProperty(exports, "__esModule", { value: true });
12
3
  exports.AbstractAttachment = void 0;
13
4
  /** AbstractAttachment implementation. */
@@ -19,158 +10,141 @@ class AbstractAttachment {
19
10
  this.transactions = new Set();
20
11
  }
21
12
  /** Disconnects this attachment. */
22
- disconnect() {
23
- return __awaiter(this, void 0, void 0, function* () {
24
- this.check();
25
- yield this.preDispose();
26
- yield this.internalDisconnect();
27
- yield this.postDispose();
28
- });
13
+ async disconnect() {
14
+ this.check();
15
+ await this.preDispose();
16
+ await this.internalDisconnect();
17
+ await this.postDispose();
29
18
  }
30
19
  /** Drops the database and release this attachment. */
31
- dropDatabase() {
32
- return __awaiter(this, void 0, void 0, function* () {
33
- this.check();
34
- yield this.preDispose();
35
- yield this.internalDropDatabase();
36
- yield this.postDispose();
37
- });
20
+ async dropDatabase() {
21
+ this.check();
22
+ await this.preDispose();
23
+ await this.internalDropDatabase();
24
+ await this.postDispose();
38
25
  }
39
26
  /** Executes a statement that uses the SET TRANSACTION command. Returns the new transaction. */
40
- executeTransaction(transaction, sqlStmt, options) {
41
- return __awaiter(this, void 0, void 0, function* () {
42
- this.check();
43
- const statement = yield this.prepare(transaction, sqlStmt, options && options.prepareOptions);
44
- try {
45
- const newTransaction = yield statement.executeTransaction(transaction);
46
- this.transactions.add(newTransaction);
47
- return newTransaction;
48
- }
49
- finally {
50
- yield statement.dispose();
51
- }
52
- });
27
+ async executeTransaction(transaction, sqlStmt, options) {
28
+ this.check();
29
+ const statement = await this.prepare(transaction, sqlStmt, options && options.prepareOptions);
30
+ try {
31
+ const newTransaction = await statement.executeTransaction(transaction);
32
+ this.transactions.add(newTransaction);
33
+ return newTransaction;
34
+ }
35
+ finally {
36
+ await statement.dispose();
37
+ }
53
38
  }
54
39
  /** Executes a statement that has no result set. */
55
- execute(transaction, sqlStmt, parameters, options) {
56
- return __awaiter(this, void 0, void 0, function* () {
57
- this.check();
58
- const statement = yield this.prepare(transaction, sqlStmt, options && options.prepareOptions);
59
- try {
60
- return yield statement.execute(transaction, parameters, options && options.executeOptions);
61
- }
62
- finally {
63
- yield statement.dispose();
64
- }
65
- });
40
+ async execute(transaction, sqlStmt, parameters, options) {
41
+ this.check();
42
+ const statement = await this.prepare(transaction, sqlStmt, options && options.prepareOptions);
43
+ try {
44
+ return await statement.execute(transaction, parameters, options && options.executeOptions);
45
+ }
46
+ finally {
47
+ await statement.dispose();
48
+ }
66
49
  }
67
50
  /** Executes a statement that returns a single record. */
68
- executeReturning(transaction, sqlStmt, parameters, options) {
69
- return __awaiter(this, void 0, void 0, function* () {
70
- this.check();
71
- const statement = yield this.prepare(transaction, sqlStmt, options && options.prepareOptions);
72
- try {
73
- return yield statement.executeReturning(transaction, parameters, options && options.executeOptions);
74
- }
75
- finally {
76
- yield statement.dispose();
77
- }
78
- });
51
+ async executeSingleton(transaction, sqlStmt, parameters, options) {
52
+ this.check();
53
+ const statement = await this.prepare(transaction, sqlStmt, options && options.prepareOptions);
54
+ try {
55
+ return await statement.executeSingleton(transaction, parameters, options && options.executeOptions);
56
+ }
57
+ finally {
58
+ await statement.dispose();
59
+ }
79
60
  }
80
61
  /** Executes a statement that returns a single record in object form. */
81
- executeReturningAsObject(transaction, sqlStmt, parameters, options) {
82
- return __awaiter(this, void 0, void 0, function* () {
83
- this.check();
84
- const statement = yield this.prepare(transaction, sqlStmt, options && options.prepareOptions);
85
- try {
86
- return yield statement.executeReturningAsObject(transaction, parameters, options && options.executeOptions);
87
- }
88
- finally {
89
- yield statement.dispose();
90
- }
91
- });
62
+ async executeSingletonAsObject(transaction, sqlStmt, parameters, options) {
63
+ this.check();
64
+ const statement = await this.prepare(transaction, sqlStmt, options && options.prepareOptions);
65
+ try {
66
+ return await statement.executeSingletonAsObject(transaction, parameters, options && options.executeOptions);
67
+ }
68
+ finally {
69
+ await statement.dispose();
70
+ }
92
71
  }
93
- /** Executes a statement that has result set. */
94
- executeQuery(transaction, sqlStmt, parameters, options) {
95
- return __awaiter(this, void 0, void 0, function* () {
96
- this.check();
97
- const statement = yield this.prepare(transaction, sqlStmt, options && options.prepareOptions);
98
- try {
99
- const resultSet = yield statement.executeQuery(transaction, parameters, options && options.executeOptions);
100
- resultSet.diposeStatementOnClose = true;
101
- return resultSet;
102
- }
103
- catch (e) {
104
- yield statement.dispose();
105
- throw e;
106
- }
107
- });
72
+ /** Executes a statement that returns a single record. */
73
+ async executeReturning(transaction, sqlStmt, parameters, options) {
74
+ return await this.executeSingleton(transaction, sqlStmt, parameters, options);
108
75
  }
109
- queueEvents(names, callBack) {
110
- return __awaiter(this, void 0, void 0, function* () {
111
- this.check();
112
- const trimmedNames = names.map(name => {
113
- const trimmedName = name.trimRight();
114
- if (Buffer.from(trimmedName).byteLength > 255)
115
- throw new Error(`Invalid event name: ${name}.`);
116
- return trimmedName;
117
- });
118
- const events = yield this.internalQueueEvents(trimmedNames, callBack);
119
- this.events.add(events);
120
- return events;
121
- });
76
+ /** Executes a statement that returns a single record in object form. */
77
+ async executeReturningAsObject(transaction, sqlStmt, parameters, options) {
78
+ return await this.executeSingletonAsObject(transaction, sqlStmt, parameters, options);
122
79
  }
123
- createBlob(transaction) {
124
- return __awaiter(this, void 0, void 0, function* () {
125
- return yield this.internalCreateBlob(transaction);
80
+ /** Executes a statement that has result set. */
81
+ async executeQuery(transaction, sqlStmt, parameters, options) {
82
+ this.check();
83
+ const statement = await this.prepare(transaction, sqlStmt, options && options.prepareOptions);
84
+ try {
85
+ const resultSet = await statement.executeQuery(transaction, parameters, options && options.executeOptions);
86
+ resultSet.diposeStatementOnClose = true;
87
+ return resultSet;
88
+ }
89
+ catch (e) {
90
+ await statement.dispose();
91
+ throw e;
92
+ }
93
+ }
94
+ async queueEvents(names, callBack) {
95
+ this.check();
96
+ const trimmedNames = names.map(name => {
97
+ const trimmedName = name.trimRight();
98
+ if (Buffer.from(trimmedName).byteLength > 255)
99
+ throw new Error(`Invalid event name: ${name}.`);
100
+ return trimmedName;
126
101
  });
102
+ const events = await this.internalQueueEvents(trimmedNames, callBack);
103
+ this.events.add(events);
104
+ return events;
127
105
  }
128
- openBlob(transaction, blob) {
129
- return __awaiter(this, void 0, void 0, function* () {
130
- return yield this.internalOpenBlob(transaction, blob);
131
- });
106
+ async createBlob(transaction, options) {
107
+ return await this.internalCreateBlob(transaction, options);
108
+ }
109
+ async openBlob(transaction, blob) {
110
+ return await this.internalOpenBlob(transaction, blob);
132
111
  }
133
112
  /** Starts a new transaction. */
134
- startTransaction(options) {
135
- return __awaiter(this, void 0, void 0, function* () {
136
- this.check();
137
- const transaction = yield this.internalStartTransaction(options || this.defaultTransactionOptions || this.client.defaultTransactionOptions);
138
- this.transactions.add(transaction);
139
- return transaction;
140
- });
113
+ async startTransaction(options) {
114
+ this.check();
115
+ const transaction = await this.internalStartTransaction(options || this.defaultTransactionOptions || this.client.defaultTransactionOptions);
116
+ this.transactions.add(transaction);
117
+ return transaction;
141
118
  }
142
119
  /** Prepares a query. */
143
- prepare(transaction, sqlStmt, options) {
144
- return __awaiter(this, void 0, void 0, function* () {
145
- this.check();
146
- const statement = yield this.internalPrepare(transaction, sqlStmt, options || this.defaultPrepareOptions || this.client.defaultPrepareOptions);
147
- this.statements.add(statement);
148
- return statement;
149
- });
120
+ async prepare(transaction, sqlStmt, options) {
121
+ this.check();
122
+ const statement = await this.internalPrepare(transaction, sqlStmt, options || this.defaultPrepareOptions || this.client.defaultPrepareOptions);
123
+ this.statements.add(statement);
124
+ return statement;
125
+ }
126
+ get isValid() {
127
+ return !!this.client;
150
128
  }
151
129
  check() {
152
- if (!this.client)
130
+ if (!this.isValid)
153
131
  throw new Error('Attachment is already disconnected.');
154
132
  }
155
- preDispose() {
156
- return __awaiter(this, void 0, void 0, function* () {
157
- try {
158
- yield Promise.all(Array.from(this.events).map(events => events.cancel()));
159
- yield Promise.all(Array.from(this.statements).map(statement => statement.dispose()));
160
- yield Promise.all(Array.from(this.transactions).map(transaction => transaction.rollback()));
161
- }
162
- finally {
163
- this.events.clear();
164
- this.statements.clear();
165
- this.transactions.clear();
166
- }
167
- });
168
- }
169
- postDispose() {
170
- return __awaiter(this, void 0, void 0, function* () {
171
- this.client.attachments.delete(this);
172
- this.client = undefined;
173
- });
133
+ async preDispose() {
134
+ try {
135
+ await Promise.all(Array.from(this.events).map(events => events.cancel()));
136
+ await Promise.all(Array.from(this.statements).map(statement => statement.dispose()));
137
+ await Promise.all(Array.from(this.transactions).map(transaction => transaction.rollback()));
138
+ }
139
+ finally {
140
+ this.events.clear();
141
+ this.statements.clear();
142
+ this.transactions.clear();
143
+ }
144
+ }
145
+ async postDispose() {
146
+ this.client.attachments.delete(this);
147
+ this.client = undefined;
174
148
  }
175
149
  }
176
150
  exports.AbstractAttachment = AbstractAttachment;
@@ -1 +1 @@
1
- {"version":3,"file":"attachment.js","sourceRoot":"","sources":["../../../src/lib/impl/attachment.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"attachment.js","sourceRoot":"","sources":["../../../src/lib/impl/attachment.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  /// <reference types="node" />
2
2
  import { AbstractAttachment } from './attachment';
3
- import { Blob, BlobStream } from '..';
3
+ import { Blob, BlobSeekWhence, BlobStream } from '..';
4
4
  /** AbstractBlobStream implementation. */
5
5
  export declare abstract class AbstractBlobStream extends BlobStream {
6
6
  attachment: AbstractAttachment;
@@ -8,11 +8,13 @@ export declare abstract class AbstractBlobStream extends BlobStream {
8
8
  get length(): Promise<number>;
9
9
  close(): Promise<void>;
10
10
  cancel(): Promise<void>;
11
+ seek(offset: number, whence?: BlobSeekWhence): Promise<number>;
11
12
  read(buffer: Buffer): Promise<number>;
12
13
  write(buffer: Buffer): Promise<void>;
13
14
  protected abstract internalGetLength(): Promise<number>;
14
15
  protected abstract internalClose(): Promise<void>;
15
16
  protected abstract internalCancel(): Promise<void>;
17
+ protected abstract internalSeek(offset: number, whence?: BlobSeekWhence): Promise<number>;
16
18
  protected abstract internalRead(buffer: Buffer): Promise<number>;
17
19
  protected abstract internalWrite(buffer: Buffer): Promise<void>;
18
20
  }
@@ -1,13 +1,4 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
2
  Object.defineProperty(exports, "__esModule", { value: true });
12
3
  exports.AbstractBlobStream = void 0;
13
4
  const __1 = require("..");
@@ -20,25 +11,20 @@ class AbstractBlobStream extends __1.BlobStream {
20
11
  get length() {
21
12
  return this.internalGetLength();
22
13
  }
23
- close() {
24
- return __awaiter(this, void 0, void 0, function* () {
25
- return yield this.internalClose();
26
- });
14
+ async close() {
15
+ return await this.internalClose();
27
16
  }
28
- cancel() {
29
- return __awaiter(this, void 0, void 0, function* () {
30
- return yield this.internalCancel();
31
- });
17
+ async cancel() {
18
+ return await this.internalCancel();
32
19
  }
33
- read(buffer) {
34
- return __awaiter(this, void 0, void 0, function* () {
35
- return yield this.internalRead(buffer);
36
- });
20
+ async seek(offset, whence) {
21
+ return await this.internalSeek(offset, whence);
37
22
  }
38
- write(buffer) {
39
- return __awaiter(this, void 0, void 0, function* () {
40
- return yield this.internalWrite(buffer);
41
- });
23
+ async read(buffer) {
24
+ return await this.internalRead(buffer);
25
+ }
26
+ async write(buffer) {
27
+ return await this.internalWrite(buffer);
42
28
  }
43
29
  }
44
30
  exports.AbstractBlobStream = AbstractBlobStream;
@@ -1 +1 @@
1
- {"version":3,"file":"blob.js","sourceRoot":"","sources":["../../../src/lib/impl/blob.ts"],"names":[],"mappings":";;;;;;;;;;;;AAEA,0BAAsC;AAGtC,yCAAyC;AACzC,MAAsB,kBAAmB,SAAQ,cAAU;IAC1D,YAAsB,IAAU,EAAS,UAA8B;QACtE,KAAK,CAAC,IAAI,CAAC,CAAC;QAD4B,eAAU,GAAV,UAAU,CAAoB;IAEvE,CAAC;IAED,IAAI,MAAM;QACT,OAAO,IAAI,CAAC,iBAAiB,EAAE,CAAC;IACjC,CAAC;IAEK,KAAK;;YACV,OAAO,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QACnC,CAAC;KAAA;IAEK,MAAM;;YACX,OAAO,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QACpC,CAAC;KAAA;IAEK,IAAI,CAAC,MAAc;;YACxB,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QACxC,CAAC;KAAA;IAEK,KAAK,CAAC,MAAc;;YACzB,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QACzC,CAAC;KAAA;CAOD;AA9BD,gDA8BC"}
1
+ {"version":3,"file":"blob.js","sourceRoot":"","sources":["../../../src/lib/impl/blob.ts"],"names":[],"mappings":";;;AAEA,0BAAsD;AAGtD,yCAAyC;AACzC,MAAsB,kBAAmB,SAAQ,cAAU;IAC1D,YAAsB,IAAU,EAAS,UAA8B;QACtE,KAAK,CAAC,IAAI,CAAC,CAAC;QAD4B,eAAU,GAAV,UAAU,CAAoB;IAEvE,CAAC;IAED,IAAI,MAAM;QACT,OAAO,IAAI,CAAC,iBAAiB,EAAE,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,KAAK;QACV,OAAO,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,MAAM;QACX,OAAO,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,MAAc,EAAE,MAAuB;QACjD,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,MAAc;QACxB,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,MAAc;QACzB,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IACzC,CAAC;CAQD;AAnCD,gDAmCC"}
@@ -24,6 +24,7 @@ export declare abstract class AbstractClient implements Client {
24
24
  connect(uri: string, options?: ConnectOptions): Promise<AbstractAttachment>;
25
25
  /** Creates a database. */
26
26
  createDatabase(uri: string, options?: CreateDatabaseOptions): Promise<AbstractAttachment>;
27
+ get isValid(): boolean;
27
28
  private check;
28
29
  protected abstract internalDispose(): Promise<void>;
29
30
  protected abstract internalConnect(uri: string, options?: ConnectOptions): Promise<AbstractAttachment>;
@@ -1,13 +1,4 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
2
  Object.defineProperty(exports, "__esModule", { value: true });
12
3
  exports.AbstractClient = void 0;
13
4
  /** AbstractClient implementation. */
@@ -17,39 +8,36 @@ class AbstractClient {
17
8
  this.attachments = new Set();
18
9
  }
19
10
  /** Disposes this client's resources. */
20
- dispose() {
21
- return __awaiter(this, void 0, void 0, function* () {
22
- this.check();
23
- try {
24
- yield Promise.all(Array.from(this.attachments).map(attachment => attachment.disconnect()));
25
- }
26
- finally {
27
- this.attachments.clear();
28
- }
29
- yield this.internalDispose();
30
- this.connected = false;
31
- });
11
+ async dispose() {
12
+ this.check();
13
+ try {
14
+ await Promise.all(Array.from(this.attachments).map(attachment => attachment.disconnect()));
15
+ }
16
+ finally {
17
+ this.attachments.clear();
18
+ }
19
+ await this.internalDispose();
20
+ this.connected = false;
32
21
  }
33
22
  /** Connects to a database. */
34
- connect(uri, options) {
35
- return __awaiter(this, void 0, void 0, function* () {
36
- this.check();
37
- const attachment = yield this.internalConnect(uri, options || this.defaultConnectOptions);
38
- this.attachments.add(attachment);
39
- return attachment;
40
- });
23
+ async connect(uri, options) {
24
+ this.check();
25
+ const attachment = await this.internalConnect(uri, options || this.defaultConnectOptions);
26
+ this.attachments.add(attachment);
27
+ return attachment;
41
28
  }
42
29
  /** Creates a database. */
43
- createDatabase(uri, options) {
44
- return __awaiter(this, void 0, void 0, function* () {
45
- this.check();
46
- const attachment = yield this.internalCreateDatabase(uri, options || this.defaultCreateDatabaseOptions);
47
- this.attachments.add(attachment);
48
- return attachment;
49
- });
30
+ async createDatabase(uri, options) {
31
+ this.check();
32
+ const attachment = await this.internalCreateDatabase(uri, options || this.defaultCreateDatabaseOptions);
33
+ this.attachments.add(attachment);
34
+ return attachment;
35
+ }
36
+ get isValid() {
37
+ return !!this.connected;
50
38
  }
51
39
  check() {
52
- if (!this.connected)
40
+ if (!this.isValid)
53
41
  throw new Error('Client is already disposed.');
54
42
  }
55
43
  }
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/lib/impl/client.ts"],"names":[],"mappings":";;;;;;;;;;;;AAcA,qCAAqC;AACrC,MAAsB,cAAc;IAApC;QACC,cAAS,GAAG,IAAI,CAAC;QACjB,gBAAW,GAAG,IAAI,GAAG,EAAsB,CAAC;IAiE7C,CAAC;IA1CA,wCAAwC;IAClC,OAAO;;YACZ,IAAI,CAAC,KAAK,EAAE,CAAC;YAEb,IAAI;gBACH,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;aAC3F;oBACO;gBACP,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;aACzB;YAED,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;YAE7B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACxB,CAAC;KAAA;IAED,8BAA8B;IACxB,OAAO,CAAC,GAAW,EAAE,OAAwB;;YAClD,IAAI,CAAC,KAAK,EAAE,CAAC;YAEb,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,OAAO,IAAI,IAAI,CAAC,qBAAqB,CAAC,CAAC;YAC1F,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YACjC,OAAO,UAAU,CAAC;QACnB,CAAC;KAAA;IAED,0BAA0B;IACpB,cAAc,CAAC,GAAW,EAAE,OAA+B;;YAChE,IAAI,CAAC,KAAK,EAAE,CAAC;YAEb,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,GAAG,EAAE,OAAO,IAAI,IAAI,CAAC,4BAA4B,CAAC,CAAC;YACxG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YACjC,OAAO,UAAU,CAAC;QACnB,CAAC;KAAA;IAEO,KAAK;QACZ,IAAI,CAAC,IAAI,CAAC,SAAS;YAClB,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;IACjD,CAAC;CAKD;AAnED,wCAmEC"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/lib/impl/client.ts"],"names":[],"mappings":";;;AAcA,qCAAqC;AACrC,MAAsB,cAAc;IAApC;QACC,cAAS,GAAG,IAAI,CAAC;QACjB,gBAAW,GAAG,IAAI,GAAG,EAAsB,CAAC;IAqE7C,CAAC;IA9CA,wCAAwC;IACxC,KAAK,CAAC,OAAO;QACZ,IAAI,CAAC,KAAK,EAAE,CAAC;QAEb,IAAI;YACH,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;SAC3F;gBACO;YACP,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;SACzB;QAED,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAE7B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;IACxB,CAAC;IAED,8BAA8B;IAC9B,KAAK,CAAC,OAAO,CAAC,GAAW,EAAE,OAAwB;QAClD,IAAI,CAAC,KAAK,EAAE,CAAC;QAEb,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,OAAO,IAAI,IAAI,CAAC,qBAAqB,CAAC,CAAC;QAC1F,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACjC,OAAO,UAAU,CAAC;IACnB,CAAC;IAED,0BAA0B;IAC1B,KAAK,CAAC,cAAc,CAAC,GAAW,EAAE,OAA+B;QAChE,IAAI,CAAC,KAAK,EAAE,CAAC;QAEb,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,GAAG,EAAE,OAAO,IAAI,IAAI,CAAC,4BAA4B,CAAC,CAAC;QACxG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACjC,OAAO,UAAU,CAAC;IACnB,CAAC;IAED,IAAI,OAAO;QACV,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;IACzB,CAAC;IAEO,KAAK;QACZ,IAAI,CAAC,IAAI,CAAC,OAAO;YAChB,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;IACjD,CAAC;CAKD;AAvED,wCAuEC"}
@@ -6,6 +6,7 @@ export declare abstract class AbstractEvents implements Events {
6
6
  protected constructor(attachment?: AbstractAttachment | undefined);
7
7
  /** Cancel this events' resources. */
8
8
  cancel(): Promise<void>;
9
+ get isValid(): boolean;
9
10
  private check;
10
11
  protected abstract internalCancel(): Promise<void>;
11
12
  }
@@ -1,13 +1,4 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
2
  Object.defineProperty(exports, "__esModule", { value: true });
12
3
  exports.AbstractEvents = void 0;
13
4
  /** AbstractStatement implementation. */
@@ -16,17 +7,17 @@ class AbstractEvents {
16
7
  this.attachment = attachment;
17
8
  }
18
9
  /** Cancel this events' resources. */
19
- cancel() {
20
- var _a;
21
- return __awaiter(this, void 0, void 0, function* () {
22
- this.check();
23
- yield this.internalCancel();
24
- (_a = this.attachment) === null || _a === void 0 ? void 0 : _a.events.delete(this);
25
- this.attachment = undefined;
26
- });
10
+ async cancel() {
11
+ this.check();
12
+ await this.internalCancel();
13
+ this.attachment?.events.delete(this);
14
+ this.attachment = undefined;
15
+ }
16
+ get isValid() {
17
+ return !!this.attachment;
27
18
  }
28
19
  check() {
29
- if (!this.attachment)
20
+ if (!this.isValid)
30
21
  throw new Error('Events are already cancelled.');
31
22
  }
32
23
  }
@@ -1 +1 @@
1
- {"version":3,"file":"events.js","sourceRoot":"","sources":["../../../src/lib/impl/events.ts"],"names":[],"mappings":";;;;;;;;;;;;AAKA,wCAAwC;AACxC,MAAsB,cAAc;IACnC,YAA6B,UAA+B;QAA/B,eAAU,GAAV,UAAU,CAAqB;IAC5D,CAAC;IAED,qCAAqC;IAC/B,MAAM;;;YACX,IAAI,CAAC,KAAK,EAAE,CAAC;YAEb,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;YAE5B,MAAA,IAAI,CAAC,UAAU,0CAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACrC,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;;KAC5B;IAEO,KAAK;QACZ,IAAI,CAAC,IAAI,CAAC,UAAU;YACnB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;IACnD,CAAC;CAGD;AApBD,wCAoBC"}
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../../../src/lib/impl/events.ts"],"names":[],"mappings":";;;AAKA,wCAAwC;AACxC,MAAsB,cAAc;IACnC,YAA6B,UAA+B;QAA/B,eAAU,GAAV,UAAU,CAAqB;IAC5D,CAAC;IAED,qCAAqC;IACrC,KAAK,CAAC,MAAM;QACX,IAAI,CAAC,KAAK,EAAE,CAAC;QAEb,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAE5B,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;IAC7B,CAAC;IAED,IAAI,OAAO;QACV,OAAO,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;IAC1B,CAAC;IAEO,KAAK;QACZ,IAAI,CAAC,IAAI,CAAC,OAAO;YAChB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;IACnD,CAAC;CAGD;AAxBD,wCAwBC"}