From 0171b0b4892828356689953ca740a6707f567949 Mon Sep 17 00:00:00 2001 From: Patrik Oldsberg Date: Sun, 23 Feb 2025 14:35:39 +0100 Subject: [PATCH] catalog-react: remove $nor predicate Signed-off-by: Patrik Oldsberg --- .../predicates/createEntityPredicateSchema.test.ts | 5 ----- .../alpha/predicates/createEntityPredicateSchema.ts | 1 - .../alpha/predicates/evaluateEntityPredicate.test.ts | 10 ++++++---- .../src/alpha/predicates/evaluateEntityPredicate.ts | 3 --- plugins/catalog-react/src/alpha/predicates/types.ts | 1 - 5 files changed, 6 insertions(+), 14 deletions(-) diff --git a/plugins/catalog-react/src/alpha/predicates/createEntityPredicateSchema.test.ts b/plugins/catalog-react/src/alpha/predicates/createEntityPredicateSchema.test.ts index 986eca5841..2a96df97bb 100644 --- a/plugins/catalog-react/src/alpha/predicates/createEntityPredicateSchema.test.ts +++ b/plugins/catalog-react/src/alpha/predicates/createEntityPredicateSchema.test.ts @@ -31,9 +31,6 @@ describe('createEntityPredicateSchema', () => { { $or: [{ kind: 'component', 'spec.type': 'service' }, { kind: 'group' }], }, - { - $nor: [{ kind: 'component', 'spec.type': 'service' }, { kind: 'group' }], - }, { relations: { $elemMatch: { type: 'ownedBy', targetRef: 'group:default/g' }, @@ -68,7 +65,6 @@ describe('createEntityPredicateSchema', () => { }, { $and: [{ x: { $exists: true } }] }, { $or: [{ x: { $exists: true } }] }, - { $nor: [{ x: { $exists: true } }] }, { $not: { x: { $exists: true } } }, { $not: { $and: [{ x: { $exists: true } }] } }, ])('should accept valid predicate %j', predicate => { @@ -89,7 +85,6 @@ describe('createEntityPredicateSchema', () => { 1, { $and: [{ x: { $unknown: true } }] }, { $or: [{ x: { $unknown: true } }] }, - { $nor: [{ x: { $unknown: true } }] }, { $not: { x: { $unknown: true } } }, { $not: { $and: [{ x: { $unknown: true } }] } }, { $unknown: 'foo' }, diff --git a/plugins/catalog-react/src/alpha/predicates/createEntityPredicateSchema.ts b/plugins/catalog-react/src/alpha/predicates/createEntityPredicateSchema.ts index 42e180736c..1d3bdfacb9 100644 --- a/plugins/catalog-react/src/alpha/predicates/createEntityPredicateSchema.ts +++ b/plugins/catalog-react/src/alpha/predicates/createEntityPredicateSchema.ts @@ -37,7 +37,6 @@ export function createEntityPredicateSchema(z: typeof zImpl) { z.union([ z.object({ $and: z.array(filterSchema) }), z.object({ $or: z.array(filterSchema) }), - z.object({ $nor: z.array(filterSchema) }), z.object({ $not: filterSchema }), z.record(z.string().regex(/^(?!\$).*$/), filterValueSchema), ]), diff --git a/plugins/catalog-react/src/alpha/predicates/evaluateEntityPredicate.test.ts b/plugins/catalog-react/src/alpha/predicates/evaluateEntityPredicate.test.ts index b717ee8c5e..1c3165c4fa 100644 --- a/plugins/catalog-react/src/alpha/predicates/evaluateEntityPredicate.test.ts +++ b/plugins/catalog-react/src/alpha/predicates/evaluateEntityPredicate.test.ts @@ -148,10 +148,12 @@ describe('evaluateEntityPredicate', () => { [ 'w,a', { - $nor: [ - { kind: 'component', 'spec.type': 'service' }, - { kind: 'group' }, - ], + $not: { + $or: [ + { kind: 'component', 'spec.type': 'service' }, + { kind: 'group' }, + ], + }, }, ], [ diff --git a/plugins/catalog-react/src/alpha/predicates/evaluateEntityPredicate.ts b/plugins/catalog-react/src/alpha/predicates/evaluateEntityPredicate.ts index 497f3bc1b1..ebdd9e5df9 100644 --- a/plugins/catalog-react/src/alpha/predicates/evaluateEntityPredicate.ts +++ b/plugins/catalog-react/src/alpha/predicates/evaluateEntityPredicate.ts @@ -46,9 +46,6 @@ export function evaluateEntityPredicate( if ('$or' in filter) { return filter.$or.some(f => evaluateEntityPredicate(f, value)); } - if ('$nor' in filter) { - return !filter.$nor.some(f => evaluateEntityPredicate(f, value)); - } if ('$not' in filter) { return !evaluateEntityPredicate(filter.$not, value); } diff --git a/plugins/catalog-react/src/alpha/predicates/types.ts b/plugins/catalog-react/src/alpha/predicates/types.ts index 86a6aa8db7..3a0b01aa2b 100644 --- a/plugins/catalog-react/src/alpha/predicates/types.ts +++ b/plugins/catalog-react/src/alpha/predicates/types.ts @@ -19,7 +19,6 @@ export type EntityPredicate = | EntityPredicateExpression | { $and: EntityPredicate[] } | { $or: EntityPredicate[] } - | { $nor: EntityPredicate[] } | { $not: EntityPredicate }; /** @alpha */