import { freeze } from '../util/object-utils.js' ; import { OperationNode } from './operation-node.js' ; import { RawNode } from './raw-node.js' ; import { ReferenceNode } from './reference-node.js' ; import { SelectQueryNode } from './select-query-node.js' ; import { ValueNode } from './value-node.js' ; export type ListNodeItem = ValueNode | ReferenceNode | SelectQueryNode | RawNode ; export interface ValueListNode extends OperationNode { readonly kind : 'ValueListNode' ; readonly values : ReadonlyArray < ListNodeItem > ; } internal export const ValueListNode = freeze ( { is ( node ) { return node . kind === 'ValueListNode' ; } , create ( values ) { return freeze ( { kind : 'ValueListNode' , values : freeze ( values ) , } ) ; } , } ) ;