{"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;;"}