in src/validation/validateStates.ts [149:171]
function validateParameters(parametersPropNode: PropertyASTNode, document: TextDocument): Diagnostic[] {
let diagnostics: Diagnostic[] = []
const valueNode = parametersPropNode.valueNode
if (valueNode && isObjectNode(valueNode)) {
valueNode.properties.forEach((prop) => {
if (prop.valueNode && prop.keyNode.value.endsWith('.$')) {
const propValue = prop.valueNode.value
if (typeof propValue !== 'string' || !(isJsonPath(propValue) || isIntrinsicFunction(propValue))) {
const { length, offset } = prop.valueNode
const range = Range.create(document.positionAt(offset), document.positionAt(offset + length))
diagnostics.push(Diagnostic.create(range, MESSAGES.INVALID_JSON_PATH_OR_INTRINSIC, DiagnosticSeverity.Error))
}
} else if (prop.valueNode && isObjectNode(prop.valueNode)) {
diagnostics = diagnostics.concat(validateParameters(prop, document))
}
})
}
return diagnostics
}