kysely
Version:
Type safe SQL query builder
36 lines (35 loc) • 867 B
JavaScript
/// <reference types="./join-node.d.ts" />
import { freeze } from '../util/object-utils.js';
import { OnNode } from './on-node.js';
/**
* @internal
*/
export const JoinNode = freeze({
is(node) {
return node.kind === 'JoinNode';
},
create(joinType, table) {
return freeze({
kind: 'JoinNode',
joinType,
table,
on: undefined,
});
},
createWithOn(joinType, table, on) {
return freeze({
kind: 'JoinNode',
joinType,
table,
on: OnNode.create(on),
});
},
cloneWithOn(joinNode, operation) {
return freeze({
...joinNode,
on: joinNode.on
? OnNode.cloneWithOperation(joinNode.on, 'And', operation)
: OnNode.create(operation),
});
},
});