prisma-ltree 0.2.3 → 0.4.0
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/README.md +85 -66
- package/dist/{codec-types-mZn-cIh9.d.mts → codec-types-ECy3aUGO.d.mts} +11 -24
- package/dist/codec-types-ECy3aUGO.d.mts.map +1 -0
- package/dist/codec-types.d.mts +1 -1
- package/dist/column-types.d.mts +1 -1
- package/dist/column-types.mjs.map +1 -1
- package/dist/control.d.mts +1 -1
- package/dist/control.mjs +14 -13
- package/dist/control.mjs.map +1 -1
- package/dist/{descriptor-meta-Ch66mRPL.mjs → descriptor-meta-D2gu1NKP.mjs} +20 -11
- package/dist/descriptor-meta-D2gu1NKP.mjs.map +1 -0
- package/dist/{operation-types-BFxNrlNL.d.mts → operation-types-8su4lbK-.d.mts} +3 -3
- package/dist/{operation-types-BFxNrlNL.d.mts.map → operation-types-8su4lbK-.d.mts.map} +1 -1
- package/dist/operation-types.d.mts +1 -1
- package/dist/pack.d.mts +2 -2
- package/dist/pack.d.mts.map +1 -1
- package/dist/pack.mjs +1 -1
- package/dist/runtime.d.mts +2 -2
- package/dist/runtime.mjs +1 -1
- package/dist/runtime.mjs.map +1 -1
- package/package.json +13 -23
- package/src/contract.d.ts +211 -13
- package/src/contract.json +6 -5
- package/src/contract.ts +1 -1
- package/src/core/authoring.ts +1 -1
- package/src/core/codecs.ts +24 -16
- package/src/core/descriptor-meta.ts +2 -2
- package/src/core/registry.ts +2 -2
- package/src/exports/column-types.ts +1 -1
- package/src/exports/control.ts +7 -7
- package/src/exports/runtime.ts +1 -1
- package/src/types/operation-types.ts +5 -2
- package/dist/codec-types-mZn-cIh9.d.mts.map +0 -1
- package/dist/descriptor-meta-Ch66mRPL.mjs.map +0 -1
package/dist/pack.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as ltreePackMeta } from "./descriptor-meta-
|
|
1
|
+
import { t as ltreePackMeta } from "./descriptor-meta-D2gu1NKP.mjs";
|
|
2
2
|
export { ltreePackMeta as default };
|
package/dist/runtime.d.mts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { SqlRuntimeExtensionDescriptor } from "@prisma-
|
|
2
|
-
import { CodecDescriptorRegistry } from "@prisma-
|
|
1
|
+
import { SqlRuntimeExtensionDescriptor } from "@prisma/orm-family-sql/runtime";
|
|
2
|
+
import { CodecDescriptorRegistry } from "@prisma/orm-family-sql/relational-core/query-lane-context";
|
|
3
3
|
|
|
4
4
|
//#region src/core/registry.d.ts
|
|
5
5
|
declare const ltreeCodecRegistry: CodecDescriptorRegistry;
|
package/dist/runtime.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { n as ltreeQueryOperations, r as ltreeCodecRegistry, t as ltreePackMeta } from "./descriptor-meta-
|
|
1
|
+
import { n as ltreeQueryOperations, r as ltreeCodecRegistry, t as ltreePackMeta } from "./descriptor-meta-D2gu1NKP.mjs";
|
|
2
2
|
//#region src/exports/runtime.ts
|
|
3
3
|
const ltreeRuntimeDescriptor = {
|
|
4
4
|
kind: "extension",
|
package/dist/runtime.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.mjs","names":[],"sources":["../src/exports/runtime.ts"],"sourcesContent":["import type { SqlRuntimeExtensionDescriptor } from \"@prisma-
|
|
1
|
+
{"version":3,"file":"runtime.mjs","names":[],"sources":["../src/exports/runtime.ts"],"sourcesContent":["import type { SqlRuntimeExtensionDescriptor } from \"@prisma/orm-family-sql/runtime\";\nimport { ltreePackMeta, ltreeQueryOperations } from \"../core/descriptor-meta\";\nimport { ltreeCodecRegistry } from \"../core/registry\";\n\nconst ltreeRuntimeDescriptor: SqlRuntimeExtensionDescriptor<\"postgres\"> = {\n kind: \"extension\" as const,\n id: ltreePackMeta.id,\n version: ltreePackMeta.version,\n familyId: \"sql\" as const,\n targetId: \"postgres\" as const,\n types: {\n codecTypes: {\n codecDescriptors: Array.from(ltreeCodecRegistry.values()),\n },\n },\n codecs: () => Array.from(ltreeCodecRegistry.values()),\n queryOperations: () => ltreeQueryOperations(),\n create() {\n return {\n familyId: \"sql\" as const,\n targetId: \"postgres\" as const,\n };\n },\n};\n\nexport { ltreeCodecRegistry };\nexport default ltreeRuntimeDescriptor;\n"],"mappings":";;AAIA,MAAM,yBAAoE;CACxE,MAAM;CACN,IAAI,cAAc;CAClB,SAAS,cAAc;CACvB,UAAU;CACV,UAAU;CACV,OAAO,EACL,YAAY,EACV,kBAAkB,MAAM,KAAK,mBAAmB,OAAO,CAAC,EAC1D,EACF;CACA,cAAc,MAAM,KAAK,mBAAmB,OAAO,CAAC;CACpD,uBAAuB,qBAAqB;CAC5C,SAAS;EACP,OAAO;GACL,UAAU;GACV,UAAU;EACZ;CACF;AACF"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "prisma-ltree",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "Prisma
|
|
3
|
+
"version": "0.4.0",
|
|
4
|
+
"description": "Prisma 8 extension pack for PostgreSQL's ltree hierarchical tree data type.",
|
|
5
5
|
"homepage": "https://prisma-ltree.procka.org",
|
|
6
6
|
"license": "Apache-2.0",
|
|
7
7
|
"repository": {
|
|
@@ -28,40 +28,30 @@
|
|
|
28
28
|
"access": "public"
|
|
29
29
|
},
|
|
30
30
|
"dependencies": {
|
|
31
|
-
"@prisma-
|
|
32
|
-
"@prisma
|
|
33
|
-
"@prisma
|
|
34
|
-
"@prisma-next/framework-components": "0.15.0",
|
|
35
|
-
"@prisma-next/migration-tools": "0.15.0",
|
|
36
|
-
"@prisma-next/sql-contract": "0.15.0",
|
|
37
|
-
"@prisma-next/sql-operations": "0.15.0",
|
|
38
|
-
"@prisma-next/sql-relational-core": "0.15.0",
|
|
39
|
-
"@prisma-next/sql-runtime": "0.15.0",
|
|
40
|
-
"@prisma-next/sql-schema-ir": "0.15.0",
|
|
31
|
+
"@prisma/orm-family-sql": "8.0.0-rc.8",
|
|
32
|
+
"@prisma/orm-framework": "8.0.0-rc.8",
|
|
33
|
+
"@prisma/orm-toolchain": "8.0.0-rc.8",
|
|
41
34
|
"@standard-schema/spec": "^1.1.0",
|
|
42
35
|
"arktype": "^2.2.0"
|
|
43
36
|
},
|
|
44
37
|
"devDependencies": {
|
|
45
38
|
"@electric-sql/pglite": "^0.5.3",
|
|
46
|
-
"@prisma
|
|
47
|
-
"@prisma-
|
|
48
|
-
"@prisma
|
|
49
|
-
"@prisma-next/operations": "0.15.0",
|
|
50
|
-
"@prisma-next/postgres": "0.15.0",
|
|
51
|
-
"@prisma-next/sql-contract-ts": "0.15.0",
|
|
52
|
-
"@prisma-next/target-postgres": "0.15.0",
|
|
39
|
+
"@prisma/cli-engine": "0.3.0",
|
|
40
|
+
"@prisma/orm-postgres": "8.0.0-rc.8",
|
|
41
|
+
"@prisma/orm-target-postgres": "8.0.0-rc.8",
|
|
53
42
|
"@types/node": "^24",
|
|
54
43
|
"@typescript/native-preview": "7.0.0-dev.20260509.2",
|
|
55
44
|
"@vitest/coverage-v8": "4.1.8",
|
|
45
|
+
"prisma": "8.0.0-rc.12",
|
|
56
46
|
"typescript": "^5",
|
|
57
47
|
"vite-plus": "0.1.24"
|
|
58
48
|
},
|
|
59
49
|
"peerDependencies": {
|
|
60
|
-
"@prisma
|
|
50
|
+
"@prisma/orm-target-postgres": "8.0.0-rc.8",
|
|
61
51
|
"typescript": ">=5.9"
|
|
62
52
|
},
|
|
63
53
|
"peerDependenciesMeta": {
|
|
64
|
-
"@prisma
|
|
54
|
+
"@prisma/orm-target-postgres": {
|
|
65
55
|
"optional": true
|
|
66
56
|
},
|
|
67
57
|
"typescript": {
|
|
@@ -83,7 +73,7 @@
|
|
|
83
73
|
"dev": "vp pack --watch",
|
|
84
74
|
"test": "vp test",
|
|
85
75
|
"check": "vp check",
|
|
86
|
-
"build:contract-space": "prisma
|
|
87
|
-
"check-pins": "
|
|
76
|
+
"build:contract-space": "prisma contract emit",
|
|
77
|
+
"check-pins": "node ./scripts/check-pins.mjs"
|
|
88
78
|
}
|
|
89
79
|
}
|
package/src/contract.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// ⚠️ GENERATED FILE - DO NOT EDIT
|
|
2
|
-
// This file is automatically generated by 'prisma
|
|
3
|
-
// To regenerate, run: prisma
|
|
4
|
-
import type { QueryOperationTypes as PgAdapterQueryOps } from '@prisma
|
|
2
|
+
// This file is automatically generated by 'prisma contract emit'.
|
|
3
|
+
// To regenerate, run: prisma contract emit
|
|
4
|
+
import type { QueryOperationTypes as PgAdapterQueryOps } from '@prisma/orm-postgres/adapter/operation-types';
|
|
5
5
|
import type {
|
|
6
6
|
Bit,
|
|
7
7
|
Char,
|
|
@@ -10,37 +10,233 @@ import type {
|
|
|
10
10
|
JsonValue,
|
|
11
11
|
Numeric,
|
|
12
12
|
Time,
|
|
13
|
+
TimeString,
|
|
13
14
|
Timestamp,
|
|
15
|
+
TimestampString,
|
|
14
16
|
Timestamptz,
|
|
17
|
+
TimestamptzString,
|
|
15
18
|
Timetz,
|
|
16
19
|
VarBit,
|
|
17
20
|
Varchar,
|
|
18
|
-
} from '@prisma
|
|
21
|
+
} from '@prisma/orm-postgres/target/codec-types';
|
|
19
22
|
|
|
20
23
|
import type {
|
|
21
24
|
ContractWithTypeMaps,
|
|
22
25
|
TypeMaps as TypeMapsType,
|
|
23
|
-
} from '@prisma-
|
|
26
|
+
} from '@prisma/orm-postgres/family-contract/types';
|
|
24
27
|
import type {
|
|
25
28
|
Contract as ContractType,
|
|
26
29
|
ExecutionHashBase,
|
|
27
30
|
NamespaceId,
|
|
28
31
|
ProfileHashBase,
|
|
29
32
|
StorageHashBase,
|
|
30
|
-
} from '@prisma-
|
|
33
|
+
} from '@prisma/orm-postgres/contract/types';
|
|
31
34
|
|
|
32
35
|
export type StorageHash =
|
|
33
|
-
StorageHashBase<'
|
|
36
|
+
StorageHashBase<'ca70941530ea2af306b38e95be66ab1deac79357bcfafb48302d07c8f2c9aa92'>;
|
|
34
37
|
export type ExecutionHash = ExecutionHashBase<string>;
|
|
35
38
|
export type ProfileHash =
|
|
36
|
-
ProfileHashBase<'
|
|
39
|
+
ProfileHashBase<'3916f444a8a17ad749191acf9e08dad97d1a327b88c2f1d45d12f240296aa8b2'>;
|
|
37
40
|
|
|
38
41
|
export type CodecTypes = PgTypes;
|
|
39
42
|
export type LaneCodecTypes = CodecTypes;
|
|
40
43
|
export type QueryOperationTypes = PgAdapterQueryOps<CodecTypes>;
|
|
41
|
-
type
|
|
42
|
-
|
|
43
|
-
|
|
44
|
+
export type AggregateTypes = {
|
|
45
|
+
readonly avg: {
|
|
46
|
+
readonly byCodec: {
|
|
47
|
+
readonly 'pg/float@1': { readonly output: 'pg/float8@1'; readonly nullable: true };
|
|
48
|
+
readonly 'pg/float4@1': { readonly output: 'pg/float8@1'; readonly nullable: true };
|
|
49
|
+
readonly 'pg/float8@1': { readonly output: 'pg/float8@1'; readonly nullable: true };
|
|
50
|
+
readonly 'pg/int@1': { readonly output: 'pg/float8@1'; readonly nullable: true };
|
|
51
|
+
readonly 'pg/int2@1': { readonly output: 'pg/float8@1'; readonly nullable: true };
|
|
52
|
+
readonly 'pg/int4@1': { readonly output: 'pg/float8@1'; readonly nullable: true };
|
|
53
|
+
readonly 'pg/int8@1': { readonly output: 'pg/float8@1'; readonly nullable: true };
|
|
54
|
+
readonly 'pg/int8number@1': { readonly output: 'pg/float8@1'; readonly nullable: true };
|
|
55
|
+
readonly 'pg/interval@1': { readonly output: 'pg/interval@1'; readonly nullable: true };
|
|
56
|
+
readonly 'pg/numeric@1': { readonly output: 'pg/numeric@1'; readonly nullable: true };
|
|
57
|
+
readonly 'pg/time-string@1': { readonly output: 'pg/interval@1'; readonly nullable: true };
|
|
58
|
+
readonly 'pg/time-temporal@1': { readonly output: 'pg/interval@1'; readonly nullable: true };
|
|
59
|
+
readonly 'pg/unboundedint@1': { readonly output: 'pg/float8@1'; readonly nullable: true };
|
|
60
|
+
readonly 'sql/float@1': { readonly output: 'pg/float8@1'; readonly nullable: true };
|
|
61
|
+
readonly 'sql/int@1': { readonly output: 'pg/float8@1'; readonly nullable: true };
|
|
62
|
+
};
|
|
63
|
+
};
|
|
64
|
+
readonly avgDecimal: {
|
|
65
|
+
readonly byCodec: {
|
|
66
|
+
readonly 'pg/int@1': { readonly output: 'pg/numeric@1'; readonly nullable: true };
|
|
67
|
+
readonly 'pg/int2@1': { readonly output: 'pg/numeric@1'; readonly nullable: true };
|
|
68
|
+
readonly 'pg/int4@1': { readonly output: 'pg/numeric@1'; readonly nullable: true };
|
|
69
|
+
readonly 'pg/int8@1': { readonly output: 'pg/numeric@1'; readonly nullable: true };
|
|
70
|
+
readonly 'pg/int8number@1': { readonly output: 'pg/numeric@1'; readonly nullable: true };
|
|
71
|
+
readonly 'pg/numeric@1': { readonly output: 'pg/numeric@1'; readonly nullable: true };
|
|
72
|
+
readonly 'pg/unboundedint@1': { readonly output: 'pg/numeric@1'; readonly nullable: true };
|
|
73
|
+
readonly 'sql/int@1': { readonly output: 'pg/numeric@1'; readonly nullable: true };
|
|
74
|
+
};
|
|
75
|
+
};
|
|
76
|
+
readonly count: {
|
|
77
|
+
readonly byCodec: {};
|
|
78
|
+
readonly withoutInput: { readonly output: 'pg/int8number@1'; readonly nullable: false };
|
|
79
|
+
readonly anyInput: { readonly output: 'pg/int8number@1'; readonly nullable: false };
|
|
80
|
+
};
|
|
81
|
+
readonly countBigInt: {
|
|
82
|
+
readonly byCodec: {};
|
|
83
|
+
readonly withoutInput: { readonly output: 'pg/int8@1'; readonly nullable: false };
|
|
84
|
+
readonly anyInput: { readonly output: 'pg/int8@1'; readonly nullable: false };
|
|
85
|
+
};
|
|
86
|
+
readonly max: {
|
|
87
|
+
readonly byCodec: {
|
|
88
|
+
readonly 'pg/char@1': { readonly output: 'pg/char@1'; readonly nullable: true };
|
|
89
|
+
readonly 'pg/date-string@1': { readonly output: 'pg/date-string@1'; readonly nullable: true };
|
|
90
|
+
readonly 'pg/date-temporal@1': {
|
|
91
|
+
readonly output: 'pg/date-temporal@1';
|
|
92
|
+
readonly nullable: true;
|
|
93
|
+
};
|
|
94
|
+
readonly 'pg/enum@1': { readonly output: 'pg/enum@1'; readonly nullable: true };
|
|
95
|
+
readonly 'pg/float@1': { readonly output: 'pg/float@1'; readonly nullable: true };
|
|
96
|
+
readonly 'pg/float4@1': { readonly output: 'pg/float4@1'; readonly nullable: true };
|
|
97
|
+
readonly 'pg/float8@1': { readonly output: 'pg/float8@1'; readonly nullable: true };
|
|
98
|
+
readonly 'pg/inet@1': { readonly output: 'pg/inet@1'; readonly nullable: true };
|
|
99
|
+
readonly 'pg/int@1': { readonly output: 'pg/int@1'; readonly nullable: true };
|
|
100
|
+
readonly 'pg/int2@1': { readonly output: 'pg/int2@1'; readonly nullable: true };
|
|
101
|
+
readonly 'pg/int4@1': { readonly output: 'pg/int4@1'; readonly nullable: true };
|
|
102
|
+
readonly 'pg/int8@1': { readonly output: 'pg/int8@1'; readonly nullable: true };
|
|
103
|
+
readonly 'pg/int8number@1': { readonly output: 'pg/int8number@1'; readonly nullable: true };
|
|
104
|
+
readonly 'pg/interval@1': { readonly output: 'pg/interval@1'; readonly nullable: true };
|
|
105
|
+
readonly 'pg/numeric@1': { readonly output: 'pg/numeric@1'; readonly nullable: true };
|
|
106
|
+
readonly 'pg/text-array@1': { readonly output: 'pg/text-array@1'; readonly nullable: true };
|
|
107
|
+
readonly 'pg/text@1': { readonly output: 'pg/text@1'; readonly nullable: true };
|
|
108
|
+
readonly 'pg/time-string@1': { readonly output: 'pg/time-string@1'; readonly nullable: true };
|
|
109
|
+
readonly 'pg/time-temporal@1': {
|
|
110
|
+
readonly output: 'pg/time-temporal@1';
|
|
111
|
+
readonly nullable: true;
|
|
112
|
+
};
|
|
113
|
+
readonly 'pg/timestamp-string@1': {
|
|
114
|
+
readonly output: 'pg/timestamp-string@1';
|
|
115
|
+
readonly nullable: true;
|
|
116
|
+
};
|
|
117
|
+
readonly 'pg/timestamp-temporal@1': {
|
|
118
|
+
readonly output: 'pg/timestamp-temporal@1';
|
|
119
|
+
readonly nullable: true;
|
|
120
|
+
};
|
|
121
|
+
readonly 'pg/timestamptz-string@1': {
|
|
122
|
+
readonly output: 'pg/timestamptz-string@1';
|
|
123
|
+
readonly nullable: true;
|
|
124
|
+
};
|
|
125
|
+
readonly 'pg/timestamptz-temporal@1': {
|
|
126
|
+
readonly output: 'pg/timestamptz-temporal@1';
|
|
127
|
+
readonly nullable: true;
|
|
128
|
+
};
|
|
129
|
+
readonly 'pg/timetz@1': { readonly output: 'pg/timetz@1'; readonly nullable: true };
|
|
130
|
+
readonly 'pg/unboundedint@1': {
|
|
131
|
+
readonly output: 'pg/unboundedint@1';
|
|
132
|
+
readonly nullable: true;
|
|
133
|
+
};
|
|
134
|
+
readonly 'pg/varchar@1': { readonly output: 'pg/text@1'; readonly nullable: true };
|
|
135
|
+
readonly 'sql/char@1': { readonly output: 'sql/char@1'; readonly nullable: true };
|
|
136
|
+
readonly 'sql/float@1': { readonly output: 'sql/float@1'; readonly nullable: true };
|
|
137
|
+
readonly 'sql/int@1': { readonly output: 'sql/int@1'; readonly nullable: true };
|
|
138
|
+
readonly 'sql/text@1': { readonly output: 'sql/text@1'; readonly nullable: true };
|
|
139
|
+
readonly 'sql/varchar@1': { readonly output: 'pg/text@1'; readonly nullable: true };
|
|
140
|
+
};
|
|
141
|
+
};
|
|
142
|
+
readonly min: {
|
|
143
|
+
readonly byCodec: {
|
|
144
|
+
readonly 'pg/char@1': { readonly output: 'pg/char@1'; readonly nullable: true };
|
|
145
|
+
readonly 'pg/date-string@1': { readonly output: 'pg/date-string@1'; readonly nullable: true };
|
|
146
|
+
readonly 'pg/date-temporal@1': {
|
|
147
|
+
readonly output: 'pg/date-temporal@1';
|
|
148
|
+
readonly nullable: true;
|
|
149
|
+
};
|
|
150
|
+
readonly 'pg/enum@1': { readonly output: 'pg/enum@1'; readonly nullable: true };
|
|
151
|
+
readonly 'pg/float@1': { readonly output: 'pg/float@1'; readonly nullable: true };
|
|
152
|
+
readonly 'pg/float4@1': { readonly output: 'pg/float4@1'; readonly nullable: true };
|
|
153
|
+
readonly 'pg/float8@1': { readonly output: 'pg/float8@1'; readonly nullable: true };
|
|
154
|
+
readonly 'pg/inet@1': { readonly output: 'pg/inet@1'; readonly nullable: true };
|
|
155
|
+
readonly 'pg/int@1': { readonly output: 'pg/int@1'; readonly nullable: true };
|
|
156
|
+
readonly 'pg/int2@1': { readonly output: 'pg/int2@1'; readonly nullable: true };
|
|
157
|
+
readonly 'pg/int4@1': { readonly output: 'pg/int4@1'; readonly nullable: true };
|
|
158
|
+
readonly 'pg/int8@1': { readonly output: 'pg/int8@1'; readonly nullable: true };
|
|
159
|
+
readonly 'pg/int8number@1': { readonly output: 'pg/int8number@1'; readonly nullable: true };
|
|
160
|
+
readonly 'pg/interval@1': { readonly output: 'pg/interval@1'; readonly nullable: true };
|
|
161
|
+
readonly 'pg/numeric@1': { readonly output: 'pg/numeric@1'; readonly nullable: true };
|
|
162
|
+
readonly 'pg/text-array@1': { readonly output: 'pg/text-array@1'; readonly nullable: true };
|
|
163
|
+
readonly 'pg/text@1': { readonly output: 'pg/text@1'; readonly nullable: true };
|
|
164
|
+
readonly 'pg/time-string@1': { readonly output: 'pg/time-string@1'; readonly nullable: true };
|
|
165
|
+
readonly 'pg/time-temporal@1': {
|
|
166
|
+
readonly output: 'pg/time-temporal@1';
|
|
167
|
+
readonly nullable: true;
|
|
168
|
+
};
|
|
169
|
+
readonly 'pg/timestamp-string@1': {
|
|
170
|
+
readonly output: 'pg/timestamp-string@1';
|
|
171
|
+
readonly nullable: true;
|
|
172
|
+
};
|
|
173
|
+
readonly 'pg/timestamp-temporal@1': {
|
|
174
|
+
readonly output: 'pg/timestamp-temporal@1';
|
|
175
|
+
readonly nullable: true;
|
|
176
|
+
};
|
|
177
|
+
readonly 'pg/timestamptz-string@1': {
|
|
178
|
+
readonly output: 'pg/timestamptz-string@1';
|
|
179
|
+
readonly nullable: true;
|
|
180
|
+
};
|
|
181
|
+
readonly 'pg/timestamptz-temporal@1': {
|
|
182
|
+
readonly output: 'pg/timestamptz-temporal@1';
|
|
183
|
+
readonly nullable: true;
|
|
184
|
+
};
|
|
185
|
+
readonly 'pg/timetz@1': { readonly output: 'pg/timetz@1'; readonly nullable: true };
|
|
186
|
+
readonly 'pg/unboundedint@1': {
|
|
187
|
+
readonly output: 'pg/unboundedint@1';
|
|
188
|
+
readonly nullable: true;
|
|
189
|
+
};
|
|
190
|
+
readonly 'pg/varchar@1': { readonly output: 'pg/text@1'; readonly nullable: true };
|
|
191
|
+
readonly 'sql/char@1': { readonly output: 'sql/char@1'; readonly nullable: true };
|
|
192
|
+
readonly 'sql/float@1': { readonly output: 'sql/float@1'; readonly nullable: true };
|
|
193
|
+
readonly 'sql/int@1': { readonly output: 'sql/int@1'; readonly nullable: true };
|
|
194
|
+
readonly 'sql/text@1': { readonly output: 'sql/text@1'; readonly nullable: true };
|
|
195
|
+
readonly 'sql/varchar@1': { readonly output: 'pg/text@1'; readonly nullable: true };
|
|
196
|
+
};
|
|
197
|
+
};
|
|
198
|
+
readonly sum: {
|
|
199
|
+
readonly byCodec: {
|
|
200
|
+
readonly 'pg/float@1': { readonly output: 'pg/float8@1'; readonly nullable: true };
|
|
201
|
+
readonly 'pg/float4@1': { readonly output: 'pg/float4@1'; readonly nullable: true };
|
|
202
|
+
readonly 'pg/float8@1': { readonly output: 'pg/float8@1'; readonly nullable: true };
|
|
203
|
+
readonly 'pg/int@1': { readonly output: 'pg/int8number@1'; readonly nullable: true };
|
|
204
|
+
readonly 'pg/int2@1': { readonly output: 'pg/int8number@1'; readonly nullable: true };
|
|
205
|
+
readonly 'pg/int4@1': { readonly output: 'pg/int8number@1'; readonly nullable: true };
|
|
206
|
+
readonly 'pg/int8@1': { readonly output: 'pg/int8number@1'; readonly nullable: true };
|
|
207
|
+
readonly 'pg/int8number@1': { readonly output: 'pg/int8number@1'; readonly nullable: true };
|
|
208
|
+
readonly 'pg/interval@1': { readonly output: 'pg/interval@1'; readonly nullable: true };
|
|
209
|
+
readonly 'pg/numeric@1': { readonly output: 'pg/numeric@1'; readonly nullable: true };
|
|
210
|
+
readonly 'pg/time-string@1': { readonly output: 'pg/interval@1'; readonly nullable: true };
|
|
211
|
+
readonly 'pg/time-temporal@1': { readonly output: 'pg/interval@1'; readonly nullable: true };
|
|
212
|
+
readonly 'pg/unboundedint@1': {
|
|
213
|
+
readonly output: 'pg/unboundedint@1';
|
|
214
|
+
readonly nullable: true;
|
|
215
|
+
};
|
|
216
|
+
readonly 'sql/float@1': { readonly output: 'pg/float8@1'; readonly nullable: true };
|
|
217
|
+
readonly 'sql/int@1': { readonly output: 'pg/int8number@1'; readonly nullable: true };
|
|
218
|
+
};
|
|
219
|
+
};
|
|
220
|
+
readonly sumBigInt: {
|
|
221
|
+
readonly byCodec: {
|
|
222
|
+
readonly 'pg/int@1': { readonly output: 'pg/int8@1'; readonly nullable: true };
|
|
223
|
+
readonly 'pg/int2@1': { readonly output: 'pg/int8@1'; readonly nullable: true };
|
|
224
|
+
readonly 'pg/int4@1': { readonly output: 'pg/int8@1'; readonly nullable: true };
|
|
225
|
+
readonly 'pg/int8@1': { readonly output: 'pg/unboundedint@1'; readonly nullable: true };
|
|
226
|
+
readonly 'pg/int8number@1': { readonly output: 'pg/unboundedint@1'; readonly nullable: true };
|
|
227
|
+
readonly 'pg/unboundedint@1': {
|
|
228
|
+
readonly output: 'pg/unboundedint@1';
|
|
229
|
+
readonly nullable: true;
|
|
230
|
+
};
|
|
231
|
+
readonly 'sql/int@1': { readonly output: 'pg/int8@1'; readonly nullable: true };
|
|
232
|
+
};
|
|
233
|
+
};
|
|
234
|
+
};
|
|
235
|
+
type DefaultLiteralValue<CodecId extends string, Encoded> = CodecId extends keyof CodecTypes
|
|
236
|
+
? Encoded extends CodecTypes[CodecId]['json']
|
|
237
|
+
? Encoded
|
|
238
|
+
: CodecTypes[CodecId]['json']
|
|
239
|
+
: Encoded;
|
|
44
240
|
|
|
45
241
|
export type FieldOutputTypes = { readonly public: Record<string, never> };
|
|
46
242
|
export type FieldInputTypes = { readonly public: Record<string, never> };
|
|
@@ -52,7 +248,8 @@ export type TypeMaps = TypeMapsType<
|
|
|
52
248
|
FieldOutputTypes,
|
|
53
249
|
FieldInputTypes,
|
|
54
250
|
StorageColumnTypes,
|
|
55
|
-
StorageColumnInputTypes
|
|
251
|
+
StorageColumnInputTypes,
|
|
252
|
+
AggregateTypes
|
|
56
253
|
>;
|
|
57
254
|
|
|
58
255
|
type ContractBase = Omit<
|
|
@@ -102,6 +299,7 @@ type ContractBase = Omit<
|
|
|
102
299
|
readonly returning: true;
|
|
103
300
|
};
|
|
104
301
|
readonly sql: {
|
|
302
|
+
readonly checkConstraint: true;
|
|
105
303
|
readonly defaultInInsert: true;
|
|
106
304
|
readonly enums: true;
|
|
107
305
|
readonly lateral: true;
|
|
@@ -109,7 +307,7 @@ type ContractBase = Omit<
|
|
|
109
307
|
readonly scalarList: true;
|
|
110
308
|
};
|
|
111
309
|
};
|
|
112
|
-
readonly
|
|
310
|
+
readonly extensions: {};
|
|
113
311
|
readonly meta: {};
|
|
114
312
|
|
|
115
313
|
readonly profileHash: ProfileHash;
|
package/src/contract.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"schemaVersion": "1",
|
|
3
3
|
"targetFamily": "sql",
|
|
4
4
|
"target": "postgres",
|
|
5
|
-
"profileHash": "
|
|
5
|
+
"profileHash": "3916f444a8a17ad749191acf9e08dad97d1a327b88c2f1d45d12f240296aa8b2",
|
|
6
6
|
"roots": {},
|
|
7
7
|
"domain": {
|
|
8
8
|
"namespaces": {
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
"kind": "postgres-schema"
|
|
22
22
|
}
|
|
23
23
|
},
|
|
24
|
-
"storageHash": "
|
|
24
|
+
"storageHash": "ca70941530ea2af306b38e95be66ab1deac79357bcfafb48302d07c8f2c9aa92",
|
|
25
25
|
"types": {
|
|
26
26
|
"ltree": {
|
|
27
27
|
"codecId": "pg/ltree@1",
|
|
@@ -45,6 +45,7 @@
|
|
|
45
45
|
"returning": true
|
|
46
46
|
},
|
|
47
47
|
"sql": {
|
|
48
|
+
"checkConstraint": true,
|
|
48
49
|
"defaultInInsert": true,
|
|
49
50
|
"enums": true,
|
|
50
51
|
"lateral": true,
|
|
@@ -52,11 +53,11 @@
|
|
|
52
53
|
"scalarList": true
|
|
53
54
|
}
|
|
54
55
|
},
|
|
55
|
-
"
|
|
56
|
+
"extensions": {},
|
|
56
57
|
"meta": {},
|
|
57
58
|
"_generated": {
|
|
58
59
|
"warning": "⚠️ GENERATED FILE - DO NOT EDIT",
|
|
59
|
-
"message": "This file is automatically generated by \"prisma
|
|
60
|
-
"regenerate": "To regenerate, run: prisma
|
|
60
|
+
"message": "This file is automatically generated by \"prisma contract emit\".",
|
|
61
|
+
"regenerate": "To regenerate, run: prisma contract emit"
|
|
61
62
|
}
|
|
62
63
|
}
|
package/src/contract.ts
CHANGED
package/src/core/authoring.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { AuthoringTypeNamespace } from "@prisma-
|
|
1
|
+
import type { AuthoringTypeNamespace } from "@prisma/orm-framework/components/authoring";
|
|
2
2
|
import { LTREE_ARRAY_CODEC_ID, LTREE_CODEC_ID } from "./constants";
|
|
3
3
|
import { LTREE_ARRAY_NATIVE_TYPE, LTREE_NATIVE_TYPE } from "./contract-space-constants";
|
|
4
4
|
|
package/src/core/codecs.ts
CHANGED
|
@@ -1,16 +1,18 @@
|
|
|
1
|
-
import type { JsonValue } from "@prisma-
|
|
1
|
+
import type { JsonValue } from "@prisma/orm-framework/contract/types";
|
|
2
2
|
import {
|
|
3
|
-
type AnyCodecDescriptor,
|
|
4
3
|
type CodecCallContext,
|
|
5
|
-
CodecDescriptorImpl,
|
|
6
4
|
CodecImpl,
|
|
7
5
|
type CodecInstanceContext,
|
|
8
6
|
type ColumnHelperFor,
|
|
9
7
|
type ColumnHelperForStrict,
|
|
10
8
|
column,
|
|
11
9
|
voidParamsSchema,
|
|
12
|
-
} from "@prisma-
|
|
13
|
-
import type { ExtractCodecTypes } from "@prisma-
|
|
10
|
+
} from "@prisma/orm-framework/components/codec";
|
|
11
|
+
import type { ExtractCodecTypes, ProjectionExpr } from "@prisma/orm-family-sql/relational-core/ast";
|
|
12
|
+
import {
|
|
13
|
+
definePostgresCodecs,
|
|
14
|
+
PostgresCodecDescriptor,
|
|
15
|
+
} from "@prisma/orm-target-postgres/target/codec-descriptor";
|
|
14
16
|
import type { StandardSchemaV1 } from "@standard-schema/spec";
|
|
15
17
|
import {
|
|
16
18
|
LTREE_ARRAY_CODEC_ID,
|
|
@@ -76,13 +78,17 @@ export class LtreeCodec extends CodecImpl<
|
|
|
76
78
|
}
|
|
77
79
|
}
|
|
78
80
|
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
81
|
+
export class LtreeDescriptor extends PostgresCodecDescriptor<void> {
|
|
82
|
+
protected override nativeType(): string {
|
|
83
|
+
return LTREE_NATIVE_TYPE;
|
|
84
|
+
}
|
|
85
|
+
protected override jsonProjection(expression: ProjectionExpr): ProjectionExpr {
|
|
86
|
+
// ltree's text form is already its canonical JSON string.
|
|
87
|
+
return expression;
|
|
88
|
+
}
|
|
82
89
|
override readonly codecId = LTREE_CODEC_ID;
|
|
83
90
|
override readonly traits = ["equality", "order"] as const;
|
|
84
91
|
override readonly targetTypes = [LTREE_NATIVE_TYPE] as const;
|
|
85
|
-
override readonly meta = LTREE_META;
|
|
86
92
|
override readonly paramsSchema: StandardSchemaV1<void> = voidParamsSchema;
|
|
87
93
|
override renderOutputType(): string {
|
|
88
94
|
return "string";
|
|
@@ -101,10 +107,6 @@ export const ltree = () =>
|
|
|
101
107
|
ltree satisfies ColumnHelperFor<LtreeDescriptor>;
|
|
102
108
|
ltree satisfies ColumnHelperForStrict<LtreeDescriptor>;
|
|
103
109
|
|
|
104
|
-
const LTREE_ARRAY_META = {
|
|
105
|
-
db: { sql: { postgres: { nativeType: LTREE_ARRAY_NATIVE_TYPE } } },
|
|
106
|
-
} as const;
|
|
107
|
-
|
|
108
110
|
export class LtreeArrayCodec extends CodecImpl<
|
|
109
111
|
typeof LTREE_ARRAY_CODEC_ID,
|
|
110
112
|
readonly ["equality"],
|
|
@@ -140,11 +142,17 @@ export class LtreeArrayCodec extends CodecImpl<
|
|
|
140
142
|
}
|
|
141
143
|
}
|
|
142
144
|
|
|
143
|
-
export class LtreeArrayDescriptor extends
|
|
145
|
+
export class LtreeArrayDescriptor extends PostgresCodecDescriptor<void> {
|
|
146
|
+
protected override nativeType(): string {
|
|
147
|
+
return LTREE_ARRAY_NATIVE_TYPE;
|
|
148
|
+
}
|
|
149
|
+
protected override jsonProjection(expression: ProjectionExpr): ProjectionExpr {
|
|
150
|
+
// ltree[] text form projects as a JSON string array already.
|
|
151
|
+
return expression;
|
|
152
|
+
}
|
|
144
153
|
override readonly codecId = LTREE_ARRAY_CODEC_ID;
|
|
145
154
|
override readonly traits = ["equality"] as const;
|
|
146
155
|
override readonly targetTypes = [LTREE_ARRAY_NATIVE_TYPE] as const;
|
|
147
|
-
override readonly meta = LTREE_ARRAY_META;
|
|
148
156
|
override readonly paramsSchema: StandardSchemaV1<void> = voidParamsSchema;
|
|
149
157
|
override renderOutputType(): string {
|
|
150
158
|
return "readonly string[]";
|
|
@@ -175,4 +183,4 @@ const codecDescriptorMap = {
|
|
|
175
183
|
|
|
176
184
|
export type CodecTypes = ExtractCodecTypes<typeof codecDescriptorMap>;
|
|
177
185
|
|
|
178
|
-
export const codecDescriptors
|
|
186
|
+
export const codecDescriptors = definePostgresCodecs(Object.values(codecDescriptorMap));
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import type { AnyExpression } from "@prisma-
|
|
1
|
+
import type { AnyExpression } from "@prisma/orm-family-sql/relational-core/ast";
|
|
2
2
|
import {
|
|
3
3
|
buildOperation,
|
|
4
4
|
type CodecExpression,
|
|
5
5
|
codecOf,
|
|
6
6
|
type Expression,
|
|
7
7
|
toExpr,
|
|
8
|
-
} from "@prisma-
|
|
8
|
+
} from "@prisma/orm-family-sql/relational-core/expression";
|
|
9
9
|
import type { CodecTypes } from "../types/codec-types";
|
|
10
10
|
import type { QueryOperationTypes } from "../types/operation-types";
|
|
11
11
|
import { ltreeAuthoringTypes } from "./authoring";
|
package/src/core/registry.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { buildCodecDescriptorRegistry } from "@prisma-
|
|
2
|
-
import type { CodecDescriptorRegistry } from "@prisma-
|
|
1
|
+
import { buildCodecDescriptorRegistry } from "@prisma/orm-family-sql/relational-core/codec-descriptor-registry";
|
|
2
|
+
import type { CodecDescriptorRegistry } from "@prisma/orm-family-sql/relational-core/query-lane-context";
|
|
3
3
|
import { codecDescriptors } from "./codecs";
|
|
4
4
|
|
|
5
5
|
export const ltreeCodecRegistry: CodecDescriptorRegistry =
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ColumnTypeDescriptor } from "@prisma-
|
|
1
|
+
import type { ColumnTypeDescriptor } from "@prisma/orm-framework/components/codec";
|
|
2
2
|
import { LTREE_ARRAY_CODEC_ID, LTREE_CODEC_ID } from "../core/constants";
|
|
3
3
|
import { LTREE_ARRAY_NATIVE_TYPE, LTREE_NATIVE_TYPE } from "../core/contract-space-constants";
|
|
4
4
|
|
package/src/exports/control.ts
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import type { Contract } from "@prisma-
|
|
1
|
+
import type { Contract } from "@prisma/orm-framework/contract/types";
|
|
2
2
|
import type {
|
|
3
3
|
CodecControlHooks,
|
|
4
4
|
SqlControlExtensionDescriptor,
|
|
5
|
-
} from "@prisma-
|
|
6
|
-
import { contractSpaceFromJson } from "@prisma-
|
|
7
|
-
import type { SqlStorage } from "@prisma-
|
|
8
|
-
import baselineMetadata from "../../migrations/
|
|
9
|
-
import baselineOps from "../../migrations/
|
|
10
|
-
import headRef from "../../migrations/
|
|
5
|
+
} from "@prisma/orm-family-sql/family/control";
|
|
6
|
+
import { contractSpaceFromJson } from "@prisma/orm-toolchain/migration-tools/spaces";
|
|
7
|
+
import type { SqlStorage } from "@prisma/orm-family-sql/contract/types";
|
|
8
|
+
import baselineMetadata from "../../migrations/20260619T2142_install_ltree/migration.json" with { type: "json" };
|
|
9
|
+
import baselineOps from "../../migrations/20260619T2142_install_ltree/ops.json" with { type: "json" };
|
|
10
|
+
import headRef from "../../migrations/refs/head.json" with { type: "json" };
|
|
11
11
|
import contractJson from "../contract.json" with { type: "json" };
|
|
12
12
|
import { LTREE_ARRAY_CODEC_ID, LTREE_CODEC_ID } from "../core/constants";
|
|
13
13
|
import { LTREE_SPACE_ID, LTREE_BASELINE_MIGRATION_NAME } from "../core/contract-space-constants";
|
package/src/exports/runtime.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { SqlRuntimeExtensionDescriptor } from "@prisma-
|
|
1
|
+
import type { SqlRuntimeExtensionDescriptor } from "@prisma/orm-family-sql/runtime";
|
|
2
2
|
import { ltreePackMeta, ltreeQueryOperations } from "../core/descriptor-meta";
|
|
3
3
|
import { ltreeCodecRegistry } from "../core/registry";
|
|
4
4
|
|
|
@@ -1,5 +1,8 @@
|
|
|
1
|
-
import type { SqlQueryOperationTypes } from "@prisma-
|
|
2
|
-
import type {
|
|
1
|
+
import type { SqlQueryOperationTypes } from "@prisma/orm-family-sql/contract/types";
|
|
2
|
+
import type {
|
|
3
|
+
CodecExpression,
|
|
4
|
+
Expression,
|
|
5
|
+
} from "@prisma/orm-family-sql/relational-core/expression";
|
|
3
6
|
|
|
4
7
|
type CodecTypesBase = Record<string, { readonly input: unknown; readonly output: unknown }>;
|
|
5
8
|
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"codec-types-mZn-cIh9.d.mts","names":[],"sources":["../src/core/constants.ts","../src/core/codecs.ts","../src/types/codec-types.ts"],"mappings":";;;;;;cAAa,cAAA;AAAA,cAEA,oBAAA;;;cCkDA,UAAA,SAAmB,SAAA,QACvB,cAAA;EAKD,MAAA,CAAO,KAAA,UAAe,IAAA,EAAM,gBAAA,GAAmB,OAAA;EAK/C,MAAA,CAAO,IAAA,UAAc,IAAA,EAAM,gBAAA,GAAmB,OAAA;EAIpD,UAAA,CAAW,KAAA,WAAgB,SAAA;EAK3B,UAAA,CAAW,IAAA,EAAM,SAAA;AAAA;AAAA,cAQN,eAAA,SAAwB,mBAAA;EAAA,SACjB,OAAA;EAAA,SACA,MAAA;EAAA,SACA,WAAA;EAAA,SACA,IAAA;IAAA;eANO,GAAA;QAAA,SAAO,QAAA;UAAA,SAAY,UAAA;QAAA;MAAA;IAAA;EAAA;EAAA,SAO1B,YAAA,EAAc,gBAAA;EACvB,gBAAA;EAGA,OAAA,KAAY,GAAA,EAAK,oBAAA,KAAyB,UAAA;AAAA;AAAA,cAkBxC,eAAA,SAAwB,SAAA,QAC5B,oBAAA;EAKD,MAAA,CAAO,KAAA,qBAA0B,IAAA,EAAM,gBAAA,GAAmB,OAAA;EAO1D,MAAA,CAAO,IAAA,qBAAyB,IAAA,EAAM,gBAAA,GAAmB,OAAA;EAI/D,UAAA,CAAW,KAAA,sBAA2B,SAAA;EAOtC,UAAA,CAAW,IAAA,EAAM,SAAA;AAAA;AAAA,cAWN,oBAAA,SAA6B,mBAAA;EAAA,SACtB,OAAA;EAAA,SACA,MAAA;EAAA,SACA,WAAA;EAAA,SACA,IAAA;IAAA;eA1CZ,GAAA;QAAA,SAAO,QAAA;UAAA,SAAY,UAAA;QAAA;MAAA;IAAA;EAAA;EAAA,SA2CP,YAAA,EAAc,gBAAA;EACvB,gBAAA;EAGA,OAAA,KAAY,GAAA,EAAK,oBAAA,KAAyB,eAAA;AAAA;AAAA,cAmB/C,kBAAA;EAAA,SACJ,KAAA,EAAK,eAAA;EAAA,SACL,UAAA,EAAU,oBAAA;AAAA;AAAA,KAGA,YAAA,GAAa,iBAAiB,QAAQ,kBAAA;;;KC7KtC,KAAA;EAAA,SAA4B,OAAO;AAAA;AAAA,KAEnC,UAAA;EAAA,SAA4C,YAAY;AAAA;AAAA,KAExD,UAAA,GAAa,YAAc"}
|