@prisma-next/target-postgres 0.16.0-dev.32 → 0.16.0-dev.34

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 (87) hide show
  1. package/README.md +4 -0
  2. package/dist/{authoring-DnO1B0N9.mjs → authoring-DL-Y8A7_.mjs} +5 -5
  3. package/dist/{authoring-DnO1B0N9.mjs.map → authoring-DL-Y8A7_.mjs.map} +1 -1
  4. package/dist/codec-descriptor-C4SaWX0P.d.mts +36 -0
  5. package/dist/codec-descriptor-C4SaWX0P.d.mts.map +1 -0
  6. package/dist/codec-descriptor-cuAuPE0Y.mjs +142 -0
  7. package/dist/codec-descriptor-cuAuPE0Y.mjs.map +1 -0
  8. package/dist/codec-descriptor.d.mts +2 -0
  9. package/dist/codec-descriptor.mjs +2 -0
  10. package/dist/{codec-types-DdoPc2dy.d.mts → codec-types-Bstec0HR.d.mts} +9 -8
  11. package/dist/codec-types-Bstec0HR.d.mts.map +1 -0
  12. package/dist/codec-types.d.mts +1 -1
  13. package/dist/{codecs-Deand7sy.mjs → codecs-C-VA-quH.mjs} +228 -40
  14. package/dist/codecs-C-VA-quH.mjs.map +1 -0
  15. package/dist/{codecs-CGE5dh94.d.mts → codecs-Cd4TftwI.d.mts} +82 -29
  16. package/dist/codecs-Cd4TftwI.d.mts.map +1 -0
  17. package/dist/codecs.d.mts +4 -2
  18. package/dist/codecs.d.mts.map +1 -1
  19. package/dist/codecs.mjs +4 -2
  20. package/dist/codecs.mjs.map +1 -1
  21. package/dist/contract-free.mjs +2 -2
  22. package/dist/{control-policy-DEwdS3oK.mjs → control-policy-DMZVl4x7.mjs} +8 -8
  23. package/dist/{control-policy-DEwdS3oK.mjs.map → control-policy-DMZVl4x7.mjs.map} +1 -1
  24. package/dist/control.mjs +9 -9
  25. package/dist/{ddl-BQC6u-L9.mjs → ddl-Db1JOIMn.mjs} +2 -2
  26. package/dist/{ddl-BQC6u-L9.mjs.map → ddl-Db1JOIMn.mjs.map} +1 -1
  27. package/dist/{descriptor-meta-DGlJurgA.mjs → descriptor-meta-AnueS0OA.mjs} +4 -4
  28. package/dist/{descriptor-meta-DGlJurgA.mjs.map → descriptor-meta-AnueS0OA.mjs.map} +1 -1
  29. package/dist/{diff-database-schema-qRPwuYBH.mjs → diff-database-schema-CluGQkmh.mjs} +8 -8
  30. package/dist/{diff-database-schema-qRPwuYBH.mjs.map → diff-database-schema-CluGQkmh.mjs.map} +1 -1
  31. package/dist/diff-database-schema.mjs +1 -1
  32. package/dist/{errors-DBSNx7EJ.mjs → errors-l1usFTuz.mjs} +2 -2
  33. package/dist/{errors-DBSNx7EJ.mjs.map → errors-l1usFTuz.mjs.map} +1 -1
  34. package/dist/errors.d.mts +1 -1
  35. package/dist/errors.mjs +1 -1
  36. package/dist/issue-planner.mjs +1 -1
  37. package/dist/migration.mjs +2 -2
  38. package/dist/{op-factory-call-CIaPDDUc.mjs → op-factory-call-Cm13qr4w.mjs} +7 -7
  39. package/dist/{op-factory-call-CIaPDDUc.mjs.map → op-factory-call-Cm13qr4w.mjs.map} +1 -1
  40. package/dist/op-factory-call.mjs +1 -1
  41. package/dist/pack.d.mts +2 -2
  42. package/dist/pack.mjs +1 -1
  43. package/dist/{planner-BhnkIJX-.mjs → planner-CB0e-x6l.mjs} +9 -9
  44. package/dist/{planner-BhnkIJX-.mjs.map → planner-CB0e-x6l.mjs.map} +1 -1
  45. package/dist/{planner-ddl-builders-CVo3L7Nd.mjs → planner-ddl-builders-DX8DHY8D.mjs} +4 -4
  46. package/dist/{planner-ddl-builders-CVo3L7Nd.mjs.map → planner-ddl-builders-DX8DHY8D.mjs.map} +1 -1
  47. package/dist/planner-ddl-builders.mjs +1 -1
  48. package/dist/{planner-produced-postgres-migration-BE3EJIRK.mjs → planner-produced-postgres-migration-B0i-PVar.mjs} +3 -3
  49. package/dist/{planner-produced-postgres-migration-BE3EJIRK.mjs.map → planner-produced-postgres-migration-B0i-PVar.mjs.map} +1 -1
  50. package/dist/planner-produced-postgres-migration.mjs +1 -1
  51. package/dist/{planner-sql-checks-CmiQ6Nei.mjs → planner-sql-checks-D3Xsln1p.mjs} +3 -3
  52. package/dist/{planner-sql-checks-CmiQ6Nei.mjs.map → planner-sql-checks-D3Xsln1p.mjs.map} +1 -1
  53. package/dist/planner-sql-checks.mjs +1 -1
  54. package/dist/planner.mjs +2 -2
  55. package/dist/{postgres-contract-view-BeIEyZfD.mjs → postgres-contract-view-v-zxqBtj.mjs} +4 -4
  56. package/dist/{postgres-contract-view-BeIEyZfD.mjs.map → postgres-contract-view-v-zxqBtj.mjs.map} +1 -1
  57. package/dist/{postgres-migration--BzvpA92.mjs → postgres-migration-D_6w1hJj.mjs} +5 -5
  58. package/dist/{postgres-migration--BzvpA92.mjs.map → postgres-migration-D_6w1hJj.mjs.map} +1 -1
  59. package/dist/{postgres-native-enum-BwVNf0Ku.mjs → postgres-native-enum-DqjHPN11.mjs} +2 -2
  60. package/dist/{postgres-native-enum-BwVNf0Ku.mjs.map → postgres-native-enum-DqjHPN11.mjs.map} +1 -1
  61. package/dist/{postgres-role-schema-node-bg32e7I-.mjs → postgres-role-schema-node-DOkim7QI.mjs} +3 -3
  62. package/dist/{postgres-role-schema-node-bg32e7I-.mjs.map → postgres-role-schema-node-DOkim7QI.mjs.map} +1 -1
  63. package/dist/{postgres-schema-CTplQZDK.mjs → postgres-schema-DAhXnFac.mjs} +4 -4
  64. package/dist/{postgres-schema-CTplQZDK.mjs.map → postgres-schema-DAhXnFac.mjs.map} +1 -1
  65. package/dist/{postgres-table-schema-node-D6LvInCe.mjs → postgres-table-schema-node-DXzwiu16.mjs} +2 -2
  66. package/dist/{postgres-table-schema-node-D6LvInCe.mjs.map → postgres-table-schema-node-DXzwiu16.mjs.map} +1 -1
  67. package/dist/{render-ops-TcY9XEkz.mjs → render-ops-DIjVRr1-.mjs} +2 -2
  68. package/dist/{render-ops-TcY9XEkz.mjs.map → render-ops-DIjVRr1-.mjs.map} +1 -1
  69. package/dist/render-ops.mjs +1 -1
  70. package/dist/{resolve-ddl-schema-BAsJEKW8.mjs → resolve-ddl-schema-nTvL_9Nq.mjs} +2 -2
  71. package/dist/{resolve-ddl-schema-BAsJEKW8.mjs.map → resolve-ddl-schema-nTvL_9Nq.mjs.map} +1 -1
  72. package/dist/runtime.mjs +1 -1
  73. package/dist/schema-ir-annotations.mjs +1 -1
  74. package/dist/{sql-utils-B2lzkKfP.mjs → sql-utils-CuKSscKn.mjs} +2 -2
  75. package/dist/{sql-utils-B2lzkKfP.mjs.map → sql-utils-CuKSscKn.mjs.map} +1 -1
  76. package/dist/sql-utils.mjs +1 -1
  77. package/dist/types.mjs +4 -4
  78. package/package.json +21 -20
  79. package/src/core/codec-descriptor.ts +318 -0
  80. package/src/core/codec-type-map.ts +12 -14
  81. package/src/core/codecs.ts +232 -39
  82. package/src/core/registry.ts +4 -0
  83. package/src/exports/codec-descriptor.ts +11 -0
  84. package/src/exports/codecs.ts +4 -1
  85. package/dist/codec-types-DdoPc2dy.d.mts.map +0 -1
  86. package/dist/codecs-CGE5dh94.d.mts.map +0 -1
  87. package/dist/codecs-Deand7sy.mjs.map +0 -1
@@ -3,8 +3,7 @@
3
3
  *
4
4
  * Each codec ships as three artifacts:
5
5
  *
6
- * 1. A `PgXCodec` class extending {@link CodecImpl} that wraps the module-level encode/decode/encodeJson/decodeJson constants exported from `codec-helpers.ts` (the single source of truth for non-trivial runtime conversions; trivial identity passthroughs are inlined). 2. A `PgXDescriptor` class extending {@link CodecDescriptorImpl} declaring the codec id, traits, target types, params schema, meta, and (where applicable)
7
- * the emit-path `renderOutputType`. 3. A per-codec column helper (`pgXColumn`) that calls `descriptor.factory(...)` directly and packages the result into a framework `ColumnSpec` via the framework {@link column} packager. The helper is tied to its descriptor with `satisfies ColumnHelperFor` (and `ColumnHelperForStrict` where the resolved codec type is well-defined).
6
+ * 1. A `PgXCodec` class extending {@link CodecImpl} that wraps the module-level encode/decode/encodeJson/decodeJson constants exported from `codec-helpers.ts` (the single source of truth for non-trivial runtime conversions; trivial identity passthroughs are inlined). 2. A `PgXDescriptor` class extending {@link PostgresCodecDescriptor} declaring the codec id, traits, target types, params schema, meta, native type, current scalar JSON projection, and (where applicable) the emit-path `renderOutputType`. 3. A per-codec column helper (`pgXColumn`) that calls `descriptor.factory(...)` directly and packages the result into a framework `ColumnSpec` via the framework {@link column} packager. The helper is tied to its descriptor with `satisfies ColumnHelperFor` (and `ColumnHelperForStrict` where the resolved codec type is well-defined).
8
7
  *
9
8
  * After TML-2357 this is the canonical source of Postgres codec metadata and runtime behaviour — the legacy `mkCodec` / `defineCodec` carriers (and the parallel `byScalar`/`codecDescriptorDefinitions`/ `codecDescriptorList` collection exports) retired with the deletion sweep.
10
9
  *
@@ -14,9 +13,7 @@
14
13
 
15
14
  import type { JsonValue } from '@prisma-next/contract/types';
16
15
  import {
17
- type AnyCodecDescriptor,
18
16
  type CodecCallContext,
19
- CodecDescriptorImpl,
20
17
  CodecImpl,
21
18
  type CodecInstanceContext,
22
19
  type CodecMeta,
@@ -28,6 +25,7 @@ import {
28
25
  } from '@prisma-next/framework-components/codec';
29
26
  import { UNBOUND_NAMESPACE_ID } from '@prisma-next/framework-components/ir';
30
27
  import {
28
+ type ProjectionExpr,
31
29
  SqlCharCodec,
32
30
  SqlFloatCodec,
33
31
  SqlIntCodec,
@@ -42,6 +40,7 @@ import {
42
40
  import { blindCast } from '@prisma-next/utils/casts';
43
41
  import type { StandardSchemaV1 } from '@standard-schema/spec';
44
42
  import { type as arktype } from 'arktype';
43
+ import { definePostgresCodecs, PostgresCodecDescriptor, postgresCodec } from './codec-descriptor';
45
44
  import {
46
45
  pgByteaDecodeJson,
47
46
  pgByteaEncodeJson,
@@ -138,6 +137,38 @@ const PG_INTERVAL_META = { db: { sql: { postgres: { nativeType: 'interval' } } }
138
137
  const PG_JSON_META = { db: { sql: { postgres: { nativeType: 'json' } } } } as const;
139
138
  const PG_JSONB_META = { db: { sql: { postgres: { nativeType: 'jsonb' } } } } as const;
140
139
 
140
+ const identityJsonProjection = (expression: ProjectionExpr): ProjectionExpr => expression;
141
+
142
+ export const postgresSqlCharDescriptor = postgresCodec(sqlCharDescriptor, {
143
+ nativeType: () => 'character',
144
+ jsonProjection: identityJsonProjection,
145
+ });
146
+
147
+ export const postgresSqlVarcharDescriptor = postgresCodec(sqlVarcharDescriptor, {
148
+ nativeType: () => 'character varying',
149
+ jsonProjection: identityJsonProjection,
150
+ });
151
+
152
+ export const postgresSqlIntDescriptor = postgresCodec(sqlIntDescriptor, {
153
+ nativeType: () => 'int4',
154
+ jsonProjection: identityJsonProjection,
155
+ });
156
+
157
+ export const postgresSqlFloatDescriptor = postgresCodec(sqlFloatDescriptor, {
158
+ nativeType: () => 'float8',
159
+ jsonProjection: identityJsonProjection,
160
+ });
161
+
162
+ export const postgresSqlTextDescriptor = postgresCodec(sqlTextDescriptor, {
163
+ nativeType: () => 'text',
164
+ jsonProjection: identityJsonProjection,
165
+ });
166
+
167
+ export const postgresSqlTimestampDescriptor = postgresCodec(sqlTimestampDescriptor, {
168
+ nativeType: () => 'timestamp',
169
+ jsonProjection: identityJsonProjection,
170
+ });
171
+
141
172
  export class PgTextCodec extends CodecImpl<
142
173
  typeof PG_TEXT_CODEC_ID,
143
174
  readonly ['equality', 'order', 'textual'],
@@ -158,7 +189,13 @@ export class PgTextCodec extends CodecImpl<
158
189
  }
159
190
  }
160
191
 
161
- export class PgTextDescriptor extends CodecDescriptorImpl<void> {
192
+ export class PgTextDescriptor extends PostgresCodecDescriptor<void> {
193
+ protected override nativeType(): string {
194
+ return PG_TEXT_META.db.sql.postgres.nativeType;
195
+ }
196
+ protected override jsonProjection(expression: ProjectionExpr): ProjectionExpr {
197
+ return expression;
198
+ }
162
199
  override readonly codecId = PG_TEXT_CODEC_ID;
163
200
  override readonly traits = ['equality', 'order', 'textual'] as const;
164
201
  override readonly targetTypes = ['text'] as const;
@@ -239,7 +276,13 @@ const pgEnumParamsSchema = arktype({
239
276
  typeName: 'string',
240
277
  }) satisfies StandardSchemaV1<PgEnumParams>;
241
278
 
242
- export class PgEnumDescriptor extends CodecDescriptorImpl<PgEnumParams> {
279
+ export class PgEnumDescriptor extends PostgresCodecDescriptor<PgEnumParams> {
280
+ protected override nativeType(params: PgEnumParams): string {
281
+ return params.typeName;
282
+ }
283
+ protected override jsonProjection(expression: ProjectionExpr): ProjectionExpr {
284
+ return expression;
285
+ }
243
286
  override readonly codecId = PG_ENUM_CODEC_ID;
244
287
  override readonly traits = ['equality', 'order', 'textual'] as const;
245
288
  override readonly targetTypes = ['text'] as const;
@@ -353,7 +396,13 @@ export class PgTextArrayCodec extends CodecImpl<
353
396
  }
354
397
  }
355
398
 
356
- export class PgTextArrayDescriptor extends CodecDescriptorImpl<void> {
399
+ export class PgTextArrayDescriptor extends PostgresCodecDescriptor<void> {
400
+ protected override nativeType(): string {
401
+ return PG_TEXT_ARRAY_META.db.sql.postgres.nativeType;
402
+ }
403
+ protected override jsonProjection(expression: ProjectionExpr): ProjectionExpr {
404
+ return expression;
405
+ }
357
406
  override readonly codecId = PG_TEXT_ARRAY_CODEC_ID;
358
407
  override readonly traits = ['equality'] as const;
359
408
  override readonly targetTypes = ['text[]'] as const;
@@ -386,7 +435,13 @@ export class PgInt4Codec extends CodecImpl<
386
435
  }
387
436
  }
388
437
 
389
- export class PgInt4Descriptor extends CodecDescriptorImpl<void> {
438
+ export class PgInt4Descriptor extends PostgresCodecDescriptor<void> {
439
+ protected override nativeType(): string {
440
+ return PG_INT4_META.db.sql.postgres.nativeType;
441
+ }
442
+ protected override jsonProjection(expression: ProjectionExpr): ProjectionExpr {
443
+ return expression;
444
+ }
390
445
  override readonly codecId = PG_INT4_CODEC_ID;
391
446
  override readonly traits = ['equality', 'order', 'numeric'] as const;
392
447
  override readonly targetTypes = ['int4'] as const;
@@ -428,7 +483,13 @@ export class PgInt2Codec extends CodecImpl<
428
483
  }
429
484
  }
430
485
 
431
- export class PgInt2Descriptor extends CodecDescriptorImpl<void> {
486
+ export class PgInt2Descriptor extends PostgresCodecDescriptor<void> {
487
+ protected override nativeType(): string {
488
+ return PG_INT2_META.db.sql.postgres.nativeType;
489
+ }
490
+ protected override jsonProjection(expression: ProjectionExpr): ProjectionExpr {
491
+ return expression;
492
+ }
432
493
  override readonly codecId = PG_INT2_CODEC_ID;
433
494
  override readonly traits = ['equality', 'order', 'numeric'] as const;
434
495
  override readonly targetTypes = ['int2'] as const;
@@ -470,7 +531,13 @@ export class PgInt8Codec extends CodecImpl<
470
531
  }
471
532
  }
472
533
 
473
- export class PgInt8Descriptor extends CodecDescriptorImpl<void> {
534
+ export class PgInt8Descriptor extends PostgresCodecDescriptor<void> {
535
+ protected override nativeType(): string {
536
+ return PG_INT8_META.db.sql.postgres.nativeType;
537
+ }
538
+ protected override jsonProjection(expression: ProjectionExpr): ProjectionExpr {
539
+ return expression;
540
+ }
474
541
  override readonly codecId = PG_INT8_CODEC_ID;
475
542
  override readonly traits = ['equality', 'order', 'numeric'] as const;
476
543
  override readonly targetTypes = ['int8'] as const;
@@ -512,7 +579,13 @@ export class PgFloat4Codec extends CodecImpl<
512
579
  }
513
580
  }
514
581
 
515
- export class PgFloat4Descriptor extends CodecDescriptorImpl<void> {
582
+ export class PgFloat4Descriptor extends PostgresCodecDescriptor<void> {
583
+ protected override nativeType(): string {
584
+ return PG_FLOAT4_META.db.sql.postgres.nativeType;
585
+ }
586
+ protected override jsonProjection(expression: ProjectionExpr): ProjectionExpr {
587
+ return expression;
588
+ }
516
589
  override readonly codecId = PG_FLOAT4_CODEC_ID;
517
590
  override readonly traits = ['equality', 'order', 'numeric'] as const;
518
591
  override readonly targetTypes = ['float4'] as const;
@@ -554,7 +627,13 @@ export class PgFloat8Codec extends CodecImpl<
554
627
  }
555
628
  }
556
629
 
557
- export class PgFloat8Descriptor extends CodecDescriptorImpl<void> {
630
+ export class PgFloat8Descriptor extends PostgresCodecDescriptor<void> {
631
+ protected override nativeType(): string {
632
+ return PG_FLOAT8_META.db.sql.postgres.nativeType;
633
+ }
634
+ protected override jsonProjection(expression: ProjectionExpr): ProjectionExpr {
635
+ return expression;
636
+ }
558
637
  override readonly codecId = PG_FLOAT8_CODEC_ID;
559
638
  override readonly traits = ['equality', 'order', 'numeric'] as const;
560
639
  override readonly targetTypes = ['float8'] as const;
@@ -596,7 +675,13 @@ export class PgBoolCodec extends CodecImpl<
596
675
  }
597
676
  }
598
677
 
599
- export class PgBoolDescriptor extends CodecDescriptorImpl<void> {
678
+ export class PgBoolDescriptor extends PostgresCodecDescriptor<void> {
679
+ protected override nativeType(): string {
680
+ return PG_BOOL_META.db.sql.postgres.nativeType;
681
+ }
682
+ protected override jsonProjection(expression: ProjectionExpr): ProjectionExpr {
683
+ return expression;
684
+ }
600
685
  override readonly codecId = PG_BOOL_CODEC_ID;
601
686
  override readonly traits = ['equality', 'boolean'] as const;
602
687
  override readonly targetTypes = ['bool'] as const;
@@ -653,7 +738,13 @@ export class PgNumericCodec extends CodecImpl<
653
738
  }
654
739
  }
655
740
 
656
- export class PgNumericDescriptor extends CodecDescriptorImpl<NumericParams> {
741
+ export class PgNumericDescriptor extends PostgresCodecDescriptor<NumericParams> {
742
+ protected override nativeType(): string {
743
+ return PG_NUMERIC_META.db.sql.postgres.nativeType;
744
+ }
745
+ protected override jsonProjection(expression: ProjectionExpr): ProjectionExpr {
746
+ return expression;
747
+ }
657
748
  override readonly codecId = PG_NUMERIC_CODEC_ID;
658
749
  override readonly traits = ['equality', 'order', 'numeric'] as const;
659
750
  override readonly targetTypes = ['numeric', 'decimal'] as const;
@@ -701,7 +792,13 @@ export class PgDateCodec extends CodecImpl<
701
792
  }
702
793
  }
703
794
 
704
- export class PgDateDescriptor extends CodecDescriptorImpl<void> {
795
+ export class PgDateDescriptor extends PostgresCodecDescriptor<void> {
796
+ protected override nativeType(): string {
797
+ return PG_DATE_META.db.sql.postgres.nativeType;
798
+ }
799
+ protected override jsonProjection(expression: ProjectionExpr): ProjectionExpr {
800
+ return expression;
801
+ }
705
802
  override readonly codecId = PG_DATE_CODEC_ID;
706
803
  override readonly traits = ['equality', 'order'] as const;
707
804
  override readonly targetTypes = ['date'] as const;
@@ -740,7 +837,13 @@ export class PgTimestampCodec extends CodecImpl<
740
837
  }
741
838
  }
742
839
 
743
- export class PgTimestampDescriptor extends CodecDescriptorImpl<PrecisionParams> {
840
+ export class PgTimestampDescriptor extends PostgresCodecDescriptor<PrecisionParams> {
841
+ protected override nativeType(): string {
842
+ return PG_TIMESTAMP_META.db.sql.postgres.nativeType;
843
+ }
844
+ protected override jsonProjection(expression: ProjectionExpr): ProjectionExpr {
845
+ return expression;
846
+ }
744
847
  override readonly codecId = PG_TIMESTAMP_CODEC_ID;
745
848
  override readonly traits = ['equality', 'order'] as const;
746
849
  override readonly targetTypes = ['timestamp'] as const;
@@ -783,7 +886,13 @@ export class PgTimestamptzCodec extends CodecImpl<
783
886
  }
784
887
  }
785
888
 
786
- export class PgTimestamptzDescriptor extends CodecDescriptorImpl<PrecisionParams> {
889
+ export class PgTimestamptzDescriptor extends PostgresCodecDescriptor<PrecisionParams> {
890
+ protected override nativeType(): string {
891
+ return PG_TIMESTAMPTZ_META.db.sql.postgres.nativeType;
892
+ }
893
+ protected override jsonProjection(expression: ProjectionExpr): ProjectionExpr {
894
+ return expression;
895
+ }
787
896
  override readonly codecId = PG_TIMESTAMPTZ_CODEC_ID;
788
897
  override readonly traits = ['equality', 'order'] as const;
789
898
  override readonly targetTypes = ['timestamptz'] as const;
@@ -831,7 +940,13 @@ export class PgTimeCodec extends CodecImpl<
831
940
  }
832
941
  }
833
942
 
834
- export class PgTimeDescriptor extends CodecDescriptorImpl<PrecisionParams> {
943
+ export class PgTimeDescriptor extends PostgresCodecDescriptor<PrecisionParams> {
944
+ protected override nativeType(): string {
945
+ return PG_TIME_META.db.sql.postgres.nativeType;
946
+ }
947
+ protected override jsonProjection(expression: ProjectionExpr): ProjectionExpr {
948
+ return expression;
949
+ }
835
950
  override readonly codecId = PG_TIME_CODEC_ID;
836
951
  override readonly traits = ['equality', 'order'] as const;
837
952
  override readonly targetTypes = ['time'] as const;
@@ -874,7 +989,13 @@ export class PgTimetzCodec extends CodecImpl<
874
989
  }
875
990
  }
876
991
 
877
- export class PgTimetzDescriptor extends CodecDescriptorImpl<PrecisionParams> {
992
+ export class PgTimetzDescriptor extends PostgresCodecDescriptor<PrecisionParams> {
993
+ protected override nativeType(): string {
994
+ return PG_TIMETZ_META.db.sql.postgres.nativeType;
995
+ }
996
+ protected override jsonProjection(expression: ProjectionExpr): ProjectionExpr {
997
+ return expression;
998
+ }
878
999
  override readonly codecId = PG_TIMETZ_CODEC_ID;
879
1000
  override readonly traits = ['equality', 'order'] as const;
880
1001
  override readonly targetTypes = ['timetz'] as const;
@@ -917,7 +1038,13 @@ export class PgBitCodec extends CodecImpl<
917
1038
  }
918
1039
  }
919
1040
 
920
- export class PgBitDescriptor extends CodecDescriptorImpl<LengthParams> {
1041
+ export class PgBitDescriptor extends PostgresCodecDescriptor<LengthParams> {
1042
+ protected override nativeType(): string {
1043
+ return PG_BIT_META.db.sql.postgres.nativeType;
1044
+ }
1045
+ protected override jsonProjection(expression: ProjectionExpr): ProjectionExpr {
1046
+ return expression;
1047
+ }
921
1048
  override readonly codecId = PG_BIT_CODEC_ID;
922
1049
  override readonly traits = ['equality', 'order'] as const;
923
1050
  override readonly targetTypes = ['bit'] as const;
@@ -959,7 +1086,13 @@ export class PgVarbitCodec extends CodecImpl<
959
1086
  }
960
1087
  }
961
1088
 
962
- export class PgVarbitDescriptor extends CodecDescriptorImpl<LengthParams> {
1089
+ export class PgVarbitDescriptor extends PostgresCodecDescriptor<LengthParams> {
1090
+ protected override nativeType(): string {
1091
+ return PG_VARBIT_META.db.sql.postgres.nativeType;
1092
+ }
1093
+ protected override jsonProjection(expression: ProjectionExpr): ProjectionExpr {
1094
+ return expression;
1095
+ }
963
1096
  override readonly codecId = PG_VARBIT_CODEC_ID;
964
1097
  override readonly traits = ['equality', 'order'] as const;
965
1098
  override readonly targetTypes = ['bit varying'] as const;
@@ -1004,7 +1137,13 @@ export class PgByteaCodec extends CodecImpl<
1004
1137
  }
1005
1138
  }
1006
1139
 
1007
- export class PgByteaDescriptor extends CodecDescriptorImpl<void> {
1140
+ export class PgByteaDescriptor extends PostgresCodecDescriptor<void> {
1141
+ protected override nativeType(): string {
1142
+ return PG_BYTEA_META.db.sql.postgres.nativeType;
1143
+ }
1144
+ protected override jsonProjection(expression: ProjectionExpr): ProjectionExpr {
1145
+ return expression;
1146
+ }
1008
1147
  override readonly codecId = PG_BYTEA_CODEC_ID;
1009
1148
  override readonly traits = ['equality'] as const;
1010
1149
  override readonly targetTypes = ['bytea'] as const;
@@ -1045,7 +1184,13 @@ export class PgUuidCodec extends CodecImpl<
1045
1184
  }
1046
1185
  }
1047
1186
 
1048
- export class PgUuidDescriptor extends CodecDescriptorImpl<void> {
1187
+ export class PgUuidDescriptor extends PostgresCodecDescriptor<void> {
1188
+ protected override nativeType(): string {
1189
+ return PG_UUID_META.db.sql.postgres.nativeType;
1190
+ }
1191
+ protected override jsonProjection(expression: ProjectionExpr): ProjectionExpr {
1192
+ return expression;
1193
+ }
1049
1194
  override readonly codecId = PG_UUID_CODEC_ID;
1050
1195
  override readonly traits = ['equality', 'order'] as const;
1051
1196
  override readonly targetTypes = ['uuid'] as const;
@@ -1086,7 +1231,13 @@ export class PgInetCodec extends CodecImpl<
1086
1231
  }
1087
1232
  }
1088
1233
 
1089
- export class PgInetDescriptor extends CodecDescriptorImpl<void> {
1234
+ export class PgInetDescriptor extends PostgresCodecDescriptor<void> {
1235
+ protected override nativeType(): string {
1236
+ return PG_INET_META.db.sql.postgres.nativeType;
1237
+ }
1238
+ protected override jsonProjection(expression: ProjectionExpr): ProjectionExpr {
1239
+ return expression;
1240
+ }
1090
1241
  override readonly codecId = PG_INET_CODEC_ID;
1091
1242
  override readonly traits = ['equality', 'order'] as const;
1092
1243
  override readonly targetTypes = ['inet'] as const;
@@ -1125,7 +1276,13 @@ export class PgIntervalCodec extends CodecImpl<
1125
1276
  }
1126
1277
  }
1127
1278
 
1128
- export class PgIntervalDescriptor extends CodecDescriptorImpl<PrecisionParams> {
1279
+ export class PgIntervalDescriptor extends PostgresCodecDescriptor<PrecisionParams> {
1280
+ protected override nativeType(): string {
1281
+ return PG_INTERVAL_META.db.sql.postgres.nativeType;
1282
+ }
1283
+ protected override jsonProjection(expression: ProjectionExpr): ProjectionExpr {
1284
+ return expression;
1285
+ }
1129
1286
  override readonly codecId = PG_INTERVAL_CODEC_ID;
1130
1287
  override readonly traits = ['equality', 'order'] as const;
1131
1288
  override readonly targetTypes = ['interval'] as const;
@@ -1168,7 +1325,13 @@ export class PgJsonCodec extends CodecImpl<
1168
1325
  }
1169
1326
  }
1170
1327
 
1171
- export class PgJsonDescriptor extends CodecDescriptorImpl<void> {
1328
+ export class PgJsonDescriptor extends PostgresCodecDescriptor<void> {
1329
+ protected override nativeType(): string {
1330
+ return PG_JSON_META.db.sql.postgres.nativeType;
1331
+ }
1332
+ protected override jsonProjection(expression: ProjectionExpr): ProjectionExpr {
1333
+ return expression;
1334
+ }
1172
1335
  override readonly codecId = PG_JSON_CODEC_ID;
1173
1336
  override readonly traits = [] as const;
1174
1337
  override readonly targetTypes = ['json'] as const;
@@ -1207,7 +1370,13 @@ export class PgJsonbCodec extends CodecImpl<
1207
1370
  }
1208
1371
  }
1209
1372
 
1210
- export class PgJsonbDescriptor extends CodecDescriptorImpl<void> {
1373
+ export class PgJsonbDescriptor extends PostgresCodecDescriptor<void> {
1374
+ protected override nativeType(): string {
1375
+ return PG_JSONB_META.db.sql.postgres.nativeType;
1376
+ }
1377
+ protected override jsonProjection(expression: ProjectionExpr): ProjectionExpr {
1378
+ return expression;
1379
+ }
1211
1380
  override readonly codecId = PG_JSONB_CODEC_ID;
1212
1381
  override readonly traits = ['equality'] as const;
1213
1382
  override readonly targetTypes = ['jsonb'] as const;
@@ -1235,7 +1404,13 @@ const PG_VARCHAR_META = {
1235
1404
  const PG_INT_META = { db: { sql: { postgres: { nativeType: 'integer' } } } } as const;
1236
1405
  const PG_FLOAT_META = { db: { sql: { postgres: { nativeType: 'double precision' } } } } as const;
1237
1406
 
1238
- export class PgCharDescriptor extends CodecDescriptorImpl<LengthParams> {
1407
+ export class PgCharDescriptor extends PostgresCodecDescriptor<LengthParams> {
1408
+ protected override nativeType(): string {
1409
+ return PG_CHAR_META.db.sql.postgres.nativeType;
1410
+ }
1411
+ protected override jsonProjection(expression: ProjectionExpr): ProjectionExpr {
1412
+ return expression;
1413
+ }
1239
1414
  override readonly codecId = PG_CHAR_CODEC_ID;
1240
1415
  override readonly targetTypes = ['character'] as const;
1241
1416
  override readonly meta = PG_CHAR_META;
@@ -1259,7 +1434,13 @@ export const pgCharColumn = (params: LengthParams = {}) =>
1259
1434
 
1260
1435
  pgCharColumn satisfies ColumnHelperFor<PgCharDescriptor>;
1261
1436
 
1262
- export class PgVarcharDescriptor extends CodecDescriptorImpl<LengthParams> {
1437
+ export class PgVarcharDescriptor extends PostgresCodecDescriptor<LengthParams> {
1438
+ protected override nativeType(): string {
1439
+ return PG_VARCHAR_META.db.sql.postgres.nativeType;
1440
+ }
1441
+ protected override jsonProjection(expression: ProjectionExpr): ProjectionExpr {
1442
+ return expression;
1443
+ }
1263
1444
  override readonly codecId = PG_VARCHAR_CODEC_ID;
1264
1445
  override readonly targetTypes = ['character varying'] as const;
1265
1446
  override readonly meta = PG_VARCHAR_META;
@@ -1288,7 +1469,13 @@ export const pgVarcharColumn = (params: LengthParams = {}) =>
1288
1469
 
1289
1470
  pgVarcharColumn satisfies ColumnHelperFor<PgVarcharDescriptor>;
1290
1471
 
1291
- export class PgIntDescriptor extends CodecDescriptorImpl<void> {
1472
+ export class PgIntDescriptor extends PostgresCodecDescriptor<void> {
1473
+ protected override nativeType(): string {
1474
+ return PG_INT_META.db.sql.postgres.nativeType;
1475
+ }
1476
+ protected override jsonProjection(expression: ProjectionExpr): ProjectionExpr {
1477
+ return expression;
1478
+ }
1292
1479
  override readonly codecId = PG_INT_CODEC_ID;
1293
1480
  override readonly targetTypes = ['int4'] as const;
1294
1481
  override readonly meta = PG_INT_META;
@@ -1309,7 +1496,13 @@ export const pgIntColumn = () =>
1309
1496
 
1310
1497
  pgIntColumn satisfies ColumnHelperFor<PgIntDescriptor>;
1311
1498
 
1312
- export class PgFloatDescriptor extends CodecDescriptorImpl<void> {
1499
+ export class PgFloatDescriptor extends PostgresCodecDescriptor<void> {
1500
+ protected override nativeType(): string {
1501
+ return PG_FLOAT_META.db.sql.postgres.nativeType;
1502
+ }
1503
+ protected override jsonProjection(expression: ProjectionExpr): ProjectionExpr {
1504
+ return expression;
1505
+ }
1313
1506
  override readonly codecId = PG_FLOAT_CODEC_ID;
1314
1507
  override readonly targetTypes = ['float8'] as const;
1315
1508
  override readonly meta = PG_FLOAT_META;
@@ -1332,13 +1525,13 @@ pgFloatColumn satisfies ColumnHelperFor<PgFloatDescriptor>;
1332
1525
 
1333
1526
  // `ExtractCodecTypes` to derive `CodecTypes`. ---------------------------------------------------------------------------
1334
1527
 
1335
- export const codecDescriptors: readonly AnyCodecDescriptor[] = [
1336
- sqlCharDescriptor,
1337
- sqlVarcharDescriptor,
1338
- sqlIntDescriptor,
1339
- sqlFloatDescriptor,
1340
- sqlTextDescriptor,
1341
- sqlTimestampDescriptor,
1528
+ export const codecDescriptors = definePostgresCodecs([
1529
+ postgresSqlCharDescriptor,
1530
+ postgresSqlVarcharDescriptor,
1531
+ postgresSqlIntDescriptor,
1532
+ postgresSqlFloatDescriptor,
1533
+ postgresSqlTextDescriptor,
1534
+ postgresSqlTimestampDescriptor,
1342
1535
  pgTextDescriptor,
1343
1536
  pgEnumDescriptor,
1344
1537
  pgCharDescriptor,
@@ -1367,4 +1560,4 @@ export const codecDescriptors: readonly AnyCodecDescriptor[] = [
1367
1560
  pgJsonDescriptor,
1368
1561
  pgJsonbDescriptor,
1369
1562
  pgTextArrayDescriptor,
1370
- ];
1563
+ ]);
@@ -1,5 +1,6 @@
1
1
  import { buildCodecDescriptorRegistry } from '@prisma-next/sql-relational-core/codec-descriptor-registry';
2
2
  import type { CodecDescriptorRegistry } from '@prisma-next/sql-relational-core/query-lane-context';
3
+ import { buildPostgresCodecDescriptorRegistry } from './codec-descriptor';
3
4
  import { codecDescriptors } from './codecs';
4
5
 
5
6
  /**
@@ -9,3 +10,6 @@ import { codecDescriptors } from './codecs';
9
10
  */
10
11
  export const postgresCodecRegistry: CodecDescriptorRegistry =
11
12
  buildCodecDescriptorRegistry(codecDescriptors);
13
+
14
+ export const postgresCodecDescriptorRegistry =
15
+ buildPostgresCodecDescriptorRegistry(codecDescriptors);
@@ -0,0 +1,11 @@
1
+ export {
2
+ type AdaptedPostgresCodecDescriptor,
3
+ type AnyPostgresCodecDescriptor,
4
+ buildPostgresCodecDescriptorRegistry,
5
+ definePostgresCodecs,
6
+ isPostgresCodecDescriptor,
7
+ PostgresCodecDescriptor,
8
+ type PostgresCodecDescriptorRegistry,
9
+ type PostgresCodecOptions,
10
+ postgresCodec,
11
+ } from '../core/codec-descriptor';
@@ -55,4 +55,7 @@ export {
55
55
  pgVarbitColumn,
56
56
  pgVarcharColumn,
57
57
  } from '../core/codecs';
58
- export { postgresCodecRegistry } from '../core/registry';
58
+ export {
59
+ postgresCodecDescriptorRegistry,
60
+ postgresCodecRegistry,
61
+ } from '../core/registry';
@@ -1 +0,0 @@
1
- {"version":3,"file":"codec-types-DdoPc2dy.d.mts","names":[],"sources":["../src/core/codec-type-map.ts","../src/exports/codec-types.ts"],"mappings":";;;;cA+Ca;;;;;;;iBAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;KAmCD,QAAQ,iBAAiB,WAAW,gBAAgB,WAAW,EAAE,KAAK,EAAE,GAAG;KAE3E,4BAA4B;KAE5B,sBAAsB,kBAAkB;;;KC3ExC,aAAa,QAAQ;KAI5B,QAAQ,GAAG,cAAc,2BAA2B,gBAC7C,WAAW,QAAQ,MAAM;KAGhC,cAAc,cAAc,2BAA2B,gBAAgB;KAEhE,KAAK,oBAAoB;EAAgB,cAAc;;KACvD,QAAQ,oBAAoB;EAAgB,iBAAiB;;KAC7D,QAAQ,kBAAkB,4CAA4C;EAChF,oBAAoB;EACpB,gBAAgB;;KAEN,IAAI,oBAAoB;EAAgB,aAAa;;KACrD,OAAO,oBAAoB;EAAgB,gBAAgB;;KAC3D,UAAU,4CAA4C;EAChE,sBAAsB;;KAEZ,YAAY,4CAA4C;EAClE,wBAAwB;;KAEd,KAAK,4CAA4C;EAAgB,iBAAiB;;KAClF,OAAO,4CAA4C;EAC7D,mBAAmB;;KAET,SAAS,4CAA4C;EAC/D,qBAAqB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"codecs-CGE5dh94.d.mts","names":[],"sources":["../src/core/codecs.ts"],"mappings":"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"}