convex
Version:
Client for the Convex Cloud
48 lines • 1.53 kB
TypeScript
import { GenericId } from "../values/index.js";
import { BetterOmit, Expand } from "../type_utils.js";
import { GenericDocument } from "./data_model.js";
/**
* The fields that Convex automatically adds to documents, not including `_id`.
*
* This is an object type mapping field name to field type.
* @public
*/
export type SystemFields = {
_creationTime: number;
};
/**
* The `_id` field that Convex automatically adds to documents.
* @public
*/
export type IdField<TableName extends string> = {
_id: GenericId<TableName>;
};
/**
* A Convex document with the system fields like `_id` and `_creationTime` omitted.
*
* @public
*/
export type WithoutSystemFields<Document extends GenericDocument> = Expand<BetterOmit<Document, keyof SystemFields | "_id">>;
/**
* A Convex document with the system fields like `_id` and `_creationTime` optional.
*
* @public
*/
export type WithOptionalSystemFields<Document extends GenericDocument> = Expand<WithoutSystemFields<Document> & Partial<Pick<Document, keyof SystemFields | "_id">>>;
/**
* The indexes that Convex automatically adds to every table.
*
* This is an object mapping index names to index field paths.
* @public
*/
export type SystemIndexes = {
by_id: ["_id"];
by_creation_time: ["_creationTime"];
};
/**
* Convex automatically appends "_creationTime" to the end of every index to
* break ties if all of the other fields are identical.
* @public
*/
export type IndexTiebreakerField = "_creationTime";
//# sourceMappingURL=system_fields.d.ts.map