@spinajs/orm-sqlite 2.0.480 → 2.0.482

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/cjs/index.js CHANGED
@@ -32,8 +32,12 @@ const compilers_js_1 = require("./compilers.js");
32
32
  /* eslint-disable @typescript-eslint/no-unsafe-member-access */
33
33
  /* eslint-disable @typescript-eslint/require-await */
34
34
  /* eslint-disable prettier/prettier */
35
- const log_common_1 = require("@spinajs/log-common");
36
35
  __exportStar(require("./compilers.js"), exports);
36
+ // Union of all three sides: AlterColumnQueryCompiler is master's, and is registered below;
37
+ // IsolationLevel / ITransactionContext / ITransactionOptions are the transaction contract from
38
+ // orm-foundation; ConnectionState / IPoolMetrics are the connection-resilience additions from
39
+ // orm-infra. QueryBuilder / TransactionCallback / ITransaction went with the old
40
+ // `{ commit, rollback }` shape.
37
41
  const orm_1 = require("@spinajs/orm");
38
42
  const sqlite3_1 = __importDefault(require("sqlite3"));
39
43
  const orm_sql_1 = require("@spinajs/orm-sql");
@@ -44,9 +48,25 @@ const configuration_1 = require("@spinajs/configuration");
44
48
  const builders_js_1 = require("./builders.js");
45
49
  const converters_js_1 = require("./converters.js");
46
50
  class SqliteServerResponseMapper extends orm_1.ServerResponseMapper {
47
- read(data, pkName) {
51
+ read(data, pkNames) {
52
+ // Upsert and returning-inserts resolve with the RETURNING rows; plain runs resolve with
53
+ // { RowsAffected, LastInsertId }.
54
+ if (Array.isArray(data)) {
55
+ const last = data.length !== 0 ? data[data.length - 1] : undefined;
56
+ const key = pkNames && pkNames.length === 1 && last ? last[pkNames[0]] : 0;
57
+ return {
58
+ RowsAffected: data.length,
59
+ // A uuid / assigned key is not a number and has no identity semantics.
60
+ LastInsertId: typeof key === 'number' ? key : 0,
61
+ Returning: data,
62
+ };
63
+ }
64
+ // A RETURNING insert already arrives normalized by executeOnDb, carrying its rows; a plain
65
+ // run carries none. Passing the rows through is what lets the caller read generated keys.
48
66
  return {
49
- LastInsertId: Array.isArray(data) ? data[data.length - 1][pkName] : data.LastInsertId,
67
+ RowsAffected: data?.RowsAffected ?? 0,
68
+ LastInsertId: data?.LastInsertId ?? 0,
69
+ Returning: Array.isArray(data?.Returning) ? data.Returning : [],
50
70
  };
51
71
  }
52
72
  }
@@ -54,11 +74,50 @@ exports.SqliteServerResponseMapper = SqliteServerResponseMapper;
54
74
  let SqliteOrmDriver = class SqliteOrmDriver extends orm_sql_1.SqlDriver {
55
75
  constructor() {
56
76
  super(...arguments);
57
- this.executionId = 0;
77
+ /**
78
+ * Read-only handles. SQLite serializes writers at the file level no matter how many handles are
79
+ * open, so a second WRITER handle buys nothing and invites SQLITE_BUSY; extra READ handles do
80
+ * parallelize SELECTs. Empty for `:memory:` and anonymous temporary databases, where each handle
81
+ * would open its own private database, and when `Pool.Max` is 1.
82
+ */
83
+ this.ReadPool = [];
84
+ this._readCursor = -1;
85
+ /**
86
+ * sqlite3 outside shared-cache mode serializes access to the database file, which is
87
+ * SERIALIZABLE and nothing else. Any other requested level is rejected by the base class
88
+ * rather than silently ignored.
89
+ */
90
+ this.SupportedIsolationLevels = ['SERIALIZABLE'];
91
+ }
92
+ // getNextExecutionId() went with the per-driver query timing that master centralised into
93
+ // `Perf.measure('orm.query', ...)` around SqlDriver.execute — its only caller is gone.
94
+ /**
95
+ * Picks the handle for a query. Everything that mutates, changes schema, or runs inside a
96
+ * transaction stays on the single writer handle — scattering a transaction's statements across
97
+ * handles would run them outside the transaction, and a read handle cannot see uncommitted
98
+ * writes made on the writer.
99
+ */
100
+ handleFor(queryContext) {
101
+ if (this.ReadPool.length === 0 || queryContext !== orm_1.QueryContext.Select) {
102
+ return this.Db;
103
+ }
104
+ if (this.TransactionStorage.getStore()) {
105
+ return this.Db;
106
+ }
107
+ this._readCursor = (this._readCursor + 1) % this.ReadPool.length;
108
+ // eslint-disable-next-line security/detect-object-injection
109
+ return this.ReadPool[this._readCursor];
58
110
  }
59
- getNextExecutionId() {
60
- this.executionId = (this.executionId + 1) % Number.MAX_SAFE_INTEGER;
61
- return this.executionId;
111
+ /**
112
+ * The writer handle plus every read handle. SQLite has no queue of waiting callers — sqlite3
113
+ * serializes internally per handle — so InUse and Waiting are always zero.
114
+ */
115
+ poolMetrics() {
116
+ return {
117
+ Size: this.Db ? this.ReadPool.length + 1 : 0,
118
+ InUse: 0,
119
+ Waiting: 0,
120
+ };
62
121
  }
63
122
  executeOnDb(stmt, params, queryContext) {
64
123
  const queryParams = params ?? [];
@@ -66,13 +125,12 @@ let SqliteOrmDriver = class SqliteOrmDriver extends orm_sql_1.SqlDriver {
66
125
  if (!this.Db) {
67
126
  throw new Error('cannot execute sqlite statement, no db connection avaible');
68
127
  }
69
- const tName = `query-${this.getNextExecutionId()}`;
70
- this.Log.timeStart(`query-${tName}`);
128
+ const handle = this.handleFor(queryContext);
71
129
  return new Promise((resolve, reject) => {
72
130
  switch (queryContext) {
73
131
  case orm_1.QueryContext.Update:
74
132
  case orm_1.QueryContext.Delete:
75
- this.Db.run(stmt, ...queryParams, function (err) {
133
+ handle.run(stmt, ...queryParams, function (err) {
76
134
  if (err) {
77
135
  reject(new orm_1.OrmException(`Failed to execute query`, {
78
136
  Host: self.Options.Host,
@@ -88,7 +146,8 @@ let SqliteOrmDriver = class SqliteOrmDriver extends orm_sql_1.SqlDriver {
88
146
  break;
89
147
  case orm_1.QueryContext.Select:
90
148
  case orm_1.QueryContext.Upsert:
91
- this.Db.all(stmt, ...queryParams, (err, rows) => {
149
+ case orm_1.QueryContext.InsertReturning:
150
+ handle.all(stmt, ...queryParams, (err, rows) => {
92
151
  if (err) {
93
152
  reject(new orm_1.OrmException(`Failed to execute query`, {
94
153
  Host: self.Options.Host,
@@ -97,11 +156,22 @@ let SqliteOrmDriver = class SqliteOrmDriver extends orm_sql_1.SqlDriver {
97
156
  }, stmt, params ? params.join(',') : 'none', err));
98
157
  return;
99
158
  }
159
+ // A RETURNING insert resolves with rows, so it must be normalized into the same
160
+ // IInsertResult shape the Db.run path produces.
161
+ if (queryContext === orm_1.QueryContext.InsertReturning) {
162
+ const returned = rows ?? [];
163
+ resolve({
164
+ RowsAffected: returned.length,
165
+ LastInsertId: 0,
166
+ Returning: returned,
167
+ });
168
+ return;
169
+ }
100
170
  resolve(rows);
101
171
  });
102
172
  break;
103
173
  case orm_1.QueryContext.Insert:
104
- this.Db.run(stmt, ...queryParams, function (err) {
174
+ handle.run(stmt, ...queryParams, function (err) {
105
175
  if (err) {
106
176
  if (err.code === 'SQLITE_CONSTRAINT') {
107
177
  reject(new exceptions_1.ResourceDuplicated(err));
@@ -121,13 +191,14 @@ let SqliteOrmDriver = class SqliteOrmDriver extends orm_sql_1.SqlDriver {
121
191
  resolve({
122
192
  RowsAffected: this.changes,
123
193
  LastInsertId: this.lastID,
194
+ Returning: [],
124
195
  });
125
196
  });
126
197
  break;
127
198
  case orm_1.QueryContext.Schema:
128
199
  case orm_1.QueryContext.Transaction:
129
200
  default:
130
- this.Db.run(stmt, ...queryParams, (err, data) => {
201
+ handle.run(stmt, ...queryParams, (err, data) => {
131
202
  if (err) {
132
203
  reject(new orm_1.OrmException(`Failed to execute query: ${stmt}, bindings: ${params ? params.join(',') : 'none'}`));
133
204
  return;
@@ -136,63 +207,75 @@ let SqliteOrmDriver = class SqliteOrmDriver extends orm_sql_1.SqlDriver {
136
207
  });
137
208
  break;
138
209
  }
139
- })
140
- .then((val) => {
141
- const tDiff = this.Log.timeEnd(`query-${tName}`);
142
- void this.Log.write({
143
- Level: log_common_1.LogLevel.Trace,
144
- Variables: {
145
- error: undefined,
146
- message: `Executed: ${stmt}, bindings: ${params ? params.join(',') : 'none'}`,
147
- logger: this.Log.Name,
148
- level: 'TRACE',
149
- duration: tDiff,
150
- },
151
- });
152
- return val;
153
- })
154
- .catch((err) => {
155
- const tDiff = this.Log.timeEnd(`query-${tName}`);
156
- void this.Log.write({
157
- Level: log_common_1.LogLevel.Error,
158
- Variables: {
159
- error: err,
160
- message: `Failed: ${stmt}, bindings: ${params ? params.join(',') : 'none'}`,
161
- logger: this.Log.Name,
162
- level: 'Error',
163
- duration: tDiff,
164
- },
165
- });
166
- throw err;
167
210
  });
168
211
  }
169
212
  supportedFeatures() {
170
- return { events: false };
213
+ // insertIdIsFirstOfBatch is false: sqlite3's `lastID` is the LAST rowid the statement
214
+ // produced, not the first. SQLite does not need it — it gets every key from RETURNING.
215
+ return { events: false, insertReturning: true, insertIdIsFirstOfBatch: false };
171
216
  }
172
217
  async ping() {
173
218
  return this.Db !== null && this.Db !== undefined;
174
219
  }
175
220
  async connect() {
176
- return new Promise((resolve, reject) => {
177
- this.Db = new sqlite3_1.default.Database((0, configuration_1.format)({}, this.Options.Filename), (err) => {
221
+ const filename = (0, configuration_1.format)({}, this.Options.Filename);
222
+ await new Promise((resolve, reject) => {
223
+ this.Db = new sqlite3_1.default.Database(filename, (err) => {
178
224
  if (err) {
179
- // Clean up the database handle if connection fails
180
- if (this.Db) {
181
- this.Db.close(() => {
182
- this.Db = null;
183
- reject(err);
184
- });
185
- }
186
- else {
187
- reject(err);
188
- }
225
+ // Drop the handle, do NOT close it. sqlite3 never invokes the close callback for a
226
+ // database that failed to open, so closing here left this promise unsettled and
227
+ // `connect()` hung forever — an app pointed at a bad path, an unreadable file or a
228
+ // missing directory waited indefinitely instead of being told SQLITE_CANTOPEN.
229
+ // sqlite3 has already released whatever it allocated for a failed open; there is
230
+ // nothing here for us to clean up.
231
+ this.Db = null;
232
+ reject(err);
189
233
  return;
190
234
  }
191
- resolve(this);
235
+ resolve();
192
236
  });
193
237
  });
238
+ await this.openReadPool(filename);
239
+ this.setState(orm_1.ConnectionState.Connected);
240
+ return this;
241
+ }
242
+ /**
243
+ * Opens `Pool.Max - 1` read-only handles. Skipped for `:memory:` and for anonymous temporary
244
+ * databases, where every handle gets its own private database and a read pool would query empty
245
+ * files. A handle that fails to open is dropped rather than failing the connection — the driver
246
+ * is fully usable on the writer alone.
247
+ */
248
+ async openReadPool(filename) {
249
+ const max = this.resolvedPoolOptions().Max;
250
+ const normalized = filename.trim();
251
+ await this.closeReadPool();
252
+ if (max <= 1 || normalized === ':memory:' || normalized === '') {
253
+ return;
254
+ }
255
+ const handles = await Promise.all(Array.from({ length: max - 1 }, () => new Promise((resolve) => {
256
+ const db = new sqlite3_1.default.Database(filename, sqlite3_1.default.OPEN_READONLY, (err) => {
257
+ if (err) {
258
+ this.Log.warn(`could not open a read-only sqlite handle for ${this.Options.Name}: ${err.message}`);
259
+ resolve(null);
260
+ return;
261
+ }
262
+ resolve(db);
263
+ });
264
+ })));
265
+ this.ReadPool = handles.filter((h) => h !== null);
266
+ this._readCursor = -1;
267
+ }
268
+ /** Closes every read handle. Safe to call when none are open. */
269
+ async closeReadPool() {
270
+ const handles = this.ReadPool;
271
+ this.ReadPool = [];
272
+ this._readCursor = -1;
273
+ await Promise.all(handles.map((db) => new Promise((resolve) => db.close(() => resolve()))));
194
274
  }
195
275
  async disconnect() {
276
+ this.stopHealthCheck();
277
+ this.setState(orm_1.ConnectionState.Disconnected);
278
+ await this.closeReadPool();
196
279
  if (!this.Db) {
197
280
  return this;
198
281
  }
@@ -210,6 +293,7 @@ let SqliteOrmDriver = class SqliteOrmDriver extends orm_sql_1.SqlDriver {
210
293
  resolve() {
211
294
  super.resolve();
212
295
  this.Container.register(compilers_js_1.SqliteColumnCompiler).as(orm_1.ColumnQueryCompiler);
296
+ this.Container.register(compilers_js_1.SqliteAlterColumnQueryCompiler).as(orm_1.AlterColumnQueryCompiler);
213
297
  this.Container.register(compilers_js_1.SqliteTableQueryCompiler).as(orm_1.TableQueryCompiler);
214
298
  this.Container.register(compilers_js_1.SqliteOrderByCompiler).as(orm_1.OrderByQueryCompiler);
215
299
  this.Container.register(statements_js_1.SqlLiteJoinStatement).as(orm_1.JoinStatement);
@@ -221,37 +305,31 @@ let SqliteOrmDriver = class SqliteOrmDriver extends orm_sql_1.SqlDriver {
221
305
  this.Container.register(converters_js_1.SqliteModelToSqlConverter).as(orm_1.ModelToSqlConverter);
222
306
  this.Container.register(SqliteServerResponseMapper).as(orm_1.ServerResponseMapper);
223
307
  }
224
- async transaction(qrOrCallback) {
225
- const trx = {
226
- commit: () => Promise.resolve(),
227
- rollback: () => Promise.resolve(),
228
- };
229
- if (!qrOrCallback) {
230
- return trx;
231
- }
308
+ async _begin(_options) {
232
309
  await this.executeOnDb('BEGIN TRANSACTION', [], orm_1.QueryContext.Transaction);
233
- try {
234
- if (Array.isArray(qrOrCallback)) {
235
- for (const q of qrOrCallback) {
236
- await q;
237
- }
238
- }
239
- else {
240
- await qrOrCallback(this);
241
- }
242
- return {
243
- commit: async () => {
244
- await this.executeOnDb('COMMIT', [], orm_1.QueryContext.Transaction);
245
- },
246
- rollback: async () => {
247
- await this.executeOnDb('ROLLBACK', [], orm_1.QueryContext.Transaction);
248
- },
249
- };
250
- }
251
- catch (ex) {
252
- await this.executeOnDb('ROLLBACK', [], orm_1.QueryContext.Transaction);
253
- throw ex;
254
- }
310
+ // sqlite3 gives us a single shared handle, so there is no per-transaction connection
311
+ // to carry — everything on this driver already runs on the same `this.Db`.
312
+ return { depth: 0 };
313
+ }
314
+ async _commit(_ctx) {
315
+ await this.executeOnDb('COMMIT', [], orm_1.QueryContext.Transaction);
316
+ }
317
+ async _rollback(_ctx) {
318
+ await this.executeOnDb('ROLLBACK', [], orm_1.QueryContext.Transaction);
319
+ }
320
+ // savepoint names cannot be bound parameters, so they are inlined through the identifier
321
+ // escaper rather than passed as `?`
322
+ async _savepoint(_ctx, name) {
323
+ await this.executeOnDb(`SAVEPOINT ${(0, orm_sql_1.escapeIdentifier)(name)}`, [], orm_1.QueryContext.Transaction);
324
+ }
325
+ async _releaseSavepoint(_ctx, name) {
326
+ await this.executeOnDb(`RELEASE ${(0, orm_sql_1.escapeIdentifier)(name)}`, [], orm_1.QueryContext.Transaction);
327
+ }
328
+ async _rollbackToSavepoint(_ctx, name) {
329
+ await this.executeOnDb(`ROLLBACK TO ${(0, orm_sql_1.escapeIdentifier)(name)}`, [], orm_1.QueryContext.Transaction);
330
+ }
331
+ async _dispose(_ctx) {
332
+ // nothing to release — the sqlite3 handle is owned by the driver, not by the transaction
255
333
  }
256
334
  /**
257
335
  *
@@ -276,6 +354,9 @@ let SqliteOrmDriver = class SqliteOrmDriver extends orm_sql_1.SqlDriver {
276
354
  }
277
355
  // get all foreign keys
278
356
  const foreignKeys = (await this.executeOnDb(`PRAGMA foreign_key_list("${name}")`, [], orm_1.QueryContext.Select));
357
+ // PRAGMA table_info reports `pk` as the 1-BASED POSITION within the primary key, not a
358
+ // boolean. Every column with pk > 0 is part of the key.
359
+ const pkColumnCount = tblInfo.filter((r) => r.pk > 0).length;
279
360
  return tblInfo.map((r) => {
280
361
  const fk = foreignKeys.find((i) => i.from === r.name);
281
362
  const converter = converters.get(r.type.toLocaleLowerCase());
@@ -287,7 +368,7 @@ let SqliteOrmDriver = class SqliteOrmDriver extends orm_sql_1.SqlDriver {
287
368
  NativeType: r.type,
288
369
  Unsigned: false,
289
370
  Nullable: r.notnull === 0,
290
- PrimaryKey: r.pk === 1,
371
+ PrimaryKey: r.pk > 0,
291
372
  Uuid: false,
292
373
  Ignore: false,
293
374
  IsForeignKey: fk !== undefined,
@@ -300,8 +381,9 @@ let SqliteOrmDriver = class SqliteOrmDriver extends orm_sql_1.SqlDriver {
300
381
  To: fk.to,
301
382
  }
302
383
  : null,
303
- // simply assumpt that integer pkeys are autoincement / auto fill by default
304
- AutoIncrement: r.pk === 1 && r.type === 'INTEGER',
384
+ // sqlite only auto-fills a lone INTEGER PRIMARY KEY ( the rowid alias ); a composite
385
+ // key never auto-increments, so the column count has to be checked too.
386
+ AutoIncrement: pkColumnCount === 1 && r.pk === 1 && r.type === 'INTEGER',
305
387
  Name: r.name,
306
388
  Converter: null,
307
389
  Schema: _schema ? _schema : this.Options.Database,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
- import { SqlColumnQueryCompiler, SqlTableQueryCompiler, SqlOnDuplicateQueryCompiler, SqlInsertQueryCompiler } from '@spinajs/orm-sql';
1
+ import { SqlColumnQueryCompiler, SqlTableQueryCompiler, SqlOnDuplicateQueryCompiler, SqlInsertQueryCompiler, SqlAlterColumnQueryCompiler } from '@spinajs/orm-sql';
2
2
  import { ICompilerOutput, OrderByBuilder, OrderByQueryCompiler, OnDuplicateQueryBuilder, InsertQueryBuilder, TableExistsCompiler, TableExistsQueryBuilder, TableQueryCompiler, TableQueryBuilder } from '@spinajs/orm';
3
3
  import { Container, IContainer } from '@spinajs/di';
4
+ import { Log } from '@spinajs/log';
4
5
  export declare class SqliteTruncateTableQueryCompiler extends TableQueryCompiler {
5
6
  protected container: Container;
6
7
  protected builder: TableQueryBuilder;
@@ -33,10 +34,60 @@ export declare class SqliteInsertQueryCompiler extends SqlInsertQueryCompiler {
33
34
  bindings: any[];
34
35
  expression: string;
35
36
  };
37
+ /**
38
+ * RETURNING on a plain INSERT. Skipped when an upsert clause is present — the ON CONFLICT
39
+ * compiler emits its own RETURNING and two would be invalid SQL.
40
+ */
41
+ protected returning(): string;
36
42
  protected into(): string;
37
43
  }
38
44
  export declare class SqliteColumnCompiler extends SqlColumnQueryCompiler {
39
45
  compile(): ICompilerOutput;
46
+ /**
47
+ * CREATE TABLE renders a boolean as a non-nullable 0/1 domain.
48
+ * Overridable: ADD COLUMN cannot carry an unconditional NOT NULL - see
49
+ * {@link SqliteAddColumnCompiler}.
50
+ */
51
+ protected _booleanDefinition(): string;
40
52
  protected _defaultCompiler(): string;
41
53
  }
54
+ /**
55
+ * Column body for `ALTER TABLE ... ADD COLUMN`.
56
+ *
57
+ * sqlite refuses to add a NOT NULL column without a non-null default, so the
58
+ * unconditional NOT NULL that CREATE TABLE bakes into a boolean makes every
59
+ * boolean add fail against a table that already holds rows. The CHECK is kept -
60
+ * it is legal in ADD COLUMN and still enforces the 0/1 domain - and NOT NULL is
61
+ * left to the generic `notNull()` flag, so `.notNull().default().value(0)` still
62
+ * yields a non-nullable column.
63
+ */
64
+ export declare class SqliteAddColumnCompiler extends SqliteColumnCompiler {
65
+ protected _booleanDefinition(): string;
66
+ }
67
+ export interface SqliteAlterColumnQueryCompiler {
68
+ }
69
+ export declare class SqliteAlterColumnQueryCompiler extends SqlAlterColumnQueryCompiler {
70
+ protected Log: Log;
71
+ /**
72
+ * The ADD path needs a body free of CREATE-TABLE-only syntax.
73
+ *
74
+ * Note PRIMARY KEY / UNIQUE are deliberately NOT stripped here: sqlite cannot
75
+ * add such a column at all (it rejects both the mysql and the sqlite spelling),
76
+ * so suppressing the clause would silently produce a column WITHOUT the
77
+ * constraint the caller asked for. Letting sqlite's own error surface is honest.
78
+ */
79
+ protected _columnDefinition(): ICompilerOutput;
80
+ /**
81
+ * sqlite cannot change a column's type: it has no MODIFY / ALTER COLUMN.
82
+ * It is also dynamically typed and renders enum/string/date as unconstrained
83
+ * TEXT, so a type-only change is a semantic no-op here anyway.
84
+ *
85
+ * Constraint changes (NOT NULL / DEFAULT / UNIQUE) ARE enforced by sqlite and
86
+ * are NOT applied - they need an explicit table-rebuild migration. Warn rather
87
+ * than throw: portable migrations legitimately restate existing constraints
88
+ * (mysql's MODIFY drops any attribute you omit), and throwing would break them.
89
+ */
90
+ protected _modify(_definition: string): string | null;
91
+ protected _add(definition: string): string | null;
92
+ }
42
93
  //# sourceMappingURL=compilers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"compilers.d.ts","sourceRoot":"","sources":["../../src/compilers.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,2BAA2B,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AACtI,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,oBAAoB,EAAY,uBAAuB,EAAmB,kBAAkB,EAAE,mBAAmB,EAAE,uBAAuB,EAAgB,kBAAkB,EAAE,iBAAiB,EAAsB,MAAM,cAAc,CAAC;AACpR,OAAO,EAAuB,SAAS,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGzE,qBACa,gCAAiC,SAAQ,kBAAkB;IAC1D,SAAS,CAAC,SAAS,EAAE,SAAS;IAAE,SAAS,CAAC,OAAO,EAAE,iBAAiB;gBAA1D,SAAS,EAAE,SAAS,EAAY,OAAO,EAAE,iBAAiB;IAIzE,OAAO,IAAI,eAAe;CAMlC;AAED,qBACa,qBAAsB,SAAQ,oBAAoB;IAC7D,SAAS,CAAC,QAAQ,EAAE,cAAc,CAAC;gBAEvB,OAAO,EAAE,cAAc;IAS5B,OAAO,IAAI,eAAe;CAclC;AACD,qBACa,8BAA+B,SAAQ,2BAA2B;gBACjE,OAAO,EAAE,uBAAuB;IAIrC,OAAO;;;;CA+Bf;AAED,qBACa,yBAA0B,YAAW,mBAAmB;IACvD,SAAS,CAAC,OAAO,EAAE,uBAAuB;gBAAhC,OAAO,EAAE,uBAAuB;IAM/C,OAAO,IAAI,eAAe;CAMlC;AAED,qBAEa,wBAAyB,SAAQ,qBAAqB;IAC1D,OAAO,IAAI,eAAe,EAAE;CAYpC;AAED,qBAEa,yBAA0B,SAAQ,sBAAsB;gBACvD,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,kBAAkB;IAIvD,OAAO;;;;IAYd,SAAS,CAAC,IAAI;CAGf;AAED,qBACa,oBAAqB,SAAQ,sBAAsB;IACvD,OAAO,IAAI,eAAe;IA8EjC,SAAS,CAAC,gBAAgB;CAiB3B"}
1
+ {"version":3,"file":"compilers.d.ts","sourceRoot":"","sources":["../../src/compilers.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,2BAA2B,EAAE,sBAAsB,EAAE,2BAA2B,EAAE,MAAM,kBAAkB,CAAC;AACnK,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,oBAAoB,EAAY,uBAAuB,EAAmB,kBAAkB,EAAE,mBAAmB,EAAE,uBAAuB,EAAgB,kBAAkB,EAAE,iBAAiB,EAA4C,MAAM,cAAc,CAAC;AAC1S,OAAO,EAAuB,SAAS,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzE,OAAO,EAAU,GAAG,EAAE,MAAM,cAAc,CAAC;AAG3C,qBACa,gCAAiC,SAAQ,kBAAkB;IAC1D,SAAS,CAAC,SAAS,EAAE,SAAS;IAAE,SAAS,CAAC,OAAO,EAAE,iBAAiB;gBAA1D,SAAS,EAAE,SAAS,EAAY,OAAO,EAAE,iBAAiB;IAIzE,OAAO,IAAI,eAAe;CAMlC;AAED,qBACa,qBAAsB,SAAQ,oBAAoB;IAC7D,SAAS,CAAC,QAAQ,EAAE,cAAc,CAAC;gBAEvB,OAAO,EAAE,cAAc;IAS5B,OAAO,IAAI,eAAe;CAclC;AACD,qBACa,8BAA+B,SAAQ,2BAA2B;gBACjE,OAAO,EAAE,uBAAuB;IAIrC,OAAO;;;;CA+Bf;AAED,qBACa,yBAA0B,YAAW,mBAAmB;IACvD,SAAS,CAAC,OAAO,EAAE,uBAAuB;gBAAhC,OAAO,EAAE,uBAAuB;IAM/C,OAAO,IAAI,eAAe;CAMlC;AAED,qBAEa,wBAAyB,SAAQ,qBAAqB;IAC1D,OAAO,IAAI,eAAe,EAAE;CAgCpC;AAED,qBAEa,yBAA0B,SAAQ,sBAAsB;gBACvD,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,kBAAkB;IAIvD,OAAO;;;;IAad;;;OAGG;IACH,SAAS,CAAC,SAAS;IASnB,SAAS,CAAC,IAAI;CAGf;AAED,qBACa,oBAAqB,SAAQ,sBAAsB;IACvD,OAAO,IAAI,eAAe;IA8EjC;;;;OAIG;IACH,SAAS,CAAC,kBAAkB,IAAI,MAAM;IAItC,SAAS,CAAC,gBAAgB;CAiB3B;AAED;;;;;;;;;GASG;AACH,qBACa,uBAAwB,SAAQ,oBAAoB;IAC/D,SAAS,CAAC,kBAAkB,IAAI,MAAM;CAGvC;AAED,MAAM,WAAW,8BAA8B;CAAI;AAEnD,qBAEa,8BAA+B,SAAQ,2BAA2B;IAE7E,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC;IAEnB;;;;;;;OAOG;IACH,SAAS,CAAC,iBAAiB,IAAI,eAAe;IAQ9C;;;;;;;;;OASG;IACH,SAAS,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAKrD,SAAS,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;CAIlD"}