MCPcopy Create free account
hub / github.com/effect-app/libs / print

Function print

packages/infra/src/Store/SQL/query.ts:346–398  ·  view source on GitHub ↗
(state: readonly FilterResult[], isRelation: string | null, every: boolean)

Source from the content-addressed store, hash-verified

344 }
345
346 const print = (state: readonly FilterResult[], isRelation: string | null, every: boolean): string => {
347 let s = ""
348 for (const e of state) {
349 switch (e.t) {
350 case "where":
351 s += statement(e, isRelation ?? undefined)
352 break
353 case "or":
354 s += ` OR ${statement(e, isRelation ?? undefined)}`
355 break
356 case "and":
357 s += ` AND ${statement(e, isRelation ?? undefined)}`
358 break
359 case "or-scope": {
360 if (!every) every = e.relation === "every"
361 const rel = isRelationCheck(e.result, isRelation)
362 if (rel) {
363 s += isRelation
364 ? ` OR (${print(e.result, rel, every)})`
365 : ` OR ${wrapRelation(rel, print(e.result, rel, every), every)}`
366 } else {
367 s += ` OR (${print(e.result, null, every)})`
368 }
369 break
370 }
371 case "and-scope": {
372 if (!every) every = e.relation === "every"
373 const rel = isRelationCheck(e.result, isRelation)
374 if (rel) {
375 s += isRelation
376 ? ` AND (${print(e.result, rel, every)})`
377 : ` AND ${wrapRelation(rel, print(e.result, rel, every), every)}`
378 } else {
379 s += ` AND (${print(e.result, null, every)})`
380 }
381 break
382 }
383 case "where-scope": {
384 if (!every) every = e.relation === "every"
385 const rel = isRelationCheck(e.result, isRelation)
386 if (rel) {
387 s += isRelation
388 ? `(${print(e.result, rel, every)})`
389 : wrapRelation(rel, print(e.result, rel, every), every)
390 } else {
391 s += `(${print(e.result, null, every)})`
392 }
393 break
394 }
395 }
396 }
397 return s
398 }
399
400 const computedSelectExpr = (key: string, computed: ComputedProjectionIrExpression): string => {
401 const relationPath = dottedToJsonPath(computed.path)

Callers 4

whereClauseFunction · 0.70
computedSelectExprFunction · 0.70
aggregateSelectExprFunction · 0.70
buildWhereSQLQueryFunction · 0.70

Calls 3

isRelationCheckFunction · 0.90
wrapRelationFunction · 0.85
statementFunction · 0.70

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…