Skip to content

Commit 00f153f

Browse files
authored
lowercase filter operators (#221)
1 parent c5fb64d commit 00f153f

File tree

3 files changed

+30
-30
lines changed

3 files changed

+30
-30
lines changed

packages/hypergraph/src/entity/findMany.ts

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -256,13 +256,13 @@ export function findMany<const S extends AnyNoContext>(
256256

257257
const evaluateFilter = <T>(fieldFilter: EntityFieldFilter<T>, fieldValue: T): boolean => {
258258
// Handle NOT operator
259-
if ('NOT' in fieldFilter && fieldFilter.NOT) {
260-
return !evaluateFilter(fieldFilter.NOT, fieldValue);
259+
if ('not' in fieldFilter && fieldFilter.not) {
260+
return !evaluateFilter(fieldFilter.not, fieldValue);
261261
}
262262

263263
// Handle OR operator
264-
if ('OR' in fieldFilter) {
265-
const orFilters = fieldFilter.OR;
264+
if ('or' in fieldFilter) {
265+
const orFilters = fieldFilter.or;
266266
if (Array.isArray(orFilters)) {
267267
return orFilters.some((orFilter) => evaluateFilter(orFilter as EntityFieldFilter<T>, fieldValue));
268268
}
@@ -337,13 +337,13 @@ export function findMany<const S extends AnyNoContext>(
337337

338338
const evaluateEntityFilter = (entityFilter: EntityFilter<Schema.Schema.Type<S>>, entity: Entity<S>): boolean => {
339339
// handle top-level NOT operator
340-
if ('NOT' in entityFilter && entityFilter.NOT) {
341-
return !evaluateCrossFieldFilter(entityFilter.NOT, entity);
340+
if ('not' in entityFilter && entityFilter.not) {
341+
return !evaluateCrossFieldFilter(entityFilter.not, entity);
342342
}
343343

344344
// handle top-level OR operator
345-
if ('OR' in entityFilter && Array.isArray(entityFilter.OR)) {
346-
return entityFilter.OR.some((orFilter) => evaluateCrossFieldFilter(orFilter, entity));
345+
if ('or' in entityFilter && Array.isArray(entityFilter.or)) {
346+
return entityFilter.or.some((orFilter) => evaluateCrossFieldFilter(orFilter, entity));
347347
}
348348

349349
// evaluate regular field filters

packages/hypergraph/src/entity/types.ts

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -55,8 +55,8 @@ export type EntityNumberFilter = {
5555
is?: number;
5656
greaterThan?: number;
5757
lessThan?: number;
58-
NOT?: EntityNumberFilter;
59-
OR?: EntityNumberFilter[];
58+
not?: EntityNumberFilter;
59+
or?: EntityNumberFilter[];
6060
};
6161

6262
export type EntityTextFilter = {
@@ -65,21 +65,21 @@ export type EntityTextFilter = {
6565
endsWith?: string;
6666
contains?: string;
6767
equals?: string;
68-
NOT?: EntityTextFilter;
69-
OR?: EntityTextFilter[];
68+
not?: EntityTextFilter;
69+
or?: EntityTextFilter[];
7070
};
7171

7272
export type CrossFieldFilter<T> = {
7373
[K in keyof T]?: EntityFieldFilter<T[K]>;
7474
} & {
75-
OR?: Array<CrossFieldFilter<T>>;
76-
NOT?: CrossFieldFilter<T>;
75+
or?: Array<CrossFieldFilter<T>>;
76+
not?: CrossFieldFilter<T>;
7777
};
7878

7979
export type EntityFieldFilter<T> = {
8080
is?: T;
81-
NOT?: EntityFieldFilter<T>;
82-
OR?: Array<EntityFieldFilter<T>>;
81+
not?: EntityFieldFilter<T>;
82+
or?: Array<EntityFieldFilter<T>>;
8383
} & (T extends boolean
8484
? {
8585
is?: boolean;

packages/hypergraph/test/entity/findMany.test.ts

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -194,7 +194,7 @@ describe('findMany with filters', () => {
194194
handle,
195195
Person,
196196
{
197-
name: { NOT: { is: 'John' } },
197+
name: { not: { is: 'John' } },
198198
},
199199
undefined,
200200
);
@@ -213,7 +213,7 @@ describe('findMany with filters', () => {
213213
handle,
214214
Person,
215215
{
216-
age: { NOT: { is: 30 } },
216+
age: { not: { is: 30 } },
217217
},
218218
undefined,
219219
);
@@ -234,7 +234,7 @@ describe('findMany with filters', () => {
234234
handle,
235235
Person,
236236
{
237-
name: { OR: [{ is: 'John' }, { is: 'Jane' }] },
237+
name: { or: [{ is: 'John' }, { is: 'Jane' }] },
238238
},
239239
undefined,
240240
);
@@ -253,7 +253,7 @@ describe('findMany with filters', () => {
253253
handle,
254254
Person,
255255
{
256-
age: { OR: [{ is: 25 }, { is: 40 }] },
256+
age: { or: [{ is: 25 }, { is: 40 }] },
257257
},
258258
undefined,
259259
);
@@ -274,7 +274,7 @@ describe('findMany with filters', () => {
274274
handle,
275275
Person,
276276
{
277-
name: { NOT: { OR: [{ is: 'John' }, { is: 'Jane' }] } },
277+
name: { not: { or: [{ is: 'John' }, { is: 'Jane' }] } },
278278
},
279279
undefined,
280280
);
@@ -293,7 +293,7 @@ describe('findMany with filters', () => {
293293
handle,
294294
Person,
295295
{
296-
name: { NOT: { OR: [{ is: 'John' }, { is: 'Jane' }] } },
296+
name: { not: { or: [{ is: 'John' }, { is: 'Jane' }] } },
297297
},
298298
undefined,
299299
);
@@ -314,7 +314,7 @@ describe('findMany with filters', () => {
314314
handle,
315315
Person,
316316
{
317-
OR: [{ name: { contains: 'o' } }, { age: { greaterThan: 35 } }],
317+
or: [{ name: { contains: 'o' } }, { age: { greaterThan: 35 } }],
318318
},
319319
undefined,
320320
);
@@ -333,7 +333,7 @@ describe('findMany with filters', () => {
333333
handle,
334334
Person,
335335
{
336-
NOT: {
336+
not: {
337337
name: { startsWith: 'J' },
338338
age: { lessThan: 30 },
339339
},
@@ -356,7 +356,7 @@ describe('findMany with filters', () => {
356356
handle,
357357
Person,
358358
{
359-
OR: [
359+
or: [
360360
{
361361
name: { startsWith: 'J' },
362362
age: { lessThan: 30 },
@@ -385,8 +385,8 @@ describe('findMany with filters', () => {
385385
handle,
386386
Person,
387387
{
388-
name: { NOT: { startsWith: 'J' } },
389-
age: { NOT: { greaterThan: 35 } },
388+
name: { not: { startsWith: 'J' } },
389+
age: { not: { greaterThan: 35 } },
390390
},
391391
undefined,
392392
);
@@ -407,7 +407,7 @@ describe('findMany with filters', () => {
407407
handle,
408408
Product,
409409
{
410-
OR: [
410+
or: [
411411
{
412412
category: { is: 'Electronics' },
413413
price: { greaterThan: 800 },
@@ -436,7 +436,7 @@ describe('findMany with filters', () => {
436436
handle,
437437
Person,
438438
{
439-
OR: [{ name: { startsWith: 'J' } }, { name: { contains: 'i' } }],
439+
or: [{ name: { startsWith: 'J' } }, { name: { contains: 'i' } }],
440440
isActive: { is: true },
441441
},
442442
undefined,
@@ -457,7 +457,7 @@ describe('findMany with filters', () => {
457457
handle,
458458
Person,
459459
{
460-
NOT: { name: { startsWith: 'J' } },
460+
not: { name: { startsWith: 'J' } },
461461
age: { greaterThan: 30 },
462462
},
463463
undefined,

0 commit comments

Comments
 (0)