20 lines
780 B
TypeScript
20 lines
780 B
TypeScript
import type { OperationNode } from './operation-node.js';
|
|
/**
|
|
* This node is basically just a performance optimization over the normal ValueListNode.
|
|
* The queries often contain large arrays of primitive values (for example in a `where in` list)
|
|
* and we don't want to create a ValueNode for each item in those lists.
|
|
*/
|
|
export interface PrimitiveValueListNode extends OperationNode {
|
|
readonly kind: 'PrimitiveValueListNode';
|
|
readonly values: ReadonlyArray<unknown>;
|
|
}
|
|
type PrimitiveValueListNodeFactory = Readonly<{
|
|
is(node: OperationNode): node is PrimitiveValueListNode;
|
|
create(values: ReadonlyArray<unknown>): Readonly<PrimitiveValueListNode>;
|
|
}>;
|
|
/**
|
|
* @internal
|
|
*/
|
|
export declare const PrimitiveValueListNode: PrimitiveValueListNodeFactory;
|
|
export {};
|