(evaluation, info, spans, extraInfo)
| 673 | } |
| 674 | |
| 675 | export function findRelated(evaluation, info, spans, extraInfo) { |
| 676 | let queryId = `query|${info.requestId}`; |
| 677 | let query: any = {tag: ["query", "findRelated"]}; |
| 678 | let queryType; |
| 679 | if(info.span) { |
| 680 | query.span = info.span; |
| 681 | queryType = "span"; |
| 682 | } |
| 683 | if(info.variable) { |
| 684 | query.variable = info.variable; |
| 685 | queryType = "variable" |
| 686 | } |
| 687 | query.for = queryType |
| 688 | |
| 689 | let evSession = evaluation.getDatabase("session"); |
| 690 | eve.registerDatabase("evaluation-session", evSession); |
| 691 | doQuery(queryId, query, spans, extraInfo); |
| 692 | eve.unregisterDatabase("evaluation-session"); |
| 693 | |
| 694 | let sessionIndex = eve.getDatabase("session").index; |
| 695 | let queryInfo = sessionIndex.alookup("tag", "findRelated"); |
| 696 | if(queryInfo) { |
| 697 | let [entity] = queryInfo.toValues(); |
| 698 | let obj = sessionIndex.asObject(entity); |
| 699 | if(queryType === "span" && obj.variable) { |
| 700 | info.variable = obj.variable; |
| 701 | } else if(queryType === "variable" && obj.span) { |
| 702 | info.span = obj.span; |
| 703 | } else { |
| 704 | info.variable = []; |
| 705 | info.span = []; |
| 706 | } |
| 707 | return info; |
| 708 | } |
| 709 | return; |
| 710 | } |
| 711 | |
| 712 | export function findAffector(evaluation, info, spans, extraInfo) { |
| 713 | let queryId = `query|${info.requestId}`; |
nothing calls this directly
no test coverage detected