metal-orm 1.0.63 → 1.0.64

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.js CHANGED
@@ -446,12 +446,24 @@ var createBinaryExpression = (operator, left2, right2, escape) => {
446
446
  }
447
447
  return node;
448
448
  };
449
- var eq = (left2, right2) => createBinaryExpression("=", left2, right2);
450
- var neq = (left2, right2) => createBinaryExpression("!=", left2, right2);
451
- var gt = (left2, right2) => createBinaryExpression(">", left2, right2);
452
- var gte = (left2, right2) => createBinaryExpression(">=", left2, right2);
453
- var lt = (left2, right2) => createBinaryExpression("<", left2, right2);
454
- var lte = (left2, right2) => createBinaryExpression("<=", left2, right2);
449
+ function eq(left2, right2) {
450
+ return createBinaryExpression("=", left2, right2);
451
+ }
452
+ function neq(left2, right2) {
453
+ return createBinaryExpression("!=", left2, right2);
454
+ }
455
+ function gt(left2, right2) {
456
+ return createBinaryExpression(">", left2, right2);
457
+ }
458
+ function gte(left2, right2) {
459
+ return createBinaryExpression(">=", left2, right2);
460
+ }
461
+ function lt(left2, right2) {
462
+ return createBinaryExpression("<", left2, right2);
463
+ }
464
+ function lte(left2, right2) {
465
+ return createBinaryExpression("<=", left2, right2);
466
+ }
455
467
  var like = (left2, pattern, escape) => createBinaryExpression("LIKE", left2, pattern, escape);
456
468
  var notLike = (left2, pattern, escape) => createBinaryExpression("NOT LIKE", left2, pattern, escape);
457
469
  var and = (...operands) => ({
@@ -561,7 +573,7 @@ var buildWindowFunction = (name, args = [], partitionBy, orderBy) => {
561
573
  if (orderBy && orderBy.length) {
562
574
  node.orderBy = orderBy;
563
575
  }
564
- return node;
576
+ return asType(node);
565
577
  };
566
578
  var rowNumber = () => buildWindowFunction("ROW_NUMBER");
567
579
  var rank = () => buildWindowFunction("RANK");
@@ -665,7 +677,7 @@ var ORDER_DIRECTIONS = {
665
677
  };
666
678
 
667
679
  // src/core/ast/aggregate-functions.ts
668
- var buildAggregate = (name) => (col2) => ({
680
+ var buildAggregate = (name) => (col2) => asType({
669
681
  type: "Function",
670
682
  name,
671
683
  args: [columnOperand(col2)]
@@ -675,7 +687,7 @@ var sum = buildAggregate("SUM");
675
687
  var avg = buildAggregate("AVG");
676
688
  var min = buildAggregate("MIN");
677
689
  var max = buildAggregate("MAX");
678
- var countAll = () => ({
690
+ var countAll = () => asType({
679
691
  type: "Function",
680
692
  name: "COUNT",
681
693
  args: []
@@ -685,7 +697,7 @@ var toOrderByNode = (order) => ({
685
697
  term: columnOperand(order.column),
686
698
  direction: order.direction ?? ORDER_DIRECTIONS.ASC
687
699
  });
688
- var groupConcat = (col2, options) => ({
700
+ var groupConcat = (col2, options) => asType({
689
701
  type: "Function",
690
702
  name: "GROUP_CONCAT",
691
703
  args: [columnOperand(col2)],
@@ -9508,45 +9520,47 @@ var fn = (key, args) => ({
9508
9520
  fn: key,
9509
9521
  args: args.map(toOperand2)
9510
9522
  });
9511
- var lower = (value) => fn("LOWER", [value]);
9512
- var upper = (value) => fn("UPPER", [value]);
9513
- var ascii = (value) => fn("ASCII", [value]);
9523
+ var sfn = (key, args) => asType(fn(key, args));
9524
+ var nfn = (key, args) => asType(fn(key, args));
9525
+ var lower = (value) => sfn("LOWER", [value]);
9526
+ var upper = (value) => sfn("UPPER", [value]);
9527
+ var ascii = (value) => nfn("ASCII", [value]);
9514
9528
  var char = (...codes) => {
9515
9529
  if (codes.length === 0) throw new Error("char() expects at least 1 argument");
9516
- return fn("CHAR", codes);
9530
+ return sfn("CHAR", codes);
9517
9531
  };
9518
- var charLength = (value) => fn("CHAR_LENGTH", [value]);
9519
- var length = (value) => fn("LENGTH", [value]);
9520
- var trim = (value, chars) => chars === void 0 ? fn("TRIM", [value]) : fn("TRIM", [value, chars]);
9521
- var ltrim = (value) => fn("LTRIM", [value]);
9522
- var rtrim = (value) => fn("RTRIM", [value]);
9532
+ var charLength = (value) => nfn("CHAR_LENGTH", [value]);
9533
+ var length = (value) => nfn("LENGTH", [value]);
9534
+ var trim = (value, chars) => chars === void 0 ? sfn("TRIM", [value]) : sfn("TRIM", [value, chars]);
9535
+ var ltrim = (value) => sfn("LTRIM", [value]);
9536
+ var rtrim = (value) => sfn("RTRIM", [value]);
9523
9537
  var concat = (...args) => {
9524
9538
  if (args.length < 2) throw new Error("concat() expects at least 2 arguments");
9525
- return fn("CONCAT", args);
9539
+ return sfn("CONCAT", args);
9526
9540
  };
9527
9541
  var concatWs = (separator, ...args) => {
9528
9542
  if (args.length < 1) throw new Error("concatWs() expects at least 2 arguments including the separator");
9529
- return fn("CONCAT_WS", [separator, ...args]);
9530
- };
9531
- var substr = (value, start, length2) => length2 === void 0 ? fn("SUBSTR", [value, start]) : fn("SUBSTR", [value, start, length2]);
9532
- var left = (value, len) => fn("LEFT", [value, len]);
9533
- var right = (value, len) => fn("RIGHT", [value, len]);
9534
- var position = (substring, value) => fn("POSITION", [substring, value]);
9535
- var instr = (value, substring) => fn("INSTR", [value, substring]);
9536
- var locate = (substring, value, start) => start === void 0 ? fn("LOCATE", [substring, value]) : fn("LOCATE", [substring, value, start]);
9537
- var replace = (value, search, replacement) => fn("REPLACE", [value, search, replacement]);
9538
- var repeat = (value, count2) => fn("REPEAT", [value, count2]);
9539
- var lpad = (value, len, pad) => fn("LPAD", [value, len, pad]);
9540
- var rpad = (value, len, pad) => fn("RPAD", [value, len, pad]);
9541
- var space = (count2) => fn("SPACE", [count2]);
9542
- var reverse = (value) => fn("REVERSE", [value]);
9543
- var initcap = (value) => fn("INITCAP", [value]);
9544
- var md5 = (value) => fn("MD5", [value]);
9545
- var sha1 = (value) => fn("SHA1", [value]);
9546
- var sha2 = (value, bits) => fn("SHA2", [value, bits]);
9547
- var bitLength = (value) => fn("BIT_LENGTH", [value]);
9548
- var octetLength = (value) => fn("OCTET_LENGTH", [value]);
9549
- var chr = (code) => fn("CHR", [code]);
9543
+ return sfn("CONCAT_WS", [separator, ...args]);
9544
+ };
9545
+ var substr = (value, start, length2) => length2 === void 0 ? sfn("SUBSTR", [value, start]) : sfn("SUBSTR", [value, start, length2]);
9546
+ var left = (value, len) => sfn("LEFT", [value, len]);
9547
+ var right = (value, len) => sfn("RIGHT", [value, len]);
9548
+ var position = (substring, value) => nfn("POSITION", [substring, value]);
9549
+ var instr = (value, substring) => nfn("INSTR", [value, substring]);
9550
+ var locate = (substring, value, start) => start === void 0 ? nfn("LOCATE", [substring, value]) : nfn("LOCATE", [substring, value, start]);
9551
+ var replace = (value, search, replacement) => sfn("REPLACE", [value, search, replacement]);
9552
+ var repeat = (value, count2) => sfn("REPEAT", [value, count2]);
9553
+ var lpad = (value, len, pad) => sfn("LPAD", [value, len, pad]);
9554
+ var rpad = (value, len, pad) => sfn("RPAD", [value, len, pad]);
9555
+ var space = (count2) => sfn("SPACE", [count2]);
9556
+ var reverse = (value) => sfn("REVERSE", [value]);
9557
+ var initcap = (value) => sfn("INITCAP", [value]);
9558
+ var md5 = (value) => sfn("MD5", [value]);
9559
+ var sha1 = (value) => sfn("SHA1", [value]);
9560
+ var sha2 = (value, bits) => sfn("SHA2", [value, bits]);
9561
+ var bitLength = (value) => nfn("BIT_LENGTH", [value]);
9562
+ var octetLength = (value) => nfn("OCTET_LENGTH", [value]);
9563
+ var chr = (code) => sfn("CHR", [code]);
9550
9564
 
9551
9565
  // src/core/ddl/introspect/functions/mssql.ts
9552
9566
  var isColumnReference = (value) => typeof value === "object" && value !== null && !("type" in value) && "name" in value && typeof value.name === "string";
@@ -10075,38 +10089,39 @@ var fn3 = (key, args) => ({
10075
10089
  fn: key,
10076
10090
  args: args.map(toOperand3)
10077
10091
  });
10078
- var abs = (value) => fn3("ABS", [value]);
10079
- var acos = (value) => fn3("ACOS", [value]);
10080
- var asin = (value) => fn3("ASIN", [value]);
10081
- var atan = (value) => fn3("ATAN", [value]);
10082
- var atan2 = (y, x) => fn3("ATAN2", [y, x]);
10083
- var ceil = (value) => fn3("CEIL", [value]);
10084
- var ceiling = (value) => fn3("CEILING", [value]);
10085
- var cos = (value) => fn3("COS", [value]);
10086
- var cot = (value) => fn3("COT", [value]);
10087
- var degrees = (value) => fn3("DEGREES", [value]);
10088
- var exp = (value) => fn3("EXP", [value]);
10089
- var floor = (value) => fn3("FLOOR", [value]);
10090
- var ln = (value) => fn3("LN", [value]);
10091
- var log = (value) => fn3("LOG", [value]);
10092
- var log10 = (value) => fn3("LOG10", [value]);
10093
- var logBase = (base, value) => fn3("LOG_BASE", [base, value]);
10094
- var mod = (x, y) => fn3("MOD", [x, y]);
10095
- var pi = () => fn3("PI", []);
10096
- var power = (x, y) => fn3("POWER", [x, y]);
10097
- var pow = (x, y) => fn3("POW", [x, y]);
10098
- var radians = (value) => fn3("RADIANS", [value]);
10099
- var random = () => fn3("RANDOM", []);
10100
- var rand = () => fn3("RAND", []);
10101
- var round = (value, decimals) => decimals === void 0 ? fn3("ROUND", [value]) : fn3("ROUND", [value, decimals]);
10102
- var sign = (value) => fn3("SIGN", [value]);
10103
- var sin = (value) => fn3("SIN", [value]);
10104
- var sqrt = (value) => fn3("SQRT", [value]);
10105
- var tan = (value) => fn3("TAN", [value]);
10106
- var trunc = (value, decimals) => decimals === void 0 ? fn3("TRUNC", [value]) : fn3("TRUNC", [value, decimals]);
10107
- var truncate = (value, decimals) => fn3("TRUNCATE", [value, decimals]);
10108
- var log2 = (value) => fn3("LOG2", [value]);
10109
- var cbrt = (value) => fn3("CBRT", [value]);
10092
+ var nfn2 = (key, args) => asType(fn3(key, args));
10093
+ var abs = (value) => nfn2("ABS", [value]);
10094
+ var acos = (value) => nfn2("ACOS", [value]);
10095
+ var asin = (value) => nfn2("ASIN", [value]);
10096
+ var atan = (value) => nfn2("ATAN", [value]);
10097
+ var atan2 = (y, x) => nfn2("ATAN2", [y, x]);
10098
+ var ceil = (value) => nfn2("CEIL", [value]);
10099
+ var ceiling = (value) => nfn2("CEILING", [value]);
10100
+ var cos = (value) => nfn2("COS", [value]);
10101
+ var cot = (value) => nfn2("COT", [value]);
10102
+ var degrees = (value) => nfn2("DEGREES", [value]);
10103
+ var exp = (value) => nfn2("EXP", [value]);
10104
+ var floor = (value) => nfn2("FLOOR", [value]);
10105
+ var ln = (value) => nfn2("LN", [value]);
10106
+ var log = (value) => nfn2("LOG", [value]);
10107
+ var log10 = (value) => nfn2("LOG10", [value]);
10108
+ var logBase = (base, value) => nfn2("LOG_BASE", [base, value]);
10109
+ var mod = (x, y) => nfn2("MOD", [x, y]);
10110
+ var pi = () => nfn2("PI", []);
10111
+ var power = (x, y) => nfn2("POWER", [x, y]);
10112
+ var pow = (x, y) => nfn2("POW", [x, y]);
10113
+ var radians = (value) => nfn2("RADIANS", [value]);
10114
+ var random = () => nfn2("RANDOM", []);
10115
+ var rand = () => nfn2("RAND", []);
10116
+ var round = (value, decimals) => decimals === void 0 ? nfn2("ROUND", [value]) : nfn2("ROUND", [value, decimals]);
10117
+ var sign = (value) => nfn2("SIGN", [value]);
10118
+ var sin = (value) => nfn2("SIN", [value]);
10119
+ var sqrt = (value) => nfn2("SQRT", [value]);
10120
+ var tan = (value) => nfn2("TAN", [value]);
10121
+ var trunc = (value, decimals) => decimals === void 0 ? nfn2("TRUNC", [value]) : nfn2("TRUNC", [value, decimals]);
10122
+ var truncate = (value, decimals) => nfn2("TRUNCATE", [value, decimals]);
10123
+ var log2 = (value) => nfn2("LOG2", [value]);
10124
+ var cbrt = (value) => nfn2("CBRT", [value]);
10110
10125
 
10111
10126
  // src/core/functions/datetime.ts
10112
10127
  var isColumnDef3 = (val) => !!val && typeof val === "object" && "type" in val && "name" in val;
@@ -10121,31 +10136,34 @@ var fn4 = (key, args) => ({
10121
10136
  fn: key,
10122
10137
  args: args.map(toOperand4)
10123
10138
  });
10124
- var now = () => fn4("NOW", []);
10125
- var currentDate = () => fn4("CURRENT_DATE", []);
10126
- var currentTime = () => fn4("CURRENT_TIME", []);
10127
- var utcNow = () => fn4("UTC_NOW", []);
10128
- var localTime = () => fn4("LOCALTIME", []);
10129
- var localTimestamp = () => fn4("LOCALTIMESTAMP", []);
10130
- var extract = (part, date) => fn4("EXTRACT", [part, date]);
10131
- var year = (date) => fn4("YEAR", [date]);
10132
- var month = (date) => fn4("MONTH", [date]);
10133
- var day = (date) => fn4("DAY", [date]);
10134
- var dateAdd = (date, interval, unit) => fn4("DATE_ADD", [date, interval, unit]);
10135
- var dateSub = (date, interval, unit) => fn4("DATE_SUB", [date, interval, unit]);
10136
- var dateDiff = (date1, date2) => fn4("DATE_DIFF", [date1, date2]);
10137
- var dateFormat = (date, format) => fn4("DATE_FORMAT", [date, format]);
10138
- var unixTimestamp = () => fn4("UNIX_TIMESTAMP", []);
10139
- var fromUnixTime = (timestamp) => fn4("FROM_UNIXTIME", [timestamp]);
10140
- var endOfMonth = (date) => fn4("END_OF_MONTH", [date]);
10141
- var dayOfWeek = (date) => fn4("DAY_OF_WEEK", [date]);
10142
- var weekOfYear = (date) => fn4("WEEK_OF_YEAR", [date]);
10143
- var dateTrunc = (part, date) => fn4("DATE_TRUNC", [part, date]);
10144
- var age = (timestamp, baseTimestamp) => baseTimestamp === void 0 ? fn4("AGE", [timestamp]) : fn4("AGE", [timestamp, baseTimestamp]);
10145
- var hour = (date) => fn4("HOUR", [date]);
10146
- var minute = (date) => fn4("MINUTE", [date]);
10147
- var second = (date) => fn4("SECOND", [date]);
10148
- var quarter = (date) => fn4("QUARTER", [date]);
10139
+ var dfn = (key, args) => asType(fn4(key, args));
10140
+ var nfn3 = (key, args) => asType(fn4(key, args));
10141
+ var sfn2 = (key, args) => asType(fn4(key, args));
10142
+ var now = () => dfn("NOW", []);
10143
+ var currentDate = () => dfn("CURRENT_DATE", []);
10144
+ var currentTime = () => dfn("CURRENT_TIME", []);
10145
+ var utcNow = () => dfn("UTC_NOW", []);
10146
+ var localTime = () => dfn("LOCALTIME", []);
10147
+ var localTimestamp = () => dfn("LOCALTIMESTAMP", []);
10148
+ var extract = (part, date) => nfn3("EXTRACT", [part, date]);
10149
+ var year = (date) => nfn3("YEAR", [date]);
10150
+ var month = (date) => nfn3("MONTH", [date]);
10151
+ var day = (date) => nfn3("DAY", [date]);
10152
+ var dateAdd = (date, interval, unit) => dfn("DATE_ADD", [date, interval, unit]);
10153
+ var dateSub = (date, interval, unit) => dfn("DATE_SUB", [date, interval, unit]);
10154
+ var dateDiff = (date1, date2) => nfn3("DATE_DIFF", [date1, date2]);
10155
+ var dateFormat = (date, format) => sfn2("DATE_FORMAT", [date, format]);
10156
+ var unixTimestamp = () => nfn3("UNIX_TIMESTAMP", []);
10157
+ var fromUnixTime = (timestamp) => dfn("FROM_UNIXTIME", [timestamp]);
10158
+ var endOfMonth = (date) => dfn("END_OF_MONTH", [date]);
10159
+ var dayOfWeek = (date) => nfn3("DAY_OF_WEEK", [date]);
10160
+ var weekOfYear = (date) => nfn3("WEEK_OF_YEAR", [date]);
10161
+ var dateTrunc = (part, date) => dfn("DATE_TRUNC", [part, date]);
10162
+ var age = (timestamp, baseTimestamp) => baseTimestamp === void 0 ? sfn2("AGE", [timestamp]) : sfn2("AGE", [timestamp, baseTimestamp]);
10163
+ var hour = (date) => nfn3("HOUR", [date]);
10164
+ var minute = (date) => nfn3("MINUTE", [date]);
10165
+ var second = (date) => nfn3("SECOND", [date]);
10166
+ var quarter = (date) => nfn3("QUARTER", [date]);
10149
10167
 
10150
10168
  // src/core/functions/control-flow.ts
10151
10169
  var isColumnDef4 = (val) => !!val && typeof val === "object" && "type" in val && "name" in val;
@@ -10160,18 +10178,19 @@ var fn5 = (key, args) => ({
10160
10178
  fn: key,
10161
10179
  args: args.map(toOperand5)
10162
10180
  });
10181
+ var afn = (key, args) => asType(fn5(key, args));
10163
10182
  var coalesce = (...args) => {
10164
10183
  if (args.length < 2) throw new Error("coalesce() expects at least 2 arguments");
10165
- return fn5("COALESCE", args);
10184
+ return afn("COALESCE", args);
10166
10185
  };
10167
- var nullif = (val1, val2) => fn5("NULLIF", [val1, val2]);
10186
+ var nullif = (val1, val2) => afn("NULLIF", [val1, val2]);
10168
10187
  var greatest = (...args) => {
10169
10188
  if (args.length < 2) throw new Error("greatest() expects at least 2 arguments");
10170
- return fn5("GREATEST", args);
10189
+ return afn("GREATEST", args);
10171
10190
  };
10172
10191
  var least = (...args) => {
10173
10192
  if (args.length < 2) throw new Error("least() expects at least 2 arguments");
10174
- return fn5("LEAST", args);
10193
+ return afn("LEAST", args);
10175
10194
  };
10176
10195
  var ifNull = (val, defaultValue) => coalesce(val, defaultValue);
10177
10196
 
@@ -10188,10 +10207,12 @@ var fn6 = (key, args) => ({
10188
10207
  fn: key,
10189
10208
  args: args.map(toOperand6)
10190
10209
  });
10191
- var jsonLength = (target, path) => path === void 0 ? fn6("JSON_LENGTH", [target]) : fn6("JSON_LENGTH", [target, path]);
10192
- var jsonSet = (target, path, value) => fn6("JSON_SET", [target, path, value]);
10193
- var jsonArrayAgg = (value) => fn6("JSON_ARRAYAGG", [value]);
10194
- var jsonContains = (target, candidate, path) => path === void 0 ? fn6("JSON_CONTAINS", [target, candidate]) : fn6("JSON_CONTAINS", [target, candidate, path]);
10210
+ var nfn4 = (key, args) => asType(fn6(key, args));
10211
+ var afn2 = (key, args) => asType(fn6(key, args));
10212
+ var jsonLength = (target, path) => path === void 0 ? nfn4("JSON_LENGTH", [target]) : nfn4("JSON_LENGTH", [target, path]);
10213
+ var jsonSet = (target, path, value) => afn2("JSON_SET", [target, path, value]);
10214
+ var jsonArrayAgg = (value) => afn2("JSON_ARRAYAGG", [value]);
10215
+ var jsonContains = (target, candidate, path) => path === void 0 ? afn2("JSON_CONTAINS", [target, candidate]) : afn2("JSON_CONTAINS", [target, candidate, path]);
10195
10216
 
10196
10217
  // src/core/functions/array.ts
10197
10218
  var isColumnDef6 = (val) => !!val && typeof val === "object" && "type" in val && "name" in val;
@@ -10206,7 +10227,8 @@ var fn7 = (key, args) => ({
10206
10227
  fn: key,
10207
10228
  args: args.map(toOperand7)
10208
10229
  });
10209
- var arrayAppend = (array, value) => fn7("ARRAY_APPEND", [array, value]);
10230
+ var afn3 = (key, args) => asType(fn7(key, args));
10231
+ var arrayAppend = (array, value) => afn3("ARRAY_APPEND", [array, value]);
10210
10232
 
10211
10233
  // src/orm/als.ts
10212
10234
  var AsyncLocalStorage = class {