Class: ASTDeterministicStringifier
Defined in: lang-cypher/src/visitors/ast-stringifier.ts:58
Converts a Cypher AST into a deterministic string, used to generate stable
cache keys and computed-column aliases during logical plan building.
Embedded LangSwitch sub-expressions are replaced with opaque
lang_<lang>_<N> placeholders; uniqueId is incremented on each
encounter to keep them unique within one traversal.
Implements
CypherVisitor<string>
Constructors
Constructor
new ASTDeterministicStringifier():
ASTDeterministicStringifier
Defined in: lang-cypher/src/visitors/ast-stringifier.ts:62
Returns
ASTDeterministicStringifier
Properties
uniqueId
protecteduniqueId:number=0
Defined in: lang-cypher/src/visitors/ast-stringifier.ts:60
Counter appended to LangSwitch placeholders to keep them unique within one traversal.
Methods
addQuotes()
protectedaddQuotes(str,quot):string
Defined in: lang-cypher/src/visitors/ast-stringifier.ts:106
Wraps str in quot, doubling any existing occurrences of that character.
Parameters
| Parameter | Type |
|---|---|
str | string |
quot | """ | "'" | "`" |
Returns
string
processAttr()
protectedprocessAttr(x):string
Defined in: lang-cypher/src/visitors/ast-stringifier.ts:82
Serializes an aliased AST pair as expr AS alias.
Parameters
| Parameter | Type |
|---|---|
x | Aliased<ASTNode> |
Returns
string
processNode()
protectedprocessNode(x):string
Defined in: lang-cypher/src/visitors/ast-stringifier.ts:70
Dispatches x through this visitor and returns its string form.
Parameters
| Parameter | Type |
|---|---|
x | ASTNode |
Returns
string
processNodeOrAttr()
protectedprocessNodeOrAttr(x):string
Defined in: lang-cypher/src/visitors/ast-stringifier.ts:74
Returns '*' unchanged, serializes an aliased pair as expr AS alias, or dispatches a bare node.
Parameters
| Parameter | Type |
|---|---|
x | "*" | ASTNode | Aliased<ASTNode> |
Returns
string
visitBooleanLiteral()
visitBooleanLiteral(
node):string
Defined in: lang-cypher/src/visitors/ast-stringifier.ts:124
Parameters
| Parameter | Type |
|---|---|
node | ASTBooleanLiteral |
Returns
string
Implementation of
CypherVisitor.visitBooleanLiteral
visitCaseExpr()
visitCaseExpr(
node):string
Defined in: lang-cypher/src/visitors/ast-stringifier.ts:203
Parameters
| Parameter | Type |
|---|---|
node | CaseExpr |
Returns
string
Implementation of
visitCountAll()
visitCountAll(
node):string
Defined in: lang-cypher/src/visitors/ast-stringifier.ts:210
Parameters
| Parameter | Type |
|---|---|
node | CountAll |
Returns
string
Implementation of
visitCreateClause()
visitCreateClause(
node):string
Defined in: lang-cypher/src/visitors/ast-stringifier.ts:242
Parameters
| Parameter | Type |
|---|---|
node | CreateClause |
Returns
string
Implementation of
CypherVisitor.visitCreateClause
visitCypherIdentifier()
visitCypherIdentifier(
node):string
Defined in: lang-cypher/src/visitors/ast-stringifier.ts:102
Parameters
| Parameter | Type |
|---|---|
node | CypherIdentifier |
Returns
string
Implementation of
CypherVisitor.visitCypherIdentifier
visitDeleteClause()
visitDeleteClause(
node):string
Defined in: lang-cypher/src/visitors/ast-stringifier.ts:273
Parameters
| Parameter | Type |
|---|---|
node | DeleteClause |
Returns
string
Implementation of
CypherVisitor.visitDeleteClause
visitExistsSubquery()
visitExistsSubquery(
node):string
Defined in: lang-cypher/src/visitors/ast-stringifier.ts:142
Parameters
| Parameter | Type |
|---|---|
node | ExistsSubquery |
Returns
string
Implementation of
CypherVisitor.visitExistsSubquery
visitFnCallWrapper()
visitFnCallWrapper(
node):string
Defined in: lang-cypher/src/visitors/ast-stringifier.ts:127
Parameters
| Parameter | Type |
|---|---|
node | FnCallWrapper |
Returns
string
Implementation of
CypherVisitor.visitFnCallWrapper
visitFunction()
visitFunction(
node):string
Defined in: lang-cypher/src/visitors/ast-stringifier.ts:311
Not implemented in the base class; subclasses must override.
Parameters
| Parameter | Type |
|---|---|
node | ASTFunction |
Returns
string
Throws
Always throws Error('Method not implemented.').
Implementation of
visitIdentifier()
visitIdentifier(
node):string
Defined in: lang-cypher/src/visitors/ast-stringifier.ts:98
Parameters
| Parameter | Type |
|---|---|
node | ASTIdentifier |
Returns
string
Implementation of
visitLabelFilterExpr()
visitLabelFilterExpr(
node):string
Defined in: lang-cypher/src/visitors/ast-stringifier.ts:213
Parameters
| Parameter | Type |
|---|---|
node | LabelFilterExpr |
Returns
string
Implementation of
CypherVisitor.visitLabelFilterExpr
visitLangSwitch()
visitLangSwitch(
node):string
Defined in: lang-cypher/src/visitors/ast-stringifier.ts:319
Returns an opaque lang_<lang>_<N> placeholder and increments
uniqueId, producing a stable unique alias for the embedded
sub-expression without recursing into it.
Parameters
| Parameter | Type |
|---|---|
node | LangSwitch |
Returns
string
Implementation of
visitListComprehension()
visitListComprehension(
node):string
Defined in: lang-cypher/src/visitors/ast-stringifier.ts:197
Parameters
| Parameter | Type |
|---|---|
node | ListComprehension |
Returns
string
Implementation of
CypherVisitor.visitListComprehension
visitListLiteral()
visitListLiteral(
node):string
Defined in: lang-cypher/src/visitors/ast-stringifier.ts:115
Parameters
| Parameter | Type |
|---|---|
node | ASTListLiteral |
Returns
string
Implementation of
CypherVisitor.visitListLiteral
visitLiteral()
visitLiteral<
T>(node):string
Defined in: lang-cypher/src/visitors/ast-stringifier.ts:301
Not implemented in the base class; subclasses must override.
Type Parameters
| Type Parameter |
|---|
T |
Parameters
| Parameter | Type |
|---|---|
node | ASTLiteral<T> |
Returns
string
Throws
Always throws Error('Method not implemented.').
Implementation of
visitMapLiteral()
visitMapLiteral(
node):string
Defined in: lang-cypher/src/visitors/ast-stringifier.ts:118
Parameters
| Parameter | Type |
|---|---|
node | ASTMapLiteral |
Returns
string
Implementation of
visitMatchClause()
visitMatchClause(
node):string
Defined in: lang-cypher/src/visitors/ast-stringifier.ts:233
Parameters
| Parameter | Type |
|---|---|
node | MatchClause |
Returns
string
Implementation of
CypherVisitor.visitMatchClause
visitMergeClause()
visitMergeClause(
node):string
Defined in: lang-cypher/src/visitors/ast-stringifier.ts:245
Parameters
| Parameter | Type |
|---|---|
node | MergeClause |
Returns
string
Implementation of
CypherVisitor.visitMergeClause
visitNodePattern()
visitNodePattern(
node):string
Defined in: lang-cypher/src/visitors/ast-stringifier.ts:155
Parameters
| Parameter | Type |
|---|---|
node | NodePattern |
Returns
string
Implementation of
CypherVisitor.visitNodePattern
visitNumberLiteral()
visitNumberLiteral(
node):string
Defined in: lang-cypher/src/visitors/ast-stringifier.ts:112
Parameters
| Parameter | Type |
|---|---|
node | ASTNumberLiteral |
Returns
string
Implementation of
CypherVisitor.visitNumberLiteral
visitOperator()
visitOperator(
node):string
Defined in: lang-cypher/src/visitors/ast-stringifier.ts:304
Parameters
| Parameter | Type |
|---|---|
node | ASTOperator |
Returns
string
Implementation of
visitOrderItem()
visitOrderItem(
node):string
Defined in: lang-cypher/src/visitors/ast-stringifier.ts:287
Parameters
| Parameter | Type |
|---|---|
node | OrderItem |
Returns
string
Implementation of
visitPatternComprehension()
visitPatternComprehension(
node):string
Defined in: lang-cypher/src/visitors/ast-stringifier.ts:191
Parameters
| Parameter | Type |
|---|---|
node | PatternComprehension |
Returns
string
Implementation of
CypherVisitor.visitPatternComprehension
visitPatternElChain()
visitPatternElChain(
node):string
Defined in: lang-cypher/src/visitors/ast-stringifier.ts:150
Parameters
| Parameter | Type |
|---|---|
node | PatternElChain |
Returns
string
Implementation of
CypherVisitor.visitPatternElChain
visitProjectionBody()
visitProjectionBody(
node):string
Defined in: lang-cypher/src/visitors/ast-stringifier.ts:277
Parameters
| Parameter | Type |
|---|---|
node | ProjectionBody |
Returns
string
Implementation of
CypherVisitor.visitProjectionBody
visitPropLookup()
visitPropLookup(
node):string
Defined in: lang-cypher/src/visitors/ast-stringifier.ts:219
Parameters
| Parameter | Type |
|---|---|
node | PropLookup |
Returns
string
Implementation of
visitQuantifiedExpr()
visitQuantifiedExpr(
node):string
Defined in: lang-cypher/src/visitors/ast-stringifier.ts:145
Parameters
| Parameter | Type |
|---|---|
node | QuantifiedExpr |
Returns
string
Implementation of
CypherVisitor.visitQuantifiedExpr
visitQuery()
visitQuery(
node):string
Defined in: lang-cypher/src/visitors/ast-stringifier.ts:225
Parameters
| Parameter | Type |
|---|---|
node | Query |
Returns
string
Implementation of
visitRange()
protectedvisitRange(range):string
Defined in: lang-cypher/src/visitors/ast-stringifier.ts:169
Serializes a relationship hop range: a single-element tuple emits just
start; a two-element tuple emits start..end with missing bounds left
blank (e.g. ..5 or 1..).
Parameters
| Parameter | Type |
|---|---|
range | [ASTNode, ASTNode] | [ASTNode] |
Returns
string
visitRelPattern()
visitRelPattern(
node):string
Defined in: lang-cypher/src/visitors/ast-stringifier.ts:178
Parameters
| Parameter | Type |
|---|---|
node | RelPattern |
Returns
string
Implementation of
visitRemoveClause()
visitRemoveClause(
node):string
Defined in: lang-cypher/src/visitors/ast-stringifier.ts:263
Parameters
| Parameter | Type |
|---|---|
node | RemoveClause |
Returns
string
Implementation of
CypherVisitor.visitRemoveClause
visitRemoveItem()
visitRemoveItem(
node):string
Defined in: lang-cypher/src/visitors/ast-stringifier.ts:266
Parameters
| Parameter | Type |
|---|---|
node | RemoveItem |
Returns
string
Implementation of
visitReturnClause()
visitReturnClause(
node):string
Defined in: lang-cypher/src/visitors/ast-stringifier.ts:294
Parameters
| Parameter | Type |
|---|---|
node | ReturnClause |
Returns
string
Implementation of
CypherVisitor.visitReturnClause
visitSchemaPart()
protectedvisitSchemaPart(node):string
Defined in: lang-cypher/src/visitors/ast-stringifier.ts:91
Serializes one segment of a schema path: allAttrs becomes '*',
other symbols and numbers use .toString(), and plain strings are
backtick-quoted.
Parameters
| Parameter | Type |
|---|---|
node | string | number | symbol |
Returns
string
visitSetClause()
visitSetClause(
node):string
Defined in: lang-cypher/src/visitors/ast-stringifier.ts:253
Parameters
| Parameter | Type |
|---|---|
node | SetClause |
Returns
string
Implementation of
visitSetItem()
visitSetItem(
node):string
Defined in: lang-cypher/src/visitors/ast-stringifier.ts:256
Parameters
| Parameter | Type |
|---|---|
node | SetItem |
Returns
string
Implementation of
visitSetOp()
visitSetOp(
node):string
Defined in: lang-cypher/src/visitors/ast-stringifier.ts:222
Parameters
| Parameter | Type |
|---|---|
node | SetOp |
Returns
string
Implementation of
visitStringLiteral()
visitStringLiteral(
node):string
Defined in: lang-cypher/src/visitors/ast-stringifier.ts:109
Parameters
| Parameter | Type |
|---|---|
node | ASTStringLiteral |
Returns
string
Implementation of
CypherVisitor.visitStringLiteral
visitSubscriptExpr()
visitSubscriptExpr(
node):string
Defined in: lang-cypher/src/visitors/ast-stringifier.ts:216
Parameters
| Parameter | Type |
|---|---|
node | SubscriptExpr |
Returns
string
Implementation of
CypherVisitor.visitSubscriptExpr
visitUnwindClause()
visitUnwindClause(
node):string
Defined in: lang-cypher/src/visitors/ast-stringifier.ts:239
Parameters
| Parameter | Type |
|---|---|
node | UnwindClause |
Returns
string
Implementation of
CypherVisitor.visitUnwindClause
visitWithClause()
visitWithClause(
node):string
Defined in: lang-cypher/src/visitors/ast-stringifier.ts:290
Parameters
| Parameter | Type |
|---|---|
node | WithClause |
Returns
string