You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Sven Slootweg d83ed1fe0e | 1 year ago | |
---|---|---|
misc | 1 year ago | |
.gitignore | 1 year ago | |
README.md | 1 year ago | |
cursor.js | 1 year ago | |
deep-merge-and-map.js | 1 year ago | |
docs.md | 1 year ago | |
index.js | 1 year ago | |
invalid-object.js | 1 year ago | |
load-modules.js | 1 year ago | |
notes.txt | 1 year ago | |
package.json | 1 year ago | |
test.js | 1 year ago | |
yarn.lock | 1 year ago |
README.md
dlayer
This library (and its documentation) is still a work-in-progress!
dlayer is a GraphQL-like data access layer. It lets you combine data from multiple sources into a single coherent API - and it's designed for application-internal use first and foremost, with network accessibility being an optional add-on.
dlayer differs from GraphQL in a number of important ways:
- dlayer supports recursive queries without needing schema hacks; both bounded and unbounded.
- dlayer is modular by default; a dlayer API can be composed of many independent 'modules' that can reference and extend each other when available. This allows for eg. constructing plugin systems, like in sysquery, as well as making it easier to loosely couple your API definition.
- dlayer does not use a separate schema; the schema is implicitly defined by what the API returns. This essentially makes it dynamically typed; however, trying to access a non-existent property of the schema is an error.