@clickup/ent-framework
Version:
A PostgreSQL graph-database-alike library with microsharding and row-level security
18 lines • 954 B
TypeScript
import type { ID } from "../types";
/**
* The table is located in the global Shard (0).
*/
export declare const GLOBAL_SHARD = "global_shard";
/**
* Defines Ent Shard collocation to some Ent's field when this Ent is inserted.
* - The Shard can always be Shard 0 ("global Shard"), be inferred based on the
* value in other Ent field during the insertion ("colocation"), or, in case
* colocation inference didn't succeed, be chosen pseudo-randomly at insertion
* time ("random Shard").
* - E.g. a random Shard can also be chosen in case an empty array is passed to
* Shard affinity (like "always fallback"), or when a field's value points to
* a global Shard.
* - Passing ID to ShardAffinity is prohibited by TS.
*/
export type ShardAffinity<TField extends string, TF = Exclude<TField, typeof ID>> = typeof GLOBAL_SHARD | (TField extends typeof ID ? readonly TF[] : readonly [TF, ...TF[]]);
//# sourceMappingURL=ShardAffinity.d.ts.map