This library aims to provide an observable
based API, that wraps the web APIapi. This also includes experimental, non-standard and not well-supported APIs. Polyfills need to be provided by the user of this library if necessary.
This library uses the Observable implementation of rxjs >= 6.
The public API surface of this library can be affected by breaking changes within the experimental API used.
Additionally, the implementation of this library makes use of globalThis which breaks ie <= 11! There is no plan to add support for IE 11 in this library.
API | Implemented | Tested | Experimental/not well supported |
---|---|---|---|
Bluetooth API | ☐ | ☐ | ☑ |
Broadcast Channel API | ☐ | ☐ | ☐ |
dynamic import | ☑ | ☐ | ☐ |
File and Directory Entries API | ☐ | ☐ | ☑ |
Geolocation API | ☑ | ☐ | ☐ |
Image Capture API | ☐ | ☐ | ☑ |
IntersectionObserver | ☑ | ☐ | ☑ |
matchMedia | ☑ | ☐ | ☐ |
MutationObserver | ☑ | ☐ | ☐ |
Network Information API | ☑ | ☐ | ☑ |
PerformanceObserver | ☑ | ☐ | ☑ |
Push API | ☐ | ☐ | ☑ |
Permission API | ☑ | ☐ | ☑ |
ResizeObserver | ☑ | ☐ | ☑ |
Sensor APIs | ☑ | ☐ | ☑ |
Vibration API | ☐ | ☐ | ☑ |
General Hint: Usually Promises are eager. All the APIs provided by this library, that wraps native promise-based APIs, are lazy though. This design decision was made due to the general specification of Observables.
This project is build upon the typescript library starter. Kudos to @alexjoverm and every contributor of this amazing project!
Many thanks also goes to Sascha Nuissl for creating this fantastic logo!