import { freeze } from '../util/object-utils.js' ; import { OperationNode } from './operation-node.js' ; import { TableNode } from './table-node.js' ; export type DropTablexNodeParams = Omit < Partial < DropTableNode > , 'kind' | 'table' > ; export interface DropTableNode extends OperationNode { readonly kind : 'DropTableNode' ; readonly table : TableNode ; readonly ifExists ? : boolean ; } internal export const DropTableNode = freeze ( { is ( node ) { return node . kind === 'DropTableNode' ; } , create ( table , params ? ) { return freeze ( { kind : 'DropTableNode' , table , ... params , } ) ; } , cloneWith ( dropIndex , params ) { return freeze ( { ... dropIndex , ... params , } ) ; } , } ) ;