MCPcopy Create free account
hub / github.com/codemix/graph / stringifyCondition

Function stringifyCondition

packages/graph/src/Steps.ts:2256–2286  ·  view source on GitHub ↗
(
  condition: Condition,
  colorizers: StepTokenColorizers = defaultTokenColorizers,
)

Source from the content-addressed store, hash-verified

2254}
2255
2256function stringifyCondition(
2257 condition: Condition,
2258 colorizers: StepTokenColorizers = defaultTokenColorizers,
2259): string {
2260 switch (condition[0]) {
2261 case "and":
2262 case "or":
2263 case "xor":
2264 return `${colorizers.punctuation("(")}${(
2265 (condition as LogicalCondition).slice(1) as Condition[]
2266 )
2267 .map((c) => stringifyCondition(c, colorizers))
2268 .join(` ${colorizers.keyword(condition[0])} `)}${colorizers.punctuation(")")}`;
2269 case "not":
2270 return `${colorizers.keyword("not")} ${stringifyCondition(condition[1] as Condition, colorizers)}`;
2271 case "exists":
2272 return `${colorizers.label(condition[1])} ${colorizers.keyword("exists")}`;
2273 case "isNull":
2274 return `${colorizers.label(condition[1])} ${colorizers.keyword("is null")}`;
2275 case "isNotNull":
2276 return `${colorizers.label(condition[1])} ${colorizers.keyword("is not null")}`;
2277 case "in":
2278 return `${colorizers.label(condition[1])} ${colorizers.keyword("in")} ${colorizers.value(JSON.stringify(condition[2]))}`;
2279 case "labelWildcard":
2280 return `${colorizers.keyword(":")}${colorizers.label("%")}`;
2281 case "isLabeled":
2282 return `${colorizers.label(condition[1])} ${colorizers.keyword("is")} ${stringifyCondition(condition[2] as Condition, colorizers)}`;
2283 default:
2284 return `${colorizers.label(condition[1]!)} ${colorizers.keyword(condition[0])} ${colorizers.value(JSON.stringify(condition[2]))}`;
2285 }
2286}
2287
2288export interface FilterElementsStepConfig<
2289 _TPath extends TraversalPath<any, any, any>,

Callers 1

stringTokensToLinesFunction · 0.85

Calls 2

valueMethod · 0.80
mapMethod · 0.45

Tested by

no test coverage detected