@spinajs/orm-mssql 2.0.485 → 2.0.487
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/compilers.d.ts.map +1 -1
- package/lib/cjs/compilers.js +1 -2
- package/lib/cjs/compilers.js.map +1 -1
- package/lib/cjs/index.d.ts.map +1 -1
- package/lib/cjs/index.js +25 -3
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/statements.d.ts +27 -0
- package/lib/cjs/statements.d.ts.map +1 -0
- package/lib/cjs/statements.js +72 -0
- package/lib/cjs/statements.js.map +1 -0
- package/lib/mjs/compilers.d.ts.map +1 -1
- package/lib/mjs/compilers.js +1 -2
- package/lib/mjs/compilers.js.map +1 -1
- package/lib/mjs/index.d.ts.map +1 -1
- package/lib/mjs/index.js +27 -5
- package/lib/mjs/index.js.map +1 -1
- package/lib/mjs/statements.d.ts +27 -0
- package/lib/mjs/statements.d.ts.map +1 -0
- package/lib/mjs/statements.js +69 -0
- package/lib/mjs/statements.js.map +1 -0
- package/lib/tsconfig.cjs.tsbuildinfo +1 -1
- package/lib/tsconfig.mjs.tsbuildinfo +1 -1
- package/package.json +5 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compilers.d.ts","sourceRoot":"","sources":["../../src/compilers.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAuB,MAAM,aAAa,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,eAAe,EAAgD,kBAAkB,EAAE,kBAAkB,EAAE,aAAa,EAAqD,kBAAkB,EAAgB,MAAM,cAAc,CAAC;AACvR,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,2BAA2B,EAAoB,MAAM,kBAAkB,CAAC;AAGhO,qBACa,6BAA8B,SAAQ,2BAA2B;
|
|
1
|
+
{"version":3,"file":"compilers.d.ts","sourceRoot":"","sources":["../../src/compilers.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAuB,MAAM,aAAa,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,eAAe,EAAgD,kBAAkB,EAAE,kBAAkB,EAAE,aAAa,EAAqD,kBAAkB,EAAgB,MAAM,cAAc,CAAC;AACvR,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,2BAA2B,EAAoB,MAAM,kBAAkB,CAAC;AAGhO,qBACa,6BAA8B,SAAQ,2BAA2B;IAErE,OAAO;;;;CAgDf;AAED,qBACa,wBAAyB,SAAQ,sBAAsB;IAClE,SAAS,CAAC,WAAW,UAAS;gBAElB,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,kBAAkB;IAMvD,OAAO;;;;IAmBd,SAAS,CAAC,IAAI;CAGf;AAED,qBACa,wBAAyB,YAAW,mBAAmB;IACtD,SAAS,CAAC,OAAO,EAAE,uBAAuB;gBAAhC,OAAO,EAAE,uBAAuB;IAM/C,OAAO,IAAI,eAAe;CAgBlC;AAED,qBACa,kBAAmB,SAAQ,qBAAqB;IAEpD,OAAO,IAAI,eAAe;CAiBlC;AAED,qBACa,oBAAqB,SAAQ,uBAAuB;IACxD,OAAO,IAAI,eAAe;CAclC;AAED,qBACa,uBAAwB,SAAQ,qBAAqB;IACzD,OAAO,IAAI,eAAe,EAAE;IAcnC,SAAS,CAAC,QAAQ;IAWlB,SAAS,CAAC,YAAY;IAMtB,SAAS,CAAC,MAAM;CAGjB;AAED,qBACa,wBAAyB,SAAQ,sBAAsB;IAEtD,SAAS,CAAC,OAAO,EAAE,kBAAkB;gBAA3B,OAAO,EAAE,kBAAkB;CAMlD;AAED,qBACa,wBAAyB,SAAQ,sBAAsB;IAC3D,OAAO;;;;IAcd,SAAS,CAAC,IAAI;CAMf;AAED,qBAEa,uBAAwB,YAAW,kBAAkB;IACzD,OAAO,CAAC,OAAO,EAAE,aAAa,EAAE,GAAG,CAAC,EAAE,MAAM;CAmBpD"}
|
package/lib/cjs/compilers.js
CHANGED
|
@@ -37,8 +37,7 @@ let MsSqlOnDuplicateQueryCompiler = class MsSqlOnDuplicateQueryCompiler extends
|
|
|
37
37
|
})
|
|
38
38
|
.join(',');
|
|
39
39
|
const parent = this._builder.getParent();
|
|
40
|
-
const valueMap = parent.getColumns()
|
|
41
|
-
.map((c) => c.Column);
|
|
40
|
+
const valueMap = parent.getColumns().map((c) => c.Column);
|
|
42
41
|
const bindings = this._builder.getColumnsToUpdate().map((c) => {
|
|
43
42
|
if (lodash_1.default.isString(c)) {
|
|
44
43
|
return parent.Values[0][valueMap.indexOf(c)];
|
package/lib/cjs/compilers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compilers.js","sourceRoot":"","sources":["../../src/compilers.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,0DAAuD;AACvD,oCAA8D;AAC9D,sCAAuR;AACvR,8CAAgO;AAChO,oDAAuB;AAGhB,IAAM,6BAA6B,GAAnC,MAAM,6BAA8B,SAAQ,qCAA2B;
|
|
1
|
+
{"version":3,"file":"compilers.js","sourceRoot":"","sources":["../../src/compilers.ts"],"names":[],"mappings":"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"}
|
package/lib/cjs/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkM,YAAY,EAAE,SAAS,EAAE,iBAAiB,EAA2C,cAAc,EAAE,iBAAiB,EAAE,cAAc,EAAE,mBAAmB,EAAE,mBAAmB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkM,YAAY,EAAE,SAAS,EAAE,iBAAiB,EAA2C,cAAc,EAAE,iBAAiB,EAAE,cAAc,EAAE,mBAAmB,EAAE,mBAAmB,EAAgE,MAAM,cAAc,CAAC;AAI9c,OAAO,EAAE,SAAS,EAAiC,MAAM,kBAAkB,CAAC;AAC5E,OAAO,KAAK,MAAM,OAAO,CAAC;AAO1B,MAAM,WAAW,wBAAyB,SAAQ,mBAAmB;IACnE,WAAW,EAAE,KAAK,CAAC,WAAW,CAAC;IAC/B,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC;CACxB;AAiBD,qBAEa,cAAe,SAAQ,SAAS;IAC3C,SAAS,CAAC,eAAe,EAAE,KAAK,CAAC,cAAc,CAAe;IAK9D,SAAgB,wBAAwB,EAAE,cAAc,EAAE,CAA6E;gBAE3H,OAAO,EAAE,cAAc;IAItB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC;IA2CnF,iBAAiB,IAAI,iBAAiB;IAsBhC,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC;IASxB,OAAO,IAAI,OAAO,CAAC,SAAS,CAAC;IAoCnC,OAAO;IA2BD,UAAU,IAAI,OAAO,CAAC,SAAS,CAAC;IAQhC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAsCnF,OAAO,CAAC,QAAQ;cAIA,MAAM,CAAC,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAC;cASnE,OAAO,CAAC,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;cAIhD,SAAS,CAAC,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;cAMlD,UAAU,CAAC,GAAG,EAAE,mBAAmB,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;cAIjE,iBAAiB,CAAC,IAAI,EAAE,mBAAmB,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;cAK1E,oBAAoB,CAAC,GAAG,EAAE,mBAAmB,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;cAI3E,QAAQ,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;CAGnE"}
|
package/lib/cjs/index.js
CHANGED
|
@@ -20,6 +20,7 @@ const orm_sql_1 = require("@spinajs/orm-sql");
|
|
|
20
20
|
const mssql_1 = __importDefault(require("mssql"));
|
|
21
21
|
const compilers_js_1 = require("./compilers.js");
|
|
22
22
|
const dehydrator_js_1 = require("./dehydrator.js");
|
|
23
|
+
const statements_js_1 = require("./statements.js");
|
|
23
24
|
const converters_js_1 = require("./converters.js");
|
|
24
25
|
const MSSQL_ISOLATION_LEVELS = {
|
|
25
26
|
'READ UNCOMMITTED': mssql_1.default.ISOLATION_LEVEL.READ_UNCOMMITTED,
|
|
@@ -83,7 +84,19 @@ let MsSqlOrmDriver = class MsSqlOrmDriver extends orm_sql_1.SqlDriver {
|
|
|
83
84
|
}
|
|
84
85
|
supportedFeatures() {
|
|
85
86
|
return {
|
|
86
|
-
|
|
87
|
+
/**
|
|
88
|
+
* FALSE, and it always was in practice. This driver registers no event or
|
|
89
|
+
* table-history compiler, so both fell through to the shared ones — which
|
|
90
|
+
* emit MySQL's `CREATE EVENT` and MySQL trigger syntax, and every one of
|
|
91
|
+
* them would have been rejected by SQL Server. Scheduling on this platform
|
|
92
|
+
* is SQL Server Agent, and history is a temporal table; until this driver
|
|
93
|
+
* implements them, claiming support only means the failure happens later
|
|
94
|
+
* and further from its cause.
|
|
95
|
+
*
|
|
96
|
+
* The dialect contract check is what surfaced this — it saw the shared
|
|
97
|
+
* MySQL event compiler answering for a driver whose dialect is `mssql`.
|
|
98
|
+
*/
|
|
99
|
+
events: false,
|
|
87
100
|
insertReturning: false,
|
|
88
101
|
// SCOPE_IDENTITY() reports the LAST identity generated in the scope, so a multi-row insert
|
|
89
102
|
// cannot be walked forwards from it. MSSQL opts out of the batch key backfill.
|
|
@@ -101,7 +114,7 @@ let MsSqlOrmDriver = class MsSqlOrmDriver extends orm_sql_1.SqlDriver {
|
|
|
101
114
|
}
|
|
102
115
|
async connect() {
|
|
103
116
|
try {
|
|
104
|
-
this._connectionPool =
|
|
117
|
+
this._connectionPool = await mssql_1.default.connect({
|
|
105
118
|
user: this.Options.User,
|
|
106
119
|
password: this.Options.Password,
|
|
107
120
|
database: this.Options.Database,
|
|
@@ -116,7 +129,7 @@ let MsSqlOrmDriver = class MsSqlOrmDriver extends orm_sql_1.SqlDriver {
|
|
|
116
129
|
idleTimeoutMillis: this.resolvedPoolOptions().IdleTimeout,
|
|
117
130
|
acquireTimeoutMillis: this.resolvedPoolOptions().AcquireTimeout,
|
|
118
131
|
},
|
|
119
|
-
})
|
|
132
|
+
});
|
|
120
133
|
await this.executeOnDb(`USE ${this.Options.Database}`, [], orm_1.QueryContext.Schema);
|
|
121
134
|
return this;
|
|
122
135
|
}
|
|
@@ -147,6 +160,15 @@ let MsSqlOrmDriver = class MsSqlOrmDriver extends orm_sql_1.SqlDriver {
|
|
|
147
160
|
this.Container.register(compilers_js_1.MsSqlTableAliasCompiler).as(orm_1.TableAliasCompiler);
|
|
148
161
|
this.Container.register(converters_js_1.MsSqlDatetimeValueConverter).as(orm_1.DatetimeValueConverter);
|
|
149
162
|
this.Container.register(compilers_js_1.MsSqlOnDuplicateQueryCompiler).as(orm_1.OnDuplicateQueryCompiler);
|
|
163
|
+
this.Container.register(statements_js_1.MsSqlInSetStatement).as(orm_1.InSetStatement);
|
|
164
|
+
// Brackets, not the backticks this driver used to inherit from the shared layer.
|
|
165
|
+
this.Container.register(statements_js_1.BracketIdentifierQuoter).as(orm_1.IdentifierQuoter);
|
|
166
|
+
// `TRUNCATE TABLE` is valid T-SQL, so the shared compiler is claimed explicitly.
|
|
167
|
+
// `CHANGE COLUMN`, `ALTER TABLE ... RENAME TO`, `CREATE TABLE ... LIKE`,
|
|
168
|
+
// `WITH RECURSIVE` and `CURRENT_DATE()` are NOT T-SQL and are left unregistered:
|
|
169
|
+
// those features now fail with a DI error naming the abstraction instead of
|
|
170
|
+
// reaching SQL Server as MySQL syntax.
|
|
171
|
+
this.Container.register(orm_sql_1.SqlTruncateTableQueryCompiler).as(orm_1.TruncateTableQueryCompiler);
|
|
150
172
|
}
|
|
151
173
|
async disconnect() {
|
|
152
174
|
if (this._connectionPool) {
|
package/lib/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { IdentifierQuoter, InSetStatement, IQueryStatement, IQueryStatementResult } from '@spinajs/orm';
|
|
2
|
+
/**
|
|
3
|
+
* Membership test against a delimited `@Set()` column, MSSQL dialect.
|
|
4
|
+
*
|
|
5
|
+
* `CHARINDEX` over the column padded with delimiters on both sides — a value is a
|
|
6
|
+
* member exactly when `,value,` occurs inside `,col,`. MSSQL concatenates with `+`,
|
|
7
|
+
* not `||`, which is one of the reasons there is no single portable spelling of this
|
|
8
|
+
* query and every driver registers its own.
|
|
9
|
+
*
|
|
10
|
+
* `ISNULL` keeps a NULL column out of the result instead of propagating NULL.
|
|
11
|
+
*/
|
|
12
|
+
export declare class MsSqlInSetStatement extends InSetStatement {
|
|
13
|
+
Quoter: IdentifierQuoter;
|
|
14
|
+
build(): IQueryStatementResult;
|
|
15
|
+
clone(): IQueryStatement;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Bracket quoting — SQL Server's rule, escaping an embedded `]` by doubling it.
|
|
19
|
+
*
|
|
20
|
+
* This driver used to import the shared BACKTICK helper and emit `` `table` ``, which
|
|
21
|
+
* SQL Server does not accept, in every statement its own compilers did not replace.
|
|
22
|
+
* Quoting is a service now, so registering this is all it takes.
|
|
23
|
+
*/
|
|
24
|
+
export declare class BracketIdentifierQuoter extends IdentifierQuoter {
|
|
25
|
+
quote(name: string): string;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=statements.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"statements.d.ts","sourceRoot":"","sources":["../../src/statements.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,eAAe,EAAE,qBAAqB,EAAiB,MAAM,cAAc,CAAC;AAGvH;;;;;;;;;GASG;AACH,qBACa,mBAAoB,SAAQ,cAAc;IAE9C,MAAM,EAAE,gBAAgB,CAAC;IAEzB,KAAK,IAAI,qBAAqB;IAe9B,KAAK,IAAI,eAAe;CAQhC;AAED;;;;;;GAMG;AACH,qBACa,uBAAwB,SAAQ,gBAAgB;IACpD,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;CAGnC"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
var MsSqlInSetStatement_1;
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
exports.BracketIdentifierQuoter = exports.MsSqlInSetStatement = void 0;
|
|
14
|
+
const di_1 = require("@spinajs/di");
|
|
15
|
+
const orm_1 = require("@spinajs/orm");
|
|
16
|
+
const orm_sql_1 = require("@spinajs/orm-sql");
|
|
17
|
+
/**
|
|
18
|
+
* Membership test against a delimited `@Set()` column, MSSQL dialect.
|
|
19
|
+
*
|
|
20
|
+
* `CHARINDEX` over the column padded with delimiters on both sides — a value is a
|
|
21
|
+
* member exactly when `,value,` occurs inside `,col,`. MSSQL concatenates with `+`,
|
|
22
|
+
* not `||`, which is one of the reasons there is no single portable spelling of this
|
|
23
|
+
* query and every driver registers its own.
|
|
24
|
+
*
|
|
25
|
+
* `ISNULL` keeps a NULL column out of the result instead of propagating NULL.
|
|
26
|
+
*/
|
|
27
|
+
let MsSqlInSetStatement = MsSqlInSetStatement_1 = class MsSqlInSetStatement extends orm_1.InSetStatement {
|
|
28
|
+
build() {
|
|
29
|
+
const column = (0, orm_sql_1._columnWrap)(this.Quoter, this._column, this._tableAlias);
|
|
30
|
+
const bindings = [];
|
|
31
|
+
const expressions = this.values().map((value) => {
|
|
32
|
+
bindings.push(`${orm_1.SET_DELIMITER}${value}${orm_1.SET_DELIMITER}`);
|
|
33
|
+
return `(CHARINDEX(?, '${orm_1.SET_DELIMITER}' + ISNULL(${column}, '') + '${orm_1.SET_DELIMITER}') > 0)`;
|
|
34
|
+
});
|
|
35
|
+
return {
|
|
36
|
+
Bindings: bindings,
|
|
37
|
+
Statements: [this.combine(expressions)],
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
clone() {
|
|
41
|
+
const clone = new MsSqlInSetStatement_1(this._column, this._val, this._not, this._tableAlias);
|
|
42
|
+
// a hand-constructed clone never goes through the container, so the injected
|
|
43
|
+
// quoter has to be carried over explicitly
|
|
44
|
+
clone.Quoter = this.Quoter;
|
|
45
|
+
return clone;
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
exports.MsSqlInSetStatement = MsSqlInSetStatement;
|
|
49
|
+
__decorate([
|
|
50
|
+
(0, di_1.Autoinject)(orm_1.IdentifierQuoter),
|
|
51
|
+
__metadata("design:type", orm_1.IdentifierQuoter)
|
|
52
|
+
], MsSqlInSetStatement.prototype, "Quoter", void 0);
|
|
53
|
+
exports.MsSqlInSetStatement = MsSqlInSetStatement = MsSqlInSetStatement_1 = __decorate([
|
|
54
|
+
(0, di_1.NewInstance)()
|
|
55
|
+
], MsSqlInSetStatement);
|
|
56
|
+
/**
|
|
57
|
+
* Bracket quoting — SQL Server's rule, escaping an embedded `]` by doubling it.
|
|
58
|
+
*
|
|
59
|
+
* This driver used to import the shared BACKTICK helper and emit `` `table` ``, which
|
|
60
|
+
* SQL Server does not accept, in every statement its own compilers did not replace.
|
|
61
|
+
* Quoting is a service now, so registering this is all it takes.
|
|
62
|
+
*/
|
|
63
|
+
let BracketIdentifierQuoter = class BracketIdentifierQuoter extends orm_1.IdentifierQuoter {
|
|
64
|
+
quote(name) {
|
|
65
|
+
return '[' + String(name).replace(/]/g, ']]') + ']';
|
|
66
|
+
}
|
|
67
|
+
};
|
|
68
|
+
exports.BracketIdentifierQuoter = BracketIdentifierQuoter;
|
|
69
|
+
exports.BracketIdentifierQuoter = BracketIdentifierQuoter = __decorate([
|
|
70
|
+
(0, di_1.NewInstance)()
|
|
71
|
+
], BracketIdentifierQuoter);
|
|
72
|
+
//# sourceMappingURL=statements.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"statements.js","sourceRoot":"","sources":["../../src/statements.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,oCAAsD;AACtD,sCAAuH;AACvH,8CAA+C;AAE/C;;;;;;;;;GASG;AAEI,IAAM,mBAAmB,2BAAzB,MAAM,mBAAoB,SAAQ,oBAAc;IAI9C,KAAK;QACV,MAAM,MAAM,GAAG,IAAA,qBAAW,EAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QACxE,MAAM,QAAQ,GAAa,EAAE,CAAC;QAE9B,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YAC9C,QAAQ,CAAC,IAAI,CAAC,GAAG,mBAAa,GAAG,KAAK,GAAG,mBAAa,EAAE,CAAC,CAAC;YAC1D,OAAO,kBAAkB,mBAAa,cAAc,MAAM,YAAY,mBAAa,SAAS,CAAC;QAC/F,CAAC,CAAC,CAAC;QAEH,OAAO;YACL,QAAQ,EAAE,QAAQ;YAClB,UAAU,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;SACxC,CAAC;IACJ,CAAC;IAEM,KAAK;QACV,MAAM,KAAK,GAAG,IAAI,qBAAmB,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,WAAY,CAAC,CAAC;QAC7F,6EAA6E;QAC7E,2CAA2C;QAC3C,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAE3B,OAAO,KAAK,CAAC;IACf,CAAC;CACF,CAAA;AA3BY,kDAAmB;AAEvB;IADN,IAAA,eAAU,EAAC,sBAAgB,CAAC;8BACd,sBAAgB;mDAAC;8BAFrB,mBAAmB;IAD/B,IAAA,gBAAW,GAAE;GACD,mBAAmB,CA2B/B;AAED;;;;;;GAMG;AAEI,IAAM,uBAAuB,GAA7B,MAAM,uBAAwB,SAAQ,sBAAgB;IACpD,KAAK,CAAC,IAAY;QACvB,OAAO,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,GAAG,CAAC;IACtD,CAAC;CACF,CAAA;AAJY,0DAAuB;kCAAvB,uBAAuB;IADnC,IAAA,gBAAW,GAAE;GACD,uBAAuB,CAInC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compilers.d.ts","sourceRoot":"","sources":["../../src/compilers.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAuB,MAAM,aAAa,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,eAAe,EAAgD,kBAAkB,EAAE,kBAAkB,EAAE,aAAa,EAAqD,kBAAkB,EAAgB,MAAM,cAAc,CAAC;AACvR,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,2BAA2B,EAAoB,MAAM,kBAAkB,CAAC;AAGhO,qBACa,6BAA8B,SAAQ,2BAA2B;
|
|
1
|
+
{"version":3,"file":"compilers.d.ts","sourceRoot":"","sources":["../../src/compilers.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAuB,MAAM,aAAa,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,eAAe,EAAgD,kBAAkB,EAAE,kBAAkB,EAAE,aAAa,EAAqD,kBAAkB,EAAgB,MAAM,cAAc,CAAC;AACvR,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,2BAA2B,EAAoB,MAAM,kBAAkB,CAAC;AAGhO,qBACa,6BAA8B,SAAQ,2BAA2B;IAErE,OAAO;;;;CAgDf;AAED,qBACa,wBAAyB,SAAQ,sBAAsB;IAClE,SAAS,CAAC,WAAW,UAAS;gBAElB,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,kBAAkB;IAMvD,OAAO;;;;IAmBd,SAAS,CAAC,IAAI;CAGf;AAED,qBACa,wBAAyB,YAAW,mBAAmB;IACtD,SAAS,CAAC,OAAO,EAAE,uBAAuB;gBAAhC,OAAO,EAAE,uBAAuB;IAM/C,OAAO,IAAI,eAAe;CAgBlC;AAED,qBACa,kBAAmB,SAAQ,qBAAqB;IAEpD,OAAO,IAAI,eAAe;CAiBlC;AAED,qBACa,oBAAqB,SAAQ,uBAAuB;IACxD,OAAO,IAAI,eAAe;CAclC;AAED,qBACa,uBAAwB,SAAQ,qBAAqB;IACzD,OAAO,IAAI,eAAe,EAAE;IAcnC,SAAS,CAAC,QAAQ;IAWlB,SAAS,CAAC,YAAY;IAMtB,SAAS,CAAC,MAAM;CAGjB;AAED,qBACa,wBAAyB,SAAQ,sBAAsB;IAEtD,SAAS,CAAC,OAAO,EAAE,kBAAkB;gBAA3B,OAAO,EAAE,kBAAkB;CAMlD;AAED,qBACa,wBAAyB,SAAQ,sBAAsB;IAC3D,OAAO;;;;IAcd,SAAS,CAAC,IAAI;CAMf;AAED,qBAEa,uBAAwB,YAAW,kBAAkB;IACzD,OAAO,CAAC,OAAO,EAAE,aAAa,EAAE,GAAG,CAAC,EAAE,MAAM;CAmBpD"}
|
package/lib/mjs/compilers.js
CHANGED
|
@@ -31,8 +31,7 @@ let MsSqlOnDuplicateQueryCompiler = class MsSqlOnDuplicateQueryCompiler extends
|
|
|
31
31
|
})
|
|
32
32
|
.join(',');
|
|
33
33
|
const parent = this._builder.getParent();
|
|
34
|
-
const valueMap = parent.getColumns()
|
|
35
|
-
.map((c) => c.Column);
|
|
34
|
+
const valueMap = parent.getColumns().map((c) => c.Column);
|
|
36
35
|
const bindings = this._builder.getColumnsToUpdate().map((c) => {
|
|
37
36
|
if (_.isString(c)) {
|
|
38
37
|
return parent.Values[0][valueMap.indexOf(c)];
|
package/lib/mjs/compilers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compilers.js","sourceRoot":"","sources":["../../src/compilers.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAc,MAAM,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,EAAuB,uBAAuB,EAAmB,mBAAmB,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,kBAAkB,EAA4C,sBAAsB,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACvR,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,2BAA2B,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAChO,OAAO,CAAC,MAAM,QAAQ,CAAC;AAGhB,IAAM,6BAA6B,GAAnC,MAAM,6BAA8B,SAAQ,2BAA2B;
|
|
1
|
+
{"version":3,"file":"compilers.js","sourceRoot":"","sources":["../../src/compilers.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAc,MAAM,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,EAAuB,uBAAuB,EAAmB,mBAAmB,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,kBAAkB,EAA4C,sBAAsB,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACvR,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,2BAA2B,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAChO,OAAO,CAAC,MAAM,QAAQ,CAAC;AAGhB,IAAM,6BAA6B,GAAnC,MAAM,6BAA8B,SAAQ,2BAA2B;IAErE,OAAO;QACZ,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC;QACjH,MAAM,UAAU,GAAG,sBAAsB,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,CAAC;QAE3E,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3C,MAAM,IAAI,YAAY,CAAC,sCAAsC,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC;QAClG,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ;aAC1B,kBAAkB,EAAE;aACpB,GAAG,CAAC,CAAC,CAAoB,EAAU,EAAE;YACpC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;gBAClB,OAAO,KAAK,CAAC,QAAQ,CAAC;YACxB,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,CAAC,KAAK,CAAC;YACjB,CAAC;QACH,CAAC,CAAC;aACD,IAAI,CAAC,GAAG,CAAC,CAAC;QAEb,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAwB,CAAC;QAE/D,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC,GAAG,CAAC,CAAC,CAAkB,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QAC3E,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,kBAAkB,EAAE,CAAC,GAAG,CAAC,CAAC,CAAoB,EAAO,EAAE;YACpF,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;gBAClB,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/C,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,CAAC,QAAQ,CAAC;YACpB,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACpD,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;QAEH,OAAO;YACL,QAAQ,EAAE,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC;YACpC,UAAU,EAAE,cAAc,KAAK;6BACR,KAAK,UAAU,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;gBACxE,OAAO,GAAG,CAAC,MAAM,CAAC;YACpB,CAAC,CAAC;mBACW,UAAW,CAAC,UAAU,CAAC,CAAC,CAAC,aAAa,UAAW,CAAC,UAAU,CAAC,CAAC,CAAC;;;kBAGhE,OAAO;;cAEX,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC;SACvC,CAAC;IACJ,CAAC;CACF,CAAA;AAlDY,6BAA6B;IADzC,WAAW,EAAE;GACD,6BAA6B,CAkDzC;;AAGM,IAAM,wBAAwB,GAA9B,MAAM,wBAAyB,SAAQ,sBAAsB;IAGlE,YAAY,SAAqB,EAAE,OAA2B;QAC5D,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAHlB,gBAAW,GAAG,KAAK,CAAC;QAK5B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,qBAAqB,KAAK,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,qBAAqB,KAAK,SAAS,CAAC;IACvH,CAAC;IAEM,OAAO;QACZ,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;YACzB,MAAM,IAAI,YAAY,CAAC,yCAAyC,CAAC,CAAC;QACpE,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAE7B,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC;QAClC,MAAM,WAAW,GAAG,GAAG,IAAI,IAAI,OAAO,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;QACxD,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QAE/B,OAAO;YACL,QAAQ,EAAE,OAAO,CAAC,QAAS,CAAC,MAAM,CAAC,SAAS,CAAC;YAC7C,UAAU,EAAE,OAAO,CAAC,UAAU,GAAG,WAAW,GAAG,kCAAkC;SAClF,CAAC;IACJ,CAAC;IAES,IAAI;QACZ,OAAO,UAAU,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC;IAC3H,CAAC;CACF,CAAA;AA/BY,wBAAwB;IADpC,WAAW,EAAE;6CAIgC,kBAAkB;GAHnD,wBAAwB,CA+BpC;;AAGM,IAAM,wBAAwB,GAA9B,MAAM,wBAAwB;IACnC,YAAsB,OAAgC;QAAhC,YAAO,GAAP,OAAO,CAAyB;QACpD,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;IAEM,OAAO;QACZ,MAAM,QAAQ,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACtC,IAAI,UAAU,GAAG,EAAE,CAAC;QAEpB,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;YAC1B,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YACrC,UAAU,GAAG,4GAA4G,CAAC;QAC5H,CAAC;aAAM,CAAC;YACN,UAAU,GAAG,wFAAwF,CAAC;QACxG,CAAC;QAED,OAAO;YACL,QAAQ;YACR,UAAU;SACX,CAAC;IACJ,CAAC;CACF,CAAA;AAvBY,wBAAwB;IADpC,WAAW,EAAE;qCAEmB,uBAAuB;GAD3C,wBAAwB,CAuBpC;;AAGM,IAAM,kBAAkB,GAAxB,MAAM,kBAAmB,SAAQ,qBAAqB;IAEpD,OAAO;QACZ,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;QACzC,MAAM,QAAQ,GAAG,EAAE,CAAC;QACpB,IAAI,IAAI,GAAG,EAAE,CAAC;QAEd,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5B,IAAI,IAAI,gBAAgB,CAAC;YACzB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAC/C,IAAI,IAAI,yBAAyB,CAAC;YAClC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC;QAED,OAAO;YACL,QAAQ;YACR,UAAU,EAAE,IAAI;SACjB,CAAC;IACJ,CAAC;CACF,CAAA;AAnBY,kBAAkB;IAD9B,WAAW,EAAE;GACD,kBAAkB,CAmB9B;;AAGM,IAAM,oBAAoB,GAA1B,MAAM,oBAAqB,SAAQ,uBAAuB;IACxD,OAAO;QACZ,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;QACrC,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,MAAM,QAAQ,GAAG,EAAe,CAAC;QAEjC,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,GAAG,aAAa,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QAC7G,CAAC;QAED,OAAO;YACL,QAAQ;YACR,UAAU,EAAE,IAAI;SACjB,CAAC;IACJ,CAAC;CACF,CAAA;AAfY,oBAAoB;IADhC,WAAW,EAAE;GACD,oBAAoB,CAehC;;AAGM,IAAM,uBAAuB,GAA7B,MAAM,uBAAwB,SAAQ,qBAAqB;IACzD,OAAO;QACZ,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QACjC,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;QACpC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAEhF,OAAO;YACL;gBACE,QAAQ,EAAE,EAAE;gBACZ,UAAU,EAAE,GAAG,MAAM,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,YAAY,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG;aAC1K;SACF,CAAC;IACJ,CAAC;IAES,QAAQ;QAChB,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACpC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,UAAU,CAAC;YACnF,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC;gBACjB,OAAO,IAAI,GAAG,cAAc,CAAC;YAC/B,CAAC;YAED,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACf,CAAC;IAES,YAAY;QACpB,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACxC,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,uBAAuB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,UAAU,CAAC;QACnF,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACf,CAAC;IAES,MAAM;QACd,OAAO,SAAS,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,SAAS,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;IAC7L,CAAC;CACF,CAAA;AAnCY,uBAAuB;IADnC,WAAW,EAAE;GACD,uBAAuB,CAmCnC;;AAGM,IAAM,wBAAwB,GAA9B,MAAM,wBAAyB,SAAQ,sBAAsB;IAElE,YAAsB,OAA2B;QAC/C,KAAK,CAAC,OAAO,CAAC,CAAC;QADK,YAAO,GAAP,OAAO,CAAoB;QAG/C,iDAAiD;QACjD,IAAI,CAAC,mBAAmB,CAAC,aAAa,GAAG,GAAG,EAAE,CAAC,eAAe,CAAC;IACjE,CAAC;CACF,CAAA;AARY,wBAAwB;IADpC,WAAW,EAAE;qCAGmB,kBAAkB;GAFtC,wBAAwB,CAQpC;;AAGM,IAAM,wBAAwB,GAA9B,MAAM,wBAAyB,SAAQ,sBAAsB;IAC3D,OAAO;QACZ,MAAM,SAAS,GAAG,EAAE,CAAC;QACrB,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC1B,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACzC,MAAM,WAAW,GAAG,KAAK,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAErF,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAC;QAE3C,OAAO;YACL,QAAQ,EAAE,SAAS;YACnB,UAAU,EAAE,WAAW,CAAC,IAAI,EAAE;SAC/B,CAAC;IACJ,CAAC;IAES,IAAI;QACZ,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC/B,MAAM,MAAM,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAC;QAEpC,OAAO,UAAU,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,QAAQ,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;IACrJ,CAAC;CACF,CAAA;AArBY,wBAAwB;IADpC,WAAW,EAAE;GACD,wBAAwB,CAqBpC;;AAIM,IAAM,uBAAuB,GAA7B,MAAM,uBAAuB;IAC3B,OAAO,CAAC,OAAsB,EAAE,GAAY;QACjD,IAAI,KAAK,GAAG,EAAE,CAAC;QAEf,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACrB,KAAK,IAAI,GAAG,gBAAgB,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC;QACpD,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;YAC3C,KAAK,IAAI,GAAG,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC;QAC1E,CAAC;QAED,KAAK,IAAI,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAErD,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;YACvB,KAAK,IAAI,OAAO,gBAAgB,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QACzD,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;CACF,CAAA;AApBY,uBAAuB;IAFnC,MAAM,CAAC,aAAa,CAAC;IACrB,WAAW,EAAE;GACD,uBAAuB,CAoBnC"}
|
package/lib/mjs/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkM,YAAY,EAAE,SAAS,EAAE,iBAAiB,EAA2C,cAAc,EAAE,iBAAiB,EAAE,cAAc,EAAE,mBAAmB,EAAE,mBAAmB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkM,YAAY,EAAE,SAAS,EAAE,iBAAiB,EAA2C,cAAc,EAAE,iBAAiB,EAAE,cAAc,EAAE,mBAAmB,EAAE,mBAAmB,EAAgE,MAAM,cAAc,CAAC;AAI9c,OAAO,EAAE,SAAS,EAAiC,MAAM,kBAAkB,CAAC;AAC5E,OAAO,KAAK,MAAM,OAAO,CAAC;AAO1B,MAAM,WAAW,wBAAyB,SAAQ,mBAAmB;IACnE,WAAW,EAAE,KAAK,CAAC,WAAW,CAAC;IAC/B,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC;CACxB;AAiBD,qBAEa,cAAe,SAAQ,SAAS;IAC3C,SAAS,CAAC,eAAe,EAAE,KAAK,CAAC,cAAc,CAAe;IAK9D,SAAgB,wBAAwB,EAAE,cAAc,EAAE,CAA6E;gBAE3H,OAAO,EAAE,cAAc;IAItB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC;IA2CnF,iBAAiB,IAAI,iBAAiB;IAsBhC,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC;IASxB,OAAO,IAAI,OAAO,CAAC,SAAS,CAAC;IAoCnC,OAAO;IA2BD,UAAU,IAAI,OAAO,CAAC,SAAS,CAAC;IAQhC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAsCnF,OAAO,CAAC,QAAQ;cAIA,MAAM,CAAC,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAC;cASnE,OAAO,CAAC,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;cAIhD,SAAS,CAAC,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;cAMlD,UAAU,CAAC,GAAG,EAAE,mBAAmB,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;cAIjE,iBAAiB,CAAC,IAAI,EAAE,mBAAmB,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;cAK1E,oBAAoB,CAAC,GAAG,EAAE,mBAAmB,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;cAI3E,QAAQ,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;CAGnE"}
|
package/lib/mjs/index.js
CHANGED
|
@@ -7,13 +7,14 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
7
7
|
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
8
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
9
|
};
|
|
10
|
-
import { DatetimeValueConverter, DeleteQueryCompiler, ModelDehydrator, TableAliasCompiler, OnDuplicateQueryCompiler, OrderByQueryCompiler, TableQueryCompiler, ColumnQueryCompiler, InsertQueryCompiler, QueryContext, TableExistsCompiler, LimitQueryCompiler } from '@spinajs/orm';
|
|
10
|
+
import { DatetimeValueConverter, DeleteQueryCompiler, ModelDehydrator, TableAliasCompiler, OnDuplicateQueryCompiler, OrderByQueryCompiler, TableQueryCompiler, ColumnQueryCompiler, InsertQueryCompiler, QueryContext, TableExistsCompiler, LimitQueryCompiler, InSetStatement, IdentifierQuoter, TruncateTableQueryCompiler } from '@spinajs/orm';
|
|
11
11
|
/* eslint-disable security/detect-object-injection */
|
|
12
12
|
import { Injectable, NewInstance } from '@spinajs/di';
|
|
13
|
-
import { SqlDriver } from '@spinajs/orm-sql';
|
|
13
|
+
import { SqlDriver, SqlTruncateTableQueryCompiler } from '@spinajs/orm-sql';
|
|
14
14
|
import mssql from 'mssql';
|
|
15
15
|
import { MsSqlTableExistsCompiler, MsSqlLimitCompiler, MsSqlOrderByCompiler, MsSqlTableQueryCompiler, MsSqlColumnQueryCompiler, MsSqlInsertQueryCompiler, MsSqlDeleteQueryCompiler, MsSqlTableAliasCompiler, MsSqlOnDuplicateQueryCompiler } from './compilers.js';
|
|
16
16
|
import { MssqlModelDehydrator } from './dehydrator.js';
|
|
17
|
+
import { BracketIdentifierQuoter, MsSqlInSetStatement } from './statements.js';
|
|
17
18
|
import { MsSqlDatetimeValueConverter } from './converters.js';
|
|
18
19
|
const MSSQL_ISOLATION_LEVELS = {
|
|
19
20
|
'READ UNCOMMITTED': mssql.ISOLATION_LEVEL.READ_UNCOMMITTED,
|
|
@@ -77,7 +78,19 @@ let MsSqlOrmDriver = class MsSqlOrmDriver extends SqlDriver {
|
|
|
77
78
|
}
|
|
78
79
|
supportedFeatures() {
|
|
79
80
|
return {
|
|
80
|
-
|
|
81
|
+
/**
|
|
82
|
+
* FALSE, and it always was in practice. This driver registers no event or
|
|
83
|
+
* table-history compiler, so both fell through to the shared ones — which
|
|
84
|
+
* emit MySQL's `CREATE EVENT` and MySQL trigger syntax, and every one of
|
|
85
|
+
* them would have been rejected by SQL Server. Scheduling on this platform
|
|
86
|
+
* is SQL Server Agent, and history is a temporal table; until this driver
|
|
87
|
+
* implements them, claiming support only means the failure happens later
|
|
88
|
+
* and further from its cause.
|
|
89
|
+
*
|
|
90
|
+
* The dialect contract check is what surfaced this — it saw the shared
|
|
91
|
+
* MySQL event compiler answering for a driver whose dialect is `mssql`.
|
|
92
|
+
*/
|
|
93
|
+
events: false,
|
|
81
94
|
insertReturning: false,
|
|
82
95
|
// SCOPE_IDENTITY() reports the LAST identity generated in the scope, so a multi-row insert
|
|
83
96
|
// cannot be walked forwards from it. MSSQL opts out of the batch key backfill.
|
|
@@ -95,7 +108,7 @@ let MsSqlOrmDriver = class MsSqlOrmDriver extends SqlDriver {
|
|
|
95
108
|
}
|
|
96
109
|
async connect() {
|
|
97
110
|
try {
|
|
98
|
-
this._connectionPool =
|
|
111
|
+
this._connectionPool = await mssql.connect({
|
|
99
112
|
user: this.Options.User,
|
|
100
113
|
password: this.Options.Password,
|
|
101
114
|
database: this.Options.Database,
|
|
@@ -110,7 +123,7 @@ let MsSqlOrmDriver = class MsSqlOrmDriver extends SqlDriver {
|
|
|
110
123
|
idleTimeoutMillis: this.resolvedPoolOptions().IdleTimeout,
|
|
111
124
|
acquireTimeoutMillis: this.resolvedPoolOptions().AcquireTimeout,
|
|
112
125
|
},
|
|
113
|
-
})
|
|
126
|
+
});
|
|
114
127
|
await this.executeOnDb(`USE ${this.Options.Database}`, [], QueryContext.Schema);
|
|
115
128
|
return this;
|
|
116
129
|
}
|
|
@@ -141,6 +154,15 @@ let MsSqlOrmDriver = class MsSqlOrmDriver extends SqlDriver {
|
|
|
141
154
|
this.Container.register(MsSqlTableAliasCompiler).as(TableAliasCompiler);
|
|
142
155
|
this.Container.register(MsSqlDatetimeValueConverter).as(DatetimeValueConverter);
|
|
143
156
|
this.Container.register(MsSqlOnDuplicateQueryCompiler).as(OnDuplicateQueryCompiler);
|
|
157
|
+
this.Container.register(MsSqlInSetStatement).as(InSetStatement);
|
|
158
|
+
// Brackets, not the backticks this driver used to inherit from the shared layer.
|
|
159
|
+
this.Container.register(BracketIdentifierQuoter).as(IdentifierQuoter);
|
|
160
|
+
// `TRUNCATE TABLE` is valid T-SQL, so the shared compiler is claimed explicitly.
|
|
161
|
+
// `CHANGE COLUMN`, `ALTER TABLE ... RENAME TO`, `CREATE TABLE ... LIKE`,
|
|
162
|
+
// `WITH RECURSIVE` and `CURRENT_DATE()` are NOT T-SQL and are left unregistered:
|
|
163
|
+
// those features now fail with a DI error naming the abstraction instead of
|
|
164
|
+
// reaching SQL Server as MySQL syntax.
|
|
165
|
+
this.Container.register(SqlTruncateTableQueryCompiler).as(TruncateTableQueryCompiler);
|
|
144
166
|
}
|
|
145
167
|
async disconnect() {
|
|
146
168
|
if (this._connectionPool) {
|
package/lib/mjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,eAAe,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,YAAY,EAAgC,mBAAmB,EAAE,kBAAkB,EAA+F,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { IdentifierQuoter, InSetStatement, IQueryStatement, IQueryStatementResult } from '@spinajs/orm';
|
|
2
|
+
/**
|
|
3
|
+
* Membership test against a delimited `@Set()` column, MSSQL dialect.
|
|
4
|
+
*
|
|
5
|
+
* `CHARINDEX` over the column padded with delimiters on both sides — a value is a
|
|
6
|
+
* member exactly when `,value,` occurs inside `,col,`. MSSQL concatenates with `+`,
|
|
7
|
+
* not `||`, which is one of the reasons there is no single portable spelling of this
|
|
8
|
+
* query and every driver registers its own.
|
|
9
|
+
*
|
|
10
|
+
* `ISNULL` keeps a NULL column out of the result instead of propagating NULL.
|
|
11
|
+
*/
|
|
12
|
+
export declare class MsSqlInSetStatement extends InSetStatement {
|
|
13
|
+
Quoter: IdentifierQuoter;
|
|
14
|
+
build(): IQueryStatementResult;
|
|
15
|
+
clone(): IQueryStatement;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Bracket quoting — SQL Server's rule, escaping an embedded `]` by doubling it.
|
|
19
|
+
*
|
|
20
|
+
* This driver used to import the shared BACKTICK helper and emit `` `table` ``, which
|
|
21
|
+
* SQL Server does not accept, in every statement its own compilers did not replace.
|
|
22
|
+
* Quoting is a service now, so registering this is all it takes.
|
|
23
|
+
*/
|
|
24
|
+
export declare class BracketIdentifierQuoter extends IdentifierQuoter {
|
|
25
|
+
quote(name: string): string;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=statements.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"statements.d.ts","sourceRoot":"","sources":["../../src/statements.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,eAAe,EAAE,qBAAqB,EAAiB,MAAM,cAAc,CAAC;AAGvH;;;;;;;;;GASG;AACH,qBACa,mBAAoB,SAAQ,cAAc;IAE9C,MAAM,EAAE,gBAAgB,CAAC;IAEzB,KAAK,IAAI,qBAAqB;IAe9B,KAAK,IAAI,eAAe;CAQhC;AAED;;;;;;GAMG;AACH,qBACa,uBAAwB,SAAQ,gBAAgB;IACpD,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;CAGnC"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
var MsSqlInSetStatement_1;
|
|
11
|
+
import { Autoinject, NewInstance } from '@spinajs/di';
|
|
12
|
+
import { IdentifierQuoter, InSetStatement, SET_DELIMITER } from '@spinajs/orm';
|
|
13
|
+
import { _columnWrap } from '@spinajs/orm-sql';
|
|
14
|
+
/**
|
|
15
|
+
* Membership test against a delimited `@Set()` column, MSSQL dialect.
|
|
16
|
+
*
|
|
17
|
+
* `CHARINDEX` over the column padded with delimiters on both sides — a value is a
|
|
18
|
+
* member exactly when `,value,` occurs inside `,col,`. MSSQL concatenates with `+`,
|
|
19
|
+
* not `||`, which is one of the reasons there is no single portable spelling of this
|
|
20
|
+
* query and every driver registers its own.
|
|
21
|
+
*
|
|
22
|
+
* `ISNULL` keeps a NULL column out of the result instead of propagating NULL.
|
|
23
|
+
*/
|
|
24
|
+
let MsSqlInSetStatement = MsSqlInSetStatement_1 = class MsSqlInSetStatement extends InSetStatement {
|
|
25
|
+
build() {
|
|
26
|
+
const column = _columnWrap(this.Quoter, this._column, this._tableAlias);
|
|
27
|
+
const bindings = [];
|
|
28
|
+
const expressions = this.values().map((value) => {
|
|
29
|
+
bindings.push(`${SET_DELIMITER}${value}${SET_DELIMITER}`);
|
|
30
|
+
return `(CHARINDEX(?, '${SET_DELIMITER}' + ISNULL(${column}, '') + '${SET_DELIMITER}') > 0)`;
|
|
31
|
+
});
|
|
32
|
+
return {
|
|
33
|
+
Bindings: bindings,
|
|
34
|
+
Statements: [this.combine(expressions)],
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
clone() {
|
|
38
|
+
const clone = new MsSqlInSetStatement_1(this._column, this._val, this._not, this._tableAlias);
|
|
39
|
+
// a hand-constructed clone never goes through the container, so the injected
|
|
40
|
+
// quoter has to be carried over explicitly
|
|
41
|
+
clone.Quoter = this.Quoter;
|
|
42
|
+
return clone;
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
__decorate([
|
|
46
|
+
Autoinject(IdentifierQuoter),
|
|
47
|
+
__metadata("design:type", IdentifierQuoter)
|
|
48
|
+
], MsSqlInSetStatement.prototype, "Quoter", void 0);
|
|
49
|
+
MsSqlInSetStatement = MsSqlInSetStatement_1 = __decorate([
|
|
50
|
+
NewInstance()
|
|
51
|
+
], MsSqlInSetStatement);
|
|
52
|
+
export { MsSqlInSetStatement };
|
|
53
|
+
/**
|
|
54
|
+
* Bracket quoting — SQL Server's rule, escaping an embedded `]` by doubling it.
|
|
55
|
+
*
|
|
56
|
+
* This driver used to import the shared BACKTICK helper and emit `` `table` ``, which
|
|
57
|
+
* SQL Server does not accept, in every statement its own compilers did not replace.
|
|
58
|
+
* Quoting is a service now, so registering this is all it takes.
|
|
59
|
+
*/
|
|
60
|
+
let BracketIdentifierQuoter = class BracketIdentifierQuoter extends IdentifierQuoter {
|
|
61
|
+
quote(name) {
|
|
62
|
+
return '[' + String(name).replace(/]/g, ']]') + ']';
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
BracketIdentifierQuoter = __decorate([
|
|
66
|
+
NewInstance()
|
|
67
|
+
], BracketIdentifierQuoter);
|
|
68
|
+
export { BracketIdentifierQuoter };
|
|
69
|
+
//# sourceMappingURL=statements.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"statements.js","sourceRoot":"","sources":["../../src/statements.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAA0C,aAAa,EAAE,MAAM,cAAc,CAAC;AACvH,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C;;;;;;;;;GASG;AAEI,IAAM,mBAAmB,2BAAzB,MAAM,mBAAoB,SAAQ,cAAc;IAI9C,KAAK;QACV,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QACxE,MAAM,QAAQ,GAAa,EAAE,CAAC;QAE9B,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YAC9C,QAAQ,CAAC,IAAI,CAAC,GAAG,aAAa,GAAG,KAAK,GAAG,aAAa,EAAE,CAAC,CAAC;YAC1D,OAAO,kBAAkB,aAAa,cAAc,MAAM,YAAY,aAAa,SAAS,CAAC;QAC/F,CAAC,CAAC,CAAC;QAEH,OAAO;YACL,QAAQ,EAAE,QAAQ;YAClB,UAAU,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;SACxC,CAAC;IACJ,CAAC;IAEM,KAAK;QACV,MAAM,KAAK,GAAG,IAAI,qBAAmB,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,WAAY,CAAC,CAAC;QAC7F,6EAA6E;QAC7E,2CAA2C;QAC3C,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAE3B,OAAO,KAAK,CAAC;IACf,CAAC;CACF,CAAA;AAzBQ;IADN,UAAU,CAAC,gBAAgB,CAAC;8BACd,gBAAgB;mDAAC;AAFrB,mBAAmB;IAD/B,WAAW,EAAE;GACD,mBAAmB,CA2B/B;;AAED;;;;;;GAMG;AAEI,IAAM,uBAAuB,GAA7B,MAAM,uBAAwB,SAAQ,gBAAgB;IACpD,KAAK,CAAC,IAAY;QACvB,OAAO,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,GAAG,CAAC;IACtD,CAAC;CACF,CAAA;AAJY,uBAAuB;IADnC,WAAW,EAAE;GACD,uBAAuB,CAInC"}
|