Giter VIP home page Giter VIP logo

dart_kiota's Introduction

dart_kiota

This is the Dart implementation of the Kiota library.

Development

TODO

From the comment at: microsoft/kiota#2199 (comment)

  • Request information class
  • Serialization writer interface
  • Parse node interface
  • Request adapter interface

Abstractions

  • Backing store abstractions #10
  • Authentication abstractions #12

Implementations

See #18

Other

  • Test Coverage >80%

License

This project is licensed under the MIT License - see the LICENSE file for details.


This project is not affiliated with nor endorsed by Microsoft Corporation.

dart_kiota's People

Contributors

ricardoboss avatar baywet avatar

Stargazers

Pankaj Nikam avatar Sandalots avatar mori yuta avatar Gabriel Soares avatar James Hancock avatar

Watchers

 avatar Andrew Omondi avatar  avatar  avatar

Forkers

baywet

dart_kiota's Issues

Ignore all generated files

Most tool authors recommend adding generated files to the .gitignore.

Working on a large project with lots of generated files checked into git, I can tell why: having generated files (or even lockfiles) in version control causes noisy commits.

Therefore I want to remove all generated files from all packages.
Currently, this only includes the *.mocks.dart files for the tests, but I'm sure there will be other purposes (like in #20 the package version).

missing backing store aspects

This doesn't need to be implemented in the language to start playing with the generation, but I thought I'd create an issue to track that.

missing authentication aspects

not needed for generation strictly speaking, but it's more than likely that it'll be needed during the integration tests phase. Issue created for tracking purposes.

Rewrite serialization writers to be asynchronous

The Parsable defines a method serialize that returns a FutureOr<void> and receives a SerializationWriter.

When serializing nested objects, this serialize method gets called from within write* methods of the SerializationWriters.

The problem is that the write* methods are not asynchronous and cannot await the FutureOr<void> returned from the serialize method of the Parsable.

To mitigate this, I want to rewrite all write* methods in the serialization writers to be asynchronous.

Prepare for monorepo

As many other Kiota implementations, this repository will host the abstractions alongside some implementations for those.

Currently, the repository only hosts the kiota_abstractions package.
In the future, other packages might be added to this repository, for example:

  • kiota_http: Implements an API client using the Dart http package
  • kiota_dio: Implements an API client using dio
  • kiota_serialization_json: Implements JSON serialization using any approach described in the flutter docs (TBD)
  • kiota_serialization_form: Implements form serialization
  • kiota_serialization_text: Implements text serialization
  • kiota_serialization_multipart: Implements multipart serialization

consider adding a with url method in the base request builder

If passing generic types and instantiating generic types from the generic type parameter is possible in Dart without using reflection this is something we might consider. It helps reducing the amount of code needed to be generated.

https://github.com/microsoft/kiota-typescript/blob/e86e70a6cc77bb58b4f5d5bac5cc6eb87dbac271/packages/abstractions/src/baseRequestBuilder.ts#L2

https://github.com/ricardoboss/dart_kiota_abstractions/blob/63b687ad9d738cb4a66ab96bca90c23dda26a325/lib/src/base_request_builder.dart#L18

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.