{"version":3,"file":"composeMutationFilters.cjs","sources":["../../../src/lib/composeMutationFilters.ts"],"sourcesContent":["import type { OperationSchema } from './requestFn.js';\nimport { composeMutationKey } from './composeMutationKey.js';\n\n/**\n * Replaces the `parameters` field in the filters with a `mutationKey` field based on the schema.\n * If no filters are provided, a `mutationKey` will be composed schema's base query key.\n * @param schema\n * @param filters\n */\nexport function composeMutationFilters<Filters extends object>(\n  schema: OperationSchema,\n  filters: Filters | undefined\n) {\n  if (!filters) {\n    return {\n      mutationKey: composeMutationKey(schema, undefined),\n    };\n  }\n\n  if (filters && 'mutationKey' in filters && 'parameters' in filters) {\n    throw new Error(\n      `'composeMutationFilters': 'mutationKey' and 'parameters' cannot be used together`\n    );\n  }\n\n  if ('mutationKey' in filters) {\n    return filters;\n  }\n\n  if ('parameters' in filters) {\n    const { parameters, ...filtersWithoutParameters } = filters;\n\n    Object.assign(filtersWithoutParameters, {\n      mutationKey: composeMutationKey(schema, parameters),\n    });\n\n    return filtersWithoutParameters;\n  }\n\n  return {\n    ...filters,\n    mutationKey: composeMutationKey(schema, undefined),\n  };\n}\n"],"names":["composeMutationFilters","schema","filters","mutationKey","composeMutationKey","undefined","Error","parameters","filtersWithoutParameters","Object","assign"],"mappings":";;;;AAGA;;;;;AAKC,IACM,SAASA,sBACdC,CAAAA,MAAuB,EACvBC,OAA4B,EAAA;AAE5B,IAAA,IAAI,CAACA,OAAS,EAAA;QACZ,OAAO;AACLC,YAAAA,WAAAA,EAAaC,sCAAmBH,MAAQI,EAAAA,SAAAA,CAAAA;AAC1C,SAAA,CAAA;AACF,KAAA;AAEA,IAAA,IAAIH,OAAW,IAAA,aAAA,IAAiBA,OAAW,IAAA,YAAA,IAAgBA,OAAS,EAAA;AAClE,QAAA,MAAM,IAAII,KAAAA,CACR,CAAC,gFAAgF,CAAC,CAAA,CAAA;AAEtF,KAAA;AAEA,IAAA,IAAI,iBAAiBJ,OAAS,EAAA;QAC5B,OAAOA,OAAAA,CAAAA;AACT,KAAA;AAEA,IAAA,IAAI,gBAAgBA,OAAS,EAAA;AAC3B,QAAA,MAAM,EAAEK,UAAU,EAAE,GAAGC,0BAA0B,GAAGN,OAAAA,CAAAA;QAEpDO,MAAOC,CAAAA,MAAM,CAACF,wBAA0B,EAAA;AACtCL,YAAAA,WAAAA,EAAaC,sCAAmBH,MAAQM,EAAAA,UAAAA,CAAAA;AAC1C,SAAA,CAAA,CAAA;QAEA,OAAOC,wBAAAA,CAAAA;AACT,KAAA;IAEA,OAAO;AACL,QAAA,GAAGN,OAAO;AACVC,QAAAA,WAAAA,EAAaC,sCAAmBH,MAAQI,EAAAA,SAAAA,CAAAA;AAC1C,KAAA,CAAA;AACF;;;;"}