apollo-federation 2.13.1

Apollo Federation
Documentation
---
source: apollo-federation/src/connectors/json_selection/parser.rs
expression: "JSONSelection::parse(r#\"\n            id: $this.id\n            $args.input {\n                title\n                body\n            }\n        \"#)"
---
Ok(
    JSONSelection {
        inner: Named(
            SubSelection {
                selections: [
                    NamedSelection {
                        prefix: Alias(
                            Alias {
                                name: WithRange {
                                    node: Field(
                                        "id",
                                    ),
                                    range: Some(
                                        13..15,
                                    ),
                                },
                                range: Some(
                                    13..16,
                                ),
                            },
                        ),
                        path: PathSelection {
                            path: WithRange {
                                node: Var(
                                    WithRange {
                                        node: $this,
                                        range: Some(
                                            17..22,
                                        ),
                                    },
                                    WithRange {
                                        node: Key(
                                            WithRange {
                                                node: Field(
                                                    "id",
                                                ),
                                                range: Some(
                                                    23..25,
                                                ),
                                            },
                                            WithRange {
                                                node: Empty,
                                                range: Some(
                                                    25..25,
                                                ),
                                            },
                                        ),
                                        range: Some(
                                            22..25,
                                        ),
                                    },
                                ),
                                range: Some(
                                    17..25,
                                ),
                            },
                        },
                    },
                    NamedSelection {
                        prefix: Spread(
                            None,
                        ),
                        path: PathSelection {
                            path: WithRange {
                                node: Var(
                                    WithRange {
                                        node: $args,
                                        range: Some(
                                            38..43,
                                        ),
                                    },
                                    WithRange {
                                        node: Key(
                                            WithRange {
                                                node: Field(
                                                    "input",
                                                ),
                                                range: Some(
                                                    44..49,
                                                ),
                                            },
                                            WithRange {
                                                node: Selection(
                                                    SubSelection {
                                                        selections: [
                                                            NamedSelection {
                                                                prefix: None,
                                                                path: PathSelection {
                                                                    path: WithRange {
                                                                        node: Key(
                                                                            WithRange {
                                                                                node: Field(
                                                                                    "title",
                                                                                ),
                                                                                range: Some(
                                                                                    68..73,
                                                                                ),
                                                                            },
                                                                            WithRange {
                                                                                node: Empty,
                                                                                range: Some(
                                                                                    73..73,
                                                                                ),
                                                                            },
                                                                        ),
                                                                        range: Some(
                                                                            68..73,
                                                                        ),
                                                                    },
                                                                },
                                                            },
                                                            NamedSelection {
                                                                prefix: None,
                                                                path: PathSelection {
                                                                    path: WithRange {
                                                                        node: Key(
                                                                            WithRange {
                                                                                node: Field(
                                                                                    "body",
                                                                                ),
                                                                                range: Some(
                                                                                    90..94,
                                                                                ),
                                                                            },
                                                                            WithRange {
                                                                                node: Empty,
                                                                                range: Some(
                                                                                    94..94,
                                                                                ),
                                                                            },
                                                                        ),
                                                                        range: Some(
                                                                            90..94,
                                                                        ),
                                                                    },
                                                                },
                                                            },
                                                        ],
                                                        range: Some(
                                                            50..108,
                                                        ),
                                                    },
                                                ),
                                                range: Some(
                                                    50..108,
                                                ),
                                            },
                                        ),
                                        range: Some(
                                            43..108,
                                        ),
                                    },
                                ),
                                range: Some(
                                    38..108,
                                ),
                            },
                        },
                    },
                ],
                range: Some(
                    13..108,
                ),
            },
        ),
        spec: V0_2,
    },
)