convex-ents 0.9.5 → 0.10.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.
@@ -1,7 +1,8 @@
1
- import { GenericEntsDataModel, GenericEdgeConfig, Expand, EdgeConfig, DeletionConfig } from './schema.js';
1
+ import { GenericEntsDataModel, GenericEdgeConfig, Expand, DeletionConfig } from './schema.js';
2
2
  import * as convex_values from 'convex/values';
3
- import { GenericId } from 'convex/values';
4
- import { TableNamesInDataModel, GenericDocument, DocumentByName, FilterBuilder, NamedTableInfo, ExpressionOrValue, PaginationOptions, IndexNames, FieldTypeFromFieldPath, SearchIndexNames, SearchFilterBuilder, NamedSearchIndex, SearchFilter, PaginationResult, SystemDataModel, IndexRangeBuilder, NamedIndex, IndexRange, WithoutSystemFields, WithOptionalSystemFields, GenericDataModel, GenericDatabaseReader, GenericDatabaseWriter, Scheduler } from 'convex/server';
3
+ import { GenericId, JSONValue, Value } from 'convex/values';
4
+ import { TableNamesInDataModel, GenericDocument, DocumentByName, FilterBuilder, NamedTableInfo, ExpressionOrValue, PaginationOptions, IndexNames, FieldTypeFromFieldPath, SearchIndexNames, SearchFilterBuilder, NamedSearchIndex, SearchFilter, PaginationResult, IndexRangeBuilder, NamedIndex, IndexRange, WithoutSystemFields, WithOptionalSystemFields, GenericDataModel, GenericDatabaseReader, GenericDatabaseWriter, Scheduler, GenericActionCtx, FunctionReference } from 'convex/server';
5
+ import { IndexFieldTypesForEq, EntsSystemDataModel, PromiseEdgeResult } from './shared.js';
5
6
  import { ScheduledDeleteFuncRef } from './deletion.js';
6
7
 
7
8
  declare class WriterImplBase<EntsDataModel extends GenericEntsDataModel, Table extends TableNamesInDataModel<EntsDataModel>> {
@@ -36,7 +37,7 @@ type EdgeChanges = Record<string, {
36
37
 
37
38
  interface PromiseOrderedQueryOrNull<EntsDataModel extends GenericEntsDataModel, Table extends TableNamesInDataModel<EntsDataModel>> extends Promise<Ent<Table, DocumentByName<EntsDataModel, Table>, EntsDataModel>[] | null> {
38
39
  filter(predicate: (q: FilterBuilder<NamedTableInfo<EntsDataModel, Table>>) => ExpressionOrValue<boolean>): this;
39
- map<TOutput>(callbackFn: (value: Ent<Table, DocumentByName<EntsDataModel, Table>, EntsDataModel>, index: number, array: Ent<Table, DocumentByName<EntsDataModel, Table>, EntsDataModel>[]) => Promise<TOutput> | TOutput): PromiseArrayOrNull<TOutput>;
40
+ map<TOutput>(callbackFn: (value: Ent<Table, DocumentByName<EntsDataModel, Table>, EntsDataModel>, index: number, array: Ent<Table, DocumentByName<EntsDataModel, Table>, EntsDataModel>[]) => TOutput | Promise<TOutput>): PromiseArrayOrNull<TOutput>;
40
41
  paginate(paginationOpts: PaginationOptions): PromisePaginationResultOrNull<EntsDataModel, Table>;
41
42
  take(n: number): PromiseEntsOrNull<EntsDataModel, Table>;
42
43
  first(): PromiseEntOrNull<EntsDataModel, Table>;
@@ -64,15 +65,19 @@ interface PromiseTableBase<EntsDataModel extends GenericEntsDataModel, Table ext
64
65
  getManyX<Indexes extends EntsDataModel[Table]["indexes"], Index extends keyof Indexes>(indexName: Index, values: FieldTypeFromFieldPath<DocumentByName<EntsDataModel, Table>, Indexes[Index][0]>[]): PromiseEnts<EntsDataModel, Table>;
65
66
  getManyX(ids: GenericId<Table>[]): PromiseEnts<EntsDataModel, Table>;
66
67
  /**
67
- * Returns the string ID format for the ID in a given table, or null if the ID
68
+ * If given a valid ID for the given table, returns it, or returns null if the ID
68
69
  * is from a different table or is not a valid ID.
69
70
  *
70
71
  * This does not guarantee that the ID exists (i.e. `table("foo").get(id)` may return `null`).
71
- *
72
- * @param tableName - The name of the table.
73
- * @param id - The ID string.
74
72
  */
75
73
  normalizeId(id: string): GenericId<Table> | null;
74
+ /**
75
+ * If given a valid ID for the given table, returns it, or throws if the ID
76
+ * is from a different table or is not a valid ID.
77
+ *
78
+ * This does not guarantee that the ID exists (i.e. `table("foo").get(id)` may return `null`).
79
+ */
80
+ normalizeIdX(id: string): GenericId<Table>;
76
81
  }
77
82
  interface PromiseTable<EntsDataModel extends GenericEntsDataModel, Table extends TableNamesInDataModel<EntsDataModel>> extends PromiseQuery<EntsDataModel, Table>, PromiseTableBase<EntsDataModel, Table> {
78
83
  get<Indexes extends EntsDataModel[Table]["indexes"], Index extends keyof Indexes>(indexName: Index, ...values: IndexFieldTypesForEq<EntsDataModel, Table, Indexes[Index]>): PromiseEntOrNull<EntsDataModel, Table>;
@@ -324,9 +329,11 @@ interface PromiseArray<T> extends Promise<T[]> {
324
329
  filter(predicate: (value: T, index: number, array: T[]) => unknown): Promise<T[]>;
325
330
  }
326
331
  declare function entWrapper<EntsDataModel extends GenericEntsDataModel, Table extends TableNamesInDataModel<EntsDataModel>>(fields: DocumentByName<EntsDataModel, Table>, ctx: EntQueryCtx<EntsDataModel>, entDefinitions: EntsDataModel, table: Table): Ent<Table, DocumentByName<EntsDataModel, Table>, EntsDataModel>;
327
- declare function entsTableFactory<Ctx extends EntQueryCtx<any>, EntsDataModel extends GenericEntsDataModel>(ctx: Ctx, entDefinitions: EntsDataModel, options?: {
328
- scheduledDelete: ScheduledDeleteFuncRef;
329
- }): Ctx extends EntMutationCtx<any> ? EntsTableWriter<EntsDataModel> : EntsTable<EntsDataModel>;
332
+ declare function entsTableFactory<Ctx extends EntQueryCtx<any> | EntActionCtx<any>, EntsDataModel extends GenericEntsDataModel>(ctx: Ctx, entDefinitions: EntsDataModel, options?: {
333
+ scheduledDelete?: ScheduledDeleteFuncRef;
334
+ actionRead?: ActionReadFuncRef;
335
+ actionWrite?: ActionWriteFuncRef;
336
+ }): Ctx extends EntActionCtx<any> ? EntsTableAction<EntsDataModel> : Ctx extends EntMutationCtx<any> ? EntsTableWriter<EntsDataModel> : EntsTable<EntsDataModel>;
330
337
  type EntsTableReader<EntsDataModel extends GenericEntsDataModel> = {
331
338
  <Table extends TableNamesInDataModel<EntsDataModel>, IndexName extends IndexNames<NamedTableInfo<EntsDataModel, Table>>>(table: Table, indexName: IndexName, indexRange?: (q: IndexRangeBuilder<DocumentByName<EntsDataModel, Table>, NamedIndex<NamedTableInfo<EntsDataModel, Table>, IndexName>>) => IndexRange): PromiseQuery<EntsDataModel, Table>;
332
339
  <Table extends TableNamesInDataModel<EntsDataModel>>(table: Table): PromiseTable<EntsDataModel, Table>;
@@ -334,11 +341,6 @@ type EntsTableReader<EntsDataModel extends GenericEntsDataModel> = {
334
341
  type EntsTable<EntsDataModel extends GenericEntsDataModel> = EntsTableReader<EntsDataModel> & {
335
342
  system: EntsTableReader<EntsSystemDataModel>;
336
343
  };
337
- type EntsSystemDataModel = {
338
- [key in keyof SystemDataModel]: SystemDataModel[key] & {
339
- edges: Record<string, never>;
340
- };
341
- };
342
344
  type EntsTableWriter<EntsDataModel extends GenericEntsDataModel> = {
343
345
  <Table extends TableNamesInDataModel<EntsDataModel>, IndexName extends IndexNames<NamedTableInfo<EntsDataModel, Table>>>(table: Table, indexName: IndexName, indexRange?: (q: IndexRangeBuilder<DocumentByName<EntsDataModel, Table>, NamedIndex<NamedTableInfo<EntsDataModel, Table>, IndexName>>) => IndexRange): PromiseTableWriter<Table, EntsDataModel>;
344
346
  <Table extends TableNamesInDataModel<EntsDataModel>>(table: Table): PromiseTableWriter<Table, EntsDataModel>;
@@ -351,7 +353,6 @@ declare class EntInstance<EntsDataModel extends GenericEntsDataModel, Table exte
351
353
  }
352
354
  type Ent<Table extends TableNamesInDataModel<EntsDataModel>, Doc extends DocumentByName<EntsDataModel, Table>, EntsDataModel extends GenericEntsDataModel> = Doc & EntInstance<EntsDataModel, Table>;
353
355
  type GenericEnt<EntsDataModel extends GenericEntsDataModel, Table extends TableNamesInDataModel<EntsDataModel>> = Ent<Table, DocumentByName<EntsDataModel, Table>, EntsDataModel>;
354
- type PromiseEdgeResult<EdgeConfig extends GenericEdgeConfig, MultipleRef, MultipleField, SingleRef, SingleField> = EdgeConfig["cardinality"] extends "multiple" ? EdgeConfig["type"] extends "ref" ? MultipleRef : MultipleField : EdgeConfig["type"] extends "ref" ? SingleRef : SingleField;
355
356
  type PromiseEdge<EntsDataModel extends GenericEntsDataModel, Table extends TableNamesInDataModel<EntsDataModel>, Edge extends keyof EntsDataModel[Table]["edges"], Config extends GenericEdgeConfig = EntsDataModel[Table]["edges"][Edge], ToTable extends TableNamesInDataModel<EntsDataModel> = EntsDataModel[Table]["edges"][Edge]["to"]> = PromiseEdgeResult<Config, PromiseEdgeEnts<EntsDataModel, ToTable>, PromiseQuery<EntsDataModel, ToTable>, PromiseEntOrNull<EntsDataModel, ToTable>, PromiseEnt<EntsDataModel, ToTable>>;
356
357
  type PromiseEdgeOrThrow<EntsDataModel extends GenericEntsDataModel, Table extends TableNamesInDataModel<EntsDataModel>, Edge extends keyof EntsDataModel[Table]["edges"], Config extends GenericEdgeConfig = EntsDataModel[Table]["edges"][Edge], ToTable extends TableNamesInDataModel<EntsDataModel> = EntsDataModel[Table]["edges"][Edge]["to"]> = PromiseEdgeResult<Config, PromiseEdgeEnts<EntsDataModel, ToTable>, PromiseQuery<EntsDataModel, ToTable>, PromiseEnt<EntsDataModel, ToTable>, PromiseEnt<EntsDataModel, ToTable>>;
357
358
  type PromiseEdgeOrNull<EntsDataModel extends GenericEntsDataModel, Table extends TableNamesInDataModel<EntsDataModel>, Edge extends keyof EntsDataModel[Table]["edges"], Config extends GenericEdgeConfig = EntsDataModel[Table]["edges"][Edge], ToTable extends TableNamesInDataModel<EntsDataModel> = EntsDataModel[Table]["edges"][Edge]["to"]> = PromiseEdgeResult<Config, PromiseEdgeEntsOrNull<EntsDataModel, ToTable>, PromiseQueryOrNull<EntsDataModel, ToTable>, PromiseEntOrNull<EntsDataModel, ToTable>, PromiseEntOrNull<EntsDataModel, ToTable>>;
@@ -496,6 +497,7 @@ interface PromiseEntId<EntsDataModel extends GenericEntsDataModel, Table extends
496
497
  }
497
498
  interface EntQueryCtx<DataModel extends GenericDataModel> {
498
499
  db: GenericDatabaseReader<DataModel>;
500
+ vectorSearch?: undefined;
499
501
  }
500
502
  interface EntMutationCtx<DataModel extends GenericDataModel> extends EntQueryCtx<DataModel> {
501
503
  db: GenericDatabaseWriter<DataModel>;
@@ -505,10 +507,6 @@ type DocRetriever<ID, Doc> = () => Promise<{
505
507
  id: ID;
506
508
  doc: () => Promise<Doc>;
507
509
  }>;
508
- type IndexFieldTypesForEq<EntsDataModel extends GenericEntsDataModel, Table extends TableNamesInDataModel<EntsDataModel>, T extends string[]> = Pop<{
509
- [K in keyof T]: FieldTypeFromFieldPath<DocumentByName<EntsDataModel, Table>, T[K]>;
510
- }>;
511
- type Pop<T extends any[]> = T extends [...infer Rest, infer _Last] ? Rest : never;
512
510
  declare function addEntRules<EntsDataModel extends GenericEntsDataModel>(entDefinitions: EntsDataModel, rules: {
513
511
  [Table in keyof EntsDataModel]?: Table extends TableNamesInDataModel<EntsDataModel> ? {
514
512
  read?: (ent: Ent<Table, DocumentByName<EntsDataModel, Table>, EntsDataModel>) => Promise<boolean>;
@@ -545,7 +543,373 @@ declare function getWriteRule(entDefinitions: GenericEntsDataModel, table: strin
545
543
  ent: Ent<any, GenericDocument, any>;
546
544
  value: undefined;
547
545
  }) => Promise<boolean>) | undefined;
548
- declare function getEdgeDefinitions<EntsDataModel extends GenericEntsDataModel, Table extends TableNamesInDataModel<EntsDataModel>>(entDefinitions: EntsDataModel, table: Table): Record<keyof EntsDataModel[Table]["edges"], EdgeConfig>;
549
546
  declare function getDeletionConfig<EntsDataModel extends GenericEntsDataModel, Table extends TableNamesInDataModel<EntsDataModel>>(entDefinitions: EntsDataModel, table: Table): DeletionConfig | undefined;
550
547
 
551
- export { type EntQueryCtx as $, type PromiseEnt as A, type PromiseArrayOrNull as B, type PromiseArray as C, entWrapper as D, type EdgeChanges as E, entsTableFactory as F, type EntsTable as G, type EntsTableWriter as H, type Ent as I, type GenericEnt as J, type PromiseEdge as K, type PromiseEdgeOrThrow as L, type PromiseEdgeWriter as M, type PromiseEdgeWriterOrThrow as N, type PromiseEdgeWriterOrNull as O, type PromiseOrderedQueryOrNull as P, type PromiseOrderedQueryWriter as Q, type PromiseQueryWriter as R, type PromiseEntsWriter as S, type PromisePaginationResultWriterOrNull as T, type PromisePaginationResultWriter as U, type PromiseTableWriter as V, WriterImplBase as W, type PromiseEntWriterOrNull as X, type PromiseEntWriter as Y, type GenericEntWriter as Z, type PromiseEntId as _, type WithEdgeInserts as a, type EntMutationCtx as a0, type DocRetriever as a1, addEntRules as a2, getReadRule as a3, getWriteRule as a4, getEdgeDefinitions as a5, getDeletionConfig as a6, type WithEdges as b, type WithEdgePatches as c, type PromiseOrderedQueryWriterOrNull as d, type PromiseQueryOrNull as e, type PromiseQueryWriterOrNull as f, type PromiseTableBase as g, type PromiseTable as h, type PromiseOrderedQueryBase as i, type PromiseOrderedQuery as j, type PromiseQuery as k, type PromisePaginationResultOrNull as l, type PromisePaginationResult as m, type PromiseEntsOrNull as n, type PromiseEntsWriterOrNull as o, type PromiseEnts as p, type PromiseEntsOrNulls as q, type PromiseEdgeOrderedEntsOrNull as r, type PromiseEdgeEntsOrNull as s, type PromiseEdgeOrderedEntsWriterOrNull as t, type PromiseEdgeEntsWriterOrNull as u, type PromiseEdgeOrderedEnts as v, type PromiseEdgeEnts as w, type PromiseEdgeOrderedEntsWriter as x, type PromiseEdgeEntsWriter as y, type PromiseEntOrNull as z };
548
+ interface EntActionCtx<DataModel extends GenericDataModel> {
549
+ runQuery: GenericActionCtx<DataModel>["runQuery"];
550
+ runMutation: GenericActionCtx<DataModel>["runMutation"];
551
+ vectorSearch: GenericActionCtx<DataModel>["vectorSearch"];
552
+ }
553
+ type ActionReadFuncRef = FunctionReference<"query", "internal", {
554
+ read: SerializedRead;
555
+ }, any>;
556
+ type ActionWriteFuncRef = FunctionReference<"mutation", "internal", {
557
+ write: SerializedWrite;
558
+ }, any>;
559
+ type SerializedRead = ({
560
+ table: [string, string?, ReadonlyArray<SerializedRangeExpression>?];
561
+ } | {
562
+ search: [string, ReadonlyArray<SerializedSearchFilter>];
563
+ } | {
564
+ order: ["asc" | "desc", string?];
565
+ } | {
566
+ normalizeId: string;
567
+ } | {
568
+ normalizeIdX: string;
569
+ } | {
570
+ get: any[];
571
+ } | {
572
+ getX: any[];
573
+ } | {
574
+ getMany: any[];
575
+ } | {
576
+ getManyX: any[];
577
+ } | {
578
+ filter: JSONValue;
579
+ } | {
580
+ take: number;
581
+ } | {
582
+ paginate: PaginationOptions;
583
+ } | {
584
+ first: true;
585
+ } | {
586
+ firstX: true;
587
+ } | {
588
+ unique: true;
589
+ } | {
590
+ uniqueX: true;
591
+ } | {
592
+ edge: string;
593
+ } | {
594
+ edgeX: string;
595
+ } | {
596
+ has: GenericId<any>;
597
+ })[];
598
+ type SerializedWrite = (SerializedRead[number] | {
599
+ insert: WithoutSystemFields<WithEdgeInserts<GenericDocument, any>>;
600
+ } | {
601
+ insertMany: WithoutSystemFields<WithEdgeInserts<GenericDocument, any>>[];
602
+ } | {
603
+ patch: Partial<WithEdgePatches<GenericDocument, any>>;
604
+ } | {
605
+ replace: WithOptionalSystemFields<WithEdges<GenericDocument, any>>;
606
+ } | {
607
+ delete: true;
608
+ })[];
609
+ type SerializedRangeExpression = {
610
+ type: "Eq" | "Gt" | "Gte" | "Lt" | "Lte";
611
+ fieldPath: string;
612
+ value: JSONValue;
613
+ };
614
+ declare function entsActionReadFactory(ctx: {
615
+ table: EntsTable<any>;
616
+ }, args_: {
617
+ [key: string]: unknown;
618
+ }): Promise<any>;
619
+ declare function entsActionWriteFactory(ctx: {
620
+ table: EntsTableWriter<any>;
621
+ }, args_: {
622
+ [key: string]: unknown;
623
+ }): Promise<any>;
624
+ type EntsTableAction<EntsDataModel extends GenericEntsDataModel> = {
625
+ <Table extends TableNamesInDataModel<EntsDataModel>, IndexName extends IndexNames<NamedTableInfo<EntsDataModel, Table>>>(table: Table, indexName: IndexName, indexRange?: (q: IndexRangeBuilder<DocumentByName<EntsDataModel, Table>, NamedIndex<NamedTableInfo<EntsDataModel, Table>, IndexName>>) => IndexRange): PromiseTableAction<Table, EntsDataModel>;
626
+ <Table extends TableNamesInDataModel<EntsDataModel>>(table: Table): PromiseTableAction<Table, EntsDataModel>;
627
+ system: EntsTableAction<EntsSystemDataModel>;
628
+ };
629
+ interface PromiseTableAction<Table extends TableNamesInDataModel<EntsDataModel>, EntsDataModel extends GenericEntsDataModel> extends PromiseQueryAction<EntsDataModel, Table> {
630
+ /**
631
+ * If given a valid ID for the given table, returns it, or returns null if the ID
632
+ * is from a different table or is not a valid ID.
633
+ *
634
+ * This does not guarantee that the ID exists (i.e. `table("foo").get(id)` may return `null`).
635
+ */
636
+ normalizeId(id: string): Promise<GenericId<Table> | null>;
637
+ /**
638
+ * If given a valid ID for the given table, returns it, or throws if the ID
639
+ * is from a different table or is not a valid ID.
640
+ *
641
+ * This does not guarantee that the ID exists (i.e. `table("foo").get(id)` may return `null`).
642
+ */
643
+ normalizeIdX(id: string): Promise<GenericId<Table>>;
644
+ get<Indexes extends EntsDataModel[Table]["indexes"], Index extends keyof Indexes>(indexName: Index, ...values: IndexFieldTypesForEq<EntsDataModel, Table, Indexes[Index]>): PromiseEntActionOrNull<EntsDataModel, Table>;
645
+ get(id: GenericId<Table>): PromiseEntActionOrNull<EntsDataModel, Table>;
646
+ /**
647
+ * Fetch a unique document from the DB using given index, throw if it doesn't exist.
648
+ */
649
+ getX<Indexes extends EntsDataModel[Table]["indexes"], Index extends keyof Indexes>(indexName: Index, ...values: IndexFieldTypesForEq<EntsDataModel, Table, Indexes[Index]>): PromiseEntAction<EntsDataModel, Table>;
650
+ /**
651
+ * Fetch a document from the DB for a given ID, throw if it doesn't exist.
652
+ */
653
+ getX(id: GenericId<Table>): PromiseEntAction<EntsDataModel, Table>;
654
+ getMany<Indexes extends EntsDataModel[Table]["indexes"], Index extends keyof Indexes>(indexName: Index, values: FieldTypeFromFieldPath<DocumentByName<EntsDataModel, Table>, Indexes[Index][0]>[]): PromiseEntsActionOrNulls<EntsDataModel, Table>;
655
+ getMany(ids: GenericId<Table>[]): PromiseEntsActionOrNulls<EntsDataModel, Table>;
656
+ getManyX<Indexes extends EntsDataModel[Table]["indexes"], Index extends keyof Indexes>(indexName: Index, values: FieldTypeFromFieldPath<DocumentByName<EntsDataModel, Table>, Indexes[Index][0]>[]): PromiseEntsAction<EntsDataModel, Table>;
657
+ getManyX(ids: GenericId<Table>[]): PromiseEntsAction<EntsDataModel, Table>;
658
+ /**
659
+ * Query by running a full text search against a search index.
660
+ *
661
+ * Search queries must always search for some text within the index's
662
+ * `searchField`. This query can optionally add equality filters for any
663
+ * `filterFields` specified in the index.
664
+ *
665
+ * Documents will be returned in relevance order based on how well they
666
+ * match the search text.
667
+ *
668
+ * To learn about full text search, see [Indexes](https://docs.convex.dev/text-search).
669
+ *
670
+ * @param indexName - The name of the search index to query.
671
+ * @param searchFilter - A search filter expression constructed with the
672
+ * supplied {@link SearchFilterBuilder}. This defines the full text search to run
673
+ * along with equality filtering to run within the search index.
674
+ * @returns - A query that searches for matching documents, returning them
675
+ * in relevancy order.
676
+ */
677
+ search<IndexName extends SearchIndexNames<NamedTableInfo<EntsDataModel, Table>>>(indexName: IndexName, searchFilter: (q: SearchFilterBuilder<DocumentByName<EntsDataModel, Table>, NamedSearchIndex<NamedTableInfo<EntsDataModel, Table>, IndexName>>) => SearchFilter): PromiseOrderedQueryAction<EntsDataModel, Table>;
678
+ /**
679
+ * Insert a new document into a table.
680
+ *
681
+ * @param table - The name of the table to insert a new document into.
682
+ * @param value - The {@link Value} to insert into the given table.
683
+ * @returns - {@link GenericId} of the new document.
684
+ */
685
+ insert(value: Expand<WithoutSystemFields<WithEdgeInserts<DocumentByName<EntsDataModel, Table>, EntsDataModel[Table]["edges"]>>>): PromiseEntIdAction<EntsDataModel, Table>;
686
+ /**
687
+ * Insert new documents into a table.
688
+ *
689
+ * @param table - The name of the table to insert a new document into.
690
+ * @param value - The {@link Value} to insert into the given table.
691
+ * @returns - {@link GenericId} of the new document.
692
+ */
693
+ insertMany(values: Expand<WithoutSystemFields<WithEdgeInserts<DocumentByName<EntsDataModel, Table>, EntsDataModel[Table]["edges"]>>>[]): Promise<GenericId<Table>[]>;
694
+ }
695
+ interface PromiseEntIdAction<EntsDataModel extends GenericEntsDataModel, Table extends TableNamesInDataModel<EntsDataModel>> extends Promise<GenericId<Table>> {
696
+ get(): Promise<DocumentByName<EntsDataModel, Table>>;
697
+ }
698
+ interface PromiseEntActionOrNull<EntsDataModel extends GenericEntsDataModel, Table extends TableNamesInDataModel<EntsDataModel>> extends Promise<DocumentByName<EntsDataModel, Table> | null> {
699
+ edge<Edge extends keyof EntsDataModel[Table]["edges"]>(edge: Edge): PromiseEdgeActionOrNull<EntsDataModel, Table, Edge>;
700
+ }
701
+ interface PromiseEntAction<EntsDataModel extends GenericEntsDataModel, Table extends TableNamesInDataModel<EntsDataModel>> extends Promise<DocumentByName<EntsDataModel, Table>> {
702
+ edge<Edge extends keyof EntsDataModel[Table]["edges"]>(edge: Edge): PromiseEdgeAction<EntsDataModel, Table, Edge>;
703
+ /**
704
+ * Patch this existing document, shallow merging it with the given partial
705
+ * document.
706
+ *
707
+ * New fields are added. Existing fields are overwritten. Fields set to
708
+ * `undefined` are removed.
709
+ *
710
+ * @param value - The partial {@link GenericDocument} to merge into this document. If this new value
711
+ * specifies system fields like `_id`, they must match the document's existing field values.
712
+ */
713
+ patch(value: Partial<Expand<WithEdgePatches<DocumentByName<EntsDataModel, Table>, EntsDataModel[Table]["edges"]>>>): PromiseEntIdAction<EntsDataModel, Table>;
714
+ /**
715
+ * Replace the value of an existing document, overwriting its old value.
716
+ *
717
+ * @param value - The new {@link GenericDocument} for the document. This value can omit the system fields,
718
+ * and the database will preserve them in.
719
+ */
720
+ replace(value: Expand<WithOptionalSystemFields<WithEdges<DocumentByName<EntsDataModel, Table>, EntsDataModel[Table]["edges"]>>>): PromiseEntIdAction<EntsDataModel, Table>;
721
+ /**
722
+ * Delete this existing document.
723
+ *
724
+ * @param id - The {@link GenericId} of the document to remove.
725
+ */
726
+ delete(): Promise<GenericId<Table>>;
727
+ }
728
+ interface PromiseEntsActionOrNulls<EntsDataModel extends GenericEntsDataModel, Table extends TableNamesInDataModel<EntsDataModel>> extends Promise<(DocumentByName<EntsDataModel, Table> | null)[]> {
729
+ }
730
+ interface PromiseEntsActionOrNull<EntsDataModel extends GenericEntsDataModel, Table extends TableNamesInDataModel<EntsDataModel>> extends Promise<DocumentByName<EntsDataModel, Table>[] | null> {
731
+ }
732
+ interface PromiseEntsAction<EntsDataModel extends GenericEntsDataModel, Table extends TableNamesInDataModel<EntsDataModel>> extends Promise<DocumentByName<EntsDataModel, Table>[]> {
733
+ }
734
+ type PromiseEdgeAction<EntsDataModel extends GenericEntsDataModel, Table extends TableNamesInDataModel<EntsDataModel>, Edge extends keyof EntsDataModel[Table]["edges"], Config extends GenericEdgeConfig = EntsDataModel[Table]["edges"][Edge], ToTable extends TableNamesInDataModel<EntsDataModel> = EntsDataModel[Table]["edges"][Edge]["to"]> = PromiseEdgeResult<Config, PromiseEdgeEntsAction<EntsDataModel, ToTable>, PromiseQueryAction<EntsDataModel, ToTable>, PromiseEntActionOrNull<EntsDataModel, ToTable>, PromiseEntAction<EntsDataModel, ToTable>>;
735
+ type PromiseEdgeActionOrThrow<EntsDataModel extends GenericEntsDataModel, Table extends TableNamesInDataModel<EntsDataModel>, Edge extends keyof EntsDataModel[Table]["edges"], Config extends GenericEdgeConfig = EntsDataModel[Table]["edges"][Edge], ToTable extends TableNamesInDataModel<EntsDataModel> = EntsDataModel[Table]["edges"][Edge]["to"]> = PromiseEdgeResult<Config, PromiseEdgeEntsAction<EntsDataModel, ToTable>, PromiseQueryAction<EntsDataModel, ToTable>, PromiseEntAction<EntsDataModel, ToTable>, PromiseEntAction<EntsDataModel, ToTable>>;
736
+ type PromiseEdgeActionOrNull<EntsDataModel extends GenericEntsDataModel, Table extends TableNamesInDataModel<EntsDataModel>, Edge extends keyof EntsDataModel[Table]["edges"], Config extends GenericEdgeConfig = EntsDataModel[Table]["edges"][Edge], ToTable extends TableNamesInDataModel<EntsDataModel> = EntsDataModel[Table]["edges"][Edge]["to"]> = PromiseEdgeResult<Config, PromiseEdgeEntsActionOrNull<EntsDataModel, ToTable>, PromiseQueryActionOrNull<EntsDataModel, ToTable>, PromiseEntActionOrNull<EntsDataModel, ToTable>, PromiseEntActionOrNull<EntsDataModel, ToTable>>;
737
+ interface PromiseEdgeOrderedEntsActionOrNull<EntsDataModel extends GenericEntsDataModel, Table extends TableNamesInDataModel<EntsDataModel>> extends PromiseEntsActionOrNull<EntsDataModel, Table> {
738
+ /**
739
+ * Paginate the ents on the other end of the edge.
740
+ * Results are ordered by edge's `_creationTime`.
741
+ */
742
+ paginate(paginationOpts: PaginationOptions): PromisePaginationResultActionOrNull<EntsDataModel, Table>;
743
+ /**
744
+ * Take the first `n` ents on the other end of the edge
745
+ * ordered by edge's `_creationTime`.
746
+ */
747
+ take(n: number): PromiseEntsActionOrNull<EntsDataModel, Table>;
748
+ /**
749
+ * Returns the first ent on the other end of the edge
750
+ * ordered by edge's `_creationTime`, or `null`.
751
+ */
752
+ first(): PromiseEntActionOrNull<EntsDataModel, Table>;
753
+ /**
754
+ * Returns the only ent on the other end of the edge,
755
+ * `null` if there are none, or throws if there are more than one.
756
+ */
757
+ unique(): PromiseEntActionOrNull<EntsDataModel, Table>;
758
+ }
759
+ interface PromiseEdgeEntsActionOrNull<EntsDataModel extends GenericEntsDataModel, Table extends TableNamesInDataModel<EntsDataModel>> extends PromiseEdgeOrderedEntsActionOrNull<EntsDataModel, Table> {
760
+ /**
761
+ * Returns whether there is an ent with given ID on the other side
762
+ * the edge. Returns null if chained to a null result.
763
+ * @param id The ID of the ent on the other end of the edge
764
+ */
765
+ has(id: GenericId<Table>): Promise<boolean | null>;
766
+ /**
767
+ * Query the ents on the other end of the edge
768
+ * ordered by edge's `_creationTime`.
769
+ */
770
+ order(order: "asc" | "desc", indexName?: IndexNames<NamedTableInfo<EntsDataModel, Table>>): PromiseEdgeOrderedEntsActionOrNull<EntsDataModel, Table>;
771
+ }
772
+ interface PromiseEdgeOrderedEntsAction<EntsDataModel extends GenericEntsDataModel, Table extends TableNamesInDataModel<EntsDataModel>> extends PromiseEntsAction<EntsDataModel, Table> {
773
+ /**
774
+ * Paginate the ents on the other end of the edge.
775
+ * Results are ordered by edge's `_creationTime`.
776
+ */
777
+ paginate(paginationOpts: PaginationOptions): PromisePaginationResultAction<EntsDataModel, Table>;
778
+ /**
779
+ * Take the first `n` ents on the other end of the edge
780
+ * ordered by edge's `_creationTime`.
781
+ */
782
+ take(n: number): PromiseEntsAction<EntsDataModel, Table>;
783
+ /**
784
+ * Returns the first ent on the other end of the edge
785
+ * ordered by edge's `_creationTime`, or `null`.
786
+ */
787
+ first(): PromiseEntActionOrNull<EntsDataModel, Table>;
788
+ /**
789
+ * Returns the first ent on the other end of the edge
790
+ * ordered by edge's `_creationTime`, or throws if there
791
+ * are no ents on the other end of the edge.
792
+ */
793
+ firstX(): PromiseEntAction<EntsDataModel, Table>;
794
+ /**
795
+ * Returns the only ent on the other end of the edge,
796
+ * `null` if there are none, or throws if there are more than one.
797
+ */
798
+ unique(): PromiseEntActionOrNull<EntsDataModel, Table>;
799
+ /**
800
+ * Returns the only ent on the other end of the edge,
801
+ * or throws if there are none or more than one.
802
+ */
803
+ uniqueX(): PromiseEntAction<EntsDataModel, Table>;
804
+ }
805
+ interface PromiseEdgeEntsAction<EntsDataModel extends GenericEntsDataModel, Table extends TableNamesInDataModel<EntsDataModel>> extends PromiseEdgeOrderedEntsAction<EntsDataModel, Table> {
806
+ /**
807
+ * Returns whether there is an ent with given ID on the other side
808
+ * the edge.
809
+ * @param id The ID of the ent on the other end of the edge
810
+ */
811
+ has(id: GenericId<Table>): Promise<boolean>;
812
+ /**
813
+ * Query the ents on the other end of the edge
814
+ * ordered by edge's `_creationTime`.
815
+ */
816
+ order(order: "asc" | "desc", indexName?: IndexNames<NamedTableInfo<EntsDataModel, Table>>): PromiseEdgeOrderedEntsAction<EntsDataModel, Table>;
817
+ }
818
+ interface PromiseOrderedQueryAction<EntsDataModel extends GenericEntsDataModel, Table extends TableNamesInDataModel<EntsDataModel>> extends Promise<DocumentByName<EntsDataModel, Table>[]> {
819
+ filter(predicate: (q: FilterBuilder<NamedTableInfo<EntsDataModel, Table>>) => ExpressionOrValue<boolean>): this;
820
+ paginate(paginationOpts: PaginationOptions): PromisePaginationResultAction<EntsDataModel, Table>;
821
+ take(n: number): PromiseEntsAction<EntsDataModel, Table>;
822
+ first(): PromiseEntActionOrNull<EntsDataModel, Table>;
823
+ firstX(): PromiseEntAction<EntsDataModel, Table>;
824
+ unique(): PromiseEntActionOrNull<EntsDataModel, Table>;
825
+ uniqueX(): PromiseEntAction<EntsDataModel, Table>;
826
+ }
827
+ interface PromiseQueryAction<EntsDataModel extends GenericEntsDataModel, Table extends TableNamesInDataModel<EntsDataModel>> extends PromiseOrderedQueryAction<EntsDataModel, Table> {
828
+ order(order: "asc" | "desc", indexName?: IndexNames<NamedTableInfo<EntsDataModel, Table>>): PromiseOrderedQueryAction<EntsDataModel, Table>;
829
+ }
830
+ interface PromisePaginationResultActionOrNull<EntsDataModel extends GenericEntsDataModel, Table extends TableNamesInDataModel<EntsDataModel>> extends Promise<PaginationResult<DocumentByName<EntsDataModel, Table>> | null> {
831
+ }
832
+ interface PromisePaginationResultAction<EntsDataModel extends GenericEntsDataModel, Table extends TableNamesInDataModel<EntsDataModel>> extends Promise<PaginationResult<DocumentByName<EntsDataModel, Table>>> {
833
+ }
834
+ interface PromiseOrderedQueryActionOrNull<EntsDataModel extends GenericEntsDataModel, Table extends TableNamesInDataModel<EntsDataModel>> extends Promise<DocumentByName<EntsDataModel, Table>[] | null> {
835
+ filter(predicate: (q: FilterBuilder<NamedTableInfo<EntsDataModel, Table>>) => ExpressionOrValue<boolean>): this;
836
+ paginate(paginationOpts: PaginationOptions): PromisePaginationResultActionOrNull<EntsDataModel, Table>;
837
+ take(n: number): PromiseEntsActionOrNull<EntsDataModel, Table>;
838
+ first(): PromiseEntActionOrNull<EntsDataModel, Table>;
839
+ unique(): PromiseEntActionOrNull<EntsDataModel, Table>;
840
+ }
841
+ interface PromiseQueryActionOrNull<EntsDataModel extends GenericEntsDataModel, Table extends TableNamesInDataModel<EntsDataModel>> extends PromiseOrderedQueryActionOrNull<EntsDataModel, Table> {
842
+ order(order: "asc" | "desc", indexName?: IndexNames<NamedTableInfo<EntsDataModel, Table>>): PromiseOrderedQueryActionOrNull<EntsDataModel, Table>;
843
+ }
844
+ declare class PromiseQueryActionOrNullImpl<EntsDataModel extends GenericEntsDataModel, Table extends TableNamesInDataModel<EntsDataModel>> extends Promise<DocumentByName<EntsDataModel, Table>[] | null> implements PromiseQueryActionOrNull<EntsDataModel, Table> {
845
+ protected ctx: EntActionCtx<EntsDataModel>;
846
+ protected entDefinitions: EntsDataModel;
847
+ protected table: Table;
848
+ protected read: SerializedRead;
849
+ constructor(ctx: EntActionCtx<EntsDataModel>, entDefinitions: EntsDataModel, table: Table, read: SerializedRead);
850
+ filter(predicate: (q: FilterBuilder<NamedTableInfo<EntsDataModel, Table>>) => ExpressionOrValue<boolean>): any;
851
+ order(order: "asc" | "desc", indexName?: IndexNames<NamedTableInfo<EntsDataModel, Table>>): any;
852
+ paginate(paginationOpts: PaginationOptions): PromisePaginationResultActionOrNullImpl<EntsDataModel, Table>;
853
+ take(n: number): Promise<any>;
854
+ first(): any;
855
+ firstX(): any;
856
+ unique(): any;
857
+ uniqueX(): any;
858
+ then<TResult1 = DocumentByName<EntsDataModel, Table>[] | null, TResult2 = never>(onfulfilled?: ((value: DocumentByName<EntsDataModel, Table>[] | null) => TResult1 | PromiseLike<TResult1>) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | undefined | null): Promise<TResult1 | TResult2>;
859
+ }
860
+ declare class PromiseTableActionImpl<EntsDataModel extends GenericEntsDataModel, Table extends TableNamesInDataModel<EntsDataModel>> extends PromiseQueryActionOrNullImpl<EntsDataModel, Table> {
861
+ constructor(ctx: EntActionCtx<EntsDataModel>, entDefinitions: EntsDataModel, table: Table);
862
+ get(...args: any[]): PromiseEntActionImpl<EntsDataModel, Table>;
863
+ getX(...args: any[]): PromiseEntActionImpl<EntsDataModel, Table>;
864
+ getMany(...args: any[]): Promise<any>;
865
+ getManyX(...args: any[]): Promise<any>;
866
+ normalizeId(id: string): Promise<GenericId<Table> | null>;
867
+ normalizeIdX(id: string): Promise<GenericId<Table>>;
868
+ withIndex(indexName: IndexNames<NamedTableInfo<EntsDataModel, Table>>, indexRange?: (q: IndexRangeBuilder<DocumentByName<EntsDataModel, Table>, NamedIndex<NamedTableInfo<EntsDataModel, Table>, typeof indexName>>) => IndexRange): PromiseQueryActionOrNullImpl<EntsDataModel, Table>;
869
+ search<IndexName extends SearchIndexNames<NamedTableInfo<EntsDataModel, Table>>>(indexName: IndexName, searchFilter: (q: SearchFilterBuilder<DocumentByName<EntsDataModel, Table>, NamedSearchIndex<NamedTableInfo<EntsDataModel, Table>, IndexName>>) => SearchFilter): PromiseQueryActionOrNullImpl<EntsDataModel, Table>;
870
+ insert(value: WithoutSystemFields<WithEdgeInserts<DocumentByName<EntsDataModel, Table>, EntsDataModel[Table]["edges"]>>): PromiseEntIdActionImpl<EntsDataModel, Table>;
871
+ insertMany(values: WithoutSystemFields<WithEdgeInserts<DocumentByName<EntsDataModel, Table>, EntsDataModel[Table]["edges"]>>[]): Promise<any>;
872
+ }
873
+ declare class PromisePaginationResultActionOrNullImpl<EntsDataModel extends GenericEntsDataModel, Table extends TableNamesInDataModel<EntsDataModel>> extends Promise<PaginationResult<DocumentByName<EntsDataModel, Table>> | null> implements PromisePaginationResultActionOrNull<EntsDataModel, Table> {
874
+ private ctx;
875
+ private entDefinitions;
876
+ private table;
877
+ private read;
878
+ constructor(ctx: EntActionCtx<EntsDataModel>, entDefinitions: EntsDataModel, table: Table, read: SerializedRead);
879
+ then<TResult1 = DocumentByName<EntsDataModel, Table>[] | null, TResult2 = never>(onfulfilled?: ((value: PaginationResult<DocumentByName<EntsDataModel, Table>> | null) => TResult1 | PromiseLike<TResult1>) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | undefined | null): Promise<TResult1 | TResult2>;
880
+ }
881
+ declare class PromiseEntActionImpl<EntsDataModel extends GenericEntsDataModel, Table extends TableNamesInDataModel<EntsDataModel>> extends Promise<DocumentByName<EntsDataModel, Table> | null> {
882
+ protected ctx: EntActionCtx<EntsDataModel>;
883
+ protected entDefinitions: EntsDataModel;
884
+ protected table: Table;
885
+ protected read: SerializedRead;
886
+ constructor(ctx: EntActionCtx<EntsDataModel>, entDefinitions: EntsDataModel, table: Table, read: SerializedRead);
887
+ then<TResult1 = Ent<Table, DocumentByName<EntsDataModel, Table>, EntsDataModel> | null, TResult2 = never>(onfulfilled?: ((value: Ent<Table, DocumentByName<EntsDataModel, Table>, EntsDataModel> | null) => TResult1 | PromiseLike<TResult1>) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | undefined | null): Promise<TResult1 | TResult2>;
888
+ edge<Edge extends keyof EntsDataModel[Table]["edges"]>(edge: Edge): any;
889
+ edgeX<Edge extends keyof EntsDataModel[Table]["edges"]>(edge: Edge): any;
890
+ edgeImpl<Edge extends keyof EntsDataModel[Table]["edges"]>(edge: Edge, throwIfNull?: boolean): any;
891
+ patch(value: Partial<WithEdgePatches<DocumentByName<EntsDataModel, Table>, EntsDataModel[Table]["edges"]>>): PromiseEntIdActionImpl<EntsDataModel, Table>;
892
+ replace(value: WithOptionalSystemFields<WithEdges<DocumentByName<EntsDataModel, Table>, EntsDataModel[Table]["edges"]>>): PromiseEntIdActionImpl<EntsDataModel, Table>;
893
+ delete(): Promise<any>;
894
+ }
895
+ declare class PromiseEntIdActionImpl<EntsDataModel extends GenericEntsDataModel, Table extends TableNamesInDataModel<EntsDataModel>> extends Promise<GenericId<Table>> implements PromiseEntIdAction<EntsDataModel, Table> {
896
+ private ctx;
897
+ private entDefinitions;
898
+ private table;
899
+ private write;
900
+ constructor(ctx: EntActionCtx<EntsDataModel>, entDefinitions: EntsDataModel, table: Table, write: SerializedWrite);
901
+ get(): Promise<any>;
902
+ then<TResult1 = GenericId<Table>, TResult2 = never>(onfulfilled?: ((value: GenericId<Table>) => TResult1 | PromiseLike<TResult1>) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | undefined | null): Promise<TResult1 | TResult2>;
903
+ }
904
+ declare function serializeExpression(expr: ExpressionOrValue<Value | undefined>): JSONValue;
905
+ type SerializedSearchFilter = {
906
+ type: "Search";
907
+ fieldPath: string;
908
+ value: string;
909
+ } | {
910
+ type: "Eq";
911
+ fieldPath: string;
912
+ value: Value;
913
+ };
914
+
915
+ export { type EntQueryCtx as $, type PromiseEnt as A, type PromiseArrayOrNull as B, type PromiseArray as C, entWrapper as D, type EdgeChanges as E, entsTableFactory as F, type EntsTable as G, type EntsTableWriter as H, type Ent as I, type GenericEnt as J, type PromiseEdge as K, type PromiseEdgeOrThrow as L, type PromiseEdgeWriter as M, type PromiseEdgeWriterOrThrow as N, type PromiseEdgeWriterOrNull as O, type PromiseOrderedQueryOrNull as P, type PromiseOrderedQueryWriter as Q, type PromiseQueryWriter as R, type PromiseEntsWriter as S, type PromisePaginationResultWriterOrNull as T, type PromisePaginationResultWriter as U, type PromiseTableWriter as V, WriterImplBase as W, type PromiseEntWriterOrNull as X, type PromiseEntWriter as Y, type GenericEntWriter as Z, type PromiseEntId as _, type WithEdgeInserts as a, type EntMutationCtx as a0, type DocRetriever as a1, addEntRules as a2, getReadRule as a3, getWriteRule as a4, getDeletionConfig as a5, type EntActionCtx as a6, type ActionReadFuncRef as a7, type ActionWriteFuncRef as a8, entsActionReadFactory as a9, entsActionWriteFactory as aa, type EntsTableAction as ab, type PromiseTableAction as ac, type PromiseEntIdAction as ad, type PromiseEntActionOrNull as ae, type PromiseEntAction as af, type PromiseEntsActionOrNulls as ag, type PromiseEntsActionOrNull as ah, type PromiseEntsAction as ai, type PromiseEdgeAction as aj, type PromiseEdgeActionOrThrow as ak, type PromiseEdgeActionOrNull as al, type PromiseEdgeOrderedEntsActionOrNull as am, type PromiseEdgeEntsActionOrNull as an, type PromiseEdgeOrderedEntsAction as ao, type PromiseEdgeEntsAction as ap, type PromiseOrderedQueryAction as aq, type PromiseQueryAction as ar, type PromisePaginationResultActionOrNull as as, type PromisePaginationResultAction as at, type PromiseOrderedQueryActionOrNull as au, type PromiseQueryActionOrNull as av, PromiseTableActionImpl as aw, serializeExpression as ax, type SerializedSearchFilter as ay, type WithEdges as b, type WithEdgePatches as c, type PromiseOrderedQueryWriterOrNull as d, type PromiseQueryOrNull as e, type PromiseQueryWriterOrNull as f, type PromiseTableBase as g, type PromiseTable as h, type PromiseOrderedQueryBase as i, type PromiseOrderedQuery as j, type PromiseQuery as k, type PromisePaginationResultOrNull as l, type PromisePaginationResult as m, type PromiseEntsOrNull as n, type PromiseEntsWriterOrNull as o, type PromiseEnts as p, type PromiseEntsOrNulls as q, type PromiseEdgeOrderedEntsOrNull as r, type PromiseEdgeEntsOrNull as s, type PromiseEdgeOrderedEntsWriterOrNull as t, type PromiseEdgeEntsWriterOrNull as u, type PromiseEdgeOrderedEnts as v, type PromiseEdgeEnts as w, type PromiseEdgeOrderedEntsWriter as x, type PromiseEdgeEntsWriter as y, type PromiseEntOrNull as z };
package/dist/index.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  export { EntDefinition, defineEnt, defineEntFromTable, defineEntSchema, defineEntsFromTables, getEntDefinitions } from './schema.js';
2
- export { J as GenericEnt, Z as GenericEntWriter, w as PromiseEdgeEnts, s as PromiseEdgeEntsOrNull, y as PromiseEdgeEntsWriter, M as PromiseEdgeWriter, O as PromiseEdgeWriterOrNull, N as PromiseEdgeWriterOrThrow, A as PromiseEnt, _ as PromiseEntId, z as PromiseEntOrNull, Y as PromiseEntWriter, X as PromiseEntWriterOrNull, p as PromiseEnts, n as PromiseEntsOrNull, q as PromiseEntsOrNulls, S as PromiseEntsWriter, o as PromiseEntsWriterOrNull, j as PromiseOrderedQuery, i as PromiseOrderedQueryBase, P as PromiseOrderedQueryOrNull, Q as PromiseOrderedQueryWriter, d as PromiseOrderedQueryWriterOrNull, k as PromiseQuery, e as PromiseQueryOrNull, R as PromiseQueryWriter, f as PromiseQueryWriterOrNull, h as PromiseTable, g as PromiseTableBase, V as PromiseTableWriter, a2 as addEntRules, F as entsTableFactory } from './index-nOBiMg01.js';
2
+ export { J as GenericEnt, Z as GenericEntWriter, w as PromiseEdgeEnts, s as PromiseEdgeEntsOrNull, y as PromiseEdgeEntsWriter, M as PromiseEdgeWriter, O as PromiseEdgeWriterOrNull, N as PromiseEdgeWriterOrThrow, A as PromiseEnt, _ as PromiseEntId, z as PromiseEntOrNull, Y as PromiseEntWriter, X as PromiseEntWriterOrNull, p as PromiseEnts, n as PromiseEntsOrNull, q as PromiseEntsOrNulls, S as PromiseEntsWriter, o as PromiseEntsWriterOrNull, j as PromiseOrderedQuery, i as PromiseOrderedQueryBase, P as PromiseOrderedQueryOrNull, Q as PromiseOrderedQueryWriter, d as PromiseOrderedQueryWriterOrNull, k as PromiseQuery, e as PromiseQueryOrNull, R as PromiseQueryWriter, f as PromiseQueryWriterOrNull, h as PromiseTable, g as PromiseTableBase, V as PromiseTableWriter, a2 as addEntRules, a9 as entsActionReadFactory, aa as entsActionWriteFactory, F as entsTableFactory } from './index-olos0Rx-.js';
3
3
  export { scheduledDeleteFactory } from './deletion.js';
4
4
  import 'convex/server';
5
5
  import 'convex/values';
6
+ import './shared.js';