drizzle-orm 0.41.0-29155cc → 0.41.0-727cbe4

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.
Files changed (92) hide show
  1. package/gel-core/expressions.cjs +3 -3
  2. package/gel-core/expressions.cjs.map +1 -1
  3. package/gel-core/expressions.d.cts +1 -1
  4. package/gel-core/expressions.d.ts +1 -1
  5. package/gel-core/expressions.js +2 -2
  6. package/gel-core/expressions.js.map +1 -1
  7. package/index.cjs +0 -2
  8. package/index.cjs.map +1 -1
  9. package/index.d.cts +0 -1
  10. package/index.d.ts +0 -1
  11. package/index.js +0 -1
  12. package/index.js.map +1 -1
  13. package/mysql-core/columns/enum.cjs +40 -5
  14. package/mysql-core/columns/enum.cjs.map +1 -1
  15. package/mysql-core/columns/enum.d.cts +25 -2
  16. package/mysql-core/columns/enum.d.ts +25 -2
  17. package/mysql-core/columns/enum.js +38 -5
  18. package/mysql-core/columns/enum.js.map +1 -1
  19. package/mysql-core/dialect.cjs +1 -1
  20. package/mysql-core/dialect.cjs.map +1 -1
  21. package/mysql-core/dialect.js +1 -1
  22. package/mysql-core/dialect.js.map +1 -1
  23. package/mysql-core/expressions.cjs +3 -3
  24. package/mysql-core/expressions.cjs.map +1 -1
  25. package/mysql-core/expressions.d.cts +1 -1
  26. package/mysql-core/expressions.d.ts +1 -1
  27. package/mysql-core/expressions.js +2 -2
  28. package/mysql-core/expressions.js.map +1 -1
  29. package/operations.cjs.map +1 -1
  30. package/operations.d.cts +1 -5
  31. package/operations.d.ts +1 -5
  32. package/package.json +187 -197
  33. package/pg-core/columns/enum.cjs +46 -2
  34. package/pg-core/columns/enum.cjs.map +1 -1
  35. package/pg-core/columns/enum.d.cts +39 -1
  36. package/pg-core/columns/enum.d.ts +39 -1
  37. package/pg-core/columns/enum.js +43 -2
  38. package/pg-core/columns/enum.js.map +1 -1
  39. package/pg-core/expressions.cjs +3 -3
  40. package/pg-core/expressions.cjs.map +1 -1
  41. package/pg-core/expressions.d.cts +1 -1
  42. package/pg-core/expressions.d.ts +1 -1
  43. package/pg-core/expressions.js +2 -2
  44. package/pg-core/expressions.js.map +1 -1
  45. package/pg-core/schema.cjs +6 -2
  46. package/pg-core/schema.cjs.map +1 -1
  47. package/pg-core/schema.d.cts +1 -2
  48. package/pg-core/schema.d.ts +1 -2
  49. package/pg-core/schema.js +7 -3
  50. package/pg-core/schema.js.map +1 -1
  51. package/planetscale-serverless/session.cjs.map +1 -1
  52. package/planetscale-serverless/session.js.map +1 -1
  53. package/relations.d.cts +6 -6
  54. package/relations.d.ts +6 -6
  55. package/singlestore-core/dialect.cjs +1 -1
  56. package/singlestore-core/dialect.cjs.map +1 -1
  57. package/singlestore-core/dialect.js +1 -1
  58. package/singlestore-core/dialect.js.map +1 -1
  59. package/singlestore-core/expressions.cjs +3 -3
  60. package/singlestore-core/expressions.cjs.map +1 -1
  61. package/singlestore-core/expressions.d.cts +1 -1
  62. package/singlestore-core/expressions.d.ts +1 -1
  63. package/singlestore-core/expressions.js +2 -2
  64. package/singlestore-core/expressions.js.map +1 -1
  65. package/sql/expressions/conditions.cjs.map +1 -1
  66. package/sql/expressions/conditions.d.cts +2 -2
  67. package/sql/expressions/conditions.d.ts +2 -2
  68. package/sql/expressions/conditions.js.map +1 -1
  69. package/sqlite-core/expressions.cjs +3 -3
  70. package/sqlite-core/expressions.cjs.map +1 -1
  71. package/sqlite-core/expressions.d.cts +1 -1
  72. package/sqlite-core/expressions.d.ts +1 -1
  73. package/sqlite-core/expressions.js +2 -2
  74. package/sqlite-core/expressions.js.map +1 -1
  75. package/table.cjs.map +1 -1
  76. package/table.d.cts +3 -0
  77. package/table.d.ts +3 -0
  78. package/table.js.map +1 -1
  79. package/utils.cjs.map +1 -1
  80. package/utils.d.cts +1 -0
  81. package/utils.d.ts +1 -0
  82. package/utils.js.map +1 -1
  83. package/version.cjs +1 -1
  84. package/version.d.cts +1 -1
  85. package/version.d.ts +1 -1
  86. package/version.js +1 -1
  87. package/expressions.cjs +0 -23
  88. package/expressions.cjs.map +0 -1
  89. package/expressions.d.cts +0 -1
  90. package/expressions.d.ts +0 -1
  91. package/expressions.js +0 -2
  92. package/expressions.js.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "drizzle-orm",
3
- "version": "0.41.0-29155cc",
3
+ "version": "0.41.0-727cbe4",
4
4
  "description": "Drizzle ORM package for SQL databases",
5
5
  "type": "module",
6
6
  "scripts": {
@@ -53,7 +53,7 @@
53
53
  "@neondatabase/serverless": ">=0.10.0",
54
54
  "@op-engineering/op-sqlite": ">=2",
55
55
  "@opentelemetry/api": "^1.4.1",
56
- "@planetscale/database": ">=1",
56
+ "@planetscale/database": ">=1.13",
57
57
  "@prisma/client": "*",
58
58
  "@tidbcloud/serverless": "*",
59
59
  "@types/better-sqlite3": "*",
@@ -64,14 +64,14 @@
64
64
  "better-sqlite3": ">=7",
65
65
  "bun-types": "*",
66
66
  "expo-sqlite": ">=14.0.0",
67
+ "gel": ">=2",
67
68
  "knex": "*",
68
69
  "kysely": "*",
69
70
  "mysql2": ">=2",
70
71
  "pg": ">=8",
71
72
  "postgres": ">=3",
72
73
  "sql.js": ">=1",
73
- "sqlite3": ">=5",
74
- "gel": ">=2"
74
+ "sqlite3": ">=5"
75
75
  },
76
76
  "peerDependenciesMeta": {
77
77
  "mysql2": {
@@ -180,11 +180,12 @@
180
180
  "@types/sql.js": "^1.4.4",
181
181
  "@vercel/postgres": "^0.8.0",
182
182
  "@xata.io/client": "^0.29.3",
183
- "better-sqlite3": "^8.4.0",
183
+ "better-sqlite3": "^11.9.1",
184
184
  "bun-types": "^1.2.0",
185
185
  "cpy": "^10.1.0",
186
186
  "expo-sqlite": "^14.0.0",
187
187
  "gel": "^2.0.0",
188
+ "glob": "^11.0.1",
188
189
  "knex": "^2.4.2",
189
190
  "kysely": "^0.25.0",
190
191
  "mysql2": "^3.3.3",
@@ -194,6 +195,7 @@
194
195
  "react": "^18.2.0",
195
196
  "sql.js": "^1.8.0",
196
197
  "sqlite3": "^5.1.2",
198
+ "ts-morph": "^25.0.1",
197
199
  "tslib": "^2.5.2",
198
200
  "tsx": "^3.12.7",
199
201
  "vite-tsconfig-paths": "^4.3.2",
@@ -286,18 +288,6 @@
286
288
  "types": "./errors.d.ts",
287
289
  "default": "./errors.js"
288
290
  },
289
- "./expressions": {
290
- "import": {
291
- "types": "./expressions.d.ts",
292
- "default": "./expressions.js"
293
- },
294
- "require": {
295
- "types": "./expressions.d.cts",
296
- "default": "./expressions.cjs"
297
- },
298
- "types": "./expressions.d.ts",
299
- "default": "./expressions.js"
300
- },
301
291
  ".": {
302
292
  "import": {
303
293
  "types": "./index.d.ts",
@@ -514,54 +504,6 @@
514
504
  "types": "./view-common.d.ts",
515
505
  "default": "./view-common.js"
516
506
  },
517
- "./better-sqlite3/driver": {
518
- "import": {
519
- "types": "./better-sqlite3/driver.d.ts",
520
- "default": "./better-sqlite3/driver.js"
521
- },
522
- "require": {
523
- "types": "./better-sqlite3/driver.d.cts",
524
- "default": "./better-sqlite3/driver.cjs"
525
- },
526
- "types": "./better-sqlite3/driver.d.ts",
527
- "default": "./better-sqlite3/driver.js"
528
- },
529
- "./better-sqlite3": {
530
- "import": {
531
- "types": "./better-sqlite3/index.d.ts",
532
- "default": "./better-sqlite3/index.js"
533
- },
534
- "require": {
535
- "types": "./better-sqlite3/index.d.cts",
536
- "default": "./better-sqlite3/index.cjs"
537
- },
538
- "types": "./better-sqlite3/index.d.ts",
539
- "default": "./better-sqlite3/index.js"
540
- },
541
- "./better-sqlite3/migrator": {
542
- "import": {
543
- "types": "./better-sqlite3/migrator.d.ts",
544
- "default": "./better-sqlite3/migrator.js"
545
- },
546
- "require": {
547
- "types": "./better-sqlite3/migrator.d.cts",
548
- "default": "./better-sqlite3/migrator.cjs"
549
- },
550
- "types": "./better-sqlite3/migrator.d.ts",
551
- "default": "./better-sqlite3/migrator.js"
552
- },
553
- "./better-sqlite3/session": {
554
- "import": {
555
- "types": "./better-sqlite3/session.d.ts",
556
- "default": "./better-sqlite3/session.js"
557
- },
558
- "require": {
559
- "types": "./better-sqlite3/session.d.cts",
560
- "default": "./better-sqlite3/session.cjs"
561
- },
562
- "types": "./better-sqlite3/session.d.ts",
563
- "default": "./better-sqlite3/session.js"
564
- },
565
507
  "./bun-sql/driver": {
566
508
  "import": {
567
509
  "types": "./bun-sql/driver.d.ts",
@@ -610,6 +552,54 @@
610
552
  "types": "./bun-sql/session.d.ts",
611
553
  "default": "./bun-sql/session.js"
612
554
  },
555
+ "./better-sqlite3/driver": {
556
+ "import": {
557
+ "types": "./better-sqlite3/driver.d.ts",
558
+ "default": "./better-sqlite3/driver.js"
559
+ },
560
+ "require": {
561
+ "types": "./better-sqlite3/driver.d.cts",
562
+ "default": "./better-sqlite3/driver.cjs"
563
+ },
564
+ "types": "./better-sqlite3/driver.d.ts",
565
+ "default": "./better-sqlite3/driver.js"
566
+ },
567
+ "./better-sqlite3": {
568
+ "import": {
569
+ "types": "./better-sqlite3/index.d.ts",
570
+ "default": "./better-sqlite3/index.js"
571
+ },
572
+ "require": {
573
+ "types": "./better-sqlite3/index.d.cts",
574
+ "default": "./better-sqlite3/index.cjs"
575
+ },
576
+ "types": "./better-sqlite3/index.d.ts",
577
+ "default": "./better-sqlite3/index.js"
578
+ },
579
+ "./better-sqlite3/migrator": {
580
+ "import": {
581
+ "types": "./better-sqlite3/migrator.d.ts",
582
+ "default": "./better-sqlite3/migrator.js"
583
+ },
584
+ "require": {
585
+ "types": "./better-sqlite3/migrator.d.cts",
586
+ "default": "./better-sqlite3/migrator.cjs"
587
+ },
588
+ "types": "./better-sqlite3/migrator.d.ts",
589
+ "default": "./better-sqlite3/migrator.js"
590
+ },
591
+ "./better-sqlite3/session": {
592
+ "import": {
593
+ "types": "./better-sqlite3/session.d.ts",
594
+ "default": "./better-sqlite3/session.js"
595
+ },
596
+ "require": {
597
+ "types": "./better-sqlite3/session.d.cts",
598
+ "default": "./better-sqlite3/session.cjs"
599
+ },
600
+ "types": "./better-sqlite3/session.d.ts",
601
+ "default": "./better-sqlite3/session.js"
602
+ },
613
603
  "./bun-sqlite/driver": {
614
604
  "import": {
615
605
  "types": "./bun-sqlite/driver.d.ts",
@@ -3994,138 +3984,6 @@
3994
3984
  "types": "./mysql-core/query-builders/update.d.ts",
3995
3985
  "default": "./mysql-core/query-builders/update.js"
3996
3986
  },
3997
- "./pg-core/query-builders/count": {
3998
- "import": {
3999
- "types": "./pg-core/query-builders/count.d.ts",
4000
- "default": "./pg-core/query-builders/count.js"
4001
- },
4002
- "require": {
4003
- "types": "./pg-core/query-builders/count.d.cts",
4004
- "default": "./pg-core/query-builders/count.cjs"
4005
- },
4006
- "types": "./pg-core/query-builders/count.d.ts",
4007
- "default": "./pg-core/query-builders/count.js"
4008
- },
4009
- "./pg-core/query-builders/delete": {
4010
- "import": {
4011
- "types": "./pg-core/query-builders/delete.d.ts",
4012
- "default": "./pg-core/query-builders/delete.js"
4013
- },
4014
- "require": {
4015
- "types": "./pg-core/query-builders/delete.d.cts",
4016
- "default": "./pg-core/query-builders/delete.cjs"
4017
- },
4018
- "types": "./pg-core/query-builders/delete.d.ts",
4019
- "default": "./pg-core/query-builders/delete.js"
4020
- },
4021
- "./pg-core/query-builders": {
4022
- "import": {
4023
- "types": "./pg-core/query-builders/index.d.ts",
4024
- "default": "./pg-core/query-builders/index.js"
4025
- },
4026
- "require": {
4027
- "types": "./pg-core/query-builders/index.d.cts",
4028
- "default": "./pg-core/query-builders/index.cjs"
4029
- },
4030
- "types": "./pg-core/query-builders/index.d.ts",
4031
- "default": "./pg-core/query-builders/index.js"
4032
- },
4033
- "./pg-core/query-builders/insert": {
4034
- "import": {
4035
- "types": "./pg-core/query-builders/insert.d.ts",
4036
- "default": "./pg-core/query-builders/insert.js"
4037
- },
4038
- "require": {
4039
- "types": "./pg-core/query-builders/insert.d.cts",
4040
- "default": "./pg-core/query-builders/insert.cjs"
4041
- },
4042
- "types": "./pg-core/query-builders/insert.d.ts",
4043
- "default": "./pg-core/query-builders/insert.js"
4044
- },
4045
- "./pg-core/query-builders/query-builder": {
4046
- "import": {
4047
- "types": "./pg-core/query-builders/query-builder.d.ts",
4048
- "default": "./pg-core/query-builders/query-builder.js"
4049
- },
4050
- "require": {
4051
- "types": "./pg-core/query-builders/query-builder.d.cts",
4052
- "default": "./pg-core/query-builders/query-builder.cjs"
4053
- },
4054
- "types": "./pg-core/query-builders/query-builder.d.ts",
4055
- "default": "./pg-core/query-builders/query-builder.js"
4056
- },
4057
- "./pg-core/query-builders/query": {
4058
- "import": {
4059
- "types": "./pg-core/query-builders/query.d.ts",
4060
- "default": "./pg-core/query-builders/query.js"
4061
- },
4062
- "require": {
4063
- "types": "./pg-core/query-builders/query.d.cts",
4064
- "default": "./pg-core/query-builders/query.cjs"
4065
- },
4066
- "types": "./pg-core/query-builders/query.d.ts",
4067
- "default": "./pg-core/query-builders/query.js"
4068
- },
4069
- "./pg-core/query-builders/raw": {
4070
- "import": {
4071
- "types": "./pg-core/query-builders/raw.d.ts",
4072
- "default": "./pg-core/query-builders/raw.js"
4073
- },
4074
- "require": {
4075
- "types": "./pg-core/query-builders/raw.d.cts",
4076
- "default": "./pg-core/query-builders/raw.cjs"
4077
- },
4078
- "types": "./pg-core/query-builders/raw.d.ts",
4079
- "default": "./pg-core/query-builders/raw.js"
4080
- },
4081
- "./pg-core/query-builders/refresh-materialized-view": {
4082
- "import": {
4083
- "types": "./pg-core/query-builders/refresh-materialized-view.d.ts",
4084
- "default": "./pg-core/query-builders/refresh-materialized-view.js"
4085
- },
4086
- "require": {
4087
- "types": "./pg-core/query-builders/refresh-materialized-view.d.cts",
4088
- "default": "./pg-core/query-builders/refresh-materialized-view.cjs"
4089
- },
4090
- "types": "./pg-core/query-builders/refresh-materialized-view.d.ts",
4091
- "default": "./pg-core/query-builders/refresh-materialized-view.js"
4092
- },
4093
- "./pg-core/query-builders/select": {
4094
- "import": {
4095
- "types": "./pg-core/query-builders/select.d.ts",
4096
- "default": "./pg-core/query-builders/select.js"
4097
- },
4098
- "require": {
4099
- "types": "./pg-core/query-builders/select.d.cts",
4100
- "default": "./pg-core/query-builders/select.cjs"
4101
- },
4102
- "types": "./pg-core/query-builders/select.d.ts",
4103
- "default": "./pg-core/query-builders/select.js"
4104
- },
4105
- "./pg-core/query-builders/select.types": {
4106
- "import": {
4107
- "types": "./pg-core/query-builders/select.types.d.ts",
4108
- "default": "./pg-core/query-builders/select.types.js"
4109
- },
4110
- "require": {
4111
- "types": "./pg-core/query-builders/select.types.d.cts",
4112
- "default": "./pg-core/query-builders/select.types.cjs"
4113
- },
4114
- "types": "./pg-core/query-builders/select.types.d.ts",
4115
- "default": "./pg-core/query-builders/select.types.js"
4116
- },
4117
- "./pg-core/query-builders/update": {
4118
- "import": {
4119
- "types": "./pg-core/query-builders/update.d.ts",
4120
- "default": "./pg-core/query-builders/update.js"
4121
- },
4122
- "require": {
4123
- "types": "./pg-core/query-builders/update.d.cts",
4124
- "default": "./pg-core/query-builders/update.cjs"
4125
- },
4126
- "types": "./pg-core/query-builders/update.d.ts",
4127
- "default": "./pg-core/query-builders/update.js"
4128
- },
4129
3987
  "./pg-core/columns/all": {
4130
3988
  "import": {
4131
3989
  "types": "./pg-core/columns/all.d.ts",
@@ -4522,6 +4380,138 @@
4522
4380
  "types": "./pg-core/columns/varchar.d.ts",
4523
4381
  "default": "./pg-core/columns/varchar.js"
4524
4382
  },
4383
+ "./pg-core/query-builders/count": {
4384
+ "import": {
4385
+ "types": "./pg-core/query-builders/count.d.ts",
4386
+ "default": "./pg-core/query-builders/count.js"
4387
+ },
4388
+ "require": {
4389
+ "types": "./pg-core/query-builders/count.d.cts",
4390
+ "default": "./pg-core/query-builders/count.cjs"
4391
+ },
4392
+ "types": "./pg-core/query-builders/count.d.ts",
4393
+ "default": "./pg-core/query-builders/count.js"
4394
+ },
4395
+ "./pg-core/query-builders/delete": {
4396
+ "import": {
4397
+ "types": "./pg-core/query-builders/delete.d.ts",
4398
+ "default": "./pg-core/query-builders/delete.js"
4399
+ },
4400
+ "require": {
4401
+ "types": "./pg-core/query-builders/delete.d.cts",
4402
+ "default": "./pg-core/query-builders/delete.cjs"
4403
+ },
4404
+ "types": "./pg-core/query-builders/delete.d.ts",
4405
+ "default": "./pg-core/query-builders/delete.js"
4406
+ },
4407
+ "./pg-core/query-builders": {
4408
+ "import": {
4409
+ "types": "./pg-core/query-builders/index.d.ts",
4410
+ "default": "./pg-core/query-builders/index.js"
4411
+ },
4412
+ "require": {
4413
+ "types": "./pg-core/query-builders/index.d.cts",
4414
+ "default": "./pg-core/query-builders/index.cjs"
4415
+ },
4416
+ "types": "./pg-core/query-builders/index.d.ts",
4417
+ "default": "./pg-core/query-builders/index.js"
4418
+ },
4419
+ "./pg-core/query-builders/insert": {
4420
+ "import": {
4421
+ "types": "./pg-core/query-builders/insert.d.ts",
4422
+ "default": "./pg-core/query-builders/insert.js"
4423
+ },
4424
+ "require": {
4425
+ "types": "./pg-core/query-builders/insert.d.cts",
4426
+ "default": "./pg-core/query-builders/insert.cjs"
4427
+ },
4428
+ "types": "./pg-core/query-builders/insert.d.ts",
4429
+ "default": "./pg-core/query-builders/insert.js"
4430
+ },
4431
+ "./pg-core/query-builders/query-builder": {
4432
+ "import": {
4433
+ "types": "./pg-core/query-builders/query-builder.d.ts",
4434
+ "default": "./pg-core/query-builders/query-builder.js"
4435
+ },
4436
+ "require": {
4437
+ "types": "./pg-core/query-builders/query-builder.d.cts",
4438
+ "default": "./pg-core/query-builders/query-builder.cjs"
4439
+ },
4440
+ "types": "./pg-core/query-builders/query-builder.d.ts",
4441
+ "default": "./pg-core/query-builders/query-builder.js"
4442
+ },
4443
+ "./pg-core/query-builders/query": {
4444
+ "import": {
4445
+ "types": "./pg-core/query-builders/query.d.ts",
4446
+ "default": "./pg-core/query-builders/query.js"
4447
+ },
4448
+ "require": {
4449
+ "types": "./pg-core/query-builders/query.d.cts",
4450
+ "default": "./pg-core/query-builders/query.cjs"
4451
+ },
4452
+ "types": "./pg-core/query-builders/query.d.ts",
4453
+ "default": "./pg-core/query-builders/query.js"
4454
+ },
4455
+ "./pg-core/query-builders/raw": {
4456
+ "import": {
4457
+ "types": "./pg-core/query-builders/raw.d.ts",
4458
+ "default": "./pg-core/query-builders/raw.js"
4459
+ },
4460
+ "require": {
4461
+ "types": "./pg-core/query-builders/raw.d.cts",
4462
+ "default": "./pg-core/query-builders/raw.cjs"
4463
+ },
4464
+ "types": "./pg-core/query-builders/raw.d.ts",
4465
+ "default": "./pg-core/query-builders/raw.js"
4466
+ },
4467
+ "./pg-core/query-builders/refresh-materialized-view": {
4468
+ "import": {
4469
+ "types": "./pg-core/query-builders/refresh-materialized-view.d.ts",
4470
+ "default": "./pg-core/query-builders/refresh-materialized-view.js"
4471
+ },
4472
+ "require": {
4473
+ "types": "./pg-core/query-builders/refresh-materialized-view.d.cts",
4474
+ "default": "./pg-core/query-builders/refresh-materialized-view.cjs"
4475
+ },
4476
+ "types": "./pg-core/query-builders/refresh-materialized-view.d.ts",
4477
+ "default": "./pg-core/query-builders/refresh-materialized-view.js"
4478
+ },
4479
+ "./pg-core/query-builders/select": {
4480
+ "import": {
4481
+ "types": "./pg-core/query-builders/select.d.ts",
4482
+ "default": "./pg-core/query-builders/select.js"
4483
+ },
4484
+ "require": {
4485
+ "types": "./pg-core/query-builders/select.d.cts",
4486
+ "default": "./pg-core/query-builders/select.cjs"
4487
+ },
4488
+ "types": "./pg-core/query-builders/select.d.ts",
4489
+ "default": "./pg-core/query-builders/select.js"
4490
+ },
4491
+ "./pg-core/query-builders/select.types": {
4492
+ "import": {
4493
+ "types": "./pg-core/query-builders/select.types.d.ts",
4494
+ "default": "./pg-core/query-builders/select.types.js"
4495
+ },
4496
+ "require": {
4497
+ "types": "./pg-core/query-builders/select.types.d.cts",
4498
+ "default": "./pg-core/query-builders/select.types.cjs"
4499
+ },
4500
+ "types": "./pg-core/query-builders/select.types.d.ts",
4501
+ "default": "./pg-core/query-builders/select.types.js"
4502
+ },
4503
+ "./pg-core/query-builders/update": {
4504
+ "import": {
4505
+ "types": "./pg-core/query-builders/update.d.ts",
4506
+ "default": "./pg-core/query-builders/update.js"
4507
+ },
4508
+ "require": {
4509
+ "types": "./pg-core/query-builders/update.d.cts",
4510
+ "default": "./pg-core/query-builders/update.cjs"
4511
+ },
4512
+ "types": "./pg-core/query-builders/update.d.ts",
4513
+ "default": "./pg-core/query-builders/update.js"
4514
+ },
4525
4515
  "./pg-core/utils/array": {
4526
4516
  "import": {
4527
4517
  "types": "./pg-core/utils/array.d.ts",
@@ -20,13 +20,42 @@ var enum_exports = {};
20
20
  __export(enum_exports, {
21
21
  PgEnumColumn: () => PgEnumColumn,
22
22
  PgEnumColumnBuilder: () => PgEnumColumnBuilder,
23
+ PgEnumObjectColumn: () => PgEnumObjectColumn,
24
+ PgEnumObjectColumnBuilder: () => PgEnumObjectColumnBuilder,
23
25
  isPgEnum: () => isPgEnum,
24
26
  pgEnum: () => pgEnum,
27
+ pgEnumObjectWithSchema: () => pgEnumObjectWithSchema,
25
28
  pgEnumWithSchema: () => pgEnumWithSchema
26
29
  });
27
30
  module.exports = __toCommonJS(enum_exports);
28
31
  var import_entity = require("../../entity.cjs");
29
32
  var import_common = require("./common.cjs");
33
+ class PgEnumObjectColumnBuilder extends import_common.PgColumnBuilder {
34
+ static [import_entity.entityKind] = "PgEnumObjectColumnBuilder";
35
+ constructor(name, enumInstance) {
36
+ super(name, "string", "PgEnumObjectColumn");
37
+ this.config.enum = enumInstance;
38
+ }
39
+ /** @internal */
40
+ build(table) {
41
+ return new PgEnumObjectColumn(
42
+ table,
43
+ this.config
44
+ );
45
+ }
46
+ }
47
+ class PgEnumObjectColumn extends import_common.PgColumn {
48
+ static [import_entity.entityKind] = "PgEnumObjectColumn";
49
+ enum;
50
+ enumValues = this.config.enum.enumValues;
51
+ constructor(table, config) {
52
+ super(table, config);
53
+ this.enum = config.enum;
54
+ }
55
+ getSQLType() {
56
+ return this.enum.enumName;
57
+ }
58
+ }
30
59
  const isPgEnumSym = Symbol.for("drizzle:isPgEnum");
31
60
  function isPgEnum(obj) {
32
61
  return !!obj && typeof obj === "function" && isPgEnumSym in obj && obj[isPgEnumSym] === true;
@@ -57,8 +86,8 @@ class PgEnumColumn extends import_common.PgColumn {
57
86
  return this.enum.enumName;
58
87
  }
59
88
  }
60
- function pgEnum(enumName, values) {
61
- return pgEnumWithSchema(enumName, values, void 0);
89
+ function pgEnum(enumName, input) {
90
+ return Array.isArray(input) ? pgEnumWithSchema(enumName, [...input], void 0) : pgEnumObjectWithSchema(enumName, input, void 0);
62
91
  }
63
92
  function pgEnumWithSchema(enumName, values, schema) {
64
93
  const enumInstance = Object.assign(
@@ -72,12 +101,27 @@ function pgEnumWithSchema(enumName, values, schema) {
72
101
  );
73
102
  return enumInstance;
74
103
  }
104
+ function pgEnumObjectWithSchema(enumName, values, schema) {
105
+ const enumInstance = Object.assign(
106
+ (name) => new PgEnumObjectColumnBuilder(name ?? "", enumInstance),
107
+ {
108
+ enumName,
109
+ enumValues: Object.values(values),
110
+ schema,
111
+ [isPgEnumSym]: true
112
+ }
113
+ );
114
+ return enumInstance;
115
+ }
75
116
  // Annotate the CommonJS export names for ESM import in node:
76
117
  0 && (module.exports = {
77
118
  PgEnumColumn,
78
119
  PgEnumColumnBuilder,
120
+ PgEnumObjectColumn,
121
+ PgEnumObjectColumnBuilder,
79
122
  isPgEnum,
80
123
  pgEnum,
124
+ pgEnumObjectWithSchema,
81
125
  pgEnumWithSchema
82
126
  });
83
127
  //# sourceMappingURL=enum.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/pg-core/columns/enum.ts"],"sourcesContent":["import type { ColumnBuilderBaseConfig, ColumnBuilderRuntimeConfig, MakeColumnConfig } from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { AnyPgTable } from '~/pg-core/table.ts';\nimport type { Writable } from '~/utils.ts';\nimport { PgColumn, PgColumnBuilder } from './common.ts';\n\nexport type PgEnumColumnBuilderInitial<TName extends string, TValues extends [string, ...string[]]> =\n\tPgEnumColumnBuilder<{\n\t\tname: TName;\n\t\tdataType: 'string';\n\t\tcolumnType: 'PgEnumColumn';\n\t\tdata: TValues[number];\n\t\tenumValues: TValues;\n\t\tdriverParam: string;\n\t}>;\n\nconst isPgEnumSym = Symbol.for('drizzle:isPgEnum');\nexport interface PgEnum<TValues extends [string, ...string[]]> {\n\t(): PgEnumColumnBuilderInitial<'', TValues>;\n\t<TName extends string>(name: TName): PgEnumColumnBuilderInitial<TName, TValues>;\n\t<TName extends string>(name?: TName): PgEnumColumnBuilderInitial<TName, TValues>;\n\n\treadonly enumName: string;\n\treadonly enumValues: TValues;\n\treadonly schema: string | undefined;\n\t/** @internal */\n\t[isPgEnumSym]: true;\n}\n\nexport function isPgEnum(obj: unknown): obj is PgEnum<[string, ...string[]]> {\n\treturn !!obj && typeof obj === 'function' && isPgEnumSym in obj && obj[isPgEnumSym] === true;\n}\n\nexport class PgEnumColumnBuilder<\n\tT extends ColumnBuilderBaseConfig<'string', 'PgEnumColumn'> & { enumValues: [string, ...string[]] },\n> extends PgColumnBuilder<T, { enum: PgEnum<T['enumValues']> }> {\n\tstatic override readonly [entityKind]: string = 'PgEnumColumnBuilder';\n\n\tconstructor(name: T['name'], enumInstance: PgEnum<T['enumValues']>) {\n\t\tsuper(name, 'string', 'PgEnumColumn');\n\t\tthis.config.enum = enumInstance;\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnyPgTable<{ name: TTableName }>,\n\t): PgEnumColumn<MakeColumnConfig<T, TTableName>> {\n\t\treturn new PgEnumColumn<MakeColumnConfig<T, TTableName>>(\n\t\t\ttable,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig<any, any>,\n\t\t);\n\t}\n}\n\nexport class PgEnumColumn<T extends ColumnBaseConfig<'string', 'PgEnumColumn'> & { enumValues: [string, ...string[]] }>\n\textends PgColumn<T, { enum: PgEnum<T['enumValues']> }>\n{\n\tstatic override readonly [entityKind]: string = 'PgEnumColumn';\n\n\treadonly enum = this.config.enum;\n\toverride readonly enumValues = this.config.enum.enumValues;\n\n\tconstructor(\n\t\ttable: AnyPgTable<{ name: T['tableName'] }>,\n\t\tconfig: PgEnumColumnBuilder<T>['config'],\n\t) {\n\t\tsuper(table, config);\n\t\tthis.enum = config.enum;\n\t}\n\n\tgetSQLType(): string {\n\t\treturn this.enum.enumName;\n\t}\n}\n\n// Gratitude to zod for the enum function types\nexport function pgEnum<U extends string, T extends Readonly<[U, ...U[]]>>(\n\tenumName: string,\n\tvalues: T | Writable<T>,\n): PgEnum<Writable<T>> {\n\treturn pgEnumWithSchema(enumName, values, undefined);\n}\n\n/** @internal */\nexport function pgEnumWithSchema<U extends string, T extends Readonly<[U, ...U[]]>>(\n\tenumName: string,\n\tvalues: T | Writable<T>,\n\tschema?: string,\n): PgEnum<Writable<T>> {\n\tconst enumInstance: PgEnum<Writable<T>> = Object.assign(\n\t\t<TName extends string>(name?: TName): PgEnumColumnBuilderInitial<TName, Writable<T>> =>\n\t\t\tnew PgEnumColumnBuilder(name ?? '' as TName, enumInstance),\n\t\t{\n\t\t\tenumName,\n\t\t\tenumValues: values,\n\t\t\tschema,\n\t\t\t[isPgEnumSym]: true,\n\t\t} as const,\n\t);\n\n\treturn enumInstance;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,oBAA2B;AAG3B,oBAA0C;AAY1C,MAAM,cAAc,OAAO,IAAI,kBAAkB;AAa1C,SAAS,SAAS,KAAoD;AAC5E,SAAO,CAAC,CAAC,OAAO,OAAO,QAAQ,cAAc,eAAe,OAAO,IAAI,WAAW,MAAM;AACzF;AAEO,MAAM,4BAEH,8BAAsD;AAAA,EAC/D,QAA0B,wBAAU,IAAY;AAAA,EAEhD,YAAY,MAAiB,cAAuC;AACnE,UAAM,MAAM,UAAU,cAAc;AACpC,SAAK,OAAO,OAAO;AAAA,EACpB;AAAA;AAAA,EAGS,MACR,OACgD;AAChD,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,qBACJ,uBACT;AAAA,EACC,QAA0B,wBAAU,IAAY;AAAA,EAEvC,OAAO,KAAK,OAAO;AAAA,EACV,aAAa,KAAK,OAAO,KAAK;AAAA,EAEhD,YACC,OACA,QACC;AACD,UAAM,OAAO,MAAM;AACnB,SAAK,OAAO,OAAO;AAAA,EACpB;AAAA,EAEA,aAAqB;AACpB,WAAO,KAAK,KAAK;AAAA,EAClB;AACD;AAGO,SAAS,OACf,UACA,QACsB;AACtB,SAAO,iBAAiB,UAAU,QAAQ,MAAS;AACpD;AAGO,SAAS,iBACf,UACA,QACA,QACsB;AACtB,QAAM,eAAoC,OAAO;AAAA,IAChD,CAAuB,SACtB,IAAI,oBAAoB,QAAQ,IAAa,YAAY;AAAA,IAC1D;AAAA,MACC;AAAA,MACA,YAAY;AAAA,MACZ;AAAA,MACA,CAAC,WAAW,GAAG;AAAA,IAChB;AAAA,EACD;AAEA,SAAO;AACR;","names":[]}
1
+ {"version":3,"sources":["../../../src/pg-core/columns/enum.ts"],"sourcesContent":["import type { ColumnBuilderBaseConfig, ColumnBuilderRuntimeConfig, MakeColumnConfig } from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { AnyPgTable } from '~/pg-core/table.ts';\nimport type { NonArray, Writable } from '~/utils.ts';\nimport { PgColumn, PgColumnBuilder } from './common.ts';\n\n// Enum as ts enum\n\nexport type PgEnumObjectColumnBuilderInitial<TName extends string, TValues extends object> = PgEnumObjectColumnBuilder<{\n\tname: TName;\n\tdataType: 'string';\n\tcolumnType: 'PgEnumObjectColumn';\n\tdata: TValues[keyof TValues];\n\tenumValues: string[];\n\tdriverParam: string;\n}>;\n\nexport interface PgEnumObject<TValues extends object> {\n\t(): PgEnumObjectColumnBuilderInitial<'', TValues>;\n\t<TName extends string>(name: TName): PgEnumObjectColumnBuilderInitial<TName, TValues>;\n\t<TName extends string>(name?: TName): PgEnumObjectColumnBuilderInitial<TName, TValues>;\n\n\treadonly enumName: string;\n\treadonly enumValues: string[];\n\treadonly schema: string | undefined;\n\t/** @internal */\n\t[isPgEnumSym]: true;\n}\n\nexport class PgEnumObjectColumnBuilder<\n\tT extends ColumnBuilderBaseConfig<'string', 'PgEnumObjectColumn'> & { enumValues: string[] },\n> extends PgColumnBuilder<T, { enum: PgEnumObject<any> }> {\n\tstatic override readonly [entityKind]: string = 'PgEnumObjectColumnBuilder';\n\n\tconstructor(name: T['name'], enumInstance: PgEnumObject<any>) {\n\t\tsuper(name, 'string', 'PgEnumObjectColumn');\n\t\tthis.config.enum = enumInstance;\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnyPgTable<{ name: TTableName }>,\n\t): PgEnumObjectColumn<MakeColumnConfig<T, TTableName>> {\n\t\treturn new PgEnumObjectColumn<MakeColumnConfig<T, TTableName>>(\n\t\t\ttable,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig<any, any>,\n\t\t);\n\t}\n}\n\nexport class PgEnumObjectColumn<T extends ColumnBaseConfig<'string', 'PgEnumObjectColumn'> & { enumValues: object }>\n\textends PgColumn<T, { enum: PgEnumObject<object> }>\n{\n\tstatic override readonly [entityKind]: string = 'PgEnumObjectColumn';\n\n\treadonly enum;\n\toverride readonly enumValues = this.config.enum.enumValues;\n\n\tconstructor(\n\t\ttable: AnyPgTable<{ name: T['tableName'] }>,\n\t\tconfig: PgEnumObjectColumnBuilder<T>['config'],\n\t) {\n\t\tsuper(table, config);\n\t\tthis.enum = config.enum;\n\t}\n\n\tgetSQLType(): string {\n\t\treturn this.enum.enumName;\n\t}\n}\n\n// Enum as string union\n\nexport type PgEnumColumnBuilderInitial<TName extends string, TValues extends [string, ...string[]]> =\n\tPgEnumColumnBuilder<{\n\t\tname: TName;\n\t\tdataType: 'string';\n\t\tcolumnType: 'PgEnumColumn';\n\t\tdata: TValues[number];\n\t\tenumValues: TValues;\n\t\tdriverParam: string;\n\t}>;\n\nconst isPgEnumSym = Symbol.for('drizzle:isPgEnum');\nexport interface PgEnum<TValues extends [string, ...string[]]> {\n\t(): PgEnumColumnBuilderInitial<'', TValues>;\n\t<TName extends string>(name: TName): PgEnumColumnBuilderInitial<TName, TValues>;\n\t<TName extends string>(name?: TName): PgEnumColumnBuilderInitial<TName, TValues>;\n\n\treadonly enumName: string;\n\treadonly enumValues: TValues;\n\treadonly schema: string | undefined;\n\t/** @internal */\n\t[isPgEnumSym]: true;\n}\n\nexport function isPgEnum(obj: unknown): obj is PgEnum<[string, ...string[]]> {\n\treturn !!obj && typeof obj === 'function' && isPgEnumSym in obj && obj[isPgEnumSym] === true;\n}\n\nexport class PgEnumColumnBuilder<\n\tT extends ColumnBuilderBaseConfig<'string', 'PgEnumColumn'> & { enumValues: [string, ...string[]] },\n> extends PgColumnBuilder<T, { enum: PgEnum<T['enumValues']> }> {\n\tstatic override readonly [entityKind]: string = 'PgEnumColumnBuilder';\n\n\tconstructor(name: T['name'], enumInstance: PgEnum<T['enumValues']>) {\n\t\tsuper(name, 'string', 'PgEnumColumn');\n\t\tthis.config.enum = enumInstance;\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnyPgTable<{ name: TTableName }>,\n\t): PgEnumColumn<MakeColumnConfig<T, TTableName>> {\n\t\treturn new PgEnumColumn<MakeColumnConfig<T, TTableName>>(\n\t\t\ttable,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig<any, any>,\n\t\t);\n\t}\n}\n\nexport class PgEnumColumn<T extends ColumnBaseConfig<'string', 'PgEnumColumn'> & { enumValues: [string, ...string[]] }>\n\textends PgColumn<T, { enum: PgEnum<T['enumValues']> }>\n{\n\tstatic override readonly [entityKind]: string = 'PgEnumColumn';\n\n\treadonly enum = this.config.enum;\n\toverride readonly enumValues = this.config.enum.enumValues;\n\n\tconstructor(\n\t\ttable: AnyPgTable<{ name: T['tableName'] }>,\n\t\tconfig: PgEnumColumnBuilder<T>['config'],\n\t) {\n\t\tsuper(table, config);\n\t\tthis.enum = config.enum;\n\t}\n\n\tgetSQLType(): string {\n\t\treturn this.enum.enumName;\n\t}\n}\n\nexport function pgEnum<U extends string, T extends Readonly<[U, ...U[]]>>(\n\tenumName: string,\n\tvalues: T | Writable<T>,\n): PgEnum<Writable<T>>;\n\nexport function pgEnum<E extends Record<string, string>>(\n\tenumName: string,\n\tenumObj: NonArray<E>,\n): PgEnumObject<E>;\n\nexport function pgEnum(\n\tenumName: any,\n\tinput: any,\n): any {\n\treturn Array.isArray(input)\n\t\t? pgEnumWithSchema(enumName, [...input] as [string, ...string[]], undefined)\n\t\t: pgEnumObjectWithSchema(enumName, input, undefined);\n}\n\n/** @internal */\nexport function pgEnumWithSchema<U extends string, T extends Readonly<[U, ...U[]]>>(\n\tenumName: string,\n\tvalues: T | Writable<T>,\n\tschema?: string,\n): PgEnum<Writable<T>> {\n\tconst enumInstance: PgEnum<Writable<T>> = Object.assign(\n\t\t<TName extends string>(name?: TName): PgEnumColumnBuilderInitial<TName, Writable<T>> =>\n\t\t\tnew PgEnumColumnBuilder(name ?? '' as TName, enumInstance),\n\t\t{\n\t\t\tenumName,\n\t\t\tenumValues: values,\n\t\t\tschema,\n\t\t\t[isPgEnumSym]: true,\n\t\t} as const,\n\t);\n\n\treturn enumInstance;\n}\n\n/** @internal */\nexport function pgEnumObjectWithSchema<T extends object>(\n\tenumName: string,\n\tvalues: T,\n\tschema?: string,\n): PgEnumObject<T> {\n\tconst enumInstance: PgEnumObject<T> = Object.assign(\n\t\t<TName extends string>(name?: TName): PgEnumObjectColumnBuilderInitial<TName, T> =>\n\t\t\tnew PgEnumObjectColumnBuilder(name ?? '' as TName, enumInstance),\n\t\t{\n\t\t\tenumName,\n\t\t\tenumValues: Object.values(values),\n\t\t\tschema,\n\t\t\t[isPgEnumSym]: true,\n\t\t} as const,\n\t);\n\n\treturn enumInstance;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,oBAA2B;AAG3B,oBAA0C;AAyBnC,MAAM,kCAEH,8BAAgD;AAAA,EACzD,QAA0B,wBAAU,IAAY;AAAA,EAEhD,YAAY,MAAiB,cAAiC;AAC7D,UAAM,MAAM,UAAU,oBAAoB;AAC1C,SAAK,OAAO,OAAO;AAAA,EACpB;AAAA;AAAA,EAGS,MACR,OACsD;AACtD,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,2BACJ,uBACT;AAAA,EACC,QAA0B,wBAAU,IAAY;AAAA,EAEvC;AAAA,EACS,aAAa,KAAK,OAAO,KAAK;AAAA,EAEhD,YACC,OACA,QACC;AACD,UAAM,OAAO,MAAM;AACnB,SAAK,OAAO,OAAO;AAAA,EACpB;AAAA,EAEA,aAAqB;AACpB,WAAO,KAAK,KAAK;AAAA,EAClB;AACD;AAcA,MAAM,cAAc,OAAO,IAAI,kBAAkB;AAa1C,SAAS,SAAS,KAAoD;AAC5E,SAAO,CAAC,CAAC,OAAO,OAAO,QAAQ,cAAc,eAAe,OAAO,IAAI,WAAW,MAAM;AACzF;AAEO,MAAM,4BAEH,8BAAsD;AAAA,EAC/D,QAA0B,wBAAU,IAAY;AAAA,EAEhD,YAAY,MAAiB,cAAuC;AACnE,UAAM,MAAM,UAAU,cAAc;AACpC,SAAK,OAAO,OAAO;AAAA,EACpB;AAAA;AAAA,EAGS,MACR,OACgD;AAChD,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,qBACJ,uBACT;AAAA,EACC,QAA0B,wBAAU,IAAY;AAAA,EAEvC,OAAO,KAAK,OAAO;AAAA,EACV,aAAa,KAAK,OAAO,KAAK;AAAA,EAEhD,YACC,OACA,QACC;AACD,UAAM,OAAO,MAAM;AACnB,SAAK,OAAO,OAAO;AAAA,EACpB;AAAA,EAEA,aAAqB;AACpB,WAAO,KAAK,KAAK;AAAA,EAClB;AACD;AAYO,SAAS,OACf,UACA,OACM;AACN,SAAO,MAAM,QAAQ,KAAK,IACvB,iBAAiB,UAAU,CAAC,GAAG,KAAK,GAA4B,MAAS,IACzE,uBAAuB,UAAU,OAAO,MAAS;AACrD;AAGO,SAAS,iBACf,UACA,QACA,QACsB;AACtB,QAAM,eAAoC,OAAO;AAAA,IAChD,CAAuB,SACtB,IAAI,oBAAoB,QAAQ,IAAa,YAAY;AAAA,IAC1D;AAAA,MACC;AAAA,MACA,YAAY;AAAA,MACZ;AAAA,MACA,CAAC,WAAW,GAAG;AAAA,IAChB;AAAA,EACD;AAEA,SAAO;AACR;AAGO,SAAS,uBACf,UACA,QACA,QACkB;AAClB,QAAM,eAAgC,OAAO;AAAA,IAC5C,CAAuB,SACtB,IAAI,0BAA0B,QAAQ,IAAa,YAAY;AAAA,IAChE;AAAA,MACC;AAAA,MACA,YAAY,OAAO,OAAO,MAAM;AAAA,MAChC;AAAA,MACA,CAAC,WAAW,GAAG;AAAA,IAChB;AAAA,EACD;AAEA,SAAO;AACR;","names":[]}
@@ -2,8 +2,45 @@ import type { ColumnBuilderBaseConfig } from "../../column-builder.cjs";
2
2
  import type { ColumnBaseConfig } from "../../column.cjs";
3
3
  import { entityKind } from "../../entity.cjs";
4
4
  import type { AnyPgTable } from "../table.cjs";
5
- import type { Writable } from "../../utils.cjs";
5
+ import type { NonArray, Writable } from "../../utils.cjs";
6
6
  import { PgColumn, PgColumnBuilder } from "./common.cjs";
7
+ export type PgEnumObjectColumnBuilderInitial<TName extends string, TValues extends object> = PgEnumObjectColumnBuilder<{
8
+ name: TName;
9
+ dataType: 'string';
10
+ columnType: 'PgEnumObjectColumn';
11
+ data: TValues[keyof TValues];
12
+ enumValues: string[];
13
+ driverParam: string;
14
+ }>;
15
+ export interface PgEnumObject<TValues extends object> {
16
+ (): PgEnumObjectColumnBuilderInitial<'', TValues>;
17
+ <TName extends string>(name: TName): PgEnumObjectColumnBuilderInitial<TName, TValues>;
18
+ <TName extends string>(name?: TName): PgEnumObjectColumnBuilderInitial<TName, TValues>;
19
+ readonly enumName: string;
20
+ readonly enumValues: string[];
21
+ readonly schema: string | undefined;
22
+ }
23
+ export declare class PgEnumObjectColumnBuilder<T extends ColumnBuilderBaseConfig<'string', 'PgEnumObjectColumn'> & {
24
+ enumValues: string[];
25
+ }> extends PgColumnBuilder<T, {
26
+ enum: PgEnumObject<any>;
27
+ }> {
28
+ static readonly [entityKind]: string;
29
+ constructor(name: T['name'], enumInstance: PgEnumObject<any>);
30
+ }
31
+ export declare class PgEnumObjectColumn<T extends ColumnBaseConfig<'string', 'PgEnumObjectColumn'> & {
32
+ enumValues: object;
33
+ }> extends PgColumn<T, {
34
+ enum: PgEnumObject<object>;
35
+ }> {
36
+ static readonly [entityKind]: string;
37
+ readonly enum: PgEnumObject<any>;
38
+ readonly enumValues: string[];
39
+ constructor(table: AnyPgTable<{
40
+ name: T['tableName'];
41
+ }>, config: PgEnumObjectColumnBuilder<T>['config']);
42
+ getSQLType(): string;
43
+ }
7
44
  export type PgEnumColumnBuilderInitial<TName extends string, TValues extends [string, ...string[]]> = PgEnumColumnBuilder<{
8
45
  name: TName;
9
46
  dataType: 'string';
@@ -43,3 +80,4 @@ export declare class PgEnumColumn<T extends ColumnBaseConfig<'string', 'PgEnumCo
43
80
  getSQLType(): string;
44
81
  }
45
82
  export declare function pgEnum<U extends string, T extends Readonly<[U, ...U[]]>>(enumName: string, values: T | Writable<T>): PgEnum<Writable<T>>;
83
+ export declare function pgEnum<E extends Record<string, string>>(enumName: string, enumObj: NonArray<E>): PgEnumObject<E>;