@graphprotocol/hypergraph 0.4.1 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"findMany.d.ts","sourceRoot":"","sources":["../../src/entity/findMany.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAS,MAAM,2BAA2B,CAAC;AAClE,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAQxC,OAAO,KAAK,EACV,YAAY,EAEZ,eAAe,EACf,MAAM,EACN,iBAAiB,EACjB,YAAY,EAGb,MAAM,YAAY,CAAC;AAwNpB;;GAEG;AACH,wBAAgB,QAAQ,CAAC,KAAK,CAAC,CAAC,SAAS,YAAY,EACnD,MAAM,EAAE,SAAS,CAAC,eAAe,CAAC,EAClC,IAAI,EAAE,CAAC,EACP,MAAM,EAAE,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,EACvD,OAAO,EAAE;KAAG,CAAC,IAAI,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;CAAE,GAAG,SAAS,GAClG;IAAE,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAAC,gBAAgB,EAAE,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAA;CAAE,CAsIrF;AAID,MAAM,MAAM,oBAAoB,CAAC,CAAC,SAAS,YAAY,IAAI;IACzD,SAAS,EAAE,CAAC,QAAQ,EAAE,MAAM,IAAI,KAAK,MAAM,IAAI,CAAC;IAChD,WAAW,EAAE,MAAM,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAC/C,CAAC;AAEF,wBAAgB,mBAAmB,CAAC,KAAK,CAAC,CAAC,SAAS,YAAY,EAC9D,MAAM,EAAE,SAAS,CAAC,eAAe,CAAC,EAClC,IAAI,EAAE,CAAC,EACP,MAAM,EAAE;KAAG,CAAC,IAAI,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,iBAAiB,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,GAAG,SAAS,EACxG,OAAO,EAAE;KAAG,CAAC,IAAI,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;CAAE,GAAG,SAAS,GAClG,oBAAoB,CAAC,CAAC,CAAC,CAyHzB"}
1
+ {"version":3,"file":"findMany.d.ts","sourceRoot":"","sources":["../../src/entity/findMany.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAS,MAAM,2BAA2B,CAAC;AAClE,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAQxC,OAAO,KAAK,EACV,YAAY,EAEZ,eAAe,EACf,MAAM,EACN,iBAAiB,EACjB,YAAY,EAGb,MAAM,YAAY,CAAC;AAwNpB;;GAEG;AACH,wBAAgB,QAAQ,CAAC,KAAK,CAAC,CAAC,SAAS,YAAY,EACnD,MAAM,EAAE,SAAS,CAAC,eAAe,CAAC,EAClC,IAAI,EAAE,CAAC,EACP,MAAM,EAAE,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,EACvD,OAAO,EAAE;KAAG,CAAC,IAAI,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;CAAE,GAAG,SAAS,GAClG;IAAE,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAAC,gBAAgB,EAAE,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAA;CAAE,CAkJrF;AAID,MAAM,MAAM,oBAAoB,CAAC,CAAC,SAAS,YAAY,IAAI;IACzD,SAAS,EAAE,CAAC,QAAQ,EAAE,MAAM,IAAI,KAAK,MAAM,IAAI,CAAC;IAChD,WAAW,EAAE,MAAM,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAC/C,CAAC;AAEF,wBAAgB,mBAAmB,CAAC,KAAK,CAAC,CAAC,SAAS,YAAY,EAC9D,MAAM,EAAE,SAAS,CAAC,eAAe,CAAC,EAClC,IAAI,EAAE,CAAC,EACP,MAAM,EAAE;KAAG,CAAC,IAAI,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,iBAAiB,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,GAAG,SAAS,EACxG,OAAO,EAAE;KAAG,CAAC,IAAI,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;CAAE,GAAG,SAAS,GAClG,oBAAoB,CAAC,CAAC,CAAC,CAyHzB"}
@@ -213,18 +213,10 @@ export function findMany(handle, type, filter, include) {
213
213
  const corruptEntityIds = [];
214
214
  const filtered = [];
215
215
  const evaluateFilter = (fieldFilter, fieldValue) => {
216
- // Handle NOT operator
217
- if ('not' in fieldFilter && fieldFilter.not) {
218
- return !evaluateFilter(fieldFilter.not, fieldValue);
216
+ if ('not' in fieldFilter || 'or' in fieldFilter) {
217
+ throw new Error("Logical operators 'not', 'or' are only allowed at the root (cross-field) level.");
219
218
  }
220
- // Handle OR operator
221
- if ('or' in fieldFilter) {
222
- const orFilters = fieldFilter.or;
223
- if (Array.isArray(orFilters)) {
224
- return orFilters.some(orFilter => evaluateFilter(orFilter, fieldValue));
225
- }
226
- }
227
- // Handle basic filters
219
+ // handle basic filters
228
220
  if ('is' in fieldFilter) {
229
221
  if (typeof fieldValue === 'boolean') {
230
222
  return fieldValue === fieldFilter.is;
@@ -273,13 +265,25 @@ export function findMany(handle, type, filter, include) {
273
265
  return true;
274
266
  };
275
267
  const evaluateCrossFieldFilter = (crossFieldFilter, entity) => {
268
+ // evaluate regular field filters with AND semantics
276
269
  for (const fieldName in crossFieldFilter) {
270
+ if (fieldName === 'or' || fieldName === 'not') continue;
277
271
  const fieldFilter = crossFieldFilter[fieldName];
272
+ if (!fieldFilter) continue;
278
273
  const fieldValue = entity[fieldName];
279
- if (fieldFilter && !evaluateFilter(fieldFilter, fieldValue)) {
274
+ if (!evaluateFilter(fieldFilter, fieldValue)) {
280
275
  return false;
281
276
  }
282
277
  }
278
+ // evaluate nested OR at cross-field level (if present)
279
+ if (Array.isArray(crossFieldFilter.or)) {
280
+ const orSatisfied = crossFieldFilter.or.some(orFilter => evaluateCrossFieldFilter(orFilter, entity));
281
+ if (!orSatisfied) return false;
282
+ }
283
+ // evaluate nested NOT at cross-field level (if present)
284
+ if (crossFieldFilter.not && evaluateCrossFieldFilter(crossFieldFilter.not, entity)) {
285
+ return false;
286
+ }
283
287
  return true;
284
288
  };
285
289
  const evaluateEntityFilter = (entityFilter, entity) => {
@@ -318,7 +322,11 @@ export function findMany(handle, type, filter, include) {
318
322
  decoded.__schema = type;
319
323
  filtered.push(decoded);
320
324
  }
321
- } catch (_error) {
325
+ } catch (error) {
326
+ // rethrow in case it's filter error
327
+ if (error instanceof Error && error.message.includes("Logical operators 'not', 'or' are only allowed at the root (cross-field) level")) {
328
+ throw error;
329
+ }
322
330
  corruptEntityIds.push(id);
323
331
  }
324
332
  }
@@ -1 +1 @@
1
- {"version":3,"file":"findMany.js","names":["Schema","deepMerge","isRelationField","canonicalize","decodedEntitiesCache","entityRelationParentsMap","getEntityRelations","hasValidTypesProperty","documentChangeListener","subscribedQueriesCount","unsubscribe","undefined","subscribeToDocumentChanges","handle","onChange","patches","doc","changedRelations","Set","deletedRelations","changedEntities","deletedEntities","patch","action","path","length","add","entityTypes","touchedQueries","touchedRelationParents","entityId","entity","entities","typeName","cacheEntry","get","includeFromAllQueries","query","queries","include","oldDecodedEntry","relations","type","decoded","decoder","id","set","error","console","deletedRelationIds","value","Object","entries","Array","isArray","relationEntity","deletedRelationId","deletedRelationEntry","delete","size","relationParentEntry","Map","queryKey","isInvalidated","has","decodedEntitiesCacheEntries","entry","affectedTypeName","index","data","findIndex","splice","values","listener","listeners","decodedEntitiesCacheEntry","on","off","clear","findMany","filter","decode","decodeUnknownSync","name","corruptEntityIds","filtered","evaluateFilter","fieldFilter","fieldValue","not","orFilters","or","some","orFilter","is","numberFilter","greaterThan","lessThan","textFilter","startsWith","endsWith","contains","includes","evaluateCrossFieldFilter","crossFieldFilter","fieldName","evaluateEntityFilter","entityFilter","__schema","push","_error","stableEmptyArray","subscribeToFindMany","getEntities","allTypes","_key","field","fields","subscribe","callback","entitiesMap","cachedListener","forEach","relationCacheEntries","key","relationCacheEntry","counter"],"sources":["../../src/entity/findMany.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"findMany.js","names":["Schema","deepMerge","isRelationField","canonicalize","decodedEntitiesCache","entityRelationParentsMap","getEntityRelations","hasValidTypesProperty","documentChangeListener","subscribedQueriesCount","unsubscribe","undefined","subscribeToDocumentChanges","handle","onChange","patches","doc","changedRelations","Set","deletedRelations","changedEntities","deletedEntities","patch","action","path","length","add","entityTypes","touchedQueries","touchedRelationParents","entityId","entity","entities","typeName","cacheEntry","get","includeFromAllQueries","query","queries","include","oldDecodedEntry","relations","type","decoded","decoder","id","set","error","console","deletedRelationIds","value","Object","entries","Array","isArray","relationEntity","deletedRelationId","deletedRelationEntry","delete","size","relationParentEntry","Map","queryKey","isInvalidated","has","decodedEntitiesCacheEntries","entry","affectedTypeName","index","data","findIndex","splice","values","listener","listeners","decodedEntitiesCacheEntry","on","off","clear","findMany","filter","decode","decodeUnknownSync","name","corruptEntityIds","filtered","evaluateFilter","fieldFilter","fieldValue","Error","is","numberFilter","greaterThan","lessThan","textFilter","startsWith","endsWith","contains","includes","evaluateCrossFieldFilter","crossFieldFilter","fieldName","or","orSatisfied","some","orFilter","not","evaluateEntityFilter","entityFilter","__schema","push","message","stableEmptyArray","subscribeToFindMany","getEntities","allTypes","_key","field","fields","subscribe","callback","entitiesMap","cachedListener","forEach","relationCacheEntries","key","relationCacheEntry","counter"],"sources":["../../src/entity/findMany.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -43,17 +43,12 @@ export type EntityNumberFilter = {
43
43
  is?: number;
44
44
  greaterThan?: number;
45
45
  lessThan?: number;
46
- not?: EntityNumberFilter;
47
- or?: EntityNumberFilter[];
48
46
  };
49
47
  export type EntityStringFilter = {
50
48
  is?: string;
51
49
  startsWith?: string;
52
50
  endsWith?: string;
53
51
  contains?: string;
54
- equals?: string;
55
- not?: EntityStringFilter;
56
- or?: EntityStringFilter[];
57
52
  };
58
53
  export type CrossFieldFilter<T> = {
59
54
  [K in keyof T]?: EntityFieldFilter<T[K]>;
@@ -63,8 +58,6 @@ export type CrossFieldFilter<T> = {
63
58
  };
64
59
  export type EntityFieldFilter<T> = {
65
60
  is?: T;
66
- not?: EntityFieldFilter<T>;
67
- or?: Array<EntityFieldFilter<T>>;
68
61
  } & (T extends boolean ? {
69
62
  is?: boolean;
70
63
  } : T extends number ? {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/entity/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/entity/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@graphprotocol/hypergraph",
3
- "version": "0.4.1",
3
+ "version": "0.5.0",
4
4
  "description": "SDK for building performant, type-safe, local-first dapps on top of The Graph ecosystem knowledge graphs.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -255,20 +255,11 @@ export function findMany<const S extends AnyNoContext>(
255
255
  const filtered: Array<Entity<S>> = [];
256
256
 
257
257
  const evaluateFilter = <T>(fieldFilter: EntityFieldFilter<T>, fieldValue: T): boolean => {
258
- // Handle NOT operator
259
- if ('not' in fieldFilter && fieldFilter.not) {
260
- return !evaluateFilter(fieldFilter.not, fieldValue);
258
+ if ('not' in fieldFilter || 'or' in fieldFilter) {
259
+ throw new Error("Logical operators 'not', 'or' are only allowed at the root (cross-field) level.");
261
260
  }
262
261
 
263
- // Handle OR operator
264
- if ('or' in fieldFilter) {
265
- const orFilters = fieldFilter.or;
266
- if (Array.isArray(orFilters)) {
267
- return orFilters.some((orFilter) => evaluateFilter(orFilter as EntityFieldFilter<T>, fieldValue));
268
- }
269
- }
270
-
271
- // Handle basic filters
262
+ // handle basic filters
272
263
  if ('is' in fieldFilter) {
273
264
  if (typeof fieldValue === 'boolean') {
274
265
  return fieldValue === fieldFilter.is;
@@ -324,14 +315,28 @@ export function findMany<const S extends AnyNoContext>(
324
315
  crossFieldFilter: CrossFieldFilter<Schema.Schema.Type<S>>,
325
316
  entity: Entity<S>,
326
317
  ): boolean => {
318
+ // evaluate regular field filters with AND semantics
327
319
  for (const fieldName in crossFieldFilter) {
320
+ if (fieldName === 'or' || fieldName === 'not') continue;
328
321
  const fieldFilter = crossFieldFilter[fieldName];
322
+ if (!fieldFilter) continue;
329
323
  const fieldValue = entity[fieldName];
330
-
331
- if (fieldFilter && !evaluateFilter(fieldFilter, fieldValue)) {
324
+ if (!evaluateFilter(fieldFilter, fieldValue)) {
332
325
  return false;
333
326
  }
334
327
  }
328
+
329
+ // evaluate nested OR at cross-field level (if present)
330
+ if (Array.isArray(crossFieldFilter.or)) {
331
+ const orSatisfied = crossFieldFilter.or.some((orFilter) => evaluateCrossFieldFilter(orFilter, entity));
332
+ if (!orSatisfied) return false;
333
+ }
334
+
335
+ // evaluate nested NOT at cross-field level (if present)
336
+ if (crossFieldFilter.not && evaluateCrossFieldFilter(crossFieldFilter.not, entity)) {
337
+ return false;
338
+ }
339
+
335
340
  return true;
336
341
  };
337
342
 
@@ -367,7 +372,14 @@ export function findMany<const S extends AnyNoContext>(
367
372
  decoded.__schema = type;
368
373
  filtered.push(decoded);
369
374
  }
370
- } catch (_error) {
375
+ } catch (error) {
376
+ // rethrow in case it's filter error
377
+ if (
378
+ error instanceof Error &&
379
+ error.message.includes("Logical operators 'not', 'or' are only allowed at the root (cross-field) level")
380
+ ) {
381
+ throw error;
382
+ }
371
383
  corruptEntityIds.push(id);
372
384
  }
373
385
  }
@@ -55,8 +55,6 @@ export type EntityNumberFilter = {
55
55
  is?: number;
56
56
  greaterThan?: number;
57
57
  lessThan?: number;
58
- not?: EntityNumberFilter;
59
- or?: EntityNumberFilter[];
60
58
  };
61
59
 
62
60
  export type EntityStringFilter = {
@@ -64,9 +62,6 @@ export type EntityStringFilter = {
64
62
  startsWith?: string;
65
63
  endsWith?: string;
66
64
  contains?: string;
67
- equals?: string;
68
- not?: EntityStringFilter;
69
- or?: EntityStringFilter[];
70
65
  };
71
66
 
72
67
  export type CrossFieldFilter<T> = {
@@ -78,8 +73,6 @@ export type CrossFieldFilter<T> = {
78
73
 
79
74
  export type EntityFieldFilter<T> = {
80
75
  is?: T;
81
- not?: EntityFieldFilter<T>;
82
- or?: Array<EntityFieldFilter<T>>;
83
76
  } & (T extends boolean
84
77
  ? {
85
78
  is?: boolean;