kitcn 0.27.0 → 0.27.1
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 +23 -0
- package/dist/aggregate/index.d.ts +1 -1
- package/dist/auth/generated/index.d.ts +1 -1
- package/dist/auth/index.d.ts +6 -6
- package/dist/{generated-contract-disabled-DwYwySy3.d.ts → generated-contract-disabled-BEc4d98x.d.ts} +2 -2
- package/dist/orm/index.d.ts +1 -1
- package/dist/orm/migrations/index.d.ts +1 -1
- package/dist/react/index.js +43 -18
- package/dist/rsc/index.js +7 -2
- package/dist/solid/index.js +43 -18
- package/dist/{where-clause-compiler-DAPEBp1y.d.ts → where-clause-compiler-CErbOMvj.d.ts} +73 -73
- package/package.json +1 -1
- package/skills/kitcn/references/features/react.md +10 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,28 @@
|
|
|
1
1
|
# kitcn
|
|
2
2
|
|
|
3
|
+
## 0.27.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [#396](https://github.com/udecode/kitcn/pull/396) [`8fca5cc`](https://github.com/udecode/kitcn/commit/8fca5cc53c37bd6f651cfbfbf50b87d5461d0ce5) Thanks [@MikeyZhang75](https://github.com/MikeyZhang75)! - ## Patches
|
|
8
|
+
|
|
9
|
+
- Match every args variant from `crpc.<path>.queryFilter()` when `args` is
|
|
10
|
+
omitted, `null`, or `{}`, in both the React and Solid bindings. The filter
|
|
11
|
+
built a key with an empty args slot, which TanStack's partial matching never
|
|
12
|
+
matched, so `invalidateQueries` silently refreshed nothing and stale data
|
|
13
|
+
stayed on screen. Pass args to narrow the filter; omit them to reach every
|
|
14
|
+
variant. `crpc.http.*.queryFilter()` follows the same rule.
|
|
15
|
+
|
|
16
|
+
```ts
|
|
17
|
+
// Before
|
|
18
|
+
crpc.analytics.getReport.queryFilter(); // ['convexQuery', 'analytics:getReport', undefined] — matched nothing
|
|
19
|
+
queryClient.invalidateQueries(crpc.analytics.getReport.queryFilter()); // no-op
|
|
20
|
+
|
|
21
|
+
// After
|
|
22
|
+
crpc.analytics.getReport.queryFilter(); // ['convexQuery', 'analytics:getReport']
|
|
23
|
+
queryClient.invalidateQueries(crpc.analytics.getReport.queryFilter()); // every args variant
|
|
24
|
+
```
|
|
25
|
+
|
|
3
26
|
## 0.27.0
|
|
4
27
|
|
|
5
28
|
### Minor Changes
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Bn as ConvexTextBuilderInitial, Xt as ConvexTableWithColumns } from "../capabilities-CLCYgRdY.js";
|
|
2
|
-
import { C as ConvexNumberBuilderInitial, E as ConvexIdBuilderInitial, N as ConvexCustomBuilderInitial } from "../where-clause-compiler-
|
|
2
|
+
import { C as ConvexNumberBuilderInitial, E as ConvexIdBuilderInitial, N as ConvexCustomBuilderInitial } from "../where-clause-compiler-CErbOMvj.js";
|
|
3
3
|
import * as convex_values0 from "convex/values";
|
|
4
4
|
import { GenericId, Infer, Value } from "convex/values";
|
|
5
5
|
import { DocumentByName, GenericDataModel, GenericDatabaseReader, GenericDatabaseWriter, TableNamesInDataModel } from "convex/server";
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { S as defineAuth, _ as GenericAuthBeforeResult, b as GenericAuthTriggerHandlers, g as BetterAuthOptionsWithoutDatabase, i as getGeneratedAuthDisabledReason, n as GeneratedAuthDisabledReasonKind, r as createDisabledAuthRuntime, t as AuthRuntime, v as GenericAuthDefinition, x as GenericAuthTriggers, y as GenericAuthTriggerChange } from "../../generated-contract-disabled-
|
|
1
|
+
import { S as defineAuth, _ as GenericAuthBeforeResult, b as GenericAuthTriggerHandlers, g as BetterAuthOptionsWithoutDatabase, i as getGeneratedAuthDisabledReason, n as GeneratedAuthDisabledReasonKind, r as createDisabledAuthRuntime, t as AuthRuntime, v as GenericAuthDefinition, x as GenericAuthTriggers, y as GenericAuthTriggerChange } from "../../generated-contract-disabled-BEc4d98x.js";
|
|
2
2
|
export { type AuthRuntime, BetterAuthOptionsWithoutDatabase, type GeneratedAuthDisabledReasonKind, GenericAuthBeforeResult, GenericAuthDefinition, GenericAuthTriggerChange, GenericAuthTriggerHandlers, GenericAuthTriggers, createDisabledAuthRuntime, defineAuth, getGeneratedAuthDisabledReason };
|
package/dist/auth/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { a as QueryCtxWithPreferredOrmQueryTable, n as LookupByIdResultByCtx, t as DocByCtx } from "../query-context-DJONf8X5.js";
|
|
2
2
|
import { t as GetAuth } from "../types-Bf3XQex5.js";
|
|
3
3
|
import { t as GenericCtx } from "../context-utils-DwZ3Cam1.js";
|
|
4
|
-
import { S as defineAuth, _ as GenericAuthBeforeResult, a as AuthFunctions, b as GenericAuthTriggerHandlers, c as createApi, d as deleteOneHandler, f as findManyHandler, g as BetterAuthOptionsWithoutDatabase, h as updateOneHandler, i as getGeneratedAuthDisabledReason, l as createHandler, m as updateManyHandler, n as GeneratedAuthDisabledReasonKind, o as Triggers, p as findOneHandler, r as createDisabledAuthRuntime, s as createClient, t as AuthRuntime, u as deleteManyHandler, v as GenericAuthDefinition, x as GenericAuthTriggers, y as GenericAuthTriggerChange } from "../generated-contract-disabled-
|
|
4
|
+
import { S as defineAuth, _ as GenericAuthBeforeResult, a as AuthFunctions, b as GenericAuthTriggerHandlers, c as createApi, d as deleteOneHandler, f as findManyHandler, g as BetterAuthOptionsWithoutDatabase, h as updateOneHandler, i as getGeneratedAuthDisabledReason, l as createHandler, m as updateManyHandler, n as GeneratedAuthDisabledReasonKind, o as Triggers, p as findOneHandler, r as createDisabledAuthRuntime, s as createClient, t as AuthRuntime, u as deleteManyHandler, v as GenericAuthDefinition, x as GenericAuthTriggers, y as GenericAuthTriggerChange } from "../generated-contract-disabled-BEc4d98x.js";
|
|
5
5
|
import * as convex_values0 from "convex/values";
|
|
6
6
|
import { Infer } from "convex/values";
|
|
7
7
|
import { AuthConfig, DocumentByName, GenericDataModel, GenericMutationCtx, GenericQueryCtx, GenericSchema, PaginationOptions, PaginationResult, SchemaDefinition, TableNamesInDataModel } from "convex/server";
|
|
@@ -123,7 +123,6 @@ declare const adapterWhereValidator: convex_values0.VObject<{
|
|
|
123
123
|
value: convex_values0.VUnion<string | number | boolean | string[] | number[] | null, [convex_values0.VString<string, "required">, convex_values0.VFloat64<number, "required">, convex_values0.VBoolean<boolean, "required">, convex_values0.VArray<string[], convex_values0.VString<string, "required">, "required">, convex_values0.VArray<number[], convex_values0.VFloat64<number, "required">, "required">, convex_values0.VNull<null, "required">], "required", never>;
|
|
124
124
|
}, "required", "mode" | "value" | "connector" | "field" | "operator">;
|
|
125
125
|
declare const adapterArgsValidator: convex_values0.VObject<{
|
|
126
|
-
limit?: number | undefined;
|
|
127
126
|
select?: string[] | undefined;
|
|
128
127
|
where?: {
|
|
129
128
|
mode?: "sensitive" | "insensitive" | undefined;
|
|
@@ -132,10 +131,11 @@ declare const adapterArgsValidator: convex_values0.VObject<{
|
|
|
132
131
|
value: string | number | boolean | string[] | number[] | null;
|
|
133
132
|
field: string;
|
|
134
133
|
}[] | undefined;
|
|
134
|
+
limit?: number | undefined;
|
|
135
135
|
offset?: number | undefined;
|
|
136
136
|
sortBy?: {
|
|
137
|
-
direction: "asc" | "desc";
|
|
138
137
|
field: string;
|
|
138
|
+
direction: "asc" | "desc";
|
|
139
139
|
} | undefined;
|
|
140
140
|
model: string;
|
|
141
141
|
}, {
|
|
@@ -144,12 +144,12 @@ declare const adapterArgsValidator: convex_values0.VObject<{
|
|
|
144
144
|
offset: convex_values0.VFloat64<number | undefined, "optional">;
|
|
145
145
|
select: convex_values0.VArray<string[] | undefined, convex_values0.VString<string, "required">, "optional">;
|
|
146
146
|
sortBy: convex_values0.VObject<{
|
|
147
|
-
direction: "asc" | "desc";
|
|
148
147
|
field: string;
|
|
148
|
+
direction: "asc" | "desc";
|
|
149
149
|
} | undefined, {
|
|
150
150
|
direction: convex_values0.VUnion<"asc" | "desc", [convex_values0.VLiteral<"asc", "required">, convex_values0.VLiteral<"desc", "required">], "required", never>;
|
|
151
151
|
field: convex_values0.VString<string, "required">;
|
|
152
|
-
}, "optional", "
|
|
152
|
+
}, "optional", "field" | "direction">;
|
|
153
153
|
where: convex_values0.VArray<{
|
|
154
154
|
mode?: "sensitive" | "insensitive" | undefined;
|
|
155
155
|
connector?: "AND" | "OR" | undefined;
|
|
@@ -169,7 +169,7 @@ declare const adapterArgsValidator: convex_values0.VObject<{
|
|
|
169
169
|
operator: convex_values0.VUnion<"lt" | "lte" | "gt" | "gte" | "eq" | "in" | "not_in" | "ne" | "contains" | "starts_with" | "ends_with" | undefined, [convex_values0.VLiteral<"lt", "required">, convex_values0.VLiteral<"lte", "required">, convex_values0.VLiteral<"gt", "required">, convex_values0.VLiteral<"gte", "required">, convex_values0.VLiteral<"eq", "required">, convex_values0.VLiteral<"in", "required">, convex_values0.VLiteral<"not_in", "required">, convex_values0.VLiteral<"ne", "required">, convex_values0.VLiteral<"contains", "required">, convex_values0.VLiteral<"starts_with", "required">, convex_values0.VLiteral<"ends_with", "required">], "optional", never>;
|
|
170
170
|
value: convex_values0.VUnion<string | number | boolean | string[] | number[] | null, [convex_values0.VString<string, "required">, convex_values0.VFloat64<number, "required">, convex_values0.VBoolean<boolean, "required">, convex_values0.VArray<string[], convex_values0.VString<string, "required">, "required">, convex_values0.VArray<number[], convex_values0.VFloat64<number, "required">, "required">, convex_values0.VNull<null, "required">], "required", never>;
|
|
171
171
|
}, "required", "mode" | "value" | "connector" | "field" | "operator">, "optional">;
|
|
172
|
-
}, "required", "
|
|
172
|
+
}, "required", "model" | "select" | "where" | "limit" | "offset" | "sortBy" | "sortBy.field" | "sortBy.direction">;
|
|
173
173
|
declare const hasUniqueFields: (betterAuthSchema: BetterAuthDBSchema, model: string, input: Record<string, any>) => boolean;
|
|
174
174
|
declare const checkUniqueFields: <Schema extends SchemaDefinition<any, any>>(ctx: GenericQueryCtx<GenericDataModel>, schema: Schema, betterAuthSchema: BetterAuthDBSchema, table: string, input: Record<string, any>, doc?: Record<string, any>) => Promise<void>;
|
|
175
175
|
declare const selectFields: <T extends TableNamesInDataModel<GenericDataModel>, D extends DocumentByName<GenericDataModel, T>>(doc: D | null, select?: string[]) => D | null;
|
package/dist/{generated-contract-disabled-DwYwySy3.d.ts → generated-contract-disabled-BEc4d98x.d.ts}
RENAMED
|
@@ -224,7 +224,6 @@ declare const createApi: <Schema extends SchemaDefinition<any, any>, DataModel e
|
|
|
224
224
|
};
|
|
225
225
|
}, Promise<Record<string, unknown> | undefined>>;
|
|
226
226
|
findMany: convex_server0.RegisteredQuery<"internal", {
|
|
227
|
-
limit?: number | undefined;
|
|
228
227
|
join?: any;
|
|
229
228
|
where?: {
|
|
230
229
|
mode?: "sensitive" | "insensitive" | undefined;
|
|
@@ -233,10 +232,11 @@ declare const createApi: <Schema extends SchemaDefinition<any, any>, DataModel e
|
|
|
233
232
|
value: string | number | boolean | string[] | number[] | null;
|
|
234
233
|
field: string;
|
|
235
234
|
}[] | undefined;
|
|
235
|
+
limit?: number | undefined;
|
|
236
236
|
offset?: number | undefined;
|
|
237
237
|
sortBy?: {
|
|
238
|
-
direction: "asc" | "desc";
|
|
239
238
|
field: string;
|
|
239
|
+
direction: "asc" | "desc";
|
|
240
240
|
} | undefined;
|
|
241
241
|
model: string;
|
|
242
242
|
paginationOpts: {
|
package/dist/orm/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { $n as BinaryExpression, $t as OrmLifecycleOperation, A as DatabaseWithMutations, An as ConvexCheckConfig, Ar as AnyColumn, At as VectorQueryConfig, B as RlsContext, Bn as ConvexTextBuilderInitial, Br as IsUnique, Bt as RelationsBuilderColumnConfig, C as MigrationTableName, Cn as aggregateIndex, Cr as notBetween, Ct as OrderDirection, D as defineMigrationSet, Dn as uniqueIndex, Dt as ReturningResult, E as defineMigration, En as searchIndex, Er as startsWith, Et as ReturningAll, Fn as ConvexUniqueConstraintConfig, Fr as ColumnBuilderWithTableName, Ft as ExtractTablesWithRelations, Gt as defineRelations, H as EdgeMetadata, In as check, Ir as ColumnDataType, It as ManyConfig, Jt as ConvexDeletionConfig, Kt as defineRelationsPart, Ln as foreignKey, Lr as DrizzleEntity, Lt as OneConfig, M as OrmReader$1, Mn as ConvexForeignKeyConfig, Mr as ColumnBuilderBaseConfig, Mt as unsetToken, N as OrmWriter$1, Nn as ConvexUniqueConstraintBuilder, Nr as ColumnBuilderRuntimeConfig, O as detectMigrationDrift, On as vectorIndex, Or as SystemFields, Ot as ReturningSelection, Pn as ConvexUniqueConstraintBuilderOn, Pr as ColumnBuilderTypeConfig, Pt as ExtractTablesFromSchema, Qn as TableName, Qt as OrmLifecycleChange, Rn as unique, Rr as HasDefault, Rt as RelationsBuilder, S as MigrationStep, Sn as ConvexVectorIndexConfig, Sr as not, St as OrderByClause, T as buildMigrationPlan, Tn as rankIndex, Tr as or, Tt as PredicateWhereIndexConfig, U as extractRelationsConfig, Un as Brand, Ut as TableRelationalConfig, V as RlsMode, Vn as text, Vr as NotNull, Wn as Columns, Wt as TablesRelationalConfig, Xn as OrmSchemaRelations, Xt as ConvexTableWithColumns, Yn as OrmSchemaExtensions, Yt as ConvexTable, Zn as OrmSchemaTriggers, Zt as DiscriminatorBuilderConfig, _ as MigrationMigrateOne, _n as ConvexSearchIndexBuilder, _r as isNull, _t as MutationPaginateConfig, an as RlsPolicyConfig, ar as and, at as CountConfig, b as MigrationSet, bn as ConvexVectorIndexBuilder, br as lte, bt as MutationReturning, cn as RlsRole, cr as endsWith, ct as FilterOperators, d as MigrationDefinition, dn as ConvexAggregateIndexBuilder, dr as gt, dt as InferModelFromColumns, en as TableConfig, er as ExpressionVisitor, et as AggregateConfig, f as MigrationDirection, fn as ConvexAggregateIndexBuilderOn, fr as gte, ft as InferSelectModel, g as MigrationManifestEntry, gn as ConvexRankIndexBuilderOn, gr as isNotNull, gt as MutationExecutionMode, h as MigrationDriftIssue, hn as ConvexRankIndexBuilder, hr as isFieldReference, ht as MutationExecuteResult, i as OrmMigrationCapability, in as RlsPolicy, ir as UnaryExpression, it as BuildRelationResult, j as DatabaseWithQuery, jn as ConvexForeignKeyBuilder, jr as ColumnBuilder, jt as VectorSearchProvider, kn as ConvexCheckBuilder, kt as UpdateSet, ln as RlsRoleConfig, lr as eq, lt as GetColumnData, m as MigrationDocContext, mn as ConvexIndexBuilderOn, mr as inArray, mt as MutationExecuteConfig, n as OrmCapabilities, nn as deletion, nr as FilterExpression, nt as AggregateResult, on as RlsPolicyToOption, or as between, ot as CountResult, p as MigrationDoc, pn as ConvexIndexBuilder, pr as ilike, pt as InsertValue, qn as OrmSchemaExtensionTables, qt as ConvexDeletionBuilder, r as OrmCapability, rn as discriminator, rr as LogicalExpression, rt as BuildQueryResult, sn as rlsPolicy, sr as contains, st as DBQueryConfig, t as OrmAggregateCapability, tn as convexTable, tr as FieldReference, tt as AggregateFieldValue, u as MigrationAppliedState, un as rlsRole, ur as fieldRef, ut as InferInsertModel, v as MigrationPlan, vn as ConvexSearchIndexBuilderOn, vr as like, vt as MutationPaginatedResult, w as MigrationWriteMode, wn as index, wr as notInArray, wt as PaginatedResult, x as MigrationStateMap, xn as ConvexVectorIndexBuilderOn, xr as ne, xt as MutationRunMode, y as MigrationRunStatus, yn as ConvexSearchIndexConfig, yr as lt, yt as MutationResult, zn as ConvexTextBuilder, zr as IsPrimaryKey, zt as RelationsBuilderColumnBase } from "../capabilities-CLCYgRdY.js";
|
|
2
|
-
import { $ as OrmClientWithApi$1, A as ConvexDateMode, B as ConvexBytesBuilderInitial, C as ConvexNumberBuilderInitial, D as id, E as ConvexIdBuilderInitial, F as custom, G as ConvexBigIntBuilder, H as ConvexBooleanBuilder, I as json, J as CreateOrmOptions, K as ConvexBigIntBuilderInitial, L as objectOf, M as ConvexCustomBuilder, N as ConvexCustomBuilderInitial, O as ConvexDateBuilder, P as arrayOf, Q as OrmClientBase$1, R as unionOf, S as ConvexNumberBuilder, St as defineTriggers, T as ConvexIdBuilder, U as ConvexBooleanBuilderInitial, V as bytes, W as boolean, X as GenericOrmCtx$1, Y as GenericOrm$1, Z as OrmApiResult, _ as ConvexTimestampMode, _t as OrmBeforeResult, a as requireSchemaRelations, at as ScheduledMutationBatchArgs, b as ConvexTextEnumBuilderInitial, bt as OrmTriggerContext, c as TableConfigResult, ct as scheduledDeleteFactory, d as OrmNotFoundError, et as OrmFunctions, f as ConvexVectorBuilder, g as ConvexTimestampBuilderInitial, gt as defineSchemaExtension, h as ConvexTimestampBuilder, ht as SchemaExtension, i as getSchemaTriggers, it as createOrm, j as date, k as ConvexDateBuilderInitial, l as getTableColumns, m as vector, n as defineSchema, nt as OrmWriterCtx, o as asc, ot as scheduledMutationBatchFactory, p as ConvexVectorBuilderInitial, q as bigint, r as getSchemaRelations, rt as ResolveOrmSchema, s as desc, st as ScheduledDeleteArgs, t as WhereClauseResult, tt as OrmReaderCtx, u as getTableConfig, v as timestamp, vt as OrmTableTriggers, w as integer, x as textEnum, xt as OrmTriggers, y as ConvexTextEnumBuilder, yt as OrmTriggerChange, z as ConvexBytesBuilder } from "../where-clause-compiler-
|
|
2
|
+
import { $ as OrmClientWithApi$1, A as ConvexDateMode, B as ConvexBytesBuilderInitial, C as ConvexNumberBuilderInitial, D as id, E as ConvexIdBuilderInitial, F as custom, G as ConvexBigIntBuilder, H as ConvexBooleanBuilder, I as json, J as CreateOrmOptions, K as ConvexBigIntBuilderInitial, L as objectOf, M as ConvexCustomBuilder, N as ConvexCustomBuilderInitial, O as ConvexDateBuilder, P as arrayOf, Q as OrmClientBase$1, R as unionOf, S as ConvexNumberBuilder, St as defineTriggers, T as ConvexIdBuilder, U as ConvexBooleanBuilderInitial, V as bytes, W as boolean, X as GenericOrmCtx$1, Y as GenericOrm$1, Z as OrmApiResult, _ as ConvexTimestampMode, _t as OrmBeforeResult, a as requireSchemaRelations, at as ScheduledMutationBatchArgs, b as ConvexTextEnumBuilderInitial, bt as OrmTriggerContext, c as TableConfigResult, ct as scheduledDeleteFactory, d as OrmNotFoundError, et as OrmFunctions, f as ConvexVectorBuilder, g as ConvexTimestampBuilderInitial, gt as defineSchemaExtension, h as ConvexTimestampBuilder, ht as SchemaExtension, i as getSchemaTriggers, it as createOrm, j as date, k as ConvexDateBuilderInitial, l as getTableColumns, m as vector, n as defineSchema, nt as OrmWriterCtx, o as asc, ot as scheduledMutationBatchFactory, p as ConvexVectorBuilderInitial, q as bigint, r as getSchemaRelations, rt as ResolveOrmSchema, s as desc, st as ScheduledDeleteArgs, t as WhereClauseResult, tt as OrmReaderCtx, u as getTableConfig, v as timestamp, vt as OrmTableTriggers, w as integer, x as textEnum, xt as OrmTriggers, y as ConvexTextEnumBuilder, yt as OrmTriggerChange, z as ConvexBytesBuilder } from "../where-clause-compiler-CErbOMvj.js";
|
|
3
3
|
import { i as pretendRequired, n as deprecated, r as pretend } from "../validators-wOIjhkfN.js";
|
|
4
4
|
import { a as QueryCtxWithPreferredOrmQueryTable, i as QueryCtxWithOrmQueryTable, n as LookupByIdResultByCtx, o as getByIdWithOrmQueryFallback, r as QueryCtxWithOptionalOrmQueryTable, t as DocByCtx } from "../query-context-DJONf8X5.js";
|
|
5
5
|
import { DefineSchemaOptions, GenericDatabaseReader, GenericDatabaseWriter, GenericSchema, SchemaDefinition } from "convex/server";
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { C as MigrationTableName, D as defineMigrationSet, E as defineMigration, O as detectMigrationDrift, S as MigrationStep, T as buildMigrationPlan, _ as MigrationMigrateOne, a as MigrationCancelArgs, b as MigrationSet, c as MigrationStatusArgs, d as MigrationDefinition, f as MigrationDirection, g as MigrationManifestEntry, h as MigrationDriftIssue, l as createMigrationHandlers, m as MigrationDocContext, o as MigrationRunArgs, p as MigrationDoc, s as MigrationRunChunkArgs, u as MigrationAppliedState, v as MigrationPlan, w as MigrationWriteMode, x as MigrationStateMap, y as MigrationRunStatus } from "../../capabilities-CLCYgRdY.js";
|
|
2
|
-
import { Ct as migrationCapability, dt as MIGRATION_STORAGE_TABLE_NAMES, ft as injectMigrationStorageTables, lt as MIGRATION_RUN_TABLE, mt as migrationStorageTables, pt as migrationExtension, ut as MIGRATION_STATE_TABLE } from "../../where-clause-compiler-
|
|
2
|
+
import { Ct as migrationCapability, dt as MIGRATION_STORAGE_TABLE_NAMES, ft as injectMigrationStorageTables, lt as MIGRATION_RUN_TABLE, mt as migrationStorageTables, pt as migrationExtension, ut as MIGRATION_STATE_TABLE } from "../../where-clause-compiler-CErbOMvj.js";
|
|
3
3
|
export { MIGRATION_RUN_TABLE, MIGRATION_STATE_TABLE, MIGRATION_STORAGE_TABLE_NAMES, type MigrationAppliedState, type MigrationCancelArgs, type MigrationDefinition, type MigrationDirection, type MigrationDoc, type MigrationDocContext, type MigrationDriftIssue, type MigrationManifestEntry, type MigrationMigrateOne, type MigrationPlan, type MigrationRunArgs, type MigrationRunChunkArgs, type MigrationRunStatus, type MigrationSet, type MigrationStateMap, type MigrationStatusArgs, type MigrationStep, type MigrationTableName, type MigrationWriteMode, buildMigrationPlan, createMigrationHandlers, defineMigration, defineMigrationSet, detectMigrationDrift, injectMigrationStorageTables, migrationCapability, migrationExtension, migrationStorageTables };
|
package/dist/react/index.js
CHANGED
|
@@ -499,6 +499,38 @@ const getTransformer = (transformer) => {
|
|
|
499
499
|
*/
|
|
500
500
|
const encodeWire = (value, transformer) => getTransformer(transformer).input.serialize(value);
|
|
501
501
|
|
|
502
|
+
//#endregion
|
|
503
|
+
//#region src/internal/query-filter.ts
|
|
504
|
+
/**
|
|
505
|
+
* Whether a `queryFilter` call actually narrowed by args.
|
|
506
|
+
*
|
|
507
|
+
* Nullish args and `{}` all mean "match every args variant". They have to
|
|
508
|
+
* collapse to a shorter prefix key rather than sit in the args slot, because
|
|
509
|
+
* TanStack matches filters with `partialMatchKey`, which walks
|
|
510
|
+
* `Object.keys(filterKey)` — an args slot holding `undefined` or `null` is
|
|
511
|
+
* compared against the real args and fails on every entry that carries any,
|
|
512
|
+
* so the filter silently matches nothing.
|
|
513
|
+
*/
|
|
514
|
+
function hasQueryFilterArgs(args) {
|
|
515
|
+
if (args == null) return false;
|
|
516
|
+
if (typeof args === "object") return Object.keys(args).length > 0;
|
|
517
|
+
return true;
|
|
518
|
+
}
|
|
519
|
+
/**
|
|
520
|
+
* Build the key for a Convex `queryFilter`.
|
|
521
|
+
*
|
|
522
|
+
* With args, this is the exact 3-element key and TanStack partial-matches the
|
|
523
|
+
* args object. Without args, it stops before the args slot so the filter
|
|
524
|
+
* matches every variant of the function.
|
|
525
|
+
*/
|
|
526
|
+
function buildConvexFilterKey(prefix, funcName, args) {
|
|
527
|
+
return hasQueryFilterArgs(args) ? [
|
|
528
|
+
prefix,
|
|
529
|
+
funcName,
|
|
530
|
+
args
|
|
531
|
+
] : [prefix, funcName];
|
|
532
|
+
}
|
|
533
|
+
|
|
502
534
|
//#endregion
|
|
503
535
|
//#region src/react/http-proxy.ts
|
|
504
536
|
/**
|
|
@@ -579,10 +611,9 @@ function createRecursiveHttpProxy(opts, path = []) {
|
|
|
579
611
|
}
|
|
580
612
|
if (prop === "queryKey") return (args) => buildHttpQueryKey(routeKey, args);
|
|
581
613
|
if (prop === "queryFilter") return (args, filters) => {
|
|
582
|
-
const hasArgs = args !== void 0 && !(typeof args === "object" && args !== null && Object.keys(args).length === 0);
|
|
583
614
|
return {
|
|
584
615
|
...filters,
|
|
585
|
-
queryKey:
|
|
616
|
+
queryKey: hasQueryFilterArgs(args) ? buildHttpQueryKey(routeKey, args) : buildHttpQueryPrefixKey(routeKey)
|
|
586
617
|
};
|
|
587
618
|
};
|
|
588
619
|
if (prop === "mutationOptions") {
|
|
@@ -813,16 +844,21 @@ function resolveEnabled(allowed, enabled) {
|
|
|
813
844
|
/**
|
|
814
845
|
* Check if query key is for a Convex query function.
|
|
815
846
|
* Format: ['convexQuery', 'namespace:functionName', { args }]
|
|
847
|
+
*
|
|
848
|
+
* Requires the args slot: a 2-element key is a `queryFilter` prefix, never a
|
|
849
|
+
* cache key, and hashing one would serialize `undefined` args and throw.
|
|
816
850
|
*/
|
|
817
851
|
function isConvexQuery(queryKey) {
|
|
818
|
-
return queryKey.length >=
|
|
852
|
+
return queryKey.length >= 3 && queryKey[0] === "convexQuery";
|
|
819
853
|
}
|
|
820
854
|
/**
|
|
821
855
|
* Check if query key is for a Convex action function.
|
|
822
856
|
* Format: ['convexAction', 'namespace:functionName', { args }]
|
|
857
|
+
*
|
|
858
|
+
* Requires the args slot, for the same reason as {@link isConvexQuery}.
|
|
823
859
|
*/
|
|
824
|
-
function isConvexAction
|
|
825
|
-
return queryKey.length >=
|
|
860
|
+
function isConvexAction(queryKey) {
|
|
861
|
+
return queryKey.length >= 3 && queryKey[0] === "convexAction";
|
|
826
862
|
}
|
|
827
863
|
/**
|
|
828
864
|
* Serialize args the same way they go over the wire, so non-native Convex
|
|
@@ -856,7 +892,7 @@ function hashConvexAction(queryKey) {
|
|
|
856
892
|
function createHashFn(fallback = hashKey) {
|
|
857
893
|
return (queryKey) => {
|
|
858
894
|
if (isConvexQuery(queryKey)) return hashConvexQuery(queryKey);
|
|
859
|
-
if (isConvexAction
|
|
895
|
+
if (isConvexAction(queryKey)) return hashConvexAction(queryKey);
|
|
860
896
|
return fallback(queryKey);
|
|
861
897
|
};
|
|
862
898
|
}
|
|
@@ -1254,11 +1290,7 @@ function createRecursiveProxy(api, path, meta, transformer) {
|
|
|
1254
1290
|
const prefix = getQueryKeyPrefix(path, meta);
|
|
1255
1291
|
return {
|
|
1256
1292
|
...filters,
|
|
1257
|
-
queryKey:
|
|
1258
|
-
prefix,
|
|
1259
|
-
funcName,
|
|
1260
|
-
args
|
|
1261
|
-
]
|
|
1293
|
+
queryKey: buildConvexFilterKey(prefix, funcName, args)
|
|
1262
1294
|
};
|
|
1263
1295
|
};
|
|
1264
1296
|
if (prop === "infiniteQueryOptions") return (args = {}, opts = {}) => {
|
|
@@ -1906,13 +1938,6 @@ function isConvexSkipped(queryKey) {
|
|
|
1906
1938
|
return queryKey.length >= 2 && ["convexQuery", "convexAction"].includes(queryKey[0]) && queryKey[2] === "skip";
|
|
1907
1939
|
}
|
|
1908
1940
|
/**
|
|
1909
|
-
* Check if query key is for a Convex action function.
|
|
1910
|
-
* Format: ['convexAction', 'namespace:functionName', { args }]
|
|
1911
|
-
*/
|
|
1912
|
-
function isConvexAction(queryKey) {
|
|
1913
|
-
return queryKey.length >= 2 && queryKey[0] === "convexAction";
|
|
1914
|
-
}
|
|
1915
|
-
/**
|
|
1916
1941
|
* Write a subscription value into an already-resolved Query.
|
|
1917
1942
|
*
|
|
1918
1943
|
* Going through the Query skips the query-key re-hash that the key-based
|
package/dist/rsc/index.js
CHANGED
|
@@ -116,16 +116,21 @@ function createServerCRPCProxy(options) {
|
|
|
116
116
|
/**
|
|
117
117
|
* Check if query key is for a Convex query function.
|
|
118
118
|
* Format: ['convexQuery', 'namespace:functionName', { args }]
|
|
119
|
+
*
|
|
120
|
+
* Requires the args slot: a 2-element key is a `queryFilter` prefix, never a
|
|
121
|
+
* cache key, and hashing one would serialize `undefined` args and throw.
|
|
119
122
|
*/
|
|
120
123
|
function isConvexQuery(queryKey) {
|
|
121
|
-
return queryKey.length >=
|
|
124
|
+
return queryKey.length >= 3 && queryKey[0] === "convexQuery";
|
|
122
125
|
}
|
|
123
126
|
/**
|
|
124
127
|
* Check if query key is for a Convex action function.
|
|
125
128
|
* Format: ['convexAction', 'namespace:functionName', { args }]
|
|
129
|
+
*
|
|
130
|
+
* Requires the args slot, for the same reason as {@link isConvexQuery}.
|
|
126
131
|
*/
|
|
127
132
|
function isConvexAction(queryKey) {
|
|
128
|
-
return queryKey.length >=
|
|
133
|
+
return queryKey.length >= 3 && queryKey[0] === "convexAction";
|
|
129
134
|
}
|
|
130
135
|
/**
|
|
131
136
|
* Serialize args the same way they go over the wire, so non-native Convex
|
package/dist/solid/index.js
CHANGED
|
@@ -800,6 +800,38 @@ const getTransformer = (transformer) => {
|
|
|
800
800
|
*/
|
|
801
801
|
const encodeWire = (value, transformer) => getTransformer(transformer).input.serialize(value);
|
|
802
802
|
|
|
803
|
+
//#endregion
|
|
804
|
+
//#region src/internal/query-filter.ts
|
|
805
|
+
/**
|
|
806
|
+
* Whether a `queryFilter` call actually narrowed by args.
|
|
807
|
+
*
|
|
808
|
+
* Nullish args and `{}` all mean "match every args variant". They have to
|
|
809
|
+
* collapse to a shorter prefix key rather than sit in the args slot, because
|
|
810
|
+
* TanStack matches filters with `partialMatchKey`, which walks
|
|
811
|
+
* `Object.keys(filterKey)` — an args slot holding `undefined` or `null` is
|
|
812
|
+
* compared against the real args and fails on every entry that carries any,
|
|
813
|
+
* so the filter silently matches nothing.
|
|
814
|
+
*/
|
|
815
|
+
function hasQueryFilterArgs(args) {
|
|
816
|
+
if (args == null) return false;
|
|
817
|
+
if (typeof args === "object") return Object.keys(args).length > 0;
|
|
818
|
+
return true;
|
|
819
|
+
}
|
|
820
|
+
/**
|
|
821
|
+
* Build the key for a Convex `queryFilter`.
|
|
822
|
+
*
|
|
823
|
+
* With args, this is the exact 3-element key and TanStack partial-matches the
|
|
824
|
+
* args object. Without args, it stops before the args slot so the filter
|
|
825
|
+
* matches every variant of the function.
|
|
826
|
+
*/
|
|
827
|
+
function buildConvexFilterKey(prefix, funcName, args) {
|
|
828
|
+
return hasQueryFilterArgs(args) ? [
|
|
829
|
+
prefix,
|
|
830
|
+
funcName,
|
|
831
|
+
args
|
|
832
|
+
] : [prefix, funcName];
|
|
833
|
+
}
|
|
834
|
+
|
|
803
835
|
//#endregion
|
|
804
836
|
//#region src/solid/http-proxy.ts
|
|
805
837
|
/**
|
|
@@ -880,10 +912,9 @@ function createRecursiveHttpProxy(opts, path = []) {
|
|
|
880
912
|
}
|
|
881
913
|
if (prop === "queryKey") return (args) => buildHttpQueryKey(routeKey, args);
|
|
882
914
|
if (prop === "queryFilter") return (args, filters) => {
|
|
883
|
-
const hasArgs = args !== void 0 && !(typeof args === "object" && args !== null && Object.keys(args).length === 0);
|
|
884
915
|
return {
|
|
885
916
|
...filters,
|
|
886
|
-
queryKey:
|
|
917
|
+
queryKey: hasQueryFilterArgs(args) ? buildHttpQueryKey(routeKey, args) : buildHttpQueryPrefixKey(routeKey)
|
|
887
918
|
};
|
|
888
919
|
};
|
|
889
920
|
if (prop === "mutationOptions") {
|
|
@@ -1493,11 +1524,7 @@ function createRecursiveProxy(api, path, meta, transformer) {
|
|
|
1493
1524
|
const prefix = getQueryKeyPrefix(path, meta);
|
|
1494
1525
|
return {
|
|
1495
1526
|
...filters,
|
|
1496
|
-
queryKey:
|
|
1497
|
-
prefix,
|
|
1498
|
-
funcName,
|
|
1499
|
-
args
|
|
1500
|
-
]
|
|
1527
|
+
queryKey: buildConvexFilterKey(prefix, funcName, args)
|
|
1501
1528
|
};
|
|
1502
1529
|
};
|
|
1503
1530
|
if (prop === "infiniteQueryOptions") return (args = {}, opts = {}) => {
|
|
@@ -1996,16 +2023,21 @@ async function clearAuthBoundQueries(cache, isAuthBound) {
|
|
|
1996
2023
|
/**
|
|
1997
2024
|
* Check if query key is for a Convex query function.
|
|
1998
2025
|
* Format: ['convexQuery', 'namespace:functionName', { args }]
|
|
2026
|
+
*
|
|
2027
|
+
* Requires the args slot: a 2-element key is a `queryFilter` prefix, never a
|
|
2028
|
+
* cache key, and hashing one would serialize `undefined` args and throw.
|
|
1999
2029
|
*/
|
|
2000
2030
|
function isConvexQuery(queryKey) {
|
|
2001
|
-
return queryKey.length >=
|
|
2031
|
+
return queryKey.length >= 3 && queryKey[0] === "convexQuery";
|
|
2002
2032
|
}
|
|
2003
2033
|
/**
|
|
2004
2034
|
* Check if query key is for a Convex action function.
|
|
2005
2035
|
* Format: ['convexAction', 'namespace:functionName', { args }]
|
|
2036
|
+
*
|
|
2037
|
+
* Requires the args slot, for the same reason as {@link isConvexQuery}.
|
|
2006
2038
|
*/
|
|
2007
|
-
function isConvexAction
|
|
2008
|
-
return queryKey.length >=
|
|
2039
|
+
function isConvexAction(queryKey) {
|
|
2040
|
+
return queryKey.length >= 3 && queryKey[0] === "convexAction";
|
|
2009
2041
|
}
|
|
2010
2042
|
/**
|
|
2011
2043
|
* Serialize args the same way they go over the wire, so non-native Convex
|
|
@@ -2039,7 +2071,7 @@ function hashConvexAction(queryKey) {
|
|
|
2039
2071
|
function createHashFn(fallback = hashKey) {
|
|
2040
2072
|
return (queryKey) => {
|
|
2041
2073
|
if (isConvexQuery(queryKey)) return hashConvexQuery(queryKey);
|
|
2042
|
-
if (isConvexAction
|
|
2074
|
+
if (isConvexAction(queryKey)) return hashConvexAction(queryKey);
|
|
2043
2075
|
return fallback(queryKey);
|
|
2044
2076
|
};
|
|
2045
2077
|
}
|
|
@@ -2123,13 +2155,6 @@ function isConvexSkipped(queryKey) {
|
|
|
2123
2155
|
return queryKey.length >= 2 && ["convexQuery", "convexAction"].includes(queryKey[0]) && queryKey[2] === "skip";
|
|
2124
2156
|
}
|
|
2125
2157
|
/**
|
|
2126
|
-
* Check if query key is for a Convex action function.
|
|
2127
|
-
* Format: ['convexAction', 'namespace:functionName', { args }]
|
|
2128
|
-
*/
|
|
2129
|
-
function isConvexAction(queryKey) {
|
|
2130
|
-
return queryKey.length >= 2 && queryKey[0] === "convexAction";
|
|
2131
|
-
}
|
|
2132
|
-
/**
|
|
2133
2158
|
* Bridges TanStack Query with Convex real-time subscriptions (SolidJS).
|
|
2134
2159
|
*
|
|
2135
2160
|
* Uses `ConvexClient.onUpdate()` instead of `ConvexReactClient.watchQuery()`.
|
|
@@ -102,20 +102,25 @@ declare const migrationStorageTables: {
|
|
|
102
102
|
fieldName: "status";
|
|
103
103
|
};
|
|
104
104
|
};
|
|
105
|
-
|
|
105
|
+
cursor: ConvexTextBuilderInitial<""> & {
|
|
106
106
|
_: {
|
|
107
|
-
|
|
107
|
+
tableName: "migration_state";
|
|
108
108
|
};
|
|
109
109
|
} & {
|
|
110
|
+
_: {
|
|
111
|
+
fieldName: "cursor";
|
|
112
|
+
};
|
|
113
|
+
};
|
|
114
|
+
direction: ConvexTextBuilderInitial<""> & {
|
|
110
115
|
_: {
|
|
111
116
|
tableName: "migration_state";
|
|
112
117
|
};
|
|
113
118
|
} & {
|
|
114
119
|
_: {
|
|
115
|
-
fieldName: "
|
|
120
|
+
fieldName: "direction";
|
|
116
121
|
};
|
|
117
122
|
};
|
|
118
|
-
|
|
123
|
+
migrationId: ConvexTextBuilderInitial<""> & {
|
|
119
124
|
_: {
|
|
120
125
|
notNull: true;
|
|
121
126
|
};
|
|
@@ -125,10 +130,10 @@ declare const migrationStorageTables: {
|
|
|
125
130
|
};
|
|
126
131
|
} & {
|
|
127
132
|
_: {
|
|
128
|
-
fieldName: "
|
|
133
|
+
fieldName: "migrationId";
|
|
129
134
|
};
|
|
130
135
|
};
|
|
131
|
-
|
|
136
|
+
checksum: ConvexTextBuilderInitial<""> & {
|
|
132
137
|
_: {
|
|
133
138
|
notNull: true;
|
|
134
139
|
};
|
|
@@ -138,34 +143,29 @@ declare const migrationStorageTables: {
|
|
|
138
143
|
};
|
|
139
144
|
} & {
|
|
140
145
|
_: {
|
|
141
|
-
fieldName: "
|
|
146
|
+
fieldName: "checksum";
|
|
142
147
|
};
|
|
143
148
|
};
|
|
144
|
-
|
|
149
|
+
applied: ConvexBooleanBuilderInitial<""> & {
|
|
145
150
|
_: {
|
|
146
|
-
|
|
151
|
+
notNull: true;
|
|
147
152
|
};
|
|
148
153
|
} & {
|
|
149
|
-
_: {
|
|
150
|
-
fieldName: "direction";
|
|
151
|
-
};
|
|
152
|
-
};
|
|
153
|
-
runId: ConvexTextBuilderInitial<""> & {
|
|
154
154
|
_: {
|
|
155
155
|
tableName: "migration_state";
|
|
156
156
|
};
|
|
157
157
|
} & {
|
|
158
158
|
_: {
|
|
159
|
-
fieldName: "
|
|
159
|
+
fieldName: "applied";
|
|
160
160
|
};
|
|
161
161
|
};
|
|
162
|
-
|
|
162
|
+
runId: ConvexTextBuilderInitial<""> & {
|
|
163
163
|
_: {
|
|
164
164
|
tableName: "migration_state";
|
|
165
165
|
};
|
|
166
166
|
} & {
|
|
167
167
|
_: {
|
|
168
|
-
fieldName: "
|
|
168
|
+
fieldName: "runId";
|
|
169
169
|
};
|
|
170
170
|
};
|
|
171
171
|
processed: ConvexNumberBuilderInitial<""> & {
|
|
@@ -1034,7 +1034,7 @@ declare const BUILTIN_SCHEMA_EXTENSIONS: readonly [SchemaExtension<{
|
|
|
1034
1034
|
fieldName: "count";
|
|
1035
1035
|
};
|
|
1036
1036
|
};
|
|
1037
|
-
|
|
1037
|
+
tableKey: ConvexTextBuilderInitial<""> & {
|
|
1038
1038
|
_: {
|
|
1039
1039
|
notNull: true;
|
|
1040
1040
|
};
|
|
@@ -1044,10 +1044,10 @@ declare const BUILTIN_SCHEMA_EXTENSIONS: readonly [SchemaExtension<{
|
|
|
1044
1044
|
};
|
|
1045
1045
|
} & {
|
|
1046
1046
|
_: {
|
|
1047
|
-
fieldName: "
|
|
1047
|
+
fieldName: "tableKey";
|
|
1048
1048
|
};
|
|
1049
1049
|
};
|
|
1050
|
-
|
|
1050
|
+
indexName: ConvexTextBuilderInitial<""> & {
|
|
1051
1051
|
_: {
|
|
1052
1052
|
notNull: true;
|
|
1053
1053
|
};
|
|
@@ -1057,7 +1057,7 @@ declare const BUILTIN_SCHEMA_EXTENSIONS: readonly [SchemaExtension<{
|
|
|
1057
1057
|
};
|
|
1058
1058
|
} & {
|
|
1059
1059
|
_: {
|
|
1060
|
-
fieldName: "
|
|
1060
|
+
fieldName: "indexName";
|
|
1061
1061
|
};
|
|
1062
1062
|
};
|
|
1063
1063
|
keyHash: ConvexTextBuilderInitial<""> & {
|
|
@@ -1133,7 +1133,7 @@ declare const BUILTIN_SCHEMA_EXTENSIONS: readonly [SchemaExtension<{
|
|
|
1133
1133
|
readonly aggregate_member: ConvexTableWithColumns<{
|
|
1134
1134
|
name: "aggregate_member";
|
|
1135
1135
|
columns: {
|
|
1136
|
-
|
|
1136
|
+
kind: ConvexTextBuilderInitial<""> & {
|
|
1137
1137
|
_: {
|
|
1138
1138
|
notNull: true;
|
|
1139
1139
|
};
|
|
@@ -1143,10 +1143,10 @@ declare const BUILTIN_SCHEMA_EXTENSIONS: readonly [SchemaExtension<{
|
|
|
1143
1143
|
};
|
|
1144
1144
|
} & {
|
|
1145
1145
|
_: {
|
|
1146
|
-
fieldName: "
|
|
1146
|
+
fieldName: "kind";
|
|
1147
1147
|
};
|
|
1148
1148
|
};
|
|
1149
|
-
|
|
1149
|
+
updatedAt: ConvexNumberBuilderInitial<""> & {
|
|
1150
1150
|
_: {
|
|
1151
1151
|
notNull: true;
|
|
1152
1152
|
};
|
|
@@ -1156,10 +1156,10 @@ declare const BUILTIN_SCHEMA_EXTENSIONS: readonly [SchemaExtension<{
|
|
|
1156
1156
|
};
|
|
1157
1157
|
} & {
|
|
1158
1158
|
_: {
|
|
1159
|
-
fieldName: "
|
|
1159
|
+
fieldName: "updatedAt";
|
|
1160
1160
|
};
|
|
1161
1161
|
};
|
|
1162
|
-
|
|
1162
|
+
tableKey: ConvexTextBuilderInitial<""> & {
|
|
1163
1163
|
_: {
|
|
1164
1164
|
notNull: true;
|
|
1165
1165
|
};
|
|
@@ -1169,10 +1169,10 @@ declare const BUILTIN_SCHEMA_EXTENSIONS: readonly [SchemaExtension<{
|
|
|
1169
1169
|
};
|
|
1170
1170
|
} & {
|
|
1171
1171
|
_: {
|
|
1172
|
-
fieldName: "
|
|
1172
|
+
fieldName: "tableKey";
|
|
1173
1173
|
};
|
|
1174
1174
|
};
|
|
1175
|
-
|
|
1175
|
+
indexName: ConvexTextBuilderInitial<""> & {
|
|
1176
1176
|
_: {
|
|
1177
1177
|
notNull: true;
|
|
1178
1178
|
};
|
|
@@ -1182,7 +1182,7 @@ declare const BUILTIN_SCHEMA_EXTENSIONS: readonly [SchemaExtension<{
|
|
|
1182
1182
|
};
|
|
1183
1183
|
} & {
|
|
1184
1184
|
_: {
|
|
1185
|
-
fieldName: "
|
|
1185
|
+
fieldName: "indexName";
|
|
1186
1186
|
};
|
|
1187
1187
|
};
|
|
1188
1188
|
keyHash: ConvexTextBuilderInitial<""> & {
|
|
@@ -1323,7 +1323,11 @@ declare const BUILTIN_SCHEMA_EXTENSIONS: readonly [SchemaExtension<{
|
|
|
1323
1323
|
readonly aggregate_extrema: ConvexTableWithColumns<{
|
|
1324
1324
|
name: "aggregate_extrema";
|
|
1325
1325
|
columns: {
|
|
1326
|
-
|
|
1326
|
+
value: ConvexCustomBuilderInitial<"", convex_values0.VAny<any, "required", string>> & {
|
|
1327
|
+
_: {
|
|
1328
|
+
$type: convex_values0.Value;
|
|
1329
|
+
};
|
|
1330
|
+
} & {
|
|
1327
1331
|
_: {
|
|
1328
1332
|
notNull: true;
|
|
1329
1333
|
};
|
|
@@ -1333,14 +1337,10 @@ declare const BUILTIN_SCHEMA_EXTENSIONS: readonly [SchemaExtension<{
|
|
|
1333
1337
|
};
|
|
1334
1338
|
} & {
|
|
1335
1339
|
_: {
|
|
1336
|
-
fieldName: "
|
|
1340
|
+
fieldName: "value";
|
|
1337
1341
|
};
|
|
1338
1342
|
};
|
|
1339
|
-
|
|
1340
|
-
_: {
|
|
1341
|
-
$type: convex_values0.Value;
|
|
1342
|
-
};
|
|
1343
|
-
} & {
|
|
1343
|
+
updatedAt: ConvexNumberBuilderInitial<""> & {
|
|
1344
1344
|
_: {
|
|
1345
1345
|
notNull: true;
|
|
1346
1346
|
};
|
|
@@ -1350,7 +1350,7 @@ declare const BUILTIN_SCHEMA_EXTENSIONS: readonly [SchemaExtension<{
|
|
|
1350
1350
|
};
|
|
1351
1351
|
} & {
|
|
1352
1352
|
_: {
|
|
1353
|
-
fieldName: "
|
|
1353
|
+
fieldName: "updatedAt";
|
|
1354
1354
|
};
|
|
1355
1355
|
};
|
|
1356
1356
|
count: ConvexNumberBuilderInitial<""> & {
|
|
@@ -1366,7 +1366,7 @@ declare const BUILTIN_SCHEMA_EXTENSIONS: readonly [SchemaExtension<{
|
|
|
1366
1366
|
fieldName: "count";
|
|
1367
1367
|
};
|
|
1368
1368
|
};
|
|
1369
|
-
|
|
1369
|
+
tableKey: ConvexTextBuilderInitial<""> & {
|
|
1370
1370
|
_: {
|
|
1371
1371
|
notNull: true;
|
|
1372
1372
|
};
|
|
@@ -1376,10 +1376,10 @@ declare const BUILTIN_SCHEMA_EXTENSIONS: readonly [SchemaExtension<{
|
|
|
1376
1376
|
};
|
|
1377
1377
|
} & {
|
|
1378
1378
|
_: {
|
|
1379
|
-
fieldName: "
|
|
1379
|
+
fieldName: "tableKey";
|
|
1380
1380
|
};
|
|
1381
1381
|
};
|
|
1382
|
-
|
|
1382
|
+
indexName: ConvexTextBuilderInitial<""> & {
|
|
1383
1383
|
_: {
|
|
1384
1384
|
notNull: true;
|
|
1385
1385
|
};
|
|
@@ -1389,7 +1389,7 @@ declare const BUILTIN_SCHEMA_EXTENSIONS: readonly [SchemaExtension<{
|
|
|
1389
1389
|
};
|
|
1390
1390
|
} & {
|
|
1391
1391
|
_: {
|
|
1392
|
-
fieldName: "
|
|
1392
|
+
fieldName: "indexName";
|
|
1393
1393
|
};
|
|
1394
1394
|
};
|
|
1395
1395
|
keyHash: ConvexTextBuilderInitial<""> & {
|
|
@@ -1589,6 +1589,19 @@ declare const BUILTIN_SCHEMA_EXTENSIONS: readonly [SchemaExtension<{
|
|
|
1589
1589
|
fieldName: "status";
|
|
1590
1590
|
};
|
|
1591
1591
|
};
|
|
1592
|
+
kind: ConvexTextBuilderInitial<""> & {
|
|
1593
|
+
_: {
|
|
1594
|
+
notNull: true;
|
|
1595
|
+
};
|
|
1596
|
+
} & {
|
|
1597
|
+
_: {
|
|
1598
|
+
tableName: "aggregate_state";
|
|
1599
|
+
};
|
|
1600
|
+
} & {
|
|
1601
|
+
_: {
|
|
1602
|
+
fieldName: "kind";
|
|
1603
|
+
};
|
|
1604
|
+
};
|
|
1592
1605
|
cursor: ConvexTextBuilderInitial<""> & {
|
|
1593
1606
|
_: {
|
|
1594
1607
|
tableName: "aggregate_state";
|
|
@@ -1655,7 +1668,7 @@ declare const BUILTIN_SCHEMA_EXTENSIONS: readonly [SchemaExtension<{
|
|
|
1655
1668
|
fieldName: "lastError";
|
|
1656
1669
|
};
|
|
1657
1670
|
};
|
|
1658
|
-
|
|
1671
|
+
tableKey: ConvexTextBuilderInitial<""> & {
|
|
1659
1672
|
_: {
|
|
1660
1673
|
notNull: true;
|
|
1661
1674
|
};
|
|
@@ -1665,7 +1678,7 @@ declare const BUILTIN_SCHEMA_EXTENSIONS: readonly [SchemaExtension<{
|
|
|
1665
1678
|
};
|
|
1666
1679
|
} & {
|
|
1667
1680
|
_: {
|
|
1668
|
-
fieldName: "
|
|
1681
|
+
fieldName: "tableKey";
|
|
1669
1682
|
};
|
|
1670
1683
|
};
|
|
1671
1684
|
indexName: ConvexTextBuilderInitial<""> & {
|
|
@@ -1707,19 +1720,6 @@ declare const BUILTIN_SCHEMA_EXTENSIONS: readonly [SchemaExtension<{
|
|
|
1707
1720
|
fieldName: "metricDefinitionHash";
|
|
1708
1721
|
};
|
|
1709
1722
|
};
|
|
1710
|
-
tableKey: ConvexTextBuilderInitial<""> & {
|
|
1711
|
-
_: {
|
|
1712
|
-
notNull: true;
|
|
1713
|
-
};
|
|
1714
|
-
} & {
|
|
1715
|
-
_: {
|
|
1716
|
-
tableName: "aggregate_state";
|
|
1717
|
-
};
|
|
1718
|
-
} & {
|
|
1719
|
-
_: {
|
|
1720
|
-
fieldName: "tableKey";
|
|
1721
|
-
};
|
|
1722
|
-
};
|
|
1723
1723
|
};
|
|
1724
1724
|
}, {
|
|
1725
1725
|
by_creation_time: ["_creationTime"];
|
|
@@ -1744,20 +1744,25 @@ declare const BUILTIN_SCHEMA_EXTENSIONS: readonly [SchemaExtension<{
|
|
|
1744
1744
|
fieldName: "status";
|
|
1745
1745
|
};
|
|
1746
1746
|
};
|
|
1747
|
-
|
|
1747
|
+
cursor: ConvexTextBuilderInitial<""> & {
|
|
1748
1748
|
_: {
|
|
1749
|
-
|
|
1749
|
+
tableName: "migration_state";
|
|
1750
1750
|
};
|
|
1751
1751
|
} & {
|
|
1752
|
+
_: {
|
|
1753
|
+
fieldName: "cursor";
|
|
1754
|
+
};
|
|
1755
|
+
};
|
|
1756
|
+
direction: ConvexTextBuilderInitial<""> & {
|
|
1752
1757
|
_: {
|
|
1753
1758
|
tableName: "migration_state";
|
|
1754
1759
|
};
|
|
1755
1760
|
} & {
|
|
1756
1761
|
_: {
|
|
1757
|
-
fieldName: "
|
|
1762
|
+
fieldName: "direction";
|
|
1758
1763
|
};
|
|
1759
1764
|
};
|
|
1760
|
-
|
|
1765
|
+
migrationId: ConvexTextBuilderInitial<""> & {
|
|
1761
1766
|
_: {
|
|
1762
1767
|
notNull: true;
|
|
1763
1768
|
};
|
|
@@ -1767,10 +1772,10 @@ declare const BUILTIN_SCHEMA_EXTENSIONS: readonly [SchemaExtension<{
|
|
|
1767
1772
|
};
|
|
1768
1773
|
} & {
|
|
1769
1774
|
_: {
|
|
1770
|
-
fieldName: "
|
|
1775
|
+
fieldName: "migrationId";
|
|
1771
1776
|
};
|
|
1772
1777
|
};
|
|
1773
|
-
|
|
1778
|
+
checksum: ConvexTextBuilderInitial<""> & {
|
|
1774
1779
|
_: {
|
|
1775
1780
|
notNull: true;
|
|
1776
1781
|
};
|
|
@@ -1780,34 +1785,29 @@ declare const BUILTIN_SCHEMA_EXTENSIONS: readonly [SchemaExtension<{
|
|
|
1780
1785
|
};
|
|
1781
1786
|
} & {
|
|
1782
1787
|
_: {
|
|
1783
|
-
fieldName: "
|
|
1788
|
+
fieldName: "checksum";
|
|
1784
1789
|
};
|
|
1785
1790
|
};
|
|
1786
|
-
|
|
1791
|
+
applied: ConvexBooleanBuilderInitial<""> & {
|
|
1787
1792
|
_: {
|
|
1788
|
-
|
|
1793
|
+
notNull: true;
|
|
1789
1794
|
};
|
|
1790
1795
|
} & {
|
|
1791
|
-
_: {
|
|
1792
|
-
fieldName: "direction";
|
|
1793
|
-
};
|
|
1794
|
-
};
|
|
1795
|
-
runId: ConvexTextBuilderInitial<""> & {
|
|
1796
1796
|
_: {
|
|
1797
1797
|
tableName: "migration_state";
|
|
1798
1798
|
};
|
|
1799
1799
|
} & {
|
|
1800
1800
|
_: {
|
|
1801
|
-
fieldName: "
|
|
1801
|
+
fieldName: "applied";
|
|
1802
1802
|
};
|
|
1803
1803
|
};
|
|
1804
|
-
|
|
1804
|
+
runId: ConvexTextBuilderInitial<""> & {
|
|
1805
1805
|
_: {
|
|
1806
1806
|
tableName: "migration_state";
|
|
1807
1807
|
};
|
|
1808
1808
|
} & {
|
|
1809
1809
|
_: {
|
|
1810
|
-
fieldName: "
|
|
1810
|
+
fieldName: "runId";
|
|
1811
1811
|
};
|
|
1812
1812
|
};
|
|
1813
1813
|
processed: ConvexNumberBuilderInitial<""> & {
|
package/package.json
CHANGED
|
@@ -235,11 +235,20 @@ useQuery(crpc.user.get.queryOptions(userId ? { id: userId } : skipToken));
|
|
|
235
235
|
|
|
236
236
|
### Query Keys & Filters
|
|
237
237
|
|
|
238
|
+
`queryKey(args)` is the exact cache key — use it for `getQueryData`/`setQueryData`.
|
|
239
|
+
`queryFilter(args?)` matches on prefix — use it for `invalidateQueries`/`cancelQueries`/`removeQueries`.
|
|
240
|
+
|
|
238
241
|
```ts
|
|
239
242
|
const queryKey = crpc.user.list.queryKey({}); // ['convexQuery', 'user:list', {}]
|
|
240
243
|
const data = queryClient.getQueryData(queryKey);
|
|
241
244
|
|
|
242
|
-
|
|
245
|
+
// Omit args to match every args variant: ['convexQuery', 'user:list']
|
|
246
|
+
queryClient.invalidateQueries(crpc.user.list.queryFilter());
|
|
247
|
+
|
|
248
|
+
// Partial args match every query whose args contain them
|
|
249
|
+
queryClient.invalidateQueries(crpc.user.list.queryFilter({ status: 'active' }));
|
|
250
|
+
|
|
251
|
+
const filter = crpc.user.list.queryFilter({ status: 'active' }, { predicate: (q) => q.state.dataUpdatedAt > Date.now() - 60000 });
|
|
243
252
|
queryClient.invalidateQueries(filter);
|
|
244
253
|
```
|
|
245
254
|
|