Files
evento/node_modules/kysely/dist/cjs/operation-node/create-index-node.d.ts
2026-03-18 14:55:56 -03:00

30 lines
1.2 KiB
TypeScript

import { IdentifierNode } from './identifier-node.js';
import type { OperationNode } from './operation-node.js';
import type { RawNode } from './raw-node.js';
import type { TableNode } from './table-node.js';
import type { WhereNode } from './where-node.js';
export type CreateIndexNodeProps = Omit<CreateIndexNode, 'kind' | 'name'>;
export type IndexType = 'btree' | 'hash' | 'gist' | 'gin';
export interface CreateIndexNode extends OperationNode {
readonly kind: 'CreateIndexNode';
readonly name: IdentifierNode;
readonly table?: TableNode;
readonly columns?: OperationNode[];
readonly unique?: boolean;
readonly using?: RawNode;
readonly ifNotExists?: boolean;
readonly where?: WhereNode;
readonly nullsNotDistinct?: boolean;
}
type CreateIndexNodeFactory = Readonly<{
is(node: OperationNode): node is CreateIndexNode;
create(name: string): Readonly<CreateIndexNode>;
cloneWith(node: CreateIndexNode, props: CreateIndexNodeProps): Readonly<CreateIndexNode>;
cloneWithColumns(node: CreateIndexNode, columns: OperationNode[]): Readonly<CreateIndexNode>;
}>;
/**
* @internal
*/
export declare const CreateIndexNode: CreateIndexNodeFactory;
export {};