UNPKG

kysely-replication

Version:

Replication-aware Kysely query execution

41 lines (38 loc) 1.1 kB
// src/force/module-augmentation.mts import { QueryCreator, SchemaModule } from "kysely"; // src/force/plugin.mts var WithDialectPlugin = class { #dialect; #replicaIndex; constructor(dialect, replicaIndex) { this.#dialect = dialect; this.#replicaIndex = replicaIndex; } transformQuery(args) { return { ...args.node, // @ts-expect-error __dialect__: this.#dialect, __replicaIndex__: this.#replicaIndex }; } async transformResult(args) { return args.result; } }; // src/force/module-augmentation.mts QueryCreator.prototype.withPrimary = function() { return this.withPlugin(new WithDialectPlugin("primary")); }; QueryCreator.prototype.withReplica = function(replicaIndex) { return this.withPlugin(new WithDialectPlugin("replica", replicaIndex)); }; SchemaModule.prototype.withPrimary = function() { return this.withPlugin(new WithDialectPlugin("primary")); }; SchemaModule.prototype.withReplica = function(replicaIndex) { return this.withPlugin(new WithDialectPlugin("replica", replicaIndex)); }; export { WithDialectPlugin };