@prisma-next/target-postgres 0.14.0-dev.45 → 0.14.0-dev.46
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/authoring-DzHOdWTl.mjs +364 -0
- package/dist/authoring-DzHOdWTl.mjs.map +1 -0
- package/dist/{codec-ids-CnXu9Qy3.d.mts → codec-ids-BzrFF-I4.d.mts} +3 -2
- package/dist/codec-ids-BzrFF-I4.d.mts.map +1 -0
- package/dist/{codec-ids-BvytN2P8.mjs → codec-ids-C_-Hj6bL.mjs} +3 -2
- package/dist/codec-ids-C_-Hj6bL.mjs.map +1 -0
- package/dist/codec-ids.d.mts +2 -2
- package/dist/codec-ids.mjs +2 -2
- package/dist/{codec-types-CueCoGD0.d.mts → codec-types-BDVmvKAW.d.mts} +3 -2
- package/dist/codec-types-BDVmvKAW.d.mts.map +1 -0
- package/dist/codec-types.d.mts +1 -1
- package/dist/{codecs-Ca8upop6.d.mts → codecs-Dk2sxGLv.d.mts} +66 -4
- package/dist/codecs-Dk2sxGLv.d.mts.map +1 -0
- package/dist/codecs.d.mts +1 -1
- package/dist/codecs.mjs +83 -1
- package/dist/codecs.mjs.map +1 -1
- package/dist/contract-free.mjs +3 -3
- package/dist/control.d.mts +1 -1
- package/dist/control.mjs +5 -5
- package/dist/{data-transform-qKy1U5V9.d.mts → data-transform-DPzwBMhW.d.mts} +2 -2
- package/dist/{data-transform-qKy1U5V9.d.mts.map → data-transform-DPzwBMhW.d.mts.map} +1 -1
- package/dist/data-transform.d.mts +1 -1
- package/dist/{ddl-BmLIe1z_.mjs → ddl-ujxH2A7r.mjs} +3 -3
- package/dist/{ddl-BmLIe1z_.mjs.map → ddl-ujxH2A7r.mjs.map} +1 -1
- package/dist/{descriptor-meta-tjatyhtZ.mjs → descriptor-meta-CuGDsrG4.mjs} +5 -4
- package/dist/descriptor-meta-CuGDsrG4.mjs.map +1 -0
- package/dist/{issue-planner-DbFvaAgu.mjs → issue-planner-Cbh-xTEr.mjs} +6 -6
- package/dist/{issue-planner-DbFvaAgu.mjs.map → issue-planner-Cbh-xTEr.mjs.map} +1 -1
- package/dist/issue-planner.d.mts +2 -2
- package/dist/issue-planner.mjs +1 -1
- package/dist/migration.d.mts +3 -3
- package/dist/migration.d.mts.map +1 -1
- package/dist/migration.mjs +2 -2
- package/dist/namespace-ids-xtp_ZY86.mjs +7 -0
- package/dist/namespace-ids-xtp_ZY86.mjs.map +1 -0
- package/dist/{op-factory-call-t65c4jyY.mjs → op-factory-call-BuoGT5UI.mjs} +6 -5
- package/dist/op-factory-call-BuoGT5UI.mjs.map +1 -0
- package/dist/{op-factory-call-CJWUxyUW.d.mts → op-factory-call-Caqus-Qg.d.mts} +2 -2
- package/dist/{op-factory-call-CJWUxyUW.d.mts.map → op-factory-call-Caqus-Qg.d.mts.map} +1 -1
- package/dist/op-factory-call.d.mts +1 -1
- package/dist/op-factory-call.mjs +1 -1
- package/dist/pack.d.mts +43 -3
- package/dist/pack.d.mts.map +1 -1
- package/dist/pack.mjs +1 -1
- package/dist/{planner-CG2pLHk-.mjs → planner-CMXuFrQB.mjs} +10 -9
- package/dist/planner-CMXuFrQB.mjs.map +1 -0
- package/dist/planner-ddl-builders.d.mts +1 -1
- package/dist/planner-identity-values.d.mts +1 -1
- package/dist/{planner-produced-postgres-migration-BolD0Mvc.mjs → planner-produced-postgres-migration-CikV-edi.mjs} +2 -2
- package/dist/{planner-produced-postgres-migration-BolD0Mvc.mjs.map → planner-produced-postgres-migration-CikV-edi.mjs.map} +1 -1
- package/dist/{planner-produced-postgres-migration-Cz9--XOT.d.mts → planner-produced-postgres-migration-CtJi4sgS.d.mts} +2 -2
- package/dist/{planner-produced-postgres-migration-Cz9--XOT.d.mts.map → planner-produced-postgres-migration-CtJi4sgS.d.mts.map} +1 -1
- package/dist/planner-produced-postgres-migration.d.mts +1 -1
- package/dist/planner-produced-postgres-migration.mjs +1 -1
- package/dist/{planner-sql-checks-DE9c4519.mjs → planner-sql-checks-Cze3vMfe.mjs} +2 -2
- package/dist/{planner-sql-checks-DE9c4519.mjs.map → planner-sql-checks-Cze3vMfe.mjs.map} +1 -1
- package/dist/planner-sql-checks.d.mts +1 -1
- package/dist/planner-sql-checks.mjs +1 -1
- package/dist/planner.d.mts +3 -3
- package/dist/planner.mjs +1 -1
- package/dist/{postgres-contract-view-BegduLr6.mjs → postgres-contract-view-V3rGJCoe.mjs} +23 -14
- package/dist/postgres-contract-view-V3rGJCoe.mjs.map +1 -0
- package/dist/{postgres-migration-BfMmK6tv.mjs → postgres-migration-CZApTUCK.mjs} +3 -3
- package/dist/{postgres-migration-BfMmK6tv.mjs.map → postgres-migration-CZApTUCK.mjs.map} +1 -1
- package/dist/{postgres-migration-D7kNVWVG.d.mts → postgres-migration-CfyKDT7b.d.mts} +4 -4
- package/dist/{postgres-migration-D7kNVWVG.d.mts.map → postgres-migration-CfyKDT7b.d.mts.map} +1 -1
- package/dist/postgres-native-enum-xdiqmBf_.mjs +41 -0
- package/dist/postgres-native-enum-xdiqmBf_.mjs.map +1 -0
- package/dist/{postgres-schema-BLIHBEfX.mjs → postgres-schema-CajYAwny.mjs} +32 -7
- package/dist/postgres-schema-CajYAwny.mjs.map +1 -0
- package/dist/{postgres-schema-BywoeKlt.d.mts → postgres-schema-DqnhQRvR.d.mts} +40 -3
- package/dist/postgres-schema-DqnhQRvR.d.mts.map +1 -0
- package/dist/{postgres-table-schema-node-1nNc8XDT.mjs → postgres-table-schema-node-Clei_xel.mjs} +2 -2
- package/dist/{postgres-table-schema-node-1nNc8XDT.mjs.map → postgres-table-schema-node-Clei_xel.mjs.map} +1 -1
- package/dist/{resolve-ddl-schema-CL1RR1mx.mjs → resolve-ddl-schema-Bv1ZvjX8.mjs} +8 -6
- package/dist/resolve-ddl-schema-Bv1ZvjX8.mjs.map +1 -0
- package/dist/runtime.d.mts +9 -0
- package/dist/runtime.d.mts.map +1 -1
- package/dist/runtime.mjs +1 -1
- package/dist/schema-ir-annotations.d.mts +4 -3
- package/dist/schema-ir-annotations.d.mts.map +1 -1
- package/dist/schema-ir-annotations.mjs +1 -1
- package/dist/types.d.mts +1 -1
- package/dist/types.mjs +2 -2
- package/package.json +20 -20
- package/src/core/authoring.ts +173 -2
- package/src/core/codec-ids.ts +1 -0
- package/src/core/codec-type-map.ts +2 -0
- package/src/core/codecs.ts +106 -0
- package/src/core/descriptor-meta.ts +2 -1
- package/src/core/entity-kinds.ts +15 -1
- package/src/core/migrations/operations/dependencies.ts +2 -1
- package/src/core/migrations/resolve-ddl-schema.ts +6 -4
- package/src/core/migrations/verify-postgres-namespaces.ts +2 -1
- package/src/core/namespace-ids.ts +3 -0
- package/src/core/postgres-contract-serializer.ts +27 -21
- package/src/core/postgres-native-enum.ts +51 -0
- package/src/core/postgres-schema.ts +28 -4
- package/src/core/postgres-validators.ts +7 -0
- package/dist/authoring-BX1WHIdN.mjs +0 -220
- package/dist/authoring-BX1WHIdN.mjs.map +0 -1
- package/dist/codec-ids-BvytN2P8.mjs.map +0 -1
- package/dist/codec-ids-CnXu9Qy3.d.mts.map +0 -1
- package/dist/codec-types-CueCoGD0.d.mts.map +0 -1
- package/dist/codecs-Ca8upop6.d.mts.map +0 -1
- package/dist/descriptor-meta-tjatyhtZ.mjs.map +0 -1
- package/dist/op-factory-call-t65c4jyY.mjs.map +0 -1
- package/dist/planner-CG2pLHk-.mjs.map +0 -1
- package/dist/postgres-contract-view-BegduLr6.mjs.map +0 -1
- package/dist/postgres-schema-BLIHBEfX.mjs.map +0 -1
- package/dist/postgres-schema-BywoeKlt.d.mts.map +0 -1
- package/dist/resolve-ddl-schema-CL1RR1mx.mjs.map +0 -1
- package/src/core/postgres-enum-type-schema.ts +0 -17
|
@@ -0,0 +1,364 @@
|
|
|
1
|
+
import { a as PG_ENUM_CODEC_ID } from "./codec-ids-C_-Hj6bL.mjs";
|
|
2
|
+
import { t as PostgresNativeEnum } from "./postgres-native-enum-xdiqmBf_.mjs";
|
|
3
|
+
import { d as PostgresRoleSchema, f as PostgresRole, l as PostgresNativeEnumSchema, p as PostgresRlsPolicy, u as PostgresRlsPolicySchema } from "./postgres-schema-CajYAwny.mjs";
|
|
4
|
+
import { n as normalizePredicate, t as computeContentHash } from "./canonicalize-Bn3BM1Cn.mjs";
|
|
5
|
+
import { temporalAuthoringPresets } from "@prisma-next/family-sql/control";
|
|
6
|
+
//#region src/core/authoring.ts
|
|
7
|
+
/**
|
|
8
|
+
* `pg.enum(<ref>)` registers as an ordinary type constructor whose sole
|
|
9
|
+
* positional argument names a `native_enum` entity instead of carrying a
|
|
10
|
+
* literal value. The interpreter resolves the ref to the `native_enum`
|
|
11
|
+
* entity generically (driven by `entityRefArg`); the `pg/enum@1` codec
|
|
12
|
+
* descriptor's `columnFromEntity` hook (see `codecs.ts`) converts that
|
|
13
|
+
* entity into the column's `typeParams` and native type.
|
|
14
|
+
*/
|
|
15
|
+
const postgresAuthoringTypes = { pg: { enum: {
|
|
16
|
+
kind: "typeConstructor",
|
|
17
|
+
entityRefArg: {
|
|
18
|
+
index: 0,
|
|
19
|
+
entityKind: "native_enum"
|
|
20
|
+
},
|
|
21
|
+
output: { codecId: PG_ENUM_CODEC_ID }
|
|
22
|
+
} } };
|
|
23
|
+
function readRefParam(block, key) {
|
|
24
|
+
const param = block.parameters[key];
|
|
25
|
+
return param?.kind === "ref" ? param.identifier : void 0;
|
|
26
|
+
}
|
|
27
|
+
function readValueParam(block, key) {
|
|
28
|
+
const param = block.parameters[key];
|
|
29
|
+
return param?.kind === "value" ? param.raw : void 0;
|
|
30
|
+
}
|
|
31
|
+
function readListRefParams(block, key) {
|
|
32
|
+
const param = block.parameters[key];
|
|
33
|
+
if (param?.kind !== "list") return [];
|
|
34
|
+
return param.items.flatMap((item) => item.kind === "ref" ? [item.identifier] : []);
|
|
35
|
+
}
|
|
36
|
+
function unwrapQuotedString(raw) {
|
|
37
|
+
if (raw.startsWith("\"") && raw.endsWith("\"") && raw.length >= 2) return raw.slice(1, -1).replace(/\\"/g, "\"");
|
|
38
|
+
return raw;
|
|
39
|
+
}
|
|
40
|
+
function lowerRlsPolicyFromBlock(block, _ctx) {
|
|
41
|
+
const prefix = block.name;
|
|
42
|
+
const targetModelName = readRefParam(block, "target") ?? "";
|
|
43
|
+
const tableName = targetModelName.charAt(0).toLowerCase() + targetModelName.slice(1);
|
|
44
|
+
const roles = [...readListRefParams(block, "roles")].sort();
|
|
45
|
+
const using = unwrapQuotedString(readValueParam(block, "using") ?? "");
|
|
46
|
+
return new PostgresRlsPolicy({
|
|
47
|
+
name: `${prefix}_${computeContentHash({
|
|
48
|
+
using: normalizePredicate(using),
|
|
49
|
+
roles,
|
|
50
|
+
operation: "select",
|
|
51
|
+
permissive: true
|
|
52
|
+
})}`,
|
|
53
|
+
prefix,
|
|
54
|
+
tableName,
|
|
55
|
+
namespaceId: block.namespaceId,
|
|
56
|
+
operation: "select",
|
|
57
|
+
roles,
|
|
58
|
+
using,
|
|
59
|
+
permissive: true
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Lowers a `native_enum { memberName = "value" … @@map("type_name") }` block
|
|
64
|
+
* into a {@link PostgresNativeEnum}. Members must be authored as explicit
|
|
65
|
+
* `key = "value"` pairs — a bare (value-less) member is a diagnostic, not
|
|
66
|
+
* accepted (authoring-design.md §2.1). The parsed `memberName` is only used
|
|
67
|
+
* to duplicate-check and report diagnostics; the lowered entity carries just
|
|
68
|
+
* the member values (a native enum is value-only — the member "name" isn't
|
|
69
|
+
* a separate authoring concept from the value). `typeName` comes from
|
|
70
|
+
* `@@map` or defaults to the block name verbatim.
|
|
71
|
+
*/
|
|
72
|
+
function lowerNativeEnumFromBlock(block, ctx) {
|
|
73
|
+
const sourceId = ctx.sourceId ?? "unknown";
|
|
74
|
+
const diagnostics = ctx.diagnostics;
|
|
75
|
+
const mapAttr = block.blockAttributes.find((a) => a.name === "map");
|
|
76
|
+
let typeName = block.name;
|
|
77
|
+
if (mapAttr) {
|
|
78
|
+
const rawArg = mapAttr.args[0]?.value;
|
|
79
|
+
const mapped = rawArg !== void 0 ? unwrapQuotedString(rawArg) : void 0;
|
|
80
|
+
if (mapped === void 0) {
|
|
81
|
+
diagnostics?.push({
|
|
82
|
+
code: "PSL_NATIVE_ENUM_INVALID_MAP",
|
|
83
|
+
message: `native_enum "${block.name}" @@map attribute must have a quoted type-name argument`,
|
|
84
|
+
sourceId,
|
|
85
|
+
span: mapAttr.span
|
|
86
|
+
});
|
|
87
|
+
return;
|
|
88
|
+
}
|
|
89
|
+
typeName = mapped;
|
|
90
|
+
}
|
|
91
|
+
let memberError = false;
|
|
92
|
+
const seenValues = /* @__PURE__ */ new Set();
|
|
93
|
+
const members = [];
|
|
94
|
+
for (const [memberName, paramValue] of Object.entries(block.parameters)) {
|
|
95
|
+
if (paramValue.kind === "bare") {
|
|
96
|
+
diagnostics?.push({
|
|
97
|
+
code: "PSL_NATIVE_ENUM_BARE_MEMBER",
|
|
98
|
+
message: `native_enum "${block.name}" member "${memberName}" has no value; members must be authored as "${memberName} = \\"value\\""`,
|
|
99
|
+
sourceId,
|
|
100
|
+
span: paramValue.span
|
|
101
|
+
});
|
|
102
|
+
memberError = true;
|
|
103
|
+
continue;
|
|
104
|
+
}
|
|
105
|
+
if (paramValue.kind !== "value") continue;
|
|
106
|
+
let jsonValue;
|
|
107
|
+
try {
|
|
108
|
+
jsonValue = JSON.parse(paramValue.raw);
|
|
109
|
+
} catch {
|
|
110
|
+
diagnostics?.push({
|
|
111
|
+
code: "PSL_EXTENSION_INVALID_VALUE",
|
|
112
|
+
message: `native_enum "${block.name}" member "${memberName}" value "${paramValue.raw}" is not valid JSON`,
|
|
113
|
+
sourceId,
|
|
114
|
+
span: paramValue.span
|
|
115
|
+
});
|
|
116
|
+
memberError = true;
|
|
117
|
+
continue;
|
|
118
|
+
}
|
|
119
|
+
if (typeof jsonValue !== "string") {
|
|
120
|
+
diagnostics?.push({
|
|
121
|
+
code: "PSL_EXTENSION_INVALID_VALUE",
|
|
122
|
+
message: `native_enum "${block.name}" member "${memberName}" value must be a string`,
|
|
123
|
+
sourceId,
|
|
124
|
+
span: paramValue.span
|
|
125
|
+
});
|
|
126
|
+
memberError = true;
|
|
127
|
+
continue;
|
|
128
|
+
}
|
|
129
|
+
if (seenValues.has(jsonValue)) {
|
|
130
|
+
diagnostics?.push({
|
|
131
|
+
code: "PSL_NATIVE_ENUM_DUPLICATE_MEMBER_VALUE",
|
|
132
|
+
message: `native_enum "${block.name}": duplicate member value "${jsonValue}"`,
|
|
133
|
+
sourceId,
|
|
134
|
+
span: paramValue.span
|
|
135
|
+
});
|
|
136
|
+
memberError = true;
|
|
137
|
+
continue;
|
|
138
|
+
}
|
|
139
|
+
seenValues.add(jsonValue);
|
|
140
|
+
members.push(jsonValue);
|
|
141
|
+
}
|
|
142
|
+
if (memberError) return void 0;
|
|
143
|
+
if (members.length === 0) {
|
|
144
|
+
diagnostics?.push({
|
|
145
|
+
code: "PSL_NATIVE_ENUM_MISSING_MEMBERS",
|
|
146
|
+
message: `native_enum "${block.name}" must have at least one member`,
|
|
147
|
+
sourceId,
|
|
148
|
+
span: block.span
|
|
149
|
+
});
|
|
150
|
+
return;
|
|
151
|
+
}
|
|
152
|
+
return new PostgresNativeEnum({
|
|
153
|
+
typeName,
|
|
154
|
+
members
|
|
155
|
+
});
|
|
156
|
+
}
|
|
157
|
+
const postgresAuthoringEntityTypes = {
|
|
158
|
+
role: {
|
|
159
|
+
kind: "entity",
|
|
160
|
+
discriminator: "role",
|
|
161
|
+
validatorSchema: PostgresRoleSchema,
|
|
162
|
+
output: { factory: (input) => new PostgresRole(input) }
|
|
163
|
+
},
|
|
164
|
+
policy: {
|
|
165
|
+
kind: "entity",
|
|
166
|
+
discriminator: "policy",
|
|
167
|
+
validatorSchema: PostgresRlsPolicySchema,
|
|
168
|
+
output: { factory: lowerRlsPolicyFromBlock }
|
|
169
|
+
},
|
|
170
|
+
native_enum: {
|
|
171
|
+
kind: "entity",
|
|
172
|
+
discriminator: "native_enum",
|
|
173
|
+
validatorSchema: PostgresNativeEnumSchema,
|
|
174
|
+
output: {
|
|
175
|
+
factory: lowerNativeEnumFromBlock,
|
|
176
|
+
deriveValueSet: (entity) => ({
|
|
177
|
+
kind: "valueSet",
|
|
178
|
+
values: [...entity.members]
|
|
179
|
+
})
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
};
|
|
183
|
+
/**
|
|
184
|
+
* Field presets contributed by the Postgres target pack.
|
|
185
|
+
*
|
|
186
|
+
* These mirror the PSL scalar-to-codec mapping used by the Postgres adapter
|
|
187
|
+
* (see `createPostgresPslScalarTypeDescriptors`), so that authoring a field
|
|
188
|
+
* via the TS callback surface (e.g. `field.int()`) and via the PSL scalar
|
|
189
|
+
* surface (e.g. `Int`) lowers to byte-identical contracts.
|
|
190
|
+
*
|
|
191
|
+
* The `uuidNative` / `id.uuidv4Native` / `id.uuidv7Native` presets use the
|
|
192
|
+
* native Postgres `uuid` type (codecId `pg/uuid@1`). For cross-target
|
|
193
|
+
* portability use `uuidString` / `id.uuidv4String` / `id.uuidv7String` from
|
|
194
|
+
* the family pack instead.
|
|
195
|
+
*/
|
|
196
|
+
/**
|
|
197
|
+
* PSL block descriptor for `policy_select`.
|
|
198
|
+
*
|
|
199
|
+
* The parser learns the block shape from this descriptor; lowering from
|
|
200
|
+
* `PslExtensionBlock` to `PostgresRlsPolicy` is wired in the PSL
|
|
201
|
+
* interpreter (a later dispatch). The `discriminator` matches
|
|
202
|
+
* `PostgresRlsPolicy.kind` so the parsed block node carries the same
|
|
203
|
+
* discriminant as the IR class it will lower to.
|
|
204
|
+
*
|
|
205
|
+
* The `roles` list uses `scope:'cross-space'` because same-namespace
|
|
206
|
+
* role ref resolution requires PSL namespace entries keyed by `refKind`
|
|
207
|
+
* (i.e. `'role'`), which in turn requires the role block discriminator to
|
|
208
|
+
* equal `'role'`. Aligning discriminator with refKind is tracked for
|
|
209
|
+
* slice 4 (cross-space roles). Until then cross-space passes validation
|
|
210
|
+
* unconditionally and the authored role names flow through unchanged.
|
|
211
|
+
*/
|
|
212
|
+
const postgresAuthoringPslBlockDescriptors = {
|
|
213
|
+
policy_select: {
|
|
214
|
+
kind: "pslBlock",
|
|
215
|
+
keyword: "policy_select",
|
|
216
|
+
discriminator: "policy",
|
|
217
|
+
name: { required: true },
|
|
218
|
+
parameters: {
|
|
219
|
+
target: {
|
|
220
|
+
kind: "ref",
|
|
221
|
+
refKind: "model",
|
|
222
|
+
scope: "same-namespace",
|
|
223
|
+
required: true
|
|
224
|
+
},
|
|
225
|
+
roles: {
|
|
226
|
+
kind: "list",
|
|
227
|
+
of: {
|
|
228
|
+
kind: "ref",
|
|
229
|
+
refKind: "role",
|
|
230
|
+
scope: "cross-space"
|
|
231
|
+
}
|
|
232
|
+
},
|
|
233
|
+
using: {
|
|
234
|
+
kind: "value",
|
|
235
|
+
codecId: "pg/text@1",
|
|
236
|
+
required: true
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
},
|
|
240
|
+
/**
|
|
241
|
+
* PSL block descriptor for `native_enum`.
|
|
242
|
+
*
|
|
243
|
+
* Reuses the existing variadic-block mechanism (the same shape the SQL
|
|
244
|
+
* family's `enum` block ships): the body is an open `memberName = "value"`
|
|
245
|
+
* list. `variadicParameters: true` opens the block to arbitrary keys
|
|
246
|
+
* beyond the declared (empty) `parameters` set — the lowering factory
|
|
247
|
+
* (`lowerNativeEnumFromBlock`) turns the variadic entries into ordered
|
|
248
|
+
* members and rejects a bare (value-less) member.
|
|
249
|
+
*/
|
|
250
|
+
native_enum: {
|
|
251
|
+
kind: "pslBlock",
|
|
252
|
+
keyword: "native_enum",
|
|
253
|
+
discriminator: "native_enum",
|
|
254
|
+
name: { required: true },
|
|
255
|
+
parameters: {},
|
|
256
|
+
variadicParameters: true
|
|
257
|
+
}
|
|
258
|
+
};
|
|
259
|
+
const postgresAuthoringFieldPresets = {
|
|
260
|
+
text: {
|
|
261
|
+
kind: "fieldPreset",
|
|
262
|
+
output: {
|
|
263
|
+
codecId: "pg/text@1",
|
|
264
|
+
nativeType: "text"
|
|
265
|
+
}
|
|
266
|
+
},
|
|
267
|
+
int: {
|
|
268
|
+
kind: "fieldPreset",
|
|
269
|
+
output: {
|
|
270
|
+
codecId: "pg/int4@1",
|
|
271
|
+
nativeType: "int4"
|
|
272
|
+
}
|
|
273
|
+
},
|
|
274
|
+
bigint: {
|
|
275
|
+
kind: "fieldPreset",
|
|
276
|
+
output: {
|
|
277
|
+
codecId: "pg/int8@1",
|
|
278
|
+
nativeType: "int8"
|
|
279
|
+
}
|
|
280
|
+
},
|
|
281
|
+
float: {
|
|
282
|
+
kind: "fieldPreset",
|
|
283
|
+
output: {
|
|
284
|
+
codecId: "pg/float8@1",
|
|
285
|
+
nativeType: "float8"
|
|
286
|
+
}
|
|
287
|
+
},
|
|
288
|
+
decimal: {
|
|
289
|
+
kind: "fieldPreset",
|
|
290
|
+
output: {
|
|
291
|
+
codecId: "pg/numeric@1",
|
|
292
|
+
nativeType: "numeric"
|
|
293
|
+
}
|
|
294
|
+
},
|
|
295
|
+
boolean: {
|
|
296
|
+
kind: "fieldPreset",
|
|
297
|
+
output: {
|
|
298
|
+
codecId: "pg/bool@1",
|
|
299
|
+
nativeType: "bool"
|
|
300
|
+
}
|
|
301
|
+
},
|
|
302
|
+
json: {
|
|
303
|
+
kind: "fieldPreset",
|
|
304
|
+
output: {
|
|
305
|
+
codecId: "pg/jsonb@1",
|
|
306
|
+
nativeType: "jsonb"
|
|
307
|
+
}
|
|
308
|
+
},
|
|
309
|
+
bytes: {
|
|
310
|
+
kind: "fieldPreset",
|
|
311
|
+
output: {
|
|
312
|
+
codecId: "pg/bytea@1",
|
|
313
|
+
nativeType: "bytea"
|
|
314
|
+
}
|
|
315
|
+
},
|
|
316
|
+
dateTime: {
|
|
317
|
+
kind: "fieldPreset",
|
|
318
|
+
output: {
|
|
319
|
+
codecId: "pg/timestamptz@1",
|
|
320
|
+
nativeType: "timestamptz"
|
|
321
|
+
}
|
|
322
|
+
},
|
|
323
|
+
temporal: /* @__PURE__ */ temporalAuthoringPresets({
|
|
324
|
+
codecId: "pg/timestamptz@1",
|
|
325
|
+
nativeType: "timestamptz"
|
|
326
|
+
}),
|
|
327
|
+
uuidNative: {
|
|
328
|
+
kind: "fieldPreset",
|
|
329
|
+
output: {
|
|
330
|
+
codecId: "pg/uuid@1",
|
|
331
|
+
nativeType: "uuid"
|
|
332
|
+
}
|
|
333
|
+
},
|
|
334
|
+
id: {
|
|
335
|
+
uuidv4Native: {
|
|
336
|
+
kind: "fieldPreset",
|
|
337
|
+
output: {
|
|
338
|
+
codecId: "pg/uuid@1",
|
|
339
|
+
nativeType: "uuid",
|
|
340
|
+
executionDefaults: { onCreate: {
|
|
341
|
+
kind: "generator",
|
|
342
|
+
id: "uuidv4"
|
|
343
|
+
} },
|
|
344
|
+
id: true
|
|
345
|
+
}
|
|
346
|
+
},
|
|
347
|
+
uuidv7Native: {
|
|
348
|
+
kind: "fieldPreset",
|
|
349
|
+
output: {
|
|
350
|
+
codecId: "pg/uuid@1",
|
|
351
|
+
nativeType: "uuid",
|
|
352
|
+
executionDefaults: { onCreate: {
|
|
353
|
+
kind: "generator",
|
|
354
|
+
id: "uuidv7"
|
|
355
|
+
} },
|
|
356
|
+
id: true
|
|
357
|
+
}
|
|
358
|
+
}
|
|
359
|
+
}
|
|
360
|
+
};
|
|
361
|
+
//#endregion
|
|
362
|
+
export { postgresAuthoringTypes as i, postgresAuthoringFieldPresets as n, postgresAuthoringPslBlockDescriptors as r, postgresAuthoringEntityTypes as t };
|
|
363
|
+
|
|
364
|
+
//# sourceMappingURL=authoring-DzHOdWTl.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"authoring-DzHOdWTl.mjs","names":[],"sources":["../src/core/authoring.ts"],"sourcesContent":["import { temporalAuthoringPresets } from '@prisma-next/family-sql/control';\nimport type {\n AuthoringEntityContext,\n AuthoringEntityTypeFactoryOutput,\n AuthoringEntityTypeNamespace,\n AuthoringFieldNamespace,\n AuthoringPslBlockDescriptorNamespace,\n AuthoringTypeNamespace,\n PslExtensionBlock,\n} from '@prisma-next/framework-components/authoring';\nimport type { SqlValueSetDerivingEntityTypeOutput } from '@prisma-next/sql-contract/value-set-derivation-hook';\nimport { PG_ENUM_CODEC_ID } from './codec-ids';\nimport { PostgresNativeEnum } from './postgres-native-enum';\nimport { PostgresRlsPolicy } from './postgres-rls-policy';\nimport { PostgresRole, type PostgresRoleInput } from './postgres-role';\nimport {\n PostgresNativeEnumSchema,\n PostgresRlsPolicySchema,\n PostgresRoleSchema,\n} from './postgres-validators';\nimport { computeContentHash, normalizePredicate } from './rls/canonicalize';\n\n/**\n * `pg.enum(<ref>)` registers as an ordinary type constructor whose sole\n * positional argument names a `native_enum` entity instead of carrying a\n * literal value. The interpreter resolves the ref to the `native_enum`\n * entity generically (driven by `entityRefArg`); the `pg/enum@1` codec\n * descriptor's `columnFromEntity` hook (see `codecs.ts`) converts that\n * entity into the column's `typeParams` and native type.\n */\nexport const postgresAuthoringTypes = {\n pg: {\n enum: {\n kind: 'typeConstructor',\n entityRefArg: { index: 0, entityKind: 'native_enum' },\n output: {\n codecId: PG_ENUM_CODEC_ID,\n },\n },\n },\n} as const satisfies AuthoringTypeNamespace;\n\nexport interface RlsPolicyExtensionBlock extends PslExtensionBlock {\n readonly namespaceId: string;\n}\n\nfunction readRefParam(block: PslExtensionBlock, key: string): string | undefined {\n const param = block.parameters[key];\n return param?.kind === 'ref' ? param.identifier : undefined;\n}\n\nfunction readValueParam(block: PslExtensionBlock, key: string): string | undefined {\n const param = block.parameters[key];\n return param?.kind === 'value' ? param.raw : undefined;\n}\n\nfunction readListRefParams(block: PslExtensionBlock, key: string): string[] {\n const param = block.parameters[key];\n if (param?.kind !== 'list') return [];\n return param.items.flatMap((item) => (item.kind === 'ref' ? [item.identifier] : []));\n}\n\nfunction unwrapQuotedString(raw: string): string {\n if (raw.startsWith('\"') && raw.endsWith('\"') && raw.length >= 2) {\n return raw.slice(1, -1).replace(/\\\\\"/g, '\"');\n }\n return raw;\n}\n\nfunction lowerRlsPolicyFromBlock(\n block: RlsPolicyExtensionBlock,\n _ctx: AuthoringEntityContext,\n): PostgresRlsPolicy {\n const prefix = block.name;\n const targetModelName = readRefParam(block, 'target') ?? '';\n const tableName = targetModelName.charAt(0).toLowerCase() + targetModelName.slice(1);\n const roles = [...readListRefParams(block, 'roles')].sort();\n const using = unwrapQuotedString(readValueParam(block, 'using') ?? '');\n\n const wireHash = computeContentHash({\n using: normalizePredicate(using),\n roles,\n operation: 'select',\n permissive: true,\n });\n const wireName = `${prefix}_${wireHash}`;\n\n return new PostgresRlsPolicy({\n name: wireName,\n prefix,\n tableName,\n namespaceId: block.namespaceId,\n operation: 'select',\n roles,\n using,\n permissive: true,\n });\n}\n\n/**\n * Lowers a `native_enum { memberName = \"value\" … @@map(\"type_name\") }` block\n * into a {@link PostgresNativeEnum}. Members must be authored as explicit\n * `key = \"value\"` pairs — a bare (value-less) member is a diagnostic, not\n * accepted (authoring-design.md §2.1). The parsed `memberName` is only used\n * to duplicate-check and report diagnostics; the lowered entity carries just\n * the member values (a native enum is value-only — the member \"name\" isn't\n * a separate authoring concept from the value). `typeName` comes from\n * `@@map` or defaults to the block name verbatim.\n */\nfunction lowerNativeEnumFromBlock(\n block: PslExtensionBlock,\n ctx: AuthoringEntityContext,\n): PostgresNativeEnum | undefined {\n const sourceId = ctx.sourceId ?? 'unknown';\n const diagnostics = ctx.diagnostics;\n\n const mapAttr = block.blockAttributes.find((a) => a.name === 'map');\n let typeName = block.name;\n if (mapAttr) {\n const rawArg = mapAttr.args[0]?.value;\n const mapped = rawArg !== undefined ? unwrapQuotedString(rawArg) : undefined;\n if (mapped === undefined) {\n diagnostics?.push({\n code: 'PSL_NATIVE_ENUM_INVALID_MAP',\n message: `native_enum \"${block.name}\" @@map attribute must have a quoted type-name argument`,\n sourceId,\n span: mapAttr.span,\n });\n return undefined;\n }\n typeName = mapped;\n }\n\n let memberError = false;\n const seenValues = new Set<string>();\n const members: string[] = [];\n for (const [memberName, paramValue] of Object.entries(block.parameters)) {\n if (paramValue.kind === 'bare') {\n diagnostics?.push({\n code: 'PSL_NATIVE_ENUM_BARE_MEMBER',\n message: `native_enum \"${block.name}\" member \"${memberName}\" has no value; members must be authored as \"${memberName} = \\\\\"value\\\\\"\"`,\n sourceId,\n span: paramValue.span,\n });\n memberError = true;\n continue;\n }\n if (paramValue.kind !== 'value') continue;\n\n let jsonValue: unknown;\n try {\n jsonValue = JSON.parse(paramValue.raw);\n } catch {\n diagnostics?.push({\n code: 'PSL_EXTENSION_INVALID_VALUE',\n message: `native_enum \"${block.name}\" member \"${memberName}\" value \"${paramValue.raw}\" is not valid JSON`,\n sourceId,\n span: paramValue.span,\n });\n memberError = true;\n continue;\n }\n if (typeof jsonValue !== 'string') {\n diagnostics?.push({\n code: 'PSL_EXTENSION_INVALID_VALUE',\n message: `native_enum \"${block.name}\" member \"${memberName}\" value must be a string`,\n sourceId,\n span: paramValue.span,\n });\n memberError = true;\n continue;\n }\n if (seenValues.has(jsonValue)) {\n diagnostics?.push({\n code: 'PSL_NATIVE_ENUM_DUPLICATE_MEMBER_VALUE',\n message: `native_enum \"${block.name}\": duplicate member value \"${jsonValue}\"`,\n sourceId,\n span: paramValue.span,\n });\n memberError = true;\n continue;\n }\n seenValues.add(jsonValue);\n members.push(jsonValue);\n }\n\n if (memberError) return undefined;\n\n if (members.length === 0) {\n diagnostics?.push({\n code: 'PSL_NATIVE_ENUM_MISSING_MEMBERS',\n message: `native_enum \"${block.name}\" must have at least one member`,\n sourceId,\n span: block.span,\n });\n return undefined;\n }\n\n // `control` stays unset — the effective grade is resolved at read time via `effectiveControlPolicy`, like `StorageTable`/`StorageColumn`.\n return new PostgresNativeEnum({ typeName, members });\n}\n\n/**\n * `native_enum`'s entity-type factory output, checked separately from the assembled\n * `postgresAuthoringEntityTypes` map below: `deriveValueSet` is SQL-family surface\n * ({@link SqlValueSetDerivingEntityTypeOutput}), not part of the framework\n * `AuthoringEntityTypeFactoryOutput` shape, so folding it directly into the map's single\n * `satisfies AuthoringEntityTypeNamespace` check would trip an excess-property error. Checking it\n * here against the intersection of both shapes keeps it structurally valid against each without\n * widening the map's own check.\n */\nconst nativeEnumEntityTypeOutput = {\n factory: lowerNativeEnumFromBlock,\n deriveValueSet: (entity: PostgresNativeEnum) => ({\n kind: 'valueSet' as const,\n values: [...entity.members],\n }),\n} satisfies AuthoringEntityTypeFactoryOutput<PslExtensionBlock, PostgresNativeEnum | undefined> &\n SqlValueSetDerivingEntityTypeOutput;\n\nexport const postgresAuthoringEntityTypes = {\n role: {\n kind: 'entity',\n discriminator: 'role',\n validatorSchema: PostgresRoleSchema,\n output: {\n factory: (input: PostgresRoleInput): PostgresRole => new PostgresRole(input),\n },\n },\n policy: {\n kind: 'entity',\n discriminator: 'policy',\n validatorSchema: PostgresRlsPolicySchema,\n output: {\n factory: lowerRlsPolicyFromBlock,\n },\n },\n native_enum: {\n kind: 'entity',\n discriminator: 'native_enum',\n validatorSchema: PostgresNativeEnumSchema,\n output: nativeEnumEntityTypeOutput,\n },\n} as const satisfies AuthoringEntityTypeNamespace;\n\n/**\n * Field presets contributed by the Postgres target pack.\n *\n * These mirror the PSL scalar-to-codec mapping used by the Postgres adapter\n * (see `createPostgresPslScalarTypeDescriptors`), so that authoring a field\n * via the TS callback surface (e.g. `field.int()`) and via the PSL scalar\n * surface (e.g. `Int`) lowers to byte-identical contracts.\n *\n * The `uuidNative` / `id.uuidv4Native` / `id.uuidv7Native` presets use the\n * native Postgres `uuid` type (codecId `pg/uuid@1`). For cross-target\n * portability use `uuidString` / `id.uuidv4String` / `id.uuidv7String` from\n * the family pack instead.\n */\n/**\n * PSL block descriptor for `policy_select`.\n *\n * The parser learns the block shape from this descriptor; lowering from\n * `PslExtensionBlock` to `PostgresRlsPolicy` is wired in the PSL\n * interpreter (a later dispatch). The `discriminator` matches\n * `PostgresRlsPolicy.kind` so the parsed block node carries the same\n * discriminant as the IR class it will lower to.\n *\n * The `roles` list uses `scope:'cross-space'` because same-namespace\n * role ref resolution requires PSL namespace entries keyed by `refKind`\n * (i.e. `'role'`), which in turn requires the role block discriminator to\n * equal `'role'`. Aligning discriminator with refKind is tracked for\n * slice 4 (cross-space roles). Until then cross-space passes validation\n * unconditionally and the authored role names flow through unchanged.\n */\nexport const postgresAuthoringPslBlockDescriptors = {\n policy_select: {\n kind: 'pslBlock',\n keyword: 'policy_select',\n discriminator: 'policy',\n name: { required: true },\n parameters: {\n target: { kind: 'ref', refKind: 'model', scope: 'same-namespace', required: true },\n roles: {\n kind: 'list',\n of: { kind: 'ref', refKind: 'role', scope: 'cross-space' },\n },\n using: { kind: 'value', codecId: 'pg/text@1', required: true },\n },\n },\n /**\n * PSL block descriptor for `native_enum`.\n *\n * Reuses the existing variadic-block mechanism (the same shape the SQL\n * family's `enum` block ships): the body is an open `memberName = \"value\"`\n * list. `variadicParameters: true` opens the block to arbitrary keys\n * beyond the declared (empty) `parameters` set — the lowering factory\n * (`lowerNativeEnumFromBlock`) turns the variadic entries into ordered\n * members and rejects a bare (value-less) member.\n */\n native_enum: {\n kind: 'pslBlock',\n keyword: 'native_enum',\n discriminator: 'native_enum',\n name: { required: true },\n parameters: {},\n variadicParameters: true,\n },\n} as const satisfies AuthoringPslBlockDescriptorNamespace;\n\nexport const postgresAuthoringFieldPresets = {\n text: {\n kind: 'fieldPreset',\n output: {\n codecId: 'pg/text@1',\n nativeType: 'text',\n },\n },\n int: {\n kind: 'fieldPreset',\n output: {\n codecId: 'pg/int4@1',\n nativeType: 'int4',\n },\n },\n bigint: {\n kind: 'fieldPreset',\n output: {\n codecId: 'pg/int8@1',\n nativeType: 'int8',\n },\n },\n float: {\n kind: 'fieldPreset',\n output: {\n codecId: 'pg/float8@1',\n nativeType: 'float8',\n },\n },\n decimal: {\n kind: 'fieldPreset',\n output: {\n codecId: 'pg/numeric@1',\n nativeType: 'numeric',\n },\n },\n boolean: {\n kind: 'fieldPreset',\n output: {\n codecId: 'pg/bool@1',\n nativeType: 'bool',\n },\n },\n json: {\n kind: 'fieldPreset',\n output: {\n codecId: 'pg/jsonb@1',\n nativeType: 'jsonb',\n },\n },\n bytes: {\n kind: 'fieldPreset',\n output: {\n codecId: 'pg/bytea@1',\n nativeType: 'bytea',\n },\n },\n dateTime: {\n kind: 'fieldPreset',\n output: {\n codecId: 'pg/timestamptz@1',\n nativeType: 'timestamptz',\n },\n },\n temporal: /* @__PURE__ */ temporalAuthoringPresets({\n codecId: 'pg/timestamptz@1',\n nativeType: 'timestamptz',\n }),\n uuidNative: {\n kind: 'fieldPreset',\n output: {\n codecId: 'pg/uuid@1',\n nativeType: 'uuid',\n },\n },\n id: {\n uuidv4Native: {\n kind: 'fieldPreset',\n output: {\n codecId: 'pg/uuid@1',\n nativeType: 'uuid',\n executionDefaults: {\n onCreate: {\n kind: 'generator',\n id: 'uuidv4',\n },\n },\n id: true,\n },\n },\n uuidv7Native: {\n kind: 'fieldPreset',\n output: {\n codecId: 'pg/uuid@1',\n nativeType: 'uuid',\n executionDefaults: {\n onCreate: {\n kind: 'generator',\n id: 'uuidv7',\n },\n },\n id: true,\n },\n },\n },\n} as const satisfies AuthoringFieldNamespace;\n"],"mappings":"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T,YAAY;EACd;CACF;CACA,SAAS;EACP,MAAM;EACN,QAAQ;GACN,SAAS;GACT,YAAY;EACd;CACF;CACA,MAAM;EACJ,MAAM;EACN,QAAQ;GACN,SAAS;GACT,YAAY;EACd;CACF;CACA,OAAO;EACL,MAAM;EACN,QAAQ;GACN,SAAS;GACT,YAAY;EACd;CACF;CACA,UAAU;EACR,MAAM;EACN,QAAQ;GACN,SAAS;GACT,YAAY;EACd;CACF;CACA,UAA0B,yCAAyB;EACjD,SAAS;EACT,YAAY;CACd,CAAC;CACD,YAAY;EACV,MAAM;EACN,QAAQ;GACN,SAAS;GACT,YAAY;EACd;CACF;CACA,IAAI;EACF,cAAc;GACZ,MAAM;GACN,QAAQ;IACN,SAAS;IACT,YAAY;IACZ,mBAAmB,EACjB,UAAU;KACR,MAAM;KACN,IAAI;IACN,EACF;IACA,IAAI;GACN;EACF;EACA,cAAc;GACZ,MAAM;GACN,QAAQ;IACN,SAAS;IACT,YAAY;IACZ,mBAAmB,EACjB,UAAU;KACR,MAAM;KACN,IAAI;IACN,EACF;IACA,IAAI;GACN;EACF;CACF;AACF"}
|
|
@@ -3,6 +3,7 @@ import { SQL_CHAR_CODEC_ID, SQL_FLOAT_CODEC_ID, SQL_INT_CODEC_ID, SQL_TEXT_CODEC
|
|
|
3
3
|
//#region src/core/codec-ids.d.ts
|
|
4
4
|
declare const PG_TEXT_CODEC_ID: "pg/text@1";
|
|
5
5
|
declare const PG_TEXT_ARRAY_CODEC_ID: "pg/text-array@1";
|
|
6
|
+
declare const PG_ENUM_CODEC_ID: "pg/enum@1";
|
|
6
7
|
declare const PG_CHAR_CODEC_ID: "pg/char@1";
|
|
7
8
|
declare const PG_VARCHAR_CODEC_ID: "pg/varchar@1";
|
|
8
9
|
declare const PG_INT_CODEC_ID: "pg/int@1";
|
|
@@ -26,5 +27,5 @@ declare const PG_JSONB_CODEC_ID: "pg/jsonb@1";
|
|
|
26
27
|
declare const PG_BYTEA_CODEC_ID: "pg/bytea@1";
|
|
27
28
|
declare const PG_UUID_CODEC_ID: "pg/uuid@1";
|
|
28
29
|
//#endregion
|
|
29
|
-
export {
|
|
30
|
-
//# sourceMappingURL=codec-ids-
|
|
30
|
+
export { SQL_TIMESTAMP_CODEC_ID as A, PG_UUID_CODEC_ID as C, SQL_FLOAT_CODEC_ID as D, SQL_CHAR_CODEC_ID as E, SQL_INT_CODEC_ID as O, PG_TIME_CODEC_ID as S, PG_VARCHAR_CODEC_ID as T, PG_TEXT_ARRAY_CODEC_ID as _, PG_ENUM_CODEC_ID as a, PG_TIMESTAMP_CODEC_ID as b, PG_FLOAT_CODEC_ID as c, PG_INT8_CODEC_ID as d, PG_INTERVAL_CODEC_ID as f, PG_NUMERIC_CODEC_ID as g, PG_JSON_CODEC_ID as h, PG_CHAR_CODEC_ID as i, SQL_VARCHAR_CODEC_ID as j, SQL_TEXT_CODEC_ID as k, PG_INT2_CODEC_ID as l, PG_JSONB_CODEC_ID as m, PG_BOOL_CODEC_ID as n, PG_FLOAT4_CODEC_ID as o, PG_INT_CODEC_ID as p, PG_BYTEA_CODEC_ID as r, PG_FLOAT8_CODEC_ID as s, PG_BIT_CODEC_ID as t, PG_INT4_CODEC_ID as u, PG_TEXT_CODEC_ID as v, PG_VARBIT_CODEC_ID as w, PG_TIMETZ_CODEC_ID as x, PG_TIMESTAMPTZ_CODEC_ID as y };
|
|
31
|
+
//# sourceMappingURL=codec-ids-BzrFF-I4.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codec-ids-BzrFF-I4.d.mts","names":[],"sources":["../src/core/codec-ids.ts"],"mappings":";;;cAQa,gBAAA;AAAA,cACA,sBAAA;AAAA,cACA,gBAAA;AAAA,cACA,gBAAA;AAAA,cACA,mBAAA;AAAA,cACA,eAAA;AAAA,cACA,gBAAA;AAAA,cACA,gBAAA;AAAA,cACA,gBAAA;AAAA,cACA,iBAAA;AAAA,cACA,kBAAA;AAAA,cACA,kBAAA;AAAA,cACA,mBAAA;AAAA,cACA,gBAAA;AAAA,cACA,eAAA;AAAA,cACA,kBAAA;AAAA,cACA,qBAAA;AAAA,cACA,uBAAA;AAAA,cACA,gBAAA;AAAA,cACA,kBAAA;AAAA,cACA,oBAAA;AAAA,cACA,gBAAA;AAAA,cACA,iBAAA;AAAA,cACA,iBAAA;AAAA,cACA,gBAAA"}
|
|
@@ -2,6 +2,7 @@ import { SQL_CHAR_CODEC_ID, SQL_FLOAT_CODEC_ID, SQL_INT_CODEC_ID, SQL_TEXT_CODEC
|
|
|
2
2
|
//#region src/core/codec-ids.ts
|
|
3
3
|
const PG_TEXT_CODEC_ID = "pg/text@1";
|
|
4
4
|
const PG_TEXT_ARRAY_CODEC_ID = "pg/text-array@1";
|
|
5
|
+
const PG_ENUM_CODEC_ID = "pg/enum@1";
|
|
5
6
|
const PG_CHAR_CODEC_ID = "pg/char@1";
|
|
6
7
|
const PG_VARCHAR_CODEC_ID = "pg/varchar@1";
|
|
7
8
|
const PG_INT_CODEC_ID = "pg/int@1";
|
|
@@ -25,6 +26,6 @@ const PG_JSONB_CODEC_ID = "pg/jsonb@1";
|
|
|
25
26
|
const PG_BYTEA_CODEC_ID = "pg/bytea@1";
|
|
26
27
|
const PG_UUID_CODEC_ID = "pg/uuid@1";
|
|
27
28
|
//#endregion
|
|
28
|
-
export {
|
|
29
|
+
export { SQL_TIMESTAMP_CODEC_ID as A, PG_UUID_CODEC_ID as C, SQL_FLOAT_CODEC_ID as D, SQL_CHAR_CODEC_ID as E, SQL_INT_CODEC_ID as O, PG_TIME_CODEC_ID as S, PG_VARCHAR_CODEC_ID as T, PG_TEXT_ARRAY_CODEC_ID as _, PG_ENUM_CODEC_ID as a, PG_TIMESTAMP_CODEC_ID as b, PG_FLOAT_CODEC_ID as c, PG_INT8_CODEC_ID as d, PG_INTERVAL_CODEC_ID as f, PG_NUMERIC_CODEC_ID as g, PG_JSON_CODEC_ID as h, PG_CHAR_CODEC_ID as i, SQL_VARCHAR_CODEC_ID as j, SQL_TEXT_CODEC_ID as k, PG_INT2_CODEC_ID as l, PG_JSONB_CODEC_ID as m, PG_BOOL_CODEC_ID as n, PG_FLOAT4_CODEC_ID as o, PG_INT_CODEC_ID as p, PG_BYTEA_CODEC_ID as r, PG_FLOAT8_CODEC_ID as s, PG_BIT_CODEC_ID as t, PG_INT4_CODEC_ID as u, PG_TEXT_CODEC_ID as v, PG_VARBIT_CODEC_ID as w, PG_TIMETZ_CODEC_ID as x, PG_TIMESTAMPTZ_CODEC_ID as y };
|
|
29
30
|
|
|
30
|
-
//# sourceMappingURL=codec-ids-
|
|
31
|
+
//# sourceMappingURL=codec-ids-C_-Hj6bL.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codec-ids-C_-Hj6bL.mjs","names":[],"sources":["../src/core/codec-ids.ts"],"sourcesContent":["export {\n SQL_CHAR_CODEC_ID,\n SQL_FLOAT_CODEC_ID,\n SQL_INT_CODEC_ID,\n SQL_TEXT_CODEC_ID,\n SQL_TIMESTAMP_CODEC_ID,\n SQL_VARCHAR_CODEC_ID,\n} from '@prisma-next/sql-relational-core/ast';\nexport const PG_TEXT_CODEC_ID = 'pg/text@1' as const;\nexport const PG_TEXT_ARRAY_CODEC_ID = 'pg/text-array@1' as const;\nexport const PG_ENUM_CODEC_ID = 'pg/enum@1' as const;\nexport const PG_CHAR_CODEC_ID = 'pg/char@1' as const;\nexport const PG_VARCHAR_CODEC_ID = 'pg/varchar@1' as const;\nexport const PG_INT_CODEC_ID = 'pg/int@1' as const;\nexport const PG_INT2_CODEC_ID = 'pg/int2@1' as const;\nexport const PG_INT4_CODEC_ID = 'pg/int4@1' as const;\nexport const PG_INT8_CODEC_ID = 'pg/int8@1' as const;\nexport const PG_FLOAT_CODEC_ID = 'pg/float@1' as const;\nexport const PG_FLOAT4_CODEC_ID = 'pg/float4@1' as const;\nexport const PG_FLOAT8_CODEC_ID = 'pg/float8@1' as const;\nexport const PG_NUMERIC_CODEC_ID = 'pg/numeric@1' as const;\nexport const PG_BOOL_CODEC_ID = 'pg/bool@1' as const;\nexport const PG_BIT_CODEC_ID = 'pg/bit@1' as const;\nexport const PG_VARBIT_CODEC_ID = 'pg/varbit@1' as const;\nexport const PG_TIMESTAMP_CODEC_ID = 'pg/timestamp@1' as const;\nexport const PG_TIMESTAMPTZ_CODEC_ID = 'pg/timestamptz@1' as const;\nexport const PG_TIME_CODEC_ID = 'pg/time@1' as const;\nexport const PG_TIMETZ_CODEC_ID = 'pg/timetz@1' as const;\nexport const PG_INTERVAL_CODEC_ID = 'pg/interval@1' as const;\nexport const PG_JSON_CODEC_ID = 'pg/json@1' as const;\nexport const PG_JSONB_CODEC_ID = 'pg/jsonb@1' as const;\nexport const PG_BYTEA_CODEC_ID = 'pg/bytea@1' as const;\nexport const PG_UUID_CODEC_ID = 'pg/uuid@1' as const;\n"],"mappings":";;AAQA,MAAa,mBAAmB;AAChC,MAAa,yBAAyB;AACtC,MAAa,mBAAmB;AAChC,MAAa,mBAAmB;AAChC,MAAa,sBAAsB;AACnC,MAAa,kBAAkB;AAC/B,MAAa,mBAAmB;AAChC,MAAa,mBAAmB;AAChC,MAAa,mBAAmB;AAChC,MAAa,oBAAoB;AACjC,MAAa,qBAAqB;AAClC,MAAa,qBAAqB;AAClC,MAAa,sBAAsB;AACnC,MAAa,mBAAmB;AAChC,MAAa,kBAAkB;AAC/B,MAAa,qBAAqB;AAClC,MAAa,wBAAwB;AACrC,MAAa,0BAA0B;AACvC,MAAa,mBAAmB;AAChC,MAAa,qBAAqB;AAClC,MAAa,uBAAuB;AACpC,MAAa,mBAAmB;AAChC,MAAa,oBAAoB;AACjC,MAAa,oBAAoB;AACjC,MAAa,mBAAmB"}
|
package/dist/codec-ids.d.mts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { A as
|
|
2
|
-
export { PG_BIT_CODEC_ID, PG_BOOL_CODEC_ID, PG_BYTEA_CODEC_ID, PG_CHAR_CODEC_ID, PG_FLOAT4_CODEC_ID, PG_FLOAT8_CODEC_ID, PG_FLOAT_CODEC_ID, PG_INT2_CODEC_ID, PG_INT4_CODEC_ID, PG_INT8_CODEC_ID, PG_INTERVAL_CODEC_ID, PG_INT_CODEC_ID, PG_JSONB_CODEC_ID, PG_JSON_CODEC_ID, PG_NUMERIC_CODEC_ID, PG_TEXT_ARRAY_CODEC_ID, PG_TEXT_CODEC_ID, PG_TIMESTAMPTZ_CODEC_ID, PG_TIMESTAMP_CODEC_ID, PG_TIMETZ_CODEC_ID, PG_TIME_CODEC_ID, PG_UUID_CODEC_ID, PG_VARBIT_CODEC_ID, PG_VARCHAR_CODEC_ID, SQL_CHAR_CODEC_ID, SQL_FLOAT_CODEC_ID, SQL_INT_CODEC_ID, SQL_TEXT_CODEC_ID, SQL_TIMESTAMP_CODEC_ID, SQL_VARCHAR_CODEC_ID };
|
|
1
|
+
import { A as SQL_TIMESTAMP_CODEC_ID, C as PG_UUID_CODEC_ID, D as SQL_FLOAT_CODEC_ID, E as SQL_CHAR_CODEC_ID, O as SQL_INT_CODEC_ID, S as PG_TIME_CODEC_ID, T as PG_VARCHAR_CODEC_ID, _ as PG_TEXT_ARRAY_CODEC_ID, a as PG_ENUM_CODEC_ID, b as PG_TIMESTAMP_CODEC_ID, c as PG_FLOAT_CODEC_ID, d as PG_INT8_CODEC_ID, f as PG_INTERVAL_CODEC_ID, g as PG_NUMERIC_CODEC_ID, h as PG_JSON_CODEC_ID, i as PG_CHAR_CODEC_ID, j as SQL_VARCHAR_CODEC_ID, k as SQL_TEXT_CODEC_ID, l as PG_INT2_CODEC_ID, m as PG_JSONB_CODEC_ID, n as PG_BOOL_CODEC_ID, o as PG_FLOAT4_CODEC_ID, p as PG_INT_CODEC_ID, r as PG_BYTEA_CODEC_ID, s as PG_FLOAT8_CODEC_ID, t as PG_BIT_CODEC_ID, u as PG_INT4_CODEC_ID, v as PG_TEXT_CODEC_ID, w as PG_VARBIT_CODEC_ID, x as PG_TIMETZ_CODEC_ID, y as PG_TIMESTAMPTZ_CODEC_ID } from "./codec-ids-BzrFF-I4.mjs";
|
|
2
|
+
export { PG_BIT_CODEC_ID, PG_BOOL_CODEC_ID, PG_BYTEA_CODEC_ID, PG_CHAR_CODEC_ID, PG_ENUM_CODEC_ID, PG_FLOAT4_CODEC_ID, PG_FLOAT8_CODEC_ID, PG_FLOAT_CODEC_ID, PG_INT2_CODEC_ID, PG_INT4_CODEC_ID, PG_INT8_CODEC_ID, PG_INTERVAL_CODEC_ID, PG_INT_CODEC_ID, PG_JSONB_CODEC_ID, PG_JSON_CODEC_ID, PG_NUMERIC_CODEC_ID, PG_TEXT_ARRAY_CODEC_ID, PG_TEXT_CODEC_ID, PG_TIMESTAMPTZ_CODEC_ID, PG_TIMESTAMP_CODEC_ID, PG_TIMETZ_CODEC_ID, PG_TIME_CODEC_ID, PG_UUID_CODEC_ID, PG_VARBIT_CODEC_ID, PG_VARCHAR_CODEC_ID, SQL_CHAR_CODEC_ID, SQL_FLOAT_CODEC_ID, SQL_INT_CODEC_ID, SQL_TEXT_CODEC_ID, SQL_TIMESTAMP_CODEC_ID, SQL_VARCHAR_CODEC_ID };
|
package/dist/codec-ids.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { A as
|
|
2
|
-
export { PG_BIT_CODEC_ID, PG_BOOL_CODEC_ID, PG_BYTEA_CODEC_ID, PG_CHAR_CODEC_ID, PG_FLOAT4_CODEC_ID, PG_FLOAT8_CODEC_ID, PG_FLOAT_CODEC_ID, PG_INT2_CODEC_ID, PG_INT4_CODEC_ID, PG_INT8_CODEC_ID, PG_INTERVAL_CODEC_ID, PG_INT_CODEC_ID, PG_JSONB_CODEC_ID, PG_JSON_CODEC_ID, PG_NUMERIC_CODEC_ID, PG_TEXT_ARRAY_CODEC_ID, PG_TEXT_CODEC_ID, PG_TIMESTAMPTZ_CODEC_ID, PG_TIMESTAMP_CODEC_ID, PG_TIMETZ_CODEC_ID, PG_TIME_CODEC_ID, PG_UUID_CODEC_ID, PG_VARBIT_CODEC_ID, PG_VARCHAR_CODEC_ID, SQL_CHAR_CODEC_ID, SQL_FLOAT_CODEC_ID, SQL_INT_CODEC_ID, SQL_TEXT_CODEC_ID, SQL_TIMESTAMP_CODEC_ID, SQL_VARCHAR_CODEC_ID };
|
|
1
|
+
import { A as SQL_TIMESTAMP_CODEC_ID, C as PG_UUID_CODEC_ID, D as SQL_FLOAT_CODEC_ID, E as SQL_CHAR_CODEC_ID, O as SQL_INT_CODEC_ID, S as PG_TIME_CODEC_ID, T as PG_VARCHAR_CODEC_ID, _ as PG_TEXT_ARRAY_CODEC_ID, a as PG_ENUM_CODEC_ID, b as PG_TIMESTAMP_CODEC_ID, c as PG_FLOAT_CODEC_ID, d as PG_INT8_CODEC_ID, f as PG_INTERVAL_CODEC_ID, g as PG_NUMERIC_CODEC_ID, h as PG_JSON_CODEC_ID, i as PG_CHAR_CODEC_ID, j as SQL_VARCHAR_CODEC_ID, k as SQL_TEXT_CODEC_ID, l as PG_INT2_CODEC_ID, m as PG_JSONB_CODEC_ID, n as PG_BOOL_CODEC_ID, o as PG_FLOAT4_CODEC_ID, p as PG_INT_CODEC_ID, r as PG_BYTEA_CODEC_ID, s as PG_FLOAT8_CODEC_ID, t as PG_BIT_CODEC_ID, u as PG_INT4_CODEC_ID, v as PG_TEXT_CODEC_ID, w as PG_VARBIT_CODEC_ID, x as PG_TIMETZ_CODEC_ID, y as PG_TIMESTAMPTZ_CODEC_ID } from "./codec-ids-C_-Hj6bL.mjs";
|
|
2
|
+
export { PG_BIT_CODEC_ID, PG_BOOL_CODEC_ID, PG_BYTEA_CODEC_ID, PG_CHAR_CODEC_ID, PG_ENUM_CODEC_ID, PG_FLOAT4_CODEC_ID, PG_FLOAT8_CODEC_ID, PG_FLOAT_CODEC_ID, PG_INT2_CODEC_ID, PG_INT4_CODEC_ID, PG_INT8_CODEC_ID, PG_INTERVAL_CODEC_ID, PG_INT_CODEC_ID, PG_JSONB_CODEC_ID, PG_JSON_CODEC_ID, PG_NUMERIC_CODEC_ID, PG_TEXT_ARRAY_CODEC_ID, PG_TEXT_CODEC_ID, PG_TIMESTAMPTZ_CODEC_ID, PG_TIMESTAMP_CODEC_ID, PG_TIMETZ_CODEC_ID, PG_TIME_CODEC_ID, PG_UUID_CODEC_ID, PG_VARBIT_CODEC_ID, PG_VARCHAR_CODEC_ID, SQL_CHAR_CODEC_ID, SQL_FLOAT_CODEC_ID, SQL_INT_CODEC_ID, SQL_TEXT_CODEC_ID, SQL_TIMESTAMP_CODEC_ID, SQL_VARCHAR_CODEC_ID };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { C as
|
|
1
|
+
import { C as PgVarbitDescriptor, S as PgUuidDescriptor, _ as PgTextDescriptor, a as PgEnumDescriptor, b as PgTimestamptzDescriptor, c as PgFloatDescriptor, d as PgInt8Descriptor, f as PgIntDescriptor, g as PgNumericDescriptor, h as PgJsonbDescriptor, i as PgCharDescriptor, l as PgInt2Descriptor, m as PgJsonDescriptor, n as PgBoolDescriptor, o as PgFloat4Descriptor, p as PgIntervalDescriptor, r as PgByteaDescriptor, s as PgFloat8Descriptor, t as PgBitDescriptor, u as PgInt4Descriptor, v as PgTimeDescriptor, w as PgVarcharDescriptor, x as PgTimetzDescriptor, y as PgTimestampDescriptor } from "./codecs-Dk2sxGLv.mjs";
|
|
2
2
|
import { ExtractCodecTypes } from "@prisma-next/sql-relational-core/ast";
|
|
3
3
|
import { JsonValue as JsonValue$1 } from "@prisma-next/contract/types";
|
|
4
4
|
|
|
@@ -11,6 +11,7 @@ declare const codecDescriptorMap: {
|
|
|
11
11
|
readonly 'sql-text': import("@prisma-next/sql-relational-core/ast").SqlTextDescriptor;
|
|
12
12
|
readonly 'sql-timestamp': import("@prisma-next/sql-relational-core/ast").SqlTimestampDescriptor;
|
|
13
13
|
readonly text: PgTextDescriptor;
|
|
14
|
+
readonly enum: PgEnumDescriptor;
|
|
14
15
|
readonly character: PgCharDescriptor;
|
|
15
16
|
readonly 'character varying': PgVarcharDescriptor;
|
|
16
17
|
readonly integer: PgIntDescriptor;
|
|
@@ -75,4 +76,4 @@ type Interval<P extends number | undefined = undefined> = BrandedString<{
|
|
|
75
76
|
}>;
|
|
76
77
|
//#endregion
|
|
77
78
|
export { JsonValue$1 as a, Timestamp as c, VarBit as d, Varchar as f, Interval as i, Timestamptz as l, Char as n, Numeric as o, CodecTypes as r, Time as s, Bit as t, Timetz as u };
|
|
78
|
-
//# sourceMappingURL=codec-types-
|
|
79
|
+
//# sourceMappingURL=codec-types-BDVmvKAW.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codec-types-BDVmvKAW.d.mts","names":[],"sources":["../src/core/codec-type-map.ts","../src/exports/codec-types.ts"],"mappings":";;;;;cA6Ca,kBAAA;EAAA;;;;;;iBA+BH,gBAAA;EAAA;;;;;;;;;;;;;;;;;;;;;;;;KAEE,OAAA,6BAAoC,CAAA,0BAA2B,CAAA,CAAE,CAAA,IAAK,CAAA,CAAE,CAAA,EAAG,CAAA;AAAA,KAE3E,kBAAA,UAA4B,kBAAkB;AAAA,KAE9C,mBAAA,GAAsB,iBAAiB,CAAC,kBAAA;;;KCvExC,UAAA,GAAa,OAAO,CAAC,mBAAA;AAAA,KAI5B,OAAA,kBAAyB,MAAA,qBAA2B,CAAA,0BAClC,KAAA,GAAQ,KAAA,CAAM,CAAA;AAAA,KAGhC,aAAA,eAA4B,MAAA,qBAA2B,OAAA,SAAgB,KAAA;AAAA,KAEhE,IAAA,qBAAyB,aAAa;EAAG,YAAA,EAAc,CAAA;AAAA;AAAA,KACvD,OAAA,qBAA4B,aAAa;EAAG,eAAA,EAAiB,CAAA;AAAA;AAAA,KAC7D,OAAA,+DAAsE,aAAA;EAChF,kBAAA,EAAoB,CAAA;EACpB,cAAA,EAAgB,CAAA;AAAA;AAAA,KAEN,GAAA,qBAAwB,aAAa;EAAG,WAAA,EAAa,CAAA;AAAA;AAAA,KACrD,MAAA,qBAA2B,aAAa;EAAG,cAAA,EAAgB,CAAA;AAAA;AAAA,KAC3D,SAAA,6CAAsD,aAAa;EAC7E,oBAAA,EAAsB,CAAA;AAAA;AAAA,KAEZ,WAAA,6CAAwD,aAAa;EAC/E,sBAAA,EAAwB,CAAA;AAAA;AAAA,KAEd,IAAA,6CAAiD,aAAa;EAAG,eAAA,EAAiB,CAAA;AAAA;AAAA,KAClF,MAAA,6CAAmD,aAAa;EAC1E,iBAAA,EAAmB,CAAA;AAAA;AAAA,KAET,QAAA,6CAAqD,aAAa;EAC5E,mBAAA,EAAqB,CAAA;AAAA"}
|
package/dist/codec-types.d.mts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as JsonValue, c as Timestamp, d as VarBit, f as Varchar, i as Interval, l as Timestamptz, n as Char, o as Numeric, r as CodecTypes, s as Time, t as Bit, u as Timetz } from "./codec-types-
|
|
1
|
+
import { a as JsonValue, c as Timestamp, d as VarBit, f as Varchar, i as Interval, l as Timestamptz, n as Char, o as Numeric, r as CodecTypes, s as Time, t as Bit, u as Timetz } from "./codec-types-BDVmvKAW.mjs";
|
|
2
2
|
export { Bit, Char, CodecTypes, Interval, type JsonValue, Numeric, Time, Timestamp, Timestamptz, Timetz, VarBit, Varchar };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { C as
|
|
1
|
+
import { C as PG_UUID_CODEC_ID, S as PG_TIME_CODEC_ID, a as PG_ENUM_CODEC_ID, b as PG_TIMESTAMP_CODEC_ID, d as PG_INT8_CODEC_ID, f as PG_INTERVAL_CODEC_ID, g as PG_NUMERIC_CODEC_ID, h as PG_JSON_CODEC_ID, l as PG_INT2_CODEC_ID, m as PG_JSONB_CODEC_ID, n as PG_BOOL_CODEC_ID, o as PG_FLOAT4_CODEC_ID, r as PG_BYTEA_CODEC_ID, s as PG_FLOAT8_CODEC_ID, t as PG_BIT_CODEC_ID, u as PG_INT4_CODEC_ID, v as PG_TEXT_CODEC_ID, w as PG_VARBIT_CODEC_ID, x as PG_TIMETZ_CODEC_ID, y as PG_TIMESTAMPTZ_CODEC_ID } from "./codec-ids-BzrFF-I4.mjs";
|
|
2
2
|
import { SqlCharCodec, SqlFloatCodec, SqlIntCodec, SqlVarcharCodec } from "@prisma-next/sql-relational-core/ast";
|
|
3
|
-
import { AnyCodecDescriptor, CodecCallContext, CodecDescriptorImpl, CodecImpl, CodecInstanceContext } from "@prisma-next/framework-components/codec";
|
|
3
|
+
import { AnyCodecDescriptor, CodecCallContext, CodecDescriptorImpl, CodecImpl, CodecInstanceContext, CodecMeta } from "@prisma-next/framework-components/codec";
|
|
4
4
|
import { JsonValue } from "@prisma-next/contract/types";
|
|
5
5
|
import { StandardSchemaV1 } from "@standard-schema/spec";
|
|
6
6
|
|
|
@@ -39,6 +39,68 @@ declare class PgTextDescriptor extends CodecDescriptorImpl<void> {
|
|
|
39
39
|
factory(): (ctx: CodecInstanceContext) => PgTextCodec;
|
|
40
40
|
}
|
|
41
41
|
declare const pgTextColumn: () => import("@prisma-next/framework-components/codec").ColumnSpec<PgTextCodec, undefined>;
|
|
42
|
+
/**
|
|
43
|
+
* Codec for a `pg.enum(Ref)` column bound to a native Postgres enum type.
|
|
44
|
+
* Text passthrough, identical to `pg/text@1` — encode/decode do not carry the
|
|
45
|
+
* enum's member values; membership is enforced by the native type itself, not
|
|
46
|
+
* by this codec. `renderValueLiteral` renders a member value as its TS
|
|
47
|
+
* literal, which is what drives the column's typed value-union (via
|
|
48
|
+
* `renderValueSetType` reading the column's `valueSet` ref) — the codec
|
|
49
|
+
* itself carries no params of its own; typing comes entirely from the
|
|
50
|
+
* column's value-set, not from `pg/enum@1`.
|
|
51
|
+
*
|
|
52
|
+
* A distinct codec id (rather than reusing `pg/text@1` on a plain text
|
|
53
|
+
* column) keeps native-enum columns independently identifiable — from a
|
|
54
|
+
* column's `codecId` alone, without also inspecting `nativeType` — which
|
|
55
|
+
* the managed (DDL) phase needs to target `CREATE TYPE`/`ALTER TYPE`
|
|
56
|
+
* operations at exactly the columns that use one.
|
|
57
|
+
*/
|
|
58
|
+
declare class PgEnumCodec extends CodecImpl<typeof PG_ENUM_CODEC_ID, readonly ['equality', 'order', 'textual'], string, string> {
|
|
59
|
+
encode(value: string, _ctx: CodecCallContext): Promise<string>;
|
|
60
|
+
decode(wire: string, _ctx: CodecCallContext): Promise<string>;
|
|
61
|
+
encodeJson(value: string): JsonValue;
|
|
62
|
+
decodeJson(json: JsonValue): string;
|
|
63
|
+
}
|
|
64
|
+
type PgEnumParams = {
|
|
65
|
+
readonly typeName: string;
|
|
66
|
+
};
|
|
67
|
+
declare class PgEnumDescriptor extends CodecDescriptorImpl<PgEnumParams> {
|
|
68
|
+
readonly codecId: "pg/enum@1";
|
|
69
|
+
readonly traits: readonly ["equality", "order", "textual"];
|
|
70
|
+
readonly targetTypes: readonly ["text"];
|
|
71
|
+
readonly meta: {
|
|
72
|
+
readonly db: {
|
|
73
|
+
readonly sql: {
|
|
74
|
+
readonly postgres: {
|
|
75
|
+
readonly nativeType: "text";
|
|
76
|
+
};
|
|
77
|
+
};
|
|
78
|
+
};
|
|
79
|
+
};
|
|
80
|
+
readonly paramsSchema: import("arktype/internal/variants/object.ts").ObjectType<{
|
|
81
|
+
typeName: string;
|
|
82
|
+
}, {}>;
|
|
83
|
+
renderValueLiteral(value: JsonValue): string | undefined;
|
|
84
|
+
metaFor(typeParams: JsonValue | undefined): CodecMeta | undefined;
|
|
85
|
+
factory(_params: PgEnumParams): (ctx: CodecInstanceContext) => PgEnumCodec;
|
|
86
|
+
/**
|
|
87
|
+
* Authoring-time hook a `pg.enum(<ref>)` type constructor calls once it has
|
|
88
|
+
* resolved its ref argument to the referenced `native_enum` entity: given
|
|
89
|
+
* that entity and the field's namespace id, produces this codec's
|
|
90
|
+
* per-column `typeParams` and native type. The type name is schema-qualified
|
|
91
|
+
* for a named non-default schema (matching `format_type()`); `public` and
|
|
92
|
+
* the unbound namespace stay bare (`search_path`). `nativeType` mirrors
|
|
93
|
+
* `typeParams.typeName` — the same value {@link metaFor} derives at
|
|
94
|
+
* render time — so the column's declared native type and the render-time
|
|
95
|
+
* cast agree. Returns `undefined` if `entity` is not a `PostgresNativeEnum`
|
|
96
|
+
* (a contributor bug, not a user-schema error — the caller decides how to
|
|
97
|
+
* report it).
|
|
98
|
+
*/
|
|
99
|
+
columnFromEntity(entity: object, namespaceId?: string): {
|
|
100
|
+
readonly typeParams: PgEnumParams;
|
|
101
|
+
readonly nativeType: string;
|
|
102
|
+
} | undefined;
|
|
103
|
+
}
|
|
42
104
|
declare class PgInt4Codec extends CodecImpl<typeof PG_INT4_CODEC_ID, readonly ['equality', 'order', 'numeric'], number, number> {
|
|
43
105
|
encode(value: number, _ctx: CodecCallContext): Promise<number>;
|
|
44
106
|
decode(wire: number, _ctx: CodecCallContext): Promise<number>;
|
|
@@ -566,5 +628,5 @@ declare class PgFloatDescriptor extends CodecDescriptorImpl<void> {
|
|
|
566
628
|
}
|
|
567
629
|
declare const pgFloatColumn: () => import("@prisma-next/framework-components/codec").ColumnSpec<SqlFloatCodec, undefined>;
|
|
568
630
|
//#endregion
|
|
569
|
-
export {
|
|
570
|
-
//# sourceMappingURL=codecs-
|
|
631
|
+
export { pgFloatColumn as A, pgTimeColumn as B, PgVarbitDescriptor as C, pgCharColumn as D, pgBoolColumn as E, pgIntervalColumn as F, pgVarbitColumn as G, pgTimestamptzColumn as H, pgJsonColumn as I, pgVarcharColumn as K, pgJsonbColumn as L, pgInt4Column as M, pgInt8Column as N, pgFloat4Column as O, pgIntColumn as P, pgNumericColumn as R, PgUuidDescriptor as S, pgBitColumn as T, pgTimetzColumn as U, pgTimestampColumn as V, pgUuidColumn as W, PgTextDescriptor as _, PgEnumDescriptor as a, PgTimestamptzDescriptor as b, PgFloatDescriptor as c, PgInt8Descriptor as d, PgIntDescriptor as f, PgNumericDescriptor as g, PgJsonbDescriptor as h, PgCharDescriptor as i, pgInt2Column as j, pgFloat8Column as k, PgInt2Descriptor as l, PgJsonDescriptor as m, PgBoolDescriptor as n, PgFloat4Descriptor as o, PgIntervalDescriptor as p, PgByteaDescriptor as r, PgFloat8Descriptor as s, PgBitDescriptor as t, PgInt4Descriptor as u, PgTimeDescriptor as v, PgVarcharDescriptor as w, PgTimetzDescriptor as x, PgTimestampDescriptor as y, pgTextColumn as z };
|
|
632
|
+
//# sourceMappingURL=codecs-Dk2sxGLv.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codecs-Dk2sxGLv.d.mts","names":[],"sources":["../src/core/codecs.ts"],"mappings":"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"}
|