common.cjs 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. "use strict";
  2. var __defProp = Object.defineProperty;
  3. var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
  4. var __getOwnPropNames = Object.getOwnPropertyNames;
  5. var __hasOwnProp = Object.prototype.hasOwnProperty;
  6. var __export = (target, all) => {
  7. for (var name in all)
  8. __defProp(target, name, { get: all[name], enumerable: true });
  9. };
  10. var __copyProps = (to, from, except, desc) => {
  11. if (from && typeof from === "object" || typeof from === "function") {
  12. for (let key of __getOwnPropNames(from))
  13. if (!__hasOwnProp.call(to, key) && key !== except)
  14. __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
  15. }
  16. return to;
  17. };
  18. var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
  19. var common_exports = {};
  20. __export(common_exports, {
  21. MySqlColumn: () => MySqlColumn,
  22. MySqlColumnBuilder: () => MySqlColumnBuilder,
  23. MySqlColumnBuilderWithAutoIncrement: () => MySqlColumnBuilderWithAutoIncrement,
  24. MySqlColumnWithAutoIncrement: () => MySqlColumnWithAutoIncrement
  25. });
  26. module.exports = __toCommonJS(common_exports);
  27. var import_column_builder = require("../../column-builder.cjs");
  28. var import_column = require("../../column.cjs");
  29. var import_entity = require("../../entity.cjs");
  30. var import_foreign_keys = require("../foreign-keys.cjs");
  31. var import_unique_constraint = require("../unique-constraint.cjs");
  32. class MySqlColumnBuilder extends import_column_builder.ColumnBuilder {
  33. static [import_entity.entityKind] = "MySqlColumnBuilder";
  34. foreignKeyConfigs = [];
  35. references(ref, actions = {}) {
  36. this.foreignKeyConfigs.push({ ref, actions });
  37. return this;
  38. }
  39. unique(name) {
  40. this.config.isUnique = true;
  41. this.config.uniqueName = name;
  42. return this;
  43. }
  44. generatedAlwaysAs(as, config) {
  45. this.config.generated = {
  46. as,
  47. type: "always",
  48. mode: config?.mode ?? "virtual"
  49. };
  50. return this;
  51. }
  52. /** @internal */
  53. buildForeignKeys(column, table) {
  54. return this.foreignKeyConfigs.map(({ ref, actions }) => {
  55. return ((ref2, actions2) => {
  56. const builder = new import_foreign_keys.ForeignKeyBuilder(() => {
  57. const foreignColumn = ref2();
  58. return { columns: [column], foreignColumns: [foreignColumn] };
  59. });
  60. if (actions2.onUpdate) {
  61. builder.onUpdate(actions2.onUpdate);
  62. }
  63. if (actions2.onDelete) {
  64. builder.onDelete(actions2.onDelete);
  65. }
  66. return builder.build(table);
  67. })(ref, actions);
  68. });
  69. }
  70. }
  71. class MySqlColumn extends import_column.Column {
  72. constructor(table, config) {
  73. if (!config.uniqueName) {
  74. config.uniqueName = (0, import_unique_constraint.uniqueKeyName)(table, [config.name]);
  75. }
  76. super(table, config);
  77. this.table = table;
  78. }
  79. static [import_entity.entityKind] = "MySqlColumn";
  80. }
  81. class MySqlColumnBuilderWithAutoIncrement extends MySqlColumnBuilder {
  82. static [import_entity.entityKind] = "MySqlColumnBuilderWithAutoIncrement";
  83. constructor(name, dataType, columnType) {
  84. super(name, dataType, columnType);
  85. this.config.autoIncrement = false;
  86. }
  87. autoincrement() {
  88. this.config.autoIncrement = true;
  89. this.config.hasDefault = true;
  90. return this;
  91. }
  92. }
  93. class MySqlColumnWithAutoIncrement extends MySqlColumn {
  94. static [import_entity.entityKind] = "MySqlColumnWithAutoIncrement";
  95. autoIncrement = this.config.autoIncrement;
  96. }
  97. // Annotate the CommonJS export names for ESM import in node:
  98. 0 && (module.exports = {
  99. MySqlColumn,
  100. MySqlColumnBuilder,
  101. MySqlColumnBuilderWithAutoIncrement,
  102. MySqlColumnWithAutoIncrement
  103. });
  104. //# sourceMappingURL=common.cjs.map