( predicate: TaskNotesRuntimeNormalizedPredicate )
| 3260 | } |
| 3261 | |
| 3262 | function invertRuntimePredicate( |
| 3263 | predicate: TaskNotesRuntimeNormalizedPredicate |
| 3264 | ): TaskNotesRuntimeNormalizedPredicate | null { |
| 3265 | if ("all" in predicate) { |
| 3266 | return { any: predicate.all.map(invertRuntimePredicate).filter(isDefined) }; |
| 3267 | } |
| 3268 | if ("any" in predicate) { |
| 3269 | return { all: predicate.any.map(invertRuntimePredicate).filter(isDefined) }; |
| 3270 | } |
| 3271 | if ("not" in predicate) return predicate.not; |
| 3272 | const invertedOperator = invertRuntimeOperator(predicate.op); |
| 3273 | return invertedOperator ? { ...predicate, op: invertedOperator } : null; |
| 3274 | } |
| 3275 | |
| 3276 | function invertRuntimeOperator( |
| 3277 | operator: TaskNotesRuntimeOperator |
no test coverage detected