mythik 0.1.2 → 0.1.3
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/README.md +47 -23
- package/dist/actions/dispatcher.d.ts.map +1 -1
- package/dist/actions/dispatcher.js +10 -0
- package/dist/actions/dispatcher.js.map +1 -1
- package/dist/expressions/handlers/let.d.ts +6 -0
- package/dist/expressions/handlers/let.d.ts.map +1 -1
- package/dist/expressions/handlers/let.js +29 -4
- package/dist/expressions/handlers/let.js.map +1 -1
- package/dist/expressions/handlers/template.d.ts.map +1 -1
- package/dist/expressions/handlers/template.js +2 -1
- package/dist/expressions/handlers/template.js.map +1 -1
- package/dist/security/api-spec-validator.d.ts.map +1 -1
- package/dist/security/api-spec-validator.js +4 -0
- package/dist/security/api-spec-validator.js.map +1 -1
- package/dist/security/spec-validator.d.ts.map +1 -1
- package/dist/security/spec-validator.js +43 -31
- package/dist/security/spec-validator.js.map +1 -1
- package/dist/server.d.ts +7 -0
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +3 -0
- package/dist/server.js.map +1 -1
- package/dist/spec-stores/sql-versioned.d.ts +38 -0
- package/dist/spec-stores/sql-versioned.d.ts.map +1 -0
- package/dist/spec-stores/sql-versioned.js +186 -0
- package/dist/spec-stores/sql-versioned.js.map +1 -0
- package/dist/spec-stores/sql.d.ts +21 -0
- package/dist/spec-stores/sql.d.ts.map +1 -0
- package/dist/spec-stores/sql.js +65 -0
- package/dist/spec-stores/sql.js.map +1 -0
- package/dist/spec-stores/sqlserver-versioned.d.ts +5 -30
- package/dist/spec-stores/sqlserver-versioned.d.ts.map +1 -1
- package/dist/spec-stores/sqlserver-versioned.js +16 -245
- package/dist/spec-stores/sqlserver-versioned.js.map +1 -1
- package/dist/spec-stores/sqlserver.d.ts +4 -11
- package/dist/spec-stores/sqlserver.d.ts.map +1 -1
- package/dist/spec-stores/sqlserver.js +16 -66
- package/dist/spec-stores/sqlserver.js.map +1 -1
- package/dist/sql/ddl.d.ts +7 -0
- package/dist/sql/ddl.d.ts.map +1 -0
- package/dist/sql/ddl.js +134 -0
- package/dist/sql/ddl.js.map +1 -0
- package/dist/sql/drivers/mysql.d.ts +25 -0
- package/dist/sql/drivers/mysql.d.ts.map +1 -0
- package/dist/sql/drivers/mysql.js +327 -0
- package/dist/sql/drivers/mysql.js.map +1 -0
- package/dist/sql/drivers/postgres.d.ts +30 -0
- package/dist/sql/drivers/postgres.d.ts.map +1 -0
- package/dist/sql/drivers/postgres.js +319 -0
- package/dist/sql/drivers/postgres.js.map +1 -0
- package/dist/sql/drivers/sqlite.d.ts +28 -0
- package/dist/sql/drivers/sqlite.d.ts.map +1 -0
- package/dist/sql/drivers/sqlite.js +367 -0
- package/dist/sql/drivers/sqlite.js.map +1 -0
- package/dist/sql/drivers/sqlserver.d.ts +46 -0
- package/dist/sql/drivers/sqlserver.d.ts.map +1 -0
- package/dist/sql/drivers/sqlserver.js +403 -0
- package/dist/sql/drivers/sqlserver.js.map +1 -0
- package/dist/sql/errors.d.ts +12 -0
- package/dist/sql/errors.d.ts.map +1 -0
- package/dist/sql/errors.js +13 -0
- package/dist/sql/errors.js.map +1 -0
- package/dist/sql/factory.d.ts +3 -0
- package/dist/sql/factory.d.ts.map +1 -0
- package/dist/sql/factory.js +24 -0
- package/dist/sql/factory.js.map +1 -0
- package/dist/sql/index.d.ts +17 -0
- package/dist/sql/index.d.ts.map +1 -0
- package/dist/sql/index.js +9 -0
- package/dist/sql/index.js.map +1 -0
- package/dist/sql/named-params.d.ts +8 -0
- package/dist/sql/named-params.d.ts.map +1 -0
- package/dist/sql/named-params.js +182 -0
- package/dist/sql/named-params.js.map +1 -0
- package/dist/sql/types.d.ts +49 -0
- package/dist/sql/types.d.ts.map +1 -0
- package/dist/sql/types.js +2 -0
- package/dist/sql/types.js.map +1 -0
- package/dist/types.d.ts +1 -1
- package/dist/types.d.ts.map +1 -1
- package/docs/consumer/README.md +1 -1
- package/docs/consumer/WHERE-TO-LOOK.md +4 -4
- package/docs/consumer/ai-context-api.md +44 -0
- package/docs/consumer/ai-context-runtime-semantics.md +12 -9
- package/docs/consumer/ai-context.md +124 -50
- package/docs/consumer/reference-doc.md +41 -24
- package/docs/wiki/compiled/README.md +1 -1
- package/docs/wiki/compiled/_lint.md +13 -8
- package/docs/wiki/compiled/concept-action-chains.md +62 -24
- package/docs/wiki/compiled/concept-package-layout.md +5 -3
- package/docs/wiki/compiled/concept-public-package-names.md +4 -2
- package/docs/wiki/compiled/concept-shape-animations.md +1 -1
- package/docs/wiki/compiled/concept-spec-stores-catalog.md +28 -16
- package/docs/wiki/compiled/concept-transactions.md +20 -12
- package/docs/wiki/compiled/expression-let-ref.md +36 -18
- package/docs/wiki/compiled/expression-template.md +28 -17
- package/package.json +7 -2
|
@@ -0,0 +1,403 @@
|
|
|
1
|
+
import { compileNamedParams as compileSqlNamedParams } from '../named-params.js';
|
|
2
|
+
import { SqlDriverError } from '../errors.js';
|
|
3
|
+
const SQLSERVER_CAPABILITIES = {
|
|
4
|
+
dialect: 'sqlserver',
|
|
5
|
+
namedParams: true,
|
|
6
|
+
positionalParams: false,
|
|
7
|
+
nativeJson: false,
|
|
8
|
+
nativeBoolean: false,
|
|
9
|
+
returning: true,
|
|
10
|
+
upsert: true,
|
|
11
|
+
transactions: true,
|
|
12
|
+
};
|
|
13
|
+
function isRecord(value) {
|
|
14
|
+
return typeof value === 'object' && value !== null && !Array.isArray(value);
|
|
15
|
+
}
|
|
16
|
+
function parseBoolean(value) {
|
|
17
|
+
if (value === null)
|
|
18
|
+
return undefined;
|
|
19
|
+
if (/^(true|1|yes)$/i.test(value))
|
|
20
|
+
return true;
|
|
21
|
+
if (/^(false|0|no)$/i.test(value))
|
|
22
|
+
return false;
|
|
23
|
+
return undefined;
|
|
24
|
+
}
|
|
25
|
+
function connectionConfig(connection) {
|
|
26
|
+
if (typeof connection !== 'string') {
|
|
27
|
+
return isRecord(connection) ? connection : {};
|
|
28
|
+
}
|
|
29
|
+
try {
|
|
30
|
+
const url = new URL(connection);
|
|
31
|
+
const database = decodeURIComponent(url.pathname.replace(/^\/+/, ''));
|
|
32
|
+
const port = url.port ? Number(url.port) : undefined;
|
|
33
|
+
const encrypt = parseBoolean(url.searchParams.get('encrypt'));
|
|
34
|
+
const trustServerCertificate = parseBoolean(url.searchParams.get('trustServerCertificate'));
|
|
35
|
+
const options = {};
|
|
36
|
+
if (encrypt !== undefined)
|
|
37
|
+
options.encrypt = encrypt;
|
|
38
|
+
if (trustServerCertificate !== undefined)
|
|
39
|
+
options.trustServerCertificate = trustServerCertificate;
|
|
40
|
+
return {
|
|
41
|
+
server: decodeURIComponent(url.hostname),
|
|
42
|
+
...(port !== undefined && Number.isFinite(port) ? { port } : {}),
|
|
43
|
+
...(database ? { database } : {}),
|
|
44
|
+
...(url.username ? { user: decodeURIComponent(url.username) } : {}),
|
|
45
|
+
...(url.password ? { password: decodeURIComponent(url.password) } : {}),
|
|
46
|
+
...(Object.keys(options).length > 0 ? { options } : {}),
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
catch {
|
|
50
|
+
return connection;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
function trimStatement(statement) {
|
|
54
|
+
return statement.trim().replace(/;\s*$/, '');
|
|
55
|
+
}
|
|
56
|
+
function hasOrderBy(statement) {
|
|
57
|
+
return /\border\s+by\b/i.test(statement);
|
|
58
|
+
}
|
|
59
|
+
function stripTrailingOrderBy(statement) {
|
|
60
|
+
return trimStatement(statement).replace(/\s+order\s+by\s+[\s\S]+$/i, '').trim();
|
|
61
|
+
}
|
|
62
|
+
function whereClause(where) {
|
|
63
|
+
const sql = trimStatement(where.sql);
|
|
64
|
+
return /^where\b/i.test(sql) ? sql : `WHERE ${sql}`;
|
|
65
|
+
}
|
|
66
|
+
function requireIdentifier(identifier) {
|
|
67
|
+
if (identifier.trim() === '') {
|
|
68
|
+
throw new SqlDriverError('SQL identifier cannot be empty.', {
|
|
69
|
+
code: 'SQL_IDENTIFIER_INVALID',
|
|
70
|
+
dialect: 'sqlserver',
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
return identifier;
|
|
74
|
+
}
|
|
75
|
+
function normalizeModule(mod) {
|
|
76
|
+
return mod.default ?? mod;
|
|
77
|
+
}
|
|
78
|
+
async function loadMssqlModule() {
|
|
79
|
+
try {
|
|
80
|
+
return (await import('mssql'));
|
|
81
|
+
}
|
|
82
|
+
catch (error) {
|
|
83
|
+
throw new SqlDriverError('SQL Server support requires the optional dependency "mssql".', {
|
|
84
|
+
code: 'SQL_DRIVER_DEPENDENCY_MISSING',
|
|
85
|
+
dialect: 'sqlserver',
|
|
86
|
+
cause: error,
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
function normalizeStatement(statement, params) {
|
|
91
|
+
const source = typeof statement === 'string' ? { sql: statement, params } : statement;
|
|
92
|
+
if (source.params === undefined)
|
|
93
|
+
return source;
|
|
94
|
+
if (!isRecord(source.params)) {
|
|
95
|
+
throw new SqlDriverError('SQL Server driver requires named object params.', {
|
|
96
|
+
code: 'SQL_PARAMS_INVALID',
|
|
97
|
+
dialect: 'sqlserver',
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
return compileSqlNamedParams('sqlserver', source.sql, source.params);
|
|
101
|
+
}
|
|
102
|
+
function normalizeValue(value) {
|
|
103
|
+
if (value === undefined)
|
|
104
|
+
return null;
|
|
105
|
+
if (value instanceof Date)
|
|
106
|
+
return value;
|
|
107
|
+
if (value === null)
|
|
108
|
+
return null;
|
|
109
|
+
if (Buffer.isBuffer(value))
|
|
110
|
+
return value;
|
|
111
|
+
if (typeof value === 'object')
|
|
112
|
+
return JSON.stringify(value);
|
|
113
|
+
return value;
|
|
114
|
+
}
|
|
115
|
+
function sqlTypeFor(value, mssql) {
|
|
116
|
+
if (typeof value === 'boolean')
|
|
117
|
+
return mssql.Bit ?? mssql.NVarChar(mssql.MAX);
|
|
118
|
+
if (typeof value === 'bigint')
|
|
119
|
+
return mssql.BigInt ?? mssql.NVarChar(mssql.MAX);
|
|
120
|
+
if (typeof value === 'number')
|
|
121
|
+
return Number.isInteger(value) ? (mssql.Int ?? mssql.NVarChar(mssql.MAX)) : (mssql.Float ?? mssql.NVarChar(mssql.MAX));
|
|
122
|
+
if (value instanceof Date)
|
|
123
|
+
return mssql.DateTime2 ?? mssql.NVarChar(mssql.MAX);
|
|
124
|
+
return mssql.NVarChar(mssql.MAX);
|
|
125
|
+
}
|
|
126
|
+
function bindParams(request, mssql, params) {
|
|
127
|
+
if (params === undefined)
|
|
128
|
+
return request;
|
|
129
|
+
if (Array.isArray(params)) {
|
|
130
|
+
throw new SqlDriverError('SQL Server driver requires named object params.', {
|
|
131
|
+
code: 'SQL_PARAMS_INVALID',
|
|
132
|
+
dialect: 'sqlserver',
|
|
133
|
+
});
|
|
134
|
+
}
|
|
135
|
+
for (const [name, value] of Object.entries(params)) {
|
|
136
|
+
request.input(name, sqlTypeFor(value, mssql), normalizeValue(value));
|
|
137
|
+
}
|
|
138
|
+
return request;
|
|
139
|
+
}
|
|
140
|
+
function requireObjectParams(statement, purpose) {
|
|
141
|
+
if (statement.params === undefined)
|
|
142
|
+
return {};
|
|
143
|
+
if (!isRecord(statement.params)) {
|
|
144
|
+
throw new SqlDriverError(`${purpose} requires named object params.`, {
|
|
145
|
+
code: 'SQL_PARAMS_INVALID',
|
|
146
|
+
dialect: 'sqlserver',
|
|
147
|
+
});
|
|
148
|
+
}
|
|
149
|
+
return statement.params;
|
|
150
|
+
}
|
|
151
|
+
function uniqueParamName(base, used) {
|
|
152
|
+
const safeBase = base.replace(/[^A-Za-z0-9_]/g, '_').replace(/^[^A-Za-z_]+/, '') || 'value';
|
|
153
|
+
let name = safeBase;
|
|
154
|
+
let suffix = 1;
|
|
155
|
+
while (used.has(name)) {
|
|
156
|
+
suffix += 1;
|
|
157
|
+
name = `${safeBase}_${suffix}`;
|
|
158
|
+
}
|
|
159
|
+
used.add(name);
|
|
160
|
+
return name;
|
|
161
|
+
}
|
|
162
|
+
function affectedRows(rowsAffected) {
|
|
163
|
+
return rowsAffected?.reduce((sum, current) => sum + current, 0) ?? 0;
|
|
164
|
+
}
|
|
165
|
+
function insertIdFromRows(rows) {
|
|
166
|
+
const first = rows[0];
|
|
167
|
+
if (first && Object.prototype.hasOwnProperty.call(first, 'id'))
|
|
168
|
+
return first.id;
|
|
169
|
+
return undefined;
|
|
170
|
+
}
|
|
171
|
+
export function createSqlServerDriver(config, deps = {}) {
|
|
172
|
+
let mssqlModule;
|
|
173
|
+
let connection;
|
|
174
|
+
const loadMssql = deps.loadMssql ?? loadMssqlModule;
|
|
175
|
+
function mapError(error, code = 'SQL_DRIVER_QUERY_FAILED') {
|
|
176
|
+
if (error instanceof SqlDriverError)
|
|
177
|
+
return error;
|
|
178
|
+
return new SqlDriverError(error instanceof Error ? error.message : 'SQL Server driver error.', {
|
|
179
|
+
code,
|
|
180
|
+
dialect: 'sqlserver',
|
|
181
|
+
cause: error,
|
|
182
|
+
});
|
|
183
|
+
}
|
|
184
|
+
async function mssql() {
|
|
185
|
+
if (mssqlModule)
|
|
186
|
+
return mssqlModule;
|
|
187
|
+
try {
|
|
188
|
+
mssqlModule = normalizeModule(await loadMssql());
|
|
189
|
+
return mssqlModule;
|
|
190
|
+
}
|
|
191
|
+
catch (error) {
|
|
192
|
+
if (error instanceof SqlDriverError)
|
|
193
|
+
throw error;
|
|
194
|
+
throw new SqlDriverError('SQL Server support requires the optional dependency "mssql".', {
|
|
195
|
+
code: 'SQL_DRIVER_DEPENDENCY_MISSING',
|
|
196
|
+
dialect: 'sqlserver',
|
|
197
|
+
cause: error,
|
|
198
|
+
});
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
async function pool() {
|
|
202
|
+
if (connection)
|
|
203
|
+
return connection;
|
|
204
|
+
const sql = await mssql();
|
|
205
|
+
connection = await new sql.ConnectionPool(connectionConfig(config.connection)).connect();
|
|
206
|
+
return connection;
|
|
207
|
+
}
|
|
208
|
+
async function runQuery(source, statement, params) {
|
|
209
|
+
const sql = await mssql();
|
|
210
|
+
const normalized = normalizeStatement(statement, params);
|
|
211
|
+
const requestSource = source ?? (await pool());
|
|
212
|
+
const request = bindParams(requestSource.request(), sql, normalized.params);
|
|
213
|
+
const result = await request.query(normalized.sql);
|
|
214
|
+
return (result.recordset ?? []);
|
|
215
|
+
}
|
|
216
|
+
async function runExec(source, statement, params) {
|
|
217
|
+
const sql = await mssql();
|
|
218
|
+
const normalized = normalizeStatement(statement, params);
|
|
219
|
+
const requestSource = source ?? (await pool());
|
|
220
|
+
const request = bindParams(requestSource.request(), sql, normalized.params);
|
|
221
|
+
const result = await request.query(normalized.sql);
|
|
222
|
+
const rows = (result.recordset ?? []);
|
|
223
|
+
return {
|
|
224
|
+
rows,
|
|
225
|
+
affectedRows: affectedRows(result.rowsAffected),
|
|
226
|
+
insertId: insertIdFromRows(rows),
|
|
227
|
+
};
|
|
228
|
+
}
|
|
229
|
+
const driver = {
|
|
230
|
+
dialect: 'sqlserver',
|
|
231
|
+
capabilities: SQLSERVER_CAPABILITIES,
|
|
232
|
+
async connect() {
|
|
233
|
+
await pool();
|
|
234
|
+
},
|
|
235
|
+
async close() {
|
|
236
|
+
await connection?.close();
|
|
237
|
+
connection = undefined;
|
|
238
|
+
},
|
|
239
|
+
async query(statement, params) {
|
|
240
|
+
try {
|
|
241
|
+
return await runQuery(undefined, statement, params);
|
|
242
|
+
}
|
|
243
|
+
catch (error) {
|
|
244
|
+
throw mapError(error);
|
|
245
|
+
}
|
|
246
|
+
},
|
|
247
|
+
async exec(statement, params) {
|
|
248
|
+
try {
|
|
249
|
+
return await runExec(undefined, statement, params);
|
|
250
|
+
}
|
|
251
|
+
catch (error) {
|
|
252
|
+
throw mapError(error);
|
|
253
|
+
}
|
|
254
|
+
},
|
|
255
|
+
async transaction(run) {
|
|
256
|
+
const sql = await mssql();
|
|
257
|
+
const currentPool = await pool();
|
|
258
|
+
if (!sql.Transaction) {
|
|
259
|
+
throw new SqlDriverError('SQL Server transaction support requires the mssql Transaction API.', {
|
|
260
|
+
code: 'SQL_TRANSACTION_UNAVAILABLE',
|
|
261
|
+
dialect: 'sqlserver',
|
|
262
|
+
});
|
|
263
|
+
}
|
|
264
|
+
const tx = new sql.Transaction(currentPool);
|
|
265
|
+
await tx.begin();
|
|
266
|
+
try {
|
|
267
|
+
const result = await run({
|
|
268
|
+
query: (statement, params) => runQuery(tx, statement, params),
|
|
269
|
+
exec: (statement, params) => runExec(tx, statement, params),
|
|
270
|
+
});
|
|
271
|
+
await tx.commit();
|
|
272
|
+
return result;
|
|
273
|
+
}
|
|
274
|
+
catch (error) {
|
|
275
|
+
await tx.rollback();
|
|
276
|
+
throw error;
|
|
277
|
+
}
|
|
278
|
+
},
|
|
279
|
+
quoteIdent(identifier) {
|
|
280
|
+
return `[${requireIdentifier(identifier).replace(/]/g, ']]')}]`;
|
|
281
|
+
},
|
|
282
|
+
quoteQualified(...identifiers) {
|
|
283
|
+
return identifiers.map((identifier) => driver.quoteIdent(identifier)).join('.');
|
|
284
|
+
},
|
|
285
|
+
compileNamedParams(statement, params) {
|
|
286
|
+
return compileSqlNamedParams('sqlserver', statement, params);
|
|
287
|
+
},
|
|
288
|
+
paginate(statement, limit, offset) {
|
|
289
|
+
const cleanLimit = Math.trunc(limit);
|
|
290
|
+
const cleanOffset = Math.trunc(offset);
|
|
291
|
+
if (!Number.isFinite(cleanLimit) || cleanLimit < 0 || !Number.isFinite(cleanOffset) || cleanOffset < 0) {
|
|
292
|
+
throw new SqlDriverError('SQL Server pagination limit and offset must be finite non-negative numbers.', {
|
|
293
|
+
code: 'SQL_PAGINATION_INVALID',
|
|
294
|
+
dialect: 'sqlserver',
|
|
295
|
+
});
|
|
296
|
+
}
|
|
297
|
+
const base = trimStatement(statement);
|
|
298
|
+
const ordered = hasOrderBy(base) ? base : `${base} ORDER BY (SELECT 0)`;
|
|
299
|
+
return `${ordered} OFFSET ${cleanOffset} ROWS FETCH NEXT ${cleanLimit} ROWS ONLY`;
|
|
300
|
+
},
|
|
301
|
+
countQuery(statement) {
|
|
302
|
+
return `SELECT COUNT(*) AS total FROM (${stripTrailingOrderBy(statement)}) AS [mythik_count]`;
|
|
303
|
+
},
|
|
304
|
+
totalsQuery(statement) {
|
|
305
|
+
return `SELECT * FROM (${stripTrailingOrderBy(statement)}) AS [mythik_totals]`;
|
|
306
|
+
},
|
|
307
|
+
buildInsertReturning(table, values, returning = ['*']) {
|
|
308
|
+
const columns = Object.keys(values);
|
|
309
|
+
if (columns.length === 0) {
|
|
310
|
+
throw new SqlDriverError('SQL Server insert requires at least one value.', {
|
|
311
|
+
code: 'SQL_VALUES_EMPTY',
|
|
312
|
+
dialect: 'sqlserver',
|
|
313
|
+
});
|
|
314
|
+
}
|
|
315
|
+
const used = new Set();
|
|
316
|
+
const params = {};
|
|
317
|
+
const placeholders = columns.map((column) => {
|
|
318
|
+
const name = uniqueParamName(column, used);
|
|
319
|
+
params[name] = values[column];
|
|
320
|
+
return `@${name}`;
|
|
321
|
+
});
|
|
322
|
+
const projection = returning.includes('*')
|
|
323
|
+
? 'INSERTED.*'
|
|
324
|
+
: returning.map((column) => `INSERTED.${driver.quoteIdent(column)}`).join(', ');
|
|
325
|
+
return {
|
|
326
|
+
sql: `INSERT INTO ${driver.quoteIdent(table)} (${columns.map((column) => driver.quoteIdent(column)).join(', ')}) OUTPUT ${projection} VALUES (${placeholders.join(', ')})`,
|
|
327
|
+
params,
|
|
328
|
+
};
|
|
329
|
+
},
|
|
330
|
+
buildUpdateReturning(table, values, where, returning = ['*']) {
|
|
331
|
+
const columns = Object.keys(values);
|
|
332
|
+
if (columns.length === 0) {
|
|
333
|
+
throw new SqlDriverError('SQL Server update requires at least one value.', {
|
|
334
|
+
code: 'SQL_VALUES_EMPTY',
|
|
335
|
+
dialect: 'sqlserver',
|
|
336
|
+
});
|
|
337
|
+
}
|
|
338
|
+
const params = { ...requireObjectParams(where, 'SQL Server update') };
|
|
339
|
+
const used = new Set(Object.keys(params));
|
|
340
|
+
const assignments = columns.map((column) => {
|
|
341
|
+
const name = uniqueParamName(`set_${column}`, used);
|
|
342
|
+
params[name] = values[column];
|
|
343
|
+
return `${driver.quoteIdent(column)} = @${name}`;
|
|
344
|
+
});
|
|
345
|
+
const projection = returning.includes('*')
|
|
346
|
+
? 'INSERTED.*'
|
|
347
|
+
: returning.map((column) => `INSERTED.${driver.quoteIdent(column)}`).join(', ');
|
|
348
|
+
return {
|
|
349
|
+
sql: `UPDATE ${driver.quoteIdent(table)} SET ${assignments.join(', ')} OUTPUT ${projection} ${whereClause(where)}`,
|
|
350
|
+
params,
|
|
351
|
+
};
|
|
352
|
+
},
|
|
353
|
+
buildDelete(table, where) {
|
|
354
|
+
return {
|
|
355
|
+
sql: `DELETE FROM ${driver.quoteIdent(table)} ${whereClause(where)}`,
|
|
356
|
+
params: where.params,
|
|
357
|
+
};
|
|
358
|
+
},
|
|
359
|
+
buildUpsert(table, values, keys) {
|
|
360
|
+
const columns = Object.keys(values);
|
|
361
|
+
if (columns.length === 0) {
|
|
362
|
+
throw new SqlDriverError('SQL Server upsert requires at least one value.', {
|
|
363
|
+
code: 'SQL_VALUES_EMPTY',
|
|
364
|
+
dialect: 'sqlserver',
|
|
365
|
+
});
|
|
366
|
+
}
|
|
367
|
+
if (keys.length === 0) {
|
|
368
|
+
throw new SqlDriverError('SQL Server upsert requires at least one conflict key.', {
|
|
369
|
+
code: 'SQL_KEYS_EMPTY',
|
|
370
|
+
dialect: 'sqlserver',
|
|
371
|
+
});
|
|
372
|
+
}
|
|
373
|
+
const used = new Set();
|
|
374
|
+
const params = {};
|
|
375
|
+
const sourceColumns = columns.map((column) => {
|
|
376
|
+
const name = uniqueParamName(column, used);
|
|
377
|
+
params[name] = values[column];
|
|
378
|
+
return `@${name} AS ${driver.quoteIdent(column)}`;
|
|
379
|
+
});
|
|
380
|
+
const onClause = keys
|
|
381
|
+
.map((key) => `target.${driver.quoteIdent(key)} = source.${driver.quoteIdent(key)}`)
|
|
382
|
+
.join(' AND ');
|
|
383
|
+
const updateColumns = columns.filter((column) => !keys.includes(column));
|
|
384
|
+
const updateClause = updateColumns.length === 0
|
|
385
|
+
? ''
|
|
386
|
+
: `WHEN MATCHED THEN UPDATE SET ${updateColumns
|
|
387
|
+
.map((column) => `target.${driver.quoteIdent(column)} = source.${driver.quoteIdent(column)}`)
|
|
388
|
+
.join(', ')}`;
|
|
389
|
+
return {
|
|
390
|
+
sql: `MERGE ${driver.quoteIdent(table)} AS target USING (SELECT ${sourceColumns.join(', ')}) AS source ON ${onClause} ${updateClause} WHEN NOT MATCHED THEN INSERT (${columns.map((column) => driver.quoteIdent(column)).join(', ')}) VALUES (${columns.map((column) => `source.${driver.quoteIdent(column)}`).join(', ')}) OUTPUT INSERTED.*;`,
|
|
391
|
+
params,
|
|
392
|
+
};
|
|
393
|
+
},
|
|
394
|
+
async tableExists(table) {
|
|
395
|
+
const [schema, name] = table.includes('.') ? table.split('.', 2) : ['dbo', table];
|
|
396
|
+
const rows = await driver.query(`SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = @schema AND TABLE_NAME = @name`, { schema, name });
|
|
397
|
+
return rows.length > 0;
|
|
398
|
+
},
|
|
399
|
+
mapError,
|
|
400
|
+
};
|
|
401
|
+
return driver;
|
|
402
|
+
}
|
|
403
|
+
//# sourceMappingURL=sqlserver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sqlserver.js","sourceRoot":"","sources":["../../../src/sql/drivers/sqlserver.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export interface SqlDriverErrorOptions {
|
|
2
|
+
code: string;
|
|
3
|
+
dialect?: string;
|
|
4
|
+
cause?: unknown;
|
|
5
|
+
}
|
|
6
|
+
export declare class SqlDriverError extends Error {
|
|
7
|
+
readonly code: string;
|
|
8
|
+
readonly dialect?: string;
|
|
9
|
+
readonly cause?: unknown;
|
|
10
|
+
constructor(message: string, options: SqlDriverErrorOptions);
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/sql/errors.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,qBAAa,cAAe,SAAQ,KAAK;IACvC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,SAAkB,KAAK,CAAC,EAAE,OAAO,CAAC;gBAEtB,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,qBAAqB;CAO5D"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export class SqlDriverError extends Error {
|
|
2
|
+
code;
|
|
3
|
+
dialect;
|
|
4
|
+
cause;
|
|
5
|
+
constructor(message, options) {
|
|
6
|
+
super(message);
|
|
7
|
+
this.name = 'SqlDriverError';
|
|
8
|
+
this.code = options.code;
|
|
9
|
+
this.dialect = options.dialect;
|
|
10
|
+
this.cause = options.cause;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/sql/errors.ts"],"names":[],"mappings":"AAMA,MAAM,OAAO,cAAe,SAAQ,KAAK;IAC9B,IAAI,CAAS;IACb,OAAO,CAAU;IACR,KAAK,CAAW;IAElC,YAAY,OAAe,EAAE,OAA8B;QACzD,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;QAC7B,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAC7B,CAAC;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../src/sql/factory.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7D,wBAAgB,eAAe,CAAC,MAAM,EAAE,eAAe,GAAG,SAAS,CAqBlE"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { createMysqlDriver } from './drivers/mysql.js';
|
|
2
|
+
import { createPostgresDriver } from './drivers/postgres.js';
|
|
3
|
+
import { createSqliteDriver } from './drivers/sqlite.js';
|
|
4
|
+
import { createSqlServerDriver } from './drivers/sqlserver.js';
|
|
5
|
+
import { SqlDriverError } from './errors.js';
|
|
6
|
+
export function createSqlDriver(config) {
|
|
7
|
+
if (config.dialect === 'sqlite') {
|
|
8
|
+
return createSqliteDriver(config);
|
|
9
|
+
}
|
|
10
|
+
if (config.dialect === 'sqlserver') {
|
|
11
|
+
return createSqlServerDriver(config);
|
|
12
|
+
}
|
|
13
|
+
if (config.dialect === 'postgres') {
|
|
14
|
+
return createPostgresDriver(config);
|
|
15
|
+
}
|
|
16
|
+
if (config.dialect === 'mysql') {
|
|
17
|
+
return createMysqlDriver(config);
|
|
18
|
+
}
|
|
19
|
+
throw new SqlDriverError(`SQL driver "${String(config.dialect)}" is not implemented yet.`, {
|
|
20
|
+
code: 'SQL_DRIVER_NOT_IMPLEMENTED',
|
|
21
|
+
dialect: config.dialect,
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=factory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"factory.js","sourceRoot":"","sources":["../../src/sql/factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAG7C,MAAM,UAAU,eAAe,CAAC,MAAuB;IACrD,IAAI,MAAM,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QAChC,OAAO,kBAAkB,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC;IAED,IAAI,MAAM,CAAC,OAAO,KAAK,WAAW,EAAE,CAAC;QACnC,OAAO,qBAAqB,CAAC,MAAM,CAAC,CAAC;IACvC,CAAC;IAED,IAAI,MAAM,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;QAClC,OAAO,oBAAoB,CAAC,MAAM,CAAC,CAAC;IACtC,CAAC;IAED,IAAI,MAAM,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;QAC/B,OAAO,iBAAiB,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC;IAED,MAAM,IAAI,cAAc,CAAC,eAAe,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,2BAA2B,EAAE;QACzF,IAAI,EAAE,4BAA4B;QAClC,OAAO,EAAE,MAAM,CAAC,OAAO;KACxB,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export { SqlDriverError } from './errors.js';
|
|
2
|
+
export type { SqlDriverErrorOptions } from './errors.js';
|
|
3
|
+
export { getSqlStoreDdl, SQL_STORE_DDL } from './ddl.js';
|
|
4
|
+
export type { SqlStoreTable } from './ddl.js';
|
|
5
|
+
export { createSqlDriver } from './factory.js';
|
|
6
|
+
export { createMysqlDriver } from './drivers/mysql.js';
|
|
7
|
+
export type { MysqlDriverDeps } from './drivers/mysql.js';
|
|
8
|
+
export { createPostgresDriver } from './drivers/postgres.js';
|
|
9
|
+
export type { PostgresDriverDeps } from './drivers/postgres.js';
|
|
10
|
+
export { createSqliteDriver } from './drivers/sqlite.js';
|
|
11
|
+
export type { SqliteDriverDeps } from './drivers/sqlite.js';
|
|
12
|
+
export { createSqlServerDriver } from './drivers/sqlserver.js';
|
|
13
|
+
export type { SqlServerDriverDeps } from './drivers/sqlserver.js';
|
|
14
|
+
export { compileNamedParams } from './named-params.js';
|
|
15
|
+
export type { CompiledNamedParams } from './named-params.js';
|
|
16
|
+
export type { SqlCapabilities, SqlDialect, SqlDriver, SqlDriverConfig, SqlMutationResult, SqlParams, SqlStatement, SqlTransaction, } from './types.js';
|
|
17
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/sql/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,YAAY,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzD,YAAY,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,YAAY,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,YAAY,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,YAAY,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,YAAY,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,YAAY,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,YAAY,EACV,eAAe,EACf,UAAU,EACV,SAAS,EACT,eAAe,EACf,iBAAiB,EACjB,SAAS,EACT,YAAY,EACZ,cAAc,GACf,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export { SqlDriverError } from './errors.js';
|
|
2
|
+
export { getSqlStoreDdl, SQL_STORE_DDL } from './ddl.js';
|
|
3
|
+
export { createSqlDriver } from './factory.js';
|
|
4
|
+
export { createMysqlDriver } from './drivers/mysql.js';
|
|
5
|
+
export { createPostgresDriver } from './drivers/postgres.js';
|
|
6
|
+
export { createSqliteDriver } from './drivers/sqlite.js';
|
|
7
|
+
export { createSqlServerDriver } from './drivers/sqlserver.js';
|
|
8
|
+
export { compileNamedParams } from './named-params.js';
|
|
9
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/sql/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAE7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAEzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { SqlDialect, SqlStatement } from './types.js';
|
|
2
|
+
type CompiledParams = Record<string, unknown> | unknown[];
|
|
3
|
+
export interface CompiledNamedParams extends SqlStatement {
|
|
4
|
+
params: CompiledParams;
|
|
5
|
+
}
|
|
6
|
+
export declare function compileNamedParams(dialect: SqlDialect, sql: string, params: Record<string, unknown>): CompiledNamedParams;
|
|
7
|
+
export {};
|
|
8
|
+
//# sourceMappingURL=named-params.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"named-params.d.ts","sourceRoot":"","sources":["../../src/sql/named-params.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE3D,KAAK,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,EAAE,CAAC;AAE1D,MAAM,WAAW,mBAAoB,SAAQ,YAAY;IACvD,MAAM,EAAE,cAAc,CAAC;CACxB;AAoBD,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,UAAU,EACnB,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,mBAAmB,CA6KrB"}
|