UNPKG

@tanstack/db

Version:

A reactive client store for building super fast apps on sync

1 lines • 1.17 kB
{"version":3,"file":"join-conditions.cjs","sources":["../../../src/query/join-conditions.ts"],"sourcesContent":["import { JoinConditionMustBeEqualityError } from '../errors.js'\nimport type { BasicExpression } from './ir.js'\n\n/** Validate join syntax and return its equality operands in source order. */\nexport function validateJoinConditions(\n expression: BasicExpression,\n): Array<readonly [BasicExpression, BasicExpression]> {\n if (expression.type === `func`) {\n if (expression.name === `eq` && expression.args.length === 2) {\n return [[expression.args[0]!, expression.args[1]!]]\n }\n if (expression.name === `and` && expression.args.length > 0) {\n return expression.args.flatMap(validateJoinConditions)\n }\n }\n throw new JoinConditionMustBeEqualityError()\n}\n"],"names":["JoinConditionMustBeEqualityError"],"mappings":";;;AAIO,SAAS,uBACd,YACoD;AACpD,MAAI,WAAW,SAAS,QAAQ;AAC9B,QAAI,WAAW,SAAS,QAAQ,WAAW,KAAK,WAAW,GAAG;AAC5D,aAAO,CAAC,CAAC,WAAW,KAAK,CAAC,GAAI,WAAW,KAAK,CAAC,CAAE,CAAC;AAAA,IACpD;AACA,QAAI,WAAW,SAAS,SAAS,WAAW,KAAK,SAAS,GAAG;AAC3D,aAAO,WAAW,KAAK,QAAQ,sBAAsB;AAAA,IACvD;AAAA,EACF;AACA,QAAM,IAAIA,OAAAA,iCAAA;AACZ;;"}