convex-ents 0.7.7-alpha.0 → 0.8.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.
@@ -329,10 +329,7 @@ interface PromiseEntWriter<EntsDataModel extends GenericEntsDataModel, Table ext
329
329
  */
330
330
  delete(): Promise<GenericId<Table>>;
331
331
  }
332
- declare class EntWriterInstance<EntsDataModel extends GenericEntsDataModel, Table extends TableNamesInDataModel<EntsDataModel>> {
333
- edge<Edge extends keyof EntsDataModel[Table]["edges"]>(edge: Edge): PromiseEdgeWriter<EntsDataModel, Table, Edge>;
334
- edgeX<Edge extends keyof EntsDataModel[Table]["edges"]>(edge: Edge): PromiseEdgeWriterOrThrow<EntsDataModel, Table, Edge>;
335
- doc(): DocumentByName<EntsDataModel, Table>;
332
+ declare class EntWriterInstance<EntsDataModel extends GenericEntsDataModel, Table extends TableNamesInDataModel<EntsDataModel>> extends EntInstance<EntsDataModel, Table> {
336
333
  /**
337
334
  * Patch this existing document, shallow merging it with the given partial
338
335
  * document.
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  export { EntDefinition, defineEnt, defineEntFromTable, defineEntSchema, getEntDefinitions } from './schema.js';
2
- export { G as GenericEnt, T as GenericEntWriter, t as PromiseEdgeEnts, r as PromiseEdgeEntsOrNull, u as PromiseEdgeEntsWriter, I as PromiseEdgeWriter, K as PromiseEdgeWriterOrNull, J as PromiseEdgeWriterOrThrow, w as PromiseEnt, U as PromiseEntId, v as PromiseEntOrNull, S as PromiseEntWriter, R as PromiseEntWriterOrNull, p as PromiseEnts, n as PromiseEntsOrNull, q as PromiseEntsOrNulls, N as PromiseEntsWriter, o as PromiseEntsWriterOrNull, j as PromiseOrderedQuery, i as PromiseOrderedQueryBase, P as PromiseOrderedQueryOrNull, L as PromiseOrderedQueryWriter, d as PromiseOrderedQueryWriterOrNull, k as PromiseQuery, e as PromiseQueryOrNull, M as PromiseQueryWriter, f as PromiseQueryWriterOrNull, h as PromiseTable, g as PromiseTableBase, Q as PromiseTableWriter, Z as addEntRules, A as entsTableFactory } from './index-yIcYQW0v.js';
2
+ export { G as GenericEnt, T as GenericEntWriter, t as PromiseEdgeEnts, r as PromiseEdgeEntsOrNull, u as PromiseEdgeEntsWriter, I as PromiseEdgeWriter, K as PromiseEdgeWriterOrNull, J as PromiseEdgeWriterOrThrow, w as PromiseEnt, U as PromiseEntId, v as PromiseEntOrNull, S as PromiseEntWriter, R as PromiseEntWriterOrNull, p as PromiseEnts, n as PromiseEntsOrNull, q as PromiseEntsOrNulls, N as PromiseEntsWriter, o as PromiseEntsWriterOrNull, j as PromiseOrderedQuery, i as PromiseOrderedQueryBase, P as PromiseOrderedQueryOrNull, L as PromiseOrderedQueryWriter, d as PromiseOrderedQueryWriterOrNull, k as PromiseQuery, e as PromiseQueryOrNull, M as PromiseQueryWriter, f as PromiseQueryWriterOrNull, h as PromiseTable, g as PromiseTableBase, Q as PromiseTableWriter, Z as addEntRules, A as entsTableFactory } from './index-uXk5iZ86.js';
3
3
  export { scheduledDeleteFactory } from './deletion.js';
4
4
  import 'convex/server';
5
5
  import 'convex/values';
package/dist/index.js CHANGED
@@ -191,30 +191,20 @@ function defineEnt(documentSchema) {
191
191
  return new EntDefinitionImpl(documentSchema);
192
192
  }
193
193
  function defineEntFromTable(definition) {
194
- const validator = definition.documentType;
195
- const validatorJson = (
196
- // @ts-expect-error Private field
197
- validator.json
198
- );
199
- if (validatorJson.type !== "object") {
194
+ const validator = definition.validator;
195
+ if (validator.kind !== "object") {
200
196
  throw new Error(
201
197
  "Only tables with object definition are supported in Ents, not unions"
202
198
  );
203
199
  }
204
- const tableSchema = Object.fromEntries(
205
- Object.entries(validatorJson.value).map(([k, v3]) => [
206
- k,
207
- // @ts-expect-error Private constructor
208
- new import_values.Validator(v3.fieldType, v3.optional)
209
- ])
210
- );
211
- const entDefinition = defineEnt(tableSchema);
200
+ const entDefinition = defineEnt(validator.fields);
212
201
  entDefinition.indexes = definition.indexes;
213
202
  entDefinition.searchIndexes = definition.searchIndexes;
214
203
  entDefinition.vectorIndexes = definition.vectorIndexes;
215
204
  return entDefinition;
216
205
  }
217
206
  var EntDefinitionImpl = class {
207
+ validator;
218
208
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
219
209
  // @ts-ignore
220
210
  indexes = [];
@@ -231,6 +221,7 @@ var EntDefinitionImpl = class {
231
221
  deletionConfig;
232
222
  constructor(documentSchema) {
233
223
  this.documentSchema = documentSchema;
224
+ this.validator = import_values.v.object(documentSchema);
234
225
  }
235
226
  index(name, fields) {
236
227
  this.indexes.push({ indexDescriptor: name, fields });
@@ -923,7 +914,7 @@ var PromiseTableImpl = class extends PromiseQueryOrNullImpl {
923
914
  this.table,
924
915
  args.length === 1 ? async () => {
925
916
  const id = args[0];
926
- if (this.ctx.db.normalizeId(this.table, id) === null) {
917
+ if (this.normalizeId(id) === null) {
927
918
  throw new Error(`Invalid id \`${id}\` for table "${this.table}"`);
928
919
  }
929
920
  return {
@@ -970,7 +961,7 @@ var PromiseTableImpl = class extends PromiseQueryOrNullImpl {
970
961
  args.length === 1 ? async () => {
971
962
  const ids = args[0];
972
963
  ids.forEach((id) => {
973
- if (this.ctx.db.normalizeId(this.table, id) === null) {
964
+ if (this.normalizeId(id) === null) {
974
965
  throw new Error(
975
966
  `Invalid id \`${id}\` for table "${this.table}"`
976
967
  );
@@ -1005,7 +996,7 @@ var PromiseTableImpl = class extends PromiseQueryOrNullImpl {
1005
996
  );
1006
997
  }
1007
998
  normalizeId(id) {
1008
- return this.ctx.db.normalizeId(this.table, id);
999
+ return isSystemTable(this.table) ? this.ctx.db.system.normalizeId(this.table, id) : this.ctx.db.normalizeId(this.table, id);
1009
1000
  }
1010
1001
  // normalizeId or throw
1011
1002
  normalizeIdX(id) {