forge-sql-orm 2.0.28 → 2.0.30

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.
@@ -1,23 +1,26 @@
1
1
  import { isTable, sql, eq, and } from "drizzle-orm";
2
- import moment from "moment";
2
+ import { DateTime } from "luxon";
3
3
  import { isSQLWrapper } from "drizzle-orm/sql/sql";
4
4
  import { sql as sql$1, migrationRunner } from "@forge/sql";
5
5
  import { drizzle } from "drizzle-orm/mysql-proxy";
6
6
  import { customType, mysqlTable, timestamp, varchar, bigint } from "drizzle-orm/mysql-core";
7
- import moment$1 from "moment/moment.js";
8
7
  import { getTableName } from "drizzle-orm/table";
9
8
  const parseDateTime = (value, format) => {
10
9
  let result;
11
- const m = moment(value, format, true);
12
- if (!m.isValid()) {
13
- const momentDate = moment(value);
14
- if (momentDate.isValid()) {
15
- result = momentDate.toDate();
10
+ if (value instanceof Date) {
11
+ result = value;
12
+ } else {
13
+ const dt = DateTime.fromFormat(value, format);
14
+ if (dt.isValid) {
15
+ result = dt.toJSDate();
16
16
  } else {
17
- result = new Date(value);
17
+ const isoDt = DateTime.fromISO(value);
18
+ if (isoDt.isValid) {
19
+ result = isoDt.toJSDate();
20
+ } else {
21
+ result = new Date(value);
22
+ }
18
23
  }
19
- } else {
20
- result = m.toDate();
21
24
  }
22
25
  if (isNaN(result.getTime())) {
23
26
  result = new Date(value);
@@ -908,7 +911,7 @@ class ForgeSQLAnalyseOperation {
908
911
  * @returns {string} The SQL query for cluster statement history
909
912
  */
910
913
  buildClusterStatementQuery(tables, from, to) {
911
- const formatDateTime = (date) => moment(date).format("YYYY-MM-DDTHH:mm:ss.SSS");
914
+ const formatDateTime = (date) => DateTime.fromJSDate(date).toFormat("yyyy-LL-dd'T'HH:mm:ss.SSS");
912
915
  const tableConditions = tables.map((table) => `TABLE_NAMES LIKE CONCAT(SCHEMA_NAME, '.', '%', '${table}', '%')`).join(" OR ");
913
916
  const timeConditions = [];
914
917
  if (from) {
@@ -1198,10 +1201,10 @@ const forgeDateTimeString = customType({
1198
1201
  return "datetime";
1199
1202
  },
1200
1203
  toDriver(value) {
1201
- return moment$1(value).format("YYYY-MM-DDTHH:mm:ss.SSS");
1204
+ return DateTime.fromJSDate(new Date(value)).toFormat("yyyy-LL-dd'T'HH:mm:ss.SSS");
1202
1205
  },
1203
1206
  fromDriver(value) {
1204
- const format = "YYYY-MM-DDTHH:mm:ss.SSS";
1207
+ const format = "yyyy-LL-dd'T'HH:mm:ss.SSS";
1205
1208
  return parseDateTime(value, format);
1206
1209
  }
1207
1210
  });
@@ -1210,10 +1213,10 @@ const forgeTimestampString = customType({
1210
1213
  return "timestamp";
1211
1214
  },
1212
1215
  toDriver(value) {
1213
- return moment$1(new Date(value)).format("YYYY-MM-DDTHH:mm:ss.SSS");
1216
+ return DateTime.fromJSDate(value).toFormat("yyyy-LL-dd'T'HH:mm:ss.SSS");
1214
1217
  },
1215
1218
  fromDriver(value) {
1216
- const format = "YYYY-MM-DDTHH:mm:ss.SSS";
1219
+ const format = "yyyy-LL-dd'T'HH:mm:ss.SSS";
1217
1220
  return parseDateTime(value, format);
1218
1221
  }
1219
1222
  });
@@ -1222,10 +1225,10 @@ const forgeDateString = customType({
1222
1225
  return "date";
1223
1226
  },
1224
1227
  toDriver(value) {
1225
- return moment$1(value).format("YYYY-MM-DD");
1228
+ return DateTime.fromJSDate(value).toFormat("yyyy-LL-dd");
1226
1229
  },
1227
1230
  fromDriver(value) {
1228
- const format = "YYYY-MM-DD";
1231
+ const format = "yyyy-LL-dd";
1229
1232
  return parseDateTime(value, format);
1230
1233
  }
1231
1234
  });
@@ -1234,7 +1237,7 @@ const forgeTimeString = customType({
1234
1237
  return "time";
1235
1238
  },
1236
1239
  toDriver(value) {
1237
- return moment$1(value).format("HH:mm:ss.SSS");
1240
+ return DateTime.fromJSDate(value).toFormat("HH:mm:ss.SSS");
1238
1241
  },
1239
1242
  fromDriver(value) {
1240
1243
  return parseDateTime(value, "HH:mm:ss.SSS");