{"version":3,"file":"internal.cjs","names":[],"sources":["../../src/utils/internal.ts"],"sourcesContent":["import { AND_OR_OPERATORS, type GeneDefaultResolverArgs, type ValueOf } from 'graphql-gene'\nimport type { GeneSequelizeWhereOptions } from '../types'\nimport { GENE_TO_SEQUELIZE_OPERATORS } from '../constants'\n\nexport function populateWhereOptions<M>(\n  whereArgs: GeneDefaultResolverArgs<M>['where'],\n  state: GeneSequelizeWhereOptions\n) {\n  for (const attr in whereArgs) {\n    const parseOperators = (\n      operator: string,\n      value:\n        | (typeof whereArgs)[keyof typeof whereArgs]\n        | (typeof whereArgs)[keyof typeof whereArgs][]\n    ) => {\n      if (!(operator in GENE_TO_SEQUELIZE_OPERATORS)) return\n\n      const findOptionsGetter =\n        GENE_TO_SEQUELIZE_OPERATORS[operator as keyof typeof GENE_TO_SEQUELIZE_OPERATORS]\n      return findOptionsGetter(value as string)\n    }\n\n    if (AND_OR_OPERATORS.includes(attr)) {\n      const nestedWheres: ValueOf<GeneSequelizeWhereOptions>[] = []\n      const parsedOperators = parseOperators(attr, nestedWheres)\n\n      if (parsedOperators) {\n        const [op] = parsedOperators\n        state[op] = nestedWheres as (typeof state)[symbol]\n\n        if (Array.isArray(state[op]) && Array.isArray(whereArgs[attr])) {\n          whereArgs[attr].forEach((nestedWhereArgs: typeof whereArgs) => {\n            const nextState = {} as GeneSequelizeWhereOptions\n            state[op].push(nextState)\n            populateWhereOptions(nestedWhereArgs, nextState)\n          })\n        }\n      }\n    } else {\n      state[attr] = state[attr] || {}\n\n      Object.entries(whereArgs[attr]).forEach(([operator, value]) => {\n        const parsedOperators = parseOperators(operator, value)\n        if (!parsedOperators) return\n\n        const [op, opValue] = parsedOperators\n        state[attr][op] = opValue\n      })\n    }\n  }\n}\n"],"mappings":"qIAIA,SAAgB,EACd,EACA,EACA,CACA,IAAK,IAAM,KAAQ,EAAW,CAC5B,IAAM,GACJ,EACA,IAGG,CACH,GAAI,EAAE,KAAY,EAAA,6BAA8B,OAEhD,IAAM,EACJ,EAAA,4BAA4B,GAC9B,OAAO,EAAkB,EAAgB,EAG3C,GAAI,EAAA,iBAAiB,SAAS,EAAK,CAAE,CACnC,IAAM,EAAqD,EAAE,CACvD,EAAkB,EAAe,EAAM,EAAa,CAE1D,GAAI,EAAiB,CACnB,GAAM,CAAC,GAAM,EACb,EAAM,GAAM,EAER,MAAM,QAAQ,EAAM,GAAI,EAAI,MAAM,QAAQ,EAAU,GAAM,EAC5D,EAAU,GAAM,QAAS,GAAsC,CAC7D,IAAM,EAAY,EAAE,CACpB,EAAM,GAAI,KAAK,EAAU,CACzB,EAAqB,EAAiB,EAAU,EAChD,OAIN,EAAM,GAAQ,EAAM,IAAS,EAAE,CAE/B,OAAO,QAAQ,EAAU,GAAM,CAAC,SAAS,CAAC,EAAU,KAAW,CAC7D,IAAM,EAAkB,EAAe,EAAU,EAAM,CACvD,GAAI,CAAC,EAAiB,OAEtB,GAAM,CAAC,EAAI,GAAW,EACtB,EAAM,GAAM,GAAM,GAClB"}