({
edition,
question,
subField = ResultsSubFieldEnum.RESPONSES,
selectedEditionId,
editionCount,
parameters,
filters,
facet,
prefix = 'generic'
}: {
edition: EditionApiObject
question: QuestionApiObject
subField: ResultsSubFieldEnum
selectedEditionId: string
editionCount: number
parameters?: ResponsesParameters
filters?: Filters
facet?: string
prefix?: string
})
| 163 | } |
| 164 | |
| 165 | export const getGenericCacheKey = ({ |
| 166 | edition, |
| 167 | question, |
| 168 | subField = ResultsSubFieldEnum.RESPONSES, |
| 169 | selectedEditionId, |
| 170 | editionCount, |
| 171 | parameters, |
| 172 | filters, |
| 173 | facet, |
| 174 | prefix = 'generic' |
| 175 | }: { |
| 176 | edition: EditionApiObject |
| 177 | question: QuestionApiObject |
| 178 | subField: ResultsSubFieldEnum |
| 179 | selectedEditionId: string |
| 180 | editionCount: number |
| 181 | parameters?: ResponsesParameters |
| 182 | filters?: Filters |
| 183 | facet?: string |
| 184 | prefix?: string |
| 185 | }) => { |
| 186 | const cacheKeyOptions: any = { |
| 187 | editionId: selectedEditionId || `allEditions(${edition.id})`, |
| 188 | questionId: question.id, |
| 189 | editionCount, |
| 190 | subField |
| 191 | } |
| 192 | if (!isEmpty(parameters)) { |
| 193 | const { enableCache, ...cacheKeyParameters } = parameters |
| 194 | if (!isEmpty(cacheKeyParameters)) { |
| 195 | cacheKeyOptions.parameters = { parameters: cacheKeyParameters } |
| 196 | } |
| 197 | } |
| 198 | if (!isEmpty(filters)) { |
| 199 | cacheKeyOptions.filters = { filters } |
| 200 | } |
| 201 | if (!isEmpty(facet)) { |
| 202 | cacheKeyOptions.facet = { facet } |
| 203 | } |
| 204 | return computeKey(prefix, cacheKeyOptions) |
| 205 | } |
| 206 | |
| 207 | export type GenericComputeOptions = { |
| 208 | context: RequestContext |
no test coverage detected