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

Method rtk_endpoint_handler

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

Source from the content-addressed store, hash-verified

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

Callers 1

extract_rtk_endpointsMethod · 0.80

Calls 1

textMethod · 0.45

Tested by

no test coverage detected