@clickup/ent-framework
Version:
A PostgreSQL graph-database-alike library with microsharding and row-level security
35 lines (31 loc) • 977 B
text/typescript
/**
* VCFlavor is some piece of info which is transitively attached to a VC and is
* preserved when VC derivation (upgrade/downgrade) is happening. This piece of
* info may be just an object of a separate class with no data (acts like a
* boolean flag), or it can be an object with payload.
*
* For each flavor type, only a single VCFlavor object may exist.
*/
export abstract class VCFlavor {
static readonly _tag: "VCFlavorClass";
readonly _tag!: "VCFlavorInstance";
/**
* Appended to the end of VC.toString() result.
*/
toDebugString(): string {
return "";
}
}
/**
* If turned on, the debug logs will contain caller stack traces for each Ent
* query. This is expensive, use in dev mode only!
*/
export class VCWithStacks extends VCFlavor {}
/**
* If set, Ent cache is enabled for operations in this VC.
*/
export class VCWithQueryCache extends VCFlavor {
constructor(public readonly options: { maxQueries: number }) {
super();
}
}