@confect/server 1.0.0-next.0 → 1.0.0-next.2
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/CHANGELOG.md +16 -0
- package/dist/ActionCtx.d.ts.map +1 -1
- package/dist/ActionCtx.js +2 -2
- package/dist/ActionRunner.d.ts.map +1 -1
- package/dist/ActionRunner.js +2 -2
- package/dist/Api.d.ts.map +1 -1
- package/dist/Api.js +2 -2
- package/dist/Api.js.map +1 -1
- package/dist/Auth.d.ts +8 -8
- package/dist/Auth.d.ts.map +1 -1
- package/dist/Auth.js +2 -2
- package/dist/DataModel.d.ts +3 -3
- package/dist/DataModel.d.ts.map +1 -1
- package/dist/DataModel.js +3 -1
- package/dist/DatabaseReader.d.ts +4 -4
- package/dist/DatabaseReader.d.ts.map +1 -1
- package/dist/DatabaseReader.js +2 -2
- package/dist/DatabaseReader.js.map +1 -1
- package/dist/DatabaseSchema.d.ts +32 -32
- package/dist/DatabaseSchema.d.ts.map +1 -1
- package/dist/DatabaseSchema.js +2 -2
- package/dist/DatabaseWriter.d.ts +24 -16
- package/dist/DatabaseWriter.d.ts.map +1 -1
- package/dist/DatabaseWriter.js +27 -25
- package/dist/DatabaseWriter.js.map +1 -1
- package/dist/Document.d.ts.map +1 -1
- package/dist/Document.js +2 -2
- package/dist/FunctionImpl.d.ts.map +1 -1
- package/dist/FunctionImpl.js +2 -2
- package/dist/GroupImpl.d.ts +1 -1
- package/dist/GroupImpl.d.ts.map +1 -1
- package/dist/GroupImpl.js +2 -2
- package/dist/Handler.d.ts.map +1 -1
- package/dist/Handler.js +3 -1
- package/dist/HttpApi.d.ts.map +1 -1
- package/dist/HttpApi.js +2 -2
- package/dist/HttpApi.js.map +1 -1
- package/dist/Impl.d.ts.map +1 -1
- package/dist/Impl.js +2 -2
- package/dist/Impl.js.map +1 -1
- package/dist/MutationCtx.d.ts.map +1 -1
- package/dist/MutationCtx.js +2 -2
- package/dist/MutationRunner.d.ts +3 -3
- package/dist/MutationRunner.d.ts.map +1 -1
- package/dist/MutationRunner.js +2 -2
- package/dist/OrderedQuery.d.ts.map +1 -1
- package/dist/OrderedQuery.js +2 -2
- package/dist/OrderedQuery.js.map +1 -1
- package/dist/QueryCtx.d.ts.map +1 -1
- package/dist/QueryCtx.js +2 -2
- package/dist/QueryInitializer.d.ts +1 -1
- package/dist/QueryInitializer.d.ts.map +1 -1
- package/dist/QueryInitializer.js +2 -2
- package/dist/QueryInitializer.js.map +1 -1
- package/dist/QueryRunner.d.ts.map +1 -1
- package/dist/QueryRunner.js +2 -2
- package/dist/RegisteredFunctions.d.ts +22 -20
- package/dist/RegisteredFunctions.d.ts.map +1 -1
- package/dist/RegisteredFunctions.js +2 -2
- package/dist/RegisteredFunctions.js.map +1 -1
- package/dist/Registry.d.ts.map +1 -1
- package/dist/Registry.js +2 -2
- package/dist/RegistryItem.d.ts.map +1 -1
- package/dist/RegistryItem.js +2 -2
- package/dist/Scheduler.d.ts +7 -7
- package/dist/Scheduler.d.ts.map +1 -1
- package/dist/Scheduler.js +2 -2
- package/dist/SchemaToValidator.d.ts +7 -7
- package/dist/SchemaToValidator.d.ts.map +1 -1
- package/dist/SchemaToValidator.js +2 -2
- package/dist/SchemaToValidator.js.map +1 -1
- package/dist/Storage.d.ts.map +1 -1
- package/dist/Storage.js +2 -2
- package/dist/Table.d.ts +53 -53
- package/dist/Table.d.ts.map +1 -1
- package/dist/Table.js +2 -2
- package/dist/Table.js.map +1 -1
- package/dist/TableInfo.d.ts +1 -1
- package/dist/TableInfo.d.ts.map +1 -1
- package/dist/TableInfo.js +3 -1
- package/dist/TableInfo.js.map +1 -1
- package/dist/VectorSearch.d.ts +7 -7
- package/dist/VectorSearch.d.ts.map +1 -1
- package/dist/VectorSearch.js +2 -2
- package/dist/_virtual/_rolldown/runtime.js +18 -0
- package/dist/internal/utils.d.ts.map +1 -1
- package/dist/internal/utils.js +2 -2
- package/dist/internal/utils.js.map +1 -1
- package/package.json +29 -27
- package/src/Api.ts +4 -2
- package/src/DatabaseWriter.ts +102 -113
- package/src/Impl.ts +4 -2
- package/src/RegisteredFunctions.ts +1 -9
- package/src/SchemaToValidator.ts +1 -3
- package/src/Table.ts +4 -4
- package/src/TableInfo.ts +0 -1
- package/dist/_virtual/rolldown_runtime.js +0 -13
package/dist/Table.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import { TableSchemaToTableValidator } from "./SchemaToValidator.js";
|
|
|
2
2
|
import { Schema } from "effect";
|
|
3
3
|
import { Expand, GenericTableIndexes, GenericTableSearchIndexes, GenericTableVectorIndexes, IndexTiebreakerField, SearchIndexConfig, SystemFields, TableDefinition, VectorIndexConfig } from "convex/server";
|
|
4
4
|
import * as SystemFields$1 from "@confect/core/SystemFields";
|
|
5
|
-
import * as
|
|
5
|
+
import * as convex_values0 from "convex/values";
|
|
6
6
|
import { GenericValidator, Validator } from "convex/values";
|
|
7
7
|
|
|
8
8
|
//#region src/Table.d.ts
|
|
@@ -12,19 +12,19 @@ declare namespace Table_d_exports {
|
|
|
12
12
|
declare const TypeId = "@confect/server/Table";
|
|
13
13
|
type TypeId = typeof TypeId;
|
|
14
14
|
declare const isTable: (u: unknown) => u is Any;
|
|
15
|
-
interface Table<Name_ extends string, TableSchema_
|
|
15
|
+
interface Table<Name_ extends string, TableSchema_ extends Schema.Schema.AnyNoContext, TableValidator_ extends GenericValidator = TableSchemaToTableValidator<TableSchema_>, Indexes_ extends GenericTableIndexes = {}, SearchIndexes_ extends GenericTableSearchIndexes = {}, VectorIndexes_ extends GenericTableVectorIndexes = {}> {
|
|
16
16
|
readonly [TypeId]: TypeId;
|
|
17
|
-
readonly tableDefinition: TableDefinition<TableValidator_
|
|
17
|
+
readonly tableDefinition: TableDefinition<TableValidator_, Indexes_, SearchIndexes_, VectorIndexes_>;
|
|
18
18
|
readonly name: Name_;
|
|
19
|
-
readonly Fields: TableSchema_
|
|
20
|
-
readonly Doc: SystemFields$1.ExtendWithSystemFields<Name_, TableSchema_
|
|
21
|
-
readonly indexes: Indexes_
|
|
22
|
-
index<IndexName extends string, FirstFieldPath extends ExtractFieldPaths<TableValidator_
|
|
23
|
-
searchIndex<IndexName extends string, SearchField extends ExtractFieldPaths<TableValidator_
|
|
19
|
+
readonly Fields: TableSchema_;
|
|
20
|
+
readonly Doc: SystemFields$1.ExtendWithSystemFields<Name_, TableSchema_>;
|
|
21
|
+
readonly indexes: Indexes_;
|
|
22
|
+
index<IndexName extends string, FirstFieldPath extends ExtractFieldPaths<TableValidator_>, RestFieldPaths extends ExtractFieldPaths<TableValidator_>[]>(name: IndexName, fields: [FirstFieldPath, ...RestFieldPaths]): Table<Name_, TableSchema_, TableValidator_, Expand<Indexes_ & Record<IndexName, [FirstFieldPath, ...RestFieldPaths, IndexTiebreakerField]>>, SearchIndexes_, VectorIndexes_>;
|
|
23
|
+
searchIndex<IndexName extends string, SearchField extends ExtractFieldPaths<TableValidator_>, FilterFields extends ExtractFieldPaths<TableValidator_> = never>(name: IndexName, indexConfig: Expand<SearchIndexConfig<SearchField, FilterFields>>): Table<Name_, TableSchema_, TableValidator_, Indexes_, Expand<SearchIndexes_ & Record<IndexName, {
|
|
24
24
|
searchField: SearchField;
|
|
25
25
|
filterFields: FilterFields;
|
|
26
|
-
}>>, VectorIndexes_
|
|
27
|
-
vectorIndex<IndexName extends string, VectorField extends ExtractFieldPaths<TableValidator_
|
|
26
|
+
}>>, VectorIndexes_>;
|
|
27
|
+
vectorIndex<IndexName extends string, VectorField extends ExtractFieldPaths<TableValidator_>, FilterFields extends ExtractFieldPaths<TableValidator_> = never>(name: IndexName, indexConfig: Expand<VectorIndexConfig<VectorField, FilterFields>>): Table<Name_, TableSchema_, TableValidator_, Indexes_, SearchIndexes_, Expand<VectorIndexes_ & Record<IndexName, {
|
|
28
28
|
vectorField: VectorField;
|
|
29
29
|
dimensions: number;
|
|
30
30
|
filterFields: FilterFields;
|
|
@@ -49,7 +49,7 @@ type TablesRecord<Tables extends AnyWithProps> = { readonly [TableName_ in Name<
|
|
|
49
49
|
/**
|
|
50
50
|
* Create a table.
|
|
51
51
|
*/
|
|
52
|
-
declare const make: <const Name_ extends string, TableSchema_
|
|
52
|
+
declare const make: <const Name_ extends string, TableSchema_ extends Schema.Schema.AnyNoContext, TableValidator_ extends GenericValidator = TableSchemaToTableValidator<TableSchema_>, Indexes_ extends GenericTableIndexes = {}, SearchIndexes_ extends GenericTableSearchIndexes = {}, VectorIndexes_ extends GenericTableVectorIndexes = {}>(name: Name_, fields: TableSchema_) => Table<Name_, TableSchema_, TableValidator_, Indexes_, SearchIndexes_, VectorIndexes_>;
|
|
53
53
|
declare const scheduledFunctionsTable: Table<"_scheduled_functions", Schema.Struct<{
|
|
54
54
|
name: typeof Schema.String;
|
|
55
55
|
args: Schema.Array$<typeof Schema.Any>;
|
|
@@ -69,7 +69,7 @@ declare const scheduledFunctionsTable: Table<"_scheduled_functions", Schema.Stru
|
|
|
69
69
|
}>, Schema.Struct<{
|
|
70
70
|
kind: Schema.Literal<["canceled"]>;
|
|
71
71
|
}>]>;
|
|
72
|
-
}>,
|
|
72
|
+
}>, convex_values0.VObject<{
|
|
73
73
|
name: string;
|
|
74
74
|
args: any[];
|
|
75
75
|
scheduledTime: number;
|
|
@@ -87,10 +87,10 @@ declare const scheduledFunctionsTable: Table<"_scheduled_functions", Schema.Stru
|
|
|
87
87
|
};
|
|
88
88
|
completedTime?: number;
|
|
89
89
|
}, {
|
|
90
|
-
name:
|
|
91
|
-
args:
|
|
92
|
-
scheduledTime:
|
|
93
|
-
state:
|
|
90
|
+
name: convex_values0.VString<string, "required">;
|
|
91
|
+
args: convex_values0.VArray<any[], convex_values0.VAny<any, "required", string>, "required">;
|
|
92
|
+
scheduledTime: convex_values0.VFloat64<number, "required">;
|
|
93
|
+
state: convex_values0.VUnion<{
|
|
94
94
|
kind: "pending";
|
|
95
95
|
} | {
|
|
96
96
|
kind: "inProgress";
|
|
@@ -101,30 +101,30 @@ declare const scheduledFunctionsTable: Table<"_scheduled_functions", Schema.Stru
|
|
|
101
101
|
error: string;
|
|
102
102
|
} | {
|
|
103
103
|
kind: "canceled";
|
|
104
|
-
}, [
|
|
104
|
+
}, [convex_values0.VObject<{
|
|
105
105
|
kind: "pending";
|
|
106
106
|
}, {
|
|
107
|
-
kind:
|
|
108
|
-
}, "required", "kind">,
|
|
107
|
+
kind: convex_values0.VLiteral<"pending", "required">;
|
|
108
|
+
}, "required", "kind">, convex_values0.VObject<{
|
|
109
109
|
kind: "inProgress";
|
|
110
110
|
}, {
|
|
111
|
-
kind:
|
|
112
|
-
}, "required", "kind">,
|
|
111
|
+
kind: convex_values0.VLiteral<"inProgress", "required">;
|
|
112
|
+
}, "required", "kind">, convex_values0.VObject<{
|
|
113
113
|
kind: "success";
|
|
114
114
|
}, {
|
|
115
|
-
kind:
|
|
116
|
-
}, "required", "kind">,
|
|
115
|
+
kind: convex_values0.VLiteral<"success", "required">;
|
|
116
|
+
}, "required", "kind">, convex_values0.VObject<{
|
|
117
117
|
kind: "failed";
|
|
118
118
|
error: string;
|
|
119
119
|
}, {
|
|
120
|
-
kind:
|
|
121
|
-
error:
|
|
122
|
-
}, "required", "kind" | "error">,
|
|
120
|
+
kind: convex_values0.VLiteral<"failed", "required">;
|
|
121
|
+
error: convex_values0.VString<string, "required">;
|
|
122
|
+
}, "required", "kind" | "error">, convex_values0.VObject<{
|
|
123
123
|
kind: "canceled";
|
|
124
124
|
}, {
|
|
125
|
-
kind:
|
|
125
|
+
kind: convex_values0.VLiteral<"canceled", "required">;
|
|
126
126
|
}, "required", "kind">], "required", "kind" | "error">;
|
|
127
|
-
completedTime:
|
|
127
|
+
completedTime: convex_values0.VFloat64<number | undefined, "optional">;
|
|
128
128
|
}, "required", "name" | "args" | "scheduledTime" | "completedTime" | "state" | "state.kind" | "state.error">, {}, {}, {}>;
|
|
129
129
|
declare const storageTable: Table<"_storage", Schema.Struct<{
|
|
130
130
|
sha256: typeof Schema.String;
|
|
@@ -132,14 +132,14 @@ declare const storageTable: Table<"_storage", Schema.Struct<{
|
|
|
132
132
|
contentType: Schema.optionalWith<typeof Schema.String, {
|
|
133
133
|
exact: true;
|
|
134
134
|
}>;
|
|
135
|
-
}>,
|
|
135
|
+
}>, convex_values0.VObject<{
|
|
136
136
|
sha256: string;
|
|
137
137
|
size: number;
|
|
138
138
|
contentType?: string;
|
|
139
139
|
}, {
|
|
140
|
-
sha256:
|
|
141
|
-
size:
|
|
142
|
-
contentType:
|
|
140
|
+
sha256: convex_values0.VString<string, "required">;
|
|
141
|
+
size: convex_values0.VFloat64<number, "required">;
|
|
142
|
+
contentType: convex_values0.VString<string | undefined, "optional">;
|
|
143
143
|
}, "required", "sha256" | "size" | "contentType">, {}, {}, {}>;
|
|
144
144
|
declare const systemTables: {
|
|
145
145
|
readonly _scheduled_functions: Table<"_scheduled_functions", Schema.Struct<{
|
|
@@ -161,7 +161,7 @@ declare const systemTables: {
|
|
|
161
161
|
}>, Schema.Struct<{
|
|
162
162
|
kind: Schema.Literal<["canceled"]>;
|
|
163
163
|
}>]>;
|
|
164
|
-
}>,
|
|
164
|
+
}>, convex_values0.VObject<{
|
|
165
165
|
name: string;
|
|
166
166
|
args: any[];
|
|
167
167
|
scheduledTime: number;
|
|
@@ -179,10 +179,10 @@ declare const systemTables: {
|
|
|
179
179
|
};
|
|
180
180
|
completedTime?: number;
|
|
181
181
|
}, {
|
|
182
|
-
name:
|
|
183
|
-
args:
|
|
184
|
-
scheduledTime:
|
|
185
|
-
state:
|
|
182
|
+
name: convex_values0.VString<string, "required">;
|
|
183
|
+
args: convex_values0.VArray<any[], convex_values0.VAny<any, "required", string>, "required">;
|
|
184
|
+
scheduledTime: convex_values0.VFloat64<number, "required">;
|
|
185
|
+
state: convex_values0.VUnion<{
|
|
186
186
|
kind: "pending";
|
|
187
187
|
} | {
|
|
188
188
|
kind: "inProgress";
|
|
@@ -193,30 +193,30 @@ declare const systemTables: {
|
|
|
193
193
|
error: string;
|
|
194
194
|
} | {
|
|
195
195
|
kind: "canceled";
|
|
196
|
-
}, [
|
|
196
|
+
}, [convex_values0.VObject<{
|
|
197
197
|
kind: "pending";
|
|
198
198
|
}, {
|
|
199
|
-
kind:
|
|
200
|
-
}, "required", "kind">,
|
|
199
|
+
kind: convex_values0.VLiteral<"pending", "required">;
|
|
200
|
+
}, "required", "kind">, convex_values0.VObject<{
|
|
201
201
|
kind: "inProgress";
|
|
202
202
|
}, {
|
|
203
|
-
kind:
|
|
204
|
-
}, "required", "kind">,
|
|
203
|
+
kind: convex_values0.VLiteral<"inProgress", "required">;
|
|
204
|
+
}, "required", "kind">, convex_values0.VObject<{
|
|
205
205
|
kind: "success";
|
|
206
206
|
}, {
|
|
207
|
-
kind:
|
|
208
|
-
}, "required", "kind">,
|
|
207
|
+
kind: convex_values0.VLiteral<"success", "required">;
|
|
208
|
+
}, "required", "kind">, convex_values0.VObject<{
|
|
209
209
|
kind: "failed";
|
|
210
210
|
error: string;
|
|
211
211
|
}, {
|
|
212
|
-
kind:
|
|
213
|
-
error:
|
|
214
|
-
}, "required", "kind" | "error">,
|
|
212
|
+
kind: convex_values0.VLiteral<"failed", "required">;
|
|
213
|
+
error: convex_values0.VString<string, "required">;
|
|
214
|
+
}, "required", "kind" | "error">, convex_values0.VObject<{
|
|
215
215
|
kind: "canceled";
|
|
216
216
|
}, {
|
|
217
|
-
kind:
|
|
217
|
+
kind: convex_values0.VLiteral<"canceled", "required">;
|
|
218
218
|
}, "required", "kind">], "required", "kind" | "error">;
|
|
219
|
-
completedTime:
|
|
219
|
+
completedTime: convex_values0.VFloat64<number | undefined, "optional">;
|
|
220
220
|
}, "required", "name" | "args" | "scheduledTime" | "completedTime" | "state" | "state.kind" | "state.error">, {}, {}, {}>;
|
|
221
221
|
readonly _storage: Table<"_storage", Schema.Struct<{
|
|
222
222
|
sha256: typeof Schema.String;
|
|
@@ -224,14 +224,14 @@ declare const systemTables: {
|
|
|
224
224
|
contentType: Schema.optionalWith<typeof Schema.String, {
|
|
225
225
|
exact: true;
|
|
226
226
|
}>;
|
|
227
|
-
}>,
|
|
227
|
+
}>, convex_values0.VObject<{
|
|
228
228
|
sha256: string;
|
|
229
229
|
size: number;
|
|
230
230
|
contentType?: string;
|
|
231
231
|
}, {
|
|
232
|
-
sha256:
|
|
233
|
-
size:
|
|
234
|
-
contentType:
|
|
232
|
+
sha256: convex_values0.VString<string, "required">;
|
|
233
|
+
size: convex_values0.VFloat64<number, "required">;
|
|
234
|
+
contentType: convex_values0.VString<string | undefined, "optional">;
|
|
235
235
|
}, "required", "sha256" | "size" | "contentType">, {}, {}, {}>;
|
|
236
236
|
};
|
|
237
237
|
type SystemTables = typeof scheduledFunctionsTable | typeof storageTable;
|
package/dist/Table.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Table.d.ts","names":[],"sources":["../src/Table.ts"],"
|
|
1
|
+
{"version":3,"file":"Table.d.ts","names":[],"sources":["../src/Table.ts"],"mappings":"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"}
|
package/dist/Table.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { __exportAll } from "./_virtual/_rolldown/runtime.js";
|
|
2
2
|
import { compileTableSchema } from "./SchemaToValidator.js";
|
|
3
3
|
import { Predicate, Schema } from "effect";
|
|
4
4
|
import { defineTable } from "convex/server";
|
|
5
5
|
import * as SystemFields$1 from "@confect/core/SystemFields";
|
|
6
6
|
|
|
7
7
|
//#region src/Table.ts
|
|
8
|
-
var Table_exports = /* @__PURE__ */
|
|
8
|
+
var Table_exports = /* @__PURE__ */ __exportAll({
|
|
9
9
|
TypeId: () => TypeId,
|
|
10
10
|
isTable: () => isTable,
|
|
11
11
|
make: () => make,
|
package/dist/Table.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Table.js","names":["SystemFields"],"sources":["../src/Table.ts"],"sourcesContent":["import * as SystemFields from \"@confect/core/SystemFields\";\nimport {\n defineTable,\n type SystemFields as ConvexSystemFields,\n type Expand,\n type GenericTableIndexes,\n type GenericTableSearchIndexes,\n type GenericTableVectorIndexes,\n type IndexTiebreakerField,\n type SearchIndexConfig,\n type TableDefinition,\n type VectorIndexConfig,\n} from \"convex/server\";\nimport type { GenericValidator, Validator } from \"convex/values\";\nimport { Predicate, Schema } from \"effect\";\nimport {\n compileTableSchema,\n type TableSchemaToTableValidator,\n} from \"./SchemaToValidator\";\n\nexport const TypeId = \"@confect/server/Table\";\nexport type TypeId = typeof TypeId;\n\nexport const isTable = (u: unknown): u is Any =>\n Predicate.hasProperty(u, TypeId);\n\nexport interface Table<\n Name_ extends string,\n TableSchema_ extends Schema.Schema.AnyNoContext,\n TableValidator_ extends\n GenericValidator = TableSchemaToTableValidator<TableSchema_>,\n Indexes_ extends GenericTableIndexes = {},\n SearchIndexes_ extends GenericTableSearchIndexes = {},\n VectorIndexes_ extends GenericTableVectorIndexes = {},\n> {\n readonly [TypeId]: TypeId;\n readonly tableDefinition: TableDefinition<\n TableValidator_,\n Indexes_,\n SearchIndexes_,\n VectorIndexes_\n >;\n\n readonly name: Name_;\n\n readonly Fields: TableSchema_;\n readonly Doc: SystemFields.ExtendWithSystemFields<Name_, TableSchema_>;\n\n readonly indexes: Indexes_;\n\n index<\n IndexName extends string,\n FirstFieldPath extends ExtractFieldPaths<TableValidator_>,\n RestFieldPaths extends ExtractFieldPaths<TableValidator_>[],\n >(\n name: IndexName,\n fields: [FirstFieldPath, ...RestFieldPaths],\n ): Table<\n Name_,\n TableSchema_,\n TableValidator_,\n Expand<\n Indexes_ &\n Record<\n IndexName,\n [FirstFieldPath, ...RestFieldPaths, IndexTiebreakerField]\n >\n >,\n SearchIndexes_,\n VectorIndexes_\n >;\n\n searchIndex<\n IndexName extends string,\n SearchField extends ExtractFieldPaths<TableValidator_>,\n FilterFields extends ExtractFieldPaths<TableValidator_> = never,\n >(\n name: IndexName,\n indexConfig: Expand<SearchIndexConfig<SearchField, FilterFields>>,\n ): Table<\n Name_,\n TableSchema_,\n TableValidator_,\n Indexes_,\n Expand<\n SearchIndexes_ &\n Record<\n IndexName,\n {\n searchField: SearchField;\n filterFields: FilterFields;\n }\n >\n >,\n VectorIndexes_\n >;\n\n vectorIndex<\n IndexName extends string,\n VectorField extends ExtractFieldPaths<TableValidator_>,\n FilterFields extends ExtractFieldPaths<TableValidator_> = never,\n >(\n name: IndexName,\n indexConfig: Expand<VectorIndexConfig<VectorField, FilterFields>>,\n ): Table<\n Name_,\n TableSchema_,\n TableValidator_,\n Indexes_,\n SearchIndexes_,\n Expand<\n VectorIndexes_ &\n Record<\n IndexName,\n {\n vectorField: VectorField;\n dimensions: number;\n filterFields: FilterFields;\n }\n >\n >\n >;\n}\n\nexport interface Any {\n readonly [TypeId]: TypeId;\n}\n\nexport type AnyWithProps = Table<\n any,\n Schema.Schema.AnyNoContext,\n GenericValidator,\n GenericTableIndexes,\n GenericTableSearchIndexes,\n GenericTableVectorIndexes\n>;\n\nexport type Name<TableDef extends AnyWithProps> =\n TableDef extends Table<\n infer TableName,\n infer _TableSchema,\n infer _TableValidator,\n infer _Indexes,\n infer _SearchIndexes,\n infer _VectorIndexes\n >\n ? TableName & string\n : never;\n\nexport type TableSchema<TableDef extends AnyWithProps> =\n TableDef extends Table<\n infer _TableName,\n infer TableSchema_,\n infer _TableValidator,\n infer _Indexes,\n infer _SearchIndexes,\n infer _VectorIndexes\n >\n ? TableSchema_\n : never;\n\nexport type TableValidator<TableDef extends AnyWithProps> =\n TableDef extends Table<\n infer _TableName,\n infer _TableSchema,\n infer TableValidator_,\n infer _Indexes,\n infer _SearchIndexes,\n infer _VectorIndexes\n >\n ? TableValidator_\n : never;\n\nexport type Indexes<TableDef extends AnyWithProps> =\n TableDef extends Table<\n infer _TableName,\n infer _TableSchema,\n infer _TableValidator,\n infer Indexes_,\n infer _SearchIndexes,\n infer _VectorIndexes\n >\n ? Indexes_\n : never;\n\nexport type SearchIndexes<TableDef extends AnyWithProps> =\n TableDef extends Table<\n infer _TableName,\n infer _TableSchema,\n infer _TableValidator,\n infer _Indexes,\n infer SearchIndexes_,\n infer _VectorIndexes\n >\n ? SearchIndexes_\n : never;\n\nexport type VectorIndexes<TableDef extends AnyWithProps> =\n TableDef extends Table<\n infer _TableName,\n infer _TableSchema,\n infer _TableValidator,\n infer _Indexes,\n infer _SearchIndexes,\n infer VectorIndexes_\n >\n ? VectorIndexes_\n : never;\n\nexport type Doc<TableDef extends AnyWithProps> =\n TableDef extends Table<\n infer TableName,\n infer TableSchema_,\n infer _TableValidator,\n infer _Indexes,\n infer _SearchIndexes,\n infer _VectorIndexes\n >\n ? SystemFields.ExtendWithSystemFields<TableName, TableSchema_>\n : never;\n\nexport type Fields<TableDef extends AnyWithProps> =\n TableDef extends Table<\n infer _TableName,\n infer TableSchema_,\n infer _TableValidator,\n infer _Indexes,\n infer _SearchIndexes,\n infer _VectorIndexes\n >\n ? TableSchema_\n : never;\n\nexport type WithName<\n TableDef extends AnyWithProps,\n Name_ extends string,\n> = TableDef extends { readonly name: Name_ } ? TableDef : never;\n\nexport type TablesRecord<Tables extends AnyWithProps> = {\n readonly [TableName_ in Name<Tables>]: WithName<Tables, TableName_>;\n};\n\nconst Proto = {\n [TypeId]: TypeId,\n\n index<\n IndexName extends string,\n FirstFieldPath extends string,\n RestFieldPaths extends string[],\n >(\n this: AnyWithProps,\n name: IndexName,\n fields: [FirstFieldPath, ...RestFieldPaths],\n ) {\n return makeProto({\n name: this.name,\n Fields: this.Fields,\n Doc: this.Doc,\n tableDefinition: this.tableDefinition.index(name, fields as any),\n indexes: {\n ...this.indexes,\n [name]: fields,\n },\n });\n },\n\n searchIndex<IndexName extends string, SearchField extends string>(\n this: AnyWithProps,\n name: IndexName,\n indexConfig: SearchIndexConfig<SearchField, any>,\n ) {\n return makeProto({\n name: this.name,\n Fields: this.Fields,\n Doc: this.Doc,\n tableDefinition: this.tableDefinition.searchIndex(name, indexConfig),\n indexes: this.indexes,\n });\n },\n\n vectorIndex<IndexName extends string, VectorField extends string>(\n this: AnyWithProps,\n name: IndexName,\n indexConfig: {\n vectorField: VectorField;\n dimensions: number;\n filterFields?: string[] | undefined;\n },\n ) {\n return makeProto({\n name: this.name,\n Fields: this.Fields,\n Doc: this.Doc,\n tableDefinition: this.tableDefinition.vectorIndex(name, {\n vectorField: indexConfig.vectorField,\n dimensions: indexConfig.dimensions,\n ...(indexConfig.filterFields\n ? { filterFields: indexConfig.filterFields }\n : {}),\n }),\n indexes: this.indexes,\n });\n },\n};\n\nconst makeProto = <\n Name_ extends string,\n TableSchema_ extends Schema.Schema.AnyNoContext,\n TableValidator_ extends Validator<any, any, any>,\n Indexes_ extends GenericTableIndexes,\n SearchIndexes_ extends GenericTableSearchIndexes,\n VectorIndexes_ extends GenericTableVectorIndexes,\n>({\n name,\n Fields,\n Doc,\n tableDefinition,\n indexes,\n}: {\n name: Name_;\n Fields: TableSchema_;\n Doc: SystemFields.ExtendWithSystemFields<Name_, TableSchema_>;\n tableDefinition: TableDefinition<\n TableValidator_,\n Indexes_,\n SearchIndexes_,\n VectorIndexes_\n >;\n indexes: Indexes_;\n}): Table<\n Name_,\n TableSchema_,\n TableValidator_,\n Indexes_,\n SearchIndexes_,\n VectorIndexes_\n> =>\n Object.assign(Object.create(Proto), {\n name,\n Fields,\n Doc,\n tableDefinition,\n indexes,\n });\n\n/**\n * Create a table.\n */\nexport const make = <\n const Name_ extends string,\n TableSchema_ extends Schema.Schema.AnyNoContext,\n TableValidator_ extends\n GenericValidator = TableSchemaToTableValidator<TableSchema_>,\n Indexes_ extends GenericTableIndexes = {},\n SearchIndexes_ extends GenericTableSearchIndexes = {},\n VectorIndexes_ extends GenericTableVectorIndexes = {},\n>(\n name: Name_,\n fields: TableSchema_,\n): Table<\n Name_,\n TableSchema_,\n TableValidator_,\n Indexes_,\n SearchIndexes_,\n VectorIndexes_\n> => {\n const tableValidator = compileTableSchema(fields) as any;\n const tableDefinition = defineTable(tableValidator) as any;\n\n return makeProto<\n Name_,\n TableSchema_,\n TableValidator_,\n Indexes_,\n SearchIndexes_,\n VectorIndexes_\n >({\n name,\n Fields: fields,\n Doc: SystemFields.extendWithSystemFields(name, fields),\n tableDefinition,\n indexes: {} as Indexes_,\n });\n};\n\n// -----------------------------------------------------------------------------\n// System tables\n// -----------------------------------------------------------------------------\n\nexport const scheduledFunctionsTable = make(\n \"_scheduled_functions\",\n Schema.Struct({\n name: Schema.String,\n args: Schema.Array(Schema.Any),\n scheduledTime: Schema.Number,\n completedTime: Schema.optionalWith(Schema.Number, { exact: true }),\n state: Schema.Union(\n Schema.Struct({ kind: Schema.Literal(\"pending\") }),\n Schema.Struct({ kind: Schema.Literal(\"inProgress\") }),\n Schema.Struct({ kind: Schema.Literal(\"success\") }),\n Schema.Struct({\n kind: Schema.Literal(\"failed\"),\n error: Schema.String,\n }),\n Schema.Struct({ kind: Schema.Literal(\"canceled\") }),\n ),\n }),\n);\n\nexport const storageTable = make(\n \"_storage\",\n Schema.Struct({\n sha256: Schema.String,\n size: Schema.Number,\n contentType: Schema.optionalWith(Schema.String, { exact: true }),\n }),\n);\n\nexport const systemTables = {\n _scheduled_functions: scheduledFunctionsTable,\n _storage: storageTable,\n} as const;\n\nexport type SystemTables = typeof scheduledFunctionsTable | typeof storageTable;\n\n// Vendored types from convex-js, partially modified. Ideally we could use these directly. See https://github.com/get-convex/convex-js/pull/14\n\n/**\n * Extract all of the index field paths within a {@link Validator}.\n *\n * This is used within {@link defineTable}.\n * @public\n */\ntype ExtractFieldPaths<T extends Validator<any, any, any>> =\n // Add in the system fields available in index definitions.\n // This should be everything except for `_id` because thats added to indexes\n // automatically.\n T[\"fieldPaths\"] | keyof ConvexSystemFields;\n"],"mappings":";;;;;;;;;;;;;;;AAoBA,MAAa,SAAS;AAGtB,MAAa,WAAW,MACtB,UAAU,YAAY,GAAG,OAAO;AA0NlC,MAAM,QAAQ;EACX,SAAS;CAEV,MAME,MACA,QACA;AACA,SAAO,UAAU;GACf,MAAM,KAAK;GACX,QAAQ,KAAK;GACb,KAAK,KAAK;GACV,iBAAiB,KAAK,gBAAgB,MAAM,MAAM,OAAc;GAChE,SAAS;IACP,GAAG,KAAK;KACP,OAAO;IACT;GACF,CAAC;;CAGJ,YAEE,MACA,aACA;AACA,SAAO,UAAU;GACf,MAAM,KAAK;GACX,QAAQ,KAAK;GACb,KAAK,KAAK;GACV,iBAAiB,KAAK,gBAAgB,YAAY,MAAM,YAAY;GACpE,SAAS,KAAK;GACf,CAAC;;CAGJ,YAEE,MACA,aAKA;AACA,SAAO,UAAU;GACf,MAAM,KAAK;GACX,QAAQ,KAAK;GACb,KAAK,KAAK;GACV,iBAAiB,KAAK,gBAAgB,YAAY,MAAM;IACtD,aAAa,YAAY;IACzB,YAAY,YAAY;IACxB,GAAI,YAAY,eACZ,EAAE,cAAc,YAAY,cAAc,GAC1C,EAAE;IACP,CAAC;GACF,SAAS,KAAK;GACf,CAAC;;CAEL;AAED,MAAM,aAOJ,EACA,MACA,QACA,KACA,iBACA,cAoBA,OAAO,OAAO,OAAO,OAAO,MAAM,EAAE;CAClC;CACA;CACA;CACA;CACA;CACD,CAAC;;;;AAKJ,MAAa,QASX,MACA,WAQG;CAEH,MAAM,kBAAkB,YADD,mBAAmB,OAAO,CACE;AAEnD,QAAO,UAOL;EACA;EACA,QAAQ;EACR,KAAKA,eAAa,uBAAuB,MAAM,OAAO;EACtD;EACA,SAAS,EAAE;EACZ,CAAC;;AAOJ,MAAa,0BAA0B,KACrC,wBACA,OAAO,OAAO;CACZ,MAAM,OAAO;CACb,MAAM,OAAO,MAAM,OAAO,IAAI;CAC9B,eAAe,OAAO;CACtB,eAAe,OAAO,aAAa,OAAO,QAAQ,EAAE,OAAO,MAAM,CAAC;CAClE,OAAO,OAAO,MACZ,OAAO,OAAO,EAAE,MAAM,OAAO,QAAQ,UAAU,EAAE,CAAC,EAClD,OAAO,OAAO,EAAE,MAAM,OAAO,QAAQ,aAAa,EAAE,CAAC,EACrD,OAAO,OAAO,EAAE,MAAM,OAAO,QAAQ,UAAU,EAAE,CAAC,EAClD,OAAO,OAAO;EACZ,MAAM,OAAO,QAAQ,SAAS;EAC9B,OAAO,OAAO;EACf,CAAC,EACF,OAAO,OAAO,EAAE,MAAM,OAAO,QAAQ,WAAW,EAAE,CAAC,CACpD;CACF,CAAC,CACH;AAED,MAAa,eAAe,KAC1B,YACA,OAAO,OAAO;CACZ,QAAQ,OAAO;CACf,MAAM,OAAO;CACb,aAAa,OAAO,aAAa,OAAO,QAAQ,EAAE,OAAO,MAAM,CAAC;CACjE,CAAC,CACH;AAED,MAAa,eAAe;CAC1B,sBAAsB;CACtB,UAAU;CACX"}
|
|
1
|
+
{"version":3,"file":"Table.js","names":["SystemFields"],"sources":["../src/Table.ts"],"sourcesContent":["import * as SystemFields from \"@confect/core/SystemFields\";\nimport {\n defineTable,\n type SystemFields as ConvexSystemFields,\n type Expand,\n type GenericTableIndexes,\n type GenericTableSearchIndexes,\n type GenericTableVectorIndexes,\n type IndexTiebreakerField,\n type SearchIndexConfig,\n type TableDefinition,\n type VectorIndexConfig,\n} from \"convex/server\";\nimport type { GenericValidator, Validator } from \"convex/values\";\nimport { Predicate, Schema } from \"effect\";\nimport {\n compileTableSchema,\n type TableSchemaToTableValidator,\n} from \"./SchemaToValidator\";\n\nexport const TypeId = \"@confect/server/Table\";\nexport type TypeId = typeof TypeId;\n\nexport const isTable = (u: unknown): u is Any =>\n Predicate.hasProperty(u, TypeId);\n\nexport interface Table<\n Name_ extends string,\n TableSchema_ extends Schema.Schema.AnyNoContext,\n TableValidator_ extends GenericValidator =\n TableSchemaToTableValidator<TableSchema_>,\n Indexes_ extends GenericTableIndexes = {},\n SearchIndexes_ extends GenericTableSearchIndexes = {},\n VectorIndexes_ extends GenericTableVectorIndexes = {},\n> {\n readonly [TypeId]: TypeId;\n readonly tableDefinition: TableDefinition<\n TableValidator_,\n Indexes_,\n SearchIndexes_,\n VectorIndexes_\n >;\n\n readonly name: Name_;\n\n readonly Fields: TableSchema_;\n readonly Doc: SystemFields.ExtendWithSystemFields<Name_, TableSchema_>;\n\n readonly indexes: Indexes_;\n\n index<\n IndexName extends string,\n FirstFieldPath extends ExtractFieldPaths<TableValidator_>,\n RestFieldPaths extends ExtractFieldPaths<TableValidator_>[],\n >(\n name: IndexName,\n fields: [FirstFieldPath, ...RestFieldPaths],\n ): Table<\n Name_,\n TableSchema_,\n TableValidator_,\n Expand<\n Indexes_ &\n Record<\n IndexName,\n [FirstFieldPath, ...RestFieldPaths, IndexTiebreakerField]\n >\n >,\n SearchIndexes_,\n VectorIndexes_\n >;\n\n searchIndex<\n IndexName extends string,\n SearchField extends ExtractFieldPaths<TableValidator_>,\n FilterFields extends ExtractFieldPaths<TableValidator_> = never,\n >(\n name: IndexName,\n indexConfig: Expand<SearchIndexConfig<SearchField, FilterFields>>,\n ): Table<\n Name_,\n TableSchema_,\n TableValidator_,\n Indexes_,\n Expand<\n SearchIndexes_ &\n Record<\n IndexName,\n {\n searchField: SearchField;\n filterFields: FilterFields;\n }\n >\n >,\n VectorIndexes_\n >;\n\n vectorIndex<\n IndexName extends string,\n VectorField extends ExtractFieldPaths<TableValidator_>,\n FilterFields extends ExtractFieldPaths<TableValidator_> = never,\n >(\n name: IndexName,\n indexConfig: Expand<VectorIndexConfig<VectorField, FilterFields>>,\n ): Table<\n Name_,\n TableSchema_,\n TableValidator_,\n Indexes_,\n SearchIndexes_,\n Expand<\n VectorIndexes_ &\n Record<\n IndexName,\n {\n vectorField: VectorField;\n dimensions: number;\n filterFields: FilterFields;\n }\n >\n >\n >;\n}\n\nexport interface Any {\n readonly [TypeId]: TypeId;\n}\n\nexport type AnyWithProps = Table<\n any,\n Schema.Schema.AnyNoContext,\n GenericValidator,\n GenericTableIndexes,\n GenericTableSearchIndexes,\n GenericTableVectorIndexes\n>;\n\nexport type Name<TableDef extends AnyWithProps> =\n TableDef extends Table<\n infer TableName,\n infer _TableSchema,\n infer _TableValidator,\n infer _Indexes,\n infer _SearchIndexes,\n infer _VectorIndexes\n >\n ? TableName & string\n : never;\n\nexport type TableSchema<TableDef extends AnyWithProps> =\n TableDef extends Table<\n infer _TableName,\n infer TableSchema_,\n infer _TableValidator,\n infer _Indexes,\n infer _SearchIndexes,\n infer _VectorIndexes\n >\n ? TableSchema_\n : never;\n\nexport type TableValidator<TableDef extends AnyWithProps> =\n TableDef extends Table<\n infer _TableName,\n infer _TableSchema,\n infer TableValidator_,\n infer _Indexes,\n infer _SearchIndexes,\n infer _VectorIndexes\n >\n ? TableValidator_\n : never;\n\nexport type Indexes<TableDef extends AnyWithProps> =\n TableDef extends Table<\n infer _TableName,\n infer _TableSchema,\n infer _TableValidator,\n infer Indexes_,\n infer _SearchIndexes,\n infer _VectorIndexes\n >\n ? Indexes_\n : never;\n\nexport type SearchIndexes<TableDef extends AnyWithProps> =\n TableDef extends Table<\n infer _TableName,\n infer _TableSchema,\n infer _TableValidator,\n infer _Indexes,\n infer SearchIndexes_,\n infer _VectorIndexes\n >\n ? SearchIndexes_\n : never;\n\nexport type VectorIndexes<TableDef extends AnyWithProps> =\n TableDef extends Table<\n infer _TableName,\n infer _TableSchema,\n infer _TableValidator,\n infer _Indexes,\n infer _SearchIndexes,\n infer VectorIndexes_\n >\n ? VectorIndexes_\n : never;\n\nexport type Doc<TableDef extends AnyWithProps> =\n TableDef extends Table<\n infer TableName,\n infer TableSchema_,\n infer _TableValidator,\n infer _Indexes,\n infer _SearchIndexes,\n infer _VectorIndexes\n >\n ? SystemFields.ExtendWithSystemFields<TableName, TableSchema_>\n : never;\n\nexport type Fields<TableDef extends AnyWithProps> =\n TableDef extends Table<\n infer _TableName,\n infer TableSchema_,\n infer _TableValidator,\n infer _Indexes,\n infer _SearchIndexes,\n infer _VectorIndexes\n >\n ? TableSchema_\n : never;\n\nexport type WithName<\n TableDef extends AnyWithProps,\n Name_ extends string,\n> = TableDef extends { readonly name: Name_ } ? TableDef : never;\n\nexport type TablesRecord<Tables extends AnyWithProps> = {\n readonly [TableName_ in Name<Tables>]: WithName<Tables, TableName_>;\n};\n\nconst Proto = {\n [TypeId]: TypeId,\n\n index<\n IndexName extends string,\n FirstFieldPath extends string,\n RestFieldPaths extends string[],\n >(\n this: AnyWithProps,\n name: IndexName,\n fields: [FirstFieldPath, ...RestFieldPaths],\n ) {\n return makeProto({\n name: this.name,\n Fields: this.Fields,\n Doc: this.Doc,\n tableDefinition: this.tableDefinition.index(name, fields as any),\n indexes: {\n ...this.indexes,\n [name]: fields,\n },\n });\n },\n\n searchIndex<IndexName extends string, SearchField extends string>(\n this: AnyWithProps,\n name: IndexName,\n indexConfig: SearchIndexConfig<SearchField, any>,\n ) {\n return makeProto({\n name: this.name,\n Fields: this.Fields,\n Doc: this.Doc,\n tableDefinition: this.tableDefinition.searchIndex(name, indexConfig),\n indexes: this.indexes,\n });\n },\n\n vectorIndex<IndexName extends string, VectorField extends string>(\n this: AnyWithProps,\n name: IndexName,\n indexConfig: {\n vectorField: VectorField;\n dimensions: number;\n filterFields?: string[] | undefined;\n },\n ) {\n return makeProto({\n name: this.name,\n Fields: this.Fields,\n Doc: this.Doc,\n tableDefinition: this.tableDefinition.vectorIndex(name, {\n vectorField: indexConfig.vectorField,\n dimensions: indexConfig.dimensions,\n ...(indexConfig.filterFields\n ? { filterFields: indexConfig.filterFields }\n : {}),\n }),\n indexes: this.indexes,\n });\n },\n};\n\nconst makeProto = <\n Name_ extends string,\n TableSchema_ extends Schema.Schema.AnyNoContext,\n TableValidator_ extends Validator<any, any, any>,\n Indexes_ extends GenericTableIndexes,\n SearchIndexes_ extends GenericTableSearchIndexes,\n VectorIndexes_ extends GenericTableVectorIndexes,\n>({\n name,\n Fields,\n Doc,\n tableDefinition,\n indexes,\n}: {\n name: Name_;\n Fields: TableSchema_;\n Doc: SystemFields.ExtendWithSystemFields<Name_, TableSchema_>;\n tableDefinition: TableDefinition<\n TableValidator_,\n Indexes_,\n SearchIndexes_,\n VectorIndexes_\n >;\n indexes: Indexes_;\n}): Table<\n Name_,\n TableSchema_,\n TableValidator_,\n Indexes_,\n SearchIndexes_,\n VectorIndexes_\n> =>\n Object.assign(Object.create(Proto), {\n name,\n Fields,\n Doc,\n tableDefinition,\n indexes,\n });\n\n/**\n * Create a table.\n */\nexport const make = <\n const Name_ extends string,\n TableSchema_ extends Schema.Schema.AnyNoContext,\n TableValidator_ extends GenericValidator =\n TableSchemaToTableValidator<TableSchema_>,\n Indexes_ extends GenericTableIndexes = {},\n SearchIndexes_ extends GenericTableSearchIndexes = {},\n VectorIndexes_ extends GenericTableVectorIndexes = {},\n>(\n name: Name_,\n fields: TableSchema_,\n): Table<\n Name_,\n TableSchema_,\n TableValidator_,\n Indexes_,\n SearchIndexes_,\n VectorIndexes_\n> => {\n const tableValidator = compileTableSchema(fields) as any;\n const tableDefinition = defineTable(tableValidator) as any;\n\n return makeProto<\n Name_,\n TableSchema_,\n TableValidator_,\n Indexes_,\n SearchIndexes_,\n VectorIndexes_\n >({\n name,\n Fields: fields,\n Doc: SystemFields.extendWithSystemFields(name, fields),\n tableDefinition,\n indexes: {} as Indexes_,\n });\n};\n\n// -----------------------------------------------------------------------------\n// System tables\n// -----------------------------------------------------------------------------\n\nexport const scheduledFunctionsTable = make(\n \"_scheduled_functions\",\n Schema.Struct({\n name: Schema.String,\n args: Schema.Array(Schema.Any),\n scheduledTime: Schema.Number,\n completedTime: Schema.optionalWith(Schema.Number, { exact: true }),\n state: Schema.Union(\n Schema.Struct({ kind: Schema.Literal(\"pending\") }),\n Schema.Struct({ kind: Schema.Literal(\"inProgress\") }),\n Schema.Struct({ kind: Schema.Literal(\"success\") }),\n Schema.Struct({\n kind: Schema.Literal(\"failed\"),\n error: Schema.String,\n }),\n Schema.Struct({ kind: Schema.Literal(\"canceled\") }),\n ),\n }),\n);\n\nexport const storageTable = make(\n \"_storage\",\n Schema.Struct({\n sha256: Schema.String,\n size: Schema.Number,\n contentType: Schema.optionalWith(Schema.String, { exact: true }),\n }),\n);\n\nexport const systemTables = {\n _scheduled_functions: scheduledFunctionsTable,\n _storage: storageTable,\n} as const;\n\nexport type SystemTables = typeof scheduledFunctionsTable | typeof storageTable;\n\n// Vendored types from convex-js, partially modified. Ideally we could use these directly. See https://github.com/get-convex/convex-js/pull/14\n\n/**\n * Extract all of the index field paths within a {@link Validator}.\n *\n * This is used within {@link defineTable}.\n * @public\n */\ntype ExtractFieldPaths<T extends Validator<any, any, any>> =\n // Add in the system fields available in index definitions.\n // This should be everything except for `_id` because thats added to indexes\n // automatically.\n T[\"fieldPaths\"] | keyof ConvexSystemFields;\n"],"mappings":";;;;;;;;;;;;;;;AAoBA,MAAa,SAAS;AAGtB,MAAa,WAAW,MACtB,UAAU,YAAY,GAAG,OAAO;AA0NlC,MAAM,QAAQ;EACX,SAAS;CAEV,MAME,MACA,QACA;AACA,SAAO,UAAU;GACf,MAAM,KAAK;GACX,QAAQ,KAAK;GACb,KAAK,KAAK;GACV,iBAAiB,KAAK,gBAAgB,MAAM,MAAM,OAAc;GAChE,SAAS;IACP,GAAG,KAAK;KACP,OAAO;IACT;GACF,CAAC;;CAGJ,YAEE,MACA,aACA;AACA,SAAO,UAAU;GACf,MAAM,KAAK;GACX,QAAQ,KAAK;GACb,KAAK,KAAK;GACV,iBAAiB,KAAK,gBAAgB,YAAY,MAAM,YAAY;GACpE,SAAS,KAAK;GACf,CAAC;;CAGJ,YAEE,MACA,aAKA;AACA,SAAO,UAAU;GACf,MAAM,KAAK;GACX,QAAQ,KAAK;GACb,KAAK,KAAK;GACV,iBAAiB,KAAK,gBAAgB,YAAY,MAAM;IACtD,aAAa,YAAY;IACzB,YAAY,YAAY;IACxB,GAAI,YAAY,eACZ,EAAE,cAAc,YAAY,cAAc,GAC1C,EAAE;IACP,CAAC;GACF,SAAS,KAAK;GACf,CAAC;;CAEL;AAED,MAAM,aAOJ,EACA,MACA,QACA,KACA,iBACA,cAoBA,OAAO,OAAO,OAAO,OAAO,MAAM,EAAE;CAClC;CACA;CACA;CACA;CACA;CACD,CAAC;;;;AAKJ,MAAa,QASX,MACA,WAQG;CAEH,MAAM,kBAAkB,YADD,mBAAmB,OAAO,CACE;AAEnD,QAAO,UAOL;EACA;EACA,QAAQ;EACR,KAAKA,eAAa,uBAAuB,MAAM,OAAO;EACtD;EACA,SAAS,EAAE;EACZ,CAAC;;AAOJ,MAAa,0BAA0B,KACrC,wBACA,OAAO,OAAO;CACZ,MAAM,OAAO;CACb,MAAM,OAAO,MAAM,OAAO,IAAI;CAC9B,eAAe,OAAO;CACtB,eAAe,OAAO,aAAa,OAAO,QAAQ,EAAE,OAAO,MAAM,CAAC;CAClE,OAAO,OAAO,MACZ,OAAO,OAAO,EAAE,MAAM,OAAO,QAAQ,UAAU,EAAE,CAAC,EAClD,OAAO,OAAO,EAAE,MAAM,OAAO,QAAQ,aAAa,EAAE,CAAC,EACrD,OAAO,OAAO,EAAE,MAAM,OAAO,QAAQ,UAAU,EAAE,CAAC,EAClD,OAAO,OAAO;EACZ,MAAM,OAAO,QAAQ,SAAS;EAC9B,OAAO,OAAO;EACf,CAAC,EACF,OAAO,OAAO,EAAE,MAAM,OAAO,QAAQ,WAAW,EAAE,CAAC,CACpD;CACF,CAAC,CACH;AAED,MAAa,eAAe,KAC1B,YACA,OAAO,OAAO;CACZ,QAAQ,OAAO;CACf,MAAM,OAAO;CACb,aAAa,OAAO,aAAa,OAAO,QAAQ,EAAE,OAAO,MAAM,CAAC;CACjE,CAAC,CACH;AAED,MAAa,eAAe;CAC1B,sBAAsB;CACtB,UAAU;CACX"}
|
package/dist/TableInfo.d.ts
CHANGED
|
@@ -42,7 +42,7 @@ type ConvexTableInfo<TableInfo_ extends AnyWithProps> = {
|
|
|
42
42
|
type TableSchema<TableInfo_ extends AnyWithProps> = Schema.Schema<TableInfo_["document"], TableInfo_["encodedDocument"]>;
|
|
43
43
|
type Document<TableInfo_ extends AnyWithProps> = TableInfo_["document"];
|
|
44
44
|
type ExtractFieldPaths<T extends GenericValidator> = T["fieldPaths"] | keyof SystemFields;
|
|
45
|
-
type ExtractConvexDocument<TableName
|
|
45
|
+
type ExtractConvexDocument<TableName extends string, T extends GenericValidator> = Expand<IdField<TableName> & SystemFields & T["type"]> extends GenericDocument ? Expand<IdField<TableName> & SystemFields & T["type"]> : never;
|
|
46
46
|
//#endregion
|
|
47
47
|
export { Any, AnyWithProps, ConvexTableInfo, Document, TableInfo, TableInfo_d_exports, TableSchema, TypeId };
|
|
48
48
|
//# sourceMappingURL=TableInfo.d.ts.map
|
package/dist/TableInfo.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableInfo.d.ts","names":[],"sources":["../src/TableInfo.ts"],"
|
|
1
|
+
{"version":3,"file":"TableInfo.d.ts","names":[],"sources":["../src/TableInfo.ts"],"mappings":";;;;;;;;;;cAgBqB,MAAA;AAAA,KACT,MAAA,UAAgB,MAAA;AAAA,KAEhB,SAAA,gBAAyB,cAAA,IACnC,MAAA,SAAe,KAAA;EAAA,UASC,MAAA,GAAS,MAAA;EAAA,SACV,QAAA,EAAU,MAAA;EAAA,SACV,eAAA,EAAiB,MAAA;EAAA,SACjB,cAAA,EAAgB,qBAAA,CACvB,SAAA,EACA,cAAA;EAAA,SAEO,UAAA,QACC,OAAA,CAAQ,SAAA,IACd,iBAAA,CAAkB,cAAA;EAAA,SACb,OAAA,EAAS,KAAA,CAAM,QAAA,CAAS,OAAA,GAAU,aAAA;EAAA,SAClC,aAAA,EAAe,aAAA;EAAA,SACf,aAAA,EAAe,aAAA;AAAA;AAAA,UAIf,GAAA;EAAA,UACL,MAAA,GAAS,MAAA;AAAA;AAAA,UAGJ,YAAA,SAAqB,GAAA;EAAA,SAC3B,QAAA,EAAU,KAAA;EAAA,SACV,eAAA,EAAiB,UAAA;EAAA,SACjB,cAAA,EAAgB,eAAA;EAAA,SAChB,UAAA,EAAY,iBAAA;EAAA,SACZ,OAAA,EAAS,mBAAA;EAAA,SACT,aAAA,EAAe,yBAAA;EAAA,SACf,aAAA,EAAe,yBAAA;AAAA;AAAA,KAGd,eAAA,oBAAmC,YAAA;EAC7C,QAAA,EAAU,UAAA;EACV,UAAA,EAAY,UAAA;EACZ,OAAA,EAAS,UAAA;EACT,aAAA,EAAe,UAAA;EACf,aAAA,EAAe,UAAA;AAAA;AAAA,KAGL,WAAA,oBAA+B,YAAA,IAAgB,MAAA,CAAO,MAAA,CAChE,UAAA,cACA,UAAA;AAAA,KAGU,QAAA,oBAA4B,YAAA,IAAgB,UAAA;AAAA,KAKnD,iBAAA,WAA4B,gBAAA,IAC7B,CAAA,uBACM,YAAA;AAAA,KAEL,qBAAA,qCAEO,gBAAA,IAEV,MAAA,CAAO,OAAA,CAAQ,SAAA,IAAa,YAAA,GAAe,CAAA,kBAAmB,eAAA,GAC1D,MAAA,CAAO,OAAA,CAAQ,SAAA,IAAa,YAAA,GAAe,CAAA"}
|
package/dist/TableInfo.js
CHANGED
package/dist/TableInfo.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableInfo.js","names":[],"sources":["../src/TableInfo.ts"],"sourcesContent":["import type {\n Expand,\n GenericDocument,\n GenericFieldPaths,\n GenericTableIndexes,\n GenericTableSearchIndexes,\n GenericTableVectorIndexes,\n IdField,\n SystemFields,\n SystemIndexes,\n} from \"convex/server\";\nimport type { GenericValidator } from \"convex/values\";\nimport type { Schema, Types } from \"effect\";\nimport type * as Document_ from \"./Document\";\nimport type * as Table from \"./Table\";\n\nexport declare const TypeId: \"@confect/server/TableInfo\";\nexport type TypeId = typeof TypeId;\n\nexport type TableInfo<Table_ extends Table.AnyWithProps> =\n Table_ extends Table.Table<\n infer TableName,\n infer _TableSchema,\n infer TableValidator,\n infer Indexes,\n infer SearchIndexes,\n infer VectorIndexes\n >\n ? {\n readonly [TypeId]: TypeId;\n readonly document: Table_[\"Doc\"][\"Type\"];\n readonly encodedDocument: Table_[\"Doc\"][\"Encoded\"];\n
|
|
1
|
+
{"version":3,"file":"TableInfo.js","names":[],"sources":["../src/TableInfo.ts"],"sourcesContent":["import type {\n Expand,\n GenericDocument,\n GenericFieldPaths,\n GenericTableIndexes,\n GenericTableSearchIndexes,\n GenericTableVectorIndexes,\n IdField,\n SystemFields,\n SystemIndexes,\n} from \"convex/server\";\nimport type { GenericValidator } from \"convex/values\";\nimport type { Schema, Types } from \"effect\";\nimport type * as Document_ from \"./Document\";\nimport type * as Table from \"./Table\";\n\nexport declare const TypeId: \"@confect/server/TableInfo\";\nexport type TypeId = typeof TypeId;\n\nexport type TableInfo<Table_ extends Table.AnyWithProps> =\n Table_ extends Table.Table<\n infer TableName,\n infer _TableSchema,\n infer TableValidator,\n infer Indexes,\n infer SearchIndexes,\n infer VectorIndexes\n >\n ? {\n readonly [TypeId]: TypeId;\n readonly document: Table_[\"Doc\"][\"Type\"];\n readonly encodedDocument: Table_[\"Doc\"][\"Encoded\"];\n readonly convexDocument: ExtractConvexDocument<\n TableName,\n TableValidator\n >;\n readonly fieldPaths:\n | keyof IdField<TableName>\n | ExtractFieldPaths<TableValidator>;\n readonly indexes: Types.Simplify<Indexes & SystemIndexes>;\n readonly searchIndexes: SearchIndexes;\n readonly vectorIndexes: VectorIndexes;\n }\n : never;\n\nexport interface Any {\n readonly [TypeId]: TypeId;\n}\n\nexport interface AnyWithProps extends Any {\n readonly document: Document_.Any;\n readonly encodedDocument: Document_.AnyEncoded;\n readonly convexDocument: GenericDocument;\n readonly fieldPaths: GenericFieldPaths;\n readonly indexes: GenericTableIndexes;\n readonly searchIndexes: GenericTableSearchIndexes;\n readonly vectorIndexes: GenericTableVectorIndexes;\n}\n\nexport type ConvexTableInfo<TableInfo_ extends AnyWithProps> = {\n document: TableInfo_[\"convexDocument\"];\n fieldPaths: TableInfo_[\"fieldPaths\"];\n indexes: TableInfo_[\"indexes\"];\n searchIndexes: TableInfo_[\"searchIndexes\"];\n vectorIndexes: TableInfo_[\"vectorIndexes\"];\n};\n\nexport type TableSchema<TableInfo_ extends AnyWithProps> = Schema.Schema<\n TableInfo_[\"document\"],\n TableInfo_[\"encodedDocument\"]\n>;\n\nexport type Document<TableInfo_ extends AnyWithProps> = TableInfo_[\"document\"];\n\n// Vendored types from convex-js, partially modified.\n// See https://github.com/get-convex/convex-js/pull/14\n\ntype ExtractFieldPaths<T extends GenericValidator> =\n | T[\"fieldPaths\"]\n | keyof SystemFields;\n\ntype ExtractConvexDocument<\n TableName extends string,\n T extends GenericValidator,\n> =\n Expand<IdField<TableName> & SystemFields & T[\"type\"]> extends GenericDocument\n ? Expand<IdField<TableName> & SystemFields & T[\"type\"]>\n : never;\n\n// End of vendored types from convex-js, partially modified.\n"],"mappings":""}
|
package/dist/VectorSearch.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { AnyWithProps, TableNames, ToConvex } from "./DataModel.js";
|
|
2
2
|
import { Context, Effect, Layer } from "effect";
|
|
3
|
-
import * as
|
|
3
|
+
import * as convex_server0 from "convex/server";
|
|
4
4
|
import { Expand, GenericActionCtx, NamedTableInfo, VectorIndexNames, VectorSearchQuery } from "convex/server";
|
|
5
5
|
import { GenericId } from "convex/values";
|
|
6
6
|
|
|
@@ -13,26 +13,26 @@ declare const make: <DataModel_ extends AnyWithProps>(vectorSearch: ConvexVector
|
|
|
13
13
|
_id: GenericId<TableName>;
|
|
14
14
|
_score: number;
|
|
15
15
|
}>>;
|
|
16
|
-
declare const VectorSearch: <DataModel_ extends AnyWithProps>() => Context.Tag<(<TableName extends TableNames<DataModel_>, IndexName extends keyof
|
|
16
|
+
declare const VectorSearch: <DataModel_ extends AnyWithProps>() => Context.Tag<(<TableName extends TableNames<DataModel_>, IndexName extends keyof convex_server0.VectorIndexes<NamedTableInfo<ToConvex<DataModel_>, TableName>>>(tableName: TableName, indexName: IndexName, query: {
|
|
17
17
|
vector: number[];
|
|
18
18
|
limit?: number;
|
|
19
|
-
filter?: (q:
|
|
19
|
+
filter?: (q: convex_server0.VectorFilterBuilder<convex_server0.DocumentByInfo<NamedTableInfo<ToConvex<DataModel_>, TableName>>, convex_server0.NamedVectorIndex<NamedTableInfo<ToConvex<DataModel_>, TableName>, IndexName>>) => convex_server0.FilterExpression<boolean>;
|
|
20
20
|
}) => Effect.Effect<{
|
|
21
21
|
_id: GenericId<TableName>;
|
|
22
22
|
_score: number;
|
|
23
|
-
}[], never, never>), <TableName extends TableNames<DataModel_>, IndexName extends keyof
|
|
23
|
+
}[], never, never>), <TableName extends TableNames<DataModel_>, IndexName extends keyof convex_server0.VectorIndexes<NamedTableInfo<ToConvex<DataModel_>, TableName>>>(tableName: TableName, indexName: IndexName, query: {
|
|
24
24
|
vector: number[];
|
|
25
25
|
limit?: number;
|
|
26
|
-
filter?: (q:
|
|
26
|
+
filter?: (q: convex_server0.VectorFilterBuilder<convex_server0.DocumentByInfo<NamedTableInfo<ToConvex<DataModel_>, TableName>>, convex_server0.NamedVectorIndex<NamedTableInfo<ToConvex<DataModel_>, TableName>, IndexName>>) => convex_server0.FilterExpression<boolean>;
|
|
27
27
|
}) => Effect.Effect<{
|
|
28
28
|
_id: GenericId<TableName>;
|
|
29
29
|
_score: number;
|
|
30
30
|
}[], never, never>>;
|
|
31
31
|
type VectorSearch<DataModel_ extends AnyWithProps> = ReturnType<typeof VectorSearch<DataModel_>>["Identifier"];
|
|
32
|
-
declare const layer: <DataModel_ extends AnyWithProps>(vectorSearch: ConvexVectorSearch<DataModel_>) => Layer.Layer<(<TableName extends TableNames<DataModel_>, IndexName extends keyof
|
|
32
|
+
declare const layer: <DataModel_ extends AnyWithProps>(vectorSearch: ConvexVectorSearch<DataModel_>) => Layer.Layer<(<TableName extends TableNames<DataModel_>, IndexName extends keyof convex_server0.VectorIndexes<NamedTableInfo<ToConvex<DataModel_>, TableName>>>(tableName: TableName, indexName: IndexName, query: {
|
|
33
33
|
vector: number[];
|
|
34
34
|
limit?: number;
|
|
35
|
-
filter?: (q:
|
|
35
|
+
filter?: (q: convex_server0.VectorFilterBuilder<convex_server0.DocumentByInfo<NamedTableInfo<ToConvex<DataModel_>, TableName>>, convex_server0.NamedVectorIndex<NamedTableInfo<ToConvex<DataModel_>, TableName>, IndexName>>) => convex_server0.FilterExpression<boolean>;
|
|
36
36
|
}) => Effect.Effect<{
|
|
37
37
|
_id: GenericId<TableName>;
|
|
38
38
|
_score: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VectorSearch.d.ts","names":[],"sources":["../src/VectorSearch.ts"],"
|
|
1
|
+
{"version":3,"file":"VectorSearch.d.ts","names":[],"sources":["../src/VectorSearch.ts"],"mappings":";;;;;;;;;;KAWK,kBAAA,oBAAsC,YAAA,IACzC,gBAAA,CAAiB,QAAA,CAAmB,UAAA;AAAA,cAEzB,IAAA,sBACS,YAAA,EAClB,YAAA,EAAc,kBAAA,CAAmB,UAAA,yBAGf,UAAA,CAAqB,UAAA,qBACrB,gBAAA,CAChB,cAAA,CAAe,QAAA,CAAmB,UAAA,GAAa,SAAA,IAGjD,SAAA,EAAW,SAAA,EACX,SAAA,EAAW,SAAA,EACX,KAAA,EAAO,MAAA,CACL,iBAAA,CACE,cAAA,CAAe,QAAA,CAAmB,UAAA,GAAa,SAAA,GAC/C,SAAA,OAGH,MAAA,CAAO,MAAA,CAAO,KAAA;EAAQ,GAAA,EAAK,SAAA,CAAU,SAAA;EAAY,MAAA;AAAA;AAAA,cAGzC,YAAA,sBAAmC,YAAA,OAAsB,OAAA,CAAA,GAAA,qBAhBzD,UAAA,CAAA,UAAA,2BACA,cAAA,CAAA,aAAA,CAAA,cAAA,CAAA,QAAA,CAAA,UAAA,GAAA,SAAA,IAAA,SAAA,EAAA,SAAA,EAAA,SAAA,EAAA,SAAA,EAAA,KAAA;;;;;;;wCADA,UAAA,CAAA,UAAA,2BACA,cAAA,CAAA,aAAA,CAAA,cAAA,CAAA,QAAA,CAAA,UAAA,GAAA,SAAA,IAAA,SAAA,EAAA,SAAA,EAAA,SAAA,EAAA,SAAA,EAAA,KAAA;;;;;;;;KAoBD,YAAA,oBAAgC,YAAA,IAC1C,UAAA,QAAkB,YAAA,CAAa,UAAA;AAAA,cAEpB,KAAA,sBAA4B,YAAA,EACvC,YAAA,EAAc,kBAAA,CAAmB,UAAA,MAAW,KAAA,CAAA,KAAA,qBAzBjC,UAAA,CAAA,UAAA,2BACA,cAAA,CAAA,aAAA,CAAA,cAAA,CAAA,QAAA,CAAA,UAAA,GAAA,SAAA,IAAA,SAAA,EAAA,SAAA,EAAA,SAAA,EAAA,SAAA,EAAA,KAAA"}
|
package/dist/VectorSearch.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { __exportAll } from "./_virtual/_rolldown/runtime.js";
|
|
2
2
|
import { Context, Effect, Layer } from "effect";
|
|
3
3
|
|
|
4
4
|
//#region src/VectorSearch.ts
|
|
5
|
-
var VectorSearch_exports = /* @__PURE__ */
|
|
5
|
+
var VectorSearch_exports = /* @__PURE__ */ __exportAll({
|
|
6
6
|
VectorSearch: () => VectorSearch,
|
|
7
7
|
layer: () => layer,
|
|
8
8
|
make: () => make
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
//#region \0rolldown/runtime.js
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __exportAll = (all, no_symbols) => {
|
|
4
|
+
let target = {};
|
|
5
|
+
for (var name in all) {
|
|
6
|
+
__defProp(target, name, {
|
|
7
|
+
get: all[name],
|
|
8
|
+
enumerable: true
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
if (!no_symbols) {
|
|
12
|
+
__defProp(target, Symbol.toStringTag, { value: "Module" });
|
|
13
|
+
}
|
|
14
|
+
return target;
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
//#endregion
|
|
18
|
+
export { __exportAll };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","names":[],"sources":["../../src/internal/utils.ts"],"
|
|
1
|
+
{"version":3,"file":"utils.d.ts","names":[],"sources":["../../src/internal/utils.ts"],"mappings":";;;KAGK,YAAA;EAAA,CACF,GAAA,WAAc,CAAA,GAAI,YAAA,CAAa,CAAA;AAAA;AAAA,cAGrB,SAAA,SACX,GAAA,EAAK,YAAA,CAAa,CAAA,GAClB,cAAA,EAAgB,SAAA,CAAU,UAAA,UAAoB,CAAA,GAC9C,CAAA,GAAI,KAAA,EAAO,CAAA,KAAM,CAAA,KAChB,YAAA,CAAa,CAAA;AAAA,cAyCH,mBAAA,eACX,GAAA,EAAK,YAAA,CAAa,CAAA,GAClB,cAAA,EAAgB,SAAA,CAAU,UAAA,UAAoB,CAAA,GAC9C,CAAA,GAAI,YAAA;EACF,IAAA;EACA,MAAA,EAAQ,MAAA,SAAe,CAAA;AAAA,MACnB,MAAA,CAAO,MAAA,CAAO,CAAA,EAAG,CAAA,EAAG,CAAA,MACzB,MAAA,CAAO,MAAA,OAAa,CAAA,EAAG,CAAA;AAAA,cAOb,iBAAA,qBACX,GAAA,EAAK,CAAA,EACL,IAAA,EAAM,WAAA,IACN,KAAA,UACC,CAAA"}
|
package/dist/internal/utils.js
CHANGED
|
@@ -30,10 +30,10 @@ const forEachBranchLeaves = (obj, leafRefinement, f) => {
|
|
|
30
30
|
const setNestedProperty = (obj, path, value) => {
|
|
31
31
|
if (path.length === 0) return obj;
|
|
32
32
|
if (path.length === 1) {
|
|
33
|
-
const key
|
|
33
|
+
const key = path[0];
|
|
34
34
|
return {
|
|
35
35
|
...obj,
|
|
36
|
-
[key
|
|
36
|
+
[key]: value
|
|
37
37
|
};
|
|
38
38
|
}
|
|
39
39
|
const [head, ...tail] = path;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","names":[
|
|
1
|
+
{"version":3,"file":"utils.js","names":[],"sources":["../../src/internal/utils.ts"],"sourcesContent":["import type { Predicate } from \"effect\";\nimport { Array, Effect, Record } from \"effect\";\n\ntype NestedObject<T> = {\n [key: string]: T | NestedObject<T>;\n};\n\nexport const mapLeaves = <T, U>(\n obj: NestedObject<T>,\n leafRefinement: Predicate.Refinement<unknown, T>,\n f: (value: T) => U,\n): NestedObject<U> => {\n const result: any = {};\n\n for (const key in obj) {\n const value = obj[key];\n\n if (leafRefinement(value)) {\n result[key] = f(value as T);\n } else {\n result[key] = mapLeaves(value as NestedObject<T>, leafRefinement, f);\n }\n }\n\n return result;\n};\n\nconst collectBranchLeaves = <T>(\n obj: NestedObject<T>,\n leafRefinement: Predicate.Refinement<unknown, T>,\n path: string[] = [],\n): { path: string[]; values: Record<string, T> }[] => {\n const leaves = Record.filter(obj, leafRefinement) as Record<string, T>;\n const hasLeaves = Record.keys(leaves).length > 0;\n\n const currentBranch = hasLeaves ? [{ path, values: leaves }] : [];\n\n const nestedBranches = Array.flatMap(Record.keys(obj), (key) => {\n const value = obj[key];\n\n if (!leafRefinement(value) && typeof value === \"object\") {\n return collectBranchLeaves(value as NestedObject<T>, leafRefinement, [\n ...path,\n key,\n ]);\n }\n return [];\n });\n\n return [...currentBranch, ...nestedBranches];\n};\n\nexport const forEachBranchLeaves = <T, A, E, R>(\n obj: NestedObject<T>,\n leafRefinement: Predicate.Refinement<unknown, T>,\n f: (branchLeaves: {\n path: string[];\n values: Record<string, T>;\n }) => Effect.Effect<A, E, R>,\n): Effect.Effect<void, E, R> => {\n const branchLeaves = collectBranchLeaves(obj, leafRefinement);\n return Effect.forEach(branchLeaves, f, {\n discard: true,\n });\n};\n\nexport const setNestedProperty = <T extends object>(\n obj: T,\n path: PropertyKey[],\n value: any,\n): T => {\n if (path.length === 0) {\n return obj;\n }\n\n if (path.length === 1) {\n const key = path[0] as keyof T;\n return { ...obj, [key]: value };\n }\n\n const [head, ...tail] = path;\n const key = head as keyof T;\n return {\n ...obj,\n [key]: setNestedProperty((obj as any)[key] ?? {}, tail, value),\n };\n};\n"],"mappings":";;;AAOA,MAAa,aACX,KACA,gBACA,MACoB;CACpB,MAAM,SAAc,EAAE;AAEtB,MAAK,MAAM,OAAO,KAAK;EACrB,MAAM,QAAQ,IAAI;AAElB,MAAI,eAAe,MAAM,CACvB,QAAO,OAAO,EAAE,MAAW;MAE3B,QAAO,OAAO,UAAU,OAA0B,gBAAgB,EAAE;;AAIxE,QAAO;;AAGT,MAAM,uBACJ,KACA,gBACA,OAAiB,EAAE,KACiC;CACpD,MAAM,SAAS,OAAO,OAAO,KAAK,eAAe;CAGjD,MAAM,gBAFY,OAAO,KAAK,OAAO,CAAC,SAAS,IAEb,CAAC;EAAE;EAAM,QAAQ;EAAQ,CAAC,GAAG,EAAE;CAEjE,MAAM,iBAAiB,MAAM,QAAQ,OAAO,KAAK,IAAI,GAAG,QAAQ;EAC9D,MAAM,QAAQ,IAAI;AAElB,MAAI,CAAC,eAAe,MAAM,IAAI,OAAO,UAAU,SAC7C,QAAO,oBAAoB,OAA0B,gBAAgB,CACnE,GAAG,MACH,IACD,CAAC;AAEJ,SAAO,EAAE;GACT;AAEF,QAAO,CAAC,GAAG,eAAe,GAAG,eAAe;;AAG9C,MAAa,uBACX,KACA,gBACA,MAI8B;CAC9B,MAAM,eAAe,oBAAoB,KAAK,eAAe;AAC7D,QAAO,OAAO,QAAQ,cAAc,GAAG,EACrC,SAAS,MACV,CAAC;;AAGJ,MAAa,qBACX,KACA,MACA,UACM;AACN,KAAI,KAAK,WAAW,EAClB,QAAO;AAGT,KAAI,KAAK,WAAW,GAAG;EACrB,MAAM,MAAM,KAAK;AACjB,SAAO;GAAE,GAAG;IAAM,MAAM;GAAO;;CAGjC,MAAM,CAAC,MAAM,GAAG,QAAQ;CACxB,MAAM,MAAM;AACZ,QAAO;EACL,GAAG;GACF,MAAM,kBAAmB,IAAY,QAAQ,EAAE,EAAE,MAAM,MAAM;EAC/D"}
|