solid 0.2.3 solid: ^0.2.3 copied to clipboard
Solid allows use of Tim Berners-Lee's new platform for a decentralized web, https://solid.inrupt.com/, from within dart. Currently only includes solid.auth.
Solid #
Solid allows use of Tim Berners-Lee's new platform for a decentralized web, Solid, from within dart.
This package includes the solid library, and some of rdflib.
Installation #
Install Solid from pub:
dependencies:
solid: ^0.2.3
Include solid-auth-client.bundle.js in your HTML before your dart file.
<script src="solid-auth-client.bundle.js"></script>
<script src="main.dart.js"></script>
You can find solid-auth-client.bundle.js here.
if you're also using RDFLib, make sure to include rdflib.min.js.
In your dart code, import
import 'package:solid/solid.dart' as solid;
To use RDFLib, import
import 'package:solid/rdflib.dart' as $rdf;
Warning: In the future, rdflib may be moved to its own package.
Follow the Official Solid Documentation!
Differences from JavaScript #
Currently, logging in from JavaScript is written as
solid.auth.popupLogin({popupUri:'popup.html'});
Whereas in Dart, you write
solid.Auth.popupLogin(solid.LoginOptions(popupUri:'popup.html'));
RDFLib Differences #
Due issues with JavaScript Promise Interop, when using Fetcher.load, it must be wrapped in promiseToFuture (dart:html).
For example, in JavaScript, you write:
await fetcher.load(person);
In dart, you write:
await promiseToFuture(fetcher.load(person));