함수: parseWhereExpression()
function parseWhereExpression<T>(expr, options): T | null;
정의 위치: packages/db/src/query/expression-helpers.ts:201
제공된 핸들러를 사용하여 WHERE 표현식을 사용자 지정 형식으로 구문 분석합니다.
TanStack DB의 where 절을 API의 필터 형식으로 변환하는 주요 헬퍼입니다. 각 연산자에 대한 핸들러를 제공하면 이 함수가 표현식 트리를 순회하고 적절한 핸들러를 호출합니다.
타입 매개변수
T
T = any
매개변수
expr
구문 분석할 WHERE 표현식입니다
BasicExpression<boolean> | null | undefined
options
ParseWhereOptions<T>
각 연산자에 대한 핸들러 함수가 포함된 구성입니다
반환값
T | null
사용자 지정 형식으로 구문 분석된 결과입니다
예제
// REST API with query parameters
const filters = parseWhereExpression(where, {
handlers: {
eq: (field, value) => ({ [field.join('.')]: value }),
lt: (field, value) => ({ [`${field.join('.')}_lt`]: value }),
gt: (field, value) => ({ [`${field.join('.')}_gt`]: value }),
and: (...filters) => Object.assign({}, ...filters),
or: (...filters) => ({ $or: filters })
}
})
// Returns: { category: 'electronics', price_lt: 100 }
// GraphQL where clause
const where = parseWhereExpression(whereExpr, {
handlers: {
eq: (field, value) => ({ [field.join('_')]: { _eq: value } }),
lt: (field, value) => ({ [field.join('_')]: { _lt: value } }),
and: (...filters) => ({ _and: filters })
}
})