metal-orm 1.0.27 → 1.0.29
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/dist/index.cjs +69 -0
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +39 -1
- package/dist/index.d.ts +39 -1
- package/dist/index.js +67 -0
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -98,6 +98,8 @@ __export(index_exports, {
|
|
|
98
98
|
createPostgresExecutor: () => createPostgresExecutor,
|
|
99
99
|
createQueryLoggingExecutor: () => createQueryLoggingExecutor,
|
|
100
100
|
createSqliteExecutor: () => createSqliteExecutor,
|
|
101
|
+
createTediousExecutor: () => createTediousExecutor,
|
|
102
|
+
createTediousMssqlClient: () => createTediousMssqlClient,
|
|
101
103
|
currentDate: () => currentDate,
|
|
102
104
|
currentTime: () => currentTime,
|
|
103
105
|
dateAdd: () => dateAdd,
|
|
@@ -7662,6 +7664,71 @@ function createMssqlExecutor(client) {
|
|
|
7662
7664
|
}
|
|
7663
7665
|
};
|
|
7664
7666
|
}
|
|
7667
|
+
var defaultInferType = (value, TYPES) => {
|
|
7668
|
+
if (value === null || value === void 0) return TYPES.NVarChar;
|
|
7669
|
+
if (typeof value === "number") {
|
|
7670
|
+
return Number.isInteger(value) ? TYPES.Int : TYPES.Float;
|
|
7671
|
+
}
|
|
7672
|
+
if (typeof value === "bigint") return TYPES.BigInt;
|
|
7673
|
+
if (typeof value === "boolean") return TYPES.Bit;
|
|
7674
|
+
if (value instanceof Date) return TYPES.DateTime;
|
|
7675
|
+
if (typeof Buffer !== "undefined" && Buffer.isBuffer(value)) {
|
|
7676
|
+
return TYPES.VarBinary;
|
|
7677
|
+
}
|
|
7678
|
+
return TYPES.NVarChar;
|
|
7679
|
+
};
|
|
7680
|
+
function createTediousMssqlClient(connection, { Request, TYPES }, options) {
|
|
7681
|
+
const inferType = options?.inferType ?? defaultInferType;
|
|
7682
|
+
return {
|
|
7683
|
+
async query(sql, params = []) {
|
|
7684
|
+
const rows = await new Promise(
|
|
7685
|
+
(resolve, reject) => {
|
|
7686
|
+
const collected = [];
|
|
7687
|
+
const request = new Request(sql, (err) => {
|
|
7688
|
+
if (err) return reject(err);
|
|
7689
|
+
resolve(collected);
|
|
7690
|
+
});
|
|
7691
|
+
params.forEach((value, idx) => {
|
|
7692
|
+
const sqlType = inferType(value, TYPES);
|
|
7693
|
+
request.addParameter(
|
|
7694
|
+
`p${idx + 1}`,
|
|
7695
|
+
sqlType,
|
|
7696
|
+
value
|
|
7697
|
+
);
|
|
7698
|
+
});
|
|
7699
|
+
request.on("row", (cols) => {
|
|
7700
|
+
const row = {};
|
|
7701
|
+
for (const col2 of cols) {
|
|
7702
|
+
row[col2.metadata.colName] = col2.value;
|
|
7703
|
+
}
|
|
7704
|
+
collected.push(row);
|
|
7705
|
+
});
|
|
7706
|
+
connection.execSql(request);
|
|
7707
|
+
}
|
|
7708
|
+
);
|
|
7709
|
+
return { recordset: rows };
|
|
7710
|
+
},
|
|
7711
|
+
beginTransaction: connection.beginTransaction ? () => new Promise((resolve, reject) => {
|
|
7712
|
+
connection.beginTransaction(
|
|
7713
|
+
(err) => err ? reject(err) : resolve()
|
|
7714
|
+
);
|
|
7715
|
+
}) : void 0,
|
|
7716
|
+
commit: connection.commitTransaction ? () => new Promise((resolve, reject) => {
|
|
7717
|
+
connection.commitTransaction(
|
|
7718
|
+
(err) => err ? reject(err) : resolve()
|
|
7719
|
+
);
|
|
7720
|
+
}) : void 0,
|
|
7721
|
+
rollback: connection.rollbackTransaction ? () => new Promise((resolve, reject) => {
|
|
7722
|
+
connection.rollbackTransaction(
|
|
7723
|
+
(err) => err ? reject(err) : resolve()
|
|
7724
|
+
);
|
|
7725
|
+
}) : void 0
|
|
7726
|
+
};
|
|
7727
|
+
}
|
|
7728
|
+
function createTediousExecutor(connection, module2, options) {
|
|
7729
|
+
const client = createTediousMssqlClient(connection, module2, options);
|
|
7730
|
+
return createMssqlExecutor(client);
|
|
7731
|
+
}
|
|
7665
7732
|
// Annotate the CommonJS export names for ESM import in node:
|
|
7666
7733
|
0 && (module.exports = {
|
|
7667
7734
|
AsyncLocalStorage,
|
|
@@ -7719,6 +7786,8 @@ function createMssqlExecutor(client) {
|
|
|
7719
7786
|
createPostgresExecutor,
|
|
7720
7787
|
createQueryLoggingExecutor,
|
|
7721
7788
|
createSqliteExecutor,
|
|
7789
|
+
createTediousExecutor,
|
|
7790
|
+
createTediousMssqlClient,
|
|
7722
7791
|
currentDate,
|
|
7723
7792
|
currentTime,
|
|
7724
7793
|
dateAdd,
|