---
# System prepended metadata

title: 2021-05-12 Interop TS Implementation

---

# 2021-05-12 Interop TS Implementation

2:30PM EDT

## Agenda

* Github workflow
  * self assignment to Issues and PRs
* Working time commitments
  * stable weekly schedules if available
* Test suite
  * potential for reusing snippets from the primer
* Dependencies
  * N3Store or `@rdfjs/dataset` 
  * [uuid](https://github.com/uuidjs/uuid) or [randomUUID](https://github.com/uuidjs/randomUUID) (we could also use dependency injection, [eg. node v15.6.0 has randomUUID build in](https://nodejs.org/dist/latest-v15.x/docs/api/crypto.html#crypto_crypto_randomuuid_options), node v16 will become LTS in the end of October)
  * turtle parser or jsonld parser (jsonld we could use internally to avoid low level RDFJS)
  * higher level RDF/JS eg [clownface](https://zazuko.github.io/clownface/#/), [RDFfine](https://github.com/tpluscode/rdfine/tree/master/packages/core#readme)
  * dependency injection container eg. [TSyringe](https://github.com/Microsoft/tsyringe)
* Discussing existing code
  * `getRdfResource` could come from [partial application](https://en.wikipedia.org/wiki/Partial_application) and have fetch already bound. 
  * reason for `applicationProfile` - it should be available in app WebID Document
  * `createRegistration` - is it intended for AuthZ Agent ? currently it seems to be used by the application
  * should application be able to unregister itself or user should initiate it from AuthZ Agent
  * difference between [RDFJS.Store](https://rdf.js.org/stream-spec/#store-interface) and [RDFJS.DatasetCore](https://rdf.js.org/dataset-spec/#datasetcore-interface)
* Next to implement
  * integrate solid-oidc lib or use mock for now

* Can we defer for couple of weeks
  * publishing packages to npm
  * ts compiler TS target version and module type
    * can we assume that dependents of this lib will either use nodejs >= current LTS or have their own build system for a web browser?
  * application registration(s) discovery, we start with application knowing IRI(s) of it's registration(s)
    * we don't need to start with Registry Sets and Registries, we can go directly into Application Registration -> Access Receipt -> Data Grant (normal, referenced, remote, referenced remote) -> Data Registration (normal, remote) -> Data Instance