@graphprotocol/hypergraph 0.12.1 → 0.13.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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.web-BzOyYK7K.js","names":["t","g","d","hasOwnProperty","h","printErr","console","warn","bind","R","e","n","arguments","thisProgram","quit","WebAssembly","x","D","T","b","C","Z","buffer","HEAP8","Int8Array","HEAPU8","Uint8Array","L","z","I","B","preRun","length","V","shift","A","N","j","postRun","J","unshift","q","p","S","K","monitorRunDependencies","call","X","r","onAbort","RuntimeError","Q","a","le","Y","fetch","credentials","then","ok","arrayBuffer","G","f","l","exports","i","instance","c","u","instantiate","o","byteLength","instantiateStreaming","instantiateWasm","s","U","constructor","name","message","status","H","noExitRuntime","ee","P","te","v","F","M","W","onExit","ne","re","ie","oe","se","performance","now","ae","clearTimeout","id","setTimeout","$","timeout_ms","ce","ue","Math","ceil","fe","grow","_e","min","max","_ZSTD_isError","_ZSTD_compressBound","_ZSTD_createCCtx","_ZSTD_freeCCtx","k","_ZSTD_compress_usingDict","_ZSTD_compress","m","_ZSTD_createDCtx","_ZSTD_freeDCtx","_ZSTD_getFrameContentSize","_ZSTD_decompress_usingDict","_ZSTD_decompress","_malloc","_free","w","calledRun","onRuntimeInitialized","setStatus","run","preInit","pop","init","me","Promise","_","next","throw","done","value","apply","de","pe","E","he","De","defaultHeapSize","set","Error","slice","ye","we","ve","Te","be","Ee","y","O","ge","Re","xe","Ae","Se","Ce","URL","import","meta","url","href","compress","compressUsingDict","createCCtx","createDCtx","decompress","decompressUsingDict","freeCCtx","freeDCtx"],"sources":["index.web-BzOyYK7K.js"],"sourcesContent":["var t=typeof t<\"u\"?t:{},g={},d;for(d in t)t.hasOwnProperty(d)&&(g[d]=t[d]);var h=t.printErr||console.warn.bind(console);for(d in g)g.hasOwnProperty(d)&&(t[d]=g[d]);var R=(e,n)=>{throw n};g=null;t.arguments&&t.arguments;t.thisProgram&&(thisProgram=t.thisProgram);t.quit&&(R=t.quit);typeof WebAssembly!=\"object\"&&x(\"no native wasm support detected\");var D,T=!1,b,C;function Z(){var e=D.buffer;t.HEAP8=new Int8Array(e),t.HEAPU8=C=new Uint8Array(e)}var L=[],z=[],I=[];function B(){if(t.preRun)for(typeof t.preRun==\"function\"&&(t.preRun=[t.preRun]);t.preRun.length;)V(t.preRun.shift());A(L)}function N(){A(z)}function j(){if(t.postRun)for(typeof t.postRun==\"function\"&&(t.postRun=[t.postRun]);t.postRun.length;)J(t.postRun.shift());A(I)}function V(e){L.unshift(e)}function q(e){z.unshift(e)}function J(e){I.unshift(e)}var p=0,S=null;function K(e){var n;p++,(n=t.monitorRunDependencies)===null||n===void 0||n.call(t,p)}function X(e){var n;if(p--,(n=t.monitorRunDependencies)===null||n===void 0||n.call(t,p),p==0&&S){var r=S;S=null,r()}}function x(e){var n;(n=t.onAbort)===null||n===void 0||n.call(t,e),e=\"Aborted(\"+e+\")\",h(e),T=!0,e+=\". Build with -sASSERTIONS for more info.\";var r=new WebAssembly.RuntimeError(e);throw r}function Q(){return{a:le}}function Y(e){return fetch(e,{credentials:\"same-origin\"}).then(function(n){if(!n.ok)throw\"failed to load wasm binary file at '\"+e+\"'\";return n.arrayBuffer()})}function G(e){var n=Q();function r(a,f){return l=a.exports,D=l.f,Z(),q(l.g),X(),l}K();function i(a){r(a.instance)}function c(a){return Y(e).then(function(f){var u=WebAssembly.instantiate(f,n);return u}).then(a,function(f){h(\"failed to asynchronously prepare wasm: \"+f),x(f)})}function o(){return e&&e.byteLength>0?WebAssembly.instantiate(e,n).then(i,function(a){h(\"wasm compile failed: \"+a)}):typeof WebAssembly.instantiateStreaming==\"function\"&&typeof e==\"string\"&&typeof fetch==\"function\"?fetch(e,{credentials:\"same-origin\"}).then(function(a){var f=WebAssembly.instantiateStreaming(a,n);return f.then(i,function(u){return h(\"wasm streaming compile failed: \"+u),h(\"falling back to ArrayBuffer instantiation\"),c(i)})}):c(i)}if(t.instantiateWasm)try{var s=t.instantiateWasm(n,r);return s}catch(a){return h(\"Module.instantiateWasm callback failed with error: \"+a),!1}return o(),{}}class U{constructor(n){this.name=\"ExitStatus\",this.message=`Program terminated with exit(${n})`,this.status=n}}var A=e=>{for(;e.length>0;)e.shift()(t)},H=t.noExitRuntime||!0,ee=()=>x(\"\"),P=0,te=()=>{H=!1,P=0},v={},F=e=>{if(e instanceof U||e==\"unwind\")return b;R(1,e)},M=()=>H||P>0,W=e=>{var n;b=e,M()||((n=t.onExit)===null||n===void 0||n.call(t,e),T=!0),R(e,new U(e))},ne=(e,n)=>{b=e,W(e)},re=ne,ie=()=>{if(!M())try{re(b)}catch(e){F(e)}},oe=e=>{if(!T)try{e(),ie()}catch(n){F(n)}},se=()=>performance.now(),ae=(e,n)=>{if(v[e]&&(clearTimeout(v[e].id),delete v[e]),!n)return 0;var r=setTimeout(()=>{delete v[e],oe(()=>$(e,se()))},n);return v[e]={id:r,timeout_ms:n},0},ce=()=>2147483648,ue=(e,n)=>Math.ceil(e/n)*n,fe=e=>{var n=D.buffer,r=(e-n.byteLength+65535)/65536|0;try{return D.grow(r),Z(),1}catch{}},_e=e=>{var n=C.length;e>>>=0;var r=ce();if(e>r)return!1;for(var i=1;i<=4;i*=2){var c=n*(1+.2/i);c=Math.min(c,e+100663296);var o=Math.min(r,ue(Math.max(e,c),65536)),s=fe(o);if(s)return!0}return!1},le={c:ee,b:te,d:ae,e:_e,a:W},l;t._ZSTD_isError=e=>(t._ZSTD_isError=l.h)(e);t._ZSTD_compressBound=e=>(t._ZSTD_compressBound=l.i)(e);t._ZSTD_createCCtx=()=>(t._ZSTD_createCCtx=l.j)();t._ZSTD_freeCCtx=e=>(t._ZSTD_freeCCtx=l.k)(e);t._ZSTD_compress_usingDict=(e,n,r,i,c,o,s,a)=>(t._ZSTD_compress_usingDict=l.l)(e,n,r,i,c,o,s,a);t._ZSTD_compress=(e,n,r,i,c)=>(t._ZSTD_compress=l.m)(e,n,r,i,c);t._ZSTD_createDCtx=()=>(t._ZSTD_createDCtx=l.n)();t._ZSTD_freeDCtx=e=>(t._ZSTD_freeDCtx=l.o)(e);t._ZSTD_getFrameContentSize=(e,n)=>(t._ZSTD_getFrameContentSize=l.p)(e,n);t._ZSTD_decompress_usingDict=(e,n,r,i,c,o,s)=>(t._ZSTD_decompress_usingDict=l.q)(e,n,r,i,c,o,s);t._ZSTD_decompress=(e,n,r,i)=>(t._ZSTD_decompress=l.r)(e,n,r,i);t._malloc=e=>(t._malloc=l.s)(e);t._free=e=>(t._free=l.t)(e);var $=(e,n)=>($=l.v)(e,n),w;S=function e(){w||k(),w||(S=e)};function k(){if(p>0||(B(),p>0))return;function e(){var n;w||(w=!0,t.calledRun=!0,!T&&(N(),(n=t.onRuntimeInitialized)===null||n===void 0||n.call(t),j()))}t.setStatus?(t.setStatus(\"Running...\"),setTimeout(()=>{setTimeout(()=>t.setStatus(\"\"),1),e()},1)):e()}t.run=k;if(t.preInit)for(typeof t.preInit==\"function\"&&(t.preInit=[t.preInit]);t.preInit.length>0;)t.preInit.pop()();t.init=G;var me=function(e,n,r,i){function c(o){return o instanceof r?o:new r(function(s){s(o)})}return new(r||(r=Promise))(function(o,s){function a(_){try{u(i.next(_))}catch(m){s(m)}}function f(_){try{u(i.throw(_))}catch(m){s(m)}}function u(_){_.done?o(_.value):c(_.value).then(a,f)}u((i=i.apply(e,n||[])).next())})};const de=new Promise(e=>{t.onRuntimeInitialized=e}),pe=()=>me(void 0,void 0,void 0,function*(){yield de}),E=e=>{const n=t._ZSTD_isError;return n(e)},he=(e,n)=>{const r=t._ZSTD_getFrameContentSize;return r(e,n)},De=(e,n={defaultHeapSize:1024*1024})=>{const r=t._malloc,i=r(e.byteLength);t.HEAP8.set(e,i);const c=he(i,e.byteLength),o=c===-1?n.defaultHeapSize:c,s=t._free,a=r(o);try{const f=t._ZSTD_decompress,u=f(a,o,i,e.byteLength);if(E(u))throw new Error(`Failed to compress with code ${u}`);const _=new Uint8Array(t.HEAPU8.buffer,a,u).slice();return s(a,o),s(i,e.byteLength),_}catch(f){throw s(a,o),s(i,e.byteLength),f}},ye=e=>{const n=t._ZSTD_compressBound;return n(e)},we=(e,n)=>{const r=ye(e.byteLength),i=t._malloc,c=i(r),o=i(e.byteLength);t.HEAP8.set(e,o);const s=t._free;try{const a=t._ZSTD_compress,f=a(c,r,o,e.byteLength,n??3);if(E(f))throw new Error(`Failed to compress with code ${f}`);const u=new Uint8Array(t.HEAPU8.buffer,c,f).slice();return s(c,r),s(o,e.byteLength),u}catch(a){throw s(c,r),s(o,e.byteLength),a}},ve=(e,n)=>{const r=t._ZSTD_getFrameContentSize;return r(e,n)},Te=()=>t._ZSTD_createDCtx(),be=e=>t._ZSTD_freeDCtx(e),Ee=(e,n,r,i={defaultHeapSize:1024*1024})=>{const c=t._malloc,o=c(n.byteLength);t.HEAP8.set(n,o);const s=c(r.byteLength);t.HEAP8.set(r,s);const a=ve(o,n.byteLength),f=a===-1?i.defaultHeapSize:a,u=t._free,_=c(f);try{const m=t._ZSTD_decompress_usingDict,y=m(e,_,f,o,n.byteLength,s,r.byteLength);if(E(y))throw new Error(`Failed to compress with code ${y}`);const O=new Uint8Array(t.HEAPU8.buffer,_,y).slice();return u(_,f),u(o,n.byteLength),u(s,r.byteLength),O}catch(m){throw u(_,f),u(o,n.byteLength),u(s,r.byteLength),m}},ge=e=>{const n=t._ZSTD_compressBound;return n(e)},Re=()=>t._ZSTD_createCCtx(),xe=e=>t._ZSTD_freeCCtx(e),Ae=(e,n,r,i)=>{const c=ge(n.byteLength),o=t._malloc,s=o(c),a=o(n.byteLength);t.HEAP8.set(n,a);const f=o(r.byteLength);t.HEAP8.set(r,f);const u=t._free;try{const _=t._ZSTD_compress_usingDict,m=_(e,s,c,a,n.byteLength,f,r.byteLength,i??3);if(E(m))throw new Error(`Failed to compress with code ${m}`);const y=new Uint8Array(t.HEAPU8.buffer,s,m).slice();return u(s,c),u(a,n.byteLength),u(f,r.byteLength),y}catch(_){throw u(s,c),u(a,n.byteLength),u(f,r.byteLength),_}};var Se=function(e,n,r,i){function c(o){return o instanceof r?o:new r(function(s){s(o)})}return new(r||(r=Promise))(function(o,s){function a(_){try{u(i.next(_))}catch(m){s(m)}}function f(_){try{u(i.throw(_))}catch(m){s(m)}}function u(_){_.done?o(_.value):c(_.value).then(a,f)}u((i=i.apply(e,n||[])).next())})};const Ce=e=>Se(void 0,void 0,void 0,function*(){const n=new URL(\"/assets/zstd-CV7N7xSg.wasm\",import.meta.url).href;t.init(e??n),yield pe()});export{we as compress,Ae as compressUsingDict,Re as createCCtx,Te as createDCtx,De as decompress,Ee as decompressUsingDict,xe as freeCCtx,be as freeDCtx,Ce as init};\n"],"mappings":"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","ignoreList":[]}
@@ -1,5 +1,22 @@
1
1
  import { type Entity } from '@graphprotocol/hypergraph';
2
2
  import type * as Schema from 'effect/Schema';
3
+ type EntityIdGraphqlFilter = {
4
+ is: string;
5
+ } | {
6
+ in: readonly string[];
7
+ };
8
+ type RelationSomeFilter = {
9
+ typeId: {
10
+ is: string;
11
+ };
12
+ toEntityId?: EntityIdGraphqlFilter;
13
+ };
14
+ type BacklinkSomeFilter = {
15
+ typeId: {
16
+ is: string;
17
+ };
18
+ fromEntityId?: EntityIdGraphqlFilter;
19
+ };
3
20
  type GraphqlFilterEntry = {
4
21
  values: {
5
22
  some: {
@@ -43,11 +60,11 @@ type GraphqlFilterEntry = {
43
60
  and: GraphqlFilterEntry[];
44
61
  } | {
45
62
  relations: {
46
- some: {
47
- typeId: {
48
- is: string;
49
- };
50
- };
63
+ some: RelationSomeFilter;
64
+ };
65
+ } | {
66
+ backlinks: {
67
+ some: BacklinkSomeFilter;
51
68
  };
52
69
  } | {
53
70
  id: {
@@ -1 +1 @@
1
- {"version":3,"file":"translate-filter-to-graphql.d.ts","sourceRoot":"","sources":["../../src/utils/translate-filter-to-graphql.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,MAAM,EAAE,MAAM,2BAA2B,CAAC;AAEnE,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAC;AAG7C,KAAK,kBAAkB,GACnB;IACE,MAAM,EAAE;QACN,IAAI,EACA;YACE,UAAU,EAAE;gBAAE,EAAE,EAAE,MAAM,CAAA;aAAE,CAAC;YAC3B,IAAI,EAAE;gBAAE,EAAE,EAAE,MAAM,CAAA;aAAE,GAAG;gBAAE,UAAU,EAAE,MAAM,CAAA;aAAE,GAAG;gBAAE,QAAQ,EAAE,MAAM,CAAA;aAAE,GAAG;gBAAE,QAAQ,EAAE,MAAM,CAAA;aAAE,CAAC;SAC7F,GACD;YACE,UAAU,EAAE;gBAAE,EAAE,EAAE,MAAM,CAAA;aAAE,CAAC;YAC3B,OAAO,EAAE;gBAAE,EAAE,EAAE,OAAO,CAAA;aAAE,CAAC;SAC1B,GACD;YACE,UAAU,EAAE;gBAAE,EAAE,EAAE,MAAM,CAAA;aAAE,CAAC;YAC3B,KAAK,EAAE;gBAAE,EAAE,EAAE,MAAM,CAAA;aAAE,GAAG;gBAAE,WAAW,EAAE,MAAM,CAAA;aAAE,GAAG;gBAAE,QAAQ,EAAE,MAAM,CAAA;aAAE,CAAC;SACxE,CAAC;KACP,CAAC;CACH,GACD;IACE,GAAG,EAAE,kBAAkB,CAAC;CACzB,GACD;IACE,EAAE,EAAE,kBAAkB,EAAE,CAAC;CAC1B,GACD;IACE,GAAG,EAAE,kBAAkB,EAAE,CAAC;CAC3B,GACD;IACE,SAAS,EAAE;QACT,IAAI,EAAE;YACJ,MAAM,EAAE;gBAAE,EAAE,EAAE,MAAM,CAAA;aAAE,CAAC;SACxB,CAAC;KACH,CAAC;CACH,GACD;IACE,EAAE,EAAE;QACF,EAAE,EAAE,MAAM,CAAC;KACZ,CAAC;CACH,GACD;IAAE,CAAC,CAAC,EAAE,MAAM,GAAG,KAAK,CAAA;CAAE,CAAC;AAE3B;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,YAAY,EAC3E,MAAM,EAAE;KAAG,CAAC,IAAI,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,GAAG,SAAS,EAC/G,IAAI,EAAE,CAAC,GACN,kBAAkB,CA8HpB"}
1
+ {"version":3,"file":"translate-filter-to-graphql.d.ts","sourceRoot":"","sources":["../../src/utils/translate-filter-to-graphql.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,MAAM,EAAE,MAAM,2BAA2B,CAAC;AAEnE,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAC;AAG7C,KAAK,qBAAqB,GAAG;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,CAAC;AAExE,KAAK,kBAAkB,GAAG;IACxB,MAAM,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IACvB,UAAU,CAAC,EAAE,qBAAqB,CAAC;CACpC,CAAC;AAEF,KAAK,kBAAkB,GAAG;IACxB,MAAM,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IACvB,YAAY,CAAC,EAAE,qBAAqB,CAAC;CACtC,CAAC;AAEF,KAAK,kBAAkB,GACnB;IACE,MAAM,EAAE;QACN,IAAI,EACA;YACE,UAAU,EAAE;gBAAE,EAAE,EAAE,MAAM,CAAA;aAAE,CAAC;YAC3B,IAAI,EAAE;gBAAE,EAAE,EAAE,MAAM,CAAA;aAAE,GAAG;gBAAE,UAAU,EAAE,MAAM,CAAA;aAAE,GAAG;gBAAE,QAAQ,EAAE,MAAM,CAAA;aAAE,GAAG;gBAAE,QAAQ,EAAE,MAAM,CAAA;aAAE,CAAC;SAC7F,GACD;YACE,UAAU,EAAE;gBAAE,EAAE,EAAE,MAAM,CAAA;aAAE,CAAC;YAC3B,OAAO,EAAE;gBAAE,EAAE,EAAE,OAAO,CAAA;aAAE,CAAC;SAC1B,GACD;YACE,UAAU,EAAE;gBAAE,EAAE,EAAE,MAAM,CAAA;aAAE,CAAC;YAC3B,KAAK,EAAE;gBAAE,EAAE,EAAE,MAAM,CAAA;aAAE,GAAG;gBAAE,WAAW,EAAE,MAAM,CAAA;aAAE,GAAG;gBAAE,QAAQ,EAAE,MAAM,CAAA;aAAE,CAAC;SACxE,CAAC;KACP,CAAC;CACH,GACD;IACE,GAAG,EAAE,kBAAkB,CAAC;CACzB,GACD;IACE,EAAE,EAAE,kBAAkB,EAAE,CAAC;CAC1B,GACD;IACE,GAAG,EAAE,kBAAkB,EAAE,CAAC;CAC3B,GACD;IACE,SAAS,EAAE;QACT,IAAI,EAAE,kBAAkB,CAAC;KAC1B,CAAC;CACH,GACD;IACE,SAAS,EAAE;QACT,IAAI,EAAE,kBAAkB,CAAC;KAC1B,CAAC;CACH,GACD;IACE,EAAE,EAAE;QACF,EAAE,EAAE,MAAM,CAAC;KACZ,CAAC;CACH,GACD;IAAE,CAAC,CAAC,EAAE,MAAM,GAAG,KAAK,CAAA;CAAE,CAAC;AAE3B;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,YAAY,EAC3E,MAAM,EAAE;KAAG,CAAC,IAAI,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,GAAG,SAAS,EAC/G,IAAI,EAAE,CAAC,GACN,kBAAkB,CAsLpB"}
@@ -10,15 +10,6 @@ export function translateFilterToGraphql(filter, type) {
10
10
  return {};
11
11
  }
12
12
  const graphqlFilter = [];
13
- const buildRelationExistsFilter = propertyId => ({
14
- relations: {
15
- some: {
16
- typeId: {
17
- is: propertyId
18
- }
19
- }
20
- }
21
- });
22
13
  for (const [fieldName, fieldFilter] of Object.entries(filter)) {
23
14
  if (fieldName === 'or') {
24
15
  graphqlFilter.push({
@@ -53,17 +44,92 @@ export function translateFilterToGraphql(filter, type) {
53
44
  if (!Option.isSome(propertyId) || !Option.isSome(propertyType)) continue;
54
45
  if (propertyType.value === 'relation') {
55
46
  const relationFilter = fieldFilter;
47
+ const isBacklink = SchemaAST.getAnnotation(Constants.RelationBacklinkSymbol)(propertySignature.type).pipe(Option.getOrElse(() => false));
48
+ // Normalize entityId shorthand: string → { is: string }
49
+ const entityIdFilter = typeof relationFilter.entityId === 'string' ? {
50
+ is: relationFilter.entityId
51
+ } : relationFilter.entityId;
52
+ if (entityIdFilter) {
53
+ const entityIdValue = typeof entityIdFilter.is === 'string' && entityIdFilter.is ? {
54
+ is: entityIdFilter.is
55
+ } : Array.isArray(entityIdFilter.in) && entityIdFilter.in.length > 0 ? {
56
+ in: entityIdFilter.in
57
+ } : undefined;
58
+ if (entityIdValue === undefined) {
59
+ continue;
60
+ }
61
+ if (isBacklink) {
62
+ graphqlFilter.push({
63
+ backlinks: {
64
+ some: {
65
+ typeId: {
66
+ is: propertyId.value
67
+ },
68
+ fromEntityId: entityIdValue
69
+ }
70
+ }
71
+ });
72
+ } else {
73
+ graphqlFilter.push({
74
+ relations: {
75
+ some: {
76
+ typeId: {
77
+ is: propertyId.value
78
+ },
79
+ toEntityId: entityIdValue
80
+ }
81
+ }
82
+ });
83
+ }
84
+ }
56
85
  if (relationFilter.exists === true) {
57
- graphqlFilter.push(buildRelationExistsFilter(propertyId.value));
86
+ if (isBacklink) {
87
+ graphqlFilter.push({
88
+ backlinks: {
89
+ some: {
90
+ typeId: {
91
+ is: propertyId.value
92
+ }
93
+ }
94
+ }
95
+ });
96
+ } else {
97
+ graphqlFilter.push({
98
+ relations: {
99
+ some: {
100
+ typeId: {
101
+ is: propertyId.value
102
+ }
103
+ }
104
+ }
105
+ });
106
+ }
58
107
  continue;
59
108
  }
60
109
  if (relationFilter.exists === false) {
61
- const existsFilter = buildRelationExistsFilter(propertyId.value);
110
+ const existsFilter = isBacklink ? {
111
+ backlinks: {
112
+ some: {
113
+ typeId: {
114
+ is: propertyId.value
115
+ }
116
+ }
117
+ }
118
+ } : {
119
+ relations: {
120
+ some: {
121
+ typeId: {
122
+ is: propertyId.value
123
+ }
124
+ }
125
+ }
126
+ };
62
127
  graphqlFilter.push({
63
128
  not: existsFilter
64
129
  });
65
130
  continue;
66
131
  }
132
+ continue;
67
133
  }
68
134
  if (propertyType.value === 'string' && (fieldFilter.is || fieldFilter.startsWith || fieldFilter.endsWith || fieldFilter.contains)) {
69
135
  graphqlFilter.push({
@@ -1 +1 @@
1
- {"version":3,"file":"translate-filter-to-graphql.js","names":["Constants","Option","SchemaAST","translateFilterToGraphql","filter","type","graphqlFilter","buildRelationExistsFilter","propertyId","relations","some","typeId","is","fieldName","fieldFilter","Object","entries","push","or","map","not","idFilter","id","ast","propertySignature","propertySignatures","find","a","name","getAnnotation","PropertyIdSymbol","propertyType","PropertyTypeSymbol","isSome","value","relationFilter","exists","existsFilter","startsWith","endsWith","contains","values","text","includes","boolean","greaterThan","lessThan","float","length","and"],"sources":["../../src/utils/translate-filter-to-graphql.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"translate-filter-to-graphql.js","names":["Constants","Option","SchemaAST","translateFilterToGraphql","filter","type","graphqlFilter","fieldName","fieldFilter","Object","entries","push","or","map","not","idFilter","is","id","ast","propertySignature","propertySignatures","find","a","name","propertyId","getAnnotation","PropertyIdSymbol","propertyType","PropertyTypeSymbol","isSome","value","relationFilter","isBacklink","RelationBacklinkSymbol","pipe","getOrElse","entityIdFilter","entityId","entityIdValue","Array","isArray","in","length","undefined","backlinks","some","typeId","fromEntityId","relations","toEntityId","exists","existsFilter","startsWith","endsWith","contains","values","text","includes","boolean","greaterThan","lessThan","float","and"],"sources":["../../src/utils/translate-filter-to-graphql.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@graphprotocol/hypergraph",
3
- "version": "0.12.1",
3
+ "version": "0.13.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",
@@ -74,6 +74,16 @@ export type EntityIdFilter = {
74
74
  is?: string;
75
75
  };
76
76
 
77
+ export type RelationEntityIdFilter =
78
+ | {
79
+ is: string;
80
+ in?: never;
81
+ }
82
+ | {
83
+ in: readonly string[];
84
+ is?: never;
85
+ };
86
+
77
87
  export type CrossFieldFilter<T, Extra extends object = Record<never, never>> = {
78
88
  [K in keyof T]?: EntityFieldFilter<T[K]>;
79
89
  } & Extra & {
@@ -84,6 +94,7 @@ export type CrossFieldFilter<T, Extra extends object = Record<never, never>> = {
84
94
  type RelationExistsFilter<T> = [T] extends [readonly unknown[] | undefined]
85
95
  ? {
86
96
  exists?: boolean;
97
+ entityId?: string | RelationEntityIdFilter;
87
98
  }
88
99
  : Record<never, never>;
89
100
 
@@ -3,6 +3,18 @@ import * as Option from 'effect/Option';
3
3
  import type * as Schema from 'effect/Schema';
4
4
  import * as SchemaAST from 'effect/SchemaAST';
5
5
 
6
+ type EntityIdGraphqlFilter = { is: string } | { in: readonly string[] };
7
+
8
+ type RelationSomeFilter = {
9
+ typeId: { is: string };
10
+ toEntityId?: EntityIdGraphqlFilter;
11
+ };
12
+
13
+ type BacklinkSomeFilter = {
14
+ typeId: { is: string };
15
+ fromEntityId?: EntityIdGraphqlFilter;
16
+ };
17
+
6
18
  type GraphqlFilterEntry =
7
19
  | {
8
20
  values: {
@@ -32,9 +44,12 @@ type GraphqlFilterEntry =
32
44
  }
33
45
  | {
34
46
  relations: {
35
- some: {
36
- typeId: { is: string };
37
- };
47
+ some: RelationSomeFilter;
48
+ };
49
+ }
50
+ | {
51
+ backlinks: {
52
+ some: BacklinkSomeFilter;
38
53
  };
39
54
  }
40
55
  | {
@@ -58,14 +73,6 @@ export function translateFilterToGraphql<S extends Schema.Schema.AnyNoContext>(
58
73
 
59
74
  const graphqlFilter: GraphqlFilterEntry[] = [];
60
75
 
61
- const buildRelationExistsFilter = (propertyId: string): GraphqlFilterEntry => ({
62
- relations: {
63
- some: {
64
- typeId: { is: propertyId },
65
- },
66
- },
67
- });
68
-
69
76
  for (const [fieldName, fieldFilter] of Object.entries(filter)) {
70
77
  if (fieldName === 'or') {
71
78
  graphqlFilter.push({
@@ -107,20 +114,84 @@ export function translateFilterToGraphql<S extends Schema.Schema.AnyNoContext>(
107
114
  if (!Option.isSome(propertyId) || !Option.isSome(propertyType)) continue;
108
115
 
109
116
  if (propertyType.value === 'relation') {
110
- const relationFilter = fieldFilter as { exists?: boolean };
117
+ const relationFilter = fieldFilter as {
118
+ exists?: boolean;
119
+ entityId?: string | { is?: string; in?: readonly string[] };
120
+ };
121
+
122
+ const isBacklink = SchemaAST.getAnnotation<boolean>(Constants.RelationBacklinkSymbol)(
123
+ propertySignature.type,
124
+ ).pipe(Option.getOrElse(() => false));
125
+
126
+ // Normalize entityId shorthand: string → { is: string }
127
+ const entityIdFilter =
128
+ typeof relationFilter.entityId === 'string' ? { is: relationFilter.entityId } : relationFilter.entityId;
129
+
130
+ if (entityIdFilter) {
131
+ const entityIdValue: EntityIdGraphqlFilter | undefined =
132
+ typeof entityIdFilter.is === 'string' && entityIdFilter.is
133
+ ? { is: entityIdFilter.is }
134
+ : Array.isArray(entityIdFilter.in) && entityIdFilter.in.length > 0
135
+ ? { in: entityIdFilter.in }
136
+ : undefined;
137
+
138
+ if (entityIdValue === undefined) {
139
+ continue;
140
+ }
141
+
142
+ if (isBacklink) {
143
+ graphqlFilter.push({
144
+ backlinks: {
145
+ some: {
146
+ typeId: { is: propertyId.value },
147
+ fromEntityId: entityIdValue,
148
+ },
149
+ },
150
+ });
151
+ } else {
152
+ graphqlFilter.push({
153
+ relations: {
154
+ some: {
155
+ typeId: { is: propertyId.value },
156
+ toEntityId: entityIdValue,
157
+ },
158
+ },
159
+ });
160
+ }
161
+ }
111
162
 
112
163
  if (relationFilter.exists === true) {
113
- graphqlFilter.push(buildRelationExistsFilter(propertyId.value));
164
+ if (isBacklink) {
165
+ graphqlFilter.push({
166
+ backlinks: {
167
+ some: {
168
+ typeId: { is: propertyId.value },
169
+ },
170
+ },
171
+ });
172
+ } else {
173
+ graphqlFilter.push({
174
+ relations: {
175
+ some: {
176
+ typeId: { is: propertyId.value },
177
+ },
178
+ },
179
+ });
180
+ }
114
181
  continue;
115
182
  }
116
183
 
117
184
  if (relationFilter.exists === false) {
118
- const existsFilter = buildRelationExistsFilter(propertyId.value);
185
+ const existsFilter: GraphqlFilterEntry = isBacklink
186
+ ? { backlinks: { some: { typeId: { is: propertyId.value } } } }
187
+ : { relations: { some: { typeId: { is: propertyId.value } } } };
119
188
  graphqlFilter.push({
120
189
  not: existsFilter,
121
190
  });
122
191
  continue;
123
192
  }
193
+
194
+ continue;
124
195
  }
125
196
 
126
197
  if (