@confect/server 1.0.3 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/dist/Auth.d.ts.map +1 -1
  3. package/dist/Auth.js +1 -1
  4. package/dist/Auth.js.map +1 -1
  5. package/dist/ConvexConfigProvider.d.ts +10 -0
  6. package/dist/ConvexConfigProvider.d.ts.map +1 -0
  7. package/dist/ConvexConfigProvider.js +25 -0
  8. package/dist/ConvexConfigProvider.js.map +1 -0
  9. package/dist/Document.d.ts.map +1 -1
  10. package/dist/Document.js +2 -2
  11. package/dist/Document.js.map +1 -1
  12. package/dist/HttpApi.d.ts.map +1 -1
  13. package/dist/HttpApi.js +2 -1
  14. package/dist/HttpApi.js.map +1 -1
  15. package/dist/MutationRunner.d.ts.map +1 -1
  16. package/dist/MutationRunner.js +1 -1
  17. package/dist/MutationRunner.js.map +1 -1
  18. package/dist/QueryInitializer.d.ts.map +1 -1
  19. package/dist/QueryInitializer.js +2 -2
  20. package/dist/QueryInitializer.js.map +1 -1
  21. package/dist/RegisteredConvexFunction.d.ts.map +1 -1
  22. package/dist/RegisteredConvexFunction.js +4 -3
  23. package/dist/RegisteredConvexFunction.js.map +1 -1
  24. package/dist/RegisteredFunction.d.ts +2 -2
  25. package/dist/RegisteredFunction.d.ts.map +1 -1
  26. package/dist/SchemaToValidator.d.ts +7 -6
  27. package/dist/SchemaToValidator.d.ts.map +1 -1
  28. package/dist/SchemaToValidator.js.map +1 -1
  29. package/dist/Storage.d.ts.map +1 -1
  30. package/dist/Storage.js +1 -1
  31. package/dist/Storage.js.map +1 -1
  32. package/dist/index.d.ts +2 -1
  33. package/dist/index.js +2 -1
  34. package/package.json +16 -14
  35. package/src/Auth.ts +3 -2
  36. package/src/ConvexConfigProvider.ts +58 -0
  37. package/src/Document.ts +14 -12
  38. package/src/HttpApi.ts +3 -1
  39. package/src/MutationRunner.ts +6 -5
  40. package/src/QueryInitializer.ts +13 -11
  41. package/src/RegisteredConvexFunction.ts +8 -1
  42. package/src/SchemaToValidator.ts +56 -39
  43. package/src/Storage.ts +5 -4
  44. package/src/index.ts +1 -0
@@ -36,13 +36,11 @@ import {
36
36
 
37
37
  import * as GenericId from "@confect/core/GenericId";
38
38
  import type {
39
- DeepMutable,
40
39
  IsAny,
41
40
  IsOptional,
42
41
  IsRecord,
43
42
  IsRecursive,
44
43
  IsUnion,
45
- IsValueLiteral,
46
44
  TypeError,
47
45
  UnionToTuple,
48
46
  } from "@confect/core/Types";
@@ -127,45 +125,64 @@ export type ReadonlyRecordValue = {
127
125
  readonly [key: string]: ReadonlyValue | undefined;
128
126
  };
129
127
 
130
- export type ValueToValidator<Vl> =
131
- IsRecursive<Vl> extends true
128
+ type MutableValue<T> =
129
+ T extends ReadonlyArray<infer El>
130
+ ? MutableValue<El>[]
131
+ : T extends ReadonlyRecordValue
132
+ ? { -readonly [K in keyof T]: MutableValue<T[K]> }
133
+ : T;
134
+
135
+ export type ValueToValidator<Vl> = [Vl] extends [never]
136
+ ? never
137
+ : IsAny<Vl> extends true
132
138
  ? VAny
133
- : [Vl] extends [never]
134
- ? never
135
- : IsAny<Vl> extends true
136
- ? VAny
137
- : [Vl] extends [ReadonlyValue]
138
- ? Vl extends {
139
- __tableName: infer TableName extends string;
140
- }
141
- ? VId<GenericId.GenericId<TableName>>
142
- : IsValueLiteral<Vl> extends true
143
- ? VLiteral<Vl>
144
- : [Vl] extends [null]
145
- ? VNull
146
- : [Vl] extends [boolean]
147
- ? VBoolean
148
- : IsUnion<Vl> extends true
149
- ? UnionValueToValidator<Vl>
150
- : [Vl] extends [number]
151
- ? VFloat64
152
- : [Vl] extends [bigint]
153
- ? VInt64
154
- : [Vl] extends [string]
155
- ? VString
156
- : [Vl] extends [ArrayBuffer]
157
- ? VBytes
158
- : Vl extends ReadonlyArray<ReadonlyValue>
159
- ? ArrayValueToValidator<Vl>
160
- : Vl extends ReadonlyRecordValue
161
- ? RecordValueToValidator<Vl>
162
- : TypeError<"Unexpected value", Vl>
163
- : TypeError<"Provided value is not a valid Convex value", Vl>;
139
+ : [Vl] extends [null]
140
+ ? VNull
141
+ : [Vl] extends [boolean]
142
+ ? [boolean] extends [Vl]
143
+ ? VBoolean
144
+ : VLiteral<Vl>
145
+ : IsUnion<Vl> extends true
146
+ ? IsRecursive<Vl> extends true
147
+ ? VAny
148
+ : [Vl] extends [ReadonlyValue]
149
+ ? UnionValueToValidator<Vl>
150
+ : TypeError<"Provided value is not a valid Convex value", Vl>
151
+ : [Vl] extends [number]
152
+ ? [number] extends [Vl]
153
+ ? VFloat64
154
+ : VLiteral<Vl>
155
+ : [Vl] extends [bigint]
156
+ ? [bigint] extends [Vl]
157
+ ? VInt64
158
+ : VLiteral<Vl>
159
+ : [Vl] extends [string]
160
+ ? Vl extends {
161
+ __tableName: infer TableName extends string;
162
+ }
163
+ ? VId<GenericId.GenericId<TableName>>
164
+ : [string] extends [Vl]
165
+ ? VString
166
+ : VLiteral<Vl>
167
+ : [Vl] extends [ArrayBuffer]
168
+ ? VBytes
169
+ : IsRecursive<Vl> extends true
170
+ ? VAny
171
+ : [Vl] extends [ReadonlyValue]
172
+ ? Vl extends ReadonlyArray<ReadonlyValue>
173
+ ? ArrayValueToValidator<Vl>
174
+ : Vl extends ReadonlyRecordValue
175
+ ? RecordValueToValidator<Vl>
176
+ : TypeError<"Unexpected value", Vl>
177
+ : TypeError<
178
+ "Provided value is not a valid Convex value",
179
+ Vl
180
+ >;
164
181
 
165
182
  type ArrayValueToValidator<Vl extends ReadonlyArray<ReadonlyValue>> =
166
183
  Vl extends ReadonlyArray<infer El extends ReadonlyValue>
167
184
  ? ValueToValidator<El> extends infer Vd extends Validator<any, any, any>
168
- ? VArray<DeepMutable<El[]>, Vd>
185
+ ? VArray<MutableValue<El[]>, Vd>
169
186
  : never
170
187
  : never;
171
188
 
@@ -179,8 +196,8 @@ type RecordValueToValidator<Vl> = Vl extends ReadonlyRecordValue
179
196
  } extends infer VdRecord extends Record<string, any>
180
197
  ? {
181
198
  -readonly [K in keyof Vl]: undefined extends Vl[K]
182
- ? DeepMutable<Exclude<Vl[K], undefined>>
183
- : DeepMutable<Vl[K]>;
199
+ ? MutableValue<Exclude<Vl[K], undefined>>
200
+ : MutableValue<Vl[K]>;
184
201
  } extends infer VlRecord extends Record<string, any>
185
202
  ? IsRecord<VlRecord> extends true
186
203
  ? VRecord<VlRecord, VString, VdRecord[keyof VdRecord]>
@@ -212,7 +229,7 @@ type UnionValueToValidator<Vl extends ReadonlyValue> = [Vl] extends [
212
229
  ReadonlyArray<ReadonlyValue>
213
230
  ? ValueTupleToValidatorTuple<VlTuple> extends infer VdTuple extends
214
231
  Validator<any, "required", any>[]
215
- ? VUnion<DeepMutable<Vl>, VdTuple>
232
+ ? VUnion<MutableValue<Vl>, VdTuple>
216
233
  : TypeError<"Failed to convert value tuple to validator tuple">
217
234
  : TypeError<"Failed to convert union to tuple">
218
235
  : TypeError<"Expected a union of values, but got a single value instead">
package/src/Storage.ts CHANGED
@@ -75,11 +75,12 @@ export class StorageActionWriter extends Effect.Tag(
75
75
  Layer.succeed(this, makeStorageActionWriter(storageActionWriter));
76
76
  }
77
77
 
78
- export class BlobNotFoundError extends Schema.TaggedError<BlobNotFoundError>(
78
+ export class BlobNotFoundError extends Schema.TaggedError<BlobNotFoundError>()(
79
79
  "BlobNotFoundError",
80
- )("BlobNotFoundError", {
81
- id: Schema.String,
82
- }) {
80
+ {
81
+ id: Schema.String,
82
+ },
83
+ ) {
83
84
  override get message(): string {
84
85
  return `File with ID '${this.id}' not found`;
85
86
  }
package/src/index.ts CHANGED
@@ -7,6 +7,7 @@ export * as DatabaseSchema from "./DatabaseSchema";
7
7
  export * as DatabaseWriter from "./DatabaseWriter";
8
8
  export * as DataModel from "./DataModel";
9
9
  export * as Document from "./Document";
10
+ export * as ConvexConfigProvider from "./ConvexConfigProvider";
10
11
  export * as FunctionImpl from "./FunctionImpl";
11
12
  export * as GroupImpl from "./GroupImpl";
12
13
  export * as Handler from "./Handler";