function validateParameters()

in src/validation/validateStates.ts [63:85]


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
}