@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.
- package/dist/entity/findMany.d.ts.map +1 -1
- package/dist/entity/findMany.js +21 -13
- package/dist/entity/findMany.js.map +1 -1
- package/dist/entity/types.d.ts +0 -7
- package/dist/entity/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/entity/findMany.ts +27 -15
- package/src/entity/types.ts +0 -7
|
@@ -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,
|
|
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"}
|
package/dist/entity/findMany.js
CHANGED
|
@@ -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
|
-
|
|
217
|
-
|
|
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
|
-
//
|
|
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 (
|
|
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 (
|
|
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":[]}
|
package/dist/entity/types.d.ts
CHANGED
|
@@ -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":"AAAA,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAC;AAE7C,MAAM,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,GAAG;IACpC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;IACtC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC;IACnC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC;CACpC,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,GAAG;IACtD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;IACtC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC;IAC5C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC;CAC7C,CAAC;AAEF,MAAM,MAAM,MAAM,CAAC,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;AAChD,MAAM,MAAM,MAAM,CAAC,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;AAEhD,MAAM,MAAM,MAAM,CAAC,CAAC,SAAS,YAAY,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG;IACnE,IAAI,EAAE,MAAM,CAAC;IAEb,EAAE,EAAE,MAAM,CAAC;CAIZ,CAAC;AAEF,MAAM,MAAM,kBAAkB,CAAC,CAAC,SAAS,YAAY,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG;IACnE,SAAS,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC;CACvC,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,SAAS,EAAE,OAAO,CAAC;IACnB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,OAAO,CAAC;IACnB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAC1C,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;CAC9C,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,EAAE,EAAE,OAAO,CAAC;CACb,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/entity/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/entity/findMany.ts
CHANGED
|
@@ -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
|
-
|
|
259
|
-
|
|
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
|
-
//
|
|
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 (
|
|
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
|
}
|
package/src/entity/types.ts
CHANGED
|
@@ -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;
|