MCPcopy Create free account
hub / github.com/colbymchenry/codegraph / rtk_endpoint_handler

Method rtk_endpoint_handler

codegraph-kernel/src/tsjs/extractors.rs:638–682  ·  view source on GitHub ↗
(&self, call: Node<'t>)

Source from the content-addressed store, hash-verified

636 }
637
638 fn rtk_endpoint_handler(&self, call: Node<'t>) -> Option<Node<'t>> {
639 let args = call.child_by_field_name("arguments")?;
640 for i in 0..args.named_child_count() {
641 let Some(arg) = args.named_child(i) else { continue };
642 if !matches!(arg.kind(), "object" | "object_expression") {
643 continue;
644 }
645 let mut query_fn: Option<Node> = None;
646 let mut query: Option<Node> = None;
647 let mut first_fn: Option<Node> = None;
648 for j in 0..arg.named_child_count() {
649 let Some(member) = arg.named_child(j) else { continue };
650 let mut fn_node: Option<Node> = None;
651 let mut key_name = "";
652 if member.kind() == "pair" {
653 if let Some(v) = member.child_by_field_name("value") {
654 if matches!(v.kind(), "arrow_function" | "function_expression") {
655 fn_node = Some(v);
656 if let Some(k) = member.child_by_field_name("key") {
657 key_name = self.text(k);
658 }
659 }
660 }
661 } else if member.kind() == "method_definition" {
662 fn_node = Some(member);
663 if let Some(k) = member.child_by_field_name("name") {
664 key_name = self.text(k);
665 }
666 }
667 let Some(f) = fn_node else { continue };
668 if key_name == "queryFn" {
669 query_fn = Some(f);
670 } else if key_name == "query" {
671 query = Some(f);
672 }
673 if first_fn.is_none() {
674 first_fn = Some(f);
675 }
676 }
677 if let Some(f) = query_fn.or(query).or(first_fn) {
678 return Some(f);
679 }
680 }
681 None
682 }
683
684 pub(super) fn looks_like_vue_store_file(&mut self) -> bool {
685 if let Some(v) = self.vue_store_file {

Callers 1

extract_rtk_endpointsMethod · 0.80

Calls 1

textMethod · 0.65

Tested by

no test coverage detected