rested 0.11.0

Language/Interpreter for easily defining and running requests to an http server.
Documentation
---
source: tests/parser.rs
description: "\nlet o = {\n    key: \"value\",\n    akey: false,\n    love: {\n        hello: {\n            w: \"1\",\n            o: {\n                two: 2.123,\n                and: {}\n            }\n        }\n    }\n}"
expression: ast
---
Program(
  source: "\nlet o = {\n    key: \"value\",\n    akey: false,\n    love: {\n        hello: {\n            w: \"1\",\n            o: {\n                two: 2.123,\n                and: {}\n            }\n        }\n    }\n}",
  items: [
    Let(VariableDeclaration(
      identifier: Ok(Token(
        kind: Ident,
        text: "o",
        start: Position(
          value: 5,
          line: 1,
          col: 4,
        ),
      )),
      value: Object(ObjectEntryList(
        span: Span(
          start: Position(
            value: 9,
            line: 1,
            col: 8,
          ),
          end: Position(
            value: 194,
            line: 13,
            col: 0,
          ),
        ),
        items: [
          This(Ok(ObjectEntry(
            key: Ok(StringLiteral(
              raw: "key",
              value: "key",
              span: Span(
                start: Position(
                  value: 15,
                  line: 2,
                  col: 4,
                ),
                end: Position(
                  value: 17,
                  line: 2,
                  col: 6,
                ),
              ),
            )),
            value: String(StringLiteral(
              raw: "\"value\"",
              value: "value",
              span: Span(
                start: Position(
                  value: 20,
                  line: 2,
                  col: 9,
                ),
                end: Position(
                  value: 26,
                  line: 2,
                  col: 15,
                ),
              ),
            )),
          ))),
          This(Ok(ObjectEntry(
            key: Ok(StringLiteral(
              raw: "akey",
              value: "akey",
              span: Span(
                start: Position(
                  value: 33,
                  line: 3,
                  col: 4,
                ),
                end: Position(
                  value: 36,
                  line: 3,
                  col: 7,
                ),
              ),
            )),
            value: Bool((Span(
              start: Position(
                value: 39,
                line: 3,
                col: 10,
              ),
              end: Position(
                value: 43,
                line: 3,
                col: 14,
              ),
            ), false)),
          ))),
          This(Ok(ObjectEntry(
            key: Ok(StringLiteral(
              raw: "love",
              value: "love",
              span: Span(
                start: Position(
                  value: 50,
                  line: 4,
                  col: 4,
                ),
                end: Position(
                  value: 53,
                  line: 4,
                  col: 7,
                ),
              ),
            )),
            value: Object(ObjectEntryList(
              span: Span(
                start: Position(
                  value: 56,
                  line: 4,
                  col: 10,
                ),
                end: Position(
                  value: 192,
                  line: 12,
                  col: 4,
                ),
              ),
              items: [
                This(Ok(ObjectEntry(
                  key: Ok(StringLiteral(
                    raw: "hello",
                    value: "hello",
                    span: Span(
                      start: Position(
                        value: 66,
                        line: 5,
                        col: 8,
                      ),
                      end: Position(
                        value: 70,
                        line: 5,
                        col: 12,
                      ),
                    ),
                  )),
                  value: Object(ObjectEntryList(
                    span: Span(
                      start: Position(
                        value: 73,
                        line: 5,
                        col: 15,
                      ),
                      end: Position(
                        value: 186,
                        line: 11,
                        col: 8,
                      ),
                    ),
                    items: [
                      This(Ok(ObjectEntry(
                        key: Ok(StringLiteral(
                          raw: "w",
                          value: "w",
                          span: Span(
                            start: Position(
                              value: 87,
                              line: 6,
                              col: 12,
                            ),
                            end: Position(
                              value: 87,
                              line: 6,
                              col: 12,
                            ),
                          ),
                        )),
                        value: String(StringLiteral(
                          raw: "\"1\"",
                          value: "1",
                          span: Span(
                            start: Position(
                              value: 90,
                              line: 6,
                              col: 15,
                            ),
                            end: Position(
                              value: 92,
                              line: 6,
                              col: 17,
                            ),
                          ),
                        )),
                      ))),
                      This(Ok(ObjectEntry(
                        key: Ok(StringLiteral(
                          raw: "o",
                          value: "o",
                          span: Span(
                            start: Position(
                              value: 107,
                              line: 7,
                              col: 12,
                            ),
                            end: Position(
                              value: 107,
                              line: 7,
                              col: 12,
                            ),
                          ),
                        )),
                        value: Object(ObjectEntryList(
                          span: Span(
                            start: Position(
                              value: 110,
                              line: 7,
                              col: 15,
                            ),
                            end: Position(
                              value: 176,
                              line: 10,
                              col: 12,
                            ),
                          ),
                          items: [
                            This(Ok(ObjectEntry(
                              key: Ok(StringLiteral(
                                raw: "two",
                                value: "two",
                                span: Span(
                                  start: Position(
                                    value: 128,
                                    line: 8,
                                    col: 16,
                                  ),
                                  end: Position(
                                    value: 130,
                                    line: 8,
                                    col: 18,
                                  ),
                                ),
                              )),
                              value: Number((Span(
                                start: Position(
                                  value: 133,
                                  line: 8,
                                  col: 21,
                                ),
                                end: Position(
                                  value: 137,
                                  line: 8,
                                  col: 25,
                                ),
                              ), 2.123)),
                            ))),
                            This(Ok(ObjectEntry(
                              key: Ok(StringLiteral(
                                raw: "and",
                                value: "and",
                                span: Span(
                                  start: Position(
                                    value: 156,
                                    line: 9,
                                    col: 16,
                                  ),
                                  end: Position(
                                    value: 158,
                                    line: 9,
                                    col: 18,
                                  ),
                                ),
                              )),
                              value: EmptyObject(Span(
                                start: Position(
                                  value: 161,
                                  line: 9,
                                  col: 21,
                                ),
                                end: Position(
                                  value: 162,
                                  line: 9,
                                  col: 22,
                                ),
                              )),
                            ))),
                          ],
                        )),
                      ))),
                    ],
                  )),
                ))),
              ],
            )),
          ))),
        ],
      )),
    )),
  ],
)